mirror of
https://github.com/storybookjs/storybook.git
synced 2025-03-19 05:02:40 +08:00
Storybook Centered Decorator
Storybook Centered Decorator can be used to center components inside the preview in Storybook.
This addon works with Storybook for:
Usage
npm install @storybook/addon-centered --save-dev
As a decorator
You can set the decorator locally.
exampwle for React:
import { storiesOf } from '@storybook/react';
import centered from '@storybook/addon-centered';
import MyComponent from '../Component';
storiesOf('MyComponent', module)
.addDecorator(centered)
.add('without props', () => (<MyComponent />))
.add('with some props', () => (<MyComponent text="The Comp"/>));
example for Vue:
import { storiesOf } from '@storybook/vue';
import centered from '@storybook/addon-centered';
import MyComponent from '../Component.vue';
storiesOf('MyComponent', module)
.addDecorator(centered)
.add('without props', () => ({
components: { MyComponent },
template: '<my-component />'
})
.add('with some props', () => ({
components: { MyComponent },
template: '<my-component text="The Comp"/>'
});
Also, you can also add this decorator globally
example for React:
import { configure, addDecorator } from '@storybook/react';
import centered from '@storybook/addon-centered';
addDecorator(centered);
configure(function () {
//...
}, module);
example for Vue:
import { configure, addDecorator } from '@storybook/vue';
import centered from '@storybook/addon-centered';
addDecorator(centered);
configure(function () {
//...
}, module);
As an extension
1 - Configure the extension
import { configure, setAddon } from '@storybook/react';
import centered from '@storybook/addon-centered';
setAddon({
addCentered(storyName, storyFn) {
this.add(storyName, (context) => (
centered.call(context, storyFn)
));
},
});
configure(function () {
//...
}, module);
2 - Use it in your story
import { storiesOf } from '@storybook/react';
import Component from '../Component';
storiesOf('Component', module)
.addCentered('without props', () => (<Component />))