downshift 5.2.0 → 5.2.1
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.js +119 -75
- package/dist/downshift.esm.js +120 -76
- package/dist/downshift.native.cjs.js +119 -75
- package/dist/downshift.umd.js +119 -75
- 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/package.json +2 -2
- package/preact/dist/downshift.cjs.js +119 -75
- package/preact/dist/downshift.esm.js +120 -76
- package/preact/dist/downshift.umd.js +119 -75
- 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 +2 -0
package/dist/downshift.cjs.js
CHANGED
|
@@ -1793,21 +1793,33 @@ function isAcceptedCharacterKey(key) {
|
|
|
1793
1793
|
function capitalizeString(string) {
|
|
1794
1794
|
return "" + string.slice(0, 1).toUpperCase() + string.slice(1);
|
|
1795
1795
|
}
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1796
|
+
/**
|
|
1797
|
+
* Computes the controlled state using a the previous state, props,
|
|
1798
|
+
* two reducers, one from downshift and an optional one from the user.
|
|
1799
|
+
* Also calls the onChange handlers for state values that have changed.
|
|
1800
|
+
*
|
|
1801
|
+
* @param {Function} reducer Reducer function from downshift.
|
|
1802
|
+
* @param {Object} initialState Initial state of the hook.
|
|
1803
|
+
* @param {Object} props The hook props.
|
|
1804
|
+
* @returns {Array} An array with the state and an action dispatcher.
|
|
1805
|
+
*/
|
|
1806
|
+
|
|
1807
|
+
function useControlledState(reducer, initialState, props) {
|
|
1808
|
+
var _useState = react.useState(initialState),
|
|
1809
|
+
uncontrolledState = _useState[0],
|
|
1810
|
+
setState = _useState[1];
|
|
1811
|
+
|
|
1812
|
+
var state = getState(uncontrolledState, props);
|
|
1813
|
+
|
|
1814
|
+
var dispatch = function (action) {
|
|
1815
|
+
var stateReducerFromProps = action.props.stateReducer;
|
|
1800
1816
|
var changes = reducer(state, action);
|
|
1801
|
-
var newState =
|
|
1817
|
+
var newState = stateReducerFromProps(state, _extends({}, action, {
|
|
1802
1818
|
changes: changes
|
|
1803
1819
|
}));
|
|
1804
1820
|
callOnChangeProps(action, state, newState);
|
|
1805
|
-
|
|
1806
|
-
}
|
|
1807
|
-
|
|
1808
|
-
var _useReducer = react.useReducer(enhancedReducer, initialState),
|
|
1809
|
-
state = _useReducer[0],
|
|
1810
|
-
dispatch = _useReducer[1];
|
|
1821
|
+
setState(newState);
|
|
1822
|
+
};
|
|
1811
1823
|
|
|
1812
1824
|
return [getState(state, props), function dispatchWithProps(action) {
|
|
1813
1825
|
return dispatch(_extends({
|
|
@@ -2250,13 +2262,13 @@ function useSelect(userProps) {
|
|
|
2250
2262
|
|
|
2251
2263
|
var initialState = getInitialState(props); // Reducer init.
|
|
2252
2264
|
|
|
2253
|
-
var
|
|
2254
|
-
|
|
2255
|
-
isOpen =
|
|
2256
|
-
highlightedIndex =
|
|
2257
|
-
selectedItem =
|
|
2258
|
-
inputValue =
|
|
2259
|
-
dispatch =
|
|
2265
|
+
var _useControlledState = useControlledState(downshiftSelectReducer, initialState, props),
|
|
2266
|
+
_useControlledState$ = _useControlledState[0],
|
|
2267
|
+
isOpen = _useControlledState$.isOpen,
|
|
2268
|
+
highlightedIndex = _useControlledState$.highlightedIndex,
|
|
2269
|
+
selectedItem = _useControlledState$.selectedItem,
|
|
2270
|
+
inputValue = _useControlledState$.inputValue,
|
|
2271
|
+
dispatch = _useControlledState[1]; // Refs
|
|
2260
2272
|
|
|
2261
2273
|
|
|
2262
2274
|
var toggleButtonRef = react.useRef(null);
|
|
@@ -2703,6 +2715,51 @@ function useSelect(userProps) {
|
|
|
2703
2715
|
};
|
|
2704
2716
|
}
|
|
2705
2717
|
|
|
2718
|
+
var InputKeyDownArrowDown = process.env.NODE_ENV !== "production" ? '__input_keydown_arrow_down__' : 0;
|
|
2719
|
+
var InputKeyDownArrowUp = process.env.NODE_ENV !== "production" ? '__input_keydown_arrow_up__' : 1;
|
|
2720
|
+
var InputKeyDownEscape = process.env.NODE_ENV !== "production" ? '__input_keydown_escape__' : 2;
|
|
2721
|
+
var InputKeyDownHome = process.env.NODE_ENV !== "production" ? '__input_keydown_home__' : 3;
|
|
2722
|
+
var InputKeyDownEnd = process.env.NODE_ENV !== "production" ? '__input_keydown_end__' : 4;
|
|
2723
|
+
var InputKeyDownEnter = process.env.NODE_ENV !== "production" ? '__input_keydown_enter__' : 5;
|
|
2724
|
+
var InputChange = process.env.NODE_ENV !== "production" ? '__input_change__' : 6;
|
|
2725
|
+
var InputBlur = process.env.NODE_ENV !== "production" ? '__input_blur__' : 7;
|
|
2726
|
+
var MenuMouseLeave$1 = process.env.NODE_ENV !== "production" ? '__menu_mouse_leave__' : 8;
|
|
2727
|
+
var ItemMouseMove$1 = process.env.NODE_ENV !== "production" ? '__item_mouse_move__' : 9;
|
|
2728
|
+
var ItemClick$1 = process.env.NODE_ENV !== "production" ? '__item_click__' : 10;
|
|
2729
|
+
var ToggleButtonClick$1 = process.env.NODE_ENV !== "production" ? '__togglebutton_click__' : 11;
|
|
2730
|
+
var FunctionToggleMenu$1 = process.env.NODE_ENV !== "production" ? '__function_toggle_menu__' : 12;
|
|
2731
|
+
var FunctionOpenMenu$1 = process.env.NODE_ENV !== "production" ? '__function_open_menu__' : 13;
|
|
2732
|
+
var FunctionCloseMenu$1 = process.env.NODE_ENV !== "production" ? '__function_close_menu__' : 14;
|
|
2733
|
+
var FunctionSetHighlightedIndex$1 = process.env.NODE_ENV !== "production" ? '__function_set_highlighted_index__' : 15;
|
|
2734
|
+
var FunctionSelectItem$1 = process.env.NODE_ENV !== "production" ? '__function_select_item__' : 16;
|
|
2735
|
+
var FunctionSetInputValue$1 = process.env.NODE_ENV !== "production" ? '__function_set_input_value__' : 17;
|
|
2736
|
+
var FunctionReset$1 = process.env.NODE_ENV !== "production" ? '__function_reset__' : 18;
|
|
2737
|
+
var ControlledPropUpdatedSelectedItem = process.env.NODE_ENV !== "production" ? '__controlled_prop_updated_selected_item__' : 19;
|
|
2738
|
+
|
|
2739
|
+
var stateChangeTypes$2 = /*#__PURE__*/Object.freeze({
|
|
2740
|
+
__proto__: null,
|
|
2741
|
+
InputKeyDownArrowDown: InputKeyDownArrowDown,
|
|
2742
|
+
InputKeyDownArrowUp: InputKeyDownArrowUp,
|
|
2743
|
+
InputKeyDownEscape: InputKeyDownEscape,
|
|
2744
|
+
InputKeyDownHome: InputKeyDownHome,
|
|
2745
|
+
InputKeyDownEnd: InputKeyDownEnd,
|
|
2746
|
+
InputKeyDownEnter: InputKeyDownEnter,
|
|
2747
|
+
InputChange: InputChange,
|
|
2748
|
+
InputBlur: InputBlur,
|
|
2749
|
+
MenuMouseLeave: MenuMouseLeave$1,
|
|
2750
|
+
ItemMouseMove: ItemMouseMove$1,
|
|
2751
|
+
ItemClick: ItemClick$1,
|
|
2752
|
+
ToggleButtonClick: ToggleButtonClick$1,
|
|
2753
|
+
FunctionToggleMenu: FunctionToggleMenu$1,
|
|
2754
|
+
FunctionOpenMenu: FunctionOpenMenu$1,
|
|
2755
|
+
FunctionCloseMenu: FunctionCloseMenu$1,
|
|
2756
|
+
FunctionSetHighlightedIndex: FunctionSetHighlightedIndex$1,
|
|
2757
|
+
FunctionSelectItem: FunctionSelectItem$1,
|
|
2758
|
+
FunctionSetInputValue: FunctionSetInputValue$1,
|
|
2759
|
+
FunctionReset: FunctionReset$1,
|
|
2760
|
+
ControlledPropUpdatedSelectedItem: ControlledPropUpdatedSelectedItem
|
|
2761
|
+
});
|
|
2762
|
+
|
|
2706
2763
|
function getElementIds$1(_ref) {
|
|
2707
2764
|
var id = _ref.id,
|
|
2708
2765
|
inputId = _ref.inputId,
|
|
@@ -2715,7 +2772,6 @@ function getElementIds$1(_ref) {
|
|
|
2715
2772
|
id: id
|
|
2716
2773
|
}, rest)));
|
|
2717
2774
|
}
|
|
2718
|
-
|
|
2719
2775
|
function getInitialState$1(props) {
|
|
2720
2776
|
var initialState = getInitialState(props);
|
|
2721
2777
|
var selectedItem = initialState.selectedItem;
|
|
@@ -2729,7 +2785,6 @@ function getInitialState$1(props) {
|
|
|
2729
2785
|
inputValue: inputValue
|
|
2730
2786
|
});
|
|
2731
2787
|
}
|
|
2732
|
-
|
|
2733
2788
|
var propTypes$1 = {
|
|
2734
2789
|
items: PropTypes.array.isRequired,
|
|
2735
2790
|
itemToString: PropTypes.func,
|
|
@@ -2770,55 +2825,43 @@ var propTypes$1 = {
|
|
|
2770
2825
|
})
|
|
2771
2826
|
})
|
|
2772
2827
|
};
|
|
2828
|
+
/**
|
|
2829
|
+
* The useCombobox version of useControlledState, which also
|
|
2830
|
+
* checks if the controlled prop selectedItem changed between
|
|
2831
|
+
* renders. If so, it will also update inputValue with its
|
|
2832
|
+
* string equivalent. It uses the common useControlledState to
|
|
2833
|
+
* compute the rest of the state.
|
|
2834
|
+
*
|
|
2835
|
+
* @param {Function} reducer Reducer function from downshift.
|
|
2836
|
+
* @param {Object} initialState Initial state of the hook.
|
|
2837
|
+
* @param {Object} props The hook props.
|
|
2838
|
+
* @returns {Array} An array with the state and an action dispatcher.
|
|
2839
|
+
*/
|
|
2840
|
+
|
|
2841
|
+
function useControlledState$1(reducer, initialState, props) {
|
|
2842
|
+
var _useControlledStateCo = useControlledState(reducer, initialState, props),
|
|
2843
|
+
newState = _useControlledStateCo[0],
|
|
2844
|
+
dispatch = _useControlledStateCo[1];
|
|
2773
2845
|
|
|
2846
|
+
var previousSelectedItemRef = react.useRef(null);
|
|
2847
|
+
var selectedItem = props.selectedItem,
|
|
2848
|
+
itemToString = props.itemToString; // ToDo: if needed, make same approach as selectedItemChanged from Downshift.
|
|
2849
|
+
|
|
2850
|
+
if (isControlledProp(props, 'selectedItem') && previousSelectedItemRef.current !== selectedItem) {
|
|
2851
|
+
dispatch({
|
|
2852
|
+
type: ControlledPropUpdatedSelectedItem,
|
|
2853
|
+
inputValue: itemToString(selectedItem)
|
|
2854
|
+
});
|
|
2855
|
+
}
|
|
2856
|
+
|
|
2857
|
+
previousSelectedItemRef.current = selectedItem;
|
|
2858
|
+
return [newState, dispatch];
|
|
2859
|
+
}
|
|
2774
2860
|
var defaultProps$2 = _extends({}, defaultProps, {
|
|
2775
2861
|
getA11yStatusMessage: getA11yStatusMessage,
|
|
2776
2862
|
circularNavigation: true
|
|
2777
2863
|
});
|
|
2778
2864
|
|
|
2779
|
-
var InputKeyDownArrowDown = process.env.NODE_ENV !== "production" ? '__input_keydown_arrow_down__' : 0;
|
|
2780
|
-
var InputKeyDownArrowUp = process.env.NODE_ENV !== "production" ? '__input_keydown_arrow_up__' : 1;
|
|
2781
|
-
var InputKeyDownEscape = process.env.NODE_ENV !== "production" ? '__input_keydown_escape__' : 2;
|
|
2782
|
-
var InputKeyDownHome = process.env.NODE_ENV !== "production" ? '__input_keydown_home__' : 3;
|
|
2783
|
-
var InputKeyDownEnd = process.env.NODE_ENV !== "production" ? '__input_keydown_end__' : 4;
|
|
2784
|
-
var InputKeyDownEnter = process.env.NODE_ENV !== "production" ? '__input_keydown_enter__' : 5;
|
|
2785
|
-
var InputChange = process.env.NODE_ENV !== "production" ? '__input_change__' : 6;
|
|
2786
|
-
var InputBlur = process.env.NODE_ENV !== "production" ? '__input_blur__' : 7;
|
|
2787
|
-
var MenuMouseLeave$1 = process.env.NODE_ENV !== "production" ? '__menu_mouse_leave__' : 8;
|
|
2788
|
-
var ItemMouseMove$1 = process.env.NODE_ENV !== "production" ? '__item_mouse_move__' : 9;
|
|
2789
|
-
var ItemClick$1 = process.env.NODE_ENV !== "production" ? '__item_click__' : 10;
|
|
2790
|
-
var ToggleButtonClick$1 = process.env.NODE_ENV !== "production" ? '__togglebutton_click__' : 11;
|
|
2791
|
-
var FunctionToggleMenu$1 = process.env.NODE_ENV !== "production" ? '__function_toggle_menu__' : 12;
|
|
2792
|
-
var FunctionOpenMenu$1 = process.env.NODE_ENV !== "production" ? '__function_open_menu__' : 13;
|
|
2793
|
-
var FunctionCloseMenu$1 = process.env.NODE_ENV !== "production" ? '__function_close_menu__' : 14;
|
|
2794
|
-
var FunctionSetHighlightedIndex$1 = process.env.NODE_ENV !== "production" ? '__function_set_highlighted_index__' : 15;
|
|
2795
|
-
var FunctionSelectItem$1 = process.env.NODE_ENV !== "production" ? '__function_select_item__' : 16;
|
|
2796
|
-
var FunctionSetInputValue$1 = process.env.NODE_ENV !== "production" ? '__function_set_input_value__' : 17;
|
|
2797
|
-
var FunctionReset$1 = process.env.NODE_ENV !== "production" ? '__function_reset__' : 18;
|
|
2798
|
-
|
|
2799
|
-
var stateChangeTypes$2 = /*#__PURE__*/Object.freeze({
|
|
2800
|
-
__proto__: null,
|
|
2801
|
-
InputKeyDownArrowDown: InputKeyDownArrowDown,
|
|
2802
|
-
InputKeyDownArrowUp: InputKeyDownArrowUp,
|
|
2803
|
-
InputKeyDownEscape: InputKeyDownEscape,
|
|
2804
|
-
InputKeyDownHome: InputKeyDownHome,
|
|
2805
|
-
InputKeyDownEnd: InputKeyDownEnd,
|
|
2806
|
-
InputKeyDownEnter: InputKeyDownEnter,
|
|
2807
|
-
InputChange: InputChange,
|
|
2808
|
-
InputBlur: InputBlur,
|
|
2809
|
-
MenuMouseLeave: MenuMouseLeave$1,
|
|
2810
|
-
ItemMouseMove: ItemMouseMove$1,
|
|
2811
|
-
ItemClick: ItemClick$1,
|
|
2812
|
-
ToggleButtonClick: ToggleButtonClick$1,
|
|
2813
|
-
FunctionToggleMenu: FunctionToggleMenu$1,
|
|
2814
|
-
FunctionOpenMenu: FunctionOpenMenu$1,
|
|
2815
|
-
FunctionCloseMenu: FunctionCloseMenu$1,
|
|
2816
|
-
FunctionSetHighlightedIndex: FunctionSetHighlightedIndex$1,
|
|
2817
|
-
FunctionSelectItem: FunctionSelectItem$1,
|
|
2818
|
-
FunctionSetInputValue: FunctionSetInputValue$1,
|
|
2819
|
-
FunctionReset: FunctionReset$1
|
|
2820
|
-
});
|
|
2821
|
-
|
|
2822
2865
|
/* eslint-disable complexity */
|
|
2823
2866
|
|
|
2824
2867
|
function downshiftUseComboboxReducer(state, action) {
|
|
@@ -2958,6 +3001,7 @@ function downshiftUseComboboxReducer(state, action) {
|
|
|
2958
3001
|
};
|
|
2959
3002
|
break;
|
|
2960
3003
|
|
|
3004
|
+
case ControlledPropUpdatedSelectedItem:
|
|
2961
3005
|
case FunctionSetInputValue$1:
|
|
2962
3006
|
changes = {
|
|
2963
3007
|
inputValue: action.inputValue
|
|
@@ -3010,13 +3054,13 @@ function useCombobox(userProps) {
|
|
|
3010
3054
|
|
|
3011
3055
|
var initialState = getInitialState$1(props); // Reducer init.
|
|
3012
3056
|
|
|
3013
|
-
var
|
|
3014
|
-
|
|
3015
|
-
isOpen =
|
|
3016
|
-
highlightedIndex =
|
|
3017
|
-
selectedItem =
|
|
3018
|
-
inputValue =
|
|
3019
|
-
dispatch =
|
|
3057
|
+
var _useControlledState = useControlledState$1(downshiftUseComboboxReducer, initialState, props),
|
|
3058
|
+
_useControlledState$ = _useControlledState[0],
|
|
3059
|
+
isOpen = _useControlledState$.isOpen,
|
|
3060
|
+
highlightedIndex = _useControlledState$.highlightedIndex,
|
|
3061
|
+
selectedItem = _useControlledState$.selectedItem,
|
|
3062
|
+
inputValue = _useControlledState$.inputValue,
|
|
3063
|
+
dispatch = _useControlledState[1];
|
|
3020
3064
|
/* Refs */
|
|
3021
3065
|
|
|
3022
3066
|
|
|
@@ -3743,11 +3787,11 @@ function useMultipleSelection(userProps) {
|
|
|
3743
3787
|
keyNavigationNext = props.keyNavigationNext,
|
|
3744
3788
|
keyNavigationPrevious = props.keyNavigationPrevious; // Reducer init.
|
|
3745
3789
|
|
|
3746
|
-
var
|
|
3747
|
-
|
|
3748
|
-
activeIndex =
|
|
3749
|
-
selectedItems =
|
|
3750
|
-
dispatch =
|
|
3790
|
+
var _useControlledState = useControlledState(downshiftMultipleSelectionReducer, getInitialState$2(props), props),
|
|
3791
|
+
_useControlledState$ = _useControlledState[0],
|
|
3792
|
+
activeIndex = _useControlledState$.activeIndex,
|
|
3793
|
+
selectedItems = _useControlledState$.selectedItems,
|
|
3794
|
+
dispatch = _useControlledState[1]; // Refs.
|
|
3751
3795
|
|
|
3752
3796
|
|
|
3753
3797
|
var isInitialMount = react.useRef(true);
|
package/dist/downshift.esm.js
CHANGED
|
@@ -3,7 +3,7 @@ import _extends from '@babel/runtime/helpers/esm/extends';
|
|
|
3
3
|
import _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';
|
|
4
4
|
import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
-
import { cloneElement, Component,
|
|
6
|
+
import { cloneElement, Component, useState, useRef, useEffect } from 'react';
|
|
7
7
|
import { isForwardRef } from 'react-is';
|
|
8
8
|
import computeScrollIntoView from 'compute-scroll-into-view';
|
|
9
9
|
|
|
@@ -1787,21 +1787,33 @@ function isAcceptedCharacterKey(key) {
|
|
|
1787
1787
|
function capitalizeString(string) {
|
|
1788
1788
|
return "" + string.slice(0, 1).toUpperCase() + string.slice(1);
|
|
1789
1789
|
}
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1790
|
+
/**
|
|
1791
|
+
* Computes the controlled state using a the previous state, props,
|
|
1792
|
+
* two reducers, one from downshift and an optional one from the user.
|
|
1793
|
+
* Also calls the onChange handlers for state values that have changed.
|
|
1794
|
+
*
|
|
1795
|
+
* @param {Function} reducer Reducer function from downshift.
|
|
1796
|
+
* @param {Object} initialState Initial state of the hook.
|
|
1797
|
+
* @param {Object} props The hook props.
|
|
1798
|
+
* @returns {Array} An array with the state and an action dispatcher.
|
|
1799
|
+
*/
|
|
1800
|
+
|
|
1801
|
+
function useControlledState(reducer, initialState, props) {
|
|
1802
|
+
var _useState = useState(initialState),
|
|
1803
|
+
uncontrolledState = _useState[0],
|
|
1804
|
+
setState = _useState[1];
|
|
1805
|
+
|
|
1806
|
+
var state = getState(uncontrolledState, props);
|
|
1807
|
+
|
|
1808
|
+
var dispatch = function (action) {
|
|
1809
|
+
var stateReducerFromProps = action.props.stateReducer;
|
|
1794
1810
|
var changes = reducer(state, action);
|
|
1795
|
-
var newState =
|
|
1811
|
+
var newState = stateReducerFromProps(state, _extends({}, action, {
|
|
1796
1812
|
changes: changes
|
|
1797
1813
|
}));
|
|
1798
1814
|
callOnChangeProps(action, state, newState);
|
|
1799
|
-
|
|
1800
|
-
}
|
|
1801
|
-
|
|
1802
|
-
var _useReducer = useReducer(enhancedReducer, initialState),
|
|
1803
|
-
state = _useReducer[0],
|
|
1804
|
-
dispatch = _useReducer[1];
|
|
1815
|
+
setState(newState);
|
|
1816
|
+
};
|
|
1805
1817
|
|
|
1806
1818
|
return [getState(state, props), function dispatchWithProps(action) {
|
|
1807
1819
|
return dispatch(_extends({
|
|
@@ -2244,13 +2256,13 @@ function useSelect(userProps) {
|
|
|
2244
2256
|
|
|
2245
2257
|
var initialState = getInitialState(props); // Reducer init.
|
|
2246
2258
|
|
|
2247
|
-
var
|
|
2248
|
-
|
|
2249
|
-
isOpen =
|
|
2250
|
-
highlightedIndex =
|
|
2251
|
-
selectedItem =
|
|
2252
|
-
inputValue =
|
|
2253
|
-
dispatch =
|
|
2259
|
+
var _useControlledState = useControlledState(downshiftSelectReducer, initialState, props),
|
|
2260
|
+
_useControlledState$ = _useControlledState[0],
|
|
2261
|
+
isOpen = _useControlledState$.isOpen,
|
|
2262
|
+
highlightedIndex = _useControlledState$.highlightedIndex,
|
|
2263
|
+
selectedItem = _useControlledState$.selectedItem,
|
|
2264
|
+
inputValue = _useControlledState$.inputValue,
|
|
2265
|
+
dispatch = _useControlledState[1]; // Refs
|
|
2254
2266
|
|
|
2255
2267
|
|
|
2256
2268
|
var toggleButtonRef = useRef(null);
|
|
@@ -2697,6 +2709,51 @@ function useSelect(userProps) {
|
|
|
2697
2709
|
};
|
|
2698
2710
|
}
|
|
2699
2711
|
|
|
2712
|
+
var InputKeyDownArrowDown = process.env.NODE_ENV !== "production" ? '__input_keydown_arrow_down__' : 0;
|
|
2713
|
+
var InputKeyDownArrowUp = process.env.NODE_ENV !== "production" ? '__input_keydown_arrow_up__' : 1;
|
|
2714
|
+
var InputKeyDownEscape = process.env.NODE_ENV !== "production" ? '__input_keydown_escape__' : 2;
|
|
2715
|
+
var InputKeyDownHome = process.env.NODE_ENV !== "production" ? '__input_keydown_home__' : 3;
|
|
2716
|
+
var InputKeyDownEnd = process.env.NODE_ENV !== "production" ? '__input_keydown_end__' : 4;
|
|
2717
|
+
var InputKeyDownEnter = process.env.NODE_ENV !== "production" ? '__input_keydown_enter__' : 5;
|
|
2718
|
+
var InputChange = process.env.NODE_ENV !== "production" ? '__input_change__' : 6;
|
|
2719
|
+
var InputBlur = process.env.NODE_ENV !== "production" ? '__input_blur__' : 7;
|
|
2720
|
+
var MenuMouseLeave$1 = process.env.NODE_ENV !== "production" ? '__menu_mouse_leave__' : 8;
|
|
2721
|
+
var ItemMouseMove$1 = process.env.NODE_ENV !== "production" ? '__item_mouse_move__' : 9;
|
|
2722
|
+
var ItemClick$1 = process.env.NODE_ENV !== "production" ? '__item_click__' : 10;
|
|
2723
|
+
var ToggleButtonClick$1 = process.env.NODE_ENV !== "production" ? '__togglebutton_click__' : 11;
|
|
2724
|
+
var FunctionToggleMenu$1 = process.env.NODE_ENV !== "production" ? '__function_toggle_menu__' : 12;
|
|
2725
|
+
var FunctionOpenMenu$1 = process.env.NODE_ENV !== "production" ? '__function_open_menu__' : 13;
|
|
2726
|
+
var FunctionCloseMenu$1 = process.env.NODE_ENV !== "production" ? '__function_close_menu__' : 14;
|
|
2727
|
+
var FunctionSetHighlightedIndex$1 = process.env.NODE_ENV !== "production" ? '__function_set_highlighted_index__' : 15;
|
|
2728
|
+
var FunctionSelectItem$1 = process.env.NODE_ENV !== "production" ? '__function_select_item__' : 16;
|
|
2729
|
+
var FunctionSetInputValue$1 = process.env.NODE_ENV !== "production" ? '__function_set_input_value__' : 17;
|
|
2730
|
+
var FunctionReset$1 = process.env.NODE_ENV !== "production" ? '__function_reset__' : 18;
|
|
2731
|
+
var ControlledPropUpdatedSelectedItem = process.env.NODE_ENV !== "production" ? '__controlled_prop_updated_selected_item__' : 19;
|
|
2732
|
+
|
|
2733
|
+
var stateChangeTypes$2 = /*#__PURE__*/Object.freeze({
|
|
2734
|
+
__proto__: null,
|
|
2735
|
+
InputKeyDownArrowDown: InputKeyDownArrowDown,
|
|
2736
|
+
InputKeyDownArrowUp: InputKeyDownArrowUp,
|
|
2737
|
+
InputKeyDownEscape: InputKeyDownEscape,
|
|
2738
|
+
InputKeyDownHome: InputKeyDownHome,
|
|
2739
|
+
InputKeyDownEnd: InputKeyDownEnd,
|
|
2740
|
+
InputKeyDownEnter: InputKeyDownEnter,
|
|
2741
|
+
InputChange: InputChange,
|
|
2742
|
+
InputBlur: InputBlur,
|
|
2743
|
+
MenuMouseLeave: MenuMouseLeave$1,
|
|
2744
|
+
ItemMouseMove: ItemMouseMove$1,
|
|
2745
|
+
ItemClick: ItemClick$1,
|
|
2746
|
+
ToggleButtonClick: ToggleButtonClick$1,
|
|
2747
|
+
FunctionToggleMenu: FunctionToggleMenu$1,
|
|
2748
|
+
FunctionOpenMenu: FunctionOpenMenu$1,
|
|
2749
|
+
FunctionCloseMenu: FunctionCloseMenu$1,
|
|
2750
|
+
FunctionSetHighlightedIndex: FunctionSetHighlightedIndex$1,
|
|
2751
|
+
FunctionSelectItem: FunctionSelectItem$1,
|
|
2752
|
+
FunctionSetInputValue: FunctionSetInputValue$1,
|
|
2753
|
+
FunctionReset: FunctionReset$1,
|
|
2754
|
+
ControlledPropUpdatedSelectedItem: ControlledPropUpdatedSelectedItem
|
|
2755
|
+
});
|
|
2756
|
+
|
|
2700
2757
|
function getElementIds$1(_ref) {
|
|
2701
2758
|
var id = _ref.id,
|
|
2702
2759
|
inputId = _ref.inputId,
|
|
@@ -2709,7 +2766,6 @@ function getElementIds$1(_ref) {
|
|
|
2709
2766
|
id: id
|
|
2710
2767
|
}, rest)));
|
|
2711
2768
|
}
|
|
2712
|
-
|
|
2713
2769
|
function getInitialState$1(props) {
|
|
2714
2770
|
var initialState = getInitialState(props);
|
|
2715
2771
|
var selectedItem = initialState.selectedItem;
|
|
@@ -2723,7 +2779,6 @@ function getInitialState$1(props) {
|
|
|
2723
2779
|
inputValue: inputValue
|
|
2724
2780
|
});
|
|
2725
2781
|
}
|
|
2726
|
-
|
|
2727
2782
|
var propTypes$1 = {
|
|
2728
2783
|
items: PropTypes.array.isRequired,
|
|
2729
2784
|
itemToString: PropTypes.func,
|
|
@@ -2764,55 +2819,43 @@ var propTypes$1 = {
|
|
|
2764
2819
|
})
|
|
2765
2820
|
})
|
|
2766
2821
|
};
|
|
2822
|
+
/**
|
|
2823
|
+
* The useCombobox version of useControlledState, which also
|
|
2824
|
+
* checks if the controlled prop selectedItem changed between
|
|
2825
|
+
* renders. If so, it will also update inputValue with its
|
|
2826
|
+
* string equivalent. It uses the common useControlledState to
|
|
2827
|
+
* compute the rest of the state.
|
|
2828
|
+
*
|
|
2829
|
+
* @param {Function} reducer Reducer function from downshift.
|
|
2830
|
+
* @param {Object} initialState Initial state of the hook.
|
|
2831
|
+
* @param {Object} props The hook props.
|
|
2832
|
+
* @returns {Array} An array with the state and an action dispatcher.
|
|
2833
|
+
*/
|
|
2834
|
+
|
|
2835
|
+
function useControlledState$1(reducer, initialState, props) {
|
|
2836
|
+
var _useControlledStateCo = useControlledState(reducer, initialState, props),
|
|
2837
|
+
newState = _useControlledStateCo[0],
|
|
2838
|
+
dispatch = _useControlledStateCo[1];
|
|
2767
2839
|
|
|
2840
|
+
var previousSelectedItemRef = useRef(null);
|
|
2841
|
+
var selectedItem = props.selectedItem,
|
|
2842
|
+
itemToString = props.itemToString; // ToDo: if needed, make same approach as selectedItemChanged from Downshift.
|
|
2843
|
+
|
|
2844
|
+
if (isControlledProp(props, 'selectedItem') && previousSelectedItemRef.current !== selectedItem) {
|
|
2845
|
+
dispatch({
|
|
2846
|
+
type: ControlledPropUpdatedSelectedItem,
|
|
2847
|
+
inputValue: itemToString(selectedItem)
|
|
2848
|
+
});
|
|
2849
|
+
}
|
|
2850
|
+
|
|
2851
|
+
previousSelectedItemRef.current = selectedItem;
|
|
2852
|
+
return [newState, dispatch];
|
|
2853
|
+
}
|
|
2768
2854
|
var defaultProps$2 = _extends({}, defaultProps, {
|
|
2769
2855
|
getA11yStatusMessage: getA11yStatusMessage,
|
|
2770
2856
|
circularNavigation: true
|
|
2771
2857
|
});
|
|
2772
2858
|
|
|
2773
|
-
var InputKeyDownArrowDown = process.env.NODE_ENV !== "production" ? '__input_keydown_arrow_down__' : 0;
|
|
2774
|
-
var InputKeyDownArrowUp = process.env.NODE_ENV !== "production" ? '__input_keydown_arrow_up__' : 1;
|
|
2775
|
-
var InputKeyDownEscape = process.env.NODE_ENV !== "production" ? '__input_keydown_escape__' : 2;
|
|
2776
|
-
var InputKeyDownHome = process.env.NODE_ENV !== "production" ? '__input_keydown_home__' : 3;
|
|
2777
|
-
var InputKeyDownEnd = process.env.NODE_ENV !== "production" ? '__input_keydown_end__' : 4;
|
|
2778
|
-
var InputKeyDownEnter = process.env.NODE_ENV !== "production" ? '__input_keydown_enter__' : 5;
|
|
2779
|
-
var InputChange = process.env.NODE_ENV !== "production" ? '__input_change__' : 6;
|
|
2780
|
-
var InputBlur = process.env.NODE_ENV !== "production" ? '__input_blur__' : 7;
|
|
2781
|
-
var MenuMouseLeave$1 = process.env.NODE_ENV !== "production" ? '__menu_mouse_leave__' : 8;
|
|
2782
|
-
var ItemMouseMove$1 = process.env.NODE_ENV !== "production" ? '__item_mouse_move__' : 9;
|
|
2783
|
-
var ItemClick$1 = process.env.NODE_ENV !== "production" ? '__item_click__' : 10;
|
|
2784
|
-
var ToggleButtonClick$1 = process.env.NODE_ENV !== "production" ? '__togglebutton_click__' : 11;
|
|
2785
|
-
var FunctionToggleMenu$1 = process.env.NODE_ENV !== "production" ? '__function_toggle_menu__' : 12;
|
|
2786
|
-
var FunctionOpenMenu$1 = process.env.NODE_ENV !== "production" ? '__function_open_menu__' : 13;
|
|
2787
|
-
var FunctionCloseMenu$1 = process.env.NODE_ENV !== "production" ? '__function_close_menu__' : 14;
|
|
2788
|
-
var FunctionSetHighlightedIndex$1 = process.env.NODE_ENV !== "production" ? '__function_set_highlighted_index__' : 15;
|
|
2789
|
-
var FunctionSelectItem$1 = process.env.NODE_ENV !== "production" ? '__function_select_item__' : 16;
|
|
2790
|
-
var FunctionSetInputValue$1 = process.env.NODE_ENV !== "production" ? '__function_set_input_value__' : 17;
|
|
2791
|
-
var FunctionReset$1 = process.env.NODE_ENV !== "production" ? '__function_reset__' : 18;
|
|
2792
|
-
|
|
2793
|
-
var stateChangeTypes$2 = /*#__PURE__*/Object.freeze({
|
|
2794
|
-
__proto__: null,
|
|
2795
|
-
InputKeyDownArrowDown: InputKeyDownArrowDown,
|
|
2796
|
-
InputKeyDownArrowUp: InputKeyDownArrowUp,
|
|
2797
|
-
InputKeyDownEscape: InputKeyDownEscape,
|
|
2798
|
-
InputKeyDownHome: InputKeyDownHome,
|
|
2799
|
-
InputKeyDownEnd: InputKeyDownEnd,
|
|
2800
|
-
InputKeyDownEnter: InputKeyDownEnter,
|
|
2801
|
-
InputChange: InputChange,
|
|
2802
|
-
InputBlur: InputBlur,
|
|
2803
|
-
MenuMouseLeave: MenuMouseLeave$1,
|
|
2804
|
-
ItemMouseMove: ItemMouseMove$1,
|
|
2805
|
-
ItemClick: ItemClick$1,
|
|
2806
|
-
ToggleButtonClick: ToggleButtonClick$1,
|
|
2807
|
-
FunctionToggleMenu: FunctionToggleMenu$1,
|
|
2808
|
-
FunctionOpenMenu: FunctionOpenMenu$1,
|
|
2809
|
-
FunctionCloseMenu: FunctionCloseMenu$1,
|
|
2810
|
-
FunctionSetHighlightedIndex: FunctionSetHighlightedIndex$1,
|
|
2811
|
-
FunctionSelectItem: FunctionSelectItem$1,
|
|
2812
|
-
FunctionSetInputValue: FunctionSetInputValue$1,
|
|
2813
|
-
FunctionReset: FunctionReset$1
|
|
2814
|
-
});
|
|
2815
|
-
|
|
2816
2859
|
/* eslint-disable complexity */
|
|
2817
2860
|
|
|
2818
2861
|
function downshiftUseComboboxReducer(state, action) {
|
|
@@ -2952,6 +2995,7 @@ function downshiftUseComboboxReducer(state, action) {
|
|
|
2952
2995
|
};
|
|
2953
2996
|
break;
|
|
2954
2997
|
|
|
2998
|
+
case ControlledPropUpdatedSelectedItem:
|
|
2955
2999
|
case FunctionSetInputValue$1:
|
|
2956
3000
|
changes = {
|
|
2957
3001
|
inputValue: action.inputValue
|
|
@@ -3004,13 +3048,13 @@ function useCombobox(userProps) {
|
|
|
3004
3048
|
|
|
3005
3049
|
var initialState = getInitialState$1(props); // Reducer init.
|
|
3006
3050
|
|
|
3007
|
-
var
|
|
3008
|
-
|
|
3009
|
-
isOpen =
|
|
3010
|
-
highlightedIndex =
|
|
3011
|
-
selectedItem =
|
|
3012
|
-
inputValue =
|
|
3013
|
-
dispatch =
|
|
3051
|
+
var _useControlledState = useControlledState$1(downshiftUseComboboxReducer, initialState, props),
|
|
3052
|
+
_useControlledState$ = _useControlledState[0],
|
|
3053
|
+
isOpen = _useControlledState$.isOpen,
|
|
3054
|
+
highlightedIndex = _useControlledState$.highlightedIndex,
|
|
3055
|
+
selectedItem = _useControlledState$.selectedItem,
|
|
3056
|
+
inputValue = _useControlledState$.inputValue,
|
|
3057
|
+
dispatch = _useControlledState[1];
|
|
3014
3058
|
/* Refs */
|
|
3015
3059
|
|
|
3016
3060
|
|
|
@@ -3737,11 +3781,11 @@ function useMultipleSelection(userProps) {
|
|
|
3737
3781
|
keyNavigationNext = props.keyNavigationNext,
|
|
3738
3782
|
keyNavigationPrevious = props.keyNavigationPrevious; // Reducer init.
|
|
3739
3783
|
|
|
3740
|
-
var
|
|
3741
|
-
|
|
3742
|
-
activeIndex =
|
|
3743
|
-
selectedItems =
|
|
3744
|
-
dispatch =
|
|
3784
|
+
var _useControlledState = useControlledState(downshiftMultipleSelectionReducer, getInitialState$2(props), props),
|
|
3785
|
+
_useControlledState$ = _useControlledState[0],
|
|
3786
|
+
activeIndex = _useControlledState$.activeIndex,
|
|
3787
|
+
selectedItems = _useControlledState$.selectedItems,
|
|
3788
|
+
dispatch = _useControlledState[1]; // Refs.
|
|
3745
3789
|
|
|
3746
3790
|
|
|
3747
3791
|
var isInitialMount = useRef(true);
|