@semcore/select 3.3.2 → 3.4.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 +18 -10
- package/lib/cjs/InputSearch.js.map +1 -1
- package/lib/cjs/Select.js +37 -26
- package/lib/cjs/Select.js.map +1 -1
- package/lib/cjs/index.d.js.map +1 -1
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js +46 -0
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -0
- package/lib/cjs/translations/de.json +6 -0
- package/lib/cjs/translations/en.json +6 -0
- package/lib/cjs/translations/es.json +6 -0
- package/lib/cjs/translations/fr.json +6 -0
- package/lib/cjs/translations/it.json +6 -0
- package/lib/cjs/translations/ja.json +6 -0
- package/lib/cjs/translations/ko.json +6 -0
- package/lib/cjs/translations/pt.json +6 -0
- package/lib/cjs/translations/tr.json +6 -0
- package/lib/cjs/translations/vi.json +6 -0
- package/lib/cjs/translations/zh.json +6 -0
- package/lib/es6/InputSearch.js +17 -10
- package/lib/es6/InputSearch.js.map +1 -1
- package/lib/es6/Select.js +35 -26
- package/lib/es6/Select.js.map +1 -1
- package/lib/es6/index.d.js.map +1 -1
- package/lib/es6/translations/__intergalactic-dynamic-locales.js +25 -0
- package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -0
- package/lib/es6/translations/de.json +6 -0
- package/lib/es6/translations/en.json +6 -0
- package/lib/es6/translations/es.json +6 -0
- package/lib/es6/translations/fr.json +6 -0
- package/lib/es6/translations/it.json +6 -0
- package/lib/es6/translations/ja.json +6 -0
- package/lib/es6/translations/ko.json +6 -0
- package/lib/es6/translations/pt.json +6 -0
- package/lib/es6/translations/tr.json +6 -0
- package/lib/es6/translations/vi.json +6 -0
- package/lib/es6/translations/zh.json +6 -0
- package/lib/types/index.d.ts +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/lib/cjs/InputSearch.js
CHANGED
|
@@ -35,6 +35,10 @@ var _input = _interopRequireDefault(require("@semcore/input"));
|
|
|
35
35
|
|
|
36
36
|
var _context = require("./context");
|
|
37
37
|
|
|
38
|
+
var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
|
|
39
|
+
|
|
40
|
+
var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
|
|
41
|
+
|
|
38
42
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
43
|
|
|
40
44
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -52,16 +56,16 @@ var style = (
|
|
|
52
56
|
/*__reshadow_css_start__*/
|
|
53
57
|
_core.sstyled.insert(
|
|
54
58
|
/*__inner_css_start__*/
|
|
55
|
-
".
|
|
59
|
+
".___SInputSearch_17yfe_gg_._size_m_17yfe_gg_{height:32px}.___SClose_17yfe_gg_.__hide_17yfe_gg_{visibility:hidden}.___SOutline_17yfe_gg_{top:-1px;left:-1px;width:100%;border-radius:var(--intergalactic-rounded-medium,6px) var(--intergalactic-rounded-medium,6px) 0 0}"
|
|
56
60
|
/*__inner_css_end__*/
|
|
57
|
-
, "
|
|
61
|
+
, "17yfe_gg_")
|
|
58
62
|
/*__reshadow_css_end__*/
|
|
59
63
|
, {
|
|
60
|
-
"__SInputSearch": "
|
|
61
|
-
"_size_m": "
|
|
62
|
-
"__SClose": "
|
|
63
|
-
"_hide": "
|
|
64
|
-
"__SOutline": "
|
|
64
|
+
"__SInputSearch": "___SInputSearch_17yfe_gg_",
|
|
65
|
+
"_size_m": "_size_m_17yfe_gg_",
|
|
66
|
+
"__SClose": "___SClose_17yfe_gg_",
|
|
67
|
+
"_hide": "__hide_17yfe_gg_",
|
|
68
|
+
"__SOutline": "___SOutline_17yfe_gg_"
|
|
65
69
|
});
|
|
66
70
|
var MAP_SIZE_TO_ICON = {
|
|
67
71
|
m: [_m["default"], _m2["default"]],
|
|
@@ -108,7 +112,8 @@ var InputSearch = /*#__PURE__*/function (_Component) {
|
|
|
108
112
|
var _this$asProps = this.asProps,
|
|
109
113
|
size = _this$asProps.size,
|
|
110
114
|
value = _this$asProps.value,
|
|
111
|
-
styles = _this$asProps.styles
|
|
115
|
+
styles = _this$asProps.styles,
|
|
116
|
+
getI18nText = _this$asProps.getI18nText;
|
|
112
117
|
var finalSize = size || this.context.size;
|
|
113
118
|
var hideClose = !value;
|
|
114
119
|
var IconClose = MAP_SIZE_TO_ICON[finalSize][1];
|
|
@@ -123,7 +128,7 @@ var InputSearch = /*#__PURE__*/function (_Component) {
|
|
|
123
128
|
"hide": hideClose,
|
|
124
129
|
"aria-hidden": hideClose,
|
|
125
130
|
"interactive": true,
|
|
126
|
-
"aria-label":
|
|
131
|
+
"aria-label": getI18nText('clearSearch'),
|
|
127
132
|
"onClick": this.handleClear
|
|
128
133
|
}), /*#__PURE__*/_react["default"].createElement(IconClose, _ref2.cn("IconClose", {}))));
|
|
129
134
|
}
|
|
@@ -133,8 +138,11 @@ var InputSearch = /*#__PURE__*/function (_Component) {
|
|
|
133
138
|
|
|
134
139
|
(0, _defineProperty2["default"])(InputSearch, "displayName", 'InputSearch');
|
|
135
140
|
(0, _defineProperty2["default"])(InputSearch, "style", style);
|
|
141
|
+
(0, _defineProperty2["default"])(InputSearch, "enhance", [(0, _i18nEnhance["default"])(_intergalacticDynamicLocales.localizedMessages)]);
|
|
136
142
|
(0, _defineProperty2["default"])(InputSearch, "defaultProps", {
|
|
137
|
-
defaultValue: ''
|
|
143
|
+
defaultValue: '',
|
|
144
|
+
i18n: _intergalacticDynamicLocales.localizedMessages,
|
|
145
|
+
locale: 'en'
|
|
138
146
|
});
|
|
139
147
|
(0, _defineProperty2["default"])(InputSearch, "contextType", _context.selectContext);
|
|
140
148
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputSearch.js","names":["MAP_SIZE_TO_ICON","m","SearchM","CloseM","l","InputSearch","e","handlers","value","Value","Input","SInputSearch","SClose","Addon","asProps","size","styles","finalSize","context","hideClose","IconClose","IconSearch","sstyled","handleClear","Component","style","defaultValue","selectContext","createComponent"],"sources":["../../src/InputSearch.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport SearchM from '@semcore/icon/Search/m';\nimport CloseM from '@semcore/icon/Close/m';\nimport Input from '@semcore/input';\nimport { selectContext } from './context';\n\nimport style from './style/input-search.shadow.css';\n\nconst MAP_SIZE_TO_ICON = {\n m: [SearchM, CloseM],\n l: [SearchM, CloseM],\n};\n\nclass InputSearch extends Component {\n static displayName = 'InputSearch';\n\n static style = style;\n
|
|
1
|
+
{"version":3,"file":"InputSearch.js","names":["MAP_SIZE_TO_ICON","m","SearchM","CloseM","l","InputSearch","e","handlers","value","Value","Input","SInputSearch","SClose","Addon","asProps","size","styles","getI18nText","finalSize","context","hideClose","IconClose","IconSearch","sstyled","handleClear","Component","style","i18nEnhance","localizedMessages","defaultValue","i18n","locale","selectContext","createComponent"],"sources":["../../src/InputSearch.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport SearchM from '@semcore/icon/Search/m';\nimport CloseM from '@semcore/icon/Close/m';\nimport Input from '@semcore/input';\nimport { selectContext } from './context';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/input-search.shadow.css';\n\nconst MAP_SIZE_TO_ICON = {\n m: [SearchM, CloseM],\n l: [SearchM, CloseM],\n};\n\nclass InputSearch extends Component {\n static displayName = 'InputSearch';\n\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n defaultValue: '',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n static contextType = selectContext;\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleClear = (e) => {\n this.handlers.value('', e);\n };\n\n render() {\n const Value = Root;\n const SInputSearch = Input;\n const SClose = Input.Addon;\n const { size, value, styles, getI18nText } = this.asProps;\n const finalSize = size || this.context.size;\n const hideClose = !value;\n const IconClose = MAP_SIZE_TO_ICON[finalSize][1];\n const IconSearch = MAP_SIZE_TO_ICON[finalSize][0];\n\n return sstyled(styles)(\n <SInputSearch size={finalSize} styles={styles}>\n <Input.Addon>\n <IconSearch />\n </Input.Addon>\n <Value render={Input.Value} autoFocus />\n <SClose\n role=\"button\"\n /* hide through css because the width of the input changes */\n hide={hideClose}\n aria-hidden={hideClose}\n interactive\n aria-label={getI18nText('clearSearch')}\n onClick={this.handleClear}\n >\n <IconClose />\n </SClose>\n </SInputSearch>,\n );\n }\n}\n\nexport default createComponent(InputSearch);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,gBAAgB,GAAG;EACvBC,CAAC,EAAE,CAACC,aAAD,EAAUC,cAAV,CADoB;EAEvBC,CAAC,EAAE,CAACF,aAAD,EAAUC,cAAV;AAFoB,CAAzB;;IAKME,W;;;;;;;;;;;;;;;oGAmBU,UAACC,CAAD,EAAO;MACnB,MAAKC,QAAL,CAAcC,KAAd,CAAoB,EAApB,EAAwBF,CAAxB;IACD,C;;;;;;WARD,6BAAoB;MAClB,OAAO;QACLE,KAAK,EAAE;MADF,CAAP;IAGD;;;WAMD,kBAAS;MAAA;MAAA;;MACP,IAAMC,KAAK,GAcQC,iBAAA,CAAMD,KAdzB;MACA,IAAME,YAAY,GAAGD,iBAArB;MACA,IAAME,MAAM,GAAGF,iBAAA,CAAMG,KAArB;MACA,oBAA6C,KAAKC,OAAlD;MAAA,IAAQC,IAAR,iBAAQA,IAAR;MAAA,IAAcP,KAAd,iBAAcA,KAAd;MAAA,IAAqBQ,MAArB,iBAAqBA,MAArB;MAAA,IAA6BC,WAA7B,iBAA6BA,WAA7B;MACA,IAAMC,SAAS,GAAGH,IAAI,IAAI,KAAKI,OAAL,CAAaJ,IAAvC;MACA,IAAMK,SAAS,GAAG,CAACZ,KAAnB;MACA,IAAMa,SAAS,GAAGrB,gBAAgB,CAACkB,SAAD,CAAhB,CAA4B,CAA5B,CAAlB;MACA,IAAMI,UAAU,GAAGtB,gBAAgB,CAACkB,SAAD,CAAhB,CAA4B,CAA5B,CAAnB;MAEA,eAAO,IAAAK,aAAA,EAAQP,MAAR,CAAP,eACE,gCAAC,YAAD;QAAA,QAAoBE,SAApB;QAAA,UAAuCF;MAAvC,iBACE,gCAAC,iBAAD,CAAO,KAAP,qBACE,gCAAC,UAAD,6BADF,CADF,eAIE,gCAAC,KAAD;QAAA;MAAA,WAJF,eAKE,gCAAC,MAAD;QAAA,QACO,QADP;QAAA,QAGQI,SAHR;QAAA,eAIeA,SAJf;QAAA;QAAA,cAMcH,WAAW,CAAC,aAAD,CANzB;QAAA,WAOW,KAAKO;MAPhB,iBASE,gCAAC,SAAD,4BATF,CALF,CADF;IAmBD;;;EApDuBC,e;;iCAApBpB,W,iBACiB,a;iCADjBA,W,WAGWqB,K;iCAHXrB,W,aAIa,CAAC,IAAAsB,uBAAA,EAAYC,8CAAZ,CAAD,C;iCAJbvB,W,kBAKkB;EACpBwB,YAAY,EAAE,EADM;EAEpBC,IAAI,EAAEF,8CAFc;EAGpBG,MAAM,EAAE;AAHY,C;iCALlB1B,W,iBAWiB2B,sB;;eA4CR,IAAAC,gBAAA,EAAgB5B,WAAhB,C"}
|
package/lib/cjs/Select.js
CHANGED
|
@@ -59,6 +59,10 @@ var _context = require("./context");
|
|
|
59
59
|
|
|
60
60
|
var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
|
|
61
61
|
|
|
62
|
+
var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
|
|
63
|
+
|
|
64
|
+
var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
|
|
65
|
+
|
|
62
66
|
var _excluded = ["Children", "options", "multiselect", "value"];
|
|
63
67
|
|
|
64
68
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -78,17 +82,17 @@ var style = (
|
|
|
78
82
|
/*__reshadow_css_start__*/
|
|
79
83
|
_core.sstyled.insert(
|
|
80
84
|
/*__inner_css_start__*/
|
|
81
|
-
".
|
|
85
|
+
".___SOptionCheckbox_1i1rn_gg_{margin-top:var(--intergalactic-spacing-05x,2px);margin-right:var(--intergalactic-spacing-2x,8px);margin-bottom:auto;position:relative;flex-shrink:0}.___SOptionCheckbox_1i1rn_gg_:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--intergalactic-bg-primary-neutral,#fff);border:1px solid;border-radius:var(--intergalactic-rounded-small,4px);border-color:var(--intergalactic-border-primary,#c4c7cf)}.___SOptionCheckbox_1i1rn_gg_{width:16px;height:16px}.___SOptionCheckbox_1i1rn_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:50%;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOC4yNSAxTDQgNS4yNSAxLjc1IDMiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=\")}.___SOptionCheckbox_1i1rn_gg_._size_l_1i1rn_gg_{width:20px;height:20px}.___SOptionCheckbox_1i1rn_gg_._size_l_1i1rn_gg_:after{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTEgMS41TDQuNzUgNy43NSAxIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=\")}.___SOptionCheckbox_1i1rn_gg_.__checked_1i1rn_gg_:before{background-color:var(--intergalactic-control-primary-info,#008ff8);border-color:var(--intergalactic-control-primary-info,#008ff8)}.___SOptionCheckbox_1i1rn_gg_.__theme_1i1rn_gg_:before{border-color:var(--theme_1i1rn)}.___SOptionCheckbox_1i1rn_gg_.__theme_1i1rn_gg_.__checked_1i1rn_gg_:before{background-color:var(--theme_1i1rn);border-color:var(--theme_1i1rn)}.___SOptionCheckbox_1i1rn_gg_.__selected_1i1rn_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected,rgba(196,229,254,.7))}.___SOptionCheckbox_1i1rn_gg_.__selected_1i1rn_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover,#c4e5fe)}"
|
|
82
86
|
/*__inner_css_end__*/
|
|
83
|
-
, "
|
|
87
|
+
, "1i1rn_gg_")
|
|
84
88
|
/*__reshadow_css_end__*/
|
|
85
89
|
, {
|
|
86
|
-
"__SOptionCheckbox": "
|
|
87
|
-
"_size_l": "
|
|
88
|
-
"_checked": "
|
|
89
|
-
"_theme": "
|
|
90
|
-
"--theme": "--
|
|
91
|
-
"_selected": "
|
|
90
|
+
"__SOptionCheckbox": "___SOptionCheckbox_1i1rn_gg_",
|
|
91
|
+
"_size_l": "_size_l_1i1rn_gg_",
|
|
92
|
+
"_checked": "__checked_1i1rn_gg_",
|
|
93
|
+
"_theme": "__theme_1i1rn_gg_",
|
|
94
|
+
"--theme": "--theme_1i1rn",
|
|
95
|
+
"_selected": "__selected_1i1rn_gg_"
|
|
92
96
|
});
|
|
93
97
|
|
|
94
98
|
function isSelectedOption(value, valueOption) {
|
|
@@ -176,12 +180,13 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
176
180
|
name = _this$asProps2.name,
|
|
177
181
|
multiselect = _this$asProps2.multiselect,
|
|
178
182
|
uid = _this$asProps2.uid,
|
|
179
|
-
disablePortal = _this$asProps2.disablePortal
|
|
183
|
+
disablePortal = _this$asProps2.disablePortal,
|
|
184
|
+
getI18nText = _this$asProps2.getI18nText;
|
|
180
185
|
return {
|
|
181
186
|
id: "igc-".concat(uid, "-trigger"),
|
|
182
187
|
'aria-controls': visible ? "igc-".concat(uid, "-list") : undefined,
|
|
183
188
|
'aria-flowto': visible && !disablePortal ? "igc-".concat(uid, "-list") : undefined,
|
|
184
|
-
'aria-label': visible && !disablePortal ?
|
|
189
|
+
'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,
|
|
185
190
|
'aria-haspopup': 'listbox',
|
|
186
191
|
empty: isEmptyValue(value),
|
|
187
192
|
size: size,
|
|
@@ -194,7 +199,8 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
194
199
|
disabled: disabled,
|
|
195
200
|
active: visible,
|
|
196
201
|
onClear: this.handlerClear,
|
|
197
|
-
children: this.renderChildrenTrigger(value, options)
|
|
202
|
+
children: this.renderChildrenTrigger(value, options),
|
|
203
|
+
getI18nText: getI18nText
|
|
198
204
|
};
|
|
199
205
|
}
|
|
200
206
|
}, {
|
|
@@ -214,20 +220,22 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
214
220
|
}, {
|
|
215
221
|
key: "getMenuProps",
|
|
216
222
|
value: function getMenuProps() {
|
|
217
|
-
var
|
|
223
|
+
var _this$asProps4 = this.asProps,
|
|
224
|
+
uid = _this$asProps4.uid,
|
|
225
|
+
getI18nText = _this$asProps4.getI18nText;
|
|
218
226
|
return {
|
|
219
227
|
id: "igc-".concat(uid, "-list"),
|
|
220
228
|
role: 'listbox',
|
|
221
|
-
'aria-label': '
|
|
229
|
+
'aria-label': getI18nText('optionsList'),
|
|
222
230
|
'aria-flowto': "igc-".concat(uid, "-trigger")
|
|
223
231
|
};
|
|
224
232
|
}
|
|
225
233
|
}, {
|
|
226
234
|
key: "getOptionProps",
|
|
227
235
|
value: function getOptionProps(props) {
|
|
228
|
-
var _this$
|
|
229
|
-
value = _this$
|
|
230
|
-
uid = _this$
|
|
236
|
+
var _this$asProps5 = this.asProps,
|
|
237
|
+
value = _this$asProps5.value,
|
|
238
|
+
uid = _this$asProps5.uid;
|
|
231
239
|
var selected = isSelectedOption(value, props.value);
|
|
232
240
|
var other = {};
|
|
233
241
|
this._optionSelected = selected;
|
|
@@ -328,12 +336,12 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
328
336
|
key: "render",
|
|
329
337
|
value: function render() {
|
|
330
338
|
var _ref2 = this.asProps;
|
|
331
|
-
var _this$
|
|
332
|
-
Children = _this$
|
|
333
|
-
options = _this$
|
|
334
|
-
multiselect = _this$
|
|
335
|
-
value = _this$
|
|
336
|
-
other = (0, _objectWithoutProperties2["default"])(_this$
|
|
339
|
+
var _this$asProps6 = this.asProps,
|
|
340
|
+
Children = _this$asProps6.Children,
|
|
341
|
+
options = _this$asProps6.options,
|
|
342
|
+
multiselect = _this$asProps6.multiselect,
|
|
343
|
+
value = _this$asProps6.value,
|
|
344
|
+
other = (0, _objectWithoutProperties2["default"])(_this$asProps6, _excluded);
|
|
337
345
|
var advanceMode = (0, _findComponent["default"])(Children, [Select.Trigger.displayName, Select.Popper.displayName]);
|
|
338
346
|
|
|
339
347
|
_logger["default"].warn(options && advanceMode, "Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'", other['data-ui-name'] || Select.displayName);
|
|
@@ -360,13 +368,15 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
360
368
|
|
|
361
369
|
(0, _defineProperty2["default"])(RootSelect, "displayName", 'Select');
|
|
362
370
|
(0, _defineProperty2["default"])(RootSelect, "style", style);
|
|
363
|
-
(0, _defineProperty2["default"])(RootSelect, "enhance", [(0, _uniqueID["default"])()]);
|
|
371
|
+
(0, _defineProperty2["default"])(RootSelect, "enhance", [(0, _uniqueID["default"])(), (0, _i18nEnhance["default"])(_intergalacticDynamicLocales.localizedMessages)]);
|
|
364
372
|
(0, _defineProperty2["default"])(RootSelect, "defaultProps", function (props) {
|
|
365
373
|
return {
|
|
366
374
|
placeholder: props.multiselect ? 'Select options' : 'Select option',
|
|
367
375
|
size: 'm',
|
|
368
376
|
defaultValue: getEmptyValue(props.multiselect),
|
|
369
|
-
defaultVisible: false
|
|
377
|
+
defaultVisible: false,
|
|
378
|
+
i18n: _intergalacticDynamicLocales.localizedMessages,
|
|
379
|
+
locale: 'en'
|
|
370
380
|
};
|
|
371
381
|
});
|
|
372
382
|
|
|
@@ -387,11 +397,12 @@ function Trigger(_ref5) {
|
|
|
387
397
|
value = _ref5.value,
|
|
388
398
|
$hiddenRef = _ref5.$hiddenRef,
|
|
389
399
|
_ref5$tag = _ref5.tag,
|
|
390
|
-
Tag = _ref5$tag === void 0 ? _baseTrigger.ButtonTrigger : _ref5$tag
|
|
400
|
+
Tag = _ref5$tag === void 0 ? _baseTrigger.ButtonTrigger : _ref5$tag,
|
|
401
|
+
getI18nText = _ref5.getI18nText;
|
|
391
402
|
var hasInputTrigger = isInputTriggerTag(Tag);
|
|
392
403
|
return /*#__PURE__*/_react["default"].createElement(_dropdownMenu["default"].Trigger, (0, _core.assignProps)({
|
|
393
404
|
"tag": Tag,
|
|
394
|
-
"placeholder":
|
|
405
|
+
"placeholder": getI18nText('selectPlaceholder'),
|
|
395
406
|
"aria-autocomplete": hasInputTrigger && 'list' || undefined,
|
|
396
407
|
"role": hasInputTrigger && 'combobox' || undefined,
|
|
397
408
|
"aria-activedescendant": hasInputTrigger && value && "igc-".concat(uid, "-option-").concat(value) || undefined
|
package/lib/cjs/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","RootSelect","React","createRef","optionValue","e","newValue","asProps","filter","v","concat","handlers","visible","emptyValue","size","disabled","state","placeholder","options","forwardRef","name","uid","disablePortal","id","undefined","empty","$hiddenRef","active","onClear","handlerClear","children","renderChildrenTrigger","role","props","selected","other","_optionSelected","isScrolledToFirstOption","ref","firstSelectedOptionRef","onClick","bindHandlerOptionClick","hasOption","optionProps","getOptionProps","my","reduce","acc","selectedOption","find","o","push","label","setTimeout","current","scrollIntoView","block","inline","scrollToSelectedOption","prevProps","prevState","Children","advanceMode","findComponent","Select","Trigger","displayName","Popper","logger","warn","DropdownMenu","map","option","i","Component","style","uniqueIDEnhancement","defaultValue","defaultVisible","isInputTriggerTag","tag","toLowerCase","render","Tag","ButtonTrigger","hasInputTrigger","addonTextChildren","Text","Addon","Checkbox","useBox","SOptionCheckbox","componentProps","theme","styles","sstyled","cn","resolveColor","checked","className","InputSearchWrapper","InputSearch","createComponent","List","Menu","Option","Item","OptionTitle","ItemTitle","OptionHint","ItemHint","Divider","Input","parent","context","selectContext"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport 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 resolveColor from '@semcore/utils/lib/color';\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';\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\nclass RootSelect extends Component {\n static displayName = 'Select';\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\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 });\n\n firstSelectedOptionRef = 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 } = this.asProps;\n\n return {\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-list` : undefined,\n 'aria-flowto': visible && !disablePortal ? `igc-${uid}-list` : undefined,\n 'aria-label': visible && !disablePortal ? `Press Tab to go to popover` : undefined,\n 'aria-haspopup': 'listbox',\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 };\n }\n\n getListProps() {\n const { multiselect, uid } = this.asProps;\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': 'List of options',\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getMenuProps() {\n const { uid } = this.asProps;\n\n return {\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': 'List of options',\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getOptionProps(props) {\n const { value, uid } = this.asProps;\n const selected = isSelectedOption(value, props.value);\n const other = {};\n this._optionSelected = selected;\n\n if (selected && !this.isScrolledToFirstOption) {\n other.ref = this.firstSelectedOptionRef;\n this.isScrolledToFirstOption = true;\n }\n\n return {\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n id: `igc-${uid}-option-${props.value}`,\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value),\n ...other,\n };\n }\n\n getOptionCheckboxProps(props) {\n const { size } = this.asProps;\n const hasOption = props.value === undefined;\n const optionProps = hasOption ? {} : this.getOptionProps(props);\n const selected = this._optionSelected;\n this._optionSelected = null;\n return {\n ...optionProps,\n size,\n selected,\n };\n }\n\n getDividerProps() {\n return { my: 1 };\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 } = 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) this.handlers.visible(false);\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 scrollToSelectedOption() {\n setTimeout(() => {\n this.firstSelectedOptionRef.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }, 0);\n }\n\n componentDidMount() {\n const { visible } = this.asProps;\n if (visible) {\n this.scrollToSelectedOption();\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n const { visible } = this.asProps;\n if (visible) {\n this.isScrolledToFirstOption = false;\n\n if (prevProps.visible === undefined) {\n if (prevState.visible !== visible) this.scrollToSelectedOption();\n } else {\n if (prevProps.visible !== visible) this.scrollToSelectedOption();\n }\n }\n }\n\n render() {\n const { Children, options, multiselect, value, ...other } = this.asProps;\n const advanceMode = findComponent(Children, [\n Select.Trigger.displayName,\n Select.Popper.displayName,\n ]);\n\n logger.warn(\n options && advanceMode,\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} tanIndex={-1} role=\"button\" />\n <Select.Menu>\n {options.map((option, i) => {\n return (\n <Select.Option key={i} id={option.value} aria-selected={value === i} {...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\nconst isInputTriggerTag = (tag) => {\n if (typeof tag === 'string') return tag.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.displayName === 'string')\n return tag.displayName.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.render?.displayName === 'string')\n return tag.render.displayName.toLowerCase().includes('input');\n return false;\n};\n\nfunction Trigger({ Children, name, uid, value, $hiddenRef, tag: Tag = ButtonTrigger }) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n\n return (\n <Root\n render={DropdownMenu.Trigger}\n tag={Tag}\n placeholder=\"Select option\"\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n role={(hasInputTrigger && 'combobox') || undefined}\n aria-activedescendant={\n (hasInputTrigger && value && `igc-${uid}-option-${value}`) || undefined\n }\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n )}\n {name && <input type=\"hidden\" defaultValue={value} name={name} ref={$hiddenRef} />}\n </Root>\n );\n}\n\nfunction Checkbox(props) {\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n checked: selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n role=\"checkbox\"\n tabIndex={0}\n aria-checked={selected}\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 DropdownMenu.Item,\n {\n Addon: DropdownMenu.Item.Addon,\n Checkbox,\n },\n ],\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: InputSearchWrapper,\n Input: InputSearchWrapper,\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport default Select;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","RootSelect","React","createRef","optionValue","e","newValue","asProps","filter","v","concat","handlers","visible","emptyValue","size","disabled","state","placeholder","options","forwardRef","name","uid","disablePortal","getI18nText","id","undefined","empty","$hiddenRef","active","onClear","handlerClear","children","renderChildrenTrigger","role","props","selected","other","_optionSelected","isScrolledToFirstOption","ref","firstSelectedOptionRef","onClick","bindHandlerOptionClick","hasOption","optionProps","getOptionProps","my","reduce","acc","selectedOption","find","o","push","label","setTimeout","current","scrollIntoView","block","inline","scrollToSelectedOption","prevProps","prevState","Children","advanceMode","findComponent","Select","Trigger","displayName","Popper","logger","warn","DropdownMenu","map","option","i","Component","style","uniqueIDEnhancement","i18nEnhance","localizedMessages","defaultValue","defaultVisible","i18n","locale","isInputTriggerTag","tag","toLowerCase","render","Tag","ButtonTrigger","hasInputTrigger","addonTextChildren","Text","Addon","Checkbox","useBox","SOptionCheckbox","componentProps","theme","styles","sstyled","cn","resolveColor","checked","className","InputSearchWrapper","InputSearch","createComponent","List","Menu","Option","Item","OptionTitle","ItemTitle","OptionHint","ItemHint","Divider","Input","parent","context","selectContext"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport 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 resolveColor from '@semcore/utils/lib/color';\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';\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\nclass RootSelect extends Component {\n static displayName = 'Select';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\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 i18n: localizedMessages,\n locale: 'en',\n });\n\n firstSelectedOptionRef = 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 'aria-flowto': visible && !disablePortal ? `igc-${uid}-list` : undefined,\n 'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-haspopup': 'listbox',\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 };\n }\n\n getListProps() {\n const { multiselect, uid } = this.asProps;\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': 'List of options',\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getMenuProps() {\n const { uid, getI18nText } = this.asProps;\n\n return {\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': getI18nText('optionsList'),\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getOptionProps(props) {\n const { value, uid } = this.asProps;\n const selected = isSelectedOption(value, props.value);\n const other = {};\n this._optionSelected = selected;\n\n if (selected && !this.isScrolledToFirstOption) {\n other.ref = this.firstSelectedOptionRef;\n this.isScrolledToFirstOption = true;\n }\n\n return {\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n id: `igc-${uid}-option-${props.value}`,\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value),\n ...other,\n };\n }\n\n getOptionCheckboxProps(props) {\n const { size } = this.asProps;\n const hasOption = props.value === undefined;\n const optionProps = hasOption ? {} : this.getOptionProps(props);\n const selected = this._optionSelected;\n this._optionSelected = null;\n return {\n ...optionProps,\n size,\n selected,\n };\n }\n\n getDividerProps() {\n return { my: 1 };\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 } = 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) this.handlers.visible(false);\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 scrollToSelectedOption() {\n setTimeout(() => {\n this.firstSelectedOptionRef.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }, 0);\n }\n\n componentDidMount() {\n const { visible } = this.asProps;\n if (visible) {\n this.scrollToSelectedOption();\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n const { visible } = this.asProps;\n if (visible) {\n this.isScrolledToFirstOption = false;\n\n if (prevProps.visible === undefined) {\n if (prevState.visible !== visible) this.scrollToSelectedOption();\n } else {\n if (prevProps.visible !== visible) this.scrollToSelectedOption();\n }\n }\n }\n\n render() {\n const { Children, options, multiselect, value, ...other } = this.asProps;\n const advanceMode = findComponent(Children, [\n Select.Trigger.displayName,\n Select.Popper.displayName,\n ]);\n\n logger.warn(\n options && advanceMode,\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} tanIndex={-1} role=\"button\" />\n <Select.Menu>\n {options.map((option, i) => {\n return (\n <Select.Option key={i} id={option.value} aria-selected={value === i} {...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\nconst isInputTriggerTag = (tag) => {\n if (typeof tag === 'string') return tag.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.displayName === 'string')\n return tag.displayName.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.render?.displayName === 'string')\n return tag.render.displayName.toLowerCase().includes('input');\n return false;\n};\n\nfunction Trigger({\n Children,\n name,\n uid,\n value,\n $hiddenRef,\n tag: Tag = ButtonTrigger,\n getI18nText,\n}) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n\n return (\n <Root\n render={DropdownMenu.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n role={(hasInputTrigger && 'combobox') || undefined}\n aria-activedescendant={\n (hasInputTrigger && value && `igc-${uid}-option-${value}`) || undefined\n }\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n )}\n {name && <input type=\"hidden\" defaultValue={value} name={name} ref={$hiddenRef} />}\n </Root>\n );\n}\n\nfunction Checkbox(props) {\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n checked: selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n role=\"checkbox\"\n tabIndex={0}\n aria-checked={selected}\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 DropdownMenu.Item,\n {\n Addon: DropdownMenu.Item.Addon,\n Checkbox,\n },\n ],\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: InputSearchWrapper,\n Input: InputSearchWrapper,\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport default Select;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,gBAAT,CAA0BC,KAA1B,EAAiCC,WAAjC,EAA8C;EAC5C,OAAOC,KAAK,CAACC,OAAN,CAAcH,KAAd,IAAuBA,KAAK,CAACI,QAAN,CAAeH,WAAf,CAAvB,GAAqDA,WAAW,KAAKD,KAA5E;AACD;;AAED,SAASK,YAAT,CAAsBL,KAAtB,EAA6B;EAC3B,OAAOE,KAAK,CAACC,OAAN,CAAcH,KAAd,IAAuBA,KAAK,CAACM,MAAN,KAAiB,CAAxC,GAA4CN,KAAK,KAAK,IAA7D;AACD;;AAED,SAASO,aAAT,CAAuBC,WAAvB,EAAoC;EAClC,OAAOA,WAAW,GAAG,EAAH,GAAQ,IAA1B;AACD;;IAEKC,U;;;;;;;;;;;;;;;4HAeqBC,iBAAA,CAAMC,SAAN,E;gHAEC,K;+GA+HD,UAACC,WAAD;MAAA,OAAiB,UAACC,CAAD,EAAO;QAC/C,IAAIC,QAAQ,GAAGF,WAAf;QACA,oBAA+B,MAAKG,OAApC;QAAA,IAAQf,KAAR,iBAAQA,KAAR;QAAA,IAAeQ,WAAf,iBAAeA,WAAf;;QACA,IAAIN,KAAK,CAACC,OAAN,CAAcH,KAAd,CAAJ,EAA0B;UACxB,IAAIA,KAAK,CAACI,QAAN,CAAeQ,WAAf,CAAJ,EAAiC;YAC/BE,QAAQ,GAAGd,KAAK,CAACgB,MAAN,CAAa,UAACC,CAAD;cAAA,OAAOA,CAAC,KAAKL,WAAb;YAAA,CAAb,CAAX;UACD,CAFD,MAEO;YACLE,QAAQ,GAAGd,KAAK,CAACkB,MAAN,CAAaN,WAAb,CAAX;UACD;QACF;;QACD,MAAKO,QAAL,CAAcnB,KAAd,CAAoBc,QAApB,EAA8BD,CAA9B;;QACA,IAAI,CAACL,WAAL,EAAkB,MAAKW,QAAL,CAAcC,OAAd,CAAsB,KAAtB;MACnB,CAZwB;IAAA,C;qGAcV,UAACP,CAAD,EAAO;MACpB,IAAQb,KAAR,GAAkB,MAAKe,OAAvB,CAAQf,KAAR;MACA,IAAMqB,UAAU,GAAGd,aAAa,CAACL,KAAK,CAACC,OAAN,CAAcH,KAAd,CAAD,CAAhC;;MACA,MAAKmB,QAAL,CAAcnB,KAAd,CAAoBqB,UAApB,EAAgCR,CAAhC;;MACA,MAAKM,QAAL,CAAcC,OAAd,CAAsB,KAAtB;IACD,C;;;;;;WAhJD,6BAAoB;MAClB,OAAO;QACLA,OAAO,EAAE,IADJ;QAELpB,KAAK,EAAE;MAFF,CAAP;IAID;;;WAED,2BAAkB;MAChB,qBAcI,KAAKe,OAdT;MAAA,IACEO,IADF,kBACEA,IADF;MAAA,IAEEC,QAFF,kBAEEA,QAFF;MAAA,IAGEH,OAHF,kBAGEA,OAHF;MAAA,IAIEI,KAJF,kBAIEA,KAJF;MAAA,IAKEC,WALF,kBAKEA,WALF;MAAA,IAMEzB,KANF,kBAMEA,KANF;MAAA,IAOE0B,OAPF,kBAOEA,OAPF;MAAA,IAQEC,UARF,kBAQEA,UARF;MAAA,IASEC,IATF,kBASEA,IATF;MAAA,IAUEpB,WAVF,kBAUEA,WAVF;MAAA,IAWEqB,GAXF,kBAWEA,GAXF;MAAA,IAYEC,aAZF,kBAYEA,aAZF;MAAA,IAaEC,WAbF,kBAaEA,WAbF;MAgBA,OAAO;QACLC,EAAE,gBAASH,GAAT,aADG;QAEL,iBAAiBT,OAAO,iBAAUS,GAAV,aAAuBI,SAF1C;QAGL,eAAeb,OAAO,IAAI,CAACU,aAAZ,iBAAmCD,GAAnC,aAAgDI,SAH1D;QAIL,cAAcb,OAAO,IAAI,CAACU,aAAZ,GAA4BC,WAAW,CAAC,aAAD,CAAvC,GAAyDE,SAJlE;QAKL,iBAAiB,SALZ;QAMLC,KAAK,EAAE7B,YAAY,CAACL,KAAD,CANd;QAOLsB,IAAI,EAAJA,IAPK;QAQLtB,KAAK,EAALA,KARK;QASL4B,IAAI,EAAJA,IATK;QAULO,UAAU,EAAER,UAVP;QAWLnB,WAAW,EAAXA,WAXK;QAYLgB,KAAK,EAALA,KAZK;QAaLC,WAAW,EAAXA,WAbK;QAcLF,QAAQ,EAARA,QAdK;QAeLa,MAAM,EAAEhB,OAfH;QAgBLiB,OAAO,EAAE,KAAKC,YAhBT;QAiBLC,QAAQ,EAAE,KAAKC,qBAAL,CAA2BxC,KAA3B,EAAkC0B,OAAlC,CAjBL;QAkBLK,WAAW,EAAXA;MAlBK,CAAP;IAoBD;;;WAED,wBAAe;MACb,qBAA6B,KAAKhB,OAAlC;MAAA,IAAQP,WAAR,kBAAQA,WAAR;MAAA,IAAqBqB,GAArB,kBAAqBA,GAArB;MACA,OAAO;QACL,wBAAwBrB,WAAW,GAAG,MAAH,GAAYyB,SAD1C;QAELD,EAAE,gBAASH,GAAT,UAFG;QAGLY,IAAI,EAAE,SAHD;QAIL,cAAc,iBAJT;QAKL,6BAAsBZ,GAAtB;MALK,CAAP;IAOD;;;WAED,wBAAe;MACb,qBAA6B,KAAKd,OAAlC;MAAA,IAAQc,GAAR,kBAAQA,GAAR;MAAA,IAAaE,WAAb,kBAAaA,WAAb;MAEA,OAAO;QACLC,EAAE,gBAASH,GAAT,UADG;QAELY,IAAI,EAAE,SAFD;QAGL,cAAcV,WAAW,CAAC,aAAD,CAHpB;QAIL,6BAAsBF,GAAtB;MAJK,CAAP;IAMD;;;WAED,wBAAea,KAAf,EAAsB;MACpB,qBAAuB,KAAK3B,OAA5B;MAAA,IAAQf,KAAR,kBAAQA,KAAR;MAAA,IAAe6B,GAAf,kBAAeA,GAAf;MACA,IAAMc,QAAQ,GAAG5C,gBAAgB,CAACC,KAAD,EAAQ0C,KAAK,CAAC1C,KAAd,CAAjC;MACA,IAAM4C,KAAK,GAAG,EAAd;MACA,KAAKC,eAAL,GAAuBF,QAAvB;;MAEA,IAAIA,QAAQ,IAAI,CAAC,KAAKG,uBAAtB,EAA+C;QAC7CF,KAAK,CAACG,GAAN,GAAY,KAAKC,sBAAjB;QACA,KAAKF,uBAAL,GAA+B,IAA/B;MACD;;MAED;QACEH,QAAQ,EAARA,QADF;QAEE,iBAAiBA,QAAQ,GAAG,MAAH,GAAY,OAFvC;QAGEX,EAAE,gBAASH,GAAT,qBAAuBa,KAAK,CAAC1C,KAA7B,CAHJ;QAIEyC,IAAI,EAAE,QAJR;QAKEQ,OAAO,EAAE,KAAKC,sBAAL,CAA4BR,KAAK,CAAC1C,KAAlC;MALX,GAMK4C,KANL;IAQD;;;WAED,gCAAuBF,KAAvB,EAA8B;MAC5B,IAAQpB,IAAR,GAAiB,KAAKP,OAAtB,CAAQO,IAAR;MACA,IAAM6B,SAAS,GAAGT,KAAK,CAAC1C,KAAN,KAAgBiC,SAAlC;MACA,IAAMmB,WAAW,GAAGD,SAAS,GAAG,EAAH,GAAQ,KAAKE,cAAL,CAAoBX,KAApB,CAArC;MACA,IAAMC,QAAQ,GAAG,KAAKE,eAAtB;MACA,KAAKA,eAAL,GAAuB,IAAvB;MACA,uCACKO,WADL;QAEE9B,IAAI,EAAJA,IAFF;QAGEqB,QAAQ,EAARA;MAHF;IAKD;;;WAED,2BAAkB;MAChB,OAAO;QAAEW,EAAE,EAAE;MAAN,CAAP;IACD;;;WAED,+BAAsBtD,KAAtB,EAA6B0B,OAA7B,EAAsC;MACpC,IAAIA,OAAJ,EAAa;QACX,OAAO,GAAGR,MAAH,CAAUlB,KAAV,EAAiBuD,MAAjB,CAAwB,UAACC,GAAD,EAAMxD,KAAN,EAAgB;UAC7C,IAAMyD,cAAc,GAAG/B,OAAO,CAACgC,IAAR,CAAa,UAACC,CAAD;YAAA,OAAO5D,gBAAgB,CAACC,KAAD,EAAQ2D,CAAC,CAAC3D,KAAV,CAAvB;UAAA,CAAb,CAAvB;UACA,IAAI,CAACyD,cAAL,EAAqB,OAAOD,GAAP;UACrB,IAAIA,GAAG,CAAClD,MAAR,EAAgBkD,GAAG,CAACI,IAAJ,CAAS,IAAT;UAChBJ,GAAG,CAACI,IAAJ,CAASH,cAAc,CAACI,KAAf,IAAwBJ,cAAc,CAACzD,KAAhD;UACA,OAAOwD,GAAP;QACD,CANM,EAMJ,EANI,CAAP;MAOD;;MACD,OAAOtD,KAAK,CAACC,OAAN,CAAcH,KAAd,IACHA,KAAK,CAACuD,MAAN,CAAa,UAACC,GAAD,EAAMxD,KAAN,EAAgB;QAC3B,IAAIwD,GAAG,CAAClD,MAAR,EAAgBkD,GAAG,CAACI,IAAJ,CAAS,IAAT;QAChBJ,GAAG,CAACI,IAAJ,CAAS5D,KAAT;QACA,OAAOwD,GAAP;MACD,CAJD,EAIG,EAJH,CADG,GAMHxD,KANJ;IAOD;;;WAuBD,kCAAyB;MAAA;;MACvB8D,UAAU,CAAC,YAAM;QAAA;;QACf,+BAAI,CAACd,sBAAL,CAA4Be,OAA5B,gFAAqCC,cAArC,CAAoD;UAClDC,KAAK,EAAE,SAD2C;UAElDC,MAAM,EAAE;QAF0C,CAApD;MAID,CALS,EAKP,CALO,CAAV;IAMD;;;WAED,6BAAoB;MAClB,IAAQ9C,OAAR,GAAoB,KAAKL,OAAzB,CAAQK,OAAR;;MACA,IAAIA,OAAJ,EAAa;QACX,KAAK+C,sBAAL;MACD;IACF;;;WAED,4BAAmBC,SAAnB,EAA8BC,SAA9B,EAAyC;MACvC,IAAQjD,OAAR,GAAoB,KAAKL,OAAzB,CAAQK,OAAR;;MACA,IAAIA,OAAJ,EAAa;QACX,KAAK0B,uBAAL,GAA+B,KAA/B;;QAEA,IAAIsB,SAAS,CAAChD,OAAV,KAAsBa,SAA1B,EAAqC;UACnC,IAAIoC,SAAS,CAACjD,OAAV,KAAsBA,OAA1B,EAAmC,KAAK+C,sBAAL;QACpC,CAFD,MAEO;UACL,IAAIC,SAAS,CAAChD,OAAV,KAAsBA,OAA1B,EAAmC,KAAK+C,sBAAL;QACpC;MACF;IACF;;;WAED,kBAAS;MAAA;MACP,qBAA4D,KAAKpD,OAAjE;MAAA,IAAQuD,QAAR,kBAAQA,QAAR;MAAA,IAAkB5C,OAAlB,kBAAkBA,OAAlB;MAAA,IAA2BlB,WAA3B,kBAA2BA,WAA3B;MAAA,IAAwCR,KAAxC,kBAAwCA,KAAxC;MAAA,IAAkD4C,KAAlD;MACA,IAAM2B,WAAW,GAAG,IAAAC,yBAAA,EAAcF,QAAd,EAAwB,CAC1CG,MAAM,CAACC,OAAP,CAAeC,WAD2B,EAE1CF,MAAM,CAACG,MAAP,CAAcD,WAF4B,CAAxB,CAApB;;MAKAE,kBAAA,CAAOC,IAAP,CACEpD,OAAO,IAAI6C,WADb,EAEE,wFAFF,EAGE3B,KAAK,CAAC,cAAD,CAAL,IAAyB6B,MAAM,CAACE,WAHlC;;MAMA,IAAIjD,OAAJ,EAAa;QAAA;QACX,oBACE,gCAAcqD,wBAAd,iDACE,gCAAC,MAAD,CAAQ,OAAR,gCAAoBnC,KAApB;UAA2B,QAAQ,EAAE,CAAC,CAAtC;UAAyC,IAAI,EAAC;QAA9C,GADF,eAEE,gCAAC,MAAD,CAAQ,IAAR,QACGlB,OAAO,CAACsD,GAAR,CAAY,UAACC,MAAD,EAASC,CAAT,EAAe;UAC1B,oBACE,gCAAC,MAAD,CAAQ,MAAR;YAAe,GAAG,EAAEA,CAApB;YAAuB,EAAE,EAAED,MAAM,CAACjF,KAAlC;YAAyC,iBAAeA,KAAK,KAAKkF;UAAlE,GAAyED,MAAzE,GACGzE,WAAW,iBAAI,gCAAC,MAAD,CAAQ,MAAR,CAAe,QAAf,OADlB,EAEGyE,MAAM,CAAC1C,QAFV,CADF;QAMD,CAPA,CADH,CAFF,CADF;MAeD;;MAED,oBACE,gCAAcwC,wBAAd,kDACE,gCAAC,QAAD,OADF,CADF;IAKD;;;EAtOsBI,e;;iCAAnB1E,U,iBACiB,Q;iCADjBA,U,WAGW2E,K;iCAHX3E,U,aAIa,CAAC,IAAA4E,oBAAA,GAAD,EAAwB,IAAAC,uBAAA,EAAYC,8CAAZ,CAAxB,C;iCAJb9E,U,kBAMkB,UAACiC,KAAD;EAAA,OAAY;IAChCjB,WAAW,EAAEiB,KAAK,CAAClC,WAAN,GAAoB,gBAApB,GAAuC,eADpB;IAEhCc,IAAI,EAAE,GAF0B;IAGhCkE,YAAY,EAAEjF,aAAa,CAACmC,KAAK,CAAClC,WAAP,CAHK;IAIhCiF,cAAc,EAAE,KAJgB;IAKhCC,IAAI,EAAEH,8CAL0B;IAMhCI,MAAM,EAAE;EANwB,CAAZ;AAAA,C;;AAmOxB,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,GAAD,EAAS;EAAA;;EACjC,IAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B,OAAOA,GAAG,CAACC,WAAJ,GAAkB1F,QAAlB,CAA2B,OAA3B,CAAP;EAC7B,IAAI,yBAAOyF,GAAP,MAAe,QAAf,IAA2BA,GAAG,KAAK,IAAnC,IAA2C,OAAOA,GAAG,CAAClB,WAAX,KAA2B,QAA1E,EACE,OAAOkB,GAAG,CAAClB,WAAJ,CAAgBmB,WAAhB,GAA8B1F,QAA9B,CAAuC,OAAvC,CAAP;EACF,IAAI,yBAAOyF,GAAP,MAAe,QAAf,IAA2BA,GAAG,KAAK,IAAnC,IAA2C,uBAAOA,GAAG,CAACE,MAAX,gDAAO,YAAYpB,WAAnB,MAAmC,QAAlF,EACE,OAAOkB,GAAG,CAACE,MAAJ,CAAWpB,WAAX,CAAuBmB,WAAvB,GAAqC1F,QAArC,CAA8C,OAA9C,CAAP;EACF,OAAO,KAAP;AACD,CAPD;;AASA,SAASsE,OAAT,QAQG;EAAA;EAAA,IAPDJ,QAOC,SAPDA,QAOC;EAAA,IAND1C,IAMC,SANDA,IAMC;EAAA,IALDC,GAKC,SALDA,GAKC;EAAA,IAJD7B,KAIC,SAJDA,KAIC;EAAA,IAHDmC,UAGC,SAHDA,UAGC;EAAA,sBAFD0D,GAEC;EAAA,IAFIG,GAEJ,0BAFUC,0BAEV;EAAA,IADDlE,WACC,SADDA,WACC;EACD,IAAMmE,eAAe,GAAGN,iBAAiB,CAACI,GAAD,CAAzC;EAEA,oBACE,gCACUjB,wBAAA,CAAaL,OADvB;IAAA,OAEOsB,GAFP;IAAA,eAGejE,WAAW,CAAC,mBAAD,CAH1B;IAAA,qBAIsBmE,eAAe,IAAI,MAApB,IAA+BjE,SAJpD;IAAA,QAKSiE,eAAe,IAAI,UAApB,IAAmCjE,SAL3C;IAAA,yBAOKiE,eAAe,IAAIlG,KAAnB,kBAAmC6B,GAAnC,qBAAiD7B,KAAjD,CAAD,IAA8DiC;EAPlE,WAUG,IAAAkE,6BAAA,EACC7B,QADD,EAEC0B,GAAG,CAACI,IAAJ,IAAYH,0BAAA,CAAcG,IAF3B,EAGCJ,GAAG,CAACK,KAAJ,IAAaJ,0BAAA,CAAcI,KAH5B,CAVH,EAeGzE,IAAI,iBAAI;IAAO,IAAI,EAAC,QAAZ;IAAqB,YAAY,EAAE5B,KAAnC;IAA0C,IAAI,EAAE4B,IAAhD;IAAsD,GAAG,EAAEO;EAA3D,EAfX,CADF;AAmBD;;AAED,SAASmE,QAAT,CAAkB5D,KAAlB,EAAyB;EACvB,cAA0C,IAAA6D,eAAA,EAAO7D,KAAP,EAAcA,KAAK,CAACf,UAApB,CAA1C;EAAA;EAAA,IAAO6E,eAAP;EAAA,IAAwBC,cAAxB;;EACA,IAAQnF,IAAR,GAAkCoB,KAAlC,CAAQpB,IAAR;EAAA,IAAcoF,KAAd,GAAkChE,KAAlC,CAAcgE,KAAd;EAAA,IAAqB/D,QAArB,GAAkCD,KAAlC,CAAqBC,QAArB;EACA,IAAMgE,MAAM,GAAG,IAAAC,aAAA,EAAQlE,KAAK,CAACiE,MAAd,CAAf;;EAEA,iBAA6BA,MAAM,CAACE,EAAP,CAAU,iBAAV,EAA6B;IACxDvF,IAAI,EAAJA,IADwD;IAExD,aAAa,IAAAwF,iBAAA,EAAaJ,KAAb,CAF2C;IAGxDK,OAAO,EAAEpE;EAH+C,CAA7B,CAA7B;EAAA,IAAQqE,SAAR,cAAQA,SAAR;EAAA,IAAmB5B,KAAnB,cAAmBA,KAAnB;;EAMA,oBACE,gCAAC,eAAD,gCACMqB,cADN;IAEE,SAAS,EAAE,IAAAI,sBAAA,EAAGG,SAAH,EAAcP,cAAc,CAACO,SAA7B,KAA2C/E,SAFxD;IAGE,KAAK,kCAAOmD,KAAP,GAAiBqB,cAAc,CAACrB,KAAhC,CAHP;IAIE,IAAI,EAAC,UAJP;IAKE,QAAQ,EAAE,CALZ;IAME,gBAAczC;EANhB,GADF;AAUD;;AAED,IAAMsE,kBAAkB,GAAG,SAArBA,kBAAqB,GAAY;EAAA;EACrC,oBAAO,gCAAcC,uBAAd,oCAAP;AACD,CAFD;;AAIA,IAAMzC,MAAM,GAAG,IAAA0C,gBAAA,EACb1G,UADa,EAEb;EACEiE,OAAO,EAAE,CACPA,OADO,EAEP;IACE2B,KAAK,EAAEJ,0BAAA,CAAcI,KADvB;IAEED,IAAI,EAAEH,0BAAA,CAAcG;EAFtB,CAFO,CADX;EAQExB,MAAM,EAAEG,wBAAA,CAAaH,MARvB;EASEwC,IAAI,EAAErC,wBAAA,CAAaqC,IATrB;EAUEC,IAAI,EAAEtC,wBAAA,CAAasC,IAVrB;EAWEC,MAAM,EAAE,CACNvC,wBAAA,CAAawC,IADP,EAEN;IACElB,KAAK,EAAEtB,wBAAA,CAAawC,IAAb,CAAkBlB,KAD3B;IAEEC,QAAQ,EAARA;EAFF,CAFM,CAXV;EAkBEkB,WAAW,EAAEzC,wBAAA,CAAa0C,SAlB5B;EAmBEC,UAAU,EAAE3C,wBAAA,CAAa4C,QAnB3B;EAoBEC,OAAO,EAAPA,mBApBF;EAqBEV,WAAW,EAAED,kBArBf;EAsBEY,KAAK,EAAEZ;AAtBT,CAFa,EA0Bb;EAAEa,MAAM,EAAE/C,wBAAV;EAAwBgD,OAAO,EAAEC;AAAjC,CA1Ba,CAAf;eA6BevD,M"}
|
package/lib/cjs/index.d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React, { ComponentProps } from 'react';\nimport { CProps, Merge, PropGetterFn, ReturnEl } from '@semcore/core';\nimport DropdownMenu, {\n IDropdownMenuContext,\n IDropdownMenuItemProps,\n IDropdownMenuProps,\n IDropdownMenuHandlers,\n} from '@semcore/dropdown-menu';\nimport { ButtonTrigger, IBaseTriggerProps } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport { IInputValueProps } from '@semcore/input';\nimport { IBoxProps } from '@semcore/flex-box';\n\nexport interface ISelectInputSearch extends IInputValueProps {}\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\nexport interface ISelectProps<T extends SelectValue = SelectValue>\n extends IDropdownMenuProps,\n IBaseTriggerProps {\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?: (value: T, e: React.SyntheticEvent) => boolean | void;\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 * Input name\n */\n name?: string;\n}\n\nexport interface ISelectOption {\n value?: string | number;\n [key: string]: any;\n}\n\nexport interface ISelectOptionProps extends IDropdownMenuItemProps {\n /** Value of the option */\n value: string | number;\n}\n\nexport interface ISelectOptionCheckboxProps extends ISelectOptionProps {\n /** Checkbox theme */\n theme?: string;\n}\n\ndeclare const InputSearch: <T>(props: ISelectInputSearch & T) => ReturnEl;\n\nexport interface ISelectContext extends IDropdownMenuContext {\n getOptionProps: PropGetterFn;\n getOptionCheckboxProps: PropGetterFn;\n getDividerProps: PropGetterFn;\n}\n\nexport interface ISelectHandlers extends IDropdownMenuHandlers {\n value: (index: SelectValue) => void;\n}\n\ndeclare const Select: (<T, V extends SelectValue = SelectValue>(\n props: CProps<ISelectProps<V> & T, ISelectContext, ISelectHandlers>,\n) => ReturnEl) & {\n Trigger: (<T>(\n props: Merge<\n ComponentProps<typeof DropdownMenu.Trigger>,\n ComponentProps<typeof ButtonTrigger>\n > &\n T,\n ) => ReturnEl) & {\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 Option: (<T>(\n props: CProps<ISelectOptionProps & T, ISelectContext, ISelectHandlers>,\n ) => ReturnEl) & {\n Addon: typeof DropdownMenu.Item.Addon;\n Checkbox: <T>(\n props: CProps<IBoxProps & { theme?: string; selected?: boolean } & T>,\n ) => ReturnEl;\n };\n OptionTitle: typeof DropdownMenu.ItemTitle;\n OptionHint: typeof DropdownMenu.ItemHint;\n Divider: typeof Divider;\n InputSearch: typeof InputSearch;\n Input: typeof InputSearch;\n};\n\nexport { InputSearch };\nexport default Select;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React, { ComponentProps } from 'react';\nimport { CProps, Merge, PropGetterFn, ReturnEl } from '@semcore/core';\nimport DropdownMenu, {\n IDropdownMenuContext,\n IDropdownMenuItemProps,\n IDropdownMenuProps,\n IDropdownMenuHandlers,\n} from '@semcore/dropdown-menu';\nimport { ButtonTrigger, IBaseTriggerProps } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport { IInputValueProps } from '@semcore/input';\nimport { IBoxProps } from '@semcore/flex-box';\n\nexport interface ISelectInputSearch extends IInputValueProps {}\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\nexport interface ISelectProps<T extends SelectValue = SelectValue>\n extends IDropdownMenuProps,\n IBaseTriggerProps {\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?: (value: T, e: React.SyntheticEvent) => boolean | void;\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 * Input name\n */\n name?: string;\n locale?: string;\n}\n\nexport interface ISelectOption {\n value?: string | number;\n [key: string]: any;\n}\n\nexport interface ISelectOptionProps extends IDropdownMenuItemProps {\n /** Value of the option */\n value: string | number;\n}\n\nexport interface ISelectOptionCheckboxProps extends ISelectOptionProps {\n /** Checkbox theme */\n theme?: string;\n}\n\ndeclare const InputSearch: <T>(props: ISelectInputSearch & T) => ReturnEl;\n\nexport interface ISelectContext extends IDropdownMenuContext {\n getOptionProps: PropGetterFn;\n getOptionCheckboxProps: PropGetterFn;\n getDividerProps: PropGetterFn;\n}\n\nexport interface ISelectHandlers extends IDropdownMenuHandlers {\n value: (index: SelectValue) => void;\n}\n\ndeclare const Select: (<T, V extends SelectValue = SelectValue>(\n props: CProps<ISelectProps<V> & T, ISelectContext, ISelectHandlers>,\n) => ReturnEl) & {\n Trigger: (<T>(\n props: Merge<\n ComponentProps<typeof DropdownMenu.Trigger>,\n ComponentProps<typeof ButtonTrigger>\n > &\n T,\n ) => ReturnEl) & {\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 Option: (<T>(\n props: CProps<ISelectOptionProps & T, ISelectContext, ISelectHandlers>,\n ) => ReturnEl) & {\n Addon: typeof DropdownMenu.Item.Addon;\n Checkbox: <T>(\n props: CProps<IBoxProps & { theme?: string; selected?: boolean } & T>,\n ) => ReturnEl;\n };\n OptionTitle: typeof DropdownMenu.ItemTitle;\n OptionHint: typeof DropdownMenu.ItemHint;\n Divider: typeof Divider;\n InputSearch: typeof InputSearch;\n Input: typeof InputSearch;\n};\n\nexport { InputSearch };\nexport default Select;\n"],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.localizedMessages = void 0;
|
|
9
|
+
|
|
10
|
+
var _de = _interopRequireDefault(require("./de.json"));
|
|
11
|
+
|
|
12
|
+
var _en = _interopRequireDefault(require("./en.json"));
|
|
13
|
+
|
|
14
|
+
var _es = _interopRequireDefault(require("./es.json"));
|
|
15
|
+
|
|
16
|
+
var _fr = _interopRequireDefault(require("./fr.json"));
|
|
17
|
+
|
|
18
|
+
var _it = _interopRequireDefault(require("./it.json"));
|
|
19
|
+
|
|
20
|
+
var _ja = _interopRequireDefault(require("./ja.json"));
|
|
21
|
+
|
|
22
|
+
var _ko = _interopRequireDefault(require("./ko.json"));
|
|
23
|
+
|
|
24
|
+
var _pt = _interopRequireDefault(require("./pt.json"));
|
|
25
|
+
|
|
26
|
+
var _tr = _interopRequireDefault(require("./tr.json"));
|
|
27
|
+
|
|
28
|
+
var _vi = _interopRequireDefault(require("./vi.json"));
|
|
29
|
+
|
|
30
|
+
var _zh = _interopRequireDefault(require("./zh.json"));
|
|
31
|
+
|
|
32
|
+
var localizedMessages = {
|
|
33
|
+
de: _de["default"],
|
|
34
|
+
en: _en["default"],
|
|
35
|
+
es: _es["default"],
|
|
36
|
+
fr: _fr["default"],
|
|
37
|
+
it: _it["default"],
|
|
38
|
+
ja: _ja["default"],
|
|
39
|
+
ko: _ko["default"],
|
|
40
|
+
pt: _pt["default"],
|
|
41
|
+
tr: _tr["default"],
|
|
42
|
+
vi: _vi["default"],
|
|
43
|
+
zh: _zh["default"]
|
|
44
|
+
};
|
|
45
|
+
exports.localizedMessages = localizedMessages;
|
|
46
|
+
//# sourceMappingURL=__intergalactic-dynamic-locales.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__intergalactic-dynamic-locales.js","names":["localizedMessages","de","en","es","fr","it","ja","ko","pt","tr","vi","zh"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport pt from './pt.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n pt,\n tr,\n vi,\n zh,\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEO,IAAMA,iBAAiB,GAAG;EAC/BC,EAAE,EAAFA,cAD+B;EAE/BC,EAAE,EAAFA,cAF+B;EAG/BC,EAAE,EAAFA,cAH+B;EAI/BC,EAAE,EAAFA,cAJ+B;EAK/BC,EAAE,EAAFA,cAL+B;EAM/BC,EAAE,EAAFA,cAN+B;EAO/BC,EAAE,EAAFA,cAP+B;EAQ/BC,EAAE,EAAFA,cAR+B;EAS/BC,EAAE,EAAFA,cAT+B;EAU/BC,EAAE,EAAFA,cAV+B;EAW/BC,EAAE,EAAFA;AAX+B,CAA1B"}
|
package/lib/es6/InputSearch.js
CHANGED
|
@@ -22,22 +22,24 @@ import SearchM from '@semcore/icon/Search/m';
|
|
|
22
22
|
import CloseM from '@semcore/icon/Close/m';
|
|
23
23
|
import Input from '@semcore/input';
|
|
24
24
|
import { selectContext } from './context';
|
|
25
|
+
import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
|
|
26
|
+
import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
|
|
25
27
|
|
|
26
28
|
/*__reshadow-styles__:"./style/input-search.shadow.css"*/
|
|
27
29
|
var style = (
|
|
28
30
|
/*__reshadow_css_start__*/
|
|
29
31
|
_sstyled.insert(
|
|
30
32
|
/*__inner_css_start__*/
|
|
31
|
-
".
|
|
33
|
+
".___SInputSearch_17yfe_gg_._size_m_17yfe_gg_{height:32px}.___SClose_17yfe_gg_.__hide_17yfe_gg_{visibility:hidden}.___SOutline_17yfe_gg_{top:-1px;left:-1px;width:100%;border-radius:var(--intergalactic-rounded-medium,6px) var(--intergalactic-rounded-medium,6px) 0 0}"
|
|
32
34
|
/*__inner_css_end__*/
|
|
33
|
-
, "
|
|
35
|
+
, "17yfe_gg_")
|
|
34
36
|
/*__reshadow_css_end__*/
|
|
35
37
|
, {
|
|
36
|
-
"__SInputSearch": "
|
|
37
|
-
"_size_m": "
|
|
38
|
-
"__SClose": "
|
|
39
|
-
"_hide": "
|
|
40
|
-
"__SOutline": "
|
|
38
|
+
"__SInputSearch": "___SInputSearch_17yfe_gg_",
|
|
39
|
+
"_size_m": "_size_m_17yfe_gg_",
|
|
40
|
+
"__SClose": "___SClose_17yfe_gg_",
|
|
41
|
+
"_hide": "__hide_17yfe_gg_",
|
|
42
|
+
"__SOutline": "___SOutline_17yfe_gg_"
|
|
41
43
|
});
|
|
42
44
|
var MAP_SIZE_TO_ICON = {
|
|
43
45
|
m: [SearchM, CloseM],
|
|
@@ -86,7 +88,8 @@ var InputSearch = /*#__PURE__*/function (_Component) {
|
|
|
86
88
|
var _this$asProps = this.asProps,
|
|
87
89
|
size = _this$asProps.size,
|
|
88
90
|
value = _this$asProps.value,
|
|
89
|
-
styles = _this$asProps.styles
|
|
91
|
+
styles = _this$asProps.styles,
|
|
92
|
+
getI18nText = _this$asProps.getI18nText;
|
|
90
93
|
var finalSize = size || this.context.size;
|
|
91
94
|
var hideClose = !value;
|
|
92
95
|
var IconClose = MAP_SIZE_TO_ICON[finalSize][1];
|
|
@@ -101,7 +104,7 @@ var InputSearch = /*#__PURE__*/function (_Component) {
|
|
|
101
104
|
"hide": hideClose,
|
|
102
105
|
"aria-hidden": hideClose,
|
|
103
106
|
"interactive": true,
|
|
104
|
-
"aria-label":
|
|
107
|
+
"aria-label": getI18nText('clearSearch'),
|
|
105
108
|
"onClick": this.handleClear
|
|
106
109
|
}), /*#__PURE__*/React.createElement(IconClose, _ref2.cn("IconClose", {}))));
|
|
107
110
|
}
|
|
@@ -114,8 +117,12 @@ _defineProperty(InputSearch, "displayName", 'InputSearch');
|
|
|
114
117
|
|
|
115
118
|
_defineProperty(InputSearch, "style", style);
|
|
116
119
|
|
|
120
|
+
_defineProperty(InputSearch, "enhance", [i18nEnhance(localizedMessages)]);
|
|
121
|
+
|
|
117
122
|
_defineProperty(InputSearch, "defaultProps", {
|
|
118
|
-
defaultValue: ''
|
|
123
|
+
defaultValue: '',
|
|
124
|
+
i18n: localizedMessages,
|
|
125
|
+
locale: 'en'
|
|
119
126
|
});
|
|
120
127
|
|
|
121
128
|
_defineProperty(InputSearch, "contextType", selectContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputSearch.js","names":["React","createComponent","Component","sstyled","Root","SearchM","CloseM","Input","selectContext","MAP_SIZE_TO_ICON","m","l","InputSearch","e","handlers","value","Value","SInputSearch","SClose","Addon","asProps","size","styles","finalSize","context","hideClose","IconClose","IconSearch","handleClear","style","defaultValue"],"sources":["../../src/InputSearch.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport SearchM from '@semcore/icon/Search/m';\nimport CloseM from '@semcore/icon/Close/m';\nimport Input from '@semcore/input';\nimport { selectContext } from './context';\n\nimport style from './style/input-search.shadow.css';\n\nconst MAP_SIZE_TO_ICON = {\n m: [SearchM, CloseM],\n l: [SearchM, CloseM],\n};\n\nclass InputSearch extends Component {\n static displayName = 'InputSearch';\n\n static style = style;\n
|
|
1
|
+
{"version":3,"file":"InputSearch.js","names":["React","createComponent","Component","sstyled","Root","SearchM","CloseM","Input","selectContext","i18nEnhance","localizedMessages","MAP_SIZE_TO_ICON","m","l","InputSearch","e","handlers","value","Value","SInputSearch","SClose","Addon","asProps","size","styles","getI18nText","finalSize","context","hideClose","IconClose","IconSearch","handleClear","style","defaultValue","i18n","locale"],"sources":["../../src/InputSearch.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport SearchM from '@semcore/icon/Search/m';\nimport CloseM from '@semcore/icon/Close/m';\nimport Input from '@semcore/input';\nimport { selectContext } from './context';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/input-search.shadow.css';\n\nconst MAP_SIZE_TO_ICON = {\n m: [SearchM, CloseM],\n l: [SearchM, CloseM],\n};\n\nclass InputSearch extends Component {\n static displayName = 'InputSearch';\n\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n defaultValue: '',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n static contextType = selectContext;\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleClear = (e) => {\n this.handlers.value('', e);\n };\n\n render() {\n const Value = Root;\n const SInputSearch = Input;\n const SClose = Input.Addon;\n const { size, value, styles, getI18nText } = this.asProps;\n const finalSize = size || this.context.size;\n const hideClose = !value;\n const IconClose = MAP_SIZE_TO_ICON[finalSize][1];\n const IconSearch = MAP_SIZE_TO_ICON[finalSize][0];\n\n return sstyled(styles)(\n <SInputSearch size={finalSize} styles={styles}>\n <Input.Addon>\n <IconSearch />\n </Input.Addon>\n <Value render={Input.Value} autoFocus />\n <SClose\n role=\"button\"\n /* hide through css because the width of the input changes */\n hide={hideClose}\n aria-hidden={hideClose}\n interactive\n aria-label={getI18nText('clearSearch')}\n onClick={this.handleClear}\n >\n <IconClose />\n </SClose>\n </SInputSearch>,\n );\n }\n}\n\nexport default createComponent(InputSearch);\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,eAAP,IAA0BC,SAA1B,EAAqCC,OAArC,EAA8CC,IAA9C,QAA0D,eAA1D;AACA,OAAOC,OAAP,MAAoB,wBAApB;AACA,OAAOC,MAAP,MAAmB,uBAAnB;AACA,OAAOC,KAAP,MAAkB,gBAAlB;AACA,SAASC,aAAT,QAA8B,WAA9B;AACA,OAAOC,WAAP,MAAwB,yCAAxB;AACA,SAASC,iBAAT,QAAkC,gDAAlC;;;;;;;;;;;;;;;;;;AAIA,IAAMC,gBAAgB,GAAG;EACvBC,CAAC,EAAE,CAACP,OAAD,EAAUC,MAAV,CADoB;EAEvBO,CAAC,EAAE,CAACR,OAAD,EAAUC,MAAV;AAFoB,CAAzB;;IAKMQ,W;;;;;;;;;;;;;;;;kEAmBU,UAACC,CAAD,EAAO;MACnB,MAAKC,QAAL,CAAcC,KAAd,CAAoB,EAApB,EAAwBF,CAAxB;IACD,C;;;;;;;WARD,6BAAoB;MAClB,OAAO;QACLE,KAAK,EAAE;MADF,CAAP;IAGD;;;WAMD,kBAAS;MAAA;MAAA;;MACP,IAAMC,KAAK,GAcQX,KAAK,CAACW,KAdzB;MACA,IAAMC,YAAY,GAAGZ,KAArB;MACA,IAAMa,MAAM,GAAGb,KAAK,CAACc,KAArB;MACA,oBAA6C,KAAKC,OAAlD;MAAA,IAAQC,IAAR,iBAAQA,IAAR;MAAA,IAAcN,KAAd,iBAAcA,KAAd;MAAA,IAAqBO,MAArB,iBAAqBA,MAArB;MAAA,IAA6BC,WAA7B,iBAA6BA,WAA7B;MACA,IAAMC,SAAS,GAAGH,IAAI,IAAI,KAAKI,OAAL,CAAaJ,IAAvC;MACA,IAAMK,SAAS,GAAG,CAACX,KAAnB;MACA,IAAMY,SAAS,GAAGlB,gBAAgB,CAACe,SAAD,CAAhB,CAA4B,CAA5B,CAAlB;MACA,IAAMI,UAAU,GAAGnB,gBAAgB,CAACe,SAAD,CAAhB,CAA4B,CAA5B,CAAnB;MAEA,eAAOvB,OAAO,CAACqB,MAAD,CAAd,eACE,oBAAC,YAAD;QAAA,QAAoBE,SAApB;QAAA,UAAuCF;MAAvC,iBACE,oBAAC,KAAD,CAAO,KAAP,qBACE,oBAAC,UAAD,6BADF,CADF,eAIE,oBAAC,KAAD;QAAA;MAAA,WAJF,eAKE,oBAAC,MAAD;QAAA,QACO,QADP;QAAA,QAGQI,SAHR;QAAA,eAIeA,SAJf;QAAA;QAAA,cAMcH,WAAW,CAAC,aAAD,CANzB;QAAA,WAOW,KAAKM;MAPhB,iBASE,oBAAC,SAAD,4BATF,CALF,CADF;IAmBD;;;;EApDuB7B,S;;gBAApBY,W,iBACiB,a;;gBADjBA,W,WAGWkB,K;;gBAHXlB,W,aAIa,CAACL,WAAW,CAACC,iBAAD,CAAZ,C;;gBAJbI,W,kBAKkB;EACpBmB,YAAY,EAAE,EADM;EAEpBC,IAAI,EAAExB,iBAFc;EAGpByB,MAAM,EAAE;AAHY,C;;gBALlBrB,W,iBAWiBN,a;;AA4CvB,eAAeP,eAAe,CAACa,WAAD,CAA9B"}
|
package/lib/es6/Select.js
CHANGED
|
@@ -38,23 +38,25 @@ import InputSearch from './InputSearch';
|
|
|
38
38
|
import { useBox } from '@semcore/flex-box';
|
|
39
39
|
import { selectContext } from './context';
|
|
40
40
|
import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
41
|
+
import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
|
|
42
|
+
import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
|
|
41
43
|
|
|
42
44
|
/*__reshadow-styles__:"./style/select.shadow.css"*/
|
|
43
45
|
var style = (
|
|
44
46
|
/*__reshadow_css_start__*/
|
|
45
47
|
_sstyled.insert(
|
|
46
48
|
/*__inner_css_start__*/
|
|
47
|
-
".
|
|
49
|
+
".___SOptionCheckbox_1i1rn_gg_{margin-top:var(--intergalactic-spacing-05x,2px);margin-right:var(--intergalactic-spacing-2x,8px);margin-bottom:auto;position:relative;flex-shrink:0}.___SOptionCheckbox_1i1rn_gg_:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--intergalactic-bg-primary-neutral,#fff);border:1px solid;border-radius:var(--intergalactic-rounded-small,4px);border-color:var(--intergalactic-border-primary,#c4c7cf)}.___SOptionCheckbox_1i1rn_gg_{width:16px;height:16px}.___SOptionCheckbox_1i1rn_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:50%;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOC4yNSAxTDQgNS4yNSAxLjc1IDMiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=\")}.___SOptionCheckbox_1i1rn_gg_._size_l_1i1rn_gg_{width:20px;height:20px}.___SOptionCheckbox_1i1rn_gg_._size_l_1i1rn_gg_:after{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTEgMS41TDQuNzUgNy43NSAxIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=\")}.___SOptionCheckbox_1i1rn_gg_.__checked_1i1rn_gg_:before{background-color:var(--intergalactic-control-primary-info,#008ff8);border-color:var(--intergalactic-control-primary-info,#008ff8)}.___SOptionCheckbox_1i1rn_gg_.__theme_1i1rn_gg_:before{border-color:var(--theme_1i1rn)}.___SOptionCheckbox_1i1rn_gg_.__theme_1i1rn_gg_.__checked_1i1rn_gg_:before{background-color:var(--theme_1i1rn);border-color:var(--theme_1i1rn)}.___SOptionCheckbox_1i1rn_gg_.__selected_1i1rn_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected,rgba(196,229,254,.7))}.___SOptionCheckbox_1i1rn_gg_.__selected_1i1rn_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover,#c4e5fe)}"
|
|
48
50
|
/*__inner_css_end__*/
|
|
49
|
-
, "
|
|
51
|
+
, "1i1rn_gg_")
|
|
50
52
|
/*__reshadow_css_end__*/
|
|
51
53
|
, {
|
|
52
|
-
"__SOptionCheckbox": "
|
|
53
|
-
"_size_l": "
|
|
54
|
-
"_checked": "
|
|
55
|
-
"_theme": "
|
|
56
|
-
"--theme": "--
|
|
57
|
-
"_selected": "
|
|
54
|
+
"__SOptionCheckbox": "___SOptionCheckbox_1i1rn_gg_",
|
|
55
|
+
"_size_l": "_size_l_1i1rn_gg_",
|
|
56
|
+
"_checked": "__checked_1i1rn_gg_",
|
|
57
|
+
"_theme": "__theme_1i1rn_gg_",
|
|
58
|
+
"--theme": "--theme_1i1rn",
|
|
59
|
+
"_selected": "__selected_1i1rn_gg_"
|
|
58
60
|
});
|
|
59
61
|
|
|
60
62
|
function isSelectedOption(value, valueOption) {
|
|
@@ -147,12 +149,13 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
147
149
|
name = _this$asProps2.name,
|
|
148
150
|
multiselect = _this$asProps2.multiselect,
|
|
149
151
|
uid = _this$asProps2.uid,
|
|
150
|
-
disablePortal = _this$asProps2.disablePortal
|
|
152
|
+
disablePortal = _this$asProps2.disablePortal,
|
|
153
|
+
getI18nText = _this$asProps2.getI18nText;
|
|
151
154
|
return {
|
|
152
155
|
id: "igc-".concat(uid, "-trigger"),
|
|
153
156
|
'aria-controls': visible ? "igc-".concat(uid, "-list") : undefined,
|
|
154
157
|
'aria-flowto': visible && !disablePortal ? "igc-".concat(uid, "-list") : undefined,
|
|
155
|
-
'aria-label': visible && !disablePortal ?
|
|
158
|
+
'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,
|
|
156
159
|
'aria-haspopup': 'listbox',
|
|
157
160
|
empty: isEmptyValue(value),
|
|
158
161
|
size: size,
|
|
@@ -165,7 +168,8 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
165
168
|
disabled: disabled,
|
|
166
169
|
active: visible,
|
|
167
170
|
onClear: this.handlerClear,
|
|
168
|
-
children: this.renderChildrenTrigger(value, options)
|
|
171
|
+
children: this.renderChildrenTrigger(value, options),
|
|
172
|
+
getI18nText: getI18nText
|
|
169
173
|
};
|
|
170
174
|
}
|
|
171
175
|
}, {
|
|
@@ -185,20 +189,22 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
185
189
|
}, {
|
|
186
190
|
key: "getMenuProps",
|
|
187
191
|
value: function getMenuProps() {
|
|
188
|
-
var
|
|
192
|
+
var _this$asProps4 = this.asProps,
|
|
193
|
+
uid = _this$asProps4.uid,
|
|
194
|
+
getI18nText = _this$asProps4.getI18nText;
|
|
189
195
|
return {
|
|
190
196
|
id: "igc-".concat(uid, "-list"),
|
|
191
197
|
role: 'listbox',
|
|
192
|
-
'aria-label': '
|
|
198
|
+
'aria-label': getI18nText('optionsList'),
|
|
193
199
|
'aria-flowto': "igc-".concat(uid, "-trigger")
|
|
194
200
|
};
|
|
195
201
|
}
|
|
196
202
|
}, {
|
|
197
203
|
key: "getOptionProps",
|
|
198
204
|
value: function getOptionProps(props) {
|
|
199
|
-
var _this$
|
|
200
|
-
value = _this$
|
|
201
|
-
uid = _this$
|
|
205
|
+
var _this$asProps5 = this.asProps,
|
|
206
|
+
value = _this$asProps5.value,
|
|
207
|
+
uid = _this$asProps5.uid;
|
|
202
208
|
var selected = isSelectedOption(value, props.value);
|
|
203
209
|
var other = {};
|
|
204
210
|
this._optionSelected = selected;
|
|
@@ -300,12 +306,12 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
300
306
|
value: function render() {
|
|
301
307
|
var _ref2 = this.asProps;
|
|
302
308
|
|
|
303
|
-
var _this$
|
|
304
|
-
Children = _this$
|
|
305
|
-
options = _this$
|
|
306
|
-
multiselect = _this$
|
|
307
|
-
value = _this$
|
|
308
|
-
other = _objectWithoutProperties(_this$
|
|
309
|
+
var _this$asProps6 = this.asProps,
|
|
310
|
+
Children = _this$asProps6.Children,
|
|
311
|
+
options = _this$asProps6.options,
|
|
312
|
+
multiselect = _this$asProps6.multiselect,
|
|
313
|
+
value = _this$asProps6.value,
|
|
314
|
+
other = _objectWithoutProperties(_this$asProps6, _excluded);
|
|
309
315
|
|
|
310
316
|
var advanceMode = findComponent(Children, [Select.Trigger.displayName, Select.Popper.displayName]);
|
|
311
317
|
logger.warn(options && advanceMode, "Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'", other['data-ui-name'] || Select.displayName);
|
|
@@ -335,14 +341,16 @@ _defineProperty(RootSelect, "displayName", 'Select');
|
|
|
335
341
|
|
|
336
342
|
_defineProperty(RootSelect, "style", style);
|
|
337
343
|
|
|
338
|
-
_defineProperty(RootSelect, "enhance", [uniqueIDEnhancement()]);
|
|
344
|
+
_defineProperty(RootSelect, "enhance", [uniqueIDEnhancement(), i18nEnhance(localizedMessages)]);
|
|
339
345
|
|
|
340
346
|
_defineProperty(RootSelect, "defaultProps", function (props) {
|
|
341
347
|
return {
|
|
342
348
|
placeholder: props.multiselect ? 'Select options' : 'Select option',
|
|
343
349
|
size: 'm',
|
|
344
350
|
defaultValue: getEmptyValue(props.multiselect),
|
|
345
|
-
defaultVisible: false
|
|
351
|
+
defaultVisible: false,
|
|
352
|
+
i18n: localizedMessages,
|
|
353
|
+
locale: 'en'
|
|
346
354
|
};
|
|
347
355
|
});
|
|
348
356
|
|
|
@@ -363,11 +371,12 @@ function Trigger(_ref5) {
|
|
|
363
371
|
value = _ref5.value,
|
|
364
372
|
$hiddenRef = _ref5.$hiddenRef,
|
|
365
373
|
_ref5$tag = _ref5.tag,
|
|
366
|
-
Tag = _ref5$tag === void 0 ? ButtonTrigger : _ref5$tag
|
|
374
|
+
Tag = _ref5$tag === void 0 ? ButtonTrigger : _ref5$tag,
|
|
375
|
+
getI18nText = _ref5.getI18nText;
|
|
367
376
|
var hasInputTrigger = isInputTriggerTag(Tag);
|
|
368
377
|
return /*#__PURE__*/React.createElement(DropdownMenu.Trigger, _assignProps3({
|
|
369
378
|
"tag": Tag,
|
|
370
|
-
"placeholder":
|
|
379
|
+
"placeholder": getI18nText('selectPlaceholder'),
|
|
371
380
|
"aria-autocomplete": hasInputTrigger && 'list' || undefined,
|
|
372
381
|
"role": hasInputTrigger && 'combobox' || undefined,
|
|
373
382
|
"aria-activedescendant": hasInputTrigger && value && "igc-".concat(uid, "-option-").concat(value) || undefined
|
package/lib/es6/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["React","cn","createComponent","Component","Root","sstyled","DropdownMenu","ButtonTrigger","Divider","findComponent","logger","resolveColor","addonTextChildren","InputSearch","useBox","selectContext","uniqueIDEnhancement","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","RootSelect","createRef","optionValue","e","newValue","asProps","filter","v","concat","handlers","visible","emptyValue","size","disabled","state","placeholder","options","forwardRef","name","uid","disablePortal","id","undefined","empty","$hiddenRef","active","onClear","handlerClear","children","renderChildrenTrigger","role","props","selected","other","_optionSelected","isScrolledToFirstOption","ref","firstSelectedOptionRef","onClick","bindHandlerOptionClick","hasOption","optionProps","getOptionProps","my","reduce","acc","selectedOption","find","o","push","label","setTimeout","current","scrollIntoView","block","inline","scrollToSelectedOption","prevProps","prevState","Children","advanceMode","Select","Trigger","displayName","Popper","warn","map","option","i","style","defaultValue","defaultVisible","isInputTriggerTag","tag","toLowerCase","render","Tag","hasInputTrigger","Text","Addon","Checkbox","SOptionCheckbox","componentProps","theme","styles","checked","className","InputSearchWrapper","List","Menu","Option","Item","OptionTitle","ItemTitle","OptionHint","ItemHint","Input","parent","context"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport 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 resolveColor from '@semcore/utils/lib/color';\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';\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\nclass RootSelect extends Component {\n static displayName = 'Select';\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\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 });\n\n firstSelectedOptionRef = 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 } = this.asProps;\n\n return {\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-list` : undefined,\n 'aria-flowto': visible && !disablePortal ? `igc-${uid}-list` : undefined,\n 'aria-label': visible && !disablePortal ? `Press Tab to go to popover` : undefined,\n 'aria-haspopup': 'listbox',\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 };\n }\n\n getListProps() {\n const { multiselect, uid } = this.asProps;\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': 'List of options',\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getMenuProps() {\n const { uid } = this.asProps;\n\n return {\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': 'List of options',\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getOptionProps(props) {\n const { value, uid } = this.asProps;\n const selected = isSelectedOption(value, props.value);\n const other = {};\n this._optionSelected = selected;\n\n if (selected && !this.isScrolledToFirstOption) {\n other.ref = this.firstSelectedOptionRef;\n this.isScrolledToFirstOption = true;\n }\n\n return {\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n id: `igc-${uid}-option-${props.value}`,\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value),\n ...other,\n };\n }\n\n getOptionCheckboxProps(props) {\n const { size } = this.asProps;\n const hasOption = props.value === undefined;\n const optionProps = hasOption ? {} : this.getOptionProps(props);\n const selected = this._optionSelected;\n this._optionSelected = null;\n return {\n ...optionProps,\n size,\n selected,\n };\n }\n\n getDividerProps() {\n return { my: 1 };\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 } = 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) this.handlers.visible(false);\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 scrollToSelectedOption() {\n setTimeout(() => {\n this.firstSelectedOptionRef.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }, 0);\n }\n\n componentDidMount() {\n const { visible } = this.asProps;\n if (visible) {\n this.scrollToSelectedOption();\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n const { visible } = this.asProps;\n if (visible) {\n this.isScrolledToFirstOption = false;\n\n if (prevProps.visible === undefined) {\n if (prevState.visible !== visible) this.scrollToSelectedOption();\n } else {\n if (prevProps.visible !== visible) this.scrollToSelectedOption();\n }\n }\n }\n\n render() {\n const { Children, options, multiselect, value, ...other } = this.asProps;\n const advanceMode = findComponent(Children, [\n Select.Trigger.displayName,\n Select.Popper.displayName,\n ]);\n\n logger.warn(\n options && advanceMode,\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} tanIndex={-1} role=\"button\" />\n <Select.Menu>\n {options.map((option, i) => {\n return (\n <Select.Option key={i} id={option.value} aria-selected={value === i} {...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\nconst isInputTriggerTag = (tag) => {\n if (typeof tag === 'string') return tag.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.displayName === 'string')\n return tag.displayName.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.render?.displayName === 'string')\n return tag.render.displayName.toLowerCase().includes('input');\n return false;\n};\n\nfunction Trigger({ Children, name, uid, value, $hiddenRef, tag: Tag = ButtonTrigger }) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n\n return (\n <Root\n render={DropdownMenu.Trigger}\n tag={Tag}\n placeholder=\"Select option\"\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n role={(hasInputTrigger && 'combobox') || undefined}\n aria-activedescendant={\n (hasInputTrigger && value && `igc-${uid}-option-${value}`) || undefined\n }\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n )}\n {name && <input type=\"hidden\" defaultValue={value} name={name} ref={$hiddenRef} />}\n </Root>\n );\n}\n\nfunction Checkbox(props) {\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n checked: selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n role=\"checkbox\"\n tabIndex={0}\n aria-checked={selected}\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 DropdownMenu.Item,\n {\n Addon: DropdownMenu.Item.Addon,\n Checkbox,\n },\n ],\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: InputSearchWrapper,\n Input: InputSearchWrapper,\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport default Select;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["React","cn","createComponent","Component","Root","sstyled","DropdownMenu","ButtonTrigger","Divider","findComponent","logger","resolveColor","addonTextChildren","InputSearch","useBox","selectContext","uniqueIDEnhancement","i18nEnhance","localizedMessages","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","RootSelect","createRef","optionValue","e","newValue","asProps","filter","v","concat","handlers","visible","emptyValue","size","disabled","state","placeholder","options","forwardRef","name","uid","disablePortal","getI18nText","id","undefined","empty","$hiddenRef","active","onClear","handlerClear","children","renderChildrenTrigger","role","props","selected","other","_optionSelected","isScrolledToFirstOption","ref","firstSelectedOptionRef","onClick","bindHandlerOptionClick","hasOption","optionProps","getOptionProps","my","reduce","acc","selectedOption","find","o","push","label","setTimeout","current","scrollIntoView","block","inline","scrollToSelectedOption","prevProps","prevState","Children","advanceMode","Select","Trigger","displayName","Popper","warn","map","option","i","style","defaultValue","defaultVisible","i18n","locale","isInputTriggerTag","tag","toLowerCase","render","Tag","hasInputTrigger","Text","Addon","Checkbox","SOptionCheckbox","componentProps","theme","styles","checked","className","InputSearchWrapper","List","Menu","Option","Item","OptionTitle","ItemTitle","OptionHint","ItemHint","Input","parent","context"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport 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 resolveColor from '@semcore/utils/lib/color';\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';\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\nclass RootSelect extends Component {\n static displayName = 'Select';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\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 i18n: localizedMessages,\n locale: 'en',\n });\n\n firstSelectedOptionRef = 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 'aria-flowto': visible && !disablePortal ? `igc-${uid}-list` : undefined,\n 'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-haspopup': 'listbox',\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 };\n }\n\n getListProps() {\n const { multiselect, uid } = this.asProps;\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': 'List of options',\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getMenuProps() {\n const { uid, getI18nText } = this.asProps;\n\n return {\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': getI18nText('optionsList'),\n 'aria-flowto': `igc-${uid}-trigger`,\n };\n }\n\n getOptionProps(props) {\n const { value, uid } = this.asProps;\n const selected = isSelectedOption(value, props.value);\n const other = {};\n this._optionSelected = selected;\n\n if (selected && !this.isScrolledToFirstOption) {\n other.ref = this.firstSelectedOptionRef;\n this.isScrolledToFirstOption = true;\n }\n\n return {\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n id: `igc-${uid}-option-${props.value}`,\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value),\n ...other,\n };\n }\n\n getOptionCheckboxProps(props) {\n const { size } = this.asProps;\n const hasOption = props.value === undefined;\n const optionProps = hasOption ? {} : this.getOptionProps(props);\n const selected = this._optionSelected;\n this._optionSelected = null;\n return {\n ...optionProps,\n size,\n selected,\n };\n }\n\n getDividerProps() {\n return { my: 1 };\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 } = 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) this.handlers.visible(false);\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 scrollToSelectedOption() {\n setTimeout(() => {\n this.firstSelectedOptionRef.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }, 0);\n }\n\n componentDidMount() {\n const { visible } = this.asProps;\n if (visible) {\n this.scrollToSelectedOption();\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n const { visible } = this.asProps;\n if (visible) {\n this.isScrolledToFirstOption = false;\n\n if (prevProps.visible === undefined) {\n if (prevState.visible !== visible) this.scrollToSelectedOption();\n } else {\n if (prevProps.visible !== visible) this.scrollToSelectedOption();\n }\n }\n }\n\n render() {\n const { Children, options, multiselect, value, ...other } = this.asProps;\n const advanceMode = findComponent(Children, [\n Select.Trigger.displayName,\n Select.Popper.displayName,\n ]);\n\n logger.warn(\n options && advanceMode,\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} tanIndex={-1} role=\"button\" />\n <Select.Menu>\n {options.map((option, i) => {\n return (\n <Select.Option key={i} id={option.value} aria-selected={value === i} {...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\nconst isInputTriggerTag = (tag) => {\n if (typeof tag === 'string') return tag.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.displayName === 'string')\n return tag.displayName.toLowerCase().includes('input');\n if (typeof tag === 'object' && tag !== null && typeof tag.render?.displayName === 'string')\n return tag.render.displayName.toLowerCase().includes('input');\n return false;\n};\n\nfunction Trigger({\n Children,\n name,\n uid,\n value,\n $hiddenRef,\n tag: Tag = ButtonTrigger,\n getI18nText,\n}) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n\n return (\n <Root\n render={DropdownMenu.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n role={(hasInputTrigger && 'combobox') || undefined}\n aria-activedescendant={\n (hasInputTrigger && value && `igc-${uid}-option-${value}`) || undefined\n }\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n )}\n {name && <input type=\"hidden\" defaultValue={value} name={name} ref={$hiddenRef} />}\n </Root>\n );\n}\n\nfunction Checkbox(props) {\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n checked: selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n role=\"checkbox\"\n tabIndex={0}\n aria-checked={selected}\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 DropdownMenu.Item,\n {\n Addon: DropdownMenu.Item.Addon,\n Checkbox,\n },\n ],\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: InputSearchWrapper,\n Input: InputSearchWrapper,\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport default Select;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,EAAP,MAAe,YAAf;AACA,OAAOC,eAAP,IAA0BC,SAA1B,EAAqCC,IAArC,EAA2CC,OAA3C,QAA0D,eAA1D;AACA,OAAOC,YAAP,MAAyB,wBAAzB;AACA,SAASC,aAAT,QAA8B,uBAA9B;AACA,OAAOC,OAAP,MAAoB,kBAApB;AACA,OAAOC,aAAP,MAA0B,kCAA1B;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AACA,OAAOC,YAAP,MAAyB,0BAAzB;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,SAASC,MAAT,QAAuB,mBAAvB;AACA,SAASC,aAAT,QAA8B,WAA9B;AACA,OAAOC,mBAAP,MAAgC,6BAAhC;AACA,OAAOC,WAAP,MAAwB,yCAAxB;AACA,SAASC,iBAAT,QAAkC,gDAAlC;;;;;;;;;;;;;;;;;;;;AAIA,SAASC,gBAAT,CAA0BC,KAA1B,EAAiCC,WAAjC,EAA8C;EAC5C,OAAOC,KAAK,CAACC,OAAN,CAAcH,KAAd,IAAuBA,KAAK,CAACI,QAAN,CAAeH,WAAf,CAAvB,GAAqDA,WAAW,KAAKD,KAA5E;AACD;;AAED,SAASK,YAAT,CAAsBL,KAAtB,EAA6B;EAC3B,OAAOE,KAAK,CAACC,OAAN,CAAcH,KAAd,IAAuBA,KAAK,CAACM,MAAN,KAAiB,CAAxC,GAA4CN,KAAK,KAAK,IAA7D;AACD;;AAED,SAASO,aAAT,CAAuBC,WAAvB,EAAoC;EAClC,OAAOA,WAAW,GAAG,EAAH,GAAQ,IAA1B;AACD;;IAEKC,U;;;;;;;;;;;;;;;;0FAeqB7B,KAAK,CAAC8B,SAAN,E;;8EAEC,K;;6EA+HD,UAACC,WAAD;MAAA,OAAiB,UAACC,CAAD,EAAO;QAC/C,IAAIC,QAAQ,GAAGF,WAAf;QACA,oBAA+B,MAAKG,OAApC;QAAA,IAAQd,KAAR,iBAAQA,KAAR;QAAA,IAAeQ,WAAf,iBAAeA,WAAf;;QACA,IAAIN,KAAK,CAACC,OAAN,CAAcH,KAAd,CAAJ,EAA0B;UACxB,IAAIA,KAAK,CAACI,QAAN,CAAeO,WAAf,CAAJ,EAAiC;YAC/BE,QAAQ,GAAGb,KAAK,CAACe,MAAN,CAAa,UAACC,CAAD;cAAA,OAAOA,CAAC,KAAKL,WAAb;YAAA,CAAb,CAAX;UACD,CAFD,MAEO;YACLE,QAAQ,GAAGb,KAAK,CAACiB,MAAN,CAAaN,WAAb,CAAX;UACD;QACF;;QACD,MAAKO,QAAL,CAAclB,KAAd,CAAoBa,QAApB,EAA8BD,CAA9B;;QACA,IAAI,CAACJ,WAAL,EAAkB,MAAKU,QAAL,CAAcC,OAAd,CAAsB,KAAtB;MACnB,CAZwB;IAAA,C;;mEAcV,UAACP,CAAD,EAAO;MACpB,IAAQZ,KAAR,GAAkB,MAAKc,OAAvB,CAAQd,KAAR;MACA,IAAMoB,UAAU,GAAGb,aAAa,CAACL,KAAK,CAACC,OAAN,CAAcH,KAAd,CAAD,CAAhC;;MACA,MAAKkB,QAAL,CAAclB,KAAd,CAAoBoB,UAApB,EAAgCR,CAAhC;;MACA,MAAKM,QAAL,CAAcC,OAAd,CAAsB,KAAtB;IACD,C;;;;;;;WAhJD,6BAAoB;MAClB,OAAO;QACLA,OAAO,EAAE,IADJ;QAELnB,KAAK,EAAE;MAFF,CAAP;IAID;;;WAED,2BAAkB;MAChB,qBAcI,KAAKc,OAdT;MAAA,IACEO,IADF,kBACEA,IADF;MAAA,IAEEC,QAFF,kBAEEA,QAFF;MAAA,IAGEH,OAHF,kBAGEA,OAHF;MAAA,IAIEI,KAJF,kBAIEA,KAJF;MAAA,IAKEC,WALF,kBAKEA,WALF;MAAA,IAMExB,KANF,kBAMEA,KANF;MAAA,IAOEyB,OAPF,kBAOEA,OAPF;MAAA,IAQEC,UARF,kBAQEA,UARF;MAAA,IASEC,IATF,kBASEA,IATF;MAAA,IAUEnB,WAVF,kBAUEA,WAVF;MAAA,IAWEoB,GAXF,kBAWEA,GAXF;MAAA,IAYEC,aAZF,kBAYEA,aAZF;MAAA,IAaEC,WAbF,kBAaEA,WAbF;MAgBA,OAAO;QACLC,EAAE,gBAASH,GAAT,aADG;QAEL,iBAAiBT,OAAO,iBAAUS,GAAV,aAAuBI,SAF1C;QAGL,eAAeb,OAAO,IAAI,CAACU,aAAZ,iBAAmCD,GAAnC,aAAgDI,SAH1D;QAIL,cAAcb,OAAO,IAAI,CAACU,aAAZ,GAA4BC,WAAW,CAAC,aAAD,CAAvC,GAAyDE,SAJlE;QAKL,iBAAiB,SALZ;QAMLC,KAAK,EAAE5B,YAAY,CAACL,KAAD,CANd;QAOLqB,IAAI,EAAJA,IAPK;QAQLrB,KAAK,EAALA,KARK;QASL2B,IAAI,EAAJA,IATK;QAULO,UAAU,EAAER,UAVP;QAWLlB,WAAW,EAAXA,WAXK;QAYLe,KAAK,EAALA,KAZK;QAaLC,WAAW,EAAXA,WAbK;QAcLF,QAAQ,EAARA,QAdK;QAeLa,MAAM,EAAEhB,OAfH;QAgBLiB,OAAO,EAAE,KAAKC,YAhBT;QAiBLC,QAAQ,EAAE,KAAKC,qBAAL,CAA2BvC,KAA3B,EAAkCyB,OAAlC,CAjBL;QAkBLK,WAAW,EAAXA;MAlBK,CAAP;IAoBD;;;WAED,wBAAe;MACb,qBAA6B,KAAKhB,OAAlC;MAAA,IAAQN,WAAR,kBAAQA,WAAR;MAAA,IAAqBoB,GAArB,kBAAqBA,GAArB;MACA,OAAO;QACL,wBAAwBpB,WAAW,GAAG,MAAH,GAAYwB,SAD1C;QAELD,EAAE,gBAASH,GAAT,UAFG;QAGLY,IAAI,EAAE,SAHD;QAIL,cAAc,iBAJT;QAKL,6BAAsBZ,GAAtB;MALK,CAAP;IAOD;;;WAED,wBAAe;MACb,qBAA6B,KAAKd,OAAlC;MAAA,IAAQc,GAAR,kBAAQA,GAAR;MAAA,IAAaE,WAAb,kBAAaA,WAAb;MAEA,OAAO;QACLC,EAAE,gBAASH,GAAT,UADG;QAELY,IAAI,EAAE,SAFD;QAGL,cAAcV,WAAW,CAAC,aAAD,CAHpB;QAIL,6BAAsBF,GAAtB;MAJK,CAAP;IAMD;;;WAED,wBAAea,KAAf,EAAsB;MACpB,qBAAuB,KAAK3B,OAA5B;MAAA,IAAQd,KAAR,kBAAQA,KAAR;MAAA,IAAe4B,GAAf,kBAAeA,GAAf;MACA,IAAMc,QAAQ,GAAG3C,gBAAgB,CAACC,KAAD,EAAQyC,KAAK,CAACzC,KAAd,CAAjC;MACA,IAAM2C,KAAK,GAAG,EAAd;MACA,KAAKC,eAAL,GAAuBF,QAAvB;;MAEA,IAAIA,QAAQ,IAAI,CAAC,KAAKG,uBAAtB,EAA+C;QAC7CF,KAAK,CAACG,GAAN,GAAY,KAAKC,sBAAjB;QACA,KAAKF,uBAAL,GAA+B,IAA/B;MACD;;MAED;QACEH,QAAQ,EAARA,QADF;QAEE,iBAAiBA,QAAQ,GAAG,MAAH,GAAY,OAFvC;QAGEX,EAAE,gBAASH,GAAT,qBAAuBa,KAAK,CAACzC,KAA7B,CAHJ;QAIEwC,IAAI,EAAE,QAJR;QAKEQ,OAAO,EAAE,KAAKC,sBAAL,CAA4BR,KAAK,CAACzC,KAAlC;MALX,GAMK2C,KANL;IAQD;;;WAED,gCAAuBF,KAAvB,EAA8B;MAC5B,IAAQpB,IAAR,GAAiB,KAAKP,OAAtB,CAAQO,IAAR;MACA,IAAM6B,SAAS,GAAGT,KAAK,CAACzC,KAAN,KAAgBgC,SAAlC;MACA,IAAMmB,WAAW,GAAGD,SAAS,GAAG,EAAH,GAAQ,KAAKE,cAAL,CAAoBX,KAApB,CAArC;MACA,IAAMC,QAAQ,GAAG,KAAKE,eAAtB;MACA,KAAKA,eAAL,GAAuB,IAAvB;MACA,uCACKO,WADL;QAEE9B,IAAI,EAAJA,IAFF;QAGEqB,QAAQ,EAARA;MAHF;IAKD;;;WAED,2BAAkB;MAChB,OAAO;QAAEW,EAAE,EAAE;MAAN,CAAP;IACD;;;WAED,+BAAsBrD,KAAtB,EAA6ByB,OAA7B,EAAsC;MACpC,IAAIA,OAAJ,EAAa;QACX,OAAO,GAAGR,MAAH,CAAUjB,KAAV,EAAiBsD,MAAjB,CAAwB,UAACC,GAAD,EAAMvD,KAAN,EAAgB;UAC7C,IAAMwD,cAAc,GAAG/B,OAAO,CAACgC,IAAR,CAAa,UAACC,CAAD;YAAA,OAAO3D,gBAAgB,CAACC,KAAD,EAAQ0D,CAAC,CAAC1D,KAAV,CAAvB;UAAA,CAAb,CAAvB;UACA,IAAI,CAACwD,cAAL,EAAqB,OAAOD,GAAP;UACrB,IAAIA,GAAG,CAACjD,MAAR,EAAgBiD,GAAG,CAACI,IAAJ,CAAS,IAAT;UAChBJ,GAAG,CAACI,IAAJ,CAASH,cAAc,CAACI,KAAf,IAAwBJ,cAAc,CAACxD,KAAhD;UACA,OAAOuD,GAAP;QACD,CANM,EAMJ,EANI,CAAP;MAOD;;MACD,OAAOrD,KAAK,CAACC,OAAN,CAAcH,KAAd,IACHA,KAAK,CAACsD,MAAN,CAAa,UAACC,GAAD,EAAMvD,KAAN,EAAgB;QAC3B,IAAIuD,GAAG,CAACjD,MAAR,EAAgBiD,GAAG,CAACI,IAAJ,CAAS,IAAT;QAChBJ,GAAG,CAACI,IAAJ,CAAS3D,KAAT;QACA,OAAOuD,GAAP;MACD,CAJD,EAIG,EAJH,CADG,GAMHvD,KANJ;IAOD;;;WAuBD,kCAAyB;MAAA;;MACvB6D,UAAU,CAAC,YAAM;QAAA;;QACf,+BAAI,CAACd,sBAAL,CAA4Be,OAA5B,gFAAqCC,cAArC,CAAoD;UAClDC,KAAK,EAAE,SAD2C;UAElDC,MAAM,EAAE;QAF0C,CAApD;MAID,CALS,EAKP,CALO,CAAV;IAMD;;;WAED,6BAAoB;MAClB,IAAQ9C,OAAR,GAAoB,KAAKL,OAAzB,CAAQK,OAAR;;MACA,IAAIA,OAAJ,EAAa;QACX,KAAK+C,sBAAL;MACD;IACF;;;WAED,4BAAmBC,SAAnB,EAA8BC,SAA9B,EAAyC;MACvC,IAAQjD,OAAR,GAAoB,KAAKL,OAAzB,CAAQK,OAAR;;MACA,IAAIA,OAAJ,EAAa;QACX,KAAK0B,uBAAL,GAA+B,KAA/B;;QAEA,IAAIsB,SAAS,CAAChD,OAAV,KAAsBa,SAA1B,EAAqC;UACnC,IAAIoC,SAAS,CAACjD,OAAV,KAAsBA,OAA1B,EAAmC,KAAK+C,sBAAL;QACpC,CAFD,MAEO;UACL,IAAIC,SAAS,CAAChD,OAAV,KAAsBA,OAA1B,EAAmC,KAAK+C,sBAAL;QACpC;MACF;IACF;;;WAED,kBAAS;MAAA;;MACP,qBAA4D,KAAKpD,OAAjE;MAAA,IAAQuD,QAAR,kBAAQA,QAAR;MAAA,IAAkB5C,OAAlB,kBAAkBA,OAAlB;MAAA,IAA2BjB,WAA3B,kBAA2BA,WAA3B;MAAA,IAAwCR,KAAxC,kBAAwCA,KAAxC;MAAA,IAAkD2C,KAAlD;;MACA,IAAM2B,WAAW,GAAGjF,aAAa,CAACgF,QAAD,EAAW,CAC1CE,MAAM,CAACC,OAAP,CAAeC,WAD2B,EAE1CF,MAAM,CAACG,MAAP,CAAcD,WAF4B,CAAX,CAAjC;MAKAnF,MAAM,CAACqF,IAAP,CACElD,OAAO,IAAI6C,WADb,EAEE,wFAFF,EAGE3B,KAAK,CAAC,cAAD,CAAL,IAAyB4B,MAAM,CAACE,WAHlC;;MAMA,IAAIhD,OAAJ,EAAa;QAAA;QACX,oBACE,oBAAcvC,YAAd,uCACE,oBAAC,MAAD,CAAQ,OAAR,eAAoByD,KAApB;UAA2B,QAAQ,EAAE,CAAC,CAAtC;UAAyC,IAAI,EAAC;QAA9C,GADF,eAEE,oBAAC,MAAD,CAAQ,IAAR,QACGlB,OAAO,CAACmD,GAAR,CAAY,UAACC,MAAD,EAASC,CAAT,EAAe;UAC1B,oBACE,oBAAC,MAAD,CAAQ,MAAR;YAAe,GAAG,EAAEA,CAApB;YAAuB,EAAE,EAAED,MAAM,CAAC7E,KAAlC;YAAyC,iBAAeA,KAAK,KAAK8E;UAAlE,GAAyED,MAAzE,GACGrE,WAAW,iBAAI,oBAAC,MAAD,CAAQ,MAAR,CAAe,QAAf,OADlB,EAEGqE,MAAM,CAACvC,QAFV,CADF;QAMD,CAPA,CADH,CAFF,CADF;MAeD;;MAED,oBACE,oBAAcpD,YAAd,yCACE,oBAAC,QAAD,OADF,CADF;IAKD;;;;EAtOsBH,S;;gBAAnB0B,U,iBACiB,Q;;gBADjBA,U,WAGWsE,K;;gBAHXtE,U,aAIa,CAACb,mBAAmB,EAApB,EAAwBC,WAAW,CAACC,iBAAD,CAAnC,C;;gBAJbW,U,kBAMkB,UAACgC,KAAD;EAAA,OAAY;IAChCjB,WAAW,EAAEiB,KAAK,CAACjC,WAAN,GAAoB,gBAApB,GAAuC,eADpB;IAEhCa,IAAI,EAAE,GAF0B;IAGhC2D,YAAY,EAAEzE,aAAa,CAACkC,KAAK,CAACjC,WAAP,CAHK;IAIhCyE,cAAc,EAAE,KAJgB;IAKhCC,IAAI,EAAEpF,iBAL0B;IAMhCqF,MAAM,EAAE;EANwB,CAAZ;AAAA,C;;AAmOxB,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,GAAD,EAAS;EAAA;;EACjC,IAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B,OAAOA,GAAG,CAACC,WAAJ,GAAkBlF,QAAlB,CAA2B,OAA3B,CAAP;EAC7B,IAAI,QAAOiF,GAAP,MAAe,QAAf,IAA2BA,GAAG,KAAK,IAAnC,IAA2C,OAAOA,GAAG,CAACZ,WAAX,KAA2B,QAA1E,EACE,OAAOY,GAAG,CAACZ,WAAJ,CAAgBa,WAAhB,GAA8BlF,QAA9B,CAAuC,OAAvC,CAAP;EACF,IAAI,QAAOiF,GAAP,MAAe,QAAf,IAA2BA,GAAG,KAAK,IAAnC,IAA2C,uBAAOA,GAAG,CAACE,MAAX,gDAAO,YAAYd,WAAnB,MAAmC,QAAlF,EACE,OAAOY,GAAG,CAACE,MAAJ,CAAWd,WAAX,CAAuBa,WAAvB,GAAqClF,QAArC,CAA8C,OAA9C,CAAP;EACF,OAAO,KAAP;AACD,CAPD;;AASA,SAASoE,OAAT,QAQG;EAAA;EAAA,IAPDH,QAOC,SAPDA,QAOC;EAAA,IAND1C,IAMC,SANDA,IAMC;EAAA,IALDC,GAKC,SALDA,GAKC;EAAA,IAJD5B,KAIC,SAJDA,KAIC;EAAA,IAHDkC,UAGC,SAHDA,UAGC;EAAA,sBAFDmD,GAEC;EAAA,IAFIG,GAEJ,0BAFUrG,aAEV;EAAA,IADD2C,WACC,SADDA,WACC;EACD,IAAM2D,eAAe,GAAGL,iBAAiB,CAACI,GAAD,CAAzC;EAEA,oBACE,oBACUtG,YAAY,CAACsF,OADvB;IAAA,OAEOgB,GAFP;IAAA,eAGe1D,WAAW,CAAC,mBAAD,CAH1B;IAAA,qBAIsB2D,eAAe,IAAI,MAApB,IAA+BzD,SAJpD;IAAA,QAKSyD,eAAe,IAAI,UAApB,IAAmCzD,SAL3C;IAAA,yBAOKyD,eAAe,IAAIzF,KAAnB,kBAAmC4B,GAAnC,qBAAiD5B,KAAjD,CAAD,IAA8DgC;EAPlE,WAUGxC,iBAAiB,CAChB6E,QADgB,EAEhBmB,GAAG,CAACE,IAAJ,IAAYvG,aAAa,CAACuG,IAFV,EAGhBF,GAAG,CAACG,KAAJ,IAAaxG,aAAa,CAACwG,KAHX,CAVpB,EAeGhE,IAAI,iBAAI;IAAO,IAAI,EAAC,QAAZ;IAAqB,YAAY,EAAE3B,KAAnC;IAA0C,IAAI,EAAE2B,IAAhD;IAAsD,GAAG,EAAEO;EAA3D,EAfX,CADF;AAmBD;;AAED,SAAS0D,QAAT,CAAkBnD,KAAlB,EAAyB;EACvB,cAA0C/C,MAAM,CAAC+C,KAAD,EAAQA,KAAK,CAACf,UAAd,CAAhD;EAAA;EAAA,IAAOmE,eAAP;EAAA,IAAwBC,cAAxB;;EACA,IAAQzE,IAAR,GAAkCoB,KAAlC,CAAQpB,IAAR;EAAA,IAAc0E,KAAd,GAAkCtD,KAAlC,CAAcsD,KAAd;EAAA,IAAqBrD,QAArB,GAAkCD,KAAlC,CAAqBC,QAArB;EACA,IAAMsD,MAAM,GAAG/G,OAAO,CAACwD,KAAK,CAACuD,MAAP,CAAtB;;EAEA,iBAA6BA,MAAM,CAACnH,EAAP,CAAU,iBAAV,EAA6B;IACxDwC,IAAI,EAAJA,IADwD;IAExD,aAAa9B,YAAY,CAACwG,KAAD,CAF+B;IAGxDE,OAAO,EAAEvD;EAH+C,CAA7B,CAA7B;EAAA,IAAQwD,SAAR,cAAQA,SAAR;EAAA,IAAmBnB,KAAnB,cAAmBA,KAAnB;;EAMA,oBACE,oBAAC,eAAD,eACMe,cADN;IAEE,SAAS,EAAEjH,EAAE,CAACqH,SAAD,EAAYJ,cAAc,CAACI,SAA3B,CAAF,IAA2ClE,SAFxD;IAGE,KAAK,kCAAO+C,KAAP,GAAiBe,cAAc,CAACf,KAAhC,CAHP;IAIE,IAAI,EAAC,UAJP;IAKE,QAAQ,EAAE,CALZ;IAME,gBAAcrC;EANhB,GADF;AAUD;;AAED,IAAMyD,kBAAkB,GAAG,SAArBA,kBAAqB,GAAY;EAAA;EACrC,oBAAO,oBAAc1G,WAAd,2BAAP;AACD,CAFD;;AAIA,IAAM8E,MAAM,GAAGzF,eAAe,CAC5B2B,UAD4B,EAE5B;EACE+D,OAAO,EAAE,CACPA,OADO,EAEP;IACEmB,KAAK,EAAExG,aAAa,CAACwG,KADvB;IAEED,IAAI,EAAEvG,aAAa,CAACuG;EAFtB,CAFO,CADX;EAQEhB,MAAM,EAAExF,YAAY,CAACwF,MARvB;EASE0B,IAAI,EAAElH,YAAY,CAACkH,IATrB;EAUEC,IAAI,EAAEnH,YAAY,CAACmH,IAVrB;EAWEC,MAAM,EAAE,CACNpH,YAAY,CAACqH,IADP,EAEN;IACEZ,KAAK,EAAEzG,YAAY,CAACqH,IAAb,CAAkBZ,KAD3B;IAEEC,QAAQ,EAARA;EAFF,CAFM,CAXV;EAkBEY,WAAW,EAAEtH,YAAY,CAACuH,SAlB5B;EAmBEC,UAAU,EAAExH,YAAY,CAACyH,QAnB3B;EAoBEvH,OAAO,EAAPA,OApBF;EAqBEK,WAAW,EAAE0G,kBArBf;EAsBES,KAAK,EAAET;AAtBT,CAF4B,EA0B5B;EAAEU,MAAM,EAAE3H,YAAV;EAAwB4H,OAAO,EAAEnH;AAAjC,CA1B4B,CAA9B;AA6BA,eAAe4E,MAAf"}
|
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, { ComponentProps } from 'react';\nimport { CProps, Merge, PropGetterFn, ReturnEl } from '@semcore/core';\nimport DropdownMenu, {\n IDropdownMenuContext,\n IDropdownMenuItemProps,\n IDropdownMenuProps,\n IDropdownMenuHandlers,\n} from '@semcore/dropdown-menu';\nimport { ButtonTrigger, IBaseTriggerProps } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport { IInputValueProps } from '@semcore/input';\nimport { IBoxProps } from '@semcore/flex-box';\n\nexport interface ISelectInputSearch extends IInputValueProps {}\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\nexport interface ISelectProps<T extends SelectValue = SelectValue>\n extends IDropdownMenuProps,\n IBaseTriggerProps {\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?: (value: T, e: React.SyntheticEvent) => boolean | void;\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 * Input name\n */\n name?: string;\n}\n\nexport interface ISelectOption {\n value?: string | number;\n [key: string]: any;\n}\n\nexport interface ISelectOptionProps extends IDropdownMenuItemProps {\n /** Value of the option */\n value: string | number;\n}\n\nexport interface ISelectOptionCheckboxProps extends ISelectOptionProps {\n /** Checkbox theme */\n theme?: string;\n}\n\ndeclare const InputSearch: <T>(props: ISelectInputSearch & T) => ReturnEl;\n\nexport interface ISelectContext extends IDropdownMenuContext {\n getOptionProps: PropGetterFn;\n getOptionCheckboxProps: PropGetterFn;\n getDividerProps: PropGetterFn;\n}\n\nexport interface ISelectHandlers extends IDropdownMenuHandlers {\n value: (index: SelectValue) => void;\n}\n\ndeclare const Select: (<T, V extends SelectValue = SelectValue>(\n props: CProps<ISelectProps<V> & T, ISelectContext, ISelectHandlers>,\n) => ReturnEl) & {\n Trigger: (<T>(\n props: Merge<\n ComponentProps<typeof DropdownMenu.Trigger>,\n ComponentProps<typeof ButtonTrigger>\n > &\n T,\n ) => ReturnEl) & {\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 Option: (<T>(\n props: CProps<ISelectOptionProps & T, ISelectContext, ISelectHandlers>,\n ) => ReturnEl) & {\n Addon: typeof DropdownMenu.Item.Addon;\n Checkbox: <T>(\n props: CProps<IBoxProps & { theme?: string; selected?: boolean } & T>,\n ) => ReturnEl;\n };\n OptionTitle: typeof DropdownMenu.ItemTitle;\n OptionHint: typeof DropdownMenu.ItemHint;\n Divider: typeof Divider;\n InputSearch: typeof InputSearch;\n Input: typeof InputSearch;\n};\n\nexport { InputSearch };\nexport default Select;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React, { ComponentProps } from 'react';\nimport { CProps, Merge, PropGetterFn, ReturnEl } from '@semcore/core';\nimport DropdownMenu, {\n IDropdownMenuContext,\n IDropdownMenuItemProps,\n IDropdownMenuProps,\n IDropdownMenuHandlers,\n} from '@semcore/dropdown-menu';\nimport { ButtonTrigger, IBaseTriggerProps } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport { IInputValueProps } from '@semcore/input';\nimport { IBoxProps } from '@semcore/flex-box';\n\nexport interface ISelectInputSearch extends IInputValueProps {}\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\nexport interface ISelectProps<T extends SelectValue = SelectValue>\n extends IDropdownMenuProps,\n IBaseTriggerProps {\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?: (value: T, e: React.SyntheticEvent) => boolean | void;\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 * Input name\n */\n name?: string;\n locale?: string;\n}\n\nexport interface ISelectOption {\n value?: string | number;\n [key: string]: any;\n}\n\nexport interface ISelectOptionProps extends IDropdownMenuItemProps {\n /** Value of the option */\n value: string | number;\n}\n\nexport interface ISelectOptionCheckboxProps extends ISelectOptionProps {\n /** Checkbox theme */\n theme?: string;\n}\n\ndeclare const InputSearch: <T>(props: ISelectInputSearch & T) => ReturnEl;\n\nexport interface ISelectContext extends IDropdownMenuContext {\n getOptionProps: PropGetterFn;\n getOptionCheckboxProps: PropGetterFn;\n getDividerProps: PropGetterFn;\n}\n\nexport interface ISelectHandlers extends IDropdownMenuHandlers {\n value: (index: SelectValue) => void;\n}\n\ndeclare const Select: (<T, V extends SelectValue = SelectValue>(\n props: CProps<ISelectProps<V> & T, ISelectContext, ISelectHandlers>,\n) => ReturnEl) & {\n Trigger: (<T>(\n props: Merge<\n ComponentProps<typeof DropdownMenu.Trigger>,\n ComponentProps<typeof ButtonTrigger>\n > &\n T,\n ) => ReturnEl) & {\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 Option: (<T>(\n props: CProps<ISelectOptionProps & T, ISelectContext, ISelectHandlers>,\n ) => ReturnEl) & {\n Addon: typeof DropdownMenu.Item.Addon;\n Checkbox: <T>(\n props: CProps<IBoxProps & { theme?: string; selected?: boolean } & T>,\n ) => ReturnEl;\n };\n OptionTitle: typeof DropdownMenu.ItemTitle;\n OptionHint: typeof DropdownMenu.ItemHint;\n Divider: typeof Divider;\n InputSearch: typeof InputSearch;\n Input: typeof InputSearch;\n};\n\nexport { InputSearch };\nexport default Select;\n"],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import de from './de.json';
|
|
2
|
+
import en from './en.json';
|
|
3
|
+
import es from './es.json';
|
|
4
|
+
import fr from './fr.json';
|
|
5
|
+
import it from './it.json';
|
|
6
|
+
import ja from './ja.json';
|
|
7
|
+
import ko from './ko.json';
|
|
8
|
+
import pt from './pt.json';
|
|
9
|
+
import tr from './tr.json';
|
|
10
|
+
import vi from './vi.json';
|
|
11
|
+
import zh from './zh.json';
|
|
12
|
+
export var localizedMessages = {
|
|
13
|
+
de: de,
|
|
14
|
+
en: en,
|
|
15
|
+
es: es,
|
|
16
|
+
fr: fr,
|
|
17
|
+
it: it,
|
|
18
|
+
ja: ja,
|
|
19
|
+
ko: ko,
|
|
20
|
+
pt: pt,
|
|
21
|
+
tr: tr,
|
|
22
|
+
vi: vi,
|
|
23
|
+
zh: zh
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=__intergalactic-dynamic-locales.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__intergalactic-dynamic-locales.js","names":["de","en","es","fr","it","ja","ko","pt","tr","vi","zh","localizedMessages"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport pt from './pt.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n pt,\n tr,\n vi,\n zh,\n};\n"],"mappings":"AAAA,OAAOA,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AAEA,OAAO,IAAMC,iBAAiB,GAAG;EAC/BX,EAAE,EAAFA,EAD+B;EAE/BC,EAAE,EAAFA,EAF+B;EAG/BC,EAAE,EAAFA,EAH+B;EAI/BC,EAAE,EAAFA,EAJ+B;EAK/BC,EAAE,EAAFA,EAL+B;EAM/BC,EAAE,EAAFA,EAN+B;EAO/BC,EAAE,EAAFA,EAP+B;EAQ/BC,EAAE,EAAFA,EAR+B;EAS/BC,EAAE,EAAFA,EAT+B;EAU/BC,EAAE,EAAFA,EAV+B;EAW/BC,EAAE,EAAFA;AAX+B,CAA1B"}
|
package/lib/types/index.d.ts
CHANGED