@pixum/combobox 1.2.0 → 1.2.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 +23 -0
- package/lib/ComboBox.js +10 -13
- package/lib/ComboBox.js.map +1 -1
- package/lib/styles.css +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
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
|
+
## [1.2.2](https://git.pixum.net/design-system/component-library/compare/@pixum/combobox@1.2.1...@pixum/combobox@1.2.2) (2023-10-16)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **Combobox:** fix bottom sheet height ([bac4f44](https://git.pixum.net/design-system/component-library/commits/bac4f44d99d16b7dcfac88343b62885c8f7ccbe3))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [1.2.1](https://git.pixum.net/design-system/component-library/compare/@pixum/combobox@1.2.0...@pixum/combobox@1.2.1) (2023-10-13)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **Combobox:** set dynamic height based on content ([28b2d8d](https://git.pixum.net/design-system/component-library/commits/28b2d8d6684f4f1af8fb4efc8f1c1dc8a282f26c))
|
|
23
|
+
* **ComboBox:** set value from outside ([aaae213](https://git.pixum.net/design-system/component-library/commits/aaae213eb381514df21937b94757f1a8ebf61f7c))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
6
29
|
# [1.2.0](https://git.pixum.net/design-system/component-library/compare/@pixum/combobox@1.1.1...@pixum/combobox@1.2.0) (2023-10-11)
|
|
7
30
|
|
|
8
31
|
|
package/lib/ComboBox.js
CHANGED
|
@@ -32,14 +32,12 @@ var bottom_sheet_1 = __importDefault(require("@pixum/bottom-sheet"));
|
|
|
32
32
|
var ComboboxOptions_1 = __importDefault(require("./ComboboxOptions"));
|
|
33
33
|
var text_1 = __importStar(require("@pixum/text"));
|
|
34
34
|
var ComboBox = function (_a) {
|
|
35
|
-
var _b = _a.className, className = _b === void 0 ? '' : _b, headline = _a.headline, label = _a.label,
|
|
35
|
+
var _b = _a.className, className = _b === void 0 ? '' : _b, headline = _a.headline, label = _a.label, onClick = _a.onClick, onChange = _a.onChange, onOutsideClick = _a.onOutsideClick, onOptionItemClick = _a.onOptionItemClick, onSheetClose = _a.onSheetClose, _c = _a.searchPattern, searchPattern = _c === void 0 ? '' : _c, isOpen = _a.isOpen, setIsOpen = _a.setIsOpen, options = _a.options, placeholder = _a.placeholder, value = _a.value, inputMode = _a.inputMode, noResultsText = _a.noResultsText, leadingType = _a.leadingType, optionDetails = _a.optionDetails, _d = _a.withSearch, withSearch = _d === void 0 ? true : _d;
|
|
36
36
|
var comboBoxRef = (0, react_1.useRef)(null);
|
|
37
37
|
var isDesktop = (0, useIsDesktop_1.useIsDesktop)();
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var _l = (0, react_2.useState)(placeholder), inputPlaceholder = _l[0], setPlaceholder = _l[1];
|
|
38
|
+
var _e = (0, react_2.useState)(''), searchQuery = _e[0], setSearchQuery = _e[1];
|
|
39
|
+
var _f = (0, react_2.useState)(placeholder), inputPlaceholder = _f[0], setPlaceholder = _f[1];
|
|
41
40
|
var optionsExist = Object.keys(options).length > 0;
|
|
42
|
-
var defaultValue = !selectedValue && value ? value : selectedValue;
|
|
43
41
|
var showSelectField = !withSearch || (isDesktop && !isOpen) || !isDesktop;
|
|
44
42
|
(0, react_1.useEffect)(function () {
|
|
45
43
|
!isOpen && (onSheetClose === null || onSheetClose === void 0 ? void 0 : onSheetClose());
|
|
@@ -47,17 +45,17 @@ var ComboBox = function (_a) {
|
|
|
47
45
|
var handleChange = function (e) {
|
|
48
46
|
var searchValue = e.target.value;
|
|
49
47
|
setSearchQuery(searchValue);
|
|
50
|
-
onChange(searchValue);
|
|
48
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(searchValue);
|
|
51
49
|
};
|
|
52
50
|
var handleClearInput = function () {
|
|
53
51
|
setIsOpen(function (prev) { return !prev; });
|
|
54
52
|
setSearchQuery('');
|
|
55
|
-
onClick();
|
|
53
|
+
onClick === null || onClick === void 0 ? void 0 : onClick();
|
|
56
54
|
};
|
|
57
55
|
var clearAndClose = function () {
|
|
58
56
|
setIsOpen(false);
|
|
59
57
|
setSearchQuery('');
|
|
60
|
-
onOutsideClick();
|
|
58
|
+
onOutsideClick === null || onOutsideClick === void 0 ? void 0 : onOutsideClick();
|
|
61
59
|
};
|
|
62
60
|
var handleClickOutside = function (event) {
|
|
63
61
|
setPlaceholder(placeholder);
|
|
@@ -68,8 +66,7 @@ var ComboBox = function (_a) {
|
|
|
68
66
|
};
|
|
69
67
|
var handleOptionItemClick = function (optionValue) {
|
|
70
68
|
if (optionValue) {
|
|
71
|
-
|
|
72
|
-
onOptionItemClick(optionValue);
|
|
69
|
+
onOptionItemClick === null || onOptionItemClick === void 0 ? void 0 : onOptionItemClick(optionValue);
|
|
73
70
|
}
|
|
74
71
|
};
|
|
75
72
|
var handleOnArrowClick = function () {
|
|
@@ -95,10 +92,10 @@ var ComboBox = function (_a) {
|
|
|
95
92
|
};
|
|
96
93
|
}, []);
|
|
97
94
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
98
|
-
showSelectField && (react_1.default.createElement(user_input_1.SelectInput, { label: label, value:
|
|
95
|
+
showSelectField && (react_1.default.createElement(user_input_1.SelectInput, { label: label, value: value, onClick: function () { return setIsOpen(function (prev) { return !prev; }); }, isCompact: true, readOnly: true })),
|
|
99
96
|
isDesktop && isOpen && (react_1.default.createElement("div", { className: (0, clsx_1.default)("combobox", className), ref: comboBoxRef },
|
|
100
97
|
withSearch && (react_1.default.createElement(user_input_1.SmallSearchInput, { value: searchQuery, pattern: searchPattern, label: label, onChange: handleChange, onClear: handleClearInput, onKeyDown: handleKeyDown, onArrowClick: handleOnArrowClick, show: isOpen, inputMode: inputMode, autoFocus: true, isCompact: true })),
|
|
101
|
-
optionsExist ? (react_1.default.createElement(ComboboxOptions_1.default, { options: options, onClick: handleOptionItemClick, selectedOption:
|
|
98
|
+
optionsExist ? (react_1.default.createElement(ComboboxOptions_1.default, { options: options, onClick: handleOptionItemClick, selectedOption: value, leadingType: leadingType, optionDetails: optionDetails })) : (react_1.default.createElement(NoResultsTextComponent, null)),
|
|
102
99
|
react_1.default.createElement("div", null))),
|
|
103
100
|
!isDesktop && isOpen && (react_1.default.createElement(bottom_sheet_1.default, { open: isOpen, onClose: function () {
|
|
104
101
|
setIsOpen(false);
|
|
@@ -106,7 +103,7 @@ var ComboBox = function (_a) {
|
|
|
106
103
|
react_1.default.createElement("div", { className: "combobox--header" },
|
|
107
104
|
react_1.default.createElement(text_1.default, { variant: text_1.TextVariant.HEADLINE, className: "combobox--headline" }, headline),
|
|
108
105
|
withSearch && (react_1.default.createElement(user_input_1.SmallSearchInput, { value: searchQuery, pattern: searchPattern, onChange: handleChange, onClear: handleClearInput, onFocus: removePlaceholder, placeholder: inputPlaceholder, inputMode: inputMode, show: isOpen, isCompact: true }))),
|
|
109
|
-
react_1.default.createElement("div", { className: "combobox__options scrollable" }, optionsExist ? (react_1.default.createElement(ComboboxOptions_1.default, { options: options, onClick: handleOptionItemClick, selectedOption:
|
|
106
|
+
react_1.default.createElement("div", { className: "combobox__options scrollable" }, optionsExist ? (react_1.default.createElement(ComboboxOptions_1.default, { options: options, onClick: handleOptionItemClick, selectedOption: value, leadingType: leadingType, optionDetails: optionDetails })) : (react_1.default.createElement(NoResultsTextComponent, null)))))));
|
|
110
107
|
};
|
|
111
108
|
exports.default = ComboBox;
|
|
112
109
|
//# sourceMappingURL=ComboBox.js.map
|
package/lib/ComboBox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../src/ComboBox.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAgD;AAChD,8CAAuB;AAEvB,wBAAqB;AACrB,gDAAiE;AACjE,sDAAoD;AACpD,+BAAgC;AAChC,qEAA6C;AAC7C,sEAA+C;AAC/C,kDAA+C;AAE/C,IAAM,QAAQ,GAA4B,UAAC,EAoB1C;QAnBC,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,
|
|
1
|
+
{"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../src/ComboBox.tsx"],"names":[],"mappings":"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"}
|
package/lib/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.combobox{width:100%;position:relative}.combobox--headline[class*=text--]{margin-bottom:var(--spacing-2)}.combobox--header,.combobox__options{position:relative}.combobox--header{width:100%;align-items:flex-start;flex-direction:column;gap:var(--spacing-1_5);height:auto;padding:var(--spacing-3) var(--spacing) var(--spacing-2)}.combobox__options{width:100%;max-height:none;display:flex;flex-direction:column;overflow:scroll
|
|
1
|
+
.combobox{width:100%;position:relative}.combobox--headline[class*=text--]{margin-bottom:var(--spacing-2)}.combobox--header,.combobox__options{position:relative}.combobox--header{width:100%;align-items:flex-start;flex-direction:column;gap:var(--spacing-1_5);height:auto;padding:var(--spacing-3) var(--spacing) var(--spacing-2)}.combobox__options{width:100%;max-height:none;display:flex;flex-direction:column;overflow:scroll}.combobox .user-input__label-container{align-self:baseline;padding-left:var(--spacing-2)}.combobox__options .combobox__sticky-header,.combobox__options .menu-item[data-background-color=default]{padding-left:0}.combobox .search.user-input__compact{margin-bottom:var(--spacing-2)}.combobox__options .combobox__sticky-header{position:-webkit-sticky;position:sticky;top:0;padding-left:var(--spacing);padding-right:var(--spacing);background-color:var(--color-surface)}.combobox__options .menu-item[data-background-color=default]{padding:var(--spacing)}.combobox__options .text--caption{color:var(--color-on-secondary)}.combobox__options .item-header{display:flex;justify-content:space-between}.combobox .combobox__options .combobox__option-details{position:-webkit-sticky;position:sticky;bottom:0;padding-left:var(--spacing);padding-right:var(--spacing);background-color:var(--color-surface)}.combobox .user-input__label.user-input__label--active{color:var(--color-on)}.combobox--no-results-text{text-align:center;padding:var(--spacing-2) var(--spacing)}@media screen and (min-width:960px){.combobox .user-input__container.search{border-radius:var(--spacing-0_5) var(--spacing-0_5) 0 0}.combobox__options{position:absolute;overflow-x:auto;max-height:330px}.combobox .user-input__label-container{padding-left:0}.combobox .search.user-input__compact{margin-bottom:0}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixum/combobox",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"module": "lib/index.js",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -17,5 +17,5 @@
|
|
|
17
17
|
"files": [
|
|
18
18
|
"lib"
|
|
19
19
|
],
|
|
20
|
-
"gitHead": "
|
|
20
|
+
"gitHead": "581f2b685a05f3634ec19573480bb88be725e6dd"
|
|
21
21
|
}
|