@nypl/design-system-react-components 0.26.0 → 0.28.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 (306) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/components/Accordion/Accordion.d.ts +1 -1
  3. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +1 -5
  4. package/dist/components/Button/Button.d.ts +2 -10
  5. package/dist/components/ButtonGroup/ButtonGroup.d.ts +22 -0
  6. package/dist/components/Card/Card.d.ts +2 -2
  7. package/dist/components/Checkbox/Checkbox.d.ts +10 -8
  8. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  9. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  10. package/dist/components/Form/Form.d.ts +2 -2
  11. package/dist/components/Grid/SimpleGrid.d.ts +6 -3
  12. package/dist/components/Heading/Heading.d.ts +2 -5
  13. package/dist/components/HelperErrorText/HelperErrorText.d.ts +1 -5
  14. package/dist/components/Hero/Hero.d.ts +13 -9
  15. package/dist/components/Icons/Icon.d.ts +6 -5
  16. package/dist/components/Icons/IconSvgs.d.ts +21 -21
  17. package/dist/components/Image/Image.d.ts +8 -5
  18. package/dist/components/Link/Link.d.ts +1 -9
  19. package/dist/components/List/List.d.ts +7 -11
  20. package/dist/components/Logo/Logo.d.ts +2 -5
  21. package/dist/components/Logo/LogoSvgs.d.ts +39 -39
  22. package/dist/components/Modal/Modal.d.ts +28 -8
  23. package/dist/components/Notification/Notification.d.ts +1 -1
  24. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +2 -1
  25. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  26. package/dist/components/SearchBar/SearchBar.d.ts +3 -2
  27. package/dist/components/Select/Select.d.ts +2 -5
  28. package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +4 -4
  29. package/dist/components/SkipNavigation/SkipNavigation.d.ts +17 -0
  30. package/dist/components/StatusBadge/StatusBadge.d.ts +2 -3
  31. package/dist/components/StructuredContent/StructuredContent.d.ts +2 -2
  32. package/dist/components/Table/Table.d.ts +1 -1
  33. package/dist/components/Template/Template.d.ts +2 -0
  34. package/dist/components/Text/Text.d.ts +1 -1
  35. package/dist/components/TextInput/TextInput.d.ts +21 -9
  36. package/dist/components/Toggle/Toggle.d.ts +1 -5
  37. package/dist/components/VideoPlayer/VideoPlayer.d.ts +2 -1
  38. package/dist/design-system-react-components.cjs.development.js +977 -1213
  39. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  40. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  41. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  42. package/dist/design-system-react-components.esm.js +976 -1276
  43. package/dist/design-system-react-components.esm.js.map +1 -1
  44. package/dist/helpers/types.d.ts +1 -0
  45. package/dist/index.d.ts +27 -48
  46. package/dist/styles.css +1 -1
  47. package/dist/theme/components/buttonGroup.d.ts +11 -0
  48. package/dist/theme/components/card.d.ts +104 -8
  49. package/dist/theme/components/componentWrapper.d.ts +4 -3
  50. package/dist/theme/components/customTable.d.ts +11 -14
  51. package/dist/theme/components/fieldset.d.ts +4 -3
  52. package/dist/theme/components/helperErrorText.d.ts +4 -3
  53. package/dist/theme/components/hero.d.ts +1 -1
  54. package/dist/theme/components/horizontalRule.d.ts +4 -3
  55. package/dist/theme/components/icon.d.ts +47743 -1
  56. package/dist/theme/components/image.d.ts +563 -10
  57. package/dist/theme/components/label.d.ts +4 -3
  58. package/dist/theme/components/list.d.ts +6 -7
  59. package/dist/theme/components/logo.d.ts +474 -1
  60. package/dist/theme/components/notification.d.ts +20 -16
  61. package/dist/theme/components/progressIndicator.d.ts +6 -4
  62. package/dist/theme/components/select.d.ts +4 -10
  63. package/dist/theme/components/skeletonLoader.d.ts +14 -10
  64. package/dist/theme/components/skipNavigation.d.ts +22 -0
  65. package/dist/theme/components/slider.d.ts +7 -6
  66. package/dist/theme/components/structuredContent.d.ts +10 -9
  67. package/dist/theme/components/text.d.ts +7 -1
  68. package/dist/theme/components/toggle.d.ts +6 -4
  69. package/dist/theme/provider.d.ts +2 -4
  70. package/dist/utils/componentCategories.d.ts +1 -1
  71. package/dist/utils/interfaces.d.ts +5 -0
  72. package/dist/utils/utils.d.ts +2 -18
  73. package/package.json +15 -16
  74. package/src/__tests__/setup.ts +3 -3
  75. package/src/__tests__/utils/utils.test.ts +1 -23
  76. package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +22 -14
  77. package/src/components/Accordion/Accordion.stories.mdx +43 -44
  78. package/src/components/Accordion/Accordion.test.tsx +5 -13
  79. package/src/components/Accordion/Accordion.tsx +14 -18
  80. package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +6 -6
  81. package/src/components/Autosuggest/Autosuggest.stories.mdx +1 -1
  82. package/src/components/Autosuggest/Autosuggest.stories.tsx +23 -25
  83. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +21 -37
  84. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +4 -17
  85. package/src/components/Breadcrumbs/Breadcrumbs.tsx +18 -21
  86. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +1 -100
  87. package/src/components/Button/Button.stories.mdx +89 -126
  88. package/src/components/Button/Button.test.tsx +16 -30
  89. package/src/components/Button/Button.tsx +14 -20
  90. package/src/components/ButtonGroup/ButtonGroup.stories.mdx +147 -0
  91. package/src/components/ButtonGroup/ButtonGroup.test.tsx +141 -0
  92. package/src/components/ButtonGroup/ButtonGroup.tsx +99 -0
  93. package/src/components/ButtonGroup/__snapshots__/ButtonGroup.test.tsx.snap +117 -0
  94. package/src/components/Card/Card.stories.mdx +143 -177
  95. package/src/components/Card/Card.test.tsx +36 -97
  96. package/src/components/Card/Card.tsx +78 -74
  97. package/src/components/Card/__snapshots__/Card.test.tsx.snap +1 -1
  98. package/src/components/Chakra/Box.stories.mdx +2 -6
  99. package/src/components/Chakra/Center.stories.mdx +5 -23
  100. package/src/components/Chakra/Flex.stories.mdx +4 -6
  101. package/src/components/Chakra/Stack.stories.mdx +9 -10
  102. package/src/components/Checkbox/Checkbox.stories.mdx +1 -1
  103. package/src/components/Checkbox/Checkbox.test.tsx +2 -2
  104. package/src/components/Checkbox/Checkbox.tsx +20 -13
  105. package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +9 -9
  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 +24 -35
  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 +1 -1
  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 +62 -62
  193. package/src/components/StyleGuide/ColorCard.tsx +2 -4
  194. package/src/components/StyleGuide/Colors.stories.mdx +7 -8
  195. package/src/components/StyleGuide/DesignTokens.stories.mdx +5 -7
  196. package/src/components/StyleGuide/Forms.stories.mdx +0 -1
  197. package/src/components/StyleGuide/Iconography.stories.mdx +59 -77
  198. package/src/components/StyleGuide/Spacing.stories.mdx +0 -1
  199. package/src/components/StyleGuide/Typography.stories.mdx +15 -18
  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/index.ts +4 -0
  252. package/src/theme/provider.tsx +1 -1
  253. package/src/utils/componentCategories.ts +13 -5
  254. package/src/utils/interfaces.ts +5 -0
  255. package/src/utils/utils.ts +2 -32
  256. package/dist/components/Accordion/AccordionTypes.d.ts +0 -5
  257. package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +0 -8
  258. package/dist/components/Button/ButtonTypes.d.ts +0 -8
  259. package/dist/components/DatePicker/DatePickerTypes.d.ts +0 -5
  260. package/dist/components/Form/FormTypes.d.ts +0 -2
  261. package/dist/components/Grid/GridTypes.d.ts +0 -9
  262. package/dist/components/Heading/HeadingTypes.d.ts +0 -14
  263. package/dist/components/Hero/HeroTypes.d.ts +0 -12
  264. package/dist/components/Icons/IconTypes.d.ts +0 -77
  265. package/dist/components/Image/ImageTypes.d.ts +0 -22
  266. package/dist/components/Link/LinkTypes.d.ts +0 -8
  267. package/dist/components/List/ListTypes.d.ts +0 -5
  268. package/dist/components/Logo/LogoTypes.d.ts +0 -54
  269. package/dist/components/Notification/NotificationTypes.d.ts +0 -5
  270. package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +0 -8
  271. package/dist/components/Select/SelectTypes.d.ts +0 -8
  272. package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +0 -5
  273. package/dist/components/StatusBadge/StatusBadgeTypes.d.ts +0 -5
  274. package/dist/components/StructuredContent/StructuredContentTypes.d.ts +0 -5
  275. package/dist/components/Text/TextTypes.d.ts +0 -6
  276. package/dist/components/TextInput/TextInputTypes.d.ts +0 -25
  277. package/dist/components/Toggle/ToggleTypes.d.ts +0 -4
  278. package/dist/components/VideoPlayer/VideoPlayerTypes.d.ts +0 -9
  279. package/dist/helpers/enums.d.ts +0 -4
  280. package/dist/utils/siteSections.d.ts +0 -2
  281. package/src/components/Accordion/AccordionTypes.tsx +0 -5
  282. package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +0 -8
  283. package/src/components/Button/ButtonTypes.tsx +0 -8
  284. package/src/components/DatePicker/DatePickerTypes.tsx +0 -5
  285. package/src/components/Form/FormTypes.tsx +0 -3
  286. package/src/components/Grid/GridTypes.tsx +0 -9
  287. package/src/components/Heading/HeadingTypes.tsx +0 -15
  288. package/src/components/Hero/HeroTypes.tsx +0 -20
  289. package/src/components/Icons/IconTypes.tsx +0 -83
  290. package/src/components/Image/ImageTypes.ts +0 -24
  291. package/src/components/Link/LinkTypes.tsx +0 -8
  292. package/src/components/List/ListTypes.tsx +0 -5
  293. package/src/components/Logo/LogoTypes.tsx +0 -56
  294. package/src/components/Modal/_Modal.scss +0 -18
  295. package/src/components/Notification/NotificationTypes.tsx +0 -5
  296. package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +0 -8
  297. package/src/components/Select/SelectTypes.tsx +0 -10
  298. package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +0 -5
  299. package/src/components/StatusBadge/StatusBadgeTypes.tsx +0 -5
  300. package/src/components/StructuredContent/StructuredContentTypes.tsx +0 -5
  301. package/src/components/Text/TextTypes.tsx +0 -6
  302. package/src/components/TextInput/TextInputTypes.tsx +0 -48
  303. package/src/components/Toggle/ToggleTypes.tsx +0 -4
  304. package/src/components/VideoPlayer/VideoPlayerTypes.tsx +0 -10
  305. package/src/helpers/enums.ts +0 -4
  306. 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
 
