```md
<!-- Badge.stories.mdx -->

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

import Badge from './Badge.vue';

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

<!--
 👇 Render functions are a framework specific feature to allow you control on how the component renders.
  See https://storybook.js.org/docs/7.0/vue/api/csf
  to learn how to use render functions.
-->

# Badge

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

<Story 
  name="positive"
  args={{
    status: 'positive',
    label: 'Positive',
  }}
  render={(args, { argTypes }) => ({
    props: Object.keys(argTypes),
    components: { Badge },
    template: '<Badge v-bind="$props" />',
  })} />

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

<Canvas>
  <Story 
    name="negative"
    args={{
      status: 'negative', 
     label: 'Negative',
    }}
    render={(args, { argTypes }) => ({
      props: Object.keys(argTypes),
      components: { Badge },
      template: '<Badge v-bind="$props" />',
    })} />
</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',
    }}
    render={(args, { argTypes }) => ({
      props: Object.keys(argTypes),
      components: { Badge },
      template: '<Badge v-bind="$props" />',
    })} />
  <Story 
    name="neutral"
    args={{
      status: 'neutral', 
      label: 'Neutral',
    }}
    render={(args, { argTypes }) => ({
      props: Object.keys(argTypes),
      components: { Badge },
      template: '<Badge v-bind="$props" />',
    })} />
  <Story 
    name="error"
    args={{
      status: 'error', 
      label: 'Error',
    }}
    render={(args, { argTypes }) => ({
      props: Object.keys(argTypes),
      components: { Badge },
      template: '<Badge v-bind="$props" />',
    })} />
</Canvas>
```