import type { Meta, StoryObj } from '@storybook/react-vite' import { ClipboardList, BookOpen, Info, ExternalLink } from 'lucide-react' import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from './Card' const meta: Meta = { title: 'Molecules/Card', component: Card, tags: ['autodocs'], argTypes: { variant: { control: 'select', options: ['surface', 'outlined', 'elevated', 'filled'], }, }, decorators: [ (Story) => (
), ], } export default meta type Story = StoryObj export const Default: Story = { render: () => ( Card title A short description of the card content.

This is the card body. It can contain any content — text, lists, forms, or other components.

), } // --- Variants --- export const Surface: Story = { render: () => ( Surface

Default variant with border and subtle shadow.

), } export const Outlined: Story = { render: () => ( Outlined

Border only, no shadow. Good for less prominent cards.

), } export const Elevated: Story = { render: () => ( Elevated

Shadow only, no border. Creates a floating effect.

), } export const Filled: Story = { render: () => ( Professional pathway Track your progress through each stage.

Dark filled variant for featured or highlighted content sections.

), } // --- With header action --- export const WithHeaderAction: Story = { render: () => ( } >
Steps to be taken
  • Apply and verify WWCC
  • Fill a Registration Form
  • Complete compliance modules
), } // --- With footer --- export const WithFooter: Story = { render: () => ( Mandatory Training Reminders Please consult the training hub for role-specific training requirements.
Aboriginal Cultural Education Certified
), } // --- Minimal --- export const ContentOnly: Story = { render: () => (

A card with just content — no header or footer. Useful as a simple container.

), } // --- Related information --- export const RelatedInformation: Story = { render: () => ( } >
Related information
  • Visit the Beginning Teacher Information Hub
  • Apply for a role with DoE
  • Start your accreditation journey
), } // --- All variants --- export const AllVariants: Story = { render: () => (
Surface

Border + subtle shadow

Outlined

Border only

Elevated

Shadow only

Filled

Dark background, white text

), }