@dxc-technology/halstack-react 0.0.0-e33af28 → 0.0.0-e360842

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 (504) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1243 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  7. package/accordion/Accordion.accessibility.test.js +71 -0
  8. package/accordion/Accordion.d.ts +1 -1
  9. package/accordion/Accordion.js +101 -159
  10. package/accordion/Accordion.stories.tsx +83 -149
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +24 -40
  13. package/accordion/types.d.ts +6 -17
  14. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  15. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  16. package/accordion-group/AccordionGroup.d.ts +2 -2
  17. package/accordion-group/AccordionGroup.js +31 -98
  18. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  19. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  20. package/accordion-group/AccordionGroup.test.js +49 -106
  21. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  22. package/accordion-group/AccordionGroupAccordion.js +31 -0
  23. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  24. package/accordion-group/AccordionGroupContext.js +8 -0
  25. package/accordion-group/types.d.ts +12 -17
  26. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  27. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  28. package/action-icon/ActionIcon.d.ts +4 -0
  29. package/action-icon/ActionIcon.js +48 -0
  30. package/action-icon/ActionIcon.stories.tsx +41 -0
  31. package/action-icon/ActionIcon.test.d.ts +1 -0
  32. package/action-icon/ActionIcon.test.js +64 -0
  33. package/action-icon/types.d.ts +26 -0
  34. package/alert/Alert.accessibility.test.d.ts +1 -0
  35. package/alert/Alert.accessibility.test.js +95 -0
  36. package/alert/Alert.js +40 -127
  37. package/alert/Alert.stories.tsx +28 -0
  38. package/alert/Alert.test.d.ts +1 -0
  39. package/alert/Alert.test.js +28 -45
  40. package/alert/types.d.ts +5 -5
  41. package/badge/Badge.accessibility.test.d.ts +1 -0
  42. package/badge/Badge.accessibility.test.js +129 -0
  43. package/badge/Badge.d.ts +1 -1
  44. package/badge/Badge.js +142 -40
  45. package/badge/Badge.stories.tsx +210 -0
  46. package/badge/Badge.test.d.ts +1 -0
  47. package/badge/Badge.test.js +30 -0
  48. package/badge/types.d.ts +52 -2
  49. package/bleed/Bleed.js +14 -55
  50. package/bleed/Bleed.stories.tsx +95 -95
  51. package/bleed/types.d.ts +2 -2
  52. package/box/Box.accessibility.test.d.ts +1 -0
  53. package/box/Box.accessibility.test.js +33 -0
  54. package/box/Box.d.ts +1 -1
  55. package/box/Box.js +30 -81
  56. package/box/Box.stories.tsx +38 -51
  57. package/box/Box.test.d.ts +1 -0
  58. package/box/Box.test.js +1 -6
  59. package/box/types.d.ts +3 -14
  60. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  61. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  62. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  63. package/breadcrumbs/Breadcrumbs.js +79 -0
  64. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  65. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  66. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  67. package/breadcrumbs/Item.d.ts +4 -0
  68. package/breadcrumbs/Item.js +52 -0
  69. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  70. package/breadcrumbs/dropdownTheme.js +62 -0
  71. package/breadcrumbs/types.d.ts +16 -0
  72. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  73. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  74. package/bulleted-list/BulletedList.d.ts +7 -0
  75. package/bulleted-list/BulletedList.js +92 -0
  76. package/bulleted-list/BulletedList.stories.tsx +115 -0
  77. package/bulleted-list/types.d.ts +38 -0
  78. package/button/Button.accessibility.test.d.ts +1 -0
  79. package/button/Button.accessibility.test.js +127 -0
  80. package/button/Button.d.ts +1 -1
  81. package/button/Button.js +63 -113
  82. package/button/Button.stories.tsx +151 -100
  83. package/button/Button.test.d.ts +1 -0
  84. package/button/Button.test.js +19 -16
  85. package/button/types.d.ts +12 -8
  86. package/card/Card.accessibility.test.d.ts +1 -0
  87. package/card/Card.accessibility.test.js +36 -0
  88. package/card/Card.d.ts +1 -1
  89. package/card/Card.js +59 -102
  90. package/card/Card.stories.tsx +12 -42
  91. package/card/Card.test.d.ts +1 -0
  92. package/card/Card.test.js +10 -21
  93. package/card/types.d.ts +6 -11
  94. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  95. package/checkbox/Checkbox.accessibility.test.js +87 -0
  96. package/checkbox/Checkbox.d.ts +2 -2
  97. package/checkbox/Checkbox.js +137 -172
  98. package/checkbox/Checkbox.stories.tsx +166 -136
  99. package/checkbox/Checkbox.test.d.ts +1 -0
  100. package/checkbox/Checkbox.test.js +159 -38
  101. package/checkbox/types.d.ts +14 -6
  102. package/chip/Chip.accessibility.test.d.ts +1 -0
  103. package/chip/Chip.accessibility.test.js +69 -0
  104. package/chip/Chip.js +43 -89
  105. package/chip/Chip.stories.tsx +140 -28
  106. package/chip/Chip.test.d.ts +1 -0
  107. package/chip/Chip.test.js +17 -32
  108. package/chip/types.d.ts +38 -15
  109. package/common/coreTokens.d.ts +237 -0
  110. package/common/coreTokens.js +184 -0
  111. package/common/utils.d.ts +1 -0
  112. package/common/utils.js +6 -12
  113. package/common/variables.d.ts +1389 -0
  114. package/common/variables.js +1073 -1184
  115. package/container/Container.d.ts +4 -0
  116. package/container/Container.js +194 -0
  117. package/container/Container.stories.tsx +214 -0
  118. package/container/types.d.ts +74 -0
  119. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  120. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  121. package/contextual-menu/ContextualMenu.d.ts +5 -0
  122. package/contextual-menu/ContextualMenu.js +88 -0
  123. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  124. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  125. package/contextual-menu/ContextualMenu.test.js +205 -0
  126. package/contextual-menu/GroupItem.d.ts +4 -0
  127. package/contextual-menu/GroupItem.js +67 -0
  128. package/contextual-menu/ItemAction.d.ts +4 -0
  129. package/contextual-menu/ItemAction.js +51 -0
  130. package/contextual-menu/MenuItem.d.ts +4 -0
  131. package/contextual-menu/MenuItem.js +29 -0
  132. package/contextual-menu/SingleItem.d.ts +4 -0
  133. package/contextual-menu/SingleItem.js +38 -0
  134. package/contextual-menu/types.d.ts +58 -0
  135. package/date-input/Calendar.d.ts +4 -0
  136. package/date-input/Calendar.js +214 -0
  137. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  138. package/date-input/DateInput.accessibility.test.js +230 -0
  139. package/date-input/DateInput.js +152 -299
  140. package/date-input/DateInput.stories.tsx +210 -56
  141. package/date-input/DateInput.test.d.ts +1 -0
  142. package/date-input/DateInput.test.js +700 -370
  143. package/date-input/DatePicker.d.ts +4 -0
  144. package/date-input/DatePicker.js +121 -0
  145. package/date-input/YearPicker.d.ts +4 -0
  146. package/date-input/YearPicker.js +100 -0
  147. package/date-input/types.d.ts +72 -15
  148. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  149. package/dialog/Dialog.accessibility.test.js +69 -0
  150. package/dialog/Dialog.d.ts +1 -1
  151. package/dialog/Dialog.js +61 -106
  152. package/dialog/Dialog.stories.tsx +325 -167
  153. package/dialog/Dialog.test.d.ts +1 -0
  154. package/dialog/Dialog.test.js +350 -19
  155. package/dialog/types.d.ts +18 -25
  156. package/divider/Divider.accessibility.test.d.ts +1 -0
  157. package/divider/Divider.accessibility.test.js +33 -0
  158. package/divider/Divider.d.ts +4 -0
  159. package/divider/Divider.js +36 -0
  160. package/divider/Divider.stories.tsx +223 -0
  161. package/divider/Divider.test.d.ts +1 -0
  162. package/divider/Divider.test.js +38 -0
  163. package/divider/types.d.ts +21 -0
  164. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  165. package/dropdown/Dropdown.accessibility.test.js +184 -0
  166. package/dropdown/Dropdown.d.ts +1 -1
  167. package/dropdown/Dropdown.js +232 -307
  168. package/dropdown/Dropdown.stories.tsx +235 -57
  169. package/dropdown/Dropdown.test.d.ts +1 -0
  170. package/dropdown/Dropdown.test.js +604 -164
  171. package/dropdown/DropdownMenu.d.ts +4 -0
  172. package/dropdown/DropdownMenu.js +63 -0
  173. package/dropdown/DropdownMenuItem.d.ts +4 -0
  174. package/dropdown/DropdownMenuItem.js +71 -0
  175. package/dropdown/types.d.ts +35 -19
  176. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  177. package/file-input/FileInput.accessibility.test.js +167 -0
  178. package/file-input/FileInput.d.ts +2 -2
  179. package/file-input/FileInput.js +245 -395
  180. package/file-input/FileInput.stories.tsx +123 -12
  181. package/file-input/FileInput.test.d.ts +1 -0
  182. package/file-input/FileInput.test.js +314 -367
  183. package/file-input/FileItem.d.ts +4 -14
  184. package/file-input/FileItem.js +61 -120
  185. package/file-input/types.d.ts +25 -8
  186. package/flex/Flex.d.ts +4 -0
  187. package/flex/Flex.js +57 -0
  188. package/flex/Flex.stories.tsx +112 -0
  189. package/flex/types.d.ts +97 -0
  190. package/flex/types.js +5 -0
  191. package/footer/Footer.accessibility.test.d.ts +1 -0
  192. package/footer/Footer.accessibility.test.js +125 -0
  193. package/footer/Footer.d.ts +1 -1
  194. package/footer/Footer.js +75 -118
  195. package/footer/Footer.stories.tsx +99 -21
  196. package/footer/Footer.test.d.ts +1 -0
  197. package/footer/Footer.test.js +32 -56
  198. package/footer/Icons.d.ts +3 -2
  199. package/footer/Icons.js +54 -23
  200. package/footer/types.d.ts +26 -27
  201. package/grid/Grid.d.ts +7 -0
  202. package/grid/Grid.js +76 -0
  203. package/grid/Grid.stories.tsx +219 -0
  204. package/grid/types.d.ts +115 -0
  205. package/grid/types.js +5 -0
  206. package/header/Header.accessibility.test.d.ts +1 -0
  207. package/header/Header.accessibility.test.js +94 -0
  208. package/header/Header.d.ts +4 -3
  209. package/header/Header.js +95 -185
  210. package/header/Header.stories.tsx +133 -38
  211. package/header/Header.test.d.ts +1 -0
  212. package/header/Header.test.js +12 -25
  213. package/header/Icons.d.ts +2 -2
  214. package/header/Icons.js +5 -15
  215. package/header/types.d.ts +7 -21
  216. package/heading/Heading.accessibility.test.d.ts +1 -0
  217. package/heading/Heading.accessibility.test.js +33 -0
  218. package/heading/Heading.js +10 -32
  219. package/heading/Heading.test.d.ts +1 -0
  220. package/heading/Heading.test.js +64 -94
  221. package/heading/types.d.ts +7 -7
  222. package/icon/Icon.accessibility.test.d.ts +1 -0
  223. package/icon/Icon.accessibility.test.js +30 -0
  224. package/icon/Icon.d.ts +4 -0
  225. package/icon/Icon.js +33 -0
  226. package/icon/Icon.stories.tsx +28 -0
  227. package/icon/types.d.ts +4 -0
  228. package/icon/types.js +5 -0
  229. package/image/Image.accessibility.test.d.ts +1 -0
  230. package/image/Image.accessibility.test.js +56 -0
  231. package/image/Image.d.ts +4 -0
  232. package/image/Image.js +70 -0
  233. package/image/Image.stories.tsx +129 -0
  234. package/image/types.d.ts +72 -0
  235. package/image/types.js +5 -0
  236. package/inset/Inset.js +14 -55
  237. package/inset/Inset.stories.tsx +37 -36
  238. package/inset/types.d.ts +2 -2
  239. package/layout/ApplicationLayout.d.ts +16 -6
  240. package/layout/ApplicationLayout.js +86 -167
  241. package/layout/ApplicationLayout.stories.tsx +85 -94
  242. package/layout/Icons.d.ts +7 -0
  243. package/layout/Icons.js +41 -48
  244. package/layout/types.d.ts +19 -35
  245. package/link/Link.accessibility.test.d.ts +1 -0
  246. package/link/Link.accessibility.test.js +108 -0
  247. package/link/Link.d.ts +3 -2
  248. package/link/Link.js +65 -101
  249. package/link/Link.stories.tsx +157 -55
  250. package/link/Link.test.d.ts +1 -0
  251. package/link/Link.test.js +24 -52
  252. package/link/types.d.ts +15 -31
  253. package/main.d.ts +16 -13
  254. package/main.js +83 -106
  255. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  256. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  257. package/nav-tabs/NavTabs.d.ts +7 -0
  258. package/nav-tabs/NavTabs.js +108 -0
  259. package/nav-tabs/NavTabs.stories.tsx +294 -0
  260. package/nav-tabs/NavTabs.test.d.ts +1 -0
  261. package/nav-tabs/NavTabs.test.js +77 -0
  262. package/nav-tabs/NavTabsContext.d.ts +3 -0
  263. package/nav-tabs/NavTabsContext.js +8 -0
  264. package/nav-tabs/Tab.d.ts +4 -0
  265. package/nav-tabs/Tab.js +117 -0
  266. package/nav-tabs/types.d.ts +52 -0
  267. package/nav-tabs/types.js +5 -0
  268. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  269. package/number-input/NumberInput.accessibility.test.js +228 -0
  270. package/number-input/NumberInput.js +46 -36
  271. package/number-input/NumberInput.stories.tsx +42 -26
  272. package/number-input/NumberInput.test.d.ts +1 -0
  273. package/number-input/NumberInput.test.js +859 -376
  274. package/number-input/NumberInputContext.d.ts +3 -4
  275. package/number-input/NumberInputContext.js +3 -14
  276. package/number-input/types.d.ts +18 -6
  277. package/package.json +52 -54
  278. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  279. package/paginator/Paginator.accessibility.test.js +79 -0
  280. package/paginator/Paginator.js +46 -100
  281. package/paginator/Paginator.stories.tsx +24 -0
  282. package/paginator/Paginator.test.d.ts +1 -0
  283. package/paginator/Paginator.test.js +279 -210
  284. package/paginator/types.d.ts +3 -3
  285. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  286. package/paragraph/Paragraph.accessibility.test.js +28 -0
  287. package/paragraph/Paragraph.d.ts +5 -0
  288. package/paragraph/Paragraph.js +22 -0
  289. package/paragraph/Paragraph.stories.tsx +27 -0
  290. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  291. package/password-input/PasswordInput.accessibility.test.js +153 -0
  292. package/password-input/PasswordInput.js +58 -124
  293. package/password-input/PasswordInput.stories.tsx +1 -33
  294. package/password-input/PasswordInput.test.d.ts +1 -0
  295. package/password-input/PasswordInput.test.js +159 -142
  296. package/password-input/types.d.ts +9 -8
  297. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  298. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  299. package/progress-bar/ProgressBar.js +68 -92
  300. package/progress-bar/ProgressBar.stories.tsx +93 -0
  301. package/progress-bar/ProgressBar.test.d.ts +1 -0
  302. package/progress-bar/ProgressBar.test.js +71 -43
  303. package/progress-bar/types.d.ts +3 -3
  304. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  305. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  306. package/quick-nav/QuickNav.js +71 -43
  307. package/quick-nav/QuickNav.stories.tsx +146 -27
  308. package/quick-nav/types.d.ts +10 -10
  309. package/radio-group/Radio.d.ts +1 -1
  310. package/radio-group/Radio.js +59 -79
  311. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  312. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  313. package/radio-group/RadioGroup.js +74 -121
  314. package/radio-group/RadioGroup.stories.tsx +132 -18
  315. package/radio-group/RadioGroup.test.d.ts +1 -0
  316. package/radio-group/RadioGroup.test.js +518 -459
  317. package/radio-group/types.d.ts +10 -10
  318. package/resultset-table/Icons.d.ts +7 -0
  319. package/resultset-table/Icons.js +47 -0
  320. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  321. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  322. package/resultset-table/ResultsetTable.d.ts +7 -0
  323. package/resultset-table/ResultsetTable.js +171 -0
  324. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  325. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  326. package/resultset-table/ResultsetTable.test.js +380 -0
  327. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  328. package/resultset-table/types.js +5 -0
  329. package/select/Listbox.d.ts +4 -0
  330. package/select/Listbox.js +151 -0
  331. package/select/Option.js +35 -56
  332. package/select/Select.accessibility.test.d.ts +1 -0
  333. package/select/Select.accessibility.test.js +228 -0
  334. package/select/Select.js +210 -342
  335. package/select/Select.stories.tsx +524 -187
  336. package/select/Select.test.d.ts +1 -0
  337. package/select/Select.test.js +1955 -1744
  338. package/select/types.d.ts +33 -18
  339. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  340. package/sidenav/Sidenav.accessibility.test.js +59 -0
  341. package/sidenav/Sidenav.d.ts +6 -5
  342. package/sidenav/Sidenav.js +136 -71
  343. package/sidenav/Sidenav.stories.tsx +246 -151
  344. package/sidenav/Sidenav.test.d.ts +1 -0
  345. package/sidenav/Sidenav.test.js +25 -44
  346. package/sidenav/SidenavContext.d.ts +5 -0
  347. package/sidenav/SidenavContext.js +13 -0
  348. package/sidenav/types.d.ts +52 -26
  349. package/slider/Slider.accessibility.test.d.ts +1 -0
  350. package/slider/Slider.accessibility.test.js +104 -0
  351. package/slider/Slider.d.ts +2 -2
  352. package/slider/Slider.js +146 -181
  353. package/slider/Slider.stories.tsx +64 -61
  354. package/slider/Slider.test.d.ts +1 -0
  355. package/slider/Slider.test.js +195 -88
  356. package/slider/types.d.ts +7 -3
  357. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  358. package/spinner/Spinner.accessibility.test.js +96 -0
  359. package/spinner/Spinner.js +34 -74
  360. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  361. package/spinner/Spinner.test.d.ts +1 -0
  362. package/spinner/Spinner.test.js +25 -34
  363. package/spinner/types.d.ts +3 -3
  364. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  365. package/status-light/StatusLight.accessibility.test.js +157 -0
  366. package/status-light/StatusLight.d.ts +4 -0
  367. package/status-light/StatusLight.js +51 -0
  368. package/status-light/StatusLight.stories.tsx +74 -0
  369. package/status-light/StatusLight.test.d.ts +1 -0
  370. package/status-light/StatusLight.test.js +25 -0
  371. package/status-light/types.d.ts +17 -0
  372. package/status-light/types.js +5 -0
  373. package/switch/Switch.accessibility.test.d.ts +1 -0
  374. package/switch/Switch.accessibility.test.js +98 -0
  375. package/switch/Switch.d.ts +2 -2
  376. package/switch/Switch.js +143 -124
  377. package/switch/Switch.stories.tsx +53 -64
  378. package/switch/Switch.test.d.ts +1 -0
  379. package/switch/Switch.test.js +137 -55
  380. package/switch/types.d.ts +9 -5
  381. package/table/DropdownTheme.js +62 -0
  382. package/table/Table.accessibility.test.d.ts +1 -0
  383. package/table/Table.accessibility.test.js +93 -0
  384. package/table/Table.d.ts +6 -2
  385. package/table/Table.js +78 -35
  386. package/table/Table.stories.tsx +663 -0
  387. package/table/Table.test.d.ts +1 -0
  388. package/table/Table.test.js +93 -7
  389. package/table/types.d.ts +34 -6
  390. package/tabs/Tab.d.ts +4 -0
  391. package/tabs/Tab.js +117 -0
  392. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  393. package/tabs/Tabs.accessibility.test.js +56 -0
  394. package/tabs/Tabs.js +303 -141
  395. package/tabs/Tabs.stories.tsx +124 -12
  396. package/tabs/Tabs.test.d.ts +1 -0
  397. package/tabs/Tabs.test.js +212 -76
  398. package/tabs/types.d.ts +30 -20
  399. package/tag/Tag.accessibility.test.d.ts +1 -0
  400. package/tag/Tag.accessibility.test.js +69 -0
  401. package/tag/Tag.js +38 -73
  402. package/tag/Tag.stories.tsx +18 -8
  403. package/tag/Tag.test.d.ts +1 -0
  404. package/tag/Tag.test.js +17 -36
  405. package/tag/types.d.ts +9 -9
  406. package/text-input/Suggestion.d.ts +4 -0
  407. package/text-input/Suggestion.js +67 -0
  408. package/text-input/Suggestions.d.ts +4 -0
  409. package/text-input/Suggestions.js +94 -0
  410. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  411. package/text-input/TextInput.accessibility.test.js +321 -0
  412. package/text-input/TextInput.js +326 -553
  413. package/text-input/TextInput.stories.tsx +276 -276
  414. package/text-input/TextInput.test.d.ts +1 -0
  415. package/text-input/TextInput.test.js +1419 -1375
  416. package/text-input/types.d.ts +53 -14
  417. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  418. package/textarea/Textarea.accessibility.test.js +155 -0
  419. package/textarea/Textarea.js +79 -133
  420. package/textarea/Textarea.stories.tsx +174 -0
  421. package/textarea/Textarea.test.d.ts +1 -0
  422. package/textarea/Textarea.test.js +151 -182
  423. package/textarea/types.d.ts +10 -6
  424. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  425. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  426. package/toggle-group/ToggleGroup.d.ts +2 -2
  427. package/toggle-group/ToggleGroup.js +92 -108
  428. package/toggle-group/ToggleGroup.stories.tsx +52 -7
  429. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  430. package/toggle-group/ToggleGroup.test.js +68 -87
  431. package/toggle-group/types.d.ts +28 -19
  432. package/typography/Typography.accessibility.test.d.ts +1 -0
  433. package/typography/Typography.accessibility.test.js +339 -0
  434. package/typography/Typography.d.ts +4 -0
  435. package/typography/Typography.js +23 -0
  436. package/typography/Typography.stories.tsx +198 -0
  437. package/typography/types.d.ts +18 -0
  438. package/typography/types.js +5 -0
  439. package/useTheme.d.ts +1141 -1
  440. package/useTheme.js +4 -11
  441. package/useTranslatedLabels.d.ts +85 -0
  442. package/useTranslatedLabels.js +14 -0
  443. package/utils/BaseTypography.d.ts +21 -0
  444. package/utils/BaseTypography.js +94 -0
  445. package/utils/FocusLock.d.ts +13 -0
  446. package/utils/FocusLock.js +124 -0
  447. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  448. package/wizard/Wizard.accessibility.test.js +55 -0
  449. package/wizard/Wizard.js +66 -113
  450. package/wizard/Wizard.stories.tsx +59 -1
  451. package/wizard/Wizard.test.d.ts +1 -0
  452. package/wizard/Wizard.test.js +53 -80
  453. package/wizard/types.d.ts +9 -9
  454. package/ThemeContext.d.ts +0 -10
  455. package/ThemeContext.js +0 -243
  456. package/card/ice-cream.jpg +0 -0
  457. package/common/OpenSans.css +0 -81
  458. package/common/RequiredComponent.js +0 -32
  459. package/common/fonts/OpenSans-Bold.ttf +0 -0
  460. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  461. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  462. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  463. package/common/fonts/OpenSans-Italic.ttf +0 -0
  464. package/common/fonts/OpenSans-Light.ttf +0 -0
  465. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  466. package/common/fonts/OpenSans-Regular.ttf +0 -0
  467. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  468. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  469. package/list/List.d.ts +0 -4
  470. package/list/List.js +0 -47
  471. package/list/List.stories.tsx +0 -95
  472. package/list/types.d.ts +0 -7
  473. package/number-input/numberInputContextTypes.d.ts +0 -19
  474. package/paginator/Icons.js +0 -66
  475. package/progress-bar/ProgressBar.stories.jsx +0 -58
  476. package/radio/Radio.d.ts +0 -4
  477. package/radio/Radio.js +0 -174
  478. package/radio/Radio.stories.tsx +0 -192
  479. package/radio/Radio.test.js +0 -71
  480. package/radio/types.d.ts +0 -54
  481. package/resultsetTable/ResultsetTable.d.ts +0 -4
  482. package/resultsetTable/ResultsetTable.js +0 -254
  483. package/resultsetTable/ResultsetTable.test.js +0 -306
  484. package/row/Row.d.ts +0 -3
  485. package/row/Row.js +0 -127
  486. package/row/Row.stories.tsx +0 -237
  487. package/row/types.d.ts +0 -28
  488. package/select/Icons.d.ts +0 -10
  489. package/select/Icons.js +0 -93
  490. package/stack/Stack.d.ts +0 -3
  491. package/stack/Stack.js +0 -97
  492. package/stack/Stack.stories.tsx +0 -164
  493. package/stack/types.d.ts +0 -24
  494. package/table/Table.stories.jsx +0 -277
  495. package/text/Text.d.ts +0 -7
  496. package/text/Text.js +0 -30
  497. package/text/Text.stories.tsx +0 -19
  498. package/textarea/Textarea.stories.jsx +0 -157
  499. /package/{list → action-icon}/types.js +0 -0
  500. /package/{radio → breadcrumbs}/types.js +0 -0
  501. /package/{resultsetTable → bulleted-list}/types.js +0 -0
  502. /package/{row → container}/types.js +0 -0
  503. /package/{stack → contextual-menu}/types.js +0 -0
  504. /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
