@nypl/design-system-react-components 1.0.1 → 1.0.2

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 (396) hide show
  1. package/CHANGELOG.md +1428 -3
  2. package/README.md +391 -3
  3. package/dist/__tests__/fileMock.d.ts +4 -0
  4. package/dist/__tests__/setup.d.ts +2 -0
  5. package/{lib/stories/0-Welcome.stories.d.ts → dist/__tests__/utils/utils.test.d.ts} +1 -1
  6. package/dist/components/Accordion/Accordion.d.ts +21 -0
  7. package/dist/components/Autosuggest/Autosuggest.stories.d.ts +4 -0
  8. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +18 -0
  9. package/dist/components/Button/Button.d.ts +25 -0
  10. package/dist/components/ButtonGroup/ButtonGroup.d.ts +22 -0
  11. package/dist/components/Card/Card.d.ts +49 -0
  12. package/dist/components/Checkbox/Checkbox.d.ts +47 -0
  13. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +49 -0
  14. package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +29 -0
  15. package/dist/components/DatePicker/DatePicker.d.ts +81 -0
  16. package/dist/components/Fieldset/Fieldset.d.ts +22 -0
  17. package/dist/components/Form/Form.d.ts +29 -0
  18. package/dist/components/Grid/SimpleGrid.d.ts +17 -0
  19. package/dist/components/Heading/Heading.d.ts +27 -0
  20. package/dist/components/HelperErrorText/HelperErrorText.d.ts +29 -0
  21. package/dist/components/Hero/Hero.d.ts +40 -0
  22. package/dist/components/HorizontalRule/HorizontalRule.d.ts +11 -0
  23. package/dist/components/Icons/Icon.d.ts +37 -0
  24. package/dist/components/Icons/IconSvgs.d.ts +33 -0
  25. package/dist/components/Image/Image.d.ts +61 -0
  26. package/dist/components/Label/Label.d.ts +20 -0
  27. package/dist/components/Link/Link.d.ts +20 -0
  28. package/dist/components/List/List.d.ts +35 -0
  29. package/dist/components/Logo/Logo.d.ts +26 -0
  30. package/dist/components/Logo/LogoSvgs.d.ts +46 -0
  31. package/dist/components/Modal/Modal.d.ts +33 -0
  32. package/dist/components/Notification/Notification.d.ts +50 -0
  33. package/dist/components/Pagination/Pagination.d.ts +27 -0
  34. package/dist/components/Placeholder/Placeholder.d.ts +10 -0
  35. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +30 -0
  36. package/dist/components/Radio/Radio.d.ts +43 -0
  37. package/dist/components/RadioGroup/RadioGroup.d.ts +51 -0
  38. package/dist/components/SearchBar/SearchBar.d.ts +61 -0
  39. package/dist/components/Select/Select.d.ts +57 -0
  40. package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +39 -0
  41. package/dist/components/SkipNavigation/SkipNavigation.d.ts +17 -0
  42. package/dist/components/Slider/Slider.d.ts +60 -0
  43. package/dist/components/StatusBadge/StatusBadge.d.ts +16 -0
  44. package/dist/components/StructuredContent/StructuredContent.d.ts +28 -0
  45. package/dist/components/StyleGuide/ColorCard.d.ts +12 -0
  46. package/dist/components/Table/Table.d.ts +29 -0
  47. package/dist/components/Tabs/Tabs.d.ts +26 -0
  48. package/dist/components/Template/Template.d.ts +126 -0
  49. package/dist/components/Text/Text.d.ts +16 -0
  50. package/dist/components/TextInput/TextInput.d.ts +78 -0
  51. package/dist/components/Toggle/Toggle.d.ts +42 -0
  52. package/dist/components/VideoPlayer/VideoPlayer.d.ts +38 -0
  53. package/dist/design-system-react-components.cjs.development.js +11305 -0
  54. package/dist/design-system-react-components.cjs.development.js.map +1 -0
  55. package/dist/design-system-react-components.cjs.production.min.js +2 -0
  56. package/dist/design-system-react-components.cjs.production.min.js.map +1 -0
  57. package/dist/design-system-react-components.esm.js +11150 -0
  58. package/dist/design-system-react-components.esm.js.map +1 -0
  59. package/dist/helpers/types.d.ts +1 -0
  60. package/dist/hooks/tests/useCarouselStyles.test.d.ts +1 -0
  61. package/dist/hooks/useCarouselStyles.d.ts +17 -0
  62. package/dist/hooks/useNYPLTheme.d.ts +66 -0
  63. package/dist/hooks/useWindowSize.d.ts +10 -0
  64. package/dist/index.d.ts +48 -0
  65. package/dist/index.js +8 -0
  66. package/dist/resources.scss +386 -0
  67. package/dist/styles.css +3 -0
  68. package/dist/theme/components/accordion.d.ts +20 -0
  69. package/dist/theme/components/breadcrumb.d.ts +105 -0
  70. package/dist/theme/components/button.d.ts +120 -0
  71. package/dist/theme/components/buttonGroup.d.ts +11 -0
  72. package/dist/theme/components/card.d.ts +381 -0
  73. package/dist/theme/components/checkbox.d.ts +95 -0
  74. package/dist/theme/components/checkboxGroup.d.ts +14 -0
  75. package/dist/theme/components/componentWrapper.d.ts +12 -0
  76. package/dist/theme/components/customTable.d.ts +136 -0
  77. package/dist/theme/components/datePicker.d.ts +16 -0
  78. package/dist/theme/components/fieldset.d.ts +20 -0
  79. package/dist/theme/components/global.d.ts +73 -0
  80. package/dist/theme/components/globalMixins.d.ts +23 -0
  81. package/dist/theme/components/heading.d.ts +160 -0
  82. package/dist/theme/components/helperErrorText.d.ts +12 -0
  83. package/dist/theme/components/hero.d.ts +499 -0
  84. package/dist/theme/components/horizontalRule.d.ts +15 -0
  85. package/dist/theme/components/icon.d.ts +47755 -0
  86. package/dist/theme/components/image.d.ts +590 -0
  87. package/dist/theme/components/label.d.ts +18 -0
  88. package/dist/theme/components/link.d.ts +62 -0
  89. package/dist/theme/components/list.d.ts +182 -0
  90. package/dist/theme/components/logo.d.ts +477 -0
  91. package/dist/theme/components/notification.d.ts +95 -0
  92. package/dist/theme/components/pagination.d.ts +16 -0
  93. package/dist/theme/components/progressIndicator.d.ts +52 -0
  94. package/dist/theme/components/radio.d.ts +99 -0
  95. package/dist/theme/components/radioGroup.d.ts +14 -0
  96. package/dist/theme/components/searchBar.d.ts +18 -0
  97. package/dist/theme/components/select.d.ts +87 -0
  98. package/dist/theme/components/skeletonLoader.d.ts +102 -0
  99. package/dist/theme/components/skipNavigation.d.ts +25 -0
  100. package/dist/theme/components/slider.d.ts +59 -0
  101. package/dist/theme/components/statusBadge.d.ts +25 -0
  102. package/dist/theme/components/structuredContent.d.ts +226 -0
  103. package/dist/theme/components/tabs.d.ts +136 -0
  104. package/dist/theme/components/template.d.ts +105 -0
  105. package/dist/theme/components/text.d.ts +26 -0
  106. package/dist/theme/components/textInput.d.ts +124 -0
  107. package/dist/theme/components/toggle.d.ts +92 -0
  108. package/dist/theme/components/videoPlayer.d.ts +40 -0
  109. package/dist/theme/foundations/breakpoints.d.ts +23 -0
  110. package/dist/theme/foundations/colors.d.ts +3 -0
  111. package/dist/theme/foundations/global.d.ts +58 -0
  112. package/dist/theme/foundations/radii.d.ts +6 -0
  113. package/dist/theme/foundations/shadows.d.ts +4 -0
  114. package/dist/theme/foundations/spacing.d.ts +82 -0
  115. package/dist/theme/foundations/typography.d.ts +8 -0
  116. package/dist/theme/index.d.ts +20 -0
  117. package/dist/theme/provider.d.ts +3 -0
  118. package/dist/theme/types.d.ts +1 -0
  119. package/dist/utils/componentCategories.d.ts +1 -0
  120. package/dist/utils/interfaces.d.ts +5 -0
  121. package/dist/utils/utils.d.ts +31 -0
  122. package/package.json +133 -20
  123. package/src/__tests__/fileMock.ts +6 -0
  124. package/src/__tests__/setup.ts +27 -0
  125. package/src/__tests__/utils/utils.test.ts +18 -0
  126. package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +42 -0
  127. package/src/components/Accordion/Accordion.stories.mdx +333 -0
  128. package/src/components/Accordion/Accordion.test.tsx +237 -0
  129. package/src/components/Accordion/Accordion.tsx +137 -0
  130. package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +734 -0
  131. package/src/components/Autosuggest/Autosuggest.stories.mdx +75 -0
  132. package/src/components/Autosuggest/Autosuggest.stories.tsx +211 -0
  133. package/src/components/Autosuggest/_Autosuggest.scss +51 -0
  134. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +231 -0
  135. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +144 -0
  136. package/src/components/Breadcrumbs/Breadcrumbs.tsx +98 -0
  137. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +695 -0
  138. package/src/components/Button/Button.stories.mdx +320 -0
  139. package/src/components/Button/Button.test.tsx +184 -0
  140. package/src/components/Button/Button.tsx +95 -0
  141. package/src/components/Button/__snapshots__/Button.test.tsx.snap +106 -0
  142. package/src/components/ButtonGroup/ButtonGroup.stories.mdx +178 -0
  143. package/src/components/ButtonGroup/ButtonGroup.test.tsx +141 -0
  144. package/src/components/ButtonGroup/ButtonGroup.tsx +100 -0
  145. package/src/components/ButtonGroup/__snapshots__/ButtonGroup.test.tsx.snap +117 -0
  146. package/src/components/Card/Card.stories.mdx +1041 -0
  147. package/src/components/Card/Card.test.tsx +388 -0
  148. package/src/components/Card/Card.tsx +346 -0
  149. package/src/components/Card/__snapshots__/Card.test.tsx.snap +568 -0
  150. package/src/components/Chakra/Box.stories.mdx +52 -0
  151. package/src/components/Chakra/Center.stories.mdx +96 -0
  152. package/src/components/Chakra/Flex.stories.mdx +111 -0
  153. package/src/components/Chakra/Grid.stories.mdx +89 -0
  154. package/src/components/Chakra/Stack.stories.mdx +109 -0
  155. package/src/components/Checkbox/Checkbox.stories.mdx +243 -0
  156. package/src/components/Checkbox/Checkbox.test.tsx +350 -0
  157. package/src/components/Checkbox/Checkbox.tsx +152 -0
  158. package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +661 -0
  159. package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +462 -0
  160. package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +492 -0
  161. package/src/components/CheckboxGroup/CheckboxGroup.tsx +173 -0
  162. package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +1842 -0
  163. package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +163 -0
  164. package/src/components/ComponentWrapper/ComponentWrapper.tsx +76 -0
  165. package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +103 -0
  166. package/src/components/DatePicker/DatePicker.stories.mdx +452 -0
  167. package/src/components/DatePicker/DatePicker.test.tsx +940 -0
  168. package/src/components/DatePicker/DatePicker.tsx +450 -0
  169. package/src/components/DatePicker/_DatePicker.scss +100 -0
  170. package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +908 -0
  171. package/src/components/Fieldset/Fieldset.stories.mdx +96 -0
  172. package/src/components/Fieldset/Fieldset.test.tsx +155 -0
  173. package/src/components/Fieldset/Fieldset.tsx +55 -0
  174. package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +89 -0
  175. package/src/components/Form/Form.stories.mdx +426 -0
  176. package/src/components/Form/Form.test.tsx +234 -0
  177. package/src/components/Form/Form.tsx +124 -0
  178. package/src/components/Form/__snapshots__/Form.test.tsx.snap +115 -0
  179. package/src/components/Grid/SimpleGrid.stories.mdx +336 -0
  180. package/src/components/Grid/SimpleGrid.test.tsx +79 -0
  181. package/src/components/Grid/SimpleGrid.tsx +49 -0
  182. package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +23 -0
  183. package/src/components/Heading/Heading.stories.mdx +187 -0
  184. package/src/components/Heading/Heading.test.tsx +171 -0
  185. package/src/components/Heading/Heading.tsx +104 -0
  186. package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +90 -0
  187. package/src/components/HelperErrorText/HelperErrorText.stories.mdx +172 -0
  188. package/src/components/HelperErrorText/HelperErrorText.test.tsx +114 -0
  189. package/src/components/HelperErrorText/HelperErrorText.tsx +62 -0
  190. package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +93 -0
  191. package/src/components/Hero/Hero.stories.mdx +378 -0
  192. package/src/components/Hero/Hero.test.tsx +611 -0
  193. package/src/components/Hero/Hero.tsx +203 -0
  194. package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +379 -0
  195. package/src/components/HorizontalRule/HorizontalRule.stories.mdx +73 -0
  196. package/src/components/HorizontalRule/HorizontalRule.test.tsx +54 -0
  197. package/src/components/HorizontalRule/HorizontalRule.tsx +27 -0
  198. package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +44 -0
  199. package/src/components/Icons/Icon.stories.mdx +413 -0
  200. package/src/components/Icons/Icon.test.tsx +120 -0
  201. package/src/components/Icons/Icon.tsx +187 -0
  202. package/src/components/Icons/IconSvgs.tsx +64 -0
  203. package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +129 -0
  204. package/src/components/Image/Image.stories.mdx +332 -0
  205. package/src/components/Image/Image.test.tsx +155 -0
  206. package/src/components/Image/Image.tsx +171 -0
  207. package/src/components/Image/__snapshots__/Image.test.tsx.snap +269 -0
  208. package/src/components/Label/Label.stories.mdx +100 -0
  209. package/src/components/Label/Label.test.tsx +116 -0
  210. package/src/components/Label/Label.tsx +55 -0
  211. package/src/components/Label/__snapshots__/Label.test.tsx.snap +45 -0
  212. package/src/components/Link/Link.stories.mdx +249 -0
  213. package/src/components/Link/Link.test.tsx +224 -0
  214. package/src/components/Link/Link.tsx +178 -0
  215. package/src/components/Link/__snapshots__/Link.test.tsx.snap +286 -0
  216. package/src/components/List/List.stories.mdx +393 -0
  217. package/src/components/List/List.test.tsx +265 -0
  218. package/src/components/List/List.tsx +156 -0
  219. package/src/components/List/__snapshots__/List.test.tsx.snap +213 -0
  220. package/src/components/Logo/Logo.stories.mdx +295 -0
  221. package/src/components/Logo/Logo.test.tsx +116 -0
  222. package/src/components/Logo/Logo.tsx +151 -0
  223. package/src/components/Logo/LogoSvgs.tsx +90 -0
  224. package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +142 -0
  225. package/src/components/Modal/Modal.stories.mdx +294 -0
  226. package/src/components/Modal/Modal.test.tsx +157 -0
  227. package/src/components/Modal/Modal.tsx +154 -0
  228. package/src/components/Modal/__snapshots__/Modal.test.tsx.snap +25 -0
  229. package/src/components/Notification/Notification.stories.mdx +358 -0
  230. package/src/components/Notification/Notification.test.tsx +279 -0
  231. package/src/components/Notification/Notification.tsx +224 -0
  232. package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +525 -0
  233. package/src/components/Pagination/Pagination.stories.mdx +184 -0
  234. package/src/components/Pagination/Pagination.test.tsx +419 -0
  235. package/src/components/Pagination/Pagination.tsx +269 -0
  236. package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +544 -0
  237. package/src/components/Placeholder/Placeholder.tsx +19 -0
  238. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +360 -0
  239. package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +298 -0
  240. package/src/components/ProgressIndicator/ProgressIndicator.tsx +132 -0
  241. package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +434 -0
  242. package/src/components/Radio/Radio.stories.mdx +216 -0
  243. package/src/components/Radio/Radio.test.tsx +247 -0
  244. package/src/components/Radio/Radio.tsx +119 -0
  245. package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +451 -0
  246. package/src/components/RadioGroup/RadioGroup.stories.mdx +479 -0
  247. package/src/components/RadioGroup/RadioGroup.test.tsx +471 -0
  248. package/src/components/RadioGroup/RadioGroup.tsx +171 -0
  249. package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +1550 -0
  250. package/src/components/SearchBar/SearchBar.stories.mdx +518 -0
  251. package/src/components/SearchBar/SearchBar.test.tsx +435 -0
  252. package/src/components/SearchBar/SearchBar.tsx +210 -0
  253. package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +1049 -0
  254. package/src/components/Select/Select.stories.mdx +439 -0
  255. package/src/components/Select/Select.test.tsx +358 -0
  256. package/src/components/Select/Select.tsx +183 -0
  257. package/src/components/Select/__snapshots__/Select.test.tsx.snap +895 -0
  258. package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +142 -0
  259. package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +116 -0
  260. package/src/components/SkeletonLoader/SkeletonLoader.tsx +123 -0
  261. package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +898 -0
  262. package/src/components/SkipNavigation/SkipNavigation.stories.mdx +90 -0
  263. package/src/components/SkipNavigation/SkipNavigation.test.tsx +63 -0
  264. package/src/components/SkipNavigation/SkipNavigation.tsx +51 -0
  265. package/src/components/SkipNavigation/__snapshots__/SkipNavigation.test.tsx.snap +130 -0
  266. package/src/components/Slider/Slider.stories.mdx +628 -0
  267. package/src/components/Slider/Slider.test.tsx +736 -0
  268. package/src/components/Slider/Slider.tsx +322 -0
  269. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +2186 -0
  270. package/src/components/StatusBadge/StatusBadge.stories.mdx +109 -0
  271. package/src/components/StatusBadge/StatusBadge.test.tsx +70 -0
  272. package/src/components/StatusBadge/StatusBadge.tsx +35 -0
  273. package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +47 -0
  274. package/src/components/StructuredContent/StructuredContent.stories.mdx +567 -0
  275. package/src/components/StructuredContent/StructuredContent.test.tsx +435 -0
  276. package/src/components/StructuredContent/StructuredContent.tsx +139 -0
  277. package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +368 -0
  278. package/src/components/StyleGuide/Bidirectionality.stories.mdx +206 -0
  279. package/src/components/StyleGuide/Breakpoints.stories.mdx +55 -0
  280. package/src/components/StyleGuide/Buttons.stories.mdx +194 -0
  281. package/src/components/StyleGuide/ColorCard.tsx +43 -0
  282. package/src/components/StyleGuide/Colors.stories.mdx +201 -0
  283. package/src/components/StyleGuide/DesignTokens.stories.mdx +193 -0
  284. package/src/components/StyleGuide/Forms.stories.mdx +94 -0
  285. package/src/components/StyleGuide/Iconography.stories.mdx +142 -0
  286. package/src/components/StyleGuide/Spacing.stories.mdx +116 -0
  287. package/src/components/StyleGuide/Typography.stories.mdx +419 -0
  288. package/src/components/Table/Table.stories.mdx +272 -0
  289. package/src/components/Table/Table.test.tsx +241 -0
  290. package/src/components/Table/Table.tsx +152 -0
  291. package/src/components/Table/__snapshots__/Table.test.tsx.snap +1703 -0
  292. package/src/components/Tabs/Tabs.stories.mdx +338 -0
  293. package/src/components/Tabs/Tabs.test.tsx +298 -0
  294. package/src/components/Tabs/Tabs.tsx +264 -0
  295. package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +584 -0
  296. package/src/components/Template/Template.stories.mdx +695 -0
  297. package/src/components/Template/Template.test.tsx +309 -0
  298. package/src/components/Template/Template.tsx +326 -0
  299. package/src/components/Template/__snapshots__/Template.test.tsx.snap +342 -0
  300. package/src/components/Text/Text.stories.mdx +103 -0
  301. package/src/components/Text/Text.test.tsx +63 -0
  302. package/src/components/Text/Text.tsx +50 -0
  303. package/src/components/Text/__snapshots__/Text.test.tsx.snap +50 -0
  304. package/src/components/TextInput/TextInput.stories.mdx +268 -0
  305. package/src/components/TextInput/TextInput.test.tsx +451 -0
  306. package/src/components/TextInput/TextInput.tsx +240 -0
  307. package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +274 -0
  308. package/src/components/Toggle/Toggle.stories.mdx +237 -0
  309. package/src/components/Toggle/Toggle.test.tsx +170 -0
  310. package/src/components/Toggle/Toggle.tsx +128 -0
  311. package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +470 -0
  312. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +212 -0
  313. package/src/components/VideoPlayer/VideoPlayer.test.tsx +308 -0
  314. package/src/components/VideoPlayer/VideoPlayer.tsx +188 -0
  315. package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +192 -0
  316. package/src/docs/Chakra.stories.mdx +563 -0
  317. package/src/docs/Welcome.stories.mdx +148 -0
  318. package/src/helpers/types.ts +1 -0
  319. package/src/hooks/tests/useCarouselStyles.test.ts +140 -0
  320. package/src/hooks/tests/useNYPLTheme.test.tsx +36 -0
  321. package/src/hooks/useCarouselStyles.stories.mdx +30 -0
  322. package/src/hooks/useCarouselStyles.ts +35 -0
  323. package/src/hooks/useNYPLTheme.stories.mdx +98 -0
  324. package/src/hooks/useNYPLTheme.ts +91 -0
  325. package/src/hooks/useWindowSize.stories.mdx +23 -0
  326. package/src/hooks/useWindowSize.ts +40 -0
  327. package/src/index.ts +136 -0
  328. package/src/resources.scss +6 -0
  329. package/src/styles/base/_01-breakpoints.scss +27 -0
  330. package/src/styles/base/_02-mixins.scss +103 -0
  331. package/src/styles/base/_place-holder.scss +33 -0
  332. package/src/styles/space/_space-inline.scss +79 -0
  333. package/src/styles/space/_space-inset.scss +57 -0
  334. package/src/styles/space/_space-stack.scss +116 -0
  335. package/src/styles.scss +23 -0
  336. package/src/theme/components/accordion.ts +25 -0
  337. package/src/theme/components/breadcrumb.ts +94 -0
  338. package/src/theme/components/button.ts +133 -0
  339. package/src/theme/components/buttonGroup.ts +10 -0
  340. package/src/theme/components/card.ts +237 -0
  341. package/src/theme/components/checkbox.ts +110 -0
  342. package/src/theme/components/checkboxGroup.ts +10 -0
  343. package/src/theme/components/componentWrapper.ts +14 -0
  344. package/src/theme/components/customTable.ts +77 -0
  345. package/src/theme/components/datePicker.ts +17 -0
  346. package/src/theme/components/fieldset.ts +23 -0
  347. package/src/theme/components/global.ts +91 -0
  348. package/src/theme/components/globalMixins.ts +24 -0
  349. package/src/theme/components/heading.ts +79 -0
  350. package/src/theme/components/helperErrorText.ts +14 -0
  351. package/src/theme/components/hero.ts +238 -0
  352. package/src/theme/components/horizontalRule.ts +17 -0
  353. package/src/theme/components/icon.ts +88 -0
  354. package/src/theme/components/image.ts +136 -0
  355. package/src/theme/components/label.ts +15 -0
  356. package/src/theme/components/link.ts +63 -0
  357. package/src/theme/components/list.ts +88 -0
  358. package/src/theme/components/logo.ts +58 -0
  359. package/src/theme/components/notification.ts +132 -0
  360. package/src/theme/components/pagination.ts +17 -0
  361. package/src/theme/components/progressIndicator.ts +67 -0
  362. package/src/theme/components/radio.ts +103 -0
  363. package/src/theme/components/radioGroup.ts +10 -0
  364. package/src/theme/components/searchBar.ts +19 -0
  365. package/src/theme/components/select.ts +72 -0
  366. package/src/theme/components/skeletonLoader.ts +113 -0
  367. package/src/theme/components/skipNavigation.ts +29 -0
  368. package/src/theme/components/slider.ts +95 -0
  369. package/src/theme/components/statusBadge.ts +26 -0
  370. package/src/theme/components/structuredContent.ts +149 -0
  371. package/src/theme/components/tabs.ts +109 -0
  372. package/src/theme/components/template.ts +114 -0
  373. package/src/theme/components/text.ts +38 -0
  374. package/src/theme/components/textInput.ts +65 -0
  375. package/src/theme/components/toggle.ts +109 -0
  376. package/src/theme/components/videoPlayer.ts +47 -0
  377. package/src/theme/foundations/breakpoints.ts +24 -0
  378. package/src/theme/foundations/colors.ts +212 -0
  379. package/src/theme/foundations/global.ts +43 -0
  380. package/src/theme/foundations/radii.ts +7 -0
  381. package/src/theme/foundations/shadows.ts +5 -0
  382. package/src/theme/foundations/spacing.ts +136 -0
  383. package/src/theme/foundations/typography.ts +107 -0
  384. package/src/theme/index.ts +131 -0
  385. package/src/theme/provider.tsx +9 -0
  386. package/src/theme/types.ts +1 -0
  387. package/src/utils/componentCategories.ts +152 -0
  388. package/src/utils/interfaces.ts +5 -0
  389. package/src/utils/utils.ts +84 -0
  390. package/lib/components/Button/Button.d.ts +0 -17
  391. package/lib/components/Button/Button.js +0 -42
  392. package/lib/index.d.ts +0 -1
  393. package/lib/index.js +0 -6
  394. package/lib/stories/0-Welcome.stories.js +0 -19
  395. package/lib/stories/1-Button.stories.d.ts +0 -6
  396. package/lib/stories/1-Button.stories.js +0 -20
