@dxc-technology/halstack-react 0.0.0-35a61c7 → 0.0.0-35ba783

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 (469) 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 +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/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 +13 -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} +149 -65
  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/number-input/NumberInputContext.js +19 -0
  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 +35 -23
  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/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +85 -163
  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 +740 -0
  215. package/select/Select.stories.tsx +582 -0
  216. package/select/Select.test.js +2016 -0
  217. package/select/types.d.ts +191 -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 +213 -0
  256. package/tabs/Tabs.stories.tsx +120 -0
  257. package/tabs/Tabs.test.js +123 -0
  258. package/tabs/types.d.ts +78 -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/{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/ThemeContext.js +0 -201
  298. package/dist/accordion/Accordion.js +0 -284
  299. package/dist/accordion/Accordion.stories.js +0 -207
  300. package/dist/accordion/readme.md +0 -96
  301. package/dist/accordion-group/AccordionGroup.js +0 -154
  302. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  303. package/dist/accordion-group/readme.md +0 -70
  304. package/dist/alert/Alert.js +0 -318
  305. package/dist/alert/Alert.stories.js +0 -158
  306. package/dist/alert/close.svg +0 -4
  307. package/dist/alert/error.svg +0 -4
  308. package/dist/alert/info.svg +0 -4
  309. package/dist/alert/readme.md +0 -43
  310. package/dist/alert/success.svg +0 -4
  311. package/dist/alert/warning.svg +0 -4
  312. package/dist/badge/Badge.js +0 -40
  313. package/dist/box/Box.js +0 -147
  314. package/dist/button/Button.js +0 -219
  315. package/dist/button/Button.stories.js +0 -224
  316. package/dist/button/readme.md +0 -93
  317. package/dist/card/Card.js +0 -247
  318. package/dist/checkbox/Checkbox.js +0 -233
  319. package/dist/checkbox/Checkbox.stories.js +0 -144
  320. package/dist/checkbox/readme.md +0 -116
  321. package/dist/chip/Chip.js +0 -223
  322. package/dist/common/utils.js +0 -42
  323. package/dist/common/variables.js +0 -523
  324. package/dist/date/Date.js +0 -357
  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 -203
  330. package/dist/dialog/Dialog.stories.js +0 -217
  331. package/dist/dialog/readme.md +0 -32
  332. package/dist/dropdown/Dropdown.js +0 -456
  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 -379
  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 -385
  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_blk_rgb.svg +0 -6
  348. package/dist/header/dxc_logo_white.png +0 -0
  349. package/dist/header/hamb_menu_black.svg +0 -1
  350. package/dist/header/hamb_menu_white.svg +0 -1
  351. package/dist/header/readme.md +0 -33
  352. package/dist/heading/Heading.js +0 -163
  353. package/dist/input-text/InputText.js +0 -609
  354. package/dist/input-text/InputText.stories.js +0 -209
  355. package/dist/input-text/error.svg +0 -1
  356. package/dist/input-text/readme.md +0 -91
  357. package/dist/layout/ApplicationLayout.js +0 -331
  358. package/dist/layout/facebook.svg +0 -45
  359. package/dist/layout/linkedin.svg +0 -50
  360. package/dist/layout/twitter.svg +0 -53
  361. package/dist/link/Link.js +0 -200
  362. package/dist/link/readme.md +0 -51
  363. package/dist/paginator/Paginator.js +0 -261
  364. package/dist/paginator/images/next.svg +0 -3
  365. package/dist/paginator/images/nextPage.svg +0 -3
  366. package/dist/paginator/images/previous.svg +0 -3
  367. package/dist/paginator/images/previousPage.svg +0 -3
  368. package/dist/paginator/readme.md +0 -50
  369. package/dist/progress-bar/ProgressBar.js +0 -192
  370. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  371. package/dist/progress-bar/readme.md +0 -63
  372. package/dist/radio/Radio.js +0 -190
  373. package/dist/radio/Radio.stories.js +0 -166
  374. package/dist/radio/readme.md +0 -70
  375. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  376. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  377. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  378. package/dist/select/Select.js +0 -490
  379. package/dist/select/Select.stories.js +0 -235
  380. package/dist/select/readme.md +0 -72
  381. package/dist/sidenav/Sidenav.js +0 -155
  382. package/dist/slider/Slider.js +0 -267
  383. package/dist/slider/Slider.stories.js +0 -241
  384. package/dist/slider/readme.md +0 -64
  385. package/dist/spinner/Spinner.js +0 -198
  386. package/dist/spinner/Spinner.stories.js +0 -183
  387. package/dist/spinner/readme.md +0 -65
  388. package/dist/switch/Switch.js +0 -194
  389. package/dist/switch/Switch.stories.js +0 -134
  390. package/dist/switch/readme.md +0 -133
  391. package/dist/table/Table.js +0 -98
  392. package/dist/tabs/Tabs.js +0 -325
  393. package/dist/tabs/Tabs.stories.js +0 -130
  394. package/dist/tabs/readme.md +0 -78
  395. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  396. package/dist/tabs-for-sections/readme.md +0 -78
  397. package/dist/tag/Tag.js +0 -268
  398. package/dist/textarea/Textarea.js +0 -238
  399. package/dist/toggle/Toggle.js +0 -220
  400. package/dist/toggle/Toggle.stories.js +0 -297
  401. package/dist/toggle/readme.md +0 -80
  402. package/dist/toggle-group/ToggleGroup.js +0 -223
  403. package/dist/toggle-group/readme.md +0 -82
  404. package/dist/upload/Upload.js +0 -209
  405. package/dist/upload/Upload.stories.js +0 -72
  406. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -123
  407. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  408. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  409. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -293
  410. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  411. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  412. package/dist/upload/file-upload/FileToUpload.js +0 -162
  413. package/dist/upload/file-upload/audio-icon.svg +0 -4
  414. package/dist/upload/file-upload/close.svg +0 -4
  415. package/dist/upload/file-upload/file-icon.svg +0 -4
  416. package/dist/upload/file-upload/video-icon.svg +0 -4
  417. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  418. package/dist/upload/readme.md +0 -37
  419. package/dist/upload/transaction/Transaction.js +0 -152
  420. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  421. package/dist/upload/transaction/audio-icon.svg +0 -4
  422. package/dist/upload/transaction/error-icon.svg +0 -4
  423. package/dist/upload/transaction/file-icon-err.svg +0 -4
  424. package/dist/upload/transaction/file-icon.svg +0 -4
  425. package/dist/upload/transaction/image-icon-err.svg +0 -4
  426. package/dist/upload/transaction/image-icon.svg +0 -4
  427. package/dist/upload/transaction/success-icon.svg +0 -4
  428. package/dist/upload/transaction/video-icon-err.svg +0 -4
  429. package/dist/upload/transaction/video-icon.svg +0 -4
  430. package/dist/upload/transactions/Transactions.js +0 -122
  431. package/dist/wizard/Wizard.js +0 -355
  432. package/dist/wizard/invalid_icon.svg +0 -6
  433. package/dist/wizard/valid_icon.svg +0 -6
  434. package/dist/wizard/validation-wrong.svg +0 -6
  435. package/test/Accordion.test.js +0 -33
  436. package/test/AccordionGroup.test.js +0 -125
  437. package/test/Alert.test.js +0 -53
  438. package/test/Box.test.js +0 -10
  439. package/test/Button.test.js +0 -18
  440. package/test/Card.test.js +0 -30
  441. package/test/Checkbox.test.js +0 -45
  442. package/test/Chip.test.js +0 -25
  443. package/test/Date.test.js +0 -393
  444. package/test/Dialog.test.js +0 -23
  445. package/test/Dropdown.test.js +0 -130
  446. package/test/Footer.test.js +0 -99
  447. package/test/Header.test.js +0 -39
  448. package/test/Heading.test.js +0 -35
  449. package/test/InputText.test.js +0 -240
  450. package/test/Link.test.js +0 -42
  451. package/test/Paginator.test.js +0 -177
  452. package/test/ProgressBar.test.js +0 -35
  453. package/test/Radio.test.js +0 -37
  454. package/test/ResultsetTable.test.js +0 -330
  455. package/test/Select.test.js +0 -192
  456. package/test/Sidenav.test.js +0 -45
  457. package/test/Slider.test.js +0 -82
  458. package/test/Spinner.test.js +0 -27
  459. package/test/Switch.test.js +0 -45
  460. package/test/Table.test.js +0 -36
  461. package/test/Tabs.test.js +0 -109
  462. package/test/TabsForSections.test.js +0 -34
  463. package/test/Tag.test.js +0 -32
  464. package/test/TextArea.test.js +0 -52
  465. package/test/ToggleGroup.test.js +0 -81
  466. package/test/Upload.test.js +0 -60
  467. package/test/Wizard.test.js +0 -130
  468. package/test/mocks/pngMock.js +0 -1
  469. 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
+ };