@nypl/design-system-react-components 0.25.1 → 0.25.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +118 -1
- package/README.md +98 -50
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/dist/components/Button/Button.d.ts +13 -8
- package/dist/components/Button/ButtonTypes.d.ts +2 -1
- package/dist/components/Card/Card.d.ts +36 -52
- package/dist/components/Card/CardTypes.d.ts +0 -15
- package/dist/components/Checkbox/Checkbox.d.ts +17 -13
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +4 -2
- package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +15 -0
- package/dist/components/DatePicker/DatePicker.d.ts +36 -34
- package/dist/components/Fieldset/Fieldset.d.ts +25 -0
- package/dist/components/Heading/Heading.d.ts +4 -4
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +17 -14
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +10 -9
- package/dist/components/Icons/Icon.d.ts +8 -0
- package/dist/components/Icons/IconSvgs.d.ts +11 -0
- package/dist/components/Icons/IconTypes.d.ts +11 -0
- package/dist/components/Image/Image.d.ts +19 -9
- package/dist/components/Image/ImageTypes.d.ts +20 -0
- package/dist/components/Link/Link.d.ts +4 -0
- package/dist/components/List/List.d.ts +19 -14
- package/dist/components/Notification/Notification.d.ts +37 -16
- package/dist/components/Pagination/Pagination.d.ts +16 -13
- package/dist/components/Pagination/Pagination.stories.d.ts +2 -0
- package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +29 -0
- package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +8 -0
- package/dist/components/Radio/Radio.d.ts +2 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +4 -2
- package/dist/components/SearchBar/SearchBar.d.ts +3 -3
- package/dist/components/Select/Select.d.ts +2 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +18 -14
- package/dist/components/Slider/Slider.d.ts +57 -0
- package/dist/components/StyleGuide/ColorCard.d.ts +12 -0
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components/TextInput/TextInput.d.ts +12 -0
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +6 -8
- package/dist/components/VideoPlayer/VideoPlayerTypes.d.ts +2 -2
- package/dist/design-system-react-components.cjs.development.js +6131 -3715
- package/dist/design-system-react-components.cjs.development.js.map +1 -1
- package/dist/design-system-react-components.cjs.production.min.js +1 -1
- package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
- package/dist/design-system-react-components.esm.js +6124 -3699
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/hooks/tests/useCarouselStyles.test.d.ts +1 -0
- package/dist/hooks/useCarouselStyles.d.ts +16 -0
- package/dist/hooks/useNYPLTheme.d.ts +54 -0
- package/dist/hooks/useWindowSize.d.ts +10 -0
- package/dist/index.d.ts +13 -8
- package/dist/resources.scss +180 -170
- package/dist/styles.css +1 -1
- package/dist/theme/components/button.d.ts +22 -8
- package/dist/theme/components/card.d.ts +168 -0
- package/dist/theme/components/checkbox.d.ts +5 -1
- package/dist/theme/components/checkboxGroup.d.ts +12 -0
- package/dist/theme/components/componentWrapper.d.ts +11 -0
- package/dist/theme/components/datePicker.d.ts +16 -0
- package/dist/theme/components/fieldset.d.ts +27 -0
- package/dist/theme/components/global.d.ts +23 -13
- package/dist/theme/components/globalMixins.d.ts +9 -1
- package/dist/theme/components/heading.d.ts +5 -0
- package/dist/theme/components/helperErrorText.d.ts +10 -0
- package/dist/theme/components/hero.d.ts +1 -0
- package/dist/theme/components/horizontalRule.d.ts +14 -0
- package/dist/theme/components/image.d.ts +31 -0
- package/dist/theme/components/label.d.ts +5 -3
- package/dist/theme/components/link.d.ts +4 -0
- package/dist/theme/components/list.d.ts +89 -0
- package/dist/theme/components/notification.d.ts +75 -0
- package/dist/theme/components/pagination.d.ts +19 -0
- package/dist/theme/components/progressIndicator.d.ts +50 -0
- package/dist/theme/components/radioGroup.d.ts +12 -0
- package/dist/theme/components/select.d.ts +11 -2
- package/dist/theme/components/skeletonLoader.d.ts +98 -0
- package/dist/theme/components/slider.d.ts +51 -0
- package/dist/theme/components/tabs.d.ts +54 -3
- package/dist/theme/components/textInput.d.ts +8 -1
- package/dist/theme/components/videoPlayer.d.ts +40 -0
- package/dist/theme/foundations/breakpoints.d.ts +8 -8
- package/dist/theme/foundations/global.d.ts +6 -1
- package/dist/theme/foundations/radii.d.ts +5 -0
- package/dist/theme/foundations/spacing.d.ts +16 -16
- package/package.json +72 -83
- package/src/__tests__/setup.ts +2 -2
- package/src/components/Accordion/Accordion.stories.mdx +39 -44
- package/src/components/Autosuggest/Autosuggest.stories.mdx +3 -3
- package/src/components/Autosuggest/Autosuggest.stories.tsx +2 -1
- package/src/components/Autosuggest/_Autosuggest.scss +5 -5
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +14 -10
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +23 -0
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +5 -1
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +199 -1
- package/src/components/Button/Button.stories.mdx +15 -10
- package/src/components/Button/Button.test.tsx +21 -7
- package/src/components/Button/Button.tsx +22 -34
- package/src/components/Button/ButtonTypes.tsx +1 -0
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +41 -10
- package/src/components/Card/Card.stories.mdx +296 -259
- package/src/components/Card/Card.test.tsx +156 -84
- package/src/components/Card/Card.tsx +195 -145
- package/src/components/Card/CardTypes.tsx +0 -17
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +410 -0
- package/src/components/CardEdition/CardEdition.stories.tsx +15 -47
- package/src/components/CardEdition/_CardEdition.scss +22 -23
- package/src/components/Chakra/Box.stories.mdx +15 -16
- package/src/components/Chakra/Center.stories.mdx +31 -16
- package/src/components/Chakra/Grid.stories.mdx +28 -15
- package/src/components/Chakra/Stack.stories.mdx +35 -18
- package/src/components/Checkbox/Checkbox.stories.mdx +33 -11
- package/src/components/Checkbox/Checkbox.test.tsx +47 -2
- package/src/components/Checkbox/Checkbox.tsx +39 -33
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +90 -2
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +82 -2
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +29 -2
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +22 -18
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +47 -81
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +63 -0
- package/src/components/DatePicker/DatePicker.stories.mdx +163 -62
- package/src/components/DatePicker/DatePicker.test.tsx +264 -64
- package/src/components/DatePicker/DatePicker.tsx +159 -128
- package/src/components/DatePicker/_DatePicker.scss +33 -67
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +818 -0
- package/src/components/Fieldset/Fieldset.stories.mdx +55 -0
- package/src/components/Fieldset/Fieldset.test.tsx +125 -0
- package/src/components/Fieldset/Fieldset.tsx +52 -0
- package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +68 -0
- package/src/components/Form/Form.stories.mdx +24 -6
- package/src/components/Form/Form.test.tsx +1 -1
- package/src/components/Form/Form.tsx +1 -0
- package/src/components/Grid/SimpleGrid.stories.mdx +32 -39
- package/src/components/Grid/SimpleGrid.test.tsx +4 -4
- package/src/components/Heading/Heading.stories.mdx +3 -4
- package/src/components/Heading/Heading.tsx +5 -5
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +124 -0
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +39 -44
- package/src/components/HelperErrorText/HelperErrorText.tsx +37 -39
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +25 -0
- package/src/components/Hero/Hero.stories.mdx +12 -2
- package/src/components/Hero/Hero.tsx +1 -1
- package/src/components/Hero/HeroTypes.tsx +1 -0
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +7 -7
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +8 -6
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +33 -28
- package/src/components/HorizontalRule/HorizontalRule.tsx +27 -29
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +27 -9
- package/src/components/Icons/Icon.stories.mdx +12 -4
- package/src/components/Icons/Icon.test.tsx +18 -0
- package/src/components/Icons/Icon.tsx +16 -1
- package/src/components/Icons/IconSvgs.tsx +22 -0
- package/src/components/Icons/IconTypes.tsx +11 -0
- package/src/components/Image/Image.stories.mdx +220 -0
- package/src/components/Image/Image.test.tsx +131 -29
- package/src/components/Image/Image.tsx +84 -56
- package/src/components/Image/ImageTypes.ts +22 -0
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +190 -0
- package/src/components/Input/Input.stories.tsx +23 -67
- package/src/components/Input/Input.test.tsx +4 -4
- package/src/components/Input/_Input.scss +23 -14
- package/src/components/Link/Link.tsx +4 -1
- package/src/components/List/List.stories.mdx +124 -49
- package/src/components/List/List.test.tsx +142 -63
- package/src/components/List/List.tsx +89 -93
- package/src/components/List/__snapshots__/List.test.tsx.snap +109 -0
- package/src/components/Modal/Modal.stories.mdx +3 -3
- package/src/components/Modal/_Modal.scss +2 -2
- package/src/components/Notification/Notification.stories.mdx +109 -112
- package/src/components/Notification/Notification.test.tsx +99 -110
- package/src/components/Notification/Notification.tsx +156 -159
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +159 -8
- package/src/components/Pagination/Pagination.stories.mdx +26 -27
- package/src/components/Pagination/Pagination.stories.tsx +11 -16
- package/src/components/Pagination/Pagination.test.tsx +276 -146
- package/src/components/Pagination/Pagination.tsx +174 -154
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +285 -0
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +292 -0
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +225 -0
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +126 -0
- package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +8 -0
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +357 -0
- package/src/components/Radio/Radio.test.tsx +20 -4
- package/src/components/Radio/Radio.tsx +6 -3
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +3 -0
- package/src/components/RadioGroup/RadioGroup.stories.mdx +3 -4
- package/src/components/RadioGroup/RadioGroup.test.tsx +24 -1
- package/src/components/RadioGroup/RadioGroup.tsx +19 -19
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +42 -72
- package/src/components/SearchBar/SearchBar.Test.tsx +20 -1
- package/src/components/SearchBar/SearchBar.stories.mdx +113 -8
- package/src/components/SearchBar/SearchBar.tsx +20 -10
- package/src/components/Select/Select.test.tsx +12 -0
- package/src/components/Select/Select.tsx +5 -2
- package/src/components/Select/SelectTypes.tsx +1 -0
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +28 -59
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +97 -177
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +74 -71
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +739 -0
- package/src/components/Slider/Slider.stories.mdx +529 -0
- package/src/components/Slider/Slider.test.tsx +653 -0
- package/src/components/Slider/Slider.tsx +303 -0
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +1946 -0
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +1 -1
- package/src/components/StyleGuide/Breakpoints.stories.mdx +34 -10
- package/src/components/StyleGuide/Buttons.stories.mdx +89 -73
- package/src/components/StyleGuide/ColorCard.tsx +46 -0
- package/src/components/StyleGuide/Colors.stories.mdx +171 -311
- package/src/components/StyleGuide/DesignTokens.stories.mdx +170 -0
- package/src/components/StyleGuide/Forms.stories.mdx +9 -7
- package/src/components/StyleGuide/Iconography.stories.mdx +85 -91
- package/src/components/StyleGuide/Spacing.stories.mdx +31 -23
- package/src/components/StyleGuide/Typography.stories.mdx +202 -189
- package/src/components/StyleGuide/UIDocCard.tsx +1 -1
- package/src/components/Tabs/Tabs.stories.mdx +73 -11
- package/src/components/Tabs/Tabs.tsx +87 -64
- package/src/components/Template/Template.stories.mdx +25 -27
- package/src/components/TextInput/TextInput.stories.mdx +1 -1
- package/src/components/TextInput/TextInput.test.tsx +22 -2
- package/src/components/TextInput/TextInput.tsx +28 -8
- package/src/components/TextInput/TextInputTypes.tsx +2 -0
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +17 -4
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +54 -53
- package/src/components/VideoPlayer/VideoPlayer.tsx +50 -51
- package/src/components/VideoPlayer/VideoPlayerTypes.tsx +2 -2
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +91 -0
- package/src/docs/Chakra.stories.mdx +244 -63
- package/src/docs/Intro.stories.mdx +5 -2
- package/src/hooks/tests/useCarouselStyles.test.ts +140 -0
- package/src/hooks/tests/useNYPLTheme.test.tsx +36 -0
- package/src/hooks/useCarouselStyles.ts +34 -0
- package/src/hooks/useNYPLTheme.ts +67 -0
- package/src/hooks/useWindowSize.ts +40 -0
- package/src/index.ts +22 -19
- package/src/resources.scss +5 -5
- package/src/styles/base/{_02-breakpoints.scss → _01-breakpoints.scss} +9 -10
- package/src/styles/base/{_03-mixins.scss → _02-mixins.scss} +16 -5
- package/src/styles/base/{_04-base.scss → _03-base.scss} +7 -2
- package/src/styles/base/{_05-focus.scss → _04-focus.scss} +0 -15
- package/src/styles/base/_place-holder.scss +14 -3
- package/src/styles/{03-space → space}/_space-inline.scss +14 -14
- package/src/styles/{03-space → space}/_space-inset.scss +10 -10
- package/src/styles/space/_space-stack.scss +116 -0
- package/src/styles.scss +13 -60
- package/src/theme/components/button.ts +21 -15
- package/src/theme/components/card.ts +174 -0
- package/src/theme/components/checkbox.ts +8 -3
- package/src/theme/components/checkboxGroup.ts +8 -0
- package/src/theme/components/componentWrapper.ts +10 -0
- package/src/theme/components/datePicker.ts +17 -0
- package/src/theme/components/fieldset.ts +18 -0
- package/src/theme/components/global.ts +26 -15
- package/src/theme/components/globalMixins.ts +9 -1
- package/src/theme/components/heading.ts +10 -5
- package/src/theme/components/helperErrorText.ts +9 -0
- package/src/theme/components/hero.ts +4 -3
- package/src/theme/components/horizontalRule.ts +13 -0
- package/src/theme/components/icon.ts +9 -9
- package/src/theme/components/image.ts +116 -0
- package/src/theme/components/label.ts +3 -10
- package/src/theme/components/link.ts +5 -1
- package/src/theme/components/list.ts +73 -0
- package/src/theme/components/notification.ts +93 -0
- package/src/theme/components/pagination.ts +20 -0
- package/src/theme/components/progressIndicator.ts +62 -0
- package/src/theme/components/radio.ts +2 -2
- package/src/theme/components/radioGroup.ts +8 -0
- package/src/theme/components/select.ts +6 -3
- package/src/theme/components/skeletonLoader.ts +107 -0
- package/src/theme/components/slider.ts +79 -0
- package/src/theme/components/statusBadge.ts +1 -2
- package/src/theme/components/tabs.ts +49 -19
- package/src/theme/components/template.ts +8 -8
- package/src/theme/components/textInput.ts +5 -4
- package/src/theme/components/videoPlayer.ts +49 -0
- package/src/theme/foundations/breakpoints.ts +8 -8
- package/src/theme/foundations/global.ts +6 -1
- package/src/theme/foundations/radii.ts +6 -0
- package/src/theme/foundations/spacing.ts +24 -24
- package/src/theme/index.ts +41 -10
- package/src/utils/componentCategories.ts +4 -3
- package/dist/components/HelperErrorText/HelperErrorText.stories.d.ts +0 -16
- package/dist/components/Image/Image.stories.d.ts +0 -18
- package/dist/components/List/List.stories.d.ts +0 -7
- package/dist/theme/components/customCheckboxGroup.d.ts +0 -18
- package/dist/theme/components/customRadioGroup.d.ts +0 -18
- package/src/components/Button/_Button.scss +0 -32
- package/src/components/Card/_Card.scss +0 -308
- package/src/components/HelperErrorText/HelperErrorText.stories.tsx +0 -48
- package/src/components/HelperErrorText/_HelperErrorText.scss +0 -9
- package/src/components/HorizontalRule/_HorizontalRule.scss +0 -15
- package/src/components/Image/Image.stories.tsx +0 -54
- package/src/components/Image/_Image.scss +0 -38
- package/src/components/List/List.stories.tsx +0 -139
- package/src/components/List/_List.scss +0 -76
- package/src/components/Notification/_Notification.scss +0 -110
- package/src/components/Pagination/_Pagination.scss +0 -40
- package/src/components/SkeletonLoader/_SkeletonLoader.scss +0 -142
- package/src/components/VideoPlayer/_VideoPlayer.scss +0 -38
- package/src/styles/01-colors/_colors-brand.scss +0 -62
- package/src/styles/01-colors/_colors-utility.scss +0 -67
- package/src/styles/02-typography/_type-scale.css +0 -11
- package/src/styles/02-typography/_type-weight.css +0 -7
- package/src/styles/02-typography/_typefaces.css +0 -4
- package/src/styles/03-space/_space-stack.scss +0 -116
- package/src/styles/03-space/_space.css +0 -30
- package/src/styles/base/_card-grid.scss +0 -78
- package/src/styles/base/_typography.scss +0 -11
- package/src/theme/components/customCheckboxGroup.ts +0 -12
- package/src/theme/components/customRadioGroup.ts +0 -12
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
* That'll give you 10. Then use it in your component.
|
|
8
8
|
*
|
|
9
9
|
* The DS uses eight CSS variables/values found in "src/styles/03-space/_space.css":
|
|
10
|
-
* --space-xxs = 4px or 0.25rem
|
|
11
|
-
* --space-xs = 8px or 0.5rem
|
|
12
|
-
* --space-s = 16px or 1rem
|
|
13
|
-
* --space-m = 24px or 1.5rem
|
|
14
|
-
* --space-l = 32px or 2rem
|
|
15
|
-
* --space-xl = 48px or 3rem
|
|
16
|
-
* --space-xxl = 64px or 4rem
|
|
17
|
-
* --space-xxxl = 96px or 6rem
|
|
10
|
+
* --nypl-space-xxs = 4px or 0.25rem
|
|
11
|
+
* --nypl-space-xs = 8px or 0.5rem
|
|
12
|
+
* --nypl-space-s = 16px or 1rem
|
|
13
|
+
* --nypl-space-m = 24px or 1.5rem
|
|
14
|
+
* --nypl-space-l = 32px or 2rem
|
|
15
|
+
* --nypl-space-xl = 48px or 3rem
|
|
16
|
+
* --nypl-space-xxl = 64px or 4rem
|
|
17
|
+
* --nypl-space-xxxl = 96px or 6rem
|
|
18
18
|
*
|
|
19
19
|
* @note Even though all the following values are available through Chakra,
|
|
20
20
|
* we recommend to only use the spacing values that map to the DS values
|
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
*
|
|
23
23
|
* Chakra Number Value | Chakra Name value | DS Variable
|
|
24
24
|
* ------------------- | ----------------- | -----------------
|
|
25
|
-
* 1 | xxs | --space-xxs
|
|
26
|
-
* 2 | xs | --space-xs
|
|
27
|
-
* 4 | s | --space-s
|
|
28
|
-
* 6 | m | --space-m
|
|
29
|
-
* 8 | l | --space-l
|
|
30
|
-
* 12 | xl | --space-xl
|
|
31
|
-
* 16 | xxl | --space-xxl
|
|
32
|
-
* 24 | xxxl | --space-xxxl
|
|
25
|
+
* 1 | xxs | --nypl-space-xxs
|
|
26
|
+
* 2 | xs | --nypl-space-xs
|
|
27
|
+
* 4 | s | --nypl-space-s
|
|
28
|
+
* 6 | m | --nypl-space-m
|
|
29
|
+
* 8 | l | --nypl-space-l
|
|
30
|
+
* 12 | xl | --nypl-space-xl
|
|
31
|
+
* 16 | xxl | --nypl-space-xxl
|
|
32
|
+
* 24 | xxxl | --nypl-space-xxxl
|
|
33
33
|
*/
|
|
34
34
|
export declare const spacing: {
|
|
35
35
|
px: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nypl/design-system-react-components",
|
|
3
|
-
"version": "0.25.
|
|
3
|
+
"version": "0.25.5",
|
|
4
4
|
"description": "Design System React Components",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"src"
|
|
15
15
|
],
|
|
16
16
|
"engines": {
|
|
17
|
-
"node": ">10"
|
|
17
|
+
"node": ">10 <=12.22"
|
|
18
18
|
},
|
|
19
19
|
"author": "NYPL",
|
|
20
20
|
"license": "Apache-2.0",
|
|
@@ -34,23 +34,19 @@
|
|
|
34
34
|
"generate-sass-resources": "gulp",
|
|
35
35
|
"storybook": "start-storybook -p 6006",
|
|
36
36
|
"build-storybook": "npm run prebuild:storybook && build-storybook -c .storybook -o ./storybook-static",
|
|
37
|
-
"prebuild:storybook": "npm run test:generate-output"
|
|
38
|
-
"stylelint": "stylelint \"**/*.scss\""
|
|
37
|
+
"prebuild:storybook": "npm run test:generate-output"
|
|
39
38
|
},
|
|
40
39
|
"dependencies": {
|
|
41
|
-
"@chakra-ui/react": "1.
|
|
42
|
-
"@chakra-ui/system": "1.
|
|
43
|
-
"@emotion/react": "
|
|
44
|
-
"@emotion/styled": "
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"framer-motion": "^4.1.17",
|
|
48
|
-
"he": "^1.2.0",
|
|
40
|
+
"@chakra-ui/react": "1.7.1",
|
|
41
|
+
"@chakra-ui/system": "1.8.1",
|
|
42
|
+
"@emotion/react": "11.4.1",
|
|
43
|
+
"@emotion/styled": "11.3.0",
|
|
44
|
+
"framer-motion": "4.1.17",
|
|
45
|
+
"he": "1.2.0",
|
|
49
46
|
"react-datepicker": "4.1.1",
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"uuid": "^8.3.2"
|
|
47
|
+
"system-font-css": "2.0.2",
|
|
48
|
+
"typescript": "4.3.5",
|
|
49
|
+
"uuid": "8.3.2"
|
|
54
50
|
},
|
|
55
51
|
"peerDependencies": {
|
|
56
52
|
"react": ">=16.13.0",
|
|
@@ -78,77 +74,70 @@
|
|
|
78
74
|
}
|
|
79
75
|
],
|
|
80
76
|
"devDependencies": {
|
|
81
|
-
"@babel/core": "
|
|
82
|
-
"@
|
|
83
|
-
"@
|
|
84
|
-
"@storybook/addon-
|
|
85
|
-
"@storybook/addon-
|
|
86
|
-
"@storybook/addon-
|
|
87
|
-
"@storybook/addon-
|
|
88
|
-
"@storybook/addon-jest": "
|
|
89
|
-
"@storybook/addon-
|
|
90
|
-
"@storybook/addon-links": "^6.2.9",
|
|
77
|
+
"@babel/core": "7.14.6",
|
|
78
|
+
"@mdx-js/react": "1.6.22",
|
|
79
|
+
"@size-limit/preset-small-lib": "5.0.1",
|
|
80
|
+
"@storybook/addon-a11y": "6.4.8",
|
|
81
|
+
"@storybook/addon-actions": "6.4.8",
|
|
82
|
+
"@storybook/addon-docs": "6.4.8",
|
|
83
|
+
"@storybook/addon-essentials": "6.4.8",
|
|
84
|
+
"@storybook/addon-jest": "6.4.8",
|
|
85
|
+
"@storybook/addon-links": "6.4.8",
|
|
91
86
|
"@storybook/addon-queryparams": "6.2.9",
|
|
92
|
-
"@storybook/addons": "
|
|
93
|
-
"@storybook/react": "
|
|
94
|
-
"@svgr/rollup": "
|
|
95
|
-
"@svgr/webpack": "
|
|
96
|
-
"@testing-library/jest-dom": "
|
|
97
|
-
"@testing-library/react": "
|
|
98
|
-
"@testing-library/
|
|
87
|
+
"@storybook/addons": "6.4.8",
|
|
88
|
+
"@storybook/react": "6.4.8",
|
|
89
|
+
"@svgr/rollup": "5.5.0",
|
|
90
|
+
"@svgr/webpack": "5.5.0",
|
|
91
|
+
"@testing-library/jest-dom": "5.14.1",
|
|
92
|
+
"@testing-library/react": "12.0.0",
|
|
93
|
+
"@testing-library/react-hooks": "7.0.2",
|
|
94
|
+
"@testing-library/user-event": "13.2.1",
|
|
99
95
|
"@types/jest": "26.0.20",
|
|
100
|
-
"@types/jest-axe": "3.5.
|
|
101
|
-
"@types/jsdom": "
|
|
102
|
-
"@types/node": "
|
|
103
|
-
"@types/react": "
|
|
104
|
-
"@types/testing-library__jest-dom": "
|
|
105
|
-
"@typescript-eslint/eslint-plugin": "
|
|
106
|
-
"@typescript-eslint/parser": "
|
|
107
|
-
"autoprefixer": "
|
|
108
|
-
"babel-loader": "
|
|
109
|
-
"breakpoint-sass": "
|
|
110
|
-
"css-loader": "
|
|
111
|
-
"cssnano": "
|
|
112
|
-
"eslint": "
|
|
113
|
-
"eslint-config-react-app": "
|
|
114
|
-
"eslint-plugin-flowtype": "
|
|
115
|
-
"eslint-plugin-react-hooks": "
|
|
116
|
-
"gulp": "
|
|
117
|
-
"gulp-scss-combine": "
|
|
118
|
-
"husky": "
|
|
119
|
-
"import-glob-loader": "
|
|
120
|
-
"jest": "
|
|
121
|
-
"jest-axe": "
|
|
122
|
-
"jsdom": "
|
|
123
|
-
"node-sass": "
|
|
124
|
-
"node-sass-glob-importer": "
|
|
125
|
-
"normalize.css": "
|
|
96
|
+
"@types/jest-axe": "3.5.3",
|
|
97
|
+
"@types/jsdom": "12.2.4",
|
|
98
|
+
"@types/node": "12.7.12",
|
|
99
|
+
"@types/react": "16.14.21",
|
|
100
|
+
"@types/testing-library__jest-dom": "5.14.1",
|
|
101
|
+
"@typescript-eslint/eslint-plugin": "4.33.0",
|
|
102
|
+
"@typescript-eslint/parser": "4.33.0",
|
|
103
|
+
"autoprefixer": "9.8.6",
|
|
104
|
+
"babel-loader": "8.2.2",
|
|
105
|
+
"breakpoint-sass": "2.7.1",
|
|
106
|
+
"css-loader": "5.2.7",
|
|
107
|
+
"cssnano": "5.0.7",
|
|
108
|
+
"eslint": "7.31.0",
|
|
109
|
+
"eslint-config-react-app": "6.0.0",
|
|
110
|
+
"eslint-plugin-flowtype": "5.8.2",
|
|
111
|
+
"eslint-plugin-react-hooks": "4.2.0",
|
|
112
|
+
"gulp": "4.0.2",
|
|
113
|
+
"gulp-scss-combine": "1.0.0",
|
|
114
|
+
"husky": "4.2.5",
|
|
115
|
+
"import-glob-loader": "1.1.0",
|
|
116
|
+
"jest": "27.3.1",
|
|
117
|
+
"jest-axe": "5.0.1",
|
|
118
|
+
"jsdom": "15.2.1",
|
|
119
|
+
"node-sass": "4.14.1",
|
|
120
|
+
"node-sass-glob-importer": "5.3.2",
|
|
121
|
+
"normalize.css": "8.0.1",
|
|
126
122
|
"postcss": "8.3.6",
|
|
127
|
-
"prettier": "2.
|
|
128
|
-
"pretty-quick": "
|
|
123
|
+
"prettier": "2.4.1",
|
|
124
|
+
"pretty-quick": "3.1.1",
|
|
129
125
|
"react": "16.14.0",
|
|
130
|
-
"react-autosuggest": "
|
|
131
|
-
"react-docgen-typescript-loader": "
|
|
126
|
+
"react-autosuggest": "10.0.2",
|
|
127
|
+
"react-docgen-typescript-loader": "3.1.0",
|
|
132
128
|
"react-dom": "16.14.0",
|
|
133
|
-
"react-
|
|
134
|
-
"react-
|
|
135
|
-
"
|
|
136
|
-
"rollup-plugin-
|
|
137
|
-
"
|
|
138
|
-
"sass": "
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
"
|
|
142
|
-
"
|
|
143
|
-
"
|
|
144
|
-
"
|
|
145
|
-
"
|
|
146
|
-
"stylelint-order": "^4.1.0",
|
|
147
|
-
"stylelint-prettier": "^1.1.2",
|
|
148
|
-
"stylelint-scss": "^3.18.0",
|
|
149
|
-
"ts-jest": "^27.0.4",
|
|
150
|
-
"ts-loader": "^6.2.0",
|
|
151
|
-
"tsdx": "^0.14.1",
|
|
152
|
-
"tslib": "^2.3.0"
|
|
129
|
+
"react-router-dom": "5.2.0",
|
|
130
|
+
"react-test-renderer": "16.14.0",
|
|
131
|
+
"rollup-plugin-postcss": "4.0.0",
|
|
132
|
+
"rollup-plugin-svg": "2.0.0",
|
|
133
|
+
"sass": "1.35.1",
|
|
134
|
+
"sass-loader": "10.0.0",
|
|
135
|
+
"semantic-release-slack-bot": "2.1.0",
|
|
136
|
+
"size-limit": "5.0.1",
|
|
137
|
+
"storybook-addon-designs": "6.2.0",
|
|
138
|
+
"style-loader": "2.0.0",
|
|
139
|
+
"ts-jest": "27.0.4",
|
|
140
|
+
"tsdx": "0.14.1",
|
|
141
|
+
"tslib": "2.3.0"
|
|
153
142
|
}
|
|
154
143
|
}
|
package/src/__tests__/setup.ts
CHANGED
|
@@ -12,8 +12,8 @@ const jsdom = new JSDOM("<!doctype html><html><body></body></html>", {
|
|
|
12
12
|
const { window } = jsdom;
|
|
13
13
|
const exposedProperties = ["window", "navigator", "document"];
|
|
14
14
|
|
|
15
|
-
global.window = window;
|
|
16
|
-
global.document = window.document;
|
|
15
|
+
(global as any).window = window;
|
|
16
|
+
(global as any).document = window.document;
|
|
17
17
|
Object.keys(document.defaultView).forEach((property) => {
|
|
18
18
|
if (typeof global[property] === "undefined") {
|
|
19
19
|
exposedProperties.push(property);
|
|
@@ -7,10 +7,9 @@ import {
|
|
|
7
7
|
} from "@storybook/addon-docs/blocks";
|
|
8
8
|
import Accordion from "./Accordion";
|
|
9
9
|
import { withDesign } from "storybook-addon-designs";
|
|
10
|
-
import { listRenderer as ListStory } from "../List/List.stories.tsx";
|
|
11
|
-
import { ListTypes } from "../List/ListTypes";
|
|
12
10
|
import Card, { CardHeading, CardContent } from "../Card/Card";
|
|
13
|
-
import {
|
|
11
|
+
import { CardLayouts } from "../Card/CardTypes";
|
|
12
|
+
import { ImageRatios } from "../Image/ImageTypes";
|
|
14
13
|
import { HeadingLevels } from "../Heading/HeadingTypes";
|
|
15
14
|
import { Source } from "@storybook/addon-docs/blocks";
|
|
16
15
|
import ReactDOMServer from "react-dom/server";
|
|
@@ -61,36 +60,32 @@ necessary icon, Chakra components, and styles.
|
|
|
61
60
|
name="Basic"
|
|
62
61
|
args={{
|
|
63
62
|
isDefaultOpen: false,
|
|
63
|
+
contentData: [
|
|
64
|
+
{
|
|
65
|
+
label: "Tom Nook",
|
|
66
|
+
panel: (
|
|
67
|
+
<Card
|
|
68
|
+
layout={CardLayouts.Row}
|
|
69
|
+
center
|
|
70
|
+
imageSrc="https://play.nintendo.com/images/AC_Tom_FRYtwIN.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
|
|
71
|
+
imageAlt="Alt text"
|
|
72
|
+
imageAspectRatio={ImageRatios.TwoByOne}
|
|
73
|
+
>
|
|
74
|
+
<CardHeading level={HeadingLevels.Four} id="heading1">
|
|
75
|
+
Tom Nook
|
|
76
|
+
</CardHeading>
|
|
77
|
+
<CardContent>
|
|
78
|
+
Tom Nook, <b>known in Japan as Tanukichi</b>, is a fictional
|
|
79
|
+
character in the Animal Crossing series who operates the village
|
|
80
|
+
store.
|
|
81
|
+
</CardContent>
|
|
82
|
+
</Card>
|
|
83
|
+
),
|
|
84
|
+
},
|
|
85
|
+
],
|
|
64
86
|
}}
|
|
65
87
|
>
|
|
66
|
-
{(args) =>
|
|
67
|
-
<Accordion
|
|
68
|
-
{...args}
|
|
69
|
-
contentData={[
|
|
70
|
-
{
|
|
71
|
-
label: "Tom Nook",
|
|
72
|
-
panel: (
|
|
73
|
-
<Card
|
|
74
|
-
layout={CardLayouts.Row}
|
|
75
|
-
center
|
|
76
|
-
imageSrc="https://play.nintendo.com/images/AC_Tom_FRYtwIN.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
|
|
77
|
-
imageAlt="Alt text"
|
|
78
|
-
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
79
|
-
>
|
|
80
|
-
<CardHeading level={HeadingLevels.Four} id="heading1">
|
|
81
|
-
Tom Nook
|
|
82
|
-
</CardHeading>
|
|
83
|
-
<CardContent>
|
|
84
|
-
Tom Nook, <b>known in Japan as Tanukichi</b>, is a fictional
|
|
85
|
-
character in the Animal Crossing series who operates the
|
|
86
|
-
village store.
|
|
87
|
-
</CardContent>
|
|
88
|
-
</Card>
|
|
89
|
-
),
|
|
90
|
-
},
|
|
91
|
-
]}
|
|
92
|
-
/>
|
|
93
|
-
)}
|
|
88
|
+
{(args) => <Accordion {...args} />}
|
|
94
89
|
</Story>
|
|
95
90
|
</Canvas>
|
|
96
91
|
|
|
@@ -104,7 +99,7 @@ const contentData = [
|
|
|
104
99
|
center
|
|
105
100
|
imageSrc="https://play.nintendo.com/images/AC_Tom_FRYtwIN.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
|
|
106
101
|
imageAlt="Alt text"
|
|
107
|
-
imageAspectRatio={
|
|
102
|
+
imageAspectRatio={ImageRatios.TwoByOne}
|
|
108
103
|
>
|
|
109
104
|
<CardHeading level={HeadingLevels.Four} id="heading1">
|
|
110
105
|
Tom Nook
|
|
@@ -137,9 +132,9 @@ export const faqContent = [
|
|
|
137
132
|
center
|
|
138
133
|
imageSrc="https://play.nintendo.com/images/AC_Tom_FRYtwIN.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
|
|
139
134
|
imageAlt="Alt text"
|
|
140
|
-
imageAspectRatio={
|
|
135
|
+
imageAspectRatio={ImageRatios.TwoByOne}
|
|
141
136
|
>
|
|
142
|
-
<CardHeading level={HeadingLevels.Four} id="heading1">
|
|
137
|
+
<CardHeading level={HeadingLevels.Four} id="heading1-tom">
|
|
143
138
|
Tom Nook
|
|
144
139
|
</CardHeading>
|
|
145
140
|
<CardContent>
|
|
@@ -157,9 +152,9 @@ export const faqContent = [
|
|
|
157
152
|
center
|
|
158
153
|
imageSrc="https://play.nintendo.com/images/AC_Isabelle_7XU6aGu.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
|
|
159
154
|
imageAlt="Alt text"
|
|
160
|
-
imageAspectRatio={
|
|
155
|
+
imageAspectRatio={ImageRatios.TwoByOne}
|
|
161
156
|
>
|
|
162
|
-
<CardHeading level={HeadingLevels.Four} id="heading1">
|
|
157
|
+
<CardHeading level={HeadingLevels.Four} id="heading1-isabelle">
|
|
163
158
|
Isabelle
|
|
164
159
|
</CardHeading>
|
|
165
160
|
<CardContent>
|
|
@@ -179,9 +174,9 @@ export const faqContent = [
|
|
|
179
174
|
center
|
|
180
175
|
imageSrc="https://play.nintendo.com/images/AC_KK_jh4yj5t.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
|
|
181
176
|
imageAlt="Alt text"
|
|
182
|
-
imageAspectRatio={
|
|
177
|
+
imageAspectRatio={ImageRatios.TwoByOne}
|
|
183
178
|
>
|
|
184
|
-
<CardHeading level={HeadingLevels.Four} id="heading1">
|
|
179
|
+
<CardHeading level={HeadingLevels.Four} id="heading1-kkslider">
|
|
185
180
|
K.K. Slider
|
|
186
181
|
</CardHeading>
|
|
187
182
|
<CardContent>
|
|
@@ -216,9 +211,9 @@ export const faqContent = [
|
|
|
216
211
|
center
|
|
217
212
|
imageSrc="https://play.nintendo.com/images/AC_Tom_FRYtwIN.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
|
|
218
213
|
imageAlt="Alt text"
|
|
219
|
-
imageAspectRatio={
|
|
214
|
+
imageAspectRatio={ImageRatios.TwoByOne}
|
|
220
215
|
>
|
|
221
|
-
<CardHeading level={HeadingLevels.Four} id="heading1">
|
|
216
|
+
<CardHeading level={HeadingLevels.Four} id="heading1-tom">
|
|
222
217
|
Tom Nook
|
|
223
218
|
</CardHeading>
|
|
224
219
|
<CardContent>
|
|
@@ -236,9 +231,9 @@ export const faqContent = [
|
|
|
236
231
|
center
|
|
237
232
|
imageSrc="https://play.nintendo.com/images/AC_Isabelle_7XU6aGu.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
|
|
238
233
|
imageAlt="Alt text"
|
|
239
|
-
imageAspectRatio={
|
|
234
|
+
imageAspectRatio={ImageRatios.TwoByOne}
|
|
240
235
|
>
|
|
241
|
-
<CardHeading level={HeadingLevels.Four} id="heading1">
|
|
236
|
+
<CardHeading level={HeadingLevels.Four} id="heading1-isabelle">
|
|
242
237
|
Isabelle
|
|
243
238
|
</CardHeading>
|
|
244
239
|
<CardContent>
|
|
@@ -258,9 +253,9 @@ export const faqContent = [
|
|
|
258
253
|
center
|
|
259
254
|
imageSrc="https://play.nintendo.com/images/AC_KK_jh4yj5t.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
|
|
260
255
|
imageAlt="Alt text"
|
|
261
|
-
imageAspectRatio={
|
|
256
|
+
imageAspectRatio={ImageRatios.TwoByOne}
|
|
262
257
|
>
|
|
263
|
-
<CardHeading level={HeadingLevels.Four} id="heading1">
|
|
258
|
+
<CardHeading level={HeadingLevels.Four} id="heading1-kkslider">
|
|
264
259
|
K.K. Slider
|
|
265
260
|
</CardHeading>
|
|
266
261
|
<CardContent>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Meta, Story,
|
|
1
|
+
import { Meta, Story, Canvas } from "@storybook/addon-docs/blocks";
|
|
2
2
|
import Autosuggest from "react-autosuggest";
|
|
3
3
|
import * as stories from "./Autosuggest.stories.tsx";
|
|
4
4
|
import { getCategory } from "../../utils/componentCategories";
|
|
@@ -19,9 +19,9 @@ every input element. Since the suggestion dropdown will appear on top of page co
|
|
|
19
19
|
we've added a min-height to make it easier to see the dropdown. This is for demonstration
|
|
20
20
|
purposes only and you will not need to do this in your application.
|
|
21
21
|
|
|
22
|
-
<
|
|
22
|
+
<Canvas withToolbar>
|
|
23
23
|
<Story name="Basic" story={stories.AutosuggestLibrary} />
|
|
24
|
-
</
|
|
24
|
+
</Canvas>
|
|
25
25
|
|
|
26
26
|
## With custom icons
|
|
27
27
|
|
|
@@ -29,7 +29,7 @@ const libraryRenderInputComponent = (
|
|
|
29
29
|
>
|
|
30
30
|
Home Library
|
|
31
31
|
</Label>
|
|
32
|
-
<HelperErrorText id="id-helperText"
|
|
32
|
+
<HelperErrorText id="id-helperText" isInvalid={false}>
|
|
33
33
|
Select your home library. Start by typing the name of the library. Try{" "}
|
|
34
34
|
{'"'}ba{'"'}.
|
|
35
35
|
</HelperErrorText>
|
|
@@ -99,6 +99,7 @@ const LibraryExample = ({ renderInputComponent }) => {
|
|
|
99
99
|
const renderSuggestion = (suggestion) => <span>{suggestion.label}</span>;
|
|
100
100
|
// Autosuggest will pass through all these props to the Input component.
|
|
101
101
|
const inputProps = {
|
|
102
|
+
"aria-label": "Home Library",
|
|
102
103
|
placeholder: "Type a library name",
|
|
103
104
|
value,
|
|
104
105
|
onChange,
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
.react-autosuggest__suggestions-container--open {
|
|
28
|
-
background-color: var(--ui-white);
|
|
28
|
+
background-color: var(--nypl-colors-ui-white);
|
|
29
29
|
display: block;
|
|
30
30
|
font-weight: 300;
|
|
31
31
|
margin-top: -6px; // accounts for the focus ring on the input
|
|
32
|
-
outline: 1px solid var(--ui-gray-light-cool);
|
|
32
|
+
outline: 1px solid var(--nypl-colors-ui-gray-light-cool);
|
|
33
33
|
position: absolute;
|
|
34
34
|
width: 100%;
|
|
35
35
|
z-index: 2;
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
|
|
44
44
|
.react-autosuggest__suggestion {
|
|
45
45
|
cursor: pointer;
|
|
46
|
-
padding: var(--space-xs);
|
|
46
|
+
padding: var(--nypl-space-xs);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
.react-autosuggest__suggestion--highlighted {
|
|
50
|
-
background-color: var(--ui-gray-light-cool);
|
|
50
|
+
background-color: var(--nypl-colors-ui-gray-light-cool);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
.auto-suggest-bottom {
|
|
54
|
-
padding: var(--space-xs);
|
|
54
|
+
padding: var(--nypl-space-xs);
|
|
55
55
|
}
|
|
@@ -22,14 +22,14 @@ import { getCategory } from "../../utils/componentCategories";
|
|
|
22
22
|
parameters={{
|
|
23
23
|
design: {
|
|
24
24
|
type: "figma",
|
|
25
|
-
url:
|
|
26
|
-
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10766%3A1031",
|
|
25
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10766%3A1031",
|
|
27
26
|
},
|
|
28
27
|
jest: ["Breadcrumbs.test.tsx"],
|
|
29
28
|
}}
|
|
30
29
|
argTypes={{
|
|
31
|
-
|
|
30
|
+
additionalStyles: { control: false },
|
|
32
31
|
className: { table: { disable: true } },
|
|
32
|
+
id: { table: { disable: true } },
|
|
33
33
|
}}
|
|
34
34
|
/>
|
|
35
35
|
|
|
@@ -38,7 +38,7 @@ import { getCategory } from "../../utils/componentCategories";
|
|
|
38
38
|
| Component Version | DS Version |
|
|
39
39
|
| ----------------- | ---------- |
|
|
40
40
|
| Added | `0.0.3` |
|
|
41
|
-
| Latest | `0.25.
|
|
41
|
+
| Latest | `0.25.4` |
|
|
42
42
|
|
|
43
43
|
<Description of={Breadcrumbs} />
|
|
44
44
|
|
|
@@ -76,8 +76,7 @@ The `Breadcrumbs` component is a navigation element that provides a breadcrumb p
|
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
78
|
url: "#",
|
|
79
|
-
text:
|
|
80
|
-
"Great-Grandchild with the Longest Name That Will Wrap onto the Second Line of the Breadcrumb Component Under the Right Circumstances",
|
|
79
|
+
text: "Great-Grandchild with the Longest Name That Will Wrap onto the Second Line of the Breadcrumb Component Under the Right Circumstances",
|
|
81
80
|
},
|
|
82
81
|
]}
|
|
83
82
|
/>
|
|
@@ -89,9 +88,14 @@ The `Breadcrumbs` component is a navigation element that provides a breadcrumb p
|
|
|
89
88
|
The `Breadcrumbs` component background color can be set using the `colorVariant` prop and the `ColorVariants` enum. If the `colorVariant` prop is omitted, the default background color is `black`.
|
|
90
89
|
|
|
91
90
|
<Canvas>
|
|
92
|
-
<Story
|
|
91
|
+
<Story
|
|
92
|
+
name="Color Variations"
|
|
93
|
+
args={{
|
|
94
|
+
colorVariant: ColorVariants.BooksAndMore,
|
|
95
|
+
}}
|
|
96
|
+
>
|
|
93
97
|
{(args) => (
|
|
94
|
-
|
|
98
|
+
<>
|
|
95
99
|
<Heading level={HeadingLevels.Three}>Books and More</Heading>
|
|
96
100
|
<Breadcrumbs
|
|
97
101
|
breadcrumbsData={[
|
|
@@ -102,9 +106,9 @@ The `Breadcrumbs` component background color can be set using the `colorVariant`
|
|
|
102
106
|
text: "Grandchild",
|
|
103
107
|
},
|
|
104
108
|
]}
|
|
105
|
-
colorVariant={
|
|
109
|
+
colorVariant={args.colorVariant}
|
|
106
110
|
/>
|
|
107
|
-
|
|
111
|
+
</>
|
|
108
112
|
)}
|
|
109
113
|
</Story>
|
|
110
114
|
</Canvas>
|
|
@@ -4,6 +4,7 @@ import renderer from "react-test-renderer";
|
|
|
4
4
|
import { axe } from "jest-axe";
|
|
5
5
|
|
|
6
6
|
import Breadcrumbs from "./Breadcrumbs";
|
|
7
|
+
import { ColorVariants } from "./BreadcrumbsTypes";
|
|
7
8
|
|
|
8
9
|
describe("Breadcrumbs Accessibility", () => {
|
|
9
10
|
const breadcrumbsData = [
|
|
@@ -31,8 +32,30 @@ describe("Breadcrumbs Snapshot", () => {
|
|
|
31
32
|
<Breadcrumbs id="breadcrumbs-test" breadcrumbsData={breadcrumbsData} />
|
|
32
33
|
)
|
|
33
34
|
.toJSON();
|
|
35
|
+
const breadcrumbsVariantColor = renderer
|
|
36
|
+
.create(
|
|
37
|
+
<Breadcrumbs
|
|
38
|
+
breadcrumbsData={breadcrumbsData}
|
|
39
|
+
colorVariant={ColorVariants.BooksAndMore}
|
|
40
|
+
id="breadcrumbs-test"
|
|
41
|
+
/>
|
|
42
|
+
)
|
|
43
|
+
.toJSON();
|
|
44
|
+
const breadcrumbsAdditionalStyles = renderer
|
|
45
|
+
.create(
|
|
46
|
+
<Breadcrumbs
|
|
47
|
+
additionalStyles={{
|
|
48
|
+
bg: "var(--nypl-colors-ui-error-primary)",
|
|
49
|
+
}}
|
|
50
|
+
breadcrumbsData={breadcrumbsData}
|
|
51
|
+
id="breadcrumbs-test"
|
|
52
|
+
/>
|
|
53
|
+
)
|
|
54
|
+
.toJSON();
|
|
34
55
|
|
|
35
56
|
expect(breadcrumbsSnapshot).toMatchSnapshot();
|
|
57
|
+
expect(breadcrumbsVariantColor).toMatchSnapshot();
|
|
58
|
+
expect(breadcrumbsAdditionalStyles).toMatchSnapshot();
|
|
36
59
|
});
|
|
37
60
|
});
|
|
38
61
|
|
|
@@ -23,6 +23,8 @@ export interface BreadcrumbsDataProps {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export interface BreadcrumbProps {
|
|
26
|
+
/** Optionally pass in additional Chakra-based styles. */
|
|
27
|
+
additionalStyles?: { [key: string]: any };
|
|
26
28
|
/** Breadcrumb links as an array */
|
|
27
29
|
breadcrumbsData: BreadcrumbsDataProps[];
|
|
28
30
|
/** className you can add in addition to 'input' */
|
|
@@ -64,6 +66,7 @@ const getElementsFromData = (data, breadcrumbsID) => {
|
|
|
64
66
|
|
|
65
67
|
function Breadcrumbs(props: React.PropsWithChildren<BreadcrumbProps>) {
|
|
66
68
|
const {
|
|
69
|
+
additionalStyles = {},
|
|
67
70
|
breadcrumbsData,
|
|
68
71
|
className,
|
|
69
72
|
colorVariant,
|
|
@@ -78,10 +81,11 @@ function Breadcrumbs(props: React.PropsWithChildren<BreadcrumbProps>) {
|
|
|
78
81
|
}
|
|
79
82
|
|
|
80
83
|
const styles = useStyleConfig("Breadcrumb", { variant });
|
|
84
|
+
const finalStyles = { ...styles, ...additionalStyles };
|
|
81
85
|
const breadcrumbItems = getElementsFromData(breadcrumbsData, id);
|
|
82
86
|
|
|
83
87
|
return (
|
|
84
|
-
<ChakraBreadcrumb className={className} __css={
|
|
88
|
+
<ChakraBreadcrumb className={className} __css={finalStyles} id={id}>
|
|
85
89
|
{breadcrumbItems}
|
|
86
90
|
</ChakraBreadcrumb>
|
|
87
91
|
);
|