@semcore/select 4.52.2 → 4.53.0-prerelease.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 +6 -0
- package/lib/cjs/InputSearch.js +52 -52
- package/lib/cjs/InputSearch.js.map +1 -1
- package/lib/cjs/Select.js +138 -93
- package/lib/cjs/Select.js.map +1 -1
- package/lib/cjs/context.js +2 -3
- package/lib/cjs/context.js.map +1 -1
- package/lib/cjs/index.d.js.map +1 -1
- package/lib/cjs/index.js +2 -2
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/select.shadow.css +8 -8
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js +4 -5
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/InputSearch.js +48 -45
- package/lib/es6/InputSearch.js.map +1 -1
- package/lib/es6/Select.js +133 -85
- package/lib/es6/Select.js.map +1 -1
- package/lib/es6/context.js.map +1 -1
- package/lib/es6/index.d.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/select.shadow.css +8 -8
- package/lib/es6/translations/__intergalactic-dynamic-locales.js +2 -2
- package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/esm/InputSearch.mjs +43 -45
- package/lib/esm/Select.mjs +119 -80
- package/lib/esm/style/select.shadow.css +8 -8
- package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +2 -2
- package/lib/types/index.d.ts +27 -39
- package/package.json +13 -13
package/lib/cjs/Select.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
@@ -12,42 +12,39 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
12
12
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
13
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
14
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
|
+
var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
|
|
16
|
+
var _superPropGet2 = _interopRequireDefault(require("@babel/runtime/helpers/superPropGet"));
|
|
18
17
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
20
18
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
var _react = _interopRequireDefault(require("react"));
|
|
24
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
25
|
-
var _dropdownMenu = _interopRequireDefault(require("@semcore/dropdown-menu"));
|
|
26
|
-
var _dropdown = _interopRequireWildcard(require("@semcore/dropdown"));
|
|
19
|
+
var _core = require("@semcore/core");
|
|
20
|
+
var _baseComponents = require("@semcore/base-components");
|
|
27
21
|
var _baseTrigger = require("@semcore/base-trigger");
|
|
22
|
+
var _addonTextChildren = _interopRequireDefault(require("@semcore/core/lib/utils/addonTextChildren"));
|
|
23
|
+
var _assignProps7 = require("@semcore/core/lib/utils/assignProps");
|
|
24
|
+
var _resolveColorEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/resolveColorEnhance"));
|
|
25
|
+
var _findComponent = _interopRequireWildcard(require("@semcore/core/lib/utils/findComponent"));
|
|
26
|
+
var _logger = _interopRequireDefault(require("@semcore/core/lib/utils/logger"));
|
|
28
27
|
var _divider = _interopRequireDefault(require("@semcore/divider"));
|
|
29
|
-
var
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
var
|
|
34
|
-
var _flexBox = require("@semcore/flex-box");
|
|
28
|
+
var _dropdown = _interopRequireWildcard(require("@semcore/dropdown"));
|
|
29
|
+
var _dropdownMenu = _interopRequireDefault(require("@semcore/dropdown-menu"));
|
|
30
|
+
var _typography = require("@semcore/typography");
|
|
31
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
32
|
+
var _react = _interopRequireDefault(require("react"));
|
|
35
33
|
var _context = require("./context");
|
|
34
|
+
var _InputSearch = _interopRequireDefault(require("./InputSearch"));
|
|
36
35
|
var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
|
|
37
|
-
var _popper = require("@semcore/popper");
|
|
38
|
-
var _assignProps6 = require("@semcore/utils/lib/assignProps");
|
|
39
36
|
var _excluded = ["Children", "options", "multiselect", "value", "uid", "forcedAdvancedMode"];
|
|
40
37
|
/*!__reshadow-styles__:"./style/select.shadow.css"*/
|
|
41
|
-
var style = (
|
|
38
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SOptionCheckbox_19tod_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_19tod_gg_::before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--intergalactic-bg-primary-neutral, rgb(255, 255, 255));border:1px solid;border-radius:var(--intergalactic-addon-rounded, 4px);border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@supports (color:color(display-p3 0 0 0%)){.___SOptionCheckbox_19tod_gg_::before{border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___SOptionCheckbox_19tod_gg_::before{border-color:var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}.___SOptionCheckbox_19tod_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_19tod_gg_.__selected_19tod_gg_::after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEwIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik04LjI1IDFMNCA1LjI1TDEuNzUgMyIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_19tod_gg_._size_l_19tod_gg_{width:20px;height:20px}.___SOptionCheckbox_19tod_gg_._size_l_19tod_gg_.__selected_19tod_gg_::after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDEyIDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMSAxLjVMNC43NSA3Ljc1TDEgNCIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_19tod_gg_.__indeterminate_19tod_gg_:before,.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_:before{background-color:var(--intergalactic-control-primary-info, rgb(26, 30, 26));border-color:var(--intergalactic-control-primary-info, rgb(26, 30, 26))}.___SOptionCheckbox_19tod_gg_.__theme_19tod_gg_:before{border-color:var(--theme_19tod)}.___SOptionCheckbox_19tod_gg_.__theme_19tod_gg_.__indeterminate_19tod_gg_:before,.___SOptionCheckbox_19tod_gg_.__theme_19tod_gg_.__selected_19tod_gg_:before{background-color:var(--theme_19tod);border-color:var(--theme_19tod)}.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(0, 30, 209, 0.062))}@supports (color:color(display-p3 0 0 0%)){.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(0, 30, 209, 0.062))}@media (color-gamut:p3){.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, color(display-p3 0.02906 0.11403 0.78782 / 0.062))}}}@media (hover:hover){.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, rgba(0, 28, 206, 0.154))}@supports (color:color(display-p3 0 0 0%)){.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, rgba(0, 28, 206, 0.154))}@media (color-gamut:p3){.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, color(display-p3 0.02685 0.10865 0.77388 / 0.154))}}}}.___SOptionCheckbox_19tod_gg_.__indeterminate_19tod_gg_:after{background-color:#fff;background-image:none;margin:auto;border-radius:1px}.___SOptionCheckbox_19tod_gg_.__indeterminate_19tod_gg_._size_l_19tod_gg_:after{width:12px;height:2px}.___SOptionCheckbox_19tod_gg_.__indeterminate_19tod_gg_._size_m_19tod_gg_:after{width:8px;height:2px}", /*__inner_css_end__*/"19tod_gg_"),
|
|
42
39
|
/*__reshadow_css_end__*/
|
|
43
40
|
{
|
|
44
|
-
"__SOptionCheckbox": "
|
|
45
|
-
"_selected": "
|
|
46
|
-
"_size_l": "
|
|
47
|
-
"_indeterminate": "
|
|
48
|
-
"_theme": "
|
|
49
|
-
"--theme": "--
|
|
50
|
-
"_size_m": "
|
|
41
|
+
"__SOptionCheckbox": "___SOptionCheckbox_19tod_gg_",
|
|
42
|
+
"_selected": "__selected_19tod_gg_",
|
|
43
|
+
"_size_l": "_size_l_19tod_gg_",
|
|
44
|
+
"_indeterminate": "__indeterminate_19tod_gg_",
|
|
45
|
+
"_theme": "__theme_19tod_gg_",
|
|
46
|
+
"--theme": "--theme_19tod",
|
|
47
|
+
"_size_m": "_size_m_19tod_gg_"
|
|
51
48
|
});
|
|
52
49
|
function isSelectedOption(value, valueOption) {
|
|
53
50
|
return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;
|
|
@@ -58,18 +55,22 @@ function isEmptyValue(value) {
|
|
|
58
55
|
function getEmptyValue(multiselect) {
|
|
59
56
|
return multiselect ? [] : null;
|
|
60
57
|
}
|
|
58
|
+
var ListBoxContextProvider = function ListBoxContextProvider(_ref0) {
|
|
59
|
+
var children = _ref0.children;
|
|
60
|
+
return /*#__PURE__*/_react["default"].createElement(_baseComponents.hideScrollBarsFromScreenReadersContext.Provider, {
|
|
61
|
+
value: true
|
|
62
|
+
}, children);
|
|
63
|
+
};
|
|
61
64
|
var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
62
|
-
(0, _inherits2["default"])(RootSelect, _AbstractDropdown);
|
|
63
|
-
var _super = (0, _createSuper2["default"])(RootSelect);
|
|
64
65
|
function RootSelect() {
|
|
65
66
|
var _this;
|
|
66
67
|
(0, _classCallCheck2["default"])(this, RootSelect);
|
|
67
68
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
68
69
|
args[_key] = arguments[_key];
|
|
69
70
|
}
|
|
70
|
-
_this =
|
|
71
|
-
(0, _defineProperty2["default"])(
|
|
72
|
-
(0, _defineProperty2["default"])(
|
|
71
|
+
_this = (0, _callSuper2["default"])(this, RootSelect, [].concat(args));
|
|
72
|
+
(0, _defineProperty2["default"])(_this, "role", 'listbox');
|
|
73
|
+
(0, _defineProperty2["default"])(_this, "bindHandlerOptionClick", function (optionValue, index) {
|
|
73
74
|
return function (e) {
|
|
74
75
|
var newValue = optionValue;
|
|
75
76
|
var _this$asProps = _this.asProps,
|
|
@@ -84,6 +85,7 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
84
85
|
newValue = value.concat(optionValue);
|
|
85
86
|
}
|
|
86
87
|
}
|
|
88
|
+
_this.handlers.highlightedIndex(index);
|
|
87
89
|
_this.handlers.value(newValue, e);
|
|
88
90
|
if (!multiselect) {
|
|
89
91
|
_this.handlers.visible(false);
|
|
@@ -91,7 +93,7 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
91
93
|
}
|
|
92
94
|
};
|
|
93
95
|
});
|
|
94
|
-
(0, _defineProperty2["default"])(
|
|
96
|
+
(0, _defineProperty2["default"])(_this, "handlerClear", function (e) {
|
|
95
97
|
var value = _this.asProps.value;
|
|
96
98
|
var emptyValue = getEmptyValue(Array.isArray(value));
|
|
97
99
|
_this.handlers.value(emptyValue, e);
|
|
@@ -99,10 +101,11 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
99
101
|
});
|
|
100
102
|
return _this;
|
|
101
103
|
}
|
|
102
|
-
(0,
|
|
104
|
+
(0, _inherits2["default"])(RootSelect, _AbstractDropdown);
|
|
105
|
+
return (0, _createClass2["default"])(RootSelect, [{
|
|
103
106
|
key: "itemRef",
|
|
104
107
|
value: function itemRef(props, index, node) {
|
|
105
|
-
(0,
|
|
108
|
+
(0, _superPropGet2["default"])(RootSelect, "itemRef", this, 3)([props, index, node]);
|
|
106
109
|
var highlightedIndex = this.asProps.highlightedIndex;
|
|
107
110
|
var isHighlighted = index === highlightedIndex;
|
|
108
111
|
if (isHighlighted) {
|
|
@@ -113,11 +116,11 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
113
116
|
key: "uncontrolledProps",
|
|
114
117
|
value: function uncontrolledProps() {
|
|
115
118
|
var _this2 = this;
|
|
116
|
-
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0,
|
|
119
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _superPropGet2["default"])(RootSelect, "uncontrolledProps", this, 3)([])), {}, {
|
|
117
120
|
visible: [null, function (visible) {
|
|
118
121
|
if (visible === true) {
|
|
119
|
-
var hasInputSearch = (0, _findComponent.isAdvanceMode)(_this2.asProps.Children, [Select.InputSearch.displayName], true);
|
|
120
|
-
var defaultIndex = hasInputSearch ? null : _this2.props.defaultHighlightedIndex;
|
|
122
|
+
var hasInputSearch = (0, _findComponent.isAdvanceMode)(_this2.asProps.Children, [Select.InputSearch.displayName, _InputSearch["default"].displayName], true);
|
|
123
|
+
var defaultIndex = hasInputSearch || _core.lastInteraction.isMouse() ? null : _this2.props.defaultHighlightedIndex;
|
|
121
124
|
_this2.handlers.highlightedIndex(defaultIndex);
|
|
122
125
|
setTimeout(function () {
|
|
123
126
|
var _this2$menuRef$curren, _this2$menuRef$curren2;
|
|
@@ -161,32 +164,32 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
161
164
|
hasChildren = _this$asProps2.children;
|
|
162
165
|
var isMenu = (0, _findComponent.isAdvanceMode)(Children, [Select.Menu.displayName], true) || !hasChildren;
|
|
163
166
|
var ariaControls = isMenu ? "igc-".concat(uid, "-list") : "igc-".concat(uid, "-popper");
|
|
164
|
-
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0,
|
|
165
|
-
onKeyDown: (0,
|
|
167
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _superPropGet2["default"])(RootSelect, "getTriggerProps", this, 3)([])), {}, {
|
|
168
|
+
'onKeyDown': (0, _assignProps7.callAllEventHandlers)(this.handlePreventCommonKeyDown.bind(this), this.handleOpenKeyDown.bind(this), this.handleArrowKeyDown.bind(this)),
|
|
166
169
|
'aria-controls': visible ? ariaControls : undefined,
|
|
167
170
|
'aria-haspopup': isMenu ? 'listbox' : 'dialog',
|
|
168
171
|
'aria-disabled': disabled ? 'true' : 'false',
|
|
169
172
|
'aria-activedescendant': visible && highlightedIndex !== null && this.itemRefs[highlightedIndex] ? "igc-".concat(uid, "-option-").concat(highlightedIndex) : undefined,
|
|
170
|
-
empty: isEmptyValue(value),
|
|
173
|
+
'empty': isEmptyValue(value),
|
|
171
174
|
value: value,
|
|
172
175
|
name: name,
|
|
173
|
-
$hiddenRef: forwardRef,
|
|
176
|
+
'$hiddenRef': forwardRef,
|
|
174
177
|
multiselect: multiselect,
|
|
175
178
|
state: state,
|
|
176
179
|
placeholder: placeholder,
|
|
177
180
|
disabled: disabled,
|
|
178
|
-
active: visible,
|
|
179
|
-
onClear: this.handlerClear,
|
|
180
|
-
children: this.renderChildrenTrigger(value, options),
|
|
181
|
+
'active': visible,
|
|
182
|
+
'onClear': this.handlerClear,
|
|
183
|
+
'children': this.renderChildrenTrigger(value, options),
|
|
181
184
|
getI18nText: getI18nText,
|
|
182
|
-
onBlur: function onBlur() {
|
|
185
|
+
'onBlur': function onBlur() {
|
|
183
186
|
// if popper is opened and we moved from the trigger in select - it means we moved on some controls in popper and should hide highlighted for the option
|
|
184
187
|
if (_this3.asProps.visible) {
|
|
185
188
|
_this3.prevHighlightedIndex = _this3.asProps.highlightedIndex;
|
|
186
189
|
_this3.handlers.highlightedIndex(null);
|
|
187
190
|
}
|
|
188
191
|
},
|
|
189
|
-
onFocus: function onFocus() {
|
|
192
|
+
'onFocus': function onFocus() {
|
|
190
193
|
// if popper is opened and we moved to the trigger in select - it means we moved from some controls in popper and should highlight the last highlighted option
|
|
191
194
|
if (_this3.asProps.visible) {
|
|
192
195
|
var index = _this3.prevHighlightedIndex;
|
|
@@ -199,15 +202,15 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
199
202
|
key: "getListProps",
|
|
200
203
|
value: function getListProps() {
|
|
201
204
|
var multiselect = this.asProps.multiselect;
|
|
202
|
-
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0,
|
|
205
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _superPropGet2["default"])(RootSelect, "getListProps", this, 3)([])), {}, {
|
|
203
206
|
'aria-multiselectable': multiselect ? 'true' : undefined
|
|
204
207
|
});
|
|
205
208
|
}
|
|
206
209
|
}, {
|
|
207
210
|
key: "getPopperProps",
|
|
208
211
|
value: function getPopperProps() {
|
|
209
|
-
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0,
|
|
210
|
-
onKeyDown: (0,
|
|
212
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _superPropGet2["default"])(RootSelect, "getPopperProps", this, 3)([])), {}, {
|
|
213
|
+
onKeyDown: (0, _assignProps7.callAllEventHandlers)(this.handlePreventCommonKeyDown.bind(this), this.handlePreventPopperKeyDown.bind(this), this.handleArrowKeyDown.bind(this))
|
|
211
214
|
});
|
|
212
215
|
}
|
|
213
216
|
}, {
|
|
@@ -218,19 +221,18 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
218
221
|
var _this$asProps3 = this.asProps,
|
|
219
222
|
value = _this$asProps3.value,
|
|
220
223
|
highlightedIndex = _this$asProps3.highlightedIndex,
|
|
221
|
-
focusSourceRef = _this$asProps3.focusSourceRef,
|
|
222
224
|
_this$asProps3$size = _this$asProps3.size,
|
|
223
225
|
size = _this$asProps3$size === void 0 ? 'm' : _this$asProps3$size;
|
|
224
|
-
var highlighted = index === highlightedIndex &&
|
|
226
|
+
var highlighted = index === highlightedIndex && _core.lastInteraction.isKeyboard() && !props.disabled;
|
|
225
227
|
var selected = (_props$selected = props.selected) !== null && _props$selected !== void 0 ? _props$selected : isSelectedOption(value, props.value);
|
|
226
|
-
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0,
|
|
228
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _superPropGet2["default"])(RootSelect, "getItemProps", this, 3)([props, index])), {}, {
|
|
227
229
|
highlighted: highlighted,
|
|
228
230
|
selected: selected,
|
|
229
231
|
'aria-selected': selected ? 'true' : 'false',
|
|
230
232
|
'aria-disabled': props.disabled ? 'true' : 'false',
|
|
231
|
-
role: 'option',
|
|
232
|
-
onClick: this.bindHandlerOptionClick(props.value, index),
|
|
233
|
-
ref: function ref(node) {
|
|
233
|
+
'role': 'option',
|
|
234
|
+
'onClick': this.bindHandlerOptionClick(props.value, index),
|
|
235
|
+
'ref': function ref(node) {
|
|
234
236
|
return _this4.itemRef(props, index, node);
|
|
235
237
|
},
|
|
236
238
|
size: size
|
|
@@ -251,7 +253,7 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
251
253
|
key: "getDividerProps",
|
|
252
254
|
value: function getDividerProps() {
|
|
253
255
|
return {
|
|
254
|
-
my: 1,
|
|
256
|
+
'my': 1,
|
|
255
257
|
'aria-disabled': 'true'
|
|
256
258
|
};
|
|
257
259
|
}
|
|
@@ -283,12 +285,12 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
283
285
|
Children = _this$asProps5.Children,
|
|
284
286
|
options = _this$asProps5.options,
|
|
285
287
|
multiselect = _this$asProps5.multiselect,
|
|
286
|
-
|
|
288
|
+
_value = _this$asProps5.value,
|
|
287
289
|
uid = _this$asProps5.uid,
|
|
288
290
|
forcedAdvancedMode = _this$asProps5.forcedAdvancedMode,
|
|
289
291
|
other = (0, _objectWithoutProperties2["default"])(_this$asProps5, _excluded);
|
|
290
292
|
var advancedMode = forcedAdvancedMode || (0, _findComponent["default"])(Children, [Select.Trigger.displayName, Select.Popper.displayName]);
|
|
291
|
-
_logger["default"].warn(options && advancedMode,
|
|
293
|
+
_logger["default"].warn(options && advancedMode, 'Don\'t use at the same time \'options\' property and \'<Select.Trigger/>/<Select.Popper/>\'', other['data-ui-name'] || Select.displayName);
|
|
292
294
|
this.itemProps = [];
|
|
293
295
|
if (options) {
|
|
294
296
|
var _ref = this.asProps;
|
|
@@ -302,18 +304,16 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
302
304
|
return /*#__PURE__*/_react["default"].createElement(_dropdownMenu["default"], (0, _core.assignProps)({}, _ref2), /*#__PURE__*/_react["default"].createElement(Children, null));
|
|
303
305
|
}
|
|
304
306
|
}]);
|
|
305
|
-
return RootSelect;
|
|
306
307
|
}(_dropdown.AbstractDropdown);
|
|
307
308
|
(0, _defineProperty2["default"])(RootSelect, "displayName", 'Select');
|
|
308
309
|
(0, _defineProperty2["default"])(RootSelect, "style", style);
|
|
309
310
|
(0, _defineProperty2["default"])(RootSelect, "enhance", Object.values(_dropdown.enhance).concat([(0, _resolveColorEnhance["default"])()]));
|
|
310
311
|
(0, _defineProperty2["default"])(RootSelect, "defaultProps", function (props) {
|
|
311
312
|
var _props$highlightedInd, _props$selectedIndex, _props$interaction, _props$timeout;
|
|
312
|
-
var hasInputSearch = props.children && (0, _findComponent.isAdvanceMode)(props.children, [Select.InputSearch.displayName], true);
|
|
313
|
+
var hasInputSearch = props.children && (0, _findComponent.isAdvanceMode)(props.children, [Select.InputSearch.displayName, _InputSearch["default"].displayName], true);
|
|
313
314
|
var defaultIndex = hasInputSearch ? null : 0;
|
|
314
315
|
return {
|
|
315
316
|
placeholder: props.multiselect ? 'Select options' : 'Select option',
|
|
316
|
-
size: 'm',
|
|
317
317
|
defaultValue: getEmptyValue(props.multiselect),
|
|
318
318
|
defaultVisible: false,
|
|
319
319
|
defaultHighlightedIndex: (_props$highlightedInd = props.highlightedIndex) !== null && _props$highlightedInd !== void 0 ? _props$highlightedInd : defaultIndex,
|
|
@@ -326,43 +326,73 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
326
326
|
timeout: (_props$timeout = props.timeout) !== null && _props$timeout !== void 0 ? _props$timeout : 0
|
|
327
327
|
};
|
|
328
328
|
});
|
|
329
|
-
function Trigger(
|
|
329
|
+
function Trigger(_ref1) {
|
|
330
330
|
var _ref3 = arguments[0],
|
|
331
|
-
|
|
332
|
-
var Children =
|
|
333
|
-
name =
|
|
334
|
-
value =
|
|
335
|
-
styles =
|
|
336
|
-
$hiddenRef =
|
|
337
|
-
|
|
338
|
-
Tag =
|
|
339
|
-
getI18nText =
|
|
340
|
-
var hasInputTrigger = (0,
|
|
331
|
+
_ref7;
|
|
332
|
+
var Children = _ref1.Children,
|
|
333
|
+
name = _ref1.name,
|
|
334
|
+
value = _ref1.value,
|
|
335
|
+
styles = _ref1.styles,
|
|
336
|
+
$hiddenRef = _ref1.$hiddenRef,
|
|
337
|
+
_ref1$tag = _ref1.tag,
|
|
338
|
+
Tag = _ref1$tag === void 0 ? _baseTrigger.ButtonTrigger : _ref1$tag,
|
|
339
|
+
getI18nText = _ref1.getI18nText;
|
|
340
|
+
var hasInputTrigger = (0, _baseComponents.isInputTriggerTag)(Tag);
|
|
341
341
|
var SSelectTrigger = _dropdown["default"].Trigger;
|
|
342
|
-
return
|
|
342
|
+
return _ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SSelectTrigger, _ref7.cn("SSelectTrigger", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
343
343
|
"tag": Tag,
|
|
344
344
|
"placeholder": getI18nText('selectPlaceholder'),
|
|
345
345
|
"role": 'combobox',
|
|
346
346
|
"aria-autocomplete": hasInputTrigger && 'list' || undefined
|
|
347
|
-
}, _ref3))), (0, _addonTextChildren["default"])(Children, Tag.Text ||
|
|
347
|
+
}, _ref3))), (0, _addonTextChildren["default"])(Children, Tag.Text || Tag.Value || _baseTrigger.ButtonTrigger.Text, Tag.Addon || _baseTrigger.ButtonTrigger.Addon, true), name && /*#__PURE__*/_react["default"].createElement("input", _ref7.cn("input", {
|
|
348
348
|
"type": 'hidden',
|
|
349
349
|
"defaultValue": value,
|
|
350
350
|
"name": name,
|
|
351
351
|
"ref": $hiddenRef
|
|
352
352
|
})));
|
|
353
353
|
}
|
|
354
|
+
function Menu(props) {
|
|
355
|
+
var _ref4 = arguments[0];
|
|
356
|
+
var visible = props.visible,
|
|
357
|
+
disablePortal = props.disablePortal,
|
|
358
|
+
ignorePortalsStacking = props.ignorePortalsStacking,
|
|
359
|
+
disableEnforceFocus = props.disableEnforceFocus,
|
|
360
|
+
interaction = props.interaction,
|
|
361
|
+
autoFocus = props.autoFocus,
|
|
362
|
+
animationsDisabled = props.animationsDisabled;
|
|
363
|
+
var popperProps = {
|
|
364
|
+
visible: visible,
|
|
365
|
+
disablePortal: disablePortal,
|
|
366
|
+
ignorePortalsStacking: ignorePortalsStacking,
|
|
367
|
+
disableEnforceFocus: disableEnforceFocus,
|
|
368
|
+
interaction: interaction,
|
|
369
|
+
autoFocus: autoFocus,
|
|
370
|
+
animationsDisabled: animationsDisabled
|
|
371
|
+
};
|
|
372
|
+
return /*#__PURE__*/_react["default"].createElement(ListBoxContextProvider, null, /*#__PURE__*/_react["default"].createElement(Select.Popper, (0, _extends2["default"])({}, popperProps, {
|
|
373
|
+
role: null
|
|
374
|
+
}), /*#__PURE__*/_react["default"].createElement(Select.List, (0, _core.assignProps)({}, _ref4))));
|
|
375
|
+
}
|
|
354
376
|
var optionPropsContext = /*#__PURE__*/_react["default"].createContext({});
|
|
355
377
|
function Option(props) {
|
|
356
|
-
var
|
|
357
|
-
|
|
378
|
+
var _ref5 = arguments[0],
|
|
379
|
+
_ref8;
|
|
358
380
|
var SSelectOption = _dropdown["default"].Item;
|
|
359
381
|
var styles = props.styles,
|
|
360
|
-
Children = props.Children
|
|
382
|
+
Children = props.Children,
|
|
383
|
+
highlighted = props.highlighted;
|
|
384
|
+
var itemRef = _react["default"].useRef(null);
|
|
361
385
|
var hasCheckbox = (0, _findComponent.isAdvanceMode)(Children, [Select.Option.Checkbox.displayName]);
|
|
362
386
|
var hasContent = (0, _findComponent.isAdvanceMode)(Children, [Select.Option.Content.displayName]);
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
387
|
+
var optionPropsContextValue = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, props), {}, {
|
|
388
|
+
itemRef: itemRef,
|
|
389
|
+
highlighted: highlighted
|
|
390
|
+
});
|
|
391
|
+
return _ref8 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SSelectOption, _ref8.cn("SSelectOption", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
392
|
+
"ref": itemRef
|
|
393
|
+
}, _ref5))), /*#__PURE__*/_react["default"].createElement(optionPropsContext.Provider, {
|
|
394
|
+
value: optionPropsContextValue
|
|
395
|
+
}, hasCheckbox && !hasContent ? /*#__PURE__*/_react["default"].createElement(Select.Option.Content, null, /*#__PURE__*/_react["default"].createElement(Children, _ref8.cn("Children", {}))) : /*#__PURE__*/_react["default"].createElement(Children, _ref8.cn("Children", {}))));
|
|
366
396
|
}
|
|
367
397
|
function Checkbox(providedProps) {
|
|
368
398
|
var optionProps = _react["default"].useContext(optionPropsContext);
|
|
@@ -373,7 +403,7 @@ function Checkbox(providedProps) {
|
|
|
373
403
|
size: optionProps === null || optionProps === void 0 ? void 0 : optionProps.size
|
|
374
404
|
}, providedProps || {});
|
|
375
405
|
}, [providedProps, optionProps]);
|
|
376
|
-
var _useBox = (0,
|
|
406
|
+
var _useBox = (0, _baseComponents.useBox)(props, props.forwardRef),
|
|
377
407
|
_useBox2 = (0, _slicedToArray2["default"])(_useBox, 2),
|
|
378
408
|
SOptionCheckbox = _useBox2[0],
|
|
379
409
|
componentProps = _useBox2[1];
|
|
@@ -397,27 +427,44 @@ function Checkbox(providedProps) {
|
|
|
397
427
|
tabIndex: -1
|
|
398
428
|
}));
|
|
399
429
|
}
|
|
430
|
+
function OptionText(providedProps) {
|
|
431
|
+
var _ref9;
|
|
432
|
+
var optionProps = _react["default"].useContext(optionPropsContext);
|
|
433
|
+
var selectedIndex = _react["default"].useContext(_dropdown.selectedIndexContext);
|
|
434
|
+
var props = _react["default"].useMemo(function () {
|
|
435
|
+
return (0, _objectSpread2["default"])({
|
|
436
|
+
key: optionProps === null || optionProps === void 0 ? void 0 : optionProps.id,
|
|
437
|
+
selected: optionProps === null || optionProps === void 0 ? void 0 : optionProps.selected,
|
|
438
|
+
disabled: optionProps === null || optionProps === void 0 ? void 0 : optionProps.disabled,
|
|
439
|
+
size: optionProps === null || optionProps === void 0 ? void 0 : optionProps.size
|
|
440
|
+
}, providedProps || {});
|
|
441
|
+
}, [providedProps, optionProps]);
|
|
442
|
+
return _ref9 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(_typography.Text, _ref9.cn("Text", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, props), {}, {
|
|
443
|
+
"hint:triggerRef": optionProps.itemRef,
|
|
444
|
+
"hint:visible": selectedIndex === optionProps.index,
|
|
445
|
+
"hint:placement": 'right'
|
|
446
|
+
})));
|
|
447
|
+
}
|
|
400
448
|
var InputSearchWrapper = function InputSearchWrapper() {
|
|
401
|
-
var
|
|
402
|
-
return /*#__PURE__*/_react["default"].createElement(_InputSearch["default"], (0, _core.assignProps)({},
|
|
449
|
+
var _ref6 = arguments[0];
|
|
450
|
+
return /*#__PURE__*/_react["default"].createElement(_InputSearch["default"], (0, _core.assignProps)({}, _ref6));
|
|
403
451
|
};
|
|
404
|
-
var Select = (0, _core
|
|
452
|
+
var Select = (0, _core.createComponent)(RootSelect, {
|
|
405
453
|
Trigger: [Trigger, {
|
|
406
454
|
Addon: _baseTrigger.ButtonTrigger.Addon,
|
|
407
455
|
Text: _baseTrigger.ButtonTrigger.Text
|
|
408
456
|
}],
|
|
409
457
|
Popper: _dropdown["default"].Popper,
|
|
410
458
|
List: _dropdownMenu["default"].List,
|
|
411
|
-
Menu:
|
|
459
|
+
Menu: Menu,
|
|
412
460
|
Option: [Option, {
|
|
413
461
|
Addon: _dropdownMenu["default"].Item.Addon,
|
|
414
462
|
Content: _dropdownMenu["default"].Item.Content,
|
|
463
|
+
Text: OptionText,
|
|
415
464
|
Hint: _dropdownMenu["default"].Item.Hint,
|
|
416
465
|
Checkbox: Checkbox
|
|
417
466
|
}],
|
|
418
467
|
Group: _dropdown["default"].Group,
|
|
419
|
-
OptionTitle: _dropdownMenu["default"].ItemTitle,
|
|
420
|
-
OptionHint: _dropdownMenu["default"].ItemHint,
|
|
421
468
|
Divider: _divider["default"],
|
|
422
469
|
InputSearch: [InputSearchWrapper, _InputSearch["default"]._______childrenComponents],
|
|
423
470
|
Input: [InputSearchWrapper, _InputSearch["default"]._______childrenComponents]
|
|
@@ -425,11 +472,9 @@ var Select = (0, _core["default"])(RootSelect, {
|
|
|
425
472
|
parent: _dropdownMenu["default"],
|
|
426
473
|
context: _context.selectContext
|
|
427
474
|
});
|
|
428
|
-
var wrapSelect = function wrapSelect(wrapper) {
|
|
475
|
+
var wrapSelect = exports.wrapSelect = function wrapSelect(wrapper) {
|
|
429
476
|
return wrapper;
|
|
430
477
|
};
|
|
431
|
-
exports.wrapSelect = wrapSelect;
|
|
432
478
|
Select.selectedIndexContext = _dropdown.selectedIndexContext;
|
|
433
|
-
var _default = Select;
|
|
434
|
-
exports["default"] = _default;
|
|
479
|
+
var _default = exports["default"] = Select;
|
|
435
480
|
//# sourceMappingURL=Select.js.map
|