@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,163 +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 ComponentWrapper from "./ComponentWrapper";
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @NOTE while the component is accessible, whatever is passed as children
|
|
10
|
-
* elements may not be considered accessible. This is up to the developer to
|
|
11
|
-
* make sure to pass accessible elements.
|
|
12
|
-
*/
|
|
13
|
-
describe("ComponentWrapper Accessibility", () => {
|
|
14
|
-
it("Passes axe accessibility test", async () => {
|
|
15
|
-
const { container } = render(
|
|
16
|
-
<ComponentWrapper
|
|
17
|
-
descriptionText="description text"
|
|
18
|
-
headingText="heading text"
|
|
19
|
-
helperText="helper text"
|
|
20
|
-
id="id"
|
|
21
|
-
invalidText="invalid text"
|
|
22
|
-
isInvalid={false}
|
|
23
|
-
>
|
|
24
|
-
<div>children elements</div>
|
|
25
|
-
</ComponentWrapper>
|
|
26
|
-
);
|
|
27
|
-
expect(await axe(container)).toHaveNoViolations();
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
it("Passes axe accessibility test without certain props", async () => {
|
|
31
|
-
const { container } = render(
|
|
32
|
-
<ComponentWrapper id="id">
|
|
33
|
-
<div>children elements</div>
|
|
34
|
-
</ComponentWrapper>
|
|
35
|
-
);
|
|
36
|
-
expect(await axe(container)).toHaveNoViolations();
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
describe("ComponentWrapper", () => {
|
|
41
|
-
it("renders with different text sections and children elements", () => {
|
|
42
|
-
render(
|
|
43
|
-
<ComponentWrapper
|
|
44
|
-
descriptionText="description text"
|
|
45
|
-
headingText="heading text"
|
|
46
|
-
helperText="helper text"
|
|
47
|
-
id="id"
|
|
48
|
-
invalidText="invalid text"
|
|
49
|
-
isInvalid={false}
|
|
50
|
-
>
|
|
51
|
-
<div>children elements</div>
|
|
52
|
-
</ComponentWrapper>
|
|
53
|
-
);
|
|
54
|
-
|
|
55
|
-
expect(screen.getByText("description text")).toBeInTheDocument();
|
|
56
|
-
expect(screen.getByText("heading text")).toBeInTheDocument();
|
|
57
|
-
expect(screen.getByText("helper text")).toBeInTheDocument();
|
|
58
|
-
expect(screen.queryByText("invalid text")).not.toBeInTheDocument();
|
|
59
|
-
expect(screen.getByText("children elements")).toBeInTheDocument();
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
it("renders with only its children elements", () => {
|
|
63
|
-
render(
|
|
64
|
-
<ComponentWrapper id="id">
|
|
65
|
-
<div>children elements</div>
|
|
66
|
-
</ComponentWrapper>
|
|
67
|
-
);
|
|
68
|
-
|
|
69
|
-
expect(screen.queryByText("description text")).not.toBeInTheDocument();
|
|
70
|
-
expect(screen.queryByText("heading text")).not.toBeInTheDocument();
|
|
71
|
-
expect(screen.queryByText("helper text")).not.toBeInTheDocument();
|
|
72
|
-
expect(screen.queryByText("invalid text")).not.toBeInTheDocument();
|
|
73
|
-
expect(screen.getByText("children elements")).toBeInTheDocument();
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
it("renders invalid text in the internal HelperErrorText component", () => {
|
|
77
|
-
const { rerender } = render(
|
|
78
|
-
<ComponentWrapper
|
|
79
|
-
descriptionText="description text"
|
|
80
|
-
headingText="heading text"
|
|
81
|
-
helperText="helper text"
|
|
82
|
-
id="id"
|
|
83
|
-
invalidText="invalid text"
|
|
84
|
-
isInvalid={false}
|
|
85
|
-
>
|
|
86
|
-
<div>children elements</div>
|
|
87
|
-
</ComponentWrapper>
|
|
88
|
-
);
|
|
89
|
-
|
|
90
|
-
expect(screen.getByText("helper text")).toBeInTheDocument();
|
|
91
|
-
expect(screen.queryByText("invalid text")).not.toBeInTheDocument();
|
|
92
|
-
|
|
93
|
-
rerender(
|
|
94
|
-
<ComponentWrapper
|
|
95
|
-
descriptionText="description text"
|
|
96
|
-
headingText="heading text"
|
|
97
|
-
helperText="helper text"
|
|
98
|
-
id="id"
|
|
99
|
-
invalidText="invalid text"
|
|
100
|
-
isInvalid={true}
|
|
101
|
-
>
|
|
102
|
-
<div>children elements</div>
|
|
103
|
-
</ComponentWrapper>
|
|
104
|
-
);
|
|
105
|
-
|
|
106
|
-
expect(screen.queryByText("helper text")).not.toBeInTheDocument();
|
|
107
|
-
expect(screen.getByText("invalid text")).toBeInTheDocument();
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
it("Renders the UI snapshot correctly", () => {
|
|
111
|
-
const basic = renderer
|
|
112
|
-
.create(
|
|
113
|
-
<ComponentWrapper
|
|
114
|
-
descriptionText="description text"
|
|
115
|
-
headingText="heading text"
|
|
116
|
-
helperText="helper text"
|
|
117
|
-
id="id"
|
|
118
|
-
invalidText="invalid text"
|
|
119
|
-
isInvalid={false}
|
|
120
|
-
>
|
|
121
|
-
<div>children elements</div>
|
|
122
|
-
</ComponentWrapper>
|
|
123
|
-
)
|
|
124
|
-
.toJSON();
|
|
125
|
-
const onlyWithChildren = renderer
|
|
126
|
-
.create(
|
|
127
|
-
<ComponentWrapper id="id">
|
|
128
|
-
<div>children elements</div>
|
|
129
|
-
</ComponentWrapper>
|
|
130
|
-
)
|
|
131
|
-
.toJSON();
|
|
132
|
-
const isInvalid = renderer
|
|
133
|
-
.create(
|
|
134
|
-
<ComponentWrapper
|
|
135
|
-
descriptionText="description text"
|
|
136
|
-
headingText="heading text"
|
|
137
|
-
helperText="helper text"
|
|
138
|
-
id="id"
|
|
139
|
-
invalidText="invalid text"
|
|
140
|
-
isInvalid={true}
|
|
141
|
-
>
|
|
142
|
-
<div>children elements</div>
|
|
143
|
-
</ComponentWrapper>
|
|
144
|
-
)
|
|
145
|
-
.toJSON();
|
|
146
|
-
const withChakraProps = renderer.create(
|
|
147
|
-
<ComponentWrapper id="chakra" p="20px" color="ui.error.primary">
|
|
148
|
-
<div>children elements</div>
|
|
149
|
-
</ComponentWrapper>
|
|
150
|
-
);
|
|
151
|
-
const withOtherProps = renderer.create(
|
|
152
|
-
<ComponentWrapper id="props" data-testid="props">
|
|
153
|
-
<div>children elements</div>
|
|
154
|
-
</ComponentWrapper>
|
|
155
|
-
);
|
|
156
|
-
|
|
157
|
-
expect(basic).toMatchSnapshot();
|
|
158
|
-
expect(onlyWithChildren).toMatchSnapshot();
|
|
159
|
-
expect(isInvalid).toMatchSnapshot();
|
|
160
|
-
expect(withChakraProps).toMatchSnapshot();
|
|
161
|
-
expect(withOtherProps).toMatchSnapshot();
|
|
162
|
-
});
|
|
163
|
-
});
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { Box, chakra, useMultiStyleConfig } from "@chakra-ui/react";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
|
|
4
|
-
import Heading from "../Heading/Heading";
|
|
5
|
-
import HelperErrorText, {
|
|
6
|
-
HelperErrorTextType,
|
|
7
|
-
} from "../HelperErrorText/HelperErrorText";
|
|
8
|
-
import Text from "../Text/Text";
|
|
9
|
-
export interface ComponentWrapperProps {
|
|
10
|
-
/** The UI elements that will be wrapped by this component */
|
|
11
|
-
children: React.ReactNode;
|
|
12
|
-
/** A class name for the `div` parent element. */
|
|
13
|
-
className?: string;
|
|
14
|
-
/** Optional string to set the text for the component's description */
|
|
15
|
-
descriptionText?: string;
|
|
16
|
-
/** Optional string to set the text for a `Heading` component */
|
|
17
|
-
headingText?: string;
|
|
18
|
-
/** Optional string to set the text for a `HelperErrorText` component */
|
|
19
|
-
helperText?: HelperErrorTextType;
|
|
20
|
-
/** Styles that target the helper text. */
|
|
21
|
-
helperTextStyles?: { [key: string]: any };
|
|
22
|
-
/** ID that other components can cross reference for accessibility purposes */
|
|
23
|
-
id?: string;
|
|
24
|
-
/** Optional string to populate the `HelperErrorText` for the error state
|
|
25
|
-
* when `isInvalid` is true. */
|
|
26
|
-
invalidText?: HelperErrorTextType;
|
|
27
|
-
/** Sets invalid text in the error state. */
|
|
28
|
-
isInvalid?: boolean;
|
|
29
|
-
/** Offers the ability to hide the helper/invalid text. */
|
|
30
|
-
showHelperInvalidText?: boolean;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export const ComponentWrapper = chakra(
|
|
34
|
-
(props: React.PropsWithChildren<ComponentWrapperProps>) => {
|
|
35
|
-
const {
|
|
36
|
-
children,
|
|
37
|
-
className,
|
|
38
|
-
descriptionText,
|
|
39
|
-
headingText,
|
|
40
|
-
helperText,
|
|
41
|
-
helperTextStyles = {},
|
|
42
|
-
id,
|
|
43
|
-
invalidText,
|
|
44
|
-
isInvalid = false,
|
|
45
|
-
showHelperInvalidText = true,
|
|
46
|
-
...rest
|
|
47
|
-
} = props;
|
|
48
|
-
const hasChildren = !!children;
|
|
49
|
-
const styles = useMultiStyleConfig("ComponentWrapper", { hasChildren });
|
|
50
|
-
const footnote = isInvalid ? invalidText : helperText;
|
|
51
|
-
|
|
52
|
-
// Note: Typescript warns when there are no children passed and
|
|
53
|
-
// doesn't compile. This is meant to log in non-Typescript apps.
|
|
54
|
-
if (!hasChildren) {
|
|
55
|
-
console.warn("NYPL Reservoir ComponentWrapper: No children were passed.");
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return (
|
|
59
|
-
<Box className={className} id={`${id}-wrapper`} __css={styles} {...rest}>
|
|
60
|
-
{headingText && <Heading id={`${id}-heading`} text={headingText} />}
|
|
61
|
-
{descriptionText && <Text>{descriptionText}</Text>}
|
|
62
|
-
{children}
|
|
63
|
-
{footnote && showHelperInvalidText && (
|
|
64
|
-
<HelperErrorText
|
|
65
|
-
id={`${id}-helperText`}
|
|
66
|
-
isInvalid={isInvalid}
|
|
67
|
-
text={footnote}
|
|
68
|
-
__css={{ ...styles.helperErrorText, ...helperTextStyles }}
|
|
69
|
-
/>
|
|
70
|
-
)}
|
|
71
|
-
</Box>
|
|
72
|
-
);
|
|
73
|
-
}
|
|
74
|
-
);
|
|
75
|
-
|
|
76
|
-
export default ComponentWrapper;
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
-
|
|
3
|
-
exports[`ComponentWrapper Renders the UI snapshot correctly 1`] = `
|
|
4
|
-
<div
|
|
5
|
-
className="css-1xdhyk6"
|
|
6
|
-
id="id-wrapper"
|
|
7
|
-
>
|
|
8
|
-
<h2
|
|
9
|
-
className="chakra-heading css-1xdhyk6"
|
|
10
|
-
id="id-heading"
|
|
11
|
-
>
|
|
12
|
-
heading text
|
|
13
|
-
</h2>
|
|
14
|
-
<p
|
|
15
|
-
className="chakra-text css-1xdhyk6"
|
|
16
|
-
>
|
|
17
|
-
description text
|
|
18
|
-
</p>
|
|
19
|
-
<div>
|
|
20
|
-
children elements
|
|
21
|
-
</div>
|
|
22
|
-
<div
|
|
23
|
-
aria-atomic={true}
|
|
24
|
-
aria-live="off"
|
|
25
|
-
className="css-1xdhyk6"
|
|
26
|
-
dangerouslySetInnerHTML={
|
|
27
|
-
Object {
|
|
28
|
-
"__html": "helper text",
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
data-isinvalid={false}
|
|
32
|
-
id="id-helperText"
|
|
33
|
-
/>
|
|
34
|
-
</div>
|
|
35
|
-
`;
|
|
36
|
-
|
|
37
|
-
exports[`ComponentWrapper Renders the UI snapshot correctly 2`] = `
|
|
38
|
-
<div
|
|
39
|
-
className="css-1xdhyk6"
|
|
40
|
-
id="id-wrapper"
|
|
41
|
-
>
|
|
42
|
-
<div>
|
|
43
|
-
children elements
|
|
44
|
-
</div>
|
|
45
|
-
</div>
|
|
46
|
-
`;
|
|
47
|
-
|
|
48
|
-
exports[`ComponentWrapper Renders the UI snapshot correctly 3`] = `
|
|
49
|
-
<div
|
|
50
|
-
className="css-1xdhyk6"
|
|
51
|
-
id="id-wrapper"
|
|
52
|
-
>
|
|
53
|
-
<h2
|
|
54
|
-
className="chakra-heading css-1xdhyk6"
|
|
55
|
-
id="id-heading"
|
|
56
|
-
>
|
|
57
|
-
heading text
|
|
58
|
-
</h2>
|
|
59
|
-
<p
|
|
60
|
-
className="chakra-text css-1xdhyk6"
|
|
61
|
-
>
|
|
62
|
-
description text
|
|
63
|
-
</p>
|
|
64
|
-
<div>
|
|
65
|
-
children elements
|
|
66
|
-
</div>
|
|
67
|
-
<div
|
|
68
|
-
aria-atomic={true}
|
|
69
|
-
aria-live="polite"
|
|
70
|
-
className="css-1xdhyk6"
|
|
71
|
-
dangerouslySetInnerHTML={
|
|
72
|
-
Object {
|
|
73
|
-
"__html": "invalid text",
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
data-isinvalid={true}
|
|
77
|
-
id="id-helperText"
|
|
78
|
-
/>
|
|
79
|
-
</div>
|
|
80
|
-
`;
|
|
81
|
-
|
|
82
|
-
exports[`ComponentWrapper Renders the UI snapshot correctly 4`] = `
|
|
83
|
-
<div
|
|
84
|
-
className="css-kle7zy"
|
|
85
|
-
id="chakra-wrapper"
|
|
86
|
-
>
|
|
87
|
-
<div>
|
|
88
|
-
children elements
|
|
89
|
-
</div>
|
|
90
|
-
</div>
|
|
91
|
-
`;
|
|
92
|
-
|
|
93
|
-
exports[`ComponentWrapper Renders the UI snapshot correctly 5`] = `
|
|
94
|
-
<div
|
|
95
|
-
className="css-1xdhyk6"
|
|
96
|
-
data-testid="props"
|
|
97
|
-
id="props-wrapper"
|
|
98
|
-
>
|
|
99
|
-
<div>
|
|
100
|
-
children elements
|
|
101
|
-
</div>
|
|
102
|
-
</div>
|
|
103
|
-
`;
|