@nypl/design-system-react-components 0.25.8 → 0.25.11

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 (282) hide show
  1. package/CHANGELOG.md +110 -1
  2. package/README.md +1 -1
  3. package/dist/components/Button/Button.d.ts +6 -6
  4. package/dist/components/Button/ButtonTypes.d.ts +0 -1
  5. package/dist/components/Card/Card.d.ts +6 -4
  6. package/dist/components/Checkbox/Checkbox.d.ts +3 -2
  7. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +3 -2
  8. package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +8 -2
  9. package/dist/components/DatePicker/DatePicker.d.ts +4 -3
  10. package/dist/components/Fieldset/Fieldset.d.ts +1 -3
  11. package/dist/components/Form/Form.d.ts +15 -14
  12. package/dist/components/Form/FormTypes.d.ts +2 -2
  13. package/dist/components/Heading/Heading.d.ts +7 -3
  14. package/dist/components/Heading/HeadingTypes.d.ts +6 -6
  15. package/dist/components/HelperErrorText/HelperErrorText.d.ts +5 -2
  16. package/dist/components/HorizontalRule/HorizontalRule.d.ts +3 -3
  17. package/dist/components/Icons/Icon.d.ts +4 -4
  18. package/dist/components/Icons/IconSvgs.d.ts +0 -21
  19. package/dist/components/Icons/IconTypes.d.ts +0 -23
  20. package/dist/components/Image/Image.d.ts +11 -3
  21. package/dist/components/List/List.d.ts +1 -1
  22. package/dist/components/Logo/Logo.d.ts +28 -0
  23. package/dist/components/Logo/LogoSvgs.d.ts +34 -0
  24. package/dist/components/Logo/LogoTypes.d.ts +46 -0
  25. package/dist/components/Modal/Modal.d.ts +0 -4
  26. package/dist/components/Notification/Notification.d.ts +4 -2
  27. package/dist/components/Placeholder/Placeholder.d.ts +3 -5
  28. package/dist/components/Radio/Radio.d.ts +6 -5
  29. package/dist/components/RadioGroup/RadioGroup.d.ts +6 -5
  30. package/dist/components/SearchBar/SearchBar.d.ts +15 -7
  31. package/dist/components/Select/Select.d.ts +7 -2
  32. package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +8 -4
  33. package/dist/components/Slider/Slider.d.ts +3 -2
  34. package/dist/components/StatusBadge/StatusBadge.d.ts +2 -1
  35. package/dist/components/StructuredContent/StructuredContent.d.ts +41 -0
  36. package/dist/components/StructuredContent/StructuredContentTypes.d.ts +5 -0
  37. package/dist/components/Table/Table.d.ts +29 -0
  38. package/dist/components/Template/Template.d.ts +30 -6
  39. package/dist/components/Text/Text.d.ts +2 -2
  40. package/dist/components/TextInput/TextInput.d.ts +4 -3
  41. package/dist/components/Toggle/Toggle.d.ts +3 -2
  42. package/dist/components/VideoPlayer/VideoPlayer.d.ts +14 -5
  43. package/dist/design-system-react-components.cjs.development.js +6721 -5777
  44. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  45. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  46. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  47. package/dist/design-system-react-components.esm.js +6774 -5839
  48. package/dist/design-system-react-components.esm.js.map +1 -1
  49. package/dist/index.d.ts +10 -8
  50. package/dist/resources.scss +0 -2
  51. package/dist/styles.css +2 -2
  52. package/dist/theme/components/breadcrumb.d.ts +1 -1
  53. package/dist/theme/components/button.d.ts +0 -12
  54. package/dist/theme/components/card.d.ts +14 -2
  55. package/dist/theme/components/customTable.d.ts +56 -0
  56. package/dist/theme/components/fieldset.d.ts +2 -2
  57. package/dist/theme/components/global.d.ts +1 -1
  58. package/dist/theme/components/heading.d.ts +4 -0
  59. package/dist/theme/components/label.d.ts +1 -1
  60. package/dist/theme/components/link.d.ts +14 -1
  61. package/dist/theme/components/list.d.ts +0 -2
  62. package/dist/theme/components/logo.d.ts +4 -0
  63. package/dist/theme/components/notification.d.ts +13 -4
  64. package/dist/theme/components/searchBar.d.ts +9 -11
  65. package/dist/theme/components/select.d.ts +1 -0
  66. package/dist/theme/components/structuredContent.d.ts +33 -0
  67. package/dist/theme/components/template.d.ts +10 -10
  68. package/dist/theme/components/textInput.d.ts +4 -0
  69. package/dist/theme/components/toggle.d.ts +8 -5
  70. package/dist/utils/utils.d.ts +10 -0
  71. package/package.json +40 -37
  72. package/src/__tests__/utils/utils.test.ts +23 -1
  73. package/src/components/Accordion/Accordion.stories.mdx +15 -13
  74. package/src/components/Accordion/Accordion.test.tsx +45 -1
  75. package/src/components/Accordion/Accordion.tsx +20 -8
  76. package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +243 -0
  77. package/src/components/Autosuggest/Autosuggest.stories.mdx +2 -1
  78. package/src/components/Autosuggest/Autosuggest.stories.tsx +24 -48
  79. package/src/components/Autosuggest/_Autosuggest.scss +2 -6
  80. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +43 -13
  81. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +15 -0
  82. package/src/components/Breadcrumbs/Breadcrumbs.tsx +9 -3
  83. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +5 -5
  84. package/src/components/Button/Button.stories.mdx +93 -48
  85. package/src/components/Button/Button.test.tsx +0 -12
  86. package/src/components/Button/Button.tsx +7 -7
  87. package/src/components/Button/ButtonTypes.tsx +0 -1
  88. package/src/components/Button/__snapshots__/Button.test.tsx.snap +0 -12
  89. package/src/components/Card/Card.stories.mdx +186 -71
  90. package/src/components/Card/Card.test.tsx +45 -22
  91. package/src/components/Card/Card.tsx +21 -6
  92. package/src/components/Card/__snapshots__/Card.test.tsx.snap +9 -3
  93. package/src/components/Chakra/Box.stories.mdx +3 -3
  94. package/src/components/Chakra/Center.stories.mdx +5 -5
  95. package/src/components/Chakra/Flex.stories.mdx +113 -0
  96. package/src/components/Chakra/Grid.stories.mdx +3 -3
  97. package/src/components/Chakra/Stack.stories.mdx +2 -2
  98. package/src/components/Checkbox/Checkbox.stories.mdx +37 -15
  99. package/src/components/Checkbox/Checkbox.tsx +13 -8
  100. package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +48 -16
  101. package/src/components/CheckboxGroup/CheckboxGroup.tsx +14 -10
  102. package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +6 -3
  103. package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +151 -0
  104. package/src/components/ComponentWrapper/ComponentWrapper.tsx +36 -23
  105. package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +85 -0
  106. package/src/components/DatePicker/DatePicker.stories.mdx +63 -18
  107. package/src/components/DatePicker/DatePicker.test.tsx +6 -6
  108. package/src/components/DatePicker/DatePicker.tsx +17 -11
  109. package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +50 -24
  110. package/src/components/Fieldset/Fieldset.stories.mdx +20 -9
  111. package/src/components/Fieldset/Fieldset.tsx +2 -4
  112. package/src/components/Form/Form.stories.mdx +75 -49
  113. package/src/components/Form/Form.test.tsx +92 -3
  114. package/src/components/Form/Form.tsx +28 -23
  115. package/src/components/Form/FormTypes.tsx +2 -2
  116. package/src/components/Form/__snapshots__/Form.test.tsx.snap +0 -1
  117. package/src/components/Grid/SimpleGrid.stories.mdx +26 -26
  118. package/src/components/Heading/Heading.stories.mdx +59 -23
  119. package/src/components/Heading/Heading.test.tsx +82 -18
  120. package/src/components/Heading/Heading.tsx +31 -31
  121. package/src/components/Heading/HeadingTypes.tsx +6 -6
  122. package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +71 -0
  123. package/src/components/HelperErrorText/HelperErrorText.stories.mdx +55 -27
  124. package/src/components/HelperErrorText/HelperErrorText.test.tsx +42 -15
  125. package/src/components/HelperErrorText/HelperErrorText.tsx +24 -24
  126. package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +41 -4
  127. package/src/components/Hero/Hero.stories.mdx +72 -53
  128. package/src/components/HorizontalRule/HorizontalRule.stories.mdx +11 -9
  129. package/src/components/HorizontalRule/HorizontalRule.tsx +4 -6
  130. package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +4 -4
  131. package/src/components/Icons/Icon.stories.mdx +78 -77
  132. package/src/components/Icons/Icon.test.tsx +1 -1
  133. package/src/components/Icons/Icon.tsx +5 -6
  134. package/src/components/Icons/IconSvgs.tsx +0 -42
  135. package/src/components/Icons/IconTypes.tsx +0 -24
  136. package/src/components/Image/Image.stories.mdx +66 -18
  137. package/src/components/Image/Image.tsx +21 -10
  138. package/src/components/Label/Label.stories.mdx +20 -19
  139. package/src/components/Link/Link.stories.mdx +102 -51
  140. package/src/components/Link/Link.test.tsx +38 -8
  141. package/src/components/Link/Link.tsx +19 -12
  142. package/src/components/Link/__snapshots__/Link.test.tsx.snap +60 -0
  143. package/src/components/List/List.stories.mdx +60 -29
  144. package/src/components/List/List.test.tsx +1 -1
  145. package/src/components/List/List.tsx +2 -2
  146. package/src/components/List/__snapshots__/List.test.tsx.snap +3 -1
  147. package/src/components/Logo/Logo.stories.mdx +222 -0
  148. package/src/components/Logo/Logo.test.tsx +98 -0
  149. package/src/components/Logo/Logo.tsx +97 -0
  150. package/src/components/Logo/LogoSvgs.tsx +66 -0
  151. package/src/components/Logo/LogoTypes.tsx +48 -0
  152. package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +71 -0
  153. package/src/components/Modal/Modal.stories.mdx +20 -5
  154. package/src/components/Modal/Modal.tsx +2 -8
  155. package/src/components/Notification/Notification.stories.mdx +128 -38
  156. package/src/components/Notification/Notification.test.tsx +49 -1
  157. package/src/components/Notification/Notification.tsx +25 -12
  158. package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +4 -0
  159. package/src/components/Pagination/Pagination.stories.mdx +18 -7
  160. package/src/components/Pagination/Pagination.tsx +3 -3
  161. package/src/components/Placeholder/Placeholder.tsx +7 -14
  162. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +72 -43
  163. package/src/components/Radio/Radio.stories.mdx +39 -19
  164. package/src/components/Radio/Radio.tsx +13 -9
  165. package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +5 -5
  166. package/src/components/RadioGroup/RadioGroup.stories.mdx +50 -16
  167. package/src/components/RadioGroup/RadioGroup.test.tsx +13 -11
  168. package/src/components/RadioGroup/RadioGroup.tsx +97 -94
  169. package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +24 -21
  170. package/src/components/SearchBar/SearchBar.Test.tsx +160 -34
  171. package/src/components/SearchBar/SearchBar.stories.mdx +115 -33
  172. package/src/components/SearchBar/SearchBar.tsx +72 -51
  173. package/src/components/Select/Select.stories.mdx +48 -14
  174. package/src/components/Select/Select.test.tsx +89 -0
  175. package/src/components/Select/Select.tsx +27 -12
  176. package/src/components/Select/__snapshots__/Select.test.tsx.snap +545 -0
  177. package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +50 -16
  178. package/src/components/SkeletonLoader/SkeletonLoader.tsx +8 -4
  179. package/src/components/Slider/Slider.stories.mdx +72 -22
  180. package/src/components/Slider/Slider.tsx +15 -10
  181. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +67 -30
  182. package/src/components/StatusBadge/StatusBadge.stories.mdx +33 -18
  183. package/src/components/StatusBadge/StatusBadge.tsx +2 -1
  184. package/src/components/StructuredContent/StructuredContent.stories.mdx +427 -0
  185. package/src/components/StructuredContent/StructuredContent.test.tsx +376 -0
  186. package/src/components/StructuredContent/StructuredContent.tsx +153 -0
  187. package/src/components/StructuredContent/StructuredContentTypes.tsx +5 -0
  188. package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +283 -0
  189. package/src/components/StyleGuide/Bidirectionality.stories.mdx +32 -83
  190. package/src/components/StyleGuide/Breakpoints.stories.mdx +1 -11
  191. package/src/components/StyleGuide/Buttons.stories.mdx +3 -18
  192. package/src/components/StyleGuide/ColorCard.tsx +1 -2
  193. package/src/components/StyleGuide/Colors.stories.mdx +3 -11
  194. package/src/components/StyleGuide/DesignTokens.stories.mdx +3 -8
  195. package/src/components/StyleGuide/Forms.stories.mdx +2 -10
  196. package/src/components/StyleGuide/Iconography.stories.mdx +8 -34
  197. package/src/components/StyleGuide/Spacing.stories.mdx +3 -14
  198. package/src/components/StyleGuide/Typography.stories.mdx +64 -76
  199. package/src/components/Table/Table.stories.mdx +165 -0
  200. package/src/components/Table/Table.test.tsx +137 -0
  201. package/src/components/Table/Table.tsx +126 -0
  202. package/src/components/Table/__snapshots__/Table.test.tsx.snap +1179 -0
  203. package/src/components/Tabs/Tabs.stories.mdx +20 -14
  204. package/src/components/Tabs/Tabs.test.tsx +21 -5
  205. package/src/components/Tabs/Tabs.tsx +35 -20
  206. package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +195 -0
  207. package/src/components/Template/Template.stories.mdx +132 -48
  208. package/src/components/Template/Template.test.tsx +128 -6
  209. package/src/components/Template/Template.tsx +93 -13
  210. package/src/components/Template/__snapshots__/Template.test.tsx.snap +169 -0
  211. package/src/components/Text/Text.stories.mdx +33 -11
  212. package/src/components/Text/Text.tsx +2 -2
  213. package/src/components/TextInput/TextInput.stories.mdx +84 -17
  214. package/src/components/TextInput/TextInput.test.tsx +96 -0
  215. package/src/components/TextInput/TextInput.tsx +12 -8
  216. package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +240 -0
  217. package/src/components/Toggle/Toggle.stories.mdx +33 -9
  218. package/src/components/Toggle/Toggle.tsx +14 -9
  219. package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +4 -4
  220. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +64 -14
  221. package/src/components/VideoPlayer/VideoPlayer.tsx +17 -7
  222. package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +12 -6
  223. package/src/docs/Chakra.stories.mdx +5 -8
  224. package/src/docs/Intro.stories.mdx +2 -2
  225. package/src/index.ts +13 -6
  226. package/src/styles/base/_03-base.scss +1 -1
  227. package/src/styles/base/_place-holder.scss +7 -7
  228. package/src/styles.scss +1 -5
  229. package/src/theme/components/breadcrumb.ts +4 -4
  230. package/src/theme/components/button.ts +5 -12
  231. package/src/theme/components/card.ts +5 -2
  232. package/src/theme/components/checkbox.ts +1 -1
  233. package/src/theme/components/customTable.ts +63 -0
  234. package/src/theme/components/datePicker.ts +1 -1
  235. package/src/theme/components/global.ts +7 -7
  236. package/src/theme/components/heading.ts +13 -11
  237. package/src/theme/components/helperErrorText.ts +1 -1
  238. package/src/theme/components/image.ts +1 -1
  239. package/src/theme/components/link.ts +17 -5
  240. package/src/theme/components/list.ts +3 -5
  241. package/src/theme/components/logo.ts +54 -0
  242. package/src/theme/components/notification.ts +19 -9
  243. package/src/theme/components/searchBar.ts +11 -13
  244. package/src/theme/components/select.ts +1 -0
  245. package/src/theme/components/statusBadge.ts +1 -1
  246. package/src/theme/components/structuredContent.ts +74 -0
  247. package/src/theme/components/template.ts +10 -10
  248. package/src/theme/components/text.ts +6 -6
  249. package/src/theme/components/textInput.ts +2 -0
  250. package/src/theme/components/toggle.ts +10 -6
  251. package/src/theme/components/videoPlayer.ts +0 -2
  252. package/src/theme/foundations/global.ts +2 -2
  253. package/src/theme/foundations/typography.ts +84 -12
  254. package/src/theme/index.ts +6 -0
  255. package/src/utils/componentCategories.ts +2 -1
  256. package/src/utils/utils.ts +17 -0
  257. package/dist/__tests__/utils/bem.test.d.ts +0 -1
  258. package/dist/components/CardEdition/CardEdition.d.ts +0 -21
  259. package/dist/components/CardEdition/CardEdition.stories.d.ts +0 -27
  260. package/dist/components/Input/Input.d.ts +0 -36
  261. package/dist/components/Input/Input.stories.d.ts +0 -29
  262. package/dist/components/Input/InputTypes.d.ts +0 -6
  263. package/dist/components/StyleGuide/UIDocCard.d.ts +0 -11
  264. package/dist/helpers/CSSVariablesHelper.d.ts +0 -3
  265. package/dist/helpers/getCSSVariable.d.ts +0 -1
  266. package/dist/interfaces.d.ts +0 -3
  267. package/dist/utils/bem.d.ts +0 -1
  268. package/src/__tests__/utils/bem.test.ts +0 -37
  269. package/src/components/CardEdition/CardEdition.stories.tsx +0 -122
  270. package/src/components/CardEdition/CardEdition.test.tsx +0 -395
  271. package/src/components/CardEdition/CardEdition.tsx +0 -60
  272. package/src/components/CardEdition/_CardEdition.scss +0 -137
  273. package/src/components/Input/Input.stories.tsx +0 -133
  274. package/src/components/Input/Input.test.tsx +0 -266
  275. package/src/components/Input/Input.tsx +0 -81
  276. package/src/components/Input/InputTypes.tsx +0 -8
  277. package/src/components/Input/_Input.scss +0 -78
  278. package/src/components/StyleGuide/UIDocCard.tsx +0 -36
  279. package/src/helpers/CSSVariablesHelper.tsx +0 -34
  280. package/src/helpers/getCSSVariable.tsx +0 -5
  281. package/src/interfaces.ts +0 -3
  282. package/src/utils/bem.ts +0 -44
