@nypl/design-system-react-components 1.0.0 → 1.0.3-beta

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 (296) hide show
  1. package/README.md +3 -5
  2. package/dist/components/Checkbox/Checkbox.d.ts +0 -1
  3. package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +8 -0
  4. package/dist/components/Heading/Heading.d.ts +2 -0
  5. package/dist/components/Logo/Logo.d.ts +1 -1
  6. package/dist/components/Logo/LogoSvgs.d.ts +4 -0
  7. package/dist/components/Slider/Slider.d.ts +1 -2
  8. package/dist/components/TextInput/TextInput.d.ts +2 -1
  9. package/dist/design-system-react-components.cjs.development.js +1038 -674
  10. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  11. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  12. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  13. package/dist/design-system-react-components.esm.js +1039 -675
  14. package/dist/design-system-react-components.esm.js.map +1 -1
  15. package/dist/hooks/{tests → __tests__}/useCarouselStyles.test.d.ts +0 -0
  16. package/dist/theme/components/button.d.ts +1 -0
  17. package/dist/theme/components/card.d.ts +98 -13
  18. package/dist/theme/components/checkboxGroup.d.ts +1 -1
  19. package/dist/theme/components/global.d.ts +2 -2
  20. package/dist/theme/components/heading.d.ts +4 -16
  21. package/dist/theme/components/image.d.ts +6 -0
  22. package/dist/theme/components/radio.d.ts +8 -0
  23. package/dist/theme/components/radioGroup.d.ts +1 -1
  24. package/dist/theme/components/skipNavigation.d.ts +3 -0
  25. package/dist/theme/components/structuredContent.d.ts +0 -5
  26. package/dist/theme/components/template.d.ts +4 -1
  27. package/dist/utils/utils.d.ts +15 -0
  28. package/package.json +6 -7
  29. package/CHANGELOG.md +0 -1399
  30. package/src/__tests__/fileMock.ts +0 -6
  31. package/src/__tests__/setup.ts +0 -27
  32. package/src/__tests__/utils/utils.test.ts +0 -18
  33. package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +0 -42
  34. package/src/components/Accordion/Accordion.stories.mdx +0 -361
  35. package/src/components/Accordion/Accordion.test.tsx +0 -237
  36. package/src/components/Accordion/Accordion.tsx +0 -136
  37. package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +0 -734
  38. package/src/components/Autosuggest/Autosuggest.stories.mdx +0 -75
  39. package/src/components/Autosuggest/Autosuggest.stories.tsx +0 -211
  40. package/src/components/Autosuggest/_Autosuggest.scss +0 -51
  41. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +0 -231
  42. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +0 -144
  43. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -98
  44. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +0 -695
  45. package/src/components/Button/Button.stories.mdx +0 -320
  46. package/src/components/Button/Button.test.tsx +0 -184
  47. package/src/components/Button/Button.tsx +0 -95
  48. package/src/components/Button/__snapshots__/Button.test.tsx.snap +0 -106
  49. package/src/components/ButtonGroup/ButtonGroup.stories.mdx +0 -147
  50. package/src/components/ButtonGroup/ButtonGroup.test.tsx +0 -141
  51. package/src/components/ButtonGroup/ButtonGroup.tsx +0 -99
  52. package/src/components/ButtonGroup/__snapshots__/ButtonGroup.test.tsx.snap +0 -117
  53. package/src/components/Card/Card.stories.mdx +0 -1043
  54. package/src/components/Card/Card.test.tsx +0 -388
  55. package/src/components/Card/Card.tsx +0 -345
  56. package/src/components/Card/__snapshots__/Card.test.tsx.snap +0 -568
  57. package/src/components/Chakra/Box.stories.mdx +0 -52
  58. package/src/components/Chakra/Center.stories.mdx +0 -96
  59. package/src/components/Chakra/Flex.stories.mdx +0 -111
  60. package/src/components/Chakra/Grid.stories.mdx +0 -89
  61. package/src/components/Chakra/Stack.stories.mdx +0 -109
  62. package/src/components/Checkbox/Checkbox.stories.mdx +0 -243
  63. package/src/components/Checkbox/Checkbox.test.tsx +0 -319
  64. package/src/components/Checkbox/Checkbox.tsx +0 -166
  65. package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +0 -616
  66. package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +0 -462
  67. package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +0 -492
  68. package/src/components/CheckboxGroup/CheckboxGroup.tsx +0 -173
  69. package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +0 -1722
  70. package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +0 -163
  71. package/src/components/ComponentWrapper/ComponentWrapper.tsx +0 -67
  72. package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +0 -98
  73. package/src/components/DatePicker/DatePicker.stories.mdx +0 -452
  74. package/src/components/DatePicker/DatePicker.test.tsx +0 -940
  75. package/src/components/DatePicker/DatePicker.tsx +0 -450
  76. package/src/components/DatePicker/_DatePicker.scss +0 -100
  77. package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +0 -889
  78. package/src/components/Fieldset/Fieldset.stories.mdx +0 -96
  79. package/src/components/Fieldset/Fieldset.test.tsx +0 -155
  80. package/src/components/Fieldset/Fieldset.tsx +0 -55
  81. package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +0 -89
  82. package/src/components/Form/Form.stories.mdx +0 -426
  83. package/src/components/Form/Form.test.tsx +0 -234
  84. package/src/components/Form/Form.tsx +0 -124
  85. package/src/components/Form/__snapshots__/Form.test.tsx.snap +0 -115
  86. package/src/components/Grid/SimpleGrid.stories.mdx +0 -338
  87. package/src/components/Grid/SimpleGrid.test.tsx +0 -79
  88. package/src/components/Grid/SimpleGrid.tsx +0 -49
  89. package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +0 -23
  90. package/src/components/Heading/Heading.stories.mdx +0 -184
  91. package/src/components/Heading/Heading.test.tsx +0 -171
  92. package/src/components/Heading/Heading.tsx +0 -101
  93. package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +0 -90
  94. package/src/components/HelperErrorText/HelperErrorText.stories.mdx +0 -172
  95. package/src/components/HelperErrorText/HelperErrorText.test.tsx +0 -114
  96. package/src/components/HelperErrorText/HelperErrorText.tsx +0 -62
  97. package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +0 -93
  98. package/src/components/Hero/Hero.stories.mdx +0 -378
  99. package/src/components/Hero/Hero.test.tsx +0 -611
  100. package/src/components/Hero/Hero.tsx +0 -203
  101. package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +0 -379
  102. package/src/components/HorizontalRule/HorizontalRule.stories.mdx +0 -73
  103. package/src/components/HorizontalRule/HorizontalRule.test.tsx +0 -54
  104. package/src/components/HorizontalRule/HorizontalRule.tsx +0 -27
  105. package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +0 -44
  106. package/src/components/Icons/Icon.stories.mdx +0 -413
  107. package/src/components/Icons/Icon.test.tsx +0 -120
  108. package/src/components/Icons/Icon.tsx +0 -187
  109. package/src/components/Icons/IconSvgs.tsx +0 -64
  110. package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +0 -129
  111. package/src/components/Image/Image.stories.mdx +0 -332
  112. package/src/components/Image/Image.test.tsx +0 -155
  113. package/src/components/Image/Image.tsx +0 -171
  114. package/src/components/Image/__snapshots__/Image.test.tsx.snap +0 -269
  115. package/src/components/Label/Label.stories.mdx +0 -100
  116. package/src/components/Label/Label.test.tsx +0 -116
  117. package/src/components/Label/Label.tsx +0 -55
  118. package/src/components/Label/__snapshots__/Label.test.tsx.snap +0 -45
  119. package/src/components/Link/Link.stories.mdx +0 -249
  120. package/src/components/Link/Link.test.tsx +0 -224
  121. package/src/components/Link/Link.tsx +0 -178
  122. package/src/components/Link/__snapshots__/Link.test.tsx.snap +0 -286
  123. package/src/components/List/List.stories.mdx +0 -393
  124. package/src/components/List/List.test.tsx +0 -265
  125. package/src/components/List/List.tsx +0 -156
  126. package/src/components/List/__snapshots__/List.test.tsx.snap +0 -213
  127. package/src/components/Logo/Logo.stories.mdx +0 -290
  128. package/src/components/Logo/Logo.test.tsx +0 -116
  129. package/src/components/Logo/Logo.tsx +0 -147
  130. package/src/components/Logo/LogoSvgs.tsx +0 -82
  131. package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +0 -142
  132. package/src/components/Modal/Modal.stories.mdx +0 -301
  133. package/src/components/Modal/Modal.test.tsx +0 -157
  134. package/src/components/Modal/Modal.tsx +0 -154
  135. package/src/components/Modal/__snapshots__/Modal.test.tsx.snap +0 -25
  136. package/src/components/Notification/Notification.stories.mdx +0 -358
  137. package/src/components/Notification/Notification.test.tsx +0 -279
  138. package/src/components/Notification/Notification.tsx +0 -224
  139. package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +0 -525
  140. package/src/components/Pagination/Pagination.stories.mdx +0 -184
  141. package/src/components/Pagination/Pagination.test.tsx +0 -419
  142. package/src/components/Pagination/Pagination.tsx +0 -269
  143. package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -544
  144. package/src/components/Placeholder/Placeholder.tsx +0 -19
  145. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +0 -360
  146. package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +0 -298
  147. package/src/components/ProgressIndicator/ProgressIndicator.tsx +0 -132
  148. package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +0 -434
  149. package/src/components/Radio/Radio.stories.mdx +0 -216
  150. package/src/components/Radio/Radio.test.tsx +0 -247
  151. package/src/components/Radio/Radio.tsx +0 -128
  152. package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +0 -411
  153. package/src/components/RadioGroup/RadioGroup.stories.mdx +0 -478
  154. package/src/components/RadioGroup/RadioGroup.test.tsx +0 -471
  155. package/src/components/RadioGroup/RadioGroup.tsx +0 -170
  156. package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +0 -1430
  157. package/src/components/SearchBar/SearchBar.stories.mdx +0 -518
  158. package/src/components/SearchBar/SearchBar.test.tsx +0 -435
  159. package/src/components/SearchBar/SearchBar.tsx +0 -210
  160. package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +0 -1027
  161. package/src/components/Select/Select.stories.mdx +0 -439
  162. package/src/components/Select/Select.test.tsx +0 -358
  163. package/src/components/Select/Select.tsx +0 -181
  164. package/src/components/Select/__snapshots__/Select.test.tsx.snap +0 -885
  165. package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +0 -142
  166. package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +0 -116
  167. package/src/components/SkeletonLoader/SkeletonLoader.tsx +0 -123
  168. package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +0 -898
  169. package/src/components/SkipNavigation/SkipNavigation.stories.mdx +0 -90
  170. package/src/components/SkipNavigation/SkipNavigation.test.tsx +0 -63
  171. package/src/components/SkipNavigation/SkipNavigation.tsx +0 -51
  172. package/src/components/SkipNavigation/__snapshots__/SkipNavigation.test.tsx.snap +0 -130
  173. package/src/components/Slider/Slider.stories.mdx +0 -628
  174. package/src/components/Slider/Slider.test.tsx +0 -736
  175. package/src/components/Slider/Slider.tsx +0 -322
  176. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +0 -2153
  177. package/src/components/StatusBadge/StatusBadge.stories.mdx +0 -109
  178. package/src/components/StatusBadge/StatusBadge.test.tsx +0 -70
  179. package/src/components/StatusBadge/StatusBadge.tsx +0 -35
  180. package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +0 -47
  181. package/src/components/StructuredContent/StructuredContent.stories.mdx +0 -567
  182. package/src/components/StructuredContent/StructuredContent.test.tsx +0 -435
  183. package/src/components/StructuredContent/StructuredContent.tsx +0 -139
  184. package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +0 -368
  185. package/src/components/StyleGuide/Bidirectionality.stories.mdx +0 -206
  186. package/src/components/StyleGuide/Breakpoints.stories.mdx +0 -55
  187. package/src/components/StyleGuide/Buttons.stories.mdx +0 -194
  188. package/src/components/StyleGuide/ColorCard.tsx +0 -43
  189. package/src/components/StyleGuide/Colors.stories.mdx +0 -201
  190. package/src/components/StyleGuide/DesignTokens.stories.mdx +0 -193
  191. package/src/components/StyleGuide/Forms.stories.mdx +0 -94
  192. package/src/components/StyleGuide/Iconography.stories.mdx +0 -142
  193. package/src/components/StyleGuide/Spacing.stories.mdx +0 -116
  194. package/src/components/StyleGuide/Typography.stories.mdx +0 -419
  195. package/src/components/Table/Table.stories.mdx +0 -276
  196. package/src/components/Table/Table.test.tsx +0 -208
  197. package/src/components/Table/Table.tsx +0 -131
  198. package/src/components/Table/__snapshots__/Table.test.tsx.snap +0 -1703
  199. package/src/components/Tabs/Tabs.stories.mdx +0 -338
  200. package/src/components/Tabs/Tabs.test.tsx +0 -298
  201. package/src/components/Tabs/Tabs.tsx +0 -264
  202. package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +0 -584
  203. package/src/components/Template/Template.stories.mdx +0 -691
  204. package/src/components/Template/Template.test.tsx +0 -309
  205. package/src/components/Template/Template.tsx +0 -326
  206. package/src/components/Template/__snapshots__/Template.test.tsx.snap +0 -342
  207. package/src/components/Text/Text.stories.mdx +0 -103
  208. package/src/components/Text/Text.test.tsx +0 -63
  209. package/src/components/Text/Text.tsx +0 -50
  210. package/src/components/Text/__snapshots__/Text.test.tsx.snap +0 -50
  211. package/src/components/TextInput/TextInput.stories.mdx +0 -268
  212. package/src/components/TextInput/TextInput.test.tsx +0 -451
  213. package/src/components/TextInput/TextInput.tsx +0 -240
  214. package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +0 -264
  215. package/src/components/Toggle/Toggle.stories.mdx +0 -237
  216. package/src/components/Toggle/Toggle.test.tsx +0 -170
  217. package/src/components/Toggle/Toggle.tsx +0 -126
  218. package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +0 -442
  219. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +0 -211
  220. package/src/components/VideoPlayer/VideoPlayer.test.tsx +0 -308
  221. package/src/components/VideoPlayer/VideoPlayer.tsx +0 -188
  222. package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +0 -187
  223. package/src/docs/Chakra.stories.mdx +0 -563
  224. package/src/docs/Welcome.stories.mdx +0 -148
  225. package/src/helpers/types.ts +0 -1
  226. package/src/hooks/tests/useCarouselStyles.test.ts +0 -140
  227. package/src/hooks/tests/useNYPLTheme.test.tsx +0 -36
  228. package/src/hooks/useCarouselStyles.stories.mdx +0 -30
  229. package/src/hooks/useCarouselStyles.ts +0 -35
  230. package/src/hooks/useNYPLTheme.stories.mdx +0 -98
  231. package/src/hooks/useNYPLTheme.ts +0 -91
  232. package/src/hooks/useWindowSize.stories.mdx +0 -23
  233. package/src/hooks/useWindowSize.ts +0 -40
  234. package/src/index.ts +0 -136
  235. package/src/resources.scss +0 -6
  236. package/src/styles/base/_01-breakpoints.scss +0 -27
  237. package/src/styles/base/_02-mixins.scss +0 -103
  238. package/src/styles/base/_place-holder.scss +0 -33
  239. package/src/styles/space/_space-inline.scss +0 -79
  240. package/src/styles/space/_space-inset.scss +0 -57
  241. package/src/styles/space/_space-stack.scss +0 -116
  242. package/src/styles.scss +0 -23
  243. package/src/theme/components/accordion.ts +0 -25
  244. package/src/theme/components/breadcrumb.ts +0 -94
  245. package/src/theme/components/button.ts +0 -132
  246. package/src/theme/components/buttonGroup.ts +0 -10
  247. package/src/theme/components/card.ts +0 -231
  248. package/src/theme/components/checkbox.ts +0 -110
  249. package/src/theme/components/checkboxGroup.ts +0 -10
  250. package/src/theme/components/componentWrapper.ts +0 -14
  251. package/src/theme/components/customTable.ts +0 -77
  252. package/src/theme/components/datePicker.ts +0 -17
  253. package/src/theme/components/fieldset.ts +0 -23
  254. package/src/theme/components/global.ts +0 -91
  255. package/src/theme/components/globalMixins.ts +0 -24
  256. package/src/theme/components/heading.ts +0 -79
  257. package/src/theme/components/helperErrorText.ts +0 -14
  258. package/src/theme/components/hero.ts +0 -238
  259. package/src/theme/components/horizontalRule.ts +0 -17
  260. package/src/theme/components/icon.ts +0 -88
  261. package/src/theme/components/image.ts +0 -135
  262. package/src/theme/components/label.ts +0 -15
  263. package/src/theme/components/link.ts +0 -63
  264. package/src/theme/components/list.ts +0 -88
  265. package/src/theme/components/logo.ts +0 -58
  266. package/src/theme/components/notification.ts +0 -132
  267. package/src/theme/components/pagination.ts +0 -17
  268. package/src/theme/components/progressIndicator.ts +0 -67
  269. package/src/theme/components/radio.ts +0 -103
  270. package/src/theme/components/radioGroup.ts +0 -10
  271. package/src/theme/components/searchBar.ts +0 -19
  272. package/src/theme/components/select.ts +0 -72
  273. package/src/theme/components/skeletonLoader.ts +0 -113
  274. package/src/theme/components/skipNavigation.ts +0 -26
  275. package/src/theme/components/slider.ts +0 -95
  276. package/src/theme/components/statusBadge.ts +0 -26
  277. package/src/theme/components/structuredContent.ts +0 -149
  278. package/src/theme/components/tabs.ts +0 -109
  279. package/src/theme/components/template.ts +0 -114
  280. package/src/theme/components/text.ts +0 -38
  281. package/src/theme/components/textInput.ts +0 -65
  282. package/src/theme/components/toggle.ts +0 -109
  283. package/src/theme/components/videoPlayer.ts +0 -47
  284. package/src/theme/foundations/breakpoints.ts +0 -24
  285. package/src/theme/foundations/colors.ts +0 -212
  286. package/src/theme/foundations/global.ts +0 -43
  287. package/src/theme/foundations/radii.ts +0 -7
  288. package/src/theme/foundations/shadows.ts +0 -5
  289. package/src/theme/foundations/spacing.ts +0 -136
  290. package/src/theme/foundations/typography.ts +0 -107
  291. package/src/theme/index.ts +0 -131
  292. package/src/theme/provider.tsx +0 -9
  293. package/src/theme/types.ts +0 -1
  294. package/src/utils/componentCategories.ts +0 -152
  295. package/src/utils/interfaces.ts +0 -5
  296. package/src/utils/utils.ts +0 -44
