SuperAPI AI 工具集

canvas-component-definition

前端与建站

查看项目

更新于 10-15 10:51

技能介绍

用途

canvas-component-definition 是一个用于强制执行标准 Canvas 组件契约的技能。任何 React 组件任务都应从此开始,包括创建、修改、重构、审查、迁移或验证组件。

主要能力

该技能定义了 Canvas 组件的规范构成。一个 Canvas 组件是一个包含以下四部分的包:

  • React 实现(index.jsx)
  • Canvas 元数据/模式(component.yml)
  • 命名与结构兼容性(machineName、文件夹路径、story 路径)
  • Canvas 兼容的 props/slots 建模

以上四部分全部具备,组件才能在 Drupal Canvas 中使用。

最低契约(MUST)

每个 Canvas 组件必须满足以下所有检查:

  • 组件文件夹存在于 <components-root>/<machine-name>/(使用仓库配置的 components root,可能定义在 .env 中)
  • React 实现存在于 <components-root>/<machine-name>/index.jsx
  • 元数据存在于 <components-root>/<machine-name>/component.yml
  • component.yml 包含必需的顶层键(name、machineName、status、required、props、slots)
  • 文件夹名称与 component.yml 中的 machineName 完全匹配(kebab-case)
  • 匹配的 story 存在于 <stories-root>/<machine-name>.stories.jsx(使用仓库配置的 stories root)
  • props/slots 遵循 Canvas 规则(例如,避免不支持的 array-of-object prop 形状;对可重复的复杂内容使用 slots)

如果缺少任何一项,该组件对 Canvas 使用而言就是不完整的。

命名指引

命名规则和示例参见 references/naming.md。

技能协调

按以下顺序评估配套技能:

  1. canvas-component-metadata:在创建/更改 component.yml、props/slots、枚举,或修复 prop 验证错误时使用。
  2. canvas-component-composability:在设计 prop/slot 结构、分解大型组件、决定 props 与 slots、建模可重复的列表/网格内容时使用。
  3. canvas-styling-conventions:用于所有样式工作,包括新组件、样式 props、Tailwind token 使用、CVA 变体、类更改以及影响样式的 prop 更改。
  4. canvas-component-utils:在通过 FormattedText 和 Image 渲染格式化 HTML 文本或媒体时使用。
  5. canvas-data-fetching:在使用 JSON:API、SWR、includes 和 filter 模式获取/渲染 Drupal 内容时使用。
  6. canvas-component-upload:在实现完成并验证后,上传以及从上传失败中恢复时使用。

适用场景

适用于所有涉及 Canvas React 组件的开发任务,尤其是需要确保组件符合 Drupal Canvas 使用规范的场景。

限制

资料未提供该技能的具体安装方式、依赖版本、收费信息或平台限制。