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.

    Keywords

    none

    Install

    npm i react-storybook-addon-info-docgen

    DownloadsWeekly Downloads

    4

    Version

    1.1.1

    License

    MIT

    Last publish

    Collaborators

    • renatorib