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

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 (439) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/ThemeContext.d.ts +10 -0
  4. package/ThemeContext.js +243 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +226 -0
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +168 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  14. package/accordion-group/AccordionGroup.test.js +151 -0
  15. package/accordion-group/types.d.ts +72 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/{dist/alert → alert}/Alert.js +44 -157
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +59 -0
  25. package/badge/types.d.ts +4 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +84 -0
  29. package/bleed/Bleed.stories.tsx +342 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/{dist/box → box}/Box.js +15 -45
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +43 -0
  37. package/box/types.js +5 -0
  38. package/button/Button.d.ts +4 -0
  39. package/{dist/button → button}/Button.js +27 -94
  40. package/button/Button.stories.tsx +274 -0
  41. package/button/Button.test.js +35 -0
  42. package/button/types.d.ts +53 -0
  43. package/button/types.js +5 -0
  44. package/card/Card.d.ts +4 -0
  45. package/{dist/card → card}/Card.js +34 -124
  46. package/card/Card.stories.tsx +201 -0
  47. package/card/Card.test.js +50 -0
  48. package/card/ice-cream.jpg +0 -0
  49. package/card/types.d.ts +67 -0
  50. package/card/types.js +5 -0
  51. package/checkbox/Checkbox.d.ts +4 -0
  52. package/{dist/checkbox → checkbox}/Checkbox.js +24 -77
  53. package/checkbox/Checkbox.stories.tsx +192 -0
  54. package/checkbox/Checkbox.test.js +78 -0
  55. package/checkbox/types.d.ts +64 -0
  56. package/checkbox/types.js +5 -0
  57. package/chip/Chip.d.ts +4 -0
  58. package/chip/Chip.js +161 -0
  59. package/chip/Chip.stories.tsx +119 -0
  60. package/chip/Chip.test.js +56 -0
  61. package/chip/types.d.ts +45 -0
  62. package/chip/types.js +5 -0
  63. package/{dist/common → common}/OpenSans.css +0 -0
  64. package/{dist/common → common}/RequiredComponent.js +3 -11
  65. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  66. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  67. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  68. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  69. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  70. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  71. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  72. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  73. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  74. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  75. package/{dist/common → common}/utils.js +0 -0
  76. package/{dist/common → common}/variables.js +354 -349
  77. package/date-input/DateInput.d.ts +4 -0
  78. package/date-input/DateInput.js +369 -0
  79. package/date-input/DateInput.stories.tsx +138 -0
  80. package/date-input/DateInput.test.js +479 -0
  81. package/date-input/types.d.ts +107 -0
  82. package/date-input/types.js +5 -0
  83. package/dialog/Dialog.d.ts +4 -0
  84. package/dialog/Dialog.js +138 -0
  85. package/dialog/Dialog.stories.tsx +212 -0
  86. package/dialog/Dialog.test.js +40 -0
  87. package/dialog/types.d.ts +43 -0
  88. package/dialog/types.js +5 -0
  89. package/dropdown/Dropdown.d.ts +4 -0
  90. package/{dist/dropdown → dropdown}/Dropdown.js +48 -197
  91. package/dropdown/Dropdown.stories.tsx +249 -0
  92. package/dropdown/Dropdown.test.js +189 -0
  93. package/dropdown/types.d.ts +80 -0
  94. package/dropdown/types.js +5 -0
  95. package/file-input/FileInput.d.ts +4 -0
  96. package/file-input/FileInput.js +590 -0
  97. package/file-input/FileInput.stories.tsx +507 -0
  98. package/file-input/FileInput.test.js +457 -0
  99. package/file-input/FileItem.d.ts +14 -0
  100. package/file-input/FileItem.js +184 -0
  101. package/file-input/types.d.ts +112 -0
  102. package/file-input/types.js +5 -0
  103. package/footer/Footer.d.ts +4 -0
  104. package/footer/Footer.js +183 -0
  105. package/footer/Footer.stories.tsx +130 -0
  106. package/footer/Footer.test.js +109 -0
  107. package/footer/Icons.d.ts +2 -0
  108. package/footer/Icons.js +77 -0
  109. package/footer/types.d.ts +65 -0
  110. package/footer/types.js +5 -0
  111. package/header/Header.d.ts +7 -0
  112. package/header/Header.js +300 -0
  113. package/header/Header.stories.tsx +172 -0
  114. package/header/Header.test.js +79 -0
  115. package/header/Icons.d.ts +2 -0
  116. package/header/Icons.js +34 -0
  117. package/header/types.d.ts +47 -0
  118. package/header/types.js +5 -0
  119. package/heading/Heading.d.ts +4 -0
  120. package/{dist/heading → heading}/Heading.js +31 -90
  121. package/heading/Heading.stories.tsx +54 -0
  122. package/heading/Heading.test.js +186 -0
  123. package/heading/types.d.ts +33 -0
  124. package/heading/types.js +5 -0
  125. package/inset/Inset.d.ts +3 -0
  126. package/inset/Inset.js +84 -0
  127. package/inset/Inset.stories.tsx +229 -0
  128. package/inset/types.d.ts +37 -0
  129. package/inset/types.js +5 -0
  130. package/layout/ApplicationLayout.d.ts +10 -0
  131. package/layout/ApplicationLayout.js +218 -0
  132. package/layout/ApplicationLayout.stories.tsx +171 -0
  133. package/layout/Icons.js +55 -0
  134. package/layout/types.d.ts +57 -0
  135. package/layout/types.js +5 -0
  136. package/link/Link.d.ts +3 -0
  137. package/{dist/link → link}/Link.js +23 -111
  138. package/link/Link.stories.tsx +151 -0
  139. package/link/Link.test.js +91 -0
  140. package/link/types.d.ts +70 -0
  141. package/link/types.js +5 -0
  142. package/list/List.d.ts +4 -0
  143. package/list/List.js +47 -0
  144. package/list/List.stories.tsx +95 -0
  145. package/list/types.d.ts +7 -0
  146. package/list/types.js +5 -0
  147. package/main.d.ts +47 -0
  148. package/{dist/main.js → main.js} +135 -99
  149. package/number-input/NumberInput.d.ts +4 -0
  150. package/number-input/NumberInput.js +76 -0
  151. package/number-input/NumberInput.stories.tsx +115 -0
  152. package/number-input/NumberInput.test.js +506 -0
  153. package/number-input/NumberInputContext.d.ts +4 -0
  154. package/{dist/number/NumberContext.js → number-input/NumberInputContext.js} +6 -3
  155. package/number-input/numberInputContextTypes.d.ts +19 -0
  156. package/number-input/numberInputContextTypes.js +5 -0
  157. package/number-input/types.d.ts +124 -0
  158. package/number-input/types.js +5 -0
  159. package/package.json +35 -24
  160. package/paginator/Icons.js +66 -0
  161. package/paginator/Paginator.d.ts +4 -0
  162. package/paginator/Paginator.js +192 -0
  163. package/paginator/Paginator.stories.tsx +63 -0
  164. package/paginator/Paginator.test.js +266 -0
  165. package/paginator/types.d.ts +38 -0
  166. package/paginator/types.js +5 -0
  167. package/password-input/PasswordInput.d.ts +4 -0
  168. package/{dist/password/Password.js → password-input/PasswordInput.js} +46 -83
  169. package/password-input/PasswordInput.stories.tsx +131 -0
  170. package/password-input/PasswordInput.test.js +181 -0
  171. package/password-input/types.d.ts +110 -0
  172. package/password-input/types.js +5 -0
  173. package/progress-bar/ProgressBar.d.ts +4 -0
  174. package/{dist/progress-bar → progress-bar}/ProgressBar.js +22 -94
  175. package/progress-bar/ProgressBar.stories.jsx +58 -0
  176. package/progress-bar/ProgressBar.test.js +65 -0
  177. package/progress-bar/types.d.ts +37 -0
  178. package/progress-bar/types.js +5 -0
  179. package/quick-nav/QuickNav.d.ts +4 -0
  180. package/quick-nav/QuickNav.js +66 -0
  181. package/quick-nav/QuickNav.stories.tsx +237 -0
  182. package/quick-nav/types.d.ts +21 -0
  183. package/quick-nav/types.js +5 -0
  184. package/radio/Radio.d.ts +4 -0
  185. package/{dist/radio → radio}/Radio.js +17 -52
  186. package/radio/Radio.stories.tsx +192 -0
  187. package/radio/Radio.test.js +71 -0
  188. package/radio/types.d.ts +54 -0
  189. package/radio/types.js +5 -0
  190. package/radio-group/Radio.d.ts +4 -0
  191. package/radio-group/Radio.js +141 -0
  192. package/radio-group/RadioGroup.d.ts +4 -0
  193. package/radio-group/RadioGroup.js +280 -0
  194. package/radio-group/RadioGroup.stories.tsx +100 -0
  195. package/radio-group/RadioGroup.test.js +695 -0
  196. package/radio-group/types.d.ts +114 -0
  197. package/radio-group/types.js +5 -0
  198. package/resultsetTable/ResultsetTable.d.ts +4 -0
  199. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +43 -147
  200. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  201. package/resultsetTable/ResultsetTable.test.js +306 -0
  202. package/resultsetTable/types.d.ts +67 -0
  203. package/resultsetTable/types.js +5 -0
  204. package/row/Row.d.ts +3 -0
  205. package/row/Row.js +127 -0
  206. package/row/Row.stories.tsx +237 -0
  207. package/row/types.d.ts +28 -0
  208. package/row/types.js +5 -0
  209. package/select/Icons.d.ts +10 -0
  210. package/select/Icons.js +93 -0
  211. package/select/Option.d.ts +4 -0
  212. package/select/Option.js +110 -0
  213. package/select/Select.d.ts +4 -0
  214. package/select/Select.js +732 -0
  215. package/select/Select.stories.tsx +582 -0
  216. package/select/Select.test.js +2057 -0
  217. package/select/types.d.ts +194 -0
  218. package/select/types.js +5 -0
  219. package/sidenav/Sidenav.d.ts +9 -0
  220. package/sidenav/Sidenav.js +136 -0
  221. package/sidenav/Sidenav.stories.tsx +182 -0
  222. package/sidenav/Sidenav.test.js +56 -0
  223. package/sidenav/types.d.ts +50 -0
  224. package/sidenav/types.js +5 -0
  225. package/slider/Slider.d.ts +4 -0
  226. package/slider/Slider.js +318 -0
  227. package/slider/Slider.stories.tsx +177 -0
  228. package/slider/Slider.test.js +150 -0
  229. package/slider/types.d.ts +82 -0
  230. package/slider/types.js +5 -0
  231. package/spinner/Spinner.d.ts +4 -0
  232. package/spinner/Spinner.js +250 -0
  233. package/spinner/Spinner.stories.jsx +103 -0
  234. package/spinner/Spinner.test.js +64 -0
  235. package/spinner/types.d.ts +32 -0
  236. package/spinner/types.js +5 -0
  237. package/stack/Stack.d.ts +3 -0
  238. package/stack/Stack.js +97 -0
  239. package/stack/Stack.stories.tsx +164 -0
  240. package/stack/types.d.ts +24 -0
  241. package/stack/types.js +5 -0
  242. package/switch/Switch.d.ts +4 -0
  243. package/{dist/switch → switch}/Switch.js +45 -75
  244. package/switch/Switch.stories.tsx +160 -0
  245. package/switch/Switch.test.js +98 -0
  246. package/switch/types.d.ts +62 -0
  247. package/switch/types.js +5 -0
  248. package/table/Table.d.ts +4 -0
  249. package/{dist/table → table}/Table.js +12 -26
  250. package/table/Table.stories.jsx +277 -0
  251. package/table/Table.test.js +26 -0
  252. package/table/types.d.ts +21 -0
  253. package/table/types.js +5 -0
  254. package/tabs/Tabs.d.ts +4 -0
  255. package/tabs/Tabs.js +211 -0
  256. package/tabs/Tabs.stories.tsx +118 -0
  257. package/tabs/Tabs.test.js +140 -0
  258. package/tabs/types.d.ts +82 -0
  259. package/tabs/types.js +5 -0
  260. package/tag/Tag.d.ts +4 -0
  261. package/tag/Tag.js +186 -0
  262. package/tag/Tag.stories.tsx +142 -0
  263. package/tag/Tag.test.js +60 -0
  264. package/tag/types.d.ts +69 -0
  265. package/tag/types.js +5 -0
  266. package/text/Text.d.ts +7 -0
  267. package/text/Text.js +30 -0
  268. package/text/Text.stories.tsx +19 -0
  269. package/text-input/TextInput.d.ts +4 -0
  270. package/text-input/TextInput.js +796 -0
  271. package/text-input/TextInput.stories.tsx +474 -0
  272. package/text-input/TextInput.test.js +1712 -0
  273. package/text-input/types.d.ts +166 -0
  274. package/text-input/types.js +5 -0
  275. package/textarea/Textarea.d.ts +4 -0
  276. package/{dist/new-textarea/NewTextarea.js → textarea/Textarea.js} +95 -155
  277. package/textarea/Textarea.stories.jsx +157 -0
  278. package/textarea/Textarea.test.js +437 -0
  279. package/textarea/types.d.ts +137 -0
  280. package/textarea/types.js +5 -0
  281. package/toggle-group/ToggleGroup.d.ts +4 -0
  282. package/toggle-group/ToggleGroup.js +215 -0
  283. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  284. package/toggle-group/ToggleGroup.test.js +156 -0
  285. package/toggle-group/types.d.ts +105 -0
  286. package/toggle-group/types.js +5 -0
  287. package/useTheme.d.ts +2 -0
  288. package/{dist/useTheme.js → useTheme.js} +1 -1
  289. package/wizard/Wizard.d.ts +4 -0
  290. package/wizard/Wizard.js +286 -0
  291. package/wizard/Wizard.stories.tsx +214 -0
  292. package/wizard/Wizard.test.js +141 -0
  293. package/wizard/types.d.ts +64 -0
  294. package/wizard/types.js +5 -0
  295. package/README.md +0 -66
  296. package/babel.config.js +0 -8
  297. package/dist/BackgroundColorContext.js +0 -46
  298. package/dist/ThemeContext.js +0 -240
  299. package/dist/accordion/Accordion.js +0 -353
  300. package/dist/accordion-group/AccordionGroup.js +0 -186
  301. package/dist/badge/Badge.js +0 -63
  302. package/dist/checkbox/Checkbox.stories.js +0 -144
  303. package/dist/checkbox/readme.md +0 -116
  304. package/dist/chip/Chip.js +0 -265
  305. package/dist/date/Date.js +0 -381
  306. package/dist/date/Date.stories.js +0 -205
  307. package/dist/date/readme.md +0 -73
  308. package/dist/dialog/Dialog.js +0 -218
  309. package/dist/footer/Footer.js +0 -395
  310. package/dist/footer/Footer.stories.js +0 -94
  311. package/dist/footer/dxc_logo.svg +0 -15
  312. package/dist/footer/readme.md +0 -41
  313. package/dist/header/Header.js +0 -403
  314. package/dist/header/Header.stories.js +0 -176
  315. package/dist/header/close_icon.svg +0 -1
  316. package/dist/header/dxc_logo_black.svg +0 -8
  317. package/dist/header/hamb_menu_black.svg +0 -1
  318. package/dist/header/hamb_menu_white.svg +0 -1
  319. package/dist/header/readme.md +0 -33
  320. package/dist/input-text/InputText.js +0 -707
  321. package/dist/input-text/InputText.stories.js +0 -209
  322. package/dist/input-text/error.svg +0 -1
  323. package/dist/input-text/readme.md +0 -91
  324. package/dist/layout/ApplicationLayout.js +0 -331
  325. package/dist/layout/facebook.svg +0 -45
  326. package/dist/layout/linkedin.svg +0 -50
  327. package/dist/layout/twitter.svg +0 -53
  328. package/dist/link/readme.md +0 -51
  329. package/dist/new-date/NewDate.js +0 -403
  330. package/dist/new-input-text/NewInputText.js +0 -961
  331. package/dist/number/Number.js +0 -138
  332. package/dist/paginator/Paginator.js +0 -289
  333. package/dist/paginator/images/next.svg +0 -3
  334. package/dist/paginator/images/nextPage.svg +0 -3
  335. package/dist/paginator/images/previous.svg +0 -3
  336. package/dist/paginator/images/previousPage.svg +0 -3
  337. package/dist/paginator/readme.md +0 -50
  338. package/dist/password/styles.css +0 -3
  339. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  340. package/dist/progress-bar/readme.md +0 -63
  341. package/dist/radio/Radio.stories.js +0 -166
  342. package/dist/radio/readme.md +0 -70
  343. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  344. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  345. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  346. package/dist/select/Select.js +0 -585
  347. package/dist/select/Select.stories.js +0 -235
  348. package/dist/select/readme.md +0 -72
  349. package/dist/sidenav/Sidenav.js +0 -177
  350. package/dist/slider/Slider.js +0 -319
  351. package/dist/slider/Slider.stories.js +0 -241
  352. package/dist/slider/readme.md +0 -64
  353. package/dist/spinner/Spinner.js +0 -218
  354. package/dist/spinner/Spinner.stories.js +0 -183
  355. package/dist/spinner/readme.md +0 -65
  356. package/dist/switch/Switch.stories.js +0 -134
  357. package/dist/switch/readme.md +0 -133
  358. package/dist/tabs/Tabs.js +0 -343
  359. package/dist/tabs/Tabs.stories.js +0 -130
  360. package/dist/tabs/readme.md +0 -78
  361. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  362. package/dist/tabs-for-sections/readme.md +0 -78
  363. package/dist/tag/Tag.js +0 -288
  364. package/dist/textarea/Textarea.js +0 -264
  365. package/dist/toggle/Toggle.js +0 -220
  366. package/dist/toggle/Toggle.stories.js +0 -297
  367. package/dist/toggle/readme.md +0 -80
  368. package/dist/toggle-group/ToggleGroup.js +0 -223
  369. package/dist/upload/Upload.js +0 -205
  370. package/dist/upload/Upload.stories.js +0 -72
  371. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  372. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  373. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  374. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  375. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  376. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  377. package/dist/upload/file-upload/FileToUpload.js +0 -184
  378. package/dist/upload/file-upload/audio-icon.svg +0 -4
  379. package/dist/upload/file-upload/close.svg +0 -4
  380. package/dist/upload/file-upload/file-icon.svg +0 -4
  381. package/dist/upload/file-upload/video-icon.svg +0 -4
  382. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  383. package/dist/upload/readme.md +0 -37
  384. package/dist/upload/transaction/Transaction.js +0 -175
  385. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  386. package/dist/upload/transaction/audio-icon.svg +0 -4
  387. package/dist/upload/transaction/error-icon.svg +0 -4
  388. package/dist/upload/transaction/file-icon-err.svg +0 -4
  389. package/dist/upload/transaction/file-icon.svg +0 -4
  390. package/dist/upload/transaction/image-icon-err.svg +0 -4
  391. package/dist/upload/transaction/image-icon.svg +0 -4
  392. package/dist/upload/transaction/success-icon.svg +0 -4
  393. package/dist/upload/transaction/video-icon-err.svg +0 -4
  394. package/dist/upload/transaction/video-icon.svg +0 -4
  395. package/dist/upload/transactions/Transactions.js +0 -138
  396. package/dist/wizard/Wizard.js +0 -411
  397. package/dist/wizard/invalid_icon.svg +0 -5
  398. package/dist/wizard/valid_icon.svg +0 -5
  399. package/dist/wizard/validation-wrong.svg +0 -6
  400. package/test/Accordion.test.js +0 -33
  401. package/test/AccordionGroup.test.js +0 -125
  402. package/test/Alert.test.js +0 -53
  403. package/test/Box.test.js +0 -10
  404. package/test/Button.test.js +0 -18
  405. package/test/Card.test.js +0 -30
  406. package/test/Checkbox.test.js +0 -45
  407. package/test/Chip.test.js +0 -25
  408. package/test/Date.test.js +0 -393
  409. package/test/Dialog.test.js +0 -23
  410. package/test/Dropdown.test.js +0 -145
  411. package/test/Footer.test.js +0 -99
  412. package/test/Header.test.js +0 -39
  413. package/test/Heading.test.js +0 -35
  414. package/test/InputText.test.js +0 -240
  415. package/test/Link.test.js +0 -43
  416. package/test/NewDate.test.js +0 -203
  417. package/test/NewInputText.test.js +0 -817
  418. package/test/NewTextarea.test.js +0 -201
  419. package/test/Number.test.js +0 -241
  420. package/test/Paginator.test.js +0 -177
  421. package/test/Password.test.js +0 -76
  422. package/test/ProgressBar.test.js +0 -35
  423. package/test/Radio.test.js +0 -37
  424. package/test/ResultsetTable.test.js +0 -330
  425. package/test/Select.test.js +0 -189
  426. package/test/Sidenav.test.js +0 -45
  427. package/test/Slider.test.js +0 -82
  428. package/test/Spinner.test.js +0 -27
  429. package/test/Switch.test.js +0 -45
  430. package/test/Table.test.js +0 -36
  431. package/test/Tabs.test.js +0 -109
  432. package/test/TabsForSections.test.js +0 -34
  433. package/test/Tag.test.js +0 -32
  434. package/test/TextArea.test.js +0 -52
  435. package/test/ToggleGroup.test.js +0 -81
  436. package/test/Upload.test.js +0 -60
  437. package/test/Wizard.test.js +0 -130
  438. package/test/mocks/pngMock.js +0 -1
  439. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,732 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
