@geajs/ui 是 Gea 框架的组件库,把 Tailwind CSS 样式与 Zag.js 状态机结合,提供约 35 个可访问、可交互的组件:简单样式原语(Button、Card、Input)与行为丰富组件(Select、Dialog、Tabs、Toast)。完整组件 API 与 props 表见技能目录中的 reference.md。
安装:npm install @geajs/core @geajs/ui;npm install -D vite @geajs/vite-plugin tailwindcss @tailwindcss/vite。Vite 配置引入 geaPlugin() 与 tailwindcss(),并导入 '@geajs/ui/style.css'。组件按需引入,如 import { Button, Select, Dialog, Toaster, ToastStore } from '@geajs/ui'。
简单组件是带 Tailwind 类的 Gea Component 包装,接受 class 与 children。Zag 组件继承 ZagComponent,自动管理 ARIA、键盘交互与焦点,采用受控模式:传入 value(或 checked/open),通过 onValueChange(或 onCheckedChange/onOpenChange)回写类字段。Toast 使用静态 ToastStore 与根级 <Toaster />,方法有 success、error、info、loading、create、dismiss。
主题通过 CSS 自定义属性覆盖,如 --primary、--radius;暗色模式在 <html> 上加 dark 类。可通过 class 传额外 Tailwind 类,或用 data-part 与 data-state 选择器做细粒度覆盖。用 cn 合并类名。要包装新的 Zag 机器,可继承 ZagComponent 并实现 createMachine、getMachineProps、connectApi、getSpreadMap、syncState、template 六个方法,SpreadMap 把 CSS 选择器映射到 Zag API getter 名或函数。
限制与未提供信息:资料未说明浏览器兼容范围、包版本、许可证及性能数据,暂未提供。