openyida 2026.9.20 → 2026.9.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/README.md +1 -1
  2. package/lib/app/application-style.js +3 -1
  3. package/lib/app/theme-from-design.js +38 -13
  4. package/lib/app/update-app.js +63 -13
  5. package/lib/core/command-manifest.js +32 -20
  6. package/lib/core/locales/en.js +17 -0
  7. package/lib/core/locales/zh.js +17 -0
  8. package/lib/core/sample.js +17 -14
  9. package/lib/design-plan/confirmation.js +13 -0
  10. package/lib/design-plan/design-plan.js +44 -2
  11. package/lib/design-plan/entry-navigation.js +10 -2
  12. package/lib/design-plan/init.js +11 -7
  13. package/lib/design-plan/materialize.js +62 -43
  14. package/lib/design-plan/normalize.js +13 -14
  15. package/lib/design-plan/parallel.js +62 -13
  16. package/lib/design-plan/patch.js +21 -7
  17. package/lib/design-plan/rebase.js +60 -0
  18. package/lib/design-plan/themes.js +16 -1
  19. package/lib/design-plan/validate.js +6 -1
  20. package/lib/design-plan/visual-policy.js +18 -4
  21. package/lib/samples/openyida-scaffold/canvas-form-drawer.canvas.jsx +3 -3
  22. package/lib/samples/openyida-scaffold/canvas-nav/mixed.jsx +6 -4
  23. package/lib/samples/openyida-scaffold/canvas-nav/shared.jsx +5 -5
  24. package/lib/samples/openyida-scaffold/canvas-nav/side.jsx +1 -2
  25. package/lib/samples/openyida-scaffold/canvas-nav/sidebar.jsx +1 -1
  26. package/lib/samples/openyida-scaffold/canvas-nav/top.jsx +5 -4
  27. package/package.json +1 -1
  28. package/yida-skills/SKILL.md +2 -2
  29. package/yida-skills/references/yida-api.md +4 -0
  30. package/yida-skills/skills/yida-app/SKILL.md +12 -4
  31. package/yida-skills/skills/yida-app/references/entry-navigation.md +11 -9
  32. package/yida-skills/skills/yida-app/workflow/plan/step-4-deliver.md +1 -1
  33. package/yida-skills/skills/yida-app/workflow/plan/workflow.md +11 -4
  34. package/yida-skills/skills/yida-app/workflow/step-2-design.md +3 -3
  35. package/yida-skills/skills/yida-app/workflow/step-3-create-or-reuse-app.md +2 -2
  36. package/yida-skills/skills/yida-app/workflow/step-8-publish-navigation.md +3 -3
  37. package/yida-skills/skills/yida-app/workflow/step-9-output-finish.md +3 -2
  38. package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +2 -2
  39. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-style-implementation-guide.md +1 -1
  40. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-theme-provider.md +1 -1
  41. package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +140 -1
  42. package/yida-skills/skills/yida-canvas-custom-page/references/navigation-and-entry-guide.md +1 -1
  43. package/yida-skills/skills/yida-canvas-custom-page/scripts/canvas-theme-provider.template.jsx +1 -1
  44. package/yida-skills/skills/yida-canvas-data-binding/SKILL.md +7 -0
  45. package/yida-skills/skills/yida-create-form-page/SKILL.md +1 -1
  46. package/yida-skills/skills/yida-design/SKILL.md +5 -3
  47. package/yida-skills/skills/yida-design/references/application-style-library.md +22 -7
  48. package/yida-skills/skills/yida-design/references/application-theme-consistency.md +45 -5
  49. package/yida-skills/skills/yida-design/references/ask-human-interaction-contract.md +1 -1
  50. package/yida-skills/skills/yida-design/references/native-form-styles.md +1 -1
  51. package/yida-skills/skills/yida-design/references/navigation-decision.md +6 -4
  52. package/yida-skills/skills/yida-design/references/theme/app-custom-theme-template.css +62 -0
  53. package/yida-skills/skills/yida-design/references/theme-selection.md +10 -9
  54. package/yida-skills/skills/yida-design/references/visual-decision-engine.md +1 -1
  55. package/yida-skills/skills/yida-design/scripts/validate_design_themes.py +35 -9
  56. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/SKILL.md +13 -3
  57. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-compact-schema.md +4 -2
  58. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-schema.md +4 -2
  59. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-design.md +3 -1
  60. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-theme-selection.md +15 -17
  61. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/render_build_plan.py +2 -0
  62. package/yida-skills/skills/yida-design/templates/design-themes/README.md +15 -10
  63. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/app_theme.css +224 -83
  64. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/design.md +69 -14
  65. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/app_theme.css +224 -83
  66. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/design.md +69 -14
  67. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/app_theme.css +244 -103
  68. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/design.md +68 -13
  69. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/app_theme.css +223 -82
  70. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/design.md +68 -13
  71. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/app_theme.css +225 -84
  72. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/design.md +69 -14
  73. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/app_theme.css +244 -103
  74. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/design.md +68 -13
  75. package/yida-skills/skills/yida-design/templates/design-themes/app-line/app_theme.css +224 -83
  76. package/yida-skills/skills/yida-design/templates/design-themes/app-line/design.md +69 -14
  77. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/app_theme.css +244 -103
  78. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/design.md +68 -13
  79. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/app_theme.css +236 -89
  80. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/design.md +74 -14
  81. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/app_theme.css +224 -83
  82. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/design.md +68 -13
  83. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/app_theme.css +223 -82
  84. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/design.md +68 -13
  85. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/app_theme.css +224 -83
  86. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/design.md +68 -13
  87. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/app_theme.css +240 -89
  88. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/design.md +76 -14
  89. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/app_theme.css +224 -83
  90. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/design.md +69 -14
  91. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/app_theme.css +224 -83
  92. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/design.md +68 -13
  93. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/app_theme.css +254 -107
  94. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/design.md +74 -14
  95. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/app_theme.css +233 -88
  96. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/design.md +73 -14
  97. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/app_theme.css +224 -83
  98. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/design.md +69 -14
  99. package/yida-skills/skills/yida-design/templates/design-themes/basic-tokens.json +2 -1
  100. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/app_theme.css +690 -0
  101. package/yida-skills/skills/yida-design/templates/design-themes/{dark-inset-hairline.md → dark-inset-hairline/design.md} +103 -58
  102. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/form-layout.json +13 -0
  103. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/app_theme.css +691 -0
  104. package/yida-skills/skills/yida-design/templates/design-themes/{dark-rail-fine-lines.md → dark-rail-fine-lines/design.md} +102 -50
  105. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/form-layout.json +13 -0
  106. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/app_theme.css +696 -0
  107. package/yida-skills/skills/yida-design/templates/design-themes/{dark-rail-signal-panels.md → dark-rail-signal-panels/design.md} +62 -12
  108. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/form-layout.json +13 -0
  109. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/app_theme.css +278 -115
  110. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/design.md +57 -10
  111. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/app_theme.css +692 -0
  112. package/yida-skills/skills/yida-design/templates/design-themes/{graphite-bevel-grid.md → graphite-bevel-grid/design.md} +60 -10
  113. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/form-layout.json +13 -0
  114. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/app_theme.css +691 -0
  115. package/yida-skills/skills/yida-design/templates/design-themes/{hairline-shared-bands.md → hairline-shared-bands/design.md} +62 -12
  116. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/form-layout.json +13 -0
  117. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/app_theme.css +691 -0
  118. package/yida-skills/skills/yida-design/templates/design-themes/{hairline-soft-blocks.md → hairline-soft-blocks/design.md} +57 -9
  119. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/form-layout.json +13 -0
  120. package/yida-skills/skills/yida-design/templates/design-themes/index.json +141 -48
  121. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/app_theme.css +701 -0
  122. package/yida-skills/skills/yida-design/templates/design-themes/{ink-glow-soft-panels.md → ink-glow-soft-panels/design.md} +58 -8
  123. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/form-layout.json +13 -0
  124. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/app_theme.css +691 -0
  125. package/yida-skills/skills/yida-design/templates/design-themes/{inset-frame-pixel-rhythm.md → inset-frame-pixel-rhythm/design.md} +59 -9
  126. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/form-layout.json +13 -0
  127. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/app_theme.css +698 -0
  128. package/yida-skills/skills/yida-design/templates/design-themes/{outlined-texture-duotone.md → outlined-texture-duotone/design.md} +62 -12
  129. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/form-layout.json +13 -0
  130. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/app_theme.css +691 -0
  131. package/yida-skills/skills/yida-design/templates/design-themes/{soft-inset-surfaces.md → soft-inset-surfaces/design.md} +59 -11
  132. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/form-layout.json +13 -0
  133. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/app_theme.css +690 -0
  134. package/yida-skills/skills/yida-design/templates/design-themes/{soft-outline-rhythm.md → soft-outline-rhythm/design.md} +60 -26
  135. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/form-layout.json +13 -0
  136. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/app_theme.css +698 -0
  137. package/yida-skills/skills/yida-design/templates/design-themes/{soft-rail-bold-band.md → soft-rail-bold-band/design.md} +99 -49
  138. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/form-layout.json +13 -0
  139. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/app_theme.css +692 -0
  140. package/yida-skills/skills/yida-design/templates/design-themes/{soft-spectral-panels.md → soft-spectral-panels/design.md} +63 -13
  141. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/form-layout.json +13 -0
  142. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/app_theme.css +711 -0
  143. package/yida-skills/skills/yida-design/templates/design-themes/{warm-canvas-contrast-panels.md → warm-canvas-contrast-panels/design.md} +60 -10
  144. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/form-layout.json +13 -0
  145. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/app_theme.css +692 -0
  146. package/yida-skills/skills/yida-design/templates/design-themes/{warm-rail-muted-panels.md → warm-rail-muted-panels/design.md} +98 -50
  147. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/form-layout.json +13 -0
  148. package/yida-skills/skills/yida-design/templates/navigation-styles.json +769 -0
  149. package/yida-skills/skills/yida-design/workflow/output-design.md +5 -5
  150. package/yida-skills/skills/yida-design/workflow/step-2-theme-system.md +5 -3
  151. package/yida-skills/skills/yida-design/workflow/step-6-handoff.md +1 -1
  152. package/yida-skills/skills/yida-form-permission/SKILL.md +6 -0
  153. package/yida-skills/skills/yida-nav-shell/SKILL.md +1 -1
  154. package/yida-skills/skills/yida-nav-shell/references/nav-shell-patterns.md +6 -0
  155. package/yida-skills/skills/yida-page-config/SKILL.md +9 -0
  156. package/yida-skills/skills/yida-prd/SKILL.md +1 -0
  157. package/yida-skills/skills/yida-prd/workflow/output-prd.md +2 -2
  158. package/yida-skills/skills/yida-prd/workflow/step-2-information-architecture.md +1 -1
  159. package/yida-skills/skills/yida-requirement-analysis/references/experience-groups.md +45 -9
  160. package/yida-skills/skills/yida-requirement-analysis/references/handoff.md +5 -5
  161. package/yida-skills/skills/yida-requirement-analysis/workflow/prepare-brief.md +17 -4
  162. package/yida-skills/skills-index.json +2 -2
