@dxc-technology/halstack-react 0.0.0-d3554d7 → 0.0.0-d3624d0

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 (421) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1246 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +105 -181
  9. package/accordion/Accordion.stories.tsx +83 -149
  10. package/accordion/Accordion.test.js +32 -33
  11. package/accordion/types.d.ts +10 -17
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +3 -3
  14. package/accordion-group/AccordionGroup.js +38 -107
  15. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  16. package/accordion-group/AccordionGroup.test.js +55 -90
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +16 -17
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +40 -127
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +29 -46
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +1 -1
  35. package/badge/Badge.js +142 -40
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +52 -2
  39. package/bleed/Bleed.js +14 -55
  40. package/bleed/Bleed.stories.tsx +95 -95
  41. package/bleed/types.d.ts +26 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +30 -81
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -14
  48. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  49. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  50. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  51. package/breadcrumbs/Breadcrumbs.js +79 -0
  52. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  53. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  54. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  55. package/breadcrumbs/Item.d.ts +4 -0
  56. package/breadcrumbs/Item.js +52 -0
  57. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  58. package/breadcrumbs/dropdownTheme.js +62 -0
  59. package/breadcrumbs/types.d.ts +16 -0
  60. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  61. package/bulleted-list/BulletedList.d.ts +7 -0
  62. package/bulleted-list/BulletedList.js +92 -0
  63. package/bulleted-list/BulletedList.stories.tsx +115 -0
  64. package/bulleted-list/types.d.ts +38 -0
  65. package/button/Button.accessibility.test.js +127 -0
  66. package/button/Button.d.ts +1 -1
  67. package/button/Button.js +63 -113
  68. package/button/Button.stories.tsx +151 -100
  69. package/button/Button.test.js +20 -17
  70. package/button/types.d.ts +12 -8
  71. package/card/Card.accessibility.test.js +36 -0
  72. package/card/Card.d.ts +1 -1
  73. package/card/Card.js +59 -102
  74. package/card/Card.stories.tsx +12 -42
  75. package/card/Card.test.js +11 -22
  76. package/card/types.d.ts +6 -11
  77. package/checkbox/Checkbox.accessibility.test.js +87 -0
  78. package/checkbox/Checkbox.d.ts +2 -2
  79. package/checkbox/Checkbox.js +143 -181
  80. package/checkbox/Checkbox.stories.tsx +166 -136
  81. package/checkbox/Checkbox.test.js +163 -29
  82. package/checkbox/types.d.ts +18 -6
  83. package/chip/Chip.accessibility.test.js +67 -0
  84. package/chip/Chip.js +45 -80
  85. package/chip/Chip.stories.tsx +107 -27
  86. package/chip/Chip.test.js +18 -33
  87. package/chip/types.d.ts +4 -4
  88. package/common/coreTokens.d.ts +237 -0
  89. package/common/coreTokens.js +184 -0
  90. package/common/utils.d.ts +1 -0
  91. package/common/utils.js +6 -12
  92. package/common/variables.d.ts +1392 -0
  93. package/common/variables.js +1081 -1190
  94. package/container/Container.d.ts +4 -0
  95. package/container/Container.js +194 -0
  96. package/container/Container.stories.tsx +214 -0
  97. package/container/types.d.ts +74 -0
  98. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  99. package/contextual-menu/ContextualMenu.d.ts +5 -0
  100. package/contextual-menu/ContextualMenu.js +88 -0
  101. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  102. package/contextual-menu/ContextualMenu.test.js +205 -0
  103. package/contextual-menu/GroupItem.d.ts +4 -0
  104. package/contextual-menu/GroupItem.js +67 -0
  105. package/contextual-menu/ItemAction.d.ts +4 -0
  106. package/contextual-menu/ItemAction.js +51 -0
  107. package/contextual-menu/MenuItem.d.ts +4 -0
  108. package/contextual-menu/MenuItem.js +29 -0
  109. package/contextual-menu/SingleItem.d.ts +4 -0
  110. package/contextual-menu/SingleItem.js +38 -0
  111. package/contextual-menu/types.d.ts +58 -0
  112. package/date-input/Calendar.d.ts +4 -0
  113. package/date-input/Calendar.js +214 -0
  114. package/date-input/DateInput.accessibility.test.js +228 -0
  115. package/date-input/DateInput.js +170 -306
  116. package/date-input/DateInput.stories.tsx +210 -56
  117. package/date-input/DateInput.test.js +708 -369
  118. package/date-input/DatePicker.d.ts +4 -0
  119. package/date-input/DatePicker.js +121 -0
  120. package/date-input/YearPicker.d.ts +4 -0
  121. package/date-input/YearPicker.js +100 -0
  122. package/date-input/types.d.ts +86 -22
  123. package/dialog/Dialog.accessibility.test.js +69 -0
  124. package/dialog/Dialog.d.ts +1 -1
  125. package/dialog/Dialog.js +56 -129
  126. package/dialog/Dialog.stories.tsx +326 -167
  127. package/dialog/Dialog.test.js +287 -20
  128. package/dialog/types.d.ts +18 -25
  129. package/divider/Divider.accessibility.test.js +33 -0
  130. package/divider/Divider.d.ts +4 -0
  131. package/divider/Divider.js +36 -0
  132. package/divider/Divider.stories.tsx +223 -0
  133. package/divider/Divider.test.js +38 -0
  134. package/divider/types.d.ts +21 -0
  135. package/dropdown/Dropdown.accessibility.test.js +180 -0
  136. package/dropdown/Dropdown.d.ts +1 -1
  137. package/dropdown/Dropdown.js +233 -307
  138. package/dropdown/Dropdown.stories.tsx +235 -57
  139. package/dropdown/Dropdown.test.js +575 -165
  140. package/dropdown/DropdownMenu.d.ts +4 -0
  141. package/dropdown/DropdownMenu.js +63 -0
  142. package/dropdown/DropdownMenuItem.d.ts +4 -0
  143. package/dropdown/DropdownMenuItem.js +71 -0
  144. package/dropdown/types.d.ts +35 -19
  145. package/file-input/FileInput.accessibility.test.js +160 -0
  146. package/file-input/FileInput.d.ts +2 -2
  147. package/file-input/FileInput.js +246 -393
  148. package/file-input/FileInput.stories.tsx +123 -12
  149. package/file-input/FileInput.test.js +292 -367
  150. package/file-input/FileItem.d.ts +4 -14
  151. package/file-input/FileItem.js +61 -120
  152. package/file-input/types.d.ts +25 -8
  153. package/flex/Flex.d.ts +4 -0
  154. package/flex/Flex.js +57 -0
  155. package/flex/Flex.stories.tsx +112 -0
  156. package/flex/types.d.ts +97 -0
  157. package/flex/types.js +5 -0
  158. package/footer/Footer.accessibility.test.js +125 -0
  159. package/footer/Footer.d.ts +1 -1
  160. package/footer/Footer.js +73 -191
  161. package/footer/Footer.stories.tsx +99 -21
  162. package/footer/Footer.test.js +33 -57
  163. package/footer/Icons.d.ts +3 -2
  164. package/footer/Icons.js +54 -23
  165. package/footer/types.d.ts +26 -27
  166. package/grid/Grid.d.ts +7 -0
  167. package/grid/Grid.js +76 -0
  168. package/grid/Grid.stories.tsx +219 -0
  169. package/grid/types.d.ts +115 -0
  170. package/grid/types.js +5 -0
  171. package/header/Header.accessibility.test.js +93 -0
  172. package/header/Header.d.ts +4 -3
  173. package/header/Header.js +104 -218
  174. package/header/Header.stories.tsx +168 -63
  175. package/header/Header.test.js +31 -28
  176. package/header/Icons.d.ts +2 -2
  177. package/header/Icons.js +5 -15
  178. package/header/types.d.ts +7 -21
  179. package/heading/Heading.accessibility.test.js +33 -0
  180. package/heading/Heading.js +10 -32
  181. package/heading/Heading.test.js +71 -88
  182. package/heading/types.d.ts +7 -7
  183. package/icon/Icon.accessibility.test.js +30 -0
  184. package/icon/Icon.d.ts +4 -0
  185. package/icon/Icon.js +33 -0
  186. package/icon/Icon.stories.tsx +28 -0
  187. package/icon/types.d.ts +4 -0
  188. package/icon/types.js +5 -0
  189. package/image/Image.accessibility.test.js +56 -0
  190. package/image/Image.d.ts +4 -0
  191. package/image/Image.js +70 -0
  192. package/image/Image.stories.tsx +129 -0
  193. package/image/types.d.ts +72 -0
  194. package/image/types.js +5 -0
  195. package/inset/Inset.js +14 -55
  196. package/inset/Inset.stories.tsx +37 -36
  197. package/inset/types.d.ts +26 -2
  198. package/layout/ApplicationLayout.d.ts +16 -6
  199. package/layout/ApplicationLayout.js +88 -182
  200. package/layout/ApplicationLayout.stories.tsx +85 -94
  201. package/layout/Icons.d.ts +7 -0
  202. package/layout/Icons.js +41 -48
  203. package/layout/types.d.ts +19 -35
  204. package/link/Link.accessibility.test.js +108 -0
  205. package/link/Link.d.ts +3 -2
  206. package/link/Link.js +65 -101
  207. package/link/Link.stories.tsx +157 -55
  208. package/link/Link.test.js +25 -53
  209. package/link/types.d.ts +15 -31
  210. package/main.d.ts +17 -13
  211. package/main.js +86 -101
  212. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  213. package/nav-tabs/NavTabs.d.ts +7 -0
  214. package/nav-tabs/NavTabs.js +93 -0
  215. package/nav-tabs/NavTabs.stories.tsx +279 -0
  216. package/nav-tabs/NavTabs.test.js +77 -0
  217. package/nav-tabs/NavTabsContext.d.ts +3 -0
  218. package/nav-tabs/NavTabsContext.js +8 -0
  219. package/nav-tabs/Tab.d.ts +4 -0
  220. package/nav-tabs/Tab.js +117 -0
  221. package/nav-tabs/types.d.ts +52 -0
  222. package/nav-tabs/types.js +5 -0
  223. package/number-input/NumberInput.accessibility.test.js +228 -0
  224. package/number-input/NumberInput.js +47 -44
  225. package/number-input/NumberInput.stories.tsx +44 -28
  226. package/number-input/NumberInput.test.js +862 -381
  227. package/number-input/NumberInputContext.d.ts +3 -4
  228. package/number-input/NumberInputContext.js +3 -14
  229. package/number-input/types.d.ts +34 -15
  230. package/package.json +54 -53
  231. package/paginator/Paginator.accessibility.test.js +79 -0
  232. package/paginator/Paginator.js +46 -100
  233. package/paginator/Paginator.stories.tsx +24 -0
  234. package/paginator/Paginator.test.js +280 -211
  235. package/paginator/types.d.ts +3 -3
  236. package/paragraph/Paragraph.accessibility.test.js +28 -0
  237. package/paragraph/Paragraph.d.ts +5 -0
  238. package/paragraph/Paragraph.js +22 -0
  239. package/paragraph/Paragraph.stories.tsx +27 -0
  240. package/password-input/PasswordInput.accessibility.test.js +153 -0
  241. package/password-input/PasswordInput.js +58 -124
  242. package/password-input/PasswordInput.stories.tsx +1 -33
  243. package/password-input/PasswordInput.test.js +162 -147
  244. package/password-input/types.d.ts +21 -17
  245. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  246. package/progress-bar/ProgressBar.js +68 -92
  247. package/progress-bar/ProgressBar.stories.tsx +93 -0
  248. package/progress-bar/ProgressBar.test.js +72 -44
  249. package/progress-bar/types.d.ts +3 -3
  250. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  251. package/quick-nav/QuickNav.d.ts +4 -0
  252. package/quick-nav/QuickNav.js +94 -0
  253. package/quick-nav/QuickNav.stories.tsx +356 -0
  254. package/quick-nav/types.d.ts +21 -0
  255. package/quick-nav/types.js +5 -0
  256. package/radio-group/Radio.d.ts +1 -1
  257. package/radio-group/Radio.js +59 -76
  258. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  259. package/radio-group/RadioGroup.js +73 -116
  260. package/radio-group/RadioGroup.stories.tsx +135 -17
  261. package/radio-group/RadioGroup.test.js +529 -467
  262. package/radio-group/types.d.ts +86 -9
  263. package/resultset-table/Icons.d.ts +7 -0
  264. package/resultset-table/Icons.js +47 -0
  265. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  266. package/resultset-table/ResultsetTable.d.ts +7 -0
  267. package/resultset-table/ResultsetTable.js +171 -0
  268. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  269. package/resultset-table/ResultsetTable.test.js +381 -0
  270. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  271. package/resultset-table/types.js +5 -0
  272. package/select/Listbox.d.ts +4 -0
  273. package/select/Listbox.js +155 -0
  274. package/select/Option.d.ts +4 -0
  275. package/select/Option.js +89 -0
  276. package/select/Select.accessibility.test.js +228 -0
  277. package/select/Select.js +237 -504
  278. package/select/Select.stories.tsx +533 -196
  279. package/select/Select.test.js +1953 -1588
  280. package/select/types.d.ts +65 -26
  281. package/sidenav/Sidenav.accessibility.test.js +59 -0
  282. package/sidenav/Sidenav.d.ts +6 -5
  283. package/sidenav/Sidenav.js +136 -71
  284. package/sidenav/Sidenav.stories.tsx +246 -151
  285. package/sidenav/Sidenav.test.js +26 -45
  286. package/sidenav/SidenavContext.d.ts +5 -0
  287. package/sidenav/SidenavContext.js +13 -0
  288. package/sidenav/types.d.ts +52 -26
  289. package/slider/Slider.accessibility.test.js +104 -0
  290. package/slider/Slider.d.ts +2 -2
  291. package/slider/Slider.js +149 -180
  292. package/slider/Slider.test.js +198 -73
  293. package/slider/types.d.ts +11 -3
  294. package/spinner/Spinner.accessibility.test.js +96 -0
  295. package/spinner/Spinner.js +34 -74
  296. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  297. package/spinner/Spinner.test.js +26 -35
  298. package/spinner/types.d.ts +3 -3
  299. package/status-light/StatusLight.accessibility.test.js +157 -0
  300. package/status-light/StatusLight.d.ts +4 -0
  301. package/status-light/StatusLight.js +51 -0
  302. package/status-light/StatusLight.stories.tsx +74 -0
  303. package/status-light/StatusLight.test.js +25 -0
  304. package/status-light/types.d.ts +17 -0
  305. package/status-light/types.js +5 -0
  306. package/switch/Switch.accessibility.test.js +98 -0
  307. package/switch/Switch.d.ts +2 -2
  308. package/switch/Switch.js +149 -114
  309. package/switch/Switch.stories.tsx +56 -67
  310. package/switch/Switch.test.js +146 -39
  311. package/switch/types.d.ts +13 -5
  312. package/table/DropdownTheme.js +62 -0
  313. package/table/Table.accessibility.test.js +93 -0
  314. package/table/Table.d.ts +6 -2
  315. package/table/Table.js +78 -35
  316. package/table/Table.stories.tsx +663 -0
  317. package/table/Table.test.js +95 -8
  318. package/table/types.d.ts +34 -6
  319. package/tabs/Tab.d.ts +4 -0
  320. package/tabs/Tab.js +117 -0
  321. package/tabs/Tabs.accessibility.test.js +56 -0
  322. package/tabs/Tabs.d.ts +1 -1
  323. package/tabs/Tabs.js +305 -145
  324. package/tabs/Tabs.stories.tsx +124 -14
  325. package/tabs/Tabs.test.js +220 -67
  326. package/tabs/types.d.ts +31 -17
  327. package/tag/Tag.accessibility.test.js +69 -0
  328. package/tag/Tag.js +42 -79
  329. package/tag/Tag.stories.tsx +24 -10
  330. package/tag/Tag.test.js +18 -37
  331. package/tag/types.d.ts +9 -9
  332. package/text-input/Suggestion.d.ts +4 -0
  333. package/text-input/Suggestion.js +67 -0
  334. package/text-input/Suggestions.d.ts +4 -0
  335. package/text-input/Suggestions.js +94 -0
  336. package/text-input/TextInput.accessibility.test.js +321 -0
  337. package/text-input/TextInput.js +332 -557
  338. package/text-input/TextInput.stories.tsx +282 -282
  339. package/text-input/TextInput.test.js +1442 -1377
  340. package/text-input/types.d.ts +70 -24
  341. package/textarea/Textarea.accessibility.test.js +155 -0
  342. package/textarea/Textarea.js +83 -134
  343. package/textarea/Textarea.stories.tsx +174 -0
  344. package/textarea/Textarea.test.js +168 -198
  345. package/textarea/types.d.ts +27 -16
  346. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  347. package/toggle-group/ToggleGroup.d.ts +2 -2
  348. package/toggle-group/ToggleGroup.js +94 -106
  349. package/toggle-group/ToggleGroup.stories.tsx +56 -11
  350. package/toggle-group/ToggleGroup.test.js +78 -66
  351. package/toggle-group/types.d.ts +36 -19
  352. package/typography/Typography.accessibility.test.js +339 -0
  353. package/typography/Typography.d.ts +4 -0
  354. package/typography/Typography.js +23 -0
  355. package/typography/Typography.stories.tsx +198 -0
  356. package/typography/types.d.ts +18 -0
  357. package/typography/types.js +5 -0
  358. package/useTheme.d.ts +1144 -1
  359. package/useTheme.js +4 -11
  360. package/useTranslatedLabels.d.ts +85 -0
  361. package/useTranslatedLabels.js +14 -0
  362. package/utils/BaseTypography.d.ts +21 -0
  363. package/utils/BaseTypography.js +94 -0
  364. package/utils/FocusLock.d.ts +13 -0
  365. package/utils/FocusLock.js +124 -0
  366. package/wizard/Wizard.accessibility.test.js +55 -0
  367. package/wizard/Wizard.d.ts +1 -1
  368. package/wizard/Wizard.js +78 -120
  369. package/wizard/Wizard.stories.tsx +67 -19
  370. package/wizard/Wizard.test.js +73 -87
  371. package/wizard/types.d.ts +14 -10
  372. package/ThemeContext.d.ts +0 -10
  373. package/ThemeContext.js +0 -243
  374. package/card/ice-cream.jpg +0 -0
  375. package/common/OpenSans.css +0 -81
  376. package/common/RequiredComponent.js +0 -32
  377. package/common/fonts/OpenSans-Bold.ttf +0 -0
  378. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  379. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  380. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  381. package/common/fonts/OpenSans-Italic.ttf +0 -0
  382. package/common/fonts/OpenSans-Light.ttf +0 -0
  383. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  384. package/common/fonts/OpenSans-Regular.ttf +0 -0
  385. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  386. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  387. package/list/List.d.ts +0 -4
  388. package/list/List.js +0 -47
  389. package/list/List.stories.tsx +0 -95
  390. package/list/types.d.ts +0 -7
  391. package/number-input/numberInputContextTypes.d.ts +0 -19
  392. package/paginator/Icons.js +0 -66
  393. package/progress-bar/ProgressBar.stories.jsx +0 -58
  394. package/radio/Radio.d.ts +0 -4
  395. package/radio/Radio.js +0 -174
  396. package/radio/Radio.stories.tsx +0 -192
  397. package/radio/Radio.test.js +0 -71
  398. package/radio/types.d.ts +0 -54
  399. package/resultsetTable/ResultsetTable.d.ts +0 -4
  400. package/resultsetTable/ResultsetTable.js +0 -254
  401. package/resultsetTable/ResultsetTable.test.js +0 -306
  402. package/row/Row.d.ts +0 -3
  403. package/row/Row.js +0 -127
  404. package/row/Row.stories.tsx +0 -237
  405. package/row/types.d.ts +0 -10
  406. package/slider/Slider.stories.tsx +0 -177
  407. package/stack/Stack.d.ts +0 -3
  408. package/stack/Stack.js +0 -97
  409. package/stack/Stack.stories.tsx +0 -164
  410. package/stack/types.d.ts +0 -9
  411. package/table/Table.stories.jsx +0 -277
  412. package/text/Text.d.ts +0 -7
  413. package/text/Text.js +0 -30
  414. package/text/Text.stories.tsx +0 -19
  415. package/textarea/Textarea.stories.jsx +0 -157
  416. /package/{list → action-icon}/types.js +0 -0
  417. /package/{radio → breadcrumbs}/types.js +0 -0
  418. /package/{resultsetTable → bulleted-list}/types.js +0 -0
  419. /package/{row → container}/types.js +0 -0
  420. /package/{stack → contextual-menu}/types.js +0 -0
  421. /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _RadioGroup = _interopRequireDefault(require("./RadioGroup.tsx"));
