Storybook Addon Vue Info

1.4.2 · deprecated · verified Sun Apr 19

storybook-addon-vue-info is a Storybook addon designed to display detailed information about Vue components, including their props, events, slots, and source code directly within the Storybook UI. The current stable version is 1.4.2. While it served its purpose by integrating Vue component documentation into Storybook, the project's README explicitly states that it has been superseded by Storybook's official Docs Mode (part of `@storybook/addon-docs`), which offers more comprehensive documentation features and supports various frameworks, including Vue.js. This addon's development appears to be in maintenance mode, with no significant feature additions since the recommendation to switch to addon-docs. Users are strongly encouraged to migrate to `@storybook/addon-docs` for up-to-date and future-proof documentation solutions.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates installation, configuration of webpack and Storybook, and basic usage of `withInfo` and `setDefaults` to display component information within a Storybook story, including setup for a Vue component.

npm install --save-dev storybook-addon-vue-info vue-docgen-loader vue-docgen-api
# yarn add -D storybook-addon-vue-info vue-docgen-loader vue-docgen-api

// .storybook/addons.js
import 'storybook-addon-vue-info/lib/register';

// .storybook/webpack.config.js
const path = require('path');
module.exports = ({ config }) => {
  config.module.rules.push({
    test: /\.vue$/,
    loader: 'vue-docgen-loader',
    enforce: 'post'
  });
  return config;
};

// .storybook/preview.js (or config.js for older Storybook versions)
import { addDecorator } from '@storybook/vue';
import { withInfo, setDefaults } from 'storybook-addon-vue-info';

addDecorator(withInfo);
setDefaults({
  header: false, // Don't show header by default
  source: true // Show source code by default
});

// stories/MyComponent.stories.js
import MyAwesomeComponent from './MyAwesomeComponent.vue';

export default {
  title: 'MyComponent',
  component: MyAwesomeComponent,
  decorators: [withInfo]
};

export const Default = () => ({
  components: { MyAwesomeComponent },
  template: '<my-awesome-component />'
});

Default.parameters = {
  info: {
    summary: 'This is an example of MyAwesomeComponent, demonstrating props, events, and slots.'
  }
};

view raw JSON →