@semcore/select 3.3.3 → 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.
Files changed (39) hide show
  1. package/CHANGELOG.md +3 -3
  2. package/lib/cjs/InputSearch.js +18 -10
  3. package/lib/cjs/InputSearch.js.map +1 -1
  4. package/lib/cjs/Select.js +37 -26
  5. package/lib/cjs/Select.js.map +1 -1
  6. package/lib/cjs/index.d.js.map +1 -1
  7. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +46 -0
  8. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -0
  9. package/lib/cjs/translations/de.json +6 -0
  10. package/lib/cjs/translations/en.json +6 -0
  11. package/lib/cjs/translations/es.json +6 -0
  12. package/lib/cjs/translations/fr.json +6 -0
  13. package/lib/cjs/translations/it.json +6 -0
  14. package/lib/cjs/translations/ja.json +6 -0
  15. package/lib/cjs/translations/ko.json +6 -0
  16. package/lib/cjs/translations/pt.json +6 -0
  17. package/lib/cjs/translations/tr.json +6 -0
  18. package/lib/cjs/translations/vi.json +6 -0
  19. package/lib/cjs/translations/zh.json +6 -0
  20. package/lib/es6/InputSearch.js +17 -10
  21. package/lib/es6/InputSearch.js.map +1 -1
  22. package/lib/es6/Select.js +35 -26
  23. package/lib/es6/Select.js.map +1 -1
  24. package/lib/es6/index.d.js.map +1 -1
  25. package/lib/es6/translations/__intergalactic-dynamic-locales.js +25 -0
  26. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -0
  27. package/lib/es6/translations/de.json +6 -0
  28. package/lib/es6/translations/en.json +6 -0
  29. package/lib/es6/translations/es.json +6 -0
  30. package/lib/es6/translations/fr.json +6 -0
  31. package/lib/es6/translations/it.json +6 -0
  32. package/lib/es6/translations/ja.json +6 -0
  33. package/lib/es6/translations/ko.json +6 -0
  34. package/lib/es6/translations/pt.json +6 -0
  35. package/lib/es6/translations/tr.json +6 -0
  36. package/lib/es6/translations/vi.json +6 -0
  37. package/lib/es6/translations/zh.json +6 -0
  38. package/lib/types/index.d.ts +1 -0
  39. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [3.3.3] - 2022-12-14
5
+ ## [3.4.0] - 2022-12-14
6
6
 
7
- ### Changed
7
+ ### Added
8
8
 
9
- - Version patch update due to children dependencies update (`@semcore/base-trigger` [3.3.2 ~> 3.3.3]).
9
+ - Added internationalization of aria attributes.
10
10
 
11
11
  ## [3.3.2] - 2022-12-13
12
12
 
@@ -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
- ".___SInputSearch_1pdb1_gg_._size_m_1pdb1_gg_{height:32px}.___SClose_1pdb1_gg_.__hide_1pdb1_gg_{visibility:hidden}.___SOutline_1pdb1_gg_{top:-1px;left:-1px;width:100%;border-radius:var(--intergalactic-rounded-medium,6px) var(--intergalactic-rounded-medium,6px) 0 0}"
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
- , "1pdb1_gg_")
61
+ , "17yfe_gg_")
58
62
  /*__reshadow_css_end__*/
