此附加组件允许您通过从工具栏下拉菜单中选择一个已定义的主题,并将所选主题添加到 storybook iframe html 元素的 data-theme
属性,来切换 Storybook 中的 data-theme
属性。
如果您想使用不同的主题测试组件,这将非常有用。
兼容性
此附加组件与 storybook 版本 ^7.0.x
| ^8.0.x
兼容。
安装
npm install storybook-addon-data-theme-switcher --save-dev
入门
然后通过将其添加到 storybook main.js
文件(位于 Storybook 配置目录中)来激活附加组件
module.exports = {
addons: [
// other addons here
"storybook-addon-data-theme-switcher",
],
};
配置
附加组件使用 storybook 的 globalTypes
来定义和加载主题。
要定义一组主题以及其他配置选项,您可以将以下内容添加到全局 storybook 配置文件 preview.js
中
import type { ThemeConfig } from "storybook-addon-data-theme-switcher";
export const globalTypes = {
dataThemes: {
defaultValue: {
list: [
{ name: "Rainforest", dataTheme: "rainforest", color: "#00755e" },
{ name: "Candy", dataTheme: "candy", color: "#ffb7d5" },
{ name: "Rose", dataTheme: "rose", color: "#ff007f" },
],
dataAttribute: "data-theme", // optional (default: "data-theme")
clearable: true, // optional (default: true)
toolbar: {
title: "Change data-theme attribute", // optional
icon: "paintbrush", // optional
},
} satisfies ThemeConfig,
},
};
要设置一个默认的 data-theme
值,该值将在 Storybook 的初始加载中使用,您可以将以下内容添加到 preview.js
文件中
export const globalTypes = {
dataTheme: {
defaultValue: "rainforest",
},
dataThemes: {
...
},
};
注意:请确保
dataTheme
的默认值与list
数组中定义的主题之一匹配。
许可证
该项目在 MIT 许可证 下获得许可