mcpField
W
wix-design-system

wix-design-system

github.com/wix设计与 UI36218 次安装今天更新
代码仓库

关于 wix-design-system

wix-design-system 是面向已安装 `@wix/design-system` 项目的文档导航技能。其 Node.js 脚本可查询组件、示例、测试工具 API 和图标。

主要功能

  1. 01按关键词搜索组件
  2. 02查看组件属性和示例
  3. 03批量查询多个组件
  4. 04查询测试工具驱动 API
  5. 05查找设计系统图标

适用场景

  1. 01为界面选择 WDS 组件
  2. 02实现组件前核对属性
  3. 03查找组件的 JSX 示例
  4. 04查询组件测试的测试工具方法

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wix/skills --skill wix-design-system

安装后在 Claude Code 中输入/wix-design-system确认已加载。

附带文件references/file-structure.mdscripts/wds.cjs

详细介绍

WDS 文档导航器

**前提条件:**必须安装 @wix/design-system(npm i @wix/design-system 或 yarn add @wix/design-system)。

辅助脚本

此技能包含 scripts/wds.cjs——一个 Node.js 辅助工具,可自动在 node_modules 中发现 @wix/design-system(支持 monorepo 和工作区),并提供针对性的查询。从用户的项目目录运行此脚本,并使用捆绑脚本的绝对路径:

# WDS is the absolute path to this skill's scripts/wds.cjs
WDS="<this-skill-dir>/scripts/wds.cjs"

node $WDS search <keyword>                 # Find components by keyword
node $WDS component <Name>                 # Get props + example list (one component)
node $WDS components <Name1> <Name2>...    # Same as `component`, but for several at once
node $WDS example <Name> "<ExampleName>"   # Get a specific example
node $WDS testkit <Name> [method]          # Get testkit imports + driver API
node $WDS icons <query>                    # Search for icons

工作流

步骤 1:查找合适的组件
node $WDS search table
node $WDS search form input validation
node $WDS search modal dialog popup

多个关键词采用 OR 匹配。返回组件名称、描述和使用指南。

步骤 2:获取属性和可用示例
node $WDS component Button

返回完整的属性列表(类型和描述),以及所有可用示例的列表。对于较大的属性文件(>200 行),返回包含属性名称和类型的摘要。

如果你已经知道需要哪些组件(例如步骤 1 返回了候选列表),优先使用批量形式,避免每个组件都单独往返一次:

node $WDS components Button Card Table Input Text Thumbnail

输出中,每个组件的属性块以 --- 分隔。缺失的组件会记录到 stderr 并跳过;只有当所有请求的组件都缺失时,命令才会失败。

步骤 3:获取特定示例
node $WDS example Button "Loading state"

返回示例说明和 JSX 代码。匹配不区分大小写,并支持子字符串(例如,“loading”可匹配“Loading state”)。

步骤 4:使用组件 testkit 编写测试
node $WDS testkit Button             # Imports + full driver API for Button
node $WDS testkit Button click       # Just the click() method details

返回 unidriver、vanilla、puppeteer 和 playwright 类型的导入代码片段,以及 driver 方法 API(名称、参数、返回类型、描述)。方法名称匹配不区分大小写,并按子字符串匹配。

步骤 5:查找图标
node $WDS icons Add Edit Delete

图标来自 @wix/wix-ui-icons-common。每个图标都有一个 Small 变体(例如,Add 和 AddSmall)。

后备方案:直接访问文件

如果脚本不可用,文档位于 node_modules/@wix/design-system/dist/docs/:

  • components.md — 组件目录(约 978 行,仅使用 grep)
  • components/{Name}Props.md — 各组件的属性
  • components/{Name}Examples.md — 各组件的示例(使用 grep ^### 查找章节列表)
  • components/{Name}Testkit.md — 各组件的 testkit 导入代码和 driver API(使用 grep ^### 查找方法列表)
  • testkits.md — testkit 目录(列出有生成的 testkit 文档的组件)
  • icons.md — 图标目录(约 818 行,仅使用 grep)

不要完整读取这些文件。先用 grep 搜索关键词,再通过偏移量和限制值读取特定章节。有关文档文件的确切布局和章节结构,请参阅 references/file-structure.md。


快速组件映射(设计到 WDS)

设计元素WDS 组件备注
矩形/容器<Box>布局包装器
文本按钮<TextButton>次要操作
带标签的输入框<FormField> + <Input>包装输入框
切换开关<ToggleSwitch>开/关设置
模态框<Modal> + <CustomModalLayout>搭配使用
网格<Layout> + <Cell>响应式

间距(px 到 SP 的转换)

当设计师指定像素值时,转换为最接近的 SP 令牌:

令牌ClassicStudio
SP16px4px
SP212px8px
SP318px12px
SP424px16px
SP530px20px
SP636px24px
<Box gap="SP2" padding="SP3">

仅对 gap、padding、margin 使用 SP 令牌,不要用于宽度/高度。

导入

import { Button, Card, Image } from "@wix/design-system";
import { Add, Edit, Delete } from "@wix/wix-ui-icons-common";

指南

  1. 绝不要覆盖 WDS CSS 令牌。只有在别无他法时,才明确告知提示者这是反模式,应不惜一切代价避免。
故障排除
  • 组件渲染时没有样式(呈现为普通 HTML 样式,缺少 WDS 间距和排版):在根组件/主组件(例如 page.tsx、模态框入口)中添加一次 import "@wix/design-system/styles.global.css";,不要添加到子组件、选项卡或辅助文件中。

评论

支持 Markdown