@@ -2,6 +2,7 @@
2
2
  name: "{{PROJECT_NAME}}"
3
3
  description: "独立导航与白色工作区形成分区;细边线、平整白面和疏朗行距组织内容,主题色深色信息与少量品牌色建立焦点,胶囊操作、灰色数据参照和局部斜纹补充细节。"
4
4
  themeId: dark-rail-fine-lines
5
+ navTheme: dark
5
6
  tokens:
6
7
  application-global:
7
8
  appearance:
@@ -12,12 +13,57 @@ tokens:
12
13
  "--pod-card-bg-color": "#FFFFFF" # neutral-gray;一级内容表面
13
14
  "--pod-table-cell-color": "var(--pod-card-bg-color)" # 表格正文跟随卡片表面
14
15
  navigation:
15
- "--pod-shell-theme-bg-color": "#1B1B1B" # neutral-gray;深色导航背景,独立于内容区
16
- "--pod-nav-item-text-color": "#A0A0A0" # neutral-gray;普通菜单与图标
17
- "--pod-nav-item-text-hover-color": "#E7E7E7" # neutral-gray;悬停文字与图标
18
- "--pod-nav-item-text-selected-color": "#FFFFFF" # neutral-gray;选中文字与图标
19
- "--pod-nav-menu-bg-hover-color": "#272727" # neutral-gray;悬停背景
20
- "--pod-nav-menu-bg-selected-color": "#323232" # neutral-gray;选中背景
16
+ "--pod-shell-theme-bg-color": "#1B1B1B"
17
+ "--pod-nav-item-text-color": "#A0A0A0"
18
+ "--pod-nav-item-text-hover-color": "#E7E7E7"
19
+ "--pod-nav-item-text-selected-color": "#FFFFFF"
20
+ "--pod-nav-menu-bg-hover-color": "#272727"
21
+ "--pod-nav-menu-bg-selected-color": "#323232"
22
+ "--pod-nav-menu-item-selected-shadow": "inset 3px 0 0 var(--color-brand1-6)"
23
+ "--pod-page-header-bg-color": "var(--pod-shell-theme-bg-color)"
24
+ "--pod-nav-l-sub-main-bg-color": "var(--pod-shell-theme-bg-color)"
25
+ "--pod-nav-top-main-border-width": "1px"
26
+ "--pod-nav-top-main-border-color": "#353535"
27
+ "--pod-nav-top-tab-indicator-width": "0px"
28
+ "--pod-nav-logo-text": "var(--pod-nav-item-text-hover-color)"
29
+ "--pod-nav-logo-bg": "var(--pod-nav-menu-bg-selected-color)"
30
+ "--pod-nav-logo-icon": "var(--pod-nav-item-text-selected-color)"
31
+ "--pod-nav-logo-border": "1px solid #353535"
32
+ "--pod-nav-logo-border-radius": "2px"
33
+ "--pod-nav-sub-divider-color": "#353535"
34
+ "--pod-nav-item-text-disabled-color": "rgba(255,255,255,.30)"
35
+ "--pod-nav-l-container-bg": "var(--pod-shell-theme-bg-color)"
36
+ "--pod-nav-l-group-label-color": "var(--pod-nav-item-text-color)"
37
+ "--pod-nav-l-search-border-color": "#353535"
38
+ "--pod-nav-popup-bg-color": "var(--pod-shell-theme-bg-color)"
39
+ "--pod-nav-popup-border-radius": "2px"
40
+ "--pod-nav-popup-shadow": "0 8px 24px rgba(0,0,0,.24)"
41
+ "--pod-nav-tab-line-hover-color": "var(--pod-nav-item-text-hover-color)"
42
+ "--pod-nav-tab-line-selected-color": "var(--pod-nav-item-text-hover-color)"
43
+ "--pod-nav-search-bg-color": "var(--pod-nav-menu-bg-hover-color)"
44
+ "--pod-nav-search-bg-hover-color": "var(--pod-nav-menu-bg-hover-color)"
45
+ "--pod-nav-search-bg-active-color": "var(--pod-nav-menu-bg-hover-color)"
46
+ "--pod-nav-search-placeholder-color": "var(--pod-nav-item-text-color)"
47
+ "--pod-nav-search-text-color": "var(--pod-nav-item-text-hover-color)"
48
+ "--pod-nav-search-icon-color": "var(--pod-nav-item-text-color)"
49
+ "--pod-nav-search-border-color": "#353535"
50
+ "--pod-nav-search-border-hover-color": "var(--pod-nav-item-text-hover-color)"
51
+ "--pod-nav-search-border-active-color": "var(--pod-nav-item-text-hover-color)"
52
+ "--pod-nav-action-icon-color": "var(--pod-nav-item-text-color)"
53
+ "--pod-nav-action-border-color": "#353535"
54
+ "--pod-nav-action-border": "1px solid #353535"
55
+ "--pod-nav-action-bg-hover-color": "var(--pod-nav-menu-bg-hover-color)"
56
+ "--pod-nav-action-bg-active-color": "var(--pod-nav-menu-bg-hover-color)"
57
+ "--pod-nav-menu-item-height": "38px"
58
+ "--pod-nav-menu-item-radius": "2px"
59
+ "--pod-nav-menu-item-border": "none"
60
+ "--pod-nav-menu-item-hover-border": "none"
61
+ "--pod-nav-menu-item-selected-border": "none"
62
+ "--pod-nav-menu-font-size": "14px"
63
+ "--pod-nav-menu-item-selected-font-weight": "500"
64
+ "--pod-nav-menu-line-height": "20px"
65
+ "--pod-nav-menu-gap": "8px"
66
+ "--pod-shell-lshape-border-radius": "2px"
21
67
  colors:
