@nypl/design-system-react-components 0.25.5 → 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 +91 -1
- package/README.md +1 -1
- package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +1 -0
- 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 +1 -21
- package/dist/components/Icons/IconTypes.d.ts +1 -23
- package/dist/components/Image/Image.d.ts +11 -3
- package/dist/components/Image/ImageTypes.d.ts +3 -1
- package/dist/components/Link/LinkTypes.d.ts +1 -0
- 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 +4 -2
- package/dist/components/Placeholder/Placeholder.d.ts +3 -5
- package/dist/components/Radio/Radio.d.ts +6 -5
- package/dist/components/RadioGroup/RadioGroup.d.ts +3 -2
- package/dist/components/SearchBar/SearchBar.d.ts +10 -2
- package/dist/components/Select/Select.d.ts +5 -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 +48 -0
- package/dist/components/Toggle/ToggleSizes.d.ts +4 -0
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +17 -6
- package/dist/design-system-react-components.cjs.development.js +5989 -5490
- 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 +6057 -5551
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/index.d.ts +11 -4
- package/dist/styles.css +2 -2
- package/dist/theme/components/breadcrumb.d.ts +9 -0
- 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/notification.d.ts +8 -4
- 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 +71 -0
- package/dist/theme/foundations/spacing.d.ts +2 -0
- package/dist/utils/utils.d.ts +10 -0
- package/package.json +2 -3
- package/src/__tests__/utils/utils.test.ts +23 -1
- package/src/components/Accordion/Accordion.stories.mdx +15 -14
- 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 +50 -14
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +20 -0
- package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +1 -0
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +198 -0
- 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 -8
- 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 +246 -64
- package/src/components/Card/Card.test.tsx +45 -22
- package/src/components/Card/Card.tsx +26 -13
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +75 -37
- 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 +14 -17
- package/src/components/Chakra/Stack.stories.mdx +2 -2
- package/src/components/Checkbox/Checkbox.stories.mdx +37 -15
- package/src/components/Checkbox/Checkbox.tsx +13 -8
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +48 -16
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +14 -10
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +6 -3
- package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +151 -0
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +36 -23
- package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +85 -0
- package/src/components/DatePicker/DatePicker.stories.mdx +63 -18
- package/src/components/DatePicker/DatePicker.test.tsx +8 -6
- package/src/components/DatePicker/DatePicker.tsx +10 -6
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +41 -22
- 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 -75
- package/src/components/Icons/Icon.tsx +4 -5
- package/src/components/Icons/IconSvgs.tsx +2 -42
- package/src/components/Icons/IconTypes.tsx +1 -24
- package/src/components/Image/Image.stories.mdx +214 -104
- package/src/components/Image/Image.test.tsx +10 -0
- package/src/components/Image/Image.tsx +21 -10
- package/src/components/Image/ImageTypes.ts +2 -0
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +24 -8
- package/src/components/Label/Label.stories.mdx +21 -20
- package/src/components/Link/Link.stories.mdx +103 -53
- package/src/components/Link/Link.test.tsx +108 -7
- package/src/components/Link/Link.tsx +58 -19
- package/src/components/Link/LinkTypes.tsx +1 -0
- package/src/components/Link/__snapshots__/Link.test.tsx.snap +261 -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 +96 -40
- package/src/components/Notification/Notification.test.tsx +62 -16
- package/src/components/Notification/Notification.tsx +26 -9
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +121 -0
- package/src/components/Pagination/Pagination.stories.mdx +18 -8
- package/src/components/Pagination/Pagination.tsx +1 -1
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +42 -0
- package/src/components/Placeholder/Placeholder.tsx +7 -14
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +74 -46
- 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 +114 -22
- package/src/components/SearchBar/SearchBar.stories.mdx +111 -33
- package/src/components/SearchBar/SearchBar.tsx +57 -33
- package/src/components/Select/Select.stories.mdx +177 -66
- package/src/components/Select/Select.test.tsx +2 -2
- package/src/components/Select/Select.tsx +22 -12
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +50 -16
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +8 -4
- package/src/components/Slider/Slider.stories.mdx +74 -23
- package/src/components/Slider/Slider.test.tsx +35 -0
- package/src/components/Slider/Slider.tsx +22 -11
- 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 +57 -49
- 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 +200 -0
- package/src/components/Toggle/Toggle.test.tsx +140 -0
- package/src/components/Toggle/Toggle.tsx +123 -0
- package/src/components/Toggle/ToggleSizes.tsx +4 -0
- package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +255 -0
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +96 -25
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +103 -1
- package/src/components/VideoPlayer/VideoPlayer.tsx +72 -22
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +57 -3
- package/src/docs/Chakra.stories.mdx +5 -8
- package/src/docs/Intro.stories.mdx +2 -2
- package/src/index.ts +13 -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 +14 -4
- package/src/theme/components/button.ts +5 -12
- package/src/theme/components/card.ts +9 -7
- 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 +7 -7
- package/src/theme/components/heading.ts +13 -11
- package/src/theme/components/helperErrorText.ts +1 -1
- package/src/theme/components/icon.ts +2 -2
- package/src/theme/components/image.ts +9 -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 +9 -7
- 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 +69 -0
- package/src/theme/components/videoPlayer.ts +0 -2
- package/src/theme/foundations/global.ts +2 -2
- package/src/theme/foundations/spacing.ts +3 -0
- package/src/theme/foundations/typography.ts +84 -12
- package/src/theme/index.ts +8 -0
- package/src/utils/componentCategories.ts +4 -2
- package/src/utils/utils.ts +17 -0
- package/dist/__tests__/utils/bem.test.d.ts +0 -1
- package/dist/components/CardEdition/CardEdition.d.ts +0 -21
- package/dist/components/CardEdition/CardEdition.stories.d.ts +0 -27
- package/dist/components/Input/Input.d.ts +0 -36
- package/dist/components/Input/Input.stories.d.ts +0 -29
- package/dist/components/Input/InputTypes.d.ts +0 -6
- package/dist/components/StyleGuide/UIDocCard.d.ts +0 -11
- package/dist/helpers/CSSVariablesHelper.d.ts +0 -3
- package/dist/helpers/getCSSVariable.d.ts +0 -1
- package/dist/interfaces.d.ts +0 -3
- package/dist/utils/bem.d.ts +0 -1
- package/src/__tests__/utils/bem.test.ts +0 -37
- package/src/components/CardEdition/CardEdition.stories.tsx +0 -122
- package/src/components/CardEdition/CardEdition.test.tsx +0 -395
- package/src/components/CardEdition/CardEdition.tsx +0 -60
- package/src/components/CardEdition/_CardEdition.scss +0 -137
- package/src/components/Input/Input.stories.tsx +0 -133
- package/src/components/Input/Input.test.tsx +0 -266
- package/src/components/Input/Input.tsx +0 -81
- package/src/components/Input/InputTypes.tsx +0 -8
- package/src/components/Input/_Input.scss +0 -78
- package/src/components/StyleGuide/UIDocCard.tsx +0 -36
- package/src/helpers/CSSVariablesHelper.tsx +0 -34
- package/src/helpers/getCSSVariable.tsx +0 -5
- package/src/interfaces.ts +0 -3
- package/src/utils/bem.ts +0 -44
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import {
|
|
2
|
-
Meta,
|
|
3
|
-
Story,
|
|
4
|
-
Canvas,
|
|
5
2
|
ArgsTable,
|
|
6
|
-
|
|
3
|
+
Canvas,
|
|
7
4
|
Description,
|
|
8
|
-
|
|
5
|
+
Meta,
|
|
6
|
+
Story,
|
|
7
|
+
} from "@storybook/addon-docs";
|
|
9
8
|
import { withDesign } from "storybook-addon-designs";
|
|
10
9
|
|
|
10
|
+
import Icon from "../Icons/Icon";
|
|
11
|
+
import { IconColors, IconNames } from "../Icons/IconTypes";
|
|
11
12
|
import Notification from "./Notification";
|
|
12
13
|
import { NotificationTypes } from "./NotificationTypes";
|
|
13
|
-
import Icon from "../Icons/Icon";
|
|
14
|
-
import {
|
|
15
|
-
IconSizes,
|
|
16
|
-
IconColors,
|
|
17
|
-
IconNames,
|
|
18
|
-
IconAlign,
|
|
19
|
-
} from "../Icons/IconTypes";
|
|
20
14
|
import { getCategory } from "../../utils/componentCategories";
|
|
21
15
|
import DSProvider from "../../theme/provider";
|
|
16
|
+
import { getStorybookEnumValues } from "../../utils/utils";
|
|
17
|
+
|
|
18
|
+
export const enumValues = getStorybookEnumValues(
|
|
19
|
+
NotificationTypes,
|
|
20
|
+
"NotificationTypes"
|
|
21
|
+
);
|
|
22
22
|
|
|
23
23
|
<Meta
|
|
24
24
|
title={getCategory("Notification")}
|
|
@@ -27,11 +27,29 @@ import DSProvider from "../../theme/provider";
|
|
|
27
27
|
parameters={{
|
|
28
28
|
design: {
|
|
29
29
|
type: "figma",
|
|
30
|
-
url:
|
|
31
|
-
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/?node-id=10734%3A812",
|
|
30
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/?node-id=10734%3A812",
|
|
32
31
|
},
|
|
33
32
|
jest: ["Notification.test.tsx"],
|
|
34
33
|
}}
|
|
34
|
+
argTypes={{
|
|
35
|
+
centered: {
|
|
36
|
+
table: { defaultValue: { summary: false } },
|
|
37
|
+
},
|
|
38
|
+
className: { control: false },
|
|
39
|
+
dismissible: {
|
|
40
|
+
table: { defaultValue: { summary: false } },
|
|
41
|
+
},
|
|
42
|
+
icon: { control: false },
|
|
43
|
+
id: { control: false },
|
|
44
|
+
noMargin: {
|
|
45
|
+
table: { defaultValue: { summary: false } },
|
|
46
|
+
},
|
|
47
|
+
notificationType: {
|
|
48
|
+
control: { type: "select" },
|
|
49
|
+
table: { defaultValue: { summary: "NotificationTypes.Standard" } },
|
|
50
|
+
options: enumValues.options,
|
|
51
|
+
},
|
|
52
|
+
}}
|
|
35
53
|
/>
|
|
36
54
|
|
|
37
55
|
# Notification
|
|
@@ -39,7 +57,7 @@ import DSProvider from "../../theme/provider";
|
|
|
39
57
|
| Component Version | DS Version |
|
|
40
58
|
| ----------------- | ---------- |
|
|
41
59
|
| Added | `0.23.2` |
|
|
42
|
-
| Latest | `0.25.
|
|
60
|
+
| Latest | `0.25.9` |
|
|
43
61
|
|
|
44
62
|
<Description of={Notification} />
|
|
45
63
|
|
|
@@ -52,10 +70,14 @@ within a parent element.
|
|
|
52
70
|
|
|
53
71
|
<Canvas>
|
|
54
72
|
<Story
|
|
55
|
-
name="Notification
|
|
73
|
+
name="Notification with Controls"
|
|
56
74
|
args={{
|
|
57
|
-
|
|
58
|
-
|
|
75
|
+
centered: false,
|
|
76
|
+
className: undefined,
|
|
77
|
+
dismissible: false,
|
|
78
|
+
icon: undefined,
|
|
79
|
+
id: "notification-id",
|
|
80
|
+
noMargin: false,
|
|
59
81
|
notificationHeading: "Notification Heading",
|
|
60
82
|
notificationContent: (
|
|
61
83
|
<>
|
|
@@ -67,17 +89,21 @@ within a parent element.
|
|
|
67
89
|
nisi erat porttitor ligula.
|
|
68
90
|
</>
|
|
69
91
|
),
|
|
92
|
+
showIcon: true,
|
|
70
93
|
}}
|
|
71
94
|
>
|
|
72
95
|
{(args) => (
|
|
73
96
|
<div style={{ border: "1px solid #ccc" }}>
|
|
74
|
-
<Notification
|
|
97
|
+
<Notification
|
|
98
|
+
{...args}
|
|
99
|
+
notificationType={enumValues.getValue(args.notificationType)}
|
|
100
|
+
/>
|
|
75
101
|
</div>
|
|
76
102
|
)}
|
|
77
103
|
</Story>
|
|
78
104
|
</Canvas>
|
|
79
105
|
|
|
80
|
-
<ArgsTable story="Notification
|
|
106
|
+
<ArgsTable story="Notification with Controls" />
|
|
81
107
|
|
|
82
108
|
## Variants
|
|
83
109
|
|
|
@@ -194,31 +220,61 @@ within a parent element.
|
|
|
194
220
|
</DSProvider>
|
|
195
221
|
</Canvas>
|
|
196
222
|
|
|
223
|
+
### Without Icon
|
|
224
|
+
|
|
225
|
+
The `Notification` icon can be hidden with the `showIcon` prop set to `false`.
|
|
226
|
+
|
|
227
|
+
<Canvas>
|
|
228
|
+
<DSProvider>
|
|
229
|
+
<Notification
|
|
230
|
+
notificationHeading="Standard Notification without Icon"
|
|
231
|
+
notificationContent={
|
|
232
|
+
<>
|
|
233
|
+
Cras mattis consectetur purus sit amet fermentum. Maecenas faucibus
|
|
234
|
+
mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibulum
|
|
235
|
+
at eros. Cum sociis natoque penatibus et magnis dis parturient montes,
|
|
236
|
+
nascetur ridiculus mus.
|
|
237
|
+
</>
|
|
238
|
+
}
|
|
239
|
+
showIcon={false}
|
|
240
|
+
/>
|
|
241
|
+
<Notification
|
|
242
|
+
notificationContent={
|
|
243
|
+
<>
|
|
244
|
+
This is an Standard Notification without a heading or icon. Cras
|
|
245
|
+
mattis consectetur purus sit amet fermentum. Maecenas faucibus mollis
|
|
246
|
+
interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at
|
|
247
|
+
eros. Cum sociis natoque penatibus et magnis dis parturient montes,
|
|
248
|
+
nascetur ridiculus mus.
|
|
249
|
+
</>
|
|
250
|
+
}
|
|
251
|
+
showIcon={false}
|
|
252
|
+
/>
|
|
253
|
+
</DSProvider>
|
|
254
|
+
</Canvas>
|
|
255
|
+
|
|
197
256
|
## Custom Icon
|
|
198
257
|
|
|
199
258
|
The default icon can be overridden by using the `icon` prop to pass a custom `Icon` component.
|
|
200
259
|
|
|
201
260
|
<Canvas>
|
|
202
261
|
<Story name="Custom Icons">
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
}
|
|
221
|
-
/>
|
|
222
|
-
)}
|
|
262
|
+
<Notification
|
|
263
|
+
icon={
|
|
264
|
+
<Icon
|
|
265
|
+
name={IconNames.Check}
|
|
266
|
+
color={IconColors.SectionResearchSecondary}
|
|
267
|
+
/>
|
|
268
|
+
}
|
|
269
|
+
notificationHeading="Custom Icon"
|
|
270
|
+
notificationContent={
|
|
271
|
+
<>
|
|
272
|
+
This is a Notification with a custom icon. Cras mattis consectetur
|
|
273
|
+
purus sit amet fermentum. Maecenas faucibus mollis interdum. Morbi leo
|
|
274
|
+
risus, porta ac consectetur ac, vestibulum at eros. Cum sociis natoque
|
|
275
|
+
penatibus et magnis dis parturient montes, nascetur ridiculus mus.
|
|
276
|
+
</>
|
|
277
|
+
}
|
|
278
|
+
/>
|
|
223
279
|
</Story>
|
|
224
280
|
</Canvas>
|
|
@@ -13,8 +13,8 @@ describe("Notification Accessibility", () => {
|
|
|
13
13
|
const { container } = render(
|
|
14
14
|
<Notification
|
|
15
15
|
id="notificationID"
|
|
16
|
-
notificationHeading="Notification Heading"
|
|
17
16
|
notificationContent={<>Notification content.</>}
|
|
17
|
+
notificationHeading="Notification Heading"
|
|
18
18
|
/>
|
|
19
19
|
);
|
|
20
20
|
expect(await axe(container)).toHaveNoViolations();
|
|
@@ -29,6 +29,18 @@ describe("Notification Accessibility", () => {
|
|
|
29
29
|
);
|
|
30
30
|
expect(await axe(container)).toHaveNoViolations();
|
|
31
31
|
});
|
|
32
|
+
|
|
33
|
+
it("passes axe accessibility test without an icon", async () => {
|
|
34
|
+
const { container } = render(
|
|
35
|
+
<Notification
|
|
36
|
+
id="notificationID"
|
|
37
|
+
notificationContent={<>Notification content.</>}
|
|
38
|
+
notificationHeading="Notification Heading"
|
|
39
|
+
showIcon={false}
|
|
40
|
+
/>
|
|
41
|
+
);
|
|
42
|
+
expect(await axe(container)).toHaveNoViolations();
|
|
43
|
+
});
|
|
32
44
|
});
|
|
33
45
|
|
|
34
46
|
describe("Notification", () => {
|
|
@@ -37,8 +49,8 @@ describe("Notification", () => {
|
|
|
37
49
|
utils = render(
|
|
38
50
|
<Notification
|
|
39
51
|
id="notificationID"
|
|
40
|
-
notificationHeading="Notification Heading"
|
|
41
52
|
notificationContent={<>Notification content.</>}
|
|
53
|
+
notificationHeading="Notification Heading"
|
|
42
54
|
/>
|
|
43
55
|
);
|
|
44
56
|
});
|
|
@@ -51,7 +63,20 @@ describe("Notification", () => {
|
|
|
51
63
|
expect(screen.getByText("Notification content.")).toBeInTheDocument();
|
|
52
64
|
});
|
|
53
65
|
|
|
54
|
-
it("renders
|
|
66
|
+
it("renders with an Icon", () => {
|
|
67
|
+
// The Icon's role is "img".
|
|
68
|
+
expect(screen.queryByRole("img")).toBeInTheDocument();
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
it("does not render an Icon", () => {
|
|
72
|
+
utils.rerender(
|
|
73
|
+
<Notification
|
|
74
|
+
id="notificationID"
|
|
75
|
+
notificationContent={<>Notification content.</>}
|
|
76
|
+
notificationHeading="Notification Heading"
|
|
77
|
+
showIcon={false}
|
|
78
|
+
/>
|
|
79
|
+
);
|
|
55
80
|
// The Icon's role is "img".
|
|
56
81
|
expect(screen.queryByRole("img")).not.toBeInTheDocument();
|
|
57
82
|
});
|
|
@@ -59,18 +84,18 @@ describe("Notification", () => {
|
|
|
59
84
|
it("renders a custom Icon component", () => {
|
|
60
85
|
utils.rerender(
|
|
61
86
|
<Notification
|
|
62
|
-
id="notificationID"
|
|
63
87
|
icon={
|
|
64
88
|
<Icon
|
|
65
89
|
id="custom-icon"
|
|
90
|
+
className="custom-icon"
|
|
91
|
+
color={IconColors.BrandPrimary}
|
|
66
92
|
name={IconNames.Check}
|
|
67
93
|
size={IconSizes.Large}
|
|
68
|
-
color={IconColors.BrandPrimary}
|
|
69
|
-
className="custom-icon"
|
|
70
94
|
/>
|
|
71
95
|
}
|
|
72
|
-
|
|
96
|
+
id="notificationID"
|
|
73
97
|
notificationContent={<>Notification content.</>}
|
|
98
|
+
notificationHeading="Notification Heading"
|
|
74
99
|
/>
|
|
75
100
|
);
|
|
76
101
|
expect(utils.container.querySelector(".custom-icon")).toBeInTheDocument();
|
|
@@ -80,9 +105,9 @@ describe("Notification", () => {
|
|
|
80
105
|
utils.rerender(
|
|
81
106
|
<Notification
|
|
82
107
|
id="notificationID"
|
|
83
|
-
notificationType={NotificationTypes.Announcement}
|
|
84
|
-
notificationHeading="Notification Heading"
|
|
85
108
|
notificationContent={<>Notification content.</>}
|
|
109
|
+
notificationHeading="Notification Heading"
|
|
110
|
+
notificationType={NotificationTypes.Announcement}
|
|
86
111
|
/>
|
|
87
112
|
);
|
|
88
113
|
|
|
@@ -96,9 +121,9 @@ describe("Notification", () => {
|
|
|
96
121
|
utils.rerender(
|
|
97
122
|
<Notification
|
|
98
123
|
id="notificationID"
|
|
99
|
-
notificationType={NotificationTypes.Warning}
|
|
100
|
-
notificationHeading="Notification Heading"
|
|
101
124
|
notificationContent={<>Notification content.</>}
|
|
125
|
+
notificationHeading="Notification Heading"
|
|
126
|
+
notificationType={NotificationTypes.Warning}
|
|
102
127
|
/>
|
|
103
128
|
);
|
|
104
129
|
|
|
@@ -113,8 +138,8 @@ describe("Notification", () => {
|
|
|
113
138
|
.create(
|
|
114
139
|
<Notification
|
|
115
140
|
id="notificationID1"
|
|
116
|
-
notificationHeading="Notification Heading"
|
|
117
141
|
notificationContent={<>Notification content.</>}
|
|
142
|
+
notificationHeading="Notification Heading"
|
|
118
143
|
/>
|
|
119
144
|
)
|
|
120
145
|
.toJSON();
|
|
@@ -122,9 +147,9 @@ describe("Notification", () => {
|
|
|
122
147
|
.create(
|
|
123
148
|
<Notification
|
|
124
149
|
id="notificationID2"
|
|
125
|
-
notificationType={NotificationTypes.Announcement}
|
|
126
|
-
notificationHeading="Notification Heading"
|
|
127
150
|
notificationContent={<>Notification content.</>}
|
|
151
|
+
notificationHeading="Notification Heading"
|
|
152
|
+
notificationType={NotificationTypes.Announcement}
|
|
128
153
|
/>
|
|
129
154
|
)
|
|
130
155
|
.toJSON();
|
|
@@ -132,9 +157,9 @@ describe("Notification", () => {
|
|
|
132
157
|
.create(
|
|
133
158
|
<Notification
|
|
134
159
|
id="notificationID3"
|
|
135
|
-
notificationType={NotificationTypes.Warning}
|
|
136
|
-
notificationHeading="Notification Heading"
|
|
137
160
|
notificationContent={<>Notification content.</>}
|
|
161
|
+
notificationHeading="Notification Heading"
|
|
162
|
+
notificationType={NotificationTypes.Warning}
|
|
138
163
|
/>
|
|
139
164
|
)
|
|
140
165
|
.toJSON();
|
|
@@ -146,9 +171,30 @@ describe("Notification", () => {
|
|
|
146
171
|
/>
|
|
147
172
|
)
|
|
148
173
|
.toJSON();
|
|
174
|
+
const withoutAnIcon = renderer
|
|
175
|
+
.create(
|
|
176
|
+
<Notification
|
|
177
|
+
id="notificationID5"
|
|
178
|
+
notificationHeading="Notification Heading"
|
|
179
|
+
notificationContent={<>Notification content.</>}
|
|
180
|
+
showIcon={false}
|
|
181
|
+
/>
|
|
182
|
+
)
|
|
183
|
+
.toJSON();
|
|
184
|
+
const withoutHeadingAndIcon = renderer
|
|
185
|
+
.create(
|
|
186
|
+
<Notification
|
|
187
|
+
id="notificationID6"
|
|
188
|
+
notificationContent={<>Notification content.</>}
|
|
189
|
+
showIcon={false}
|
|
190
|
+
/>
|
|
191
|
+
)
|
|
192
|
+
.toJSON();
|
|
149
193
|
expect(standard).toMatchSnapshot();
|
|
150
194
|
expect(announcement).toMatchSnapshot();
|
|
151
195
|
expect(warning).toMatchSnapshot();
|
|
152
196
|
expect(withoutHeading).toMatchSnapshot();
|
|
197
|
+
expect(withoutAnIcon).toMatchSnapshot();
|
|
198
|
+
expect(withoutHeadingAndIcon).toMatchSnapshot();
|
|
153
199
|
});
|
|
154
200
|
});
|
|
@@ -17,6 +17,8 @@ interface BaseProps {
|
|
|
17
17
|
centered?: boolean;
|
|
18
18
|
/** Optional custom `Icon` that will override the default `Icon`. */
|
|
19
19
|
icon?: JSX.Element;
|
|
20
|
+
/** ID that other components can cross reference for accessibility purposes. */
|
|
21
|
+
id?: string;
|
|
20
22
|
/** Optional prop to control the coloring of the `Notification` text and the
|
|
21
23
|
* visibility of an applicable icon. */
|
|
22
24
|
notificationType?: NotificationTypes;
|
|
@@ -35,14 +37,14 @@ export interface NotificationProps extends BasePropsWithoutAlignText {
|
|
|
35
37
|
dismissible?: boolean;
|
|
36
38
|
/** Optional custom `Icon` that will override the default `Icon`. */
|
|
37
39
|
icon?: JSX.Element;
|
|
38
|
-
/** ID that other components can cross reference for accessibility purposes. */
|
|
39
|
-
id?: string;
|
|
40
40
|
/** Optional prop to control the margin around the `Notification` component. */
|
|
41
41
|
noMargin?: boolean;
|
|
42
42
|
/** Content to be rendered in a `NotificationContent` component. */
|
|
43
43
|
notificationContent: string | JSX.Element;
|
|
44
44
|
/** Content to be rendered in a `NotificationHeading` component. */
|
|
45
45
|
notificationHeading?: string;
|
|
46
|
+
/** Prop to display the `Notification` icon. Defaults to `true`. */
|
|
47
|
+
showIcon?: boolean;
|
|
46
48
|
}
|
|
47
49
|
|
|
48
50
|
/**
|
|
@@ -51,15 +53,20 @@ export interface NotificationProps extends BasePropsWithoutAlignText {
|
|
|
51
53
|
export function NotificationHeading(
|
|
52
54
|
props: React.PropsWithChildren<BasePropsWithoutAlignText>
|
|
53
55
|
) {
|
|
54
|
-
const { centered, children, icon, notificationType } = props;
|
|
56
|
+
const { centered, children, icon, id, notificationType } = props;
|
|
55
57
|
const styles = useMultiStyleConfig("NotificationHeading", {
|
|
56
58
|
centered,
|
|
59
|
+
icon,
|
|
57
60
|
notificationType,
|
|
58
61
|
});
|
|
59
62
|
return (
|
|
60
63
|
<Box as="header" __css={styles}>
|
|
61
64
|
{icon}
|
|
62
|
-
<Heading
|
|
65
|
+
<Heading
|
|
66
|
+
additionalStyles={styles.heading}
|
|
67
|
+
id={`${id}-heading`}
|
|
68
|
+
level={HeadingLevels.Four}
|
|
69
|
+
>
|
|
63
70
|
{children}
|
|
64
71
|
</Heading>
|
|
65
72
|
</Box>
|
|
@@ -75,6 +82,7 @@ export function NotificationContent(
|
|
|
75
82
|
const { alignText, children, icon, notificationType } = props;
|
|
76
83
|
const styles = useMultiStyleConfig("NotificationContent", {
|
|
77
84
|
alignText,
|
|
85
|
+
icon,
|
|
78
86
|
notificationType,
|
|
79
87
|
});
|
|
80
88
|
return (
|
|
@@ -100,6 +108,7 @@ export default function Notification(props: NotificationProps) {
|
|
|
100
108
|
notificationContent,
|
|
101
109
|
notificationHeading,
|
|
102
110
|
notificationType = NotificationTypes.Standard,
|
|
111
|
+
showIcon = true,
|
|
103
112
|
} = props;
|
|
104
113
|
const [isOpen, setIsOpen] = useState(true);
|
|
105
114
|
const handleClose = () => setIsOpen(false);
|
|
@@ -107,6 +116,7 @@ export default function Notification(props: NotificationProps) {
|
|
|
107
116
|
centered,
|
|
108
117
|
noMargin,
|
|
109
118
|
notificationType,
|
|
119
|
+
showIcon,
|
|
110
120
|
});
|
|
111
121
|
const iconElement = () => {
|
|
112
122
|
const baseIconProps = {
|
|
@@ -114,6 +124,10 @@ export default function Notification(props: NotificationProps) {
|
|
|
114
124
|
size: IconSizes.Large,
|
|
115
125
|
additionalStyles: styles.icon,
|
|
116
126
|
};
|
|
127
|
+
// If the icon should not display, return null.
|
|
128
|
+
if (!showIcon) {
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
117
131
|
// If a custom icon is passed, add specific `Notification` styles.
|
|
118
132
|
if (icon)
|
|
119
133
|
return React.cloneElement(icon, {
|
|
@@ -125,18 +139,22 @@ export default function Notification(props: NotificationProps) {
|
|
|
125
139
|
name: IconNames.SpeakerNotes,
|
|
126
140
|
color: IconColors.SectionResearchSecondary,
|
|
127
141
|
},
|
|
142
|
+
[NotificationTypes.Standard]: {
|
|
143
|
+
name: IconNames.AlertNotificationImportant,
|
|
144
|
+
color: IconColors.UiBlack,
|
|
145
|
+
},
|
|
128
146
|
[NotificationTypes.Warning]: {
|
|
129
147
|
name: IconNames.ErrorFilled,
|
|
130
148
|
color: IconColors.BrandPrimary,
|
|
131
149
|
},
|
|
132
150
|
};
|
|
133
|
-
return
|
|
151
|
+
return (
|
|
134
152
|
<Icon
|
|
135
153
|
id={`${id}-notification-icon`}
|
|
136
154
|
{...baseIconProps}
|
|
137
155
|
{...iconProps[notificationType]}
|
|
138
156
|
/>
|
|
139
|
-
)
|
|
157
|
+
);
|
|
140
158
|
};
|
|
141
159
|
const dismissibleButton = dismissible && (
|
|
142
160
|
<Button
|
|
@@ -157,15 +175,14 @@ export default function Notification(props: NotificationProps) {
|
|
|
157
175
|
<NotificationHeading
|
|
158
176
|
centered={centered}
|
|
159
177
|
icon={iconElem}
|
|
178
|
+
id={id}
|
|
160
179
|
notificationType={notificationType}
|
|
161
180
|
>
|
|
162
181
|
{notificationHeading}
|
|
163
182
|
</NotificationHeading>
|
|
164
183
|
);
|
|
165
184
|
// Specific alignment styles for the content.
|
|
166
|
-
const alignText =
|
|
167
|
-
childHeading &&
|
|
168
|
-
(!!icon || (notificationType !== NotificationTypes.Standard && !centered));
|
|
185
|
+
const alignText = childHeading && showIcon && (!!icon || !centered);
|
|
169
186
|
const childContent = (
|
|
170
187
|
<NotificationContent
|
|
171
188
|
alignText={alignText}
|
|
@@ -12,8 +12,41 @@ exports[`Notification renders the UI snapshot correctly 1`] = `
|
|
|
12
12
|
<header
|
|
13
13
|
className="css-0"
|
|
14
14
|
>
|
|
15
|
+
<svg
|
|
16
|
+
aria-hidden={false}
|
|
17
|
+
className="chakra-icon css-onkibi"
|
|
18
|
+
focusable={false}
|
|
19
|
+
id="notificationID1-notification-icon"
|
|
20
|
+
role="img"
|
|
21
|
+
title="alert_notification_important icon"
|
|
22
|
+
viewBox="0 0 24 24"
|
|
23
|
+
>
|
|
24
|
+
<g
|
|
25
|
+
stroke="currentColor"
|
|
26
|
+
strokeWidth="1.5"
|
|
27
|
+
>
|
|
28
|
+
<path
|
|
29
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
30
|
+
fill="none"
|
|
31
|
+
strokeLinecap="round"
|
|
32
|
+
/>
|
|
33
|
+
<path
|
|
34
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
35
|
+
fill="currentColor"
|
|
36
|
+
strokeLinecap="round"
|
|
37
|
+
/>
|
|
38
|
+
<circle
|
|
39
|
+
cx="12"
|
|
40
|
+
cy="12"
|
|
41
|
+
fill="none"
|
|
42
|
+
r="11.25"
|
|
43
|
+
strokeMiterlimit="10"
|
|
44
|
+
/>
|
|
45
|
+
</g>
|
|
46
|
+
</svg>
|
|
15
47
|
<h4
|
|
16
48
|
className="chakra-heading css-0"
|
|
49
|
+
id="notificationID1-heading"
|
|
17
50
|
>
|
|
18
51
|
Notification Heading
|
|
19
52
|
</h4>
|
|
@@ -77,6 +110,7 @@ exports[`Notification renders the UI snapshot correctly 2`] = `
|
|
|
77
110
|
</svg>
|
|
78
111
|
<h4
|
|
79
112
|
className="chakra-heading css-0"
|
|
113
|
+
id="notificationID2-heading"
|
|
80
114
|
>
|
|
81
115
|
Notification Heading
|
|
82
116
|
</h4>
|
|
@@ -140,6 +174,7 @@ exports[`Notification renders the UI snapshot correctly 3`] = `
|
|
|
140
174
|
</svg>
|
|
141
175
|
<h4
|
|
142
176
|
className="chakra-heading css-0"
|
|
177
|
+
id="notificationID3-heading"
|
|
143
178
|
>
|
|
144
179
|
Notification Heading
|
|
145
180
|
</h4>
|
|
@@ -162,6 +197,92 @@ exports[`Notification renders the UI snapshot correctly 4`] = `
|
|
|
162
197
|
className="css-0"
|
|
163
198
|
data-type="standard"
|
|
164
199
|
id="notificationID4"
|
|
200
|
+
>
|
|
201
|
+
<div
|
|
202
|
+
className="css-0"
|
|
203
|
+
>
|
|
204
|
+
<div
|
|
205
|
+
className="css-0"
|
|
206
|
+
>
|
|
207
|
+
<svg
|
|
208
|
+
aria-hidden={false}
|
|
209
|
+
className="chakra-icon css-onkibi"
|
|
210
|
+
focusable={false}
|
|
211
|
+
id="notificationID4-notification-icon"
|
|
212
|
+
role="img"
|
|
213
|
+
title="alert_notification_important icon"
|
|
214
|
+
viewBox="0 0 24 24"
|
|
215
|
+
>
|
|
216
|
+
<g
|
|
217
|
+
stroke="currentColor"
|
|
218
|
+
strokeWidth="1.5"
|
|
219
|
+
>
|
|
220
|
+
<path
|
|
221
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
222
|
+
fill="none"
|
|
223
|
+
strokeLinecap="round"
|
|
224
|
+
/>
|
|
225
|
+
<path
|
|
226
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
227
|
+
fill="currentColor"
|
|
228
|
+
strokeLinecap="round"
|
|
229
|
+
/>
|
|
230
|
+
<circle
|
|
231
|
+
cx="12"
|
|
232
|
+
cy="12"
|
|
233
|
+
fill="none"
|
|
234
|
+
r="11.25"
|
|
235
|
+
strokeMiterlimit="10"
|
|
236
|
+
/>
|
|
237
|
+
</g>
|
|
238
|
+
</svg>
|
|
239
|
+
<div
|
|
240
|
+
className="css-0"
|
|
241
|
+
>
|
|
242
|
+
Notification content.
|
|
243
|
+
</div>
|
|
244
|
+
</div>
|
|
245
|
+
</div>
|
|
246
|
+
</aside>
|
|
247
|
+
`;
|
|
248
|
+
|
|
249
|
+
exports[`Notification renders the UI snapshot correctly 5`] = `
|
|
250
|
+
<aside
|
|
251
|
+
className="css-0"
|
|
252
|
+
data-type="standard"
|
|
253
|
+
id="notificationID5"
|
|
254
|
+
>
|
|
255
|
+
<div
|
|
256
|
+
className="css-0"
|
|
257
|
+
>
|
|
258
|
+
<header
|
|
259
|
+
className="css-0"
|
|
260
|
+
>
|
|
261
|
+
<h4
|
|
262
|
+
className="chakra-heading css-0"
|
|
263
|
+
id="notificationID5-heading"
|
|
264
|
+
>
|
|
265
|
+
Notification Heading
|
|
266
|
+
</h4>
|
|
267
|
+
</header>
|
|
268
|
+
<div
|
|
269
|
+
className="css-0"
|
|
270
|
+
>
|
|
271
|
+
<div
|
|
272
|
+
className="css-0"
|
|
273
|
+
>
|
|
274
|
+
Notification content.
|
|
275
|
+
</div>
|
|
276
|
+
</div>
|
|
277
|
+
</div>
|
|
278
|
+
</aside>
|
|
279
|
+
`;
|
|
280
|
+
|
|
281
|
+
exports[`Notification renders the UI snapshot correctly 6`] = `
|
|
282
|
+
<aside
|
|
283
|
+
className="css-0"
|
|
284
|
+
data-type="standard"
|
|
285
|
+
id="notificationID6"
|
|
165
286
|
>
|
|
166
287
|
<div
|
|
167
288
|
className="css-0"
|