@entur/dropdown 3.0.14 → 4.0.0-beta.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.
- package/dist/beta/SearchableDropdown.d.ts +14 -0
- package/dist/beta/index.d.ts +1 -0
- package/dist/dropdown.cjs.development.js +217 -22
- 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 +219 -25
- package/dist/dropdown.esm.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/styles.css +171 -72
- package/package.json +7 -7
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { NormalizedDropdownItemType } from '../useNormalizedItems';
|
|
3
|
+
import './dropdown.scss';
|
|
4
|
+
export declare type SearchableDropdownProps = {
|
|
5
|
+
items: NormalizedDropdownItemType[];
|
|
6
|
+
value: NormalizedDropdownItemType;
|
|
7
|
+
onChange: (value: NormalizedDropdownItemType | undefined | null) => void;
|
|
8
|
+
label: string;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
clearable?: boolean;
|
|
11
|
+
openOnFocus?: boolean;
|
|
12
|
+
className?: string;
|
|
13
|
+
};
|
|
14
|
+
export declare const SearchableDropdownBeta: ({ items, value, onChange, label, placeholder, clearable, openOnFocus, className, ...rest }: SearchableDropdownProps) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SearchableDropdown';
|
|
@@ -87,7 +87,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
87
87
|
return target;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
var _excluded$
|
|
90
|
+
var _excluded$9 = ["children", "onChange", "onInputValueChange", "highlightFirstItemOnOpen", "className", "style", "searchable"];
|
|
91
91
|
var DownshiftContext = /*#__PURE__*/React__default["default"].createContext(null);
|
|
92
92
|
var DownshiftProvider = function DownshiftProvider(_ref) {
|
|
93
93
|
var children = _ref.children,
|
|
@@ -105,7 +105,7 @@ var DownshiftProvider = function DownshiftProvider(_ref) {
|
|
|
105
105
|
style = _ref.style,
|
|
106
106
|
_ref$searchable = _ref.searchable,
|
|
107
107
|
searchable = _ref$searchable === void 0 ? false : _ref$searchable,
|
|
108
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
108
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$9);
|
|
109
109
|
|
|
110
110
|
var handleStateChange = function handleStateChange(changes, stateAndHelpers) {
|
|
111
111
|
if (changes.type === Downshift__default["default"].stateChangeTypes.controlledPropUpdatedSelectedItem) {
|
|
@@ -175,10 +175,10 @@ var useDownshift = function useDownshift() {
|
|
|
175
175
|
return context;
|
|
176
176
|
};
|
|
177
177
|
|
|
178
|
-
var _excluded$
|
|
178
|
+
var _excluded$8 = ["items"];
|
|
179
179
|
var DropdownList = function DropdownList(_ref) {
|
|
180
180
|
var items = _ref.items,
|
|
181
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
181
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$8);
|
|
182
182
|
|
|
183
183
|
var _useDownshift = useDownshift(),
|
|
184
184
|
highlightedIndex = _useDownshift.highlightedIndex,
|
|
@@ -228,18 +228,18 @@ var DropdownToggleButton$1 = function DropdownToggleButton() {
|
|
|
228
228
|
}), React__default["default"].createElement(icons.DownArrowIcon, null));
|
|
229
229
|
};
|
|
230
230
|
|
|
231
|
-
var _excluded$
|
|
231
|
+
var _excluded$7 = ["className", "children"];
|
|
232
232
|
var DropdownLoadingDots = function DropdownLoadingDots(_ref) {
|
|
233
233
|
var className = _ref.className,
|
|
234
234
|
children = _ref.children,
|
|
235
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
235
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$7);
|
|
236
236
|
|
|
237
237
|
return React__default["default"].createElement("div", _extends({
|
|
238
238
|
className: classNames__default["default"]('eds-inline-spinner', className)
|
|
239
239
|
}, rest), React__default["default"].createElement(loader.LoadingDots, null), React__default["default"].createElement(a11y.VisuallyHidden, null, children));
|
|
240
240
|
};
|
|
241
241
|
|
|
242
|
-
var _excluded$
|
|
242
|
+
var _excluded$6 = ["children", "className", "items", "loading", "loadingText", "placeholder", "style", "listStyle", "clearable", "label", "isFilled", "disableLabelAnimation"];
|
|
243
243
|
var BaseDropdown = function BaseDropdown(_ref) {
|
|
244
244
|
var children = _ref.children,
|
|
245
245
|
className = _ref.className,
|
|
@@ -255,7 +255,7 @@ var BaseDropdown = function BaseDropdown(_ref) {
|
|
|
255
255
|
_ref$isFilled = _ref.isFilled,
|
|
256
256
|
isFilled = _ref$isFilled === void 0 ? false : _ref$isFilled,
|
|
257
257
|
disableLabelAnimation = _ref.disableLabelAnimation,
|
|
258
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
258
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
|
|
259
259
|
|
|
260
260
|
var _useDownshift = useDownshift(),
|
|
261
261
|
getLabelProps = _useDownshift.getLabelProps;
|
|
@@ -264,7 +264,7 @@ var BaseDropdown = function BaseDropdown(_ref) {
|
|
|
264
264
|
className: "eds-dropdown-wrapper",
|
|
265
265
|
style: style
|
|
266
266
|
}, React__default["default"].createElement(form.BaseFormControl, _extends({
|
|
267
|
-
append: React__default["default"].createElement(Appendix$
|
|
267
|
+
append: React__default["default"].createElement(Appendix$2, {
|
|
268
268
|
clearable: clearable,
|
|
269
269
|
loading: loading,
|
|
270
270
|
loadingText: loadingText,
|
|
@@ -303,7 +303,7 @@ var ClearButton$1 = function ClearButton(_ref2) {
|
|
|
303
303
|
}));
|
|
304
304
|
};
|
|
305
305
|
|
|
306
|
-
var Appendix$
|
|
306
|
+
var Appendix$2 = function Appendix(_ref3) {
|
|
307
307
|
var clearable = _ref3.clearable,
|
|
308
308
|
loading = _ref3.loading,
|
|
309
309
|
loadingText = _ref3.loadingText,
|
|
@@ -320,7 +320,7 @@ var Appendix$1 = function Appendix(_ref3) {
|
|
|
320
320
|
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);
|
|
321
321
|
};
|
|
322
322
|
|
|
323
|
-
var _excluded$
|
|
323
|
+
var _excluded$5 = ["disabled", "placeholder", "selectOnTab", "openOnFocus", "listStyle", "items", "label", "disableLabelAnimation", "loading", "loadingText", "className", "clearable"];
|
|
324
324
|
var RegularDropdown = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
|
|
325
325
|
var disabled = _ref.disabled,
|
|
326
326
|
_ref$placeholder = _ref.placeholder,
|
|
@@ -337,7 +337,7 @@ var RegularDropdown = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
|
337
337
|
loadingText = _ref.loadingText,
|
|
338
338
|
className = _ref.className,
|
|
339
339
|
clearable = _ref.clearable,
|
|
340
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
340
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
341
341
|
|
|
342
342
|
var _useDownshift = useDownshift(),
|
|
343
343
|
getToggleButtonProps = _useDownshift.getToggleButtonProps,
|
|
@@ -402,7 +402,7 @@ var RegularDropdown = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
|
402
402
|
}), selectedItem ? selectedItem.label : placeholder));
|
|
403
403
|
});
|
|
404
404
|
|
|
405
|
-
var _excluded$
|
|
405
|
+
var _excluded$4 = ["disabled", "className", "items", "loading", "loadingText", "readOnly", "prepend", "selectOnTab", "openOnFocus", "listStyle", "clearable", "itemFilter", "label", "disableLabelAnimation", "placeholder"];
|
|
406
406
|
|
|
407
407
|
function LowerCaseFilterTest(item, input) {
|
|
408
408
|
if (!input) {
|
|
@@ -437,7 +437,7 @@ var SearchableDropdown = /*#__PURE__*/React__default["default"].forwardRef(funct
|
|
|
437
437
|
label = _ref.label,
|
|
438
438
|
disableLabelAnimation = _ref.disableLabelAnimation,
|
|
439
439
|
placeholder = _ref.placeholder,
|
|
440
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
440
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
441
441
|
|
|
442
442
|
var _useDownshift = useDownshift(),
|
|
443
443
|
getInputProps = _useDownshift.getInputProps,
|
|
@@ -1383,7 +1383,7 @@ debounceTimeout) {
|
|
|
1383
1383
|
};
|
|
1384
1384
|
};
|
|
1385
1385
|
|
|
1386
|
-
var _excluded$
|
|
1386
|
+
var _excluded$3 = ["highlightFirstItemOnOpen", "debounceTimeout", "disabled", "feedback", "items", "label", "loadingText", "onChange", "placeholder", "prepend", "readOnly", "searchable", "selectOnTab", "openOnFocus", "variant", "value", "clearable", "className", "style", "listStyle", "itemFilter", "disableLabelAnimation"];
|
|
1387
1387
|
var Dropdown = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
|
|
1388
1388
|
var highlightFirstItemOnOpen = _ref.highlightFirstItemOnOpen,
|
|
1389
1389
|
debounceTimeout = _ref.debounceTimeout,
|
|
@@ -1411,7 +1411,7 @@ var Dropdown = /*#__PURE__*/React__default["default"].forwardRef(function (_ref,
|
|
|
1411
1411
|
listStyle = _ref.listStyle,
|
|
1412
1412
|
itemFilter = _ref.itemFilter,
|
|
1413
1413
|
disableLabelAnimation = _ref.disableLabelAnimation,
|
|
1414
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
1414
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
1415
1415
|
|
|
1416
1416
|
var _useResolvedItems = useResolvedItems(items, debounceTimeout),
|
|
1417
1417
|
normalizedItems = _useResolvedItems.items,
|
|
@@ -1460,7 +1460,7 @@ var Dropdown = /*#__PURE__*/React__default["default"].forwardRef(function (_ref,
|
|
|
1460
1460
|
}, searchAbleProps))));
|
|
1461
1461
|
});
|
|
1462
1462
|
|
|
1463
|
-
var _excluded$
|
|
1463
|
+
var _excluded$2 = ["className", "disabled", "readOnly", "items", "loadingText", "prepend", "style", "label", "variant", "feedback", "disableLabelAnimation"];
|
|
1464
1464
|
var NativeDropdown = function NativeDropdown(_ref) {
|
|
1465
1465
|
var className = _ref.className,
|
|
1466
1466
|
_ref$disabled = _ref.disabled,
|
|
@@ -1475,7 +1475,7 @@ var NativeDropdown = function NativeDropdown(_ref) {
|
|
|
1475
1475
|
variant = _ref.variant,
|
|
1476
1476
|
feedback = _ref.feedback,
|
|
1477
1477
|
disableLabelAnimation = _ref.disableLabelAnimation,
|
|
1478
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
1478
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
1479
1479
|
|
|
1480
1480
|
var _useResolvedItems = useResolvedItems(items),
|
|
1481
1481
|
normalizedItems = _useResolvedItems.items,
|
|
@@ -1517,7 +1517,7 @@ var NativeDropdown = function NativeDropdown(_ref) {
|
|
|
1517
1517
|
})));
|
|
1518
1518
|
};
|
|
1519
1519
|
|
|
1520
|
-
var _excluded = ["items", "itemsSelectedLabel", "label", "feedback", "variant", "disabled", "readOnly", "onChange", "className", "clearable", "loading", "loadingText", "openOnFocus", "style", "listStyle", "initialSelectedItems", "debounceTimeout"];
|
|
1520
|
+
var _excluded$1 = ["items", "itemsSelectedLabel", "label", "feedback", "variant", "disabled", "readOnly", "onChange", "className", "clearable", "loading", "loadingText", "openOnFocus", "style", "listStyle", "initialSelectedItems", "debounceTimeout"];
|
|
1521
1521
|
var MultiSelectContext = /*#__PURE__*/React__default["default"].createContext(null);
|
|
1522
1522
|
|
|
1523
1523
|
var useMultiSelectContext = function useMultiSelectContext() {
|
|
@@ -1579,7 +1579,7 @@ var MultiSelect = function MultiSelect(_ref) {
|
|
|
1579
1579
|
_ref$initialSelectedI = _ref.initialSelectedItems,
|
|
1580
1580
|
initialSelectedItems = _ref$initialSelectedI === void 0 ? [] : _ref$initialSelectedI,
|
|
1581
1581
|
debounceTimeout = _ref.debounceTimeout,
|
|
1582
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
1582
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
1583
1583
|
|
|
1584
1584
|
var _useResolvedItems = useResolvedItems(input, debounceTimeout),
|
|
1585
1585
|
items = _useResolvedItems.items;
|
|
@@ -1655,7 +1655,7 @@ var MultiSelect = function MultiSelect(_ref) {
|
|
|
1655
1655
|
isFilled: selectedItems.length > 0 || isOpen,
|
|
1656
1656
|
disabled: disabled,
|
|
1657
1657
|
readOnly: readOnly,
|
|
1658
|
-
append: React__default["default"].createElement(Appendix, {
|
|
1658
|
+
append: React__default["default"].createElement(Appendix$1, {
|
|
1659
1659
|
hasSelected: clearable && selectedItems.length > 0,
|
|
1660
1660
|
loading: loading,
|
|
1661
1661
|
loadingText: loadingText,
|
|
@@ -1728,7 +1728,7 @@ var ClearButton = function ClearButton(_ref3) {
|
|
|
1728
1728
|
}));
|
|
1729
1729
|
};
|
|
1730
1730
|
|
|
1731
|
-
var Appendix = function Appendix(_ref4) {
|
|
1731
|
+
var Appendix$1 = function Appendix(_ref4) {
|
|
1732
1732
|
var loading = _ref4.loading,
|
|
1733
1733
|
loadingText = _ref4.loadingText,
|
|
1734
1734
|
readOnly = _ref4.readOnly,
|
|
@@ -1785,9 +1785,204 @@ function SelectedItemsLabel(items) {
|
|
|
1785
1785
|
}).toString() : items.length + " elementer valgt";
|
|
1786
1786
|
}
|
|
1787
1787
|
|
|
1788
|
+
var _excluded = ["items", "value", "onChange", "label", "placeholder", "clearable", "openOnFocus", "className"];
|
|
1789
|
+
|
|
1790
|
+
function lowerCaseFilterTest(item, input) {
|
|
1791
|
+
if (!input) {
|
|
1792
|
+
return true;
|
|
1793
|
+
}
|
|
1794
|
+
|
|
1795
|
+
var sanitizeEscapeCharacters = input.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&');
|
|
1796
|
+
var inputRegex = new RegExp(sanitizeEscapeCharacters, 'i');
|
|
1797
|
+
return inputRegex.test(item.label);
|
|
1798
|
+
}
|
|
1799
|
+
|
|
1800
|
+
var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
|
|
1801
|
+
var _selectedItem$label;
|
|
1802
|
+
|
|
1803
|
+
var items = _ref.items,
|
|
1804
|
+
value = _ref.value,
|
|
1805
|
+
onChange = _ref.onChange,
|
|
1806
|
+
_ref$label = _ref.label,
|
|
1807
|
+
label = _ref$label === void 0 ? '!MANGLER LABEL!' : _ref$label,
|
|
1808
|
+
placeholder = _ref.placeholder,
|
|
1809
|
+
_ref$clearable = _ref.clearable,
|
|
1810
|
+
clearable = _ref$clearable === void 0 ? false : _ref$clearable,
|
|
1811
|
+
_ref$openOnFocus = _ref.openOnFocus,
|
|
1812
|
+
openOnFocus = _ref$openOnFocus === void 0 ? false : _ref$openOnFocus,
|
|
1813
|
+
className = _ref.className,
|
|
1814
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
1815
|
+
|
|
1816
|
+
var _React$useState = React__default["default"].useState(items),
|
|
1817
|
+
filteredItems = _React$useState[0],
|
|
1818
|
+
setFilteredItems = _React$useState[1];
|
|
1819
|
+
|
|
1820
|
+
var _useState = React.useState(false),
|
|
1821
|
+
hideSelectedItem = _useState[0],
|
|
1822
|
+
setHideSelectedItem = _useState[1];
|
|
1823
|
+
|
|
1824
|
+
var inputRef = React.useRef(null);
|
|
1825
|
+
var stateReducer = React__default["default"].useCallback(function (_, actionAndChanges) {
|
|
1826
|
+
var type = actionAndChanges.type,
|
|
1827
|
+
changes = actionAndChanges.changes;
|
|
1828
|
+
|
|
1829
|
+
switch (type) {
|
|
1830
|
+
case Downshift.useCombobox.stateChangeTypes.ItemClick:
|
|
1831
|
+
case Downshift.useCombobox.stateChangeTypes.InputKeyDownEnter:
|
|
1832
|
+
case Downshift.useCombobox.stateChangeTypes.InputBlur:
|
|
1833
|
+
case Downshift.useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:
|
|
1834
|
+
return _extends({}, changes, changes.selectedItem && {
|
|
1835
|
+
inputValue: ''
|
|
1836
|
+
});
|
|
1837
|
+
|
|
1838
|
+
default:
|
|
1839
|
+
return changes;
|
|
1840
|
+
}
|
|
1841
|
+
}, []);
|
|
1842
|
+
|
|
1843
|
+
var _useCombobox = Downshift.useCombobox(_extends({
|
|
1844
|
+
onInputValueChange: function onInputValueChange(_ref2) {
|
|
1845
|
+
var inputValue = _ref2.inputValue;
|
|
1846
|
+
setFilteredItems(items.filter(function (item) {
|
|
1847
|
+
return lowerCaseFilterTest(item, inputValue);
|
|
1848
|
+
}));
|
|
1849
|
+
},
|
|
1850
|
+
items: filteredItems,
|
|
1851
|
+
itemToString: function itemToString(item) {
|
|
1852
|
+
return item ? item.value : '';
|
|
1853
|
+
},
|
|
1854
|
+
stateReducer: stateReducer,
|
|
1855
|
+
selectedItem: value,
|
|
1856
|
+
onSelectedItemChange: function onSelectedItemChange(_ref3) {
|
|
1857
|
+
var newSelectedItem = _ref3.selectedItem;
|
|
1858
|
+
return onChange(newSelectedItem);
|
|
1859
|
+
}
|
|
1860
|
+
}, rest)),
|
|
1861
|
+
isOpen = _useCombobox.isOpen,
|
|
1862
|
+
getToggleButtonProps = _useCombobox.getToggleButtonProps,
|
|
1863
|
+
getLabelProps = _useCombobox.getLabelProps,
|
|
1864
|
+
getMenuProps = _useCombobox.getMenuProps,
|
|
1865
|
+
getInputProps = _useCombobox.getInputProps,
|
|
1866
|
+
getComboboxProps = _useCombobox.getComboboxProps,
|
|
1867
|
+
highlightedIndex = _useCombobox.highlightedIndex,
|
|
1868
|
+
getItemProps = _useCombobox.getItemProps,
|
|
1869
|
+
selectedItem = _useCombobox.selectedItem,
|
|
1870
|
+
openMenu = _useCombobox.openMenu,
|
|
1871
|
+
inputValue = _useCombobox.inputValue,
|
|
1872
|
+
setInputValue = _useCombobox.setInputValue;
|
|
1873
|
+
|
|
1874
|
+
React.useEffect(function () {
|
|
1875
|
+
if (inputValue.toLowerCase() === (value == null ? void 0 : value.label.toLowerCase()) || inputValue.toLowerCase() === (value == null ? void 0 : value.value.toLowerCase())) setInputValue('');
|
|
1876
|
+
}, [value]);
|
|
1877
|
+
return React__default["default"].createElement("div", null, React__default["default"].createElement(form.BaseFormControl, _extends({
|
|
1878
|
+
append: React__default["default"].createElement(Appendix, {
|
|
1879
|
+
selectedItem: selectedItem,
|
|
1880
|
+
isOpen: isOpen,
|
|
1881
|
+
clearable: clearable,
|
|
1882
|
+
loading: false,
|
|
1883
|
+
loadingText: '',
|
|
1884
|
+
readOnly: false,
|
|
1885
|
+
onChange: onChange,
|
|
1886
|
+
getToggleButtonProps: getToggleButtonProps
|
|
1887
|
+
}),
|
|
1888
|
+
className: classNames__default["default"]('eds-searchable-dropdown', className),
|
|
1889
|
+
label: label,
|
|
1890
|
+
isFilled: selectedItem ? true : false,
|
|
1891
|
+
labelProps: getLabelProps()
|
|
1892
|
+
}, getComboboxProps(), rest), !hideSelectedItem && selectedItem && !inputValue && React__default["default"].createElement("span", {
|
|
1893
|
+
className: "eds-searchable-dropdown__selected-item__wrapper"
|
|
1894
|
+
}, React__default["default"].createElement("span", {
|
|
1895
|
+
className: "eds-searchable-dropdown__selected-item",
|
|
1896
|
+
onClick: function onClick() {
|
|
1897
|
+
var _inputRef$current;
|
|
1898
|
+
|
|
1899
|
+
return (_inputRef$current = inputRef.current) == null ? void 0 : _inputRef$current.focus();
|
|
1900
|
+
}
|
|
1901
|
+
}, selectedItem.label)), React__default["default"].createElement("input", _extends({
|
|
1902
|
+
placeholder: (_selectedItem$label = selectedItem == null ? void 0 : selectedItem.label) != null ? _selectedItem$label : placeholder,
|
|
1903
|
+
className: "eds-searchable-dropdown__input eds-form-control"
|
|
1904
|
+
}, getInputProps({
|
|
1905
|
+
onFocus: function onFocus() {
|
|
1906
|
+
if (!isOpen && openOnFocus) openMenu();
|
|
1907
|
+
setHideSelectedItem(true);
|
|
1908
|
+
}
|
|
1909
|
+
}), {
|
|
1910
|
+
onBlur: function onBlur() {
|
|
1911
|
+
setHideSelectedItem(false);
|
|
1912
|
+
},
|
|
1913
|
+
ref: inputRef
|
|
1914
|
+
}))), React__default["default"].createElement("ul", _extends({
|
|
1915
|
+
className: classNames__default["default"]('eds-dropdown-list', {
|
|
1916
|
+
'eds-dropdown-list--open': isOpen
|
|
1917
|
+
})
|
|
1918
|
+
}, getMenuProps(), rest), isOpen ? filteredItems.map(function (item, index) {
|
|
1919
|
+
return (// eslint-disable-next-line react/jsx-key
|
|
1920
|
+
React__default["default"].createElement("li", _extends({
|
|
1921
|
+
className: classNames__default["default"]('eds-dropdown-list__item', {
|
|
1922
|
+
'eds-dropdown-list__item--highlighted': highlightedIndex === index,
|
|
1923
|
+
'eds-dropdown-list__item--selected': selectedItem === item
|
|
1924
|
+
})
|
|
1925
|
+
}, getItemProps({
|
|
1926
|
+
key: "" + index + item.value,
|
|
1927
|
+
item: item,
|
|
1928
|
+
index: index
|
|
1929
|
+
})), React__default["default"].createElement("span", null, item.label), item.icons && React__default["default"].createElement("span", null, item.icons.map(function (Icon, index) {
|
|
1930
|
+
return React__default["default"].createElement(Icon, {
|
|
1931
|
+
key: index,
|
|
1932
|
+
inline: true,
|
|
1933
|
+
className: "eds-dropdown-list__item-icon"
|
|
1934
|
+
});
|
|
1935
|
+
})), selectedItem === item && React__default["default"].createElement(icons.CheckIcon, null))
|
|
1936
|
+
);
|
|
1937
|
+
}) : null));
|
|
1938
|
+
};
|
|
1939
|
+
|
|
1940
|
+
var Appendix = function Appendix(_ref4) {
|
|
1941
|
+
var clearable = _ref4.clearable,
|
|
1942
|
+
loading = _ref4.loading,
|
|
1943
|
+
loadingText = _ref4.loadingText,
|
|
1944
|
+
readOnly = _ref4.readOnly,
|
|
1945
|
+
getToggleButtonProps = _ref4.getToggleButtonProps,
|
|
1946
|
+
selectedItem = _ref4.selectedItem,
|
|
1947
|
+
isOpen = _ref4.isOpen,
|
|
1948
|
+
onChange = _ref4.onChange;
|
|
1949
|
+
|
|
1950
|
+
if (loading) {
|
|
1951
|
+
return React__default["default"].createElement(DropdownLoadingDots, null, loadingText);
|
|
1952
|
+
}
|
|
1953
|
+
|
|
1954
|
+
if (readOnly) {
|
|
1955
|
+
return null;
|
|
1956
|
+
}
|
|
1957
|
+
|
|
1958
|
+
return React__default["default"].createElement("div", {
|
|
1959
|
+
style: {
|
|
1960
|
+
display: 'flex',
|
|
1961
|
+
alignItems: 'center'
|
|
1962
|
+
}
|
|
1963
|
+
}, clearable && selectedItem && React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement("button", {
|
|
1964
|
+
className: "eds-dropdown__clear-button",
|
|
1965
|
+
type: "button",
|
|
1966
|
+
tabIndex: -1,
|
|
1967
|
+
onClick: function onClick() {
|
|
1968
|
+
return onChange(null);
|
|
1969
|
+
}
|
|
1970
|
+
}, React__default["default"].createElement(icons.CloseSmallIcon, null)), React__default["default"].createElement("div", {
|
|
1971
|
+
className: "eds-dropdown__divider"
|
|
1972
|
+
})), React__default["default"].createElement("button", _extends({}, getToggleButtonProps({
|
|
1973
|
+
className: classNames__default["default"]('eds-dropdown__toggle-button', {
|
|
1974
|
+
'eds-dropdown__toggle-button--open': isOpen
|
|
1975
|
+
})
|
|
1976
|
+
}), {
|
|
1977
|
+
tabIndex: "-1",
|
|
1978
|
+
type: "button"
|
|
1979
|
+
}), React__default["default"].createElement(icons.DownArrowIcon, null)));
|
|
1980
|
+
};
|
|
1981
|
+
|
|
1788
1982
|
utils.warnAboutMissingStyles('dropdown', 'form', 'a11y', 'chip');
|
|
1789
1983
|
|
|
1790
1984
|
exports.Dropdown = Dropdown;
|
|
1791
1985
|
exports.MultiSelect = MultiSelect;
|
|
1792
1986
|
exports.NativeDropdown = NativeDropdown;
|
|
1987
|
+
exports.SearchableDropdownBeta = SearchableDropdownBeta;
|
|
1793
1988
|
//# sourceMappingURL=dropdown.cjs.development.js.map
|