22
68
  "--color-white": "var(--pod-card-bg-color)" # 全应用基础表面;当前随浅色内容主面,不承担白字语义
23
69
  "--color-brand1-1": "<生成实际色值:--color-brand1-6 88% + #FFFFFF 12%,sRGB 逐通道混合>" # 品牌交互悬停
@@ -71,12 +117,12 @@ tokens:
71
117
  rounded:
72
118
  "--corner-zero": 0px # 贴边栏目、表格拼接和区块分隔
73
119
  "--corner-1": 2px # 小型条形图端角、矩形状态底片
74
- "--corner-2": 4px # 输入控件与菜单项
75
- "--corner-3": 6px # 气泡、浮层、弹窗外轮廓
76
- "--corner-4": 8px # 小型嵌入摘要与内部组合容器
77
- "--corner-5": 10px # 卡片、独立面板与抽屉外轮廓
120
+ "--corner-2": 2px # 输入控件与菜单项
121
+ "--corner-3": 2px # 气泡、浮层、弹窗外轮廓
122
+ "--corner-4": 2px # 小型嵌入摘要与内部组合容器
123
+ "--corner-5": 2px # 卡片、独立面板与抽屉外轮廓
78
124
  "--corner-circle": "var(--corner-2)" # 等宽高头像、图例圆点
