@nypl/design-system-react-components 0.25.13 → 0.27.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 +85 -0
- package/README.md +10 -10
- package/dist/components/Accordion/Accordion.d.ts +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +2 -2
- package/dist/components/Card/Card.d.ts +11 -9
- package/dist/components/Checkbox/Checkbox.d.ts +2 -2
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +5 -4
- package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +5 -6
- package/dist/components/Fieldset/Fieldset.d.ts +5 -6
- package/dist/components/Form/Form.d.ts +6 -6
- package/dist/components/Grid/GridTypes.d.ts +7 -7
- package/dist/components/Grid/SimpleGrid.d.ts +1 -1
- package/dist/components/Heading/Heading.d.ts +1 -1
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +9 -8
- package/dist/components/Hero/Hero.d.ts +2 -1
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +2 -10
- package/dist/components/Icons/Icon.d.ts +2 -1
- package/dist/components/Image/Image.d.ts +2 -2
- package/dist/components/Label/Label.d.ts +7 -4
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/List/List.d.ts +11 -11
- package/dist/components/List/ListTypes.d.ts +1 -1
- package/dist/components/Logo/Logo.d.ts +2 -1
- package/dist/components/Logo/LogoSvgs.d.ts +2 -0
- package/dist/components/Logo/LogoTypes.d.ts +2 -0
- package/dist/components/Modal/Modal.d.ts +28 -8
- package/dist/components/Notification/Notification.d.ts +4 -4
- package/dist/components/Pagination/Pagination.d.ts +2 -2
- package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +3 -3
- package/dist/components/Radio/Radio.d.ts +4 -6
- package/dist/components/RadioGroup/RadioGroup.d.ts +12 -6
- package/dist/components/SearchBar/SearchBar.d.ts +4 -4
- package/dist/components/Select/Select.d.ts +10 -6
- package/dist/components/Select/SelectTypes.d.ts +4 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +4 -3
- package/dist/components/Slider/Slider.d.ts +6 -4
- package/dist/components/StatusBadge/StatusBadge.d.ts +5 -1
- package/dist/components/StructuredContent/StructuredContent.d.ts +2 -2
- package/dist/components/Table/Table.d.ts +1 -1
- package/dist/components/Tabs/Tabs.d.ts +4 -3
- package/dist/components/Template/Template.d.ts +4 -3
- package/dist/components/Text/Text.d.ts +1 -1
- package/dist/components/TextInput/TextInput.d.ts +5 -5
- package/dist/components/Toggle/Toggle.d.ts +3 -4
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +2 -1
- package/dist/design-system-react-components.cjs.development.js +1767 -1180
- 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 +1774 -1188
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/hooks/useCarouselStyles.d.ts +3 -2
- package/dist/hooks/useNYPLTheme.d.ts +12 -0
- package/dist/index.d.ts +5 -2
- package/dist/styles.css +1 -1
- package/dist/theme/components/button.d.ts +10 -2
- package/dist/theme/components/card.d.ts +42 -22
- package/dist/theme/components/checkbox.d.ts +5 -4
- package/dist/theme/components/checkboxGroup.d.ts +1 -1
- package/dist/theme/components/componentWrapper.d.ts +2 -2
- package/dist/theme/components/customTable.d.ts +84 -1
- package/dist/theme/components/fieldset.d.ts +4 -14
- package/dist/theme/components/global.d.ts +23 -17
- package/dist/theme/components/heading.d.ts +53 -0
- package/dist/theme/components/helperErrorText.d.ts +1 -0
- package/dist/theme/components/hero.d.ts +20 -14
- package/dist/theme/components/label.d.ts +9 -10
- package/dist/theme/components/list.d.ts +99 -9
- package/dist/theme/components/radio.d.ts +6 -4
- package/dist/theme/components/radioGroup.d.ts +1 -1
- package/dist/theme/components/select.d.ts +28 -5
- package/dist/theme/components/skeletonLoader.d.ts +2 -2
- package/dist/theme/components/slider.d.ts +6 -3
- package/dist/theme/components/structuredContent.d.ts +197 -0
- package/dist/theme/components/textInput.d.ts +18 -6
- package/dist/theme/components/toggle.d.ts +7 -4
- package/dist/theme/foundations/global.d.ts +2 -0
- package/dist/theme/foundations/radii.d.ts +1 -0
- package/dist/theme/foundations/spacing.d.ts +46 -43
- package/package.json +17 -19
- package/src/components/Accordion/Accordion.stories.mdx +9 -9
- package/src/components/Accordion/Accordion.test.tsx +21 -0
- package/src/components/Accordion/Accordion.tsx +13 -9
- package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +276 -27
- package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -3
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +21 -5
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +52 -31
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +8 -7
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +211 -12
- package/src/components/Button/Button.stories.mdx +87 -23
- package/src/components/Button/Button.test.tsx +25 -0
- package/src/components/Button/Button.tsx +18 -7
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +27 -7
- package/src/components/Card/Card.stories.mdx +287 -194
- package/src/components/Card/Card.test.tsx +102 -0
- package/src/components/Card/Card.tsx +73 -32
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +196 -36
- package/src/components/Chakra/Grid.stories.mdx +4 -4
- package/src/components/Checkbox/Checkbox.stories.mdx +62 -10
- package/src/components/Checkbox/Checkbox.test.tsx +32 -9
- package/src/components/Checkbox/Checkbox.tsx +20 -15
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +134 -7
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +65 -17
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +137 -81
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +31 -21
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +332 -97
- package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +12 -0
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +39 -41
- package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +47 -34
- package/src/components/DatePicker/DatePicker.stories.mdx +63 -27
- package/src/components/DatePicker/DatePicker.test.tsx +89 -13
- package/src/components/DatePicker/DatePicker.tsx +62 -56
- package/src/components/DatePicker/_DatePicker.scss +71 -13
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +250 -206
- package/src/components/Fieldset/Fieldset.stories.mdx +33 -3
- package/src/components/Fieldset/Fieldset.test.tsx +58 -28
- package/src/components/Fieldset/Fieldset.tsx +35 -30
- package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +40 -19
- package/src/components/Form/Form.stories.mdx +72 -39
- package/src/components/Form/Form.test.tsx +58 -15
- package/src/components/Form/Form.tsx +89 -67
- package/src/components/Form/__snapshots__/Form.test.tsx.snap +83 -5
- package/src/components/Grid/GridTypes.tsx +7 -7
- package/src/components/Grid/SimpleGrid.stories.mdx +34 -6
- package/src/components/Grid/SimpleGrid.test.tsx +9 -0
- package/src/components/Grid/SimpleGrid.tsx +29 -20
- package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +16 -1
- package/src/components/Heading/Heading.stories.mdx +36 -3
- package/src/components/Heading/Heading.test.tsx +10 -0
- package/src/components/Heading/Heading.tsx +56 -50
- package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +26 -7
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +64 -42
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +15 -0
- package/src/components/HelperErrorText/HelperErrorText.tsx +40 -35
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +35 -4
- package/src/components/Hero/Hero.stories.mdx +125 -95
- package/src/components/Hero/Hero.test.tsx +33 -0
- package/src/components/Hero/Hero.tsx +135 -126
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +89 -17
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +26 -4
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +9 -19
- package/src/components/HorizontalRule/HorizontalRule.tsx +9 -26
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +18 -5
- package/src/components/Icons/Icon.stories.mdx +31 -6
- package/src/components/Icons/Icon.test.tsx +38 -0
- package/src/components/Icons/Icon.tsx +93 -76
- package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +129 -0
- package/src/components/Image/Image.stories.mdx +29 -5
- package/src/components/Image/Image.test.tsx +8 -0
- package/src/components/Image/Image.tsx +38 -26
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +24 -8
- package/src/components/Label/Label.stories.mdx +42 -20
- package/src/components/Label/Label.test.tsx +42 -17
- package/src/components/Label/Label.tsx +22 -13
- package/src/components/Label/__snapshots__/Label.test.tsx.snap +19 -15
- package/src/components/Link/Link.stories.mdx +25 -15
- package/src/components/Link/Link.test.tsx +21 -22
- package/src/components/Link/Link.tsx +8 -8
- package/src/components/Link/__snapshots__/Link.test.tsx.snap +37 -11
- package/src/components/List/List.stories.mdx +75 -40
- package/src/components/List/List.test.tsx +67 -19
- package/src/components/List/List.tsx +38 -25
- package/src/components/List/ListTypes.tsx +1 -1
- package/src/components/List/__snapshots__/List.test.tsx.snap +110 -8
- package/src/components/Logo/Logo.stories.mdx +30 -6
- package/src/components/Logo/Logo.test.tsx +17 -0
- package/src/components/Logo/Logo.tsx +18 -6
- package/src/components/Logo/LogoSvgs.tsx +4 -0
- package/src/components/Logo/LogoTypes.tsx +2 -0
- package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +73 -2
- package/src/components/Modal/Modal.stories.mdx +256 -136
- package/src/components/Modal/Modal.test.tsx +151 -9
- package/src/components/Modal/Modal.tsx +140 -20
- package/src/components/Modal/__snapshots__/Modal.test.tsx.snap +25 -0
- package/src/components/Notification/Notification.stories.mdx +25 -1
- package/src/components/Notification/Notification.test.tsx +23 -0
- package/src/components/Notification/Notification.tsx +46 -44
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +158 -29
- package/src/components/Pagination/Pagination.stories.mdx +25 -6
- package/src/components/Pagination/Pagination.test.tsx +25 -0
- package/src/components/Pagination/Pagination.tsx +6 -6
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +244 -27
- package/src/components/Placeholder/Placeholder.tsx +3 -1
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +76 -10
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +81 -11
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +17 -9
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +101 -14
- package/src/components/Radio/Radio.stories.mdx +64 -12
- package/src/components/Radio/Radio.test.tsx +28 -8
- package/src/components/Radio/Radio.tsx +66 -63
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +103 -6
- package/src/components/RadioGroup/RadioGroup.stories.mdx +224 -89
- package/src/components/RadioGroup/RadioGroup.test.tsx +122 -62
- package/src/components/RadioGroup/RadioGroup.tsx +106 -100
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +1236 -1020
- package/src/components/SearchBar/SearchBar.stories.mdx +101 -36
- package/src/components/SearchBar/{SearchBar.Test.tsx → SearchBar.test.tsx} +46 -4
- package/src/components/SearchBar/SearchBar.tsx +17 -8
- package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +1039 -0
- package/src/components/Select/Select.stories.mdx +128 -49
- package/src/components/Select/Select.test.tsx +63 -16
- package/src/components/Select/Select.tsx +131 -92
- package/src/components/Select/SelectTypes.tsx +5 -0
- package/src/components/Select/__snapshots__/Select.test.tsx.snap +765 -425
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +42 -10
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +8 -0
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +76 -72
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +169 -10
- package/src/components/Slider/Slider.stories.mdx +91 -42
- package/src/components/Slider/Slider.test.tsx +65 -17
- package/src/components/Slider/Slider.tsx +26 -19
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +403 -226
- package/src/components/StatusBadge/StatusBadge.stories.mdx +19 -1
- package/src/components/StatusBadge/StatusBadge.test.tsx +16 -0
- package/src/components/StatusBadge/StatusBadge.tsx +25 -20
- package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +22 -3
- package/src/components/StructuredContent/StructuredContent.stories.mdx +131 -12
- package/src/components/StructuredContent/StructuredContent.test.tsx +34 -0
- package/src/components/StructuredContent/StructuredContent.tsx +80 -75
- package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +102 -17
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +5 -5
- package/src/components/StyleGuide/Breakpoints.stories.mdx +6 -6
- package/src/components/StyleGuide/Buttons.stories.mdx +2 -12
- package/src/components/StyleGuide/ColorCard.tsx +1 -1
- package/src/components/StyleGuide/Colors.stories.mdx +1 -2
- package/src/components/StyleGuide/DesignTokens.stories.mdx +56 -26
- package/src/components/StyleGuide/Forms.stories.mdx +27 -12
- package/src/components/StyleGuide/Iconography.stories.mdx +2 -12
- package/src/components/StyleGuide/Spacing.stories.mdx +80 -41
- package/src/components/StyleGuide/Typography.stories.mdx +30 -21
- package/src/components/Table/Table.stories.mdx +38 -11
- package/src/components/Table/Table.test.tsx +15 -0
- package/src/components/Table/Table.tsx +7 -7
- package/src/components/Table/__snapshots__/Table.test.tsx.snap +408 -5
- package/src/components/Tabs/Tabs.stories.mdx +52 -3
- package/src/components/Tabs/Tabs.test.tsx +16 -0
- package/src/components/Tabs/Tabs.tsx +10 -6
- package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +394 -5
- package/src/components/Template/Template.stories.mdx +47 -43
- package/src/components/Template/Template.test.tsx +33 -0
- package/src/components/Template/Template.tsx +65 -60
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +191 -20
- package/src/components/Text/Text.stories.mdx +20 -1
- package/src/components/Text/Text.test.tsx +12 -0
- package/src/components/Text/Text.tsx +6 -4
- package/src/components/Text/__snapshots__/Text.test.tsx.snap +21 -4
- package/src/components/TextInput/TextInput.stories.mdx +65 -19
- package/src/components/TextInput/TextInput.test.tsx +42 -28
- package/src/components/TextInput/TextInput.tsx +121 -113
- package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +96 -73
- package/src/components/Toggle/Toggle.stories.mdx +80 -22
- package/src/components/Toggle/Toggle.test.tsx +27 -9
- package/src/components/Toggle/Toggle.tsx +22 -18
- package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +128 -5
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +52 -4
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +23 -0
- package/src/components/VideoPlayer/VideoPlayer.tsx +133 -126
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +81 -39
- package/src/docs/Chakra.stories.mdx +50 -9
- package/src/docs/Welcome.stories.mdx +160 -41
- package/src/hooks/useCarouselStyles.stories.mdx +22 -2
- package/src/hooks/useCarouselStyles.ts +3 -2
- package/src/hooks/useNYPLTheme.stories.mdx +101 -0
- package/src/hooks/useNYPLTheme.ts +30 -6
- package/src/hooks/useWindowSize.stories.mdx +23 -0
- package/src/index.ts +5 -2
- package/src/styles/base/_place-holder.scss +1 -1
- package/src/styles.scss +0 -1
- package/src/theme/components/button.ts +15 -7
- package/src/theme/components/card.ts +30 -19
- package/src/theme/components/checkbox.ts +10 -8
- package/src/theme/components/checkboxGroup.ts +1 -1
- package/src/theme/components/componentWrapper.ts +2 -2
- package/src/theme/components/customTable.ts +39 -31
- package/src/theme/components/fieldset.ts +1 -2
- package/src/theme/components/global.ts +25 -20
- package/src/theme/components/heading.ts +1 -1
- package/src/theme/components/helperErrorText.ts +1 -0
- package/src/theme/components/hero.ts +13 -15
- package/src/theme/components/label.ts +4 -3
- package/src/theme/components/list.ts +73 -66
- package/src/theme/components/notification.ts +2 -2
- package/src/theme/components/radio.ts +9 -9
- package/src/theme/components/radioGroup.ts +1 -1
- package/src/theme/components/select.ts +31 -22
- package/src/theme/components/skeletonLoader.ts +3 -3
- package/src/theme/components/slider.ts +8 -7
- package/src/theme/components/statusBadge.ts +2 -2
- package/src/theme/components/structuredContent.ts +66 -1
- package/src/theme/components/tabs.ts +2 -2
- package/src/theme/components/template.ts +9 -9
- package/src/theme/components/textInput.ts +13 -12
- package/src/theme/components/toggle.ts +17 -10
- package/src/theme/components/videoPlayer.ts +1 -1
- package/src/theme/foundations/colors.ts +1 -1
- package/src/theme/foundations/radii.ts +1 -0
- package/src/theme/foundations/spacing.ts +70 -22
- package/src/theme/foundations/typography.ts +2 -2
- package/src/utils/componentCategories.ts +1 -2
- package/dist/components/SearchBar/SearchBar.Test.d.ts +0 -1
- package/dist/helpers/generateUUID.d.ts +0 -1
- package/src/components/Modal/_Modal.scss +0 -18
- package/src/helpers/generateUUID.tsx +0 -5
|
@@ -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
|
|
|
@@ -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,6 +104,8 @@ 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"
|
|
@@ -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.
|
|
@@ -277,6 +277,22 @@ describe("Tabs", () => {
|
|
|
277
277
|
const basic = renderer
|
|
278
278
|
.create(<Tabs tabsData={animalCrossing} id="basic" />)
|
|
279
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
|
+
|
|
280
294
|
expect(basic).toMatchSnapshot();
|
|
295
|
+
expect(withChakraProps).toMatchSnapshot();
|
|
296
|
+
expect(withOtherProps).toMatchSnapshot();
|
|
281
297
|
});
|
|
282
298
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
1
|
import {
|
|
3
2
|
Box,
|
|
3
|
+
chakra,
|
|
4
4
|
Tab,
|
|
5
5
|
TabList,
|
|
6
6
|
TabPanels,
|
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
Tabs as ChakraTabs,
|
|
9
9
|
useMultiStyleConfig,
|
|
10
10
|
} from "@chakra-ui/react";
|
|
11
|
+
import * as React from "react";
|
|
11
12
|
|
|
12
|
-
import generateUUID from "../../helpers/generateUUID";
|
|
13
13
|
import { IconNames, IconRotationTypes, IconSizes } from "../Icons/IconTypes";
|
|
14
14
|
import Icon from "../Icons/Icon";
|
|
15
15
|
import { ButtonTypes } from "../Button/ButtonTypes";
|
|
@@ -139,14 +139,15 @@ const getElementsFromChildren = (children): TabPanelProps => {
|
|
|
139
139
|
* Renders Chakra's `Tab` component with specific variants, props,
|
|
140
140
|
* and controlled styling.
|
|
141
141
|
*/
|
|
142
|
-
|
|
142
|
+
export const Tabs = chakra((props: React.PropsWithChildren<TabsProps>) => {
|
|
143
143
|
const {
|
|
144
144
|
children,
|
|
145
145
|
defaultIndex = 0,
|
|
146
|
-
id
|
|
146
|
+
id,
|
|
147
147
|
onChange,
|
|
148
148
|
tabsData,
|
|
149
149
|
useHash = false,
|
|
150
|
+
...rest
|
|
150
151
|
} = props;
|
|
151
152
|
const styles = useMultiStyleConfig("Tabs", {});
|
|
152
153
|
// Just an estimate of the tab width for the mobile carousel.
|
|
@@ -238,6 +239,7 @@ function Tabs(props: React.PropsWithChildren<TabsProps>) {
|
|
|
238
239
|
isLazy
|
|
239
240
|
onChange={onChange}
|
|
240
241
|
variant="enclosed"
|
|
242
|
+
{...rest}
|
|
241
243
|
>
|
|
242
244
|
<Box
|
|
243
245
|
__css={styles.tablistWrapper}
|
|
@@ -256,6 +258,8 @@ function Tabs(props: React.PropsWithChildren<TabsProps>) {
|
|
|
256
258
|
{panels}
|
|
257
259
|
</ChakraTabs>
|
|
258
260
|
);
|
|
259
|
-
}
|
|
261
|
+
});
|
|
260
262
|
|
|
261
|
-
|
|
263
|
+
// Tabs is also exported above so the props can display in Storybook.
|
|
264
|
+
export { TabList, Tab, TabPanels, TabPanel };
|
|
265
|
+
export default Tabs;
|