package/select/Select.js CHANGED
@@ -1,65 +1,45 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
-
18
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
13
  var _react = _interopRequireWildcard(require("react"));
21
-
22
14
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
- var _variables = require("../common/variables.js");
27
-
28
- var _uuid = require("uuid");
29
-
30
- var _utils = require("../common/utils.js");
31
-
32
- var _Option = _interopRequireDefault(require("../select/Option"));
33
-
34
- var _Icons = _interopRequireDefault(require("./Icons"));
35
-
36
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22;
37
-
38
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
-
40
- 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; }
41
-
42
- var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
43
- return "This field is required. Please, enter a value.";
16
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
17
+ var _variables = require("../common/variables");
18
+ var _utils = require("../common/utils");
19
+ var _Listbox = _interopRequireDefault(require("./Listbox"));
20
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
21
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
22
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
23
+ 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); }
24
+ 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 && {}.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; }
25
+ var isOptionGroup = function isOptionGroup(option) {
26
+ return "options" in option && option.options != null;
44
27
  };
45
-
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;
28
+ var isArrayOfOptionGroups = function isArrayOfOptionGroups(options) {
29
+ return isOptionGroup(options[0]);
50
30
  };
51
-
52
- var filteredGroupsHaveOptions = function filteredGroupsHaveOptions(filteredOptions) {
53
- return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
31
+ var groupsHaveOptions = function groupsHaveOptions(filteredOptions) {
32
+ return isArrayOfOptionGroups(filteredOptions) ? filteredOptions.some(function (groupOption) {
54
33
  var _groupOption$options;
55
-
56
34
  return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
57
35
  }) : true;
58
36
  };
59
-
37
+ var canOpenOptions = function canOpenOptions(options, disabled) {
38
+ return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
39
+ };
60
40
  var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
61
41
  if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
62
- if (options[0].options) return options.map(function (optionGroup) {
42
+ if (isArrayOfOptionGroups(options)) return options.map(function (optionGroup) {
63
43
  var group = {
64
44
  label: optionGroup.label,
65
45
  options: optionGroup.options.filter(function (option) {
@@ -72,32 +52,24 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
72
52
  });
73
53
  }
74
54
  };
75
-
76
55
  var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
77
56
  var last = 0;
78
-
79
57
  var reducer = function reducer(acc, current) {
80
58
  var _current$options;
81
-
82
59
  return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
83
60
  };
84
-
85
- 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;
61
+ 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;
86
62
  return optional && !multiple ? last + 1 : last;
87
63
  };
88
-
89
64
  var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
90
65
  var selectedOption = multiple ? [] : {};
91
66
  var singleSelectionIndex;
92
-
93
67
  if (multiple) {
94
68
  if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
95
69
  options.forEach(function (option) {
96
- if (option.options) {
97
- option.options.forEach(function (singleOption) {
98
- if (value.includes(singleOption.value)) selectedOption.push(singleOption);
99
- });
100
- } else if (value.includes(option.value)) selectedOption.push(option);
70
+ if (isOptionGroup(option)) option.options.forEach(function (singleOption) {
71
+ if (value.includes(singleOption.value) && Array.isArray(selectedOption)) selectedOption.push(singleOption);
72
+ });else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
101
73
  });
102
74
  }
103
75
  } else {
@@ -107,14 +79,13 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
107
79
  } else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
108
80
  var group_index = 0;
109
81
  options.some(function (option, index) {
110
- if (option.options) {
82
+ if (isOptionGroup(option)) {
111
83
  option.options.some(function (singleOption) {
112
84
  if (singleOption.value === value) {
113
85
  selectedOption = singleOption;
114
86
  singleSelectionIndex = optional ? group_index + 1 : group_index;
115
87
  return true;
116
88
  }
117
-
118
89
  group_index++;
119
90
  });
120
91
  } else if (option.value === value) {
@@ -125,74 +96,94 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
125
96
  });
126
97
  }
127
98
  }
128
-
129
99
  return {
130
100
  selectedOption: selectedOption,
131
101
  singleSelectionIndex: singleSelectionIndex
132
102
  };
133
103
  };
134
-
135
- var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
104
+ var getSelectedOptionLabel = function getSelectedOptionLabel(placeholder, selectedOption) {
136
105
  var _selectedOption$label;
137
-
106
+ if (Array.isArray(selectedOption)) return selectedOption.length === 0 ? placeholder : selectedOption.map(function (option) {
107
+ return option.label;
108
+ }).join(", ");else return (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder;
109
+ };
110
+ var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
111
+ return !optional && (multiple ? value.length === 0 : value === "");
112
+ };
113
+ var useWidth = function useWidth(target) {
114
+ var _useState = (0, _react.useState)(0),
115
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
116
+ width = _useState2[0],
117
+ setWidth = _useState2[1];
118
+ (0, _react.useEffect)(function () {
119
+ if (target != null) {
120
+ setWidth(target.getBoundingClientRect().width);
121
+ var triggerObserver = new ResizeObserver(function (entries) {
122
+ var rect = entries[0].target.getBoundingClientRect();
123
+ setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
124
+ });
125
+ triggerObserver.observe(target);
126
+ return function () {
127
+ triggerObserver.unobserve(target);
128
+ };
129
+ }
130
+ }, [target]);
131
+ return width;
132
+ };
133
+ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
134
+ var _ref4;
138
135
  var label = _ref.label,
139
- _ref$name = _ref.name,
140
- name = _ref$name === void 0 ? "" : _ref$name,
141
- defaultValue = _ref.defaultValue,
142
- value = _ref.value,
143
- options = _ref.options,
144
- helperText = _ref.helperText,
145
- _ref$placeholder = _ref.placeholder,
146
- placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
147
- _ref$disabled = _ref.disabled,
148
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
149
- _ref$optional = _ref.optional,
150
- optional = _ref$optional === void 0 ? false : _ref$optional,
151
- _ref$searchable = _ref.searchable,
152
- searchable = _ref$searchable === void 0 ? false : _ref$searchable,
153
- _ref$multiple = _ref.multiple,
154
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
155
- onChange = _ref.onChange,
156
- onBlur = _ref.onBlur,
157
- error = _ref.error,
158
- margin = _ref.margin,
159
- _ref$size = _ref.size,
160
- size = _ref$size === void 0 ? "medium" : _ref$size,
161
- _ref$tabIndex = _ref.tabIndex,
162
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
163
-
164
- var _useState = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
165
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
166
- selectId = _useState2[0];
167
-
136
+ _ref$name = _ref.name,
137
+ name = _ref$name === void 0 ? "" : _ref$name,
138
+ defaultValue = _ref.defaultValue,
139
+ value = _ref.value,
140
+ options = _ref.options,
141
+ helperText = _ref.helperText,
142
+ _ref$placeholder = _ref.placeholder,
143
+ placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
144
+ _ref$disabled = _ref.disabled,
145
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
146
+ _ref$optional = _ref.optional,
147
+ optional = _ref$optional === void 0 ? false : _ref$optional,
148
+ _ref$searchable = _ref.searchable,
149
+ searchable = _ref$searchable === void 0 ? false : _ref$searchable,
150
+ _ref$multiple = _ref.multiple,
151
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
152
+ onChange = _ref.onChange,
153
+ onBlur = _ref.onBlur,
154
+ error = _ref.error,
155
+ margin = _ref.margin,
156
+ _ref$size = _ref.size,
157
+ size = _ref$size === void 0 ? "medium" : _ref$size,
158
+ _ref$tabIndex = _ref.tabIndex,
159
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
160
+ var selectId = "select-".concat((0, _react.useId)());
168
161
  var selectLabelId = "label-".concat(selectId);
162
+ var searchableInputId = "searchable-input-".concat(selectId);
169
163
  var errorId = "error-".concat(selectId);
170
164
  var optionsListId = "".concat(selectId, "-listbox");
171
-
172
165
  var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
173
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
174
- innerValue = _useState4[0],
175
- setInnerValue = _useState4[1];
176
-
166
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
167
+ innerValue = _useState4[0],
168
+ setInnerValue = _useState4[1];
177
169
  var _useState5 = (0, _react.useState)(""),
178
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
179
- searchValue = _useState6[0],
180
- setSearchValue = _useState6[1];
181
-
170
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
171
+ searchValue = _useState6[0],
172
+ setSearchValue = _useState6[1];
182
173
  var _useState7 = (0, _react.useState)(-1),
183
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
184
- visualFocusIndex = _useState8[0],
185
- changeVisualFocusIndex = _useState8[1];
186
-
174
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
175
+ visualFocusIndex = _useState8[0],
176
+ changeVisualFocusIndex = _useState8[1];
187
177
  var _useState9 = (0, _react.useState)(false),
188
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
189
- isOpen = _useState10[0],
190
- changeIsOpen = _useState10[1];
191
-
192
- var selectContainerRef = (0, _react.useRef)(null);
178
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
179
+ isOpen = _useState10[0],
180
+ changeIsOpen = _useState10[1];
181
+ var selectRef = (0, _react.useRef)(null);
193
182
  var selectSearchInputRef = (0, _react.useRef)(null);
194
- var selectOptionsListRef = (0, _react.useRef)(null);
183
+ var selectedOptionLabelRef = (0, _react.useRef)(null);
184
+ var width = useWidth(selectRef.current);
195
185
  var colorsTheme = (0, _useTheme["default"])();
186
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
196
187
  var optionalItem = {
197
188
  label: placeholder,
198
189
  value: ""
@@ -202,123 +193,92 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
202
193
  }, [options, searchValue]);
