downshift
Version:
🏎 A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components.
28 lines (27 loc) • 909 B
TypeScript
type CommonState<Item> = {
highlightedIndex: number;
isOpen: boolean;
selectedItem: Item | null;
inputValue: string;
};
type CommonProps<Item> = {
items: Item[];
isItemDisabled: (item: Item, index: number) => boolean;
itemToKey: (item: Item | null) => unknown;
initialHighlightedIndex?: number;
defaultHighlightedIndex?: number;
defaultIsOpen?: boolean;
defaultSelectedItem?: Item | null;
defaultInputValue?: string;
};
type CommonAction<Item> = {
type: string;
index?: number;
disabled?: boolean;
highlightedIndex?: number;
inputValue?: string;
selectedItem?: Item | null;
};
type CommonStateChangeTypes = Record<string, string>;
export default function downshiftCommonReducer<Item>(state: CommonState<Item>, props: CommonProps<Item>, action: CommonAction<Item>, stateChangeTypes: CommonStateChangeTypes): CommonState<Item>;
export {};