@entur/dropdown 5.0.0-beta.3 → 5.0.0

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 (33) hide show
  1. package/dist/Dropdown.d.ts +38 -37
  2. package/dist/MultiSelect.d.ts +89 -32
  3. package/dist/NativeDropdown.d.ts +23 -9
  4. package/dist/SearchableDropdown.d.ts +63 -17
  5. package/dist/{beta/components → components}/DropdownList.d.ts +11 -10
  6. package/dist/{beta/components → components}/FieldComponents.d.ts +7 -3
  7. package/dist/{BaseDropdown.d.ts → deprecated/BaseDropdown.d.ts} +3 -3
  8. package/dist/{DownshiftProvider.d.ts → deprecated/DownshiftProvider.d.ts} +1 -1
  9. package/dist/deprecated/Dropdown.d.ts +72 -0
  10. package/dist/{DropdownInputGroup.d.ts → deprecated/DropdownInputGroup.d.ts} +2 -2
  11. package/dist/deprecated/DropdownList.d.ts +8 -0
  12. package/dist/{DropdownLoadingDots.d.ts → deprecated/DropdownLoadingDots.d.ts} +1 -1
  13. package/dist/deprecated/DropdownToggleButton.d.ts +3 -0
  14. package/dist/deprecated/MultiSelect.d.ts +64 -0
  15. package/dist/{RegularDropdown.d.ts → deprecated/RegularDropdown.d.ts} +3 -3
  16. package/dist/deprecated/SearchableDropdown.d.ts +34 -0
  17. package/dist/{beta → deprecated}/index.d.ts +1 -2
  18. package/dist/dropdown.cjs.development.js +588 -347
  19. package/dist/dropdown.cjs.development.js.map +1 -1
  20. package/dist/dropdown.cjs.production.min.js +1 -1
  21. package/dist/dropdown.cjs.production.min.js.map +1 -1
  22. package/dist/dropdown.esm.js +586 -345
  23. package/dist/dropdown.esm.js.map +1 -1
  24. package/dist/index.d.ts +4 -3
  25. package/dist/styles.css +254 -252
  26. package/dist/useNormalizedItems.d.ts +5 -6
  27. package/dist/{beta/utils.d.ts → utils.d.ts} +25 -4
  28. package/package.json +12 -12
  29. package/dist/DropdownList.d.ts +0 -8
  30. package/dist/DropdownToggleButton.d.ts +0 -3
  31. package/dist/beta/Dropdown.d.ts +0 -52
  32. package/dist/beta/MultiSelect.d.ts +0 -76
  33. package/dist/beta/SearchableDropdown.d.ts +0 -61
@@ -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({
@@ -976,68 +997,10 @@ var Dropdown = /*#__PURE__*/React__default["default"].forwardRef(function (_ref,
976
997
  }, searchAbleProps))));
977
998
  });
978
999
 