@@ -0,0 +1,567 @@
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 StructuredContent from "./StructuredContent";
11
+ import DSProvider from "../../theme/provider";
12
+ import { getCategory } from "../../utils/componentCategories";
13
+
14
+ <Meta
15
+ title={getCategory("StructuredContent")}
16
+ component={StructuredContent}
17
+ decorators={[withDesign]}
18
+ parameters={{
19
+ design: {
20
+ type: "figma",
21
+ url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=36818%3A24923",
22
+ },
23
+ jest: ["StructuredContent.test.tsx"],
24
+ }}
25
+ argTypes={{
26
+ className: { control: false },
27
+ id: { control: false },
28
+ "imageProps.aspectRatio": {
29
+ table: {
30
+ defaultValue: { summary: "square" },
31
+ },
32
+ },
33
+ "imageProps.component": { control: false },
34
+ "imageProps.position": {
35
+ table: {
36
+ defaultValue: { summary: "left" },
37
+ },
38
+ },
39
+ "imageProps.size": {
40
+ table: {
41
+ defaultValue: { summary: "medium" },
42
+ },
43
+ },
44
+ }}
45
+ />
46
+
47
+ # StructuredContent
48
+
49
+ | Component Version | DS Version |
50
+ | ----------------- | ---------- |
51
+ | Added | `0.25.9` |
52
+ | Latest | `0.28.0` |
53
+
54
+ ## Table of Contents
55
+
56
+ - [Overview](#overview)
57
+ - [Component Props](#component-props)
58
+ - [Accessibility](#accessibility)
59
+ - [With HTML String Text Content](#with-html-string-text-content)
60
+ - [With HTML Element Text Content](#with-html-element-text-content)
61
+ - [Examples](#examples)
62
+
63
+ ## Overview
64
+
65
+ <Description of={StructuredContent} />
66
+
67
+ ## Component Props
68
+
69
+ <Canvas withToolbar>
70
+ <Story
71
+ name="StructuredContent with Controls"
72
+ args={{
73
+ bodyContent:
74
+ "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod" +
75
+ " tempor incididunt ut labore et dolore magna aliqua. Pellentesque massa" +
76
+ " placerat duis ultricies lacus sed turpis tincidunt. Porttitor eget " +
77
+ "dolor morbi non arcu risus quis varius. Faucibus in ornare quam viverra" +
78
+ " orci sagittis. Nisl vel pretium lectus quam id leo in. Etiam dignissim" +
79
+ " diam quis enim lobortis scelerisque fermentum. Diam maecenas sed enim" +
80
+ " ut sem viverra. Diam quam nulla porttitor massa id neque. Sed " +
81
+ "faucibus turpis in eu mi. Ornare lectus sit amet est placerat in. " +
82
+ "Quis blandit turpis cursus in. Aliquam ut porttitor leo a diam " +
83
+ "sollicitudin tempor id eu. Pellentesque eu tincidunt tortor aliquam " +
84
+ "nulla facilisi cras fermentum. Porttitor leo a diam sollicitudin " +
85
+ "tempor id eu nisl nunc. Feugiat nisl pretium fusce id velit ut tortor. " +
86
+ "Mauris nunc congue nisi vitae suscipit tellus mauris a diam. Purus " +
87
+ "gravida quis blandit turpis cursus in hac. Morbi tempus iaculis urna id " +
88
+ "volutpat. Lectus nulla at volutpat diam ut venenatis. Donec ac odio " +
89
+ "tempor orci dapibus ultrices in iaculis. Dui vivamus arcu felis " +
90
+ "bibendum ut tristique. Cras semper auctor neque vitae tempus quam " +
91
+ "pellentesque. Placerat orci nulla pellentesque dignissim enim sit " +
92
+ "amet. Feugiat pretium nibh ipsum consequat. Placerat orci nulla " +
93
+ "pellentesque dignissim. Suspendisse faucibus interdum posuere lorem. " +
94
+ "Nullam non nisi est sit. Turpis egestas integer eget aliquet nibh " +
95
+ "praesent. Tortor at risus viverra adipiscing at. Eu augue ut lectus " +
96
+ "arcu bibendum at varius vel pharetra.",
97
+ calloutText: "This is the callout text",
98
+ className: undefined,
99
+ headingText: "Heading text",
100
+ id: "structured-content",
101
+ "imageProps.alt": "Image alt text",
102
+ "imageProps.aspectRatio": "square",
103
+ "imageProps.caption": "Image caption",
104
+ "imageProps.component": undefined,
105
+ "imageProps.credit": "Image credit",
106
+ "imageProps.position": "left",
107
+ "imageProps.size": "medium",
108
+ "imageProps.src": "https://placeimg.com/400/300/animals",
109
+ }}
110
+ >
111
+ {(args) => (
112
+ <StructuredContent
113
+ bodyContent={args.bodyContent}
114
+ calloutText={args.calloutText}
115
+ className={args.className}
116
+ headingText={args.headingText}
117
+ id={args.id}
118
+ imageProps={{
119
+ alt: args["imageProps.alt"],
120
+ aspectRatio: args["imageProps.aspectRatio"],
121
+ caption: args["imageProps.caption"],
122
+ credit: args["imageProps.credit"],
123
+ position: args["imageProps.position"],
124
+ size: args["imageProps.size"],
125
+ src: args["imageProps.src"],
126
+ }}
127
+ />
128
+ )}
129
+ </Story>
130
+ </Canvas>
131
+
132
+ <ArgsTable story="StructuredContent with Controls" />
133
+
134
+ ## Accessibility
135
+
136
+ The `StructuredContent` component is a structured container around a specific
137
+ set of content. While the main image can be controlled through the `imageProps`
138
+ prop, the content will not always be controlled. If the content that is being
139
+ passed is coming from a CMS, the content can contain any set of HTML elements that
140
+ are _not_ controlled through Reservoir DS components. While this component
141
+ attempts to style the added elements, we cannot guarantee that the content will
142
+ be accessible. Please review your content and make sure that:
143
+
144
+ - The content's font-size to be scaled to 200% without content overlapping.
145
+ - Any additional images have descriptive (but not too lengthy) alt text.
146
+ - Any additional heading levels should not be skipped. Meaning, a `<h2>` should
147
+ not be followed by a `<h4>`.
148
+ - Any links or text with colors should have a 4.5:1 contrast ratio.
149
+
150
+ ## With HTML String Text Content
151
+
152
+ The following body content is passed as a string to the `bodyContent` prop. It
153
+ includes HTML tags in the string.
154
+
155
+ <Canvas>
156
+ <Story name="With HTML String Text Content">
157
+ <StructuredContent
158
+ calloutText="This is the callout text"
159
+ headingText="Heading text"
160
+ imageProps={{
161
+ alt: "Image alt text",
162
+ aspectRatio: "original",
163
+ caption: "Image caption",
164
+ credit: "Image credit",
165
+ position: "left",
166
+ size: "medium",
167
+ src: "https://placeimg.com/400/300/animals",
168
+ }}
169
+ bodyContent={
170
+ "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do " +
171
+ "eiusmod tempor incididunt ut labore et dolore magna aliqua. " +
172
+ "Pellentesque massa placerat duis ultricies lacus sed turpis tincidunt. " +
173
+ "<a href='#'>Porttitor eget dolor</a> morbi non arcu risus quis varius. " +
174
+ "Faucibus in ornare quam viverra orci sagittis.</p><p>Nisl vel pretium " +
175
+ "lectus quam id leo in. Etiam dignissim diam quis enim lobortis " +
176
+ "scelerisque fermentum. Diam maecenas sed enim ut sem viverra. <b>Diam " +
177
+ "quam nulla porttitor massa id neque. Sed faucibus turpis in eu mi. " +
178
+ "</b></p><p>Ornare lectus sit amet est placerat in. Quis blandit turpis " +
179
+ "cursus in. Aliquam ut porttitor leo a diam sollicitudin tempor id eu. " +
180
+ "Pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. " +
181
+ "Porttitor leo a diam sollicitudin tempor id eu nisl nunc. Feugiat" +
182
+ "nisl pretium fusce id velit ut tortor. Porttitor leo a diam sollicitudin " +
183
+ "tempor id eu nisl nunc.</p><ul><li>one</li><li>two</li>" +
184
+ "<li>three</li><li>four</li></ul><p><i>Mauris nunc congue nisi vitae suscipit" +
185
+ "tellus mauris a diam. Purus gravida quis blandit turpis cursus in hac." +
186
+ "Morbi tempus iaculis urna id volutpat. Lectus nulla at volutpat diam ut" +
187
+ "venenatis. Donec ac odio tempor orci dapibus ultrices in iaculis. Dui vivamus" +
188
+ "arcu felis bibendum ut tristique. Cras semper auctor neque vitae tempus" +
189
+ "quam pellentesque. Placerat orci nulla pellentesque dignissim enim sit" +
190
+ "amet. Feugiat pretium nibh ipsum consequat. Placerat orci nulla pellentesque" +
191
+ "dignissim. Suspendisse faucibus interdum posuere lorem. Nullam non nisi" +
192
+ "est sit. Turpis egestas integer eget aliquet nibh praesent. Tortor at risus" +
193
+ "viverra adipiscing at. Eu augue ut lectus arcu bibendum at varius vel" +
194
+ "pharetra.</i></p>"
195
+ }
196
+ />
197
+ </Story>
198
+ </Canvas>
199
+
200
+ ## With HTML Element Text Content
201
+
202
+ The following content is passed as HTML DOM elements to the `bodyContent` prop.
203
+
204
+ <Canvas>
205
+ <Story name="With HTML Element Text Content">
206
+ <StructuredContent
207
+ calloutText="This is the callout text"
208
+ headingText="Heading text"
209
+ imageProps={{
210
+ alt: "Image alt text",
211
+ aspectRatio: "original",
212
+ caption: "Image caption",
213
+ credit: "Image credit",
214
+ position: "left",
215
+ size: "medium",
216
+ src: "https://placeimg.com/400/300/animals",
217
+ }}
218
+ bodyContent={
219
+ <>
220
+ <p>
221
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
222
+ eiusmod tempor incididunt ut labore et dolore magna aliqua.
223
+ Pellentesque massa placerat duis ultricies lacus sed turpis
224
+ tincidunt. <a href="#">Porttitor eget dolor</a> morbi non arcu risus
225
+ quis varius. Faucibus in ornare quam viverra orci sagittis.
226
+ </p>
227
+ <p>
228
+ Nisl vel pretium lectus quam id leo in. Etiam dignissim diam quis
229
+ enim lobortis scelerisque fermentum. Diam maecenas sed enim ut sem
230
+ viverra.{" "}
231
+ <b>
232
+ Diam quam nulla porttitor massa id neque. Sed faucibus turpis in
233
+ eu mi.
234
+ </b>
235
+ </p>
236
+ <p>
237
+ Ornare lectus sit amet est placerat in. Quis blandit turpis cursus
238
+ in. Aliquam ut porttitor leo a diam sollicitudin tempor id eu.
239
+ Pellentesque eu tincidunt tortor aliquam nulla facilisi cras
240
+ fermentum. Porttitor leo a diam sollicitudin tempor id eu nisl nunc.
241
+ Feugiat nisl pretium fusce id velit ut tortor. Porttitor leo a diam
242
+ sollicitudin tempor id eu nisl nunc.
243
+ </p>
244
+ <h3 id="dates-times">Dates and Times</h3>
245
+ <table role="table" id="times-table">
246
+ <thead>
247
+ <tr role="row">
248
+ <th scope="col">Day</th>
249
+ <th scope="col">Time</th>
250
+ <th scope="col">Presentation</th>
251
+ <th scope="col">Topic</th>
252
+ </tr>
253
+ </thead>
254
+ <tbody>
255
+ <tr role="row">
256
+ <td>Sunday</td>
257
+ <td>7:00 PM</td>
258
+ <td>Tom Nook</td>
259
+ <td>Manhattan</td>
260
+ </tr>
261
+ <tr role="row">
262
+ <td>Monday</td>
263
+ <td>7:00 PM</td>
264
+ <td>Tom Nook</td>
265
+ <td>The Bronx</td>
266
+ </tr>
267
+ <tr role="row">
268
+ <td>Tuesday</td>
269
+ <td>7:00 PM</td>
270
+ <td>Tom Nook</td>
271
+ <td>Queens</td>
272
+ </tr>
273
+ <tr role="row">
274
+ <td>Wednesday</td>
275
+ <td>7:00 PM</td>
276
+ <td>Tom Nook</td>
277
+ <td>Staten Island</td>
278
+ </tr>
279
+ <tr role="row">
280
+ <td>Thursday</td>
281
+ <td>7:00 PM</td>
282
+ <td>Tom Nook</td>
283
+ <td>Brooklyn</td>
284
+ </tr>
285
+ <tr role="row">
286
+ <td>Friday</td>
287
+ <td>7:00 PM</td>
288
+ <td>Tom Nook</td>
289
+ <td>Long Island</td>
290
+ </tr>
291
+ <tr role="row">
292
+ <td>Saturday</td>
293
+ <td>7:00 PM</td>
294
+ <td>Tom Nook</td>
295
+ <td>Upstate</td>
296
+ </tr>
297
+ </tbody>
298
+ </table>
299
+ <h3 id="parting-thoughts">Parting Thoughts</h3>
300
+ <ol id="thoughts-list">
301
+ <li>All text was read</li>
302
+ <li>The two videos were watched</li>
303
+ <li>All images were reviewed</li>
304
+ <li>Notes were taken on a small notepad</li>
305
+ <li>You enjoyed yourself</li>
306
+ </ol>
307
+ <p>
308
+ <i>
309
+ Mauris nunc congue nisi vitae suscipit tellus mauris a diam. Purus
310
+ gravida quis blandit turpis cursus in hac. Morbi tempus iaculis
311
+ urna id volutpat. Lectus nulla at volutpat diam ut venenatis.
312
+ Donec ac odio tempor orci dapibus ultrices in iaculis. Dui vivamus
313
+ arcu felis bibendum ut tristique. Cras semper auctor neque vitae
314
+ tempus quam pellentesque. Placerat orci nulla pellentesque
315
+ dignissim enim sit amet. Feugiat pretium nibh ipsum consequat.
316
+ Placerat orci nulla pellentesque dignissim. Suspendisse faucibus
317
+ interdum posuere lorem. Nullam non nisi est sit. Turpis egestas
318
+ integer eget aliquet nibh praesent. Tortor at risus 'viverra
319
+ adipiscing at. Eu augue ut lectus arcu bibendum at varius vel'
320
+ pharetra.
321
+ </i>
322
+ </p>
323
+ <section id="definition-doc-list">
324
+ <h2>Episode Forty-Two: Readings and Resources</h2>
325
+ <dl>
326
+ <dt>Hillary Ballon and Kenneth T. Jackson, eds.</dt>
327
+ <dd>
328
+ <em>
329
+ <a
330
+ id="link-10"
331
+ href="https://www.nypl.org/research/research-catalog/bib/b22154388"
332
+ >
333
+ Robert Moses and the Modern City: The Transformation of New
334
+ York
335
+ </a>
336
+ </em>{" "}
337
+ (W.W. Norton &amp; Co., 2007).
338
+ </dd>
339
+ <dt>The Brooklyn Battery Bridge</dt>
340
+ <dd>
341
+ "
342
+ <a
343
+ id="link-11"
344
+ href="https://www.nypap.org/preservation-history/brooklyn-battery-bridge/"
345
+ >
346
+ The Brooklyn Battery Bridge
347
+ </a>
348
+ ," New York Preservation Archives Project.
349
+ </dd>
350
+ <dt>Robert Caro</dt>
351
+ <dd>
352
+ <em>
353
+ <a
354
+ id="link-12"
355
+ href="https://www.nypl.org/research/research-catalog/bib/b21586756"
356
+ >
357
+ The Power Broker: Robert Moses and the Fall of New York
358
+ </a>
359
+ </em>{" "}
360
+ (Vintage Books, 1975).&nbsp;
361
+ </dd>
362
+ <dt>Anthony Flint</dt>
363
+ <dd>
364
+ <em>
365
+ <a
366
+ id="link-13"
367
+ href="https://www.nypl.org/research/research-catalog/bib/b20538453"
368
+ >
369
+ Wrestling with Moses: How Jane Jacobs Took on New York's
370
+ Master Builder and Transformed the American City
371
+ </a>
372
+ </em>{" "}
373
+ (Random House, 2009).
374
+ </dd>
375
+ </dl>
376
+ </section>
377
+ </>
378
+ }
379
+ />
380
+ </Story>
381
+ </Canvas>
382
+
383
+ ## Examples
384
+
385
+ The following has two `StructuredContent` components. The first one has an image
386
+ but no callout content. The second component does not have an image.
387
+
388
+ <Canvas>
389
+ <DSProvider>
390
+ <StructuredContent
391
+ headingText="Heading text"
392
+ imageProps={{
393
+ alt: "Image alt text",
394
+ aspectRatio: "original",
395
+ caption: "Image caption",
396
+ credit: "Image credit",
397
+ position: "left",
398
+ size: "medium",
399
+ src: "https://placeimg.com/400/300/animals",
400
+ }}
401
+ bodyContent={
402
+ "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do " +
403
+ "eiusmod tempor incididunt ut labore et dolore magna aliqua. " +
404
+ "Pellentesque massa placerat duis ultricies lacus sed turpis tincidunt. " +
405
+ "<a href='#'>Porttitor eget dolor</a> morbi non arcu risus quis varius. " +
406
+ "Faucibus in ornare quam viverra orci sagittis.</p><p>Nisl vel pretium " +
407
+ "lectus quam id leo in. Etiam dignissim diam quis enim lobortis " +
408
+ "scelerisque fermentum. Diam maecenas sed enim ut sem viverra. <b>Diam " +
409
+ "quam nulla porttitor massa id neque. Sed faucibus turpis in eu mi. " +
410
+ "</b></p><p>Ornare lectus sit amet est placerat in. Quis blandit turpis " +
411
+ "cursus in. Aliquam ut porttitor leo a diam sollicitudin tempor id eu. " +
412
+ "Pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. " +
413
+ "Porttitor leo a diam sollicitudin tempor id eu nisl nunc. Feugiat" +
414
+ "nisl pretium fusce id velit ut tortor. Porttitor leo a diam sollicitudin " +
415
+ "tempor id eu nisl nunc.</p><ul><li>one</li><li>two</li>" +
416
+ "<li>three</li><li>four</li></ul><p><i>Mauris nunc congue nisi vitae suscipit" +
417
+ "tellus mauris a diam. Purus gravida quis blandit turpis cursus in hac." +
418
+ "Morbi tempus iaculis urna id volutpat. Lectus nulla at volutpat diam ut" +
419
+ "venenatis. Donec ac odio tempor orci dapibus ultrices in iaculis. Dui vivamus" +
420
+ "arcu felis bibendum ut tristique. Cras semper auctor neque vitae tempus" +
421
+ "quam pellentesque. Placerat orci nulla pellentesque dignissim enim sit" +
422
+ "amet. Feugiat pretium nibh ipsum consequat. Placerat orci nulla pellentesque" +
423
+ "dignissim. Suspendisse faucibus interdum posuere lorem. Nullam non nisi" +
424
+ "est sit. Turpis egestas integer eget aliquet nibh praesent. Tortor at risus" +
425
+ "viverra adipiscing at. Eu augue ut lectus arcu bibendum at varius vel" +
426
+ "pharetra.</i></p>"
427
+ }
428
+ />
429
+ <StructuredContent
430
+ calloutText="This is the callout text"
431
+ headingText="Heading text"
432
+ bodyContent={
433
+ "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do " +
434
+ "eiusmod tempor incididunt ut labore et dolore magna aliqua. " +
435
+ "Pellentesque massa placerat duis ultricies lacus sed turpis tincidunt. " +
436
+ "<a href='#'>Porttitor eget dolor</a> morbi non arcu risus quis varius. " +
437
+ "Faucibus in ornare quam viverra orci sagittis.</p><p>Nisl vel pretium " +
438
+ "lectus quam id leo in. Etiam dignissim diam quis enim lobortis " +
439
+ "scelerisque fermentum. Diam maecenas sed enim ut sem viverra. <b>Diam " +
440
+ "quam nulla porttitor massa id neque. Sed faucibus turpis in eu mi.</b></p>"
441
+ }
442
+ />
443
+ </DSProvider>
444
+ </Canvas>
445
+
446
+ The following has three `StructuredContent` components. The first one only has
447
+ the callout content. The second has no callout content but an image and text content.
448
+ The third one does not contain an image.
449
+
450
+ <Canvas>
451
+ <DSProvider>
452
+ <StructuredContent
453
+ calloutText="This is the callout text"
454
+ headingText="Heading text"
455
+ />
456
+ <StructuredContent
457
+ headingText="Heading text"
458
+ imageProps={{
459
+ alt: "Image alt text",
460
+ aspectRatio: "original",
461
+ caption: "Image caption",
462
+ credit: "Image credit",
463
+ position: "left",
464
+ size: "medium",
465
+ src: "https://placeimg.com/400/300/animals",
466
+ }}
467
+ bodyContent={
468
+ "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do " +
469
+ "eiusmod tempor incididunt ut labore et dolore magna aliqua. " +
470
+ "Pellentesque massa placerat duis ultricies lacus sed turpis tincidunt. " +
471
+ "<a href='#'>Porttitor eget dolor</a> morbi non arcu risus quis varius. " +
472
+ "Faucibus in ornare quam viverra orci sagittis.</p><p>Nisl vel pretium " +
473
+ "lectus quam id leo in. Etiam dignissim diam quis enim lobortis " +
474
+ "scelerisque fermentum. Diam maecenas sed enim ut sem viverra. <b>Diam " +
475
+ "quam nulla porttitor massa id neque. Sed faucibus turpis in eu mi. " +
476
+ "</b></p><p>Ornare lectus sit amet est placerat in. Quis blandit turpis " +
477
+ "cursus in. Aliquam ut porttitor leo a diam sollicitudin tempor id eu. " +
478
+ "Pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. " +
479
+ "Porttitor leo a diam sollicitudin tempor id eu nisl nunc. Feugiat nisl " +
480
+ "pretium fusce id velit ut tortor. </p><p><i>Mauris nunc congue nisi " +
481
+ "vitae suscipit tellus mauris a diam. Purus gravida quis blandit turpis " +
482
+ "cursus in hac. Morbi tempus iaculis urna id volutpat. Lectus nulla at " +
483
+ "volutpat diam ut venenatis. Donec ac odio tempor orci dapibus ultrices " +
484
+ "in iaculis. Dui vivamus arcu felis bibendum ut tristique. Cras semper " +
485
+ "auctor neque vitae tempus quam pellentesque. Placerat orci nulla " +
486
+ "pellentesque dignissim enim sit amet. Feugiat pretium nibh ipsum " +
487
+ "consequat. Placerat orci nulla pellentesque dignissim. Suspendisse " +
488
+ "faucibus interdum posuere lorem. Nullam non nisi est sit. Turpis " +
489
+ "egestas integer eget aliquet nibh praesent. Tortor at risus viverra " +
490
+ "sadipiscing at. Eu augue ut lectus arcu bibendum at varius vel" +
491
+ "pharetra.</i></p>"
492
+ }
493
+ />
494
+ <StructuredContent
495
+ calloutText="This is the callout text"
496
+ headingText="Heading text"
497
+ bodyContent={
498
+ "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do " +
499
+ "eiusmod tempor incididunt ut labore et dolore magna aliqua." +
500
+ "Pellentesque massa placerat duis ultricies lacus sed turpis tincidunt. " +
501
+ "<a href='#'>Porttitor eget dolor</a> morbi non arcu risus quis varius. " +
502
+ "Faucibus in ornare quam viverra orci sagittis.</p><p>Nisl vel pretium " +
503
+ "lectus quam id leo in. Etiam dignissim diam quis enim lobortis " +
504
+ "scelerisque fermentum. Diam maecenas sed enim ut sem viverra. <b>Diam " +
505
+ "quam nulla porttitor massa id neque. Sed faucibus turpis in eu mi.</b></p>"
506
+ }
507
+ />
508
+ </DSProvider>
509
+ </Canvas>
510
+
511
+ The following has two `StructuredContent` components. The first one only displays
512
+ text content. The second one has a callout content and image spanning full width.
513
+
514
+ <Canvas>
515
+ <DSProvider>
516
+ <StructuredContent
517
+ bodyContent={
518
+ "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do " +
519
+ "eiusmod tempor incididunt ut labore et dolore magna aliqua." +
520
+ "Pellentesque massa placerat duis ultricies lacus sed turpis tincidunt. " +
521
+ "<a href='#'>Porttitor eget dolor</a> morbi non arcu risus quis varius. " +
522
+ "Faucibus in ornare quam viverra orci sagittis.</p><p>Nisl vel pretium " +
523
+ "lectus quam id leo in. Etiam dignissim diam quis enim lobortis " +
524
+ "scelerisque fermentum. Diam maecenas sed enim ut sem viverra. <b>Diam " +
525
+ "quam nulla porttitor massa id neque. Sed faucibus turpis in eu mi.</b></p>"
526
+ }
527
+ />
528
+ <StructuredContent
529
+ calloutText="This is the callout text"
530
+ headingText="Heading text"
531
+ imageProps={{
532
+ alt: "Image alt text",
533
+ aspectRatio: "original",
534
+ position: "center",
535
+ size: "medium",
536
+ src: "https://placeimg.com/400/300/animals",
537
+ }}
538
+ bodyContent={
539
+ "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do " +
540
+ "eiusmod tempor incididunt ut labore et dolore magna aliqua." +
541
+ "Pellentesque massa placerat duis ultricies lacus sed turpis tincidunt. " +
542
+ "<a href='#'>Porttitor eget dolor</a> morbi non arcu risus quis varius. " +
543
+ "Faucibus in ornare quam viverra orci sagittis.</p><p>Nisl vel pretium " +
544
+ "lectus quam id leo in. Etiam dignissim diam quis enim lobortis " +
545
+ "scelerisque fermentum. Diam maecenas sed enim ut sem viverra. <b>Diam " +
546
+ "quam nulla porttitor massa id neque. Sed faucibus turpis in eu mi. " +
547
+ "</b></p><p>Ornare lectus sit amet est placerat in. Quis blandit turpis " +
548
+ "cursus in. Aliquam ut porttitor leo a diam sollicitudin tempor id eu. " +
549
+ "Pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. " +
550
+ "Porttitor leo a diam sollicitudin tempor id eu nisl nunc. Feugiat nisl " +
551
+ "pretium fusce id velit ut tortor. Porttitor leo a diam sollicitudin " +
552
+ "tempor id eu nisl nunc.</p><ul><li>one</li><li>two</li><li>three</li>" +
553
+ "<li>four</li></ul><p><i>Mauris nunc congue nisi vitae suscipit" +
554
+ "tellus mauris a diam. Purus gravida quis blandit turpis cursus in hac." +
555
+ "Morbi tempus iaculis urna id volutpat. Lectus nulla at volutpat diam ut" +
556
+ "venenatis. Donec ac odio tempor orci dapibus ultrices in iaculis. Dui " +
557
+ "vivamus arcu felis bibendum ut tristique. Cras semper auctor neque " +
558
+ "vitae tempus quam pellentesque. Placerat orci nulla pellentesque " +
559
+ "dignissim enim sit amet. Feugiat pretium nibh ipsum consequat. " +
560
+ "Placerat orci nulla pellentesque dignissim. Suspendisse faucibus " +
561
+ "interdum posuere lorem. Nullam non nisi est sit. Turpis egestas " +
562
+ "integer eget aliquet nibh praesent. Tortor at risus viverra adipiscing " +
563
+ "at. Eu augue ut lectus arcu bibendum at varius vel pharetra.</i></p>"
564
+ }
565
+ />
566
+ </DSProvider>
567
+ </Canvas>