@entur/dropdown 5.0.17 → 5.0.18

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.
@@ -1244,6 +1244,7 @@ function SelectedItemsLabel(items) {
1244
1244
 
1245
1245
  var _excluded$5 = ["ariaLabelChosenSingular", "ariaLabelSelectedItem", "getItemProps", "getMenuProps", "inputValue", "isOpen", "highlightedIndex", "listItems", "listStyle", "loading", "loadingText", "noMatchesText", "selectAllCheckboxState", "selectAllItem", "selectedItems", "showSelectAllInList"];
1246
1246
  var DropdownList = function DropdownList(_ref) {
1247
+ var _listItems$;
1247
1248
  var _ref$ariaLabelChosenS = _ref.ariaLabelChosenSingular,
1248
1249
  ariaLabelChosenSingular = _ref$ariaLabelChosenS === void 0 ? 'valgt' : _ref$ariaLabelChosenS,
1249
1250
  _ref$ariaLabelSelecte = _ref.ariaLabelSelectedItem,
@@ -1265,10 +1266,10 @@ var DropdownList = function DropdownList(_ref) {
1265
1266
  selectedItems = _ref.selectedItems,
1266
1267
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
1267
1268
  var isMultiselect = selectAllItem !== undefined;
1268
- var isNoMatches = !loading && (listItems.length === 0 || listItems.length === 1 && listItems[0].value === (selectAllItem == null ? void 0 : selectAllItem.value));
1269
+ var isNoMatches = !loading && (listItems.length === 0 || (listItems == null ? void 0 : listItems.length) === 1 && (listItems == null ? void 0 : (_listItems$ = listItems[0]) == null ? void 0 : _listItems$.value) === (selectAllItem == null ? void 0 : selectAllItem.value));
1269
1270
  var isItemSelected = function isItemSelected(item) {
1270
1271
  return selectedItems.some(function (selectedItem) {
1271
- return selectedItem.value === item.value && selectedItem.label === item.label;
1272
+ return (selectedItem == null ? void 0 : selectedItem.value) === (item == null ? void 0 : item.value) && (selectedItem == null ? void 0 : selectedItem.label) === (item == null ? void 0 : item.label);
1272
1273
  });
1273
1274
  };
1274
1275
  var ariaLabelSelectAll = function ariaLabelSelectAll() {
@@ -1317,7 +1318,7 @@ var DropdownList = function DropdownList(_ref) {
1317
1318
  className: "eds-dropdown__list__item__text"
1318
1319
  }, item.label, React.createElement(a11y.VisuallyHidden, null, isItemSelected(item) ? ariaLabelSelectedItem : '')), item.icons && React.createElement("span", null, item.icons.map(function (Icon) {
1319
1320
  return React.createElement(Icon, {
1320
- key: item.label + item.value + Icon.displayName,
1321
+ key: (item == null ? void 0 : item.label) + (item == null ? void 0 : item.value) + (Icon == null ? void 0 : Icon.displayName),
1321
1322
  inline: true,
1322
1323
  className: "eds-dropdown__list__item__icon"
1323
1324
  });
@@ -1334,14 +1335,14 @@ var DropdownList = function DropdownList(_ref) {
1334
1335
  var itemIsSelectAll = item.value === (selectAllItem == null ? void 0 : selectAllItem.value);
1335
1336
  if (itemIsSelectAll && listItems.length <= 2) return null;
1336
1337
  return React.createElement("li", _extends({
1337
- key: item.label + item.value,
1338
+ key: (item == null ? void 0 : item.label) + (item == null ? void 0 : item.value),
1338
1339
  className: classNames('eds-dropdown__list__item', {
1339
1340
  'eds-dropdown__list__item--select-all': itemIsSelectAll,
1340
1341
  'eds-dropdown__list__item--highlighted': highlightedIndex === index,
1341
1342
  'eds-dropdown__list__item--selected': !isMultiselect && isItemSelected(item)
1342
1343
  })
1343
1344
  }, getItemProps({
1344
- key: item.label + item.value,
1345
+ key: (item == null ? void 0 : item.label) + (item == null ? void 0 : item.value),
1345
1346
  item: item,
1346
1347
  index: index
1347
1348
  })), itemIsSelectAll ? selectAllListItemContent() : listItemContent(item));
@@ -1863,7 +1864,13 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
1863
1864
  setShowSelectedItem(false);
1864
1865
  },
1865
1866
  onKeyDown: function onKeyDown(e) {
1866
- if (selectOnTab && e.key === 'Tab') onChange(listItems[highlightedIndex]);
1867
+ if (selectOnTab && e.key === 'Tab') {
1868
+ var highlitedItem = listItems[highlightedIndex];
1869
+ if (highlitedItem) {
1870
+ // we don't want to clear selection with tab
1871
+ onChange == null ? void 0 : onChange(highlitedItem);
1872
+ }
1873
+ }
1867
1874
  },
1868
1875
  ref: inputRef
1869
1876
  })))), React.createElement(DropdownList, {
@@ -2198,7 +2205,7 @@ var MultiSelect = function MultiSelect(_ref) {
2198
2205
  disabled: disabled,
2199
2206
  getSelectedItemProps: getSelectedItemProps,
2200
2207
  index: index,
2201
- key: selectedItem.value,
2208
+ key: selectedItem == null ? void 0 : selectedItem.value,
2202
2209
  readOnly: readOnly,
2203
2210
  removeSelectedItem: function removeSelectedItem() {
2204
2211
  var _inputRef$current6;
@@ -2224,11 +2231,17 @@ var MultiSelect = function MultiSelect(_ref) {
2224
2231
  disabled: readOnly || disabled
2225
2232
  }, getInputProps(_extends({
2226
2233
  onKeyDown: function onKeyDown(e) {
2227
- if (selectOnTab && e.key === 'Tab') handleListItemClicked({
2228
- clickedItem: listItems[highlightedIndex],
2229
- onChange: onChange,
2230
- setLastRemovedItem: setLastRemovedItem
2231
- });
2234
+ if (selectOnTab && e.key === 'Tab') {
2235
+ var highlitedItem = listItems[highlightedIndex];
2236
+ // we don't want to clear selection with tab
2237
+ if (highlitedItem) {
2238
+ handleListItemClicked({
2239
+ clickedItem: highlitedItem,
2240
+ onChange: onChange,
2241
+ setLastRemovedItem: setLastRemovedItem
2242
+ });
2243
+ }
2244
+ }
2232
2245
  }
2233
2246
  }, getDropdownProps({
2234
2247
  onClick: function onClick(e) {
@@ -2359,7 +2372,13 @@ var Dropdown = function Dropdown(_ref) {
2359
2372
  }, getToggleButtonProps({
2360
2373
  id: undefined,
2361
2374
  onKeyDown: function onKeyDown(e) {
2362
- if (selectOnTab && e.key === 'Tab') onChange == null ? void 0 : onChange(normalizedItems[highlightedIndex]);
2375
+ if (selectOnTab && e.key === 'Tab') {
2376
+ // we don't want to clear selection with tab
2377
+ var highlitedItem = normalizedItems[highlightedIndex];
2378
+ if (highlitedItem) {
2379
+ onChange == null ? void 0 : onChange(highlitedItem);
2380
+ }
2381
+ }
2363
2382
  }
2364
2383
  })), (_ref3 = (_selectedItem$label = selectedItem == null ? void 0 : selectedItem.label) != null ? _selectedItem$label : React.createElement("span", {
2365
2384
  className: classNames('eds-dropdown__selected-item__placeholder', {