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