@pixum/combobox 0.28.1 → 0.29.0
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 +328 -317
- package/lib/ComboBox.d.ts +5 -5
- package/lib/ComboBox.js +117 -118
- package/lib/ComboBox.js.map +1 -1
- package/lib/ComboBoxOptions.d.ts +4 -4
- package/lib/ComboBoxOptions.js +64 -64
- package/lib/ComboboxOptions/Options.d.ts +12 -0
- package/lib/ComboboxOptions/Options.js +24 -0
- package/lib/ComboboxOptions/Options.js.map +1 -0
- package/lib/ComboboxOptions/OptionsGroup.d.ts +13 -0
- package/lib/ComboboxOptions/OptionsGroup.js +35 -0
- package/lib/ComboboxOptions/OptionsGroup.js.map +1 -0
- package/lib/ComboboxOptions/index.d.ts +4 -0
- package/lib/ComboboxOptions/index.js +53 -0
- package/lib/ComboboxOptions/index.js.map +1 -0
- package/lib/helper/calculateListMaxHeight.d.ts +1 -1
- package/lib/helper/calculateListMaxHeight.js +11 -11
- package/lib/helper/scrollOptionToViewport.d.ts +1 -1
- package/lib/helper/scrollOptionToViewport.js +21 -21
- package/lib/helper/useIsDesktop.d.ts +1 -1
- package/lib/helper/useIsDesktop.js +13 -13
- package/lib/index.d.ts +3 -3
- package/lib/index.js +18 -18
- package/lib/styles.css +1 -1
- package/lib/types.d.ts +36 -30
- package/lib/types.js +2 -2
- package/package.json +2 -2
package/lib/ComboBox.js
CHANGED
|
@@ -1,119 +1,118 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
var react_1 = __importStar(require("react"));
|
|
26
|
-
var clsx_1 = __importDefault(require("clsx"));
|
|
27
|
-
require("./styles.css");
|
|
28
|
-
var user_input_1 = require("@pixum/user-input");
|
|
29
|
-
var useIsDesktop_1 = require("./helper/useIsDesktop");
|
|
30
|
-
var react_2 = require("react");
|
|
31
|
-
var bottom_sheet_1 = __importDefault(require("@pixum/bottom-sheet"));
|
|
32
|
-
var
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
react_1.default.createElement(
|
|
110
|
-
react_1.default.createElement(
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
react_1.default.createElement(
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
exports.default = ComboBox;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
var react_1 = __importStar(require("react"));
|
|
26
|
+
var clsx_1 = __importDefault(require("clsx"));
|
|
27
|
+
require("./styles.css");
|
|
28
|
+
var user_input_1 = require("@pixum/user-input");
|
|
29
|
+
var useIsDesktop_1 = require("./helper/useIsDesktop");
|
|
30
|
+
var react_2 = require("react");
|
|
31
|
+
var bottom_sheet_1 = __importDefault(require("@pixum/bottom-sheet"));
|
|
32
|
+
var ComboboxOptions_1 = __importDefault(require("./ComboboxOptions"));
|
|
33
|
+
var text_1 = __importStar(require("@pixum/text"));
|
|
34
|
+
var ComboBox = function (_a) {
|
|
35
|
+
var _b = _a.className, className = _b === void 0 ? '' : _b, headline = _a.headline, label = _a.label, _c = _a.onClick, onClick = _c === void 0 ? function () { } : _c, _d = _a.onChange, onChange = _d === void 0 ? function () { } : _d, _e = _a.onOutsideClick, onOutsideClick = _e === void 0 ? function () { } : _e, _f = _a.onOptionItemClick, onOptionItemClick = _f === void 0 ? function () { } : _f, onSheetClose = _a.onSheetClose, _g = _a.searchPattern, searchPattern = _g === void 0 ? '' : _g, _h = _a.open, open = _h === void 0 ? false : _h, options = _a.options, placeholder = _a.placeholder, value = _a.value, inputMode = _a.inputMode, noResultsText = _a.noResultsText, leadingType = _a.leadingType, optionDetails = _a.optionDetails, _j = _a.withSearch, withSearch = _j === void 0 ? true : _j;
|
|
36
|
+
var comboBoxRef = (0, react_1.useRef)(null);
|
|
37
|
+
var isDesktop = (0, useIsDesktop_1.useIsDesktop)();
|
|
38
|
+
var _k = (0, react_2.useState)(''), searchQuery = _k[0], setSearchQuery = _k[1];
|
|
39
|
+
var _l = (0, react_2.useState)(''), selectedValue = _l[0], setSelectedValue = _l[1];
|
|
40
|
+
var _m = (0, react_2.useState)(placeholder), inputPlaceholder = _m[0], setPlaceholder = _m[1];
|
|
41
|
+
var _o = (0, react_2.useState)(open), isOpen = _o[0], setIsOpen = _o[1];
|
|
42
|
+
var optionsExist = Object.keys(options).length > 0;
|
|
43
|
+
var defaultValue = !selectedValue && value ? value : selectedValue;
|
|
44
|
+
var showSelectField = !withSearch || (isDesktop && !isOpen) || !isDesktop;
|
|
45
|
+
(0, react_1.useEffect)(function () {
|
|
46
|
+
!isOpen && (onSheetClose === null || onSheetClose === void 0 ? void 0 : onSheetClose());
|
|
47
|
+
}, [isOpen]);
|
|
48
|
+
var handleChange = function (e) {
|
|
49
|
+
var searchValue = e.target.value;
|
|
50
|
+
setSearchQuery(searchValue);
|
|
51
|
+
onChange(searchValue);
|
|
52
|
+
};
|
|
53
|
+
var handleClearInput = function () {
|
|
54
|
+
setIsOpen(true);
|
|
55
|
+
setSearchQuery('');
|
|
56
|
+
onClick();
|
|
57
|
+
};
|
|
58
|
+
var handleSelectInputClick = function () {
|
|
59
|
+
handleClearInput();
|
|
60
|
+
};
|
|
61
|
+
var clearAndClose = function () {
|
|
62
|
+
setIsOpen(false);
|
|
63
|
+
setSearchQuery('');
|
|
64
|
+
onOutsideClick();
|
|
65
|
+
};
|
|
66
|
+
var handleClickOutside = function (event) {
|
|
67
|
+
setPlaceholder(placeholder);
|
|
68
|
+
if (comboBoxRef.current &&
|
|
69
|
+
!comboBoxRef.current.contains(event.target)) {
|
|
70
|
+
clearAndClose();
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
var handleBottomSheetOnClose = function () {
|
|
74
|
+
setIsOpen(false);
|
|
75
|
+
};
|
|
76
|
+
var handleOptionItemClick = function (optionValue) {
|
|
77
|
+
if (optionValue) {
|
|
78
|
+
setSelectedValue(optionValue);
|
|
79
|
+
onOptionItemClick(optionValue);
|
|
80
|
+
}
|
|
81
|
+
setIsOpen(false);
|
|
82
|
+
};
|
|
83
|
+
var handleOnArrowClick = function () {
|
|
84
|
+
clearAndClose();
|
|
85
|
+
};
|
|
86
|
+
var NoResultsTextComponent = function () {
|
|
87
|
+
return (react_1.default.createElement(text_1.default, { variant: text_1.TextVariant.SUBHEADLINE, className: "combobox--no-results-text" }, noResultsText));
|
|
88
|
+
};
|
|
89
|
+
var removePlaceholder = function () {
|
|
90
|
+
setPlaceholder('');
|
|
91
|
+
};
|
|
92
|
+
var handleKeyDown = function (e) {
|
|
93
|
+
var _a;
|
|
94
|
+
if (e.key === 'Tab') {
|
|
95
|
+
e.preventDefault();
|
|
96
|
+
(_a = document.querySelector('.combobox__options .menu-item')) === null || _a === void 0 ? void 0 : _a.focus();
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
(0, react_1.useEffect)(function () {
|
|
100
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
101
|
+
return function () {
|
|
102
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
103
|
+
};
|
|
104
|
+
}, []);
|
|
105
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
106
|
+
showSelectField && (react_1.default.createElement(user_input_1.SelectInput, { label: label, value: defaultValue, onClick: handleSelectInputClick, isCompact: true, readOnly: true })),
|
|
107
|
+
isDesktop && isOpen && (react_1.default.createElement("div", { className: (0, clsx_1.default)("combobox", className), ref: comboBoxRef },
|
|
108
|
+
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 })),
|
|
109
|
+
optionsExist ? (react_1.default.createElement(ComboboxOptions_1.default, { options: options, onClick: handleOptionItemClick, selectedOption: defaultValue, leadingType: leadingType, optionDetails: optionDetails })) : (react_1.default.createElement(NoResultsTextComponent, null)),
|
|
110
|
+
react_1.default.createElement("div", null))),
|
|
111
|
+
!isDesktop && isOpen && (react_1.default.createElement(bottom_sheet_1.default, { open: isOpen, onClose: handleBottomSheetOnClose },
|
|
112
|
+
react_1.default.createElement("div", { className: "combobox--header" },
|
|
113
|
+
react_1.default.createElement(text_1.default, { variant: text_1.TextVariant.HEADLINE, className: "combobox--headline" }, headline),
|
|
114
|
+
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 }))),
|
|
115
|
+
react_1.default.createElement("div", { className: "combobox__options scrollable" }, optionsExist ? (react_1.default.createElement(ComboboxOptions_1.default, { options: options, onClick: handleOptionItemClick, selectedOption: defaultValue, leadingType: leadingType, optionDetails: optionDetails })) : (react_1.default.createElement(NoResultsTextComponent, null)))))));
|
|
116
|
+
};
|
|
117
|
+
exports.default = ComboBox;
|
|
119
118
|
//# 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,
|
|
1
|
+
{"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../src/ComboBox.tsx"],"names":[],"mappings":"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"}
|
package/lib/ComboBoxOptions.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { ComboBoxOptionsProps } from "./types";
|
|
3
|
-
declare const ComboBoxOptions: React.FC<ComboBoxOptionsProps>;
|
|
4
|
-
export default ComboBoxOptions;
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ComboBoxOptionsProps } from "./types";
|
|
3
|
+
declare const ComboBoxOptions: React.FC<ComboBoxOptionsProps>;
|
|
4
|
+
export default ComboBoxOptions;
|
package/lib/ComboBoxOptions.js
CHANGED
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
var react_1 = __importStar(require("react"));
|
|
26
|
-
var text_1 = __importStar(require("@pixum/text"));
|
|
27
|
-
var menu_item_1 = __importDefault(require("@pixum/menu-item"));
|
|
28
|
-
var useIsDesktop_1 = require("./helper/useIsDesktop");
|
|
29
|
-
var scrollOptionToViewport_1 = require("./helper/scrollOptionToViewport");
|
|
30
|
-
var ComboBoxOptions = function (_a) {
|
|
31
|
-
var options = _a.options, selectedOption = _a.selectedOption, onClick = _a.onClick;
|
|
32
|
-
var isDesktop = (0, useIsDesktop_1.useIsDesktop)();
|
|
33
|
-
var handleOnItemClick = function (value) {
|
|
34
|
-
if (value && onClick) {
|
|
35
|
-
onClick(value);
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var handleOnKeyDown = function (e, value) {
|
|
39
|
-
if (e.key === 'Enter') {
|
|
40
|
-
handleOnItemClick(value);
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
(0, react_1.useEffect)(function () {
|
|
44
|
-
(0, scrollOptionToViewport_1.scrollOptionToViewport)(isDesktop);
|
|
45
|
-
}, [isDesktop]);
|
|
46
|
-
return (react_1.default.createElement(react_1.default.Fragment, null, Object.entries(options).map(function (_a) {
|
|
47
|
-
var _b;
|
|
48
|
-
var group = _a[0], items = _a[1];
|
|
49
|
-
return (react_1.default.createElement(react_1.default.Fragment, null, isNaN(Number(group)) ? (react_1.default.createElement("div", { className: "combobox--options-group", key: "combobox--options-group-" + group },
|
|
50
|
-
react_1.default.createElement(text_1.default, { variant: text_1.TextVariant.HEADLINE, className: "sticky-header" }, group),
|
|
51
|
-
items.map(function (item, index) {
|
|
52
|
-
var _a;
|
|
53
|
-
return (react_1.default.createElement(menu_item_1.default, { key: "combobox-item-" + group + "-" + index, tabIndex: 0, className: selectedOption === item.text ? 'selected' : '', onClick: function () { return handleOnItemClick(item.text); }, onKeyDown: function (e) { return handleOnKeyDown(e, item.text); }, text: item.text, subtext: item.subtext, subItemProps: {
|
|
54
|
-
text: (_a = item.subItemProps) === null || _a === void 0 ? void 0 : _a.text,
|
|
55
|
-
} }));
|
|
56
|
-
})))
|
|
57
|
-
:
|
|
58
|
-
react_1.default.createElement(react_1.default.Fragment, null,
|
|
59
|
-
react_1.default.createElement(menu_item_1.default, { key: "combobox-item-" + items.text, className: selectedOption === items.text ? 'selected' : '', onClick: function () { return handleOnItemClick(items.text); }, text: items.text, tabIndex: 0, subtext: items.subtext, subItemProps: {
|
|
60
|
-
text: (_b = items.subItemProps) === null || _b === void 0 ? void 0 : _b.text,
|
|
61
|
-
} }))));
|
|
62
|
-
})));
|
|
63
|
-
};
|
|
64
|
-
exports.default = ComboBoxOptions;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
var react_1 = __importStar(require("react"));
|
|
26
|
+
var text_1 = __importStar(require("@pixum/text"));
|
|
27
|
+
var menu_item_1 = __importDefault(require("@pixum/menu-item"));
|
|
28
|
+
var useIsDesktop_1 = require("./helper/useIsDesktop");
|
|
29
|
+
var scrollOptionToViewport_1 = require("./helper/scrollOptionToViewport");
|
|
30
|
+
var ComboBoxOptions = function (_a) {
|
|
31
|
+
var options = _a.options, selectedOption = _a.selectedOption, onClick = _a.onClick;
|
|
32
|
+
var isDesktop = (0, useIsDesktop_1.useIsDesktop)();
|
|
33
|
+
var handleOnItemClick = function (value) {
|
|
34
|
+
if (value && onClick) {
|
|
35
|
+
onClick(value);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var handleOnKeyDown = function (e, value) {
|
|
39
|
+
if (e.key === 'Enter') {
|
|
40
|
+
handleOnItemClick(value);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
(0, react_1.useEffect)(function () {
|
|
44
|
+
(0, scrollOptionToViewport_1.scrollOptionToViewport)(isDesktop);
|
|
45
|
+
}, [isDesktop]);
|
|
46
|
+
return (react_1.default.createElement(react_1.default.Fragment, null, Object.entries(options).map(function (_a) {
|
|
47
|
+
var _b;
|
|
48
|
+
var group = _a[0], items = _a[1];
|
|
49
|
+
return (react_1.default.createElement(react_1.default.Fragment, null, isNaN(Number(group)) ? (react_1.default.createElement("div", { className: "combobox--options-group", key: "combobox--options-group-" + group },
|
|
50
|
+
react_1.default.createElement(text_1.default, { variant: text_1.TextVariant.HEADLINE, className: "sticky-header" }, group),
|
|
51
|
+
items.map(function (item, index) {
|
|
52
|
+
var _a;
|
|
53
|
+
return (react_1.default.createElement(menu_item_1.default, { key: "combobox-item-" + group + "-" + index, tabIndex: 0, className: selectedOption === item.text ? 'selected' : '', onClick: function () { return handleOnItemClick(item.text); }, onKeyDown: function (e) { return handleOnKeyDown(e, item.text); }, text: item.text, subtext: item.subtext, subItemProps: {
|
|
54
|
+
text: (_a = item.subItemProps) === null || _a === void 0 ? void 0 : _a.text,
|
|
55
|
+
} }));
|
|
56
|
+
})))
|
|
57
|
+
:
|
|
58
|
+
react_1.default.createElement(react_1.default.Fragment, null,
|
|
59
|
+
react_1.default.createElement(menu_item_1.default, { key: "combobox-item-" + items.text, className: selectedOption === items.text ? 'selected' : '', onClick: function () { return handleOnItemClick(items.text); }, text: items.text, tabIndex: 0, subtext: items.subtext, subItemProps: {
|
|
60
|
+
text: (_b = items.subItemProps) === null || _b === void 0 ? void 0 : _b.text,
|
|
61
|
+
} }))));
|
|
62
|
+
})));
|
|
63
|
+
};
|
|
64
|
+
exports.default = ComboBoxOptions;
|
|
65
65
|
//# sourceMappingURL=ComboBoxOptions.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LeadingType } from '@pixum/menu-item';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { ComboBoxOptionProps } from '../types';
|
|
4
|
+
interface OptionsProps {
|
|
5
|
+
items: ComboBoxOptionProps[];
|
|
6
|
+
selectedOption?: string;
|
|
7
|
+
onClick: (value?: string) => void;
|
|
8
|
+
onKeyDown: (e: React.KeyboardEvent, value?: string) => void;
|
|
9
|
+
leadingType?: LeadingType;
|
|
10
|
+
}
|
|
11
|
+
declare const Options: React.FC<OptionsProps>;
|
|
12
|
+
export default Options;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var menu_item_1 = __importDefault(require("@pixum/menu-item"));
|
|
7
|
+
var clsx_1 = __importDefault(require("clsx"));
|
|
8
|
+
var react_1 = __importDefault(require("react"));
|
|
9
|
+
var Options = function (_a) {
|
|
10
|
+
var items = _a.items, selectedOption = _a.selectedOption, onClick = _a.onClick, onKeyDown = _a.onKeyDown, leadingType = _a.leadingType;
|
|
11
|
+
return (react_1.default.createElement(react_1.default.Fragment, null, items.map(function (item, index) {
|
|
12
|
+
var _a;
|
|
13
|
+
return (react_1.default.createElement(menu_item_1.default, { key: "combobox-item-" + item.text, tabIndex: index, className: (0, clsx_1.default)(selectedOption === item.text && 'selected'), onClick: function () { return onClick(item.text); }, onKeyDown: function (e) { return onKeyDown(e, item.text); }, leadingProps: leadingType
|
|
14
|
+
? {
|
|
15
|
+
name: item.text,
|
|
16
|
+
type: leadingType,
|
|
17
|
+
}
|
|
18
|
+
: undefined, selected: selectedOption === item.text, text: item.text, subtext: item.subtext, subItemProps: {
|
|
19
|
+
text: (_a = item.subItemProps) === null || _a === void 0 ? void 0 : _a.text,
|
|
20
|
+
} }));
|
|
21
|
+
})));
|
|
22
|
+
};
|
|
23
|
+
exports.default = Options;
|
|
24
|
+
//# sourceMappingURL=Options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Options.js","sourceRoot":"","sources":["../../src/ComboboxOptions/Options.tsx"],"names":[],"mappings":";;;;;AAAA,+DAAuE;AACvE,8CAAuB;AACvB,gDAAyB;AAWzB,IAAM,OAAO,GAA2B,UAAC,EAMxC;QALC,KAAK,WAAA,EACL,cAAc,oBAAA,EACd,OAAO,aAAA,EACP,SAAS,eAAA,EACT,WAAW,iBAAA;IACP,OAAA,CACJ,8DACG,KAAK,CAAC,GAAG,CAAC,UAAC,IAAmB,EAAE,KAAa;;QAAK,OAAA,CACjD,8BAAC,mBAAQ,IACP,GAAG,EAAE,mBAAiB,IAAI,CAAC,IAAM,EACjC,QAAQ,EAAE,KAAK,EACf,SAAS,EAAE,IAAA,cAAI,EAAC,cAAc,KAAK,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,EAC3D,OAAO,EAAE,cAAM,OAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACjC,SAAS,EAAE,UAAA,CAAC,IAAI,OAAA,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAvB,CAAuB,EACvC,YAAY,EACV,WAAW;gBACT,CAAC,CAAC;oBACE,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,WAAW;iBAClB;gBACH,CAAC,CAAC,SAAS,EAEf,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC,IAAI,EACtC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAE;gBACZ,IAAI,EAAE,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI;aAC9B,GACD,CACH,CAAA;KAAA,CAAC,CACD,CACJ;AA1BK,CA0BL,CAAA;AAED,kBAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { LeadingType } from '@pixum/menu-item';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { ComboBoxOptionProps } from '../types';
|
|
4
|
+
interface OptionsGroupProps {
|
|
5
|
+
group: string;
|
|
6
|
+
items: ComboBoxOptionProps[];
|
|
7
|
+
selectedOption?: string;
|
|
8
|
+
onClick: (value?: string) => void;
|
|
9
|
+
onKeyDown: (e: React.KeyboardEvent, value?: string) => void;
|
|
10
|
+
leadingType?: LeadingType;
|
|
11
|
+
}
|
|
12
|
+
declare const OptionsGroup: React.FC<OptionsGroupProps>;
|
|
13
|
+
export default OptionsGroup;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
var text_1 = __importStar(require("@pixum/text"));
|
|
26
|
+
var react_1 = __importDefault(require("react"));
|
|
27
|
+
var Options_1 = __importDefault(require("./Options"));
|
|
28
|
+
var OptionsGroup = function (_a) {
|
|
29
|
+
var group = _a.group, items = _a.items, selectedOption = _a.selectedOption, onClick = _a.onClick, onKeyDown = _a.onKeyDown, leadingType = _a.leadingType;
|
|
30
|
+
return (react_1.default.createElement("div", { className: "combobox__options-group", key: "combobox__options-group-" + group },
|
|
31
|
+
react_1.default.createElement(text_1.default, { variant: text_1.TextVariant.HEADLINE, className: "combobox__sticky-header" }, group),
|
|
32
|
+
react_1.default.createElement(Options_1.default, { items: items, selectedOption: selectedOption, onClick: onClick, onKeyDown: onKeyDown, leadingType: leadingType })));
|
|
33
|
+
};
|
|
34
|
+
exports.default = OptionsGroup;
|
|
35
|
+
//# sourceMappingURL=OptionsGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptionsGroup.js","sourceRoot":"","sources":["../../src/ComboboxOptions/OptionsGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA+C;AAC/C,gDAAyB;AACzB,sDAA+B;AAY/B,IAAM,YAAY,GAAgC,UAAC,EAOlD;QANC,KAAK,WAAA,EACL,KAAK,WAAA,EACL,cAAc,oBAAA,EACd,OAAO,aAAA,EACP,SAAS,eAAA,EACT,WAAW,iBAAA;IACP,OAAA,CACJ,uCACE,SAAS,EAAC,yBAAyB,EACnC,GAAG,EAAE,6BAA2B,KAAO;QAEvC,8BAAC,cAAI,IAAC,OAAO,EAAE,kBAAW,CAAC,QAAQ,EAAE,SAAS,EAAC,yBAAyB,IACrE,KAAK,CACD;QACP,8BAAC,iBAAO,IACN,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,GACxB,CACE,CACP;AAhBK,CAgBL,CAAA;AAED,kBAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
var react_1 = __importStar(require("react"));
|
|
26
|
+
var menu_1 = __importDefault(require("@pixum/menu"));
|
|
27
|
+
var useIsDesktop_1 = require("../helper/useIsDesktop");
|
|
28
|
+
var scrollOptionToViewport_1 = require("../helper/scrollOptionToViewport");
|
|
29
|
+
var OptionsGroup_1 = __importDefault(require("./OptionsGroup"));
|
|
30
|
+
var Options_1 = __importDefault(require("./Options"));
|
|
31
|
+
var ComboBoxOptions = function (_a) {
|
|
32
|
+
var options = _a.options, selectedOption = _a.selectedOption, onClick = _a.onClick, leadingType = _a.leadingType, optionDetails = _a.optionDetails, _b = _a.withSearch, withSearch = _b === void 0 ? true : _b;
|
|
33
|
+
var isDesktop = (0, useIsDesktop_1.useIsDesktop)();
|
|
34
|
+
var handleOnItemClick = function (value) {
|
|
35
|
+
value && (onClick === null || onClick === void 0 ? void 0 : onClick(value));
|
|
36
|
+
};
|
|
37
|
+
var handleOnKeyDown = function (e, value) {
|
|
38
|
+
if (e.key === 'Enter') {
|
|
39
|
+
handleOnItemClick(value);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
(0, react_1.useEffect)(function () {
|
|
43
|
+
(0, scrollOptionToViewport_1.scrollOptionToViewport)(isDesktop);
|
|
44
|
+
}, [isDesktop]);
|
|
45
|
+
return (react_1.default.createElement(menu_1.default, { className: "combobox__options" },
|
|
46
|
+
Array.isArray(options) ? (react_1.default.createElement(Options_1.default, { items: options, selectedOption: selectedOption, onClick: handleOnItemClick, onKeyDown: handleOnKeyDown, leadingType: leadingType })) : (react_1.default.createElement(react_1.default.Fragment, null, Object.entries(options).map(function (_a) {
|
|
47
|
+
var group = _a[0], items = _a[1];
|
|
48
|
+
return (react_1.default.createElement(OptionsGroup_1.default, { group: group, items: items, selectedOption: selectedOption, onClick: handleOnItemClick, onKeyDown: handleOnKeyDown, leadingType: leadingType }));
|
|
49
|
+
}))),
|
|
50
|
+
optionDetails && (react_1.default.createElement("div", { className: "combobox__option-details" }, optionDetails))));
|
|
51
|
+
};
|
|
52
|
+
exports.default = ComboBoxOptions;
|
|
53
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ComboboxOptions/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAwC;AACxC,qDAA8B;AAG9B,uDAAqD;AACrD,2EAAyE;AACzE,gEAAyC;AACzC,sDAA+B;AAE/B,IAAM,eAAe,GAAmC,UAAC,EAOxD;QANC,OAAO,aAAA,EACP,cAAc,oBAAA,EACd,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,aAAa,mBAAA,EACb,kBAAiB,EAAjB,UAAU,mBAAG,IAAI,KAAA;IAEjB,IAAM,SAAS,GAAG,IAAA,2BAAY,GAAE,CAAA;IAEhC,IAAM,iBAAiB,GAAG,UAAC,KAAc;QACvC,KAAK,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,CAAC,CAAA,CAAA;IAC3B,CAAC,CAAA;IAED,IAAM,eAAe,GAAG,UAAC,CAAsB,EAAE,KAAc;QAC7D,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;YACrB,iBAAiB,CAAC,KAAK,CAAC,CAAA;SACzB;IACH,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC;QACR,IAAA,+CAAsB,EAAC,SAAS,CAAC,CAAA;IACnC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEf,OAAO,CACL,8BAAC,cAAI,IAAC,SAAS,EAAC,mBAAmB;QAChC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACxB,8BAAC,iBAAO,IACN,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,WAAW,GACxB,CACH,CAAC,CAAC,CAAC,CACF,8DACG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAC,EAAc;gBAAb,KAAK,QAAA,EAAE,KAAK,QAAA;YAAM,OAAA,CAC/C,8BAAC,sBAAY,IACX,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,WAAW,GACxB,CACH;QATgD,CAShD,CAAC,CACD,CACJ;QACA,aAAa,IAAI,CAChB,uCAAK,SAAS,EAAC,0BAA0B,IAAE,aAAa,CAAO,CAChE,CACI,CACR,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,eAAe,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const calculateListMaxHeight: () => number;
|
|
1
|
+
export declare const calculateListMaxHeight: () => number;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.calculateListMaxHeight = void 0;
|
|
4
|
-
var calculateListMaxHeight = function () {
|
|
5
|
-
var windowHeight = window.innerHeight;
|
|
6
|
-
var headerHeight = 50;
|
|
7
|
-
var inputFieldHeight = 35;
|
|
8
|
-
var maxListHeight = windowHeight - headerHeight - inputFieldHeight;
|
|
9
|
-
return maxListHeight;
|
|
10
|
-
};
|
|
11
|
-
exports.calculateListMaxHeight = calculateListMaxHeight;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calculateListMaxHeight = void 0;
|
|
4
|
+
var calculateListMaxHeight = function () {
|
|
5
|
+
var windowHeight = window.innerHeight;
|
|
6
|
+
var headerHeight = 50;
|
|
7
|
+
var inputFieldHeight = 35;
|
|
8
|
+
var maxListHeight = windowHeight - headerHeight - inputFieldHeight;
|
|
9
|
+
return maxListHeight;
|
|
10
|
+
};
|
|
11
|
+
exports.calculateListMaxHeight = calculateListMaxHeight;
|
|
12
12
|
//# sourceMappingURL=calculateListMaxHeight.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const scrollOptionToViewport: (isDesktop: boolean) => void;
|
|
1
|
+
export declare const scrollOptionToViewport: (isDesktop: boolean) => void;
|