@dxc-technology/halstack-react 0.0.0-28a98e5 → 0.0.0-293a019

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