@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
@@ -1,19 +1,4 @@
1
1
  export declare enum CardLayouts {
2
- Horizontal = "horizontal",
3
- Vertical = "vertical"
4
- }
5
- export declare enum CardImageRatios {
6
- FourByThree = "four-by-three",
7
- OneByTwo = "one-by-two",
8
- Original = "original",
9
- SixteenByNine = "sixteen-by-nine",
10
- Square = "square",
11
- ThreeByFour = "three-by-four",
12
- ThreeByTwo = "three-by-two",
13
- TwoByOne = "two-by-one"
14
- }
15
- export declare enum CardImageSizes {
16
- Large = "large",
17
- Medium = "medium",
18
- Small = "small"
2
+ Row = "row",
3
+ Column = "column"
19
4
  }
@@ -2,36 +2,40 @@ import * as React from "react";
2
2
  export interface CheckboxProps {
3
3
  /** className you can add in addition to 'input' */
4
4
  className?: string;
5
- /** Optional string to populate the HelperErrorText for the error state
6
- * when `isInvalid` is true.
7
- */
8
- errorText?: string;
9
5
  /** Optional string to populate the HelperErrorText for standard state */
10
6
  helperText?: string;
11
7
  /** ID that other components can cross reference for accessibility purposes */
12
8
  id?: string;
13
- /** When using the Checkbox as a "controlled" form element, you can specify the
14
- * Checkbox's checked state using this prop.
9
+ /** Optional string to populate the HelperErrorText for the error state
10
+ * when `isInvalid` is true. */
11
+ invalidText?: string;
12
+ /** When using the Checkbox as a "controlled" form element, you can specify
13
+ * the Checkbox's checked state using this prop.
15
14
  * Learn more about controlled and uncontrolled form fields:
16
15
  * https://goshakkk.name/controlled-vs-uncontrolled-inputs-react/ */
17
16
  isChecked?: boolean;
18
17
  /** Adds the 'disabled' and `aria-disabled` attributes to the input when true.
19
- * This also makes the text italic and color scheme gray.
20
- */
18
+ * This also makes the text italic and color scheme gray. */
21
19
  isDisabled?: boolean;
20
+ /** Adds the indeterminate state to the `Checkbox`. */
21
+ isIndeterminate?: boolean;
22
22
  /** Adds the 'aria-invalid' attribute to the input when true. This also makes
23
- * the color theme "NYPL error" red for the button and text.
24
- */
23
+ * the color theme "NYPL error" red for the button and text. */
25
24
  isInvalid?: boolean;
26
25
  /** Adds the 'required' attribute to the input when true. */
27
26
  isRequired?: boolean;
28
- /** The checkbox's label. This will serve as the text content for a `<label>` element if `showlabel` is true, or an "aria-label" if `showLabel` is false. */
27
+ /** The checkbox's label. This will serve as the text content for a `<label>`
28
+ * element if `showlabel` is true, or an "aria-label" if `showLabel` is false. */
29
29
  labelText: string;
30
- /** The name prop indicates into which group of checkboxes this checkbox belongs. If none is specified, 'default' will be used */
30
+ /** The name prop indicates into which group of checkboxes this checkbox
31
+ * belongs. If none is specified, 'default' will be used */
31
32
  name?: string;
32
33
  /** The action to perform on the `<input>`'s onChange function */
33
34
  onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
34
- /** Offers the ability to show the checkbox's label onscreen or hide it. Refer to the `labelText` property for more information. */
35
+ /** Offers the ability to hide the helper/invalid text. */
36
+ showHelperInvalidText?: boolean;
37
+ /** Offers the ability to show the checkbox's label onscreen or hide it.
38
+ * Refer to the `labelText` property for more information. */
35
39
  showLabel?: boolean;
36
40
  /** Populates the value of the input */
37
41
  value?: string;
@@ -0,0 +1,45 @@
1
+ import * as React from "react";
2
+ import { CheckboxGroupLayoutTypes } from "./CheckboxGroupLayoutTypes";
3
+ export interface CheckboxGroupProps {
4
+ /** Any child node passed to the component. */
5
+ children: React.ReactNode;
6
+ /** Populates the initial value of the input */
7
+ defaultValue?: string[];
8
+ /** Optional string to populate the HelperErrorText for standard state */
9
+ helperText?: string;
10
+ /** ID that other components can cross reference for accessibility purposes */
11
+ id?: string;
12
+ /** Optional string to populate the HelperErrorText for error state */
13
+ invalidText?: string;
14
+ /** Adds the 'disabled' prop to the input when true. */
15
+ isDisabled?: boolean;
16
+ /** A`dds the 'aria-invalid' attribute to the input and
17
+ * sets the error state when true. */
18
+ isInvalid?: boolean;
19
+ /** Adds the 'required' attribute to the input when true. */
20
+ isRequired?: boolean;
21
+ /** The checkbox group label displayed in a `legend` element if `showlabel` is
22
+ * true, or an "aria-label" if `showLabel` is false. */
23
+ labelText: string;
24
+ /** Renders the checkbox buttons in a row or column (default). */
25
+ layout?: CheckboxGroupLayoutTypes;
26
+ /** The `name` prop indicates the form group for all the `Checkbox` children. */
27
+ name: string;
28
+ /** The action to perform on the `<input>`'s onChange function */
29
+ onChange?: (value: string[]) => void;
30
+ /** Whether or not to display "Required"/"Optional" in the label text. */
31
+ optReqFlag?: boolean;
32
+ /** Offers the ability to hide the helper/invalid text. */
33
+ showHelperInvalidText?: boolean;
34
+ /** Offers the ability to show the group's legend onscreen or hide it. Refer
35
+ * to the `labelText` property for more information. */
36
+ showLabel?: boolean;
37
+ }
38
+ /**
39
+ * Wrapper component to wrap `Checkbox` components. Can be displayed in a
40
+ * column or in a row. The `CheckboxGroup` component renders all the necessary
41
+ * wrapping and associated text elements, but the checkbox input elements
42
+ * _need_ to be child `Checkbox` components from the NYPL Design System.
43
+ */
44
+ declare const CheckboxGroup: React.ForwardRefExoticComponent<CheckboxGroupProps & React.RefAttributes<HTMLInputElement>>;
45
+ export default CheckboxGroup;
@@ -0,0 +1,4 @@
1
+ export declare enum CheckboxGroupLayoutTypes {
2
+ Column = "column",
3
+ Row = "row"
4
+ }
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ export interface ComponentWrapperProps {
3
+ /** The UI elements that will be wrapped by this component */
4
+ children: React.ReactNode;
5
+ /** Optional string to set the text for a video description */
6
+ descriptionText?: string;
7
+ /** Optional string to set the text for a `Heading` component */
8
+ headingText?: string;
9
+ /** Optional string to set the text for a `HelperErrorText` component */
10
+ helperText?: string;
11
+ /** ID that other components can cross reference for accessibility purposes */
12
+ id?: string;
13
+ }
14
+ declare function ComponentWrapper(props: React.PropsWithChildren<ComponentWrapperProps>): JSX.Element;
15
+ export default ComponentWrapper;
@@ -2,29 +2,36 @@ import React from "react";
2
2
  import { DatePickerTypes } from "./DatePickerTypes";
3
3
  import { TextInputRefType } from "../TextInput/TextInput";
4
4
  interface FullDateType {
5
- startDate: Date;
5
+ /** Date object that gets returned for the onChange
6
+ * function only for date ranges. */
6
7
  endDate?: Date;
8
+ /** Date object that gets returned for the onChange function. */
9
+ startDate: Date;
7
10
  }
8
11
  interface DateRangeRowProps {
12
+ /** ID that other components can cross reference for accessibility purposes. */
13
+ id?: string;
9
14
  /** Whether to render a single date input or two for a range of two dates. */
10
- dateRange?: boolean;
15
+ isDateRange?: boolean;
11
16
  }
12
17
  interface DatePickerWrapperProps extends DateRangeRowProps {
13
- /** ID that other components can cross reference for accessibility purposes. */
14
- id?: string;
18
+ /** Additional className. */
19
+ className?: string;
20
+ /** Adds the 'required' property to the input element(s). */
21
+ isRequired?: boolean;
15
22
  /** Passed to the `TextInput` component to render a label associated with an input field. */
16
23
  labelText: string;
17
24
  /** Offers the ability to show the label onscreen or hide it. */
18
25
  showLabel?: boolean;
19
- /** Additional className for use with BEM. See how to work with blockNames and
20
- * BEM here: http://getbem.com/introduction/ */
21
- className?: string;
26
+ /** Whether or not to display the "Required"/"Optional" text in the label text. */
27
+ showOptReqLabel?: boolean;
22
28
  }
23
29
  export interface DatePickerProps extends DatePickerWrapperProps {
30
+ /** The date format to display. Defaults to "yyyy-MM-dd".
31
+ * Must be in ISO-8601 format. */
32
+ dateFormat?: string;
24
33
  /** DatePicker date types that can be rendered. */
25
34
  dateType?: DatePickerTypes;
26
- /** The date format to display. Defaults to "yyyy-MM-dd". */
27
- dateFormat?: string;
28
35
  /** Populates the `HelperErrorText` component in this component. */
29
36
  helperText?: string;
30
37
  /** Populates the `HelperErrorText` component in the "From" `TextInput` component. */
@@ -34,43 +41,38 @@ export interface DatePickerProps extends DatePickerWrapperProps {
34
41
  /** The initial date value. This must be in the mm/dd/yyyy format. */
35
42
  initialDate?: string;
36
43
  /** The initialTo date value used for date ranges.
37
- * This must be in the mm/dd/yyyy format.
38
- */
44
+ * This must be in the mm/dd/yyyy format. */
39
45
  initialDateTo?: string;
40
- /** The minimum date value that applies to both input fields.
41
- * This must be in the mm/dd/yyyy format.
42
- */
43
- minDate?: string;
44
- /** The maximum date value that applies to both input fields.
45
- * This must be in the mm/dd/yyyy format.
46
- */
47
- maxDate?: string;
48
- /** Populates the `HelperErrorText` error state for both "From" and "To" input components. */
46
+ /** Populates the `HelperErrorText` error state for both "From"
47
+ * and "To" input components. */
49
48
  invalidText?: string;
50
- /** Helper for modifiers array; adds 'errored' styling. */
51
- errored?: boolean;
52
- /** Adds the 'required' property to the input element(s). */
53
- required?: boolean;
54
- /** Whether or not to display the "Required"/"Optional" text in the label text. */
55
- showOptReqLabel?: boolean;
56
49
  /** Adds the 'disabled' property to the input element(s). */
57
- disabled?: boolean;
58
- /** Modifiers array for use with BEM. See how to work with modifiers and BEM
59
- * here: http://getbem.com/introduction/ */
60
- modifiers?: string[];
61
- /** BlockName for use with BEM. See how to work with blockNames and BEM
62
- * here: http://getbem.com/introduction/ */
63
- blockName?: string;
50
+ isDisabled?: boolean;
51
+ /** Adds 'isInvalid' styling. */
52
+ isInvalid?: boolean;
53
+ /** Adds the 'required' property to the input element(s). */
54
+ isRequired?: boolean;
55
+ /** The maximum date value that applies to both input fields.
56
+ * This must be in the mm/dd/yyyy format. */
57
+ maxDate?: string;
58
+ /** The minimum date value that applies to both input fields.
59
+ * This must be in the mm/dd/yyyy format. */
60
+ minDate?: string;
64
61
  /** Value name for the single input field or the "From" input field in a date range. */
65
62
  nameFrom?: string;
66
63
  /** Value name for the "To" input field */
67
64
  nameTo?: string;
68
- /** An additional explicit React ref passed for a date range's "From" input field. */
69
- refTo?: React.Ref<TextInputRefType>;
70
65
  /** The action to perform on the `input`'s onChange function for both fields.
71
66
  * This will return the data in an object with `startDate` and `endDate` keys.
72
67
  */
73
68
  onChange?: (data: FullDateType) => void;
69
+ /** An additional explicit React ref passed for a date range's "To"
70
+ * input field. Note that the "From" input takes the initial "ref" value. */
71
+ refTo?: React.Ref<TextInputRefType>;
72
+ /** Offers the ability to hide the helper/invalid text. */
73
+ showHelperInvalidText?: boolean;
74
+ /** Whether or not to display the "Required"/"Optional" text in the label text. */
75
+ showOptReqLabel?: boolean;
74
76
  }
75
77
  /**
76
78
  * Returns a single date input field or two date input fields for a date range.
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ interface FieldsetProps {
3
+ /** Children to render. Typically form-related components are used. */
4
+ children: React.ReactNode;
5
+ /** Additional class name to add. */
6
+ className?: string;
7
+ /** ID that other components can cross reference for accessibility purposes */
8
+ id?: string;
9
+ /** Flag to show or hide the text in the `legend` element. False by default. */
10
+ isLegendHidden?: boolean;
11
+ /** Flag to render "Required" or "Optional" in the `legend`.
12
+ * False/"Optional" by default. */
13
+ isRequired?: boolean;
14
+ /** Text to display in the `legend` element. */
15
+ legendText?: string;
16
+ /** Flag to show or hide the "Required"/"Optional" text in the `legend`.
17
+ * True by default. */
18
+ optReqFlag?: boolean;
19
+ }
20
+ /**
21
+ * A wrapper component that renders a `fieldset` element along with a `legend`
22
+ * element as its first child. Commonly used to wrap form components.
23
+ */
24
+ declare const Fieldset: React.FC<FieldsetProps>;
25
+ export default Fieldset;
@@ -1,23 +1,28 @@
1
1
  import * as React from "react";
2
2
  import { FormSpacing } from "./FormTypes";
3
+ export interface FormChildProps {
4
+ /** className to be applied to FormRow */
5
+ className?: string;
6
+ /** Spacing size (internal use) */
7
+ gap?: FormSpacing;
8
+ /** ID that other components can cross reference (internal use) */
9
+ id?: string;
10
+ }
3
11
  export interface FormProps {
4
12
  /** Optional form `action` attribute */
5
13
  action?: string;
6
- /** Optional additional attributes passed to the `<form>` element */
7
- attributes?: {
8
- [key: string]: any;
9
- };
10
14
  /** Optional className you can add in addition to `form` */
11
15
  className?: string;
12
16
  /** Optional ID that other components can cross reference */
13
17
  id?: string;
14
18
  /** Optional form `method` attribute */
15
19
  method?: "get" | "post";
16
- /** Optional modifiers array for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
17
- modifiers?: string[];
18
20
  /** Optional spacing size; if omitted, the default `large` (2rem / 32px) spacing will be used; ```IMPORTANT: for general form layout, this prop should not be used``` */
19
21
  spacing?: FormSpacing;
20
22
  }
21
- export declare function FormRow(props: any): JSX.Element;
22
- export declare function FormField(props: any): JSX.Element;
23
+ /** FormRow child-component */
24
+ export declare function FormRow(props: React.PropsWithChildren<FormChildProps>): JSX.Element;
25
+ /** FormField child-component */
26
+ export declare function FormField(props: React.PropsWithChildren<FormChildProps>): JSX.Element;
27
+ /** main Form component */
23
28
  export default function Form(props: React.ComponentProps<"form"> & FormProps): JSX.Element;
@@ -1,8 +1,2 @@
1
- export declare enum FormSpacing {
2
- ExtraExtraSmall = "extra-extra-small",
3
- ExtraSmall = "extra-small",
4
- Small = "small",
5
- Medium = "medium",
6
- Large = "large",
7
- ExtraLarge = "extra-large"
8
- }
1
+ import { GridGaps as FormSpacing } from "../Grid/GridTypes";
2
+ export { FormSpacing };
@@ -0,0 +1,9 @@
1
+ export declare enum GridGaps {
2
+ ExtraExtraSmall = "xxs",
3
+ ExtraSmall = "xs",
4
+ Small = "s",
5
+ Medium = "m",
6
+ Large = "l",
7
+ ExtraLarge = "xl",
8
+ ExtraExtraLarge = "xxl"
9
+ }
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ import { GridGaps } from "./GridTypes";
3
+ export interface SimpleGridProps {
4
+ /** Additional class name. */
5
+ className?: string;
6
+ /** Optional numeric value to override the default column count; the default column count is 3 */
7
+ columns?: number;
8
+ /** Optional gap size; if omitted, the default `large` (2rem / 32px) spacing will be used; ```IMPORTANT: for standard grid layouts, this prop should not be used``` */
9
+ gap?: GridGaps;
10
+ /** ID that other components can cross reference for accessibility purposes */
11
+ id?: string;
12
+ }
13
+ declare function SimpleGrid(props: React.PropsWithChildren<SimpleGridProps>): JSX.Element;
14
+ export default SimpleGrid;
@@ -1,8 +1,10 @@
1
1
  import * as React from "react";
2
2
  import { HeadingDisplaySizes, HeadingLevels } from "./HeadingTypes";
3
3
  export interface HeadingProps {
4
- /** BlockName for use with BEM. See how to work with blockNames and BEM here: http://getbem.com/introduction/ */
5
- blockName?: string;
4
+ /** Optionally pass in additional Chakra-based styles. */
5
+ additionalStyles?: {
6
+ [key: string]: any;
7
+ };
6
8
  /** Optional className that appears in addition to `heading` */
7
9
  className?: string;
8
10
  /** Optional size used to override the default styles of the semantic HTML `<h>` elements */
@@ -11,8 +13,6 @@ export interface HeadingProps {
11
13
  id?: string;
12
14
  /** Optional number 1-6 used to create the `<h*>` tag; if prop is not passed, `Heading` will default to `<h2>` */
13
15
  level?: HeadingLevels;
14
- /** Modifiers array for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
15
- modifiers?: string[];
16
16
  /** Inner text of the `<h*>` element */
17
17
  text?: string;
18
18
  /** Optional URL that header points to; when `url` prop is passed to `Heading`, a child `<a>` element is created and the heading text becomes an active link */
@@ -1,23 +1,26 @@
1
1
  import * as React from "react";
2
+ export declare type AriaLiveValues = "assertive" | "off" | "polite";
2
3
  interface HelperErrorTextProps {
3
- /** Added prop when HelperText is errored */
4
- ariaLive?: "polite" | "off" | "assertive";
5
- /** Added prop when HelperText is errored */
6
- ariaAtomic?: boolean;
7
- /** Additional attributes passed to <HelperErrorText> */
8
- attributes?: {
4
+ /** Optionally pass in additional Chakra-based styles. */
5
+ additionalStyles?: {
9
6
  [key: string]: any;
10
7
  };
11
- /** Additional className to add to the helperErrorText */
8
+ /** Aria attribute. When true, assistive technologies will
9
+ * read the entire DOM element. When false, only changes (additionals or
10
+ * removals) will be read. True by default. */
11
+ ariaAtomic?: boolean;
12
+ /** Aria attribute only used in the invalid state to read error text. This
13
+ * indicates the priority of the text and when it should be presented to users
14
+ * using screen readers; "off" indicates that the content should not be presented,
15
+ * "polite" that it will be announced at the next available time slot, and
16
+ * "assertive" that it should be announced immediately. "polite" by default. */
17
+ ariaLive?: AriaLiveValues;
18
+ /** Additional className to add. */
12
19
  className?: string;
13
- /** BlockName for use with BEM. See how to work with blockNames and BEM here: http://getbem.com/introduction/ */
14
- blockName?: string;
15
- /** unique ID for helper */
20
+ /** Unique ID for accessibility purposes. */
16
21
  id?: string;
17
- /** Toggles between helper and error styling */
18
- isError: boolean;
19
- /** Modifiers array for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
20
- modifiers?: string[];
22
+ /** Toggles between helper and invalid styling. */
23
+ isInvalid?: boolean;
21
24
  }
22
25
  /**
23
26
  * Helper or Error text for forms
@@ -1,27 +1,32 @@
1
1
  import * as React from "react";
2
2
  import { HeroTypes } from "./HeroTypes";
3
3
  export interface HeroProps {
4
- /** Optional hex color value used to override the default background color for a given `Hero` variation; Note: not all `Hero` variations utilize this prop */
4
+ /** Optional hex color value used to override the default background
5
+ * color for a given `Hero` variation.
6
+ * Note: not all `Hero` variations utilize this prop. */
5
7
  backgroundColor?: string;
6
- /** Optional path to an image that will be used as a background image for the `Hero` component; Note: not all `Hero` variations utilize this prop */
8
+ /** Optional path to an image that will be used as a background image for the
9
+ * `Hero` component.
10
+ * Note: not all `Hero` variations utilize this prop. */
7
11
  backgroundImageSrc?: string;
8
- /** BlockName for use with BEM. See how to work with blockNames and BEM here: http://getbem.com/introduction/ */
9
- blockName?: string;
10
- /** Optional className that appears in addition to `hero` */
11
- className?: string;
12
- /** Optional hex color value used to override the default text color for a given `Hero` variation; Note: not all `Hero` variations utilize this prop */
12
+ /** Optional hex color value used to override the default text color for a
13
+ * given `Hero` variation.
14
+ * Note: not all `Hero` variations utilize this prop. */
13
15
  foregroundColor?: string;
14
- /** Required heading element. */
16
+ /** Optional heading element. */
15
17
  heading?: JSX.Element;
16
18
  /** Used to control how the `Hero` component will be rendered. */
17
19
  heroType?: HeroTypes;
18
- /** Optional `Image` component used for SECONDARY, FIFTYFIFTY and CAMPAIGN `Hero` types; Note: `image` can only be used in conjunction with `backgroundImageSrc` for CAMPAIGN Hero type; Note: not all `Hero` variations utilize this prop */
20
+ /** Optional `Image` component used for SECONDARY, FIFTYFIFTY and CAMPAIGN
21
+ * `Hero` types; Note: `image` can only be used in conjunction with
22
+ * `backgroundImageSrc` for CAMPAIGN the `Hero` type.
23
+ * Note: not all `Hero` variations utilize this prop. */
19
24
  image?: JSX.Element;
20
- /** Optional details area that contains location data; Note: not all `Hero` variations utilize this prop */
25
+ /** Optional details area that contains location data.
26
+ * Note: not all `Hero` variations utilize this prop. */
21
27
  locationDetails?: JSX.Element;
22
- /** Modifiers array for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
23
- modifiers?: string[];
24
- /** Optional string used for the subheader that displays underneath the heading element */
25
- subHeaderText?: JSX.Element;
28
+ /** Optional string used for the subheader that displays
29
+ * underneath the heading element. */
30
+ subHeaderText?: string | JSX.Element;
26
31
  }
27
32
  export default function Hero(props: React.PropsWithChildren<HeroProps>): JSX.Element;
@@ -1,7 +1,12 @@
1
1
  export declare enum HeroTypes {
2
- Campaign = "CAMPAIGN",
3
- FiftyFifty = "FIFTYFIFTY",
4
- Primary = "PRIMARY",
5
- Secondary = "SECONDARY",
6
- Tertiary = "TERTIARY"
2
+ Primary = "primary",
3
+ Secondary = "secondary",
4
+ SecondaryBooksAndMore = "secondaryBooksAndMore",
5
+ SecondaryLocations = "secondaryLocations",
6
+ SecondaryResearch = "secondaryResearch",
7
+ SecondaryWhatsOn = "secondaryWhatsOn",
8
+ Tertiary = "tertiary",
9
+ Campaign = "campaign",
10
+ FiftyFifty = "fiftyfifty"
7
11
  }
12
+ export declare const HeroSecondaryTypes: HeroTypes[];
@@ -1,18 +1,19 @@
1
1
  import * as React from "react";
2
2
  export interface HorizontalRuleProps {
3
- /** Optional alignment value to align the horizontal rule to one side or the other when the width is less than 100%. If omitted, the horizobntal rule will have a default center alignment. */
3
+ /** Optional alignment value to align the horizontal rule to one side or the
4
+ * other when the width is less than 100%. If omitted, the horizontal rule
5
+ * will have a default center alignment. */
4
6
  align?: "left" | "right";
5
- /** Additional attributes passed to the horizontal rule */
6
- attributes?: {
7
- [key: string]: any;
8
- };
9
7
  /** ClassName you can add in addition to `horizontal-rule` */
10
8
  className?: string;
11
- /** Optional height value. This value should be entered with the same formatting as a CSS height attribute (ex. `2%`, `5px`, `1.5rem`). If omitted, the horizobntal rule will have a default height of 2px. */
9
+ /** Optional height value. This value should be entered with the same
10
+ * formatting as a CSS height attribute except for percent values (ex. `2`,
11
+ * `5px`, `1.5rem`). If this prop is omitted or a percent value is used, the
12
+ * horizontal rule will have a default height of 2px. */
12
13
  height?: string;
13
- /** Modifiers array for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
14
- modifiers?: string[];
15
- /** Optional width value. This value should be entered with the same formatting as a CSS width attribute (ex. `50%`, `640px`, `20rem`). If omitted, the horizobntal rule will have a default width of 100%. */
14
+ /** Optional width value. This value should be entered with the same
15
+ * formatting as a CSS width attribute (ex. `50%`, `640px`, `20rem`). If
16
+ * omitted, the horizontal rule will have a default width of "auto". */
16
17
  width?: string;
17
18
  }
18
19
  export default function HorizontalRule(props: React.ComponentProps<"hr"> & HorizontalRuleProps): JSX.Element;
@@ -1,28 +1,33 @@
1
1
  import * as React from "react";
2
- import { IconRotationTypes, IconNames, LogoNames, IconColors, IconSizes } from "./IconTypes";
2
+ import { IconAlign, IconColors, IconNames, IconRotationTypes, IconSizes, IconTypes, LogoNames } from "./IconTypes";
3
3
  export interface IconProps {
4
- /** Additional attributes to pass to the `<svg>` tag. */
5
- attributes?: {
4
+ /** Optionally pass in additional Chakra-based styles. */
5
+ additionalStyles?: {
6
6
  [key: string]: any;
7
7
  };
8
- /** BlockName for use with BEM. See how to work with blockNames and BEM here: http://getbem.com/introduction/ */
9
- blockName?: string;
10
- /** Modifiers array for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
11
- modifiers?: string[];
8
+ /** Aligns the icon. */
9
+ align?: IconAlign;
12
10
  /** className that appears in addition to "icon" */
13
11
  className?: string;
14
- /** Icons designated as decorative will be ignored by screenreaders */
12
+ /** Overrides default icon color (black). */
13
+ color?: IconColors;
14
+ /** Icons designated as decorative will be ignored by screenreaders. True
15
+ * by default. */
15
16
  decorative?: boolean;
16
- /** This text will be added as a child `<title>` element inside the `<svg>` tag. It is recommended to do this for increased accessibility. */
17
- titleText?: string;
18
17
  /** Rotates the icon clockwise in increments of 90deg */
19
18
  iconRotation?: IconRotationTypes;
20
- /** Overrides default icon color (black). */
21
- color?: IconColors;
22
- /** Sets the icon size. */
23
- size?: IconSizes;
19
+ /** ID that other components can cross reference for accessibility purposes */
20
+ id?: string;
24
21
  /** The name of the icon you want to use. */
25
22
  name?: IconNames | LogoNames;
23
+ /** Sets the icon size. */
24
+ size?: IconSizes;
25
+ /** For accessibility purposes, the text passed in the `title` prop gets
26
+ * rendered in a `title` element in the SVG. This descriptive text is not
27
+ * visible but is needed for screenreaders to describe the graphic. */
28
+ title?: string;
29
+ /** Sets the icon variant type. */
30
+ type?: IconTypes;
26
31
  }
27
32
  /**
28
33
  * Renders SVG-based icons.
@@ -1,6 +1,10 @@
1
1
  declare const _default: {
2
2
  accessibility_full: string;
3
3
  accessibility_partial: string;
4
+ action_check_circle: string;
5
+ action_help_default: string;
6
+ action_help_outline: string;
7
+ action_launch: string;
4
8
  arrow: string;
5
9
  brooklyn: string;
6
10
  check: string;
@@ -9,6 +13,13 @@ declare const _default: {
9
13
  download: string;
10
14
  error_filled: string;
11
15
  error_outline: string;
16
+ file_type_audio: string;
17
+ file_type_doc: string;
18
+ file_type_generic_doc: string;
19
+ file_type_image: string;
20
+ file_type_pdf: string;
21
+ file_type_spreadsheet: string;
22
+ file_type_video: string;
12
23
  headset: string;
13
24
  logo_brooklyn: string;
14
25
  logo_nypl: string;