@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
|
@@ -8,11 +8,7 @@ import {
|
|
|
8
8
|
} from "@storybook/addon-docs/blocks";
|
|
9
9
|
import { withDesign } from "storybook-addon-designs";
|
|
10
10
|
|
|
11
|
-
import Notification
|
|
12
|
-
NotificationContent,
|
|
13
|
-
NotificationHeading,
|
|
14
|
-
NotificationProps,
|
|
15
|
-
} from "./Notification";
|
|
11
|
+
import Notification from "./Notification";
|
|
16
12
|
import { NotificationTypes } from "./NotificationTypes";
|
|
17
13
|
import Icon from "../Icons/Icon";
|
|
18
14
|
import {
|
|
@@ -43,12 +39,16 @@ import DSProvider from "../../theme/provider";
|
|
|
43
39
|
| Component Version | DS Version |
|
|
44
40
|
| ----------------- | ---------- |
|
|
45
41
|
| Added | `0.23.2` |
|
|
42
|
+
| Latest | `0.25.4` |
|
|
46
43
|
|
|
47
44
|
<Description of={Notification} />
|
|
48
45
|
|
|
49
|
-
The `Notification` component is a configurable callout that should be used to
|
|
46
|
+
The `Notification` component is a configurable callout that should be used to
|
|
47
|
+
display important messages.
|
|
50
48
|
|
|
51
|
-
In the preview below, the border around the `Notification` is not part of the
|
|
49
|
+
In the preview below, the border around the `Notification` is not part of the
|
|
50
|
+
component. It has been added to help illustrate how the `Notification` sits
|
|
51
|
+
within a parent element.
|
|
52
52
|
|
|
53
53
|
<Canvas>
|
|
54
54
|
<Story
|
|
@@ -56,25 +56,22 @@ In the preview below, the border around the `Notification` is not part of the co
|
|
|
56
56
|
args={{
|
|
57
57
|
id: "basic-notification",
|
|
58
58
|
centered: true,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
notificationHeading: "Notification Heading",
|
|
60
|
+
notificationContent: (
|
|
61
|
+
<>
|
|
62
|
+
Cras mattis consectetur purus sit amet fermentum. Maecenas faucibus
|
|
63
|
+
mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibulum
|
|
64
|
+
at eros. Cum sociis natoque penatibus et magnis dis parturient montes,
|
|
65
|
+
nascetur ridiculus mus. Vivamus sagittis lacus vel augue laoreet
|
|
66
|
+
rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus,
|
|
67
|
+
nisi erat porttitor ligula.
|
|
68
|
+
</>
|
|
69
|
+
),
|
|
63
70
|
}}
|
|
64
71
|
>
|
|
65
72
|
{(args) => (
|
|
66
73
|
<div style={{ border: "1px solid #ccc" }}>
|
|
67
|
-
<Notification {...args}
|
|
68
|
-
<NotificationHeading>Notification Heading</NotificationHeading>
|
|
69
|
-
<NotificationContent>
|
|
70
|
-
Cras mattis consectetur purus sit amet fermentum. Maecenas faucibus
|
|
71
|
-
mollis interdum. Morbi leo risus, porta ac consectetur ac,
|
|
72
|
-
vestibulum at eros. Cum sociis natoque penatibus et magnis dis
|
|
73
|
-
parturient montes, nascetur ridiculus mus. Vivamus sagittis lacus
|
|
74
|
-
vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non
|
|
75
|
-
commodo luctus, nisi erat porttitor ligula.
|
|
76
|
-
</NotificationContent>
|
|
77
|
-
</Notification>
|
|
74
|
+
<Notification {...args} />
|
|
78
75
|
</div>
|
|
79
76
|
)}
|
|
80
77
|
</Story>
|
|
@@ -88,48 +85,57 @@ In the preview below, the border around the `Notification` is not part of the co
|
|
|
88
85
|
|
|
89
86
|
<Canvas>
|
|
90
87
|
<DSProvider>
|
|
91
|
-
<Notification
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
88
|
+
<Notification
|
|
89
|
+
notificationHeading="Standard Notification"
|
|
90
|
+
notificationContent={
|
|
91
|
+
<>
|
|
92
|
+
This is a "standard" Notification with a heading. Cras mattis
|
|
93
|
+
consectetur purus sit amet fermentum. Maecenas faucibus mollis
|
|
94
|
+
interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at
|
|
95
|
+
eros. Cum sociis natoque penatibus et magnis dis parturient montes,
|
|
96
|
+
nascetur ridiculus mus. Vivamus sagittis lacus vel augue laoreet
|
|
97
|
+
rutrum faucibus dolor auctor.
|
|
98
|
+
</>
|
|
99
|
+
}
|
|
100
|
+
/>
|
|
102
101
|
</DSProvider>
|
|
103
102
|
</Canvas>
|
|
104
103
|
|
|
105
104
|
<Canvas>
|
|
106
105
|
<DSProvider>
|
|
107
|
-
<Notification
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
106
|
+
<Notification
|
|
107
|
+
notificationType={NotificationTypes.Announcement}
|
|
108
|
+
notificationHeading="Announcement Notification"
|
|
109
|
+
notificationContent={
|
|
110
|
+
<>
|
|
111
|
+
This is an "announcement" Notification with a heading. Cras mattis
|
|
112
|
+
consectetur purus sit amet fermentum. Maecenas faucibus mollis
|
|
113
|
+
interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at
|
|
114
|
+
eros. Cum sociis natoque penatibus et magnis dis parturient montes,
|
|
115
|
+
nascetur ridiculus mus. Vivamus sagittis lacus vel augue laoreet
|
|
116
|
+
rutrum faucibus dolor auctor.
|
|
117
|
+
</>
|
|
118
|
+
}
|
|
119
|
+
/>
|
|
118
120
|
</DSProvider>
|
|
119
121
|
</Canvas>
|
|
120
122
|
|
|
121
123
|
<Canvas>
|
|
122
124
|
<DSProvider>
|
|
123
|
-
<Notification
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
125
|
+
<Notification
|
|
126
|
+
notificationType={NotificationTypes.Warning}
|
|
127
|
+
notificationHeading="Warning Notification"
|
|
128
|
+
notificationContent={
|
|
129
|
+
<>
|
|
130
|
+
This is a "warning" Notification with a heading. Cras mattis
|
|
131
|
+
consectetur purus sit amet fermentum. Maecenas faucibus mollis
|
|
132
|
+
interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at
|
|
133
|
+
eros. Cum sociis natoque penatibus et magnis dis parturient montes,
|
|
134
|
+
nascetur ridiculus mus. Vivamus sagittis lacus vel augue laoreet
|
|
135
|
+
rutrum faucibus dolor auctor.
|
|
136
|
+
</>
|
|
137
|
+
}
|
|
138
|
+
/>
|
|
133
139
|
</DSProvider>
|
|
134
140
|
</Canvas>
|
|
135
141
|
|
|
@@ -137,46 +143,54 @@ In the preview below, the border around the `Notification` is not part of the co
|
|
|
137
143
|
|
|
138
144
|
<Canvas>
|
|
139
145
|
<DSProvider>
|
|
140
|
-
<Notification
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
146
|
+
<Notification
|
|
147
|
+
notificationContent={
|
|
148
|
+
<>
|
|
149
|
+
This is a "standard" Notification without a heading. Cras mattis
|
|
150
|
+
consectetur purus sit amet fermentum. Maecenas faucibus mollis
|
|
151
|
+
interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at
|
|
152
|
+
eros. Cum sociis natoque penatibus et magnis dis parturient montes,
|
|
153
|
+
nascetur ridiculus mus. Vivamus sagittis lacus vel augue laoreet
|
|
154
|
+
rutrum faucibus dolor auctor.
|
|
155
|
+
</>
|
|
156
|
+
}
|
|
157
|
+
/>
|
|
150
158
|
</DSProvider>
|
|
151
159
|
</Canvas>
|
|
152
160
|
|
|
153
161
|
<Canvas>
|
|
154
162
|
<DSProvider>
|
|
155
|
-
<Notification
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
163
|
+
<Notification
|
|
164
|
+
notificationType={NotificationTypes.Announcement}
|
|
165
|
+
notificationContent={
|
|
166
|
+
<>
|
|
167
|
+
This is an "announcement" Notification without a heading. Cras mattis
|
|
168
|
+
consectetur purus sit amet fermentum. Maecenas faucibus mollis
|
|
169
|
+
interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at
|
|
170
|
+
eros. Cum sociis natoque penatibus et magnis dis parturient montes,
|
|
171
|
+
nascetur ridiculus mus. Vivamus sagittis lacus vel augue laoreet
|
|
172
|
+
rutrum faucibus dolor auctor.
|
|
173
|
+
</>
|
|
174
|
+
}
|
|
175
|
+
/>
|
|
165
176
|
</DSProvider>
|
|
166
177
|
</Canvas>
|
|
167
178
|
|
|
168
179
|
<Canvas>
|
|
169
180
|
<DSProvider>
|
|
170
|
-
<Notification
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
181
|
+
<Notification
|
|
182
|
+
notificationType={NotificationTypes.Warning}
|
|
183
|
+
notificationContent={
|
|
184
|
+
<>
|
|
185
|
+
This is a "warning" Notification without a heading. Cras mattis
|
|
186
|
+
consectetur purus sit amet fermentum. Maecenas faucibus mollis
|
|
187
|
+
interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at
|
|
188
|
+
eros. Cum sociis natoque penatibus et magnis dis parturient montes,
|
|
189
|
+
nascetur ridiculus mus. Vivamus sagittis lacus vel augue laoreet
|
|
190
|
+
rutrum faucibus dolor auctor.
|
|
191
|
+
</>
|
|
192
|
+
}
|
|
193
|
+
/>
|
|
180
194
|
</DSProvider>
|
|
181
195
|
</Canvas>
|
|
182
196
|
|
|
@@ -190,38 +204,21 @@ The default icon can be overridden by using the `icon` prop to pass a custom `Ic
|
|
|
190
204
|
<Notification
|
|
191
205
|
icon={
|
|
192
206
|
<Icon
|
|
193
|
-
align={IconAlign.Left}
|
|
194
207
|
name={IconNames.Check}
|
|
195
|
-
size={IconSizes.Large}
|
|
196
208
|
color={IconColors.SectionResearchSecondary}
|
|
197
209
|
/>
|
|
198
210
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
</Canvas>
|
|
211
|
-
|
|
212
|
-
## Development Errors
|
|
213
|
-
|
|
214
|
-
The `Notification` component will only accept one `NotificationHeading` child and one `NotificationContent` child.
|
|
215
|
-
|
|
216
|
-
<Canvas>
|
|
217
|
-
<Story name="Development Errors">
|
|
218
|
-
{(args) => (
|
|
219
|
-
<Notification>
|
|
220
|
-
<NotificationHeading>Heading One</NotificationHeading>
|
|
221
|
-
<NotificationHeading>Heading Two</NotificationHeading>
|
|
222
|
-
<NotificationContent>Content one.</NotificationContent>
|
|
223
|
-
<NotificationContent>Content two.</NotificationContent>
|
|
224
|
-
</Notification>
|
|
211
|
+
notificationHeading="Custom Icon"
|
|
212
|
+
notificationContent={
|
|
213
|
+
<>
|
|
214
|
+
This is a Notification with a custom icon. Cras mattis consectetur
|
|
215
|
+
purus sit amet fermentum. Maecenas faucibus mollis interdum. Morbi
|
|
216
|
+
leo risus, porta ac consectetur ac, vestibulum at eros. Cum sociis
|
|
217
|
+
natoque penatibus et magnis dis parturient montes, nascetur
|
|
218
|
+
ridiculus mus.
|
|
219
|
+
</>
|
|
220
|
+
}
|
|
221
|
+
/>
|
|
225
222
|
)}
|
|
226
223
|
</Story>
|
|
227
224
|
</Canvas>
|
|
@@ -3,163 +3,152 @@ import { render, screen } from "@testing-library/react";
|
|
|
3
3
|
import { axe } from "jest-axe";
|
|
4
4
|
import renderer from "react-test-renderer";
|
|
5
5
|
|
|
6
|
-
import Notification
|
|
7
|
-
NotificationContent,
|
|
8
|
-
NotificationHeading,
|
|
9
|
-
} from "./Notification";
|
|
6
|
+
import Notification from "./Notification";
|
|
10
7
|
import { NotificationTypes } from "./NotificationTypes";
|
|
11
8
|
import Icon from "../Icons/Icon";
|
|
12
9
|
import { IconNames, IconColors, IconSizes } from "../Icons/IconTypes";
|
|
13
10
|
|
|
14
11
|
describe("Notification Accessibility", () => {
|
|
15
|
-
it("passes axe accessibility test", async () => {
|
|
12
|
+
it("passes axe accessibility test with heading", async () => {
|
|
16
13
|
const { container } = render(
|
|
17
|
-
<Notification
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
<Notification
|
|
15
|
+
id="notificationID"
|
|
16
|
+
notificationHeading="Notification Heading"
|
|
17
|
+
notificationContent={<>Notification content.</>}
|
|
18
|
+
/>
|
|
21
19
|
);
|
|
22
20
|
expect(await axe(container)).toHaveNoViolations();
|
|
23
21
|
});
|
|
24
|
-
});
|
|
25
22
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<NotificationContent>Notification content.</NotificationContent>
|
|
33
|
-
</Notification>
|
|
23
|
+
it("passes axe accessibility test without heading", async () => {
|
|
24
|
+
const { container } = render(
|
|
25
|
+
<Notification
|
|
26
|
+
id="notificationID"
|
|
27
|
+
notificationContent={<>Notification content.</>}
|
|
28
|
+
/>
|
|
34
29
|
);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
it("Renders Notification component wrapper", () => {
|
|
38
|
-
expect(utils.container.querySelector(".notification")).toBeInTheDocument();
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
it("Renders Notification heading child component", () => {
|
|
42
|
-
expect(screen.getByText("Notification Heading")).toBeInTheDocument();
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
it("Renders Notification content child component", () => {
|
|
46
|
-
expect(screen.getByText("Notification content.")).toBeInTheDocument();
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
it("Renders without Icon", () => {
|
|
50
|
-
expect(
|
|
51
|
-
utils.container.querySelector(".notification-icon")
|
|
52
|
-
).not.toBeInTheDocument();
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
describe("Notification Snapshot", () => {
|
|
57
|
-
it("Renders the UI snapshot correctly", () => {
|
|
58
|
-
const tree = renderer
|
|
59
|
-
.create(
|
|
60
|
-
<Notification id="notificationID">
|
|
61
|
-
<NotificationHeading>Notification Heading</NotificationHeading>
|
|
62
|
-
<NotificationContent>Notification content.</NotificationContent>
|
|
63
|
-
</Notification>
|
|
64
|
-
)
|
|
65
|
-
.toJSON();
|
|
66
|
-
expect(tree).toMatchSnapshot();
|
|
30
|
+
expect(await axe(container)).toHaveNoViolations();
|
|
67
31
|
});
|
|
68
32
|
});
|
|
69
33
|
|
|
70
|
-
describe("Notification
|
|
34
|
+
describe("Notification", () => {
|
|
71
35
|
let utils;
|
|
72
36
|
beforeEach(() => {
|
|
73
37
|
utils = render(
|
|
74
38
|
<Notification
|
|
75
39
|
id="notificationID"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
<NotificationContent>Notification content.</NotificationContent>
|
|
80
|
-
</Notification>
|
|
40
|
+
notificationHeading="Notification Heading"
|
|
41
|
+
notificationContent={<>Notification content.</>}
|
|
42
|
+
/>
|
|
81
43
|
);
|
|
82
44
|
});
|
|
83
45
|
|
|
84
|
-
it("
|
|
85
|
-
expect(
|
|
86
|
-
utils.container.querySelector(".notification--announcement")
|
|
87
|
-
).toBeInTheDocument();
|
|
46
|
+
it("renders Notification heading child component", () => {
|
|
47
|
+
expect(screen.getByText("Notification Heading")).toBeInTheDocument();
|
|
88
48
|
});
|
|
89
|
-
});
|
|
90
49
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
beforeEach(() => {
|
|
94
|
-
utils = render(
|
|
95
|
-
<Notification
|
|
96
|
-
id="notificationID"
|
|
97
|
-
notificationType={NotificationTypes.Warning}
|
|
98
|
-
>
|
|
99
|
-
<NotificationHeading>Notification Heading</NotificationHeading>
|
|
100
|
-
<NotificationContent>Notification content.</NotificationContent>
|
|
101
|
-
</Notification>
|
|
102
|
-
);
|
|
50
|
+
it("renders Notification content child component", () => {
|
|
51
|
+
expect(screen.getByText("Notification content.")).toBeInTheDocument();
|
|
103
52
|
});
|
|
104
53
|
|
|
105
|
-
it("
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
).toBeInTheDocument();
|
|
54
|
+
it("renders without Icon", () => {
|
|
55
|
+
// The Icon's role is "img".
|
|
56
|
+
expect(screen.queryByRole("img")).not.toBeInTheDocument();
|
|
109
57
|
});
|
|
110
|
-
});
|
|
111
58
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
beforeEach(() => {
|
|
115
|
-
utils = render(
|
|
59
|
+
it("renders a custom Icon component", () => {
|
|
60
|
+
utils.rerender(
|
|
116
61
|
<Notification
|
|
117
62
|
id="notificationID"
|
|
118
63
|
icon={
|
|
119
64
|
<Icon
|
|
65
|
+
id="custom-icon"
|
|
120
66
|
name={IconNames.Check}
|
|
121
67
|
size={IconSizes.Large}
|
|
122
68
|
color={IconColors.BrandPrimary}
|
|
123
69
|
className="custom-icon"
|
|
124
70
|
/>
|
|
125
71
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
</Notification>
|
|
72
|
+
notificationHeading="Notification Heading"
|
|
73
|
+
notificationContent={<>Notification content.</>}
|
|
74
|
+
/>
|
|
130
75
|
);
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
it("Renders custom Icon component", () => {
|
|
134
76
|
expect(utils.container.querySelector(".custom-icon")).toBeInTheDocument();
|
|
135
77
|
});
|
|
136
|
-
});
|
|
137
78
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
79
|
+
it("renders the announcement Notification type", () => {
|
|
80
|
+
utils.rerender(
|
|
81
|
+
<Notification
|
|
82
|
+
id="notificationID"
|
|
83
|
+
notificationType={NotificationTypes.Announcement}
|
|
84
|
+
notificationHeading="Notification Heading"
|
|
85
|
+
notificationContent={<>Notification content.</>}
|
|
86
|
+
/>
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
expect(utils.container.querySelector("aside")).toHaveAttribute(
|
|
90
|
+
"data-type",
|
|
91
|
+
"announcement"
|
|
147
92
|
);
|
|
148
93
|
});
|
|
149
94
|
|
|
150
|
-
it("
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
"
|
|
154
|
-
|
|
155
|
-
|
|
95
|
+
it("renders the warning Notification type", () => {
|
|
96
|
+
utils.rerender(
|
|
97
|
+
<Notification
|
|
98
|
+
id="notificationID"
|
|
99
|
+
notificationType={NotificationTypes.Warning}
|
|
100
|
+
notificationHeading="Notification Heading"
|
|
101
|
+
notificationContent={<>Notification content.</>}
|
|
102
|
+
/>
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
expect(utils.container.querySelector("aside")).toHaveAttribute(
|
|
106
|
+
"data-type",
|
|
107
|
+
"warning"
|
|
108
|
+
);
|
|
156
109
|
});
|
|
157
110
|
|
|
158
|
-
it("
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
111
|
+
it("renders the UI snapshot correctly", () => {
|
|
112
|
+
const standard = renderer
|
|
113
|
+
.create(
|
|
114
|
+
<Notification
|
|
115
|
+
id="notificationID1"
|
|
116
|
+
notificationHeading="Notification Heading"
|
|
117
|
+
notificationContent={<>Notification content.</>}
|
|
118
|
+
/>
|
|
162
119
|
)
|
|
163
|
-
|
|
120
|
+
.toJSON();
|
|
121
|
+
const announcement = renderer
|
|
122
|
+
.create(
|
|
123
|
+
<Notification
|
|
124
|
+
id="notificationID2"
|
|
125
|
+
notificationType={NotificationTypes.Announcement}
|
|
126
|
+
notificationHeading="Notification Heading"
|
|
127
|
+
notificationContent={<>Notification content.</>}
|
|
128
|
+
/>
|
|
129
|
+
)
|
|
130
|
+
.toJSON();
|
|
131
|
+
const warning = renderer
|
|
132
|
+
.create(
|
|
133
|
+
<Notification
|
|
134
|
+
id="notificationID3"
|
|
135
|
+
notificationType={NotificationTypes.Warning}
|
|
136
|
+
notificationHeading="Notification Heading"
|
|
137
|
+
notificationContent={<>Notification content.</>}
|
|
138
|
+
/>
|
|
139
|
+
)
|
|
140
|
+
.toJSON();
|
|
141
|
+
const withoutHeading = renderer
|
|
142
|
+
.create(
|
|
143
|
+
<Notification
|
|
144
|
+
id="notificationID4"
|
|
145
|
+
notificationContent={<>Notification content.</>}
|
|
146
|
+
/>
|
|
147
|
+
)
|
|
148
|
+
.toJSON();
|
|
149
|
+
expect(standard).toMatchSnapshot();
|
|
150
|
+
expect(announcement).toMatchSnapshot();
|
|
151
|
+
expect(warning).toMatchSnapshot();
|
|
152
|
+
expect(withoutHeading).toMatchSnapshot();
|
|
164
153
|
});
|
|
165
154
|
});
|