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.
Files changed (155) hide show
  1. package/dist/downshift.cjs.cjs +617 -698
  2. package/dist/downshift.d.ts +49 -55
  3. package/dist/downshift.esm.mjs +618 -699
  4. package/dist/downshift.native.cjs.cjs +575 -653
  5. package/dist/downshift.nativeweb.cjs.cjs +615 -693
  6. package/dist/downshift.types.d.ts +205 -0
  7. package/dist/downshift.umd.js +621 -702
  8. package/dist/downshift.umd.js.map +1 -1
  9. package/dist/downshift.umd.min.js +1 -1
  10. package/dist/downshift.umd.min.js.map +1 -1
  11. package/dist/hooks/testUtils/MemoizedItem.d.ts +10 -0
  12. package/dist/hooks/testUtils/fixtures.d.ts +16 -0
  13. package/dist/hooks/testUtils/index.d.ts +4 -0
  14. package/dist/hooks/testUtils/interactions.d.ts +16 -0
  15. package/dist/hooks/testUtils/testCases.d.ts +2 -0
  16. package/dist/hooks/useCombobox/__tests__/utils/index.d.ts +5 -0
  17. package/dist/hooks/useCombobox/__tests__/utils/interactions.d.ts +6 -0
  18. package/dist/hooks/useCombobox/__tests__/utils/renderCombobox.d.ts +72 -0
  19. package/dist/hooks/useCombobox/__tests__/utils/renderUseCombobox.d.ts +2 -0
  20. package/dist/hooks/useCombobox/index.d.ts +4 -94
  21. package/dist/hooks/useCombobox/index.types.d.ts +302 -0
  22. package/dist/hooks/useCombobox/reducer.d.ts +4 -1
  23. package/dist/hooks/useCombobox/stateChangeTypes.d.ts +24 -23
  24. package/dist/hooks/useCombobox/utils/getInitialState.d.ts +10 -0
  25. package/dist/hooks/useCombobox/utils/index.d.ts +3 -0
  26. package/dist/hooks/useCombobox/{utils.d.ts → utils/propTypes.d.ts} +2 -30
  27. package/dist/hooks/useCombobox/utils/useControlledReducer.d.ts +16 -0
  28. package/dist/hooks/useMultipleSelection/index.d.ts +25 -13
  29. package/dist/hooks/useMultipleSelection/index.types.d.ts +117 -0
  30. package/dist/hooks/useMultipleSelection/reducer.d.ts +1 -1
  31. package/dist/hooks/useMultipleSelection/utils.d.ts +14 -15
  32. package/dist/hooks/useSelect/__tests__/utils/getItemIndexByCharacter.d.ts +7 -0
  33. package/dist/hooks/useSelect/__tests__/utils/index.d.ts +6 -0
  34. package/dist/hooks/useSelect/__tests__/utils/renderSelect.d.ts +71 -0
  35. package/dist/hooks/useSelect/__tests__/utils/renderUseSelect.d.ts +2 -0
  36. package/dist/hooks/useSelect/__tests__/utils/stateChangeTestCases.d.ts +182 -0
  37. package/dist/hooks/useSelect/index.d.ts +4 -71
  38. package/dist/hooks/useSelect/index.types.d.ts +266 -0
  39. package/dist/hooks/useSelect/reducer.d.ts +4 -1
  40. package/dist/hooks/useSelect/stateChangeTypes.d.ts +23 -22
  41. package/dist/hooks/useSelect/utils/index.d.ts +0 -1
  42. package/dist/hooks/useTagGroup/__tests__/utils/renderTagGroup.d.ts +1 -1
  43. package/dist/hooks/useTagGroup/index.types.d.ts +10 -13
  44. package/dist/hooks/useTagGroup/reducer.d.ts +4 -2
  45. package/dist/hooks/useTagGroup/utils/index.d.ts +3 -1
  46. package/dist/hooks/utils/__tests__/dropdownDefaultProps.test.d.ts +1 -0
  47. package/dist/hooks/utils/__tests__/getChangesOnSelection.test.d.ts +1 -0
  48. package/dist/hooks/utils/__tests__/getDefaultHighlightedIndex.test.d.ts +1 -0
  49. package/dist/hooks/utils/__tests__/getDefaultValue.test.d.ts +1 -0
  50. package/dist/hooks/utils/__tests__/getHighlightedIndexOnOpen.test.d.ts +1 -0
  51. package/dist/hooks/utils/__tests__/getInitialValue.test.d.ts +1 -0
  52. package/dist/hooks/utils/__tests__/getItemAndIndex.test.d.ts +1 -0
  53. package/dist/hooks/utils/__tests__/isDropdownStateEqual.test.d.ts +1 -0
  54. package/dist/hooks/utils/__tests__/useA11yMessageStatus.test.d.ts +1 -0
  55. package/dist/hooks/utils/__tests__/useControlPropsValidator.test.d.ts +1 -0
  56. package/dist/hooks/utils/__tests__/useControlledReducer.test.d.ts +1 -0
  57. package/dist/hooks/utils/__tests__/useElementIds.legacy.test.d.ts +1 -0
  58. package/dist/hooks/utils/__tests__/useElementIds.r18.test.d.ts +1 -0
  59. package/dist/hooks/utils/__tests__/useEnhancedReducer.test.d.ts +1 -0
  60. package/dist/hooks/utils/__tests__/useGetterPropsCalledChecker.test.d.ts +1 -0
  61. package/dist/hooks/utils/__tests__/useIsInitialMount.test.d.ts +1 -0
  62. package/dist/hooks/utils/__tests__/useMouseAndTouchTracker.test.d.ts +1 -0
  63. package/dist/hooks/utils/__tests__/useScrollIntoView.test.d.ts +1 -0
  64. package/dist/hooks/utils/callOnChangeProps.d.ts +4 -0
  65. package/dist/hooks/utils/dropdownDefaultProps.d.ts +13 -0
  66. package/dist/hooks/{utils.dropdown/defaultStateValues.d.ts → utils/dropdownDefaultStateValues.d.ts} +2 -2
  67. package/dist/hooks/{utils.dropdown/propTypes.d.ts → utils/dropdownPropTypes.d.ts} +1 -1
  68. package/dist/hooks/utils/getChangesOnSelection.d.ts +17 -0
  69. package/dist/hooks/utils/getDefaultHighlightedIndex.d.ts +7 -0
  70. package/dist/hooks/utils/getDefaultValue.d.ts +8 -0
  71. package/dist/hooks/utils/getHighlightedIndexOnOpen.d.ts +16 -0
  72. package/dist/hooks/utils/getInitialState.d.ts +23 -0
  73. package/dist/hooks/utils/getInitialValue.d.ts +14 -0
  74. package/dist/hooks/utils/index.d.ts +24 -0
  75. package/dist/hooks/utils/index.types.d.ts +26 -0
  76. package/dist/hooks/utils/isDropdownStateEqual.d.ts +16 -0
  77. package/dist/hooks/utils/reducer.d.ts +27 -0
  78. package/dist/hooks/utils/useControlPropsValidator.d.ts +6 -0
  79. package/dist/hooks/utils/useControlledReducer.d.ts +13 -0
  80. package/dist/hooks/utils/useEnhancedReducer.d.ts +15 -0
  81. package/dist/hooks/utils/useGetterPropsCalledChecker.d.ts +2 -0
  82. package/dist/hooks/utils/useMouseAndTouchTracker.d.ts +15 -0
  83. package/dist/hooks/utils/useScrollIntoView.d.ts +11 -0
  84. package/dist/index.d.ts +1 -1
  85. package/dist/utils/__tests__/callAllEventHandlers.test.d.ts +1 -0
  86. package/dist/utils/__tests__/debounce.test.d.ts +1 -0
  87. package/dist/utils/__tests__/generateId.r18.test.d.ts +1 -0
  88. package/dist/utils/__tests__/generateId.test.d.ts +1 -0
  89. package/dist/utils/__tests__/getHighlightedIndex.test.d.ts +1 -0
  90. package/dist/utils/__tests__/getNonDisabledIndex.test.d.ts +1 -0
  91. package/dist/utils/__tests__/getState.test.d.ts +1 -0
  92. package/dist/utils/__tests__/handleRefs.test.d.ts +1 -0
  93. package/dist/utils/__tests__/normalizeArrowKey.test.d.ts +1 -0
  94. package/dist/utils/__tests__/scrollIntoView.test.d.ts +1 -0
  95. package/dist/utils/__tests__/setA11yStatus.test.d.ts +1 -0
  96. package/dist/utils/__tests__/targetWithinDownshift.test.d.ts +1 -0
  97. package/dist/utils/__tests__/useLatestRef.test.d.ts +1 -0
  98. package/dist/utils/__tests__/validateControlledUnchanged.test.d.ts +1 -0
  99. package/dist/utils/__tests__/validatePropTypes.test.d.ts +1 -0
  100. package/dist/utils/getHighlightedIndex.d.ts +11 -0
  101. package/dist/utils/getNonDisabledIndex.d.ts +11 -0
  102. package/dist/utils/getState.d.ts +12 -0
  103. package/dist/utils/handleRefs.d.ts +2 -0
  104. package/dist/{utils-ts → utils}/index.d.ts +5 -1
  105. package/dist/utils/normalizeArrowKey.d.ts +6 -0
  106. package/dist/utils/targetWithinDownshift.d.ts +12 -0
  107. package/dist/utils/validateControlledUnchanged.d.ts +1 -0
  108. package/dist/utils/validatePropTypes.d.ts +2 -0
  109. package/dist/utils.legacy.d.ts +54 -0
  110. package/flow-typed/npm/downshift_v2.x.x.js.flow +87 -62
  111. package/package.json +2 -4
  112. package/preact/dist/downshift.cjs.cjs +617 -698
  113. package/preact/dist/downshift.cjs.js +4265 -0
  114. package/preact/dist/downshift.esm.js +4238 -0
  115. package/preact/dist/downshift.esm.mjs +618 -699
  116. package/preact/dist/downshift.umd.js +617 -698
  117. package/preact/dist/downshift.umd.js.map +1 -1
  118. package/preact/dist/downshift.umd.min.js +1 -1
  119. package/preact/dist/downshift.umd.min.js.map +1 -1
  120. package/typings/index.d.ts +13 -21
  121. package/dist/hooks/reducer.d.ts +0 -1
  122. package/dist/hooks/useSelect/utils/defaultProps.d.ts +0 -8
  123. package/dist/hooks/utils-ts/callOnChangeProps.d.ts +0 -2
  124. package/dist/hooks/utils-ts/getDefaultValue.d.ts +0 -2
  125. package/dist/hooks/utils-ts/getInitialValue.d.ts +0 -2
  126. package/dist/hooks/utils-ts/index.d.ts +0 -11
  127. package/dist/hooks/utils-ts/stateReducer.d.ts +0 -6
  128. package/dist/hooks/utils-ts/useControlledReducer.d.ts +0 -12
  129. package/dist/hooks/utils-ts/useEnhancedReducer.d.ts +0 -13
  130. package/dist/hooks/utils.d.ts +0 -58
  131. package/dist/hooks/utils.dropdown/defaultProps.d.ts +0 -9
  132. package/dist/hooks/utils.dropdown/index.d.ts +0 -3
  133. package/dist/utils-ts/getState.d.ts +0 -22
  134. package/dist/utils-ts/handleRefs.d.ts +0 -2
  135. package/dist/utils-ts/validatePropTypes.d.ts +0 -2
  136. package/dist/utils.d.ts +0 -123
  137. package/typings/index.legacy.d.ts +0 -888
  138. /package/dist/hooks/{utils-ts/__tests__/getItemAndIndex.test.d.ts → useCombobox/utils/__tests__/getInitialState.test.d.ts} +0 -0
  139. /package/dist/hooks/{utils.dropdown/__tests__/useElementIds.legacy.test.d.ts → useCombobox/utils/__tests__/useControlledReducer.test.d.ts} +0 -0
  140. /package/dist/hooks/{utils.dropdown/__tests__/useElementIds.r18.test.d.ts → useSelect/utils/__tests__/getItemIndexByCharacterKey.test.d.ts} +0 -0
  141. /package/dist/{utils-ts/__tests__/getState.test.d.ts → hooks/utils/__tests__/callOnChangeProps.test.d.ts} +0 -0
  142. /package/dist/{utils-ts/__tests__/handleRefs.test.d.ts → hooks/utils/__tests__/capitalizeString.test.d.ts} +0 -0
  143. /package/dist/hooks/{utils-ts → utils}/capitalizeString.d.ts +0 -0
  144. /package/dist/hooks/{utils-ts → utils}/getItemAndIndex.d.ts +0 -0
  145. /package/dist/hooks/{utils-ts → utils}/propTypes.d.ts +0 -0
  146. /package/dist/hooks/{utils-ts → utils}/useA11yMessageStatus.d.ts +0 -0
  147. /package/dist/hooks/{utils.dropdown → utils}/useElementIds.d.ts +0 -0
  148. /package/dist/hooks/{utils-ts → utils}/useIsInitialMount.d.ts +0 -0
  149. /package/dist/{utils-ts → utils}/callAllEventHandlers.d.ts +0 -0
  150. /package/dist/{utils-ts → utils}/debounce.d.ts +0 -0
  151. /package/dist/{utils-ts → utils}/generateId.d.ts +0 -0
  152. /package/dist/{utils-ts → utils}/noop.d.ts +0 -0
  153. /package/dist/{utils-ts → utils}/scrollIntoView.d.ts +0 -0
  154. /package/dist/{utils-ts → utils}/setA11yStatus.d.ts +0 -0
  155. /package/dist/{utils-ts → utils}/useLatestRef.d.ts +0 -0
