/// import { GroupBase, OptionProps, MenuListProps as ReactSelectMenuListProps } from 'react-select'; import { CreatableProps } from 'react-select/creatable'; import { BoxProps } from '../Box/Box.types'; export type SelectType = 'regular' | 'checkbox'; export type SelectSize = 'small' | 'regular'; export interface Option { label: string; value: ValueType; [key: string]: any; } export interface SelectInputProps extends CreatableProps>, boolean, GroupBase>>> { type?: SelectType; isError?: boolean; size?: SelectSize; isCreatable?: boolean; onChange?: (e: Option) => void; onSelect?: (e: Option) => void; onLeave?: (e: React.FocusEvent) => void; } export interface SelectCascaderProps extends Omit { getValue?: (values: Array) => void; defaultValue?: Option>; disabledLevel?: number; } export interface SelectOptionProps extends OptionProps { isCheckboxType: boolean; } export interface MenuListProps extends ReactSelectMenuListProps { isCreatable: boolean; isCheckboxType: boolean; selectedOption: Array>; disabledLevel?: number; setSelectedOption: (params: Option) => void; onChangeOption: (data: Array>) => void; onSelect?: (data: Option) => void; } export interface CascaderOption extends BoxProps { isSelected: boolean; } export type MenuOptions = Array<{ [key: string]: any; }>;