10
+ var options = [{
11
+ label: "Option 01",
12
+ value: "1"
13
+ }, {
14
+ label: "Option 02",
15
+ value: "2"
16
+ }, {
17
+ label: "Option 03",
18
+ value: "3"
19
+ }, {
20
+ label: "Option 04",
21
+ value: "4"
22
+ }, {
23
+ label: "Option 05",
24
+ value: "5",
25
+ disabled: true
26
+ }, {
27
+ label: "Option 06",
28
+ value: "6",
29
+ disabled: true
30
+ }, {
31
+ label: "Option 07",
32
+ value: "7",
33
+ disabled: true
34
+ }, {
35
+ label: "Option 08",
36
+ value: "8",
37
+ disabled: true
38
+ }, {
39
+ label: "Option 09",
40
+ value: "9"
41
+ }];
42
+ describe("Radio Group component accessibility tests", function () {
43
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
44
+ var _render, container, results;
45
+ return _regenerator["default"].wrap(function _callee$(_context) {
46
+ while (1) switch (_context.prev = _context.next) {
47
+ case 0:
48
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
49
+ label: "test-radioGroup-label",
50
+ options: options,
51
+ error: "Error",
52
+ defaultValue: "3",
53
+ helperText: "Helper Text",
54
+ name: "Name",
55
+ stacking: "row",
56
+ optionalItemLabel: "Optional",
57
+ optional: true
58
+ })), container = _render.container;
59
+ _context.next = 3;
60
+ return (0, _axeHelper.axe)(container);
61
+ case 3:
62
+ results = _context.sent;
63
+ expect(results).toHaveNoViolations();
64
+ case 5:
65
+ case "end":
66
+ return _context.stop();
67
+ }
68
+ }, _callee);
69
+ })));
70
+ it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
71
+ var _render2, container, results;
72
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
73
+ while (1) switch (_context2.prev = _context2.next) {
74
+ case 0:
75
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
76
+ label: "test-radioGroup-label",
77
+ options: options,
78
+ error: "Error",
79
+ defaultValue: "3",
80
+ helperText: "Helper Text",
81
+ name: "Name",
82
+ stacking: "row",
83
+ optionalItemLabel: "Optional",
84
+ readOnly: true
85
+ })), container = _render2.container;
86
+ _context2.next = 3;
87
+ return (0, _axeHelper.axe)(container);
88
+ case 3:
89
+ results = _context2.sent;
90
+ expect(results).toHaveNoViolations();
91
+ case 5:
92
+ case "end":
93
+ return _context2.stop();
94
+ }
95
+ }, _callee2);
96
+ })));
97
+ });
@@ -1,179 +1,142 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
14
  var _uuid = require("uuid");
