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
package/dist/downshift.cjs.js
CHANGED
|
@@ -1603,14 +1603,19 @@ function useElementIds(_ref) {
|
|
|
1603
1603
|
});
|
|
1604
1604
|
return elementIdsRef.current;
|
|
1605
1605
|
}
|
|
1606
|
-
function
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1606
|
+
function getItemAndIndex(itemProp, indexProp, items, errorMessage) {
|
|
1607
|
+
var item, index;
|
|
1608
|
+
if (itemProp === undefined) {
|
|
1609
|
+
if (indexProp === undefined) {
|
|
1610
|
+
throw new Error(errorMessage);
|
|
1611
|
+
}
|
|
1612
|
+
item = items[indexProp];
|
|
1613
|
+
index = indexProp;
|
|
1614
|
+
} else {
|
|
1615
|
+
index = indexProp === undefined ? items.indexOf(itemProp) : indexProp;
|
|
1616
|
+
item = itemProp;
|
|
1612
1617
|
}
|
|
1613
|
-
return
|
|
1618
|
+
return [item, index];
|
|
1614
1619
|
}
|
|
1615
1620
|
function itemToString(item) {
|
|
1616
1621
|
return item ? String(item) : '';
|
|
@@ -2600,8 +2605,9 @@ function useSelect(userProps) {
|
|
|
2600
2605
|
var _latest$current = latest.current,
|
|
2601
2606
|
latestState = _latest$current.state,
|
|
2602
2607
|
latestProps = _latest$current.props;
|
|
2603
|
-
var
|
|
2604
|
-
|
|
2608
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
2609
|
+
item = _getItemAndIndex[0],
|
|
2610
|
+
index = _getItemAndIndex[1];
|
|
2605
2611
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
2606
2612
|
if (index === latestState.highlightedIndex) {
|
|
2607
2613
|
return;
|
|
@@ -2619,18 +2625,14 @@ function useSelect(userProps) {
|
|
|
2619
2625
|
index: index
|
|
2620
2626
|
});
|
|
2621
2627
|
};
|
|
2622
|
-
var itemIndex = getItemIndex(index, item, latestProps.items);
|
|
2623
|
-
if (itemIndex < 0) {
|
|
2624
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
2625
|
-
}
|
|
2626
2628
|
var itemProps = _extends__default["default"]((_extends4 = {
|
|
2627
2629
|
disabled: disabled,
|
|
2628
2630
|
role: 'option',
|
|
2629
2631
|
'aria-selected': "" + (item === selectedItem),
|
|
2630
|
-
id: elementIds.getItemId(
|
|
2632
|
+
id: elementIds.getItemId(index)
|
|
2631
2633
|
}, _extends4[refKey] = handleRefs(ref, function (itemNode) {
|
|
2632
2634
|
if (itemNode) {
|
|
2633
|
-
itemRefs.current[elementIds.getItemId(
|
|
2635
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
2634
2636
|
}
|
|
2635
2637
|
}), _extends4), rest);
|
|
2636
2638
|
if (!disabled) {
|
|
@@ -2641,7 +2643,7 @@ function useSelect(userProps) {
|
|
|
2641
2643
|
}
|
|
2642
2644
|
itemProps.onMouseMove = callAllEventHandlers(onMouseMove, itemHandleMouseMove);
|
|
2643
2645
|
return itemProps;
|
|
2644
|
-
}, [latest,
|
|
2646
|
+
}, [latest, selectedItem, elementIds, shouldScrollRef, dispatch]);
|
|
2645
2647
|
return {
|
|
2646
2648
|
// prop getters.
|
|
2647
2649
|
getToggleButtonProps: getToggleButtonProps,
|
|
@@ -3170,8 +3172,8 @@ function useCombobox(userProps) {
|
|
|
3170
3172
|
var getItemProps = react.useCallback(function (_temp3) {
|
|
3171
3173
|
var _extends3, _ref4;
|
|
3172
3174
|
var _ref3 = _temp3 === void 0 ? {} : _temp3,
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
+
itemProp = _ref3.item,
|
|
3176
|
+
indexProp = _ref3.index,
|
|
3175
3177
|
_ref3$refKey = _ref3.refKey,
|
|
3176
3178
|
refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,
|
|
3177
3179
|
ref = _ref3.ref,
|
|
@@ -3184,10 +3186,8 @@ function useCombobox(userProps) {
|
|
|
3184
3186
|
var _latest$current = latest.current,
|
|
3185
3187
|
latestProps = _latest$current.props,
|
|
3186
3188
|
latestState = _latest$current.state;
|
|
3187
|
-
var
|
|
3188
|
-
|
|
3189
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
3190
|
-
}
|
|
3189
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
3190
|
+
index = _getItemAndIndex[1];
|
|
3191
3191
|
var onSelectKey = 'onClick';
|
|
3192
3192
|
var customClickHandler = onClick;
|
|
3193
3193
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
@@ -3212,9 +3212,9 @@ function useCombobox(userProps) {
|
|
|
3212
3212
|
};
|
|
3213
3213
|
return _extends__default["default"]((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (itemNode) {
|
|
3214
3214
|
if (itemNode) {
|
|
3215
|
-
itemRefs.current[elementIds.getItemId(
|
|
3215
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
3216
3216
|
}
|
|
3217
|
-
}), _extends3.disabled = disabled, _extends3.role = 'option', _extends3['aria-selected'] = "" + (
|
|
3217
|
+
}), _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), {
|
|
3218
3218
|
onMouseMove: callAllEventHandlers(onMouseMove, itemHandleMouseMove),
|
|
3219
3219
|
onMouseDown: callAllEventHandlers(onMouseDown, itemHandleMouseDown)
|
|
3220
3220
|
}, rest);
|
|
@@ -3754,14 +3754,13 @@ function useMultipleSelection(userProps) {
|
|
|
3754
3754
|
ref = _ref3.ref,
|
|
3755
3755
|
onClick = _ref3.onClick,
|
|
3756
3756
|
onKeyDown = _ref3.onKeyDown,
|
|
3757
|
-
|
|
3758
|
-
|
|
3757
|
+
selectedItemProp = _ref3.selectedItem,
|
|
3758
|
+
indexProp = _ref3.index,
|
|
3759
3759
|
rest = _objectWithoutPropertiesLoose__default["default"](_ref3, _excluded);
|
|
3760
3760
|
var latestState = latest.current.state;
|
|
3761
|
-
var
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
}
|
|
3761
|
+
var _getItemAndIndex = getItemAndIndex(selectedItemProp, indexProp, latestState.selectedItems, 'Pass either item or index to getSelectedItemProps!'),
|
|
3762
|
+
index = _getItemAndIndex[1];
|
|
3763
|
+
var isFocusable = index > -1 && index === latestState.activeIndex;
|
|
3765
3764
|
var selectedItemHandleClick = function selectedItemHandleClick() {
|
|
3766
3765
|
dispatch({
|
|
3767
3766
|
type: SelectedItemClick,
|
|
@@ -3778,7 +3777,7 @@ function useMultipleSelection(userProps) {
|
|
|
3778
3777
|
if (selectedItemNode) {
|
|
3779
3778
|
selectedItemRefs.current.push(selectedItemNode);
|
|
3780
3779
|
}
|
|
3781
|
-
}), _extends2.tabIndex =
|
|
3780
|
+
}), _extends2.tabIndex = isFocusable ? 0 : -1, _extends2.onClick = callAllEventHandlers(onClick, selectedItemHandleClick), _extends2.onKeyDown = callAllEventHandlers(onKeyDown, selectedItemHandleKeyDown), _extends2), rest);
|
|
3782
3781
|
}, [dispatch, latest, selectedItemKeyDownHandlers]);
|
|
3783
3782
|
var getDropdownProps = react.useCallback(function (_temp2, _temp3) {
|
|
3784
3783
|
var _extends3;
|
package/dist/downshift.esm.js
CHANGED
|
@@ -1590,14 +1590,19 @@ function useElementIds(_ref) {
|
|
|
1590
1590
|
});
|
|
1591
1591
|
return elementIdsRef.current;
|
|
1592
1592
|
}
|
|
1593
|
-
function
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1593
|
+
function getItemAndIndex(itemProp, indexProp, items, errorMessage) {
|
|
1594
|
+
var item, index;
|
|
1595
|
+
if (itemProp === undefined) {
|
|
1596
|
+
if (indexProp === undefined) {
|
|
1597
|
+
throw new Error(errorMessage);
|
|
1598
|
+
}
|
|
1599
|
+
item = items[indexProp];
|
|
1600
|
+
index = indexProp;
|
|
1601
|
+
} else {
|
|
1602
|
+
index = indexProp === undefined ? items.indexOf(itemProp) : indexProp;
|
|
1603
|
+
item = itemProp;
|
|
1599
1604
|
}
|
|
1600
|
-
return
|
|
1605
|
+
return [item, index];
|
|
1601
1606
|
}
|
|
1602
1607
|
function itemToString(item) {
|
|
1603
1608
|
return item ? String(item) : '';
|
|
@@ -2587,8 +2592,9 @@ function useSelect(userProps) {
|
|
|
2587
2592
|
var _latest$current = latest.current,
|
|
2588
2593
|
latestState = _latest$current.state,
|
|
2589
2594
|
latestProps = _latest$current.props;
|
|
2590
|
-
var
|
|
2591
|
-
|
|
2595
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
2596
|
+
item = _getItemAndIndex[0],
|
|
2597
|
+
index = _getItemAndIndex[1];
|
|
2592
2598
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
2593
2599
|
if (index === latestState.highlightedIndex) {
|
|
2594
2600
|
return;
|
|
@@ -2606,18 +2612,14 @@ function useSelect(userProps) {
|
|
|
2606
2612
|
index: index
|
|
2607
2613
|
});
|
|
2608
2614
|
};
|
|
2609
|
-
var itemIndex = getItemIndex(index, item, latestProps.items);
|
|
2610
|
-
if (itemIndex < 0) {
|
|
2611
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
2612
|
-
}
|
|
2613
2615
|
var itemProps = _extends((_extends4 = {
|
|
2614
2616
|
disabled: disabled,
|
|
2615
2617
|
role: 'option',
|
|
2616
2618
|
'aria-selected': "" + (item === selectedItem),
|
|
2617
|
-
id: elementIds.getItemId(
|
|
2619
|
+
id: elementIds.getItemId(index)
|
|
2618
2620
|
}, _extends4[refKey] = handleRefs(ref, function (itemNode) {
|
|
2619
2621
|
if (itemNode) {
|
|
2620
|
-
itemRefs.current[elementIds.getItemId(
|
|
2622
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
2621
2623
|
}
|
|
2622
2624
|
}), _extends4), rest);
|
|
2623
2625
|
if (!disabled) {
|
|
@@ -2628,7 +2630,7 @@ function useSelect(userProps) {
|
|
|
2628
2630
|
}
|
|
2629
2631
|
itemProps.onMouseMove = callAllEventHandlers(onMouseMove, itemHandleMouseMove);
|
|
2630
2632
|
return itemProps;
|
|
2631
|
-
}, [latest,
|
|
2633
|
+
}, [latest, selectedItem, elementIds, shouldScrollRef, dispatch]);
|
|
2632
2634
|
return {
|
|
2633
2635
|
// prop getters.
|
|
2634
2636
|
getToggleButtonProps: getToggleButtonProps,
|
|
@@ -3157,8 +3159,8 @@ function useCombobox(userProps) {
|
|
|
3157
3159
|
var getItemProps = useCallback(function (_temp3) {
|
|
3158
3160
|
var _extends3, _ref4;
|
|
3159
3161
|
var _ref3 = _temp3 === void 0 ? {} : _temp3,
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
+
itemProp = _ref3.item,
|
|
3163
|
+
indexProp = _ref3.index,
|
|
3162
3164
|
_ref3$refKey = _ref3.refKey,
|
|
3163
3165
|
refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,
|
|
3164
3166
|
ref = _ref3.ref,
|
|
@@ -3171,10 +3173,8 @@ function useCombobox(userProps) {
|
|
|
3171
3173
|
var _latest$current = latest.current,
|
|
3172
3174
|
latestProps = _latest$current.props,
|
|
3173
3175
|
latestState = _latest$current.state;
|
|
3174
|
-
var
|
|
3175
|
-
|
|
3176
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
3177
|
-
}
|
|
3176
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
3177
|
+
index = _getItemAndIndex[1];
|
|
3178
3178
|
var onSelectKey = 'onClick';
|
|
3179
3179
|
var customClickHandler = onClick;
|
|
3180
3180
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
@@ -3199,9 +3199,9 @@ function useCombobox(userProps) {
|
|
|
3199
3199
|
};
|
|
3200
3200
|
return _extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (itemNode) {
|
|
3201
3201
|
if (itemNode) {
|
|
3202
|
-
itemRefs.current[elementIds.getItemId(
|
|
3202
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
3203
3203
|
}
|
|
3204
|
-
}), _extends3.disabled = disabled, _extends3.role = 'option', _extends3['aria-selected'] = "" + (
|
|
3204
|
+
}), _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), {
|
|
3205
3205
|
onMouseMove: callAllEventHandlers(onMouseMove, itemHandleMouseMove),
|
|
3206
3206
|
onMouseDown: callAllEventHandlers(onMouseDown, itemHandleMouseDown)
|
|
3207
3207
|
}, rest);
|
|
@@ -3741,14 +3741,13 @@ function useMultipleSelection(userProps) {
|
|
|
3741
3741
|
ref = _ref3.ref,
|
|
3742
3742
|
onClick = _ref3.onClick,
|
|
3743
3743
|
onKeyDown = _ref3.onKeyDown,
|
|
3744
|
-
|
|
3745
|
-
|
|
3744
|
+
selectedItemProp = _ref3.selectedItem,
|
|
3745
|
+
indexProp = _ref3.index,
|
|
3746
3746
|
rest = _objectWithoutPropertiesLoose(_ref3, _excluded);
|
|
3747
3747
|
var latestState = latest.current.state;
|
|
3748
|
-
var
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
}
|
|
3748
|
+
var _getItemAndIndex = getItemAndIndex(selectedItemProp, indexProp, latestState.selectedItems, 'Pass either item or index to getSelectedItemProps!'),
|
|
3749
|
+
index = _getItemAndIndex[1];
|
|
3750
|
+
var isFocusable = index > -1 && index === latestState.activeIndex;
|
|
3752
3751
|
var selectedItemHandleClick = function selectedItemHandleClick() {
|
|
3753
3752
|
dispatch({
|
|
3754
3753
|
type: SelectedItemClick,
|
|
@@ -3765,7 +3764,7 @@ function useMultipleSelection(userProps) {
|
|
|
3765
3764
|
if (selectedItemNode) {
|
|
3766
3765
|
selectedItemRefs.current.push(selectedItemNode);
|
|
3767
3766
|
}
|
|
3768
|
-
}), _extends2.tabIndex =
|
|
3767
|
+
}), _extends2.tabIndex = isFocusable ? 0 : -1, _extends2.onClick = callAllEventHandlers(onClick, selectedItemHandleClick), _extends2.onKeyDown = callAllEventHandlers(onKeyDown, selectedItemHandleKeyDown), _extends2), rest);
|
|
3769
3768
|
}, [dispatch, latest, selectedItemKeyDownHandlers]);
|
|
3770
3769
|
var getDropdownProps = useCallback(function (_temp2, _temp3) {
|
|
3771
3770
|
var _extends3;
|
|
@@ -1541,14 +1541,19 @@ function useElementIds(_ref) {
|
|
|
1541
1541
|
});
|
|
1542
1542
|
return elementIdsRef.current;
|
|
1543
1543
|
}
|
|
1544
|
-
function
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1544
|
+
function getItemAndIndex(itemProp, indexProp, items, errorMessage) {
|
|
1545
|
+
var item, index;
|
|
1546
|
+
if (itemProp === undefined) {
|
|
1547
|
+
if (indexProp === undefined) {
|
|
1548
|
+
throw new Error(errorMessage);
|
|
1549
|
+
}
|
|
1550
|
+
item = items[indexProp];
|
|
1551
|
+
index = indexProp;
|
|
1552
|
+
} else {
|
|
1553
|
+
index = indexProp === undefined ? items.indexOf(itemProp) : indexProp;
|
|
1554
|
+
item = itemProp;
|
|
1550
1555
|
}
|
|
1551
|
-
return
|
|
1556
|
+
return [item, index];
|
|
1552
1557
|
}
|
|
1553
1558
|
function itemToString(item) {
|
|
1554
1559
|
return item ? String(item) : '';
|
|
@@ -2522,8 +2527,9 @@ function useSelect(userProps) {
|
|
|
2522
2527
|
var _latest$current = latest.current,
|
|
2523
2528
|
latestState = _latest$current.state,
|
|
2524
2529
|
latestProps = _latest$current.props;
|
|
2525
|
-
var
|
|
2526
|
-
|
|
2530
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
2531
|
+
item = _getItemAndIndex[0],
|
|
2532
|
+
index = _getItemAndIndex[1];
|
|
2527
2533
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
2528
2534
|
if (index === latestState.highlightedIndex) {
|
|
2529
2535
|
return;
|
|
@@ -2541,18 +2547,14 @@ function useSelect(userProps) {
|
|
|
2541
2547
|
index: index
|
|
2542
2548
|
});
|
|
2543
2549
|
};
|
|
2544
|
-
var itemIndex = getItemIndex(index, item, latestProps.items);
|
|
2545
|
-
if (itemIndex < 0) {
|
|
2546
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
2547
|
-
}
|
|
2548
2550
|
var itemProps = _extends__default["default"]((_extends4 = {
|
|
2549
2551
|
disabled: disabled,
|
|
2550
2552
|
role: 'option',
|
|
2551
2553
|
'aria-selected': "" + (item === selectedItem),
|
|
2552
|
-
id: elementIds.getItemId(
|
|
2554
|
+
id: elementIds.getItemId(index)
|
|
2553
2555
|
}, _extends4[refKey] = handleRefs(ref, function (itemNode) {
|
|
2554
2556
|
if (itemNode) {
|
|
2555
|
-
itemRefs.current[elementIds.getItemId(
|
|
2557
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
2556
2558
|
}
|
|
2557
2559
|
}), _extends4), rest);
|
|
2558
2560
|
if (!disabled) {
|
|
@@ -2563,7 +2565,7 @@ function useSelect(userProps) {
|
|
|
2563
2565
|
}
|
|
2564
2566
|
itemProps.onMouseMove = callAllEventHandlers(onMouseMove, itemHandleMouseMove);
|
|
2565
2567
|
return itemProps;
|
|
2566
|
-
}, [latest,
|
|
2568
|
+
}, [latest, selectedItem, elementIds, shouldScrollRef, dispatch]);
|
|
2567
2569
|
return {
|
|
2568
2570
|
// prop getters.
|
|
2569
2571
|
getToggleButtonProps: getToggleButtonProps,
|
|
@@ -3092,8 +3094,8 @@ function useCombobox(userProps) {
|
|
|
3092
3094
|
var getItemProps = react.useCallback(function (_temp3) {
|
|
3093
3095
|
var _extends3, _ref4;
|
|
3094
3096
|
var _ref3 = _temp3 === void 0 ? {} : _temp3,
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
+
itemProp = _ref3.item,
|
|
3098
|
+
indexProp = _ref3.index,
|
|
3097
3099
|
_ref3$refKey = _ref3.refKey,
|
|
3098
3100
|
refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,
|
|
3099
3101
|
ref = _ref3.ref,
|
|
@@ -3106,10 +3108,8 @@ function useCombobox(userProps) {
|
|
|
3106
3108
|
var _latest$current = latest.current,
|
|
3107
3109
|
latestProps = _latest$current.props,
|
|
3108
3110
|
latestState = _latest$current.state;
|
|
3109
|
-
var
|
|
3110
|
-
|
|
3111
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
3112
|
-
}
|
|
3111
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
3112
|
+
index = _getItemAndIndex[1];
|
|
3113
3113
|
var onSelectKey = /* istanbul ignore next (react-native) */'onPress' ;
|
|
3114
3114
|
var customClickHandler = /* istanbul ignore next (react-native) */onPress ;
|
|
3115
3115
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
@@ -3134,9 +3134,9 @@ function useCombobox(userProps) {
|
|
|
3134
3134
|
};
|
|
3135
3135
|
return _extends__default["default"]((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (itemNode) {
|
|
3136
3136
|
if (itemNode) {
|
|
3137
|
-
itemRefs.current[elementIds.getItemId(
|
|
3137
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
3138
3138
|
}
|
|
3139
|
-
}), _extends3.disabled = disabled, _extends3.role = 'option', _extends3['aria-selected'] = "" + (
|
|
3139
|
+
}), _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), {
|
|
3140
3140
|
onMouseMove: callAllEventHandlers(onMouseMove, itemHandleMouseMove),
|
|
3141
3141
|
onMouseDown: callAllEventHandlers(onMouseDown, itemHandleMouseDown)
|
|
3142
3142
|
}, rest);
|
|
@@ -3688,14 +3688,13 @@ function useMultipleSelection(userProps) {
|
|
|
3688
3688
|
ref = _ref3.ref,
|
|
3689
3689
|
onClick = _ref3.onClick,
|
|
3690
3690
|
onKeyDown = _ref3.onKeyDown,
|
|
3691
|
-
|
|
3692
|
-
|
|
3691
|
+
selectedItemProp = _ref3.selectedItem,
|
|
3692
|
+
indexProp = _ref3.index,
|
|
3693
3693
|
rest = _objectWithoutPropertiesLoose__default["default"](_ref3, _excluded);
|
|
3694
3694
|
var latestState = latest.current.state;
|
|
3695
|
-
var
|
|
3696
|
-
|
|
3697
|
-
|
|
3698
|
-
}
|
|
3695
|
+
var _getItemAndIndex = getItemAndIndex(selectedItemProp, indexProp, latestState.selectedItems, 'Pass either item or index to getSelectedItemProps!'),
|
|
3696
|
+
index = _getItemAndIndex[1];
|
|
3697
|
+
var isFocusable = index > -1 && index === latestState.activeIndex;
|
|
3699
3698
|
var selectedItemHandleClick = function selectedItemHandleClick() {
|
|
3700
3699
|
dispatch({
|
|
3701
3700
|
type: SelectedItemClick,
|
|
@@ -3712,7 +3711,7 @@ function useMultipleSelection(userProps) {
|
|
|
3712
3711
|
if (selectedItemNode) {
|
|
3713
3712
|
selectedItemRefs.current.push(selectedItemNode);
|
|
3714
3713
|
}
|
|
3715
|
-
}), _extends2.tabIndex =
|
|
3714
|
+
}), _extends2.tabIndex = isFocusable ? 0 : -1, _extends2.onClick = callAllEventHandlers(onClick, selectedItemHandleClick), _extends2.onKeyDown = callAllEventHandlers(onKeyDown, selectedItemHandleKeyDown), _extends2), rest);
|
|
3716
3715
|
}, [dispatch, latest, selectedItemKeyDownHandlers]);
|
|
3717
3716
|
var getDropdownProps = react.useCallback(function (_temp2, _temp3) {
|
|
3718
3717
|
var _extends3;
|
package/dist/downshift.umd.js
CHANGED
|
@@ -2889,14 +2889,19 @@
|
|
|
2889
2889
|
});
|
|
2890
2890
|
return elementIdsRef.current;
|
|
2891
2891
|
}
|
|
2892
|
-
function
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2892
|
+
function getItemAndIndex(itemProp, indexProp, items, errorMessage) {
|
|
2893
|
+
var item, index;
|
|
2894
|
+
if (itemProp === undefined) {
|
|
2895
|
+
if (indexProp === undefined) {
|
|
2896
|
+
throw new Error(errorMessage);
|
|
2897
|
+
}
|
|
2898
|
+
item = items[indexProp];
|
|
2899
|
+
index = indexProp;
|
|
2900
|
+
} else {
|
|
2901
|
+
index = indexProp === undefined ? items.indexOf(itemProp) : indexProp;
|
|
2902
|
+
item = itemProp;
|
|
2898
2903
|
}
|
|
2899
|
-
return
|
|
2904
|
+
return [item, index];
|
|
2900
2905
|
}
|
|
2901
2906
|
function itemToString(item) {
|
|
2902
2907
|
return item ? String(item) : '';
|
|
@@ -3912,8 +3917,9 @@
|
|
|
3912
3917
|
var _latest$current = latest.current,
|
|
3913
3918
|
latestState = _latest$current.state,
|
|
3914
3919
|
latestProps = _latest$current.props;
|
|
3915
|
-
var
|
|
3916
|
-
|
|
3920
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
3921
|
+
item = _getItemAndIndex[0],
|
|
3922
|
+
index = _getItemAndIndex[1];
|
|
3917
3923
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
3918
3924
|
if (index === latestState.highlightedIndex) {
|
|
3919
3925
|
return;
|
|
@@ -3931,18 +3937,14 @@
|
|
|
3931
3937
|
index: index
|
|
3932
3938
|
});
|
|
3933
3939
|
};
|
|
3934
|
-
var itemIndex = getItemIndex(index, item, latestProps.items);
|
|
3935
|
-
if (itemIndex < 0) {
|
|
3936
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
3937
|
-
}
|
|
3938
3940
|
var itemProps = _extends((_extends4 = {
|
|
3939
3941
|
disabled: disabled,
|
|
3940
3942
|
role: 'option',
|
|
3941
3943
|
'aria-selected': "" + (item === selectedItem),
|
|
3942
|
-
id: elementIds.getItemId(
|
|
3944
|
+
id: elementIds.getItemId(index)
|
|
3943
3945
|
}, _extends4[refKey] = handleRefs(ref, function (itemNode) {
|
|
3944
3946
|
if (itemNode) {
|
|
3945
|
-
itemRefs.current[elementIds.getItemId(
|
|
3947
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
3946
3948
|
}
|
|
3947
3949
|
}), _extends4), rest);
|
|
3948
3950
|
if (!disabled) {
|
|
@@ -3953,7 +3955,7 @@
|
|
|
3953
3955
|
}
|
|
3954
3956
|
itemProps.onMouseMove = callAllEventHandlers(onMouseMove, itemHandleMouseMove);
|
|
3955
3957
|
return itemProps;
|
|
3956
|
-
}, [latest,
|
|
3958
|
+
}, [latest, selectedItem, elementIds, shouldScrollRef, dispatch]);
|
|
3957
3959
|
return {
|
|
3958
3960
|
// prop getters.
|
|
3959
3961
|
getToggleButtonProps: getToggleButtonProps,
|
|
@@ -4482,8 +4484,8 @@
|
|
|
4482
4484
|
var getItemProps = react.useCallback(function (_temp3) {
|
|
4483
4485
|
var _extends3, _ref4;
|
|
4484
4486
|
var _ref3 = _temp3 === void 0 ? {} : _temp3,
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
+
itemProp = _ref3.item,
|
|
4488
|
+
indexProp = _ref3.index,
|
|
4487
4489
|
_ref3$refKey = _ref3.refKey,
|
|
4488
4490
|
refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,
|
|
4489
4491
|
ref = _ref3.ref,
|
|
@@ -4496,10 +4498,8 @@
|
|
|
4496
4498
|
var _latest$current = latest.current,
|
|
4497
4499
|
latestProps = _latest$current.props,
|
|
4498
4500
|
latestState = _latest$current.state;
|
|
4499
|
-
var
|
|
4500
|
-
|
|
4501
|
-
throw new Error('Pass either item or item index in getItemProps!');
|
|
4502
|
-
}
|
|
4501
|
+
var _getItemAndIndex = getItemAndIndex(itemProp, indexProp, latestProps.items, 'Pass either item or index to getItemProps!'),
|
|
4502
|
+
index = _getItemAndIndex[1];
|
|
4503
4503
|
var onSelectKey = 'onClick';
|
|
4504
4504
|
var customClickHandler = onClick;
|
|
4505
4505
|
var itemHandleMouseMove = function itemHandleMouseMove() {
|
|
@@ -4524,9 +4524,9 @@
|
|
|
4524
4524
|
};
|
|
4525
4525
|
return _extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (itemNode) {
|
|
4526
4526
|
if (itemNode) {
|
|
4527
|
-
itemRefs.current[elementIds.getItemId(
|
|
4527
|
+
itemRefs.current[elementIds.getItemId(index)] = itemNode;
|
|
4528
4528
|
}
|
|
4529
|
-
}), _extends3.disabled = disabled, _extends3.role = 'option', _extends3['aria-selected'] = "" + (
|
|
4529
|
+
}), _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), {
|
|
4530
4530
|
onMouseMove: callAllEventHandlers(onMouseMove, itemHandleMouseMove),
|
|
4531
4531
|
onMouseDown: callAllEventHandlers(onMouseDown, itemHandleMouseDown)
|
|
4532
4532
|
}, rest);
|
|
@@ -5066,14 +5066,13 @@
|
|
|
5066
5066
|
ref = _ref3.ref,
|
|
5067
5067
|
onClick = _ref3.onClick,
|
|
5068
5068
|
onKeyDown = _ref3.onKeyDown,
|
|
5069
|
-
|
|
5070
|
-
|
|
5069
|
+
selectedItemProp = _ref3.selectedItem,
|
|
5070
|
+
indexProp = _ref3.index,
|
|
5071
5071
|
rest = _objectWithoutPropertiesLoose(_ref3, _excluded);
|
|
5072
5072
|
var latestState = latest.current.state;
|
|
5073
|
-
var
|
|
5074
|
-
|
|
5075
|
-
|
|
5076
|
-
}
|
|
5073
|
+
var _getItemAndIndex = getItemAndIndex(selectedItemProp, indexProp, latestState.selectedItems, 'Pass either item or index to getSelectedItemProps!'),
|
|
5074
|
+
index = _getItemAndIndex[1];
|
|
5075
|
+
var isFocusable = index > -1 && index === latestState.activeIndex;
|
|
5077
5076
|
var selectedItemHandleClick = function selectedItemHandleClick() {
|
|
5078
5077
|
dispatch({
|
|
5079
5078
|
type: SelectedItemClick,
|
|
@@ -5090,7 +5089,7 @@
|
|
|
5090
5089
|
if (selectedItemNode) {
|
|
5091
5090
|
selectedItemRefs.current.push(selectedItemNode);
|
|
5092
5091
|
}
|
|
5093
|
-
}), _extends2.tabIndex =
|
|
5092
|
+
}), _extends2.tabIndex = isFocusable ? 0 : -1, _extends2.onClick = callAllEventHandlers(onClick, selectedItemHandleClick), _extends2.onKeyDown = callAllEventHandlers(onKeyDown, selectedItemHandleKeyDown), _extends2), rest);
|
|
5094
5093
|
}, [dispatch, latest, selectedItemKeyDownHandlers]);
|
|
5095
5094
|
var getDropdownProps = react.useCallback(function (_temp2, _temp3) {
|
|
5096
5095
|
var _extends3;
|