@dxc-technology/halstack-react 0.0.0-da90bf9 → 0.0.0-da9270d

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 (403) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +8 -24
  3. package/HalstackContext.d.ts +1235 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +4 -0
  7. package/accordion/Accordion.js +120 -291
  8. package/accordion/Accordion.stories.tsx +283 -0
  9. package/accordion/Accordion.test.js +56 -0
  10. package/accordion/types.d.ts +57 -0
  11. package/accordion/types.js +5 -0
  12. package/accordion-group/AccordionGroup.d.ts +8 -0
  13. package/accordion-group/AccordionGroup.js +57 -142
  14. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  15. package/accordion-group/AccordionGroup.test.js +98 -0
  16. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  17. package/accordion-group/AccordionGroupAccordion.js +31 -0
  18. package/accordion-group/types.d.ts +67 -0
  19. package/accordion-group/types.js +5 -0
  20. package/alert/Alert.d.ts +4 -0
  21. package/alert/Alert.js +55 -204
  22. package/alert/Alert.stories.tsx +198 -0
  23. package/alert/Alert.test.js +75 -0
  24. package/alert/types.d.ts +49 -0
  25. package/alert/types.js +5 -0
  26. package/badge/Badge.d.ts +4 -0
  27. package/badge/Badge.js +15 -30
  28. package/badge/types.d.ts +5 -0
  29. package/badge/types.js +5 -0
  30. package/bleed/Bleed.d.ts +3 -0
  31. package/bleed/Bleed.js +43 -0
  32. package/bleed/Bleed.stories.tsx +342 -0
  33. package/bleed/types.d.ts +37 -0
  34. package/bleed/types.js +5 -0
  35. package/box/Box.d.ts +4 -0
  36. package/box/Box.js +35 -116
  37. package/box/Box.stories.tsx +119 -0
  38. package/box/Box.test.js +13 -0
  39. package/box/types.d.ts +32 -0
  40. package/box/types.js +5 -0
  41. package/bulleted-list/BulletedList.d.ts +7 -0
  42. package/bulleted-list/BulletedList.js +89 -0
  43. package/bulleted-list/BulletedList.stories.tsx +115 -0
  44. package/bulleted-list/types.d.ts +38 -0
  45. package/bulleted-list/types.js +5 -0
  46. package/button/Button.d.ts +4 -0
  47. package/button/Button.js +67 -185
  48. package/button/Button.stories.tsx +344 -0
  49. package/button/Button.test.js +36 -0
  50. package/button/types.d.ts +57 -0
  51. package/button/types.js +5 -0
  52. package/card/Card.d.ts +4 -0
  53. package/card/Card.js +60 -194
  54. package/card/Card.stories.tsx +171 -0
  55. package/card/Card.test.js +39 -0
  56. package/card/types.d.ts +62 -0
  57. package/card/types.js +5 -0
  58. package/checkbox/Checkbox.d.ts +4 -0
  59. package/checkbox/Checkbox.js +147 -231
  60. package/checkbox/Checkbox.stories.tsx +222 -0
  61. package/checkbox/Checkbox.test.js +199 -0
  62. package/checkbox/types.d.ts +72 -0
  63. package/checkbox/types.js +5 -0
  64. package/chip/Chip.d.ts +4 -0
  65. package/chip/Chip.js +50 -194
  66. package/chip/Chip.stories.tsx +214 -0
  67. package/chip/Chip.test.js +41 -0
  68. package/chip/types.d.ts +45 -0
  69. package/chip/types.js +5 -0
  70. package/common/OpenSans.css +68 -80
  71. package/common/coreTokens.d.ts +237 -0
  72. package/common/coreTokens.js +184 -0
  73. package/common/utils.d.ts +1 -0
  74. package/common/utils.js +6 -12
  75. package/common/variables.d.ts +1381 -0
  76. package/common/variables.js +1006 -1319
  77. package/container/Container.d.ts +4 -0
  78. package/container/Container.js +194 -0
  79. package/container/Container.stories.tsx +214 -0
  80. package/container/types.d.ts +74 -0
  81. package/container/types.js +5 -0
  82. package/date-input/Calendar.d.ts +4 -0
  83. package/date-input/Calendar.js +214 -0
  84. package/date-input/DateInput.d.ts +4 -0
  85. package/date-input/DateInput.js +179 -356
  86. package/date-input/DateInput.stories.tsx +285 -0
  87. package/date-input/DateInput.test.js +808 -0
  88. package/date-input/DatePicker.d.ts +4 -0
  89. package/date-input/DatePicker.js +115 -0
  90. package/date-input/Icons.d.ts +6 -0
  91. package/date-input/Icons.js +58 -0
  92. package/date-input/YearPicker.d.ts +4 -0
  93. package/date-input/YearPicker.js +100 -0
  94. package/date-input/types.d.ts +164 -0
  95. package/date-input/types.js +5 -0
  96. package/dialog/Dialog.d.ts +4 -0
  97. package/dialog/Dialog.js +70 -184
  98. package/dialog/Dialog.stories.tsx +365 -0
  99. package/dialog/Dialog.test.js +307 -0
  100. package/dialog/types.d.ts +36 -0
  101. package/dialog/types.js +5 -0
  102. package/dropdown/Dropdown.d.ts +4 -0
  103. package/dropdown/Dropdown.js +247 -457
  104. package/dropdown/Dropdown.stories.tsx +438 -0
  105. package/dropdown/Dropdown.test.js +599 -0
  106. package/dropdown/DropdownMenu.d.ts +4 -0
  107. package/dropdown/DropdownMenu.js +63 -0
  108. package/dropdown/DropdownMenuItem.d.ts +4 -0
  109. package/dropdown/DropdownMenuItem.js +67 -0
  110. package/dropdown/types.d.ts +98 -0
  111. package/dropdown/types.js +5 -0
  112. package/file-input/FileInput.d.ts +4 -0
  113. package/file-input/FileInput.js +297 -462
  114. package/file-input/FileInput.stories.tsx +618 -0
  115. package/file-input/FileInput.test.js +459 -0
  116. package/file-input/FileItem.d.ts +4 -0
  117. package/file-input/FileItem.js +61 -213
  118. package/file-input/types.d.ts +129 -0
  119. package/file-input/types.js +5 -0
  120. package/flex/Flex.d.ts +4 -0
  121. package/flex/Flex.js +57 -0
  122. package/flex/Flex.stories.tsx +112 -0
  123. package/flex/types.d.ts +97 -0
  124. package/flex/types.js +5 -0
  125. package/footer/Footer.d.ts +4 -0
  126. package/footer/Footer.js +64 -360
  127. package/footer/Footer.stories.tsx +152 -0
  128. package/footer/Footer.test.js +85 -0
  129. package/footer/Icons.d.ts +2 -0
  130. package/footer/Icons.js +16 -21
  131. package/footer/types.d.ts +58 -0
  132. package/footer/types.js +5 -0
  133. package/grid/Grid.d.ts +7 -0
  134. package/grid/Grid.js +76 -0
  135. package/grid/Grid.stories.tsx +219 -0
  136. package/grid/types.d.ts +115 -0
  137. package/grid/types.js +5 -0
  138. package/header/Header.d.ts +8 -0
  139. package/header/Header.js +122 -372
  140. package/header/Header.stories.tsx +251 -0
  141. package/header/Header.test.js +66 -0
  142. package/header/Icons.d.ts +2 -0
  143. package/header/Icons.js +9 -39
  144. package/header/types.d.ts +33 -0
  145. package/header/types.js +5 -0
  146. package/heading/Heading.d.ts +4 -0
  147. package/heading/Heading.js +31 -124
  148. package/heading/Heading.stories.tsx +54 -0
  149. package/heading/Heading.test.js +169 -0
  150. package/heading/types.d.ts +33 -0
  151. package/heading/types.js +5 -0
  152. package/image/Image.d.ts +4 -0
  153. package/image/Image.js +70 -0
  154. package/image/Image.stories.tsx +127 -0
  155. package/image/types.d.ts +72 -0
  156. package/image/types.js +5 -0
  157. package/inset/Inset.d.ts +3 -0
  158. package/inset/Inset.js +43 -0
  159. package/inset/Inset.stories.tsx +230 -0
  160. package/inset/types.d.ts +37 -0
  161. package/inset/types.js +5 -0
  162. package/layout/ApplicationLayout.d.ts +20 -0
  163. package/layout/ApplicationLayout.js +85 -278
  164. package/layout/ApplicationLayout.stories.tsx +162 -0
  165. package/layout/Icons.d.ts +8 -0
  166. package/layout/Icons.js +51 -48
  167. package/layout/SidenavContext.d.ts +5 -0
  168. package/layout/SidenavContext.js +13 -0
  169. package/layout/types.d.ts +41 -0
  170. package/layout/types.js +5 -0
  171. package/link/Link.d.ts +4 -0
  172. package/link/Link.js +67 -189
  173. package/link/Link.stories.tsx +253 -0
  174. package/link/Link.test.js +63 -0
  175. package/link/types.d.ts +54 -0
  176. package/link/types.js +5 -0
  177. package/main.d.ts +46 -40
  178. package/main.js +117 -140
  179. package/nav-tabs/NavTabs.d.ts +8 -0
  180. package/nav-tabs/NavTabs.js +90 -0
  181. package/nav-tabs/NavTabs.stories.tsx +274 -0
  182. package/nav-tabs/NavTabs.test.js +75 -0
  183. package/nav-tabs/Tab.d.ts +4 -0
  184. package/nav-tabs/Tab.js +117 -0
  185. package/nav-tabs/types.d.ts +52 -0
  186. package/nav-tabs/types.js +5 -0
  187. package/number-input/NumberInput.d.ts +11 -0
  188. package/number-input/NumberInput.js +32 -101
  189. package/number-input/NumberInput.stories.tsx +131 -0
  190. package/number-input/NumberInput.test.js +830 -0
  191. package/number-input/types.d.ts +130 -0
  192. package/number-input/types.js +5 -0
  193. package/package.json +53 -49
  194. package/paginator/Icons.d.ts +5 -0
  195. package/paginator/Icons.js +26 -52
  196. package/paginator/Paginator.d.ts +4 -0
  197. package/paginator/Paginator.js +41 -211
  198. package/paginator/Paginator.stories.tsx +87 -0
  199. package/paginator/Paginator.test.js +335 -0
  200. package/paginator/types.d.ts +38 -0
  201. package/paginator/types.js +5 -0
  202. package/paragraph/Paragraph.d.ts +5 -0
  203. package/paragraph/Paragraph.js +22 -0
  204. package/paragraph/Paragraph.stories.tsx +27 -0
  205. package/password-input/Icons.d.ts +6 -0
  206. package/password-input/Icons.js +35 -0
  207. package/password-input/PasswordInput.d.ts +4 -0
  208. package/password-input/PasswordInput.js +66 -172
  209. package/password-input/PasswordInput.stories.tsx +99 -0
  210. package/password-input/PasswordInput.test.js +198 -0
  211. package/password-input/types.d.ts +111 -0
  212. package/password-input/types.js +5 -0
  213. package/progress-bar/ProgressBar.d.ts +4 -0
  214. package/progress-bar/ProgressBar.js +76 -174
  215. package/progress-bar/ProgressBar.stories.tsx +93 -0
  216. package/progress-bar/ProgressBar.test.js +93 -0
  217. package/progress-bar/types.d.ts +37 -0
  218. package/progress-bar/types.js +5 -0
  219. package/quick-nav/QuickNav.d.ts +4 -0
  220. package/quick-nav/QuickNav.js +94 -0
  221. package/quick-nav/QuickNav.stories.tsx +356 -0
  222. package/quick-nav/types.d.ts +21 -0
  223. package/quick-nav/types.js +5 -0
  224. package/radio-group/Radio.d.ts +4 -0
  225. package/radio-group/Radio.js +124 -0
  226. package/radio-group/RadioGroup.d.ts +4 -0
  227. package/radio-group/RadioGroup.js +235 -0
  228. package/radio-group/RadioGroup.stories.tsx +214 -0
  229. package/radio-group/RadioGroup.test.js +756 -0
  230. package/radio-group/types.d.ts +114 -0
  231. package/radio-group/types.js +5 -0
  232. package/resultset-table/Icons.d.ts +7 -0
  233. package/resultset-table/Icons.js +47 -0
  234. package/resultset-table/ResultsetTable.d.ts +4 -0
  235. package/resultset-table/ResultsetTable.js +159 -0
  236. package/resultset-table/ResultsetTable.stories.tsx +300 -0
  237. package/resultset-table/ResultsetTable.test.js +305 -0
  238. package/resultset-table/types.d.ts +67 -0
  239. package/resultset-table/types.js +5 -0
  240. package/select/Icons.d.ts +10 -0
  241. package/select/Icons.js +89 -0
  242. package/select/Listbox.d.ts +4 -0
  243. package/select/Listbox.js +143 -0
  244. package/select/Option.d.ts +4 -0
  245. package/select/Option.js +80 -0
  246. package/select/Select.d.ts +4 -0
  247. package/select/Select.js +294 -849
  248. package/select/Select.stories.tsx +971 -0
  249. package/select/Select.test.js +2370 -0
  250. package/select/types.d.ts +209 -0
  251. package/select/types.js +5 -0
  252. package/sidenav/Icons.d.ts +7 -0
  253. package/sidenav/Icons.js +47 -0
  254. package/sidenav/Sidenav.d.ts +10 -0
  255. package/sidenav/Sidenav.js +134 -117
  256. package/sidenav/Sidenav.stories.tsx +282 -0
  257. package/sidenav/Sidenav.test.js +37 -0
  258. package/sidenav/types.d.ts +76 -0
  259. package/sidenav/types.js +5 -0
  260. package/slider/Slider.d.ts +4 -0
  261. package/slider/Slider.js +172 -291
  262. package/slider/Slider.test.js +254 -0
  263. package/slider/types.d.ts +86 -0
  264. package/slider/types.js +5 -0
  265. package/spinner/Spinner.d.ts +4 -0
  266. package/spinner/Spinner.js +66 -241
  267. package/spinner/Spinner.stories.tsx +129 -0
  268. package/spinner/Spinner.test.js +55 -0
  269. package/spinner/types.d.ts +32 -0
  270. package/spinner/types.js +5 -0
  271. package/switch/Switch.d.ts +4 -0
  272. package/switch/Switch.js +153 -161
  273. package/switch/Switch.stories.tsx +137 -0
  274. package/switch/Switch.test.js +180 -0
  275. package/switch/types.d.ts +66 -0
  276. package/switch/types.js +5 -0
  277. package/table/Table.d.ts +4 -0
  278. package/table/Table.js +14 -50
  279. package/table/Table.stories.tsx +356 -0
  280. package/table/Table.test.js +21 -0
  281. package/table/types.d.ts +21 -0
  282. package/table/types.js +5 -0
  283. package/tabs/Tab.d.ts +4 -0
  284. package/tabs/Tab.js +113 -0
  285. package/tabs/Tabs.d.ts +4 -0
  286. package/tabs/Tabs.js +322 -281
  287. package/tabs/Tabs.stories.tsx +226 -0
  288. package/tabs/Tabs.test.js +294 -0
  289. package/tabs/types.d.ts +92 -0
  290. package/tabs/types.js +5 -0
  291. package/tag/Tag.d.ts +4 -0
  292. package/tag/Tag.js +61 -192
  293. package/tag/Tag.stories.tsx +155 -0
  294. package/tag/Tag.test.js +49 -0
  295. package/tag/types.d.ts +69 -0
  296. package/tag/types.js +5 -0
  297. package/text-input/Icons.d.ts +8 -0
  298. package/text-input/Icons.js +56 -0
  299. package/text-input/Suggestion.d.ts +4 -0
  300. package/text-input/Suggestion.js +67 -0
  301. package/text-input/Suggestions.d.ts +4 -0
  302. package/text-input/Suggestions.js +84 -0
  303. package/text-input/TextInput.d.ts +4 -0
  304. package/text-input/TextInput.js +360 -757
  305. package/text-input/TextInput.stories.tsx +465 -0
  306. package/text-input/TextInput.test.js +1739 -0
  307. package/text-input/types.d.ts +205 -0
  308. package/text-input/types.js +5 -0
  309. package/textarea/Textarea.d.ts +4 -0
  310. package/textarea/Textarea.js +105 -240
  311. package/textarea/Textarea.stories.tsx +174 -0
  312. package/textarea/Textarea.test.js +406 -0
  313. package/textarea/types.d.ts +141 -0
  314. package/textarea/types.js +5 -0
  315. package/toggle-group/ToggleGroup.d.ts +4 -0
  316. package/toggle-group/ToggleGroup.js +107 -233
  317. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  318. package/toggle-group/ToggleGroup.test.js +137 -0
  319. package/toggle-group/types.d.ts +114 -0
  320. package/toggle-group/types.js +5 -0
  321. package/typography/Typography.d.ts +4 -0
  322. package/typography/Typography.js +23 -0
  323. package/typography/Typography.stories.tsx +198 -0
  324. package/typography/types.d.ts +18 -0
  325. package/typography/types.js +5 -0
  326. package/useTheme.d.ts +1134 -0
  327. package/useTheme.js +4 -11
  328. package/useTranslatedLabels.d.ts +85 -0
  329. package/useTranslatedLabels.js +14 -0
  330. package/utils/BaseTypography.d.ts +21 -0
  331. package/utils/BaseTypography.js +94 -0
  332. package/utils/FocusLock.d.ts +13 -0
  333. package/utils/FocusLock.js +121 -0
  334. package/wizard/Wizard.d.ts +4 -0
  335. package/wizard/Wizard.js +138 -293
  336. package/wizard/Wizard.stories.tsx +253 -0
  337. package/wizard/Wizard.test.js +114 -0
  338. package/wizard/types.d.ts +64 -0
  339. package/wizard/types.js +5 -0
  340. package/ThemeContext.js +0 -250
  341. package/V3Select/V3Select.js +0 -549
  342. package/V3Select/index.d.ts +0 -27
  343. package/V3Textarea/V3Textarea.js +0 -264
  344. package/V3Textarea/index.d.ts +0 -27
  345. package/accordion/index.d.ts +0 -28
  346. package/accordion-group/index.d.ts +0 -16
  347. package/alert/index.d.ts +0 -51
  348. package/box/index.d.ts +0 -25
  349. package/button/Button.stories.js +0 -27
  350. package/button/index.d.ts +0 -24
  351. package/card/index.d.ts +0 -22
  352. package/checkbox/index.d.ts +0 -24
  353. package/chip/index.d.ts +0 -22
  354. package/common/RequiredComponent.js +0 -40
  355. package/date/Date.js +0 -379
  356. package/date/index.d.ts +0 -27
  357. package/date-input/index.d.ts +0 -95
  358. package/dialog/index.d.ts +0 -18
  359. package/dropdown/index.d.ts +0 -26
  360. package/file-input/index.d.ts +0 -81
  361. package/footer/index.d.ts +0 -25
  362. package/header/index.d.ts +0 -25
  363. package/heading/index.d.ts +0 -17
  364. package/input-text/Icons.js +0 -22
  365. package/input-text/InputText.js +0 -705
  366. package/input-text/index.d.ts +0 -36
  367. package/link/index.d.ts +0 -23
  368. package/number-input/NumberInputContext.js +0 -16
  369. package/number-input/index.d.ts +0 -113
  370. package/paginator/index.d.ts +0 -20
  371. package/password-input/index.d.ts +0 -94
  372. package/progress-bar/index.d.ts +0 -18
  373. package/radio/Radio.js +0 -209
  374. package/radio/index.d.ts +0 -23
  375. package/resultsetTable/ResultsetTable.js +0 -358
  376. package/resultsetTable/index.d.ts +0 -19
  377. package/select/index.d.ts +0 -131
  378. package/sidenav/index.d.ts +0 -13
  379. package/slider/index.d.ts +0 -29
  380. package/spinner/index.d.ts +0 -17
  381. package/switch/index.d.ts +0 -24
  382. package/table/index.d.ts +0 -13
  383. package/tabs/index.d.ts +0 -19
  384. package/tag/index.d.ts +0 -24
  385. package/text-input/index.d.ts +0 -135
  386. package/textarea/index.d.ts +0 -117
  387. package/toggle/Toggle.js +0 -220
  388. package/toggle/index.d.ts +0 -21
  389. package/toggle-group/index.d.ts +0 -21
  390. package/upload/Upload.js +0 -205
  391. package/upload/buttons-upload/ButtonsUpload.js +0 -135
  392. package/upload/buttons-upload/Icons.js +0 -40
  393. package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  394. package/upload/dragAndDropArea/Icons.js +0 -39
  395. package/upload/file-upload/FileToUpload.js +0 -189
  396. package/upload/file-upload/Icons.js +0 -66
  397. package/upload/files-upload/FilesToUpload.js +0 -123
  398. package/upload/index.d.ts +0 -15
  399. package/upload/transaction/Icons.js +0 -160
  400. package/upload/transaction/Transaction.js +0 -148
  401. package/upload/transactions/Transactions.js +0 -138
  402. package/wizard/Icons.js +0 -65
  403. package/wizard/index.d.ts +0 -18
