docs/_snippets/your-component-with-decorator.md
import { type Meta, componentWrapperDecorator } from '@storybook/angular';
import { YourComponent } from './your.component';
const meta: Meta<YourComponent> = {
component: YourComponent,
decorators: [componentWrapperDecorator((story) => `<div style="margin: 3em">${story}</div>`)],
};
export default meta;
import { componentWrapperDecorator } from '@storybook/angular';
import preview from '../.storybook/preview';
import { YourComponent } from './your.component';
const meta = preview.meta({
component: YourComponent,
decorators: [componentWrapperDecorator((story) => `<div style="margin: 3em">${story}</div>`)],
});
import { YourComponent } from './YourComponent';
export default {
component: YourComponent,
decorators: [
(Story) => (
<div style={{ margin: '3em' }}>
<Story />
</div>
),
],
};
// Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
import type { Meta } from '@storybook/your-framework';
import { YourComponent } from './YourComponent';
const meta = {
component: YourComponent,
decorators: [
(Story) => (
<div style={{ margin: '3em' }}>
<Story />
</div>
),
],
} satisfies Meta<typeof YourComponent>;
export default meta;
import { YourComponent } from './YourComponent';
export default {
component: YourComponent,
decorators: [
(Story) => (
<div style={{ margin: '3em' }}>
<Story />
</div>
),
],
};
import type { Meta } from 'storybook-solidjs-vite';
import { YourComponent } from './YourComponent';
const meta = {
component: YourComponent,
decorators: [
(Story) => (
<div style={{ margin: '3em' }}>
<Story />
</div>
),
],
} satisfies Meta<typeof YourComponent>;
export default meta;
<script module>
import { defineMeta } from '@storybook/addon-svelte-csf';
import YourComponent from './YourComponent.svelte';
import MarginDecorator from './MarginDecorator.svelte';
const { Story } = defineMeta({
component: YourComponent,
decorators: [() => MarginDecorator],
});
</script>
import YourComponent from './YourComponent.svelte';
import MarginDecorator from './MarginDecorator.svelte';
export default {
component: YourComponent,
decorators: [() => MarginDecorator],
};
<script module>
import { defineMeta } from '@storybook/addon-svelte-csf';
import YourComponent from './YourComponent.svelte';
import MarginDecorator from './MarginDecorator.svelte';
const { Story } = defineMeta({
component: YourComponent,
decorators: [() => MarginDecorator],
});
</script>
// Replace your-framework with svelte-vite or sveltekit
import type { Meta } from '@storybook/your-framework';
import YourComponent from './YourComponent.svelte';
import MarginDecorator from './MarginDecorator.svelte';
const meta = {
component: YourComponent,
decorators: [() => MarginDecorator],
} satisfies Meta<typeof YourComponent>;
export default meta;
import YourComponent from './YourComponent.vue';
export default {
component: YourComponent,
decorators: [() => ({ template: '<div style="margin: 3em;"><story/></div>' })],
};
import type { Meta } from '@storybook/vue3-vite';
import YourComponent from './YourComponent.vue';
const meta = {
component: YourComponent,
decorators: [() => ({ template: '<div style="margin: 3em;"><story/></div>' })],
} satisfies Meta<typeof YourComponent>;
export default meta;
import preview from '../.storybook/preview';
import YourComponent from './YourComponent.vue';
const meta = preview.meta({
component: YourComponent,
decorators: [() => ({ template: '<div style="margin: 3em;"><story/></div>' })],
});
import preview from '../.storybook/preview';
import YourComponent from './YourComponent.vue';
const meta = preview.meta({
component: YourComponent,
decorators: [() => ({ template: '<div style="margin: 3em;"><story/></div>' })],
});
import { html } from 'lit';
export default {
component: 'demo-your-component',
decorators: [(story) => html`<div style="margin: 3em">${story()}</div>`],
};
import type { Meta } from '@storybook/web-components-vite';
import { html } from 'lit';
const meta: Meta = {
component: 'demo-your-component',
decorators: [(story) => html`<div style="margin: 3em">${story()}</div>`],
};
export default meta;
import { html } from 'lit';
import preview from '../.storybook/preview';
const meta = preview.meta({
component: 'demo-your-component',
decorators: [(story) => html`<div style="margin: 3em">${story()}</div>`],
});
import { html } from 'lit';
import preview from '../.storybook/preview';
const meta = preview.meta({
component: 'demo-your-component',
decorators: [(story) => html`<div style="margin: 3em">${story()}</div>`],
});
import preview from '../.storybook/preview';
import { YourComponent } from './YourComponent';
const meta = preview.meta({
component: YourComponent,
decorators: [
(Story) => (
<div style={{ margin: '3em' }}>
<Story />
</div>
),
],
});
import preview from '../.storybook/preview';
import { YourComponent } from './YourComponent';
const meta = preview.meta({
component: YourComponent,
decorators: [
(Story) => (
<div style={{ margin: '3em' }}>
<Story />
</div>
),
],
});