Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
storybook-addon-playground
Advanced tools
A playground to enable consumers learn how to use the component library or to reproduce bugs
Install dependencies and start
yarn
yarn start
Or
npm i
npm start
Go to localhost:6006
yarn add -D storybook-addon-playground
Or
npm install -D storybook-addon-playground
On your .storybook/main.ts
file, add the following:
const config = {
addons: [
// rest of your addons ...
"storybook-addon-playground",
],
};
The addon configuration is done through Storybook's preview
. Few of the parameters are required for the addon to work properly:
storyId
: Required. The story id that your playground has on Storybook.components
: Required. An object with the components that should be rendered in the playground. The key is the component name and the value is the component itself.autocompletions
: Optional. An array of autocompletions that should be used on the playground. Default is an empty array. We recommend on using react-docgen
to generate a documentation output and run our util function on the output. You can use whatever tool you'd like as long as it matches the expected format in the addon. Default is no autocompletions.editorTheme
: Optional. The theme that should be used on the playground. Default is your Storybook theme.initialCode
: Optional. The initial code ("welcome") that should be rendered on the playground. Default is empty editor.share
: Optional. A boolean that allow users to share the code. Default is false.On your .storybook/preview.ts
file, you should add something similar to the following:
import MyComponentsLibrary from "my-components-library";
import MyIconsLibrary from "my-icons-library";
import reactDocgenOutput from "./react-docgen-output.json";
import { generateAutocompletions } from "storybook-addon-playground";
const preview = {
parameters: {
playground: {
storyId: "playground",
components: { ...MyComponentsLibrary, ...MyIconsLibrary },
autocompletions: generateAutocompletions(reactDocgenOutput),
editorTheme: "light",
introCode: { jsx: `<div>Welcome to my Playground!</div>`, css: "" },
},
},
};
Create a story with the following content:
import { withPlayground } from "storybook-addon-playground";
export default {
title: "Playground",
decorators: [withPlayground],
};
export const Playground = {};
Vite is used to build the local Storybook for testing and dev purposes
Rollup is used to build the addon for publishing
graph TD;
subgraph ADDON
A{{Rollup}}
B[index.ts]
C[manager.ts]
D[Panel addon]
E[Tool addon]
F[withPlayground]
U[generateAutocompletions]
G[PlaygroundPreview]
H[react-live]
I[Editor]
J[useCopyToClipboard]
K[usePlaygroundArgs]
Q[useInitialCode]
R[useBroadcastEditorChanges]
S[usePlaygroundState]
T[useEditorTheme]
L[useToolbarActions]
M[prettier]
N[react-codemirror]
O[Toolbar icon]
P[Storybook Addon API]
A -->|Entry| B
A -->|Entry| C
B -->|Exports| F
B -->|Exports| U
P --> D
P --> E
E -->|Renders| O
C -->|Registers Addons| P
F -->|Renders in a story| G
G ======>|Using lib| H
D -->|Calls| Q
D -->|Calls| R
R -->|Uses| S
D --->|Renders| I
I ====>|Using lib| N
I -->|Uses| L
I -->|Uses| K
I -->|Uses| T
I -->|Uses| J
L ===>|Using lib| M
end
subgraph UI
X{{Vite}}
Z["Storybook UI (.storybook - Testing and Development)"]
X --> Z
end
FAQs
A playground to enable consumers learn how to use the component library or to reproduce bugs
The npm package storybook-addon-playground receives a total of 61 weekly downloads. As such, storybook-addon-playground popularity was classified as not popular.
We found that storybook-addon-playground demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.