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

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 (307) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +7 -7
  3. package/dist/components/Accordion/Accordion.d.ts +1 -1
  4. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +1 -5
  5. package/dist/components/Button/Button.d.ts +2 -10
  6. package/dist/components/ButtonGroup/ButtonGroup.d.ts +22 -0
  7. package/dist/components/Card/Card.d.ts +2 -2
  8. package/dist/components/Checkbox/Checkbox.d.ts +10 -8
  9. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  10. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  11. package/dist/components/Form/Form.d.ts +2 -2
  12. package/dist/components/Grid/SimpleGrid.d.ts +6 -3
  13. package/dist/components/Heading/Heading.d.ts +2 -5
  14. package/dist/components/HelperErrorText/HelperErrorText.d.ts +1 -5
  15. package/dist/components/Hero/Hero.d.ts +13 -9
  16. package/dist/components/Icons/Icon.d.ts +6 -5
  17. package/dist/components/Icons/IconSvgs.d.ts +21 -21
  18. package/dist/components/Image/Image.d.ts +8 -5
  19. package/dist/components/Link/Link.d.ts +1 -9
  20. package/dist/components/List/List.d.ts +7 -11
  21. package/dist/components/Logo/Logo.d.ts +2 -5
  22. package/dist/components/Logo/LogoSvgs.d.ts +39 -39
  23. package/dist/components/Modal/Modal.d.ts +28 -8
  24. package/dist/components/Notification/Notification.d.ts +1 -1
  25. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +2 -1
  26. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  27. package/dist/components/SearchBar/SearchBar.d.ts +3 -2
  28. package/dist/components/Select/Select.d.ts +2 -5
  29. package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +4 -4
  30. package/dist/components/SkipNavigation/SkipNavigation.d.ts +17 -0
  31. package/dist/components/StatusBadge/StatusBadge.d.ts +2 -3
  32. package/dist/components/StructuredContent/StructuredContent.d.ts +2 -2
  33. package/dist/components/Table/Table.d.ts +1 -1
  34. package/dist/components/Template/Template.d.ts +2 -0
  35. package/dist/components/Text/Text.d.ts +1 -1
  36. package/dist/components/TextInput/TextInput.d.ts +21 -9
  37. package/dist/components/Toggle/Toggle.d.ts +1 -5
  38. package/dist/components/VideoPlayer/VideoPlayer.d.ts +2 -1
  39. package/dist/design-system-react-components.cjs.development.js +983 -1222
  40. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  41. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  42. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  43. package/dist/design-system-react-components.esm.js +982 -1285
  44. package/dist/design-system-react-components.esm.js.map +1 -1
  45. package/dist/helpers/types.d.ts +1 -0
  46. package/dist/index.d.ts +27 -48
  47. package/dist/styles.css +1 -1
  48. package/dist/theme/components/buttonGroup.d.ts +11 -0
  49. package/dist/theme/components/card.d.ts +104 -8
  50. package/dist/theme/components/componentWrapper.d.ts +4 -3
  51. package/dist/theme/components/customTable.d.ts +11 -14
  52. package/dist/theme/components/fieldset.d.ts +4 -3
  53. package/dist/theme/components/helperErrorText.d.ts +4 -3
  54. package/dist/theme/components/hero.d.ts +1 -1
  55. package/dist/theme/components/horizontalRule.d.ts +4 -3
  56. package/dist/theme/components/icon.d.ts +47743 -1
  57. package/dist/theme/components/image.d.ts +563 -10
  58. package/dist/theme/components/label.d.ts +4 -3
  59. package/dist/theme/components/list.d.ts +6 -7
  60. package/dist/theme/components/logo.d.ts +474 -1
  61. package/dist/theme/components/notification.d.ts +20 -16
  62. package/dist/theme/components/progressIndicator.d.ts +6 -4
  63. package/dist/theme/components/select.d.ts +4 -10
  64. package/dist/theme/components/skeletonLoader.d.ts +14 -10
  65. package/dist/theme/components/skipNavigation.d.ts +22 -0
  66. package/dist/theme/components/slider.d.ts +7 -6
  67. package/dist/theme/components/structuredContent.d.ts +10 -9
  68. package/dist/theme/components/text.d.ts +7 -1
  69. package/dist/theme/components/toggle.d.ts +6 -4
  70. package/dist/theme/provider.d.ts +2 -4
  71. package/dist/utils/componentCategories.d.ts +1 -1
  72. package/dist/utils/interfaces.d.ts +5 -0
  73. package/dist/utils/utils.d.ts +2 -18
  74. package/package.json +15 -16
  75. package/src/__tests__/setup.ts +3 -3
  76. package/src/__tests__/utils/utils.test.ts +1 -23
  77. package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +22 -14
  78. package/src/components/Accordion/Accordion.stories.mdx +43 -44
  79. package/src/components/Accordion/Accordion.test.tsx +5 -13
  80. package/src/components/Accordion/Accordion.tsx +14 -18
  81. package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +6 -6
  82. package/src/components/Autosuggest/Autosuggest.stories.mdx +1 -1
  83. package/src/components/Autosuggest/Autosuggest.stories.tsx +23 -25
  84. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +21 -37
  85. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +4 -17
  86. package/src/components/Breadcrumbs/Breadcrumbs.tsx +18 -21
  87. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +1 -100
  88. package/src/components/Button/Button.stories.mdx +89 -126
  89. package/src/components/Button/Button.test.tsx +16 -30
  90. package/src/components/Button/Button.tsx +14 -20
  91. package/src/components/ButtonGroup/ButtonGroup.stories.mdx +147 -0
  92. package/src/components/ButtonGroup/ButtonGroup.test.tsx +141 -0
  93. package/src/components/ButtonGroup/ButtonGroup.tsx +99 -0
  94. package/src/components/ButtonGroup/__snapshots__/ButtonGroup.test.tsx.snap +117 -0
  95. package/src/components/Card/Card.stories.mdx +144 -178
  96. package/src/components/Card/Card.test.tsx +36 -97
  97. package/src/components/Card/Card.tsx +78 -74
  98. package/src/components/Chakra/Box.stories.mdx +3 -7
  99. package/src/components/Chakra/Center.stories.mdx +6 -24
  100. package/src/components/Chakra/Flex.stories.mdx +5 -7
  101. package/src/components/Chakra/Grid.stories.mdx +1 -1
  102. package/src/components/Chakra/Stack.stories.mdx +10 -11
  103. package/src/components/Checkbox/Checkbox.stories.mdx +1 -1
  104. package/src/components/Checkbox/Checkbox.test.tsx +2 -2
  105. package/src/components/Checkbox/Checkbox.tsx +20 -13
  106. package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +6 -17
  107. package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +1 -7
  108. package/src/components/CheckboxGroup/CheckboxGroup.tsx +33 -29
  109. package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +0 -11
  110. package/src/components/ComponentWrapper/ComponentWrapper.tsx +3 -10
  111. package/src/components/DatePicker/DatePicker.stories.mdx +23 -37
  112. package/src/components/DatePicker/DatePicker.test.tsx +21 -19
  113. package/src/components/DatePicker/DatePicker.tsx +57 -49
  114. package/src/components/Form/Form.stories.mdx +46 -31
  115. package/src/components/Form/Form.test.tsx +1 -18
  116. package/src/components/Form/Form.tsx +7 -7
  117. package/src/components/Grid/SimpleGrid.stories.mdx +73 -49
  118. package/src/components/Grid/SimpleGrid.test.tsx +7 -9
  119. package/src/components/Grid/SimpleGrid.tsx +14 -11
  120. package/src/components/Heading/Heading.stories.mdx +27 -72
  121. package/src/components/Heading/Heading.test.tsx +18 -44
  122. package/src/components/Heading/Heading.tsx +7 -10
  123. package/src/components/HelperErrorText/HelperErrorText.stories.mdx +1 -3
  124. package/src/components/HelperErrorText/HelperErrorText.tsx +1 -5
  125. package/src/components/Hero/Hero.stories.mdx +219 -216
  126. package/src/components/Hero/Hero.test.tsx +107 -223
  127. package/src/components/Hero/Hero.tsx +63 -61
  128. package/src/components/Icons/Icon.stories.mdx +172 -118
  129. package/src/components/Icons/Icon.test.tsx +8 -16
  130. package/src/components/Icons/Icon.tsx +75 -29
  131. package/src/components/Icons/IconSvgs.tsx +42 -42
  132. package/src/components/Image/Image.stories.mdx +45 -132
  133. package/src/components/Image/Image.test.tsx +16 -31
  134. package/src/components/Image/Image.tsx +28 -12
  135. package/src/components/Link/Link.stories.mdx +30 -94
  136. package/src/components/Link/Link.test.tsx +25 -75
  137. package/src/components/Link/Link.tsx +43 -56
  138. package/src/components/Link/__snapshots__/Link.test.tsx.snap +1 -2
  139. package/src/components/List/List.stories.mdx +20 -31
  140. package/src/components/List/List.test.tsx +24 -43
  141. package/src/components/List/List.tsx +25 -36
  142. package/src/components/Logo/Logo.stories.mdx +94 -50
  143. package/src/components/Logo/Logo.test.tsx +10 -19
  144. package/src/components/Logo/Logo.tsx +50 -17
  145. package/src/components/Logo/LogoSvgs.tsx +78 -78
  146. package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +4 -4
  147. package/src/components/Modal/Modal.stories.mdx +245 -139
  148. package/src/components/Modal/Modal.test.tsx +147 -10
  149. package/src/components/Modal/Modal.tsx +140 -20
  150. package/src/components/Modal/__snapshots__/Modal.test.tsx.snap +25 -0
  151. package/src/components/Notification/Notification.stories.mdx +10 -28
  152. package/src/components/Notification/Notification.test.tsx +9 -12
  153. package/src/components/Notification/Notification.tsx +34 -37
  154. package/src/components/Pagination/Pagination.stories.mdx +3 -4
  155. package/src/components/Pagination/Pagination.tsx +15 -10
  156. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +27 -53
  157. package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +9 -10
  158. package/src/components/ProgressIndicator/ProgressIndicator.tsx +17 -21
  159. package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +0 -10
  160. package/src/components/Radio/Radio.stories.mdx +1 -1
  161. package/src/components/Radio/Radio.tsx +9 -6
  162. package/src/components/RadioGroup/RadioGroup.stories.mdx +15 -16
  163. package/src/components/RadioGroup/RadioGroup.test.tsx +2 -8
  164. package/src/components/RadioGroup/RadioGroup.tsx +28 -24
  165. package/src/components/SearchBar/SearchBar.stories.mdx +4 -4
  166. package/src/components/SearchBar/SearchBar.test.tsx +1 -1
  167. package/src/components/SearchBar/SearchBar.tsx +14 -22
  168. package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +1 -13
  169. package/src/components/Select/Select.stories.mdx +10 -25
  170. package/src/components/Select/Select.test.tsx +6 -7
  171. package/src/components/Select/Select.tsx +28 -35
  172. package/src/components/Select/__snapshots__/Select.test.tsx.snap +24 -24
  173. package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +17 -56
  174. package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +7 -21
  175. package/src/components/SkeletonLoader/SkeletonLoader.tsx +9 -8
  176. package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +33 -33
  177. package/src/components/SkipNavigation/SkipNavigation.stories.mdx +90 -0
  178. package/src/components/SkipNavigation/SkipNavigation.test.tsx +63 -0
  179. package/src/components/SkipNavigation/SkipNavigation.tsx +51 -0
  180. package/src/components/SkipNavigation/__snapshots__/SkipNavigation.test.tsx.snap +130 -0
  181. package/src/components/Slider/Slider.stories.mdx +19 -53
  182. package/src/components/Slider/Slider.test.tsx +2 -2
  183. package/src/components/Slider/Slider.tsx +10 -12
  184. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +2 -9
  185. package/src/components/StatusBadge/StatusBadge.stories.mdx +6 -21
  186. package/src/components/StatusBadge/StatusBadge.test.tsx +2 -3
  187. package/src/components/StatusBadge/StatusBadge.tsx +3 -10
  188. package/src/components/StructuredContent/StructuredContent.stories.mdx +30 -58
  189. package/src/components/StructuredContent/StructuredContent.test.tsx +42 -44
  190. package/src/components/StructuredContent/StructuredContent.tsx +9 -18
  191. package/src/components/StyleGuide/Bidirectionality.stories.mdx +9 -23
  192. package/src/components/StyleGuide/Buttons.stories.mdx +63 -63
  193. package/src/components/StyleGuide/ColorCard.tsx +2 -4
  194. package/src/components/StyleGuide/Colors.stories.mdx +9 -10
  195. package/src/components/StyleGuide/DesignTokens.stories.mdx +5 -7
  196. package/src/components/StyleGuide/Forms.stories.mdx +2 -2
  197. package/src/components/StyleGuide/Iconography.stories.mdx +60 -78
  198. package/src/components/StyleGuide/Spacing.stories.mdx +1 -2
  199. package/src/components/StyleGuide/Typography.stories.mdx +16 -19
  200. package/src/components/Table/Table.stories.mdx +85 -1
  201. package/src/components/Table/Table.test.tsx +57 -1
  202. package/src/components/Table/Table.tsx +7 -4
  203. package/src/components/Table/__snapshots__/Table.test.tsx.snap +121 -0
  204. package/src/components/Tabs/Tabs.stories.mdx +1 -1
  205. package/src/components/Tabs/Tabs.test.tsx +2 -2
  206. package/src/components/Tabs/Tabs.tsx +26 -27
  207. package/src/components/Template/Template.stories.mdx +49 -54
  208. package/src/components/Template/Template.tsx +9 -3
  209. package/src/components/Text/Text.stories.mdx +5 -11
  210. package/src/components/Text/Text.test.tsx +3 -6
  211. package/src/components/Text/Text.tsx +3 -5
  212. package/src/components/TextInput/TextInput.stories.mdx +10 -22
  213. package/src/components/TextInput/TextInput.test.tsx +32 -62
  214. package/src/components/TextInput/TextInput.tsx +61 -30
  215. package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +1 -0
  216. package/src/components/Toggle/Toggle.stories.mdx +5 -16
  217. package/src/components/Toggle/Toggle.test.tsx +2 -3
  218. package/src/components/Toggle/Toggle.tsx +9 -10
  219. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +13 -29
  220. package/src/components/VideoPlayer/VideoPlayer.test.tsx +18 -23
  221. package/src/components/VideoPlayer/VideoPlayer.tsx +13 -10
  222. package/src/docs/Chakra.stories.mdx +14 -11
  223. package/src/docs/Welcome.stories.mdx +23 -43
  224. package/src/helpers/types.ts +1 -0
  225. package/src/hooks/tests/useNYPLTheme.test.tsx +1 -1
  226. package/src/hooks/useNYPLTheme.stories.mdx +3 -6
  227. package/src/index.ts +52 -46
  228. package/src/styles.scss +0 -1
  229. package/src/theme/components/buttonGroup.ts +10 -0
  230. package/src/theme/components/card.ts +50 -15
  231. package/src/theme/components/componentWrapper.ts +5 -1
  232. package/src/theme/components/customTable.ts +8 -2
  233. package/src/theme/components/fieldset.ts +5 -1
  234. package/src/theme/components/helperErrorText.ts +5 -1
  235. package/src/theme/components/hero.ts +2 -2
  236. package/src/theme/components/horizontalRule.ts +5 -1
  237. package/src/theme/components/icon.ts +7 -1
  238. package/src/theme/components/image.ts +14 -3
  239. package/src/theme/components/label.ts +5 -1
  240. package/src/theme/components/list.ts +8 -2
  241. package/src/theme/components/logo.ts +5 -1
  242. package/src/theme/components/notification.ts +38 -14
  243. package/src/theme/components/progressIndicator.ts +10 -5
  244. package/src/theme/components/select.ts +5 -6
  245. package/src/theme/components/skeletonLoader.ts +8 -2
  246. package/src/theme/components/skipNavigation.ts +26 -0
  247. package/src/theme/components/slider.ts +13 -1
  248. package/src/theme/components/structuredContent.ts +11 -1
  249. package/src/theme/components/text.ts +12 -5
  250. package/src/theme/components/toggle.ts +9 -3
  251. package/src/theme/foundations/colors.ts +6 -9
  252. package/src/theme/index.ts +4 -0
  253. package/src/theme/provider.tsx +1 -1
  254. package/src/utils/componentCategories.ts +13 -5
  255. package/src/utils/interfaces.ts +5 -0
  256. package/src/utils/utils.ts +2 -32
  257. package/dist/components/Accordion/AccordionTypes.d.ts +0 -5
  258. package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +0 -8
  259. package/dist/components/Button/ButtonTypes.d.ts +0 -8
  260. package/dist/components/DatePicker/DatePickerTypes.d.ts +0 -5
  261. package/dist/components/Form/FormTypes.d.ts +0 -2
  262. package/dist/components/Grid/GridTypes.d.ts +0 -9
  263. package/dist/components/Heading/HeadingTypes.d.ts +0 -14
  264. package/dist/components/Hero/HeroTypes.d.ts +0 -12
  265. package/dist/components/Icons/IconTypes.d.ts +0 -77
  266. package/dist/components/Image/ImageTypes.d.ts +0 -22
  267. package/dist/components/Link/LinkTypes.d.ts +0 -8
  268. package/dist/components/List/ListTypes.d.ts +0 -5
  269. package/dist/components/Logo/LogoTypes.d.ts +0 -54
  270. package/dist/components/Notification/NotificationTypes.d.ts +0 -5
  271. package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +0 -8
  272. package/dist/components/Select/SelectTypes.d.ts +0 -8
  273. package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +0 -5
  274. package/dist/components/StatusBadge/StatusBadgeTypes.d.ts +0 -5
  275. package/dist/components/StructuredContent/StructuredContentTypes.d.ts +0 -5
  276. package/dist/components/Text/TextTypes.d.ts +0 -6
  277. package/dist/components/TextInput/TextInputTypes.d.ts +0 -25
  278. package/dist/components/Toggle/ToggleTypes.d.ts +0 -4
  279. package/dist/components/VideoPlayer/VideoPlayerTypes.d.ts +0 -9
  280. package/dist/helpers/enums.d.ts +0 -4
  281. package/dist/utils/siteSections.d.ts +0 -2
  282. package/src/components/Accordion/AccordionTypes.tsx +0 -5
  283. package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +0 -8
  284. package/src/components/Button/ButtonTypes.tsx +0 -8
  285. package/src/components/DatePicker/DatePickerTypes.tsx +0 -5
  286. package/src/components/Form/FormTypes.tsx +0 -3
  287. package/src/components/Grid/GridTypes.tsx +0 -9
  288. package/src/components/Heading/HeadingTypes.tsx +0 -15
  289. package/src/components/Hero/HeroTypes.tsx +0 -20
  290. package/src/components/Icons/IconTypes.tsx +0 -83
  291. package/src/components/Image/ImageTypes.ts +0 -24
  292. package/src/components/Link/LinkTypes.tsx +0 -8
  293. package/src/components/List/ListTypes.tsx +0 -5
  294. package/src/components/Logo/LogoTypes.tsx +0 -56
  295. package/src/components/Modal/_Modal.scss +0 -18
  296. package/src/components/Notification/NotificationTypes.tsx +0 -5
  297. package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +0 -8
  298. package/src/components/Select/SelectTypes.tsx +0 -10
  299. package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +0 -5
  300. package/src/components/StatusBadge/StatusBadgeTypes.tsx +0 -5
  301. package/src/components/StructuredContent/StructuredContentTypes.tsx +0 -5
  302. package/src/components/Text/TextTypes.tsx +0 -6
  303. package/src/components/TextInput/TextInputTypes.tsx +0 -48
  304. package/src/components/Toggle/ToggleTypes.tsx +0 -4
  305. package/src/components/VideoPlayer/VideoPlayerTypes.tsx +0 -10
  306. package/src/helpers/enums.ts +0 -4
  307. package/src/utils/siteSections.ts +0 -10
