@dxc-technology/halstack-react 0.0.0-e49dc66 → 0.0.0-e4ccd42

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 (373) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +118 -194
  8. package/accordion/Accordion.stories.tsx +283 -0
  9. package/accordion/Accordion.test.js +56 -0
  10. package/accordion/types.d.ts +12 -23
  11. package/accordion-group/AccordionGroup.d.ts +5 -4
  12. package/accordion-group/AccordionGroup.js +39 -108
  13. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  14. package/accordion-group/AccordionGroup.test.js +98 -0
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +18 -23
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -0
  20. package/action-icon/ActionIcon.stories.tsx +41 -0
  21. package/action-icon/ActionIcon.test.js +64 -0
  22. package/action-icon/types.d.ts +26 -0
  23. package/alert/Alert.js +24 -60
  24. package/alert/Alert.stories.tsx +28 -0
  25. package/alert/Alert.test.js +75 -0
  26. package/alert/types.d.ts +6 -6
  27. package/badge/Badge.d.ts +4 -0
  28. package/badge/Badge.js +141 -41
  29. package/badge/Badge.stories.tsx +210 -0
  30. package/badge/Badge.test.js +30 -0
  31. package/badge/types.d.ts +54 -0
  32. package/badge/types.js +5 -0
  33. package/bleed/Bleed.d.ts +3 -0
  34. package/bleed/Bleed.js +43 -0
  35. package/bleed/Bleed.stories.tsx +342 -0
  36. package/bleed/types.d.ts +37 -0
  37. package/bleed/types.js +5 -0
  38. package/box/Box.d.ts +1 -1
  39. package/box/Box.js +32 -86
  40. package/box/Box.stories.tsx +38 -51
  41. package/box/Box.test.js +13 -0
  42. package/box/types.d.ts +3 -18
  43. package/bulleted-list/BulletedList.d.ts +7 -0
  44. package/bulleted-list/BulletedList.js +89 -0
  45. package/bulleted-list/BulletedList.stories.tsx +115 -0
  46. package/bulleted-list/types.d.ts +38 -0
  47. package/bulleted-list/types.js +5 -0
  48. package/button/Button.d.ts +1 -1
  49. package/button/Button.js +65 -122
  50. package/button/Button.stories.tsx +164 -96
  51. package/button/Button.test.js +38 -0
  52. package/button/types.d.ts +14 -14
  53. package/card/Card.d.ts +1 -1
  54. package/card/Card.js +59 -104
  55. package/card/Card.stories.tsx +171 -0
  56. package/card/Card.test.js +39 -0
  57. package/card/types.d.ts +8 -15
  58. package/checkbox/Checkbox.d.ts +2 -2
  59. package/checkbox/Checkbox.js +145 -183
  60. package/checkbox/Checkbox.stories.tsx +166 -136
  61. package/checkbox/Checkbox.test.js +199 -0
  62. package/checkbox/types.d.ts +20 -8
  63. package/chip/Chip.d.ts +4 -0
  64. package/chip/Chip.js +48 -148
  65. package/chip/Chip.stories.tsx +214 -0
  66. package/chip/Chip.test.js +41 -0
  67. package/chip/types.d.ts +45 -0
  68. package/chip/types.js +5 -0
  69. package/common/OpenSans.css +68 -80
  70. package/common/coreTokens.d.ts +237 -0
  71. package/common/coreTokens.js +184 -0
  72. package/common/utils.d.ts +1 -0
  73. package/common/utils.js +6 -12
  74. package/common/variables.d.ts +1395 -0
  75. package/common/variables.js +1033 -1343
  76. package/container/Container.d.ts +4 -0
  77. package/container/Container.js +194 -0
  78. package/container/Container.stories.tsx +214 -0
  79. package/container/types.d.ts +74 -0
  80. package/container/types.js +5 -0
  81. package/date-input/Calendar.d.ts +4 -0
  82. package/date-input/Calendar.js +214 -0
  83. package/date-input/DateInput.js +175 -313
  84. package/date-input/DateInput.stories.tsx +203 -56
  85. package/date-input/DateInput.test.js +808 -0
  86. package/date-input/DatePicker.d.ts +4 -0
  87. package/date-input/DatePicker.js +115 -0
  88. package/date-input/Icons.d.ts +6 -0
  89. package/date-input/Icons.js +58 -0
  90. package/date-input/YearPicker.d.ts +4 -0
  91. package/date-input/YearPicker.js +100 -0
  92. package/date-input/types.d.ts +86 -22
  93. package/dialog/Dialog.d.ts +1 -1
  94. package/dialog/Dialog.js +69 -130
  95. package/dialog/Dialog.stories.tsx +365 -0
  96. package/dialog/Dialog.test.js +307 -0
  97. package/dialog/types.d.ts +18 -25
  98. package/dropdown/Dropdown.d.ts +1 -1
  99. package/dropdown/Dropdown.js +250 -331
  100. package/dropdown/Dropdown.stories.tsx +438 -0
  101. package/dropdown/Dropdown.test.js +599 -0
  102. package/dropdown/DropdownMenu.d.ts +4 -0
  103. package/dropdown/DropdownMenu.js +63 -0
  104. package/dropdown/DropdownMenuItem.d.ts +4 -0
  105. package/dropdown/DropdownMenuItem.js +67 -0
  106. package/dropdown/types.d.ts +37 -28
  107. package/file-input/FileInput.d.ts +4 -0
  108. package/file-input/FileInput.js +274 -327
  109. package/file-input/FileInput.stories.tsx +618 -0
  110. package/file-input/FileInput.test.js +459 -0
  111. package/file-input/FileItem.d.ts +4 -0
  112. package/file-input/FileItem.js +54 -112
  113. package/file-input/types.d.ts +129 -0
  114. package/file-input/types.js +5 -0
  115. package/flex/Flex.d.ts +4 -0
  116. package/flex/Flex.js +57 -0
  117. package/flex/Flex.stories.tsx +112 -0
  118. package/flex/types.d.ts +97 -0
  119. package/flex/types.js +5 -0
  120. package/footer/Footer.d.ts +1 -1
  121. package/footer/Footer.js +73 -201
  122. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +57 -37
  123. package/footer/Footer.test.js +85 -0
  124. package/footer/Icons.d.ts +3 -0
  125. package/footer/Icons.js +67 -8
  126. package/footer/types.d.ts +41 -38
  127. package/grid/Grid.d.ts +7 -0
  128. package/grid/Grid.js +76 -0
  129. package/grid/Grid.stories.tsx +219 -0
  130. package/grid/types.d.ts +115 -0
  131. package/grid/types.js +5 -0
  132. package/header/Header.d.ts +4 -3
  133. package/header/Header.js +100 -204
  134. package/header/Header.stories.tsx +251 -0
  135. package/header/Header.test.js +66 -0
  136. package/header/Icons.d.ts +2 -0
  137. package/header/Icons.js +4 -9
  138. package/header/types.d.ts +4 -16
  139. package/heading/Heading.d.ts +4 -0
  140. package/heading/Heading.js +16 -55
  141. package/heading/Heading.stories.tsx +54 -0
  142. package/heading/Heading.test.js +169 -0
  143. package/heading/types.d.ts +33 -0
  144. package/heading/types.js +5 -0
  145. package/image/Image.d.ts +4 -0
  146. package/image/Image.js +70 -0
  147. package/image/Image.stories.tsx +129 -0
  148. package/image/types.d.ts +72 -0
  149. package/image/types.js +5 -0
  150. package/inset/Inset.d.ts +3 -0
  151. package/inset/Inset.js +43 -0
  152. package/inset/Inset.stories.tsx +230 -0
  153. package/inset/types.d.ts +37 -0
  154. package/inset/types.js +5 -0
  155. package/layout/ApplicationLayout.d.ts +20 -0
  156. package/layout/ApplicationLayout.js +83 -184
  157. package/layout/ApplicationLayout.stories.tsx +162 -0
  158. package/layout/Icons.d.ts +8 -0
  159. package/layout/Icons.js +51 -48
  160. package/layout/SidenavContext.d.ts +5 -0
  161. package/layout/SidenavContext.js +13 -0
  162. package/layout/types.d.ts +41 -0
  163. package/layout/types.js +5 -0
  164. package/link/Link.d.ts +3 -2
  165. package/link/Link.js +65 -111
  166. package/link/Link.stories.tsx +199 -16
  167. package/link/Link.test.js +63 -0
  168. package/link/types.d.ts +15 -35
  169. package/main.d.ts +17 -14
  170. package/main.js +78 -98
  171. package/nav-tabs/NavTabs.d.ts +8 -0
  172. package/nav-tabs/NavTabs.js +93 -0
  173. package/nav-tabs/NavTabs.stories.tsx +276 -0
  174. package/nav-tabs/NavTabs.test.js +76 -0
  175. package/nav-tabs/Tab.d.ts +4 -0
  176. package/nav-tabs/Tab.js +118 -0
  177. package/nav-tabs/types.d.ts +52 -0
  178. package/nav-tabs/types.js +5 -0
  179. package/number-input/NumberInput.d.ts +11 -0
  180. package/number-input/NumberInput.js +49 -91
  181. package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +44 -28
  182. package/number-input/NumberInput.test.js +989 -0
  183. package/number-input/types.d.ts +130 -0
  184. package/number-input/types.js +5 -0
  185. package/package.json +46 -45
  186. package/paginator/Icons.d.ts +5 -0
  187. package/paginator/Icons.js +21 -47
  188. package/paginator/Paginator.js +35 -98
  189. package/paginator/Paginator.stories.tsx +24 -0
  190. package/paginator/Paginator.test.js +335 -0
  191. package/paginator/types.d.ts +3 -3
  192. package/paragraph/Paragraph.d.ts +5 -0
  193. package/paragraph/Paragraph.js +22 -0
  194. package/paragraph/Paragraph.stories.tsx +27 -0
  195. package/password-input/Icons.d.ts +6 -0
  196. package/password-input/Icons.js +35 -0
  197. package/password-input/PasswordInput.js +60 -125
  198. package/password-input/PasswordInput.stories.tsx +3 -35
  199. package/password-input/PasswordInput.test.js +198 -0
  200. package/password-input/types.d.ts +35 -24
  201. package/progress-bar/ProgressBar.js +66 -92
  202. package/progress-bar/ProgressBar.stories.tsx +93 -0
  203. package/progress-bar/ProgressBar.test.js +93 -0
  204. package/progress-bar/types.d.ts +3 -3
  205. package/quick-nav/QuickNav.d.ts +4 -0
  206. package/quick-nav/QuickNav.js +94 -0
  207. package/quick-nav/QuickNav.stories.tsx +356 -0
  208. package/quick-nav/types.d.ts +21 -0
  209. package/quick-nav/types.js +5 -0
  210. package/radio-group/Radio.d.ts +4 -0
  211. package/radio-group/Radio.js +124 -0
  212. package/radio-group/RadioGroup.d.ts +4 -0
  213. package/radio-group/RadioGroup.js +235 -0
  214. package/radio-group/RadioGroup.stories.tsx +214 -0
  215. package/radio-group/RadioGroup.test.js +756 -0
  216. package/radio-group/types.d.ts +114 -0
  217. package/radio-group/types.js +5 -0
  218. package/resultset-table/Icons.d.ts +7 -0
  219. package/resultset-table/Icons.js +47 -0
  220. package/resultset-table/ResultsetTable.d.ts +7 -0
  221. package/resultset-table/ResultsetTable.js +166 -0
  222. package/resultset-table/ResultsetTable.stories.tsx +397 -0
  223. package/resultset-table/ResultsetTable.test.js +371 -0
  224. package/resultset-table/types.d.ts +73 -0
  225. package/resultset-table/types.js +5 -0
  226. package/select/Icons.d.ts +10 -0
  227. package/select/Icons.js +89 -0
  228. package/select/Listbox.d.ts +4 -0
  229. package/select/Listbox.js +143 -0
  230. package/select/Option.d.ts +4 -0
  231. package/select/Option.js +87 -0
  232. package/select/Select.d.ts +4 -0
  233. package/select/Select.js +240 -515
  234. package/select/Select.stories.tsx +971 -0
  235. package/select/Select.test.js +2370 -0
  236. package/select/types.d.ts +209 -0
  237. package/select/types.js +5 -0
  238. package/sidenav/Icons.d.ts +7 -0
  239. package/sidenav/Icons.js +47 -0
  240. package/sidenav/Sidenav.d.ts +10 -0
  241. package/sidenav/Sidenav.js +132 -81
  242. package/sidenav/Sidenav.stories.tsx +282 -0
  243. package/sidenav/Sidenav.test.js +37 -0
  244. package/sidenav/types.d.ts +76 -0
  245. package/sidenav/types.js +5 -0
  246. package/slider/Slider.d.ts +2 -2
  247. package/slider/Slider.js +151 -183
  248. package/slider/Slider.test.js +254 -0
  249. package/slider/types.d.ts +11 -3
  250. package/spinner/Spinner.js +32 -76
  251. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  252. package/spinner/Spinner.test.js +55 -0
  253. package/spinner/types.d.ts +3 -3
  254. package/status-light/StatusLight.d.ts +4 -0
  255. package/status-light/StatusLight.js +51 -0
  256. package/status-light/StatusLight.stories.tsx +74 -0
  257. package/status-light/StatusLight.test.js +25 -0
  258. package/status-light/types.d.ts +17 -0
  259. package/status-light/types.js +5 -0
  260. package/switch/Switch.d.ts +2 -2
  261. package/switch/Switch.js +150 -115
  262. package/switch/Switch.stories.tsx +45 -68
  263. package/switch/Switch.test.js +180 -0
  264. package/switch/types.d.ts +13 -5
  265. package/table/DropdownTheme.js +62 -0
  266. package/table/Table.d.ts +6 -2
  267. package/table/Table.js +89 -37
  268. package/table/Table.stories.tsx +658 -0
  269. package/table/Table.test.js +113 -0
  270. package/table/types.d.ts +48 -6
  271. package/tabs/Tab.d.ts +4 -0
  272. package/tabs/Tab.js +116 -0
  273. package/tabs/Tabs.d.ts +1 -1
  274. package/tabs/Tabs.js +318 -145
  275. package/tabs/Tabs.stories.tsx +226 -0
  276. package/tabs/Tabs.test.js +294 -0
  277. package/tabs/types.d.ts +48 -27
  278. package/tag/Tag.d.ts +1 -1
  279. package/tag/Tag.js +44 -86
  280. package/tag/Tag.stories.tsx +38 -28
  281. package/tag/Tag.test.js +49 -0
  282. package/tag/types.d.ts +25 -16
  283. package/text-input/Icons.d.ts +8 -0
  284. package/text-input/Icons.js +56 -0
  285. package/text-input/Suggestion.d.ts +4 -0
  286. package/text-input/Suggestion.js +67 -0
  287. package/text-input/Suggestions.d.ts +4 -0
  288. package/text-input/Suggestions.js +84 -0
  289. package/text-input/TextInput.d.ts +4 -0
  290. package/text-input/TextInput.js +333 -593
  291. package/text-input/TextInput.stories.tsx +465 -0
  292. package/text-input/TextInput.test.js +1756 -0
  293. package/text-input/types.d.ts +205 -0
  294. package/text-input/types.js +5 -0
  295. package/textarea/Textarea.d.ts +4 -0
  296. package/textarea/Textarea.js +98 -181
  297. package/textarea/Textarea.stories.tsx +174 -0
  298. package/textarea/Textarea.test.js +406 -0
  299. package/textarea/types.d.ts +141 -0
  300. package/textarea/types.js +5 -0
  301. package/toggle-group/ToggleGroup.d.ts +4 -0
  302. package/toggle-group/ToggleGroup.js +100 -142
  303. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  304. package/toggle-group/ToggleGroup.test.js +137 -0
  305. package/toggle-group/types.d.ts +114 -0
  306. package/toggle-group/types.js +5 -0
  307. package/typography/Typography.d.ts +4 -0
  308. package/typography/Typography.js +23 -0
  309. package/typography/Typography.stories.tsx +198 -0
  310. package/typography/types.d.ts +18 -0
  311. package/typography/types.js +5 -0
  312. package/useTheme.d.ts +1148 -0
  313. package/useTheme.js +4 -11
  314. package/useTranslatedLabels.d.ts +85 -0
  315. package/useTranslatedLabels.js +14 -0
  316. package/utils/BaseTypography.d.ts +21 -0
  317. package/utils/BaseTypography.js +94 -0
  318. package/utils/FocusLock.d.ts +13 -0
  319. package/utils/FocusLock.js +124 -0
  320. package/wizard/Wizard.d.ts +4 -0
  321. package/wizard/Wizard.js +130 -151
  322. package/wizard/Wizard.stories.tsx +253 -0
  323. package/wizard/Wizard.test.js +114 -0
  324. package/wizard/types.d.ts +64 -0
  325. package/wizard/types.js +5 -0
  326. package/ThemeContext.js +0 -246
  327. package/V3Select/V3Select.js +0 -455
  328. package/V3Select/index.d.ts +0 -27
  329. package/V3Textarea/V3Textarea.js +0 -260
  330. package/V3Textarea/index.d.ts +0 -27
  331. package/chip/index.d.ts +0 -22
  332. package/common/RequiredComponent.js +0 -32
  333. package/date/Date.js +0 -373
  334. package/date/index.d.ts +0 -27
  335. package/file-input/index.d.ts +0 -81
  336. package/heading/index.d.ts +0 -17
  337. package/input-text/Icons.js +0 -22
  338. package/input-text/InputText.js +0 -611
  339. package/input-text/index.d.ts +0 -36
  340. package/number-input/NumberInputContext.js +0 -16
  341. package/number-input/index.d.ts +0 -113
  342. package/progress-bar/ProgressBar.stories.jsx +0 -58
  343. package/radio/Radio.d.ts +0 -4
  344. package/radio/Radio.js +0 -174
  345. package/radio/Radio.stories.tsx +0 -192
  346. package/radio/types.d.ts +0 -54
  347. package/resultsetTable/ResultsetTable.js +0 -274
  348. package/resultsetTable/index.d.ts +0 -19
  349. package/select/index.d.ts +0 -131
  350. package/sidenav/index.d.ts +0 -13
  351. package/slider/Slider.stories.tsx +0 -172
  352. package/table/Table.stories.jsx +0 -276
  353. package/text-input/index.d.ts +0 -135
  354. package/textarea/Textarea.stories.jsx +0 -135
  355. package/textarea/index.d.ts +0 -117
  356. package/toggle/Toggle.js +0 -186
  357. package/toggle/index.d.ts +0 -21
  358. package/toggle-group/index.d.ts +0 -21
  359. package/upload/Upload.js +0 -201
  360. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  361. package/upload/buttons-upload/Icons.js +0 -40
  362. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  363. package/upload/dragAndDropArea/Icons.js +0 -39
  364. package/upload/file-upload/FileToUpload.js +0 -115
  365. package/upload/file-upload/Icons.js +0 -66
  366. package/upload/files-upload/FilesToUpload.js +0 -109
  367. package/upload/index.d.ts +0 -15
  368. package/upload/transaction/Icons.js +0 -160
  369. package/upload/transaction/Transaction.js +0 -104
  370. package/upload/transactions/Transactions.js +0 -94
  371. package/wizard/Icons.js +0 -65
  372. package/wizard/index.d.ts +0 -18
  373. /package/{radio → action-icon}/types.js +0 -0
