A storybook addon that allows your users to change the theme inside the preview.
Install the following npm module:
npm install multiple-themes-stitches
or with yarn:
yarn add -D multiple-themes-stitches
Add the addon to the config in your .storybook/main.ts file
const config: StorybookConfig = {
// other config ...
addons: [
"multiple-themes-stitches",
// other addons
],
};
export default config;
Add your themes to your stitches.config.ts
const { createTheme } = createStitches({...});
const darkTheme = createTheme({
colors: {
primary: 'rgba(250,55,90,1)',
secondary: 'rgba(65,125,165,1)',
},
});
const lightTheme = createTheme({
colors: {
primary: 'rgba(65,125,165,1)',
secondary: 'rgba(245,55,90,1)',
},
});
const customTheme = createTheme({
colors: {
primary: 'rgba(245,100,5,1)',
secondary: 'rgba(65,125,165,1)',
},
});
And import your stitches Themes to .storybook/preview.ts and then pass the Stitches Themes to the addon via the parameters property
import { Preview } from '@storybook/react';
import { darkTheme, lightTheme } from "../stitches.config";
import { ThemesParameter } from "multiple-theme-stitches";
const multipleThemesStitches: ThemesParameter = {
values: [
{
name: "Light",
theme: lightTheme,
},
{
name: "Dark",
theme: darkTheme,
},
],
// optionally add the default theme name
default: "Light"
}
const preview: Preview = {
parameters: {
multipleThemesStitches,
// other parameters
},
};
export default preview;
Here are the storybook versions that correspond to each version of the multiple-themes-stitches package: 0.0.0 => storybook < 7 1.0.0 => storybook version 7.0.0 2.0.0 => storybook version 8.0.0
Thanks go to these wonderful people
Michael Machiah |
Noah Belahcen |
Mathis Obadia |
Made with ☕