@entur/dropdown 4.0.0-beta.1 → 4.0.0-beta.2

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.
@@ -1,5 +1,5 @@
1
1
  import { mergeRefs, debounce, useRandomId, warnAboutMissingStyles } from '@entur/utils';
2
- import React, { useState, useRef, useEffect } from 'react';
2
+ import React, { useState, useRef } from 'react';
3
3
  import Downshift, { useSelect, useCombobox } from 'downshift';
4
4
  import classNames from 'classnames';
5
5
  import { BaseFormControl, VariantProvider, FeedbackText } from '@entur/form';
@@ -1775,7 +1775,7 @@ function SelectedItemsLabel(items) {
1775
1775
  }).toString() : items.length + " elementer valgt";
1776
1776
  }
1777
1777
 
1778
- var _excluded = ["items", "selectedItem", "onChange", "label", "placeholder", "clearable", "openOnFocus", "className", "listStyle"];
1778
+ var _excluded = ["items", "selectedItem", "onChange", "label", "placeholder", "clearable", "openOnFocus", "readonly", "feedback", "variant", "className", "listStyle"];
1779
1779
 
1780
1780
  function lowerCaseFilterTest(item, input) {
1781
1781
  if (!input) {
@@ -1794,13 +1794,17 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1794
1794
  var items = _ref.items,
1795
1795
  value = _ref.selectedItem,
1796
1796
  onChange = _ref.onChange,
1797
- _ref$label = _ref.label,
1798
- label = _ref$label === void 0 ? '!MANGLER LABEL!' : _ref$label,
1797
+ label = _ref.label,
1799
1798
  placeholder = _ref.placeholder,
1800
1799
  _ref$clearable = _ref.clearable,
1801
1800
  clearable = _ref$clearable === void 0 ? false : _ref$clearable,
1802
1801
  _ref$openOnFocus = _ref.openOnFocus,
1803
1802
  openOnFocus = _ref$openOnFocus === void 0 ? false : _ref$openOnFocus,
1803
+ _ref$readonly = _ref.readonly,
1804
+ readonly = _ref$readonly === void 0 ? false : _ref$readonly,
1805
+ feedback = _ref.feedback,
1806
+ _ref$variant = _ref.variant,
1807
+ variant = _ref$variant === void 0 ? 'info' : _ref$variant,
1804
1808
  className = _ref.className,
1805
1809
  listStyle = _ref.listStyle,
1806
1810
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
@@ -1848,7 +1852,7 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1848
1852
  selectedItem: value,
1849
1853
  onSelectedItemChange: function onSelectedItemChange(_ref3) {
1850
1854
  var newSelectedItem = _ref3.selectedItem;
1851
- return onChange(newSelectedItem);
1855
+ return onChange(newSelectedItem != null ? newSelectedItem : null);
1852
1856
  }
1853
1857
  }, rest)),
1854
1858
  isOpen = _useCombobox.isOpen,
@@ -1861,13 +1865,9 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1861
1865
  getItemProps = _useCombobox.getItemProps,
1862
1866
  selectedItem = _useCombobox.selectedItem,
1863
1867
  openMenu = _useCombobox.openMenu,
1864
- inputValue = _useCombobox.inputValue,
1865
- setInputValue = _useCombobox.setInputValue; // TODO Husk å generelt legge inn støtte for typeof value === string
1868
+ inputValue = _useCombobox.inputValue; // TODO Husk å generelt legge inn støtte for typeof value === string
1866
1869
 
1867
1870
 
