@nypl/design-system-react-components 0.26.1 → 1.0.0

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 (307) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +7 -7
  3. package/dist/components/Accordion/Accordion.d.ts +1 -1
  4. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +1 -5
  5. package/dist/components/Button/Button.d.ts +2 -10
  6. package/dist/components/ButtonGroup/ButtonGroup.d.ts +22 -0
  7. package/dist/components/Card/Card.d.ts +2 -2
  8. package/dist/components/Checkbox/Checkbox.d.ts +10 -8
  9. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  10. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  11. package/dist/components/Form/Form.d.ts +2 -2
  12. package/dist/components/Grid/SimpleGrid.d.ts +6 -3
  13. package/dist/components/Heading/Heading.d.ts +2 -5
  14. package/dist/components/HelperErrorText/HelperErrorText.d.ts +1 -5
  15. package/dist/components/Hero/Hero.d.ts +13 -9
  16. package/dist/components/Icons/Icon.d.ts +6 -5
  17. package/dist/components/Icons/IconSvgs.d.ts +21 -21
  18. package/dist/components/Image/Image.d.ts +8 -5
  19. package/dist/components/Link/Link.d.ts +1 -9
  20. package/dist/components/List/List.d.ts +7 -11
  21. package/dist/components/Logo/Logo.d.ts +2 -5
  22. package/dist/components/Logo/LogoSvgs.d.ts +39 -39
  23. package/dist/components/Modal/Modal.d.ts +28 -8
  24. package/dist/components/Notification/Notification.d.ts +1 -1
  25. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +2 -1
  26. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  27. package/dist/components/SearchBar/SearchBar.d.ts +3 -2
  28. package/dist/components/Select/Select.d.ts +2 -5
  29. package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +4 -4
  30. package/dist/components/SkipNavigation/SkipNavigation.d.ts +17 -0
  31. package/dist/components/StatusBadge/StatusBadge.d.ts +2 -3
  32. package/dist/components/StructuredContent/StructuredContent.d.ts +2 -2
  33. package/dist/components/Table/Table.d.ts +1 -1
  34. package/dist/components/Template/Template.d.ts +2 -0
  35. package/dist/components/Text/Text.d.ts +1 -1
  36. package/dist/components/TextInput/TextInput.d.ts +21 -9
  37. package/dist/components/Toggle/Toggle.d.ts +1 -5
  38. package/dist/components/VideoPlayer/VideoPlayer.d.ts +2 -1
  39. package/dist/design-system-react-components.cjs.development.js +983 -1222
  40. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  41. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  42. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  43. package/dist/design-system-react-components.esm.js +982 -1285
  44. package/dist/design-system-react-components.esm.js.map +1 -1
  45. package/dist/helpers/types.d.ts +1 -0
  46. package/dist/index.d.ts +27 -48
  47. package/dist/styles.css +1 -1
  48. package/dist/theme/components/buttonGroup.d.ts +11 -0
  49. package/dist/theme/components/card.d.ts +104 -8
  50. package/dist/theme/components/componentWrapper.d.ts +4 -3
  51. package/dist/theme/components/customTable.d.ts +11 -14
  52. package/dist/theme/components/fieldset.d.ts +4 -3
  53. package/dist/theme/components/helperErrorText.d.ts +4 -3
  54. package/dist/theme/components/hero.d.ts +1 -1
  55. package/dist/theme/components/horizontalRule.d.ts +4 -3
  56. package/dist/theme/components/icon.d.ts +47743 -1
  57. package/dist/theme/components/image.d.ts +563 -10
  58. package/dist/theme/components/label.d.ts +4 -3
  59. package/dist/theme/components/list.d.ts +6 -7
  60. package/dist/theme/components/logo.d.ts +474 -1
  61. package/dist/theme/components/notification.d.ts +20 -16
  62. package/dist/theme/components/progressIndicator.d.ts +6 -4
  63. package/dist/theme/components/select.d.ts +4 -10
  64. package/dist/theme/components/skeletonLoader.d.ts +14 -10
  65. package/dist/theme/components/skipNavigation.d.ts +22 -0
  66. package/dist/theme/components/slider.d.ts +7 -6
  67. package/dist/theme/components/structuredContent.d.ts +10 -9
  68. package/dist/theme/components/text.d.ts +7 -1
  69. package/dist/theme/components/toggle.d.ts +6 -4
  70. package/dist/theme/provider.d.ts +2 -4
  71. package/dist/utils/componentCategories.d.ts +1 -1
  72. package/dist/utils/interfaces.d.ts +5 -0
  73. package/dist/utils/utils.d.ts +2 -18
  74. package/package.json +15 -16
  75. package/src/__tests__/setup.ts +3 -3
  76. package/src/__tests__/utils/utils.test.ts +1 -23
  77. package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +22 -14
  78. package/src/components/Accordion/Accordion.stories.mdx +43 -44
  79. package/src/components/Accordion/Accordion.test.tsx +5 -13
  80. package/src/components/Accordion/Accordion.tsx +14 -18
  81. package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +6 -6
  82. package/src/components/Autosuggest/Autosuggest.stories.mdx +1 -1
  83. package/src/components/Autosuggest/Autosuggest.stories.tsx +23 -25
  84. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +21 -37
  85. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +4 -17
  86. package/src/components/Breadcrumbs/Breadcrumbs.tsx +18 -21
  87. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +1 -100
  88. package/src/components/Button/Button.stories.mdx +89 -126
  89. package/src/components/Button/Button.test.tsx +16 -30
  90. package/src/components/Button/Button.tsx +14 -20
  91. package/src/components/ButtonGroup/ButtonGroup.stories.mdx +147 -0
  92. package/src/components/ButtonGroup/ButtonGroup.test.tsx +141 -0
  93. package/src/components/ButtonGroup/ButtonGroup.tsx +99 -0
  94. package/src/components/ButtonGroup/__snapshots__/ButtonGroup.test.tsx.snap +117 -0
  95. package/src/components/Card/Card.stories.mdx +144 -178
  96. package/src/components/Card/Card.test.tsx +36 -97
  97. package/src/components/Card/Card.tsx +78 -74
  98. package/src/components/Chakra/Box.stories.mdx +3 -7
  99. package/src/components/Chakra/Center.stories.mdx +6 -24
  100. package/src/components/Chakra/Flex.stories.mdx +5 -7
  101. package/src/components/Chakra/Grid.stories.mdx +1 -1
  102. package/src/components/Chakra/Stack.stories.mdx +10 -11
  103. package/src/components/Checkbox/Checkbox.stories.mdx +1 -1
  104. package/src/components/Checkbox/Checkbox.test.tsx +2 -2
  105. package/src/components/Checkbox/Checkbox.tsx +20 -13
  106. package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +6 -17
  107. package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +1 -7
  108. package/src/components/CheckboxGroup/CheckboxGroup.tsx +33 -29
  109. package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +0 -11
  110. package/src/components/ComponentWrapper/ComponentWrapper.tsx +3 -10
  111. package/src/components/DatePicker/DatePicker.stories.mdx +23 -37
  112. package/src/components/DatePicker/DatePicker.test.tsx +21 -19
  113. package/src/components/DatePicker/DatePicker.tsx +57 -49
  114. package/src/components/Form/Form.stories.mdx +46 -31
  115. package/src/components/Form/Form.test.tsx +1 -18
  116. package/src/components/Form/Form.tsx +7 -7
  117. package/src/components/Grid/SimpleGrid.stories.mdx +73 -49
  118. package/src/components/Grid/SimpleGrid.test.tsx +7 -9
  119. package/src/components/Grid/SimpleGrid.tsx +14 -11
  120. package/src/components/Heading/Heading.stories.mdx +27 -72
  121. package/src/components/Heading/Heading.test.tsx +18 -44
  122. package/src/components/Heading/Heading.tsx +7 -10
  123. package/src/components/HelperErrorText/HelperErrorText.stories.mdx +1 -3
  124. package/src/components/HelperErrorText/HelperErrorText.tsx +1 -5
  125. package/src/components/Hero/Hero.stories.mdx +219 -216
  126. package/src/components/Hero/Hero.test.tsx +107 -223
  127. package/src/components/Hero/Hero.tsx +63 -61
  128. package/src/components/Icons/Icon.stories.mdx +172 -118
  129. package/src/components/Icons/Icon.test.tsx +8 -16
  130. package/src/components/Icons/Icon.tsx +75 -29
  131. package/src/components/Icons/IconSvgs.tsx +42 -42
  132. package/src/components/Image/Image.stories.mdx +45 -132
  133. package/src/components/Image/Image.test.tsx +16 -31
  134. package/src/components/Image/Image.tsx +28 -12
  135. package/src/components/Link/Link.stories.mdx +30 -94
  136. package/src/components/Link/Link.test.tsx +25 -75
  137. package/src/components/Link/Link.tsx +43 -56
  138. package/src/components/Link/__snapshots__/Link.test.tsx.snap +1 -2
  139. package/src/components/List/List.stories.mdx +20 -31
  140. package/src/components/List/List.test.tsx +24 -43
  141. package/src/components/List/List.tsx +25 -36
  142. package/src/components/Logo/Logo.stories.mdx +94 -50
  143. package/src/components/Logo/Logo.test.tsx +10 -19
  144. package/src/components/Logo/Logo.tsx +50 -17
  145. package/src/components/Logo/LogoSvgs.tsx +78 -78
  146. package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +4 -4
  147. package/src/components/Modal/Modal.stories.mdx +245 -139
  148. package/src/components/Modal/Modal.test.tsx +147 -10
  149. package/src/components/Modal/Modal.tsx +140 -20
  150. package/src/components/Modal/__snapshots__/Modal.test.tsx.snap +25 -0
  151. package/src/components/Notification/Notification.stories.mdx +10 -28
  152. package/src/components/Notification/Notification.test.tsx +9 -12
  153. package/src/components/Notification/Notification.tsx +34 -37
  154. package/src/components/Pagination/Pagination.stories.mdx +3 -4
  155. package/src/components/Pagination/Pagination.tsx +15 -10
  156. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +27 -53
  157. package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +9 -10
  158. package/src/components/ProgressIndicator/ProgressIndicator.tsx +17 -21
  159. package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +0 -10
  160. package/src/components/Radio/Radio.stories.mdx +1 -1
  161. package/src/components/Radio/Radio.tsx +9 -6
  162. package/src/components/RadioGroup/RadioGroup.stories.mdx +15 -16
  163. package/src/components/RadioGroup/RadioGroup.test.tsx +2 -8
  164. package/src/components/RadioGroup/RadioGroup.tsx +28 -24
  165. package/src/components/SearchBar/SearchBar.stories.mdx +4 -4
  166. package/src/components/SearchBar/SearchBar.test.tsx +1 -1
  167. package/src/components/SearchBar/SearchBar.tsx +14 -22
  168. package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +1 -13
  169. package/src/components/Select/Select.stories.mdx +10 -25
  170. package/src/components/Select/Select.test.tsx +6 -7
  171. package/src/components/Select/Select.tsx +28 -35
  172. package/src/components/Select/__snapshots__/Select.test.tsx.snap +24 -24
  173. package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +17 -56
  174. package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +7 -21
  175. package/src/components/SkeletonLoader/SkeletonLoader.tsx +9 -8
  176. package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +33 -33
  177. package/src/components/SkipNavigation/SkipNavigation.stories.mdx +90 -0
  178. package/src/components/SkipNavigation/SkipNavigation.test.tsx +63 -0
  179. package/src/components/SkipNavigation/SkipNavigation.tsx +51 -0
  180. package/src/components/SkipNavigation/__snapshots__/SkipNavigation.test.tsx.snap +130 -0
  181. package/src/components/Slider/Slider.stories.mdx +19 -53
  182. package/src/components/Slider/Slider.test.tsx +2 -2
  183. package/src/components/Slider/Slider.tsx +10 -12
  184. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +2 -9
  185. package/src/components/StatusBadge/StatusBadge.stories.mdx +6 -21
  186. package/src/components/StatusBadge/StatusBadge.test.tsx +2 -3
  187. package/src/components/StatusBadge/StatusBadge.tsx +3 -10
  188. package/src/components/StructuredContent/StructuredContent.stories.mdx +30 -58
  189. package/src/components/StructuredContent/StructuredContent.test.tsx +42 -44
  190. package/src/components/StructuredContent/StructuredContent.tsx +9 -18
  191. package/src/components/StyleGuide/Bidirectionality.stories.mdx +9 -23
  192. package/src/components/StyleGuide/Buttons.stories.mdx +63 -63
  193. package/src/components/StyleGuide/ColorCard.tsx +2 -4
  194. package/src/components/StyleGuide/Colors.stories.mdx +9 -10
  195. package/src/components/StyleGuide/DesignTokens.stories.mdx +5 -7
  196. package/src/components/StyleGuide/Forms.stories.mdx +2 -2
  197. package/src/components/StyleGuide/Iconography.stories.mdx +60 -78
  198. package/src/components/StyleGuide/Spacing.stories.mdx +1 -2
  199. package/src/components/StyleGuide/Typography.stories.mdx +16 -19
  200. package/src/components/Table/Table.stories.mdx +85 -1
  201. package/src/components/Table/Table.test.tsx +57 -1
  202. package/src/components/Table/Table.tsx +7 -4
  203. package/src/components/Table/__snapshots__/Table.test.tsx.snap +121 -0
  204. package/src/components/Tabs/Tabs.stories.mdx +1 -1
  205. package/src/components/Tabs/Tabs.test.tsx +2 -2
  206. package/src/components/Tabs/Tabs.tsx +26 -27
  207. package/src/components/Template/Template.stories.mdx +49 -54
  208. package/src/components/Template/Template.tsx +9 -3
  209. package/src/components/Text/Text.stories.mdx +5 -11
  210. package/src/components/Text/Text.test.tsx +3 -6
  211. package/src/components/Text/Text.tsx +3 -5
  212. package/src/components/TextInput/TextInput.stories.mdx +10 -22
  213. package/src/components/TextInput/TextInput.test.tsx +32 -62
  214. package/src/components/TextInput/TextInput.tsx +61 -30
  215. package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +1 -0
  216. package/src/components/Toggle/Toggle.stories.mdx +5 -16
  217. package/src/components/Toggle/Toggle.test.tsx +2 -3
  218. package/src/components/Toggle/Toggle.tsx +9 -10
  219. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +13 -29
  220. package/src/components/VideoPlayer/VideoPlayer.test.tsx +18 -23
  221. package/src/components/VideoPlayer/VideoPlayer.tsx +13 -10
  222. package/src/docs/Chakra.stories.mdx +14 -11
  223. package/src/docs/Welcome.stories.mdx +23 -43
  224. package/src/helpers/types.ts +1 -0
  225. package/src/hooks/tests/useNYPLTheme.test.tsx +1 -1
  226. package/src/hooks/useNYPLTheme.stories.mdx +3 -6
  227. package/src/index.ts +52 -46
  228. package/src/styles.scss +0 -1
  229. package/src/theme/components/buttonGroup.ts +10 -0
  230. package/src/theme/components/card.ts +50 -15
  231. package/src/theme/components/componentWrapper.ts +5 -1
  232. package/src/theme/components/customTable.ts +8 -2
  233. package/src/theme/components/fieldset.ts +5 -1
  234. package/src/theme/components/helperErrorText.ts +5 -1
  235. package/src/theme/components/hero.ts +2 -2
  236. package/src/theme/components/horizontalRule.ts +5 -1
  237. package/src/theme/components/icon.ts +7 -1
  238. package/src/theme/components/image.ts +14 -3
  239. package/src/theme/components/label.ts +5 -1
  240. package/src/theme/components/list.ts +8 -2
  241. package/src/theme/components/logo.ts +5 -1
  242. package/src/theme/components/notification.ts +38 -14
  243. package/src/theme/components/progressIndicator.ts +10 -5
  244. package/src/theme/components/select.ts +5 -6
  245. package/src/theme/components/skeletonLoader.ts +8 -2
  246. package/src/theme/components/skipNavigation.ts +26 -0
  247. package/src/theme/components/slider.ts +13 -1
  248. package/src/theme/components/structuredContent.ts +11 -1
  249. package/src/theme/components/text.ts +12 -5
  250. package/src/theme/components/toggle.ts +9 -3
  251. package/src/theme/foundations/colors.ts +6 -9
  252. package/src/theme/index.ts +4 -0
  253. package/src/theme/provider.tsx +1 -1
  254. package/src/utils/componentCategories.ts +13 -5
  255. package/src/utils/interfaces.ts +5 -0
  256. package/src/utils/utils.ts +2 -32
  257. package/dist/components/Accordion/AccordionTypes.d.ts +0 -5
  258. package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +0 -8
  259. package/dist/components/Button/ButtonTypes.d.ts +0 -8
  260. package/dist/components/DatePicker/DatePickerTypes.d.ts +0 -5
  261. package/dist/components/Form/FormTypes.d.ts +0 -2
  262. package/dist/components/Grid/GridTypes.d.ts +0 -9
  263. package/dist/components/Heading/HeadingTypes.d.ts +0 -14
  264. package/dist/components/Hero/HeroTypes.d.ts +0 -12
  265. package/dist/components/Icons/IconTypes.d.ts +0 -77
  266. package/dist/components/Image/ImageTypes.d.ts +0 -22
  267. package/dist/components/Link/LinkTypes.d.ts +0 -8
  268. package/dist/components/List/ListTypes.d.ts +0 -5
  269. package/dist/components/Logo/LogoTypes.d.ts +0 -54
  270. package/dist/components/Notification/NotificationTypes.d.ts +0 -5
  271. package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +0 -8
  272. package/dist/components/Select/SelectTypes.d.ts +0 -8
  273. package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +0 -5
  274. package/dist/components/StatusBadge/StatusBadgeTypes.d.ts +0 -5
  275. package/dist/components/StructuredContent/StructuredContentTypes.d.ts +0 -5
  276. package/dist/components/Text/TextTypes.d.ts +0 -6
  277. package/dist/components/TextInput/TextInputTypes.d.ts +0 -25
  278. package/dist/components/Toggle/ToggleTypes.d.ts +0 -4
  279. package/dist/components/VideoPlayer/VideoPlayerTypes.d.ts +0 -9
  280. package/dist/helpers/enums.d.ts +0 -4
  281. package/dist/utils/siteSections.d.ts +0 -2
  282. package/src/components/Accordion/AccordionTypes.tsx +0 -5
  283. package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +0 -8
  284. package/src/components/Button/ButtonTypes.tsx +0 -8
  285. package/src/components/DatePicker/DatePickerTypes.tsx +0 -5
  286. package/src/components/Form/FormTypes.tsx +0 -3
  287. package/src/components/Grid/GridTypes.tsx +0 -9
  288. package/src/components/Heading/HeadingTypes.tsx +0 -15
  289. package/src/components/Hero/HeroTypes.tsx +0 -20
  290. package/src/components/Icons/IconTypes.tsx +0 -83
  291. package/src/components/Image/ImageTypes.ts +0 -24
  292. package/src/components/Link/LinkTypes.tsx +0 -8
  293. package/src/components/List/ListTypes.tsx +0 -5
  294. package/src/components/Logo/LogoTypes.tsx +0 -56
  295. package/src/components/Modal/_Modal.scss +0 -18
  296. package/src/components/Notification/NotificationTypes.tsx +0 -5
  297. package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +0 -8
  298. package/src/components/Select/SelectTypes.tsx +0 -10
  299. package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +0 -5
  300. package/src/components/StatusBadge/StatusBadgeTypes.tsx +0 -5
  301. package/src/components/StructuredContent/StructuredContentTypes.tsx +0 -5
  302. package/src/components/Text/TextTypes.tsx +0 -6
  303. package/src/components/TextInput/TextInputTypes.tsx +0 -48
  304. package/src/components/Toggle/ToggleTypes.tsx +0 -4
  305. package/src/components/VideoPlayer/VideoPlayerTypes.tsx +0 -10
  306. package/src/helpers/enums.ts +0 -4
  307. package/src/utils/siteSections.ts +0 -10
