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
@@ -0,0 +1,238 @@
1
+ ---
2
+ name: "{{PROJECT_NAME}}"
3
+ description: "从任务频率和内容拓扑推导工作区;从品牌与使用环境自主决定材质。不从命名模板选择,必须提交独立推演依据。"
4
+ themeId: "free-creative"
5
+ tokens:
6
+ application-global:
7
+ appearance:
8
+ surfaces:
9
+ "--pod-app-root-bg-color": "#f6f6f6"
10
+ "--pod-app-root-bg-image": "none"
11
+ "--pod-page-bg-color": "#f6f6f6"
12
+ "--pod-card-bg-color": "#ffffff"
13
+ "--pod-table-cell-color": "var(--pod-card-bg-color)"
14
+ navigation:
15
+ "--pod-shell-theme-bg-color": "#FFFFFF"
16
+ "--pod-nav-item-text-color": "#404040"
17
+ "--pod-nav-item-text-hover-color": "#171717"
18
+ "--pod-nav-item-text-selected-color": "#FFFFFF"
19
+ "--pod-nav-menu-bg-hover-color": "#F0F0F0"
20
+ "--pod-nav-menu-bg-selected-color": "#303030"
21
+ "--pod-nav-menu-item-selected-shadow": "none"
22
+ "--pod-page-header-bg-color": "var(--pod-shell-theme-bg-color)"
23
+ "--pod-nav-l-sub-main-bg-color": "var(--pod-shell-theme-bg-color)"
24
+ "--pod-nav-top-main-border-width": "1px"
25
+ "--pod-nav-top-main-border-color": "#CCCCCC"
26
+ "--pod-nav-top-tab-indicator-width": "0px"
27
+ "--pod-nav-logo-text": "var(--pod-nav-item-text-hover-color)"
28
+ "--pod-nav-logo-bg": "var(--pod-nav-menu-bg-selected-color)"
29
+ "--pod-nav-logo-icon": "var(--pod-nav-item-text-selected-color)"
30
+ "--pod-nav-logo-border": "1px solid #CCCCCC"
31
+ "--pod-nav-logo-border-radius": "4px"
32
+ "--pod-nav-sub-divider-color": "#CCCCCC"
33
+ "--pod-nav-item-text-disabled-color": "rgba(24,28,31,.30)"
34
+ "--pod-nav-l-container-bg": "var(--pod-shell-theme-bg-color)"
35
+ "--pod-nav-l-group-label-color": "var(--pod-nav-item-text-color)"
36
+ "--pod-nav-l-search-border-color": "#CCCCCC"
37
+ "--pod-nav-popup-bg-color": "var(--pod-shell-theme-bg-color)"
38
+ "--pod-nav-popup-border-radius": "4px"
39
+ "--pod-nav-popup-shadow": "none"
40
+ "--pod-nav-tab-line-hover-color": "var(--pod-nav-item-text-hover-color)"
41
+ "--pod-nav-tab-line-selected-color": "var(--pod-nav-item-text-hover-color)"
42
+ "--pod-nav-search-bg-color": "var(--pod-nav-menu-bg-hover-color)"
43
+ "--pod-nav-search-bg-hover-color": "var(--pod-nav-menu-bg-hover-color)"
44
+ "--pod-nav-search-bg-active-color": "var(--pod-nav-menu-bg-hover-color)"
45
+ "--pod-nav-search-placeholder-color": "var(--pod-nav-item-text-color)"
46
+ "--pod-nav-search-text-color": "var(--pod-nav-item-text-hover-color)"
47
+ "--pod-nav-search-icon-color": "var(--pod-nav-item-text-color)"
48
+ "--pod-nav-search-border-color": "#CCCCCC"
49
+ "--pod-nav-search-border-hover-color": "var(--pod-nav-item-text-hover-color)"
50
+ "--pod-nav-search-border-active-color": "var(--pod-nav-item-text-hover-color)"
51
+ "--pod-nav-action-icon-color": "var(--pod-nav-item-text-color)"
52
+ "--pod-nav-action-border-color": "#CCCCCC"
53
+ "--pod-nav-action-border": "1px solid #CCCCCC"
54
+ "--pod-nav-action-bg-hover-color": "var(--pod-nav-menu-bg-hover-color)"
55
+ "--pod-nav-action-bg-active-color": "var(--pod-nav-menu-bg-hover-color)"
56
+ "--pod-nav-menu-item-height": "40px"
57
+ "--pod-nav-menu-item-radius": "4px"
58
+ "--pod-nav-menu-item-border": "none"
59
+ "--pod-nav-menu-item-hover-border": "none"
60
+ "--pod-nav-menu-item-selected-border": "none"
61
+ "--pod-nav-menu-font-size": "14px"
62
+ "--pod-nav-menu-item-selected-font-weight": "500"
63
+ "--pod-nav-menu-line-height": "20px"
64
+ "--pod-nav-menu-gap": "8px"
65
+ "--pod-shell-lshape-border-radius": "4px"
66
+ native-form:
67
+ "--form-element-medium-corner": "4px"
68
+ "--form-element-medium-height": "36px"
69
+ "--form-element-medium-font-size": "14px"
70
+ "--input-bg-color": "#ffffff"
71
+ "--input-border-width": "1px"
72
+ "--input-border-color": "#cccccc"
73
+ "--input-hover-border-color": "var(--color-brand1-6)"
74
+ "--input-focus-border-color": "var(--color-brand1-6)"
75
+ "--input-hover-bg-color": "#ffffff"
76
+ "--input-focus-bg-color": "#ffffff"
77
+ "--pod-form-label-color": "#242424"
78
+ "--form-top-label-margin-b": "8px"
79
+ "--yida-form-content-bgcolor": "#ffffff"
80
+ "--pod-page-content-max-width": "1000px"
81
+ "--pod-page-border-radius": "4px"
82
+ "--pod-page-footer-bg-color": "#ffffff"
83
+ "--pod-page-footer-border-radius": "4px"
84
+ "--pod-sticky-footer-box-shadow": "none"
85
+ "--pod-formView-stickyFooter-bg-color": "#f6f6f6"
86
+ "--pod-formView-stickyFooter-box-shadow": "none"
87
+ "--pod-formView-stickyFooter-border": "none"
88
+ "--pod-formView-stickyFooter-border-top": "1px solid #cccccc"
89
+ "--pod-formView-stickyFooter-height": "56px"
90
+ "--pod-formView-stickyFooter-bottom": "8px"
91
+ "--pod-field-preview-min-height": "32px"
92
+ "--pod-field-preview-padding": "8px 12px"
93
+ "--pod-field-preview-gap": "4px"
94
+ "--pod-field-preview-bg-color": "#ffffff"
95
+ "--pod-field-preview-border-radius": "4px"
96
+ "--pod-field-preview-indicator-color": "var(--color-fill1-3)"
97
+ "--pod-field-preview-shadow": "none"
98
+ "--pod-field-preview-text-color": "#242424"
99
+ "--pod-field-preview-line-height": "20px"
100
+ colors:
101
+ "--color-white": "var(--pod-card-bg-color)"
102
+ "--color-brand1-1": "<生成实际色值:--color-brand1-6 88% + #FFFFFF 12%,sRGB 逐通道混合>"
103
+ "--color-brand1-2": "<生成实际色值:--color-brand1-6 12% + #FFFFFF 88%,sRGB 逐通道混合>"
104
+ "--color-brand1-3": "<生成实际色值:--color-brand1-6 4% + #FFFFFF 96%,sRGB 逐通道混合>"
105
+ "--color-brand1-5": "<生成实际色值:--color-brand1-6 38% + #171717 62%,sRGB 逐通道混合>"
106
+ "--color-brand1-6": "{{PRIMARY_COLOR}}"
107
+ "--color-brand1-9": "<生成实际色值:--color-brand1-6 76% + #000000 24%,sRGB 逐通道混合>"
108
+ "--color-brand1-10": "<生成实际色值:--color-brand1-6 26% + #202020 74%,sRGB 逐通道混合>"
109
+ "--color-line1-1": "#cccccc"
110
+ "--color-line1-2": "#cccccc"
111
+ "--color-fill1-1": "#f6f6f6"
112
+ "--color-fill1-2": "#f6f6f6"
113
+ "--color-fill1-3": "#cccccc"
114
+ "--color-fill1-5": "#ffffff"
115
+ "--color-fill1-10": "#262626"
116
+ "--color-text1-5": "#FFFFFF"
117
+ "--color-text1-4": "#242424"
118
+ "--color-text1-10": "#242424"
119
+ "--color-text1-3": "#242424"
120
+ "--color-text1-2": "#858781"
121
+ "--color-text1-1": "#cccccc"
122
+ typography:
123
+ "--font-family-base": "Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
124
+ "--font-size-subhead": "18px"
125
+ "--font-weight-subhead": "500"
126
+ "--font-lineheight-subhead": "1.3"
127
+ "--font-size-body-2": "16px"
128
+ "--font-weight-body-2": "500"
129
+ "--font-lineheight-body-2": "1.45"
130
+ "--font-size-body-1": "14px"
131
+ "--font-weight-body-1": "400"
132
+ "--font-lineheight-body-1": "1.5"
133
+ "--font-size-table": "13px"
134
+ "--font-weight-table": "400"
135
+ "--font-lineheight-table": "1.45"
136
+ "--font-size-caption": "12px"
137
+ "--font-weight-caption": "400"
138
+ "--font-lineheight-caption": "1.4"
139
+ spacing:
140
+ "--s-1": "4px"
141
+ "--s-2": "8px"
142
+ "--s-3": "12px"
143
+ "--s-4": "16px"
144
+ "--s-5": "20px"
145
+ "--s-6": "24px"
146
+ "--s-7": "28px"
147
+ "--s-8": "32px"
148
+ "--s-9": "36px"
149
+ "--s-10": "40px"
150
+ rounded:
151
+ "--corner-zero": "0px"
152
+ "--corner-1": "4px"
153
+ "--corner-2": "4px"
154
+ "--corner-3": "4px"
155
+ "--corner-4": "4px"
156
+ "--corner-5": "4px"
157
+ "--corner-circle": "50%"
158
+ "--corner-semicircle": "500px"
159
+ shadow:
160
+ "--shadow-1": "0px 2px 4px 0px rgba(0, 0, 0, 0.12)"
161
+ "--shadow-2": "0px 4px 20px -1px rgba(0, 0, 0, 0.16)"
162
+ "--shadow-3": "0px 10px 28px -2px rgba(0, 0, 0, 0.24)"
163
+ custom-page:
164
+ "--oyd-page-bg": "var(--pod-page-bg-color)"
165
+ "--oyd-surface": "var(--pod-card-bg-color)"
166
+ "--oyd-canvas-image": "var(--pod-app-root-bg-image)"
167
+ "--oyd-ink": "var(--color-text1-4)"
168
+ "--oyd-border": "var(--color-line1-2)"
169
+ "--oyd-accent": "var(--color-brand1-6)"
170
+ "--oyd-radius": "4px"
171
+ "--oyd-content-width": "1000px"
172
+ "--oyd-content-padding": "24px"
173
+ "--oyd-field-gap": "20px"
174
+ "--oyd-section-gap": "40px"
175
+ "--oyd-heading-font": "var(--font-family-base)"
176
+ "--oyd-heading-size": "32px"
177
+ "--oyd-rule-style": "solid"
178
+ "--oyd-layout-columns": "minmax(0, 12fr)"
179
+ "--oyd-surface-shadow": "none"
180
+ applicationStyle:
181
+ recipe: "application-style-v1"
182
+ mode: "creative"
183
+ ---
184
+ # {{PROJECT_NAME}} design.md
185
+
186
+ ## 1. 风格摘要
187
+
188
+ 自由创意从业务任务、用户、品牌、内容结构和使用环境独立推演。导航、应用框架、自定义页面、表单和详情页共用最终确定的构图、字体、材质、密度与状态语言。
189
+
190
+ ## 2. 页面视觉系统
191
+
192
+ ### 2.1 表面、区块与层次
193
+
194
+ 根据真实内容确定画布、内容面、边界、留白和信息层级。主次区域通过宽度、位置、表面和排版建立关系;每个容器都承载明确内容,不为丰富版式增加空卡片或虚构数据。
195
+
196
+ ### 2.2 应用导航
197
+
198
+ 按业务入口确定导航结构和明暗,菜单来自真实页面范围。主色 {{PRIMARY_COLOR}};色彩来源 {{COLOR_SOURCE}}。导航与正文使用同一应用全局样式;在 themeProfile 中分别填写 contentTone 与 navTheme。
199
+
200
+ 先决定品牌区、菜单分组、搜索和常用操作如何服务当前业务,再与应用框架、表单、自定义页和详情一起确定表面、边界、圆角、字体、密度和选中表达。在 navigation 分组填写项目自己的导航底色、普通文字、悬停文字、选中文字、悬停背景、选中背景六项 Token,并配套搜索、弹层、分组、操作、菜单高度与圆角。文件中的基础值是编写骨架,交付时用项目设计值替换。窄屏和折叠后保持菜单可展开、当前页面可定位、键盘焦点可见。
201
+
202
+ ### 2.3 页面标题与操作
203
+
204
+ 标题说明当前页面任务,主操作靠近作用对象,辅助操作保持清楚的层级。标题、说明、操作、筛选和状态摘要按首屏任务排列,不复制示例标题、指标或标签。
205
+
206
+ ### 2.4 布局和移动端
207
+
208
+ 根据阅读顺序、操作频率、内容宽度和增长方式确定单列、多列、侧栏或分区。窄屏按阅读与操作顺序重排,工具栏允许换行,宽表格提供横向滚动,抽屉和表单入口保留明确返回路径。
209
+
210
+ ### 2.5 自定义页面设计
211
+
212
+ 自定义页面按 PRD 组织标题与操作区、状态摘要、筛选、主要内容、上下文信息和反馈区;列表、表格、图表、详情抽屉和表单入口只在业务需要时出现。每个自定义页面逐页写清页面任务、首屏焦点、布局、表面与组件、主操作、状态、响应式和验收。
213
+
214
+ ## 3. 基础组件表达
215
+
216
+ ### 自定义页面组件与交互
217
+
218
+ 页面标题、筛选、主操作、状态摘要、列表、表格、图表、详情抽屉和表单入口按真实任务组合。默认、hover、active、focus、loading、empty、error、disabled 和 selected 状态使用同一套表面、边界、文字与状态语义,并为键盘焦点、纯图标按钮、非颜色状态表达和 reduced motion 提供可执行规则。
219
+
220
+ `YidaCodeCanvas` 页面在 `YidaComp` 内消费已声明的应用主题 token。页面局部 CSS 只负责当前组件的布局和特色表达;应用全局样式统一作用于应用框架、表单、详情页和自定义页面等。
221
+
222
+ ### 表单组件与版式结构
223
+
224
+ 表单支持在顶部、左侧、主体、右侧和字段之间组合 Tab/切换、按钮组/操作入口、图片/图形、状态区、标题与 Divider、分栏、辅助内容和字段。各组件分别承担导航、操作、视觉焦点、反馈、层级、节奏、装饰或采集作用。普通业务分组和章节分隔使用 Divider,横向字段组合使用 ColumnContainer。表单延续应用全局字体、色彩、表面、边界、圆角、密度和状态。
225
+
226
+ ### 组件状态与详情延续
227
+
228
+ 输入、按钮、选择、表格和浮层使用已确定的尺寸、边界、表面和文字角色。错误、警告、禁用和只读使用独立语义;详情页保持与编辑表单相同的章节顺序、信息层级和响应式规则。详情页只读字段的数据框使用 --pod-field-preview-bg-color、--pod-field-preview-border-radius、--pod-field-preview-shadow、--pod-field-preview-indicator-color、--pod-field-preview-text-color、--form-element-medium-font-size、--pod-field-preview-gap、--pod-field-preview-line-height、--pod-field-preview-min-height 和 --pod-field-preview-padding,并与表单控件、卡片和页面画布使用同一套设计值。
229
+
230
+ ## 4. 特色表达配方
231
+
232
+ 由真实任务确定表单与页面的组件区域、章节、图表和记录集合。左侧栏可组合 Tab、按钮、图片或其他表单组件。每个指标、组件和装饰文案都服务于具体业务,并写清启用条件与窄屏处理。
233
+
234
+ ## 5. 项目应用与调整规则
235
+
236
+ 每个实际自定义页面逐页写清页面任务、首屏焦点、布局、表面与组件、主操作、状态、响应式和验收。表单额外写清顶部、左侧、主体、右侧和字段之间使用的组件、各组件作用、列比例、标签位置、字段与章节间距、底栏、详情延续和窄屏重排。form-layout.json 提供字段与分栏的初始结构;编辑已有表单时保留现有组件。交付时核对实际页面、表单与 design.md。
237
+
238
+ {{PAGE_APPLICATIONS}}
@@ -0,0 +1,13 @@
1
+ [
2
+ {
3
+ "type": "ColumnContainer",
4
+ "layout": "12",
5
+ "columnGap": "20px",
6
+ "rowGap": "20px",
7
+ "display": "VERTICAL",
8
+ "mobileRowGap": "20px",
9
+ "children": [
10
+ []
11
+ ]
12
+ }
13
+ ]