79
- "--corner-semicircle": 500px # 胶囊按钮、计数标记、进度条圆头
125
+ "--corner-semicircle": 2px # 胶囊按钮、计数标记、进度条圆头
80
126
  shadow:
81
127
  "--shadow-1": "0px 2px 4px 0px rgba(0, 0, 0, 0.12)"
82
128
  "--shadow-2": "0px 4px 20px -1px rgba(0, 0, 0, 0.16)"
@@ -106,13 +152,13 @@ tokens:
106
152
 
107
153
  独立配色的应用导航构成稳定的视觉边界,内容区以连续白色画布展开。标题、细分隔线和留白承担主要层级,卡片边界很轻,常驻内容几乎没有投影。近黑标题与主题色派生的深色关键信息交替组织阅读,品牌强调只在操作、选中标记和少量数据图形中出现。整体信息量较高,但行距与区块间距舒展,避免把每个信息片段都包成醒目的卡片。
108
154
 
109
- | 核心特征 | 可见表现 | 主要偏离风险 |
110
- | --- | --- | --- |
111
- | 明暗分区,配色独立 | 导航与白色内容独立配色;选中使用专用背景和前景 | 将导航改成品牌色大面填充,或让内容跟随导航一起变暗 |
112
- | 白面连续,细线划界 | 同色卡片靠浅边框识别,横向分段和辅助栏目以单线分隔 | 以灰色大背景、重投影和多层嵌套卡片取代留白 |
113
- | 中性文字配主题深色信息 | 标题、数字近黑;对象名、部分结构化数值与图标使用主题色深色变体 | 把所有文字染成品牌色,或用过浅灰承载关键数据 |
114
- | 容器克制,操作圆润 | 面板使用适中圆角;工具按钮、计数和进度条使用胶囊或圆头 | 所有元素统一成大圆角、厚描边的按钮形状 |
115
- | 强调集中于当前对象 | 有数据图形时,灰色参照中出现少量品牌色、品牌深色变体与细斜纹;有集合切换时用细顶线标记当前项 | 每个柱、每张卡片都着重强调,失去视觉主次 |
155
+ | 核心特征 | 可见表现 | 主要偏离风险 |
156
+ | ---------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------- |
157
+ | 明暗分区,配色独立 | 导航与白色内容独立配色;选中使用专用背景和前景 | 将导航改成品牌色大面填充,或让内容跟随导航一起变暗 |
158
+ | 白面连续,细线划界 | 同色卡片靠浅边框识别,横向分段和辅助栏目以单线分隔 | 以灰色大背景、重投影和多层嵌套卡片取代留白 |
159
+ | 中性文字配主题深色信息 | 标题、数字近黑;对象名、部分结构化数值与图标使用主题色深色变体 | 把所有文字染成品牌色,或用过浅灰承载关键数据 |
160
+ | 容器克制,操作圆润 | 面板使用适中圆角;工具按钮、计数和进度条使用胶囊或圆头 | 所有元素统一成大圆角、厚描边的按钮形状 |
161
+ | 强调集中于当前对象 | 有数据图形时,灰色参照中出现少量品牌色、品牌深色变体与细斜纹;有集合切换时用细顶线标记当前项 | 每个柱、每张卡片都着重强调,失去视觉主次 |
116
162
 
