@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.
@@ -1517,6 +1517,9 @@ input) {
1517
1517
  var itemToString = function itemToString(item) {
1518
1518
  return item ? item.label : '';
1519
1519
  };
1520
+ var itemToKey = function itemToKey(item) {
1521
+ return (item == null ? void 0 : item.label) + (item == null ? void 0 : item.value);
1522
+ };
1520
1523
  var isFunctionWithQueryArgument = function isFunctionWithQueryArgument(object) {
1521
1524
  return typeof object === 'function' && object.length > 0;
1522
1525
  };
@@ -1557,7 +1560,7 @@ var useMultiselectUtils = function useMultiselectUtils(_ref) {
1557
1560
  var handleListItemClicked = function handleListItemClicked(_ref2) {
1558
1561
  var clickedItem = _ref2.clickedItem,
1559
1562
  onChange = _ref2.onChange,
1560
- setLastRemovedItem = _ref2.setLastRemovedItem;
1563
+ setLastRemovedItem = _ref2.setLastClickedItem;
1561
1564
  if (clickedItemIsSelectAll(clickedItem)) {
1562
1565
  if (allListItemsAreSelected) {
1563
1566
  setLastRemovedItem(selectAll);
@@ -1607,40 +1610,23 @@ var useMultiselectUtils = function useMultiselectUtils(_ref) {
1607
1610
  unselectAllListItems: unselectAllListItems
1608
1611
  };
1609
1612
  };
1613
+ /* end multiselect utils */
1614
+ /* start a11y utils */
1615
+ // called when the state changes:
1616
+ // selectedItem, highlightedIndex, inputValue or isOpen.
1610
1617
  function getA11yStatusMessage(options) {
1611
1618
  var isOpen = options.isOpen,
1612
- resultCount = options.resultCount,
1613
- previousResultCount = options.previousResultCount,
1614
1619
  _options$selectAllIte = options.selectAllItemIncluded,
1615
1620
  selectAllItemIncluded = _options$selectAllIte === void 0 ? false : _options$selectAllIte,
1616
- _options$ariaLabelNoR = options.ariaLabelNoResults,
1617
- ariaLabelNoResults = _options$ariaLabelNoR === void 0 ? 'Ingen resultater' : _options$ariaLabelNoR;
1621
+ resultCount = options.resultCount;
1618
1622
  if (!isOpen) {
1619
1623
  return '';
1620
1624
  }
1621
1625
  var resultCountWithoutSelectAll = selectAllItemIncluded ? resultCount - 1 : resultCount;
1622
1626
  if (resultCountWithoutSelectAll === 0) {
1623
- return ariaLabelNoResults;
1624
- }
1625
- if (resultCount !== previousResultCount) {
1626
- return resultCountWithoutSelectAll + " resultat" + (resultCountWithoutSelectAll === 1 ? '' : 'er') + " tilgjengelig, naviger med pil opp eller ned, velg elementer med enter.";
1627
+ return 'Ingen resultater';
1627
1628
  }
1628
- return '';
1629
- }
1630
- function getA11ySelectionMessage(options) {
1631
- var selectedItem = options.selectedItem,
1632
- itemToStringLocal = options.itemToString,
1633
- selectAllItem = options.selectAllItem;
1634
- if ((selectedItem == null ? void 0 : selectedItem.value) === (selectAllItem == null ? void 0 : selectAllItem.value)) return 'Alle elementer i listen valgt.';
1635
- return selectedItem ? itemToStringLocal(selectedItem) + " er valgt." : '';
1636
- }
1637
- function getA11yRemovalMessage(options) {
1638
- var itemToString = options.itemToString,
1639
- selectAllItem = options.selectAllItem,
1640
- removedItem = options.removedItem;
1641
- if (removedItem === undefined) return '';
1642
- if (removedItem.value === (selectAllItem == null ? void 0 : selectAllItem.value)) return 'Alle elementer i listen fjernet fra valgte.';
1643
- return itemToString(removedItem) + " fjernet fra valgte.";
1629
+ return resultCountWithoutSelectAll + " resultat" + (resultCountWithoutSelectAll === 1 ? '' : 'er') + " tilgjengelig, naviger med pil opp eller ned, velg elementer med Enter.";
1644
1630
  }
1645
1631
  /* end a11y utils */
1646
1632
 
@@ -1805,11 +1791,10 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
1805
1791
  }
1806
1792
  },
1807
1793
  // Accessibility
1808
- getA11yStatusMessage: getA11yStatusMessage,
1809
- // The following A11y-helper does not work due to a bug (https://github.com/downshift-js/downshift/issues/1227)
1810
- // but is left here for when it is fixed
1811
- getA11ySelectionMessage: function getA11ySelectionMessage$1(options) {
1812
- return getA11ySelectionMessage(options);
1794
+ getA11yStatusMessage: function getA11yStatusMessage$1(options) {
1795
+ return getA11yStatusMessage(_extends({}, options, {
1796
+ resultCount: listItems.length
1797
+ }));
1813
1798
  }
1814
1799
  }, rest)),