@@ -1,82 +1,82 @@
1
1
  /* eslint-disable camelcase */
2
- import logo_bpl_black from "../../../icons/svg/logo_bpl_black.svg";
3
- import logo_bpl_white from "../../../icons/svg/logo_bpl_white.svg";
4
- import logo_clever_color from "../../../icons/svg/logo_clever_color.svg";
5
- import logo_clever_white from "../../../icons/svg/logo_clever_white.svg";
6
- import logo_firstbook_color from "../../../icons/svg/logo_firstbook_color.svg";
7
- import logo_firstbook_color_negative from "../../../icons/svg/logo_firstbook_color_negative.svg";
8
- import logo_lpa_color from "../../../icons/svg/logo_lpa_color.svg";
9
- import logo_lpa_black from "../../../icons/svg/logo_lpa_black.svg";
10
- import logo_lpa_white from "../../../icons/svg/logo_lpa_white.svg";
11
- import logo_mln_black from "../../../icons/svg/logo_mln_black.svg";
12
- import logo_mln_white from "../../../icons/svg/logo_mln_white.svg";
13
- import logo_nypl_full_black from "../../../icons/svg/logo_nypl_full_black.svg";
14
- import logo_nypl_full_white from "../../../icons/svg/logo_nypl_full_white.svg";
15
- import logo_nypl_lion_black from "../../../icons/svg/logo_nypl_lion_black.svg";
16
- import logo_nypl_lion_white from "../../../icons/svg/logo_nypl_lion_white.svg";
17
- import logo_openebooks_color from "../../../icons/svg/logo_openebooks_color.svg";
18
- import logo_openebooks_negative from "../../../icons/svg/logo_openebooks_negative.svg";
19
- import logo_openebooks_wtext_color from "../../../icons/svg/logo_openebooks_wtext_color.svg";
20
- import logo_openebooks_wtext_negative from "../../../icons/svg/logo_openebooks_wtext_negative.svg";
21
- import logo_qpl_alt_black from "../../../icons/svg/logo_qpl_alt_black.svg";
22
- import logo_qpl_alt_white from "../../../icons/svg/logo_qpl_alt_white.svg";
23
- import logo_qpl_black from "../../../icons/svg/logo_qpl_black.svg";
24
- import logo_qpl_color from "../../../icons/svg/logo_qpl_color.svg";
25
- import logo_qpl_white from "../../../icons/svg/logo_qpl_white.svg";
26
- import logo_reservoir_icon_color from "../../../icons/svg/logo_reservoir_icon_color.svg";
27
- import logo_reservoir_vertical_color from "../../../icons/svg/logo_reservoir_vertical_color.svg";
28
- import logo_schomburg_black from "../../../icons/svg/logo_schomburg_black.svg";
29
- import logo_schomburg_circle_black from "../../../icons/svg/logo_schomburg_circle_black.svg";
30
- import logo_schomburg_circle_color from "../../../icons/svg/logo_schomburg_circle_color.svg";
31
- import logo_schomburg_circle_white from "../../../icons/svg/logo_schomburg_circle_white.svg";
32
- import logo_schomburg_color from "../../../icons/svg/logo_schomburg_color.svg";
33
- import logo_schomburg_white from "../../../icons/svg/logo_schomburg_white.svg";
34
- import logo_simplye_black from "../../../icons/svg/logo_simplye_black.svg";
35
- import logo_simplye_white from "../../../icons/svg/logo_simplye_white.svg";
36
- import logo_simplye_color from "../../../icons/svg/logo_simplye_color.svg";
37
- import logo_snfl_black from "../../../icons/svg/logo_snfl_black.svg";
38
- import logo_snfl_white from "../../../icons/svg/logo_snfl_white.svg";
39
- import logo_treasures_color from "../../../icons/svg/logo_treasures_color.svg";
40
- import logo_treasures_color_negative from "../../../icons/svg/logo_treasures_color_negative.svg";
2
+ import bplBlack from "../../../icons/svg/logo-bpl-black.svg";
3
+ import bplWhite from "../../../icons/svg/logo-bpl-white.svg";
4
+ import cleverColor from "../../../icons/svg/logo-clever-color.svg";
5
+ import cleverWhite from "../../../icons/svg/logo-clever-white.svg";
6
+ import firstbookColor from "../../../icons/svg/logo-firstbook-color.svg";
7
+ import firstbookColorNegative from "../../../icons/svg/logo-firstbook-color-negative.svg";
8
+ import lpaColor from "../../../icons/svg/logo-lpa-color.svg";
9
+ import lpaBlack from "../../../icons/svg/logo-lpa-black.svg";
10
+ import lpaWhite from "../../../icons/svg/logo-lpa-white.svg";
11
+ import mlnBlack from "../../../icons/svg/logo-mln-black.svg";
12
+ import mlnWhite from "../../../icons/svg/logo-mln-white.svg";
13
+ import nyplFullBlack from "../../../icons/svg/logo-nypl-full-black.svg";
14
+ import nyplFullWhite from "../../../icons/svg/logo-nypl-full-white.svg";
15
+ import nyplLionBlack from "../../../icons/svg/logo-nypl-lion-black.svg";
16
+ import nyplLionWhite from "../../../icons/svg/logo-nypl-lion-white.svg";
17
+ import openebooksColor from "../../../icons/svg/logo-openebooks-color.svg";
18
+ import openebooksNegative from "../../../icons/svg/logo-openebooks-negative.svg";
19
+ import openebooksWithTextColor from "../../../icons/svg/logo-openebooks-with-text-color.svg";
20
+ import openebooksWithTextNegative from "../../../icons/svg/logo-openebooks-with-text-negative.svg";
21
+ import qplAltBlack from "../../../icons/svg/logo-qpl-alt-black.svg";
22
+ import qplAltWhite from "../../../icons/svg/logo-qpl-alt-white.svg";
23
+ import qplBlack from "../../../icons/svg/logo-qpl-black.svg";
24
+ import qplColor from "../../../icons/svg/logo-qpl-color.svg";
25
+ import qplWhite from "../../../icons/svg/logo-qpl-white.svg";
26
+ import reservoirIconColor from "../../../icons/svg/logo-reservoir-icon-color.svg";
27
+ import reservoirVerticalColor from "../../../icons/svg/logo-reservoir-vertical-color.svg";
28
+ import schomburgBlack from "../../../icons/svg/logo-schomburg-black.svg";
29
+ import schomburgCircleBlack from "../../../icons/svg/logo-schomburg-circle-black.svg";
30
+ import schomburgCircleColor from "../../../icons/svg/logo-schomburg-circle-color.svg";
31
+ import schomburgCircleWhite from "../../../icons/svg/logo-schomburg-circle-white.svg";
32
+ import schomburgColor from "../../../icons/svg/logo-schomburg-color.svg";
33
+ import schomburgWhite from "../../../icons/svg/logo-schomburg-white.svg";
34
+ import simplyeBlack from "../../../icons/svg/logo-simplye-black.svg";
35
+ import simplyeWhite from "../../../icons/svg/logo-simplye-white.svg";
36
+ import simplyeColor from "../../../icons/svg/logo-simplye-color.svg";
37
+ import snflBlack from "../../../icons/svg/logo-snfl-black.svg";
38
+ import snflWhite from "../../../icons/svg/logo-snfl-white.svg";
39
+ import treasuresColor from "../../../icons/svg/logo-treasures-color.svg";
40
+ import treasuresColorNegative from "../../../icons/svg/logo-treasures-color-negative.svg";
41
41
 
