@nypl/design-system-react-components 0.25.1 → 0.25.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +118 -1
- package/README.md +98 -50
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/dist/components/Button/Button.d.ts +13 -8
- package/dist/components/Button/ButtonTypes.d.ts +2 -1
- package/dist/components/Card/Card.d.ts +36 -52
- package/dist/components/Card/CardTypes.d.ts +0 -15
- package/dist/components/Checkbox/Checkbox.d.ts +17 -13
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +4 -2
- package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +15 -0
- package/dist/components/DatePicker/DatePicker.d.ts +36 -34
- package/dist/components/Fieldset/Fieldset.d.ts +25 -0
- package/dist/components/Heading/Heading.d.ts +4 -4
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +17 -14
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +10 -9
- package/dist/components/Icons/Icon.d.ts +8 -0
- package/dist/components/Icons/IconSvgs.d.ts +11 -0
- package/dist/components/Icons/IconTypes.d.ts +11 -0
- package/dist/components/Image/Image.d.ts +19 -9
- package/dist/components/Image/ImageTypes.d.ts +20 -0
- package/dist/components/Link/Link.d.ts +4 -0
- package/dist/components/List/List.d.ts +19 -14
- package/dist/components/Notification/Notification.d.ts +37 -16
- package/dist/components/Pagination/Pagination.d.ts +16 -13
- package/dist/components/Pagination/Pagination.stories.d.ts +2 -0
- package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +29 -0
- package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +8 -0
- package/dist/components/Radio/Radio.d.ts +2 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +4 -2
- package/dist/components/SearchBar/SearchBar.d.ts +3 -3
- package/dist/components/Select/Select.d.ts +2 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +18 -14
- package/dist/components/Slider/Slider.d.ts +57 -0
- package/dist/components/StyleGuide/ColorCard.d.ts +12 -0
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components/TextInput/TextInput.d.ts +12 -0
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +6 -8
- package/dist/components/VideoPlayer/VideoPlayerTypes.d.ts +2 -2
- package/dist/design-system-react-components.cjs.development.js +6131 -3715
- package/dist/design-system-react-components.cjs.development.js.map +1 -1
- package/dist/design-system-react-components.cjs.production.min.js +1 -1
- package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
- package/dist/design-system-react-components.esm.js +6124 -3699
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/hooks/tests/useCarouselStyles.test.d.ts +1 -0
- package/dist/hooks/useCarouselStyles.d.ts +16 -0
- package/dist/hooks/useNYPLTheme.d.ts +54 -0
- package/dist/hooks/useWindowSize.d.ts +10 -0
- package/dist/index.d.ts +13 -8
- package/dist/resources.scss +180 -170
- package/dist/styles.css +1 -1
- package/dist/theme/components/button.d.ts +22 -8
- package/dist/theme/components/card.d.ts +168 -0
- package/dist/theme/components/checkbox.d.ts +5 -1
- package/dist/theme/components/checkboxGroup.d.ts +12 -0
- package/dist/theme/components/componentWrapper.d.ts +11 -0
- package/dist/theme/components/datePicker.d.ts +16 -0
- package/dist/theme/components/fieldset.d.ts +27 -0
- package/dist/theme/components/global.d.ts +23 -13
- package/dist/theme/components/globalMixins.d.ts +9 -1
- package/dist/theme/components/heading.d.ts +5 -0
- package/dist/theme/components/helperErrorText.d.ts +10 -0
- package/dist/theme/components/hero.d.ts +1 -0
- package/dist/theme/components/horizontalRule.d.ts +14 -0
- package/dist/theme/components/image.d.ts +31 -0
- package/dist/theme/components/label.d.ts +5 -3
- package/dist/theme/components/link.d.ts +4 -0
- package/dist/theme/components/list.d.ts +89 -0
- package/dist/theme/components/notification.d.ts +75 -0
- package/dist/theme/components/pagination.d.ts +19 -0
- package/dist/theme/components/progressIndicator.d.ts +50 -0
- package/dist/theme/components/radioGroup.d.ts +12 -0
- package/dist/theme/components/select.d.ts +11 -2
- package/dist/theme/components/skeletonLoader.d.ts +98 -0
- package/dist/theme/components/slider.d.ts +51 -0
- package/dist/theme/components/tabs.d.ts +54 -3
- package/dist/theme/components/textInput.d.ts +8 -1
- package/dist/theme/components/videoPlayer.d.ts +40 -0
- package/dist/theme/foundations/breakpoints.d.ts +8 -8
- package/dist/theme/foundations/global.d.ts +6 -1
- package/dist/theme/foundations/radii.d.ts +5 -0
- package/dist/theme/foundations/spacing.d.ts +16 -16
- package/package.json +72 -83
- package/src/__tests__/setup.ts +2 -2
- package/src/components/Accordion/Accordion.stories.mdx +39 -44
- package/src/components/Autosuggest/Autosuggest.stories.mdx +3 -3
- package/src/components/Autosuggest/Autosuggest.stories.tsx +2 -1
- package/src/components/Autosuggest/_Autosuggest.scss +5 -5
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +14 -10
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +23 -0
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +5 -1
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +199 -1
- package/src/components/Button/Button.stories.mdx +15 -10
- package/src/components/Button/Button.test.tsx +21 -7
- package/src/components/Button/Button.tsx +22 -34
- package/src/components/Button/ButtonTypes.tsx +1 -0
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +41 -10
- package/src/components/Card/Card.stories.mdx +296 -259
- package/src/components/Card/Card.test.tsx +156 -84
- package/src/components/Card/Card.tsx +195 -145
- package/src/components/Card/CardTypes.tsx +0 -17
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +410 -0
- package/src/components/CardEdition/CardEdition.stories.tsx +15 -47
- package/src/components/CardEdition/_CardEdition.scss +22 -23
- package/src/components/Chakra/Box.stories.mdx +15 -16
- package/src/components/Chakra/Center.stories.mdx +31 -16
- package/src/components/Chakra/Grid.stories.mdx +28 -15
- package/src/components/Chakra/Stack.stories.mdx +35 -18
- package/src/components/Checkbox/Checkbox.stories.mdx +33 -11
- package/src/components/Checkbox/Checkbox.test.tsx +47 -2
- package/src/components/Checkbox/Checkbox.tsx +39 -33
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +90 -2
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +82 -2
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +29 -2
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +22 -18
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +47 -81
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +63 -0
- package/src/components/DatePicker/DatePicker.stories.mdx +163 -62
- package/src/components/DatePicker/DatePicker.test.tsx +264 -64
- package/src/components/DatePicker/DatePicker.tsx +159 -128
- package/src/components/DatePicker/_DatePicker.scss +33 -67
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +818 -0
- package/src/components/Fieldset/Fieldset.stories.mdx +55 -0
- package/src/components/Fieldset/Fieldset.test.tsx +125 -0
- package/src/components/Fieldset/Fieldset.tsx +52 -0
- package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +68 -0
- package/src/components/Form/Form.stories.mdx +24 -6
- package/src/components/Form/Form.test.tsx +1 -1
- package/src/components/Form/Form.tsx +1 -0
- package/src/components/Grid/SimpleGrid.stories.mdx +32 -39
- package/src/components/Grid/SimpleGrid.test.tsx +4 -4
- package/src/components/Heading/Heading.stories.mdx +3 -4
- package/src/components/Heading/Heading.tsx +5 -5
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +124 -0
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +39 -44
- package/src/components/HelperErrorText/HelperErrorText.tsx +37 -39
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +25 -0
- package/src/components/Hero/Hero.stories.mdx +12 -2
- package/src/components/Hero/Hero.tsx +1 -1
- package/src/components/Hero/HeroTypes.tsx +1 -0
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +7 -7
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +8 -6
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +33 -28
- package/src/components/HorizontalRule/HorizontalRule.tsx +27 -29
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +27 -9
- package/src/components/Icons/Icon.stories.mdx +12 -4
- package/src/components/Icons/Icon.test.tsx +18 -0
- package/src/components/Icons/Icon.tsx +16 -1
- package/src/components/Icons/IconSvgs.tsx +22 -0
- package/src/components/Icons/IconTypes.tsx +11 -0
- package/src/components/Image/Image.stories.mdx +220 -0
- package/src/components/Image/Image.test.tsx +131 -29
- package/src/components/Image/Image.tsx +84 -56
- package/src/components/Image/ImageTypes.ts +22 -0
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +190 -0
- package/src/components/Input/Input.stories.tsx +23 -67
- package/src/components/Input/Input.test.tsx +4 -4
- package/src/components/Input/_Input.scss +23 -14
- package/src/components/Link/Link.tsx +4 -1
- package/src/components/List/List.stories.mdx +124 -49
- package/src/components/List/List.test.tsx +142 -63
- package/src/components/List/List.tsx +89 -93
- package/src/components/List/__snapshots__/List.test.tsx.snap +109 -0
- package/src/components/Modal/Modal.stories.mdx +3 -3
- package/src/components/Modal/_Modal.scss +2 -2
- package/src/components/Notification/Notification.stories.mdx +109 -112
- package/src/components/Notification/Notification.test.tsx +99 -110
- package/src/components/Notification/Notification.tsx +156 -159
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +159 -8
- package/src/components/Pagination/Pagination.stories.mdx +26 -27
- package/src/components/Pagination/Pagination.stories.tsx +11 -16
- package/src/components/Pagination/Pagination.test.tsx +276 -146
- package/src/components/Pagination/Pagination.tsx +174 -154
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +285 -0
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +292 -0
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +225 -0
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +126 -0
- package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +8 -0
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +357 -0
- package/src/components/Radio/Radio.test.tsx +20 -4
- package/src/components/Radio/Radio.tsx +6 -3
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +3 -0
- package/src/components/RadioGroup/RadioGroup.stories.mdx +3 -4
- package/src/components/RadioGroup/RadioGroup.test.tsx +24 -1
- package/src/components/RadioGroup/RadioGroup.tsx +19 -19
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +42 -72
- package/src/components/SearchBar/SearchBar.Test.tsx +20 -1
- package/src/components/SearchBar/SearchBar.stories.mdx +113 -8
- package/src/components/SearchBar/SearchBar.tsx +20 -10
- package/src/components/Select/Select.test.tsx +12 -0
- package/src/components/Select/Select.tsx +5 -2
- package/src/components/Select/SelectTypes.tsx +1 -0
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +28 -59
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +97 -177
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +74 -71
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +739 -0
- package/src/components/Slider/Slider.stories.mdx +529 -0
- package/src/components/Slider/Slider.test.tsx +653 -0
- package/src/components/Slider/Slider.tsx +303 -0
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +1946 -0
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +1 -1
- package/src/components/StyleGuide/Breakpoints.stories.mdx +34 -10
- package/src/components/StyleGuide/Buttons.stories.mdx +89 -73
- package/src/components/StyleGuide/ColorCard.tsx +46 -0
- package/src/components/StyleGuide/Colors.stories.mdx +171 -311
- package/src/components/StyleGuide/DesignTokens.stories.mdx +170 -0
- package/src/components/StyleGuide/Forms.stories.mdx +9 -7
- package/src/components/StyleGuide/Iconography.stories.mdx +85 -91
- package/src/components/StyleGuide/Spacing.stories.mdx +31 -23
- package/src/components/StyleGuide/Typography.stories.mdx +202 -189
- package/src/components/StyleGuide/UIDocCard.tsx +1 -1
- package/src/components/Tabs/Tabs.stories.mdx +73 -11
- package/src/components/Tabs/Tabs.tsx +87 -64
- package/src/components/Template/Template.stories.mdx +25 -27
- package/src/components/TextInput/TextInput.stories.mdx +1 -1
- package/src/components/TextInput/TextInput.test.tsx +22 -2
- package/src/components/TextInput/TextInput.tsx +28 -8
- package/src/components/TextInput/TextInputTypes.tsx +2 -0
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +17 -4
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +54 -53
- package/src/components/VideoPlayer/VideoPlayer.tsx +50 -51
- package/src/components/VideoPlayer/VideoPlayerTypes.tsx +2 -2
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +91 -0
- package/src/docs/Chakra.stories.mdx +244 -63
- package/src/docs/Intro.stories.mdx +5 -2
- package/src/hooks/tests/useCarouselStyles.test.ts +140 -0
- package/src/hooks/tests/useNYPLTheme.test.tsx +36 -0
- package/src/hooks/useCarouselStyles.ts +34 -0
- package/src/hooks/useNYPLTheme.ts +67 -0
- package/src/hooks/useWindowSize.ts +40 -0
- package/src/index.ts +22 -19
- package/src/resources.scss +5 -5
- package/src/styles/base/{_02-breakpoints.scss → _01-breakpoints.scss} +9 -10
- package/src/styles/base/{_03-mixins.scss → _02-mixins.scss} +16 -5
- package/src/styles/base/{_04-base.scss → _03-base.scss} +7 -2
- package/src/styles/base/{_05-focus.scss → _04-focus.scss} +0 -15
- package/src/styles/base/_place-holder.scss +14 -3
- package/src/styles/{03-space → space}/_space-inline.scss +14 -14
- package/src/styles/{03-space → space}/_space-inset.scss +10 -10
- package/src/styles/space/_space-stack.scss +116 -0
- package/src/styles.scss +13 -60
- package/src/theme/components/button.ts +21 -15
- package/src/theme/components/card.ts +174 -0
- package/src/theme/components/checkbox.ts +8 -3
- package/src/theme/components/checkboxGroup.ts +8 -0
- package/src/theme/components/componentWrapper.ts +10 -0
- package/src/theme/components/datePicker.ts +17 -0
- package/src/theme/components/fieldset.ts +18 -0
- package/src/theme/components/global.ts +26 -15
- package/src/theme/components/globalMixins.ts +9 -1
- package/src/theme/components/heading.ts +10 -5
- package/src/theme/components/helperErrorText.ts +9 -0
- package/src/theme/components/hero.ts +4 -3
- package/src/theme/components/horizontalRule.ts +13 -0
- package/src/theme/components/icon.ts +9 -9
- package/src/theme/components/image.ts +116 -0
- package/src/theme/components/label.ts +3 -10
- package/src/theme/components/link.ts +5 -1
- package/src/theme/components/list.ts +73 -0
- package/src/theme/components/notification.ts +93 -0
- package/src/theme/components/pagination.ts +20 -0
- package/src/theme/components/progressIndicator.ts +62 -0
- package/src/theme/components/radio.ts +2 -2
- package/src/theme/components/radioGroup.ts +8 -0
- package/src/theme/components/select.ts +6 -3
- package/src/theme/components/skeletonLoader.ts +107 -0
- package/src/theme/components/slider.ts +79 -0
- package/src/theme/components/statusBadge.ts +1 -2
- package/src/theme/components/tabs.ts +49 -19
- package/src/theme/components/template.ts +8 -8
- package/src/theme/components/textInput.ts +5 -4
- package/src/theme/components/videoPlayer.ts +49 -0
- package/src/theme/foundations/breakpoints.ts +8 -8
- package/src/theme/foundations/global.ts +6 -1
- package/src/theme/foundations/radii.ts +6 -0
- package/src/theme/foundations/spacing.ts +24 -24
- package/src/theme/index.ts +41 -10
- package/src/utils/componentCategories.ts +4 -3
- package/dist/components/HelperErrorText/HelperErrorText.stories.d.ts +0 -16
- package/dist/components/Image/Image.stories.d.ts +0 -18
- package/dist/components/List/List.stories.d.ts +0 -7
- package/dist/theme/components/customCheckboxGroup.d.ts +0 -18
- package/dist/theme/components/customRadioGroup.d.ts +0 -18
- package/src/components/Button/_Button.scss +0 -32
- package/src/components/Card/_Card.scss +0 -308
- package/src/components/HelperErrorText/HelperErrorText.stories.tsx +0 -48
- package/src/components/HelperErrorText/_HelperErrorText.scss +0 -9
- package/src/components/HorizontalRule/_HorizontalRule.scss +0 -15
- package/src/components/Image/Image.stories.tsx +0 -54
- package/src/components/Image/_Image.scss +0 -38
- package/src/components/List/List.stories.tsx +0 -139
- package/src/components/List/_List.scss +0 -76
- package/src/components/Notification/_Notification.scss +0 -110
- package/src/components/Pagination/_Pagination.scss +0 -40
- package/src/components/SkeletonLoader/_SkeletonLoader.scss +0 -142
- package/src/components/VideoPlayer/_VideoPlayer.scss +0 -38
- package/src/styles/01-colors/_colors-brand.scss +0 -62
- package/src/styles/01-colors/_colors-utility.scss +0 -67
- package/src/styles/02-typography/_type-scale.css +0 -11
- package/src/styles/02-typography/_type-weight.css +0 -7
- package/src/styles/02-typography/_typefaces.css +0 -4
- package/src/styles/03-space/_space-stack.scss +0 -116
- package/src/styles/03-space/_space.css +0 -30
- package/src/styles/base/_card-grid.scss +0 -78
- package/src/styles/base/_typography.scss +0 -11
- package/src/theme/components/customCheckboxGroup.ts +0 -12
- package/src/theme/components/customRadioGroup.ts +0 -12
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Meta,
|
|
3
|
+
Story,
|
|
4
|
+
Canvas,
|
|
5
|
+
ArgsTable,
|
|
6
|
+
Description,
|
|
7
|
+
} from "@storybook/addon-docs/blocks";
|
|
8
|
+
import { withDesign } from "storybook-addon-designs";
|
|
9
|
+
|
|
10
|
+
import HelperErrorText from "./HelperErrorText";
|
|
11
|
+
import { getCategory } from "../../utils/componentCategories";
|
|
12
|
+
import DSProvider from "../../theme/provider";
|
|
13
|
+
|
|
14
|
+
<Meta
|
|
15
|
+
title={getCategory("HelperErrorText")}
|
|
16
|
+
component={HelperErrorText}
|
|
17
|
+
decorators={[withDesign]}
|
|
18
|
+
parameters={{
|
|
19
|
+
design: {
|
|
20
|
+
type: "figma",
|
|
21
|
+
url: "",
|
|
22
|
+
},
|
|
23
|
+
jest: ["HelperErrorText.test.tsx"],
|
|
24
|
+
}}
|
|
25
|
+
argTypes={{
|
|
26
|
+
ariaAtomic: { table: { disable: true } },
|
|
27
|
+
children: { table: { disable: true } },
|
|
28
|
+
className: { table: { disable: true } },
|
|
29
|
+
id: { table: { disable: true } },
|
|
30
|
+
}}
|
|
31
|
+
/>
|
|
32
|
+
|
|
33
|
+
# HelperErrorText
|
|
34
|
+
|
|
35
|
+
| Component Version | DS Version |
|
|
36
|
+
| ----------------- | ---------- |
|
|
37
|
+
| Added | `0.0.10` |
|
|
38
|
+
| Latest | `0.25.3` |
|
|
39
|
+
|
|
40
|
+
<Description of={HelperErrorText} />
|
|
41
|
+
|
|
42
|
+
<Canvas withToolbar>
|
|
43
|
+
<Story
|
|
44
|
+
name="Basic with Props"
|
|
45
|
+
args={{
|
|
46
|
+
ariaLive: "polite",
|
|
47
|
+
isInvalid: false,
|
|
48
|
+
}}
|
|
49
|
+
>
|
|
50
|
+
{(args) => (
|
|
51
|
+
<HelperErrorText {...args}>
|
|
52
|
+
{args.isInvalid
|
|
53
|
+
? "This is the error text :("
|
|
54
|
+
: "This is the helper text!"}
|
|
55
|
+
</HelperErrorText>
|
|
56
|
+
)}
|
|
57
|
+
</Story>
|
|
58
|
+
</Canvas>
|
|
59
|
+
|
|
60
|
+
<ArgsTable story="Basic with Props" />
|
|
61
|
+
|
|
62
|
+
## With HTML Children
|
|
63
|
+
|
|
64
|
+
The `HelperErrorText` component can take any React component or HTML element as
|
|
65
|
+
its children.
|
|
66
|
+
|
|
67
|
+
<Canvas>
|
|
68
|
+
<Story name="With HTML Children">
|
|
69
|
+
<HelperErrorText>
|
|
70
|
+
If you're unsure of your size, please view the{" "}
|
|
71
|
+
<a href="#sizing-chart">Sizing Chart</a>.
|
|
72
|
+
</HelperErrorText>
|
|
73
|
+
</Story>
|
|
74
|
+
</Canvas>
|
|
75
|
+
|
|
76
|
+
## Invalid State
|
|
77
|
+
|
|
78
|
+
Set the `isInvalid` prop to `true` to render the passed text in the
|
|
79
|
+
NYPL "invalid" styling.
|
|
80
|
+
|
|
81
|
+
<Canvas>
|
|
82
|
+
<Story name="Invalid State">
|
|
83
|
+
<HelperErrorText isInvalid>This is the error text :(</HelperErrorText>
|
|
84
|
+
</Story>
|
|
85
|
+
</Canvas>
|
|
86
|
+
|
|
87
|
+
## With Aria Props
|
|
88
|
+
|
|
89
|
+
In the "invalid" state when `isInvalid` is set to true, the rendered text can be
|
|
90
|
+
presented to screen readers if `ariaAtomic` and `ariaLive` are set appropriately.
|
|
91
|
+
|
|
92
|
+
### ariaAtomic
|
|
93
|
+
|
|
94
|
+
The `ariaAtomic` prop sets the `aria-atomic` attribute; `true` by default. This
|
|
95
|
+
allows the entire DOM element to be presented to assistive technologies. When it
|
|
96
|
+
is set to `false`, only additionals or removals will be read by assistive
|
|
97
|
+
technologies.
|
|
98
|
+
|
|
99
|
+
### ariaLive
|
|
100
|
+
|
|
101
|
+
The `ariaLive` prop sets the `aria-live` attribute; `polite` by default in the
|
|
102
|
+
"invalid" state and `off` otherwise. This sets the priority of when the text in
|
|
103
|
+
this component should be read to users by assistive technologies. The `off` value
|
|
104
|
+
indicates that the content should not be presented, `polite` that it will be
|
|
105
|
+
announced at the next available time slot, and `assertive` that it should be
|
|
106
|
+
announced immediately.
|
|
107
|
+
|
|
108
|
+
<Canvas>
|
|
109
|
+
<Story
|
|
110
|
+
name="With Aria Props"
|
|
111
|
+
args={{
|
|
112
|
+
ariaAtomic: true,
|
|
113
|
+
ariaLive: "polite",
|
|
114
|
+
isInvalid: true,
|
|
115
|
+
}}
|
|
116
|
+
>
|
|
117
|
+
{(args) => (
|
|
118
|
+
<HelperErrorText {...args}>
|
|
119
|
+
Only invalid text can be read to screen readers with the appropriate
|
|
120
|
+
aria-atomic and aria-live props.
|
|
121
|
+
</HelperErrorText>
|
|
122
|
+
)}
|
|
123
|
+
</Story>
|
|
124
|
+
</Canvas>
|
|
@@ -1,77 +1,72 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { render, screen } from "@testing-library/react";
|
|
3
3
|
import { axe } from "jest-axe";
|
|
4
|
+
import renderer from "react-test-renderer";
|
|
4
5
|
|
|
5
6
|
import HelperErrorText from "./HelperErrorText";
|
|
6
7
|
|
|
7
8
|
describe("HelperErrorText Accessibility", () => {
|
|
8
9
|
it("passes axe accessibility test", async () => {
|
|
9
|
-
const { container } = render(
|
|
10
|
-
<HelperErrorText id="helperTextWithLink" isError={false}>
|
|
11
|
-
Text
|
|
12
|
-
</HelperErrorText>
|
|
13
|
-
);
|
|
10
|
+
const { container } = render(<HelperErrorText>Text</HelperErrorText>);
|
|
14
11
|
expect(await axe(container)).toHaveNoViolations();
|
|
15
12
|
});
|
|
16
13
|
});
|
|
17
14
|
|
|
18
15
|
describe("HelperErrorText", () => {
|
|
19
|
-
it("
|
|
20
|
-
render(
|
|
21
|
-
<HelperErrorText id="helperTextWithLink" isError={false}>
|
|
22
|
-
Text
|
|
23
|
-
</HelperErrorText>
|
|
24
|
-
);
|
|
16
|
+
it("renders the text passed", () => {
|
|
17
|
+
render(<HelperErrorText>Text</HelperErrorText>);
|
|
25
18
|
expect(screen.getByText("Text")).toBeInTheDocument();
|
|
26
|
-
expect(screen.getByText("Text")).toHaveAttribute("class", "helper-text");
|
|
27
19
|
});
|
|
28
20
|
|
|
29
|
-
it("
|
|
30
|
-
render(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
);
|
|
21
|
+
it("renders the invalid state", () => {
|
|
22
|
+
const utils = render(<HelperErrorText>Text</HelperErrorText>);
|
|
23
|
+
|
|
24
|
+
// False by default. Note, this is a custom `data-*` attribute only used
|
|
25
|
+
// for testing the invalid state.
|
|
26
|
+
expect(screen.getByText("Text")).toHaveAttribute("data-isinvalid", "false");
|
|
27
|
+
|
|
28
|
+
utils.rerender(<HelperErrorText isInvalid>Text</HelperErrorText>);
|
|
29
|
+
expect(screen.getByText("Text")).toHaveAttribute("data-isinvalid", "true");
|
|
39
30
|
});
|
|
40
31
|
|
|
41
|
-
it("
|
|
42
|
-
render(
|
|
43
|
-
<HelperErrorText id="helperTextWithLink" isError={true}>
|
|
44
|
-
Text
|
|
45
|
-
</HelperErrorText>
|
|
46
|
-
);
|
|
32
|
+
it("has aria-live and aria-atomic attributes when errored", () => {
|
|
33
|
+
render(<HelperErrorText isInvalid>Text</HelperErrorText>);
|
|
47
34
|
expect(screen.getByText("Text")).toHaveAttribute("aria-live", "polite");
|
|
48
35
|
expect(screen.getByText("Text")).toHaveAttribute("aria-atomic");
|
|
49
36
|
});
|
|
50
37
|
|
|
51
|
-
it("
|
|
38
|
+
it("accepts an aria-atomic value of false", () => {
|
|
52
39
|
const utils = render(
|
|
53
|
-
<HelperErrorText
|
|
54
|
-
Text
|
|
55
|
-
</HelperErrorText>
|
|
40
|
+
<HelperErrorText isInvalid>Static Text</HelperErrorText>
|
|
56
41
|
);
|
|
57
42
|
// The default is "true".
|
|
58
|
-
expect(screen.getByText("Text")).toHaveAttribute("aria-atomic");
|
|
43
|
+
expect(screen.getByText("Static Text")).toHaveAttribute("aria-atomic");
|
|
59
44
|
|
|
60
45
|
utils.rerender(
|
|
61
|
-
<HelperErrorText
|
|
62
|
-
|
|
63
|
-
isError={true}
|
|
64
|
-
ariaAtomic={false}
|
|
65
|
-
>
|
|
66
|
-
<p>
|
|
67
|
-
This is static <span>but this part changes often!</span>
|
|
68
|
-
</p>
|
|
46
|
+
<HelperErrorText ariaAtomic={false} isInvalid>
|
|
47
|
+
Static Text
|
|
69
48
|
</HelperErrorText>
|
|
70
49
|
);
|
|
71
50
|
// But the prop accepts false in case only part of the helper text
|
|
72
51
|
// should only be read instead of the whole region.
|
|
73
|
-
expect(
|
|
74
|
-
|
|
75
|
-
|
|
52
|
+
expect(screen.getByText("Static Text")).toHaveAttribute(
|
|
53
|
+
"aria-atomic",
|
|
54
|
+
"false"
|
|
55
|
+
);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
it("Renders the UI snapshot correctly", () => {
|
|
59
|
+
const basic = renderer
|
|
60
|
+
.create(<HelperErrorText id="basic">Text</HelperErrorText>)
|
|
61
|
+
.toJSON();
|
|
62
|
+
const invalid = renderer
|
|
63
|
+
.create(
|
|
64
|
+
<HelperErrorText id="invalid" isInvalid>
|
|
65
|
+
Text
|
|
66
|
+
</HelperErrorText>
|
|
67
|
+
)
|
|
68
|
+
.toJSON();
|
|
69
|
+
expect(basic).toMatchSnapshot();
|
|
70
|
+
expect(invalid).toMatchSnapshot();
|
|
76
71
|
});
|
|
77
72
|
});
|
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { Box, useStyleConfig } from "@chakra-ui/react";
|
|
3
|
+
|
|
4
|
+
import generateUUID from "../../helpers/generateUUID";
|
|
5
|
+
|
|
6
|
+
export type AriaLiveValues = "assertive" | "off" | "polite";
|
|
3
7
|
|
|
4
8
|
interface HelperErrorTextProps {
|
|
5
|
-
/**
|
|
6
|
-
|
|
7
|
-
/**
|
|
9
|
+
/** Optionally pass in additional Chakra-based styles. */
|
|
10
|
+
additionalStyles?: { [key: string]: any };
|
|
11
|
+
/** Aria attribute. When true, assistive technologies will
|
|
12
|
+
* read the entire DOM element. When false, only changes (additionals or
|
|
13
|
+
* removals) will be read. True by default. */
|
|
8
14
|
ariaAtomic?: boolean;
|
|
9
|
-
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
/** Aria attribute only used in the invalid state to read error text. This
|
|
16
|
+
* indicates the priority of the text and when it should be presented to users
|
|
17
|
+
* using screen readers; "off" indicates that the content should not be presented,
|
|
18
|
+
* "polite" that it will be announced at the next available time slot, and
|
|
19
|
+
* "assertive" that it should be announced immediately. "polite" by default. */
|
|
20
|
+
ariaLive?: AriaLiveValues;
|
|
21
|
+
/** Additional className to add. */
|
|
13
22
|
className?: string;
|
|
14
|
-
/**
|
|
15
|
-
blockName?: string;
|
|
16
|
-
/** unique ID for helper */
|
|
23
|
+
/** Unique ID for accessibility purposes. */
|
|
17
24
|
id?: string;
|
|
18
|
-
/** Toggles between helper and
|
|
19
|
-
|
|
20
|
-
/** Modifiers array for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
|
|
21
|
-
modifiers?: string[];
|
|
25
|
+
/** Toggles between helper and invalid styling. */
|
|
26
|
+
isInvalid?: boolean;
|
|
22
27
|
}
|
|
23
28
|
|
|
24
29
|
/**
|
|
@@ -28,36 +33,29 @@ export default function HelperErrorText(
|
|
|
28
33
|
props: React.PropsWithChildren<HelperErrorTextProps>
|
|
29
34
|
) {
|
|
30
35
|
const {
|
|
31
|
-
|
|
32
|
-
id,
|
|
33
|
-
blockName,
|
|
34
|
-
isError,
|
|
35
|
-
ariaLive = "polite",
|
|
36
|
+
additionalStyles = {},
|
|
36
37
|
ariaAtomic = true,
|
|
38
|
+
ariaLive = "polite",
|
|
39
|
+
children,
|
|
40
|
+
className = "",
|
|
41
|
+
id = generateUUID(),
|
|
42
|
+
isInvalid = false,
|
|
37
43
|
} = props;
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if (isError) {
|
|
44
|
-
modifiers.push("error");
|
|
45
|
-
announceAriaLive = true;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (props.modifiers) {
|
|
49
|
-
modifiers.push(...props.modifiers);
|
|
50
|
-
}
|
|
44
|
+
// Only announce the text in the invalid state.
|
|
45
|
+
const announceAriaLive = isInvalid;
|
|
46
|
+
const styles = useStyleConfig("HelperErrorText", { isInvalid });
|
|
47
|
+
const finalStyles = { ...styles, ...additionalStyles };
|
|
51
48
|
|
|
52
49
|
return (
|
|
53
|
-
<
|
|
50
|
+
<Box
|
|
54
51
|
id={id}
|
|
55
|
-
className={
|
|
56
|
-
aria-live={announceAriaLive ? ariaLive : "off"}
|
|
52
|
+
className={className}
|
|
57
53
|
aria-atomic={ariaAtomic}
|
|
58
|
-
{
|
|
54
|
+
data-isinvalid={isInvalid}
|
|
55
|
+
aria-live={announceAriaLive ? ariaLive : "off"}
|
|
56
|
+
__css={finalStyles}
|
|
59
57
|
>
|
|
60
|
-
{
|
|
61
|
-
</
|
|
58
|
+
{children}
|
|
59
|
+
</Box>
|
|
62
60
|
);
|
|
63
61
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`HelperErrorText Renders the UI snapshot correctly 1`] = `
|
|
4
|
+
<div
|
|
5
|
+
aria-atomic={true}
|
|
6
|
+
aria-live="off"
|
|
7
|
+
className=" css-0"
|
|
8
|
+
data-isinvalid={false}
|
|
9
|
+
id="basic"
|
|
10
|
+
>
|
|
11
|
+
Text
|
|
12
|
+
</div>
|
|
13
|
+
`;
|
|
14
|
+
|
|
15
|
+
exports[`HelperErrorText Renders the UI snapshot correctly 2`] = `
|
|
16
|
+
<div
|
|
17
|
+
aria-atomic={true}
|
|
18
|
+
aria-live="polite"
|
|
19
|
+
className=" css-0"
|
|
20
|
+
data-isinvalid={true}
|
|
21
|
+
id="invalid"
|
|
22
|
+
>
|
|
23
|
+
Text
|
|
24
|
+
</div>
|
|
25
|
+
`;
|
|
@@ -57,7 +57,7 @@ export const image = (
|
|
|
57
57
|
| Component Version | DS Version |
|
|
58
58
|
| ----------------- | ---------- |
|
|
59
59
|
| Added | `0.2.0` |
|
|
60
|
-
| Latest | `0.25.
|
|
60
|
+
| Latest | `0.25.2` |
|
|
61
61
|
|
|
62
62
|
<Description of={Hero} />
|
|
63
63
|
|
|
@@ -277,11 +277,21 @@ parent wrapper's CSS class name for background color updates. Now, the proper
|
|
|
277
277
|
<Heading
|
|
278
278
|
level={HeadingLevels.One}
|
|
279
279
|
id="tertiary-hero"
|
|
280
|
-
text="Hero Tertiary"
|
|
280
|
+
text="Hero Tertiary with Sub-Header"
|
|
281
281
|
/>
|
|
282
282
|
}
|
|
283
283
|
subHeaderText={otherSubHeaderText}
|
|
284
284
|
/>
|
|
285
|
+
<Hero
|
|
286
|
+
heroType={HeroTypes.Tertiary}
|
|
287
|
+
heading={
|
|
288
|
+
<Heading
|
|
289
|
+
level={HeadingLevels.One}
|
|
290
|
+
id="tertiary-hero"
|
|
291
|
+
text="Hero Tertiary without Sub-Header"
|
|
292
|
+
/>
|
|
293
|
+
}
|
|
294
|
+
/>
|
|
285
295
|
<Heading
|
|
286
296
|
level={HeadingLevels.Two}
|
|
287
297
|
text="Campaign"
|
|
@@ -61,7 +61,7 @@ export default function Hero(props: React.PropsWithChildren<HeroProps>) {
|
|
|
61
61
|
const headingStyles = styles.heading;
|
|
62
62
|
// We want to add `Hero`-specific styling to the `Heading` component.
|
|
63
63
|
const finalHeading =
|
|
64
|
-
heading && React.cloneElement(heading, {
|
|
64
|
+
heading && React.cloneElement(heading, { additionalStyles: headingStyles });
|
|
65
65
|
let backgroundImageStyle = {};
|
|
66
66
|
let contentBoxStyling = {};
|
|
67
67
|
|
|
@@ -50,7 +50,7 @@ exports[`Hero Renders the UI snapshot correctly 2`] = `
|
|
|
50
50
|
>
|
|
51
51
|
<img
|
|
52
52
|
alt="Image example"
|
|
53
|
-
className="
|
|
53
|
+
className="css-0"
|
|
54
54
|
src="https://placeimg.com/800/400/animals"
|
|
55
55
|
/>
|
|
56
56
|
<h1
|
|
@@ -82,7 +82,7 @@ exports[`Hero Renders the UI snapshot correctly 3`] = `
|
|
|
82
82
|
>
|
|
83
83
|
<img
|
|
84
84
|
alt="Image example"
|
|
85
|
-
className="
|
|
85
|
+
className="css-0"
|
|
86
86
|
src="https://placeimg.com/800/400/animals"
|
|
87
87
|
/>
|
|
88
88
|
<h1
|
|
@@ -114,7 +114,7 @@ exports[`Hero Renders the UI snapshot correctly 4`] = `
|
|
|
114
114
|
>
|
|
115
115
|
<img
|
|
116
116
|
alt="Image example"
|
|
117
|
-
className="
|
|
117
|
+
className="css-0"
|
|
118
118
|
src="https://placeimg.com/800/400/animals"
|
|
119
119
|
/>
|
|
120
120
|
<h1
|
|
@@ -146,7 +146,7 @@ exports[`Hero Renders the UI snapshot correctly 5`] = `
|
|
|
146
146
|
>
|
|
147
147
|
<img
|
|
148
148
|
alt="Image example"
|
|
149
|
-
className="
|
|
149
|
+
className="css-0"
|
|
150
150
|
src="https://placeimg.com/800/400/animals"
|
|
151
151
|
/>
|
|
152
152
|
<h1
|
|
@@ -178,7 +178,7 @@ exports[`Hero Renders the UI snapshot correctly 6`] = `
|
|
|
178
178
|
>
|
|
179
179
|
<img
|
|
180
180
|
alt="Image example"
|
|
181
|
-
className="
|
|
181
|
+
className="css-0"
|
|
182
182
|
src="https://placeimg.com/800/400/animals"
|
|
183
183
|
/>
|
|
184
184
|
<h1
|
|
@@ -253,7 +253,7 @@ exports[`Hero Renders the UI snapshot correctly 8`] = `
|
|
|
253
253
|
>
|
|
254
254
|
<img
|
|
255
255
|
alt="Image example"
|
|
256
|
-
className="
|
|
256
|
+
className="css-0"
|
|
257
257
|
src="https://placeimg.com/800/400/animals"
|
|
258
258
|
/>
|
|
259
259
|
<div
|
|
@@ -294,7 +294,7 @@ exports[`Hero Renders the UI snapshot correctly 9`] = `
|
|
|
294
294
|
>
|
|
295
295
|
<img
|
|
296
296
|
alt="Image example"
|
|
297
|
-
className="
|
|
297
|
+
className="css-0"
|
|
298
298
|
src="https://placeimg.com/800/400/animals"
|
|
299
299
|
/>
|
|
300
300
|
<div
|
|
@@ -3,7 +3,6 @@ import {
|
|
|
3
3
|
Story,
|
|
4
4
|
Canvas,
|
|
5
5
|
ArgsTable,
|
|
6
|
-
Preview,
|
|
7
6
|
Description,
|
|
8
7
|
} from "@storybook/addon-docs/blocks";
|
|
9
8
|
import { withDesign } from "storybook-addon-designs";
|
|
@@ -25,8 +24,7 @@ import { getCategory } from "../../utils/componentCategories";
|
|
|
25
24
|
jest: ["HorizontalRule.test.tsx"],
|
|
26
25
|
}}
|
|
27
26
|
argTypes={{
|
|
28
|
-
|
|
29
|
-
modifiers: { table: { disable: true } },
|
|
27
|
+
className: { table: { disable: true } },
|
|
30
28
|
}}
|
|
31
29
|
/>
|
|
32
30
|
|
|
@@ -35,13 +33,17 @@ import { getCategory } from "../../utils/componentCategories";
|
|
|
35
33
|
| Component Version | DS Version |
|
|
36
34
|
| ----------------- | ---------- |
|
|
37
35
|
| Added | `0.23.0` |
|
|
36
|
+
| Latest | `0.25.3` |
|
|
38
37
|
|
|
39
38
|
<Description of={HorizontalRule} />
|
|
40
39
|
|
|
41
|
-
The `HorizontalRule` component renders a basic `<hr>` element. The `height`,
|
|
40
|
+
The `HorizontalRule` component renders a basic `<hr>` element. The `height`,
|
|
41
|
+
`width`, and `align` props can be customized. For the `height` prop, use a whole
|
|
42
|
+
number, a `px` value, a `em` value, or a `rem` value. Otherwise, the default
|
|
43
|
+
value of "2px" will be used.
|
|
42
44
|
|
|
43
|
-
<
|
|
45
|
+
<Canvas withToolbar>
|
|
44
46
|
<Story name="HorizontalRule">{(args) => <HorizontalRule {...args} />}</Story>
|
|
45
|
-
</
|
|
47
|
+
</Canvas>
|
|
46
48
|
|
|
47
49
|
<ArgsTable story="HorizontalRule" />
|
|
@@ -13,45 +13,50 @@ describe("HorizontalRule Accessibility", () => {
|
|
|
13
13
|
});
|
|
14
14
|
|
|
15
15
|
describe("HorizontalRule", () => {
|
|
16
|
-
it("
|
|
17
|
-
const tree = renderer.create(<HorizontalRule />).toJSON();
|
|
18
|
-
expect(tree).toMatchSnapshot();
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it("Renders HorizontalRule component", () => {
|
|
16
|
+
it("renders HorizontalRule component", () => {
|
|
22
17
|
render(<HorizontalRule />);
|
|
23
18
|
expect(screen.getByRole("separator")).toBeInTheDocument();
|
|
24
19
|
});
|
|
25
20
|
|
|
26
|
-
it("
|
|
21
|
+
it("renders with proper custom class", () => {
|
|
27
22
|
render(<HorizontalRule className="custom-hr" />);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"horizontal-rule custom-hr"
|
|
31
|
-
);
|
|
23
|
+
const hrClass = screen.getByRole("separator").getAttribute("class");
|
|
24
|
+
expect(hrClass).toContain("custom-hr");
|
|
32
25
|
});
|
|
33
26
|
|
|
34
|
-
it("
|
|
35
|
-
|
|
36
|
-
|
|
27
|
+
it("renders with proper custom class", () => {
|
|
28
|
+
const warn = jest.spyOn(console, "warn");
|
|
29
|
+
const { rerender } = render(
|
|
30
|
+
<HorizontalRule className="custom-hr" height="20px" />
|
|
31
|
+
);
|
|
32
|
+
expect(warn).not.toHaveBeenCalledWith(
|
|
33
|
+
"`HorizontalRule`: For the `height` prop, use a whole number, a `px` " +
|
|
34
|
+
"value, a `em` value, or a `rem` value. Using the default of 2px."
|
|
37
35
|
);
|
|
38
36
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
37
|
+
rerender(<HorizontalRule className="custom-hr" height="20%" />);
|
|
38
|
+
expect(warn).toHaveBeenCalledWith(
|
|
39
|
+
"`HorizontalRule`: For the `height` prop, use a whole number, a `px` " +
|
|
40
|
+
"value, a `em` value, or a `rem` value. Using the default of 2px."
|
|
42
41
|
);
|
|
43
42
|
});
|
|
44
43
|
|
|
45
|
-
it("
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
44
|
+
it("renders the UI snapshot correctly", () => {
|
|
45
|
+
const basic = renderer.create(<HorizontalRule />).toJSON();
|
|
46
|
+
const updatedHeight = renderer
|
|
47
|
+
.create(<HorizontalRule height="5rem" />)
|
|
48
|
+
.toJSON();
|
|
49
|
+
const updatedWidth = renderer
|
|
50
|
+
.create(<HorizontalRule width="720px" />)
|
|
51
|
+
.toJSON();
|
|
52
|
+
const alignLeft = renderer.create(<HorizontalRule align="left" />).toJSON();
|
|
53
|
+
const alignRight = renderer
|
|
54
|
+
.create(<HorizontalRule align="right" />)
|
|
55
|
+
.toJSON();
|
|
56
|
+
expect(basic).toMatchSnapshot();
|
|
57
|
+
expect(updatedHeight).toMatchSnapshot();
|
|
58
|
+
expect(updatedWidth).toMatchSnapshot();
|
|
59
|
+
expect(alignLeft).toMatchSnapshot();
|
|
60
|
+
expect(alignRight).toMatchSnapshot();
|
|
56
61
|
});
|
|
57
62
|
});
|