```js
// List.stories.js

import List from './ListComponent.vue';
import ListItem from './ListItem.vue';

export default {
  /* 👇 The title prop is optional.
   * See https://storybook.js.org/docs/7.0/vue/configure/overview#configure-story-loading
   * to learn how to generate automatic titles
   */
  title: 'List',
  component: List,
};

/*
 *👇 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.
 */
export const Empty = {
  render: (args, { argTypes }) => ({
    components: { List },
    props: Object.keys(argTypes),
    template: '<List v-bind="$props"/>',
  }),
};

export const OneItem = {
  render: (args, { argTypes }) => ({
    components: { List, ListItem },
    props: Object.keys(argTypes),
    template: `
      <List v-bind="$props">
        <list-item/>
      </List>`,
  }),
};

export const ManyItems = {
  render: (args, { argTypes }) => ({
    components: { List, ListItem },
    props: Object.keys(argTypes),
    template: `
      <List v-bind="$props">
        <list-item/>
        <list-item/>
        <list-item/>
      </List>`,
  }),
};
```
