import { ComponentElement, Component } from 'react'; import { Select } from '@instructure/ui-select/v11_6'; import type { SelectProps } from '@instructure/ui-select/v11_6'; import { Option } from './Option'; import type { SimpleSelectOptionProps } from './Option/props'; import { Group } from './Group'; import type { SimpleSelectGroupProps } from './Group/props'; import type { SimpleSelectProps } from './props'; import { SimpleSelectState } from './props'; type OptionChild = ComponentElement; type GroupChild = ComponentElement; type GetOption = (field: F, value?: SimpleSelectOptionProps[F]) => OptionChild | undefined; /** --- category: components tags: form, field, dropdown --- **/ declare class SimpleSelect extends Component { static readonly componentId = "SimpleSelect"; static Option: typeof Option; static Group: typeof Group; static allowedProps: readonly ("value" | "children" | "defaultValue" | "onChange" | keyof { renderLabel: import("@instructure/shared-types").Renderable; id?: string; size?: "small" | "medium" | "large"; assistiveText?: string; placeholder?: string; interaction?: "enabled" | "disabled" | "readonly"; isRequired?: boolean; isInline?: boolean; width?: string; visibleOptionsCount?: number; optionsMaxHeight?: string; optionsMaxWidth?: string; messages?: import("@instructure/ui-form-field/types/exports/a.js").FormMessage[]; placement?: import("@instructure/ui-position").PlacementPropValues; constrain?: import("@instructure/ui-position").PositionConstraint; mountNode?: import("@instructure/ui-position").PositionMountNode; inputRef?: (inputElement: HTMLInputElement | null) => void; listRef?: (listElement: HTMLUListElement | null) => void; renderBeforeInput?: import("@instructure/shared-types").Renderable; renderAfterInput?: import("@instructure/shared-types").Renderable; onFocus?: (event: React.FocusEvent) => void; onBlur?: (event: React.FocusEvent) => void; isOptionContentAppliedToInput?: boolean; layout?: "stacked" | "inline"; } | "onShowOptions" | "onHideOptions" | "renderEmptyOption")[]; static defaultProps: { size: string; isRequired: boolean; isInline: boolean; visibleOptionsCount: number; placement: string; constrain: string; renderEmptyOption: string; isOptionContentAppliedToInput: boolean; }; ref: Select | null; private readonly _emptyOptionId; constructor(props: SimpleSelectProps); get _select(): Select | null; focus(): void; blur(): void; get focused(): boolean; get id(): string | undefined; get isControlled(): boolean; get interaction(): import("@instructure/ui-react-utils").InteractionType; hasOptionsChanged(prevChildren: SimpleSelectProps['children'], currentChildren: SimpleSelectProps['children']): boolean; componentDidUpdate(prevProps: SimpleSelectProps): void; getInitialOption(props: SimpleSelectProps): OptionChild | undefined; getOptionLabelById(id: string): string | undefined; getFirstOption(): OptionChild | undefined; getOption: GetOption; getOptionByPosition(position: 'first' | 'last'): OptionChild | undefined; handleRef: (node: Select) => void; handleBlur: SelectProps['onBlur']; handleShowOptions: SelectProps['onRequestShowOptions']; handleHideOptions: SelectProps['onRequestHideOptions']; handleHighlightOption: SelectProps['onRequestHighlightOption']; handleSelectOption: SelectProps['onRequestSelectOption']; renderChildren(): OptionChild | (OptionChild | GroupChild)[]; renderEmptyOption(): OptionChild; renderOption(option: OptionChild): OptionChild; renderGroup(group: GroupChild): GroupChild; render(): import("@emotion/react/jsx-runtime").JSX.Element; } export { SimpleSelect }; export default SimpleSelect; //# sourceMappingURL=index.d.ts.map