@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
|
@@ -5,23 +5,25 @@ import {
|
|
|
5
5
|
useMultiStyleConfig,
|
|
6
6
|
} from "@chakra-ui/react";
|
|
7
7
|
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
import { IconNames, IconSizes } from "../Icons/IconTypes";
|
|
8
|
+
import HelperErrorText, {
|
|
9
|
+
HelperErrorTextType,
|
|
10
|
+
} from "../HelperErrorText/HelperErrorText";
|
|
12
11
|
import Icon from "../Icons/Icon";
|
|
12
|
+
import { IconNames, IconSizes } from "../Icons/IconTypes";
|
|
13
|
+
import Label from "../Label/Label";
|
|
13
14
|
import { SelectTypes } from "./SelectTypes";
|
|
15
|
+
import generateUUID from "../../helpers/generateUUID";
|
|
14
16
|
|
|
15
17
|
export interface SelectProps {
|
|
16
18
|
/** A class name for the `div` parent element. */
|
|
17
19
|
className?: string;
|
|
18
20
|
/** Optional string to populate the `HelperErrorText` for the standard state. */
|
|
19
|
-
helperText?:
|
|
21
|
+
helperText?: HelperErrorTextType;
|
|
20
22
|
/** ID that other components can cross reference for accessibility purposes */
|
|
21
23
|
id?: string;
|
|
22
24
|
/** Optional string to populate the `HelperErrorText` for the error state
|
|
23
25
|
* when `isInvalid` is true. */
|
|
24
|
-
invalidText?:
|
|
26
|
+
invalidText?: HelperErrorTextType;
|
|
25
27
|
/** Adds the `disabled` and `aria-disabled` attributes to the select when true */
|
|
26
28
|
isDisabled?: boolean;
|
|
27
29
|
/** Adds the `aria-invalid` attribute to the select when true. This also makes
|
|
@@ -87,7 +89,9 @@ const Select = React.forwardRef<
|
|
|
87
89
|
const finalInvalidText = invalidText
|
|
88
90
|
? invalidText
|
|
89
91
|
: "There is an error related to this field.";
|
|
90
|
-
const footnote = isInvalid
|
|
92
|
+
const footnote: HelperErrorTextType = isInvalid
|
|
93
|
+
? finalInvalidText
|
|
94
|
+
: helperText;
|
|
91
95
|
// To control the `Select` component, both `onChange` and `value`
|
|
92
96
|
// must be passed.
|
|
93
97
|
const controlledProps = onChange ? { onChange, value } : {};
|
|
@@ -140,9 +144,11 @@ const Select = React.forwardRef<
|
|
|
140
144
|
</ChakraSelect>
|
|
141
145
|
{footnote && showHelperInvalidText && (
|
|
142
146
|
<Box __css={styles.helper} aria-disabled={isDisabled}>
|
|
143
|
-
<HelperErrorText
|
|
144
|
-
{
|
|
145
|
-
|
|
147
|
+
<HelperErrorText
|
|
148
|
+
id={`${id}-helperText`}
|
|
149
|
+
isInvalid={isInvalid}
|
|
150
|
+
text={footnote}
|
|
151
|
+
/>
|
|
146
152
|
</Box>
|
|
147
153
|
)}
|
|
148
154
|
</Box>
|
|
@@ -1,20 +1,30 @@
|
|
|
1
|
+
import { action } from "@storybook/addon-actions";
|
|
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 { action } from "@storybook/addon-actions";
|
|
10
10
|
|
|
11
|
-
import
|
|
11
|
+
import SimpleGrid from "../Grid/SimpleGrid";
|
|
12
12
|
import SkeletonLoader from "./SkeletonLoader";
|
|
13
13
|
import {
|
|
14
|
-
SkeletonLoaderLayouts,
|
|
15
14
|
SkeletonLoaderImageRatios,
|
|
15
|
+
SkeletonLoaderLayouts,
|
|
16
16
|
} from "./SkeletonLoaderTypes";
|
|
17
|
-
import
|
|
17
|
+
import { getCategory } from "../../utils/componentCategories";
|
|
18
|
+
import { getStorybookEnumValues } from "../../utils/utils";
|
|
19
|
+
|
|
20
|
+
export const imageRatiosEnumValues = getStorybookEnumValues(
|
|
21
|
+
SkeletonLoaderImageRatios,
|
|
22
|
+
"SkeletonLoaderImageRatios"
|
|
23
|
+
);
|
|
24
|
+
export const layoutsEnumValues = getStorybookEnumValues(
|
|
25
|
+
SkeletonLoaderLayouts,
|
|
26
|
+
"SkeletonLoaderLayouts"
|
|
27
|
+
);
|
|
18
28
|
|
|
19
29
|
<Meta
|
|
20
30
|
title={getCategory("SkeletonLoader")}
|
|
@@ -23,17 +33,25 @@ import SimpleGrid from "../Grid/SimpleGrid";
|
|
|
23
33
|
parameters={{
|
|
24
34
|
design: {
|
|
25
35
|
type: "figma",
|
|
26
|
-
url:
|
|
27
|
-
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=17219%3A7",
|
|
36
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=17219%3A7",
|
|
28
37
|
},
|
|
29
38
|
jest: ["SkeletonLoader.test.tsx"],
|
|
30
39
|
}}
|
|
31
40
|
argTypes={{
|
|
32
|
-
className: {
|
|
41
|
+
className: { control: false },
|
|
33
42
|
contentSize: { table: { defaultValue: { summary: "3" } } },
|
|
34
43
|
headingSize: { table: { defaultValue: { summary: "1" } } },
|
|
35
|
-
imageAspectRatio: {
|
|
36
|
-
|
|
44
|
+
imageAspectRatio: {
|
|
45
|
+
control: { type: "select" },
|
|
46
|
+
table: {
|
|
47
|
+
defaultValue: { summary: "SkeletonLoaderImageRatios.Square" },
|
|
48
|
+
},
|
|
49
|
+
options: imageRatiosEnumValues.options,
|
|
50
|
+
},
|
|
51
|
+
layout: {
|
|
52
|
+
table: { defaultValue: { summary: "SkeletonLoaderLayouts.Column" } },
|
|
53
|
+
options: layoutsEnumValues.options,
|
|
54
|
+
},
|
|
37
55
|
showButton: { table: { defaultValue: { summary: "false" } } },
|
|
38
56
|
showContent: { table: { defaultValue: { summary: "true" } } },
|
|
39
57
|
showHeading: { table: { defaultValue: { summary: "true" } } },
|
|
@@ -58,16 +76,32 @@ to better view the example. The default value is `100%`.
|
|
|
58
76
|
|
|
59
77
|
<Canvas withToolbar>
|
|
60
78
|
<Story
|
|
61
|
-
name="
|
|
79
|
+
name="SkeletonLoader with Controls"
|
|
62
80
|
args={{
|
|
81
|
+
border: false,
|
|
82
|
+
className: undefined,
|
|
83
|
+
contentSize: 3,
|
|
84
|
+
headingSize: 1,
|
|
85
|
+
imageAspectRatio: "SkeletonLoaderImageRatios.Square",
|
|
86
|
+
layout: "SkeletonLoaderLayouts.Column",
|
|
87
|
+
showButton: false,
|
|
88
|
+
showContent: true,
|
|
89
|
+
showHeading: true,
|
|
90
|
+
showImage: true,
|
|
63
91
|
width: "300px",
|
|
64
92
|
}}
|
|
65
93
|
>
|
|
66
|
-
{(args) =>
|
|
94
|
+
{(args) => (
|
|
95
|
+
<SkeletonLoader
|
|
96
|
+
{...args}
|
|
97
|
+
imageAspectRatio={imageRatiosEnumValues.getValue(args.imageAspectRatio)}
|
|
98
|
+
layout={layoutsEnumValues.getValue(args.layout)}
|
|
99
|
+
/>
|
|
100
|
+
)}
|
|
67
101
|
</Story>
|
|
68
102
|
</Canvas>
|
|
69
103
|
|
|
70
|
-
<ArgsTable story="
|
|
104
|
+
<ArgsTable story="SkeletonLoader with Controls" />
|
|
71
105
|
|
|
72
106
|
# Card Placeholders in a Grid
|
|
73
107
|
|
|
@@ -15,13 +15,17 @@ export interface SkeletonLoaderProps {
|
|
|
15
15
|
border?: boolean;
|
|
16
16
|
/** Additional class name for the Skeleton component. */
|
|
17
17
|
className?: string;
|
|
18
|
-
/** Optional numeric value to control the number of lines for content
|
|
18
|
+
/** Optional numeric value to control the number of lines for content
|
|
19
|
+
* placeholder; default value is `3`. */
|
|
19
20
|
contentSize?: number;
|
|
20
|
-
/** Optional numeric value to control the number of lines for heading
|
|
21
|
+
/** Optional numeric value to control the number of lines for heading
|
|
22
|
+
* placeholder; default value is `1`. */
|
|
21
23
|
headingSize?: number;
|
|
22
|
-
/** Optional value to control the aspect ratio of the image placeholder;
|
|
24
|
+
/** Optional value to control the aspect ratio of the image placeholder;
|
|
25
|
+
* default value is `SkeletonLoaderImageRatios.Square`. */
|
|
23
26
|
imageAspectRatio?: SkeletonLoaderImageRatios;
|
|
24
|
-
/** Optional value to control the position of the image placeholder;
|
|
27
|
+
/** Optional value to control the position of the image placeholder;
|
|
28
|
+
* default value is `SkeletonLoaderLayouts.Column`. */
|
|
25
29
|
layout?: SkeletonLoaderLayouts;
|
|
26
30
|
/** Optional boolean value to control visibility of button placeholder. */
|
|
27
31
|
showButton?: boolean;
|
|
@@ -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.9` |
|
|
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>
|
|
@@ -168,11 +168,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 1`] = `
|
|
|
168
168
|
aria-atomic={true}
|
|
169
169
|
aria-live="off"
|
|
170
170
|
className=" css-0"
|
|
171
|
+
dangerouslySetInnerHTML={
|
|
172
|
+
Object {
|
|
173
|
+
"__html": "Component helper text.",
|
|
174
|
+
}
|
|
175
|
+
}
|
|
171
176
|
data-isinvalid={false}
|
|
172
177
|
id="defaultRangeSlider-helperText"
|
|
173
|
-
|
|
174
|
-
Component helper text.
|
|
175
|
-
</div>
|
|
178
|
+
/>
|
|
176
179
|
</div>
|
|
177
180
|
</div>
|
|
178
181
|
`;
|
|
@@ -347,11 +350,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 2`] = `
|
|
|
347
350
|
aria-atomic={true}
|
|
348
351
|
aria-live="polite"
|
|
349
352
|
className=" css-0"
|
|
353
|
+
dangerouslySetInnerHTML={
|
|
354
|
+
Object {
|
|
355
|
+
"__html": "Component error text :(",
|
|
356
|
+
}
|
|
357
|
+
}
|
|
350
358
|
data-isinvalid={true}
|
|
351
359
|
id="errored-helperText"
|
|
352
|
-
|
|
353
|
-
Component error text :(
|
|
354
|
-
</div>
|
|
360
|
+
/>
|
|
355
361
|
</div>
|
|
356
362
|
</div>
|
|
357
363
|
`;
|
|
@@ -526,11 +532,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 3`] = `
|
|
|
526
532
|
aria-atomic={true}
|
|
527
533
|
aria-live="off"
|
|
528
534
|
className=" css-0"
|
|
535
|
+
dangerouslySetInnerHTML={
|
|
536
|
+
Object {
|
|
537
|
+
"__html": "Component helper text.",
|
|
538
|
+
}
|
|
539
|
+
}
|
|
529
540
|
data-isinvalid={false}
|
|
530
541
|
id="required-helperText"
|
|
531
|
-
|
|
532
|
-
Component helper text.
|
|
533
|
-
</div>
|
|
542
|
+
/>
|
|
534
543
|
</div>
|
|
535
544
|
</div>
|
|
536
545
|
`;
|
|
@@ -705,11 +714,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 4`] = `
|
|
|
705
714
|
aria-atomic={true}
|
|
706
715
|
aria-live="off"
|
|
707
716
|
className=" css-0"
|
|
717
|
+
dangerouslySetInnerHTML={
|
|
718
|
+
Object {
|
|
719
|
+
"__html": "Component helper text.",
|
|
720
|
+
}
|
|
721
|
+
}
|
|
708
722
|
data-isinvalid={false}
|
|
709
723
|
id="disabled-helperText"
|
|
710
|
-
|
|
711
|
-
Component helper text.
|
|
712
|
-
</div>
|
|
724
|
+
/>
|
|
713
725
|
</div>
|
|
714
726
|
</div>
|
|
715
727
|
`;
|
|
@@ -986,11 +998,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 6`] = `
|
|
|
986
998
|
aria-atomic={true}
|
|
987
999
|
aria-live="off"
|
|
988
1000
|
className=" css-0"
|
|
1001
|
+
dangerouslySetInnerHTML={
|
|
1002
|
+
Object {
|
|
1003
|
+
"__html": "Component helper text.",
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
989
1006
|
data-isinvalid={false}
|
|
990
1007
|
id="noVisibleValues-helperText"
|
|
991
|
-
|
|
992
|
-
Component helper text.
|
|
993
|
-
</div>
|
|
1008
|
+
/>
|
|
994
1009
|
</div>
|
|
995
1010
|
</div>
|
|
996
1011
|
`;
|
|
@@ -1226,11 +1241,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 1`] = `
|
|
|
1226
1241
|
aria-atomic={true}
|
|
1227
1242
|
aria-live="off"
|
|
1228
1243
|
className=" css-0"
|
|
1244
|
+
dangerouslySetInnerHTML={
|
|
1245
|
+
Object {
|
|
1246
|
+
"__html": "Component helper text.",
|
|
1247
|
+
}
|
|
1248
|
+
}
|
|
1229
1249
|
data-isinvalid={false}
|
|
1230
1250
|
id="defaultSlider-helperText"
|
|
1231
|
-
|
|
1232
|
-
Component helper text.
|
|
1233
|
-
</div>
|
|
1251
|
+
/>
|
|
1234
1252
|
</div>
|
|
1235
1253
|
</div>
|
|
1236
1254
|
`;
|
|
@@ -1363,11 +1381,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 2`] = `
|
|
|
1363
1381
|
aria-atomic={true}
|
|
1364
1382
|
aria-live="polite"
|
|
1365
1383
|
className=" css-0"
|
|
1384
|
+
dangerouslySetInnerHTML={
|
|
1385
|
+
Object {
|
|
1386
|
+
"__html": "Component error text :(",
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1366
1389
|
data-isinvalid={true}
|
|
1367
1390
|
id="errored-helperText"
|
|
1368
|
-
|
|
1369
|
-
Component error text :(
|
|
1370
|
-
</div>
|
|
1391
|
+
/>
|
|
1371
1392
|
</div>
|
|
1372
1393
|
</div>
|
|
1373
1394
|
`;
|
|
@@ -1500,11 +1521,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 3`] = `
|
|
|
1500
1521
|
aria-atomic={true}
|
|
1501
1522
|
aria-live="off"
|
|
1502
1523
|
className=" css-0"
|
|
1524
|
+
dangerouslySetInnerHTML={
|
|
1525
|
+
Object {
|
|
1526
|
+
"__html": "Component helper text.",
|
|
1527
|
+
}
|
|
1528
|
+
}
|
|
1503
1529
|
data-isinvalid={false}
|
|
1504
1530
|
id="required-helperText"
|
|
1505
|
-
|
|
1506
|
-
Component helper text.
|
|
1507
|
-
</div>
|
|
1531
|
+
/>
|
|
1508
1532
|
</div>
|
|
1509
1533
|
</div>
|
|
1510
1534
|
`;
|
|
@@ -1638,11 +1662,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 4`] = `
|
|
|
1638
1662
|
aria-atomic={true}
|
|
1639
1663
|
aria-live="off"
|
|
1640
1664
|
className=" css-0"
|
|
1665
|
+
dangerouslySetInnerHTML={
|
|
1666
|
+
Object {
|
|
1667
|
+
"__html": "Component helper text.",
|
|
1668
|
+
}
|
|
1669
|
+
}
|
|
1641
1670
|
data-isinvalid={false}
|
|
1642
1671
|
id="disabled-helperText"
|
|
1643
|
-
|
|
1644
|
-
Component helper text.
|
|
1645
|
-
</div>
|
|
1672
|
+
/>
|
|
1646
1673
|
</div>
|
|
1647
1674
|
</div>
|
|
1648
1675
|
`;
|
|
@@ -1855,11 +1882,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 6`] = `
|
|
|
1855
1882
|
aria-atomic={true}
|
|
1856
1883
|
aria-live="off"
|
|
1857
1884
|
className=" css-0"
|
|
1885
|
+
dangerouslySetInnerHTML={
|
|
1886
|
+
Object {
|
|
1887
|
+
"__html": "Component helper text.",
|
|
1888
|
+
}
|
|
1889
|
+
}
|
|
1858
1890
|
data-isinvalid={false}
|
|
1859
1891
|
id="noVisibleValues-helperText"
|
|
1860
|
-
|
|
1861
|
-
Component helper text.
|
|
1862
|
-
</div>
|
|
1892
|
+
/>
|
|
1863
1893
|
</div>
|
|
1864
1894
|
</div>
|
|
1865
1895
|
`;
|
|
@@ -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
|
|