# Storybook Options Addon [![Build Status on CircleCI](https://circleci.com/gh/storybooks/storybook.svg?style=shield)](https://circleci.com/gh/storybooks/storybook) [![CodeFactor](https://www.codefactor.io/repository/github/storybooks/storybook/badge)](https://www.codefactor.io/repository/github/storybooks/storybook) [![Known Vulnerabilities](https://snyk.io/test/github/storybooks/storybook/8f36abfd6697e58cd76df3526b52e4b9dc894847/badge.svg)](https://snyk.io/test/github/storybooks/storybook/8f36abfd6697e58cd76df3526b52e4b9dc894847) [![BCH compliance](https://bettercodehub.com/edge/badge/storybooks/storybook)](https://bettercodehub.com/results/storybooks/storybook) [![codecov](https://codecov.io/gh/storybooks/storybook/branch/master/graph/badge.svg)](https://codecov.io/gh/storybooks/storybook) [![Storybook Slack](https://now-examples-slackin-nqnzoygycp.now.sh/badge.svg)](https://now-examples-slackin-nqnzoygycp.now.sh/) [![Backers on Open Collective](https://opencollective.com/storybook/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/storybook/sponsors/badge.svg)](#sponsors) * * * The Options addon can be used to (re-)configure the [Storybook](https://storybook.js.org) UI at runtime. This addon works with Storybook for: - [React](https://github.com/storybooks/storybook/tree/master/app/react) - [React Native](https://github.com/storybooks/storybook/tree/master/app/react-native) - [Vue](https://github.com/storybooks/storybook/tree/master/app/vue) ![Screenshot](docs/screenshot.png) ## Getting Started First, install the addon ```sh npm install -D @storybook/addon-options ``` Add this line to your `addons.js` file (create this file inside your storybook config directory if needed). ```js import '@storybook/addon-options/register'; ``` Import and use the `setOptions` function in your config.js file. ```js import * as storybook from '@storybook/react'; import { setOptions } from '@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.