--- 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`)