23
-
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
16
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
26
17
  var _Radio = _interopRequireDefault(require("./Radio"));
27
-
28
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
29
-
30
- 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); }
31
-
32
- 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; }
33
-
19
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
34
21
  var getInitialFocusIndex = function getInitialFocusIndex(innerOptions, value) {
35
22
  var initialSelectedOptionIndex = innerOptions.findIndex(function (option) {
36
23
  return option.value === value;
37
24
  });
38
25
  return initialSelectedOptionIndex !== -1 ? initialSelectedOptionIndex : 0;
39
26
  };
40
-
41
27
  var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
28
+ var _ref2;
42
29
  var label = _ref.label,
43
- name = _ref.name,
44
- helperText = _ref.helperText,
45
- options = _ref.options,
46
- _ref$disabled = _ref.disabled,
47
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
48
- _ref$optional = _ref.optional,
49
- optional = _ref$optional === void 0 ? false : _ref$optional,
50
- _ref$optionalItemLabe = _ref.optionalItemLabel,
51
- optionalItemLabel = _ref$optionalItemLabe === void 0 ? "N/A" : _ref$optionalItemLabe,
52
- _ref$readonly = _ref.readonly,
53
- readonly = _ref$readonly === void 0 ? false : _ref$readonly,
54
- _ref$stacking = _ref.stacking,
55
- stacking = _ref$stacking === void 0 ? "column" : _ref$stacking,
56
- defaultValue = _ref.defaultValue,
57
- value = _ref.value,
58
- onChange = _ref.onChange,
59
- onBlur = _ref.onBlur,
60
- error = _ref.error,
61
- _ref$tabIndex = _ref.tabIndex,
62
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
63
-
30
+ name = _ref.name,
31
+ helperText = _ref.helperText,
32
+ options = _ref.options,
33
+ _ref$disabled = _ref.disabled,
34
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
35
+ _ref$optional = _ref.optional,
36
+ optional = _ref$optional === void 0 ? false : _ref$optional,
37
+ optionalItemLabel = _ref.optionalItemLabel,
38
+ _ref$readOnly = _ref.readOnly,
39
+ readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
40
+ _ref$stacking = _ref.stacking,
41
+ stacking = _ref$stacking === void 0 ? "column" : _ref$stacking,
42
+ defaultValue = _ref.defaultValue,
43
+ value = _ref.value,
44
+ onChange = _ref.onChange,
45
+ onBlur = _ref.onBlur,
46
+ error = _ref.error,
47
+ _ref$tabIndex = _ref.tabIndex,
48
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
64
49
  var _useState = (0, _react.useState)("radio-group-".concat((0, _uuid.v4)())),