979
- var _excluded$6 = ["className", "disabled", "readOnly", "items", "loadingText", "prepend", "style", "label", "variant", "feedback", "disableLabelAnimation"];
980
- var NativeDropdown = function NativeDropdown(_ref) {
981
- var className = _ref.className,
982
- _ref$disabled = _ref.disabled,
983
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
984
- _ref$readOnly = _ref.readOnly,
985
- readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
986
- items = _ref.items,
987
- loadingText = _ref.loadingText,
988
- prepend = _ref.prepend,
989
- style = _ref.style,
990
- label = _ref.label,
991
- variant = _ref.variant,
992
- feedback = _ref.feedback,
993
- disableLabelAnimation = _ref.disableLabelAnimation,
994
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
995
- var _useResolvedItems = useResolvedItems(items),
996
- normalizedItems = _useResolvedItems.items,
997
- loading = _useResolvedItems.loading;
998
- var rightSideIcon = React__default["default"].createElement(icons.DownArrowIcon, {
999
- inline: true,
1000
- "aria-hidden": "true"
1001
- });
1002
- if (disabled || readOnly) {
1003
- rightSideIcon = null;
1004
- } else if (loading) {
1005
- rightSideIcon = React__default["default"].createElement(DropdownLoadingDots, {
1006
- "aria-hidden": "true"
1007
- }, loadingText);
1008
- }
1009
- var nativeDropdownId = utils.useRandomId('eds-native-dropdown');
1010
- return React__default["default"].createElement(form.BaseFormControl, {
1011
- disabled: disabled,
1012
- readOnly: readOnly,
1013
- prepend: prepend,
1014
- append: rightSideIcon,
1015
- className: className,
1016
- style: style,
1017
- label: label,
1018
- labelId: nativeDropdownId,
1019
- variant: variant,
1020
- feedback: feedback,
1021
- disableLabelAnimation: disableLabelAnimation,
1022
- isFilled: true
1023
- }, React__default["default"].createElement("select", _extends({
1024
- "aria-invalid": variant === 'error',
1025
- "aria-labelledby": nativeDropdownId,
1026
- "aria-busy": loading,
1027
- className: "eds-form-control eds-dropdown",
1028
- disabled: disabled || readOnly
1029
- }, rest), normalizedItems.map(function (item) {
1030
- return React__default["default"].createElement("option", {
1031
- key: item.value,
1032
- value: item.value
1033
- }, item.label);
1034
- })));
1035
- };
1036
-
1037
- var _excluded$5 = ["className", "clearable", "debounceTimeout", "disabled", "feedback", "initialSelectedItems", "items", "itemsSelectedLabel", "label", "listStyle", "loading", "loadingText", "onChange", "openOnFocus", "readOnly", "style", "variant"];
1038
- var MultiSelectContext = /*#__PURE__*/React__default["default"].createContext(null);
1039
- var useMultiSelectContext = function useMultiSelectContext() {
1040
- var context = React__default["default"].useContext(MultiSelectContext);
1000
+ var _excluded$6 = ["className", "clearable", "debounceTimeout", "disabled", "feedback", "initialSelectedItems", "items", "itemsSelectedLabel", "label", "listStyle", "loading", "loadingText", "onChange", "openOnFocus", "readOnly", "style", "variant"];
1001
+ var MultiSelectOldContext = /*#__PURE__*/React__default["default"].createContext(null);
1002
+ var useMultiSelectOldContext = function useMultiSelectOldContext() {
1003
+ var context = React__default["default"].useContext(MultiSelectOldContext);
1041
1004
  if (!context) {
1042
1005
  throw new Error('You need to wrap your component in a DownshiftProvider');
1043
1006
  }
@@ -1049,8 +1012,8 @@ actionAndChanges) {
1049
1012
  var changes = actionAndChanges.changes,
1050
1013
  type = actionAndChanges.type;
1051
1014
  switch (type) {
1052
- case Downshift.useSelect.stateChangeTypes.MenuKeyDownEnter:
1053
- case Downshift.useSelect.stateChangeTypes.MenuKeyDownSpaceButton:
1015
+ case Downshift.useSelect.stateChangeTypes.ToggleButtonKeyDownEnter:
1016
+ case Downshift.useSelect.stateChangeTypes.ToggleButtonKeyDownSpaceButton:
1054
1017
  case Downshift.useSelect.stateChangeTypes.ItemClick:
1055
1018
  return _extends({}, changes, {
1056
1019
  isOpen: true,
@@ -1060,7 +1023,17 @@ actionAndChanges) {
1060
1023
  return changes;
1061
1024
  }
1062
1025
  }
1063
- 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) {
1064
1037
  var className = _ref.className,
1065
1038
  _ref$clearable = _ref.clearable,
1066
1039
  clearable = _ref$clearable === void 0 ? false : _ref$clearable,
@@ -1090,7 +1063,7 @@ var MultiSelect = function MultiSelect(_ref) {
1090
1063
  readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
1091
1064
  style = _ref.style,
1092
1065
  variant = _ref.variant,
1093
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
1066
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
1094
1067
  var _useResolvedItems = useResolvedItems(input, debounceTimeout),
1095
1068
  items = _useResolvedItems.items;
1096
1069
  var _useState = React.useState(initialSelectedItems),
@@ -1136,7 +1109,7 @@ var MultiSelect = function MultiSelect(_ref) {
1136
1109
  openMenu = _useSelect.openMenu;
1137
1110
  var buttonText = selectedItems.length ? itemsSelectedLabel(selectedItems) : '';
1138
1111
  var multiSelectId = utils.useRandomId('eds-multiselect');
1139
- return React__default["default"].createElement(MultiSelectContext.Provider, {
1112
+ return React__default["default"].createElement(MultiSelectOldContext.Provider, {
1140
1113
  value: {
1141
1114
  isOpen: isOpen,
1142
1115
  reset: reset,
@@ -1212,8 +1185,8 @@ var MultiSelect = function MultiSelect(_ref) {
1212
1185
  };
1213
1186
  var ClearButton = function ClearButton(_ref3) {
1214
1187
  var props = _extends({}, (_objectDestructuringEmpty(_ref3), _ref3));
1215
- var _useMultiSelectContex = useMultiSelectContext(),
1216
- reset = _useMultiSelectContex.reset;
1188
+ var _useMultiSelectOldCon = useMultiSelectOldContext(),
1189
+ reset = _useMultiSelectOldCon.reset;
1217
1190
  return React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement("button", _extends({
1218
1191
  className: "eds-dropdown__clear-button",
1219
1192
  type: "button",
@@ -1231,7 +1204,7 @@ var Appendix = function Appendix(_ref4) {
1231
1204
  readOnly = _ref4.readOnly,
1232
1205
  hasSelected = _ref4.hasSelected;
1233
1206
  if (loading) {
1234
- return React__default["default"].createElement(DropdownLoadingDots, null, loadingText);
1207
+ return React__default["default"].createElement(DropdownDeprecatedLoadingDots, null, loadingText);
1235
1208
  }
1236
1209
  if (readOnly) {
1237
1210
  return null;
@@ -1239,11 +1212,11 @@ var Appendix = function Appendix(_ref4) {
1239
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);
1240
1213
  };
1241
1214
  var DropdownToggleButton = function DropdownToggleButton() {
1242
- var _useMultiSelectContex2 = useMultiSelectContext(),
1243
- getToggleButtonProps = _useMultiSelectContex2.getToggleButtonProps,
1244
- isOpen = _useMultiSelectContex2.isOpen,
1245
- openMenu = _useMultiSelectContex2.openMenu,
1246
- openOnFocus = _useMultiSelectContex2.openOnFocus;
1215
+ var _useMultiSelectOldCon2 = useMultiSelectOldContext(),
1216
+ getToggleButtonProps = _useMultiSelectOldCon2.getToggleButtonProps,
1217
+ isOpen = _useMultiSelectOldCon2.isOpen,
1218
+ openMenu = _useMultiSelectOldCon2.openMenu,
1219
+ openOnFocus = _useMultiSelectOldCon2.openOnFocus;
1247
1220
  return React__default["default"].createElement("button", _extends({}, getToggleButtonProps({
1248
1221
  className: classNames__default["default"]('eds-dropdown__toggle-button', {
1249
1222
  'eds-dropdown__toggle-button--open': isOpen
@@ -1275,33 +1248,51 @@ function SelectedItemsLabel(items) {
1275
1248
  }).toString() : items.length + " elementer valgt";
1276
1249
  }
1277
1250
 
1278
- var _excluded$4 = ["selectedItems", "listItems", "inputValue", "isOpen", "getMenuProps", "getItemProps", "highlightedIndex", "showSelectAllInList", "loading", "selectAllCheckboxState", "selectAllItem", "listStyle", "noMatchesText", "loadingText", "selectedItemAriaLabel"];
1251
+ var _excluded$5 = ["ariaLabelChosenSingular", "ariaLabelSelectedItem", "getItemProps", "getMenuProps", "inputValue", "isOpen", "highlightedIndex", "listItems", "listStyle", "loading", "loadingText", "noMatchesText", "selectAllCheckboxState", "selectAllItem", "selectedItems", "showSelectAllInList"];
1279
1252
  var DropdownList = function DropdownList(_ref) {
1280
- var selectedItems = _ref.selectedItems,
1281
- listItems = _ref.listItems,
1282
- isOpen = _ref.isOpen,
1283
- getMenuProps = _ref.getMenuProps,
1253
+ var _ref$ariaLabelChosenS = _ref.ariaLabelChosenSingular,
1254
+ ariaLabelChosenSingular = _ref$ariaLabelChosenS === void 0 ? 'valgt' : _ref$ariaLabelChosenS,
1255
+ _ref$ariaLabelSelecte = _ref.ariaLabelSelectedItem,
1256
+ ariaLabelSelectedItem = _ref$ariaLabelSelecte === void 0 ? ', valgt element, trykk for å fjerne' : _ref$ariaLabelSelecte,
1284
1257
  getItemProps = _ref.getItemProps,
1258
+ getMenuProps = _ref.getMenuProps,
1259
+ isOpen = _ref.isOpen,
1285
1260
  highlightedIndex = _ref.highlightedIndex,
1261
+ listItems = _ref.listItems,
1262
+ listStyle = _ref.listStyle,
1286
1263
  _ref$loading = _ref.loading,
1287
1264
  loading = _ref$loading === void 0 ? false : _ref$loading,
1288
- selectAllCheckboxState = _ref.selectAllCheckboxState,
1289
- selectAllItem = _ref.selectAllItem,
1290
- listStyle = _ref.listStyle,
1291
- _ref$noMatchesText = _ref.noMatchesText,
1292
- noMatchesText = _ref$noMatchesText === void 0 ? 'Ingen treff for søket' : _ref$noMatchesText,
1293
1265
  _ref$loadingText = _ref.loadingText,
1294
1266
  loadingText = _ref$loadingText === void 0 ? 'Laster inn …' : _ref$loadingText,
1295
- _ref$selectedItemAria = _ref.selectedItemAriaLabel,
1296
- selectedItemAriaLabel = _ref$selectedItemAria === void 0 ? ', valgt element' : _ref$selectedItemAria,
1297
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
1267
+ _ref$noMatchesText = _ref.noMatchesText,
1268
+ noMatchesText = _ref$noMatchesText === void 0 ? 'Ingen treff for søket' : _ref$noMatchesText,
1269
+ selectAllCheckboxState = _ref.selectAllCheckboxState,
1270
+ selectAllItem = _ref.selectAllItem,
1271
+ selectedItems = _ref.selectedItems,
1272
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
1298
1273
  var isMultiselect = selectAllItem !== undefined;
1299
1274
  var isNoMatches = !loading && (listItems.length === 0 || listItems.length === 1 && listItems[0].value === (selectAllItem == null ? void 0 : selectAllItem.value));
1300
- var itemIsSelected = function itemIsSelected(item) {
1275
+ var isItemSelected = function isItemSelected(item) {
1301
1276
  return selectedItems.some(function (selectedItem) {
1302
- return selectedItem.value === item.value;
1277
+ return selectedItem.value === item.value && selectedItem.label === item.label;
1303
1278
  });
1304
1279
  };
1280
+ var ariaLabelSelectAll = function ariaLabelSelectAll() {
1281
+ switch (selectAllCheckboxState == null ? void 0 : selectAllCheckboxState()) {
1282
+ case 'indeterminate':
1283
+ {
1284
+ return (selectAllItem == null ? void 0 : selectAllItem.label) + ", delvis valgt";
1285
+ }
1286
+ case true:
1287
+ {
1288
+ return (selectAllItem == null ? void 0 : selectAllItem.label) + ", " + ariaLabelChosenSingular;
1289
+ }
1290
+ default:
1291
+ {
1292
+ return "" + (selectAllItem == null ? void 0 : selectAllItem.label);
1293
+ }
1294
+ }
1295
+ };
1305
1296
  var selectAllListItemContent = function selectAllListItemContent() {
1306
1297
  return React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement(form.Checkbox, {
1307
1298
  "aria-hidden": "true",
@@ -1312,13 +1303,14 @@ var DropdownList = function DropdownList(_ref) {
1312
1303
  },
1313
1304
  tabIndex: -1
1314
1305
  }), React__default["default"].createElement("span", {
1315
- className: "eds-dropdown__list__item__text"
1306
+ className: "eds-dropdown__list__item__text",
1307
+ "aria-label": ariaLabelSelectAll()
1316
1308
  }, selectAllItem == null ? void 0 : selectAllItem.label));
1317
1309
  };
1318
1310
  var listItemContent = function listItemContent(item) {
1319
1311
  return React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement(form.Checkbox, {
1320
1312
  "aria-hidden": "true",
1321
- checked: itemIsSelected(item),
1313
+ checked: isItemSelected(item),
1322
1314
  className: "eds-dropdown__list__item__checkbox",
1323
1315
  onChange: function onChange() {
1324
1316
  return;
@@ -1329,7 +1321,7 @@ var DropdownList = function DropdownList(_ref) {
1329
1321
  tabIndex: -1
1330
1322
  }), React__default["default"].createElement("span", {
1331
1323
  className: "eds-dropdown__list__item__text"
1332
- }, item.label, React__default["default"].createElement(a11y.VisuallyHidden, null, selectedItemAriaLabel)), item.icons && React__default["default"].createElement("span", null, item.icons.map(function (Icon, index) {
1324
+ }, item.label, React__default["default"].createElement(a11y.VisuallyHidden, null, isItemSelected(item) ? ariaLabelSelectedItem : '')), item.icons && React__default["default"].createElement("span", null, item.icons.map(function (Icon, index) {
1333
1325
  return React__default["default"].createElement(Icon, {
1334
1326
  key: index,
1335
1327
  inline: true,
@@ -1338,35 +1330,166 @@ var DropdownList = function DropdownList(_ref) {
1338
1330
  })));
1339
1331
  };
1340
1332
  return (
1341
- // use popover from @entur/tooltip when the package uses floating-ui
1333
+ // use popover from @entur/tooltip when that package upgrades to floating-ui
1342
1334
  React__default["default"].createElement("ul", _extends({}, getMenuProps(), {
1343
- className: classNames__default["default"]('eds-dropdown__list', {
1344
- 'eds-dropdown__list--open': isOpen
1345
- }),
1346
- style: _extends({}, rest.style, listStyle)
1347
- }), isOpen && listItems.length > 0 && listItems.map(function (item, index) {
1335
+ className: "eds-dropdown__list",
1336
+ style: _extends({
1337
+ display: isOpen ? 'inline-block' : 'none'
1338
+ }, rest.style, listStyle)
1339
+ }), listItems.length > 0 && listItems.map(function (item, index) {
1348
1340
  var itemIsSelectAll = item.value === (selectAllItem == null ? void 0 : selectAllItem.value);
1349
- if (itemIsSelectAll && listItems.length <= 2) return React__default["default"].createElement(React__default["default"].Fragment, null);
1341
+ if (itemIsSelectAll && listItems.length <= 2) return null;
1350
1342
  return React__default["default"].createElement("li", _extends({
1351
- key: item.value,
1343
+ key: item.label,
1352
1344
  className: classNames__default["default"]('eds-dropdown__list__item', {
1353
1345
  'eds-dropdown__list__item--select-all': itemIsSelectAll,
1354
1346
  'eds-dropdown__list__item--highlighted': highlightedIndex === index,
1355
- 'eds-dropdown__list__item--selected': !isMultiselect && itemIsSelected(item)
1347
+ 'eds-dropdown__list__item--selected': !isMultiselect && isItemSelected(item)
1356
1348
  })
1357
1349
  }, getItemProps({
1358
- key: "" + index + item.value,
1350
+ key: item.label,
1359
1351
  item: item,
1360
1352
  index: index
1361
1353
  })), itemIsSelectAll ? selectAllListItemContent() : listItemContent(item));
1362
- }), isOpen && isNoMatches && React__default["default"].createElement("li", {
1354
+ }), isNoMatches && React__default["default"].createElement("li", {
1355
+ key: "dropdown-list-no-match",
1363
1356
  className: "eds-dropdown__list__item"
1364
- }, noMatchesText), isOpen && loading && React__default["default"].createElement("li", {
1357
+ }, noMatchesText), loading && React__default["default"].createElement("li", {
1358
+ key: "dropdown-list-loading",
1365
1359
  className: "eds-dropdown__list__item"
1366
1360
  }, loadingText))
1367
1361
  );
1368
1362
  };
1369
1363
 
1364
+ var _excluded$4 = ["tabIndex"];
1365
+ var SelectedItemTag = function SelectedItemTag(_ref) {
1366
+ var _getSelectedItemProps;
1367
+ var ariaLabelRemoveSelected = _ref.ariaLabelRemoveSelected,
1368
+ _ref$ariaLabelChosen = _ref.ariaLabelChosen,
1369
+ ariaLabelChosen = _ref$ariaLabelChosen === void 0 ? 'valgt' : _ref$ariaLabelChosen,
1370
+ disabled = _ref.disabled,
1371
+ getSelectedItemProps = _ref.getSelectedItemProps,
1372
+ index = _ref.index,
1373
+ readOnly = _ref.readOnly,
1374
+ removeSelectedItem = _ref.removeSelectedItem,
1375
+ selectedItem = _ref.selectedItem;
1376
+ var _ref2 = (_getSelectedItemProps = getSelectedItemProps == null ? void 0 : getSelectedItemProps({
1377
+ selectedItem: selectedItem,
1378
+ index: index
1379
+ })) != null ? _getSelectedItemProps : {},
1380
+ selectedItemProps = _objectWithoutPropertiesLoose(_ref2, _excluded$4);
1381
+ return React__default["default"].createElement(chip.TagChip, _extends({
1382
+ className: classNames__default["default"]('eds-dropdown__selected-item-tag', {
1383
+ 'eds-dropdown__selected-item-tag--readonly': readOnly,
1384
+ 'eds-dropdown__selected-item-tag--disabled': disabled
1385
+ })
1386
+ }, selectedItemProps, {
1387
+ onClose: function onClose(e) {
1388
+ e.stopPropagation();
1389
+ removeSelectedItem(selectedItem);
1390
+ },
1391
+ closeButtonAriaLabel: selectedItem.label + " " + ariaLabelChosen + ", " + ariaLabelRemoveSelected + " ",
1392
+ key: selectedItem.value,
1393
+ "aria-live": "polite"
1394
+ }), React__default["default"].createElement("span", {
1395
+ "aria-hidden": "true"
1396
+ }, selectedItem.label));
1397
+ };
1398
+ var FieldAppend$1 = function FieldAppend(_ref3) {
1399
+ var _ref3$ariaHiddenToggl = _ref3.ariaHiddenToggleButton,
1400
+ ariaHiddenToggleButton = _ref3$ariaHiddenToggl === void 0 ? false : _ref3$ariaHiddenToggl,
1401
+ ariaLabelCloseList = _ref3.ariaLabelCloseList,
1402
+ ariaLabelOpenList = _ref3.ariaLabelOpenList,
1403
+ _ref3$clearable = _ref3.clearable,
1404
+ clearable = _ref3$clearable === void 0 ? false : _ref3$clearable,
1405
+ labelClearSelectedItems = _ref3.labelClearSelectedItems,
1406
+ _ref3$disabled = _ref3.disabled,
1407
+ disabled = _ref3$disabled === void 0 ? false : _ref3$disabled,
1408
+ _ref3$focusable = _ref3.focusable,
1409
+ focusable = _ref3$focusable === void 0 ? false : _ref3$focusable,
1410
+ getToggleButtonProps = _ref3.getToggleButtonProps,
1411
+ isOpen = _ref3.isOpen,
1412
+ _ref3$loading = _ref3.loading,
1413
+ loading = _ref3$loading === void 0 ? false : _ref3$loading,
1414
+ _ref3$loadingText = _ref3.loadingText,
1415
+ loadingText = _ref3$loadingText === void 0 ? 'Laster resultater …' : _ref3$loadingText,
1416
+ onClear = _ref3.onClear,
1417
+ selectedItems = _ref3.selectedItems;
1418
+ if (loading) {
1419
+ return React__default["default"].createElement("div", {
1420
+ className: 'eds-dropdown-appendix__toggle-button--loading-dots'
1421
+ }, React__default["default"].createElement(loader.LoadingDots, {
1422
+ "aria-label": loadingText
1423
+ }));
1424
+ }
1425
+ if (disabled) {
1426
+ return null;
1427
+ }
1428
+ return React__default["default"].createElement("div", {
1429
+ className: "eds-dropdown-appendix"
1430
+ }, clearable && (selectedItems == null ? void 0 : selectedItems.length) > 0 && selectedItems[0] !== null && React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement(ClearableButton, {
1431
+ onClear: onClear,
1432
+ focusable: true,
1433
+ labelClearSelectedItems: labelClearSelectedItems
1434
+ }), React__default["default"].createElement("div", {
1435
+ className: "eds-dropdown-appendix__divider"
1436
+ })), React__default["default"].createElement(ToggleButton, {
1437
+ "aria-hidden": ariaHiddenToggleButton,
1438
+ ariaLabelCloseList: ariaLabelCloseList,
1439
+ ariaLabelOpenList: ariaLabelOpenList,
1440
+ getToggleButtonProps: getToggleButtonProps,
1441
+ isOpen: isOpen,
1442
+ focusable: focusable
1443
+ }));
1444
+ };
1445
+ var ClearableButton = function ClearableButton(_ref4) {
1446
+ var onClear = _ref4.onClear,
1447
+ _ref4$labelClearSelec = _ref4.labelClearSelectedItems,
1448
+ labelClearSelectedItems = _ref4$labelClearSelec === void 0 ? 'Fjern valgte' : _ref4$labelClearSelec,
1449
+ _ref4$focusable = _ref4.focusable,
1450
+ focusable = _ref4$focusable === void 0 ? false : _ref4$focusable;
1451
+ return React__default["default"].createElement(tooltip.Tooltip, {
1452
+ "aria-hidden": "true",
1453
+ placement: "top",
1454
+ content: labelClearSelectedItems,
1455
+ className: "eds-dropdown-appendix__clear-button__tooltip"
1456
+ }, React__default["default"].createElement(button.IconButton, {
1457
+ className: "eds-dropdown-appendix__clear-button",
1458
+ type: "button",
1459
+ tabIndex: focusable ? 0 : 1,
1460
+ onClick: onClear,
1461
+ "aria-label": labelClearSelectedItems
1462
+ }, React__default["default"].createElement(icons.CloseSmallIcon, {
1463
+ "aria-hidden": "true"
1464
+ })));
1465
+ };
1466
+ var ToggleButton = function ToggleButton(_ref5) {
1467
+ var getToggleButtonProps = _ref5.getToggleButtonProps,
1468
+ isOpen = _ref5.isOpen,
1469
+ _ref5$ariaHidden = _ref5['aria-hidden'],
1470
+ ariaHidden = _ref5$ariaHidden === void 0 ? false : _ref5$ariaHidden,
1471
+ _ref5$ariaLabelCloseL = _ref5.ariaLabelCloseList,
1472
+ ariaLabelCloseList = _ref5$ariaLabelCloseL === void 0 ? 'Lukk liste med valg' : _ref5$ariaLabelCloseL,
1473
+ _ref5$ariaLabelOpenLi = _ref5.ariaLabelOpenList,
1474
+ ariaLabelOpenList = _ref5$ariaLabelOpenLi === void 0 ? 'Åpne liste med valg' : _ref5$ariaLabelOpenLi,
1475
+ _ref5$focusable = _ref5.focusable,
1476
+ focusable = _ref5$focusable === void 0 ? false : _ref5$focusable;
1477
+ return React__default["default"].createElement(button.IconButton, _extends({}, getToggleButtonProps({
1478
+ className: classNames__default["default"]('eds-dropdown-appendix__toggle-button', {
1479
+ 'eds-dropdown-appendix__toggle-button--open': isOpen
1480
+ }),
1481
+ 'aria-labelledby': undefined
1482
+ }), {
1483
+ "aria-hidden": ariaHidden,
1484
+ "aria-label": ariaHidden ? undefined : isOpen ? ariaLabelCloseList : ariaLabelOpenList,
1485
+ tabIndex: focusable ? 0 : -1,
1486
+ type: "button"
1487
+ }), React__default["default"].createElement(icons.DownArrowIcon, {
1488
+ "aria-hidden": "true"
1489
+ }));
1490
+ };
1491
+
1492
+ /* start general utils */
1370
1493
  var EMPTY_INPUT = '';
1371
1494
  function lowerCaseFilterTest(item, input) {
1372
1495
  if (!input) {
@@ -1382,10 +1505,10 @@ var itemToString = function itemToString(item) {
1382
1505
  var useMultiselectUtils = function useMultiselectUtils(_ref) {
1383
1506
  var listItems = _ref.listItems,
1384
1507
  selectedItems = _ref.selectedItems,
1385
- selectAllValue = _ref.selectAllValue;
1508
+ selectAll = _ref.selectAll;
1386
1509
  var hasSelectedItems = selectedItems.length > 0;
1387
1510
  var listItemsWithoutSelectAll = listItems.filter(function (item) {
1388
- return item.value !== selectAllValue;
1511
+ return item.value !== selectAll.value;
1389
1512
  });
1390
1513
  var allListItemsAreSelected = listItemsWithoutSelectAll.filter(function (item) {
1391
1514
  return !selectedItems.includes(item);
@@ -1402,18 +1525,21 @@ var useMultiselectUtils = function useMultiselectUtils(_ref) {
1402
1525
  });
1403
1526
  };
1404
1527
  var clickedItemIsSelectAll = function clickedItemIsSelectAll(clickedItem) {
1405
- return clickedItem.value === selectAllValue;
1528
+ return clickedItem.value === selectAll.value;
1406
1529
  };
1407
1530
  var handleListItemClicked = function handleListItemClicked(_ref2) {
1408
1531
  var clickedItem = _ref2.clickedItem,
1409
- onChange = _ref2.onChange;
1532
+ onChange = _ref2.onChange,
1533
+ setLastRemovedItem = _ref2.setLastRemovedItem;
1410
1534
  if (clickedItemIsSelectAll(clickedItem)) {
1411
1535
  if (allListItemsAreSelected) {
1536
+ setLastRemovedItem(selectAll);
1412
1537
  return unselectAllListItems(onChange);
1413
1538
  }
1414
1539
  return selectAllUnselectedItemsInListItems(onChange);
1415
1540
  }
1416
1541
  if (clickedItemIsInSelectedItems(clickedItem)) {
1542
+ setLastRemovedItem(clickedItem);
1417
1543
  return removeClickedItemFromSelectedItems(clickedItem, onChange);
1418
1544
  }
1419
1545
  addClickedItemToSelectedItems(clickedItem, onChange);
@@ -1453,125 +1579,63 @@ var useMultiselectUtils = function useMultiselectUtils(_ref) {
1453
1579
  unselectAllListItems: unselectAllListItems
1454
1580
  };
1455
1581
  };
1456
-
1457
- var _excluded$3 = ["tabIndex"];
1458
- var SelectedItemTag = function SelectedItemTag(_ref) {
1459
- var _getSelectedItemProps;
1460
- var ariaLabelRemoveSelected = _ref.ariaLabelRemoveSelected,
1461
- disabled = _ref.disabled,
1462
- getSelectedItemProps = _ref.getSelectedItemProps,
1463
- index = _ref.index,
1464
- readOnly = _ref.readOnly,
1465
- removeSelectedItem = _ref.removeSelectedItem,
1466
- selectedItem = _ref.selectedItem;
1467
- var _ref2 = (_getSelectedItemProps = getSelectedItemProps == null ? void 0 : getSelectedItemProps({
1468
- selectedItem: selectedItem,
1469
- index: index
1470
- })) != null ? _getSelectedItemProps : {},
1471
- selectedItemProps = _objectWithoutPropertiesLoose(_ref2, _excluded$3);
1472
- return React__default["default"].createElement(chip.TagChip, _extends({
1473
- className: classNames__default["default"]('eds-dropdown__selected-item-tag', {
1474
- 'eds-dropdown__selected-item-tag--readonly': readOnly,
1475
- 'eds-dropdown__selected-item-tag--disabled': disabled
1476
- })
1477
- }, selectedItemProps, {
1478
- onClose: function onClose(e) {
1479
- e.stopPropagation();
1480
- removeSelectedItem(selectedItem);
1481
- },
1482
- closeButtonAriaLabel: selectedItem.label + ", " + ariaLabelRemoveSelected + " ",
1483
- key: selectedItem.value
1484
- }), React__default["default"].createElement("span", {
1485
- "aria-hidden": "true"
1486
- }, selectedItem.label));
1487
- };
1488
- var FieldAppend = function FieldAppend(_ref3) {
1489
- var _ref3$clearable = _ref3.clearable,
1490
- clearable = _ref3$clearable === void 0 ? false : _ref3$clearable,
1491
- clearSelectedItemsLabel = _ref3.clearSelectedItemsLabel,
1492
- _ref3$disabled = _ref3.disabled,
1493
- disabled = _ref3$disabled === void 0 ? false : _ref3$disabled,
1494
- _ref3$focusable = _ref3.focusable,
1495
- focusable = _ref3$focusable === void 0 ? false : _ref3$focusable,
1496
- getToggleButtonProps = _ref3.getToggleButtonProps,
1497
- isOpen = _ref3.isOpen,
1498
- _ref3$loading = _ref3.loading,
1499
- loading = _ref3$loading === void 0 ? false : _ref3$loading,
1500
- _ref3$loadingText = _ref3.loadingText,
1501
- loadingText = _ref3$loadingText === void 0 ? 'Laster resultater …' : _ref3$loadingText,
1502
- onClear = _ref3.onClear,
1503
- selectedItems = _ref3.selectedItems;
1504
- if (loading) {
1505
- return React__default["default"].createElement(DropdownLoadingDots, null, loadingText);
1582
+ function getA11yStatusMessage(options) {
1583
+ var isOpen = options.isOpen,
1584
+ resultCount = options.resultCount,
1585
+ previousResultCount = options.previousResultCount,
1586
+ _options$selectAllIte = options.selectAllItemIncluded,
1587
+ selectAllItemIncluded = _options$selectAllIte === void 0 ? false : _options$selectAllIte,
1588
+ _options$ariaLabelNoR = options.ariaLabelNoResults,
1589
+ ariaLabelNoResults = _options$ariaLabelNoR === void 0 ? 'Ingen resultater' : _options$ariaLabelNoR;
1590
+ if (!isOpen) {
1591
+ return '';
1506
1592
  }
1507
- if (disabled) {
1508
- return null;
1593
+ var resultCountWithoutSelectAll = selectAllItemIncluded ? resultCount - 1 : resultCount;
1594
+ if (resultCountWithoutSelectAll === 0) {
1595
+ return ariaLabelNoResults;
1509
1596
  }
1510
- return (
1511
- // to have a natural tab order, these elements are ordered opposite of how they are displayed
1512
- React__default["default"].createElement("div", {
1513
- className: "eds-dropdown-appendix"
1514
- }, React__default["default"].createElement(ToggleButton, {
1515
- getToggleButtonProps: getToggleButtonProps,
1516
- isOpen: isOpen,
1517
- focusable: focusable
1518
- }), clearable && (selectedItems == null ? void 0 : selectedItems.length) > 0 && selectedItems[0] !== null && React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement("div", {
1519
- className: "eds-dropdown-appendix__divider"
1520
- }), React__default["default"].createElement(ClearableButton, {
1521
- onClear: onClear,
1522
- focusable: true,
1523
- clearSelectedItemsLabel: clearSelectedItemsLabel
1524
- })))
1525
- );
1526
- };
1527
- var ClearableButton = function ClearableButton(_ref4) {
1528
- var onClear = _ref4.onClear,
1529
- _ref4$clearSelectedIt = _ref4.clearSelectedItemsLabel,
1530
- clearSelectedItemsLabel = _ref4$clearSelectedIt === void 0 ? 'Fjern valgte' : _ref4$clearSelectedIt,
1531
- _ref4$focusable = _ref4.focusable,
1532
- focusable = _ref4$focusable === void 0 ? false : _ref4$focusable;
1533
- return React__default["default"].createElement(tooltip.Tooltip, {
1534
- "aria-hidden": "true",
1535
- placement: "right",
1536
- content: clearSelectedItemsLabel
1537
- }, React__default["default"].createElement(button.IconButton, {
1538
- className: "eds-dropdown-appendix__clear-button",
1539
- type: "button",
1540
- tabIndex: focusable ? 0 : 1,
1541
- onClick: onClear,
1542
- "aria-label": clearSelectedItemsLabel
1543
- }, React__default["default"].createElement(icons.CloseSmallIcon, {
1544
- "aria-hidden": "true"
1545
- })));
1546
- };
1547
- var ToggleButton = function ToggleButton(_ref5) {
1548
- var getToggleButtonProps = _ref5.getToggleButtonProps,
1549
- isOpen = _ref5.isOpen,
1550
- _ref5$closeAriaLabel = _ref5.closeAriaLabel,
1551
- closeAriaLabel = _ref5$closeAriaLabel === void 0 ? 'Lukk liste med valg' : _ref5$closeAriaLabel,
1552
- _ref5$openAriaLabel = _ref5.openAriaLabel,
1553
- openAriaLabel = _ref5$openAriaLabel === void 0 ? 'Åpne liste med valg' : _ref5$openAriaLabel,
1554
- _ref5$focusable = _ref5.focusable,
1555
- focusable = _ref5$focusable === void 0 ? false : _ref5$focusable;
1556
- return React__default["default"].createElement(button.IconButton, _extends({}, getToggleButtonProps({
1557
- className: classNames__default["default"]('eds-dropdown-appendix__toggle-button', {
1558
- 'eds-dropdown-appendix__toggle-button--open': isOpen
1559
- })
1560
- }), {
1561
- "aria-label": isOpen ? closeAriaLabel : openAriaLabel,
1562
- tabIndex: focusable ? 0 : -1,
1563
- type: "button"
1564
- }), React__default["default"].createElement(icons.DownArrowIcon, {
1565
- "aria-hidden": "true"
1566
- }));
1597
+ if (resultCount !== previousResultCount) {
1598
+ return resultCountWithoutSelectAll + " resultat" + (resultCountWithoutSelectAll === 1 ? '' : 'er') + " tilgjengelig, naviger med pil opp eller ned, velg elementer med enter.";
1599
+ }
1600
+ return '';
1601
+ }
1602
+ function getA11ySelectionMessage(options) {
1603
+ var selectedItem = options.selectedItem,
1604
+ itemToStringLocal = options.itemToString,
1605
+ selectAllItem = options.selectAllItem;
1606
+ if ((selectedItem == null ? void 0 : selectedItem.value) === (selectAllItem == null ? void 0 : selectAllItem.value)) return 'Alle elementer i listen valgt.';
1607
+ return selectedItem ? itemToStringLocal(selectedItem) + " er valgt." : '';
1608
+ }
1609
+ function getA11yRemovalMessage(options) {
1610
+ var itemToString = options.itemToString,
1611
+ selectAllItem = options.selectAllItem,
1612
+ removedItem = options.removedItem;
1613
+ if (removedItem === undefined) return '';
1614
+ if (removedItem.value === (selectAllItem == null ? void 0 : selectAllItem.value)) return 'Alle elementer i listen fjernet fra valgte.';
1615
+ return itemToString(removedItem) + " fjernet fra valgte.";
1616
+ }
1617
+ /**A VoiceOver click is always preformed in the center of the clicked element.
1618
+ This functions expolits that to check if the performed click likely is
1619
+ made by VoiceOver. */
1620
+ var isVoiceOverClick = function isVoiceOverClick(clickEvent) {
1621
+ var targetElementRect = clickEvent.currentTarget.getBoundingClientRect();
1622
+ var targetElementMiddleX = Math.floor(targetElementRect.x + targetElementRect.width / 2);
1623
+ var targetElementMiddleY = Math.floor(targetElementRect.y + targetElementRect.height / 2);
1624
+ var clickPositionX = clickEvent.clientX;
1625
+ var clickPositionY = clickEvent.clientY;
1626
+ console.log('targetX:', targetElementMiddleX, 'targetY:', targetElementMiddleY, 'clickX:', clickPositionX, 'clickY:', clickPositionY);
1627
+ return Math.abs(targetElementMiddleX - clickPositionX) <= 1 && Math.abs(targetElementMiddleY - clickPositionY) <= 1;
1567
1628
  };
1629
+ /* end a11y utils */
1568
1630
 
1569
- var _excluded$2 = ["className", "clearable", "debounceTimeout", "disabled", "disableLabelAnimation", "feedback", "itemFilter", "items", "label", "listStyle", "loadingText", "onChange", "openOnFocus", "placeholder", "prepend", "readOnly", "selectedItem", "selectOnBlur", "style", "variant"];
1570
- var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
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"];
1632
+ var SearchableDropdown = function SearchableDropdown(_ref) {
1571
1633
  var _selectedItem$label;
1572
- var className = _ref.className,
1634
+ var ariaLabelCloseList = _ref.ariaLabelCloseList,
1635
+ ariaLabelOpenList = _ref.ariaLabelOpenList,
1636
+ className = _ref.className,
1573
1637
  _ref$clearable = _ref.clearable,
1574
- clearable = _ref$clearable === void 0 ? false : _ref$clearable,
1638
+ clearable = _ref$clearable === void 0 ? true : _ref$clearable,
1575
1639
  debounceTimeout = _ref.debounceTimeout,
1576
1640
  _ref$disabled = _ref.disabled,
1577
1641
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
@@ -1582,11 +1646,11 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1582
1646
  itemFilter = _ref$itemFilter === void 0 ? lowerCaseFilterTest : _ref$itemFilter,
1583
1647
  initialItems = _ref.items,
1584
1648
  label = _ref.label,
1649
+ _ref$labelClearSelect = _ref.labelClearSelectedItem,
1650
+ labelClearSelectedItem = _ref$labelClearSelect === void 0 ? 'fjern valgt' : _ref$labelClearSelect,
1585
1651
  listStyle = _ref.listStyle,
1586
1652
  loadingText = _ref.loadingText,
1587
1653
  onChange = _ref.onChange,
1588
- _ref$openOnFocus = _ref.openOnFocus,
1589
- openOnFocus = _ref$openOnFocus === void 0 ? false : _ref$openOnFocus,
1590
1654
  placeholder = _ref.placeholder,
1591
1655
  prepend = _ref.prepend,
1592
1656
  _ref$readOnly = _ref.readOnly,
@@ -1597,7 +1661,7 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1597
1661
  style = _ref.style,
1598
1662
  _ref$variant = _ref.variant,
1599
1663
  variant = _ref$variant === void 0 ? 'info' : _ref$variant,
1600
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
1664
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
1601
1665
  var _useState = React.useState(false),
1602
1666
  hideSelectedItem = _useState[0],
1603
1667
  setHideSelectedItem = _useState[1];
@@ -1637,6 +1701,7 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1637
1701
  setLastHighlightedIndex(changes == null ? void 0 : changes.highlightedIndex);
1638
1702
  }
1639
1703
  switch (type) {
1704
+ // empty input to show selected item and reset dropdown list on item selection
1640
1705
  case Downshift.useCombobox.stateChangeTypes.ItemClick:
1641
1706
  case Downshift.useCombobox.stateChangeTypes.InputKeyDownEnter:
1642
1707
  case Downshift.useCombobox.stateChangeTypes.InputBlur:
@@ -1646,21 +1711,21 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1646
1711
  inputValue: EMPTY_INPUT
1647
1712
  });
1648
1713
  return _extends({}, changes, {
1649
- inputValue: EMPTY_INPUT // reset input value to show placeholder on focus
1714
+ inputValue: EMPTY_INPUT
1650
1715
  });
1651
1716
  }
1652
-
1717
+ // remove leading whitespace, select element with spacebar on empty input, and filter list based on input
1653
1718
  case Downshift.useCombobox.stateChangeTypes.InputChange:
1654
1719
  {
1655
1720
  var _changes$inputValue;
1656
1721
  var leadingWhitespaceTest = /^\s+/g;
1657
- var isSpacePressedOnEmptyInput = changes.inputValue == ' ';
1722
+ var isSpacePressedOnEmptyInput = changes.inputValue === ' ';
1658
1723
  if ((_changes$inputValue = changes.inputValue) != null && _changes$inputValue.match(leadingWhitespaceTest)) {
1659
1724
  setInputValue(changes.inputValue.replace(leadingWhitespaceTest, EMPTY_INPUT));
1660
1725
  if (isSpacePressedOnEmptyInput) {
1661
1726
  openMenu();
1662
1727
  if (isOpen && changes.highlightedIndex !== undefined) {
1663
- onChange(listItems[changes.highlightedIndex]);
1728
+ onChange == null ? void 0 : onChange(listItems[changes.highlightedIndex]);
1664
1729
  }
1665
1730
  }
1666
1731
  } else {
@@ -1689,8 +1754,15 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1689
1754
  if (!selectOnBlur) break;
1690
1755
  case Downshift.useCombobox.stateChangeTypes.InputKeyDownEnter: // eslint-disable-line no-fallthrough
1691
1756
  case Downshift.useCombobox.stateChangeTypes.ItemClick:
1692
- onChange(clickedItem != null ? clickedItem : null);
1757
+ onChange == null ? void 0 : onChange(clickedItem != null ? clickedItem : null);
1693
1758
  }
1759
+ },
1760
+ // Accessibility
1761
+ getA11yStatusMessage: getA11yStatusMessage,
1762
+ // The following A11y-helper does not work due to a bug (https://github.com/downshift-js/downshift/issues/1227)
1763
+ // but is left here for when it is fixed
1764
+ getA11ySelectionMessage: function getA11ySelectionMessage$1(options) {
1765
+ return getA11ySelectionMessage(options);
1694
1766
  }
1695
1767
  }, rest)),
1696
1768
  isOpen = _useCombobox.isOpen,
@@ -1699,7 +1771,6 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1699
1771
  getLabelProps = _useCombobox.getLabelProps,
1700
1772
  getMenuProps = _useCombobox.getMenuProps,
1701
1773
  getInputProps = _useCombobox.getInputProps,
1702
- getComboboxProps = _useCombobox.getComboboxProps,
1703
1774
  highlightedIndex = _useCombobox.highlightedIndex,
1704
1775
  getItemProps = _useCombobox.getItemProps,
1705
1776
  selectedItem = _useCombobox.selectedItem,
@@ -1707,7 +1778,7 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1707
1778
  setInputValue = _useCombobox.setInputValue;
1708
1779
  var handleOnClear = function handleOnClear() {
1709
1780
  var _inputRef$current;
1710
- onChange(null);
1781
+ onChange == null ? void 0 : onChange(null);
1711
1782
  setInputValue(EMPTY_INPUT);
1712
1783
  (_inputRef$current = inputRef.current) == null ? void 0 : _inputRef$current.focus();
1713
1784
  updateListItems({
@@ -1715,11 +1786,14 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1715
1786
  });
1716
1787
  };
1717
1788
  return React__default["default"].createElement("div", {
1718
- className: "eds-dropdown__wrapper"
1789
+ className: classNames__default["default"]('eds-dropdown__wrapper', className),
1790
+ style: style
1719
1791
  }, React__default["default"].createElement(form.BaseFormControl, _extends({
1720
- append: React__default["default"].createElement(FieldAppend, {
1792
+ append: React__default["default"].createElement(FieldAppend$1, {
1793
+ ariaLabelCloseList: ariaLabelCloseList,
1794
+ ariaLabelOpenList: ariaLabelOpenList,
1721
1795
  clearable: clearable,
1722
- clearSelectedItemsLabel: "Fjern valgt",
1796
+ labelClearSelectedItems: labelClearSelectedItem,
1723
1797
  disabled: readOnly || disabled,
1724
1798
  focusable: false,
1725
1799
  getToggleButtonProps: getToggleButtonProps,
@@ -1729,19 +1803,20 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1729
1803
  onClear: handleOnClear,
1730
1804
  selectedItems: [selectedItem]
1731
1805
  }),
1732
- className: classNames__default["default"]('eds-dropdown', className),
1806
+ className: "eds-dropdown",
1733
1807
  disabled: disabled,
1734
1808
  disableLabelAnimation: disableLabelAnimation,
1735
1809
  feedback: feedback,
1736
- isFilled: selectedItem || inputValue !== EMPTY_INPUT,
1810
+ isFilled: selectedItem !== null || inputValue !== EMPTY_INPUT,
1737
1811
  label: label,
1812
+ labelId: getLabelProps().id,
1738
1813
  labelProps: getLabelProps(),
1739
1814
  prepend: prepend,
1740
1815
  readOnly: readOnly,
1741
- style: style,
1742
1816
  variant: variant
1743
- }, getComboboxProps(), rest), !hideSelectedItem && selectedItem && !inputValue && React__default["default"].createElement("span", {
1744
- className: "eds-dropdown__selected-item__wrapper"
1817
+ }, rest), !hideSelectedItem && selectedItem && !inputValue && React__default["default"].createElement("span", {
1818
+ className: "eds-dropdown__selected-item__wrapper",
1819
+ "aria-hidden": "true"
1745
1820
  }, React__default["default"].createElement("span", {
1746
1821
  className: "eds-dropdown__selected-item",
1747
1822
  onClick: function onClick() {
@@ -1753,11 +1828,13 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1753
1828
  disabled: readOnly || disabled,
1754
1829
  placeholder: (_selectedItem$label = selectedItem == null ? void 0 : selectedItem.label) != null ? _selectedItem$label : placeholder
1755
1830
  }, getInputProps({
1831
+ onClick: function onClick(e) {
1832
+ if (!isOpen && isVoiceOverClick(e)) openMenu();
1833
+ },
1756
1834
  onBlur: function onBlur() {
1757
1835
  setHideSelectedItem(false);
1758
1836
  },
1759
1837
  onFocus: function onFocus() {
1760
- if (!isOpen && openOnFocus) openMenu();
1761
1838
  setHideSelectedItem(true);
1762
1839
  },
1763
1840
  ref: inputRef
@@ -1774,71 +1851,91 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1774
1851
  }));
1775
1852
  };
1776
1853
 
1777
- var _excluded$1 = ["allItemsSelectedLabel", "ariaLabelRemoveSelected", "className", "clearable", "clearInputOnSelect", "debounceTimeout", "disabled", "feedback", "hideSelectAll", "items", "label", "listStyle", "loadingText", "maxTags", "onChange", "openOnFocus", "placeholder", "readOnly", "clearAllItemsAriaLabel", "selectAllLabel", "selectedItems", "selectOnBlur", "style", "variant"];
1778
- var MultiSelectBeta = function MultiSelectBeta(_ref) {
1779
- var _ref$allItemsSelected = _ref.allItemsSelectedLabel,
1780
- allItemsSelectedLabel = _ref$allItemsSelected === void 0 ? 'Alle valgt' : _ref$allItemsSelected,
1781
- _ref$ariaLabelRemoveS = _ref.ariaLabelRemoveSelected,
1782
- ariaLabelRemoveSelected = _ref$ariaLabelRemoveS === void 0 ? 'trykk for å fjerne valg' : _ref$ariaLabelRemoveS,
1783
- className = _ref.className,
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) {
1856
+ var className = _ref.className,
1784
1857
  _ref$clearable = _ref.clearable,
1785
- clearable = _ref$clearable === void 0 ? false : _ref$clearable,
1858
+ clearable = _ref$clearable === void 0 ? true : _ref$clearable,
1786
1859
  _ref$clearInputOnSele = _ref.clearInputOnSelect,
1787
1860
  clearInputOnSelect = _ref$clearInputOnSele === void 0 ? false : _ref$clearInputOnSele,
1861
+ debounceTimeout = _ref.debounceTimeout,
1788
1862
  _ref$disabled = _ref.disabled,
1789
1863
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1790
1864
  feedback = _ref.feedback,
1791
1865
  _ref$hideSelectAll = _ref.hideSelectAll,
1792
1866
  hideSelectAll = _ref$hideSelectAll === void 0 ? false : _ref$hideSelectAll,
1867
+ _ref$itemFilter = _ref.itemFilter,
1868
+ itemFilter = _ref$itemFilter === void 0 ? lowerCaseFilterTest : _ref$itemFilter,
1793
1869
  initialItems = _ref.items,
1794
1870
  label = _ref.label,
1871
+ _ref$labelAllItemsSel = _ref.labelAllItemsSelected,
1872
+ labelAllItemsSelected = _ref$labelAllItemsSel === void 0 ? 'Alle valgt' : _ref$labelAllItemsSel,
1873
+ _ref$labelClearAllIte = _ref.labelClearAllItems,
1874
+ labelClearAllItems = _ref$labelClearAllIte === void 0 ? 'Fjern valgte' : _ref$labelClearAllIte,
1875
+ _ref$labelSelectAll = _ref.labelSelectAll,
1876
+ labelSelectAll = _ref$labelSelectAll === void 0 ? 'Velg alle' : _ref$labelSelectAll,
1795
1877
  listStyle = _ref.listStyle,
1796
1878
  loadingText = _ref.loadingText,
1797
- _ref$maxTags = _ref.maxTags,
1798
- maxTags = _ref$maxTags === void 0 ? 10 : _ref$maxTags,
1799
- onChange = _ref.onChange,
1800
- _ref$openOnFocus = _ref.openOnFocus,
1801
- openOnFocus = _ref$openOnFocus === void 0 ? false : _ref$openOnFocus,
1879
+ _ref$maxChips = _ref.maxChips,
1880
+ maxChips = _ref$maxChips === void 0 ? 10 : _ref$maxChips,
1881
+ _ref$onChange = _ref.onChange,
1882
+ onChange = _ref$onChange === void 0 ? function () {
1883
+ return undefined;
1884
+ } : _ref$onChange,
1802
1885
  placeholder = _ref.placeholder,
1803
1886
  _ref$readOnly = _ref.readOnly,
1804
1887
  readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
1805
- _ref$clearAllItemsAri = _ref.clearAllItemsAriaLabel,
1806
- clearAllItemsAriaLabel = _ref$clearAllItemsAri === void 0 ? 'Fjern valgte' : _ref$clearAllItemsAri,
1807
- _ref$selectAllLabel = _ref.selectAllLabel,
1808
- selectAllLabel = _ref$selectAllLabel === void 0 ? 'Velg alle' : _ref$selectAllLabel,
1809
1888
  selectedItems = _ref.selectedItems,
1810
1889
  _ref$selectOnBlur = _ref.selectOnBlur,
1811
1890
  selectOnBlur = _ref$selectOnBlur === void 0 ? false : _ref$selectOnBlur,
1812
1891
  style = _ref.style,
1813
1892
  _ref$variant = _ref.variant,
1814
1893
  variant = _ref$variant === void 0 ? 'info' : _ref$variant,
1815
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
1894
+ _ref$ariaLabelChosenS = _ref.ariaLabelChosenSingular,
1895
+ ariaLabelChosenSingular = _ref$ariaLabelChosenS === void 0 ? 'valgt' : _ref$ariaLabelChosenS,
1896
+ _ref$ariaLabelChosenP = _ref.ariaLabelChosenPlural,
1897
+ ariaLabelChosenPlural = _ref$ariaLabelChosenP === void 0 ? 'valgte' : _ref$ariaLabelChosenP,
1898
+ ariaLabelCloseList = _ref.ariaLabelCloseList,
1899
+ _ref$ariaLabelJumpToI = _ref.ariaLabelJumpToInput,
1900
+ ariaLabelJumpToInput = _ref$ariaLabelJumpToI === void 0 ? selectedItems.length + " valgte elementer, trykk for \xE5 hoppe til tekstfeltet" : _ref$ariaLabelJumpToI,
1901
+ ariaLabelOpenList = _ref.ariaLabelOpenList,
1902
+ _ref$ariaLabelRemoveS = _ref.ariaLabelRemoveSelected,
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,
1906
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
1816
1907
  var _React$useState = React__default["default"].useState(0),
1817
1908
  lastHighlightedIndex = _React$useState[0],
1818
1909
  setLastHighlightedIndex = _React$useState[1];
1910
+ var _React$useState2 = React__default["default"].useState(undefined),
1911
+ lastRemovedItem = _React$useState2[0],
1912
+ setLastRemovedItem = _React$useState2[1];
1819
1913
  var inputRef = React.useRef(null);
1820
- var _useResolvedItems = useResolvedItems(initialItems),
1914
+ var _useResolvedItems = useResolvedItems(initialItems, debounceTimeout),
1821
1915
  normalizedItems = _useResolvedItems.items,
1822
1916
  loading = _useResolvedItems.loading,
1823
1917
  fetchItems = _useResolvedItems.fetchItems;
1824
1918
  var isAllNonAsyncItemsSelected = typeof initialItems !== 'function' && selectedItems.length === normalizedItems.length;
1919
+ // special 'item' used as Select All entry in the dropdown list
1825
1920
  var selectAll = {
1826
1921
  value: utils.useRandomId('select-all'),
1827
- label: selectAllLabel
1922
+ label: labelSelectAll
1828
1923
  };
1924
+ // special 'item' used as a replacement selected item tag for when
1925
+ // there are more selected element than maxChips
1829
1926
  var summarySelectedItems = React__default["default"].useMemo(function () {
1830
1927
  return {
1831
1928
  value: EMPTY_INPUT,
1832
- label: isAllNonAsyncItemsSelected ? allItemsSelectedLabel : selectedItems.length + ' valgte'
1929
+ label: isAllNonAsyncItemsSelected ? labelAllItemsSelected : selectedItems.length + ' ' + ariaLabelChosenPlural
1833
1930
  };
1834
- }, [isAllNonAsyncItemsSelected, selectedItems, allItemsSelectedLabel]);
1931
+ }, [isAllNonAsyncItemsSelected, selectedItems, labelAllItemsSelected, ariaLabelChosenPlural]);
1835
1932
  var _useState = React.useState([].concat(!hideSelectAll ? [selectAll] : [], normalizedItems)),
1836
1933
  listItems = _useState[0],
1837
1934
  setListItems = _useState[1];
1838
1935
  var filterListItems = function filterListItems(_ref2) {
1839
1936
  var inputValue = _ref2.inputValue;
1840
1937
  return setListItems([].concat(!hideSelectAll ? [selectAll] : [], normalizedItems.filter(function (item) {
1841
- return lowerCaseFilterTest(item, inputValue);
1938
+ return itemFilter(item, inputValue);
1842
1939
  })));
1843
1940
  };
1844
1941
  var updateListItems = function updateListItems(_ref3) {
@@ -1853,32 +1950,49 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1853
1950
  inputValue: inputValue
1854
1951
  });
1855
1952
  }, [normalizedItems]); // eslint-disable-line react-hooks/exhaustive-deps
1856
- var _useMultipleSelection = Downshift.useMultipleSelection({
1857
- selectedItems: selectedItems,
1858
- itemToString: itemToString,
1859
- onSelectedItemsChange: function onSelectedItemsChange(changes) {
1860
- var _changes$selectedItem;
1861
- onChange((_changes$selectedItem = changes.selectedItems) != null ? _changes$selectedItem : []);
1862
- }
1863
- }),
1864
- getSelectedItemProps = _useMultipleSelection.getSelectedItemProps,
1865
- getDropdownProps = _useMultipleSelection.getDropdownProps,
1866
- removeSelectedItem = _useMultipleSelection.removeSelectedItem;
1867
1953
  var _useMultiselectUtils = useMultiselectUtils({
1868
1954
  listItems: listItems,
1869
- selectAllValue: selectAll.value,
1955
+ selectAll: selectAll,
1870
1956
  selectedItems: selectedItems
1871
1957
  }),
1872
1958
  hasSelectedItems = _useMultiselectUtils.hasSelectedItems,
1873
1959
  handleListItemClicked = _useMultiselectUtils.handleListItemClicked,
1874
1960
  selectAllCheckboxState = _useMultiselectUtils.selectAllCheckboxState;
1875
- var stateReducer = React__default["default"].useCallback(function (_, _ref4) {
1876
- var changes = _ref4.changes,
1877
- type = _ref4.type;
1961
+ var _useMultipleSelection = Downshift.useMultipleSelection({
1962
+ selectedItems: selectedItems,
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
+ },
1978
+ // Accessibility
1979
+ getA11yRemovalMessage: function getA11yRemovalMessage$1(options) {
1980
+ return getA11yRemovalMessage(_extends({}, options, {
1981
+ selectAllItem: selectAll,
1982
+ removedItem: lastRemovedItem
1983
+ }));
1984
+ }
1985
+ }),
1986
+ getSelectedItemProps = _useMultipleSelection.getSelectedItemProps,
1987
+ getDropdownProps = _useMultipleSelection.getDropdownProps;
1988
+ var stateReducer = React__default["default"].useCallback(function (_, _ref5) {
1989
+ var changes = _ref5.changes,
1990
+ type = _ref5.type;
1878
1991
  if (changes.highlightedIndex !== undefined && (changes == null ? void 0 : changes.highlightedIndex) >= 0) {
1879
1992
  setLastHighlightedIndex(changes == null ? void 0 : changes.highlightedIndex);
1880
1993
  }
1881
1994
  switch (type) {
1995
+ // keep menu open and edit input value on item selection
1882
1996
  case Downshift.useCombobox.stateChangeTypes.InputKeyDownEnter:
1883
1997
  case Downshift.useCombobox.stateChangeTypes.ItemClick:
1884
1998
  {
@@ -1893,6 +2007,7 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1893
2007
  inputValue: clearInputOnSelect ? EMPTY_INPUT : (_inputRef$current$val = inputRef == null ? void 0 : (_inputRef$current = inputRef.current) == null ? void 0 : _inputRef$current.value) != null ? _inputRef$current$val : EMPTY_INPUT
1894
2008
  });
1895
2009
  }
2010
+ // edit input value when selected items is updated outside component
1896
2011
  case Downshift.useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:
1897
2012
  {
1898
2013
  var _inputRef$current$val2, _inputRef$current2;
@@ -1900,6 +2015,7 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1900
2015
  inputValue: clearInputOnSelect ? EMPTY_INPUT : (_inputRef$current$val2 = inputRef == null ? void 0 : (_inputRef$current2 = inputRef.current) == null ? void 0 : _inputRef$current2.value) != null ? _inputRef$current$val2 : EMPTY_INPUT
1901
2016
  });
1902
2017
  }
2018
+ // remove leading whitespace, select item with spacebar if input is empty and filter list items
1903
2019
  case Downshift.useCombobox.stateChangeTypes.InputChange:
1904
2020
  {
1905
2021
  var _changes$inputValue;
@@ -1909,10 +2025,11 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1909
2025
  setInputValue(changes.inputValue.replace(leadingWhitespaceTest, EMPTY_INPUT));
1910
2026
  if (isSpacePressedOnEmptyInput) {
1911
2027
  openMenu();
1912
- if (isOpen && changes.highlightedIndex) {
2028
+ if (isOpen && changes.highlightedIndex !== undefined) {
1913
2029
  handleListItemClicked({
1914
2030
  clickedItem: listItems[changes.highlightedIndex],
1915
- onChange: onChange
2031
+ onChange: onChange,
2032
+ setLastRemovedItem: setLastRemovedItem
1916
2033
  });
1917
2034
  }
1918
2035
  }
@@ -1923,6 +2040,7 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1923
2040
  }
1924
2041
  return changes;
1925
2042
  }
2043
+ // reset input value when leaving input field
1926
2044
  case Downshift.useCombobox.stateChangeTypes.InputBlur:
1927
2045
  {
1928
2046
  return _extends({}, changes, {
@@ -1939,9 +2057,9 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1939
2057
  itemToString: itemToString,
1940
2058
  selectedItem: null,
1941
2059
  stateReducer: stateReducer,
1942
- onStateChange: function onStateChange(_ref5) {
1943
- var type = _ref5.type,
1944
- clickedItem = _ref5.selectedItem;
2060
+ onStateChange: function onStateChange(_ref6) {
2061
+ var type = _ref6.type,
2062
+ clickedItem = _ref6.selectedItem;
1945
2063
  // clickedItem means item chosen either via mouse or keyboard
1946
2064
  if (!clickedItem) return;
1947
2065
  switch (type) {
@@ -1950,14 +2068,29 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1950
2068
  if (!selectOnBlur) break;
1951
2069
  case Downshift.useCombobox.stateChangeTypes.InputKeyDownEnter: // eslint-disable-line no-fallthrough
1952
2070
  case Downshift.useCombobox.stateChangeTypes.ItemClick:
1953
- handleListItemClicked({
1954
- clickedItem: clickedItem,
1955
- onChange: onChange
1956
- });
2071
+ {
2072
+ handleListItemClicked({
2073
+ clickedItem: clickedItem,
2074
+ onChange: onChange,
2075
+ setLastRemovedItem: setLastRemovedItem
2076
+ });
2077
+ }
1957
2078
  }
2079
+ },
2080
+ // Accessibility
2081
+ getA11yStatusMessage: function getA11yStatusMessage$1(options) {
2082
+ return getA11yStatusMessage(_extends({}, options, {
2083
+ selectAllItemIncluded: !hideSelectAll
2084
+ }));
2085
+ },
2086
+ // The following A11y-helper does not work due to a bug (https://github.com/downshift-js/downshift/issues/1227)
2087
+ // but is left here for when it is fixed
2088
+ getA11ySelectionMessage: function getA11ySelectionMessage$1(options) {
2089
+ return getA11ySelectionMessage(_extends({}, options, {
2090
+ selectAllItem: selectAll
2091
+ }));
1958
2092
  }
1959
2093
  }, rest)),
1960
- getComboboxProps = _useCombobox.getComboboxProps,
1961
2094
  getInputProps = _useCombobox.getInputProps,
1962
2095
  getItemProps = _useCombobox.getItemProps,
1963
2096
  getLabelProps = _useCombobox.getLabelProps,
@@ -1977,18 +2110,17 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1977
2110
  inputValue: inputValue
1978
2111
  });
1979
2112
  };
1980
- // role=combobox leads to strange VoiceOver behavior and is therefor omitted
1981
- // const { role: _, ...comboboxProps } = getComboboxProps();
1982
- var _getComboboxProps = getComboboxProps(),
1983
- comboboxProps = _extends({}, (_objectDestructuringEmpty(_getComboboxProps), _getComboboxProps));
1984
2113
  return React__default["default"].createElement("div", {
1985
- className: "eds-dropdown__wrapper"
2114
+ className: classNames__default["default"]('eds-dropdown__wrapper', className),
2115
+ style: style
1986
2116
  }, React__default["default"].createElement(form.BaseFormControl, _extends({
1987
- append: React__default["default"].createElement(FieldAppend, {
2117
+ append: React__default["default"].createElement(FieldAppend$1, {
2118
+ ariaLabelCloseList: ariaLabelCloseList,
2119
+ ariaLabelOpenList: ariaLabelOpenList,
1988
2120
  selectedItems: selectedItems,
1989
2121
  isOpen: isOpen,
1990
2122
  clearable: clearable,
1991
- clearSelectedItemsLabel: clearAllItemsAriaLabel,
2123
+ labelClearSelectedItems: labelClearAllItems,
1992
2124
  focusable: false,
1993
2125
  loading: loading,
1994
2126
  loadingText: loadingText,
@@ -1996,18 +2128,16 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
1996
2128
  onClear: handleOnClear,
1997
2129
  getToggleButtonProps: getToggleButtonProps
1998
2130
  }),
1999
- className: classNames__default["default"]('eds-dropdown', className),
2131
+ className: "eds-dropdown",
2000
2132
  disabled: disabled,
2001
2133
  feedback: feedback,
2002
2134
  isFilled: hasSelectedItems || inputValue !== EMPTY_INPUT,
2003
2135
  label: label,
2004
- labelProps: _extends({
2005
- 'aria-label': label + ", multiselect, " + selectedItems.length + " valgte elementer"
2006
- }, getLabelProps()),
2136
+ labelId: getLabelProps().id,
2137
+ labelProps: getLabelProps(),
2007
2138
  readOnly: readOnly,
2008
- style: style,
2009
2139
  variant: variant
2010
- }, comboboxProps, rest), React__default["default"].createElement("div", {
2140
+ }, rest), React__default["default"].createElement("div", {
2011
2141
  className: classNames__default["default"]('eds-dropdown__selected-items-and-input', {
2012
2142
  'eds-dropdown__selected-items-and-input--filled': hasSelectedItems
2013
2143
  }),
@@ -2015,19 +2145,34 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
2015
2145
  var _inputRef$current4;
2016
2146
  if (e.target === e.currentTarget) (_inputRef$current4 = inputRef.current) == null ? void 0 : _inputRef$current4.focus();
2017
2147
  }
2018
- }, selectedItems.length < maxTags ? selectedItems.map(function (selectedItem, index) {
2148
+ }, selectedItems.length < maxChips ? React__default["default"].createElement(React__default["default"].Fragment, null, selectedItems.length > 1 ? React__default["default"].createElement(a11y.VisuallyHidden, {
2149
+ onClick: function onClick() {
2150
+ var _inputRef$current5;
2151
+ return (_inputRef$current5 = inputRef.current) == null ? void 0 : _inputRef$current5.focus();
2152
+ }
2153
+ }, ariaLabelJumpToInput) : React__default["default"].createElement(React__default["default"].Fragment, null), selectedItems.map(function (selectedItem, index) {
2019
2154
  return React__default["default"].createElement(SelectedItemTag, {
2155
+ ariaLabelChosen: ariaLabelChosenSingular,
2020
2156
  ariaLabelRemoveSelected: ariaLabelRemoveSelected,
2021
2157
  disabled: disabled,
2022
2158
  getSelectedItemProps: getSelectedItemProps,
2023
2159
  index: index,
2024
2160
  key: selectedItem.value,
2025
2161
  readOnly: readOnly,
2026
- removeSelectedItem: removeSelectedItem,
2162
+ removeSelectedItem: function removeSelectedItem() {
2163
+ var _inputRef$current6;
2164
+ handleListItemClicked({
2165
+ clickedItem: selectedItem,
2166
+ onChange: onChange,
2167
+ setLastRemovedItem: setLastRemovedItem
2168
+ });
2169
+ inputRef == null ? void 0 : (_inputRef$current6 = inputRef.current) == null ? void 0 : _inputRef$current6.focus();
2170
+ },
2027
2171
  selectedItem: selectedItem
2028
2172
  });
2029
- }) : React__default["default"].createElement(SelectedItemTag, {
2030
- ariaLabelRemoveSelected: clearAllItemsAriaLabel,
2173
+ })) : React__default["default"].createElement(SelectedItemTag, {
2174
+ ariaLabelRemoveSelected: labelClearAllItems,
2175
+ ariaLabelChosen: "",
2031
2176
  disabled: disabled,
2032
2177
  readOnly: readOnly,
2033
2178
  removeSelectedItem: handleOnClear,
@@ -2035,16 +2180,17 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
2035
2180
  }), React__default["default"].createElement("input", _extends({
2036
2181
  placeholder: placeholder,
2037
2182
  className: "eds-dropdown__input eds-form-control",
2038
- disabled: readOnly || disabled,
2039
- role: "combobox" // eslint-disable-line jsx-a11y/role-has-required-aria-props
2183
+ disabled: readOnly || disabled
2040
2184
  }, getInputProps(getDropdownProps({
2041
- preventKeyAction: isOpen,
2042
- onFocus: function onFocus() {
2043
- if (!isOpen && openOnFocus) openMenu();
2185
+ onClick: function onClick(e) {
2186
+ if (!isOpen && isVoiceOverClick(e)) openMenu();
2044
2187
  },
2188
+ preventKeyAction: isOpen,
2045
2189
  ref: inputRef,
2046
2190
  value: inputValue != null ? inputValue : EMPTY_INPUT
2047
2191
  })))))), React__default["default"].createElement(DropdownList, {
2192
+ ariaLabelChosenSingular: ariaLabelChosenSingular,
2193
+ ariaLabelSelectedItem: ariaLabelSelectedItem,
2048
2194
  getItemProps: getItemProps,
2049
2195
  getMenuProps: getMenuProps,
2050
2196
  highlightedIndex: highlightedIndex,
@@ -2060,17 +2206,22 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
2060
2206
  }));
2061
2207
  };
2062
2208
 
2063
- var _excluded = ["className", "clearable", "disabled", "disableLabelAnimation", "feedback", "items", "label", "labelTooltip", "listStyle", "loadingText", "onChange", "placeholder", "prepend", "readOnly", "selectedItem", "selectOnBlur", "style", "variant"];
2064
- var DropdownBeta = function DropdownBeta(_ref) {
2209
+ var _excluded$1 = ["ariaLabelCloseList", "ariaLabelOpenList", "className", "clearable", "disabled", "disableLabelAnimation", "feedback", "items", "label", "labelClearSelectedItem", "listStyle", "loadingText", "onChange", "placeholder", "prepend", "readOnly", "selectedItem", "selectOnBlur", "style", "variant"];
2210
+ var Dropdown = function Dropdown(_ref) {
2065
2211
  var _ref3, _selectedItem$label;
2066
- var className = _ref.className,
2212
+ var ariaLabelCloseList = _ref.ariaLabelCloseList,
2213
+ ariaLabelOpenList = _ref.ariaLabelOpenList,
2214
+ className = _ref.className,
2215
+ _ref$clearable = _ref.clearable,
2216
+ clearable = _ref$clearable === void 0 ? false : _ref$clearable,
2067
2217
  _ref$disabled = _ref.disabled,
2068
2218
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
2069
2219
  disableLabelAnimation = _ref.disableLabelAnimation,
2070
2220
  feedback = _ref.feedback,
2071
2221
  initialItems = _ref.items,
2072
2222
  label = _ref.label,
2073
- labelTooltip = _ref.labelTooltip,
2223
+ _ref$labelClearSelect = _ref.labelClearSelectedItem,
2224
+ labelClearSelectedItem = _ref$labelClearSelect === void 0 ? 'fjern valgt' : _ref$labelClearSelect,
2074
2225
  listStyle = _ref.listStyle,
2075
2226
  loadingText = _ref.loadingText,
2076
2227
  onChange = _ref.onChange,
@@ -2084,25 +2235,27 @@ var DropdownBeta = function DropdownBeta(_ref) {
2084
2235
  style = _ref.style,
2085
2236
  _ref$variant = _ref.variant,
2086
2237
  variant = _ref$variant === void 0 ? 'info' : _ref$variant,
2087
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
2088
- // TODO Husk å @deprecate searchable-prop-en til Dropdown når denne komponenten skal ha official release
2238
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
2089
2239
  var _useResolvedItems = useResolvedItems(initialItems),
2090
2240
  normalizedItems = _useResolvedItems.items,
2091
2241
  loading = _useResolvedItems.loading;
2092
2242
  var isFilled = selectedItem !== null || placeholder !== undefined;
2093
2243
  var _useSelect = Downshift.useSelect({
2094
2244
  items: normalizedItems,
2245
+ defaultHighlightedIndex: selectedItem ? undefined : 0,
2095
2246
  selectedItem: selectedItem,
2096
2247
  onStateChange: function onStateChange(_ref2) {
2097
2248
  var type = _ref2.type,
2098
2249
  clickedItem = _ref2.selectedItem;
2099
2250
  switch (type) {
2100
2251
  // @ts-expect-error This falltrough is wanted
2101
- case Downshift.useSelect.stateChangeTypes.InputBlur:
2252
+ case Downshift.useSelect.stateChangeTypes.ToggleButtonBlur:
2102
2253
  if (!selectOnBlur) break;
2103
- case Downshift.useSelect.stateChangeTypes.MenuKeyDownEnter: // eslint-disable-line no-fallthrough
2254
+ case Downshift.useSelect.stateChangeTypes.ToggleButtonKeyDownEnter: // eslint-disable-line no-fallthrough
2104
2255
  case Downshift.useSelect.stateChangeTypes.ItemClick:
2105
- onChange == null ? void 0 : onChange(clickedItem !== undefined ? clickedItem : null);
2256
+ {
2257
+ onChange == null ? void 0 : onChange(clickedItem !== undefined ? clickedItem : null);
2258
+ }
2106
2259
  }
2107
2260
  },
2108
2261
  itemToString: itemToString
@@ -2114,12 +2267,16 @@ var DropdownBeta = function DropdownBeta(_ref) {
2114
2267
  getToggleButtonProps = _useSelect.getToggleButtonProps,
2115
2268
  highlightedIndex = _useSelect.highlightedIndex;
2116
2269
  return React__default["default"].createElement("div", {
2117
- className: "eds-dropdown__wrapper"
2270
+ className: classNames__default["default"]('eds-dropdown__wrapper', className),
2271
+ style: style
2118
2272
  }, React__default["default"].createElement(form.BaseFormControl, _extends({
2119
- append: React__default["default"].createElement(FieldAppend, {
2120
- clearable: true,
2121
- clearSelectedItemsLabel: "Fjern valgt",
2122
- focusable: true,
2273
+ append: React__default["default"].createElement(FieldAppend$1, {
2274
+ ariaHiddenToggleButton: true,
2275
+ ariaLabelCloseList: ariaLabelCloseList,
2276
+ ariaLabelOpenList: ariaLabelOpenList,
2277
+ clearable: clearable,
2278
+ labelClearSelectedItems: labelClearSelectedItem,
2279
+ focusable: false,
2123
2280
  getToggleButtonProps: getToggleButtonProps,
2124
2281
  isOpen: isOpen,
2125
2282
  loading: loading,
@@ -2130,7 +2287,7 @@ var DropdownBeta = function DropdownBeta(_ref) {
2130
2287
  disabled: readOnly || disabled,
2131
2288
  selectedItems: [selectedItem]
2132
2289
  }),
2133
- className: classNames__default["default"]('eds-dropdown', className, {
2290
+ className: classNames__default["default"]('eds-dropdown', {
2134
2291
  'eds-dropdown--not-filled': !isFilled
2135
2292
  }),
2136
2293
  disabled: disabled,
@@ -2140,14 +2297,14 @@ var DropdownBeta = function DropdownBeta(_ref) {
2140
2297
  label: label,
2141
2298
  labelId: getLabelProps().id,
2142
2299
  labelProps: getLabelProps(),
2143
- labelTooltip: labelTooltip,
2144
2300
  prepend: prepend,
2145
2301
  readOnly: readOnly,
2146
- style: style,
2147
2302
  variant: variant
2148
2303
  }, rest), React__default["default"].createElement("div", _extends({
2149
2304
  className: "eds-dropdown__selected-item-button"
2150
- }, 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", {
2151
2308
  className: classNames__default["default"]('eds-dropdown__selected-item-button__placeholder', {
2152
2309
  'eds-dropdown__selected-item-button__placeholder--readonly': readOnly
2153
2310
  })
@@ -2164,12 +2321,96 @@ var DropdownBeta = function DropdownBeta(_ref) {
2164
2321
  }));
2165
2322
  };
2166
2323
 
2324
+ var _excluded = ["className", "disabled", "disableLabelAnimation", "feedback", "items", "label", "loadingText", "onChange", "prepend", "readOnly", "selectedItem", "style", "value", "variant"];
2325
+ var NativeDropdown = function NativeDropdown(_ref) {
2326
+ var _ref2;
2327
+ var className = _ref.className,
2328
+ _ref$disabled = _ref.disabled,
2329
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
2330
+ disableLabelAnimation = _ref.disableLabelAnimation,
2331
+ feedback = _ref.feedback,
2332
+ items = _ref.items,
2333
+ label = _ref.label,
2334
+ loadingText = _ref.loadingText,
2335
+ _onChange = _ref.onChange,
2336
+ prepend = _ref.prepend,
2337
+ _ref$readOnly = _ref.readOnly,
2338
+ readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
2339
+ selectedItem = _ref.selectedItem,
2340
+ style = _ref.style,
2341
+ value = _ref.value,
2342
+ variant = _ref.variant,
2343
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
2344
+ var _useResolvedItems = useResolvedItems(items),
2345
+ normalizedItems = _useResolvedItems.items,
2346
+ loading = _useResolvedItems.loading;
2347
+ var nativeDropdownId = utils.useRandomId('eds-dropdown-native');
2348
+ return React__default["default"].createElement(form.BaseFormControl, {
2349
+ disabled: disabled,
2350
+ readOnly: readOnly,
2351
+ prepend: prepend,
2352
+ append: React__default["default"].createElement(FieldAppend, {
2353
+ hidden: disabled || readOnly,
2354
+ loading: loading,
2355
+ loadingText: loadingText
2356
+ }),
2357
+ className: className,
2358
+ style: style,
2359
+ label: label,
2360
+ labelId: nativeDropdownId,
2361
+ variant: variant,
2362
+ feedback: feedback,
2363
+ disableLabelAnimation: disableLabelAnimation,
2364
+ isFilled: true
2365
+ }, React__default["default"].createElement("select", _extends({
2366
+ "aria-invalid": variant === 'error',
2367
+ "aria-labelledby": nativeDropdownId,
2368
+ "aria-busy": loading,
2369
+ className: "eds-form-control eds-dropdown--native",
2370
+ disabled: disabled || readOnly,
2371
+ onChange: function onChange(event) {
2372
+ var _normalizedItems$find;
2373
+ _onChange == null ? void 0 : _onChange({
2374
+ value: event.target.value,
2375
+ selectedItem: (_normalizedItems$find = normalizedItems.find(function (item) {
2376
+ return item.value === event.target.value;
2377
+ })) != null ? _normalizedItems$find : null,
2378
+ target: event.target
2379
+ });
2380
+ },
2381
+ value: (_ref2 = value != null ? value : selectedItem == null ? void 0 : selectedItem.value) != null ? _ref2 : undefined
2382
+ }, rest), normalizedItems.map(function (item) {
2383
+ return React__default["default"].createElement("option", {
2384
+ key: item.value,
2385
+ value: item.value
2386
+ }, item.label);
2387
+ })));
2388
+ };
2389
+ var FieldAppend = function FieldAppend(_ref3) {
2390
+ var loading = _ref3.loading,
2391
+ loadingText = _ref3.loadingText,
2392
+ hidden = _ref3.hidden;
2393
+ if (loading) {
2394
+ return React__default["default"].createElement("div", {
2395
+ className: "eds-dropdown-native__loading-dots"
2396
+ }, React__default["default"].createElement(loader.LoadingDots, {
2397
+ "aria-label": loadingText
2398
+ }));
2399
+ }
2400
+ if (hidden) {
2401
+ return React__default["default"].createElement(React__default["default"].Fragment, null);
2402
+ }
2403
+ return React__default["default"].createElement(icons.DownArrowIcon, {
2404
+ inline: true
2405
+ });
2406
+ };
2407
+
2167
2408
  utils.warnAboutMissingStyles('dropdown', 'form', 'a11y', 'chip');
2168
2409
 
2169
2410
  exports.Dropdown = Dropdown;
2170
- exports.DropdownBeta = DropdownBeta;
2411
+ exports.DropdownDeprecated = DropdownDeprecated;
2171
2412
  exports.MultiSelect = MultiSelect;
2172
- exports.MultiSelectBeta = MultiSelectBeta;
2413
+ exports.MultiSelectDeprecated = MultiSelectDeprecated;
2173
2414
  exports.NativeDropdown = NativeDropdown;
2174
- exports.SearchableDropdownBeta = SearchableDropdownBeta;
2415
+ exports.SearchableDropdown = SearchableDropdown;
2175
2416
  //# sourceMappingURL=dropdown.cjs.development.js.map