@dxc-technology/halstack-react 0.0.0-b010ce1 → 0.0.0-b03a399

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 (463) 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/alert/Alert.js +290 -0
  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/box/Box.js +126 -0
  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/button/Button.js +172 -0
  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/card/Card.js +163 -0
  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/checkbox/Checkbox.js +254 -0
  53. package/checkbox/Checkbox.stories.tsx +188 -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/common/RequiredComponent.js +32 -0
  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/common/utils.js +22 -0
  76. package/common/variables.js +1372 -0
  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/dropdown/Dropdown.js +391 -0
  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/heading/Heading.js +159 -0
  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/link/Link.js +149 -0
  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} +177 -53
  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/ThemeContext.js → number-input/NumberInputContext.js} +6 -2
  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 +44 -27
  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/password-input/PasswordInput.js +163 -0
  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/progress-bar/ProgressBar.js +170 -0
  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 +64 -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/radio/Radio.js +173 -0
  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/resultsetTable/ResultsetTable.js +254 -0
  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/Listbox.d.ts +4 -0
  212. package/select/Listbox.js +148 -0
  213. package/select/Option.d.ts +4 -0
  214. package/select/Option.js +110 -0
  215. package/select/Select.d.ts +4 -0
  216. package/select/Select.js +655 -0
  217. package/select/Select.stories.tsx +582 -0
  218. package/select/Select.test.js +2057 -0
  219. package/select/types.d.ts +213 -0
  220. package/select/types.js +5 -0
  221. package/sidenav/Sidenav.d.ts +9 -0
  222. package/sidenav/Sidenav.js +136 -0
  223. package/sidenav/Sidenav.stories.tsx +182 -0
  224. package/sidenav/Sidenav.test.js +56 -0
  225. package/sidenav/types.d.ts +50 -0
  226. package/sidenav/types.js +5 -0
  227. package/slider/Slider.d.ts +4 -0
  228. package/slider/Slider.js +318 -0
  229. package/slider/Slider.stories.tsx +177 -0
  230. package/slider/Slider.test.js +150 -0
  231. package/slider/types.d.ts +82 -0
  232. package/slider/types.js +5 -0
  233. package/spinner/Spinner.d.ts +4 -0
  234. package/spinner/Spinner.js +250 -0
  235. package/spinner/Spinner.stories.jsx +103 -0
  236. package/spinner/Spinner.test.js +64 -0
  237. package/spinner/types.d.ts +32 -0
  238. package/spinner/types.js +5 -0
  239. package/stack/Stack.d.ts +3 -0
  240. package/stack/Stack.js +97 -0
  241. package/stack/Stack.stories.tsx +164 -0
  242. package/stack/types.d.ts +24 -0
  243. package/stack/types.js +5 -0
  244. package/switch/Switch.d.ts +4 -0
  245. package/switch/Switch.js +192 -0
  246. package/switch/Switch.stories.tsx +160 -0
  247. package/switch/Switch.test.js +98 -0
  248. package/switch/types.d.ts +62 -0
  249. package/switch/types.js +5 -0
  250. package/table/Table.d.ts +4 -0
  251. package/table/Table.js +118 -0
  252. package/table/Table.stories.jsx +277 -0
  253. package/table/Table.test.js +26 -0
  254. package/table/types.d.ts +21 -0
  255. package/table/types.js +5 -0
  256. package/tabs/Tabs.d.ts +4 -0
  257. package/tabs/Tabs.js +211 -0
  258. package/tabs/Tabs.stories.tsx +118 -0
  259. package/tabs/Tabs.test.js +140 -0
  260. package/tabs/types.d.ts +82 -0
  261. package/tabs/types.js +5 -0
  262. package/tag/Tag.d.ts +4 -0
  263. package/tag/Tag.js +183 -0
  264. package/tag/Tag.stories.tsx +142 -0
  265. package/tag/Tag.test.js +60 -0
  266. package/tag/types.d.ts +69 -0
  267. package/tag/types.js +5 -0
  268. package/text/Text.d.ts +7 -0
  269. package/text/Text.js +30 -0
  270. package/text/Text.stories.tsx +19 -0
  271. package/text-input/TextInput.d.ts +4 -0
  272. package/text-input/TextInput.js +796 -0
  273. package/text-input/TextInput.stories.tsx +474 -0
  274. package/text-input/TextInput.test.js +1712 -0
  275. package/text-input/types.d.ts +166 -0
  276. package/text-input/types.js +5 -0
  277. package/textarea/Textarea.d.ts +4 -0
  278. package/textarea/Textarea.js +286 -0
  279. package/textarea/Textarea.stories.jsx +157 -0
  280. package/textarea/Textarea.test.js +437 -0
  281. package/textarea/types.d.ts +137 -0
  282. package/textarea/types.js +5 -0
  283. package/toggle-group/ToggleGroup.d.ts +4 -0
  284. package/toggle-group/ToggleGroup.js +215 -0
  285. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  286. package/toggle-group/ToggleGroup.test.js +156 -0
  287. package/toggle-group/types.d.ts +105 -0
  288. package/toggle-group/types.js +5 -0
  289. package/useTheme.d.ts +2 -0
  290. package/useTheme.js +22 -0
  291. package/wizard/Wizard.d.ts +4 -0
  292. package/wizard/Wizard.js +290 -0
  293. package/wizard/Wizard.stories.tsx +214 -0
  294. package/wizard/Wizard.test.js +141 -0
  295. package/wizard/types.d.ts +64 -0
  296. package/wizard/types.js +5 -0
  297. package/README.md +0 -66
  298. package/babel.config.js +0 -4
  299. package/dist/accordion/Accordion.js +0 -264
  300. package/dist/accordion/Accordion.stories.js +0 -207
  301. package/dist/accordion/readme.md +0 -96
  302. package/dist/alert/Alert.js +0 -302
  303. package/dist/alert/Alert.stories.js +0 -158
  304. package/dist/alert/close.svg +0 -4
  305. package/dist/alert/error.svg +0 -4
  306. package/dist/alert/info.svg +0 -4
  307. package/dist/alert/readme.md +0 -43
  308. package/dist/alert/success.svg +0 -4
  309. package/dist/alert/warning.svg +0 -4
  310. package/dist/box/Box.js +0 -136
  311. package/dist/button/Button.js +0 -182
  312. package/dist/button/Button.stories.js +0 -224
  313. package/dist/button/readme.md +0 -93
  314. package/dist/card/Card.js +0 -246
  315. package/dist/checkbox/Checkbox.js +0 -221
  316. package/dist/checkbox/Checkbox.stories.js +0 -144
  317. package/dist/checkbox/readme.md +0 -116
  318. package/dist/chip/Chip.js +0 -170
  319. package/dist/common/RequiredComponent.js +0 -50
  320. package/dist/common/services/example-service.js +0 -10
  321. package/dist/common/services/example-service.test.js +0 -12
  322. package/dist/common/utils.js +0 -42
  323. package/dist/common/variables.js +0 -112
  324. package/dist/date/Date.js +0 -342
  325. package/dist/date/Date.stories.js +0 -205
  326. package/dist/date/calendar.svg +0 -1
  327. package/dist/date/calendar_dark.svg +0 -1
  328. package/dist/date/readme.md +0 -73
  329. package/dist/dialog/Dialog.js +0 -193
  330. package/dist/dialog/Dialog.stories.js +0 -217
  331. package/dist/dialog/readme.md +0 -32
  332. package/dist/dropdown/Dropdown.js +0 -412
  333. package/dist/dropdown/Dropdown.stories.js +0 -249
  334. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  335. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  336. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  337. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  338. package/dist/dropdown/readme.md +0 -69
  339. package/dist/footer/Footer.js +0 -341
  340. package/dist/footer/Footer.stories.js +0 -94
  341. package/dist/footer/dxc_logo_wht.png +0 -0
  342. package/dist/footer/readme.md +0 -41
  343. package/dist/header/Header.js +0 -343
  344. package/dist/header/Header.stories.js +0 -176
  345. package/dist/header/close_icon.svg +0 -1
  346. package/dist/header/dxc_logo_black.png +0 -0
  347. package/dist/header/dxc_logo_white.png +0 -0
  348. package/dist/header/hamb_menu_black.svg +0 -1
  349. package/dist/header/hamb_menu_white.svg +0 -1
  350. package/dist/header/readme.md +0 -33
  351. package/dist/heading/Heading.js +0 -159
  352. package/dist/input-text/InputText.js +0 -510
  353. package/dist/input-text/InputText.stories.js +0 -209
  354. package/dist/input-text/error.svg +0 -1
  355. package/dist/input-text/readme.md +0 -91
  356. package/dist/link/Link.js +0 -129
  357. package/dist/link/readme.md +0 -51
  358. package/dist/paginator/Paginator.js +0 -178
  359. package/dist/paginator/images/next.svg +0 -3
  360. package/dist/paginator/images/nextPage.svg +0 -3
  361. package/dist/paginator/images/previous.svg +0 -3
  362. package/dist/paginator/images/previousPage.svg +0 -3
  363. package/dist/paginator/readme.md +0 -50
  364. package/dist/progress-bar/ProgressBar.js +0 -189
  365. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  366. package/dist/progress-bar/readme.md +0 -63
  367. package/dist/radio/Radio.js +0 -204
  368. package/dist/radio/Radio.stories.js +0 -166
  369. package/dist/radio/readme.md +0 -70
  370. package/dist/resultsetTable/ResultsetTable.js +0 -334
  371. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  372. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  373. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  374. package/dist/select/Select.js +0 -425
  375. package/dist/select/Select.stories.js +0 -235
  376. package/dist/select/readme.md +0 -72
  377. package/dist/sidenav/Sidenav.js +0 -217
  378. package/dist/sidenav/arrow_icon.svg +0 -3
  379. package/dist/slider/Slider.js +0 -268
  380. package/dist/slider/Slider.stories.js +0 -241
  381. package/dist/slider/readme.md +0 -64
  382. package/dist/spinner/Spinner.js +0 -196
  383. package/dist/spinner/Spinner.stories.js +0 -183
  384. package/dist/spinner/readme.md +0 -65
  385. package/dist/switch/Switch.js +0 -219
  386. package/dist/switch/Switch.stories.js +0 -134
  387. package/dist/switch/readme.md +0 -133
  388. package/dist/table/Table.js +0 -84
  389. package/dist/tabs/Tabs.js +0 -183
  390. package/dist/tabs/Tabs.stories.js +0 -130
  391. package/dist/tabs/readme.md +0 -78
  392. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  393. package/dist/tabs-for-sections/readme.md +0 -78
  394. package/dist/tag/Tag.js +0 -217
  395. package/dist/textarea/Textarea.js +0 -226
  396. package/dist/toggle/Toggle.js +0 -223
  397. package/dist/toggle/Toggle.stories.js +0 -297
  398. package/dist/toggle/readme.md +0 -80
  399. package/dist/upload/Upload.js +0 -200
  400. package/dist/upload/Upload.stories.js +0 -72
  401. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -125
  402. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  403. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  404. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -282
  405. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  406. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  407. package/dist/upload/file-upload/FileToUpload.js +0 -158
  408. package/dist/upload/file-upload/audio-icon.svg +0 -4
  409. package/dist/upload/file-upload/close.svg +0 -4
  410. package/dist/upload/file-upload/file-icon.svg +0 -4
  411. package/dist/upload/file-upload/video-icon.svg +0 -4
  412. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  413. package/dist/upload/readme.md +0 -37
  414. package/dist/upload/transaction/Transaction.js +0 -155
  415. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  416. package/dist/upload/transaction/audio-icon.svg +0 -4
  417. package/dist/upload/transaction/error-icon.svg +0 -4
  418. package/dist/upload/transaction/file-icon-err.svg +0 -4
  419. package/dist/upload/transaction/file-icon.svg +0 -4
  420. package/dist/upload/transaction/image-icon-err.svg +0 -4
  421. package/dist/upload/transaction/image-icon.svg +0 -4
  422. package/dist/upload/transaction/success-icon.svg +0 -4
  423. package/dist/upload/transaction/video-icon-err.svg +0 -4
  424. package/dist/upload/transaction/video-icon.svg +0 -4
  425. package/dist/upload/transactions/Transactions.js +0 -120
  426. package/dist/wizard/Wizard.js +0 -310
  427. package/dist/wizard/invalid_icon.svg +0 -6
  428. package/dist/wizard/valid_icon.svg +0 -6
  429. package/dist/wizard/validation-wrong.svg +0 -6
  430. package/test/Accordion.test.js +0 -33
  431. package/test/Alert.test.js +0 -53
  432. package/test/Box.test.js +0 -10
  433. package/test/Button.test.js +0 -18
  434. package/test/Card.test.js +0 -30
  435. package/test/Checkbox.test.js +0 -45
  436. package/test/Chip.test.js +0 -25
  437. package/test/Date.test.js +0 -393
  438. package/test/Dialog.test.js +0 -23
  439. package/test/Dropdown.test.js +0 -130
  440. package/test/Footer.test.js +0 -99
  441. package/test/Header.test.js +0 -39
  442. package/test/Heading.test.js +0 -35
  443. package/test/InputText.test.js +0 -236
  444. package/test/Link.test.js +0 -25
  445. package/test/Paginator.test.js +0 -165
  446. package/test/ProgressBar.test.js +0 -35
  447. package/test/Radio.test.js +0 -37
  448. package/test/ResultsetTable.test.js +0 -282
  449. package/test/Select.test.js +0 -191
  450. package/test/Sidenav.test.js +0 -87
  451. package/test/Slider.test.js +0 -65
  452. package/test/Spinner.test.js +0 -27
  453. package/test/Switch.test.js +0 -45
  454. package/test/Table.test.js +0 -36
  455. package/test/Tabs.test.js +0 -88
  456. package/test/TabsForSections.test.js +0 -34
  457. package/test/Tag.test.js +0 -32
  458. package/test/TextArea.test.js +0 -52
  459. package/test/Toggle.test.js +0 -43
  460. package/test/Upload.test.js +0 -60
  461. package/test/Wizard.test.js +0 -130
  462. package/test/mocks/pngMock.js +0 -1
  463. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import DateInputPropsType from "./types";