package/select/Select.js CHANGED
@@ -1,130 +1,46 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
-
18
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
13
  var _react = _interopRequireWildcard(require("react"));
21
-
22
14
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
25
-
26
- var _variables = require("../common/variables.js");
27
-
15
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
16
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
17
+ var _variables = require("../common/variables");
28
18
  var _uuid = require("uuid");
29
-
30
- var _utils = require("../common/utils.js");
31
-
32
- var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
33
-
34
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28;
35
-
36
- 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); }
37
-
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
39
-
40
- var selectIcons = {
41
- error: /*#__PURE__*/_react["default"].createElement("svg", {
42
- role: "img",
43
- xmlns: "http://www.w3.org/2000/svg",
44
- height: "24px",
45
- viewBox: "0 0 24 24",
46
- width: "24px",
47
- fill: "currentColor"
48
- }, /*#__PURE__*/_react["default"].createElement("path", {
49
- d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
50
- })),
51
- arrowUp: /*#__PURE__*/_react["default"].createElement("svg", {
52
- role: "img",
53
- xmlns: "http://www.w3.org/2000/svg",
54
- height: "24px",
55
- viewBox: "0 0 24 24",
56
- width: "24px",
57
- fill: "currentColor"
58
- }, /*#__PURE__*/_react["default"].createElement("path", {
59
- d: "M0 0h24v24H0V0z",
60
- fill: "none"
61
- }), /*#__PURE__*/_react["default"].createElement("path", {
62
- d: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6 1.41 1.41z"
63
- })),
64
- arrowDown: /*#__PURE__*/_react["default"].createElement("svg", {
65
- role: "img",
66
- xmlns: "http://www.w3.org/2000/svg",
67
- height: "24px",
68
- viewBox: "0 0 24 24",
69
- width: "24px",
70
- fill: "currentColor"
71
- }, /*#__PURE__*/_react["default"].createElement("path", {
72
- d: "M0 0h24v24H0V0z",
73
- fill: "none"
74
- }), /*#__PURE__*/_react["default"].createElement("path", {
75
- d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"
76
- })),
77
- clear: /*#__PURE__*/_react["default"].createElement("svg", {
78
- role: "img",
79
- xmlns: "http://www.w3.org/2000/svg",
80
- width: "24",
81
- height: "24",
82
- viewBox: "0 0 24 24",
83
- fill: "currentColor"
84
- }, /*#__PURE__*/_react["default"].createElement("path", {
85
- d: "M0 0h24v24H0V0z",
86
- fill: "none"
87
- }), /*#__PURE__*/_react["default"].createElement("path", {
88
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
89
- })),
90
- selected: /*#__PURE__*/_react["default"].createElement("svg", {
91
- role: "img",
92
- xmlns: "http://www.w3.org/2000/svg",
93
- height: "24px",
94
- viewBox: "0 0 24 24",
95
- width: "24px",
96
- fill: "currentColor"
97
- }, /*#__PURE__*/_react["default"].createElement("path", {
98
- d: "M0 0h24v24H0z",
99
- fill: "none"
100
- }), /*#__PURE__*/_react["default"].createElement("path", {
101
- d: "M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"
102
- })),
103
- searchOff: /*#__PURE__*/_react["default"].createElement("svg", {
104
- role: "img",
105
- xmlns: "http://www.w3.org/2000/svg",
106
- height: "24px",
107
- viewBox: "0 0 24 24",
108
- width: "24px",
109
- fill: "currentColor"
110
- }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("rect", {
111
- fill: "none",
112
- height: "24",
113
- width: "24"
114
- })), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
115
- d: "M15.5,14h-0.79l-0.28-0.27C15.41,12.59,16,11.11,16,9.5C16,5.91,13.09,3,9.5,3C6.08,3,3.28,5.64,3.03,9h2.02 C5.3,6.75,7.18,5,9.5,5C11.99,5,14,7.01,14,9.5S11.99,14,9.5,14c-0.17,0-0.33-0.03-0.5-0.05v2.02C9.17,15.99,9.33,16,9.5,16 c1.61,0,3.09-0.59,4.23-1.57L14,14.71v0.79l5,4.99L20.49,19L15.5,14z"
116
- }), /*#__PURE__*/_react["default"].createElement("polygon", {
117
- points: "6.47,10.82 4,13.29 1.53,10.82 0.82,11.53 3.29,14 0.82,16.47 1.53,17.18 4,14.71 6.47,17.18 7.18,16.47 4.71,14 7.18,11.53"
118
- }))))
19
+ var _utils = require("../common/utils");
20
+ var _Icons = _interopRequireDefault(require("./Icons"));
21
+ var _Listbox = _interopRequireDefault(require("./Listbox"));
22
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
23
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
24
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
26
+ var isOptionGroup = function isOptionGroup(option) {
27
+ return "options" in option && option.options != null;
119
28
  };
