openyida 2026.9.19 → 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 (195) hide show
  1. package/README.md +4 -4
  2. package/lib/app/application-style.js +69 -0
  3. package/lib/app/create-form/args.js +37 -12
  4. package/lib/app/create-form/batch.js +32 -5
  5. package/lib/app/create-form.js +94 -57
  6. package/lib/app/form-field-validator.js +0 -36
  7. package/lib/app/services/form-compiler.js +0 -2
  8. package/lib/app/theme-from-design.js +40 -14
  9. package/lib/app/update-app.js +63 -13
  10. package/lib/core/command-manifest.js +81 -25
  11. package/lib/core/locales/en.js +20 -3
  12. package/lib/core/locales/zh.js +20 -3
  13. package/lib/core/sample.js +36 -14
  14. package/lib/design/document.js +1 -0
  15. package/lib/design-plan/confirmation.js +13 -0
  16. package/lib/design-plan/design-plan.js +44 -2
  17. package/lib/design-plan/entry-navigation.js +10 -2
  18. package/lib/design-plan/init.js +16 -9
  19. package/lib/design-plan/materialize.js +85 -45
  20. package/lib/design-plan/normalize.js +13 -14
  21. package/lib/design-plan/parallel.js +62 -13
  22. package/lib/design-plan/patch.js +21 -7
  23. package/lib/design-plan/rebase.js +60 -0
  24. package/lib/design-plan/themes.js +16 -1
  25. package/lib/design-plan/validate.js +16 -1
  26. package/lib/design-plan/visual-policy.js +29 -4
  27. package/lib/samples/openyida-scaffold/canvas-form-drawer.canvas.jsx +3 -3
  28. package/lib/samples/openyida-scaffold/canvas-nav/mixed.jsx +6 -4
  29. package/lib/samples/openyida-scaffold/canvas-nav/shared.jsx +5 -5
  30. package/lib/samples/openyida-scaffold/canvas-nav/side.jsx +1 -2
  31. package/lib/samples/openyida-scaffold/canvas-nav/sidebar.jsx +1 -1
  32. package/lib/samples/openyida-scaffold/canvas-nav/top.jsx +5 -4
  33. package/package.json +1 -1
  34. package/yida-skills/SKILL.md +2 -2
  35. package/yida-skills/references/official-example-schema-patterns.md +1 -1
  36. package/yida-skills/references/yida-api.md +4 -0
  37. package/yida-skills/skills/yida-app/SKILL.md +15 -4
  38. package/yida-skills/skills/yida-app/references/entry-navigation.md +11 -9
  39. package/yida-skills/skills/yida-app/workflow/plan/step-4-deliver.md +1 -1
  40. package/yida-skills/skills/yida-app/workflow/plan/workflow.md +11 -4
  41. package/yida-skills/skills/yida-app/workflow/step-2-design.md +3 -3
  42. package/yida-skills/skills/yida-app/workflow/step-3-create-or-reuse-app.md +2 -2
  43. package/yida-skills/skills/yida-app/workflow/step-8-publish-navigation.md +3 -3
  44. package/yida-skills/skills/yida-app/workflow/step-9-output-finish.md +3 -2
  45. package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +2 -2
  46. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-style-implementation-guide.md +1 -1
  47. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-theme-provider.md +1 -1
  48. package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +140 -1
  49. package/yida-skills/skills/yida-canvas-custom-page/references/navigation-and-entry-guide.md +1 -1
  50. package/yida-skills/skills/yida-canvas-custom-page/scripts/canvas-theme-provider.template.jsx +1 -1
  51. package/yida-skills/skills/yida-canvas-data-binding/SKILL.md +7 -0
  52. package/yida-skills/skills/yida-create-form-page/SKILL.md +34 -43
  53. package/yida-skills/skills/yida-create-form-page/references/advanced-form-modes.md +5 -5
  54. package/yida-skills/skills/yida-create-form-page/references/association-form-field.md +4 -4
  55. package/yida-skills/skills/yida-create-form-page/references/batch-forms.md +2 -2
  56. package/yida-skills/skills/yida-create-form-page/references/field-definition-guide.md +4 -16
  57. package/yida-skills/skills/yida-create-form-page/references/form-field-properties.md +14 -37
  58. package/yida-skills/skills/yida-design/SKILL.md +7 -5
  59. package/yida-skills/skills/yida-design/references/application-style-library.md +93 -0
  60. package/yida-skills/skills/yida-design/references/application-theme-consistency.md +48 -7
  61. package/yida-skills/skills/yida-design/references/ask-human-interaction-contract.md +1 -1
  62. package/yida-skills/skills/yida-design/references/native-form-styles.md +208 -0
  63. package/yida-skills/skills/yida-design/references/navigation-decision.md +6 -4
  64. package/yida-skills/skills/yida-design/references/theme/app-custom-theme-template.css +110 -1
  65. package/yida-skills/skills/yida-design/references/theme/application-style-recipes.css +58 -0
  66. package/yida-skills/skills/yida-design/references/theme-selection.md +12 -11
  67. package/yida-skills/skills/yida-design/references/visual-decision-engine.md +1 -1
  68. package/yida-skills/skills/yida-design/scripts/validate_design_themes.py +49 -6
  69. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/SKILL.md +13 -3
  70. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-compact-schema.md +6 -2
  71. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-schema.md +5 -3
  72. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-design.md +3 -1
  73. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-theme-selection.md +22 -23
  74. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/render_build_plan.py +2 -0
  75. package/yida-skills/skills/yida-design/templates/application-styles.json +398 -0
  76. package/yida-skills/skills/yida-design/templates/design-themes/README.md +15 -10
  77. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/app_theme.css +748 -0
  78. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/design.md +274 -0
  79. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/form-layout.json +15 -0
  80. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/app_theme.css +748 -0
  81. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/design.md +274 -0
  82. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/form-layout.json +14 -0
  83. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/app_theme.css +748 -0
  84. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/design.md +274 -0
  85. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/form-layout.json +13 -0
  86. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/app_theme.css +748 -0
  87. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/design.md +274 -0
  88. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/form-layout.json +14 -0
  89. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/app_theme.css +748 -0
  90. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/design.md +274 -0
  91. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/form-layout.json +14 -0
  92. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/app_theme.css +748 -0
  93. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/design.md +274 -0
  94. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/form-layout.json +14 -0
  95. package/yida-skills/skills/yida-design/templates/design-themes/app-line/app_theme.css +748 -0
  96. package/yida-skills/skills/yida-design/templates/design-themes/app-line/design.md +274 -0
  97. package/yida-skills/skills/yida-design/templates/design-themes/app-line/form-layout.json +13 -0
  98. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/app_theme.css +748 -0
  99. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/design.md +274 -0
  100. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/form-layout.json +14 -0
  101. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/app_theme.css +754 -0
  102. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/design.md +279 -0
  103. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/form-layout.json +13 -0
  104. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/app_theme.css +748 -0
  105. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/design.md +274 -0
  106. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/form-layout.json +13 -0
  107. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/app_theme.css +748 -0
  108. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/design.md +274 -0
  109. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/form-layout.json +14 -0
  110. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/app_theme.css +748 -0
  111. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/design.md +274 -0
  112. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/form-layout.json +14 -0
  113. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/app_theme.css +758 -0
  114. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/design.md +281 -0
  115. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/form-layout.json +14 -0
  116. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/app_theme.css +748 -0
  117. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/design.md +274 -0
  118. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/form-layout.json +14 -0
  119. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/app_theme.css +748 -0
  120. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/design.md +274 -0
  121. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/form-layout.json +14 -0
  122. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/app_theme.css +754 -0
  123. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/design.md +279 -0
  124. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/form-layout.json +14 -0
  125. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/app_theme.css +752 -0
  126. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/design.md +278 -0
  127. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/form-layout.json +13 -0
  128. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/app_theme.css +748 -0
  129. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/design.md +274 -0
  130. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/form-layout.json +14 -0
  131. package/yida-skills/skills/yida-design/templates/design-themes/basic-tokens.json +2 -1
  132. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/app_theme.css +690 -0
  133. package/yida-skills/skills/yida-design/templates/design-themes/{dark-inset-hairline.md → dark-inset-hairline/design.md} +107 -58
  134. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/form-layout.json +13 -0
  135. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/app_theme.css +691 -0
  136. package/yida-skills/skills/yida-design/templates/design-themes/{dark-rail-fine-lines.md → dark-rail-fine-lines/design.md} +106 -50
  137. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/form-layout.json +13 -0
  138. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/app_theme.css +696 -0
  139. package/yida-skills/skills/yida-design/templates/design-themes/{dark-rail-signal-panels.md → dark-rail-signal-panels/design.md} +66 -12
  140. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/form-layout.json +13 -0
  141. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/app_theme.css +689 -0
  142. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/design.md +238 -0
  143. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/form-layout.json +13 -0
  144. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/app_theme.css +692 -0
  145. package/yida-skills/skills/yida-design/templates/design-themes/{graphite-bevel-grid.md → graphite-bevel-grid/design.md} +64 -10
  146. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/form-layout.json +13 -0
  147. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/app_theme.css +691 -0
  148. package/yida-skills/skills/yida-design/templates/design-themes/{hairline-shared-bands.md → hairline-shared-bands/design.md} +66 -12
  149. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/form-layout.json +13 -0
  150. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/app_theme.css +691 -0
  151. package/yida-skills/skills/yida-design/templates/design-themes/{hairline-soft-blocks.md → hairline-soft-blocks/design.md} +61 -9
  152. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/form-layout.json +13 -0
  153. package/yida-skills/skills/yida-design/templates/design-themes/index.json +399 -31
  154. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/app_theme.css +701 -0
  155. package/yida-skills/skills/yida-design/templates/design-themes/{ink-glow-soft-panels.md → ink-glow-soft-panels/design.md} +62 -8
  156. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/form-layout.json +13 -0
  157. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/app_theme.css +691 -0
  158. package/yida-skills/skills/yida-design/templates/design-themes/{inset-frame-pixel-rhythm.md → inset-frame-pixel-rhythm/design.md} +63 -9
  159. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/form-layout.json +13 -0
  160. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/app_theme.css +698 -0
  161. package/yida-skills/skills/yida-design/templates/design-themes/{outlined-texture-duotone.md → outlined-texture-duotone/design.md} +66 -12
  162. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/form-layout.json +13 -0
  163. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/app_theme.css +691 -0
  164. package/yida-skills/skills/yida-design/templates/design-themes/{soft-inset-surfaces.md → soft-inset-surfaces/design.md} +63 -11
  165. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/form-layout.json +13 -0
  166. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/app_theme.css +690 -0
  167. package/yida-skills/skills/yida-design/templates/design-themes/{soft-outline-rhythm.md → soft-outline-rhythm/design.md} +64 -26
  168. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/form-layout.json +13 -0
  169. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/app_theme.css +698 -0
  170. package/yida-skills/skills/yida-design/templates/design-themes/{soft-rail-bold-band.md → soft-rail-bold-band/design.md} +103 -49
  171. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/form-layout.json +13 -0
  172. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/app_theme.css +692 -0
  173. package/yida-skills/skills/yida-design/templates/design-themes/{soft-spectral-panels.md → soft-spectral-panels/design.md} +67 -13
  174. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/form-layout.json +13 -0
  175. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/app_theme.css +711 -0
  176. package/yida-skills/skills/yida-design/templates/design-themes/{warm-canvas-contrast-panels.md → warm-canvas-contrast-panels/design.md} +64 -10
  177. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/form-layout.json +13 -0
  178. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/app_theme.css +692 -0
  179. package/yida-skills/skills/yida-design/templates/design-themes/{warm-rail-muted-panels.md → warm-rail-muted-panels/design.md} +102 -50
  180. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/form-layout.json +13 -0
  181. package/yida-skills/skills/yida-design/templates/navigation-styles.json +769 -0
  182. package/yida-skills/skills/yida-design/workflow/output-design.md +9 -6
  183. package/yida-skills/skills/yida-design/workflow/step-2-theme-system.md +12 -4
  184. package/yida-skills/skills/yida-design/workflow/step-6-handoff.md +1 -1
  185. package/yida-skills/skills/yida-form-permission/SKILL.md +6 -0
  186. package/yida-skills/skills/yida-nav-shell/SKILL.md +1 -1
  187. package/yida-skills/skills/yida-nav-shell/references/nav-shell-patterns.md +6 -0
  188. package/yida-skills/skills/yida-page-config/SKILL.md +9 -0
  189. package/yida-skills/skills/yida-prd/SKILL.md +1 -0
  190. package/yida-skills/skills/yida-prd/workflow/output-prd.md +2 -2
  191. package/yida-skills/skills/yida-prd/workflow/step-2-information-architecture.md +1 -1
  192. package/yida-skills/skills/yida-requirement-analysis/references/experience-groups.md +45 -9
  193. package/yida-skills/skills/yida-requirement-analysis/references/handoff.md +5 -5
  194. package/yida-skills/skills/yida-requirement-analysis/workflow/prepare-brief.md +17 -4
  195. package/yida-skills/skills-index.json +2 -2