+
24
+ 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.";
44
+ };
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;
50
+ };
51
+
52
+ var filteredGroupsHaveOptions = function filteredGroupsHaveOptions(filteredOptions) {
53
+ return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
54
+ var _groupOption$options;
55
+
56
+ return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
57
+ }) : true;
58
+ };
59
+
60
+ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
61
+ if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
62
+ if (options[0].options) return options.map(function (optionGroup) {
63
+ var group = {
64
+ label: optionGroup.label,
65
+ options: optionGroup.options.filter(function (option) {
66
+ return option.label.toUpperCase().includes(searchValue.toUpperCase());
67
+ })
68
+ };
69
+ return group;
70
+ });else return options.filter(function (option) {
71
+ return option.label.toUpperCase().includes(searchValue.toUpperCase());
72
+ });
73
+ }
74
+ };
75
+
76
+ var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
77
+ var last = 0;
78
+
79
+ var reducer = function reducer(acc, current) {
80
+ var _current$options;
81
+
82
+ return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
83
+ };
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;
86
+ return optional && !multiple ? last + 1 : last;
87
+ };
88
+
89
+ var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
90
+ var selectedOption = multiple ? [] : {};
91
+ var singleSelectionIndex;
92
+
93
+ if (multiple) {
94
+ if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
95
+ 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);
101
+ });
102
+ }
103
+ } else {
104
+ if (optional && value === "") {
105
+ selectedOption = optionalItem;
106
+ singleSelectionIndex = 0;
107
+ } else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
108
+ var group_index = 0;
109
+ options.some(function (option, index) {
110
+ if (option.options) {
111
+ option.options.some(function (singleOption) {
112
+ if (singleOption.value === value) {
113
+ selectedOption = singleOption;
114
+ singleSelectionIndex = optional ? group_index + 1 : group_index;
115
+ return true;
116
+ }
117
+
118
+ group_index++;
119
+ });
120
+ } else if (option.value === value) {
121
+ selectedOption = option;
122
+ singleSelectionIndex = optional ? index + 1 : index;
123
+ return true;
124
+ }
125
+ });
126
+ }
127
+ }
128
+
129
+ return {
130
+ selectedOption: selectedOption,
131
+ singleSelectionIndex: singleSelectionIndex
132
+ };
133
+ };
134
+
135
+ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
136
+ var _selectedOption$label;
137
+
138
+ 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
+
168
+ var selectLabelId = "label-".concat(selectId);
169
+ var errorId = "error-".concat(selectId);
170
+ var optionsListId = "".concat(selectId, "-listbox");
171
+
172
+ 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
+
177
+ var _useState5 = (0, _react.useState)(""),
178
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
179
+ searchValue = _useState6[0],
180
+ setSearchValue = _useState6[1];
181
+
182
+ var _useState7 = (0, _react.useState)(-1),
183
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
184
+ visualFocusIndex = _useState8[0],
185
+ changeVisualFocusIndex = _useState8[1];
186
+
187
+ 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);
193
+ var selectSearchInputRef = (0, _react.useRef)(null);
194
+ var selectOptionsListRef = (0, _react.useRef)(null);
195
+ var colorsTheme = (0, _useTheme["default"])();
196
+ var optionalItem = {
197
+ label: placeholder,
198
+ value: ""
199
+ };
200
+ var filteredOptions = (0, _react.useMemo)(function () {
201
+ return filterOptionsBySearchValue(options, searchValue);
202
+ }, [options, searchValue]);
203
+ var lastOptionIndex = (0, _react.useMemo)(function () {
204
+ return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
205
+ }, [options, filteredOptions, searchable, optional, multiple, filteredOptions]);
206
+
207
+ 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
+
225
+ var openOptions = function openOptions() {
226
+ if (!isOpen && canBeOpenOptions()) changeIsOpen(true);
227
+ };
228
+
229
+ var closeOptions = function closeOptions() {
230
+ if (isOpen) {
231
+ changeIsOpen(false);
232
+ changeVisualFocusIndex(-1);
233
+ }
234
+ };
235
+
236
+ var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
237
+ 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) {
240
+ 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
+ }
258
+ };
259
+
260
+ var handleSelectOnClick = function handleSelectOnClick() {
261
+ searchable && selectSearchInputRef.current.focus();
262
+
263
+ if (isOpen) {
264
+ closeOptions();
265
+ setSearchValue("");
266
+ } else openOptions();
267
+ };
268
+
269
+ var handleSelectOnFocus = function handleSelectOnFocus(event) {
270
+ if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
271
+ };
272
+
273
+ var handleSelectOnBlur = function handleSelectOnBlur(event) {
274
+ // focus leaves container (outside, not to childs)
275
+ if (!event.currentTarget.contains(event.relatedTarget)) {
276
+ closeOptions();
277
+ 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
283
+ });
284
+ }
285
+ };
286
+
287
+ var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
288
+ switch (event.keyCode) {
289
+ case 40:
290
+ // Arrow Down
291
+ event.preventDefault();
292
+ singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
293
+ if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
294
+ });
295
+ openOptions();
296
+ break;
297
+
298
+ case 38:
299
+ // Arrow Up
300
+ event.preventDefault();
301
+ singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
302
+ return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
303
+ });
304
+ openOptions();
305
+ break;
306
+
307
+ case 27:
308
+ // Esc
309
+ event.preventDefault();
310
+ closeOptions();
311
+ setSearchValue("");
312
+ break;
313
+
314
+ case 13:
315
+ // Enter
316
+ if (isOpen && visualFocusIndex >= 0) {
317
+ var accLength = optional && !multiple ? 1 : 0;
318
+
319
+ if (searchable) {
320
+ if (filteredOptions.length > 0) {
321
+ if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else filteredOptions[0].options ? filteredGroupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
322
+ var groupLength = accLength + groupOption.options.length;
323
+ groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
324
+ accLength = groupLength;
325
+ return groupLength > visualFocusIndex;
326
+ }) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
327
+ }
328
+ } else {
329
+ if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options[0].options ? options.some(function (groupOption) {
330
+ var groupLength = accLength + groupOption.options.length;
331
+ groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
332
+ accLength = groupLength;
333
+ return groupLength > visualFocusIndex;
334
+ }) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
335
+ }
336
+
337
+ !multiple && closeOptions();
338
+ setSearchValue("");
339
+ }
340
+
341
+ break;
342
+ }
343
+ };
344
+
345
+ var handleSearchIOnChange = function handleSearchIOnChange(event) {
346
+ setSearchValue(event.target.value);
347
+ changeVisualFocusIndex(-1);
348
+ openOptions();
349
+ };
350
+
351
+ var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
352
+ event.stopPropagation();
353
+ value !== null && value !== void 0 ? value : setInnerValue([]);
354
+ !optional ? onChange === null || onChange === void 0 ? void 0 : onChange({
355
+ value: [],
356
+ error: getNotOptionalErrorMessage()
357
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
358
+ value: []
359
+ });
360
+ };
361
+
362
+ var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
363
+ event.stopPropagation();
364
+ setSearchValue("");
365
+ };
366
+
367
+ var handleOptionOnClick = (0, _react.useCallback)(function (option) {
368
+ handleSelectChangeValue(option);
369
+ !multiple && closeOptions();
370
+ setSearchValue("");
371
+ }, [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
+ });
429
+ }
430
+ };
431
+
432
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
433
+ theme: colorsTheme.select
434
+ }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
435
+ margin: margin,
436
+ size: size,
437
+ ref: ref
438
+ }, label && /*#__PURE__*/_react["default"].createElement(Label, {
439
+ id: selectLabelId,
440
+ disabled: disabled,
441
+ onClick: function onClick() {
442
+ selectContainerRef.current.focus();
443
+ },
444
+ helperText: helperText
445
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, "(Optional)")), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
446
+ disabled: disabled
447
+ }, helperText), /*#__PURE__*/_react["default"].createElement(Select, {
448
+ id: selectId,
449
+ disabled: disabled,
450
+ error: error,
451
+ onBlur: handleSelectOnBlur,
452
+ onClick: handleSelectOnClick,
453
+ onFocus: handleSelectOnFocus,
454
+ onKeyDown: handleSelectOnKeyDown,
455
+ ref: selectContainerRef,
456
+ tabIndex: tabIndex,
457
+ role: "combobox",
458
+ "aria-controls": optionsListId,
459
+ "aria-disabled": disabled,
460
+ "aria-expanded": isOpen,
461
+ "aria-haspopup": "listbox",
462
+ "aria-labelledby": selectLabelId,
463
+ "aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
464
+ "aria-invalid": error ? "true" : "false",
465
+ "aria-errormessage": error ? errorId : undefined,
466
+ "aria-required": !disabled && !optional
467
+ }, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
468
+ disabled: disabled
469
+ }, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
470
+ disabled: disabled,
471
+ onMouseDown: function onMouseDown(event) {
472
+ // Avoid input to lose focus when pressed
473
+ event.preventDefault();
474
+ },
475
+ onClick: handleClearOptionsActionOnClick,
476
+ 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, {
480
+ name: name,
481
+ value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
482
+ readOnly: true,
483
+ "aria-hidden": "true"
484
+ }), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
485
+ value: searchValue,
486
+ disabled: disabled,
487
+ onChange: handleSearchIOnChange,
488
+ ref: selectSearchInputRef,
489
+ autoComplete: "nope",
490
+ 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, {
498
+ 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, {
501
+ onMouseDown: function onMouseDown(event) {
502
+ // Avoid input to lose focus
503
+ event.preventDefault();
504
+ },
505
+ onClick: handleClearSearchActionOnClick,
506
+ tabIndex: -1,
507
+ title: "Clear search",
508
+ "aria-label": "Clear search"
509
+ }, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
510
+ 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();
515
+ },
516
+ onMouseDown: function onMouseDown(event) {
517
+ event.preventDefault();
518
+ },
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,
527
+ 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, {
533
+ id: errorId,
534
+ "aria-live": error ? "assertive" : "off"
535
+ }, error)));
536
+ });
537
+
538
+ var sizes = {
539
+ small: "240px",
540
+ medium: "360px",
541
+ large: "480px",
542
+ fillParent: "100%"
543
+ };
544
+
545
+ var calculateWidth = function calculateWidth(margin, size) {
546
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
547
+ };
548
+
549
+ 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
+ return calculateWidth(props.margin, props.size);
551
+ }, function (props) {
552
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
553
+ }, function (props) {
554
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
555
+ }, function (props) {
556
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
557
+ }, function (props) {
558
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
559
+ }, function (props) {
560
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
561
+ });
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) {
564
+ return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
565
+ }, function (props) {
566
+ return props.theme.fontFamily;
567
+ }, function (props) {
568
+ return props.theme.labelFontSize;
569
+ }, function (props) {
570
+ return props.theme.labelFontStyle;
571
+ }, function (props) {
572
+ return props.theme.labelFontWeight;
573
+ }, function (props) {
574
+ return props.theme.labelLineHeight;
575
+ }, function (props) {
576
+ return !props.helperText && "margin-bottom: 0.25rem";
577
+ });
578
+
579
+ var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
580
+ return props.theme.optionalLabelFontWeight;
581
+ });
582
+
583
+ 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
+ return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
585
+ }, function (props) {
586
+ return props.theme.fontFamily;
587
+ }, function (props) {
588
+ return props.theme.helperTextFontSize;
589
+ }, function (props) {
590
+ return props.theme.helperTextFontStyle;
591
+ }, function (props) {
592
+ return props.theme.helperTextFontWeight;
593
+ }, function (props) {
594
+ return props.theme.helperTextLineHeight;
595
+ });
596
+
597
+ 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
+ return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
599
+ }, function (props) {
600
+ return props.disabled ? props.theme.disabledInputBorderColor : props.theme.enabledInputBorderColor;
601
+ }, function (props) {
602
+ return props.error && !props.disabled && "border-color: transparent;\n box-shadow: 0 0 0 2px ".concat(props.theme.errorInputBorderColor, ";\n ");
603
+ }, function (props) {
604
+ return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
605
+ }, function (props) {
606
+ 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
+ });
608
+
609
+ 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
+ return props.theme.selectionIndicatorBorderColor;
611
+ });
612
+
613
+ 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
+ return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
615
+ }, function (props) {
616
+ return props.theme.selectionIndicatorBorderColor;
617
+ }, function (props) {
618
+ return props.disabled ? props.theme.disabledColor : props.theme.selectionIndicatorFontColor;
619
+ }, function (props) {
620
+ return props.theme.fontFamily;
621
+ }, function (props) {
622
+ return props.theme.selectionIndicatorFontSize;
623
+ }, function (props) {
624
+ return props.theme.selectionIndicatorFontStyle;
625
+ }, function (props) {
626
+ return props.theme.selectionIndicatorFontWeight;
627
+ }, function (props) {
628
+ return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
629
+ });
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) {
634
+ return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
635
+ }, function (props) {
636
+ return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
637
+ }, function (props) {
638
+ return props.disabled ? props.theme.disabledColor : props.theme.enabledSelectionIndicatorActionIconColor;
639
+ }, function (props) {
640
+ 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
+ });
642
+
643
+ var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
644
+
645
+ 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
+ if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
647
+ }, function (props) {
648
+ return props.theme.fontFamily;
649
+ }, function (props) {
650
+ return props.theme.valueFontSize;
651
+ }, function (props) {
652
+ return props.theme.valueFontStyle;
653
+ }, function (props) {
654
+ return props.theme.valueFontWeight;
655
+ });
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) {
660
+ return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
661
+ }, function (props) {
662
+ return props.theme.fontFamily;
663
+ }, function (props) {
664
+ return props.theme.valueFontSize;
665
+ }, function (props) {
666
+ return props.theme.valueFontStyle;
667
+ }, function (props) {
668
+ return props.theme.valueFontWeight;
669
+ });
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) {
672
+ return props.theme.errorIconColor;
673
+ });
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) {
676
+ return props.theme.errorMessageColor;
677
+ }, function (props) {
678
+ return props.theme.fontFamily;
679
+ });
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) {
682
+ return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
683
+ });
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) {
686
+ return props.theme.fontFamily;
687
+ }, function (props) {
688
+ return props.theme.actionBackgroundColor;
689
+ }, function (props) {
690
+ return props.theme.actionIconColor;
691
+ }, function (props) {
692
+ return props.theme.hoverActionBackgroundColor;
693
+ }, function (props) {
694
+ return props.theme.hoverActionIconColor;
695
+ }, function (props) {
696
+ return props.theme.activeActionBackgroundColor;
697
+ }, function (props) {
698
+ return props.theme.activeActionIconColor;
699
+ });
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;