@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,694 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Meta,
|
|
3
|
+
Story,
|
|
4
|
+
Canvas,
|
|
5
|
+
ArgsTable,
|
|
6
|
+
Preview,
|
|
7
|
+
Description,
|
|
8
|
+
} from "@storybook/addon-docs/blocks";
|
|
9
|
+
import { withDesign } from "storybook-addon-designs";
|
|
10
|
+
import { action } from "@storybook/addon-actions";
|
|
11
|
+
|
|
12
|
+
import Button from "../Button/Button";
|
|
13
|
+
import { ButtonTypes } from "../Button/ButtonTypes";
|
|
14
|
+
import Card, { CardImage, CardHeading, CardContent, CardActions } from "./Card";
|
|
15
|
+
import { CardImageRatios, CardImageSizes, CardLayouts } from "./CardTypes";
|
|
16
|
+
import Link from "../Link/Link";
|
|
17
|
+
import Heading from "../Heading/Heading";
|
|
18
|
+
import HorizontalRule from "../HorizontalRule/HorizontalRule";
|
|
19
|
+
import { LinkTypes } from "../Link/LinkTypes";
|
|
20
|
+
import { HeadingDisplaySizes, HeadingLevels } from "../Heading/HeadingTypes";
|
|
21
|
+
import Icon from "../Icons/Icon";
|
|
22
|
+
import Image from "../Image/Image";
|
|
23
|
+
import { getCategory } from "../../utils/componentCategories";
|
|
24
|
+
|
|
25
|
+
<Meta
|
|
26
|
+
title={getCategory("Card")}
|
|
27
|
+
component={Card}
|
|
28
|
+
decorators={[withDesign]}
|
|
29
|
+
parameters={{
|
|
30
|
+
design: {
|
|
31
|
+
type: "figma",
|
|
32
|
+
url:
|
|
33
|
+
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=17167%3A58131",
|
|
34
|
+
},
|
|
35
|
+
}}
|
|
36
|
+
argTypes={{
|
|
37
|
+
blockName: { table: { disable: true } },
|
|
38
|
+
className: { table: { disable: true } },
|
|
39
|
+
modifiers: { table: { disable: true } },
|
|
40
|
+
id: { table: { disable: true } },
|
|
41
|
+
imageComponent: { table: { disable: true } },
|
|
42
|
+
layout: { table: { disable: false } },
|
|
43
|
+
imageSrc: { table: { disable: false } },
|
|
44
|
+
imageAlt: { table: { disable: false } },
|
|
45
|
+
imageSize: { table: { disable: false } },
|
|
46
|
+
imageAspectRatio: { table: { disable: false } },
|
|
47
|
+
imageAtEnd: { table: { disable: false } },
|
|
48
|
+
border: { table: { disable: false } },
|
|
49
|
+
padding: { table: { disable: false } },
|
|
50
|
+
backgroundColor: { control: { type: "color" } },
|
|
51
|
+
foregroundColor: { control: { type: "color" } },
|
|
52
|
+
}}
|
|
53
|
+
/>
|
|
54
|
+
|
|
55
|
+
# Card
|
|
56
|
+
|
|
57
|
+
| Component Version | DS Version |
|
|
58
|
+
| ----------------- | ---------- |
|
|
59
|
+
| Added | `0.24.0` |
|
|
60
|
+
| Latest | `0.24.1` |
|
|
61
|
+
|
|
62
|
+
<Description of={Card} />
|
|
63
|
+
|
|
64
|
+
The `Card` component is viewed as a contained, stand-alone element. It is highly configurable and composable. It can be shown with or without an image and the content area is composed using Card-specific child components: `CardHeading`, `CardActions` and `CardContent`. These child components can be arranged in any order and each child component may be used multiple times within the content area. Although a `Card` is a self-contained unit, `Card` components are often grouped together and displayed in some type of grid layout.
|
|
65
|
+
|
|
66
|
+
#### CardHeading
|
|
67
|
+
|
|
68
|
+
The `CardHeading` component mirrors the standard DS `Heading` component and accepts the [same props](https://nypl.github.io/nypl-design-system/storybook-static/?path=/docs/heading--heading-props).
|
|
69
|
+
|
|
70
|
+
#### CardActions
|
|
71
|
+
|
|
72
|
+
The `CardActions` component is used to display "call to action" (CTA) buttons and links for the card. The DS `Button` and `Link` components should be passed as children into the `CardActions` component.
|
|
73
|
+
|
|
74
|
+
#### CardContent
|
|
75
|
+
|
|
76
|
+
The `CardContent` component should be used to display all content other than headings and CTAs.
|
|
77
|
+
|
|
78
|
+
<Preview withToolbar>
|
|
79
|
+
<Story
|
|
80
|
+
name="Card Props"
|
|
81
|
+
args={{
|
|
82
|
+
id: "custom-card",
|
|
83
|
+
layout: CardLayouts.Row,
|
|
84
|
+
imageSrc: "https://placeimg.com/400/300/animals",
|
|
85
|
+
imageAspectRatio: CardImageRatios.ThreeByFour,
|
|
86
|
+
imageAlt: "Alt text",
|
|
87
|
+
}}
|
|
88
|
+
>
|
|
89
|
+
{(args) => (
|
|
90
|
+
<Card {...args}>
|
|
91
|
+
<CardHeading level={HeadingLevels.Two} id="heading1">
|
|
92
|
+
Optional Header
|
|
93
|
+
</CardHeading>
|
|
94
|
+
<CardHeading level={HeadingLevels.Four} id="heading2">
|
|
95
|
+
Sollicitudin Lorem Tortor Purus Ornare
|
|
96
|
+
</CardHeading>
|
|
97
|
+
<CardContent>
|
|
98
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
99
|
+
libero, a pharetra augue. Nullam quis risus eget urna mollis ornare
|
|
100
|
+
vel eu leo. Nulla vitae elit libero, a pharetra augue.
|
|
101
|
+
</CardContent>
|
|
102
|
+
<CardActions topBorder bottomBorder>
|
|
103
|
+
<Button
|
|
104
|
+
onClick={action("clicked")}
|
|
105
|
+
id="button1"
|
|
106
|
+
buttonType={ButtonTypes.Primary}
|
|
107
|
+
type="submit"
|
|
108
|
+
>
|
|
109
|
+
Primary
|
|
110
|
+
</Button>
|
|
111
|
+
<Button
|
|
112
|
+
onClick={action("clicked")}
|
|
113
|
+
id="button2"
|
|
114
|
+
buttonType={ButtonTypes.Secondary}
|
|
115
|
+
type="submit"
|
|
116
|
+
>
|
|
117
|
+
Secondary
|
|
118
|
+
</Button>
|
|
119
|
+
</CardActions>
|
|
120
|
+
<CardActions>
|
|
121
|
+
<Link href="javascript:void(0);">#hash1</Link>,
|
|
122
|
+
<Link href="javascript:void(0);">#hash2</Link>,
|
|
123
|
+
<Link href="javascript:void(0);">#hash3</Link>
|
|
124
|
+
</CardActions>
|
|
125
|
+
</Card>
|
|
126
|
+
)}
|
|
127
|
+
</Story>
|
|
128
|
+
</Preview>
|
|
129
|
+
|
|
130
|
+
<ArgsTable story="Card Props" />
|
|
131
|
+
|
|
132
|
+
## Image Position
|
|
133
|
+
|
|
134
|
+
By default, the image is always the first element within a `Card`. This means
|
|
135
|
+
the image is at the top of a `Card` with a column layout and on the left side of
|
|
136
|
+
a `Card` with a row layout. However, you can use the `imageAtEnd` prop to override
|
|
137
|
+
the default placement and move the image to the last element within a `Card`.
|
|
138
|
+
|
|
139
|
+
### Column Cards
|
|
140
|
+
|
|
141
|
+
<Preview>
|
|
142
|
+
<Story name="Card Image Position">
|
|
143
|
+
<div
|
|
144
|
+
style={{
|
|
145
|
+
display: "grid",
|
|
146
|
+
"grid-gap": "2rem",
|
|
147
|
+
"grid-template-columns": "repeat(2, 1fr)",
|
|
148
|
+
}}
|
|
149
|
+
>
|
|
150
|
+
<Card
|
|
151
|
+
imageSrc="https://placeimg.com/400/200/animals"
|
|
152
|
+
imageAlt="Alt text"
|
|
153
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
154
|
+
>
|
|
155
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
156
|
+
Image on Top (default)
|
|
157
|
+
</CardHeading>
|
|
158
|
+
<CardContent>
|
|
159
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
160
|
+
libero, a pharetra augue.
|
|
161
|
+
</CardContent>
|
|
162
|
+
</Card>
|
|
163
|
+
<Card
|
|
164
|
+
imageSrc="https://placeimg.com/410/210/animals"
|
|
165
|
+
imageAlt="Alt text"
|
|
166
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
167
|
+
imageAtEnd
|
|
168
|
+
>
|
|
169
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
170
|
+
Image on Bottom
|
|
171
|
+
</CardHeading>
|
|
172
|
+
<CardContent>
|
|
173
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
174
|
+
libero, a pharetra augue.
|
|
175
|
+
</CardContent>
|
|
176
|
+
</Card>
|
|
177
|
+
</div>
|
|
178
|
+
</Story>
|
|
179
|
+
</Preview>
|
|
180
|
+
|
|
181
|
+
### Row Cards
|
|
182
|
+
|
|
183
|
+
<Preview>
|
|
184
|
+
<div
|
|
185
|
+
style={{
|
|
186
|
+
display: "grid",
|
|
187
|
+
"grid-gap": "2rem",
|
|
188
|
+
"grid-template-columns": "repeat(1, 1fr)",
|
|
189
|
+
}}
|
|
190
|
+
>
|
|
191
|
+
<Card
|
|
192
|
+
layout={CardLayouts.Row}
|
|
193
|
+
center
|
|
194
|
+
imageSrc="https://placeimg.com/400/200/animals"
|
|
195
|
+
imageAlt="Alt text"
|
|
196
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
197
|
+
>
|
|
198
|
+
<CardHeading level={HeadingLevels.Four} id="heading1">
|
|
199
|
+
Image on Left (default)
|
|
200
|
+
</CardHeading>
|
|
201
|
+
<CardContent>
|
|
202
|
+
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Sed
|
|
203
|
+
posuere consectetur est at lobortis. Cras justo odio, dapibus ac
|
|
204
|
+
facilisis in, egestas eget quam.
|
|
205
|
+
</CardContent>
|
|
206
|
+
</Card>
|
|
207
|
+
<Card
|
|
208
|
+
layout={CardLayouts.Row}
|
|
209
|
+
center
|
|
210
|
+
imageSrc="https://placeimg.com/410/210/animals"
|
|
211
|
+
imageAlt="Alt text"
|
|
212
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
213
|
+
imageAtEnd
|
|
214
|
+
>
|
|
215
|
+
<CardHeading level={HeadingLevels.Four} id="heading2">
|
|
216
|
+
Image on Right
|
|
217
|
+
</CardHeading>
|
|
218
|
+
<CardContent>
|
|
219
|
+
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Sed
|
|
220
|
+
posuere consectetur est at lobortis. Cras justo odio, dapibus ac
|
|
221
|
+
facilisis in, egestas eget quam.
|
|
222
|
+
</CardContent>
|
|
223
|
+
</Card>
|
|
224
|
+
</div>
|
|
225
|
+
</Preview>
|
|
226
|
+
|
|
227
|
+
## Image Size
|
|
228
|
+
|
|
229
|
+
By default, the image width is `100%` for a `Card` with a column layout and
|
|
230
|
+
`225px` for a `Card` with a row layout. However, you can use the `imageSize`
|
|
231
|
+
prop to override the default width.
|
|
232
|
+
|
|
233
|
+
### Column Cards
|
|
234
|
+
|
|
235
|
+
<Preview>
|
|
236
|
+
<Story name="Card Image Size">
|
|
237
|
+
<div
|
|
238
|
+
style={{
|
|
239
|
+
display: "grid",
|
|
240
|
+
"grid-gap": "4rem",
|
|
241
|
+
"grid-template-columns": "repeat(1, 1fr)",
|
|
242
|
+
}}
|
|
243
|
+
>
|
|
244
|
+
<Card
|
|
245
|
+
center
|
|
246
|
+
imageSrc="https://placeimg.com/400/200/animals"
|
|
247
|
+
imageAlt="Alt text"
|
|
248
|
+
imageAspectRatio={CardImageRatios.Square}
|
|
249
|
+
imageSize={CardImageSizes.Small}
|
|
250
|
+
>
|
|
251
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
252
|
+
Small Image
|
|
253
|
+
</CardHeading>
|
|
254
|
+
<CardHeading level={HeadingLevels.Five} id="heading2">
|
|
255
|
+
Max-Width: 165px
|
|
256
|
+
</CardHeading>
|
|
257
|
+
<CardContent>
|
|
258
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
259
|
+
libero, a pharetra augue.
|
|
260
|
+
</CardContent>
|
|
261
|
+
</Card>
|
|
262
|
+
<HorizontalRule />
|
|
263
|
+
<Card
|
|
264
|
+
center
|
|
265
|
+
imageSrc="https://placeimg.com/400/200/animals"
|
|
266
|
+
imageAlt="Alt text"
|
|
267
|
+
imageAspectRatio={CardImageRatios.Square}
|
|
268
|
+
imageSize={CardImageSizes.Medium}
|
|
269
|
+
>
|
|
270
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
271
|
+
Medium Image
|
|
272
|
+
</CardHeading>
|
|
273
|
+
<CardHeading level={HeadingLevels.Five} id="heading2">
|
|
274
|
+
Max-Width: 225px
|
|
275
|
+
</CardHeading>
|
|
276
|
+
<CardContent>
|
|
277
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
278
|
+
libero, a pharetra augue.
|
|
279
|
+
</CardContent>
|
|
280
|
+
</Card>
|
|
281
|
+
<Card
|
|
282
|
+
center
|
|
283
|
+
imageSrc="https://placeimg.com/410/210/animals"
|
|
284
|
+
imageAlt="Alt text"
|
|
285
|
+
imageAspectRatio={CardImageRatios.Square}
|
|
286
|
+
imageSize={CardImageSizes.Large}
|
|
287
|
+
>
|
|
288
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
289
|
+
Large Image
|
|
290
|
+
</CardHeading>
|
|
291
|
+
<CardHeading level={HeadingLevels.Five} id="heading2">
|
|
292
|
+
Max-Width: 360px
|
|
293
|
+
</CardHeading>
|
|
294
|
+
<CardContent>
|
|
295
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
296
|
+
libero, a pharetra augue.
|
|
297
|
+
</CardContent>
|
|
298
|
+
</Card>
|
|
299
|
+
<Card
|
|
300
|
+
center
|
|
301
|
+
imageSrc="https://placeimg.com/410/210/animals"
|
|
302
|
+
imageAlt="Alt text"
|
|
303
|
+
imageAspectRatio={CardImageRatios.Square}
|
|
304
|
+
>
|
|
305
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
306
|
+
Default Image
|
|
307
|
+
</CardHeading>
|
|
308
|
+
<CardHeading level={HeadingLevels.Five} id="heading2">
|
|
309
|
+
Width: 100%
|
|
310
|
+
</CardHeading>
|
|
311
|
+
<CardContent>
|
|
312
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
313
|
+
libero, a pharetra augue.
|
|
314
|
+
</CardContent>
|
|
315
|
+
</Card>
|
|
316
|
+
</div>
|
|
317
|
+
</Story>
|
|
318
|
+
</Preview>
|
|
319
|
+
|
|
320
|
+
### Row Cards
|
|
321
|
+
|
|
322
|
+
<Preview>
|
|
323
|
+
<div
|
|
324
|
+
style={{
|
|
325
|
+
display: "grid",
|
|
326
|
+
"grid-gap": "2rem",
|
|
327
|
+
"grid-template-columns": "repeat(1, 1fr)",
|
|
328
|
+
}}
|
|
329
|
+
>
|
|
330
|
+
<Card
|
|
331
|
+
layout={CardLayouts.Row}
|
|
332
|
+
center
|
|
333
|
+
imageSrc="https://placeimg.com/400/200/animals"
|
|
334
|
+
imageAlt="Alt text"
|
|
335
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
336
|
+
imageSize={CardImageSizes.Small}
|
|
337
|
+
>
|
|
338
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
339
|
+
Small Image
|
|
340
|
+
</CardHeading>
|
|
341
|
+
<CardHeading level={HeadingLevels.Five} id="heading2">
|
|
342
|
+
Max-Width: 165px
|
|
343
|
+
</CardHeading>
|
|
344
|
+
<CardContent>
|
|
345
|
+
Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
|
|
346
|
+
</CardContent>
|
|
347
|
+
</Card>
|
|
348
|
+
<Card
|
|
349
|
+
layout={CardLayouts.Row}
|
|
350
|
+
center
|
|
351
|
+
imageSrc="https://placeimg.com/410/210/animals"
|
|
352
|
+
imageAlt="Alt text"
|
|
353
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
354
|
+
imageSize={CardImageSizes.Medium}
|
|
355
|
+
>
|
|
356
|
+
<CardHeading level={HeadingLevels.Three} id="heading2">
|
|
357
|
+
Medium Image
|
|
358
|
+
</CardHeading>
|
|
359
|
+
<CardHeading level={HeadingLevels.Five} id="heading2">
|
|
360
|
+
Max-Width: 225px
|
|
361
|
+
</CardHeading>
|
|
362
|
+
<CardContent>
|
|
363
|
+
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Sed
|
|
364
|
+
posuere consectetur est at lobortis.
|
|
365
|
+
</CardContent>
|
|
366
|
+
</Card>
|
|
367
|
+
<Card
|
|
368
|
+
layout={CardLayouts.Row}
|
|
369
|
+
center
|
|
370
|
+
imageSrc="https://placeimg.com/400/250/animals"
|
|
371
|
+
imageAlt="Alt text"
|
|
372
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
373
|
+
imageSize={CardImageSizes.Large}
|
|
374
|
+
>
|
|
375
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
376
|
+
Large Image
|
|
377
|
+
</CardHeading>
|
|
378
|
+
<CardHeading level={HeadingLevels.Five} id="heading2">
|
|
379
|
+
Max-Width: 360px
|
|
380
|
+
</CardHeading>
|
|
381
|
+
<CardContent>
|
|
382
|
+
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Sed
|
|
383
|
+
posuere consectetur est at lobortis. Cras justo odio, dapibus ac
|
|
384
|
+
facilisis in, egestas eget quam.
|
|
385
|
+
</CardContent>
|
|
386
|
+
</Card>
|
|
387
|
+
<Card
|
|
388
|
+
layout={CardLayouts.Row}
|
|
389
|
+
center
|
|
390
|
+
imageSrc="https://placeimg.com/450/250/animals"
|
|
391
|
+
imageAlt="Alt text"
|
|
392
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
393
|
+
>
|
|
394
|
+
<CardHeading level={HeadingLevels.Three} id="heading2">
|
|
395
|
+
Default Image
|
|
396
|
+
</CardHeading>
|
|
397
|
+
<CardHeading level={HeadingLevels.Five} id="heading2">
|
|
398
|
+
Max-Width: 225px
|
|
399
|
+
</CardHeading>
|
|
400
|
+
<CardContent>
|
|
401
|
+
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Sed
|
|
402
|
+
posuere consectetur est at lobortis. Cras justo odio, dapibus ac
|
|
403
|
+
facilisis in, egestas eget quam.
|
|
404
|
+
</CardContent>
|
|
405
|
+
</Card>
|
|
406
|
+
</div>
|
|
407
|
+
</Preview>
|
|
408
|
+
|
|
409
|
+
## Cards in a Grid
|
|
410
|
+
|
|
411
|
+
<Preview>
|
|
412
|
+
<Story name="Cards in a Grid">
|
|
413
|
+
<div
|
|
414
|
+
style={{
|
|
415
|
+
display: "grid",
|
|
416
|
+
"grid-gap": "2rem",
|
|
417
|
+
"grid-template-columns": "repeat(3, 1fr)",
|
|
418
|
+
}}
|
|
419
|
+
>
|
|
420
|
+
<Card
|
|
421
|
+
imageSrc="https://placeimg.com/400/200/animals"
|
|
422
|
+
imageAlt="Alt text"
|
|
423
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
424
|
+
>
|
|
425
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
426
|
+
Card Heading
|
|
427
|
+
</CardHeading>
|
|
428
|
+
<CardContent>
|
|
429
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
430
|
+
libero, a pharetra augue.
|
|
431
|
+
</CardContent>
|
|
432
|
+
</Card>
|
|
433
|
+
<Card
|
|
434
|
+
imageSrc="https://placeimg.com/410/210/animals"
|
|
435
|
+
imageAlt="Alt text"
|
|
436
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
437
|
+
>
|
|
438
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
439
|
+
Card Heading
|
|
440
|
+
</CardHeading>
|
|
441
|
+
<CardContent>
|
|
442
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
443
|
+
libero, a pharetra augue.
|
|
444
|
+
</CardContent>
|
|
445
|
+
</Card>
|
|
446
|
+
<Card
|
|
447
|
+
imageSrc="https://placeimg.com/420/220/animals"
|
|
448
|
+
imageAlt="Alt text"
|
|
449
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
450
|
+
>
|
|
451
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
452
|
+
Card Heading
|
|
453
|
+
</CardHeading>
|
|
454
|
+
<CardContent>
|
|
455
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
456
|
+
libero, a pharetra augue.
|
|
457
|
+
</CardContent>
|
|
458
|
+
</Card>
|
|
459
|
+
<Card
|
|
460
|
+
imageSrc="https://placeimg.com/430/230/animals"
|
|
461
|
+
imageAlt="Alt text"
|
|
462
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
463
|
+
>
|
|
464
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
465
|
+
Card Heading
|
|
466
|
+
</CardHeading>
|
|
467
|
+
<CardContent>
|
|
468
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
469
|
+
libero, a pharetra augue.
|
|
470
|
+
</CardContent>
|
|
471
|
+
</Card>
|
|
472
|
+
<Card
|
|
473
|
+
imageSrc="https://placeimg.com/440/240/animals"
|
|
474
|
+
imageAlt="Alt text"
|
|
475
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
476
|
+
>
|
|
477
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
478
|
+
Card Heading
|
|
479
|
+
</CardHeading>
|
|
480
|
+
<CardContent>
|
|
481
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
482
|
+
libero, a pharetra augue.
|
|
483
|
+
</CardContent>
|
|
484
|
+
</Card>
|
|
485
|
+
<Card
|
|
486
|
+
imageSrc="https://placeimg.com/450/250/animals"
|
|
487
|
+
imageAlt="Alt text"
|
|
488
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
489
|
+
>
|
|
490
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
491
|
+
Card Heading
|
|
492
|
+
</CardHeading>
|
|
493
|
+
<CardContent>
|
|
494
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
495
|
+
libero, a pharetra augue.
|
|
496
|
+
</CardContent>
|
|
497
|
+
</Card>
|
|
498
|
+
</div>
|
|
499
|
+
</Story>
|
|
500
|
+
</Preview>
|
|
501
|
+
|
|
502
|
+
## Cards in a Stack
|
|
503
|
+
|
|
504
|
+
<Preview>
|
|
505
|
+
<Story name="Cards in a Stack">
|
|
506
|
+
<div
|
|
507
|
+
style={{
|
|
508
|
+
display: "grid",
|
|
509
|
+
"grid-gap": "2rem",
|
|
510
|
+
"grid-template-columns": "repeat(1, 1fr)",
|
|
511
|
+
}}
|
|
512
|
+
>
|
|
513
|
+
<Card
|
|
514
|
+
layout={CardLayouts.Row}
|
|
515
|
+
center
|
|
516
|
+
imageSrc="https://placeimg.com/400/200/animals"
|
|
517
|
+
imageAlt="Alt text"
|
|
518
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
519
|
+
>
|
|
520
|
+
<CardHeading level={HeadingLevels.Four} id="heading1">
|
|
521
|
+
Card Heading
|
|
522
|
+
</CardHeading>
|
|
523
|
+
<CardContent>
|
|
524
|
+
Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
|
|
525
|
+
Sed posuere consectetur est at lobortis. Cras justo odio, dapibus ac
|
|
526
|
+
facilisis in, egestas eget quam.
|
|
527
|
+
</CardContent>
|
|
528
|
+
</Card>
|
|
529
|
+
<Card
|
|
530
|
+
layout={CardLayouts.Row}
|
|
531
|
+
center
|
|
532
|
+
imageSrc="https://placeimg.com/410/210/animals"
|
|
533
|
+
imageAlt="Alt text"
|
|
534
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
535
|
+
>
|
|
536
|
+
<CardHeading level={HeadingLevels.Four} id="heading2">
|
|
537
|
+
Card Heading
|
|
538
|
+
</CardHeading>
|
|
539
|
+
<CardContent>
|
|
540
|
+
Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
|
|
541
|
+
Sed posuere consectetur est at lobortis. Cras justo odio, dapibus ac
|
|
542
|
+
facilisis in, egestas eget quam.
|
|
543
|
+
</CardContent>
|
|
544
|
+
</Card>
|
|
545
|
+
<Card
|
|
546
|
+
layout={CardLayouts.Row}
|
|
547
|
+
center
|
|
548
|
+
imageSrc="https://placeimg.com/420/220/animals"
|
|
549
|
+
imageAlt="Alt text"
|
|
550
|
+
imageAspectRatio={CardImageRatios.TwoByOne}
|
|
551
|
+
>
|
|
552
|
+
<CardHeading level={HeadingLevels.Four} id="heading3">
|
|
553
|
+
Card Heading
|
|
554
|
+
</CardHeading>
|
|
555
|
+
<CardContent>
|
|
556
|
+
Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
|
|
557
|
+
Sed posuere consectetur est at lobortis. Cras justo odio, dapibus ac
|
|
558
|
+
facilisis in, egestas eget quam.
|
|
559
|
+
</CardContent>
|
|
560
|
+
</Card>
|
|
561
|
+
</div>
|
|
562
|
+
</Story>
|
|
563
|
+
</Preview>
|
|
564
|
+
|
|
565
|
+
## Custom Image Component
|
|
566
|
+
|
|
567
|
+
Instead of passing a path for the `imageSrc` prop, you can pass a custom image component in using the `imageComponent` prop.
|
|
568
|
+
|
|
569
|
+
<Preview withToolbar>
|
|
570
|
+
<Story name="Custom Image Component">
|
|
571
|
+
<Card
|
|
572
|
+
imageAlt="Alt text"
|
|
573
|
+
imageAspectRatio={CardImageRatios.SixteenByNine}
|
|
574
|
+
imageComponent={
|
|
575
|
+
<Image src="https://placeimg.com/400/400/animals" alt="Alt text" />
|
|
576
|
+
}
|
|
577
|
+
>
|
|
578
|
+
<CardHeading level={HeadingLevels.Two} id="heading1">
|
|
579
|
+
Card Component with Custom Image Component
|
|
580
|
+
</CardHeading>
|
|
581
|
+
<CardHeading level={HeadingLevels.Four} id="heading2">
|
|
582
|
+
Secondary Heading
|
|
583
|
+
</CardHeading>
|
|
584
|
+
<CardContent>
|
|
585
|
+
Nulla vitae elit libero, a pharetra augue. Lorem ipsum dolor sit amet,
|
|
586
|
+
consectetur adipiscing elit. Aenean lacinia bibendum nulla sed
|
|
587
|
+
consectetur. Vestibulum id ligula porta felis euismod semper. Cras justo
|
|
588
|
+
odio, dapibus ac facilisis in, egestas eget quam. Sed posuere
|
|
589
|
+
consectetur est at lobortis.
|
|
590
|
+
</CardContent>
|
|
591
|
+
<CardActions>
|
|
592
|
+
<Link type={LinkTypes.Button} href="blah">
|
|
593
|
+
Reserve
|
|
594
|
+
</Link>
|
|
595
|
+
<Link href="#url" type={LinkTypes.Forwards}>
|
|
596
|
+
View Book Details
|
|
597
|
+
</Link>
|
|
598
|
+
</CardActions>
|
|
599
|
+
</Card>
|
|
600
|
+
</Story>
|
|
601
|
+
</Preview>
|
|
602
|
+
|
|
603
|
+
## Cards Without Images
|
|
604
|
+
|
|
605
|
+
<Preview>
|
|
606
|
+
<Story name="Cards Without Images">
|
|
607
|
+
<div
|
|
608
|
+
style={{
|
|
609
|
+
display: "grid",
|
|
610
|
+
"grid-gap": "2rem",
|
|
611
|
+
"grid-template-columns": "repeat(3, 1fr)",
|
|
612
|
+
"margin-bottom": "2rem",
|
|
613
|
+
}}
|
|
614
|
+
>
|
|
615
|
+
<Card border>
|
|
616
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
617
|
+
Card Heading
|
|
618
|
+
</CardHeading>
|
|
619
|
+
<CardContent>
|
|
620
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
621
|
+
libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.
|
|
622
|
+
Praesent commodo cursus magna, vel scelerisque nisl.
|
|
623
|
+
</CardContent>
|
|
624
|
+
</Card>
|
|
625
|
+
<Card border>
|
|
626
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
627
|
+
Card Heading
|
|
628
|
+
</CardHeading>
|
|
629
|
+
<CardContent>
|
|
630
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
631
|
+
libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.
|
|
632
|
+
Praesent commodo cursus magna, vel scelerisque nisl.
|
|
633
|
+
</CardContent>
|
|
634
|
+
</Card>
|
|
635
|
+
<Card border>
|
|
636
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
637
|
+
Card Heading
|
|
638
|
+
</CardHeading>
|
|
639
|
+
<CardContent>
|
|
640
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
641
|
+
libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.
|
|
642
|
+
Praesent commodo cursus magna, vel scelerisque nisl.
|
|
643
|
+
</CardContent>
|
|
644
|
+
</Card>
|
|
645
|
+
</div>
|
|
646
|
+
<div
|
|
647
|
+
style={{
|
|
648
|
+
display: "grid",
|
|
649
|
+
"grid-gap": "2rem",
|
|
650
|
+
"grid-template-columns": "repeat(1, 1fr)",
|
|
651
|
+
}}
|
|
652
|
+
>
|
|
653
|
+
<Card layout={CardLayouts.Row} border>
|
|
654
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
655
|
+
Card Heading
|
|
656
|
+
</CardHeading>
|
|
657
|
+
<CardContent>
|
|
658
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
659
|
+
libero, a pharetra augue. Vestibulum id ligula porta felis euismod
|
|
660
|
+
semper. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit
|
|
661
|
+
libero, a pharetra augue. Praesent commodo cursus magna, vel
|
|
662
|
+
scelerisque nisl consectetur et. Donec id elit non mi porta gravida at
|
|
663
|
+
eget metus.
|
|
664
|
+
</CardContent>
|
|
665
|
+
</Card>
|
|
666
|
+
<Card layout={CardLayouts.Row} border>
|
|
667
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
668
|
+
Card Heading
|
|
669
|
+
</CardHeading>
|
|
670
|
+
<CardContent>
|
|
671
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
672
|
+
libero, a pharetra augue. Vestibulum id ligula porta felis euismod
|
|
673
|
+
semper. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit
|
|
674
|
+
libero, a pharetra augue. Praesent commodo cursus magna, vel
|
|
675
|
+
scelerisque nisl consectetur et. Donec id elit non mi porta gravida at
|
|
676
|
+
eget metus.
|
|
677
|
+
</CardContent>
|
|
678
|
+
</Card>
|
|
679
|
+
<Card layout={CardLayouts.Row} border>
|
|
680
|
+
<CardHeading level={HeadingLevels.Three} id="heading1">
|
|
681
|
+
Card Heading
|
|
682
|
+
</CardHeading>
|
|
683
|
+
<CardContent>
|
|
684
|
+
Vestibulum id ligula porta felis euismod semper. Nulla vitae elit
|
|
685
|
+
libero, a pharetra augue. Vestibulum id ligula porta felis euismod
|
|
686
|
+
semper. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit
|
|
687
|
+
libero, a pharetra augue. Praesent commodo cursus magna, vel
|
|
688
|
+
scelerisque nisl consectetur et. Donec id elit non mi porta gravida at
|
|
689
|
+
eget metus.
|
|
690
|
+
</CardContent>
|
|
691
|
+
</Card>
|
|
692
|
+
</div>
|
|
693
|
+
</Story>
|
|
694
|
+
</Preview>
|