@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,419 +0,0 @@
1
- import { Canvas, Meta } from "@storybook/addon-docs";
2
-
3
- import Heading from "../Heading/Heading";
4
- import List from "../List/List";
5
- import Text from "../Text/Text";
6
- import { getCategory } from "../../utils/componentCategories";
7
- import DSProvider from "../../theme/provider";
8
-
9
- <Meta title={getCategory("Typography")} />
10
-
11
- # Typography
12
-
13
- | Table of Contents |
14
- | ---------------------------------------------- |
15
- | 1. [General Information](#general-information) |
16
- | 2. [Heading Component](#heading-component) |
17
- | 3. [Text Component](#text-component) |
18
- | 4. [Font Family](#font-family) |
19
- | 5. [Font Color](#font-color) |
20
- | 6. [Font Weight](#font-weight) |
21
- | 7. [Font Sizes](#font-sizes) |
22
- | 8. [Text Case](#text-case) |
23
- | 9. [Character Count](#character-count) |
24
- | 10. [Figma Reference](#figma-reference) |
25
-
26
- ## General Information
27
-
28
- Consuming applications should utilize the Reservoir Design System (DS) standard
29
- text components as much as possible. In cases where that is not possible, the
30
- DS exposes CSS variables to assist with formatting text elements.
31
-
32
- The sizing of all text elements in the Design System is based on `1rem` being
33
- equal to `16px`.
34
-
35
- ## Heading Component
36
-
37
- Use the DS [Heading](/docs/components-typography-styles-heading--heading-props)
38
- component to render a standard HTML `<h>` tag. The `level` prop can be used to
39
- set the specific `<h>` tag that you require.
40
-
41
- <Canvas>
42
- <DSProvider>
43
- <Heading level="one">Heading Level 1</Heading>
44
- <Heading level="two">Heading Level 2</Heading>
45
- <Heading level="three">Heading Level 3</Heading>
46
- <Heading level="four">Heading Level 4</Heading>
47
- </DSProvider>
48
- </Canvas>
49
-
50
- #### Heading Display Sizes
51
-
52
- <DSProvider>
53
-
54
- Each heading level has a default style and size, but those styles can be overridden
55
- using the `size` prop. The display sizes are separate from semantic elements and
56
- may be used to override the default size and styling of the semantic HTML heading
57
- elements. For example, the `h1` element has the `Primary` style applied by default,
58
- but a new style can be applied through the `size` prop. Any `size` style can be
59
- applied to any `Heading` element.
60
-
61
- <Heading level="one" size="primary">
62
- Primary Heading
63
- </Heading>
64
-
65
- | | Value | JS Theme Object | CSS Variable |
66
- | --------------- | --------- | ------------------------------- | ------------------------------------------------------ |
67
- | **Font Size** | `2.25rem` | `fontSize: "heading.primary"` | `font-size: var(--nypl-fontSizes-heading-primary)` |
68
- | **Font Weight** | `300` | `fontWeight: "heading.primary"` | `font-weight: var(--nypl-fontWeights-heading-primary)` |
69
- | **Line Height** | `1.1` | n/a | n/a |
70
-
71
- <Heading level="one" size="secondary">
72
- Secondary Heading
73
- </Heading>
74
-
75
- | | Value | JS Theme Object | CSS Variable |
76
- | --------------- | --------- | --------------------------------- | -------------------------------------------------------- |
77
- | **Font Size** | `1.75rem` | `fontSize: "heading.secondary"` | `font-size: var(--nypl-fontSizes-heading-secondary)` |
78
- | **Font Weight** | `500` | `fontWeight: "heading.secondary"` | `font-weight: var(--nypl-fontWeights-heading-secondary)` |
79
- | **Line Height** | `1.25` | n/a | n/a |
80
-
81
- <Heading level="one" size="tertiary">
82
- Tertiary Heading
83
- </Heading>
84
-
85
- | | Value | JS Theme Object | CSS Variable |
86
- | --------------- | ---------- | -------------------------------- | ------------------------------------------------------- |
87
- | **Font Size** | `1.375rem` | `fontSize: "heading.tertiary"` | `font-size: var(--nypl-fontSizes-heading-tertiary)` |
88
- | **Font Weight** | `500` | `fontWeight: "heading.tertiary"` | `font-weight: var(--nypl-fontWeights-heading-tertiary)` |
89
- | **Line Height** | `1.25` | n/a | n/a |
90
-
91
- <Heading level="one" size="callout">
92
- Callout Heading
93
- </Heading>
94
-
95
- | | Value | JS Theme Object | CSS Variable |
96
- | --------------- | --------- | ------------------------------- | ------------------------------------------------------ |
97
- | **Font Size** | `1.25rem` | `fontSize: "heading.callout"` | `font-size: var(--nypl-fontSizes-heading-callout)` |
98
- | **Font Weight** | `500` | `fontWeight: "heading.callout"` | `font-weight: var(--nypl-fontWeights-heading-callout)` |
99
- | **Line Height** | `1.25` | n/a | n/a |
100
-
101
- </DSProvider>
102
-
103
- ## Text Component
104
-
105
- Use the DS [Text](/docs/components-typography-styles-text--text)
106
- component to render a standard HTML `<p>` tag. The Text component is generally
107
- used for body copy, captions and secondary captions.
108
-
109
- <Canvas>
110
- <DSProvider>
111
- <Text>
112
- Curabitur blandit tempus porttitor. Cras mattis consectetur purus sit amet
113
- fermentum. Nullam id dolor id nibh ultricies vehicula ut id elit. Maecenas
114
- faucibus mollis interdum. Morbi leo risus, porta ac consectetur ac,
115
- vestibulum at eros.
116
- </Text>
117
- </DSProvider>
118
- </Canvas>
119
-
120
- ### Text Display Sizes
121
-
122
- <DSProvider>
123
-
124
- The `size` prop can be used to render a specific style from the DS default text styles.
125
-
126
- - [Typography: Body Styles](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10975%3A52)
127
- - [Typography: Other Styles](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10975%3A100)
128
-
129
- <Text size="default">Default</Text>
130
-
131
- | | Value | JS Theme Object | CSS Variable |
132
- | --------------- | ------ | ---------------------------- | --------------------------------------------------- |
133
- | **Font Size** | `1rem` | `fontSize: "text.default"` | `font-size: var(--nypl-fontSizes-text-default)` |
134
- | **Font Weight** | `300` | `fontWeight: "text.default"` | `font-weight: var(--nypl-fontWeights-text-default)` |
135
- | **Line Height** | `1.5` | `fontWeight: 1.5` | `font-weight: 1.5` |
136
-
137
- <Text size="caption">Caption</Text>
138
-
139
- | | Value | JS Theme Object | CSS Variable |
140
- | --------------- | ---------- | ---------------------------- | --------------------------------------------------- |
141
- | **Font Size** | `0.875rem` | `fontSize: "text.caption"` | `font-size: var(--nypl-fontSizes-text-caption)` |
142
- | **Font Weight** | `300` | `fontWeight: "text.caption"` | `font-weight: var(--nypl-fontWeights-text-caption)` |
143
- | **Line Height** | `1.25` | `fontWeight: 1.25` | `font-weight: 1.25` |
144
-
145
- <Text size="tag">Tag</Text>
146
-
147
- | | Value | JS Theme Object | CSS Variable |
148
- | --------------- | --------- | ------------------------ | ----------------------------------------------- |
149
- | **Font Size** | `0.75rem` | `fontSize: "text.tag"` | `font-size: var(--nypl-fontSizes-text-tag)` |
150
- | **Font Weight** | `400` | `fontWeight: "text.tag"` | `font-weight: var(--nypl-fontWeights-text-tag)` |
151
- | **Line Height** | `1.5` | `fontWeight: 1.5` | `font-weight: 1.5` |
152
-
153
- <Text size="mini">Mini</Text>
154
-
155
- | | Value | JS Theme Object | CSS Variable |
156
- | --------------- | ---------- | ------------------------- | ------------------------------------------------ |
157
- | **Font Size** | `0.625rem` | `fontSize: "text.mini"` | `font-size: var(--nypl-fontSizes-text-mini)` |
158
- | **Font Weight** | `400` | `fontWeight: "text.mini"` | `font-weight: var(--nypl-fontWeights-text-mini)` |
159
- | **Line Height** | `1.5` | `fontWeight: 1.5` | `font-weight: 1.5` |
160
-
161
- </DSProvider>
162
-
163
- ## Font Family
164
-
165
- With website accessibility in mind, font choices for the DS were made with an
166
- eye toward clarity and readability. Headings and body content use the
167
- following font family assignment:
168
-
169
- <Canvas>
170
- <DSProvider>
171
- <Text>system-ui, sans-serif</Text>
172
- </DSProvider>
173
- </Canvas>
174
-
175
- The following CSS variables are available through the DS.
176
-
177
- ```
178
- --nypl-fonts-heading: system-ui, sans-serif;
179
- --nypl-fonts-body: system-ui, sans-serif;
180
- ```
181
-
182
- > **RECOMMENDATIONS**
183
- > When making font selections for project based components outside the DS,
184
- > sans serif fonts display better on computers and mobile devices. Avoid
185
- > decorative or overly stylized fonts, as they are often difficult to read even
186
- > for users without visual impairments or reading Standard Text Default
187
-
188
- ## Font Color
189
-
190
- All text within a project, unless specifically noted in mockups, should be
191
- black on a white background.
192
-
193
- <Canvas>
194
- <DSProvider>
195
- <Heading level="three">Default Heading Color</Heading>
196
- <Text>
197
- This paragraph shows the default body text color. Curabitur blandit tempus
198
- porttitor. Praesent commodo cursus magna, vel scelerisque nisl consectetur
199
- et. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.
200
- Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget
201
- lacinia odio sem nec elit.
202
- </Text>
203
- </DSProvider>
204
- </Canvas>
205
-
206
- In cases where specific colors must be applied to text elements, the DS
207
- provides CSS variables for the full NYPL color palette. Refer to the
208
- [Colors](https://nypl.github.io/nypl-design-system/reservoir/v1/?path=/docs/style-guide-colors--page)
209
- section of the Style Guide for details.
210
-
211
- ## Font Weight
212
-
213
- The DS uses four font weights to render text. The default font-weight is 300.
214
-
215
- <Canvas>
216
- <>
217
- <p
218
- style={{
219
- fontSize: "var(--nypl-fontSizes-0)",
220
- fontWeight: "var(--nypl-fontWeights-light)",
221
- fontFamily: "var(--nypl-fonts-body)",
222
- }}
223
- >
224
- Light / 300 (default)
225
- </p>
226
- <p
227
- style={{
228
- fontSize: "var(--nypl-fontSizes-0)",
229
- fontWeight: "var(--nypl-fontWeights-regular)",
230
- fontFamily: "var(--nypl-fonts-body)",
231
- }}
232
- >
233
- Regular / 400
234
- </p>
235
- <p
236
- style={{
237
- fontSize: "var(--nypl-fontSizes-0)",
238
- fontWeight: "var(--nypl-fontWeights-medium)",
239
- fontFamily: "var(--nypl-fonts-body)",
240
- }}
241
- >
242
- Medium / 500
243
- </p>
244
- <p
245
- style={{
246
- fontSize: "var(--nypl-fontSizes-0)",
247
- fontWeight: "var(--nypl-fontWeights-bold)",
248
- fontFamily: "var(--nypl-fonts-body)",
249
- }}
250
- >
251
- Bold / 700
252
- </p>
253
- </>
254
- </Canvas>
255
-
256
- The following design tokens are available through the DS.
257
-
258
- | | Value | JS Theme Object | CSS Variable |
259
- | ----------- | ----- | ----------------------- | ---------------------------------------------- |
260
- | **Light** | `300` | `fontWeight: "light"` | `font-weight: var(--nypl-fontWeights-light)` |
261
- | **Regular** | `400` | `fontWeight: "regular"` | `font-weight: var(--nypl-fontWeights-regular)` |
262
- | **Medium** | `500` | `fontWeight: "medium"` | `font-weight: var(--nypl-fontWeights-medium)` |
263
- | **Bold** | `700` | `fontWeight: "bold"` | `font-weight: var(--nypl-fontWeights-bold)` |
264
-
265
- ## Font Sizes
266
-
267
- Font sizing is based on a root font size of 16px (1rem = 16px).
268
-
269
- <Canvas>
270
- <>
271
- <p
272
- style={{
273
- fontSize: "var(--nypl-fontSizes--3)",
274
- fontWeight: "var(--nypl-fontWeights-light)",
275
- }}
276
- >
277
- Font size -3
278
- </p>
279
- <p
280
- style={{
281
- fontSize: "var(--nypl-fontSizes--2)",
282
- fontWeight: "var(--nypl-fontWeights-light)",
283
- }}
284
- >
285
- Font size -2
286
- </p>
287
- <p
288
- style={{
289
- fontSize: "var(--nypl-fontSizes--1)",
290
- fontWeight: "var(--nypl-fontWeights-light)",
291
- }}
292
- >
293
- Font size -1
294
- </p>
295
- <p
296
- style={{
297
- fontSize: "var(--nypl-fontSizes-0)",
298
- fontWeight: "var(--nypl-fontWeights-light)",
299
- }}
300
- >
301
- Font size 0 (default)
302
- </p>
303
- <p
304
- style={{
305
- fontSize: "var(--nypl-fontSizes-1)",
306
- fontWeight: "var(--nypl-fontWeights-light)",
307
- }}
308
- >
309
- Font size 1
310
- </p>
311
- <p
312
- style={{
313
- fontSize: "var(--nypl-fontSizes-2)",
314
- fontWeight: "var(--nypl-fontWeights-light)",
315
- }}
316
- >
317
- Font size 2
318
- </p>
319
- <p
320
- style={{
321
- fontSize: "var(--nypl-fontSizes-3)",
322
- fontWeight: "var(--nypl-fontWeights-light)",
323
- }}
324
- >
325
- Font size 3
326
- </p>
327
- <p
328
- style={{
329
- fontSize: "var(--nypl-fontSizes-4)",
330
- fontWeight: "var(--nypl-fontWeights-light)",
331
- }}
332
- >
333
- Font size 4
334
- </p>
335
- </>
336
- </Canvas>
337
-
338
- The following font size design tokens are available through the DS.
339
-
340
- | | Value | JS Theme Object | CSS Variable |
341
- | ------ | ---------- | ---------------- | ------------------------------------- |
342
- | **-3** | `0.625rem` | `fontSize: "-3"` | `font-size: var(--nypl-fontSizes--3)` |
343
- | **-2** | `0.75rem` | `fontSize: "-2"` | `font-size: var(--nypl-fontSizes--2)` |
344
- | **-1** | `0.875rem` | `fontSize: "-1"` | `font-size: var(--nypl-fontSizes--1)` |
345
- | **0** | `1rem` | `fontSize: "0"` | `font-size: var(--nypl-fontSizes-0)` |
346
- | **1** | `1.125rem` | `fontSize: "1"` | `font-size: var(--nypl-fontSizes-1)` |
347
- | **2** | `1.375rem` | `fontSize: "2"` | `font-size: var(--nypl-fontSizes-2)` |
348
- | **3** | `1.75rem` | `fontSize: "3"` | `font-size: var(--nypl-fontSizes-3)` |
349
- | **4** | `2.25rem` | `fontSize: "4"` | `font-size: var(--nypl-fontSizes-4)` |
350
-
351
- ## Text Case
352
-
353
- In general, the New York Public Library uses Title Case for titles. This means
354
- only using capital letters for the principal words. Articles, conjunctions, and
355
- prepositions do not get capital letters unless they start the title. For example:
356
-
357
- <Canvas>
358
- <DSProvider>
359
- <List type="ul">
360
- <li>Snow White and the Seven Dwarfs</li>
361
- <li>The Last of the Mohicans</li>
362
- <li>Spooky Books for Kids: The Ultimate Creepy Guide</li>
363
- <li>The Future Teen Stars of America Live on TikTok</li>
364
- <li>How Jacqueline Woodson Captures Every Side of Brooklyn</li>
365
- </List>
366
- </DSProvider>
367
- </Canvas>
368
-
369
- ## Character Count
370
-
371
- ### Titles
372
-
373
- 80 characters max, 60 characters recommended
374
-
375
- <Canvas>
376
- <DSProvider>
377
- <Heading level="three">
378
- This is a Long Title to Show What 58 Characters Looks Like
379
- </Heading>
380
- </DSProvider>
381
- </Canvas>
382
-
383
- ### Summaries
384
-
385
- 140 characters max<br />
386
- Note: Online Exhibitions, with their longer, legacy summaries are an exception
387
- to this.
388
-
389
- <Canvas>
390
- <DSProvider>
391
- <Text>
392
- This block of text shows what 140 chacters and spaces looks like. Integer
393
- posuere erat a ante venenatis dapibus posueret aliquet nullas non.
394
- </Text>
395
- </DSProvider>
396
- </Canvas>
397
-
398
- ### Page Intros
399
-
400
- No max character count, 200 characters recommended
401
-
402
- <Canvas>
403
- <DSProvider>
404
- <Text>
405
- This block of text shows what 200 chacters and spaces looks like. Integer
406
- posuere erat a ante venenatis dapibus posueret aliquet nullas non. Aenean
407
- eu leo quam. Pellentesque ornare sem quam venenatis.
408
- </Text>
409
- </DSProvider>
410
- </Canvas>
411
-
412
- ## Figma Reference
413
-
414
- For additional spacing information, please refer to the Figma Main file.
415
-
416
- - [Typeface](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10975%3A0)
417
- - [Heading Styles](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10975%3A16)
418
- - [Text Styles (Part 1)](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10975%3A52)
419
- - [Text Styles (Part 2)](https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10975%3A100)
@@ -1,276 +0,0 @@
1
- import {
2
- Meta,
3
- Story,
4
- Canvas,
5
- ArgsTable,
6
- Description,
7
- } from "@storybook/addon-docs";
8
- import { withDesign } from "storybook-addon-designs";
9
-
10
- import Image from "../Image/Image";
11
- import Table from "./Table";
12
- import DSProvider from "../../theme/provider";
13
- import { getCategory } from "../../utils/componentCategories";
14
-
15
- <Meta
16
- title={getCategory("Table")}
17
- component={Table}
18
- decorators={[withDesign]}
19
- parameters={{
20
- design: {
21
- type: "figma",
22
- url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=46780%3A27675",
23
- },
24
- jest: ["Table.test.tsx"],
25
- }}
26
- argTypes={{
27
- columnHeaders: { control: { disable: true } },
28
- columnHeadersBackgroundColor: { control: { type: "color" } },
29
- columnHeadersTextColor: { control: { type: "color" } },
30
- id: { control: false },
31
- tableData: { control: false },
32
- }}
33
- />
34
-
35
- # Table
36
-
37
- | Component Version | DS Version |
38
- | ----------------- | ---------- |
39
- | Added | `0.25.9` |
40
- | Latest | `0.28.0` |
41
-
42
- ## Table of Contents
43
-
44
- - [Overview](#overview)
45
- - [Component Props](#component-props)
46
- - [Accessibility](#accessibility)
47
- - [With a title](#with-a-title)
48
- - [With Row Dividers](#with-row-dividers)
49
- - [With Row Headers](#with-row-headers)
50
- - [With Custom Header Colors](#with-custom-header-colors)
51
- - [With JSX Elements](#with-jsx-elements)
52
-
53
- ## Overview
54
-
55
- <Description of={Table} />
56
-
57
- export const columnHeaders = [
58
- "First Name",
59
- "Last Name",
60
- "Nick Name",
61
- "Address1",
62
- "City",
63
- "State",
64
- "Zipcode",
65
- ];
66
- export const tableData = [
67
- ["Tom", "Nook", "Tanukichi", "Main Street", "New York", "NY", "23458"],
68
- ["Isabelle", "-", "Shizue", "Walnut Street", "New York", "NY", "23458"],
69
- ["K.K.", "Slider", "Totakeke", "Niper Place", "New York", "NY", "98765"],
70
- [
71
- "Sonny",
72
- "Resetti",
73
- "Risetto san",
74
- "Village Road",
75
- "New York",
76
- "NY",
77
- "09873",
78
- ],
79
- ];
80
-
81
- ## Component Props
82
-
83
- <Canvas withToolbar>
84
- <Story
85
- name="Table"
86
- args={{
87
- className: undefined,
88
- columnHeaders,
89
- columnHeadersBackgroundColor: undefined,
90
- columnHeadersTextColor: undefined,
91
- id: undefined,
92
- showRowDividers: false,
93
- tableData,
94
- titleText: undefined,
95
- useRowHeaders: false,
96
- }}
97
- >
98
- {(args) => <Table {...args}></Table>}
99
- </Story>
100
- </Canvas>
101
-
102
- <ArgsTable story="Table" />
103
-
104
- ## Accessibility
105
-
106
- Internally, the HTML for the `Table` element is structured with proper semantic
107
- use of the `table`, `caption`, `thead`, `tbody`, `tr`, and `td` HTML elements.
108
- When titles are added through the `titleText` prop, the `caption` element will
109
- be rendered above the `thead` element.
110
-
111
- This component should be used to render tabular data only and not used for layout
112
- purposes.
113
-
114
- The first row and/or the first cell in a `tr` row can be headers. Each `th`
115
- header cell has an appropriate scope attribute set to either `scope="col"` or
116
- `scope="row"`. For example, every `th` cell in a `thead` `tr` row will have
117
- `scope="col"`. Every `th` cell in a `tbody` `tr` row will have `scope="row"`.
118
- These headers are visually different from the data. Use the `useRowHeaders`
119
- prop to render the first cell in every row as a header. If a table has two levels
120
- of headers (such as two levels of horizontal headers), break the data into two
121
- separate tables.
122
-
123
- Resources:
124
-
125
- - [W3C Tables Tutorial](https://www.w3.org/WAI/tutorials/tables/)
126
- - [MDN table: The Table element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table)
127
- - [MDN HTML table advance features and accessibility](https://developer.mozilla.org/en-US/docs/Learn/HTML/Tables/Advanced)
128
- - [Chakra UI Table](https://chakra-ui.com/docs/components/data-display/table)
129
-
130
- ## With a title
131
-
132
- Use the `titleText` prop to add a title to the table.
133
-
134
- <Canvas>
135
- <DSProvider>
136
- <Table
137
- columnHeaders={columnHeaders}
138
- id="title-table"
139
- tableData={tableData}
140
- titleText="Table with a title"
141
- />
142
- </DSProvider>
143
- </Canvas>
144
-
145
- ## With Row Dividers
146
-
147
- Use the `showRowDividers` prop to render a divider between each row.
148
-
149
- <Canvas>
150
- <DSProvider>
151
- <Table
152
- columnHeaders={columnHeaders}
153
- id="showRowDividers-table"
154
- showRowDividers
155
- tableData={tableData}
156
- />
157
- </DSProvider>
158
- </Canvas>
159
-
160
- ## With Row Headers
161
-
162
- Use the `useRowHeaders` prop to render the first cell in every row as a header.
163
- Notice that they turn bold.
164
-
165
- <Canvas>
166
- <DSProvider>
167
- <Table
168
- columnHeaders={columnHeaders}
169
- id="rowHeaders-table"
170
- tableData={tableData}
171
- useRowHeaders
172
- />
173
- </DSProvider>
174
- </Canvas>
175
-
176
- ## With Custom Header Colors
177
-
178
- It's possible to customize the header colors by using the `columnHeadersBackgroundColor`
179
- and `columnHeadersTextColor` props. Note that the colors need to have sufficient
180
- color contrast.
181
-
182
- <Canvas>
183
- <DSProvider>
184
- <Table
185
- columnHeaders={columnHeaders}
186
- columnHeadersBackgroundColor="var(--nypl-colors-ui-link-secondary)"
187
- columnHeadersTextColor="var(--nypl-colors-ui-white)"
188
- id="rowHeaders-table"
189
- showRowDividers
190
- tableData={tableData}
191
- useRowHeaders
192
- />
193
- </DSProvider>
194
- </Canvas>
195
-
196
- ## With JSX Elements
197
-
198
- export const characterHeaders = ["First Name", "Last Name", "Avatar"];
199
- export const charactersData = [
200
- [
201
- "Tom",
202
- "Nook",
203
- <Image
204
- alt="Tom Nook"
205
- size="small"
206
- src="https://play.nintendo.com/images/AC_Tom_FRYtwIN.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
207
- />,
208
- ],
209
- [
210
- "Isabelle",
211
- "-",
212
- ,
213
- <Image
214
- alt="Isabelle"
215
- size="small"
216
- src="https://play.nintendo.com/images/AC_Isabelle_7XU6aGu.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
217
- />,
218
- ],
219
- [
220
- "K.K.",
221
- "Slider",
222
- ,
223
- <Image
224
- alt="K.K Slider"
225
- size="small"
226
- src="https://play.nintendo.com/images/AC_KK_jh4yj5t.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
227
- />,
228
- ],
229
- ];
230
-
231
- It's possible to pass in JSX elements in the `tableData` prop.
232
-
233
- ```jsx
234
- export const charactersData = [
235
- [
236
- "Tom",
237
- "Nook",
238
- <Image
239
- alt="Tom Nook"
240
- size="small"
241
- src="https://play.nintendo.com/images/AC_Tom_FRYtwIN.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
242
- />,
243
- ],
244
- [
245
- "Isabelle",
246
- "-",
247
- ,
248
- <Image
249
- alt="Isabelle"
250
- size="small"
251
- src="https://play.nintendo.com/images/AC_Isabelle_7XU6aGu.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
252
- />,
253
- ],
254
- [
255
- "K.K.",
256
- "Slider",
257
- ,
258
- <Image
259
- alt="K.K Slider"
260
- size="small"
261
- src="https://play.nintendo.com/images/AC_KK_jh4yj5t.17345b1513ac044897cfc243542899dce541e8dc.9afde10b.png"
262
- />,
263
- ],
264
- ];
265
- ```
266
-
267
- <Canvas>
268
- <DSProvider>
269
- <Table
270
- columnHeaders={characterHeaders}
271
- id="jsx-example"
272
- showRowDividers
273
- tableData={charactersData}
274
- />
275
- </DSProvider>
276
- </Canvas>