Browse Source
- 新增 src/theme/spacing.ts:标尺(xs4/sm8/md12/lg16/xl24) + 语义令牌(card8/gutter8/framework16/block12/section12),src/theme/index.ts 从 ./spacing 导出 - 扩展 scripts/check-spacing.mjs:resolveSpacing 解析 spacing./spacingTokens. 引用,令牌化卡片不再被静默跳过(修潜在 bug),输出新增令牌命中统计 - onboarding 35 文件非卡片间距令牌化+收敛(18→block/22→section/14→block/10→sm/12→block) - 更新项目开发状态.md 4.21 - B5(app 框架 padding:16) 本批延期,spacing.framework 单一来源已就绪master
39 changed files with 253 additions and 133 deletions
@ -0,0 +1,42 @@ |
|||
/** |
|||
* 间距设计令牌(Spacing Design Tokens):全局间距单一来源。 |
|||
* |
|||
* 对应 AGENTS.md「所有卡片圆角 8px、边距间隔一致 8px」规则,以及页面框架 / 非卡片间距的统一标尺。 |
|||
* 此前 8px 与各间距值散落为裸字面量(见《项目开发状态.md》4.18 / 4.19 / 4.20): |
|||
* - check-spacing.mjs 能拦「值跑偏」,但「改一次值要动 N 个文件」; |
|||
* - 非卡片间距(图标底块、段间距)在多个页面取 12 / 18 / 22,同角色不同值,无单一来源。 |
|||
* 本文件把间距收口为单一来源,新增样式一律从这里取。 |
|||
* 与 colors.ts 保持同一风格:先定义标尺,再叠加语义令牌,全部挂在 `spacing` 一个对象上, |
|||
* 页面只需 `import { spacing }`,写 `spacing.block` / `spacing.section` 即可。 |
|||
* |
|||
* 重要:scripts/check-spacing.mjs 顶部有一份 SPACING_TOKENS 镜像映射, |
|||
* 改动本文件的取值后必须同步更新脚本里的镜像,否则审计门禁会失准。 |
|||
*/ |
|||
|
|||
/** 4 基准间距标尺(与现有使用习惯对齐:卡片 8 / 块 12 / 框架 16 / 大间距 24) */ |
|||
export const spacing = { |
|||
xs: 4, |
|||
sm: 8, // 卡片圆角 / 卡片内边距 / 卡片间隔 / 页面留白(AGENTS.md 基准)
|
|||
md: 12, // 非卡片块间距标尺
|
|||
lg: 16, // 页面框架标尺(头部返回区 / 底部固定区)
|
|||
xl: 24, // 大段间距
|
|||
|
|||
/** 语义令牌:与 check-spacing.mjs 四维度及页面框架一一对应,改值只动这里 */ |
|||
card: 8, // 卡片圆角 / 内边距 / 间隔 / 页面留白
|
|||
gutter: 8, // 主内容 ScrollView 留白
|
|||
framework: 16, // 页面框架(header 返回区 / footer 固定区,有意比卡片宽)
|
|||
block: 12, // 非卡片块间距(图标底块、字段→提示)
|
|||
section: 12, // 段标题上下间距
|
|||
} as const; |
|||
|
|||
/** |
|||
* 语义令牌别名(与 `spacing` 同名键取值一致),保留以兼容审计脚本对 `spacingTokens.x` 的解析。 |
|||
* 页面请直接用 `spacing.block` / `spacing.section`,无需引用本对象。 |
|||
*/ |
|||
export const spacingTokens = { |
|||
card: spacing.card, |
|||
gutter: spacing.gutter, |
|||
framework: spacing.framework, |
|||
block: spacing.block, |
|||
section: spacing.section, |
|||
} as const; |
|||
Loading…
Reference in new issue