@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[`Table renders the UI snapshot correctly 1`] = `
|
|
4
4
|
<table
|
|
5
|
-
className="chakra-table css-
|
|
5
|
+
className="chakra-table css-1xdhyk6"
|
|
6
6
|
id="basic"
|
|
7
7
|
role="table"
|
|
8
8
|
>
|
|
@@ -203,7 +203,7 @@ exports[`Table renders the UI snapshot correctly 1`] = `
|
|
|
203
203
|
|
|
204
204
|
exports[`Table renders the UI snapshot correctly 2`] = `
|
|
205
205
|
<table
|
|
206
|
-
className="chakra-table css-
|
|
206
|
+
className="chakra-table css-1xdhyk6"
|
|
207
207
|
id="withCaption"
|
|
208
208
|
role="table"
|
|
209
209
|
>
|
|
@@ -409,7 +409,7 @@ exports[`Table renders the UI snapshot correctly 2`] = `
|
|
|
409
409
|
|
|
410
410
|
exports[`Table renders the UI snapshot correctly 3`] = `
|
|
411
411
|
<table
|
|
412
|
-
className="chakra-table css-
|
|
412
|
+
className="chakra-table css-1xdhyk6"
|
|
413
413
|
id="withHeaders"
|
|
414
414
|
role="table"
|
|
415
415
|
>
|
|
@@ -666,7 +666,7 @@ exports[`Table renders the UI snapshot correctly 3`] = `
|
|
|
666
666
|
|
|
667
667
|
exports[`Table renders the UI snapshot correctly 4`] = `
|
|
668
668
|
<table
|
|
669
|
-
className="chakra-table css-
|
|
669
|
+
className="chakra-table css-1xdhyk6"
|
|
670
670
|
id="withHeaders"
|
|
671
671
|
role="table"
|
|
672
672
|
>
|
|
@@ -923,7 +923,7 @@ exports[`Table renders the UI snapshot correctly 4`] = `
|
|
|
923
923
|
|
|
924
924
|
exports[`Table renders the UI snapshot correctly 5`] = `
|
|
925
925
|
<table
|
|
926
|
-
className="chakra-table css-
|
|
926
|
+
className="chakra-table css-1xdhyk6"
|
|
927
927
|
id="withHeaders"
|
|
928
928
|
role="table"
|
|
929
929
|
>
|
|
@@ -1177,3 +1177,406 @@ exports[`Table renders the UI snapshot correctly 5`] = `
|
|
|
1177
1177
|
</tbody>
|
|
1178
1178
|
</table>
|
|
1179
1179
|
`;
|
|
1180
|
+
|
|
1181
|
+
exports[`Table renders the UI snapshot correctly 6`] = `
|
|
1182
|
+
<table
|
|
1183
|
+
className="chakra-table css-kle7zy"
|
|
1184
|
+
id="chakra"
|
|
1185
|
+
role="table"
|
|
1186
|
+
>
|
|
1187
|
+
<tbody
|
|
1188
|
+
className="css-0"
|
|
1189
|
+
>
|
|
1190
|
+
<tr
|
|
1191
|
+
className="css-0"
|
|
1192
|
+
role="row"
|
|
1193
|
+
>
|
|
1194
|
+
<td
|
|
1195
|
+
className="css-0"
|
|
1196
|
+
role="gridcell"
|
|
1197
|
+
>
|
|
1198
|
+
Tom
|
|
1199
|
+
</td>
|
|
1200
|
+
<td
|
|
1201
|
+
className="css-0"
|
|
1202
|
+
role="gridcell"
|
|
1203
|
+
>
|
|
1204
|
+
Nook
|
|
1205
|
+
</td>
|
|
1206
|
+
<td
|
|
1207
|
+
className="css-0"
|
|
1208
|
+
role="gridcell"
|
|
1209
|
+
>
|
|
1210
|
+
Tanukichi
|
|
1211
|
+
</td>
|
|
1212
|
+
<td
|
|
1213
|
+
className="css-0"
|
|
1214
|
+
role="gridcell"
|
|
1215
|
+
>
|
|
1216
|
+
Main Street
|
|
1217
|
+
</td>
|
|
1218
|
+
<td
|
|
1219
|
+
className="css-0"
|
|
1220
|
+
role="gridcell"
|
|
1221
|
+
>
|
|
1222
|
+
New York
|
|
1223
|
+
</td>
|
|
1224
|
+
<td
|
|
1225
|
+
className="css-0"
|
|
1226
|
+
role="gridcell"
|
|
1227
|
+
>
|
|
1228
|
+
23458
|
|
1229
|
+
</td>
|
|
1230
|
+
<td
|
|
1231
|
+
className="css-0"
|
|
1232
|
+
role="gridcell"
|
|
1233
|
+
>
|
|
1234
|
+
NY
|
|
1235
|
+
</td>
|
|
1236
|
+
</tr>
|
|
1237
|
+
<tr
|
|
1238
|
+
className="css-0"
|
|
1239
|
+
role="row"
|
|
1240
|
+
>
|
|
1241
|
+
<td
|
|
1242
|
+
className="css-0"
|
|
1243
|
+
role="gridcell"
|
|
1244
|
+
>
|
|
1245
|
+
Isabelle
|
|
1246
|
+
</td>
|
|
1247
|
+
<td
|
|
1248
|
+
className="css-0"
|
|
1249
|
+
role="gridcell"
|
|
1250
|
+
>
|
|
1251
|
+
-
|
|
1252
|
+
</td>
|
|
1253
|
+
<td
|
|
1254
|
+
className="css-0"
|
|
1255
|
+
role="gridcell"
|
|
1256
|
+
>
|
|
1257
|
+
Shizue
|
|
1258
|
+
</td>
|
|
1259
|
+
<td
|
|
1260
|
+
className="css-0"
|
|
1261
|
+
role="gridcell"
|
|
1262
|
+
>
|
|
1263
|
+
Walnut Street
|
|
1264
|
+
</td>
|
|
1265
|
+
<td
|
|
1266
|
+
className="css-0"
|
|
1267
|
+
role="gridcell"
|
|
1268
|
+
>
|
|
1269
|
+
New York
|
|
1270
|
+
</td>
|
|
1271
|
+
<td
|
|
1272
|
+
className="css-0"
|
|
1273
|
+
role="gridcell"
|
|
1274
|
+
>
|
|
1275
|
+
23458
|
|
1276
|
+
</td>
|
|
1277
|
+
<td
|
|
1278
|
+
className="css-0"
|
|
1279
|
+
role="gridcell"
|
|
1280
|
+
>
|
|
1281
|
+
NY
|
|
1282
|
+
</td>
|
|
1283
|
+
</tr>
|
|
1284
|
+
<tr
|
|
1285
|
+
className="css-0"
|
|
1286
|
+
role="row"
|
|
1287
|
+
>
|
|
1288
|
+
<td
|
|
1289
|
+
className="css-0"
|
|
1290
|
+
role="gridcell"
|
|
1291
|
+
>
|
|
1292
|
+
K.K.
|
|
1293
|
+
</td>
|
|
1294
|
+
<td
|
|
1295
|
+
className="css-0"
|
|
1296
|
+
role="gridcell"
|
|
1297
|
+
>
|
|
1298
|
+
Slider
|
|
1299
|
+
</td>
|
|
1300
|
+
<td
|
|
1301
|
+
className="css-0"
|
|
1302
|
+
role="gridcell"
|
|
1303
|
+
>
|
|
1304
|
+
Totakeke
|
|
1305
|
+
</td>
|
|
1306
|
+
<td
|
|
1307
|
+
className="css-0"
|
|
1308
|
+
role="gridcell"
|
|
1309
|
+
>
|
|
1310
|
+
Niper Place
|
|
1311
|
+
</td>
|
|
1312
|
+
<td
|
|
1313
|
+
className="css-0"
|
|
1314
|
+
role="gridcell"
|
|
1315
|
+
>
|
|
1316
|
+
New York
|
|
1317
|
+
</td>
|
|
1318
|
+
<td
|
|
1319
|
+
className="css-0"
|
|
1320
|
+
role="gridcell"
|
|
1321
|
+
>
|
|
1322
|
+
98765
|
|
1323
|
+
</td>
|
|
1324
|
+
<td
|
|
1325
|
+
className="css-0"
|
|
1326
|
+
role="gridcell"
|
|
1327
|
+
>
|
|
1328
|
+
NY
|
|
1329
|
+
</td>
|
|
1330
|
+
</tr>
|
|
1331
|
+
<tr
|
|
1332
|
+
className="css-0"
|
|
1333
|
+
role="row"
|
|
1334
|
+
>
|
|
1335
|
+
<td
|
|
1336
|
+
className="css-0"
|
|
1337
|
+
role="gridcell"
|
|
1338
|
+
>
|
|
1339
|
+
Sonny
|
|
1340
|
+
</td>
|
|
1341
|
+
<td
|
|
1342
|
+
className="css-0"
|
|
1343
|
+
role="gridcell"
|
|
1344
|
+
>
|
|
1345
|
+
Resetti
|
|
1346
|
+
</td>
|
|
1347
|
+
<td
|
|
1348
|
+
className="css-0"
|
|
1349
|
+
role="gridcell"
|
|
1350
|
+
>
|
|
1351
|
+
Risetto san
|
|
1352
|
+
</td>
|
|
1353
|
+
<td
|
|
1354
|
+
className="css-0"
|
|
1355
|
+
role="gridcell"
|
|
1356
|
+
>
|
|
1357
|
+
Village Road
|
|
1358
|
+
</td>
|
|
1359
|
+
<td
|
|
1360
|
+
className="css-0"
|
|
1361
|
+
role="gridcell"
|
|
1362
|
+
>
|
|
1363
|
+
New York
|
|
1364
|
+
</td>
|
|
1365
|
+
<td
|
|
1366
|
+
className="css-0"
|
|
1367
|
+
role="gridcell"
|
|
1368
|
+
>
|
|
1369
|
+
09873
|
|
1370
|
+
</td>
|
|
1371
|
+
<td
|
|
1372
|
+
className="css-0"
|
|
1373
|
+
role="gridcell"
|
|
1374
|
+
>
|
|
1375
|
+
NY
|
|
1376
|
+
</td>
|
|
1377
|
+
</tr>
|
|
1378
|
+
</tbody>
|
|
1379
|
+
</table>
|
|
1380
|
+
`;
|
|
1381
|
+
|
|
1382
|
+
exports[`Table renders the UI snapshot correctly 7`] = `
|
|
1383
|
+
<table
|
|
1384
|
+
className="chakra-table css-1xdhyk6"
|
|
1385
|
+
data-testid="props"
|
|
1386
|
+
id="props"
|
|
1387
|
+
role="table"
|
|
1388
|
+
>
|
|
1389
|
+
<tbody
|
|
1390
|
+
className="css-0"
|
|
1391
|
+
>
|
|
1392
|
+
<tr
|
|
1393
|
+
className="css-0"
|
|
1394
|
+
role="row"
|
|
1395
|
+
>
|
|
1396
|
+
<td
|
|
1397
|
+
className="css-0"
|
|
1398
|
+
role="gridcell"
|
|
1399
|
+
>
|
|
1400
|
+
Tom
|
|
1401
|
+
</td>
|
|
1402
|
+
<td
|
|
1403
|
+
className="css-0"
|
|
1404
|
+
role="gridcell"
|
|
1405
|
+
>
|
|
1406
|
+
Nook
|
|
1407
|
+
</td>
|
|
1408
|
+
<td
|
|
1409
|
+
className="css-0"
|
|
1410
|
+
role="gridcell"
|
|
1411
|
+
>
|
|
1412
|
+
Tanukichi
|
|
1413
|
+
</td>
|
|
1414
|
+
<td
|
|
1415
|
+
className="css-0"
|
|
1416
|
+
role="gridcell"
|
|
1417
|
+
>
|
|
1418
|
+
Main Street
|
|
1419
|
+
</td>
|
|
1420
|
+
<td
|
|
1421
|
+
className="css-0"
|
|
1422
|
+
role="gridcell"
|
|
1423
|
+
>
|
|
1424
|
+
New York
|
|
1425
|
+
</td>
|
|
1426
|
+
<td
|
|
1427
|
+
className="css-0"
|
|
1428
|
+
role="gridcell"
|
|
1429
|
+
>
|
|
1430
|
+
23458
|
|
1431
|
+
</td>
|
|
1432
|
+
<td
|
|
1433
|
+
className="css-0"
|
|
1434
|
+
role="gridcell"
|
|
1435
|
+
>
|
|
1436
|
+
NY
|
|
1437
|
+
</td>
|
|
1438
|
+
</tr>
|
|
1439
|
+
<tr
|
|
1440
|
+
className="css-0"
|
|
1441
|
+
role="row"
|
|
1442
|
+
>
|
|
1443
|
+
<td
|
|
1444
|
+
className="css-0"
|
|
1445
|
+
role="gridcell"
|
|
1446
|
+
>
|
|
1447
|
+
Isabelle
|
|
1448
|
+
</td>
|
|
1449
|
+
<td
|
|
1450
|
+
className="css-0"
|
|
1451
|
+
role="gridcell"
|
|
1452
|
+
>
|
|
1453
|
+
-
|
|
1454
|
+
</td>
|
|
1455
|
+
<td
|
|
1456
|
+
className="css-0"
|
|
1457
|
+
role="gridcell"
|
|
1458
|
+
>
|
|
1459
|
+
Shizue
|
|
1460
|
+
</td>
|
|
1461
|
+
<td
|
|
1462
|
+
className="css-0"
|
|
1463
|
+
role="gridcell"
|
|
1464
|
+
>
|
|
1465
|
+
Walnut Street
|
|
1466
|
+
</td>
|
|
1467
|
+
<td
|
|
1468
|
+
className="css-0"
|
|
1469
|
+
role="gridcell"
|
|
1470
|
+
>
|
|
1471
|
+
New York
|
|
1472
|
+
</td>
|
|
1473
|
+
<td
|
|
1474
|
+
className="css-0"
|
|
1475
|
+
role="gridcell"
|
|
1476
|
+
>
|
|
1477
|
+
23458
|
|
1478
|
+
</td>
|
|
1479
|
+
<td
|
|
1480
|
+
className="css-0"
|
|
1481
|
+
role="gridcell"
|
|
1482
|
+
>
|
|
1483
|
+
NY
|
|
1484
|
+
</td>
|
|
1485
|
+
</tr>
|
|
1486
|
+
<tr
|
|
1487
|
+
className="css-0"
|
|
1488
|
+
role="row"
|
|
1489
|
+
>
|
|
1490
|
+
<td
|
|
1491
|
+
className="css-0"
|
|
1492
|
+
role="gridcell"
|
|
1493
|
+
>
|
|
1494
|
+
K.K.
|
|
1495
|
+
</td>
|
|
1496
|
+
<td
|
|
1497
|
+
className="css-0"
|
|
1498
|
+
role="gridcell"
|
|
1499
|
+
>
|
|
1500
|
+
Slider
|
|
1501
|
+
</td>
|
|
1502
|
+
<td
|
|
1503
|
+
className="css-0"
|
|
1504
|
+
role="gridcell"
|
|
1505
|
+
>
|
|
1506
|
+
Totakeke
|
|
1507
|
+
</td>
|
|
1508
|
+
<td
|
|
1509
|
+
className="css-0"
|
|
1510
|
+
role="gridcell"
|
|
1511
|
+
>
|
|
1512
|
+
Niper Place
|
|
1513
|
+
</td>
|
|
1514
|
+
<td
|
|
1515
|
+
className="css-0"
|
|
1516
|
+
role="gridcell"
|
|
1517
|
+
>
|
|
1518
|
+
New York
|
|
1519
|
+
</td>
|
|
1520
|
+
<td
|
|
1521
|
+
className="css-0"
|
|
1522
|
+
role="gridcell"
|
|
1523
|
+
>
|
|
1524
|
+
98765
|
|
1525
|
+
</td>
|
|
1526
|
+
<td
|
|
1527
|
+
className="css-0"
|
|
1528
|
+
role="gridcell"
|
|
1529
|
+
>
|
|
1530
|
+
NY
|
|
1531
|
+
</td>
|
|
1532
|
+
</tr>
|
|
1533
|
+
<tr
|
|
1534
|
+
className="css-0"
|
|
1535
|
+
role="row"
|
|
1536
|
+
>
|
|
1537
|
+
<td
|
|
1538
|
+
className="css-0"
|
|
1539
|
+
role="gridcell"
|
|
1540
|
+
>
|
|
1541
|
+
Sonny
|
|
1542
|
+
</td>
|
|
1543
|
+
<td
|
|
1544
|
+
className="css-0"
|
|
1545
|
+
role="gridcell"
|
|
1546
|
+
>
|
|
1547
|
+
Resetti
|
|
1548
|
+
</td>
|
|
1549
|
+
<td
|
|
1550
|
+
className="css-0"
|
|
1551
|
+
role="gridcell"
|
|
1552
|
+
>
|
|
1553
|
+
Risetto san
|
|
1554
|
+
</td>
|
|
1555
|
+
<td
|
|
1556
|
+
className="css-0"
|
|
1557
|
+
role="gridcell"
|
|
1558
|
+
>
|
|
1559
|
+
Village Road
|
|
1560
|
+
</td>
|
|
1561
|
+
<td
|
|
1562
|
+
className="css-0"
|
|
1563
|
+
role="gridcell"
|
|
1564
|
+
>
|
|
1565
|
+
New York
|
|
1566
|
+
</td>
|
|
1567
|
+
<td
|
|
1568
|
+
className="css-0"
|
|
1569
|
+
role="gridcell"
|
|
1570
|
+
>
|
|
1571
|
+
09873
|
|
1572
|
+
</td>
|
|
1573
|
+
<td
|
|
1574
|
+
className="css-0"
|
|
1575
|
+
role="gridcell"
|
|
1576
|
+
>
|
|
1577
|
+
NY
|
|
1578
|
+
</td>
|
|
1579
|
+
</tr>
|
|
1580
|
+
</tbody>
|
|
1581
|
+
</table>
|
|
1582
|
+
`;
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "@storybook/addon-docs";
|
|
8
8
|
import { withDesign } from "storybook-addon-designs";
|
|
9
9
|
|
|
10
|
-
import
|
|
10
|
+
import Tabs, { TabList, Tab, TabPanels, TabPanel } from "./Tabs";
|
|
11
11
|
import { getCategory } from "../../utils/componentCategories";
|
|
12
12
|
import DSProvider from "../../theme/provider";
|
|
13
13
|
|
|
@@ -24,12 +24,12 @@ import DSProvider from "../../theme/provider";
|
|
|
24
24
|
}}
|
|
25
25
|
argTypes={{
|
|
26
26
|
children: { table: { disable: true } },
|
|
27
|
-
contentData: { control: false },
|
|
28
27
|
defaultIndex: {
|
|
29
28
|
table: { defaultValue: { summary: 0 } },
|
|
30
29
|
},
|
|
31
30
|
id: { control: false },
|
|
32
31
|
onChange: { control: false },
|
|
32
|
+
tabsData: { control: false },
|
|
33
33
|
useHash: {
|
|
34
34
|
table: { defaultValue: { summary: false } },
|
|
35
35
|
},
|
|
@@ -41,7 +41,20 @@ import DSProvider from "../../theme/provider";
|
|
|
41
41
|
| Component Version | DS Version |
|
|
42
42
|
| ----------------- | ---------- |
|
|
43
43
|
| Added | `0.24.0` |
|
|
44
|
-
| Latest | `0.
|
|
44
|
+
| Latest | `0.26.0` |
|
|
45
|
+
|
|
46
|
+
## Table of Contents
|
|
47
|
+
|
|
48
|
+
- [Overview](#overview)
|
|
49
|
+
- [Component Props](#component-props)
|
|
50
|
+
- [Accessibility](#accessibility)
|
|
51
|
+
- [Composing with a Data Object](#composing-with-a-data-object)
|
|
52
|
+
- [Responsive Mobile Carousel](#responsive-mobile-carousel)
|
|
53
|
+
- [With Callback Event Function](#with-callback-event-function)
|
|
54
|
+
- [With URL Hash Option](#with-url-hash-option)
|
|
55
|
+
- [With Children Components](#with-children-components)
|
|
56
|
+
|
|
57
|
+
## Overview
|
|
45
58
|
|
|
46
59
|
<Description of={Tabs} />
|
|
47
60
|
|
|
@@ -91,11 +104,13 @@ export const animalCrossing = [
|
|
|
91
104
|
},
|
|
92
105
|
];
|
|
93
106
|
|
|
107
|
+
## Component Props
|
|
108
|
+
|
|
94
109
|
<Canvas withToolbar>
|
|
95
110
|
<Story
|
|
96
111
|
name="Tabs with Controls"
|
|
97
112
|
args={{
|
|
98
|
-
|
|
113
|
+
tabsData: animalCrossing,
|
|
99
114
|
defaultIndex: 0,
|
|
100
115
|
id: "tabs-id",
|
|
101
116
|
onChange: undefined,
|
|
@@ -108,6 +123,40 @@ export const animalCrossing = [
|
|
|
108
123
|
|
|
109
124
|
<ArgsTable story="Tabs with Controls" />
|
|
110
125
|
|
|
126
|
+
## Accessibility
|
|
127
|
+
|
|
128
|
+
Using the DS `Tabs` component renders HTML for button tabs and panels that are
|
|
129
|
+
associated with each other. In order to simplify the content and reduce cognitive
|
|
130
|
+
load for a user, we recommend to not use more than a six (6) button tabs and
|
|
131
|
+
panels. Likewise, button tab labels should be clear and concise. Do not use
|
|
132
|
+
icons for tab labels.
|
|
133
|
+
|
|
134
|
+
The `Tabs` component is fully accessible through keyboard usage. The initial focus
|
|
135
|
+
on the UI is set on the first tab. To move between tabs, use the left and right
|
|
136
|
+
key arrows. The `home` key can be used to navigate to the first tab and the `end`
|
|
137
|
+
key can be used to navigate to the last tab. To move from a tab to its panel,
|
|
138
|
+
use the `tab` key. Likewise, use the `tab + shift` key combination to move from
|
|
139
|
+
the panel to its tab. A user cannot navigate between panels; they must navigate
|
|
140
|
+
through the tabs.
|
|
141
|
+
|
|
142
|
+
This `Tabs` component is implemented with Chakra UI and this library handles the
|
|
143
|
+
appropriate `aria-selected` and `aria-controls` attributes for the tabs, the
|
|
144
|
+
related `aria-labelledby` and `id` attributes for the panels, and the `tablist`,
|
|
145
|
+
`tab`, and `tabpanel` roles for the relevant HTML elements.
|
|
146
|
+
|
|
147
|
+
### Mobile Carousel
|
|
148
|
+
|
|
149
|
+
When viewing the `Tabs` component on a narrow screen, an additional carousel
|
|
150
|
+
interface is wrapped around the button tabs. "Next" and "Previous" arrow buttons
|
|
151
|
+
slide the view of the tabs to the left and right, but all initial functionality
|
|
152
|
+
for the `Tabs` component doesn't change.
|
|
153
|
+
|
|
154
|
+
Resources:
|
|
155
|
+
|
|
156
|
+
- [Inclusive Design Tabbed Interfaces](https://inclusive-components.design/tabbed-interfaces/)
|
|
157
|
+
- [W3C WAI Example of Tabs with Automatic Activation](https://www.w3.org/TR/wai-aria-practices/examples/tabs/tabs-1/tabs.html)
|
|
158
|
+
- [Chakra UI Tabs](https://chakra-ui.com/docs/components/disclosure/tabs)
|
|
159
|
+
|
|
111
160
|
## Composing with a Data Object
|
|
112
161
|
|
|
113
162
|
_Note: this is the recommended approach._
|
|
@@ -116,7 +165,7 @@ We recommended passing in the data for the `Tabs` component through the `data`
|
|
|
116
165
|
prop. This allows the consumer to pass in well-formed data and always generate
|
|
117
166
|
the correct DOM.
|
|
118
167
|
|
|
119
|
-
Internally in the DS `Tabs` component:
|
|
168
|
+
Internally in the Reservoir Design System (DS) `Tabs` component:
|
|
120
169
|
|
|
121
170
|
- we map through the data array and generate the appropriate components needed
|
|
122
171
|
for the layout.
|
|
@@ -154,12 +203,12 @@ const animalCrossing = [
|
|
|
154
203
|
];
|
|
155
204
|
|
|
156
205
|
// ...
|
|
157
|
-
<Tabs
|
|
206
|
+
<Tabs tabsData={animalCrossing} />;
|
|
158
207
|
```
|
|
159
208
|
|
|
160
209
|
## Responsive Mobile Carousel
|
|
161
210
|
|
|
162
|
-
For both, the `
|
|
211
|
+
For both, the `tabsData` prop approach and the children component approach
|
|
163
212
|
(described below in this document), the mobile carousel feature is built. This
|
|
164
213
|
adds "previous" and "next" arrows in the tab list for users to scroll through
|
|
165
214
|
all the tabs while the panel stays static.
|
|
@@ -183,7 +232,7 @@ export const onChange = (value) => {
|
|
|
183
232
|
};
|
|
184
233
|
|
|
185
234
|
// ...
|
|
186
|
-
<Tabs
|
|
235
|
+
<Tabs tabsData={animalCrossing} onChange={onChange} />;
|
|
187
236
|
```
|
|
188
237
|
|
|
189
238
|
export const onChange = (value) => {
|
|
@@ -192,7 +241,7 @@ export const onChange = (value) => {
|
|
|
192
241
|
|
|
193
242
|
<Canvas>
|
|
194
243
|
<Story name="With Callback Event Function">
|
|
195
|
-
<Tabs
|
|
244
|
+
<Tabs tabsData={animalCrossing} onChange={onChange} />
|
|
196
245
|
</Story>
|
|
197
246
|
</Canvas>
|
|
198
247
|
|
|
@@ -203,7 +252,7 @@ To enable this, set the `useHash` prop to true.
|
|
|
203
252
|
|
|
204
253
|
<Canvas>
|
|
205
254
|
<Story name="With URL Hash Option">
|
|
206
|
-
<Tabs
|
|
255
|
+
<Tabs tabsData={animalCrossing} useHash={true} />
|
|
207
256
|
</Story>
|
|
208
257
|
</Canvas>
|
|
209
258
|
|
|
@@ -36,7 +36,7 @@ export const animalCrossing = [
|
|
|
36
36
|
|
|
37
37
|
describe("Tabs Accessibility", () => {
|
|
38
38
|
it("passes axe accessibility test with the data prop", async () => {
|
|
39
|
-
const { container } = render(<Tabs
|
|
39
|
+
const { container } = render(<Tabs tabsData={animalCrossing} />);
|
|
40
40
|
expect(await axe(container)).toHaveNoViolations();
|
|
41
41
|
});
|
|
42
42
|
|
|
@@ -121,7 +121,7 @@ describe("Tabs", () => {
|
|
|
121
121
|
});
|
|
122
122
|
|
|
123
123
|
it("renders all tabs but only one visible panel at a time with data prop", () => {
|
|
124
|
-
render(<Tabs
|
|
124
|
+
render(<Tabs tabsData={animalCrossing} />);
|
|
125
125
|
expect(getTabByName("Tom Nook")).toBeInTheDocument();
|
|
126
126
|
expect(getTabByName("Isabelle")).toBeInTheDocument();
|
|
127
127
|
expect(getTabByName("K.K. Slider")).toBeInTheDocument();
|
|
@@ -137,7 +137,7 @@ describe("Tabs", () => {
|
|
|
137
137
|
});
|
|
138
138
|
|
|
139
139
|
it("switches between tabs", () => {
|
|
140
|
-
render(<Tabs
|
|
140
|
+
render(<Tabs tabsData={animalCrossing} />);
|
|
141
141
|
const isabelleTab = getTabByName("Isabelle");
|
|
142
142
|
const kkSliderTab = getTabByName("K.K. Slider");
|
|
143
143
|
|
|
@@ -179,7 +179,7 @@ describe("Tabs", () => {
|
|
|
179
179
|
});
|
|
180
180
|
|
|
181
181
|
it("renders the specified initial index value", () => {
|
|
182
|
-
render(<Tabs
|
|
182
|
+
render(<Tabs tabsData={animalCrossing} defaultIndex={2} />);
|
|
183
183
|
let tomTab = getTabByName("Tom Nook");
|
|
184
184
|
let isabelleTab = getTabByName("Isabelle");
|
|
185
185
|
let kkSliderTab = getTabByName("K.K. Slider");
|
|
@@ -193,7 +193,7 @@ describe("Tabs", () => {
|
|
|
193
193
|
let selectedIndex = 0;
|
|
194
194
|
const onChange = (index) => (selectedIndex = index);
|
|
195
195
|
|
|
196
|
-
render(<Tabs
|
|
196
|
+
render(<Tabs tabsData={animalCrossing} onChange={onChange} />);
|
|
197
197
|
|
|
198
198
|
const tomTab = getTabByName("Tom Nook");
|
|
199
199
|
const isabelleTab = getTabByName("Isabelle");
|
|
@@ -213,14 +213,14 @@ describe("Tabs", () => {
|
|
|
213
213
|
const warn = jest.spyOn(console, "warn");
|
|
214
214
|
render(<Tabs />);
|
|
215
215
|
expect(warn).toHaveBeenCalledWith(
|
|
216
|
-
"Tabs: Pass data in the `
|
|
216
|
+
"NYPL Reservoir Tabs: Pass data in the `contentData` props or as children."
|
|
217
217
|
);
|
|
218
218
|
});
|
|
219
219
|
|
|
220
220
|
it("should throw a warning when both the 'data' prop and children are passed", () => {
|
|
221
221
|
const warn = jest.spyOn(console, "warn");
|
|
222
222
|
render(
|
|
223
|
-
<Tabs
|
|
223
|
+
<Tabs tabsData={animalCrossing}>
|
|
224
224
|
<TabList>
|
|
225
225
|
<Tab>Tom Nook</Tab>
|
|
226
226
|
<Tab>Isabelle</Tab>
|
|
@@ -247,7 +247,8 @@ describe("Tabs", () => {
|
|
|
247
247
|
</Tabs>
|
|
248
248
|
);
|
|
249
249
|
expect(warn).toHaveBeenCalledWith(
|
|
250
|
-
"Tabs: Only pass children or data in the `
|
|
250
|
+
"NYPL Reservoir Tabs: Only pass children or data in the `contentData` " +
|
|
251
|
+
"prop. Do not pass both."
|
|
251
252
|
);
|
|
252
253
|
});
|
|
253
254
|
|
|
@@ -255,7 +256,7 @@ describe("Tabs", () => {
|
|
|
255
256
|
const warn = jest.spyOn(console, "warn");
|
|
256
257
|
render(
|
|
257
258
|
<Tabs
|
|
258
|
-
|
|
259
|
+
tabsData={[
|
|
259
260
|
...animalCrossing,
|
|
260
261
|
...[
|
|
261
262
|
{ label: "Another character 1", content: "Text" },
|
|
@@ -267,14 +268,31 @@ describe("Tabs", () => {
|
|
|
267
268
|
/>
|
|
268
269
|
);
|
|
269
270
|
expect(warn).toHaveBeenCalledWith(
|
|
270
|
-
"Tabs:
|
|
271
|
+
"NYPL Reservoir Tabs: it is recommended to use no more than six tabs. If " +
|
|
272
|
+
"more than six tabs are needed, consider other navigational patterns."
|
|
271
273
|
);
|
|
272
274
|
});
|
|
273
275
|
|
|
274
276
|
it("renders the UI snapshot correctly", () => {
|
|
275
277
|
const basic = renderer
|
|
276
|
-
.create(<Tabs
|
|
278
|
+
.create(<Tabs tabsData={animalCrossing} id="basic" />)
|
|
277
279
|
.toJSON();
|
|
280
|
+
const withChakraProps = renderer
|
|
281
|
+
.create(
|
|
282
|
+
<Tabs
|
|
283
|
+
tabsData={animalCrossing}
|
|
284
|
+
id="chakra"
|
|
285
|
+
p="20px"
|
|
286
|
+
color="ui.error.primary"
|
|
287
|
+
/>
|
|
288
|
+
)
|
|
289
|
+
.toJSON();
|
|
290
|
+
const withOtherProps = renderer
|
|
291
|
+
.create(<Tabs tabsData={animalCrossing} id="props" data-testid="props" />)
|
|
292
|
+
.toJSON();
|
|
293
|
+
|
|
278
294
|
expect(basic).toMatchSnapshot();
|
|
295
|
+
expect(withChakraProps).toMatchSnapshot();
|
|
296
|
+
expect(withOtherProps).toMatchSnapshot();
|
|
279
297
|
});
|
|
280
298
|
});
|