1815
1800
  isOpen = _useCombobox.isOpen,
@@ -1909,6 +1894,9 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
1909
1894
  }))), React.createElement(DropdownList, {
1910
1895
  ariaLabelChosenSingular: ariaLabelChosenSingular,
1911
1896
  ariaLabelSelectedItem: ariaLabelSelectedItem,
1897
+ getItemProps: getItemProps,
1898
+ getMenuProps: getMenuProps,
1899
+ highlightedIndex: highlightedIndex,
1912
1900
  isOpen: isOpen,
1913
1901
  listItems: listItems,
1914
1902
  listStyle: _extends({}, floatingStyles, listStyle),
@@ -1916,9 +1904,6 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
1916
1904
  loading: loading,
1917
1905
  loadingText: loadingText,
1918
1906
  noMatchesText: noMatchesText,
1919
- getItemProps: getItemProps,
1920
- getMenuProps: getMenuProps,
1921
- highlightedIndex: highlightedIndex,
1922
1907
  selectedItems: selectedItem !== null ? [selectedItem] : []
1923
1908
  }));
1924
1909
  };
@@ -1983,8 +1968,7 @@ var MultiSelect = function MultiSelect(_ref) {
1983
1968
  lastHighlightedIndex = _React$useState[0],
1984
1969
  setLastHighlightedIndex = _React$useState[1];
1985
1970
  var _React$useState2 = React.useState(undefined),
1986
- lastRemovedItem = _React$useState2[0],
1987
- setLastRemovedItem = _React$useState2[1];
1971
+ setLastClickedItem = _React$useState2[1];
1988
1972
  var inputRef = React.useRef(null);
1989
1973
  React.useEffect(function () {
1990
1974
  //@ts-expect-error this is done to aid developers debug wrong prop usage
@@ -2040,7 +2024,9 @@ var MultiSelect = function MultiSelect(_ref) {
2040
2024
  selectAllCheckboxState = _useMultiselectUtils.selectAllCheckboxState;
2041
2025
  var _useMultipleSelection = Downshift.useMultipleSelection({
2042
2026
  selectedItems: selectedItems,
2027
+ // @ts-expect-error prop missing from library types
2043
2028
  itemToString: itemToString,
2029
+ itemToKey: itemToKey,
2044
2030
  onStateChange: function onStateChange(_ref4) {
2045
2031
  var newSelectedItems = _ref4.selectedItems,
2046
2032
  type = _ref4.type;
@@ -2054,13 +2040,6 @@ var MultiSelect = function MultiSelect(_ref) {
2054
2040
  break;
2055
2041
  }
2056
2042
  }
2057
- },
2058
- // Accessibility
2059
- getA11yRemovalMessage: function getA11yRemovalMessage$1(options) {
2060
- return getA11yRemovalMessage(_extends({}, options, {
2061
- selectAllItem: selectAll,
2062
- removedItem: lastRemovedItem
2063
- }));
2064
2043
  }
2065
2044
  }),
2066
2045
  getSelectedItemProps = _useMultipleSelection.getSelectedItemProps,
@@ -2109,7 +2088,7 @@ var MultiSelect = function MultiSelect(_ref) {
2109
2088
  handleListItemClicked({
2110
2089
  clickedItem: listItems[changes.highlightedIndex],
2111
2090
  onChange: onChange,
2112
- setLastRemovedItem: setLastRemovedItem
2091
+ setLastClickedItem: setLastClickedItem
2113
2092
  });
2114
2093
  }
2115
2094
  }
@@ -2160,7 +2139,7 @@ var MultiSelect = function MultiSelect(_ref) {
2160
2139
  handleListItemClicked({
2161
2140
  clickedItem: clickedItem,
2162
2141
  onChange: onChange,
2163
- setLastRemovedItem: setLastRemovedItem
2142
+ setLastClickedItem: setLastClickedItem
2164
2143
  });
2165
2144
  }
2166
2145
  }
@@ -2168,14 +2147,8 @@ var MultiSelect = function MultiSelect(_ref) {
2168
2147
  // Accessibility
2169
2148
  getA11yStatusMessage: function getA11yStatusMessage$1(options) {
2170
2149
  return getA11yStatusMessage(_extends({}, options, {
2171
- selectAllItemIncluded: !hideSelectAll
2172
- }));
2173
- },
2174
- // The following A11y-helper does not work due to a bug (https://github.com/downshift-js/downshift/issues/1227)
2175
- // but is left here for when it is fixed
2176
- getA11ySelectionMessage: function getA11ySelectionMessage$1(options) {
2177
- return getA11ySelectionMessage(_extends({}, options, {
2178
- selectAllItem: selectAll
2150
+ selectAllItemIncluded: !hideSelectAll,
2151
+ resultCount: listItems.length
2179
2152
  }));
2180
2153
  }
2181
2154
  }, rest)),
