@entur/dropdown 5.0.0-beta.4 → 5.0.1

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.
Files changed (35) hide show
  1. package/dist/Dropdown.d.ts +40 -39
  2. package/dist/MultiSelect.d.ts +90 -33
  3. package/dist/SearchableDropdown.d.ts +64 -18
  4. package/dist/{beta/components → components}/DropdownList.d.ts +2 -1
  5. package/dist/{BaseDropdown.d.ts → deprecated/BaseDropdown.d.ts} +3 -3
  6. package/dist/{DownshiftProvider.d.ts → deprecated/DownshiftProvider.d.ts} +1 -1
  7. package/dist/deprecated/Dropdown.d.ts +72 -0
  8. package/dist/{DropdownInputGroup.d.ts → deprecated/DropdownInputGroup.d.ts} +2 -2
  9. package/dist/deprecated/DropdownList.d.ts +8 -0
  10. package/dist/{DropdownLoadingDots.d.ts → deprecated/DropdownLoadingDots.d.ts} +1 -1
  11. package/dist/deprecated/DropdownToggleButton.d.ts +3 -0
  12. package/dist/deprecated/MultiSelect.d.ts +64 -0
  13. package/dist/{RegularDropdown.d.ts → deprecated/RegularDropdown.d.ts} +3 -3
  14. package/dist/deprecated/SearchableDropdown.d.ts +34 -0
  15. package/dist/deprecated/index.d.ts +2 -0
  16. package/dist/dropdown.cjs.development.js +141 -77
  17. package/dist/dropdown.cjs.development.js.map +1 -1
  18. package/dist/dropdown.cjs.production.min.js +1 -1
  19. package/dist/dropdown.cjs.production.min.js.map +1 -1
  20. package/dist/dropdown.esm.js +139 -75
  21. package/dist/dropdown.esm.js.map +1 -1
  22. package/dist/index.d.ts +5 -3
  23. package/dist/styles.css +266 -287
  24. package/package.json +12 -12
  25. package/dist/DropdownList.d.ts +0 -8
  26. package/dist/DropdownToggleButton.d.ts +0 -3
  27. package/dist/beta/Dropdown.d.ts +0 -62
  28. package/dist/beta/MultiSelect.d.ts +0 -97
  29. package/dist/beta/SearchableDropdown.d.ts +0 -70
  30. package/dist/beta/index.d.ts +0 -5
  31. /package/dist/{beta/NativeDropdown.d.ts → NativeDropdown.d.ts} +0 -0
  32. /package/dist/{beta/components → components}/FieldComponents.d.ts +0 -0
  33. /package/dist/{beta/useNormalizedItems.d.ts → useNormalizedItems.d.ts} +0 -0
  34. /package/dist/{beta/useResolvedItems.d.ts → useResolvedItems.d.ts} +0 -0
  35. /package/dist/{beta/utils.d.ts → utils.d.ts} +0 -0
@@ -461,7 +461,7 @@ var useDownshift = function useDownshift() {
461
461
  };
462
462
 
463
463
  var _excluded$c = ["items"];
464
- var DropdownList$1 = function DropdownList(_ref) {
464
+ var DropdownListDeprecated = function DropdownListDeprecated(_ref) {
465
465
  var items = _ref.items,
466
466
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$c);
467
467
  var _useDownshift = useDownshift(),
@@ -497,7 +497,7 @@ var DropdownList$1 = function DropdownList(_ref) {
497
497
  }) : null);
498
498
  };
499
499
 
