openyida 2026.9.21 → 2026.9.22-beta.2

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 (334) hide show
  1. package/README.md +14 -20
  2. package/bin/yida.js +6 -11
  3. package/lib/app/app-list.js +3 -7
  4. package/lib/app/canvas-compile.js +12 -22
  5. package/lib/app/check-prd-completeness.js +0 -7
  6. package/lib/app/create-app.js +1 -4
  7. package/lib/app/create-form/args.js +12 -37
  8. package/lib/app/create-form/batch.js +11 -86
  9. package/lib/app/create-form.js +86 -193
  10. package/lib/app/create-page.js +17 -84
  11. package/lib/app/custom-theme.js +0 -11
  12. package/lib/app/form-field-validator.js +41 -26
  13. package/lib/app/form-open-guard.js +10 -97
  14. package/lib/app/get-form-config.js +0 -1
  15. package/lib/app/inline-css-guard.js +31 -1
  16. package/lib/app/services/form-compiler.js +4 -2
  17. package/lib/app/theme-from-design.js +41 -144
  18. package/lib/app/theme-presets.js +1 -1
  19. package/lib/app/update-app.js +13 -63
  20. package/lib/asset/ai-image.js +9 -59
  21. package/lib/asset/asset-cmd.js +7 -18
  22. package/lib/asset/asset-plan.js +9 -102
  23. package/lib/asset/asset-resolve.js +10 -55
  24. package/lib/asset/asset-status.js +4 -5
  25. package/lib/asset/host-capabilities.js +2 -11
  26. package/lib/asset/url-verify.js +4 -19
  27. package/lib/auth/dws-sync.js +148 -0
  28. package/lib/auth/token-auth.js +73 -9
  29. package/lib/auth/token-store.js +50 -0
  30. package/lib/connector/connector-test.js +5 -19
  31. package/lib/connector/contract.js +1 -3
  32. package/lib/core/agent-capabilities.js +16 -19
  33. package/lib/core/command-manifest.js +40 -329
  34. package/lib/core/locales/en.js +17 -74
  35. package/lib/core/locales/zh.js +16 -73
  36. package/lib/core/redact.js +10 -15
  37. package/lib/core/sample.js +30 -72
  38. package/lib/core/utils.js +4 -0
  39. package/lib/design-plan/design-plan.js +4 -51
  40. package/lib/design-plan/init.js +26 -121
  41. package/lib/design-plan/materialize.js +348 -451
  42. package/lib/design-plan/normalize.js +29 -74
  43. package/lib/design-plan/parallel.js +16 -71
  44. package/lib/design-plan/patch.js +16 -63
  45. package/lib/design-plan/preview.js +8 -6
  46. package/lib/design-plan/validate.js +11 -71
  47. package/lib/process/create-process.js +50 -84
  48. package/lib/samples/openyida-scaffold/canvas-form-drawer.canvas.jsx +90 -20
  49. package/lib/samples/openyida-scaffold/canvas-nav/content.jsx +13 -93
  50. package/lib/samples/openyida-scaffold/canvas-nav/data.jsx +18 -100
  51. package/lib/samples/openyida-scaffold/canvas-nav/mixed.jsx +4 -6
  52. package/lib/samples/openyida-scaffold/canvas-nav/shared.jsx +5 -5
  53. package/lib/samples/openyida-scaffold/canvas-nav/side.jsx +2 -1
  54. package/lib/samples/openyida-scaffold/canvas-nav/sidebar.jsx +1 -1
  55. package/lib/samples/openyida-scaffold/canvas-nav/top.jsx +9 -15
  56. package/lib/samples/yida-canvas-table-form/table-form-batch-submit.canvas.jsx +83 -9
  57. package/lib/samples/yida-rechart/trend-combo.canvas.jsx +87 -14
  58. package/package.json +1 -3
  59. package/scripts/postinstall.js +3 -3
  60. package/yida-skills/SKILL.md +16 -19
  61. package/yida-skills/references/official-example-schema-patterns.md +1 -1
  62. package/yida-skills/references/yida-api.md +0 -4
  63. package/yida-skills/skills/yida-app/SKILL.md +23 -46
  64. package/yida-skills/skills/yida-app/workflow/parallel-work.md +6 -15
  65. package/yida-skills/skills/yida-app/workflow/plan/step-1-understand.md +1 -1
  66. package/yida-skills/skills/yida-app/workflow/plan/step-2-confirm.md +1 -1
  67. package/yida-skills/skills/yida-app/workflow/plan/step-4-deliver.md +15 -29
  68. package/yida-skills/skills/yida-app/workflow/plan/workflow.md +11 -29
  69. package/yida-skills/skills/yida-app/workflow/step-1-resource-context.md +2 -4
  70. package/yida-skills/skills/yida-app/workflow/step-2-design.md +9 -23
  71. package/yida-skills/skills/yida-app/workflow/step-3-create-or-reuse-app.md +4 -6
  72. package/yida-skills/skills/yida-app/workflow/step-4-forms-processes.md +4 -15
  73. package/yida-skills/skills/yida-app/workflow/step-6-main-page.md +4 -6
  74. package/yida-skills/skills/yida-app/workflow/step-7-page-code.md +9 -15
  75. package/yida-skills/skills/yida-app/workflow/step-8-publish-navigation.md +11 -25
  76. package/yida-skills/skills/yida-app/workflow/step-9-output-finish.md +28 -68
  77. package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +43 -42
  78. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-style-implementation-guide.md +44 -60
  79. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-theme-provider.md +50 -72
  80. package/yida-skills/skills/yida-canvas-custom-page/references/component-library-guide.md +1 -13
  81. package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +1 -140
  82. package/yida-skills/skills/yida-canvas-custom-page/references/navigation-and-entry-guide.md +72 -101
  83. package/yida-skills/skills/yida-canvas-custom-page/references/page-generation-guide.md +32 -35
  84. package/yida-skills/skills/yida-canvas-custom-page/scripts/build-canvas-theme.js +3 -29
  85. package/yida-skills/skills/yida-canvas-custom-page/scripts/canvas-theme-provider.template.jsx +6 -69
  86. package/yida-skills/skills/yida-canvas-data-binding/SKILL.md +0 -26
  87. package/yida-skills/skills/yida-create-app/SKILL.md +0 -2
  88. package/yida-skills/skills/yida-create-form-page/SKILL.md +58 -72
  89. package/yida-skills/skills/yida-create-form-page/references/advanced-form-modes.md +5 -5
  90. package/yida-skills/skills/yida-create-form-page/references/association-form-field.md +4 -4
  91. package/yida-skills/skills/yida-create-form-page/references/batch-forms.md +5 -6
  92. package/yida-skills/skills/yida-create-form-page/references/field-definition-guide.md +19 -7
  93. package/yida-skills/skills/yida-create-form-page/references/form-field-properties.md +44 -62
  94. package/yida-skills/skills/yida-create-page/SKILL.md +6 -14
  95. package/yida-skills/skills/yida-create-process/SKILL.md +2 -13
  96. package/yida-skills/skills/yida-custom-page/SKILL.md +0 -2
  97. package/yida-skills/skills/yida-custom-page/references/design-system.md +1 -1
  98. package/yida-skills/skills/yida-dashboard/SKILL.md +4 -5
  99. package/yida-skills/skills/yida-data-management/SKILL.md +2 -4
  100. package/yida-skills/skills/yida-data-management/references/data-format-guide.md +4 -4
  101. package/yida-skills/skills/yida-design/SKILL.md +14 -29
  102. package/yida-skills/skills/yida-design/references/app/blueprint.md +70 -0
  103. package/yida-skills/skills/yida-design/references/app/navigation-patterns.md +43 -0
  104. package/yida-skills/skills/yida-design/references/app/role-journey.md +30 -0
  105. package/yida-skills/skills/yida-design/references/ask-human-interaction-contract.md +42 -67
  106. package/yida-skills/skills/yida-design/references/asset-workflow.md +2 -6
  107. package/yida-skills/skills/yida-design/references/design-mode.md +4 -4
  108. package/yida-skills/skills/yida-design/references/page-quality-gates.md +38 -26
  109. package/yida-skills/skills/yida-design/references/style-design-selection.md +137 -0
  110. package/yida-skills/skills/yida-design/references/style-designs/_design-md-template.md +185 -0
  111. package/yida-skills/skills/yida-design/references/style-designs/aqua-service-progress-dashboard.md +242 -0
  112. package/yida-skills/skills/yida-design/references/style-designs/blue-insight-operations-dashboard.md +243 -0
  113. package/yida-skills/skills/yida-design/references/style-designs/blue-productivity-insight-workbench.md +242 -0
  114. package/yida-skills/skills/yida-design/references/style-designs/command-filter-card-console.md +304 -0
  115. package/yida-skills/skills/yida-design/references/style-designs/contrast-command-analytics-workbench.md +261 -0
  116. package/yida-skills/skills/yida-design/references/style-designs/dark-stage-analytic-dashboard.md +369 -0
  117. package/yida-skills/skills/yida-design/references/style-designs/filterable-card-catalog.md +354 -0
  118. package/yida-skills/skills/yida-design/references/style-designs/green-timeline-progress-workbench.md +250 -0
  119. package/yida-skills/skills/yida-design/references/style-designs/registry.md +117 -0
  120. package/yida-skills/skills/yida-design/references/style-designs/soft-analytic-workbench.md +348 -0
  121. package/yida-skills/skills/yida-design/references/style-designs/soft-blue-grid-analytic-dashboard.md +658 -0
  122. package/yida-skills/skills/yida-design/references/style-designs/soft-bordered-analytic-workbench.md +385 -0
  123. package/yida-skills/skills/yida-design/references/style-designs/soft-curated-filter-gallery.md +300 -0
  124. package/yida-skills/skills/yida-design/references/style-designs/soft-modular-analytic-workbench.md +404 -0
  125. package/yida-skills/skills/yida-design/references/style-designs/soft-progress-analytics-workbench.md +382 -0
  126. package/yida-skills/skills/yida-design/references/style-designs/soft-timeline-analytics-workbench.md +367 -0
  127. package/yida-skills/skills/yida-design/references/style-designs/teal-rail-analytics-workbench.md +341 -0
  128. package/yida-skills/skills/yida-design/references/theme/app-custom-theme-template.css +432 -350
  129. package/yida-skills/skills/yida-design/references/visual-decision-engine.md +143 -19
  130. package/yida-skills/skills/yida-design/references/visual-scaffold-recipes.md +27 -15
  131. package/yida-skills/skills/yida-design/sub_skill/page-design/SKILL.md +0 -4
  132. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/SKILL.md +8 -22
  133. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/assets/README.md +10 -14
  134. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/assets/build-plan-template.html +4 -9
  135. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-compact-schema.md +27 -49
  136. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-schema.md +154 -33
  137. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-design.md +127 -48
  138. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-theme-selection.md +51 -37
  139. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/render_build_plan.py +48 -43
  140. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/validate_design_themes.py +190 -0
  141. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/README.md +98 -0
  142. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-media-grid.md +339 -0
  143. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-modular-clarity.md +348 -0
  144. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-structured-clarity.md +344 -0
  145. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ambient-halo-layered.md +345 -0
  146. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-focus-layered.md +355 -0
  147. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-luminous-modular.md +377 -0
  148. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/deep-stage-duotone.md +352 -0
  149. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/hairline-runway-clarity.md +389 -0
  150. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/high-contrast-modular.md +364 -0
  151. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/index.json +329 -0
  152. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/interlocked-vivid-modules.md +348 -0
  153. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/matrix-grid-focus.md +345 -0
  154. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/media-rail-inspector.md +379 -0
  155. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mist-layered-signal.md +347 -0
  156. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/modular-rail-signal.md +352 -0
  157. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mono-grid-signal.md +386 -0
  158. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ribbon-ledger-lift.md +384 -0
  159. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/segmented-meter-clarity.md +388 -0
  160. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/split-rail-precision.md +341 -0
  161. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/status-framed-media-grid.md +361 -0
  162. package/yida-skills/skills/yida-design/workflow/output-design.md +375 -117
  163. package/yida-skills/skills/yida-design/workflow/output-prd.md +185 -0
  164. package/yida-skills/skills/yida-design/workflow/step-1-read-brief.md +1 -1
  165. package/yida-skills/skills/yida-design/workflow/step-2-theme-system.md +29 -33
  166. package/yida-skills/skills/yida-design/workflow/step-4-wireframe-interaction.md +1 -3
  167. package/yida-skills/skills/yida-design/workflow/step-5-visual-states.md +106 -22
  168. package/yida-skills/skills/yida-design/workflow/step-6-handoff.md +22 -15
  169. package/yida-skills/skills/yida-form-permission/SKILL.md +0 -6
  170. package/yida-skills/skills/yida-image-assets/SKILL.md +50 -73
  171. package/yida-skills/skills/yida-image-assets/references/manifest-contract.md +52 -82
  172. package/yida-skills/skills/yida-image-assets/references/source-policy.md +15 -14
  173. package/yida-skills/skills/yida-integration/SKILL.md +0 -1
  174. package/yida-skills/skills/yida-login/SKILL.md +0 -2
  175. package/yida-skills/skills/yida-nav-group/SKILL.md +2 -4
  176. package/yida-skills/skills/yida-nav-shell/SKILL.md +12 -36
  177. package/yida-skills/skills/yida-nav-shell/references/nav-shell-patterns.md +136 -79
  178. package/yida-skills/skills/yida-page-config/SKILL.md +4 -13
  179. package/yida-skills/skills/yida-prd/SKILL.md +3 -5
  180. package/yida-skills/skills/yida-prd/references/app/blueprint.md +4 -4
  181. package/yida-skills/skills/yida-prd/references/app/navigation-patterns.md +3 -6
  182. package/yida-skills/skills/yida-prd/references/app/role-journey.md +3 -5
  183. package/yida-skills/skills/yida-prd/references/plan-content.md +0 -4
  184. package/yida-skills/skills/yida-prd/workflow/output-prd.md +11 -18
  185. package/yida-skills/skills/yida-prd/workflow/plan-business.md +4 -4
  186. package/yida-skills/skills/yida-prd/workflow/step-2-information-architecture.md +8 -11
  187. package/yida-skills/skills/yida-publish-page/SKILL.md +1 -9
  188. package/yida-skills/skills/yida-requirement-analysis/SKILL.md +39 -10
  189. package/yida-skills/skills/yida-requirement-analysis/workflow/prepare-brief.md +71 -40
  190. package/yida-skills/skills-index.json +16 -36
  191. package/lib/app/application-entry-urls.js +0 -31
  192. package/lib/app/application-style.js +0 -69
  193. package/lib/app/canvas-icon-exports.json +0 -6160
  194. package/lib/app/canvas-icon-guard.js +0 -87
  195. package/lib/app/canvas-navigation-guard.js +0 -84
  196. package/lib/app/canvas-path-guard.js +0 -78
  197. package/lib/app/canvas-theme-guard.js +0 -184
  198. package/lib/app/form-data-response-guard.js +0 -57
  199. package/lib/asset/asset-execution.js +0 -79
  200. package/lib/core/css-structure.js +0 -37
  201. package/lib/design/check-design.js +0 -51
  202. package/lib/design/document.js +0 -458
  203. package/lib/design/icon-contrast.js +0 -85
  204. package/lib/design/page-content.js +0 -11
  205. package/lib/design-plan/artifact-updates.js +0 -117
  206. package/lib/design-plan/confirmation.js +0 -13
  207. package/lib/design-plan/entry-navigation.js +0 -97
  208. package/lib/design-plan/navigation-policy.js +0 -38
  209. package/lib/design-plan/rebase.js +0 -60
  210. package/lib/design-plan/themes.js +0 -101
  211. package/lib/design-plan/visual-policy.js +0 -42
  212. package/lib/samples/openyida-scaffold/canvas-admin-entry.jsx +0 -62
  213. package/lib/samples/openyida-scaffold/canvas-navigation.jsx +0 -56
  214. package/lib/samples/openyida-scaffold/canvas-view-state.jsx +0 -74
  215. package/yida-skills/skills/yida-app/references/entry-navigation.md +0 -193
  216. package/yida-skills/skills/yida-canvas-custom-page/references/view-state-recovery.md +0 -52
  217. package/yida-skills/skills/yida-canvas-data-binding/references/business-action-permissions.md +0 -31
  218. package/yida-skills/skills/yida-design/references/application-style-library.md +0 -93
  219. package/yida-skills/skills/yida-design/references/application-theme-consistency.md +0 -150
  220. package/yida-skills/skills/yida-design/references/native-form-styles.md +0 -208
  221. package/yida-skills/skills/yida-design/references/navigation-decision.md +0 -53
  222. package/yida-skills/skills/yida-design/references/page-continuity.md +0 -42
  223. package/yida-skills/skills/yida-design/references/theme/application-style-recipes.css +0 -58
  224. package/yida-skills/skills/yida-design/references/theme-selection.md +0 -67
  225. package/yida-skills/skills/yida-design/scripts/validate_design_themes.py +0 -302
  226. package/yida-skills/skills/yida-design/templates/application-styles.json +0 -398
  227. package/yida-skills/skills/yida-design/templates/design-themes/README.md +0 -73
  228. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/app_theme.css +0 -748
  229. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/design.md +0 -274
  230. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/form-layout.json +0 -15
  231. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/app_theme.css +0 -748
  232. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/design.md +0 -274
  233. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/form-layout.json +0 -14
  234. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/app_theme.css +0 -748
  235. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/design.md +0 -274
  236. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/form-layout.json +0 -13
  237. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/app_theme.css +0 -748
  238. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/design.md +0 -274
  239. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/form-layout.json +0 -14
  240. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/app_theme.css +0 -748
  241. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/design.md +0 -274
  242. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/form-layout.json +0 -14
  243. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/app_theme.css +0 -748
  244. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/design.md +0 -274
  245. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/form-layout.json +0 -14
  246. package/yida-skills/skills/yida-design/templates/design-themes/app-line/app_theme.css +0 -748
  247. package/yida-skills/skills/yida-design/templates/design-themes/app-line/design.md +0 -274
  248. package/yida-skills/skills/yida-design/templates/design-themes/app-line/form-layout.json +0 -13
  249. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/app_theme.css +0 -748
  250. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/design.md +0 -274
  251. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/form-layout.json +0 -14
  252. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/app_theme.css +0 -754
  253. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/design.md +0 -279
  254. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/form-layout.json +0 -13
  255. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/app_theme.css +0 -748
  256. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/design.md +0 -274
  257. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/form-layout.json +0 -13
  258. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/app_theme.css +0 -748
  259. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/design.md +0 -274
  260. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/form-layout.json +0 -14
  261. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/app_theme.css +0 -748
  262. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/design.md +0 -274
  263. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/form-layout.json +0 -14
  264. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/app_theme.css +0 -758
  265. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/design.md +0 -281
  266. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/form-layout.json +0 -14
  267. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/app_theme.css +0 -748
  268. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/design.md +0 -274
  269. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/form-layout.json +0 -14
  270. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/app_theme.css +0 -748
  271. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/design.md +0 -274
  272. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/form-layout.json +0 -14
  273. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/app_theme.css +0 -754
  274. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/design.md +0 -279
  275. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/form-layout.json +0 -14
  276. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/app_theme.css +0 -752
  277. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/design.md +0 -278
  278. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/form-layout.json +0 -13
  279. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/app_theme.css +0 -748
  280. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/design.md +0 -274
  281. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/form-layout.json +0 -14
  282. package/yida-skills/skills/yida-design/templates/design-themes/basic-tokens.json +0 -118
  283. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/app_theme.css +0 -690
  284. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/design.md +0 -382
  285. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/form-layout.json +0 -13
  286. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/app_theme.css +0 -691
  287. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/design.md +0 -380
  288. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/form-layout.json +0 -13
  289. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/app_theme.css +0 -696
  290. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/design.md +0 -378
  291. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/form-layout.json +0 -13
  292. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/app_theme.css +0 -689
  293. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/design.md +0 -238
  294. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/form-layout.json +0 -13
  295. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/app_theme.css +0 -692
  296. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/design.md +0 -375
  297. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/form-layout.json +0 -13
  298. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/app_theme.css +0 -691
  299. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/design.md +0 -362
  300. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/form-layout.json +0 -13
  301. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/app_theme.css +0 -691
  302. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/design.md +0 -409
  303. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/form-layout.json +0 -13
  304. package/yida-skills/skills/yida-design/templates/design-themes/index.json +0 -464
  305. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/app_theme.css +0 -701
  306. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/design.md +0 -379
  307. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/form-layout.json +0 -13
  308. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/app_theme.css +0 -691
  309. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/design.md +0 -404
  310. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/form-layout.json +0 -13
  311. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/app_theme.css +0 -698
  312. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/design.md +0 -389
  313. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/form-layout.json +0 -13
  314. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/app_theme.css +0 -691
  315. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/design.md +0 -372
  316. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/form-layout.json +0 -13
  317. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/app_theme.css +0 -690
  318. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/design.md +0 -455
  319. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/form-layout.json +0 -13
  320. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/app_theme.css +0 -698
  321. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/design.md +0 -394
  322. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/form-layout.json +0 -13
  323. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/app_theme.css +0 -692
  324. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/design.md +0 -391
  325. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/form-layout.json +0 -13
  326. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/app_theme.css +0 -711
  327. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/design.md +0 -408
  328. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/form-layout.json +0 -13
  329. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/app_theme.css +0 -692
  330. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/design.md +0 -383
  331. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/form-layout.json +0 -13
  332. package/yida-skills/skills/yida-design/templates/navigation-styles.json +0 -769
  333. package/yida-skills/skills/yida-requirement-analysis/references/experience-groups.md +0 -79
  334. package/yida-skills/skills/yida-requirement-analysis/references/handoff.md +0 -68