203
194
  var lastOptionIndex = (0, _react.useMemo)(function () {
204
195
  return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
205
- }, [options, filteredOptions, searchable, optional, multiple, filteredOptions]);
206
-
196
+ }, [options, filteredOptions, searchable, optional, multiple]);
207
197
  var _useMemo = (0, _react.useMemo)(function () {
208
- return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
209
- }, [value, innerValue, options, multiple, optional, optionalItem]),
210
- selectedOption = _useMemo.selectedOption,
211
- singleSelectionIndex = _useMemo.singleSelectionIndex;
212
-
213
- var notOptionalCheck = function notOptionalCheck(value) {
214
- return !optional && value === "";
215
- };
216
-
217
- var notOptionalMultipleCheck = function notOptionalMultipleCheck(value) {
218
- return !optional && value.length === 0;
219
- };
220
-
221
- var canBeOpenOptions = function canBeOpenOptions() {
222
- return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
223
- };
224
-
198
+ return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
199
+ }, [value, innerValue, options, multiple, optional, optionalItem]),
200
+ selectedOption = _useMemo.selectedOption,
201
+ singleSelectionIndex = _useMemo.singleSelectionIndex;
225
202
  var openOptions = function openOptions() {
226
- if (!isOpen && canBeOpenOptions()) changeIsOpen(true);
203
+ if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
227
204
  };