120
-
121
- var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
122
- return "This field is required. Please, enter a value.";
29
+ var isArrayOfOptionGroups = function isArrayOfOptionGroups(options) {
30
+ return isOptionGroup(options[0]);
31
+ };
32
+ var groupsHaveOptions = function groupsHaveOptions(filteredOptions) {
33
+ return isArrayOfOptionGroups(filteredOptions) ? filteredOptions.some(function (groupOption) {
34
+ var _groupOption$options;
35
+ return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
36
+ }) : true;
37
+ };
38
+ var canOpenOptions = function canOpenOptions(options, disabled) {
39
+ return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
123
40
  };
124
-
125
41
  var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
126
42
  if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
127
- if (options[0].options) return options.map(function (optionGroup) {
43
+ if (isArrayOfOptionGroups(options)) return options.map(function (optionGroup) {
128
44
  var group = {
129
45
  label: optionGroup.label,
130
46
  options: optionGroup.options.filter(function (option) {
@@ -137,53 +53,43 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
137
53
  });
138
54
  }
139
55
  };
140
-
141
56
  var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
142
57
  var last = 0;
143
-
144
58
  var reducer = function reducer(acc, current) {
145
59
  var _current$options;
146
-
147
60
  return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
148
61
  };
149
-
150
- if (searchable && filteredOptions.length > 0) filteredOptions[0].options ? last = filteredOptions.reduce(reducer, 0) - 1 : last = filteredOptions.length - 1;else if ((options === null || options === void 0 ? void 0 : options.length) > 0) options[0].options ? last = options.reduce(reducer, 0) - 1 : last = options.length - 1;
62
+ if (searchable && (filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.length) > 0) isArrayOfOptionGroups(filteredOptions) ? last = filteredOptions.reduce(reducer, 0) - 1 : last = filteredOptions.length - 1;else if ((options === null || options === void 0 ? void 0 : options.length) > 0) isArrayOfOptionGroups(options) ? last = options.reduce(reducer, 0) - 1 : last = options.length - 1;
151
63
  return optional && !multiple ? last + 1 : last;
152
64
  };
153
-
154
- var getSelectedOption = function getSelectedOption(options, multiple, optional, optionalEmptyOption, value, innerValue) {
155
- var val = value !== null && value !== void 0 ? value : innerValue;
156
- var selectedOption = multiple ? [] : "";
65
+ var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
66
+ var selectedOption = multiple ? [] : {};
157
67
  var singleSelectionIndex;
158
-
159
68
  if (multiple) {
160
69
  if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
161
70
  options.forEach(function (option) {
162
- if (option.options) {
163
- option.options.forEach(function (singleOption) {
164
- if (val.includes(singleOption.value)) selectedOption.push(singleOption);
165
- });
166
- } else if (val.includes(option.value)) selectedOption.push(option);
71
+ if (isOptionGroup(option)) option.options.forEach(function (singleOption) {
72
+ if (value.includes(singleOption.value) && Array.isArray(selectedOption)) selectedOption.push(singleOption);
73
+ });else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
167
74
  });
168
75
  }
169
76
  } else {
170
- if (optional && val === "") {
171
- selectedOption = optionalEmptyOption;
77
+ if (optional && value === "") {
78
+ selectedOption = optionalItem;
172
79
  singleSelectionIndex = 0;
173
80
  } else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
174
81
  var group_index = 0;
175
82
  options.some(function (option, index) {
176
- if (option.options) {
83
+ if (isOptionGroup(option)) {
177
84
  option.options.some(function (singleOption) {
178
- if (singleOption.value === val) {
85
+ if (singleOption.value === value) {
179
86
  selectedOption = singleOption;
180
87
  singleSelectionIndex = optional ? group_index + 1 : group_index;
181
88
  return true;
182
89
  }
183
-
184
90
  group_index++;
185
91
  });
186
- } else if (option.value === val) {
92
+ } else if (option.value === value) {
187
93
  selectedOption = option;
188
94
  singleSelectionIndex = optional ? index + 1 : index;
189
95
  return true;
@@ -191,76 +97,96 @@ var getSelectedOption = function getSelectedOption(options, multiple, optional,
191
97
  });
192
98
  }
193
99
  }
194
-
195
100
  return {
196
101
  selectedOption: selectedOption,
197
102
  singleSelectionIndex: singleSelectionIndex
198
103
  };
199
104
  };
200
-
201
- var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
105
+ var getSelectedOptionLabel = function getSelectedOptionLabel(placeholder, selectedOption) {
202
106
  var _selectedOption$label;
203
-
204
- var _ref$label = _ref.label,
205
- label = _ref$label === void 0 ? "" : _ref$label,
206
- _ref$name = _ref.name,
207
- name = _ref$name === void 0 ? "" : _ref$name,
208
- value = _ref.value,
209
- options = _ref.options,
210
- _ref$helperText = _ref.helperText,
211
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
212
- _ref$placeholder = _ref.placeholder,
213
- placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
214
- _ref$disabled = _ref.disabled,
215
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
216
- _ref$optional = _ref.optional,
217
- optional = _ref$optional === void 0 ? false : _ref$optional,
218
- _ref$searchable = _ref.searchable,
219
- searchable = _ref$searchable === void 0 ? false : _ref$searchable,
220
- _ref$multiple = _ref.multiple,
221
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
222
- onChange = _ref.onChange,
223
- onBlur = _ref.onBlur,
224
- _ref$error = _ref.error,
225
- error = _ref$error === void 0 ? "" : _ref$error,
226
- margin = _ref.margin,
227
- _ref$size = _ref.size,
228
- size = _ref$size === void 0 ? "medium" : _ref$size,
229
- _ref$tabIndex = _ref.tabIndex,
230
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
231
-
232
- var _useState = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
233
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
234
- selectId = _useState2[0];
235
-
107
+ if (Array.isArray(selectedOption)) return selectedOption.length === 0 ? placeholder : selectedOption.map(function (option) {
108
+ return option.label;
109
+ }).join(", ");else return (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder;
110
+ };
111
+ var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
112
+ return !optional && (multiple ? value.length === 0 : value === "");
113
+ };
114
+ var useWidth = function useWidth(target) {
115
+ var _useState = (0, _react.useState)(0),
116
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
117
+ width = _useState2[0],
118
+ setWidth = _useState2[1];
119
+ (0, _react.useEffect)(function () {
120
+ if (target != null) {
121
+ setWidth(target.getBoundingClientRect().width);
122
+ var triggerObserver = new ResizeObserver(function (entries) {
123
+ var rect = entries[0].target.getBoundingClientRect();
124
+ setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
125
+ });
126
+ triggerObserver.observe(target);
127
+ return function () {
128
+ triggerObserver.unobserve(target);
129
+ };
130
+ }
131
+ }, [target]);
132
+ return width;
133
+ };
134
+ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
135
+ var _ref4;
136
+ var label = _ref.label,
137
+ _ref$name = _ref.name,
138
+ name = _ref$name === void 0 ? "" : _ref$name,
139
+ defaultValue = _ref.defaultValue,
140
+ value = _ref.value,
141
+ options = _ref.options,
142
+ helperText = _ref.helperText,
143
+ _ref$placeholder = _ref.placeholder,
144
+ placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
145
+ _ref$disabled = _ref.disabled,
146
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
147
+ _ref$optional = _ref.optional,
148
+ optional = _ref$optional === void 0 ? false : _ref$optional,
149
+ _ref$searchable = _ref.searchable,
150
+ searchable = _ref$searchable === void 0 ? false : _ref$searchable,
151
+ _ref$multiple = _ref.multiple,
152
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
153
+ onChange = _ref.onChange,
154
+ onBlur = _ref.onBlur,
155
+ error = _ref.error,
156
+ margin = _ref.margin,
157
+ _ref$size = _ref.size,
158
+ size = _ref$size === void 0 ? "medium" : _ref$size,
159
+ _ref$tabIndex = _ref.tabIndex,
160
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
161
+ var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
162
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
163
+ selectId = _useState4[0];
236
164
  var selectLabelId = "label-".concat(selectId);
165
+ var errorId = "error-".concat(selectId);
237
166
  var optionsListId = "".concat(selectId, "-listbox");
238
-
239
- var _useState3 = (0, _react.useState)(multiple ? [] : ""),
240
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
241
- innerValue = _useState4[0],
242
- setInnerValue = _useState4[1];
243
-
244
- var _useState5 = (0, _react.useState)(""),
245
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
246
- searchValue = _useState6[0],
247
- setSearchValue = _useState6[1];
248
-
249
- var _useState7 = (0, _react.useState)(-1),
250
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
251
- visualFocusIndex = _useState8[0],
252
- changeVisualFocusIndex = _useState8[1];
253
-
254
- var _useState9 = (0, _react.useState)(false),
255
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
256
- isOpen = _useState10[0],
257
- changeIsOpen = _useState10[1];
258
-
259
- var selectContainerRef = (0, _react.useRef)(null);
167
+ var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
168
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
169
+ innerValue = _useState6[0],
170
+ setInnerValue = _useState6[1];
171
+ var _useState7 = (0, _react.useState)(""),
172
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
173
+ searchValue = _useState8[0],
174
+ setSearchValue = _useState8[1];
175
+ var _useState9 = (0, _react.useState)(-1),
176
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
177
+ visualFocusIndex = _useState10[0],
178
+ changeVisualFocusIndex = _useState10[1];
179
+ var _useState11 = (0, _react.useState)(false),
180
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
181
+ isOpen = _useState12[0],
182
+ changeIsOpen = _useState12[1];
183
+ var selectRef = (0, _react.useRef)(null);
260
184
  var selectSearchInputRef = (0, _react.useRef)(null);
261
- var selectOptionsListRef = (0, _react.useRef)(null);
185
+ var selectedOptionLabelRef = (0, _react.useRef)(null);
186
+ var width = useWidth(selectRef.current);
262
187
  var colorsTheme = (0, _useTheme["default"])();
263
- var optionalEmptyOption = {
188
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
189
+ var optionalItem = {
264
190
  label: placeholder,
265
191
  value: ""
266
192
  };
@@ -269,147 +195,91 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
269
195
  }, [options, searchValue]);
270
196
  var lastOptionIndex = (0, _react.useMemo)(function () {
271
197
  return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
272
- }, [searchable, optional, multiple, filteredOptions, options]);
273
-
198
+ }, [options, filteredOptions, searchable, optional, multiple]);
274
199
  var _useMemo = (0, _react.useMemo)(function () {
275
- return getSelectedOption(options, multiple, optional, optionalEmptyOption, value, innerValue);
276
- }, [options, multiple, optional, value, innerValue]),
277
- selectedOption = _useMemo.selectedOption,
278
- singleSelectionIndex = _useMemo.singleSelectionIndex;
279
-
280
- var notOptionalCheck = function notOptionalCheck(value) {
281
- return value === "" && !optional;
282
- };
283
-
284
- var notOptionalMultipleCheck = function notOptionalMultipleCheck() {
285
- return (value !== null && value !== void 0 ? value : innerValue).length === 0 && !optional;
286
- };
287
-
288
- var canBeOpenOptions = function canBeOpenOptions() {
289
- return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions();
290
- };
291
-
292
- var groupsHaveOptions = function groupsHaveOptions() {
293
- return options[0].hasOwnProperty("options") ? options[0].options ? options.some(function (groupOption) {
294
- return groupOption.options.length > 0;
295
- }) : false : true;
296
- };
297
-
298
- var filteredGroupsHaveOptions = function filteredGroupsHaveOptions() {
299
- return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
300
- var _groupOption$options;
301
-
302
- return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
303
- }) : true;
304
- };
305
-
200
+ return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
201
+ }, [value, innerValue, options, multiple, optional, optionalItem]),
202
+ selectedOption = _useMemo.selectedOption,
203
+ singleSelectionIndex = _useMemo.singleSelectionIndex;
306
204
  var openOptions = function openOptions() {
307
- if (!isOpen && canBeOpenOptions()) changeIsOpen(true);
205
+ if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
308
206
  };