@@ -0,0 +1,341 @@
1
+ ---
2
+ version: alpha
3
+ template_type: visual_dna_preset
4
+ name: teal-rail-analytics-workbench
5
+ design_id: teal-rail-analytics-workbench
6
+ design_status: draft
7
+ description: 可被流程选择和换色的双栏数据工作台视觉 DNA 风格,适合高密度摘要、分析图表、右侧洞察栏和明细列表组合界面。
8
+ scenes: [工作台, 首页, 仪表盘, 管理后台, 列表管理页]
9
+ density: medium-high
10
+ layout: split_main_with_right_insight_rail
11
+ tone: [清爽, 专业, 数据化, 精致, 克制]
12
+ tags: [双栏工作台, 右侧洞察栏, 图表列表组合, 青绿强调, 高密度信息]
13
+ avoid: [营销落地页, 品牌叙事页, 沉浸式大屏, 强插画页面, 纯表单流程页]
14
+ selection:
15
+ best_for: [数据总览页, 运营工作台, 管理后台首页, 分析列表页, 状态追踪页]
16
+ user_intent: [快速扫描状态, 比较多组摘要, 查看趋势, 管理明细记录, 追踪排行或洞察]
17
+ visual_tone: [白底, 右侧信息栏, 青绿强调, 深墨对比, 卡片化, 高品质数据纹理]
18
+ avoid_for: [强品牌转化, 大屏展示, 内容阅读, 低信息密度展示, 情绪化活动传播]
19
+ policies:
20
+ prd_first: true
21
+ content_neutral: true
22
+ no_source_locked_content: true
23
+ quick_actions_rendered_by_prd: true
24
+ theme_can_change_hue_not_dna: true
25
+ visual_dna:
26
+ - id: split_main_with_right_insight_rail
27
+ name: 左宽主工作区 + 右侧洞察栏
28
+ confidence: observed
29
+ hooks: [page_shell, main_workspace, right_insight_rail, vertical_divider, stacked_side_sections]
30
+ invariant: [wide_main_area, persistent_right_rail, vertical_section_boundary, scan_from_summary_to_detail]
31
+ variable: [module_count, rail_section_count, content_type, business_content]
32
+ - id: airy_bordered_card_grid
33
+ name: 通透白底细边框卡片网格
34
+ confidence: observed
35
+ hooks: [summary_cards, bordered_panels, low_shadow, white_canvas, rounded_14_18]
36
+ invariant: [white_canvas, subtle_borders, restrained_shadow, generous_inner_padding, quiet_card_surfaces]
37
+ variable: [card_labels, card_values, card_count, accent_hue]
38
+ - id: dual_tone_data_texture
39
+ name: 深墨 + 主题强调色的数据纹理
40
+ confidence: observed
41
+ hooks: [bar_mini_chart, progress_bar, line_chart, status_dot, tab_badge, icon_accent]
42
+ invariant: [dark_ink_contrast, small_area_accent, light_gray_tracks, chart_as_primary_color_carrier]
43
+ variable: [brand_hue, deep_accent_hue, chart_series_hues, status_palette]
44
+ - id: layered_chart_analytics_panel
45
+ name: 分层图表分析面板
46
+ confidence: observed
47
+ hooks: [large_chart_panel, ghost_bars, highlighted_series, floating_tooltip, segmented_control, axis_ticks]
48
+ invariant: [large_fixed_chart_area, pale_chart_context, one_or_two_highlighted_series, floating_detail_cards]
49
+ variable: [chart_type, time_granularity, highlighted_data, label_content]
50
+ - id: tabbed_toolbar_detail_table
51
+ name: 标签筛选 + 轻工具栏 + 图标化明细表
52
+ confidence: observed
53
+ hooks: [tab_strip, active_tab_underline, count_badge, search_icon_button, filter_button, primary_light_action, progress_cell, rating_or_score_cell, row_menu]
54
+ invariant: [horizontal_tab_filter, compact_toolbar_actions, rounded_table_header, stable_rows, iconized_row_actions]
55
+ variable: [tab_count, table_columns, row_content, action_set]
56
+ theme_adaptation:
57
+ accepts_theme_color: true
58
+ strategy: replace_hue_preserve_visual_mechanism
59
+ input: theme_color
60
+ replace_tokens: [tokens.colors.brand, tokens.colors.brand-soft, tokens.colors.focus-ring]
61
+ derive_tokens: [tokens.colors.deep-accent, tokens.colors.brand-track, tokens.colors.warning, tokens.colors.info, tokens.colors.badge-bg]
62
+ preserve_tokens: [tokens.colors.bg-page, tokens.colors.surface, tokens.colors.surface-muted, tokens.colors.text-primary, tokens.colors.text-secondary, tokens.colors.text-tertiary, tokens.colors.border-subtle, tokens.colors.border-muted]
63
+ rules:
64
+ - theme_color_only_changes_accent_hue
65
+ - keep_deep_accent_as_dark_readable_counterpart
66
+ - do_not_tint_page_background
67
+ - do_not_turn_white_cards_into_colored_cards
68
+ - keep_accent_usage_small_area
69
+ - keep_charts_progress_tabs_and_badges_as_primary_color_carriers
70
+ tokens:
71
+ colors:
72
+ bg-page: "#FFFFFF"
73
+ surface: "#FFFFFF"
74
+ surface-muted: "#F8F9FA"
75
+ surface-soft: "#FBFCFC"
76
+ text-primary: "#0C2A3A"
77
+ text-secondary: "#7A7F86"
78
+ text-tertiary: "#B0B4B9"
79
+ border-subtle: "#ECEFF1"
80
+ border-muted: "#F2F3F4"
81
+ brand: "#0F9A9B"
82
+ brand-soft: "#E8F7F7"
83
+ brand-track: "#EAF1F1"
84
+ deep-accent: "#082C3D"
85
+ warning: "#FFAA1B"
86
+ danger: "#E85B5B"
87
+ info: "#6D77FF"
88
+ badge-bg: "#EAF7FF"
89
+ focus-ring: "#45B7B7"
90
+ typography:
91
+ fontFamily: "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
92
+ page-title: { fontSize: 28, fontWeight: 700, lineHeight: 1.2, letterSpacing: 0 }
93
+ breadcrumb: { fontSize: 18, fontWeight: 400, lineHeight: 1.35, letterSpacing: 0 }
94
+ section-title: { fontSize: 22, fontWeight: 700, lineHeight: 1.25, letterSpacing: 0 }
95
+ card-label: { fontSize: 20, fontWeight: 500, lineHeight: 1.35, letterSpacing: 0 }
96
+ metric-value: { fontSize: 34, fontWeight: 700, lineHeight: 1.1, letterSpacing: 0 }
97
+ body: { fontSize: 16, fontWeight: 500, lineHeight: 1.45, letterSpacing: 0 }
98
+ caption: { fontSize: 14, fontWeight: 400, lineHeight: 1.4, letterSpacing: 0 }
99
+ spacing:
100
+ page-x-desktop: 42
101
+ page-y-desktop: 34
102
+ page-x-mobile: 18
103
+ grid-gap: 28
104
+ rail-gap: 28
105
+ card-gap: 26
106
+ card-x: 28
107
+ card-y: 24
108
+ panel-x: 30
109
+ panel-y: 28
110
+ rounded:
111
+ sm: 8
112
+ md: 12
113
+ control: 16
114
+ card: 16
115
+ panel: 18
116
+ pill: 999
117
+ shadow:
118
+ panel: "0 8px 24px rgba(8, 44, 61, 0.035)"
119
+ floating: "0 14px 36px rgba(8, 44, 61, 0.10)"
120
+ layout_stability:
121
+ grid_align_items: stretch
122
+ panel_display: flex-column
123
+ panel_height: "100%"
124
+ overflow_policy: internal_scroll_or_truncate
125
+ spacing_policy: parent_gap_only
126
+ equal_height_rule: same_row_panels_align
127
+ fixed_height_tokens:
128
+ summary_card: 146px
129
+ compact_stat_card: 250px
130
+ main_chart_panel: 440px
131
+ right_rail_section: 300px
132
+ tab_bar: 84px
133
+ detail_toolbar: 68px
134
+ table_header: 58px
135
+ table_row: 96px
136
+ quality_anchors:
137
+ - id: four_card_status_strip
138
+ name: 顶部四卡摘要状态条
139
+ required_when: PRD 包含多个核心状态、摘要或待处理分类
140
+ rule: 使用一行 4 个等高白底细边框摘要卡,标签弱化、主数值强层级,允许单个标签使用当前主题强调色或警示色,但卡片底色保持白色。
141
+ - id: persistent_right_insight_rail
142
+ name: 持续可见的右侧洞察栏
143
+ required_when: PRD 包含排行、关键对象、状态摘要、趋势小图或辅助洞察
144
+ rule: 右侧使用独立栏位与主区用竖线分隔,内部纵向堆叠卡片、小图、排行项和轻操作链接,保持稳定宽度和统一分割线。
145
+ - id: layered_bar_chart_panel
146
+ name: 分层柱状图分析面板
147
+ required_when: PRD 包含月份、阶段、进度、转化或分组比较数据
148
+ rule: 使用浅灰背景柱作为上下文,当前主题色和深墨色突出选中组,叠加白底 tooltip 小卡和顶部粒度切换控件。
149
+ - id: soft_tabbed_detail_table
150
+ name: 细线标签筛选与圆角明细表
151
+ required_when: PRD 包含状态筛选和记录列表
152
+ rule: 使用横向 tab,选中项有细顶部线或下划线和小型数量徽标;表格表头浅灰,行高稳定,进度/评分/状态使用图形化单元格。
153
+ - id: avatar_badge_rank_items
154
+ name: 图标头像式排行条目
155
+ required_when: PRD 包含排行、推荐、重点对象或侧栏列表
156
+ rule: 条目左侧使用圆形头像或抽象图标容器,右侧使用标题、弱说明、短数值和状态徽章,行间用细分割线分隔。
157
+ quality_floor:
158
+ target: polished_sample_level
159
+ avoid_default_admin_feel: true
160
+ requires_visible_micro_detail: true
161
+ minimum_craft_signals: [right_rail_boundary, four_card_status_strip, subtle_bordered_cards, layered_chart_tooltip, tab_active_indicator, rounded_table_header, iconized_row_actions]
162
+ components:
163
+ summary_card: { backgroundRef: tokens.colors.surface, borderRef: tokens.colors.border-subtle, roundedRef: tokens.rounded.panel }
164
+ panel: { backgroundRef: tokens.colors.surface, borderRef: tokens.colors.border-subtle, roundedRef: tokens.rounded.panel, shadowRef: tokens.shadow.panel }
165
+ input: { height: 46, roundedRef: tokens.rounded.control }
166
+ button: { height: 46, roundedRef: tokens.rounded.control }
167
+ tab: { height: 74, activeIndicator: top_or_bottom_line, badgeShape: pill }
168
+ table_row: { height: 96 }
169
+ progress: { trackRef: tokens.colors.brand-track, fillRef: tokens.colors.brand }
170
+ chart: { brandLineRef: tokens.colors.brand, deepLineRef: tokens.colors.deep-accent, gridRef: tokens.colors.border-muted }
171
+ modules:
172
+ quick_actions:
173
+ confidence: inferred
174
+ render_policy: prd_only
175
+ placement: independent_section_after_summary
176
+ item_count: 4-8
177
+ ---
178
+
179
+ # Teal Rail Analytics Workbench DESIGN.md
180
+
181
+ > front matter 是给流程和生成器读取的结构化配置;人工评审优先阅读下方正文。若两者冲突,风格选择、换色策略和 token 数值以前面的 YAML 为准,使用边界和业务取舍以正文为准。
182
+
183
+ ## 1. 快速理解
184
+
185
+ 这是一套双栏数据工作台视觉 DNA:左侧是宽主工作区,右侧是持续可见的洞察栏,中间用极细竖线建立结构边界。
186
+
187
+ 整体以白色画布、细边框卡片、大圆角面板、深墨文字和小面积主题强调色构成,适合需要同时看摘要、图表、排行、筛选和明细的高密度页面。
188
+
189
+ PRD 决定页面有哪些内容、功能和模块,DESIGN.md 只决定这些模块长什么样。
190
+
191
+ 流程可以用输入主题色重算强调色,但只能改变色相,不能改变左宽右栏、白底细边框、分层图表和图标化列表的视觉机制。
192
+
193
+ 生成结果必须达到精致数据工具的视觉品质,不能只是默认后台组件堆叠。
194
+
195
+ ## 2. 使用边界
196
+
197
+ PRD 是内容、功能、信息架构、业务优先级和模块是否存在的唯一来源。DESIGN.md 只负责 UI 风格:视觉 DNA、布局气质、组件形态、密度、状态、响应式和可访问性。
198
+
199
+ 当 PRD 与本文的槽位示例不一致时,以 PRD 为准。不要为了套用 `primary_metrics`、`right_insight_rail`、`ranked_items`、`detail_table` 或 `quick_actions` 而凭空创造业务内容;只需把 PRD 中真实存在的模块映射到最接近的视觉槽位。
200
+
201
+ 禁止复用风格来源中的业务名词、人名、指标名、示例数据和页面专属文案。所有业务内容必须来自 PRD。
202
+
203
+ ## 3. 设计风格选择与换色逻辑
204
+
205
+ 这个文件是视觉 DNA preset,不是一次性最终稿。上游流程应先根据用户场景、需求、信息密度、页面类型和主题色分析结果,判断是否选择本风格。
206
+
207
+ 适合选择本风格的信号:用户需要管理首页、数据总览、状态追踪、排行洞察、分析图表和明细列表共存。真正的 DNA 是左宽右栏、白底细边框卡片、深墨与主题强调色的数据纹理、分层图表和图标化明细,而不是默认青绿色本身。
208
+
209
+ 主题色改写时,只允许改写强调色相关 token,例如 `brand`、`brand-soft`、`focus-ring`、图表序列色、徽标色和进度条填充色。`deep-accent` 应从主题色派生为足够深、可读的对比色;如果主题色过浅,必须生成更深的同色系或近似墨色作为深色数据层。
210
+
211
+ 必须保留白色画布、浅灰表面、中性文字、浅边框、大圆角、右侧洞察栏和小面积强调的使用方式。不要把输入主题色铺满背景、指标卡或大面积面板。
212
+
213
+ ## 4. 视觉 DNA
214
+
215
+ ### 左宽主工作区 + 右侧洞察栏
216
+
217
+ 桌面端必须优先形成左侧主工作区和右侧洞察栏的结构。右栏不是浮动卡片,也不是普通侧边导航,而是用于承载排行、小型趋势、关键对象、状态摘要或辅助洞察的持续信息栏。PRD 不需要右栏时可以折叠为下方区块,但主辅层级和边界感必须保留。
218
+
219
+ ### 通透白底细边框卡片网格
220
+
221
+ 卡片、面板、摘要块都以白底、极淡边框和低阴影建立层级。卡片底色不被主题色污染,视觉品质依靠精确间距、圆角、数字层级和边框克制感,而不是彩色块。
222
+
223
+ ### 深墨 + 主题强调色的数据纹理
224
+
225
+ 默认强调色和深墨色用于数据可视化、进度、选中态、状态点和图标细节。流程输入主题色后,可以替换默认色相,但仍要保留“深色对比层 + 小面积亮强调 + 浅灰轨道”的数据纹理。
226
+
227
+ ### 分层图表分析面板
228
+
229
+ 主图表应有浅灰上下文层、少量高亮数据层、固定高度容器、轻坐标线、浮动 tooltip 和粒度切换控件。图表不能只是一张普通折线或普通柱状图,必须有前后层次与可读焦点。
230
+
231
+ ### 标签筛选 + 轻工具栏 + 图标化明细表
232
+
233
+ 明细区域应包含横向筛选标签、轻量搜索/筛选/主操作工具,以及带浅灰表头、图形化单元格和行操作的稳定列表。PRD 没有表格时,可以替换为同等密度的列表,但仍要保留标签筛选与轻工具栏语言。
234
+
235
+ ## 5. 视觉品质基线
236
+
237
+ 这个风格要求编码结果达到精致数据工作台的品质下限。只使用白底、卡片、表格还不够,必须保留足够的微观设计信号。
238
+
239
+ - 若 PRD 包含多个核心状态、摘要或分类,使用顶部四卡摘要状态条:一行等高白底卡片,标签弱、数值强,卡片之间间距稳定。
240
+ - 若 PRD 包含排行、重点对象、辅助摘要或小趋势,使用持续可见的右侧洞察栏:竖线分隔、独立宽度、纵向 section、轻操作链接和细分割线。
241
+ - 若 PRD 包含分组比较、时间序列或进度数据,使用分层图表面板:浅灰上下文柱/线、当前主题高亮、深色对比层、白底 tooltip。
242
+ - 若 PRD 包含记录列表,使用细线标签筛选和圆角明细表:选中 tab 有细线和数量徽标,表头浅灰,行高稳定,图形化单元格可扫读。
243
+ - 若 PRD 包含排行或侧栏列表,使用头像/图标式条目:圆形图标容器、标题、副说明、短数值和状态徽章组合。
244
+
245
+ 品质失败表现:页面只是普通白卡片、普通表头、普通按钮和普通表格的堆叠;没有右侧洞察栏边界、没有分层图表、没有标签筛选细节、没有图标化行和状态微纹理。
246
+
247
+ ## 6. 布局规则
248
+
249
+ 以下槽位是参考映射,不是业务结构要求。生成 UI 时先读 PRD,再选择、重命名、合并、省略或扩展槽位;PRD 没有的模块不要强行补,但必须保留视觉 DNA 和布局稳定性规则。
250
+
251
+ ```text
252
+ page_shell
253
+ main_workspace
254
+ page_header
255
+ page_identity
256
+ breadcrumb_or_context
257
+ primary_summary / primary_metrics
258
+ analytics_grid
259
+ compact_insight_column
260
+ primary_chart_panel
261
+ detail_section
262
+ tab_filter
263
+ detail_toolbar
264
+ detail_table / detail_list
265
+ right_insight_rail
266
+ spotlight_item
267
+ rail_metric_strip
268
+ compact_trend_panel
269
+ ranked_item_list
270
+ ```
271
+
272
+ 桌面端主布局使用两列:左侧 `main_workspace` 占约 68%-72%,右侧 `right_insight_rail` 占约 28%-32%,中间用 1px 浅边界区分。主工作区内部按摘要、分析、明细自上而下排列。
273
+
274
+ 布局稳定性是硬规则:主 grid 使用 `align-items: stretch`,同一行面板等高;面板使用 `height: 100%`、`min-width: 0`、`min-height: 0`、`display: flex`、`flex-direction: column`;长内容在内部滚动、截断或折叠;区块间距由父级 `gap` 管理。
275
+
276
+ 禁止瀑布流、自由高度卡片、无固定高度图表容器、长内容撑破父级和零散 margin 拼接布局。
277
+
278
+ ## 7. PRD 槽位映射
279
+
280
+ | PRD 内容类型 | 推荐视觉槽位 | 处理规则 |
281
+ | --- | --- | --- |
282
+ | 页面标题、路径、上下文说明 | `page_identity` / `breadcrumb_or_context` | 放在左上,标题强、路径弱,当前层级可加粗。 |
283
+ | 多个核心状态、摘要或分类 | `primary_summary` / `primary_metrics` | 使用顶部四卡摘要状态条;没有数字时用短摘要卡,不强造数值。 |
284
+ | 局部洞察、重点对象、小型排行 | `right_insight_rail` / `ranked_item_list` | 放入右侧栏;若 PRD 不需要右栏,可折叠为主区下方洞察 section。 |
285
+ | 趋势、比较、进度、阶段数据 | `primary_chart_panel` | 使用分层图表;没有图表数据时替换为同等品质主内容面板。 |
286
+ | 状态筛选、分类筛选 | `tab_filter` | 使用横向 tab,选中项有细线和可选数量徽标。 |
287
+ | 搜索、筛选、导出、新建等操作 | `detail_toolbar` / `global_actions` | 使用轻量图标按钮或圆角线框按钮,不做厚重工具栏。 |
288
+ | 记录、任务、资源、审批、消息 | `detail_table` / `detail_list` | 表格和列表由 PRD 数据形态决定,必须保留稳定行高和图形化状态单元格。 |
289
+ | 常用入口、快捷操作、快速发起 | `quick_actions` | 是否渲染由 PRD 决定;需要时使用独立区块,不塞进表格工具栏或右侧栏尾部。 |
290
+
291
+ ## 8. 组件规则
292
+
293
+ 组件的具体 token 以前面的 YAML 为准,使用时遵循这些原则:
294
+
295
+ - 摘要卡:白底、细边框、16-18px 圆角、主数值 32-36px,标签可用中性色,个别状态标签允许使用主题强调色或警示色。
296
+ - 面板:白底、细边框、轻阴影、18px 圆角;标题区和内容区分明,内容区允许内部滚动。
297
+ - 右侧栏:使用竖向 section,section 标题左侧强、右侧可放轻链接;列表项之间用细线分隔。
298
+ - 图表:当前主题强调色用于主数据层,深墨色用于第二强调层,浅灰用于上下文轨道和网格;tooltip 为白底浮层。
299
+ - 表格和列表:表头使用浅灰底,行高稳定;进度、评分、状态、趋势等单元格必须图形化,行尾操作使用图标按钮。
300
+ - 标签筛选:横向排列,选中项使用细线、深色文字和小型数量徽标;非选中项低对比。
301
+ - 输入和按钮:高度稳定,圆角一致;hover、active、focus、disabled、loading 状态必须完整。
302
+ - 快捷入口:若 PRD 需要,使用独立区块承载 4-8 个入口;线性图标、短标签、轻 hover,不做彩色宫格或插画入口。
303
+
304
+ ## 9. 响应式与可访问性
305
+
306
+ - `>= 1280px`:保留左主右栏,右栏宽度 28%-32%,主区和右栏独立滚动策略由页面需求决定。
307
+ - `960px - 1279px`:右栏可缩窄,内部图表和排行项减少辅助文本。
308
+ - `640px - 959px`:右栏下移为洞察 section;摘要卡 2 列,分析面板单列。
309
+ - `< 640px`:页面内边距 18px;tab 允许横向滚动;表格横向滚动或改列表;触控目标不小于 44px。
310
+
311
+ 所有纯图标控件必须有可访问标签。focus ring 必须可见。图表和状态不能只依赖颜色。动画控制在 120-180ms,并支持 `prefers-reduced-motion`。
312
+
313
+ ## 10. 禁止项
314
+
315
+ - 禁止从风格来源或 DESIGN.md 示例中复制具体业务字段、示例数据、人名、机构名、分类名称或页面专属文案。
316
+ - 禁止让 DESIGN.md 覆盖 PRD 的内容决策;PRD 没有的业务模块不要强行生成。
317
+ - 禁止把当前主题色铺满页面背景、摘要卡底色或大面积面板。
318
+ - 禁止把当前主题色误当成视觉 DNA;主题色只改色相,不改左宽右栏、白底细边框、分层图表和图标化列表机制。
319
+ - 禁止生成默认后台质感:普通白卡片堆叠、普通表格表头、无图标化行、无轻量数据纹理、无 hover/focus 状态。
320
+ - 禁止瀑布流、`align-items: start`、自由高度卡片和无固定高度图表容器。
321
+ - 禁止随机混用直角、小圆角、胶囊按钮和超大圆角。
322
+ - 禁止把快捷入口做成高饱和彩色宫格、超大插画入口或按钮墙。
323
+
324
+ ## 11. Agent 使用提示
325
+
326
+ 先读取 PRD,确定真实模块、内容优先级和数据形态;再使用流程已解析的主题色改写强调色 token;最后用本 DESIGN.md 约束视觉表达。不要硬套槽位,也不要凭空创造 PRD 未要求的业务内容。主题色可以替换默认色相,但内容替换和换色后仍必须保留五个视觉 DNA:`左宽主工作区 + 右侧洞察栏`、`通透白底细边框卡片网格`、`深墨 + 主题强调色的数据纹理`、`分层图表分析面板`、`标签筛选 + 轻工具栏 + 图标化明细表`。编码时必须达到视觉品质基线:四卡摘要状态条、右侧洞察栏、分层图表、圆角明细表、图标化排行条目和完整交互状态应按 PRD 条件尽量落地。
327
+
328
+ ## 12. 交付自检清单
329
+
330
+ - [ ] 输出文件名来自 front matter 的 `name`,当前文件名为 `teal-rail-analytics-workbench.md`。
331
+ - [ ] 内容、模块和业务优先级均来自 PRD,而不是 DESIGN.md 的示例槽位。
332
+ - [ ] PRD 没有的业务模块没有被强行生成。
333
+ - [ ] 左侧主工作区和右侧洞察栏的主辅结构清晰;移动端已合理折叠。
334
+ - [ ] 白色画布、细边框卡片、轻阴影和大圆角形成主要结构。
335
+ - [ ] 当前主题色只改写强调色和派生状态色,没有改变白底、浅灰面板、细边框和右侧栏机制。
336
+ - [ ] 页面不是默认后台组件堆叠,能看到四卡摘要、右侧洞察栏、分层图表、标签筛选、圆角表头或图标化行等品质信号。
337
+ - [ ] 图表、表格、右侧栏、快捷入口和面板都有稳定高度或溢出策略。
338
+ - [ ] 搜索、筛选、tab、行操作、快捷入口都有必要状态。
339
+ - [ ] 表格或列表长内容不会撑破父级,移动端可以滚动或折叠。
340
+ - [ ] 图标按钮有可访问标签,键盘 focus 清晰可见。
341
+ - [ ] 状态表达不只依赖颜色,并支持 reduced motion。