@@ -1,17 +1,17 @@
1
1
  import {
2
- Meta,
3
- Story,
4
- Canvas,
5
2
  ArgsTable,
3
+ Canvas,
6
4
  Description,
7
- } from "@storybook/addon-docs/blocks";
5
+ Meta,
6
+ Story,
7
+ } from "@storybook/addon-docs";
8
8
  import { withDesign } from "storybook-addon-designs";
9
9
 
10
- import Slider from "./Slider";
11
- import SimpleGrid from "../Grid/SimpleGrid";
12
- import { GridGaps } from "../Grid/GridTypes";
13
10
  import Heading from "../Heading/Heading";
14
11
  import { HeadingLevels } from "../Heading/HeadingTypes";
12
+ import { GridGaps } from "../Grid/GridTypes";
13
+ import SimpleGrid from "../Grid/SimpleGrid";
14
+ import Slider from "./Slider";
15
15
  import { getCategory } from "../../utils/componentCategories";
16
16
  import DSProvider from "../../theme/provider";
17
17
 
@@ -22,16 +22,52 @@ import DSProvider from "../../theme/provider";
22
22
  parameters={{
23
23
  design: {
24
24
  type: "figma",
25
- url:
26
- "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=36889%3A25871",
25
+ url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=36889%3A25871",
27
26
  },
28
27
  jest: ["Slider.test.tsx"],
29
28
  }}