@@ -2,22 +2,68 @@
2
2
  name: "{{PROJECT_NAME}}"
3
3
  description: "近白画布上的细描边柔圆面板,通过组间留缝、组内浅底分段和有分工的形状尺度形成清楚、舒展的内容节奏;有对应数据图形时,以同色轻渐变形成柔和层次。具体组件与页面结构由真实需求决定。"
4
4
  themeId: soft-outline-rhythm
5
+ navTheme: light
5
6
  tokens:
6
7
  application-global:
7
- appearance: # 应用外观:应用背景、内容表面与导航配色,共 11 个变量
8
+ appearance: # 应用外观:应用背景、内容表面与完整导航设计
8
9
  surfaces: # 应用背景与内容表面
9
10
  "--pod-app-root-bg-color": "#FAFAFA" # neutral-gray;应用根背景,刷新与内容未挂载时兜底
10
11
  "--pod-app-root-bg-image": "none" # 应用根背景图;支持 none、完整 url("...") 或 CSS 渐变,只作用于根节点
11
12
  "--pod-page-bg-color": "#FFFFFF" # neutral-gray;全局页面画布背景事实源
12
13
  "--pod-card-bg-color": "#FFFFFF" # 一级卡片、表单主容器、详情面板表面
13
14
  "--pod-table-cell-color": "var(--pod-card-bg-color)" # 表格正文单元格背景;跟随卡片背景