package/select/Select.js CHANGED
@@ -1,404 +1,46 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
4
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
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
- function _templateObject28() {
35
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 16px;\n width: 16px;\n margin-left: 4px;\n color: ", ";\n"]);
36
-
37
- _templateObject28 = function _templateObject28() {
38
- return data;
39
- };
40
-
41
- return data;
42
- }
43
-
44
- function _templateObject27() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"]);
46
-
47
- _templateObject27 = function _templateObject27() {
48
- return data;
49
- };
50
-
51
- return data;
52
- }
53
-
54
- function _templateObject26() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"]);
56
-
57
- _templateObject26 = function _templateObject26() {
58
- return data;
59
- };
60
-
61
- return data;
62
- }
63
-
64
- function _templateObject25() {
65
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n ", "\n color: ", ";\n"]);
66
-
67
- _templateObject25 = function _templateObject25() {
68
- return data;
69
- };
70
-
71
- return data;
72
- }
73
-
74
- function _templateObject24() {
75
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n overflow: hidden;\n ", "\n"]);
76
-
77
- _templateObject24 = function _templateObject24() {
78
- return data;
79
- };
80
-
81
- return data;
82
- }
83
-
84
- function _templateObject23() {
85
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 0.5rem 0.188rem 0;\n min-height: 24px;\n ", "\n ", ";\n"]);
86
-
87
- _templateObject23 = function _templateObject23() {
88
- return data;
89
- };
90
-
91
- return data;
92
- }
93
-
94
- function _templateObject22() {
95
- var data = (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"]);
96
-
97
- _templateObject22 = function _templateObject22() {
98
- return data;
99
- };
100
-
101
- return data;
102
- }
103
-
104
- function _templateObject21() {
105
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"]);
106
-
107
- _templateObject21 = function _templateObject21() {
108
- return data;
109
- };
110
-
111
- return data;
112
- }
113
-
114
- function _templateObject20() {
115
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"]);
116
-
117
- _templateObject20 = function _templateObject20() {
118
- return data;
119
- };
120
-
121
- return data;
122
- }
123
-
124
- function _templateObject19() {
125
- var data = (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: calc(1rem * 0.25);\n"]);
126
-
127
- _templateObject19 = function _templateObject19() {
128
- return data;
129
- };
130
-
131
- return data;
132
- }
133
-
134
- function _templateObject18() {
135
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 16px;\n color: ", ";\n font-size: 0.875rem;\n line-height: 1.715em;\n"]);
136
-
137
- _templateObject18 = function _templateObject18() {
138
- return data;
139
- };
140
-
141
- return data;
142
- }
143
-
144
- function _templateObject17() {
145
- var data = (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"]);
146
-
147
- _templateObject17 = function _templateObject17() {
148
- return data;
149
- };
150
-
151
- return data;
152
- }
153
-
154
- function _templateObject16() {
155
- var data = (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: calc(1rem * 0.25);\n ", "\n background-color: ", ";\n color: ", ";\n\n ", "\n\n svg {\n line-height: 18px;\n }\n"]);
156
-
157
- _templateObject16 = function _templateObject16() {
158
- return data;
159
- };
160
-
161
- return data;
162
- }
163
-
164
- function _templateObject15() {
165
- var data = (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: calc(1rem * 0.25);\n color: ", ";\n"]);
166
-
167
- _templateObject15 = function _templateObject15() {
168
- return data;
169
- };
170
-
171
- return data;
172
- }
173
-
174
- function _templateObject14() {
175
- var data = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
176
-
177
- _templateObject14 = function _templateObject14() {
178
- return data;
179
- };
180
-
181
- return data;
182
- }
183
-
184
- function _templateObject13() {
185
- var data = (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: calc(1rem * 0.25);\n pointer-events: none;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"]);
186
-
187
- _templateObject13 = function _templateObject13() {
188
- return data;
189
- };
190
-
191
- return data;
192
- }
193
-
194
- function _templateObject12() {
195
- var data = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n background: none;\n border: none;\n outline: none;\n padding: 0 calc(1rem * 0.5);\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"]);
196
-
197
- _templateObject12 = function _templateObject12() {
198
- return data;
199
- };
200
-
201
- return data;
202
- }
203
-
204
- function _templateObject11() {
205
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"]);
206
-
207
- _templateObject11 = function _templateObject11() {
208
- return data;
209
- };
210
-
211
- return data;
212
- }
213
-
214
- function _templateObject10() {
215
- var data = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n display: inline-flex;\n align-items: center;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n padding: 0 calc(1rem * 0.5);\n user-select: none;\n overflow: hidden;\n\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"]);
216
-
217
- _templateObject10 = function _templateObject10() {
218
- return data;
219
- };
220
-
221
- return data;
222
- }
223
-
224
- function _templateObject9() {
225
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"]);
226
-
227
- _templateObject9 = function _templateObject9() {
228
- return data;
229
- };
230
-
231
- return data;
232
- }
233
-
234
- function _templateObject8() {
235
- var data = (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 padding: 3px;\n ", "\n background-color: ", ";\n color: ", ";\n\n :focus-visible {\n outline: none;\n }\n ", "\n\n svg {\n line-height: 18px;\n }\n"]);
236
-
237
- _templateObject8 = function _templateObject8() {
238
- return data;
239
- };
240
-
241
- return data;
242
- }
243
-
244
- function _templateObject7() {
245
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n user-select: none;\n background-color: ", ";\n border-right: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n ", "\n"]);
246
-
247
- _templateObject7 = function _templateObject7() {
248
- return data;
249
- };
250
-
251
- return data;
252
- }
253
-
254
- function _templateObject6() {
255
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border: 1px solid ", ";\n border-radius: 2px;\n width: 48px;\n"]);
256
-
257
- _templateObject6 = function _templateObject6() {
258
- return data;
259
- };
260
-
261
- return data;
262
- }
263
-
264
- function _templateObject5() {
265
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n margin: calc(1rem * 0.25) 0;\n padding: 0 calc(1rem * 0.5);\n outline: none;\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"]);
266
-
267
- _templateObject5 = function _templateObject5() {
268
- return data;
269
- };
270
-
271
- return data;
272
- }
273
-
274
- function _templateObject4() {
275
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
276
-
277
- _templateObject4 = function _templateObject4() {
278
- return data;
279
- };
280
-
281
- return data;
282
- }
283
-
284
- function _templateObject3() {
285
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"]);
286
-
287
- _templateObject3 = function _templateObject3() {
288
- return data;
289
- };
290
-
291
- return data;
292
- }
293
-
294
- function _templateObject2() {
295
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n cursor: default;\n"]);
296
-
297
- _templateObject2 = function _templateObject2() {
298
- return data;
299
- };
300
-
301
- return data;
302
- }
303
-
304
- function _templateObject() {
305
- var data = (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"]);
306
-
307
- _templateObject = function _templateObject() {
308
- return data;
309
- };
310
-
311
- return data;
312
- }
313
-
314
- var selectIcons = {
315
- error: _react["default"].createElement("svg", {
316
- role: "img",
317
- xmlns: "http://www.w3.org/2000/svg",
318
- height: "24px",
319
- viewBox: "0 0 24 24",
320
- width: "24px",
321
- fill: "currentColor"
322
- }, _react["default"].createElement("path", {
323
- 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"
324
- })),
325
- arrowUp: _react["default"].createElement("svg", {
326
- role: "img",
327
- xmlns: "http://www.w3.org/2000/svg",
328
- height: "24px",
329
- viewBox: "0 0 24 24",
330
- width: "24px",
331
- fill: "currentColor"
332
- }, _react["default"].createElement("path", {
333
- d: "M0 0h24v24H0V0z",
334
- fill: "none"
335
- }), _react["default"].createElement("path", {
336
- d: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6 1.41 1.41z"
337
- })),
338
- arrowDown: _react["default"].createElement("svg", {
339
- role: "img",
340
- xmlns: "http://www.w3.org/2000/svg",
341
- height: "24px",
342
- viewBox: "0 0 24 24",
343
- width: "24px",
344
- fill: "currentColor"
345
- }, _react["default"].createElement("path", {
346
- d: "M0 0h24v24H0V0z",
347
- fill: "none"
348
- }), _react["default"].createElement("path", {
349
- d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"
350
- })),
351
- clear: _react["default"].createElement("svg", {
352
- role: "img",
353
- xmlns: "http://www.w3.org/2000/svg",
354
- width: "24",
355
- height: "24",
356
- viewBox: "0 0 24 24",
357
- fill: "currentColor"
358
- }, _react["default"].createElement("path", {
359
- d: "M0 0h24v24H0V0z",
360
- fill: "none"
361
- }), _react["default"].createElement("path", {
362
- 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"
363
- })),
364
- selected: _react["default"].createElement("svg", {
365
- role: "img",
366
- xmlns: "http://www.w3.org/2000/svg",
367
- height: "24px",
368
- viewBox: "0 0 24 24",
369
- width: "24px",
370
- fill: "currentColor"
371
- }, _react["default"].createElement("path", {
372
- d: "M0 0h24v24H0z",
373
- fill: "none"
374
- }), _react["default"].createElement("path", {
375
- d: "M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"
376
- })),
377
- searchOff: _react["default"].createElement("svg", {
378
- role: "img",
379
- xmlns: "http://www.w3.org/2000/svg",
380
- height: "24px",
381
- viewBox: "0 0 24 24",
382
- width: "24px",
383
- fill: "currentColor"
384
- }, _react["default"].createElement("g", null, _react["default"].createElement("rect", {
385
- fill: "none",
386
- height: "24",
387
- width: "24"
388
- })), _react["default"].createElement("g", null, _react["default"].createElement("g", null, _react["default"].createElement("path", {
389
- 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"
390
- }), _react["default"].createElement("polygon", {
391
- 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"
392
- }))))
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;
393
28
  };
394
-
395
- var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
396
- 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);
397
40
  };
398
-
399
41
  var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
400
42
  if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
401
- if (options[0].options) return options.map(function (optionGroup) {
43
+ if (isArrayOfOptionGroups(options)) return options.map(function (optionGroup) {
402
44
  var group = {
403
45
  label: optionGroup.label,
404
46
  options: optionGroup.options.filter(function (option) {
@@ -411,280 +53,226 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
411
53
  });
412
54
  }
413
55
  };
414
-
415
- var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
416
- var _ref3;
417
-
418
- var _ref$label = _ref.label,
419
- label = _ref$label === void 0 ? "" : _ref$label,
420
- _ref$name = _ref.name,
421
- name = _ref$name === void 0 ? "" : _ref$name,
422
- value = _ref.value,
423
- options = _ref.options,
424
- _ref$helperText = _ref.helperText,
425
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
426
- _ref$placeholder = _ref.placeholder,
427
- placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
428
- _ref$disabled = _ref.disabled,
429
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
430
- _ref$optional = _ref.optional,
431
- optional = _ref$optional === void 0 ? false : _ref$optional,
432
- _ref$searchable = _ref.searchable,
433
- searchable = _ref$searchable === void 0 ? false : _ref$searchable,
434
- _ref$multiple = _ref.multiple,
435
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
436
- onChange = _ref.onChange,
437
- onBlur = _ref.onBlur,
438
- _ref$error = _ref.error,
439
- error = _ref$error === void 0 ? "" : _ref$error,
440
- margin = _ref.margin,
441
- _ref$size = _ref.size,
442
- size = _ref$size === void 0 ? "medium" : _ref$size,
443
- _ref$tabIndex = _ref.tabIndex,
444
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
445
-
446
- var _useState = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
447
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
448
- selectId = _useState2[0];
449
-
56
+ var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
57
+ var last = 0;
58
+ var reducer = function reducer(acc, current) {
59
+ var _current$options;
60
+ return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
61
+ };
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;
63
+ return optional && !multiple ? last + 1 : last;
64
+ };
65
+ var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
66
+ var selectedOption = multiple ? [] : {};
67
+ var singleSelectionIndex;
68
+ if (multiple) {
69
+ if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
70
+ options.forEach(function (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);
74
+ });
75
+ }
76
+ } else {
77
+ if (optional && value === "") {
78
+ selectedOption = optionalItem;
79
+ singleSelectionIndex = 0;
80
+ } else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
81
+ var group_index = 0;
82
+ options.some(function (option, index) {
83
+ if (isOptionGroup(option)) {
84
+ option.options.some(function (singleOption) {
85
+ if (singleOption.value === value) {
86
+ selectedOption = singleOption;
87
+ singleSelectionIndex = optional ? group_index + 1 : group_index;
88
+ return true;
89
+ }
90
+ group_index++;
91
+ });
92
+ } else if (option.value === value) {
93
+ selectedOption = option;
94
+ singleSelectionIndex = optional ? index + 1 : index;
95
+ return true;
96
+ }
97
+ });
98
+ }
99
+ }
100
+ return {
101
+ selectedOption: selectedOption,
102
+ singleSelectionIndex: singleSelectionIndex
103
+ };
104
+ };
105
+ var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
106
+ return !optional && (multiple ? value.length === 0 : value === "");
107
+ };
108
+ var useWidth = function useWidth(target) {
109
+ var _useState = (0, _react.useState)(0),
110
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
111
+ width = _useState2[0],
112
+ setWidth = _useState2[1];
113
+ (0, _react.useEffect)(function () {
114
+ if (target != null) {
115
+ setWidth(target.getBoundingClientRect().width);
116
+ var triggerObserver = new ResizeObserver(function (entries) {
117
+ var rect = entries[0].target.getBoundingClientRect();
118
+ setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
119
+ });
120
+ triggerObserver.observe(target);
121
+ return function () {
122
+ triggerObserver.unobserve(target);
123
+ };
124
+ }
125
+ }, [target]);
126
+ return width;
127
+ };
128
+ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
129
+ var _ref4, _selectedOption$label;
130
+ var label = _ref.label,
131
+ _ref$name = _ref.name,
132
+ name = _ref$name === void 0 ? "" : _ref$name,
133
+ defaultValue = _ref.defaultValue,
134
+ value = _ref.value,
135
+ options = _ref.options,
136
+ helperText = _ref.helperText,
137
+ _ref$placeholder = _ref.placeholder,
138
+ placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
139
+ _ref$disabled = _ref.disabled,
140
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
141
+ _ref$optional = _ref.optional,
142
+ optional = _ref$optional === void 0 ? false : _ref$optional,
143
+ _ref$searchable = _ref.searchable,
144
+ searchable = _ref$searchable === void 0 ? false : _ref$searchable,
145
+ _ref$multiple = _ref.multiple,
146
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
147
+ onChange = _ref.onChange,
148
+ onBlur = _ref.onBlur,
149
+ error = _ref.error,
150
+ margin = _ref.margin,
151
+ _ref$size = _ref.size,
152
+ size = _ref$size === void 0 ? "medium" : _ref$size,
153
+ _ref$tabIndex = _ref.tabIndex,
154
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
155
+ var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
156
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
157
+ selectId = _useState4[0];
450
158
  var selectLabelId = "label-".concat(selectId);
159
+ var errorId = "error-".concat(selectId);
451
160
  var optionsListId = "".concat(selectId, "-listbox");
452
-
453
- var _useState3 = (0, _react.useState)(multiple ? [] : ""),
454
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
455
- innerValue = _useState4[0],
456
- setInnerValue = _useState4[1];
457
-
458
- var _useState5 = (0, _react.useState)(""),
459
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
460
- searchValue = _useState6[0],
461
- setSearchValue = _useState6[1];
462
-
463
- var _useState7 = (0, _react.useState)(-1),
464
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
465
- visualFocusIndex = _useState8[0],
466
- changeVisualFocusIndex = _useState8[1];
467
-
468
- var _useState9 = (0, _react.useState)(false),
469
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
470
- isOpen = _useState10[0],
471
- changeIsOpen = _useState10[1];
472
-
473
- var selectContainerRef = (0, _react.useRef)(null);
161
+ var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
162
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
163
+ innerValue = _useState6[0],
164
+ setInnerValue = _useState6[1];
165
+ var _useState7 = (0, _react.useState)(""),
166
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
167
+ searchValue = _useState8[0],
168
+ setSearchValue = _useState8[1];
169
+ var _useState9 = (0, _react.useState)(-1),
170
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
171
+ visualFocusIndex = _useState10[0],
172
+ changeVisualFocusIndex = _useState10[1];
173
+ var _useState11 = (0, _react.useState)(false),
174
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
175
+ isOpen = _useState12[0],
176
+ changeIsOpen = _useState12[1];
177
+ var selectRef = (0, _react.useRef)(null);
474
178
  var selectSearchInputRef = (0, _react.useRef)(null);
475
- var selectOptionsListRef = (0, _react.useRef)(null);
179
+ var width = useWidth(selectRef.current);
476
180
  var colorsTheme = (0, _useTheme["default"])();
477
- var optionalEmptyOption = {
181
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
182
+ var optionalItem = {
478
183
  label: placeholder,
479
184
  value: ""
480
185
  };
481
186
  var filteredOptions = (0, _react.useMemo)(function () {
482
187
  return filterOptionsBySearchValue(options, searchValue);
483
188
  }, [options, searchValue]);
484
-
485
- var getLastOptionIndex = function getLastOptionIndex() {
486
- var last = 0;
487
-
488
- var reducer = function reducer(acc, current) {
489
- var _current$options;
490
-
491
- return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
492
- };
493
-
494
- 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;
495
- return optional && !multiple ? last + 1 : last;
496
- };
497
-
498
189
  var lastOptionIndex = (0, _react.useMemo)(function () {
499
- return getLastOptionIndex();
500
- }, [searchable, optional, multiple, filteredOptions, options]);
501
-
502
- var getSelectedOption = function getSelectedOption() {
503
- var val = value !== null && value !== void 0 ? value : innerValue;
504
- var selectedOption = multiple ? [] : "";
505
- var singleSelectionIndex;
506
-
507
- if (multiple) {
508
- if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
509
- options.forEach(function (option) {
510
- if (option.options) {
511
- option.options.forEach(function (singleOption) {
512
- if (val.includes(singleOption.value)) selectedOption.push(singleOption);
513
- });
514
- } else if (val.includes(option.value)) selectedOption.push(option);
515
- });
516
- }
517
- } else {
518
- if (optional && val === "") {
519
- selectedOption = optionalEmptyOption;
520
- singleSelectionIndex = 0;
521
- } else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
522
- var group_index = 0;
523
- options.some(function (option, index) {
524
- if (option.options) {
525
- option.options.some(function (singleOption) {
526
- if (singleOption.value === val) {
527
- selectedOption = singleOption;
528
- singleSelectionIndex = optional ? group_index + 1 : group_index;
529
- return true;
530
- }
531
-
532
- group_index++;
533
- });
534
- } else if (option.value === val) {
535
- selectedOption = option;
536
- singleSelectionIndex = optional ? index + 1 : index;
537
- return true;
538
- }
539
- });
540
- }
541
- }
542
-
543
- return {
544
- selectedOption: selectedOption,
545
- singleSelectionIndex: singleSelectionIndex
546
- };
547
- };
548
-
190
+ return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
191
+ }, [options, filteredOptions, searchable, optional, multiple]);
549
192
  var _useMemo = (0, _react.useMemo)(function () {
550
- return getSelectedOption();
551
- }, [options, multiple, value, innerValue]),
552
- selectedOption = _useMemo.selectedOption,
553
- singleSelectionIndex = _useMemo.singleSelectionIndex;
554
-
555
- var notOptionalCheck = function notOptionalCheck(value) {
556
- return value === "" && !optional;
557
- };
558
-
559
- var notOptionalMultipleCheck = function notOptionalMultipleCheck() {
560
- return (value !== null && value !== void 0 ? value : innerValue).length === 0 && !optional;
561
- };
562
-
563
- var canBeOpenOptions = function canBeOpenOptions() {
564
- return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions();
565
- };
566
-
567
- var groupsHaveOptions = function groupsHaveOptions() {
568
- return options[0].hasOwnProperty("options") ? options[0].options ? options.some(function (groupOption) {
569
- return groupOption.options.length > 0;
570
- }) : false : true;
571
- };
572
-
573
- var filteredGroupsHaveOptions = function filteredGroupsHaveOptions() {
574
- return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
575
- var _groupOption$options;
576
-
577
- return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
578
- }) : true;
579
- };
580
-
193
+ return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
194
+ }, [value, innerValue, options, multiple, optional, optionalItem]),
195
+ selectedOption = _useMemo.selectedOption,
196
+ singleSelectionIndex = _useMemo.singleSelectionIndex;
581
197
  var openOptions = function openOptions() {
582
- if (!isOpen && canBeOpenOptions()) changeIsOpen(true);
198
+ if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
583
199
  };