65
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
66
- radioGroupId = _useState2[0];
67
-
50
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
51
+ radioGroupId = _useState2[0];
68
52
  var radioGroupLabelId = "label-".concat(radioGroupId);
69
53
  var errorId = "error-".concat(radioGroupId);
70
-
71
54
  var _useState3 = (0, _react.useState)(defaultValue),
72
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
73
- innerValue = _useState4[0],
74
- setInnerValue = _useState4[1];
75
-
55
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
56
+ innerValue = _useState4[0],
57
+ setInnerValue = _useState4[1];
76
58
  var _useState5 = (0, _react.useState)(true),
77
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
78
- firstTimeFocus = _useState6[0],
79
- setFirstTimeFocus = _useState6[1];
80
-
81
- var optionalItem = {
82
- label: optionalItemLabel,
83
- value: "",
84
- disabled: disabled
85
- };
59
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
60
+ firstTimeFocus = _useState6[0],
61
+ setFirstTimeFocus = _useState6[1];
62
+ var colorsTheme = (0, _useTheme["default"])();
63
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
86
64
  var innerOptions = (0, _react.useMemo)(function () {
87
- return optional ? [].concat((0, _toConsumableArray2["default"])(options), [optionalItem]) : options;
88
- }, [optional, options]);
89
-
65
+ return optional ? [].concat((0, _toConsumableArray2["default"])(options), [{
66
+ label: optionalItemLabel !== null && optionalItemLabel !== void 0 ? optionalItemLabel : translatedLabels.radioGroup.optionalItemLabelDefault,
67
+ value: "",
68
+ disabled: disabled
69
+ }]) : options;
70
+ }, [optional, options, optionalItemLabel, translatedLabels]);
90
71
  var _useState7 = (0, _react.useState)(getInitialFocusIndex(innerOptions, value !== null && value !== void 0 ? value : innerValue)),