117
163
  页面、字段、操作及组件数量由实际需求确定。普通表单和列表仅靠白色表面、细边界、墨色文字与圆润操作即可呈现主题;图表、辅助栏、认证标志等只在存在对应内容时启用。
118
164
 
@@ -122,27 +168,33 @@ tokens:
122
168
 
123
169
  层次优先通过留白、边线和文字建立。常驻区块与画布保持同色;只有短暂覆盖内容才增加有限阴影。以下边线粗细、局部阴影及后文图形尺寸为实施推断,不以图片导出像素直接换算 CSS 尺寸。
124
170
 
125
- | 对象 | 背景与前景 | 边界、形状与阴影 |
126
- | --- | --- | --- |
127
- | 应用根背景 | `--pod-app-root-bg-color`;背景图由 `--pod-app-root-bg-image` 控制 | 根节点平铺,背景图不向输入或卡片继承 |
128
- | 页面画布与白色页头 | `--pod-page-bg-color`;自定义页使用 `--oyd-page-bg`;主文字用 `--color-text1-4` | 页头下方可用 1px `--color-line1-1`;无默认投影 |
129
- | 一级卡片、表单主容器、独立详情面板 | `--pod-card-bg-color`;标题用 `--color-text1-4` | 1px `--color-line1-1`,`--corner-5`,无阴影 |
130
- | 表格正文 | `--pod-table-cell-color`,对象名可用 `--oyd-entity-ink` | 连续行表面与横分隔线,拼接处使用 `--corner-zero` |
131
- | 内部分段、表头与辅助信息 | 通常保持父级白面;需要中性填充时使用 `--color-fill1-2`,轨道与较重填充使用 `--color-fill1-3` | 优先空白与单向边线,不重复套完整容器 |
132
- | 下拉、浮层、气泡、弹窗、弹出日历、导航弹出层 | `--color-fill1-5`;主文字用 `--color-text1-4`,辅助文字用 `--color-text1-10` | `--corner-3`,浅边框;小浮层可用 `--shadow-1`,模态弹窗可用 `--shadow-2` |
133
- | 抽屉 | `--color-fill1-5`;文字按浅色表面配套 | `--corner-5` 用于露出角,贴边处直角;必要时用 `--shadow-2` |
134
- | 图表读数浮卡 | `--color-fill1-5`;标签用 `--color-text1-10`,数值跟随对应数据序列 | `--corner-3`;采用局部弱阴影 `0 8px 24px rgba(0,0,0,0.06)`,避免遮挡整个数据区 |
135
- | 简短 Tooltip | `--color-fill1-10` 配 `--color-text1-5` | `--corner-3`;与白色数据读数浮卡区分 |
171
+ | 对象 | 背景与前景 | 边界、形状与阴影 |
172
+ | -------------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
173
+ | 应用根背景 | `--pod-app-root-bg-color`;背景图由 `--pod-app-root-bg-image` 控制 | 根节点平铺,背景图不向输入或卡片继承 |
174
+ | 页面画布与白色页头 | `--pod-page-bg-color`;自定义页使用 `--oyd-page-bg`;主文字用 `--color-text1-4` | 页头下方可用 1px `--color-line1-1`;无默认投影 |
175
+ | 一级卡片、表单主容器、独立详情面板 | `--pod-card-bg-color`;标题用 `--color-text1-4` | 1px `--color-line1-1`,`--corner-5`,无阴影 |
176
+ | 表格正文 | `--pod-table-cell-color`,对象名可用 `--oyd-entity-ink` | 连续行表面与横分隔线,拼接处使用 `--corner-zero` |
177
+ | 内部分段、表头与辅助信息 | 通常保持父级白面;需要中性填充时使用 `--color-fill1-2`,轨道与较重填充使用 `--color-fill1-3` | 优先空白与单向边线,不重复套完整容器 |
178
+ | 下拉、浮层、气泡、弹窗、弹出日历、导航弹出层 | `--color-fill1-5`;主文字用 `--color-text1-4`,辅助文字用 `--color-text1-10` | `--corner-3`,浅边框;小浮层可用 `--shadow-1`,模态弹窗可用 `--shadow-2` |
179
+ | 抽屉 | `--color-fill1-5`;文字按浅色表面配套 | `--corner-5` 用于露出角,贴边处直角;必要时用 `--shadow-2` |
180
+ | 图表读数浮卡 | `--color-fill1-5`;标签用 `--color-text1-10`,数值跟随对应数据序列 | `--corner-3`;采用局部弱阴影 `0 8px 24px rgba(0,0,0,0.06)`,避免遮挡整个数据区 |
181
+ | 简短 Tooltip | `--color-fill1-10` 配 `--color-text1-5` | `--corner-3`;与白色数据读数浮卡区分 |
136
182
 
