import type { Meta, StoryObj } from '@storybook/react'; import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from './card'; import { Button } from './button'; const meta = { title: 'UI/Card', component: Card, tags: ['autodocs'], argTypes: { variant: { control: 'select', options: ['default', 'elevated', 'ghost', 'outline', 'muted', 'glass', 'interactive', 'glow', 'glowMagenta', 'spotlight'], }, padding: { control: 'select', options: ['none', 'sm', 'default', 'lg'], }, }, args: { variant: 'default', padding: 'default', } } satisfies Meta; export default meta; type Story = StoryObj; export const Default: Story = { render: (args) => ( Create project Deploy your new project in one-click.

Project Name: Veza App

Framework: React

), }; export const Interactive: Story = { args: { variant: 'interactive', }, render: (args) => ( Interactive Card Hover over me to see the effect.

This card responds to user interaction.

), }; export const Spotlight: Story = { args: { variant: 'spotlight', spotlight: true, }, render: (args) => (
Spotlight Effect Move your mouse over the card.

The spotlight effect follows your cursor.

), }; /** Long/short content, light and dark backgrounds. */ export const VisualStressTest: Story = { render: () => (
A Minimal content.
Very long card title that might wrap onto multiple lines Long description: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Extra body content for stress test.

), };