@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
@@ -6,331 +6,191 @@ import {
6
6
  Description,
7
7
  } from "@storybook/addon-docs/blocks";
8
8
  import { withDesign } from "storybook-addon-designs";
9
- import { select } from "@storybook/addon-knobs";
10
9
 
11
- import { getCategory } from "../../utils/componentCategories";
12
- import cssVariables from "../../helpers/CSSVariablesHelper";
10
+ import ColorCard from "./ColorCard";
11
+ import DSProvider from "../../theme/provider";
13
12
  import getCSSVariable from "../../helpers/getCSSVariable";
14
- import UIDocCard from "./UIDocCard";
15
- import Breadcrumbs from "../Breadcrumbs/Breadcrumbs";
16
- import List from "../List/List";
13
+ import { getCategory } from "../../utils/componentCategories";
17
14
  import Heading from "../Heading/Heading";
18
15
  import { HeadingLevels } from "../Heading/HeadingTypes";
19
- import { ListTypes } from "../List/ListTypes";
20
- import sections from "../../utils/siteSections";
21
- import DSProvider from "../../theme/provider";
16
+ import SimpleGrid from "../Grid/SimpleGrid";
17
+
18
+ export const cssVars = {
19
+ brand: ["--nypl-colors-brand-primary", "--nypl-colors-brand-secondary"],
20
+ whatsOn: [
21
+ "--nypl-colors-section-whats-on-primary",
22
+ "--nypl-colors-section-whats-on-secondary",
23
+ ],
24
+ booksAndMore: [
25
+ "--nypl-colors-section-books-and-more-primary",
26
+ "--nypl-colors-section-books-and-more-secondary",
27
+ ],
28
+ research: [
29
+ "--nypl-colors-section-research-primary",
30
+ "--nypl-colors-section-research-secondary",
31
+ ],
32
+ locations: [
33
+ "--nypl-colors-section-locations-primary",
34
+ "--nypl-colors-section-locations-secondary",
35
+ ],
36
+ blogs: [
37
+ "--nypl-colors-section-blogs-primary",
38
+ "--nypl-colors-section-blogs-secondary",
39
+ ],
40
+ researchLibraries: [
41
+ "--nypl-colors-section-research-library-lpa",
42
+ "--nypl-colors-section-research-library-schomburg",
43
+ "--nypl-colors-section-research-library-schwartzman",
44
+ ],
45
+ ui: [
46
+ "--nypl-colors-ui-black",
47
+ "--nypl-colors-ui-white",
48
+ "--nypl-colors-ui-disabled-primary",
49
+ "--nypl-colors-ui-disabled-secondary",
50
+ "--nypl-colors-ui-error-primary",
51
+ "--nypl-colors-ui-error-secondary",
52
+ "--nypl-colors-ui-focus",
53
+ "--nypl-colors-ui-link-primary",
54
+ "--nypl-colors-ui-link-secondary",
55
+ "--nypl-colors-ui-status-primary",
56
+ "--nypl-colors-ui-status-secondary",
57
+ "--nypl-colors-ui-success-primary",
58
+ "--nypl-colors-ui-success-secondary",
59
+ "--nypl-colors-ui-test",
60
+ "--nypl-colors-ui-warning-primary",
61
+ "--nypl-colors-ui-warning-secondary",
62
+ ],
63
+ grayscale: [
64
+ "--nypl-colors-ui-gray-xdark",
65
+ "--nypl-colors-ui-gray-dark",
66
+ "--nypl-colors-ui-gray-medium",
67
+ "--nypl-colors-ui-gray-light-cool",
68
+ "--nypl-colors-ui-gray-light-warm",
69
+ "--nypl-colors-ui-gray-x-light-cool",
70
+ "--nypl-colors-ui-gray-x-light-warm",
71
+ "--nypl-colors-ui-gray-xx-light-cool",
72
+ ],
73
+ };
74
+
75
+ export const makeColorCard = function (key) {
76
+ // const cssValue = getCSSVariable(key);
77
+ const cssValue = `var(${key})`;
78
+ const card = (
79
+ <ColorCard backgroundColor={cssValue} colorName={key} key={key} />
80
+ );
81
+ return card;
82
+ };
83
+
84
+ export const getColorCards = (cat) => {
85
+ const cards = [];
86
+ const catArr = cssVars[cat];
87
+ for (let i = 0; i < catArr.length; i++) {
88
+ const varName = catArr[i];
89
+ const card = makeColorCard(varName);
90
+ cards.push(card);
91
+ }
92
+ return cards;
93
+ };
22
94
 
