import { ButtonProps } from '../button'; import { Size } from '../common'; export interface SelectOptionItem { value: any; label?: React.ReactNode; icon?: React.ReactNode; currency?: string; note?: React.ReactNode; secondary?: React.ReactNode; } export interface SelectItem extends Partial { header?: React.ReactNode; separator?: boolean; disabled?: boolean; searchStrings?: string[]; } export interface SelectItemWithPlaceholder extends SelectItem { placeholder?: string; } /** * No option or placeholder option is selected */ declare const DEFAULT_SELECTED_OPTION: null; export interface SelectProps { placeholder?: string; id?: string; required?: boolean; disabled?: boolean; inverse?: boolean; dropdownRight?: `${Size.EXTRA_SMALL | Size.SMALL | Size.MEDIUM | Size.LARGE | Size.EXTRA_LARGE}`; dropdownWidth?: `${Size.SMALL | Size.MEDIUM | Size.LARGE}`; /** @default 'md' */ size?: `${Size.SMALL | Size.MEDIUM | Size.LARGE}`; /** @default true */ block?: boolean; selected?: SelectOptionItem; /** * Search toggle * if `true` default search functionality being enabled (not case sensitive search in option labels & currency props) * if `function` you can define your own search function to implement custom search experience. This search function used while filtering the options array. */ search?: boolean | ((option: SelectItemWithPlaceholder, searchValue: string) => boolean); options: SelectItem[]; /** @default '' */ searchValue?: string; searchPlaceholder?: string; /** @default {} */ classNames?: Record; dropdownUp?: boolean; buttonProps?: Extract; dropdownProps?: React.ComponentPropsWithoutRef<'ul'>; onChange: (value: SelectItem | typeof DEFAULT_SELECTED_OPTION) => void; onFocus?: React.FocusEventHandler; onBlur?: React.FocusEventHandler; /** * To have full control of your search value and response use `onSearchChange` function combined with `searchValue` and custom filtering on the options array. * DO NOT USE TOGETHER WITH `search` PROPERTY */ onSearchChange?: (value: string) => void; } /** * @deprecated Use `SelectInput` instead (https://neptune.wise.design/blog/2023-11-28-adopting-our-new-selectinput) */ export default function Select({ placeholder, id, required, disabled, inverse, dropdownWidth, size, block, selected, search, onChange, onFocus, onBlur, options: defaultOptions, onSearchChange, searchValue: initSearchValue, searchPlaceholder, classNames: classNamesProp, dropdownUp, dropdownProps, buttonProps, }: SelectProps): import("react").JSX.Element; export {}; //# sourceMappingURL=Select.d.ts.map