59
63
  , {
60
- "__SInputSearch": "___SInputSearch_1pdb1_gg_",
61
- "_size_m": "_size_m_1pdb1_gg_",
62
- "__SClose": "___SClose_1pdb1_gg_",
63
- "_hide": "__hide_1pdb1_gg_",
64
- "__SOutline": "___SOutline_1pdb1_gg_"
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": "Clear search field",
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\n static defaultProps = {\n defaultValue: '',\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 } = 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=\"Clear search field\"\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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,gBAAgB,GAAG;EACvBC,CAAC,EAAE,CAACC,aAAD,EAAUC,cAAV,CADoB;EAEvBC,CAAC,EAAE,CAACF,aAAD,EAAUC,cAAV;AAFoB,CAAzB;;IAKME,W;;;;;;;;;;;;;;;oGAiBU,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,oBAAgC,KAAKC,OAArC;MAAA,IAAQC,IAAR,iBAAQA,IAAR;MAAA,IAAcP,KAAd,iBAAcA,KAAd;MAAA,IAAqBQ,MAArB,iBAAqBA,MAArB;MACA,IAAMC,SAAS,GAAGF,IAAI,IAAI,KAAKG,OAAL,CAAaH,IAAvC;MACA,IAAMI,SAAS,GAAG,CAACX,KAAnB;MACA,IAAMY,SAAS,GAAGpB,gBAAgB,CAACiB,SAAD,CAAhB,CAA4B,CAA5B,CAAlB;MACA,IAAMI,UAAU,GAAGrB,gBAAgB,CAACiB,SAAD,CAAhB,CAA4B,CAA5B,CAAnB;MAEA,eAAO,IAAAK,aAAA,EAAQN,MAAR,CAAP,eACE,gCAAC,YAAD;QAAA,QAAoBC,SAApB;QAAA,UAAuCD;MAAvC,iBACE,gCAAC,iBAAD,CAAO,KAAP,qBACE,gCAAC,UAAD,6BADF,CADF,eAIE,gCAAC,KAAD;QAAA;MAAA,WAJF,eAKE,gCAAC,MAAD;QAAA,QACO,QADP;QAAA,QAGQG,SAHR;QAAA,eAIeA,SAJf;QAAA;QAAA,cAMa,oBANb;QAAA,WAOW,KAAKI;MAPhB,iBASE,gCAAC,SAAD,4BATF,CALF,CADF;IAmBD;;;EAlDuBC,e;;iCAApBnB,W,iBACiB,a;iCADjBA,W,WAGWoB,K;iCAHXpB,W,kBAKkB;EACpBqB,YAAY,EAAE;AADM,C;iCALlBrB,W,iBASiBsB,sB;;eA4CR,IAAAC,gBAAA,EAAgBvB,WAAhB,C"}
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
- ".___SOptionCheckbox_2wz3r_gg_{margin-top:var(--intergalactic-spacing-05x,2px);margin-right:var(--intergalactic-spacing-2x,8px);margin-bottom:auto;position:relative;flex-shrink:0}.___SOptionCheckbox_2wz3r_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_2wz3r_gg_{width:16px;height:16px}.___SOptionCheckbox_2wz3r_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_2wz3r_gg_._size_l_2wz3r_gg_{width:20px;height:20px}.___SOptionCheckbox_2wz3r_gg_._size_l_2wz3r_gg_:after{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTEgMS41TDQuNzUgNy43NSAxIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=\")}.___SOptionCheckbox_2wz3r_gg_.__checked_2wz3r_gg_:before{background-color:var(--intergalactic-control-primary-info,#008ff8);border-color:var(--intergalactic-control-primary-info,#008ff8)}.___SOptionCheckbox_2wz3r_gg_.__theme_2wz3r_gg_:before{border-color:var(--theme_2wz3r)}.___SOptionCheckbox_2wz3r_gg_.__theme_2wz3r_gg_.__checked_2wz3r_gg_:before{background-color:var(--theme_2wz3r);border-color:var(--theme_2wz3r)}.___SOptionCheckbox_2wz3r_gg_.__selected_2wz3r_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected,rgba(196,229,254,.7))}.___SOptionCheckbox_2wz3r_gg_.__selected_2wz3r_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover,#c4e5fe)}"
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
- , "2wz3r_gg_")
87
+ , "1i1rn_gg_")
84
88
  /*__reshadow_css_end__*/
