@nypl/design-system-react-components 1.0.0 → 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.
Files changed (296) hide show
  1. package/README.md +3 -5
  2. package/dist/components/Checkbox/Checkbox.d.ts +0 -1
  3. package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +8 -0
  4. package/dist/components/Heading/Heading.d.ts +2 -0
  5. package/dist/components/Logo/Logo.d.ts +1 -1
  6. package/dist/components/Logo/LogoSvgs.d.ts +4 -0
  7. package/dist/components/Slider/Slider.d.ts +1 -2
  8. package/dist/components/TextInput/TextInput.d.ts +2 -1
  9. package/dist/design-system-react-components.cjs.development.js +1038 -674
  10. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  11. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  12. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  13. package/dist/design-system-react-components.esm.js +1039 -675
  14. package/dist/design-system-react-components.esm.js.map +1 -1
  15. package/dist/hooks/{tests → __tests__}/useCarouselStyles.test.d.ts +0 -0
  16. package/dist/theme/components/button.d.ts +1 -0
  17. package/dist/theme/components/card.d.ts +98 -13
  18. package/dist/theme/components/checkboxGroup.d.ts +1 -1
  19. package/dist/theme/components/global.d.ts +2 -2
  20. package/dist/theme/components/heading.d.ts +4 -16
  21. package/dist/theme/components/image.d.ts +6 -0
  22. package/dist/theme/components/radio.d.ts +8 -0
  23. package/dist/theme/components/radioGroup.d.ts +1 -1
  24. package/dist/theme/components/skipNavigation.d.ts +3 -0
  25. package/dist/theme/components/structuredContent.d.ts +0 -5
  26. package/dist/theme/components/template.d.ts +4 -1
  27. package/dist/utils/utils.d.ts +15 -0
  28. package/package.json +6 -7
  29. package/CHANGELOG.md +0 -1399
  30. package/src/__tests__/fileMock.ts +0 -6
  31. package/src/__tests__/setup.ts +0 -27
  32. package/src/__tests__/utils/utils.test.ts +0 -18
  33. package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +0 -42
  34. package/src/components/Accordion/Accordion.stories.mdx +0 -361
  35. package/src/components/Accordion/Accordion.test.tsx +0 -237
  36. package/src/components/Accordion/Accordion.tsx +0 -136
  37. package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +0 -734
  38. package/src/components/Autosuggest/Autosuggest.stories.mdx +0 -75
  39. package/src/components/Autosuggest/Autosuggest.stories.tsx +0 -211
  40. package/src/components/Autosuggest/_Autosuggest.scss +0 -51
  41. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +0 -231
  42. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +0 -144
  43. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -98
  44. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +0 -695
  45. package/src/components/Button/Button.stories.mdx +0 -320
  46. package/src/components/Button/Button.test.tsx +0 -184
  47. package/src/components/Button/Button.tsx +0 -95
  48. package/src/components/Button/__snapshots__/Button.test.tsx.snap +0 -106
  49. package/src/components/ButtonGroup/ButtonGroup.stories.mdx +0 -147
  50. package/src/components/ButtonGroup/ButtonGroup.test.tsx +0 -141
  51. package/src/components/ButtonGroup/ButtonGroup.tsx +0 -99
  52. package/src/components/ButtonGroup/__snapshots__/ButtonGroup.test.tsx.snap +0 -117
  53. package/src/components/Card/Card.stories.mdx +0 -1043
  54. package/src/components/Card/Card.test.tsx +0 -388
  55. package/src/components/Card/Card.tsx +0 -345
  56. package/src/components/Card/__snapshots__/Card.test.tsx.snap +0 -568
  57. package/src/components/Chakra/Box.stories.mdx +0 -52
  58. package/src/components/Chakra/Center.stories.mdx +0 -96
  59. package/src/components/Chakra/Flex.stories.mdx +0 -111
  60. package/src/components/Chakra/Grid.stories.mdx +0 -89
  61. package/src/components/Chakra/Stack.stories.mdx +0 -109
  62. package/src/components/Checkbox/Checkbox.stories.mdx +0 -243
  63. package/src/components/Checkbox/Checkbox.test.tsx +0 -319
  64. package/src/components/Checkbox/Checkbox.tsx +0 -166
  65. package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +0 -616
  66. package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +0 -462
  67. package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +0 -492
  68. package/src/components/CheckboxGroup/CheckboxGroup.tsx +0 -173
  69. package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +0 -1722
  70. package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +0 -163
  71. package/src/components/ComponentWrapper/ComponentWrapper.tsx +0 -67
  72. package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +0 -98
  73. package/src/components/DatePicker/DatePicker.stories.mdx +0 -452
  74. package/src/components/DatePicker/DatePicker.test.tsx +0 -940
  75. package/src/components/DatePicker/DatePicker.tsx +0 -450
  76. package/src/components/DatePicker/_DatePicker.scss +0 -100
  77. package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +0 -889
  78. package/src/components/Fieldset/Fieldset.stories.mdx +0 -96
  79. package/src/components/Fieldset/Fieldset.test.tsx +0 -155
  80. package/src/components/Fieldset/Fieldset.tsx +0 -55
  81. package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +0 -89
  82. package/src/components/Form/Form.stories.mdx +0 -426
  83. package/src/components/Form/Form.test.tsx +0 -234
  84. package/src/components/Form/Form.tsx +0 -124
  85. package/src/components/Form/__snapshots__/Form.test.tsx.snap +0 -115
  86. package/src/components/Grid/SimpleGrid.stories.mdx +0 -338
  87. package/src/components/Grid/SimpleGrid.test.tsx +0 -79
  88. package/src/components/Grid/SimpleGrid.tsx +0 -49
  89. package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +0 -23
  90. package/src/components/Heading/Heading.stories.mdx +0 -184
  91. package/src/components/Heading/Heading.test.tsx +0 -171
  92. package/src/components/Heading/Heading.tsx +0 -101
  93. package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +0 -90
  94. package/src/components/HelperErrorText/HelperErrorText.stories.mdx +0 -172
  95. package/src/components/HelperErrorText/HelperErrorText.test.tsx +0 -114
  96. package/src/components/HelperErrorText/HelperErrorText.tsx +0 -62
  97. package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +0 -93
  98. package/src/components/Hero/Hero.stories.mdx +0 -378
  99. package/src/components/Hero/Hero.test.tsx +0 -611
  100. package/src/components/Hero/Hero.tsx +0 -203
  101. package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +0 -379
  102. package/src/components/HorizontalRule/HorizontalRule.stories.mdx +0 -73
  103. package/src/components/HorizontalRule/HorizontalRule.test.tsx +0 -54
  104. package/src/components/HorizontalRule/HorizontalRule.tsx +0 -27
  105. package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +0 -44
  106. package/src/components/Icons/Icon.stories.mdx +0 -413
  107. package/src/components/Icons/Icon.test.tsx +0 -120
  108. package/src/components/Icons/Icon.tsx +0 -187
  109. package/src/components/Icons/IconSvgs.tsx +0 -64
  110. package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +0 -129
  111. package/src/components/Image/Image.stories.mdx +0 -332
  112. package/src/components/Image/Image.test.tsx +0 -155
  113. package/src/components/Image/Image.tsx +0 -171
  114. package/src/components/Image/__snapshots__/Image.test.tsx.snap +0 -269
  115. package/src/components/Label/Label.stories.mdx +0 -100
  116. package/src/components/Label/Label.test.tsx +0 -116
  117. package/src/components/Label/Label.tsx +0 -55
  118. package/src/components/Label/__snapshots__/Label.test.tsx.snap +0 -45
  119. package/src/components/Link/Link.stories.mdx +0 -249
  120. package/src/components/Link/Link.test.tsx +0 -224
  121. package/src/components/Link/Link.tsx +0 -178
  122. package/src/components/Link/__snapshots__/Link.test.tsx.snap +0 -286
  123. package/src/components/List/List.stories.mdx +0 -393
  124. package/src/components/List/List.test.tsx +0 -265
  125. package/src/components/List/List.tsx +0 -156
  126. package/src/components/List/__snapshots__/List.test.tsx.snap +0 -213
  127. package/src/components/Logo/Logo.stories.mdx +0 -290
  128. package/src/components/Logo/Logo.test.tsx +0 -116
  129. package/src/components/Logo/Logo.tsx +0 -147
  130. package/src/components/Logo/LogoSvgs.tsx +0 -82
  131. package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +0 -142
  132. package/src/components/Modal/Modal.stories.mdx +0 -301
  133. package/src/components/Modal/Modal.test.tsx +0 -157
  134. package/src/components/Modal/Modal.tsx +0 -154
  135. package/src/components/Modal/__snapshots__/Modal.test.tsx.snap +0 -25
  136. package/src/components/Notification/Notification.stories.mdx +0 -358
  137. package/src/components/Notification/Notification.test.tsx +0 -279
  138. package/src/components/Notification/Notification.tsx +0 -224
  139. package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +0 -525
  140. package/src/components/Pagination/Pagination.stories.mdx +0 -184
  141. package/src/components/Pagination/Pagination.test.tsx +0 -419
  142. package/src/components/Pagination/Pagination.tsx +0 -269
  143. package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -544
  144. package/src/components/Placeholder/Placeholder.tsx +0 -19
  145. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +0 -360
  146. package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +0 -298
  147. package/src/components/ProgressIndicator/ProgressIndicator.tsx +0 -132
  148. package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +0 -434
  149. package/src/components/Radio/Radio.stories.mdx +0 -216
  150. package/src/components/Radio/Radio.test.tsx +0 -247
  151. package/src/components/Radio/Radio.tsx +0 -128
  152. package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +0 -411
  153. package/src/components/RadioGroup/RadioGroup.stories.mdx +0 -478
  154. package/src/components/RadioGroup/RadioGroup.test.tsx +0 -471
  155. package/src/components/RadioGroup/RadioGroup.tsx +0 -170
  156. package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +0 -1430
  157. package/src/components/SearchBar/SearchBar.stories.mdx +0 -518
  158. package/src/components/SearchBar/SearchBar.test.tsx +0 -435
  159. package/src/components/SearchBar/SearchBar.tsx +0 -210
  160. package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +0 -1027
  161. package/src/components/Select/Select.stories.mdx +0 -439
  162. package/src/components/Select/Select.test.tsx +0 -358
  163. package/src/components/Select/Select.tsx +0 -181
  164. package/src/components/Select/__snapshots__/Select.test.tsx.snap +0 -885
  165. package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +0 -142
  166. package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +0 -116
  167. package/src/components/SkeletonLoader/SkeletonLoader.tsx +0 -123
  168. package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +0 -898
  169. package/src/components/SkipNavigation/SkipNavigation.stories.mdx +0 -90
  170. package/src/components/SkipNavigation/SkipNavigation.test.tsx +0 -63
  171. package/src/components/SkipNavigation/SkipNavigation.tsx +0 -51
  172. package/src/components/SkipNavigation/__snapshots__/SkipNavigation.test.tsx.snap +0 -130
  173. package/src/components/Slider/Slider.stories.mdx +0 -628
  174. package/src/components/Slider/Slider.test.tsx +0 -736
  175. package/src/components/Slider/Slider.tsx +0 -322
  176. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +0 -2153
  177. package/src/components/StatusBadge/StatusBadge.stories.mdx +0 -109
  178. package/src/components/StatusBadge/StatusBadge.test.tsx +0 -70
  179. package/src/components/StatusBadge/StatusBadge.tsx +0 -35
  180. package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +0 -47
  181. package/src/components/StructuredContent/StructuredContent.stories.mdx +0 -567
  182. package/src/components/StructuredContent/StructuredContent.test.tsx +0 -435
  183. package/src/components/StructuredContent/StructuredContent.tsx +0 -139
  184. package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +0 -368
  185. package/src/components/StyleGuide/Bidirectionality.stories.mdx +0 -206
  186. package/src/components/StyleGuide/Breakpoints.stories.mdx +0 -55
  187. package/src/components/StyleGuide/Buttons.stories.mdx +0 -194
  188. package/src/components/StyleGuide/ColorCard.tsx +0 -43
  189. package/src/components/StyleGuide/Colors.stories.mdx +0 -201
  190. package/src/components/StyleGuide/DesignTokens.stories.mdx +0 -193
  191. package/src/components/StyleGuide/Forms.stories.mdx +0 -94
  192. package/src/components/StyleGuide/Iconography.stories.mdx +0 -142
  193. package/src/components/StyleGuide/Spacing.stories.mdx +0 -116
  194. package/src/components/StyleGuide/Typography.stories.mdx +0 -419
  195. package/src/components/Table/Table.stories.mdx +0 -276
  196. package/src/components/Table/Table.test.tsx +0 -208
  197. package/src/components/Table/Table.tsx +0 -131
  198. package/src/components/Table/__snapshots__/Table.test.tsx.snap +0 -1703
  199. package/src/components/Tabs/Tabs.stories.mdx +0 -338
  200. package/src/components/Tabs/Tabs.test.tsx +0 -298
  201. package/src/components/Tabs/Tabs.tsx +0 -264
  202. package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +0 -584
  203. package/src/components/Template/Template.stories.mdx +0 -691
  204. package/src/components/Template/Template.test.tsx +0 -309
  205. package/src/components/Template/Template.tsx +0 -326
  206. package/src/components/Template/__snapshots__/Template.test.tsx.snap +0 -342
  207. package/src/components/Text/Text.stories.mdx +0 -103
  208. package/src/components/Text/Text.test.tsx +0 -63
  209. package/src/components/Text/Text.tsx +0 -50
  210. package/src/components/Text/__snapshots__/Text.test.tsx.snap +0 -50
  211. package/src/components/TextInput/TextInput.stories.mdx +0 -268
  212. package/src/components/TextInput/TextInput.test.tsx +0 -451
  213. package/src/components/TextInput/TextInput.tsx +0 -240
  214. package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +0 -264
  215. package/src/components/Toggle/Toggle.stories.mdx +0 -237
  216. package/src/components/Toggle/Toggle.test.tsx +0 -170
  217. package/src/components/Toggle/Toggle.tsx +0 -126
  218. package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +0 -442
  219. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +0 -211
  220. package/src/components/VideoPlayer/VideoPlayer.test.tsx +0 -308
  221. package/src/components/VideoPlayer/VideoPlayer.tsx +0 -188
  222. package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +0 -187
  223. package/src/docs/Chakra.stories.mdx +0 -563
  224. package/src/docs/Welcome.stories.mdx +0 -148
  225. package/src/helpers/types.ts +0 -1
  226. package/src/hooks/tests/useCarouselStyles.test.ts +0 -140
  227. package/src/hooks/tests/useNYPLTheme.test.tsx +0 -36
  228. package/src/hooks/useCarouselStyles.stories.mdx +0 -30
  229. package/src/hooks/useCarouselStyles.ts +0 -35
  230. package/src/hooks/useNYPLTheme.stories.mdx +0 -98
  231. package/src/hooks/useNYPLTheme.ts +0 -91
  232. package/src/hooks/useWindowSize.stories.mdx +0 -23
  233. package/src/hooks/useWindowSize.ts +0 -40
  234. package/src/index.ts +0 -136
  235. package/src/resources.scss +0 -6
  236. package/src/styles/base/_01-breakpoints.scss +0 -27
  237. package/src/styles/base/_02-mixins.scss +0 -103
  238. package/src/styles/base/_place-holder.scss +0 -33
  239. package/src/styles/space/_space-inline.scss +0 -79
  240. package/src/styles/space/_space-inset.scss +0 -57
  241. package/src/styles/space/_space-stack.scss +0 -116
  242. package/src/styles.scss +0 -23
  243. package/src/theme/components/accordion.ts +0 -25
  244. package/src/theme/components/breadcrumb.ts +0 -94
  245. package/src/theme/components/button.ts +0 -132
  246. package/src/theme/components/buttonGroup.ts +0 -10
  247. package/src/theme/components/card.ts +0 -231
  248. package/src/theme/components/checkbox.ts +0 -110
  249. package/src/theme/components/checkboxGroup.ts +0 -10
  250. package/src/theme/components/componentWrapper.ts +0 -14
  251. package/src/theme/components/customTable.ts +0 -77
  252. package/src/theme/components/datePicker.ts +0 -17
  253. package/src/theme/components/fieldset.ts +0 -23
  254. package/src/theme/components/global.ts +0 -91
  255. package/src/theme/components/globalMixins.ts +0 -24
  256. package/src/theme/components/heading.ts +0 -79
  257. package/src/theme/components/helperErrorText.ts +0 -14
  258. package/src/theme/components/hero.ts +0 -238
  259. package/src/theme/components/horizontalRule.ts +0 -17
  260. package/src/theme/components/icon.ts +0 -88
  261. package/src/theme/components/image.ts +0 -135
  262. package/src/theme/components/label.ts +0 -15
  263. package/src/theme/components/link.ts +0 -63
  264. package/src/theme/components/list.ts +0 -88
  265. package/src/theme/components/logo.ts +0 -58
  266. package/src/theme/components/notification.ts +0 -132
  267. package/src/theme/components/pagination.ts +0 -17
  268. package/src/theme/components/progressIndicator.ts +0 -67
  269. package/src/theme/components/radio.ts +0 -103
  270. package/src/theme/components/radioGroup.ts +0 -10
  271. package/src/theme/components/searchBar.ts +0 -19
  272. package/src/theme/components/select.ts +0 -72
  273. package/src/theme/components/skeletonLoader.ts +0 -113
  274. package/src/theme/components/skipNavigation.ts +0 -26
  275. package/src/theme/components/slider.ts +0 -95
  276. package/src/theme/components/statusBadge.ts +0 -26
  277. package/src/theme/components/structuredContent.ts +0 -149
  278. package/src/theme/components/tabs.ts +0 -109
  279. package/src/theme/components/template.ts +0 -114
  280. package/src/theme/components/text.ts +0 -38
  281. package/src/theme/components/textInput.ts +0 -65
  282. package/src/theme/components/toggle.ts +0 -109
  283. package/src/theme/components/videoPlayer.ts +0 -47
  284. package/src/theme/foundations/breakpoints.ts +0 -24
  285. package/src/theme/foundations/colors.ts +0 -212
  286. package/src/theme/foundations/global.ts +0 -43
  287. package/src/theme/foundations/radii.ts +0 -7
  288. package/src/theme/foundations/shadows.ts +0 -5
  289. package/src/theme/foundations/spacing.ts +0 -136
  290. package/src/theme/foundations/typography.ts +0 -107
  291. package/src/theme/index.ts +0 -131
  292. package/src/theme/provider.tsx +0 -9
  293. package/src/theme/types.ts +0 -1
  294. package/src/utils/componentCategories.ts +0 -152
  295. package/src/utils/interfaces.ts +0 -5
  296. package/src/utils/utils.ts +0 -44
