@entur/dropdown 6.0.3-beta.1 → 6.0.3-beta.2
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/dropdown.cjs.development.js +31 -54
- package/dist/dropdown.cjs.development.js.map +1 -1
- package/dist/dropdown.cjs.production.min.js +1 -1
- package/dist/dropdown.cjs.production.min.js.map +1 -1
- package/dist/dropdown.esm.js +31 -54
- package/dist/dropdown.esm.js.map +1 -1
- package/dist/styles.css +107 -101
- package/dist/utils.d.ts +7 -16
- package/package.json +10 -10
package/dist/dropdown.esm.js
CHANGED
|
@@ -1513,6 +1513,9 @@ input) {
|
|
|
1513
1513
|
var itemToString = function itemToString(item) {
|
|
1514
1514
|
return item ? item.label : '';
|
|
1515
1515
|
};
|
|
1516
|
+
var itemToKey = function itemToKey(item) {
|
|
1517
|
+
return (item == null ? void 0 : item.label) + (item == null ? void 0 : item.value);
|
|
1518
|
+
};
|
|
1516
1519
|
var isFunctionWithQueryArgument = function isFunctionWithQueryArgument(object) {
|
|
1517
1520
|
return typeof object === 'function' && object.length > 0;
|
|
1518
1521
|
};
|
|
@@ -1553,7 +1556,7 @@ var useMultiselectUtils = function useMultiselectUtils(_ref) {
|
|
|
1553
1556
|
var handleListItemClicked = function handleListItemClicked(_ref2) {
|
|
1554
1557
|
var clickedItem = _ref2.clickedItem,
|
|
1555
1558
|
onChange = _ref2.onChange,
|
|
1556
|
-
setLastRemovedItem = _ref2.
|
|
1559
|
+
setLastRemovedItem = _ref2.setLastClickedItem;
|
|
1557
1560
|
if (clickedItemIsSelectAll(clickedItem)) {
|
|
1558
1561
|
if (allListItemsAreSelected) {
|
|
1559
1562
|
setLastRemovedItem(selectAll);
|
|
@@ -1603,40 +1606,23 @@ var useMultiselectUtils = function useMultiselectUtils(_ref) {
|
|
|
1603
1606
|
unselectAllListItems: unselectAllListItems
|
|
1604
1607
|
};
|
|
1605
1608
|
};
|
|
1609
|
+
/* end multiselect utils */
|
|
1610
|
+
/* start a11y utils */
|
|
1611
|
+
// called when the state changes:
|
|
1612
|
+
// selectedItem, highlightedIndex, inputValue or isOpen.
|
|
1606
1613
|
function getA11yStatusMessage(options) {
|
|
1607
1614
|
var isOpen = options.isOpen,
|
|
1608
|
-
resultCount = options.resultCount,
|
|
1609
|
-
previousResultCount = options.previousResultCount,
|
|
1610
1615
|
_options$selectAllIte = options.selectAllItemIncluded,
|
|
1611
1616
|
selectAllItemIncluded = _options$selectAllIte === void 0 ? false : _options$selectAllIte,
|
|
1612
|
-
|
|
1613
|
-
ariaLabelNoResults = _options$ariaLabelNoR === void 0 ? 'Ingen resultater' : _options$ariaLabelNoR;
|
|
1617
|
+
resultCount = options.resultCount;
|
|
1614
1618
|
if (!isOpen) {
|
|
1615
1619
|
return '';
|
|
1616
1620
|
}
|
|
1617
1621
|
var resultCountWithoutSelectAll = selectAllItemIncluded ? resultCount - 1 : resultCount;
|
|
1618
1622
|
if (resultCountWithoutSelectAll === 0) {
|
|
1619
|
-
return
|
|
1620
|
-
}
|
|
1621
|
-
if (resultCount !== previousResultCount) {
|
|
1622
|
-
return resultCountWithoutSelectAll + " resultat" + (resultCountWithoutSelectAll === 1 ? '' : 'er') + " tilgjengelig, naviger med pil opp eller ned, velg elementer med enter.";
|
|
1623
|
+
return 'Ingen resultater';
|
|
1623
1624
|
}
|
|
1624
|
-
return '';
|
|
1625
|
-
}
|
|
1626
|
-
function getA11ySelectionMessage(options) {
|
|
1627
|
-
var selectedItem = options.selectedItem,
|
|
1628
|
-
itemToStringLocal = options.itemToString,
|
|
1629
|
-
selectAllItem = options.selectAllItem;
|
|
1630
|
-
if ((selectedItem == null ? void 0 : selectedItem.value) === (selectAllItem == null ? void 0 : selectAllItem.value)) return 'Alle elementer i listen valgt.';
|
|
1631
|
-
return selectedItem ? itemToStringLocal(selectedItem) + " er valgt." : '';
|
|
1632
|
-
}
|
|
1633
|
-
function getA11yRemovalMessage(options) {
|
|
1634
|
-
var itemToString = options.itemToString,
|
|
1635
|
-
selectAllItem = options.selectAllItem,
|
|
1636
|
-
removedItem = options.removedItem;
|
|
1637
|
-
if (removedItem === undefined) return '';
|
|
1638
|
-
if (removedItem.value === (selectAllItem == null ? void 0 : selectAllItem.value)) return 'Alle elementer i listen fjernet fra valgte.';
|
|
1639
|
-
return itemToString(removedItem) + " fjernet fra valgte.";
|
|
1625
|
+
return resultCountWithoutSelectAll + " resultat" + (resultCountWithoutSelectAll === 1 ? '' : 'er') + " tilgjengelig, naviger med pil opp eller ned, velg elementer med Enter.";
|
|
1640
1626
|
}
|
|
1641
1627
|
/* end a11y utils */
|
|
1642
1628
|
|
|
@@ -1801,11 +1787,10 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
|
|
|
1801
1787
|
}
|
|
1802
1788
|
},
|
|
1803
1789
|
// Accessibility
|
|
1804
|
-
getA11yStatusMessage: getA11yStatusMessage
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
return getA11ySelectionMessage(options);
|
|
1790
|
+
getA11yStatusMessage: function getA11yStatusMessage$1(options) {
|
|
1791
|
+
return getA11yStatusMessage(_extends({}, options, {
|
|
1792
|
+
resultCount: listItems.length
|
|
1793
|
+
}));
|
|
1809
1794
|
}
|
|
1810
1795
|
}, rest)),
|
|
1811
1796
|
isOpen = _useCombobox.isOpen,
|
|
@@ -1905,6 +1890,9 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
|
|
|
1905
1890
|
}))), React.createElement(DropdownList, {
|
|
1906
1891
|
ariaLabelChosenSingular: ariaLabelChosenSingular,
|
|
1907
1892
|
ariaLabelSelectedItem: ariaLabelSelectedItem,
|
|
1893
|
+
getItemProps: getItemProps,
|
|
1894
|
+
getMenuProps: getMenuProps,
|
|
1895
|
+
highlightedIndex: highlightedIndex,
|
|
1908
1896
|
isOpen: isOpen,
|
|
1909
1897
|
listItems: listItems,
|
|
1910
1898
|
listStyle: _extends({}, floatingStyles, listStyle),
|
|
@@ -1912,9 +1900,6 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
|
|
|
1912
1900
|
loading: loading,
|
|
1913
1901
|
loadingText: loadingText,
|
|
1914
1902
|
noMatchesText: noMatchesText,
|
|
1915
|
-
getItemProps: getItemProps,
|
|
1916
|
-
getMenuProps: getMenuProps,
|
|
1917
|
-
highlightedIndex: highlightedIndex,
|
|
1918
1903
|
selectedItems: selectedItem !== null ? [selectedItem] : []
|
|
1919
1904
|
}));
|
|
1920
1905
|
};
|
|
@@ -1979,8 +1964,7 @@ var MultiSelect = function MultiSelect(_ref) {
|
|
|
1979
1964
|
lastHighlightedIndex = _React$useState[0],
|
|
1980
1965
|
setLastHighlightedIndex = _React$useState[1];
|
|
1981
1966
|
var _React$useState2 = React.useState(undefined),
|
|
1982
|
-
|
|
1983
|
-
setLastRemovedItem = _React$useState2[1];
|
|
1967
|
+
setLastClickedItem = _React$useState2[1];
|
|
1984
1968
|
var inputRef = useRef(null);
|
|
1985
1969
|
useEffect(function () {
|
|
1986
1970
|
//@ts-expect-error this is done to aid developers debug wrong prop usage
|
|
@@ -2036,7 +2020,9 @@ var MultiSelect = function MultiSelect(_ref) {
|
|
|
2036
2020
|
selectAllCheckboxState = _useMultiselectUtils.selectAllCheckboxState;
|
|
2037
2021
|
var _useMultipleSelection = useMultipleSelection({
|
|
2038
2022
|
selectedItems: selectedItems,
|
|
2023
|
+
// @ts-expect-error prop missing from library types
|
|
2039
2024
|
itemToString: itemToString,
|
|
2025
|
+
itemToKey: itemToKey,
|
|
2040
2026
|
onStateChange: function onStateChange(_ref4) {
|
|
2041
2027
|
var newSelectedItems = _ref4.selectedItems,
|
|
2042
2028
|
type = _ref4.type;
|
|
@@ -2050,13 +2036,6 @@ var MultiSelect = function MultiSelect(_ref) {
|
|
|
2050
2036
|
break;
|
|
2051
2037
|
}
|
|
2052
2038
|
}
|
|
2053
|
-
},
|
|
2054
|
-
// Accessibility
|
|
2055
|
-
getA11yRemovalMessage: function getA11yRemovalMessage$1(options) {
|
|
2056
|
-
return getA11yRemovalMessage(_extends({}, options, {
|
|
2057
|
-
selectAllItem: selectAll,
|
|
2058
|
-
removedItem: lastRemovedItem
|
|
2059
|
-
}));
|
|
2060
2039
|
}
|
|
2061
2040
|
}),
|
|
2062
2041
|
getSelectedItemProps = _useMultipleSelection.getSelectedItemProps,
|
|
@@ -2105,7 +2084,7 @@ var MultiSelect = function MultiSelect(_ref) {
|
|
|
2105
2084
|
handleListItemClicked({
|
|
2106
2085
|
clickedItem: listItems[changes.highlightedIndex],
|
|
2107
2086
|
onChange: onChange,
|
|
2108
|
-
|
|
2087
|
+
setLastClickedItem: setLastClickedItem
|
|
2109
2088
|
});
|
|
2110
2089
|
}
|
|
2111
2090
|
}
|
|
@@ -2156,7 +2135,7 @@ var MultiSelect = function MultiSelect(_ref) {
|
|
|
2156
2135
|
handleListItemClicked({
|
|
2157
2136
|
clickedItem: clickedItem,
|
|
2158
2137
|
onChange: onChange,
|
|
2159
|
-
|
|
2138
|
+
setLastClickedItem: setLastClickedItem
|
|
2160
2139
|
});
|
|
2161
2140
|
}
|
|
2162
2141
|
}
|
|
@@ -2164,14 +2143,8 @@ var MultiSelect = function MultiSelect(_ref) {
|
|
|
2164
2143
|
// Accessibility
|
|
2165
2144
|
getA11yStatusMessage: function getA11yStatusMessage$1(options) {
|
|
2166
2145
|
return getA11yStatusMessage(_extends({}, options, {
|
|
2167
|
-
selectAllItemIncluded: !hideSelectAll
|
|
2168
|
-
|
|
2169
|
-
},
|
|
2170
|
-
// The following A11y-helper does not work due to a bug (https://github.com/downshift-js/downshift/issues/1227)
|
|
2171
|
-
// but is left here for when it is fixed
|
|
2172
|
-
getA11ySelectionMessage: function getA11ySelectionMessage$1(options) {
|
|
2173
|
-
return getA11ySelectionMessage(_extends({}, options, {
|
|
2174
|
-
selectAllItem: selectAll
|
|
2146
|
+
selectAllItemIncluded: !hideSelectAll,
|
|
2147
|
+
resultCount: listItems.length
|
|
2175
2148
|
}));
|
|
2176
2149
|
}
|
|
2177
2150
|
}, rest)),
|
|
@@ -2263,7 +2236,7 @@ var MultiSelect = function MultiSelect(_ref) {
|
|
|
2263
2236
|
handleListItemClicked({
|
|
2264
2237
|
clickedItem: selectedItem,
|
|
2265
2238
|
onChange: onChange,
|
|
2266
|
-
|
|
2239
|
+
setLastClickedItem: setLastClickedItem
|
|
2267
2240
|
});
|
|
2268
2241
|
inputRef == null ? void 0 : (_inputRef$current6 = inputRef.current) == null ? void 0 : _inputRef$current6.focus();
|
|
2269
2242
|
},
|
|
@@ -2289,7 +2262,7 @@ var MultiSelect = function MultiSelect(_ref) {
|
|
|
2289
2262
|
handleListItemClicked({
|
|
2290
2263
|
clickedItem: highlitedItem,
|
|
2291
2264
|
onChange: onChange,
|
|
2292
|
-
|
|
2265
|
+
setLastClickedItem: setLastClickedItem
|
|
2293
2266
|
});
|
|
2294
2267
|
}
|
|
2295
2268
|
}
|
|
@@ -2381,6 +2354,7 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
2381
2354
|
itemToString: itemToString
|
|
2382
2355
|
}),
|
|
2383
2356
|
isOpen = _useSelect.isOpen,
|
|
2357
|
+
openMenu = _useSelect.openMenu,
|
|
2384
2358
|
getItemProps = _useSelect.getItemProps,
|
|
2385
2359
|
getLabelProps = _useSelect.getLabelProps,
|
|
2386
2360
|
getMenuProps = _useSelect.getMenuProps,
|
|
@@ -2427,6 +2401,9 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
2427
2401
|
labelId: getLabelProps().id,
|
|
2428
2402
|
labelProps: getLabelProps(),
|
|
2429
2403
|
labelTooltip: labelTooltip,
|
|
2404
|
+
onClick: function onClick(e) {
|
|
2405
|
+
if (e.target === e.currentTarget) openMenu();
|
|
2406
|
+
},
|
|
2430
2407
|
prepend: prepend,
|
|
2431
2408
|
readOnly: readOnly,
|
|
2432
2409
|
ref: refs.setReference,
|