85
89
  , {
86
- "__SOptionCheckbox": "___SOptionCheckbox_2wz3r_gg_",
87
- "_size_l": "_size_l_2wz3r_gg_",
88
- "_checked": "__checked_2wz3r_gg_",
89
- "_theme": "__theme_2wz3r_gg_",
90
- "--theme": "--theme_2wz3r",
91
- "_selected": "__selected_2wz3r_gg_"
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 ? "Press Tab to go to popover" : undefined,
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 uid = this.asProps.uid;
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': 'List of options',
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$asProps4 = this.asProps,
229
- value = _this$asProps4.value,
230
- uid = _this$asProps4.uid;
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$asProps5 = this.asProps,
332
- Children = _this$asProps5.Children,
333
- options = _this$asProps5.options,
334
- multiselect = _this$asProps5.multiselect,
335
- value = _this$asProps5.value,
336
- other = (0, _objectWithoutProperties2["default"])(_this$asProps5, _excluded);
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": "Select option",
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
@@ -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":"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"}
@@ -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"}
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Suchfeld leeren",
3
+ "selectPlaceholder": "Option auswählen",
4
+ "triggerHint": "Drücken Sie Tab, um zum Popover zu gehen",
5
+ "optionsList": "Liste der Optionen"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Clear search field",
3
+ "selectPlaceholder": "Select option",
4
+ "triggerHint": "Press Tab to go to popover",
5
+ "optionsList": "List of options"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Borrar campo de búsqueda",
3
+ "selectPlaceholder": "Seleccionar opción",
4
+ "triggerHint": "Presiona Tab para ir a Popover",
5
+ "optionsList": "Lista de opciones"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Effacer le champ de recherche",
3
+ "selectPlaceholder": "Sélectionner une option",
4
+ "triggerHint": "Appuyez sur la touche Tab pour accéder au popover",
5
+ "optionsList": "Liste des options"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Svuota il campo di ricerca",
3
+ "selectPlaceholder": "Seleziona opzione",
4
+ "triggerHint": "Premi Tab per andare a Popover",
5
+ "optionsList": "Lista delle opzioni"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "サーチフィールドをクリア",
3
+ "selectPlaceholder": "オプションを選択",
4
+ "triggerHint": "Tabキーを押してポップオーバーに移動",
5
+ "optionsList": "オプションのリスト"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "검색란 지우기",
3
+ "selectPlaceholder": "옵션 선택",
4
+ "triggerHint": "팝업창으로 이동하려면 Tab 키를 누르세요",
5
+ "optionsList": "옵션 목록"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Limpar campo de pesquisa",
3
+ "selectPlaceholder": "Selecione a opção",
4
+ "triggerHint": "Pressione Tab para acessar o pop-over",
5
+ "optionsList": "Lista de opções"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Arama alanını temizle",
3
+ "selectPlaceholder": "Seçeneği seçin",
4
+ "triggerHint": "Popover'a gitmek için Tab tuşuna basın",
5
+ "optionsList": "Seçenek listesi"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Xoá trường tìm kiếm",
3
+ "selectPlaceholder": "Chọn tùy chọn",
4
+ "triggerHint": "Nhấn Tab để chuyển đến cửa sổ bật lên",
5
+ "optionsList": "Danh sách tuỳ chọn"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "清除搜索字段",
3
+ "selectPlaceholder": "选择选项",
4
+ "triggerHint": "按 T​​ab 转到弹出框",
5
+ "optionsList": "选项列表"
6
+ }
@@ -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
- ".___SInputSearch_1pdb1_gg_._size_m_1pdb1_gg_{height:32px}.___SClose_1pdb1_gg_.__hide_1pdb1_gg_{visibility:hidden}.___SOutline_1pdb1_gg_{top:-1px;left:-1px;width:100%;border-radius:var(--intergalactic-rounded-medium,6px) var(--intergalactic-rounded-medium,6px) 0 0}"
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
- , "1pdb1_gg_")
35
+ , "17yfe_gg_")
34
36
  /*__reshadow_css_end__*/
