0.1.0 • Published 8 years ago
@croquiscom/storybook-addon-centered v0.1.0
Storybook Centered Decorator
Storybook Centered Decorator can be used to center components inside the preview in Storybook.
Usage
npm install @storybook/addon-centered --save-devAs a decorator
You can set the decorator locally.
example 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"/>'
}));example for Mithril:
import { storiesOf } from '@storybook/mithril';
import centered from '@storybook/addon-centered/mithril';
import MyComponent from '../Component';
storiesOf('MyComponent', module)
.addDecorator(centered)
.add('without props', () => ({
view: () => <MyComponent />
}))
.add('with some props', () => ({
view: () => <MyComponent 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);example for Mithril:
import { configure, addDecorator } from '@storybook/mithril';
import centered from '@storybook/addon-centered/mithril';
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 />))