@@ -1,194 +0,0 @@
1
- import { Canvas, Meta } from "@storybook/addon-docs";
2
-
3
- import Button from "../Button/Button";
4
- import ButtonGroup from "../ButtonGroup/ButtonGroup";
5
- import Icon from "../Icons/Icon";
6
- import { getCategory } from "../../utils/componentCategories";
7
- import DSProvider from "../../theme/provider";
8
-
9
- <Meta title={getCategory("Buttons")} />
10
-
11
- # Buttons
12
-
13
- | Table of Contents |
14
- | ---------------------------------------------- |
15
- | 1. [General Information](#general-information) |
16
- | 2. [Guidelines](#guidelines) |
17
- | 3. [Button Groups](#button-groups) |
18
- | 4. [Button Types](#button-types) |
19
- | 5. [Patterns](#patterns) |
20
- | 6. [Figma Reference](#figma-reference) |
21
-
22
- ## General Information
23
-
24
- Use the [Button](https://nypl.github.io/nypl-design-system/reservoir/v1/?path=/docs/components-form-elements-button--button-with-controls)
25
- component to render form buttons.
26
-
27
- ```jsx
28
- import { Button } from "@nypl/design-system-react-components";
29
-
30
- <Button id="btn">Button Text</Button>;
31
- ```
32
-
33
- ## Guidelines
34
-
35
- - Button text is optional.
36
- - Button text should be title case.
37
- - Button icon is optional.
38
- - Buttons may have an icon on either the left or the right.
39
- - Buttons by default are blue. However, Donation callout buttons are red.
40
- - Buttons used for Back to Top actions have a Secondary button style with an
41
- arrow icon pointing up.
42
- - When buttons are used in a group, they should be wrapped in a `ButtonGroup`.
43
- - When buttons are used in a group where the user can move forward or backward,
44
- the `Primary` button is on the right and the `Secondary` button on the left
45
- (i.e. cancel = secondary, submit = primary).
46
-
47
- ## Button Groups
48
-
49
- When `Button` components are displayed in a group, use the `ButtonGroup`
50
- component to handle the spacing and layout. The `ButtonGroup` component will use
51
- `--nypl-space-xs` (0.5rem) for spacing in horizontal group layouts.
52
-
53
- Standalone `Button` components and the `ButtonGroup` component should use
54
- `--nypl-space-l` (2rem) for spacing between all other UI elements. This spacing
55
- can be achieved by using the `Form` component to wrap the `Button`s.
56
-
57
- <Canvas>
58
- <DSProvider>
59
- <ButtonGroup>
60
- <Button id="basic">Button Text</Button>
61
- <Button id="btn-search">
62
- <Icon name="search" size="small" align="left" />
63
- Button Text
64
- </Button>
65
- <Button id="only-icon">
66
- <Icon name="close" size="medium" />
67
- </Button>
68
- <Button buttonType="callout" id="donate">
69
- Donate
70
- </Button>
71
- <Button buttonType="secondary" id="btn-back-to-top">
72
- Back to Top
73
- <Icon
74
- name="arrow"
75
- size="small"
76
- align="right"
77
- iconRotation="rotate180"
78
- />
79
- </Button>
80
- </ButtonGroup>
81
- </DSProvider>
82
- </Canvas>
83
-
84
- ## Button Types
85
-
86
- The `buttonType` prop should be used to render various forms of the button
87
- component.
88
-
89
- <Canvas>
90
- <DSProvider>
91
- <ButtonGroup>
92
- <Button buttonType="primary" id="primary">
93
- Primary Button
94
- </Button>
95
- <Button buttonType="secondary" id="secondary">
96
- Secondary Button
97
- </Button>
98
- <Button buttonType="callout" id="callout">
99
- Callout Button
100
- </Button>
101
- <Button buttonType="pill" id="pill">
102
- Pill Button
103
- </Button>
104
- <Button buttonType="link" id="link">
105
- Link Button
106
- </Button>
107
- <Button buttonType="noBrand" id="noBrand">
108
- NoBrand Button
109
- </Button>
110
- </ButtonGroup>
111
- </DSProvider>
112
- </Canvas>
113
-
114
- ### Primary
115
-
116
- - used for actions that move the user forward
117
- - Visual Treatment: rectangular, filled
118
-
119
- ### Secondary
120
-
121
- - used for actions that move the user back, such as a form cancel button
122
- - often paired with a Primary button
123
- - Visual Treatment: rectangular, outlined
124
-
125
- ### Callout
126
-
127
- - used for call to actions such as donation buttons
128
- - Visual Treatment: rectangular, NYPL red background
129
-
130
- ### Pill
131
-
132
- - used for equally weighted actions
133
- - should only be used for buttons that are displayed in a set (i.e. never use for a singleton button)
134
- - Visual Treatment: rounded, outlined
135
-
136
- ### Link
137
-
138
- - used for equally weighted actions
139
- - Visual Treatment: text link with underline
140
-
141
- ### NoBrand
142
-
143
- - used in cases where there is no brand color
144
- - Visual Treatment: rectangular, filled with a black background
145
-
146
- ## Patterns
147
-
148
- - Buttons are blue by default.
149
- - Buttons that are intended as a call out (i.e. Donation buttons) should be set
150
- as `"callout"`.
151
- - The "Back to Top" button must be set as `"secondary"` and must include an up
152
- arrow icon.
153
- - Previous and Next buttons should be set as `"secondary"` and be wrapped in a
154
- `ButtonGroup`.
155
- - Only use the `"noBrand"` style where there is no brand color. _This should be
156
- rarely used._
157
-
158
- <Canvas>
159
- <DSProvider>
160
- <ButtonGroup>
161
- <Button buttonType="callout" id="callout2">
162
- Donate to this library
163
- </Button>
164
- <Button buttonType="secondary" id="secondary2">
165
- Back to Top
166
- <Icon
167
- align="right"
168
- iconRotation="rotate180"
169
- name="arrow"
170
- size="small"
171
- />
172
- </Button>
173
- <Button buttonType="secondary" id="previous">
174
- <Icon align="left" iconRotation="rotate90" name="arrow" size="small" />
175
- Previous
176
- </Button>
177
- <Button buttonType="secondary" id="next">
178
- Next
179
- <Icon
180
- align="right"
181
- iconRotation="rotate270"
182
- name="arrow"
183
- size="small"
184
- />
185
- </Button>
186
- </ButtonGroup>
187
- </DSProvider>
188
- </Canvas>
189
-
190
- ## Figma Reference
191
-
192
- For more styling information, please refer to the Figma Main file.
193
-
194
- - https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=11477%3A2298
@@ -1,43 +0,0 @@
1
- import * as React from "react";
2
-
3
- import Card from "../Card/Card";
4
- import Heading from "../Heading/Heading";
5
-
6
- export interface ColorCardProps {
7
- /** backgroundColor of the color card */
8
- backgroundColor: string;
9
- /** name of the CSS var */
10
- colorName: string;
11
- }
12
-
13
- /**
14
- * ColorCard
15
- * Component only used for Storybook.
16
- */
17
- export default function ColorCard(
18
- props: React.PropsWithChildren<ColorCardProps>
19
- ) {
20
- const { backgroundColor, colorName = "" } = props;
21
-
22
- return (
23
- <div style={{ display: "flex", alignItems: "center" }}>
24
- <Card
25
- backgroundColor={backgroundColor}
26
- isBordered
27
- isCentered
28
- layout="column"
29
- />
30
- <div style={{ marginLeft: "1rem" }}>
31
- <Heading level="four">{colorName}</Heading>
32
- {/*
33
- TODO:
34
- This code is returning the CSS variable name. This is not what we
35
- want. Rather, we want to see the variable's hex value. This is
36
- somethign we will need to come back to.
37
-
38
- <Text noSpace>{backgroundColor}</Text>
39
- */}
40
- </div>
41
- </div>
42
- );
43
- }
@@ -1,201 +0,0 @@
1
- import { Canvas, Meta } from "@storybook/addon-docs";
2
-
3
- import ColorCard from "./ColorCard";
4
- import Heading from "../Heading/Heading";
5
- import SimpleGrid from "../Grid/SimpleGrid";
6
- import { getCategory } from "../../utils/componentCategories";
7
- import DSProvider from "../../theme/provider";
8
-
9
- export const cssVars = {
10
- brand: ["--nypl-colors-brand-primary", "--nypl-colors-brand-secondary"],
11
- blogs: [
12
- "--nypl-colors-section-blogs-primary",
13
- "--nypl-colors-section-blogs-secondary",
14
- ],
15
- booksAndMore: [
16
- "--nypl-colors-section-books-and-more-primary",
17
- "--nypl-colors-section-books-and-more-secondary",
18
- ],
19
- education: [
20
- "--nypl-colors-section-education-primary",
21
- "--nypl-colors-section-education-secondary",
22
- ],
23
- locations: [
24
- "--nypl-colors-section-locations-primary",
25
- "--nypl-colors-section-locations-secondary",
26
- ],
27
- research: [
28
- "--nypl-colors-section-research-primary",
29
- "--nypl-colors-section-research-secondary",
30
- ],
31
- researchLibraries: [
32
- "--nypl-colors-section-research-library-lpa",
33
- "--nypl-colors-section-research-library-schomburg",
34
- "--nypl-colors-section-research-library-schwartzman",
35
- ],
36
- whatsOn: [
37
- "--nypl-colors-section-whats-on-primary",
38
- "--nypl-colors-section-whats-on-secondary",
39
- ],
40
- ui: [
41
- "--nypl-colors-ui-black",
42
- "--nypl-colors-ui-white",
43
- "--nypl-colors-ui-disabled-primary",
44
- "--nypl-colors-ui-disabled-secondary",
45
- "--nypl-colors-ui-error-primary",
46
- "--nypl-colors-ui-error-secondary",
47
- "--nypl-colors-ui-focus",
48
- "--nypl-colors-ui-link-primary",
49
- "--nypl-colors-ui-link-secondary",
50
- "--nypl-colors-ui-status-primary",
51
- "--nypl-colors-ui-status-secondary",
52
- "--nypl-colors-ui-success-primary",
53
- "--nypl-colors-ui-success-secondary",
54
- "--nypl-colors-ui-test",
55
- "--nypl-colors-ui-warning-primary",
56
- "--nypl-colors-ui-warning-secondary",
57
- ],
58
- grayscale: [
59
- "--nypl-colors-ui-gray-xdark",
60
- "--nypl-colors-ui-gray-dark",
61
- "--nypl-colors-ui-gray-medium",
62
- "--nypl-colors-ui-gray-light-cool",
63
- "--nypl-colors-ui-gray-light-warm",
64
- "--nypl-colors-ui-gray-x-light-cool",
65
- "--nypl-colors-ui-gray-x-light-warm",
66
- "--nypl-colors-ui-gray-xx-light-cool",
67
- ],
68
- };
69
-
70
- export const makeColorCard = function (key) {
71
- const cssValue = `var(${key})`;
72
- const card = (
73
- <ColorCard backgroundColor={cssValue} colorName={key} key={key} />
74
- );
75
- return card;
76
- };
77
-
78
- export const getColorCards = (cat) => {
79
- const cards = [];
80
- const catArr = cssVars[cat];
81
- for (let i = 0; i < catArr.length; i++) {
82
- const varName = catArr[i];
83
- const card = makeColorCard(varName);
84
- cards.push(card);
85
- }
86
- return cards;
87
- };
88
-
89
- <Meta title={getCategory("Colors")} />
90
-
91
- # NYPL Colors
92
-
93
- | Table of Contents |
94
- | ---------------------------------------- |
95
- | 1. [Brand Colors](#brand-colors) |
96
- | 2. [Section Colors](#section-colors) |
97
- | 3. [Utility Colors](#utility-colors) |
98
- | 3. [Grayscale Colors](#grayscale-colors) |
99
- | 4. [Figma Reference](#figma-reference) |
100
-
101
- ## Brand Colors
102
-
103
- Brand fills are the NYPL primary and secondary colors.
104
-
105
- <Canvas>
106
- <DSProvider>
107
- <SimpleGrid columns={1}>{getColorCards("brand")}</SimpleGrid>
108
- </DSProvider>
109
- </Canvas>
110
-
111
- ## Section Colors
112
-
113
- Section colors are branding colors only in use at NYPL.
114
-
115
- <Canvas>
116
- <DSProvider>
117
- <Heading>Blogs</Heading>
118
- <p>Blogs is used for the Blogs section.</p>
119
- <SimpleGrid columns={1}>{getColorCards("blogs")}</SimpleGrid>
120
- </DSProvider>
121
- </Canvas>
122
-
123
- <Canvas>
124
- <DSProvider>
125
- <Heading>Books and More</Heading>
126
- <p>
127
- Books and More is used for the Catalog, Staff Picks, Recommendations, New
128
- Arrivals, and E-Book Central.
129
- </p>
130
- <SimpleGrid columns={1}>{getColorCards("booksAndMore")}</SimpleGrid>
131
- </DSProvider>
132
- </Canvas>
133
-
134
- <Canvas>
135
- <DSProvider>
136
- <Heading>Education</Heading>
137
- <p>
138
- Education is used for the Education section front and all associated
139
- sub-sections.
140
- </p>
141
- <SimpleGrid columns={1}>{getColorCards("education")}</SimpleGrid>
142
- </DSProvider>
143
- </Canvas>
144
-
145
- <Canvas>
146
- <DSProvider>
147
- <Heading>Locations</Heading>
148
- <p>
149
- Locations is used for Location Finder and all branch pages with the
150
- exceptions of some research libraries.
151
- </p>
152
- <SimpleGrid columns={1}>{getColorCards("locations")}</SimpleGrid>
153
- </DSProvider>
154
- </Canvas>
155
-
156
- <Canvas>
157
- <DSProvider>
158
- <Heading>Research</Heading>
159
- <p>Research is used for the Research Catalog and SCC.</p>
160
- <SimpleGrid columns={1}>{getColorCards("research")}</SimpleGrid>
161
- </DSProvider>
162
- </Canvas>
163
-
164
- <Canvas>
165
- <DSProvider>
166
- <Heading>Research Libraries</Heading>
167
- <p>Research libraries with specific brand colors to adhere to.</p>
168
- <SimpleGrid columns={1}>{getColorCards("researchLibraries")}</SimpleGrid>
169
- </DSProvider>
170
- </Canvas>
171
-
172
- <Canvas>
173
- <DSProvider>
174
- <Heading>What's On</Heading>
175
- <p>What's On is used for Events, Exhibitions &amp; Audio Guides.</p>
176
- <SimpleGrid columns={1}>{getColorCards("whatsOn")}</SimpleGrid>
177
- </DSProvider>
178
- </Canvas>
179
-
180
- ## Utility Colors
181
-
182
- <Canvas>
183
- <DSProvider>
184
- <SimpleGrid columns={1}>{getColorCards("ui")}</SimpleGrid>
185
- </DSProvider>
186
- </Canvas>
187
-
188
- ## Grayscale Colors
189
-
190
- <Canvas>
191
- <DSProvider>
192
- <SimpleGrid columns={1}>{getColorCards("grayscale")}</SimpleGrid>
193
- </DSProvider>
194
- </Canvas>
195
-
196
- ## Figma Reference
197
-
198
- For additional spacing information, please refer to the Figma Main file.
199
-
200
- - [NYPL Brand Colors](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=15454%3A47007)
201
- - [NYPL UI Colors](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=47083%3A27674)
@@ -1,193 +0,0 @@
1
- import { Meta } from "@storybook/addon-docs";
2
-
3
- import { getCategory } from "../../utils/componentCategories";
4
-
5
- <Meta title={getCategory("Design Tokens")} />
6
-
7
- # Design Tokens
8
-
9
- | Table of Contents |
10
- | ---------------------------------------------------------------------------------------------- |
11
- | 1. [What are Design Tokens?](#what-are-design-tokens) |
12
- | 2. [Why Use Design Tokens?](#why-use-design-tokens) |
13
- | 3. [How to Use the Reservoir Design Tokens](#figma-reference) |
14
- | 4. [Using Reservoir Design Tokens in CSS](#using-reservoir-design-tokens-in-css) |
15
- | 5. [Using Reservoir Design Tokens in Javascript](#using-reservoir-design-tokens-in-javascript) |
16
- | 6. [Reservoir Design Token Categories](#reservoir-design-token-categories) |
17
-
18
- ## What are Design Tokens?
19
-
20
- Design tokens are the style values that define a design system. These values
21
- can include, but may not be limited to, spacing, color, typography, breakpoints
22
- and object styles. Ultimately, these values are used to construct and maintain
23
- the components that make up our system.
24
-
25
- ## Why Use Design Tokens?
26
-
27
- _"With design tokens, you can capture low-level values and then use them to
28
- create the styles for your product or app. You can maintain a scalable and
29
- consistent visual system for UI development."_ - Jina Bolton, Lead Designer
30
- for the Salesforce Design System
31
-
32
- Design tokens are a single source of truth when it comes to styles. They allow
33
- an organization to more easily build multiple applications - web and/or native -
34
- that feel and look the same without slowing down the development team.
35
-
36
- ## How to Use the Reservoir Design Tokens
37
-
38
- The NYPL design tokens are built into the Reservoir Design System (DS) and are
39
- offered in two formats for consumption: CSS variables and javascript data
40
- objects. To access either of these formats, the DS `v0.25.9` or higher needs
41
- to be properly installed in a consuming React application.
42
-
43
- ## Using Reservoir Design Tokens in CSS
44
-
45
- If your app uses CSS or SCSS to handle styles, the DS creates standard CSS
46
- custom properties (e.g. variables) for consumption in your stylesheets. If the
47
- DS is properly installed, the CSS custom properties will be available for you
48
- to use. Nothing more needs to be done to your app.
49
-
50
- To assist with CSS scope isolation, all of the CSS custom properties created
51
- by the DS are prefixed with "nypl." Please see the examples below.
52
-
53
- ```css
54
- --nypl-colors-brand-primary
55
- --nypl-colors-brand-secondary
56
- --nypl-fontSizes-sm
57
- --nypl-fontSizes-md
58
- --nypl-fontSizes-lg
59
- --nypl-fontSizes-xl
60
- --nypl-space-xxs
61
- --nypl-space-xs
62
- --nypl-space-s
63
- --nypl-space-m
64
- --nypl-space-l
65
- ```
66
-
67
- The CSS custom properties are defined on the :root pseudo-class and should be
68
- implemented using standard CSS custom properties conventions.
69
-
70
- ```css
71
- /* Property Declaration in the DS */
72
- :root {
73
- --nypl-colors-brand-primary: #c60917;
74
- }
75
-
76
- /* Property Usage in Your Application */
77
- .custom-button {
78
- background: var(--nypl-colors-brand-primary);
79
- }
80
- ```
81
-
82
- ## Using Reservoir Design Tokens in Javascript
83
-
84
- If you would like to use CSS-in-JS styles in your React components, the
85
- `useNYPLTheme` hook will provide you with Reservoir design token values. The hook
86
- depends on the `DSProvider` component and will not work properly outside of
87
- the `DSProvider` wrapper component.
88
-
89
- After importing and implementing the `DSProvider` wrapper component, as
90
- explained in the `DSProvider` section of the [DS Chakra UI](?path=/story/chakra-ui--page#dsprovider)
91
- document, your children components can use this hook function.
92
-
93
- ```tsx
94
- import { useNYPLTheme } from "@nypl/design-system-react-components";
95
- const theme = useNYPLTheme();
96
- ```
97
-
98
- The theme variable will be a javascript object containing the NYPL design
99
- token style values. This will allow you to use design token values in your
100
- components through CSS-in-JS.
101
-
102
- ```tsx
103
- // theme
104
- {
105
- breakpoints: { ... },
106
- colors: {
107
- brand: { ... },
108
- section: { ... },
109
- transparent: { ... },
110
- ui: { ... },
111
- },
112
- fontSizes: { ... },
113
- fontWeights: { ... },
114
- fonts: { ... },
115
- radii: { ... },
116
- space: { ... },
117
- }
118
- ```
119
-
120
- #### Using in DS Components
121
-
122
- The general rule of thumb is that DS components and the available variants
123
- should be used with the styles and variants as they are shown in Storybook,
124
- but there may be rare times when a component does require a modification.
125
- That said, if a DS component does need an updated style, first contact the
126
- Design System and UX teams about this update.
127
-
128
- If you receive approval to make a change in a consuming app, then you can add
129
- styles directly as style props. For example, if the `Heading` component needs to
130
- render text in Reservoir's "success primary" green color and add a bold font
131
- weight, then you can do the following:
132
-
133
- ```tsx
134
- const theme = useNYPLTheme();
135
-
136
- // ...
137
- return (
138
- <div>
139
- <Heading
140
- level={2}
141
- color={theme.colors.ui.success.primary}
142
- fontWeight={theme.fontWeights.bold}
143
- >
144
- Get a Digital Library Card Today in a Few Easy Steps
145
- </Heading>
146
- </div>
147
- );
148
- ```
149
-
150
- IMPORTANT: At the moment, not all DS components have this prop or feature.
151
-
152
- #### Using in HTML Components
153
-
154
- For styling standard HTML elements, use the `style` attribute to add inline styles.
155
-
156
- ```html
157
- <p style={{ color: theme.colors.ui.success.primary }}>
158
- If you are 13 or older and live, work, attend school, or pay property
159
- taxes in New York State, you can get a free digital library card right
160
- now using this online form. Visitors to New York State can also use this
161
- form to apply for a temporary card.
162
- </p>
163
- ```
164
-
165
- #### Using in Styled Components
166
-
167
- For adding theme styles to styled-objects, use the theme object as a standard javascript variable.
168
-
169
- ```tsx
170
- const CustomButton = styled.button`
171
- background: ${theme.colors.brand.primary};
172
- `;
173
- ```
174
-
175
- ## Reservoir Design Token Categories
176
-
177
- The DS design tokens are broken into the following categories:
178
-
179
- - [breakpoints](?path=/story/documentation-style-guide-breakpoints--page)
180
- - [colors](?path=/story/documentation-style-guide-colors--page)
181
- - brand
182
- - section
183
- - transparent
184
- - ui
185
- - radii
186
- - [spacing](?path=/story/documentation-style-guide-spacing--page)
187
- - [typography](?path=/story/documentation-style-guide-typography--page)
188
- - font families
189
- - font sizes
190
- - font weights
191
-
192
- For details related to a specific category, please refer to the corresponding
193
- section in the Style Guide available in the DS Storybook.