storybook-react-live-decorator
Version:
react-live decorator for Storybook 6+ | renders story as react-live with given code
71 lines (49 loc) • 2.78 kB
Markdown
# storybook-react-live
[react-live](https://github.com/FormidableLabs/react-live) decorator for [Storybook](https://storybook.js.org/) v6+
[](https://www.npmjs.com/package/storybook-react-live-decorator)
[](https://www.npmjs.com/package/storybook-react-live-decorator)
## Screenshot

## [Demo](https://sanusart.github.io/storybook-react-live-decorator)
## Installation
`npm i -D storybook-react-live-decorator`
## Usage
```jsx
// Component.stories.js
import { ReactLiveDecorator } from 'storybook-react-live-decorator';
const code = `() => (
<Wrapper>
<Button type="primary" size="large">
Default
</Button>
</Wrapper>
)`;
export const LiveEdit = {
decorators: [ReactLiveDecorator({ code, scope: { Button, Wrapper } })]
};
```
## Props of `ReactLiveDecorator`
All props accepted by [\<LiveProvider /\>](https://github.com/FormidableLabs/react-live#liveprovider-) and:
| Name | PropType | Description |
|------------|------------------|-------------------------------------------------------------------------------------------------------------------------------------------|
| code | PropTypes.string | Code string
| scope | PropTypes.object | scope object
| theme | PropTypes.object | A `prism-react-renderer` existing theme or theme object. See more [here](https://github.com/FormidableLabs/prism-react-renderer#theming)
| fontFamily | PropTypes.string | css font-family to use in the edirot default `monospace`
| debug | PropTypes.bool | Logs whatever goes through decorator into _console.log_
## Extend globally via `.storybook/preview.js`
Add property `reactLive` to `parameters` object. Accepts: `scope` and `theme`
```js
const preview = {
parameters: {
reactLive: {
theme: themes.dracula, // import from `prism-react-renderer`
scope: {Button, Wrapper},
debug: false,
fontFamily: 'monospace'
}
}
};
export default preview;
```
:)