137
183
  `--color-white` 是全应用基础表面,当前随白色内容主面;切换内容明暗时跟随主面,不作为固定白字。普通卡片不使用阴影档位。`--shadow-3` 保留为平台完整变量,本主题未指定默认使用对象。独立辅助栏目可以直接落在页面画布上,以一条纵向边线划分;若页面没有平行辅助内容,不保留空栏。
138
184
 
139
185
  ### 2.2 应用导航
140
186
 
141
- 导航按项目确定的明暗成组配色,独立于内容画布。背景使用 `--pod-shell-theme-bg-color`,普通文字与图标使用 `--pod-nav-item-text-color`;悬停文字与背景使用 `--pod-nav-item-text-hover-color`、`--pod-nav-menu-bg-hover-color`,选中文字与背景使用 `--pod-nav-item-text-selected-color`、`--pod-nav-menu-bg-selected-color`。图标跟随对应文字状态,颜色以项目 tokens 为准。
187
+ 深炭导航与白色工作区形成清楚分区,白字灰底标识当前菜单;细边界和低圆角与正文一致。
142
188
 
143
- 仅当项目明确采用自绘导航时,补充以下表达:导航项使用 `--corner-2`,图标与文字水平对齐,图标为轻量描边;内部左右留白使用 `--s-4`,分组间距使用 `--s-6`,分组名用次一级导航文字。已有品牌区可用 `--oyd-shell-brand-panel` 形成小范围更深底面,不能借用品牌派生深色替代壳层色。组间分隔线根据实际导航底色保持低对比,不直接移用内容区的分隔线。
189
+ 菜单轮廓使用 --pod-nav-menu-item-radius、--pod-nav-menu-item-border、--pod-nav-menu-item-hover-border、--pod-nav-menu-item-selected-border。侧栏和顶部菜单共用轮廓,各状态保持相同边框宽度,文字位置稳定;具体数值以本项目 Token 为准。
144
190
 
