@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.
- package/CHANGELOG.md +6 -0
- package/dist/beta/SearchableDropdown.d.ts +19 -2
- package/dist/dropdown.cjs.development.js +23 -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 +24 -23
- package/dist/dropdown.esm.js.map +1 -1
- package/dist/styles.css +34 -34
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [4.0.0-beta.2](https://bitbucket.org/enturas/design-system/compare/@entur/dropdown@4.0.0-beta.1...@entur/dropdown@4.0.0-beta.2) (2022-09-30)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **searchable dropdown:** fixes from beta testing ([c460e94](https://bitbucket.org/enturas/design-system/commits/c460e947b2f39fd486b79d433d43a4ac3cdc9bdc))
|
|
11
|
+
|
|
6
12
|
# [4.0.0-beta.1](https://bitbucket.org/enturas/design-system/compare/@entur/dropdown@3.0.15...@entur/dropdown@4.0.0-beta.1) (2022-09-27)
|
|
7
13
|
|
|
8
14
|
### Features
|
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { VariantType } from '@entur/form';
|
|
2
3
|
import { NormalizedDropdownItemType } from '../useNormalizedItems';
|
|
3
4
|
import './dropdown.scss';
|
|
4
5
|
export declare type SearchableDropdownProps = {
|
|
6
|
+
/** Tilgjengelige valg i dropdown-en */
|
|
5
7
|
items: NormalizedDropdownItemType[];
|
|
8
|
+
/** Valgt element. Bruk null for ingen verdi. */
|
|
6
9
|
selectedItem: NormalizedDropdownItemType | null;
|
|
7
|
-
|
|
10
|
+
/** Callback for når brukeren endrer valg */
|
|
11
|
+
onChange: (value: NormalizedDropdownItemType | null) => void;
|
|
12
|
+
/** Beskrivende tekst som forklarer feltet */
|
|
8
13
|
label: string;
|
|
14
|
+
/** Placeholder-tekst når ingenting er satt */
|
|
9
15
|
placeholder?: string;
|
|
16
|
+
/** Vis knapp for å nullstille Dropdown-en skal vises
|
|
17
|
+
* @default false
|
|
18
|
+
*/
|
|
10
19
|
clearable?: boolean;
|
|
20
|
+
/** Vis listen med valg skal vises på fokus av inputfeltet
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
11
23
|
openOnFocus?: boolean;
|
|
24
|
+
/** Gjør dropdown-en til å kun kunne leses */
|
|
25
|
+
readonly?: boolean;
|
|
26
|
+
feedback?: string;
|
|
27
|
+
variant?: VariantType;
|
|
12
28
|
className?: string;
|
|
13
29
|
style?: {
|
|
14
30
|
[key: string]: any;
|
|
@@ -16,5 +32,6 @@ export declare type SearchableDropdownProps = {
|
|
|
16
32
|
listStyle?: {
|
|
17
33
|
[key: string]: any;
|
|
18
34
|
};
|
|
35
|
+
[key: string]: any;
|
|
19
36
|
};
|
|
20
|
-
export declare const SearchableDropdownBeta: ({ items, selectedItem: value, onChange, label, placeholder, clearable, openOnFocus, className, listStyle, ...rest }: SearchableDropdownProps) => JSX.Element;
|
|
37
|
+
export declare const SearchableDropdownBeta: ({ items, selectedItem: value, onChange, label, placeholder, clearable, openOnFocus, readonly, feedback, variant, className, listStyle, ...rest }: SearchableDropdownProps) => JSX.Element;
|
|
@@ -1785,7 +1785,7 @@ function SelectedItemsLabel(items) {
|
|
|
1785
1785
|
}).toString() : items.length + " elementer valgt";
|
|
1786
1786
|
}
|
|
1787
1787
|
|
|
1788
|
-
var _excluded = ["items", "selectedItem", "onChange", "label", "placeholder", "clearable", "openOnFocus", "className", "listStyle"];
|
|
1788
|
+
var _excluded = ["items", "selectedItem", "onChange", "label", "placeholder", "clearable", "openOnFocus", "readonly", "feedback", "variant", "className", "listStyle"];
|
|
1789
1789
|
|
|
1790
1790
|
function lowerCaseFilterTest(item, input) {
|
|
1791
1791
|
if (!input) {
|
|
@@ -1804,13 +1804,17 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
|
|
|
1804
1804
|
var items = _ref.items,
|
|
1805
1805
|
value = _ref.selectedItem,
|
|
1806
1806
|
onChange = _ref.onChange,
|
|
1807
|
-
|
|
1808
|
-
label = _ref$label === void 0 ? '!MANGLER LABEL!' : _ref$label,
|
|
1807
|
+
label = _ref.label,
|
|
1809
1808
|
placeholder = _ref.placeholder,
|
|
1810
1809
|
_ref$clearable = _ref.clearable,
|
|
1811
1810
|
clearable = _ref$clearable === void 0 ? false : _ref$clearable,
|
|
1812
1811
|
_ref$openOnFocus = _ref.openOnFocus,
|
|
1813
1812
|
openOnFocus = _ref$openOnFocus === void 0 ? false : _ref$openOnFocus,
|
|
1813
|
+
_ref$readonly = _ref.readonly,
|
|
1814
|
+
readonly = _ref$readonly === void 0 ? false : _ref$readonly,
|
|
1815
|
+
feedback = _ref.feedback,
|
|
1816
|
+
_ref$variant = _ref.variant,
|
|
1817
|
+
variant = _ref$variant === void 0 ? 'info' : _ref$variant,
|
|
1814
1818
|
className = _ref.className,
|
|
1815
1819
|
listStyle = _ref.listStyle,
|
|
1816
1820
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
@@ -1858,7 +1862,7 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
|
|
|
1858
1862
|
selectedItem: value,
|
|
1859
1863
|
onSelectedItemChange: function onSelectedItemChange(_ref3) {
|
|
1860
1864
|
var newSelectedItem = _ref3.selectedItem;
|
|
1861
|
-
return onChange(newSelectedItem);
|
|
1865
|
+
return onChange(newSelectedItem != null ? newSelectedItem : null);
|
|
1862
1866
|
}
|
|
1863
1867
|
}, rest)),
|
|
1864
1868
|
isOpen = _useCombobox.isOpen,
|
|
@@ -1871,13 +1875,9 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
|
|
|
1871
1875
|
getItemProps = _useCombobox.getItemProps,
|
|
1872
1876
|
selectedItem = _useCombobox.selectedItem,
|
|
1873
1877
|
openMenu = _useCombobox.openMenu,
|
|
1874
|
-
inputValue = _useCombobox.inputValue
|
|
1875
|
-
setInputValue = _useCombobox.setInputValue; // TODO Husk å generelt legge inn støtte for typeof value === string
|
|
1878
|
+
inputValue = _useCombobox.inputValue; // TODO Husk å generelt legge inn støtte for typeof value === string
|
|
1876
1879
|
|
|
1877
1880
|
|
|
1878
|
-
React.useEffect(function () {
|
|
1879
|
-
if (inputValue.toLowerCase() === (value == null ? void 0 : value.label.toLowerCase()) || inputValue.toLowerCase() === (value == null ? void 0 : value.value.toLowerCase())) setInputValue('');
|
|
1880
|
-
}, [value]);
|
|
1881
1881
|
return React__default["default"].createElement("div", {
|
|
1882
1882
|
className: "eds-searchable-dropdown__wrapper"
|
|
1883
1883
|
}, React__default["default"].createElement(form.BaseFormControl, _extends({
|
|
@@ -1887,13 +1887,16 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
|
|
|
1887
1887
|
clearable: clearable,
|
|
1888
1888
|
loading: false,
|
|
1889
1889
|
loadingText: '',
|
|
1890
|
-
readOnly:
|
|
1890
|
+
readOnly: readonly,
|
|
1891
1891
|
onChange: onChange,
|
|
1892
1892
|
getToggleButtonProps: getToggleButtonProps
|
|
1893
1893
|
}),
|
|
1894
1894
|
className: classNames__default["default"]('eds-searchable-dropdown', className),
|
|
1895
1895
|
label: label,
|
|
1896
1896
|
isFilled: selectedItem ? true : false,
|
|
1897
|
+
feedback: feedback,
|
|
1898
|
+
variant: variant,
|
|
1899
|
+
readOnly: readonly,
|
|
1897
1900
|
labelProps: getLabelProps()
|
|
1898
1901
|
}, getComboboxProps(), rest), !hideSelectedItem && selectedItem && !inputValue && React__default["default"].createElement("span", {
|
|
1899
1902
|
className: "eds-searchable-dropdown__selected-item__wrapper"
|
|
@@ -1927,7 +1930,7 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
|
|
|
1927
1930
|
React__default["default"].createElement("li", _extends({
|
|
1928
1931
|
className: classNames__default["default"]('eds-searchable-dropdown__list__item', {
|
|
1929
1932
|
'eds-searchable-dropdown__list__item--highlighted': highlightedIndex === index,
|
|
1930
|
-
'eds-searchable-dropdown__list__item--selected': selectedItem === item
|
|
1933
|
+
'eds-searchable-dropdown__list__item--selected': (selectedItem == null ? void 0 : selectedItem.value) === item.value
|
|
1931
1934
|
})
|
|
1932
1935
|
}, getItemProps({
|
|
1933
1936
|
key: "" + index + item.value,
|
|
@@ -1939,25 +1942,23 @@ var SearchableDropdownBeta = function SearchableDropdownBeta(_ref) {
|
|
|
1939
1942
|
inline: true,
|
|
1940
1943
|
className: "eds-searchable-dropdown__list__item-icon"
|
|
1941
1944
|
});
|
|
1942
|
-
})), selectedItem === item && React__default["default"].createElement(icons.CheckIcon, null))
|
|
1945
|
+
})), (selectedItem == null ? void 0 : selectedItem.value) === item.value && React__default["default"].createElement(icons.CheckIcon, null))
|
|
1943
1946
|
);
|
|
1944
1947
|
}) : null));
|
|
1945
1948
|
};
|
|
1946
1949
|
|
|
1947
1950
|
var Appendix = function Appendix(_ref4) {
|
|
1948
1951
|
var clearable = _ref4.clearable,
|
|
1949
|
-
loading = _ref4.loading,
|
|
1950
|
-
loadingText = _ref4.loadingText,
|
|
1951
1952
|
readOnly = _ref4.readOnly,
|
|
1952
1953
|
getToggleButtonProps = _ref4.getToggleButtonProps,
|
|
1953
1954
|
selectedItem = _ref4.selectedItem,
|
|
1954
1955
|
isOpen = _ref4.isOpen,
|
|
1955
1956
|
onChange = _ref4.onChange;
|
|
1956
1957
|
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
}
|
|
1960
|
-
|
|
1958
|
+
// TODO implement loading / async
|
|
1959
|
+
// if (loading) {
|
|
1960
|
+
// return <DropdownLoadingDots>{loadingText}</DropdownLoadingDots>;
|
|
1961
|
+
// }
|
|
1961
1962
|
if (readOnly) {
|
|
1962
1963
|
return null;
|
|
1963
1964
|
}
|
|
@@ -1968,17 +1969,17 @@ var Appendix = function Appendix(_ref4) {
|
|
|
1968
1969
|
alignItems: 'center'
|
|
1969
1970
|
}
|
|
1970
1971
|
}, clearable && selectedItem && React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement("button", {
|
|
1971
|
-
className: "eds-searchable-
|
|
1972
|
+
className: "eds-searchable-dropdown-appendix__clear-button",
|
|
1972
1973
|
type: "button",
|
|
1973
1974
|
tabIndex: -1,
|
|
1974
1975
|
onClick: function onClick() {
|
|
1975
1976
|
return onChange(null);
|
|
1976
1977
|
}
|
|
1977
1978
|
}, React__default["default"].createElement(icons.CloseSmallIcon, null)), React__default["default"].createElement("div", {
|
|
1978
|
-
className: "eds-searchable-
|
|
1979
|
+
className: "eds-searchable-dropdown-appendix__divider"
|
|
1979
1980
|
})), React__default["default"].createElement("button", _extends({}, getToggleButtonProps({
|
|
1980
|
-
className: classNames__default["default"]('eds-searchable-
|
|
1981
|
-
'eds-searchable-
|
|
1981
|
+
className: classNames__default["default"]('eds-searchable-dropdown-appendix__toggle-button', {
|
|
1982
|
+
'eds-searchable-dropdown-appendix__toggle-button--open': isOpen
|
|
1982
1983
|
})
|
|
1983
1984
|
}), {
|
|
1984
1985
|
tabIndex: "-1",
|