@nypl/design-system-react-components 0.23.4 → 0.25.1
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.
- package/CHANGELOG.md +98 -1
- package/README.md +46 -11
- package/dist/components/Accordion/Accordion.d.ts +14 -14
- package/dist/components/Autosuggest/Autosuggest.stories.d.ts +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +11 -14
- package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +6 -0
- package/dist/components/Button/Button.d.ts +6 -13
- package/dist/components/Button/ButtonTypes.d.ts +5 -3
- package/dist/components/Card/Card.d.ts +59 -10
- package/dist/components/Card/CardTypes.d.ts +19 -0
- package/dist/components/CardEdition/CardEdition.d.ts +21 -0
- package/dist/components/{StyleGuide/Colors.stories.d.ts → CardEdition/CardEdition.stories.d.ts} +5 -2
- package/dist/components/Checkbox/Checkbox.d.ts +21 -16
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +43 -0
- package/dist/components/CheckboxGroup/CheckboxGroupLayoutTypes.d.ts +4 -0
- package/dist/components/DatePicker/DatePicker.d.ts +79 -0
- package/dist/components/DatePicker/DatePickerTypes.d.ts +5 -0
- package/dist/components/Form/Form.d.ts +16 -8
- package/dist/components/Form/FormTypes.d.ts +2 -0
- package/dist/components/Grid/GridTypes.d.ts +9 -0
- package/dist/components/Grid/SimpleGrid.d.ts +14 -0
- package/dist/components/Heading/Heading.d.ts +9 -11
- package/dist/components/Heading/{HeadingDisplaySizes.d.ts → HeadingTypes.d.ts} +8 -0
- package/dist/components/HelperErrorText/HelperErrorText.stories.d.ts +2 -1
- package/dist/components/Hero/Hero.d.ts +19 -14
- package/dist/components/Hero/HeroTypes.d.ts +10 -5
- package/dist/components/Icons/Icon.d.ts +13 -16
- package/dist/components/Icons/IconSvgs.d.ts +4 -0
- package/dist/components/Icons/IconTypes.d.ts +78 -60
- package/dist/components/Image/Image.stories.d.ts +2 -1
- package/dist/components/Label/Label.d.ts +10 -26
- package/dist/components/Link/Link.d.ts +8 -12
- package/dist/components/List/List.stories.d.ts +1 -0
- package/dist/components/Radio/Radio.d.ts +30 -24
- package/dist/components/RadioGroup/RadioGroup.d.ts +40 -0
- package/dist/components/RadioGroup/RadioGroupLayoutTypes.d.ts +4 -0
- package/dist/components/SearchBar/SearchBar.d.ts +45 -27
- package/dist/components/Select/Select.d.ts +34 -35
- package/dist/components/Select/SelectTypes.d.ts +4 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +1 -1
- package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +2 -2
- package/dist/components/StatusBadge/StatusBadge.d.ts +8 -6
- package/dist/components/StatusBadge/StatusBadgeTypes.d.ts +5 -0
- package/dist/components/Tabs/Tabs.d.ts +25 -0
- package/dist/components/Template/Template.d.ts +91 -0
- package/dist/components/Text/Text.d.ts +16 -0
- package/dist/components/Text/TextTypes.d.ts +6 -0
- package/dist/components/TextInput/TextInput.d.ts +37 -30
- package/dist/components/TextInput/TextInputTypes.d.ts +5 -0
- package/dist/design-system-react-components.cjs.development.js +4102 -917
- package/dist/design-system-react-components.cjs.development.js.map +1 -1
- package/dist/design-system-react-components.cjs.production.min.js +1 -1
- package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
- package/dist/design-system-react-components.esm.js +4023 -920
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/index.d.ts +23 -5
- package/dist/resources.scss +133 -24
- package/dist/styles.css +1 -1
- package/dist/theme/components/accordion.d.ts +25 -0
- package/dist/theme/components/breadcrumb.d.ts +90 -0
- package/dist/theme/components/button.d.ts +109 -0
- package/dist/theme/components/checkbox.d.ts +91 -0
- package/dist/theme/components/customCheckboxGroup.d.ts +18 -0
- package/dist/theme/components/customRadioGroup.d.ts +18 -0
- package/dist/theme/components/global.d.ts +55 -0
- package/dist/theme/components/globalMixins.d.ts +15 -0
- package/dist/theme/components/heading.d.ts +110 -0
- package/dist/theme/components/hero.d.ts +492 -0
- package/dist/theme/components/icon.d.ts +13 -0
- package/dist/theme/components/label.d.ts +16 -0
- package/dist/theme/components/link.d.ts +45 -0
- package/dist/theme/components/radio.d.ts +95 -0
- package/dist/theme/components/searchBar.d.ts +20 -0
- package/dist/theme/components/select.d.ts +58 -0
- package/dist/theme/components/statusBadge.d.ts +25 -0
- package/dist/theme/components/tabs.d.ts +85 -0
- package/dist/theme/components/template.d.ts +105 -0
- package/dist/theme/components/text.d.ts +20 -0
- package/dist/theme/components/textInput.d.ts +105 -0
- package/dist/theme/foundations/breakpoints.d.ts +23 -0
- package/dist/theme/foundations/colors.d.ts +3 -0
- package/dist/theme/foundations/global.d.ts +23 -0
- package/dist/theme/foundations/shadows.d.ts +4 -0
- package/dist/theme/foundations/spacing.d.ts +77 -0
- package/dist/theme/foundations/typography.d.ts +8 -0
- package/dist/theme/index.d.ts +20 -0
- package/dist/theme/provider.d.ts +5 -0
- package/dist/theme/types.d.ts +1 -0
- package/dist/utils/utils.d.ts +6 -0
- package/package.json +9 -2
- package/src/components/Accordion/Accordion.stories.mdx +233 -33
- package/src/components/Accordion/Accordion.test.tsx +135 -19
- package/src/components/Accordion/Accordion.tsx +81 -56
- package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -3
- package/src/components/Autosuggest/Autosuggest.stories.tsx +1 -1
- package/src/components/Autosuggest/_Autosuggest.scss +2 -2
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +57 -56
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +31 -25
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +71 -73
- package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +6 -0
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +100 -0
- package/src/components/Button/Button.stories.mdx +125 -138
- package/src/components/Button/Button.test.tsx +65 -11
- package/src/components/Button/Button.tsx +72 -68
- package/src/components/Button/ButtonTypes.tsx +4 -2
- package/src/components/Button/_Button.scss +7 -92
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +58 -3
- package/src/components/Card/Card.stories.mdx +694 -0
- package/src/components/Card/Card.test.tsx +97 -102
- package/src/components/Card/Card.tsx +182 -31
- package/src/components/Card/CardTypes.tsx +21 -0
- package/src/components/Card/_Card.scss +234 -49
- package/src/components/{Card/Card.stories.tsx → CardEdition/CardEdition.stories.tsx} +32 -22
- package/src/components/CardEdition/CardEdition.test.tsx +395 -0
- package/src/components/CardEdition/CardEdition.tsx +60 -0
- package/src/components/CardEdition/_CardEdition.scss +138 -0
- package/src/components/Chakra/Box.stories.mdx +57 -0
- package/src/components/Chakra/Center.stories.mdx +99 -0
- package/src/components/Chakra/Grid.stories.mdx +79 -0
- package/src/components/Chakra/Stack.stories.mdx +93 -0
- package/src/components/Checkbox/Checkbox.stories.mdx +57 -35
- package/src/components/Checkbox/Checkbox.test.tsx +117 -147
- package/src/components/Checkbox/Checkbox.tsx +76 -50
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +325 -0
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +249 -0
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +345 -0
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +148 -0
- package/src/components/CheckboxGroup/CheckboxGroupLayoutTypes.tsx +4 -0
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +1360 -0
- package/src/components/DatePicker/DatePicker.stories.mdx +284 -0
- package/src/components/DatePicker/DatePicker.test.tsx +657 -0
- package/src/components/DatePicker/DatePicker.tsx +396 -0
- package/src/components/DatePicker/DatePickerTypes.tsx +5 -0
- package/src/components/DatePicker/_DatePicker.scss +76 -0
- package/src/components/Form/Form.stories.mdx +130 -27
- package/src/components/Form/Form.test.tsx +78 -36
- package/src/components/Form/Form.tsx +53 -19
- package/src/components/Form/FormTypes.tsx +3 -0
- package/src/components/Form/__snapshots__/Form.test.tsx.snap +38 -0
- package/src/components/Grid/GridTypes.tsx +9 -0
- package/src/components/Grid/SimpleGrid.stories.mdx +275 -0
- package/src/components/Grid/SimpleGrid.test.tsx +66 -0
- package/src/components/Grid/SimpleGrid.tsx +37 -0
- package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +8 -0
- package/src/components/Heading/Heading.stories.mdx +63 -33
- package/src/components/Heading/Heading.test.tsx +24 -16
- package/src/components/Heading/Heading.tsx +54 -38
- package/src/components/Heading/{HeadingDisplaySizes.tsx → HeadingTypes.tsx} +9 -0
- package/src/components/HelperErrorText/HelperErrorText.stories.tsx +2 -1
- package/src/components/HelperErrorText/_HelperErrorText.scss +1 -1
- package/src/components/Hero/Hero.stories.mdx +195 -85
- package/src/components/Hero/Hero.test.tsx +544 -113
- package/src/components/Hero/Hero.tsx +80 -93
- package/src/components/Hero/HeroTypes.tsx +17 -5
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +307 -0
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +6 -1
- package/src/components/HorizontalRule/_HorizontalRule.scss +1 -1
- package/src/components/Icons/Icon.stories.mdx +89 -74
- package/src/components/Icons/Icon.test.tsx +30 -22
- package/src/components/Icons/Icon.tsx +63 -61
- package/src/components/Icons/IconSvgs.tsx +8 -0
- package/src/components/Icons/IconTypes.tsx +80 -60
- package/src/components/Image/Image.stories.tsx +2 -1
- package/src/components/Input/_Input.scss +2 -2
- package/src/components/Label/Label.stories.mdx +77 -0
- package/src/components/Label/Label.test.tsx +43 -12
- package/src/components/Label/Label.tsx +28 -45
- package/src/components/Label/__snapshots__/Label.test.tsx.snap +41 -0
- package/src/components/Link/Link.stories.mdx +47 -41
- package/src/components/Link/Link.test.tsx +33 -44
- package/src/components/Link/Link.tsx +114 -100
- package/src/components/List/List.stories.mdx +7 -3
- package/src/components/List/List.stories.tsx +14 -9
- package/src/components/List/List.test.tsx +12 -8
- package/src/components/List/List.tsx +9 -7
- package/src/components/List/_List.scss +3 -3
- package/src/components/Modal/Modal.stories.mdx +7 -3
- package/src/components/Modal/_Modal.scss +1 -1
- package/src/components/Notification/Notification.stories.mdx +99 -65
- package/src/components/Notification/Notification.test.tsx +3 -16
- package/src/components/Notification/Notification.tsx +12 -12
- package/src/components/Notification/_Notification.scss +5 -4
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +1 -1
- package/src/components/Pagination/Pagination.stories.mdx +7 -1
- package/src/components/Pagination/Pagination.test.tsx +16 -10
- package/src/components/Radio/Radio.stories.mdx +57 -46
- package/src/components/Radio/Radio.test.tsx +92 -138
- package/src/components/Radio/Radio.tsx +70 -69
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +250 -0
- package/src/components/RadioGroup/RadioGroup.stories.mdx +247 -0
- package/src/components/RadioGroup/RadioGroup.test.tsx +327 -0
- package/src/components/RadioGroup/RadioGroup.tsx +154 -0
- package/src/components/RadioGroup/RadioGroupLayoutTypes.tsx +4 -0
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +1101 -0
- package/src/components/SearchBar/SearchBar.Test.tsx +151 -16
- package/src/components/SearchBar/SearchBar.stories.mdx +196 -224
- package/src/components/SearchBar/SearchBar.tsx +151 -46
- package/src/components/Select/Select.stories.mdx +193 -168
- package/src/components/Select/Select.test.tsx +129 -324
- package/src/components/Select/Select.tsx +120 -160
- package/src/components/Select/SelectTypes.tsx +4 -0
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +18 -29
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +7 -7
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +4 -2
- package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +2 -2
- package/src/components/SkeletonLoader/_SkeletonLoader.scss +3 -3
- package/src/components/StatusBadge/StatusBadge.stories.mdx +91 -0
- package/src/components/StatusBadge/StatusBadge.test.tsx +35 -7
- package/src/components/StatusBadge/StatusBadge.tsx +24 -25
- package/src/components/StatusBadge/StatusBadgeTypes.tsx +5 -0
- package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +28 -0
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +112 -90
- package/src/components/StyleGuide/Buttons.stories.mdx +98 -100
- package/src/components/StyleGuide/Colors.stories.mdx +336 -0
- package/src/components/StyleGuide/Forms.stories.mdx +85 -0
- package/src/components/StyleGuide/Iconography.stories.mdx +86 -93
- package/src/components/StyleGuide/Spacing.stories.mdx +0 -1
- package/src/components/StyleGuide/Typography.stories.mdx +164 -166
- package/src/components/StyleGuide/UIDocCard.tsx +4 -4
- package/src/components/Tabs/Tabs.stories.mdx +221 -0
- package/src/components/Tabs/Tabs.test.tsx +264 -0
- package/src/components/Tabs/Tabs.tsx +220 -0
- package/src/components/Template/Template.stories.mdx +574 -0
- package/src/components/Template/Template.test.tsx +124 -0
- package/src/components/Template/Template.tsx +226 -0
- package/src/components/Text/Text.stories.mdx +70 -0
- package/src/components/Text/Text.test.tsx +63 -0
- package/src/components/Text/Text.tsx +55 -0
- package/src/components/Text/TextTypes.tsx +6 -0
- package/src/components/Text/__snapshots__/Text.test.tsx.snap +33 -0
- package/src/components/TextInput/TextInput.stories.mdx +90 -90
- package/src/components/TextInput/TextInput.test.tsx +103 -83
- package/src/components/TextInput/TextInput.tsx +108 -91
- package/src/components/TextInput/TextInputTypes.tsx +6 -0
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +2 -1
- package/src/components/VideoPlayer/VideoPlayer.tsx +4 -2
- package/src/components/VideoPlayer/_VideoPlayer.scss +1 -1
- package/src/docs/Chakra.stories.mdx +341 -0
- package/src/docs/Intro.stories.mdx +31 -24
- package/src/index.ts +70 -5
- package/src/styles/01-colors/_colors-brand.scss +6 -4
- package/src/styles/01-colors/_colors-utility.scss +14 -15
- package/src/styles/03-space/_space-inline.scss +47 -7
- package/src/styles/03-space/_space-inset.scss +33 -5
- package/src/styles/03-space/_space-stack.scss +48 -8
- package/src/styles/base/_02-breakpoints.scss +5 -4
- package/src/styles/base/_04-base.scss +2 -1
- package/src/styles/base/_place-holder.scss +1 -1
- package/src/styles/base/_typography.scss +1 -29
- package/src/styles.scss +22 -25
- package/src/theme/components/accordion.ts +30 -0
- package/src/theme/components/breadcrumb.ts +77 -0
- package/src/theme/components/button.ts +125 -0
- package/src/theme/components/checkbox.ts +107 -0
- package/src/theme/components/customCheckboxGroup.ts +12 -0
- package/src/theme/components/customRadioGroup.ts +12 -0
- package/src/theme/components/global.ts +71 -0
- package/src/theme/components/globalMixins.ts +16 -0
- package/src/theme/components/heading.ts +72 -0
- package/src/theme/components/hero.ts +239 -0
- package/src/theme/components/icon.ts +79 -0
- package/src/theme/components/label.ts +17 -0
- package/src/theme/components/link.ts +47 -0
- package/src/theme/components/radio.ts +106 -0
- package/src/theme/components/searchBar.ts +21 -0
- package/src/theme/components/select.ts +50 -0
- package/src/theme/components/statusBadge.ts +27 -0
- package/src/theme/components/tabs.ts +79 -0
- package/src/theme/components/template.ts +114 -0
- package/src/theme/components/text.ts +31 -0
- package/src/theme/components/textInput.ts +61 -0
- package/src/theme/foundations/breakpoints.ts +24 -0
- package/src/theme/foundations/colors.ts +208 -0
- package/src/theme/foundations/global.ts +26 -0
- package/src/theme/foundations/shadows.ts +5 -0
- package/src/theme/foundations/spacing.ts +85 -0
- package/src/theme/foundations/typography.ts +35 -0
- package/src/theme/index.ts +88 -0
- package/src/theme/provider.tsx +9 -0
- package/src/theme/types.ts +1 -0
- package/src/utils/componentCategories.ts +56 -21
- package/src/utils/utils.ts +13 -0
- package/dist/components/Accordion/Accordion.stories.d.ts +0 -5
- package/dist/components/Card/Card.stories.d.ts +0 -27
- package/dist/components/Label/Label.stories.d.ts +0 -12
- package/dist/components/StatusBadge/StatusBadge.stories.d.ts +0 -8
- package/dist/components/Template/Template.stories.d.ts +0 -29
- package/src/components/Accordion/Accordion.stories.tsx +0 -65
- package/src/components/Accordion/_Accordion.scss +0 -81
- package/src/components/Breadcrumbs/_Breadcrumbs.scss +0 -97
- package/src/components/Checkbox/_Checkbox.scss +0 -97
- package/src/components/Form/_Form.scss +0 -28
- package/src/components/Heading/_Heading.scss +0 -163
- package/src/components/Hero/_Hero.scss +0 -256
- package/src/components/Icons/_Icons.scss +0 -116
- package/src/components/Label/Label.stories.tsx +0 -30
- package/src/components/Label/_Label.scss +0 -22
- package/src/components/Link/_Link.scss +0 -73
- package/src/components/Radio/_Radio.scss +0 -84
- package/src/components/SearchBar/_SearchBar.scss +0 -16
- package/src/components/Select/_Select.scss +0 -82
- package/src/components/StatusBadge/StatusBadge.stories.tsx +0 -33
- package/src/components/StatusBadge/_StatusBadge.scss +0 -23
- package/src/components/StyleGuide/Colors.stories.tsx +0 -288
- package/src/components/Template/Template.stories.tsx +0 -85
- package/src/components/Template/_Template.scss +0 -63
- package/src/components/TextInput/_TextInput.scss +0 -59
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Meta, Story, Canvas } from "@storybook/addon-docs/blocks";
|
|
2
|
+
import { Box, Center, Square, Circle, HStack } from "@chakra-ui/react";
|
|
3
|
+
|
|
4
|
+
import { getCategory } from "../../utils/componentCategories";
|
|
5
|
+
import Image from "../Image/Image";
|
|
6
|
+
import Icon from "../Icons/Icon";
|
|
7
|
+
import { IconNames, IconColors, IconSizes } from "../Icons/IconTypes";
|
|
8
|
+
import DSProvider from "../../theme/provider";
|
|
9
|
+
|
|
10
|
+
<Meta title={getCategory("Center, Circle, Square")} component={Center} />
|
|
11
|
+
|
|
12
|
+
# Center, Circle, Square
|
|
13
|
+
|
|
14
|
+
| Component Version | DS Version |
|
|
15
|
+
| ----------------- | ---------- |
|
|
16
|
+
| Added | `0.24.0` |
|
|
17
|
+
|
|
18
|
+
Note: This needs the use of the `DSProvider` component. See the [README](https://github.com/NYPL/nypl-design-system#using-the-design-system-in-your-product)
|
|
19
|
+
for more information.
|
|
20
|
+
|
|
21
|
+
These components are directly exported from Chakra UI. The `Center`, `Circle`,
|
|
22
|
+
and `Square` are layout component that center their child.
|
|
23
|
+
|
|
24
|
+
All available props can be found on the [Style Props](https://chakra-ui.com/docs/features/style-props)
|
|
25
|
+
guide on the Chakra UI site.
|
|
26
|
+
|
|
27
|
+
## Center
|
|
28
|
+
|
|
29
|
+
<Canvas>
|
|
30
|
+
<Story
|
|
31
|
+
name="Center, Circle, Square"
|
|
32
|
+
args={{
|
|
33
|
+
p: "5",
|
|
34
|
+
bg: "var(--brand-primary)",
|
|
35
|
+
color: "var(--ui-white)",
|
|
36
|
+
}}
|
|
37
|
+
>
|
|
38
|
+
{(args) => (
|
|
39
|
+
<Box>
|
|
40
|
+
Some text at the beginning.
|
|
41
|
+
<Center {...args}>
|
|
42
|
+
So when I look up at the stars, I just wonder...what will they all
|
|
43
|
+
become someday?
|
|
44
|
+
</Center>
|
|
45
|
+
Some text at the end.
|
|
46
|
+
</Box>
|
|
47
|
+
)}
|
|
48
|
+
</Story>
|
|
49
|
+
</Canvas>
|
|
50
|
+
|
|
51
|
+
<Canvas>
|
|
52
|
+
<DSProvider>
|
|
53
|
+
<Center>
|
|
54
|
+
<Image src="https://placeimg.com/300/400/arch" alt="Centered Image" />
|
|
55
|
+
</Center>
|
|
56
|
+
</DSProvider>
|
|
57
|
+
</Canvas>
|
|
58
|
+
|
|
59
|
+
## Circle
|
|
60
|
+
|
|
61
|
+
Similar to `Center` but is always a circle!
|
|
62
|
+
|
|
63
|
+
<Canvas>
|
|
64
|
+
<DSProvider>
|
|
65
|
+
<HStack spacing="s">
|
|
66
|
+
<Circle size="50px" bg="var(--ui-test)">
|
|
67
|
+
<Icon name={IconNames.Download} size={IconSizes.Large} />
|
|
68
|
+
</Circle>
|
|
69
|
+
<Circle size="50px" bg="var(--ui-link-primary)">
|
|
70
|
+
<Icon
|
|
71
|
+
name={IconNames.Check}
|
|
72
|
+
color={IconColors.UiWhite}
|
|
73
|
+
size={IconSizes.Large}
|
|
74
|
+
/>
|
|
75
|
+
</Circle>
|
|
76
|
+
</HStack>
|
|
77
|
+
</DSProvider>
|
|
78
|
+
</Canvas>
|
|
79
|
+
|
|
80
|
+
## Square
|
|
81
|
+
|
|
82
|
+
Similar to `Center` but always has equal height and width.
|
|
83
|
+
|
|
84
|
+
<Canvas>
|
|
85
|
+
<DSProvider>
|
|
86
|
+
<HStack spacing="s">
|
|
87
|
+
<Square size="50px" bg="var(--ui-test)">
|
|
88
|
+
<Icon name={IconNames.Download} size={IconSizes.Large} />
|
|
89
|
+
</Square>
|
|
90
|
+
<Square size="50px" bg="var(--ui-link-primary)">
|
|
91
|
+
<Icon
|
|
92
|
+
name={IconNames.Check}
|
|
93
|
+
color={IconColors.UiWhite}
|
|
94
|
+
size={IconSizes.Large}
|
|
95
|
+
/>
|
|
96
|
+
</Square>
|
|
97
|
+
</HStack>
|
|
98
|
+
</DSProvider>
|
|
99
|
+
</Canvas>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Meta, Story, Canvas } from "@storybook/addon-docs/blocks";
|
|
2
|
+
import { Box } from "@chakra-ui/react";
|
|
3
|
+
import { Grid, GridItem } from "@chakra-ui/react";
|
|
4
|
+
import { getCategory } from "../../utils/componentCategories";
|
|
5
|
+
|
|
6
|
+
<Meta title={getCategory("Grid")} component={Grid} />
|
|
7
|
+
|
|
8
|
+
# Grid
|
|
9
|
+
|
|
10
|
+
| Component Version | DS Version |
|
|
11
|
+
| ----------------- | ---------- |
|
|
12
|
+
| Added | `0.25.1` |
|
|
13
|
+
|
|
14
|
+
Note: This needs the use of the `DSProvider` component. See the [README](https://github.com/NYPL/nypl-design-system#using-the-design-system-in-your-product)
|
|
15
|
+
for more information.
|
|
16
|
+
|
|
17
|
+
This component is directly exported from Chakra UI. The `Grid` component is useful for grid layouts and offers more complexity and formatting options than the DS `SimpleGrid` component. `Grid` is `Box` with `display: grid` and it comes with helpful style shorthand. It renders a `div` element.
|
|
18
|
+
|
|
19
|
+
Details about available props and related child components can be found on the [Grid component](https://chakra-ui.com/docs/layout/grid)
|
|
20
|
+
page on the Chakra UI site.
|
|
21
|
+
|
|
22
|
+
<Canvas>
|
|
23
|
+
<Story
|
|
24
|
+
name="Grid"
|
|
25
|
+
args={{
|
|
26
|
+
templateColumns: "repeat(5, 1fr)",
|
|
27
|
+
gap: "l",
|
|
28
|
+
}}
|
|
29
|
+
>
|
|
30
|
+
{(args) => (
|
|
31
|
+
<Grid {...args}>
|
|
32
|
+
<Box w="100%" h="20" bg="brand.primary" />
|
|
33
|
+
<Box w="100%" h="20" bg="brand.secondary" />
|
|
34
|
+
<Box w="100%" h="20" bg="brand.primary" />
|
|
35
|
+
<Box w="100%" h="20" bg="brand.secondary" />
|
|
36
|
+
<Box w="100%" h="20" bg="brand.primary" />
|
|
37
|
+
<Box w="100%" h="20" bg="brand.secondary" />
|
|
38
|
+
<Box w="100%" h="20" bg="brand.primary" />
|
|
39
|
+
<Box w="100%" h="20" bg="brand.secondary" />
|
|
40
|
+
<Box w="100%" h="20" bg="brand.primary" />
|
|
41
|
+
<Box w="100%" h="20" bg="brand.secondary" />
|
|
42
|
+
</Grid>
|
|
43
|
+
)}
|
|
44
|
+
</Story>
|
|
45
|
+
</Canvas>
|
|
46
|
+
|
|
47
|
+
## Complex Layouts with Grid Child Components
|
|
48
|
+
|
|
49
|
+
In some layouts, you may need certain grid items to span a specific amount of columns or rows instead of an even distribution. To achieve this, you need to pass the `colSpan` prop to the `GridItem` component to span across columns and also pass the `rowSpan` component to span across rows. You also need to specify the `templateColumns` and `templateRows`.
|
|
50
|
+
|
|
51
|
+
<Canvas>
|
|
52
|
+
<DSProvider>
|
|
53
|
+
<Grid
|
|
54
|
+
h="200px"
|
|
55
|
+
templateRows="repeat(2, 1fr)"
|
|
56
|
+
templateColumns="repeat(5, 1fr)"
|
|
57
|
+
gap="32"
|
|
58
|
+
>
|
|
59
|
+
<GridItem rowSpan={2} colSpan={1} bg="var(--ui-link-primary)" />
|
|
60
|
+
<GridItem colSpan={2} bg="var(--ui-success-primary)" />
|
|
61
|
+
<GridItem colSpan={2} bg="var(--ui-success-secondary)" />
|
|
62
|
+
<GridItem colSpan={4} bg="var(--ui-link-secondary)" />
|
|
63
|
+
</Grid>
|
|
64
|
+
</DSProvider>
|
|
65
|
+
</Canvas>
|
|
66
|
+
|
|
67
|
+
```jsx
|
|
68
|
+
<Grid
|
|
69
|
+
h="200px"
|
|
70
|
+
templateRows="repeat(2, 1fr)"
|
|
71
|
+
templateColumns="repeat(5, 1fr)"
|
|
72
|
+
gap="32"
|
|
73
|
+
>
|
|
74
|
+
<GridItem rowSpan={2} colSpan={1} bg="var(--ui-link-primary)" />
|
|
75
|
+
<GridItem colSpan={2} bg="var(--ui-success-primary)" />
|
|
76
|
+
<GridItem colSpan={2} bg="var(--ui-success-secondary)" />
|
|
77
|
+
<GridItem colSpan={4} bg="var(--ui-link-secondary)" />
|
|
78
|
+
</Grid>
|
|
79
|
+
```
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Meta, Story, Canvas } from "@storybook/addon-docs";
|
|
2
|
+
import { Box, Stack, HStack, VStack, Circle } from "@chakra-ui/react";
|
|
3
|
+
|
|
4
|
+
import { getCategory } from "../../utils/componentCategories";
|
|
5
|
+
import DSProvider from "../../theme/provider";
|
|
6
|
+
import Icon from "../Icons/Icon";
|
|
7
|
+
import { IconNames, IconRotationTypes, IconSizes } from "../Icons/IconTypes";
|
|
8
|
+
import Radio from "../Radio/Radio";
|
|
9
|
+
|
|
10
|
+
<Meta title={getCategory("Stack, HStack, VStack")} component={Stack} />
|
|
11
|
+
|
|
12
|
+
# Stack, HStack, VStack
|
|
13
|
+
|
|
14
|
+
| Component Version | DS Version |
|
|
15
|
+
| ----------------- | ---------- |
|
|
16
|
+
| Added | `0.24.0` |
|
|
17
|
+
|
|
18
|
+
Note: This needs the use of the `DSProvider` component. See the [README](https://github.com/NYPL/nypl-design-system#using-the-design-system-in-your-product)
|
|
19
|
+
for more information.
|
|
20
|
+
|
|
21
|
+
These components are directly exported from Chakra UI. The `Stack`, `HStack`,
|
|
22
|
+
and `VStack` are layout component that makes it easy to stack elements together
|
|
23
|
+
with spacing between them.
|
|
24
|
+
|
|
25
|
+
All available props can be found on the [Style Props](https://chakra-ui.com/docs/features/style-props)
|
|
26
|
+
guide on the Chakra UI site.
|
|
27
|
+
|
|
28
|
+
## Stack
|
|
29
|
+
|
|
30
|
+
The `Stack` component is the most flexible component because it can stack elements
|
|
31
|
+
both horizontally and vertically through the `direction` prop.
|
|
32
|
+
|
|
33
|
+
<Canvas>
|
|
34
|
+
<Story
|
|
35
|
+
name="Stack, HStack, VStack"
|
|
36
|
+
args={{
|
|
37
|
+
direction: "column",
|
|
38
|
+
spacing: "10px",
|
|
39
|
+
}}
|
|
40
|
+
argTypes={{
|
|
41
|
+
direction: {
|
|
42
|
+
control: {
|
|
43
|
+
type: "select",
|
|
44
|
+
},
|
|
45
|
+
options: ["column", "row"],
|
|
46
|
+
},
|
|
47
|
+
}}
|
|
48
|
+
>
|
|
49
|
+
{(args) => (
|
|
50
|
+
<Stack {...args}>
|
|
51
|
+
<Circle size="50px" borderColor="ui.black" borderWidth="1px">
|
|
52
|
+
<Icon name={IconNames.ErrorFilled} size={IconSizes.Large} />
|
|
53
|
+
</Circle>
|
|
54
|
+
<Circle size="50px" borderColor="ui.black" borderWidth="1px">
|
|
55
|
+
<Icon name={IconNames.ErrorOutline} size={IconSizes.Large} />
|
|
56
|
+
</Circle>
|
|
57
|
+
<Circle size="50px" borderColor="ui.black" borderWidth="1px">
|
|
58
|
+
<Icon name={IconNames.Check} size={IconSizes.Large} />
|
|
59
|
+
</Circle>
|
|
60
|
+
</Stack>
|
|
61
|
+
)}
|
|
62
|
+
</Story>
|
|
63
|
+
</Canvas>
|
|
64
|
+
|
|
65
|
+
## HStack
|
|
66
|
+
|
|
67
|
+
Stacks components horizontally.
|
|
68
|
+
|
|
69
|
+
<Canvas>
|
|
70
|
+
<DSProvider>
|
|
71
|
+
<HStack>
|
|
72
|
+
<Radio checked labelText="Tom Nook" name="testChecked" />
|
|
73
|
+
<Radio labelText="Timmy" name="testChecked" />
|
|
74
|
+
<Radio labelText="Tommy" name="testChecked" />
|
|
75
|
+
<Radio labelText="Celeste" name="testChecked" />
|
|
76
|
+
</HStack>
|
|
77
|
+
</DSProvider>
|
|
78
|
+
</Canvas>
|
|
79
|
+
|
|
80
|
+
## VStack
|
|
81
|
+
|
|
82
|
+
Stacks components vertically.
|
|
83
|
+
|
|
84
|
+
<Canvas>
|
|
85
|
+
<DSProvider>
|
|
86
|
+
<VStack>
|
|
87
|
+
<Radio isChecked labelText="Tom Nook" name="testChecked" />
|
|
88
|
+
<Radio labelText="Timmy" name="testChecked" />
|
|
89
|
+
<Radio labelText="Tommy" name="testChecked" />
|
|
90
|
+
<Radio labelText="Celeste" name="testChecked" />
|
|
91
|
+
</VStack>
|
|
92
|
+
</DSProvider>
|
|
93
|
+
</Canvas>
|
|
@@ -3,12 +3,13 @@ import {
|
|
|
3
3
|
Story,
|
|
4
4
|
Canvas,
|
|
5
5
|
ArgsTable,
|
|
6
|
-
Preview,
|
|
7
6
|
Description,
|
|
8
7
|
} from "@storybook/addon-docs/blocks";
|
|
9
8
|
import { withDesign } from "storybook-addon-designs";
|
|
10
|
-
import {
|
|
9
|
+
import { HStack } from "@chakra-ui/react";
|
|
11
10
|
|
|
11
|
+
import { getCategory } from "../../utils/componentCategories";
|
|
12
|
+
import DSProvider from "../../theme/provider";
|
|
12
13
|
import Checkbox from "./Checkbox";
|
|
13
14
|
import { onChangeDefault } from "./Checkbox";
|
|
14
15
|
|
|
@@ -25,89 +26,110 @@ import { onChangeDefault } from "./Checkbox";
|
|
|
25
26
|
jest: ["Checkbox.test.tsx"],
|
|
26
27
|
}}
|
|
27
28
|
argTypes={{
|
|
29
|
+
className: { table: { disable: true } },
|
|
30
|
+
id: { table: { disable: true } },
|
|
31
|
+
isChecked: { table: { disable: true } },
|
|
28
32
|
onChange: { table: { disable: true } },
|
|
29
|
-
checked: { table: { disable: true } },
|
|
30
33
|
}}
|
|
31
34
|
/>
|
|
32
35
|
|
|
33
36
|
# Checkbox
|
|
34
37
|
|
|
38
|
+
| Component Version | DS Version |
|
|
39
|
+
| ----------------- | ---------- |
|
|
40
|
+
| Added | `0.1.0` |
|
|
41
|
+
| Latest | `0.25.0` |
|
|
42
|
+
|
|
35
43
|
<Description of={Checkbox} />
|
|
36
44
|
|
|
37
45
|
This component renders a Checkbox button form element. See below for configuration information. Note that the `id` property, while optional, will
|
|
38
46
|
cause an accessibility violation if none is present.
|
|
39
47
|
|
|
40
|
-
<
|
|
48
|
+
<Canvas withToolbar>
|
|
41
49
|
<Story
|
|
42
50
|
name="Checkbox"
|
|
43
51
|
args={{
|
|
44
52
|
labelText: "Test Label",
|
|
45
53
|
showLabel: true,
|
|
46
54
|
id: "test_id",
|
|
55
|
+
name: "test_name",
|
|
56
|
+
value: "1",
|
|
57
|
+
isDisabled: false,
|
|
58
|
+
isRequired: false,
|
|
59
|
+
isInvalid: false,
|
|
60
|
+
helperText: "This is the helper text!",
|
|
61
|
+
errorText: "This is the error text :(",
|
|
47
62
|
}}
|
|
48
63
|
>
|
|
49
64
|
{(args) => <Checkbox {...args} />}
|
|
50
65
|
</Story>
|
|
51
|
-
</
|
|
66
|
+
</Canvas>
|
|
52
67
|
|
|
53
68
|
<ArgsTable story="Checkbox" />
|
|
54
69
|
|
|
55
70
|
## Checked
|
|
56
71
|
|
|
57
72
|
<Canvas>
|
|
58
|
-
<
|
|
59
|
-
checked
|
|
60
|
-
|
|
61
|
-
onChange={onChangeDefault}
|
|
62
|
-
labelText="I am checked"
|
|
63
|
-
></Checkbox>
|
|
73
|
+
<DSProvider>
|
|
74
|
+
<Checkbox labelText="I am checked" isChecked value="1" />
|
|
75
|
+
</DSProvider>
|
|
64
76
|
</Canvas>
|
|
65
77
|
|
|
66
78
|
## Focused
|
|
67
79
|
|
|
68
80
|
<Canvas>
|
|
69
|
-
<
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
showLabel={true}
|
|
73
|
-
></Checkbox>
|
|
81
|
+
<DSProvider>
|
|
82
|
+
<Checkbox labelText="Click or tab to the Checkbox to see its focus state" />
|
|
83
|
+
</DSProvider>
|
|
74
84
|
</Canvas>
|
|
75
85
|
|
|
76
86
|
## Errored
|
|
77
87
|
|
|
78
88
|
<Canvas>
|
|
79
|
-
<
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
89
|
+
<DSProvider>
|
|
90
|
+
<HStack>
|
|
91
|
+
<Checkbox isInvalid labelText="I am in an error state" />
|
|
92
|
+
<Checkbox
|
|
93
|
+
isInvalid
|
|
94
|
+
isChecked
|
|
95
|
+
labelText="I am checked in an error state"
|
|
96
|
+
/>
|
|
97
|
+
</HStack>
|
|
98
|
+
</DSProvider>
|
|
84
99
|
</Canvas>
|
|
85
100
|
|
|
86
101
|
## Disabled
|
|
87
102
|
|
|
88
103
|
<Canvas>
|
|
89
|
-
<
|
|
104
|
+
<DSProvider>
|
|
105
|
+
<HStack>
|
|
106
|
+
<Checkbox isDisabled labelText="I am disabled" />
|
|
107
|
+
<Checkbox isDisabled isChecked labelText="I am checked and disabled" />
|
|
108
|
+
</HStack>
|
|
109
|
+
</DSProvider>
|
|
90
110
|
</Canvas>
|
|
91
111
|
|
|
92
112
|
## Helper Text
|
|
93
113
|
|
|
94
114
|
<Canvas>
|
|
95
|
-
<
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
115
|
+
<DSProvider>
|
|
116
|
+
<Checkbox
|
|
117
|
+
name="testHelperText"
|
|
118
|
+
labelText="I have helper text"
|
|
119
|
+
helperText="I am the helper text for this Checkbox"
|
|
120
|
+
/>
|
|
121
|
+
</DSProvider>
|
|
101
122
|
</Canvas>
|
|
102
123
|
|
|
103
124
|
## Error Text
|
|
104
125
|
|
|
105
126
|
<Canvas>
|
|
106
|
-
<
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
127
|
+
<DSProvider>
|
|
128
|
+
<Checkbox
|
|
129
|
+
name="testErrorText"
|
|
130
|
+
labelText="I have error text"
|
|
131
|
+
errorText="I am the error text for this Checkbox"
|
|
132
|
+
isInvalid
|
|
133
|
+
/>
|
|
134
|
+
</DSProvider>
|
|
113
135
|
</Canvas>
|