228
-
229
205
  var closeOptions = function closeOptions() {
230
206
  if (isOpen) {
231
207
  changeIsOpen(false);
232
208
  changeVisualFocusIndex(-1);
233
209
  }
234
210
  };
235
-
236
211
  var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
212
+ var newValue;
237
213
  if (multiple) {
238
- var res = [];
239
- if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) res = (value !== null && value !== void 0 ? value : innerValue).filter(function (optionVal) {
214
+ var _ref2, _ref3;
215
+ 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) {
240
216
  return optionVal !== newOption.value;
241
- });else res = [].concat((0, _toConsumableArray2["default"])(value !== null && value !== void 0 ? value : innerValue), [newOption.value]);
242
- value !== null && value !== void 0 ? value : setInnerValue(res);
243
- if (notOptionalMultipleCheck(res)) onChange === null || onChange === void 0 ? void 0 : onChange({
244
- value: res,
245
- error: getNotOptionalErrorMessage()
246
- });else onChange === null || onChange === void 0 ? void 0 : onChange({
247
- value: res
248
- });
249
- } else {
250
- value !== null && value !== void 0 ? value : setInnerValue(newOption.value);
251
- if (notOptionalCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
252
- value: newOption.value,
253
- error: getNotOptionalErrorMessage()
254
- });else onChange === null || onChange === void 0 ? void 0 : onChange({
255
- value: newOption.value
256
- });
257
- }
217
+ });else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
218
+ } else newValue = newOption.value;
219
+ value !== null && value !== void 0 ? value : setInnerValue(newValue);
220
+ notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
221
+ value: newValue,
222
+ error: translatedLabels.formFields.requiredValueErrorMessage
223
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
224
+ value: newValue
225
+ });
258
226
  };