@@ -1,378 +0,0 @@
1
- import {
2
- ArgsTable,
3
- Canvas,
4
- Description,
5
- Meta,
6
- Story,
7
- } from "@storybook/addon-docs";
8
- import { withDesign } from "storybook-addon-designs";
9
-
10
- import Heading from "../Heading/Heading";
11
- import Hero, { heroSecondaryTypes } from "./Hero";
12
- import SimpleGrid from "../Grid/SimpleGrid";
13
- import Text from "../Text/Text";
14
- import { getCategory } from "../../utils/componentCategories";
15
- import DSProvider from "../../theme/provider";
16
-
17
- <Meta
18
- title={getCategory("Hero")}
19
- component={Hero}
20
- decorators={[withDesign]}
21
- parameters={{
22
- design: {
23
- type: "figma",
24
- url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=36817%3A23704",
25
- },
26
- jest: ["Hero.test.tsx"],
27
- }}
28
- argTypes={{
29
- backgroundColor: { control: false },
30
- foregroundColor: { control: false },
31
- heading: { control: false },
32
- heroType: {
33
- table: { defaultValue: { summary: "primary" } },
34
- },
35
- imageProps: { control: false },
36
- locationDetails: { control: false },
37
- subHeaderText: { control: false },
38
- }}
39
- />
40
-
41
- export const secondarySubHeaderText = (
42
- <>
43
- Explore our collection of hundreds of online resources and databases. Use
44
- our free online content to help with your research, whether it's finding a
45
- single article, tracing a family tree, learning a new language, or anything
46
- in between.
47
- </>
48
- );
49
- export const otherSubHeaderText =
50
- "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.";
51
- export const imageProps = {
52
- alt: "Image example",
53
- src: "https://placeimg.com/800/400/animals",
54
- };
55
-
56
- # Hero
57
-
58
- | Component Version | DS Version |
59
- | ----------------- | ---------- |
60
- | Added | `0.2.0` |
61
- | Latest | `0.28.0` |
62
-
63
- ## Table of Contents
64
-
65
- - [Overview](#overview)
66
- - [Component Props](#component-props)
67
- - [Accessibility](#accessibility)
68
- - [All Variations](#all-variations)
69
- - [Color Variations for Secondary Hero](#color-variations-for-secondary-hero)
70
-
71
- ## Overview
72
-
73
- <Description of={Hero} />
74
-
75
- The `Hero` component is used to display a full width banner at the top of a page.
76
- The `Hero` will contain a required `h1` page title and may also include optional
77
- descriptive text and images.
78
-
79
- There are currently five main hero types: `"primary"`, `"secondary"`,
80
- `"tertiary"`, `"campaign"`, and `"fiftyFifty"`. Under the `"secondary"` hero type,
81
- there are four additional subtypes: `"secondaryBooksAndMore"`, `"secondaryLocations"`,
82
- `"secondaryResearch"`, and `"secondaryWhatsOn"`.
83
-
84
- For the variations that use image "alt" and "src" attributes, the `imageProps`
85
- prop should be used:
86
-
87
- ```jsx
88
- <Hero
89
- backgroundImageSrc="https://placeimg.com/2400/800/nature/grayscale"
90
- heroType="campaign"
91
- heading={<Heading level="one" id="campaign-hero" text="Hero Campaign" />}
92
- imageProps={{
93
- alt: "Image example",
94
- src: "https://placeimg.com/800/400/animals",
95
- }}
96
- subHeaderText="Campaign Hero Subheader Text"
97
- />
98
- ```
99
-
100
- Note: the `imageProps` prop is not the same as the `backgroundImageSrc` prop used
101
- for some variations. For a full list of what props to use for each variant, check
102
- the [All Variations](#all-variations) section.
103
-
104
- ## Component Props
105
-
106
- <Canvas withToolbar>
107
- <Story
108
- name="Hero with Controls"
109
- args={{
110
- backgroundColor: undefined,
111
- backgroundImageSrc: undefined,
112
- foregroundColor: undefined,
113
- heading: undefined,
114
- heroType: "primary",
115
- imageProps: undefined,
116
- locationDetails: undefined,
117
- subHeaderText: undefined,
118
- }}
119
- >
120
- {(args) =>
121
- (args.heroType === "primary" && (
122
- <Hero
123
- {...args}
124
- backgroundImageSrc="https://placeimg.com/2400/800/nature"
125
- heading={<Heading level="one" id="1" text="Hero Primary" />}
126
- heroType={args.heroType}
127
- subHeaderText="Example Subtitle"
128
- />
129
- )) ||
130
- (heroSecondaryTypes.includes(args.heroType) && (
131
- <div className="nypl--books-and-more">
132
- <Hero
133
- {...args}
134
- heading={<Heading level="one" id="1" text="Hero Secondary" />}
135
- heroType={args.heroType}
136
- imageProps={args.imageProps}
137
- subHeaderText={secondarySubHeaderText}
138
- />
139
- </div>
140
- )) ||
141
- (args.heroType === "tertiary" && (
142
- <Hero
143
- {...args}
144
- heading={<Heading level="one" id="1" text="Hero Tertiary" />}
145
- heroType={args.heroType}
146
- subHeaderText={otherSubHeaderText}
147
- />
148
- )) ||
149
- (args.heroType === "campaign" && (
150
- <Hero
151
- {...args}
152
- backgroundImageSrc="https://placeimg.com/2400/800/nature"
153
- heading={<Heading level="one" id="1" text="Hero Campaign" />}
154
- heroType={args.heroType}
155
- imageProps={args.imageProps}
156
- subHeaderText={otherSubHeaderText}
157
- />
158
- )) ||
159
- (args.heroType === "fiftyFifty" && (
160
- <Hero
161
- {...args}
162
- heroType={args.heroType}
163
- imageProps={args.imageProps}
164
- subHeaderText={otherSubHeaderText}
165
- />
166
- ))
167
- }
168
- </Story>
169
- </Canvas>
170
-
171
- <ArgsTable story="Hero with Controls" />
172
-
173
- ## Accessibility
174
-
175
- The `Hero` component is commonly used as a banner below the page's header and
176
- breadcrumbs and above the main content. This means that if the `Hero` displays
177
- a heading element, it should be the first on the page and an `h1` element set
178
- through `Heading`'s `level="one"`.
179
-
180
- ## All Variations
181
-
182
- Each `Hero` variation can be rendered through the `heroType` prop.
183
-
184
- ### Primary
185
-
186
- The `"primary"` hero type can be used with the `backgroundColor`, `backgroundImageSrc`,
187
- `foregroundColor`, `heading`, `locationDetails`, and `subHeaderText` props. The
188
- minimum props that should be used are `backgroundImageSrc` and `heading`.
189
-
190
- ```jsx
191
- backgroundImageSrc="https://placeimg.com/1600/800/arch"
192
- heading={<Heading level="one" id="primary-hero" text="Hero Primary" />}
193
- ```
194
-
195
- <Canvas>
196
- <DSProvider>
197
- <Hero
198
- backgroundImageSrc="https://placeimg.com/1600/800/arch"
199
- heading={<Heading level="one" id="primary-hero" text="Hero Primary" />}
200
- heroType="primary"
201
- />
202
- </DSProvider>
203
- </Canvas>
204
-
205
- ### Secondary
206
-
207
- The `"secondary"` hero type can be used with the `heading`, `imageProps`, and
208
- `subHeaderText` props.
209
-
210
- ```jsx
211
- heading={
212
- <Heading level="one" id="secondary-hero" text="Hero Secondary" />
213
- }
214
- imageProps={imageProps}
215
- subHeaderText={secondarySubHeaderText}
216
- ```
217
-
218
- <Canvas>
219
- <DSProvider>
220
- <Hero
221
- heading={
222
- <Heading level="one" id="secondary-hero" text="Hero Secondary" />
223
- }
224
- heroType="secondary"
225
- imageProps={imageProps}
226
- subHeaderText={secondarySubHeaderText}
227
- />
228
- </DSProvider>
229
- </Canvas>
230
-
231
- ### Tertiary
232
-
233
- The `"tertiary"` hero type can be used with the `backgroundColor`, `foregroundColor`,
234
- `heading`, and `subHeaderText` props. The minimum prop to use is the `heading`
235
- prop.
236
-
237
- ```jsx
238
- heading={
239
- <Heading
240
- level="one"
241
- id="tertiary-hero"
242
- text="Hero Tertiary with Sub-Header"
243
- />
244
- }
245
- subHeaderText={otherSubHeaderText}
246
- ```
247
-
248
- <Canvas>
249
- <DSProvider>
250
- <Hero
251
- heading={
252
- <Heading
253
- level="one"
254
- id="tertiary-hero"
255
- text="Hero Tertiary with Sub-Header"
256
- />
257
- }
258
- heroType="tertiary"
259
- subHeaderText={otherSubHeaderText}
260
- />
261
- <br />
262
- <Hero
263
- heading={
264
- <Heading
265
- level="one"
266
- id="tertiary-hero"
267
- text="Hero Tertiary without Sub-Header text"
268
- />
269
- }
270
- heroType="tertiary"
271
- />
272
- </DSProvider>
273
- </Canvas>
274
-
275
- ### Campaign
276
-
277
- The `"campaign"` hero type can be used with the `backgroundColor`,
278
- `backgroundImageSrc`, `foregroundColor`, `heading`, `imageProps`, and
279
- `subHeaderText` props. The minimum props to use are `backgroundImageSrc`,
280
- `heading`, and `imageProps`.
281
-
282
- ```jsx
283
- backgroundImageSrc="https://placeimg.com/2400/800/nature/grayscale"
284
- heading={
285
- <Heading level="one" id="campaign-hero" text="Hero Campaign" />
286
- }
287
- imageProps={imageProps}
288
- subHeaderText={otherSubHeaderText}
289
- ```
290
-
291
- <Canvas>
292
- <DSProvider>
293
- <Hero
294
- backgroundImageSrc="https://placeimg.com/2400/800/nature/grayscale"
295
- heroType="campaign"
296
- heading={<Heading level="one" id="campaign-hero" text="Hero Campaign" />}
297
- imageProps={imageProps}
298
- subHeaderText={otherSubHeaderText}
299
- />
300
- </DSProvider>
301
- </Canvas>
302
-
303
- ### FiftyFifty
304
-
305
- The `"fiftyFifty"` hero type can be used with the `backgroundColor`,
306
- `foregroundColor`, `heading`, `imageProps`, and `subHeaderText` props. The
307
- minimum props to use are `imageProps` and `subHeaderText`.
308
-
309
- ```
310
- imageProps={imageProps}
311
- subHeaderText={otherSubHeaderText}
312
- ```
313
-
314
- <Canvas>
315
- <DSProvider>
316
- <Hero
317
- heroType="fiftyFifty"
318
- imageProps={imageProps}
319
- subHeaderText={otherSubHeaderText}
320
- />
321
- </DSProvider>
322
- </Canvas>
323
-
324
- ## Color Variations for Secondary Hero
325
-
326
- The background color for the title bar in the `"secondary"` `Hero` changes based
327
- on the `heroType` variants for the `"secondary"` main variant. There are four
328
- subtypes: `"secondaryBooksAndMore"`, `"secondaryLocations"`, `"secondaryResearch"`,
329
- and `"secondaryWhatsOn"`.
330
-
331
- ```jsx
332
- // Example `heroType` "secondary" variant.
333
- <Hero heroType="secondaryBooksAndMore" {...props} />
334
- ```
335
-
336
- <Canvas>
337
- <Story name="Color Variations for Secondary Hero">
338
- <SimpleGrid columns={1}>
339
- <Heading id="main-secondary-heading" text="secondary" />
340
- <Hero
341
- heading={
342
- <Heading level="one" id="main-secondary-hero" text="Secondary" />
343
- }
344
- heroType="secondary"
345
- imageProps={imageProps}
346
- subHeaderText={secondarySubHeaderText}
347
- />
348
- <Heading id="books-heading" text="secondaryBooksAndMore" />
349
- <Hero
350
- heading={<Heading level="one" id="books-hero" text="Books and More" />}
351
- heroType="secondaryBooksAndMore"
352
- imageProps={imageProps}
353
- subHeaderText={secondarySubHeaderText}
354
- />
355
- <Heading id="location-heading" text="secondaryLocations" />
356
- <Hero
357
- heading={<Heading level="one" id="locations-hero" text="Locations" />}
358
- heroType="secondaryLocations"
359
- imageProps={imageProps}
360
- subHeaderText={secondarySubHeaderText}
361
- />
362
- <Heading id="research-heading" text="secondaryResearch" />
363
- <Hero
364
- heading={<Heading level="one" id="research-hero" text="Research" />}
365
- heroType="secondaryResearch"
366
- imageProps={imageProps}
367
- subHeaderText={secondarySubHeaderText}
368
- />
369
- <Heading id="whats-on-heading" text="secondaryWhatsOn" />
370
- <Hero
371
- heading={<Heading level="one" id="whats-on-hero" text="What's On" />}
372
- heroType="secondaryWhatsOn"
373
- imageProps={imageProps}
374
- subHeaderText={secondarySubHeaderText}
375
- />
376
- </SimpleGrid>
377
- </Story>
378
- </Canvas>