@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.
@@ -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.setLastRemovedItem;
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
- _options$ariaLabelNoR = options.ariaLabelNoResults,
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 ariaLabelNoResults;
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
- // The following A11y-helper does not work due to a bug (https://github.com/downshift-js/downshift/issues/1227)
1806
- // but is left here for when it is fixed
1807
- getA11ySelectionMessage: function getA11ySelectionMessage$1(options) {
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
- lastRemovedItem = _React$useState2[0],
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
- setLastRemovedItem: setLastRemovedItem
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
- setLastRemovedItem: setLastRemovedItem
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
- setLastRemovedItem: setLastRemovedItem
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
- setLastRemovedItem: setLastRemovedItem
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,