@nypl/design-system-react-components 0.25.1 → 0.25.5
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.
- package/CHANGELOG.md +118 -1
- package/README.md +98 -50
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/dist/components/Button/Button.d.ts +13 -8
- package/dist/components/Button/ButtonTypes.d.ts +2 -1
- package/dist/components/Card/Card.d.ts +36 -52
- package/dist/components/Card/CardTypes.d.ts +0 -15
- package/dist/components/Checkbox/Checkbox.d.ts +17 -13
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +4 -2
- package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +15 -0
- package/dist/components/DatePicker/DatePicker.d.ts +36 -34
- package/dist/components/Fieldset/Fieldset.d.ts +25 -0
- package/dist/components/Heading/Heading.d.ts +4 -4
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +17 -14
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +10 -9
- package/dist/components/Icons/Icon.d.ts +8 -0
- package/dist/components/Icons/IconSvgs.d.ts +11 -0
- package/dist/components/Icons/IconTypes.d.ts +11 -0
- package/dist/components/Image/Image.d.ts +19 -9
- package/dist/components/Image/ImageTypes.d.ts +20 -0
- package/dist/components/Link/Link.d.ts +4 -0
- package/dist/components/List/List.d.ts +19 -14
- package/dist/components/Notification/Notification.d.ts +37 -16
- package/dist/components/Pagination/Pagination.d.ts +16 -13
- package/dist/components/Pagination/Pagination.stories.d.ts +2 -0
- package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +29 -0
- package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +8 -0
- package/dist/components/Radio/Radio.d.ts +2 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +4 -2
- package/dist/components/SearchBar/SearchBar.d.ts +3 -3
- package/dist/components/Select/Select.d.ts +2 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +18 -14
- package/dist/components/Slider/Slider.d.ts +57 -0
- package/dist/components/StyleGuide/ColorCard.d.ts +12 -0
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components/TextInput/TextInput.d.ts +12 -0
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +6 -8
- package/dist/components/VideoPlayer/VideoPlayerTypes.d.ts +2 -2
- package/dist/design-system-react-components.cjs.development.js +6131 -3715
- package/dist/design-system-react-components.cjs.development.js.map +1 -1
- package/dist/design-system-react-components.cjs.production.min.js +1 -1
- package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
- package/dist/design-system-react-components.esm.js +6124 -3699
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/hooks/tests/useCarouselStyles.test.d.ts +1 -0
- package/dist/hooks/useCarouselStyles.d.ts +16 -0
- package/dist/hooks/useNYPLTheme.d.ts +54 -0
- package/dist/hooks/useWindowSize.d.ts +10 -0
- package/dist/index.d.ts +13 -8
- package/dist/resources.scss +180 -170
- package/dist/styles.css +1 -1
- package/dist/theme/components/button.d.ts +22 -8
- package/dist/theme/components/card.d.ts +168 -0
- package/dist/theme/components/checkbox.d.ts +5 -1
- package/dist/theme/components/checkboxGroup.d.ts +12 -0
- package/dist/theme/components/componentWrapper.d.ts +11 -0
- package/dist/theme/components/datePicker.d.ts +16 -0
- package/dist/theme/components/fieldset.d.ts +27 -0
- package/dist/theme/components/global.d.ts +23 -13
- package/dist/theme/components/globalMixins.d.ts +9 -1
- package/dist/theme/components/heading.d.ts +5 -0
- package/dist/theme/components/helperErrorText.d.ts +10 -0
- package/dist/theme/components/hero.d.ts +1 -0
- package/dist/theme/components/horizontalRule.d.ts +14 -0
- package/dist/theme/components/image.d.ts +31 -0
- package/dist/theme/components/label.d.ts +5 -3
- package/dist/theme/components/link.d.ts +4 -0
- package/dist/theme/components/list.d.ts +89 -0
- package/dist/theme/components/notification.d.ts +75 -0
- package/dist/theme/components/pagination.d.ts +19 -0
- package/dist/theme/components/progressIndicator.d.ts +50 -0
- package/dist/theme/components/radioGroup.d.ts +12 -0
- package/dist/theme/components/select.d.ts +11 -2
- package/dist/theme/components/skeletonLoader.d.ts +98 -0
- package/dist/theme/components/slider.d.ts +51 -0
- package/dist/theme/components/tabs.d.ts +54 -3
- package/dist/theme/components/textInput.d.ts +8 -1
- package/dist/theme/components/videoPlayer.d.ts +40 -0
- package/dist/theme/foundations/breakpoints.d.ts +8 -8
- package/dist/theme/foundations/global.d.ts +6 -1
- package/dist/theme/foundations/radii.d.ts +5 -0
- package/dist/theme/foundations/spacing.d.ts +16 -16
- package/package.json +72 -83
- package/src/__tests__/setup.ts +2 -2
- package/src/components/Accordion/Accordion.stories.mdx +39 -44
- package/src/components/Autosuggest/Autosuggest.stories.mdx +3 -3
- package/src/components/Autosuggest/Autosuggest.stories.tsx +2 -1
- package/src/components/Autosuggest/_Autosuggest.scss +5 -5
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +14 -10
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +23 -0
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +5 -1
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +199 -1
- package/src/components/Button/Button.stories.mdx +15 -10
- package/src/components/Button/Button.test.tsx +21 -7
- package/src/components/Button/Button.tsx +22 -34
- package/src/components/Button/ButtonTypes.tsx +1 -0
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +41 -10
- package/src/components/Card/Card.stories.mdx +296 -259
- package/src/components/Card/Card.test.tsx +156 -84
- package/src/components/Card/Card.tsx +195 -145
- package/src/components/Card/CardTypes.tsx +0 -17
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +410 -0
- package/src/components/CardEdition/CardEdition.stories.tsx +15 -47
- package/src/components/CardEdition/_CardEdition.scss +22 -23
- package/src/components/Chakra/Box.stories.mdx +15 -16
- package/src/components/Chakra/Center.stories.mdx +31 -16
- package/src/components/Chakra/Grid.stories.mdx +28 -15
- package/src/components/Chakra/Stack.stories.mdx +35 -18
- package/src/components/Checkbox/Checkbox.stories.mdx +33 -11
- package/src/components/Checkbox/Checkbox.test.tsx +47 -2
- package/src/components/Checkbox/Checkbox.tsx +39 -33
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +90 -2
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +82 -2
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +29 -2
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +22 -18
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +47 -81
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +63 -0
- package/src/components/DatePicker/DatePicker.stories.mdx +163 -62
- package/src/components/DatePicker/DatePicker.test.tsx +264 -64
- package/src/components/DatePicker/DatePicker.tsx +159 -128
- package/src/components/DatePicker/_DatePicker.scss +33 -67
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +818 -0
- package/src/components/Fieldset/Fieldset.stories.mdx +55 -0
- package/src/components/Fieldset/Fieldset.test.tsx +125 -0
- package/src/components/Fieldset/Fieldset.tsx +52 -0
- package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +68 -0
- package/src/components/Form/Form.stories.mdx +24 -6
- package/src/components/Form/Form.test.tsx +1 -1
- package/src/components/Form/Form.tsx +1 -0
- package/src/components/Grid/SimpleGrid.stories.mdx +32 -39
- package/src/components/Grid/SimpleGrid.test.tsx +4 -4
- package/src/components/Heading/Heading.stories.mdx +3 -4
- package/src/components/Heading/Heading.tsx +5 -5
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +124 -0
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +39 -44
- package/src/components/HelperErrorText/HelperErrorText.tsx +37 -39
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +25 -0
- package/src/components/Hero/Hero.stories.mdx +12 -2
- package/src/components/Hero/Hero.tsx +1 -1
- package/src/components/Hero/HeroTypes.tsx +1 -0
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +7 -7
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +8 -6
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +33 -28
- package/src/components/HorizontalRule/HorizontalRule.tsx +27 -29
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +27 -9
- package/src/components/Icons/Icon.stories.mdx +12 -4
- package/src/components/Icons/Icon.test.tsx +18 -0
- package/src/components/Icons/Icon.tsx +16 -1
- package/src/components/Icons/IconSvgs.tsx +22 -0
- package/src/components/Icons/IconTypes.tsx +11 -0
- package/src/components/Image/Image.stories.mdx +220 -0
- package/src/components/Image/Image.test.tsx +131 -29
- package/src/components/Image/Image.tsx +84 -56
- package/src/components/Image/ImageTypes.ts +22 -0
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +190 -0
- package/src/components/Input/Input.stories.tsx +23 -67
- package/src/components/Input/Input.test.tsx +4 -4
- package/src/components/Input/_Input.scss +23 -14
- package/src/components/Link/Link.tsx +4 -1
- package/src/components/List/List.stories.mdx +124 -49
- package/src/components/List/List.test.tsx +142 -63
- package/src/components/List/List.tsx +89 -93
- package/src/components/List/__snapshots__/List.test.tsx.snap +109 -0
- package/src/components/Modal/Modal.stories.mdx +3 -3
- package/src/components/Modal/_Modal.scss +2 -2
- package/src/components/Notification/Notification.stories.mdx +109 -112
- package/src/components/Notification/Notification.test.tsx +99 -110
- package/src/components/Notification/Notification.tsx +156 -159
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +159 -8
- package/src/components/Pagination/Pagination.stories.mdx +26 -27
- package/src/components/Pagination/Pagination.stories.tsx +11 -16
- package/src/components/Pagination/Pagination.test.tsx +276 -146
- package/src/components/Pagination/Pagination.tsx +174 -154
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +285 -0
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +292 -0
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +225 -0
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +126 -0
- package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +8 -0
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +357 -0
- package/src/components/Radio/Radio.test.tsx +20 -4
- package/src/components/Radio/Radio.tsx +6 -3
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +3 -0
- package/src/components/RadioGroup/RadioGroup.stories.mdx +3 -4
- package/src/components/RadioGroup/RadioGroup.test.tsx +24 -1
- package/src/components/RadioGroup/RadioGroup.tsx +19 -19
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +42 -72
- package/src/components/SearchBar/SearchBar.Test.tsx +20 -1
- package/src/components/SearchBar/SearchBar.stories.mdx +113 -8
- package/src/components/SearchBar/SearchBar.tsx +20 -10
- package/src/components/Select/Select.test.tsx +12 -0
- package/src/components/Select/Select.tsx +5 -2
- package/src/components/Select/SelectTypes.tsx +1 -0
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +28 -59
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +97 -177
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +74 -71
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +739 -0
- package/src/components/Slider/Slider.stories.mdx +529 -0
- package/src/components/Slider/Slider.test.tsx +653 -0
- package/src/components/Slider/Slider.tsx +303 -0
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +1946 -0
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +1 -1
- package/src/components/StyleGuide/Breakpoints.stories.mdx +34 -10
- package/src/components/StyleGuide/Buttons.stories.mdx +89 -73
- package/src/components/StyleGuide/ColorCard.tsx +46 -0
- package/src/components/StyleGuide/Colors.stories.mdx +171 -311
- package/src/components/StyleGuide/DesignTokens.stories.mdx +170 -0
- package/src/components/StyleGuide/Forms.stories.mdx +9 -7
- package/src/components/StyleGuide/Iconography.stories.mdx +85 -91
- package/src/components/StyleGuide/Spacing.stories.mdx +31 -23
- package/src/components/StyleGuide/Typography.stories.mdx +202 -189
- package/src/components/StyleGuide/UIDocCard.tsx +1 -1
- package/src/components/Tabs/Tabs.stories.mdx +73 -11
- package/src/components/Tabs/Tabs.tsx +87 -64
- package/src/components/Template/Template.stories.mdx +25 -27
- package/src/components/TextInput/TextInput.stories.mdx +1 -1
- package/src/components/TextInput/TextInput.test.tsx +22 -2
- package/src/components/TextInput/TextInput.tsx +28 -8
- package/src/components/TextInput/TextInputTypes.tsx +2 -0
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +17 -4
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +54 -53
- package/src/components/VideoPlayer/VideoPlayer.tsx +50 -51
- package/src/components/VideoPlayer/VideoPlayerTypes.tsx +2 -2
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +91 -0
- package/src/docs/Chakra.stories.mdx +244 -63
- package/src/docs/Intro.stories.mdx +5 -2
- package/src/hooks/tests/useCarouselStyles.test.ts +140 -0
- package/src/hooks/tests/useNYPLTheme.test.tsx +36 -0
- package/src/hooks/useCarouselStyles.ts +34 -0
- package/src/hooks/useNYPLTheme.ts +67 -0
- package/src/hooks/useWindowSize.ts +40 -0
- package/src/index.ts +22 -19
- package/src/resources.scss +5 -5
- package/src/styles/base/{_02-breakpoints.scss → _01-breakpoints.scss} +9 -10
- package/src/styles/base/{_03-mixins.scss → _02-mixins.scss} +16 -5
- package/src/styles/base/{_04-base.scss → _03-base.scss} +7 -2
- package/src/styles/base/{_05-focus.scss → _04-focus.scss} +0 -15
- package/src/styles/base/_place-holder.scss +14 -3
- package/src/styles/{03-space → space}/_space-inline.scss +14 -14
- package/src/styles/{03-space → space}/_space-inset.scss +10 -10
- package/src/styles/space/_space-stack.scss +116 -0
- package/src/styles.scss +13 -60
- package/src/theme/components/button.ts +21 -15
- package/src/theme/components/card.ts +174 -0
- package/src/theme/components/checkbox.ts +8 -3
- package/src/theme/components/checkboxGroup.ts +8 -0
- package/src/theme/components/componentWrapper.ts +10 -0
- package/src/theme/components/datePicker.ts +17 -0
- package/src/theme/components/fieldset.ts +18 -0
- package/src/theme/components/global.ts +26 -15
- package/src/theme/components/globalMixins.ts +9 -1
- package/src/theme/components/heading.ts +10 -5
- package/src/theme/components/helperErrorText.ts +9 -0
- package/src/theme/components/hero.ts +4 -3
- package/src/theme/components/horizontalRule.ts +13 -0
- package/src/theme/components/icon.ts +9 -9
- package/src/theme/components/image.ts +116 -0
- package/src/theme/components/label.ts +3 -10
- package/src/theme/components/link.ts +5 -1
- package/src/theme/components/list.ts +73 -0
- package/src/theme/components/notification.ts +93 -0
- package/src/theme/components/pagination.ts +20 -0
- package/src/theme/components/progressIndicator.ts +62 -0
- package/src/theme/components/radio.ts +2 -2
- package/src/theme/components/radioGroup.ts +8 -0
- package/src/theme/components/select.ts +6 -3
- package/src/theme/components/skeletonLoader.ts +107 -0
- package/src/theme/components/slider.ts +79 -0
- package/src/theme/components/statusBadge.ts +1 -2
- package/src/theme/components/tabs.ts +49 -19
- package/src/theme/components/template.ts +8 -8
- package/src/theme/components/textInput.ts +5 -4
- package/src/theme/components/videoPlayer.ts +49 -0
- package/src/theme/foundations/breakpoints.ts +8 -8
- package/src/theme/foundations/global.ts +6 -1
- package/src/theme/foundations/radii.ts +6 -0
- package/src/theme/foundations/spacing.ts +24 -24
- package/src/theme/index.ts +41 -10
- package/src/utils/componentCategories.ts +4 -3
- package/dist/components/HelperErrorText/HelperErrorText.stories.d.ts +0 -16
- package/dist/components/Image/Image.stories.d.ts +0 -18
- package/dist/components/List/List.stories.d.ts +0 -7
- package/dist/theme/components/customCheckboxGroup.d.ts +0 -18
- package/dist/theme/components/customRadioGroup.d.ts +0 -18
- package/src/components/Button/_Button.scss +0 -32
- package/src/components/Card/_Card.scss +0 -308
- package/src/components/HelperErrorText/HelperErrorText.stories.tsx +0 -48
- package/src/components/HelperErrorText/_HelperErrorText.scss +0 -9
- package/src/components/HorizontalRule/_HorizontalRule.scss +0 -15
- package/src/components/Image/Image.stories.tsx +0 -54
- package/src/components/Image/_Image.scss +0 -38
- package/src/components/List/List.stories.tsx +0 -139
- package/src/components/List/_List.scss +0 -76
- package/src/components/Notification/_Notification.scss +0 -110
- package/src/components/Pagination/_Pagination.scss +0 -40
- package/src/components/SkeletonLoader/_SkeletonLoader.scss +0 -142
- package/src/components/VideoPlayer/_VideoPlayer.scss +0 -38
- package/src/styles/01-colors/_colors-brand.scss +0 -62
- package/src/styles/01-colors/_colors-utility.scss +0 -67
- package/src/styles/02-typography/_type-scale.css +0 -11
- package/src/styles/02-typography/_type-weight.css +0 -7
- package/src/styles/02-typography/_typefaces.css +0 -4
- package/src/styles/03-space/_space-stack.scss +0 -116
- package/src/styles/03-space/_space.css +0 -30
- package/src/styles/base/_card-grid.scss +0 -78
- package/src/styles/base/_typography.scss +0 -11
- package/src/theme/components/customCheckboxGroup.ts +0 -12
- package/src/theme/components/customRadioGroup.ts +0 -12
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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 &&
|
|
101
|
+
{footnote && showHelperInvalidText && (
|
|
99
102
|
<Box __css={styles.helper} aria-disabled={isDisabled}>
|
|
100
|
-
<HelperErrorText
|
|
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.
|
|
41
|
+
| Latest | `0.25.3` |
|
|
43
42
|
|
|
44
43
|
<Description of={RadioGroup} />
|
|
45
44
|
|
|
46
|
-
<
|
|
45
|
+
<Canvas withToolbar>
|
|
47
46
|
<Story
|
|
48
47
|
name="RadioGroup"
|
|
49
48
|
args={{
|
|
@@ -69,7 +68,7 @@ import Radio from "../Radio/Radio";
|
|
|
69
68
|
</RadioGroup>
|
|
70
69
|
)}
|
|
71
70
|
</Story>
|
|
72
|
-
</
|
|
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
|
|
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,7 @@ 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";
|
|
14
15
|
|
|
15
16
|
export interface RadioGroupProps {
|
|
16
17
|
/** Any child node passed to the component. */
|
|
@@ -19,12 +20,12 @@ export interface RadioGroupProps {
|
|
|
19
20
|
className?: string;
|
|
20
21
|
/** Populates the initial value of the input */
|
|
21
22
|
defaultValue?: string;
|
|
22
|
-
/** Optional string to populate the HelperErrorText for error state */
|
|
23
|
-
invalidText?: string;
|
|
24
23
|
/** Optional string to populate the HelperErrorText for standard state */
|
|
25
24
|
helperText?: string;
|
|
26
25
|
/** ID that other components can cross reference for accessibility purposes */
|
|
27
26
|
id?: string;
|
|
27
|
+
/** Optional string to populate the HelperErrorText for error state */
|
|
28
|
+
invalidText?: string;
|
|
28
29
|
/** Adds the 'disabled' prop to the input when true. */
|
|
29
30
|
isDisabled?: boolean;
|
|
30
31
|
/** Adds the 'aria-invalid' attribute to the input and
|
|
@@ -43,6 +44,8 @@ export interface RadioGroupProps {
|
|
|
43
44
|
onChange?: (value: string) => void;
|
|
44
45
|
/** Whether or not to display "Required"/"Optional" in the label text. */
|
|
45
46
|
optReqFlag?: boolean;
|
|
47
|
+
/** Offers the ability to hide the helper/invalid text. */
|
|
48
|
+
showHelperInvalidText?: boolean;
|
|
46
49
|
/** Offers the ability to show the group's legend onscreen or hide it. Refer
|
|
47
50
|
* to the `labelText` property for more information. */
|
|
48
51
|
showLabel?: boolean;
|
|
@@ -59,9 +62,9 @@ const RadioGroup = React.forwardRef<HTMLInputElement, RadioGroupProps>(
|
|
|
59
62
|
children,
|
|
60
63
|
className = "",
|
|
61
64
|
defaultValue,
|
|
62
|
-
invalidText,
|
|
63
65
|
helperText,
|
|
64
66
|
id = generateUUID(),
|
|
67
|
+
invalidText,
|
|
65
68
|
isDisabled = false,
|
|
66
69
|
isInvalid = false,
|
|
67
70
|
isRequired = false,
|
|
@@ -70,6 +73,7 @@ const RadioGroup = React.forwardRef<HTMLInputElement, RadioGroupProps>(
|
|
|
70
73
|
name,
|
|
71
74
|
onChange = onChangeDefault,
|
|
72
75
|
optReqFlag = true,
|
|
76
|
+
showHelperInvalidText = true,
|
|
73
77
|
showLabel = true,
|
|
74
78
|
} = props;
|
|
75
79
|
const footnote = isInvalid ? invalidText : helperText;
|
|
@@ -114,39 +118,35 @@ const RadioGroup = React.forwardRef<HTMLInputElement, RadioGroupProps>(
|
|
|
114
118
|
}
|
|
115
119
|
});
|
|
116
120
|
|
|
117
|
-
// Get the Chakra-based styles for
|
|
118
|
-
const styles = useMultiStyleConfig("
|
|
121
|
+
// Get the Chakra-based styles for the custom elements in this component.
|
|
122
|
+
const styles = useMultiStyleConfig("RadioGroup", {});
|
|
119
123
|
|
|
120
124
|
return (
|
|
121
|
-
<
|
|
122
|
-
as="fieldset"
|
|
125
|
+
<Fieldset
|
|
123
126
|
id={`radio-group-${id}`}
|
|
124
127
|
className={className}
|
|
125
|
-
|
|
128
|
+
isLegendHidden={!showLabel}
|
|
129
|
+
legendText={labelText}
|
|
130
|
+
optReqFlag={optReqFlag}
|
|
126
131
|
>
|
|
127
|
-
<legend className={showLabel ? "" : "sr-only"}>
|
|
128
|
-
<span>{labelText}</span>
|
|
129
|
-
{optReqFlag && (
|
|
130
|
-
<Box as="span" __css={styles.required}>
|
|
131
|
-
{isRequired ? "Required" : "Optional"}
|
|
132
|
-
</Box>
|
|
133
|
-
)}
|
|
134
|
-
</legend>
|
|
135
132
|
<Stack
|
|
136
133
|
direction={[layout]}
|
|
137
134
|
spacing={spacingProp}
|
|
138
135
|
ref={ref}
|
|
139
136
|
aria-label={!showLabel ? labelText : null}
|
|
140
137
|
{...radioGroupProps}
|
|
138
|
+
sx={styles.stack}
|
|
141
139
|
>
|
|
142
140
|
{newChildren}
|
|
143
141
|
</Stack>
|
|
144
|
-
{footnote && (
|
|
142
|
+
{footnote && showHelperInvalidText && (
|
|
145
143
|
<Box __css={styles.helper}>
|
|
146
|
-
<HelperErrorText
|
|
144
|
+
<HelperErrorText isInvalid={isInvalid} id={`${id}-helperErrorText`}>
|
|
145
|
+
{footnote}
|
|
146
|
+
</HelperErrorText>
|
|
147
147
|
</Box>
|
|
148
148
|
)}
|
|
149
|
-
</
|
|
149
|
+
</Fieldset>
|
|
150
150
|
);
|
|
151
151
|
}
|
|
152
152
|
);
|