@nypl/design-system-react-components 1.0.2 → 1.0.3-beta
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/README.md +0 -2
- package/dist/components/Slider/Slider.d.ts +1 -2
- package/dist/components/TextInput/TextInput.d.ts +2 -1
- package/dist/design-system-react-components.cjs.development.js +33 -10
- 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 +33 -10
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/hooks/{tests → __tests__}/useCarouselStyles.test.d.ts +0 -0
- package/dist/theme/components/global.d.ts +1 -1
- package/dist/theme/components/radio.d.ts +8 -0
- package/dist/theme/components/template.d.ts +4 -1
- package/package.json +2 -3
- package/CHANGELOG.md +0 -1430
- package/src/__tests__/fileMock.ts +0 -6
- package/src/__tests__/setup.ts +0 -27
- package/src/__tests__/utils/utils.test.ts +0 -18
- package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +0 -42
- package/src/components/Accordion/Accordion.stories.mdx +0 -333
- package/src/components/Accordion/Accordion.test.tsx +0 -237
- package/src/components/Accordion/Accordion.tsx +0 -137
- package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +0 -734
- package/src/components/Autosuggest/Autosuggest.stories.mdx +0 -75
- package/src/components/Autosuggest/Autosuggest.stories.tsx +0 -211
- package/src/components/Autosuggest/_Autosuggest.scss +0 -51
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +0 -231
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +0 -144
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -98
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +0 -695
- package/src/components/Button/Button.stories.mdx +0 -320
- package/src/components/Button/Button.test.tsx +0 -184
- package/src/components/Button/Button.tsx +0 -95
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +0 -106
- package/src/components/ButtonGroup/ButtonGroup.stories.mdx +0 -178
- package/src/components/ButtonGroup/ButtonGroup.test.tsx +0 -141
- package/src/components/ButtonGroup/ButtonGroup.tsx +0 -100
- package/src/components/ButtonGroup/__snapshots__/ButtonGroup.test.tsx.snap +0 -117
- package/src/components/Card/Card.stories.mdx +0 -1041
- package/src/components/Card/Card.test.tsx +0 -388
- package/src/components/Card/Card.tsx +0 -346
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +0 -568
- package/src/components/Chakra/Box.stories.mdx +0 -52
- package/src/components/Chakra/Center.stories.mdx +0 -96
- package/src/components/Chakra/Flex.stories.mdx +0 -111
- package/src/components/Chakra/Grid.stories.mdx +0 -89
- package/src/components/Chakra/Stack.stories.mdx +0 -109
- package/src/components/Checkbox/Checkbox.stories.mdx +0 -243
- package/src/components/Checkbox/Checkbox.test.tsx +0 -350
- package/src/components/Checkbox/Checkbox.tsx +0 -152
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +0 -661
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +0 -462
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +0 -492
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +0 -173
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +0 -1842
- package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +0 -163
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +0 -76
- package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +0 -103
- package/src/components/DatePicker/DatePicker.stories.mdx +0 -452
- package/src/components/DatePicker/DatePicker.test.tsx +0 -940
- package/src/components/DatePicker/DatePicker.tsx +0 -450
- package/src/components/DatePicker/_DatePicker.scss +0 -100
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +0 -908
- package/src/components/Fieldset/Fieldset.stories.mdx +0 -96
- package/src/components/Fieldset/Fieldset.test.tsx +0 -155
- package/src/components/Fieldset/Fieldset.tsx +0 -55
- package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +0 -89
- package/src/components/Form/Form.stories.mdx +0 -426
- package/src/components/Form/Form.test.tsx +0 -234
- package/src/components/Form/Form.tsx +0 -124
- package/src/components/Form/__snapshots__/Form.test.tsx.snap +0 -115
- package/src/components/Grid/SimpleGrid.stories.mdx +0 -336
- package/src/components/Grid/SimpleGrid.test.tsx +0 -79
- package/src/components/Grid/SimpleGrid.tsx +0 -49
- package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +0 -23
- package/src/components/Heading/Heading.stories.mdx +0 -187
- package/src/components/Heading/Heading.test.tsx +0 -171
- package/src/components/Heading/Heading.tsx +0 -104
- package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +0 -90
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +0 -172
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +0 -114
- package/src/components/HelperErrorText/HelperErrorText.tsx +0 -62
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +0 -93
- package/src/components/Hero/Hero.stories.mdx +0 -378
- package/src/components/Hero/Hero.test.tsx +0 -611
- package/src/components/Hero/Hero.tsx +0 -203
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +0 -379
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +0 -73
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +0 -54
- package/src/components/HorizontalRule/HorizontalRule.tsx +0 -27
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +0 -44
- package/src/components/Icons/Icon.stories.mdx +0 -413
- package/src/components/Icons/Icon.test.tsx +0 -120
- package/src/components/Icons/Icon.tsx +0 -187
- package/src/components/Icons/IconSvgs.tsx +0 -64
- package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +0 -129
- package/src/components/Image/Image.stories.mdx +0 -332
- package/src/components/Image/Image.test.tsx +0 -155
- package/src/components/Image/Image.tsx +0 -171
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +0 -269
- package/src/components/Label/Label.stories.mdx +0 -100
- package/src/components/Label/Label.test.tsx +0 -116
- package/src/components/Label/Label.tsx +0 -55
- package/src/components/Label/__snapshots__/Label.test.tsx.snap +0 -45
- package/src/components/Link/Link.stories.mdx +0 -249
- package/src/components/Link/Link.test.tsx +0 -224
- package/src/components/Link/Link.tsx +0 -178
- package/src/components/Link/__snapshots__/Link.test.tsx.snap +0 -286
- package/src/components/List/List.stories.mdx +0 -393
- package/src/components/List/List.test.tsx +0 -265
- package/src/components/List/List.tsx +0 -156
- package/src/components/List/__snapshots__/List.test.tsx.snap +0 -213
- package/src/components/Logo/Logo.stories.mdx +0 -295
- package/src/components/Logo/Logo.test.tsx +0 -116
- package/src/components/Logo/Logo.tsx +0 -151
- package/src/components/Logo/LogoSvgs.tsx +0 -90
- package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +0 -142
- package/src/components/Modal/Modal.stories.mdx +0 -294
- package/src/components/Modal/Modal.test.tsx +0 -157
- package/src/components/Modal/Modal.tsx +0 -154
- package/src/components/Modal/__snapshots__/Modal.test.tsx.snap +0 -25
- package/src/components/Notification/Notification.stories.mdx +0 -358
- package/src/components/Notification/Notification.test.tsx +0 -279
- package/src/components/Notification/Notification.tsx +0 -224
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +0 -525
- package/src/components/Pagination/Pagination.stories.mdx +0 -184
- package/src/components/Pagination/Pagination.test.tsx +0 -419
- package/src/components/Pagination/Pagination.tsx +0 -269
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -544
- package/src/components/Placeholder/Placeholder.tsx +0 -19
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +0 -360
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +0 -298
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +0 -132
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +0 -434
- package/src/components/Radio/Radio.stories.mdx +0 -216
- package/src/components/Radio/Radio.test.tsx +0 -247
- package/src/components/Radio/Radio.tsx +0 -119
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +0 -451
- package/src/components/RadioGroup/RadioGroup.stories.mdx +0 -479
- package/src/components/RadioGroup/RadioGroup.test.tsx +0 -471
- package/src/components/RadioGroup/RadioGroup.tsx +0 -171
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +0 -1550
- package/src/components/SearchBar/SearchBar.stories.mdx +0 -518
- package/src/components/SearchBar/SearchBar.test.tsx +0 -435
- package/src/components/SearchBar/SearchBar.tsx +0 -210
- package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +0 -1049
- package/src/components/Select/Select.stories.mdx +0 -439
- package/src/components/Select/Select.test.tsx +0 -358
- package/src/components/Select/Select.tsx +0 -183
- package/src/components/Select/__snapshots__/Select.test.tsx.snap +0 -895
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +0 -142
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +0 -116
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +0 -123
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +0 -898
- package/src/components/SkipNavigation/SkipNavigation.stories.mdx +0 -90
- package/src/components/SkipNavigation/SkipNavigation.test.tsx +0 -63
- package/src/components/SkipNavigation/SkipNavigation.tsx +0 -51
- package/src/components/SkipNavigation/__snapshots__/SkipNavigation.test.tsx.snap +0 -130
- package/src/components/Slider/Slider.stories.mdx +0 -628
- package/src/components/Slider/Slider.test.tsx +0 -736
- package/src/components/Slider/Slider.tsx +0 -322
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +0 -2186
- package/src/components/StatusBadge/StatusBadge.stories.mdx +0 -109
- package/src/components/StatusBadge/StatusBadge.test.tsx +0 -70
- package/src/components/StatusBadge/StatusBadge.tsx +0 -35
- package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +0 -47
- package/src/components/StructuredContent/StructuredContent.stories.mdx +0 -567
- package/src/components/StructuredContent/StructuredContent.test.tsx +0 -435
- package/src/components/StructuredContent/StructuredContent.tsx +0 -139
- package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +0 -368
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +0 -206
- package/src/components/StyleGuide/Breakpoints.stories.mdx +0 -55
- package/src/components/StyleGuide/Buttons.stories.mdx +0 -194
- package/src/components/StyleGuide/ColorCard.tsx +0 -43
- package/src/components/StyleGuide/Colors.stories.mdx +0 -201
- package/src/components/StyleGuide/DesignTokens.stories.mdx +0 -193
- package/src/components/StyleGuide/Forms.stories.mdx +0 -94
- package/src/components/StyleGuide/Iconography.stories.mdx +0 -142
- package/src/components/StyleGuide/Spacing.stories.mdx +0 -116
- package/src/components/StyleGuide/Typography.stories.mdx +0 -419
- package/src/components/Table/Table.stories.mdx +0 -272
- package/src/components/Table/Table.test.tsx +0 -241
- package/src/components/Table/Table.tsx +0 -152
- package/src/components/Table/__snapshots__/Table.test.tsx.snap +0 -1703
- package/src/components/Tabs/Tabs.stories.mdx +0 -338
- package/src/components/Tabs/Tabs.test.tsx +0 -298
- package/src/components/Tabs/Tabs.tsx +0 -264
- package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +0 -584
- package/src/components/Template/Template.stories.mdx +0 -695
- package/src/components/Template/Template.test.tsx +0 -309
- package/src/components/Template/Template.tsx +0 -326
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +0 -342
- package/src/components/Text/Text.stories.mdx +0 -103
- package/src/components/Text/Text.test.tsx +0 -63
- package/src/components/Text/Text.tsx +0 -50
- package/src/components/Text/__snapshots__/Text.test.tsx.snap +0 -50
- package/src/components/TextInput/TextInput.stories.mdx +0 -268
- package/src/components/TextInput/TextInput.test.tsx +0 -451
- package/src/components/TextInput/TextInput.tsx +0 -240
- package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +0 -274
- package/src/components/Toggle/Toggle.stories.mdx +0 -237
- package/src/components/Toggle/Toggle.test.tsx +0 -170
- package/src/components/Toggle/Toggle.tsx +0 -128
- package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +0 -470
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +0 -212
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +0 -308
- package/src/components/VideoPlayer/VideoPlayer.tsx +0 -188
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +0 -192
- package/src/docs/Chakra.stories.mdx +0 -563
- package/src/docs/Welcome.stories.mdx +0 -148
- package/src/helpers/types.ts +0 -1
- package/src/hooks/tests/useCarouselStyles.test.ts +0 -140
- package/src/hooks/tests/useNYPLTheme.test.tsx +0 -36
- package/src/hooks/useCarouselStyles.stories.mdx +0 -30
- package/src/hooks/useCarouselStyles.ts +0 -35
- package/src/hooks/useNYPLTheme.stories.mdx +0 -98
- package/src/hooks/useNYPLTheme.ts +0 -91
- package/src/hooks/useWindowSize.stories.mdx +0 -23
- package/src/hooks/useWindowSize.ts +0 -40
- package/src/index.ts +0 -136
- package/src/resources.scss +0 -6
- package/src/styles/base/_01-breakpoints.scss +0 -27
- package/src/styles/base/_02-mixins.scss +0 -103
- package/src/styles/base/_place-holder.scss +0 -33
- package/src/styles/space/_space-inline.scss +0 -79
- package/src/styles/space/_space-inset.scss +0 -57
- package/src/styles/space/_space-stack.scss +0 -116
- package/src/styles.scss +0 -23
- package/src/theme/components/accordion.ts +0 -25
- package/src/theme/components/breadcrumb.ts +0 -94
- package/src/theme/components/button.ts +0 -133
- package/src/theme/components/buttonGroup.ts +0 -10
- package/src/theme/components/card.ts +0 -237
- package/src/theme/components/checkbox.ts +0 -110
- package/src/theme/components/checkboxGroup.ts +0 -10
- package/src/theme/components/componentWrapper.ts +0 -14
- package/src/theme/components/customTable.ts +0 -77
- package/src/theme/components/datePicker.ts +0 -17
- package/src/theme/components/fieldset.ts +0 -23
- package/src/theme/components/global.ts +0 -91
- package/src/theme/components/globalMixins.ts +0 -24
- package/src/theme/components/heading.ts +0 -79
- package/src/theme/components/helperErrorText.ts +0 -14
- package/src/theme/components/hero.ts +0 -238
- package/src/theme/components/horizontalRule.ts +0 -17
- package/src/theme/components/icon.ts +0 -88
- package/src/theme/components/image.ts +0 -136
- package/src/theme/components/label.ts +0 -15
- package/src/theme/components/link.ts +0 -63
- package/src/theme/components/list.ts +0 -88
- package/src/theme/components/logo.ts +0 -58
- package/src/theme/components/notification.ts +0 -132
- package/src/theme/components/pagination.ts +0 -17
- package/src/theme/components/progressIndicator.ts +0 -67
- package/src/theme/components/radio.ts +0 -103
- package/src/theme/components/radioGroup.ts +0 -10
- package/src/theme/components/searchBar.ts +0 -19
- package/src/theme/components/select.ts +0 -72
- package/src/theme/components/skeletonLoader.ts +0 -113
- package/src/theme/components/skipNavigation.ts +0 -29
- package/src/theme/components/slider.ts +0 -95
- package/src/theme/components/statusBadge.ts +0 -26
- package/src/theme/components/structuredContent.ts +0 -149
- package/src/theme/components/tabs.ts +0 -109
- package/src/theme/components/template.ts +0 -114
- package/src/theme/components/text.ts +0 -38
- package/src/theme/components/textInput.ts +0 -65
- package/src/theme/components/toggle.ts +0 -109
- package/src/theme/components/videoPlayer.ts +0 -47
- package/src/theme/foundations/breakpoints.ts +0 -24
- package/src/theme/foundations/colors.ts +0 -212
- package/src/theme/foundations/global.ts +0 -43
- package/src/theme/foundations/radii.ts +0 -7
- package/src/theme/foundations/shadows.ts +0 -5
- package/src/theme/foundations/spacing.ts +0 -136
- package/src/theme/foundations/typography.ts +0 -107
- package/src/theme/index.ts +0 -131
- package/src/theme/provider.tsx +0 -9
- package/src/theme/types.ts +0 -1
- package/src/utils/componentCategories.ts +0 -152
- package/src/utils/interfaces.ts +0 -5
- package/src/utils/utils.ts +0 -84
|
@@ -1,525 +0,0 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
-
|
|
3
|
-
exports[`Notification renders the UI snapshot correctly 1`] = `
|
|
4
|
-
<aside
|
|
5
|
-
className="css-1xdhyk6"
|
|
6
|
-
data-type="standard"
|
|
7
|
-
id="notificationID1"
|
|
8
|
-
>
|
|
9
|
-
<div
|
|
10
|
-
className="css-0"
|
|
11
|
-
>
|
|
12
|
-
<header
|
|
13
|
-
className="css-1xdhyk6"
|
|
14
|
-
>
|
|
15
|
-
<svg
|
|
16
|
-
aria-hidden={true}
|
|
17
|
-
className="chakra-icon css-q3eg3a"
|
|
18
|
-
focusable={false}
|
|
19
|
-
id="notificationID1-notification-icon"
|
|
20
|
-
role="img"
|
|
21
|
-
title="Notification standard icon"
|
|
22
|
-
viewBox="0 0 24 24"
|
|
23
|
-
>
|
|
24
|
-
<g
|
|
25
|
-
stroke="currentColor"
|
|
26
|
-
strokeWidth="1.5"
|
|
27
|
-
>
|
|
28
|
-
<path
|
|
29
|
-
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
30
|
-
fill="none"
|
|
31
|
-
strokeLinecap="round"
|
|
32
|
-
/>
|
|
33
|
-
<path
|
|
34
|
-
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
35
|
-
fill="currentColor"
|
|
36
|
-
strokeLinecap="round"
|
|
37
|
-
/>
|
|
38
|
-
<circle
|
|
39
|
-
cx="12"
|
|
40
|
-
cy="12"
|
|
41
|
-
fill="none"
|
|
42
|
-
r="11.25"
|
|
43
|
-
strokeMiterlimit="10"
|
|
44
|
-
/>
|
|
45
|
-
</g>
|
|
46
|
-
</svg>
|
|
47
|
-
<h4
|
|
48
|
-
className="chakra-heading css-1xdhyk6"
|
|
49
|
-
id="notificationID1-heading"
|
|
50
|
-
>
|
|
51
|
-
Notification Heading
|
|
52
|
-
</h4>
|
|
53
|
-
</header>
|
|
54
|
-
<div
|
|
55
|
-
className="css-1xdhyk6"
|
|
56
|
-
>
|
|
57
|
-
<div
|
|
58
|
-
className="css-0"
|
|
59
|
-
>
|
|
60
|
-
Notification content.
|
|
61
|
-
</div>
|
|
62
|
-
</div>
|
|
63
|
-
</div>
|
|
64
|
-
</aside>
|
|
65
|
-
`;
|
|
66
|
-
|
|
67
|
-
exports[`Notification renders the UI snapshot correctly 2`] = `
|
|
68
|
-
<aside
|
|
69
|
-
className="css-1xdhyk6"
|
|
70
|
-
data-type="announcement"
|
|
71
|
-
id="notificationID2"
|
|
72
|
-
>
|
|
73
|
-
<div
|
|
74
|
-
className="css-0"
|
|
75
|
-
>
|
|
76
|
-
<header
|
|
77
|
-
className="css-1xdhyk6"
|
|
78
|
-
>
|
|
79
|
-
<svg
|
|
80
|
-
aria-hidden={true}
|
|
81
|
-
className="chakra-icon css-u7u798"
|
|
82
|
-
focusable={false}
|
|
83
|
-
id="notificationID2-notification-icon"
|
|
84
|
-
role="img"
|
|
85
|
-
title="Notification announcement icon"
|
|
86
|
-
viewBox="0 0 24 24"
|
|
87
|
-
>
|
|
88
|
-
<g
|
|
89
|
-
stroke="currentColor"
|
|
90
|
-
strokeWidth="1.5"
|
|
91
|
-
>
|
|
92
|
-
<path
|
|
93
|
-
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
94
|
-
fill="none"
|
|
95
|
-
strokeLinecap="round"
|
|
96
|
-
/>
|
|
97
|
-
<path
|
|
98
|
-
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
99
|
-
fill="currentColor"
|
|
100
|
-
strokeLinecap="round"
|
|
101
|
-
/>
|
|
102
|
-
<circle
|
|
103
|
-
cx="12"
|
|
104
|
-
cy="12"
|
|
105
|
-
fill="none"
|
|
106
|
-
r="11.25"
|
|
107
|
-
strokeMiterlimit="10"
|
|
108
|
-
/>
|
|
109
|
-
</g>
|
|
110
|
-
</svg>
|
|
111
|
-
<h4
|
|
112
|
-
className="chakra-heading css-1xdhyk6"
|
|
113
|
-
id="notificationID2-heading"
|
|
114
|
-
>
|
|
115
|
-
Notification Heading
|
|
116
|
-
</h4>
|
|
117
|
-
</header>
|
|
118
|
-
<div
|
|
119
|
-
className="css-1xdhyk6"
|
|
120
|
-
>
|
|
121
|
-
<div
|
|
122
|
-
className="css-0"
|
|
123
|
-
>
|
|
124
|
-
Notification content.
|
|
125
|
-
</div>
|
|
126
|
-
</div>
|
|
127
|
-
</div>
|
|
128
|
-
</aside>
|
|
129
|
-
`;
|
|
130
|
-
|
|
131
|
-
exports[`Notification renders the UI snapshot correctly 3`] = `
|
|
132
|
-
<aside
|
|
133
|
-
className="css-1xdhyk6"
|
|
134
|
-
data-type="warning"
|
|
135
|
-
id="notificationID3"
|
|
136
|
-
>
|
|
137
|
-
<div
|
|
138
|
-
className="css-0"
|
|
139
|
-
>
|
|
140
|
-
<header
|
|
141
|
-
className="css-1xdhyk6"
|
|
142
|
-
>
|
|
143
|
-
<svg
|
|
144
|
-
aria-hidden={true}
|
|
145
|
-
className="chakra-icon css-zzgjc6"
|
|
146
|
-
focusable={false}
|
|
147
|
-
id="notificationID3-notification-icon"
|
|
148
|
-
role="img"
|
|
149
|
-
title="Notification warning icon"
|
|
150
|
-
viewBox="0 0 24 24"
|
|
151
|
-
>
|
|
152
|
-
<g
|
|
153
|
-
stroke="currentColor"
|
|
154
|
-
strokeWidth="1.5"
|
|
155
|
-
>
|
|
156
|
-
<path
|
|
157
|
-
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
158
|
-
fill="none"
|
|
159
|
-
strokeLinecap="round"
|
|
160
|
-
/>
|
|
161
|
-
<path
|
|
162
|
-
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
163
|
-
fill="currentColor"
|
|
164
|
-
strokeLinecap="round"
|
|
165
|
-
/>
|
|
166
|
-
<circle
|
|
167
|
-
cx="12"
|
|
168
|
-
cy="12"
|
|
169
|
-
fill="none"
|
|
170
|
-
r="11.25"
|
|
171
|
-
strokeMiterlimit="10"
|
|
172
|
-
/>
|
|
173
|
-
</g>
|
|
174
|
-
</svg>
|
|
175
|
-
<h4
|
|
176
|
-
className="chakra-heading css-1xdhyk6"
|
|
177
|
-
id="notificationID3-heading"
|
|
178
|
-
>
|
|
179
|
-
Notification Heading
|
|
180
|
-
</h4>
|
|
181
|
-
</header>
|
|
182
|
-
<div
|
|
183
|
-
className="css-1xdhyk6"
|
|
184
|
-
>
|
|
185
|
-
<div
|
|
186
|
-
className="css-0"
|
|
187
|
-
>
|
|
188
|
-
Notification content.
|
|
189
|
-
</div>
|
|
190
|
-
</div>
|
|
191
|
-
</div>
|
|
192
|
-
</aside>
|
|
193
|
-
`;
|
|
194
|
-
|
|
195
|
-
exports[`Notification renders the UI snapshot correctly 4`] = `
|
|
196
|
-
<aside
|
|
197
|
-
className="css-1xdhyk6"
|
|
198
|
-
data-type="standard"
|
|
199
|
-
id="notificationID4"
|
|
200
|
-
>
|
|
201
|
-
<div
|
|
202
|
-
className="css-0"
|
|
203
|
-
>
|
|
204
|
-
<div
|
|
205
|
-
className="css-1xdhyk6"
|
|
206
|
-
>
|
|
207
|
-
<svg
|
|
208
|
-
aria-hidden={true}
|
|
209
|
-
className="chakra-icon css-q3eg3a"
|
|
210
|
-
focusable={false}
|
|
211
|
-
id="notificationID4-notification-icon"
|
|
212
|
-
role="img"
|
|
213
|
-
title="Notification standard icon"
|
|
214
|
-
viewBox="0 0 24 24"
|
|
215
|
-
>
|
|
216
|
-
<g
|
|
217
|
-
stroke="currentColor"
|
|
218
|
-
strokeWidth="1.5"
|
|
219
|
-
>
|
|
220
|
-
<path
|
|
221
|
-
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
222
|
-
fill="none"
|
|
223
|
-
strokeLinecap="round"
|
|
224
|
-
/>
|
|
225
|
-
<path
|
|
226
|
-
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
227
|
-
fill="currentColor"
|
|
228
|
-
strokeLinecap="round"
|
|
229
|
-
/>
|
|
230
|
-
<circle
|
|
231
|
-
cx="12"
|
|
232
|
-
cy="12"
|
|
233
|
-
fill="none"
|
|
234
|
-
r="11.25"
|
|
235
|
-
strokeMiterlimit="10"
|
|
236
|
-
/>
|
|
237
|
-
</g>
|
|
238
|
-
</svg>
|
|
239
|
-
<div
|
|
240
|
-
className="css-0"
|
|
241
|
-
>
|
|
242
|
-
Notification content.
|
|
243
|
-
</div>
|
|
244
|
-
</div>
|
|
245
|
-
</div>
|
|
246
|
-
</aside>
|
|
247
|
-
`;
|
|
248
|
-
|
|
249
|
-
exports[`Notification renders the UI snapshot correctly 5`] = `
|
|
250
|
-
<aside
|
|
251
|
-
className="css-1xdhyk6"
|
|
252
|
-
data-type="standard"
|
|
253
|
-
id="notificationID5"
|
|
254
|
-
>
|
|
255
|
-
<div
|
|
256
|
-
className="css-0"
|
|
257
|
-
>
|
|
258
|
-
<header
|
|
259
|
-
className="css-1xdhyk6"
|
|
260
|
-
>
|
|
261
|
-
<h4
|
|
262
|
-
className="chakra-heading css-1xdhyk6"
|
|
263
|
-
id="notificationID5-heading"
|
|
264
|
-
>
|
|
265
|
-
Notification Heading
|
|
266
|
-
</h4>
|
|
267
|
-
</header>
|
|
268
|
-
<div
|
|
269
|
-
className="css-1xdhyk6"
|
|
270
|
-
>
|
|
271
|
-
<div
|
|
272
|
-
className="css-0"
|
|
273
|
-
>
|
|
274
|
-
Notification content.
|
|
275
|
-
</div>
|
|
276
|
-
</div>
|
|
277
|
-
</div>
|
|
278
|
-
</aside>
|
|
279
|
-
`;
|
|
280
|
-
|
|
281
|
-
exports[`Notification renders the UI snapshot correctly 6`] = `
|
|
282
|
-
<aside
|
|
283
|
-
className="css-1xdhyk6"
|
|
284
|
-
data-type="standard"
|
|
285
|
-
id="notificationID6"
|
|
286
|
-
>
|
|
287
|
-
<div
|
|
288
|
-
className="css-0"
|
|
289
|
-
>
|
|
290
|
-
<div
|
|
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"
|
|
516
|
-
>
|
|
517
|
-
<div
|
|
518
|
-
className="css-0"
|
|
519
|
-
>
|
|
520
|
-
Notification content.
|
|
521
|
-
</div>
|
|
522
|
-
</div>
|
|
523
|
-
</div>
|
|
524
|
-
</aside>
|
|
525
|
-
`;
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import { useState } from "react";
|
|
2
|
-
import { VStack } from "@chakra-ui/react";
|
|
3
|
-
import {
|
|
4
|
-
ArgsTable,
|
|
5
|
-
Canvas,
|
|
6
|
-
Description,
|
|
7
|
-
Meta,
|
|
8
|
-
Story,
|
|
9
|
-
} from "@storybook/addon-docs";
|
|
10
|
-
import { withDesign } from "storybook-addon-designs";
|
|
11
|
-
|
|
12
|
-
import Button from "../Button/Button";
|
|
13
|
-
import DSProvider from "../../theme/provider";
|
|
14
|
-
import Pagination from "./Pagination";
|
|
15
|
-
import { getCategory } from "../../utils/componentCategories";
|
|
16
|
-
import { getStorybookHrefProps } from "../../utils/utils";
|
|
17
|
-
|
|
18
|
-
export const hrefProps = getStorybookHrefProps(10);
|
|
19
|
-
|
|
20
|
-
<Meta
|
|
21
|
-
title={getCategory("Pagination")}
|
|
22
|
-
component={Pagination}
|
|
23
|
-
decorators={[withDesign]}
|
|
24
|
-
parameters={{
|
|
25
|
-
design: {
|
|
26
|
-
type: "figma",
|
|
27
|
-
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=17226%3A932",
|
|
28
|
-
},
|
|
29
|
-
jest: ["Pagination.test.tsx"],
|
|
30
|
-
}}
|
|
31
|
-
argTypes={{
|
|
32
|
-
className: { control: false },
|
|
33
|
-
currentPage: { control: false },
|
|
34
|
-
getPageHref: { control: false },
|
|
35
|
-
id: { control: false },
|
|
36
|
-
initialPage: { table: { defaultValue: { summary: 1 } } },
|
|
37
|
-
onPageChange: { control: false },
|
|
38
|
-
}}
|
|
39
|
-
/>
|
|
40
|
-
|
|
41
|
-
# Pagination
|
|
42
|
-
|
|
43
|
-
| Component Version | DS Version |
|
|
44
|
-
| ----------------- | ---------- |
|
|
45
|
-
| Added | `0.0.10` |
|
|
46
|
-
| Latest | `0.28.0` |
|
|
47
|
-
|
|
48
|
-
## Table of Contents
|
|
49
|
-
|
|
50
|
-
- [Overview](#overview)
|
|
51
|
-
- [Accessibility](#accessibility)
|
|
52
|
-
- [Pagination with URL Updates](#pagination-with-url-updates)
|
|
53
|
-
- [Pagination with Unchanging URL](#pagination-with-unchanging-url)
|
|
54
|
-
|
|
55
|
-
## Overview
|
|
56
|
-
|
|
57
|
-
<Description of={Pagination} />
|
|
58
|
-
|
|
59
|
-
The `Pagination` component helps navigate between pages of a multi-page
|
|
60
|
-
application. It is commonly used on a search results page. Update the `pageCount`
|
|
61
|
-
prop in the Controls to explore this component with many or few pages.
|
|
62
|
-
|
|
63
|
-
## Accessibility
|
|
64
|
-
|
|
65
|
-
Internally, the `Pagination` component is implemented with a `<nav>` element with
|
|
66
|
-
an `aria-label` attribute of `"Pagination"` and an unordered `<ul>` element. This
|
|
67
|
-
component uses anchor `<a>` tags because it is navigating between URLs. In the
|
|
68
|
-
"unchanging URL" variation, each anchor tag has an `href` attribute with a value
|
|
69
|
-
of `"#"`, because the URL is not changing.
|
|
70
|
-
|
|
71
|
-
Resources:
|
|
72
|
-
|
|
73
|
-
- [W3C Design System Pagination](https://design-system.w3.org/components/pagination.html)
|
|
74
|
-
- [a11ymatters Accessible Pagination](https://www.a11ymatters.com/pattern/pagination/)
|
|
75
|
-
|
|
76
|
-
## Pagination with URL Updates
|
|
77
|
-
|
|
78
|
-
In order to update the URL with a query parameter, the parent component must
|
|
79
|
-
declare and pass a `getPageHref` function to the `Pagination` component. This
|
|
80
|
-
function takes a `selectedPage` number argument for the selected page and it
|
|
81
|
-
should return a string with the desired URL that the pagination links should go
|
|
82
|
-
to. Note that this will refresh the browser on every click.
|
|
83
|
-
|
|
84
|
-
In the following example, the `getPageHref` function will compute a new URL that
|
|
85
|
-
has `&page=` as a URL query. In your own application this query parameter can be
|
|
86
|
-
named anything but you have to pick up the value in the wrapper component.
|
|
87
|
-
|
|
88
|
-
```tsx
|
|
89
|
-
// Example in a search results page.
|
|
90
|
-
const getPageHref = (selectedPage: number) => {
|
|
91
|
-
// This should be updated for your router system, if any, including the
|
|
92
|
-
// base or origin URL.
|
|
93
|
-
return `${location.origin}?q=celeste&page=${selectedPage}`;
|
|
94
|
-
};
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
<Canvas withToolbar>
|
|
98
|
-
<Story
|
|
99
|
-
name="Pagination with URL Updates"
|
|
100
|
-
args={{
|
|
101
|
-
className: undefined,
|
|
102
|
-
getPageHref: hrefProps.getPageHref,
|
|
103
|
-
id: "pagination-id",
|
|
104
|
-
initialPage: hrefProps.computedCurrentPage || 1,
|
|
105
|
-
pageCount: 10,
|
|
106
|
-
}}
|
|
107
|
-
>
|
|
108
|
-
{(args) => <Pagination {...args} onPageChange={undefined} />}
|
|
109
|
-
</Story>
|
|
110
|
-
</Canvas>
|
|
111
|
-
|
|
112
|
-
<ArgsTable story="Pagination with URL Updates" />
|
|
113
|
-
|
|
114
|
-
## Pagination with Unchanging URL
|
|
115
|
-
|
|
116
|
-
It is preferred to use the `Pagination` component with the `getPageHref`
|
|
117
|
-
function passed as a prop and that the URL is updated whenever a page is
|
|
118
|
-
changed. However, the optional `onPageChange` prop is available in case URL
|
|
119
|
-
updating is not desired.
|
|
120
|
-
|
|
121
|
-
In the following example, the `onPageChange` function gets the selected page as
|
|
122
|
-
its only function argument. This is computed internally in the `Pagination`
|
|
123
|
-
component through its own state.
|
|
124
|
-
|
|
125
|
-
```tsx
|
|
126
|
-
// Example in a search results page.
|
|
127
|
-
const onPageChange = (selectedPage: number) => {
|
|
128
|
-
console.log(`Current page: ${selectedPage}`);
|
|
129
|
-
// Do what you need to with the `currentPage` value.
|
|
130
|
-
};
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
<Canvas withToolbar>
|
|
134
|
-
<Story
|
|
135
|
-
name="Pagination with Unchanging URL"
|
|
136
|
-
args={{
|
|
137
|
-
className: undefined,
|
|
138
|
-
id: "pagination-id-2",
|
|
139
|
-
initialPage: 7,
|
|
140
|
-
onPageChange: (selectedPage) => {
|
|
141
|
-
console.log(`Current page: ${selectedPage}`);
|
|
142
|
-
},
|
|
143
|
-
pageCount: 100,
|
|
144
|
-
}}
|
|
145
|
-
>
|
|
146
|
-
{(args) => <Pagination {...args} getPageHref={undefined} />}
|
|
147
|
-
</Story>
|
|
148
|
-
</Canvas>
|
|
149
|
-
|
|
150
|
-
### Forcing a Page Change Programmatically
|
|
151
|
-
|
|
152
|
-
There may be circumstances when you want to programmatically force the page
|
|
153
|
-
number to change without the user explicitly requesting it (for example, if
|
|
154
|
-
you want a user to be brought back to page 1 after entering a new search term).
|
|
155
|
-
You can use the `currentPage` prop to do this. Note, the `currentPage` prop can
|
|
156
|
-
only be used with the client-side, unchanging URL version of the `Pagination`
|
|
157
|
-
component, and in combination with the `onPageChange` function.
|
|
158
|
-
|
|
159
|
-
The following example shows that the user can be brought to page 1 without clicking
|
|
160
|
-
on the `Pagination` component.
|
|
161
|
-
|
|
162
|
-
export function CurrentPagePaginationExample() {
|
|
163
|
-
const [page, setPage] = useState(1);
|
|
164
|
-
const handleClick = () => setPage(1);
|
|
165
|
-
const handleSelection = (selectedPage) => setPage(selectedPage);
|
|
166
|
-
return (
|
|
167
|
-
<VStack align="start" spacing={6}>
|
|
168
|
-
<Pagination
|
|
169
|
-
pageCount={10}
|
|
170
|
-
currentPage={page}
|
|
171
|
-
onPageChange={(selectedPage) => handleSelection(selectedPage)}
|
|
172
|
-
/>
|
|
173
|
-
<Button id="go-to-btn" type="button" onClick={handleClick}>
|
|
174
|
-
Go to Page 1
|
|
175
|
-
</Button>
|
|
176
|
-
</VStack>
|
|
177
|
-
);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
<Canvas>
|
|
181
|
-
<DSProvider>
|
|
182
|
-
<CurrentPagePaginationExample />
|
|
183
|
-
</DSProvider>
|
|
184
|
-
</Canvas>
|