@@ -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
  </>
@@ -2,7 +2,7 @@
2
2
 
3
3
  exports[`Checkbox Renders the UI snapshot correctly 1`] = `
4
4
  <label
5
- className="chakra-checkbox css-1cgy6rg"
5
+ className="chakra-checkbox css-scawxr"
6
6
  onClick={[Function]}
7
7
  >
8
8
  <input
@@ -65,7 +65,7 @@ exports[`Checkbox Renders the UI snapshot correctly 1`] = `
65
65
 
66
66
  exports[`Checkbox Renders the UI snapshot correctly 2`] = `
67
67
  <label
68
- className="chakra-checkbox css-1cgy6rg"
68
+ className="chakra-checkbox css-scawxr"
69
69
  data-checked=""
70
70
  onClick={[Function]}
71
71
  >
@@ -131,7 +131,7 @@ exports[`Checkbox Renders the UI snapshot correctly 2`] = `
131
131
 
132
132
  exports[`Checkbox Renders the UI snapshot correctly 3`] = `
133
133
  <label
134
- className="chakra-checkbox css-1cgy6rg"
134
+ className="chakra-checkbox css-scawxr"
135
135
  data-checked=""
136
136
  onClick={[Function]}
137
137
  >
@@ -219,7 +219,7 @@ exports[`Checkbox Renders the UI snapshot correctly 3`] = `
219
219
 