30
29
  argTypes={{
31
- className: { table: { disable: true } },
32
- id: { table: { disable: true } },
33
- name: { table: { disable: true } },
34
- onChange: { table: { disable: true } },
30
+ className: { control: false },
31
+ defaultValue: {
32
+ control: false,
33
+ table: { defaultValue: { summary: 0 } },
34
+ },
35
+ id: { control: false },
36
+ isDisabled: {
37
+ table: { defaultValue: { summary: false } },
38
+ },
39
+ isInvalid: {
40
+ table: { defaultValue: { summary: false } },
41
+ },
42
+ isRequired: {
43
+ table: { defaultValue: { summary: false } },
44
+ },
45
+ max: {
46
+ table: { defaultValue: { summary: 100 } },
47
+ },
48
+ min: {
49
+ table: { defaultValue: { summary: 0 } },
50
+ },
51
+ name: { control: false },
52
+ onChange: { control: false },
53
+ optReqFlag: {
54
+ table: { defaultValue: { summary: true } },
55
+ },
56
+ showBoxes: {
57
+ table: { defaultValue: { summary: true } },
58
+ },
59
+ showHelperInvalidText: {
60
+ table: { defaultValue: { summary: true } },
61
+ },
62
+ showLabel: {
63
+ table: { defaultValue: { summary: true } },
64
+ },
65
+ showValues: {
66
+ table: { defaultValue: { summary: true } },
67
+ },
68
+ step: {
69
+ table: { defaultValue: { summary: 1 } },
70
+ },
35
71
  }}