145
- 若已有数量提醒,允许使用品牌色的小胶囊,仅突出数量,不铺满菜单行。导航弹出层仍遵循白色覆盖层规则;深色导航的白字不直接进入白底弹层。页头的标题、搜索、头像和已有操作属于页头内容,不因此创建第二套导航。
191
+ 导航与应用框架、表单、自定义页面和详情页共用设计语言。先按业务入口安排菜单、分组、搜索、品牌区与常用操作,再一起确定导航与正文的明暗、表面、字体、边界、圆角和密度。平台导航使用真实页面菜单;自绘导航按同一套导航 Token 实现。命名模板沿用自身 navTheme,换主色保持导航明暗与内容画布;需要另一导航明暗时改选主题,自由创意按项目明确设计。
192
+
193
+ 导航底色使用 --pod-shell-theme-bg-color;普通、悬停和选中文字分别使用 --pod-nav-item-text-color、--pod-nav-item-text-hover-color、--pod-nav-item-text-selected-color;悬停和选中背景使用 --pod-nav-menu-bg-hover-color、--pod-nav-menu-bg-selected-color。图标跟随对应文字状态,当前入口同时用背景或字重表达。
194
+
195
+ 菜单高度、圆角与间距使用 --pod-nav-menu-item-height、--pod-nav-menu-item-radius、--pod-nav-menu-gap;搜索、品牌区、分组、操作和弹出菜单使用 navigation 分组中的对应 Token。弹出菜单的底色、文字与搜索状态成组配套,导航与内容可以分别选择明暗。选中项使用 --pod-nav-menu-item-selected-shadow:none 关闭额外标记,完整 box-shadow 值可表达左、右或底部内阴影,不占据菜单布局空间;该 Token 独立于导航明暗。菜单高度、文字行高、内距和框架留白一起调整,给外阴影、长标题与键盘焦点留出空间。
196
+
197
+ 桌面检查菜单、搜索、选中态与表单的协调;折叠后保留可识别图标和入口名称;窄屏保持菜单可展开、当前页面可定位、键盘焦点可见。提交、编辑、详情与自定义页都沿用这一导航设计。
146
198
 
147
199
  ### 2.3 页面标题与操作
148
200
 
@@ -156,14 +208,14 @@ tokens:
156
208
 
157
209
  使用 `--font-family-base`。全局字体与间距固定,独立指标使用页面层的数值排版;未知字体不以截图外观断言其字体名称。
158
210
 
159
- | 文字角色 | 字号、字重、行高 | 颜色与使用 |
160
- | --- | --- | --- |
161
- | 页面标题、页头应用名称 | `--font-size-subhead`、`--font-weight-subhead`、`--font-lineheight-subhead` | `--color-text1-4`;页面任务标题可采用 `--oyd-entity-ink` |
162
- | 分组与面板标题 | `--font-size-body-2`、`--font-weight-body-2`、`--font-lineheight-body-2` | `--color-text1-4`;前置线性图标不抢占文字焦点 |
163
- | 正文、标签与常规操作 | `--font-size-body-1`、`--font-weight-body-1`、`--font-lineheight-body-1` | 正文用 `--color-text1-4`,有名称辨识任务时用 `--oyd-entity-ink` |
164
- | 表格表头与单元格 | `--font-size-table`、`--font-weight-table`、`--font-lineheight-table` | 表头用 `--color-text1-10`;主内容用 `--color-text1-4` 或 `--oyd-entity-ink` |
165
- | 元信息、图表标签和次要说明 | `--font-size-caption`、`--font-weight-caption`、`--font-lineheight-caption` | `--color-text1-3`;直接影响判断的说明提高到 `--color-text1-10` 或主文字色 |
166
- | 独立指标值 | `--oyd-font-size-metric`、`--oyd-font-weight-metric`、`--oyd-font-lineheight-metric` | `--color-text1-4`;单位与附属变化值降为正文或说明角色 |
211
+ | 文字角色 | 字号、字重、行高 | 颜色与使用 |
212
+ | -------------------------- | ------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- |
213
+ | 页面标题、页头应用名称 | `--font-size-subhead`、`--font-weight-subhead`、`--font-lineheight-subhead` | `--color-text1-4`;页面任务标题可采用 `--oyd-entity-ink` |
214
+ | 分组与面板标题 | `--font-size-body-2`、`--font-weight-body-2`、`--font-lineheight-body-2` | `--color-text1-4`;前置线性图标不抢占文字焦点 |
215
+ | 正文、标签与常规操作 | `--font-size-body-1`、`--font-weight-body-1`、`--font-lineheight-body-1` | 正文用 `--color-text1-4`,有名称辨识任务时用 `--oyd-entity-ink` |
216
+ | 表格表头与单元格 | `--font-size-table`、`--font-weight-table`、`--font-lineheight-table` | 表头用 `--color-text1-10`;主内容用 `--color-text1-4` 或 `--oyd-entity-ink` |
217
+ | 元信息、图表标签和次要说明 | `--font-size-caption`、`--font-weight-caption`、`--font-lineheight-caption` | `--color-text1-3`;直接影响判断的说明提高到 `--color-text1-10` 或主文字色 |
218
+ | 独立指标值 | `--oyd-font-size-metric`、`--oyd-font-weight-metric`、`--oyd-font-lineheight-metric` | `--color-text1-4`;单位与附属变化值降为正文或说明角色 |
167
219
 
168
220
  页面外侧留白使用 `--s-8` 或 `--s-10`;一级分组间距使用 `--s-6` 或 `--s-8`;卡片内边距使用 `--s-4` 或 `--s-5`;标签与值、图标与文字之间使用 `--s-2`。当内容宽度受限时收紧到相邻间距档,不改变全局文字规格。具体宽度、列数和高度在项目页面设计中一次确定,不强制所有面板等高。