584
-
585
200
  var closeOptions = function closeOptions() {
586
201
  if (isOpen) {
587
202
  changeIsOpen(false);
588
203
  changeVisualFocusIndex(-1);
589
204
  }
590
205
  };
591
-
592
206
  var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
207
+ var newValue;
593
208
  if (multiple) {
594
- var _res, _res2;
595
-
596
- var res;
597
- if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) value ? res = value.filter(function (optionVal) {
209
+ var _ref2, _ref3;
210
+ 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) {
598
211
  return optionVal !== newOption.value;
599
- }) : setInnerValue(function (previous) {
600
- return previous.filter(function (optionVal) {
601
- return optionVal !== newOption.value;
602
- });
603
- });else value ? res = [].concat((0, _toConsumableArray2["default"])(value), [newOption.value]) : setInnerValue(function (previous) {
604
- return [].concat((0, _toConsumableArray2["default"])(previous), [newOption.value]);
605
- });
606
- if (notOptionalMultipleCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
607
- value: (_res = res) !== null && _res !== void 0 ? _res : innerValue,
608
- error: getNotOptionalErrorMessage()
609
- });else onChange === null || onChange === void 0 ? void 0 : onChange({
610
- value: (_res2 = res) !== null && _res2 !== void 0 ? _res2 : innerValue,
611
- error: null
612
- });
613
- } else {
614
- value !== null && value !== void 0 ? value : setInnerValue(newOption.value);
615
- if (notOptionalCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
616
- value: newOption.value,
617
- error: getNotOptionalErrorMessage()
618
- });else onChange === null || onChange === void 0 ? void 0 : onChange({
619
- value: newOption.value,
620
- error: null
621
- });
622
- }
212
+ });else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
213
+ } else newValue = newOption.value;
214
+ value !== null && value !== void 0 ? value : setInnerValue(newValue);
215
+ notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
216
+ value: newValue,
217
+ error: translatedLabels.formFields.requiredValueErrorMessage
218
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
219
+ value: newValue
220
+ });
623
221
  };