36
72
  />
37
73
 
@@ -40,7 +76,7 @@ import DSProvider from "../../theme/provider";
40
76
  | Component Version | DS Version |
41
77
  | ----------------- | ---------- |
42
78
  | Added | `0.25.4` |
43
- | Latest | `0.25.8` |
79
+ | Latest | `0.25.10` |
44
80
 
45
81
  <Description of={Slider} />
46
82
 
@@ -49,10 +85,12 @@ For this type of component, the `value` prop must be a single number.
49
85
 
50
86
  <Canvas withToolbar>
51
87
  <Story
52
- name="Slider with Props"
88
+ name="Slider with Controls"
53
89
  args={{
90
+ className: undefined,
54
91
  defaultValue: 50,
55
92
  helperText: "Pass in a value from the min 0 to the max 100 values.",
93
+ id: "slider-id",
56
94
  invalidText: "Oh no this is an error :(",
57
95
  isDisabled: false,
58
96
  isInvalid: false,
@@ -61,6 +99,8 @@ For this type of component, the `value` prop must be a single number.
61
99
  labelText: "Slider label",
62
100
  max: 100,
63
101
  min: 0,
102
+ name: undefined,
103
+ onChange: undefined,
64
104
  optReqFlag: true,
65
105
  showBoxes: true,
66
106
  showHelperInvalidText: true,
@@ -69,15 +109,19 @@ For this type of component, the `value` prop must be a single number.
69
109
  step: 1,
70
110
  }}