259
-
260
227
  var handleSelectOnClick = function handleSelectOnClick() {
261
228
  searchable && selectSearchInputRef.current.focus();
262
-
263
229
  if (isOpen) {
264
230
  closeOptions();
265
231
  setSearchValue("");
266
232
  } else openOptions();
267
233
  };
268
-
269
234
  var handleSelectOnFocus = function handleSelectOnFocus(event) {
270
235
  if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
271
236
  };
272
-
273
237
  var handleSelectOnBlur = function handleSelectOnBlur(event) {
274
- // focus leaves container (outside, not to childs)
238
+ // focus leaves container (outside, not to a child)
275
239
  if (!event.currentTarget.contains(event.relatedTarget)) {
276
240
  closeOptions();
277
241
  setSearchValue("");
278
- if (notOptionalCheck(value !== null && value !== void 0 ? value : innerValue)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
279
- value: value !== null && value !== void 0 ? value : innerValue,
280
- error: getNotOptionalErrorMessage()
281
- });else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
282
- value: value !== null && value !== void 0 ? value : innerValue
242
+ var currentValue = value !== null && value !== void 0 ? value : innerValue;
243
+ notOptionalCheck(currentValue, multiple, optional) ? onBlur === null || onBlur === void 0 ? void 0 : onBlur({
244
+ value: currentValue,
245
+ error: translatedLabels.formFields.requiredValueErrorMessage
246
+ }) : onBlur === null || onBlur === void 0 ? void 0 : onBlur({
247
+ value: currentValue
283
248
  });
284
249
  }
