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
TypeScript
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 };