---
name: Storybook
description: |
Component stories using Storybook with Svelte CSF. Story patterns, defineMeta, argTypes,
snippet-based customization, and visual testing.
Keywords: storybook, stories.svelte, defineMeta, Story, args, argTypes, autodocs
---
# Storybook
> **Documentation:** [storybook.js.org](https://storybook.js.org/docs/svelte)
## Running Storybook
```bash
npm run storybook
```
## File Location
Co-locate stories with components as `*.stories.svelte`.
## Basic Story Pattern
From [stack-status-badge.stories.svelte](src/Exceptionless.Web/ClientApp/src/lib/features/stacks/components/stack-status-badge.stories.svelte):
```svelte
```
## Story with Snippets
From [notification.stories.svelte](src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/notification/notification.stories.svelte):
```svelte
{#snippet icon()}{/snippet}
Operation completed successfully!
Your changes have been saved.
{#snippet icon()}{/snippet}
Something went wrong
An error occurred. Please try again.
{#snippet action()}
{/snippet}
Action required
Click the button to proceed.
```
## Key Patterns
- **`defineMeta`**: Returns `Story` component, configure `component`, `title`, `tags`
- **`tags: ['autodocs']`**: Auto-generate documentation page
- **`argTypes`**: Configure controls for props (select, text, boolean, etc.)
- **Simple args**: ``
- **Custom content**: Use children with snippets for complex compositions
- **Title hierarchy**: Use `/` for organization (e.g., `Components/Shared/Notification`)