@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,94 @@
1
+ import { Meta } from "@storybook/addon-docs";
2
+
3
+ import Card from "../Card/Card";
4
+ import List from "../List/List";
5
+ import { getCategory } from "../../utils/componentCategories";
6
+
7
+ <Meta title={getCategory("Forms")} />
8
+
9
+ # Forms
10
+
11
+ | Table of Contents |
12
+ | -------------------------------------------------- |
13
+ | 1. [General Information](#general-information) |
14
+ | 2. [Form Input Components](#form-input-components) |
15
+ | 3. [Input Labelling](#input-labelling) |
16
+ | 4. [Input States](#input-states) |
17
+ | 5. [Figma Reference](#figma-reference) |
18
+
19
+ ## General Information
20
+
21
+ Use the [Form](https://nypl.github.io/nypl-design-system/reservoir/v1/?path=/docs/components-form-elements-form--form-with-controls)
22
+ component to control the placement and spacing for standard HTML forms.
23
+
24
+ ## Form Layout
25
+
26
+ The `Form` component offers two child-components to assist with layout:
27
+ `FormRow` and `FormField`.
28
+
29
+ The `FormField` component is used as a parent for all input components from
30
+ the Reservoir Design System (DS) (`Button`, `Select`, `TextInput`, etc.). When using the
31
+ `Form` is it is necessary to wrap each individual form input component within
32
+ a `FormField` component to ensure proper spacing and responsiveness.
33
+
34
+ The `FormRow` component is used as a parent of multiple `FormField` components
35
+ when you need to render more than one input component in a horizontal row.
36
+
37
+ The recommended layout and spacing within individual form input components is
38
+ built into the components. Consuming apps should rely on the components to
39
+ handle NYPL best practices for layout and responsiveness.
40
+
41
+ ## Form Input Components
42
+
43
+ The list of form input fields available in the Reservoir Design System (DS)
44
+ includes, but is not limited to, the following:
45
+
46
+ - Button
47
+ - Checkbox
48
+ - CheckboxGroup
49
+ - DatePicker
50
+ - Dropdown \*\*\*
51
+ - Fieldset
52
+ - FileUploader \*\*\*
53
+ - Form
54
+ - Label
55
+ - Radio
56
+ - RadioGroup
57
+ - SearchBar
58
+ - Select
59
+ - Slider
60
+ - TextInput (text, tel, url, number, password, textarea)
61
+ - Toggle
62
+
63
+ \*\*\* currently under development
64
+
65
+ ## Input Labelling
66
+
67
+ Most form components in the DS will have the option to show a
68
+ label, basic helper text and error text.
69
+
70
+ For accessibility compliance, a text value for the label is always required. If
71
+ necessary, the label can be hidden from the screen. In cases where the label is
72
+ hidden, appropriate ARIA tags will be added to the form input component.
73
+
74
+ When the label is visible, `CheckboxGroup`, `DatePicker`, `FileUploader`,
75
+ `RadioGroup`, `Select`, `Slider` and `TextInput` will show the label at the top
76
+ of the rendered component. While `Checkbox`, `Radio` and `Toggle` will show the
77
+ label to the right of the input field.
78
+
79
+ The helper and error text will always be rendered below the input field.
80
+
81
+ ## Input States
82
+
83
+ All form input fields offer styling for the following states:
84
+
85
+ - static
86
+ - focused
87
+ - errored
88
+ - disabled
89
+
90
+ ## Figma Reference
91
+
92
+ For additional spacing information, please refer to the Figma Main file.
93
+
94
+ - [General Forms Page](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/?node-id=10734%3A2768)
@@ -0,0 +1,142 @@
1
+ import { Stack } from "@chakra-ui/react";
2
+ import { Canvas, Meta } from "@storybook/addon-docs";
3
+
4
+ import Icon from "../Icons/Icon";
5
+ import { getCategory } from "../../utils/componentCategories";
6
+ import DSProvider from "../../theme/provider";
7
+
8
+ <Meta title={getCategory("Iconography")} />
9
+
10
+ # Iconography
11
+
12
+ | Table of Contents |
13
+ | ---------------------------------------------- |
14
+ | 1. [General Information](#general-information) |
15
+ | 2. [Icon Examples](#icon-examples) |
16
+ | 3. [Icon Sizes](#icon-sizes) |
17
+ | 4. [Icon Colors](#icon-colors) |
18
+ | 5. [Development Notes](#development-notes) |
19
+ | 6. [Figma Reference](#figma-reference) |
20
+
21
+ ## General Information
22
+
23
+ Use the Reservoir Design System (DS) [Icon](https://nypl.github.io/nypl-design-system/reservoir/v1/?path=/docs/components-media-icons-icon--icon-with-controls)
24
+ component to render and control icons as `<svg>` elements within consuming apps.
25
+
26
+ The DS utilizes the `Filled` icons available in the [Material UI Design System](https://material-ui.com/components/material-icons/).
27
+
28
+ ## Icon Examples
29
+
30
+ The graphic of the `Icon` component is handled through the `name` prop. To see
31
+ all graphic options for `Icon`, please refer to the [Icon](https://nypl.github.io/nypl-design-system/reservoir/v1/?path=/docs/components-media-icons-icon--icon-with-controls)
32
+ Storybook page.
33
+
34
+ <Canvas>
35
+ <DSProvider>
36
+ <Stack spacing="s" direction="row">
37
+ <Icon decorative size="xxxlarge" name="check" />
38
+ <Icon decorative size="xxxlarge" name="close" />
39
+ <Icon decorative size="xxxlarge" name="errorOutline" />
40
+ <Icon decorative size="xxxlarge" name="speakerNotes" />
41
+ </Stack>
42
+ </DSProvider>
43
+ </Canvas>
44
+
45
+ | Values for Examples Above |
46
+ | ------------------------- |
47
+ | `check` |
48
+ | `close` |
49
+ | `errorOutline` |
50
+ | `speakerNotes` |
51
+
52
+ ## Icon Sizes
53
+
54
+ The size of the `Icon` component is handled through the `size` prop.
55
+
56
+ <Canvas>
57
+ <DSProvider>
58
+ <Stack spacing="s" direction="row" alignItems="center">
59
+ <Icon size="small" name="check" />
60
+ <Icon size="medium" name="check" />
61
+ <Icon size="large" name="check" />
62
+ <Icon size="xlarge" name="check" />
63
+ <Icon size="xxlarge" name="check" />
64
+ <Icon size="xxxlarge" name="check" />
65
+ </Stack>
66
+ </DSProvider>
67
+ </Canvas>
68
+
69
+ | Value | CSS Value | CSS Variable |
70
+ | ---------- | ----------------- | ------------------ |
71
+ | `small` | `0.875rem` (14px) | n/a |
72
+ | `medium` | `1.125rem` (18px) | n/a |
73
+ | `large` | `1.5rem` (24px) | `--nypl-space-m` |
74
+ | `xlarge` | `2rem` (32px) | `--nypl-space-l` |
75
+ | `xxlarge` | `3rem` (48px) | `--nypl-space-xl` |
76
+ | `xxxlarge` | `4rem` (64px) | `--nypl-space-xxl` |
77
+
78
+ ## Icon Colors
79
+
80
+ The color of the `Icon` component is handled through the `color` prop. Icons in
81
+ NYPL projects should always be rendered with one color.
82
+
83
+ <Canvas>
84
+ <DSProvider>
85
+ <Stack spacing="s" direction="row">
86
+ <Icon size="xxxlarge" name="check" />
87
+ <Icon name="check" size="xxxlarge" color="brand.primary" />
88
+ <Icon name="check" size="xxxlarge" color="section.research.primary" />
89
+ <Icon
90
+ name="check"
91
+ size="xxxlarge"
92
+ color="section.research-library.schwartzman"
93
+ />
94
+ <Icon
95
+ name="check"
96
+ size="xxxlarge"
97
+ color="section.research-library.schomburg"
98
+ />
99
+ </Stack>
100
+ </DSProvider>
101
+ </Canvas>
102
+
103
+ | Value | CSS Variable |
104
+ | -------------------------------------- | ---------------------------------------------------- |
105
+ | `ui.black` | `--nypl-colors-ui-black` |
106
+ | `ui.white` | `--nypl-colors-ui-white` |
107
+ | `brand.primary` | `--nypl-colors-brand-primary` |
108
+ | `brand.secondary` | `--nypl-colors-brand-secondary` |
109
+ | `section.blogs.primary` | `--nypl-colors-section-blogs-primary` |
110
+ | `section.blogs.secondary` | `--nypl-colors-section-blogs-secondary` |
111
+ | `section.books-and-more.primary` | `--nypl-colors-section-books-and-more-primary` |
112
+ | `section.books-and-more.secondary` | `--nypl-colors-section-books-and-more-secondary` |
113
+ | `section.education.primary` | `--nypl-colors-section-education-primary` |
114
+ | `section.education.secondary` | `--nypl-colors-section-education-secondary` |
115
+ | `section.locations.primary` | `--nypl-colors-section-locations-primary` |
116
+ | `section.locations.secondary` | `--nypl-colors-section-locations-secondary` |
117
+ | `section.research.primary` | `--nypl-colors-section-research-primary` |
118
+ | `section.research.secondary` | `--nypl-colors-section-research-secondary` |
119
+ | `section.research-library.lpa` | `--nypl-colors-section-research-library-lpa` |
120
+ | `section.research.library.schomburg` | `--nypl-colors-section-research-library-schomburg` |
121
+ | `section.research.library.schwartzman` | `--nypl-colors-section-research-library-schwartzman` |
122
+ | `section.whats-on.primary` | `--nypl-colors-section-whats-on-primary` |
123
+ | `section.whats-on.secondary` | `--nypl-colors-section-whats-on-secondary` |
124
+
125
+ ## Development Notes
126
+
127
+ Icons have been added to the Icon component as they have been needed within NYPL
128
+ development project, so not all of the [NYPL icons](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/?node-id=10734%3A3945)
129
+ and [NYPL Brand](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=15454%3A47007)
130
+ and [NYPL UI](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=14989%3A37)
131
+ colors are currently available through the DS Icon component. If your project
132
+ requires an icon or color that is not currently available in the Icon component,
133
+ please inform your project manager or reach out directly to the NYPL Design
134
+ System team.
135
+
136
+ ## Figma Reference
137
+
138
+ For additional spacing information, please refer to the Figma Main file.
139
+
140
+ - [NYPL Icons](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/?node-id=10734%3A3945)
141
+ - [NYPL Brand Colors](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=15454%3A47007)
142
+ - [NYPL UI Colors](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=14989%3A37)
@@ -0,0 +1,116 @@
1
+ import { Meta } from "@storybook/addon-docs";
2
+
3
+ import Card from "../Card/Card";
4
+ import List from "../List/List";
5
+ import { getCategory } from "../../utils/componentCategories";
6
+ import DSProvider from "../../theme/provider";
7
+
8
+ <Meta title={getCategory("Spacing")} />
9
+
10
+ # Spacing
11
+
12
+ | Table of Contents |
13
+ | ---------------------------------------------------- |
14
+ | 1. [General Information](#general-information) |
15
+ | 2. [Default Spacing Values](#default-spacing-values) |
16
+ | 3. [Page Section Spacing](#page-section-spacing) |
17
+ | 4. [Grid Spacing](#grid-spacing) |
18
+ | 5. [Form Spacing](#form-spacing) |
19
+ | 6. [Tabular Data Spacing](#tabular-data-spacing) |
20
+ | 7. [Figma Reference](#figma-reference) |
21
+
22
+ ## General Information
23
+
24
+ The Reservoir Design System (DS) spacing values are based on a root unit
25
+ of `16px` (`1rem` = `16px`).
26
+
27
+ ## Default Spacing Values
28
+
29
+ <DSProvider>
30
+ The following default spacing values are available through the DS.
31
+
32
+ | JS Theme Object | CSS Variable | REM Equivalent | Pixel Equivalent | Visual Reference |
33
+ | --------------- | ------------------- | -------------- | ---------------- | ------------------------------------------------------------------------------------------------------------- |
34
+ | `xxxs` | `--nypl-space-xxxs` | `0.125rem` | `2px` | <div style={{ width: "var(--nypl-space-xxxs)", backgroundColor: "var(--nypl-colors-ui-focus)" }}>&nbsp;</div> |
35
+ | `xxs` | `--nypl-space-xxs` | `0.25rem` | `4px` | <div style={{ width: "var(--nypl-space-xxs)", backgroundColor: "var(--nypl-colors-ui-focus)" }}>&nbsp;</div> |
36
+ | `xs` | `--nypl-space-xs` | `0.5rem` | `8px` | <div style={{ width: "var(--nypl-space-xs)", backgroundColor: "var(--nypl-colors-ui-focus)" }}>&nbsp;</div> |
37
+ | `s` | `--nypl-space-s` | `1rem` | `16px` | <div style={{ width: "var(--nypl-space-s)", backgroundColor: "var(--nypl-colors-ui-focus)" }}>&nbsp;</div> |
38
+ | `m` | `--nypl-space-m` | `1.5rem` | `24px` | <div style={{ width: "var(--nypl-space-m)", backgroundColor: "var(--nypl-colors-ui-focus)" }}>&nbsp;</div> |
39
+ | `l` | `--nypl-space-l` | `2rem` | `32px` | <div style={{ width: "var(--nypl-space-l)", backgroundColor: "var(--nypl-colors-ui-focus)" }}>&nbsp;</div> |
40
+ | `xl` | `--nypl-space-xl` | `3rem` | `48px` | <div style={{ width: "var(--nypl-space-xl)", backgroundColor: "var(--nypl-colors-ui-focus)" }}>&nbsp;</div> |
41
+ | `xxl` | `--nypl-space-xxl` | `4rem` | `64px` | <div style={{ width: "var(--nypl-space-xxl)", backgroundColor: "var(--nypl-colors-ui-focus)" }}>&nbsp;</div> |
42
+ | `xxxl` | `--nypl-space-xxxl` | `6rem` | `96px` | <div style={{ width: "var(--nypl-space-xxxl)", backgroundColor: "var(--nypl-colors-ui-focus)" }}>&nbsp;</div> |
43
+
44
+ </DSProvider>
45
+
46
+ ## Page Section Spacing
47
+
48
+ In consuming apps, the major page sections should be separated vertically by
49
+ `2rem`. This includes the space after the page global `header` and the space
50
+ before the global `footer`. Similarly, the major page sections should be
51
+ separated horizontally by `2rem`.
52
+
53
+ | | Value | JS Theme Object | CSS Variable |
54
+ | ---------------------- | ------ | --------------- | ---------------------------- |
55
+ | **Vertical Spacing** | `2rem` | `page.vstack` | `--nypl-spacing-page-vstack` |
56
+ | **Horizontal Spacing** | `2rem` | `page.hstack` | `--nypl-spacing-page-hstack` |
57
+
58
+ ## Grid Spacing
59
+
60
+ When elements are displayed in a grid (i.e. Cards, Images, etc.), the space
61
+ between elements, both horizontal and vertical, should be `2rem`.
62
+
63
+ | | Value | JS Theme Object | CSS Variable |
64
+ | --------------- | ------ | --------------- | ----------------------------- |
65
+ | **Default Gap** | `2rem` | `grid.default` | `--nypl-spacing-grid-default` |
66
+
67
+ ## Form Spacing
68
+
69
+ Form input components should have a `2rem` space between each form input
70
+ component. This includes both vertical (column) and horizontal (row) stacking.
71
+ The DS [Form](https://nypl.github.io/nypl-design-system/reservoir/v1/?path=/docs/components-form-elements-form--form-with-controls)
72
+ component has correct spacing incorporated into its UI structure and should
73
+ always be used when building forms. Please note that the spacing in the `Form`
74
+ component is identical to the spacing in the `Grid` component.
75
+
76
+ When `Checkbox` and `Radio` components are grouped together, the components
77
+ should have a `1rem` space between components for vertical (column) stacking
78
+ and a `2rem` space between components for horizontal (row) stacking. The DS
79
+ `CheckboxGroup` and `RadioGroup` components have the correct spacing built
80
+
81
+ in and should be used respectively when multiple `Checkbox` or `radio`
82
+ components are being used together.
83
+
84
+ When `Button` components are grouped together, the `Button` components should
85
+ have a `0.5rem` space between component. This includes both vertical (column)
86
+ and horizontal (row) stacking. The DS `ButtonGroup` component has the correct
87
+ spacing built in and should be used when multiple `Button` components are being
88
+ used together.
89
+
90
+ | | Value | JS Theme Object | CSS Variable |
91
+ | -------------------------------------- | -------- | ---------------------------- | ------------------------------------------- |
92
+ | **Default Form Gap** | `2rem` | `grid.default` | `--nypl-spacing-grid-default` |
93
+ | **Input Group Default Row Spacing** | `2rem` | `input.group.default.hstack` | `--nypl-spacing-input-group-default-hstack` |
94
+ | **Input Group Default Column Spacing** | `1rem` | `input.group.default.vstack` | `--nypl-spacing-input-group-default-vstack` |
95
+ | **Button Group Row Spacing** | `0.5rem` | `input.group.button.hstack` | `--nypl-spacing-input-group-button-hstack` |
96
+ | **Button Group Column Spacing** | `0.5rem` | `input.group.button.vstack` | `--nypl-spacing-input-group-button-vstack` |
97
+
98
+ ## Tabular Data Spacing
99
+
100
+ When data is displayed in a tabular layout (i.e. rows and columns in a table,
101
+ a description list, etc.), the space between data cells in a row should be
102
+ `1.5rem` and the space between rows should be `2rem`.
103
+
104
+ | | Value | JS Theme Object | CSS Variable |
105
+ | -------------- | -------- | --------------- | ----------------------------- |
106
+ | **Column Gap** | `1.5rem` | `table.column` | `--nypl-spacing-table-column` |
107
+ | **Row Gap** | `2rem` | `table.row` | `--nypl-spacing-table-row` |
108
+
109
+ ## Figma Reference
110
+
111
+ For additional spacing information, please refer to the Figma Main file.
112
+
113
+ - [General Spacing](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=17249%3A13)
114
+ - [Section Spacing](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=17185%3A249)
115
+ - [Grid Spacing](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=17185%3A204)
116
+ - [Tabular Data Spacing](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/?node-id=10734%3A5146)