@semcore/select 4.46.1 → 4.47.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 +7 -0
- package/lib/cjs/InputSearch.js +12 -13
- package/lib/cjs/InputSearch.js.map +1 -1
- package/lib/cjs/Select.js +149 -119
- package/lib/cjs/Select.js.map +1 -1
- package/lib/cjs/index.d.js.map +1 -1
- package/lib/cjs/style/input-search.shadow.css +5 -1
- package/lib/cjs/style/select.shadow.css +1 -1
- package/lib/cjs/translations/en.json +1 -3
- package/lib/es6/InputSearch.js +12 -13
- package/lib/es6/InputSearch.js.map +1 -1
- package/lib/es6/Select.js +142 -112
- package/lib/es6/Select.js.map +1 -1
- package/lib/es6/index.d.js.map +1 -1
- package/lib/es6/style/input-search.shadow.css +5 -1
- package/lib/es6/style/select.shadow.css +1 -1
- package/lib/es6/translations/en.json +1 -3
- package/lib/types/index.d.ts +16 -2
- package/package.json +12 -10
package/lib/es6/Select.js
CHANGED
|
@@ -5,6 +5,8 @@ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
|
5
5
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
6
6
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
7
7
|
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
8
|
+
import _get from "@babel/runtime/helpers/get";
|
|
9
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
8
10
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
9
11
|
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
10
12
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
@@ -17,8 +19,9 @@ import { assignProps as _assignProps } from "@semcore/core";
|
|
|
17
19
|
var _excluded = ["Children", "options", "multiselect", "value", "uid", "forcedAdvancedMode"];
|
|
18
20
|
import React from 'react';
|
|
19
21
|
import cn from 'classnames';
|
|
20
|
-
import createComponent, {
|
|
21
|
-
import
|
|
22
|
+
import createComponent, { Root, sstyled } from '@semcore/core';
|
|
23
|
+
import DropdownMenu from '@semcore/dropdown-menu';
|
|
24
|
+
import Dropdown, { AbstractDropdown, enhance, selectedIndexContext } from '@semcore/dropdown';
|
|
22
25
|
import { ButtonTrigger } from '@semcore/base-trigger';
|
|
23
26
|
import Divider from '@semcore/divider';
|
|
24
27
|
import findComponent from '@semcore/utils/lib/findComponent';
|
|
@@ -28,21 +31,20 @@ import addonTextChildren from '@semcore/utils/lib/addonTextChildren';
|
|
|
28
31
|
import InputSearch from './InputSearch';
|
|
29
32
|
import { useBox } from '@semcore/flex-box';
|
|
30
33
|
import { selectContext } from './context';
|
|
31
|
-
import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
32
|
-
import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
|
|
33
34
|
import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
|
|
34
35
|
import { isInputTriggerTag } from '@semcore/popper';
|
|
35
|
-
import { Flex } from '@semcore/flex-box';
|
|
36
36
|
/*__reshadow-styles__:"./style/select.shadow.css"*/
|
|
37
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
38
|
-
"__SOptionCheckbox": "
|
|
39
|
-
"_selected": "
|
|
40
|
-
"_size_l": "
|
|
41
|
-
"_indeterminate": "
|
|
42
|
-
"_theme": "
|
|
43
|
-
"--theme": "--
|
|
44
|
-
"_size_m": "
|
|
37
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SOptionCheckbox_jpeh3_gg_{margin-top:var(--intergalactic-spacing-05x, 2px);margin-right:var(--intergalactic-spacing-2x, 8px);margin-bottom:auto;position:relative;flex-shrink:0;width:16px;height:16px}.___SOptionCheckbox_jpeh3_gg_::before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--intergalactic-bg-primary-neutral, #ffffff);border:1px solid;border-radius:var(--intergalactic-addon-rounded, 4px);border-color:var(--intergalactic-border-primary, #c4c7cf)}.___SOptionCheckbox_jpeh3_gg_::after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;margin:0 var(--intergalactic-spacing-05x, 2px);background-repeat:no-repeat;background-position:center center}.___SOptionCheckbox_jpeh3_gg_.__selected_jpeh3_gg_::after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEwIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik04LjI1IDFMNCA1LjI1TDEuNzUgMyIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_jpeh3_gg_._size_l_jpeh3_gg_{width:20px;height:20px}.___SOptionCheckbox_jpeh3_gg_._size_l_jpeh3_gg_.__selected_jpeh3_gg_::after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDEyIDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMSAxLjVMNC43NSA3Ljc1TDEgNCIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_jpeh3_gg_.__indeterminate_jpeh3_gg_:before,.___SOptionCheckbox_jpeh3_gg_.__selected_jpeh3_gg_:before{background-color:var(--intergalactic-control-primary-info, #008ff8);border-color:var(--intergalactic-control-primary-info, #008ff8)}.___SOptionCheckbox_jpeh3_gg_.__theme_jpeh3_gg_:before{border-color:var(--theme_jpeh3)}.___SOptionCheckbox_jpeh3_gg_.__theme_jpeh3_gg_.__indeterminate_jpeh3_gg_:before,.___SOptionCheckbox_jpeh3_gg_.__theme_jpeh3_gg_.__selected_jpeh3_gg_:before{background-color:var(--theme_jpeh3);border-color:var(--theme_jpeh3)}.___SOptionCheckbox_jpeh3_gg_.__selected_jpeh3_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7))}@media (hover:hover){.___SOptionCheckbox_jpeh3_gg_.__selected_jpeh3_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}.___SOptionCheckbox_jpeh3_gg_.__indeterminate_jpeh3_gg_:after{background-color:#fff;background-image:none;margin:auto;border-radius:1px}.___SOptionCheckbox_jpeh3_gg_.__indeterminate_jpeh3_gg_._size_l_jpeh3_gg_:after{width:12px;height:2px}.___SOptionCheckbox_jpeh3_gg_.__indeterminate_jpeh3_gg_._size_m_jpeh3_gg_:after{width:8px;height:2px}" /*__inner_css_end__*/, "jpeh3_gg_") /*__reshadow_css_end__*/, {
|
|
38
|
+
"__SOptionCheckbox": "___SOptionCheckbox_jpeh3_gg_",
|
|
39
|
+
"_selected": "__selected_jpeh3_gg_",
|
|
40
|
+
"_size_l": "_size_l_jpeh3_gg_",
|
|
41
|
+
"_indeterminate": "__indeterminate_jpeh3_gg_",
|
|
42
|
+
"_theme": "__theme_jpeh3_gg_",
|
|
43
|
+
"--theme": "--theme_jpeh3",
|
|
44
|
+
"_size_m": "_size_m_jpeh3_gg_"
|
|
45
45
|
});
|
|
46
|
+
import { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
|
|
47
|
+
import { isAdvanceMode } from '@semcore/utils/lib/findComponent';
|
|
46
48
|
function isSelectedOption(value, valueOption) {
|
|
47
49
|
return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;
|
|
48
50
|
}
|
|
@@ -52,16 +54,8 @@ function isEmptyValue(value) {
|
|
|
52
54
|
function getEmptyValue(multiselect) {
|
|
53
55
|
return multiselect ? [] : null;
|
|
54
56
|
}
|
|
55
|
-
var
|
|
56
|
-
|
|
57
|
-
if (!node.scrollIntoView) return;
|
|
58
|
-
node.scrollIntoView({
|
|
59
|
-
block: 'nearest',
|
|
60
|
-
inline: 'nearest'
|
|
61
|
-
});
|
|
62
|
-
};
|
|
63
|
-
var RootSelect = /*#__PURE__*/function (_Component) {
|
|
64
|
-
_inherits(RootSelect, _Component);
|
|
57
|
+
var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
58
|
+
_inherits(RootSelect, _AbstractDropdown);
|
|
65
59
|
var _super = _createSuper(RootSelect);
|
|
66
60
|
function RootSelect() {
|
|
67
61
|
var _this;
|
|
@@ -70,30 +64,13 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
70
64
|
args[_key] = arguments[_key];
|
|
71
65
|
}
|
|
72
66
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
73
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
74
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
75
|
-
_defineProperty(_assertThisInitialized(_this), "isScrolledToFirstOption", false);
|
|
76
|
-
_defineProperty(_assertThisInitialized(_this), "lastHandleOptionNodeCall", -1);
|
|
77
|
-
_defineProperty(_assertThisInitialized(_this), "handleOptionNode", function (node) {
|
|
78
|
-
if (!_this.asProps.scrollToSelected) return;
|
|
79
|
-
if (Date.now() - _this.lastHandleOptionNodeCall < 30) return;
|
|
80
|
-
_this.lastHandleOptionNodeCall = Date.now();
|
|
81
|
-
setTimeout(function () {
|
|
82
|
-
// in most cases 10ms timeout works perfectly and scrolls before user can see it
|
|
83
|
-
if (_this.asProps.visible) scrollToNode(node);
|
|
84
|
-
}, 10);
|
|
85
|
-
setTimeout(function () {
|
|
86
|
-
// in rare cases 10ms timeout it not enough so 30ms timeout saves the day
|
|
87
|
-
if (_this.asProps.visible) scrollToNode(node);
|
|
88
|
-
}, 30);
|
|
89
|
-
});
|
|
90
|
-
_defineProperty(_assertThisInitialized(_this), "bindHandlerOptionClick", function (optionValue) {
|
|
67
|
+
_defineProperty(_assertThisInitialized(_this), "role", 'listbox');
|
|
68
|
+
_defineProperty(_assertThisInitialized(_this), "bindHandlerOptionClick", function (optionValue, index) {
|
|
91
69
|
return function (e) {
|
|
92
70
|
var newValue = optionValue;
|
|
93
71
|
var _this$asProps = _this.asProps,
|
|
94
72
|
value = _this$asProps.value,
|
|
95
|
-
multiselect = _this$asProps.multiselect
|
|
96
|
-
interaction = _this$asProps.interaction;
|
|
73
|
+
multiselect = _this$asProps.multiselect;
|
|
97
74
|
if (Array.isArray(value)) {
|
|
98
75
|
if (value.includes(optionValue)) {
|
|
99
76
|
newValue = value.filter(function (v) {
|
|
@@ -106,6 +83,7 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
106
83
|
_this.handlers.value(newValue, e);
|
|
107
84
|
if (!multiselect) {
|
|
108
85
|
_this.handlers.visible(false);
|
|
86
|
+
e.preventDefault();
|
|
109
87
|
}
|
|
110
88
|
};
|
|
111
89
|
});
|
|
@@ -118,18 +96,47 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
118
96
|
return _this;
|
|
119
97
|
}
|
|
120
98
|
_createClass(RootSelect, [{
|
|
99
|
+
key: "itemRef",
|
|
100
|
+
value: function itemRef(props, index, node) {
|
|
101
|
+
_get(_getPrototypeOf(RootSelect.prototype), "itemRef", this).call(this, props, index, node);
|
|
102
|
+
var highlightedIndex = this.asProps.highlightedIndex;
|
|
103
|
+
var isHighlighted = index === highlightedIndex;
|
|
104
|
+
if (isHighlighted) {
|
|
105
|
+
this.scrollToNode(node);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}, {
|
|
121
109
|
key: "uncontrolledProps",
|
|
122
110
|
value: function uncontrolledProps() {
|
|
123
|
-
|
|
124
|
-
|
|
111
|
+
var _this2 = this;
|
|
112
|
+
return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(RootSelect.prototype), "uncontrolledProps", this).call(this)), {}, {
|
|
113
|
+
visible: [null, function (visible) {
|
|
114
|
+
if (visible === true) {
|
|
115
|
+
setTimeout(function () {
|
|
116
|
+
var _this2$menuRef$curren, _this2$menuRef$curren2;
|
|
117
|
+
var options = (_this2$menuRef$curren = _this2.menuRef.current) === null || _this2$menuRef$curren === void 0 ? void 0 : _this2$menuRef$curren.querySelectorAll('[role="option"]');
|
|
118
|
+
var selected = (_this2$menuRef$curren2 = _this2.menuRef.current) === null || _this2$menuRef$curren2 === void 0 ? void 0 : _this2$menuRef$curren2.querySelector('[aria-selected="true"]');
|
|
119
|
+
if (selected && options) {
|
|
120
|
+
_this2.scrollToNode(selected);
|
|
121
|
+
for (var i = 0; i < options.length; i++) {
|
|
122
|
+
if (options[i] === selected) {
|
|
123
|
+
_this2.handlers.highlightedIndex(i);
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)
|
|
129
|
+
// and that's why its skip scrollToNodes. We selected the appropriate timeout manually.
|
|
130
|
+
}, 30);
|
|
131
|
+
}
|
|
132
|
+
}],
|
|
125
133
|
value: null
|
|
126
|
-
};
|
|
134
|
+
});
|
|
127
135
|
}
|
|
128
136
|
}, {
|
|
129
137
|
key: "getTriggerProps",
|
|
130
138
|
value: function getTriggerProps() {
|
|
131
139
|
var _this$asProps2 = this.asProps,
|
|
132
|
-
size = _this$asProps2.size,
|
|
133
140
|
disabled = _this$asProps2.disabled,
|
|
134
141
|
visible = _this$asProps2.visible,
|
|
135
142
|
state = _this$asProps2.state,
|
|
@@ -139,18 +146,20 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
139
146
|
forwardRef = _this$asProps2.forwardRef,
|
|
140
147
|
name = _this$asProps2.name,
|
|
141
148
|
multiselect = _this$asProps2.multiselect,
|
|
149
|
+
getI18nText = _this$asProps2.getI18nText,
|
|
150
|
+
highlightedIndex = _this$asProps2.highlightedIndex,
|
|
142
151
|
uid = _this$asProps2.uid,
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
'aria-
|
|
150
|
-
'aria-
|
|
152
|
+
Children = _this$asProps2.Children,
|
|
153
|
+
hasChildren = _this$asProps2.children;
|
|
154
|
+
var isMenu = isAdvanceMode(Children, [Select.Menu.displayName], true) || !hasChildren;
|
|
155
|
+
var ariaControls = isMenu ? "igc-".concat(uid, "-list") : "igc-".concat(uid, "-popper");
|
|
156
|
+
return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(RootSelect.prototype), "getTriggerProps", this).call(this)), {}, {
|
|
157
|
+
onKeyDown: callAllEventHandlers(this.handlePreventCommonKeyDown.bind(this), this.handleOpenKeyDown.bind(this), this.handleArrowKeyDown.bind(this)),
|
|
158
|
+
'aria-controls': visible ? ariaControls : undefined,
|
|
159
|
+
'aria-haspopup': isMenu ? 'listbox' : 'dialog',
|
|
151
160
|
'aria-disabled': disabled ? 'true' : 'false',
|
|
161
|
+
'aria-activedescendant': visible && highlightedIndex !== null ? "igc-".concat(uid, "-option-").concat(highlightedIndex) : undefined,
|
|
152
162
|
empty: isEmptyValue(value),
|
|
153
|
-
size: size,
|
|
154
163
|
value: value,
|
|
155
164
|
name: name,
|
|
156
165
|
$hiddenRef: forwardRef,
|
|
@@ -161,60 +170,56 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
161
170
|
active: visible,
|
|
162
171
|
onClear: this.handlerClear,
|
|
163
172
|
children: this.renderChildrenTrigger(value, options),
|
|
164
|
-
getI18nText: getI18nText
|
|
165
|
-
|
|
166
|
-
};
|
|
173
|
+
getI18nText: getI18nText
|
|
174
|
+
});
|
|
167
175
|
}
|
|
168
176
|
}, {
|
|
169
177
|
key: "getListProps",
|
|
170
178
|
value: function getListProps() {
|
|
171
|
-
var
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
'aria-multiselectable': multiselect ? 'true' : undefined,
|
|
176
|
-
id: "igc-".concat(uid, "-list"),
|
|
177
|
-
role: 'listbox',
|
|
178
|
-
'aria-label': 'List of options'
|
|
179
|
-
};
|
|
179
|
+
var multiselect = this.asProps.multiselect;
|
|
180
|
+
return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(RootSelect.prototype), "getListProps", this).call(this)), {}, {
|
|
181
|
+
'aria-multiselectable': multiselect ? 'true' : undefined
|
|
182
|
+
});
|
|
180
183
|
}
|
|
181
184
|
}, {
|
|
182
|
-
key: "
|
|
183
|
-
value: function
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
multiselect = _this$asProps4.multiselect;
|
|
188
|
-
return {
|
|
189
|
-
'aria-multiselectable': multiselect ? 'true' : undefined,
|
|
190
|
-
id: "igc-".concat(uid, "-list"),
|
|
191
|
-
role: 'listbox',
|
|
192
|
-
'aria-label': getI18nText('optionsList')
|
|
193
|
-
};
|
|
185
|
+
key: "getPopperProps",
|
|
186
|
+
value: function getPopperProps() {
|
|
187
|
+
return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(RootSelect.prototype), "getPopperProps", this).call(this)), {}, {
|
|
188
|
+
onKeyDown: callAllEventHandlers(this.handlePreventCommonKeyDown.bind(this), this.handlePreventPopperKeyDown.bind(this), this.handleArrowKeyDown.bind(this))
|
|
189
|
+
});
|
|
194
190
|
}
|
|
195
191
|
}, {
|
|
196
192
|
key: "getOptionProps",
|
|
197
|
-
value: function getOptionProps(props) {
|
|
198
|
-
var
|
|
199
|
-
|
|
200
|
-
var
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
193
|
+
value: function getOptionProps(props, index) {
|
|
194
|
+
var _props$selected,
|
|
195
|
+
_this3 = this;
|
|
196
|
+
var _this$asProps3 = this.asProps,
|
|
197
|
+
value = _this$asProps3.value,
|
|
198
|
+
highlightedIndex = _this$asProps3.highlightedIndex,
|
|
199
|
+
focusSourceRef = _this$asProps3.focusSourceRef,
|
|
200
|
+
_this$asProps3$size = _this$asProps3.size,
|
|
201
|
+
size = _this$asProps3$size === void 0 ? 'm' : _this$asProps3$size;
|
|
202
|
+
var highlighted = index === highlightedIndex && focusSourceRef.current === 'keyboard';
|
|
203
|
+
var selected = (_props$selected = props.selected) !== null && _props$selected !== void 0 ? _props$selected : isSelectedOption(value, props.value);
|
|
204
|
+
return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(RootSelect.prototype), "getItemProps", this).call(this, props, index)), {}, {
|
|
205
|
+
highlighted: highlighted,
|
|
205
206
|
selected: selected,
|
|
206
207
|
'aria-selected': selected ? 'true' : 'false',
|
|
207
208
|
'aria-disabled': props.disabled ? 'true' : 'false',
|
|
208
209
|
role: 'option',
|
|
209
|
-
onClick: this.bindHandlerOptionClick(props.value)
|
|
210
|
-
|
|
210
|
+
onClick: this.bindHandlerOptionClick(props.value, index),
|
|
211
|
+
ref: function ref(node) {
|
|
212
|
+
return _this3.itemRef(props, index, node);
|
|
213
|
+
},
|
|
214
|
+
size: size
|
|
215
|
+
});
|
|
211
216
|
}
|
|
212
217
|
}, {
|
|
213
218
|
key: "getOptionCheckboxProps",
|
|
214
219
|
value: function getOptionCheckboxProps() {
|
|
215
|
-
var _this$
|
|
216
|
-
size = _this$
|
|
217
|
-
resolveColor = _this$
|
|
220
|
+
var _this$asProps4 = this.asProps,
|
|
221
|
+
size = _this$asProps4.size,
|
|
222
|
+
resolveColor = _this$asProps4.resolveColor;
|
|
218
223
|
return {
|
|
219
224
|
size: size,
|
|
220
225
|
resolveColor: resolveColor
|
|
@@ -228,6 +233,17 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
228
233
|
'aria-disabled': 'true'
|
|
229
234
|
};
|
|
230
235
|
}
|
|
236
|
+
}, {
|
|
237
|
+
key: "handleOpenKeyDown",
|
|
238
|
+
value: function handleOpenKeyDown(e) {
|
|
239
|
+
_get(_getPrototypeOf(RootSelect.prototype), "handleOpenKeyDown", this).call(this, e);
|
|
240
|
+
if (this.asProps.visible !== true && ['ArrowDown', 'ArrowUp', 'Enter', ' '].includes(e.key)) {
|
|
241
|
+
var hasInputSearch = isAdvanceMode(this.asProps.Children, [Select.InputSearch.displayName], true);
|
|
242
|
+
var defaultIndex = hasInputSearch ? null : 0;
|
|
243
|
+
this.handlers.highlightedIndex(defaultIndex);
|
|
244
|
+
return false;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
231
247
|
}, {
|
|
232
248
|
key: "renderChildrenTrigger",
|
|
233
249
|
value: function renderChildrenTrigger(value, options) {
|
|
@@ -252,16 +268,17 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
252
268
|
key: "render",
|
|
253
269
|
value: function render() {
|
|
254
270
|
var _ref2 = this.asProps;
|
|
255
|
-
var _this$
|
|
256
|
-
Children = _this$
|
|
257
|
-
options = _this$
|
|
258
|
-
multiselect = _this$
|
|
259
|
-
value = _this$
|
|
260
|
-
uid = _this$
|
|
261
|
-
forcedAdvancedMode = _this$
|
|
262
|
-
other = _objectWithoutProperties(_this$
|
|
271
|
+
var _this$asProps5 = this.asProps,
|
|
272
|
+
Children = _this$asProps5.Children,
|
|
273
|
+
options = _this$asProps5.options,
|
|
274
|
+
multiselect = _this$asProps5.multiselect,
|
|
275
|
+
value = _this$asProps5.value,
|
|
276
|
+
uid = _this$asProps5.uid,
|
|
277
|
+
forcedAdvancedMode = _this$asProps5.forcedAdvancedMode,
|
|
278
|
+
other = _objectWithoutProperties(_this$asProps5, _excluded);
|
|
263
279
|
var advancedMode = forcedAdvancedMode || findComponent(Children, [Select.Trigger.displayName, Select.Popper.displayName]);
|
|
264
280
|
logger.warn(options && advancedMode, "Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'", other['data-ui-name'] || Select.displayName);
|
|
281
|
+
this.itemProps = [];
|
|
265
282
|
if (options) {
|
|
266
283
|
var _ref = this.asProps;
|
|
267
284
|
return /*#__PURE__*/React.createElement(DropdownMenu, _assignProps({}, _ref), /*#__PURE__*/React.createElement(Select.Trigger, other), /*#__PURE__*/React.createElement(Select.Menu, null, options.map(function (option, index) {
|
|
@@ -275,19 +292,27 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
275
292
|
}
|
|
276
293
|
}]);
|
|
277
294
|
return RootSelect;
|
|
278
|
-
}(
|
|
295
|
+
}(AbstractDropdown);
|
|
279
296
|
_defineProperty(RootSelect, "displayName", 'Select');
|
|
280
297
|
_defineProperty(RootSelect, "style", style);
|
|
281
|
-
_defineProperty(RootSelect, "enhance",
|
|
298
|
+
_defineProperty(RootSelect, "enhance", Object.values(enhance).concat([resolveColorEnhance()]));
|
|
282
299
|
_defineProperty(RootSelect, "defaultProps", function (props) {
|
|
300
|
+
var _props$highlightedInd, _props$selectedIndex, _props$interaction, _props$timeout;
|
|
301
|
+
var hasInputSearch = props.children && isAdvanceMode(props.children, [Select.InputSearch.displayName], true);
|
|
302
|
+
var defaultIndex = hasInputSearch ? null : 0;
|
|
283
303
|
return {
|
|
284
304
|
placeholder: props.multiselect ? 'Select options' : 'Select option',
|
|
285
305
|
size: 'm',
|
|
286
306
|
defaultValue: getEmptyValue(props.multiselect),
|
|
287
307
|
defaultVisible: false,
|
|
308
|
+
defaultHighlightedIndex: (_props$highlightedInd = props.highlightedIndex) !== null && _props$highlightedInd !== void 0 ? _props$highlightedInd : defaultIndex,
|
|
309
|
+
defaultSelectedIndex: (_props$selectedIndex = props.selectedIndex) !== null && _props$selectedIndex !== void 0 ? _props$selectedIndex : defaultIndex,
|
|
288
310
|
scrollToSelected: true,
|
|
289
311
|
i18n: localizedMessages,
|
|
290
|
-
locale: 'en'
|
|
312
|
+
locale: 'en',
|
|
313
|
+
interaction: (_props$interaction = props.interaction) !== null && _props$interaction !== void 0 ? _props$interaction : 'click',
|
|
314
|
+
inlineActions: false,
|
|
315
|
+
timeout: (_props$timeout = props.timeout) !== null && _props$timeout !== void 0 ? _props$timeout : 0
|
|
291
316
|
};
|
|
292
317
|
});
|
|
293
318
|
function Trigger(_ref8) {
|
|
@@ -302,12 +327,13 @@ function Trigger(_ref8) {
|
|
|
302
327
|
Tag = _ref8$tag === void 0 ? ButtonTrigger : _ref8$tag,
|
|
303
328
|
getI18nText = _ref8.getI18nText;
|
|
304
329
|
var hasInputTrigger = isInputTriggerTag(Tag);
|
|
305
|
-
var SSelectTrigger =
|
|
330
|
+
var SSelectTrigger = Dropdown.Trigger;
|
|
306
331
|
return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(SSelectTrigger, _ref6.cn("SSelectTrigger", _objectSpread({}, _assignProps3({
|
|
307
332
|
"tag": Tag,
|
|
308
333
|
"placeholder": getI18nText('selectPlaceholder'),
|
|
334
|
+
"role": 'combobox',
|
|
309
335
|
"aria-autocomplete": hasInputTrigger && 'list' || undefined
|
|
310
|
-
}, _ref3))), addonTextChildren(Children, Tag.Text || ButtonTrigger.Text, Tag.Addon || ButtonTrigger.Addon, true), name && /*#__PURE__*/React.createElement("input", _ref6.cn("input", {
|
|
336
|
+
}, _ref3))), addonTextChildren(Children, Tag.Text || ButtonTrigger.Text, Tag.Value || ButtonTrigger.Text, Tag.Addon || ButtonTrigger.Addon, true), name && /*#__PURE__*/React.createElement("input", _ref6.cn("input", {
|
|
311
337
|
"type": 'hidden',
|
|
312
338
|
"defaultValue": value,
|
|
313
339
|
"name": name,
|
|
@@ -318,14 +344,14 @@ var optionPropsContext = /*#__PURE__*/React.createContext({});
|
|
|
318
344
|
function Option(props) {
|
|
319
345
|
var _ref4 = arguments[0],
|
|
320
346
|
_ref7;
|
|
321
|
-
var SSelectOption =
|
|
347
|
+
var SSelectOption = Dropdown.Item;
|
|
322
348
|
var styles = props.styles,
|
|
323
349
|
Children = props.Children;
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
}, _ref4))), /*#__PURE__*/React.createElement(optionPropsContext.Provider, {
|
|
350
|
+
var hasCheckbox = isAdvanceMode(Children, [Select.Option.Checkbox.displayName]);
|
|
351
|
+
var hasContent = isAdvanceMode(Children, [Select.Option.Content.displayName]);
|
|
352
|
+
return _ref7 = sstyled(styles), /*#__PURE__*/React.createElement(SSelectOption, _ref7.cn("SSelectOption", _objectSpread({}, _assignProps4({}, _ref4))), /*#__PURE__*/React.createElement(optionPropsContext.Provider, {
|
|
327
353
|
value: props
|
|
328
|
-
}, /*#__PURE__*/React.createElement(Children, _ref7.cn("Children", {}))));
|
|
354
|
+
}, hasCheckbox && !hasContent ? /*#__PURE__*/React.createElement(Select.Option.Content, null, /*#__PURE__*/React.createElement(Children, _ref7.cn("Children", {}))) : /*#__PURE__*/React.createElement(Children, _ref7.cn("Children", {}))));
|
|
329
355
|
}
|
|
330
356
|
function Checkbox(providedProps) {
|
|
331
357
|
var optionProps = React.useContext(optionPropsContext);
|
|
@@ -369,13 +395,16 @@ var Select = createComponent(RootSelect, {
|
|
|
369
395
|
Addon: ButtonTrigger.Addon,
|
|
370
396
|
Text: ButtonTrigger.Text
|
|
371
397
|
}],
|
|
372
|
-
Popper:
|
|
398
|
+
Popper: Dropdown.Popper,
|
|
373
399
|
List: DropdownMenu.List,
|
|
374
400
|
Menu: DropdownMenu.Menu,
|
|
375
401
|
Option: [Option, {
|
|
376
402
|
Addon: DropdownMenu.Item.Addon,
|
|
403
|
+
Content: DropdownMenu.Item.Content,
|
|
404
|
+
Hint: DropdownMenu.Item.Hint,
|
|
377
405
|
Checkbox: Checkbox
|
|
378
406
|
}],
|
|
407
|
+
Group: Dropdown.Group,
|
|
379
408
|
OptionTitle: DropdownMenu.ItemTitle,
|
|
380
409
|
OptionHint: DropdownMenu.ItemHint,
|
|
381
410
|
Divider: Divider,
|
|
@@ -388,5 +417,6 @@ var Select = createComponent(RootSelect, {
|
|
|
388
417
|
export var wrapSelect = function wrapSelect(wrapper) {
|
|
389
418
|
return wrapper;
|
|
390
419
|
};
|
|
420
|
+
Select.selectedIndexContext = selectedIndexContext;
|
|
391
421
|
export default Select;
|
|
392
422
|
//# sourceMappingURL=Select.js.map
|
package/lib/es6/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["React","cn","createComponent","Component","Root","sstyled","DropdownMenuOld","DropdownMenu","ButtonTrigger","Divider","findComponent","logger","resolveColorEnhance","addonTextChildren","InputSearch","useBox","selectContext","uniqueIDEnhancement","i18nEnhance","localizedMessages","isInputTriggerTag","Flex","style","_sstyled","insert","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","scrollToNode","node","scrollIntoView","block","inline","RootSelect","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","asProps","scrollToSelected","Date","now","lastHandleOptionNodeCall","setTimeout","visible","optionValue","e","newValue","_this$asProps","interaction","filter","v","handlers","emptyValue","_createClass","key","uncontrolledProps","getTriggerProps","_this$asProps2","size","disabled","state","placeholder","options","forwardRef","name","uid","disablePortal","getI18nText","id","undefined","focusHint","empty","$hiddenRef","active","onClear","handlerClear","children","renderChildrenTrigger","ref","triggerRef","getListProps","_this$asProps3","role","getMenuProps","_this$asProps4","getOptionProps","props","selected","other","handleOptionNode","_objectSpread","onClick","bindHandlerOptionClick","getOptionCheckboxProps","_this$asProps5","resolveColor","getDividerProps","my","reduce","acc","selectedOption","find","o","push","label","render","_ref2","_this$asProps6","Children","forcedAdvancedMode","_objectWithoutProperties","_excluded","advancedMode","Select","Trigger","displayName","Popper","warn","_ref","createElement","_assignProps","Menu","map","option","index","Option","_extends","Checkbox","_assignProps2","defaultValue","defaultVisible","i18n","locale","_ref8","_ref3","arguments[0]","_ref6","styles","_ref8$tag","tag","Tag","hasInputTrigger","SSelectTrigger","_assignProps3","Text","Addon","optionPropsContext","createContext","_ref4","_ref7","SSelectOption","Item","_assignProps4","Provider","providedProps","optionProps","useContext","useMemo","_useBox","_useBox2","_slicedToArray","SOptionCheckbox","componentProps","theme","indeterminate","_styles$cn","className","tabIndex","InputSearchWrapper","_ref5","_assignProps5","List","OptionTitle","ItemTitle","OptionHint","ItemHint","_______childrenComponents","Input","parent","context","wrapSelect","wrapper"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { DropdownMenuOld as DropdownMenu } from '@semcore/dropdown-menu';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport logger from '@semcore/utils/lib/logger';\nimport resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport InputSearch from './InputSearch';\nimport { useBox } from '@semcore/flex-box';\nimport { selectContext } from './context';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { isInputTriggerTag } from '@semcore/popper';\nimport { Flex } from '@semcore/flex-box';\n\nimport style from './style/select.shadow.css';\n\nfunction isSelectedOption(value, valueOption) {\n return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;\n}\n\nfunction isEmptyValue(value) {\n return Array.isArray(value) ? value.length === 0 : value === null;\n}\n\nfunction getEmptyValue(multiselect) {\n return multiselect ? [] : null;\n}\n\nconst scrollToNode = (node) => {\n if (!node) return;\n if (!node.scrollIntoView) return;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n};\n\nclass RootSelect extends Component {\n static displayName = 'Select';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages), resolveColorEnhance()];\n\n static defaultProps = (props) => ({\n placeholder: props.multiselect ? 'Select options' : 'Select option',\n size: 'm',\n defaultValue: getEmptyValue(props.multiselect),\n defaultVisible: false,\n scrollToSelected: true,\n i18n: localizedMessages,\n locale: 'en',\n });\n\n firstSelectedOptionRef = React.createRef();\n\n triggerRef = React.createRef();\n\n isScrolledToFirstOption = false;\n\n uncontrolledProps() {\n return {\n visible: null,\n value: null,\n };\n }\n\n getTriggerProps() {\n const {\n size,\n disabled,\n visible,\n state,\n placeholder,\n value,\n options,\n forwardRef,\n name,\n multiselect,\n uid,\n disablePortal,\n getI18nText,\n } = this.asProps;\n\n return {\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-list` : undefined,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-haspopup': 'listbox',\n 'aria-expanded': visible ? 'true' : 'false',\n 'aria-disabled': disabled ? 'true' : 'false',\n empty: isEmptyValue(value),\n size,\n value,\n name,\n $hiddenRef: forwardRef,\n multiselect,\n state,\n placeholder,\n disabled,\n active: visible,\n onClear: this.handlerClear,\n children: this.renderChildrenTrigger(value, options),\n getI18nText,\n ref: this.triggerRef,\n };\n }\n\n getListProps() {\n const { multiselect, uid } = this.asProps;\n\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': 'List of options',\n };\n }\n\n getMenuProps() {\n const { uid, getI18nText, multiselect } = this.asProps;\n\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': getI18nText('optionsList'),\n };\n }\n\n getOptionProps(props) {\n const { value } = this.asProps;\n const selected = isSelectedOption(value, props.value);\n const other = {};\n\n if (selected) {\n other.ref = this.handleOptionNode;\n }\n\n return {\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n 'aria-disabled': props.disabled ? 'true' : 'false',\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value),\n ...other,\n };\n }\n\n lastHandleOptionNodeCall = -1;\n handleOptionNode = (node) => {\n if (!this.asProps.scrollToSelected) return;\n if (Date.now() - this.lastHandleOptionNodeCall < 30) return;\n this.lastHandleOptionNodeCall = Date.now();\n setTimeout(() => {\n // in most cases 10ms timeout works perfectly and scrolls before user can see it\n if (this.asProps.visible) scrollToNode(node);\n }, 10);\n setTimeout(() => {\n // in rare cases 10ms timeout it not enough so 30ms timeout saves the day\n if (this.asProps.visible) scrollToNode(node);\n }, 30);\n };\n\n getOptionCheckboxProps() {\n const { size, resolveColor } = this.asProps;\n\n return {\n size,\n resolveColor,\n };\n }\n\n getDividerProps() {\n return { my: 1, 'aria-disabled': 'true' };\n }\n\n renderChildrenTrigger(value, options) {\n if (options) {\n return [].concat(value).reduce((acc, value) => {\n const selectedOption = options.find((o) => isSelectedOption(value, o.value));\n if (!selectedOption) return acc;\n if (acc.length) acc.push(', ');\n acc.push(selectedOption.label || selectedOption.value);\n return acc;\n }, []);\n }\n return Array.isArray(value)\n ? value.reduce((acc, value) => {\n if (acc.length) acc.push(', ');\n acc.push(value);\n return acc;\n }, [])\n : value;\n }\n\n bindHandlerOptionClick = (optionValue) => (e) => {\n let newValue = optionValue;\n const { value, multiselect, interaction } = this.asProps;\n if (Array.isArray(value)) {\n if (value.includes(optionValue)) {\n newValue = value.filter((v) => v !== optionValue);\n } else {\n newValue = value.concat(optionValue);\n }\n }\n this.handlers.value(newValue, e);\n if (!multiselect) {\n this.handlers.visible(false);\n }\n };\n\n handlerClear = (e) => {\n const { value } = this.asProps;\n const emptyValue = getEmptyValue(Array.isArray(value));\n this.handlers.value(emptyValue, e);\n this.handlers.visible(false);\n };\n\n render() {\n const { Children, options, multiselect, value, uid, forcedAdvancedMode, ...other } =\n this.asProps;\n const advancedMode =\n forcedAdvancedMode ||\n findComponent(Children, [Select.Trigger.displayName, Select.Popper.displayName]);\n\n logger.warn(\n options && advancedMode,\n \"Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'\",\n other['data-ui-name'] || Select.displayName,\n );\n\n if (options) {\n return (\n <Root render={DropdownMenu}>\n <Select.Trigger {...other} />\n <Select.Menu>\n {options.map((option, index) => {\n return (\n <Select.Option key={option.value} id={`igc-${uid}-option-${index}`} {...option}>\n {multiselect && <Select.Option.Checkbox />}\n {option.children}\n </Select.Option>\n );\n })}\n </Select.Menu>\n </Root>\n );\n }\n\n return (\n <Root render={DropdownMenu}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction Trigger({\n Children,\n name,\n value,\n styles,\n $hiddenRef,\n tag: Tag = ButtonTrigger,\n getI18nText,\n}) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SSelectTrigger = Root;\n\n return sstyled(styles)(\n <SSelectTrigger\n render={DropdownMenu.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n true,\n )}\n {name && <input type='hidden' defaultValue={value} name={name} ref={$hiddenRef} />}\n </SSelectTrigger>,\n );\n}\n\nconst optionPropsContext = React.createContext({});\nfunction Option(props) {\n const SSelectOption = Root;\n const { styles, Children } = props;\n\n return sstyled(styles)(\n <SSelectOption render={DropdownMenu.Item} tag={Flex}>\n <optionPropsContext.Provider value={props}>\n <Children />\n </optionPropsContext.Provider>\n </SSelectOption>,\n );\n}\n\nfunction Checkbox(providedProps) {\n const optionProps = React.useContext(optionPropsContext);\n const props = React.useMemo(\n () => ({\n selected: optionProps?.selected,\n disabled: optionProps?.disabled,\n size: optionProps?.size,\n ...(providedProps || {}),\n }),\n [providedProps, optionProps],\n );\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected, resolveColor, indeterminate } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n indeterminate,\n selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n tabIndex={-1}\n />\n );\n}\n\nconst InputSearchWrapper = function () {\n return <Root render={InputSearch} />;\n};\n\nconst Select = createComponent(\n RootSelect,\n {\n Trigger: [\n Trigger,\n {\n Addon: ButtonTrigger.Addon,\n Text: ButtonTrigger.Text,\n },\n ],\n Popper: DropdownMenu.Popper,\n List: DropdownMenu.List,\n Menu: DropdownMenu.Menu,\n Option: [\n Option,\n {\n Addon: DropdownMenu.Item.Addon,\n Checkbox,\n },\n ],\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: [InputSearchWrapper, InputSearch._______childrenComponents],\n Input: [InputSearchWrapper, InputSearch._______childrenComponents],\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport const wrapSelect = (wrapper) => wrapper;\n\nexport default Select;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["React","cn","createComponent","Root","sstyled","DropdownMenu","Dropdown","AbstractDropdown","enhance","selectedIndexContext","ButtonTrigger","Divider","findComponent","logger","resolveColorEnhance","addonTextChildren","InputSearch","useBox","selectContext","localizedMessages","isInputTriggerTag","style","_sstyled","insert","callAllEventHandlers","isAdvanceMode","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","RootSelect","_AbstractDropdown","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","_key","call","apply","concat","_defineProperty","_assertThisInitialized","optionValue","index","e","newValue","_this$asProps","asProps","filter","v","handlers","visible","preventDefault","emptyValue","_createClass","key","itemRef","props","node","_get","_getPrototypeOf","prototype","highlightedIndex","isHighlighted","scrollToNode","uncontrolledProps","_this2","_objectSpread","setTimeout","_this2$menuRef$curren","_this2$menuRef$curren2","options","menuRef","current","querySelectorAll","selected","querySelector","i","getTriggerProps","_this$asProps2","disabled","state","placeholder","forwardRef","name","getI18nText","uid","Children","hasChildren","children","isMenu","Select","Menu","displayName","ariaControls","onKeyDown","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleArrowKeyDown","undefined","empty","$hiddenRef","active","onClear","handlerClear","renderChildrenTrigger","getListProps","getPopperProps","handlePreventPopperKeyDown","getOptionProps","_props$selected","_this3","_this$asProps3","focusSourceRef","_this$asProps3$size","size","highlighted","role","onClick","bindHandlerOptionClick","ref","getOptionCheckboxProps","_this$asProps4","resolveColor","getDividerProps","my","hasInputSearch","defaultIndex","reduce","acc","selectedOption","find","o","push","label","render","_ref2","_this$asProps5","forcedAdvancedMode","other","_objectWithoutProperties","_excluded","advancedMode","Trigger","Popper","warn","itemProps","_ref","createElement","_assignProps","map","option","Option","_extends","id","Checkbox","_assignProps2","Object","values","_props$highlightedInd","_props$selectedIndex","_props$interaction","_props$timeout","defaultValue","defaultVisible","defaultHighlightedIndex","defaultSelectedIndex","selectedIndex","scrollToSelected","i18n","locale","interaction","inlineActions","timeout","_ref8","_ref3","arguments[0]","_ref6","styles","_ref8$tag","tag","Tag","hasInputTrigger","SSelectTrigger","_assignProps3","Text","Value","Addon","optionPropsContext","createContext","_ref4","_ref7","SSelectOption","Item","hasCheckbox","hasContent","Content","_assignProps4","Provider","providedProps","optionProps","useContext","useMemo","_useBox","_useBox2","_slicedToArray","SOptionCheckbox","componentProps","theme","indeterminate","_styles$cn","className","tabIndex","InputSearchWrapper","_ref5","_assignProps5","List","Hint","Group","OptionTitle","ItemTitle","OptionHint","ItemHint","_______childrenComponents","Input","parent","context","wrapSelect","wrapper"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Root, sstyled } from '@semcore/core';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport Dropdown, { AbstractDropdown, enhance, selectedIndexContext } from '@semcore/dropdown';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport logger from '@semcore/utils/lib/logger';\nimport resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport InputSearch from './InputSearch';\nimport { useBox } from '@semcore/flex-box';\nimport { selectContext } from './context';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { isInputTriggerTag } from '@semcore/popper';\n\nimport style from './style/select.shadow.css';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\n\nfunction isSelectedOption(value, valueOption) {\n return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;\n}\n\nfunction isEmptyValue(value) {\n return Array.isArray(value) ? value.length === 0 : value === null;\n}\n\nfunction getEmptyValue(multiselect) {\n return multiselect ? [] : null;\n}\n\nclass RootSelect extends AbstractDropdown {\n static displayName = 'Select';\n\n static style = style;\n static enhance = Object.values(enhance).concat([resolveColorEnhance()]);\n\n static defaultProps = (props) => {\n const hasInputSearch =\n props.children && isAdvanceMode(props.children, [Select.InputSearch.displayName], true);\n const defaultIndex = hasInputSearch ? null : 0;\n\n return {\n placeholder: props.multiselect ? 'Select options' : 'Select option',\n size: 'm',\n defaultValue: getEmptyValue(props.multiselect),\n defaultVisible: false,\n defaultHighlightedIndex: props.highlightedIndex ?? defaultIndex,\n defaultSelectedIndex: props.selectedIndex ?? defaultIndex,\n scrollToSelected: true,\n i18n: localizedMessages,\n locale: 'en',\n interaction: props.interaction ?? 'click',\n inlineActions: false,\n timeout: props.timeout ?? 0,\n };\n };\n\n role = 'listbox';\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n const { highlightedIndex } = this.asProps;\n const isHighlighted = index === highlightedIndex;\n\n if (isHighlighted) {\n this.scrollToNode(node);\n }\n }\n\n uncontrolledProps() {\n return {\n ...super.uncontrolledProps(),\n visible: [\n null,\n (visible) => {\n if (visible === true) {\n setTimeout(() => {\n const options = this.menuRef.current?.querySelectorAll('[role=\"option\"]');\n const selected = this.menuRef.current?.querySelector('[aria-selected=\"true\"]');\n\n if (selected && options) {\n this.scrollToNode(selected);\n\n for (let i = 0; i < options.length; i++) {\n if (options[i] === selected) {\n this.handlers.highlightedIndex(i);\n break;\n }\n }\n }\n // for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)\n // and that's why its skip scrollToNodes. We selected the appropriate timeout manually.\n }, 30);\n }\n },\n ],\n value: null,\n };\n }\n\n getTriggerProps() {\n const {\n disabled,\n visible,\n state,\n placeholder,\n value,\n options,\n forwardRef,\n name,\n multiselect,\n getI18nText,\n highlightedIndex,\n uid,\n Children,\n children: hasChildren,\n } = this.asProps;\n\n const isMenu = isAdvanceMode(Children, [Select.Menu.displayName], true) || !hasChildren;\n const ariaControls = isMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleArrowKeyDown.bind(this),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': isMenu ? 'listbox' : 'dialog',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-activedescendant':\n visible && highlightedIndex !== null ? `igc-${uid}-option-${highlightedIndex}` : undefined,\n empty: isEmptyValue(value),\n value,\n name,\n $hiddenRef: forwardRef,\n multiselect,\n state,\n placeholder,\n disabled,\n active: visible,\n onClear: this.handlerClear,\n children: this.renderChildrenTrigger(value, options),\n getI18nText,\n };\n }\n\n getListProps() {\n const { multiselect } = this.asProps;\n\n return {\n ...super.getListProps(),\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getOptionProps(props, index) {\n const { value, highlightedIndex, focusSourceRef, size = 'm' } = this.asProps;\n const highlighted = index === highlightedIndex && focusSourceRef.current === 'keyboard';\n const selected = props.selected ?? isSelectedOption(value, props.value);\n\n return {\n ...super.getItemProps(props, index),\n highlighted,\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n 'aria-disabled': props.disabled ? 'true' : 'false',\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value, index),\n ref: (node) => this.itemRef(props, index, node),\n size,\n };\n }\n\n getOptionCheckboxProps() {\n const { size, resolveColor } = this.asProps;\n\n return {\n size,\n resolveColor,\n };\n }\n\n getDividerProps() {\n return { my: 1, 'aria-disabled': 'true' };\n }\n\n handleOpenKeyDown(e) {\n super.handleOpenKeyDown(e);\n\n if (this.asProps.visible !== true && ['ArrowDown', 'ArrowUp', 'Enter', ' '].includes(e.key)) {\n const hasInputSearch = isAdvanceMode(\n this.asProps.Children,\n [Select.InputSearch.displayName],\n true,\n );\n const defaultIndex = hasInputSearch ? null : 0;\n\n this.handlers.highlightedIndex(defaultIndex);\n\n return false;\n }\n }\n\n renderChildrenTrigger(value, options) {\n if (options) {\n return [].concat(value).reduce((acc, value) => {\n const selectedOption = options.find((o) => isSelectedOption(value, o.value));\n if (!selectedOption) return acc;\n if (acc.length) acc.push(', ');\n acc.push(selectedOption.label || selectedOption.value);\n return acc;\n }, []);\n }\n return Array.isArray(value)\n ? value.reduce((acc, value) => {\n if (acc.length) acc.push(', ');\n acc.push(value);\n return acc;\n }, [])\n : value;\n }\n\n bindHandlerOptionClick = (optionValue, index) => (e) => {\n let newValue = optionValue;\n const { value, multiselect } = this.asProps;\n if (Array.isArray(value)) {\n if (value.includes(optionValue)) {\n newValue = value.filter((v) => v !== optionValue);\n } else {\n newValue = value.concat(optionValue);\n }\n }\n this.handlers.value(newValue, e);\n if (!multiselect) {\n this.handlers.visible(false);\n e.preventDefault();\n }\n };\n\n handlerClear = (e) => {\n const { value } = this.asProps;\n const emptyValue = getEmptyValue(Array.isArray(value));\n this.handlers.value(emptyValue, e);\n this.handlers.visible(false);\n };\n\n render() {\n const { Children, options, multiselect, value, uid, forcedAdvancedMode, ...other } =\n this.asProps;\n const advancedMode =\n forcedAdvancedMode ||\n findComponent(Children, [Select.Trigger.displayName, Select.Popper.displayName]);\n\n logger.warn(\n options && advancedMode,\n \"Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'\",\n other['data-ui-name'] || Select.displayName,\n );\n\n this.itemProps = [];\n\n if (options) {\n return (\n <Root render={DropdownMenu}>\n <Select.Trigger {...other} />\n <Select.Menu>\n {options.map((option, index) => {\n return (\n <Select.Option key={option.value} id={`igc-${uid}-option-${index}`} {...option}>\n {multiselect && <Select.Option.Checkbox />}\n {option.children}\n </Select.Option>\n );\n })}\n </Select.Menu>\n </Root>\n );\n }\n\n return (\n <Root render={DropdownMenu}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction Trigger({\n Children,\n name,\n value,\n styles,\n $hiddenRef,\n tag: Tag = ButtonTrigger,\n getI18nText,\n}) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SSelectTrigger = Root;\n\n return sstyled(styles)(\n <SSelectTrigger\n render={Dropdown.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n role={'combobox'}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Value || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n true,\n )}\n {name && <input type='hidden' defaultValue={value} name={name} ref={$hiddenRef} />}\n </SSelectTrigger>,\n );\n}\n\nconst optionPropsContext = React.createContext({});\nfunction Option(props) {\n const SSelectOption = Root;\n const { styles, Children } = props;\n\n const hasCheckbox = isAdvanceMode(Children, [Select.Option.Checkbox.displayName]);\n const hasContent = isAdvanceMode(Children, [Select.Option.Content.displayName]);\n\n return sstyled(styles)(\n <SSelectOption render={Dropdown.Item}>\n <optionPropsContext.Provider value={props}>\n {hasCheckbox && !hasContent ? (\n <Select.Option.Content>\n <Children />\n </Select.Option.Content>\n ) : (\n <Children />\n )}\n </optionPropsContext.Provider>\n </SSelectOption>,\n );\n}\n\nfunction Checkbox(providedProps) {\n const optionProps = React.useContext(optionPropsContext);\n const props = React.useMemo(\n () => ({\n selected: optionProps?.selected,\n disabled: optionProps?.disabled,\n size: optionProps?.size,\n ...(providedProps || {}),\n }),\n [providedProps, optionProps],\n );\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected, resolveColor, indeterminate } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n indeterminate,\n selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n tabIndex={-1}\n />\n );\n}\n\nconst InputSearchWrapper = function () {\n return <Root render={InputSearch} />;\n};\n\nconst Select = createComponent(\n RootSelect,\n {\n Trigger: [\n Trigger,\n {\n Addon: ButtonTrigger.Addon,\n Text: ButtonTrigger.Text,\n },\n ],\n Popper: Dropdown.Popper,\n List: DropdownMenu.List,\n Menu: DropdownMenu.Menu,\n Option: [\n Option,\n {\n Addon: DropdownMenu.Item.Addon,\n Content: DropdownMenu.Item.Content,\n Hint: DropdownMenu.Item.Hint,\n Checkbox,\n },\n ],\n Group: Dropdown.Group,\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: [InputSearchWrapper, InputSearch._______childrenComponents],\n Input: [InputSearchWrapper, InputSearch._______childrenComponents],\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport const wrapSelect = (wrapper) => wrapper;\nSelect.selectedIndexContext = selectedIndexContext;\n\nexport default Select;\n"],"mappings":"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"}
|
package/lib/es6/index.d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport DropdownMenu, {\n DropdownMenuContext,\n DropdownMenuItemProps,\n DropdownMenuProps,\n DropdownMenuHandlers,\n DropdownMenuTriggerProps,\n} from '@semcore/dropdown-menu';\nimport { ButtonTrigger, BaseTriggerProps, ButtonTriggerProps } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport Input, { InputValueProps } from '@semcore/input';\nimport { BoxProps } from '@semcore/flex-box';\n\n/** @deprecated */\nexport interface ISelectInputSearch extends SelectInputSearch, UnknownProperties {}\nexport type SelectInputSearch = InputValueProps & {};\n\nexport type OptionValue = string | number;\nexport type SelectValue = string | number | Array<string | number> | null;\n\nexport type SelectOption = {\n value: OptionValue;\n children?: React.ReactNode;\n label?: React.ReactNode;\n};\n\n/** @deprecated */\nexport interface ISelectProps<T extends SelectValue = SelectValue> extends SelectProps<T> {}\nexport type SelectProps<T extends SelectValue = SelectValue> = DropdownMenuProps &\n BaseTriggerProps & {\n /**\n * Multiple select\n */\n multiselect?: boolean;\n /**\n * Options array\n */\n options?: SelectOption[];\n /**\n * The value or values array selected by default when using multiselect\n * @type SelectValue\n */\n defaultValue?: T;\n /**\n * The selected value or values array when using multiselect\n * @type SelectValue\n */\n value?: T;\n /**\n * Callback on value change\n * @type (value: SelectValue, e: React.SyntheticEvent) => boolean | void\n */\n onChange?:\n | ((value: T, e: React.SyntheticEvent) => boolean | void)\n | React.Dispatch<React.SetStateAction<T>>;\n /**\n * Trigger placeholder at not selected value\n */\n placeholder?: React.ReactNode;\n /**\n * Trigger state\n */\n state?: 'normal' | 'valid' | 'invalid';\n /**\n * Disables select\n */\n disabled?: boolean;\n /**\n * If provided, adds a hidden <input /> tag with the given name for enhancing accessibility.\n */\n name?: string;\n locale?: string;\n /**\n * If enabled, after opening select popper view will be scrolled to selected option or, if there are multiple selected options, to the first selected option.\n * @default true\n */\n scrollToSelected?: boolean;\n };\n\n/** @deprecated */\nexport interface ISelectOption extends SelectOption, UnknownProperties {}\n\n/** @deprecated */\nexport interface ISelectOptionProps extends SelectOptionProps, UnknownProperties {}\nexport type SelectOptionProps = DropdownMenuItemProps & {\n /** Value of the option */\n value: string | number;\n};\n\n/** @deprecated */\nexport interface ISelectOptionCheckboxProps extends SelectOptionCheckboxProps, UnknownProperties {}\nexport type SelectOptionCheckboxProps = BoxProps & {\n /** Checkbox theme */\n theme?: string;\n /** Visual indeterminate state */\n indeterminate?: boolean;\n\n selected?: boolean;\n};\n\ndeclare const InputSearch: Intergalactic.Component<'div', SelectInputSearch> & {\n SearchIcon: typeof Input.Addon;\n Value: typeof Input.Value;\n Clear: typeof Input.Addon;\n};\n\n/** @deprecated */\nexport interface ISelectContext extends SelectContext, UnknownProperties {}\nexport type SelectContext = DropdownMenuContext & {\n getOptionProps: PropGetterFn;\n getOptionCheckboxProps: PropGetterFn;\n getDividerProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface ISelectHandlers extends SelectHandlers, UnknownProperties {}\nexport type SelectHandlers = DropdownMenuHandlers & {\n value: (index: SelectValue) => void;\n};\n\ntype IntergalacticSelectComponent<PropsExtending = {}> = (<\n Value extends SelectValue,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n SelectProps<Value>,\n SelectContext,\n [handlers: SelectHandlers]\n > &\n PropsExtending,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', SelectProps>;\n\ndeclare const Select: IntergalacticSelectComponent & {\n Trigger: Intergalactic.Component<\n
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport DropdownMenu, {\n DropdownMenuContext,\n DropdownMenuItemProps,\n DropdownMenuProps,\n DropdownMenuHandlers,\n DropdownMenuTriggerProps,\n} from '@semcore/dropdown-menu';\nimport Dropdown from '@semcore/dropdown';\nimport { ButtonTrigger, BaseTriggerProps, ButtonTriggerProps } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport Input, { InputValueProps } from '@semcore/input';\nimport { BoxProps, Flex } from '@semcore/flex-box';\n\n/** @deprecated */\nexport interface ISelectInputSearch extends SelectInputSearch, UnknownProperties {}\nexport type SelectInputSearch = InputValueProps & {};\n\nexport type OptionValue = string | number;\nexport type SelectValue = string | number | Array<string | number> | null;\n\nexport type SelectOption = {\n value: OptionValue;\n children?: React.ReactNode;\n label?: React.ReactNode;\n};\n\n/** @deprecated */\nexport interface ISelectProps<T extends SelectValue = SelectValue> extends SelectProps<T> {}\nexport type SelectProps<T extends SelectValue = SelectValue> = DropdownMenuProps &\n BaseTriggerProps & {\n /**\n * Multiple select\n */\n multiselect?: boolean;\n /**\n * Options array\n */\n options?: SelectOption[];\n /**\n * The value or values array selected by default when using multiselect\n * @type SelectValue\n */\n defaultValue?: T;\n /**\n * The selected value or values array when using multiselect\n * @type SelectValue\n */\n value?: T;\n /**\n * Callback on value change\n * @type (value: SelectValue, e: React.SyntheticEvent) => boolean | void\n */\n onChange?:\n | ((value: T, e: React.SyntheticEvent) => boolean | void)\n | React.Dispatch<React.SetStateAction<T>>;\n /**\n * Trigger placeholder at not selected value\n */\n placeholder?: React.ReactNode;\n /**\n * Trigger state\n */\n state?: 'normal' | 'valid' | 'invalid';\n /**\n * Disables select\n */\n disabled?: boolean;\n /**\n * If provided, adds a hidden <input /> tag with the given name for enhancing accessibility.\n */\n name?: string;\n locale?: string;\n /**\n * If enabled, after opening select popper view will be scrolled to selected option or, if there are multiple selected options, to the first selected option.\n * @default true\n */\n scrollToSelected?: boolean;\n };\n\n/** @deprecated */\nexport interface ISelectOption extends SelectOption, UnknownProperties {}\n\n/** @deprecated */\nexport interface ISelectOptionProps extends SelectOptionProps, UnknownProperties {}\nexport type SelectOptionProps = DropdownMenuItemProps & {\n /**\n * Enables selected state\n */\n selected?: boolean;\n /** Value of the option */\n value: string | number;\n};\n\n/** @deprecated */\nexport interface ISelectOptionCheckboxProps extends SelectOptionCheckboxProps, UnknownProperties {}\nexport type SelectOptionCheckboxProps = BoxProps & {\n /** Checkbox theme */\n theme?: string;\n /** Visual indeterminate state */\n indeterminate?: boolean;\n\n selected?: boolean;\n};\n\ndeclare const InputSearch: Intergalactic.Component<'div', SelectInputSearch> & {\n SearchIcon: typeof Input.Addon;\n Value: typeof Input.Value;\n Clear: typeof Input.Addon;\n};\n\n/** @deprecated */\nexport interface ISelectContext extends SelectContext, UnknownProperties {}\nexport type SelectContext = DropdownMenuContext & {\n getOptionProps: PropGetterFn;\n getOptionCheckboxProps: PropGetterFn;\n getDividerProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface ISelectHandlers extends SelectHandlers, UnknownProperties {}\nexport type SelectHandlers = DropdownMenuHandlers & {\n value: (index: SelectValue) => void;\n};\n\ntype IntergalacticSelectComponent<PropsExtending = {}> = (<\n Value extends SelectValue,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n SelectProps<Value>,\n SelectContext,\n [handlers: SelectHandlers]\n > &\n PropsExtending,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', SelectProps>;\n\ndeclare const Select: IntergalacticSelectComponent & {\n Trigger: Intergalactic.Component<\n typeof Dropdown.Trigger,\n DropdownMenuTriggerProps & ButtonTriggerProps,\n {},\n [handlers: SelectHandlers]\n > & {\n Addon: typeof ButtonTrigger.Addon;\n Text: typeof ButtonTrigger.Text;\n };\n Popper: typeof DropdownMenu.Popper;\n List: typeof DropdownMenu.List;\n Menu: typeof DropdownMenu.Menu;\n Group: typeof Dropdown.Group;\n Option: Intergalactic.Component<\n 'option',\n SelectOptionProps,\n SelectContext,\n [handlers: SelectHandlers]\n > & {\n Addon: typeof DropdownMenu.Item.Addon;\n Checkbox: Intergalactic.Component<'div', SelectOptionCheckboxProps>;\n Content: typeof Flex;\n Hint: typeof Flex;\n };\n /**\n * @deprecated Use Select.Group\n */\n OptionTitle: typeof DropdownMenu.ItemTitle;\n /**\n * @deprecated Use Select.Option.Hint or Select.Group with subTitle property\n */\n OptionHint: typeof DropdownMenu.ItemHint;\n Divider: typeof Divider;\n InputSearch: typeof InputSearch;\n Input: typeof InputSearch;\n};\n\ndeclare const wrapSelect: <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticSelectComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => IntergalacticSelectComponent<PropsExtending>;\n\nexport { InputSearch, wrapSelect };\nexport default Select;\n"],"mappings":""}
|