downshift 9.3.2 → 9.4.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/downshift.cjs.cjs +617 -698
- package/dist/downshift.d.ts +49 -55
- package/dist/downshift.esm.mjs +618 -699
- package/dist/downshift.native.cjs.cjs +575 -653
- package/dist/downshift.nativeweb.cjs.cjs +615 -693
- package/dist/downshift.types.d.ts +205 -0
- package/dist/downshift.umd.js +621 -702
- package/dist/downshift.umd.js.map +1 -1
- package/dist/downshift.umd.min.js +1 -1
- package/dist/downshift.umd.min.js.map +1 -1
- package/dist/hooks/testUtils/MemoizedItem.d.ts +10 -0
- package/dist/hooks/testUtils/fixtures.d.ts +16 -0
- package/dist/hooks/testUtils/index.d.ts +4 -0
- package/dist/hooks/testUtils/interactions.d.ts +16 -0
- package/dist/hooks/testUtils/testCases.d.ts +2 -0
- package/dist/hooks/useCombobox/__tests__/utils/index.d.ts +5 -0
- package/dist/hooks/useCombobox/__tests__/utils/interactions.d.ts +6 -0
- package/dist/hooks/useCombobox/__tests__/utils/renderCombobox.d.ts +72 -0
- package/dist/hooks/useCombobox/__tests__/utils/renderUseCombobox.d.ts +2 -0
- package/dist/hooks/useCombobox/index.d.ts +4 -94
- package/dist/hooks/useCombobox/index.types.d.ts +302 -0
- package/dist/hooks/useCombobox/reducer.d.ts +4 -1
- package/dist/hooks/useCombobox/stateChangeTypes.d.ts +24 -23
- package/dist/hooks/useCombobox/utils/getInitialState.d.ts +10 -0
- package/dist/hooks/useCombobox/utils/index.d.ts +3 -0
- package/dist/hooks/useCombobox/{utils.d.ts → utils/propTypes.d.ts} +2 -30
- package/dist/hooks/useCombobox/utils/useControlledReducer.d.ts +16 -0
- package/dist/hooks/useMultipleSelection/index.d.ts +25 -13
- package/dist/hooks/useMultipleSelection/index.types.d.ts +117 -0
- package/dist/hooks/useMultipleSelection/reducer.d.ts +1 -1
- package/dist/hooks/useMultipleSelection/utils.d.ts +14 -15
- package/dist/hooks/useSelect/__tests__/utils/getItemIndexByCharacter.d.ts +7 -0
- package/dist/hooks/useSelect/__tests__/utils/index.d.ts +6 -0
- package/dist/hooks/useSelect/__tests__/utils/renderSelect.d.ts +71 -0
- package/dist/hooks/useSelect/__tests__/utils/renderUseSelect.d.ts +2 -0
- package/dist/hooks/useSelect/__tests__/utils/stateChangeTestCases.d.ts +182 -0
- package/dist/hooks/useSelect/index.d.ts +4 -71
- package/dist/hooks/useSelect/index.types.d.ts +266 -0
- package/dist/hooks/useSelect/reducer.d.ts +4 -1
- package/dist/hooks/useSelect/stateChangeTypes.d.ts +23 -22
- package/dist/hooks/useSelect/utils/index.d.ts +0 -1
- package/dist/hooks/useTagGroup/__tests__/utils/renderTagGroup.d.ts +1 -1
- package/dist/hooks/useTagGroup/index.types.d.ts +10 -13
- package/dist/hooks/useTagGroup/reducer.d.ts +4 -2
- package/dist/hooks/useTagGroup/utils/index.d.ts +3 -1
- package/dist/hooks/utils/__tests__/dropdownDefaultProps.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/getChangesOnSelection.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/getDefaultHighlightedIndex.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/getDefaultValue.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/getHighlightedIndexOnOpen.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/getInitialValue.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/getItemAndIndex.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/isDropdownStateEqual.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/useA11yMessageStatus.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/useControlPropsValidator.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/useControlledReducer.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/useElementIds.legacy.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/useElementIds.r18.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/useEnhancedReducer.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/useGetterPropsCalledChecker.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/useIsInitialMount.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/useMouseAndTouchTracker.test.d.ts +1 -0
- package/dist/hooks/utils/__tests__/useScrollIntoView.test.d.ts +1 -0
- package/dist/hooks/utils/callOnChangeProps.d.ts +4 -0
- package/dist/hooks/utils/dropdownDefaultProps.d.ts +13 -0
- package/dist/hooks/{utils.dropdown/defaultStateValues.d.ts → utils/dropdownDefaultStateValues.d.ts} +2 -2
- package/dist/hooks/{utils.dropdown/propTypes.d.ts → utils/dropdownPropTypes.d.ts} +1 -1
- package/dist/hooks/utils/getChangesOnSelection.d.ts +17 -0
- package/dist/hooks/utils/getDefaultHighlightedIndex.d.ts +7 -0
- package/dist/hooks/utils/getDefaultValue.d.ts +8 -0
- package/dist/hooks/utils/getHighlightedIndexOnOpen.d.ts +16 -0
- package/dist/hooks/utils/getInitialState.d.ts +23 -0
- package/dist/hooks/utils/getInitialValue.d.ts +14 -0
- package/dist/hooks/utils/index.d.ts +24 -0
- package/dist/hooks/utils/index.types.d.ts +26 -0
- package/dist/hooks/utils/isDropdownStateEqual.d.ts +16 -0
- package/dist/hooks/utils/reducer.d.ts +27 -0
- package/dist/hooks/utils/useControlPropsValidator.d.ts +6 -0
- package/dist/hooks/utils/useControlledReducer.d.ts +13 -0
- package/dist/hooks/utils/useEnhancedReducer.d.ts +15 -0
- package/dist/hooks/utils/useGetterPropsCalledChecker.d.ts +2 -0
- package/dist/hooks/utils/useMouseAndTouchTracker.d.ts +15 -0
- package/dist/hooks/utils/useScrollIntoView.d.ts +11 -0
- package/dist/index.d.ts +1 -1
- package/dist/utils/__tests__/callAllEventHandlers.test.d.ts +1 -0
- package/dist/utils/__tests__/debounce.test.d.ts +1 -0
- package/dist/utils/__tests__/generateId.r18.test.d.ts +1 -0
- package/dist/utils/__tests__/generateId.test.d.ts +1 -0
- package/dist/utils/__tests__/getHighlightedIndex.test.d.ts +1 -0
- package/dist/utils/__tests__/getNonDisabledIndex.test.d.ts +1 -0
- package/dist/utils/__tests__/getState.test.d.ts +1 -0
- package/dist/utils/__tests__/handleRefs.test.d.ts +1 -0
- package/dist/utils/__tests__/normalizeArrowKey.test.d.ts +1 -0
- package/dist/utils/__tests__/scrollIntoView.test.d.ts +1 -0
- package/dist/utils/__tests__/setA11yStatus.test.d.ts +1 -0
- package/dist/utils/__tests__/targetWithinDownshift.test.d.ts +1 -0
- package/dist/utils/__tests__/useLatestRef.test.d.ts +1 -0
- package/dist/utils/__tests__/validateControlledUnchanged.test.d.ts +1 -0
- package/dist/utils/__tests__/validatePropTypes.test.d.ts +1 -0
- package/dist/utils/getHighlightedIndex.d.ts +11 -0
- package/dist/utils/getNonDisabledIndex.d.ts +11 -0
- package/dist/utils/getState.d.ts +12 -0
- package/dist/utils/handleRefs.d.ts +2 -0
- package/dist/{utils-ts → utils}/index.d.ts +5 -1
- package/dist/utils/normalizeArrowKey.d.ts +6 -0
- package/dist/utils/targetWithinDownshift.d.ts +12 -0
- package/dist/utils/validateControlledUnchanged.d.ts +1 -0
- package/dist/utils/validatePropTypes.d.ts +2 -0
- package/dist/utils.legacy.d.ts +54 -0
- package/flow-typed/npm/downshift_v2.x.x.js.flow +87 -62
- package/package.json +2 -4
- package/preact/dist/downshift.cjs.cjs +617 -698
- package/preact/dist/downshift.cjs.js +4265 -0
- package/preact/dist/downshift.esm.js +4238 -0
- package/preact/dist/downshift.esm.mjs +618 -699
- package/preact/dist/downshift.umd.js +617 -698
- package/preact/dist/downshift.umd.js.map +1 -1
- package/preact/dist/downshift.umd.min.js +1 -1
- package/preact/dist/downshift.umd.min.js.map +1 -1
- package/typings/index.d.ts +13 -21
- package/dist/hooks/reducer.d.ts +0 -1
- package/dist/hooks/useSelect/utils/defaultProps.d.ts +0 -8
- package/dist/hooks/utils-ts/callOnChangeProps.d.ts +0 -2
- package/dist/hooks/utils-ts/getDefaultValue.d.ts +0 -2
- package/dist/hooks/utils-ts/getInitialValue.d.ts +0 -2
- package/dist/hooks/utils-ts/index.d.ts +0 -11
- package/dist/hooks/utils-ts/stateReducer.d.ts +0 -6
- package/dist/hooks/utils-ts/useControlledReducer.d.ts +0 -12
- package/dist/hooks/utils-ts/useEnhancedReducer.d.ts +0 -13
- package/dist/hooks/utils.d.ts +0 -58
- package/dist/hooks/utils.dropdown/defaultProps.d.ts +0 -9
- package/dist/hooks/utils.dropdown/index.d.ts +0 -3
- package/dist/utils-ts/getState.d.ts +0 -22
- package/dist/utils-ts/handleRefs.d.ts +0 -2
- package/dist/utils-ts/validatePropTypes.d.ts +0 -2
- package/dist/utils.d.ts +0 -123
- package/typings/index.legacy.d.ts +0 -888
- /package/dist/hooks/{utils-ts/__tests__/getItemAndIndex.test.d.ts → useCombobox/utils/__tests__/getInitialState.test.d.ts} +0 -0
- /package/dist/hooks/{utils.dropdown/__tests__/useElementIds.legacy.test.d.ts → useCombobox/utils/__tests__/useControlledReducer.test.d.ts} +0 -0
- /package/dist/hooks/{utils.dropdown/__tests__/useElementIds.r18.test.d.ts → useSelect/utils/__tests__/getItemIndexByCharacterKey.test.d.ts} +0 -0
- /package/dist/{utils-ts/__tests__/getState.test.d.ts → hooks/utils/__tests__/callOnChangeProps.test.d.ts} +0 -0
- /package/dist/{utils-ts/__tests__/handleRefs.test.d.ts → hooks/utils/__tests__/capitalizeString.test.d.ts} +0 -0
- /package/dist/hooks/{utils-ts → utils}/capitalizeString.d.ts +0 -0
- /package/dist/hooks/{utils-ts → utils}/getItemAndIndex.d.ts +0 -0
- /package/dist/hooks/{utils-ts → utils}/propTypes.d.ts +0 -0
- /package/dist/hooks/{utils-ts → utils}/useA11yMessageStatus.d.ts +0 -0
- /package/dist/hooks/{utils.dropdown → utils}/useElementIds.d.ts +0 -0
- /package/dist/hooks/{utils-ts → utils}/useIsInitialMount.d.ts +0 -0
- /package/dist/{utils-ts → utils}/callAllEventHandlers.d.ts +0 -0
- /package/dist/{utils-ts → utils}/debounce.d.ts +0 -0
- /package/dist/{utils-ts → utils}/generateId.d.ts +0 -0
- /package/dist/{utils-ts → utils}/noop.d.ts +0 -0
- /package/dist/{utils-ts → utils}/scrollIntoView.d.ts +0 -0
- /package/dist/{utils-ts → utils}/setA11yStatus.d.ts +0 -0
- /package/dist/{utils-ts → utils}/useLatestRef.d.ts +0 -0
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Environment, GetPropsCommonOptions, Overwrite } from '../../downshift.types';
|
|
3
|
+
export interface UseSelectState<Item> {
|
|
4
|
+
highlightedIndex: number;
|
|
5
|
+
selectedItem: Item | null;
|
|
6
|
+
isOpen: boolean;
|
|
7
|
+
inputValue: string;
|
|
8
|
+
}
|
|
9
|
+
export declare enum UseSelectStateChangeTypes {
|
|
10
|
+
ToggleButtonClick = "__togglebutton_click__",
|
|
11
|
+
ToggleButtonKeyDownArrowDown = "__togglebutton_keydown_arrow_down__",
|
|
12
|
+
ToggleButtonKeyDownArrowUp = "__togglebutton_keydown_arrow_up__",
|
|
13
|
+
ToggleButtonKeyDownCharacter = "__togglebutton_keydown_character__",
|
|
14
|
+
ToggleButtonKeyDownEscape = "__togglebutton_keydown_escape__",
|
|
15
|
+
ToggleButtonKeyDownHome = "__togglebutton_keydown_home__",
|
|
16
|
+
ToggleButtonKeyDownEnd = "__togglebutton_keydown_end__",
|
|
17
|
+
ToggleButtonKeyDownEnter = "__togglebutton_keydown_enter__",
|
|
18
|
+
ToggleButtonKeyDownSpaceButton = "__togglebutton_keydown_space_button__",
|
|
19
|
+
ToggleButtonKeyDownPageUp = "__togglebutton_keydown_page_up__",
|
|
20
|
+
ToggleButtonKeyDownPageDown = "__togglebutton_keydown_page_down__",
|
|
21
|
+
ToggleButtonBlur = "__togglebutton_blur__",
|
|
22
|
+
MenuMouseLeave = "__menu_mouse_leave__",
|
|
23
|
+
ItemMouseMove = "__item_mouse_move__",
|
|
24
|
+
ItemClick = "__item_click__",
|
|
25
|
+
FunctionToggleMenu = "__function_toggle_menu__",
|
|
26
|
+
FunctionOpenMenu = "__function_open_menu__",
|
|
27
|
+
FunctionCloseMenu = "__function_close_menu__",
|
|
28
|
+
FunctionSetHighlightedIndex = "__function_set_highlighted_index__",
|
|
29
|
+
FunctionSelectItem = "__function_select_item__",
|
|
30
|
+
FunctionSetInputValue = "__function_set_input_value__",
|
|
31
|
+
FunctionReset = "__function_reset__"
|
|
32
|
+
}
|
|
33
|
+
export type UseSelectToggleButtonClickAction = {
|
|
34
|
+
type: UseSelectStateChangeTypes.ToggleButtonClick;
|
|
35
|
+
};
|
|
36
|
+
export type UseSelectToggleButtonKeyDownArrowDownAction = {
|
|
37
|
+
type: UseSelectStateChangeTypes.ToggleButtonKeyDownArrowDown;
|
|
38
|
+
altKey: boolean;
|
|
39
|
+
};
|
|
40
|
+
export type UseSelectToggleButtonKeyDownArrowUpAction = {
|
|
41
|
+
type: UseSelectStateChangeTypes.ToggleButtonKeyDownArrowUp;
|
|
42
|
+
altKey: boolean;
|
|
43
|
+
};
|
|
44
|
+
export type UseSelectToggleButtonKeyDownCharacterAction = {
|
|
45
|
+
type: UseSelectStateChangeTypes.ToggleButtonKeyDownCharacter;
|
|
46
|
+
key: string;
|
|
47
|
+
};
|
|
48
|
+
export type UseSelectToggleButtonKeyDownEscapeAction = {
|
|
49
|
+
type: UseSelectStateChangeTypes.ToggleButtonKeyDownEscape;
|
|
50
|
+
};
|
|
51
|
+
export type UseSelectToggleButtonKeyDownHomeAction = {
|
|
52
|
+
type: UseSelectStateChangeTypes.ToggleButtonKeyDownHome;
|
|
53
|
+
};
|
|
54
|
+
export type UseSelectToggleButtonKeyDownEndAction = {
|
|
55
|
+
type: UseSelectStateChangeTypes.ToggleButtonKeyDownEnd;
|
|
56
|
+
};
|
|
57
|
+
export type UseSelectToggleButtonKeyDownEnterAction = {
|
|
58
|
+
type: UseSelectStateChangeTypes.ToggleButtonKeyDownEnter;
|
|
59
|
+
};
|
|
60
|
+
export type UseSelectToggleButtonKeyDownSpaceButtonAction = {
|
|
61
|
+
type: UseSelectStateChangeTypes.ToggleButtonKeyDownSpaceButton;
|
|
62
|
+
};
|
|
63
|
+
export type UseSelectToggleButtonKeyDownPageUpAction = {
|
|
64
|
+
type: UseSelectStateChangeTypes.ToggleButtonKeyDownPageUp;
|
|
65
|
+
};
|
|
66
|
+
export type UseSelectToggleButtonKeyDownPageDownAction = {
|
|
67
|
+
type: UseSelectStateChangeTypes.ToggleButtonKeyDownPageDown;
|
|
68
|
+
};
|
|
69
|
+
export type UseSelectToggleButtonBlurAction = {
|
|
70
|
+
type: UseSelectStateChangeTypes.ToggleButtonBlur;
|
|
71
|
+
};
|
|
72
|
+
export type UseSelectMenuMouseLeaveAction = {
|
|
73
|
+
type: UseSelectStateChangeTypes.MenuMouseLeave;
|
|
74
|
+
};
|
|
75
|
+
export type UseSelectItemMouseMoveAction = {
|
|
76
|
+
type: UseSelectStateChangeTypes.ItemMouseMove;
|
|
77
|
+
index: number;
|
|
78
|
+
disabled: boolean;
|
|
79
|
+
};
|
|
80
|
+
export type UseSelectItemClickAction = {
|
|
81
|
+
type: UseSelectStateChangeTypes.ItemClick;
|
|
82
|
+
index: number;
|
|
83
|
+
};
|
|
84
|
+
export type UseSelectFunctionToggleMenuAction = {
|
|
85
|
+
type: UseSelectStateChangeTypes.FunctionToggleMenu;
|
|
86
|
+
};
|
|
87
|
+
export type UseSelectFunctionOpenMenuAction = {
|
|
88
|
+
type: UseSelectStateChangeTypes.FunctionOpenMenu;
|
|
89
|
+
};
|
|
90
|
+
export type UseSelectFunctionCloseMenuAction = {
|
|
91
|
+
type: UseSelectStateChangeTypes.FunctionCloseMenu;
|
|
92
|
+
};
|
|
93
|
+
export type UseSelectFunctionSetHighlightedIndexAction = {
|
|
94
|
+
type: UseSelectStateChangeTypes.FunctionSetHighlightedIndex;
|
|
95
|
+
highlightedIndex: number;
|
|
96
|
+
};
|
|
97
|
+
export type UseSelectFunctionSelectItemAction<Item> = {
|
|
98
|
+
type: UseSelectStateChangeTypes.FunctionSelectItem;
|
|
99
|
+
selectedItem: Item | null;
|
|
100
|
+
};
|
|
101
|
+
export type UseSelectFunctionSetInputValueAction = {
|
|
102
|
+
type: UseSelectStateChangeTypes.FunctionSetInputValue;
|
|
103
|
+
inputValue: string;
|
|
104
|
+
};
|
|
105
|
+
export type UseSelectFunctionResetAction = {
|
|
106
|
+
type: UseSelectStateChangeTypes.FunctionReset;
|
|
107
|
+
};
|
|
108
|
+
export type UseSelectReducerAction<Item> = UseSelectToggleButtonClickAction | UseSelectToggleButtonKeyDownArrowDownAction | UseSelectToggleButtonKeyDownArrowUpAction | UseSelectToggleButtonKeyDownCharacterAction | UseSelectToggleButtonKeyDownEscapeAction | UseSelectToggleButtonKeyDownHomeAction | UseSelectToggleButtonKeyDownEndAction | UseSelectToggleButtonKeyDownEnterAction | UseSelectToggleButtonKeyDownSpaceButtonAction | UseSelectToggleButtonKeyDownPageUpAction | UseSelectToggleButtonKeyDownPageDownAction | UseSelectToggleButtonBlurAction | UseSelectMenuMouseLeaveAction | UseSelectItemMouseMoveAction | UseSelectItemClickAction | UseSelectFunctionToggleMenuAction | UseSelectFunctionOpenMenuAction | UseSelectFunctionCloseMenuAction | UseSelectFunctionSetHighlightedIndexAction | UseSelectFunctionSelectItemAction<Item> | UseSelectFunctionSetInputValueAction | UseSelectFunctionResetAction;
|
|
109
|
+
export interface UseSelectProps<Item> {
|
|
110
|
+
items: Item[];
|
|
111
|
+
isItemDisabled?(item: Item, index: number): boolean;
|
|
112
|
+
itemToString?: (item: Item | null) => string;
|
|
113
|
+
itemToKey?: (item: Item | null) => any;
|
|
114
|
+
getA11yStatusMessage?: (options: UseSelectState<Item>) => string;
|
|
115
|
+
highlightedIndex?: number;
|
|
116
|
+
initialHighlightedIndex?: number;
|
|
117
|
+
defaultHighlightedIndex?: number;
|
|
118
|
+
isOpen?: boolean;
|
|
119
|
+
initialIsOpen?: boolean;
|
|
120
|
+
defaultIsOpen?: boolean;
|
|
121
|
+
selectedItem?: Item | null;
|
|
122
|
+
initialSelectedItem?: Item | null;
|
|
123
|
+
defaultSelectedItem?: Item | null;
|
|
124
|
+
id?: string;
|
|
125
|
+
labelId?: string;
|
|
126
|
+
menuId?: string;
|
|
127
|
+
toggleButtonId?: string;
|
|
128
|
+
getItemId?: (index: number) => string;
|
|
129
|
+
scrollIntoView?: (node: HTMLElement, menuNode: HTMLElement) => void;
|
|
130
|
+
stateReducer?: (state: UseSelectState<Item>, actionAndChanges: UseSelectStateChangeOptions<Item>) => Partial<UseSelectState<Item>>;
|
|
131
|
+
onSelectedItemChange?: (changes: UseSelectSelectedItemChange<Item>) => void;
|
|
132
|
+
onIsOpenChange?: (changes: UseSelectIsOpenChange<Item>) => void;
|
|
133
|
+
onHighlightedIndexChange?: (changes: UseSelectHighlightedIndexChange<Item>) => void;
|
|
134
|
+
onStateChange?: (changes: UseSelectStateChange<Item>) => void;
|
|
135
|
+
environment?: Environment;
|
|
136
|
+
}
|
|
137
|
+
export type UseSelectMergedProps<Item> = Omit<UseSelectProps<Item>, 'itemToString' | 'itemToKey' | 'stateReducer' | 'scrollIntoView' | 'isItemDisabled'> & Required<Pick<UseSelectProps<Item>, 'itemToString' | 'itemToKey' | 'stateReducer' | 'scrollIntoView' | 'isItemDisabled'>>;
|
|
138
|
+
export interface UseSelectStateChangeOptions<Item> extends UseSelectDispatchAction<Item> {
|
|
139
|
+
changes: Partial<UseSelectState<Item>>;
|
|
140
|
+
props: UseSelectMergedProps<Item>;
|
|
141
|
+
}
|
|
142
|
+
export interface UseSelectDispatchAction<Item> {
|
|
143
|
+
type: UseSelectStateChangeTypes;
|
|
144
|
+
altKey?: boolean;
|
|
145
|
+
key?: string;
|
|
146
|
+
index?: number;
|
|
147
|
+
highlightedIndex?: number;
|
|
148
|
+
selectedItem?: Item | null;
|
|
149
|
+
inputValue?: string;
|
|
150
|
+
}
|
|
151
|
+
export interface UseSelectStateChange<Item> extends Partial<UseSelectState<Item>> {
|
|
152
|
+
type: UseSelectStateChangeTypes;
|
|
153
|
+
}
|
|
154
|
+
export interface UseSelectSelectedItemChange<Item> extends UseSelectStateChange<Item> {
|
|
155
|
+
selectedItem: Item | null;
|
|
156
|
+
}
|
|
157
|
+
export interface UseSelectHighlightedIndexChange<Item> extends UseSelectStateChange<Item> {
|
|
158
|
+
highlightedIndex: number;
|
|
159
|
+
}
|
|
160
|
+
export interface UseSelectIsOpenChange<Item> extends UseSelectStateChange<Item> {
|
|
161
|
+
isOpen: boolean;
|
|
162
|
+
}
|
|
163
|
+
export interface UseSelectGetMenuPropsOptions extends React.HTMLProps<HTMLElement> {
|
|
164
|
+
refKey?: string;
|
|
165
|
+
ref?: React.Ref<any>;
|
|
166
|
+
}
|
|
167
|
+
export interface UseSelectGetMenuPropsReturnValue {
|
|
168
|
+
'aria-labelledby': string | undefined;
|
|
169
|
+
id: string;
|
|
170
|
+
onMouseLeave: React.MouseEventHandler;
|
|
171
|
+
ref?: React.Ref<any>;
|
|
172
|
+
role: 'listbox';
|
|
173
|
+
}
|
|
174
|
+
export type UseSelectGetMenuProps = <Options>(options?: UseSelectGetMenuPropsOptions & Options, otherOptions?: GetPropsCommonOptions) => Overwrite<UseSelectGetMenuPropsReturnValue, Options>;
|
|
175
|
+
export interface UseSelectGetToggleButtonPropsOptions extends React.HTMLProps<HTMLElement> {
|
|
176
|
+
refKey?: string;
|
|
177
|
+
ref?: React.Ref<any>;
|
|
178
|
+
onPress?: (event: React.BaseSyntheticEvent) => void;
|
|
179
|
+
}
|
|
180
|
+
export interface UseSelectGetToggleButtonPropsReturnValue {
|
|
181
|
+
'aria-activedescendant': string;
|
|
182
|
+
'aria-controls': string;
|
|
183
|
+
'aria-expanded': boolean;
|
|
184
|
+
'aria-haspopup': 'listbox';
|
|
185
|
+
'aria-labelledby': string | undefined;
|
|
186
|
+
id: string;
|
|
187
|
+
onBlur?: React.FocusEventHandler;
|
|
188
|
+
onClick?: React.MouseEventHandler;
|
|
189
|
+
onKeyDown?: React.KeyboardEventHandler;
|
|
190
|
+
onPress?: (event: React.BaseSyntheticEvent) => void;
|
|
191
|
+
ref?: React.Ref<any>;
|
|
192
|
+
role: 'combobox';
|
|
193
|
+
tabIndex: 0;
|
|
194
|
+
}
|
|
195
|
+
export type UseSelectGetToggleButtonProps = <Options>(options?: UseSelectGetToggleButtonPropsOptions & Options, otherOptions?: GetPropsCommonOptions) => Overwrite<UseSelectGetToggleButtonPropsReturnValue, Options>;
|
|
196
|
+
export interface UseSelectGetLabelPropsOptions extends React.HTMLProps<HTMLLabelElement> {
|
|
197
|
+
}
|
|
198
|
+
export interface UseSelectGetLabelPropsReturnValue {
|
|
199
|
+
htmlFor: string;
|
|
200
|
+
id: string;
|
|
201
|
+
onClick: React.MouseEventHandler;
|
|
202
|
+
}
|
|
203
|
+
export type UseSelectGetLabelProps = <Options>(options?: UseSelectGetLabelPropsOptions & Options) => Overwrite<UseSelectGetLabelPropsReturnValue, Options>;
|
|
204
|
+
export interface UseSelectGetItemPropsOptions<Item> extends React.HTMLProps<HTMLElement> {
|
|
205
|
+
item?: Item;
|
|
206
|
+
index?: number;
|
|
207
|
+
refKey?: string;
|
|
208
|
+
ref?: React.Ref<any>;
|
|
209
|
+
onPress?: (event: React.BaseSyntheticEvent) => void;
|
|
210
|
+
}
|
|
211
|
+
export interface UseSelectGetItemPropsReturnValue {
|
|
212
|
+
'aria-disabled': boolean;
|
|
213
|
+
'aria-selected': boolean;
|
|
214
|
+
id: string;
|
|
215
|
+
onClick?: React.MouseEventHandler;
|
|
216
|
+
onMouseDown?: React.MouseEventHandler;
|
|
217
|
+
onMouseMove?: React.MouseEventHandler;
|
|
218
|
+
onPress?: React.MouseEventHandler;
|
|
219
|
+
ref?: React.Ref<any>;
|
|
220
|
+
role: 'option';
|
|
221
|
+
}
|
|
222
|
+
export type UseSelectGetItemProps<Item> = <Options>(options: UseSelectGetItemPropsOptions<Item> & Options) => Omit<Overwrite<UseSelectGetItemPropsReturnValue, Options>, 'index' | 'item'>;
|
|
223
|
+
export interface UseSelectPropGetters<Item> {
|
|
224
|
+
getToggleButtonProps: UseSelectGetToggleButtonProps;
|
|
225
|
+
getLabelProps: UseSelectGetLabelProps;
|
|
226
|
+
getMenuProps: UseSelectGetMenuProps;
|
|
227
|
+
getItemProps: UseSelectGetItemProps<Item>;
|
|
228
|
+
}
|
|
229
|
+
export interface UseSelectActions<Item> {
|
|
230
|
+
reset: () => void;
|
|
231
|
+
openMenu: () => void;
|
|
232
|
+
closeMenu: () => void;
|
|
233
|
+
toggleMenu: () => void;
|
|
234
|
+
selectItem: (item: Item | null) => void;
|
|
235
|
+
setHighlightedIndex: (index: number) => void;
|
|
236
|
+
setInputValue: (inputValue: string) => void;
|
|
237
|
+
}
|
|
238
|
+
export type UseSelectReturnValue<Item> = UseSelectState<Item> & UseSelectPropGetters<Item> & UseSelectActions<Item>;
|
|
239
|
+
export interface UseSelectInterface {
|
|
240
|
+
<Item>(props: UseSelectProps<Item>): UseSelectReturnValue<Item>;
|
|
241
|
+
stateChangeTypes: {
|
|
242
|
+
ToggleButtonClick: UseSelectStateChangeTypes.ToggleButtonClick;
|
|
243
|
+
ToggleButtonKeyDownArrowDown: UseSelectStateChangeTypes.ToggleButtonKeyDownArrowDown;
|
|
244
|
+
ToggleButtonKeyDownArrowUp: UseSelectStateChangeTypes.ToggleButtonKeyDownArrowUp;
|
|
245
|
+
ToggleButtonKeyDownCharacter: UseSelectStateChangeTypes.ToggleButtonKeyDownCharacter;
|
|
246
|
+
ToggleButtonKeyDownEscape: UseSelectStateChangeTypes.ToggleButtonKeyDownEscape;
|
|
247
|
+
ToggleButtonKeyDownHome: UseSelectStateChangeTypes.ToggleButtonKeyDownHome;
|
|
248
|
+
ToggleButtonKeyDownEnd: UseSelectStateChangeTypes.ToggleButtonKeyDownEnd;
|
|
249
|
+
ToggleButtonKeyDownEnter: UseSelectStateChangeTypes.ToggleButtonKeyDownEnter;
|
|
250
|
+
ToggleButtonKeyDownSpaceButton: UseSelectStateChangeTypes.ToggleButtonKeyDownSpaceButton;
|
|
251
|
+
ToggleButtonKeyDownPageUp: UseSelectStateChangeTypes.ToggleButtonKeyDownPageUp;
|
|
252
|
+
ToggleButtonKeyDownPageDown: UseSelectStateChangeTypes.ToggleButtonKeyDownPageDown;
|
|
253
|
+
ToggleButtonBlur: UseSelectStateChangeTypes.ToggleButtonBlur;
|
|
254
|
+
MenuMouseLeave: UseSelectStateChangeTypes.MenuMouseLeave;
|
|
255
|
+
ItemMouseMove: UseSelectStateChangeTypes.ItemMouseMove;
|
|
256
|
+
ItemClick: UseSelectStateChangeTypes.ItemClick;
|
|
257
|
+
FunctionToggleMenu: UseSelectStateChangeTypes.FunctionToggleMenu;
|
|
258
|
+
FunctionOpenMenu: UseSelectStateChangeTypes.FunctionOpenMenu;
|
|
259
|
+
FunctionCloseMenu: UseSelectStateChangeTypes.FunctionCloseMenu;
|
|
260
|
+
FunctionSetHighlightedIndex: UseSelectStateChangeTypes.FunctionSetHighlightedIndex;
|
|
261
|
+
FunctionSelectItem: UseSelectStateChangeTypes.FunctionSelectItem;
|
|
262
|
+
FunctionSetInputValue: UseSelectStateChangeTypes.FunctionSetInputValue;
|
|
263
|
+
FunctionReset: UseSelectStateChangeTypes.FunctionReset;
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
export declare const useSelect: UseSelectInterface;
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { UseSelectMergedProps, UseSelectReducerAction, UseSelectState } from './index.types';
|
|
2
|
+
export default function downshiftSelectReducer<Item>(state: UseSelectState<Item>, action: UseSelectReducerAction<Item> & {
|
|
3
|
+
props: UseSelectMergedProps<Item>;
|
|
4
|
+
}): UseSelectState<Item>;
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
export const
|
|
3
|
-
export const
|
|
4
|
-
export const
|
|
5
|
-
export const
|
|
6
|
-
export const
|
|
7
|
-
export const
|
|
8
|
-
export const
|
|
9
|
-
export const
|
|
10
|
-
export const
|
|
11
|
-
export const
|
|
12
|
-
export const
|
|
13
|
-
export const
|
|
14
|
-
export const
|
|
15
|
-
export const
|
|
16
|
-
export const
|
|
17
|
-
export const
|
|
18
|
-
export const
|
|
19
|
-
export const
|
|
20
|
-
export const
|
|
21
|
-
export const
|
|
22
|
-
export const
|
|
1
|
+
import { UseSelectStateChangeTypes } from './index.types';
|
|
2
|
+
export declare const ToggleButtonClick: UseSelectStateChangeTypes.ToggleButtonClick;
|
|
3
|
+
export declare const ToggleButtonKeyDownArrowDown: UseSelectStateChangeTypes.ToggleButtonKeyDownArrowDown;
|
|
4
|
+
export declare const ToggleButtonKeyDownArrowUp: UseSelectStateChangeTypes.ToggleButtonKeyDownArrowUp;
|
|
5
|
+
export declare const ToggleButtonKeyDownCharacter: UseSelectStateChangeTypes.ToggleButtonKeyDownCharacter;
|
|
6
|
+
export declare const ToggleButtonKeyDownEscape: UseSelectStateChangeTypes.ToggleButtonKeyDownEscape;
|
|
7
|
+
export declare const ToggleButtonKeyDownHome: UseSelectStateChangeTypes.ToggleButtonKeyDownHome;
|
|
8
|
+
export declare const ToggleButtonKeyDownEnd: UseSelectStateChangeTypes.ToggleButtonKeyDownEnd;
|
|
9
|
+
export declare const ToggleButtonKeyDownEnter: UseSelectStateChangeTypes.ToggleButtonKeyDownEnter;
|
|
10
|
+
export declare const ToggleButtonKeyDownSpaceButton: UseSelectStateChangeTypes.ToggleButtonKeyDownSpaceButton;
|
|
11
|
+
export declare const ToggleButtonKeyDownPageUp: UseSelectStateChangeTypes.ToggleButtonKeyDownPageUp;
|
|
12
|
+
export declare const ToggleButtonKeyDownPageDown: UseSelectStateChangeTypes.ToggleButtonKeyDownPageDown;
|
|
13
|
+
export declare const ToggleButtonBlur: UseSelectStateChangeTypes.ToggleButtonBlur;
|
|
14
|
+
export declare const MenuMouseLeave: UseSelectStateChangeTypes.MenuMouseLeave;
|
|
15
|
+
export declare const ItemMouseMove: UseSelectStateChangeTypes.ItemMouseMove;
|
|
16
|
+
export declare const ItemClick: UseSelectStateChangeTypes.ItemClick;
|
|
17
|
+
export declare const FunctionToggleMenu: UseSelectStateChangeTypes.FunctionToggleMenu;
|
|
18
|
+
export declare const FunctionOpenMenu: UseSelectStateChangeTypes.FunctionOpenMenu;
|
|
19
|
+
export declare const FunctionCloseMenu: UseSelectStateChangeTypes.FunctionCloseMenu;
|
|
20
|
+
export declare const FunctionSetHighlightedIndex: UseSelectStateChangeTypes.FunctionSetHighlightedIndex;
|
|
21
|
+
export declare const FunctionSelectItem: UseSelectStateChangeTypes.FunctionSelectItem;
|
|
22
|
+
export declare const FunctionSetInputValue: UseSelectStateChangeTypes.FunctionSetInputValue;
|
|
23
|
+
export declare const FunctionReset: UseSelectStateChangeTypes.FunctionReset;
|
|
@@ -9,7 +9,7 @@ export declare function renderTagGroup(props?: Partial<UseTagGroupProps<string>>
|
|
|
9
9
|
user: import("@testing-library/user-event").UserEvent;
|
|
10
10
|
container: HTMLElement;
|
|
11
11
|
baseElement: HTMLElement;
|
|
12
|
-
debug: (baseElement?: any, maxLength?: number | undefined, options?: import("pretty-format").
|
|
12
|
+
debug: (baseElement?: ReactDOMClient.Container | any | Array<ReactDOMClient.Container | any> | undefined, maxLength?: number | undefined, options?: import("node_modules/pretty-format/build").OptionsReceived | undefined) => void;
|
|
13
13
|
rerender: (ui: React.ReactNode) => void;
|
|
14
14
|
unmount: () => void;
|
|
15
15
|
asFragment: () => DocumentFragment;
|
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export interface UseTagGroupState<Item> extends State {
|
|
1
|
+
import { Environment } from '../../downshift.types';
|
|
2
|
+
export interface UseTagGroupState<Item> {
|
|
4
3
|
activeIndex: number;
|
|
5
4
|
items: Item[];
|
|
6
5
|
}
|
|
7
|
-
export interface Environment {
|
|
8
|
-
addEventListener: typeof window.addEventListener;
|
|
9
|
-
removeEventListener: typeof window.removeEventListener;
|
|
10
|
-
document: Document;
|
|
11
|
-
Node: typeof window.Node;
|
|
12
|
-
}
|
|
13
6
|
export interface UseTagGroupStateChange<Item> extends Partial<UseTagGroupState<Item>> {
|
|
14
7
|
type: UseTagGroupStateChangeTypes;
|
|
15
8
|
}
|
|
@@ -29,12 +22,13 @@ export interface UseTagGroupProps<Item> extends Partial<UseTagGroupState<Item>>
|
|
|
29
22
|
onItemsChange?: (changes: UseTagGroupItemsChange<Item>) => void;
|
|
30
23
|
onStateChange?: (changes: UseTagGroupStateChange<Item>) => void;
|
|
31
24
|
removeElementDescription?: string;
|
|
32
|
-
stateReducer?(state: UseTagGroupState<Item>, actionAndChanges:
|
|
25
|
+
stateReducer?(state: UseTagGroupState<Item>, actionAndChanges: UseTagGroupReducerAction<Item> & {
|
|
26
|
+
props: UseTagGroupMergedProps<Item>;
|
|
33
27
|
changes: Partial<UseTagGroupState<Item>>;
|
|
34
28
|
}): Partial<UseTagGroupState<Item>>;
|
|
35
29
|
tagGroupId?: string;
|
|
36
30
|
}
|
|
37
|
-
export type UseTagGroupMergedProps<Item> =
|
|
31
|
+
export type UseTagGroupMergedProps<Item> = Omit<UseTagGroupProps<Item>, 'stateReducer' | 'removeElementDescription'> & Required<Pick<UseTagGroupProps<Item>, 'stateReducer' | 'removeElementDescription'>>;
|
|
38
32
|
export interface UseTagGroupInterface {
|
|
39
33
|
<Item>(props?: UseTagGroupProps<Item>): UseTagGroupReturnValue<Item>;
|
|
40
34
|
stateChangeTypes: {
|
|
@@ -58,11 +52,12 @@ export interface UseTagGroupReturnValue<Item> {
|
|
|
58
52
|
export interface GetTagPropsOptions extends React.HTMLProps<HTMLElement> {
|
|
59
53
|
index: number;
|
|
60
54
|
refKey?: string;
|
|
61
|
-
ref?: React.
|
|
55
|
+
ref?: React.Ref<any>;
|
|
62
56
|
}
|
|
63
57
|
export interface GetTagPropsReturnValue {
|
|
64
58
|
'aria-describedby': string;
|
|
65
59
|
id: string;
|
|
60
|
+
ref?: React.Ref<any>;
|
|
66
61
|
role: 'option';
|
|
67
62
|
onPress?: (event: React.BaseSyntheticEvent) => void;
|
|
68
63
|
onClick?: React.MouseEventHandler;
|
|
@@ -80,10 +75,11 @@ export interface GetTagRemovePropsReturnValue {
|
|
|
80
75
|
}
|
|
81
76
|
export interface GetTagGroupPropsOptions extends React.HTMLProps<HTMLElement> {
|
|
82
77
|
refKey?: string;
|
|
83
|
-
ref?: React.
|
|
78
|
+
ref?: React.Ref<any>;
|
|
84
79
|
}
|
|
85
80
|
export interface GetTagGroupPropsReturnValue {
|
|
86
81
|
id: string;
|
|
82
|
+
ref?: React.Ref<any>;
|
|
87
83
|
role: 'listbox';
|
|
88
84
|
'aria-live': 'polite';
|
|
89
85
|
'aria-atomic': 'false';
|
|
@@ -128,3 +124,4 @@ export type UseTagGroupFunctionAddItem<Item> = {
|
|
|
128
124
|
item: Item;
|
|
129
125
|
index?: number;
|
|
130
126
|
};
|
|
127
|
+
export declare const useTagGroup: UseTagGroupInterface;
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function useTagGroupReducer<Item>(state: UseTagGroupState<Item>,
|
|
1
|
+
import { UseTagGroupMergedProps, UseTagGroupReducerAction, UseTagGroupState } from './index.types';
|
|
2
|
+
export declare function useTagGroupReducer<Item>(state: UseTagGroupState<Item>, action: UseTagGroupReducerAction<Item> & {
|
|
3
|
+
props: UseTagGroupMergedProps<Item>;
|
|
4
|
+
}): Partial<UseTagGroupState<Item>>;
|
|
@@ -5,4 +5,6 @@ export { isStateEqual } from './isStateEqual';
|
|
|
5
5
|
export { useAccessibleDescription, A11Y_DESCRIPTION_ELEMENT_ID, } from './useAccessibleDescription';
|
|
6
6
|
export { getMergedProps } from './getMergedProps';
|
|
7
7
|
export { useRovingTagFocus } from './useRovingTagFocus';
|
|
8
|
-
export declare const propTypes:
|
|
8
|
+
export declare const propTypes: {
|
|
9
|
+
isItemDisabled: PropTypes.Requireable<(...args: any[]) => any>;
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { scrollIntoView } from '../../utils';
|
|
2
|
+
export declare const dropdownDefaultProps: {
|
|
3
|
+
itemToString(item: unknown): string;
|
|
4
|
+
itemToKey(item: unknown): unknown;
|
|
5
|
+
isItemDisabled(_item: unknown): boolean;
|
|
6
|
+
stateReducer: <S, A>(_state: S, actionAndChanges: (A & {
|
|
7
|
+
props: any;
|
|
8
|
+
}) & {
|
|
9
|
+
changes: Partial<S>;
|
|
10
|
+
}) => Partial<S>;
|
|
11
|
+
scrollIntoView: typeof scrollIntoView;
|
|
12
|
+
environment: (Window & typeof globalThis) | undefined;
|
|
13
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const dropdownPropTypes: {
|
|
3
3
|
getA11yStatusMessage: PropTypes.Requireable<(...args: any[]) => any>;
|
|
4
4
|
highlightedIndex: PropTypes.Requireable<number>;
|
|
5
5
|
defaultHighlightedIndex: PropTypes.Requireable<number>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type Changes<Item> = {
|
|
2
|
+
isOpen: boolean;
|
|
3
|
+
highlightedIndex: number;
|
|
4
|
+
selectedItem?: Item;
|
|
5
|
+
inputValue?: string;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Handles selection on Enter / Alt + ArrowUp. Closes the menu and resets the highlighted index, unless there is a highlighted.
|
|
9
|
+
* In that case, selects the item and resets to defaults for open state and highlighted idex.
|
|
10
|
+
*
|
|
11
|
+
* @param props The Dropdown props.
|
|
12
|
+
* @param highlightedIndex The index from the state.
|
|
13
|
+
* @param inputValue Also return the input value for state.
|
|
14
|
+
* @returns The changes for the state.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getChangesOnSelection<Item>(items: Item[], itemToString: (item: Item | null) => string, defaultIsOpen: boolean | undefined, defaultHighlightedIndex: number | undefined, highlightedIndex: number, inputValue?: boolean): Changes<Item>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the new highlightedIndex based on the defaultHighlightedIndex prop, if it's not disabled.
|
|
3
|
+
*
|
|
4
|
+
* @param props Props passed to the hook.
|
|
5
|
+
* @returns The highlighted index.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getDefaultHighlightedIndex<Item>(items: Item[], isItemDisabled: (item: Item, index: number) => boolean, defaultHighlightedIndex?: number): number;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the default value based on the defaultProp and defaultStateValue.
|
|
3
|
+
*
|
|
4
|
+
* @param defaultProp The default prop value.
|
|
5
|
+
* @param defaultStateValue The default state value.
|
|
6
|
+
* @returns The resolved default value.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getDefaultValue<T>(defaultProp: T | undefined, defaultStateValue: T): T;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the highlighted index when the menu is opened.
|
|
3
|
+
* Takes into account the initialHighlightedIndex, defaultHighlightedIndex,
|
|
4
|
+
* selectedItem, and the open direction offset.
|
|
5
|
+
*
|
|
6
|
+
* @param items The list of items.
|
|
7
|
+
* @param initialHighlightedIndex The initial highlighted index prop.
|
|
8
|
+
* @param defaultHighlightedIndex The default highlighted index prop.
|
|
9
|
+
* @param isItemDisabled Callback to determine if an item is disabled.
|
|
10
|
+
* @param itemToKey Callback to get a unique key from an item.
|
|
11
|
+
* @param selectedItem The currently selected item.
|
|
12
|
+
* @param highlightedIndex The current highlighted index from state.
|
|
13
|
+
* @param offset The direction of navigation: positive opens downward, negative opens upward.
|
|
14
|
+
* @returns The new highlighted index.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getHighlightedIndexOnOpen<Item>(items: Item[], initialHighlightedIndex: number | undefined, defaultHighlightedIndex: number | undefined, isItemDisabled: (item: Item, index: number) => boolean, itemToKey: (item: Item | null) => unknown, selectedItem: Item | null, highlightedIndex: number, offset: number): number;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type GetInitialStateProps<T> = {
|
|
2
|
+
items: T[];
|
|
3
|
+
isItemDisabled: (item: T, index: number) => boolean;
|
|
4
|
+
selectedItem?: T | null;
|
|
5
|
+
initialSelectedItem?: T | null;
|
|
6
|
+
defaultSelectedItem?: T | null;
|
|
7
|
+
isOpen?: boolean;
|
|
8
|
+
initialIsOpen?: boolean;
|
|
9
|
+
defaultIsOpen?: boolean;
|
|
10
|
+
highlightedIndex?: number;
|
|
11
|
+
initialHighlightedIndex?: number;
|
|
12
|
+
defaultHighlightedIndex?: number;
|
|
13
|
+
inputValue?: string;
|
|
14
|
+
initialInputValue?: string;
|
|
15
|
+
defaultInputValue?: string;
|
|
16
|
+
itemToKey: (item: T) => string;
|
|
17
|
+
};
|
|
18
|
+
export declare function getInitialState<T>(props: GetInitialStateProps<T>): {
|
|
19
|
+
highlightedIndex: number;
|
|
20
|
+
isOpen: boolean;
|
|
21
|
+
selectedItem: T | null;
|
|
22
|
+
inputValue: string;
|
|
23
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the initial value for a state variable, based on the following precedence:
|
|
3
|
+
* 1. The controlled value (if it's not undefined)
|
|
4
|
+
* 2. The initialValue (if it's not undefined)
|
|
5
|
+
* 3. The defaultValue (if it's not undefined)
|
|
6
|
+
* 4. The defaultStateValue
|
|
7
|
+
*
|
|
8
|
+
* @param value The controlled value of the state variable.
|
|
9
|
+
* @param initialValue The initial value of the state variable.
|
|
10
|
+
* @param defaultValue The default value of the state variable.
|
|
11
|
+
* @param defaultStateValue The default state value to use if all other values are undefined.
|
|
12
|
+
* @returns The initial value for the state variable.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getInitialValue<T>(value: T | undefined, initialValue: T | undefined, defaultValue: T | undefined, defaultStateValue: T): T;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export { useControlledReducer } from './useControlledReducer';
|
|
2
|
+
export { useEnhancedReducer } from './useEnhancedReducer';
|
|
3
|
+
export { callOnChangeProps } from './callOnChangeProps';
|
|
4
|
+
export { getItemAndIndex } from './getItemAndIndex';
|
|
5
|
+
export { useIsInitialMount } from './useIsInitialMount';
|
|
6
|
+
export { propTypes as commonPropTypes } from './propTypes';
|
|
7
|
+
export { capitalizeString } from './capitalizeString';
|
|
8
|
+
export { getDefaultValue } from './getDefaultValue';
|
|
9
|
+
export { getInitialValue } from './getInitialValue';
|
|
10
|
+
export { useA11yMessageStatus } from './useA11yMessageStatus';
|
|
11
|
+
export { dropdownPropTypes } from './dropdownPropTypes';
|
|
12
|
+
export { dropdownDefaultProps } from './dropdownDefaultProps';
|
|
13
|
+
export { dropdownDefaultStateValues } from './dropdownDefaultStateValues';
|
|
14
|
+
export { useElementIds } from '../utils/useElementIds';
|
|
15
|
+
export { getDefaultHighlightedIndex } from './getDefaultHighlightedIndex';
|
|
16
|
+
export { getChangesOnSelection } from './getChangesOnSelection';
|
|
17
|
+
export { getHighlightedIndexOnOpen } from './getHighlightedIndexOnOpen';
|
|
18
|
+
export { getInitialState, type GetInitialStateProps } from './getInitialState';
|
|
19
|
+
export { useControlPropsValidator } from './useControlPropsValidator';
|
|
20
|
+
export { useMouseAndTouchTracker } from './useMouseAndTouchTracker';
|
|
21
|
+
export { useGetterPropsCalledChecker } from './useGetterPropsCalledChecker';
|
|
22
|
+
export { useScrollIntoView } from './useScrollIntoView';
|
|
23
|
+
export { isDropdownStateEqual } from './isDropdownStateEqual';
|
|
24
|
+
export type { Props, Action, Reducer } from './index.types';
|