285
250
  };
286
-
287
251
  var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
288
- switch (event.keyCode) {
289
- case 40:
290
- // Arrow Down
252
+ switch (event.key) {
253
+ case "Down":
254
+ case "ArrowDown":
291
255
  event.preventDefault();
292
256
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
293
257
  if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
294
258
  });
295
259
  openOptions();
296
260
  break;
297
-
298
- case 38:
299
- // Arrow Up
261
+ case "Up":
262
+ case "ArrowUp":
300
263
  event.preventDefault();
301
264
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
302
265
  return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
303
266
  });
304
267
  openOptions();
305
268
  break;
306
-
307
- case 27:
308
- // Esc
269
+ case "Esc":
270
+ case "Escape":
309
271
  event.preventDefault();
272
+ isOpen && event.stopPropagation();
310
273
  closeOptions();
311
274
  setSearchValue("");
312
275
  break;
313
-
314
- case 13:
315
- // Enter
276
+ case "Enter":
316
277
  if (isOpen && visualFocusIndex >= 0) {
317
278
  var accLength = optional && !multiple ? 1 : 0;
318
-
319
279
  if (searchable) {
320
280
  if (filteredOptions.length > 0) {
321
- if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else filteredOptions[0].options ? filteredGroupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
281
+ if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
322
282
  var groupLength = accLength + groupOption.options.length;
323
283
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
324
284
  accLength = groupLength;
@@ -326,109 +286,48 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
326
286
  }) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
327
287
  }
328
288
  } else {
329
- if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options[0].options ? options.some(function (groupOption) {
289
+ if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
330
290
  var groupLength = accLength + groupOption.options.length;
331
291
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
332
292
  accLength = groupLength;
333
293
  return groupLength > visualFocusIndex;
334
294
  }) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
335
295
  }
336
-
337
296
  !multiple && closeOptions();
338
297
  setSearchValue("");
339
298
  }
340
-
341
299
  break;
342
300
  }
343
301
  };
344
-
345
302
  var handleSearchIOnChange = function handleSearchIOnChange(event) {
346
303
  setSearchValue(event.target.value);
347
304
  changeVisualFocusIndex(-1);
348
305
  openOptions();
349
306
  };
350
-
351
307
  var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
352
308
  event.stopPropagation();
353
309
  value !== null && value !== void 0 ? value : setInnerValue([]);
354
310
  !optional ? onChange === null || onChange === void 0 ? void 0 : onChange({
355
311
  value: [],
356
- error: getNotOptionalErrorMessage()
312
+ error: translatedLabels.formFields.requiredValueErrorMessage
357
313
  }) : onChange === null || onChange === void 0 ? void 0 : onChange({
358
314
  value: []
359
315
  });
