@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,212 @@
1
+ import { Colors } from "@chakra-ui/react";
2
+
3
+ /**
4
+ * All colors can be found in Storybook:
5
+ * https://nypl.github.io/nypl-design-system/reservoir/v1/?path=/docs/style-guide-colors--page
6
+ *
7
+ * All UI colors can be found in Figma:
8
+ * https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=47083%3A27674
9
+ *
10
+ * All Brand colors can be found in Figma:
11
+ * https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=15454%3A47007
12
+ *
13
+ * At the end of this file, there are objects that extend Chakra's default
14
+ * color shade palette for individual colors. WE DO NOT RECOMMEND to use them
15
+ * and only recommend to use the colors defined by the Design System such as the
16
+ * following "ui", "brand", and "section" colors below.
17
+ */
18
+
19
+ // Reusable variables:
20
+ const grayLightCool = "#E9E9E9";
21
+ const grayxxLightCool = "#FAFAFA";
22
+ const grayMedium = "#BDBDBD";
23
+ const brandPrimary = "#C60917";
24
+ const brandSecondary = "#760000";
25
+ const brandObj = {
26
+ primary: brandPrimary,
27
+ secondary: brandSecondary,
28
+ };
29
+
30
+ const colors: Colors = {
31
+ transparent: "transparent",
32
+
33
+ // ui fills
34
+ ui: {
35
+ black: "#000",
36
+ white: "#fff",
37
+ /// State and link utilities
38
+ disabled: {
39
+ primary: grayLightCool,
40
+ secondary: grayxxLightCool,
41
+ },
42
+ error: {
43
+ primary: "#97272C",
44
+ secondary: "#6F0106",
45
+ },
46
+ focus: "#4181F1",
47
+ link: {
48
+ primary: "#0576D3",
49
+ secondary: "#004B98",
50
+ },
51
+ status: {
52
+ primary: "#F9E08E",
53
+ secondary: "#FBE7E1",
54
+ },
55
+ success: {
56
+ primary: "#077719",
57
+ secondary: "#095212",
58
+ },
59
+ test: "#FF6347",
60
+ warning: {
61
+ primary: "#F0974E",
62
+ secondary: "#EC7B1F",
63
+ },
64
+ // Grayscale
65
+ gray: {
66
+ xdark: "#424242",
67
+ dark: "#616161",
68
+ medium: grayMedium,
69
+ "light-cool": grayLightCool,
70
+ "light-warm": "#EFEDEB",
71
+ "x-light-cool": "#F5F5F5",
72
+ "x-light-warm": "#F8F8F7",
73
+ "xx-light-cool": grayxxLightCool,
74
+ },
75
+ },
76
+
77
+ /** Brand fills are the NYPL primary and secondary colors. */
78
+ brand: brandObj,
79
+
80
+ /** Brand fills for sections on NYPL pages. */
81
+ section: {
82
+ /** Blogs is used for the Blogs section. */
83
+ blogs: {
84
+ primary: grayLightCool,
85
+ secondary: grayMedium,
86
+ },
87
+
88
+ /** Books and More is used for the Catalog, Staff Picks, Recommendations,
89
+ * New Arrivals, and E-Book Central. */
90
+ "books-and-more": brandObj,
91
+
92
+ /** Education is used for the Education section front and associated
93
+ * sub-sections. */
94
+ education: {
95
+ primary: "#1D62E6",
96
+ secondary: "#2540A4",
97
+ },
98
+
99
+ /** Locations is used for Location Finder and all branch pages with
100
+ * the exceptions of some research libraries. */
101
+ locations: brandObj,
102
+
103
+ /** Research is used for the Research Catalog and SCC. */
104
+ research: {
105
+ primary: "#00838a",
106
+ secondary: "#006166",
107
+ },
108
+
109
+ /** Research libraries with specific brand colors to adhere to. */
110
+ "research-library": {
111
+ lpa: "#005d53",
112
+ schomburg: "#a03e31",
113
+ schwartzman: brandSecondary,
114
+ },
115
+
116
+ /** What's On is used for Exhibitions & Events. */
117
+ "whats-on": {
118
+ primary: "#242424",
119
+ secondary: "#000000",
120
+ },
121
+ },
122
+
123
+ /**
124
+ * The following color scales are useful for color edge cases where a
125
+ * distinct named ui or brand color doesn't quite work. These are used by
126
+ * Chakra and have been generated through https://themera.vercel.app/.
127
+ * While these colors are available, WE DO NOT RECOMMEND using them. Stick
128
+ * with the utility colors declared above.
129
+ * @Note If you do need to use a color variant, please contant the DS team.
130
+ */
131
+
132
+ /** based on ui.gray.medium = #DBDBDB */
133
+ gray: {
134
+ 50: "#F2F2F2",
135
+ 100: "#DBDBDB",
136
+ 200: "#C4C4C4",
137
+ 300: "#ADADAD",
138
+ 400: "#969696",
139
+ 500: "#808080",
140
+ 600: "#666666",
141
+ 700: "#4D4D4D",
142
+ 800: "#333333",
143
+ 900: "#1A1A1A",
144
+ },
145
+ /** based on ui.brand.primary = #C60917 */
146
+ red: {
147
+ 50: "#FEE7E8",
148
+ 100: "#FCBBC0",
149
+ 200: "#FA8F97",
150
+ 300: "#F8636E",
151
+ 400: "#F63745",
152
+ 500: "#F40B1C",
153
+ 600: "#C30917",
154
+ 700: "#920711",
155
+ 800: "#62040B",
156
+ 900: "#310206",
157
+ },
158
+ /** based on ui.warning.secondary = #F0974E */
159
+ orange: {
160
+ 50: "#FDF1E7",
161
+ 100: "#F9D8BD",
162
+ 200: "#F6BF93",
163
+ 300: "#F2A769",
164
+ 400: "#EF8E3E",
165
+ 500: "#EB7514",
166
+ 600: "#BC5E10",
167
+ 700: "#8D460C",
168
+ 800: "#5E2F08",
169
+ 900: "#2F1704",
170
+ },
171
+ /** based on ui.status.primary = #F9E08E */
172
+ yellow: {
173
+ 50: "#FEF8E7",
174
+ 100: "#FBECBB",
175
+ 200: "#F9E090",
176
+ 300: "#F7D464",
177
+ 400: "#F4C938",
178
+ 500: "#F2BD0D",
179
+ 600: "#C2970A",
180
+ 700: "#917108",
181
+ 800: "#614B05",
182
+ 900: "#302603",
183
+ },
184
+ /** based on ui.success.primary = #077719 */
185
+ green: {
186
+ 50: "#E7FEEB",
187
+ 100: "#BCFBC6",
188
+ 200: "#90F8A1",
189
+ 300: "#65F67C",
190
+ 400: "#3AF357",
191
+ 500: "#0EF133",
192
+ 600: "#0BC128",
193
+ 700: "#08911E",
194
+ 800: "#066014",
195
+ 900: "#03300A",
196
+ },
197
+ /** based on ui.link.primary = #0576D3 */
198
+ blue: {
199
+ 50: "#E6F3FE",
200
+ 100: "#B9DFFD",
201
+ 200: "#8CCAFC",
202
+ 300: "#60B5FB",
203
+ 400: "#33A0FA",
204
+ 500: "#068BF9",
205
+ 600: "#056FC7",
206
+ 700: "#045495",
207
+ 800: "#023864",
208
+ 900: "#011C32",
209
+ },
210
+ };
211
+
212
+ export default colors;
@@ -0,0 +1,43 @@
1
+ import { activeFocus } from "../components/global";
2
+ import { textMargin } from "../components/global";
3
+
4
+ /**
5
+ * These rules affect all the global elements on the `body` element of the
6
+ * page when the `DSProvider` component is used.
7
+ */
8
+ const global = {
9
+ // styles for the `body` element
10
+ body: {
11
+ boxSizing: "border-box",
12
+ bg: "ui.white",
13
+ color: "ui.black",
14
+ fontFamily: "body",
15
+ fontSize: "text.default",
16
+ fontWeight: "text.default",
17
+ lineHeight: "1.5",
18
+ overflowX: "hidden",
19
+ },
20
+ // styles for the `a` element
21
+ a: {
22
+ color: "ui.link.primary",
23
+ },
24
+ svg: {
25
+ display: "inline",
26
+ },
27
+ "button, select, input, textarea": {
28
+ "&:not([disabled])": {
29
+ _focus: activeFocus(),
30
+ },
31
+ },
32
+ "iframe, [href], [tabindex], [contentEditable='true']": {
33
+ _focus: activeFocus(),
34
+ },
35
+ p: textMargin,
36
+ ul: textMargin,
37
+ ol: textMargin,
38
+ "*, *::before, &::after": {
39
+ boxSizing: "inherit",
40
+ },
41
+ };
42
+
43
+ export default global;
@@ -0,0 +1,7 @@
1
+ const radii = {
2
+ checkbox: "3px",
3
+ pill: "20px",
4
+ round: "100%",
5
+ };
6
+
7
+ export default radii;
@@ -0,0 +1,5 @@
1
+ const shadows = {
2
+ outline: "none",
3
+ };
4
+
5
+ export default shadows;
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Chakra spacing values are based on:
3
+ * root size of 16px or 1rem
4
+ * 1 spacing unit is 4px or 0.25rem
5
+ *
6
+ * Chakra's mental model: If you need a spacing of 40px, divide it by 4.
7
+ * That'll give you 10. Then use it in your component.
8
+ *
9
+ * The DS uses nine CSS variables/values found in "src/styles/03-space/_space.css":
10
+ * --nypl-space-xxxs = 2px or 0.125rem
11
+ * --nypl-space-xxs = 4px or 0.25rem
12
+ * --nypl-space-xs = 8px or 0.5rem
13
+ * --nypl-space-s = 16px or 1rem
14
+ * --nypl-space-m = 24px or 1.5rem
15
+ * --nypl-space-l = 32px or 2rem
16
+ * --nypl-space-xl = 48px or 3rem
17
+ * --nypl-space-xxl = 64px or 4rem
18
+ * --nypl-space-xxxl = 96px or 6rem
19
+ *
20
+ * @note Even though all the following values are available through Chakra,
21
+ * we recommend to only use the spacing values that map to the DS values
22
+ * declared above.
23
+ *
24
+ * Chakra Number Value | Chakra Name value | DS Variable
25
+ * ------------------- | ----------------- | -----------------
26
+ * 0.5 | xxxs | --nypl-space-xxxs
27
+ * 1 | xxs | --nypl-space-xxs
28
+ * 2 | xs | --nypl-space-xs
29
+ * 4 | s | --nypl-space-s
30
+ * 6 | m | --nypl-space-m
31
+ * 8 | l | --nypl-space-l
32
+ * 12 | xl | --nypl-space-xl
33
+ * 16 | xxl | --nypl-space-xxl
34
+ * 24 | xxxl | --nypl-space-xxxl
35
+ */
36
+ const chakraSpacingTokens = {
37
+ px: "1px",
38
+ 0: "0",
39
+ 0.5: "0.125rem",
40
+ 1: "0.25rem",
41
+ 1.5: "0.375rem",
42
+ 2: "0.5rem",
43
+ 2.5: "0.625rem",
44
+ 3: "0.75rem",
45
+ 3.5: "0.875rem",
46
+ 4: "1rem",
47
+ 5: "1.25rem",
48
+ 6: "1.5rem",
49
+ 7: "1.75rem",
50
+ 8: "2rem",
51
+ 9: "2.25rem",
52
+ 10: "2.5rem",
53
+ 12: "3rem",
54
+ 14: "3.5rem",
55
+ 16: "4rem",
56
+ 20: "5rem",
57
+ 24: "6rem",
58
+ 28: "7rem",
59
+ 32: "8rem",
60
+ 36: "9rem",
61
+ 40: "10rem",
62
+ 44: "11rem",
63
+ 48: "12rem",
64
+ 52: "13rem",
65
+ 56: "14rem",
66
+ 60: "15rem",
67
+ 64: "16rem",
68
+ 72: "18rem",
69
+ 80: "20rem",
70
+ 96: "24rem",
71
+ };
72
+ const reservoirSpacingValues = {
73
+ xxxs: "0.125rem", // 2px
74
+ xxs: "0.25rem", // 4px
75
+ xs: "0.5rem", // 8px
76
+ s: "1rem", // 16px
77
+ m: "1.5rem", // 24px
78
+ l: "2rem", // 32px
79
+ xl: "3rem", // 48px
80
+ xxl: "4rem", // 64px
81
+ xxxl: "6rem", // 96px
82
+ };
83
+ const reservoirSpacingTokens = {
84
+ // Reservoir generic tokens
85
+ xxxs: reservoirSpacingValues["xxxs"],
86
+ xxs: reservoirSpacingValues["xxs"],
87
+ xs: reservoirSpacingValues["xs"],
88
+ s: reservoirSpacingValues["s"],
89
+ m: reservoirSpacingValues["m"],
90
+ l: reservoirSpacingValues["l"],
91
+ xl: reservoirSpacingValues["xl"],
92
+ xxl: reservoirSpacingValues["xxl"],
93
+ xxxl: reservoirSpacingValues["xxxl"],
94
+ // Reservoir semantic tokens
95
+ input: {
96
+ group: {
97
+ button: {
98
+ hstack: reservoirSpacingValues["xs"],
99
+ vstack: reservoirSpacingValues["xs"],
100
+ },
101
+ default: {
102
+ hstack: reservoirSpacingValues["l"],
103
+ vstack: reservoirSpacingValues["s"],
104
+ },
105
+ },
106
+ },
107
+ inset: {
108
+ default: reservoirSpacingValues["s"],
109
+ extranarrow: reservoirSpacingValues["xxs"],
110
+ extrawide: reservoirSpacingValues["xl"],
111
+ narrow: reservoirSpacingValues["xs"],
112
+ wide: reservoirSpacingValues["l"],
113
+ },
114
+ grid: {
115
+ default: reservoirSpacingValues["l"],
116
+ xxs: reservoirSpacingValues["xxs"],
117
+ xs: reservoirSpacingValues["xs"],
118
+ s: reservoirSpacingValues["s"],
119
+ m: reservoirSpacingValues["m"],
120
+ l: reservoirSpacingValues["l"],
121
+ xl: reservoirSpacingValues["xl"],
122
+ xxl: reservoirSpacingValues["xxl"],
123
+ },
124
+ page: {
125
+ hstack: reservoirSpacingValues["l"],
126
+ vstack: reservoirSpacingValues["l"],
127
+ },
128
+ table: {
129
+ column: reservoirSpacingValues["m"],
130
+ row: reservoirSpacingValues["l"],
131
+ },
132
+ };
133
+ export const spacing = {
134
+ ...chakraSpacingTokens,
135
+ ...reservoirSpacingTokens,
136
+ };
@@ -0,0 +1,107 @@
1
+ import { Dict } from "../types";
2
+
3
+ type Typography = {
4
+ fonts: Dict;
5
+ fontSizes: Dict;
6
+ fontWeights: Dict;
7
+ };
8
+
9
+ const fontSizeValues = {
10
+ "-3": "0.625rem",
11
+ "-2": "0.75rem",
12
+ "-1": "0.875rem",
13
+ "0": "1rem",
14
+ "1": "1.125rem",
15
+ "2": "1.375rem",
16
+ "3": "1.75rem",
17
+ "4": "2.25rem",
18
+ };
19
+
20
+ const fontWeightValues = {
21
+ light: 300,
22
+ regular: 400,
23
+ medium: 500,
24
+ bold: 700,
25
+ };
26
+
27
+ const typography: Typography = {
28
+ // Values from "src/styles/02-typography/_typeface.css"
29
+ fonts: {
30
+ body: "-apple-system, BlinkMacSystemFont, system-ui, sans-serif",
31
+ heading: "-apple-system, BlinkMacSystemFont, system-ui, sans-serif",
32
+ },
33
+ // Values from "src/styles/02-typography/_type-scale.css"
34
+ fontSizes: {
35
+ // generic tokens
36
+ "-3": fontSizeValues["-3"],
37
+ "-2": fontSizeValues["-2"],
38
+ "-1": fontSizeValues["-1"],
39
+ "0": fontSizeValues["0"],
40
+ "1": fontSizeValues["1"],
41
+ "2": fontSizeValues["2"],
42
+ "3": fontSizeValues["3"],
43
+ "4": fontSizeValues["4"],
44
+ // semantic tokens
45
+ breadcrumbs: {
46
+ default: fontSizeValues["-1"],
47
+ },
48
+ button: {
49
+ default: fontSizeValues["-1"],
50
+ },
51
+ heading: {
52
+ primary: fontSizeValues["4"],
53
+ secondary: fontSizeValues["3"],
54
+ tertiary: fontSizeValues["2"],
55
+ callout: fontSizeValues["1"],
56
+ },
57
+ helper: {
58
+ default: fontSizeValues["-2"],
59
+ },
60
+ label: {
61
+ default: fontSizeValues["-1"],
62
+ secondary: fontSizeValues["-2"],
63
+ },
64
+ text: {
65
+ default: fontSizeValues["0"],
66
+ caption: fontSizeValues["-1"],
67
+ tag: fontSizeValues["-2"],
68
+ mini: fontSizeValues["-3"],
69
+ },
70
+ },
71
+ // Values from "src/styles/02-typography/_type-weight.css"
72
+ fontWeights: {
73
+ // generic tokens
74
+ light: fontWeightValues["light"],
75
+ regular: fontWeightValues["regular"],
76
+ medium: fontWeightValues["medium"],
77
+ bold: fontWeightValues["bold"],
78
+ // semantic tokens
79
+ breadcrumbs: {
80
+ default: fontWeightValues["regular"],
81
+ lastChild: fontWeightValues["bold"],
82
+ },
83
+ button: {
84
+ default: fontWeightValues["regular"],
85
+ },
86
+ heading: {
87
+ primary: fontWeightValues["light"],
88
+ secondary: fontWeightValues["medium"],
89
+ tertiary: fontWeightValues["medium"],
90
+ callout: fontWeightValues["medium"],
91
+ },
92
+ helper: {
93
+ default: fontWeightValues["light"],
94
+ },
95
+ label: {
96
+ default: fontWeightValues["medium"],
97
+ },
98
+ text: {
99
+ default: fontWeightValues["light"],
100
+ caption: fontWeightValues["light"],
101
+ tag: fontWeightValues["regular"],
102
+ mini: fontWeightValues["regular"],
103
+ },
104
+ },
105
+ };
106
+
107
+ export default typography;
@@ -0,0 +1,131 @@
1
+ import { extendTheme } from "@chakra-ui/react";
2
+ /** Global theme styles */
3
+ import global from "./foundations/global";
4
+ import breakpoints from "./foundations/breakpoints";
5
+ import colors from "./foundations/colors";
6
+ import radii from "./foundations/radii";
7
+ import shadows from "./foundations/shadows";
8
+ import { spacing } from "./foundations/spacing";
9
+ import typography from "./foundations/typography";
10
+ /** Component styles */
11
+ import Accordion from "./components/accordion";
12
+ import Breadcrumb from "./components/breadcrumb";
13
+ import Button from "./components/button";
14
+ import ButtonGroup from "./components/buttonGroup";
15
+ import Card from "./components/card";
16
+ import Checkbox from "./components/checkbox";
17
+ import ComponentWrapper from "./components/componentWrapper";
18
+ import CheckboxGroup from "./components/checkboxGroup";
19
+ import { CustomImage, CustomImageWrapper } from "./components/image";
20
+ import CustomSelect from "./components/select";
21
+ import DatePicker from "./components/datePicker";
22
+ import Fieldset from "./components/fieldset";
23
+ import Heading from "./components/heading";
24
+ import HelperErrorText from "./components/helperErrorText";
25
+ import Hero from "./components/hero";
26
+ import HorizontalRule from "./components/horizontalRule";
27
+ import Icon from "./components/icon";
28
+ import Label from "./components/label";
29
+ import Link from "./components/link";
30
+ import List from "./components/list";
31
+ import Logo from "./components/logo";
32
+ import NotificationStyles from "./components/notification";
33
+ import Pagination from "./components/pagination";
34
+ import ProgressIndicator from "./components/progressIndicator";
35
+ import Radio from "./components/radio";
36
+ import RadioGroup from "./components/radioGroup";
37
+ import SearchBar from "./components/searchBar";
38
+ import { Skeleton, SkeletonLoader } from "./components/skeletonLoader";
39
+ import SkipNavigation from "./components/skipNavigation";
40
+ import CustomSlider from "./components/slider";
41
+ import StatusBadge from "./components/statusBadge";
42
+ import StructuredContent from "./components/structuredContent";
43
+ import Tabs from "./components/tabs";
44
+ import CustomTable from "./components/customTable";
45
+ import TemplateStyles from "./components/template";
46
+ import Text from "./components/text";
47
+ import TextInput from "./components/textInput";
48
+ import Toggle from "./components/toggle";
49
+ import VideoPlayer from "./components/videoPlayer";
50
+
51
+ /**
52
+ * See Chakra default theme for shape of theme object:
53
+ * https://github.com/chakra-ui/chakra-ui/tree/main/packages/theme
54
+ *
55
+ * The following are using the default configuration from Chakra:
56
+ * - z-indices
57
+ * - radii
58
+ * - blur
59
+ * - shadows
60
+ * - borders
61
+ * - transitions
62
+ *
63
+ * Theme extensions exist for:
64
+ * - breakpoints
65
+ * - colors
66
+ * - typography (font, font size, font weight)
67
+ * - spacing
68
+ */
69
+ const theme = extendTheme({
70
+ styles: { global },
71
+ breakpoints,
72
+ colors,
73
+ radii,
74
+ shadows,
75
+ space: spacing,
76
+ ...typography,
77
+ /**
78
+ * Chakra documentation on component styles:
79
+ * https://chakra-ui.com/docs/theming/component-style
80
+ */
81
+ components: {
82
+ Accordion,
83
+ Breadcrumb,
84
+ Button,
85
+ ButtonGroup,
86
+ ...Card,
87
+ Checkbox,
88
+ CheckboxGroup,
89
+ ComponentWrapper,
90
+ CustomImage,
91
+ CustomImageWrapper,
92
+ CustomSelect,
93
+ DatePicker,
94
+ Fieldset,
95
+ Heading,
96
+ HelperErrorText,
97
+ Hero,
98
+ HorizontalRule,
99
+ Icon,
100
+ Label,
101
+ Link,
102
+ List,
103
+ Logo,
104
+ ...NotificationStyles,
105
+ Pagination,
106
+ ProgressIndicator,
107
+ Radio,
108
+ RadioGroup,
109
+ SearchBar,
110
+ Skeleton,
111
+ SkeletonLoader,
112
+ SkipNavigation,
113
+ CustomSlider,
114
+ StatusBadge,
115
+ StructuredContent,
116
+ Tabs,
117
+ CustomTable,
118
+ ...TemplateStyles,
119
+ Text,
120
+ TextInput,
121
+ ...Toggle,
122
+ VideoPlayer,
123
+ },
124
+ // Use `cssVarPrefix` to set the prefix used on the CSS vars produced by
125
+ // Chakra. By default, Chakra prefixes its own CSS variables with `--chakra`.
126
+ config: {
127
+ cssVarPrefix: "nypl",
128
+ },
129
+ });
130
+
131
+ export default theme;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { ChakraProvider } from "@chakra-ui/react";
3
+ import theme from "./index";
4
+
5
+ const DSProvider = ({ children }: React.PropsWithChildren<{}>) => (
6
+ <ChakraProvider theme={theme}>{children}</ChakraProvider>
7
+ );
8
+
9
+ export default DSProvider;
@@ -0,0 +1 @@
1
+ export type Dict<T = any> = Record<string, T>;