@trail-ui/react
Version:
27 lines (24 loc) • 1.32 kB
TypeScript
import * as react_jsx_runtime from 'react/jsx-runtime';
import { ReactNode } from 'react';
import { ComboBoxProps, Key, GroupProps, ListBoxItemProps } from 'react-aria-components';
import { ListData } from 'react-stately';
interface MultiSelectProps<T extends object> extends Omit<ComboBoxProps<T>, 'children' | 'validate' | 'allowsEmptyCollection' | 'inputValue' | 'selectedKey' | 'inputValue' | 'className' | 'value' | 'onSelectionChange' | 'onInputChange'> {
items: Array<T>;
selectedList: ListData<T>;
className?: string;
label?: string;
placeholder: string;
onItemAdd?: (key: Key) => void;
onItemRemove?: (key: Key) => void;
renderEmptyState?: (inputValue: string) => ReactNode;
children: ReactNode | ((item: T) => ReactNode);
}
declare function MultiSelectField({ children, className, ...props }: GroupProps & {
children: ReactNode;
}): react_jsx_runtime.JSX.Element;
declare function MultiSelect<T extends {
id: Key;
textValue: string;
}>({ children, items, selectedList, label, placeholder, onItemRemove, onItemAdd, className, ...props }: MultiSelectProps<T>): react_jsx_runtime.JSX.Element;
declare function MultiSelectItem(props: ListBoxItemProps): react_jsx_runtime.JSX.Element;
export { MultiSelect, MultiSelectField, MultiSelectItem, MultiSelectProps };