624
-
625
222
  var handleSelectOnClick = function handleSelectOnClick() {
626
223
  searchable && selectSearchInputRef.current.focus();
627
-
628
224
  if (isOpen) {
629
225
  closeOptions();
630
226
  setSearchValue("");
631
227
  } else openOptions();
632
228
  };
633
-
634
229
  var handleSelectOnFocus = function handleSelectOnFocus(event) {
635
230
  if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
636
231
  };
637
-
638
232
  var handleSelectOnBlur = function handleSelectOnBlur(event) {
639
- // focus leaves container (outside, not to childs)
233
+ // focus leaves container (outside, not to a child)
640
234
  if (!event.currentTarget.contains(event.relatedTarget)) {
641
235
  closeOptions();
642
236
  setSearchValue("");
643
- if (notOptionalCheck(value !== null && value !== void 0 ? value : innerValue)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
644
- value: value !== null && value !== void 0 ? value : innerValue,
645
- error: getNotOptionalErrorMessage()
646
- });else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
647
- value: value !== null && value !== void 0 ? value : innerValue,
648
- error: null
237
+ var currentValue = value !== null && value !== void 0 ? value : innerValue;
238
+ notOptionalCheck(currentValue, multiple, optional) ? onBlur === null || onBlur === void 0 ? void 0 : onBlur({
239
+ value: currentValue,
240
+ error: translatedLabels.formFields.requiredValueErrorMessage
241
+ }) : onBlur === null || onBlur === void 0 ? void 0 : onBlur({
242
+ value: currentValue
649
243
  });
650
244
  }
