downshift 7.3.2 → 7.3.3
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 +30 -31
- package/dist/downshift.esm.js +30 -31
- package/dist/downshift.native.cjs.js +30 -31
- package/dist/downshift.umd.js +30 -31
- 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/src/hooks/utils.d.ts +1 -1
- package/package.json +1 -1
- package/preact/dist/downshift.cjs.js +30 -31
- package/preact/dist/downshift.esm.js +30 -31
- package/preact/dist/downshift.umd.js +30 -31
- 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
|
@@ -75,7 +75,7 @@ export function useEnhancedReducer(reducer: Function, initialState: Object, prop
|
|
|
75
75
|
export function useLatestRef(val: any): import("react").MutableRefObject<any>;
|
|
76
76
|
export function capitalizeString(string: any): string;
|
|
77
77
|
export function isAcceptedCharacterKey(key: any): boolean;
|
|
78
|
-
export function
|
|
78
|
+
export function getItemAndIndex(itemProp: any, indexProp: any, items: any, errorMessage: any): any[];
|
|
79
79
|
export function useElementIds({ id, labelId, menuId, getItemId, toggleButtonId, inputId, }: {
|
|
80
80
|
id?: string | undefined;
|
|
81
81
|
labelId: any;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "downshift",
|
|
3
|
-
"version": "7.3.
|
|
3
|
+
"version": "7.3.3",
|
|
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",
|
|
@@ -1566,14 +1566,19 @@ function useElementIds(_ref) {
|
|
|
1566
1566
|
});
|
|
1567
1567
|
return elementIdsRef.current;
|
|
1568
1568
|
}
|
|
1569
|
-
function
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1569
|
+
function getItemAndIndex(itemProp, indexProp, items, errorMessage) {
|
|
1570
|
+
var item, index;
|
|
1571
|
+
if (itemProp === undefined) {
|
|
1572
|
+
if (indexProp === undefined) {
|
|
1573
|
+
throw new Error(errorMessage);
|
|
1574
|
+
}
|
|
1575
|
+
item = items[indexProp];
|
|
1576
|
+
index = indexProp;
|
|
1577
|
+
} else {
|
|
1578
|
+
index = indexProp === undefined ? items.indexOf(itemProp) : indexProp;
|
|
1579
|
+
item = itemProp;
|
|
1575
1580
|
}
|
|
1576
|
-
return
|
|
1581
|
+
return [item, index];
|
|
1577
1582
|
}
|
|
1578
1583
|
function itemToString(item) {
|
|
1579
1584
|
return item ? String(item) : '';
|
|
@@ -2563,8 +2568,9 @@ function useSelect(userProps) {
|
|
|
2563
2568
|
var _latest$current = latest.current,
|
|
2564
2569
|
latestState = _latest$current.state,
|
|
2565
2570
|
latestProps = _latest$current.props;
|
|
2566
|
-
var
|
|
2567
|
-
|
|
2571
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
2572
|
+
item = _getItemAndIndex[0],
|
|
2573
|
+
index = _getItemAndIndex[1];
|
|
2568
2574
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
2569
2575
|
if (index === latestState.highlightedIndex) {
|
|
2570
2576
|
return;
|
|
@@ -2582,18 +2588,14 @@ function useSelect(userProps) {
|
|
|
2582
2588
|
index: index
|
|
2583
2589
|
});
|
|
2584
2590
|
};
|
|
2585
|
-
var itemIndex = getItemIndex(index, item, latestProps.items);
|
|
2586
|
-
if (itemIndex < 0) {
|
|
2587
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
2588
|
-
}
|
|
2589
2591
|
var itemProps = _extends__default["default"]((_extends4 = {
|
|
2590
2592
|
disabled: disabled,
|
|
2591
2593
|
role: 'option',
|
|
2592
2594
|
'aria-selected': "" + (item === selectedItem),
|
|
2593
|
-
id: elementIds.getItemId(
|
|
2595
|
+
id: elementIds.getItemId(index)
|
|
2594
2596
|
}, _extends4[refKey] = handleRefs(ref, function (itemNode) {
|
|
2595
2597
|
if (itemNode) {
|
|
2596
|
-
itemRefs.current[elementIds.getItemId(
|
|
2598
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
2597
2599
|
}
|
|
2598
2600
|
}), _extends4), rest);
|
|
2599
2601
|
if (!disabled) {
|
|
@@ -2604,7 +2606,7 @@ function useSelect(userProps) {
|
|
|
2604
2606
|
}
|
|
2605
2607
|
itemProps.onMouseMove = callAllEventHandlers(onMouseMove, itemHandleMouseMove);
|
|
2606
2608
|
return itemProps;
|
|
2607
|
-
}, [latest,
|
|
2609
|
+
}, [latest, selectedItem, elementIds, shouldScrollRef, dispatch]);
|
|
2608
2610
|
return {
|
|
2609
2611
|
// prop getters.
|
|
2610
2612
|
getToggleButtonProps: getToggleButtonProps,
|
|
@@ -3133,8 +3135,8 @@ function useCombobox(userProps) {
|
|
|
3133
3135
|
var getItemProps = preact.useCallback(function (_temp3) {
|
|
3134
3136
|
var _extends3, _ref4;
|
|
3135
3137
|
var _ref3 = _temp3 === void 0 ? {} : _temp3,
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
+
itemProp = _ref3.item,
|
|
3139
|
+
indexProp = _ref3.index,
|
|
3138
3140
|
_ref3$refKey = _ref3.refKey,
|
|
3139
3141
|
refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,
|
|
3140
3142
|
ref = _ref3.ref,
|
|
@@ -3147,10 +3149,8 @@ function useCombobox(userProps) {
|
|
|
3147
3149
|
var _latest$current = latest.current,
|
|
3148
3150
|
latestProps = _latest$current.props,
|
|
3149
3151
|
latestState = _latest$current.state;
|
|
3150
|
-
var
|
|
3151
|
-
|
|
3152
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
3153
|
-
}
|
|
3152
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
3153
|
+
index = _getItemAndIndex[1];
|
|
3154
3154
|
var onSelectKey = 'onClick';
|
|
3155
3155
|
var customClickHandler = onClick;
|
|
3156
3156
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
@@ -3175,9 +3175,9 @@ function useCombobox(userProps) {
|
|
|
3175
3175
|
};
|
|
3176
3176
|
return _extends__default["default"]((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (itemNode) {
|
|
3177
3177
|
if (itemNode) {
|
|
3178
|
-
itemRefs.current[elementIds.getItemId(
|
|
3178
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
3179
3179
|
}
|
|
3180
|
-
}), _extends3.disabled = disabled, _extends3.role = 'option', _extends3['aria-selected'] = "" + (
|
|
3180
|
+
}), _extends3.disabled = disabled, _extends3.role = 'option', _extends3['aria-selected'] = "" + (index === latestState.highlightedIndex), _extends3.id = elementIds.getItemId(index), _extends3), !disabled && (_ref4 = {}, _ref4[onSelectKey] = callAllEventHandlers(customClickHandler, itemHandleClick), _ref4), {
|
|
3181
3181
|
onMouseMove: callAllEventHandlers(onMouseMove, itemHandleMouseMove),
|
|
3182
3182
|
onMouseDown: callAllEventHandlers(onMouseDown, itemHandleMouseDown)
|
|
3183
3183
|
}, rest);
|
|
@@ -3717,14 +3717,13 @@ function useMultipleSelection(userProps) {
|
|
|
3717
3717
|
ref = _ref3.ref,
|
|
3718
3718
|
onClick = _ref3.onClick,
|
|
3719
3719
|
onKeyDown = _ref3.onKeyDown,
|
|
3720
|
-
|
|
3721
|
-
|
|
3720
|
+
selectedItemProp = _ref3.selectedItem,
|
|
3721
|
+
indexProp = _ref3.index,
|
|
3722
3722
|
rest = _objectWithoutPropertiesLoose__default["default"](_ref3, _excluded);
|
|
3723
3723
|
var latestState = latest.current.state;
|
|
3724
|
-
var
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
}
|
|
3724
|
+
var _getItemAndIndex = getItemAndIndex(selectedItemProp, indexProp, latestState.selectedItems, 'Pass either item or index to getSelectedItemProps!'),
|
|
3725
|
+
index = _getItemAndIndex[1];
|
|
3726
|
+
var isFocusable = index > -1 && index === latestState.activeIndex;
|
|
3728
3727
|
var selectedItemHandleClick = function selectedItemHandleClick() {
|
|
3729
3728
|
dispatch({
|
|
3730
3729
|
type: SelectedItemClick,
|
|
@@ -3741,7 +3740,7 @@ function useMultipleSelection(userProps) {
|
|
|
3741
3740
|
if (selectedItemNode) {
|
|
3742
3741
|
selectedItemRefs.current.push(selectedItemNode);
|
|
3743
3742
|
}
|
|
3744
|
-
}), _extends2.tabIndex =
|
|
3743
|
+
}), _extends2.tabIndex = isFocusable ? 0 : -1, _extends2.onClick = callAllEventHandlers(onClick, selectedItemHandleClick), _extends2.onKeyDown = callAllEventHandlers(onKeyDown, selectedItemHandleKeyDown), _extends2), rest);
|
|
3745
3744
|
}, [dispatch, latest, selectedItemKeyDownHandlers]);
|
|
3746
3745
|
var getDropdownProps = preact.useCallback(function (_temp2, _temp3) {
|
|
3747
3746
|
var _extends3;
|
|
@@ -1553,14 +1553,19 @@ function useElementIds(_ref) {
|
|
|
1553
1553
|
});
|
|
1554
1554
|
return elementIdsRef.current;
|
|
1555
1555
|
}
|
|
1556
|
-
function
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1556
|
+
function getItemAndIndex(itemProp, indexProp, items, errorMessage) {
|
|
1557
|
+
var item, index;
|
|
1558
|
+
if (itemProp === undefined) {
|
|
1559
|
+
if (indexProp === undefined) {
|
|
1560
|
+
throw new Error(errorMessage);
|
|
1561
|
+
}
|
|
1562
|
+
item = items[indexProp];
|
|
1563
|
+
index = indexProp;
|
|
1564
|
+
} else {
|
|
1565
|
+
index = indexProp === undefined ? items.indexOf(itemProp) : indexProp;
|
|
1566
|
+
item = itemProp;
|
|
1562
1567
|
}
|
|
1563
|
-
return
|
|
1568
|
+
return [item, index];
|
|
1564
1569
|
}
|
|
1565
1570
|
function itemToString(item) {
|
|
1566
1571
|
return item ? String(item) : '';
|
|
@@ -2550,8 +2555,9 @@ function useSelect(userProps) {
|
|
|
2550
2555
|
var _latest$current = latest.current,
|
|
2551
2556
|
latestState = _latest$current.state,
|
|
2552
2557
|
latestProps = _latest$current.props;
|
|
2553
|
-
var
|
|
2554
|
-
|
|
2558
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
2559
|
+
item = _getItemAndIndex[0],
|
|
2560
|
+
index = _getItemAndIndex[1];
|
|
2555
2561
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
2556
2562
|
if (index === latestState.highlightedIndex) {
|
|
2557
2563
|
return;
|
|
@@ -2569,18 +2575,14 @@ function useSelect(userProps) {
|
|
|
2569
2575
|
index: index
|
|
2570
2576
|
});
|
|
2571
2577
|
};
|
|
2572
|
-
var itemIndex = getItemIndex(index, item, latestProps.items);
|
|
2573
|
-
if (itemIndex < 0) {
|
|
2574
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
2575
|
-
}
|
|
2576
2578
|
var itemProps = _extends((_extends4 = {
|
|
2577
2579
|
disabled: disabled,
|
|
2578
2580
|
role: 'option',
|
|
2579
2581
|
'aria-selected': "" + (item === selectedItem),
|
|
2580
|
-
id: elementIds.getItemId(
|
|
2582
|
+
id: elementIds.getItemId(index)
|
|
2581
2583
|
}, _extends4[refKey] = handleRefs(ref, function (itemNode) {
|
|
2582
2584
|
if (itemNode) {
|
|
2583
|
-
itemRefs.current[elementIds.getItemId(
|
|
2585
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
2584
2586
|
}
|
|
2585
2587
|
}), _extends4), rest);
|
|
2586
2588
|
if (!disabled) {
|
|
@@ -2591,7 +2593,7 @@ function useSelect(userProps) {
|
|
|
2591
2593
|
}
|
|
2592
2594
|
itemProps.onMouseMove = callAllEventHandlers(onMouseMove, itemHandleMouseMove);
|
|
2593
2595
|
return itemProps;
|
|
2594
|
-
}, [latest,
|
|
2596
|
+
}, [latest, selectedItem, elementIds, shouldScrollRef, dispatch]);
|
|
2595
2597
|
return {
|
|
2596
2598
|
// prop getters.
|
|
2597
2599
|
getToggleButtonProps: getToggleButtonProps,
|
|
@@ -3120,8 +3122,8 @@ function useCombobox(userProps) {
|
|
|
3120
3122
|
var getItemProps = useCallback(function (_temp3) {
|
|
3121
3123
|
var _extends3, _ref4;
|
|
3122
3124
|
var _ref3 = _temp3 === void 0 ? {} : _temp3,
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
+
itemProp = _ref3.item,
|
|
3126
|
+
indexProp = _ref3.index,
|
|
3125
3127
|
_ref3$refKey = _ref3.refKey,
|
|
3126
3128
|
refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,
|
|
3127
3129
|
ref = _ref3.ref,
|
|
@@ -3134,10 +3136,8 @@ function useCombobox(userProps) {
|
|
|
3134
3136
|
var _latest$current = latest.current,
|
|
3135
3137
|
latestProps = _latest$current.props,
|
|
3136
3138
|
latestState = _latest$current.state;
|
|
3137
|
-
var
|
|
3138
|
-
|
|
3139
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
3140
|
-
}
|
|
3139
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
3140
|
+
index = _getItemAndIndex[1];
|
|
3141
3141
|
var onSelectKey = 'onClick';
|
|
3142
3142
|
var customClickHandler = onClick;
|
|
3143
3143
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
@@ -3162,9 +3162,9 @@ function useCombobox(userProps) {
|
|
|
3162
3162
|
};
|
|
3163
3163
|
return _extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (itemNode) {
|
|
3164
3164
|
if (itemNode) {
|
|
3165
|
-
itemRefs.current[elementIds.getItemId(
|
|
3165
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
3166
3166
|
}
|
|
3167
|
-
}), _extends3.disabled = disabled, _extends3.role = 'option', _extends3['aria-selected'] = "" + (
|
|
3167
|
+
}), _extends3.disabled = disabled, _extends3.role = 'option', _extends3['aria-selected'] = "" + (index === latestState.highlightedIndex), _extends3.id = elementIds.getItemId(index), _extends3), !disabled && (_ref4 = {}, _ref4[onSelectKey] = callAllEventHandlers(customClickHandler, itemHandleClick), _ref4), {
|
|
3168
3168
|
onMouseMove: callAllEventHandlers(onMouseMove, itemHandleMouseMove),
|
|
3169
3169
|
onMouseDown: callAllEventHandlers(onMouseDown, itemHandleMouseDown)
|
|
3170
3170
|
}, rest);
|
|
@@ -3704,14 +3704,13 @@ function useMultipleSelection(userProps) {
|
|
|
3704
3704
|
ref = _ref3.ref,
|
|
3705
3705
|
onClick = _ref3.onClick,
|
|
3706
3706
|
onKeyDown = _ref3.onKeyDown,
|
|
3707
|
-
|
|
3708
|
-
|
|
3707
|
+
selectedItemProp = _ref3.selectedItem,
|
|
3708
|
+
indexProp = _ref3.index,
|
|
3709
3709
|
rest = _objectWithoutPropertiesLoose(_ref3, _excluded);
|
|
3710
3710
|
var latestState = latest.current.state;
|
|
3711
|
-
var
|
|
3712
|
-
|
|
3713
|
-
|
|
3714
|
-
}
|
|
3711
|
+
var _getItemAndIndex = getItemAndIndex(selectedItemProp, indexProp, latestState.selectedItems, 'Pass either item or index to getSelectedItemProps!'),
|
|
3712
|
+
index = _getItemAndIndex[1];
|
|
3713
|
+
var isFocusable = index > -1 && index === latestState.activeIndex;
|
|
3715
3714
|
var selectedItemHandleClick = function selectedItemHandleClick() {
|
|
3716
3715
|
dispatch({
|
|
3717
3716
|
type: SelectedItemClick,
|
|
@@ -3728,7 +3727,7 @@ function useMultipleSelection(userProps) {
|
|
|
3728
3727
|
if (selectedItemNode) {
|
|
3729
3728
|
selectedItemRefs.current.push(selectedItemNode);
|
|
3730
3729
|
}
|
|
3731
|
-
}), _extends2.tabIndex =
|
|
3730
|
+
}), _extends2.tabIndex = isFocusable ? 0 : -1, _extends2.onClick = callAllEventHandlers(onClick, selectedItemHandleClick), _extends2.onKeyDown = callAllEventHandlers(onKeyDown, selectedItemHandleKeyDown), _extends2), rest);
|
|
3732
3731
|
}, [dispatch, latest, selectedItemKeyDownHandlers]);
|
|
3733
3732
|
var getDropdownProps = useCallback(function (_temp2, _temp3) {
|
|
3734
3733
|
var _extends3;
|
|
@@ -1836,14 +1836,19 @@
|
|
|
1836
1836
|
});
|
|
1837
1837
|
return elementIdsRef.current;
|
|
1838
1838
|
}
|
|
1839
|
-
function
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1839
|
+
function getItemAndIndex(itemProp, indexProp, items, errorMessage) {
|
|
1840
|
+
var item, index;
|
|
1841
|
+
if (itemProp === undefined) {
|
|
1842
|
+
if (indexProp === undefined) {
|
|
1843
|
+
throw new Error(errorMessage);
|
|
1844
|
+
}
|
|
1845
|
+
item = items[indexProp];
|
|
1846
|
+
index = indexProp;
|
|
1847
|
+
} else {
|
|
1848
|
+
index = indexProp === undefined ? items.indexOf(itemProp) : indexProp;
|
|
1849
|
+
item = itemProp;
|
|
1845
1850
|
}
|
|
1846
|
-
return
|
|
1851
|
+
return [item, index];
|
|
1847
1852
|
}
|
|
1848
1853
|
function itemToString(item) {
|
|
1849
1854
|
return item ? String(item) : '';
|
|
@@ -2859,8 +2864,9 @@
|
|
|
2859
2864
|
var _latest$current = latest.current,
|
|
2860
2865
|
latestState = _latest$current.state,
|
|
2861
2866
|
latestProps = _latest$current.props;
|
|
2862
|
-
var
|
|
2863
|
-
|
|
2867
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
2868
|
+
item = _getItemAndIndex[0],
|
|
2869
|
+
index = _getItemAndIndex[1];
|
|
2864
2870
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
2865
2871
|
if (index === latestState.highlightedIndex) {
|
|
2866
2872
|
return;
|
|
@@ -2878,18 +2884,14 @@
|
|
|
2878
2884
|
index: index
|
|
2879
2885
|
});
|
|
2880
2886
|
};
|
|
2881
|
-
var itemIndex = getItemIndex(index, item, latestProps.items);
|
|
2882
|
-
if (itemIndex < 0) {
|
|
2883
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
2884
|
-
}
|
|
2885
2887
|
var itemProps = _extends((_extends4 = {
|
|
2886
2888
|
disabled: disabled,
|
|
2887
2889
|
role: 'option',
|
|
2888
2890
|
'aria-selected': "" + (item === selectedItem),
|
|
2889
|
-
id: elementIds.getItemId(
|
|
2891
|
+
id: elementIds.getItemId(index)
|
|
2890
2892
|
}, _extends4[refKey] = handleRefs(ref, function (itemNode) {
|
|
2891
2893
|
if (itemNode) {
|
|
2892
|
-
itemRefs.current[elementIds.getItemId(
|
|
2894
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
2893
2895
|
}
|
|
2894
2896
|
}), _extends4), rest);
|
|
2895
2897
|
if (!disabled) {
|
|
@@ -2900,7 +2902,7 @@
|
|
|
2900
2902
|
}
|
|
2901
2903
|
itemProps.onMouseMove = callAllEventHandlers(onMouseMove, itemHandleMouseMove);
|
|
2902
2904
|
return itemProps;
|
|
2903
|
-
}, [latest,
|
|
2905
|
+
}, [latest, selectedItem, elementIds, shouldScrollRef, dispatch]);
|
|
2904
2906
|
return {
|
|
2905
2907
|
// prop getters.
|
|
2906
2908
|
getToggleButtonProps: getToggleButtonProps,
|
|
@@ -3429,8 +3431,8 @@
|
|
|
3429
3431
|
var getItemProps = preact.useCallback(function (_temp3) {
|
|
3430
3432
|
var _extends3, _ref4;
|
|
3431
3433
|
var _ref3 = _temp3 === void 0 ? {} : _temp3,
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
+
itemProp = _ref3.item,
|
|
3435
|
+
indexProp = _ref3.index,
|
|
3434
3436
|
_ref3$refKey = _ref3.refKey,
|
|
3435
3437
|
refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,
|
|
3436
3438
|
ref = _ref3.ref,
|
|
@@ -3443,10 +3445,8 @@
|
|
|
3443
3445
|
var _latest$current = latest.current,
|
|
3444
3446
|
latestProps = _latest$current.props,
|
|
3445
3447
|
latestState = _latest$current.state;
|
|
3446
|
-
var
|
|
3447
|
-
|
|
3448
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
3449
|
-
}
|
|
3448
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
3449
|
+
index = _getItemAndIndex[1];
|
|
3450
3450
|
var onSelectKey = 'onClick';
|
|
3451
3451
|
var customClickHandler = onClick;
|
|
3452
3452
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
@@ -3471,9 +3471,9 @@
|
|
|
3471
3471
|
};
|
|
3472
3472
|
return _extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (itemNode) {
|
|
3473
3473
|
if (itemNode) {
|
|
3474
|
-
itemRefs.current[elementIds.getItemId(
|
|
3474
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
3475
3475
|
}
|
|
3476
|
-
}), _extends3.disabled = disabled, _extends3.role = 'option', _extends3['aria-selected'] = "" + (
|
|
3476
|
+
}), _extends3.disabled = disabled, _extends3.role = 'option', _extends3['aria-selected'] = "" + (index === latestState.highlightedIndex), _extends3.id = elementIds.getItemId(index), _extends3), !disabled && (_ref4 = {}, _ref4[onSelectKey] = callAllEventHandlers(customClickHandler, itemHandleClick), _ref4), {
|
|
3477
3477
|
onMouseMove: callAllEventHandlers(onMouseMove, itemHandleMouseMove),
|
|
3478
3478
|
onMouseDown: callAllEventHandlers(onMouseDown, itemHandleMouseDown)
|
|
3479
3479
|
}, rest);
|
|
@@ -4013,14 +4013,13 @@
|
|
|
4013
4013
|
ref = _ref3.ref,
|
|
4014
4014
|
onClick = _ref3.onClick,
|
|
4015
4015
|
onKeyDown = _ref3.onKeyDown,
|
|
4016
|
-
|
|
4017
|
-
|
|
4016
|
+
selectedItemProp = _ref3.selectedItem,
|
|
4017
|
+
indexProp = _ref3.index,
|
|
4018
4018
|
rest = _objectWithoutPropertiesLoose(_ref3, _excluded);
|
|
4019
4019
|
var latestState = latest.current.state;
|
|
4020
|
-
var
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
}
|
|
4020
|
+
var _getItemAndIndex = getItemAndIndex(selectedItemProp, indexProp, latestState.selectedItems, 'Pass either item or index to getSelectedItemProps!'),
|
|
4021
|
+
index = _getItemAndIndex[1];
|
|
4022
|
+
var isFocusable = index > -1 && index === latestState.activeIndex;
|
|
4024
4023
|
var selectedItemHandleClick = function selectedItemHandleClick() {
|
|
4025
4024
|
dispatch({
|
|
4026
4025
|
type: SelectedItemClick,
|
|
@@ -4037,7 +4036,7 @@
|
|
|
4037
4036
|
if (selectedItemNode) {
|
|
4038
4037
|
selectedItemRefs.current.push(selectedItemNode);
|
|
4039
4038
|
}
|
|
4040
|
-
}), _extends2.tabIndex =
|
|
4039
|
+
}), _extends2.tabIndex = isFocusable ? 0 : -1, _extends2.onClick = callAllEventHandlers(onClick, selectedItemHandleClick), _extends2.onKeyDown = callAllEventHandlers(onKeyDown, selectedItemHandleKeyDown), _extends2), rest);
|
|
4041
4040
|
}, [dispatch, latest, selectedItemKeyDownHandlers]);
|
|
4042
4041
|
var getDropdownProps = preact.useCallback(function (_temp2, _temp3) {
|
|
4043
4042
|
var _extends3;
|