3.4.3 • Published 6 years ago

@nlabs/storybook-addon-options v3.4.3

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

Storybook Options Addon

Build Status on CircleCI CodeFactor Known Vulnerabilities BCH compliance codecov


The Options addon can be used to (re-)configure the Storybook UI at runtime.

This addon works with Storybook for:

Screenshot

Getting Started

First, install the addon

npm install -D @nlabs/storybook-addon-options

Add this line to your addons.js file (create this file inside your storybook config directory if needed).

import '@nlabs/storybook-addon-options/register';

Import and use the setOptions function in your config.js file.

import * as storybook from '@nlabs/storybook-react';
import { setOptions } from '@nlabs/storybook-addon-options';

// Option defaults:
setOptions({
  /**
   * name to display in the top left corner
   * @type {String}
   */
  name: 'Storybook',
  /**
   * URL for name in top left corner to link to
   * @type {String}
   */
  url: '#',
  /**
   * show story component as full screen
   * @type {Boolean}
   */
  goFullScreen: false,
  /**
   * display panel that shows a list of stories
   * @type {Boolean}
   */
  showStoriesPanel: true,
  /**
   * display panel that shows addon configurations
   * @type {Boolean}
   */
  showAddonPanel: true,
  /**
   * display floating search box to search through stories
   * @type {Boolean}
   */
  showSearchBox: false,
  /**
   * show addon panel as a vertical panel on the right
   * @type {Boolean}
   */
  addonPanelInRight: false,
  /**
   * sorts stories
   * @type {Boolean}
   */
  sortStoriesByKind: false,
  /**
   * regex for finding the hierarchy separator
   * @example:
   *   null - turn off hierarchy
   *   /\// - split by `/`
   *   /\./ - split by `.`
   *   /\/|\./ - split by `/` or `.`
   * @type {Regex}
   */
  hierarchySeparator: null,

  /**
   * sidebar tree animations
   * @type {Boolean}
   */
  sidebarAnimations: true,

  /**
   * id to select an addon panel
   * @type {String}
   */
  selectedAddonPanel: undefined, // The order of addons in the "Addon panel" is the same as you import them in 'addons.js'. The first panel will be opened by default as you run Storybook
});

storybook.configure(() => require('./stories'), module);

It is also possible to call setOptions() inside individual stories. Note that this will bring impact story render performance significantly.

3.4.3

6 years ago