@nypl/design-system-react-components 0.25.0 → 0.25.4

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 (392) hide show
  1. package/CHANGELOG.md +142 -1
  2. package/README.md +98 -50
  3. package/dist/components/Accordion/Accordion.d.ts +14 -14
  4. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +15 -14
  5. package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +6 -0
  6. package/dist/components/Button/Button.d.ts +13 -8
  7. package/dist/components/Button/ButtonTypes.d.ts +3 -1
  8. package/dist/components/Card/Card.d.ts +36 -52
  9. package/dist/components/Card/CardTypes.d.ts +2 -17
  10. package/dist/components/Checkbox/Checkbox.d.ts +17 -13
  11. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +45 -0
  12. package/dist/components/CheckboxGroup/CheckboxGroupLayoutTypes.d.ts +4 -0
  13. package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +15 -0
  14. package/dist/components/DatePicker/DatePicker.d.ts +37 -35
  15. package/dist/components/Fieldset/Fieldset.d.ts +25 -0
  16. package/dist/components/Form/Form.d.ts +13 -8
  17. package/dist/components/Form/FormTypes.d.ts +2 -8
  18. package/dist/components/Grid/GridTypes.d.ts +9 -0
  19. package/dist/components/Grid/SimpleGrid.d.ts +14 -0
  20. package/dist/components/Heading/Heading.d.ts +4 -4
  21. package/dist/components/HelperErrorText/HelperErrorText.d.ts +17 -14
  22. package/dist/components/Hero/Hero.d.ts +19 -14
  23. package/dist/components/Hero/HeroTypes.d.ts +10 -5
  24. package/dist/components/HorizontalRule/HorizontalRule.d.ts +10 -9
  25. package/dist/components/Icons/Icon.d.ts +19 -14
  26. package/dist/components/Icons/IconSvgs.d.ts +11 -0
  27. package/dist/components/Icons/IconTypes.d.ts +89 -64
  28. package/dist/components/Image/Image.d.ts +19 -9
  29. package/dist/components/Image/ImageTypes.d.ts +20 -0
  30. package/dist/components/Label/Label.d.ts +5 -17
  31. package/dist/components/Link/Link.d.ts +12 -12
  32. package/dist/components/List/List.d.ts +19 -14
  33. package/dist/components/Notification/Notification.d.ts +37 -16
  34. package/dist/components/Pagination/Pagination.d.ts +16 -13
  35. package/dist/components/Pagination/Pagination.stories.d.ts +2 -0
  36. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +29 -0
  37. package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +8 -0
  38. package/dist/components/Radio/Radio.d.ts +2 -0
  39. package/dist/components/RadioGroup/RadioGroup.d.ts +4 -2
  40. package/dist/components/SearchBar/SearchBar.d.ts +45 -27
  41. package/dist/components/Select/Select.d.ts +34 -35
  42. package/dist/components/Select/SelectTypes.d.ts +4 -0
  43. package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +18 -14
  44. package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +2 -2
  45. package/dist/components/Slider/Slider.d.ts +57 -0
  46. package/dist/components/StatusBadge/StatusBadge.d.ts +8 -6
  47. package/dist/components/StatusBadge/StatusBadgeTypes.d.ts +5 -0
  48. package/dist/components/StyleGuide/ColorCard.d.ts +12 -0
  49. package/dist/components/Tabs/Tabs.d.ts +1 -1
  50. package/dist/components/Template/Template.d.ts +91 -0
  51. package/dist/components/Text/Text.d.ts +16 -0
  52. package/dist/components/Text/TextTypes.d.ts +6 -0
  53. package/dist/components/TextInput/TextInput.d.ts +44 -31
  54. package/dist/components/TextInput/TextInputTypes.d.ts +5 -0
  55. package/dist/components/VideoPlayer/VideoPlayer.d.ts +6 -8
  56. package/dist/components/VideoPlayer/VideoPlayerTypes.d.ts +2 -2
  57. package/dist/design-system-react-components.cjs.development.js +6473 -2630
  58. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  59. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  60. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  61. package/dist/design-system-react-components.esm.js +6463 -2631
  62. package/dist/design-system-react-components.esm.js.map +1 -1
  63. package/dist/hooks/tests/useCarouselStyles.test.d.ts +1 -0
  64. package/dist/hooks/useCarouselStyles.d.ts +16 -0
  65. package/dist/hooks/useNYPLTheme.d.ts +54 -0
  66. package/dist/hooks/useWindowSize.d.ts +10 -0
  67. package/dist/index.d.ts +19 -7
  68. package/dist/resources.scss +180 -170
  69. package/dist/styles.css +1 -1
  70. package/dist/theme/components/accordion.d.ts +25 -0
  71. package/dist/theme/components/breadcrumb.d.ts +90 -0
  72. package/dist/theme/components/button.d.ts +39 -15
  73. package/dist/theme/components/card.d.ts +168 -0
  74. package/dist/theme/components/checkbox.d.ts +12 -8
  75. package/dist/theme/components/checkboxGroup.d.ts +12 -0
  76. package/dist/theme/components/componentWrapper.d.ts +11 -0
  77. package/dist/theme/components/datePicker.d.ts +16 -0
  78. package/dist/theme/components/fieldset.d.ts +27 -0
  79. package/dist/theme/components/global.d.ts +65 -0
  80. package/dist/theme/components/globalMixins.d.ts +23 -0
  81. package/dist/theme/components/heading.d.ts +55 -20
  82. package/dist/theme/components/helperErrorText.d.ts +10 -0
  83. package/dist/theme/components/hero.d.ts +493 -0
  84. package/dist/theme/components/horizontalRule.d.ts +14 -0
  85. package/dist/theme/components/icon.d.ts +13 -0
  86. package/dist/theme/components/image.d.ts +31 -0
  87. package/dist/theme/components/label.d.ts +18 -0
  88. package/dist/theme/components/link.d.ts +49 -0
  89. package/dist/theme/components/list.d.ts +89 -0
  90. package/dist/theme/components/notification.d.ts +75 -0
  91. package/dist/theme/components/pagination.d.ts +19 -0
  92. package/dist/theme/components/progressIndicator.d.ts +50 -0
  93. package/dist/theme/components/radio.d.ts +8 -7
  94. package/dist/theme/components/radioGroup.d.ts +12 -0
  95. package/dist/theme/components/searchBar.d.ts +20 -0
  96. package/dist/theme/components/select.d.ts +67 -0
  97. package/dist/theme/components/skeletonLoader.d.ts +98 -0
  98. package/dist/theme/components/slider.d.ts +51 -0
  99. package/dist/theme/components/statusBadge.d.ts +25 -0
  100. package/dist/theme/components/tabs.d.ts +63 -12
  101. package/dist/theme/components/template.d.ts +105 -0
  102. package/dist/theme/components/text.d.ts +20 -0
  103. package/dist/theme/components/textInput.d.ts +112 -0
  104. package/dist/theme/components/videoPlayer.d.ts +40 -0
  105. package/dist/theme/foundations/breakpoints.d.ts +8 -8
  106. package/dist/theme/foundations/global.d.ts +8 -0
  107. package/dist/theme/foundations/radii.d.ts +5 -0
  108. package/dist/theme/foundations/shadows.d.ts +4 -0
  109. package/dist/theme/foundations/spacing.d.ts +16 -16
  110. package/dist/utils/utils.d.ts +6 -0
  111. package/package.json +72 -82
  112. package/src/__tests__/setup.ts +2 -2
  113. package/src/components/Accordion/Accordion.stories.mdx +223 -34
  114. package/src/components/Accordion/Accordion.test.tsx +135 -19
  115. package/src/components/Accordion/Accordion.tsx +81 -56
  116. package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -4
  117. package/src/components/Autosuggest/Autosuggest.stories.tsx +3 -2
  118. package/src/components/Autosuggest/_Autosuggest.scss +5 -5
  119. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +48 -50
  120. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +54 -25
  121. package/src/components/Breadcrumbs/Breadcrumbs.tsx +75 -73
  122. package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +6 -0
  123. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +298 -0
  124. package/src/components/Button/Button.stories.mdx +45 -36
  125. package/src/components/Button/Button.test.tsx +37 -11
  126. package/src/components/Button/Button.tsx +22 -34
  127. package/src/components/Button/ButtonTypes.tsx +2 -0
  128. package/src/components/Button/__snapshots__/Button.test.tsx.snap +50 -8
  129. package/src/components/Card/Card.stories.mdx +314 -273
  130. package/src/components/Card/Card.test.tsx +157 -91
  131. package/src/components/Card/Card.tsx +195 -145
  132. package/src/components/Card/CardTypes.tsx +2 -19
  133. package/src/components/Card/__snapshots__/Card.test.tsx.snap +410 -0
  134. package/src/components/CardEdition/CardEdition.stories.tsx +26 -53
  135. package/src/components/CardEdition/CardEdition.test.tsx +23 -31
  136. package/src/components/CardEdition/_CardEdition.scss +22 -23
  137. package/src/components/Chakra/Box.stories.mdx +15 -16
  138. package/src/components/Chakra/Center.stories.mdx +56 -24
  139. package/src/components/Chakra/Grid.stories.mdx +92 -0
  140. package/src/components/Chakra/Stack.stories.mdx +38 -21
  141. package/src/components/Checkbox/Checkbox.stories.mdx +33 -11
  142. package/src/components/Checkbox/Checkbox.test.tsx +47 -2
  143. package/src/components/Checkbox/Checkbox.tsx +44 -41
  144. package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +92 -7
  145. package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +329 -0
  146. package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +372 -0
  147. package/src/components/CheckboxGroup/CheckboxGroup.tsx +152 -0
  148. package/src/components/CheckboxGroup/CheckboxGroupLayoutTypes.tsx +4 -0
  149. package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +1326 -0
  150. package/src/components/ComponentWrapper/ComponentWrapper.tsx +63 -0
  151. package/src/components/DatePicker/DatePicker.stories.mdx +163 -62
  152. package/src/components/DatePicker/DatePicker.test.tsx +264 -64
  153. package/src/components/DatePicker/DatePicker.tsx +165 -134
  154. package/src/components/DatePicker/_DatePicker.scss +33 -66
  155. package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +818 -0
  156. package/src/components/Fieldset/Fieldset.stories.mdx +55 -0
  157. package/src/components/Fieldset/Fieldset.test.tsx +125 -0
  158. package/src/components/Fieldset/Fieldset.tsx +52 -0
  159. package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +68 -0
  160. package/src/components/Form/Form.stories.mdx +70 -27
  161. package/src/components/Form/Form.test.tsx +58 -45
  162. package/src/components/Form/Form.tsx +50 -21
  163. package/src/components/Form/FormTypes.tsx +3 -8
  164. package/src/components/Form/__snapshots__/Form.test.tsx.snap +24 -14
  165. package/src/components/Grid/GridTypes.tsx +9 -0
  166. package/src/components/Grid/SimpleGrid.stories.mdx +268 -0
  167. package/src/components/Grid/SimpleGrid.test.tsx +66 -0
  168. package/src/components/Grid/SimpleGrid.tsx +37 -0
  169. package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +8 -0
  170. package/src/components/Heading/Heading.stories.mdx +3 -3
  171. package/src/components/Heading/Heading.tsx +12 -6
  172. package/src/components/HelperErrorText/HelperErrorText.stories.mdx +124 -0
  173. package/src/components/HelperErrorText/HelperErrorText.test.tsx +39 -44
  174. package/src/components/HelperErrorText/HelperErrorText.tsx +37 -39
  175. package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +25 -0
  176. package/src/components/Hero/Hero.stories.mdx +198 -121
  177. package/src/components/Hero/Hero.test.tsx +537 -107
  178. package/src/components/Hero/Hero.tsx +79 -92
  179. package/src/components/Hero/HeroTypes.tsx +18 -5
  180. package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +307 -0
  181. package/src/components/HorizontalRule/HorizontalRule.stories.mdx +8 -6
  182. package/src/components/HorizontalRule/HorizontalRule.test.tsx +33 -28
  183. package/src/components/HorizontalRule/HorizontalRule.tsx +27 -29
  184. package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +27 -9
  185. package/src/components/Icons/Icon.stories.mdx +94 -77
  186. package/src/components/Icons/Icon.test.tsx +48 -22
  187. package/src/components/Icons/Icon.tsx +78 -61
  188. package/src/components/Icons/IconSvgs.tsx +22 -0
  189. package/src/components/Icons/IconTypes.tsx +91 -64
  190. package/src/components/Image/Image.stories.mdx +220 -0
  191. package/src/components/Image/Image.test.tsx +131 -29
  192. package/src/components/Image/Image.tsx +84 -56
  193. package/src/components/Image/ImageTypes.ts +22 -0
  194. package/src/components/Image/__snapshots__/Image.test.tsx.snap +190 -0
  195. package/src/components/Input/Input.stories.tsx +23 -67
  196. package/src/components/Input/Input.test.tsx +4 -4
  197. package/src/components/Input/_Input.scss +23 -14
  198. package/src/components/Label/Label.stories.mdx +28 -7
  199. package/src/components/Label/Label.test.tsx +43 -12
  200. package/src/components/Label/Label.tsx +21 -34
  201. package/src/components/Label/__snapshots__/Label.test.tsx.snap +41 -0
  202. package/src/components/Link/Link.stories.mdx +41 -41
  203. package/src/components/Link/Link.test.tsx +33 -44
  204. package/src/components/Link/Link.tsx +117 -100
  205. package/src/components/List/List.stories.mdx +124 -51
  206. package/src/components/List/List.test.tsx +142 -63
  207. package/src/components/List/List.tsx +89 -93
  208. package/src/components/List/__snapshots__/List.test.tsx.snap +109 -0
  209. package/src/components/Modal/Modal.stories.mdx +3 -3
  210. package/src/components/Modal/_Modal.scss +2 -2
  211. package/src/components/Notification/Notification.stories.mdx +119 -111
  212. package/src/components/Notification/Notification.test.tsx +102 -126
  213. package/src/components/Notification/Notification.tsx +157 -161
  214. package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +159 -8
  215. package/src/components/Pagination/Pagination.stories.mdx +26 -27
  216. package/src/components/Pagination/Pagination.stories.tsx +11 -16
  217. package/src/components/Pagination/Pagination.test.tsx +276 -140
  218. package/src/components/Pagination/Pagination.tsx +174 -154
  219. package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +285 -0
  220. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +292 -0
  221. package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +225 -0
  222. package/src/components/ProgressIndicator/ProgressIndicator.tsx +126 -0
  223. package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +8 -0
  224. package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +357 -0
  225. package/src/components/Radio/Radio.test.tsx +20 -4
  226. package/src/components/Radio/Radio.tsx +6 -3
  227. package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +3 -0
  228. package/src/components/RadioGroup/RadioGroup.stories.mdx +4 -5
  229. package/src/components/RadioGroup/RadioGroup.test.tsx +24 -1
  230. package/src/components/RadioGroup/RadioGroup.tsx +21 -29
  231. package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +42 -72
  232. package/src/components/SearchBar/SearchBar.Test.tsx +170 -16
  233. package/src/components/SearchBar/SearchBar.stories.mdx +294 -219
  234. package/src/components/SearchBar/SearchBar.tsx +161 -46
  235. package/src/components/Select/Select.stories.mdx +188 -170
  236. package/src/components/Select/Select.test.tsx +132 -375
  237. package/src/components/Select/Select.tsx +121 -165
  238. package/src/components/Select/SelectTypes.tsx +5 -0
  239. package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +33 -76
  240. package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +97 -177
  241. package/src/components/SkeletonLoader/SkeletonLoader.tsx +75 -70
  242. package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +2 -2
  243. package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +739 -0
  244. package/src/components/Slider/Slider.stories.mdx +529 -0
  245. package/src/components/Slider/Slider.test.tsx +653 -0
  246. package/src/components/Slider/Slider.tsx +303 -0
  247. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +1946 -0
  248. package/src/components/StatusBadge/StatusBadge.stories.mdx +91 -0
  249. package/src/components/StatusBadge/StatusBadge.test.tsx +35 -7
  250. package/src/components/StatusBadge/StatusBadge.tsx +24 -25
  251. package/src/components/StatusBadge/StatusBadgeTypes.tsx +5 -0
  252. package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +28 -0
  253. package/src/components/StyleGuide/Bidirectionality.stories.mdx +17 -17
  254. package/src/components/StyleGuide/Breakpoints.stories.mdx +34 -10
  255. package/src/components/StyleGuide/Buttons.stories.mdx +102 -86
  256. package/src/components/StyleGuide/ColorCard.tsx +46 -0
  257. package/src/components/StyleGuide/Colors.stories.mdx +196 -0
  258. package/src/components/StyleGuide/DesignTokens.stories.mdx +170 -0
  259. package/src/components/StyleGuide/Forms.stories.mdx +9 -7
  260. package/src/components/StyleGuide/Iconography.stories.mdx +119 -127
  261. package/src/components/StyleGuide/Spacing.stories.mdx +31 -23
  262. package/src/components/StyleGuide/Typography.stories.mdx +202 -189
  263. package/src/components/StyleGuide/UIDocCard.tsx +1 -1
  264. package/src/components/Tabs/Tabs.stories.mdx +73 -11
  265. package/src/components/Tabs/Tabs.tsx +88 -67
  266. package/src/components/Template/Template.stories.mdx +572 -0
  267. package/src/components/Template/Template.test.tsx +124 -0
  268. package/src/components/Template/Template.tsx +226 -0
  269. package/src/components/Text/Text.stories.mdx +70 -0
  270. package/src/components/Text/Text.test.tsx +63 -0
  271. package/src/components/Text/Text.tsx +55 -0
  272. package/src/components/Text/TextTypes.tsx +6 -0
  273. package/src/components/Text/__snapshots__/Text.test.tsx.snap +33 -0
  274. package/src/components/TextInput/TextInput.stories.mdx +89 -90
  275. package/src/components/TextInput/TextInput.test.tsx +84 -85
  276. package/src/components/TextInput/TextInput.tsx +121 -95
  277. package/src/components/TextInput/TextInputTypes.tsx +8 -0
  278. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +17 -4
  279. package/src/components/VideoPlayer/VideoPlayer.test.tsx +54 -53
  280. package/src/components/VideoPlayer/VideoPlayer.tsx +50 -51
  281. package/src/components/VideoPlayer/VideoPlayerTypes.tsx +2 -2
  282. package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +91 -0
  283. package/src/docs/Chakra.stories.mdx +246 -65
  284. package/src/docs/Intro.stories.mdx +18 -13
  285. package/src/hooks/tests/useCarouselStyles.test.ts +140 -0
  286. package/src/hooks/tests/useNYPLTheme.test.tsx +36 -0
  287. package/src/hooks/useCarouselStyles.ts +34 -0
  288. package/src/hooks/useNYPLTheme.ts +67 -0
  289. package/src/hooks/useWindowSize.ts +40 -0
  290. package/src/index.ts +39 -16
  291. package/src/resources.scss +5 -5
  292. package/src/styles/base/{_02-breakpoints.scss → _01-breakpoints.scss} +9 -10
  293. package/src/styles/base/{_03-mixins.scss → _02-mixins.scss} +16 -5
  294. package/src/styles/base/_03-base.scss +25 -0
  295. package/src/styles/base/{_05-focus.scss → _04-focus.scss} +0 -15
  296. package/src/styles/base/_place-holder.scss +14 -3
  297. package/src/styles/{03-space → space}/_space-inline.scss +14 -14
  298. package/src/styles/{03-space → space}/_space-inset.scss +10 -10
  299. package/src/styles/space/_space-stack.scss +116 -0
  300. package/src/styles.scss +13 -62
  301. package/src/theme/components/accordion.ts +30 -0
  302. package/src/theme/components/breadcrumb.ts +77 -0
  303. package/src/theme/components/button.ts +91 -71
  304. package/src/theme/components/card.ts +174 -0
  305. package/src/theme/components/checkbox.ts +22 -29
  306. package/src/theme/components/checkboxGroup.ts +8 -0
  307. package/src/theme/components/componentWrapper.ts +10 -0
  308. package/src/theme/components/datePicker.ts +17 -0
  309. package/src/theme/components/fieldset.ts +18 -0
  310. package/src/theme/components/global.ts +82 -0
  311. package/src/theme/components/globalMixins.ts +24 -0
  312. package/src/theme/components/heading.ts +25 -13
  313. package/src/theme/components/helperErrorText.ts +9 -0
  314. package/src/theme/components/hero.ts +240 -0
  315. package/src/theme/components/horizontalRule.ts +13 -0
  316. package/src/theme/components/icon.ts +79 -0
  317. package/src/theme/components/image.ts +116 -0
  318. package/src/theme/components/label.ts +10 -0
  319. package/src/theme/components/link.ts +51 -0
  320. package/src/theme/components/list.ts +73 -0
  321. package/src/theme/components/notification.ts +93 -0
  322. package/src/theme/components/pagination.ts +20 -0
  323. package/src/theme/components/progressIndicator.ts +62 -0
  324. package/src/theme/components/radio.ts +22 -33
  325. package/src/theme/components/radioGroup.ts +8 -0
  326. package/src/theme/components/searchBar.ts +21 -0
  327. package/src/theme/components/select.ts +53 -0
  328. package/src/theme/components/skeletonLoader.ts +107 -0
  329. package/src/theme/components/slider.ts +79 -0
  330. package/src/theme/components/statusBadge.ts +26 -0
  331. package/src/theme/components/tabs.ts +102 -69
  332. package/src/theme/components/template.ts +114 -0
  333. package/src/theme/components/text.ts +31 -0
  334. package/src/theme/components/textInput.ts +62 -0
  335. package/src/theme/components/videoPlayer.ts +49 -0
  336. package/src/theme/foundations/breakpoints.ts +8 -8
  337. package/src/theme/foundations/colors.ts +29 -13
  338. package/src/theme/foundations/global.ts +8 -0
  339. package/src/theme/foundations/radii.ts +6 -0
  340. package/src/theme/foundations/shadows.ts +5 -0
  341. package/src/theme/foundations/spacing.ts +24 -24
  342. package/src/theme/index.ts +74 -13
  343. package/src/utils/componentCategories.ts +12 -5
  344. package/src/utils/utils.ts +13 -0
  345. package/dist/components/Accordion/Accordion.stories.d.ts +0 -6
  346. package/dist/components/HelperErrorText/HelperErrorText.stories.d.ts +0 -16
  347. package/dist/components/Image/Image.stories.d.ts +0 -18
  348. package/dist/components/List/List.stories.d.ts +0 -7
  349. package/dist/components/StatusBadge/StatusBadge.stories.d.ts +0 -8
  350. package/dist/components/StyleGuide/Colors.stories.d.ts +0 -25
  351. package/dist/components/Template/Template.stories.d.ts +0 -30
  352. package/dist/theme/components/customRadioGroup.d.ts +0 -17
  353. package/src/components/Accordion/Accordion.stories.tsx +0 -66
  354. package/src/components/Accordion/_Accordion.scss +0 -81
  355. package/src/components/Breadcrumbs/_Breadcrumbs.scss +0 -97
  356. package/src/components/Button/_Button.scss +0 -56
  357. package/src/components/Card/_Card.scss +0 -308
  358. package/src/components/Form/_Form.scss +0 -67
  359. package/src/components/HelperErrorText/HelperErrorText.stories.tsx +0 -48
  360. package/src/components/HelperErrorText/_HelperErrorText.scss +0 -9
  361. package/src/components/Hero/_Hero.scss +0 -256
  362. package/src/components/HorizontalRule/_HorizontalRule.scss +0 -15
  363. package/src/components/Icons/_Icons.scss +0 -116
  364. package/src/components/Image/Image.stories.tsx +0 -54
  365. package/src/components/Image/_Image.scss +0 -38
  366. package/src/components/Label/_Label.scss +0 -22
  367. package/src/components/Link/_Link.scss +0 -73
  368. package/src/components/List/List.stories.tsx +0 -139
  369. package/src/components/List/_List.scss +0 -76
  370. package/src/components/Notification/_Notification.scss +0 -110
  371. package/src/components/Pagination/_Pagination.scss +0 -40
  372. package/src/components/SearchBar/_SearchBar.scss +0 -16
  373. package/src/components/Select/_Select.scss +0 -82
  374. package/src/components/SkeletonLoader/_SkeletonLoader.scss +0 -142
  375. package/src/components/StatusBadge/StatusBadge.stories.tsx +0 -34
  376. package/src/components/StatusBadge/_StatusBadge.scss +0 -23
  377. package/src/components/StyleGuide/Colors.stories.tsx +0 -289
  378. package/src/components/Template/Template.stories.tsx +0 -86
  379. package/src/components/Template/_Template.scss +0 -63
  380. package/src/components/TextInput/_TextInput.scss +0 -59
  381. package/src/components/VideoPlayer/_VideoPlayer.scss +0 -38
  382. package/src/styles/01-colors/_colors-brand.scss +0 -56
  383. package/src/styles/01-colors/_colors-utility.scss +0 -65
  384. package/src/styles/02-typography/_type-scale.css +0 -11
  385. package/src/styles/02-typography/_type-weight.css +0 -7
  386. package/src/styles/02-typography/_typefaces.css +0 -4
  387. package/src/styles/03-space/_space-stack.scss +0 -116
  388. package/src/styles/03-space/_space.css +0 -30
  389. package/src/styles/base/_04-base.scss +0 -19
  390. package/src/styles/base/_card-grid.scss +0 -78
  391. package/src/styles/base/_typography.scss +0 -11
  392. package/src/theme/components/customRadioGroup.ts +0 -18
