What is @storybook/core-client?
The @storybook/core-client npm package is a part of the Storybook ecosystem, which is an open-source tool for developing UI components in isolation for React, Vue, Angular, and more. It provides the core functionalities required to run and manage the Storybook client, including rendering stories, managing the UI and state, and integrating with the Storybook ecosystem.
What are @storybook/core-client's main functionalities?
Rendering Stories
This feature allows developers to write stories that represent different states of UI components. The code sample shows how to use the Storybook API to define stories for a 'Button' component with different content.
import { storiesOf } from '@storybook/react';
storiesOf('Button', module)
.add('with text', () => <button>Hello Button</button>)
.add('with emoji', () => <button>😀 😎 👍 💯</button>);
Managing UI State
This feature allows addons to interact with the Storybook UI and react to events such as when a story changes. The code sample demonstrates how to register an addon that listens for the STORY_CHANGED event.
import { addons } from '@storybook/addons';
import { STORY_CHANGED } from '@storybook/core-events';
addons.register('my-addon', (api) => {
api.on(STORY_CHANGED, (storyId) => {
console.log('Current story is', storyId);
});
});
Integrating with Storybook Ecosystem
This feature enables the integration of various Storybook addons to enhance the development experience. The code sample shows how to add the 'withKnobs' decorator from the '@storybook/addon-knobs' package to enable dynamic properties for components.
import { addDecorator } from '@storybook/react';
import { withKnobs } from '@storybook/addon-knobs';
addDecorator(withKnobs);
Other packages similar to @storybook/core-client
react-cosmos
React Cosmos is a development tool for creating reusable React components. It allows developers to render components with different props and states, similar to Storybook. However, it focuses more on the component's environment and less on the storytelling aspect.
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 focuses more on documentation and less on the isolated development environment.