@dxc-technology/halstack-react 0.0.0-878c09d → 0.0.0-891fa95

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