@@ -0,0 +1,114 @@
1
+ // From @mixin breakout:
2
+ // Used for elements that should be edge-to-edge.
3
+ const breakout = {
4
+ marginLeft: "calc(-50vw + 50%)",
5
+ marginRight: "calc(-50vw + 50%)",
6
+ };
7
+ // From the `wrapper` SCSS mixin.
8
+ // TODO: Eventually we may be able to put shared JS style objects
9
+ // into a utils file for other mixins that are shared.
10
+ const wrapperStyles = {
11
+ marginY: 0,
12
+ marginX: "auto",
13
+ maxWidth: "1280px",
14
+ paddingTop: 0,
15
+ paddingBottom: 0,
16
+ paddingRight: 0,
17
+ paddingLeft: 0,
18
+ width: "100%",
19
+ };
20
+
21
+ const Template = {
22
+ baseStyle: {
23
+ boxSizing: "border-box",
24
+ color: "ui.black",
25
+ // Users with non-overlay scrollbars have a small horizontal scrollbar from
26
+ // our breakout mixin. Fix identified here: https://cloudfour.com/thinks/breaking-out-with-viewport-units-and-calc/#one-big-dumb-caveat
27
+ overflowX: "hidden",
28
+ "*": { boxSizing: "inherit" },
29
+ "*::after": { boxSizing: "inherit" },
30
+ "*::before": { boxSizing: "inherit" },
31
+ },
32
+ sizes: {},
33
+ defaultProps: {},
34
+ };
35
+ const TemplateHeader = {
36
+ baseStyle: {
37
+ marginBottom: 8, // --nypl-space-l
38
+ },
39
+ };
40
+ const TemplateBreakout = {
41
+ baseStyle: {
42
+ ...breakout,
43
+ width: "100vw",
44
+ marginBottom: 8, // --nypl-space-l
45
+ },
46
+ };
47
+ const TemplateContent = {
48
+ baseStyle: {
49
+ ...wrapperStyles,
50
+ display: "block",
51
+ marginBottom: 8, // --nypl-space-l
52
+ },
53
+ variants: {
54
+ sidebar: {
55
+ display: "flex",
56
+ flexFlow: {
57
+ base: "column nowrap",
58
+ md: "row wrap",
59
+ },
60
+ },
61
+ },
62
+ };
63
+ const TemplateContentTop = {
64
+ baseStyle: {
65
+ flex: "1 0 100%",
66
+ marginBottom: 8, // --nypl-space-l
67
+ },
68
+ };
69
+ const TemplateContentPrimary = {
70
+ baseStyle: {
71
+ flex: "1 1",
72
+ marginBottom: 8, // --nypl-space-l
73
+ },
74
+ variants: {
75
+ left: {
76
+ display: "flex",
77
+ flexFlow: "column nowrap",
78
+ order: "1",
79
+ marginRight: { md: 0 },
80
+ minWidth: { md: 0 },
81
+ },
82
+ },
83
+ };
84
+ const TemplateContentSidebar = {
85
+ baseStyle: {
86
+ flex: "0 0 255px",
87
+ order: { md: "1" },
88
+ marginBottom: 8, // --nypl-space-l
89
+ },
90
+ variants: {
91
+ left: {
92
+ marginRight: {
93
+ base: 0,
94
+ md: 12, // --nypl-space-xl
95
+ },
96
+ },
97
+ right: {
98
+ marginLeft: {
99
+ base: 0,
100
+ md: 12, // --nypl-space-xl
101
+ },
102
+ },
103
+ },
104
+ };
105
+
106
+ export default {
107
+ Template,
108
+ TemplateHeader,
109
+ TemplateBreakout,
110
+ TemplateContent,
111
+ TemplateContentTop,
112
+ TemplateContentPrimary,
113
+ TemplateContentSidebar,
114
+ };
@@ -0,0 +1,31 @@
1
+ const variants = {
2
+ default: {},
3
+ caption: {
4
+ fontSize: "-1",
5
+ },
6
+ tag: {
7
+ fontSize: "-2",
8
+ },
9
+ mini: {
10
+ fontSize: "-3",
11
+ },
12
+ };
13
+ const Text = {
14
+ baseStyle: (props) => {
15
+ const fontWeight = props.isBold
16
+ ? "bold"
17
+ : props.variant === "tag" || props.variant === "min"
18
+ ? "regular"
19
+ : null;
20
+ const fontStyle = props.isItalic ? "italic" : null;
21
+
22
+ return {
23
+ fontStyle: fontStyle,
24
+ fontWeight: fontWeight,
25
+ marginBottom: props.noSpace ? "0 !important" : null,
26
+ };
27
+ },
28
+ variants,
29
+ };
30
+
31
+ export default Text;
@@ -0,0 +1,62 @@
1
+ import { activeFocus, helperTextMargin } from "./global";
2
+
3
+ const input = {
4
+ border: "1px solid",
5
+ borderColor: "ui.gray.medium",
6
+ borderRadius: "sm",
7
+ py: "xs",
8
+ px: "s",
9
+ _hover: {
10
+ borderColor: "ui.gray.dark",
11
+ },
12
+ _disabled: {
13
+ bgColor: "ui.gray.xx-light-cool",
14
+ color: "ui.gray.xdark",
15
+ opacity: "1",
16
+ },
17
+ _active: activeFocus,
18
+ _focus: activeFocus,
19
+ _placeholder: {
20
+ color: "ui.gray.dark",
21
+ fontStyle: "italic",
22
+ lineHeight: "21px",
23
+ },
24
+ _invalid: {
25
+ border: "1px solid",
26
+ borderColor: "ui.error.primary",
27
+ boxShadow: "none",
28
+ },
29
+ };
30
+
31
+ const TextInput = {
32
+ parts: ["helper", "input", "textarea"],
33
+ baseStyle: {
34
+ helper: {
35
+ ...helperTextMargin,
36
+ },
37
+ input,
38
+ textarea: {
39
+ ...input,
40
+ lineheight: "1.5",
41
+ minHeight: "xxl",
42
+ },
43
+ },
44
+ variants: {
45
+ searchBar: {
46
+ flex: "1 1 80%",
47
+ input: {
48
+ borderRightRadius: "none",
49
+ },
50
+ },
51
+ searchBarSelect: {
52
+ flex: "1 1 80%",
53
+ input: {
54
+ borderRadius: "none",
55
+ borderTopLeftRadius: { base: "sm", md: "none" },
56
+ borderTopRightRadius: { base: "sm", md: "none" },
57
+ },
58
+ },
59
+ },
60
+ };
61
+
62
+ export default TextInput;
@@ -0,0 +1,49 @@
1
+ const fourByThree = {
2
+ inside: {
3
+ paddingBottom: "75%",
4
+ },
5
+ };
6
+
7
+ const square = {
8
+ inside: {
9
+ paddingBottom: "100%",
10
+ },
11
+ };
12
+
13
+ const invalid = {
14
+ backgroundColor: "ui.gray.light-warm",
15
+ height: "auto",
16
+ padding: "s",
17
+ };
18
+
19
+ const VideoPlayer = {
20
+ baseStyle: {
21
+ inside: {
22
+ // backgroundColor: isInvalid ? "ui.gray.light.warm" : null,
23
+ height: "0",
24
+ overflow: "hidden",
25
+ // padding: isInvalid ? "s" : null,
26
+ paddingBottom: "56.25%",
27
+ position: "relative",
28
+ },
29
+ iframe: {
30
+ height: "100%",
31
+ left: "0",
32
+ margin: "auto",
33
+ position: "absolute",
34
+ top: "0",
35
+ width: "100%",
36
+ },
37
+ helperText: {
38
+ marginBottom: "0",
39
+ marginTop: "xs",
40
+ },
41
+ },
42
+ variants: {
43
+ fourByThree,
44
+ invalid,
45
+ square,
46
+ },
47
+ };
48
+
49
+ export default VideoPlayer;
@@ -1,16 +1,16 @@
1
1
  import { createBreakpoints } from "@chakra-ui/theme-tools";
