@nypl/design-system-react-components 0.25.1 → 0.25.5

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 +118 -1
  2. package/README.md +98 -50
  3. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -0
  4. package/dist/components/Button/Button.d.ts +13 -8
  5. package/dist/components/Button/ButtonTypes.d.ts +2 -1
  6. package/dist/components/Card/Card.d.ts +36 -52
  7. package/dist/components/Card/CardTypes.d.ts +0 -15
  8. package/dist/components/Checkbox/Checkbox.d.ts +17 -13
  9. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +4 -2
  10. package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +15 -0
  11. package/dist/components/DatePicker/DatePicker.d.ts +36 -34
  12. package/dist/components/Fieldset/Fieldset.d.ts +25 -0
  13. package/dist/components/Heading/Heading.d.ts +4 -4
  14. package/dist/components/HelperErrorText/HelperErrorText.d.ts +17 -14
  15. package/dist/components/HorizontalRule/HorizontalRule.d.ts +10 -9
  16. package/dist/components/Icons/Icon.d.ts +8 -0
  17. package/dist/components/Icons/IconSvgs.d.ts +11 -0
  18. package/dist/components/Icons/IconTypes.d.ts +11 -0
  19. package/dist/components/Image/Image.d.ts +19 -9
  20. package/dist/components/Image/ImageTypes.d.ts +20 -0
  21. package/dist/components/Link/Link.d.ts +4 -0
  22. package/dist/components/List/List.d.ts +19 -14
  23. package/dist/components/Notification/Notification.d.ts +37 -16
  24. package/dist/components/Pagination/Pagination.d.ts +16 -13
  25. package/dist/components/Pagination/Pagination.stories.d.ts +2 -0
  26. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +29 -0
  27. package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +8 -0
  28. package/dist/components/Radio/Radio.d.ts +2 -0
  29. package/dist/components/RadioGroup/RadioGroup.d.ts +4 -2
  30. package/dist/components/SearchBar/SearchBar.d.ts +3 -3
  31. package/dist/components/Select/Select.d.ts +2 -0
  32. package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +18 -14
  33. package/dist/components/Slider/Slider.d.ts +57 -0
  34. package/dist/components/StyleGuide/ColorCard.d.ts +12 -0
  35. package/dist/components/Tabs/Tabs.d.ts +1 -1
  36. package/dist/components/TextInput/TextInput.d.ts +12 -0
  37. package/dist/components/VideoPlayer/VideoPlayer.d.ts +6 -8
  38. package/dist/components/VideoPlayer/VideoPlayerTypes.d.ts +2 -2
  39. package/dist/design-system-react-components.cjs.development.js +6131 -3715
  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 +6124 -3699
  44. package/dist/design-system-react-components.esm.js.map +1 -1
  45. package/dist/hooks/tests/useCarouselStyles.test.d.ts +1 -0
  46. package/dist/hooks/useCarouselStyles.d.ts +16 -0
  47. package/dist/hooks/useNYPLTheme.d.ts +54 -0
  48. package/dist/hooks/useWindowSize.d.ts +10 -0
  49. package/dist/index.d.ts +13 -8
  50. package/dist/resources.scss +180 -170
  51. package/dist/styles.css +1 -1
  52. package/dist/theme/components/button.d.ts +22 -8
  53. package/dist/theme/components/card.d.ts +168 -0
  54. package/dist/theme/components/checkbox.d.ts +5 -1
  55. package/dist/theme/components/checkboxGroup.d.ts +12 -0
  56. package/dist/theme/components/componentWrapper.d.ts +11 -0
  57. package/dist/theme/components/datePicker.d.ts +16 -0
  58. package/dist/theme/components/fieldset.d.ts +27 -0
  59. package/dist/theme/components/global.d.ts +23 -13
  60. package/dist/theme/components/globalMixins.d.ts +9 -1
  61. package/dist/theme/components/heading.d.ts +5 -0
  62. package/dist/theme/components/helperErrorText.d.ts +10 -0
  63. package/dist/theme/components/hero.d.ts +1 -0
  64. package/dist/theme/components/horizontalRule.d.ts +14 -0
  65. package/dist/theme/components/image.d.ts +31 -0
  66. package/dist/theme/components/label.d.ts +5 -3
  67. package/dist/theme/components/link.d.ts +4 -0
  68. package/dist/theme/components/list.d.ts +89 -0
  69. package/dist/theme/components/notification.d.ts +75 -0
  70. package/dist/theme/components/pagination.d.ts +19 -0
  71. package/dist/theme/components/progressIndicator.d.ts +50 -0
  72. package/dist/theme/components/radioGroup.d.ts +12 -0
  73. package/dist/theme/components/select.d.ts +11 -2
  74. package/dist/theme/components/skeletonLoader.d.ts +98 -0
  75. package/dist/theme/components/slider.d.ts +51 -0
  76. package/dist/theme/components/tabs.d.ts +54 -3
  77. package/dist/theme/components/textInput.d.ts +8 -1
  78. package/dist/theme/components/videoPlayer.d.ts +40 -0
  79. package/dist/theme/foundations/breakpoints.d.ts +8 -8
  80. package/dist/theme/foundations/global.d.ts +6 -1
  81. package/dist/theme/foundations/radii.d.ts +5 -0
  82. package/dist/theme/foundations/spacing.d.ts +16 -16
  83. package/package.json +72 -83
  84. package/src/__tests__/setup.ts +2 -2
  85. package/src/components/Accordion/Accordion.stories.mdx +39 -44
  86. package/src/components/Autosuggest/Autosuggest.stories.mdx +3 -3
  87. package/src/components/Autosuggest/Autosuggest.stories.tsx +2 -1
  88. package/src/components/Autosuggest/_Autosuggest.scss +5 -5
  89. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +14 -10
  90. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +23 -0
  91. package/src/components/Breadcrumbs/Breadcrumbs.tsx +5 -1
  92. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +199 -1
  93. package/src/components/Button/Button.stories.mdx +15 -10
  94. package/src/components/Button/Button.test.tsx +21 -7
  95. package/src/components/Button/Button.tsx +22 -34
  96. package/src/components/Button/ButtonTypes.tsx +1 -0
  97. package/src/components/Button/__snapshots__/Button.test.tsx.snap +41 -10
  98. package/src/components/Card/Card.stories.mdx +296 -259
  99. package/src/components/Card/Card.test.tsx +156 -84
  100. package/src/components/Card/Card.tsx +195 -145
  101. package/src/components/Card/CardTypes.tsx +0 -17
  102. package/src/components/Card/__snapshots__/Card.test.tsx.snap +410 -0
  103. package/src/components/CardEdition/CardEdition.stories.tsx +15 -47
  104. package/src/components/CardEdition/_CardEdition.scss +22 -23
  105. package/src/components/Chakra/Box.stories.mdx +15 -16
  106. package/src/components/Chakra/Center.stories.mdx +31 -16
  107. package/src/components/Chakra/Grid.stories.mdx +28 -15
  108. package/src/components/Chakra/Stack.stories.mdx +35 -18
  109. package/src/components/Checkbox/Checkbox.stories.mdx +33 -11
  110. package/src/components/Checkbox/Checkbox.test.tsx +47 -2
  111. package/src/components/Checkbox/Checkbox.tsx +39 -33
  112. package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +90 -2
  113. package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +82 -2
  114. package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +29 -2
  115. package/src/components/CheckboxGroup/CheckboxGroup.tsx +22 -18
  116. package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +47 -81
  117. package/src/components/ComponentWrapper/ComponentWrapper.tsx +63 -0
  118. package/src/components/DatePicker/DatePicker.stories.mdx +163 -62
  119. package/src/components/DatePicker/DatePicker.test.tsx +264 -64
  120. package/src/components/DatePicker/DatePicker.tsx +159 -128
  121. package/src/components/DatePicker/_DatePicker.scss +33 -67
  122. package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +818 -0
  123. package/src/components/Fieldset/Fieldset.stories.mdx +55 -0
  124. package/src/components/Fieldset/Fieldset.test.tsx +125 -0
  125. package/src/components/Fieldset/Fieldset.tsx +52 -0
  126. package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +68 -0
  127. package/src/components/Form/Form.stories.mdx +24 -6
  128. package/src/components/Form/Form.test.tsx +1 -1
  129. package/src/components/Form/Form.tsx +1 -0
  130. package/src/components/Grid/SimpleGrid.stories.mdx +32 -39
  131. package/src/components/Grid/SimpleGrid.test.tsx +4 -4
  132. package/src/components/Heading/Heading.stories.mdx +3 -4
  133. package/src/components/Heading/Heading.tsx +5 -5
  134. package/src/components/HelperErrorText/HelperErrorText.stories.mdx +124 -0
  135. package/src/components/HelperErrorText/HelperErrorText.test.tsx +39 -44
  136. package/src/components/HelperErrorText/HelperErrorText.tsx +37 -39
  137. package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +25 -0
  138. package/src/components/Hero/Hero.stories.mdx +12 -2
  139. package/src/components/Hero/Hero.tsx +1 -1
  140. package/src/components/Hero/HeroTypes.tsx +1 -0
  141. package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +7 -7
  142. package/src/components/HorizontalRule/HorizontalRule.stories.mdx +8 -6
  143. package/src/components/HorizontalRule/HorizontalRule.test.tsx +33 -28
  144. package/src/components/HorizontalRule/HorizontalRule.tsx +27 -29
  145. package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +27 -9
  146. package/src/components/Icons/Icon.stories.mdx +12 -4
  147. package/src/components/Icons/Icon.test.tsx +18 -0
  148. package/src/components/Icons/Icon.tsx +16 -1
  149. package/src/components/Icons/IconSvgs.tsx +22 -0
  150. package/src/components/Icons/IconTypes.tsx +11 -0
  151. package/src/components/Image/Image.stories.mdx +220 -0
  152. package/src/components/Image/Image.test.tsx +131 -29
  153. package/src/components/Image/Image.tsx +84 -56
  154. package/src/components/Image/ImageTypes.ts +22 -0
  155. package/src/components/Image/__snapshots__/Image.test.tsx.snap +190 -0
  156. package/src/components/Input/Input.stories.tsx +23 -67
  157. package/src/components/Input/Input.test.tsx +4 -4
  158. package/src/components/Input/_Input.scss +23 -14
  159. package/src/components/Link/Link.tsx +4 -1
  160. package/src/components/List/List.stories.mdx +124 -49
  161. package/src/components/List/List.test.tsx +142 -63
  162. package/src/components/List/List.tsx +89 -93
  163. package/src/components/List/__snapshots__/List.test.tsx.snap +109 -0
  164. package/src/components/Modal/Modal.stories.mdx +3 -3
  165. package/src/components/Modal/_Modal.scss +2 -2
  166. package/src/components/Notification/Notification.stories.mdx +109 -112
  167. package/src/components/Notification/Notification.test.tsx +99 -110
  168. package/src/components/Notification/Notification.tsx +156 -159
  169. package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +159 -8
  170. package/src/components/Pagination/Pagination.stories.mdx +26 -27
  171. package/src/components/Pagination/Pagination.stories.tsx +11 -16
  172. package/src/components/Pagination/Pagination.test.tsx +276 -146
  173. package/src/components/Pagination/Pagination.tsx +174 -154
  174. package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +285 -0
  175. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +292 -0
  176. package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +225 -0
  177. package/src/components/ProgressIndicator/ProgressIndicator.tsx +126 -0
  178. package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +8 -0
  179. package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +357 -0
  180. package/src/components/Radio/Radio.test.tsx +20 -4
  181. package/src/components/Radio/Radio.tsx +6 -3
  182. package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +3 -0
  183. package/src/components/RadioGroup/RadioGroup.stories.mdx +3 -4
  184. package/src/components/RadioGroup/RadioGroup.test.tsx +24 -1
  185. package/src/components/RadioGroup/RadioGroup.tsx +19 -19
  186. package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +42 -72
  187. package/src/components/SearchBar/SearchBar.Test.tsx +20 -1
  188. package/src/components/SearchBar/SearchBar.stories.mdx +113 -8
  189. package/src/components/SearchBar/SearchBar.tsx +20 -10
  190. package/src/components/Select/Select.test.tsx +12 -0
  191. package/src/components/Select/Select.tsx +5 -2
  192. package/src/components/Select/SelectTypes.tsx +1 -0
  193. package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +28 -59
  194. package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +97 -177
  195. package/src/components/SkeletonLoader/SkeletonLoader.tsx +74 -71
  196. package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +739 -0
  197. package/src/components/Slider/Slider.stories.mdx +529 -0
  198. package/src/components/Slider/Slider.test.tsx +653 -0
  199. package/src/components/Slider/Slider.tsx +303 -0
  200. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +1946 -0
  201. package/src/components/StyleGuide/Bidirectionality.stories.mdx +1 -1
  202. package/src/components/StyleGuide/Breakpoints.stories.mdx +34 -10
  203. package/src/components/StyleGuide/Buttons.stories.mdx +89 -73
  204. package/src/components/StyleGuide/ColorCard.tsx +46 -0
  205. package/src/components/StyleGuide/Colors.stories.mdx +171 -311
  206. package/src/components/StyleGuide/DesignTokens.stories.mdx +170 -0
  207. package/src/components/StyleGuide/Forms.stories.mdx +9 -7
  208. package/src/components/StyleGuide/Iconography.stories.mdx +85 -91
  209. package/src/components/StyleGuide/Spacing.stories.mdx +31 -23
  210. package/src/components/StyleGuide/Typography.stories.mdx +202 -189
  211. package/src/components/StyleGuide/UIDocCard.tsx +1 -1
  212. package/src/components/Tabs/Tabs.stories.mdx +73 -11
  213. package/src/components/Tabs/Tabs.tsx +87 -64
  214. package/src/components/Template/Template.stories.mdx +25 -27
  215. package/src/components/TextInput/TextInput.stories.mdx +1 -1
  216. package/src/components/TextInput/TextInput.test.tsx +22 -2
  217. package/src/components/TextInput/TextInput.tsx +28 -8
  218. package/src/components/TextInput/TextInputTypes.tsx +2 -0
  219. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +17 -4
  220. package/src/components/VideoPlayer/VideoPlayer.test.tsx +54 -53
  221. package/src/components/VideoPlayer/VideoPlayer.tsx +50 -51
  222. package/src/components/VideoPlayer/VideoPlayerTypes.tsx +2 -2
  223. package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +91 -0
  224. package/src/docs/Chakra.stories.mdx +244 -63
  225. package/src/docs/Intro.stories.mdx +5 -2
  226. package/src/hooks/tests/useCarouselStyles.test.ts +140 -0
  227. package/src/hooks/tests/useNYPLTheme.test.tsx +36 -0
  228. package/src/hooks/useCarouselStyles.ts +34 -0
  229. package/src/hooks/useNYPLTheme.ts +67 -0
  230. package/src/hooks/useWindowSize.ts +40 -0
  231. package/src/index.ts +22 -19
  232. package/src/resources.scss +5 -5
  233. package/src/styles/base/{_02-breakpoints.scss → _01-breakpoints.scss} +9 -10
  234. package/src/styles/base/{_03-mixins.scss → _02-mixins.scss} +16 -5
  235. package/src/styles/base/{_04-base.scss → _03-base.scss} +7 -2
  236. package/src/styles/base/{_05-focus.scss → _04-focus.scss} +0 -15
  237. package/src/styles/base/_place-holder.scss +14 -3
  238. package/src/styles/{03-space → space}/_space-inline.scss +14 -14
  239. package/src/styles/{03-space → space}/_space-inset.scss +10 -10
  240. package/src/styles/space/_space-stack.scss +116 -0
  241. package/src/styles.scss +13 -60
  242. package/src/theme/components/button.ts +21 -15
  243. package/src/theme/components/card.ts +174 -0
  244. package/src/theme/components/checkbox.ts +8 -3
  245. package/src/theme/components/checkboxGroup.ts +8 -0
  246. package/src/theme/components/componentWrapper.ts +10 -0
  247. package/src/theme/components/datePicker.ts +17 -0
  248. package/src/theme/components/fieldset.ts +18 -0
  249. package/src/theme/components/global.ts +26 -15
  250. package/src/theme/components/globalMixins.ts +9 -1
  251. package/src/theme/components/heading.ts +10 -5
  252. package/src/theme/components/helperErrorText.ts +9 -0
  253. package/src/theme/components/hero.ts +4 -3
  254. package/src/theme/components/horizontalRule.ts +13 -0
  255. package/src/theme/components/icon.ts +9 -9
  256. package/src/theme/components/image.ts +116 -0
  257. package/src/theme/components/label.ts +3 -10
  258. package/src/theme/components/link.ts +5 -1
  259. package/src/theme/components/list.ts +73 -0
  260. package/src/theme/components/notification.ts +93 -0
  261. package/src/theme/components/pagination.ts +20 -0
  262. package/src/theme/components/progressIndicator.ts +62 -0
  263. package/src/theme/components/radio.ts +2 -2
  264. package/src/theme/components/radioGroup.ts +8 -0
  265. package/src/theme/components/select.ts +6 -3
  266. package/src/theme/components/skeletonLoader.ts +107 -0
  267. package/src/theme/components/slider.ts +79 -0
  268. package/src/theme/components/statusBadge.ts +1 -2
  269. package/src/theme/components/tabs.ts +49 -19
  270. package/src/theme/components/template.ts +8 -8
  271. package/src/theme/components/textInput.ts +5 -4
  272. package/src/theme/components/videoPlayer.ts +49 -0
  273. package/src/theme/foundations/breakpoints.ts +8 -8
  274. package/src/theme/foundations/global.ts +6 -1
  275. package/src/theme/foundations/radii.ts +6 -0
  276. package/src/theme/foundations/spacing.ts +24 -24
  277. package/src/theme/index.ts +41 -10
  278. package/src/utils/componentCategories.ts +4 -3
  279. package/dist/components/HelperErrorText/HelperErrorText.stories.d.ts +0 -16
  280. package/dist/components/Image/Image.stories.d.ts +0 -18
  281. package/dist/components/List/List.stories.d.ts +0 -7
  282. package/dist/theme/components/customCheckboxGroup.d.ts +0 -18
  283. package/dist/theme/components/customRadioGroup.d.ts +0 -18
  284. package/src/components/Button/_Button.scss +0 -32
  285. package/src/components/Card/_Card.scss +0 -308
  286. package/src/components/HelperErrorText/HelperErrorText.stories.tsx +0 -48
  287. package/src/components/HelperErrorText/_HelperErrorText.scss +0 -9
  288. package/src/components/HorizontalRule/_HorizontalRule.scss +0 -15
  289. package/src/components/Image/Image.stories.tsx +0 -54
  290. package/src/components/Image/_Image.scss +0 -38
  291. package/src/components/List/List.stories.tsx +0 -139
  292. package/src/components/List/_List.scss +0 -76
  293. package/src/components/Notification/_Notification.scss +0 -110
  294. package/src/components/Pagination/_Pagination.scss +0 -40
  295. package/src/components/SkeletonLoader/_SkeletonLoader.scss +0 -142
  296. package/src/components/VideoPlayer/_VideoPlayer.scss +0 -38
  297. package/src/styles/01-colors/_colors-brand.scss +0 -62
  298. package/src/styles/01-colors/_colors-utility.scss +0 -67
  299. package/src/styles/02-typography/_type-scale.css +0 -11
  300. package/src/styles/02-typography/_type-weight.css +0 -7
  301. package/src/styles/02-typography/_typefaces.css +0 -4
  302. package/src/styles/03-space/_space-stack.scss +0 -116
  303. package/src/styles/03-space/_space.css +0 -30
  304. package/src/styles/base/_card-grid.scss +0 -78
  305. package/src/styles/base/_typography.scss +0 -11
  306. package/src/theme/components/customCheckboxGroup.ts +0 -12
  307. package/src/theme/components/customRadioGroup.ts +0 -12
