@nypl/design-system-react-components 0.25.8 → 0.25.11
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 +110 -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 +4 -3
- package/dist/components/Fieldset/Fieldset.d.ts +1 -3
- package/dist/components/Form/Form.d.ts +15 -14
- package/dist/components/Form/FormTypes.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 +3 -3
- 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/List/List.d.ts +1 -1
- package/dist/components/Logo/Logo.d.ts +28 -0
- package/dist/components/Logo/LogoSvgs.d.ts +34 -0
- package/dist/components/Logo/LogoTypes.d.ts +46 -0
- package/dist/components/Modal/Modal.d.ts +0 -4
- package/dist/components/Notification/Notification.d.ts +4 -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 +6 -5
- package/dist/components/SearchBar/SearchBar.d.ts +15 -7
- package/dist/components/Select/Select.d.ts +7 -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 +29 -0
- package/dist/components/Template/Template.d.ts +30 -6
- 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 +6721 -5777
- 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 +6774 -5839
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/index.d.ts +10 -8
- package/dist/resources.scss +0 -2
- package/dist/styles.css +2 -2
- package/dist/theme/components/breadcrumb.d.ts +1 -1
- 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 +56 -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/notification.d.ts +13 -4
- package/dist/theme/components/searchBar.d.ts +9 -11
- 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 +4 -0
- package/dist/theme/components/toggle.d.ts +8 -5
- package/dist/utils/utils.d.ts +10 -0
- package/package.json +40 -37
- package/src/__tests__/utils/utils.test.ts +23 -1
- package/src/components/Accordion/Accordion.stories.mdx +15 -13
- package/src/components/Accordion/Accordion.test.tsx +45 -1
- package/src/components/Accordion/Accordion.tsx +20 -8
- package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +243 -0
- 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 +43 -13
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +15 -0
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +9 -3
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +5 -5
- 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 +21 -6
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +9 -3
- package/src/components/Chakra/Box.stories.mdx +3 -3
- package/src/components/Chakra/Center.stories.mdx +5 -5
- package/src/components/Chakra/Flex.stories.mdx +113 -0
- 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.test.tsx +6 -6
- package/src/components/DatePicker/DatePicker.tsx +17 -11
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +50 -24
- package/src/components/Fieldset/Fieldset.stories.mdx +20 -9
- package/src/components/Fieldset/Fieldset.tsx +2 -4
- package/src/components/Form/Form.stories.mdx +75 -49
- package/src/components/Form/Form.test.tsx +92 -3
- package/src/components/Form/Form.tsx +28 -23
- package/src/components/Form/FormTypes.tsx +2 -2
- package/src/components/Form/__snapshots__/Form.test.tsx.snap +0 -1
- 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 +11 -9
- package/src/components/HorizontalRule/HorizontalRule.tsx +4 -6
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +4 -4
- package/src/components/Icons/Icon.stories.mdx +78 -77
- package/src/components/Icons/Icon.test.tsx +1 -1
- package/src/components/Icons/Icon.tsx +5 -6
- 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 +60 -29
- package/src/components/List/List.test.tsx +1 -1
- package/src/components/List/List.tsx +2 -2
- package/src/components/List/__snapshots__/List.test.tsx.snap +3 -1
- package/src/components/Logo/Logo.stories.mdx +222 -0
- package/src/components/Logo/Logo.test.tsx +98 -0
- package/src/components/Logo/Logo.tsx +97 -0
- package/src/components/Logo/LogoSvgs.tsx +66 -0
- package/src/components/Logo/LogoTypes.tsx +48 -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 +128 -38
- package/src/components/Notification/Notification.test.tsx +49 -1
- package/src/components/Notification/Notification.tsx +25 -12
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +4 -0
- package/src/components/Pagination/Pagination.stories.mdx +18 -7
- package/src/components/Pagination/Pagination.tsx +3 -3
- 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/Radio/__snapshots__/Radio.test.tsx.snap +5 -5
- package/src/components/RadioGroup/RadioGroup.stories.mdx +50 -16
- package/src/components/RadioGroup/RadioGroup.test.tsx +13 -11
- package/src/components/RadioGroup/RadioGroup.tsx +97 -94
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +24 -21
- package/src/components/SearchBar/SearchBar.Test.tsx +160 -34
- package/src/components/SearchBar/SearchBar.stories.mdx +115 -33
- package/src/components/SearchBar/SearchBar.tsx +72 -51
- package/src/components/Select/Select.stories.mdx +48 -14
- package/src/components/Select/Select.test.tsx +89 -0
- package/src/components/Select/Select.tsx +27 -12
- package/src/components/Select/__snapshots__/Select.test.tsx.snap +545 -0
- 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 +67 -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 +165 -0
- package/src/components/Table/Table.test.tsx +137 -0
- package/src/components/Table/Table.tsx +126 -0
- package/src/components/Table/__snapshots__/Table.test.tsx.snap +1179 -0
- package/src/components/Tabs/Tabs.stories.mdx +20 -14
- package/src/components/Tabs/Tabs.test.tsx +21 -5
- package/src/components/Tabs/Tabs.tsx +35 -20
- package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +195 -0
- package/src/components/Template/Template.stories.mdx +132 -48
- package/src/components/Template/Template.test.tsx +128 -6
- package/src/components/Template/Template.tsx +93 -13
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +169 -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/Toggle/__snapshots__/Toggle.test.tsx.snap +4 -4
- 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 +13 -6
- 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 +4 -4
- 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 +63 -0
- package/src/theme/components/datePicker.ts +1 -1
- package/src/theme/components/global.ts +7 -7
- 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 +3 -5
- package/src/theme/components/logo.ts +54 -0
- package/src/theme/components/notification.ts +19 -9
- package/src/theme/components/searchBar.ts +11 -13
- package/src/theme/components/select.ts +1 -0
- package/src/theme/components/statusBadge.ts +1 -1
- package/src/theme/components/structuredContent.ts +74 -0
- package/src/theme/components/template.ts +10 -10
- package/src/theme/components/text.ts +6 -6
- package/src/theme/components/textInput.ts +2 -0
- package/src/theme/components/toggle.ts +10 -6
- 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 +2 -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,17 +1,17 @@
|
|
|
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 Slider from "./Slider";
|
|
11
|
-
import SimpleGrid from "../Grid/SimpleGrid";
|
|
12
|
-
import { GridGaps } from "../Grid/GridTypes";
|
|
13
10
|
import Heading from "../Heading/Heading";
|
|
14
11
|
import { HeadingLevels } from "../Heading/HeadingTypes";
|
|
12
|
+
import { GridGaps } from "../Grid/GridTypes";
|
|
13
|
+
import SimpleGrid from "../Grid/SimpleGrid";
|
|
14
|
+
import Slider from "./Slider";
|
|
15
15
|
import { getCategory } from "../../utils/componentCategories";
|
|
16
16
|
import DSProvider from "../../theme/provider";
|
|
17
17
|
|
|
@@ -22,16 +22,52 @@ import DSProvider from "../../theme/provider";
|
|
|
22
22
|
parameters={{
|
|
23
23
|
design: {
|
|
24
24
|
type: "figma",
|
|
25
|
-
url:
|
|
26
|
-
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=36889%3A25871",
|
|
25
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=36889%3A25871",
|
|
27
26
|
},
|
|
28
27
|
jest: ["Slider.test.tsx"],
|
|
29
28
|
}}
|
|
30
29
|
argTypes={{
|
|
31
|
-
className: {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
className: { control: false },
|
|
31
|
+
defaultValue: {
|
|
32
|
+
control: false,
|
|
33
|
+
table: { defaultValue: { summary: 0 } },
|
|
34
|
+
},
|
|
35
|
+
id: { control: false },
|
|
36
|
+
isDisabled: {
|
|
37
|
+
table: { defaultValue: { summary: false } },
|
|
38
|
+
},
|
|
39
|
+
isInvalid: {
|
|
40
|
+
table: { defaultValue: { summary: false } },
|
|
41
|
+
},
|
|
42
|
+
isRequired: {
|
|
43
|
+
table: { defaultValue: { summary: false } },
|
|
44
|
+
},
|
|
45
|
+
max: {
|
|
46
|
+
table: { defaultValue: { summary: 100 } },
|
|
47
|
+
},
|
|
48
|
+
min: {
|
|
49
|
+
table: { defaultValue: { summary: 0 } },
|
|
50
|
+
},
|
|
51
|
+
name: { control: false },
|
|
52
|
+
onChange: { control: false },
|
|
53
|
+
optReqFlag: {
|
|
54
|
+
table: { defaultValue: { summary: true } },
|
|
55
|
+
},
|
|
56
|
+
showBoxes: {
|
|
57
|
+
table: { defaultValue: { summary: true } },
|
|
58
|
+
},
|
|
59
|
+
showHelperInvalidText: {
|
|
60
|
+
table: { defaultValue: { summary: true } },
|
|
61
|
+
},
|
|
62
|
+
showLabel: {
|
|
63
|
+
table: { defaultValue: { summary: true } },
|
|
64
|
+
},
|
|
65
|
+
showValues: {
|
|
66
|
+
table: { defaultValue: { summary: true } },
|
|
67
|
+
},
|
|
68
|
+
step: {
|
|
69
|
+
table: { defaultValue: { summary: 1 } },
|
|
70
|
+
},
|
|
35
71
|
}}
|
|
36
72
|
/>
|
|
37
73
|
|
|
@@ -40,7 +76,7 @@ import DSProvider from "../../theme/provider";
|
|
|
40
76
|
| Component Version | DS Version |
|
|
41
77
|
| ----------------- | ---------- |
|
|
42
78
|
| Added | `0.25.4` |
|
|
43
|
-
| Latest | `0.25.
|
|
79
|
+
| Latest | `0.25.10` |
|
|
44
80
|
|
|
45
81
|
<Description of={Slider} />
|
|
46
82
|
|
|
@@ -49,10 +85,12 @@ For this type of component, the `value` prop must be a single number.
|
|
|
49
85
|
|
|
50
86
|
<Canvas withToolbar>
|
|
51
87
|
<Story
|
|
52
|
-
name="Slider with
|
|
88
|
+
name="Slider with Controls"
|
|
53
89
|
args={{
|
|
90
|
+
className: undefined,
|
|
54
91
|
defaultValue: 50,
|
|
55
92
|
helperText: "Pass in a value from the min 0 to the max 100 values.",
|
|
93
|
+
id: "slider-id",
|
|
56
94
|
invalidText: "Oh no this is an error :(",
|
|
57
95
|
isDisabled: false,
|
|
58
96
|
isInvalid: false,
|
|
@@ -61,6 +99,8 @@ For this type of component, the `value` prop must be a single number.
|
|
|
61
99
|
labelText: "Slider label",
|
|
62
100
|
max: 100,
|
|
63
101
|
min: 0,
|
|
102
|
+
name: undefined,
|
|
103
|
+
onChange: undefined,
|
|
64
104
|
optReqFlag: true,
|
|
65
105
|
showBoxes: true,
|
|
66
106
|
showHelperInvalidText: true,
|
|
@@ -69,15 +109,19 @@ For this type of component, the `value` prop must be a single number.
|
|
|
69
109
|
step: 1,
|
|
70
110
|
}}
|
|
71
111
|
argTypes={{
|
|
72
|
-
|
|
73
|
-
|
|
112
|
+
isRangeSlider: {
|
|
113
|
+
control: false,
|
|
114
|
+
table: {
|
|
115
|
+
defaultValue: { summary: false },
|
|
116
|
+
},
|
|
117
|
+
},
|
|
74
118
|
}}
|
|
75
119
|
>
|
|
76
120
|
{(args) => <Slider {...args} />}
|
|
77
121
|
</Story>
|
|
78
122
|
</Canvas>
|
|
79
123
|
|
|
80
|
-
<ArgsTable story="Slider with
|
|
124
|
+
<ArgsTable story="Slider with Controls" />
|
|
81
125
|
|
|
82
126
|
### Accessibility
|
|
83
127
|
|
|
@@ -101,8 +145,10 @@ numbers. This signifies the starting and ending values of the range slider.
|
|
|
101
145
|
<Story
|
|
102
146
|
name="Range Slider with Props"
|
|
103
147
|
args={{
|
|
148
|
+
className: undefined,
|
|
104
149
|
defaultValue: [25, 75],
|
|
105
150
|
helperText: "Pass in a value from the min 0 to the max 100 values.",
|
|
151
|
+
id: "slider-range-id",
|
|
106
152
|
invalidText: "Oh no this is an error :(",
|
|
107
153
|
isDisabled: false,
|
|
108
154
|
isInvalid: false,
|
|
@@ -111,6 +157,8 @@ numbers. This signifies the starting and ending values of the range slider.
|
|
|
111
157
|
labelText: "Range Slider label",
|
|
112
158
|
max: 100,
|
|
113
159
|
min: 0,
|
|
160
|
+
name: undefined,
|
|
161
|
+
onChange: undefined,
|
|
114
162
|
optReqFlag: true,
|
|
115
163
|
showBoxes: true,
|
|
116
164
|
showHelperInvalidText: true,
|
|
@@ -119,16 +167,18 @@ numbers. This signifies the starting and ending values of the range slider.
|
|
|
119
167
|
step: 1,
|
|
120
168
|
}}
|
|
121
169
|
argTypes={{
|
|
122
|
-
|
|
123
|
-
|
|
170
|
+
isRangeSlider: {
|
|
171
|
+
control: false,
|
|
172
|
+
table: {
|
|
173
|
+
defaultValue: { summary: false },
|
|
174
|
+
},
|
|
175
|
+
},
|
|
124
176
|
}}
|
|
125
177
|
>
|
|
126
178
|
{(args) => <Slider {...args} />}
|
|
127
179
|
</Story>
|
|
128
180
|
</Canvas>
|
|
129
181
|
|
|
130
|
-
<ArgsTable story="Range Slider with Props" />
|
|
131
|
-
|
|
132
182
|
### Accessibility
|
|
133
183
|
|
|
134
184
|
Chakra's `RangeSlider` component is accessible and, as recommended, we pass in
|
|
@@ -14,7 +14,9 @@ import {
|
|
|
14
14
|
|
|
15
15
|
import generateUUID from "../../helpers/generateUUID";
|
|
16
16
|
import Label from "../Label/Label";
|
|
17
|
-
import HelperErrorText
|
|
17
|
+
import HelperErrorText, {
|
|
18
|
+
HelperErrorTextType,
|
|
19
|
+
} from "../HelperErrorText/HelperErrorText";
|
|
18
20
|
import TextInput from "../TextInput/TextInput";
|
|
19
21
|
import { TextInputTypes } from "../TextInput/TextInputTypes";
|
|
20
22
|
|
|
@@ -26,12 +28,12 @@ export interface SliderProps {
|
|
|
26
28
|
*/
|
|
27
29
|
defaultValue?: number | number[];
|
|
28
30
|
/** Optional string to populate the HelperErrorText for standard state */
|
|
29
|
-
helperText?:
|
|
31
|
+
helperText?: HelperErrorTextType;
|
|
30
32
|
/** ID that other components can cross reference for accessibility purposes. */
|
|
31
33
|
id?: string;
|
|
32
34
|
/** Optional string to populate the `HelperErrorText` for the error state
|
|
33
35
|
* when `isInvalid` is true. */
|
|
34
|
-
invalidText?:
|
|
36
|
+
invalidText?: HelperErrorTextType;
|
|
35
37
|
/** Adds the 'disabled' state to the slider and text input(s) when true. */
|
|
36
38
|
isDisabled?: boolean;
|
|
37
39
|
/** Adds the 'invalid' state to the slider and text input(s) when true. */
|
|
@@ -103,9 +105,8 @@ export default function Slider(props: React.PropsWithChildren<SliderProps>) {
|
|
|
103
105
|
typeof defaultValue === "number" ? [min, max] : defaultValue;
|
|
104
106
|
// We need to set the default value correctly for both types of sliders.
|
|
105
107
|
const finalDevaultValue = isRangeSlider ? rangeSliderDefault : defaultValue;
|
|
106
|
-
const [currentValue, setCurrentValue] =
|
|
107
|
-
finalDevaultValue
|
|
108
|
-
);
|
|
108
|
+
const [currentValue, setCurrentValue] =
|
|
109
|
+
React.useState<typeof defaultValue>(finalDevaultValue);
|
|
109
110
|
let finalIsInvalid = isInvalid;
|
|
110
111
|
// In the Range Slider, if the first value is bigger than the second value,
|
|
111
112
|
// then set the invalid state.
|
|
@@ -113,7 +114,9 @@ export default function Slider(props: React.PropsWithChildren<SliderProps>) {
|
|
|
113
114
|
finalIsInvalid = true;
|
|
114
115
|
}
|
|
115
116
|
const optReqText = isRequired ? "Required" : "Optional";
|
|
116
|
-
const footnote = finalIsInvalid
|
|
117
|
+
const footnote: HelperErrorTextType = finalIsInvalid
|
|
118
|
+
? invalidText
|
|
119
|
+
: helperText;
|
|
117
120
|
const styles = useMultiStyleConfig("CustomSlider", {
|
|
118
121
|
isDisabled,
|
|
119
122
|
isInvalid: finalIsInvalid,
|
|
@@ -299,9 +302,11 @@ export default function Slider(props: React.PropsWithChildren<SliderProps>) {
|
|
|
299
302
|
|
|
300
303
|
{footnote && showHelperInvalidText && (
|
|
301
304
|
<Box __css={styles.helper}>
|
|
302
|
-
<HelperErrorText
|
|
303
|
-
{
|
|
304
|
-
|
|
305
|
+
<HelperErrorText
|
|
306
|
+
id={`${id}-helperText`}
|
|
307
|
+
isInvalid={finalIsInvalid}
|
|
308
|
+
text={footnote}
|
|
309
|
+
/>
|
|
305
310
|
</Box>
|
|
306
311
|
)}
|
|
307
312
|
</Box>
|
|
@@ -61,6 +61,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 1`] = `
|
|
|
61
61
|
>
|
|
62
62
|
<div
|
|
63
63
|
className="chakra-slider__track css-0"
|
|
64
|
+
data-testid="chakra-range-slider-track"
|
|
64
65
|
id="slider-track-defaultRangeSlider"
|
|
65
66
|
style={
|
|
66
67
|
Object {
|
|
@@ -168,11 +169,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 1`] = `
|
|
|
168
169
|
aria-atomic={true}
|
|
169
170
|
aria-live="off"
|
|
170
171
|
className=" css-0"
|
|
172
|
+
dangerouslySetInnerHTML={
|
|
173
|
+
Object {
|
|
174
|
+
"__html": "Component helper text.",
|
|
175
|
+
}
|
|
176
|
+
}
|
|
171
177
|
data-isinvalid={false}
|
|
172
178
|
id="defaultRangeSlider-helperText"
|
|
173
|
-
|
|
174
|
-
Component helper text.
|
|
175
|
-
</div>
|
|
179
|
+
/>
|
|
176
180
|
</div>
|
|
177
181
|
</div>
|
|
178
182
|
`;
|
|
@@ -239,6 +243,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 2`] = `
|
|
|
239
243
|
>
|
|
240
244
|
<div
|
|
241
245
|
className="chakra-slider__track css-0"
|
|
246
|
+
data-testid="chakra-range-slider-track"
|
|
242
247
|
id="slider-track-errored"
|
|
243
248
|
style={
|
|
244
249
|
Object {
|
|
@@ -347,11 +352,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 2`] = `
|
|
|
347
352
|
aria-atomic={true}
|
|
348
353
|
aria-live="polite"
|
|
349
354
|
className=" css-0"
|
|
355
|
+
dangerouslySetInnerHTML={
|
|
356
|
+
Object {
|
|
357
|
+
"__html": "Component error text :(",
|
|
358
|
+
}
|
|
359
|
+
}
|
|
350
360
|
data-isinvalid={true}
|
|
351
361
|
id="errored-helperText"
|
|
352
|
-
|
|
353
|
-
Component error text :(
|
|
354
|
-
</div>
|
|
362
|
+
/>
|
|
355
363
|
</div>
|
|
356
364
|
</div>
|
|
357
365
|
`;
|
|
@@ -418,6 +426,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 3`] = `
|
|
|
418
426
|
>
|
|
419
427
|
<div
|
|
420
428
|
className="chakra-slider__track css-0"
|
|
429
|
+
data-testid="chakra-range-slider-track"
|
|
421
430
|
id="slider-track-required"
|
|
422
431
|
style={
|
|
423
432
|
Object {
|
|
@@ -526,11 +535,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 3`] = `
|
|
|
526
535
|
aria-atomic={true}
|
|
527
536
|
aria-live="off"
|
|
528
537
|
className=" css-0"
|
|
538
|
+
dangerouslySetInnerHTML={
|
|
539
|
+
Object {
|
|
540
|
+
"__html": "Component helper text.",
|
|
541
|
+
}
|
|
542
|
+
}
|
|
529
543
|
data-isinvalid={false}
|
|
530
544
|
id="required-helperText"
|
|
531
|
-
|
|
532
|
-
Component helper text.
|
|
533
|
-
</div>
|
|
545
|
+
/>
|
|
534
546
|
</div>
|
|
535
547
|
</div>
|
|
536
548
|
`;
|
|
@@ -598,6 +610,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 4`] = `
|
|
|
598
610
|
<div
|
|
599
611
|
className="chakra-slider__track css-0"
|
|
600
612
|
data-disabled=""
|
|
613
|
+
data-testid="chakra-range-slider-track"
|
|
601
614
|
id="slider-track-disabled"
|
|
602
615
|
style={
|
|
603
616
|
Object {
|
|
@@ -705,11 +718,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 4`] = `
|
|
|
705
718
|
aria-atomic={true}
|
|
706
719
|
aria-live="off"
|
|
707
720
|
className=" css-0"
|
|
721
|
+
dangerouslySetInnerHTML={
|
|
722
|
+
Object {
|
|
723
|
+
"__html": "Component helper text.",
|
|
724
|
+
}
|
|
725
|
+
}
|
|
708
726
|
data-isinvalid={false}
|
|
709
727
|
id="disabled-helperText"
|
|
710
|
-
|
|
711
|
-
Component helper text.
|
|
712
|
-
</div>
|
|
728
|
+
/>
|
|
713
729
|
</div>
|
|
714
730
|
</div>
|
|
715
731
|
`;
|
|
@@ -763,6 +779,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 5`] = `
|
|
|
763
779
|
>
|
|
764
780
|
<div
|
|
765
781
|
className="chakra-slider__track css-0"
|
|
782
|
+
data-testid="chakra-range-slider-track"
|
|
766
783
|
id="slider-track-noLabels"
|
|
767
784
|
style={
|
|
768
785
|
Object {
|
|
@@ -903,6 +920,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 6`] = `
|
|
|
903
920
|
>
|
|
904
921
|
<div
|
|
905
922
|
className="chakra-slider__track css-0"
|
|
923
|
+
data-testid="chakra-range-slider-track"
|
|
906
924
|
id="slider-track-noVisibleValues"
|
|
907
925
|
style={
|
|
908
926
|
Object {
|
|
@@ -986,11 +1004,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 6`] = `
|
|
|
986
1004
|
aria-atomic={true}
|
|
987
1005
|
aria-live="off"
|
|
988
1006
|
className=" css-0"
|
|
1007
|
+
dangerouslySetInnerHTML={
|
|
1008
|
+
Object {
|
|
1009
|
+
"__html": "Component helper text.",
|
|
1010
|
+
}
|
|
1011
|
+
}
|
|
989
1012
|
data-isinvalid={false}
|
|
990
1013
|
id="noVisibleValues-helperText"
|
|
991
|
-
|
|
992
|
-
Component helper text.
|
|
993
|
-
</div>
|
|
1014
|
+
/>
|
|
994
1015
|
</div>
|
|
995
1016
|
</div>
|
|
996
1017
|
`;
|
|
@@ -1020,6 +1041,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 7`] = `
|
|
|
1020
1041
|
>
|
|
1021
1042
|
<div
|
|
1022
1043
|
className="chakra-slider__track css-0"
|
|
1044
|
+
data-testid="chakra-range-slider-track"
|
|
1023
1045
|
id="slider-track-onlySlider"
|
|
1024
1046
|
style={
|
|
1025
1047
|
Object {
|
|
@@ -1226,11 +1248,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 1`] = `
|
|
|
1226
1248
|
aria-atomic={true}
|
|
1227
1249
|
aria-live="off"
|
|
1228
1250
|
className=" css-0"
|
|
1251
|
+
dangerouslySetInnerHTML={
|
|
1252
|
+
Object {
|
|
1253
|
+
"__html": "Component helper text.",
|
|
1254
|
+
}
|
|
1255
|
+
}
|
|
1229
1256
|
data-isinvalid={false}
|
|
1230
1257
|
id="defaultSlider-helperText"
|
|
1231
|
-
|
|
1232
|
-
Component helper text.
|
|
1233
|
-
</div>
|
|
1258
|
+
/>
|
|
1234
1259
|
</div>
|
|
1235
1260
|
</div>
|
|
1236
1261
|
`;
|
|
@@ -1363,11 +1388,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 2`] = `
|
|
|
1363
1388
|
aria-atomic={true}
|
|
1364
1389
|
aria-live="polite"
|
|
1365
1390
|
className=" css-0"
|
|
1391
|
+
dangerouslySetInnerHTML={
|
|
1392
|
+
Object {
|
|
1393
|
+
"__html": "Component error text :(",
|
|
1394
|
+
}
|
|
1395
|
+
}
|
|
1366
1396
|
data-isinvalid={true}
|
|
1367
1397
|
id="errored-helperText"
|
|
1368
|
-
|
|
1369
|
-
Component error text :(
|
|
1370
|
-
</div>
|
|
1398
|
+
/>
|
|
1371
1399
|
</div>
|
|
1372
1400
|
</div>
|
|
1373
1401
|
`;
|
|
@@ -1500,11 +1528,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 3`] = `
|
|
|
1500
1528
|
aria-atomic={true}
|
|
1501
1529
|
aria-live="off"
|
|
1502
1530
|
className=" css-0"
|
|
1531
|
+
dangerouslySetInnerHTML={
|
|
1532
|
+
Object {
|
|
1533
|
+
"__html": "Component helper text.",
|
|
1534
|
+
}
|
|
1535
|
+
}
|
|
1503
1536
|
data-isinvalid={false}
|
|
1504
1537
|
id="required-helperText"
|
|
1505
|
-
|
|
1506
|
-
Component helper text.
|
|
1507
|
-
</div>
|
|
1538
|
+
/>
|
|
1508
1539
|
</div>
|
|
1509
1540
|
</div>
|
|
1510
1541
|
`;
|
|
@@ -1638,11 +1669,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 4`] = `
|
|
|
1638
1669
|
aria-atomic={true}
|
|
1639
1670
|
aria-live="off"
|
|
1640
1671
|
className=" css-0"
|
|
1672
|
+
dangerouslySetInnerHTML={
|
|
1673
|
+
Object {
|
|
1674
|
+
"__html": "Component helper text.",
|
|
1675
|
+
}
|
|
1676
|
+
}
|
|
1641
1677
|
data-isinvalid={false}
|
|
1642
1678
|
id="disabled-helperText"
|
|
1643
|
-
|
|
1644
|
-
Component helper text.
|
|
1645
|
-
</div>
|
|
1679
|
+
/>
|
|
1646
1680
|
</div>
|
|
1647
1681
|
</div>
|
|
1648
1682
|
`;
|
|
@@ -1855,11 +1889,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 6`] = `
|
|
|
1855
1889
|
aria-atomic={true}
|
|
1856
1890
|
aria-live="off"
|
|
1857
1891
|
className=" css-0"
|
|
1892
|
+
dangerouslySetInnerHTML={
|
|
1893
|
+
Object {
|
|
1894
|
+
"__html": "Component helper text.",
|
|
1895
|
+
}
|
|
1896
|
+
}
|
|
1858
1897
|
data-isinvalid={false}
|
|
1859
1898
|
id="noVisibleValues-helperText"
|
|
1860
|
-
|
|
1861
|
-
Component helper text.
|
|
1862
|
-
</div>
|
|
1899
|
+
/>
|
|
1863
1900
|
</div>
|
|
1864
1901
|
</div>
|
|
1865
1902
|
`;
|
|
@@ -1,18 +1,23 @@
|
|
|
1
|
+
import { VStack } from "@chakra-ui/react";
|
|
1
2
|
import {
|
|
2
|
-
Meta,
|
|
3
|
-
Story,
|
|
4
|
-
Canvas,
|
|
5
3
|
ArgsTable,
|
|
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 { VStack } from "@chakra-ui/react";
|
|
10
10
|
|
|
11
11
|
import StatusBadge from "./StatusBadge";
|
|
12
12
|
import { StatusBadgeTypes } from "./StatusBadgeTypes";
|
|
13
|
-
import getCSSVariable from "../../helpers/getCSSVariable";
|
|
14
13
|
import { getCategory } from "../../utils/componentCategories";
|
|
15
14
|
import DSProvider from "../../theme/provider";
|
|
15
|
+
import { getStorybookEnumValues } from "../../utils/utils";
|
|
16
|
+
|
|
17
|
+
export const enumValues = getStorybookEnumValues(
|
|
18
|
+
StatusBadgeTypes,
|
|
19
|
+
"StatusBadgeTypes"
|
|
20
|
+
);
|
|
16
21
|
|
|
17
22
|
<Meta
|
|
18
23
|
title={getCategory("StatusBadge")}
|
|
@@ -21,19 +26,20 @@ import DSProvider from "../../theme/provider";
|
|
|
21
26
|
parameters={{
|
|
22
27
|
design: {
|
|
23
28
|
type: "figma",
|
|
24
|
-
url:
|
|
25
|
-
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=11256%3A0",
|
|
29
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=11256%3A0",
|
|
26
30
|
},
|
|
27
31
|
jest: ["StatusBadge.test.tsx"],
|
|
28
32
|
}}
|
|
29
33
|
argTypes={{
|
|
30
|
-
className: {
|
|
31
|
-
id: {
|
|
34
|
+
className: { control: false },
|
|
35
|
+
id: { control: false },
|
|
32
36
|
level: {
|
|
33
|
-
control: {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
control: { type: "select" },
|
|
38
|
+
table: { defaultValue: { summary: "StatusBadgeTypes.Low" } },
|
|
39
|
+
options: enumValues.options,
|
|
40
|
+
},
|
|
41
|
+
text: {
|
|
42
|
+
description: "Only used for Storybook",
|
|
37
43
|
},
|
|
38
44
|
}}
|
|
39
45
|
/>
|
|
@@ -49,14 +55,23 @@ import DSProvider from "../../theme/provider";
|
|
|
49
55
|
|
|
50
56
|
<Canvas withToolbar>
|
|
51
57
|
<Story
|
|
52
|
-
name="
|
|
53
|
-
args={{
|
|
58
|
+
name="StatusBadge"
|
|
59
|
+
args={{
|
|
60
|
+
className: undefined,
|
|
61
|
+
id: "statusBadge-id",
|
|
62
|
+
level: "StatusBadgeTypes.Low",
|
|
63
|
+
text: "Registration Required",
|
|
64
|
+
}}
|
|
54
65
|
>
|
|
55
|
-
{(args) =>
|
|
66
|
+
{(args) => (
|
|
67
|
+
<StatusBadge level={enumValues.getValue(args.level)}>
|
|
68
|
+
{args.text}
|
|
69
|
+
</StatusBadge>
|
|
70
|
+
)}
|
|
56
71
|
</Story>
|
|
57
72
|
</Canvas>
|
|
58
73
|
|
|
59
|
-
<ArgsTable story="
|
|
74
|
+
<ArgsTable story="StatusBadge" />
|
|
60
75
|
|
|
61
76
|
## Patterns
|
|
62
77
|
|
|
@@ -9,7 +9,8 @@ export interface StatusBadgeProps {
|
|
|
9
9
|
className?: string;
|
|
10
10
|
/** ID that other components can cross reference for accessibility purposes */
|
|
11
11
|
id?: string;
|
|
12
|
-
/** Level of the status badge through StatusBadgeTypes.
|
|
12
|
+
/** Level of the status badge through StatusBadgeTypes. Defaults to
|
|
13
|
+
* `StatusBadgeTypes.Low`. */
|
|
13
14
|
level?: StatusBadgeTypes;
|
|
14
15
|
}
|
|
15
16
|
|