UNPKG

@trussworks/react-uswds

Version:
46 lines (45 loc) 1.22 kB
import { default as React } from 'react'; import { ComboBoxOption, CustomizableFilter, FocusMode } from './ComboBox'; export declare enum ActionTypes { SELECT_OPTION = 0, CLEAR = 1, OPEN_LIST = 2, CLOSE_LIST = 3, FOCUS_OPTION = 4, UPDATE_FILTER = 5, BLUR = 6, CLEAR_SELECTION = 7, FOCUS_INPUT = 8 } export type Action = { type: ActionTypes.SELECT_OPTION; option: ComboBoxOption; } | { type: ActionTypes.CLEAR; } | { type: ActionTypes.OPEN_LIST; } | { type: ActionTypes.CLOSE_LIST; } | { type: ActionTypes.FOCUS_OPTION; option: ComboBoxOption; } | { type: ActionTypes.UPDATE_FILTER; value: string; } | { type: ActionTypes.BLUR; } | { type: ActionTypes.CLEAR_SELECTION; } | { type: ActionTypes.FOCUS_INPUT; }; export interface State { isOpen: boolean; selectedOption?: ComboBoxOption; focusedOption?: ComboBoxOption; focusMode: FocusMode; filteredOptions: ComboBoxOption[]; inputValue: string; statusText: string; } export declare const useComboBox: (initialState: State, optionsList: ComboBoxOption[], disableFiltering: boolean, customizableFilter: CustomizableFilter) => [State, React.Dispatch<Action>];