309
-
310
207
  var closeOptions = function closeOptions() {
311
208
  if (isOpen) {
312
209
  changeIsOpen(false);
313
210
  changeVisualFocusIndex(-1);
314
211
  }
315
212
  };
316
-
317
213
  var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
214
+ var newValue;
318
215
  if (multiple) {
319
- var _res, _res2;
320
-
321
- var res;
322
- if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) value ? res = value.filter(function (optionVal) {
216
+ var _ref2, _ref3;
217
+ if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = ((_ref2 = value && Array.isArray(value) && value) !== null && _ref2 !== void 0 ? _ref2 : innerValue && Array.isArray(innerValue) && innerValue).filter(function (optionVal) {
323
218
  return optionVal !== newOption.value;
324
- }) : setInnerValue(function (previous) {
325
- return previous.filter(function (optionVal) {
326
- return optionVal !== newOption.value;
327
- });
328
- });else value ? res = [].concat((0, _toConsumableArray2["default"])(value), [newOption.value]) : setInnerValue(function (previous) {
329
- return [].concat((0, _toConsumableArray2["default"])(previous), [newOption.value]);
330
- });
331
- if (notOptionalMultipleCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
332
- value: (_res = res) !== null && _res !== void 0 ? _res : innerValue,
333
- error: getNotOptionalErrorMessage()
334
- });else onChange === null || onChange === void 0 ? void 0 : onChange({
335
- value: (_res2 = res) !== null && _res2 !== void 0 ? _res2 : innerValue,
336
- error: null
337
- });
338
- } else {
339
- value !== null && value !== void 0 ? value : setInnerValue(newOption.value);
340
- if (notOptionalCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
341
- value: newOption.value,
342
- error: getNotOptionalErrorMessage()
343
- });else onChange === null || onChange === void 0 ? void 0 : onChange({
344
- value: newOption.value,
345
- error: null
346
- });
347
- }
219
+ });else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
220
+ } else newValue = newOption.value;
221
+ value !== null && value !== void 0 ? value : setInnerValue(newValue);
222
+ notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
223
+ value: newValue,
224
+ error: translatedLabels.formFields.requiredValueErrorMessage
225
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
226
+ value: newValue
227
+ });
348
228
  };
