@nypl/design-system-react-components 0.25.12 → 0.26.1
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 +131 -1
- package/README.md +10 -10
- package/dist/components/Accordion/Accordion.d.ts +6 -4
- package/dist/components/Accordion/AccordionTypes.d.ts +5 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -4
- package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +2 -2
- package/dist/components/Card/Card.d.ts +22 -29
- package/dist/components/Checkbox/Checkbox.d.ts +3 -3
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +9 -6
- 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 +5 -5
- package/dist/components/Heading/HeadingTypes.d.ts +1 -1
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +9 -8
- package/dist/components/Hero/Hero.d.ts +9 -5
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +2 -10
- package/dist/components/Icons/Icon.d.ts +2 -1
- package/dist/components/Icons/IconTypes.d.ts +1 -0
- package/dist/components/Image/Image.d.ts +27 -9
- package/dist/components/Image/ImageTypes.d.ts +4 -4
- 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 +4 -2
- package/dist/components/Notification/Notification.d.ts +7 -7
- 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 +5 -7
- package/dist/components/RadioGroup/RadioGroup.d.ts +16 -8
- package/dist/components/SearchBar/SearchBar.d.ts +4 -4
- package/dist/components/Select/Select.d.ts +12 -8
- package/dist/components/Select/SelectTypes.d.ts +4 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +8 -6
- package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +0 -4
- 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 +10 -23
- package/dist/components/Table/Table.d.ts +1 -1
- package/dist/components/Tabs/Tabs.d.ts +7 -6
- package/dist/components/Template/Template.d.ts +17 -8
- package/dist/components/Text/Text.d.ts +4 -4
- package/dist/components/Text/TextTypes.d.ts +1 -1
- package/dist/components/TextInput/TextInput.d.ts +7 -7
- package/dist/components/Toggle/Toggle.d.ts +8 -10
- package/dist/components/Toggle/{ToggleSizes.d.ts → ToggleTypes.d.ts} +1 -1
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +2 -1
- package/dist/design-system-react-components.cjs.development.js +2075 -1468
- 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 +2086 -1483
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/helpers/enums.d.ts +4 -0
- package/dist/hooks/useCarouselStyles.d.ts +3 -2
- package/dist/hooks/useNYPLTheme.d.ts +12 -0
- package/dist/index.d.ts +11 -9
- package/dist/styles.css +1 -1
- package/dist/theme/components/accordion.d.ts +7 -12
- package/dist/theme/components/breadcrumb.d.ts +3 -0
- package/dist/theme/components/button.d.ts +10 -2
- package/dist/theme/components/card.d.ts +44 -24
- package/dist/theme/components/checkbox.d.ts +6 -4
- package/dist/theme/components/checkboxGroup.d.ts +4 -2
- 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 +25 -18
- 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 +21 -15
- package/dist/theme/components/image.d.ts +1 -1
- package/dist/theme/components/label.d.ts +9 -10
- package/dist/theme/components/list.d.ts +99 -9
- package/dist/theme/components/notification.d.ts +4 -4
- package/dist/theme/components/pagination.d.ts +2 -5
- package/dist/theme/components/radio.d.ts +7 -4
- package/dist/theme/components/radioGroup.d.ts +4 -2
- package/dist/theme/components/select.d.ts +37 -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 +20 -5
- 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/AccessibilityGuide/SkipNavigation.stories.mdx +34 -0
- package/src/components/Accordion/Accordion.stories.mdx +150 -66
- package/src/components/Accordion/Accordion.test.tsx +65 -17
- package/src/components/Accordion/Accordion.tsx +61 -27
- package/src/components/Accordion/AccordionTypes.tsx +5 -0
- package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +505 -14
- package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -3
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +37 -19
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +57 -36
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +14 -13
- package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +1 -1
- 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 +493 -329
- package/src/components/Card/Card.test.tsx +138 -18
- package/src/components/Card/Card.tsx +151 -85
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +221 -101
- package/src/components/Chakra/Center.stories.mdx +2 -2
- package/src/components/Chakra/Grid.stories.mdx +4 -4
- package/src/components/Checkbox/Checkbox.stories.mdx +73 -9
- package/src/components/Checkbox/Checkbox.test.tsx +89 -10
- package/src/components/Checkbox/Checkbox.tsx +26 -16
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +209 -6
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +135 -23
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +216 -90
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +39 -26
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +493 -89
- 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 +94 -15
- package/src/components/DatePicker/DatePicker.tsx +67 -58
- 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 +118 -47
- package/src/components/Form/Form.test.tsx +59 -16
- package/src/components/Form/Form.tsx +89 -65
- 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 +87 -41
- package/src/components/Grid/SimpleGrid.test.tsx +24 -9
- 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 +56 -25
- package/src/components/Heading/Heading.test.tsx +17 -7
- package/src/components/Heading/Heading.tsx +60 -58
- package/src/components/Heading/HeadingTypes.tsx +1 -1
- package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +27 -8
- 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 +143 -113
- package/src/components/Hero/Hero.test.tsx +146 -58
- package/src/components/Hero/Hero.tsx +144 -112
- 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 -17
- package/src/components/HorizontalRule/HorizontalRule.tsx +9 -25
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +18 -5
- package/src/components/Icons/Icon.stories.mdx +80 -23
- package/src/components/Icons/Icon.test.tsx +51 -2
- package/src/components/Icons/Icon.tsx +93 -71
- package/src/components/Icons/IconTypes.tsx +1 -0
- package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +129 -0
- package/src/components/Image/Image.stories.mdx +160 -71
- package/src/components/Image/Image.test.tsx +40 -48
- package/src/components/Image/Image.tsx +80 -48
- package/src/components/Image/ImageTypes.ts +4 -4
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +84 -21
- 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 +16 -9
- 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 +73 -22
- package/src/components/List/List.tsx +44 -28
- 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 +40 -16
- package/src/components/Logo/Logo.test.tsx +29 -2
- package/src/components/Logo/Logo.tsx +28 -11
- package/src/components/Logo/LogoSvgs.tsx +4 -0
- package/src/components/Logo/LogoTypes.tsx +3 -1
- 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 +29 -5
- package/src/components/Notification/Notification.test.tsx +23 -0
- package/src/components/Notification/Notification.tsx +53 -51
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +158 -29
- package/src/components/Pagination/Pagination.stories.mdx +27 -6
- package/src/components/Pagination/Pagination.test.tsx +55 -2
- package/src/components/Pagination/Pagination.tsx +12 -9
- 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 +87 -13
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +20 -10
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +101 -14
- package/src/components/Radio/Radio.stories.mdx +75 -11
- package/src/components/Radio/Radio.test.tsx +83 -9
- package/src/components/Radio/Radio.tsx +70 -62
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +163 -5
- package/src/components/RadioGroup/RadioGroup.stories.mdx +293 -94
- package/src/components/RadioGroup/RadioGroup.test.tsx +193 -68
- package/src/components/RadioGroup/RadioGroup.tsx +110 -101
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +1258 -902
- 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 +20 -11
- package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +1039 -0
- package/src/components/Select/Select.stories.mdx +151 -62
- package/src/components/Select/Select.test.tsx +56 -44
- package/src/components/Select/Select.tsx +125 -104
- 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 +53 -23
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +14 -8
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +80 -78
- package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +0 -5
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +169 -10
- package/src/components/Slider/Slider.stories.mdx +123 -41
- package/src/components/Slider/Slider.test.tsx +65 -17
- package/src/components/Slider/Slider.tsx +30 -23
- 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 +19 -1
- 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 +229 -61
- package/src/components/StructuredContent/StructuredContent.test.tsx +162 -101
- package/src/components/StructuredContent/StructuredContent.tsx +98 -103
- 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 +4 -4
- 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 +47 -33
- package/src/components/Table/Table.stories.mdx +38 -11
- package/src/components/Table/Table.test.tsx +16 -1
- package/src/components/Table/Table.tsx +10 -8
- package/src/components/Table/__snapshots__/Table.test.tsx.snap +408 -5
- package/src/components/Tabs/Tabs.stories.mdx +59 -10
- package/src/components/Tabs/Tabs.test.tsx +29 -11
- package/src/components/Tabs/Tabs.tsx +28 -21
- package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +394 -5
- package/src/components/Template/Template.stories.mdx +73 -32
- package/src/components/Template/Template.test.tsx +68 -5
- package/src/components/Template/Template.tsx +89 -71
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +195 -22
- package/src/components/Text/Text.stories.mdx +32 -15
- package/src/components/Text/Text.test.tsx +14 -11
- package/src/components/Text/Text.tsx +13 -16
- package/src/components/Text/TextTypes.tsx +1 -1
- package/src/components/Text/__snapshots__/Text.test.tsx.snap +21 -4
- package/src/components/TextInput/TextInput.stories.mdx +73 -27
- package/src/components/TextInput/TextInput.test.tsx +65 -50
- package/src/components/TextInput/TextInput.tsx +123 -115
- package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +96 -73
- package/src/components/Toggle/Toggle.stories.mdx +74 -26
- package/src/components/Toggle/Toggle.test.tsx +41 -10
- package/src/components/Toggle/Toggle.tsx +29 -26
- package/src/components/Toggle/{ToggleSizes.tsx → ToggleTypes.tsx} +1 -1
- package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +191 -4
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +52 -4
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +41 -6
- package/src/components/VideoPlayer/VideoPlayer.tsx +134 -120
- 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 +168 -0
- package/src/{components/Card/CardTypes.tsx → helpers/enums.ts} +2 -2
- package/src/hooks/tests/useNYPLTheme.test.tsx +1 -1
- package/src/hooks/useCarouselStyles.stories.mdx +30 -0
- package/src/hooks/useCarouselStyles.ts +3 -2
- package/src/hooks/useNYPLTheme.stories.mdx +101 -0
- package/src/hooks/useNYPLTheme.ts +31 -7
- package/src/hooks/useWindowSize.stories.mdx +23 -0
- package/src/index.ts +11 -15
- package/src/styles/base/_place-holder.scss +1 -1
- package/src/theme/components/accordion.ts +7 -12
- package/src/theme/components/breadcrumb.ts +3 -0
- package/src/theme/components/button.ts +15 -7
- package/src/theme/components/card.ts +56 -36
- package/src/theme/components/checkbox.ts +10 -8
- package/src/theme/components/checkboxGroup.ts +4 -2
- 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 +29 -23
- package/src/theme/components/heading.ts +1 -1
- package/src/theme/components/helperErrorText.ts +1 -0
- package/src/theme/components/hero.ts +14 -16
- package/src/theme/components/icon.ts +5 -2
- package/src/theme/components/image.ts +1 -1
- package/src/theme/components/label.ts +4 -3
- package/src/theme/components/list.ts +73 -66
- package/src/theme/components/notification.ts +7 -7
- package/src/theme/components/pagination.ts +2 -5
- package/src/theme/components/progressIndicator.ts +3 -3
- package/src/theme/components/radio.ts +9 -9
- package/src/theme/components/radioGroup.ts +4 -2
- package/src/theme/components/select.ts +35 -16
- 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 +43 -13
- 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 +28 -21
- package/dist/components/Card/CardTypes.d.ts +0 -4
- package/dist/components/CheckboxGroup/CheckboxGroupLayoutTypes.d.ts +0 -4
- package/dist/components/RadioGroup/RadioGroupLayoutTypes.d.ts +0 -4
- package/dist/components/SearchBar/SearchBar.Test.d.ts +0 -1
- package/dist/helpers/generateUUID.d.ts +0 -1
- package/src/components/CheckboxGroup/CheckboxGroupLayoutTypes.tsx +0 -4
- package/src/components/RadioGroup/RadioGroupLayoutTypes.tsx +0 -4
- package/src/docs/Intro.stories.mdx +0 -53
- package/src/helpers/generateUUID.tsx +0 -5
|
@@ -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,18 +54,21 @@ 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
|
|
|
55
61
|
// Component prop validation
|
|
56
62
|
if (name && children) {
|
|
57
63
|
console.warn(
|
|
58
|
-
"Logo
|
|
64
|
+
"NYPL Reservoir Logo: Pass either a `name` prop or an `svg` element " +
|
|
65
|
+
"child. Do not pass both."
|
|
59
66
|
);
|
|
60
67
|
return null;
|
|
61
68
|
} else if (!name && !children) {
|
|
62
69
|
console.warn(
|
|
63
|
-
"Pass a logo `name` prop or an SVG child to
|
|
70
|
+
"NYPL Reservoir Logo: Pass a logo `name` prop or an SVG child to " +
|
|
71
|
+
"`Logo` to ensure a logo appears."
|
|
64
72
|
);
|
|
65
73
|
return null;
|
|
66
74
|
}
|
|
@@ -83,15 +91,24 @@ export default function Logo(props: React.PropsWithChildren<LogoProps>) {
|
|
|
83
91
|
// Apply logo props to the SVG child.
|
|
84
92
|
if (
|
|
85
93
|
(children as JSX.Element).type === "svg" ||
|
|
86
|
-
(children as JSX.Element).props
|
|
87
|
-
(children as JSX.Element).props
|
|
94
|
+
(children as JSX.Element).props?.type === "svg" ||
|
|
95
|
+
(children as JSX.Element).props?.mdxType === "svg"
|
|
88
96
|
) {
|
|
89
97
|
childSVG = React.cloneElement(children as JSX.Element, {
|
|
90
98
|
...logoProps,
|
|
91
99
|
});
|
|
92
100
|
} else {
|
|
93
|
-
console.warn(
|
|
101
|
+
console.warn(
|
|
102
|
+
"NYPL Reservoir Logo: An `svg` element must be passed to the `Logo` " +
|
|
103
|
+
"component as its child."
|
|
104
|
+
);
|
|
94
105
|
}
|
|
95
106
|
|
|
96
|
-
return
|
|
97
|
-
}
|
|
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,
|
|
@@ -5,12 +5,12 @@ export enum LogoColors {
|
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
export enum LogoSizes {
|
|
8
|
+
Default = "default",
|
|
8
9
|
ExtraExtraSmall = "xxsmall",
|
|
9
10
|
ExtraSmall = "xsmall",
|
|
10
11
|
Small = "small",
|
|
11
12
|
Medium = "medium",
|
|
12
13
|
Large = "large",
|
|
13
|
-
Default = "default",
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export enum LogoNames {
|
|
@@ -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"
|
|
@@ -33,15 +33,15 @@ export const enumValues = getStorybookEnumValues(
|
|
|
33
33
|
jest: ["Notification.test.tsx"],
|
|
34
34
|
}}
|
|
35
35
|
argTypes={{
|
|
36
|
-
centered: {
|
|
37
|
-
table: { defaultValue: { summary: false } },
|
|
38
|
-
},
|
|
39
36
|
className: { control: false },
|
|
40
37
|
dismissible: {
|
|
41
38
|
table: { defaultValue: { summary: false } },
|
|
42
39
|
},
|
|
43
40
|
icon: { control: false },
|
|
44
41
|
id: { control: false },
|
|
42
|
+
isCentered: {
|
|
43
|
+
table: { defaultValue: { summary: false } },
|
|
44
|
+
},
|
|
45
45
|
noMargin: {
|
|
46
46
|
table: { defaultValue: { summary: false } },
|
|
47
47
|
},
|
|
@@ -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,16 +81,18 @@ 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"
|
|
76
89
|
args={{
|
|
77
90
|
ariaLabel: "Notification label",
|
|
78
|
-
centered: false,
|
|
79
91
|
className: undefined,
|
|
80
92
|
dismissible: false,
|
|
81
93
|
icon: undefined,
|
|
82
94
|
id: "notification-id",
|
|
95
|
+
isCentered: false,
|
|
83
96
|
noMargin: false,
|
|
84
97
|
notificationHeading: "Notification Heading",
|
|
85
98
|
notificationContent: (
|
|
@@ -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,17 +8,15 @@ 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;
|
|
16
|
-
/** Optional prop to control horizontal alignment of the `Notification` content */
|
|
17
|
-
centered?: boolean;
|
|
18
14
|
/** Optional custom `Icon` that will override the default `Icon`. */
|
|
19
15
|
icon?: JSX.Element;
|
|
20
16
|
/** ID that other components can cross reference for accessibility purposes. */
|
|
21
17
|
id?: string;
|
|
18
|
+
/** Optional prop to control horizontal alignment of the `Notification` content */
|
|
19
|
+
isCentered?: boolean;
|
|
22
20
|
/** Optional prop to control the coloring of the `Notification` text and the
|
|
23
21
|
* visibility of an applicable icon. */
|
|
24
22
|
notificationType?: NotificationTypes;
|
|
@@ -27,7 +25,7 @@ interface BaseProps {
|
|
|
27
25
|
// Used for `NotificationHeading` and `Notification`
|
|
28
26
|
type BasePropsWithoutAlignText = Omit<BaseProps, "alignText">;
|
|
29
27
|
// Used for `NotificationContent`
|
|
30
|
-
type
|
|
28
|
+
type BasePropsWithoutIsCentered = Omit<BaseProps, "isCentered">;
|
|
31
29
|
|
|
32
30
|
export interface NotificationProps extends BasePropsWithoutAlignText {
|
|
33
31
|
/** Label used to describe the `Notification`'s aside HTML element. */
|
|
@@ -52,72 +50,73 @@ 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<
|
|
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
|
-
centered = false,
|
|
106
103
|
className,
|
|
107
104
|
dismissible = false,
|
|
108
105
|
icon,
|
|
109
|
-
id
|
|
106
|
+
id,
|
|
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);
|
|
118
117
|
const styles = useMultiStyleConfig("Notification", {
|
|
119
|
-
centered,
|
|
120
118
|
dismissible,
|
|
119
|
+
isCentered,
|
|
121
120
|
noMargin,
|
|
122
121
|
notificationType,
|
|
123
122
|
});
|
|
@@ -182,16 +181,16 @@ export default function Notification(props: NotificationProps) {
|
|
|
182
181
|
const iconElem = iconElement();
|
|
183
182
|
const childHeading = notificationHeading && (
|
|
184
183
|
<NotificationHeading
|
|
185
|
-
centered={centered}
|
|
186
184
|
icon={iconElem}
|
|
187
185
|
id={id}
|
|
186
|
+
isCentered={isCentered}
|
|
188
187
|
notificationType={notificationType}
|
|
189
188
|
>
|
|
190
189
|
{notificationHeading}
|
|
191
190
|
</NotificationHeading>
|
|
192
191
|
);
|
|
193
192
|
// Specific alignment styles for the content.
|
|
194
|
-
const alignText = childHeading && showIcon && (!!icon || !
|
|
193
|
+
const alignText = childHeading && showIcon && (!!icon || !isCentered);
|
|
195
194
|
const childContent = (
|
|
196
195
|
<NotificationContent
|
|
197
196
|
alignText={alignText}
|
|
@@ -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;
|