@nypl/design-system-react-components 0.25.0 → 0.25.4

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 (392) hide show
  1. package/CHANGELOG.md +142 -1
  2. package/README.md +98 -50
  3. package/dist/components/Accordion/Accordion.d.ts +14 -14
  4. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +15 -14
  5. package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +6 -0
  6. package/dist/components/Button/Button.d.ts +13 -8
  7. package/dist/components/Button/ButtonTypes.d.ts +3 -1
  8. package/dist/components/Card/Card.d.ts +36 -52
  9. package/dist/components/Card/CardTypes.d.ts +2 -17
  10. package/dist/components/Checkbox/Checkbox.d.ts +17 -13
  11. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +45 -0
  12. package/dist/components/CheckboxGroup/CheckboxGroupLayoutTypes.d.ts +4 -0
  13. package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +15 -0
  14. package/dist/components/DatePicker/DatePicker.d.ts +37 -35
  15. package/dist/components/Fieldset/Fieldset.d.ts +25 -0
  16. package/dist/components/Form/Form.d.ts +13 -8
  17. package/dist/components/Form/FormTypes.d.ts +2 -8
  18. package/dist/components/Grid/GridTypes.d.ts +9 -0
  19. package/dist/components/Grid/SimpleGrid.d.ts +14 -0
  20. package/dist/components/Heading/Heading.d.ts +4 -4
  21. package/dist/components/HelperErrorText/HelperErrorText.d.ts +17 -14
  22. package/dist/components/Hero/Hero.d.ts +19 -14
  23. package/dist/components/Hero/HeroTypes.d.ts +10 -5
  24. package/dist/components/HorizontalRule/HorizontalRule.d.ts +10 -9
  25. package/dist/components/Icons/Icon.d.ts +19 -14
  26. package/dist/components/Icons/IconSvgs.d.ts +11 -0
  27. package/dist/components/Icons/IconTypes.d.ts +89 -64
  28. package/dist/components/Image/Image.d.ts +19 -9
  29. package/dist/components/Image/ImageTypes.d.ts +20 -0
  30. package/dist/components/Label/Label.d.ts +5 -17
  31. package/dist/components/Link/Link.d.ts +12 -12
  32. package/dist/components/List/List.d.ts +19 -14
  33. package/dist/components/Notification/Notification.d.ts +37 -16
  34. package/dist/components/Pagination/Pagination.d.ts +16 -13
  35. package/dist/components/Pagination/Pagination.stories.d.ts +2 -0
  36. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +29 -0
  37. package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +8 -0
  38. package/dist/components/Radio/Radio.d.ts +2 -0
  39. package/dist/components/RadioGroup/RadioGroup.d.ts +4 -2
  40. package/dist/components/SearchBar/SearchBar.d.ts +45 -27
  41. package/dist/components/Select/Select.d.ts +34 -35
  42. package/dist/components/Select/SelectTypes.d.ts +4 -0
  43. package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +18 -14
  44. package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +2 -2
  45. package/dist/components/Slider/Slider.d.ts +57 -0
  46. package/dist/components/StatusBadge/StatusBadge.d.ts +8 -6
  47. package/dist/components/StatusBadge/StatusBadgeTypes.d.ts +5 -0
  48. package/dist/components/StyleGuide/ColorCard.d.ts +12 -0
  49. package/dist/components/Tabs/Tabs.d.ts +1 -1
  50. package/dist/components/Template/Template.d.ts +91 -0
  51. package/dist/components/Text/Text.d.ts +16 -0
  52. package/dist/components/Text/TextTypes.d.ts +6 -0
  53. package/dist/components/TextInput/TextInput.d.ts +44 -31
  54. package/dist/components/TextInput/TextInputTypes.d.ts +5 -0
  55. package/dist/components/VideoPlayer/VideoPlayer.d.ts +6 -8
  56. package/dist/components/VideoPlayer/VideoPlayerTypes.d.ts +2 -2
  57. package/dist/design-system-react-components.cjs.development.js +6473 -2630
  58. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  59. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  60. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  61. package/dist/design-system-react-components.esm.js +6463 -2631
  62. package/dist/design-system-react-components.esm.js.map +1 -1
  63. package/dist/hooks/tests/useCarouselStyles.test.d.ts +1 -0
  64. package/dist/hooks/useCarouselStyles.d.ts +16 -0
  65. package/dist/hooks/useNYPLTheme.d.ts +54 -0
  66. package/dist/hooks/useWindowSize.d.ts +10 -0
  67. package/dist/index.d.ts +19 -7
  68. package/dist/resources.scss +180 -170
  69. package/dist/styles.css +1 -1
  70. package/dist/theme/components/accordion.d.ts +25 -0
  71. package/dist/theme/components/breadcrumb.d.ts +90 -0
  72. package/dist/theme/components/button.d.ts +39 -15
  73. package/dist/theme/components/card.d.ts +168 -0
  74. package/dist/theme/components/checkbox.d.ts +12 -8
  75. package/dist/theme/components/checkboxGroup.d.ts +12 -0
  76. package/dist/theme/components/componentWrapper.d.ts +11 -0
  77. package/dist/theme/components/datePicker.d.ts +16 -0
  78. package/dist/theme/components/fieldset.d.ts +27 -0
  79. package/dist/theme/components/global.d.ts +65 -0
  80. package/dist/theme/components/globalMixins.d.ts +23 -0
  81. package/dist/theme/components/heading.d.ts +55 -20
  82. package/dist/theme/components/helperErrorText.d.ts +10 -0
  83. package/dist/theme/components/hero.d.ts +493 -0
  84. package/dist/theme/components/horizontalRule.d.ts +14 -0
  85. package/dist/theme/components/icon.d.ts +13 -0
  86. package/dist/theme/components/image.d.ts +31 -0
  87. package/dist/theme/components/label.d.ts +18 -0
  88. package/dist/theme/components/link.d.ts +49 -0
  89. package/dist/theme/components/list.d.ts +89 -0
  90. package/dist/theme/components/notification.d.ts +75 -0
  91. package/dist/theme/components/pagination.d.ts +19 -0
  92. package/dist/theme/components/progressIndicator.d.ts +50 -0
  93. package/dist/theme/components/radio.d.ts +8 -7
  94. package/dist/theme/components/radioGroup.d.ts +12 -0
  95. package/dist/theme/components/searchBar.d.ts +20 -0
  96. package/dist/theme/components/select.d.ts +67 -0
  97. package/dist/theme/components/skeletonLoader.d.ts +98 -0
  98. package/dist/theme/components/slider.d.ts +51 -0
  99. package/dist/theme/components/statusBadge.d.ts +25 -0
  100. package/dist/theme/components/tabs.d.ts +63 -12
  101. package/dist/theme/components/template.d.ts +105 -0
  102. package/dist/theme/components/text.d.ts +20 -0
  103. package/dist/theme/components/textInput.d.ts +112 -0
  104. package/dist/theme/components/videoPlayer.d.ts +40 -0
  105. package/dist/theme/foundations/breakpoints.d.ts +8 -8
  106. package/dist/theme/foundations/global.d.ts +8 -0
  107. package/dist/theme/foundations/radii.d.ts +5 -0
  108. package/dist/theme/foundations/shadows.d.ts +4 -0
  109. package/dist/theme/foundations/spacing.d.ts +16 -16
  110. package/dist/utils/utils.d.ts +6 -0
  111. package/package.json +72 -82
  112. package/src/__tests__/setup.ts +2 -2
  113. package/src/components/Accordion/Accordion.stories.mdx +223 -34
  114. package/src/components/Accordion/Accordion.test.tsx +135 -19
  115. package/src/components/Accordion/Accordion.tsx +81 -56
  116. package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -4
  117. package/src/components/Autosuggest/Autosuggest.stories.tsx +3 -2
  118. package/src/components/Autosuggest/_Autosuggest.scss +5 -5
  119. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +48 -50
  120. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +54 -25
  121. package/src/components/Breadcrumbs/Breadcrumbs.tsx +75 -73
  122. package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +6 -0
  123. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +298 -0
  124. package/src/components/Button/Button.stories.mdx +45 -36
  125. package/src/components/Button/Button.test.tsx +37 -11
  126. package/src/components/Button/Button.tsx +22 -34
  127. package/src/components/Button/ButtonTypes.tsx +2 -0
  128. package/src/components/Button/__snapshots__/Button.test.tsx.snap +50 -8
  129. package/src/components/Card/Card.stories.mdx +314 -273
  130. package/src/components/Card/Card.test.tsx +157 -91
  131. package/src/components/Card/Card.tsx +195 -145
  132. package/src/components/Card/CardTypes.tsx +2 -19
  133. package/src/components/Card/__snapshots__/Card.test.tsx.snap +410 -0
  134. package/src/components/CardEdition/CardEdition.stories.tsx +26 -53
  135. package/src/components/CardEdition/CardEdition.test.tsx +23 -31
  136. package/src/components/CardEdition/_CardEdition.scss +22 -23
  137. package/src/components/Chakra/Box.stories.mdx +15 -16
  138. package/src/components/Chakra/Center.stories.mdx +56 -24
  139. package/src/components/Chakra/Grid.stories.mdx +92 -0
  140. package/src/components/Chakra/Stack.stories.mdx +38 -21
  141. package/src/components/Checkbox/Checkbox.stories.mdx +33 -11
  142. package/src/components/Checkbox/Checkbox.test.tsx +47 -2
  143. package/src/components/Checkbox/Checkbox.tsx +44 -41
  144. package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +92 -7
  145. package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +329 -0
  146. package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +372 -0
  147. package/src/components/CheckboxGroup/CheckboxGroup.tsx +152 -0
  148. package/src/components/CheckboxGroup/CheckboxGroupLayoutTypes.tsx +4 -0
  149. package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +1326 -0
  150. package/src/components/ComponentWrapper/ComponentWrapper.tsx +63 -0
  151. package/src/components/DatePicker/DatePicker.stories.mdx +163 -62
  152. package/src/components/DatePicker/DatePicker.test.tsx +264 -64
  153. package/src/components/DatePicker/DatePicker.tsx +165 -134
  154. package/src/components/DatePicker/_DatePicker.scss +33 -66
  155. package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +818 -0
  156. package/src/components/Fieldset/Fieldset.stories.mdx +55 -0
  157. package/src/components/Fieldset/Fieldset.test.tsx +125 -0
  158. package/src/components/Fieldset/Fieldset.tsx +52 -0
  159. package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +68 -0
  160. package/src/components/Form/Form.stories.mdx +70 -27
  161. package/src/components/Form/Form.test.tsx +58 -45
  162. package/src/components/Form/Form.tsx +50 -21
  163. package/src/components/Form/FormTypes.tsx +3 -8
  164. package/src/components/Form/__snapshots__/Form.test.tsx.snap +24 -14
  165. package/src/components/Grid/GridTypes.tsx +9 -0
  166. package/src/components/Grid/SimpleGrid.stories.mdx +268 -0
  167. package/src/components/Grid/SimpleGrid.test.tsx +66 -0
  168. package/src/components/Grid/SimpleGrid.tsx +37 -0
  169. package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +8 -0
  170. package/src/components/Heading/Heading.stories.mdx +3 -3
  171. package/src/components/Heading/Heading.tsx +12 -6
  172. package/src/components/HelperErrorText/HelperErrorText.stories.mdx +124 -0
  173. package/src/components/HelperErrorText/HelperErrorText.test.tsx +39 -44
  174. package/src/components/HelperErrorText/HelperErrorText.tsx +37 -39
  175. package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +25 -0
  176. package/src/components/Hero/Hero.stories.mdx +198 -121
  177. package/src/components/Hero/Hero.test.tsx +537 -107
  178. package/src/components/Hero/Hero.tsx +79 -92
  179. package/src/components/Hero/HeroTypes.tsx +18 -5
  180. package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +307 -0
  181. package/src/components/HorizontalRule/HorizontalRule.stories.mdx +8 -6
  182. package/src/components/HorizontalRule/HorizontalRule.test.tsx +33 -28
  183. package/src/components/HorizontalRule/HorizontalRule.tsx +27 -29
  184. package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +27 -9
  185. package/src/components/Icons/Icon.stories.mdx +94 -77
  186. package/src/components/Icons/Icon.test.tsx +48 -22
  187. package/src/components/Icons/Icon.tsx +78 -61
  188. package/src/components/Icons/IconSvgs.tsx +22 -0
  189. package/src/components/Icons/IconTypes.tsx +91 -64
  190. package/src/components/Image/Image.stories.mdx +220 -0
  191. package/src/components/Image/Image.test.tsx +131 -29
  192. package/src/components/Image/Image.tsx +84 -56
  193. package/src/components/Image/ImageTypes.ts +22 -0
  194. package/src/components/Image/__snapshots__/Image.test.tsx.snap +190 -0
  195. package/src/components/Input/Input.stories.tsx +23 -67
  196. package/src/components/Input/Input.test.tsx +4 -4
  197. package/src/components/Input/_Input.scss +23 -14
  198. package/src/components/Label/Label.stories.mdx +28 -7
  199. package/src/components/Label/Label.test.tsx +43 -12
  200. package/src/components/Label/Label.tsx +21 -34
  201. package/src/components/Label/__snapshots__/Label.test.tsx.snap +41 -0
  202. package/src/components/Link/Link.stories.mdx +41 -41
  203. package/src/components/Link/Link.test.tsx +33 -44
  204. package/src/components/Link/Link.tsx +117 -100
  205. package/src/components/List/List.stories.mdx +124 -51
  206. package/src/components/List/List.test.tsx +142 -63
  207. package/src/components/List/List.tsx +89 -93
  208. package/src/components/List/__snapshots__/List.test.tsx.snap +109 -0
  209. package/src/components/Modal/Modal.stories.mdx +3 -3
  210. package/src/components/Modal/_Modal.scss +2 -2
  211. package/src/components/Notification/Notification.stories.mdx +119 -111
  212. package/src/components/Notification/Notification.test.tsx +102 -126
  213. package/src/components/Notification/Notification.tsx +157 -161
  214. package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +159 -8
  215. package/src/components/Pagination/Pagination.stories.mdx +26 -27
  216. package/src/components/Pagination/Pagination.stories.tsx +11 -16
  217. package/src/components/Pagination/Pagination.test.tsx +276 -140
  218. package/src/components/Pagination/Pagination.tsx +174 -154
  219. package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +285 -0
  220. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +292 -0
  221. package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +225 -0
  222. package/src/components/ProgressIndicator/ProgressIndicator.tsx +126 -0
  223. package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +8 -0
  224. package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +357 -0
  225. package/src/components/Radio/Radio.test.tsx +20 -4
  226. package/src/components/Radio/Radio.tsx +6 -3
  227. package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +3 -0
  228. package/src/components/RadioGroup/RadioGroup.stories.mdx +4 -5
  229. package/src/components/RadioGroup/RadioGroup.test.tsx +24 -1
  230. package/src/components/RadioGroup/RadioGroup.tsx +21 -29
  231. package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +42 -72
  232. package/src/components/SearchBar/SearchBar.Test.tsx +170 -16
  233. package/src/components/SearchBar/SearchBar.stories.mdx +294 -219
  234. package/src/components/SearchBar/SearchBar.tsx +161 -46
  235. package/src/components/Select/Select.stories.mdx +188 -170
  236. package/src/components/Select/Select.test.tsx +132 -375
  237. package/src/components/Select/Select.tsx +121 -165
  238. package/src/components/Select/SelectTypes.tsx +5 -0
  239. package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +33 -76
  240. package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +97 -177
  241. package/src/components/SkeletonLoader/SkeletonLoader.tsx +75 -70
  242. package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +2 -2
  243. package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +739 -0
  244. package/src/components/Slider/Slider.stories.mdx +529 -0
  245. package/src/components/Slider/Slider.test.tsx +653 -0
  246. package/src/components/Slider/Slider.tsx +303 -0
  247. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +1946 -0
  248. package/src/components/StatusBadge/StatusBadge.stories.mdx +91 -0
  249. package/src/components/StatusBadge/StatusBadge.test.tsx +35 -7
  250. package/src/components/StatusBadge/StatusBadge.tsx +24 -25
  251. package/src/components/StatusBadge/StatusBadgeTypes.tsx +5 -0
  252. package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +28 -0
  253. package/src/components/StyleGuide/Bidirectionality.stories.mdx +17 -17
  254. package/src/components/StyleGuide/Breakpoints.stories.mdx +34 -10
  255. package/src/components/StyleGuide/Buttons.stories.mdx +102 -86
  256. package/src/components/StyleGuide/ColorCard.tsx +46 -0
  257. package/src/components/StyleGuide/Colors.stories.mdx +196 -0
  258. package/src/components/StyleGuide/DesignTokens.stories.mdx +170 -0
  259. package/src/components/StyleGuide/Forms.stories.mdx +9 -7
  260. package/src/components/StyleGuide/Iconography.stories.mdx +119 -127
  261. package/src/components/StyleGuide/Spacing.stories.mdx +31 -23
  262. package/src/components/StyleGuide/Typography.stories.mdx +202 -189
  263. package/src/components/StyleGuide/UIDocCard.tsx +1 -1
  264. package/src/components/Tabs/Tabs.stories.mdx +73 -11
  265. package/src/components/Tabs/Tabs.tsx +88 -67
  266. package/src/components/Template/Template.stories.mdx +572 -0
  267. package/src/components/Template/Template.test.tsx +124 -0
  268. package/src/components/Template/Template.tsx +226 -0
  269. package/src/components/Text/Text.stories.mdx +70 -0
  270. package/src/components/Text/Text.test.tsx +63 -0
  271. package/src/components/Text/Text.tsx +55 -0
  272. package/src/components/Text/TextTypes.tsx +6 -0
  273. package/src/components/Text/__snapshots__/Text.test.tsx.snap +33 -0
  274. package/src/components/TextInput/TextInput.stories.mdx +89 -90
  275. package/src/components/TextInput/TextInput.test.tsx +84 -85
  276. package/src/components/TextInput/TextInput.tsx +121 -95
  277. package/src/components/TextInput/TextInputTypes.tsx +8 -0
  278. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +17 -4
  279. package/src/components/VideoPlayer/VideoPlayer.test.tsx +54 -53
  280. package/src/components/VideoPlayer/VideoPlayer.tsx +50 -51
  281. package/src/components/VideoPlayer/VideoPlayerTypes.tsx +2 -2
  282. package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +91 -0
  283. package/src/docs/Chakra.stories.mdx +246 -65
  284. package/src/docs/Intro.stories.mdx +18 -13
  285. package/src/hooks/tests/useCarouselStyles.test.ts +140 -0
  286. package/src/hooks/tests/useNYPLTheme.test.tsx +36 -0
  287. package/src/hooks/useCarouselStyles.ts +34 -0
  288. package/src/hooks/useNYPLTheme.ts +67 -0
  289. package/src/hooks/useWindowSize.ts +40 -0
  290. package/src/index.ts +39 -16
  291. package/src/resources.scss +5 -5
  292. package/src/styles/base/{_02-breakpoints.scss → _01-breakpoints.scss} +9 -10
  293. package/src/styles/base/{_03-mixins.scss → _02-mixins.scss} +16 -5
  294. package/src/styles/base/_03-base.scss +25 -0
  295. package/src/styles/base/{_05-focus.scss → _04-focus.scss} +0 -15
  296. package/src/styles/base/_place-holder.scss +14 -3
  297. package/src/styles/{03-space → space}/_space-inline.scss +14 -14
  298. package/src/styles/{03-space → space}/_space-inset.scss +10 -10
  299. package/src/styles/space/_space-stack.scss +116 -0
  300. package/src/styles.scss +13 -62
  301. package/src/theme/components/accordion.ts +30 -0
  302. package/src/theme/components/breadcrumb.ts +77 -0
  303. package/src/theme/components/button.ts +91 -71
  304. package/src/theme/components/card.ts +174 -0
  305. package/src/theme/components/checkbox.ts +22 -29
  306. package/src/theme/components/checkboxGroup.ts +8 -0
  307. package/src/theme/components/componentWrapper.ts +10 -0
  308. package/src/theme/components/datePicker.ts +17 -0
  309. package/src/theme/components/fieldset.ts +18 -0
  310. package/src/theme/components/global.ts +82 -0
  311. package/src/theme/components/globalMixins.ts +24 -0
  312. package/src/theme/components/heading.ts +25 -13
  313. package/src/theme/components/helperErrorText.ts +9 -0
  314. package/src/theme/components/hero.ts +240 -0
  315. package/src/theme/components/horizontalRule.ts +13 -0
  316. package/src/theme/components/icon.ts +79 -0
  317. package/src/theme/components/image.ts +116 -0
  318. package/src/theme/components/label.ts +10 -0
  319. package/src/theme/components/link.ts +51 -0
  320. package/src/theme/components/list.ts +73 -0
  321. package/src/theme/components/notification.ts +93 -0
  322. package/src/theme/components/pagination.ts +20 -0
  323. package/src/theme/components/progressIndicator.ts +62 -0
  324. package/src/theme/components/radio.ts +22 -33
  325. package/src/theme/components/radioGroup.ts +8 -0
  326. package/src/theme/components/searchBar.ts +21 -0
  327. package/src/theme/components/select.ts +53 -0
  328. package/src/theme/components/skeletonLoader.ts +107 -0
  329. package/src/theme/components/slider.ts +79 -0
  330. package/src/theme/components/statusBadge.ts +26 -0
  331. package/src/theme/components/tabs.ts +102 -69
  332. package/src/theme/components/template.ts +114 -0
  333. package/src/theme/components/text.ts +31 -0
  334. package/src/theme/components/textInput.ts +62 -0
  335. package/src/theme/components/videoPlayer.ts +49 -0
  336. package/src/theme/foundations/breakpoints.ts +8 -8
  337. package/src/theme/foundations/colors.ts +29 -13
  338. package/src/theme/foundations/global.ts +8 -0
  339. package/src/theme/foundations/radii.ts +6 -0
  340. package/src/theme/foundations/shadows.ts +5 -0
  341. package/src/theme/foundations/spacing.ts +24 -24
  342. package/src/theme/index.ts +74 -13
  343. package/src/utils/componentCategories.ts +12 -5
  344. package/src/utils/utils.ts +13 -0
  345. package/dist/components/Accordion/Accordion.stories.d.ts +0 -6
  346. package/dist/components/HelperErrorText/HelperErrorText.stories.d.ts +0 -16
  347. package/dist/components/Image/Image.stories.d.ts +0 -18
  348. package/dist/components/List/List.stories.d.ts +0 -7
  349. package/dist/components/StatusBadge/StatusBadge.stories.d.ts +0 -8
  350. package/dist/components/StyleGuide/Colors.stories.d.ts +0 -25
  351. package/dist/components/Template/Template.stories.d.ts +0 -30
  352. package/dist/theme/components/customRadioGroup.d.ts +0 -17
  353. package/src/components/Accordion/Accordion.stories.tsx +0 -66
  354. package/src/components/Accordion/_Accordion.scss +0 -81
  355. package/src/components/Breadcrumbs/_Breadcrumbs.scss +0 -97
  356. package/src/components/Button/_Button.scss +0 -56
  357. package/src/components/Card/_Card.scss +0 -308
  358. package/src/components/Form/_Form.scss +0 -67
  359. package/src/components/HelperErrorText/HelperErrorText.stories.tsx +0 -48
  360. package/src/components/HelperErrorText/_HelperErrorText.scss +0 -9
  361. package/src/components/Hero/_Hero.scss +0 -256
  362. package/src/components/HorizontalRule/_HorizontalRule.scss +0 -15
  363. package/src/components/Icons/_Icons.scss +0 -116
  364. package/src/components/Image/Image.stories.tsx +0 -54
  365. package/src/components/Image/_Image.scss +0 -38
  366. package/src/components/Label/_Label.scss +0 -22
  367. package/src/components/Link/_Link.scss +0 -73
  368. package/src/components/List/List.stories.tsx +0 -139
  369. package/src/components/List/_List.scss +0 -76
  370. package/src/components/Notification/_Notification.scss +0 -110
  371. package/src/components/Pagination/_Pagination.scss +0 -40
  372. package/src/components/SearchBar/_SearchBar.scss +0 -16
  373. package/src/components/Select/_Select.scss +0 -82
  374. package/src/components/SkeletonLoader/_SkeletonLoader.scss +0 -142
  375. package/src/components/StatusBadge/StatusBadge.stories.tsx +0 -34
  376. package/src/components/StatusBadge/_StatusBadge.scss +0 -23
  377. package/src/components/StyleGuide/Colors.stories.tsx +0 -289
  378. package/src/components/Template/Template.stories.tsx +0 -86
  379. package/src/components/Template/_Template.scss +0 -63
  380. package/src/components/TextInput/_TextInput.scss +0 -59
  381. package/src/components/VideoPlayer/_VideoPlayer.scss +0 -38
  382. package/src/styles/01-colors/_colors-brand.scss +0 -56
  383. package/src/styles/01-colors/_colors-utility.scss +0 -65
  384. package/src/styles/02-typography/_type-scale.css +0 -11
  385. package/src/styles/02-typography/_type-weight.css +0 -7
  386. package/src/styles/02-typography/_typefaces.css +0 -4
  387. package/src/styles/03-space/_space-stack.scss +0 -116
  388. package/src/styles/03-space/_space.css +0 -30
  389. package/src/styles/base/_04-base.scss +0 -19
  390. package/src/styles/base/_card-grid.scss +0 -78
  391. package/src/styles/base/_typography.scss +0 -11
  392. package/src/theme/components/customRadioGroup.ts +0 -18
