What is @storybook/client-api?
The @storybook/client-api package is part of the Storybook ecosystem, which is a tool for developing UI components in isolation for React, Vue, Angular, and more. This package provides APIs to configure and manage stories in the Storybook environment programmatically. It allows developers to add stories, decorators, and parameters, and to interact with Storybook's client-side application.
What are @storybook/client-api's main functionalities?
Add stories
This feature allows developers to add stories to Storybook. Each story represents a single visual state of a component. The 'storiesOf' function is used to define a new set of stories.
import { storiesOf } from '@storybook/client-api';
storiesOf('Button', module)
.add('with text', () => '<button>Click me</button>')
.add('with emoji', () => '<button>๐ ๐ ๐ ๐ฏ</button>');
Add decorators
Decorators are a way to provide custom rendering and add functionality to stories. The 'addDecorator' function is used to globally add decorators to all stories.
import { addDecorator } from '@storybook/client-api';
import { withKnobs } from '@storybook/addon-knobs';
addDecorator(withKnobs);
Set global parameters
Parameters are a set of static, named metadata about a story, typically used to control the behavior of Storybook's addons. The 'addParameters' function is used to set global parameters for all stories.
import { addParameters } from '@storybook/client-api';
addParameters({
backgrounds: [
{ name: 'light', value: '#eeeeee', default: true },
{ name: 'dark', value: '#222222' }
]
});
Other packages similar to @storybook/client-api
react-cosmos
React Cosmos is a development tool for creating reusable React components. It provides a similar environment to Storybook for developing and testing components in isolation. While it shares the concept of component playgrounds with Storybook, it has a different API and focuses more on the component's state rather than the story format.
docz
Docz leverages MDX to allow developers to write documentation alongside their code. It is similar to Storybook in that it provides a way to showcase components, but it emphasizes ease of writing documentation and reduces the need for configuration. Unlike Storybook, Docz is optimized for documentation and less for interactive component development.
The contents of this package have moved to @storybook/preview-api
. Please update your import.
This package will no longer be released as part of the 8.0 release of storybook.