23
95
  <Meta title={getCategory("Colors")} decorators={[withDesign]} />
24
96
 
25
97
  # NYPL Colors
26
98
 
27
- export const sectionDefault = sections[3];
99
+ | Table of Contents |
100
+ | ---------------------------------------- |
101
+ | 1. [Brand Colors](#brand-colors) |
102
+ | 2. [Section Colors](#section-colors) |
103
+ | 3. [Utility Colors](#utility-colors) |
104
+ | 3. [Grayscale Colors](#grayscale-colors) |
105
+ | 4. [Figma Reference](#figma-reference) |
106
+
107
+ ## Brand Colors
108
+
109
+ Brand fills are the NYPL primary and secondary colors.
28
110
 
29
111
  <Canvas>
30
- <Story
31
- name="Colors-Brand"
32
- parameters={{
33
- design: {
34
- type: "figma",
35
- url:
36
- "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=15454%3A47007",
37
- },
38
- }}
39
- args={{
40
- section: sectionDefault,
41
- }}
42
- argTypes={{
43
- section: {
44
- control: {
45
- type: "select",
46
- },
47
- options: sections,
48
- },
49
- }}
50
- >
51
- {(args) => (
52
- <>
53
- <Heading level={HeadingLevels.One}>Brand</Heading>
54
- <p>Brand fills are the NYPL primary and secondary colors.</p>
55
- <List
56
- type={ListTypes.Unordered}
57
- modifiers={["no-list-styling"]}
58
- className="card-grid__cards"
59
- >
60
- <li style={{ textAlign: "center" }}>
61
- <UIDocCard backgroundColor={getCSSVariable("--brand-primary")}>
62
- --brand-primary: {getCSSVariable("--brand-primary")}
63
- </UIDocCard>
64
- </li>
65
- <li style={{ textAlign: "center" }}>
66
- <UIDocCard backgroundColor={getCSSVariable("--brand-secondary")}>
67
- --brand-secondary: {getCSSVariable("--brand-secondary")}
68
- </UIDocCard>
69
- </li>
70
- </List>
71
- <Heading level={HeadingLevels.One}>Section Colors</Heading>
72
- <Heading level={HeadingLevels.Two}>What's On</Heading>
73
- <p>
74
- Section colors are branding colors only in use at NYPL. Certain
75
- components, such as Breadcrumbs below, change color based on the
76
- modifier applied the body tag.
77
- </p>
78
- <div
79
- className={`${args.section} storybook-breadcrumbsExample`}
80
- style={{ marginBottom: "2%", display: "flex", width: "100%" }}
81
- >
82
- <Breadcrumbs
83
- breadcrumbs={[
84
- { url: "#", text: "Parent" },
85
- { url: "#", text: "Home" },
86
- ]}
87
- />
88
- <div
89
- style={{
90
- flex: "1 1 50%",
91
- backgroundColor: "var(--ui-gray-x-light-cool)",
92
- padding: "2%",
93
- }}
94
- >
95
- <pre>
96
- <code>
97
- {"<div className="}
98
- {"'" + args.section + "'"}
99
- {">\n"}
100
- {" <Breadcrumbs...></Breadcrumbs>"}
101
- {"\n"}
102
- {"</div>"}
103
- </code>
104
- </pre>
105
- </div>
106
- </div>
107
- <p>What's On is used for Events, Exhibitions & Audio Guides.</p>
108
- <List
109
- type={ListTypes.Unordered}
110
- modifiers={["no-list-styling"]}
111
- className="card-grid__cards"
112
- >
113
- <li style={{ textAlign: "center" }}>
114
- <UIDocCard
115
- backgroundColor={getCSSVariable("--section-whats-on-primary")}
116
- >
117
- --section-whats-on-primary:{" "}
118
- {getCSSVariable("--section-whats-on-primary")}
119
- </UIDocCard>
120
- </li>
121
- <li style={{ textAlign: "center" }}>
122
- <UIDocCard
123
- backgroundColor={getCSSVariable("--section-whats-on-secondary")}
124
- >
125
- --section-whats-on-secondary:{" "}
126
- {getCSSVariable("--section-whats-on-secondary")}
127
- </UIDocCard>
128
- </li>
129
- </List>
130
- <Heading level={HeadingLevels.Two}>Books and More</Heading>
131
- <p>
132
- Books and More is used for the Catalog, Staff Picks, Recommendations,
133
- New Arrivals, and E-Book Central.
134
- </p>
135
- <List
136
- type={ListTypes.Unordered}
137
- modifiers={["no-list-styling"]}
138
- className="card-grid__cards"
139
- >
140
- <li style={{ textAlign: "center" }}>
141
- <UIDocCard
142
- backgroundColor={getCSSVariable(
143
- "--section-books-and-more-primary"
144
- )}
145
- >
146
- --section-books-and-more-primary:{" "}
147
- {getCSSVariable("--section-books-and-more-primary")}
148
- </UIDocCard>
149
- </li>
150
- <li style={{ textAlign: "center" }}>
151
- <UIDocCard
152
- backgroundColor={getCSSVariable(
153
- "--section-books-and-more-secondary"
154
- )}
155
- >
156
- --section-books-and-more-secondary:{" "}
157
- {getCSSVariable("--section-books-and-more-secondary")}
158
- </UIDocCard>
159
- </li>
160
- </List>
161
- <Heading level={HeadingLevels.Two}>Research</Heading>
162
- <p>Research is used for the Research Catalog and SCC.</p>
163
- <List
164
- type={ListTypes.Unordered}
165
- modifiers={["no-list-styling"]}
166
- className="card-grid__cards"
167
- >
168
- <li style={{ textAlign: "center" }}>
169
- <UIDocCard
170
- backgroundColor={getCSSVariable("--section-research-primary")}
171
- >
172
- --section-research-primary:{" "}
173
- {getCSSVariable("--section-research-primary")}
174
- </UIDocCard>
175
- </li>
176
- <li style={{ textAlign: "center" }}>
177
- <UIDocCard
178
- backgroundColor={getCSSVariable("--section-research-secondary")}
179
- >
180
- --section-research-secondary:{" "}
181
- {getCSSVariable("--section-research-secondary")}
182
- </UIDocCard>
183
- </li>
184
- </List>
185
- <Heading level={HeadingLevels.Two}>Locations</Heading>
186
- <p>
187
- Locations is used for Location Finder and all branch pages with the
188
- exceptions of some research libraries.
189
- </p>
190
- <List
191
- type={ListTypes.Unordered}
192
- modifiers={["no-list-styling"]}
193
- className="card-grid__cards"
194
- >
195
- <li style={{ textAlign: "center" }}>
196
- <UIDocCard
197
- backgroundColor={getCSSVariable("--section-locations-primary")}
198
- >
199
- --section-locations-primary:{" "}
200
- {getCSSVariable("--section-locations-primary")}
201
- </UIDocCard>
202
- </li>
203
- <li style={{ textAlign: "center" }}>
204
- <UIDocCard
205
- backgroundColor={getCSSVariable("--section-locations-secondary")}
206
- >
207
- --section-locations-secondary:{" "}
208
- {getCSSVariable("--section-locations-secondary")}
209
- </UIDocCard>
210
- </li>
211
- </List>
212
- <Heading level={HeadingLevels.Two}>Blogs</Heading>
213
- <p>Blogs is used for the Blogs section.</p>
214
- <List
215
- type={ListTypes.Unordered}
216
- modifiers={["no-list-styling"]}
217
- className="card-grid__cards"
218
- >
219
- <li style={{ textAlign: "center" }}>
220
- <UIDocCard
221
- backgroundColor={getCSSVariable("--section-blogs-primary")}
222
- >
223
- --section-blogs-primary:{" "}
224
- {getCSSVariable("--section-blogs-primary")}
225
- </UIDocCard>
226
- </li>
227
- <li style={{ textAlign: "center" }}>
228
- <UIDocCard
229
- backgroundColor={getCSSVariable("--section-blogs-secondary")}
230
- >
231
- --section-blogs-secondary:{" "}
232
- {getCSSVariable("--section-blogs-secondary")}
233
- </UIDocCard>
234
- </li>
235
- </List>
236
- <Heading level={HeadingLevels.Two}>Research Libraries</Heading>
237
- <p>Research libraries with specific brand colors to adhere to.</p>
238
- <List
239
- type={ListTypes.Unordered}
240
- modifiers={["no-list-styling"]}
241
- className="card-grid__cards"
242
- >
243
- <li style={{ textAlign: "center" }}>
244
- <UIDocCard
245
- backgroundColor={getCSSVariable("--section-research-library-lpa")}
246
- >
247
- --section-research-library-lpa:{" "}
248
- {getCSSVariable("--section-research-library-lpa")}
249
- </UIDocCard>
250
- </li>
251
- <li style={{ textAlign: "center" }}>
252
- <UIDocCard
253
- backgroundColor={getCSSVariable(
254
- "--section-research-library-schomburg"
255
- )}
256
- >
257
- --section-research-library-schomburg:{" "}
258
- {getCSSVariable("--section-research-library-schomburg")}
259
- </UIDocCard>
260
- </li>
261
- <li style={{ textAlign: "center" }}>
262
- <UIDocCard
263
- backgroundColor={getCSSVariable(
264
- "--section-research-library-schwartzman"
265
- )}
266
- >
267
- --section-research-library-schwartzman:{" "}
268
- {getCSSVariable("--section-research-library-schwartzman")}
269
- </UIDocCard>
270
- </li>
271
- </List>
272
- </>
273
- )}
274
- </Story>
112
+ <DSProvider>
113
+ <SimpleGrid columns={1}>{getColorCards("brand")}</SimpleGrid>
114
+ </DSProvider>
275
115
  </Canvas>
276
116
 
277
- # Utility Colors
117
+ ## Section Colors
278
118
 
279
- export const uiVariables = {};
280
- export const grayScaleVariables = {};
281
- for (const [key, value] of Object.entries(cssVariables)) {
282
- if (key.startsWith(" --ui-gray")) {
283
- grayScaleVariables[key] = value;
284
- } else if (key.startsWith(" --ui")) {
285
- uiVariables[key] = value;
286
- }
287
- }
288
- export const uiVariableDocs = [];
289
- export const grayscaleDocs = [];
290
- export const makeUIDocCard = function (key, value, docArray) {
291
- docArray.push(
292
- <li style={{ textAlign: "center" }}>
293
- <UIDocCard backgroundColor={value}>
294
- {key}: {value}
295
- </UIDocCard>
296
- </li>
297
- );
298
- };
299
- for (const [key, value] of Object.entries(uiVariables)) {
300
- makeUIDocCard(key, value, uiVariableDocs);
301
- }
302
- for (const [key, value] of Object.entries(grayScaleVariables)) {
303
- makeUIDocCard(key, value, grayscaleDocs);
304
- }
119
+ Section colors are branding colors only in use at NYPL.
305
120
 
306
121
  <Canvas>
307
- <Story
308
- name="Colors-Utility"
309
- parameters={{
310
- design: {
311
- type: "figma",
312
- url:
313
- "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=14989%3A37",
314
- },
315
- }}
316
- >
317
- <>
318
- <Heading level={HeadingLevels.One}>Utility Colors</Heading>
319
- <List
320
- type={ListTypes.Unordered}
321
- modifiers={["no-list-styling"]}
322
- className="card-grid__cards"
323
- >
324
- {uiVariableDocs}
325
- </List>
326
- <Heading level={HeadingLevels.One}>Grayscale</Heading>
327
- <List
328
- type={ListTypes.Unordered}
329
- modifiers={["no-list-styling"]}
330
- className="card-grid__cards"
331
- >
332
- {grayscaleDocs}
333
- </List>
334
- </>
335
- </Story>
122
+ <DSProvider>
123
+ <Heading level={HeadingLevels.Two}>What's On</Heading>
124
+ <p>What's On is used for Events, Exhibitions &amp; Audio Guides.</p>
125
+ <SimpleGrid columns={1}>{getColorCards("whatsOn")}</SimpleGrid>
126
+ </DSProvider>
336
127
  </Canvas>
128
+
129
+ <Canvas>
130
+ <DSProvider>
131
+ <Heading level={HeadingLevels.Two}>Books and More</Heading>
132
+ <p>
133
+ Books and More is used for the Catalog, Staff Picks, Recommendations, New
134
+ Arrivals, and E-Book Central.
135
+ </p>
136
+ <SimpleGrid columns={1}>{getColorCards("booksAndMore")}</SimpleGrid>
137
+ </DSProvider>
138
+ </Canvas>
139
+
140
+ <Canvas>
141
+ <DSProvider>
142
+ <Heading level={HeadingLevels.Two}>Research</Heading>
143
+ <p>Research is used for the Research Catalog and SCC.</p>
144
+ <SimpleGrid columns={1}>{getColorCards("research")}</SimpleGrid>
145
+ </DSProvider>
146
+ </Canvas>
147
+
148
+ <Canvas>
149
+ <DSProvider>
150
+ <Heading level={HeadingLevels.Two}>Locations</Heading>
151
+ <p>
152
+ Locations is used for Location Finder and all branch pages with the
153
+ exceptions of some research libraries.
154
+ </p>
155
+ <SimpleGrid columns={1}>{getColorCards("locations")}</SimpleGrid>
156
+ </DSProvider>
157
+ </Canvas>
158
+
159
+ <Canvas>
160
+ <DSProvider>
161
+ <Heading level={HeadingLevels.Two}>Blogs</Heading>
162
+ <p>Blogs is used for the Blogs section.</p>
163
+ <SimpleGrid columns={1}>{getColorCards("blogs")}</SimpleGrid>
164
+ </DSProvider>
165
+ </Canvas>
166
+
167
+ <Canvas>
168
+ <DSProvider>
169
+ <Heading level={HeadingLevels.Two}>Research Libraries</Heading>
170
+ <p>Research libraries with specific brand colors to adhere to.</p>
171
+ <SimpleGrid columns={1}>{getColorCards("researchLibraries")}</SimpleGrid>
172
+ </DSProvider>
173
+ </Canvas>
174
+
175
+ ## Utility Colors
176
+
177
+ <Canvas>
178
+ <DSProvider>
179
+ <SimpleGrid columns={1}>{getColorCards("ui")}</SimpleGrid>
180
+ </DSProvider>
181
+ </Canvas>
182
+
183
+ ## Grayscale Colors
184
+
185
+ <Canvas>
186
+ <DSProvider>
187
+ <SimpleGrid columns={1}>{getColorCards("grayscale")}</SimpleGrid>
188
+ </DSProvider>
189
+ </Canvas>
190
+
191
+ ## Figma Reference
192
+
193
+ For additional spacing information, please refer to the Figma Main file.
194
+
195
+ - [NYPL Brand Colors](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=15454%3A47007)
196
+ - [NYPL UI Colors](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=14989%3A37)
@@ -0,0 +1,170 @@
1
+ import {
2
+ Meta,
3
+ Story,
4
+ Canvas,
5
+ ArgsTable,
6
+ Description,
7
+ } from "@storybook/addon-docs/blocks";
8
+ import { withDesign } from "storybook-addon-designs";
9
+ import { getCategory } from "../../utils/componentCategories";
10
+
11
+ <Meta title={getCategory("Design Tokens")} />
12
+
13
+ # Design Tokens
14
+
15
+ | Table of Contents |
16
+ | ------------------------------------------------------------------------------------ |
17
+ | 1. [What are Design Tokens?](#what-are-design-tokens) |
18
+ | 2. [Why Use Design Tokens?](#why-use-design-tokens) |
19
+ | 3. [How to Use the NYPL Design Tokens](#figma-reference) |
20
+ | 4. [Using NYPL Design Tokens in CSS](#using-nypl-design-tokens-in-css) |
21
+ | 5. [Using NYPL Design Tokens in Javascript](#using-nypl-design-tokens-in-javascript) |
22
+ | 6. [NYPL Design Token Categories](#nypl-design-token-categories) |
23
+
24
+ ## What are Design Tokens?
25
+
26
+ Design tokens are the style values that define a design system. These values can include, but may not be limited to, spacing, color, typography, breakpoints and object styles. Ultimately, these values are used to construct and maintain the components that make up our system.
27
+
28
+ ## Why Use Design Tokens?
29
+
30
+ _"With design tokens, you can capture low-level values and then use them to create the styles for your product or app. You can maintain a scalable and consistent visual system for UI development."_ – Jina Bolton, Lead Designer for the Salesforce Design System
31
+
32
+ Design tokens are a single source of truth when it comes to styles. They allow an organization to more easily build multiple applications – web and/or native – that feel and look the same without slowing down the development team.
33
+
34
+ ## How to Use the NYPL Design Tokens
35
+
36
+ The NYPL design tokens are built into the NYPL Design System (the DS) and are offered in two formats for consumption: CSS variables and javascript data objects. To access either of these formats, the DS v0.25.2 or higher needs to be properly installed in a consuming React application.
37
+
38
+ ## Using NYPL Design Tokens in CSS
39
+
40
+ If your app uses CSS or SCSS to handle styles, the DS creates standard CSS custom properties (e.g. variables) for consumption in your stylesheets. If the DS is properly installed, the CSS custom properties will be available for you to use. Nothing more needs to be done to your app.
41
+
42
+ To assist with CSS scope isolation, all of the CSS custom properties created by the DS are prefixed with "nypl." Please see the examples below.
43
+
44
+ ```css
45
+ --nypl-colors-brand-primary
46
+ --nypl-colors-brand-secondary
47
+ --nypl-fontSizes-sm
48
+ --nypl-fontSizes-md
49
+ --nypl-fontSizes-lg
50
+ --nypl-fontSizes-xl
51
+ --nypl-space-xxs
52
+ --nypl-space-xs
53
+ --nypl-space-s
54
+ --nypl-space-m
55
+ --nypl-space-l
56
+ ```
57
+
58
+ The CSS custom properties are defined on the :root pseudo-class and should be implemented using standard CSS custom properties conventions.
59
+
60
+ ```css
61
+ /* Property Declaration in the DS */
62
+ :root {
63
+ --nypl-colors-brand-primary: #c60917;
64
+ }
65
+
66
+ /* Property Usage in Your Application */
67
+ .custom-button {
68
+ background: var(--nypl-colors-brand-primary);
69
+ }
70
+ ```
71
+
72
+ ## Using NYPL Design Tokens in Javascript
73
+
74
+ If you would like to use CSS-in-JS styles in your React components, the `useNYPLTheme` hook will provide you with NYPL design token values. The hook depends on the `DSProvider` component and will not work properly outside of the `DSProvider` wrapper component.
75
+
76
+ After importing and implementing the `DSProvider` wrapper component, as explained in the `DSProvider` section of the [DS Chakra UI](?path=/story/chakra-ui--page#dsprovider) document, your children components can use this hook function.
77
+
78
+ ```tsx
79
+ import { useNYPLTheme } from "@nypl/design-system-react-components";
80
+ const theme = useNYPLTheme();
81
+ ```
82
+
83
+ The theme variable will be a javascript object containing the NYPL design token style values. This will allow you to use design token values in your components through CSS-in-JS.
84
+
85
+ ```tsx
86
+ // theme
87
+ {
88
+ breakpoints: { ... },
89
+ colors: {
90
+ brand: { ... },
91
+ section: { ... },
92
+ transparent: { ... },
93
+ ui: { ... },
94
+ },
95
+ fontSizes: { ... },
96
+ fontWeights: { ... },
97
+ fonts: { ... },
98
+ radii: { ... },
99
+ space: { ... },
100
+ }
101
+ ```
102
+
103
+ #### Using in DS Components
104
+
105
+ The general rule of thumb is that DS components and the available variants should be used with the styles and variants as they are shown in Storybook, but there may be rare times when a component does require a modification. That said, if a DS component does need an updated style, first contact the Design System and UX teams about this update.
106
+
107
+ If you receive approval to make a change in a consuming app, then you can add styles directly to the `additionalStyles` prop. For example, if the `Heading` component needs to render text in NYPL's "success primary" green color and add a bold font weight, then you can do the following:
108
+
109
+ ```tsx
110
+ const theme = useNYPLTheme();
111
+
112
+ // ...
113
+ return (
114
+ <div>
115
+ <Heading
116
+ level={2}
117
+ additionalStyles={{
118
+ color: theme.colors.ui.success.primary,
119
+ fontWeight: theme.fontWeights.bold,
120
+ }}
121
+ >
122
+ Get a Digital Library Card Today in a Few Easy Steps
123
+ </Heading>
124
+ </div>
125
+ );
126
+ ```
127
+
128
+ IMPORTANT: At the moment, not all DS components have this prop or feature.
129
+
130
+ #### Using in HTML Components
131
+
132
+ For styling standard HTML elements, use the `style` attribute to add inline styles.
133
+
134
+ ```html
135
+ <p style={{ color: theme.colors.ui.success.primary }}>
136
+ If you are 13 or older and live, work, attend school, or pay property
137
+ taxes in New York State, you can get a free digital library card right
138
+ now using this online form. Visitors to New York State can also use this
139
+ form to apply for a temporary card.
140
+ </p>
141
+ ```
142
+
143
+ #### Using in Styled Components
144
+
145
+ For adding theme styles to styled-objects, use the theme object as a standard javascript variable.
146
+
147
+ ```tsx
148
+ const CustomButton = styled.button`
149
+ background: ${theme.colors.brand.primary};
150
+ `;
151
+ ```
152
+
153
+ ## NYPL Design Token Categories
154
+
155
+ The DS design tokens are broken into the following categories:
156
+
157
+ - [breakpoints](?path=/story/documentation-style-guide-breakpoints--page)
158
+ - [colors](?path=/story/documentation-style-guide-colors--page)
159
+ - brand
160
+ - section
161
+ - transparent
162
+ - ui
163
+ - radii
164
+ - [spacing](?path=/story/documentation-style-guide-spacing--page)
165
+ - [typography](?path=/story/documentation-style-guide-typography--page)
166
+ - font families
167
+ - font sizes
168
+ - font weights
169
+
170
+ For details related to a specific category, please refer to the corresponding section in the Style Guide available in the DS Storybook.
@@ -18,15 +18,17 @@ import { ListTypes } from "../List/ListTypes";
18
18
 
19
19
  # Forms
20
20
 
21
- Use the NYPL Design System [Form](https://nypl.github.io/nypl-design-system/storybook-static/?path=/story/form-elements-form--form) component to control the placement and spacing for standard HTML forms.
21
+ | Table of Contents |
22
+ | -------------------------------------------------- |
23
+ | 1. [General Information](#general-information) |
24
+ | 2. [Form Input Components](#form-input-components) |
25
+ | 3. [Input Labelling](#input-labelling) |
26
+ | 4. [Input States](#input-states) |
27
+ | 5. [Figma Reference](#figma-reference) |
22
28
 
23
- ## Style Guide Topics
29
+ ## General Information
24
30
 
25
- - [Form Layout](#form-layout)
26
- - [Form Input Components](#form-input-components)
27
- - [Input Labelling](#input-labelling)
28
- - [Input States](#input-states)
29
- - [Figma Reference](#figma-reference)
31
+ Use the NYPL Design System [Form](https://nypl.github.io/nypl-design-system/storybook-static/?path=/story/form-elements-form--form) component to control the placement and spacing for standard HTML forms.
30
32
 
31
33
  ## Form Layout
32
34