349
-
350
229
  var handleSelectOnClick = function handleSelectOnClick() {
351
230
  searchable && selectSearchInputRef.current.focus();
352
-
353
231
  if (isOpen) {
354
232
  closeOptions();
355
233
  setSearchValue("");
356
234
  } else openOptions();
357
235
  };
358
-
359
236
  var handleSelectOnFocus = function handleSelectOnFocus(event) {
360
237
  if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
361
238
  };
362
-
363
239
  var handleSelectOnBlur = function handleSelectOnBlur(event) {
364
- // focus leaves container (outside, not to childs)
240
+ // focus leaves container (outside, not to a child)
365
241
  if (!event.currentTarget.contains(event.relatedTarget)) {
366
242
  closeOptions();
367
243
  setSearchValue("");
368
- if (notOptionalCheck(value !== null && value !== void 0 ? value : innerValue)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
369
- value: value !== null && value !== void 0 ? value : innerValue,
370
- error: getNotOptionalErrorMessage()
371
- });else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
372
- value: value !== null && value !== void 0 ? value : innerValue,
373
- error: null
244
+ var currentValue = value !== null && value !== void 0 ? value : innerValue;
245
+ notOptionalCheck(currentValue, multiple, optional) ? onBlur === null || onBlur === void 0 ? void 0 : onBlur({
246
+ value: currentValue,
247
+ error: translatedLabels.formFields.requiredValueErrorMessage
248
+ }) : onBlur === null || onBlur === void 0 ? void 0 : onBlur({
249
+ value: currentValue
374
250
  });
375
251
  }