42
42
  export default {
43
- logo_bpl_black,
44
- logo_bpl_white,
45
- logo_clever_color,
46
- logo_clever_white,
47
- logo_firstbook_color,
48
- logo_firstbook_color_negative,
49
- logo_lpa_black,
50
- logo_lpa_color,
51
- logo_lpa_white,
52
- logo_mln_black,
53
- logo_mln_white,
54
- logo_nypl_full_black,
55
- logo_nypl_full_white,
56
- logo_nypl_lion_black,
57
- logo_nypl_lion_white,
58
- logo_openebooks_color,
59
- logo_openebooks_negative,
60
- logo_openebooks_wtext_color,
61
- logo_openebooks_wtext_negative,
62
- logo_qpl_alt_black,
63
- logo_qpl_alt_white,
64
- logo_qpl_black,
65
- logo_qpl_color,
66
- logo_qpl_white,
67
- logo_reservoir_icon_color,
68
- logo_reservoir_vertical_color,
69
- logo_schomburg_black,
70
- logo_schomburg_circle_black,
71
- logo_schomburg_circle_color,
72
- logo_schomburg_circle_white,
73
- logo_schomburg_color,
74
- logo_schomburg_white,
75
- logo_simplye_black,
76
- logo_simplye_white,
77
- logo_simplye_color,
78
- logo_snfl_black,
79
- logo_snfl_white,
80
- logo_treasures_color,
81
- logo_treasures_color_negative,
43
+ bplBlack,
44
+ bplWhite,
45
+ cleverColor,
46
+ cleverWhite,
47
+ firstbookColor,
48
+ firstbookColorNegative,
49
+ lpaBlack,
50
+ lpaColor,
51
+ lpaWhite,
52
+ mlnBlack,
53
+ mlnWhite,
54
+ nyplFullBlack,
55
+ nyplFullWhite,
56
+ nyplLionBlack,
57
+ nyplLionWhite,
58
+ openebooksColor,
59
+ openebooksNegative,
60
+ openebooksWithTextColor,
61
+ openebooksWithTextNegative,
62
+ qplAltBlack,
63
+ qplAltWhite,
64
+ qplBlack,
65
+ qplColor,
66
+ qplWhite,
67
+ reservoirIconColor,
68
+ reservoirVerticalColor,
69
+ schomburgBlack,
70
+ schomburgCircleBlack,
71
+ schomburgCircleColor,
72
+ schomburgCircleWhite,
73
+ schomburgColor,
74
+ schomburgWhite,
75
+ simplyeBlack,
76
+ simplyeWhite,
77
+ simplyeColor,
78
+ snflBlack,
79
+ snflWhite,
80
+ treasuresColor,
81
+ treasuresColorNegative,
82
82
  };
