@entur/dropdown 5.0.9 → 5.0.12

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.
@@ -1664,7 +1664,10 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
1664
1664
  labelClearSelectedItem = _ref$labelClearSelect === void 0 ? 'fjern valgt' : _ref$labelClearSelect,
1665
1665
  listStyle = _ref.listStyle,
1666
1666
  loadingText = _ref.loadingText,
1667
- onChange = _ref.onChange,
1667
+ _ref$onChange = _ref.onChange,
1668
+ onChange = _ref$onChange === void 0 ? function () {
1669
+ return undefined;
1670
+ } : _ref$onChange,
1668
1671
  placeholder = _ref.placeholder,
1669
1672
  prepend = _ref.prepend,
1670
1673
  _ref$readOnly = _ref.readOnly,
@@ -1678,9 +1681,9 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
1678
1681
  _ref$variant = _ref.variant,
1679
1682
  variant = _ref$variant === void 0 ? 'info' : _ref$variant,
1680
1683
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
1681
- var _useState = React.useState(false),
1682
- hideSelectedItem = _useState[0],
1683
- setHideSelectedItem = _useState[1];
1684
+ var _useState = React.useState(value !== null),
1685
+ showSelectedItem = _useState[0],
1686
+ setShowSelectedItem = _useState[1];
1684
1687
  var _React$useState = React.useState(0),
1685
1688
  lastHighlightedIndex = _React$useState[0],
1686
1689
  setLastHighlightedIndex = _React$useState[1];
@@ -1742,7 +1745,7 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
1742
1745
  if (isSpacePressedOnEmptyInput) {
1743
1746
  openMenu();
1744
1747
  if (isOpen && changes.highlightedIndex !== undefined) {
1745
- onChange == null ? void 0 : onChange(listItems[changes.highlightedIndex]);
1748
+ onChange(listItems[changes.highlightedIndex]);
1746
1749
  }
1747
1750
  }
1748
1751
  } else {
@@ -1771,7 +1774,7 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
1771
1774
  if (!selectOnBlur) break;
1772
1775
  case Downshift.useCombobox.stateChangeTypes.InputKeyDownEnter: // eslint-disable-line no-fallthrough
1773
1776
  case Downshift.useCombobox.stateChangeTypes.ItemClick:
1774
- onChange == null ? void 0 : onChange(clickedItem != null ? clickedItem : null);
1777
+ onChange(clickedItem != null ? clickedItem : null);
1775
1778
  }
1776
1779
  },
1777
1780
  // Accessibility
@@ -1795,7 +1798,7 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
1795
1798
  setInputValue = _useCombobox.setInputValue;
1796
1799
  var handleOnClear = function handleOnClear() {
1797
1800
  var _inputRef$current;
1798
- onChange == null ? void 0 : onChange(null);
1801
+ onChange(null);
1799
1802
  setInputValue(EMPTY_INPUT);
1800
1803
  (_inputRef$current = inputRef.current) == null ? void 0 : _inputRef$current.focus();
1801
1804
  updateListItems({
@@ -1831,15 +1834,19 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
1831
1834
  prepend: prepend,
1832
1835
  readOnly: readOnly,
1833
1836
  variant: variant
1834
- }, rest), !hideSelectedItem && selectedItem !== null && inputValue === '' && React.createElement("span", {
1835
- className: "eds-dropdown--searchable__selected-item",
1837
+ }, rest), React.createElement("span", {
1838
+ className: classNames('eds-dropdown--searchable__selected-item', {
1839
+ 'eds-dropdown--searchable__selected-item--hidden': !showSelectedItem
1840
+ }),
1836
1841
  "aria-hidden": "true",
1837
1842
  onClick: function onClick() {
1838
1843
  var _inputRef$current2;
1839
1844
  return (_inputRef$current2 = inputRef.current) == null ? void 0 : _inputRef$current2.focus();
1840
1845
  }
1841
- }, selectedItem.label), React.createElement("input", _extends({
1842
- className: "eds-dropdown__input eds-form-control",
1846
+ }, selectedItem == null ? void 0 : selectedItem.label), React.createElement("input", _extends({
1847
+ className: classNames('eds-dropdown__input eds-form-control', {
1848
+ 'eds-dropdown__input--hidden': showSelectedItem
1849
+ }),
1843
1850
  disabled: readOnly || disabled,
1844
1851
  placeholder: (_selectedItem$label = selectedItem == null ? void 0 : selectedItem.label) != null ? _selectedItem$label : placeholder
1845
1852
  }, getInputProps({
@@ -1847,13 +1854,13 @@ var SearchableDropdown = function SearchableDropdown(_ref) {
1847
1854
  if (!isOpen && isVoiceOverClick(e)) openMenu();
1848
1855
  },
1849
1856
  onBlur: function onBlur() {
1850
- setHideSelectedItem(false);
1857
+ if (selectedItem !== null) setShowSelectedItem(true);
1851
1858
  },
1852
1859
  onFocus: function onFocus() {
1853
- setHideSelectedItem(true);
1860
+ setShowSelectedItem(false);
1854
1861
  },
1855
1862
  onKeyDown: function onKeyDown(e) {
1856
- if (selectOnTab && e.key === 'Tab') onChange == null ? void 0 : onChange(listItems[highlightedIndex]);
1863
+ if (selectOnTab && e.key === 'Tab') onChange(listItems[highlightedIndex]);
1857
1864
  },
1858
1865
  ref: inputRef
1859
1866
  })))), React.createElement(DropdownList, {