@nypl/design-system-react-components 0.25.12 → 0.26.1

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 (337) hide show
  1. package/CHANGELOG.md +131 -1
  2. package/README.md +10 -10
  3. package/dist/components/Accordion/Accordion.d.ts +6 -4
  4. package/dist/components/Accordion/AccordionTypes.d.ts +5 -0
  5. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -4
  6. package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +1 -1
  7. package/dist/components/Button/Button.d.ts +2 -2
  8. package/dist/components/Card/Card.d.ts +22 -29
  9. package/dist/components/Checkbox/Checkbox.d.ts +3 -3
  10. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +9 -6
  11. package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +1 -1
  12. package/dist/components/DatePicker/DatePicker.d.ts +5 -6
  13. package/dist/components/Fieldset/Fieldset.d.ts +5 -6
  14. package/dist/components/Form/Form.d.ts +6 -6
  15. package/dist/components/Grid/GridTypes.d.ts +7 -7
  16. package/dist/components/Grid/SimpleGrid.d.ts +1 -1
  17. package/dist/components/Heading/Heading.d.ts +5 -5
  18. package/dist/components/Heading/HeadingTypes.d.ts +1 -1
  19. package/dist/components/HelperErrorText/HelperErrorText.d.ts +9 -8
  20. package/dist/components/Hero/Hero.d.ts +9 -5
  21. package/dist/components/HorizontalRule/HorizontalRule.d.ts +2 -10
  22. package/dist/components/Icons/Icon.d.ts +2 -1
  23. package/dist/components/Icons/IconTypes.d.ts +1 -0
  24. package/dist/components/Image/Image.d.ts +27 -9
  25. package/dist/components/Image/ImageTypes.d.ts +4 -4
  26. package/dist/components/Label/Label.d.ts +7 -4
  27. package/dist/components/Link/Link.d.ts +1 -1
  28. package/dist/components/List/List.d.ts +11 -11
  29. package/dist/components/List/ListTypes.d.ts +1 -1
  30. package/dist/components/Logo/Logo.d.ts +2 -1
  31. package/dist/components/Logo/LogoSvgs.d.ts +2 -0
  32. package/dist/components/Logo/LogoTypes.d.ts +4 -2
  33. package/dist/components/Notification/Notification.d.ts +7 -7
  34. package/dist/components/Pagination/Pagination.d.ts +2 -2
  35. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +3 -3
  36. package/dist/components/Radio/Radio.d.ts +5 -7
  37. package/dist/components/RadioGroup/RadioGroup.d.ts +16 -8
  38. package/dist/components/SearchBar/SearchBar.d.ts +4 -4
  39. package/dist/components/Select/Select.d.ts +12 -8
  40. package/dist/components/Select/SelectTypes.d.ts +4 -0
  41. package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +8 -6
  42. package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +0 -4
  43. package/dist/components/Slider/Slider.d.ts +6 -4
  44. package/dist/components/StatusBadge/StatusBadge.d.ts +5 -1
  45. package/dist/components/StructuredContent/StructuredContent.d.ts +10 -23
  46. package/dist/components/Table/Table.d.ts +1 -1
  47. package/dist/components/Tabs/Tabs.d.ts +7 -6
  48. package/dist/components/Template/Template.d.ts +17 -8
  49. package/dist/components/Text/Text.d.ts +4 -4
  50. package/dist/components/Text/TextTypes.d.ts +1 -1
  51. package/dist/components/TextInput/TextInput.d.ts +7 -7
  52. package/dist/components/Toggle/Toggle.d.ts +8 -10
  53. package/dist/components/Toggle/{ToggleSizes.d.ts → ToggleTypes.d.ts} +1 -1
  54. package/dist/components/VideoPlayer/VideoPlayer.d.ts +2 -1
  55. package/dist/design-system-react-components.cjs.development.js +2075 -1468
  56. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  57. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  58. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  59. package/dist/design-system-react-components.esm.js +2086 -1483
  60. package/dist/design-system-react-components.esm.js.map +1 -1
  61. package/dist/helpers/enums.d.ts +4 -0
  62. package/dist/hooks/useCarouselStyles.d.ts +3 -2
  63. package/dist/hooks/useNYPLTheme.d.ts +12 -0
  64. package/dist/index.d.ts +11 -9
  65. package/dist/styles.css +1 -1
  66. package/dist/theme/components/accordion.d.ts +7 -12
  67. package/dist/theme/components/breadcrumb.d.ts +3 -0
  68. package/dist/theme/components/button.d.ts +10 -2
  69. package/dist/theme/components/card.d.ts +44 -24
  70. package/dist/theme/components/checkbox.d.ts +6 -4
  71. package/dist/theme/components/checkboxGroup.d.ts +4 -2
  72. package/dist/theme/components/componentWrapper.d.ts +2 -2
  73. package/dist/theme/components/customTable.d.ts +84 -1
  74. package/dist/theme/components/fieldset.d.ts +4 -14
  75. package/dist/theme/components/global.d.ts +25 -18
  76. package/dist/theme/components/heading.d.ts +53 -0
  77. package/dist/theme/components/helperErrorText.d.ts +1 -0
  78. package/dist/theme/components/hero.d.ts +21 -15
  79. package/dist/theme/components/image.d.ts +1 -1
  80. package/dist/theme/components/label.d.ts +9 -10
  81. package/dist/theme/components/list.d.ts +99 -9
  82. package/dist/theme/components/notification.d.ts +4 -4
  83. package/dist/theme/components/pagination.d.ts +2 -5
  84. package/dist/theme/components/radio.d.ts +7 -4
  85. package/dist/theme/components/radioGroup.d.ts +4 -2
  86. package/dist/theme/components/select.d.ts +37 -5
  87. package/dist/theme/components/skeletonLoader.d.ts +2 -2
  88. package/dist/theme/components/slider.d.ts +6 -3
  89. package/dist/theme/components/structuredContent.d.ts +197 -0
  90. package/dist/theme/components/textInput.d.ts +18 -6
  91. package/dist/theme/components/toggle.d.ts +20 -5
  92. package/dist/theme/foundations/global.d.ts +2 -0
  93. package/dist/theme/foundations/radii.d.ts +1 -0
  94. package/dist/theme/foundations/spacing.d.ts +46 -43
  95. package/package.json +5 -6
  96. package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +34 -0
  97. package/src/components/Accordion/Accordion.stories.mdx +150 -66
  98. package/src/components/Accordion/Accordion.test.tsx +65 -17
  99. package/src/components/Accordion/Accordion.tsx +61 -27
  100. package/src/components/Accordion/AccordionTypes.tsx +5 -0
  101. package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +505 -14
  102. package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -3
  103. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +37 -19
  104. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +57 -36
  105. package/src/components/Breadcrumbs/Breadcrumbs.tsx +14 -13
  106. package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +1 -1
  107. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +211 -12
  108. package/src/components/Button/Button.stories.mdx +87 -23
  109. package/src/components/Button/Button.test.tsx +25 -0
  110. package/src/components/Button/Button.tsx +18 -7
  111. package/src/components/Button/__snapshots__/Button.test.tsx.snap +27 -7
  112. package/src/components/Card/Card.stories.mdx +493 -329
  113. package/src/components/Card/Card.test.tsx +138 -18
  114. package/src/components/Card/Card.tsx +151 -85
  115. package/src/components/Card/__snapshots__/Card.test.tsx.snap +221 -101
  116. package/src/components/Chakra/Center.stories.mdx +2 -2
  117. package/src/components/Chakra/Grid.stories.mdx +4 -4
  118. package/src/components/Checkbox/Checkbox.stories.mdx +73 -9
  119. package/src/components/Checkbox/Checkbox.test.tsx +89 -10
  120. package/src/components/Checkbox/Checkbox.tsx +26 -16
  121. package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +209 -6
  122. package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +135 -23
  123. package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +216 -90
  124. package/src/components/CheckboxGroup/CheckboxGroup.tsx +39 -26
  125. package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +493 -89
  126. package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +12 -0
  127. package/src/components/ComponentWrapper/ComponentWrapper.tsx +39 -41
  128. package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +47 -34
  129. package/src/components/DatePicker/DatePicker.stories.mdx +63 -27
  130. package/src/components/DatePicker/DatePicker.test.tsx +94 -15
  131. package/src/components/DatePicker/DatePicker.tsx +67 -58
  132. package/src/components/DatePicker/_DatePicker.scss +71 -13
  133. package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +250 -206
  134. package/src/components/Fieldset/Fieldset.stories.mdx +33 -3
  135. package/src/components/Fieldset/Fieldset.test.tsx +58 -28
  136. package/src/components/Fieldset/Fieldset.tsx +35 -30
  137. package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +40 -19
  138. package/src/components/Form/Form.stories.mdx +118 -47
  139. package/src/components/Form/Form.test.tsx +59 -16
  140. package/src/components/Form/Form.tsx +89 -65
  141. package/src/components/Form/__snapshots__/Form.test.tsx.snap +83 -5
  142. package/src/components/Grid/GridTypes.tsx +7 -7
  143. package/src/components/Grid/SimpleGrid.stories.mdx +87 -41
  144. package/src/components/Grid/SimpleGrid.test.tsx +24 -9
  145. package/src/components/Grid/SimpleGrid.tsx +29 -20
  146. package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +16 -1
  147. package/src/components/Heading/Heading.stories.mdx +56 -25
  148. package/src/components/Heading/Heading.test.tsx +17 -7
  149. package/src/components/Heading/Heading.tsx +60 -58
  150. package/src/components/Heading/HeadingTypes.tsx +1 -1
  151. package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +27 -8
  152. package/src/components/HelperErrorText/HelperErrorText.stories.mdx +64 -42
  153. package/src/components/HelperErrorText/HelperErrorText.test.tsx +15 -0
  154. package/src/components/HelperErrorText/HelperErrorText.tsx +40 -35
  155. package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +35 -4
  156. package/src/components/Hero/Hero.stories.mdx +143 -113
  157. package/src/components/Hero/Hero.test.tsx +146 -58
  158. package/src/components/Hero/Hero.tsx +144 -112
  159. package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +89 -17
  160. package/src/components/HorizontalRule/HorizontalRule.stories.mdx +26 -4
  161. package/src/components/HorizontalRule/HorizontalRule.test.tsx +9 -17
  162. package/src/components/HorizontalRule/HorizontalRule.tsx +9 -25
  163. package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +18 -5
  164. package/src/components/Icons/Icon.stories.mdx +80 -23
  165. package/src/components/Icons/Icon.test.tsx +51 -2
  166. package/src/components/Icons/Icon.tsx +93 -71
  167. package/src/components/Icons/IconTypes.tsx +1 -0
  168. package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +129 -0
  169. package/src/components/Image/Image.stories.mdx +160 -71
  170. package/src/components/Image/Image.test.tsx +40 -48
  171. package/src/components/Image/Image.tsx +80 -48
  172. package/src/components/Image/ImageTypes.ts +4 -4
  173. package/src/components/Image/__snapshots__/Image.test.tsx.snap +84 -21
  174. package/src/components/Label/Label.stories.mdx +42 -20
  175. package/src/components/Label/Label.test.tsx +42 -17
  176. package/src/components/Label/Label.tsx +22 -13
  177. package/src/components/Label/__snapshots__/Label.test.tsx.snap +19 -15
  178. package/src/components/Link/Link.stories.mdx +25 -1
  179. package/src/components/Link/Link.test.tsx +21 -0
  180. package/src/components/Link/Link.tsx +16 -9
  181. package/src/components/Link/__snapshots__/Link.test.tsx.snap +37 -11
  182. package/src/components/List/List.stories.mdx +75 -40
  183. package/src/components/List/List.test.tsx +73 -22
  184. package/src/components/List/List.tsx +44 -28
  185. package/src/components/List/ListTypes.tsx +1 -1
  186. package/src/components/List/__snapshots__/List.test.tsx.snap +110 -8
  187. package/src/components/Logo/Logo.stories.mdx +40 -16
  188. package/src/components/Logo/Logo.test.tsx +29 -2
  189. package/src/components/Logo/Logo.tsx +28 -11
  190. package/src/components/Logo/LogoSvgs.tsx +4 -0
  191. package/src/components/Logo/LogoTypes.tsx +3 -1
  192. package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +73 -2
  193. package/src/components/Modal/Modal.stories.mdx +13 -0
  194. package/src/components/Notification/Notification.stories.mdx +29 -5
  195. package/src/components/Notification/Notification.test.tsx +23 -0
  196. package/src/components/Notification/Notification.tsx +53 -51
  197. package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +158 -29
  198. package/src/components/Pagination/Pagination.stories.mdx +27 -6
  199. package/src/components/Pagination/Pagination.test.tsx +55 -2
  200. package/src/components/Pagination/Pagination.tsx +12 -9
  201. package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +244 -27
  202. package/src/components/Placeholder/Placeholder.tsx +3 -1
  203. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +76 -10
  204. package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +87 -13
  205. package/src/components/ProgressIndicator/ProgressIndicator.tsx +20 -10
  206. package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +101 -14
  207. package/src/components/Radio/Radio.stories.mdx +75 -11
  208. package/src/components/Radio/Radio.test.tsx +83 -9
  209. package/src/components/Radio/Radio.tsx +70 -62
  210. package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +163 -5
  211. package/src/components/RadioGroup/RadioGroup.stories.mdx +293 -94
  212. package/src/components/RadioGroup/RadioGroup.test.tsx +193 -68
  213. package/src/components/RadioGroup/RadioGroup.tsx +110 -101
  214. package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +1258 -902
  215. package/src/components/SearchBar/SearchBar.stories.mdx +101 -36
  216. package/src/components/SearchBar/{SearchBar.Test.tsx → SearchBar.test.tsx} +46 -4
  217. package/src/components/SearchBar/SearchBar.tsx +20 -11
  218. package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +1039 -0
  219. package/src/components/Select/Select.stories.mdx +151 -62
  220. package/src/components/Select/Select.test.tsx +56 -44
  221. package/src/components/Select/Select.tsx +125 -104
  222. package/src/components/Select/SelectTypes.tsx +5 -0
  223. package/src/components/Select/__snapshots__/Select.test.tsx.snap +749 -409
  224. package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +53 -23
  225. package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +14 -8
  226. package/src/components/SkeletonLoader/SkeletonLoader.tsx +80 -78
  227. package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +0 -5
  228. package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +169 -10
  229. package/src/components/Slider/Slider.stories.mdx +123 -41
  230. package/src/components/Slider/Slider.test.tsx +65 -17
  231. package/src/components/Slider/Slider.tsx +30 -23
  232. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +403 -226
  233. package/src/components/StatusBadge/StatusBadge.stories.mdx +19 -1
  234. package/src/components/StatusBadge/StatusBadge.test.tsx +19 -1
  235. package/src/components/StatusBadge/StatusBadge.tsx +25 -20
  236. package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +22 -3
  237. package/src/components/StructuredContent/StructuredContent.stories.mdx +229 -61
  238. package/src/components/StructuredContent/StructuredContent.test.tsx +162 -101
  239. package/src/components/StructuredContent/StructuredContent.tsx +98 -103
  240. package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +102 -17
  241. package/src/components/StyleGuide/Bidirectionality.stories.mdx +5 -5
  242. package/src/components/StyleGuide/Breakpoints.stories.mdx +6 -6
  243. package/src/components/StyleGuide/Buttons.stories.mdx +2 -12
  244. package/src/components/StyleGuide/ColorCard.tsx +4 -4
  245. package/src/components/StyleGuide/Colors.stories.mdx +1 -2
  246. package/src/components/StyleGuide/DesignTokens.stories.mdx +56 -26
  247. package/src/components/StyleGuide/Forms.stories.mdx +27 -12
  248. package/src/components/StyleGuide/Iconography.stories.mdx +2 -12
  249. package/src/components/StyleGuide/Spacing.stories.mdx +80 -41
  250. package/src/components/StyleGuide/Typography.stories.mdx +47 -33
  251. package/src/components/Table/Table.stories.mdx +38 -11
  252. package/src/components/Table/Table.test.tsx +16 -1
  253. package/src/components/Table/Table.tsx +10 -8
  254. package/src/components/Table/__snapshots__/Table.test.tsx.snap +408 -5
  255. package/src/components/Tabs/Tabs.stories.mdx +59 -10
  256. package/src/components/Tabs/Tabs.test.tsx +29 -11
  257. package/src/components/Tabs/Tabs.tsx +28 -21
  258. package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +394 -5
  259. package/src/components/Template/Template.stories.mdx +73 -32
  260. package/src/components/Template/Template.test.tsx +68 -5
  261. package/src/components/Template/Template.tsx +89 -71
  262. package/src/components/Template/__snapshots__/Template.test.tsx.snap +195 -22
  263. package/src/components/Text/Text.stories.mdx +32 -15
  264. package/src/components/Text/Text.test.tsx +14 -11
  265. package/src/components/Text/Text.tsx +13 -16
  266. package/src/components/Text/TextTypes.tsx +1 -1
  267. package/src/components/Text/__snapshots__/Text.test.tsx.snap +21 -4
  268. package/src/components/TextInput/TextInput.stories.mdx +73 -27
  269. package/src/components/TextInput/TextInput.test.tsx +65 -50
  270. package/src/components/TextInput/TextInput.tsx +123 -115
  271. package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +96 -73
  272. package/src/components/Toggle/Toggle.stories.mdx +74 -26
  273. package/src/components/Toggle/Toggle.test.tsx +41 -10
  274. package/src/components/Toggle/Toggle.tsx +29 -26
  275. package/src/components/Toggle/{ToggleSizes.tsx → ToggleTypes.tsx} +1 -1
  276. package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +191 -4
  277. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +52 -4
  278. package/src/components/VideoPlayer/VideoPlayer.test.tsx +41 -6
  279. package/src/components/VideoPlayer/VideoPlayer.tsx +134 -120
  280. package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +81 -39
  281. package/src/docs/Chakra.stories.mdx +50 -9
  282. package/src/docs/Welcome.stories.mdx +168 -0
  283. package/src/{components/Card/CardTypes.tsx → helpers/enums.ts} +2 -2
  284. package/src/hooks/tests/useNYPLTheme.test.tsx +1 -1
  285. package/src/hooks/useCarouselStyles.stories.mdx +30 -0
  286. package/src/hooks/useCarouselStyles.ts +3 -2
  287. package/src/hooks/useNYPLTheme.stories.mdx +101 -0
  288. package/src/hooks/useNYPLTheme.ts +31 -7
  289. package/src/hooks/useWindowSize.stories.mdx +23 -0
  290. package/src/index.ts +11 -15
  291. package/src/styles/base/_place-holder.scss +1 -1
  292. package/src/theme/components/accordion.ts +7 -12
  293. package/src/theme/components/breadcrumb.ts +3 -0
  294. package/src/theme/components/button.ts +15 -7
  295. package/src/theme/components/card.ts +56 -36
  296. package/src/theme/components/checkbox.ts +10 -8
  297. package/src/theme/components/checkboxGroup.ts +4 -2
  298. package/src/theme/components/componentWrapper.ts +2 -2
  299. package/src/theme/components/customTable.ts +39 -31
  300. package/src/theme/components/fieldset.ts +1 -2
  301. package/src/theme/components/global.ts +29 -23
  302. package/src/theme/components/heading.ts +1 -1
  303. package/src/theme/components/helperErrorText.ts +1 -0
  304. package/src/theme/components/hero.ts +14 -16
  305. package/src/theme/components/icon.ts +5 -2
  306. package/src/theme/components/image.ts +1 -1
  307. package/src/theme/components/label.ts +4 -3
  308. package/src/theme/components/list.ts +73 -66
  309. package/src/theme/components/notification.ts +7 -7
  310. package/src/theme/components/pagination.ts +2 -5
  311. package/src/theme/components/progressIndicator.ts +3 -3
  312. package/src/theme/components/radio.ts +9 -9
  313. package/src/theme/components/radioGroup.ts +4 -2
  314. package/src/theme/components/select.ts +35 -16
  315. package/src/theme/components/skeletonLoader.ts +3 -3
  316. package/src/theme/components/slider.ts +8 -7
  317. package/src/theme/components/statusBadge.ts +2 -2
  318. package/src/theme/components/structuredContent.ts +66 -1
  319. package/src/theme/components/tabs.ts +2 -2
  320. package/src/theme/components/template.ts +9 -9
  321. package/src/theme/components/textInput.ts +13 -12
  322. package/src/theme/components/toggle.ts +43 -13
  323. package/src/theme/components/videoPlayer.ts +1 -1
  324. package/src/theme/foundations/colors.ts +1 -1
  325. package/src/theme/foundations/radii.ts +1 -0
  326. package/src/theme/foundations/spacing.ts +70 -22
  327. package/src/theme/foundations/typography.ts +2 -2
  328. package/src/utils/componentCategories.ts +28 -21
  329. package/dist/components/Card/CardTypes.d.ts +0 -4
  330. package/dist/components/CheckboxGroup/CheckboxGroupLayoutTypes.d.ts +0 -4
  331. package/dist/components/RadioGroup/RadioGroupLayoutTypes.d.ts +0 -4
  332. package/dist/components/SearchBar/SearchBar.Test.d.ts +0 -1
  333. package/dist/helpers/generateUUID.d.ts +0 -1
  334. package/src/components/CheckboxGroup/CheckboxGroupLayoutTypes.tsx +0 -4
  335. package/src/components/RadioGroup/RadioGroupLayoutTypes.tsx +0 -4
  336. package/src/docs/Intro.stories.mdx +0 -53
  337. package/src/helpers/generateUUID.tsx +0 -5
