@nypl/design-system-react-components 0.25.12 → 0.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +131 -1
- package/README.md +10 -10
- package/dist/components/Accordion/Accordion.d.ts +6 -4
- package/dist/components/Accordion/AccordionTypes.d.ts +5 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -4
- package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +2 -2
- package/dist/components/Card/Card.d.ts +22 -29
- package/dist/components/Checkbox/Checkbox.d.ts +3 -3
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +9 -6
- package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +5 -6
- package/dist/components/Fieldset/Fieldset.d.ts +5 -6
- package/dist/components/Form/Form.d.ts +6 -6
- package/dist/components/Grid/GridTypes.d.ts +7 -7
- package/dist/components/Grid/SimpleGrid.d.ts +1 -1
- package/dist/components/Heading/Heading.d.ts +5 -5
- package/dist/components/Heading/HeadingTypes.d.ts +1 -1
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +9 -8
- package/dist/components/Hero/Hero.d.ts +9 -5
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +2 -10
- package/dist/components/Icons/Icon.d.ts +2 -1
- package/dist/components/Icons/IconTypes.d.ts +1 -0
- package/dist/components/Image/Image.d.ts +27 -9
- package/dist/components/Image/ImageTypes.d.ts +4 -4
- package/dist/components/Label/Label.d.ts +7 -4
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/List/List.d.ts +11 -11
- package/dist/components/List/ListTypes.d.ts +1 -1
- package/dist/components/Logo/Logo.d.ts +2 -1
- package/dist/components/Logo/LogoSvgs.d.ts +2 -0
- package/dist/components/Logo/LogoTypes.d.ts +4 -2
- package/dist/components/Notification/Notification.d.ts +7 -7
- package/dist/components/Pagination/Pagination.d.ts +2 -2
- package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +3 -3
- package/dist/components/Radio/Radio.d.ts +5 -7
- package/dist/components/RadioGroup/RadioGroup.d.ts +16 -8
- package/dist/components/SearchBar/SearchBar.d.ts +4 -4
- package/dist/components/Select/Select.d.ts +12 -8
- package/dist/components/Select/SelectTypes.d.ts +4 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +8 -6
- package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +0 -4
- package/dist/components/Slider/Slider.d.ts +6 -4
- package/dist/components/StatusBadge/StatusBadge.d.ts +5 -1
- package/dist/components/StructuredContent/StructuredContent.d.ts +10 -23
- package/dist/components/Table/Table.d.ts +1 -1
- package/dist/components/Tabs/Tabs.d.ts +7 -6
- package/dist/components/Template/Template.d.ts +17 -8
- package/dist/components/Text/Text.d.ts +4 -4
- package/dist/components/Text/TextTypes.d.ts +1 -1
- package/dist/components/TextInput/TextInput.d.ts +7 -7
- package/dist/components/Toggle/Toggle.d.ts +8 -10
- package/dist/components/Toggle/{ToggleSizes.d.ts → ToggleTypes.d.ts} +1 -1
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +2 -1
- package/dist/design-system-react-components.cjs.development.js +2075 -1468
- package/dist/design-system-react-components.cjs.development.js.map +1 -1
- package/dist/design-system-react-components.cjs.production.min.js +1 -1
- package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
- package/dist/design-system-react-components.esm.js +2086 -1483
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/helpers/enums.d.ts +4 -0
- package/dist/hooks/useCarouselStyles.d.ts +3 -2
- package/dist/hooks/useNYPLTheme.d.ts +12 -0
- package/dist/index.d.ts +11 -9
- package/dist/styles.css +1 -1
- package/dist/theme/components/accordion.d.ts +7 -12
- package/dist/theme/components/breadcrumb.d.ts +3 -0
- package/dist/theme/components/button.d.ts +10 -2
- package/dist/theme/components/card.d.ts +44 -24
- package/dist/theme/components/checkbox.d.ts +6 -4
- package/dist/theme/components/checkboxGroup.d.ts +4 -2
- package/dist/theme/components/componentWrapper.d.ts +2 -2
- package/dist/theme/components/customTable.d.ts +84 -1
- package/dist/theme/components/fieldset.d.ts +4 -14
- package/dist/theme/components/global.d.ts +25 -18
- package/dist/theme/components/heading.d.ts +53 -0
- package/dist/theme/components/helperErrorText.d.ts +1 -0
- package/dist/theme/components/hero.d.ts +21 -15
- package/dist/theme/components/image.d.ts +1 -1
- package/dist/theme/components/label.d.ts +9 -10
- package/dist/theme/components/list.d.ts +99 -9
- package/dist/theme/components/notification.d.ts +4 -4
- package/dist/theme/components/pagination.d.ts +2 -5
- package/dist/theme/components/radio.d.ts +7 -4
- package/dist/theme/components/radioGroup.d.ts +4 -2
- package/dist/theme/components/select.d.ts +37 -5
- package/dist/theme/components/skeletonLoader.d.ts +2 -2
- package/dist/theme/components/slider.d.ts +6 -3
- package/dist/theme/components/structuredContent.d.ts +197 -0
- package/dist/theme/components/textInput.d.ts +18 -6
- package/dist/theme/components/toggle.d.ts +20 -5
- package/dist/theme/foundations/global.d.ts +2 -0
- package/dist/theme/foundations/radii.d.ts +1 -0
- package/dist/theme/foundations/spacing.d.ts +46 -43
- package/package.json +5 -6
- package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +34 -0
- package/src/components/Accordion/Accordion.stories.mdx +150 -66
- package/src/components/Accordion/Accordion.test.tsx +65 -17
- package/src/components/Accordion/Accordion.tsx +61 -27
- package/src/components/Accordion/AccordionTypes.tsx +5 -0
- package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +505 -14
- package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -3
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +37 -19
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +57 -36
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +14 -13
- package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +1 -1
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +211 -12
- package/src/components/Button/Button.stories.mdx +87 -23
- package/src/components/Button/Button.test.tsx +25 -0
- package/src/components/Button/Button.tsx +18 -7
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +27 -7
- package/src/components/Card/Card.stories.mdx +493 -329
- package/src/components/Card/Card.test.tsx +138 -18
- package/src/components/Card/Card.tsx +151 -85
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +221 -101
- package/src/components/Chakra/Center.stories.mdx +2 -2
- package/src/components/Chakra/Grid.stories.mdx +4 -4
- package/src/components/Checkbox/Checkbox.stories.mdx +73 -9
- package/src/components/Checkbox/Checkbox.test.tsx +89 -10
- package/src/components/Checkbox/Checkbox.tsx +26 -16
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +209 -6
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +135 -23
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +216 -90
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +39 -26
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +493 -89
- package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +12 -0
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +39 -41
- package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +47 -34
- package/src/components/DatePicker/DatePicker.stories.mdx +63 -27
- package/src/components/DatePicker/DatePicker.test.tsx +94 -15
- package/src/components/DatePicker/DatePicker.tsx +67 -58
- package/src/components/DatePicker/_DatePicker.scss +71 -13
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +250 -206
- package/src/components/Fieldset/Fieldset.stories.mdx +33 -3
- package/src/components/Fieldset/Fieldset.test.tsx +58 -28
- package/src/components/Fieldset/Fieldset.tsx +35 -30
- package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +40 -19
- package/src/components/Form/Form.stories.mdx +118 -47
- package/src/components/Form/Form.test.tsx +59 -16
- package/src/components/Form/Form.tsx +89 -65
- package/src/components/Form/__snapshots__/Form.test.tsx.snap +83 -5
- package/src/components/Grid/GridTypes.tsx +7 -7
- package/src/components/Grid/SimpleGrid.stories.mdx +87 -41
- package/src/components/Grid/SimpleGrid.test.tsx +24 -9
- package/src/components/Grid/SimpleGrid.tsx +29 -20
- package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +16 -1
- package/src/components/Heading/Heading.stories.mdx +56 -25
- package/src/components/Heading/Heading.test.tsx +17 -7
- package/src/components/Heading/Heading.tsx +60 -58
- package/src/components/Heading/HeadingTypes.tsx +1 -1
- package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +27 -8
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +64 -42
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +15 -0
- package/src/components/HelperErrorText/HelperErrorText.tsx +40 -35
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +35 -4
- package/src/components/Hero/Hero.stories.mdx +143 -113
- package/src/components/Hero/Hero.test.tsx +146 -58
- package/src/components/Hero/Hero.tsx +144 -112
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +89 -17
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +26 -4
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +9 -17
- package/src/components/HorizontalRule/HorizontalRule.tsx +9 -25
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +18 -5
- package/src/components/Icons/Icon.stories.mdx +80 -23
- package/src/components/Icons/Icon.test.tsx +51 -2
- package/src/components/Icons/Icon.tsx +93 -71
- package/src/components/Icons/IconTypes.tsx +1 -0
- package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +129 -0
- package/src/components/Image/Image.stories.mdx +160 -71
- package/src/components/Image/Image.test.tsx +40 -48
- package/src/components/Image/Image.tsx +80 -48
- package/src/components/Image/ImageTypes.ts +4 -4
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +84 -21
- package/src/components/Label/Label.stories.mdx +42 -20
- package/src/components/Label/Label.test.tsx +42 -17
- package/src/components/Label/Label.tsx +22 -13
- package/src/components/Label/__snapshots__/Label.test.tsx.snap +19 -15
- package/src/components/Link/Link.stories.mdx +25 -1
- package/src/components/Link/Link.test.tsx +21 -0
- package/src/components/Link/Link.tsx +16 -9
- package/src/components/Link/__snapshots__/Link.test.tsx.snap +37 -11
- package/src/components/List/List.stories.mdx +75 -40
- package/src/components/List/List.test.tsx +73 -22
- package/src/components/List/List.tsx +44 -28
- package/src/components/List/ListTypes.tsx +1 -1
- package/src/components/List/__snapshots__/List.test.tsx.snap +110 -8
- package/src/components/Logo/Logo.stories.mdx +40 -16
- package/src/components/Logo/Logo.test.tsx +29 -2
- package/src/components/Logo/Logo.tsx +28 -11
- package/src/components/Logo/LogoSvgs.tsx +4 -0
- package/src/components/Logo/LogoTypes.tsx +3 -1
- package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +73 -2
- package/src/components/Modal/Modal.stories.mdx +13 -0
- package/src/components/Notification/Notification.stories.mdx +29 -5
- package/src/components/Notification/Notification.test.tsx +23 -0
- package/src/components/Notification/Notification.tsx +53 -51
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +158 -29
- package/src/components/Pagination/Pagination.stories.mdx +27 -6
- package/src/components/Pagination/Pagination.test.tsx +55 -2
- package/src/components/Pagination/Pagination.tsx +12 -9
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +244 -27
- package/src/components/Placeholder/Placeholder.tsx +3 -1
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +76 -10
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +87 -13
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +20 -10
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +101 -14
- package/src/components/Radio/Radio.stories.mdx +75 -11
- package/src/components/Radio/Radio.test.tsx +83 -9
- package/src/components/Radio/Radio.tsx +70 -62
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +163 -5
- package/src/components/RadioGroup/RadioGroup.stories.mdx +293 -94
- package/src/components/RadioGroup/RadioGroup.test.tsx +193 -68
- package/src/components/RadioGroup/RadioGroup.tsx +110 -101
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +1258 -902
- package/src/components/SearchBar/SearchBar.stories.mdx +101 -36
- package/src/components/SearchBar/{SearchBar.Test.tsx → SearchBar.test.tsx} +46 -4
- package/src/components/SearchBar/SearchBar.tsx +20 -11
- package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +1039 -0
- package/src/components/Select/Select.stories.mdx +151 -62
- package/src/components/Select/Select.test.tsx +56 -44
- package/src/components/Select/Select.tsx +125 -104
- package/src/components/Select/SelectTypes.tsx +5 -0
- package/src/components/Select/__snapshots__/Select.test.tsx.snap +749 -409
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +53 -23
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +14 -8
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +80 -78
- package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +0 -5
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +169 -10
- package/src/components/Slider/Slider.stories.mdx +123 -41
- package/src/components/Slider/Slider.test.tsx +65 -17
- package/src/components/Slider/Slider.tsx +30 -23
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +403 -226
- package/src/components/StatusBadge/StatusBadge.stories.mdx +19 -1
- package/src/components/StatusBadge/StatusBadge.test.tsx +19 -1
- package/src/components/StatusBadge/StatusBadge.tsx +25 -20
- package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +22 -3
- package/src/components/StructuredContent/StructuredContent.stories.mdx +229 -61
- package/src/components/StructuredContent/StructuredContent.test.tsx +162 -101
- package/src/components/StructuredContent/StructuredContent.tsx +98 -103
- package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +102 -17
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +5 -5
- package/src/components/StyleGuide/Breakpoints.stories.mdx +6 -6
- package/src/components/StyleGuide/Buttons.stories.mdx +2 -12
- package/src/components/StyleGuide/ColorCard.tsx +4 -4
- package/src/components/StyleGuide/Colors.stories.mdx +1 -2
- package/src/components/StyleGuide/DesignTokens.stories.mdx +56 -26
- package/src/components/StyleGuide/Forms.stories.mdx +27 -12
- package/src/components/StyleGuide/Iconography.stories.mdx +2 -12
- package/src/components/StyleGuide/Spacing.stories.mdx +80 -41
- package/src/components/StyleGuide/Typography.stories.mdx +47 -33
- package/src/components/Table/Table.stories.mdx +38 -11
- package/src/components/Table/Table.test.tsx +16 -1
- package/src/components/Table/Table.tsx +10 -8
- package/src/components/Table/__snapshots__/Table.test.tsx.snap +408 -5
- package/src/components/Tabs/Tabs.stories.mdx +59 -10
- package/src/components/Tabs/Tabs.test.tsx +29 -11
- package/src/components/Tabs/Tabs.tsx +28 -21
- package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +394 -5
- package/src/components/Template/Template.stories.mdx +73 -32
- package/src/components/Template/Template.test.tsx +68 -5
- package/src/components/Template/Template.tsx +89 -71
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +195 -22
- package/src/components/Text/Text.stories.mdx +32 -15
- package/src/components/Text/Text.test.tsx +14 -11
- package/src/components/Text/Text.tsx +13 -16
- package/src/components/Text/TextTypes.tsx +1 -1
- package/src/components/Text/__snapshots__/Text.test.tsx.snap +21 -4
- package/src/components/TextInput/TextInput.stories.mdx +73 -27
- package/src/components/TextInput/TextInput.test.tsx +65 -50
- package/src/components/TextInput/TextInput.tsx +123 -115
- package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +96 -73
- package/src/components/Toggle/Toggle.stories.mdx +74 -26
- package/src/components/Toggle/Toggle.test.tsx +41 -10
- package/src/components/Toggle/Toggle.tsx +29 -26
- package/src/components/Toggle/{ToggleSizes.tsx → ToggleTypes.tsx} +1 -1
- package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +191 -4
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +52 -4
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +41 -6
- package/src/components/VideoPlayer/VideoPlayer.tsx +134 -120
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +81 -39
- package/src/docs/Chakra.stories.mdx +50 -9
- package/src/docs/Welcome.stories.mdx +168 -0
- package/src/{components/Card/CardTypes.tsx → helpers/enums.ts} +2 -2
- package/src/hooks/tests/useNYPLTheme.test.tsx +1 -1
- package/src/hooks/useCarouselStyles.stories.mdx +30 -0
- package/src/hooks/useCarouselStyles.ts +3 -2
- package/src/hooks/useNYPLTheme.stories.mdx +101 -0
- package/src/hooks/useNYPLTheme.ts +31 -7
- package/src/hooks/useWindowSize.stories.mdx +23 -0
- package/src/index.ts +11 -15
- package/src/styles/base/_place-holder.scss +1 -1
- package/src/theme/components/accordion.ts +7 -12
- package/src/theme/components/breadcrumb.ts +3 -0
- package/src/theme/components/button.ts +15 -7
- package/src/theme/components/card.ts +56 -36
- package/src/theme/components/checkbox.ts +10 -8
- package/src/theme/components/checkboxGroup.ts +4 -2
- package/src/theme/components/componentWrapper.ts +2 -2
- package/src/theme/components/customTable.ts +39 -31
- package/src/theme/components/fieldset.ts +1 -2
- package/src/theme/components/global.ts +29 -23
- package/src/theme/components/heading.ts +1 -1
- package/src/theme/components/helperErrorText.ts +1 -0
- package/src/theme/components/hero.ts +14 -16
- package/src/theme/components/icon.ts +5 -2
- package/src/theme/components/image.ts +1 -1
- package/src/theme/components/label.ts +4 -3
- package/src/theme/components/list.ts +73 -66
- package/src/theme/components/notification.ts +7 -7
- package/src/theme/components/pagination.ts +2 -5
- package/src/theme/components/progressIndicator.ts +3 -3
- package/src/theme/components/radio.ts +9 -9
- package/src/theme/components/radioGroup.ts +4 -2
- package/src/theme/components/select.ts +35 -16
- package/src/theme/components/skeletonLoader.ts +3 -3
- package/src/theme/components/slider.ts +8 -7
- package/src/theme/components/statusBadge.ts +2 -2
- package/src/theme/components/structuredContent.ts +66 -1
- package/src/theme/components/tabs.ts +2 -2
- package/src/theme/components/template.ts +9 -9
- package/src/theme/components/textInput.ts +13 -12
- package/src/theme/components/toggle.ts +43 -13
- package/src/theme/components/videoPlayer.ts +1 -1
- package/src/theme/foundations/colors.ts +1 -1
- package/src/theme/foundations/radii.ts +1 -0
- package/src/theme/foundations/spacing.ts +70 -22
- package/src/theme/foundations/typography.ts +2 -2
- package/src/utils/componentCategories.ts +28 -21
- package/dist/components/Card/CardTypes.d.ts +0 -4
- package/dist/components/CheckboxGroup/CheckboxGroupLayoutTypes.d.ts +0 -4
- package/dist/components/RadioGroup/RadioGroupLayoutTypes.d.ts +0 -4
- package/dist/components/SearchBar/SearchBar.Test.d.ts +0 -1
- package/dist/helpers/generateUUID.d.ts +0 -1
- package/src/components/CheckboxGroup/CheckboxGroupLayoutTypes.tsx +0 -4
- package/src/components/RadioGroup/RadioGroupLayoutTypes.tsx +0 -4
- package/src/docs/Intro.stories.mdx +0 -53
- package/src/helpers/generateUUID.tsx +0 -5
|
@@ -1,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";
|
|
@@ -24,20 +24,20 @@ interface TabPanelProps {
|
|
|
24
24
|
panels: React.ReactNode[] | React.ReactNode;
|
|
25
25
|
}
|
|
26
26
|
// The general shape of the data object for each Tab.
|
|
27
|
-
export interface
|
|
27
|
+
export interface TabsDataProps {
|
|
28
28
|
label: string;
|
|
29
29
|
content: string | React.ReactNode;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
export interface TabsProps {
|
|
33
|
-
/** Array of data to display */
|
|
34
|
-
contentData?: TabsContentDataProps[];
|
|
35
33
|
/** The index of the tab to display for controlled situations. */
|
|
36
34
|
defaultIndex?: number;
|
|
37
35
|
/** ID that other components can cross reference for accessibility purposes */
|
|
38
36
|
id?: string;
|
|
39
37
|
/** The callback function invoked on every tab change event. */
|
|
40
38
|
onChange?: (index: number) => any;
|
|
39
|
+
/** Array of data to display */
|
|
40
|
+
tabsData?: TabsDataProps[];
|
|
41
41
|
/** Render a hash in the url for each tab. Only available when data is
|
|
42
42
|
* passed through the `data` props. */
|
|
43
43
|
useHash?: boolean;
|
|
@@ -55,7 +55,7 @@ const onClickHash = (tabHash) => {
|
|
|
55
55
|
* This returns an object with `Tab` and `TabPanel` components to rendered in
|
|
56
56
|
* `TabList` and `TabPanels` components respectively.
|
|
57
57
|
*/
|
|
58
|
-
const
|
|
58
|
+
const getElementsFromData = (data, useHash): TabPanelProps => {
|
|
59
59
|
const tabs = [];
|
|
60
60
|
const panels = [];
|
|
61
61
|
|
|
@@ -65,8 +65,8 @@ const getElementsFromContentData = (data, useHash): TabPanelProps => {
|
|
|
65
65
|
|
|
66
66
|
if (data?.length > 6) {
|
|
67
67
|
console.warn(
|
|
68
|
-
"Tabs:
|
|
69
|
-
"are needed, consider other navigational patterns."
|
|
68
|
+
"NYPL Reservoir Tabs: it is recommended to use no more than six tabs. If " +
|
|
69
|
+
"more than six tabs are needed, consider other navigational patterns."
|
|
70
70
|
);
|
|
71
71
|
}
|
|
72
72
|
data.forEach((tab, index) => {
|
|
@@ -121,8 +121,8 @@ const getElementsFromChildren = (children): TabPanelProps => {
|
|
|
121
121
|
const childTabs = React.Children.count(child.props.children);
|
|
122
122
|
if (childTabs > 6) {
|
|
123
123
|
console.warn(
|
|
124
|
-
"Tabs:
|
|
125
|
-
"tabs are needed, consider other navigational patterns."
|
|
124
|
+
"NYPL Reservoir Tabs: It is recommended to use no more than six tabs. " +
|
|
125
|
+
"If more than six tabs are needed, consider other navigational patterns."
|
|
126
126
|
);
|
|
127
127
|
}
|
|
128
128
|
}
|
|
@@ -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
|
-
contentData,
|
|
146
145
|
defaultIndex = 0,
|
|
147
|
-
id
|
|
146
|
+
id,
|
|
148
147
|
onChange,
|
|
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.
|
|
@@ -155,16 +156,18 @@ function Tabs(props: React.PropsWithChildren<TabsProps>) {
|
|
|
155
156
|
const mediumTabWidth = 40;
|
|
156
157
|
const [tabWidth, setTabWidth] = React.useState(initTabWidth);
|
|
157
158
|
const windowDimensions = useWindowSize();
|
|
158
|
-
const { tabs, panels }: any =
|
|
159
|
-
?
|
|
159
|
+
const { tabs, panels }: any = tabsData
|
|
160
|
+
? getElementsFromData(tabsData, useHash)
|
|
160
161
|
: getElementsFromChildren(children);
|
|
161
162
|
|
|
162
163
|
if (tabs.length === 0 || panels.length === 0) {
|
|
163
|
-
console.warn(
|
|
164
|
+
console.warn(
|
|
165
|
+
"NYPL Reservoir Tabs: Pass data in the `contentData` props or as children."
|
|
166
|
+
);
|
|
164
167
|
}
|
|
165
168
|
|
|
166
169
|
// `tabs` is an array for the children component approach but an object for
|
|
167
|
-
// the `
|
|
170
|
+
// the `tabsData` prop approach. We need to get the right props key value
|
|
168
171
|
// to set the carousel's length.
|
|
169
172
|
const tabProps = tabs[0] ? tabs[0]?.props : (tabs as any).props;
|
|
170
173
|
const { prevSlide, nextSlide, carouselStyle, goToStart } = useCarouselStyles(
|
|
@@ -221,9 +224,10 @@ function Tabs(props: React.PropsWithChildren<TabsProps>) {
|
|
|
221
224
|
</Button>
|
|
222
225
|
);
|
|
223
226
|
|
|
224
|
-
if (children &&
|
|
227
|
+
if (children && tabsData?.length) {
|
|
225
228
|
console.warn(
|
|
226
|
-
"Tabs: Only pass children or data in the `
|
|
229
|
+
"NYPL Reservoir Tabs: Only pass children or data in the `contentData` " +
|
|
230
|
+
"prop. Do not pass both."
|
|
227
231
|
);
|
|
228
232
|
}
|
|
229
233
|
|
|
@@ -235,6 +239,7 @@ function Tabs(props: React.PropsWithChildren<TabsProps>) {
|
|
|
235
239
|
isLazy
|
|
236
240
|
onChange={onChange}
|
|
237
241
|
variant="enclosed"
|
|
242
|
+
{...rest}
|
|
238
243
|
>
|
|
239
244
|
<Box
|
|
240
245
|
__css={styles.tablistWrapper}
|
|
@@ -253,6 +258,8 @@ function Tabs(props: React.PropsWithChildren<TabsProps>) {
|
|
|
253
258
|
{panels}
|
|
254
259
|
</ChakraTabs>
|
|
255
260
|
);
|
|
256
|
-
}
|
|
261
|
+
});
|
|
257
262
|
|
|
258
|
-
|
|
263
|
+
// Tabs is also exported above so the props can display in Storybook.
|
|
264
|
+
export { TabList, Tab, TabPanels, TabPanel };
|
|
265
|
+
export default Tabs;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`Tabs renders the UI snapshot correctly 1`] = `
|
|
4
4
|
<div
|
|
5
|
-
className="chakra-tabs css-
|
|
5
|
+
className="chakra-tabs css-1xdhyk6"
|
|
6
6
|
id="basic"
|
|
7
7
|
>
|
|
8
8
|
<div
|
|
@@ -10,7 +10,7 @@ exports[`Tabs renders the UI snapshot correctly 1`] = `
|
|
|
10
10
|
>
|
|
11
11
|
<button
|
|
12
12
|
aria-label="Previous"
|
|
13
|
-
className="chakra-button css-
|
|
13
|
+
className="chakra-button css-1fhylxi"
|
|
14
14
|
data-testid="button"
|
|
15
15
|
id="tabs-previous-basic"
|
|
16
16
|
onClick={[Function]}
|
|
@@ -18,7 +18,7 @@ exports[`Tabs renders the UI snapshot correctly 1`] = `
|
|
|
18
18
|
>
|
|
19
19
|
<svg
|
|
20
20
|
aria-hidden={true}
|
|
21
|
-
className="chakra-icon css-
|
|
21
|
+
className="chakra-icon css-1grhd2q"
|
|
22
22
|
focusable={false}
|
|
23
23
|
id="tabs-previous-icon-basic"
|
|
24
24
|
role="img"
|
|
@@ -105,7 +105,7 @@ exports[`Tabs renders the UI snapshot correctly 1`] = `
|
|
|
105
105
|
</div>
|
|
106
106
|
<button
|
|
107
107
|
aria-label="Next"
|
|
108
|
-
className="chakra-button css-
|
|
108
|
+
className="chakra-button css-12jygyh"
|
|
109
109
|
data-testid="button"
|
|
110
110
|
id="tabs-next-basic"
|
|
111
111
|
onClick={[Function]}
|
|
@@ -113,7 +113,7 @@ exports[`Tabs renders the UI snapshot correctly 1`] = `
|
|
|
113
113
|
>
|
|
114
114
|
<svg
|
|
115
115
|
aria-hidden={true}
|
|
116
|
-
className="chakra-icon css-
|
|
116
|
+
className="chakra-icon css-1grhd2q"
|
|
117
117
|
focusable={false}
|
|
118
118
|
id="tabs-next-icon-basic"
|
|
119
119
|
role="img"
|
|
@@ -193,3 +193,392 @@ exports[`Tabs renders the UI snapshot correctly 1`] = `
|
|
|
193
193
|
</div>
|
|
194
194
|
</div>
|
|
195
195
|
`;
|
|
196
|
+
|
|
197
|
+
exports[`Tabs renders the UI snapshot correctly 2`] = `
|
|
198
|
+
<div
|
|
199
|
+
className="chakra-tabs css-kle7zy"
|
|
200
|
+
id="chakra"
|
|
201
|
+
>
|
|
202
|
+
<div
|
|
203
|
+
className="css-l3f8vc"
|
|
204
|
+
>
|
|
205
|
+
<button
|
|
206
|
+
aria-label="Previous"
|
|
207
|
+
className="chakra-button css-1fhylxi"
|
|
208
|
+
data-testid="button"
|
|
209
|
+
id="tabs-previous-chakra"
|
|
210
|
+
onClick={[Function]}
|
|
211
|
+
type="button"
|
|
212
|
+
>
|
|
213
|
+
<svg
|
|
214
|
+
aria-hidden={true}
|
|
215
|
+
className="chakra-icon css-1grhd2q"
|
|
216
|
+
focusable={false}
|
|
217
|
+
id="tabs-previous-icon-chakra"
|
|
218
|
+
role="img"
|
|
219
|
+
title="arrow icon"
|
|
220
|
+
viewBox="0 0 24 24"
|
|
221
|
+
>
|
|
222
|
+
<g
|
|
223
|
+
stroke="currentColor"
|
|
224
|
+
strokeWidth="1.5"
|
|
225
|
+
>
|
|
226
|
+
<path
|
|
227
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
228
|
+
fill="none"
|
|
229
|
+
strokeLinecap="round"
|
|
230
|
+
/>
|
|
231
|
+
<path
|
|
232
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
233
|
+
fill="currentColor"
|
|
234
|
+
strokeLinecap="round"
|
|
235
|
+
/>
|
|
236
|
+
<circle
|
|
237
|
+
cx="12"
|
|
238
|
+
cy="12"
|
|
239
|
+
fill="none"
|
|
240
|
+
r="11.25"
|
|
241
|
+
strokeMiterlimit="10"
|
|
242
|
+
/>
|
|
243
|
+
</g>
|
|
244
|
+
</svg>
|
|
245
|
+
</button>
|
|
246
|
+
<div
|
|
247
|
+
className="css-0"
|
|
248
|
+
>
|
|
249
|
+
<div
|
|
250
|
+
className="css-16fuzwj"
|
|
251
|
+
>
|
|
252
|
+
<div
|
|
253
|
+
aria-orientation="horizontal"
|
|
254
|
+
className="chakra-tabs__tablist css-k008qs"
|
|
255
|
+
onKeyDown={[Function]}
|
|
256
|
+
role="tablist"
|
|
257
|
+
>
|
|
258
|
+
<button
|
|
259
|
+
aria-controls="chakra--tabpanel--1"
|
|
260
|
+
aria-selected={false}
|
|
261
|
+
className="chakra-tabs__tab css-abpfcx"
|
|
262
|
+
id="chakra--tab--1"
|
|
263
|
+
onClick={[Function]}
|
|
264
|
+
onFocus={[Function]}
|
|
265
|
+
role="tab"
|
|
266
|
+
tabIndex={-1}
|
|
267
|
+
type="button"
|
|
268
|
+
>
|
|
269
|
+
Tom Nook
|
|
270
|
+
</button>
|
|
271
|
+
<button
|
|
272
|
+
aria-controls="chakra--tabpanel--1"
|
|
273
|
+
aria-selected={false}
|
|
274
|
+
className="chakra-tabs__tab css-abpfcx"
|
|
275
|
+
id="chakra--tab--1"
|
|
276
|
+
onClick={[Function]}
|
|
277
|
+
onFocus={[Function]}
|
|
278
|
+
role="tab"
|
|
279
|
+
tabIndex={-1}
|
|
280
|
+
type="button"
|
|
281
|
+
>
|
|
282
|
+
Isabelle
|
|
283
|
+
</button>
|
|
284
|
+
<button
|
|
285
|
+
aria-controls="chakra--tabpanel--1"
|
|
286
|
+
aria-selected={false}
|
|
287
|
+
className="chakra-tabs__tab css-abpfcx"
|
|
288
|
+
id="chakra--tab--1"
|
|
289
|
+
onClick={[Function]}
|
|
290
|
+
onFocus={[Function]}
|
|
291
|
+
role="tab"
|
|
292
|
+
tabIndex={-1}
|
|
293
|
+
type="button"
|
|
294
|
+
>
|
|
295
|
+
K.K. Slider
|
|
296
|
+
</button>
|
|
297
|
+
</div>
|
|
298
|
+
</div>
|
|
299
|
+
</div>
|
|
300
|
+
<button
|
|
301
|
+
aria-label="Next"
|
|
302
|
+
className="chakra-button css-12jygyh"
|
|
303
|
+
data-testid="button"
|
|
304
|
+
id="tabs-next-chakra"
|
|
305
|
+
onClick={[Function]}
|
|
306
|
+
type="button"
|
|
307
|
+
>
|
|
308
|
+
<svg
|
|
309
|
+
aria-hidden={true}
|
|
310
|
+
className="chakra-icon css-1grhd2q"
|
|
311
|
+
focusable={false}
|
|
312
|
+
id="tabs-next-icon-chakra"
|
|
313
|
+
role="img"
|
|
314
|
+
title="arrow icon"
|
|
315
|
+
viewBox="0 0 24 24"
|
|
316
|
+
>
|
|
317
|
+
<g
|
|
318
|
+
stroke="currentColor"
|
|
319
|
+
strokeWidth="1.5"
|
|
320
|
+
>
|
|
321
|
+
<path
|
|
322
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
323
|
+
fill="none"
|
|
324
|
+
strokeLinecap="round"
|
|
325
|
+
/>
|
|
326
|
+
<path
|
|
327
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
328
|
+
fill="currentColor"
|
|
329
|
+
strokeLinecap="round"
|
|
330
|
+
/>
|
|
331
|
+
<circle
|
|
332
|
+
cx="12"
|
|
333
|
+
cy="12"
|
|
334
|
+
fill="none"
|
|
335
|
+
r="11.25"
|
|
336
|
+
strokeMiterlimit="10"
|
|
337
|
+
/>
|
|
338
|
+
</g>
|
|
339
|
+
</svg>
|
|
340
|
+
</button>
|
|
341
|
+
</div>
|
|
342
|
+
<div
|
|
343
|
+
className="chakra-tabs__tab-panels css-8atqhb"
|
|
344
|
+
>
|
|
345
|
+
<div
|
|
346
|
+
aria-labelledby="chakra--tab-0"
|
|
347
|
+
className="chakra-tabs__tab-panel css-sjt5nk"
|
|
348
|
+
hidden={false}
|
|
349
|
+
id="chakra--tabpanel-0"
|
|
350
|
+
role="tabpanel"
|
|
351
|
+
tabIndex={0}
|
|
352
|
+
>
|
|
353
|
+
<p>
|
|
354
|
+
Tom Nook,
|
|
355
|
+
<b>
|
|
356
|
+
known in Japan as Tanukichi
|
|
357
|
+
</b>
|
|
358
|
+
, is a fictional character in the Animal Crossing series who operates the village store.
|
|
359
|
+
</p>
|
|
360
|
+
</div>
|
|
361
|
+
<div
|
|
362
|
+
aria-labelledby="chakra--tab-1"
|
|
363
|
+
className="chakra-tabs__tab-panel css-sjt5nk"
|
|
364
|
+
dangerouslySetInnerHTML={
|
|
365
|
+
Object {
|
|
366
|
+
"__html": "Isabelle, known as Shizue in Japan, is a fictional character from the Animal Crossing series of video games. She is a kindly Shih Tzu that debuted in the 2012 release Animal Crossing: New Leaf, where she serves as the secretary to the player character.",
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
hidden={true}
|
|
370
|
+
id="chakra--tabpanel-1"
|
|
371
|
+
role="tabpanel"
|
|
372
|
+
tabIndex={0}
|
|
373
|
+
/>
|
|
374
|
+
<div
|
|
375
|
+
aria-labelledby="chakra--tab-2"
|
|
376
|
+
className="chakra-tabs__tab-panel css-sjt5nk"
|
|
377
|
+
dangerouslySetInnerHTML={
|
|
378
|
+
Object {
|
|
379
|
+
"__html": "<p>Totakeke, more commonly known as <b>K.K. Slider or K.K.</b>, is a fictional character within the Animal Crossing franchise. One of the franchise's most popular characters, he debuted in the title Animal Crossing, and has appeared in every installment since.</p>",
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
hidden={true}
|
|
383
|
+
id="chakra--tabpanel-2"
|
|
384
|
+
role="tabpanel"
|
|
385
|
+
tabIndex={0}
|
|
386
|
+
/>
|
|
387
|
+
</div>
|
|
388
|
+
</div>
|
|
389
|
+
`;
|
|
390
|
+
|
|
391
|
+
exports[`Tabs renders the UI snapshot correctly 3`] = `
|
|
392
|
+
<div
|
|
393
|
+
className="chakra-tabs css-1xdhyk6"
|
|
394
|
+
data-testid="props"
|
|
395
|
+
id="props"
|
|
396
|
+
>
|
|
397
|
+
<div
|
|
398
|
+
className="css-l3f8vc"
|
|
399
|
+
>
|
|
400
|
+
<button
|
|
401
|
+
aria-label="Previous"
|
|
402
|
+
className="chakra-button css-1fhylxi"
|
|
403
|
+
data-testid="button"
|
|
404
|
+
id="tabs-previous-props"
|
|
405
|
+
onClick={[Function]}
|
|
406
|
+
type="button"
|
|
407
|
+
>
|
|
408
|
+
<svg
|
|
409
|
+
aria-hidden={true}
|
|
410
|
+
className="chakra-icon css-1grhd2q"
|
|
411
|
+
focusable={false}
|
|
412
|
+
id="tabs-previous-icon-props"
|
|
413
|
+
role="img"
|
|
414
|
+
title="arrow icon"
|
|
415
|
+
viewBox="0 0 24 24"
|
|
416
|
+
>
|
|
417
|
+
<g
|
|
418
|
+
stroke="currentColor"
|
|
419
|
+
strokeWidth="1.5"
|
|
420
|
+
>
|
|
421
|
+
<path
|
|
422
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
423
|
+
fill="none"
|
|
424
|
+
strokeLinecap="round"
|
|
425
|
+
/>
|
|
426
|
+
<path
|
|
427
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
428
|
+
fill="currentColor"
|
|
429
|
+
strokeLinecap="round"
|
|
430
|
+
/>
|
|
431
|
+
<circle
|
|
432
|
+
cx="12"
|
|
433
|
+
cy="12"
|
|
434
|
+
fill="none"
|
|
435
|
+
r="11.25"
|
|
436
|
+
strokeMiterlimit="10"
|
|
437
|
+
/>
|
|
438
|
+
</g>
|
|
439
|
+
</svg>
|
|
440
|
+
</button>
|
|
441
|
+
<div
|
|
442
|
+
className="css-0"
|
|
443
|
+
>
|
|
444
|
+
<div
|
|
445
|
+
className="css-16fuzwj"
|
|
446
|
+
>
|
|
447
|
+
<div
|
|
448
|
+
aria-orientation="horizontal"
|
|
449
|
+
className="chakra-tabs__tablist css-k008qs"
|
|
450
|
+
onKeyDown={[Function]}
|
|
451
|
+
role="tablist"
|
|
452
|
+
>
|
|
453
|
+
<button
|
|
454
|
+
aria-controls="props--tabpanel--1"
|
|
455
|
+
aria-selected={false}
|
|
456
|
+
className="chakra-tabs__tab css-abpfcx"
|
|
457
|
+
id="props--tab--1"
|
|
458
|
+
onClick={[Function]}
|
|
459
|
+
onFocus={[Function]}
|
|
460
|
+
role="tab"
|
|
461
|
+
tabIndex={-1}
|
|
462
|
+
type="button"
|
|
463
|
+
>
|
|
464
|
+
Tom Nook
|
|
465
|
+
</button>
|
|
466
|
+
<button
|
|
467
|
+
aria-controls="props--tabpanel--1"
|
|
468
|
+
aria-selected={false}
|
|
469
|
+
className="chakra-tabs__tab css-abpfcx"
|
|
470
|
+
id="props--tab--1"
|
|
471
|
+
onClick={[Function]}
|
|
472
|
+
onFocus={[Function]}
|
|
473
|
+
role="tab"
|
|
474
|
+
tabIndex={-1}
|
|
475
|
+
type="button"
|
|
476
|
+
>
|
|
477
|
+
Isabelle
|
|
478
|
+
</button>
|
|
479
|
+
<button
|
|
480
|
+
aria-controls="props--tabpanel--1"
|
|
481
|
+
aria-selected={false}
|
|
482
|
+
className="chakra-tabs__tab css-abpfcx"
|
|
483
|
+
id="props--tab--1"
|
|
484
|
+
onClick={[Function]}
|
|
485
|
+
onFocus={[Function]}
|
|
486
|
+
role="tab"
|
|
487
|
+
tabIndex={-1}
|
|
488
|
+
type="button"
|
|
489
|
+
>
|
|
490
|
+
K.K. Slider
|
|
491
|
+
</button>
|
|
492
|
+
</div>
|
|
493
|
+
</div>
|
|
494
|
+
</div>
|
|
495
|
+
<button
|
|
496
|
+
aria-label="Next"
|
|
497
|
+
className="chakra-button css-12jygyh"
|
|
498
|
+
data-testid="button"
|
|
499
|
+
id="tabs-next-props"
|
|
500
|
+
onClick={[Function]}
|
|
501
|
+
type="button"
|
|
502
|
+
>
|
|
503
|
+
<svg
|
|
504
|
+
aria-hidden={true}
|
|
505
|
+
className="chakra-icon css-1grhd2q"
|
|
506
|
+
focusable={false}
|
|
507
|
+
id="tabs-next-icon-props"
|
|
508
|
+
role="img"
|
|
509
|
+
title="arrow icon"
|
|
510
|
+
viewBox="0 0 24 24"
|
|
511
|
+
>
|
|
512
|
+
<g
|
|
513
|
+
stroke="currentColor"
|
|
514
|
+
strokeWidth="1.5"
|
|
515
|
+
>
|
|
516
|
+
<path
|
|
517
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
518
|
+
fill="none"
|
|
519
|
+
strokeLinecap="round"
|
|
520
|
+
/>
|
|
521
|
+
<path
|
|
522
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
523
|
+
fill="currentColor"
|
|
524
|
+
strokeLinecap="round"
|
|
525
|
+
/>
|
|
526
|
+
<circle
|
|
527
|
+
cx="12"
|
|
528
|
+
cy="12"
|
|
529
|
+
fill="none"
|
|
530
|
+
r="11.25"
|
|
531
|
+
strokeMiterlimit="10"
|
|
532
|
+
/>
|
|
533
|
+
</g>
|
|
534
|
+
</svg>
|
|
535
|
+
</button>
|
|
536
|
+
</div>
|
|
537
|
+
<div
|
|
538
|
+
className="chakra-tabs__tab-panels css-8atqhb"
|
|
539
|
+
>
|
|
540
|
+
<div
|
|
541
|
+
aria-labelledby="props--tab-0"
|
|
542
|
+
className="chakra-tabs__tab-panel css-sjt5nk"
|
|
543
|
+
hidden={false}
|
|
544
|
+
id="props--tabpanel-0"
|
|
545
|
+
role="tabpanel"
|
|
546
|
+
tabIndex={0}
|
|
547
|
+
>
|
|
548
|
+
<p>
|
|
549
|
+
Tom Nook,
|
|
550
|
+
<b>
|
|
551
|
+
known in Japan as Tanukichi
|
|
552
|
+
</b>
|
|
553
|
+
, is a fictional character in the Animal Crossing series who operates the village store.
|
|
554
|
+
</p>
|
|
555
|
+
</div>
|
|
556
|
+
<div
|
|
557
|
+
aria-labelledby="props--tab-1"
|
|
558
|
+
className="chakra-tabs__tab-panel css-sjt5nk"
|
|
559
|
+
dangerouslySetInnerHTML={
|
|
560
|
+
Object {
|
|
561
|
+
"__html": "Isabelle, known as Shizue in Japan, is a fictional character from the Animal Crossing series of video games. She is a kindly Shih Tzu that debuted in the 2012 release Animal Crossing: New Leaf, where she serves as the secretary to the player character.",
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
hidden={true}
|
|
565
|
+
id="props--tabpanel-1"
|
|
566
|
+
role="tabpanel"
|
|
567
|
+
tabIndex={0}
|
|
568
|
+
/>
|
|
569
|
+
<div
|
|
570
|
+
aria-labelledby="props--tab-2"
|
|
571
|
+
className="chakra-tabs__tab-panel css-sjt5nk"
|
|
572
|
+
dangerouslySetInnerHTML={
|
|
573
|
+
Object {
|
|
574
|
+
"__html": "<p>Totakeke, more commonly known as <b>K.K. Slider or K.K.</b>, is a fictional character within the Animal Crossing franchise. One of the franchise's most popular characters, he debuted in the title Animal Crossing, and has appeared in every installment since.</p>",
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
hidden={true}
|
|
578
|
+
id="props--tabpanel-2"
|
|
579
|
+
role="tabpanel"
|
|
580
|
+
tabIndex={0}
|
|
581
|
+
/>
|
|
582
|
+
</div>
|
|
583
|
+
</div>
|
|
584
|
+
`;
|