376
252
  };
377
-
378
253
  var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
379
- switch (event.keyCode) {
380
- case 40:
381
- // Arrow Down
254
+ switch (event.key) {
255
+ case "Down":
256
+ case "ArrowDown":
382
257
  event.preventDefault();
383
258
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
384
259
  if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
385
260
  });
386
261
  openOptions();
387
262
  break;
388
-
389
- case 38:
390
- // Arrow Up
263
+ case "Up":
264
+ case "ArrowUp":
391
265
  event.preventDefault();
392
266
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
393
267
  return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
394
268
  });
395
269
  openOptions();
396
270
  break;
397
-
398
- case 27:
399
- // Esc
271
+ case "Esc":
272
+ case "Escape":
400
273
  event.preventDefault();
401
274
  closeOptions();
402
275
  setSearchValue("");
403
276
  break;
404
-
405
- case 13:
406
- // Enter
277
+ case "Enter":
407
278
  if (isOpen && visualFocusIndex >= 0) {
408
279
  var accLength = optional && !multiple ? 1 : 0;
409
-
410
280
  if (searchable) {
411
281
  if (filteredOptions.length > 0) {
412
- if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions()) handleSelectChangeValue(optionalEmptyOption);else filteredOptions[0].options ? filteredGroupsHaveOptions() && filteredOptions.some(function (groupOption) {
282
+ if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
413
283
  var groupLength = accLength + groupOption.options.length;
414
284
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
415
285
  accLength = groupLength;
@@ -417,147 +287,69 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
417
287
  }) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
418
288
  }
419
289
  } else {
420
- if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalEmptyOption);else options[0].options ? options.some(function (groupOption) {
290
+ if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
421
291
  var groupLength = accLength + groupOption.options.length;
422
292
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
423
293
  accLength = groupLength;
424
294
  return groupLength > visualFocusIndex;
425
295
  }) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
426
296
  }
427
-
428
297
  !multiple && closeOptions();
429
298
  setSearchValue("");
430
299
  }
431
-
432
300
  break;
433
301
  }
434
302
  };
435
-
436
303
  var handleSearchIOnChange = function handleSearchIOnChange(event) {
437
304
  setSearchValue(event.target.value);
438
305
  changeVisualFocusIndex(-1);
439
306
  openOptions();
440
307
  };
441
-
442
308
  var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
443
309
  event.stopPropagation();
444
310
  value !== null && value !== void 0 ? value : setInnerValue([]);
445
- onChange === null || onChange === void 0 ? void 0 : onChange({
311
+ !optional ? onChange === null || onChange === void 0 ? void 0 : onChange({
446
312
  value: [],
447
- error: getNotOptionalErrorMessage()
313
+ error: translatedLabels.formFields.requiredValueErrorMessage
314
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
315
+ value: []
448
316
  });
449
317
  };
450
-
451
318
  var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
452
319
  event.stopPropagation();
453
320
  setSearchValue("");
454
321
  };
455
-
456
- (0, _react.useLayoutEffect)(function () {
457
- if (isOpen && singleSelectionIndex) {
458
- var _listEl$scrollTo;
459
-
460
- var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
461
- var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
462
- listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
463
- top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
464
- });
465
- }
466
- }, [isOpen]);
467
- (0, _react.useLayoutEffect)(function () {
468
- var _selectOptionsListRef, _visualFocusedOptionE;
469
-
470
- var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
471
- visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
472
- block: "nearest",
473
- inline: "start"
474
- });
475
- }, [visualFocusIndex]);
476
-
477
- var Option = function Option(_ref2) {
478
- var option = _ref2.option,
479
- index = _ref2.index,
480
- _ref2$isGroupedOption = _ref2.isGroupedOption,
481
- isGroupedOption = _ref2$isGroupedOption === void 0 ? false : _ref2$isGroupedOption;
482
- var isSelected = multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(option.value) : (value !== null && value !== void 0 ? value : innerValue) === option.value;
483
- var isLastOption = index === lastOptionIndex;
484
- return /*#__PURE__*/_react["default"].createElement(OptionItem, {
485
- id: "option-".concat(index),
486
- onClick: function onClick() {
487
- handleSelectChangeValue(option);
488
- !multiple && closeOptions();
489
- setSearchValue("");
490
- },
491
- visualFocused: visualFocusIndex === index,
492
- selected: isSelected,
493
- role: "option",
494
- "aria-selected": isSelected
495
- }, /*#__PURE__*/_react["default"].createElement(StyledOption, {
496
- visualFocused: visualFocusIndex === index,
497
- selected: isSelected,
498
- last: isLastOption,
499
- grouped: isGroupedOption,
500
- multiple: multiple
501
- }, multiple && /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
502
- tabIndex: -1,
503
- checked: isSelected
504
- }), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
505
- grouped: isGroupedOption,
506
- multiple: multiple,
507
- role: !(typeof option.icon === "string") && "img"
508
- }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(OptionIconImg, {
509
- src: option.icon
510
- }) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
511
- grouped: isGroupedOption,
512
- hasIcon: option.icon,
513
- multiple: multiple
514
- }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, selectIcons.selected))));
515
- };
516
-
517
- var globalIndex = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
518
-
519
- var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
520
- if (option.options) {
521
- var groupId = "group-".concat(mapIndex);
522
- return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(GroupList, {
523
- role: "group",
524
- "aria-labelledby": groupId
525
- }, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
526
- role: "presentation",
527
- id: groupId
528
- }, option.label), option.options.map(function (singleOption) {
529
- globalIndex++;
530
- return /*#__PURE__*/_react["default"].createElement(Option, {
531
- option: singleOption,
532
- index: globalIndex,
533
- isGroupedOption: true
534
- });
535
- })));
536
- } else {
537
- globalIndex++;
538
- return /*#__PURE__*/_react["default"].createElement(Option, {
539
- key: "option-".concat(option.value),
540
- option: option,
541
- index: globalIndex
542
- });
322
+ var handleOptionOnClick = (0, _react.useCallback)(function (option) {
323
+ handleSelectChangeValue(option);
324
+ !multiple && closeOptions();
325
+ setSearchValue("");
326
+ }, [handleSelectChangeValue, closeOptions, multiple]);
327
+ (0, _react.useEffect)(function () {
328
+ if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current) != null) {
329
+ if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.scrollWidth) > (selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.clientWidth)) selectedOptionLabelRef.current.title = getSelectedOptionLabel(placeholder, selectedOption);else selectedOptionLabelRef.current.title = "";
543
330
  }
544
- };
545
-
331
+ }, [placeholder, selectedOption]);
546
332
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
547
333
  theme: colorsTheme.select
548
334
  }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
549
335
  margin: margin,
550
336
  size: size,
551
337
  ref: ref
552
- }, /*#__PURE__*/_react["default"].createElement(Label, {
338
+ }, label && /*#__PURE__*/_react["default"].createElement(Label, {
553
339
  id: selectLabelId,
554
340
  disabled: disabled,
555
341
  onClick: function onClick() {
556
- selectContainerRef.current.focus();
557
- }
558
- }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, "(Optional)")), /*#__PURE__*/_react["default"].createElement(HelperText, {
342
+ selectRef.current.focus();
343
+ },
344
+ helperText: helperText
345
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
559
346
  disabled: disabled
560
- }, helperText), /*#__PURE__*/_react["default"].createElement(Select, {
347
+ }, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
348
+ open: isOpen
349
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
350
+ asChild: true,
351
+ type: undefined
352
+ }, /*#__PURE__*/_react["default"].createElement(Select, {
561
353
  id: selectId,
562
354
  disabled: disabled,
563
355
  error: error,
@@ -565,17 +357,19 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
565
357
  onClick: handleSelectOnClick,
566
358
  onFocus: handleSelectOnFocus,
567
359
  onKeyDown: handleSelectOnKeyDown,
568
- ref: selectContainerRef,
569
- tabIndex: tabIndex,
360
+ ref: selectRef,
361
+ tabIndex: disabled ? -1 : tabIndex,
570
362
  role: "combobox",
571
363
  "aria-controls": optionsListId,
364
+ "aria-disabled": disabled,
572
365
  "aria-expanded": isOpen,
573
366
  "aria-haspopup": "listbox",
574
- "aria-labelledby": selectLabelId,
367
+ "aria-labelledby": label ? selectLabelId : undefined,
575
368
  "aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
576
- "aria-invalid": error ? "true" : "false",
577
- "aria-required": !optional
578
- }, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
369
+ "aria-invalid": error ? true : false,
370
+ "aria-errormessage": error ? errorId : undefined,
371
+ "aria-required": !disabled && !optional
372
+ }, multiple && Array.isArray(selectedOption) && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
579
373
  disabled: disabled
