@nypl/design-system-react-components 0.25.12 → 0.25.13
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 +63 -1
- package/dist/components/Accordion/Accordion.d.ts +5 -3
- package/dist/components/Accordion/AccordionTypes.d.ts +5 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +3 -3
- package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +1 -1
- package/dist/components/Card/Card.d.ts +11 -20
- package/dist/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +4 -2
- package/dist/components/Heading/Heading.d.ts +4 -4
- package/dist/components/Heading/HeadingTypes.d.ts +1 -1
- package/dist/components/Hero/Hero.d.ts +7 -4
- package/dist/components/Icons/IconTypes.d.ts +1 -0
- package/dist/components/Image/Image.d.ts +25 -7
- package/dist/components/Image/ImageTypes.d.ts +4 -4
- package/dist/components/Logo/LogoTypes.d.ts +2 -2
- package/dist/components/Notification/Notification.d.ts +4 -4
- package/dist/components/Radio/Radio.d.ts +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +4 -2
- package/dist/components/Select/Select.d.ts +2 -2
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +4 -3
- package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +0 -4
- package/dist/components/StructuredContent/StructuredContent.d.ts +9 -22
- package/dist/components/Tabs/Tabs.d.ts +3 -3
- package/dist/components/Template/Template.d.ts +13 -5
- package/dist/components/Text/Text.d.ts +3 -3
- package/dist/components/Text/TextTypes.d.ts +1 -1
- package/dist/components/TextInput/TextInput.d.ts +2 -2
- package/dist/components/Toggle/Toggle.d.ts +6 -7
- package/dist/components/Toggle/{ToggleSizes.d.ts → ToggleTypes.d.ts} +1 -1
- package/dist/design-system-react-components.cjs.development.js +505 -422
- 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 +514 -435
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/helpers/enums.d.ts +4 -0
- package/dist/index.d.ts +7 -8
- package/dist/theme/components/accordion.d.ts +7 -12
- package/dist/theme/components/breadcrumb.d.ts +3 -0
- package/dist/theme/components/card.d.ts +4 -4
- package/dist/theme/components/checkbox.d.ts +1 -0
- package/dist/theme/components/checkboxGroup.d.ts +3 -1
- package/dist/theme/components/global.d.ts +2 -1
- package/dist/theme/components/hero.d.ts +1 -1
- package/dist/theme/components/image.d.ts +1 -1
- package/dist/theme/components/notification.d.ts +4 -4
- package/dist/theme/components/pagination.d.ts +2 -5
- package/dist/theme/components/radio.d.ts +1 -0
- package/dist/theme/components/radioGroup.d.ts +3 -1
- package/dist/theme/components/select.d.ts +3 -0
- package/dist/theme/components/toggle.d.ts +13 -1
- package/package.json +1 -1
- package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +34 -0
- package/src/components/Accordion/Accordion.stories.mdx +150 -66
- package/src/components/Accordion/Accordion.test.tsx +44 -17
- package/src/components/Accordion/Accordion.tsx +50 -20
- package/src/components/Accordion/AccordionTypes.tsx +5 -0
- package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +244 -2
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +17 -15
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +6 -6
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +6 -6
- package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +1 -1
- package/src/components/Card/Card.stories.mdx +236 -165
- package/src/components/Card/Card.test.tsx +36 -18
- package/src/components/Card/Card.tsx +84 -59
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +25 -65
- package/src/components/Chakra/Center.stories.mdx +2 -2
- package/src/components/Checkbox/Checkbox.stories.mdx +13 -1
- package/src/components/Checkbox/Checkbox.test.tsx +58 -2
- package/src/components/Checkbox/Checkbox.tsx +6 -1
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +76 -0
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +73 -9
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +79 -9
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +10 -7
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +169 -0
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +1 -1
- package/src/components/DatePicker/DatePicker.test.tsx +5 -2
- package/src/components/DatePicker/DatePicker.tsx +5 -2
- package/src/components/Form/Form.stories.mdx +47 -9
- package/src/components/Form/Form.test.tsx +1 -1
- package/src/components/Form/Form.tsx +3 -1
- package/src/components/Grid/SimpleGrid.stories.mdx +53 -35
- package/src/components/Grid/SimpleGrid.test.tsx +15 -9
- package/src/components/Heading/Heading.stories.mdx +21 -23
- package/src/components/Heading/Heading.test.tsx +7 -7
- package/src/components/Heading/Heading.tsx +10 -14
- package/src/components/Heading/HeadingTypes.tsx +1 -1
- package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +1 -1
- package/src/components/Hero/Hero.stories.mdx +27 -27
- package/src/components/Hero/Hero.test.tsx +113 -58
- package/src/components/Hero/Hero.tsx +43 -20
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +6 -4
- package/src/components/HorizontalRule/HorizontalRule.tsx +3 -2
- package/src/components/Icons/Icon.stories.mdx +50 -18
- package/src/components/Icons/Icon.test.tsx +13 -2
- package/src/components/Icons/Icon.tsx +11 -6
- package/src/components/Icons/IconTypes.tsx +1 -0
- package/src/components/Image/Image.stories.mdx +133 -68
- package/src/components/Image/Image.test.tsx +32 -48
- package/src/components/Image/Image.tsx +46 -26
- package/src/components/Image/ImageTypes.ts +4 -4
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +60 -13
- package/src/components/Link/Link.tsx +8 -1
- package/src/components/List/List.stories.mdx +1 -1
- package/src/components/List/List.test.tsx +7 -4
- package/src/components/List/List.tsx +7 -4
- package/src/components/Logo/Logo.stories.mdx +13 -13
- package/src/components/Logo/Logo.test.tsx +12 -2
- package/src/components/Logo/Logo.tsx +10 -5
- package/src/components/Logo/LogoTypes.tsx +1 -1
- package/src/components/Notification/Notification.stories.mdx +5 -5
- package/src/components/Notification/Notification.tsx +10 -10
- package/src/components/Pagination/Pagination.stories.mdx +4 -3
- package/src/components/Pagination/Pagination.test.tsx +30 -2
- package/src/components/Pagination/Pagination.tsx +6 -3
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +1 -1
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +6 -2
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +3 -1
- package/src/components/Radio/Radio.stories.mdx +13 -1
- package/src/components/Radio/Radio.test.tsx +56 -2
- package/src/components/Radio/Radio.tsx +6 -1
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +61 -0
- package/src/components/RadioGroup/RadioGroup.stories.mdx +73 -9
- package/src/components/RadioGroup/RadioGroup.test.tsx +72 -7
- package/src/components/RadioGroup/RadioGroup.tsx +10 -7
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +140 -0
- package/src/components/SearchBar/SearchBar.stories.mdx +1 -1
- package/src/components/SearchBar/SearchBar.tsx +3 -3
- package/src/components/Select/Select.stories.mdx +26 -16
- package/src/components/Select/Select.test.tsx +1 -36
- package/src/components/Select/Select.tsx +4 -16
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +12 -14
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +6 -8
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +5 -7
- package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +0 -5
- package/src/components/Slider/Slider.stories.mdx +41 -8
- package/src/components/Slider/Slider.tsx +4 -4
- package/src/components/StatusBadge/StatusBadge.test.tsx +3 -1
- package/src/components/StatusBadge/StatusBadge.tsx +1 -1
- package/src/components/StructuredContent/StructuredContent.stories.mdx +103 -54
- package/src/components/StructuredContent/StructuredContent.test.tsx +129 -102
- package/src/components/StructuredContent/StructuredContent.tsx +43 -53
- package/src/components/StyleGuide/ColorCard.tsx +3 -3
- package/src/components/StyleGuide/Typography.stories.mdx +17 -12
- package/src/components/Table/Table.test.tsx +1 -1
- package/src/components/Table/Table.tsx +3 -1
- package/src/components/Tabs/Tabs.stories.mdx +8 -8
- package/src/components/Tabs/Tabs.test.tsx +13 -11
- package/src/components/Tabs/Tabs.tsx +18 -15
- package/src/components/Template/Template.stories.mdx +62 -25
- package/src/components/Template/Template.test.tsx +35 -5
- package/src/components/Template/Template.tsx +26 -13
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +4 -2
- package/src/components/Text/Text.stories.mdx +13 -15
- package/src/components/Text/Text.test.tsx +6 -15
- package/src/components/Text/Text.tsx +7 -12
- package/src/components/Text/TextTypes.tsx +1 -1
- package/src/components/TextInput/TextInput.stories.mdx +9 -9
- package/src/components/TextInput/TextInput.test.tsx +28 -27
- package/src/components/TextInput/TextInput.tsx +4 -4
- package/src/components/Toggle/Toggle.stories.mdx +12 -22
- package/src/components/Toggle/Toggle.test.tsx +15 -2
- package/src/components/Toggle/Toggle.tsx +8 -9
- package/src/components/Toggle/{ToggleSizes.tsx → ToggleTypes.tsx} +1 -1
- package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +64 -0
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +18 -6
- package/src/components/VideoPlayer/VideoPlayer.tsx +14 -7
- package/src/docs/{Intro.stories.mdx → Welcome.stories.mdx} +5 -9
- package/src/{components/Card/CardTypes.tsx → helpers/enums.ts} +2 -2
- package/src/hooks/tests/useNYPLTheme.test.tsx +1 -1
- package/src/hooks/useCarouselStyles.stories.mdx +10 -0
- package/src/hooks/useNYPLTheme.ts +1 -1
- package/src/index.ts +7 -14
- package/src/theme/components/accordion.ts +7 -12
- package/src/theme/components/breadcrumb.ts +3 -0
- package/src/theme/components/card.ts +29 -20
- package/src/theme/components/checkboxGroup.ts +3 -1
- package/src/theme/components/global.ts +4 -3
- package/src/theme/components/hero.ts +1 -1
- package/src/theme/components/icon.ts +5 -2
- package/src/theme/components/image.ts +1 -1
- package/src/theme/components/list.ts +1 -1
- package/src/theme/components/notification.ts +5 -5
- package/src/theme/components/pagination.ts +2 -5
- package/src/theme/components/progressIndicator.ts +3 -3
- package/src/theme/components/radioGroup.ts +3 -1
- package/src/theme/components/select.ts +6 -0
- package/src/theme/components/toggle.ts +26 -3
- package/src/utils/componentCategories.ts +27 -19
- package/dist/components/Card/CardTypes.d.ts +0 -4
- package/dist/components/CheckboxGroup/CheckboxGroupLayoutTypes.d.ts +0 -4
- package/dist/components/RadioGroup/RadioGroupLayoutTypes.d.ts +0 -4
- package/src/components/CheckboxGroup/CheckboxGroupLayoutTypes.tsx +0 -4
- package/src/components/RadioGroup/RadioGroupLayoutTypes.tsx +0 -4
|
@@ -12,7 +12,6 @@ import Heading from "../Heading/Heading";
|
|
|
12
12
|
import { HeadingLevels } from "../Heading/HeadingTypes";
|
|
13
13
|
import Hero from "./Hero";
|
|
14
14
|
import { HeroTypes, HeroSecondaryTypes } from "./HeroTypes";
|
|
15
|
-
import Image from "../Image/Image";
|
|
16
15
|
import { getCategory } from "../../utils/componentCategories";
|
|
17
16
|
import DSProvider from "../../theme/provider";
|
|
18
17
|
import { getStorybookEnumValues } from "../../utils/utils";
|
|
@@ -39,7 +38,8 @@ export const enumValues = getStorybookEnumValues(HeroTypes, "HeroTypes");
|
|
|
39
38
|
table: { defaultValue: { summary: "HeroTypes.Primary" } },
|
|
40
39
|
options: enumValues.options,
|
|
41
40
|
},
|
|
42
|
-
|
|
41
|
+
imageAlt: { control: false },
|
|
42
|
+
imageSrc: { control: false },
|
|
43
43
|
locationDetails: { control: false },
|
|
44
44
|
subHeaderText: { control: false },
|
|
45
45
|
}}
|
|
@@ -55,16 +55,15 @@ export const secondarySubHeaderText = (
|
|
|
55
55
|
);
|
|
56
56
|
export const otherSubHeaderText =
|
|
57
57
|
"With 92 locations across the Bronx, Manhattan, and Staten Island, The New York Public Library is an essential part of neighborhoods across the city. Visit us today.";
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
);
|
|
58
|
+
const imageAlt = "Image example";
|
|
59
|
+
const imageSrc = "https://placeimg.com/800/400/animals";
|
|
61
60
|
|
|
62
61
|
# Hero
|
|
63
62
|
|
|
64
63
|
| Component Version | DS Version |
|
|
65
64
|
| ----------------- | ---------- |
|
|
66
65
|
| Added | `0.2.0` |
|
|
67
|
-
| Latest | `0.25.
|
|
66
|
+
| Latest | `0.25.13` |
|
|
68
67
|
|
|
69
68
|
<Description of={Hero} />
|
|
70
69
|
|
|
@@ -81,7 +80,8 @@ descriptive text and images.
|
|
|
81
80
|
foregroundColor: undefined,
|
|
82
81
|
heading: undefined,
|
|
83
82
|
heroType: "HeroTypes.Primary",
|
|
84
|
-
|
|
83
|
+
imageAlt: undefined,
|
|
84
|
+
imageSrc: undefined,
|
|
85
85
|
locationDetails: undefined,
|
|
86
86
|
subHeaderText: undefined,
|
|
87
87
|
}}
|
|
@@ -106,7 +106,8 @@ descriptive text and images.
|
|
|
106
106
|
<Heading level={HeadingLevels.One} id="1" text="Hero Secondary" />
|
|
107
107
|
}
|
|
108
108
|
heroType={enumValues.getValue(args.heroType)}
|
|
109
|
-
|
|
109
|
+
imageAlt={args.imageAlt}
|
|
110
|
+
imageSrc={args.imageSrc}
|
|
110
111
|
subHeaderText={secondarySubHeaderText}
|
|
111
112
|
/>
|
|
112
113
|
</div>
|
|
@@ -129,12 +130,8 @@ descriptive text and images.
|
|
|
129
130
|
<Heading level={HeadingLevels.One} id="1" text="Hero Campaign" />
|
|
130
131
|
}
|
|
131
132
|
heroType={enumValues.getValue(args.heroType)}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
src="https://placeimg.com/800/400/animals"
|
|
135
|
-
alt="Image example"
|
|
136
|
-
/>
|
|
137
|
-
}
|
|
133
|
+
imageAlt={args.imageAlt}
|
|
134
|
+
imageSrc={args.imageSrc}
|
|
138
135
|
subHeaderText={otherSubHeaderText}
|
|
139
136
|
/>
|
|
140
137
|
)) ||
|
|
@@ -142,12 +139,8 @@ descriptive text and images.
|
|
|
142
139
|
<Hero
|
|
143
140
|
{...args}
|
|
144
141
|
heroType={enumValues.getValue(args.heroType)}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
src="https://placeimg.com/600/200/animals"
|
|
148
|
-
alt="Image example"
|
|
149
|
-
/>
|
|
150
|
-
}
|
|
142
|
+
imageAlt={args.imageAlt}
|
|
143
|
+
imageSrc={args.imageSrc}
|
|
151
144
|
subHeaderText={otherSubHeaderText}
|
|
152
145
|
/>
|
|
153
146
|
))
|
|
@@ -183,7 +176,6 @@ parent wrapper's CSS class name for background color updates. Now, the proper
|
|
|
183
176
|
text="HeroTypes.SecondaryBooksAndMore"
|
|
184
177
|
/>
|
|
185
178
|
<Hero
|
|
186
|
-
image={image}
|
|
187
179
|
heading={
|
|
188
180
|
<Heading
|
|
189
181
|
level={HeadingLevels.One}
|
|
@@ -192,6 +184,8 @@ parent wrapper's CSS class name for background color updates. Now, the proper
|
|
|
192
184
|
/>
|
|
193
185
|
}
|
|
194
186
|
heroType={HeroTypes.SecondaryBooksAndMore}
|
|
187
|
+
imageAlt={imageAlt}
|
|
188
|
+
imageSrc={imageSrc}
|
|
195
189
|
subHeaderText={secondarySubHeaderText}
|
|
196
190
|
/>
|
|
197
191
|
<Heading
|
|
@@ -200,7 +194,6 @@ parent wrapper's CSS class name for background color updates. Now, the proper
|
|
|
200
194
|
text="HeroTypes.SecondaryLocations"
|
|
201
195
|
/>
|
|
202
196
|
<Hero
|
|
203
|
-
image={image}
|
|
204
197
|
heading={
|
|
205
198
|
<Heading
|
|
206
199
|
level={HeadingLevels.One}
|
|
@@ -209,6 +202,8 @@ parent wrapper's CSS class name for background color updates. Now, the proper
|
|
|
209
202
|
/>
|
|
210
203
|
}
|
|
211
204
|
heroType={HeroTypes.SecondaryLocations}
|
|
205
|
+
imageAlt={imageAlt}
|
|
206
|
+
imageSrc={imageSrc}
|
|
212
207
|
subHeaderText={secondarySubHeaderText}
|
|
213
208
|
/>
|
|
214
209
|
<Heading
|
|
@@ -217,7 +212,6 @@ parent wrapper's CSS class name for background color updates. Now, the proper
|
|
|
217
212
|
text="HeroTypes.SecondaryResearch"
|
|
218
213
|
/>
|
|
219
214
|
<Hero
|
|
220
|
-
image={image}
|
|
221
215
|
heading={
|
|
222
216
|
<Heading
|
|
223
217
|
level={HeadingLevels.One}
|
|
@@ -226,6 +220,8 @@ parent wrapper's CSS class name for background color updates. Now, the proper
|
|
|
226
220
|
/>
|
|
227
221
|
}
|
|
228
222
|
heroType={HeroTypes.SecondaryResearch}
|
|
223
|
+
imageAlt={imageAlt}
|
|
224
|
+
imageSrc={imageSrc}
|
|
229
225
|
subHeaderText={secondarySubHeaderText}
|
|
230
226
|
/>
|
|
231
227
|
<Heading
|
|
@@ -242,7 +238,8 @@ parent wrapper's CSS class name for background color updates. Now, the proper
|
|
|
242
238
|
/>
|
|
243
239
|
}
|
|
244
240
|
heroType={HeroTypes.SecondaryWhatsOn}
|
|
245
|
-
|
|
241
|
+
imageAlt={imageAlt}
|
|
242
|
+
imageSrc={imageSrc}
|
|
246
243
|
subHeaderText={secondarySubHeaderText}
|
|
247
244
|
/>
|
|
248
245
|
</VStack>
|
|
@@ -281,7 +278,8 @@ parent wrapper's CSS class name for background color updates. Now, the proper
|
|
|
281
278
|
/>
|
|
282
279
|
}
|
|
283
280
|
heroType={HeroTypes.Secondary}
|
|
284
|
-
|
|
281
|
+
imageAlt={imageAlt}
|
|
282
|
+
imageSrc={imageSrc}
|
|
285
283
|
subHeaderText={secondarySubHeaderText}
|
|
286
284
|
/>
|
|
287
285
|
</div>
|
|
@@ -326,7 +324,8 @@ parent wrapper's CSS class name for background color updates. Now, the proper
|
|
|
326
324
|
text="Hero Campaign"
|
|
327
325
|
/>
|
|
328
326
|
}
|
|
329
|
-
|
|
327
|
+
imageAlt={imageAlt}
|
|
328
|
+
imageSrc={imageSrc}
|
|
330
329
|
subHeaderText={otherSubHeaderText}
|
|
331
330
|
/>
|
|
332
331
|
<Box marginTop="30px" />
|
|
@@ -337,7 +336,8 @@ parent wrapper's CSS class name for background color updates. Now, the proper
|
|
|
337
336
|
/>
|
|
338
337
|
<Hero
|
|
339
338
|
heroType={HeroTypes.FiftyFifty}
|
|
340
|
-
|
|
339
|
+
imageAlt={imageAlt}
|
|
340
|
+
imageSrc={imageSrc}
|
|
341
341
|
subHeaderText={otherSubHeaderText}
|
|
342
342
|
/>
|
|
343
343
|
</VStack>
|
|
@@ -3,7 +3,6 @@ import { render, screen } from "@testing-library/react";
|
|
|
3
3
|
import { axe } from "jest-axe";
|
|
4
4
|
import renderer from "react-test-renderer";
|
|
5
5
|
|
|
6
|
-
import Image from "../Image/Image";
|
|
7
6
|
import Heading from "../Heading/Heading";
|
|
8
7
|
import { HeadingLevels } from "../Heading/HeadingTypes";
|
|
9
8
|
import { HeroTypes } from "./HeroTypes";
|
|
@@ -18,10 +17,11 @@ export const subHeaderText = (
|
|
|
18
17
|
</>
|
|
19
18
|
);
|
|
20
19
|
export const otherSubHeaderText =
|
|
21
|
-
"With 92 locations across the Bronx, Manhattan, and Staten Island, The New
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
"With 92 locations across the Bronx, Manhattan, and Staten Island, The New " +
|
|
21
|
+
"York Public Library is an essential part of neighborhoods across the city. " +
|
|
22
|
+
"Visit us today.";
|
|
23
|
+
const imageAlt = "Image example";
|
|
24
|
+
const imageSrc = "https://placeimg.com/800/400/animals";
|
|
25
25
|
|
|
26
26
|
describe("Hero", () => {
|
|
27
27
|
describe("axe accessbility tests", () => {
|
|
@@ -54,8 +54,9 @@ describe("Hero", () => {
|
|
|
54
54
|
text="Hero Secondary"
|
|
55
55
|
/>
|
|
56
56
|
}
|
|
57
|
+
imageAlt={imageAlt}
|
|
58
|
+
imageSrc={imageSrc}
|
|
57
59
|
subHeaderText={subHeaderText}
|
|
58
|
-
image={image}
|
|
59
60
|
/>
|
|
60
61
|
);
|
|
61
62
|
expect(await axe(container)).toHaveNoViolations();
|
|
@@ -81,6 +82,7 @@ describe("Hero", () => {
|
|
|
81
82
|
it("passes for type Campaign", async () => {
|
|
82
83
|
const { container } = render(
|
|
83
84
|
<Hero
|
|
85
|
+
backgroundImageSrc="https://placeimg.com/2400/800/nature/grayscale"
|
|
84
86
|
heroType={HeroTypes.Campaign}
|
|
85
87
|
heading={
|
|
86
88
|
<Heading
|
|
@@ -89,9 +91,9 @@ describe("Hero", () => {
|
|
|
89
91
|
text="Hero Campaign"
|
|
90
92
|
/>
|
|
91
93
|
}
|
|
94
|
+
imageAlt={imageAlt}
|
|
95
|
+
imageSrc={imageSrc}
|
|
92
96
|
subHeaderText={otherSubHeaderText}
|
|
93
|
-
backgroundImageSrc="https://placeimg.com/2400/800/nature/grayscale"
|
|
94
|
-
image={image}
|
|
95
97
|
/>
|
|
96
98
|
);
|
|
97
99
|
expect(await axe(container)).toHaveNoViolations();
|
|
@@ -101,8 +103,9 @@ describe("Hero", () => {
|
|
|
101
103
|
const { container } = render(
|
|
102
104
|
<Hero
|
|
103
105
|
heroType={HeroTypes.FiftyFifty}
|
|
106
|
+
imageAlt={imageAlt}
|
|
107
|
+
imageSrc={imageSrc}
|
|
104
108
|
subHeaderText={otherSubHeaderText}
|
|
105
|
-
image={image}
|
|
106
109
|
/>
|
|
107
110
|
);
|
|
108
111
|
expect(await axe(container)).toHaveNoViolations();
|
|
@@ -144,8 +147,9 @@ describe("Hero", () => {
|
|
|
144
147
|
text="Hero Secondary"
|
|
145
148
|
/>
|
|
146
149
|
}
|
|
150
|
+
imageAlt={imageAlt}
|
|
151
|
+
imageSrc={imageSrc}
|
|
147
152
|
subHeaderText={subHeaderText}
|
|
148
|
-
image={image}
|
|
149
153
|
/>
|
|
150
154
|
);
|
|
151
155
|
|
|
@@ -181,6 +185,7 @@ describe("Hero", () => {
|
|
|
181
185
|
it("renders Campaign Hero", () => {
|
|
182
186
|
render(
|
|
183
187
|
<Hero
|
|
188
|
+
backgroundImageSrc="https://placeimg.com/2400/800/nature/grayscale"
|
|
184
189
|
heroType={HeroTypes.Campaign}
|
|
185
190
|
heading={
|
|
186
191
|
<Heading
|
|
@@ -189,9 +194,9 @@ describe("Hero", () => {
|
|
|
189
194
|
text="Hero Campaign"
|
|
190
195
|
/>
|
|
191
196
|
}
|
|
197
|
+
imageAlt={imageAlt}
|
|
198
|
+
imageSrc={imageSrc}
|
|
192
199
|
subHeaderText={otherSubHeaderText}
|
|
193
|
-
backgroundImageSrc="https://placeimg.com/2400/800/nature/grayscale"
|
|
194
|
-
image={image}
|
|
195
200
|
/>
|
|
196
201
|
);
|
|
197
202
|
|
|
@@ -212,8 +217,9 @@ describe("Hero", () => {
|
|
|
212
217
|
render(
|
|
213
218
|
<Hero
|
|
214
219
|
heroType={HeroTypes.FiftyFifty}
|
|
220
|
+
imageAlt={imageAlt}
|
|
221
|
+
imageSrc={imageSrc}
|
|
215
222
|
subHeaderText={otherSubHeaderText}
|
|
216
|
-
image={image}
|
|
217
223
|
/>
|
|
218
224
|
);
|
|
219
225
|
|
|
@@ -249,11 +255,12 @@ describe("Hero", () => {
|
|
|
249
255
|
|
|
250
256
|
rerender(
|
|
251
257
|
<Hero
|
|
258
|
+
backgroundColor="#654321"
|
|
259
|
+
foregroundColor="#123456"
|
|
252
260
|
heroType={HeroTypes.FiftyFifty}
|
|
261
|
+
imageAlt={imageAlt}
|
|
262
|
+
imageSrc={imageSrc}
|
|
253
263
|
subHeaderText={otherSubHeaderText}
|
|
254
|
-
image={image}
|
|
255
|
-
foregroundColor="#123456"
|
|
256
|
-
backgroundColor="#654321"
|
|
257
264
|
/>
|
|
258
265
|
);
|
|
259
266
|
|
|
@@ -264,6 +271,8 @@ describe("Hero", () => {
|
|
|
264
271
|
|
|
265
272
|
rerender(
|
|
266
273
|
<Hero
|
|
274
|
+
backgroundColor="#654321"
|
|
275
|
+
foregroundColor="#123456"
|
|
267
276
|
heroType={HeroTypes.Secondary}
|
|
268
277
|
heading={
|
|
269
278
|
<Heading
|
|
@@ -272,10 +281,9 @@ describe("Hero", () => {
|
|
|
272
281
|
text="Hero Secondary"
|
|
273
282
|
/>
|
|
274
283
|
}
|
|
284
|
+
imageAlt={imageAlt}
|
|
285
|
+
imageSrc={imageSrc}
|
|
275
286
|
subHeaderText={subHeaderText}
|
|
276
|
-
image={image}
|
|
277
|
-
foregroundColor="#123456"
|
|
278
|
-
backgroundColor="#654321"
|
|
279
287
|
/>
|
|
280
288
|
);
|
|
281
289
|
|
|
@@ -285,6 +293,21 @@ describe("Hero", () => {
|
|
|
285
293
|
);
|
|
286
294
|
});
|
|
287
295
|
|
|
296
|
+
it("logs a warning if `imageSrc` prop is passed but not `imageAlt`", () => {
|
|
297
|
+
const warn = jest.spyOn(console, "warn");
|
|
298
|
+
render(
|
|
299
|
+
<Hero
|
|
300
|
+
backgroundImageSrc="https://placeimg.com/1600/800/arch"
|
|
301
|
+
heroType={HeroTypes.Primary}
|
|
302
|
+
imageSrc={imageSrc}
|
|
303
|
+
/>
|
|
304
|
+
);
|
|
305
|
+
|
|
306
|
+
expect(warn).toHaveBeenCalledWith(
|
|
307
|
+
`NYPL Reservoir: The "imageSrc" prop was passed but the "imageAlt" props was not. This will make the rendered image inaccessible.`
|
|
308
|
+
);
|
|
309
|
+
});
|
|
310
|
+
|
|
288
311
|
it("renders Primary Hero with warnings in browser console", () => {
|
|
289
312
|
const warn = jest.spyOn(console, "warn");
|
|
290
313
|
const heading = (
|
|
@@ -298,19 +321,22 @@ describe("Hero", () => {
|
|
|
298
321
|
<Hero heroType={HeroTypes.Primary} heading={heading} />
|
|
299
322
|
);
|
|
300
323
|
expect(warn).toHaveBeenCalledWith(
|
|
301
|
-
|
|
324
|
+
"NYPL Reservoir Hero: It is recommended to use the `backgroundImageSrc` " +
|
|
325
|
+
"prop for the `HeroTypes.Primary` `heroType` variant."
|
|
302
326
|
);
|
|
303
327
|
|
|
304
328
|
rerender(
|
|
305
329
|
<Hero
|
|
330
|
+
backgroundImageSrc="https://placeimg.com/1600/800/arch"
|
|
306
331
|
heroType={HeroTypes.Primary}
|
|
307
332
|
heading={heading}
|
|
308
|
-
|
|
309
|
-
|
|
333
|
+
imageAlt={imageAlt}
|
|
334
|
+
imageSrc={imageSrc}
|
|
310
335
|
/>
|
|
311
336
|
);
|
|
312
337
|
expect(warn).toHaveBeenCalledWith(
|
|
313
|
-
|
|
338
|
+
"NYPL Reservoir Hero: The `imageSrc` and `imageAlt` props have been passed, " +
|
|
339
|
+
"but the `HeroTypes.Primary` `heroType` variant will not use it."
|
|
314
340
|
);
|
|
315
341
|
});
|
|
316
342
|
|
|
@@ -327,40 +353,47 @@ describe("Hero", () => {
|
|
|
327
353
|
<Hero
|
|
328
354
|
heroType={HeroTypes.Secondary}
|
|
329
355
|
heading={heading}
|
|
330
|
-
|
|
331
|
-
|
|
356
|
+
imageAlt={imageAlt}
|
|
357
|
+
imageSrc={imageSrc}
|
|
332
358
|
locationDetails={<>Some location details.</>}
|
|
359
|
+
subHeaderText={subHeaderText}
|
|
333
360
|
/>
|
|
334
361
|
);
|
|
335
362
|
expect(warn).toHaveBeenCalledWith(
|
|
336
|
-
|
|
363
|
+
"NYPL Reservoir Hero: The `locationDetails` prop should only be used " +
|
|
364
|
+
"with the `HeroTypes.Primary` `heroType` variant."
|
|
337
365
|
);
|
|
338
366
|
|
|
339
367
|
rerender(
|
|
340
368
|
<Hero
|
|
369
|
+
backgroundImageSrc="https://placeimg.com/1600/800/arch"
|
|
341
370
|
heroType={HeroTypes.Secondary}
|
|
342
371
|
heading={heading}
|
|
372
|
+
imageAlt={imageAlt}
|
|
373
|
+
imageSrc={imageSrc}
|
|
343
374
|
subHeaderText={subHeaderText}
|
|
344
|
-
image={image}
|
|
345
|
-
backgroundImageSrc="https://placeimg.com/1600/800/arch"
|
|
346
375
|
/>
|
|
347
376
|
);
|
|
348
377
|
expect(warn).toHaveBeenCalledWith(
|
|
349
|
-
|
|
378
|
+
"NYPL Reservoir Hero: The `backgroundImageSrc` prop has been passed, " +
|
|
379
|
+
"but the `HeroTypes.Secondary` `heroType` variant will not use it."
|
|
350
380
|
);
|
|
351
381
|
|
|
352
382
|
rerender(
|
|
353
383
|
<Hero
|
|
384
|
+
backgroundColor="#654321"
|
|
385
|
+
foregroundColor="#123456"
|
|
354
386
|
heroType={HeroTypes.Secondary}
|
|
355
387
|
heading={heading}
|
|
388
|
+
imageAlt={imageAlt}
|
|
389
|
+
imageSrc={imageSrc}
|
|
356
390
|
subHeaderText={subHeaderText}
|
|
357
|
-
image={image}
|
|
358
|
-
foregroundColor="#123456"
|
|
359
|
-
backgroundColor="#654321"
|
|
360
391
|
/>
|
|
361
392
|
);
|
|
362
393
|
expect(warn).toHaveBeenCalledWith(
|
|
363
|
-
|
|
394
|
+
"NYPL Reservoir Hero: The `foregroundColor` and/or `backgroundColor` " +
|
|
395
|
+
"props have been passed, but the `HeroTypes.Secondary` `heroType` " +
|
|
396
|
+
"variant will not use them."
|
|
364
397
|
);
|
|
365
398
|
});
|
|
366
399
|
|
|
@@ -382,31 +415,35 @@ describe("Hero", () => {
|
|
|
382
415
|
/>
|
|
383
416
|
);
|
|
384
417
|
expect(warn).toHaveBeenCalledWith(
|
|
385
|
-
|
|
418
|
+
"NYPL Reservoir Hero: The `locationDetails` prop should only be used " +
|
|
419
|
+
"with the `HeroTypes.Primary` `heroType` variant."
|
|
386
420
|
);
|
|
387
421
|
|
|
388
422
|
rerender(
|
|
389
423
|
<Hero
|
|
390
424
|
heroType={HeroTypes.Tertiary}
|
|
391
425
|
heading={heading}
|
|
426
|
+
imageAlt={imageAlt}
|
|
427
|
+
imageSrc={imageSrc}
|
|
392
428
|
subHeaderText={otherSubHeaderText}
|
|
393
|
-
image={image}
|
|
394
429
|
/>
|
|
395
430
|
);
|
|
396
431
|
expect(warn).toHaveBeenCalledWith(
|
|
397
|
-
|
|
432
|
+
"NYPL Reservoir Hero: The `HeroTypes.Tertiary` `heroType` variant hero " +
|
|
433
|
+
"will not use any of the image props."
|
|
398
434
|
);
|
|
399
435
|
|
|
400
436
|
rerender(
|
|
401
437
|
<Hero
|
|
438
|
+
backgroundImageSrc="https://placeimg.com/1600/800/arch"
|
|
402
439
|
heroType={HeroTypes.Tertiary}
|
|
403
440
|
heading={heading}
|
|
404
441
|
subHeaderText={otherSubHeaderText}
|
|
405
|
-
backgroundImageSrc="https://placeimg.com/1600/800/arch"
|
|
406
442
|
/>
|
|
407
443
|
);
|
|
408
444
|
expect(warn).toHaveBeenCalledWith(
|
|
409
|
-
|
|
445
|
+
"NYPL Reservoir Hero: The `HeroTypes.Tertiary` `heroType` variant hero " +
|
|
446
|
+
"will not use any of the image props."
|
|
410
447
|
);
|
|
411
448
|
});
|
|
412
449
|
|
|
@@ -421,29 +458,34 @@ describe("Hero", () => {
|
|
|
421
458
|
);
|
|
422
459
|
const { rerender } = render(
|
|
423
460
|
<Hero
|
|
461
|
+
backgroundImageSrc="https://placeimg.com/2400/800/nature/grayscale"
|
|
424
462
|
heroType={HeroTypes.Campaign}
|
|
425
463
|
heading={heading}
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
image={image}
|
|
464
|
+
imageAlt={imageAlt}
|
|
465
|
+
imageSrc={imageSrc}
|
|
429
466
|
locationDetails={<>Some location details.</>}
|
|
467
|
+
subHeaderText={otherSubHeaderText}
|
|
430
468
|
/>
|
|
431
469
|
);
|
|
432
470
|
expect(warn).toHaveBeenCalledWith(
|
|
433
|
-
|
|
471
|
+
"NYPL Reservoir Hero: The `locationDetails` prop should only be used " +
|
|
472
|
+
"with the `HeroTypes.Primary` `heroType` variant."
|
|
434
473
|
);
|
|
435
474
|
|
|
436
475
|
rerender(
|
|
437
476
|
<Hero
|
|
438
477
|
heroType={HeroTypes.Campaign}
|
|
439
478
|
heading={heading}
|
|
479
|
+
imageAlt={imageAlt}
|
|
480
|
+
imageSrc={imageSrc}
|
|
440
481
|
subHeaderText={otherSubHeaderText}
|
|
441
|
-
image={image}
|
|
442
482
|
locationDetails={<>Some location details.</>}
|
|
443
483
|
/>
|
|
444
484
|
);
|
|
445
485
|
expect(warn).toHaveBeenCalledWith(
|
|
446
|
-
|
|
486
|
+
"NYPL Reservoir Hero: It is recommended to use both the " +
|
|
487
|
+
"`backgroundImageSrc` and `imageSrc` props for the `HeroTypes.Campaign` " +
|
|
488
|
+
"`heroType` variant."
|
|
447
489
|
);
|
|
448
490
|
|
|
449
491
|
rerender(
|
|
@@ -456,7 +498,9 @@ describe("Hero", () => {
|
|
|
456
498
|
/>
|
|
457
499
|
);
|
|
458
500
|
expect(warn).toHaveBeenCalledWith(
|
|
459
|
-
|
|
501
|
+
"NYPL Reservoir Hero: It is recommended to use both the " +
|
|
502
|
+
"`backgroundImageSrc` and `imageSrc` props for the `HeroTypes.Campaign` " +
|
|
503
|
+
"`heroType` variant."
|
|
460
504
|
);
|
|
461
505
|
});
|
|
462
506
|
|
|
@@ -466,24 +510,28 @@ describe("Hero", () => {
|
|
|
466
510
|
<Hero
|
|
467
511
|
heroType={HeroTypes.FiftyFifty}
|
|
468
512
|
subHeaderText={otherSubHeaderText}
|
|
469
|
-
|
|
513
|
+
imageAlt={imageAlt}
|
|
514
|
+
imageSrc={imageSrc}
|
|
470
515
|
locationDetails={<>Some location details.</>}
|
|
471
516
|
/>
|
|
472
517
|
);
|
|
473
518
|
expect(warn).toHaveBeenCalledWith(
|
|
474
|
-
|
|
519
|
+
"NYPL Reservoir Hero: The `locationDetails` prop should only be used " +
|
|
520
|
+
"with the `HeroTypes.Primary` `heroType` variant."
|
|
475
521
|
);
|
|
476
522
|
|
|
477
523
|
rerender(
|
|
478
524
|
<Hero
|
|
525
|
+
backgroundImageSrc="https://placeimg.com/2400/800/nature/grayscale"
|
|
479
526
|
heroType={HeroTypes.FiftyFifty}
|
|
527
|
+
imageAlt={imageAlt}
|
|
528
|
+
imageSrc={imageSrc}
|
|
480
529
|
subHeaderText={otherSubHeaderText}
|
|
481
|
-
image={image}
|
|
482
|
-
backgroundImageSrc="https://placeimg.com/2400/800/nature/grayscale"
|
|
483
530
|
/>
|
|
484
531
|
);
|
|
485
532
|
expect(warn).toHaveBeenCalledWith(
|
|
486
|
-
|
|
533
|
+
"NYPL Reservoir Hero: The `backgroundImageSrc` prop has been passed, " +
|
|
534
|
+
"but the `HeroTypes.FiftyFifty` `heroType` variant hero will not use it."
|
|
487
535
|
);
|
|
488
536
|
});
|
|
489
537
|
|
|
@@ -515,8 +563,9 @@ describe("Hero", () => {
|
|
|
515
563
|
text="Hero Secondary"
|
|
516
564
|
/>
|
|
517
565
|
}
|
|
566
|
+
imageAlt={imageAlt}
|
|
567
|
+
imageSrc={imageSrc}
|
|
518
568
|
subHeaderText={subHeaderText}
|
|
519
|
-
image={image}
|
|
520
569
|
/>
|
|
521
570
|
)
|
|
522
571
|
.toJSON();
|
|
@@ -531,8 +580,9 @@ describe("Hero", () => {
|
|
|
531
580
|
text="Hero Secondary Books and More"
|
|
532
581
|
/>
|
|
533
582
|
}
|
|
583
|
+
imageAlt={imageAlt}
|
|
584
|
+
imageSrc={imageSrc}
|
|
534
585
|
subHeaderText={subHeaderText}
|
|
535
|
-
image={image}
|
|
536
586
|
/>
|
|
537
587
|
)
|
|
538
588
|
.toJSON();
|
|
@@ -547,8 +597,9 @@ describe("Hero", () => {
|
|
|
547
597
|
text="Hero Secondary Locations"
|
|
548
598
|
/>
|
|
549
599
|
}
|
|
600
|
+
imageAlt={imageAlt}
|
|
601
|
+
imageSrc={imageSrc}
|
|
550
602
|
subHeaderText={subHeaderText}
|
|
551
|
-
image={image}
|
|
552
603
|
/>
|
|
553
604
|
)
|
|
554
605
|
.toJSON();
|
|
@@ -563,8 +614,9 @@ describe("Hero", () => {
|
|
|
563
614
|
text="Hero Secondary"
|
|
564
615
|
/>
|
|
565
616
|
}
|
|
617
|
+
imageAlt={imageAlt}
|
|
618
|
+
imageSrc={imageSrc}
|
|
566
619
|
subHeaderText={subHeaderText}
|
|
567
|
-
image={image}
|
|
568
620
|
/>
|
|
569
621
|
)
|
|
570
622
|
.toJSON();
|
|
@@ -579,14 +631,16 @@ describe("Hero", () => {
|
|
|
579
631
|
text="Hero Secondary What's On"
|
|
580
632
|
/>
|
|
581
633
|
}
|
|
634
|
+
imageAlt={imageAlt}
|
|
635
|
+
imageSrc={imageSrc}
|
|
582
636
|
subHeaderText={subHeaderText}
|
|
583
|
-
image={image}
|
|
584
637
|
/>
|
|
585
638
|
)
|
|
586
639
|
.toJSON();
|
|
587
640
|
const campaign = renderer
|
|
588
641
|
.create(
|
|
589
642
|
<Hero
|
|
643
|
+
backgroundImageSrc="https://placeimg.com/2400/800/nature/grayscale"
|
|
590
644
|
heroType={HeroTypes.Campaign}
|
|
591
645
|
heading={
|
|
592
646
|
<Heading
|
|
@@ -595,9 +649,9 @@ describe("Hero", () => {
|
|
|
595
649
|
text="Hero Campaign"
|
|
596
650
|
/>
|
|
597
651
|
}
|
|
652
|
+
imageAlt={imageAlt}
|
|
653
|
+
imageSrc={imageSrc}
|
|
598
654
|
subHeaderText={otherSubHeaderText}
|
|
599
|
-
backgroundImageSrc="https://placeimg.com/2400/800/nature/grayscale"
|
|
600
|
-
image={image}
|
|
601
655
|
/>
|
|
602
656
|
)
|
|
603
657
|
.toJSON();
|
|
@@ -620,8 +674,9 @@ describe("Hero", () => {
|
|
|
620
674
|
.create(
|
|
621
675
|
<Hero
|
|
622
676
|
heroType={HeroTypes.FiftyFifty}
|
|
677
|
+
imageAlt={imageAlt}
|
|
678
|
+
imageSrc={imageSrc}
|
|
623
679
|
subHeaderText={otherSubHeaderText}
|
|
624
|
-
image={image}
|
|
625
680
|
/>
|
|
626
681
|
)
|
|
627
682
|
.toJSON();
|