651
245
  };
652
-
653
246
  var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
654
- switch (event.keyCode) {
655
- case 40:
656
- // Arrow Down
247
+ switch (event.key) {
248
+ case "Down":
249
+ case "ArrowDown":
657
250
  event.preventDefault();
658
251
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
659
252
  if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
660
253
  });
661
254
  openOptions();
662
255
  break;
663
-
664
- case 38:
665
- // Arrow Up
256
+ case "Up":
257
+ case "ArrowUp":
666
258
  event.preventDefault();
667
259
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
668
260
  return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
669
261
  });
670
262
  openOptions();
671
263
  break;
672
-
673
- case 27:
674
- // Esc
264
+ case "Esc":
265
+ case "Escape":
675
266
  event.preventDefault();
676
267
  closeOptions();
677
268
  setSearchValue("");
678
269
  break;
679
-
680
- case 13:
681
- // Enter
270
+ case "Enter":
682
271
  if (isOpen && visualFocusIndex >= 0) {
683
272
  var accLength = optional && !multiple ? 1 : 0;
684
-
685
273
  if (searchable) {
686
274
  if (filteredOptions.length > 0) {
687
- if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions()) handleSelectChangeValue(optionalEmptyOption);else filteredOptions[0].options ? filteredGroupsHaveOptions() && filteredOptions.some(function (groupOption) {
275
+ if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
688
276
  var groupLength = accLength + groupOption.options.length;
689
277
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
690
278
  accLength = groupLength;
@@ -692,143 +280,64 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
692
280
  }) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
693
281
  }
694
282
  } else {
695
- if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalEmptyOption);else options[0].options ? options.some(function (groupOption) {
283
+ if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
696
284
  var groupLength = accLength + groupOption.options.length;
697
285
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
698
286
  accLength = groupLength;
699
287
  return groupLength > visualFocusIndex;
700
288
  }) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
