import { List, ListItem } from "./index"; import { DocsPage } from "@shared/stories/DocsTemplate"; import type { Meta, StoryObj } from "@storybook/react"; const meta: Meta = { title: "Components/List", component: List, tags: ["autodocs"], parameters: { layout: "centered", docs: { page: DocsPage, description: { component: "Flexible list components for ordered, unordered, and custom lists.", }, }, }, argTypes: { type: { control: { type: "select" }, options: ["ul", "ol"], description: "List type (ul or ol)", }, variant: { control: { type: "select" }, options: ["default", "unstyled"], description: "List styling variant", }, children: { control: { type: "text" }, description: "List content", }, }, args: { type: "ul", variant: "default", children: "List content", }, }; export default meta; type Story = StoryObj; // Default list export const Default: Story = { render: () => ( First item Second item Third item ), }; // Unordered list export const Unordered: Story = { render: () => ( Apple Banana Cherry Date ), }; // Ordered list export const Ordered: Story = { render: () => ( First step Second step Third step Fourth step ), }; // Unstyled list export const Unstyled: Story = { render: () => (
Unstyled item 1
Unstyled item 2
Unstyled item 3
), }; // Compact list export const Compact: Story = { render: () => ( Compact item 1 Compact item 2 Compact item 3 ), }; // Spaced list export const Spaced: Story = { render: () => ( Spaced item 1 Spaced item 2 Spaced item 3 ), }; // Navigation list export const Navigation: Story = { render: () => ( Dashboard Profile Settings Logout ), parameters: { docs: { description: { story: "Navigation menu using unstyled list.", }, }, }, }; // Feature list export const FeatureList: Story = { render: () => (

Feature 1

Description of the first feature

Feature 2

Description of the second feature

Feature 3

Description of the third feature

), parameters: { docs: { description: { story: "Feature list with icons and descriptions.", }, }, }, }; // All variants showcase export const AllVariants: Story = { render: () => (

List Types

Unordered

Item 1 Item 2 Item 3

Ordered

Step 1 Step 2 Step 3

Variants

Default

Default item Default item

Unstyled

Unstyled item Unstyled item
), parameters: { docs: { description: { story: "Showcase of all list variants and sizes.", }, }, }, };