契约全量闭环
- 补齐剩余 43 份契约,components/ 现为 79 份契约 JSON(此前 36)
- 批次 A(19):tag/tabs/steps/breadcrumb/dropdown/popconfirm/buttongroup/
expandabletable/mergedcelltable/summaryrowtable/fixedcolumntable/
enhancedtabnav/sidemenu/topmenu/mixednavigation/quicknav/anchornav/
backtotop/pagetransition
- 批次 B(24):bankcardinput/idcardinput/plateinput/listpicker/
rangequickpicker/dragupload/signaturepad/messagepro/notificationpro/
progressvariants/skeletonpro/emptypro/loadingoverlay/resultvariants/
exceptionvariants/confirmmodal/alertmodal/formmodal/fullscreenmodal/
themeswitcher/layoutswitcher/densityswitcher/shortcutpanel/bottomsheet
- 内容逐字来自规格原文(组件1/2/5/6/7.txt);不发明,规格未明示进
unknowns、明确排除进 doNotInvent。校验确认 79/79 字段完整、slug 一致
- 此前 43 个扩展组件的 API 靠 extractComponentAPI() 正则启发式,现有契约
为准、源码扫描兜底
令牌导出(文档清单 C4 项)
- build-site.ps1 构建期产出三种标准格式,与站点展示的令牌同源:
site/tokens/tokens.css CSS 自定义属性
site/tokens/dtcg.json W3C DTCG($value/$type/$description,按
color/typography/spacing/radius/shadow/motion/size 分组)
site/tokens/figma.json Figma Tokens(Tokens Studio 可直接导入)
- 设计规范页新增「令牌导出」区,三个文件可下载(HTTP 200 已验)
规格与实现对齐
- 规格色彩系统同步到 v1.3.1 的 AA 达标值(15 处),原值处标注变更原因
与对比度实测
- 修正一处既有漂移:Rate 选中星色规格 #FAAD14 白底仅 1.90:1,不满足
WCAG 1.4.11 的 3:1;实现取 #2F54EB,规格已对齐并注明
修复
- build-site.ps1 令牌导出段两处 PowerShell 问题:$themes/$schema 被当变量
展开导致 Null 键;Write-Output 字符串里的 {} 被当格式占位符
验证
- 站点版本 1.3.2、契约化 79/79、令牌导出 3 文件、静态薄壳 79
- 回归保持 100%:961 断言 / 0 失败 / 36 N/A / 79 页全通过(无回退)
75 lines
3.7 KiB
CSS
75 lines
3.7 KiB
CSS
/* Aurora Admin design tokens - generated by build-site.ps1 */
|
||
:root {
|
||
--au-color-brand: #2F54EB; /* 品牌主色:主按钮、选中态、链接 */
|
||
--au-color-brand-hover: #1D39C4; /* 品牌主色悬停 */
|
||
--au-color-brand-active: #10239E; /* 品牌主色点击 */
|
||
--au-color-brand-bg: #F0F5FF; /* 品牌浅色背景:选中背景、标签背景、表格悬停 */
|
||
--au-color-secondary: #13C2C2; /* 辅助色 */
|
||
--au-color-page-bg: #F5F7FA; /* 页面背景 */
|
||
--au-color-card-bg: #FFFFFF; /* 卡片背景 */
|
||
--au-color-table-header-bg: #FAFAFA; /* 表头背景 */
|
||
--au-color-disabled-bg: #F5F5F5; /* 禁用背景(按钮禁用态) */
|
||
--au-color-tag-green-bg: #F6FFED; /* 标签绿底 */
|
||
--au-color-tooltip-bg: #1F2329; /* Tooltip 深色背景 */
|
||
--au-color-text-title: #1F2329; /* 标题文字 · 15.4:1 */
|
||
--au-color-text-body: #262626; /* 正文文字 · 14.0:1 */
|
||
--au-color-text-secondary: #6E6E6E; /* 次要文字 · 5.10:1(原 #8C8C8C 仅 3.36:1) */
|
||
--au-color-text-placeholder: #767676; /* 占位文字 · 4.54:1(原 #BFBFBF 仅 1.84:1) */
|
||
--au-color-text-inverse: #FFFFFF; /* 反色文字(品牌色背景上的白字) */
|
||
--au-color-border: #E8ECF1; /* 分割线/边框 */
|
||
--au-color-success: #2E7D0A; /* 成功色 · 5.18:1(原 #52C41A 仅 2.27:1) */
|
||
--au-color-warning: #8C5A00; /* 警告色 · 5.87:1(原 #FAAD14 仅 1.90:1) */
|
||
--au-color-error: #CF1322; /* 错误色 · 5.57:1(原 #F5222D 仅 4.08:1) */
|
||
--au-color-info: #096DD9; /* 信息色 · 5.00:1(原 #1890FF 仅 3.24:1) */
|
||
--au-color-mask: rgba(0, 0, 0, 0.45); /* 弹窗遮罩 */
|
||
--au-color-mask-strong: rgba(0, 0, 0, 0.85); /* 图片遮罩 */
|
||
--au-color-focus-ring: rgba(47, 84, 235, 0.2); /* 输入框聚焦外发光 */
|
||
--au-font-family: "PingFang SC", "Source Han Sans SC", "Source Han Sans", "Microsoft YaHei", "Inter", "DIN", -apple-system, "Segoe UI", sans-serif;
|
||
--au-font-family-cn: "PingFang SC", "Source Han Sans SC", "Source Han Sans", "Microsoft YaHei", sans-serif;
|
||
--au-font-family-num: "Inter", "DIN", "Segoe UI", sans-serif;
|
||
--au-type-display-size: 24px;
|
||
--au-type-display-height: 32px;
|
||
--au-type-display-weight: 600; /* Semibold:页面大标题 */
|
||
--au-type-h1-size: 20px;
|
||
--au-type-h1-height: 28px;
|
||
--au-type-h1-weight: 600; /* Semibold:卡片标题、弹窗标题 */
|
||
--au-type-h2-size: 16px;
|
||
--au-type-h2-height: 24px;
|
||
--au-type-h2-weight: 500; /* Medium:区块标题 */
|
||
--au-type-body-size: 14px;
|
||
--au-type-body-height: 22px;
|
||
--au-type-body-weight: 400; /* Regular:正文、表格、表单 */
|
||
--au-type-caption-size: 12px;
|
||
--au-type-caption-height: 20px;
|
||
--au-type-caption-weight: 400; /* Regular:辅助说明、时间戳 */
|
||
--au-space-4: 4px;
|
||
--au-space-8: 8px;
|
||
--au-space-12: 12px;
|
||
--au-space-16: 16px;
|
||
--au-space-20: 20px;
|
||
--au-space-24: 24px;
|
||
--au-space-32: 32px;
|
||
--au-space-40: 40px;
|
||
--au-space-48: 48px;
|
||
--au-space-64: 64px;
|
||
--au-radius-small: 2px; /* 标签、徽章、复选框 */
|
||
--au-radius-base: 4px; /* 按钮、输入框、选择器 */
|
||
--au-radius-medium: 6px; /* 表格、卡片内部元素、Popover、日期面板 */
|
||
--au-radius-large: 8px; /* 卡片、弹窗、抽屉 */
|
||
--au-shadow-low: 0 1px 4px rgba(0, 0, 0, 0.06); /* 卡片默认 */
|
||
--au-shadow-medium: 0 4px 12px rgba(0, 0, 0, 0.08); /* 卡片悬停、下拉菜单、Popover */
|
||
--au-shadow-high: 0 8px 24px rgba(0, 0, 0, 0.12); /* 弹窗、抽屉 */
|
||
--au-duration-fast: 0.2s;
|
||
--au-duration-base: 0.3s;
|
||
--au-duration-slow: 0.4s;
|
||
--au-ease-standard: ease;
|
||
--au-ease-out: ease-out;
|
||
--au-ease-in-out: ease-in-out;
|
||
--au-icon-size-16: 16px;
|
||
--au-icon-size-20: 20px;
|
||
--au-icon-size-24: 24px;
|
||
--au-control-height-small: 24px;
|
||
--au-control-height-default: 32px;
|
||
--au-control-height-large: 40px;
|
||
}
|