@@ -2267,7 +2240,7 @@ var MultiSelect = function MultiSelect(_ref) {
2267
2240
  handleListItemClicked({
2268
2241
  clickedItem: selectedItem,
2269
2242
  onChange: onChange,
2270
- setLastRemovedItem: setLastRemovedItem
2243
+ setLastClickedItem: setLastClickedItem
2271
2244
  });
2272
2245
  inputRef == null ? void 0 : (_inputRef$current6 = inputRef.current) == null ? void 0 : _inputRef$current6.focus();
2273
2246
  },
@@ -2293,7 +2266,7 @@ var MultiSelect = function MultiSelect(_ref) {
2293
2266
  handleListItemClicked({
2294
2267
  clickedItem: highlitedItem,
2295
2268
  onChange: onChange,
2296
- setLastRemovedItem: setLastRemovedItem
2269
+ setLastClickedItem: setLastClickedItem
2297
2270
  });
2298
2271
  }
2299
2272
  }
@@ -2385,6 +2358,7 @@ var Dropdown = function Dropdown(_ref) {
2385
2358
  itemToString: itemToString
2386
2359
  }),
2387
2360
  isOpen = _useSelect.isOpen,
2361
+ openMenu = _useSelect.openMenu,
2388
2362
  getItemProps = _useSelect.getItemProps,
2389
2363
  getLabelProps = _useSelect.getLabelProps,
2390
2364
  getMenuProps = _useSelect.getMenuProps,
@@ -2431,6 +2405,9 @@ var Dropdown = function Dropdown(_ref) {
2431
2405
  labelId: getLabelProps().id,
2432
2406
  labelProps: getLabelProps(),
2433
2407
  labelTooltip: labelTooltip,
2408
+ onClick: function onClick(e) {
2409
+ if (e.target === e.currentTarget) openMenu();
2410
+ },
2434
2411
  prepend: prepend,
2435
2412
  readOnly: readOnly,
2436
2413
  ref: refs.setReference,