580
374
  }, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
581
375
  disabled: disabled,
@@ -585,11 +379,12 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
585
379
  },
586
380
  onClick: handleClearOptionsActionOnClick,
587
381
  tabIndex: -1,
588
- title: "Clear selected options",
589
- "aria-label": "Clear selected options"
590
- }, selectIcons.clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
382
+ title: translatedLabels.select.actionClearSelectionTitle,
383
+ "aria-label": translatedLabels.select.actionClearSelectionTitle
384
+ }, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
591
385
  name: name,
592
- value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(", ") : value !== null && value !== void 0 ? value : innerValue,
386
+ disabled: disabled,
387
+ value: multiple ? ((_ref4 = value && Array.isArray(value) && value) !== null && _ref4 !== void 0 ? _ref4 : innerValue && Array.isArray(innerValue) && innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
593
388
  readOnly: true,
594
389
  "aria-hidden": "true"
595
390
  }), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
@@ -597,56 +392,66 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
597
392
  disabled: disabled,
598
393
  onChange: handleSearchIOnChange,
599
394
  ref: selectSearchInputRef,
600
- autoComplete: "off",
601
- autoCorrect: "off",
602
- size: "1"
603
- }), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
604
- disabled: disabled,
605
- atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
606
- }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, selectedOption.map(function (option) {
607
- return option.label;
608
- }).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
395
+ autoComplete: "nope",
396
+ autoCorrect: "nope",
397
+ size: 1
398
+ }), (!searchable || searchValue === "") && /*#__PURE__*/_react["default"].createElement(SelectedOption, {
609
399
  disabled: disabled,
610
- atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
611
- }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, selectIcons.error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
400
+ atBackground: (multiple ? (value !== null && value !== void 0 ? value : innerValue).length === 0 : !(value !== null && value !== void 0 ? value : innerValue)) || searchable && isOpen
401
+ }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, {
402
+ ref: selectedOptionLabelRef
403
+ }, getSelectedOptionLabel(placeholder, selectedOption)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
612
404
  onMouseDown: function onMouseDown(event) {
613
405
  // Avoid input to lose focus
614
406
  event.preventDefault();
615
407
  },
616
408
  onClick: handleClearSearchActionOnClick,
617
409
  tabIndex: -1,
618
- title: "Clear search text",
619
- "aria-label": "Clear search text"
620
- }, selectIcons.clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
410
+ title: translatedLabels.select.actionClearSearchTitle,
411
+ "aria-label": translatedLabels.select.actionClearSearchTitle
412
+ }, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
621
413
  disabled: disabled
622
- }, isOpen ? selectIcons.arrowUp : selectIcons.arrowDown), isOpen && /*#__PURE__*/_react["default"].createElement(OptionsList, {
623
- id: optionsListId,
624
- onClick: function onClick(event) {
625
- event.stopPropagation();
414
+ }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
415
+ sideOffset: 4,
416
+ style: {
417
+ zIndex: "2147483647"
626
418
  },
627
- onMouseDown: function onMouseDown(event) {
419
+ onOpenAutoFocus: function onOpenAutoFocus(event) {
420
+ // Avoid select to lose focus when the list is opened
628
421
  event.preventDefault();
629
422
  },
630
- ref: selectOptionsListRef,
631
- role: "listbox",
632
- "aria-multiselectable": multiple
633
- }, searchable && (filteredOptions.length === 0 || !filteredGroupsHaveOptions()) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, selectIcons.searchOff), "No matches found") : optional && !multiple && /*#__PURE__*/_react["default"].createElement(Option, {
634
- option: optionalEmptyOption,
635
- index: 0
636
- }), searchable ? filteredOptions.map(mapOptionFunc) : options.map(mapOptionFunc))), !disabled && /*#__PURE__*/_react["default"].createElement(Error, null, error)));
423
+ onCloseAutoFocus: function onCloseAutoFocus(event) {
424
+ // Avoid select to lose focus when the list is closed
425
+ event.preventDefault();
426
+ }
427
+ }, /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
428
+ id: optionsListId,
429
+ currentValue: value !== null && value !== void 0 ? value : innerValue,
430
+ options: searchable ? filteredOptions : options,
431
+ visualFocusIndex: visualFocusIndex,
432
+ lastOptionIndex: lastOptionIndex,
433
+ multiple: multiple,
434
+ optional: optional,
435
+ optionalItem: optionalItem,
436
+ searchable: searchable,
437
+ handleOptionOnClick: handleOptionOnClick,
438
+ styles: {
439
+ width: width
440
+ }
441
+ })))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
442
+ id: errorId,
443
+ "aria-live": error ? "assertive" : "off"
444
+ }, error)));
637
445
  });
638
-
639
446
  var sizes = {
640
447
  small: "240px",
641
448
  medium: "360px",
642
449
  large: "480px",
643
450
  fillParent: "100%"
644
451
  };
645
-
646
452
  var calculateWidth = function calculateWidth(margin, size) {
647
453
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
648
454
  };
649
-
650
455
  var SelectContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
651
456
  return calculateWidth(props.margin, props.size);
652
457
  }, function (props) {
@@ -660,8 +465,7 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
660
465
  }, function (props) {
661
466
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
662
467
  });
663
-
664
- var Label = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n cursor: default;\n"])), function (props) {
468
+ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n cursor: default;\n ", "\n"])), function (props) {
665
469
  return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
666
470
  }, function (props) {
667
471
  return props.theme.fontFamily;
@@ -673,13 +477,13 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
673
477
  return props.theme.labelFontWeight;
674
478
  }, function (props) {
675
479
  return props.theme.labelLineHeight;
480
+ }, function (props) {
481
+ return !props.helperText && "margin-bottom: 0.25rem";
676
482
  });
677
-
678
483
  var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
679
484
  return props.theme.optionalLabelFontWeight;
680
485
  });
681
-
682
- var HelperText = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
486
+ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-bottom: 0.25rem;\n"])), function (props) {
683
487
  return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
684
488
  }, function (props) {
685
489
  return props.theme.fontFamily;
@@ -692,10 +496,7 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
692
496
  }, function (props) {
693
497
  return props.theme.helperTextLineHeight;
694
498
  });
695
-
696
- var Select = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(2.5rem - 2px);\n margin: ", ";\n padding: 0 0.5rem;\n outline: none;\n ", ";\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"])), function (props) {
697
- return "".concat(props.theme.inputMarginTop, " 0 ").concat(props.theme.inputMarginBottom, " 0");
698
- }, function (props) {
499
+ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n outline: none;\n ", ";\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"])), function (props) {
699
500
  return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
700
501
  }, function (props) {
701
502
  return props.disabled ? props.theme.disabledInputBorderColor : props.theme.enabledInputBorderColor;
@@ -706,11 +507,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
706
507
  }, function (props) {
707
508
  return !props.disabled && "\n &:hover {\n border-color: ".concat(props.error ? "transparent" : props.theme.hoverInputBorderColor, ";\n ").concat(props.error && "box-shadow: 0 0 0 2px ".concat(props.theme.hoverInputErrorBorderColor, ";"), "\n }\n &:focus-within {\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.theme.focusInputBorderColor, ";\n }\n ");
708
509
  });
