react-storybook-addon-info-docgen

1.1.1 • Public • Published

React Storybook Info Addon

A React Storybook addon to show additional information for your stories.

React Storybook Screenshot

Usage

Install the following npm module:

npm i -D @kadira/react-storybook-addon-info

Then set the addon in the place you configure storybook like this:

import React from 'react';
import { configure, setAddon } from '@kadira/storybook';
import infoAddon from '@kadira/react-storybook-addon-info';
 
setAddon(infoAddon);
 
configure(function () {
  ...
}, module);

Then create your stories with the .addWithInfo API.

import React from 'react';
import Button from './Button';
import { storiesOf, action } from '@kadira/storybook';
 
storiesOf('Button')
  .addWithInfo(
    'simple usage',
    `
      This is the basic usage with the button with providing a label to show the text.
    `,
    () => (
      <div>
        <Button label="The Button" onClick={action('onClick')}/>
        <br />
        <p>
          Click the "?" mark at top-right to view the info.
        </p>
      </div>
    ),
  );

Then create your stories with the .addWithHOC API.

import React from 'react';
import TextField from './TextField';
import withState from 'recompose/withState';
import { storiesOf, action } from '@kadira/storybook';
 
storiesOf('TextField')
  .addWithHOC(
    'simple usage',
    `
      This is the basic usage with the TextField
    `,
    withState('value', 'onChange', 'init value'),
    TextField,
    ({ value, onChange}) => (
      <TextField value={value} onChange={onChange} />
    )
  );

Have a look at this example stories to learn more about the addWithInfo API.

Use with Docgen

We may add the description to prop. For example:

Object.assign(Button, {
  displayName: 'Button',
  propTypes: {
    /** Single line comment: This is label description */
    label: React.PropTypes.string.isRequired,
    /*
     * Multiple lines comment: This is style description
     * Must be in object
     */
    style: React.PropTypes.object,
    disabled: React.PropTypes.bool,
    onClick: React.PropTypes.func,
  },
});

The FAQ

Components lose their names on static build

Component names also get minified with other javascript code when building for production. When creating components, set the displayName static property to show the correct component name on static builds.

Dependents (0)

Package Sidebar

Install

npm i react-storybook-addon-info-docgen

Weekly Downloads

1

Version

1.1.1

License

MIT

Last publish

Collaborators

  • renatorib