@nypl/design-system-react-components 0.25.8 → 0.25.9
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 +45 -1
- package/README.md +1 -1
- package/dist/components/Button/Button.d.ts +6 -6
- package/dist/components/Button/ButtonTypes.d.ts +0 -1
- package/dist/components/Card/Card.d.ts +6 -4
- package/dist/components/Checkbox/Checkbox.d.ts +3 -2
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +3 -2
- package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +8 -2
- package/dist/components/DatePicker/DatePicker.d.ts +3 -2
- package/dist/components/Form/Form.d.ts +2 -2
- package/dist/components/Heading/Heading.d.ts +7 -3
- package/dist/components/Heading/HeadingTypes.d.ts +6 -6
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +5 -2
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +2 -2
- package/dist/components/Icons/Icon.d.ts +4 -4
- package/dist/components/Icons/IconSvgs.d.ts +0 -21
- package/dist/components/Icons/IconTypes.d.ts +0 -23
- package/dist/components/Image/Image.d.ts +11 -3
- package/dist/components/Logo/Logo.d.ts +28 -0
- package/dist/components/Logo/LogoSvgs.d.ts +18 -0
- package/dist/components/Logo/LogoTypes.d.ts +30 -0
- package/dist/components/Modal/Modal.d.ts +0 -4
- package/dist/components/Notification/Notification.d.ts +2 -2
- package/dist/components/Placeholder/Placeholder.d.ts +3 -5
- package/dist/components/Radio/Radio.d.ts +6 -5
- package/dist/components/RadioGroup/RadioGroup.d.ts +3 -2
- package/dist/components/SearchBar/SearchBar.d.ts +10 -2
- package/dist/components/Select/Select.d.ts +3 -2
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +8 -4
- package/dist/components/Slider/Slider.d.ts +3 -2
- package/dist/components/StatusBadge/StatusBadge.d.ts +2 -1
- package/dist/components/StructuredContent/StructuredContent.d.ts +41 -0
- package/dist/components/StructuredContent/StructuredContentTypes.d.ts +5 -0
- package/dist/components/Table/Table.d.ts +23 -0
- package/dist/components/Template/Template.d.ts +8 -3
- package/dist/components/Text/Text.d.ts +2 -2
- package/dist/components/TextInput/TextInput.d.ts +4 -3
- package/dist/components/Toggle/Toggle.d.ts +3 -2
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +14 -5
- package/dist/design-system-react-components.cjs.development.js +5630 -5692
- 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 +4304 -4362
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/styles.css +2 -2
- package/dist/theme/components/button.d.ts +0 -12
- package/dist/theme/components/card.d.ts +14 -2
- package/dist/theme/components/customTable.d.ts +47 -0
- package/dist/theme/components/fieldset.d.ts +2 -2
- package/dist/theme/components/global.d.ts +1 -1
- package/dist/theme/components/heading.d.ts +4 -0
- package/dist/theme/components/label.d.ts +1 -1
- package/dist/theme/components/link.d.ts +14 -1
- package/dist/theme/components/list.d.ts +0 -2
- package/dist/theme/components/logo.d.ts +4 -0
- package/dist/theme/components/searchBar.d.ts +7 -13
- package/dist/theme/components/select.d.ts +1 -0
- package/dist/theme/components/structuredContent.d.ts +33 -0
- package/dist/theme/components/template.d.ts +10 -10
- package/dist/theme/components/textInput.d.ts +2 -0
- package/dist/theme/components/toggle.d.ts +8 -5
- package/dist/utils/utils.d.ts +10 -0
- package/package.json +1 -2
- package/src/__tests__/utils/utils.test.ts +23 -1
- package/src/components/Accordion/Accordion.stories.mdx +14 -12
- package/src/components/Autosuggest/Autosuggest.stories.mdx +2 -1
- package/src/components/Autosuggest/Autosuggest.stories.tsx +24 -48
- package/src/components/Autosuggest/_Autosuggest.scss +2 -6
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +30 -11
- package/src/components/Button/Button.stories.mdx +93 -48
- package/src/components/Button/Button.test.tsx +0 -12
- package/src/components/Button/Button.tsx +7 -7
- package/src/components/Button/ButtonTypes.tsx +0 -1
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +0 -12
- package/src/components/Card/Card.stories.mdx +186 -71
- package/src/components/Card/Card.test.tsx +45 -22
- package/src/components/Card/Card.tsx +17 -5
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +8 -2
- package/src/components/Chakra/Box.stories.mdx +3 -3
- package/src/components/Chakra/Center.stories.mdx +5 -5
- package/src/components/Chakra/Grid.stories.mdx +3 -3
- package/src/components/Chakra/Stack.stories.mdx +2 -2
- package/src/components/Checkbox/Checkbox.stories.mdx +37 -15
- package/src/components/Checkbox/Checkbox.tsx +13 -8
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +48 -16
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +14 -10
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +6 -3
- package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +151 -0
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +36 -23
- package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +85 -0
- package/src/components/DatePicker/DatePicker.stories.mdx +63 -18
- package/src/components/DatePicker/DatePicker.tsx +10 -6
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +36 -18
- package/src/components/Fieldset/Fieldset.stories.mdx +19 -8
- package/src/components/Form/Form.stories.mdx +49 -41
- package/src/components/Form/Form.tsx +5 -4
- package/src/components/Grid/SimpleGrid.stories.mdx +26 -26
- package/src/components/Heading/Heading.stories.mdx +59 -23
- package/src/components/Heading/Heading.test.tsx +82 -18
- package/src/components/Heading/Heading.tsx +31 -31
- package/src/components/Heading/HeadingTypes.tsx +6 -6
- package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +71 -0
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +55 -27
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +42 -15
- package/src/components/HelperErrorText/HelperErrorText.tsx +24 -24
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +41 -4
- package/src/components/Hero/Hero.stories.mdx +72 -53
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +9 -8
- package/src/components/HorizontalRule/HorizontalRule.tsx +2 -4
- package/src/components/Icons/Icon.stories.mdx +77 -76
- package/src/components/Icons/Icon.tsx +4 -5
- package/src/components/Icons/IconSvgs.tsx +0 -42
- package/src/components/Icons/IconTypes.tsx +0 -24
- package/src/components/Image/Image.stories.mdx +66 -18
- package/src/components/Image/Image.tsx +21 -10
- package/src/components/Label/Label.stories.mdx +20 -19
- package/src/components/Link/Link.stories.mdx +102 -51
- package/src/components/Link/Link.test.tsx +38 -8
- package/src/components/Link/Link.tsx +19 -12
- package/src/components/Link/__snapshots__/Link.test.tsx.snap +60 -0
- package/src/components/List/List.stories.mdx +36 -24
- package/src/components/Logo/Logo.stories.mdx +220 -0
- package/src/components/Logo/Logo.test.tsx +98 -0
- package/src/components/Logo/Logo.tsx +97 -0
- package/src/components/Logo/LogoSvgs.tsx +34 -0
- package/src/components/Logo/LogoTypes.tsx +32 -0
- package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +71 -0
- package/src/components/Modal/Modal.stories.mdx +20 -5
- package/src/components/Modal/Modal.tsx +2 -8
- package/src/components/Notification/Notification.stories.mdx +61 -38
- package/src/components/Notification/Notification.tsx +9 -4
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +4 -0
- package/src/components/Pagination/Pagination.stories.mdx +17 -6
- package/src/components/Pagination/Pagination.tsx +1 -1
- package/src/components/Placeholder/Placeholder.tsx +7 -14
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +72 -43
- package/src/components/Radio/Radio.stories.mdx +39 -19
- package/src/components/Radio/Radio.tsx +13 -9
- package/src/components/RadioGroup/RadioGroup.stories.mdx +50 -16
- package/src/components/RadioGroup/RadioGroup.tsx +15 -11
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +6 -3
- package/src/components/SearchBar/SearchBar.Test.tsx +58 -10
- package/src/components/SearchBar/SearchBar.stories.mdx +109 -30
- package/src/components/SearchBar/SearchBar.tsx +53 -32
- package/src/components/Select/Select.stories.mdx +48 -14
- package/src/components/Select/Select.tsx +16 -10
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +50 -16
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +8 -4
- package/src/components/Slider/Slider.stories.mdx +72 -22
- package/src/components/Slider/Slider.tsx +15 -10
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +60 -30
- package/src/components/StatusBadge/StatusBadge.stories.mdx +33 -18
- package/src/components/StatusBadge/StatusBadge.tsx +2 -1
- package/src/components/StructuredContent/StructuredContent.stories.mdx +427 -0
- package/src/components/StructuredContent/StructuredContent.test.tsx +376 -0
- package/src/components/StructuredContent/StructuredContent.tsx +153 -0
- package/src/components/StructuredContent/StructuredContentTypes.tsx +5 -0
- package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +283 -0
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +32 -83
- package/src/components/StyleGuide/Breakpoints.stories.mdx +1 -11
- package/src/components/StyleGuide/Buttons.stories.mdx +3 -18
- package/src/components/StyleGuide/ColorCard.tsx +1 -2
- package/src/components/StyleGuide/Colors.stories.mdx +3 -11
- package/src/components/StyleGuide/DesignTokens.stories.mdx +3 -8
- package/src/components/StyleGuide/Forms.stories.mdx +2 -10
- package/src/components/StyleGuide/Iconography.stories.mdx +8 -34
- package/src/components/StyleGuide/Spacing.stories.mdx +3 -14
- package/src/components/StyleGuide/Typography.stories.mdx +64 -76
- package/src/components/Table/Table.stories.mdx +66 -0
- package/src/components/Table/Table.test.tsx +60 -0
- package/src/components/Table/Table.tsx +116 -0
- package/src/components/Tabs/Tabs.stories.mdx +19 -13
- package/src/components/Tabs/Tabs.test.tsx +1 -1
- package/src/components/Template/Template.stories.mdx +56 -47
- package/src/components/Template/Template.test.tsx +65 -5
- package/src/components/Template/Template.tsx +35 -5
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +76 -0
- package/src/components/Text/Text.stories.mdx +33 -11
- package/src/components/Text/Text.tsx +2 -2
- package/src/components/TextInput/TextInput.stories.mdx +84 -17
- package/src/components/TextInput/TextInput.test.tsx +96 -0
- package/src/components/TextInput/TextInput.tsx +12 -8
- package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +240 -0
- package/src/components/Toggle/Toggle.stories.mdx +33 -9
- package/src/components/Toggle/Toggle.tsx +14 -9
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +64 -14
- package/src/components/VideoPlayer/VideoPlayer.tsx +17 -7
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +12 -6
- package/src/docs/Chakra.stories.mdx +5 -8
- package/src/docs/Intro.stories.mdx +2 -2
- package/src/index.ts +5 -4
- package/src/styles/base/_03-base.scss +1 -1
- package/src/styles/base/_place-holder.scss +7 -7
- package/src/styles.scss +1 -5
- package/src/theme/components/breadcrumb.ts +3 -3
- package/src/theme/components/button.ts +5 -12
- package/src/theme/components/card.ts +5 -2
- package/src/theme/components/checkbox.ts +1 -1
- package/src/theme/components/customTable.ts +50 -0
- package/src/theme/components/datePicker.ts +1 -1
- package/src/theme/components/global.ts +6 -6
- package/src/theme/components/heading.ts +13 -11
- package/src/theme/components/helperErrorText.ts +1 -1
- package/src/theme/components/image.ts +1 -1
- package/src/theme/components/link.ts +17 -5
- package/src/theme/components/list.ts +1 -3
- package/src/theme/components/logo.ts +54 -0
- package/src/theme/components/notification.ts +1 -1
- package/src/theme/components/searchBar.ts +7 -13
- package/src/theme/components/select.ts +1 -0
- package/src/theme/components/statusBadge.ts +1 -1
- package/src/theme/components/structuredContent.ts +54 -0
- package/src/theme/components/template.ts +10 -10
- package/src/theme/components/text.ts +6 -6
- package/src/theme/components/textInput.ts +1 -0
- package/src/theme/components/toggle.ts +9 -5
- package/src/theme/components/videoPlayer.ts +0 -2
- package/src/theme/foundations/global.ts +2 -2
- package/src/theme/foundations/typography.ts +84 -12
- package/src/theme/index.ts +6 -0
- package/src/utils/componentCategories.ts +1 -1
- package/src/utils/utils.ts +17 -0
- package/dist/__tests__/utils/bem.test.d.ts +0 -1
- package/dist/components/CardEdition/CardEdition.d.ts +0 -21
- package/dist/components/CardEdition/CardEdition.stories.d.ts +0 -27
- package/dist/components/Input/Input.d.ts +0 -36
- package/dist/components/Input/Input.stories.d.ts +0 -29
- package/dist/components/Input/InputTypes.d.ts +0 -6
- package/dist/components/StyleGuide/UIDocCard.d.ts +0 -11
- package/dist/helpers/CSSVariablesHelper.d.ts +0 -3
- package/dist/helpers/getCSSVariable.d.ts +0 -1
- package/dist/interfaces.d.ts +0 -3
- package/dist/utils/bem.d.ts +0 -1
- package/src/__tests__/utils/bem.test.ts +0 -37
- package/src/components/CardEdition/CardEdition.stories.tsx +0 -122
- package/src/components/CardEdition/CardEdition.test.tsx +0 -395
- package/src/components/CardEdition/CardEdition.tsx +0 -60
- package/src/components/CardEdition/_CardEdition.scss +0 -137
- package/src/components/Input/Input.stories.tsx +0 -133
- package/src/components/Input/Input.test.tsx +0 -266
- package/src/components/Input/Input.tsx +0 -81
- package/src/components/Input/InputTypes.tsx +0 -8
- package/src/components/Input/_Input.scss +0 -78
- package/src/components/StyleGuide/UIDocCard.tsx +0 -36
- package/src/helpers/CSSVariablesHelper.tsx +0 -34
- package/src/helpers/getCSSVariable.tsx +0 -5
- package/src/interfaces.ts +0 -3
- package/src/utils/bem.ts +0 -44
|
@@ -1,22 +1,32 @@
|
|
|
1
|
+
import { Box } from "@chakra-ui/react";
|
|
1
2
|
import {
|
|
2
|
-
Meta,
|
|
3
|
-
Story,
|
|
4
3
|
ArgsTable,
|
|
5
4
|
Canvas,
|
|
6
5
|
Description,
|
|
7
|
-
|
|
6
|
+
Meta,
|
|
7
|
+
Story,
|
|
8
|
+
} from "@storybook/addon-docs";
|
|
8
9
|
import { withDesign } from "storybook-addon-designs";
|
|
9
|
-
import { Box } from "@chakra-ui/react";
|
|
10
10
|
|
|
11
|
+
import { GridGaps } from "../Grid/GridTypes";
|
|
11
12
|
import ProgressIndicator from "./ProgressIndicator";
|
|
12
13
|
import {
|
|
13
14
|
ProgressIndicatorSizes,
|
|
14
15
|
ProgressIndicatorTypes,
|
|
15
16
|
} from "./ProgressIndicatorTypes";
|
|
17
|
+
import SimpleGrid from "../Grid/SimpleGrid";
|
|
16
18
|
import { getCategory } from "../../utils/componentCategories";
|
|
17
19
|
import DSProvider from "../../theme/provider";
|
|
18
|
-
import
|
|
19
|
-
|
|
20
|
+
import { getStorybookEnumValues } from "../../utils/utils";
|
|
21
|
+
|
|
22
|
+
export const sizesEnumValues = getStorybookEnumValues(
|
|
23
|
+
ProgressIndicatorSizes,
|
|
24
|
+
"ProgressIndicatorSizes"
|
|
25
|
+
);
|
|
26
|
+
export const typesEnumValues = getStorybookEnumValues(
|
|
27
|
+
ProgressIndicatorTypes,
|
|
28
|
+
"ProgressIndicatorTypes"
|
|
29
|
+
);
|
|
20
30
|
|
|
21
31
|
<Meta
|
|
22
32
|
title={getCategory("ProgressIndicator")}
|
|
@@ -30,7 +40,29 @@ import { GridGaps } from "../Grid/GridTypes";
|
|
|
30
40
|
jest: ["ProgressIndicator.test.tsx"],
|
|
31
41
|
}}
|
|
32
42
|
argTypes={{
|
|
33
|
-
|
|
43
|
+
darkMode: {
|
|
44
|
+
table: { defaultValue: { summary: false } },
|
|
45
|
+
},
|
|
46
|
+
id: { control: false },
|
|
47
|
+
indicatorType: {
|
|
48
|
+
control: { type: "radio" },
|
|
49
|
+
table: { defaultValue: { summary: "ProgressIndicatorTypes.Linear" } },
|
|
50
|
+
options: typesEnumValues.options,
|
|
51
|
+
},
|
|
52
|
+
isIndeterminate: {
|
|
53
|
+
table: { defaultValue: { summary: false } },
|
|
54
|
+
},
|
|
55
|
+
showLabel: {
|
|
56
|
+
table: { defaultValue: { summary: true } },
|
|
57
|
+
},
|
|
58
|
+
size: {
|
|
59
|
+
control: { type: "radio" },
|
|
60
|
+
table: { defaultValue: { summary: "ProgressIndicatorSizes.Default" } },
|
|
61
|
+
options: sizesEnumValues.options,
|
|
62
|
+
},
|
|
63
|
+
value: {
|
|
64
|
+
table: { defaultValue: { summary: 0 } },
|
|
65
|
+
},
|
|
34
66
|
}}
|
|
35
67
|
/>
|
|
36
68
|
|
|
@@ -45,22 +77,29 @@ import { GridGaps } from "../Grid/GridTypes";
|
|
|
45
77
|
|
|
46
78
|
<Canvas withToolbar>
|
|
47
79
|
<Story
|
|
48
|
-
name="
|
|
80
|
+
name="ProgressIndicator with Controls"
|
|
49
81
|
args={{
|
|
50
82
|
darkMode: false,
|
|
51
|
-
|
|
83
|
+
id: "progressIndicator-id",
|
|
84
|
+
indicatorType: "ProgressIndicatorTypes.Linear",
|
|
52
85
|
isIndeterminate: false,
|
|
53
86
|
labelText: "Progress",
|
|
54
87
|
showLabel: true,
|
|
55
|
-
size: ProgressIndicatorSizes.Default,
|
|
88
|
+
size: "ProgressIndicatorSizes.Default",
|
|
56
89
|
value: 50,
|
|
57
90
|
}}
|
|
58
91
|
>
|
|
59
|
-
{(args) =>
|
|
92
|
+
{(args) => (
|
|
93
|
+
<ProgressIndicator
|
|
94
|
+
{...args}
|
|
95
|
+
indicatorType={typesEnumValues.getValue(args.indicatorType)}
|
|
96
|
+
size={sizesEnumValues.getValue(args.size)}
|
|
97
|
+
/>
|
|
98
|
+
)}
|
|
60
99
|
</Story>
|
|
61
100
|
</Canvas>
|
|
62
101
|
|
|
63
|
-
<ArgsTable story="
|
|
102
|
+
<ArgsTable story="ProgressIndicator with Controls" />
|
|
64
103
|
|
|
65
104
|
## Linear Type
|
|
66
105
|
|
|
@@ -70,20 +109,15 @@ dialogs, etc.
|
|
|
70
109
|
<Canvas>
|
|
71
110
|
<Story
|
|
72
111
|
name="Linear Type"
|
|
73
|
-
args={{
|
|
74
|
-
darkMode: false,
|
|
75
|
-
indicatorType: ProgressIndicatorTypes.Linear,
|
|
76
|
-
isIndeterminate: false,
|
|
77
|
-
labelText: "Linear Progress Type",
|
|
78
|
-
showLabel: true,
|
|
79
|
-
size: ProgressIndicatorSizes.Default,
|
|
80
|
-
value: 50,
|
|
81
|
-
}}
|
|
82
112
|
argTypes={{
|
|
83
113
|
indicatorType: { table: { disable: true } },
|
|
84
114
|
}}
|
|
85
115
|
>
|
|
86
|
-
|
|
116
|
+
<ProgressIndicator
|
|
117
|
+
indicatorType={ProgressIndicatorTypes.Linear}
|
|
118
|
+
labelText="Linear Progress Type"
|
|
119
|
+
value={50}
|
|
120
|
+
/>
|
|
87
121
|
</Story>
|
|
88
122
|
</Canvas>
|
|
89
123
|
|
|
@@ -96,20 +130,15 @@ full-screen loading. Set the `indicatorType` prop to
|
|
|
96
130
|
<Canvas>
|
|
97
131
|
<Story
|
|
98
132
|
name="Circular Type"
|
|
99
|
-
args={{
|
|
100
|
-
darkMode: false,
|
|
101
|
-
indicatorType: ProgressIndicatorTypes.Circular,
|
|
102
|
-
isIndeterminate: false,
|
|
103
|
-
labelText: "Circular Progress Type",
|
|
104
|
-
showLabel: true,
|
|
105
|
-
size: ProgressIndicatorSizes.Default,
|
|
106
|
-
value: 50,
|
|
107
|
-
}}
|
|
108
133
|
argTypes={{
|
|
109
134
|
indicatorType: { table: { disable: true } },
|
|
110
135
|
}}
|
|
111
136
|
>
|
|
112
|
-
|
|
137
|
+
<ProgressIndicator
|
|
138
|
+
indicatorType={ProgressIndicatorTypes.Circular}
|
|
139
|
+
labelText="Linear Progress Type"
|
|
140
|
+
value={50}
|
|
141
|
+
/>
|
|
113
142
|
</Story>
|
|
114
143
|
</Canvas>
|
|
115
144
|
|
|
@@ -145,13 +174,13 @@ percentage will not displayed.
|
|
|
145
174
|
<DSProvider>
|
|
146
175
|
<SimpleGrid columns={1} gap={GridGaps.Medium}>
|
|
147
176
|
<ProgressIndicator
|
|
148
|
-
labelText="Default 48px size"
|
|
149
177
|
indicatorType={ProgressIndicatorTypes.Circular}
|
|
178
|
+
labelText="Default 48px size"
|
|
150
179
|
value={50}
|
|
151
180
|
/>
|
|
152
181
|
<ProgressIndicator
|
|
153
|
-
labelText="Small 24px size"
|
|
154
182
|
indicatorType={ProgressIndicatorTypes.Circular}
|
|
183
|
+
labelText="Small 24px size"
|
|
155
184
|
size={ProgressIndicatorSizes.Small}
|
|
156
185
|
value={50}
|
|
157
186
|
/>
|
|
@@ -174,14 +203,14 @@ the progress element to provide a description of the progress for screen readers
|
|
|
174
203
|
<SimpleGrid columns={1} gap={GridGaps.Medium}>
|
|
175
204
|
<ProgressIndicator
|
|
176
205
|
labelText="This label will be added through aria-label"
|
|
177
|
-
value={50}
|
|
178
206
|
showLabel={false}
|
|
207
|
+
value={50}
|
|
179
208
|
/>
|
|
180
209
|
<ProgressIndicator
|
|
181
|
-
labelText="This label will be added through aria-label"
|
|
182
210
|
indicatorType={ProgressIndicatorTypes.Circular}
|
|
183
|
-
|
|
211
|
+
labelText="This label will be added through aria-label"
|
|
184
212
|
showLabel={false}
|
|
213
|
+
value={50}
|
|
185
214
|
/>
|
|
186
215
|
</SimpleGrid>
|
|
187
216
|
</DSProvider>
|
|
@@ -197,14 +226,14 @@ exact value or progress of the task is unknown.
|
|
|
197
226
|
<DSProvider>
|
|
198
227
|
<SimpleGrid columns={1} gap={GridGaps.Medium}>
|
|
199
228
|
<ProgressIndicator
|
|
200
|
-
labelText="Indeterminate state"
|
|
201
229
|
isIndeterminate
|
|
230
|
+
labelText="Indeterminate state"
|
|
202
231
|
value={50}
|
|
203
232
|
/>
|
|
204
233
|
<ProgressIndicator
|
|
205
|
-
labelText="Indeterminate state"
|
|
206
234
|
indicatorType={ProgressIndicatorTypes.Circular}
|
|
207
235
|
isIndeterminate
|
|
236
|
+
labelText="Indeterminate state"
|
|
208
237
|
value={50}
|
|
209
238
|
/>
|
|
210
239
|
</SimpleGrid>
|
|
@@ -224,10 +253,10 @@ Note: the background is manually set to better showcase the `darkMode` prop.
|
|
|
224
253
|
<SimpleGrid columns={1} gap={GridGaps.Medium}>
|
|
225
254
|
<ProgressIndicator labelText="Dark Mode" value={50} darkMode />
|
|
226
255
|
<ProgressIndicator
|
|
227
|
-
|
|
256
|
+
darkMode
|
|
228
257
|
indicatorType={ProgressIndicatorTypes.Circular}
|
|
258
|
+
labelText="Dark Mode"
|
|
229
259
|
value={50}
|
|
230
|
-
darkMode
|
|
231
260
|
/>
|
|
232
261
|
</SimpleGrid>
|
|
233
262
|
</Box>
|
|
@@ -255,8 +284,8 @@ function ProgressIndicatorExample() {
|
|
|
255
284
|
<SimpleGrid columns={1} gap={GridGaps.Medium}>
|
|
256
285
|
<ProgressIndicator labelText="Progress example" value={value} />
|
|
257
286
|
<ProgressIndicator
|
|
258
|
-
labelText="Progress example"
|
|
259
287
|
indicatorType={ProgressIndicatorTypes.Circular}
|
|
288
|
+
labelText="Progress example"
|
|
260
289
|
value={value}
|
|
261
290
|
/>
|
|
262
291
|
</SimpleGrid>
|
|
@@ -276,8 +305,8 @@ export function ProgressIndicatorExample() {
|
|
|
276
305
|
<SimpleGrid columns={1} gap={GridGaps.Medium}>
|
|
277
306
|
<ProgressIndicator labelText="Progress example" value={value} />
|
|
278
307
|
<ProgressIndicator
|
|
279
|
-
labelText="Progress example"
|
|
280
308
|
indicatorType={ProgressIndicatorTypes.Circular}
|
|
309
|
+
labelText="Progress example"
|
|
281
310
|
value={value}
|
|
282
311
|
/>
|
|
283
312
|
</SimpleGrid>
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
+
import { HStack } from "@chakra-ui/react";
|
|
1
2
|
import {
|
|
2
|
-
Meta,
|
|
3
|
-
Story,
|
|
4
|
-
Canvas,
|
|
5
3
|
ArgsTable,
|
|
4
|
+
Canvas,
|
|
6
5
|
Description,
|
|
6
|
+
Meta,
|
|
7
|
+
Story,
|
|
7
8
|
} from "@storybook/addon-docs";
|
|
8
9
|
import { withDesign } from "storybook-addon-designs";
|
|
9
|
-
import { HStack } from "@chakra-ui/react";
|
|
10
10
|
|
|
11
|
+
import Radio from "./Radio";
|
|
11
12
|
import { getCategory } from "../../utils/componentCategories";
|
|
12
13
|
import DSProvider from "../../theme/provider";
|
|
13
|
-
import Radio from "./Radio";
|
|
14
14
|
|
|
15
15
|
<Meta
|
|
16
16
|
title={getCategory("Radio")}
|
|
@@ -19,16 +19,32 @@ import Radio from "./Radio";
|
|
|
19
19
|
parameters={{
|
|
20
20
|
design: {
|
|
21
21
|
type: "figma",
|
|
22
|
-
url:
|
|
23
|
-
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=11895%3A742",
|
|
22
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=11895%3A742",
|
|
24
23
|
},
|
|
25
24
|
jest: ["Radio.test.tsx"],
|
|
26
25
|
}}
|
|
27
26
|
argTypes={{
|
|
28
|
-
className: {
|
|
29
|
-
id: {
|
|
30
|
-
isChecked: {
|
|
31
|
-
|
|
27
|
+
className: { control: false },
|
|
28
|
+
id: { control: false },
|
|
29
|
+
isChecked: { control: false },
|
|
30
|
+
isDisabled: {
|
|
31
|
+
table: { defaultValue: { summary: false } },
|
|
32
|
+
},
|
|
33
|
+
isInvalid: {
|
|
34
|
+
table: { defaultValue: { summary: false } },
|
|
35
|
+
},
|
|
36
|
+
isRequired: {
|
|
37
|
+
table: { defaultValue: { summary: false } },
|
|
38
|
+
},
|
|
39
|
+
key: { table: { disable: true } },
|
|
40
|
+
onChange: { control: false },
|
|
41
|
+
ref: { table: { disable: true } },
|
|
42
|
+
showHelperInvalidText: {
|
|
43
|
+
table: { defaultValue: { summary: true } },
|
|
44
|
+
},
|
|
45
|
+
showLabel: {
|
|
46
|
+
table: { defaultValue: { summary: true } },
|
|
47
|
+
},
|
|
32
48
|
}}
|
|
33
49
|
/>
|
|
34
50
|
|
|
@@ -37,7 +53,7 @@ import Radio from "./Radio";
|
|
|
37
53
|
| Component Version | DS Version |
|
|
38
54
|
| ----------------- | ---------- |
|
|
39
55
|
| Added | `0.22.0` |
|
|
40
|
-
| Latest | `0.25.
|
|
56
|
+
| Latest | `0.25.9` |
|
|
41
57
|
|
|
42
58
|
<Description of={Radio} />
|
|
43
59
|
|
|
@@ -50,16 +66,20 @@ component will handle all the states and data management.
|
|
|
50
66
|
<Story
|
|
51
67
|
name="Radio"
|
|
52
68
|
args={{
|
|
69
|
+
className: undefined,
|
|
70
|
+
helperText: "This is the helper text!",
|
|
71
|
+
id: "radio-id",
|
|
72
|
+
invalidText: "This is the error text :(",
|
|
73
|
+
isChecked: undefined,
|
|
74
|
+
isDisabled: false,
|
|
75
|
+
isInvalid: false,
|
|
76
|
+
isRequired: false,
|
|
53
77
|
labelText: "Test Label",
|
|
54
|
-
showLabel: true,
|
|
55
|
-
id: "test_id",
|
|
56
78
|
name: "test_name",
|
|
79
|
+
onChange: undefined,
|
|
80
|
+
showHelperInvalidText: true,
|
|
81
|
+
showLabel: true,
|
|
57
82
|
value: "1",
|
|
58
|
-
isDisabled: false,
|
|
59
|
-
isRequired: false,
|
|
60
|
-
isInvalid: false,
|
|
61
|
-
helperText: "This is the helper text!",
|
|
62
|
-
invalidText: "This is the error text :(",
|
|
63
83
|
}}
|
|
64
84
|
>
|
|
65
85
|
{(args) => <Radio {...args} />}
|
|
@@ -5,20 +5,22 @@ import {
|
|
|
5
5
|
useMultiStyleConfig,
|
|
6
6
|
} from "@chakra-ui/react";
|
|
7
7
|
|
|
8
|
+
import HelperErrorText, {
|
|
9
|
+
HelperErrorTextType,
|
|
10
|
+
} from "../HelperErrorText/HelperErrorText";
|
|
8
11
|
import generateUUID from "../../helpers/generateUUID";
|
|
9
|
-
import HelperErrorText from "../HelperErrorText/HelperErrorText";
|
|
10
12
|
|
|
11
13
|
export interface RadioProps {
|
|
12
14
|
/** Additional class name. */
|
|
13
15
|
className?: string;
|
|
14
|
-
/** Optional string to populate the HelperErrorText for the error state
|
|
15
|
-
* when `isInvalid` is true.
|
|
16
|
-
*/
|
|
17
|
-
invalidText?: string;
|
|
18
16
|
/** Optional string to populate the HelperErrorText for the standard state. */
|
|
19
|
-
helperText?:
|
|
17
|
+
helperText?: HelperErrorTextType;
|
|
20
18
|
/** ID that other components can cross reference for accessibility purposes */
|
|
21
19
|
id?: string;
|
|
20
|
+
/** Optional string to populate the HelperErrorText for the error state
|
|
21
|
+
* when `isInvalid` is true.
|
|
22
|
+
*/
|
|
23
|
+
invalidText?: HelperErrorTextType;
|
|
22
24
|
/** When using the Radio as a "controlled" form element, you can specify the
|
|
23
25
|
* `Radio`'s checked state using this prop. You must also pass an onChange prop.
|
|
24
26
|
* Learn more about controlled and uncontrolled form fields: https://goshakkk.name/controlled-vs-uncontrolled-inputs-react/ */
|
|
@@ -100,9 +102,11 @@ const Radio = React.forwardRef<HTMLInputElement, RadioProps>((props, ref?) => {
|
|
|
100
102
|
</ChakraRadio>
|
|
101
103
|
{footnote && showHelperInvalidText && (
|
|
102
104
|
<Box __css={styles.helper} aria-disabled={isDisabled}>
|
|
103
|
-
<HelperErrorText
|
|
104
|
-
{
|
|
105
|
-
|
|
105
|
+
<HelperErrorText
|
|
106
|
+
id={`${id}-helperText`}
|
|
107
|
+
isInvalid={isInvalid}
|
|
108
|
+
text={footnote}
|
|
109
|
+
/>
|
|
106
110
|
</Box>
|
|
107
111
|
)}
|
|
108
112
|
</>
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
|
-
Meta,
|
|
3
|
-
Story,
|
|
4
|
-
Canvas,
|
|
5
2
|
ArgsTable,
|
|
3
|
+
Canvas,
|
|
6
4
|
Description,
|
|
7
|
-
|
|
5
|
+
Meta,
|
|
6
|
+
Story,
|
|
7
|
+
} from "@storybook/addon-docs";
|
|
8
8
|
import { withDesign } from "storybook-addon-designs";
|
|
9
9
|
|
|
10
|
-
import
|
|
11
|
-
import DSProvider from "../../theme/provider";
|
|
10
|
+
import Radio from "../Radio/Radio";
|
|
12
11
|
import RadioGroup, { onChangeDefault } from "./RadioGroup";
|
|
13
12
|
import { RadioGroupLayoutTypes } from "./RadioGroupLayoutTypes";
|
|
14
|
-
import
|
|
13
|
+
import { getCategory } from "../../utils/componentCategories";
|
|
14
|
+
import DSProvider from "../../theme/provider";
|
|
15
|
+
import { getStorybookEnumValues } from "../../utils/utils";
|
|
16
|
+
|
|
17
|
+
export const enumValues = getStorybookEnumValues(
|
|
18
|
+
RadioGroupLayoutTypes,
|
|
19
|
+
"RadioGroupLayoutTypes"
|
|
20
|
+
);
|
|
15
21
|
|
|
16
22
|
<Meta
|
|
17
23
|
title={getCategory("RadioGroup")}
|
|
@@ -20,16 +26,40 @@ import Radio from "../Radio/Radio";
|
|
|
20
26
|
parameters={{
|
|
21
27
|
design: {
|
|
22
28
|
type: "figma",
|
|
23
|
-
url:
|
|
24
|
-
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=11895%3A742",
|
|
29
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=11895%3A742",
|
|
25
30
|
},
|
|
26
31
|
jest: ["RadioGroup.test.tsx"],
|
|
27
32
|
}}
|
|
28
33
|
argTypes={{
|
|
29
34
|
children: { table: { disable: true } },
|
|
30
|
-
className: {
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
className: { control: false },
|
|
36
|
+
id: { control: false },
|
|
37
|
+
isDisabled: {
|
|
38
|
+
table: { defaultValue: { summary: false } },
|
|
39
|
+
},
|
|
40
|
+
isInvalid: {
|
|
41
|
+
table: { defaultValue: { summary: false } },
|
|
42
|
+
},
|
|
43
|
+
isRequired: {
|
|
44
|
+
table: { defaultValue: { summary: false } },
|
|
45
|
+
},
|
|
46
|
+
layout: {
|
|
47
|
+
control: { type: "select" },
|
|
48
|
+
table: { defaultValue: { summary: "RadioGroupLayoutTypes.Column" } },
|
|
49
|
+
options: enumValues.options,
|
|
50
|
+
},
|
|
51
|
+
key: { table: { disable: true } },
|
|
52
|
+
onChange: { control: false },
|
|
53
|
+
ref: { table: { disable: true } },
|
|
54
|
+
optReqFlag: {
|
|
55
|
+
table: { defaultValue: { summary: true } },
|
|
56
|
+
},
|
|
57
|
+
showHelperInvalidText: {
|
|
58
|
+
table: { defaultValue: { summary: true } },
|
|
59
|
+
},
|
|
60
|
+
showLabel: {
|
|
61
|
+
table: { defaultValue: { summary: true } },
|
|
62
|
+
},
|
|
33
63
|
}}
|
|
34
64
|
/>
|
|
35
65
|
|
|
@@ -38,7 +68,7 @@ import Radio from "../Radio/Radio";
|
|
|
38
68
|
| Component Version | DS Version |
|
|
39
69
|
| ----------------- | ---------- |
|
|
40
70
|
| Added | `0.25.0` |
|
|
41
|
-
| Latest | `0.25.
|
|
71
|
+
| Latest | `0.25.9` |
|
|
42
72
|
|
|
43
73
|
<Description of={RadioGroup} />
|
|
44
74
|
|
|
@@ -46,21 +76,25 @@ import Radio from "../Radio/Radio";
|
|
|
46
76
|
<Story
|
|
47
77
|
name="RadioGroup"
|
|
48
78
|
args={{
|
|
79
|
+
className: undefined,
|
|
49
80
|
defaultValue: "4",
|
|
50
|
-
invalidText: "error!",
|
|
51
81
|
helperText: "This is the helper text for the full group.",
|
|
82
|
+
id: "radioGroup-id",
|
|
83
|
+
invalidText: "error!",
|
|
52
84
|
isDisabled: false,
|
|
53
85
|
isInvalid: false,
|
|
54
86
|
isRequired: false,
|
|
55
87
|
labelText: "Standard Radio Group",
|
|
56
|
-
layout: RadioGroupLayoutTypes.Column,
|
|
88
|
+
layout: "RadioGroupLayoutTypes.Column",
|
|
57
89
|
name: "radio-story",
|
|
90
|
+
onChange: undefined,
|
|
58
91
|
optReqFlag: true,
|
|
92
|
+
showHelperInvalidText: true,
|
|
59
93
|
showLabel: true,
|
|
60
94
|
}}
|
|
61
95
|
>
|
|
62
96
|
{(args) => (
|
|
63
|
-
<RadioGroup {...args}>
|
|
97
|
+
<RadioGroup {...args} layout={enumValues.getValue(args.layout)}>
|
|
64
98
|
<Radio value="2" labelText="Radio 2" />
|
|
65
99
|
<Radio value="3" labelText="Radio 3" />
|
|
66
100
|
<Radio value="4" labelText="Radio 4" />
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
1
|
import {
|
|
3
2
|
Box,
|
|
4
3
|
Stack,
|
|
5
4
|
useMultiStyleConfig,
|
|
6
5
|
useRadioGroup,
|
|
7
6
|
} from "@chakra-ui/react";
|
|
7
|
+
import * as React from "react";
|
|
8
8
|
|
|
9
|
-
import
|
|
10
|
-
import
|
|
9
|
+
import Fieldset from "../Fieldset/Fieldset";
|
|
10
|
+
import HelperErrorText, {
|
|
11
|
+
HelperErrorTextType,
|
|
12
|
+
} from "../HelperErrorText/HelperErrorText";
|
|
11
13
|
import { spacing } from "../../theme/foundations/spacing";
|
|
12
|
-
import { RadioGroupLayoutTypes } from "./RadioGroupLayoutTypes";
|
|
13
14
|
import Radio from "../Radio/Radio";
|
|
14
|
-
import
|
|
15
|
+
import { RadioGroupLayoutTypes } from "./RadioGroupLayoutTypes";
|
|
16
|
+
import generateUUID from "../../helpers/generateUUID";
|
|
15
17
|
|
|
16
18
|
export interface RadioGroupProps {
|
|
17
19
|
/** Any child node passed to the component. */
|
|
@@ -21,11 +23,11 @@ export interface RadioGroupProps {
|
|
|
21
23
|
/** Populates the initial value of the input */
|
|
22
24
|
defaultValue?: string;
|
|
23
25
|
/** Optional string to populate the HelperErrorText for standard state */
|
|
24
|
-
helperText?:
|
|
26
|
+
helperText?: HelperErrorTextType;
|
|
25
27
|
/** ID that other components can cross reference for accessibility purposes */
|
|
26
28
|
id?: string;
|
|
27
29
|
/** Optional string to populate the HelperErrorText for error state */
|
|
28
|
-
invalidText?:
|
|
30
|
+
invalidText?: HelperErrorTextType;
|
|
29
31
|
/** Adds the 'disabled' prop to the input when true. */
|
|
30
32
|
isDisabled?: boolean;
|
|
31
33
|
/** Adds the 'aria-invalid' attribute to the input and
|
|
@@ -76,7 +78,7 @@ const RadioGroup = React.forwardRef<HTMLInputElement, RadioGroupProps>(
|
|
|
76
78
|
showHelperInvalidText = true,
|
|
77
79
|
showLabel = true,
|
|
78
80
|
} = props;
|
|
79
|
-
const footnote = isInvalid ? invalidText : helperText;
|
|
81
|
+
const footnote: HelperErrorTextType = isInvalid ? invalidText : helperText;
|
|
80
82
|
const spacingProp =
|
|
81
83
|
layout === RadioGroupLayoutTypes.Column ? spacing.s : spacing.l;
|
|
82
84
|
const newChildren = [];
|
|
@@ -141,9 +143,11 @@ const RadioGroup = React.forwardRef<HTMLInputElement, RadioGroupProps>(
|
|
|
141
143
|
</Stack>
|
|
142
144
|
{footnote && showHelperInvalidText && (
|
|
143
145
|
<Box __css={styles.helper}>
|
|
144
|
-
<HelperErrorText
|
|
145
|
-
{
|
|
146
|
-
|
|
146
|
+
<HelperErrorText
|
|
147
|
+
id={`${id}-helperErrorText`}
|
|
148
|
+
isInvalid={isInvalid}
|
|
149
|
+
text={footnote}
|
|
150
|
+
/>
|
|
147
151
|
</Box>
|
|
148
152
|
)}
|
|
149
153
|
</Fieldset>
|
|
@@ -468,11 +468,14 @@ exports[`Radio Button renders the UI snapshot correctly 4`] = `
|
|
|
468
468
|
aria-atomic={true}
|
|
469
469
|
aria-live="off"
|
|
470
470
|
className=" css-0"
|
|
471
|
+
dangerouslySetInnerHTML={
|
|
472
|
+
Object {
|
|
473
|
+
"__html": "helper text",
|
|
474
|
+
}
|
|
475
|
+
}
|
|
471
476
|
data-isinvalid={false}
|
|
472
477
|
id="helperText-helperErrorText"
|
|
473
|
-
|
|
474
|
-
helper text
|
|
475
|
-
</div>
|
|
478
|
+
/>
|
|
476
479
|
</div>
|
|
477
480
|
</fieldset>
|
|
478
481
|
`;
|