14
- navigation: # 导航独立配色;六项成组确定,不引用内容区色值;以下为浅色导航默认值
15
- "--pod-shell-theme-bg-color": "#FAFAFA" # 模板默认壳层背景;生成项目 design.md 时单独确定实际色值
16
- "--pod-nav-item-text-color": "#737373" # 导航普通菜单文字;图标跟随文字颜色
17
- "--pod-nav-item-text-hover-color": "#202020" # 导航悬停菜单文字
18
- "--pod-nav-item-text-selected-color": "#202020" # 导航选中菜单文字
19
- "--pod-nav-menu-bg-hover-color": "rgba(0, 0, 0, 0.02)" # neutral-gray;悬停菜单背景叠色
20
- "--pod-nav-menu-bg-selected-color": "#F3F3F3" # 导航选中菜单背景
15
+ navigation:
16
+ "--pod-shell-theme-bg-color": "#FAFAFA"
17
+ "--pod-nav-item-text-color": "#737373"
18
+ "--pod-nav-item-text-hover-color": "#202020"
19
+ "--pod-nav-item-text-selected-color": "#202020"
20
+ "--pod-nav-menu-bg-hover-color": "rgba(0, 0, 0, 0.02)"
21
+ "--pod-nav-menu-bg-selected-color": "#F3F3F3"
22
+ "--pod-nav-menu-item-selected-shadow": "none"
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": "#DEDEDE"
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 #DEDEDE"
32
+ "--pod-nav-logo-border-radius": "8px"
33
+ "--pod-nav-sub-divider-color": "#DEDEDE"
34
+ "--pod-nav-item-text-disabled-color": "rgba(24,28,31,.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": "#DEDEDE"
38
+ "--pod-nav-popup-bg-color": "var(--pod-shell-theme-bg-color)"
39
+ "--pod-nav-popup-border-radius": "8px"
40
+ "--pod-nav-popup-shadow": "0 8px 24px rgba(24,28,31,.10)"
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": "#DEDEDE"
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": "#DEDEDE"
54
+ "--pod-nav-action-border": "1px solid #DEDEDE"
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": "42px"
58
+ "--pod-nav-menu-item-radius": "12px"
59
+ "--pod-nav-menu-item-border": "1px solid #DEDEDE"
60
+ "--pod-nav-menu-item-hover-border": "1px solid #A6A6A6"
61
+ "--pod-nav-menu-item-selected-border": "1px solid #737373"
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": "8px"
21
67
  colors: # 品牌色、内容区语义色与固定色;不随导航深浅切换
