@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,10 +1,11 @@
1
- import * as React from "react";
2
1
  import {
3
2
  Box,
3
+ chakra,
4
4
  Input as ChakraInput,
5
5
  Textarea as ChakraTextarea,
6
6
  useMultiStyleConfig,
7
7
  } from "@chakra-ui/react";
8
+ import * as React from "react";
8
9
 
9
10
  import {
10
11
  TextInputTypes,
@@ -15,7 +16,6 @@ import Label from "../Label/Label";
15
16
  import HelperErrorText, {
16
17
  HelperErrorTextType,
17
18
  } from "../HelperErrorText/HelperErrorText";
18
- import generateUUID from "../../helpers/generateUUID";
19
19
 
20
20
  export interface InputProps {
21
21
  /** Optionally pass in additional Chakra-based styles. */
@@ -29,7 +29,7 @@ export interface InputProps {
29
29
  /** Populates the HelperErrorText for the standard state */
30
30
  helperText?: HelperErrorTextType;
31
31
  /** ID that other components can cross reference for accessibility purposes */
32
- id?: string;
32
+ id: string;
33
33
  /** Populates the HelperErrorText for the error state */
34
34
  invalidText?: HelperErrorTextType;
35
35
  /** Adds the `disabled` and `aria-disabled` prop to the input when true */
@@ -56,17 +56,17 @@ export interface InputProps {
56
56
  /** Offers the ability to show the label onscreen or hide it. Refer to the
57
57
  * `labelText` property for more information. */
58
58
  showLabel?: boolean;
59
- /** Offers the ability to show the "Required"/"Optional" label onscreen or
60
- * hide it. True by default. */
61
- showOptReqLabel?: boolean;
59
+ /** Whether or not to display the "(Required)" text in the label text.
60
+ * True by default. */
61
+ showRequiredLabel?: boolean;
62
62
  /** The amount to increase or decrease when using the number type. */
63
63
  step?: number;
64
+ /** FOR INTERNAL DS USE ONLY: the input variant to display. */
65
+ textInputType?: TextInputVariants;
64
66
  /** HTML Input types as defined by MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input */
65
67
  type?: TextInputTypes;
66
68
  /** Populates the value of the input/textarea elements */
67
69
  value?: string;
68
- /** FOR INTERNAL DS USE ONLY: the input variant to display. */
69
- variantType?: TextInputVariants;
70
70
  }
71
71
 
72
72
  /**
@@ -80,122 +80,130 @@ export type TextInputRefType = HTMLInputElement & HTMLTextAreaElement;
80
80
  * element. All types will render an accessible `Label` component and an
81
81
  * optional `HelperErrorText` component.
82
82
  */
83
- const TextInput = React.forwardRef<TextInputRefType, InputProps>(
84
- (props, ref: React.Ref<TextInputRefType>) => {
85
- const {
86
- additionalStyles = {},
87
- attributes = {},
88
- className,
89
- defaultValue,
90
- helperText,
91
- id = generateUUID(),
92
- invalidText,
93
- isDisabled = false,
94
- isInvalid = false,
95
- isRequired = false,
96
- labelText,
97
- name,
98
- onChange,
99
- placeholder,
100
- showHelperInvalidText = true,
101
- showLabel = true,
102
- showOptReqLabel = true,
103
- step = 1,
104
- type = TextInputTypes.text,
105
- value,
106
- variantType = TextInputVariants.Default,
107
- } = props;
108
- const styles = useMultiStyleConfig("TextInput", { variant: variantType });
109
- const finalStyles = { ...styles, ...additionalStyles };
110
- const isTextArea = type === TextInputTypes.textarea;
111
- const isHidden = type === TextInputTypes.hidden;
112
- const optReqFlag = isRequired ? "Required" : "Optional";
113
- const finalInvalidText = invalidText
114
- ? invalidText
115
- : "There is an error related to this field.";
116
- let footnote: HelperErrorTextType = isInvalid
117
- ? finalInvalidText
118
- : helperText;
119
- let fieldOutput;
120
- let options;
83
+ export const TextInput = chakra(
84
+ React.forwardRef<TextInputRefType, InputProps>(
85
+ (props, ref: React.Ref<TextInputRefType>) => {
86
+ const {
87
+ additionalStyles = {},
88
+ attributes = {},
89
+ className,
90
+ defaultValue,
91
+ helperText,
92
+ id,
93
+ invalidText,
94
+ isDisabled = false,
95
+ isInvalid = false,
96
+ isRequired = false,
97
+ labelText,
98
+ name,
99
+ onChange,
100
+ placeholder,
101
+ showHelperInvalidText = true,
102
+ showLabel = true,
103
+ showRequiredLabel = true,
104
+ step = 1,
105
+ textInputType = TextInputVariants.Default,
106
+ type = TextInputTypes.text,
107
+ value,
108
+ ...rest
109
+ } = props;
110
+ const styles = useMultiStyleConfig("TextInput", {
111
+ variant: textInputType,
112
+ });
113
+ const finalStyles = { ...styles, ...additionalStyles };
114
+ const isTextArea = type === TextInputTypes.textarea;
115
+ const isHidden = type === TextInputTypes.hidden;
116
+ const finalInvalidText = invalidText
117
+ ? invalidText
118
+ : "There is an error related to this field.";
119
+ let footnote: HelperErrorTextType = isInvalid
120
+ ? finalInvalidText
121
+ : helperText;
122
+ let fieldOutput;
123
+ let options;
121
124
 
122
- if (!showLabel) {
123
- attributes["aria-label"] =
124
- labelText && footnote ? `${labelText} - ${footnote}` : labelText;
125
- } else if (helperText) {
126
- attributes["aria-describedby"] = `${id}-helperText`;
127
- }
125
+ if (!id) {
126
+ console.warn(
127
+ "NYPL Reservoir TextInput: This component's required `id` prop was not passed."
128
+ );
129
+ }
128
130
 
129
- if (
130
- type === TextInputTypes.tel ||
131
- type === TextInputTypes.url ||
132
- type === TextInputTypes.email
133
- ) {
134
- const example = TextInputFormats[type];
135
- footnote = (
136
- <>
137
- Ex: {example}
138
- <br />
139
- {footnote}
140
- </>
141
- );
142
- }
131
+ if (!showLabel) {
132
+ attributes["aria-label"] =
133
+ labelText && footnote ? `${labelText} - ${footnote}` : labelText;
134
+ } else if (helperText) {
135
+ attributes["aria-describedby"] = `${id}-helperText`;
136
+ }
143
137
 
144
- // When the type is "hidden", the input element needs fewer attributes.
145
- options = isHidden
146
- ? { id, "aria-hidden": isHidden, name, onChange, ref }
147
- : {
148
- "aria-required": isRequired,
149
- defaultValue,
150
- id,
151
- isDisabled,
152
- isRequired,
153
- isInvalid,
154
- placeholder,
155
- name,
156
- onChange,
157
- ref,
158
- // The `step` attribute is useful for the number type.
159
- step: type === TextInputTypes.number ? step : null,
160
- ...attributes,
161
- };
162
- // For `input` and `textarea`, all attributes are the same but `input`
163
- // also needs `type` and `value` to render correctly.
164
- if (!isTextArea) {
165
- options = { type, value, ...options } as any;
166
- fieldOutput = <ChakraInput {...options} __css={finalStyles.input} />;
167
- } else {
168
- fieldOutput = (
169
- <ChakraTextarea {...options} __css={finalStyles.textarea}>
170
- {value}
171
- </ChakraTextarea>
172
- );
173
- }
138
+ if (
139
+ type === TextInputTypes.tel ||
140
+ type === TextInputTypes.url ||
141
+ type === TextInputTypes.email
142
+ ) {
143
+ const example = TextInputFormats[type];
144
+ footnote = (
145
+ <>
146
+ Ex: {example}
147
+ <br />
148
+ {footnote}
149
+ </>
150
+ );
151
+ }
174
152
 
175
- return (
176
- <Box __css={finalStyles} className={className}>
177
- {labelText && showLabel && !isHidden && (
178
- <Label
179
- htmlFor={id}
180
- optReqFlag={showOptReqLabel && optReqFlag}
181
- id={`${id}-label`}
182
- >
183
- {labelText}
184
- </Label>
185
- )}
186
- {fieldOutput}
187
- {footnote && showHelperInvalidText && !isHidden && (
188
- <Box __css={finalStyles.helper} aria-disabled={isDisabled}>
153
+ // When the type is "hidden", the input element needs fewer attributes.
154
+ options = isHidden
155
+ ? { id, "aria-hidden": isHidden, name, onChange, ref }
156
+ : {
157
+ "aria-required": isRequired,
158
+ defaultValue,
159
+ id,
160
+ isDisabled,
161
+ isRequired,
162
+ isInvalid,
163
+ placeholder,
164
+ name,
165
+ onChange,
166
+ ref,
167
+ // The `step` attribute is useful for the number type.
168
+ step: type === TextInputTypes.number ? step : null,
169
+ ...attributes,
170
+ };
171
+ // For `input` and `textarea`, all attributes are the same but `input`
172
+ // also needs `type` and `value` to render correctly.
173
+ if (!isTextArea) {
174
+ options = { type, value, ...options } as any;
175
+ fieldOutput = <ChakraInput {...options} __css={finalStyles.input} />;
176
+ } else {
177
+ fieldOutput = (
178
+ <ChakraTextarea {...options} __css={finalStyles.textarea}>
179
+ {value}
180
+ </ChakraTextarea>
181
+ );
182
+ }
183
+
184
+ return (
185
+ <Box __css={finalStyles} className={className} {...rest}>
186
+ {labelText && showLabel && !isHidden && (
187
+ <Label
188
+ htmlFor={id}
189
+ id={`${id}-label`}
190
+ isRequired={showRequiredLabel && isRequired}
191
+ >
192
+ {labelText}
193
+ </Label>
194
+ )}
195
+ {fieldOutput}
196
+ {footnote && showHelperInvalidText && !isHidden && (
189
197
  <HelperErrorText
190
198
  id={`${id}-helperText`}
191
199
  isInvalid={isInvalid}
192
200
  text={footnote}
193
201
  />
194
- </Box>
195
- )}
196
- </Box>
197
- );
198
- }
202
+ )}
203
+ </Box>
204
+ );
205
+ }
206
+ )
199
207
  );
200
208
 
201
209
  export default TextInput;
@@ -2,19 +2,17 @@
2
2
 
3
3
  exports[`UI Snapshots renders the text input UI snapshot correctly 1`] = `
4
4
  <div
5
- className="css-0"
5
+ className="css-1xdhyk6"
6
6
  >
7
7
  <label
8
- className="css-0"
8
+ className="css-1xdhyk6"
9
9
  htmlFor="myTextInput"
10
10
  id="myTextInput-label"
11
11
  >
12
12
  Custom Input Label
13
- <div
14
- className="css-0"
15
- >
16
- Required
17
- </div>
13
+ <span>
14
+ (Required)
15
+ </span>
18
16
  </label>
19
17
  <input
20
18
  aria-required={true}
@@ -33,19 +31,14 @@ exports[`UI Snapshots renders the text input UI snapshot correctly 1`] = `
33
31
 
34
32
  exports[`UI Snapshots renders the text input UI snapshot correctly 2`] = `
35
33
  <div
36
- className="css-0"
34
+ className="css-1xdhyk6"
37
35
  >
38
36
  <label
39
- className="css-0"
37
+ className="css-1xdhyk6"
40
38
  htmlFor="myTextInput"
41
39
  id="myTextInput-label"
42
40
  >
43
41
  Custom Input Label
44
- <div
45
- className="css-0"
46
- >
47
- Optional
48
- </div>
49
42
  </label>
50
43
  <input
51
44
  className="chakra-input css-0"
@@ -63,7 +56,7 @@ exports[`UI Snapshots renders the text input UI snapshot correctly 2`] = `
63
56
 
64
57
  exports[`UI Snapshots renders the text input UI snapshot correctly 3`] = `
65
58
  <div
66
- className="css-0"
59
+ className="css-1xdhyk6"
67
60
  >
68
61
  <input
69
62
  aria-label="Custom Input Label"
@@ -83,19 +76,17 @@ exports[`UI Snapshots renders the text input UI snapshot correctly 3`] = `
83
76
 
84
77
  exports[`UI Snapshots renders the text input UI snapshot correctly 4`] = `
85
78
  <div
86
- className="css-0"
79
+ className="css-1xdhyk6"
87
80
  >
88
81
  <label
89
- className="css-0"
82
+ className="css-1xdhyk6"
90
83
  htmlFor="myTextInput"
91
84
  id="myTextInput-label"
92
85
  >
93
86
  Custom Input Label
94
- <div
95
- className="css-0"
96
- >
97
- Required
98
- </div>
87
+ <span>
88
+ (Required)
89
+ </span>
99
90
  </label>
100
91
  <input
101
92
  aria-describedby="myTextInput-helperText"
@@ -111,40 +102,33 @@ exports[`UI Snapshots renders the text input UI snapshot correctly 4`] = `
111
102
  type="text"
112
103
  />
113
104
  <div
114
- aria-disabled={false}
115
- className="css-0"
116
- >
117
- <div
118
- aria-atomic={true}
119
- aria-live="off"
120
- className=" css-0"
121
- dangerouslySetInnerHTML={
122
- Object {
123
- "__html": "Custom helper text",
124
- }
105
+ aria-atomic={true}
106
+ aria-live="off"
107
+ className="css-1xdhyk6"
108
+ dangerouslySetInnerHTML={
109
+ Object {
110
+ "__html": "Custom helper text",
125
111
  }
126
- data-isinvalid={false}
127
- id="myTextInput-helperText"
128
- />
129
- </div>
112
+ }
113
+ data-isinvalid={false}
114
+ id="myTextInput-helperText"
115
+ />
130
116
  </div>
131
117
  `;
132
118
 
133
119
  exports[`UI Snapshots renders the text input UI snapshot correctly 5`] = `
134
120
  <div
135
- className="css-0"
121
+ className="css-1xdhyk6"
136
122
  >
137
123
  <label
138
- className="css-0"
124
+ className="css-1xdhyk6"
139
125
  htmlFor="myTextInput"
140
126
  id="myTextInput-label"
141
127
  >
142
128
  Custom Input Label
143
- <div
144
- className="css-0"
145
- >
146
- Required
147
- </div>
129
+ <span>
130
+ (Required)
131
+ </span>
148
132
  </label>
149
133
  <input
150
134
  aria-invalid={true}
@@ -160,40 +144,33 @@ exports[`UI Snapshots renders the text input UI snapshot correctly 5`] = `
160
144
  type="text"
161
145
  />
162
146
  <div
163
- aria-disabled={false}
164
- className="css-0"
165
- >
166
- <div
167
- aria-atomic={true}
168
- aria-live="polite"
169
- className=" css-0"
170
- dangerouslySetInnerHTML={
171
- Object {
172
- "__html": "There is an error related to this field.",
173
- }
147
+ aria-atomic={true}
148
+ aria-live="polite"
149
+ className="css-1xdhyk6"
150
+ dangerouslySetInnerHTML={
151
+ Object {
152
+ "__html": "There is an error related to this field.",
174
153
  }
175
- data-isinvalid={true}
176
- id="myTextInput-helperText"
177
- />
178
- </div>
154
+ }
155
+ data-isinvalid={true}
156
+ id="myTextInput-helperText"
157
+ />
179
158
  </div>
180
159
  `;
181
160
 
182
161
  exports[`UI Snapshots renders the text input UI snapshot correctly 6`] = `
183
162
  <div
184
- className="css-0"
163
+ className="css-1xdhyk6"
185
164
  >
186
165
  <label
187
- className="css-0"
166
+ className="css-1xdhyk6"
188
167
  htmlFor="myTextInput"
189
168
  id="myTextInput-label"
190
169
  >
191
170
  Custom Input Label
192
- <div
193
- className="css-0"
194
- >
195
- Required
196
- </div>
171
+ <span>
172
+ (Required)
173
+ </span>
197
174
  </label>
198
175
  <input
199
176
  aria-required={true}
@@ -210,21 +187,67 @@ exports[`UI Snapshots renders the text input UI snapshot correctly 6`] = `
210
187
  </div>
211
188
  `;
212
189
 
190
+ exports[`UI Snapshots renders the text input UI snapshot correctly 7`] = `
191
+ <div
192
+ className="css-kle7zy"
193
+ >
194
+ <label
195
+ className="css-1xdhyk6"
196
+ htmlFor="chakra"
197
+ id="chakra-label"
198
+ >
199
+ Custom Input Label
200
+ </label>
201
+ <input
202
+ className="chakra-input css-0"
203
+ disabled={false}
204
+ id="chakra"
205
+ onBlur={[Function]}
206
+ onFocus={[Function]}
207
+ placeholder="Input Placeholder"
208
+ required={false}
209
+ step={null}
210
+ type="text"
211
+ />
212
+ </div>
213
+ `;
214
+
215
+ exports[`UI Snapshots renders the text input UI snapshot correctly 8`] = `
216
+ <div
217
+ className="css-1xdhyk6"
218
+ data-testid="props"
219
+ >
220
+ <label
221
+ className="css-1xdhyk6"
222
+ htmlFor="props"
223
+ id="props-label"
224
+ >
225
+ Custom Input Label
226
+ </label>
227
+ <input
228
+ className="chakra-input css-0"
229
+ disabled={false}
230
+ id="props"
231
+ onBlur={[Function]}
232
+ onFocus={[Function]}
233
+ placeholder="Input Placeholder"
234
+ required={false}
235
+ step={null}
236
+ type="text"
237
+ />
238
+ </div>
239
+ `;
240
+
213
241
  exports[`UI Snapshots renders the textarea UI snapshot correctly 1`] = `
214
242
  <div
215
- className="css-0"
243
+ className="css-1xdhyk6"
216
244
  >
217
245
  <label
218
- className="css-0"
246
+ className="css-1xdhyk6"
219
247
  htmlFor="myTextarea"
220
248
  id="myTextarea-label"
221
249
  >
222
250
  Custom textarea Label
223
- <div
224
- className="css-0"
225
- >
226
- Optional
227
- </div>
228
251
  </label>
229
252
  <textarea
230
253
  className="chakra-textarea css-0"