169
221
 
@@ -227,15 +279,15 @@ tokens:
227
279
 
228
280
  ### 状态与反馈
229
281
 
230
- | 状态 | 本主题的视觉处理 |
231
- | --- | --- |
232
- | Hover | 中性控件保持 `--color-fill1-1`,通过边框与图标加深形成变化;品牌交互可使用 `--color-brand1-1`。不抬升整张常驻卡片 |
233
- | Active / pressed | 中性操作用 `--color-fill1-2`;品牌操作用 `--color-brand1-9`,不改变尺寸 |
234
- | Selected | 集合或中性选项用 `--color-fill1-2` 配清晰标记;品牌关系用细线或局部品牌色。导航必须使用其六项专用配色 |
235
- | Focus | 以约 2px 的品牌色外轮廓及清晰间隔表达焦点(推断);不依赖仅几乎不可见的填充变化 |
236
- | Disabled | 使用 `--color-text1-2` 或 `--color-brand1-10`,关闭强调;不把正常辅助说明标成禁用态 |
237
- | Error / warning / success / info | 使用平台已有语义色、文字与必要图标;错误字段保留输入结构,边界和说明同步指出问题,不新增同义状态 Token |
238
- | Loading / empty | 骨架使用中性填充;空状态以简短正文与已有可用操作呈现,不用假指标、假柱形或装饰插画填满空间 |
282
+ | 状态 | 本主题的视觉处理 |
283
+ | -------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
284
+ | Hover | 中性控件保持 `--color-fill1-1`,通过边框与图标加深形成变化;品牌交互可使用 `--color-brand1-1`。不抬升整张常驻卡片 |
285
+ | Active / pressed | 中性操作用 `--color-fill1-2`;品牌操作用 `--color-brand1-9`,不改变尺寸 |
286
+ | Selected | 集合或中性选项用 `--color-fill1-2` 配清晰标记;品牌关系用细线或局部品牌色。导航使用六项专用颜色与选中项阴影 |
287
+ | Focus | 以约 2px 的品牌色外轮廓及清晰间隔表达焦点(推断);不依赖仅几乎不可见的填充变化 |
288
+ | Disabled | 使用 `--color-text1-2` 或 `--color-brand1-10`,关闭强调;不把正常辅助说明标成禁用态 |
289
+ | Error / warning / success / info | 使用平台已有语义色、文字与必要图标;错误字段保留输入结构,边界和说明同步指出问题,不新增同义状态 Token |
290
+ | Loading / empty | 骨架使用中性填充;空状态以简短正文与已有可用操作呈现,不用假指标、假柱形或装饰插画填满空间 |
239
291
 
240
292
  状态过渡保持轻量,可采用约 120–180ms 的颜色与透明度变化(推断);不默认弹跳、缩放、霓虹发光或持续播放数字动画。未展示的输入、错误和焦点状态为按本主题推导的实现规则。
241
293
 
@@ -291,7 +343,7 @@ tokens:
291
343
 
292
344
  YAML 是变量值的唯一事实源;正文只规定消费关系,独立局部参数在出现处标为推断。全局变量供平台原生页面与自定义页面消费;页面层补充主题色深色对象信息、图表色、认证标志、自绘品牌区和独立指标排版。递归提取以 `--` 开头的标量叶子,分组名称不拼接到 CSS 变量名;平台基础与项目扩展均在主题中声明,可无环引用,并按实际设计补充变量。
293
345
 
294
- 导航颜色成组独立确定,切换导航明暗只调整六项专用颜色,不改变内容区的文字、填充、卡片或覆盖层。原生导航只配置开放的颜色接口;自绘导航才消费页面层品牌区色。若平台组件不开放细节样式,保留其原生交互与布局能力,在开放范围内落实表面、边界和文字层级。
346
+ 导航颜色成组独立确定,需要另一导航明暗时改选主题,不在当前模板中改写六项专用颜色,不改变内容区的文字、填充、卡片或覆盖层。原生导航额外通过 `--pod-nav-menu-item-selected-shadow` 使用不占位的选中标记;自绘导航才消费页面层品牌区色。若平台组件不开放细节样式,保留其原生交互与布局能力,在开放范围内落实表面、边界和文字层级。
295
347
 
296
348
  需求决定内容,平台约束限定可实现能力,主题规定视觉机制。特色配方不能覆盖真实数据语义、自然内容增长或明确平台限制。未提供具体名称的平台状态变量按语义对接,不杜撰变量接口。
297
349
 
@@ -0,0 +1,13 @@
1
+ [
2
+ {
3
+ "type": "ColumnContainer",
4
+ "layout": "12",
5
+ "columnGap": "16px",
6
+ "rowGap": "16px",
7
+ "display": "VERTICAL",
8
+ "mobileRowGap": "16px",
9
+ "children": [
10
+ []
11
+ ]
12
+ }
13
+ ]