Superset uses Storybook for developing and testing UI components in isolation. Storybook provides a sandbox to build components independently, outside of the main application.
A public Storybook with components from the master branch is available at:
apache-superset.github.io/superset-ui
To run the main Superset Storybook locally:
cd superset-frontend # Start Storybook (opens at http://localhost:6006) npm run storybook # Build static Storybook npm run build-storybook
The @superset-ui packages have a separate Storybook for component library development:
cd superset-frontend # Install dependencies and bootstrap packages npm ci && npm run bootstrap # Start the @superset-ui Storybook (opens at http://localhost:9001) cd packages/superset-ui-demo npm run storybook
If stories already exist for the package, extend the examples array in the package's story file:
storybook/stories/<package>/index.js
Add package dependencies:
npm install <package>
Create a story folder matching the package name:
mkdir storybook/stories/superset-ui-<package>/
Create an index.js file with the story configuration:
export default { examples: [ { storyPath: '@superset-ui/package', storyName: 'My Story', renderStory: () => <MyComponent />, }, ], };
Use the | separator for nested stories:
storyPath: '@superset-ui/package|Category|Subcategory'