@@ -0,0 +1,357 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`ProgressIndicator Renders the UI snapshot correctly 1`] = `
4
+ <div
5
+ className="css-0"
6
+ >
7
+ <label
8
+ className="css-0"
9
+ htmlFor="linearBasic"
10
+ id="linearBasic-label"
11
+ >
12
+ Linear
13
+ </label>
14
+ <div
15
+ className="css-0"
16
+ >
17
+ <div
18
+ className="css-kdwx3d"
19
+ id="linearBasic"
20
+ >
21
+ <div
22
+ aria-label={null}
23
+ aria-labelledby="linearBasic-label"
24
+ aria-valuemax={100}
25
+ aria-valuemin={0}
26
+ aria-valuenow={50}
27
+ className="css-1jy0d03"
28
+ role="progressbar"
29
+ style={
30
+ Object {
31
+ "width": "50%",
32
+ }
33
+ }
34
+ />
35
+ </div>
36
+ <div
37
+ className="css-0"
38
+ >
39
+ 50
40
+ %
41
+ </div>
42
+ </div>
43
+ </div>
44
+ `;
45
+
46
+ exports[`ProgressIndicator Renders the UI snapshot correctly 2`] = `
47
+ <div
48
+ className="css-0"
49
+ >
50
+ <div
51
+ className="css-0"
52
+ >
53
+ <div
54
+ aria-label={null}
55
+ aria-labelledby="circularBasic-label"
56
+ aria-valuemax={100}
57
+ aria-valuemin={0}
58
+ aria-valuenow={50}
59
+ className="chakra-progress css-120wkjd"
60
+ id="circularBasic"
61
+ role="progressbar"
62
+ >
63
+ <svg
64
+ className="css-kn46u7"
65
+ viewBox="0 0 100 100"
66
+ >
67
+ <circle
68
+ className="chakra-progress__track css-1bhxzgy"
69
+ cx={50}
70
+ cy={50}
71
+ r={42}
72
+ strokeWidth="10px"
73
+ />
74
+ <circle
75
+ className="chakra-progress__indicator css-5hfhx0"
76
+ cx={50}
77
+ cy={50}
78
+ r={42}
79
+ strokeDasharray="132 132"
80
+ strokeDashoffset={66}
81
+ strokeWidth="10px"
82
+ />
83
+ </svg>
84
+ <div
85
+ className="css-f1j64i"
86
+ >
87
+ 50
88
+ %
89
+ </div>
90
+ </div>
91
+ <label
92
+ className="css-0"
93
+ htmlFor="circularBasic"
94
+ id="circularBasic-label"
95
+ >
96
+ Circular
97
+ </label>
98
+ </div>
99
+ </div>
100
+ `;
101
+
102
+ exports[`ProgressIndicator Renders the UI snapshot correctly 3`] = `
103
+ <div
104
+ className="css-0"
105
+ >
106
+ <div
107
+ className="css-0"
108
+ >
109
+ <div
110
+ className="css-kdwx3d"
111
+ id="linearNoLabel"
112
+ >
113
+ <div
114
+ aria-label="Linear"
115
+ aria-labelledby={null}
116
+ aria-valuemax={100}
117
+ aria-valuemin={0}
118
+ aria-valuenow={50}
119
+ className="css-1jy0d03"
120
+ role="progressbar"
121
+ style={
122
+ Object {
123
+ "width": "50%",
124
+ }
125
+ }
126
+ />
127
+ </div>
128
+ </div>
129
+ </div>
130
+ `;
131
+
132
+ exports[`ProgressIndicator Renders the UI snapshot correctly 4`] = `
133
+ <div
134
+ className="css-0"
135
+ >
136
+ <div
137
+ className="css-0"
138
+ >
139
+ <div
140
+ aria-label="Circular"
141
+ aria-labelledby={null}
142
+ aria-valuemax={100}
143
+ aria-valuemin={0}
144
+ aria-valuenow={50}
145
+ className="chakra-progress css-120wkjd"
146
+ id="circularNoLabel"
147
+ role="progressbar"
148
+ >
149
+ <svg
150
+ className="css-kn46u7"
151
+ viewBox="0 0 100 100"
152
+ >
153
+ <circle
154
+ className="chakra-progress__track css-1bhxzgy"
155
+ cx={50}
156
+ cy={50}
157
+ r={42}
158
+ strokeWidth="10px"
159
+ />
160
+ <circle
161
+ className="chakra-progress__indicator css-5hfhx0"
162
+ cx={50}
163
+ cy={50}
164
+ r={42}
165
+ strokeDasharray="132 132"
166
+ strokeDashoffset={66}
167
+ strokeWidth="10px"
168
+ />
169
+ </svg>
170
+ </div>
171
+ </div>
172
+ </div>
173
+ `;
174
+
175
+ exports[`ProgressIndicator Renders the UI snapshot correctly 5`] = `
176
+ <div
177
+ className="css-0"
178
+ >
179
+ <label
180
+ className="css-0"
181
+ htmlFor="linearIndeterminate"
182
+ id="linearIndeterminate-label"
183
+ >
184
+ Linear
185
+ </label>
186
+ <div
187
+ className="css-0"
188
+ >
189
+ <div
190
+ className="css-kdwx3d"
191
+ id="linearIndeterminate"
192
+ >
193
+ <div
194
+ aria-label={null}
195
+ aria-labelledby="linearIndeterminate-label"
196
+ aria-valuemax={100}
197
+ aria-valuemin={0}
198
+ className="css-1demtxk"
199
+ data-indeterminate=""
200
+ role="progressbar"
201
+ style={
202
+ Object {
203
+ "width": "0%",
204
+ }
205
+ }
206
+ />
207
+ </div>
208
+ </div>
209
+ </div>
210
+ `;
211
+
212
+ exports[`ProgressIndicator Renders the UI snapshot correctly 6`] = `
213
+ <div
214
+ className="css-0"
215
+ >
216
+ <div
217
+ className="css-0"
218
+ >
219
+ <div
220
+ aria-label={null}
221
+ aria-labelledby="circularIndeterminate-label"
222
+ aria-valuemax={100}
223
+ aria-valuemin={0}
224
+ className="chakra-progress css-120wkjd"
225
+ data-indeterminate=""
226
+ id="circularIndeterminate"
227
+ role="progressbar"
228
+ >
229
+ <svg
230
+ className="css-jf70f3"
231
+ viewBox="0 0 100 100"
232
+ >
233
+ <circle
234
+ className="chakra-progress__track css-1bhxzgy"
235
+ cx={50}
236
+ cy={50}
237
+ r={42}
238
+ strokeWidth="10px"
239
+ />
240
+ <circle
241
+ className="chakra-progress__indicator css-tueqm1"
242
+ cx={50}
243
+ cy={50}
244
+ r={42}
245
+ strokeWidth="10px"
246
+ />
247
+ </svg>
248
+ </div>
249
+ <label
250
+ className="css-0"
251
+ htmlFor="circularIndeterminate"
252
+ id="circularIndeterminate-label"
253
+ >
254
+ Circular
255
+ </label>
256
+ </div>
257
+ </div>
258
+ `;
259
+
260
+ exports[`ProgressIndicator Renders the UI snapshot correctly 7`] = `
261
+ <div
262
+ className="css-0"
263
+ >
264
+ <label
265
+ className="css-0"
266
+ htmlFor="linearDarkMode"
267
+ id="linearDarkMode-label"
268
+ >
269
+ Linear
270
+ </label>
271
+ <div
272
+ className="css-0"
273
+ >
274
+ <div
275
+ className="css-kdwx3d"
276
+ id="linearDarkMode"
277
+ >
278
+ <div
279
+ aria-label={null}
280
+ aria-labelledby="linearDarkMode-label"
281
+ aria-valuemax={100}
282
+ aria-valuemin={0}
283
+ aria-valuenow={50}
284
+ className="css-1jy0d03"
285
+ role="progressbar"
286
+ style={
287
+ Object {
288
+ "width": "50%",
289
+ }
290
+ }
291
+ />
292
+ </div>
293
+ <div
294
+ className="css-0"
295
+ >
296
+ 50
297
+ %
298
+ </div>
299
+ </div>
300
+ </div>
301
+ `;
302
+
303
+ exports[`ProgressIndicator Renders the UI snapshot correctly 8`] = `
304
+ <div
305
+ className="css-0"
306
+ >
307
+ <div
308
+ className="css-0"
309
+ >
310
+ <div
311
+ aria-label={null}
312
+ aria-labelledby="circularDarkMode-label"
313
+ aria-valuemax={100}
314
+ aria-valuemin={0}
315
+ aria-valuenow={50}
316
+ className="chakra-progress css-120wkjd"
317
+ id="circularDarkMode"
318
+ role="progressbar"
319
+ >
320
+ <svg
321
+ className="css-kn46u7"
322
+ viewBox="0 0 100 100"
323
+ >
324
+ <circle
325
+ className="chakra-progress__track css-1bhxzgy"
326
+ cx={50}
327
+ cy={50}
328
+ r={42}
329
+ strokeWidth="10px"
330
+ />
331
+ <circle
332
+ className="chakra-progress__indicator css-5hfhx0"
333
+ cx={50}
334
+ cy={50}
335
+ r={42}
336
+ strokeDasharray="132 132"
337
+ strokeDashoffset={66}
338
+ strokeWidth="10px"
339
+ />
340
+ </svg>
341
+ <div
342
+ className="css-f1j64i"
343
+ >
344
+ 50
345
+ %
346
+ </div>
347
+ </div>
348
+ <label
349
+ className="css-0"
350
+ htmlFor="circularDarkMode"
351
+ id="circularDarkMode-label"
352
+ >
353
+ Circular
354
+ </label>
355
+ </div>
356
+ </div>
357
+ `;
@@ -88,7 +88,7 @@ describe("Radio Button", () => {
88
88
  <Radio
89
89
  id="inputID-attributes"
90
90
  labelText="onChange test"
91
- showLabel={true}
91
+ showLabel
92
92
  isChecked
93
93
  />
94
94
  );
@@ -100,7 +100,7 @@ describe("Radio Button", () => {
100
100
  <Radio
101
101
  id="inputID-attributes"
102
102
  labelText="onChange test"
103
- showLabel={true}
103
+ showLabel
104
104
  isDisabled
105
105
  />
106
106
  );
@@ -112,7 +112,7 @@ describe("Radio Button", () => {
112
112
  <Radio
113
113
  id="inputID-attributes"
114
114
  labelText="onChange test"
115
- showLabel={true}
115
+ showLabel
116
116
  isRequired
117
117
  />
118
118
  );
@@ -124,11 +124,27 @@ describe("Radio Button", () => {
124
124
  <Radio
125
125
  id="inputID-attributes"
126
126
  labelText="onChange test"
127
- showLabel={true}
127
+ showLabel
128
+ invalidText="There is an error!"
128
129
  isInvalid
129
130
  />
130
131
  );
131
132
  expect(screen.getByRole("radio")).toHaveAttribute("aria-invalid");
133
+ expect(screen.getByText("There is an error!")).toBeInTheDocument();
134
+ });
135
+
136
+ it("does not render the error text when 'showHelperInvalidText' is false", () => {
137
+ render(
138
+ <Radio
139
+ id="inputID-attributes"
140
+ labelText="onChange test"
141
+ showLabel
142
+ showHelperInvalidText={false}
143
+ isInvalid
144
+ />
145
+ );
146
+ expect(screen.getByRole("radio")).toHaveAttribute("aria-invalid");
147
+ expect(screen.queryByText("There is an error!")).not.toBeInTheDocument();
132
148
  });
133
149
 
134
150
  it("renders the UI snapshot correctly", () => {
@@ -41,6 +41,8 @@ export interface RadioProps {
41
41
  name?: string;
42
42
  /** Should be passed along with `isChecked` for controlled components. */
43
43
  onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
44
+ /** Offers the ability to hide the helper/invalid text. */
45
+ showHelperInvalidText?: boolean;
44
46
  /** Offers the ability to show the radio's label onscreen or hide it. Refer
45
47
  * to the `labelText` property for more information. */
46
48
  showLabel?: boolean;
@@ -51,9 +53,9 @@ export interface RadioProps {
51
53
  const Radio = React.forwardRef<HTMLInputElement, RadioProps>((props, ref?) => {
52
54
  const {
53
55
  className,
54
- invalidText,
55
56
  helperText,
56
57
  id = generateUUID(),
58
+ invalidText,
57
59
  isChecked,
58
60
  isDisabled = false,
59
61
  isInvalid = false,
@@ -61,6 +63,7 @@ const Radio = React.forwardRef<HTMLInputElement, RadioProps>((props, ref?) => {
61
63
  labelText,
62
64
  name,
63
65
  onChange,
66
+ showHelperInvalidText = true,
64
67
  showLabel = true,
65
68
  value,
66
69
  } = props;
@@ -95,9 +98,9 @@ const Radio = React.forwardRef<HTMLInputElement, RadioProps>((props, ref?) => {
95
98
  >
96
99
  {showLabel && labelText}
97
100
  </ChakraRadio>
98
- {footnote && showLabel && (
101
+ {footnote && showHelperInvalidText && (
99
102
  <Box __css={styles.helper} aria-disabled={isDisabled}>
100
- <HelperErrorText isError={isInvalid} id={`${id}-helperText`}>
103
+ <HelperErrorText isInvalid={isInvalid} id={`${id}-helperText`}>
101
104
  {footnote}
102
105
  </HelperErrorText>
103
106
  </Box>
@@ -51,6 +51,7 @@ exports[`Radio Button renders the UI snapshot correctly 1`] = `
51
51
  exports[`Radio Button renders the UI snapshot correctly 2`] = `
52
52
  <label
53
53
  className="chakra-radio css-78joka"
54
+ data-checked=""
54
55
  >
55
56
  <input
56
57
  checked={true}
@@ -150,6 +151,7 @@ exports[`Radio Button renders the UI snapshot correctly 3`] = `
150
151
  exports[`Radio Button renders the UI snapshot correctly 4`] = `
151
152
  <label
152
153
  className="chakra-radio css-78joka"
154
+ data-invalid=""
153
155
  >
154
156
  <input
155
157
  aria-invalid={true}
@@ -201,6 +203,7 @@ exports[`Radio Button renders the UI snapshot correctly 4`] = `
201
203
  exports[`Radio Button renders the UI snapshot correctly 5`] = `
202
204
  <label
203
205
  className="chakra-radio css-78joka"
206
+ data-disabled=""
204
207
  >
205
208
  <input
206
209
  aria-disabled={true}
@@ -3,7 +3,6 @@ import {
3
3
  Story,
4
4
  Canvas,
5
5
  ArgsTable,
6
- Preview,
7
6
  Description,
8
7
  } from "@storybook/addon-docs/blocks";
9
8
  import { withDesign } from "storybook-addon-designs";
@@ -39,11 +38,11 @@ import Radio from "../Radio/Radio";
39
38
  | Component Version | DS Version |
40
39
  | ----------------- | ---------- |
41
40
  | Added | `0.25.0` |
42
- | Latest | `0.25.0` |
41
+ | Latest | `0.25.3` |
43
42
 
44
43
  <Description of={RadioGroup} />
45
44
 
46
- <Preview withToolbar>
45
+ <Canvas withToolbar>
47
46
  <Story
48
47
  name="RadioGroup"
49
48
  args={{
@@ -53,7 +52,7 @@ import Radio from "../Radio/Radio";
53
52
  isDisabled: false,
54
53
  isInvalid: false,
55
54
  isRequired: false,
56
- labelText: "Standar Radio Group",
55
+ labelText: "Standard Radio Group",
57
56
  layout: RadioGroupLayoutTypes.Column,
58
57
  name: "radio-story",
59
58
  optReqFlag: true,
@@ -69,7 +68,7 @@ import Radio from "../Radio/Radio";
69
68
  </RadioGroup>
70
69
  )}
71
70
  </Story>
72
- </Preview>
71
+ </Canvas>
73
72
 
74
73
  <ArgsTable story="RadioGroup" />
75
74
 
@@ -179,7 +179,12 @@ describe("Radio Button", () => {
179
179
 
180
180
  it("sets the error state for all its Radio children", () => {
181
181
  render(
182
- <RadioGroup labelText="Test Label" name="test9" isInvalid>
182
+ <RadioGroup
183
+ labelText="Test Label"
184
+ name="test9"
185
+ isInvalid
186
+ invalidText="There is an error :("
187
+ >
183
188
  <Radio value="2" labelText="Radio 2" />
184
189
  <Radio value="3" labelText="Radio 3" />
185
190
  <Radio value="4" labelText="Radio 4" />
@@ -191,6 +196,24 @@ describe("Radio Button", () => {
191
196
  expect(radios[0]).toHaveAttribute("aria-invalid");
192
197
  expect(radios[1]).toHaveAttribute("aria-invalid");
193
198
  expect(radios[2]).toHaveAttribute("aria-invalid");
199
+ expect(screen.getByText("There is an error :(")).toBeInTheDocument();
200
+ });
201
+
202
+ it("does not render the error text when 'showHelperInvalidText' is false", () => {
203
+ render(
204
+ <RadioGroup
205
+ labelText="Test Label"
206
+ name="test10"
207
+ isInvalid
208
+ invalidText="There is an error :("
209
+ showHelperInvalidText={false}
210
+ >
211
+ <Radio value="2" labelText="Radio 2" />
212
+ <Radio value="3" labelText="Radio 3" />
213
+ <Radio value="4" labelText="Radio 4" />
214
+ </RadioGroup>
215
+ );
216
+ expect(screen.queryByText("There is an error :(")).not.toBeInTheDocument();
194
217
  });
195
218
 
196
219
  it("renders the UI snapshot correctly", () => {
@@ -11,6 +11,8 @@ import generateUUID from "../../helpers/generateUUID";
11
11
  import { spacing } from "../../theme/foundations/spacing";
12
12
  import { RadioGroupLayoutTypes } from "./RadioGroupLayoutTypes";
13
13
  import Radio from "../Radio/Radio";
14
+ import Fieldset from "../Fieldset/Fieldset";
15
+
14
16
  export interface RadioGroupProps {
15
17
  /** Any child node passed to the component. */
16
18
  children: React.ReactNode;
@@ -18,12 +20,12 @@ export interface RadioGroupProps {
18
20
  className?: string;
19
21
  /** Populates the initial value of the input */
20
22
  defaultValue?: string;
21
- /** Optional string to populate the HelperErrorText for error state */
22
- invalidText?: string;
23
23
  /** Optional string to populate the HelperErrorText for standard state */
24
24
  helperText?: string;
25
25
  /** ID that other components can cross reference for accessibility purposes */
26
26
  id?: string;
27
+ /** Optional string to populate the HelperErrorText for error state */
28
+ invalidText?: string;
27
29
  /** Adds the 'disabled' prop to the input when true. */
28
30
  isDisabled?: boolean;
29
31
  /** Adds the 'aria-invalid' attribute to the input and
@@ -42,6 +44,8 @@ export interface RadioGroupProps {
42
44
  onChange?: (value: string) => void;
43
45
  /** Whether or not to display "Required"/"Optional" in the label text. */
44
46
  optReqFlag?: boolean;
47
+ /** Offers the ability to hide the helper/invalid text. */
48
+ showHelperInvalidText?: boolean;
45
49
  /** Offers the ability to show the group's legend onscreen or hide it. Refer
46
50
  * to the `labelText` property for more information. */
47
51
  showLabel?: boolean;
@@ -58,9 +62,9 @@ const RadioGroup = React.forwardRef<HTMLInputElement, RadioGroupProps>(
58
62
  children,
59
63
  className = "",
60
64
  defaultValue,
61
- invalidText,
62
65
  helperText,
63
66
  id = generateUUID(),
67
+ invalidText,
64
68
  isDisabled = false,
65
69
  isInvalid = false,
66
70
  isRequired = false,
@@ -69,6 +73,7 @@ const RadioGroup = React.forwardRef<HTMLInputElement, RadioGroupProps>(
69
73
  name,
70
74
  onChange = onChangeDefault,
71
75
  optReqFlag = true,
76
+ showHelperInvalidText = true,
72
77
  showLabel = true,
73
78
  } = props;
74
79
  const footnote = isInvalid ? invalidText : helperText;
@@ -101,18 +106,9 @@ const RadioGroup = React.forwardRef<HTMLInputElement, RadioGroupProps>(
101
106
  const chakraRadioProps = getRadioProps({
102
107
  value: child.props.value,
103
108
  } as any);
104
- const newProps = { key: i };
105
109
 
106
110
  if (child !== undefined && child !== null) {
107
- if (isDisabled) {
108
- newProps["isDisabled"] = true;
109
- }
110
- if (isInvalid) {
111
- newProps["isInvalid"] = true;
112
- }
113
- if (isRequired) {
114
- newProps["isRequired"] = true;
115
- }
111
+ const newProps = { key: i, isDisabled, isInvalid, isRequired };
116
112
  if (child.props.value === defaultValue) {
117
113
  newProps["checked"] = true;
118
114
  }
@@ -122,39 +118,35 @@ const RadioGroup = React.forwardRef<HTMLInputElement, RadioGroupProps>(
122
118
  }
123
119
  });
124
120
 
125
- // Get the Chakra-based styles for all the custom elements in this component.
126
- const styles = useMultiStyleConfig("CustomRadioGroup", {});
121
+ // Get the Chakra-based styles for the custom elements in this component.
122
+ const styles = useMultiStyleConfig("RadioGroup", {});
127
123
 
128
124
  return (
129
- <Box
130
- as="fieldset"
125
+ <Fieldset
131
126
  id={`radio-group-${id}`}
132
127
  className={className}
133
- __css={styles}
128
+ isLegendHidden={!showLabel}
129
+ legendText={labelText}
130
+ optReqFlag={optReqFlag}
134
131
  >
135
- <legend className={showLabel ? "" : "sr-only"}>
136
- <span>{labelText}</span>
137
- {optReqFlag && (
138
- <Box as="span" __css={styles.required}>
139
- {isRequired ? "Required" : "Optional"}
140
- </Box>
141
- )}
142
- </legend>
143
132
  <Stack
144
133
  direction={[layout]}
145
134
  spacing={spacingProp}
146
135
  ref={ref}
147
136
  aria-label={!showLabel ? labelText : null}
148
137
  {...radioGroupProps}
138
+ sx={styles.stack}
149
139
  >
150
140
  {newChildren}
151
141
  </Stack>
152
- {footnote && (
142
+ {footnote && showHelperInvalidText && (
153
143
  <Box __css={styles.helper}>
154
- <HelperErrorText isError={isInvalid}>{footnote}</HelperErrorText>
144
+ <HelperErrorText isInvalid={isInvalid} id={`${id}-helperErrorText`}>
145
+ {footnote}
146
+ </HelperErrorText>
155
147
  </Box>
156
148
  )}
157
- </Box>
149
+ </Fieldset>
158
150
  );
159
151
  }
160
152
  );