@pixum/combobox 1.6.11-alpha.91 → 1.7.1-alpha.16
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 +12 -0
- package/lib/ComboBox.js +7 -7
- package/lib/ComboBox.js.map +1 -1
- package/lib/styles.css +1 -1
- package/lib/types.d.ts +2 -0
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
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.7.0](https://git.pixum.net/design-system/component-library/compare/@pixum/combobox@1.6.10...@pixum/combobox@1.7.0) (2024-10-09)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **combo-box:** add name attribute ([96eb546](https://git.pixum.net/design-system/component-library/commits/96eb546ce2ddc7b96b794b630270c8e44d002c2d))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
6
18
|
## [1.6.10](https://git.pixum.net/design-system/component-library/compare/@pixum/combobox@1.6.9...@pixum/combobox@1.6.10) (2024-07-19)
|
|
7
19
|
|
|
8
20
|
**Note:** Version bump only for package @pixum/combobox
|
package/lib/ComboBox.js
CHANGED
|
@@ -35,11 +35,11 @@ var useIsDesktopScreenWidth_1 = __importDefault(require("./helper/useIsDesktopSc
|
|
|
35
35
|
require("./styles.css");
|
|
36
36
|
var clsx_1 = __importDefault(require("clsx"));
|
|
37
37
|
var ComboBox = function (_a) {
|
|
38
|
-
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, id = _a.id, 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;
|
|
38
|
+
var _b = _a.className, className = _b === void 0 ? '' : _b, name = _a.name, 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, id = _a.id, 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, _e = _a.lockScrollOnHtmlRoot, lockScrollOnHtmlRoot = _e === void 0 ? false : _e;
|
|
39
39
|
var comboBoxRef = (0, react_1.useRef)(null);
|
|
40
40
|
var bottomSheetRef = (0, react_1.useRef)(null);
|
|
41
|
-
var
|
|
42
|
-
var
|
|
41
|
+
var _f = (0, react_1.useState)(''), searchQuery = _f[0], setSearchQuery = _f[1];
|
|
42
|
+
var _g = (0, react_1.useState)(placeholder), inputPlaceholder = _g[0], setPlaceholder = _g[1];
|
|
43
43
|
var isDesktop = (0, useIsDesktopScreenWidth_1.default)();
|
|
44
44
|
var optionsExist = Object.keys(options).length > 0;
|
|
45
45
|
var showSelectField = !withSearch || (isDesktop && !isOpen) || !isDesktop;
|
|
@@ -89,17 +89,17 @@ var ComboBox = function (_a) {
|
|
|
89
89
|
}
|
|
90
90
|
};
|
|
91
91
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
92
|
-
showSelectField && (react_1.default.createElement(user_input_1.SelectInput, { className: (0, clsx_1.default)(isOpen && 'active', className), label: label, value: value, onClick: handleOnClick, onOutsideClick: handleClickOutside, isCompact: true, id: id, readOnly: true })),
|
|
92
|
+
showSelectField && (react_1.default.createElement(user_input_1.SelectInput, { className: (0, clsx_1.default)(isOpen && 'active', className), name: name, label: label, value: value, onClick: handleOnClick, onOutsideClick: handleClickOutside, isCompact: true, id: id, readOnly: true })),
|
|
93
93
|
isDesktop && isOpen && (react_1.default.createElement("div", { className: "combobox", ref: comboBoxRef },
|
|
94
|
-
withSearch && (react_1.default.createElement(user_input_1.SmallSearchInput, { value: searchQuery, pattern: searchPattern, label: label, onChange: handleChange, onClear: handleClearInput, onKeyDown: handleKeyDown, onArrowClick: handleOnArrowClick, onOutsideClick: handleClickOutside, show: isOpen, inputMode: inputMode, autoFocus: true, isCompact: true })),
|
|
94
|
+
withSearch && (react_1.default.createElement(user_input_1.SmallSearchInput, { name: name, value: searchQuery, pattern: searchPattern, label: label, onChange: handleChange, onClear: handleClearInput, onKeyDown: handleKeyDown, onArrowClick: handleOnArrowClick, onOutsideClick: handleClickOutside, show: isOpen, inputMode: inputMode, autoFocus: true, isCompact: true })),
|
|
95
95
|
optionsExist ? (react_1.default.createElement(ComboboxOptions_1.default, { options: options, onClick: handleOptionItemClick, selectedOption: value, leadingType: leadingType, optionDetails: optionDetails })) : (react_1.default.createElement(NoResultsTextComponent, null)),
|
|
96
96
|
react_1.default.createElement("div", null))),
|
|
97
97
|
!isDesktop && isOpen && (react_1.default.createElement(bottom_sheet_1.default, { open: isOpen, onClose: function () {
|
|
98
98
|
setIsOpen(false);
|
|
99
|
-
}, ref: bottomSheetRef },
|
|
99
|
+
}, lockScrollOnHtmlRoot: lockScrollOnHtmlRoot, ref: bottomSheetRef },
|
|
100
100
|
react_1.default.createElement("div", { className: "combobox--header" },
|
|
101
101
|
react_1.default.createElement(text_1.default, { variant: text_1.TextVariant.HEADLINE, className: "combobox--headline" }, headline),
|
|
102
|
-
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 }))),
|
|
102
|
+
withSearch && (react_1.default.createElement(user_input_1.SmallSearchInput, { name: name, value: searchQuery, pattern: searchPattern, onChange: handleChange, onClear: handleClearInput, onFocus: removePlaceholder, placeholder: inputPlaceholder, inputMode: inputMode, show: isOpen, isCompact: true }))),
|
|
103
103
|
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)))))));
|
|
104
104
|
};
|
|
105
105
|
exports.default = ComboBox;
|
package/lib/ComboBox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../src/ComboBox.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAuE;AACvE,kDAA+C;AAC/C,qEAA6C;AAC7C,sEAA+C;AAC/C,gDAAiE;AAEjE,6FAAsE;AACtE,wBAAqB;AACrB,8CAAuB;AAEvB,IAAM,QAAQ,GAA4B,UAAC,
|
|
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-top: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
|
|
1
|
+
.combobox{width:100%;position:relative}.combobox--headline[class*=text--]+*{margin-top: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: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: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/lib/types.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ interface ComboBoxOptionsProps {
|
|
|
9
9
|
}
|
|
10
10
|
interface ComboBoxProps extends ComboBoxOptionsProps {
|
|
11
11
|
className?: string;
|
|
12
|
+
name?: string;
|
|
12
13
|
headline?: string;
|
|
13
14
|
helperText?: string;
|
|
14
15
|
id?: string;
|
|
@@ -26,6 +27,7 @@ interface ComboBoxProps extends ComboBoxOptionsProps {
|
|
|
26
27
|
noResultsText?: string;
|
|
27
28
|
inputMode?: InputMode;
|
|
28
29
|
withSearch?: boolean;
|
|
30
|
+
lockScrollOnHtmlRoot?: boolean;
|
|
29
31
|
}
|
|
30
32
|
interface ComboBoxOptionProps extends MenuItemProps {
|
|
31
33
|
key?: string;
|
package/package.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixum/combobox",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.1-alpha.16+16f716c9",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"module": "lib/index.js",
|
|
6
6
|
"license": "UNLICENSED",
|
|
7
7
|
"sideEffects": false,
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"@pixum/bottom-sheet": "1.
|
|
10
|
-
"@pixum/button": "
|
|
11
|
-
"@pixum/menu": "^2.1.
|
|
12
|
-
"@pixum/menu-item": "0.
|
|
13
|
-
"@pixum/svg-icon": "
|
|
14
|
-
"@pixum/text": "1.
|
|
15
|
-
"@pixum/user-input": "0.
|
|
9
|
+
"@pixum/bottom-sheet": "0.5.1-alpha.51+4664718e",
|
|
10
|
+
"@pixum/button": "^2.0.6",
|
|
11
|
+
"@pixum/menu": "^2.1.9",
|
|
12
|
+
"@pixum/menu-item": "^1.0.0",
|
|
13
|
+
"@pixum/svg-icon": "^2.5.0",
|
|
14
|
+
"@pixum/text": "^1.6.0",
|
|
15
|
+
"@pixum/user-input": "^1.0.6"
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
18
|
"lib"
|
|
19
19
|
],
|
|
20
|
-
"gitHead": "
|
|
20
|
+
"gitHead": "16f716c9a5aa8c0e10e02961242aefd0fd282b9e"
|
|
21
21
|
}
|