1868
- useEffect(function () {
1869
- if (inputValue.toLowerCase() === (value == null ? void 0 : value.label.toLowerCase()) || inputValue.toLowerCase() === (value == null ? void 0 : value.value.toLowerCase())) setInputValue('');
1870
- }, [value]);
1871
1871
  return React.createElement("div", {
1872
1872
  className: "eds-searchable-dropdown__wrapper"
1873
1873
  }, React.createElement(BaseFormControl, _extends({
@@ -1877,13 +1877,16 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1877
1877
  clearable: clearable,
1878
1878
  loading: false,
1879
1879
  loadingText: '',
1880
- readOnly: false,
1880
+ readOnly: readonly,
1881
1881
  onChange: onChange,
1882
1882
  getToggleButtonProps: getToggleButtonProps
1883
1883
  }),
1884
1884
  className: classNames('eds-searchable-dropdown', className),
1885
1885
  label: label,
1886
1886
  isFilled: selectedItem ? true : false,
1887
+ feedback: feedback,
1888
+ variant: variant,
1889
+ readOnly: readonly,
1887
1890
  labelProps: getLabelProps()
1888
1891
  }, getComboboxProps(), rest), !hideSelectedItem && selectedItem && !inputValue && React.createElement("span", {
1889
1892
  className: "eds-searchable-dropdown__selected-item__wrapper"
@@ -1917,7 +1920,7 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1917
1920
  React.createElement("li", _extends({
1918
1921
  className: classNames('eds-searchable-dropdown__list__item', {
1919
1922
  'eds-searchable-dropdown__list__item--highlighted': highlightedIndex === index,
1920
- 'eds-searchable-dropdown__list__item--selected': selectedItem === item
1923
+ 'eds-searchable-dropdown__list__item--selected': (selectedItem == null ? void 0 : selectedItem.value) === item.value
1921
1924
  })
1922
1925
  }, getItemProps({
1923
1926
  key: "" + index + item.value,
@@ -1929,25 +1932,23 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
1929
1932
  inline: true,
1930
1933
  className: "eds-searchable-dropdown__list__item-icon"
1931
1934
  });
1932
- })), selectedItem === item && React.createElement(CheckIcon, null))
1935
+ })), (selectedItem == null ? void 0 : selectedItem.value) === item.value && React.createElement(CheckIcon, null))
1933
1936
  );
1934
1937
  }) : null));
1935
1938
  };
1936
1939
 
1937
1940
  var Appendix = function Appendix(_ref4) {
1938
1941
  var clearable = _ref4.clearable,
1939
- loading = _ref4.loading,
1940
- loadingText = _ref4.loadingText,
1941
1942
  readOnly = _ref4.readOnly,
1942
1943
  getToggleButtonProps = _ref4.getToggleButtonProps,
1943
1944
  selectedItem = _ref4.selectedItem,
1944
1945
  isOpen = _ref4.isOpen,
1945
1946
  onChange = _ref4.onChange;
1946
1947
 
1947
- if (loading) {
1948
- return React.createElement(DropdownLoadingDots, null, loadingText);
1949
- }
1950
-
1948
+ // TODO implement loading / async
1949
+ // if (loading) {
1950
+ // return <DropdownLoadingDots>{loadingText}</DropdownLoadingDots>;
1951
+ // }
1951
1952
  if (readOnly) {
1952
1953
  return null;
1953
1954
  }
@@ -1958,17 +1959,17 @@ var Appendix = function Appendix(_ref4) {
1958
1959
  alignItems: 'center'
1959
1960
  }
1960
1961
  }, clearable && selectedItem && React.createElement(React.Fragment, null, React.createElement("button", {
1961
- className: "eds-searchable-dropdown__clear-button",
1962
+ className: "eds-searchable-dropdown-appendix__clear-button",
1962
1963
  type: "button",
1963
1964
  tabIndex: -1,
1964
1965
  onClick: function onClick() {
1965
1966
  return onChange(null);
1966
1967
  }
1967
1968
  }, React.createElement(CloseSmallIcon, null)), React.createElement("div", {
1968
- className: "eds-searchable-dropdown__divider"
1969
+ className: "eds-searchable-dropdown-appendix__divider"
1969
1970
  })), React.createElement("button", _extends({}, getToggleButtonProps({
1970
- className: classNames('eds-searchable-dropdown__toggle-button', {
1971
- 'eds-searchable-dropdown__toggle-button--open': isOpen
1971
+ className: classNames('eds-searchable-dropdown-appendix__toggle-button', {
1972
+ 'eds-searchable-dropdown-appendix__toggle-button--open': isOpen
1972
1973
  })
1973
1974
  }), {
1974
1975
  tabIndex: "-1",