downshift 7.3.4 → 7.4.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 +17 -11
- package/dist/downshift.esm.js +17 -11
- package/dist/downshift.native.cjs.js +17 -11
- package/dist/downshift.umd.js +17 -11
- 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 +1 -1
- package/preact/dist/downshift.cjs.js +17 -11
- package/preact/dist/downshift.esm.js +17 -11
- package/preact/dist/downshift.umd.js +17 -11
- package/preact/dist/downshift.umd.js.map +1 -1
- package/preact/dist/downshift.umd.min.js +2 -2
- package/preact/dist/downshift.umd.min.js.map +1 -1
- package/typings/index.d.ts +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "downshift",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.4.1",
|
|
4
4
|
"description": "🏎 A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components.",
|
|
5
5
|
"main": "dist/downshift.cjs.js",
|
|
6
6
|
"react-native": "dist/downshift.native.cjs.js",
|
|
@@ -2711,6 +2711,7 @@ function getInitialState$1(props) {
|
|
|
2711
2711
|
var propTypes$1 = {
|
|
2712
2712
|
items: PropTypes__default["default"].array.isRequired,
|
|
2713
2713
|
itemToString: PropTypes__default["default"].func,
|
|
2714
|
+
selectedItemChanged: PropTypes__default["default"].func,
|
|
2714
2715
|
getA11yStatusMessage: PropTypes__default["default"].func,
|
|
2715
2716
|
getA11ySelectionMessage: PropTypes__default["default"].func,
|
|
2716
2717
|
highlightedIndex: PropTypes__default["default"].number,
|
|
@@ -2768,16 +2769,18 @@ function useControlledReducer(reducer, initialState, props) {
|
|
|
2768
2769
|
|
|
2769
2770
|
// ToDo: if needed, make same approach as selectedItemChanged from Downshift.
|
|
2770
2771
|
preact.useEffect(function () {
|
|
2771
|
-
if (isControlledProp(props, 'selectedItem')) {
|
|
2772
|
-
|
|
2773
|
-
dispatch({
|
|
2774
|
-
type: ControlledPropUpdatedSelectedItem,
|
|
2775
|
-
inputValue: props.itemToString(props.selectedItem)
|
|
2776
|
-
});
|
|
2777
|
-
}
|
|
2778
|
-
previousSelectedItemRef.current = state.selectedItem === previousSelectedItemRef.current ? props.selectedItem : state.selectedItem;
|
|
2772
|
+
if (!isControlledProp(props, 'selectedItem')) {
|
|
2773
|
+
return;
|
|
2779
2774
|
}
|
|
2780
|
-
|
|
2775
|
+
if (props.selectedItemChanged(previousSelectedItemRef.current, props.selectedItem)) {
|
|
2776
|
+
dispatch({
|
|
2777
|
+
type: ControlledPropUpdatedSelectedItem,
|
|
2778
|
+
inputValue: props.itemToString(props.selectedItem)
|
|
2779
|
+
});
|
|
2780
|
+
}
|
|
2781
|
+
previousSelectedItemRef.current = state.selectedItem === previousSelectedItemRef.current ? props.selectedItem : state.selectedItem;
|
|
2782
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2783
|
+
}, [state.selectedItem, props.selectedItem]);
|
|
2781
2784
|
return [getState(state, props), dispatch];
|
|
2782
2785
|
}
|
|
2783
2786
|
|
|
@@ -2790,6 +2793,9 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
2790
2793
|
};
|
|
2791
2794
|
}
|
|
2792
2795
|
var defaultProps$1 = _extends__default["default"]({}, defaultProps$3, {
|
|
2796
|
+
selectedItemChanged: function selectedItemChanged(prevItem, item) {
|
|
2797
|
+
return prevItem !== item;
|
|
2798
|
+
},
|
|
2793
2799
|
getA11yStatusMessage: getA11yStatusMessage$1
|
|
2794
2800
|
});
|
|
2795
2801
|
|
|
@@ -3239,12 +3245,12 @@ function useCombobox(userProps) {
|
|
|
3239
3245
|
inputValue: event.target.value
|
|
3240
3246
|
});
|
|
3241
3247
|
};
|
|
3242
|
-
var inputHandleBlur = function inputHandleBlur() {
|
|
3248
|
+
var inputHandleBlur = function inputHandleBlur(event) {
|
|
3243
3249
|
/* istanbul ignore else */
|
|
3244
3250
|
if (latestState.isOpen && !mouseAndTouchTrackersRef.current.isMouseDown) {
|
|
3245
3251
|
dispatch({
|
|
3246
3252
|
type: InputBlur,
|
|
3247
|
-
selectItem:
|
|
3253
|
+
selectItem: event.relatedTarget !== null
|
|
3248
3254
|
});
|
|
3249
3255
|
}
|
|
3250
3256
|
};
|
|
@@ -2698,6 +2698,7 @@ function getInitialState$1(props) {
|
|
|
2698
2698
|
var propTypes$1 = {
|
|
2699
2699
|
items: PropTypes.array.isRequired,
|
|
2700
2700
|
itemToString: PropTypes.func,
|
|
2701
|
+
selectedItemChanged: PropTypes.func,
|
|
2701
2702
|
getA11yStatusMessage: PropTypes.func,
|
|
2702
2703
|
getA11ySelectionMessage: PropTypes.func,
|
|
2703
2704
|
highlightedIndex: PropTypes.number,
|
|
@@ -2755,16 +2756,18 @@ function useControlledReducer(reducer, initialState, props) {
|
|
|
2755
2756
|
|
|
2756
2757
|
// ToDo: if needed, make same approach as selectedItemChanged from Downshift.
|
|
2757
2758
|
useEffect(function () {
|
|
2758
|
-
if (isControlledProp(props, 'selectedItem')) {
|
|
2759
|
-
|
|
2760
|
-
dispatch({
|
|
2761
|
-
type: ControlledPropUpdatedSelectedItem,
|
|
2762
|
-
inputValue: props.itemToString(props.selectedItem)
|
|
2763
|
-
});
|
|
2764
|
-
}
|
|
2765
|
-
previousSelectedItemRef.current = state.selectedItem === previousSelectedItemRef.current ? props.selectedItem : state.selectedItem;
|
|
2759
|
+
if (!isControlledProp(props, 'selectedItem')) {
|
|
2760
|
+
return;
|
|
2766
2761
|
}
|
|
2767
|
-
|
|
2762
|
+
if (props.selectedItemChanged(previousSelectedItemRef.current, props.selectedItem)) {
|
|
2763
|
+
dispatch({
|
|
2764
|
+
type: ControlledPropUpdatedSelectedItem,
|
|
2765
|
+
inputValue: props.itemToString(props.selectedItem)
|
|
2766
|
+
});
|
|
2767
|
+
}
|
|
2768
|
+
previousSelectedItemRef.current = state.selectedItem === previousSelectedItemRef.current ? props.selectedItem : state.selectedItem;
|
|
2769
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2770
|
+
}, [state.selectedItem, props.selectedItem]);
|
|
2768
2771
|
return [getState(state, props), dispatch];
|
|
2769
2772
|
}
|
|
2770
2773
|
|
|
@@ -2777,6 +2780,9 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
2777
2780
|
};
|
|
2778
2781
|
}
|
|
2779
2782
|
var defaultProps$1 = _extends({}, defaultProps$3, {
|
|
2783
|
+
selectedItemChanged: function selectedItemChanged(prevItem, item) {
|
|
2784
|
+
return prevItem !== item;
|
|
2785
|
+
},
|
|
2780
2786
|
getA11yStatusMessage: getA11yStatusMessage$1
|
|
2781
2787
|
});
|
|
2782
2788
|
|
|
@@ -3226,12 +3232,12 @@ function useCombobox(userProps) {
|
|
|
3226
3232
|
inputValue: event.target.value
|
|
3227
3233
|
});
|
|
3228
3234
|
};
|
|
3229
|
-
var inputHandleBlur = function inputHandleBlur() {
|
|
3235
|
+
var inputHandleBlur = function inputHandleBlur(event) {
|
|
3230
3236
|
/* istanbul ignore else */
|
|
3231
3237
|
if (latestState.isOpen && !mouseAndTouchTrackersRef.current.isMouseDown) {
|
|
3232
3238
|
dispatch({
|
|
3233
3239
|
type: InputBlur,
|
|
3234
|
-
selectItem:
|
|
3240
|
+
selectItem: event.relatedTarget !== null
|
|
3235
3241
|
});
|
|
3236
3242
|
}
|
|
3237
3243
|
};
|
|
@@ -3007,6 +3007,7 @@
|
|
|
3007
3007
|
var propTypes$1 = {
|
|
3008
3008
|
items: PropTypes__default["default"].array.isRequired,
|
|
3009
3009
|
itemToString: PropTypes__default["default"].func,
|
|
3010
|
+
selectedItemChanged: PropTypes__default["default"].func,
|
|
3010
3011
|
getA11yStatusMessage: PropTypes__default["default"].func,
|
|
3011
3012
|
getA11ySelectionMessage: PropTypes__default["default"].func,
|
|
3012
3013
|
highlightedIndex: PropTypes__default["default"].number,
|
|
@@ -3064,16 +3065,18 @@
|
|
|
3064
3065
|
|
|
3065
3066
|
// ToDo: if needed, make same approach as selectedItemChanged from Downshift.
|
|
3066
3067
|
preact.useEffect(function () {
|
|
3067
|
-
if (isControlledProp(props, 'selectedItem')) {
|
|
3068
|
-
|
|
3069
|
-
dispatch({
|
|
3070
|
-
type: ControlledPropUpdatedSelectedItem,
|
|
3071
|
-
inputValue: props.itemToString(props.selectedItem)
|
|
3072
|
-
});
|
|
3073
|
-
}
|
|
3074
|
-
previousSelectedItemRef.current = state.selectedItem === previousSelectedItemRef.current ? props.selectedItem : state.selectedItem;
|
|
3068
|
+
if (!isControlledProp(props, 'selectedItem')) {
|
|
3069
|
+
return;
|
|
3075
3070
|
}
|
|
3076
|
-
|
|
3071
|
+
if (props.selectedItemChanged(previousSelectedItemRef.current, props.selectedItem)) {
|
|
3072
|
+
dispatch({
|
|
3073
|
+
type: ControlledPropUpdatedSelectedItem,
|
|
3074
|
+
inputValue: props.itemToString(props.selectedItem)
|
|
3075
|
+
});
|
|
3076
|
+
}
|
|
3077
|
+
previousSelectedItemRef.current = state.selectedItem === previousSelectedItemRef.current ? props.selectedItem : state.selectedItem;
|
|
3078
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3079
|
+
}, [state.selectedItem, props.selectedItem]);
|
|
3077
3080
|
return [getState(state, props), dispatch];
|
|
3078
3081
|
}
|
|
3079
3082
|
|
|
@@ -3086,6 +3089,9 @@
|
|
|
3086
3089
|
};
|
|
3087
3090
|
}
|
|
3088
3091
|
var defaultProps$1 = _extends({}, defaultProps$3, {
|
|
3092
|
+
selectedItemChanged: function selectedItemChanged(prevItem, item) {
|
|
3093
|
+
return prevItem !== item;
|
|
3094
|
+
},
|
|
3089
3095
|
getA11yStatusMessage: getA11yStatusMessage$1
|
|
3090
3096
|
});
|
|
3091
3097
|
|
|
@@ -3535,12 +3541,12 @@
|
|
|
3535
3541
|
inputValue: event.target.value
|
|
3536
3542
|
});
|
|
3537
3543
|
};
|
|
3538
|
-
var inputHandleBlur = function inputHandleBlur() {
|
|
3544
|
+
var inputHandleBlur = function inputHandleBlur(event) {
|
|
3539
3545
|
/* istanbul ignore else */
|
|
3540
3546
|
if (latestState.isOpen && !mouseAndTouchTrackersRef.current.isMouseDown) {
|
|
3541
3547
|
dispatch({
|
|
3542
3548
|
type: InputBlur,
|
|
3543
|
-
selectItem:
|
|
3549
|
+
selectItem: event.relatedTarget !== null
|
|
3544
3550
|
});
|
|
3545
3551
|
}
|
|
3546
3552
|
};
|