360
316
  };
361
-
362
317
  var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
363
318
  event.stopPropagation();
364
319
  setSearchValue("");
365
320
  };
366
-
367
321
  var handleOptionOnClick = (0, _react.useCallback)(function (option) {
368
322
  handleSelectChangeValue(option);
369
323
  !multiple && closeOptions();
370
324
  setSearchValue("");
371
325
  }, [handleSelectChangeValue, closeOptions, multiple]);
372
- (0, _react.useLayoutEffect)(function () {
373
- if (isOpen && singleSelectionIndex) {
374
- var _listEl$scrollTo;
375
-
376
- var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
377
- var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
378
- listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
379
- top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
380
- });
381
- }
382
- }, [isOpen]);
383
- (0, _react.useLayoutEffect)(function () {
384
- var _selectOptionsListRef, _visualFocusedOptionE;
385
-
386
- var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
387
- visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
388
- block: "nearest",
389
- inline: "start"
390
- });
391
- }, [visualFocusIndex]);
392
- var globalIndex = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
393
-
394
- var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
395
- if (option.options) {
396
- var groupId = "group-".concat(mapIndex);
397
- return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(GroupList, {
398
- role: "group",
399
- "aria-labelledby": groupId
400
- }, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
401
- role: "presentation",
402
- id: groupId
403
- }, option.label), option.options.map(function (singleOption) {
404
- globalIndex++;
405
- return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
406
- id: "option-".concat(globalIndex),
407
- option: singleOption,
408
- onClick: handleOptionOnClick,
409
- multiple: multiple,
410
- visualFocused: visualFocusIndex === globalIndex,
411
- isGroupedOption: true,
412
- isLastOption: lastOptionIndex === globalIndex,
413
- isSelected: multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(singleOption.value) : (value !== null && value !== void 0 ? value : innerValue) === singleOption.value
414
- });
415
- })));
416
- } else {
417
- globalIndex++;
418
- return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
419
- key: "option-".concat(option.value),
420
- id: "option-".concat(globalIndex),
421
- option: option,
422
- onClick: handleOptionOnClick,
423
- multiple: multiple,
424
- visualFocused: visualFocusIndex === globalIndex,
425
- isGroupedOption: false,
426
- isLastOption: lastOptionIndex === globalIndex,
427
- isSelected: multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(option.value) : (value !== null && value !== void 0 ? value : innerValue) === option.value
428
- });
326
+ (0, _react.useEffect)(function () {
327
+ if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current) != null) {
328
+ if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.scrollWidth) > (selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.clientWidth)) selectedOptionLabelRef.current.title = getSelectedOptionLabel(placeholder, selectedOption);else selectedOptionLabelRef.current.title = "";
429
329
  }
430
- };
431
-
330
+ }, [placeholder, selectedOption]);
432
331
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
433
332
  theme: colorsTheme.select
434
333
  }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
@@ -439,12 +338,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
439
338
  id: selectLabelId,
440
339
  disabled: disabled,
441
340
  onClick: function onClick() {
442
- selectContainerRef.current.focus();
341
+ selectRef.current.focus();
443
342
  },
444
- helperText: helperText
445
- }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, "(Optional)")), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
343
+ helperText: helperText,
344
+ htmlFor: searchable ? searchableInputId : undefined
345
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
446
346
  disabled: disabled
447
- }, helperText), /*#__PURE__*/_react["default"].createElement(Select, {
347
+ }, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
348
+ open: isOpen
349
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
350
+ asChild: true,
351
+ type: undefined
352
+ }, /*#__PURE__*/_react["default"].createElement(Select, {
448
353
  id: selectId,
449
354
  disabled: disabled,
450
355
  error: error,
@@ -452,19 +357,19 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
452
357
  onClick: handleSelectOnClick,
453
358
  onFocus: handleSelectOnFocus,
454
359
  onKeyDown: handleSelectOnKeyDown,
455
- ref: selectContainerRef,
456
- tabIndex: tabIndex,
360
+ ref: selectRef,
361
+ tabIndex: disabled ? -1 : tabIndex,
457
362
  role: "combobox",
458
363
  "aria-controls": optionsListId,
459
364
  "aria-disabled": disabled,
460
365
  "aria-expanded": isOpen,
461
366
  "aria-haspopup": "listbox",
462
- "aria-labelledby": selectLabelId,
367
+ "aria-labelledby": label ? selectLabelId : undefined,
463
368
  "aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
464
- "aria-invalid": error ? "true" : "false",
369
+ "aria-invalid": error ? true : false,
465
370
  "aria-errormessage": error ? errorId : undefined,
466
371
  "aria-required": !disabled && !optional
467
- }, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
372
+ }, multiple && Array.isArray(selectedOption) && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
468
373
  disabled: disabled
469
374
  }, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
470
375
  disabled: disabled,
@@ -474,78 +379,89 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
474
379
  },
475
380
  onClick: handleClearOptionsActionOnClick,
476
381
  tabIndex: -1,
477
- title: "Clear selection",
478
- "aria-label": "Clear selection"
479
- }, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
382
+ title: translatedLabels.select.actionClearSelectionTitle,
383
+ "aria-label": translatedLabels.select.actionClearSelectionTitle
384
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
385
+ icon: "clear"
386
+ }))), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
480
387
  name: name,
481
- value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
388
+ disabled: disabled,
389
+ 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,
482
390
  readOnly: true,
483
391
  "aria-hidden": "true"
484
392
  }), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
393
+ id: searchableInputId,
485
394
  value: searchValue,
486
395
  disabled: disabled,
487
396
  onChange: handleSearchIOnChange,
488
397
  ref: selectSearchInputRef,
489
398
  autoComplete: "nope",
490
399
  autoCorrect: "nope",
491
- size: "1"
492
- }), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
493
- disabled: disabled,
494
- atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
495
- }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, selectedOption.map(function (option) {
496
- return option.label;
497
- }).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
400
+ size: 1
401
+ }), (!searchable || searchValue === "") && /*#__PURE__*/_react["default"].createElement(SelectedOption, {
498
402
  disabled: disabled,
499
- atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
500
- }, /*#__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, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
403
+ atBackground: (multiple ? (value !== null && value !== void 0 ? value : innerValue).length === 0 : !(value !== null && value !== void 0 ? value : innerValue)) || searchable && isOpen
404
+ }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, {
405
+ ref: selectedOptionLabelRef
406
+ }, getSelectedOptionLabel(placeholder, selectedOption)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
407
+ icon: "filled_error"
408
+ })), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
501
409
  onMouseDown: function onMouseDown(event) {
502
410
  // Avoid input to lose focus
503
411
  event.preventDefault();
504
412
  },
505
413
  onClick: handleClearSearchActionOnClick,
506
414
  tabIndex: -1,
507
- title: "Clear search",
508
- "aria-label": "Clear search"
509
- }, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
415
+ title: translatedLabels.select.actionClearSearchTitle,
416
+ "aria-label": translatedLabels.select.actionClearSearchTitle
417
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
418
+ icon: "clear"
419
+ })), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
510
420
  disabled: disabled
511
- }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown), isOpen && /*#__PURE__*/_react["default"].createElement(OptionsList, {
512
- id: optionsListId,
513
- onClick: function onClick(event) {
514
- event.stopPropagation();
421
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
422
+ icon: isOpen ? "keyboard_arrow_up" : "keyboard_arrow_down"
423
+ })))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
424
+ sideOffset: 4,
425
+ style: {
426
+ zIndex: "2147483647"
515
427
  },