2
2
 
3
3
  /**
4
- * Breakpoints from "src/styles/base/_02-breakpoints.scss"
4
+ * Breakpoints from "src/styles/base/_01-breakpoints.scss"
5
5
  * How to use Chakra responsive styles: https://chakra-ui.com/docs/features/responsive-styles
6
6
  *
7
- * Chakra Value | DS Variable | EM/PX value
8
- * --------------------------------------------------
9
- * sm | --breakpoint-small | 20em/320px
10
- * md | --breakpoint-medium | 38em/600px
11
- * lg | --breakpoint-large | 60em/960px
12
- * xl | --breakpoint-xl | 80em/1280px
13
- * 2xl | N/A | 96em/1536px
7
+ * Chakra Value | DS Variable | EM/PX value
8
+ * ------------------------------------------------------
9
+ * sm | --nypl-breakpoint-small | 20em/320px
10
+ * md | --nypl-breakpoint-medium | 38em/600px
11
+ * lg | --nypl-breakpoint-large | 60em/960px
12
+ * xl | --nypl-breakpoint-xl | 80em/1280px
13
+ * 2xl | N/A | 96em/1536px
14
14
  *
15
15
  * @Note Chakra provides a 2xl option while the DS does not. We don't
16
16
  * recommend using this value until further notice.
@@ -2,10 +2,16 @@ import { Colors } from "@chakra-ui/react";
2
2
 
3
3
  /**
4
4
  * Colors taken from "../../styles/01-colors/*.scss"
5
+ *
5
6
  * All UI colors can be found in Storybook:
6
- * https://nypl.github.io/nypl-design-system/storybook-static/?path=/story/style-guide-colors--colors-utility
7
+ * https://nypl.github.io/nypl-design-system/storybook-static/?path=/story/documentation-style-guide-colors--colors-utility
8
+ * and in Figma:
9
+ * https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=14989%3A37
10
+ *
7
11
  * All Brand colors can be found in Storybook:
8
- * https://nypl.github.io/nypl-design-system/storybook-static/?path=/story/style-guide-colors--colors-brand
12
+ * https://nypl.github.io/nypl-design-system/storybook-static/?path=/story/documentation-style-guide-colors--colors-brand
13
+ * and in Figma:
14
+ * https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=15454%3A47007
9
15
  *
10
16
  * At the end of this file, there are objects that extend Chakra's default
11
17
  * color shade palette for individual colors. WE DO NOT RECOMMEND to use them
@@ -14,8 +20,9 @@ import { Colors } from "@chakra-ui/react";
14
20
  */