@@ -1,6 +1,6 @@
1
- import * as React from "react";
2
1
  import {
3
2
  Box,
3
+ chakra,
4
4
  Tab,
5
5
  TabList,
6
6
  TabPanels,
@@ -8,8 +8,8 @@ import {
8
8
  Tabs as ChakraTabs,
9
9
  useMultiStyleConfig,
10
10
  } from "@chakra-ui/react";
11
+ import * as React from "react";
11
12
 
12
- import generateUUID from "../../helpers/generateUUID";
13
13
  import { IconNames, IconRotationTypes, IconSizes } from "../Icons/IconTypes";
14
14
  import Icon from "../Icons/Icon";
15
15
  import { ButtonTypes } from "../Button/ButtonTypes";
@@ -24,20 +24,20 @@ interface TabPanelProps {
24
24
  panels: React.ReactNode[] | React.ReactNode;
25
25
  }
26
26
  // The general shape of the data object for each Tab.
27
- export interface TabsContentDataProps {
27
+ export interface TabsDataProps {
28
28
  label: string;
29
29
  content: string | React.ReactNode;
30
30
  }
31
31
 
32
32
  export interface TabsProps {
33
- /** Array of data to display */
34
- contentData?: TabsContentDataProps[];
35
33
  /** The index of the tab to display for controlled situations. */
36
34
  defaultIndex?: number;
37
35
  /** ID that other components can cross reference for accessibility purposes */
38
36
  id?: string;
39
37
  /** The callback function invoked on every tab change event. */
40
38
  onChange?: (index: number) => any;
39
+ /** Array of data to display */
40
+ tabsData?: TabsDataProps[];
41
41
  /** Render a hash in the url for each tab. Only available when data is
42
42
  * passed through the `data` props. */
43
43
  useHash?: boolean;
@@ -55,7 +55,7 @@ const onClickHash = (tabHash) => {
55
55
  * This returns an object with `Tab` and `TabPanel` components to rendered in
56
56
  * `TabList` and `TabPanels` components respectively.
57
57
  */
58
- const getElementsFromContentData = (data, useHash): TabPanelProps => {
58
+ const getElementsFromData = (data, useHash): TabPanelProps => {
59
59
  const tabs = [];
60
60
  const panels = [];
61
61
 
@@ -65,8 +65,8 @@ const getElementsFromContentData = (data, useHash): TabPanelProps => {
65
65
 
66
66
  if (data?.length > 6) {
67
67
  console.warn(
68
- "Tabs: We recommend to use no more than six tabs. If more than six tabs " +
69
- "are needed, consider other navigational patterns."
68
+ "NYPL Reservoir Tabs: it is recommended to use no more than six tabs. If " +
69
+ "more than six tabs are needed, consider other navigational patterns."
70
70
  );
71
71
  }
72
72
  data.forEach((tab, index) => {
@@ -121,8 +121,8 @@ const getElementsFromChildren = (children): TabPanelProps => {
121
121
  const childTabs = React.Children.count(child.props.children);
122
122
  if (childTabs > 6) {
123
123
  console.warn(
124
- "Tabs: We recommend to use no more than six tabs. If more than six " +
125
- "tabs are needed, consider other navigational patterns."
124
+ "NYPL Reservoir Tabs: It is recommended to use no more than six tabs. " +
125
+ "If more than six tabs are needed, consider other navigational patterns."
126
126
  );
127
127
  }
128
128
  }
@@ -139,14 +139,15 @@ const getElementsFromChildren = (children): TabPanelProps => {
139
139
  * Renders Chakra's `Tab` component with specific variants, props,
140
140
  * and controlled styling.
141
141
  */
142
- function Tabs(props: React.PropsWithChildren<TabsProps>) {
142
+ export const Tabs = chakra((props: React.PropsWithChildren<TabsProps>) => {
143
143
  const {
144
144
  children,
145
- contentData,
146
145
  defaultIndex = 0,
147
- id = generateUUID(),
146
+ id,
148
147
  onChange,
148
+ tabsData,
149
149
  useHash = false,
150
+ ...rest
150
151
  } = props;
151
152
  const styles = useMultiStyleConfig("Tabs", {});
152
153
  // Just an estimate of the tab width for the mobile carousel.
@@ -155,16 +156,18 @@ function Tabs(props: React.PropsWithChildren<TabsProps>) {
155
156
  const mediumTabWidth = 40;
156
157
  const [tabWidth, setTabWidth] = React.useState(initTabWidth);
157
158
  const windowDimensions = useWindowSize();
158
- const { tabs, panels }: any = contentData
159
- ? getElementsFromContentData(contentData, useHash)
159
+ const { tabs, panels }: any = tabsData
160
+ ? getElementsFromData(tabsData, useHash)
160
161
  : getElementsFromChildren(children);
161
162
 
162
163
  if (tabs.length === 0 || panels.length === 0) {
163
- console.warn("Tabs: Pass data in the `data` props or as children.");
164
+ console.warn(
165
+ "NYPL Reservoir Tabs: Pass data in the `contentData` props or as children."
166
+ );
164
167
  }
165
168
 
166
169
  // `tabs` is an array for the children component approach but an object for
167
- // the `contentData` prop approach. We need to get the right props key value
170
+ // the `tabsData` prop approach. We need to get the right props key value
168
171
  // to set the carousel's length.
169
172
  const tabProps = tabs[0] ? tabs[0]?.props : (tabs as any).props;
170
173
  const { prevSlide, nextSlide, carouselStyle, goToStart } = useCarouselStyles(
@@ -221,9 +224,10 @@ function Tabs(props: React.PropsWithChildren<TabsProps>) {
221
224
  </Button>
222
225
  );
223
226
 
224
- if (children && contentData?.length) {
227
+ if (children && tabsData?.length) {
225
228
  console.warn(
226
- "Tabs: Only pass children or data in the `data` props but not both."
229
+ "NYPL Reservoir Tabs: Only pass children or data in the `contentData` " +
230
+ "prop. Do not pass both."
227
231
  );
228
232
  }
229
233
 
@@ -235,6 +239,7 @@ function Tabs(props: React.PropsWithChildren<TabsProps>) {
235
239
  isLazy
236
240
  onChange={onChange}
237
241
  variant="enclosed"
242
+ {...rest}
238
243
  >
239
244
  <Box
240
245
  __css={styles.tablistWrapper}
@@ -253,6 +258,8 @@ function Tabs(props: React.PropsWithChildren<TabsProps>) {
253
258
  {panels}
254
259
  </ChakraTabs>
255
260
  );
256
- }
261
+ });
257
262
 
258
- export { Tabs, TabList, Tab, TabPanels, TabPanel };
263
+ // Tabs is also exported above so the props can display in Storybook.
264
+ export { TabList, Tab, TabPanels, TabPanel };
265
+ export default Tabs;
@@ -2,7 +2,7 @@
2
2
 
3
3
  exports[`Tabs renders the UI snapshot correctly 1`] = `
4
4
  <div
5
- className="chakra-tabs css-0"
5
+ className="chakra-tabs css-1xdhyk6"
6
6
  id="basic"
7
7
  >
8
8
  <div
@@ -10,7 +10,7 @@ exports[`Tabs renders the UI snapshot correctly 1`] = `
10
10
  >
11
11
  <button
12
12
  aria-label="Previous"
13
- className="chakra-button css-fg6w03"
13
+ className="chakra-button css-1fhylxi"
14
14
  data-testid="button"
15
15
  id="tabs-previous-basic"
16
16
  onClick={[Function]}
@@ -18,7 +18,7 @@ exports[`Tabs renders the UI snapshot correctly 1`] = `
18
18
  >
19
19
  <svg
20
20
  aria-hidden={true}
21
- className="chakra-icon css-onkibi"
21
+ className="chakra-icon css-1grhd2q"
22
22
  focusable={false}
23
23
  id="tabs-previous-icon-basic"
24
24
  role="img"
@@ -105,7 +105,7 @@ exports[`Tabs renders the UI snapshot correctly 1`] = `
105
105
  </div>
106
106
  <button
107
107
  aria-label="Next"
108
- className="chakra-button css-1whvqek"
108
+ className="chakra-button css-12jygyh"
109
109
  data-testid="button"
110
110
  id="tabs-next-basic"
111
111
  onClick={[Function]}
@@ -113,7 +113,7 @@ exports[`Tabs renders the UI snapshot correctly 1`] = `
113
113
  >
114
114
  <svg
115
115
  aria-hidden={true}
116
- className="chakra-icon css-onkibi"
116
+ className="chakra-icon css-1grhd2q"
117
117
  focusable={false}
118
118
  id="tabs-next-icon-basic"
119
119
  role="img"
@@ -193,3 +193,392 @@ exports[`Tabs renders the UI snapshot correctly 1`] = `
193
193
  </div>
194
194
  </div>
195
195
  `;
196
+
197
+ exports[`Tabs renders the UI snapshot correctly 2`] = `
198
+ <div
199
+ className="chakra-tabs css-kle7zy"
200
+ id="chakra"
201
+ >
202
+ <div
203
+ className="css-l3f8vc"
204
+ >
205
+ <button
206
+ aria-label="Previous"
207
+ className="chakra-button css-1fhylxi"
208
+ data-testid="button"
209
+ id="tabs-previous-chakra"
210
+ onClick={[Function]}
211
+ type="button"
212
+ >
213
+ <svg
214
+ aria-hidden={true}
215
+ className="chakra-icon css-1grhd2q"
216
+ focusable={false}
217
+ id="tabs-previous-icon-chakra"
218
+ role="img"
219
+ title="arrow icon"
220
+ viewBox="0 0 24 24"
221
+ >
222
+ <g
223
+ stroke="currentColor"
224
+ strokeWidth="1.5"
225
+ >
226
+ <path
227
+ d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
228
+ fill="none"
229
+ strokeLinecap="round"
230
+ />
231
+ <path
232
+ d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
233
+ fill="currentColor"
234
+ strokeLinecap="round"
235
+ />
236
+ <circle
237
+ cx="12"
238
+ cy="12"
239
+ fill="none"
240
+ r="11.25"
241
+ strokeMiterlimit="10"
242
+ />
243
+ </g>
244
+ </svg>
245
+ </button>
246
+ <div
247
+ className="css-0"
248
+ >
249
+ <div
250
+ className="css-16fuzwj"
251
+ >
252
+ <div
253
+ aria-orientation="horizontal"
254
+ className="chakra-tabs__tablist css-k008qs"
255
+ onKeyDown={[Function]}
256
+ role="tablist"
257
+ >
258
+ <button
259
+ aria-controls="chakra--tabpanel--1"
260
+ aria-selected={false}
261
+ className="chakra-tabs__tab css-abpfcx"
262
+ id="chakra--tab--1"
263
+ onClick={[Function]}
264
+ onFocus={[Function]}
265
+ role="tab"
266
+ tabIndex={-1}
267
+ type="button"
268
+ >
269
+ Tom Nook
270
+ </button>
271
+ <button
272
+ aria-controls="chakra--tabpanel--1"
273
+ aria-selected={false}
274
+ className="chakra-tabs__tab css-abpfcx"
275
+ id="chakra--tab--1"
276
+ onClick={[Function]}
277
+ onFocus={[Function]}
278
+ role="tab"
279
+ tabIndex={-1}
280
+ type="button"
281
+ >
282
+ Isabelle
283
+ </button>
284
+ <button
285
+ aria-controls="chakra--tabpanel--1"
286
+ aria-selected={false}
287
+ className="chakra-tabs__tab css-abpfcx"
288
+ id="chakra--tab--1"
289
+ onClick={[Function]}
290
+ onFocus={[Function]}
291
+ role="tab"
292
+ tabIndex={-1}
293
+ type="button"
294
+ >
295
+ K.K. Slider
296
+ </button>
297
+ </div>
298
+ </div>
299
+ </div>
300
+ <button
301
+ aria-label="Next"
302
+ className="chakra-button css-12jygyh"
303
+ data-testid="button"
304
+ id="tabs-next-chakra"
305
+ onClick={[Function]}
306
+ type="button"
307
+ >
308
+ <svg
309
+ aria-hidden={true}
310
+ className="chakra-icon css-1grhd2q"
311
+ focusable={false}
312
+ id="tabs-next-icon-chakra"
313
+ role="img"
314
+ title="arrow icon"
315
+ viewBox="0 0 24 24"
316
+ >
317
+ <g
318
+ stroke="currentColor"
319
+ strokeWidth="1.5"
320
+ >
321
+ <path
322
+ d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
323
+ fill="none"
324
+ strokeLinecap="round"
325
+ />
326
+ <path
327
+ d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
328
+ fill="currentColor"
329
+ strokeLinecap="round"
330
+ />
331
+ <circle
332
+ cx="12"
333
+ cy="12"
334
+ fill="none"
335
+ r="11.25"
336
+ strokeMiterlimit="10"
337
+ />
338
+ </g>
339
+ </svg>
340
+ </button>
341
+ </div>
342
+ <div
343
+ className="chakra-tabs__tab-panels css-8atqhb"
344
+ >
345
+ <div
346
+ aria-labelledby="chakra--tab-0"
347
+ className="chakra-tabs__tab-panel css-sjt5nk"
348
+ hidden={false}
349
+ id="chakra--tabpanel-0"
350
+ role="tabpanel"
351
+ tabIndex={0}
352
+ >
353
+ <p>
354
+ Tom Nook,
355
+ <b>
356
+ known in Japan as Tanukichi
357
+ </b>
358
+ , is a fictional character in the Animal Crossing series who operates the village store.
359
+ </p>
360
+ </div>
361
+ <div
362
+ aria-labelledby="chakra--tab-1"
363
+ className="chakra-tabs__tab-panel css-sjt5nk"
364
+ dangerouslySetInnerHTML={
365
+ Object {
366
+ "__html": "Isabelle, known as Shizue in Japan, is a fictional character from the Animal Crossing series of video games. She is a kindly Shih Tzu that debuted in the 2012 release Animal Crossing: New Leaf, where she serves as the secretary to the player character.",
367
+ }
368
+ }
369
+ hidden={true}
370
+ id="chakra--tabpanel-1"
371
+ role="tabpanel"
372
+ tabIndex={0}
373
+ />
374
+ <div
375
+ aria-labelledby="chakra--tab-2"
376
+ className="chakra-tabs__tab-panel css-sjt5nk"
377
+ dangerouslySetInnerHTML={
378
+ Object {
379
+ "__html": "<p>Totakeke, more commonly known as <b>K.K. Slider or K.K.</b>, is a fictional character within the Animal Crossing franchise. One of the franchise's most popular characters, he debuted in the title Animal Crossing, and has appeared in every installment since.</p>",
380
+ }
381
+ }
382
+ hidden={true}
383
+ id="chakra--tabpanel-2"
384
+ role="tabpanel"
385
+ tabIndex={0}
386
+ />
387
+ </div>
388
+ </div>
389
+ `;
390
+
391
+ exports[`Tabs renders the UI snapshot correctly 3`] = `
392
+ <div
393
+ className="chakra-tabs css-1xdhyk6"
394
+ data-testid="props"
395
+ id="props"
396
+ >
397
+ <div
398
+ className="css-l3f8vc"
399
+ >
400
+ <button
401
+ aria-label="Previous"
402
+ className="chakra-button css-1fhylxi"
403
+ data-testid="button"
404
+ id="tabs-previous-props"
405
+ onClick={[Function]}
406
+ type="button"
407
+ >
408
+ <svg
409
+ aria-hidden={true}
410
+ className="chakra-icon css-1grhd2q"
411
+ focusable={false}
412
+ id="tabs-previous-icon-props"
413
+ role="img"
414
+ title="arrow icon"
415
+ viewBox="0 0 24 24"
416
+ >
417
+ <g
418
+ stroke="currentColor"
419
+ strokeWidth="1.5"
420
+ >
421
+ <path
422
+ d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
423
+ fill="none"
424
+ strokeLinecap="round"
425
+ />
426
+ <path
427
+ d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
428
+ fill="currentColor"
429
+ strokeLinecap="round"
430
+ />
431
+ <circle
432
+ cx="12"
433
+ cy="12"
434
+ fill="none"
435
+ r="11.25"
436
+ strokeMiterlimit="10"
437
+ />
438
+ </g>
439
+ </svg>
440
+ </button>
441
+ <div
442
+ className="css-0"
443
+ >
444
+ <div
445
+ className="css-16fuzwj"
446
+ >
447
+ <div
448
+ aria-orientation="horizontal"
449
+ className="chakra-tabs__tablist css-k008qs"
450
+ onKeyDown={[Function]}
451
+ role="tablist"
452
+ >
453
+ <button
454
+ aria-controls="props--tabpanel--1"
455
+ aria-selected={false}
456
+ className="chakra-tabs__tab css-abpfcx"
457
+ id="props--tab--1"
458
+ onClick={[Function]}
459
+ onFocus={[Function]}
460
+ role="tab"
461
+ tabIndex={-1}
462
+ type="button"
463
+ >
464
+ Tom Nook
465
+ </button>
466
+ <button
467
+ aria-controls="props--tabpanel--1"
468
+ aria-selected={false}
469
+ className="chakra-tabs__tab css-abpfcx"
470
+ id="props--tab--1"
471
+ onClick={[Function]}
472
+ onFocus={[Function]}
473
+ role="tab"
474
+ tabIndex={-1}
475
+ type="button"
476
+ >
477
+ Isabelle
478
+ </button>
479
+ <button
480
+ aria-controls="props--tabpanel--1"
481
+ aria-selected={false}
482
+ className="chakra-tabs__tab css-abpfcx"
483
+ id="props--tab--1"
484
+ onClick={[Function]}
485
+ onFocus={[Function]}
486
+ role="tab"
487
+ tabIndex={-1}
488
+ type="button"
489
+ >
490
+ K.K. Slider
491
+ </button>
492
+ </div>
493
+ </div>
494
+ </div>
495
+ <button
496
+ aria-label="Next"
497
+ className="chakra-button css-12jygyh"
498
+ data-testid="button"
499
+ id="tabs-next-props"
500
+ onClick={[Function]}
501
+ type="button"
502
+ >
503
+ <svg
504
+ aria-hidden={true}
505
+ className="chakra-icon css-1grhd2q"
506
+ focusable={false}
507
+ id="tabs-next-icon-props"
508
+ role="img"
509
+ title="arrow icon"
510
+ viewBox="0 0 24 24"
511
+ >
512
+ <g
513
+ stroke="currentColor"
514
+ strokeWidth="1.5"
515
+ >
516
+ <path
517
+ d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
518
+ fill="none"
519
+ strokeLinecap="round"
520
+ />
521
+ <path
522
+ d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
523
+ fill="currentColor"
524
+ strokeLinecap="round"
525
+ />
526
+ <circle
527
+ cx="12"
528
+ cy="12"
529
+ fill="none"
530
+ r="11.25"
531
+ strokeMiterlimit="10"
532
+ />
533
+ </g>
534
+ </svg>
535
+ </button>
536
+ </div>
537
+ <div
538
+ className="chakra-tabs__tab-panels css-8atqhb"
539
+ >
540
+ <div
541
+ aria-labelledby="props--tab-0"
542
+ className="chakra-tabs__tab-panel css-sjt5nk"
543
+ hidden={false}
544
+ id="props--tabpanel-0"
545
+ role="tabpanel"
546
+ tabIndex={0}
547
+ >
548
+ <p>
549
+ Tom Nook,
550
+ <b>
551
+ known in Japan as Tanukichi
552
+ </b>
553
+ , is a fictional character in the Animal Crossing series who operates the village store.
554
+ </p>
555
+ </div>
556
+ <div
557
+ aria-labelledby="props--tab-1"
558
+ className="chakra-tabs__tab-panel css-sjt5nk"
559
+ dangerouslySetInnerHTML={
560
+ Object {
561
+ "__html": "Isabelle, known as Shizue in Japan, is a fictional character from the Animal Crossing series of video games. She is a kindly Shih Tzu that debuted in the 2012 release Animal Crossing: New Leaf, where she serves as the secretary to the player character.",
562
+ }
563
+ }
564
+ hidden={true}
565
+ id="props--tabpanel-1"
566
+ role="tabpanel"
567
+ tabIndex={0}
568
+ />
569
+ <div
570
+ aria-labelledby="props--tab-2"
571
+ className="chakra-tabs__tab-panel css-sjt5nk"
572
+ dangerouslySetInnerHTML={
573
+ Object {
574
+ "__html": "<p>Totakeke, more commonly known as <b>K.K. Slider or K.K.</b>, is a fictional character within the Animal Crossing franchise. One of the franchise's most popular characters, he debuted in the title Animal Crossing, and has appeared in every installment since.</p>",
575
+ }
576
+ }
577
+ hidden={true}
578
+ id="props--tabpanel-2"
579
+ role="tabpanel"
580
+ tabIndex={0}
581
+ />
582
+ </div>
583
+ </div>
584
+ `;