@dxc-technology/halstack-react 0.0.0-4988eb8 → 0.0.0-49c38a4

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