15
21
 
16
22
  // Reusable variables:
17
- const grayLight = "#E0E0E0";
18
- const grayxxlight = "#FAFAFA";
23
+ const grayLightCool = "#E0E0E0";
24
+ const grayxxLightCool = "#FAFAFA";
25
+ const grayMedium = "#BDBDBD";
19
26
  const brandPrimary = "#C60917";
20
27
  const brandSecondary = "#760000";
21
28
  const brandObj = {
@@ -32,10 +39,13 @@ const colors: Colors = {
32
39
  white: "#fff",
33
40
  /// State and link utilities
34
41
  disabled: {
35
- primary: grayLight,
36
- secondary: grayxxlight,
42
+ primary: grayLightCool,
43
+ secondary: grayxxLightCool,
44
+ },
45
+ error: {
46
+ primary: "#97272C",
47
+ secondary: "#6F0106",
37
48
  },
38
- error: "#97272C",
39
49
  focus: "#4181F1",
40
50
  link: {
41
51
  primary: "#0576D3",
@@ -58,12 +68,12 @@ const colors: Colors = {
58
68
  gray: {
59
69
  xdark: "#424242",
60
70
  dark: "#616161",
61
- medium: "#BDBDBD",
62
- light: grayLight,
63
- "warm-light": "#EFEDEB",
64
- xlight: "#F5F5F5",
65
- "warm-xlight": "#F8F8F7",
66
- xxlight: grayxxlight,
71
+ medium: grayMedium,
72
+ "light-cool": grayLightCool,
73
+ "light-warm": "#EFEDEB",
74
+ "x-light-cool": "#F5F5F5",
75
+ "x-light-warm": "#F8F8F7",
76
+ "xx-light-cool": grayxxLightCool,
67
77
  },
68
78
  },
69
79
 
@@ -92,6 +102,12 @@ const colors: Colors = {
92
102
  * the exceptions of some research libraries. */
93
103
  locations: brandObj,
94
104
 
105
+ /** Blogs is used for the Blogs section. */
106
+ blogs: {
107
+ primary: grayLightCool,
108
+ secondary: grayMedium,
109
+ },
110
+
95
111
  /** Research libraries with specific brand colors to adhere to. */
96
112
  "research-library": {
97
113
  lpa: "#005d53",
@@ -7,9 +7,14 @@
7
7
  const global = {
8
8
  // styles for the `body` element
9
9
  body: {
10
+ boxSizing: "border-box",
10
11
  bg: "ui.white",
11
12
  color: "ui.black",
12
13
  fontFamily: "body",
14
+ fontSize: "0",
15
+ fontWeight: "300",
16
+ lineHeight: "1.5",
17
+ overflowX: "hidden",
13
18
  },
14
19
  // styles for the `a` element
15
20
  a: {
@@ -18,6 +23,9 @@ const global = {
18
23
  svg: {
19
24
  display: "inline",
20
25
  },
26
+ p: {
27
+ margin: "0 0 var(--nypl-space-s",
28
+ },
21
29
  };
22
30
 
23
31
  export default global;
@@ -0,0 +1,6 @@
1
+ const radii = {
2
+ pill: "20px",
3
+ round: "100%",
4
+ };
5
+
6
+ export default radii;
@@ -0,0 +1,5 @@
1
+ const shadows = {
2
+ outline: "none",
3
+ };
4
+
5
+ export default shadows;
@@ -7,14 +7,14 @@
7
7
  * That'll give you 10. Then use it in your component.
8
8
  *
9
9
  * The DS uses eight CSS variables/values found in "src/styles/03-space/_space.css":
10
- * --space-xxs = 4px or 0.25rem
11
- * --space-xs = 8px or 0.5rem
12
- * --space-s = 16px or 1rem
13
- * --space-m = 24px or 1.5rem
14
- * --space-l = 32px or 2rem
15
- * --space-xl = 48px or 3rem
16
- * --space-xxl = 64px or 4rem
17
- * --space-xxxl = 96px or 6rem
10
+ * --nypl-space-xxs = 4px or 0.25rem
11
+ * --nypl-space-xs = 8px or 0.5rem
12
+ * --nypl-space-s = 16px or 1rem
13
+ * --nypl-space-m = 24px or 1.5rem
14
+ * --nypl-space-l = 32px or 2rem
15
+ * --nypl-space-xl = 48px or 3rem
16
+ * --nypl-space-xxl = 64px or 4rem
17
+ * --nypl-space-xxxl = 96px or 6rem
18
18
  *
19
19
  * @note Even though all the following values are available through Chakra,
20
20
  * we recommend to only use the spacing values that map to the DS values
@@ -22,51 +22,51 @@
22
22
  *
23
23
  * Chakra Number Value | Chakra Name value | DS Variable
24
24
  * ------------------- | ----------------- | -----------------
25
- * 1 | xxs | --space-xxs
26
- * 2 | xs | --space-xs
27
- * 4 | s | --space-s
28
- * 6 | m | --space-m
29
- * 8 | l | --space-l
30
- * 12 | xl | --space-xl
31
- * 16 | xxl | --space-xxl
32
- * 24 | xxxl | --space-xxxl
25
+ * 1 | xxs | --nypl-space-xxs
26
+ * 2 | xs | --nypl-space-xs
27
+ * 4 | s | --nypl-space-s
28
+ * 6 | m | --nypl-space-m
29
+ * 8 | l | --nypl-space-l
30
+ * 12 | xl | --nypl-space-xl
31
+ * 16 | xxl | --nypl-space-xxl
32
+ * 24 | xxxl | --nypl-space-xxxl
33
33
  */
34
34
  export const spacing = {
35
35
  px: "1px",
36
36
  0: "0",
37
37
  0.5: "0.125rem",
38
- // --space-xxs = 4px
38
+ // --nypl-space-xxs = 4px
39
39
  xxs: "0.25rem",
40
40
  1: "0.25rem",
41
41
  1.5: "0.375rem",
42
- // --space-xs = 8px
42
+ // --nypl-space-xs = 8px
43
43
  xs: "0.5rem",
44
44
  2: "0.5rem",
45
45
  2.5: "0.625rem",
46
46
  3: "0.75rem",
47
47
  3.5: "0.875rem",
48
- // --space-s = 16px
48
+ // --nypl-space-s = 16px
49
49
  s: "1rem",
50
50
  4: "1rem",
51
51
  5: "1.25rem",
52
- // --space-m = 24px
52
+ // --nypl-space-m = 24px
53
53
  m: "1.5rem",
54
54
  6: "1.5rem",
55
55
  7: "1.75rem",
56
- // --space-l = 32px
56
+ // --nypl-space-l = 32px
57
57
  l: "2rem",
58
58
  8: "2rem",
59
59
  9: "2.25rem",
60
60
  10: "2.5rem",
61
- // --space-xl = 48px
61
+ // --nypl-space-xl = 48px
62
62
  xl: "3rem",
63
63
  12: "3rem",
64
64
  14: "3.5rem",
65
- // --space-xxl = 64px
65
+ // --nypl-space-xxl = 64px
66
66
  xxl: "4rem",
67
67
  16: "4rem",
68
68
  20: "5rem",
69
- // --space-xxxl = 96px
69
+ // --nypl-space-xxxl = 96px
70
70
  xxxl: "6rem",
71
71
  24: "6rem",
72
72
  28: "7rem",
@@ -1,15 +1,46 @@
1
1
  import { extendTheme } from "@chakra-ui/react";
2
- import colors from "./foundations/colors";
2
+ /** Global theme styles */
3
3
  import global from "./foundations/global";
4
- import typography from "./foundations/typography";
5
- import { spacing } from "./foundations/spacing";
6
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";
7
13
  import Button from "./components/button";
14
+ import Card from "./components/card";
8
15
  import Checkbox from "./components/checkbox";
16
+ import ComponentWrapper from "./components/componentWrapper";
17
+ import CheckboxGroup from "./components/checkboxGroup";
18
+ import { CustomImage, CustomImageWrapper } from "./components/image";
19
+ import CustomSelect from "./components/select";
20
+ import DatePicker from "./components/datePicker";
21
+ import Fieldset from "./components/fieldset";
22
+ import Heading from "./components/heading";
23
+ import HelperErrorText from "./components/helperErrorText";
24
+ import Hero from "./components/hero";
25
+ import HorizontalRule from "./components/horizontalRule";
26
+ import Icon from "./components/icon";
27
+ import Label from "./components/label";
28
+ import Link from "./components/link";
29
+ import List from "./components/list";
30
+ import NotificationStyles from "./components/notification";
31
+ import Pagination from "./components/pagination";
32
+ import ProgressIndicator from "./components/progressIndicator";
9
33
  import Radio from "./components/radio";
10
- import CustomRadioGroup from "./components/customRadioGroup";
34
+ import RadioGroup from "./components/radioGroup";
35
+ import SearchBar from "./components/searchBar";
36
+ import { Skeleton, SkeletonLoader } from "./components/skeletonLoader";
37
+ import CustomSlider from "./components/slider";
38
+ import StatusBadge from "./components/statusBadge";
11
39
  import Tabs from "./components/tabs";
12
- import Heading from "./components/heading";
40
+ import TemplateStyles from "./components/template";
41
+ import Text from "./components/text";
42
+ import TextInput from "./components/textInput";
43
+ import VideoPlayer from "./components/videoPlayer";
13
44
 
14
45
  /**
15
46
  * See Chakra default theme for shape of theme object:
@@ -33,26 +64,56 @@ const theme = extendTheme({
33
64
  styles: { global },
34
65
  breakpoints,
35
66
  colors,
36
- ...typography,
67
+ radii,
68
+ shadows,
37
69
  space: spacing,
70
+ ...typography,
38
71
  /**
39
72
  * Chakra documentation on component styles:
40
73
  * https://chakra-ui.com/docs/theming/component-style
41
74
  */
42
75
  components: {
76
+ Accordion,
77
+ Breadcrumb,
43
78
  Button,
79
+ ...Card,
44
80
  Checkbox,
81
+ CheckboxGroup,
82
+ ComponentWrapper,
83
+ CustomImage,
84
+ CustomImageWrapper,
85
+ CustomSelect,
86
+ DatePicker,
87
+ Fieldset,
45
88
  Heading,
89
+ HelperErrorText,
90
+ Hero,
91
+ HorizontalRule,
92
+ Icon,
93
+ Label,
94
+ Link,
95
+ List,
96
+ ...NotificationStyles,
97
+ Pagination,
98
+ ProgressIndicator,
46
99
  Radio,
47
- CustomRadioGroup,
100
+ RadioGroup,
101
+ SearchBar,
102
+ Skeleton,
103
+ SkeletonLoader,
104
+ CustomSlider,
105
+ StatusBadge,
48
106
  Tabs,
107
+ ...TemplateStyles,
108
+ Text,
109
+ TextInput,
110
+ VideoPlayer,
111
+ },
112
+ // Use `cssVarPrefix` to set the prefix used on the CSS vars produced by
113
+ // Chakra. By default, Chakra prefixes its own CSS variables with `--chakra`.
114
+ config: {
115
+ cssVarPrefix: "nypl",
49
116
  },
50
- // Chakra prefixes its own CSS variables with `--chakra` by default but this
51
- // can be updated to be anything we want. This can be "nypl" to have the
52
- // `--nypl` prefix or even "" to have no prefix.
53
- // config: {
54
- // cssVarPrefix: "nypl",
55
- // },
56
117
  });
57
118
 
58
119
  export default theme;
@@ -3,7 +3,7 @@
3
3
  const categories = {
4
4
  basicContent: {
5
5
  title: "Components/Basic Elements",
6
- components: ["Card", "CardEdition", "Hero", "Promo", "Sponsor", "Table"],
6
+ components: ["Card", "Hero", "Promo", "Sponsor", "Table"],
7
7
  },
8
8
  contentDisplay: {
9
9
  title: "Components/Content Display",
@@ -19,7 +19,7 @@ const categories = {
19
19
  },
20
20
  deprecated: {
21
21
  title: "Components/Deprecated",
22
- components: [],
22
+ components: ["CardEdition", "Input"],
23
23
  },
24
24
  feedback: {
25
25
  title: "Components/Feedback",
@@ -40,9 +40,9 @@ const categories = {
40
40
  "DatePicker",
41
41
  "DateRangePicker",
42
42
  "Dropdown",
43
+ "Fieldset",
43
44
  "FileUploader",
44
45
  "Form",
45
- "Input",
46
46
  "Label",
47
47
  "NumberInput",
48
48
  "Radio",
@@ -64,6 +64,7 @@ const categories = {
64
64
  "Header",
65
65
  "HorizontalRule",
66
66
  "Section",
67
+ "SimpleGrid",
67
68
  "Template",
68
69
  ],
69
70
  },
@@ -88,11 +89,16 @@ const categories = {
88
89
  },
89
90
  chakra: {
90
91
  title: "Chakra/Layout",
91
- components: ["Box", "Center, Circle, Square", "Stack, HStack, VStack"],
92
+ components: [
93
+ "Box",
94
+ "Grid",
95
+ "Center, Circle, Square",
96
+ "Stack, HStack, VStack",
97
+ ],
92
98
  },
93
99
  typography: {
94
100
  title: "Components/Typography & Styles",
95
- components: ["Heading", "List"],
101
+ components: ["Heading", "List", "Text"],
96
102
  },
97
103
  devguide: {
98
104
  title: "Documentation/Development Guide",
@@ -105,6 +111,7 @@ const categories = {
105
111
  "Breakpoints",
106
112
  "Buttons",
107
113
  "Colors",
114
+ "Design Tokens",
108
115
  "Forms",
109
116
  "Iconography",
110
117
  "Spacing",
@@ -14,3 +14,16 @@ export const range = (start: number, stop: number, step = 1): number[] => {
14
14
  .fill(start)
15
15
  .map((x, y) => x + y * step);
16
16
  };
17
+
18
+ /**
19
+ * Map an enum value to a component's Chakra theme variant object. If a wrong
20
+ * value is passed (typically in non-Typescript scenarios), then the "fallback"
21
+ * value, if provided, will be used.
22
+ */
23
+ export const getVariant = (variant, collection, fallback = null) => {
24
+ const variantMap = {};
25
+ for (const type in collection) {
26
+ variantMap[collection[type]] = collection[type];
27
+ }
28
+ return variantMap[variant] || fallback;
29
+ };