516
- onMouseDown: function onMouseDown(event) {
428
+ onOpenAutoFocus: function onOpenAutoFocus(event) {
429
+ // Avoid select to lose focus when the list is opened
517
430
  event.preventDefault();
518
431
  },
519
- ref: selectOptionsListRef,
520
- role: "listbox",
521
- "aria-multiselectable": multiple,
522
- "aria-orientation": "vertical"
523
- }, searchable && (filteredOptions.length === 0 || !filteredGroupsHaveOptions(filteredOptions)) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, _Icons["default"].searchOff), "No matches found") : optional && !multiple && /*#__PURE__*/_react["default"].createElement(_Option["default"], {
524
- id: "option-".concat(0),
525
- option: optionalItem,
526
- onClick: handleOptionOnClick,
432
+ onCloseAutoFocus: function onCloseAutoFocus(event) {
433
+ // Avoid select to lose focus when the list is closed
434
+ event.preventDefault();
435
+ }
436
+ }, /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
437
+ id: optionsListId,
438
+ currentValue: value !== null && value !== void 0 ? value : innerValue,
439
+ options: searchable ? filteredOptions : options,
440
+ visualFocusIndex: visualFocusIndex,
441
+ lastOptionIndex: lastOptionIndex,
527
442
  multiple: multiple,
528
- visualFocused: visualFocusIndex === 0,
529
- isGroupedOption: false,
530
- isLastOption: lastOptionIndex === 0,
531
- isSelected: multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(optionalItem.value) : (value !== null && value !== void 0 ? value : innerValue) === optionalItem.value
532
- }), searchable ? filteredOptions.map(mapOptionFunc) : options.map(mapOptionFunc))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
443
+ optional: optional,
444
+ optionalItem: optionalItem,
445
+ searchable: searchable,
446
+ handleOptionOnClick: handleOptionOnClick,
447
+ styles: {
448
+ width: width
449
+ }
450
+ })))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
533
451
  id: errorId,
452
+ role: "alert",
534
453
  "aria-live": error ? "assertive" : "off"
535
454
  }, error)));
536
455
  });
537
-
538
456
  var sizes = {
539
457
  small: "240px",
540
458
  medium: "360px",
541
459
  large: "480px",
542
460
  fillParent: "100%"
543
461
  };
544
-
545
462
  var calculateWidth = function calculateWidth(margin, size) {
546
463
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
547
464
  };
548
-
549
465
  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) {
550
466
  return calculateWidth(props.margin, props.size);
551
467
  }, function (props) {
@@ -559,8 +475,7 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
559
475
  }, function (props) {
560
476
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
561
477
  });
562
-
563
- 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) {
478
+ var Label = _styledComponents["default"].label(_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) {
564
479
  return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
565
480
  }, function (props) {
566
481
  return props.theme.fontFamily;
@@ -575,11 +490,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
575
490
  }, function (props) {
576
491
  return !props.helperText && "margin-bottom: 0.25rem";
577
492
  });
578
-
579
493
  var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
580
494
  return props.theme.optionalLabelFontWeight;
581
495
  });
582
-
583
496
  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) {
584
497
  return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
585
498
  }, function (props) {
@@ -593,7 +506,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
593
506
  }, function (props) {
594
507
  return props.theme.helperTextLineHeight;
595
508
  });
596
-
597
509
  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) {
598
510
  return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
599
511
  }, function (props) {
@@ -605,11 +517,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
605
517
  }, function (props) {
606
518
  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 ");
607
519
  });
608
-
609
520
  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) {
610
521
  return props.theme.selectionIndicatorBorderColor;
611
522
  });
612
-
613
523
  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) {
614
524
  return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
615
525
  }, function (props) {
@@ -627,10 +537,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
627
537
  }, function (props) {
628
538
  return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
629
539
  });
630
-
631
- 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) {
632
- return props.theme.fontFamily;
633
- }, function (props) {
540
+ 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 font-size:16px;\n"])), function (props) {
634
541
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
635
542
  }, function (props) {
636
543
  return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
@@ -639,9 +546,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
639
546
  }, function (props) {
640
547
  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 ");
641
548
  });
642
-
643
549
  var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
644
-
645
550
  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) {
646
551
  if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
647
552
  }, function (props) {
@@ -653,10 +558,9 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
653
558
  }, function (props) {
654
559
  return props.theme.valueFontWeight;
655
560
  });
656
-
657
- var ValueInput = _styledComponents["default"].input(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
658
-
659
- 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) {
561
+ var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
562
+ var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
563
+ 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) {
660
564
  return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
661
565
  }, function (props) {
662
566
  return props.theme.fontFamily;
@@ -667,22 +571,18 @@ var SearchInput = _styledComponents["default"].input(_templateObject12 || (_temp
667
571
  }, function (props) {
668
572
  return props.theme.valueFontWeight;
669
573
  });
670
-
671
- 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) {
574
+ 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 font-size: 1.25rem;\n"])), function (props) {
672
575
  return props.theme.errorIconColor;
673
576
  });
674
-
675
- 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 line-height: 1.5em;\n margin-top: 0.25rem;\n"])), function (props) {
577
+ 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) {
676
578
  return props.theme.errorMessageColor;
677
579
  }, function (props) {
678
580
  return props.theme.fontFamily;
679
581
  });
680
-
681
- 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) {
582
+ 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) {
682
583
  return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
683
584
  });
684
-
685
- 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) {
585
+ 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 font-size: 16px;\n"])), function (props) {
686
586
  return props.theme.fontFamily;
687
587
  }, function (props) {
688
588
  return props.theme.actionBackgroundColor;
@@ -697,36 +597,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject16 ||
697
597
  }, function (props) {
698
598
  return props.theme.activeActionIconColor;
699
599
  });
700
-
701
- 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) {
702
- return props.theme.listDialogBackgroundColor;
703
- }, function (props) {
704
- return props.theme.listDialogBorderColor;
705
- }, function (props) {
706
- return props.theme.listOptionFontColor;
707
- }, function (props) {
708
- return props.theme.fontFamily;
709
- }, function (props) {
710
- return props.theme.listOptionFontSize;
711
- }, function (props) {
712
- return props.theme.listOptionFontStyle;
713
- }, function (props) {
714
- return props.theme.listOptionFontWeight;
715
- });
716
-
717
- 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) {
718
- return props.theme.systemMessageFontColor;
719
- });
720
-
721
- 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"])));
722
-
723
- var GroupList = _styledComponents["default"].ul(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
724
-
725
- 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) {
726
- return props.theme.listGroupLabelFontWeight;
727
- });
728
-
729
- var OptionLabel = _styledComponents["default"].span(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
730
-
731
- var _default = DxcSelect;
732
- exports["default"] = _default;
600
+ var _default = exports["default"] = DxcSelect;