35
37
  , {
36
- "__SInputSearch": "___SInputSearch_1pdb1_gg_",
37
- "_size_m": "_size_m_1pdb1_gg_",
38
- "__SClose": "___SClose_1pdb1_gg_",
39
- "_hide": "__hide_1pdb1_gg_",
40
- "__SOutline": "___SOutline_1pdb1_gg_"
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": "Clear search field",
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\n static defaultProps = {\n defaultValue: '',\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 } = 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=\"Clear search field\"\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;;;;;;;;;;;;;;;;;;AAIA,IAAMC,gBAAgB,GAAG;EACvBC,CAAC,EAAE,CAACL,OAAD,EAAUC,MAAV,CADoB;EAEvBK,CAAC,EAAE,CAACN,OAAD,EAAUC,MAAV;AAFoB,CAAzB;;IAKMM,W;;;;;;;;;;;;;;;;kEAiBU,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,GAcQT,KAAK,CAACS,KAdzB;MACA,IAAMC,YAAY,GAAGV,KAArB;MACA,IAAMW,MAAM,GAAGX,KAAK,CAACY,KAArB;MACA,oBAAgC,KAAKC,OAArC;MAAA,IAAQC,IAAR,iBAAQA,IAAR;MAAA,IAAcN,KAAd,iBAAcA,KAAd;MAAA,IAAqBO,MAArB,iBAAqBA,MAArB;MACA,IAAMC,SAAS,GAAGF,IAAI,IAAI,KAAKG,OAAL,CAAaH,IAAvC;MACA,IAAMI,SAAS,GAAG,CAACV,KAAnB;MACA,IAAMW,SAAS,GAAGjB,gBAAgB,CAACc,SAAD,CAAhB,CAA4B,CAA5B,CAAlB;MACA,IAAMI,UAAU,GAAGlB,gBAAgB,CAACc,SAAD,CAAhB,CAA4B,CAA5B,CAAnB;MAEA,eAAOpB,OAAO,CAACmB,MAAD,CAAd,eACE,oBAAC,YAAD;QAAA,QAAoBC,SAApB;QAAA,UAAuCD;MAAvC,iBACE,oBAAC,KAAD,CAAO,KAAP,qBACE,oBAAC,UAAD,6BADF,CADF,eAIE,oBAAC,KAAD;QAAA;MAAA,WAJF,eAKE,oBAAC,MAAD;QAAA,QACO,QADP;QAAA,QAGQG,SAHR;QAAA,eAIeA,SAJf;QAAA;QAAA,cAMa,oBANb;QAAA,WAOW,KAAKG;MAPhB,iBASE,oBAAC,SAAD,4BATF,CALF,CADF;IAmBD;;;;EAlDuB1B,S;;gBAApBU,W,iBACiB,a;;gBADjBA,W,WAGWiB,K;;gBAHXjB,W,kBAKkB;EACpBkB,YAAY,EAAE;AADM,C;;gBALlBlB,W,iBASiBJ,a;;AA4CvB,eAAeP,eAAe,CAACW,WAAD,CAA9B"}
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
- ".___SOptionCheckbox_2wz3r_gg_{margin-top:var(--intergalactic-spacing-05x,2px);margin-right:var(--intergalactic-spacing-2x,8px);margin-bottom:auto;position:relative;flex-shrink:0}.___SOptionCheckbox_2wz3r_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_2wz3r_gg_{width:16px;height:16px}.___SOptionCheckbox_2wz3r_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_2wz3r_gg_._size_l_2wz3r_gg_{width:20px;height:20px}.___SOptionCheckbox_2wz3r_gg_._size_l_2wz3r_gg_:after{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTEgMS41TDQuNzUgNy43NSAxIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=\")}.___SOptionCheckbox_2wz3r_gg_.__checked_2wz3r_gg_:before{background-color:var(--intergalactic-control-primary-info,#008ff8);border-color:var(--intergalactic-control-primary-info,#008ff8)}.___SOptionCheckbox_2wz3r_gg_.__theme_2wz3r_gg_:before{border-color:var(--theme_2wz3r)}.___SOptionCheckbox_2wz3r_gg_.__theme_2wz3r_gg_.__checked_2wz3r_gg_:before{background-color:var(--theme_2wz3r);border-color:var(--theme_2wz3r)}.___SOptionCheckbox_2wz3r_gg_.__selected_2wz3r_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected,rgba(196,229,254,.7))}.___SOptionCheckbox_2wz3r_gg_.__selected_2wz3r_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover,#c4e5fe)}"
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
- , "2wz3r_gg_")
51
+ , "1i1rn_gg_")
50
52
  /*__reshadow_css_end__*/