@@ -1,24 +1,28 @@
1
+ const tablist = {
2
+ borderColor: "ui.black",
3
+ };
1
4
  const tab = {
2
5
  color: "black !important",
3
- paddingInlineStart: "4",
4
- paddingLeft: "4",
6
+ paddingInlineStart: "s",
7
+ paddingLeft: "s",
5
8
  background: "transparent",
6
9
  border: "0",
7
10
  borderBottom: "1px solid",
8
11
  borderColor: "red",
12
+ height: { base: "44px" },
9
13
  marginRight: {
10
14
  base: "0",
11
15
  md: "1px",
12
16
  },
13
17
  paddingRight: {
14
- base: "4",
15
- md: "8",
16
- lg: "12",
18
+ base: "s",
19
+ md: "l",
20
+ lg: "xl",
17
21
  },
18
22
  whiteSpace: "nowrap",
19
23
  _hover: {
20
24
  bg: "ui.gray.x-light-warm",
21
- borderTopRadius: "2",
25
+ borderTopRadius: "sm",
22
26
  borderBottom: "1px solid",
23
27
  borderBottomColor: "ui.black",
24
28
  },
@@ -26,7 +30,7 @@ const tab = {
26
30
  fontWeight: "bold",
27
31
  bg: "ui.gray.light-warm",
28
32
  border: "0",
29
- borderTopRadius: "2",
33
+ borderTopRadius: "sm",
30
34
  borderBottom: "3px solid",
31
35
  borderBottomColor: "ui.black",
32
36
  paddingBottom: "5px",
@@ -38,16 +42,21 @@ const tab = {
38
42
  // Only display the previous/next arrow buttons on mobile.
39
43
  const buttonArrows = {
40
44
  border: "0",
45
+ borderRadius: "0",
41
46
  display: {
42
- // "inline-block" - hiding until the full "arrow" functionality is built out
43
- base: "none",
44
47
  // After 38em/600px, don't display the arrow button anymore.
45
48
  md: "none",
46
49
  },
47
50
  height: "44px",
48
51
  width: "44px !important",
52
+ top: "8px",
53
+ marginLeft: "4px",
54
+ marginRight: "4px",
55
+ // Code from https://codesandbox.io/s/fxjeo for the mobile carousel
56
+ pos: "absolute",
57
+ transition: "0.6s ease",
58
+ zIndex: "9999",
49
59
  };
50
- // Styles to better align the mobile arrow buttons with the tablist.
51
60
  const tablistWrapper = {
52
61
  display: "flex",
53
62
  alignItems: "center",
@@ -55,25 +64,46 @@ const tablistWrapper = {
55
64
  base: "0",
56
65
  md: "1px solid black",
57
66
  },
58
- margin: {
59
- base: "-4px",
60
- md: "0",
61
- },
67
+ height: { base: "58px", md: "auto" },
68
+ margin: "0",
62
69
  overflowX: { base: "auto", md: "visible" },
63
70
  paddingBottom: { base: "5px", md: "0" },
64
- paddingLeft: { base: "xxs", md: "0" },
65
- paddingRight: { base: "xxs", md: "0" },
66
- paddingTop: { base: "xxs", md: "0" },
71
+ paddingLeft: { base: "4px", md: "0" },
72
+ paddingRight: { base: "4px", md: "0" },
73
+ paddingTop: { base: "4px", md: "0" },
74
+ position: "relative",
75
+ };
76
+ const tabpanels = {
77
+ paddingTop: "2px",
78
+ };
79
+
80
+ const carouselParent = {
81
+ position: { base: "absolute", md: "relative" },
82
+ left: { base: "50px", md: "auto" },
83
+ paddingBottom: { base: "5px", md: "0" },
84
+ paddingLeft: { base: "4px", md: "0" },
85
+ paddingRight: "0",
86
+ paddingTop: { base: "4px", md: "0" },
87
+ right: { base: "52px", md: "auto" },
88
+ top: { base: "4px", md: "0" },
89
+ overflowX: { base: "hidden", md: "visible" },
67
90
  };
68
91
 
69
92
  const CustomTabs = {
70
- parts: ["tab", "buttonArrows", "tablistWrapper"],
93
+ // tablist, tab, and tabpanels are existing keys which are extended but
94
+ // buttonArrows, tablistWrapper, and carouselParent are custom elements
95
+ // in the `Tabs` component.
96
+ parts: ["buttonArrows", "tablistWrapper", "carouselParent"],
71
97
  baseStyle: {
98
+ tablist,
72
99
  tab,
100
+ // Only display the previous/next arrow buttons on mobile.
73
101
  buttonArrows,
102
+ // To better align the mobile arrow buttons with the tablist.
74
103
  tablistWrapper,
104
+ tabpanels,
105
+ carouselParent,
75
106
  },
76
- defaultProps: {},
77
107
  };
78
108
 
79
109
  export default CustomTabs;
@@ -34,21 +34,21 @@ const Template = {
34
34
  };
35
35
  const TemplateHeader = {
36
36
  baseStyle: {
37
- marginBottom: 8, // --space-l
37
+ marginBottom: 8, // --nypl-space-l
38
38
  },
39
39
  };
40
40
  const TemplateBreakout = {
41
41
  baseStyle: {
42
42
  ...breakout,
43
43
  width: "100vw",
44
- marginBottom: 8, // --space-l
44
+ marginBottom: 8, // --nypl-space-l
45
45
  },
46
46
  };
47
47
  const TemplateContent = {
48
48
  baseStyle: {
49
49
  ...wrapperStyles,
50
50
  display: "block",
51
- marginBottom: 8, // --space-l
51
+ marginBottom: 8, // --nypl-space-l
52
52
  },
53
53
  variants: {
54
54
  sidebar: {
@@ -63,13 +63,13 @@ const TemplateContent = {
63
63
  const TemplateContentTop = {
64
64
  baseStyle: {
65
65
  flex: "1 0 100%",
66
- marginBottom: 8, // --space-l
66
+ marginBottom: 8, // --nypl-space-l
67
67
  },
68
68
  };
69
69
  const TemplateContentPrimary = {
70
70
  baseStyle: {
71
71
  flex: "1 1",
72
- marginBottom: 8, // --space-l
72
+ marginBottom: 8, // --nypl-space-l
73
73
  },
74
74
  variants: {
75
75
  left: {
@@ -85,19 +85,19 @@ const TemplateContentSidebar = {
85
85
  baseStyle: {
86
86
  flex: "0 0 255px",
87
87
  order: { md: "1" },
88
- marginBottom: 8, // --space-l
88
+ marginBottom: 8, // --nypl-space-l
89
89
  },
90
90
  variants: {
91
91
  left: {
92
92
  marginRight: {
93
93
  base: 0,
94
- md: 12, // --space-xl
94
+ md: 12, // --nypl-space-xl
95
95
  },
96
96
  },
97
97
  right: {
98
98
  marginLeft: {
99
99
  base: 0,
100
- md: 12, // --space-xl
100
+ md: 12, // --nypl-space-xl
101
101
  },
102
102
  },
103
103
  },
@@ -3,7 +3,7 @@ import { activeFocus, helperTextMargin } from "./global";
3
3
  const input = {
4
4
  border: "1px solid",
5
5
  borderColor: "ui.gray.medium",
6
- borderRadius: "2px",
6
+ borderRadius: "sm",
7
7
  py: "xs",
8
8
  px: "s",
9
9
  _hover: {
@@ -31,7 +31,6 @@ const input = {
31
31
  const TextInput = {
32
32
  parts: ["helper", "input", "textarea"],
33
33
  baseStyle: {
34
- marginBottom: "xs",
35
34
  helper: {
36
35
  ...helperTextMargin,
37
36
  },
@@ -46,13 +45,15 @@ const TextInput = {
46
45
  searchBar: {
47
46
  flex: "1 1 80%",
48
47
  input: {
49
- borderRightRadius: "0",
48
+ borderRightRadius: "none",
50
49
  },
51
50
  },
52
51
  searchBarSelect: {
53
52
  flex: "1 1 80%",
54
53
  input: {
55
- borderRadius: "0",
54
+ borderRadius: "none",
55
+ borderTopLeftRadius: { base: "sm", md: "none" },
56
+ borderTopRightRadius: { base: "sm", md: "none" },
56
57
  },
57
58
  },
58
59
  },
@@ -0,0 +1,49 @@
1
+ const fourByThree = {
2
+ inside: {
3
+ paddingBottom: "75%",
4
+ },
5
+ };
6
+
7
+ const square = {
8
+ inside: {
9
+ paddingBottom: "100%",
10
+ },
11
+ };
12
+
13
+ const invalid = {
14
+ backgroundColor: "ui.gray.light-warm",
15
+ height: "auto",
16
+ padding: "s",
17
+ };
18
+
19
+ const VideoPlayer = {
20
+ baseStyle: {
21
+ inside: {
22
+ // backgroundColor: isInvalid ? "ui.gray.light.warm" : null,
23
+ height: "0",
24
+ overflow: "hidden",
25
+ // padding: isInvalid ? "s" : null,
26
+ paddingBottom: "56.25%",
27
+ position: "relative",
28
+ },
29
+ iframe: {
30
+ height: "100%",
31
+ left: "0",
32
+ margin: "auto",
33
+ position: "absolute",
34
+ top: "0",
35
+ width: "100%",
36
+ },
37
+ helperText: {
38
+ marginBottom: "0",
39
+ marginTop: "xs",
40
+ },
41
+ },
42
+ variants: {
43
+ fourByThree,
44
+ invalid,
45
+ square,
46
+ },
47
+ };
48
+
49
+ export default VideoPlayer;
@@ -1,16 +1,16 @@
1
1
  import { createBreakpoints } from "@chakra-ui/theme-tools";
2
2
 
3
3
  /**
4
- * Breakpoints from "src/styles/base/_02-breakpoints.scss"
4
+ * Breakpoints from "src/styles/base/_01-breakpoints.scss"
5
5
  * How to use Chakra responsive styles: https://chakra-ui.com/docs/features/responsive-styles
6
6
  *
7
- * Chakra Value | DS Variable | EM/PX value
8
- * --------------------------------------------------
9
- * sm | --breakpoint-small | 20em/320px
10
- * md | --breakpoint-medium | 38em/600px
11
- * lg | --breakpoint-large | 60em/960px
12
- * xl | --breakpoint-xl | 80em/1280px
13
- * 2xl | N/A | 96em/1536px
7
+ * Chakra Value | DS Variable | EM/PX value
8
+ * ------------------------------------------------------
9
+ * sm | --nypl-breakpoint-small | 20em/320px
10
+ * md | --nypl-breakpoint-medium | 38em/600px
11
+ * lg | --nypl-breakpoint-large | 60em/960px
12
+ * xl | --nypl-breakpoint-xl | 80em/1280px
13
+ * 2xl | N/A | 96em/1536px
14
14
  *
15
15
  * @Note Chakra provides a 2xl option while the DS does not. We don't
16
16
  * recommend using this value until further notice.
@@ -7,12 +7,14 @@
7
7
  const global = {
8
8
  // styles for the `body` element
9
9
  body: {
10
+ boxSizing: "border-box",
10
11
  bg: "ui.white",
11
12
  color: "ui.black",
12
13
  fontFamily: "body",
13
- fontSize: 0,
14
+ fontSize: "0",
14
15
  fontWeight: "300",
15
16
  lineHeight: "1.5",
17
+ overflowX: "hidden",
16
18
  },
17
19
  // styles for the `a` element
18
20
  a: {
@@ -21,6 +23,9 @@ const global = {
21
23
  svg: {
22
24
  display: "inline",
23
25
  },
26
+ p: {
27
+ margin: "0 0 var(--nypl-space-s",
28
+ },
24
29
  };
25
30
 
26
31
  export default global;
@@ -0,0 +1,6 @@
1
+ const radii = {
2
+ pill: "20px",
3
+ round: "100%",
4
+ };
5
+
6
+ export default radii;
@@ -7,14 +7,14 @@
7
7
  * That'll give you 10. Then use it in your component.
8
8
  *
9
9
  * The DS uses eight CSS variables/values found in "src/styles/03-space/_space.css":
10
- * --space-xxs = 4px or 0.25rem
11
- * --space-xs = 8px or 0.5rem
12
- * --space-s = 16px or 1rem
13
- * --space-m = 24px or 1.5rem
14
- * --space-l = 32px or 2rem
15
- * --space-xl = 48px or 3rem
16
- * --space-xxl = 64px or 4rem
17
- * --space-xxxl = 96px or 6rem
10
+ * --nypl-space-xxs = 4px or 0.25rem
11
+ * --nypl-space-xs = 8px or 0.5rem
12
+ * --nypl-space-s = 16px or 1rem
13
+ * --nypl-space-m = 24px or 1.5rem
14
+ * --nypl-space-l = 32px or 2rem
15
+ * --nypl-space-xl = 48px or 3rem
16
+ * --nypl-space-xxl = 64px or 4rem
17
+ * --nypl-space-xxxl = 96px or 6rem
18
18
  *
19
19
  * @note Even though all the following values are available through Chakra,
20
20
  * we recommend to only use the spacing values that map to the DS values
@@ -22,51 +22,51 @@
22
22
  *
23
23
  * Chakra Number Value | Chakra Name value | DS Variable
24
24
  * ------------------- | ----------------- | -----------------
25
- * 1 | xxs | --space-xxs
26
- * 2 | xs | --space-xs
27
- * 4 | s | --space-s
28
- * 6 | m | --space-m
29
- * 8 | l | --space-l
30
- * 12 | xl | --space-xl
31
- * 16 | xxl | --space-xxl
32
- * 24 | xxxl | --space-xxxl
25
+ * 1 | xxs | --nypl-space-xxs
26
+ * 2 | xs | --nypl-space-xs
27
+ * 4 | s | --nypl-space-s
28
+ * 6 | m | --nypl-space-m
29
+ * 8 | l | --nypl-space-l
30
+ * 12 | xl | --nypl-space-xl
31
+ * 16 | xxl | --nypl-space-xxl
32
+ * 24 | xxxl | --nypl-space-xxxl
33
33
  */
34
34
  export const spacing = {
35
35
  px: "1px",
36
36
  0: "0",
37
37
  0.5: "0.125rem",
38
- // --space-xxs = 4px
38
+ // --nypl-space-xxs = 4px
39
39
  xxs: "0.25rem",
40
40
  1: "0.25rem",
41
41
  1.5: "0.375rem",
42
- // --space-xs = 8px
42
+ // --nypl-space-xs = 8px
43
43
  xs: "0.5rem",
44
44
  2: "0.5rem",
45
45
  2.5: "0.625rem",
46
46
  3: "0.75rem",
47
47
  3.5: "0.875rem",
48
- // --space-s = 16px
48
+ // --nypl-space-s = 16px
49
49
  s: "1rem",
50
50
  4: "1rem",
51
51
  5: "1.25rem",
52
- // --space-m = 24px
52
+ // --nypl-space-m = 24px
53
53
  m: "1.5rem",
54
54
  6: "1.5rem",
55
55
  7: "1.75rem",
56
- // --space-l = 32px
56
+ // --nypl-space-l = 32px
57
57
  l: "2rem",
58
58
  8: "2rem",
59
59
  9: "2.25rem",
60
60
  10: "2.5rem",
61
- // --space-xl = 48px
61
+ // --nypl-space-xl = 48px
62
62
  xl: "3rem",
63
63
  12: "3rem",
64
64
  14: "3.5rem",
65
- // --space-xxl = 64px
65
+ // --nypl-space-xxl = 64px
66
66
  xxl: "4rem",
67
67
  16: "4rem",
68
68
  20: "5rem",
69
- // --space-xxxl = 96px
69
+ // --nypl-space-xxxl = 96px
70
70
  xxxl: "6rem",
71
71
  24: "6rem",
72
72
  28: "7rem",
@@ -3,6 +3,7 @@ import { extendTheme } from "@chakra-ui/react";
3
3
  import global from "./foundations/global";
4
4
  import breakpoints from "./foundations/breakpoints";
5
5
  import colors from "./foundations/colors";
6
+ import radii from "./foundations/radii";
6
7
  import shadows from "./foundations/shadows";
7
8
  import { spacing } from "./foundations/spacing";
8
9
  import typography from "./foundations/typography";
@@ -10,22 +11,36 @@ import typography from "./foundations/typography";
10
11
  import Accordion from "./components/accordion";
11
12
  import Breadcrumb from "./components/breadcrumb";
12
13
  import Button from "./components/button";
14
+ import Card from "./components/card";
13
15
  import Checkbox from "./components/checkbox";
14
- import CustomCheckboxGroup from "./components/customCheckboxGroup";
15
- import CustomRadioGroup from "./components/customRadioGroup";
16
+ import ComponentWrapper from "./components/componentWrapper";
17
+ import CheckboxGroup from "./components/checkboxGroup";
18
+ import { CustomImage, CustomImageWrapper } from "./components/image";
16
19
  import CustomSelect from "./components/select";
20
+ import DatePicker from "./components/datePicker";
21
+ import Fieldset from "./components/fieldset";
17
22
  import Heading from "./components/heading";
23
+ import HelperErrorText from "./components/helperErrorText";
18
24
  import Hero from "./components/hero";
25
+ import HorizontalRule from "./components/horizontalRule";
19
26
  import Icon from "./components/icon";
20
27
  import Label from "./components/label";
21
28
  import Link from "./components/link";
29
+ import List from "./components/list";
30
+ import NotificationStyles from "./components/notification";
31
+ import Pagination from "./components/pagination";
32
+ import ProgressIndicator from "./components/progressIndicator";
22
33
  import Radio from "./components/radio";
34
+ import RadioGroup from "./components/radioGroup";
23
35
  import SearchBar from "./components/searchBar";
36
+ import { Skeleton, SkeletonLoader } from "./components/skeletonLoader";
37
+ import CustomSlider from "./components/slider";
24
38
  import StatusBadge from "./components/statusBadge";
25
39
  import Tabs from "./components/tabs";
26
40
  import TemplateStyles from "./components/template";
27
41
  import Text from "./components/text";
28
42
  import TextInput from "./components/textInput";
43
+ import VideoPlayer from "./components/videoPlayer";
29
44
 
30
45
  /**
31
46
  * See Chakra default theme for shape of theme object:
@@ -49,6 +64,7 @@ const theme = extendTheme({
49
64
  styles: { global },
50
65
  breakpoints,
51
66
  colors,
67
+ radii,
52
68
  shadows,
53
69
  space: spacing,
54
70
  ...typography,
@@ -60,29 +76,44 @@ const theme = extendTheme({
60
76
  Accordion,
61
77
  Breadcrumb,
62
78
  Button,
79
+ ...Card,
63
80
  Checkbox,
64
- CustomCheckboxGroup,
65
- CustomRadioGroup,
81
+ CheckboxGroup,
82
+ ComponentWrapper,
83
+ CustomImage,
84
+ CustomImageWrapper,
66
85
  CustomSelect,
86
+ DatePicker,
87
+ Fieldset,
67
88
  Heading,
89
+ HelperErrorText,
68
90
  Hero,
91
+ HorizontalRule,
69
92
  Icon,
70
93
  Label,
71
94
  Link,
95
+ List,
96
+ ...NotificationStyles,
97
+ Pagination,
98
+ ProgressIndicator,
72
99
  Radio,
100
+ RadioGroup,
73
101
  SearchBar,
102
+ Skeleton,
103
+ SkeletonLoader,
104
+ CustomSlider,
74
105
  StatusBadge,
75
106
  Tabs,
76
107
  ...TemplateStyles,
77
108
  Text,
78
109
  TextInput,
110
+ VideoPlayer,
111
+ },
112
+ // Use `cssVarPrefix` to set the prefix used on the CSS vars produced by
113
+ // Chakra. By default, Chakra prefixes its own CSS variables with `--chakra`.
114
+ config: {
115
+ cssVarPrefix: "nypl",
79
116
  },
80
- // Chakra prefixes its own CSS variables with `--chakra` by default but this
81
- // can be updated to be anything we want. This can be "nypl" to have the
82
- // `--nypl` prefix or even "" to have no prefix.
83
- // config: {
84
- // cssVarPrefix: "nypl",
85
- // },
86
117
  });
87
118
 
88
119
  export default theme;
@@ -3,7 +3,7 @@
3
3
  const categories = {
4
4
  basicContent: {
5
5
  title: "Components/Basic Elements",
6
- components: ["Card", "CardEdition", "Hero", "Promo", "Sponsor", "Table"],
6
+ components: ["Card", "Hero", "Promo", "Sponsor", "Table"],
7
7
  },
8
8
  contentDisplay: {
9
9
  title: "Components/Content Display",
@@ -19,7 +19,7 @@ const categories = {
19
19
  },
20
20
  deprecated: {
21
21
  title: "Components/Deprecated",
22
- components: [],
22
+ components: ["CardEdition", "Input"],
23
23
  },
24
24
  feedback: {
25
25
  title: "Components/Feedback",
@@ -40,9 +40,9 @@ const categories = {
40
40
  "DatePicker",
41
41
  "DateRangePicker",
42
42
  "Dropdown",
43
+ "Fieldset",
43
44
  "FileUploader",
44
45
  "Form",
45
- "Input",
46
46
  "Label",
47
47
  "NumberInput",
48
48
  "Radio",
@@ -111,6 +111,7 @@ const categories = {
111
111
  "Breakpoints",
112
112
  "Buttons",
113
113
  "Colors",
114
+ "Design Tokens",
114
115
  "Forms",
115
116
  "Iconography",
116
117
  "Spacing",
@@ -1,16 +0,0 @@
1
- /// <reference types="react" />
2
- import HelperErrorText from "./HelperErrorText";
3
- declare const _default: {
4
- title: any;
5
- component: typeof HelperErrorText;
6
- };
7
- export default _default;
8
- export declare const helperTextWithLink: {
9
- (): JSX.Element;
10
- parameters: {
11
- jest: string[];
12
- };
13
- };
14
- export declare const errorText: () => JSX.Element;
15
- export declare const longHelperText: () => JSX.Element;
16
- export declare const withAriaProps: () => JSX.Element;
@@ -1,18 +0,0 @@
1
- /// <reference types="react" />
2
- import Image from "./Image";
3
- declare const _default: {
4
- title: any;
5
- component: typeof Image;
6
- };
7
- export default _default;
8
- export declare const ImageWithOptionalCaptionandCredit: {
9
- (): JSX.Element;
10
- storyName: string;
11
- parameters: {
12
- design: {
13
- type: string;
14
- url: string;
15
- };
16
- jest: string[];
17
- };
18
- };
@@ -1,7 +0,0 @@
1
- /// <reference types="react" />
2
- export declare const animalCrossingDefinitions: {
3
- term: string;
4
- definition: string;
5
- }[];
6
- export declare const listRenderer: (args: any) => JSX.Element;
7
- export declare const cardsList: any[];
@@ -1,18 +0,0 @@
1
- declare const CustomCheckboxGroup: {
2
- parts: string[];
3
- baseStyle: {
4
- legend: {
5
- fontSize: string;
6
- marginBottom: string;
7
- };
8
- required: {
9
- marginLeft: string;
10
- };
11
- helper: {
12
- marginTop: string;
13
- };
14
- };
15
- sizes: {};
16
- defaultProps: {};
17
- };
18
- export default CustomCheckboxGroup;
@@ -1,18 +0,0 @@
1
- declare const CustomRadioGroup: {
2
- parts: string[];
3
- baseStyle: {
4
- legend: {
5
- fontSize: string;
6
- marginBottom: string;
7
- };
8
- required: {
9
- marginLeft: string;
10
- };
11
- helper: {
12
- marginTop: string;
13
- };
14
- };
15
- sizes: {};
16
- defaultProps: {};
17
- };
18
- export default CustomRadioGroup;
@@ -1,32 +0,0 @@
1
- // Keeping `button-base` and `button--outline` for the
2
- // Accordion component until that component is updated.
3
- @mixin button-base {
4
- border-radius: 2px !important;
5
- cursor: pointer;
6
- display: flex;
7
- justify-content: center;
8
- padding: var(--space-xs) var(--space-s) !important;
9
- text-decoration: none;
10
- }
11
-
12
- @mixin button--outline {
13
- @include button-base;
14
-
15
- background-color: var(--ui-white);
16
- border: 1px solid var(--ui-gray-light-cool);
17
- color: inherit;
18
-
19
- &:visited {
20
- color: inherit;
21
- }
22
-
23
- &:hover {
24
- background-color: var(--ui-gray-xx-light-cool);
25
- }
26
-
27
- &:disabled {
28
- background-color: var(--ui-gray-light-cool);
29
- color: var(--ui-gray-dark);
30
- pointer-events: none;
31
- }
32
- }