/// import * as react from 'react'; import { ReactNode, PropsWithChildren, RefObject } from 'react'; import { B as ButtonProps } from '../Button.interface-78378581.js'; import { C as ClassName } from '../types-73ca6ab5.js'; import { SingleValue, MultiValue, MenuPlacement, MenuPosition, PropsValue, FormatOptionLabelMeta, OptionsOrGroups, GroupBase } from 'react-select'; type DropdownValueOptions = SingleValue | MultiValue; interface IDropdownOption { id: string; value: string; label: string; supportingText?: string; leftIcon?: ReactNode; rightIcon?: ReactNode; caption?: string; onSelect?: (value?: IDropdownOption) => void; } interface IDropdownOptionProps { option: IDropdownOption; variant: TDropdownVariant; isFocused?: boolean; isSelected?: boolean; onSelect?: (value?: IDropdownOption) => void; id?: string; } type TDropdownVariant = "default" | "person" | "toggle" | "checkbox-left" | "checkbox-right"; interface IMenuDropdownProps extends ClassName { options: IDropdownOption[]; selectedItems?: IDropdownOption | IDropdownOption[]; variant: TDropdownVariant; user?: IUserData; withUserEntry?: boolean; extraAction?: IDropdownOption; extraActionHandler?: (value?: IDropdownOption) => void; onSelect?: (items: IDropdownOption | IDropdownOption[] | undefined) => void; isMulti?: boolean; triggerButtonProps?: Partial; } interface IUserData { avatarUrl?: string; avatarAltText?: string; email: string; firstName: string; lastName: string; } interface IMenuTriggerProps { onClick(e: React.MouseEvent): void; triggerButtonProps?: Partial; } interface IMenuDropdownListProps extends PropsWithChildren, ClassName { user?: IUserData; withUserEntry?: boolean; extraAction?: IDropdownOption; extraActionHandler?: (value?: IDropdownOption) => void; } interface IMenuDropdownOptionProps extends ClassName { option: IDropdownOption; variant: TDropdownVariant; isSelected: boolean; onSelect?: (item: IDropdownOption) => void; id?: string; } declare const MenuDropdown: react.ForwardRefExoticComponent>; interface CustomizableComponents { menu?: {}; control?: {}; option?: {}; multiValue?: {}; multiValueLabel?: {}; multiValueRemove?: {}; valueContainer?: {}; dropdownIndicator?: {}; clearIndicator?: {}; } interface ISelectDropdownProps extends ISelectDropdownStateManagerProps, ISelectProps { id: string; options: IDropdownOption[]; variant?: TDropdownVariant; isMulti?: boolean; hideSelectedOptions?: boolean; placeholderText?: string; errorMessage?: string; label?: string; supportingText?: string; isDisabled?: boolean; instanceId?: string; isClearable?: boolean; isLoading?: boolean; noOptionsMessage?: ReactNode; customStyles?: CustomizableComponents; onSelect: (items: DropdownValueOptions) => void; onInputChange?: (inputValue: string) => void; } interface ISelectDropdownStateManagerProps { defaultInputValue?: string; defaultMenuIsOpen?: boolean; defaultValue?: null | IDropdownOption | ReadonlyArray; } interface ISelectProps { form?: string; autoFocus?: boolean; backspaceRemovesValue?: boolean; blurInputOnSelect?: boolean; closeMenuOnSelect?: boolean; closeMenuOnScroll?: boolean; controlShouldRenderValue?: boolean; delimiter?: string; escapeClearsValue?: boolean; inputId?: string; isRtl?: boolean; minMenuHeight?: number; maxMenuHeight?: number; menuPlacement?: MenuPlacement; menuPosition?: MenuPosition; menuPortalTarget?: HTMLElement | null; menuShouldScrollIntoView?: boolean; name?: string; openMenuOnFocus?: boolean; openMenuOnClick?: boolean; pageSize?: number; tabIndex?: number; tabSelectsValue?: boolean; required?: boolean; inputValue?: string; value?: PropsValue | undefined; filterOption?: (option: { label: string; value: string; data: IDropdownOption; }, inputValue: string) => boolean; getOptionLabel?: (option: IDropdownOption) => string; getOptionValue?: (option: IDropdownOption) => string; formatOptionLabel?: (data: IDropdownOption, formatOptionLabelMeta: FormatOptionLabelMeta) => ReactNode; loadingMessage?: (obj: { inputValue: string; }) => ReactNode; onKeyDown?: React.KeyboardEventHandler; onMenuScrollToTop?: (event: WheelEvent | TouchEvent) => void; onMenuScrollToBottom?: (event: WheelEvent | TouchEvent) => void; } declare const SelectDropdown: react.ForwardRefExoticComponent>; declare const useClearSelect: (ref?: RefObject) => { ref: react.MutableRefObject; clearValue: () => void; }; interface IAsyncSelectProps extends Omit { id: string; cacheOptions?: boolean; loadingMessage?: ReactNode; defaultOptions?: boolean | OptionsOrGroups>; loadOptions?: (inputValue: string, callback: (options: OptionsOrGroups>) => void) => void | Promise; } declare const AsyncSelect: react.ForwardRefExoticComponent>; interface ICreatableSelectProps extends ISelectDropdownProps { id: string; createLabel?: string; createOptionPosition?: "first" | "last"; isValidNewOption?(): boolean; onCreateOption?(inputValue: string): void; } declare const CreatableSelect: react.ForwardRefExoticComponent>; declare const useCreatableSelect: (defaultOptions: IDropdownOption[], isMulti?: boolean, delay?: number) => { onCreateOption: (dropdownOptionElements: IDropdownOption) => void; selectedItems: DropdownValueOptions | undefined; setSelectedItems: react.Dispatch>; options: IDropdownOption[]; setOptions: react.Dispatch>; isLoading: boolean; setIsLoading: react.Dispatch>; }; export { AsyncSelect, CreatableSelect, IAsyncSelectProps, ICreatableSelectProps, IDropdownOption, IDropdownOptionProps, IMenuDropdownListProps, IMenuDropdownOptionProps, IMenuDropdownProps, IMenuTriggerProps, ISelectDropdownProps, ISelectProps, MenuDropdown, SelectDropdown, useClearSelect, useCreatableSelect };