51
53
  , {
52
- "__SOptionCheckbox": "___SOptionCheckbox_2wz3r_gg_",
53
- "_size_l": "_size_l_2wz3r_gg_",
54
- "_checked": "__checked_2wz3r_gg_",
55
- "_theme": "__theme_2wz3r_gg_",
56
- "--theme": "--theme_2wz3r",
57
- "_selected": "__selected_2wz3r_gg_"
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 ? "Press Tab to go to popover" : undefined,
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 uid = this.asProps.uid;
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': 'List of options',
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$asProps4 = this.asProps,
200
- value = _this$asProps4.value,
201
- uid = _this$asProps4.uid;
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$asProps5 = this.asProps,
304
- Children = _this$asProps5.Children,
305
- options = _this$asProps5.options,
306
- multiselect = _this$asProps5.multiselect,
307
- value = _this$asProps5.value,
308
- other = _objectWithoutProperties(_this$asProps5, _excluded);
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": "Select option",
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
@@ -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":"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"}
@@ -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"}
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Suchfeld leeren",
3
+ "selectPlaceholder": "Option auswählen",
4
+ "triggerHint": "Drücken Sie Tab, um zum Popover zu gehen",
5
+ "optionsList": "Liste der Optionen"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Clear search field",
3
+ "selectPlaceholder": "Select option",
4
+ "triggerHint": "Press Tab to go to popover",
5
+ "optionsList": "List of options"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Borrar campo de búsqueda",
3
+ "selectPlaceholder": "Seleccionar opción",
4
+ "triggerHint": "Presiona Tab para ir a Popover",
5
+ "optionsList": "Lista de opciones"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Effacer le champ de recherche",
3
+ "selectPlaceholder": "Sélectionner une option",
4
+ "triggerHint": "Appuyez sur la touche Tab pour accéder au popover",
5
+ "optionsList": "Liste des options"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Svuota il campo di ricerca",
3
+ "selectPlaceholder": "Seleziona opzione",
4
+ "triggerHint": "Premi Tab per andare a Popover",
5
+ "optionsList": "Lista delle opzioni"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "サーチフィールドをクリア",
3
+ "selectPlaceholder": "オプションを選択",
4
+ "triggerHint": "Tabキーを押してポップオーバーに移動",
5
+ "optionsList": "オプションのリスト"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "검색란 지우기",
3
+ "selectPlaceholder": "옵션 선택",
4
+ "triggerHint": "팝업창으로 이동하려면 Tab 키를 누르세요",
5
+ "optionsList": "옵션 목록"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Limpar campo de pesquisa",
3
+ "selectPlaceholder": "Selecione a opção",
4
+ "triggerHint": "Pressione Tab para acessar o pop-over",
5
+ "optionsList": "Lista de opções"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Arama alanını temizle",
3
+ "selectPlaceholder": "Seçeneği seçin",
4
+ "triggerHint": "Popover'a gitmek için Tab tuşuna basın",
5
+ "optionsList": "Seçenek listesi"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "Xoá trường tìm kiếm",
3
+ "selectPlaceholder": "Chọn tùy chọn",
4
+ "triggerHint": "Nhấn Tab để chuyển đến cửa sổ bật lên",
5
+ "optionsList": "Danh sách tuỳ chọn"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "clearSearch": "清除搜索字段",
3
+ "selectPlaceholder": "选择选项",
4
+ "triggerHint": "按 T​​ab 转到弹出框",
5
+ "optionsList": "选项列表"
6
+ }
@@ -64,6 +64,7 @@ export interface ISelectProps<T extends SelectValue = SelectValue>
64
64
  * Input name
65
65
  */
66
66
  name?: string;
67
+ locale?: string;
67
68
  }
68
69
 
69
70
  export interface ISelectOption {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/select",
3
3
  "description": "Semrush Select Component",
4
- "version": "3.3.3",
4
+ "version": "3.4.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",