500
- var DropdownToggleButton$1 = function DropdownToggleButton() {
500
+ var DropdownDeprecatedToggleButton = function DropdownDeprecatedToggleButton() {
501
501
  var _useDownshift = useDownshift(),
502
502
  getToggleButtonProps = _useDownshift.getToggleButtonProps,
503
503
  isOpen = _useDownshift.isOpen;
@@ -512,7 +512,7 @@ var DropdownToggleButton$1 = function DropdownToggleButton() {
512
512
  };
513
513
 
514
514
  var _excluded$b = ["className", "children"];
515
- var DropdownLoadingDots = function DropdownLoadingDots(_ref) {
515
+ var DropdownDeprecatedLoadingDots = function DropdownDeprecatedLoadingDots(_ref) {
516
516
  var className = _ref.className,
517
517
  children = _ref.children,
518
518
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$b);
@@ -522,7 +522,7 @@ var DropdownLoadingDots = function DropdownLoadingDots(_ref) {
522
522
  };
523
523
 
524
524
  var _excluded$a = ["children", "className", "items", "loading", "loadingText", "placeholder", "style", "listStyle", "clearable", "label", "isFilled", "disableLabelAnimation"];
525
- var BaseDropdown = function BaseDropdown(_ref) {
525
+ var BaseDropdownDeprecated = function BaseDropdownDeprecated(_ref) {
526
526
  var children = _ref.children,
527
527
  className = _ref.className,
528
528
  items = _ref.items,
@@ -555,7 +555,7 @@ var BaseDropdown = function BaseDropdown(_ref) {
555
555
  isFilled: isFilled,
556
556
  labelProps: getLabelProps(),
557
557
  disableLabelAnimation: disableLabelAnimation
558
- }, rest), children), React__default["default"].createElement(DropdownList$1, _extends({
558
+ }, rest), children), React__default["default"].createElement(DropdownListDeprecated, _extends({
559
559
  items: items,
560
560
  style: _extends({
561
561
  position: 'absolute',
@@ -586,16 +586,16 @@ var Appendix$1 = function Appendix(_ref3) {
586
586
  loadingText = _ref3.loadingText,
587
587
  readOnly = _ref3.readOnly;
588
588
  if (loading) {
589
- return React__default["default"].createElement(DropdownLoadingDots, null, loadingText);
589
+ return React__default["default"].createElement(DropdownDeprecatedLoadingDots, null, loadingText);
590
590
  }
591
591
  if (readOnly) {
592
592
  return null;
593
593
  }
594
- return clearable ? React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement(ClearButton$1, null), " ", React__default["default"].createElement(DropdownToggleButton$1, null)) : React__default["default"].createElement(DropdownToggleButton$1, null);
594
+ return clearable ? React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement(ClearButton$1, null), " ", React__default["default"].createElement(DropdownDeprecatedToggleButton, null)) : React__default["default"].createElement(DropdownDeprecatedToggleButton, null);
595
595
  };
596
596
 
597
597
  var _excluded$9 = ["disabled", "placeholder", "selectOnTab", "openOnFocus", "listStyle", "items", "label", "disableLabelAnimation", "loading", "loadingText", "className", "clearable"];
598
- var RegularDropdown = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
598
+ var RegularDropdownDeprecated = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
599
599
  var disabled = _ref.disabled,
600
600
  _ref$placeholder = _ref.placeholder,
601
601
  placeholder = _ref$placeholder === void 0 ? 'Vennligst velg' : _ref$placeholder,
@@ -620,7 +620,7 @@ var RegularDropdown = /*#__PURE__*/React__default["default"].forwardRef(function
620
620
  isOpen = _useDownshift.isOpen,
621
621
  highlightedIndex = _useDownshift.highlightedIndex,
622
622
  setHighlightedIndex = _useDownshift.setHighlightedIndex;
623
- return React__default["default"].createElement(BaseDropdown, _extends({
623
+ return React__default["default"].createElement(BaseDropdownDeprecated, _extends({
624
624
  disabled: disabled,
625
625
  listStyle: listStyle,
626
626
  items: items,
@@ -681,7 +681,17 @@ function LowerCaseFilterTest(item, input) {
681
681
  var inputRegex = new RegExp(sanitizeEscapeCharacters, 'i');
682
682
  return inputRegex.test(item.label);
683
683
  }
684
- var SearchableDropdown = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
684
+ /**
685
+ * @deprecated
686
+ * New SearchableDropdown available
687
+ *
688
+ * migration guide to new dropdown:
689
+ * - change import from 'DropdownDeprecated' to 'Dropdown'
690
+ * - change from 'value' to 'selectedItem'
691
+ * + type of 'selectedItem' is 'NormalizedDropdownType' and does not include 'string'
692
+ * - 'onChange' must update value of 'selectedItem'
693
+ */
694
+ var SearchableDropdownDeprecated = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
685
695
  var _ref$disabled = _ref.disabled,
686
696
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
687
697
  className = _ref.className,
@@ -722,7 +732,7 @@ var SearchableDropdown = /*#__PURE__*/React__default["default"].forwardRef(funct
722
732
  return itemFilter(item, inputValue);
723
733
  });
724
734
  }, [inputValue, items, itemFilter]);
725
- return React__default["default"].createElement(BaseDropdown, {
735
+ return React__default["default"].createElement(BaseDropdownDeprecated, {
726
736
  items: filteredItems,
727
737
  disabled: disabled,
728
738
  readOnly: readOnly,
@@ -764,7 +774,7 @@ var SearchableDropdown = /*#__PURE__*/React__default["default"].forwardRef(funct
764
774
  })));
765
775
  });
766
776
 
767
- var DropdownInputGroup = function DropdownInputGroup(_ref) {
777
+ var DropdownInputGroupDeprecated = function DropdownInputGroupDeprecated(_ref) {
768
778
  var children = _ref.children,
769
779
  feedback = _ref.feedback,
770
780
  variant = _ref.variant,
@@ -902,7 +912,18 @@ debounceTimeout) {
902
912
  };
903
913
 
904
914
  var _excluded$7 = ["highlightFirstItemOnOpen", "debounceTimeout", "disabled", "feedback", "items", "label", "loadingText", "onChange", "placeholder", "prepend", "readOnly", "searchable", "selectOnTab", "openOnFocus", "variant", "value", "clearable", "className", "style", "listStyle", "itemFilter", "disableLabelAnimation"];
905
- var Dropdown = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
915
+ /**
916
+ * @deprecated
917
+ * New Dropdown available
918
+ *
919
+ * migration guide to new dropdown:
920
+ * - change import from 'DropdownDeprecated' to 'Dropdown'
921
+ * + if 'searchable', switch to 'SearchableDropdown'
922
+ * - change from 'value' to 'selectedItem'
923
+ * + type of 'selectedItem' is 'NormalizedDropdownType' and does not include 'string'
924
+ * - 'onChange' must update value of 'selectedItem'
925
+ */
926
+ var DropdownDeprecated = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
906
927
  var highlightFirstItemOnOpen = _ref.highlightFirstItemOnOpen,
907
928
  debounceTimeout = _ref.debounceTimeout,
908
929
  disabled = _ref.disabled,
@@ -937,7 +958,7 @@ var Dropdown = /*#__PURE__*/React__default["default"].forwardRef(function (_ref,
937
958
  var selectedItem = value === undefined ? undefined : normalizedItems.find(function (item) {
938
959
  return value === item.value;
939
960
  }) || null;
940
- var RenderedDropdown = searchable ? SearchableDropdown : RegularDropdown;
961
+ var RenderedDropdown = searchable ? SearchableDropdownDeprecated : RegularDropdownDeprecated;
941
962
  var searchAbleProps = searchable ? {
942
963
  itemFilter: itemFilter,
943
964
  name: rest.name,
@@ -955,7 +976,7 @@ var Dropdown = /*#__PURE__*/React__default["default"].forwardRef(function (_ref,
955
976
  className: className,
956
977
  style: style,
957
978
  searchable: searchable
958
- }, rest), React__default["default"].createElement(DropdownInputGroup, {
979
+ }, rest), React__default["default"].createElement(DropdownInputGroupDeprecated, {
959
980
  feedback: feedback,
960
981
  variant: variant
961
982
  }, React__default["default"].createElement(RenderedDropdown, _extends({
@@ -977,9 +998,9 @@ var Dropdown = /*#__PURE__*/React__default["default"].forwardRef(function (_ref,
977
998
  });
978
999
 
979
1000
  var _excluded$6 = ["className", "clearable", "debounceTimeout", "disabled", "feedback", "initialSelectedItems", "items", "itemsSelectedLabel", "label", "listStyle", "loading", "loadingText", "onChange", "openOnFocus", "readOnly", "style", "variant"];
980
- var MultiSelectContext = /*#__PURE__*/React__default["default"].createContext(null);
981
- var useMultiSelectContext = function useMultiSelectContext() {
982
- var context = React__default["default"].useContext(MultiSelectContext);
1001
+ var MultiSelectOldContext = /*#__PURE__*/React__default["default"].createContext(null);
1002
+ var useMultiSelectOldContext = function useMultiSelectOldContext() {
1003
+ var context = React__default["default"].useContext(MultiSelectOldContext);
983
1004
  if (!context) {
984
1005
  throw new Error('You need to wrap your component in a DownshiftProvider');
985
1006
  }
@@ -1002,7 +1023,17 @@ actionAndChanges) {
1002
1023
  return changes;
1003
1024
  }
1004
1025
  }
1005
- var MultiSelect = function MultiSelect(_ref) {
1026
+ /**
1027
+ * @deprecated
1028
+ * New MultiSelect available
1029
+ *
1030
+ * migration guide to new dropdown:
1031
+ * - change import from 'MultiSelectDeprecated' to 'MultiSelect'
1032
+ * - add state containing selected items to 'selectedItems' prop
1033
+ * + type of 'selectedItems' is 'NormalizedDropdownType[]' and does not include 'string'
1034
+ * - 'onChange' must update value of 'selectedItem'
1035
+ */
1036
+ var MultiSelectDeprecated = function MultiSelectDeprecated(_ref) {
1006
1037
  var className = _ref.className,
1007
1038
  _ref$clearable = _ref.clearable,
1008
1039
  clearable = _ref$clearable === void 0 ? false : _ref$clearable,
@@ -1078,7 +1109,7 @@ var MultiSelect = function MultiSelect(_ref) {
1078
1109
  openMenu = _useSelect.openMenu;
1079
1110
  var buttonText = selectedItems.length ? itemsSelectedLabel(selectedItems) : '';
1080
1111
  var multiSelectId = utils.useRandomId('eds-multiselect');
1081
- return React__default["default"].createElement(MultiSelectContext.Provider, {
1112
+ return React__default["default"].createElement(MultiSelectOldContext.Provider, {
1082
1113
  value: {
1083
1114
  isOpen: isOpen,
1084
1115
  reset: reset,
@@ -1154,8 +1185,8 @@ var MultiSelect = function MultiSelect(_ref) {
1154
1185
  };
1155
1186
  var ClearButton = function ClearButton(_ref3) {
1156
1187
  var props = _extends({}, (_objectDestructuringEmpty(_ref3), _ref3));
1157
- var _useMultiSelectContex = useMultiSelectContext(),
1158
- reset = _useMultiSelectContex.reset;
1188
+ var _useMultiSelectOldCon = useMultiSelectOldContext(),
1189
+ reset = _useMultiSelectOldCon.reset;
1159
1190
  return React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement("button", _extends({
1160
1191
  className: "eds-dropdown__clear-button",
1161
1192
  type: "button",
@@ -1173,7 +1204,7 @@ var Appendix = function Appendix(_ref4) {
1173
1204
  readOnly = _ref4.readOnly,
1174
1205
  hasSelected = _ref4.hasSelected;
1175
1206
  if (loading) {
1176
- return React__default["default"].createElement(DropdownLoadingDots, null, loadingText);
1207
+ return React__default["default"].createElement(DropdownDeprecatedLoadingDots, null, loadingText);
1177
1208
  }
1178
1209
  if (readOnly) {
1179
1210
  return null;
@@ -1181,11 +1212,11 @@ var Appendix = function Appendix(_ref4) {
1181
1212
  return hasSelected ? React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement(ClearButton, null), React__default["default"].createElement(DropdownToggleButton, null)) : React__default["default"].createElement(DropdownToggleButton, null);
1182
1213
  };
1183
1214
  var DropdownToggleButton = function DropdownToggleButton() {
1184
- var _useMultiSelectContex2 = useMultiSelectContext(),
1185
- getToggleButtonProps = _useMultiSelectContex2.getToggleButtonProps,
1186
- isOpen = _useMultiSelectContex2.isOpen,
1187
- openMenu = _useMultiSelectContex2.openMenu,
1188
- openOnFocus = _useMultiSelectContex2.openOnFocus;
1215
+ var _useMultiSelectOldCon2 = useMultiSelectOldContext(),
1216
+ getToggleButtonProps = _useMultiSelectOldCon2.getToggleButtonProps,
1217
+ isOpen = _useMultiSelectOldCon2.isOpen,
1218
+ openMenu = _useMultiSelectOldCon2.openMenu,
1219
+ openOnFocus = _useMultiSelectOldCon2.openOnFocus;
1189
1220
  return React__default["default"].createElement("button", _extends({}, getToggleButtonProps({
1190
1221
  className: classNames__default["default"]('eds-dropdown__toggle-button', {
1191
1222
  'eds-dropdown__toggle-button--open': isOpen
@@ -1217,9 +1248,11 @@ function SelectedItemsLabel(items) {
1217
1248
  }).toString() : items.length + " elementer valgt";
1218
1249
  }
1219
1250
 
1220
- var _excluded$5 = ["ariaLabelSelectedItem", "getItemProps", "getMenuProps", "inputValue", "isOpen", "highlightedIndex", "listItems", "listStyle", "loading", "loadingText", "noMatchesText", "selectAllCheckboxState", "selectAllItem", "selectedItems", "showSelectAllInList"];
1251
+ var _excluded$5 = ["ariaLabelChosenSingular", "ariaLabelSelectedItem", "getItemProps", "getMenuProps", "inputValue", "isOpen", "highlightedIndex", "listItems", "listStyle", "loading", "loadingText", "noMatchesText", "selectAllCheckboxState", "selectAllItem", "selectedItems", "showSelectAllInList"];
1221
1252
  var DropdownList = function DropdownList(_ref) {
1222
- var _ref$ariaLabelSelecte = _ref.ariaLabelSelectedItem,
1253
+ var _ref$ariaLabelChosenS = _ref.ariaLabelChosenSingular,
1254
+ ariaLabelChosenSingular = _ref$ariaLabelChosenS === void 0 ? 'valgt' : _ref$ariaLabelChosenS,
1255
+ _ref$ariaLabelSelecte = _ref.ariaLabelSelectedItem,
1223
1256
  ariaLabelSelectedItem = _ref$ariaLabelSelecte === void 0 ? ', valgt element, trykk for å fjerne' : _ref$ariaLabelSelecte,
1224
1257
  getItemProps = _ref.getItemProps,
1225
1258
  getMenuProps = _ref.getMenuProps,
@@ -1241,7 +1274,7 @@ var DropdownList = function DropdownList(_ref) {
1241
1274
  var isNoMatches = !loading && (listItems.length === 0 || listItems.length === 1 && listItems[0].value === (selectAllItem == null ? void 0 : selectAllItem.value));
1242
1275
  var isItemSelected = function isItemSelected(item) {
1243
1276
  return selectedItems.some(function (selectedItem) {
1244
- return selectedItem.value === item.value;
1277
+ return selectedItem.value === item.value && selectedItem.label === item.label;
1245
1278
  });
1246
1279
  };
1247
1280
  var ariaLabelSelectAll = function ariaLabelSelectAll() {
@@ -1252,7 +1285,7 @@ var DropdownList = function DropdownList(_ref) {
1252
1285
  }
1253
1286
  case true:
1254
1287
  {
1255
- return (selectAllItem == null ? void 0 : selectAllItem.label) + ", valgt";
1288
+ return (selectAllItem == null ? void 0 : selectAllItem.label) + ", " + ariaLabelChosenSingular;
1256
1289
  }
1257
1290
  default:
1258
1291
  {
@@ -1299,28 +1332,30 @@ var DropdownList = function DropdownList(_ref) {
1299
1332
  return (
1300
1333
  // use popover from @entur/tooltip when that package upgrades to floating-ui
1301
1334
  React__default["default"].createElement("ul", _extends({}, getMenuProps(), {
1302
- className: classNames__default["default"]('eds-dropdown__list', {
1303
- 'eds-dropdown__list--open': isOpen
1304
- }),
1305
- style: _extends({}, rest.style, listStyle)
1335
+ className: "eds-dropdown__list",
1336
+ style: _extends({
1337
+ display: isOpen ? 'inline-block' : 'none'
1338
+ }, rest.style, listStyle)
1306
1339
  }), listItems.length > 0 && listItems.map(function (item, index) {
1307
1340
  var itemIsSelectAll = item.value === (selectAllItem == null ? void 0 : selectAllItem.value);
1308
- if (itemIsSelectAll && listItems.length <= 2) return React__default["default"].createElement(React__default["default"].Fragment, null);
1341
+ if (itemIsSelectAll && listItems.length <= 2) return null;
1309
1342
  return React__default["default"].createElement("li", _extends({
1310
- key: item.value,
1343
+ key: item.label,
1311
1344
  className: classNames__default["default"]('eds-dropdown__list__item', {
1312
1345
  'eds-dropdown__list__item--select-all': itemIsSelectAll,
1313
1346
  'eds-dropdown__list__item--highlighted': highlightedIndex === index,
1314
1347
  'eds-dropdown__list__item--selected': !isMultiselect && isItemSelected(item)
1315
1348
  })
1316
1349
  }, getItemProps({
1317
- key: "" + index + item.value,
1350
+ key: item.label,
1318
1351
  item: item,
1319
1352
  index: index
1320
1353
  })), itemIsSelectAll ? selectAllListItemContent() : listItemContent(item));
1321
1354
  }), isNoMatches && React__default["default"].createElement("li", {
1355
+ key: "dropdown-list-no-match",
1322
1356
  className: "eds-dropdown__list__item"
1323
1357
  }, noMatchesText), loading && React__default["default"].createElement("li", {
1358
+ key: "dropdown-list-loading",
1324
1359
  className: "eds-dropdown__list__item"
1325
1360
  }, loadingText))
1326
1361
  );
@@ -1415,8 +1450,9 @@ var ClearableButton = function ClearableButton(_ref4) {
1415
1450
  focusable = _ref4$focusable === void 0 ? false : _ref4$focusable;
1416
1451
  return React__default["default"].createElement(tooltip.Tooltip, {
1417
1452
  "aria-hidden": "true",
1418
- placement: "right",
1419
- content: labelClearSelectedItems
1453
+ placement: "top",
1454
+ content: labelClearSelectedItems,
1455
+ className: "eds-dropdown-appendix__clear-button__tooltip"
1420
1456
  }, React__default["default"].createElement(button.IconButton, {
1421
1457
  className: "eds-dropdown-appendix__clear-button",
1422
1458
  type: "button",
@@ -1441,10 +1477,11 @@ var ToggleButton = function ToggleButton(_ref5) {
1441
1477
  return React__default["default"].createElement(button.IconButton, _extends({}, getToggleButtonProps({
1442
1478
  className: classNames__default["default"]('eds-dropdown-appendix__toggle-button', {
1443
1479
  'eds-dropdown-appendix__toggle-button--open': isOpen
1444
- })
1480
+ }),
1481
+ 'aria-labelledby': undefined
1445
1482
  }), {
1446
1483
  "aria-hidden": ariaHidden,
1447
- "aria-label": isOpen ? ariaLabelCloseList : ariaLabelOpenList,
1484
+ "aria-label": ariaHidden ? undefined : isOpen ? ariaLabelCloseList : ariaLabelOpenList,
1448
1485
  tabIndex: focusable ? 0 : -1,
1449
1486
  type: "button"
1450
1487
  }), React__default["default"].createElement(icons.DownArrowIcon, {
@@ -1592,7 +1629,7 @@ var isVoiceOverClick = function isVoiceOverClick(clickEvent) {
1592
1629
  /* end a11y utils */
1593
1630
 
1594
1631
  var _excluded$3 = ["ariaLabelCloseList", "ariaLabelOpenList", "className", "clearable", "debounceTimeout", "disabled", "disableLabelAnimation", "feedback", "itemFilter", "items", "label", "labelClearSelectedItem", "listStyle", "loadingText", "onChange", "placeholder", "prepend", "readOnly", "selectedItem", "selectOnBlur", "style", "variant"];
1595
- var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1632
+ var SearchableDropdown = function SearchableDropdown(_ref) {
1596
1633
  var _selectedItem$label;
1597
1634
  var ariaLabelCloseList = _ref.ariaLabelCloseList,
1598
1635
  ariaLabelOpenList = _ref.ariaLabelOpenList,
@@ -1749,7 +1786,8 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1749
1786
  });
1750
1787
  };
1751
1788
  return React__default["default"].createElement("div", {
1752
- className: "eds-dropdown__wrapper"
1789
+ className: classNames__default["default"]('eds-dropdown__wrapper', className),
1790
+ style: style
1753
1791
  }, React__default["default"].createElement(form.BaseFormControl, _extends({
1754
1792
  append: React__default["default"].createElement(FieldAppend$1, {
1755
1793
  ariaLabelCloseList: ariaLabelCloseList,
@@ -1765,7 +1803,7 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1765
1803
  onClear: handleOnClear,
1766
1804
  selectedItems: [selectedItem]
1767
1805
  }),
1768
- className: classNames__default["default"]('eds-dropdown', className),
1806
+ className: "eds-dropdown",
1769
1807
  disabled: disabled,
1770
1808
  disableLabelAnimation: disableLabelAnimation,
1771
1809
  feedback: feedback,
@@ -1775,7 +1813,6 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1775
1813
  labelProps: getLabelProps(),
1776
1814
  prepend: prepend,
1777
1815
  readOnly: readOnly,
1778
- style: style,
1779
1816
  variant: variant
1780
1817
  }, rest), !hideSelectedItem && selectedItem && !inputValue && React__default["default"].createElement("span", {
1781
1818
  className: "eds-dropdown__selected-item__wrapper",
@@ -1814,18 +1851,21 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1814
1851
  }));
1815
1852
  };
1816
1853
 
1817
- var _excluded$2 = ["className", "clearable", "clearInputOnSelect", "debounceTimeout", "disabled", "feedback", "hideSelectAll", "items", "label", "labelAllItemsSelected", "labelClearAllItems", "labelSelectAll", "listStyle", "loadingText", "maxTags", "onChange", "placeholder", "readOnly", "selectedItems", "selectOnBlur", "style", "variant", "ariaLabelChosenSingular", "ariaLabelChosenPlural", "ariaLabelCloseList", "ariaLabelJumpToInput", "ariaLabelOpenList", "ariaLabelRemoveSelected"];
1818
- var MultiSelectBeta = function MultiSelectBeta(_ref) {
1854
+ var _excluded$2 = ["className", "clearable", "clearInputOnSelect", "debounceTimeout", "disabled", "feedback", "hideSelectAll", "itemFilter", "items", "label", "labelAllItemsSelected", "labelClearAllItems", "labelSelectAll", "listStyle", "loadingText", "maxChips", "noMatchesText", "onChange", "placeholder", "readOnly", "selectedItems", "selectOnBlur", "style", "variant", "ariaLabelChosenSingular", "ariaLabelChosenPlural", "ariaLabelCloseList", "ariaLabelJumpToInput", "ariaLabelOpenList", "ariaLabelRemoveSelected", "ariaLabelSelectedItem"];
1855
+ var MultiSelect = function MultiSelect(_ref) {
1819
1856
  var className = _ref.className,
1820
1857
  _ref$clearable = _ref.clearable,
1821
1858
  clearable = _ref$clearable === void 0 ? true : _ref$clearable,
1822
1859
  _ref$clearInputOnSele = _ref.clearInputOnSelect,
1823
1860
  clearInputOnSelect = _ref$clearInputOnSele === void 0 ? false : _ref$clearInputOnSele,
1861
+ debounceTimeout = _ref.debounceTimeout,
1824
1862
  _ref$disabled = _ref.disabled,
1825
1863
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1826
1864
  feedback = _ref.feedback,
1827
1865
  _ref$hideSelectAll = _ref.hideSelectAll,
1828
1866
  hideSelectAll = _ref$hideSelectAll === void 0 ? false : _ref$hideSelectAll,
1867
+ _ref$itemFilter = _ref.itemFilter,
1868
+ itemFilter = _ref$itemFilter === void 0 ? lowerCaseFilterTest : _ref$itemFilter,
1829
1869
  initialItems = _ref.items,
1830
1870
  label = _ref.label,
1831
1871
  _ref$labelAllItemsSel = _ref.labelAllItemsSelected,
@@ -1836,8 +1876,8 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1836
1876
  labelSelectAll = _ref$labelSelectAll === void 0 ? 'Velg alle' : _ref$labelSelectAll,
1837
1877
  listStyle = _ref.listStyle,
1838
1878
  loadingText = _ref.loadingText,
1839
- _ref$maxTags = _ref.maxTags,
1840
- maxTags = _ref$maxTags === void 0 ? 10 : _ref$maxTags,
1879
+ _ref$maxChips = _ref.maxChips,
1880
+ maxChips = _ref$maxChips === void 0 ? 10 : _ref$maxChips,
1841
1881
  _ref$onChange = _ref.onChange,
1842
1882
  onChange = _ref$onChange === void 0 ? function () {
1843
1883
  return undefined;
@@ -1861,6 +1901,8 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1861
1901
  ariaLabelOpenList = _ref.ariaLabelOpenList,
1862
1902
  _ref$ariaLabelRemoveS = _ref.ariaLabelRemoveSelected,
1863
1903
  ariaLabelRemoveSelected = _ref$ariaLabelRemoveS === void 0 ? 'trykk for å fjerne valg' : _ref$ariaLabelRemoveS,
1904
+ _ref$ariaLabelSelecte = _ref.ariaLabelSelectedItem,
1905
+ ariaLabelSelectedItem = _ref$ariaLabelSelecte === void 0 ? ', valgt element, trykk for å fjerne' : _ref$ariaLabelSelecte,
1864
1906
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
1865
1907
  var _React$useState = React__default["default"].useState(0),
1866
1908
  lastHighlightedIndex = _React$useState[0],
@@ -1869,7 +1911,7 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1869
1911
  lastRemovedItem = _React$useState2[0],
1870
1912
  setLastRemovedItem = _React$useState2[1];
1871
1913
  var inputRef = React.useRef(null);
1872
- var _useResolvedItems = useResolvedItems(initialItems),
1914
+ var _useResolvedItems = useResolvedItems(initialItems, debounceTimeout),
1873
1915
  normalizedItems = _useResolvedItems.items,
1874
1916
  loading = _useResolvedItems.loading,
1875
1917
  fetchItems = _useResolvedItems.fetchItems;
@@ -1880,20 +1922,20 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1880
1922
  label: labelSelectAll
1881
1923
  };
1882
1924
  // special 'item' used as a replacement selected item tag for when
1883
- // there are more selected element than maxTags
1925
+ // there are more selected element than maxChips
1884
1926
  var summarySelectedItems = React__default["default"].useMemo(function () {
1885
1927
  return {
1886
1928
  value: EMPTY_INPUT,
1887
1929
  label: isAllNonAsyncItemsSelected ? labelAllItemsSelected : selectedItems.length + ' ' + ariaLabelChosenPlural
1888
1930
  };
1889
- }, [isAllNonAsyncItemsSelected, selectedItems, labelAllItemsSelected]);
1931
+ }, [isAllNonAsyncItemsSelected, selectedItems, labelAllItemsSelected, ariaLabelChosenPlural]);
1890
1932
  var _useState = React.useState([].concat(!hideSelectAll ? [selectAll] : [], normalizedItems)),
1891
1933
  listItems = _useState[0],
1892
1934
  setListItems = _useState[1];
1893
1935
  var filterListItems = function filterListItems(_ref2) {
1894
1936
  var inputValue = _ref2.inputValue;
1895
1937
  return setListItems([].concat(!hideSelectAll ? [selectAll] : [], normalizedItems.filter(function (item) {
1896
- return lowerCaseFilterTest(item, inputValue);
1938
+ return itemFilter(item, inputValue);
1897
1939
  })));
1898
1940
  };
1899
1941
  var updateListItems = function updateListItems(_ref3) {
@@ -1919,6 +1961,20 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1919
1961
  var _useMultipleSelection = Downshift.useMultipleSelection({
1920
1962
  selectedItems: selectedItems,
1921
1963
  itemToString: itemToString,
1964
+ onStateChange: function onStateChange(_ref4) {
1965
+ var newSelectedItems = _ref4.selectedItems,
1966
+ type = _ref4.type;
1967
+ switch (type) {
1968
+ case Downshift.useMultipleSelection.stateChangeTypes.SelectedItemKeyDownBackspace:
1969
+ case Downshift.useMultipleSelection.stateChangeTypes.SelectedItemKeyDownDelete:
1970
+ case Downshift.useMultipleSelection.stateChangeTypes.DropdownKeyDownBackspace:
1971
+ case Downshift.useMultipleSelection.stateChangeTypes.FunctionRemoveSelectedItem:
1972
+ {
1973
+ if (newSelectedItems !== undefined) onChange(newSelectedItems);
1974
+ break;
1975
+ }
1976
+ }
1977
+ },
1922
1978
  // Accessibility
1923
1979
  getA11yRemovalMessage: function getA11yRemovalMessage$1(options) {
1924
1980
  return getA11yRemovalMessage(_extends({}, options, {
@@ -1929,9 +1985,9 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1929
1985
  }),
1930
1986
  getSelectedItemProps = _useMultipleSelection.getSelectedItemProps,
1931
1987
  getDropdownProps = _useMultipleSelection.getDropdownProps;
1932
- var stateReducer = React__default["default"].useCallback(function (_, _ref4) {
1933
- var changes = _ref4.changes,
1934
- type = _ref4.type;
1988
+ var stateReducer = React__default["default"].useCallback(function (_, _ref5) {
1989
+ var changes = _ref5.changes,
1990
+ type = _ref5.type;
1935
1991
  if (changes.highlightedIndex !== undefined && (changes == null ? void 0 : changes.highlightedIndex) >= 0) {
1936
1992
  setLastHighlightedIndex(changes == null ? void 0 : changes.highlightedIndex);
1937
1993
  }
@@ -2001,9 +2057,9 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
2001
2057
  itemToString: itemToString,
2002
2058
  selectedItem: null,
2003
2059
  stateReducer: stateReducer,
2004
- onStateChange: function onStateChange(_ref5) {
2005
- var type = _ref5.type,
2006
- clickedItem = _ref5.selectedItem;
2060
+ onStateChange: function onStateChange(_ref6) {
2061
+ var type = _ref6.type,
2062
+ clickedItem = _ref6.selectedItem;
2007
2063
  // clickedItem means item chosen either via mouse or keyboard
2008
2064
  if (!clickedItem) return;
2009
2065
  switch (type) {
@@ -2055,7 +2111,8 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
2055
2111
  });
2056
2112
  };
2057
2113
  return React__default["default"].createElement("div", {
2058
- className: "eds-dropdown__wrapper"
2114
+ className: classNames__default["default"]('eds-dropdown__wrapper', className),
2115
+ style: style
2059
2116
  }, React__default["default"].createElement(form.BaseFormControl, _extends({
2060
2117
  append: React__default["default"].createElement(FieldAppend$1, {
2061
2118
  ariaLabelCloseList: ariaLabelCloseList,
@@ -2071,7 +2128,7 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
2071
2128
  onClear: handleOnClear,
2072
2129
  getToggleButtonProps: getToggleButtonProps
2073
2130
  }),
2074
- className: classNames__default["default"]('eds-dropdown', className),
2131
+ className: "eds-dropdown",
2075
2132
  disabled: disabled,
2076
2133
  feedback: feedback,
2077
2134
  isFilled: hasSelectedItems || inputValue !== EMPTY_INPUT,
@@ -2079,7 +2136,6 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
2079
2136
  labelId: getLabelProps().id,
2080
2137
  labelProps: getLabelProps(),
2081
2138
  readOnly: readOnly,
2082
- style: style,
2083
2139
  variant: variant
2084
2140
  }, rest), React__default["default"].createElement("div", {
2085
2141
  className: classNames__default["default"]('eds-dropdown__selected-items-and-input', {
@@ -2089,7 +2145,7 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
2089
2145
  var _inputRef$current4;
2090
2146
  if (e.target === e.currentTarget) (_inputRef$current4 = inputRef.current) == null ? void 0 : _inputRef$current4.focus();
2091
2147
  }
2092
- }, selectedItems.length < maxTags ? React__default["default"].createElement(React__default["default"].Fragment, null, selectedItems.length > 1 ? React__default["default"].createElement(a11y.VisuallyHidden, {
2148
+ }, selectedItems.length < maxChips ? React__default["default"].createElement(React__default["default"].Fragment, null, selectedItems.length > 1 ? React__default["default"].createElement(a11y.VisuallyHidden, {
2093
2149
  onClick: function onClick() {
2094
2150
  var _inputRef$current5;
2095
2151
  return (_inputRef$current5 = inputRef.current) == null ? void 0 : _inputRef$current5.focus();
@@ -2133,6 +2189,8 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
2133
2189
  ref: inputRef,
2134
2190
  value: inputValue != null ? inputValue : EMPTY_INPUT
2135
2191
  })))))), React__default["default"].createElement(DropdownList, {
2192
+ ariaLabelChosenSingular: ariaLabelChosenSingular,
2193
+ ariaLabelSelectedItem: ariaLabelSelectedItem,
2136
2194
  getItemProps: getItemProps,
2137
2195
  getMenuProps: getMenuProps,
2138
2196
  highlightedIndex: highlightedIndex,
@@ -2149,11 +2207,13 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
2149
2207
  };
2150
2208
 
2151
2209
  var _excluded$1 = ["ariaLabelCloseList", "ariaLabelOpenList", "className", "clearable", "disabled", "disableLabelAnimation", "feedback", "items", "label", "labelClearSelectedItem", "listStyle", "loadingText", "onChange", "placeholder", "prepend", "readOnly", "selectedItem", "selectOnBlur", "style", "variant"];
2152
- var DropdownBeta = function DropdownBeta(_ref) {
2210
+ var Dropdown = function Dropdown(_ref) {
2153
2211
  var _ref3, _selectedItem$label;
2154
2212
  var ariaLabelCloseList = _ref.ariaLabelCloseList,
2155
2213
  ariaLabelOpenList = _ref.ariaLabelOpenList,
2156
2214
  className = _ref.className,
2215
+ _ref$clearable = _ref.clearable,
2216
+ clearable = _ref$clearable === void 0 ? false : _ref$clearable,
2157
2217
  _ref$disabled = _ref.disabled,
2158
2218
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
2159
2219
  disableLabelAnimation = _ref.disableLabelAnimation,
@@ -2189,11 +2249,13 @@ var DropdownBeta = function DropdownBeta(_ref) {
2189
2249
  clickedItem = _ref2.selectedItem;
2190
2250
  switch (type) {
2191
2251
  // @ts-expect-error This falltrough is wanted
2192
- case Downshift.useSelect.stateChangeTypes.InputBlur:
2252
+ case Downshift.useSelect.stateChangeTypes.ToggleButtonBlur:
2193
2253
  if (!selectOnBlur) break;
2194
2254
  case Downshift.useSelect.stateChangeTypes.ToggleButtonKeyDownEnter: // eslint-disable-line no-fallthrough
2195
2255
  case Downshift.useSelect.stateChangeTypes.ItemClick:
2196
- onChange == null ? void 0 : onChange(clickedItem !== undefined ? clickedItem : null);
2256
+ {
2257
+ onChange == null ? void 0 : onChange(clickedItem !== undefined ? clickedItem : null);
2258
+ }
2197
2259
  }
2198
2260
  },
2199
2261
  itemToString: itemToString
@@ -2205,13 +2267,14 @@ var DropdownBeta = function DropdownBeta(_ref) {
2205
2267
  getToggleButtonProps = _useSelect.getToggleButtonProps,
2206
2268
  highlightedIndex = _useSelect.highlightedIndex;
2207
2269
  return React__default["default"].createElement("div", {
2208
- className: "eds-dropdown__wrapper"
2270
+ className: classNames__default["default"]('eds-dropdown__wrapper', className),
2271
+ style: style
2209
2272
  }, React__default["default"].createElement(form.BaseFormControl, _extends({
2210
2273
  append: React__default["default"].createElement(FieldAppend$1, {
2211
2274
  ariaHiddenToggleButton: true,
2212
2275
  ariaLabelCloseList: ariaLabelCloseList,
2213
2276
  ariaLabelOpenList: ariaLabelOpenList,
2214
- clearable: true,
2277
+ clearable: clearable,
2215
2278
  labelClearSelectedItems: labelClearSelectedItem,
2216
2279
  focusable: false,
2217
2280
  getToggleButtonProps: getToggleButtonProps,
@@ -2224,7 +2287,7 @@ var DropdownBeta = function DropdownBeta(_ref) {
2224
2287
  disabled: readOnly || disabled,
2225
2288
  selectedItems: [selectedItem]
2226
2289
  }),
2227
- className: classNames__default["default"]('eds-dropdown', className, {
2290
+ className: classNames__default["default"]('eds-dropdown', {
2228
2291
  'eds-dropdown--not-filled': !isFilled
2229
2292
  }),
2230
2293
  disabled: disabled,
@@ -2236,11 +2299,12 @@ var DropdownBeta = function DropdownBeta(_ref) {
2236
2299
  labelProps: getLabelProps(),
2237
2300
  prepend: prepend,
2238
2301
  readOnly: readOnly,
2239
- style: style,
2240
2302
  variant: variant
2241
- }, rest), React__default["default"].createElement("button", _extends({
2303
+ }, rest), React__default["default"].createElement("div", _extends({
2242
2304
  className: "eds-dropdown__selected-item-button"
2243
- }, getToggleButtonProps()), (_ref3 = (_selectedItem$label = selectedItem == null ? void 0 : selectedItem.label) != null ? _selectedItem$label : React__default["default"].createElement("span", {
2305
+ }, getToggleButtonProps({
2306
+ id: undefined
2307
+ })), (_ref3 = (_selectedItem$label = selectedItem == null ? void 0 : selectedItem.label) != null ? _selectedItem$label : React__default["default"].createElement("span", {
2244
2308
  className: classNames__default["default"]('eds-dropdown__selected-item-button__placeholder', {
2245
2309
  'eds-dropdown__selected-item-button__placeholder--readonly': readOnly
2246
2310
  })
@@ -2344,9 +2408,9 @@ var FieldAppend = function FieldAppend(_ref3) {
2344
2408
  utils.warnAboutMissingStyles('dropdown', 'form', 'a11y', 'chip');
2345
2409
 
2346
2410
  exports.Dropdown = Dropdown;
2347
- exports.DropdownBeta = DropdownBeta;
2411
+ exports.DropdownDeprecated = DropdownDeprecated;
2348
2412
  exports.MultiSelect = MultiSelect;
2349
- exports.MultiSelectBeta = MultiSelectBeta;
2413
+ exports.MultiSelectDeprecated = MultiSelectDeprecated;
2350
2414
  exports.NativeDropdown = NativeDropdown;
2351
- exports.SearchableDropdownBeta = SearchableDropdownBeta;
2415
+ exports.SearchableDropdown = SearchableDropdown;
2352
2416
  //# sourceMappingURL=dropdown.cjs.development.js.map