22
68
  "--color-white": "var(--pod-card-bg-color)" # 全应用基础表面,跟随内容明暗;不承接固定白字
23
69
  "--color-brand1-1": "<生成实际色值:--color-brand1-6 88% + #FFFFFF 12%,sRGB 逐通道混合>" # 品牌交互元素悬停
@@ -145,29 +191,17 @@ YAML 定义变量值;本部分说明变量用于哪些视觉对象,以及对
145
191
 
146
192
  ### 2.2 应用导航
147
193
 
148
- 导航按项目确定的明暗成组配色,独立于内容画布。背景使用 `--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 为准。
194
+ 近白导航延续柔边内容区,菜单使用小圆角与舒展间距,浅灰选中底配清晰深色文字。
149
195
 
150
- 原生导航的尺寸、菜单排布和折叠由平台处理。
196
+ 菜单轮廓使用 --pod-nav-menu-item-radius、--pod-nav-menu-item-border、--pod-nav-menu-item-hover-border、--pod-nav-menu-item-selected-border。侧栏和顶部菜单共用轮廓,各状态保持相同边框宽度,文字位置稳定;具体数值以本项目 Token 为准。
151
197
 
152
- **自绘导航的补充规则**
198
+ 导航与应用框架、表单、自定义页面和详情页共用设计语言。先按业务入口安排菜单、分组、搜索、品牌区与常用操作,再一起确定导航与正文的明暗、表面、字体、边界、圆角和密度。平台导航使用真实页面菜单;自绘导航按同一套导航 Token 实现。命名模板沿用自身 navTheme,换主色保持导航明暗与内容画布;需要另一导航明暗时改选主题,自由创意按项目明确设计。
153
199
 
154
- 仅在项目已确定自行绘制导航时使用:
200
+ 导航底色使用 --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。图标跟随对应文字状态,当前入口同时用背景或字重表达。
155
201
 
156
- - 壳层背景与其中的菜单颜色沿用本节六项变量;导航与正文之间用 `--color-line1-1` 细线分隔。图标尺寸用 `--s-5`,颜色跟随菜单文字,线型沿用 2.5。
157
- - 导航所属的下拉菜单与抽屉也属于 pop-up,背景、边界、圆角与阴影按 2.1;菜单文字使用 `--color-text1-4`,悬停背景使用 `--color-fill1-1`,选中背景使用 `--color-fill1-2`。弹出层配色由自身表面决定,不跟随导航壳层背景换色。
158
- - 侧栏宽度建议 248–272px,顶栏最小高建议 64–72px(推断),只为项目已有的导航结构设置尺寸。
159
- - 菜单项圆角使用 `--corner-2`;普通与选中项共用 `--font-size-body-1`、`--font-lineheight-body-1`。普通字重使用 `--font-weight-body-1`,选中可使用 `--font-weight-body-2`;若字重变化导致位置移动,则共用普通字重,只保留配色区别。
160
- - 壳层内已有分组的标签沿用说明文字的字号、字重和行高,颜色使用 `--pod-nav-item-text-color`;弹出层内分组文字按 2.1 的表面配色。组内间距用 `--s-1`,组间用 `--s-6`。菜单图标、文字和状态标记保持稳定对齐。
202
+ 菜单高度、圆角与间距使用 --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 独立于导航明暗。菜单高度、文字行高、内距和框架留白一起调整,给外阴影、长标题与键盘焦点留出空间。
161
203
 
162
- **自绘导航的收纳方式**
163
-
164
- 空间充足时保持完整导航。空间不足时,根据项目已有的导航形式选择以下形态,不新增导航层级;具体切换时机由页面开发规范处理。
165
-
166
- | 已有导航形式 | 空间不足时的设计 |
167
- | --- | --- |
168
- | 侧边导航 | 图标可独立识别时,可收为带文字提示的 64px 图标轨道(推断);更窄时改为菜单按钮唤出的抽屉。图标不能独立识别时,直接采用带完整文字的抽屉 |
169
- | 顶部导航 | 将无法完整展示的菜单项收进展开菜单,保留当前页面标识 |
170
- | L 型导航 | 顶部与侧边分别采用上述收纳方式,保留项目已有的导航层级 |
204
+ 桌面检查菜单、搜索、选中态与表单的协调;折叠后保留可识别图标和入口名称;窄屏保持菜单可展开、当前页面可定位、键盘焦点可见。提交、编辑、详情与自定义页都沿用这一导航设计。
171
205
 
172
206
  ### 2.3 页面标题与操作
173
207
 
@@ -305,6 +339,10 @@ YAML 定义变量值;本部分说明变量用于哪些视觉对象,以及对
305
339
 
306
340
  例如,树形选择器保留层级缩进与展开操作:输入部分沿用 3.3,节点文字与对齐沿用 3.5,选择反馈沿用 3.7;不把每个节点改成独立大卡。这个例子只说明推导方式,不要求项目新增树组件。
307
341
 
342
+ ### 表单组件与版式结构
343
+
344
+ 表单使用与自定义页面相同的应用全局样式,字体、色彩、表面、边界、圆角、密度和状态延续本主题。表单支持在顶部、左侧、主体、右侧和字段之间组合 Tab/切换、按钮组/操作入口、图片/图形、状态区、标题与 `Divider`、`ColumnContainer`、辅助内容和业务字段。各组件承担导航、操作、视觉焦点、反馈、层级、节奏、装饰或采集作用。普通业务分组和章节分隔使用 `Divider`,横向字段组合使用 `ColumnContainer`。每张表单在项目 `design.md` 写清组件位置与作用、列比例、标签位置、字段与章节间距、底栏、详情延续和窄屏重排。
345
+
308
346
  ## 4. 特色表达配方
309
347
 
310
348
  配方继承第二部分的整体视觉、第三部分的基础组件与状态,只补充适用条件、特殊组合和不适用时的处理。需要的共用表达直接引用基础组件,不引用其他可选配方。模板保存配方不代表项目必须渲染。
@@ -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
+ ]