fbredius/storybook

View on GitHub
docs/snippets/vue/badge-story.mdx-2.mdx.mdx

Summary

Maintainability
Test Coverage
```md
<!-- Badge.stories.mdx -->

import { Canvas, Meta, Story } from '@storybook/addon-docs';

import Badge from './Badge.vue';

<Meta title="MDX/Badge" component={Badge} />

export const Template = (args, { argTypes }) => ({
  props: Object.keys(argTypes),
  components: { Badge },
  template: '<Badge v-bind="$props" />',
});

# Badge

Let's define a story for our `Badge` component:

<Story
  name="positive"
  args={{
    status: 'positive',
    label: 'Positive',
  }}>
  {Template.bind({})}
</Story>

We can drop it in a `Canvas` to get a code snippet:

<Canvas>
  <Story 
    name="negative"
    args={{
      status: 'negative', 
     label: 'Negative',
    }}>
    {Template.bind({})}
  </Story>
</Canvas>

We can even preview multiple Stories in a block. This
gets rendered as a group but defines individual stories
with unique URLs, which is great for review and testing.

<Canvas>
  <Story 
    name="warning"
    args={{
      status: 'warning',
      label: 'Warning',
    }}>
    {Template.bind({})}
  </Story>
  <Story 
    name="neutral"
    args={{
      status: 'neutral', 
      label: 'Neutral',
    }}>
    {Template.bind({})}
  </Story>
  <Story 
    name="error"
    args={{
      status: 'error', 
      label: 'Error',
    }}>
    {Template.bind({})}
  </Story>
</Canvas>
```