import type { ComponentMeta, Story } from '@storybook/react'; import NextImage from 'next/image'; import { Button, ButtonLink, Link, Time } from '../../atoms'; import { MetaItem } from '../meta-list'; import { Card, type CardProps } from './card'; import { CardActions } from './card-actions'; import { CardBody } from './card-body'; import { CardCover } from './card-cover'; import { CardFooter } from './card-footer'; import { CardHeader } from './card-header'; import { CardMeta } from './card-meta'; import { CardTitle } from './card-title'; /** * Card - Storybook Meta */ export default { title: 'Molecules/Card', component: Card, argTypes: {}, } as ComponentMeta; const Template: Story> = < T extends string | undefined, >( args: CardProps ) => ; /** * Card Stories - Default */ export const Default = Template.bind({}); Default.args = { children: 'The card contents.', }; /** * Card Stories - AsLink */ export const AsLink = Template.bind({}); AsLink.args = { 'aria-label': 'Learn more about this card', children: 'The card contents.', linkTo: '#card', }; export const HeaderCover = Template.bind({}); HeaderCover.args = { children: , cover: ( ), }; export const HeaderTitle = Template.bind({}); HeaderTitle.args = { children: ( The card title ), }; export const HeaderMeta = Template.bind({}); HeaderMeta.args = { children: ( } /> ), }; export const BodyContents = Template.bind({}); BodyContents.args = { children: The card contents, }; export const FooterActions = Template.bind({}); FooterActions.args = { children: ( Read more ), }; export const FooterMeta = Template.bind({}); FooterMeta.args = { children: , meta: ( Category 1 }, { id: 'cat-2', value: Category 2 }, ]} /> ), }; export const CompositionCoverTitle = Template.bind({}); CompositionCoverTitle.args = { children: ( The card title ), cover: ( ), }; export const CompositionTitleMeta = Template.bind({}); CompositionTitleMeta.args = { children: ( The card title } /> ), }; export const CompositionCoverTitleMeta = Template.bind({}); CompositionCoverTitleMeta.args = { children: ( The card title } /> ), cover: ( ), }; export const CompositionTitleBody = Template.bind({}); CompositionTitleBody.args = { children: ( <> The card title Nihil magnam tempora voluptatem. Reiciendis ut cum vel. Odit et necessitatibus esse laudantium sequi ad. Et est quas pariatur facere velit veritatis nihil. Ratione aperiam omnis quia ut asperiores tenetur dolores veniam. Nostrum est ullam aliquam aliquid expedita ea. ), }; export const CompositionCoverTitleBody = Template.bind({}); CompositionCoverTitleBody.args = { children: ( <> The card title Nihil magnam tempora voluptatem. Reiciendis ut cum vel. Odit et necessitatibus esse laudantium sequi ad. Et est quas pariatur facere velit veritatis nihil. Ratione aperiam omnis quia ut asperiores tenetur dolores veniam. Nostrum est ullam aliquam aliquid expedita ea. ), cover: ( ), }; export const CompositionTitleMetaBody = Template.bind({}); CompositionTitleMetaBody.args = { children: ( <> The card title } /> Nihil magnam tempora voluptatem. Reiciendis ut cum vel. Odit et necessitatibus esse laudantium sequi ad. Et est quas pariatur facere velit veritatis nihil. Ratione aperiam omnis quia ut asperiores tenetur dolores veniam. Nostrum est ullam aliquam aliquid expedita ea. ), }; export const CompositionCoverTitleMetaBody = Template.bind({}); CompositionCoverTitleMetaBody.args = { children: ( <> The card title } /> Nihil magnam tempora voluptatem. Reiciendis ut cum vel. Odit et necessitatibus esse laudantium sequi ad. Et est quas pariatur facere velit veritatis nihil. Ratione aperiam omnis quia ut asperiores tenetur dolores veniam. Nostrum est ullam aliquam aliquid expedita ea. ), cover: ( ), }; export const CompositionTitleActions = Template.bind({}); CompositionTitleActions.args = { children: ( <> The card title Read more ), }; export const CompositionCoverTitleActions = Template.bind({}); CompositionCoverTitleActions.args = { children: ( <> The card title Read more ), cover: ( ), }; export const CompositionTitleBodyActions = Template.bind({}); CompositionTitleBodyActions.args = { children: ( <> The card title Nihil magnam tempora voluptatem. Reiciendis ut cum vel. Odit et necessitatibus esse laudantium sequi ad. Et est quas pariatur facere velit veritatis nihil. Ratione aperiam omnis quia ut asperiores tenetur dolores veniam. Nostrum est ullam aliquam aliquid expedita ea. Read more ), }; export const CompositionTitleBodyActionsMeta = Template.bind({}); CompositionTitleBodyActionsMeta.args = { children: ( <> The card title Nihil magnam tempora voluptatem. Reiciendis ut cum vel. Odit et necessitatibus esse laudantium sequi ad. Et est quas pariatur facere velit veritatis nihil. Ratione aperiam omnis quia ut asperiores tenetur dolores veniam. Nostrum est ullam aliquam aliquid expedita ea. Read more ), meta: ( Category 1 }, { id: 'cat-2', value: Category 2 }, ]} /> ), }; export const CompositionCoverTitleBodyActionsMeta = Template.bind({}); CompositionCoverTitleBodyActionsMeta.args = { children: ( <> The card title Nihil magnam tempora voluptatem. Reiciendis ut cum vel. Odit et necessitatibus esse laudantium sequi ad. Et est quas pariatur facere velit veritatis nihil. Ratione aperiam omnis quia ut asperiores tenetur dolores veniam. Nostrum est ullam aliquam aliquid expedita ea. Read more ), cover: ( ), meta: ( Category 1 }, { id: 'cat-2', value: Category 2 }, ]} /> ), }; export const CompositionAllContents = Template.bind({}); CompositionAllContents.args = { children: ( <> The card title } /> Nihil magnam tempora voluptatem. Reiciendis ut cum vel. Odit et necessitatibus esse laudantium sequi ad. Et est quas pariatur facere velit veritatis nihil. Ratione aperiam omnis quia ut asperiores tenetur dolores veniam. Nostrum est ullam aliquam aliquid expedita ea. Read more ), cover: ( ), meta: ( Category 1 }, { id: 'cat-2', value: Category 2 }, ]} /> ), };