71
111
  argTypes={{
72
- defaultValue: { table: { disable: true } },
73
- isRangeSlider: { table: { disable: true } },
112
+ isRangeSlider: {
113
+ control: false,
114
+ table: {
115
+ defaultValue: { summary: false },
116
+ },
117
+ },
74
118
  }}
75
119
  >
76
120
  {(args) => <Slider {...args} />}
77
121
  </Story>
78
122
  </Canvas>
79
123
 
80
- <ArgsTable story="Slider with Props" />
124
+ <ArgsTable story="Slider with Controls" />
81
125
 
82
126
  ### Accessibility
83
127
 
@@ -101,8 +145,10 @@ numbers. This signifies the starting and ending values of the range slider.
101
145
  <Story
102
146
  name="Range Slider with Props"
103
147
  args={{
148
+ className: undefined,
104
149
  defaultValue: [25, 75],
105
150
  helperText: "Pass in a value from the min 0 to the max 100 values.",
151
+ id: "slider-range-id",
106
152
  invalidText: "Oh no this is an error :(",
107
153
  isDisabled: false,
108
154
  isInvalid: false,
@@ -111,6 +157,8 @@ numbers. This signifies the starting and ending values of the range slider.
111
157
  labelText: "Range Slider label",
112
158
  max: 100,
113
159
  min: 0,
160
+ name: undefined,
161
+ onChange: undefined,
114
162
  optReqFlag: true,
115
163
  showBoxes: true,
116
164
  showHelperInvalidText: true,
@@ -119,16 +167,18 @@ numbers. This signifies the starting and ending values of the range slider.
119
167
  step: 1,
120
168
  }}
121
169
  argTypes={{
122
- defaultValue: { table: { disable: true } },
123
- isRangeSlider: { table: { disable: true } },
170
+ isRangeSlider: {
171
+ control: false,
172
+ table: {
173
+ defaultValue: { summary: false },
174
+ },
175
+ },
124
176
  }}
