Package Exports
- @storybook/addon-svelte-csf
- @storybook/addon-svelte-csf/dist/cjs/index.js
- @storybook/addon-svelte-csf/dist/cjs/parser/extract-stories
- @storybook/addon-svelte-csf/dist/cjs/parser/extract-stories.js
- @storybook/addon-svelte-csf/dist/cjs/parser/svelte-stories-loader
- @storybook/addon-svelte-csf/dist/cjs/parser/svelte-stories-loader.js
- @storybook/addon-svelte-csf/dist/esm/index.js
- @storybook/addon-svelte-csf/dist/esm/parser/collect-stories
- @storybook/addon-svelte-csf/dist/esm/parser/collect-stories.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@storybook/addon-svelte-csf) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Svelte Story Format
Allows to write your stories in Svelte syntax and compiles it to Storybook's CSF syntax. See the native format tab in the getting started docs for an example.
It supports:
- args stories and stories without args ;
- the "template" pattern for args stories, compatible with a svelte syntax ;
- extractions of sources of the stories and compatible with addon-sources
- decorators
- knobs, actions, controls
- storyshots (with a special jest transformation shipped under @storybook/addon-svelte-csf/jest-transform)
Example
<script>
import { Meta, Story, Template } from '@storybook/addon-svelte-csf';
import Button from './Button.svelte';
let count = 0;
function handleClick() {
count += 1;
}
</script>
<Meta title="Button" component={Button}/>
<Template let:args>
<Button {...args} on:click={handleClick}>
You clicked: {count}
</Button>
</Template>
<Story name="Rounded" args={{rounded: true}}/>
<Story name="Square" source args={{rounded: false}}/>
<!-- Dynamic snippet should be disabled for this story -->
<Story name="Button No Args">
<Button>Label</Button>
</Story>
Getting Started
npm install --save-dev @storybook/addon-svelte-csf
oryarn add --dev @storybook/addon-svelte-csf
- In
.storybook/main.js
, add@storybook/addon-svelte-csf
to the addons array - In
.storybook/main.js
, add*.stories.svelte
to the stories patterns
An example main.js
configuration could look like this:
module.exports = {
stories: ['../src/**/*.stories.@(js|jsx|ts|tsx|svelte)'],
addons: [
'@storybook/addon-links',
'@storybook/addon-essentials',
'@storybook/addon-interactions',
'@storybook/addon-svelte-csf',
],
framework: '@storybook/svelte-vite',
};
Warning v3 and above of this addon requires at least Storybook v7. If you're using Storybook between v6.4.20 and v7.0.0, you should instead use v2 of this addon with
npm install --save-dev @storybook/addon-svelte-csf@^2.0.10
oryarn add --dev @storybook/addon-svelte-csf@^2.0.10