@nypl/design-system-react-components 0.25.13 → 0.26.0
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 +58 -0
- package/README.md +10 -10
- package/dist/components/Accordion/Accordion.d.ts +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +2 -2
- package/dist/components/Card/Card.d.ts +11 -9
- package/dist/components/Checkbox/Checkbox.d.ts +2 -2
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +5 -4
- package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +5 -6
- package/dist/components/Fieldset/Fieldset.d.ts +5 -6
- package/dist/components/Form/Form.d.ts +6 -6
- package/dist/components/Grid/GridTypes.d.ts +7 -7
- package/dist/components/Grid/SimpleGrid.d.ts +1 -1
- package/dist/components/Heading/Heading.d.ts +1 -1
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +9 -8
- package/dist/components/Hero/Hero.d.ts +2 -1
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +2 -10
- package/dist/components/Icons/Icon.d.ts +2 -1
- package/dist/components/Image/Image.d.ts +2 -2
- package/dist/components/Label/Label.d.ts +7 -4
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/List/List.d.ts +11 -11
- package/dist/components/List/ListTypes.d.ts +1 -1
- package/dist/components/Logo/Logo.d.ts +2 -1
- package/dist/components/Logo/LogoSvgs.d.ts +2 -0
- package/dist/components/Logo/LogoTypes.d.ts +2 -0
- package/dist/components/Notification/Notification.d.ts +4 -4
- package/dist/components/Pagination/Pagination.d.ts +2 -2
- package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +3 -3
- package/dist/components/Radio/Radio.d.ts +4 -6
- package/dist/components/RadioGroup/RadioGroup.d.ts +12 -6
- package/dist/components/SearchBar/SearchBar.d.ts +4 -4
- package/dist/components/Select/Select.d.ts +10 -6
- package/dist/components/Select/SelectTypes.d.ts +4 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +4 -3
- package/dist/components/Slider/Slider.d.ts +6 -4
- package/dist/components/StatusBadge/StatusBadge.d.ts +5 -1
- package/dist/components/StructuredContent/StructuredContent.d.ts +2 -2
- package/dist/components/Table/Table.d.ts +1 -1
- package/dist/components/Tabs/Tabs.d.ts +4 -3
- package/dist/components/Template/Template.d.ts +4 -3
- package/dist/components/Text/Text.d.ts +1 -1
- package/dist/components/TextInput/TextInput.d.ts +5 -5
- package/dist/components/Toggle/Toggle.d.ts +3 -4
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +2 -1
- package/dist/design-system-react-components.cjs.development.js +1663 -1139
- 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 +1667 -1143
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/hooks/useCarouselStyles.d.ts +3 -2
- package/dist/hooks/useNYPLTheme.d.ts +12 -0
- package/dist/index.d.ts +4 -1
- package/dist/styles.css +1 -1
- package/dist/theme/components/button.d.ts +10 -2
- package/dist/theme/components/card.d.ts +42 -22
- package/dist/theme/components/checkbox.d.ts +5 -4
- package/dist/theme/components/checkboxGroup.d.ts +1 -1
- package/dist/theme/components/componentWrapper.d.ts +2 -2
- package/dist/theme/components/customTable.d.ts +84 -1
- package/dist/theme/components/fieldset.d.ts +4 -14
- package/dist/theme/components/global.d.ts +23 -17
- package/dist/theme/components/heading.d.ts +53 -0
- package/dist/theme/components/helperErrorText.d.ts +1 -0
- package/dist/theme/components/hero.d.ts +20 -14
- package/dist/theme/components/label.d.ts +9 -10
- package/dist/theme/components/list.d.ts +99 -9
- package/dist/theme/components/radio.d.ts +6 -4
- package/dist/theme/components/radioGroup.d.ts +1 -1
- package/dist/theme/components/select.d.ts +34 -5
- package/dist/theme/components/skeletonLoader.d.ts +2 -2
- package/dist/theme/components/slider.d.ts +6 -3
- package/dist/theme/components/structuredContent.d.ts +197 -0
- package/dist/theme/components/textInput.d.ts +18 -6
- package/dist/theme/components/toggle.d.ts +7 -4
- package/dist/theme/foundations/global.d.ts +2 -0
- package/dist/theme/foundations/radii.d.ts +1 -0
- package/dist/theme/foundations/spacing.d.ts +46 -43
- package/package.json +5 -6
- package/src/components/Accordion/Accordion.stories.mdx +9 -9
- package/src/components/Accordion/Accordion.test.tsx +21 -0
- package/src/components/Accordion/Accordion.tsx +13 -9
- package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +276 -27
- package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -3
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +21 -5
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +52 -31
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +8 -7
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +211 -12
- package/src/components/Button/Button.stories.mdx +87 -23
- package/src/components/Button/Button.test.tsx +25 -0
- package/src/components/Button/Button.tsx +18 -7
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +27 -7
- package/src/components/Card/Card.stories.mdx +287 -194
- package/src/components/Card/Card.test.tsx +102 -0
- package/src/components/Card/Card.tsx +73 -32
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +195 -35
- package/src/components/Chakra/Grid.stories.mdx +4 -4
- package/src/components/Checkbox/Checkbox.stories.mdx +62 -10
- package/src/components/Checkbox/Checkbox.test.tsx +32 -9
- package/src/components/Checkbox/Checkbox.tsx +20 -15
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +134 -7
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +65 -17
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +137 -81
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +31 -21
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +332 -97
- package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +12 -0
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +39 -41
- package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +47 -34
- package/src/components/DatePicker/DatePicker.stories.mdx +63 -27
- package/src/components/DatePicker/DatePicker.test.tsx +89 -13
- package/src/components/DatePicker/DatePicker.tsx +62 -56
- package/src/components/DatePicker/_DatePicker.scss +71 -13
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +250 -206
- package/src/components/Fieldset/Fieldset.stories.mdx +33 -3
- package/src/components/Fieldset/Fieldset.test.tsx +58 -28
- package/src/components/Fieldset/Fieldset.tsx +35 -30
- package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +40 -19
- package/src/components/Form/Form.stories.mdx +72 -39
- package/src/components/Form/Form.test.tsx +58 -15
- package/src/components/Form/Form.tsx +89 -67
- package/src/components/Form/__snapshots__/Form.test.tsx.snap +83 -5
- package/src/components/Grid/GridTypes.tsx +7 -7
- package/src/components/Grid/SimpleGrid.stories.mdx +34 -6
- package/src/components/Grid/SimpleGrid.test.tsx +9 -0
- package/src/components/Grid/SimpleGrid.tsx +29 -20
- package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +16 -1
- package/src/components/Heading/Heading.stories.mdx +36 -3
- package/src/components/Heading/Heading.test.tsx +10 -0
- package/src/components/Heading/Heading.tsx +56 -50
- package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +26 -7
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +64 -42
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +15 -0
- package/src/components/HelperErrorText/HelperErrorText.tsx +40 -35
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +35 -4
- package/src/components/Hero/Hero.stories.mdx +125 -95
- package/src/components/Hero/Hero.test.tsx +33 -0
- package/src/components/Hero/Hero.tsx +135 -126
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +89 -17
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +26 -4
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +9 -19
- package/src/components/HorizontalRule/HorizontalRule.tsx +9 -26
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +18 -5
- package/src/components/Icons/Icon.stories.mdx +31 -6
- package/src/components/Icons/Icon.test.tsx +38 -0
- package/src/components/Icons/Icon.tsx +93 -76
- package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +129 -0
- package/src/components/Image/Image.stories.mdx +29 -5
- package/src/components/Image/Image.test.tsx +8 -0
- package/src/components/Image/Image.tsx +38 -26
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +24 -8
- package/src/components/Label/Label.stories.mdx +42 -20
- package/src/components/Label/Label.test.tsx +42 -17
- package/src/components/Label/Label.tsx +22 -13
- package/src/components/Label/__snapshots__/Label.test.tsx.snap +19 -15
- package/src/components/Link/Link.stories.mdx +25 -1
- package/src/components/Link/Link.test.tsx +21 -0
- package/src/components/Link/Link.tsx +8 -8
- package/src/components/Link/__snapshots__/Link.test.tsx.snap +37 -11
- package/src/components/List/List.stories.mdx +75 -40
- package/src/components/List/List.test.tsx +67 -19
- package/src/components/List/List.tsx +38 -25
- package/src/components/List/ListTypes.tsx +1 -1
- package/src/components/List/__snapshots__/List.test.tsx.snap +110 -8
- package/src/components/Logo/Logo.stories.mdx +30 -6
- package/src/components/Logo/Logo.test.tsx +17 -0
- package/src/components/Logo/Logo.tsx +18 -6
- package/src/components/Logo/LogoSvgs.tsx +4 -0
- package/src/components/Logo/LogoTypes.tsx +2 -0
- package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +73 -2
- package/src/components/Modal/Modal.stories.mdx +13 -0
- package/src/components/Notification/Notification.stories.mdx +25 -1
- package/src/components/Notification/Notification.test.tsx +23 -0
- package/src/components/Notification/Notification.tsx +46 -44
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +158 -29
- package/src/components/Pagination/Pagination.stories.mdx +24 -4
- package/src/components/Pagination/Pagination.test.tsx +25 -0
- package/src/components/Pagination/Pagination.tsx +6 -6
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +244 -27
- package/src/components/Placeholder/Placeholder.tsx +3 -1
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +76 -10
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +81 -11
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +17 -9
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +101 -14
- package/src/components/Radio/Radio.stories.mdx +64 -12
- package/src/components/Radio/Radio.test.tsx +28 -8
- package/src/components/Radio/Radio.tsx +66 -63
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +103 -6
- package/src/components/RadioGroup/RadioGroup.stories.mdx +224 -89
- package/src/components/RadioGroup/RadioGroup.test.tsx +122 -62
- package/src/components/RadioGroup/RadioGroup.tsx +106 -100
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +1236 -1020
- package/src/components/SearchBar/SearchBar.stories.mdx +101 -36
- package/src/components/SearchBar/{SearchBar.Test.tsx → SearchBar.test.tsx} +46 -4
- package/src/components/SearchBar/SearchBar.tsx +17 -8
- package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +1039 -0
- package/src/components/Select/Select.stories.mdx +128 -49
- package/src/components/Select/Select.test.tsx +63 -16
- package/src/components/Select/Select.tsx +125 -92
- package/src/components/Select/SelectTypes.tsx +5 -0
- package/src/components/Select/__snapshots__/Select.test.tsx.snap +749 -409
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +42 -10
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +8 -0
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +76 -72
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +169 -10
- package/src/components/Slider/Slider.stories.mdx +91 -42
- package/src/components/Slider/Slider.test.tsx +65 -17
- package/src/components/Slider/Slider.tsx +26 -19
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +403 -226
- package/src/components/StatusBadge/StatusBadge.stories.mdx +19 -1
- package/src/components/StatusBadge/StatusBadge.test.tsx +16 -0
- package/src/components/StatusBadge/StatusBadge.tsx +25 -20
- package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +22 -3
- package/src/components/StructuredContent/StructuredContent.stories.mdx +131 -12
- package/src/components/StructuredContent/StructuredContent.test.tsx +34 -0
- package/src/components/StructuredContent/StructuredContent.tsx +80 -75
- package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +102 -17
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +5 -5
- package/src/components/StyleGuide/Breakpoints.stories.mdx +6 -6
- package/src/components/StyleGuide/Buttons.stories.mdx +2 -12
- package/src/components/StyleGuide/ColorCard.tsx +1 -1
- package/src/components/StyleGuide/Colors.stories.mdx +1 -2
- package/src/components/StyleGuide/DesignTokens.stories.mdx +56 -26
- package/src/components/StyleGuide/Forms.stories.mdx +27 -12
- package/src/components/StyleGuide/Iconography.stories.mdx +2 -12
- package/src/components/StyleGuide/Spacing.stories.mdx +80 -41
- package/src/components/StyleGuide/Typography.stories.mdx +30 -21
- package/src/components/Table/Table.stories.mdx +38 -11
- package/src/components/Table/Table.test.tsx +15 -0
- package/src/components/Table/Table.tsx +7 -7
- package/src/components/Table/__snapshots__/Table.test.tsx.snap +408 -5
- package/src/components/Tabs/Tabs.stories.mdx +52 -3
- package/src/components/Tabs/Tabs.test.tsx +16 -0
- package/src/components/Tabs/Tabs.tsx +10 -6
- package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +394 -5
- package/src/components/Template/Template.stories.mdx +47 -43
- package/src/components/Template/Template.test.tsx +33 -0
- package/src/components/Template/Template.tsx +65 -60
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +191 -20
- package/src/components/Text/Text.stories.mdx +20 -1
- package/src/components/Text/Text.test.tsx +12 -0
- package/src/components/Text/Text.tsx +6 -4
- package/src/components/Text/__snapshots__/Text.test.tsx.snap +21 -4
- package/src/components/TextInput/TextInput.stories.mdx +65 -19
- package/src/components/TextInput/TextInput.test.tsx +42 -28
- package/src/components/TextInput/TextInput.tsx +121 -113
- package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +96 -73
- package/src/components/Toggle/Toggle.stories.mdx +80 -22
- package/src/components/Toggle/Toggle.test.tsx +27 -9
- package/src/components/Toggle/Toggle.tsx +22 -18
- package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +128 -5
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +52 -4
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +23 -0
- package/src/components/VideoPlayer/VideoPlayer.tsx +133 -126
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +81 -39
- package/src/docs/Chakra.stories.mdx +50 -9
- package/src/docs/Welcome.stories.mdx +160 -41
- package/src/hooks/useCarouselStyles.stories.mdx +22 -2
- package/src/hooks/useCarouselStyles.ts +3 -2
- package/src/hooks/useNYPLTheme.stories.mdx +101 -0
- package/src/hooks/useNYPLTheme.ts +30 -6
- package/src/hooks/useWindowSize.stories.mdx +23 -0
- package/src/index.ts +4 -1
- package/src/styles/base/_place-holder.scss +1 -1
- package/src/theme/components/button.ts +15 -7
- package/src/theme/components/card.ts +30 -19
- package/src/theme/components/checkbox.ts +10 -8
- package/src/theme/components/checkboxGroup.ts +1 -1
- package/src/theme/components/componentWrapper.ts +2 -2
- package/src/theme/components/customTable.ts +39 -31
- package/src/theme/components/fieldset.ts +1 -2
- package/src/theme/components/global.ts +25 -20
- package/src/theme/components/heading.ts +1 -1
- package/src/theme/components/helperErrorText.ts +1 -0
- package/src/theme/components/hero.ts +13 -15
- package/src/theme/components/label.ts +4 -3
- package/src/theme/components/list.ts +73 -66
- package/src/theme/components/notification.ts +2 -2
- package/src/theme/components/radio.ts +9 -9
- package/src/theme/components/radioGroup.ts +1 -1
- package/src/theme/components/select.ts +35 -22
- package/src/theme/components/skeletonLoader.ts +3 -3
- package/src/theme/components/slider.ts +8 -7
- package/src/theme/components/statusBadge.ts +2 -2
- package/src/theme/components/structuredContent.ts +66 -1
- package/src/theme/components/tabs.ts +2 -2
- package/src/theme/components/template.ts +9 -9
- package/src/theme/components/textInput.ts +13 -12
- package/src/theme/components/toggle.ts +17 -10
- package/src/theme/components/videoPlayer.ts +1 -1
- package/src/theme/foundations/colors.ts +1 -1
- package/src/theme/foundations/radii.ts +1 -0
- package/src/theme/foundations/spacing.ts +70 -22
- package/src/theme/foundations/typography.ts +2 -2
- package/src/utils/componentCategories.ts +1 -2
- package/dist/components/SearchBar/SearchBar.Test.d.ts +0 -1
- package/dist/helpers/generateUUID.d.ts +0 -1
- package/src/helpers/generateUUID.tsx +0 -5
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`List Renders the UI snapshot correctly 1`] = `
|
|
4
4
|
<ul
|
|
5
|
-
className="css-
|
|
5
|
+
className="css-1xdhyk6"
|
|
6
6
|
id="unordered"
|
|
7
7
|
>
|
|
8
8
|
<li>
|
|
@@ -22,7 +22,7 @@ exports[`List Renders the UI snapshot correctly 1`] = `
|
|
|
22
22
|
|
|
23
23
|
exports[`List Renders the UI snapshot correctly 2`] = `
|
|
24
24
|
<ul
|
|
25
|
-
className="css-
|
|
25
|
+
className="css-1xdhyk6"
|
|
26
26
|
id="ordered"
|
|
27
27
|
>
|
|
28
28
|
<li>
|
|
@@ -42,7 +42,7 @@ exports[`List Renders the UI snapshot correctly 2`] = `
|
|
|
42
42
|
|
|
43
43
|
exports[`List Renders the UI snapshot correctly 3`] = `
|
|
44
44
|
<ol
|
|
45
|
-
className="css-
|
|
45
|
+
className="css-1xdhyk6"
|
|
46
46
|
id="unordered-no-styling"
|
|
47
47
|
>
|
|
48
48
|
<li>
|
|
@@ -62,7 +62,7 @@ exports[`List Renders the UI snapshot correctly 3`] = `
|
|
|
62
62
|
|
|
63
63
|
exports[`List Renders the UI snapshot correctly 4`] = `
|
|
64
64
|
<ol
|
|
65
|
-
className="css-
|
|
65
|
+
className="css-1xdhyk6"
|
|
66
66
|
id="ordered-no-styling"
|
|
67
67
|
>
|
|
68
68
|
<li>
|
|
@@ -82,12 +82,114 @@ exports[`List Renders the UI snapshot correctly 4`] = `
|
|
|
82
82
|
|
|
83
83
|
exports[`List Renders the UI snapshot correctly 5`] = `
|
|
84
84
|
<section
|
|
85
|
-
className="css-
|
|
86
|
-
id="
|
|
85
|
+
className="css-1xdhyk6"
|
|
86
|
+
id="description"
|
|
87
87
|
>
|
|
88
88
|
<h2
|
|
89
|
-
className="chakra-heading css-
|
|
90
|
-
id="
|
|
89
|
+
className="chakra-heading css-1xdhyk6"
|
|
90
|
+
id="description-heading"
|
|
91
|
+
>
|
|
92
|
+
Animal Crossing Fish
|
|
93
|
+
</h2>
|
|
94
|
+
<dl>
|
|
95
|
+
<dt>
|
|
96
|
+
Mahi-mahi
|
|
97
|
+
</dt>
|
|
98
|
+
<dd>
|
|
99
|
+
<p>
|
|
100
|
+
The mahi-mahi is an ocean fish known...
|
|
101
|
+
</p>
|
|
102
|
+
</dd>
|
|
103
|
+
<dt>
|
|
104
|
+
Golden trout
|
|
105
|
+
</dt>
|
|
106
|
+
<dd>
|
|
107
|
+
The golden trout is a beautifully colored fish...
|
|
108
|
+
</dd>
|
|
109
|
+
</dl>
|
|
110
|
+
</section>
|
|
111
|
+
`;
|
|
112
|
+
|
|
113
|
+
exports[`List Renders the UI snapshot correctly 6`] = `
|
|
114
|
+
<ul
|
|
115
|
+
className="css-kle7zy"
|
|
116
|
+
id="chakra"
|
|
117
|
+
>
|
|
118
|
+
<li>
|
|
119
|
+
Mahi-mahi
|
|
120
|
+
</li>
|
|
121
|
+
<li>
|
|
122
|
+
Golden trout
|
|
123
|
+
</li>
|
|
124
|
+
<li>
|
|
125
|
+
Rainbowfish
|
|
126
|
+
</li>
|
|
127
|
+
<li>
|
|
128
|
+
Suckerfish
|
|
129
|
+
</li>
|
|
130
|
+
</ul>
|
|
131
|
+
`;
|
|
132
|
+
|
|
133
|
+
exports[`List Renders the UI snapshot correctly 7`] = `
|
|
134
|
+
<ul
|
|
135
|
+
className="css-1xdhyk6"
|
|
136
|
+
data-testid="other"
|
|
137
|
+
id="other"
|
|
138
|
+
>
|
|
139
|
+
<li>
|
|
140
|
+
Mahi-mahi
|
|
141
|
+
</li>
|
|
142
|
+
<li>
|
|
143
|
+
Golden trout
|
|
144
|
+
</li>
|
|
145
|
+
<li>
|
|
146
|
+
Rainbowfish
|
|
147
|
+
</li>
|
|
148
|
+
<li>
|
|
149
|
+
Suckerfish
|
|
150
|
+
</li>
|
|
151
|
+
</ul>
|
|
152
|
+
`;
|
|
153
|
+
|
|
154
|
+
exports[`List Renders the UI snapshot correctly 8`] = `
|
|
155
|
+
<section
|
|
156
|
+
className="css-kle7zy"
|
|
157
|
+
id="chakra"
|
|
158
|
+
>
|
|
159
|
+
<h2
|
|
160
|
+
className="chakra-heading css-1xdhyk6"
|
|
161
|
+
id="chakra-heading"
|
|
162
|
+
>
|
|
163
|
+
Animal Crossing Fish
|
|
164
|
+
</h2>
|
|
165
|
+
<dl>
|
|
166
|
+
<dt>
|
|
167
|
+
Mahi-mahi
|
|
168
|
+
</dt>
|
|
169
|
+
<dd>
|
|
170
|
+
<p>
|
|
171
|
+
The mahi-mahi is an ocean fish known...
|
|
172
|
+
</p>
|
|
173
|
+
</dd>
|
|
174
|
+
<dt>
|
|
175
|
+
Golden trout
|
|
176
|
+
</dt>
|
|
177
|
+
<dd>
|
|
178
|
+
The golden trout is a beautifully colored fish...
|
|
179
|
+
</dd>
|
|
180
|
+
</dl>
|
|
181
|
+
</section>
|
|
182
|
+
`;
|
|
183
|
+
|
|
184
|
+
exports[`List Renders the UI snapshot correctly 9`] = `
|
|
185
|
+
<section
|
|
186
|
+
className="css-1xdhyk6"
|
|
187
|
+
data-testid="other"
|
|
188
|
+
id="other"
|
|
189
|
+
>
|
|
190
|
+
<h2
|
|
191
|
+
className="chakra-heading css-1xdhyk6"
|
|
192
|
+
id="other-heading"
|
|
91
193
|
>
|
|
92
194
|
Animal Crossing Fish
|
|
93
195
|
</h2>
|
|
@@ -57,10 +57,23 @@ export const sizesEnumValues = getStorybookEnumValues(LogoSizes, "LogoSizes");
|
|
|
57
57
|
| Component Version | DS Version |
|
|
58
58
|
| ----------------- | ---------- |
|
|
59
59
|
| Added | `0.25.9` |
|
|
60
|
-
| Latest | `0.
|
|
60
|
+
| Latest | `0.26.0` |
|
|
61
|
+
|
|
62
|
+
## Table of Contents
|
|
63
|
+
|
|
64
|
+
- [Overview](#overview)
|
|
65
|
+
- [Component Props](#component-props)
|
|
66
|
+
- [Accessibility](#accessibility)
|
|
67
|
+
- [Logo Sizes](#logo-sizes)
|
|
68
|
+
- [All Logos](#all-logos)
|
|
69
|
+
- [Custom Logos](#custom-logos)
|
|
70
|
+
|
|
71
|
+
## Overview
|
|
61
72
|
|
|
62
73
|
<Description of={Logo} />
|
|
63
74
|
|
|
75
|
+
## Component Props
|
|
76
|
+
|
|
64
77
|
<Canvas withToolbar>
|
|
65
78
|
<Story
|
|
66
79
|
name="Logo with Controls"
|
|
@@ -142,11 +155,22 @@ export const allLogosGrid = (list) => (
|
|
|
142
155
|
|
|
143
156
|
## Accessibility
|
|
144
157
|
|
|
145
|
-
For accessibility purposes, every DS `Logo` will
|
|
146
|
-
its `svg` file name in the `title` element. The
|
|
147
|
-
is the logo's code name. Pass in better
|
|
148
|
-
when using the `Logo` component in your
|
|
149
|
-
a better descriptive title for the
|
|
158
|
+
For accessibility purposes, every Reservoir Design System (DS) `Logo` will
|
|
159
|
+
render the `svg` element with its `svg` file name in the `title` element. The
|
|
160
|
+
default text in the `title` element is the logo's code name. Pass in better
|
|
161
|
+
descriptive text in the `title` prop when using the `Logo` component in your
|
|
162
|
+
application. This will give screenreaders a better descriptive title for the
|
|
163
|
+
`svg` graphic.
|
|
164
|
+
|
|
165
|
+
`Logos`s are decorative by default. This means that they are presentational and
|
|
166
|
+
screenreaders will not read them because the `aria-hidden` attribute is set to
|
|
167
|
+
`true`.
|
|
168
|
+
|
|
169
|
+
Resources:
|
|
170
|
+
|
|
171
|
+
- [W3C Design System SVG Icons](https://design-system.w3.org/styles/svg-icons.html)
|
|
172
|
+
- [CSS-Tricks Accessible SVG Icons](https://css-tricks.com/accessible-svg-icons/)
|
|
173
|
+
- [Chakra UI Icon](https://chakra-ui.com/docs/components/media-and-icons/icon)
|
|
150
174
|
|
|
151
175
|
## Logo Sizes
|
|
152
176
|
|
|
@@ -101,8 +101,25 @@ describe("Logo", () => {
|
|
|
101
101
|
/>
|
|
102
102
|
)
|
|
103
103
|
.toJSON();
|
|
104
|
+
const withChakraProps = renderer
|
|
105
|
+
.create(
|
|
106
|
+
<Logo
|
|
107
|
+
id="chakra"
|
|
108
|
+
name={LogoNames.NYPLBlack}
|
|
109
|
+
p="20px"
|
|
110
|
+
color="ui.error.primary"
|
|
111
|
+
/>
|
|
112
|
+
)
|
|
113
|
+
.toJSON();
|
|
114
|
+
const withOtherProps = renderer
|
|
115
|
+
.create(
|
|
116
|
+
<Logo id="props" name={LogoNames.NYPLBlack} data-testid="props" />
|
|
117
|
+
)
|
|
118
|
+
.toJSON();
|
|
104
119
|
|
|
105
120
|
expect(standard).toMatchSnapshot();
|
|
106
121
|
expect(withCustomSize).toMatchSnapshot();
|
|
122
|
+
expect(withChakraProps).toMatchSnapshot();
|
|
123
|
+
expect(withOtherProps).toMatchSnapshot();
|
|
107
124
|
});
|
|
108
125
|
});
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Box,
|
|
3
|
+
chakra,
|
|
4
|
+
Icon as ChakraIcon,
|
|
5
|
+
useStyleConfig,
|
|
6
|
+
} from "@chakra-ui/react";
|
|
1
7
|
import * as React from "react";
|
|
2
|
-
import { Icon as ChakraIcon, Box, useStyleConfig } from "@chakra-ui/react";
|
|
3
8
|
|
|
4
|
-
import generateUUID from "../../helpers/generateUUID";
|
|
5
9
|
import { LogoNames, LogoSizes } from "./LogoTypes";
|
|
6
10
|
import logoSvgs from "./LogoSvgs";
|
|
7
11
|
|
|
@@ -29,16 +33,17 @@ export interface LogoProps {
|
|
|
29
33
|
* The `Logo` component renders SVG-based logos and color variants that are
|
|
30
34
|
* commonly used by the New York Public Library.
|
|
31
35
|
*/
|
|
32
|
-
export
|
|
36
|
+
export const Logo = chakra((props: React.PropsWithChildren<LogoProps>) => {
|
|
33
37
|
const {
|
|
34
38
|
additionalStyles = {},
|
|
35
39
|
children,
|
|
36
40
|
className,
|
|
37
41
|
decorative = false,
|
|
38
|
-
id
|
|
42
|
+
id,
|
|
39
43
|
name,
|
|
40
44
|
size = LogoSizes.Medium,
|
|
41
45
|
title = `${name} logo`,
|
|
46
|
+
...rest
|
|
42
47
|
} = props;
|
|
43
48
|
const styles = useStyleConfig("Logo", {
|
|
44
49
|
size,
|
|
@@ -49,6 +54,7 @@ export default function Logo(props: React.PropsWithChildren<LogoProps>) {
|
|
|
49
54
|
id,
|
|
50
55
|
role: "img",
|
|
51
56
|
title,
|
|
57
|
+
...rest,
|
|
52
58
|
};
|
|
53
59
|
let childSVG = null;
|
|
54
60
|
|
|
@@ -98,5 +104,11 @@ export default function Logo(props: React.PropsWithChildren<LogoProps>) {
|
|
|
98
104
|
);
|
|
99
105
|
}
|
|
100
106
|
|
|
101
|
-
return
|
|
102
|
-
}
|
|
107
|
+
return (
|
|
108
|
+
<Box __css={styles} {...rest}>
|
|
109
|
+
{childSVG}
|
|
110
|
+
</Box>
|
|
111
|
+
);
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
export default Logo;
|
|
@@ -23,6 +23,8 @@ import logo_qpl_alt_white from "../../../icons/svg/logo_qpl_alt_white.svg";
|
|
|
23
23
|
import logo_qpl_black from "../../../icons/svg/logo_qpl_black.svg";
|
|
24
24
|
import logo_qpl_color from "../../../icons/svg/logo_qpl_color.svg";
|
|
25
25
|
import logo_qpl_white from "../../../icons/svg/logo_qpl_white.svg";
|
|
26
|
+
import logo_reservoir_icon_color from "../../../icons/svg/logo_reservoir_icon_color.svg";
|
|
27
|
+
import logo_reservoir_vertical_color from "../../../icons/svg/logo_reservoir_vertical_color.svg";
|
|
26
28
|
import logo_schomburg_black from "../../../icons/svg/logo_schomburg_black.svg";
|
|
27
29
|
import logo_schomburg_circle_black from "../../../icons/svg/logo_schomburg_circle_black.svg";
|
|
28
30
|
import logo_schomburg_circle_color from "../../../icons/svg/logo_schomburg_circle_color.svg";
|
|
@@ -62,6 +64,8 @@ export default {
|
|
|
62
64
|
logo_qpl_black,
|
|
63
65
|
logo_qpl_color,
|
|
64
66
|
logo_qpl_white,
|
|
67
|
+
logo_reservoir_icon_color,
|
|
68
|
+
logo_reservoir_vertical_color,
|
|
65
69
|
logo_schomburg_black,
|
|
66
70
|
logo_schomburg_circle_black,
|
|
67
71
|
logo_schomburg_circle_color,
|
|
@@ -38,6 +38,8 @@ export enum LogoNames {
|
|
|
38
38
|
QueensPublicLibraryWhite = "logo_qpl_white",
|
|
39
39
|
QueensPublicLibraryAltBlack = "logo_qpl_alt_black",
|
|
40
40
|
QueensPublicLibraryAltWhite = "logo_qpl_alt_white",
|
|
41
|
+
ReservoirIconColor = "logo_reservoir_icon_color",
|
|
42
|
+
ReservoirVerticalColor = "logo_reservoir_vertical_color",
|
|
41
43
|
SchomburgColor = "logo_schomburg_color",
|
|
42
44
|
SchomburgBlack = "logo_schomburg_black",
|
|
43
45
|
SchomburgWhite = "logo_schomburg_white",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
exports[`Logo renders the UI snapshot correctly 1`] = `
|
|
4
4
|
<svg
|
|
5
5
|
aria-hidden={false}
|
|
6
|
-
className="chakra-icon css-
|
|
6
|
+
className="chakra-icon css-1grhd2q"
|
|
7
7
|
focusable={false}
|
|
8
8
|
id="test-logo"
|
|
9
9
|
role="img"
|
|
@@ -38,7 +38,7 @@ exports[`Logo renders the UI snapshot correctly 1`] = `
|
|
|
38
38
|
exports[`Logo renders the UI snapshot correctly 2`] = `
|
|
39
39
|
<svg
|
|
40
40
|
aria-hidden={false}
|
|
41
|
-
className="chakra-icon css-
|
|
41
|
+
className="chakra-icon css-1grhd2q"
|
|
42
42
|
focusable={false}
|
|
43
43
|
id="test-logo-size"
|
|
44
44
|
role="img"
|
|
@@ -69,3 +69,74 @@ exports[`Logo renders the UI snapshot correctly 2`] = `
|
|
|
69
69
|
</g>
|
|
70
70
|
</svg>
|
|
71
71
|
`;
|
|
72
|
+
|
|
73
|
+
exports[`Logo renders the UI snapshot correctly 3`] = `
|
|
74
|
+
<svg
|
|
75
|
+
aria-hidden={false}
|
|
76
|
+
className="chakra-icon css-1ayys74"
|
|
77
|
+
focusable={false}
|
|
78
|
+
id="chakra"
|
|
79
|
+
role="img"
|
|
80
|
+
title="logo_nypl_full_black logo"
|
|
81
|
+
viewBox="0 0 24 24"
|
|
82
|
+
>
|
|
83
|
+
<g
|
|
84
|
+
stroke="currentColor"
|
|
85
|
+
strokeWidth="1.5"
|
|
86
|
+
>
|
|
87
|
+
<path
|
|
88
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
89
|
+
fill="none"
|
|
90
|
+
strokeLinecap="round"
|
|
91
|
+
/>
|
|
92
|
+
<path
|
|
93
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
94
|
+
fill="currentColor"
|
|
95
|
+
strokeLinecap="round"
|
|
96
|
+
/>
|
|
97
|
+
<circle
|
|
98
|
+
cx="12"
|
|
99
|
+
cy="12"
|
|
100
|
+
fill="none"
|
|
101
|
+
r="11.25"
|
|
102
|
+
strokeMiterlimit="10"
|
|
103
|
+
/>
|
|
104
|
+
</g>
|
|
105
|
+
</svg>
|
|
106
|
+
`;
|
|
107
|
+
|
|
108
|
+
exports[`Logo renders the UI snapshot correctly 4`] = `
|
|
109
|
+
<svg
|
|
110
|
+
aria-hidden={false}
|
|
111
|
+
className="chakra-icon css-1grhd2q"
|
|
112
|
+
data-testid="props"
|
|
113
|
+
focusable={false}
|
|
114
|
+
id="props"
|
|
115
|
+
role="img"
|
|
116
|
+
title="logo_nypl_full_black logo"
|
|
117
|
+
viewBox="0 0 24 24"
|
|
118
|
+
>
|
|
119
|
+
<g
|
|
120
|
+
stroke="currentColor"
|
|
121
|
+
strokeWidth="1.5"
|
|
122
|
+
>
|
|
123
|
+
<path
|
|
124
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
125
|
+
fill="none"
|
|
126
|
+
strokeLinecap="round"
|
|
127
|
+
/>
|
|
128
|
+
<path
|
|
129
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
130
|
+
fill="currentColor"
|
|
131
|
+
strokeLinecap="round"
|
|
132
|
+
/>
|
|
133
|
+
<circle
|
|
134
|
+
cx="12"
|
|
135
|
+
cy="12"
|
|
136
|
+
fill="none"
|
|
137
|
+
r="11.25"
|
|
138
|
+
strokeMiterlimit="10"
|
|
139
|
+
/>
|
|
140
|
+
</g>
|
|
141
|
+
</svg>
|
|
142
|
+
`;
|
|
@@ -34,6 +34,17 @@ import { getCategory } from "../../utils/componentCategories";
|
|
|
34
34
|
| Added | `0.1.0` |
|
|
35
35
|
| Latest | `0.3.5` |
|
|
36
36
|
|
|
37
|
+
## Table of Contents
|
|
38
|
+
|
|
39
|
+
- [Overview](#overview)
|
|
40
|
+
- [Component Props](#component-props)
|
|
41
|
+
- [Code Implementation](#code-implementation)
|
|
42
|
+
|
|
43
|
+
## Overview
|
|
44
|
+
|
|
45
|
+
_Note: This component is going through an accessibility review and is not
|
|
46
|
+
recommended for use until it is updated._
|
|
47
|
+
|
|
37
48
|
<Description of={Modal} />
|
|
38
49
|
|
|
39
50
|
export const ModalStory = (args) => {
|
|
@@ -124,6 +135,8 @@ export const ModalStory = (args) => {
|
|
|
124
135
|
);
|
|
125
136
|
};
|
|
126
137
|
|
|
138
|
+
## Component Props
|
|
139
|
+
|
|
127
140
|
<Canvas withToolbar>
|
|
128
141
|
<Story
|
|
129
142
|
name="Modal"
|
|
@@ -59,7 +59,18 @@ export const enumValues = getStorybookEnumValues(
|
|
|
59
59
|
| Component Version | DS Version |
|
|
60
60
|
| ----------------- | ---------- |
|
|
61
61
|
| Added | `0.23.2` |
|
|
62
|
-
| Latest | `0.
|
|
62
|
+
| Latest | `0.26.0` |
|
|
63
|
+
|
|
64
|
+
## Table of Contents
|
|
65
|
+
|
|
66
|
+
- [Overview](#overview)
|
|
67
|
+
- [Component Props](#component-props)
|
|
68
|
+
- [Accessibility](#accessibility)
|
|
69
|
+
- [Variants](#variants)
|
|
70
|
+
- [Custom Icon](#custom-icon)
|
|
71
|
+
- [Dismissible](#dismissible)
|
|
72
|
+
|
|
73
|
+
## Overview
|
|
63
74
|
|
|
64
75
|
<Description of={Notification} />
|
|
65
76
|
|
|
@@ -70,6 +81,8 @@ In the preview below, the border around the `Notification` is not part of the
|
|
|
70
81
|
component. It has been added to help illustrate how the `Notification` sits
|
|
71
82
|
within a parent element.
|
|
72
83
|
|
|
84
|
+
## Component Props
|
|
85
|
+
|
|
73
86
|
<Canvas>
|
|
74
87
|
<Story
|
|
75
88
|
name="Notification with Controls"
|
|
@@ -118,11 +131,22 @@ be rendered inside other landmark elements such as the `header` and `footer`
|
|
|
118
131
|
landmark elements. Adding a `Notification` component inside an HTML `main` landmark
|
|
119
132
|
element is acceptable.
|
|
120
133
|
|
|
134
|
+
Every `Notification` component must have a unique `aria-label` attribute. This
|
|
135
|
+
is set through the `ariaLabel` prop. A unique `aria-label` value, along with the
|
|
136
|
+
`aside` HTML landmark element, helps screen readers better navigate a page with
|
|
137
|
+
multiple `Notification`s.
|
|
138
|
+
|
|
121
139
|
Icons rendered in the `Notification` component are decorative by default which
|
|
122
140
|
means that they are hidden to screen readers. Since the "X" close icon inside the
|
|
123
141
|
dismissible button is decorative and because there is no discernible text inside
|
|
124
142
|
the button, an `aria-label` attribute is added to the button.
|
|
125
143
|
|
|
144
|
+
Resources:
|
|
145
|
+
|
|
146
|
+
- [MDN Aria: complementary role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/complementary_role)
|
|
147
|
+
- [Deque Creating Accessible SVGs](https://www.deque.com/blog/creating-accessible-svgs/)
|
|
148
|
+
- [CSS Tricks Accessible SVG Icons](https://css-tricks.com/accessible-svg-icons/)
|
|
149
|
+
|
|
126
150
|
## Variants
|
|
127
151
|
|
|
128
152
|
### With NotificationHeading
|
|
@@ -247,6 +247,27 @@ describe("Notification", () => {
|
|
|
247
247
|
/>
|
|
248
248
|
)
|
|
249
249
|
.toJSON();
|
|
250
|
+
const withChakraProps = renderer
|
|
251
|
+
.create(
|
|
252
|
+
<Notification
|
|
253
|
+
id="chakra"
|
|
254
|
+
notificationContent={<>Notification content.</>}
|
|
255
|
+
notificationHeading="Notification Heading"
|
|
256
|
+
p="20px"
|
|
257
|
+
color="ui.error.primary"
|
|
258
|
+
/>
|
|
259
|
+
)
|
|
260
|
+
.toJSON();
|
|
261
|
+
const withOtherProps = renderer
|
|
262
|
+
.create(
|
|
263
|
+
<Notification
|
|
264
|
+
id="props"
|
|
265
|
+
notificationContent={<>Notification content.</>}
|
|
266
|
+
notificationHeading="Notification Heading"
|
|
267
|
+
data-testid="props"
|
|
268
|
+
/>
|
|
269
|
+
)
|
|
270
|
+
.toJSON();
|
|
250
271
|
|
|
251
272
|
expect(standard).toMatchSnapshot();
|
|
252
273
|
expect(announcement).toMatchSnapshot();
|
|
@@ -255,5 +276,7 @@ describe("Notification", () => {
|
|
|
255
276
|
expect(withoutAnIcon).toMatchSnapshot();
|
|
256
277
|
expect(withoutHeadingAndIcon).toMatchSnapshot();
|
|
257
278
|
expect(dismissible).toMatchSnapshot();
|
|
279
|
+
expect(withChakraProps).toMatchSnapshot();
|
|
280
|
+
expect(withOtherProps).toMatchSnapshot();
|
|
258
281
|
});
|
|
259
282
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { Box, chakra, useMultiStyleConfig } from "@chakra-ui/react";
|
|
1
2
|
import React, { useState } from "react";
|
|
2
|
-
import { Box, useMultiStyleConfig } from "@chakra-ui/react";
|
|
3
3
|
|
|
4
4
|
import Button from "../Button/Button";
|
|
5
5
|
import { ButtonTypes } from "../Button/ButtonTypes";
|
|
@@ -8,8 +8,6 @@ import { HeadingLevels } from "../Heading/HeadingTypes";
|
|
|
8
8
|
import Icon from "../Icons/Icon";
|
|
9
9
|
import { IconColors, IconNames, IconSizes } from "../Icons/IconTypes";
|
|
10
10
|
import { NotificationTypes } from "./NotificationTypes";
|
|
11
|
-
import generateUUID from "../../helpers/generateUUID";
|
|
12
|
-
|
|
13
11
|
interface BaseProps {
|
|
14
12
|
/** Optional prop to control text alignment in `NotificationContent` */
|
|
15
13
|
alignText?: boolean;
|
|
@@ -52,66 +50,67 @@ export interface NotificationProps extends BasePropsWithoutAlignText {
|
|
|
52
50
|
/**
|
|
53
51
|
* NotificationHeading child-component.
|
|
54
52
|
*/
|
|
55
|
-
export
|
|
56
|
-
props: React.PropsWithChildren<BasePropsWithoutAlignText>
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
</
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
53
|
+
export const NotificationHeading = chakra(
|
|
54
|
+
(props: React.PropsWithChildren<BasePropsWithoutAlignText>) => {
|
|
55
|
+
const { children, icon, id, isCentered, notificationType, ...rest } = props;
|
|
56
|
+
const styles = useMultiStyleConfig("NotificationHeading", {
|
|
57
|
+
icon,
|
|
58
|
+
isCentered,
|
|
59
|
+
notificationType,
|
|
60
|
+
});
|
|
61
|
+
return (
|
|
62
|
+
<Box as="header" __css={styles} {...rest}>
|
|
63
|
+
{icon}
|
|
64
|
+
<Heading
|
|
65
|
+
additionalStyles={styles.heading}
|
|
66
|
+
id={`${id}-heading`}
|
|
67
|
+
level={HeadingLevels.Four}
|
|
68
|
+
>
|
|
69
|
+
{children}
|
|
70
|
+
</Heading>
|
|
71
|
+
</Box>
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
);
|
|
77
75
|
|
|
78
76
|
/**
|
|
79
77
|
* NotificationContent child-component.
|
|
80
78
|
*/
|
|
81
|
-
export
|
|
82
|
-
props: React.PropsWithChildren<BasePropsWithoutIsCentered>
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
79
|
+
export const NotificationContent = chakra(
|
|
80
|
+
(props: React.PropsWithChildren<BasePropsWithoutIsCentered>) => {
|
|
81
|
+
const { alignText, children, icon, notificationType, ...rest } = props;
|
|
82
|
+
const styles = useMultiStyleConfig("NotificationContent", {
|
|
83
|
+
alignText,
|
|
84
|
+
icon,
|
|
85
|
+
notificationType,
|
|
86
|
+
});
|
|
87
|
+
return (
|
|
88
|
+
<Box __css={styles} {...rest}>
|
|
89
|
+
{icon}
|
|
90
|
+
<Box __css={styles.content}>{children}</Box>
|
|
91
|
+
</Box>
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
);
|
|
97
95
|
|
|
98
96
|
/**
|
|
99
97
|
* Component used to present users with three different levels of notifications:
|
|
100
98
|
* standard, announcement, and warning.
|
|
101
99
|
*/
|
|
102
|
-
export
|
|
100
|
+
export const Notification = chakra((props: NotificationProps) => {
|
|
103
101
|
const {
|
|
104
102
|
ariaLabel,
|
|
105
103
|
className,
|
|
106
104
|
dismissible = false,
|
|
107
105
|
icon,
|
|
108
|
-
id
|
|
106
|
+
id,
|
|
109
107
|
isCentered = false,
|
|
110
108
|
noMargin = false,
|
|
111
109
|
notificationContent,
|
|
112
110
|
notificationHeading,
|
|
113
111
|
notificationType = NotificationTypes.Standard,
|
|
114
112
|
showIcon = true,
|
|
113
|
+
...rest
|
|
115
114
|
} = props;
|
|
116
115
|
const [isOpen, setIsOpen] = useState(true);
|
|
117
116
|
const handleClose = () => setIsOpen(false);
|
|
@@ -214,6 +213,7 @@ export default function Notification(props: NotificationProps) {
|
|
|
214
213
|
data-type={notificationType}
|
|
215
214
|
id={id}
|
|
216
215
|
__css={styles}
|
|
216
|
+
{...rest}
|
|
217
217
|
>
|
|
218
218
|
<Box __css={styles.container}>
|
|
219
219
|
{childHeading}
|
|
@@ -222,4 +222,6 @@ export default function Notification(props: NotificationProps) {
|
|
|
222
222
|
{dismissibleButton}
|
|
223
223
|
</Box>
|
|
224
224
|
);
|
|
225
|
-
}
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
export default Notification;
|