125
177
  >
126
178
  {(args) => <Slider {...args} />}
127
179
  </Story>
128
180
  </Canvas>
129
181
 
130
- <ArgsTable story="Range Slider with Props" />
131
-
132
182
  ### Accessibility
133
183
 
134
184
  Chakra's `RangeSlider` component is accessible and, as recommended, we pass in
@@ -14,7 +14,9 @@ import {
14
14
 
15
15
  import generateUUID from "../../helpers/generateUUID";
16
16
  import Label from "../Label/Label";
17
- import HelperErrorText from "../HelperErrorText/HelperErrorText";
17
+ import HelperErrorText, {
18
+ HelperErrorTextType,
19
+ } from "../HelperErrorText/HelperErrorText";
18
20
  import TextInput from "../TextInput/TextInput";
19
21
  import { TextInputTypes } from "../TextInput/TextInputTypes";
20
22
 
@@ -26,12 +28,12 @@ export interface SliderProps {
26
28
  */
27
29
  defaultValue?: number | number[];
28
30
  /** Optional string to populate the HelperErrorText for standard state */
29
- helperText?: string;
31
+ helperText?: HelperErrorTextType;
30
32
  /** ID that other components can cross reference for accessibility purposes. */
31
33
  id?: string;
32
34
  /** Optional string to populate the `HelperErrorText` for the error state
33
35
  * when `isInvalid` is true. */
34
- invalidText?: string;
36
+ invalidText?: HelperErrorTextType;
35
37
  /** Adds the 'disabled' state to the slider and text input(s) when true. */
36
38
  isDisabled?: boolean;
37
39
  /** Adds the 'invalid' state to the slider and text input(s) when true. */
@@ -103,9 +105,8 @@ export default function Slider(props: React.PropsWithChildren<SliderProps>) {
103
105
  typeof defaultValue === "number" ? [min, max] : defaultValue;
104
106
  // We need to set the default value correctly for both types of sliders.
105
107
  const finalDevaultValue = isRangeSlider ? rangeSliderDefault : defaultValue;
106
- const [currentValue, setCurrentValue] = React.useState<typeof defaultValue>(
107
- finalDevaultValue
108
- );
108
+ const [currentValue, setCurrentValue] =
109
+ React.useState<typeof defaultValue>(finalDevaultValue);
109
110
  let finalIsInvalid = isInvalid;
110
111
  // In the Range Slider, if the first value is bigger than the second value,
111
112
  // then set the invalid state.
@@ -113,7 +114,9 @@ export default function Slider(props: React.PropsWithChildren<SliderProps>) {
113
114
  finalIsInvalid = true;
114
115
  }
115
116
  const optReqText = isRequired ? "Required" : "Optional";
116
- const footnote = finalIsInvalid ? invalidText : helperText;
117
+ const footnote: HelperErrorTextType = finalIsInvalid
118
+ ? invalidText
119
+ : helperText;
117
120
  const styles = useMultiStyleConfig("CustomSlider", {
118
121
  isDisabled,
119
122
  isInvalid: finalIsInvalid,
@@ -299,9 +302,11 @@ export default function Slider(props: React.PropsWithChildren<SliderProps>) {
299
302
 
300
303
  {footnote && showHelperInvalidText && (
301
304
  <Box __css={styles.helper}>
302
- <HelperErrorText id={`${id}-helperText`} isInvalid={finalIsInvalid}>
303
- {footnote}
304
- </HelperErrorText>
305
+ <HelperErrorText
306
+ id={`${id}-helperText`}
307
+ isInvalid={finalIsInvalid}
308
+ text={footnote}
309
+ />
305
310
  </Box>
306
311
  )}
307
312
  </Box>
@@ -61,6 +61,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 1`] = `
61
61
  >
62
62
  <div
63
63
  className="chakra-slider__track css-0"
64
+ data-testid="chakra-range-slider-track"
64
65
  id="slider-track-defaultRangeSlider"
65
66
  style={
66
67
  Object {
@@ -168,11 +169,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 1`] = `
168
169
  aria-atomic={true}
169
170
  aria-live="off"
170
171
  className=" css-0"
172
+ dangerouslySetInnerHTML={
173
+ Object {
174
+ "__html": "Component helper text.",
175
+ }
176
+ }
171
177
  data-isinvalid={false}
172
178
  id="defaultRangeSlider-helperText"
173
- >
174
- Component helper text.
175
- </div>
179
+ />
176
180
  </div>
177
181
  </div>
178
182
  `;
@@ -239,6 +243,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 2`] = `
239
243
  >
240
244
  <div
241
245
  className="chakra-slider__track css-0"
246
+ data-testid="chakra-range-slider-track"
242
247
  id="slider-track-errored"
243
248
  style={
244
249
  Object {
@@ -347,11 +352,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 2`] = `
347
352
  aria-atomic={true}
348
353
  aria-live="polite"
349
354
  className=" css-0"
355
+ dangerouslySetInnerHTML={
356
+ Object {
357
+ "__html": "Component error text :(",
358
+ }
359
+ }
350
360
  data-isinvalid={true}
351
361
  id="errored-helperText"
352
- >
353
- Component error text :(
354
- </div>
362
+ />
355
363
  </div>
356
364
  </div>
357
365
  `;
@@ -418,6 +426,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 3`] = `
418
426
  >
419
427
  <div
420
428
  className="chakra-slider__track css-0"
429
+ data-testid="chakra-range-slider-track"
421
430
  id="slider-track-required"
422
431
  style={
423
432
  Object {
@@ -526,11 +535,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 3`] = `
526
535
  aria-atomic={true}
527
536
  aria-live="off"
528
537
  className=" css-0"
538
+ dangerouslySetInnerHTML={
539
+ Object {
540
+ "__html": "Component helper text.",
541
+ }
542
+ }
529
543
  data-isinvalid={false}
530
544
  id="required-helperText"
531
- >
532
- Component helper text.
533
- </div>
545
+ />
534
546
  </div>
535
547
  </div>
536
548
  `;
@@ -598,6 +610,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 4`] = `
598
610
  <div
599
611
  className="chakra-slider__track css-0"
600
612
  data-disabled=""
613
+ data-testid="chakra-range-slider-track"
601
614
  id="slider-track-disabled"
602
615
  style={
603
616
  Object {
@@ -705,11 +718,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 4`] = `
705
718
  aria-atomic={true}
706
719
  aria-live="off"
707
720
  className=" css-0"
721
+ dangerouslySetInnerHTML={
722
+ Object {
723
+ "__html": "Component helper text.",
724
+ }
725
+ }
708
726
  data-isinvalid={false}
709
727
  id="disabled-helperText"
710
- >
711
- Component helper text.
712
- </div>
728
+ />
713
729
  </div>
714
730
  </div>
715
731
  `;
@@ -763,6 +779,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 5`] = `
763
779
  >
764
780
  <div
765
781
  className="chakra-slider__track css-0"
782
+ data-testid="chakra-range-slider-track"
766
783
  id="slider-track-noLabels"
767
784
  style={
768
785
  Object {
@@ -903,6 +920,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 6`] = `
903
920
  >
904
921
  <div
905
922
  className="chakra-slider__track css-0"
923
+ data-testid="chakra-range-slider-track"
906
924
  id="slider-track-noVisibleValues"
907
925
  style={
908
926
  Object {
@@ -986,11 +1004,14 @@ exports[`Slider Range Slider renders the UI snapshot correctly 6`] = `
986
1004
  aria-atomic={true}
987
1005
  aria-live="off"
988
1006
  className=" css-0"
1007
+ dangerouslySetInnerHTML={
1008
+ Object {
1009
+ "__html": "Component helper text.",
1010
+ }
1011
+ }
989
1012
  data-isinvalid={false}
990
1013
  id="noVisibleValues-helperText"
991
- >
992
- Component helper text.
993
- </div>
1014
+ />
994
1015
  </div>
995
1016
  </div>
996
1017
  `;
@@ -1020,6 +1041,7 @@ exports[`Slider Range Slider renders the UI snapshot correctly 7`] = `
1020
1041
  >
1021
1042
  <div
1022
1043
  className="chakra-slider__track css-0"
1044
+ data-testid="chakra-range-slider-track"
1023
1045
  id="slider-track-onlySlider"
1024
1046
  style={
1025
1047
  Object {
@@ -1226,11 +1248,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 1`] = `
1226
1248
  aria-atomic={true}
1227
1249
  aria-live="off"
1228
1250
  className=" css-0"
1251
+ dangerouslySetInnerHTML={
1252
+ Object {
1253
+ "__html": "Component helper text.",
1254
+ }
1255
+ }
1229
1256
  data-isinvalid={false}
1230
1257
  id="defaultSlider-helperText"
1231
- >
1232
- Component helper text.
1233
- </div>
1258
+ />
1234
1259
  </div>
1235
1260
  </div>
1236
1261
  `;
@@ -1363,11 +1388,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 2`] = `
1363
1388
  aria-atomic={true}
1364
1389
  aria-live="polite"
1365
1390
  className=" css-0"
1391
+ dangerouslySetInnerHTML={
1392
+ Object {
1393
+ "__html": "Component error text :(",
1394
+ }
1395
+ }
1366
1396
  data-isinvalid={true}
1367
1397
  id="errored-helperText"
1368
- >
1369
- Component error text :(
1370
- </div>
1398
+ />
1371
1399
  </div>
1372
1400
  </div>
1373
1401
  `;
@@ -1500,11 +1528,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 3`] = `
1500
1528
  aria-atomic={true}
1501
1529
  aria-live="off"
1502
1530
  className=" css-0"
1531
+ dangerouslySetInnerHTML={
1532
+ Object {
1533
+ "__html": "Component helper text.",
1534
+ }
1535
+ }
1503
1536
  data-isinvalid={false}
1504
1537
  id="required-helperText"
1505
- >
1506
- Component helper text.
1507
- </div>
1538
+ />
1508
1539
  </div>
1509
1540
  </div>
1510
1541
  `;
@@ -1638,11 +1669,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 4`] = `
1638
1669
  aria-atomic={true}
1639
1670
  aria-live="off"
1640
1671
  className=" css-0"
1672
+ dangerouslySetInnerHTML={
1673
+ Object {
1674
+ "__html": "Component helper text.",
1675
+ }
1676
+ }
1641
1677
  data-isinvalid={false}
1642
1678
  id="disabled-helperText"
1643
- >
1644
- Component helper text.
1645
- </div>
1679
+ />
1646
1680
  </div>
1647
1681
  </div>
1648
1682
  `;
@@ -1855,11 +1889,14 @@ exports[`Slider Single Slider renders the UI snapshot correctly 6`] = `
1855
1889
  aria-atomic={true}
1856
1890
  aria-live="off"
1857
1891
  className=" css-0"
1892
+ dangerouslySetInnerHTML={
1893
+ Object {
1894
+ "__html": "Component helper text.",
1895
+ }
1896
+ }
1858
1897
  data-isinvalid={false}
1859
1898
  id="noVisibleValues-helperText"
1860
- >
1861
- Component helper text.
1862
- </div>
1899
+ />
1863
1900
  </div>
1864
1901
  </div>
1865
1902
  `;
@@ -1,18 +1,23 @@
1
+ import { VStack } from "@chakra-ui/react";
1
2
  import {
2
- Meta,
3
- Story,
4
- Canvas,
5
3
  ArgsTable,
4
+ Canvas,
6
5
  Description,
7
- } from "@storybook/addon-docs/blocks";
6
+ Meta,
7
+ Story,
8
+ } from "@storybook/addon-docs";
8
9
  import { withDesign } from "storybook-addon-designs";
9
- import { VStack } from "@chakra-ui/react";
10
10
 
11
11
  import StatusBadge from "./StatusBadge";
12
12
  import { StatusBadgeTypes } from "./StatusBadgeTypes";
13
- import getCSSVariable from "../../helpers/getCSSVariable";
14
13
  import { getCategory } from "../../utils/componentCategories";
15
14
  import DSProvider from "../../theme/provider";
15
+ import { getStorybookEnumValues } from "../../utils/utils";
16
+
17
+ export const enumValues = getStorybookEnumValues(
18
+ StatusBadgeTypes,
19
+ "StatusBadgeTypes"
20
+ );
16
21
 
17
22
  <Meta
18
23
  title={getCategory("StatusBadge")}
@@ -21,19 +26,20 @@ import DSProvider from "../../theme/provider";
21
26
  parameters={{
22
27
  design: {
23
28
  type: "figma",
24
- url:
25
- "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=11256%3A0",
29
+ url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=11256%3A0",
26
30
  },
27
31
  jest: ["StatusBadge.test.tsx"],
28
32
  }}
29
33
  argTypes={{
30
- className: { table: { disable: true } },
31
- id: { table: { disable: true } },
34
+ className: { control: false },
35
+ id: { control: false },
32
36
  level: {
33
- control: {
34
- type: "select",
35
- },
36
- options: Object.values(StatusBadgeTypes).map((value) => value),
37
+ control: { type: "select" },
38
+ table: { defaultValue: { summary: "StatusBadgeTypes.Low" } },
39
+ options: enumValues.options,
40
+ },
41
+ text: {
42
+ description: "Only used for Storybook",
37
43
  },
38
44
  }}
39
45
  />
@@ -49,14 +55,23 @@ import DSProvider from "../../theme/provider";
49
55
 
50
56
  <Canvas withToolbar>
51
57
  <Story
52
- name="Basic with props"
53
- args={{ level: StatusBadgeTypes.Low, text: "Registration Required" }}
58
+ name="StatusBadge"
59
+ args={{
60
+ className: undefined,
61
+ id: "statusBadge-id",
62
+ level: "StatusBadgeTypes.Low",
63
+ text: "Registration Required",
64
+ }}
54
65
  >
55
- {(args) => <StatusBadge {...args}>{args.text}</StatusBadge>}
66
+ {(args) => (
67
+ <StatusBadge level={enumValues.getValue(args.level)}>
68
+ {args.text}
69
+ </StatusBadge>
70
+ )}
56
71
  </Story>
57
72
  </Canvas>
58
73
 
59
- <ArgsTable story="Basic with props" />
74
+ <ArgsTable story="StatusBadge" />
60
75
 
61
76
  ## Patterns
62
77
 
@@ -9,7 +9,8 @@ export interface StatusBadgeProps {
9
9
  className?: string;
10
10
  /** ID that other components can cross reference for accessibility purposes */
11
11
  id?: string;
12
- /** Level of the status badge through StatusBadgeTypes. */
12
+ /** Level of the status badge through StatusBadgeTypes. Defaults to
13
+ * `StatusBadgeTypes.Low`. */
13
14
  level?: StatusBadgeTypes;
14
15
  }
15
16