@nypl/design-system-react-components 0.25.11 → 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 +151 -0
- package/README.md +14 -26
- 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 +2 -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 +10 -7
- 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 +8 -0
- package/dist/components/Logo/LogoTypes.d.ts +10 -2
- package/dist/components/Notification/Notification.d.ts +7 -7
- package/dist/components/Pagination/Pagination.d.ts +8 -4
- 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 +5 -5
- 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 +18 -9
- 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 +2802 -1686
- 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 +2811 -1699
- 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 +6 -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 -6
- 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 +6 -14
- package/dist/theme/components/global.d.ts +37 -29
- package/dist/theme/components/globalMixins.d.ts +8 -8
- 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 +105 -9
- package/dist/theme/components/notification.d.ts +7 -4
- package/dist/theme/components/pagination.d.ts +2 -5
- package/dist/theme/components/radio.d.ts +10 -6
- package/dist/theme/components/radioGroup.d.ts +4 -2
- package/dist/theme/components/select.d.ts +38 -13
- package/dist/theme/components/skeletonLoader.d.ts +2 -2
- package/dist/theme/components/slider.d.ts +14 -7
- package/dist/theme/components/structuredContent.d.ts +197 -0
- package/dist/theme/components/textInput.d.ts +22 -14
- package/dist/theme/components/toggle.d.ts +25 -6
- package/dist/theme/foundations/global.d.ts +33 -3
- package/dist/theme/foundations/radii.d.ts +1 -0
- package/dist/theme/foundations/spacing.d.ts +46 -43
- package/dist/utils/utils.d.ts +10 -0
- 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 +53 -18
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +66 -35
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +14 -13
- package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +2 -1
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +308 -10
- 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 +220 -100
- 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 +27 -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 +9 -6
- 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 +16 -0
- package/src/components/Logo/LogoTypes.tsx +9 -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 +34 -5
- package/src/components/Notification/Notification.test.tsx +43 -9
- package/src/components/Notification/Notification.tsx +59 -55
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +256 -32
- package/src/components/Pagination/Pagination.stories.mdx +76 -13
- package/src/components/Pagination/Pagination.test.tsx +116 -5
- package/src/components/Pagination/Pagination.tsx +54 -29
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +247 -30
- 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 -61
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +168 -10
- 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 +104 -39
- package/src/components/SearchBar/{SearchBar.Test.tsx → SearchBar.test.tsx} +66 -6
- package/src/components/SearchBar/SearchBar.tsx +23 -13
- 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 +34 -24
- 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 +9 -9
- 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 +34 -20
- 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 +86 -72
- 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 +31 -27
- package/src/components/Toggle/{ToggleSizes.tsx → ToggleTypes.tsx} +1 -1
- package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +195 -8
- 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 +51 -10
- 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 +3 -1
- package/src/styles.scss +0 -2
- package/src/theme/components/accordion.ts +7 -12
- package/src/theme/components/breadcrumb.ts +7 -0
- package/src/theme/components/button.ts +15 -7
- package/src/theme/components/card.ts +56 -36
- package/src/theme/components/checkbox.ts +12 -14
- 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 +3 -2
- package/src/theme/components/global.ts +42 -33
- package/src/theme/components/globalMixins.ts +8 -8
- 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 +76 -65
- package/src/theme/components/notification.ts +10 -7
- package/src/theme/components/pagination.ts +2 -5
- package/src/theme/components/progressIndicator.ts +3 -3
- package/src/theme/components/radio.ts +11 -14
- package/src/theme/components/radioGroup.ts +4 -2
- package/src/theme/components/select.ts +37 -18
- package/src/theme/components/skeletonLoader.ts +3 -3
- package/src/theme/components/slider.ts +19 -15
- 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 +76 -42
- package/src/theme/components/videoPlayer.ts +1 -1
- package/src/theme/foundations/colors.ts +20 -13
- package/src/theme/foundations/global.ts +17 -5
- package/src/theme/foundations/radii.ts +1 -0
- package/src/theme/foundations/spacing.ts +70 -22
- package/src/theme/foundations/typography.ts +3 -3
- package/src/utils/componentCategories.ts +28 -21
- package/src/utils/utils.ts +28 -0
- package/dist/components/Card/CardTypes.d.ts +0 -4
- package/dist/components/CheckboxGroup/CheckboxGroupLayoutTypes.d.ts +0 -4
- package/dist/components/Pagination/Pagination.stories.d.ts +0 -13
- 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/Pagination/Pagination.stories.tsx +0 -54
- package/src/components/RadioGroup/RadioGroupLayoutTypes.tsx +0 -4
- package/src/docs/Intro.stories.mdx +0 -53
- package/src/helpers/generateUUID.tsx +0 -5
- package/src/styles/base/_03-base.scss +0 -25
- package/src/styles/base/_04-focus.scss +0 -22
|
@@ -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,30 +155,29 @@ 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.
|
|
150
164
|
|
|
151
|
-
|
|
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`.
|
|
152
168
|
|
|
153
|
-
|
|
154
|
-
logos are listed in the `LogoNames` enum in `src/components/Logos/LogoTypes.tsx`.
|
|
169
|
+
Resources:
|
|
155
170
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
<Canvas withToolbar>
|
|
160
|
-
<Story name="All Logos">{allLogosGrid(logos)}</Story>
|
|
161
|
-
</Canvas>
|
|
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)
|
|
162
174
|
|
|
163
175
|
## Logo Sizes
|
|
164
176
|
|
|
165
177
|
Update the size of the `Logo` component by passing the `size` prop with a value from
|
|
166
178
|
`LogoSizes`. The `LogoSizes` enum can be found in`src/components/Logo/LogoTypes.tsx`.
|
|
167
179
|
|
|
168
|
-
Note: `LogoSizes.Default` sets the width to `100%` and the logo will expand to
|
|
180
|
+
Note: `LogoSizes.Default` sets the width to `100%` and the rendered logo will expand to
|
|
169
181
|
fill the full width of the parent element.
|
|
170
182
|
|
|
171
183
|
```jsx
|
|
@@ -177,6 +189,18 @@ fill the full width of the parent element.
|
|
|
177
189
|
<Story name="Logo Sizes">{allLogosGrid(sizes)}</Story>
|
|
178
190
|
</Canvas>
|
|
179
191
|
|
|
192
|
+
## All Logos
|
|
193
|
+
|
|
194
|
+
The `Logo` component contains the logos most commonly used by are listed available
|
|
195
|
+
logos are listed in the `LogoNames` enum in `src/components/Logos/LogoTypes.tsx`.
|
|
196
|
+
|
|
197
|
+
If you feel a necessary logo should be added to the `Logo` component, please reach out
|
|
198
|
+
to the DS team.
|
|
199
|
+
|
|
200
|
+
<Canvas withToolbar>
|
|
201
|
+
<Story name="All Logos">{allLogosGrid(logos)}</Story>
|
|
202
|
+
</Canvas>
|
|
203
|
+
|
|
180
204
|
## Custom Logos
|
|
181
205
|
|
|
182
206
|
If you'd like to pass a custom `svg` to your application, you can pass it a
|
|
@@ -28,7 +28,7 @@ describe("Logo", () => {
|
|
|
28
28
|
</Logo>
|
|
29
29
|
);
|
|
30
30
|
expect(warn).toHaveBeenCalledWith(
|
|
31
|
-
"Logo
|
|
31
|
+
"NYPL Reservoir Logo: Pass either a `name` prop or an `svg` element child. Do not pass both."
|
|
32
32
|
);
|
|
33
33
|
});
|
|
34
34
|
|
|
@@ -36,7 +36,17 @@ describe("Logo", () => {
|
|
|
36
36
|
const warn = jest.spyOn(console, "warn");
|
|
37
37
|
render(<Logo />);
|
|
38
38
|
expect(warn).toHaveBeenCalledWith(
|
|
39
|
-
"Pass a logo `name` prop or an SVG child to
|
|
39
|
+
"NYPL Reservoir Logo: Pass a logo `name` prop or an SVG child to " +
|
|
40
|
+
"`Logo` to ensure a logo appears."
|
|
41
|
+
);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it("consoles a warning if name is not passed and a child is but it's not an SVG element", () => {
|
|
45
|
+
const warn = jest.spyOn(console, "warn");
|
|
46
|
+
render(<Logo>Not an SVG</Logo>);
|
|
47
|
+
expect(warn).toHaveBeenCalledWith(
|
|
48
|
+
"NYPL Reservoir Logo: An `svg` element must be passed to the `Logo` " +
|
|
49
|
+
"component as its child."
|
|
40
50
|
);
|
|
41
51
|
});
|
|
42
52
|
|
|
@@ -91,8 +101,25 @@ describe("Logo", () => {
|
|
|
91
101
|
/>
|
|
92
102
|
)
|
|
93
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();
|
|
94
119
|
|
|
95
120
|
expect(standard).toMatchSnapshot();
|
|
96
121
|
expect(withCustomSize).toMatchSnapshot();
|
|
122
|
+
expect(withChakraProps).toMatchSnapshot();
|
|
123
|
+
expect(withOtherProps).toMatchSnapshot();
|
|
97
124
|
});
|
|
98
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,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;
|
|
@@ -3,6 +3,8 @@ import logo_bpl_black from "../../../icons/svg/logo_bpl_black.svg";
|
|
|
3
3
|
import logo_bpl_white from "../../../icons/svg/logo_bpl_white.svg";
|
|
4
4
|
import logo_clever_color from "../../../icons/svg/logo_clever_color.svg";
|
|
5
5
|
import logo_clever_white from "../../../icons/svg/logo_clever_white.svg";
|
|
6
|
+
import logo_firstbook_color from "../../../icons/svg/logo_firstbook_color.svg";
|
|
7
|
+
import logo_firstbook_color_negative from "../../../icons/svg/logo_firstbook_color_negative.svg";
|
|
6
8
|
import logo_lpa_color from "../../../icons/svg/logo_lpa_color.svg";
|
|
7
9
|
import logo_lpa_black from "../../../icons/svg/logo_lpa_black.svg";
|
|
8
10
|
import logo_lpa_white from "../../../icons/svg/logo_lpa_white.svg";
|
|
@@ -12,11 +14,17 @@ import logo_nypl_full_black from "../../../icons/svg/logo_nypl_full_black.svg";
|
|
|
12
14
|
import logo_nypl_full_white from "../../../icons/svg/logo_nypl_full_white.svg";
|
|
13
15
|
import logo_nypl_lion_black from "../../../icons/svg/logo_nypl_lion_black.svg";
|
|
14
16
|
import logo_nypl_lion_white from "../../../icons/svg/logo_nypl_lion_white.svg";
|
|
17
|
+
import logo_openebooks_color from "../../../icons/svg/logo_openebooks_color.svg";
|
|
18
|
+
import logo_openebooks_negative from "../../../icons/svg/logo_openebooks_negative.svg";
|
|
19
|
+
import logo_openebooks_wtext_color from "../../../icons/svg/logo_openebooks_wtext_color.svg";
|
|
20
|
+
import logo_openebooks_wtext_negative from "../../../icons/svg/logo_openebooks_wtext_negative.svg";
|
|
15
21
|
import logo_qpl_alt_black from "../../../icons/svg/logo_qpl_alt_black.svg";
|
|
16
22
|
import logo_qpl_alt_white from "../../../icons/svg/logo_qpl_alt_white.svg";
|
|
17
23
|
import logo_qpl_black from "../../../icons/svg/logo_qpl_black.svg";
|
|
18
24
|
import logo_qpl_color from "../../../icons/svg/logo_qpl_color.svg";
|
|
19
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";
|
|
20
28
|
import logo_schomburg_black from "../../../icons/svg/logo_schomburg_black.svg";
|
|
21
29
|
import logo_schomburg_circle_black from "../../../icons/svg/logo_schomburg_circle_black.svg";
|
|
22
30
|
import logo_schomburg_circle_color from "../../../icons/svg/logo_schomburg_circle_color.svg";
|
|
@@ -36,6 +44,8 @@ export default {
|
|
|
36
44
|
logo_bpl_white,
|
|
37
45
|
logo_clever_color,
|
|
38
46
|
logo_clever_white,
|
|
47
|
+
logo_firstbook_color,
|
|
48
|
+
logo_firstbook_color_negative,
|
|
39
49
|
logo_lpa_black,
|
|
40
50
|
logo_lpa_color,
|
|
41
51
|
logo_lpa_white,
|
|
@@ -45,11 +55,17 @@ export default {
|
|
|
45
55
|
logo_nypl_full_white,
|
|
46
56
|
logo_nypl_lion_black,
|
|
47
57
|
logo_nypl_lion_white,
|
|
58
|
+
logo_openebooks_color,
|
|
59
|
+
logo_openebooks_negative,
|
|
60
|
+
logo_openebooks_wtext_color,
|
|
61
|
+
logo_openebooks_wtext_negative,
|
|
48
62
|
logo_qpl_alt_black,
|
|
49
63
|
logo_qpl_alt_white,
|
|
50
64
|
logo_qpl_black,
|
|
51
65
|
logo_qpl_color,
|
|
52
66
|
logo_qpl_white,
|
|
67
|
+
logo_reservoir_icon_color,
|
|
68
|
+
logo_reservoir_vertical_color,
|
|
53
69
|
logo_schomburg_black,
|
|
54
70
|
logo_schomburg_circle_black,
|
|
55
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 {
|
|
@@ -18,6 +18,8 @@ export enum LogoNames {
|
|
|
18
18
|
BrooklynPublicLibraryWhite = "logo_bpl_white",
|
|
19
19
|
CleverColor = "logo_clever_color",
|
|
20
20
|
CleverWhite = "logo_clever_white",
|
|
21
|
+
FirstBookColor = "logo_firstbook_color",
|
|
22
|
+
FirstBookColorNegative = "logo_firstbook_color_negative",
|
|
21
23
|
LPAColor = "logo_lpa_color",
|
|
22
24
|
LPABlack = "logo_lpa_black",
|
|
23
25
|
LPAWhite = "logo_lpa_white",
|
|
@@ -27,11 +29,17 @@ export enum LogoNames {
|
|
|
27
29
|
NYPLWhite = "logo_nypl_full_white",
|
|
28
30
|
NYPLLionBlack = "logo_nypl_lion_black",
|
|
29
31
|
NYPLLionWhite = "logo_nypl_lion_white",
|
|
32
|
+
OpenEBooksColor = "logo_openebooks_color",
|
|
33
|
+
OpenEBooksNegative = "logo_openebooks_negative",
|
|
34
|
+
OpenEBooksWithTextColor = "logo_openebooks_wtext_color",
|
|
35
|
+
OpenEBooksWithTextNegative = "logo_openebooks_wtext_negative",
|
|
30
36
|
QueensPublicLibraryColor = "logo_qpl_color",
|
|
31
37
|
QueensPublicLibraryBlack = "logo_qpl_black",
|
|
32
38
|
QueensPublicLibraryWhite = "logo_qpl_white",
|
|
33
39
|
QueensPublicLibraryAltBlack = "logo_qpl_alt_black",
|
|
34
40
|
QueensPublicLibraryAltWhite = "logo_qpl_alt_white",
|
|
41
|
+
ReservoirIconColor = "logo_reservoir_icon_color",
|
|
42
|
+
ReservoirVerticalColor = "logo_reservoir_vertical_color",
|
|
35
43
|
SchomburgColor = "logo_schomburg_color",
|
|
36
44
|
SchomburgBlack = "logo_schomburg_black",
|
|
37
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,6 +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
|
+
|
|
139
|
+
Icons rendered in the `Notification` component are decorative by default which
|
|
140
|
+
means that they are hidden to screen readers. Since the "X" close icon inside the
|
|
141
|
+
dismissible button is decorative and because there is no discernible text inside
|
|
142
|
+
the button, an `aria-label` attribute is added to the button.
|
|
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
|
+
|
|
121
150
|
## Variants
|
|
122
151
|
|
|
123
152
|
### With NotificationHeading
|