91
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
92
- currentFocusIndex = _useState8[0],
93
- setCurrentFocusIndex = _useState8[1];
94
-
95
- var colorsTheme = (0, _useTheme["default"])();
72
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
73
+ currentFocusIndex = _useState8[0],
74
+ setCurrentFocusIndex = _useState8[1];
96
75
  var handleOnChange = (0, _react.useCallback)(function (newValue) {
97
76
  var currentValue = value !== null && value !== void 0 ? value : innerValue;
98
-
99
- if (newValue !== currentValue && !readonly) {
77
+ if (newValue !== currentValue && !readOnly) {
100
78
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
101
79
  onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
102
80
  }
103
- }, [value, innerValue, setInnerValue, onChange]);
104
-
105
- var handleOnBlur = function handleOnBlur(e) {
81
+ }, [value, innerValue, onChange]);
82
+ var handleOnBlur = function handleOnBlur(event) {
106
83
  // If the radio group loses the focus to an element not contained inside it...
107
- if (!e.currentTarget.contains(e.relatedTarget)) {
84
+ if (!event.currentTarget.contains(event.relatedTarget)) {
108
85
  setFirstTimeFocus(true);
109
86
  var currentValue = value !== null && value !== void 0 ? value : innerValue;
110
87
  !optional && !Boolean(currentValue) ? onBlur === null || onBlur === void 0 ? void 0 : onBlur({
111
88
  value: currentValue,
112
- error: "This field is required. Please, choose an option."
89
+ error: translatedLabels.formFields.requiredSelectionErrorMessage
113
90
  }) : onBlur === null || onBlur === void 0 ? void 0 : onBlur({
114
91
  value: currentValue
115
92
  });
116
93
  }
117
94
  };
118
-
119
95
  var handleOnFocus = function handleOnFocus() {
120
96
  firstTimeFocus && setFirstTimeFocus(false);
121
97
  };
122
-
123
98
  var setPreviousRadioChecked = function setPreviousRadioChecked() {
124
99
  setCurrentFocusIndex(function (currentFocusIndex) {
125
100
  var index = currentFocusIndex === 0 ? innerOptions.length - 1 : currentFocusIndex - 1;
126
-
127
101
  while (innerOptions[index].disabled) {
128
102
  index = index === 0 ? innerOptions.length - 1 : index - 1;
129
103
  }
130
-
131
104
  handleOnChange(innerOptions[index].value);
132
105
  return index;
133
106
  });
134
107
  };
135
-
136
108
  var setNextRadioChecked = function setNextRadioChecked() {
137
109
  setCurrentFocusIndex(function (currentFocusIndex) {
138
110
  var index = currentFocusIndex === innerOptions.length - 1 ? 0 : currentFocusIndex + 1;
139
-
140
111
  while (innerOptions[index].disabled) {
141
112
  index = index === innerOptions.length - 1 ? 0 : index + 1;
142
113
  }
143
-
144
114
  handleOnChange(innerOptions[index].value);
145
115
  return index;
146
116
  });
147
117
  };
148
-
149
118
  var handleOnKeyDown = function handleOnKeyDown(event) {
150
- switch (event.keyCode) {
151
- case 37: // arrow left
152
-
153
- case 38:
154
- // arrow up
119
+ switch (event.key) {
120
+ case "Left":
121
+ case "ArrowLeft":
122
+ case "Up":
123
+ case "ArrowUp":
155
124
  event.preventDefault();
156
125
  setPreviousRadioChecked();
157
126
  break;
158
-
159
- case 39: // arrow right
160
-
161
- case 40:
162
- // arrow down
127
+ case "Right":
128
+ case "ArrowRight":
129
+ case "Down":
130
+ case "ArrowDown":
163
131
  event.preventDefault();
164
132
  setNextRadioChecked();
165
133
  break;
166
-
167
- case 13: // enter
168
-
169
- case 32:
170
- // space
134
+ case " ":
171
135
  event.preventDefault();
172
136
  handleOnChange(innerOptions[currentFocusIndex].value);
173
137
  break;
174
138
  }
175
139
  };
176
-
177
140
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
178
141
  theme: colorsTheme.radioGroup
179
142
  }, /*#__PURE__*/_react["default"].createElement(RadioGroupContainer, {
@@ -182,7 +145,7 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
182
145
  id: radioGroupLabelId,
183
146
  helperText: helperText,
184
147
  disabled: disabled
185
- }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, "(Optional)")), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
148
+ }, label, optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, " ".concat(translatedLabels.formFields.optionalLabel))), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
186
149
  disabled: disabled