701
289
  }
702
-
703
290
  !multiple && closeOptions();
704
291
  setSearchValue("");
705
292
  }
706
-
707
293
  break;
708
294
  }
709
295
  };
710
-
711
296
  var handleSearchIOnChange = function handleSearchIOnChange(event) {
712
297
  setSearchValue(event.target.value);
713
298
  changeVisualFocusIndex(-1);
714
299
  openOptions();
715
300
  };
716
-
717
301
  var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
718
302
  event.stopPropagation();
719
303
  value !== null && value !== void 0 ? value : setInnerValue([]);
720
- onChange === null || onChange === void 0 ? void 0 : onChange({
304
+ !optional ? onChange === null || onChange === void 0 ? void 0 : onChange({
721
305
  value: [],
722
- error: getNotOptionalErrorMessage()
306
+ error: translatedLabels.formFields.requiredValueErrorMessage
307
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
308
+ value: []
723
309
  });
724
310
  };
725
-
726
311
  var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
727
312
  event.stopPropagation();
728
313
  setSearchValue("");
729
314
  };
730
-
731
- (0, _react.useLayoutEffect)(function () {
732
- if (isOpen && singleSelectionIndex) {
733
- var _listEl$scrollTo;
734
-
735
- var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
736
- var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
737
- listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
738
- top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
739
- });
740
- }
741
- }, [isOpen]);
742
- (0, _react.useLayoutEffect)(function () {
743
- var _selectOptionsListRef, _visualFocusedOptionE;
744
-
745
- var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
746
- visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
747
- block: "nearest",
748
- inline: "start"
749
- });
750
- }, [visualFocusIndex]);
751
-
752
- var Option = function Option(_ref2) {
753
- var option = _ref2.option,
754
- index = _ref2.index,
755
- _ref2$isGroupedOption = _ref2.isGroupedOption,
756
- isGroupedOption = _ref2$isGroupedOption === void 0 ? false : _ref2$isGroupedOption;
757
- var isSelected = multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(option.value) : (value !== null && value !== void 0 ? value : innerValue) === option.value;
758
- var isLastOption = index === lastOptionIndex;
759
- return _react["default"].createElement(OptionItem, {
760
- id: "option-".concat(index),
761
- onClick: function onClick() {
762
- handleSelectChangeValue(option);
763
- !multiple && closeOptions();
764
- setSearchValue("");
765
- },
766
- visualFocused: visualFocusIndex === index,
767
- selected: isSelected,
768
- role: "option",
769
- "aria-selected": isSelected && "true"
770
- }, _react["default"].createElement(StyledOption, {
771
- visualFocused: visualFocusIndex === index,
772
- selected: isSelected,
773
- last: isLastOption,
774
- grouped: isGroupedOption,
775
- multiple: multiple
776
- }, multiple && _react["default"].createElement(_Checkbox["default"], {
777
- tabIndex: -1,
778
- checked: isSelected
779
- }), option.icon && _react["default"].createElement(OptionIcon, {
780
- grouped: isGroupedOption,
781
- multiple: multiple,
782
- role: !(typeof option.icon === "string") && "img"
783
- }, typeof option.icon === "string" ? _react["default"].createElement(OptionIconImg, {
784
- src: option.icon
785
- }) : option.icon), _react["default"].createElement(OptionContent, {
786
- grouped: isGroupedOption,
787
- hasIcon: option.icon,
788
- multiple: multiple
789
- }, _react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && _react["default"].createElement(OptionSelectedIndicator, null, selectIcons.selected))));
790
- };
791
-
792
- var global_index = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
793
-
794
- var mapOptionFunc = function mapOptionFunc(option) {
795
- if (option.options) {
796
- return option.options.length > 0 && _react["default"].createElement("li", null, _react["default"].createElement(GroupList, {
797
- role: "group"
798
- }, _react["default"].createElement(GroupLabel, {
799
- role: "presentation"
800
- }, option.label), option.options.map(function (singleOption) {
801
- global_index++;
802
- return _react["default"].createElement(Option, {
803
- option: singleOption,
804
- index: global_index,
805
- isGroupedOption: true
806
- });
807
- })));
808
- } else {
809
- global_index++;
810
- return _react["default"].createElement(Option, {
811
- option: option,
812
- index: global_index
813
- });
814
- }
815
- };
816
-
817
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
315
+ var handleOptionOnClick = (0, _react.useCallback)(function (option) {
316
+ handleSelectChangeValue(option);
317
+ !multiple && closeOptions();
318
+ setSearchValue("");
319
+ }, [handleSelectChangeValue, closeOptions, multiple]);
320
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
818
321
  theme: colorsTheme.select
