@ergosign/storybook-addon-pseudo-states-react

中文文档
0.0.1-alpha.61发布于 2023/07/25MITTypeScriptCommonJS零依赖近 30 天下载 1.3万

故事书装饰器可以自动生成和显示组件的CSS伪态.

中文使用文档
文档目录5 节
  1. 框架支助
  2. 开始
  3. 高级设置
  4. 显示/ 隐藏工具栏按钮
  5. 使用量

故事手册 Addon Pseudo州

Storybook Addon Pseudo States允许您在 Storybook的预览区域中自动显示一个组件的伪状态(和属性状态).

example

框架支助

框架显示国家显示/隐藏的工具按钮
角质+ 键+ 键
反应+ 键+ 键
升+ 键+ 键
HTML 语言+ 键+ 键
阴道+ 键+ 键

开始

首先,您需要将 Pseudo 状态安装到您的项目中, 作为 dev 依赖 .

npm install @ergosign/storybook-addon-pseudo-states-react --save-dev

使用时 创建- 反应- 应用程序 和相关预设,将其配置为附加 用于您的故事书环境(位于故事书配置目录中).

版本 < 5.3.x

导入您的加词 附加说明.js 文件 :

import "@ergosign/storybook-addon-pseudo-states-react/preset-postcss";
>= 5.3.x版本

把它加进 加词 区域 主语.js 文档.

module.exports = {
  "addons": [
    '@ergosign/storybook-addon-pseudo-states-react/preset-postcss'
  ]
}

如果您有其它项目配置, 请检查 高级设置 ,以查看如何使其在不同的设置下工作.

看用假加子需要什么,看看那个 使用量 节.

高级设置

带有 PostCSS 预设

这个项目是附属于 邮递级 软件包. 不幸的是,最新版本只是被贴上标签而没有发布.

我们提供 预设员额 添加的预设 邮箱装入器 到故事书的自定义网络包配置. 将此预设添加到您的配置( 位于 Storybook 配置目录中)

版本 < 5.3.x

导入您的加词 附加说明.js 文件 :

import "@ergosign/storybook-addon-pseudo-states-react/preset-postcss";
>= 5.3.x版本

把它加进 加词 区域 主语.js 文档.

module.exports = {
  "addons": [
    '@ergosign/storybook-addon-pseudo-states-react/preset-postcss'
  ]
}

这为每个 Cs 伪类创造了等同的普通 Cs 类( 例如) :hover 改为 \:hover),这样 您可以在元素的类属性中使用它 (<div class=":hover">Element in hover state</div>) (中文(简体) ).

您可以修改 ass 加载器选项( 请参见类型定义 ) 预选方案:

module.exports = {
   presets: [
       {
            name:"@ergosign/storybook-addon-pseudo-states-react/preset-postcss",
            options: {
                rules: [/\.scss$|\.sass$/, ".sass", ...],
                cssLoaderOptions: CssLoaderOptions,
                postCssLoaderPseudoClassesPluginOptions: {
                    prefix: 'pseudo-states--', // default for angular
                    blacklist: [':nth-child', ':nth-of-type']
                }
            }
        }     
    ] 
}

如果您设置了另一个前缀, 您也必须为加通设置相同的前缀 . 因此,请在下表中添加以下内容: .storybook/preview.js数字 :

addParameters({
    withPseudo: {
        prefix: "still-pseudo-states--",
    },
});

拥有 Webpack 配置( 但随 PostCs 自动生成)

当您已经配置了自己的网页包配置, 但仍想要使用此附加 加上 PostCSS, 添加 邮箱装入器 给您 网络包配置.

注意事项数字 : 当使用 CSS- Modules 时, 你必须小心不要 [hash] 用作 本地标识Name 在你身边 装弹机 选项.

module.exports = {
  module: {
    rules: [
      {
        test: /\.(scss|css)$/,
        use: [
          {
            loader: 'style-loader',
          },
          {
            loader: 'css-loader',
            options: {
              // ATTENTION when using css modules
              modules: {
                // !!! must not use [hash]'
                localIdentName: '[path][name]__[local]',
              },
            },
          },
          // Add loader here
          {
            loader: 'postcss-loader',
          },
          {
            loader: 'sass-loader',
          },
        ],
      },
    ],
  },
};

值得一提的是,您必须启用 Postcs-peudo 类模块 postcss.config.js

module.exports = {
  plugins: {
    'postcss-pseudo-classes': {
      // prefix: 'pseudoclass--',
    },
  },
};
当使用自定义的“ 前缀” 参数时, Postcs- pseudo- class 使用同样的参数
module.exports = {
  plugins: {
    'postcss-pseudo-classes': {
      prefix: 'pseudoclass-example-prefix',
    },
  },
};

手动

当您不想为您创建假课时,您可以提供 您自己的规则, 插件用于您的 css 类.

默认情况下,加词中用于查找 cs 类的前缀是 \:。 。 。 . 要添加所需的样式, 您必须添加包含 prefix + 键 pseudostate 一个人.

例如: 当你想要时 盘旋 财务报告和审定财务报表 焦点 状态由插件显示,您 必须添加 \:hover 财务报告和审定财务报表 \:focus 自己来上课.

对于默认的前缀, 这可能看起来是这样 :

