Back to Storybook

Your Component With Decorator With Props

docs/_snippets/your-component-with-decorator-with-props.md

10.3.62.3 KB
Original Source
svelte
<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: [
      ({ parameters }) => ({
        Component: MarginDecorator,
        // 👇 Pass props to the MarginDecorator component
        props: { size: parameters.smallMargin ? 'small' : 'medium' },
      })
    ],
  });
</script>
js
import YourComponent from './YourComponent.svelte';
import MarginDecorator from './MarginDecorator.svelte';

export default {
  component: YourComponent,
  decorators: [
    ({ parameters }) => ({
      Component: MarginDecorator,
      // 👇 Pass props to the MarginDecorator component
      props: { size: parameters.smallMargin ? 'small' : 'medium' },
    }),
  ],
};
svelte
<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: [
      ({ parameters }) => ({
        Component: MarginDecorator,
        // 👇 Pass props to the MarginDecorator component
        props: { size: parameters.smallMargin ? 'small' : 'medium' },
      })
    ],
  });
</script>
ts
// 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: [
    ({ parameters }) => ({
      Component: MarginDecorator,
      // 👇 Pass props to the MarginDecorator component
      props: { size: parameters.smallMargin ? 'small' : 'medium' },
    }),
  ],
} satisfies Meta<typeof YourComponent>;

export default meta;