@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.
- package/dist/Dropdown.d.ts +40 -39
- package/dist/MultiSelect.d.ts +90 -33
- package/dist/SearchableDropdown.d.ts +64 -18
- package/dist/{beta/components → components}/DropdownList.d.ts +2 -1
- package/dist/{BaseDropdown.d.ts → deprecated/BaseDropdown.d.ts} +3 -3
- package/dist/{DownshiftProvider.d.ts → deprecated/DownshiftProvider.d.ts} +1 -1
- package/dist/deprecated/Dropdown.d.ts +72 -0
- package/dist/{DropdownInputGroup.d.ts → deprecated/DropdownInputGroup.d.ts} +2 -2
- package/dist/deprecated/DropdownList.d.ts +8 -0
- package/dist/{DropdownLoadingDots.d.ts → deprecated/DropdownLoadingDots.d.ts} +1 -1
- package/dist/deprecated/DropdownToggleButton.d.ts +3 -0
- package/dist/deprecated/MultiSelect.d.ts +64 -0
- package/dist/{RegularDropdown.d.ts → deprecated/RegularDropdown.d.ts} +3 -3
- package/dist/deprecated/SearchableDropdown.d.ts +34 -0
- package/dist/deprecated/index.d.ts +2 -0
- package/dist/dropdown.cjs.development.js +141 -77
- package/dist/dropdown.cjs.development.js.map +1 -1
- package/dist/dropdown.cjs.production.min.js +1 -1
- package/dist/dropdown.cjs.production.min.js.map +1 -1
- package/dist/dropdown.esm.js +139 -75
- package/dist/dropdown.esm.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/styles.css +266 -287
- package/package.json +12 -12
- package/dist/DropdownList.d.ts +0 -8
- package/dist/DropdownToggleButton.d.ts +0 -3
- package/dist/beta/Dropdown.d.ts +0 -62
- package/dist/beta/MultiSelect.d.ts +0 -97
- package/dist/beta/SearchableDropdown.d.ts +0 -70
- package/dist/beta/index.d.ts +0 -5
- /package/dist/{beta/NativeDropdown.d.ts → NativeDropdown.d.ts} +0 -0
- /package/dist/{beta/components → components}/FieldComponents.d.ts +0 -0
- /package/dist/{beta/useNormalizedItems.d.ts → useNormalizedItems.d.ts} +0 -0
- /package/dist/{beta/useResolvedItems.d.ts → useResolvedItems.d.ts} +0 -0
- /package/dist/{beta/utils.d.ts → utils.d.ts} +0 -0
package/dist/dropdown.esm.js
CHANGED
|
@@ -451,7 +451,7 @@ var useDownshift = function useDownshift() {
|
|
|
451
451
|
};
|
|
452
452
|
|
|
453
453
|
var _excluded$c = ["items"];
|
|
454
|
-
var
|
|
454
|
+
var DropdownListDeprecated = function DropdownListDeprecated(_ref) {
|
|
455
455
|
var items = _ref.items,
|
|
456
456
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$c);
|
|
457
457
|
var _useDownshift = useDownshift(),
|
|
@@ -487,7 +487,7 @@ var DropdownList$1 = function DropdownList(_ref) {
|
|
|
487
487
|
}) : null);
|
|
488
488
|
};
|
|
489
489
|
|
|
490
|
-
var
|
|
490
|
+
var DropdownDeprecatedToggleButton = function DropdownDeprecatedToggleButton() {
|
|
491
491
|
var _useDownshift = useDownshift(),
|
|
492
492
|
getToggleButtonProps = _useDownshift.getToggleButtonProps,
|
|
493
493
|
isOpen = _useDownshift.isOpen;
|
|
@@ -502,7 +502,7 @@ var DropdownToggleButton$1 = function DropdownToggleButton() {
|
|
|
502
502
|
};
|
|
503
503
|
|
|
504
504
|
var _excluded$b = ["className", "children"];
|
|
505
|
-
var
|
|
505
|
+
var DropdownDeprecatedLoadingDots = function DropdownDeprecatedLoadingDots(_ref) {
|
|
506
506
|
var className = _ref.className,
|
|
507
507
|
children = _ref.children,
|
|
508
508
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$b);
|
|
@@ -512,7 +512,7 @@ var DropdownLoadingDots = function DropdownLoadingDots(_ref) {
|
|
|
512
512
|
};
|
|
513
513
|
|
|
514
514
|
var _excluded$a = ["children", "className", "items", "loading", "loadingText", "placeholder", "style", "listStyle", "clearable", "label", "isFilled", "disableLabelAnimation"];
|
|
515
|
-
var
|
|
515
|
+
var BaseDropdownDeprecated = function BaseDropdownDeprecated(_ref) {
|
|
516
516
|
var children = _ref.children,
|
|
517
517
|
className = _ref.className,
|
|
518
518
|
items = _ref.items,
|
|
@@ -545,7 +545,7 @@ var BaseDropdown = function BaseDropdown(_ref) {
|
|
|
545
545
|
isFilled: isFilled,
|
|
546
546
|
labelProps: getLabelProps(),
|
|
547
547
|
disableLabelAnimation: disableLabelAnimation
|
|
548
|
-
}, rest), children), React.createElement(
|
|
548
|
+
}, rest), children), React.createElement(DropdownListDeprecated, _extends({
|
|
549
549
|
items: items,
|
|
550
550
|
style: _extends({
|
|
551
551
|
position: 'absolute',
|
|
@@ -576,16 +576,16 @@ var Appendix$1 = function Appendix(_ref3) {
|
|
|
576
576
|
loadingText = _ref3.loadingText,
|
|
577
577
|
readOnly = _ref3.readOnly;
|
|
578
578
|
if (loading) {
|
|
579
|
-
return React.createElement(
|
|
579
|
+
return React.createElement(DropdownDeprecatedLoadingDots, null, loadingText);
|
|
580
580
|
}
|
|
581
581
|
if (readOnly) {
|
|
582
582
|
return null;
|
|
583
583
|
}
|
|
584
|
-
return clearable ? React.createElement(React.Fragment, null, React.createElement(ClearButton$1, null), " ", React.createElement(
|
|
584
|
+
return clearable ? React.createElement(React.Fragment, null, React.createElement(ClearButton$1, null), " ", React.createElement(DropdownDeprecatedToggleButton, null)) : React.createElement(DropdownDeprecatedToggleButton, null);
|
|
585
585
|
};
|
|
586
586
|
|
|
587
587
|
var _excluded$9 = ["disabled", "placeholder", "selectOnTab", "openOnFocus", "listStyle", "items", "label", "disableLabelAnimation", "loading", "loadingText", "className", "clearable"];
|
|
588
|
-
var
|
|
588
|
+
var RegularDropdownDeprecated = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
589
589
|
var disabled = _ref.disabled,
|
|
590
590
|
_ref$placeholder = _ref.placeholder,
|
|
591
591
|
placeholder = _ref$placeholder === void 0 ? 'Vennligst velg' : _ref$placeholder,
|
|
@@ -610,7 +610,7 @@ var RegularDropdown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
610
610
|
isOpen = _useDownshift.isOpen,
|
|
611
611
|
highlightedIndex = _useDownshift.highlightedIndex,
|
|
612
612
|
setHighlightedIndex = _useDownshift.setHighlightedIndex;
|
|
613
|
-
return React.createElement(
|
|
613
|
+
return React.createElement(BaseDropdownDeprecated, _extends({
|
|
614
614
|
disabled: disabled,
|
|
615
615
|
listStyle: listStyle,
|
|
616
616
|
items: items,
|
|
@@ -671,7 +671,17 @@ function LowerCaseFilterTest(item, input) {
|
|
|
671
671
|
var inputRegex = new RegExp(sanitizeEscapeCharacters, 'i');
|
|
672
672
|
return inputRegex.test(item.label);
|
|
673
673
|
}
|
|
674
|
-
|
|
674
|
+
/**
|
|
675
|
+
* @deprecated
|
|
676
|
+
* New SearchableDropdown available
|
|
677
|
+
*
|
|
678
|
+
* migration guide to new dropdown:
|
|
679
|
+
* - change import from 'DropdownDeprecated' to 'Dropdown'
|
|
680
|
+
* - change from 'value' to 'selectedItem'
|
|
681
|
+
* + type of 'selectedItem' is 'NormalizedDropdownType' and does not include 'string'
|
|
682
|
+
* - 'onChange' must update value of 'selectedItem'
|
|
683
|
+
*/
|
|
684
|
+
var SearchableDropdownDeprecated = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
675
685
|
var _ref$disabled = _ref.disabled,
|
|
676
686
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
677
687
|
className = _ref.className,
|
|
@@ -712,7 +722,7 @@ var SearchableDropdown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
712
722
|
return itemFilter(item, inputValue);
|
|
713
723
|
});
|
|
714
724
|
}, [inputValue, items, itemFilter]);
|
|
715
|
-
return React.createElement(
|
|
725
|
+
return React.createElement(BaseDropdownDeprecated, {
|
|
716
726
|
items: filteredItems,
|
|
717
727
|
disabled: disabled,
|
|
718
728
|
readOnly: readOnly,
|
|
@@ -754,7 +764,7 @@ var SearchableDropdown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
754
764
|
})));
|
|
755
765
|
});
|
|
756
766
|
|
|
757
|
-
var
|
|
767
|
+
var DropdownInputGroupDeprecated = function DropdownInputGroupDeprecated(_ref) {
|
|
758
768
|
var children = _ref.children,
|
|
759
769
|
feedback = _ref.feedback,
|
|
760
770
|
variant = _ref.variant,
|
|
@@ -892,7 +902,18 @@ debounceTimeout) {
|
|
|
892
902
|
};
|
|
893
903
|
|
|
894
904
|
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"];
|
|
895
|
-
|
|
905
|
+
/**
|
|
906
|
+
* @deprecated
|
|
907
|
+
* New Dropdown available
|
|
908
|
+
*
|
|
909
|
+
* migration guide to new dropdown:
|
|
910
|
+
* - change import from 'DropdownDeprecated' to 'Dropdown'
|
|
911
|
+
* + if 'searchable', switch to 'SearchableDropdown'
|
|
912
|
+
* - change from 'value' to 'selectedItem'
|
|
913
|
+
* + type of 'selectedItem' is 'NormalizedDropdownType' and does not include 'string'
|
|
914
|
+
* - 'onChange' must update value of 'selectedItem'
|
|
915
|
+
*/
|
|
916
|
+
var DropdownDeprecated = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
896
917
|
var highlightFirstItemOnOpen = _ref.highlightFirstItemOnOpen,
|
|
897
918
|
debounceTimeout = _ref.debounceTimeout,
|
|
898
919
|
disabled = _ref.disabled,
|
|
@@ -927,7 +948,7 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
927
948
|
var selectedItem = value === undefined ? undefined : normalizedItems.find(function (item) {
|
|
928
949
|
return value === item.value;
|
|
929
950
|
}) || null;
|
|
930
|
-
var RenderedDropdown = searchable ?
|
|
951
|
+
var RenderedDropdown = searchable ? SearchableDropdownDeprecated : RegularDropdownDeprecated;
|
|
931
952
|
var searchAbleProps = searchable ? {
|
|
932
953
|
itemFilter: itemFilter,
|
|
933
954
|
name: rest.name,
|
|
@@ -945,7 +966,7 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
945
966
|
className: className,
|
|
946
967
|
style: style,
|
|
947
968
|
searchable: searchable
|
|
948
|
-
}, rest), React.createElement(
|
|
969
|
+
}, rest), React.createElement(DropdownInputGroupDeprecated, {
|
|
949
970
|
feedback: feedback,
|
|
950
971
|
variant: variant
|
|
951
972
|
}, React.createElement(RenderedDropdown, _extends({
|
|
@@ -967,9 +988,9 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
967
988
|
});
|
|
968
989
|
|
|
969
990
|
var _excluded$6 = ["className", "clearable", "debounceTimeout", "disabled", "feedback", "initialSelectedItems", "items", "itemsSelectedLabel", "label", "listStyle", "loading", "loadingText", "onChange", "openOnFocus", "readOnly", "style", "variant"];
|
|
970
|
-
var
|
|
971
|
-
var
|
|
972
|
-
var context = React.useContext(
|
|
991
|
+
var MultiSelectOldContext = /*#__PURE__*/React.createContext(null);
|
|
992
|
+
var useMultiSelectOldContext = function useMultiSelectOldContext() {
|
|
993
|
+
var context = React.useContext(MultiSelectOldContext);
|
|
973
994
|
if (!context) {
|
|
974
995
|
throw new Error('You need to wrap your component in a DownshiftProvider');
|
|
975
996
|
}
|
|
@@ -992,7 +1013,17 @@ actionAndChanges) {
|
|
|
992
1013
|
return changes;
|
|
993
1014
|
}
|
|
994
1015
|
}
|
|
995
|
-
|
|
1016
|
+
/**
|
|
1017
|
+
* @deprecated
|
|
1018
|
+
* New MultiSelect available
|
|
1019
|
+
*
|
|
1020
|
+
* migration guide to new dropdown:
|
|
1021
|
+
* - change import from 'MultiSelectDeprecated' to 'MultiSelect'
|
|
1022
|
+
* - add state containing selected items to 'selectedItems' prop
|
|
1023
|
+
* + type of 'selectedItems' is 'NormalizedDropdownType[]' and does not include 'string'
|
|
1024
|
+
* - 'onChange' must update value of 'selectedItem'
|
|
1025
|
+
*/
|
|
1026
|
+
var MultiSelectDeprecated = function MultiSelectDeprecated(_ref) {
|
|
996
1027
|
var className = _ref.className,
|
|
997
1028
|
_ref$clearable = _ref.clearable,
|
|
998
1029
|
clearable = _ref$clearable === void 0 ? false : _ref$clearable,
|
|
@@ -1068,7 +1099,7 @@ var MultiSelect = function MultiSelect(_ref) {
|
|
|
1068
1099
|
openMenu = _useSelect.openMenu;
|
|
1069
1100
|
var buttonText = selectedItems.length ? itemsSelectedLabel(selectedItems) : '';
|
|
1070
1101
|
var multiSelectId = useRandomId('eds-multiselect');
|
|
1071
|
-
return React.createElement(
|
|
1102
|
+
return React.createElement(MultiSelectOldContext.Provider, {
|
|
1072
1103
|
value: {
|
|
1073
1104
|
isOpen: isOpen,
|
|
1074
1105
|
reset: reset,
|
|
@@ -1144,8 +1175,8 @@ var MultiSelect = function MultiSelect(_ref) {
|
|
|
1144
1175
|
};
|
|
1145
1176
|
var ClearButton = function ClearButton(_ref3) {
|
|
1146
1177
|
var props = _extends({}, (_objectDestructuringEmpty(_ref3), _ref3));
|
|
1147
|
-
var
|
|
1148
|
-
reset =
|
|
1178
|
+
var _useMultiSelectOldCon = useMultiSelectOldContext(),
|
|
1179
|
+
reset = _useMultiSelectOldCon.reset;
|
|
1149
1180
|
return React.createElement(React.Fragment, null, React.createElement("button", _extends({
|
|
1150
1181
|
className: "eds-dropdown__clear-button",
|
|
1151
1182
|
type: "button",
|
|
@@ -1163,7 +1194,7 @@ var Appendix = function Appendix(_ref4) {
|
|
|
1163
1194
|
readOnly = _ref4.readOnly,
|
|
1164
1195
|
hasSelected = _ref4.hasSelected;
|
|
1165
1196
|
if (loading) {
|
|
1166
|
-
return React.createElement(
|
|
1197
|
+
return React.createElement(DropdownDeprecatedLoadingDots, null, loadingText);
|
|
1167
1198
|
}
|
|
1168
1199
|
if (readOnly) {
|
|
1169
1200
|
return null;
|
|
@@ -1171,11 +1202,11 @@ var Appendix = function Appendix(_ref4) {
|
|
|
1171
1202
|
return hasSelected ? React.createElement(React.Fragment, null, React.createElement(ClearButton, null), React.createElement(DropdownToggleButton, null)) : React.createElement(DropdownToggleButton, null);
|
|
1172
1203
|
};
|
|
1173
1204
|
var DropdownToggleButton = function DropdownToggleButton() {
|
|
1174
|
-
var
|
|
1175
|
-
getToggleButtonProps =
|
|
1176
|
-
isOpen =
|
|
1177
|
-
openMenu =
|
|
1178
|
-
openOnFocus =
|
|
1205
|
+
var _useMultiSelectOldCon2 = useMultiSelectOldContext(),
|
|
1206
|
+
getToggleButtonProps = _useMultiSelectOldCon2.getToggleButtonProps,
|
|
1207
|
+
isOpen = _useMultiSelectOldCon2.isOpen,
|
|
1208
|
+
openMenu = _useMultiSelectOldCon2.openMenu,
|
|
1209
|
+
openOnFocus = _useMultiSelectOldCon2.openOnFocus;
|
|
1179
1210
|
return React.createElement("button", _extends({}, getToggleButtonProps({
|
|
1180
1211
|
className: classNames('eds-dropdown__toggle-button', {
|
|
1181
1212
|
'eds-dropdown__toggle-button--open': isOpen
|
|
@@ -1207,9 +1238,11 @@ function SelectedItemsLabel(items) {
|
|
|
1207
1238
|
}).toString() : items.length + " elementer valgt";
|
|
1208
1239
|
}
|
|
1209
1240
|
|
|
1210
|
-
var _excluded$5 = ["ariaLabelSelectedItem", "getItemProps", "getMenuProps", "inputValue", "isOpen", "highlightedIndex", "listItems", "listStyle", "loading", "loadingText", "noMatchesText", "selectAllCheckboxState", "selectAllItem", "selectedItems", "showSelectAllInList"];
|
|
1241
|
+
var _excluded$5 = ["ariaLabelChosenSingular", "ariaLabelSelectedItem", "getItemProps", "getMenuProps", "inputValue", "isOpen", "highlightedIndex", "listItems", "listStyle", "loading", "loadingText", "noMatchesText", "selectAllCheckboxState", "selectAllItem", "selectedItems", "showSelectAllInList"];
|
|
1211
1242
|
var DropdownList = function DropdownList(_ref) {
|
|
1212
|
-
var _ref$
|
|
1243
|
+
var _ref$ariaLabelChosenS = _ref.ariaLabelChosenSingular,
|
|
1244
|
+
ariaLabelChosenSingular = _ref$ariaLabelChosenS === void 0 ? 'valgt' : _ref$ariaLabelChosenS,
|
|
1245
|
+
_ref$ariaLabelSelecte = _ref.ariaLabelSelectedItem,
|
|
1213
1246
|
ariaLabelSelectedItem = _ref$ariaLabelSelecte === void 0 ? ', valgt element, trykk for å fjerne' : _ref$ariaLabelSelecte,
|
|
1214
1247
|
getItemProps = _ref.getItemProps,
|
|
1215
1248
|
getMenuProps = _ref.getMenuProps,
|
|
@@ -1231,7 +1264,7 @@ var DropdownList = function DropdownList(_ref) {
|
|
|
1231
1264
|
var isNoMatches = !loading && (listItems.length === 0 || listItems.length === 1 && listItems[0].value === (selectAllItem == null ? void 0 : selectAllItem.value));
|
|
1232
1265
|
var isItemSelected = function isItemSelected(item) {
|
|
1233
1266
|
return selectedItems.some(function (selectedItem) {
|
|
1234
|
-
return selectedItem.value === item.value;
|
|
1267
|
+
return selectedItem.value === item.value && selectedItem.label === item.label;
|
|
1235
1268
|
});
|
|
1236
1269
|
};
|
|
1237
1270
|
var ariaLabelSelectAll = function ariaLabelSelectAll() {
|
|
@@ -1242,7 +1275,7 @@ var DropdownList = function DropdownList(_ref) {
|
|
|
1242
1275
|
}
|
|
1243
1276
|
case true:
|
|
1244
1277
|
{
|
|
1245
|
-
return (selectAllItem == null ? void 0 : selectAllItem.label) + ",
|
|
1278
|
+
return (selectAllItem == null ? void 0 : selectAllItem.label) + ", " + ariaLabelChosenSingular;
|
|
1246
1279
|
}
|
|
1247
1280
|
default:
|
|
1248
1281
|
{
|
|
@@ -1289,28 +1322,30 @@ var DropdownList = function DropdownList(_ref) {
|
|
|
1289
1322
|
return (
|
|
1290
1323
|
// use popover from @entur/tooltip when that package upgrades to floating-ui
|
|
1291
1324
|
React.createElement("ul", _extends({}, getMenuProps(), {
|
|
1292
|
-
className:
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1325
|
+
className: "eds-dropdown__list",
|
|
1326
|
+
style: _extends({
|
|
1327
|
+
display: isOpen ? 'inline-block' : 'none'
|
|
1328
|
+
}, rest.style, listStyle)
|
|
1296
1329
|
}), listItems.length > 0 && listItems.map(function (item, index) {
|
|
1297
1330
|
var itemIsSelectAll = item.value === (selectAllItem == null ? void 0 : selectAllItem.value);
|
|
1298
|
-
if (itemIsSelectAll && listItems.length <= 2) return
|
|
1331
|
+
if (itemIsSelectAll && listItems.length <= 2) return null;
|
|
1299
1332
|
return React.createElement("li", _extends({
|
|
1300
|
-
key: item.
|
|
1333
|
+
key: item.label,
|
|
1301
1334
|
className: classNames('eds-dropdown__list__item', {
|
|
1302
1335
|
'eds-dropdown__list__item--select-all': itemIsSelectAll,
|
|
1303
1336
|
'eds-dropdown__list__item--highlighted': highlightedIndex === index,
|
|
1304
1337
|
'eds-dropdown__list__item--selected': !isMultiselect && isItemSelected(item)
|
|
1305
1338
|
})
|
|
1306
1339
|
}, getItemProps({
|
|
1307
|
-
key:
|
|
1340
|
+
key: item.label,
|
|
1308
1341
|
item: item,
|
|
1309
1342
|
index: index
|
|
1310
1343
|
})), itemIsSelectAll ? selectAllListItemContent() : listItemContent(item));
|
|
1311
1344
|
}), isNoMatches && React.createElement("li", {
|
|
1345
|
+
key: "dropdown-list-no-match",
|
|
1312
1346
|
className: "eds-dropdown__list__item"
|
|
1313
1347
|
}, noMatchesText), loading && React.createElement("li", {
|
|
1348
|
+
key: "dropdown-list-loading",
|
|
1314
1349
|
className: "eds-dropdown__list__item"
|
|
1315
1350
|
}, loadingText))
|
|
1316
1351
|
);
|
|
@@ -1405,8 +1440,9 @@ var ClearableButton = function ClearableButton(_ref4) {
|
|
|
1405
1440
|
focusable = _ref4$focusable === void 0 ? false : _ref4$focusable;
|
|
1406
1441
|
return React.createElement(Tooltip, {
|
|
1407
1442
|
"aria-hidden": "true",
|
|
1408
|
-
placement: "
|
|
1409
|
-
content: labelClearSelectedItems
|
|
1443
|
+
placement: "top",
|
|
1444
|
+
content: labelClearSelectedItems,
|
|
1445
|
+
className: "eds-dropdown-appendix__clear-button__tooltip"
|
|
1410
1446
|
}, React.createElement(IconButton, {
|
|
1411
1447
|
className: "eds-dropdown-appendix__clear-button",
|
|
1412
1448
|
type: "button",
|
|
@@ -1431,10 +1467,11 @@ var ToggleButton = function ToggleButton(_ref5) {
|
|
|
1431
1467
|
return React.createElement(IconButton, _extends({}, getToggleButtonProps({
|
|
1432
1468
|
className: classNames('eds-dropdown-appendix__toggle-button', {
|
|
1433
1469
|
'eds-dropdown-appendix__toggle-button--open': isOpen
|
|
1434
|
-
})
|
|
1470
|
+
}),
|
|
1471
|
+
'aria-labelledby': undefined
|
|
1435
1472
|
}), {
|
|
1436
1473
|
"aria-hidden": ariaHidden,
|
|
1437
|
-
"aria-label": isOpen ? ariaLabelCloseList : ariaLabelOpenList,
|
|
1474
|
+
"aria-label": ariaHidden ? undefined : isOpen ? ariaLabelCloseList : ariaLabelOpenList,
|
|
1438
1475
|
tabIndex: focusable ? 0 : -1,
|
|
1439
1476
|
type: "button"
|
|
1440
1477
|
}), React.createElement(DownArrowIcon, {
|
|
@@ -1582,7 +1619,7 @@ var isVoiceOverClick = function isVoiceOverClick(clickEvent) {
|
|
|
1582
1619
|
/* end a11y utils */
|
|
1583
1620
|
|
|
1584
1621
|
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"];
|
|
1585
|
-
var
|
|
1622
|
+
var SearchableDropdown = function SearchableDropdown(_ref) {
|
|
1586
1623
|
var _selectedItem$label;
|
|
1587
1624
|
var ariaLabelCloseList = _ref.ariaLabelCloseList,
|
|
1588
1625
|
ariaLabelOpenList = _ref.ariaLabelOpenList,
|
|
@@ -1739,7 +1776,8 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
|
|
|
1739
1776
|
});
|
|
1740
1777
|
};
|
|
1741
1778
|
return React.createElement("div", {
|
|
1742
|
-
className:
|
|
1779
|
+
className: classNames('eds-dropdown__wrapper', className),
|
|
1780
|
+
style: style
|
|
1743
1781
|
}, React.createElement(BaseFormControl, _extends({
|
|
1744
1782
|
append: React.createElement(FieldAppend$1, {
|
|
1745
1783
|
ariaLabelCloseList: ariaLabelCloseList,
|
|
@@ -1755,7 +1793,7 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
|
|
|
1755
1793
|
onClear: handleOnClear,
|
|
1756
1794
|
selectedItems: [selectedItem]
|
|
1757
1795
|
}),
|
|
1758
|
-
className:
|
|
1796
|
+
className: "eds-dropdown",
|
|
1759
1797
|
disabled: disabled,
|
|
1760
1798
|
disableLabelAnimation: disableLabelAnimation,
|
|
1761
1799
|
feedback: feedback,
|
|
@@ -1765,7 +1803,6 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
|
|
|
1765
1803
|
labelProps: getLabelProps(),
|
|
1766
1804
|
prepend: prepend,
|
|
1767
1805
|
readOnly: readOnly,
|
|
1768
|
-
style: style,
|
|
1769
1806
|
variant: variant
|
|
1770
1807
|
}, rest), !hideSelectedItem && selectedItem && !inputValue && React.createElement("span", {
|
|
1771
1808
|
className: "eds-dropdown__selected-item__wrapper",
|
|
@@ -1804,18 +1841,21 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
|
|
|
1804
1841
|
}));
|
|
1805
1842
|
};
|
|
1806
1843
|
|
|
1807
|
-
var _excluded$2 = ["className", "clearable", "clearInputOnSelect", "debounceTimeout", "disabled", "feedback", "hideSelectAll", "items", "label", "labelAllItemsSelected", "labelClearAllItems", "labelSelectAll", "listStyle", "loadingText", "
|
|
1808
|
-
var
|
|
1844
|
+
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"];
|
|
1845
|
+
var MultiSelect = function MultiSelect(_ref) {
|
|
1809
1846
|
var className = _ref.className,
|
|
1810
1847
|
_ref$clearable = _ref.clearable,
|
|
1811
1848
|
clearable = _ref$clearable === void 0 ? true : _ref$clearable,
|
|
1812
1849
|
_ref$clearInputOnSele = _ref.clearInputOnSelect,
|
|
1813
1850
|
clearInputOnSelect = _ref$clearInputOnSele === void 0 ? false : _ref$clearInputOnSele,
|
|
1851
|
+
debounceTimeout = _ref.debounceTimeout,
|
|
1814
1852
|
_ref$disabled = _ref.disabled,
|
|
1815
1853
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
1816
1854
|
feedback = _ref.feedback,
|
|
1817
1855
|
_ref$hideSelectAll = _ref.hideSelectAll,
|
|
1818
1856
|
hideSelectAll = _ref$hideSelectAll === void 0 ? false : _ref$hideSelectAll,
|
|
1857
|
+
_ref$itemFilter = _ref.itemFilter,
|
|
1858
|
+
itemFilter = _ref$itemFilter === void 0 ? lowerCaseFilterTest : _ref$itemFilter,
|
|
1819
1859
|
initialItems = _ref.items,
|
|
1820
1860
|
label = _ref.label,
|
|
1821
1861
|
_ref$labelAllItemsSel = _ref.labelAllItemsSelected,
|
|
@@ -1826,8 +1866,8 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
|
|
|
1826
1866
|
labelSelectAll = _ref$labelSelectAll === void 0 ? 'Velg alle' : _ref$labelSelectAll,
|
|
1827
1867
|
listStyle = _ref.listStyle,
|
|
1828
1868
|
loadingText = _ref.loadingText,
|
|
1829
|
-
_ref$
|
|
1830
|
-
|
|
1869
|
+
_ref$maxChips = _ref.maxChips,
|
|
1870
|
+
maxChips = _ref$maxChips === void 0 ? 10 : _ref$maxChips,
|
|
1831
1871
|
_ref$onChange = _ref.onChange,
|
|
1832
1872
|
onChange = _ref$onChange === void 0 ? function () {
|
|
1833
1873
|
return undefined;
|
|
@@ -1851,6 +1891,8 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
|
|
|
1851
1891
|
ariaLabelOpenList = _ref.ariaLabelOpenList,
|
|
1852
1892
|
_ref$ariaLabelRemoveS = _ref.ariaLabelRemoveSelected,
|
|
1853
1893
|
ariaLabelRemoveSelected = _ref$ariaLabelRemoveS === void 0 ? 'trykk for å fjerne valg' : _ref$ariaLabelRemoveS,
|
|
1894
|
+
_ref$ariaLabelSelecte = _ref.ariaLabelSelectedItem,
|
|
1895
|
+
ariaLabelSelectedItem = _ref$ariaLabelSelecte === void 0 ? ', valgt element, trykk for å fjerne' : _ref$ariaLabelSelecte,
|
|
1854
1896
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
1855
1897
|
var _React$useState = React.useState(0),
|
|
1856
1898
|
lastHighlightedIndex = _React$useState[0],
|
|
@@ -1859,7 +1901,7 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
|
|
|
1859
1901
|
lastRemovedItem = _React$useState2[0],
|
|
1860
1902
|
setLastRemovedItem = _React$useState2[1];
|
|
1861
1903
|
var inputRef = useRef(null);
|
|
1862
|
-
var _useResolvedItems = useResolvedItems(initialItems),
|
|
1904
|
+
var _useResolvedItems = useResolvedItems(initialItems, debounceTimeout),
|
|
1863
1905
|
normalizedItems = _useResolvedItems.items,
|
|
1864
1906
|
loading = _useResolvedItems.loading,
|
|
1865
1907
|
fetchItems = _useResolvedItems.fetchItems;
|
|
@@ -1870,20 +1912,20 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
|
|
|
1870
1912
|
label: labelSelectAll
|
|
1871
1913
|
};
|
|
1872
1914
|
// special 'item' used as a replacement selected item tag for when
|
|
1873
|
-
// there are more selected element than
|
|
1915
|
+
// there are more selected element than maxChips
|
|
1874
1916
|
var summarySelectedItems = React.useMemo(function () {
|
|
1875
1917
|
return {
|
|
1876
1918
|
value: EMPTY_INPUT,
|
|
1877
1919
|
label: isAllNonAsyncItemsSelected ? labelAllItemsSelected : selectedItems.length + ' ' + ariaLabelChosenPlural
|
|
1878
1920
|
};
|
|
1879
|
-
}, [isAllNonAsyncItemsSelected, selectedItems, labelAllItemsSelected]);
|
|
1921
|
+
}, [isAllNonAsyncItemsSelected, selectedItems, labelAllItemsSelected, ariaLabelChosenPlural]);
|
|
1880
1922
|
var _useState = useState([].concat(!hideSelectAll ? [selectAll] : [], normalizedItems)),
|
|
1881
1923
|
listItems = _useState[0],
|
|
1882
1924
|
setListItems = _useState[1];
|
|
1883
1925
|
var filterListItems = function filterListItems(_ref2) {
|
|
1884
1926
|
var inputValue = _ref2.inputValue;
|
|
1885
1927
|
return setListItems([].concat(!hideSelectAll ? [selectAll] : [], normalizedItems.filter(function (item) {
|
|
1886
|
-
return
|
|
1928
|
+
return itemFilter(item, inputValue);
|
|
1887
1929
|
})));
|
|
1888
1930
|
};
|
|
1889
1931
|
var updateListItems = function updateListItems(_ref3) {
|
|
@@ -1909,6 +1951,20 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
|
|
|
1909
1951
|
var _useMultipleSelection = useMultipleSelection({
|
|
1910
1952
|
selectedItems: selectedItems,
|
|
1911
1953
|
itemToString: itemToString,
|
|
1954
|
+
onStateChange: function onStateChange(_ref4) {
|
|
1955
|
+
var newSelectedItems = _ref4.selectedItems,
|
|
1956
|
+
type = _ref4.type;
|
|
1957
|
+
switch (type) {
|
|
1958
|
+
case useMultipleSelection.stateChangeTypes.SelectedItemKeyDownBackspace:
|
|
1959
|
+
case useMultipleSelection.stateChangeTypes.SelectedItemKeyDownDelete:
|
|
1960
|
+
case useMultipleSelection.stateChangeTypes.DropdownKeyDownBackspace:
|
|
1961
|
+
case useMultipleSelection.stateChangeTypes.FunctionRemoveSelectedItem:
|
|
1962
|
+
{
|
|
1963
|
+
if (newSelectedItems !== undefined) onChange(newSelectedItems);
|
|
1964
|
+
break;
|
|
1965
|
+
}
|
|
1966
|
+
}
|
|
1967
|
+
},
|
|
1912
1968
|
// Accessibility
|
|
1913
1969
|
getA11yRemovalMessage: function getA11yRemovalMessage$1(options) {
|
|
1914
1970
|
return getA11yRemovalMessage(_extends({}, options, {
|
|
@@ -1919,9 +1975,9 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
|
|
|
1919
1975
|
}),
|
|
1920
1976
|
getSelectedItemProps = _useMultipleSelection.getSelectedItemProps,
|
|
1921
1977
|
getDropdownProps = _useMultipleSelection.getDropdownProps;
|
|
1922
|
-
var stateReducer = React.useCallback(function (_,
|
|
1923
|
-
var changes =
|
|
1924
|
-
type =
|
|
1978
|
+
var stateReducer = React.useCallback(function (_, _ref5) {
|
|
1979
|
+
var changes = _ref5.changes,
|
|
1980
|
+
type = _ref5.type;
|
|
1925
1981
|
if (changes.highlightedIndex !== undefined && (changes == null ? void 0 : changes.highlightedIndex) >= 0) {
|
|
1926
1982
|
setLastHighlightedIndex(changes == null ? void 0 : changes.highlightedIndex);
|
|
1927
1983
|
}
|
|
@@ -1991,9 +2047,9 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
|
|
|
1991
2047
|
itemToString: itemToString,
|
|
1992
2048
|
selectedItem: null,
|
|
1993
2049
|
stateReducer: stateReducer,
|
|
1994
|
-
onStateChange: function onStateChange(
|
|
1995
|
-
var type =
|
|
1996
|
-
clickedItem =
|
|
2050
|
+
onStateChange: function onStateChange(_ref6) {
|
|
2051
|
+
var type = _ref6.type,
|
|
2052
|
+
clickedItem = _ref6.selectedItem;
|
|
1997
2053
|
// clickedItem means item chosen either via mouse or keyboard
|
|
1998
2054
|
if (!clickedItem) return;
|
|
1999
2055
|
switch (type) {
|
|
@@ -2045,7 +2101,8 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
|
|
|
2045
2101
|
});
|
|
2046
2102
|
};
|
|
2047
2103
|
return React.createElement("div", {
|
|
2048
|
-
className:
|
|
2104
|
+
className: classNames('eds-dropdown__wrapper', className),
|
|
2105
|
+
style: style
|
|
2049
2106
|
}, React.createElement(BaseFormControl, _extends({
|
|
2050
2107
|
append: React.createElement(FieldAppend$1, {
|
|
2051
2108
|
ariaLabelCloseList: ariaLabelCloseList,
|
|
@@ -2061,7 +2118,7 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
|
|
|
2061
2118
|
onClear: handleOnClear,
|
|
2062
2119
|
getToggleButtonProps: getToggleButtonProps
|
|
2063
2120
|
}),
|
|
2064
|
-
className:
|
|
2121
|
+
className: "eds-dropdown",
|
|
2065
2122
|
disabled: disabled,
|
|
2066
2123
|
feedback: feedback,
|
|
2067
2124
|
isFilled: hasSelectedItems || inputValue !== EMPTY_INPUT,
|
|
@@ -2069,7 +2126,6 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
|
|
|
2069
2126
|
labelId: getLabelProps().id,
|
|
2070
2127
|
labelProps: getLabelProps(),
|
|
2071
2128
|
readOnly: readOnly,
|
|
2072
|
-
style: style,
|
|
2073
2129
|
variant: variant
|
|
2074
2130
|
}, rest), React.createElement("div", {
|
|
2075
2131
|
className: classNames('eds-dropdown__selected-items-and-input', {
|
|
@@ -2079,7 +2135,7 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
|
|
|
2079
2135
|
var _inputRef$current4;
|
|
2080
2136
|
if (e.target === e.currentTarget) (_inputRef$current4 = inputRef.current) == null ? void 0 : _inputRef$current4.focus();
|
|
2081
2137
|
}
|
|
2082
|
-
}, selectedItems.length <
|
|
2138
|
+
}, selectedItems.length < maxChips ? React.createElement(React.Fragment, null, selectedItems.length > 1 ? React.createElement(VisuallyHidden, {
|
|
2083
2139
|
onClick: function onClick() {
|
|
2084
2140
|
var _inputRef$current5;
|
|
2085
2141
|
return (_inputRef$current5 = inputRef.current) == null ? void 0 : _inputRef$current5.focus();
|
|
@@ -2123,6 +2179,8 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
|
|
|
2123
2179
|
ref: inputRef,
|
|
2124
2180
|
value: inputValue != null ? inputValue : EMPTY_INPUT
|
|
2125
2181
|
})))))), React.createElement(DropdownList, {
|
|
2182
|
+
ariaLabelChosenSingular: ariaLabelChosenSingular,
|
|
2183
|
+
ariaLabelSelectedItem: ariaLabelSelectedItem,
|
|
2126
2184
|
getItemProps: getItemProps,
|
|
2127
2185
|
getMenuProps: getMenuProps,
|
|
2128
2186
|
highlightedIndex: highlightedIndex,
|
|
@@ -2139,11 +2197,13 @@ var MultiSelectBeta = function MultiSelectBeta(_ref) {
|
|
|
2139
2197
|
};
|
|
2140
2198
|
|
|
2141
2199
|
var _excluded$1 = ["ariaLabelCloseList", "ariaLabelOpenList", "className", "clearable", "disabled", "disableLabelAnimation", "feedback", "items", "label", "labelClearSelectedItem", "listStyle", "loadingText", "onChange", "placeholder", "prepend", "readOnly", "selectedItem", "selectOnBlur", "style", "variant"];
|
|
2142
|
-
var
|
|
2200
|
+
var Dropdown = function Dropdown(_ref) {
|
|
2143
2201
|
var _ref3, _selectedItem$label;
|
|
2144
2202
|
var ariaLabelCloseList = _ref.ariaLabelCloseList,
|
|
2145
2203
|
ariaLabelOpenList = _ref.ariaLabelOpenList,
|
|
2146
2204
|
className = _ref.className,
|
|
2205
|
+
_ref$clearable = _ref.clearable,
|
|
2206
|
+
clearable = _ref$clearable === void 0 ? false : _ref$clearable,
|
|
2147
2207
|
_ref$disabled = _ref.disabled,
|
|
2148
2208
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
2149
2209
|
disableLabelAnimation = _ref.disableLabelAnimation,
|
|
@@ -2179,11 +2239,13 @@ var DropdownBeta = function DropdownBeta(_ref) {
|
|
|
2179
2239
|
clickedItem = _ref2.selectedItem;
|
|
2180
2240
|
switch (type) {
|
|
2181
2241
|
// @ts-expect-error This falltrough is wanted
|
|
2182
|
-
case useSelect.stateChangeTypes.
|
|
2242
|
+
case useSelect.stateChangeTypes.ToggleButtonBlur:
|
|
2183
2243
|
if (!selectOnBlur) break;
|
|
2184
2244
|
case useSelect.stateChangeTypes.ToggleButtonKeyDownEnter: // eslint-disable-line no-fallthrough
|
|
2185
2245
|
case useSelect.stateChangeTypes.ItemClick:
|
|
2186
|
-
|
|
2246
|
+
{
|
|
2247
|
+
onChange == null ? void 0 : onChange(clickedItem !== undefined ? clickedItem : null);
|
|
2248
|
+
}
|
|
2187
2249
|
}
|
|
2188
2250
|
},
|
|
2189
2251
|
itemToString: itemToString
|
|
@@ -2195,13 +2257,14 @@ var DropdownBeta = function DropdownBeta(_ref) {
|
|
|
2195
2257
|
getToggleButtonProps = _useSelect.getToggleButtonProps,
|
|
2196
2258
|
highlightedIndex = _useSelect.highlightedIndex;
|
|
2197
2259
|
return React.createElement("div", {
|
|
2198
|
-
className:
|
|
2260
|
+
className: classNames('eds-dropdown__wrapper', className),
|
|
2261
|
+
style: style
|
|
2199
2262
|
}, React.createElement(BaseFormControl, _extends({
|
|
2200
2263
|
append: React.createElement(FieldAppend$1, {
|
|
2201
2264
|
ariaHiddenToggleButton: true,
|
|
2202
2265
|
ariaLabelCloseList: ariaLabelCloseList,
|
|
2203
2266
|
ariaLabelOpenList: ariaLabelOpenList,
|
|
2204
|
-
clearable:
|
|
2267
|
+
clearable: clearable,
|
|
2205
2268
|
labelClearSelectedItems: labelClearSelectedItem,
|
|
2206
2269
|
focusable: false,
|
|
2207
2270
|
getToggleButtonProps: getToggleButtonProps,
|
|
@@ -2214,7 +2277,7 @@ var DropdownBeta = function DropdownBeta(_ref) {
|
|
|
2214
2277
|
disabled: readOnly || disabled,
|
|
2215
2278
|
selectedItems: [selectedItem]
|
|
2216
2279
|
}),
|
|
2217
|
-
className: classNames('eds-dropdown',
|
|
2280
|
+
className: classNames('eds-dropdown', {
|
|
2218
2281
|
'eds-dropdown--not-filled': !isFilled
|
|
2219
2282
|
}),
|
|
2220
2283
|
disabled: disabled,
|
|
@@ -2226,11 +2289,12 @@ var DropdownBeta = function DropdownBeta(_ref) {
|
|
|
2226
2289
|
labelProps: getLabelProps(),
|
|
2227
2290
|
prepend: prepend,
|
|
2228
2291
|
readOnly: readOnly,
|
|
2229
|
-
style: style,
|
|
2230
2292
|
variant: variant
|
|
2231
|
-
}, rest), React.createElement("
|
|
2293
|
+
}, rest), React.createElement("div", _extends({
|
|
2232
2294
|
className: "eds-dropdown__selected-item-button"
|
|
2233
|
-
}, getToggleButtonProps(
|
|
2295
|
+
}, getToggleButtonProps({
|
|
2296
|
+
id: undefined
|
|
2297
|
+
})), (_ref3 = (_selectedItem$label = selectedItem == null ? void 0 : selectedItem.label) != null ? _selectedItem$label : React.createElement("span", {
|
|
2234
2298
|
className: classNames('eds-dropdown__selected-item-button__placeholder', {
|
|
2235
2299
|
'eds-dropdown__selected-item-button__placeholder--readonly': readOnly
|
|
2236
2300
|
})
|
|
@@ -2333,5 +2397,5 @@ var FieldAppend = function FieldAppend(_ref3) {
|
|
|
2333
2397
|
|
|
2334
2398
|
warnAboutMissingStyles('dropdown', 'form', 'a11y', 'chip');
|
|
2335
2399
|
|
|
2336
|
-
export { Dropdown,
|
|
2400
|
+
export { Dropdown, DropdownDeprecated, MultiSelect, MultiSelectDeprecated, NativeDropdown, SearchableDropdown };
|
|
2337
2401
|
//# sourceMappingURL=dropdown.esm.js.map
|