@teamix-evo/biz-ui
v1.0.2
Published
Business UI components — variant-aware (OpenTrek / Uni-manager / ...). Per ADR 0014: business components bind to variants (unlike @teamix-evo/ui which is variant-agnostic).
Readme
@teamix-evo/biz-ui
绑定设计变体、以源码注入方式交付的业务组件资源包。
Biz-UI 位于通用 UI 与消费项目之间:它可以拥有 OpenTrek / Uni-Manager 等变体组件的
布局、chrome 与业务语气 fallback,但不拥有消费项目的数据、菜单、品牌 slot 或产品
内容。准确 entry 与依赖以 manifest.json 为机器真值。
国际化
- 普通组件调用不传文案;组件自有 chrome 来自随 entry 落地的三语言纯 JSON;
- 浏览器应用在首次 render 前调用一次
configureTeamixEvoG11n,语言变化刷新页面; - 消费项目只在需要修改组件自有 chrome/fallback 措辞时编辑自己工程中的 frozen
JSON,不为每个实例重复传
messages; - SSR/RSC 可把 request-scoped
g11n显式传给支持该输入的业务组件; - 不依赖任何 i18n framework,也不把 language 当作 design variant;
- children、slot、业务数据、专用 prop 与原生
aria-*始终优先于 catalog fallback; - UI Empty 已拥有完整的视觉 status preset,但不内置标题/描述;产品文案、动作以及超出 preset 的领域语义由真实业务 owner 显式组合,不建立 Biz-UI 字符串仓库。
import { configureTeamixEvoG11n } from "@/lib/teamix-evo-g11n";
const g11n = configureTeamixEvoG11n({ language: "zh-TW" });
document.documentElement.lang = g11n.language;
document.documentElement.dir = g11n.dir;
<UmTopbar menus={menus} />;例如 um-topbar 的 catalog 会落到
src/lib/teamix-evo-g11n/locales/biz-ui/uni-manager/um-topbar.json。该文件归消费工程
所有且保持 frozen;修改它即可统一影响项目内所有 UmTopbar 实例。
内置 OpenTrek、Uni-Manager、DEV 仅是组件 chrome 的默认展示值,应视为
不可翻译的默认标识,三个语言分支保持相同。真实项目若需动态品牌或部署环境名称,
应使用组件的 brand slot / 专用 prop,不要把运行数据写进翻译 catalog。
验证
pnpm --filter @teamix-evo/biz-ui validate
pnpm --filter @teamix-evo/biz-ui typecheck
pnpm --filter @teamix-evo/biz-ui lint
pnpm --filter @teamix-evo/biz-ui test
pnpm --filter @teamix-evo/biz-ui gen:check