Blackwork

从 0.11 迁移到 0.12

将已有 Blackwork 0.11 应用升级到 0.12。

从 0.11 迁移到 0.12

按以下顺序迁移:先升级依赖,再更新样式入口,将表单状态迁移到 TanStack Form,最后替换已移除的图标导入。每组修改后运行一次应用,避免把样式问题和 API 变化混在一起排查。

从 Blackwork 0.11 升级时,需要调整 Tailwind 样式入口、表单依赖和图标导入。新项目从 快速开始 开始即可。

先升级 Blackwork 和 Tailwind CSS:

Bash
pnpm add blackwork@^0.12 tailwindcss@^4

如果项目有使用 blackwork/form,再安装 TanStack Form:

Bash
pnpm add @tanstack/react-form

组合 API

DialogTrigger、SheetTrigger 等触发器仍然支持 asChild。子节点使用 <button> 或 Button,样式直接加在按钮上,避免额外的包装元素影响触发器行为。

Button 仍然支持 loading。SheetContent 仍然支持 closeButtonVisible。

表单

blackwork/form 基于 TanStack Form。

  1. 安装 @tanstack/react-form。
  2. 确认项目没有其他代码依赖 react-hook-form 后,可以将其卸载。
  3. 按 Form 使用 useAppForm、Form 和 FieldGroup。

字段布局(Field、FieldLabel、FieldGroup)不依赖任何表单库,可以单独使用。

图标

blackwork/icons 子路径已移除。通用图标从 lucide-react 引入。名称对照见 图标。

样式

Blackwork 0.12 只支持 Tailwind CSS v4。移除 blackwork/tailwind-config 和旧的 Tailwind plugin 配置,在应用样式表改用:

CSS
@import 'tailwindcss';
@import 'blackwork/tailwind.css';

迁移完成后,在浅色和深色主题下检查根布局,并确认所有 asChild 触发器仍把属性传给真实的按钮或链接。