diff --git a/src/components/Dropdown.ts b/src/components/Dropdown.ts deleted file mode 100644 index 92e8af3..0000000 --- a/src/components/Dropdown.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { ReactNode, FC } from 'react'; - -import { CommonUIModule } from '../webpack'; -import { ItemProps } from './Item'; -import { createPropListRegex } from '../utils'; -import type { ContextMenuPositionOptions } from './Menu'; - -export interface SingleDropdownOption { - data: any; - label: ReactNode; - - options?: never; -} - -export interface MultiDropdownOption { - label: ReactNode; - options: DropdownOption[]; - - data?: never; -} - -export type DropdownOption = SingleDropdownOption | MultiDropdownOption; - -export interface DropdownProps { - rgOptions: DropdownOption[]; - selectedOption: any; - disabled?: boolean; - onMenuWillOpen?(showMenu: () => void): void; - onMenuOpened?(): void; - onChange?(data: SingleDropdownOption): void; - contextMenuPositionOptions?: ContextMenuPositionOptions; - menuLabel?: string; - strDefaultLabel?: string; - renderButtonValue?(element: ReactNode): ReactNode; - focusable?: boolean; -} - -export const Dropdown = Object.values(CommonUIModule).find( - (mod: any) => mod?.prototype?.SetSelectedOption && mod?.prototype?.BuildMenu, -) as FC; - -export interface DropdownItemProps extends DropdownProps, ItemProps {} - -const dropdownItemRegex = createPropListRegex(["dropDownControlRef", "description"], false); -export const DropdownItem = Object.values(CommonUIModule).find((mod: any) => - mod?.toString && dropdownItemRegex.test(mod.toString()), -) as FC; diff --git a/src/components/Field.ts b/src/components/Field.ts index c145cb9..0b3b23f 100644 --- a/src/components/Field.ts +++ b/src/components/Field.ts @@ -24,6 +24,7 @@ export interface FieldProps extends FooterLegendProps { onClick?: (e: CustomEvent | MouseEvent) => void; } -export const Field = findModuleExport((e: Export) => e?.render?.toString().includes('"shift-children-below"')) as FC< +// new || old +export const Field = findModuleExport((e: Export) => (e?.toString()?.includes('().Field') && e?.toString()?.includes('"shift-children-below"')) || e?.render?.toString()?.includes('"shift-children-below"')) as FC< FieldProps & RefAttributes >; diff --git a/src/components/Item.ts b/src/components/Item.ts index 9b72cbf..b9c6dd9 100644 --- a/src/components/Item.ts +++ b/src/components/Item.ts @@ -7,6 +7,7 @@ export interface ItemProps { layout?: 'below' | 'inline'; icon?: ReactNode; bottomSeparator?: 'standard' | 'thick' | 'none'; + childrenContainerWidth?: 'min' | 'max' | 'fixed'; // Does not work with layout==='below' indentLevel?: number; tooltip?: string; highlightOnFocus?: boolean;