@@ -1,24 +1,5 @@
1
- export function getInitialState(props: any): {
2
- inputValue: unknown;
3
- highlightedIndex: any;
4
- isOpen: unknown;
5
- selectedItem: unknown;
6
- };
7
- /**
8
- * The useCombobox version of useControlledReducer, which also
9
- * checks if the controlled prop selectedItem changed between
10
- * renders. If so, it will also update inputValue with its
11
- * string equivalent. It uses the common useEnhancedReducer to
12
- * compute the rest of the state.
13
- *
14
- * @param {Function} reducer Reducer function from downshift.
15
- * @param {Object} props The hook props, also passed to createInitialState.
16
- * @param {Function} createInitialState Function that returns the initial state.
17
- * @param {Function} isStateEqual Function that checks if a previous state is equal to the next.
18
- * @returns {Array} An array with the state and an action dispatcher.
19
- */
20
- export function useControlledReducer(reducer: Function, props: Object, createInitialState: Function, isStateEqual: Function): any[];
21
- export const propTypes: {
1
+ import PropTypes from 'prop-types';
2
+ export declare const propTypes: {
22
3
  items: PropTypes.Validator<any[]>;
23
4
  isItemDisabled: PropTypes.Requireable<(...args: any[]) => any>;
24
5
  inputValue: PropTypes.Requireable<string>;
@@ -60,12 +41,3 @@ export const propTypes: {
60
41
  itemToKey: PropTypes.Requireable<(...args: any[]) => any>;
61
42
  stateReducer: PropTypes.Requireable<(...args: any[]) => any>;
62
43
  };
63
- export const defaultProps: {
64
- isItemDisabled(): boolean;
65
- itemToString(item: unknown): string;
66
- itemToKey(item: unknown): unknown;
67
- stateReducer: typeof import("../utils-ts").stateReducer;
68
- scrollIntoView: typeof import("../../utils-ts").scrollIntoView;
69
- environment: (Window & typeof globalThis) | undefined;
70
- };
71
- import PropTypes from "prop-types";
@@ -0,0 +1,16 @@
1
+ import { Reducer } from '../../utils';
2
+ import { UseComboboxMergedProps, UseComboboxReducerAction, UseComboboxState } from '../index.types';
3
+ /**
4
+ * The useCombobox version of useControlledReducer, which also
5
+ * checks if the controlled prop selectedItem changed between
6
+ * renders. If so, it will also update inputValue with its
7
+ * string equivalent. It uses the common useEnhancedReducer to
8
+ * compute the rest of the state.
9
+ *
10
+ * @param reducer Reducer function from downshift.
11
+ * @param props The hook props, also passed to createInitialState.
12
+ * @param createInitialState Function that returns the initial state.
13
+ * @param isStateEqual Function that checks if a previous state is equal to the next.
14
+ * @returns An array with the state and an action dispatcher.
15
+ */
16
+ export declare function useControlledReducer<Item>(reducer: Reducer<UseComboboxState<Item>, UseComboboxReducerAction<Item>>, props: UseComboboxMergedProps<Item>, createInitialState: (props: UseComboboxMergedProps<Item>) => UseComboboxState<Item>, isStateEqual: (prev: UseComboboxState<Item>, next: UseComboboxState<Item>) => boolean): [UseComboboxState<Item>, (action: UseComboboxReducerAction<Item>) => void];
@@ -2,27 +2,39 @@ export default useMultipleSelection;
2
2
  declare function useMultipleSelection(userProps?: {}): {
3
3
  getSelectedItemProps: ({ refKey, ref, onClick, onKeyDown, selectedItem: selectedItemProp, index: indexProp, ...rest }?: {
4
4
  refKey?: string | undefined;
5
- ref: any;
6
- onClick: any;
7
- onKeyDown: any;
8
- selectedItem: any;
9
- index: any;
10
5
  }) => {
11
6
  tabIndex: number;
12
- onClick: Function;
13
- onKeyDown: Function;
7
+ onClick: (event: React.SyntheticEvent & {
8
+ preventDownshiftDefault?: boolean;
9
+ nativeEvent: {
10
+ preventDownshiftDefault?: boolean;
11
+ };
12
+ }, ...args: unknown[]) => boolean;
13
+ onKeyDown: (event: React.SyntheticEvent & {
14
+ preventDownshiftDefault?: boolean;
15
+ nativeEvent: {
16
+ preventDownshiftDefault?: boolean;
17
+ };
18
+ }, ...args: unknown[]) => boolean;
14
19
  };
15
20
  getDropdownProps: ({ refKey, ref, onKeyDown, onClick, preventKeyAction, ...rest }?: {
16
21
  refKey?: string | undefined;
17
- ref: any;
18
- onKeyDown: any;
19
- onClick: any;
20
22
  preventKeyAction?: boolean | undefined;
21
23
  }, { suppressRefError }?: {
22
24
  suppressRefError?: boolean | undefined;
23
25
  }) => {
24
- onKeyDown?: Function | undefined;
25
- onClick?: Function | undefined;
26
+ onKeyDown?: ((event: React.SyntheticEvent & {
27
+ preventDownshiftDefault?: boolean;
28
+ nativeEvent: {
29
+ preventDownshiftDefault?: boolean;
30
+ };
31
+ }, ...args: unknown[]) => boolean) | undefined;
32
+ onClick?: ((event: React.SyntheticEvent & {
33
+ preventDownshiftDefault?: boolean;
34
+ nativeEvent: {
35
+ preventDownshiftDefault?: boolean;
36
+ };
37
+ }, ...args: unknown[]) => boolean) | undefined;
26
38
  };
27
39
  addSelectedItem: (selectedItem: any) => void;
28
40
  removeSelectedItem: (selectedItem: any) => void;
@@ -35,4 +47,4 @@ declare function useMultipleSelection(userProps?: {}): {
35
47
  declare namespace useMultipleSelection {
36
48
  export { stateChangeTypes };
37
49
  }
38
- import * as stateChangeTypes from "./stateChangeTypes";
50
+ import * as stateChangeTypes from './stateChangeTypes';
@@ -0,0 +1,117 @@
1
+ import * as React from 'react';
2
+ import { Environment, GetPropsCommonOptions, Overwrite } from '../../downshift.types';
3
+ export interface UseMultipleSelectionState<Item> {
4
+ selectedItems: Item[];
5
+ activeIndex: number;
6
+ }
7
+ export declare enum UseMultipleSelectionStateChangeTypes {
8
+ SelectedItemClick = "__selected_item_click__",
9
+ SelectedItemKeyDownDelete = "__selected_item_keydown_delete__",
10
+ SelectedItemKeyDownBackspace = "__selected_item_keydown_backspace__",
11
+ SelectedItemKeyDownNavigationNext = "__selected_item_keydown_navigation_next__",
12
+ SelectedItemKeyDownNavigationPrevious = "__selected_item_keydown_navigation_previous__",
13
+ DropdownKeyDownNavigationPrevious = "__dropdown_keydown_navigation_previous__",
14
+ DropdownKeyDownBackspace = "__dropdown_keydown_backspace__",
15
+ DropdownClick = "__dropdown_click__",
16
+ FunctionAddSelectedItem = "__function_add_selected_item__",
17
+ FunctionRemoveSelectedItem = "__function_remove_selected_item__",
18
+ FunctionSetSelectedItems = "__function_set_selected_items__",
19
+ FunctionSetActiveIndex = "__function_set_active_index__",
20
+ FunctionReset = "__function_reset__"
21
+ }
22
+ export interface UseMultipleSelectionProps<Item> {
23
+ selectedItems?: Item[];
24
+ initialSelectedItems?: Item[];
25
+ defaultSelectedItems?: Item[];
26
+ itemToKey?: (item: Item | null) => any;
27
+ getA11yStatusMessage?: (options: UseMultipleSelectionState<Item>) => string;
28
+ stateReducer?: (state: UseMultipleSelectionState<Item>, actionAndChanges: UseMultipleSelectionStateChangeOptions<Item>) => Partial<UseMultipleSelectionState<Item>>;
29
+ activeIndex?: number;
30
+ initialActiveIndex?: number;
31
+ defaultActiveIndex?: number;
32
+ onActiveIndexChange?: (changes: UseMultipleSelectionActiveIndexChange<Item>) => void;
33
+ onSelectedItemsChange?: (changes: UseMultipleSelectionSelectedItemsChange<Item>) => void;
34
+ onStateChange?: (changes: UseMultipleSelectionStateChange<Item>) => void;
35
+ keyNavigationNext?: string;
36
+ keyNavigationPrevious?: string;
37
+ environment?: Environment;
38
+ }
39
+ export interface UseMultipleSelectionStateChangeOptions<Item> extends UseMultipleSelectionDispatchAction<Item> {
40
+ changes: Partial<UseMultipleSelectionState<Item>>;
41
+ }
42
+ export interface UseMultipleSelectionDispatchAction<Item> {
43
+ type: UseMultipleSelectionStateChangeTypes;
44
+ index?: number;
45
+ selectedItem?: Item | null;
46
+ selectedItems?: Item[];
47
+ activeIndex?: number;
48
+ }
49
+ export interface UseMultipleSelectionStateChange<Item> extends Partial<UseMultipleSelectionState<Item>> {
50
+ type: UseMultipleSelectionStateChangeTypes;
51
+ }
52
+ export interface UseMultipleSelectionActiveIndexChange<Item> extends UseMultipleSelectionStateChange<Item> {
53
+ activeIndex: number;
54
+ }
55
+ export interface UseMultipleSelectionSelectedItemsChange<Item> extends UseMultipleSelectionStateChange<Item> {
56
+ selectedItems: Item[];
57
+ }
58
+ export interface A11yRemovalMessage<Item> {
59
+ itemToString: (item: Item) => string;
60
+ resultCount: number;
61
+ activeSelectedItem: Item;
62
+ removedSelectedItem: Item;
63
+ activeIndex: number;
64
+ }
65
+ export interface UseMultipleSelectionGetSelectedItemPropsOptions<Item> extends React.HTMLProps<HTMLElement> {
66
+ refKey?: string;
67
+ ref?: React.Ref<any>;
68
+ index?: number;
69
+ selectedItem: Item;
70
+ }
71
+ export interface UseMultipleSelectionGetSelectedItemReturnValue {
72
+ ref?: React.Ref<any>;
73
+ tabIndex: 0 | -1;
74
+ onClick: React.MouseEventHandler;
75
+ onKeyDown: React.KeyboardEventHandler;
76
+ }
77
+ export interface UseMultipleSelectionGetDropdownPropsOptions extends React.HTMLProps<HTMLElement> {
78
+ preventKeyAction?: boolean;
79
+ refKey?: string;
80
+ ref?: React.Ref<any>;
81
+ }
82
+ export interface UseMultipleSelectionGetDropdownReturnValue {
83
+ ref?: React.Ref<any>;
84
+ onClick?: React.MouseEventHandler;
85
+ onKeyDown?: React.KeyboardEventHandler;
86
+ }
87
+ export interface UseMultipleSelectionPropGetters<Item> {
88
+ getDropdownProps: <Options>(options?: UseMultipleSelectionGetDropdownPropsOptions & Options, extraOptions?: GetPropsCommonOptions) => Omit<Overwrite<UseMultipleSelectionGetDropdownReturnValue, Options>, 'preventKeyAction'>;
89
+ getSelectedItemProps: <Options>(options: UseMultipleSelectionGetSelectedItemPropsOptions<Item> & Options) => Omit<Overwrite<UseMultipleSelectionGetSelectedItemReturnValue, Options>, 'index' | 'selectedItem'>;
90
+ }
91
+ export interface UseMultipleSelectionActions<Item> {
92
+ reset: () => void;
93
+ addSelectedItem: (item: Item) => void;
94
+ removeSelectedItem: (item: Item) => void;
95
+ setSelectedItems: (items: Item[]) => void;
96
+ setActiveIndex: (index: number) => void;
97
+ }
98
+ export type UseMultipleSelectionReturnValue<Item> = UseMultipleSelectionState<Item> & UseMultipleSelectionPropGetters<Item> & UseMultipleSelectionActions<Item>;
99
+ export interface UseMultipleSelectionInterface {
100
+ <Item>(props?: UseMultipleSelectionProps<Item>): UseMultipleSelectionReturnValue<Item>;
101
+ stateChangeTypes: {
102
+ SelectedItemClick: UseMultipleSelectionStateChangeTypes.SelectedItemClick;
103
+ SelectedItemKeyDownDelete: UseMultipleSelectionStateChangeTypes.SelectedItemKeyDownDelete;
104
+ SelectedItemKeyDownBackspace: UseMultipleSelectionStateChangeTypes.SelectedItemKeyDownBackspace;
105
+ SelectedItemKeyDownNavigationNext: UseMultipleSelectionStateChangeTypes.SelectedItemKeyDownNavigationNext;
106
+ SelectedItemKeyDownNavigationPrevious: UseMultipleSelectionStateChangeTypes.SelectedItemKeyDownNavigationPrevious;
107
+ DropdownKeyDownNavigationPrevious: UseMultipleSelectionStateChangeTypes.DropdownKeyDownNavigationPrevious;
108
+ DropdownKeyDownBackspace: UseMultipleSelectionStateChangeTypes.DropdownKeyDownBackspace;
109
+ DropdownClick: UseMultipleSelectionStateChangeTypes.DropdownClick;
110
+ FunctionAddSelectedItem: UseMultipleSelectionStateChangeTypes.FunctionAddSelectedItem;
111
+ FunctionRemoveSelectedItem: UseMultipleSelectionStateChangeTypes.FunctionRemoveSelectedItem;
112
+ FunctionSetSelectedItems: UseMultipleSelectionStateChangeTypes.FunctionSetSelectedItems;
113
+ FunctionSetActiveIndex: UseMultipleSelectionStateChangeTypes.FunctionSetActiveIndex;
114
+ FunctionReset: UseMultipleSelectionStateChangeTypes.FunctionReset;
115
+ };
116
+ }
117
+ export declare const useMultipleSelection: UseMultipleSelectionInterface;
@@ -1 +1 @@
1
- export default function downshiftMultipleSelectionReducer(state: any, props: any, action: any): any;
1
+ export default function downshiftMultipleSelectionReducer(state: any, action: any): any;
@@ -1,20 +1,19 @@
1
+ export namespace defaultStateValues {
2
+ let activeIndex: number;
3
+ let selectedItems: never[];
4
+ }
1
5
  export namespace defaultProps {
2
- const itemToKey: (item: unknown) => unknown;
3
- const stateReducer: typeof import("../utils-ts").stateReducer;
4
- const environment: (Window & typeof globalThis) | undefined;
5
- const keyNavigationNext: string;
6
- const keyNavigationPrevious: string;
6
+ let itemToKey: (item: unknown) => unknown;
7
+ let stateReducer: <S, A>(_state: S, actionAndChanges: (A & {
8
+ props: any;
9
+ }) & {
10
+ changes: Partial<S>;
11
+ }) => Partial<S>;
12
+ let environment: (Window & typeof globalThis) | undefined;
13
+ let keyNavigationNext: string;
14
+ let keyNavigationPrevious: string;
7
15
  }
8
16
  export let validatePropTypes: typeof noop;
9
- /**
10
- * Returns the default value for a state key in the following order:
11
- * 1. controlled prop, 2. default prop, 3. default value from Downshift.
12
- *
13
- * @param {Object} props Props passed to the hook.
14
- * @param {string} propKey Props key to generate the value for.
15
- * @returns {any} The initial value for that prop.
16
- */
17
- export function getDefaultValue(props: Object, propKey: string): any;
18
17
  /**
19
18
  * Gets the initial state based on the provided props. It uses initial, default
20
19
  * and controlled props related to state in order to compute the initial value.
@@ -42,4 +41,4 @@ export function isKeyDownOperationPermitted(event: KeyboardEvent): boolean;
42
41
  * @returns {boolean} Wheather the states are deeply equal.
43
42
  */
44
43
  export function isStateEqual(prevState: Object, newState: Object): boolean;
45
- import { noop } from "../../utils-ts";
44
+ import { noop } from '../../utils';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Return the index of the item that starts with the character.
3
+ * @param character The start of the item string.
4
+ * @param startIndex The index to start searching.
5
+ * @returns The index of the item.
6
+ */
7
+ export declare function getItemIndexByCharacter(character: string, startIndex?: number): number;
@@ -0,0 +1,6 @@
1
+ export * from '@testing-library/react';
2
+ export { items, dataTestIds, defaultIds, waitForDebouncedA11yStatusUpdate, MemoizedItem, getLabel, getMenu, getToggleButton, getItemAtIndex, getItems, clickOnItemAtIndex, clickOnToggleButton, mouseMoveItemAtIndex, mouseLeaveItemAtIndex, keyDownOnToggleButton, getA11yStatusContainer, tab, initialFocusAndOpenTestCases, initialNoFocusOrOpenTestCases, } from '../../../testUtils';
3
+ export { renderUseSelect } from './renderUseSelect';
4
+ export { renderSelect } from './renderSelect';
5
+ export { getItemIndexByCharacter } from './getItemIndexByCharacter';
6
+ export { stateChangeTestCases } from './stateChangeTestCases';
@@ -0,0 +1,71 @@
1
+ import * as React from 'react';
2
+ import { UseSelectProps, UseSelectGetItemProps } from '../../index.types';
3
+ type DropdownSelectProps = Omit<UseSelectProps<string>, 'items'> & {
4
+ items?: string[];
5
+ renderSpy: jest.Mock;
6
+ renderItem?: (props: {
7
+ index: number;
8
+ item: string;
9
+ getItemProps: UseSelectGetItemProps<string>;
10
+ stringItem: string;
11
+ }) => React.ReactNode;
12
+ };
13
+ export declare function renderSelect(props: Omit<DropdownSelectProps, 'renderSpy'>, uiCallback?: (ui: React.ReactElement) => React.ReactElement): {
14
+ renderSpy: jest.Mock<any, any, any>;
15
+ rerender: (p: Omit<DropdownSelectProps, "renderSpy">) => void;
16
+ user: import("@testing-library/user-event").UserEvent;
17
+ container: HTMLElement;
18
+ baseElement: HTMLElement;
19
+ debug: (baseElement?: ReactDOMClient.Container | any | Array<ReactDOMClient.Container | any> | undefined, maxLength?: number | undefined, options?: import("node_modules/pretty-format/build").OptionsReceived | undefined) => void;
20
+ unmount: () => void;
21
+ asFragment: () => DocumentFragment;
22
+ getByLabelText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined) => HTMLElement;
23
+ getAllByLabelText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined) => HTMLElement[];
24
+ queryByLabelText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined) => HTMLElement | null;
25
+ queryAllByLabelText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined) => HTMLElement[];
26
+ findByLabelText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
27
+ findAllByLabelText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
28
+ getByPlaceholderText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement;
29
+ getAllByPlaceholderText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
30
+ queryByPlaceholderText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement | null;
31
+ queryAllByPlaceholderText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
32
+ findByPlaceholderText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
33
+ findAllByPlaceholderText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
34
+ getByText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined) => HTMLElement;
35
+ getAllByText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined) => HTMLElement[];
36
+ queryByText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined) => HTMLElement | null;
37
+ queryAllByText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined) => HTMLElement[];
38
+ findByText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
39
+ findAllByText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
40
+ getByAltText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement;
41
+ getAllByAltText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
42
+ queryByAltText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement | null;
43
+ queryAllByAltText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
44
+ findByAltText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
45
+ findAllByAltText: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
46
+ getByTitle: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement;
47
+ getAllByTitle: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
48
+ queryByTitle: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement | null;
49
+ queryAllByTitle: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
50
+ findByTitle: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
51
+ findAllByTitle: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
52
+ getByDisplayValue: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement;
53
+ getAllByDisplayValue: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
54
+ queryByDisplayValue: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement | null;
55
+ queryAllByDisplayValue: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
56
+ findByDisplayValue: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
57
+ findAllByDisplayValue: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
58
+ getByRole: (role: import("@testing-library/react").ByRoleMatcher, options?: import("@testing-library/react").ByRoleOptions | undefined) => HTMLElement;
59
+ getAllByRole: (role: import("@testing-library/react").ByRoleMatcher, options?: import("@testing-library/react").ByRoleOptions | undefined) => HTMLElement[];
60
+ queryByRole: (role: import("@testing-library/react").ByRoleMatcher, options?: import("@testing-library/react").ByRoleOptions | undefined) => HTMLElement | null;
61
+ queryAllByRole: (role: import("@testing-library/react").ByRoleMatcher, options?: import("@testing-library/react").ByRoleOptions | undefined) => HTMLElement[];
62
+ findByRole: (role: import("@testing-library/react").ByRoleMatcher, options?: import("@testing-library/react").ByRoleOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
63
+ findAllByRole: (role: import("@testing-library/react").ByRoleMatcher, options?: import("@testing-library/react").ByRoleOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
64
+ getByTestId: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement;
65
+ getAllByTestId: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
66
+ queryByTestId: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement | null;
67
+ queryAllByTestId: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
68
+ findByTestId: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
69
+ findAllByTestId: (id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
70
+ };
71
+ export {};
@@ -0,0 +1,2 @@
1
+ import { UseSelectProps } from '../../index.types';
2
+ export declare function renderUseSelect(props?: Partial<UseSelectProps<string>>): import("@testing-library/react").RenderHookResult<import("../../index.types").UseSelectReturnValue<string>, unknown>;
@@ -0,0 +1,182 @@
1
+ import { clickOnItemAtIndex, clickOnToggleButton, keyDownOnToggleButton, mouseLeaveItemAtIndex, mouseMoveItemAtIndex, tab } from '../../../testUtils';
2
+ export declare const stateChangeTestCases: ({
3
+ step: typeof keyDownOnToggleButton;
4
+ arg: string;
5
+ state: {
6
+ isOpen: boolean;
7
+ highlightedIndex: number;
8
+ inputValue: string;
9
+ selectedItem: null;
10
+ };
11
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonClick;
12
+ } | {
13
+ step: typeof keyDownOnToggleButton;
14
+ arg: string;
15
+ state: {
16
+ isOpen: boolean;
17
+ highlightedIndex: number;
18
+ inputValue: string;
19
+ selectedItem: null;
20
+ };
21
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonKeyDownEnter;
22
+ } | {
23
+ step: typeof keyDownOnToggleButton;
24
+ arg: string;
25
+ state: {
26
+ isOpen: boolean;
27
+ highlightedIndex: number;
28
+ inputValue: string;
29
+ selectedItem: null;
30
+ };
31
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonKeyDownEscape;
32
+ } | {
33
+ step: typeof keyDownOnToggleButton;
34
+ arg: string;
35
+ state: {
36
+ isOpen: boolean;
37
+ highlightedIndex: number;
38
+ inputValue: string;
39
+ selectedItem: null;
40
+ };
41
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonKeyDownArrowDown;
42
+ } | {
43
+ step: typeof keyDownOnToggleButton;
44
+ arg: string;
45
+ state: {
46
+ isOpen: boolean;
47
+ highlightedIndex: number;
48
+ inputValue: string;
49
+ selectedItem: string | undefined;
50
+ };
51
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonKeyDownEnter;
52
+ } | {
53
+ step: typeof keyDownOnToggleButton;
54
+ arg: string;
55
+ state: {
56
+ isOpen: boolean;
57
+ highlightedIndex: number;
58
+ inputValue: string;
59
+ selectedItem: string | undefined;
60
+ };
61
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonKeyDownEnd;
62
+ } | {
63
+ step: typeof keyDownOnToggleButton;
64
+ arg: string;
65
+ state: {
66
+ isOpen: boolean;
67
+ highlightedIndex: number;
68
+ inputValue: string;
69
+ selectedItem: string | undefined;
70
+ };
71
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonKeyDownSpaceButton;
72
+ } | {
73
+ step: typeof clickOnToggleButton;
74
+ state: {
75
+ isOpen: boolean;
76
+ highlightedIndex: number;
77
+ inputValue: string;
78
+ selectedItem: string | undefined;
79
+ };
80
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonClick;
81
+ arg?: undefined;
82
+ } | {
83
+ step: typeof keyDownOnToggleButton;
84
+ arg: string;
85
+ state: {
86
+ isOpen: boolean;
87
+ highlightedIndex: number;
88
+ inputValue: string;
89
+ selectedItem: string | undefined;
90
+ };
91
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonKeyDownPageUp;
92
+ } | {
93
+ step: typeof keyDownOnToggleButton;
94
+ arg: string;
95
+ state: {
96
+ isOpen: boolean;
97
+ highlightedIndex: number;
98
+ inputValue: string;
99
+ selectedItem: string | undefined;
100
+ };
101
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonKeyDownPageDown;
102
+ } | {
103
+ step: typeof mouseMoveItemAtIndex;
104
+ arg: number;
105
+ state: {
106
+ isOpen: boolean;
107
+ highlightedIndex: number;
108
+ inputValue: string;
109
+ selectedItem: string | undefined;
110
+ };
111
+ type: import("../../index.types").UseSelectStateChangeTypes.ItemMouseMove;
112
+ } | {
113
+ step: typeof mouseLeaveItemAtIndex;
114
+ arg: number;
115
+ state: {
116
+ isOpen: boolean;
117
+ highlightedIndex: number;
118
+ inputValue: string;
119
+ selectedItem: string | undefined;
120
+ };
121
+ type: import("../../index.types").UseSelectStateChangeTypes.MenuMouseLeave;
122
+ } | {
123
+ step: typeof clickOnItemAtIndex;
124
+ arg: number;
125
+ state: {
126
+ isOpen: boolean;
127
+ highlightedIndex: number;
128
+ inputValue: string;
129
+ selectedItem: string | undefined;
130
+ };
131
+ type: import("../../index.types").UseSelectStateChangeTypes.ItemClick;
132
+ } | {
133
+ step: typeof keyDownOnToggleButton;
134
+ arg: string;
135
+ state: {
136
+ isOpen: boolean;
137
+ highlightedIndex: number;
138
+ inputValue: string;
139
+ selectedItem: string | undefined;
140
+ };
141
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonKeyDownArrowDown;
142
+ } | {
143
+ step: typeof keyDownOnToggleButton;
144
+ arg: string;
145
+ state: {
146
+ isOpen: boolean;
147
+ highlightedIndex: number;
148
+ inputValue: string;
149
+ selectedItem: string | undefined;
150
+ };
151
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonKeyDownArrowUp;
152
+ } | {
153
+ step: typeof keyDownOnToggleButton;
154
+ arg: string;
155
+ state: {
156
+ isOpen: boolean;
157
+ highlightedIndex: number;
158
+ inputValue: string;
159
+ selectedItem: string | undefined;
160
+ };
161
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonKeyDownCharacter;
162
+ } | {
163
+ step: () => Promise<void>;
164
+ state: {
165
+ isOpen: boolean;
166
+ highlightedIndex: number;
167
+ inputValue: string;
168
+ selectedItem: string | undefined;
169
+ };
170
+ type: import("../../index.types").UseSelectStateChangeTypes.FunctionSetInputValue;
171
+ arg?: undefined;
172
+ } | {
173
+ step: typeof tab;
174
+ state: {
175
+ isOpen: boolean;
176
+ highlightedIndex: number;
177
+ inputValue: string;
178
+ selectedItem: string | undefined;
179
+ };
180
+ type: import("../../index.types").UseSelectStateChangeTypes.ToggleButtonBlur;
181
+ arg?: undefined;
182
+ })[];
@@ -1,73 +1,6 @@
1
- export default useSelect;
2
- declare function useSelect(userProps?: {}): {
3
- getToggleButtonProps: ({ onBlur, onClick, onPress, onKeyDown, refKey, ref, ...rest }?: {
4
- onBlur: any;
5
- onClick: any;
6
- onPress: any;
7
- onKeyDown: any;
8
- refKey?: string | undefined;
9
- ref: any;
10
- }, { suppressRefError }?: {
11
- suppressRefError?: boolean | undefined;
12
- }) => {
13
- 'aria-activedescendant': string;
14
- 'aria-controls': string;
15
- 'aria-expanded': any;
16
- 'aria-haspopup': string;
17
- 'aria-labelledby': string | undefined;
18
- id: string;
19
- role: string;
20
- tabIndex: number;
21
- onBlur: Function;
22
- };
23
- getLabelProps: ({ onClick, ...labelProps }?: {
24
- onClick: any;
25
- }) => {
26
- id: string;
27
- htmlFor: string;
28
- onClick: Function;
29
- };
30
- getMenuProps: ({ onMouseLeave, refKey, ref, ...rest }?: {
31
- onMouseLeave: any;
32
- refKey?: string | undefined;
33
- ref: any;
34
- }, { suppressRefError }?: {
35
- suppressRefError?: boolean | undefined;
36
- }) => {
37
- id: string;
38
- role: string;
39
- 'aria-labelledby': string | undefined;
40
- onMouseLeave: Function;
41
- };
42
- getItemProps: ({ item: itemProp, index: indexProp, onMouseMove, onClick, onMouseDown, onPress, refKey, disabled: disabledProp, ref, ...rest }?: {
43
- item: any;
44
- index: any;
45
- onMouseMove: any;
46
- onClick: any;
47
- onMouseDown: any;
48
- onPress: any;
49
- refKey?: string | undefined;
50
- disabled: any;
51
- ref: any;
52
- }) => {
53
- 'aria-disabled': boolean;
54
- 'aria-selected': boolean;
55
- id: string;
56
- role: string;
57
- };
58
- toggleMenu: () => void;
59
- openMenu: () => void;
60
- closeMenu: () => void;
61
- setHighlightedIndex: (newHighlightedIndex: any) => void;
62
- selectItem: (newSelectedItem: any) => void;
63
- reset: () => void;
64
- setInputValue: (newInputValue: any) => void;
65
- highlightedIndex: any;
66
- isOpen: any;
67
- selectedItem: any;
68
- inputValue: any;
69
- };
1
+ import { UseSelectProps, UseSelectReturnValue } from './index.types';
2
+ declare function useSelect<Item>(userProps?: UseSelectProps<Item>): UseSelectReturnValue<Item>;
70
3
  declare namespace useSelect {
71
- export { stateChangeTypes };
4
+ var stateChangeTypes: typeof import("./stateChangeTypes");
72
5
  }
73
- import * as stateChangeTypes from "./stateChangeTypes";
6
+ export default useSelect;