@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[`Notification renders the UI snapshot correctly 1`] = `
|
|
4
4
|
<aside
|
|
5
|
-
className="css-
|
|
5
|
+
className="css-1xdhyk6"
|
|
6
6
|
data-type="standard"
|
|
7
7
|
id="notificationID1"
|
|
8
8
|
>
|
|
@@ -10,15 +10,15 @@ exports[`Notification renders the UI snapshot correctly 1`] = `
|
|
|
10
10
|
className="css-0"
|
|
11
11
|
>
|
|
12
12
|
<header
|
|
13
|
-
className="css-
|
|
13
|
+
className="css-1xdhyk6"
|
|
14
14
|
>
|
|
15
15
|
<svg
|
|
16
|
-
aria-hidden={
|
|
17
|
-
className="chakra-icon css-
|
|
16
|
+
aria-hidden={true}
|
|
17
|
+
className="chakra-icon css-q3eg3a"
|
|
18
18
|
focusable={false}
|
|
19
19
|
id="notificationID1-notification-icon"
|
|
20
20
|
role="img"
|
|
21
|
-
title="
|
|
21
|
+
title="Notification standard icon"
|
|
22
22
|
viewBox="0 0 24 24"
|
|
23
23
|
>
|
|
24
24
|
<g
|
|
@@ -45,14 +45,14 @@ exports[`Notification renders the UI snapshot correctly 1`] = `
|
|
|
45
45
|
</g>
|
|
46
46
|
</svg>
|
|
47
47
|
<h4
|
|
48
|
-
className="chakra-heading css-
|
|
48
|
+
className="chakra-heading css-1xdhyk6"
|
|
49
49
|
id="notificationID1-heading"
|
|
50
50
|
>
|
|
51
51
|
Notification Heading
|
|
52
52
|
</h4>
|
|
53
53
|
</header>
|
|
54
54
|
<div
|
|
55
|
-
className="css-
|
|
55
|
+
className="css-1xdhyk6"
|
|
56
56
|
>
|
|
57
57
|
<div
|
|
58
58
|
className="css-0"
|
|
@@ -66,7 +66,7 @@ exports[`Notification renders the UI snapshot correctly 1`] = `
|
|
|
66
66
|
|
|
67
67
|
exports[`Notification renders the UI snapshot correctly 2`] = `
|
|
68
68
|
<aside
|
|
69
|
-
className="css-
|
|
69
|
+
className="css-1xdhyk6"
|
|
70
70
|
data-type="announcement"
|
|
71
71
|
id="notificationID2"
|
|
72
72
|
>
|
|
@@ -74,15 +74,15 @@ exports[`Notification renders the UI snapshot correctly 2`] = `
|
|
|
74
74
|
className="css-0"
|
|
75
75
|
>
|
|
76
76
|
<header
|
|
77
|
-
className="css-
|
|
77
|
+
className="css-1xdhyk6"
|
|
78
78
|
>
|
|
79
79
|
<svg
|
|
80
|
-
aria-hidden={
|
|
81
|
-
className="chakra-icon css-
|
|
80
|
+
aria-hidden={true}
|
|
81
|
+
className="chakra-icon css-u7u798"
|
|
82
82
|
focusable={false}
|
|
83
83
|
id="notificationID2-notification-icon"
|
|
84
84
|
role="img"
|
|
85
|
-
title="
|
|
85
|
+
title="Notification announcement icon"
|
|
86
86
|
viewBox="0 0 24 24"
|
|
87
87
|
>
|
|
88
88
|
<g
|
|
@@ -109,14 +109,14 @@ exports[`Notification renders the UI snapshot correctly 2`] = `
|
|
|
109
109
|
</g>
|
|
110
110
|
</svg>
|
|
111
111
|
<h4
|
|
112
|
-
className="chakra-heading css-
|
|
112
|
+
className="chakra-heading css-1xdhyk6"
|
|
113
113
|
id="notificationID2-heading"
|
|
114
114
|
>
|
|
115
115
|
Notification Heading
|
|
116
116
|
</h4>
|
|
117
117
|
</header>
|
|
118
118
|
<div
|
|
119
|
-
className="css-
|
|
119
|
+
className="css-1xdhyk6"
|
|
120
120
|
>
|
|
121
121
|
<div
|
|
122
122
|
className="css-0"
|
|
@@ -130,7 +130,7 @@ exports[`Notification renders the UI snapshot correctly 2`] = `
|
|
|
130
130
|
|
|
131
131
|
exports[`Notification renders the UI snapshot correctly 3`] = `
|
|
132
132
|
<aside
|
|
133
|
-
className="css-
|
|
133
|
+
className="css-1xdhyk6"
|
|
134
134
|
data-type="warning"
|
|
135
135
|
id="notificationID3"
|
|
136
136
|
>
|
|
@@ -138,15 +138,15 @@ exports[`Notification renders the UI snapshot correctly 3`] = `
|
|
|
138
138
|
className="css-0"
|
|
139
139
|
>
|
|
140
140
|
<header
|
|
141
|
-
className="css-
|
|
141
|
+
className="css-1xdhyk6"
|
|
142
142
|
>
|
|
143
143
|
<svg
|
|
144
|
-
aria-hidden={
|
|
145
|
-
className="chakra-icon css-
|
|
144
|
+
aria-hidden={true}
|
|
145
|
+
className="chakra-icon css-zzgjc6"
|
|
146
146
|
focusable={false}
|
|
147
147
|
id="notificationID3-notification-icon"
|
|
148
148
|
role="img"
|
|
149
|
-
title="
|
|
149
|
+
title="Notification warning icon"
|
|
150
150
|
viewBox="0 0 24 24"
|
|
151
151
|
>
|
|
152
152
|
<g
|
|
@@ -173,14 +173,14 @@ exports[`Notification renders the UI snapshot correctly 3`] = `
|
|
|
173
173
|
</g>
|
|
174
174
|
</svg>
|
|
175
175
|
<h4
|
|
176
|
-
className="chakra-heading css-
|
|
176
|
+
className="chakra-heading css-1xdhyk6"
|
|
177
177
|
id="notificationID3-heading"
|
|
178
178
|
>
|
|
179
179
|
Notification Heading
|
|
180
180
|
</h4>
|
|
181
181
|
</header>
|
|
182
182
|
<div
|
|
183
|
-
className="css-
|
|
183
|
+
className="css-1xdhyk6"
|
|
184
184
|
>
|
|
185
185
|
<div
|
|
186
186
|
className="css-0"
|
|
@@ -194,7 +194,7 @@ exports[`Notification renders the UI snapshot correctly 3`] = `
|
|
|
194
194
|
|
|
195
195
|
exports[`Notification renders the UI snapshot correctly 4`] = `
|
|
196
196
|
<aside
|
|
197
|
-
className="css-
|
|
197
|
+
className="css-1xdhyk6"
|
|
198
198
|
data-type="standard"
|
|
199
199
|
id="notificationID4"
|
|
200
200
|
>
|
|
@@ -202,15 +202,15 @@ exports[`Notification renders the UI snapshot correctly 4`] = `
|
|
|
202
202
|
className="css-0"
|
|
203
203
|
>
|
|
204
204
|
<div
|
|
205
|
-
className="css-
|
|
205
|
+
className="css-1xdhyk6"
|
|
206
206
|
>
|
|
207
207
|
<svg
|
|
208
|
-
aria-hidden={
|
|
209
|
-
className="chakra-icon css-
|
|
208
|
+
aria-hidden={true}
|
|
209
|
+
className="chakra-icon css-q3eg3a"
|
|
210
210
|
focusable={false}
|
|
211
211
|
id="notificationID4-notification-icon"
|
|
212
212
|
role="img"
|
|
213
|
-
title="
|
|
213
|
+
title="Notification standard icon"
|
|
214
214
|
viewBox="0 0 24 24"
|
|
215
215
|
>
|
|
216
216
|
<g
|
|
@@ -248,7 +248,7 @@ exports[`Notification renders the UI snapshot correctly 4`] = `
|
|
|
248
248
|
|
|
249
249
|
exports[`Notification renders the UI snapshot correctly 5`] = `
|
|
250
250
|
<aside
|
|
251
|
-
className="css-
|
|
251
|
+
className="css-1xdhyk6"
|
|
252
252
|
data-type="standard"
|
|
253
253
|
id="notificationID5"
|
|
254
254
|
>
|
|
@@ -256,17 +256,17 @@ exports[`Notification renders the UI snapshot correctly 5`] = `
|
|
|
256
256
|
className="css-0"
|
|
257
257
|
>
|
|
258
258
|
<header
|
|
259
|
-
className="css-
|
|
259
|
+
className="css-1xdhyk6"
|
|
260
260
|
>
|
|
261
261
|
<h4
|
|
262
|
-
className="chakra-heading css-
|
|
262
|
+
className="chakra-heading css-1xdhyk6"
|
|
263
263
|
id="notificationID5-heading"
|
|
264
264
|
>
|
|
265
265
|
Notification Heading
|
|
266
266
|
</h4>
|
|
267
267
|
</header>
|
|
268
268
|
<div
|
|
269
|
-
className="css-
|
|
269
|
+
className="css-1xdhyk6"
|
|
270
270
|
>
|
|
271
271
|
<div
|
|
272
272
|
className="css-0"
|
|
@@ -280,7 +280,7 @@ exports[`Notification renders the UI snapshot correctly 5`] = `
|
|
|
280
280
|
|
|
281
281
|
exports[`Notification renders the UI snapshot correctly 6`] = `
|
|
282
282
|
<aside
|
|
283
|
-
className="css-
|
|
283
|
+
className="css-1xdhyk6"
|
|
284
284
|
data-type="standard"
|
|
285
285
|
id="notificationID6"
|
|
286
286
|
>
|
|
@@ -288,7 +288,231 @@ exports[`Notification renders the UI snapshot correctly 6`] = `
|
|
|
288
288
|
className="css-0"
|
|
289
289
|
>
|
|
290
290
|
<div
|
|
291
|
-
className="css-
|
|
291
|
+
className="css-1xdhyk6"
|
|
292
|
+
>
|
|
293
|
+
<div
|
|
294
|
+
className="css-0"
|
|
295
|
+
>
|
|
296
|
+
Notification content.
|
|
297
|
+
</div>
|
|
298
|
+
</div>
|
|
299
|
+
</div>
|
|
300
|
+
</aside>
|
|
301
|
+
`;
|
|
302
|
+
|
|
303
|
+
exports[`Notification renders the UI snapshot correctly 7`] = `
|
|
304
|
+
<aside
|
|
305
|
+
className="css-1xdhyk6"
|
|
306
|
+
data-type="standard"
|
|
307
|
+
id="notificationID7"
|
|
308
|
+
>
|
|
309
|
+
<div
|
|
310
|
+
className="css-0"
|
|
311
|
+
>
|
|
312
|
+
<div
|
|
313
|
+
className="css-1xdhyk6"
|
|
314
|
+
>
|
|
315
|
+
<svg
|
|
316
|
+
aria-hidden={true}
|
|
317
|
+
className="chakra-icon css-q3eg3a"
|
|
318
|
+
focusable={false}
|
|
319
|
+
id="notificationID7-notification-icon"
|
|
320
|
+
role="img"
|
|
321
|
+
title="Notification standard icon"
|
|
322
|
+
viewBox="0 0 24 24"
|
|
323
|
+
>
|
|
324
|
+
<g
|
|
325
|
+
stroke="currentColor"
|
|
326
|
+
strokeWidth="1.5"
|
|
327
|
+
>
|
|
328
|
+
<path
|
|
329
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
330
|
+
fill="none"
|
|
331
|
+
strokeLinecap="round"
|
|
332
|
+
/>
|
|
333
|
+
<path
|
|
334
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
335
|
+
fill="currentColor"
|
|
336
|
+
strokeLinecap="round"
|
|
337
|
+
/>
|
|
338
|
+
<circle
|
|
339
|
+
cx="12"
|
|
340
|
+
cy="12"
|
|
341
|
+
fill="none"
|
|
342
|
+
r="11.25"
|
|
343
|
+
strokeMiterlimit="10"
|
|
344
|
+
/>
|
|
345
|
+
</g>
|
|
346
|
+
</svg>
|
|
347
|
+
<div
|
|
348
|
+
className="css-0"
|
|
349
|
+
>
|
|
350
|
+
Notification content.
|
|
351
|
+
</div>
|
|
352
|
+
</div>
|
|
353
|
+
</div>
|
|
354
|
+
<button
|
|
355
|
+
aria-label="Close the notification"
|
|
356
|
+
className="chakra-button css-1xdhyk6"
|
|
357
|
+
data-testid="button"
|
|
358
|
+
id="notificationID7-notification-dismissible-button"
|
|
359
|
+
onClick={[Function]}
|
|
360
|
+
type="button"
|
|
361
|
+
>
|
|
362
|
+
<svg
|
|
363
|
+
aria-hidden={true}
|
|
364
|
+
className="chakra-icon css-1grhd2q"
|
|
365
|
+
focusable={false}
|
|
366
|
+
id="notificationID7-dismissible-notification-icon"
|
|
367
|
+
role="img"
|
|
368
|
+
title="Notification close icon"
|
|
369
|
+
viewBox="0 0 24 24"
|
|
370
|
+
>
|
|
371
|
+
<g
|
|
372
|
+
stroke="currentColor"
|
|
373
|
+
strokeWidth="1.5"
|
|
374
|
+
>
|
|
375
|
+
<path
|
|
376
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
377
|
+
fill="none"
|
|
378
|
+
strokeLinecap="round"
|
|
379
|
+
/>
|
|
380
|
+
<path
|
|
381
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
382
|
+
fill="currentColor"
|
|
383
|
+
strokeLinecap="round"
|
|
384
|
+
/>
|
|
385
|
+
<circle
|
|
386
|
+
cx="12"
|
|
387
|
+
cy="12"
|
|
388
|
+
fill="none"
|
|
389
|
+
r="11.25"
|
|
390
|
+
strokeMiterlimit="10"
|
|
391
|
+
/>
|
|
392
|
+
</g>
|
|
393
|
+
</svg>
|
|
394
|
+
</button>
|
|
395
|
+
</aside>
|
|
396
|
+
`;
|
|
397
|
+
|
|
398
|
+
exports[`Notification renders the UI snapshot correctly 8`] = `
|
|
399
|
+
<aside
|
|
400
|
+
className="css-kle7zy"
|
|
401
|
+
data-type="standard"
|
|
402
|
+
id="chakra"
|
|
403
|
+
>
|
|
404
|
+
<div
|
|
405
|
+
className="css-0"
|
|
406
|
+
>
|
|
407
|
+
<header
|
|
408
|
+
className="css-1xdhyk6"
|
|
409
|
+
>
|
|
410
|
+
<svg
|
|
411
|
+
aria-hidden={true}
|
|
412
|
+
className="chakra-icon css-q3eg3a"
|
|
413
|
+
focusable={false}
|
|
414
|
+
id="chakra-notification-icon"
|
|
415
|
+
role="img"
|
|
416
|
+
title="Notification standard icon"
|
|
417
|
+
viewBox="0 0 24 24"
|
|
418
|
+
>
|
|
419
|
+
<g
|
|
420
|
+
stroke="currentColor"
|
|
421
|
+
strokeWidth="1.5"
|
|
422
|
+
>
|
|
423
|
+
<path
|
|
424
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
425
|
+
fill="none"
|
|
426
|
+
strokeLinecap="round"
|
|
427
|
+
/>
|
|
428
|
+
<path
|
|
429
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
430
|
+
fill="currentColor"
|
|
431
|
+
strokeLinecap="round"
|
|
432
|
+
/>
|
|
433
|
+
<circle
|
|
434
|
+
cx="12"
|
|
435
|
+
cy="12"
|
|
436
|
+
fill="none"
|
|
437
|
+
r="11.25"
|
|
438
|
+
strokeMiterlimit="10"
|
|
439
|
+
/>
|
|
440
|
+
</g>
|
|
441
|
+
</svg>
|
|
442
|
+
<h4
|
|
443
|
+
className="chakra-heading css-1xdhyk6"
|
|
444
|
+
id="chakra-heading"
|
|
445
|
+
>
|
|
446
|
+
Notification Heading
|
|
447
|
+
</h4>
|
|
448
|
+
</header>
|
|
449
|
+
<div
|
|
450
|
+
className="css-1xdhyk6"
|
|
451
|
+
>
|
|
452
|
+
<div
|
|
453
|
+
className="css-0"
|
|
454
|
+
>
|
|
455
|
+
Notification content.
|
|
456
|
+
</div>
|
|
457
|
+
</div>
|
|
458
|
+
</div>
|
|
459
|
+
</aside>
|
|
460
|
+
`;
|
|
461
|
+
|
|
462
|
+
exports[`Notification renders the UI snapshot correctly 9`] = `
|
|
463
|
+
<aside
|
|
464
|
+
className="css-1xdhyk6"
|
|
465
|
+
data-testid="props"
|
|
466
|
+
data-type="standard"
|
|
467
|
+
id="props"
|
|
468
|
+
>
|
|
469
|
+
<div
|
|
470
|
+
className="css-0"
|
|
471
|
+
>
|
|
472
|
+
<header
|
|
473
|
+
className="css-1xdhyk6"
|
|
474
|
+
>
|
|
475
|
+
<svg
|
|
476
|
+
aria-hidden={true}
|
|
477
|
+
className="chakra-icon css-q3eg3a"
|
|
478
|
+
focusable={false}
|
|
479
|
+
id="props-notification-icon"
|
|
480
|
+
role="img"
|
|
481
|
+
title="Notification standard icon"
|
|
482
|
+
viewBox="0 0 24 24"
|
|
483
|
+
>
|
|
484
|
+
<g
|
|
485
|
+
stroke="currentColor"
|
|
486
|
+
strokeWidth="1.5"
|
|
487
|
+
>
|
|
488
|
+
<path
|
|
489
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
490
|
+
fill="none"
|
|
491
|
+
strokeLinecap="round"
|
|
492
|
+
/>
|
|
493
|
+
<path
|
|
494
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
495
|
+
fill="currentColor"
|
|
496
|
+
strokeLinecap="round"
|
|
497
|
+
/>
|
|
498
|
+
<circle
|
|
499
|
+
cx="12"
|
|
500
|
+
cy="12"
|
|
501
|
+
fill="none"
|
|
502
|
+
r="11.25"
|
|
503
|
+
strokeMiterlimit="10"
|
|
504
|
+
/>
|
|
505
|
+
</g>
|
|
506
|
+
</svg>
|
|
507
|
+
<h4
|
|
508
|
+
className="chakra-heading css-1xdhyk6"
|
|
509
|
+
id="props-heading"
|
|
510
|
+
>
|
|
511
|
+
Notification Heading
|
|
512
|
+
</h4>
|
|
513
|
+
</header>
|
|
514
|
+
<div
|
|
515
|
+
className="css-1xdhyk6"
|
|
292
516
|
>
|
|
293
517
|
<div
|
|
294
518
|
className="css-0"
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
import { VStack } from "@chakra-ui/react";
|
|
1
3
|
import {
|
|
2
4
|
ArgsTable,
|
|
3
5
|
Canvas,
|
|
@@ -8,9 +10,13 @@ import {
|
|
|
8
10
|
import { withDesign } from "storybook-addon-designs";
|
|
9
11
|
import { withQuery } from "@storybook/addon-queryparams";
|
|
10
12
|
|
|
13
|
+
import Button from "../Button/Button";
|
|
14
|
+
import DSProvider from "../../theme/provider";
|
|
11
15
|
import Pagination from "./Pagination";
|
|
12
|
-
import * as stories from "./Pagination.stories.tsx";
|
|
13
16
|
import { getCategory } from "../../utils/componentCategories";
|
|
17
|
+
import { getStorybookHrefProps } from "../../utils/utils";
|
|
18
|
+
|
|
19
|
+
export const hrefProps = getStorybookHrefProps(10);
|
|
14
20
|
|
|
15
21
|
<Meta
|
|
16
22
|
title={getCategory("Pagination")}
|
|
@@ -25,6 +31,7 @@ import { getCategory } from "../../utils/componentCategories";
|
|
|
25
31
|
}}
|
|
26
32
|
argTypes={{
|
|
27
33
|
className: { control: false },
|
|
34
|
+
currentPage: { control: false },
|
|
28
35
|
getPageHref: { control: false },
|
|
29
36
|
id: { control: false },
|
|
30
37
|
initialPage: { table: { defaultValue: { summary: 1 } } },
|
|
@@ -37,7 +44,16 @@ import { getCategory } from "../../utils/componentCategories";
|
|
|
37
44
|
| Component Version | DS Version |
|
|
38
45
|
| ----------------- | ---------- |
|
|
39
46
|
| Added | `0.0.10` |
|
|
40
|
-
| Latest | `0.
|
|
47
|
+
| Latest | `0.26.0` |
|
|
48
|
+
|
|
49
|
+
## Table of Contents
|
|
50
|
+
|
|
51
|
+
- [Overview](#overview)
|
|
52
|
+
- [Accessibility](#accessibility)
|
|
53
|
+
- [Pagination with URL Updates](#pagination-with-url-updates)
|
|
54
|
+
- [Pagination with Unchanging URL](#pagination-with-unchanging-url)
|
|
55
|
+
|
|
56
|
+
## Overview
|
|
41
57
|
|
|
42
58
|
<Description of={Pagination} />
|
|
43
59
|
|
|
@@ -45,7 +61,18 @@ The `Pagination` component helps navigate between pages of a multi-page
|
|
|
45
61
|
application. It is commonly used on a search results page. Update the `pageCount`
|
|
46
62
|
prop in the Controls to explore this component with many or few pages.
|
|
47
63
|
|
|
48
|
-
|
|
64
|
+
## Accessibility
|
|
65
|
+
|
|
66
|
+
Internally, the `Pagination` component is implemented with a `<nav>` element with
|
|
67
|
+
an `aria-label` attribute of `"Pagination"` and an unordered `<ul>` element. This
|
|
68
|
+
component uses anchor `<a>` tags because it is navigating between URLs. In the
|
|
69
|
+
"unchanging URL" variation, each anchor tag has an `href` attribute with a value
|
|
70
|
+
of `"#"`, because the URL is not changing.
|
|
71
|
+
|
|
72
|
+
Resources:
|
|
73
|
+
|
|
74
|
+
- [W3C Design System Pagination](https://design-system.w3.org/components/pagination.html)
|
|
75
|
+
- [a11ymatters Accessible Pagination](https://www.a11ymatters.com/pattern/pagination/)
|
|
49
76
|
|
|
50
77
|
## Pagination with URL Updates
|
|
51
78
|
|
|
@@ -73,14 +100,13 @@ const getPageHref = (selectedPage: number) => {
|
|
|
73
100
|
name="Pagination with URL Updates"
|
|
74
101
|
args={{
|
|
75
102
|
className: undefined,
|
|
76
|
-
getPageHref:
|
|
103
|
+
getPageHref: hrefProps.getPageHref,
|
|
77
104
|
id: "pagination-id",
|
|
78
|
-
initialPage: 1,
|
|
79
|
-
onPageChange: undefined,
|
|
105
|
+
initialPage: hrefProps.computedCurrentPage || 1,
|
|
80
106
|
pageCount: 10,
|
|
81
107
|
}}
|
|
82
108
|
>
|
|
83
|
-
{(args) =>
|
|
109
|
+
{(args) => <Pagination {...args} onPageChange={undefined} />}
|
|
84
110
|
</Story>
|
|
85
111
|
</Canvas>
|
|
86
112
|
|
|
@@ -93,14 +119,14 @@ function passed as a prop and that the URL is updated whenever a page is
|
|
|
93
119
|
changed. However, the optional `onPageChange` prop is available in case URL
|
|
94
120
|
updating is not desired.
|
|
95
121
|
|
|
96
|
-
In the following example, the `onPageChange` function gets the
|
|
122
|
+
In the following example, the `onPageChange` function gets the selected page as
|
|
97
123
|
its only function argument. This is computed internally in the `Pagination`
|
|
98
124
|
component through its own state.
|
|
99
125
|
|
|
100
126
|
```tsx
|
|
101
127
|
// Example in a search results page.
|
|
102
|
-
const onPageChange = (
|
|
103
|
-
console.log(`Current page: ${
|
|
128
|
+
const onPageChange = (selectedPage: number) => {
|
|
129
|
+
console.log(`Current page: ${selectedPage}`);
|
|
104
130
|
// Do what you need to with the `currentPage` value.
|
|
105
131
|
};
|
|
106
132
|
```
|
|
@@ -110,13 +136,50 @@ const onPageChange = (currentPage: number) => {
|
|
|
110
136
|
name="Pagination with Unchanging URL"
|
|
111
137
|
args={{
|
|
112
138
|
className: undefined,
|
|
113
|
-
getPageHref: undefined,
|
|
114
139
|
id: "pagination-id-2",
|
|
115
140
|
initialPage: 7,
|
|
116
|
-
onPageChange:
|
|
141
|
+
onPageChange: (selectedPage) => {
|
|
142
|
+
console.log(`Current page: ${selectedPage}`);
|
|
143
|
+
},
|
|
117
144
|
pageCount: 100,
|
|
118
145
|
}}
|
|
119
146
|
>
|
|
120
|
-
{(args) =>
|
|
147
|
+
{(args) => <Pagination {...args} getPageHref={undefined} />}
|
|
121
148
|
</Story>
|
|
122
149
|
</Canvas>
|
|
150
|
+
|
|
151
|
+
### Forcing a Page Change Programmatically
|
|
152
|
+
|
|
153
|
+
There may be circumstances when you want to programmatically force the page
|
|
154
|
+
number to change without the user explicitly requesting it (for example, if
|
|
155
|
+
you want a user to be brought back to page 1 after entering a new search term).
|
|
156
|
+
You can use the `currentPage` prop to do this. Note, the `currentPage` prop can
|
|
157
|
+
only be used with the client-side, unchanging URL version of the `Pagination`
|
|
158
|
+
component, and in combination with the `onPageChange` function.
|
|
159
|
+
|
|
160
|
+
The following example shows that the user can be brought to page 1 without clicking
|
|
161
|
+
on the `Pagination` component.
|
|
162
|
+
|
|
163
|
+
export function CurrentPagePaginationExample() {
|
|
164
|
+
const [page, setPage] = useState(1);
|
|
165
|
+
const handleClick = () => setPage(1);
|
|
166
|
+
const handleSelection = (selectedPage) => setPage(selectedPage);
|
|
167
|
+
return (
|
|
168
|
+
<VStack align="start" spacing={6}>
|
|
169
|
+
<Pagination
|
|
170
|
+
pageCount={10}
|
|
171
|
+
currentPage={page}
|
|
172
|
+
onPageChange={(selectedPage) => handleSelection(selectedPage)}
|
|
173
|
+
/>
|
|
174
|
+
<Button type="button" buttonType="primary" onClick={handleClick}>
|
|
175
|
+
Go to Page 1
|
|
176
|
+
</Button>
|
|
177
|
+
</VStack>
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
<Canvas>
|
|
182
|
+
<DSProvider>
|
|
183
|
+
<CurrentPagePaginationExample />
|
|
184
|
+
</DSProvider>
|
|
185
|
+
</Canvas>
|