187
150
  }, helperText), /*#__PURE__*/_react["default"].createElement(RadioGroup, {
188
151
  onBlur: handleOnBlur,
@@ -192,19 +155,21 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
192
155
  role: "radiogroup",
193
156
  "aria-disabled": disabled,
194
157
  "aria-labelledby": radioGroupLabelId,
195
- "aria-invalid": error ? "true" : "false",
158
+ "aria-invalid": error ? true : false,
196
159
  "aria-errormessage": error ? errorId : undefined,
197
- "aria-required": !disabled && !readonly && !optional,
198
- "aria-readonly": readonly
160
+ "aria-required": !disabled && !readOnly && !optional,
161
+ "aria-readonly": readOnly,
162
+ "aria-orientation": stacking === "column" ? "vertical" : "horizontal"
199
163
  }, /*#__PURE__*/_react["default"].createElement(ValueInput, {
200
164
  name: name,
201
- value: value !== null && value !== void 0 ? value : innerValue,
202
- readOnly: true,
203
- "aria-hidden": "true"
165
+ disabled: disabled,
166
+ value: (_ref2 = value !== null && value !== void 0 ? value : innerValue) !== null && _ref2 !== void 0 ? _ref2 : "",
167
+ readOnly: true
204
168
  }), innerOptions.map(function (option, index) {
205
169
  return /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
206
- option: option,
207
- currentValue: value !== null && value !== void 0 ? value : innerValue,
170
+ key: "radio-".concat(index),
171
+ label: option.label,
172
+ checked: (value !== null && value !== void 0 ? value : innerValue) === option.value,
208
173
  onClick: function onClick() {
209
174
  handleOnChange(option.value);
210
175
  setCurrentFocusIndex(index);
@@ -212,17 +177,16 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
212
177
  error: error,
213
178
  disabled: option.disabled || disabled,
214
179
  focused: currentFocusIndex === index,
215
- readonly: readonly,
180
+ readOnly: readOnly,
216
181
  tabIndex: tabIndex
217
182
  });
218
183
  })), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
219
184
  id: errorId,
185
+ role: "alert",
220
186
  "aria-live": error ? "assertive" : "off"
221
187
  }, error)));
222
188
  });
223
-
224
- var RadioGroupContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: column;\n box-sizing: border-box;\n"])));
225
-
189
+ var RadioGroupContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: inline-flex;\n flex-direction: column;\n"])));
226
190
  var Label = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n ", "\n"])), function (props) {
227
191
  return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
228
192
  }, function (props) {
@@ -238,11 +202,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
238
202
  }, function (props) {
239
203
  return !props.helperText && "margin-bottom: ".concat(props.theme.groupLabelMargin);
240
204
  });
241
-
242
205
  var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
243
206
  return props.theme.optionalLabelFontWeight;
244
207
  });
245
-
246
208
  var HelperText = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-bottom: ", ";\n"])), function (props) {
247
209
  return props.disabled ? props.theme.disabledHelperTextFontColor : props.theme.helperTextFontColor;
248
210
  }, function (props) {
@@ -258,22 +220,17 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
258
220
  }, function (props) {
259
221
  return props.theme.groupLabelMargin;
260
222
  });
261
-
262
- var RadioGroup = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n flex-direction: ", ";\n\n row-gap: ", ";\n column-gap: ", ";\n"])), function (props) {
223
+ var RadioGroup = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n flex-direction: ", ";\n row-gap: ", ";\n column-gap: ", ";\n"])), function (props) {
263
224
  return props.stacking;
264
225
  }, function (props) {
265
226
  return props.theme.groupVerticalGutter;
266
227
  }, function (props) {
267
228
  return props.theme.groupHorizontalGutter;
268
229
  });
269
-
270
230
  var ValueInput = _styledComponents["default"].input(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
271
-
272
231
  var Error = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n margin-top: 0.5rem;\n"])), function (props) {
273
232
  return props.theme.errorMessageColor;
274
233
  }, function (props) {
275
234
  return props.theme.fontFamily;
276
235
  });
