@nypl/design-system-react-components 1.0.2 → 1.0.4
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 +53 -0
- package/README.md +171 -135
- package/dist/__tests__/mediaMatchMock.d.ts +79 -0
- package/dist/components/Card/Card.d.ts +8 -6
- package/dist/components/Heading/Heading.d.ts +6 -0
- package/dist/components/Icons/Icon.d.ts +1 -1
- package/dist/components/Icons/IconSvgs.d.ts +10 -0
- package/dist/components/Logo/Logo.d.ts +1 -1
- package/dist/components/Logo/LogoSvgs.d.ts +3 -0
- package/dist/components/Slider/Slider.d.ts +1 -2
- package/dist/components/Table/Table.d.ts +3 -2
- package/dist/components/Text/Text.d.ts +6 -0
- package/dist/components/TextInput/TextInput.d.ts +2 -1
- package/dist/design-system-react-components.cjs.development.js +1700 -878
- 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 +1672 -881
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/hooks/{tests → __tests__}/useCarouselStyles.test.d.ts +0 -0
- package/dist/hooks/__tests__/useNYPLBreakpoints.test.d.ts +1 -0
- package/dist/hooks/useNYPLBreakpoints.d.ts +13 -0
- package/dist/index.d.ts +2 -1
- package/dist/resources.scss +0 -4
- package/dist/styles.css +3 -2
- package/dist/theme/components/button.d.ts +7 -2
- package/dist/theme/components/checkbox.d.ts +1 -0
- package/dist/theme/components/customTable.d.ts +522 -34
- package/dist/theme/components/datePicker.d.ts +1 -0
- package/dist/theme/components/global.d.ts +5 -2
- package/dist/theme/components/heading.d.ts +5 -1
- package/dist/theme/components/image.d.ts +18 -0
- package/dist/theme/components/radio.d.ts +9 -0
- package/dist/theme/components/searchBar.d.ts +6 -0
- package/dist/theme/components/select.d.ts +4 -5
- package/dist/theme/components/structuredContent.d.ts +117 -17
- package/dist/theme/components/template.d.ts +4 -1
- package/dist/theme/components/text.d.ts +5 -1
- package/dist/theme/components/textInput.d.ts +4 -0
- package/dist/theme/components/toggle.d.ts +1 -0
- package/dist/theme/provider.d.ts +2 -1
- package/package.json +16 -16
- 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,360 +0,0 @@
|
|
|
1
|
-
import { Box } from "@chakra-ui/react";
|
|
2
|
-
import {
|
|
3
|
-
ArgsTable,
|
|
4
|
-
Canvas,
|
|
5
|
-
Description,
|
|
6
|
-
Meta,
|
|
7
|
-
Story,
|
|
8
|
-
} from "@storybook/addon-docs";
|
|
9
|
-
import { withDesign } from "storybook-addon-designs";
|
|
10
|
-
|
|
11
|
-
import ProgressIndicator from "./ProgressIndicator";
|
|
12
|
-
import SimpleGrid from "../Grid/SimpleGrid";
|
|
13
|
-
import { getCategory } from "../../utils/componentCategories";
|
|
14
|
-
import DSProvider from "../../theme/provider";
|
|
15
|
-
|
|
16
|
-
<Meta
|
|
17
|
-
title={getCategory("ProgressIndicator")}
|
|
18
|
-
component={ProgressIndicator}
|
|
19
|
-
decorators={[withDesign]}
|
|
20
|
-
parameters={{
|
|
21
|
-
design: {
|
|
22
|
-
type: "figma",
|
|
23
|
-
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=37638%3A23842",
|
|
24
|
-
},
|
|
25
|
-
jest: ["ProgressIndicator.test.tsx"],
|
|
26
|
-
}}
|
|
27
|
-
argTypes={{
|
|
28
|
-
darkMode: {
|
|
29
|
-
table: { defaultValue: { summary: false } },
|
|
30
|
-
},
|
|
31
|
-
id: { control: false },
|
|
32
|
-
indicatorType: {
|
|
33
|
-
table: { defaultValue: { summary: "linear" } },
|
|
34
|
-
},
|
|
35
|
-
isIndeterminate: {
|
|
36
|
-
table: { defaultValue: { summary: false } },
|
|
37
|
-
},
|
|
38
|
-
showLabel: {
|
|
39
|
-
table: { defaultValue: { summary: true } },
|
|
40
|
-
},
|
|
41
|
-
size: {
|
|
42
|
-
table: { defaultValue: { summary: "default" } },
|
|
43
|
-
},
|
|
44
|
-
value: {
|
|
45
|
-
table: { defaultValue: { summary: 0 } },
|
|
46
|
-
},
|
|
47
|
-
}}
|
|
48
|
-
/>
|
|
49
|
-
|
|
50
|
-
# ProgressIndicator
|
|
51
|
-
|
|
52
|
-
| Component Version | DS Version |
|
|
53
|
-
| ----------------- | ---------- |
|
|
54
|
-
| Added | `0.25.4` |
|
|
55
|
-
| Latest | `0.28.0` |
|
|
56
|
-
|
|
57
|
-
## Table of Contents
|
|
58
|
-
|
|
59
|
-
- [Overview](#overview)
|
|
60
|
-
- [Component Props](#component-props)
|
|
61
|
-
- [Accessibility](#accessibility)
|
|
62
|
-
- [Linear Type](#linear-type)
|
|
63
|
-
- [Circular Type](#circular-type)
|
|
64
|
-
- [Sizing](#sizing)
|
|
65
|
-
- [Labels](#labels)
|
|
66
|
-
- [Indeterminate State](#indeterminate-state)
|
|
67
|
-
- [Dark Mode](#dark-mode)
|
|
68
|
-
- [Get Input Values](#get-input-values)
|
|
69
|
-
|
|
70
|
-
## Overview
|
|
71
|
-
|
|
72
|
-
<Description of={ProgressIndicator} />
|
|
73
|
-
|
|
74
|
-
## Component Props
|
|
75
|
-
|
|
76
|
-
<Canvas withToolbar>
|
|
77
|
-
<Story
|
|
78
|
-
name="ProgressIndicator with Controls"
|
|
79
|
-
args={{
|
|
80
|
-
darkMode: false,
|
|
81
|
-
id: "progressIndicator-id",
|
|
82
|
-
indicatorType: "linear",
|
|
83
|
-
isIndeterminate: false,
|
|
84
|
-
labelText: "Progress",
|
|
85
|
-
showLabel: true,
|
|
86
|
-
size: "default",
|
|
87
|
-
value: 50,
|
|
88
|
-
}}
|
|
89
|
-
>
|
|
90
|
-
{(args) => <ProgressIndicator {...args} />}
|
|
91
|
-
</Story>
|
|
92
|
-
</Canvas>
|
|
93
|
-
|
|
94
|
-
<ArgsTable story="ProgressIndicator with Controls" />
|
|
95
|
-
|
|
96
|
-
## Accessibility
|
|
97
|
-
|
|
98
|
-
Chakra UI takes care of the internal accessibility attributes for this component.
|
|
99
|
-
Specifically, the `role` attribute is set to `progressbar` and the `aria-valuenow`
|
|
100
|
-
attribute is set to the value of the `value` prop, or the percentage completion
|
|
101
|
-
value. The min and max values are set to "0" and "100", respectively, and are set
|
|
102
|
-
with the `aria-valuemin` and `aria-valuemax` attributes. This makes this
|
|
103
|
-
component and its value(s) visible to screen readers.
|
|
104
|
-
|
|
105
|
-
When `showLabel` is set to false, the `labelText` value will be set to the
|
|
106
|
-
main `<div>`'s `aria-label` attribute. This is the same div that contains the
|
|
107
|
-
`aria-valuemin`, `aria-valuemax`, and `aria-valuenow` attributes.
|
|
108
|
-
|
|
109
|
-
Resources:
|
|
110
|
-
|
|
111
|
-
- [DigitalA11y WAI-ARIA: ROLE=PROGRESSBAR](https://www.digitala11y.com/progressbar-role/)
|
|
112
|
-
- [MDN Using the progressbar role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_progressbar_role)
|
|
113
|
-
- [Chakra UI Progress](https://chakra-ui.com/docs/components/feedback/progress)
|
|
114
|
-
- [Chakra UI Circular Progress](https://chakra-ui.com/docs/components/feedback/circular-progress)
|
|
115
|
-
|
|
116
|
-
## Linear Type
|
|
117
|
-
|
|
118
|
-
Progress bars are preferred in vertically narrow areas such as tables, cards,
|
|
119
|
-
dialogs, etc.
|
|
120
|
-
|
|
121
|
-
<Canvas>
|
|
122
|
-
<Story
|
|
123
|
-
name="Linear Type"
|
|
124
|
-
argTypes={{
|
|
125
|
-
indicatorType: { table: { disable: true } },
|
|
126
|
-
}}
|
|
127
|
-
>
|
|
128
|
-
<ProgressIndicator
|
|
129
|
-
id="linear"
|
|
130
|
-
indicatorType="linear"
|
|
131
|
-
labelText="Linear Progress Type"
|
|
132
|
-
value={50}
|
|
133
|
-
/>
|
|
134
|
-
</Story>
|
|
135
|
-
</Canvas>
|
|
136
|
-
|
|
137
|
-
## Circular Type
|
|
138
|
-
|
|
139
|
-
The circular progress type is preferred for large content areas and for
|
|
140
|
-
full-screen loading. Set the `indicatorType` prop to `"circular"` for this type.
|
|
141
|
-
|
|
142
|
-
<Canvas>
|
|
143
|
-
<Story
|
|
144
|
-
name="Circular Type"
|
|
145
|
-
argTypes={{
|
|
146
|
-
indicatorType: { table: { disable: true } },
|
|
147
|
-
}}
|
|
148
|
-
>
|
|
149
|
-
<ProgressIndicator
|
|
150
|
-
id="circular"
|
|
151
|
-
indicatorType="circular"
|
|
152
|
-
labelText="Linear Progress Type"
|
|
153
|
-
value={50}
|
|
154
|
-
/>
|
|
155
|
-
</Story>
|
|
156
|
-
</Canvas>
|
|
157
|
-
|
|
158
|
-
## Sizing
|
|
159
|
-
|
|
160
|
-
The starting height for the progress bar is 4px on mobile and 8px for desktop.
|
|
161
|
-
The `size` prop can be used to optionally set the height to 4px for desktop
|
|
162
|
-
through the `ProgressIndicatorSizes.Small` value.
|
|
163
|
-
|
|
164
|
-
`size="small"`
|
|
165
|
-
|
|
166
|
-
<Canvas>
|
|
167
|
-
<DSProvider>
|
|
168
|
-
<SimpleGrid columns={1} gap="grid.m">
|
|
169
|
-
<ProgressIndicator
|
|
170
|
-
id="default-size"
|
|
171
|
-
labelText="Default 8px size"
|
|
172
|
-
value={50}
|
|
173
|
-
/>
|
|
174
|
-
<ProgressIndicator
|
|
175
|
-
id="small-size"
|
|
176
|
-
labelText="Small 4px size"
|
|
177
|
-
size="small"
|
|
178
|
-
value={50}
|
|
179
|
-
/>
|
|
180
|
-
</SimpleGrid>
|
|
181
|
-
</DSProvider>
|
|
182
|
-
</Canvas>
|
|
183
|
-
|
|
184
|
-
The starting size for the circular progress is 48px and can be made smaller to
|
|
185
|
-
24px with the `size` prop. The small 24px size can be used for inline local
|
|
186
|
-
changes in content. Note that in the small size, the label text and the
|
|
187
|
-
percentage will not displayed.
|
|
188
|
-
|
|
189
|
-
`size="small"`
|
|
190
|
-
|
|
191
|
-
<Canvas>
|
|
192
|
-
<DSProvider>
|
|
193
|
-
<SimpleGrid columns={1} gap="grid.m">
|
|
194
|
-
<ProgressIndicator
|
|
195
|
-
id="default-size"
|
|
196
|
-
indicatorType="circular"
|
|
197
|
-
labelText="Default 48px size"
|
|
198
|
-
value={50}
|
|
199
|
-
/>
|
|
200
|
-
<ProgressIndicator
|
|
201
|
-
id="small-size"
|
|
202
|
-
indicatorType="circular"
|
|
203
|
-
labelText="Small 24px size"
|
|
204
|
-
size="small"
|
|
205
|
-
value={50}
|
|
206
|
-
/>
|
|
207
|
-
</SimpleGrid>
|
|
208
|
-
</DSProvider>
|
|
209
|
-
</Canvas>
|
|
210
|
-
|
|
211
|
-
## Labels
|
|
212
|
-
|
|
213
|
-
The `labelText` value and the `value` percentage are displayed by default. They
|
|
214
|
-
can be hidden through the `showLabel` prop.
|
|
215
|
-
|
|
216
|
-
`showLabel={false}`
|
|
217
|
-
|
|
218
|
-
Accessibility Note: when `showLabel` is false, the `aria-label` prop is set in
|
|
219
|
-
the progress element to provide a description of the progress for screen readers.
|
|
220
|
-
|
|
221
|
-
<Canvas>
|
|
222
|
-
<DSProvider>
|
|
223
|
-
<SimpleGrid columns={1} gap="grid.m">
|
|
224
|
-
<ProgressIndicator
|
|
225
|
-
id="label"
|
|
226
|
-
labelText="This label will be added through aria-label"
|
|
227
|
-
showLabel={false}
|
|
228
|
-
value={50}
|
|
229
|
-
/>
|
|
230
|
-
<ProgressIndicator
|
|
231
|
-
id="label-hidden"
|
|
232
|
-
indicatorType="circular"
|
|
233
|
-
labelText="This label will be added through aria-label"
|
|
234
|
-
showLabel={false}
|
|
235
|
-
value={50}
|
|
236
|
-
/>
|
|
237
|
-
</SimpleGrid>
|
|
238
|
-
</DSProvider>
|
|
239
|
-
</Canvas>
|
|
240
|
-
|
|
241
|
-
## Indeterminate State
|
|
242
|
-
|
|
243
|
-
When the `isIndeterminate` prop is set to true, the `value` prop is ignored and
|
|
244
|
-
the state is set to an animated indeterminate state. This is often used when the
|
|
245
|
-
exact value or progress of the task is unknown.
|
|
246
|
-
|
|
247
|
-
<Canvas>
|
|
248
|
-
<DSProvider>
|
|
249
|
-
<SimpleGrid columns={1} gap="grid.m">
|
|
250
|
-
<ProgressIndicator
|
|
251
|
-
id="indeterminate"
|
|
252
|
-
isIndeterminate
|
|
253
|
-
labelText="Indeterminate state"
|
|
254
|
-
value={50}
|
|
255
|
-
/>
|
|
256
|
-
<ProgressIndicator
|
|
257
|
-
id="indeterminate-circular"
|
|
258
|
-
indicatorType="circular"
|
|
259
|
-
isIndeterminate
|
|
260
|
-
labelText="Indeterminate state"
|
|
261
|
-
value={50}
|
|
262
|
-
/>
|
|
263
|
-
</SimpleGrid>
|
|
264
|
-
</DSProvider>
|
|
265
|
-
</Canvas>
|
|
266
|
-
|
|
267
|
-
## Dark Mode
|
|
268
|
-
|
|
269
|
-
When in "dark mode", set the `darkMode` prop to true. This will render the
|
|
270
|
-
progress bar and the label text in white for better contrast.
|
|
271
|
-
|
|
272
|
-
Note: the background is manually set to better showcase the `darkMode` prop.
|
|
273
|
-
|
|
274
|
-
<Canvas>
|
|
275
|
-
<DSProvider>
|
|
276
|
-
<Box bg="black" w="100%" h="200px" p="20px">
|
|
277
|
-
<SimpleGrid columns={1} gap="grid.m">
|
|
278
|
-
<ProgressIndicator
|
|
279
|
-
darkMode
|
|
280
|
-
id="darkmode"
|
|
281
|
-
labelText="Dark Mode"
|
|
282
|
-
value={50}
|
|
283
|
-
/>
|
|
284
|
-
<ProgressIndicator
|
|
285
|
-
darkMode
|
|
286
|
-
id="darkmode-circular"
|
|
287
|
-
indicatorType="circular"
|
|
288
|
-
labelText="Dark Mode"
|
|
289
|
-
value={50}
|
|
290
|
-
/>
|
|
291
|
-
</SimpleGrid>
|
|
292
|
-
</Box>
|
|
293
|
-
</DSProvider>
|
|
294
|
-
</Canvas>
|
|
295
|
-
|
|
296
|
-
## Get Input Values
|
|
297
|
-
|
|
298
|
-
In the following example, we are setting the `value` prop based on a timer that
|
|
299
|
-
increases the value every second by 10. Once it reaches 100, it resets to 0.
|
|
300
|
-
This is a very simple example using `React.useState` to manage the state but in
|
|
301
|
-
a real application the value would come from a data source or server.
|
|
302
|
-
|
|
303
|
-
```tsx
|
|
304
|
-
// Example code
|
|
305
|
-
function ProgressIndicatorExample() {
|
|
306
|
-
const [value, setValue] = React.useState(0);
|
|
307
|
-
React.useEffect(() => {
|
|
308
|
-
const interval = setInterval(() => {
|
|
309
|
-
setValue((value) => (value === 100 ? 0 : value + 10));
|
|
310
|
-
}, 1000);
|
|
311
|
-
return () => clearInterval(interval);
|
|
312
|
-
}, []);
|
|
313
|
-
return (
|
|
314
|
-
<SimpleGrid columns={1} gap="grid.m">
|
|
315
|
-
<ProgressIndicator
|
|
316
|
-
id="example"
|
|
317
|
-
labelText="Progress example"
|
|
318
|
-
value={value}
|
|
319
|
-
/>
|
|
320
|
-
<ProgressIndicator
|
|
321
|
-
id="example-circular"
|
|
322
|
-
indicatorType="circular"
|
|
323
|
-
labelText="Progress example"
|
|
324
|
-
value={value}
|
|
325
|
-
/>
|
|
326
|
-
</SimpleGrid>
|
|
327
|
-
);
|
|
328
|
-
}
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
export function ProgressIndicatorExample() {
|
|
332
|
-
const [value, setValue] = React.useState(0);
|
|
333
|
-
React.useEffect(() => {
|
|
334
|
-
const interval = setInterval(() => {
|
|
335
|
-
setValue((value) => (value === 100 ? 0 : value + 10));
|
|
336
|
-
}, 1000);
|
|
337
|
-
return () => clearInterval(interval);
|
|
338
|
-
}, []);
|
|
339
|
-
return (
|
|
340
|
-
<SimpleGrid columns={1} gap="grid.m">
|
|
341
|
-
<ProgressIndicator
|
|
342
|
-
id="example"
|
|
343
|
-
labelText="Progress example"
|
|
344
|
-
value={value}
|
|
345
|
-
/>
|
|
346
|
-
<ProgressIndicator
|
|
347
|
-
id="example-circular"
|
|
348
|
-
indicatorType="circular"
|
|
349
|
-
labelText="Progress example"
|
|
350
|
-
value={value}
|
|
351
|
-
/>
|
|
352
|
-
</SimpleGrid>
|
|
353
|
-
);
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
<Canvas>
|
|
357
|
-
<DSProvider>
|
|
358
|
-
<ProgressIndicatorExample />
|
|
359
|
-
</DSProvider>
|
|
360
|
-
</Canvas>
|
|
@@ -1,298 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { render, screen } from "@testing-library/react";
|
|
3
|
-
import { axe } from "jest-axe";
|
|
4
|
-
import renderer from "react-test-renderer";
|
|
5
|
-
|
|
6
|
-
import ProgressIndicator from "./ProgressIndicator";
|
|
7
|
-
|
|
8
|
-
describe("ProgressIndicator Accessibility", () => {
|
|
9
|
-
it("passes axe accessibility for linear and circular types", async () => {
|
|
10
|
-
const linearUtils = render(
|
|
11
|
-
<ProgressIndicator
|
|
12
|
-
id="progressIndicatorLinear"
|
|
13
|
-
labelText="Linear"
|
|
14
|
-
value={50}
|
|
15
|
-
/>
|
|
16
|
-
);
|
|
17
|
-
const circularUtils = render(
|
|
18
|
-
<ProgressIndicator
|
|
19
|
-
id="progressIndicatorCircular"
|
|
20
|
-
labelText="Circular"
|
|
21
|
-
value={50}
|
|
22
|
-
indicatorType="circular"
|
|
23
|
-
/>
|
|
24
|
-
);
|
|
25
|
-
expect(await axe(linearUtils.container)).toHaveNoViolations();
|
|
26
|
-
expect(await axe(circularUtils.container)).toHaveNoViolations();
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
it("passes axe accessibility for linear and circular types without labels", async () => {
|
|
30
|
-
const linearUtils = render(
|
|
31
|
-
<ProgressIndicator
|
|
32
|
-
id="progressIndicatorLinear"
|
|
33
|
-
labelText="Linear"
|
|
34
|
-
value={50}
|
|
35
|
-
showLabel={false}
|
|
36
|
-
/>
|
|
37
|
-
);
|
|
38
|
-
const circularUtils = render(
|
|
39
|
-
<ProgressIndicator
|
|
40
|
-
id="progressIndicatorCircular"
|
|
41
|
-
labelText="Circular"
|
|
42
|
-
value={50}
|
|
43
|
-
indicatorType="circular"
|
|
44
|
-
showLabel={false}
|
|
45
|
-
/>
|
|
46
|
-
);
|
|
47
|
-
expect(await axe(linearUtils.container)).toHaveNoViolations();
|
|
48
|
-
expect(await axe(circularUtils.container)).toHaveNoViolations();
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
it("passes axe accessibility for linear and circular types for indeterminate state", async () => {
|
|
52
|
-
const linearUtils = render(
|
|
53
|
-
<ProgressIndicator
|
|
54
|
-
id="progressIndicatorLinear"
|
|
55
|
-
labelText="Linear"
|
|
56
|
-
value={50}
|
|
57
|
-
isIndeterminate
|
|
58
|
-
/>
|
|
59
|
-
);
|
|
60
|
-
const circularUtils = render(
|
|
61
|
-
<ProgressIndicator
|
|
62
|
-
id="progressIndicatorCircular"
|
|
63
|
-
labelText="Circular"
|
|
64
|
-
value={50}
|
|
65
|
-
indicatorType="circular"
|
|
66
|
-
isIndeterminate
|
|
67
|
-
/>
|
|
68
|
-
);
|
|
69
|
-
expect(await axe(linearUtils.container)).toHaveNoViolations();
|
|
70
|
-
expect(await axe(circularUtils.container)).toHaveNoViolations();
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
it("passes axe accessibility for linear and circular types for dark mode", async () => {
|
|
74
|
-
const linearUtils = render(
|
|
75
|
-
<ProgressIndicator
|
|
76
|
-
id="progressIndicatorLinear"
|
|
77
|
-
labelText="Linear"
|
|
78
|
-
value={50}
|
|
79
|
-
darkMode
|
|
80
|
-
/>
|
|
81
|
-
);
|
|
82
|
-
const circularUtils = render(
|
|
83
|
-
<ProgressIndicator
|
|
84
|
-
id="progressIndicatorCircular"
|
|
85
|
-
labelText="Circular"
|
|
86
|
-
value={50}
|
|
87
|
-
indicatorType="circular"
|
|
88
|
-
darkMode
|
|
89
|
-
/>
|
|
90
|
-
);
|
|
91
|
-
expect(await axe(linearUtils.container)).toHaveNoViolations();
|
|
92
|
-
expect(await axe(circularUtils.container)).toHaveNoViolations();
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
describe("ProgressIndicator", () => {
|
|
97
|
-
it("renders a label and a progressbar for the linear type", () => {
|
|
98
|
-
render(
|
|
99
|
-
<ProgressIndicator id="progressIndicator" labelText="Linear" value={50} />
|
|
100
|
-
);
|
|
101
|
-
expect(screen.getByLabelText("Linear")).toBeInTheDocument();
|
|
102
|
-
expect(screen.getByRole("progressbar")).toBeInTheDocument();
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
it("renders a label, a progressbar, and an svg for the circular type", () => {
|
|
106
|
-
const { container } = render(
|
|
107
|
-
<ProgressIndicator
|
|
108
|
-
id="progressIndicator"
|
|
109
|
-
labelText="Circular"
|
|
110
|
-
indicatorType="circular"
|
|
111
|
-
value={50}
|
|
112
|
-
/>
|
|
113
|
-
);
|
|
114
|
-
expect(screen.getByLabelText("Circular")).toBeInTheDocument();
|
|
115
|
-
expect(screen.getByRole("progressbar")).toBeInTheDocument();
|
|
116
|
-
expect(container.querySelector("svg")).toBeInTheDocument();
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
it("renders the appropriate aria atttribute when the label is hidden", () => {
|
|
120
|
-
render(
|
|
121
|
-
<ProgressIndicator
|
|
122
|
-
id="progressIndicator"
|
|
123
|
-
labelText="Linear"
|
|
124
|
-
value={50}
|
|
125
|
-
showLabel={false}
|
|
126
|
-
/>
|
|
127
|
-
);
|
|
128
|
-
expect(screen.getByLabelText("Linear")).toBeInTheDocument();
|
|
129
|
-
expect(screen.getByRole("progressbar")).toHaveAttribute(
|
|
130
|
-
"aria-label",
|
|
131
|
-
"Linear"
|
|
132
|
-
);
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
it("renders the value passed", () => {
|
|
136
|
-
const { rerender } = render(
|
|
137
|
-
<ProgressIndicator id="progressIndicator" labelText="Linear" value={50} />
|
|
138
|
-
);
|
|
139
|
-
expect(screen.getByText("50%")).toBeInTheDocument();
|
|
140
|
-
|
|
141
|
-
rerender(
|
|
142
|
-
<ProgressIndicator id="progressIndicator" labelText="Linear" value={89} />
|
|
143
|
-
);
|
|
144
|
-
expect(screen.getByText("89%")).toBeInTheDocument();
|
|
145
|
-
|
|
146
|
-
rerender(
|
|
147
|
-
<ProgressIndicator id="progressIndicator" labelText="Linear" value={4} />
|
|
148
|
-
);
|
|
149
|
-
expect(screen.getByText("4%")).toBeInTheDocument();
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
it("logs a warning if a value less than 0 is passed", () => {
|
|
153
|
-
const warn = jest.spyOn(console, "warn");
|
|
154
|
-
render(
|
|
155
|
-
<ProgressIndicator
|
|
156
|
-
id="progressIndicator"
|
|
157
|
-
labelText="Linear"
|
|
158
|
-
value={-20}
|
|
159
|
-
/>
|
|
160
|
-
);
|
|
161
|
-
|
|
162
|
-
expect(warn).toHaveBeenCalledWith(
|
|
163
|
-
"NYPL Reservoir ProgressIndicator: An invalid value was passed for the" +
|
|
164
|
-
" `value` prop, so 0 will be used. A valid value should be a number" +
|
|
165
|
-
" between 0 and 100."
|
|
166
|
-
);
|
|
167
|
-
});
|
|
168
|
-
|
|
169
|
-
it("logs a warning if a value more than 100 is passed", () => {
|
|
170
|
-
const warn = jest.spyOn(console, "warn");
|
|
171
|
-
render(
|
|
172
|
-
<ProgressIndicator
|
|
173
|
-
id="progressIndicator"
|
|
174
|
-
labelText="Linear"
|
|
175
|
-
value={150}
|
|
176
|
-
/>
|
|
177
|
-
);
|
|
178
|
-
|
|
179
|
-
expect(warn).toHaveBeenCalledWith(
|
|
180
|
-
"NYPL Reservoir ProgressIndicator: An invalid value was passed for the" +
|
|
181
|
-
" `value` prop, so 0 will be used. A valid value should be a number" +
|
|
182
|
-
" between 0 and 100."
|
|
183
|
-
);
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
it("Renders the UI snapshot correctly", () => {
|
|
187
|
-
const linearBasic = renderer
|
|
188
|
-
.create(
|
|
189
|
-
<ProgressIndicator id="linearBasic" labelText="Linear" value={50} />
|
|
190
|
-
)
|
|
191
|
-
.toJSON();
|
|
192
|
-
const circularBasic = renderer
|
|
193
|
-
.create(
|
|
194
|
-
<ProgressIndicator
|
|
195
|
-
id="circularBasic"
|
|
196
|
-
labelText="Circular"
|
|
197
|
-
value={50}
|
|
198
|
-
indicatorType="circular"
|
|
199
|
-
/>
|
|
200
|
-
)
|
|
201
|
-
.toJSON();
|
|
202
|
-
const linearNoLabel = renderer
|
|
203
|
-
.create(
|
|
204
|
-
<ProgressIndicator
|
|
205
|
-
id="linearNoLabel"
|
|
206
|
-
labelText="Linear"
|
|
207
|
-
value={50}
|
|
208
|
-
showLabel={false}
|
|
209
|
-
/>
|
|
210
|
-
)
|
|
211
|
-
.toJSON();
|
|
212
|
-
const circularNoLabel = renderer
|
|
213
|
-
.create(
|
|
214
|
-
<ProgressIndicator
|
|
215
|
-
id="circularNoLabel"
|
|
216
|
-
labelText="Circular"
|
|
217
|
-
value={50}
|
|
218
|
-
indicatorType="circular"
|
|
219
|
-
showLabel={false}
|
|
220
|
-
/>
|
|
221
|
-
)
|
|
222
|
-
.toJSON();
|
|
223
|
-
const linearIndeterminate = renderer
|
|
224
|
-
.create(
|
|
225
|
-
<ProgressIndicator
|
|
226
|
-
id="linearIndeterminate"
|
|
227
|
-
labelText="Linear"
|
|
228
|
-
value={50}
|
|
229
|
-
isIndeterminate
|
|
230
|
-
/>
|
|
231
|
-
)
|
|
232
|
-
.toJSON();
|
|
233
|
-
const circularIndeterminate = renderer
|
|
234
|
-
.create(
|
|
235
|
-
<ProgressIndicator
|
|
236
|
-
id="circularIndeterminate"
|
|
237
|
-
labelText="Circular"
|
|
238
|
-
value={50}
|
|
239
|
-
indicatorType="circular"
|
|
240
|
-
isIndeterminate
|
|
241
|
-
/>
|
|
242
|
-
)
|
|
243
|
-
.toJSON();
|
|
244
|
-
const linearDarkMode = renderer
|
|
245
|
-
.create(
|
|
246
|
-
<ProgressIndicator
|
|
247
|
-
id="linearDarkMode"
|
|
248
|
-
labelText="Linear"
|
|
249
|
-
value={50}
|
|
250
|
-
darkMode
|
|
251
|
-
/>
|
|
252
|
-
)
|
|
253
|
-
.toJSON();
|
|
254
|
-
const circularDarkMode = renderer
|
|
255
|
-
.create(
|
|
256
|
-
<ProgressIndicator
|
|
257
|
-
id="circularDarkMode"
|
|
258
|
-
labelText="Circular"
|
|
259
|
-
value={50}
|
|
260
|
-
indicatorType="circular"
|
|
261
|
-
darkMode
|
|
262
|
-
/>
|
|
263
|
-
)
|
|
264
|
-
.toJSON();
|
|
265
|
-
const withChakraProps = renderer
|
|
266
|
-
.create(
|
|
267
|
-
<ProgressIndicator
|
|
268
|
-
id="chakra"
|
|
269
|
-
labelText="Linear"
|
|
270
|
-
value={50}
|
|
271
|
-
p="20px"
|
|
272
|
-
color="ui.red.primary"
|
|
273
|
-
/>
|
|
274
|
-
)
|
|
275
|
-
.toJSON();
|
|
276
|
-
const withOtherProps = renderer
|
|
277
|
-
.create(
|
|
278
|
-
<ProgressIndicator
|
|
279
|
-
id="props"
|
|
280
|
-
labelText="Linear"
|
|
281
|
-
value={50}
|
|
282
|
-
data-testid="props"
|
|
283
|
-
/>
|
|
284
|
-
)
|
|
285
|
-
.toJSON();
|
|
286
|
-
|
|
287
|
-
expect(linearBasic).toMatchSnapshot();
|
|
288
|
-
expect(circularBasic).toMatchSnapshot();
|
|
289
|
-
expect(linearNoLabel).toMatchSnapshot();
|
|
290
|
-
expect(circularNoLabel).toMatchSnapshot();
|
|
291
|
-
expect(linearIndeterminate).toMatchSnapshot();
|
|
292
|
-
expect(circularIndeterminate).toMatchSnapshot();
|
|
293
|
-
expect(linearDarkMode).toMatchSnapshot();
|
|
294
|
-
expect(circularDarkMode).toMatchSnapshot();
|
|
295
|
-
expect(withChakraProps).toMatchSnapshot();
|
|
296
|
-
expect(withOtherProps).toMatchSnapshot();
|
|
297
|
-
});
|
|
298
|
-
});
|