@@ -7,7 +7,7 @@ exports[`Logo renders the UI snapshot correctly 1`] = `
7
7
  focusable={false}
8
8
  id="test-logo"
9
9
  role="img"
10
- title="logo_nypl_full_black logo"
10
+ title="nyplFullBlack logo"
11
11
  viewBox="0 0 24 24"
12
12
  >
13
13
  <g
@@ -42,7 +42,7 @@ exports[`Logo renders the UI snapshot correctly 2`] = `
42
42
  focusable={false}
43
43
  id="test-logo-size"
44
44
  role="img"
45
- title="logo_nypl_full_black logo"
45
+ title="nyplFullBlack logo"
46
46
  viewBox="0 0 24 24"
47
47
  >
48
48
  <g
@@ -77,7 +77,7 @@ exports[`Logo renders the UI snapshot correctly 3`] = `
77
77
  focusable={false}
78
78
  id="chakra"
79
79
  role="img"
80
- title="logo_nypl_full_black logo"
80
+ title="nyplFullBlack logo"
81
81
  viewBox="0 0 24 24"
82
82
  >
83
83
  <g
@@ -113,7 +113,7 @@ exports[`Logo renders the UI snapshot correctly 4`] = `
113
113
  focusable={false}
114
114
  id="props"
115
115
  role="img"