220
220
  exports[`Checkbox Renders the UI snapshot correctly 4`] = `
221
221
  <label
222
- className="chakra-checkbox css-1cgy6rg"
222
+ className="chakra-checkbox css-scawxr"
223
223
  onClick={[Function]}
224
224
  >
225
225
  <input
@@ -282,7 +282,7 @@ exports[`Checkbox Renders the UI snapshot correctly 4`] = `
282
282
 
283
283
  exports[`Checkbox Renders the UI snapshot correctly 5`] = `
284
284
  <label
285
- className="chakra-checkbox css-1cgy6rg"
285
+ className="chakra-checkbox css-scawxr"
286
286
  data-invalid=""
287
287
  onClick={[Function]}
288
288
  >
@@ -348,7 +348,7 @@ exports[`Checkbox Renders the UI snapshot correctly 5`] = `
348
348
 
349
349
  exports[`Checkbox Renders the UI snapshot correctly 6`] = `
350
350
  <label
351
- className="chakra-checkbox css-1cgy6rg"
351
+ className="chakra-checkbox css-scawxr"
352
352
  data-disabled=""
353
353
  onClick={[Function]}
354
354
  >
@@ -414,7 +414,7 @@ exports[`Checkbox Renders the UI snapshot correctly 6`] = `
414
414
 
415
415
  exports[`Checkbox Renders the UI snapshot correctly 7`] = `
416
416
  <label
417
- className="chakra-checkbox css-1cgy6rg"
417
+ className="chakra-checkbox css-scawxr"
418
418
  onClick={[Function]}
419
419
  >
420
420
  <input
@@ -490,7 +490,7 @@ exports[`Checkbox Renders the UI snapshot correctly 7`] = `
490
490
 
491
491
  exports[`Checkbox Renders the UI snapshot correctly 8`] = `
492
492
  <label
493
- className="chakra-checkbox css-vrx9r6"
493
+ className="chakra-checkbox css-wkfjn4"
494
494
  onClick={[Function]}
495
495
  >
496
496
  <input
@@ -553,7 +553,7 @@ exports[`Checkbox Renders the UI snapshot correctly 8`] = `
553
553
 
554
554
  exports[`Checkbox Renders the UI snapshot correctly 9`] = `
555
555
  <label
556
- className="chakra-checkbox css-1cgy6rg"
556
+ className="chakra-checkbox css-scawxr"
557
557
  data-testid="testid"
558
558
  onClick={[Function]}
559
559
  >
@@ -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>