3
+ declare const DxcDateInput: React.ForwardRefExoticComponent<DateInputPropsType & React.RefAttributes<HTMLDivElement>>;
4
+ export default DxcDateInput;
@@ -0,0 +1,369 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _pickers = require("@material-ui/pickers");
21
+
22
+ var _core = require("@material-ui/core");
23
+
24
+ var _ClickAwayListener = _interopRequireDefault(require("@material-ui/core/ClickAwayListener"));
25
+
26
+ var _Popover = _interopRequireDefault(require("@material-ui/core/Popover"));
27
+
28
+ var _dayjs = _interopRequireDefault(require("dayjs"));
29
+
30
+ var _dayjs2 = _interopRequireDefault(require("@date-io/dayjs"));
31
+
32
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
33
+
34
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
35
+
36
+ var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
37
+
38
+ var _templateObject;
39
+
40
+ 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); }
41
+
42
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
43
+
44
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
+
46
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
47
+
48
+ var getValueForPicker = function getValueForPicker(value, format) {
49
+ return (0, _dayjs["default"])(value, format.toUpperCase(), true).format();
50
+ };
51
+
52
+ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
53
+ var label = _ref.label,
54
+ name = _ref.name,
55
+ _ref$defaultValue = _ref.defaultValue,
56
+ defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
57
+ value = _ref.value,
58
+ _ref$format = _ref.format,
59
+ format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
60
+ helperText = _ref.helperText,
61
+ _ref$placeholder = _ref.placeholder,
62
+ placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
63
+ clearable = _ref.clearable,
64
+ disabled = _ref.disabled,
65
+ optional = _ref.optional,
66
+ onChange = _ref.onChange,
67
+ onBlur = _ref.onBlur,
68
+ error = _ref.error,
69
+ autocomplete = _ref.autocomplete,
70
+ margin = _ref.margin,
71
+ size = _ref.size,
72
+ tabIndex = _ref.tabIndex;
73
+
74
+ var _useState = (0, _react.useState)(defaultValue),
75
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
76
+ innerValue = _useState2[0],
77
+ setInnerValue = _useState2[1];
78
+
79
+ var _useState3 = (0, _react.useState)(false),
80
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
81
+ isOpen = _useState4[0],
82
+ setIsOpen = _useState4[1];
83
+
84
+ var _useState5 = (0, _react.useState)(null),
85
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
86
+ anchorEl = _useState6[0],
87
+ setAnchorEl = _useState6[1];
88
+
89
+ var colorsTheme = (0, _useTheme["default"])();
90
+ var refDate = ref || (0, _react.useRef)(null);
91
+
92
+ var handleCalendarOnKeyDown = function handleCalendarOnKeyDown(event) {
93
+ switch (event.keyCode) {
94
+ case 27:
95
+ // Esc
96
+ event.preventDefault();
97
+ setIsOpen(false);
98
+ break;
99
+ }
100
+ };
101
+
102
+ var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
103
+ var newValue = (0, _dayjs["default"])(newDate).format(format.toUpperCase());
104
+ value !== null && value !== void 0 ? value : setInnerValue(newValue);
105
+ newDate !== null && newDate !== void 0 && newDate.toJSON() ? onChange === null || onChange === void 0 ? void 0 : onChange({
106
+ value: newValue,
107
+ date: newDate
108
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
109
+ value: newValue
110
+ });
111
+ };
112
+
113
+ var handleIOnChange = function handleIOnChange(_ref2) {
114
+ var newValue = _ref2.value,
115
+ inputError = _ref2.error;
116
+ value !== null && value !== void 0 ? value : setInnerValue(newValue);
117
+ var dayjsDate = (0, _dayjs["default"])(newValue, format.toUpperCase(), true);
118
+ var invalidDateMessage = newValue !== "" && !dayjsDate.isValid() && "Invalid date.";
119
+ var callbackParams = inputError || invalidDateMessage ? {
120
+ value: newValue,
121
+ error: inputError || invalidDateMessage
122
+ } : {
123
+ value: newValue
124
+ };
125
+ dayjsDate.isValid() ? onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, callbackParams), {}, {
126
+ date: dayjsDate.toDate()
127
+ })) : onChange === null || onChange === void 0 ? void 0 : onChange(callbackParams);
128
+ };
129
+
130
+ var handleIOnBlur = function handleIOnBlur(_ref3) {
131
+ var value = _ref3.value,
132
+ inputError = _ref3.error;
133
+ var dayjsDate = (0, _dayjs["default"])(value, format.toUpperCase(), true);
134
+ var invalidDateMessage = value !== "" && !dayjsDate.isValid() && "Invalid date.";
135
+ var callbackParams = inputError || invalidDateMessage ? {
136
+ value: value,
137
+ error: inputError || invalidDateMessage
138
+ } : {
139
+ value: value
140
+ };
141
+ dayjsDate.isValid() ? onBlur === null || onBlur === void 0 ? void 0 : onBlur(_objectSpread(_objectSpread({}, callbackParams), {}, {
142
+ date: dayjsDate.toDate()
143
+ })) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(callbackParams);
144
+ };
145
+
146
+ var openCalendar = function openCalendar() {
147
+ var dateBtn = refDate.current.getElementsByTagName("button")[0];
148
+ setIsOpen(!isOpen);
149
+ setAnchorEl(dateBtn);
150
+ };
151
+
152
+ var closeCalendar = function closeCalendar() {
153
+ setIsOpen(false);
154
+ };
155
+
156
+ var calendarAction = {
157
+ onClick: openCalendar,
158
+ icon: /*#__PURE__*/_react["default"].createElement("svg", {
159
+ xmlns: "http://www.w3.org/2000/svg",
160
+ height: "24",
161
+ viewBox: "0 0 24 24",
162
+ width: "24",
163
+ fill: "currentColor"
164
+ }, /*#__PURE__*/_react["default"].createElement("path", {
165
+ d: "M0 0h24v24H0z",
166
+ fill: "none"
167
+ }), /*#__PURE__*/_react["default"].createElement("path", {
168
+ d: "M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"
169
+ }))
170
+ };
171
+ var dateTheme = (0, _core.createMuiTheme)({
172
+ overrides: {
173
+ MuiTypography: {
174
+ root: {
175
+ fontFamily: "".concat(colorsTheme.dateInput.pickerFontFamily, " !important")
176
+ }
177
+ },
178
+ MuiPickersYearSelection: {
179
+ container: {
180
+ color: colorsTheme.dateInput.pickerYearFontColor,
181
+ "&::-webkit-scrollbar": {
182
+ width: "3px"
183
+ },
184
+ "&::-webkit-scrollbar-track": {
185
+ backgroundColor: "#D9D9D9",
186
+ borderRadius: "3px"
187
+ },
188
+ "&::-webkit-scrollbar-thumb": {
189
+ backgroundColor: "#666666",
190
+ borderRadius: "3px"
191
+ }
192
+ }
193
+ },
194
+ MuiPickersToolbar: {
195
+ toolbar: {
196
+ backgroundColor: colorsTheme.dateInput.pickerBackgroundColor,
197
+ color: colorsTheme.dateInput.pickerDayFontColor
198
+ }
199
+ },
200
+ MuiIconButton: {
201
+ root: {
202
+ height: "36px",
203
+ width: "36px",
204
+ padding: "0px"
205
+ }
206
+ },
207
+ MuiTouchRipple: {
208
+ child: {
209
+ opacity: "0"
210
+ }
211
+ },
212
+ MuiButtonBase: {
213
+ root: {
214
+ "&:focus": {
215
+ outline: colorsTheme.dateInput.pickerFocusColor + " solid 2px"
216
+ }
217
+ }
218
+ },
219
+ MuiPickersBasePicker: {
220
+ pickerView: {
221
+ minWidth: "unset",
222
+ maxWidth: "unset",
223
+ minHeight: "unset",
224
+ padding: "0px 10px",
225
+ height: colorsTheme.dateInput.pickerHeight,
226
+ width: colorsTheme.dateInput.pickerWidth,
227
+ backgroundColor: colorsTheme.dateInput.pickerBackgroundColor,
228
+ fontFamily: colorsTheme.dateInput.pickerFontFamily
229
+ }
230
+ },
231
+ MuiPickersToolbarText: {
232
+ toolbarTxt: {
233
+ color: colorsTheme.dateInput.pickerActualDateFontColor,
234
+ fontFamily: colorsTheme.dateInput.pickerFontFamily,
235
+ fontSize: "2rem"
236
+ },
237
+ toolbarBtnSelected: {
238
+ color: colorsTheme.dateInput.pickerActualDateFontColor
239
+ }
240
+ },
241
+ MuiPickersCalendarHeader: {
242
+ transitionContainer: {
243
+ color: colorsTheme.dateInput.pickerMonthFontColor
244
+ },
245
+ dayLabel: {
246
+ color: colorsTheme.dateInput.pickerWeekFontColor,
247
+ fontFamily: colorsTheme.dateInput.pickerFontFamily
248
+ },
249
+ switchHeader: {
250
+ backgroundColor: "#ffffff",
251
+ color: colorsTheme.dateInput.pickerDayFontColor
252
+ },
253
+ iconButton: {
254
+ backgroundColor: colorsTheme.dateInput.pickerMonthArrowsBackgroundColor,
255
+ "&:hover": {
256
+ backgroundColor: colorsTheme.dateInput.pickerMonthArrowsBackgroundColor
257
+ }
258
+ }
259
+ },
260
+ MuiPickersCalendar: {
261
+ week: {
262
+ marginBottom: "2px"
263
+ }
264
+ },
265
+ MuiPickersDay: {
266
+ current: {
267
+ color: colorsTheme.dateInput.pickerDayFontColor
268
+ },
269
+ day: {
270
+ fontFamily: colorsTheme.dateInput.pickerFontFamily,
271
+ color: colorsTheme.dateInput.pickerDayFontColor,
272
+ "&:hover": {
273
+ backgroundColor: colorsTheme.dateInput.pickerHoverDateBackgroundColor,
274
+ color: colorsTheme.dateInput.pickerHoverDateFontColor
275
+ }
276
+ },
277
+ daySelected: {
278
+ backgroundColor: colorsTheme.dateInput.pickerSelectedDateBackgroundColor,
279
+ color: colorsTheme.dateInput.pickerSelectedDateColor,
280
+ "&:hover": {
281
+ backgroundColor: colorsTheme.dateInput.pickerSelectedDateBackgroundColor,
282
+ color: colorsTheme.dateInput.pickerSelectedDateColor,
283
+ opacity: "1"
284
+ }
285
+ }
286
+ },
287
+ MuiPickersYear: {
288
+ yearSelected: {
289
+ color: colorsTheme.dateInput.pickerSelectedDateColor,
290
+ backgroundColor: colorsTheme.dateInput.pickerSelectedDateBackgroundColor,
291
+ margin: "0px 100px",
292
+ borderRadius: "20px"
293
+ },
294
+ root: {
295
+ "&:focus": {
296
+ color: colorsTheme.dateInput.pickerHoverDateFontColor,
297
+ backgroundColor: colorsTheme.dateInput.pickerHoverDateBackgroundColor
298
+ }
299
+ }
300
+ },
301
+ MuiPickersModal: {
302
+ dialogAction: {
303
+ color: "pink"
304
+ }
305
+ }
306
+ }
307
+ });
308
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
309
+ theme: colorsTheme
310
+ }, /*#__PURE__*/_react["default"].createElement(_core.MuiThemeProvider, {
311
+ theme: dateTheme
312
+ }, /*#__PURE__*/_react["default"].createElement(_pickers.MuiPickersUtilsProvider, {
313
+ utils: _dayjs2["default"]
314
+ }, /*#__PURE__*/_react["default"].createElement(StyledDPicker, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
315
+ label: label,
316
+ name: name,
317
+ defaultValue: defaultValue,
318
+ value: value !== null && value !== void 0 ? value : innerValue,
319
+ helperText: helperText,
320
+ placeholder: placeholder ? format.toUpperCase() : null,
321
+ action: calendarAction,
322
+ clearable: clearable,
323
+ disabled: disabled,
324
+ optional: optional,
325
+ onChange: handleIOnChange,
326
+ onBlur: handleIOnBlur,
327
+ error: error,
328
+ autocomplete: autocomplete,
329
+ margin: margin,
330
+ size: size,
331
+ tabIndex: tabIndex,
332
+ ref: refDate
333
+ }), /*#__PURE__*/_react["default"].createElement(_Popover["default"], {
334
+ onKeyDown: handleCalendarOnKeyDown,
335
+ open: isOpen,
336
+ anchorEl: anchorEl,
337
+ anchorOrigin: {
338
+ vertical: "bottom",
339
+ horizontal: "left"
340
+ },
341
+ transformOrigin: {
342
+ vertical: "top",
343
+ horizontal: "center"
344
+ },
345
+ PaperProps: {
346
+ style: {
347
+ marginTop: "10px"
348
+ }
349
+ }
350
+ }, /*#__PURE__*/_react["default"].createElement(_ClickAwayListener["default"], {
351
+ onClickAway: closeCalendar
352
+ }, /*#__PURE__*/_react["default"].createElement(_core.Paper, {
353
+ role: "dialog",
354
+ "aria-modal": "true"
355
+ }, /*#__PURE__*/_react["default"].createElement(_pickers.DatePicker, {
356
+ variant: "static",
357
+ value: getValueForPicker(value !== null && value !== void 0 ? value : innerValue, format),
358
+ onChange: function onChange(date) {
359
+ return handleCalendarOnClick(date);
360
+ },
361
+ format: format,
362
+ disabled: disabled
363
+ }))))))));
364
+ });
365
+
366
+ var StyledDPicker = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])([""])));
367
+
368
+ var _default = DxcDateInput;
369
+ exports["default"] = _default;
@@ -0,0 +1,138 @@
1
+ import React from "react";
2
+ import { userEvent, within, fireEvent, screen } from "@storybook/testing-library";
3
+ import DxcDateInput from "./DateInput";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
7
+ import DarkContainer from "../../.storybook/components/DarkSection";
8
+
9
+ export default {
10
+ title: "Date input",
11
+ component: DxcDateInput,
12
+ };
13
+
14
+ export const Chromatic = () => (
15
+ <>
16
+ <ExampleContainer>
17
+ <Title title="Complete date input" theme="light" level={4} />
18
+ <DxcDateInput label="Date input" helperText="Help message" format="dd/mm/yy" placeholder optional />
19
+ </ExampleContainer>
20
+ <ExampleContainer>
21
+ <Title title="Disabled" theme="light" level={4} />
22
+ <DxcDateInput label="Disabled date input" helperText="Help message" defaultValue="06-04-2027" clearable disabled />
23
+ </ExampleContainer>
24
+ <ExampleContainer>
25
+ <Title title="Invalid" theme="light" level={4} />
26
+ <DxcDateInput label="Error date input" error="Error message." placeholder />
27
+ </ExampleContainer>
28
+ <ExampleContainer>
29
+ <Title title="Relation between icons" theme="light" level={4} />
30
+ <DxcDateInput label="Error date input" error="Error message." defaultValue="06-04-2027" clearable />
31
+ </ExampleContainer>
32
+ <BackgroundColorProvider color="#333333">
33
+ <DarkContainer>
34
+ <Title title="Dark" theme="dark" level={2} />
35
+ <ExampleContainer>
36
+ <Title title="Complete date input" theme="dark" level={4} />
37
+ <DxcDateInput label="Date input" helperText="Help message" format="yyyy/dd/mm" placeholder optional />
38
+ </ExampleContainer>
39
+ <ExampleContainer>
40
+ <Title title="Disabled" theme="dark" level={4} />
41
+ <DxcDateInput label="Disabled Date input" helperText="Help message" defaultValue="06-04-2027" clearable disabled />
42
+ </ExampleContainer>
43
+ <ExampleContainer>
44
+ <Title title="Invalid" theme="dark" level={4} />
45
+ <DxcDateInput label="Error date input" error="Error message." placeholder />
46
+ </ExampleContainer>
47
+ <ExampleContainer>
48
+ <Title title="Relation between icons" theme="dark" level={4} />
49
+ <DxcDateInput label="Error date input" defaultValue="06-04-2027" error="Error message." clearable />
50
+ </ExampleContainer>
51
+ </DarkContainer>
52
+ </BackgroundColorProvider>
53
+ <Title title="Margins" theme="light" level={2} />
54
+ <ExampleContainer>
55
+ <Title title="Xxsmall" theme="light" level={4} />
56
+ <DxcDateInput label="Xxsmall" margin="xxsmall" />
57
+ </ExampleContainer>
58
+ <ExampleContainer>
59
+ <Title title="Xsmall" theme="light" level={4} />
60
+ <DxcDateInput label="Xsmall" margin="xsmall" />
61
+ </ExampleContainer>
62
+ <ExampleContainer>
63
+ <Title title="Small" theme="light" level={4} />
64
+ <DxcDateInput label="Small" margin="small" />
65
+ </ExampleContainer>
66
+ <ExampleContainer>
67
+ <Title title="Medium" theme="light" level={4} />
68
+ <DxcDateInput label="Medium" margin="medium" />
69
+ </ExampleContainer>
70
+ <ExampleContainer>
71
+ <Title title="Large" theme="light" level={4} />
72
+ <DxcDateInput label="Large" margin="large" />
73
+ </ExampleContainer>
74
+ <ExampleContainer>
75
+ <Title title="Xlarge" theme="light" level={4} />
76
+ <DxcDateInput label="Xlarge" margin="xlarge" />
77
+ </ExampleContainer>
78
+ <ExampleContainer>
79
+ <Title title="Xxlarge" theme="light" level={4} />
80
+ <DxcDateInput label="Xxlarge" margin="xxlarge" />
81
+ </ExampleContainer>
82
+ <Title title="Sizes" theme="light" level={2} />
83
+ <ExampleContainer>
84
+ <Title title="Medium size" theme="light" level={4} />
85
+ <DxcDateInput label="Medium" size="medium" />
86
+ </ExampleContainer>
87
+ <ExampleContainer>
88
+ <Title title="Large size" theme="light" level={4} />
89
+ <DxcDateInput label="Large" size="large" />
90
+ </ExampleContainer>
91
+ <ExampleContainer>
92
+ <Title title="FillParent size" theme="light" level={4} />
93
+ <DxcDateInput label="FillParent" size="fillParent" />
94
+ </ExampleContainer>
95
+ </>
96
+ );
97
+
98
+ const DatePicker = () => (
99
+ <ExampleContainer expanded>
100
+ <Title title="Show date input" theme="light" level={4} />
101
+ <DxcDateInput label="Date input" defaultValue="10-06-2023" />
102
+ </ExampleContainer>
103
+ );
104
+
105
+ export const ShowDatePicker = DatePicker.bind({});
106
+ ShowDatePicker.play = async ({ canvasElement }) => {
107
+ const canvas = within(canvasElement);
108
+ const dateBtn = canvas.getByRole("button");
109
+ await userEvent.click(dateBtn);
110
+ await userEvent.tab();
111
+ };
112
+
113
+ const YearPicker = () => (
114
+ <ExampleContainer expanded>
115
+ <Title title="Show date input" theme="light" level={4} />
116
+ <DxcDateInput label="Date input" defaultValue="10-06-2023" />
117
+ </ExampleContainer>
118
+ );
119
+
120
+ export const ShowYearPicker = YearPicker.bind({});
121
+ ShowYearPicker.play = async () => {
122
+ await fireEvent.click(screen.getByRole("button"));
123
+ await fireEvent.click(screen.getByText("2023"));
124
+ };
125
+
126
+ const YearPickerFocus = () => (
127
+ <ExampleContainer expanded>
128
+ <Title title="Show date input" theme="light" level={4} />
129
+ <DxcDateInput label="Date input" defaultValue="10-06-2023" />
130
+ </ExampleContainer>
131
+ );
132
+
133
+ export const ShowYearPickerFocus = YearPickerFocus.bind({});
134
+ ShowYearPickerFocus.play = async () => {
135
+ await fireEvent.click(screen.getByRole("button"));
136
+ await fireEvent.click(screen.getByText("2023"));
137
+ await screen.getByText("2021").focus();
138
+ };