819
- }, _react["default"].createElement(SelectContainer, {
322
+ }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
820
323
  margin: margin,
821
324
  size: size,
822
325
  ref: ref
823
- }, _react["default"].createElement(Label, {
326
+ }, label && /*#__PURE__*/_react["default"].createElement(Label, {
824
327
  id: selectLabelId,
825
328
  disabled: disabled,
826
329
  onClick: function onClick() {
827
- selectContainerRef.current.focus();
828
- }
829
- }, label, " ", optional && _react["default"].createElement(OptionalLabel, null, "(Optional)")), _react["default"].createElement(HelperText, {
330
+ selectRef.current.focus();
331
+ },
332
+ helperText: helperText
333
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
830
334
  disabled: disabled
831
- }, helperText), _react["default"].createElement(Select, {
335
+ }, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
336
+ open: isOpen
337
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
338
+ asChild: true,
339
+ type: undefined
340
+ }, /*#__PURE__*/_react["default"].createElement(Select, {
832
341
  id: selectId,
833
342
  disabled: disabled,
834
343
  error: error,
@@ -836,19 +345,21 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
836
345
  onClick: handleSelectOnClick,
837
346
  onFocus: handleSelectOnFocus,
838
347
  onKeyDown: handleSelectOnKeyDown,
839
- ref: selectContainerRef,
840
- tabIndex: tabIndex,
348
+ ref: selectRef,
349
+ tabIndex: disabled ? -1 : tabIndex,
841
350
  role: "combobox",
842
351
  "aria-controls": optionsListId,
843
- "aria-expanded": isOpen ? "true" : "false",
352
+ "aria-disabled": disabled,
353
+ "aria-expanded": isOpen,
844
354
  "aria-haspopup": "listbox",
845
- "aria-labelledby": selectLabelId,
355
+ "aria-labelledby": label ? selectLabelId : undefined,
846
356
  "aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
847
- "aria-invalid": error ? "true" : "false",
848
- "aria-required": optional ? "false" : "true"
849
- }, multiple && selectedOption.length > 0 && _react["default"].createElement(SelectionIndicator, null, _react["default"].createElement(SelectionNumber, {
357
+ "aria-invalid": error ? true : false,
358
+ "aria-errormessage": error ? errorId : undefined,
359
+ "aria-required": !disabled && !optional
360
+ }, multiple && Array.isArray(selectedOption) && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
850
361
  disabled: disabled
851
- }, selectedOption.length, " "), _react["default"].createElement(ClearOptionsAction, {
362
+ }, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
852
363
  disabled: disabled,
853
364
  onMouseDown: function onMouseDown(event) {
854
365
  // Avoid input to lose focus when pressed
@@ -856,69 +367,83 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
856
367
  },
857
368
  onClick: handleClearOptionsActionOnClick,
858
369
  tabIndex: -1,
859
- title: "Clear selected options",
860
- "aria-label": "Clear selected options"
861
- }, selectIcons.clear)), _react["default"].createElement(SearchableValueContainer, null, _react["default"].createElement(ValueInput, {
370
+ title: translatedLabels.select.actionClearSelectionTitle,
371
+ "aria-label": translatedLabels.select.actionClearSelectionTitle
372
+ }, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
862
373
  name: name,
863
- value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(", ") : value !== null && value !== void 0 ? value : innerValue,
374
+ disabled: disabled,
375
+ 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,
864
376
  readOnly: true,
865
377
  "aria-hidden": "true"
866
- }), searchable && _react["default"].createElement(SearchInput, {
378
+ }), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
867
379
  value: searchValue,
868
380
  disabled: disabled,
869
381
  onChange: handleSearchIOnChange,
870
382
  ref: selectSearchInputRef,
871
- autoComplete: "off",
872
- autoCorrect: "off"
873
- }), (!searchable || searchValue === "") && (multiple ? _react["default"].createElement(SelectedOption, {
383
+ autoComplete: "nope",
384
+ autoCorrect: "nope",
385
+ size: 1
386
+ }), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
874
387
  disabled: disabled,
875
- atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || isOpen
876
- }, _react["default"].createElement(OptionLabel, null, selectedOption.map(function (option) {
388
+ atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
389
+ }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, Array.isArray(selectedOption) && selectedOption.map(function (option) {
877
390
  return option.label;
878
- }).join(", ")), selectedOption.length === 0 && placeholder) : _react["default"].createElement(SelectedOption, {
391
+ }).join(", ")), Array.isArray(selectedOption) && selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
879
392
  disabled: disabled,
880
- atBackground: !(value !== null && value !== void 0 ? value : innerValue) || isOpen
881
- }, _react["default"].createElement(OptionLabel, null, (_ref3 = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _ref3 !== void 0 ? _ref3 : placeholder)))), !disabled && error && _react["default"].createElement(ErrorIcon, null, selectIcons.error), searchable && searchValue.length > 0 && _react["default"].createElement(ClearSearchAction, {
393
+ atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
394
+ }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, !Array.isArray(selectedOption) ? (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder : placeholder)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
882
395
  onMouseDown: function onMouseDown(event) {
883
396
  // Avoid input to lose focus
884
397
  event.preventDefault();
885
398
  },
886
399
  onClick: handleClearSearchActionOnClick,
887
400
  tabIndex: -1,
888
- title: "Clear search text",
889
- "aria-label": "Clear search text"
890
- }, selectIcons.clear), _react["default"].createElement(CollapseIndicator, {
401
+ title: translatedLabels.select.actionClearSearchTitle,
402
+ "aria-label": translatedLabels.select.actionClearSearchTitle
403
+ }, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
891
404
  disabled: disabled
892
- }, isOpen ? selectIcons.arrowUp : selectIcons.arrowDown), isOpen && _react["default"].createElement(OptionsList, {
893
- id: optionsListId,
894
- onClick: function onClick(event) {
895
- event.stopPropagation();
405
+ }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
406
+ sideOffset: 4,
407
+ style: {
408
+ zIndex: "2147483647"
896
409
  },
897
- onMouseDown: function onMouseDown(event) {
410
+ onOpenAutoFocus: function onOpenAutoFocus(event) {
411
+ // Avoid select to lose focus when the list is opened
898
412
  event.preventDefault();
899
413
  },
900
- ref: selectOptionsListRef,
901
- role: "listbox",
902
- "aria-labelledby": selectLabelId,
903
- "aria-multiselectable": multiple ? "true" : "false"
904
- }, searchable && (filteredOptions.length === 0 || !filteredGroupsHaveOptions()) ? _react["default"].createElement(OptionsSystemMessage, null, _react["default"].createElement(NoMatchesFoundIcon, null, selectIcons.searchOff), "No matches found") : optional && !multiple && _react["default"].createElement(Option, {
905
- option: optionalEmptyOption,
906
- index: 0
907
- }), searchable ? filteredOptions.map(mapOptionFunc) : options.map(mapOptionFunc))), !disabled && _react["default"].createElement(Error, null, error)));
414
+ onCloseAutoFocus: function onCloseAutoFocus(event) {
415
+ // Avoid select to lose focus when the list is closed
416
+ event.preventDefault();
417
+ }
418
+ }, /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
419
+ id: optionsListId,
420
+ currentValue: value !== null && value !== void 0 ? value : innerValue,
421
+ options: searchable ? filteredOptions : options,
422
+ visualFocusIndex: visualFocusIndex,
423
+ lastOptionIndex: lastOptionIndex,
424
+ multiple: multiple,
425
+ optional: optional,
426
+ optionalItem: optionalItem,
427
+ searchable: searchable,
428
+ handleOptionOnClick: handleOptionOnClick,
429
+ styles: {
430
+ width: width
431
+ }
432
+ })))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
433
+ id: errorId,
434
+ "aria-live": error ? "assertive" : "off"
435
+ }, error)));
908
436
  });
909
-
910
437
  var sizes = {
911
438
  small: "240px",
912
439
  medium: "360px",
913
440
  large: "480px",
914
441
  fillParent: "100%"
915
442
  };
916
-
917
443
  var calculateWidth = function calculateWidth(margin, size) {
918
444
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
919
445
  };
