@dxc-technology/halstack-react 0.0.0-2c8be25 → 0.0.0-2d5bb6f

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 (484) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +37 -0
  3. package/HalstackContext.d.ts +13 -0
  4. package/HalstackContext.js +318 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +203 -0
  7. package/accordion/Accordion.stories.tsx +395 -0
  8. package/accordion/Accordion.test.js +56 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +121 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +108 -0
  15. package/accordion-group/types.d.ts +79 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/{dist/alert → alert}/Alert.js +57 -198
  19. package/alert/Alert.stories.tsx +198 -0
  20. package/alert/Alert.test.js +75 -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 +49 -0
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +43 -0
  29. package/bleed/Bleed.stories.tsx +341 -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 +97 -0
  34. package/box/Box.stories.tsx +147 -0
  35. package/box/Box.test.js +13 -0
  36. package/box/types.d.ts +44 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +98 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +4 -0
  44. package/button/Button.js +132 -0
  45. package/button/Button.stories.tsx +425 -0
  46. package/button/Button.test.js +26 -0
  47. package/button/types.d.ts +53 -0
  48. package/button/types.js +5 -0
  49. package/card/Card.d.ts +4 -0
  50. package/card/Card.js +138 -0
  51. package/card/Card.stories.tsx +201 -0
  52. package/card/Card.test.js +39 -0
  53. package/card/ice-cream.jpg +0 -0
  54. package/card/types.d.ts +68 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/checkbox/Checkbox.js +206 -0
  58. package/checkbox/Checkbox.stories.tsx +260 -0
  59. package/checkbox/Checkbox.test.js +128 -0
  60. package/checkbox/types.d.ts +68 -0
  61. package/checkbox/types.js +5 -0
  62. package/chip/Chip.d.ts +4 -0
  63. package/chip/Chip.js +137 -0
  64. package/chip/Chip.stories.tsx +206 -0
  65. package/chip/Chip.test.js +42 -0
  66. package/chip/types.d.ts +45 -0
  67. package/chip/types.js +5 -0
  68. package/{dist/common → common}/utils.js +1 -6
  69. package/common/variables.d.ts +1431 -0
  70. package/{dist/common → common}/variables.js +588 -624
  71. package/date-input/Calendar.d.ts +4 -0
  72. package/date-input/Calendar.js +215 -0
  73. package/date-input/DateInput.d.ts +4 -0
  74. package/date-input/DateInput.js +222 -0
  75. package/date-input/DateInput.stories.tsx +304 -0
  76. package/date-input/DateInput.test.js +648 -0
  77. package/date-input/DatePicker.d.ts +4 -0
  78. package/date-input/DatePicker.js +116 -0
  79. package/date-input/Icons.d.ts +6 -0
  80. package/date-input/Icons.js +63 -0
  81. package/date-input/YearPicker.d.ts +4 -0
  82. package/date-input/YearPicker.js +101 -0
  83. package/date-input/types.d.ts +158 -0
  84. package/date-input/types.js +5 -0
  85. package/dialog/Dialog.d.ts +4 -0
  86. package/dialog/Dialog.js +134 -0
  87. package/dialog/Dialog.stories.tsx +289 -0
  88. package/dialog/Dialog.test.js +56 -0
  89. package/dialog/types.d.ts +44 -0
  90. package/dialog/types.js +5 -0
  91. package/dropdown/Dropdown.d.ts +4 -0
  92. package/dropdown/Dropdown.js +334 -0
  93. package/dropdown/Dropdown.stories.tsx +438 -0
  94. package/dropdown/Dropdown.test.js +479 -0
  95. package/dropdown/DropdownMenu.d.ts +4 -0
  96. package/dropdown/DropdownMenu.js +60 -0
  97. package/dropdown/DropdownMenuItem.d.ts +4 -0
  98. package/dropdown/DropdownMenuItem.js +70 -0
  99. package/dropdown/types.d.ts +100 -0
  100. package/dropdown/types.js +5 -0
  101. package/file-input/FileInput.d.ts +4 -0
  102. package/file-input/FileInput.js +463 -0
  103. package/file-input/FileInput.stories.tsx +618 -0
  104. package/file-input/FileInput.test.js +445 -0
  105. package/file-input/FileItem.d.ts +4 -0
  106. package/file-input/FileItem.js +135 -0
  107. package/file-input/types.d.ts +129 -0
  108. package/file-input/types.js +5 -0
  109. package/flex/Flex.d.ts +4 -0
  110. package/flex/Flex.js +57 -0
  111. package/flex/Flex.stories.tsx +103 -0
  112. package/flex/types.d.ts +32 -0
  113. package/flex/types.js +5 -0
  114. package/footer/Footer.d.ts +4 -0
  115. package/footer/Footer.js +153 -0
  116. package/footer/Footer.stories.tsx +228 -0
  117. package/footer/Footer.test.js +92 -0
  118. package/footer/Icons.d.ts +2 -0
  119. package/{dist/footer → footer}/Icons.js +16 -20
  120. package/footer/types.d.ts +66 -0
  121. package/footer/types.js +5 -0
  122. package/header/Header.d.ts +7 -0
  123. package/header/Header.js +259 -0
  124. package/header/Header.stories.tsx +315 -0
  125. package/header/Header.test.js +66 -0
  126. package/header/Icons.d.ts +2 -0
  127. package/{dist/header → header}/Icons.js +9 -38
  128. package/header/types.d.ts +48 -0
  129. package/header/types.js +5 -0
  130. package/heading/Heading.d.ts +4 -0
  131. package/{dist/heading → heading}/Heading.js +31 -123
  132. package/heading/Heading.stories.tsx +54 -0
  133. package/heading/Heading.test.js +169 -0
  134. package/heading/types.d.ts +33 -0
  135. package/heading/types.js +5 -0
  136. package/inset/Inset.d.ts +3 -0
  137. package/inset/Inset.js +43 -0
  138. package/inset/Inset.stories.tsx +229 -0
  139. package/inset/types.d.ts +37 -0
  140. package/inset/types.js +5 -0
  141. package/layout/ApplicationLayout.d.ts +20 -0
  142. package/layout/ApplicationLayout.js +132 -0
  143. package/layout/ApplicationLayout.stories.tsx +162 -0
  144. package/layout/Icons.d.ts +5 -0
  145. package/{dist/layout → layout}/Icons.js +17 -16
  146. package/layout/SidenavContext.d.ts +5 -0
  147. package/layout/SidenavContext.js +15 -0
  148. package/layout/types.d.ts +42 -0
  149. package/layout/types.js +5 -0
  150. package/link/Link.d.ts +4 -0
  151. package/link/Link.js +116 -0
  152. package/link/Link.stories.tsx +253 -0
  153. package/link/Link.test.js +65 -0
  154. package/link/types.d.ts +54 -0
  155. package/link/types.js +5 -0
  156. package/main.d.ts +44 -0
  157. package/{dist/main.js → main.js} +102 -139
  158. package/nav-tabs/NavTabs.d.ts +8 -0
  159. package/nav-tabs/NavTabs.js +95 -0
  160. package/nav-tabs/NavTabs.stories.tsx +260 -0
  161. package/nav-tabs/NavTabs.test.js +75 -0
  162. package/nav-tabs/Tab.d.ts +4 -0
  163. package/nav-tabs/Tab.js +120 -0
  164. package/nav-tabs/types.d.ts +53 -0
  165. package/nav-tabs/types.js +5 -0
  166. package/number-input/NumberInput.d.ts +4 -0
  167. package/number-input/NumberInput.js +66 -0
  168. package/number-input/NumberInput.stories.tsx +115 -0
  169. package/number-input/NumberInput.test.js +406 -0
  170. package/number-input/NumberInputContext.d.ts +4 -0
  171. package/{dist/number-input → number-input}/NumberInputContext.js +4 -6
  172. package/number-input/numberInputContextTypes.d.ts +19 -0
  173. package/number-input/numberInputContextTypes.js +5 -0
  174. package/number-input/types.d.ts +124 -0
  175. package/number-input/types.js +5 -0
  176. package/package.json +36 -34
  177. package/paginator/Icons.d.ts +5 -0
  178. package/paginator/Icons.js +44 -0
  179. package/paginator/Paginator.d.ts +4 -0
  180. package/paginator/Paginator.js +141 -0
  181. package/paginator/Paginator.stories.tsx +87 -0
  182. package/paginator/Paginator.test.js +266 -0
  183. package/paginator/types.d.ts +38 -0
  184. package/paginator/types.js +5 -0
  185. package/paragraph/Paragraph.d.ts +6 -0
  186. package/paragraph/Paragraph.js +28 -0
  187. package/paragraph/Paragraph.stories.tsx +44 -0
  188. package/password-input/PasswordInput.d.ts +4 -0
  189. package/password-input/PasswordInput.js +137 -0
  190. package/password-input/PasswordInput.stories.tsx +131 -0
  191. package/password-input/PasswordInput.test.js +138 -0
  192. package/password-input/types.d.ts +110 -0
  193. package/password-input/types.js +5 -0
  194. package/progress-bar/ProgressBar.d.ts +4 -0
  195. package/progress-bar/ProgressBar.js +151 -0
  196. package/progress-bar/ProgressBar.stories.jsx +93 -0
  197. package/progress-bar/ProgressBar.test.js +93 -0
  198. package/progress-bar/types.d.ts +36 -0
  199. package/progress-bar/types.js +5 -0
  200. package/quick-nav/QuickNav.d.ts +4 -0
  201. package/quick-nav/QuickNav.js +95 -0
  202. package/quick-nav/QuickNav.stories.tsx +356 -0
  203. package/quick-nav/types.d.ts +21 -0
  204. package/quick-nav/types.js +5 -0
  205. package/radio-group/Radio.d.ts +4 -0
  206. package/radio-group/Radio.js +125 -0
  207. package/radio-group/RadioGroup.d.ts +4 -0
  208. package/radio-group/RadioGroup.js +238 -0
  209. package/radio-group/RadioGroup.stories.tsx +214 -0
  210. package/radio-group/RadioGroup.test.js +620 -0
  211. package/radio-group/types.d.ts +114 -0
  212. package/radio-group/types.js +5 -0
  213. package/resultsetTable/Icons.d.ts +7 -0
  214. package/resultsetTable/Icons.js +48 -0
  215. package/resultsetTable/ResultsetTable.d.ts +4 -0
  216. package/resultsetTable/ResultsetTable.js +160 -0
  217. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  218. package/resultsetTable/ResultsetTable.test.js +292 -0
  219. package/resultsetTable/types.d.ts +67 -0
  220. package/resultsetTable/types.js +5 -0
  221. package/select/Icons.d.ts +10 -0
  222. package/select/Icons.js +90 -0
  223. package/select/Listbox.d.ts +4 -0
  224. package/select/Listbox.js +144 -0
  225. package/select/Option.d.ts +4 -0
  226. package/select/Option.js +81 -0
  227. package/select/Select.d.ts +4 -0
  228. package/select/Select.js +579 -0
  229. package/select/Select.stories.tsx +971 -0
  230. package/select/Select.test.js +1845 -0
  231. package/select/types.d.ts +210 -0
  232. package/select/types.js +5 -0
  233. package/sidenav/Sidenav.d.ts +10 -0
  234. package/sidenav/Sidenav.js +226 -0
  235. package/sidenav/Sidenav.stories.tsx +282 -0
  236. package/sidenav/Sidenav.test.js +37 -0
  237. package/sidenav/types.d.ts +73 -0
  238. package/sidenav/types.js +5 -0
  239. package/slider/Slider.d.ts +4 -0
  240. package/slider/Slider.js +296 -0
  241. package/slider/Slider.stories.tsx +240 -0
  242. package/slider/Slider.test.js +222 -0
  243. package/slider/types.d.ts +86 -0
  244. package/slider/types.js +5 -0
  245. package/spinner/Spinner.d.ts +4 -0
  246. package/spinner/Spinner.js +221 -0
  247. package/spinner/Spinner.stories.jsx +129 -0
  248. package/spinner/Spinner.test.js +55 -0
  249. package/spinner/types.d.ts +32 -0
  250. package/spinner/types.js +5 -0
  251. package/switch/Switch.d.ts +4 -0
  252. package/switch/Switch.js +220 -0
  253. package/switch/Switch.stories.tsx +171 -0
  254. package/switch/Switch.test.js +180 -0
  255. package/switch/types.d.ts +66 -0
  256. package/switch/types.js +5 -0
  257. package/table/Table.d.ts +4 -0
  258. package/{dist/table → table}/Table.js +15 -47
  259. package/table/Table.stories.jsx +356 -0
  260. package/table/Table.test.js +21 -0
  261. package/table/types.d.ts +21 -0
  262. package/table/types.js +5 -0
  263. package/tabs/Tab.d.ts +4 -0
  264. package/tabs/Tab.js +115 -0
  265. package/tabs/Tabs.d.ts +4 -0
  266. package/tabs/Tabs.js +392 -0
  267. package/tabs/Tabs.stories.tsx +226 -0
  268. package/tabs/Tabs.test.js +295 -0
  269. package/tabs/types.d.ts +92 -0
  270. package/tabs/types.js +5 -0
  271. package/tag/Tag.d.ts +4 -0
  272. package/tag/Tag.js +154 -0
  273. package/tag/Tag.stories.tsx +155 -0
  274. package/tag/Tag.test.js +49 -0
  275. package/tag/types.d.ts +69 -0
  276. package/tag/types.js +5 -0
  277. package/text-input/Icons.d.ts +8 -0
  278. package/text-input/Icons.js +57 -0
  279. package/text-input/Suggestion.d.ts +4 -0
  280. package/text-input/Suggestion.js +68 -0
  281. package/text-input/Suggestions.d.ts +4 -0
  282. package/text-input/Suggestions.js +109 -0
  283. package/text-input/TextInput.d.ts +4 -0
  284. package/text-input/TextInput.js +588 -0
  285. package/text-input/TextInput.stories.tsx +569 -0
  286. package/text-input/TextInput.test.js +1404 -0
  287. package/text-input/types.d.ts +197 -0
  288. package/text-input/types.js +5 -0
  289. package/textarea/Textarea.d.ts +4 -0
  290. package/{dist/textarea → textarea}/Textarea.js +79 -207
  291. package/textarea/Textarea.stories.jsx +216 -0
  292. package/textarea/Textarea.test.js +360 -0
  293. package/textarea/types.d.ts +137 -0
  294. package/textarea/types.js +5 -0
  295. package/toggle-group/ToggleGroup.d.ts +4 -0
  296. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +52 -199
  297. package/toggle-group/ToggleGroup.stories.tsx +215 -0
  298. package/toggle-group/ToggleGroup.test.js +124 -0
  299. package/toggle-group/types.d.ts +105 -0
  300. package/toggle-group/types.js +5 -0
  301. package/translatedLabelsType.d.ts +82 -0
  302. package/translatedLabelsType.js +5 -0
  303. package/typography/Typography.d.ts +4 -0
  304. package/typography/Typography.js +119 -0
  305. package/typography/Typography.stories.tsx +198 -0
  306. package/typography/types.d.ts +18 -0
  307. package/typography/types.js +5 -0
  308. package/useTheme.d.ts +2 -0
  309. package/{dist/useTheme.js → useTheme.js} +3 -9
  310. package/useTranslatedLabels.d.ts +3 -0
  311. package/useTranslatedLabels.js +15 -0
  312. package/wizard/Wizard.d.ts +4 -0
  313. package/wizard/Wizard.js +251 -0
  314. package/wizard/Wizard.stories.tsx +253 -0
  315. package/wizard/Wizard.test.js +114 -0
  316. package/wizard/types.d.ts +65 -0
  317. package/wizard/types.js +5 -0
  318. package/README.md +0 -66
  319. package/babel.config.js +0 -7
  320. package/dist/BackgroundColorContext.js +0 -46
  321. package/dist/ThemeContext.js +0 -250
  322. package/dist/V3Select/V3Select.js +0 -549
  323. package/dist/V3Select/index.d.ts +0 -27
  324. package/dist/V3Textarea/V3Textarea.js +0 -264
  325. package/dist/V3Textarea/index.d.ts +0 -27
  326. package/dist/accordion/Accordion.js +0 -353
  327. package/dist/accordion/index.d.ts +0 -28
  328. package/dist/accordion-group/AccordionGroup.js +0 -186
  329. package/dist/accordion-group/index.d.ts +0 -16
  330. package/dist/alert/index.d.ts +0 -51
  331. package/dist/badge/Badge.js +0 -63
  332. package/dist/box/Box.js +0 -156
  333. package/dist/box/index.d.ts +0 -25
  334. package/dist/button/Button.js +0 -238
  335. package/dist/button/index.d.ts +0 -24
  336. package/dist/card/Card.js +0 -254
  337. package/dist/card/index.d.ts +0 -22
  338. package/dist/checkbox/Checkbox.js +0 -299
  339. package/dist/checkbox/index.d.ts +0 -24
  340. package/dist/chip/Chip.js +0 -265
  341. package/dist/chip/index.d.ts +0 -22
  342. package/dist/common/RequiredComponent.js +0 -40
  343. package/dist/date/Date.js +0 -379
  344. package/dist/date/index.d.ts +0 -27
  345. package/dist/date-input/DateInput.js +0 -400
  346. package/dist/date-input/index.d.ts +0 -95
  347. package/dist/dialog/Dialog.js +0 -218
  348. package/dist/dialog/index.d.ts +0 -18
  349. package/dist/dropdown/Dropdown.js +0 -544
  350. package/dist/dropdown/index.d.ts +0 -26
  351. package/dist/file-input/FileInput.js +0 -644
  352. package/dist/file-input/FileItem.js +0 -287
  353. package/dist/file-input/index.d.ts +0 -81
  354. package/dist/footer/Footer.js +0 -421
  355. package/dist/footer/index.d.ts +0 -25
  356. package/dist/header/Header.js +0 -470
  357. package/dist/header/index.d.ts +0 -25
  358. package/dist/heading/index.d.ts +0 -17
  359. package/dist/input-text/Icons.js +0 -22
  360. package/dist/input-text/InputText.js +0 -705
  361. package/dist/input-text/index.d.ts +0 -36
  362. package/dist/layout/ApplicationLayout.js +0 -327
  363. package/dist/link/Link.js +0 -237
  364. package/dist/link/index.d.ts +0 -23
  365. package/dist/main.d.ts +0 -40
  366. package/dist/number-input/NumberInput.js +0 -136
  367. package/dist/number-input/index.d.ts +0 -113
  368. package/dist/paginator/Icons.js +0 -66
  369. package/dist/paginator/Paginator.js +0 -305
  370. package/dist/paginator/index.d.ts +0 -20
  371. package/dist/password-input/PasswordInput.js +0 -203
  372. package/dist/password-input/index.d.ts +0 -94
  373. package/dist/progress-bar/ProgressBar.js +0 -242
  374. package/dist/progress-bar/index.d.ts +0 -18
  375. package/dist/radio/Radio.js +0 -209
  376. package/dist/radio/index.d.ts +0 -23
  377. package/dist/resultsetTable/ResultsetTable.js +0 -358
  378. package/dist/resultsetTable/index.d.ts +0 -19
  379. package/dist/select/Select.js +0 -1096
  380. package/dist/select/index.d.ts +0 -53
  381. package/dist/sidenav/Sidenav.js +0 -179
  382. package/dist/sidenav/index.d.ts +0 -13
  383. package/dist/slider/Slider.js +0 -404
  384. package/dist/slider/index.d.ts +0 -29
  385. package/dist/spinner/Spinner.js +0 -381
  386. package/dist/spinner/index.d.ts +0 -17
  387. package/dist/stories/Button.js +0 -71
  388. package/dist/stories/Button.stories.js +0 -55
  389. package/dist/stories/Header.js +0 -67
  390. package/dist/stories/Header.stories.js +0 -31
  391. package/dist/stories/Introduction.stories.mdx +0 -211
  392. package/dist/stories/Page.js +0 -68
  393. package/dist/stories/Page.stories.js +0 -39
  394. package/dist/stories/assets/code-brackets.svg +0 -1
  395. package/dist/stories/assets/colors.svg +0 -1
  396. package/dist/stories/assets/comments.svg +0 -1
  397. package/dist/stories/assets/direction.svg +0 -1
  398. package/dist/stories/assets/flow.svg +0 -1
  399. package/dist/stories/assets/plugin.svg +0 -1
  400. package/dist/stories/assets/repo.svg +0 -1
  401. package/dist/stories/assets/stackalt.svg +0 -1
  402. package/dist/stories/button.css +0 -30
  403. package/dist/stories/header.css +0 -26
  404. package/dist/stories/page.css +0 -69
  405. package/dist/switch/Switch.js +0 -222
  406. package/dist/switch/index.d.ts +0 -24
  407. package/dist/table/index.d.ts +0 -13
  408. package/dist/tabs/Tabs.js +0 -343
  409. package/dist/tabs/index.d.ts +0 -19
  410. package/dist/tag/Tag.js +0 -282
  411. package/dist/tag/index.d.ts +0 -24
  412. package/dist/text-input/TextInput.js +0 -974
  413. package/dist/text-input/index.d.ts +0 -135
  414. package/dist/textarea/index.d.ts +0 -117
  415. package/dist/toggle/Toggle.js +0 -220
  416. package/dist/toggle/index.d.ts +0 -21
  417. package/dist/toggle-group/index.d.ts +0 -21
  418. package/dist/upload/Upload.js +0 -205
  419. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  420. package/dist/upload/buttons-upload/Icons.js +0 -40
  421. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  422. package/dist/upload/dragAndDropArea/Icons.js +0 -39
  423. package/dist/upload/file-upload/FileToUpload.js +0 -189
  424. package/dist/upload/file-upload/Icons.js +0 -66
  425. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  426. package/dist/upload/index.d.ts +0 -15
  427. package/dist/upload/transaction/Icons.js +0 -160
  428. package/dist/upload/transaction/Transaction.js +0 -148
  429. package/dist/upload/transactions/Transactions.js +0 -138
  430. package/dist/wizard/Icons.js +0 -65
  431. package/dist/wizard/Wizard.js +0 -405
  432. package/dist/wizard/index.d.ts +0 -18
  433. package/test/Accordion.test.js +0 -33
  434. package/test/AccordionGroup.test.js +0 -125
  435. package/test/Alert.test.js +0 -53
  436. package/test/Box.test.js +0 -10
  437. package/test/Button.test.js +0 -18
  438. package/test/Card.test.js +0 -30
  439. package/test/Checkbox.test.js +0 -45
  440. package/test/Chip.test.js +0 -25
  441. package/test/Date.test.js +0 -395
  442. package/test/DateInput.test.js +0 -242
  443. package/test/Dialog.test.js +0 -23
  444. package/test/Dropdown.test.js +0 -145
  445. package/test/FileInput.test.js +0 -201
  446. package/test/Footer.test.js +0 -94
  447. package/test/Header.test.js +0 -34
  448. package/test/Heading.test.js +0 -83
  449. package/test/InputText.test.js +0 -239
  450. package/test/Link.test.js +0 -43
  451. package/test/NumberInput.test.js +0 -259
  452. package/test/Paginator.test.js +0 -181
  453. package/test/PasswordInput.test.js +0 -83
  454. package/test/ProgressBar.test.js +0 -35
  455. package/test/Radio.test.js +0 -37
  456. package/test/ResultsetTable.test.js +0 -330
  457. package/test/Select.test.js +0 -415
  458. package/test/Sidenav.test.js +0 -45
  459. package/test/Slider.test.js +0 -74
  460. package/test/Spinner.test.js +0 -32
  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/Tag.test.js +0 -32
  465. package/test/TextInput.test.js +0 -732
  466. package/test/Textarea.test.js +0 -193
  467. package/test/ToggleGroup.test.js +0 -85
  468. package/test/Upload.test.js +0 -60
  469. package/test/V3Select.test.js +0 -212
  470. package/test/V3TextArea.test.js +0 -51
  471. package/test/Wizard.test.js +0 -130
  472. package/test/mocks/pngMock.js +0 -1
  473. package/test/mocks/svgMock.js +0 -1
  474. /package/{dist/common → common}/OpenSans.css +0 -0
  475. /package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  476. /package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  477. /package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  478. /package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  479. /package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  480. /package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  481. /package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  482. /package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  483. /package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  484. /package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
