v1.3.2: 契约第三批 43 份(全量 79/79)+ 令牌导出三格式
契约全量闭环
- 补齐剩余 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 页全通过(无回退)
This commit is contained in:
+22
@@ -736,6 +736,28 @@
|
||||
group('控件高度', wrap5);
|
||||
}
|
||||
|
||||
/* ---------- 令牌导出:三种标准格式,构建期由 build-site.ps1 生成 ---------- */
|
||||
var EXPORTS = [
|
||||
{ file: 'tokens/tokens.css', name: 'CSS 自定义属性', hint: '直接 @import 或复制 :root 变量块' },
|
||||
{ file: 'tokens/dtcg.json', name: 'W3C DTCG', hint: 'Design Tokens 社区组标准($value / $type)' },
|
||||
{ file: 'tokens/figma.json', name: 'Figma Tokens', hint: 'Tokens Studio 插件可直接导入' }
|
||||
];
|
||||
var exportWrap = el('div');
|
||||
exportWrap.appendChild(el('p', 'page-desc',
|
||||
'令牌可导出为三种标准格式,供设计工具与其它工程直接消费。文件由 <code>build-site.ps1</code> 在构建时生成,与上方展示的取值始终同源。'));
|
||||
var exportGrid = el('div', 'tok-grid');
|
||||
EXPORTS.forEach(function (x) {
|
||||
var card = el('a', 'tok-card tok-export');
|
||||
card.href = '../site/' + x.file;
|
||||
card.setAttribute('download', '');
|
||||
card.innerHTML = '<div class="t-name"><code>' + esc(x.file) + '</code></div>' +
|
||||
'<div class="t-val">' + esc(x.name) + '</div>' +
|
||||
'<div class="t-cmt">' + esc(x.hint) + '</div>';
|
||||
exportGrid.appendChild(card);
|
||||
});
|
||||
exportWrap.appendChild(exportGrid);
|
||||
group('令牌导出', exportWrap);
|
||||
|
||||
content.appendChild(inner);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user