277
-
278
- var _default = DxcRadioGroup;
279
- exports["default"] = _default;
236
+ var _default = exports["default"] = DxcRadioGroup;
@@ -1,6 +1,8 @@
1
+ import React from "react";
1
2
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
2
3
  import Title from "../../.storybook/components/Title";
3
4
  import DxcRadioGroup from "./RadioGroup";
5
+ import { HalstackProvider } from "../HalstackContext";
4
6
 
5
7
  export default {
6
8
  title: "Radio Group",
@@ -18,79 +20,195 @@ const options = [
18
20
 
19
21
  const single_disabled_options = [{ label: "Option A", value: "A", disabled: true }];
20
22
 
23
+ const opinionatedTheme = {
24
+ radioGroup: {
25
+ baseColor: "#0086e6",
26
+ fontColor: "#000000",
27
+ },
28
+ };
29
+
21
30
  export const Chromatic = () => (
22
31
  <>
23
32
  <Title title="Radio input states" theme="light" level={2} />
24
33
  <ExampleContainer>
25
34
  <Title title="Enabled" theme="light" level={4} />
26
- <DxcRadioGroup label="Example" defaultValue="A" options={single_option} />
35
+ <DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
27
36
  </ExampleContainer>
28
37
  <ExampleContainer pseudoState="pseudo-hover">
29
38
  <Title title="Hovered" theme="light" level={4} />
30
- <DxcRadioGroup label="Example" defaultValue="A" options={single_option} />
39
+ <DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
31
40
  </ExampleContainer>
32
41
  <ExampleContainer pseudoState="pseudo-active">
33
42
  <Title title="Active" theme="light" level={4} />
34
- <DxcRadioGroup label="Example" defaultValue="A" options={single_option} />
43
+ <DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
35
44
  </ExampleContainer>
36
45
  <ExampleContainer pseudoState="pseudo-focus">
37
46
  <Title title="Focused" theme="light" level={4} />
38
- <DxcRadioGroup label="Example" defaultValue="A" options={single_option} />
47
+ <DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
39
48
  </ExampleContainer>
40
49
  <ExampleContainer>
41
50
  <Title title="Disabled" theme="light" level={4} />
42
- <DxcRadioGroup label="Example" options={single_disabled_options} defaultValue="A" />
51
+ <DxcRadioGroup label="Label" helperText="Helper text" options={single_disabled_options} defaultValue="A" />
43
52
  </ExampleContainer>
44
53
  <Title title="Readonly radio input sub-states" theme="light" level={3} />
45
54
  <ExampleContainer>
46
55
  <Title title="Enabled" theme="light" level={4} />
47
- <DxcRadioGroup label="Example" options={single_option} defaultValue="A" readonly />
56
+ <DxcRadioGroup label="Label" helperText="Helper text" options={single_option} defaultValue="A" readOnly />
48
57
  </ExampleContainer>
49
58
  <ExampleContainer pseudoState="pseudo-hover">
50
59
  <Title title="Hovered" theme="light" level={4} />
51
- <DxcRadioGroup label="Example" options={single_option} defaultValue="A" readonly />
60
+ <DxcRadioGroup label="Label" helperText="Helper text" options={single_option} defaultValue="A" readOnly />
52
61
  </ExampleContainer>
53
62
  <ExampleContainer pseudoState="pseudo-active">
54
63
  <Title title="Active" theme="light" level={4} />
55
- <DxcRadioGroup label="Example" options={single_option} defaultValue="A" readonly />
64
+ <DxcRadioGroup label="Label" helperText="Helper text" options={single_option} defaultValue="A" readOnly />
56
65
  </ExampleContainer>
57
66
  <Title title="Error radio input sub-states" theme="light" level={3} />
58
67
  <ExampleContainer>
59
68
  <Title title="Enabled" theme="light" level={4} />
60
- <DxcRadioGroup label="Example" options={single_option} defaultValue="A" error="Error message" />
69
+ <DxcRadioGroup
70
+ label="Label"
71
+ helperText="Helper text"
72
+ options={single_option}
73
+ defaultValue="A"
74
+ error="Error message"
75
+ />
61
76
  </ExampleContainer>
62
77
  <ExampleContainer pseudoState="pseudo-hover">
63
78
  <Title title="Hovered" theme="light" level={4} />
64
- <DxcRadioGroup label="Example" options={single_option} defaultValue="A" readonly error="Error message" />
79
+ <DxcRadioGroup
80
+ label="Label"
81
+ helperText="Helper text"
82
+ options={single_option}
83
+ defaultValue="A"
84
+ readOnly
85
+ error="Error message"
86
+ />
65
87
  </ExampleContainer>
66
88
  <ExampleContainer pseudoState="pseudo-active">
67
89
  <Title title="Active" theme="light" level={4} />
68
- <DxcRadioGroup label="Example" options={single_option} defaultValue="A" readonly error="Error message" />
90
+ <DxcRadioGroup
91
+ label="Label"
92
+ helperText="Helper text"
93
+ options={single_option}
94
+ defaultValue="A"
95
+ readOnly
96
+ error="Error message"
97
+ />
69
98
  </ExampleContainer>
70
99
  <Title title="Variants" theme="light" level={2} />
71
100
  <ExampleContainer>
72
101
  <Title title="Column" theme="light" level={4} />
73
- <DxcRadioGroup label="Example" helperText="Helper text" options={options} />
102
+ <DxcRadioGroup label="Label" helperText="Helper text" options={options} />
74
103
  </ExampleContainer>
75
104
  <ExampleContainer>
76
105
  <Title title="Row" theme="light" level={4} />
77
- <DxcRadioGroup label="Example" helperText="Helper text" options={options} stacking="row" />
106
+ <DxcRadioGroup label="Label" helperText="Helper text" options={options} stacking="row" />
78
107
  </ExampleContainer>
79
108
  <ExampleContainer>
80
109
  <Title title="Optional" theme="light" level={4} />
81
- <DxcRadioGroup label="Example" optional helperText="Helper text" options={options} stacking="row" />
110
+ <DxcRadioGroup label="Label" optional helperText="Helper text" options={options} stacking="row" />
82
111
  </ExampleContainer>
83
112
  <ExampleContainer>
84
113
  <Title title="Disabled" theme="light" level={4} />
85
- <DxcRadioGroup label="Example" helperText="Helper text" options={options} disabled />
114
+ <DxcRadioGroup label="Label" helperText="Helper text" options={options} disabled />
86
115
  </ExampleContainer>
87
116
  <ExampleContainer>
88
117
  <Title title="Readonly" theme="light" level={4} />
89
- <DxcRadioGroup label="Example" readonly helperText="Helper text" options={options} />
118
+ <DxcRadioGroup label="Label" readOnly helperText="Helper text" options={options} />
119
+ </ExampleContainer>
120
+ <ExampleContainer>
121
+ <Title title="Error space reserved" theme="light" level={4} />
122
+ <DxcRadioGroup label="Label" error="" helperText="Helper text" options={options} />
90
123
  </ExampleContainer>
91
124
  <ExampleContainer>
92
125
  <Title title="Error" theme="light" level={4} />
93
- <DxcRadioGroup label="Example" error="Error message" helperText="Helper text" options={options} />
126
+ <DxcRadioGroup label="Label" error="Error message" helperText="Helper text" options={options} />
127
+ </ExampleContainer>
128
+ <Title title="Opinionated theme" theme="light" level={2} />
129
+ <ExampleContainer>
130
+ <Title title="Enabled" theme="light" level={4} />
131
+ <HalstackProvider theme={opinionatedTheme}>
132
+ <DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
133
+ </HalstackProvider>
134
+ </ExampleContainer>
135
+ <ExampleContainer pseudoState="pseudo-hover">
136
+ <Title title="Hovered" theme="light" level={4} />
137
+ <HalstackProvider theme={opinionatedTheme}>
138
+ <DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
139
+ </HalstackProvider>
140
+ </ExampleContainer>
141
+ <ExampleContainer pseudoState="pseudo-active">
142
+ <Title title="Active" theme="light" level={4} />
143
+ <HalstackProvider theme={opinionatedTheme}>
144
+ <DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
145
+ </HalstackProvider>
146
+ </ExampleContainer>
147
+ <ExampleContainer pseudoState="pseudo-focus">
148
+ <Title title="Focused" theme="light" level={4} />
149
+ <HalstackProvider theme={opinionatedTheme}>
150
+ <DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
151
+ </HalstackProvider>
152
+ </ExampleContainer>
153
+ <ExampleContainer>
154
+ <Title title="Disabled" theme="light" level={4} />
155
+ <HalstackProvider theme={opinionatedTheme}>
156
+ <DxcRadioGroup label="Label" helperText="Helper text" options={single_disabled_options} defaultValue="A" />
157
+ </HalstackProvider>
158
+ </ExampleContainer>
159
+ <ExampleContainer>
160
+ <Title title="Readonly enabled" theme="light" level={4} />
161
+ <HalstackProvider theme={opinionatedTheme}>
162
+ <DxcRadioGroup label="Label" options={single_option} defaultValue="A" readOnly />
163
+ </HalstackProvider>
164
+ </ExampleContainer>
165
+ <ExampleContainer pseudoState="pseudo-hover">
166
+ <Title title="Readonly hovered" theme="light" level={4} />
167
+ <HalstackProvider theme={opinionatedTheme}>
168
+ <DxcRadioGroup label="Label" options={single_option} defaultValue="A" readOnly />
169
+ </HalstackProvider>
170
+ </ExampleContainer>
171
+ <ExampleContainer pseudoState="pseudo-active">
172
+ <Title title="Readonly active" theme="light" level={4} />
173
+ <HalstackProvider theme={opinionatedTheme}>
174
+ <DxcRadioGroup label="Label" options={single_option} defaultValue="A" readOnly />
175
+ </HalstackProvider>
176
+ </ExampleContainer>
177
+ <ExampleContainer pseudoState="pseudo-focus">
178
+ <Title title="Readonly focused" theme="light" level={4} />
179
+ <HalstackProvider theme={opinionatedTheme}>
180
+ <DxcRadioGroup label="Label" options={single_option} defaultValue="A" readOnly />
181
+ </HalstackProvider>
182
+ </ExampleContainer>
183
+ <ExampleContainer>
184
+ <Title title="Enabled" theme="light" level={4} />
185
+ <HalstackProvider theme={opinionatedTheme}>
186
+ <DxcRadioGroup label="Label" options={single_option} defaultValue="A" error="Error message" />
187
+ </HalstackProvider>
188
+ </ExampleContainer>
189
+ <ExampleContainer pseudoState="pseudo-hover">
190
+ <Title title="Hovered" theme="light" level={4} />
191
+ <HalstackProvider theme={opinionatedTheme}>
192
+ <DxcRadioGroup label="Label" options={single_option} defaultValue="A" error="Error message" />
193
+ </HalstackProvider>
194
+ </ExampleContainer>
195
+ <ExampleContainer pseudoState="pseudo-active">
196
+ <Title title="Active" theme="light" level={4} />
197
+ <HalstackProvider theme={opinionatedTheme}>
198
+ <DxcRadioGroup label="Label" options={single_option} defaultValue="A" error="Error message" />
199
+ </HalstackProvider>
200
+ </ExampleContainer>
201
+ <ExampleContainer pseudoState="pseudo-focus">
202
+ <Title title="Focused" theme="light" level={4} />
203
+ <HalstackProvider theme={opinionatedTheme}>
204
+ <DxcRadioGroup label="Label" options={single_option} defaultValue="A" error="Error message" />
205
+ </HalstackProvider>
206
+ </ExampleContainer>
207
+ <ExampleContainer>
208
+ <Title title="Disabled" theme="light" level={4} />
209
+ <HalstackProvider theme={opinionatedTheme}>
210
+ <DxcRadioGroup label="Label" helperText="Helper text" options={options} disabled defaultValue="A" />
211
+ </HalstackProvider>
94
212
  </ExampleContainer>
95
213
  </>
96
214
  );