709
-
710
510
  var SelectionIndicator = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border: 1px solid ", ";\n border-radius: 2px;\n max-height: 22px;\n width: 46px;\n"])), function (props) {
711
511
  return props.theme.selectionIndicatorBorderColor;
712
512
  });
713
-
714
513
  var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n user-select: none;\n ", ";\n border-right: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n ", "\n"])), function (props) {
715
514
  return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
716
515
  }, function (props) {
@@ -728,10 +527,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
728
527
  }, function (props) {
729
528
  return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
730
529
  });
731
-
732
- var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n width: 23px;\n height: 22px;\n font-size: 1rem;\n font-family: ", ";\n border: none;\n padding: 0.25rem;\n ", "\n background-color: ", ";\n color: ", ";\n\n :focus-visible {\n outline: none;\n }\n ", "\n\n svg {\n line-height: 18px;\n }\n"])), function (props) {
733
- return props.theme.fontFamily;
734
- }, function (props) {
530
+ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n width: 23px;\n height: 22px;\n border: none;\n padding: 0.25rem;\n ", "\n background-color: ", ";\n color: ", ";\n\n :focus-visible {\n outline: none;\n }\n ", "\n\n svg {\n line-height: 18px;\n }\n"])), function (props) {
735
531
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
736
532
  }, function (props) {
737
533
  return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
@@ -740,9 +536,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
740
536
  }, function (props) {
741
537
  return !props.disabled && "\n &:hover {\n background-color: ".concat(props.theme.hoverSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.hoverSelectionIndicatorActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.activeSelectionIndicatorActionIconColor, ";\n }\n ");
742
538
  });
743
-
744
539
  var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
745
-
746
540
  var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n display: inline-flex;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n user-select: none;\n overflow: hidden;\n\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
747
541
  if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
748
542
  }, function (props) {
@@ -754,10 +548,9 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
754
548
  }, function (props) {
755
549
  return props.theme.valueFontWeight;
756
550
  });
757
-
758
- var ValueInput = _styledComponents["default"].input(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
759
-
760
- var SearchInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n height: calc(2.5rem - 2px);\n background: none;\n border: none;\n outline: none;\n padding: 0 0.5rem;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"])), function (props) {
551
+ var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
552
+ var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
553
+ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n height: calc(2.5rem - 2px);\n background: none;\n border: none;\n outline: none;\n padding: 0 0.5rem;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"])), function (props) {
761
554
  return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
762
555
  }, function (props) {
763
556
  return props.theme.fontFamily;
@@ -768,22 +561,18 @@ var SearchInput = _styledComponents["default"].input(_templateObject12 || (_temp
768
561
  }, function (props) {
769
562
  return props.theme.valueFontWeight;
770
563
  });
771
-
772
- var ErrorIcon = _styledComponents["default"].span(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n margin-left: 0.25rem;\n pointer-events: none;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"])), function (props) {
564
+ var ErrorIcon = _styledComponents["default"].span(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n margin-left: 0.25rem;\n pointer-events: none;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"])), function (props) {
773
565
  return props.theme.errorIconColor;
774
566
  });
775
-
776
- var Error = _styledComponents["default"].span(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n"])), function (props) {
567
+ var Error = _styledComponents["default"].span(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n margin-top: 0.25rem;\n"])), function (props) {
777
568
  return props.theme.errorMessageColor;
778
569
  }, function (props) {
779
570
  return props.theme.fontFamily;
780
571
  });
781
-
782
- var CollapseIndicator = _styledComponents["default"].span(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-left: 0.25rem;\n color: ", ";\n"])), function (props) {
572
+ var CollapseIndicator = _styledComponents["default"].span(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-left: 0.25rem;\n color: ", ";\n"])), function (props) {
783
573
  return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
784
574
  });
785
-
786
- var ClearSearchAction = _styledComponents["default"].button(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n margin-left: 0.25rem;\n background-color: ", ";\n color: ", ";\n\n cursor: pointer;\n &:hover {\n background-color: ", ";\n color: ", ";\n }\n &:active {\n background-color: ", ";\n color: ", ";\n }\n svg {\n line-height: 18px;\n }\n"])), function (props) {
575
+ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n margin-left: 0.25rem;\n background-color: ", ";\n color: ", ";\n\n cursor: pointer;\n &:hover {\n background-color: ", ";\n color: ", ";\n }\n &:active {\n background-color: ", ";\n color: ", ";\n }\n svg {\n line-height: 18px;\n }\n"])), function (props) {
787
576
  return props.theme.fontFamily;
788
577
  }, function (props) {
789
578
  return props.theme.actionBackgroundColor;
@@ -798,68 +587,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject16 ||
798
587
  }, function (props) {
799
588
  return props.theme.activeActionIconColor;
800
589
  });
801
-
802
- var OptionsList = _styledComponents["default"].ul(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n z-index: 1;\n max-height: 304px;\n overflow-y: auto;\n top: calc(100% + 4px);\n left: 0;\n margin: 0;\n padding: 0.25rem 0;\n width: 100%;\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n cursor: default;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
803
- return props.theme.listDialogBackgroundColor;
804
- }, function (props) {
805
- return props.theme.listDialogBorderColor;
806
- }, function (props) {
807
- return props.theme.listOptionFontColor;
808
- }, function (props) {
809
- return props.theme.fontFamily;
810
- }, function (props) {
811
- return props.theme.listOptionFontSize;
812
- }, function (props) {
813
- return props.theme.listOptionFontStyle;
814
- }, function (props) {
815
- return props.theme.listOptionFontWeight;
816
- });
817
-
818
- var OptionsSystemMessage = _styledComponents["default"].span(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 16px;\n color: ", ";\n font-size: 0.875rem;\n line-height: 1.715em;\n"])), function (props) {
819
- return props.theme.systemMessageFontColor;
820
- });
821
-
822
- var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-right: 0.25rem;\n"])));
823
-
824
- var GroupList = _styledComponents["default"].ul(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
825
-
826
- var GroupLabel = _styledComponents["default"].li(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"])), function (props) {
827
- return props.theme.listGroupLabelFontWeight;
828
- });
829
-
830
- var OptionItem = _styledComponents["default"].li(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 0.5rem;\n box-shadow: inset 0 0 0 2px transparent;\n ", "\n ", ";\n line-height: 1.715em;\n cursor: pointer;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n"])), function (props) {
831
- return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
832
- }, function (props) {
833
- return props.selected && "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
834
- }, function (props) {
835
- return props.selected ? "background-color: ".concat(props.theme.selectedHoverListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListOptionBackgroundColor, ";");
836
- }, function (props) {
837
- return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
838
- });
839
-
840
- var StyledOption = _styledComponents["default"].span(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 0.5rem 0.188rem 0;\n min-height: 24px;\n ", "\n ", ";\n"])), function (props) {
841
- return props.grouped && props.multiple && "padding-left: 16px;";
842
- }, function (props) {
843
- return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
844
- });
845
-
846
- var OptionContent = _styledComponents["default"].span(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n overflow: hidden;\n ", "\n"])), function (props) {
847
- return props.grouped && !props.multiple && !props.hasIcon ? "padding-left: 16px;" : "padding-left: 8px;";
848
- });
849
-
850
- var OptionIcon = _styledComponents["default"].span(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n ", "\n color: ", ";\n"])), function (props) {
851
- return props.grouped && !props.multiple ? "padding-left: 16px;" : "padding-left: 8px;";
852
- }, function (props) {
853
- return props.theme.listOptionIconColor;
854
- });
855
-
856
- var OptionIconImg = _styledComponents["default"].img(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"])));
857
-
858
- var OptionLabel = _styledComponents["default"].span(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
859
-
860
- var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 16px;\n width: 16px;\n margin-left: 4px;\n color: ", ";\n"])), function (props) {
861
- return props.theme.selectedListOptionIconColor;
862
- });
863
-
864
- var _default = DxcSelect;
865
- exports["default"] = _default;
590
+ var _default = exports["default"] = DxcSelect;