Back to Storybook

My Component Story With Nonstory

docs/_snippets/my-component-story-with-nonstory.md

10.3.614.5 KB
Original Source
ts
import type { Meta, StoryObj } from '@storybook/angular';

import { MyComponent } from './my-component.component';

import someData from './data.json';

const meta: Meta<MyComponent> = {
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
};

export default meta;

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

type Story = StoryObj<MyComponent>;

export const SimpleStory: Story = {
  args: {
    data: simpleData,
  },
};

export const ComplexStory: Story = {
  args: {
    data: complexData,
  },
};
ts
import preview from '../.storybook/preview';

import { MyComponent } from './my-component.component';

import someData from './data.json';

const meta = preview.meta({
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
});

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory = meta.story({
  args: {
    data: simpleData,
  },
});

export const ComplexStory = meta.story({
  args: {
    data: complexData,
  },
});
js
import { MyComponent } from './MyComponent';

import someData from './data.json';

export default {
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
};

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory = {
  args: {
    data: simpleData,
  },
};

export const ComplexStory = {
  args: {
    data: complexData,
  },
};
ts
// Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
import type { Meta, StoryObj } from '@storybook/your-framework';

import { MyComponent } from './MyComponent';

import someData from './data.json';

const meta = {
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
} satisfies Meta<typeof MyComponent>;

export default meta;
type Story = StoryObj<typeof meta>;

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory: Story = {
  args: {
    data: simpleData,
  },
};

export const ComplexStory: Story = {
  args: {
    data: complexData,
  },
};
tsx
import preview from '../.storybook/preview';

import { MyComponent } from './MyComponent';

import someData from './data.json';

const meta = preview.meta({
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
});

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory = meta.story({
  args: {
    data: simpleData,
  },
});

export const ComplexStory = meta.story({
  args: {
    data: complexData,
  },
});
jsx
import preview from '../.storybook/preview';

import { MyComponent } from './MyComponent';

import someData from './data.json';

const meta = preview.meta({
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
});

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory = meta.story({
  args: {
    data: simpleData,
  },
});

export const ComplexStory = meta.story({
  args: {
    data: complexData,
  },
});
js
import { MyComponent } from './MyComponent';

import someData from './data.json';

export default {
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
};

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory = {
  args: {
    data: simpleData,
  },
};

export const ComplexStory = {
  args: {
    data: complexData,
  },
};
tsx
import type { Meta, StoryObj } from 'storybook-solidjs-vite';

import { MyComponent } from './MyComponent';

import someData from './data.json';

const meta = {
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
} satisfies Meta<typeof MyComponent>;

export default meta;
type Story = StoryObj<typeof meta>;

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory: Story = {
  args: {
    data: simpleData,
  },
};

export const ComplexStory: Story = {
  args: {
    data: complexData,
  },
};
svelte
<script module>
  import { defineMeta } from '@storybook/addon-svelte-csf';

  import MyComponent from './MyComponent.svelte';

  import someData from './data.json';

  const { Story } = defineMeta({
    component: MyComponent,
    includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
    excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
  });

  export const simpleData = { foo: 1, bar: 'baz' };

  export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };
</script>

<Story name="SimpleStory" args={{ data: simpleData }} />

<Story name="ComplexStory" args={{ data: complexData }} />
js
import MyComponent from './MyComponent.svelte';

import someData from './data.json';

export default {
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
};

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory = {
  args: {
    data: simpleData,
  },
};

export const ComplexStory = {
  args: {
    data: complexData,
  },
};
svelte
<script module>
  import { defineMeta } from '@storybook/addon-svelte-csf';

  import MyComponent from './MyComponent.svelte';

  import someData from './data.json';

  const { Story } = defineMeta({
    component: MyComponent,
    includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
    excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
  });

  export const simpleData = { foo: 1, bar: 'baz' };

  export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };
</script>

<Story name="SimpleStory" args={{ data: simpleData }} />

<Story name="ComplexStory" args={{ data: complexData }} />
ts
// Replace your-framework with svelte-vite or sveltekit
import type { Meta, StoryObj } from '@storybook/your-framework';

import MyComponent from './MyComponent.svelte';

import someData from './data.json';

const meta = {
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
} satisfies Meta<typeof MyComponent>;

export default meta;
type Story = StoryObj<typeof meta>;

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory: Story = {
  args: {
    data: simpleData,
  },
};

export const ComplexStory: Story = {
  args: {
    data: complexData,
  },
};
js
import MyComponent from './MyComponent.vue';

import someData from './data.json';

export default {
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'],
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
};

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory = {
  args: {
    data: simpleData,
  },
};

export const ComplexStory = {
  args: {
    data: complexData,
  },
};
ts
import type { Meta, StoryObj } from '@storybook/vue3-vite';

import MyComponent from './MyComponent.vue';

import someData from './data.json';

const meta = {
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'],
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
} satisfies Meta<typeof MyComponent>;

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export default meta;
type Story = StoryObj<typeof meta>;

export const SimpleStory: Story = {
  args: {
    data: simpleData,
  },
};

export const ComplexStory: Story = {
  args: {
    data: complexData,
  },
};
ts
import preview from '../.storybook/preview';

import MyComponent from './MyComponent.vue';

import someData from './data.json';

const meta = preview.meta({
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'],
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
});

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory = meta.story({
  args: {
    data: simpleData,
  },
});

export const ComplexStory = meta.story({
  args: {
    data: complexData,
  },
});
js
import preview from '../.storybook/preview';

import MyComponent from './MyComponent.vue';

import someData from './data.json';

const meta = preview.meta({
  component: MyComponent,
  includeStories: ['SimpleStory', 'ComplexStory'],
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
});

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory = meta.story({
  args: {
    data: simpleData,
  },
});

export const ComplexStory = meta.story({
  args: {
    data: complexData,
  },
});
js
export default {
  component: 'my-component',
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
};

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory = {
  args: {
    data: simpleData,
  },
};

export const ComplexStory = {
  args: {
    data: complexData,
  },
};
ts
import type { Meta, StoryObj } from '@storybook/web-components-vite';

const meta: Meta = {
  component: 'my-component',
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
};

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export default meta;
type Story = StoryObj;

export const SimpleStory: Story = {
  args: {
    data: simpleData,
  },
};

export const ComplexStory: Story = {
  args: {
    data: complexData,
  },
};
ts
import preview from '../.storybook/preview';

const meta = preview.meta({
  component: 'my-component',
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
});

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory = meta.story({
  args: {
    data: simpleData,
  },
});

export const ComplexStory = meta.story({
  args: {
    data: complexData,
  },
});
js
import preview from '../.storybook/preview';

const meta = preview.meta({
  component: 'my-component',
  includeStories: ['SimpleStory', 'ComplexStory'], // ๐Ÿ‘ˆ Storybook loads these stories
  excludeStories: /.*Data$/, // ๐Ÿ‘ˆ Storybook ignores anything that contains Data
});

export const simpleData = { foo: 1, bar: 'baz' };
export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };

export const SimpleStory = meta.story({
  args: {
    data: simpleData,
  },
});

export const ComplexStory = meta.story({
  args: {
    data: complexData,
  },
});