UNPKG

react-multi-select-component-19

Version:

Simple and lightweight multiple selection dropdown component with checkboxes, search and select-all

59 lines (52 loc) 1.76 kB
import { ReactNode, JSX } from 'react'; import * as react_jsx_runtime from 'react/jsx-runtime'; interface Option { value: any; label: string; key?: string; disabled?: boolean; } interface SelectProps { options: Option[]; value: Option[]; onChange?: any; valueRenderer?: (selected: Option[], options: Option[]) => ReactNode; ItemRenderer?: any; ArrowRenderer?: ({ expanded }: { expanded: any; }) => JSX.Element; isLoading?: boolean; disabled?: boolean; disableSearch?: boolean; shouldToggleOnHover?: boolean; hasSelectAll?: boolean; filterOptions?: (options: Option[], filter: string) => Promise<Option[]> | Option[]; overrideStrings?: { [key: string]: string; }; labelledBy: string; className?: string; onMenuToggle?: any; ClearIcon?: ReactNode; debounceDuration?: number; ClearSelectedIcon?: ReactNode; defaultIsOpen?: boolean; isOpen?: boolean; isCreatable?: boolean; onCreateOption?: any; closeOnChangedValue?: boolean; } declare const MultiSelect: (props: SelectProps) => react_jsx_runtime.JSX.Element; declare const Dropdown: () => react_jsx_runtime.JSX.Element; declare const SelectPanel: () => react_jsx_runtime.JSX.Element; interface ISelectItemProps { itemRenderer: any; option: Option; checked?: boolean; tabIndex?: number; disabled?: boolean; onSelectionChanged: (checked: boolean) => void; onClick: any; } declare const SelectItem: ({ itemRenderer: ItemRenderer, option, checked, tabIndex, disabled, onSelectionChanged, onClick, }: ISelectItemProps) => react_jsx_runtime.JSX.Element; export { Dropdown, MultiSelect, type Option, SelectItem, SelectPanel, type SelectProps };