@semcore/select 4.46.1 → 4.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/lib/cjs/InputSearch.js +12 -13
- package/lib/cjs/InputSearch.js.map +1 -1
- package/lib/cjs/Select.js +149 -119
- package/lib/cjs/Select.js.map +1 -1
- package/lib/cjs/index.d.js.map +1 -1
- package/lib/cjs/style/input-search.shadow.css +5 -1
- package/lib/cjs/style/select.shadow.css +1 -1
- package/lib/cjs/translations/en.json +1 -3
- package/lib/es6/InputSearch.js +12 -13
- package/lib/es6/InputSearch.js.map +1 -1
- package/lib/es6/Select.js +142 -112
- package/lib/es6/Select.js.map +1 -1
- package/lib/es6/index.d.js.map +1 -1
- package/lib/es6/style/input-search.shadow.css +5 -1
- package/lib/es6/style/select.shadow.css +1 -1
- package/lib/es6/translations/en.json +1 -3
- package/lib/types/index.d.ts +16 -2
- package/package.json +12 -10
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [4.47.0] - 2024-09-24
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- `aria-haspopup` set to `dialog` if select has some additional buttons in popover.
|
|
10
|
+
- Refactored to `AbstractDropdown` and `Dropdown.Item`.
|
|
11
|
+
|
|
5
12
|
## [4.46.1] - 2024-09-27
|
|
6
13
|
|
|
7
14
|
### Changed
|
package/lib/cjs/InputSearch.js
CHANGED
|
@@ -19,16 +19,17 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
19
19
|
var _m = _interopRequireDefault(require("@semcore/icon/Search/m"));
|
|
20
20
|
var _m2 = _interopRequireDefault(require("@semcore/icon/Close/m"));
|
|
21
21
|
var _input = _interopRequireDefault(require("@semcore/input"));
|
|
22
|
+
var _button = require("@semcore/button");
|
|
22
23
|
var _context = require("./context");
|
|
23
24
|
var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
|
|
24
25
|
var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
|
|
25
26
|
/*__reshadow-styles__:"./style/input-search.shadow.css"*/
|
|
26
|
-
var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".
|
|
27
|
-
"__SInputSearch": "
|
|
28
|
-
"_size_m": "
|
|
29
|
-
"__SSearchClear": "
|
|
30
|
-
"_hide": "
|
|
31
|
-
"__SOutline": "
|
|
27
|
+
var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SInputSearch_1jwu3_gg_._size_m_1jwu3_gg_{height:32px}.___SSearchClear_1jwu3_gg_{padding:0 var(--intergalactic-spacing-2x, 8px)}.___SSearchClear_1jwu3_gg_.__hide_1jwu3_gg_{visibility:hidden}.___SOutline_1jwu3_gg_{top:-1px;left:-1px;width:100%;border-radius:var(--intergalactic-control-rounded, 6px) var(--intergalactic-control-rounded, 6px)0 0;box-sizing:content-box}" /*__inner_css_end__*/, "1jwu3_gg_") /*__reshadow_css_end__*/, {
|
|
28
|
+
"__SInputSearch": "___SInputSearch_1jwu3_gg_",
|
|
29
|
+
"_size_m": "_size_m_1jwu3_gg_",
|
|
30
|
+
"__SSearchClear": "___SSearchClear_1jwu3_gg_",
|
|
31
|
+
"_hide": "__hide_1jwu3_gg_",
|
|
32
|
+
"__SOutline": "___SOutline_1jwu3_gg_"
|
|
32
33
|
});
|
|
33
34
|
var InputSearchRoot = /*#__PURE__*/function (_Component) {
|
|
34
35
|
(0, _inherits2["default"])(InputSearchRoot, _Component);
|
|
@@ -78,12 +79,10 @@ var InputSearchRoot = /*#__PURE__*/function (_Component) {
|
|
|
78
79
|
value = _this$asProps.value,
|
|
79
80
|
getI18nText = _this$asProps.getI18nText;
|
|
80
81
|
return {
|
|
81
|
-
role: 'button',
|
|
82
82
|
ref: this.closeIconRef,
|
|
83
83
|
/* hide through css because the width of the input changes */
|
|
84
84
|
hide: !value,
|
|
85
85
|
'aria-hidden': !value,
|
|
86
|
-
interactive: true,
|
|
87
86
|
'aria-label': getI18nText('clearSearch'),
|
|
88
87
|
onClick: this.handleClear
|
|
89
88
|
};
|
|
@@ -134,12 +133,12 @@ var SearchValue = function SearchValue(props) {
|
|
|
134
133
|
var SearchClear = function SearchClear(props) {
|
|
135
134
|
var _ref4 = arguments[0],
|
|
136
135
|
_ref8;
|
|
137
|
-
var SSearchClear =
|
|
138
|
-
var styles = props.styles
|
|
139
|
-
Children = props.Children;
|
|
136
|
+
var SSearchClear = _button.ButtonLink;
|
|
137
|
+
var styles = props.styles;
|
|
140
138
|
return _ref8 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SSearchClear, _ref8.cn("SSearchClear", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
141
|
-
"
|
|
142
|
-
|
|
139
|
+
"addonLeft": _m2["default"],
|
|
140
|
+
"use": 'secondary'
|
|
141
|
+
}, _ref4))));
|
|
143
142
|
};
|
|
144
143
|
var InputSearch = (0, _core["default"])(InputSearchRoot, {
|
|
145
144
|
SearchIcon: SearchIcon,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputSearch.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_m","_m2","_input","_context","_i18nEnhance","_intergalacticDynamicLocales","style","_index","sstyled","insert","InputSearchRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","e","handlers","value","setTimeout","document","activeElement","body","closeIconRef","current","_this$inputRef$curren","inputRef","focus","_createClass2","key","uncontrolledProps","getValueProps","asProps","onChange","autoFocus","ref","getClearProps","_this$asProps","getI18nText","
|
|
1
|
+
{"version":3,"file":"InputSearch.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_m","_m2","_input","_button","_context","_i18nEnhance","_intergalacticDynamicLocales","style","_index","sstyled","insert","InputSearchRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","e","handlers","value","setTimeout","document","activeElement","body","closeIconRef","current","_this$inputRef$curren","inputRef","focus","_createClass2","key","uncontrolledProps","getValueProps","asProps","onChange","autoFocus","ref","getClearProps","_this$asProps","getI18nText","hide","onClick","handleClear","render","_ref","_ref5","Value","InputSearch","SInputSearch","Input","_this$asProps2","size","styles","hasChildren","children","Children","createElement","cn","context","Fragment","SearchIcon","_objectSpread2","assignProps","Clear","Component","i18nEnhance","localizedMessages","defaultValue","i18n","locale","selectContext","props","_ref2","arguments[0]","_ref6","SSearchIcon","Addon","SearchValue","_ref3","_ref7","SSearchValue","SearchClear","_ref4","_ref8","SSearchClear","ButtonLink","CloseM","createComponent","_default","exports"],"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 { ButtonLink } from '@semcore/button';\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\nclass InputSearchRoot 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 inputRef = React.createRef();\n closeIconRef = React.createRef();\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 setTimeout(() => {\n if (\n document.activeElement === document.body ||\n document.activeElement === this.closeIconRef.current\n ) {\n this.inputRef.current?.focus();\n }\n }, 0);\n };\n\n getValueProps() {\n const { value } = this.asProps;\n return {\n value,\n onChange: this.handlers.value,\n autoFocus: true,\n ref: this.inputRef,\n };\n }\n getClearProps() {\n const { value, getI18nText } = this.asProps;\n return {\n ref: this.closeIconRef,\n /* hide through css because the width of the input changes */\n hide: !value,\n 'aria-hidden': !value,\n 'aria-label': getI18nText('clearSearch'),\n onClick: this.handleClear,\n };\n }\n\n render() {\n const Value = Root;\n const SInputSearch = Input;\n const { size, styles, children: hasChildren, Children } = this.asProps;\n\n return sstyled(styles)(\n <SInputSearch size={size || this.context.size || 'm'} styles={styles}>\n {hasChildren ? (\n <Children />\n ) : (\n <>\n <InputSearch.SearchIcon />\n <Value render={InputSearch.Value} />\n <InputSearch.Clear />\n </>\n )}\n </SInputSearch>,\n );\n }\n}\n\nconst SearchIcon = (props) => {\n const SSearchIcon = Root;\n const { styles } = props;\n return sstyled(styles)(\n <SSearchIcon render={Input.Addon}>\n <SearchM />\n </SSearchIcon>,\n );\n};\nconst SearchValue = (props) => {\n const SSearchValue = Root;\n const { styles } = props;\n return sstyled(styles)(<SSearchValue render={Input.Value} />);\n};\nconst SearchClear = (props) => {\n const SSearchClear = Root;\n const { styles } = props;\n return sstyled(styles)(<SSearchClear render={ButtonLink} addonLeft={CloseM} use={'secondary'} />);\n};\n\nconst InputSearch = createComponent(InputSearchRoot, {\n SearchIcon: SearchIcon,\n Value: SearchValue,\n Clear: SearchClear,\n});\n\nexport default InputSearch;\n"],"mappings":";;;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AADA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,EAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,GAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,MAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,4BAAA,GAAAT,OAAA;AAAmF;AAAA,IAAAU,KAAA,+BAAAC,MAAA,CAAAC,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAAA,IAI7EC,eAAe,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,eAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,eAAA;EAAA,SAAAA,gBAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,eAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,4BAURa,iBAAK,CAACC,SAAS,EAAE;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,gCACba,iBAAK,CAACC,SAAS,EAAE;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,kBAUlB,UAACe,CAAC,EAAK;MACnBf,KAAA,CAAKgB,QAAQ,CAACC,KAAK,CAAC,EAAE,EAAEF,CAAC,CAAC;MAC1BG,UAAU,CAAC,YAAM;QACf,IACEC,QAAQ,CAACC,aAAa,KAAKD,QAAQ,CAACE,IAAI,IACxCF,QAAQ,CAACC,aAAa,KAAKpB,KAAA,CAAKsB,YAAY,CAACC,OAAO,EACpD;UAAA,IAAAC,qBAAA;UACA,CAAAA,qBAAA,GAAAxB,KAAA,CAAKyB,QAAQ,CAACF,OAAO,cAAAC,qBAAA,uBAArBA,qBAAA,CAAuBE,KAAK,EAAE;QAChC;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAAA,OAAA1B,KAAA;EAAA;EAAA,IAAA2B,aAAA,aAAAhC,eAAA;IAAAiC,GAAA;IAAAX,KAAA,EAhBD,SAAAY,kBAAA,EAAoB;MAClB,OAAO;QACLZ,KAAK,EAAE;MACT,CAAC;IACH;EAAC;IAAAW,GAAA;IAAAX,KAAA,EAcD,SAAAa,cAAA,EAAgB;MACd,IAAQb,KAAK,GAAK,IAAI,CAACc,OAAO,CAAtBd,KAAK;MACb,OAAO;QACLA,KAAK,EAALA,KAAK;QACLe,QAAQ,EAAE,IAAI,CAAChB,QAAQ,CAACC,KAAK;QAC7BgB,SAAS,EAAE,IAAI;QACfC,GAAG,EAAE,IAAI,CAACT;MACZ,CAAC;IACH;EAAC;IAAAG,GAAA;IAAAX,KAAA,EACD,SAAAkB,cAAA,EAAgB;MACd,IAAAC,aAAA,GAA+B,IAAI,CAACL,OAAO;QAAnCd,KAAK,GAAAmB,aAAA,CAALnB,KAAK;QAAEoB,WAAW,GAAAD,aAAA,CAAXC,WAAW;MAC1B,OAAO;QACLH,GAAG,EAAE,IAAI,CAACZ,YAAY;QACtB;QACAgB,IAAI,EAAE,CAACrB,KAAK;QACZ,aAAa,EAAE,CAACA,KAAK;QACrB,YAAY,EAAEoB,WAAW,CAAC,aAAa,CAAC;QACxCE,OAAO,EAAE,IAAI,CAACC;MAChB,CAAC;IACH;EAAC;IAAAZ,GAAA;IAAAX,KAAA,EAED,SAAAwB,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAAX,OAAA;QAAAY,KAAA;MACP,IAAMC,KAAK,GAWYC,WAAW,CAACD,KAAK;MAVxC,IAAME,YAAY,GAAGC,iBAAK;MAC1B,IAAAC,cAAA,GAA0D,IAAI,CAACjB,OAAO;QAA9DkB,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAEC,MAAM,GAAAF,cAAA,CAANE,MAAM;QAAYC,WAAW,GAAAH,cAAA,CAArBI,QAAQ;QAAeC,QAAQ,GAAAL,cAAA,CAARK,QAAQ;MAErD,OAAAV,KAAA,GAAO,IAAAlD,aAAO,EAACyD,MAAM,CAAC,eACpBpE,MAAA,YAAAwE,aAAA,CAACR,YAAY,EAAAH,KAAA,CAAAY,EAAA;QAAA,QAAON,IAAI,IAAI,IAAI,CAACO,OAAO,CAACP,IAAI,IAAI,GAAG;QAAA,UAAUC;MAAM,IACjEC,WAAW,gBACVrE,MAAA,YAAAwE,aAAA,CAACD,QAAQ,EAAAV,KAAA,CAAAY,EAAA,iBAAG,gBAEZzE,MAAA,YAAAwE,aAAA,CAAAxE,MAAA,YAAA2E,QAAA,qBACE3E,MAAA,YAAAwE,aAAA,CAACT,WAAW,CAACa,UAAU,OAAG,eAC1B5E,MAAA,YAAAwE,aAAA,CAACV,KAAK,EAAAD,KAAA,CAAAY,EAAA,cAAAI,cAAA,qBAAAhF,KAAA,CAAAiF,WAAA,MAAAlB,IAAA,IAA8B,eACpC5D,MAAA,YAAAwE,aAAA,CAACT,WAAW,CAACgB,KAAK,OAAG,CAExB,CACY;IAEnB;EAAC;EAAA,OAAAlE,eAAA;AAAA,EAxE2BmE,eAAS;AAAA,IAAAnD,gBAAA,aAAjChB,eAAe,iBACE,aAAa;AAAA,IAAAgB,gBAAA,aAD9BhB,eAAe,WAGJJ,KAAK;AAAA,IAAAoB,gBAAA,aAHhBhB,eAAe,aAIF,CAAC,IAAAoE,uBAAW,EAACC,8CAAiB,CAAC,CAAC;AAAA,IAAArD,gBAAA,aAJ7ChB,eAAe,kBAKG;EACpBsE,YAAY,EAAE,EAAE;EAChBC,IAAI,EAAEF,8CAAiB;EACvBG,MAAM,EAAE;AACV,CAAC;AAAA,IAAAxD,gBAAA,aATGhB,eAAe,iBAaEyE,sBAAa;AA8DpC,IAAMV,UAAU,GAAG,SAAbA,UAAUA,CAAIW,KAAK,EAAK;EAAA,IAAAC,KAAA,GAAAC,YAAA;IAAAC,KAAA;EAC5B,IAAMC,WAAW,GAGM1B,iBAAK,CAAC2B,KAAK;EAFlC,IAAQxB,MAAM,GAAKmB,KAAK,CAAhBnB,MAAM;EACd,OAAAsB,KAAA,GAAO,IAAA/E,aAAO,EAACyD,MAAM,CAAC,eACpBpE,MAAA,YAAAwE,aAAA,CAACmB,WAAW,EAAAD,KAAA,CAAAjB,EAAA,oBAAAI,cAAA,qBAAAhF,KAAA,CAAAiF,WAAA,MAAAU,KAAA,kBACVxF,MAAA,YAAAwE,aAAA,CAACtE,EAAA,WAAO,EAAAwF,KAAA,CAAAjB,EAAA,gBAAG,CACC;AAElB,CAAC;AACD,IAAMoB,WAAW,GAAG,SAAdA,WAAWA,CAAIN,KAAK,EAAK;EAAA,IAAAO,KAAA,GAAAL,YAAA;IAAAM,KAAA;EAC7B,IAAMC,YAAY,GAE2B/B,iBAAK,CAACH,KAAK;EADxD,IAAQM,MAAM,GAAKmB,KAAK,CAAhBnB,MAAM;EACd,OAAA2B,KAAA,GAAO,IAAApF,aAAO,EAACyD,MAAM,CAAC,eAACpE,MAAA,YAAAwE,aAAA,CAACwB,YAAY,EAAAD,KAAA,CAAAtB,EAAA,qBAAAI,cAAA,qBAAAhF,KAAA,CAAAiF,WAAA,MAAAgB,KAAA,IAAwB;AAC9D,CAAC;AACD,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAIV,KAAK,EAAK;EAAA,IAAAW,KAAA,GAAAT,YAAA;IAAAU,KAAA;EAC7B,IAAMC,YAAY,GAE2BC,kBAAU;EADvD,IAAQjC,MAAM,GAAKmB,KAAK,CAAhBnB,MAAM;EACd,OAAA+B,KAAA,GAAO,IAAAxF,aAAO,EAACyD,MAAM,CAAC,eAACpE,MAAA,YAAAwE,aAAA,CAAC4B,YAAY,EAAAD,KAAA,CAAA1B,EAAA,qBAAAI,cAAA,qBAAAhF,KAAA,CAAAiF,WAAA;IAAA,aAAgCwB,cAAM;IAAA,OAAO;EAAW,GAAAJ,KAAA,IAAI;AAClG,CAAC;AAED,IAAMnC,WAAW,GAAG,IAAAwC,gBAAe,EAAC1F,eAAe,EAAE;EACnD+D,UAAU,EAAEA,UAAU;EACtBd,KAAK,EAAE+B,WAAW;EAClBd,KAAK,EAAEkB;AACT,CAAC,CAAC;AAAC,IAAAO,QAAA,GAEYzC,WAAW;AAAA0C,OAAA,cAAAD,QAAA"}
|
package/lib/cjs/Select.js
CHANGED
|
@@ -13,6 +13,8 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
|
|
|
13
13
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
14
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
15
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
16
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
17
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
18
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
19
|
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
18
20
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
@@ -20,30 +22,30 @@ var _index = require("@semcore/utils/lib/core/index");
|
|
|
20
22
|
var _core = _interopRequireWildcard(require("@semcore/core"));
|
|
21
23
|
var _react = _interopRequireDefault(require("react"));
|
|
22
24
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
23
|
-
var _dropdownMenu = require("@semcore/dropdown-menu");
|
|
25
|
+
var _dropdownMenu = _interopRequireDefault(require("@semcore/dropdown-menu"));
|
|
26
|
+
var _dropdown = _interopRequireWildcard(require("@semcore/dropdown"));
|
|
24
27
|
var _baseTrigger = require("@semcore/base-trigger");
|
|
25
28
|
var _divider = _interopRequireDefault(require("@semcore/divider"));
|
|
26
|
-
var _findComponent =
|
|
29
|
+
var _findComponent = _interopRequireWildcard(require("@semcore/utils/lib/findComponent"));
|
|
27
30
|
var _logger = _interopRequireDefault(require("@semcore/utils/lib/logger"));
|
|
28
31
|
var _resolveColorEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/resolveColorEnhance"));
|
|
29
32
|
var _addonTextChildren = _interopRequireDefault(require("@semcore/utils/lib/addonTextChildren"));
|
|
30
33
|
var _InputSearch = _interopRequireDefault(require("./InputSearch"));
|
|
31
34
|
var _flexBox = require("@semcore/flex-box");
|
|
32
35
|
var _context = require("./context");
|
|
33
|
-
var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
|
|
34
|
-
var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
|
|
35
36
|
var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
|
|
36
37
|
var _popper = require("@semcore/popper");
|
|
38
|
+
var _assignProps6 = require("@semcore/utils/lib/assignProps");
|
|
37
39
|
var _excluded = ["Children", "options", "multiselect", "value", "uid", "forcedAdvancedMode"];
|
|
38
40
|
/*__reshadow-styles__:"./style/select.shadow.css"*/
|
|
39
|
-
var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".
|
|
40
|
-
"__SOptionCheckbox": "
|
|
41
|
-
"_selected": "
|
|
42
|
-
"_size_l": "
|
|
43
|
-
"_indeterminate": "
|
|
44
|
-
"_theme": "
|
|
45
|
-
"--theme": "--
|
|
46
|
-
"_size_m": "
|
|
41
|
+
var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SOptionCheckbox_jpeh3_gg_{margin-top:var(--intergalactic-spacing-05x, 2px);margin-right:var(--intergalactic-spacing-2x, 8px);margin-bottom:auto;position:relative;flex-shrink:0;width:16px;height:16px}.___SOptionCheckbox_jpeh3_gg_::before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--intergalactic-bg-primary-neutral, #ffffff);border:1px solid;border-radius:var(--intergalactic-addon-rounded, 4px);border-color:var(--intergalactic-border-primary, #c4c7cf)}.___SOptionCheckbox_jpeh3_gg_::after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;margin:0 var(--intergalactic-spacing-05x, 2px);background-repeat:no-repeat;background-position:center center}.___SOptionCheckbox_jpeh3_gg_.__selected_jpeh3_gg_::after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEwIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik04LjI1IDFMNCA1LjI1TDEuNzUgMyIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_jpeh3_gg_._size_l_jpeh3_gg_{width:20px;height:20px}.___SOptionCheckbox_jpeh3_gg_._size_l_jpeh3_gg_.__selected_jpeh3_gg_::after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDEyIDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMSAxLjVMNC43NSA3Ljc1TDEgNCIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_jpeh3_gg_.__indeterminate_jpeh3_gg_:before,.___SOptionCheckbox_jpeh3_gg_.__selected_jpeh3_gg_:before{background-color:var(--intergalactic-control-primary-info, #008ff8);border-color:var(--intergalactic-control-primary-info, #008ff8)}.___SOptionCheckbox_jpeh3_gg_.__theme_jpeh3_gg_:before{border-color:var(--theme_jpeh3)}.___SOptionCheckbox_jpeh3_gg_.__theme_jpeh3_gg_.__indeterminate_jpeh3_gg_:before,.___SOptionCheckbox_jpeh3_gg_.__theme_jpeh3_gg_.__selected_jpeh3_gg_:before{background-color:var(--theme_jpeh3);border-color:var(--theme_jpeh3)}.___SOptionCheckbox_jpeh3_gg_.__selected_jpeh3_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7))}@media (hover:hover){.___SOptionCheckbox_jpeh3_gg_.__selected_jpeh3_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}.___SOptionCheckbox_jpeh3_gg_.__indeterminate_jpeh3_gg_:after{background-color:#fff;background-image:none;margin:auto;border-radius:1px}.___SOptionCheckbox_jpeh3_gg_.__indeterminate_jpeh3_gg_._size_l_jpeh3_gg_:after{width:12px;height:2px}.___SOptionCheckbox_jpeh3_gg_.__indeterminate_jpeh3_gg_._size_m_jpeh3_gg_:after{width:8px;height:2px}" /*__inner_css_end__*/, "jpeh3_gg_") /*__reshadow_css_end__*/, {
|
|
42
|
+
"__SOptionCheckbox": "___SOptionCheckbox_jpeh3_gg_",
|
|
43
|
+
"_selected": "__selected_jpeh3_gg_",
|
|
44
|
+
"_size_l": "_size_l_jpeh3_gg_",
|
|
45
|
+
"_indeterminate": "__indeterminate_jpeh3_gg_",
|
|
46
|
+
"_theme": "__theme_jpeh3_gg_",
|
|
47
|
+
"--theme": "--theme_jpeh3",
|
|
48
|
+
"_size_m": "_size_m_jpeh3_gg_"
|
|
47
49
|
});
|
|
48
50
|
function isSelectedOption(value, valueOption) {
|
|
49
51
|
return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;
|
|
@@ -54,16 +56,8 @@ function isEmptyValue(value) {
|
|
|
54
56
|
function getEmptyValue(multiselect) {
|
|
55
57
|
return multiselect ? [] : null;
|
|
56
58
|
}
|
|
57
|
-
var
|
|
58
|
-
|
|
59
|
-
if (!node.scrollIntoView) return;
|
|
60
|
-
node.scrollIntoView({
|
|
61
|
-
block: 'nearest',
|
|
62
|
-
inline: 'nearest'
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
var RootSelect = /*#__PURE__*/function (_Component) {
|
|
66
|
-
(0, _inherits2["default"])(RootSelect, _Component);
|
|
59
|
+
var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
|
|
60
|
+
(0, _inherits2["default"])(RootSelect, _AbstractDropdown);
|
|
67
61
|
var _super = (0, _createSuper2["default"])(RootSelect);
|
|
68
62
|
function RootSelect() {
|
|
69
63
|
var _this;
|
|
@@ -72,30 +66,13 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
72
66
|
args[_key] = arguments[_key];
|
|
73
67
|
}
|
|
74
68
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
75
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "
|
|
76
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "
|
|
77
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "isScrolledToFirstOption", false);
|
|
78
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "lastHandleOptionNodeCall", -1);
|
|
79
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOptionNode", function (node) {
|
|
80
|
-
if (!_this.asProps.scrollToSelected) return;
|
|
81
|
-
if (Date.now() - _this.lastHandleOptionNodeCall < 30) return;
|
|
82
|
-
_this.lastHandleOptionNodeCall = Date.now();
|
|
83
|
-
setTimeout(function () {
|
|
84
|
-
// in most cases 10ms timeout works perfectly and scrolls before user can see it
|
|
85
|
-
if (_this.asProps.visible) scrollToNode(node);
|
|
86
|
-
}, 10);
|
|
87
|
-
setTimeout(function () {
|
|
88
|
-
// in rare cases 10ms timeout it not enough so 30ms timeout saves the day
|
|
89
|
-
if (_this.asProps.visible) scrollToNode(node);
|
|
90
|
-
}, 30);
|
|
91
|
-
});
|
|
92
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindHandlerOptionClick", function (optionValue) {
|
|
69
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "role", 'listbox');
|
|
70
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindHandlerOptionClick", function (optionValue, index) {
|
|
93
71
|
return function (e) {
|
|
94
72
|
var newValue = optionValue;
|
|
95
73
|
var _this$asProps = _this.asProps,
|
|
96
74
|
value = _this$asProps.value,
|
|
97
|
-
multiselect = _this$asProps.multiselect
|
|
98
|
-
interaction = _this$asProps.interaction;
|
|
75
|
+
multiselect = _this$asProps.multiselect;
|
|
99
76
|
if (Array.isArray(value)) {
|
|
100
77
|
if (value.includes(optionValue)) {
|
|
101
78
|
newValue = value.filter(function (v) {
|
|
@@ -108,6 +85,7 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
108
85
|
_this.handlers.value(newValue, e);
|
|
109
86
|
if (!multiselect) {
|
|
110
87
|
_this.handlers.visible(false);
|
|
88
|
+
e.preventDefault();
|
|
111
89
|
}
|
|
112
90
|
};
|
|
113
91
|
});
|
|
@@ -120,18 +98,47 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
120
98
|
return _this;
|
|
121
99
|
}
|
|
122
100
|
(0, _createClass2["default"])(RootSelect, [{
|
|
101
|
+
key: "itemRef",
|
|
102
|
+
value: function itemRef(props, index, node) {
|
|
103
|
+
(0, _get2["default"])((0, _getPrototypeOf2["default"])(RootSelect.prototype), "itemRef", this).call(this, props, index, node);
|
|
104
|
+
var highlightedIndex = this.asProps.highlightedIndex;
|
|
105
|
+
var isHighlighted = index === highlightedIndex;
|
|
106
|
+
if (isHighlighted) {
|
|
107
|
+
this.scrollToNode(node);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}, {
|
|
123
111
|
key: "uncontrolledProps",
|
|
124
112
|
value: function uncontrolledProps() {
|
|
125
|
-
|
|
126
|
-
|
|
113
|
+
var _this2 = this;
|
|
114
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(RootSelect.prototype), "uncontrolledProps", this).call(this)), {}, {
|
|
115
|
+
visible: [null, function (visible) {
|
|
116
|
+
if (visible === true) {
|
|
117
|
+
setTimeout(function () {
|
|
118
|
+
var _this2$menuRef$curren, _this2$menuRef$curren2;
|
|
119
|
+
var options = (_this2$menuRef$curren = _this2.menuRef.current) === null || _this2$menuRef$curren === void 0 ? void 0 : _this2$menuRef$curren.querySelectorAll('[role="option"]');
|
|
120
|
+
var selected = (_this2$menuRef$curren2 = _this2.menuRef.current) === null || _this2$menuRef$curren2 === void 0 ? void 0 : _this2$menuRef$curren2.querySelector('[aria-selected="true"]');
|
|
121
|
+
if (selected && options) {
|
|
122
|
+
_this2.scrollToNode(selected);
|
|
123
|
+
for (var i = 0; i < options.length; i++) {
|
|
124
|
+
if (options[i] === selected) {
|
|
125
|
+
_this2.handlers.highlightedIndex(i);
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)
|
|
131
|
+
// and that's why its skip scrollToNodes. We selected the appropriate timeout manually.
|
|
132
|
+
}, 30);
|
|
133
|
+
}
|
|
134
|
+
}],
|
|
127
135
|
value: null
|
|
128
|
-
};
|
|
136
|
+
});
|
|
129
137
|
}
|
|
130
138
|
}, {
|
|
131
139
|
key: "getTriggerProps",
|
|
132
140
|
value: function getTriggerProps() {
|
|
133
141
|
var _this$asProps2 = this.asProps,
|
|
134
|
-
size = _this$asProps2.size,
|
|
135
142
|
disabled = _this$asProps2.disabled,
|
|
136
143
|
visible = _this$asProps2.visible,
|
|
137
144
|
state = _this$asProps2.state,
|
|
@@ -141,18 +148,20 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
141
148
|
forwardRef = _this$asProps2.forwardRef,
|
|
142
149
|
name = _this$asProps2.name,
|
|
143
150
|
multiselect = _this$asProps2.multiselect,
|
|
151
|
+
getI18nText = _this$asProps2.getI18nText,
|
|
152
|
+
highlightedIndex = _this$asProps2.highlightedIndex,
|
|
144
153
|
uid = _this$asProps2.uid,
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
'aria-
|
|
152
|
-
'aria-
|
|
154
|
+
Children = _this$asProps2.Children,
|
|
155
|
+
hasChildren = _this$asProps2.children;
|
|
156
|
+
var isMenu = (0, _findComponent.isAdvanceMode)(Children, [Select.Menu.displayName], true) || !hasChildren;
|
|
157
|
+
var ariaControls = isMenu ? "igc-".concat(uid, "-list") : "igc-".concat(uid, "-popper");
|
|
158
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(RootSelect.prototype), "getTriggerProps", this).call(this)), {}, {
|
|
159
|
+
onKeyDown: (0, _assignProps6.callAllEventHandlers)(this.handlePreventCommonKeyDown.bind(this), this.handleOpenKeyDown.bind(this), this.handleArrowKeyDown.bind(this)),
|
|
160
|
+
'aria-controls': visible ? ariaControls : undefined,
|
|
161
|
+
'aria-haspopup': isMenu ? 'listbox' : 'dialog',
|
|
153
162
|
'aria-disabled': disabled ? 'true' : 'false',
|
|
163
|
+
'aria-activedescendant': visible && highlightedIndex !== null ? "igc-".concat(uid, "-option-").concat(highlightedIndex) : undefined,
|
|
154
164
|
empty: isEmptyValue(value),
|
|
155
|
-
size: size,
|
|
156
165
|
value: value,
|
|
157
166
|
name: name,
|
|
158
167
|
$hiddenRef: forwardRef,
|
|
@@ -163,60 +172,56 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
163
172
|
active: visible,
|
|
164
173
|
onClear: this.handlerClear,
|
|
165
174
|
children: this.renderChildrenTrigger(value, options),
|
|
166
|
-
getI18nText: getI18nText
|
|
167
|
-
|
|
168
|
-
};
|
|
175
|
+
getI18nText: getI18nText
|
|
176
|
+
});
|
|
169
177
|
}
|
|
170
178
|
}, {
|
|
171
179
|
key: "getListProps",
|
|
172
180
|
value: function getListProps() {
|
|
173
|
-
var
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
'aria-multiselectable': multiselect ? 'true' : undefined,
|
|
178
|
-
id: "igc-".concat(uid, "-list"),
|
|
179
|
-
role: 'listbox',
|
|
180
|
-
'aria-label': 'List of options'
|
|
181
|
-
};
|
|
181
|
+
var multiselect = this.asProps.multiselect;
|
|
182
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(RootSelect.prototype), "getListProps", this).call(this)), {}, {
|
|
183
|
+
'aria-multiselectable': multiselect ? 'true' : undefined
|
|
184
|
+
});
|
|
182
185
|
}
|
|
183
186
|
}, {
|
|
184
|
-
key: "
|
|
185
|
-
value: function
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
multiselect = _this$asProps4.multiselect;
|
|
190
|
-
return {
|
|
191
|
-
'aria-multiselectable': multiselect ? 'true' : undefined,
|
|
192
|
-
id: "igc-".concat(uid, "-list"),
|
|
193
|
-
role: 'listbox',
|
|
194
|
-
'aria-label': getI18nText('optionsList')
|
|
195
|
-
};
|
|
187
|
+
key: "getPopperProps",
|
|
188
|
+
value: function getPopperProps() {
|
|
189
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(RootSelect.prototype), "getPopperProps", this).call(this)), {}, {
|
|
190
|
+
onKeyDown: (0, _assignProps6.callAllEventHandlers)(this.handlePreventCommonKeyDown.bind(this), this.handlePreventPopperKeyDown.bind(this), this.handleArrowKeyDown.bind(this))
|
|
191
|
+
});
|
|
196
192
|
}
|
|
197
193
|
}, {
|
|
198
194
|
key: "getOptionProps",
|
|
199
|
-
value: function getOptionProps(props) {
|
|
200
|
-
var
|
|
201
|
-
|
|
202
|
-
var
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
195
|
+
value: function getOptionProps(props, index) {
|
|
196
|
+
var _props$selected,
|
|
197
|
+
_this3 = this;
|
|
198
|
+
var _this$asProps3 = this.asProps,
|
|
199
|
+
value = _this$asProps3.value,
|
|
200
|
+
highlightedIndex = _this$asProps3.highlightedIndex,
|
|
201
|
+
focusSourceRef = _this$asProps3.focusSourceRef,
|
|
202
|
+
_this$asProps3$size = _this$asProps3.size,
|
|
203
|
+
size = _this$asProps3$size === void 0 ? 'm' : _this$asProps3$size;
|
|
204
|
+
var highlighted = index === highlightedIndex && focusSourceRef.current === 'keyboard';
|
|
205
|
+
var selected = (_props$selected = props.selected) !== null && _props$selected !== void 0 ? _props$selected : isSelectedOption(value, props.value);
|
|
206
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(RootSelect.prototype), "getItemProps", this).call(this, props, index)), {}, {
|
|
207
|
+
highlighted: highlighted,
|
|
207
208
|
selected: selected,
|
|
208
209
|
'aria-selected': selected ? 'true' : 'false',
|
|
209
210
|
'aria-disabled': props.disabled ? 'true' : 'false',
|
|
210
211
|
role: 'option',
|
|
211
|
-
onClick: this.bindHandlerOptionClick(props.value)
|
|
212
|
-
|
|
212
|
+
onClick: this.bindHandlerOptionClick(props.value, index),
|
|
213
|
+
ref: function ref(node) {
|
|
214
|
+
return _this3.itemRef(props, index, node);
|
|
215
|
+
},
|
|
216
|
+
size: size
|
|
217
|
+
});
|
|
213
218
|
}
|
|
214
219
|
}, {
|
|
215
220
|
key: "getOptionCheckboxProps",
|
|
216
221
|
value: function getOptionCheckboxProps() {
|
|
217
|
-
var _this$
|
|
218
|
-
size = _this$
|
|
219
|
-
resolveColor = _this$
|
|
222
|
+
var _this$asProps4 = this.asProps,
|
|
223
|
+
size = _this$asProps4.size,
|
|
224
|
+
resolveColor = _this$asProps4.resolveColor;
|
|
220
225
|
return {
|
|
221
226
|
size: size,
|
|
222
227
|
resolveColor: resolveColor
|
|
@@ -230,6 +235,17 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
230
235
|
'aria-disabled': 'true'
|
|
231
236
|
};
|
|
232
237
|
}
|
|
238
|
+
}, {
|
|
239
|
+
key: "handleOpenKeyDown",
|
|
240
|
+
value: function handleOpenKeyDown(e) {
|
|
241
|
+
(0, _get2["default"])((0, _getPrototypeOf2["default"])(RootSelect.prototype), "handleOpenKeyDown", this).call(this, e);
|
|
242
|
+
if (this.asProps.visible !== true && ['ArrowDown', 'ArrowUp', 'Enter', ' '].includes(e.key)) {
|
|
243
|
+
var hasInputSearch = (0, _findComponent.isAdvanceMode)(this.asProps.Children, [Select.InputSearch.displayName], true);
|
|
244
|
+
var defaultIndex = hasInputSearch ? null : 0;
|
|
245
|
+
this.handlers.highlightedIndex(defaultIndex);
|
|
246
|
+
return false;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
233
249
|
}, {
|
|
234
250
|
key: "renderChildrenTrigger",
|
|
235
251
|
value: function renderChildrenTrigger(value, options) {
|
|
@@ -254,42 +270,51 @@ var RootSelect = /*#__PURE__*/function (_Component) {
|
|
|
254
270
|
key: "render",
|
|
255
271
|
value: function render() {
|
|
256
272
|
var _ref2 = this.asProps;
|
|
257
|
-
var _this$
|
|
258
|
-
Children = _this$
|
|
259
|
-
options = _this$
|
|
260
|
-
multiselect = _this$
|
|
261
|
-
value = _this$
|
|
262
|
-
uid = _this$
|
|
263
|
-
forcedAdvancedMode = _this$
|
|
264
|
-
other = (0, _objectWithoutProperties2["default"])(_this$
|
|
273
|
+
var _this$asProps5 = this.asProps,
|
|
274
|
+
Children = _this$asProps5.Children,
|
|
275
|
+
options = _this$asProps5.options,
|
|
276
|
+
multiselect = _this$asProps5.multiselect,
|
|
277
|
+
value = _this$asProps5.value,
|
|
278
|
+
uid = _this$asProps5.uid,
|
|
279
|
+
forcedAdvancedMode = _this$asProps5.forcedAdvancedMode,
|
|
280
|
+
other = (0, _objectWithoutProperties2["default"])(_this$asProps5, _excluded);
|
|
265
281
|
var advancedMode = forcedAdvancedMode || (0, _findComponent["default"])(Children, [Select.Trigger.displayName, Select.Popper.displayName]);
|
|
266
282
|
_logger["default"].warn(options && advancedMode, "Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'", other['data-ui-name'] || Select.displayName);
|
|
283
|
+
this.itemProps = [];
|
|
267
284
|
if (options) {
|
|
268
285
|
var _ref = this.asProps;
|
|
269
|
-
return /*#__PURE__*/_react["default"].createElement(_dropdownMenu
|
|
286
|
+
return /*#__PURE__*/_react["default"].createElement(_dropdownMenu["default"], (0, _core.assignProps)({}, _ref), /*#__PURE__*/_react["default"].createElement(Select.Trigger, other), /*#__PURE__*/_react["default"].createElement(Select.Menu, null, options.map(function (option, index) {
|
|
270
287
|
return /*#__PURE__*/_react["default"].createElement(Select.Option, (0, _extends2["default"])({
|
|
271
288
|
key: option.value,
|
|
272
289
|
id: "igc-".concat(uid, "-option-").concat(index)
|
|
273
290
|
}, option), multiselect && /*#__PURE__*/_react["default"].createElement(Select.Option.Checkbox, null), option.children);
|
|
274
291
|
})));
|
|
275
292
|
}
|
|
276
|
-
return /*#__PURE__*/_react["default"].createElement(_dropdownMenu
|
|
293
|
+
return /*#__PURE__*/_react["default"].createElement(_dropdownMenu["default"], (0, _core.assignProps)({}, _ref2), /*#__PURE__*/_react["default"].createElement(Children, null));
|
|
277
294
|
}
|
|
278
295
|
}]);
|
|
279
296
|
return RootSelect;
|
|
280
|
-
}(
|
|
297
|
+
}(_dropdown.AbstractDropdown);
|
|
281
298
|
(0, _defineProperty2["default"])(RootSelect, "displayName", 'Select');
|
|
282
299
|
(0, _defineProperty2["default"])(RootSelect, "style", style);
|
|
283
|
-
(0, _defineProperty2["default"])(RootSelect, "enhance",
|
|
300
|
+
(0, _defineProperty2["default"])(RootSelect, "enhance", Object.values(_dropdown.enhance).concat([(0, _resolveColorEnhance["default"])()]));
|
|
284
301
|
(0, _defineProperty2["default"])(RootSelect, "defaultProps", function (props) {
|
|
302
|
+
var _props$highlightedInd, _props$selectedIndex, _props$interaction, _props$timeout;
|
|
303
|
+
var hasInputSearch = props.children && (0, _findComponent.isAdvanceMode)(props.children, [Select.InputSearch.displayName], true);
|
|
304
|
+
var defaultIndex = hasInputSearch ? null : 0;
|
|
285
305
|
return {
|
|
286
306
|
placeholder: props.multiselect ? 'Select options' : 'Select option',
|
|
287
307
|
size: 'm',
|
|
288
308
|
defaultValue: getEmptyValue(props.multiselect),
|
|
289
309
|
defaultVisible: false,
|
|
310
|
+
defaultHighlightedIndex: (_props$highlightedInd = props.highlightedIndex) !== null && _props$highlightedInd !== void 0 ? _props$highlightedInd : defaultIndex,
|
|
311
|
+
defaultSelectedIndex: (_props$selectedIndex = props.selectedIndex) !== null && _props$selectedIndex !== void 0 ? _props$selectedIndex : defaultIndex,
|
|
290
312
|
scrollToSelected: true,
|
|
291
313
|
i18n: _intergalacticDynamicLocales.localizedMessages,
|
|
292
|
-
locale: 'en'
|
|
314
|
+
locale: 'en',
|
|
315
|
+
interaction: (_props$interaction = props.interaction) !== null && _props$interaction !== void 0 ? _props$interaction : 'click',
|
|
316
|
+
inlineActions: false,
|
|
317
|
+
timeout: (_props$timeout = props.timeout) !== null && _props$timeout !== void 0 ? _props$timeout : 0
|
|
293
318
|
};
|
|
294
319
|
});
|
|
295
320
|
function Trigger(_ref8) {
|
|
@@ -304,12 +329,13 @@ function Trigger(_ref8) {
|
|
|
304
329
|
Tag = _ref8$tag === void 0 ? _baseTrigger.ButtonTrigger : _ref8$tag,
|
|
305
330
|
getI18nText = _ref8.getI18nText;
|
|
306
331
|
var hasInputTrigger = (0, _popper.isInputTriggerTag)(Tag);
|
|
307
|
-
var SSelectTrigger =
|
|
332
|
+
var SSelectTrigger = _dropdown["default"].Trigger;
|
|
308
333
|
return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SSelectTrigger, _ref6.cn("SSelectTrigger", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
309
334
|
"tag": Tag,
|
|
310
335
|
"placeholder": getI18nText('selectPlaceholder'),
|
|
336
|
+
"role": 'combobox',
|
|
311
337
|
"aria-autocomplete": hasInputTrigger && 'list' || undefined
|
|
312
|
-
}, _ref3))), (0, _addonTextChildren["default"])(Children, Tag.Text || _baseTrigger.ButtonTrigger.Text, Tag.Addon || _baseTrigger.ButtonTrigger.Addon, true), name && /*#__PURE__*/_react["default"].createElement("input", _ref6.cn("input", {
|
|
338
|
+
}, _ref3))), (0, _addonTextChildren["default"])(Children, Tag.Text || _baseTrigger.ButtonTrigger.Text, Tag.Value || _baseTrigger.ButtonTrigger.Text, Tag.Addon || _baseTrigger.ButtonTrigger.Addon, true), name && /*#__PURE__*/_react["default"].createElement("input", _ref6.cn("input", {
|
|
313
339
|
"type": 'hidden',
|
|
314
340
|
"defaultValue": value,
|
|
315
341
|
"name": name,
|
|
@@ -320,14 +346,14 @@ var optionPropsContext = /*#__PURE__*/_react["default"].createContext({});
|
|
|
320
346
|
function Option(props) {
|
|
321
347
|
var _ref4 = arguments[0],
|
|
322
348
|
_ref7;
|
|
323
|
-
var SSelectOption =
|
|
349
|
+
var SSelectOption = _dropdown["default"].Item;
|
|
324
350
|
var styles = props.styles,
|
|
325
351
|
Children = props.Children;
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
}, _ref4))), /*#__PURE__*/_react["default"].createElement(optionPropsContext.Provider, {
|
|
352
|
+
var hasCheckbox = (0, _findComponent.isAdvanceMode)(Children, [Select.Option.Checkbox.displayName]);
|
|
353
|
+
var hasContent = (0, _findComponent.isAdvanceMode)(Children, [Select.Option.Content.displayName]);
|
|
354
|
+
return _ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SSelectOption, _ref7.cn("SSelectOption", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref4))), /*#__PURE__*/_react["default"].createElement(optionPropsContext.Provider, {
|
|
329
355
|
value: props
|
|
330
|
-
}, /*#__PURE__*/_react["default"].createElement(Children, _ref7.cn("Children", {}))));
|
|
356
|
+
}, hasCheckbox && !hasContent ? /*#__PURE__*/_react["default"].createElement(Select.Option.Content, null, /*#__PURE__*/_react["default"].createElement(Children, _ref7.cn("Children", {}))) : /*#__PURE__*/_react["default"].createElement(Children, _ref7.cn("Children", {}))));
|
|
331
357
|
}
|
|
332
358
|
function Checkbox(providedProps) {
|
|
333
359
|
var optionProps = _react["default"].useContext(optionPropsContext);
|
|
@@ -371,26 +397,30 @@ var Select = (0, _core["default"])(RootSelect, {
|
|
|
371
397
|
Addon: _baseTrigger.ButtonTrigger.Addon,
|
|
372
398
|
Text: _baseTrigger.ButtonTrigger.Text
|
|
373
399
|
}],
|
|
374
|
-
Popper:
|
|
375
|
-
List: _dropdownMenu.
|
|
376
|
-
Menu: _dropdownMenu.
|
|
400
|
+
Popper: _dropdown["default"].Popper,
|
|
401
|
+
List: _dropdownMenu["default"].List,
|
|
402
|
+
Menu: _dropdownMenu["default"].Menu,
|
|
377
403
|
Option: [Option, {
|
|
378
|
-
Addon: _dropdownMenu.
|
|
404
|
+
Addon: _dropdownMenu["default"].Item.Addon,
|
|
405
|
+
Content: _dropdownMenu["default"].Item.Content,
|
|
406
|
+
Hint: _dropdownMenu["default"].Item.Hint,
|
|
379
407
|
Checkbox: Checkbox
|
|
380
408
|
}],
|
|
381
|
-
|
|
382
|
-
|
|
409
|
+
Group: _dropdown["default"].Group,
|
|
410
|
+
OptionTitle: _dropdownMenu["default"].ItemTitle,
|
|
411
|
+
OptionHint: _dropdownMenu["default"].ItemHint,
|
|
383
412
|
Divider: _divider["default"],
|
|
384
413
|
InputSearch: [InputSearchWrapper, _InputSearch["default"]._______childrenComponents],
|
|
385
414
|
Input: [InputSearchWrapper, _InputSearch["default"]._______childrenComponents]
|
|
386
415
|
}, {
|
|
387
|
-
parent: _dropdownMenu
|
|
416
|
+
parent: _dropdownMenu["default"],
|
|
388
417
|
context: _context.selectContext
|
|
389
418
|
});
|
|
390
419
|
var wrapSelect = function wrapSelect(wrapper) {
|
|
391
420
|
return wrapper;
|
|
392
421
|
};
|
|
393
422
|
exports.wrapSelect = wrapSelect;
|
|
423
|
+
Select.selectedIndexContext = _dropdown.selectedIndexContext;
|
|
394
424
|
var _default = Select;
|
|
395
425
|
exports["default"] = _default;
|
|
396
426
|
//# sourceMappingURL=Select.js.map
|