@@ -2,7 +2,6 @@ import { Meta, Story, Canvas } from "@storybook/addon-docs";
2
2
  import { Box, Stack, HStack, VStack, Circle } from "@chakra-ui/react";
3
3
 
4
4
  import Icon from "../Icons/Icon";
5
- import { IconNames, IconSizes } from "../Icons/IconTypes";
6
5
  import { getCategory } from "../../utils/componentCategories";
7
6
  import DSProvider from "../../theme/provider";
8
7
 
@@ -15,7 +14,7 @@ import DSProvider from "../../theme/provider";
15
14
  | Added | `0.24.0` |
16
15
 
17
16
  Note: This needs the use of the `DSProvider` component. See the
18
- [README](https://nypl.github.io/nypl-design-system/storybook-static/?path=/story/chakra-ui--page#dsprovider)
17
+ [README](https://nypl.github.io/nypl-design-system/reservoir/v1/?path=/story/chakra-ui--page#dsprovider)
19
18
  for more information.
20
19
 
21
20
  These components are directly exported from Chakra UI. The `Stack`, `HStack`,
@@ -53,13 +52,13 @@ elements both horizontally and vertically through the `direction` prop and the
53
52
  {(args) => (
54
53
  <Stack {...args}>
55
54
  <Circle size="50px" borderColor="ui.black" borderWidth="1px">
56
- <Icon name={IconNames.ErrorFilled} size={IconSizes.Large} />
55
+ <Icon name="errorFilled" size="large" />
57
56
  </Circle>
58
57
  <Circle size="50px" borderColor="ui.black" borderWidth="1px">
59
- <Icon name={IconNames.ErrorOutline} size={IconSizes.Large} />
58
+ <Icon name="errorOutline" size="large" />
60
59
  </Circle>
61
60
  <Circle size="50px" borderColor="ui.black" borderWidth="1px">
62
- <Icon name={IconNames.Check} size={IconSizes.Large} />
61
+ <Icon name="check" size="large" />
63
62
  </Circle>
64
63
  </Stack>
65
64
  )}
@@ -75,13 +74,13 @@ a `direction` value of `"row"`.
75
74
  <DSProvider>
76
75
  <HStack spacing="s">
77
76
  <Circle size="50px" borderColor="ui.black" borderWidth="1px">
78
- <Icon name={IconNames.ErrorFilled} size={IconSizes.Large} />
77
+ <Icon name="errorFilled" size="large" />
79
78
  </Circle>
80
79
  <Circle size="50px" borderColor="ui.black" borderWidth="1px">
81
- <Icon name={IconNames.ErrorOutline} size={IconSizes.Large} />
80
+ <Icon name="errorOutline" size="large" />
82
81
  </Circle>
83
82
  <Circle size="50px" borderColor="ui.black" borderWidth="1px">
84
- <Icon name={IconNames.Check} size={IconSizes.Large} />
83
+ <Icon name="check" size="large" />
85
84
  </Circle>
86
85
  </HStack>
87
86
  </DSProvider>
@@ -97,13 +96,13 @@ all the elements in the stack.
97
96
  <DSProvider>
98
97
  <VStack align="left" spacing="s">
99
98
  <Circle size="50px" borderColor="ui.black" borderWidth="1px">
100
- <Icon name={IconNames.ErrorFilled} size={IconSizes.Large} />
99
+ <Icon name="errorFilled" size="large" />
101
100
  </Circle>
102
101
  <Circle size="50px" borderColor="ui.black" borderWidth="1px">
103
- <Icon name={IconNames.ErrorOutline} size={IconSizes.Large} />
102
+ <Icon name="errorOutline" size="large" />
104
103
  </Circle>
105
104
  <Circle size="50px" borderColor="ui.black" borderWidth="1px">
106
- <Icon name={IconNames.Check} size={IconSizes.Large} />
105
+ <Icon name="check" size="large" />
107
106
  </Circle>
108
107
  </VStack>
109
108
  </DSProvider>
@@ -57,7 +57,7 @@ import DSProvider from "../../theme/provider";
57
57
  | Component Version | DS Version |
58
58
  | ----------------- | ---------- |
59
59
  | Added | `0.1.0` |
60
- | Latest | `0.26.0` |
60
+ | Latest | `0.28.0` |
61
61
 
62
62
  ## Table of Contents
63
63
 
@@ -1,7 +1,7 @@
1
1
  import { Flex, Spacer } from "@chakra-ui/react";
2
- import * as React from "react";
3
2
  import { render, screen } from "@testing-library/react";
4
3
  import userEvent from "@testing-library/user-event";
4
+ import * as React from "react";
5
5
  import { axe } from "jest-axe";
6
6
  import renderer from "react-test-renderer";
7
7
 
@@ -39,7 +39,7 @@ describe("Checkbox Accessibility", () => {
39
39
  });
40
40
 
41
41
  describe("Checkbox", () => {
42
- let changeHandler;
42
+ let changeHandler: jest.MockedFunction<() => void>;
43
43
 
44
44
  beforeEach(() => {
45
45
  changeHandler = jest.fn();
@@ -5,11 +5,23 @@ import {
5
5
  useMultiStyleConfig,
6
6
  } from "@chakra-ui/react";
7
7
  import * as React from "react";
8
+ import { AriaAttributes } from "../../utils/interfaces";
8
9
 
9
10
  import HelperErrorText, {
10
11
  HelperErrorTextType,
11
12
  } from "../HelperErrorText/HelperErrorText";
12
- export interface CheckboxProps {
13
+
14
+ interface CheckboxIconProps {
15
+ /** When using the Checkbox as a "controlled" form element, you can specify
16
+ * the Checkbox's checked state using this prop.
17
+ * Learn more about controlled and uncontrolled form fields:
18
+ * https://goshakkk.name/controlled-vs-uncontrolled-inputs-react/ */
19
+ isChecked?: boolean;
20
+ /** Adds the indeterminate state to the `Checkbox`. */
21
+ isIndeterminate?: boolean;
22
+ }
23
+
24
+ export interface CheckboxProps extends CheckboxIconProps {
13
25
  /** className you can add in addition to 'input' */
14
26
  className?: string;
15
27
  /** Optional string to populate the HelperErrorText for standard state */
@@ -19,16 +31,9 @@ export interface CheckboxProps {
19
31
  /** Optional string to populate the HelperErrorText for the error state
20
32
  * when `isInvalid` is true. */
21
33
  invalidText?: HelperErrorTextType;
22
- /** When using the Checkbox as a "controlled" form element, you can specify
23
- * the Checkbox's checked state using this prop.
24
- * Learn more about controlled and uncontrolled form fields:
25
- * https://goshakkk.name/controlled-vs-uncontrolled-inputs-react/ */
26
- isChecked?: boolean;
27
34
  /** Adds the 'disabled' and `aria-disabled` attributes to the input when true.
28
35
  * This also makes the text italic and color scheme gray. */
29
36
  isDisabled?: boolean;
30
- /** Adds the indeterminate state to the `Checkbox`. */
31
- isIndeterminate?: boolean;
32
37
  /** Adds the 'aria-invalid' attribute to the input when true. This also makes
33
38
  * the color theme "NYPL error" red for the button and text. */
34
39
  isInvalid?: boolean;
@@ -55,7 +60,7 @@ export const onChangeDefault = () => {
55
60
  return;
56
61
  };
57
62
 
58
- function CheckboxIcon(props) {
63
+ function CheckboxIcon(props: CheckboxIconProps) {
59
64
  // We don't need the `isIndeterminate` or `isChecked` props but it
60
65
  // causes rendering issues on the SVG element, so we remove them
61
66
  // before passing all the props to the `Icon` component.
@@ -91,8 +96,8 @@ export const Checkbox = chakra(
91
96
  ...rest
92
97
  } = props;
93
98
  const styles = useMultiStyleConfig("Checkbox", {});
94
- const footnote: HelperErrorTextType = isInvalid ? invalidText : helperText;
95
- const ariaAttributes = {};
99
+ const footnote = isInvalid ? invalidText : helperText;
100
+ const ariaAttributes: AriaAttributes = {};
96
101
  const onChange = props.onChange || onChangeDefault;
97
102
  // Use Chakra's default indeterminate icon.
98
103
  const icon = !isIndeterminate ? <CheckboxIcon /> : undefined;
@@ -110,7 +115,9 @@ export const Checkbox = chakra(
110
115
  );
111
116
  }
112
117
  ariaAttributes["aria-label"] =
113
- labelText && footnote ? `${labelText} - ${footnote}` : labelText;
118
+ labelText && footnote
119
+ ? `${labelText} - ${footnote}`
120
+ : (labelText as string);
114
121
  } else {
115
122
  if (footnote) ariaAttributes["aria-describedby"] = `${id}-helperText`;
116
123
  }
@@ -145,10 +152,10 @@ export const Checkbox = chakra(
145
152
  </ChakraCheckbox>
146
153
  {footnote && showHelperInvalidText && (
147
154
  <HelperErrorText
148
- additionalStyles={styles.helperErrorText}
149
155
  id={`${id}-helperText`}
150
156
  isInvalid={isInvalid}
151
157
  text={footnote}
158
+ __css={styles.helperErrorText}
152
159
  />
153
160
  )}
154
161
  </>
@@ -10,12 +10,8 @@ import { withDesign } from "storybook-addon-designs";
10
10
 
11
11
  import Checkbox from "../Checkbox/Checkbox";
12
12
  import CheckboxGroup from "./CheckboxGroup";
13
- import { LayoutTypes } from "../../helpers/enums";
14
13
  import { getCategory } from "../../utils/componentCategories";
15
14
  import DSProvider from "../../theme/provider";
16
- import { getStorybookEnumValues } from "../../utils/utils";
17
-
18
- export const enumValues = getStorybookEnumValues(LayoutTypes, "LayoutTypes");
19
15
 
20
16
  <Meta
21
17
  title={getCategory("CheckboxGroup")}
@@ -46,9 +42,7 @@ export const enumValues = getStorybookEnumValues(LayoutTypes, "LayoutTypes");
46
42
  },
47
43
  key: { table: { disable: true } },
48
44
  layout: {
49
- control: { type: "select" },
50
- table: { defaultValue: { summary: "LayoutTypes.Column" } },
51
- options: enumValues.options,
45
+ table: { defaultValue: { summary: "column" } },
52
46
  },
53
47
  name: { control: false },
54
48
  onChange: { control: false },
@@ -70,7 +64,7 @@ export const enumValues = getStorybookEnumValues(LayoutTypes, "LayoutTypes");
70
64
  | Component Version | DS Version |
71
65
  | ----------------- | ---------- |
72
66
  | Added | `0.25.1` |
73
- | Latest | `0.26.0` |
67
+ | Latest | `0.28.0` |
74
68
 
75
69
  ## Table of Contents
76
70
 
@@ -104,7 +98,7 @@ export const enumValues = getStorybookEnumValues(LayoutTypes, "LayoutTypes");
104
98
  isInvalid: false,
105
99
  isRequired: false,
106
100
  labelText: "Standard Checkbox Group",
107
- layout: "LayoutTypes.Column",
101
+ layout: "column",
108
102
  name: "checkbox-story",
109
103
  onChange: undefined,
110
104
  showHelperInvalidText: true,
@@ -113,7 +107,7 @@ export const enumValues = getStorybookEnumValues(LayoutTypes, "LayoutTypes");
113
107
  }}
114
108
  >
115
109
  {(args) => (
116
- <CheckboxGroup {...args} layout={enumValues.getValue(args.layout)}>
110
+ <CheckboxGroup {...args}>
117
111
  <Checkbox value="2" labelText="Checkbox 2" />
118
112
  <Checkbox value="3" labelText="Checkbox 3" />
119
113
  <Checkbox value="4" labelText="Checkbox 4" />
@@ -153,12 +147,7 @@ a row.
153
147
  <Checkbox value="5" labelText="Checkbox 5" />
154
148
  </CheckboxGroup>
155
149
  <br />
156
- <CheckboxGroup
157
- id="row"
158
- labelText="Row"
159
- name="row-example"
160
- layout={LayoutTypes.Row}
161
- >
150
+ <CheckboxGroup id="row" labelText="Row" name="row-example" layout="row">
162
151
  <Checkbox value="2" labelText="Checkbox 2" />
163
152
  <Checkbox value="3" labelText="Checkbox 3" />
164
153
  <Checkbox value="4" labelText="Checkbox 4" />
@@ -296,7 +285,7 @@ children are checked, the parent will be in the "checked" state.
296
285
  The following working example can be used in your application to keep track of
297
286
  the checked and indeterminate states - taken and modified from Chakra's
298
287
  [Checkbox](https://chakra-ui.com/docs/form/checkbox#indeterminate) documentation.
299
- Note that this example is specifically using Reservoir Design System (DS)
288
+ Note that this example is specifically using Reservoir Design System (DS)
300
289
  `Checkbox` and `CheckboxGroup` components.
301
290
 
302
291
  ```tsx
@@ -7,7 +7,6 @@ import renderer from "react-test-renderer";
7
7
 
8
8
  import CheckboxGroup from "./CheckboxGroup";
9
9
  import Checkbox from "../Checkbox/Checkbox";
10
- import { LayoutTypes } from "../../helpers/enums";
11
10
 
12
11
  describe("CheckboxGroup Accessibility", () => {
13
12
  it("passes axe accessibility with string labels ", async () => {
@@ -305,12 +304,7 @@ describe("Checkbox", () => {
305
304
  .toJSON();
306
305
  const row = renderer
307
306
  .create(
308
- <CheckboxGroup
309
- labelText="row"
310
- name="row"
311
- id="row"
312
- layout={LayoutTypes.Row}
313
- >
307
+ <CheckboxGroup labelText="row" name="row" id="row" layout="row">
314
308
  <Checkbox id="checkbox2" value="2" labelText="Checkbox 2" />
315
309
  <Checkbox id="checkbox3" value="3" labelText="Checkbox 3" />
316
310
  </CheckboxGroup>
@@ -11,8 +11,9 @@ import Fieldset from "../Fieldset/Fieldset";
11
11
  import HelperErrorText, {
12
12
  HelperErrorTextType,
13
13
  } from "../HelperErrorText/HelperErrorText";
14
- import { LayoutTypes } from "../../helpers/enums";
14
+ import { LayoutTypes } from "../../helpers/types";
15
15
  import { spacing } from "../../theme/foundations/spacing";
16
+
16
17
  export interface CheckboxGroupProps {
17
18
  /** Any child node passed to the component. */
18
19
  children: React.ReactNode;
@@ -73,7 +74,7 @@ export const CheckboxGroup = chakra(
73
74
  isInvalid = false,
74
75
  isRequired = false,
75
76
  labelText,
76
- layout = LayoutTypes.Column,
77
+ layout = "column",
77
78
  name,
78
79
  onChange,
79
80
  showHelperInvalidText = true,
@@ -81,12 +82,12 @@ export const CheckboxGroup = chakra(
81
82
  showRequiredLabel = true,
82
83
  ...rest
83
84
  } = props;
84
- const footnote: HelperErrorTextType = isInvalid ? invalidText : helperText;
85
+ const footnote = isInvalid ? invalidText : helperText;
86
+ const newChildren: JSX.Element[] = [];
85
87
  const spacingProp =
86
- layout === LayoutTypes.Column
88
+ layout === "column"
87
89
  ? spacing.input.group.default.vstack
88
90
  : spacing.input.group.default.hstack;
89
- const newChildren = [];
90
91
  const checkboxProps =
91
92
  defaultValue && onChange
92
93
  ? {
@@ -102,31 +103,34 @@ export const CheckboxGroup = chakra(
102
103
  }
103
104
 
104
105
  // Go through the Checkbox children and update them as needed.
105
- React.Children.map(children, (child: React.ReactElement, i) => {
106
- if (child.type !== Checkbox) {
107
- // Special case for Storybook MDX documentation.
108
- if (child.props.mdxType && child.props.mdxType === "Checkbox") {
109
- noop();
110
- } else {
111
- console.warn(
112
- "NYPL Reservoir CheckboxGroup: Only `Checkbox` components are " +
113
- "allowed as children."
114
- );
106
+ React.Children.map(
107
+ children as JSX.Element,
108
+ (child: React.ReactElement, i) => {
109
+ if (child.type !== Checkbox) {
110
+ // Special case for Storybook MDX documentation.
111
+ if (child.props.mdxType && child.props.mdxType === "Checkbox") {
112
+ noop();
113
+ } else {
114
+ console.warn(
115
+ "NYPL Reservoir CheckboxGroup: Only `Checkbox` components are " +
116
+ "allowed as children."
117
+ );
118
+ }
115
119
  }
116
- }
117
120
 
118
- if (child !== undefined && child !== null) {
119
- const newProps = {
120
- key: i,
121
- id: `${id}-${i}`,
122
- name,
123
- isDisabled,
124
- isInvalid,
125
- isRequired,
126
- };
127
- newChildren.push(React.cloneElement(child, newProps));
121
+ if (child !== undefined && child !== null) {
122
+ const newProps = {
123
+ key: i,
124
+ id: `${id}-${i}`,
125
+ name,
126
+ isDisabled,
127
+ isInvalid,
128
+ isRequired,
129
+ };
130
+ newChildren.push(React.cloneElement(child, newProps));
131
+ }
128
132
  }
129
- });
133
+ );
130
134
 
131
135
  // Get the Chakra-based styles for the custom elements in this component.
132
136
  const styles = useMultiStyleConfig("CheckboxGroup", { isFullWidth });
@@ -147,7 +151,7 @@ export const CheckboxGroup = chakra(
147
151
  direction={[layout]}
148
152
  spacing={spacingProp}
149
153
  ref={ref}
150
- aria-label={!showLabel ? labelText : null}
154
+ aria-label={!showLabel ? labelText : undefined}
151
155
  sx={styles.stack}
152
156
  >
153
157
  {newChildren}
@@ -155,10 +159,10 @@ export const CheckboxGroup = chakra(
155
159
  </ChakraCheckboxGroup>
156
160
  {footnote && showHelperInvalidText && (
157
161
  <HelperErrorText
158
- additionalStyles={styles.helperErrorText}
159
162
  id={`${id}-helperErrorText`}
160
163
  isInvalid={isInvalid}
161
164
  text={footnote}
165
+ __css={styles.helperErrorText}
162
166
  />
163
167
  )}
164
168
  </Fieldset>
@@ -9,7 +9,6 @@ exports[`Checkbox renders the UI snapshot correctly 1`] = `
9
9
  column
10
10
  </legend>
11
11
  <div
12
- aria-label={null}
13
12
  className="chakra-stack css-1wdv1uh"
14
13
  data-testid="checkbox-group"
15
14
  id="column"
@@ -149,7 +148,6 @@ exports[`Checkbox renders the UI snapshot correctly 2`] = `
149
148
  row
150
149
  </legend>
151
150
  <div
152
- aria-label={null}
153
151
  className="chakra-stack css-1objuxj"
154
152
  data-testid="checkbox-group"
155
153
  id="row"
@@ -429,7 +427,6 @@ exports[`Checkbox renders the UI snapshot correctly 4`] = `
429
427
  helperText
430
428
  </legend>
431
429
  <div
432
- aria-label={null}
433
430
  className="chakra-stack css-1wdv1uh"
434
431
  data-testid="checkbox-group"
435
432
  id="helperText"
@@ -581,7 +578,6 @@ exports[`Checkbox renders the UI snapshot correctly 5`] = `
581
578
  invalidText
582
579
  </legend>
583
580
  <div
584
- aria-label={null}
585
581
  className="chakra-stack css-1wdv1uh"
586
582
  data-testid="checkbox-group"
587
583
  id="invalidText"
@@ -721,7 +717,6 @@ exports[`Checkbox renders the UI snapshot correctly 6`] = `
721
717
  no optional or required label
722
718
  </legend>
723
719
  <div
724
- aria-label={null}
725
720
  className="chakra-stack css-1wdv1uh"
726
721
  data-testid="checkbox-group"
727
722
  id="noRequiredLabel"
@@ -864,7 +859,6 @@ exports[`Checkbox renders the UI snapshot correctly 7`] = `
864
859
  </span>
865
860
  </legend>
866
861
  <div
867
- aria-label={null}
868
862
  className="chakra-stack css-1wdv1uh"
869
863
  data-testid="checkbox-group"
870
864
  id="required"
@@ -1004,7 +998,6 @@ exports[`Checkbox renders the UI snapshot correctly 8`] = `
1004
998
  invalid
1005
999
  </legend>
1006
1000
  <div
1007
- aria-label={null}
1008
1001
  className="chakra-stack css-1wdv1uh"
1009
1002
  data-testid="checkbox-group"
1010
1003
  id="invalid"
@@ -1150,7 +1143,6 @@ exports[`Checkbox renders the UI snapshot correctly 9`] = `
1150
1143
  disabled
1151
1144
  </legend>
1152
1145
  <div
1153
- aria-label={null}
1154
1146
  className="chakra-stack css-1wdv1uh"
1155
1147
  data-testid="checkbox-group"
1156
1148
  id="disabled"
@@ -1296,7 +1288,6 @@ exports[`Checkbox renders the UI snapshot correctly 10`] = `
1296
1288
  jsxLabels
1297
1289
  </legend>
1298
1290
  <div
1299
- aria-label={null}
1300
1291
  className="chakra-stack css-1wdv1uh"
1301
1292
  data-testid="checkbox-group"
1302
1293
  id="jsxLabels"
@@ -1460,7 +1451,6 @@ exports[`Checkbox renders the UI snapshot correctly 11`] = `
1460
1451
  chakraProps
1461
1452
  </legend>
1462
1453
  <div
1463
- aria-label={null}
1464
1454
  className="chakra-stack css-1wdv1uh"
1465
1455
  data-testid="checkbox-group"
1466
1456
  id="chakraProps"
@@ -1601,7 +1591,6 @@ exports[`Checkbox renders the UI snapshot correctly 12`] = `
1601
1591
  otherProps
1602
1592
  </legend>
1603
1593
  <div
1604
- aria-label={null}
1605
1594
  className="chakra-stack css-1wdv1uh"
1606
1595
  data-testid="checkbox-group"
1607
1596
  id="otherProps"
@@ -2,7 +2,6 @@ import { Box, chakra, useMultiStyleConfig } from "@chakra-ui/react";
2
2
  import * as React from "react";
3
3
 
4
4
  import Heading from "../Heading/Heading";
5
- import { HeadingLevels } from "../Heading/HeadingTypes";
6
5
  import HelperErrorText, {
7
6
  HelperErrorTextType,
8
7
  } from "../HelperErrorText/HelperErrorText";
@@ -39,7 +38,7 @@ export const ComponentWrapper = chakra(
39
38
  } = props;
40
39
  const hasChildren = !!children;
41
40
  const styles = useMultiStyleConfig("ComponentWrapper", { hasChildren });
42
- const footnote: HelperErrorTextType = isInvalid ? invalidText : helperText;
41
+ const footnote = isInvalid ? invalidText : helperText;
43
42
 
44
43
  // Note: Typescript warns when there are no children passed and
45
44
  // doesn't compile. This is meant to log in non-Typescript apps.
@@ -49,21 +48,15 @@ export const ComponentWrapper = chakra(
49
48
 
50
49
  return (
51
50
  <Box __css={styles} {...rest}>
52
- {headingText && (
53
- <Heading
54
- id={`${id}-heading`}
55
- level={HeadingLevels.Two}
56
- text={headingText}
57
- />
58
- )}
51
+ {headingText && <Heading id={`${id}-heading`} text={headingText} />}
59
52
  {descriptionText && <Text>{descriptionText}</Text>}
60
53
  {children}
61
54
  {footnote && (
62
55
  <HelperErrorText
63
- additionalStyles={styles.helperErrorText}
64
56
  id={`${id}-helperText`}
65
57
  isInvalid={isInvalid}
66
58
  text={footnote}
59
+ __css={styles.helperErrorText}
67
60
  />
68
61
  )}
69
62
  </Box>