.element {
  //element styling

  &:hover,
  &\:hover {
    // hover styling
  }
}
带有自定义前缀

如果你想指定自己的前缀,请设置为 前缀 附加值中的值 参数 对象.

将前缀更改为 .pseudoclass-- 您必须像这样调整参数 :

// in your story
parameters: {
    withPseudo: {
        selector: "element",
        prefix: "pseudoclass--"
    }
}

在样式定义中使用指定的前缀 :

.element {
  //element styling

  &:hover,
  &.pseudoclass--hover {
    // hover styling
  }
}

带有 Elenti.js 的 Bail 插件

如果您使用 情绪. js 样式,您可能会考虑使用 贝亚尔-插图-故事手册-addon-pseudo-states-emotion这将为您的组件创建伪类.

以贝贝勒-插孔-故事书-addon-pseudo-states-emotion

这个贝贝勒插座就是为这个确切的用途而制造的. 有问题请看 文档 或联系寄存器所有者.

配置 :

请查看故事书中bail或webpack配置的选项 :

  1. https://storybook.js.org/docs/react/confect/babel (中文(简体) )
  2. https://storybook.js.org/docs/react/confect/webpack#exting-storybooks-webpack-config 互联网档案馆的存檔,存档日期2013-12-02

以下是插件配置的例子. (请提及 原始文件(中文(简体) )

基本融合

{
  "plugins": ["babel-plugin-storybook-addon-pseudo-states-emotion"]
}

添加附加件支持的自定义前缀

{
  "plugins": [
    [
      "babel-plugin-storybook-addon-pseudo-states-emotion",
      {"prefix": "pseudoclass--" }
    ]
  ]
}

显示/ 隐藏工具栏按钮

您可以启用一个工具栏按钮来切换预览区域的 Pseudo 状态 .

见 框架支助 哪个框架支持此特性.

启用按钮, 将它添加到您的附加配置文件( 位于 Storybook 配置目录中)

版本 < 5.3.x

导入您的加词 附加说明.js 文件 :

import "@ergosign/storybook-addon-pseudo-states-react/register";
>= 5.3.x版本

把它加进 加词 区域 主语.js 文档.

module.exports = {
  "addons": [
    '@ergosign/storybook-addon-pseudo-states-react/register'
  ]
}

使用量

警告数字 : withPseudo 应始终是您 decorators 数组,因为它改变故事的模板.

常规

组件故事格式( CSF, 建议)
import { withPseudo } from '@ergosign/storybook-addon-pseudo-states-react';

const section = {
  title: 'Button',
  decorators: [withPseudo],
  parameters: {
    withPseudo: { selector: 'button' },
  },
};
export default section;

export const Story = () => {
  return {
    component: ButtonComponent,
  };
};
格式的故事
import { withPseudo } from '@ergosign/storybook-addon-pseudo-states-react';

storiesOf('Button', module)
  .addDecorator(withPseudo)
  .addParameters({
    withPseudo: {
      selector: 'button', // css selector of pseudo state's host element
      pseudos: ['focus', 'hover', 'hover & focus', 'active'],
      attributes: ['disabled', 'readonly', 'error'],
    },
  })
  .add('Icon Button', () => <Button />);

有一个默认配置 selector, (中文(简体) ), pseudos 财务报告和审定财务报表 attributes因此,你可以离开 withPseudo 选项为空.

参数类型( T)

见 类型

版本与发布记录

@ergosign/storybook-addon-pseudo-states-react 共发布 36 个版本,首次发布于 2020/03/13;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.0.1-alpha.61latest2023/07/253 年前
0.0.1-alpha.602023/07/253 年前
0.0.1-alpha.592022/03/074 年前
0.0.1-alpha.582022/03/054 年前
0.0.1-alpha.572022/03/054 年前
0.0.1-alpha.562022/03/054 年前

关于 @ergosign/storybook-addon-pseudo-states-react 的常见问题

@ergosign/storybook-addon-pseudo-states-react 是什么?

故事书装饰器可以自动生成和显示组件的CSS伪态.

如何安装 @ergosign/storybook-addon-pseudo-states-react?

在项目目录运行 npm install @ergosign/storybook-addon-pseudo-states-react,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@storybook/addons(>=5.3.8)、@storybook/api(>=5.3.8)、@storybook/components(>=5.3.8)、@storybook/core-events(>=5.3.8)、@storybook/node-logger(>=5.3.8)、react(>=16.12.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@ergosign/storybook-addon-pseudo-states-react 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ergosign/storybook-addon-pseudo-states-react 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@ergosign/storybook-addon-pseudo-states-react 可以商用吗?

@ergosign/storybook-addon-pseudo-states-react 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@ergosign/storybook-addon-pseudo-states-react 的下载量有多少?

根据 npm 官方下载统计,@ergosign/storybook-addon-pseudo-states-react 在 2026/10/14 – 2026/11/12 这 30 天内被下载 12,602 次,日均约 420 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ergosign/storybook-addon-pseudo-states-react 还在维护吗?

最新版本 0.0.1-alpha.61 发布于 2023/07/25(3 年前);至今共发布 36 个版本,其中过去 12 个月发布了 0 个;首次发布于 2020/03/13。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。