UNPKG

2.12 kBMarkdownView Raw
1[![npm version](https://badge.fury.io/js/storybook-addon-styled-component-theme.svg)](https://badge.fury.io/js/storybook-addon-styled-component-theme)
2[![build status](https://travis-ci.org/echoulen/storybook-addon-styled-component-theme.svg?branch=master)](https://travis-ci.org/echoulen/storybook-addon-styled-component-theme)
3[![codecov](https://codecov.io/gh/echoulen/storybook-addon-styled-component-theme/branch/master/graph/badge.svg)](https://codecov.io/gh/echoulen/storybook-addon-styled-component-theme)
4
5![](https://media.giphy.com/media/FfFvOA9C0h9bhfCuNX/giphy.gif)
6
7This addon allows storybook to showcase components with multiple different styled-component themes.
8Supports storybook v4, v5, v6 and newer
9
10## Installation
11
12```bash
13yarn add storybook-addon-styled-component-theme --dev
14```
15
16# Configuration
17
18## storybook v6
19
20#### Add a decorator to stories in .storybook/preview.js
21
22```javascript
23
24import { addDecorator } from "@storybook/react";
25import { withThemesProvider } from "storybook-addon-styled-component-theme";
26import { ThemeProvider } from "styled-components";
27
28const themes = [theme1, theme2];
29addDecorator(withThemesProvider(themes), ThemeProvider);
30```
31
32#### Add to .storybook/main.js
33
34```
35module.exports = {
36 ...
37 addons: [
38 ...
39 "storybook-addon-styled-component-theme/dist/preset"
40 ]
41};
42```
43
44## storybook v5 and v4
45
46#### Add to .storybook/addons.js
47
48```javascript
49// v1.3, storybook v5.2
50import "storybook-addon-styled-component-theme/dist/register";
51
52// v1.2, storybook v4, v5.0
53import "storybook-addon-styled-component-theme/dist/src/register";
54```
55
56#### addDecorator to .storybook/preview.js
57
58```javascript
59import { addDecorator } from "@storybook/react";
60import { withThemesProvider } from "storybook-addon-styled-component-theme";
61
62const themes = [theme1, theme2];
63addDecorator(withThemesProvider(themes));
64```
65
66#### Remind
67
68Make sure every theme object has a `name` property
69
70## Contributing
71
72##### Build local library
73
74```shell
75yarn
76
77yarn build
78```
79
80##### Start the local example
81
82```shell
83cd example
84
85yarn
86
87yarn storybook
88```
89
90#### Run all the spec
91
92```shell
93yarn test
94```