@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,568 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Card Renders the UI snapshot correctly 1`] = `
4
+ <div
5
+ className="css-1xdhyk6"
6
+ id="regularCard"
7
+ >
8
+ <div
9
+ className="css-0"
10
+ >
11
+ <img
12
+ alt="Alt text"
13
+ className="css-0"
14
+ src="https://placeimg.com/400/200/arch"
15
+ />
16
+ </div>
17
+ <div
18
+ className="card-body css-0"
19
+ >
20
+ <h3
21
+ className="chakra-heading css-1xdhyk6"
22
+ id="heading1"
23
+ layout="column"
24
+ >
25
+ The Card Heading
26
+ </h3>
27
+ <div
28
+ className="css-1xdhyk6"
29
+ >
30
+ middle column content
31
+ </div>
32
+ <div
33
+ className="css-1xdhyk6"
34
+ >
35
+ <button
36
+ className="chakra-button css-1xdhyk6"
37
+ data-testid="button"
38
+ id="button1"
39
+ onClick={[Function]}
40
+ type="submit"
41
+ >
42
+ Example CTA
43
+ </button>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ `;
48
+
49
+ exports[`Card Renders the UI snapshot correctly 2`] = `
50
+ <div
51
+ className="edition-card css-1xdhyk6"
52
+ id="cardWithExtendedStyles"
53
+ >
54
+ <div
55
+ className="css-0"
56
+ >
57
+ <img
58
+ alt="Alt text"
59
+ className="css-0"
60
+ src="https://placeimg.com/300/400/arch"
61
+ />
62
+ </div>
63
+ <div
64
+ className="card-body css-0"
65
+ >
66
+ <h2
67
+ className="chakra-heading css-1xdhyk6"
68
+ id="editioncardheading1"
69
+ layout="column"
70
+ >
71
+ The Card Heading
72
+ </h2>
73
+ <div
74
+ className="css-1xdhyk6"
75
+ >
76
+ <div>
77
+ Published in New York by Random House
78
+ </div>
79
+ <div>
80
+ Written in English
81
+ </div>
82
+ <div>
83
+ License: Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International
84
+ </div>
85
+ </div>
86
+ <div
87
+ className="css-1xdhyk6"
88
+ >
89
+ <a
90
+ className="css-1xdhyk6"
91
+ href="online"
92
+ id="link-online"
93
+ rel={null}
94
+ target={null}
95
+ >
96
+ Read Online
97
+ </a>
98
+ <a
99
+ className="css-1xdhyk6"
100
+ href="#url"
101
+ id="link-icon"
102
+ rel={null}
103
+ target={null}
104
+ >
105
+ <svg
106
+ aria-hidden={true}
107
+ className="chakra-icon css-1grhd2q"
108
+ focusable={false}
109
+ id="icon-cardWithExtendedStyles"
110
+ role="img"
111
+ title="download icon"
112
+ viewBox="0 0 24 24"
113
+ >
114
+ <g
115
+ stroke="currentColor"
116
+ strokeWidth="1.5"
117
+ >
118
+ <path
119
+ d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
120
+ fill="none"
121
+ strokeLinecap="round"
122
+ />
123
+ <path
124
+ d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
125
+ fill="currentColor"
126
+ strokeLinecap="round"
127
+ />
128
+ <circle
129
+ cx="12"
130
+ cy="12"
131
+ fill="none"
132
+ r="11.25"
133
+ strokeMiterlimit="10"
134
+ />
135
+ </g>
136
+ </svg>
137
+ Download
138
+ </a>
139
+ </div>
140
+ </div>
141
+ </div>
142
+ `;
143
+
144
+ exports[`Card Renders the UI snapshot correctly 3`] = `
145
+ <div
146
+ className="edition-card css-1xdhyk6"
147
+ id="cardWithNoCTAs"
148
+ >
149
+ <div
150
+ className="css-0"
151
+ >
152
+ <img
153
+ alt="Alt text"
154
+ className="css-0"
155
+ src="https://placeimg.com/300/400/arch"
156
+ />
157
+ </div>
158
+ <div
159
+ className="card-body css-0"
160
+ >
161
+ <h2
162
+ className="chakra-heading css-1xdhyk6"
163
+ id="editioncardheading1"
164
+ layout="column"
165
+ >
166
+ The Card Heading
167
+ </h2>
168
+ <div
169
+ className="css-1xdhyk6"
170
+ >
171
+ <p>
172
+ Published in New York by Random House
173
+ </p>
174
+ <p>
175
+ Written in English
176
+ </p>
177
+ <p>
178
+ Under Creative Commons License
179
+ </p>
180
+ </div>
181
+ </div>
182
+ </div>
183
+ `;
184
+
185
+ exports[`Card Renders the UI snapshot correctly 4`] = `
186
+ <div
187
+ className="edition-card css-1xdhyk6"
188
+ id="cardWithNoContent"
189
+ >
190
+ <div
191
+ className="css-0"
192
+ >
193
+ <img
194
+ alt="Alt text"
195
+ className="css-0"
196
+ src="https://placeimg.com/300/400/arch"
197
+ />
198
+ </div>
199
+ <div
200
+ className="card-body css-0"
201
+ >
202
+ <h2
203
+ className="chakra-heading css-1xdhyk6"
204
+ id="editioncardheading1"
205
+ layout="column"
206
+ >
207
+ <a
208
+ className="css-1xdhyk6"
209
+ href="#edition-link"
210
+ id="editioncardheading1-link"
211
+ rel={null}
212
+ target={null}
213
+ >
214
+ The Card Heading
215
+ </a>
216
+ </h2>
217
+ <div
218
+ className="css-1xdhyk6"
219
+ >
220
+ <a
221
+ className="css-1xdhyk6"
222
+ href="online"
223
+ id="link-online"
224
+ rel={null}
225
+ target={null}
226
+ >
227
+ Read Online
228
+ </a>
229
+ <a
230
+ className="css-1xdhyk6"
231
+ href="#url"
232
+ id="link-icon"
233
+ rel={null}
234
+ target={null}
235
+ >
236
+ <svg
237
+ aria-hidden={true}
238
+ className="chakra-icon css-1grhd2q"
239
+ focusable={false}
240
+ id="icon-cardWithNoContent"
241
+ role="img"
242
+ title="download icon"
243
+ viewBox="0 0 24 24"
244
+ >
245
+ <g
246
+ stroke="currentColor"
247
+ strokeWidth="1.5"
248
+ >
249
+ <path
250
+ d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
251
+ fill="none"
252
+ strokeLinecap="round"
253
+ />
254
+ <path
255
+ d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
256
+ fill="currentColor"
257
+ strokeLinecap="round"
258
+ />
259
+ <circle
260
+ cx="12"
261
+ cy="12"
262
+ fill="none"
263
+ r="11.25"
264
+ strokeMiterlimit="10"
265
+ />
266
+ </g>
267
+ </svg>
268
+ Download
269
+ </a>
270
+ </div>
271
+ </div>
272
+ </div>
273
+ `;
274
+
275
+ exports[`Card Renders the UI snapshot correctly 5`] = `
276
+ <div
277
+ className="edition-card css-1xdhyk6"
278
+ id="cardWithNoImage"
279
+ >
280
+ <div
281
+ className="card-body css-0"
282
+ >
283
+ <h2
284
+ className="chakra-heading css-1xdhyk6"
285
+ id="editioncardheading1"
286
+ layout="column"
287
+ >
288
+ <a
289
+ className="css-1xdhyk6"
290
+ href="#edition-link"
291
+ id="editioncardheading1-link"
292
+ rel={null}
293
+ target={null}
294
+ >
295
+ The Card Heading
296
+ </a>
297
+ </h2>
298
+ <div
299
+ className="css-1xdhyk6"
300
+ >
301
+ middle column content
302
+ </div>
303
+ <div
304
+ className="css-1xdhyk6"
305
+ >
306
+ <a
307
+ className="css-1xdhyk6"
308
+ href="online"
309
+ id="link-online"
310
+ rel={null}
311
+ target={null}
312
+ >
313
+ Read Online
314
+ </a>
315
+ <a
316
+ className="css-1xdhyk6"
317
+ href="#url"
318
+ id="link-icon"
319
+ rel={null}
320
+ target={null}
321
+ >
322
+ <svg
323
+ aria-hidden={true}
324
+ className="chakra-icon css-1grhd2q"
325
+ focusable={false}
326
+ id="icon-cardWithNoImage"
327
+ role="img"
328
+ title="download icon"
329
+ viewBox="0 0 24 24"
330
+ >
331
+ <g
332
+ stroke="currentColor"
333
+ strokeWidth="1.5"
334
+ >
335
+ <path
336
+ d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
337
+ fill="none"
338
+ strokeLinecap="round"
339
+ />
340
+ <path
341
+ d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
342
+ fill="currentColor"
343
+ strokeLinecap="round"
344
+ />
345
+ <circle
346
+ cx="12"
347
+ cy="12"
348
+ fill="none"
349
+ r="11.25"
350
+ strokeMiterlimit="10"
351
+ />
352
+ </g>
353
+ </svg>
354
+ Download
355
+ </a>
356
+ </div>
357
+ </div>
358
+ </div>
359
+ `;
360
+
361
+ exports[`Card Renders the UI snapshot correctly 6`] = `
362
+ <div
363
+ className="chakra-linkbox css-hng3kb"
364
+ >
365
+ <div
366
+ className="css-1xdhyk6"
367
+ id="fullclick"
368
+ >
369
+ <div
370
+ className="css-0"
371
+ >
372
+ <img
373
+ alt="Alt text"
374
+ className="css-0"
375
+ src="https://placeimg.com/400/200/arch"
376
+ />
377
+ </div>
378
+ <div
379
+ className="card-body css-0"
380
+ >
381
+ <h3
382
+ className="chakra-heading css-1xdhyk6"
383
+ id="heading1"
384
+ layout="column"
385
+ >
386
+ <a
387
+ className="chakra-linkbox__overlay css-kvj8dg"
388
+ href="http://nypl.org"
389
+ >
390
+ The Card Heading
391
+ </a>
392
+ </h3>
393
+ <div
394
+ className="css-1xdhyk6"
395
+ >
396
+ middle column content
397
+ </div>
398
+ <div
399
+ className="css-1xdhyk6"
400
+ >
401
+ <button
402
+ className="chakra-button css-1xdhyk6"
403
+ data-testid="button"
404
+ id="button1"
405
+ onClick={[Function]}
406
+ type="submit"
407
+ >
408
+ Example CTA
409
+ </button>
410
+ </div>
411
+ </div>
412
+ </div>
413
+ </div>
414
+ `;
415
+
416
+ exports[`Card Renders the UI snapshot correctly 7`] = `
417
+ <div
418
+ className="css-1xdhyk6"
419
+ id="cardID"
420
+ >
421
+ <div
422
+ className="css-0"
423
+ >
424
+ <img
425
+ alt="Alt text"
426
+ className="css-0"
427
+ src="https://placeimg.com/400/200/arch"
428
+ />
429
+ </div>
430
+ <div
431
+ className="card-body css-0"
432
+ >
433
+ <h3
434
+ className="chakra-heading css-1xdhyk6"
435
+ id="heading1"
436
+ layout="column"
437
+ >
438
+ The Card Heading
439
+ </h3>
440
+ <div
441
+ className="css-1xdhyk6"
442
+ >
443
+ middle column content
444
+ </div>
445
+ <div
446
+ className="css-1xdhyk6"
447
+ >
448
+ <button
449
+ className="chakra-button css-1xdhyk6"
450
+ data-testid="button"
451
+ id="button1"
452
+ onClick={[Function]}
453
+ type="submit"
454
+ >
455
+ Example CTA
456
+ </button>
457
+ </div>
458
+ <div
459
+ className="css-1xdhyk6"
460
+ >
461
+ <button
462
+ className="chakra-button css-1xdhyk6"
463
+ data-testid="button"
464
+ id="button2"
465
+ onClick={[Function]}
466
+ type="submit"
467
+ >
468
+ Example CTA
469
+ </button>
470
+ </div>
471
+ </div>
472
+ </div>
473
+ `;
474
+
475
+ exports[`Card Renders the UI snapshot correctly 8`] = `
476
+ <div
477
+ className="css-1t0bvx9"
478
+ id="chakraProps"
479
+ >
480
+ <div
481
+ className="css-0"
482
+ >
483
+ <img
484
+ alt="Alt text"
485
+ className="css-0"
486
+ src="https://placeimg.com/400/200/arch"
487
+ />
488
+ </div>
489
+ <div
490
+ className="card-body css-0"
491
+ >
492
+ <h3
493
+ className="chakra-heading css-1ss7kwh"
494
+ id="heading1"
495
+ layout="column"
496
+ >
497
+ The Card Heading
498
+ </h3>
499
+ <div
500
+ className="css-1rn2qcq"
501
+ >
502
+ middle column content
503
+ </div>
504
+ <div
505
+ className="css-1avkygu"
506
+ >
507
+ <button
508
+ className="chakra-button css-1xdhyk6"
509
+ data-testid="button"
510
+ id="button1"
511
+ onClick={[Function]}
512
+ type="submit"
513
+ >
514
+ Example CTA
515
+ </button>
516
+ </div>
517
+ </div>
518
+ </div>
519
+ `;
520
+
521
+ exports[`Card Renders the UI snapshot correctly 9`] = `
522
+ <div
523
+ className="css-1xdhyk6"
524
+ data-testid="card-testid"
525
+ id="otherProps"
526
+ >
527
+ <div
528
+ className="css-0"
529
+ >
530
+ <img
531
+ alt="Alt text"
532
+ className="css-0"
533
+ src="https://placeimg.com/400/200/arch"
534
+ />
535
+ </div>
536
+ <div
537
+ className="card-body css-0"
538
+ >
539
+ <h3
540
+ className="chakra-heading css-1ss7kwh"
541
+ id="heading1"
542
+ layout="column"
543
+ >
544
+ The Card Heading
545
+ </h3>
546
+ <div
547
+ className="css-1xdhyk6"
548
+ data-testid="cardcontent-testid"
549
+ >
550
+ middle column content
551
+ </div>
552
+ <div
553
+ className="css-1xdhyk6"
554
+ data-testid="cardaction-testid"
555
+ >
556
+ <button
557
+ className="chakra-button css-1xdhyk6"
558
+ data-testid="button"
559
+ id="button1"
560
+ onClick={[Function]}
561
+ type="submit"
562
+ >
563
+ Example CTA
564
+ </button>
565
+ </div>
566
+ </div>
567
+ </div>
568
+ `;
@@ -0,0 +1,52 @@
1
+ import { Box } from "@chakra-ui/react";
2
+ import { Canvas, Meta, Story } from "@storybook/addon-docs";
3
+
4
+ import VideoPlayer from "../VideoPlayer/VideoPlayer";
5
+ import { getCategory } from "../../utils/componentCategories";
6
+ import DSProvider from "../../theme/provider";
7
+
8
+ <Meta title={getCategory("Box")} component={Box} />
9
+
10
+ # Box
11
+
12
+ | Component Version | DS Version |
13
+ | ----------------- | ---------- |
14
+ | Added | `0.24.0` |
15
+
16
+ Note: This needs the use of the `DSProvider` component. See the
17
+ [README](https://nypl.github.io/nypl-design-system/reservoir/v1/?path=/story/chakra-ui--page#dsprovider)
18
+ for more information.
19
+
20
+ This component is directly exported from Chakra UI. The `Box` is a simple and
21
+ composable component that can be used for many situations. By default it renders
22
+ a `div` but can render another element using the `as` prop.
23
+
24
+ All available props can be found on the [Style Props](https://chakra-ui.com/docs/features/style-props)
25
+ guide on the Chakra UI site.
26
+
27
+ <Canvas>
28
+ <Story
29
+ name="Box"
30
+ args={{
31
+ padding: "s",
32
+ bg: "var(--nypl-colors-brand-primary)",
33
+ color: "white",
34
+ }}
35
+ >
36
+ {(args) => <Box {...args}>This text is inside a `Box` component.</Box>}
37
+ </Story>
38
+ </Canvas>
39
+
40
+ ## With VideoPlayer Component Example
41
+
42
+ <Canvas>
43
+ <DSProvider>
44
+ <Box borderWidth="3px" padding="s" borderRadius="lg" overflow="hidden">
45
+ <VideoPlayer
46
+ videoId="nm-dD2tx6bk"
47
+ videoType="youTube"
48
+ aspectRatio="sixteenByNine"
49
+ />
50
+ </Box>
51
+ </DSProvider>
52
+ </Canvas>
@@ -0,0 +1,96 @@
1
+ import { Box, Center, Circle, HStack, Square } from "@chakra-ui/react";
2
+ import { Canvas, Meta, Story } from "@storybook/addon-docs";
3
+
4
+ import Icon from "../Icons/Icon";
5
+ import Image from "../Image/Image";
6
+ import { getCategory } from "../../utils/componentCategories";
7
+ import DSProvider from "../../theme/provider";
8
+
9
+ <Meta title={getCategory("Center, Circle, Square")} component={Center} />
10
+
11
+ # Center, Circle, Square
12
+
13
+ | Component Version | DS Version |
14
+ | ----------------- | ---------- |
15
+ | Added | `0.24.0` |
16
+
17
+ Note: This needs the use of the `DSProvider` component. See the
18
+ [README](https://nypl.github.io/nypl-design-system/reservoir/v1/?path=/story/chakra-ui--page#dsprovider)
19
+ for more information.
20
+
21
+ These components are directly exported from Chakra UI. The `Center`, `Circle`,
22
+ and `Square` are layout component that center their child.
23
+
24
+ All available props can be found on the [Style Props](https://chakra-ui.com/docs/features/style-props)
25
+ guide on the Chakra UI site.
26
+
27
+ ## Center
28
+
29
+ <Canvas>
30
+ <Story
31
+ name="Center, Circle, Square"
32
+ args={{
33
+ padding: "s",
34
+ bg: "var(--nypl-colors-brand-primary)",
35
+ color: "var(--nypl-colors-ui-white)",
36
+ }}
37
+ >
38
+ {(args) => (
39
+ <Box>
40
+ Some text at the beginning.
41
+ <Center {...args}>
42
+ This text is centered inside a `Center` component.
43
+ </Center>
44
+ Some text at the end.
45
+ </Box>
46
+ )}
47
+ </Story>
48
+ </Canvas>
49
+
50
+ <Canvas>
51
+ <DSProvider>
52
+ <Center border="1px solid" borderColor="var(--nypl-colors-ui-gray-medium)">
53
+ <Image
54
+ alt="Centered Image"
55
+ size="medium"
56
+ src="https://placeimg.com/300/400/arch"
57
+ />
58
+ </Center>
59
+ </DSProvider>
60
+ </Canvas>
61
+
62
+ ## Circle
63
+
64
+ This component is similar to the `Center` component but it is always rendered as
65
+ a circle.
66
+
67
+ <Canvas>
68
+ <DSProvider>
69
+ <HStack spacing="s">
70
+ <Circle size="50px" bg="var(--nypl-colors-brand-secondary)">
71
+ <Icon name="download" color="ui.white" size="large" />
72
+ </Circle>
73
+ <Circle size="50px" bg="var(--nypl-colors-ui-link-primary)">
74
+ <Icon name="check" color="ui.white" size="large" />
75
+ </Circle>
76
+ </HStack>
77
+ </DSProvider>
78
+ </Canvas>
79
+
80
+ ## Square
81
+
82
+ This component is similar to the `Circle` component but always has equal height
83
+ and width.
84
+
85
+ <Canvas>
86
+ <DSProvider>
87
+ <HStack spacing="s">
88
+ <Square size="50px" bg="var(--nypl-colors-brand-secondary)">
89
+ <Icon name="download" color="ui.white" size="large" />
90
+ </Square>
91
+ <Square size="50px" bg="var(--nypl-colors-ui-link-primary)">
92
+ <Icon name="check" color="ui.white" size="large" />
93
+ </Square>
94
+ </HStack>
95
+ </DSProvider>
96
+ </Canvas>