@@ -0,0 +1,620 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
7
+ var _RadioGroup = _interopRequireDefault(require("./RadioGroup.tsx"));
8
+ var options = [{
9
+ label: "Option 01",
10
+ value: "1"
11
+ }, {
12
+ label: "Option 02",
13
+ value: "2"
14
+ }, {
15
+ label: "Option 03",
16
+ value: "3"
17
+ }, {
18
+ label: "Option 04",
19
+ value: "4"
20
+ }, {
21
+ label: "Option 05",
22
+ value: "5"
23
+ }, {
24
+ label: "Option 06",
25
+ value: "6"
26
+ }, {
27
+ label: "Option 07",
28
+ value: "7"
29
+ }, {
30
+ label: "Option 08",
31
+ value: "8"
32
+ }, {
33
+ label: "Option 09",
34
+ value: "9"
35
+ }];
36
+ var singleDisabledOptions = [{
37
+ label: "Option 01",
38
+ value: "1"
39
+ }, {
40
+ label: "Option 02",
41
+ value: "2"
42
+ }, {
43
+ label: "Option 03",
44
+ value: "3",
45
+ disabled: true
46
+ }];
47
+ describe("Radio Group component tests", function () {
48
+ test("Initial render has correct aria attributes and tabIndex", function () {
49
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
50
+ label: "test-radioGroup-label",
51
+ options: options,
52
+ error: ""
53
+ })),
54
+ getByRole = _render.getByRole,
55
+ getAllByRole = _render.getAllByRole,
56
+ getByText = _render.getByText,
57
+ container = _render.container;
58
+ var radioGroup = getByRole("radiogroup");
59
+ var radios = getAllByRole("radio");
60
+ var errorId = "error-".concat(getByText("test-radioGroup-label").id.replace("label-", ""));
61
+ var error = container.querySelector("#".concat(errorId));
62
+ expect(radioGroup.getAttribute("aria-disabled")).toBe("false");
63
+ expect(radioGroup.getAttribute("aria-labelledby")).toBe(getByText("test-radioGroup-label").id);
64
+ expect(radioGroup.getAttribute("aria-invalid")).toBe("false");
65
+ expect(radioGroup.getAttribute("aria-required")).toBe("true");
66
+ expect(radioGroup.getAttribute("aria-orientation")).toBe("vertical");
67
+ expect(error.getAttribute("aria-live")).toBe("off");
68
+ radios.forEach(function (radio, index) {
69
+ // if no option was previously selected, first option is the focusable one
70
+ index === 0 ? expect(radio.tabIndex).toBe(0) : expect(radio.tabIndex).toBe(-1);
71
+ expect(radio.getAttribute("aria-checked")).toBe("false");
72
+ expect(radio.getAttribute("aria-disabled")).toBe("false");
73
+ expect(radio.getAttribute("aria-labelledby")).toBe(getByText("Option 0".concat(index + 1)).id);
74
+ });
75
+ });
76
+ test("aria-orientation attribute changes depending on stacking prop value", function () {
77
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
78
+ label: "test-radioGroup-label",
79
+ options: options,
80
+ stacking: "row"
81
+ })),
82
+ getByRole = _render2.getByRole;
83
+ var radioGroup = getByRole("radiogroup");
84
+ expect(radioGroup.getAttribute("aria-orientation")).toBe("horizontal");
85
+ });
86
+ test("Sends its value when submitted", function () {
87
+ var handlerOnSubmit = jest.fn(function (e) {
88
+ e.preventDefault();
89
+ var formData = new FormData(e.target);
90
+ var formProps = Object.fromEntries(formData);
91
+ expect(formProps).toStrictEqual({
92
+ radiogroup: "5"
93
+ });
94
+ });
95
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
96
+ onSubmit: handlerOnSubmit
97
+ }, /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
98
+ name: "radiogroup",
99
+ label: "test-radio-group-label",
100
+ options: options
101
+ }), /*#__PURE__*/_react["default"].createElement("button", {
102
+ type: "submit"
103
+ }, "Submit"))),
104
+ getByText = _render3.getByText,
105
+ getByRole = _render3.getByRole,
106
+ getAllByRole = _render3.getAllByRole;
107
+ var radioGroup = getByRole("radiogroup");
108
+ var submit = getByText("Submit");
109
+ _userEvent["default"].click(radioGroup);
110
+ _userEvent["default"].click(getAllByRole("radio")[4]);
111
+ _userEvent["default"].click(submit);
112
+ });
113
+ test("Disabled state renders with correct aria attribute, correct tabIndex values and it is not focusable by keyboard", function () {
114
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
115
+ label: "test-radioGroup-label",
116
+ options: options,
117
+ disabled: true
118
+ })),
119
+ getByRole = _render4.getByRole,
120
+ getAllByRole = _render4.getAllByRole;
121
+ var radioGroup = getByRole("radiogroup");
122
+ var radios = getAllByRole("radio");
123
+ expect(radioGroup.getAttribute("aria-disabled")).toBe("true");
124
+ radios.forEach(function (radio) {
125
+ expect(radio.tabIndex).toBe(-1);
126
+ });
127
+ _react2.fireEvent.keyDown(radioGroup, {
128
+ key: " ",
129
+ code: "Space",
130
+ keyCode: 13,
131
+ charCode: 13
132
+ });
133
+ _react2.fireEvent.keyDown(radioGroup, {
134
+ key: "ArrowLeft",
135
+ code: "ArrowLeft",
136
+ keyCode: 37,
137
+ charCode: 37
138
+ });
139
+ _react2.fireEvent.keyDown(radioGroup, {
140
+ key: "ArrowDown",
141
+ code: "ArrowDown",
142
+ keyCode: 40,
143
+ charCode: 40
144
+ });
145
+ radios.forEach(function (radio) {
146
+ expect(radio.tabIndex).toBe(-1);
147
+ });
148
+ });
149
+ test("Disabled option renders with correct aria attribute, correct tabIndex value and it is not focusable by keyboard (focus 'jumps' the disabled option)", function () {
150
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
151
+ name: "test",
152
+ label: "test-radioGroup-label",
153
+ options: singleDisabledOptions
154
+ })),
155
+ getByRole = _render5.getByRole,
156
+ getAllByRole = _render5.getAllByRole;
157
+ var radioGroup = getByRole("radiogroup");
158
+ var radios = getAllByRole("radio");
159
+ expect(radios[2].getAttribute("aria-disabled")).toBe("true");
160
+ expect(radios[0].tabIndex).toBe(0);
161
+ expect(radios[1].tabIndex).toBe(-1);
162
+ expect(radios[2].tabIndex).toBe(-1);
163
+ _react2.fireEvent.keyDown(radioGroup, {
164
+ key: "ArrowDown",
165
+ code: "ArrowDown",
166
+ keyCode: 40,
167
+ charCode: 40
168
+ });
169
+ _react2.fireEvent.keyDown(radioGroup, {
170
+ key: "ArrowDown",
171
+ code: "ArrowDown",
172
+ keyCode: 40,
173
+ charCode: 40
174
+ });
175
+ expect(radios[0].tabIndex).toBe(0);
176
+ expect(radios[1].tabIndex).toBe(-1);
177
+ expect(radios[2].tabIndex).toBe(-1);
178
+ });
179
+ test("Disabled radio group doesn't send its value when submitted", function () {
180
+ var handlerOnSubmit = jest.fn(function (e) {
181
+ e.preventDefault();
182
+ var formData = new FormData(e.target);
183
+ var formProps = Object.fromEntries(formData);
184
+ expect(formProps).toStrictEqual({});
185
+ });
186
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
187
+ onSubmit: handlerOnSubmit
188
+ }, /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
189
+ name: "radiogroup",
190
+ defaultValue: "1",
191
+ disabled: true,
192
+ label: "test-radio-group-label",
193
+ options: options
194
+ }), /*#__PURE__*/_react["default"].createElement("button", {
195
+ type: "submit"
196
+ }, "Submit"))),
197
+ getByText = _render6.getByText;
198
+ var submit = getByText("Submit");
199
+ _userEvent["default"].click(submit);
200
+ });
201
+ test("Error state renders with correct aria attributes", function () {
202
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
203
+ label: "test-radioGroup-label",
204
+ options: options,
205
+ error: "Error message"
206
+ })),
207
+ getByRole = _render7.getByRole,
208
+ getByText = _render7.getByText;
209
+ var radioGroup = getByRole("radiogroup");
210
+ var errorMessage = getByText("Error message");
211
+ expect(radioGroup.getAttribute("aria-errormessage")).toBe(errorMessage.id);
212
+ expect(radioGroup.getAttribute("aria-invalid")).toBe("true");
213
+ expect(errorMessage.getAttribute("aria-live")).toBe("assertive");
214
+ });
215
+ test("Radio group with required constraint and 'undefined' as value, sends an error", function () {
216
+ var onChange = jest.fn();
217
+ var onBlur = jest.fn();
218
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
219
+ label: "test-radioGroup-label",
220
+ options: options,
221
+ onChange: onChange,
222
+ onBlur: onBlur
223
+ })),
224
+ getByRole = _render8.getByRole,
225
+ getAllByRole = _render8.getAllByRole;
226
+ var radioGroup = getByRole("radiogroup");
227
+ expect(radioGroup.getAttribute("aria-required")).toBe("true");
228
+ _react2.fireEvent.blur(radioGroup);
229
+ expect(onBlur).toHaveBeenCalledWith({
230
+ error: "This field is required. Please, choose an option."
231
+ });
232
+ _userEvent["default"].click(radioGroup);
233
+ _userEvent["default"].click(getAllByRole("radio")[0]);
234
+ expect(onChange).toHaveBeenCalledWith("1");
235
+ _react2.fireEvent.blur(radioGroup);
236
+ expect(onBlur).toHaveBeenCalledWith({
237
+ value: "1"
238
+ });
239
+ });
240
+ test("Radio group with required constraint and empty string as value, sends an error", function () {
241
+ var onChange = jest.fn();
242
+ var onBlur = jest.fn();
243
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
244
+ label: "test-radioGroup-label",
245
+ value: "",
246
+ options: options,
247
+ onChange: onChange,
248
+ onBlur: onBlur
249
+ })),
250
+ getByRole = _render9.getByRole,
251
+ getAllByRole = _render9.getAllByRole;
252
+ var radioGroup = getByRole("radiogroup");
253
+ expect(radioGroup.getAttribute("aria-required")).toBe("true");
254
+ _react2.fireEvent.blur(radioGroup);
255
+ expect(onBlur).toHaveBeenCalledWith({
256
+ value: "",
257
+ error: "This field is required. Please, choose an option."
258
+ });
259
+ _userEvent["default"].click(getAllByRole("radio")[0]);
260
+ expect(onChange).toHaveBeenCalledWith("1");
261
+ });
262
+ test("The 'defaultValue' gives the radio group an initial value when it is uncontrolled", function () {
263
+ var onChange = jest.fn();
264
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
265
+ defaultValue: "2",
266
+ name: "test",
267
+ label: "test-radio-group-label",
268
+ helperText: "test-radio-group-helper-text",
269
+ options: options,
270
+ onChange: onChange
271
+ })),
272
+ getAllByRole = _render10.getAllByRole,
273
+ container = _render10.container;
274
+ var radio = getAllByRole("radio")[1];
275
+ var submitInput = container.querySelector("input[name=\"test\"]");
276
+ expect(radio.tabIndex).toBe(0);
277
+ expect(radio.getAttribute("aria-checked")).toBe("true");
278
+ expect(submitInput.value).toBe("2");
279
+ });
280
+ test("Optional radio group conditions: onBlur event doesn't send an error when no radio was checked, has correct aria attributes, custom label and its value is the empty string", function () {
281
+ var onChange = jest.fn();
282
+ var onBlur = jest.fn();
283
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
284
+ name: "test",
285
+ label: "test-radio-group-label",
286
+ helperText: "test-radio-group-helper-text",
287
+ options: options,
288
+ onChange: onChange,
289
+ onBlur: onBlur,
290
+ optional: true,
291
+ optionalItemLabel: "No selection"
292
+ })),
293
+ getByRole = _render11.getByRole,
294
+ getByText = _render11.getByText,
295
+ container = _render11.container;
296
+ var radioGroup = getByRole("radiogroup");
297
+ expect(radioGroup.getAttribute("aria-required")).toBe("false");
298
+ _react2.fireEvent.blur(radioGroup);
299
+ expect(onBlur).toHaveBeenCalledWith({});
300
+ expect(radioGroup.getAttribute("aria-invalid")).toBe("false");
301
+ var optionalLabel = getByText("No selection");
302
+ var submitInput = container.querySelector("input[name=\"test\"]");
303
+ _userEvent["default"].click(optionalLabel);
304
+ expect(onChange).toHaveBeenCalledWith("");
305
+ expect(submitInput.value).toBe("");
306
+ });
307
+ test("Controlled radio group", function () {
308
+ var onChange = jest.fn();
309
+ var onBlur = jest.fn();
310
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
311
+ name: "test",
312
+ value: "2",
313
+ label: "test-radio-group-label",
314
+ helperText: "test-radio-group-helper-text",
315
+ options: options,
316
+ onChange: onChange,
317
+ onBlur: onBlur
318
+ })),
319
+ getByRole = _render12.getByRole,
320
+ getAllByRole = _render12.getAllByRole,
321
+ container = _render12.container;
322
+ var radioGroup = getByRole("radiogroup");
323
+ var radios = getAllByRole("radio");
324
+ var submitInput = container.querySelector("input[name=\"test\"]");
325
+ expect(submitInput.value).toBe("2");
326
+ expect(radios[1].tabIndex).toBe(0);
327
+ expect(radios[1].getAttribute("aria-checked")).toBe("true");
328
+ _userEvent["default"].click(radios[6]);
329
+ expect(onChange).toHaveBeenCalledWith("7");
330
+ _react2.fireEvent.blur(radioGroup);
331
+ expect(onBlur).toHaveBeenCalledWith({
332
+ value: "2"
333
+ });
334
+ });
335
+ test("Select an option by clicking on its label", function () {
336
+ var onChange = jest.fn();
337
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
338
+ name: "test",
339
+ label: "test-radio-group-label",
340
+ helperText: "test-radio-group-helper-text",
341
+ options: options,
342
+ onChange: onChange
343
+ })),
344
+ getByText = _render13.getByText,
345
+ getAllByRole = _render13.getAllByRole,
346
+ container = _render13.container;
347
+ var radioLabel = getByText("Option 09");
348
+ var checkedRadio = getAllByRole("radio")[8];
349
+ var submitInput = container.querySelector("input[name=\"test\"]");
350
+ expect(checkedRadio.tabIndex).toBe(-1);
351
+ _userEvent["default"].click(radioLabel);
352
+ expect(onChange).toHaveBeenCalledWith("9");
353
+ expect(checkedRadio.getAttribute("aria-checked")).toBe("true");
354
+ expect(checkedRadio.tabIndex).toBe(0);
355
+ expect(document.activeElement).toEqual(checkedRadio);
356
+ expect(submitInput.value).toBe("9");
357
+ });
358
+ test("Select an option by clicking on its radio input", function () {
359
+ var onChange = jest.fn();
360
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
361
+ name: "test",
362
+ label: "test-radio-group-label",
363
+ helperText: "test-radio-group-helper-text",
364
+ options: options,
365
+ onChange: onChange
366
+ })),
367
+ getAllByRole = _render14.getAllByRole,
368
+ container = _render14.container;
369
+ var checkedRadio = getAllByRole("radio")[6];
370
+ var submitInput = container.querySelector("input[name=\"test\"]");
371
+ expect(checkedRadio.tabIndex).toBe(-1);
372
+ _userEvent["default"].click(checkedRadio);
373
+ expect(onChange).toHaveBeenCalledWith("7");
374
+ expect(checkedRadio.getAttribute("aria-checked")).toBe("true");
375
+ expect(checkedRadio.tabIndex).toBe(0);
376
+ expect(document.activeElement).toEqual(checkedRadio);
377
+ expect(submitInput.value).toBe("7");
378
+ });
379
+ test("Select an option that is already checked does not call onChange event but gives the focus", function () {
380
+ var onChange = jest.fn();
381
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
382
+ defaultValue: "2",
383
+ name: "test",
384
+ label: "test-radio-group-label",
385
+ helperText: "test-radio-group-helper-text",
386
+ options: options,
387
+ onChange: onChange
388
+ })),
389
+ getAllByRole = _render15.getAllByRole;
390
+ var checkedRadio = getAllByRole("radio")[1];
391
+ expect(checkedRadio.tabIndex).toBe(0);
392
+ expect(checkedRadio.getAttribute("aria-checked")).toBe("true");
393
+ _userEvent["default"].click(checkedRadio);
394
+ expect(onChange).not.toHaveBeenCalled();
395
+ expect(document.activeElement).toEqual(checkedRadio);
396
+ });
397
+ test("The 'space' key checks the current focused option if anyone is checked", function () {
398
+ var onChange = jest.fn();
399
+ var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
400
+ name: "test",
401
+ label: "test-radio-group-label",
402
+ helperText: "test-radio-group-helper-text",
403
+ options: options,
404
+ onChange: onChange
405
+ })),
406
+ getByRole = _render16.getByRole,
407
+ getAllByRole = _render16.getAllByRole,
408
+ container = _render16.container;
409
+ var radioGroup = getByRole("radiogroup");
410
+ var checkedRadio = getAllByRole("radio")[0];
411
+ var submitInput = container.querySelector("input[name=\"test\"]");
412
+ _react2.fireEvent.keyDown(radioGroup, {
413
+ key: " ",
414
+ code: "Space",
415
+ keyCode: 32,
416
+ charCode: 32
417
+ });
418
+ expect(onChange).toHaveBeenCalledWith("1");
419
+ expect(checkedRadio.getAttribute("aria-checked")).toBe("true");
420
+ expect(checkedRadio.tabIndex).toBe(0);
421
+ expect(submitInput.value).toBe("1");
422
+ });
423
+ test("When the radio group gains the focus by keyboard ('tab' key), it goes to the first option (if no one was previously selected), without selecting it", function () {
424
+ var onChange = jest.fn();
425
+ var onBlur = jest.fn();
426
+ var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
427
+ name: "test",
428
+ label: "test-radio-group-label",
429
+ helperText: "test-radio-group-helper-text",
430
+ options: options,
431
+ onChange: onChange,
432
+ onBlur: onBlur
433
+ })),
434
+ getByRole = _render17.getByRole,
435
+ getAllByRole = _render17.getAllByRole,
436
+ container = _render17.container;
437
+ var radioGroup = getByRole("radiogroup");
438
+ var radios = getAllByRole("radio");
439
+ var submitInput = container.querySelector("input[name=\"test\"]");
440
+ var checkedRadio = getAllByRole("radio")[0];
441
+ _userEvent["default"].tab();
442
+ expect(onChange).not.toHaveBeenCalled();
443
+ expect(submitInput.value).toBe("");
444
+ expect(checkedRadio.tabIndex).toBe(0);
445
+ expect(checkedRadio.getAttribute("aria-checked")).toBe("false");
446
+ expect(document.activeElement).toEqual(checkedRadio);
447
+ _react2.fireEvent.keyDown(radioGroup, {
448
+ key: "ArrowRight",
449
+ code: "ArrowRight",
450
+ keyCode: 39,
451
+ charCode: 39
452
+ });
453
+ expect(onBlur).not.toHaveBeenCalled();
454
+ expect(onChange).toHaveBeenCalledTimes(1);
455
+ expect(radios[1].getAttribute("aria-checked")).toBe("true");
456
+ expect(document.activeElement).toEqual(radios[1]);
457
+ expect(radios[1].tabIndex).toBe(0);
458
+ expect(submitInput.value).toBe("2");
459
+ });
460
+ test("The 'arrowDown' and 'arrowRight' keys move the selection to the next radio. When the last radio is reached, moves the selection to the first one", function () {
461
+ var onChange = jest.fn();
462
+ var onBlur = jest.fn();
463
+ var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
464
+ defaultValue: "8",
465
+ name: "test",
466
+ label: "test-radio-group-label",
467
+ helperText: "test-radio-group-helper-text",
468
+ options: options,
469
+ onChange: onChange,
470
+ onBlur: onBlur
471
+ })),
472
+ getByRole = _render18.getByRole,
473
+ getAllByRole = _render18.getAllByRole,
474
+ container = _render18.container;
475
+ var radioGroup = getByRole("radiogroup");
476
+ var radios = getAllByRole("radio");
477
+ var submitInput = container.querySelector("input[name=\"test\"]");
478
+ _react2.fireEvent.keyDown(radioGroup, {
479
+ key: "ArrowDown",
480
+ code: "ArrowDown",
481
+ keyCode: 40,
482
+ charCode: 40
483
+ });
484
+ expect(onBlur).not.toHaveBeenCalled();
485
+ expect(onChange).toHaveBeenCalledTimes(1);
486
+ expect(radios[8].getAttribute("aria-checked")).toBe("true");
487
+ expect(document.activeElement).toEqual(radios[8]);
488
+ expect(radios[8].tabIndex).toBe(0);
489
+ expect(submitInput.value).toBe("9");
490
+ _react2.fireEvent.keyDown(radioGroup, {
491
+ key: "ArrowRight",
492
+ code: "ArrowRight",
493
+ keyCode: 39,
494
+ charCode: 39
495
+ });
496
+ expect(onBlur).not.toHaveBeenCalled();
497
+ expect(onChange).toHaveBeenCalledTimes(2);
498
+ expect(radios[0].getAttribute("aria-checked")).toBe("true");
499
+ expect(document.activeElement).toEqual(radios[0]);
500
+ expect(radios[0].tabIndex).toBe(0);
501
+ expect(submitInput.value).toBe("1");
502
+ });
503
+ test("The 'arrowUp' and 'arrowLeft' keys move the selection to the previous radio. When the first radio is reached, moves the selection to the last one", function () {
504
+ var onChange = jest.fn();
505
+ var onBlur = jest.fn();
506
+ var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
507
+ defaultValue: "2",
508
+ name: "test",
509
+ label: "test-radio-group-label",
510
+ helperText: "test-radio-group-helper-text",
511
+ options: options,
512
+ onChange: onChange,
513
+ onBlur: onBlur
514
+ })),
515
+ getByRole = _render19.getByRole,
516
+ getAllByRole = _render19.getAllByRole,
517
+ container = _render19.container;
518
+ var radioGroup = getByRole("radiogroup");
519
+ var radios = getAllByRole("radio");
520
+ var submitInput = container.querySelector("input[name=\"test\"]");
521
+ _react2.fireEvent.keyDown(radioGroup, {
522
+ key: "ArrowUp",
523
+ code: "ArrowUp",
524
+ keyCode: 38,
525
+ charCode: 38
526
+ });
527
+ expect(onBlur).not.toHaveBeenCalled();
528
+ expect(onChange).toHaveBeenCalledTimes(1);
529
+ expect(radios[0].getAttribute("aria-checked")).toBe("true");
530
+ expect(document.activeElement).toEqual(radios[0]);
531
+ expect(radios[0].tabIndex).toBe(0);
532
+ expect(submitInput.value).toBe("1");
533
+ _react2.fireEvent.keyDown(radioGroup, {
534
+ key: "ArrowLeft",
535
+ code: "ArrowLeft",
536
+ keyCode: 37,
537
+ charCode: 37
538
+ });
539
+ expect(onBlur).not.toHaveBeenCalled();
540
+ expect(onChange).toHaveBeenCalledTimes(2);
541
+ expect(radios[8].getAttribute("aria-checked")).toBe("true");
542
+ expect(document.activeElement).toEqual(radios[8]);
543
+ expect(radios[8].tabIndex).toBe(0);
544
+ expect(submitInput.value).toBe("9");
545
+ });
546
+ test("Keyboard focus movement continues from the last radio input clicked", function () {
547
+ var onChange = jest.fn();
548
+ var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
549
+ name: "test",
550
+ label: "test-radio-group-label",
551
+ helperText: "test-radio-group-helper-text",
552
+ options: options,
553
+ onChange: onChange
554
+ })),
555
+ getByRole = _render20.getByRole,
556
+ getAllByRole = _render20.getAllByRole,
557
+ container = _render20.container;
558
+ var radioGroup = getByRole("radiogroup");
559
+ var radios = getAllByRole("radio");
560
+ var submitInput = container.querySelector("input[name=\"test\"]");
561
+ _userEvent["default"].click(radios[3]);
562
+ _react2.fireEvent.keyDown(radioGroup, {
563
+ key: "ArrowDown",
564
+ code: "ArrowDown",
565
+ keyCode: 40,
566
+ charCode: 40
567
+ });
568
+ expect(onChange).toHaveBeenCalledWith("5");
569
+ expect(radios[4].getAttribute("aria-checked")).toBe("true");
570
+ expect(document.activeElement).toEqual(radios[4]);
571
+ expect(radios[4].tabIndex).toBe(0);
572
+ expect(submitInput.value).toBe("5");
573
+ _userEvent["default"].click(radios[8]);
574
+ _react2.fireEvent.keyDown(radioGroup, {
575
+ key: "ArrowLeft",
576
+ code: "ArrowLeft",
577
+ keyCode: 37,
578
+ charCode: 37
579
+ });
580
+ expect(onChange).toHaveBeenCalledWith("8");
581
+ expect(radios[7].getAttribute("aria-checked")).toBe("true");
582
+ expect(document.activeElement).toEqual(radios[7]);
583
+ expect(radios[7].tabIndex).toBe(0);
584
+ expect(submitInput.value).toBe("8");
585
+ });
586
+ test("Readonly radio group lets the user move the focus, but neither click nor keyboard press changes the value", function () {
587
+ var onChange = jest.fn();
588
+ var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
589
+ name: "test",
590
+ label: "test-radio-group-label",
591
+ helperText: "test-radio-group-helper-text",
592
+ options: options,
593
+ onChange: onChange,
594
+ readonly: true
595
+ })),
596
+ getByRole = _render21.getByRole,
597
+ getAllByRole = _render21.getAllByRole,
598
+ container = _render21.container;
599
+ var radioGroup = getByRole("radiogroup");
600
+ var radios = getAllByRole("radio");
601
+ var submitInput = container.querySelector("input[name=\"test\"]");
602
+ _userEvent["default"].click(radios[5]);
603
+ expect(onChange).not.toHaveBeenCalled();
604
+ expect(radios[5].getAttribute("aria-checked")).toBe("false");
605
+ expect(document.activeElement).toEqual(radios[5]);
606
+ expect(radios[5].tabIndex).toBe(0);
607
+ expect(submitInput.value).toBe("");
608
+ _react2.fireEvent.keyDown(radioGroup, {
609
+ key: "ArrowUp",
610
+ code: "ArrowUp",
611
+ keyCode: 38,
612
+ charCode: 38
613
+ });
614
+ expect(onChange).not.toHaveBeenCalled();
615
+ expect(radios[4].getAttribute("aria-checked")).toBe("false");
616
+ expect(document.activeElement).toEqual(radios[4]);
617
+ expect(radios[4].tabIndex).toBe(0);
618
+ expect(submitInput.value).toBe("");
619
+ });
620
+ });