920
-
921
- var SelectContainer = _styledComponents["default"].div(_templateObject(), function (props) {
446
+ 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) {
922
447
  return calculateWidth(props.margin, props.size);
923
448
  }, function (props) {
924
449
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -931,8 +456,7 @@ var SelectContainer = _styledComponents["default"].div(_templateObject(), functi
931
456
  }, function (props) {
932
457
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
933
458
  });
934
-
935
- var Label = _styledComponents["default"].span(_templateObject2(), function (props) {
459
+ 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) {
936
460
  return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
937
461
  }, function (props) {
938
462
  return props.theme.fontFamily;
@@ -944,13 +468,13 @@ var Label = _styledComponents["default"].span(_templateObject2(), function (prop
944
468
  return props.theme.labelFontWeight;
945
469
  }, function (props) {
946
470
  return props.theme.labelLineHeight;
471
+ }, function (props) {
472
+ return !props.helperText && "margin-bottom: 0.25rem";
947
473
  });
948
-
949
- var OptionalLabel = _styledComponents["default"].span(_templateObject3(), function (props) {
474
+ var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
950
475
  return props.theme.optionalLabelFontWeight;
951
476
  });
952
-
953
- var HelperText = _styledComponents["default"].span(_templateObject4(), function (props) {
477
+ 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) {
954
478
  return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
955
479
  }, function (props) {
956
480
  return props.theme.fontFamily;
@@ -963,8 +487,9 @@ var HelperText = _styledComponents["default"].span(_templateObject4(), function
963
487
  }, function (props) {
964
488
  return props.theme.helperTextLineHeight;
965
489
  });
966
-
967
- var Select = _styledComponents["default"].div(_templateObject5(), function (props) {
490
+ 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) {
491
+ return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
492
+ }, function (props) {
968
493
  return props.disabled ? props.theme.disabledInputBorderColor : props.theme.enabledInputBorderColor;
969
494
  }, function (props) {
970
495
  return props.error && !props.disabled && "border-color: transparent;\n box-shadow: 0 0 0 2px ".concat(props.theme.errorInputBorderColor, ";\n ");
@@ -973,13 +498,11 @@ var Select = _styledComponents["default"].div(_templateObject5(), function (prop
973
498
  }, function (props) {
974
499
  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 ");
975
500
  });
976
-
977
- var SelectionIndicator = _styledComponents["default"].span(_templateObject6(), function (props) {
501
+ 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) {
978
502
  return props.theme.selectionIndicatorBorderColor;
979
503
  });
980
-
981
- var SelectionNumber = _styledComponents["default"].span(_templateObject7(), function (props) {
982
- return props.theme.selectionIndicatorBackgroundColor;
504
+ 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) {
505
+ return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
983
506
  }, function (props) {
984
507
  return props.theme.selectionIndicatorBorderColor;
985
508
  }, function (props) {
@@ -995,22 +518,17 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7(), func
995
518
  }, function (props) {
996
519
  return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
997
520
  });
998
-
999
- var ClearOptionsAction = _styledComponents["default"].button(_templateObject8(), function (props) {
1000
- return props.theme.fontFamily;
1001
- }, function (props) {
521
+ 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) {
1002
522
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
1003
523
  }, function (props) {
1004
- return props.theme.enabledSelectionIndicatorActionBackgroundColor;
524
+ return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
1005
525
  }, function (props) {
1006
526
  return props.disabled ? props.theme.disabledColor : props.theme.enabledSelectionIndicatorActionIconColor;
1007
527
  }, function (props) {
1008
528
  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 ");
1009
529
  });
1010
-
1011
- var SearchableValueContainer = _styledComponents["default"].div(_templateObject9());
1012
-
1013
- var SelectedOption = _styledComponents["default"].span(_templateObject10(), function (props) {
530
+ var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
531
+ 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) {
1014
532
  if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
1015
533
  }, function (props) {
1016
534
  return props.theme.fontFamily;
@@ -1021,10 +539,9 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10(), func
1021
539
  }, function (props) {
1022
540
  return props.theme.valueFontWeight;
1023
541
  });
1024
-
1025
- var ValueInput = _styledComponents["default"].input(_templateObject11());
1026
-
1027
- var SearchInput = _styledComponents["default"].input(_templateObject12(), function (props) {
542
+ var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
543
+ var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
544
+ 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) {
1028
545
  return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
1029
546
  }, function (props) {
1030
547
  return props.theme.fontFamily;
@@ -1035,102 +552,30 @@ var SearchInput = _styledComponents["default"].input(_templateObject12(), functi
1035
552
  }, function (props) {
1036
553
  return props.theme.valueFontWeight;
1037
554
  });
1038
-
1039
- var ErrorIcon = _styledComponents["default"].span(_templateObject13(), function (props) {
1040
- return props.theme.errorColor;
555
+ 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) {
556
+ return props.theme.errorIconColor;
1041
557
  });
1042
-
1043
- var Error = _styledComponents["default"].span(_templateObject14(), function (props) {
1044
- return props.theme.errorColor;
558
+ 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) {
559
+ return props.theme.errorMessageColor;
1045
560
  }, function (props) {
1046
561
  return props.theme.fontFamily;
1047
- }, function (props) {
1048
- return props.theme.errorMessageFontSize;
1049
- }, function (props) {
1050
- return props.theme.errorMessagetFontStyle;
1051
- }, function (props) {
1052
- return props.theme.errorMessageFontWeight;
1053
- }, function (props) {
1054
- return props.theme.errorMessagetLineHeight;
1055
562
  });
1056
-
1057
- var CollapseIndicator = _styledComponents["default"].span(_templateObject15(), function (props) {
563
+ 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) {
1058
564
  return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
1059
565
  });
1060
-
1061
- var ClearSearchAction = _styledComponents["default"].button(_templateObject16(), function (props) {
1062
- return props.theme.fontFamily;
1063
- }, function (props) {
1064
- return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
1065
- }, function (props) {
1066
- return props.disabled ? props.theme.disabledActionBackgroundColor : props.theme.actionBackgroundColor;
1067
- }, function (props) {
1068
- return props.disabled ? props.theme.disabledColor : props.theme.actionIconColor;
1069
- }, function (props) {
1070
- return !props.disabled && "\n &:hover {\n background-color: ".concat(props.theme.hoverActionBackgroundColor, ";\n color: ").concat(props.theme.hoverActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeActionBackgroundColor, ";\n color: ").concat(props.theme.activeActionIconColor, ";\n }\n ");
1071
- });
1072
-
1073
- var OptionsList = _styledComponents["default"].ul(_templateObject17(), function (props) {
1074
- return props.theme.itemListBackgroundColor;
1075
- }, function (props) {
1076
- return props.theme.itemListBorderColor;
1077
- }, function (props) {
1078
- return props.theme.listItemFontColor;
1079
- }, function (props) {
566
+ 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) {
1080
567
  return props.theme.fontFamily;
1081
568
  }, function (props) {
1082
- return props.theme.listItemFontSize;
1083
- }, function (props) {
1084
- return props.theme.listItemFontStyle;
1085
- }, function (props) {
1086
- return props.theme.listItemFontWeight;
1087
- });
1088
-
1089
- var OptionsSystemMessage = _styledComponents["default"].span(_templateObject18(), function (props) {
1090
- return props.theme.systemMessageFontColor;
1091
- });
1092
-
1093
- var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject19());
1094
-
1095
- var GroupList = _styledComponents["default"].ul(_templateObject20());
1096
-
1097
- var GroupLabel = _styledComponents["default"].li(_templateObject21(), function (props) {
1098
- return props.theme.listGroupItemFontWeight;
1099
- });
1100
-
1101
- var OptionItem = _styledComponents["default"].li(_templateObject22(), function (props) {
1102
- return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListItemBorderColor, ";");
569
+ return props.theme.actionBackgroundColor;
1103
570
  }, function (props) {
1104
- return props.selected && "background-color: ".concat(props.theme.selectedListItemBackgroundColor);
571
+ return props.theme.actionIconColor;
1105
572
  }, function (props) {
1106
- return props.selected ? "background-color: ".concat(props.theme.selectedHoverListItemBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListItemBackgroundColor, ";");
573
+ return props.theme.hoverActionBackgroundColor;
1107
574
  }, function (props) {
1108
- return props.selected ? "background-color: ".concat(props.theme.selectedActiveListItemBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListItemBackgroundColor, ";");
1109
- });
1110
-
1111
- var StyledOption = _styledComponents["default"].span(_templateObject23(), function (props) {
1112
- return props.grouped && props.multiple && "padding-left: 16px;";
575
+ return props.theme.hoverActionIconColor;
1113
576
  }, function (props) {
1114
- return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listItemDividerColor);
1115
- });
1116
-
1117
- var OptionContent = _styledComponents["default"].span(_templateObject24(), function (props) {
1118
- return props.grouped && !props.multiple && !props.hasIcon ? "padding-left: 16px;" : "padding-left: 8px;";
1119
- });
1120
-
1121
- var OptionIcon = _styledComponents["default"].span(_templateObject25(), function (props) {
1122
- return props.grouped && !props.multiple ? "padding-left: 16px;" : "padding-left: 8px;";
577
+ return props.theme.activeActionBackgroundColor;
1123
578
  }, function (props) {
1124
- return props.theme.listItemIconColor;
579
+ return props.theme.activeActionIconColor;
1125
580
  });
1126
-
1127
- var OptionIconImg = _styledComponents["default"].img(_templateObject26());
1128
-
1129
- var OptionLabel = _styledComponents["default"].span(_templateObject27());
1130
-
1131
- var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject28(), function (props) {
1132
- return props.theme.selectedListItemIconColor;
1133
- });
1134
-
1135
- var _default = DxcSelect;
1136
- exports["default"] = _default;
581
+ var _default = exports["default"] = DxcSelect;