SuperAPI AI 工具集

mosaic

前端与建站

查看项目

更新于 10-15 20:12

技能介绍

Mosaic 是 Clerk JavaScript 仓库中的一项技能,覆盖两件事:用 StyleX 编写样式组件,以及按分层架构构建交互流程。

样式组件:用 stylex.create 声明样式,themeProps 输出组件的公开标识(.cl-<slot> 类与 data-<axis> 属性),mergeStyleProps 将两者与传入的 props 合并。组件接收 xstyle(根节点的 StyleX atoms),不使用 className/style。

流程采用 model → controller → view 分层:model 是 Clerk 适配层,读取 Clerk hooks 与资源、解析环境、做权限门控,返回带显式 status 的纯数据与回调,是唯一可导入 Clerk hooks 或调用 Clerk 资源方法的层;controller 保存本地状态(打开状态、进行中状态、视图下一步可做什么),可用 React state 或状态机,包装 model 回调以报告 pending、运行期间保持界面稳定并在成功后关闭,不导入 Clerk;view 接收纯 props 与回调并渲染,不导入 Clerk、不取数据、不接触状态机快照。状态机不是第四层,也不是必需项,只是 controller 保存状态的一种方式,按交互复杂度选择。

仓库根目录的 references/mosaic-architecture.md 是设计系统的规范契约,定义 --cl-* tokens、.cl-<slot> + data-<axis> 样式 API、CSS 构建与流程数据架构。packages/mosaic/src/features/user-button/ 是完整示例。按任务可查阅 references 下的 headless、stylex、motion、models、controllers、machines、views、testing、migration、parity-audit 等文档。在 swingset 中写组件文档时遵循 packages/swingset/CLAUDE.md 的风格,文档只描述 API 现状,不写设计理由。

限制:资料未提供安装命令、收费、平台与效果信息。