116
- title="logo_nypl_full_black logo"
116
+ title="nyplFullBlack logo"
117
117
  viewBox="0 0 24 24"
118
118
  >
119
119
  <g
@@ -1,4 +1,3 @@
1
- import { useState } from "react";
2
1
  import {
3
2
  ArgsTable,
4
3
  Canvas,
@@ -6,22 +5,18 @@ import {
6
5
  Meta,
7
6
  Story,
8
7
  } from "@storybook/addon-docs";
8
+ import { useState } from "react";
9
9
 
10
- import Modal from "./Modal";
11
10
  import Button from "../Button/Button";
11
+ import ButtonGroup from "../ButtonGroup/ButtonGroup";
12
+ import Heading from "../Heading/Heading";
13
+ import Link from "../Link/Link";
14
+ import { ModalTrigger, useModal } from "./Modal";
12
15
  import { getCategory } from "../../utils/componentCategories";
13
16
 
14
17
  <Meta
15
18
  title={getCategory("Modal")}
16
19
  component={Modal}
17
- argTypes={{
18
- blockName: { control: false },
19
- children: { table: { disable: true } },
20
- className: { control: false },
21
- id: { control: false },
22
- modifiers: { control: false },
23
- open: { description: "Only used in Storybook." },
24
- }}
25
20
  parameters={{
26
21
  jest: ["Modal.test.tsx"],
27
22
  }}
@@ -32,164 +27,275 @@ import { getCategory } from "../../utils/componentCategories";
32
27
  | Component Version | DS Version |
33
28
  | ----------------- | ---------- |
34
29
  | Added | `0.1.0` |
35
- | Latest | `0.3.5` |
30
+ | Latest | `0.27.0` |
36
31
 
37
32
  ## Table of Contents
38
33
 
39
34
  - [Overview](#overview)
40
- - [Component Props](#component-props)
41
- - [Code Implementation](#code-implementation)
35
+ - [Accessibility](#accessibility)
36
+ - [ModalTrigger](#modaltrigger)
37
+ - [ModalTrigger Component Props](#modaltrigger-component-props)
38
+ - [useModal](#usemodal)
39
+ - [useModal Component Props](#usemodal-component-props)
40
+ - [Content Window Scrolling](#content-window-scrolling)
42
41
 
43
42
  ## Overview
44
43
 
45
44
  _Note: This component is going through an accessibility review and is not
46
45
  recommended for use until it is updated._
47
46
 
48
- <Description of={Modal} />
47
+ ## Accessibility
49
48
 
50
- export const ModalStory = (args) => {
51
- const [isModalOpen, setIsModalOpen] = React.useState(args.open);
52
- const openModal = () => setIsModalOpen(true);
53
- const closeModal = () => setIsModalOpen(false);
54
- return (
55
- <>
56
- <Button id="1" onClick={openModal}>
57
- Open Modal
58
- </Button>
59
- <p>
60
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
61
- tempor incididunt ut labore et dolore magna aliqua. Tempus quam
62
- pellentesque nec nam. Sit amet purus gravida quis blandit turpis cursus.
63
- Est ante in nibh mauris. Ut faucibus pulvinar elementum integer. Mattis
64
- ullamcorper velit sed ullamcorper morbi tincidunt ornare massa.
65
- Consectetur purus ut faucibus pulvinar elementum integer enim. Accumsan
66
- sit amet nulla facilisi morbi. Sagittis vitae et leo duis. Elit
67
- scelerisque mauris pellentesque pulvinar pellentesque. Ullamcorper velit
68
- sed ullamcorper morbi. Tellus in hac habitasse platea dictumst.
69
- Fermentum leo vel orci porta non. Pulvinar mattis nunc sed blandit
70
- libero volutpat sed. Cras semper auctor neque vitae tempus. Turpis
71
- egestas sed tempus urna et pharetra pharetra massa. Metus aliquam
72
- eleifend mi in nulla posuere sollicitudin aliquam. Sit amet risus nullam
73
- eget felis eget nunc. Pharetra et ultrices neque ornare.
74
- </p>
75
- <p>
76
- Pellentesque massa placerat duis ultricies. Viverra suspendisse potenti
77
- nullam ac tortor vitae purus faucibus ornare. Pulvinar neque laoreet
78
- suspendisse interdum consectetur libero. Amet mauris commodo quis
79
- imperdiet massa tincidunt nunc pulvinar sapien. Quisque sagittis purus
80
- sit amet. Duis ut diam quam nulla porttitor massa id. Quis enim lobortis
81
- scelerisque fermentum dui faucibus in ornare. At lectus urna duis
82
- convallis. In mollis nunc sed id semper risus. Dolor sed viverra ipsum
83
- nunc aliquet bibendum enim facilisis.
84
- </p>
85
- {isModalOpen && (
86
- <Modal>
87
- <Button id="2" onClick={closeModal}>
88
- Close Modal
89
- </Button>
90
- <p>
91
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
92
- eiusmod tempor incididunt ut labore et dolore magna aliqua. Tempus
93
- quam pellentesque nec nam. Sit amet purus gravida quis blandit
94
- turpis cursus. Est ante in nibh mauris. Ut faucibus pulvinar
95
- elementum integer. Mattis ullamcorper velit sed ullamcorper morbi
96
- tincidunt ornare massa. Consectetur purus ut faucibus pulvinar
97
- elementum integer enim. Accumsan sit amet nulla facilisi morbi.
98
- Sagittis vitae et leo duis. Elit scelerisque mauris pellentesque
99
- pulvinar pellentesque. Ullamcorper velit sed ullamcorper morbi.
100
- Tellus in hac habitasse platea dictumst. Fermentum leo vel orci
101
- porta non. Pulvinar mattis nunc sed blandit libero volutpat sed.
102
- Cras semper auctor neque vitae tempus. Turpis egestas sed tempus
103
- urna et pharetra pharetra massa. Metus aliquam eleifend mi in nulla
104
- posuere sollicitudin aliquam. Sit amet risus nullam eget felis eget
105
- nunc. Pharetra et ultrices neque ornare.
106
- </p>
107
- <p>
108
- Pellentesque massa placerat duis ultricies. Viverra suspendisse
109
- potenti nullam ac tortor vitae purus faucibus ornare. Pulvinar neque
110
- laoreet suspendisse interdum consectetur libero. Amet mauris commodo
111
- quis imperdiet massa tincidunt nunc pulvinar sapien. Quisque
112
- sagittis purus sit amet. Duis ut diam quam nulla porttitor massa id.
113
- Quis enim lobortis scelerisque fermentum dui faucibus in ornare. At
114
- lectus urna duis convallis. In mollis nunc sed id semper risus.
115
- Dolor sed viverra ipsum nunc aliquet bibendum enim facilisis.
116
- </p>
117
- <p>
118
- Eget felis eget nunc lobortis mattis aliquam faucibus. Orci dapibus
119
- ultrices in iaculis nunc sed. Vel elit scelerisque mauris
120
- pellentesque pulvinar. Ultrices neque ornare aenean euismod
121
- elementum nisi. Sollicitudin ac orci phasellus egestas tellus rutrum
122
- tellus pellentesque. Lorem ipsum dolor sit amet. Tempus imperdiet
123
- nulla malesuada pellentesque elit eget gravida cum. Pellentesque
124
- massa placerat duis ultricies lacus sed turpis tincidunt. Donec et
125
- odio pellentesque diam volutpat. Augue ut lectus arcu bibendum at
126
- varius vel pharetra vel. Sit amet justo donec enim diam vulputate ut
127
- pharetra sit. Felis eget nunc lobortis mattis aliquam faucibus.
128
- Tincidunt praesent semper feugiat nibh sed pulvinar proin. Facilisi
129
- nullam vehicula ipsum a. Ut sem nulla pharetra diam sit amet nisl
130
- suscipit adipiscing.
131
- </p>
132
- </Modal>
133
- )}
134
- </>
135
- );
136
- };
49
+ TBD
50
+
51
+ ## ModalTrigger
137
52
 
138
- ## Component Props
53
+ <Description of={ModalTrigger} />
54
+
55
+ ```jsx
56
+ import { ModalTrigger } from "@nypl/design-system-react-components";
57
+
58
+ //...
59
+ <ModalTrigger
60
+ buttonText="Button Text"
61
+ id="modal-trigger"
62
+ modalProps={{
63
+ bodyContent: "body text",
64
+ closeButtonLabel: "Close Button",
65
+ headingText: "Modal Heading Text",
66
+ onClose: () => {
67
+ console.log("custom close");
68
+ },
69
+ }}
70
+ />;
71
+ ```
72
+
73
+ ## ModalTrigger Component Props
139
74
 
140
75
  <Canvas withToolbar>
141
76
  <Story
142
- name="Modal"
77
+ name="ModalTrigger"
143
78
  args={{
144
- blockName: undefined,
145
- className: undefined,
146
- id: "modal-id",
147
- modifiers: undefined,
148
- open: false,
79
+ buttonText: "Button Text",
80
+ id: "modal-trigger",
81
+ modalProps: {
82
+ bodyContent: "body text",
83
+ closeButtonLabel: "Close Button",
84
+ headingText: "Modal Heading Text",
85
+ onClose: () => {
86
+ console.log("custom close");
87
+ },
88
+ },
149
89
  }}
150
90
  >
151
- {(args) => <ModalStory {...args} />}
91
+ {(args) => <ModalTrigger {...args} />}
152
92
  </Story>
153
93
  </Canvas>
154
94
 
155
- <ArgsTable story="Modal" />
95
+ <ArgsTable story="ModalTrigger" />
156
96
 
157
- ## Code Implementation
97
+ ## useModal
158
98
 
159
- The `Modal` component displays a pop-up on the page whenever it is rendered. This
160
- means that the `Modal` component itself does not control or have state for when
161
- the pop-up should display. Controlling the state for when to render the `Modal`
162
- component should be contained in the parent component.
99
+ <Description of={useModal} />
163
100
 
164
- Typically, a `Button` is used to trigger the action to render the `Modal`. The
165
- `Button` to deactivate the modal MUST be a child of the `Modal` component.
101
+ You can retrieve the DS `Modal` component and the `onOpen` and `onClose` function
102
+ handlers when calling the `useModal` function. The `onOpen` function handler is
103
+ used to open the `Modal` React component. This function can be passed to any
104
+ number of elements that use the `onClick` attribute. The `onClose` function can
105
+ be used on any element that uses the `onClick` attribute.
166
106
 
167
- For a wrapper component implementation, we suggest the following template:
107
+ **NOTE: in this case, the `buttonText` prop is not necessary since you have to
108
+ create and render your own button.**
168
109
 
169
- ```tsx
170
- export const PageComponent = () => {
171
- // Don't render the Modal by default.
172
- const [isModalOpen, setIsModalOpen] = React.useState(false);
173
- // Event handlers that update the local state for rendering the `Modal`.
174
- const openModal = () => setIsModalOpen(true);
175
- const closeModal = () => setIsModalOpen(false);
110
+ ```jsx
111
+ import { useModal } from "@nypl/design-system-react-components";
112
+
113
+ // ...
114
+ export const ModalStory = (args) => {
115
+ const { onClose, onOpen, Modal } = useModal();
116
+ const modalProps = {
117
+ bodyContent: (
118
+ <>
119
+ <Button id="custom-close" onClick={onClose}>
120
+ Go back
121
+ </Button>
122
+ <p>This is the body content.</p>
123
+ <Button id="custom-close2" onClick={onClose}>
124
+ This is a custom close button.
125
+ </Button>
126
+ </>
127
+ ),
128
+ closeButtonLabel: "Close Button",
129
+ headingText: "Modal Heading Text",
130
+ onClose: () => {
131
+ console.log("custom close");
132
+ onClose();
133
+ },
134
+ };
176
135
  return (
177
136
  <>
178
- <Button id="1" onClick={openModal}>
179
- Open Modal
180
- </Button>
181
- <p>Some content this component renders</p>
182
- {isModalOpen && (
183
- <Modal>
184
- <Button id="2" onClick={closeModal}>
185
- Close Modal
186
- </Button>
187
- <p>This is the content that displays inside the `Modal` component.
188
- Make sure that there is a child `Button` component in the `Modal`
189
- component that "closes" it or removes it from the DOM.
190
- </Modal>
191
- )}
137
+ <ButtonGroup>
138
+ <Button id="1" onClick={onOpen}>
139
+ Open Modal
140
+ </Button>
141
+ <Button buttonType="secondary" id="2" onClick={onOpen}>
142
+ I can open the modal, too
143
+ </Button>
144
+ </ButtonGroup>
145
+ <div onClick={onOpen}>
146
+ I'm just a div and shouldn't be used in production but this is just an
147
+ example
148
+ </div>
149
+ <Modal {...modalProps} />
192
150
  </>
193
151
  );
194
152
  };
195
153
  ```
154
+
155
+ export const ModalStory = (args) => {
156
+ const { onClose, onOpen, Modal } = useModal();
157
+ const modalProps = {
158
+ bodyContent: (
159
+ <>
160
+ <Button id="custom-close" onClick={onClose}>
161
+ Go back
162
+ </Button>
163
+ <p>This is the body content.</p>
164
+ <Button id="custom-close2" onClick={onClose}>
165
+ This is a custom close button.
166
+ </Button>
167
+ </>
168
+ ),
169
+ closeButtonLabel: "Close Button",
170
+ headingText: "Modal Heading Text",
171
+ onClose: () => {
172
+ console.log("custom close");
173
+ onClose();
174
+ },
175
+ };
176
+ return (
177
+ <>
178
+ <ButtonGroup>
179
+ <Button id="1" onClick={onOpen}>
180
+ Open Modal
181
+ </Button>
182
+ <Button buttonType="secondary" id="2" onClick={onOpen}>
183
+ I can open the modal, too
184
+ </Button>
185
+ </ButtonGroup>
186
+ <div onClick={onOpen}>
187
+ I'm just a div and shouldn't be used in production but this is just an
188
+ example
189
+ </div>
190
+ <Modal {...modalProps} />
191
+ </>
192
+ );
193
+ };
194
+
195
+ ## useModal Component Props
196
+
197
+ <Canvas withToolbar>
198
+ <Story name="Modal">
199
+ <ModalStory />
200
+ </Story>
201
+ </Canvas>
202
+
203
+ ## Content Window Scrolling
204
+
205
+ In either `Modal` pattern, the main content inside the `Modal` component will
206
+ scroll while the `Modal`'s header and footer still stay static. Check the
207
+ example below with a lot of content inside the `Modal`.
208
+
209
+ <Canvas withToolbar>
210
+ <Story
211
+ name="Content Window Scrolling"
212
+ args={{
213
+ buttonText: "Button Text",
214
+ id: "modal-scrolling",
215
+ modalProps: {
216
+ bodyContent: (
217
+ <>
218
+ <Heading text="Content Title" />
219
+ <p>
220
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
221
+ eiusmod tempor incididunt ut labore et dolore magna aliqua.
222
+ Pellentesque massa placerat duis ultricies lacus sed turpis
223
+ tincidunt.
224
+ <Link href="http://nypl.org">Porttitor eget dolor</Link> morbi non
225
+ arcu risus 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. Diam quam nulla porttitor massa id neque. Sed faucibus
231
+ turpis in eu mi.
232
+ </p>
233
+ <p>
234
+ Ornare lectus sit amet est placerat in. Quis blandit turpis cursus
235
+ in. Aliquam ut porttitor leo a diam sollicitudin tempor id eu.
236
+ Pellentesque eu tincidunt tortor aliquam nulla facilisi cras
237
+ fermentum. Porttitor leo a diam sollicitudin tempor id eu nisl
238
+ nunc. Feugiat nisl pretium fusce id velit ut tortor. Porttitor leo
239
+ a diam sollicitudin tempor id eu nisl nunc.
240
+ </p>
241
+ <p>
242
+ Mauris nunc congue nisi vitae suscipit tellus mauris a diam. Purus
243
+ gravida quis blandit turpis cursus in hac. Morbi tempus iaculis
244
+ urna id volutpat. Lectus nulla at volutpat diam ut venenatis.
245
+ Donec ac odio tempor orci dapibus ultrices in iaculis. Dui vivamus
246
+ arcu felis bibendum ut tristique. Cras semper auctor neque vitae
247
+ tempus quam pellentesque. Placerat orci nulla pellentesque
248
+ dignissim enim sit amet. Feugiat pretium nibh ipsum consequat.
249
+ Placerat orci nulla pellentesque dignissim. Suspendisse faucibus
250
+ interdum posuere lorem. Nullam non nisi est sit. Turpis egestas
251
+ integer eget aliquet nibh praesent. Tortor at risus 'viverra
252
+ adipiscing at. Eu augue ut lectus arcu bibendum at varius vel'
253
+ pharetra.
254
+ </p>
255
+ <Heading text="Another Title" />
256
+ <p>
257
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
258
+ eiusmod tempor incididunt ut labore et dolore magna aliqua.
259
+ Pellentesque massa placerat duis ultricies lacus sed turpis
260
+ tincidunt.
261
+ <Link href="http://nypl.org">Porttitor eget dolor</Link> morbi non
262
+ arcu risus quis varius. Faucibus in ornare quam viverra orci sagittis.
263
+ </p>
264
+ <p>
265
+ Nisl vel pretium lectus quam id leo in. Etiam dignissim diam quis
266
+ enim lobortis scelerisque fermentum. Diam maecenas sed enim ut sem
267
+ viverra. Diam quam nulla porttitor massa id neque. Sed faucibus
268
+ turpis in eu mi.
269
+ </p>
270
+ <p>
271
+ Ornare lectus sit amet est placerat in. Quis blandit turpis cursus
272
+ in. Aliquam ut porttitor leo a diam sollicitudin tempor id eu.
273
+ Pellentesque eu tincidunt tortor aliquam nulla facilisi cras
274
+ fermentum. Porttitor leo a diam sollicitudin tempor id eu nisl
275
+ nunc. Feugiat nisl pretium fusce id velit ut tortor. Porttitor leo
276
+ a diam sollicitudin tempor id eu nisl nunc.
277
+ </p>
278
+ <p>
279
+ Mauris nunc congue nisi vitae suscipit tellus mauris a diam. Purus
280
+ gravida quis blandit turpis cursus in hac. Morbi tempus iaculis
281
+ urna id volutpat. Lectus nulla at volutpat diam ut venenatis.
282
+ Donec ac odio tempor orci dapibus ultrices in iaculis. Dui vivamus
283
+ arcu felis bibendum ut tristique. Cras semper auctor neque vitae
284
+ tempus quam pellentesque. Placerat orci nulla pellentesque
285
+ dignissim enim sit amet. Feugiat pretium nibh ipsum consequat.
286
+ Placerat orci nulla pellentesque dignissim. Suspendisse faucibus
287
+ interdum posuere lorem. Nullam non nisi est sit. Turpis egestas
288
+ integer eget aliquet nibh praesent. Tortor at risus 'viverra
289
+ adipiscing at. Eu augue ut lectus arcu bibendum at varius vel'
290
+ pharetra.
291
+ </p>
292
+ </>
293
+ ),
294
+ closeButtonLabel: "Close Button",
295
+ headingText: "Modal Heading Text",
296
+ },
297
+ }}
298
+ >
299
+ {(args) => <ModalTrigger {...args} />}
300
+ </Story>
301
+ </Canvas>