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.
- package/README.md +14 -20
- package/bin/yida.js +6 -11
- package/lib/app/app-list.js +3 -7
- package/lib/app/canvas-compile.js +12 -22
- package/lib/app/check-prd-completeness.js +0 -7
- package/lib/app/create-app.js +1 -4
- package/lib/app/create-form/args.js +12 -37
- package/lib/app/create-form/batch.js +11 -86
- package/lib/app/create-form.js +86 -193
- package/lib/app/create-page.js +17 -84
- package/lib/app/custom-theme.js +0 -11
- package/lib/app/form-field-validator.js +41 -26
- package/lib/app/form-open-guard.js +10 -97
- package/lib/app/get-form-config.js +0 -1
- package/lib/app/inline-css-guard.js +31 -1
- package/lib/app/services/form-compiler.js +4 -2
- package/lib/app/theme-from-design.js +41 -144
- package/lib/app/theme-presets.js +1 -1
- package/lib/app/update-app.js +13 -63
- package/lib/asset/ai-image.js +9 -59
- package/lib/asset/asset-cmd.js +7 -18
- package/lib/asset/asset-plan.js +9 -102
- package/lib/asset/asset-resolve.js +10 -55
- package/lib/asset/asset-status.js +4 -5
- package/lib/asset/host-capabilities.js +2 -11
- package/lib/asset/url-verify.js +4 -19
- package/lib/auth/dws-sync.js +148 -0
- package/lib/auth/token-auth.js +73 -9
- package/lib/auth/token-store.js +50 -0
- package/lib/connector/connector-test.js +5 -19
- package/lib/connector/contract.js +1 -3
- package/lib/core/agent-capabilities.js +16 -19
- package/lib/core/command-manifest.js +40 -329
- package/lib/core/locales/en.js +17 -74
- package/lib/core/locales/zh.js +16 -73
- package/lib/core/redact.js +10 -15
- package/lib/core/sample.js +30 -72
- package/lib/core/utils.js +4 -0
- package/lib/design-plan/design-plan.js +4 -51
- package/lib/design-plan/init.js +26 -121
- package/lib/design-plan/materialize.js +348 -451
- package/lib/design-plan/normalize.js +29 -74
- package/lib/design-plan/parallel.js +16 -71
- package/lib/design-plan/patch.js +16 -63
- package/lib/design-plan/preview.js +8 -6
- package/lib/design-plan/validate.js +11 -71
- package/lib/process/create-process.js +50 -84
- package/lib/samples/openyida-scaffold/canvas-form-drawer.canvas.jsx +90 -20
- package/lib/samples/openyida-scaffold/canvas-nav/content.jsx +13 -93
- package/lib/samples/openyida-scaffold/canvas-nav/data.jsx +18 -100
- package/lib/samples/openyida-scaffold/canvas-nav/mixed.jsx +4 -6
- package/lib/samples/openyida-scaffold/canvas-nav/shared.jsx +5 -5
- package/lib/samples/openyida-scaffold/canvas-nav/side.jsx +2 -1
- package/lib/samples/openyida-scaffold/canvas-nav/sidebar.jsx +1 -1
- package/lib/samples/openyida-scaffold/canvas-nav/top.jsx +9 -15
- package/lib/samples/yida-canvas-table-form/table-form-batch-submit.canvas.jsx +83 -9
- package/lib/samples/yida-rechart/trend-combo.canvas.jsx +87 -14
- package/package.json +1 -3
- package/scripts/postinstall.js +3 -3
- package/yida-skills/SKILL.md +16 -19
- package/yida-skills/references/official-example-schema-patterns.md +1 -1
- package/yida-skills/references/yida-api.md +0 -4
- package/yida-skills/skills/yida-app/SKILL.md +23 -46
- package/yida-skills/skills/yida-app/workflow/parallel-work.md +6 -15
- package/yida-skills/skills/yida-app/workflow/plan/step-1-understand.md +1 -1
- package/yida-skills/skills/yida-app/workflow/plan/step-2-confirm.md +1 -1
- package/yida-skills/skills/yida-app/workflow/plan/step-4-deliver.md +15 -29
- package/yida-skills/skills/yida-app/workflow/plan/workflow.md +11 -29
- package/yida-skills/skills/yida-app/workflow/step-1-resource-context.md +2 -4
- package/yida-skills/skills/yida-app/workflow/step-2-design.md +9 -23
- package/yida-skills/skills/yida-app/workflow/step-3-create-or-reuse-app.md +4 -6
- package/yida-skills/skills/yida-app/workflow/step-4-forms-processes.md +4 -15
- package/yida-skills/skills/yida-app/workflow/step-6-main-page.md +4 -6
- package/yida-skills/skills/yida-app/workflow/step-7-page-code.md +9 -15
- package/yida-skills/skills/yida-app/workflow/step-8-publish-navigation.md +11 -25
- package/yida-skills/skills/yida-app/workflow/step-9-output-finish.md +28 -68
- package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +43 -42
- package/yida-skills/skills/yida-canvas-custom-page/references/canvas-style-implementation-guide.md +44 -60
- package/yida-skills/skills/yida-canvas-custom-page/references/canvas-theme-provider.md +50 -72
- package/yida-skills/skills/yida-canvas-custom-page/references/component-library-guide.md +1 -13
- package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +1 -140
- package/yida-skills/skills/yida-canvas-custom-page/references/navigation-and-entry-guide.md +72 -101
- package/yida-skills/skills/yida-canvas-custom-page/references/page-generation-guide.md +32 -35
- package/yida-skills/skills/yida-canvas-custom-page/scripts/build-canvas-theme.js +3 -29
- package/yida-skills/skills/yida-canvas-custom-page/scripts/canvas-theme-provider.template.jsx +6 -69
- package/yida-skills/skills/yida-canvas-data-binding/SKILL.md +0 -26
- package/yida-skills/skills/yida-create-app/SKILL.md +0 -2
- package/yida-skills/skills/yida-create-form-page/SKILL.md +58 -72
- package/yida-skills/skills/yida-create-form-page/references/advanced-form-modes.md +5 -5
- package/yida-skills/skills/yida-create-form-page/references/association-form-field.md +4 -4
- package/yida-skills/skills/yida-create-form-page/references/batch-forms.md +5 -6
- package/yida-skills/skills/yida-create-form-page/references/field-definition-guide.md +19 -7
- package/yida-skills/skills/yida-create-form-page/references/form-field-properties.md +44 -62
- package/yida-skills/skills/yida-create-page/SKILL.md +6 -14
- package/yida-skills/skills/yida-create-process/SKILL.md +2 -13
- package/yida-skills/skills/yida-custom-page/SKILL.md +0 -2
- package/yida-skills/skills/yida-custom-page/references/design-system.md +1 -1
- package/yida-skills/skills/yida-dashboard/SKILL.md +4 -5
- package/yida-skills/skills/yida-data-management/SKILL.md +2 -4
- package/yida-skills/skills/yida-data-management/references/data-format-guide.md +4 -4
- package/yida-skills/skills/yida-design/SKILL.md +14 -29
- package/yida-skills/skills/yida-design/references/app/blueprint.md +70 -0
- package/yida-skills/skills/yida-design/references/app/navigation-patterns.md +43 -0
- package/yida-skills/skills/yida-design/references/app/role-journey.md +30 -0
- package/yida-skills/skills/yida-design/references/ask-human-interaction-contract.md +42 -67
- package/yida-skills/skills/yida-design/references/asset-workflow.md +2 -6
- package/yida-skills/skills/yida-design/references/design-mode.md +4 -4
- package/yida-skills/skills/yida-design/references/page-quality-gates.md +38 -26
- package/yida-skills/skills/yida-design/references/style-design-selection.md +137 -0
- package/yida-skills/skills/yida-design/references/style-designs/_design-md-template.md +185 -0
- package/yida-skills/skills/yida-design/references/style-designs/aqua-service-progress-dashboard.md +242 -0
- package/yida-skills/skills/yida-design/references/style-designs/blue-insight-operations-dashboard.md +243 -0
- package/yida-skills/skills/yida-design/references/style-designs/blue-productivity-insight-workbench.md +242 -0
- package/yida-skills/skills/yida-design/references/style-designs/command-filter-card-console.md +304 -0
- package/yida-skills/skills/yida-design/references/style-designs/contrast-command-analytics-workbench.md +261 -0
- package/yida-skills/skills/yida-design/references/style-designs/dark-stage-analytic-dashboard.md +369 -0
- package/yida-skills/skills/yida-design/references/style-designs/filterable-card-catalog.md +354 -0
- package/yida-skills/skills/yida-design/references/style-designs/green-timeline-progress-workbench.md +250 -0
- package/yida-skills/skills/yida-design/references/style-designs/registry.md +117 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-analytic-workbench.md +348 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-blue-grid-analytic-dashboard.md +658 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-bordered-analytic-workbench.md +385 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-curated-filter-gallery.md +300 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-modular-analytic-workbench.md +404 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-progress-analytics-workbench.md +382 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-timeline-analytics-workbench.md +367 -0
- package/yida-skills/skills/yida-design/references/style-designs/teal-rail-analytics-workbench.md +341 -0
- package/yida-skills/skills/yida-design/references/theme/app-custom-theme-template.css +432 -350
- package/yida-skills/skills/yida-design/references/visual-decision-engine.md +143 -19
- package/yida-skills/skills/yida-design/references/visual-scaffold-recipes.md +27 -15
- package/yida-skills/skills/yida-design/sub_skill/page-design/SKILL.md +0 -4
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/SKILL.md +8 -22
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/assets/README.md +10 -14
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/assets/build-plan-template.html +4 -9
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-compact-schema.md +27 -49
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-schema.md +154 -33
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-design.md +127 -48
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-theme-selection.md +51 -37
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/render_build_plan.py +48 -43
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/validate_design_themes.py +190 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/README.md +98 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-media-grid.md +339 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-modular-clarity.md +348 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-structured-clarity.md +344 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ambient-halo-layered.md +345 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-focus-layered.md +355 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-luminous-modular.md +377 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/deep-stage-duotone.md +352 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/hairline-runway-clarity.md +389 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/high-contrast-modular.md +364 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/index.json +329 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/interlocked-vivid-modules.md +348 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/matrix-grid-focus.md +345 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/media-rail-inspector.md +379 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mist-layered-signal.md +347 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/modular-rail-signal.md +352 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mono-grid-signal.md +386 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ribbon-ledger-lift.md +384 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/segmented-meter-clarity.md +388 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/split-rail-precision.md +341 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/status-framed-media-grid.md +361 -0
- package/yida-skills/skills/yida-design/workflow/output-design.md +375 -117
- package/yida-skills/skills/yida-design/workflow/output-prd.md +185 -0
- package/yida-skills/skills/yida-design/workflow/step-1-read-brief.md +1 -1
- package/yida-skills/skills/yida-design/workflow/step-2-theme-system.md +29 -33
- package/yida-skills/skills/yida-design/workflow/step-4-wireframe-interaction.md +1 -3
- package/yida-skills/skills/yida-design/workflow/step-5-visual-states.md +106 -22
- package/yida-skills/skills/yida-design/workflow/step-6-handoff.md +22 -15
- package/yida-skills/skills/yida-form-permission/SKILL.md +0 -6
- package/yida-skills/skills/yida-image-assets/SKILL.md +50 -73
- package/yida-skills/skills/yida-image-assets/references/manifest-contract.md +52 -82
- package/yida-skills/skills/yida-image-assets/references/source-policy.md +15 -14
- package/yida-skills/skills/yida-integration/SKILL.md +0 -1
- package/yida-skills/skills/yida-login/SKILL.md +0 -2
- package/yida-skills/skills/yida-nav-group/SKILL.md +2 -4
- package/yida-skills/skills/yida-nav-shell/SKILL.md +12 -36
- package/yida-skills/skills/yida-nav-shell/references/nav-shell-patterns.md +136 -79
- package/yida-skills/skills/yida-page-config/SKILL.md +4 -13
- package/yida-skills/skills/yida-prd/SKILL.md +3 -5
- package/yida-skills/skills/yida-prd/references/app/blueprint.md +4 -4
- package/yida-skills/skills/yida-prd/references/app/navigation-patterns.md +3 -6
- package/yida-skills/skills/yida-prd/references/app/role-journey.md +3 -5
- package/yida-skills/skills/yida-prd/references/plan-content.md +0 -4
- package/yida-skills/skills/yida-prd/workflow/output-prd.md +11 -18
- package/yida-skills/skills/yida-prd/workflow/plan-business.md +4 -4
- package/yida-skills/skills/yida-prd/workflow/step-2-information-architecture.md +8 -11
- package/yida-skills/skills/yida-publish-page/SKILL.md +1 -9
- package/yida-skills/skills/yida-requirement-analysis/SKILL.md +39 -10
- package/yida-skills/skills/yida-requirement-analysis/workflow/prepare-brief.md +71 -40
- package/yida-skills/skills-index.json +16 -36
- package/lib/app/application-entry-urls.js +0 -31
- package/lib/app/application-style.js +0 -69
- package/lib/app/canvas-icon-exports.json +0 -6160
- package/lib/app/canvas-icon-guard.js +0 -87
- package/lib/app/canvas-navigation-guard.js +0 -84
- package/lib/app/canvas-path-guard.js +0 -78
- package/lib/app/canvas-theme-guard.js +0 -184
- package/lib/app/form-data-response-guard.js +0 -57
- package/lib/asset/asset-execution.js +0 -79
- package/lib/core/css-structure.js +0 -37
- package/lib/design/check-design.js +0 -51
- package/lib/design/document.js +0 -458
- package/lib/design/icon-contrast.js +0 -85
- package/lib/design/page-content.js +0 -11
- package/lib/design-plan/artifact-updates.js +0 -117
- package/lib/design-plan/confirmation.js +0 -13
- package/lib/design-plan/entry-navigation.js +0 -97
- package/lib/design-plan/navigation-policy.js +0 -38
- package/lib/design-plan/rebase.js +0 -60
- package/lib/design-plan/themes.js +0 -101
- package/lib/design-plan/visual-policy.js +0 -42
- package/lib/samples/openyida-scaffold/canvas-admin-entry.jsx +0 -62
- package/lib/samples/openyida-scaffold/canvas-navigation.jsx +0 -56
- package/lib/samples/openyida-scaffold/canvas-view-state.jsx +0 -74
- package/yida-skills/skills/yida-app/references/entry-navigation.md +0 -193
- package/yida-skills/skills/yida-canvas-custom-page/references/view-state-recovery.md +0 -52
- package/yida-skills/skills/yida-canvas-data-binding/references/business-action-permissions.md +0 -31
- package/yida-skills/skills/yida-design/references/application-style-library.md +0 -93
- package/yida-skills/skills/yida-design/references/application-theme-consistency.md +0 -150
- package/yida-skills/skills/yida-design/references/native-form-styles.md +0 -208
- package/yida-skills/skills/yida-design/references/navigation-decision.md +0 -53
- package/yida-skills/skills/yida-design/references/page-continuity.md +0 -42
- package/yida-skills/skills/yida-design/references/theme/application-style-recipes.css +0 -58
- package/yida-skills/skills/yida-design/references/theme-selection.md +0 -67
- package/yida-skills/skills/yida-design/scripts/validate_design_themes.py +0 -302
- package/yida-skills/skills/yida-design/templates/application-styles.json +0 -398
- package/yida-skills/skills/yida-design/templates/design-themes/README.md +0 -73
- package/yida-skills/skills/yida-design/templates/design-themes/app-amber/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-amber/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-amber/form-layout.json +0 -15
- package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-executive/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-executive/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-executive/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-finance/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-finance/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-finance/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-glass/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-glass/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-glass/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-line/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-line/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-line/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-neon/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-neon/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-neon/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/app_theme.css +0 -754
- package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/design.md +0 -279
- package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-paper/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-paper/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-paper/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-plum/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-plum/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-plum/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-pop/app_theme.css +0 -758
- package/yida-skills/skills/yida-design/templates/design-themes/app-pop/design.md +0 -281
- package/yida-skills/skills/yida-design/templates/design-themes/app-pop/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-sage/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-sage/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-sage/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-teal/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-teal/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-teal/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/app_theme.css +0 -754
- package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/design.md +0 -279
- package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/app_theme.css +0 -752
- package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/design.md +0 -278
- package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-wire/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-wire/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-wire/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/basic-tokens.json +0 -118
- package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/app_theme.css +0 -690
- package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/design.md +0 -382
- package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/design.md +0 -380
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/app_theme.css +0 -696
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/design.md +0 -378
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/free-creative/app_theme.css +0 -689
- package/yida-skills/skills/yida-design/templates/design-themes/free-creative/design.md +0 -238
- package/yida-skills/skills/yida-design/templates/design-themes/free-creative/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/app_theme.css +0 -692
- package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/design.md +0 -375
- package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/design.md +0 -362
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/design.md +0 -409
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/index.json +0 -464
- package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/app_theme.css +0 -701
- package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/design.md +0 -379
- package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/design.md +0 -404
- package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/app_theme.css +0 -698
- package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/design.md +0 -389
- package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/design.md +0 -372
- package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/app_theme.css +0 -690
- package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/design.md +0 -455
- package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/app_theme.css +0 -698
- package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/design.md +0 -394
- package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/app_theme.css +0 -692
- package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/design.md +0 -391
- package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/app_theme.css +0 -711
- package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/design.md +0 -408
- package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/app_theme.css +0 -692
- package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/design.md +0 -383
- package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/navigation-styles.json +0 -769
- package/yida-skills/skills/yida-requirement-analysis/references/experience-groups.md +0 -79
- package/yida-skills/skills/yida-requirement-analysis/references/handoff.md +0 -68
package/yida-skills/skills/yida-design/references/style-designs/dark-stage-analytic-dashboard.md
ADDED
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: alpha
|
|
3
|
+
template_type: visual_dna_preset
|
|
4
|
+
name: dark-stage-analytic-dashboard
|
|
5
|
+
design_id: dark-stage-analytic-dashboard
|
|
6
|
+
design_status: draft
|
|
7
|
+
description: 可被流程选择和换色的深色指标舞台型分析仪表盘视觉 DNA 风格。
|
|
8
|
+
scenes: [仪表盘, 数据工作台, 管理后台首页, 分析看板]
|
|
9
|
+
density: medium-high
|
|
10
|
+
layout: hero_metric_stage_with_analysis_grid
|
|
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: editorial_header_actions
|
|
27
|
+
name: 大标题与轻量全局操作
|
|
28
|
+
confidence: observed
|
|
29
|
+
hooks: [page_shell, page_title, global_actions, icon_button, primary_action]
|
|
30
|
+
invariant: [large_left_title, compact_right_actions, clear_top_scan_path, icon_action_pairing]
|
|
31
|
+
variable: [page_title_text, action_count, action_semantics, brand_hue]
|
|
32
|
+
- id: dark_metric_stage
|
|
33
|
+
name: 深色渐变指标舞台
|
|
34
|
+
confidence: observed
|
|
35
|
+
hooks: [summary_stage, dark_surface, bottom_accent_glow, metric_card_grid, glass_metric_card]
|
|
36
|
+
invariant: [dark_high_contrast_stage, rounded_full_width_container, embedded_metric_cards, subtle_bottom_glow]
|
|
37
|
+
variable: [metric_count, metric_labels, icon_set, brand_hue, numeric_content]
|
|
38
|
+
- id: soft_analysis_panels
|
|
39
|
+
name: 柔和白底分析面板网格
|
|
40
|
+
confidence: observed
|
|
41
|
+
hooks: [analysis_grid, equal_height_panels, chart_panel, supporting_panel, align_items_stretch]
|
|
42
|
+
invariant: [white_card_panels, generous_radius, stable_two_column_grid, parent_gap_spacing]
|
|
43
|
+
variable: [panel_count, chart_type, side_panel_content, module_order]
|
|
44
|
+
- id: micro_texture_visualization
|
|
45
|
+
name: 细颗粒数据可视化纹理
|
|
46
|
+
confidence: observed
|
|
47
|
+
hooks: [heatmap_cells, segmented_control, legend_steps, striped_bar, floating_badge]
|
|
48
|
+
invariant: [small_rounded_cells, pale_grid_baseline, small_area_accent, soft_label_badges, textured_comparison_marks]
|
|
49
|
+
variable: [series_count, time_unit, category_names, chart_values, brand_hue]
|
|
50
|
+
- id: rounded_detail_table
|
|
51
|
+
name: 大圆角明细表系统
|
|
52
|
+
confidence: observed
|
|
53
|
+
hooks: [detail_table, search_icon_button, iconized_rows, stable_row_height, truncated_secondary_text]
|
|
54
|
+
invariant: [large_panel_container, roomy_table_rows, light_dividers, iconized_first_column, compact_tool_button]
|
|
55
|
+
variable: [columns, row_actions, cell_content, sort_filter_controls]
|
|
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.brand-mid, tokens.colors.focus-ring]
|
|
61
|
+
derive_tokens: [tokens.colors.brand-glow, tokens.colors.chart-step-1, tokens.colors.chart-step-2, tokens.colors.chart-step-3, tokens.colors.chart-step-4, tokens.colors.status-soft]
|
|
62
|
+
preserve_tokens: [tokens.colors.bg-page, tokens.colors.bg-page-warm, tokens.colors.stage-bg, tokens.colors.stage-card, tokens.colors.surface, tokens.colors.surface-muted, tokens.colors.text-primary, tokens.colors.text-secondary, tokens.colors.border-subtle]
|
|
63
|
+
rules:
|
|
64
|
+
- theme_color_only_changes_accent_hue
|
|
65
|
+
- replace_hue_preserve_dark_stage_contrast
|
|
66
|
+
- do_not_tint_page_background
|
|
67
|
+
- do_not_turn_neutral_panels_into_colored_panels
|
|
68
|
+
- keep_accent_usage_small_area
|
|
69
|
+
- keep_dark_stage_as_primary_contrast_mechanism
|
|
70
|
+
tokens:
|
|
71
|
+
colors:
|
|
72
|
+
bg-page: "#F7F5F2"
|
|
73
|
+
bg-page-warm: "#F3F0EC"
|
|
74
|
+
surface: "#FFFFFF"
|
|
75
|
+
surface-muted: "#F1F0F5"
|
|
76
|
+
surface-soft: "#FAFAFB"
|
|
77
|
+
stage-bg: "#060A12"
|
|
78
|
+
stage-bg-soft: "#101529"
|
|
79
|
+
stage-card: "rgba(255,255,255,0.12)"
|
|
80
|
+
stage-card-border: "rgba(255,255,255,0.22)"
|
|
81
|
+
text-primary: "#08090D"
|
|
82
|
+
text-secondary: "#686872"
|
|
83
|
+
text-tertiary: "#9A99A4"
|
|
84
|
+
text-inverse: "#FFFFFF"
|
|
85
|
+
text-inverse-muted: "rgba(255,255,255,0.62)"
|
|
86
|
+
border-subtle: "#E8E5E1"
|
|
87
|
+
border-muted: "#F0EEF2"
|
|
88
|
+
brand: "#4C43F5"
|
|
89
|
+
brand-mid: "#8F86F3"
|
|
90
|
+
brand-soft: "#E9E6FF"
|
|
91
|
+
brand-glow: "rgba(76,67,245,0.72)"
|
|
92
|
+
chart-step-1: "#F2F1F6"
|
|
93
|
+
chart-step-2: "#DAD7F5"
|
|
94
|
+
chart-step-3: "#AEA7EE"
|
|
95
|
+
chart-step-4: "#5951E9"
|
|
96
|
+
status-soft: "#EDEAFB"
|
|
97
|
+
focus-ring: "#9289FF"
|
|
98
|
+
typography:
|
|
99
|
+
fontFamily: "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
|
|
100
|
+
page-title: { fontSize: 46, fontWeight: 650, lineHeight: 1.08, letterSpacing: 0 }
|
|
101
|
+
stage-title: { fontSize: 28, fontWeight: 600, lineHeight: 1.2, letterSpacing: 0 }
|
|
102
|
+
section-title: { fontSize: 28, fontWeight: 600, lineHeight: 1.2, letterSpacing: 0 }
|
|
103
|
+
metric-label: { fontSize: 18, fontWeight: 600, lineHeight: 1.3, letterSpacing: 0 }
|
|
104
|
+
metric-value: { fontSize: 42, fontWeight: 500, lineHeight: 1.05, letterSpacing: 0 }
|
|
105
|
+
body: { fontSize: 16, fontWeight: 400, lineHeight: 1.5, letterSpacing: 0 }
|
|
106
|
+
caption: { fontSize: 14, fontWeight: 500, lineHeight: 1.35, letterSpacing: 0 }
|
|
107
|
+
spacing:
|
|
108
|
+
page-x-desktop: 32
|
|
109
|
+
page-y-desktop: 28
|
|
110
|
+
page-x-mobile: 16
|
|
111
|
+
grid-gap: 24
|
|
112
|
+
stage-x: 36
|
|
113
|
+
stage-y: 34
|
|
114
|
+
panel-x: 32
|
|
115
|
+
panel-y: 30
|
|
116
|
+
card-gap: 14
|
|
117
|
+
control-gap: 12
|
|
118
|
+
rounded:
|
|
119
|
+
sm: 8
|
|
120
|
+
md: 12
|
|
121
|
+
control: 18
|
|
122
|
+
pill: 22
|
|
123
|
+
panel: 30
|
|
124
|
+
stage: 28
|
|
125
|
+
shadow:
|
|
126
|
+
panel: "0 18px 52px rgba(36, 32, 45, 0.06)"
|
|
127
|
+
stage: "0 18px 48px rgba(8, 9, 13, 0.16)"
|
|
128
|
+
floating: "0 14px 32px rgba(36, 32, 45, 0.10)"
|
|
129
|
+
layout_stability:
|
|
130
|
+
grid_align_items: stretch
|
|
131
|
+
panel_display: flex-column
|
|
132
|
+
panel_height: "100%"
|
|
133
|
+
overflow_policy: internal_scroll_or_truncate
|
|
134
|
+
spacing_policy: parent_gap_only
|
|
135
|
+
equal_height_rule: same_row_panels_align
|
|
136
|
+
fixed_height_tokens:
|
|
137
|
+
global_action_button: 64px
|
|
138
|
+
primary_action_button: 64px
|
|
139
|
+
summary_stage: 320px
|
|
140
|
+
metric_card: 150px
|
|
141
|
+
chart_panel: 440px
|
|
142
|
+
supporting_panel: 440px
|
|
143
|
+
detail_panel_min: 420px
|
|
144
|
+
table_row: 78px
|
|
145
|
+
quality_anchors:
|
|
146
|
+
- id: dark_metric_stage_anchor
|
|
147
|
+
name: 深色全宽指标舞台
|
|
148
|
+
required_when: PRD 包含多个关键摘要或核心指标
|
|
149
|
+
rule: 使用全宽深色大圆角容器承载摘要,底部保留小面积主题色光晕,内部指标卡使用半透明玻璃质感和细边框,不把主题色铺满舞台。
|
|
150
|
+
- id: glass_metric_cards_anchor
|
|
151
|
+
name: 玻璃态指标卡组
|
|
152
|
+
required_when: PRD 包含 3 个以上可并列比较的摘要项
|
|
153
|
+
rule: 指标卡等高等宽,内部左上放图标容器,标签与数值强弱分明,卡片边框比背景亮一档,底部可透出轻微强调色渐变。
|
|
154
|
+
- id: heatmap_panel_anchor
|
|
155
|
+
name: 浅色热力网格面板
|
|
156
|
+
required_when: PRD 包含时间、频率、分布、活跃度或密度类数据
|
|
157
|
+
rule: 使用大幅白底面板、圆角小方块、浅灰基线格、3-5 阶主题色图例和分段控制;格子尺寸固定,不能随数值撑开布局。
|
|
158
|
+
- id: comparison_texture_anchor
|
|
159
|
+
name: 纹理化对比图面板
|
|
160
|
+
required_when: PRD 包含目标、比例、分组对比、进度或构成关系
|
|
161
|
+
rule: 使用圆角条形、斜纹填充、浅色占位块和悬浮标签组合,强调色只用于关键条或纹理,不使用默认柱状图裸样式。
|
|
162
|
+
- id: spacious_detail_table_anchor
|
|
163
|
+
name: 宽松明细表与图标化首列
|
|
164
|
+
required_when: PRD 包含记录、实体、任务、交易、事件或可搜索列表
|
|
165
|
+
rule: 表格放入大圆角白底面板,行高稳定,首列配图标容器与主副文本,右上工具使用圆形或圆角图标按钮,长文本截断。
|
|
166
|
+
quality_floor:
|
|
167
|
+
target: polished_sample_level
|
|
168
|
+
avoid_default_admin_feel: true
|
|
169
|
+
requires_visible_micro_detail: true
|
|
170
|
+
minimum_craft_signals: [deep_metric_stage, glass_metric_cards, stable_equal_height_grid, heatmap_micro_cells, textured_comparison_marks, spacious_table_rows, precise_icon_buttons]
|
|
171
|
+
components:
|
|
172
|
+
page_header: { titleRef: tokens.typography.page-title, actionHeight: 64 }
|
|
173
|
+
stage: { tokenRef: tokens.colors.stage-bg, roundedRef: tokens.rounded.stage, shadowRef: tokens.shadow.stage }
|
|
174
|
+
metric_card: { tokenRef: tokens.colors.stage-card, borderRef: tokens.colors.stage-card-border, roundedRef: tokens.rounded.panel }
|
|
175
|
+
panel: { tokenRef: tokens.colors.surface, roundedRef: tokens.rounded.panel, shadowRef: tokens.shadow.panel }
|
|
176
|
+
icon_button: { size: 64, roundedRef: tokens.rounded.control }
|
|
177
|
+
button: { height: 64, roundedRef: tokens.rounded.control }
|
|
178
|
+
segmented_control: { height: 56, roundedRef: tokens.rounded.pill }
|
|
179
|
+
chart_cell: { size: 36, roundedRef: tokens.rounded.sm }
|
|
180
|
+
table_row: { height: 78 }
|
|
181
|
+
modules:
|
|
182
|
+
page_identity:
|
|
183
|
+
confidence: observed
|
|
184
|
+
render_policy: prd_only
|
|
185
|
+
placement: top_left
|
|
186
|
+
global_actions:
|
|
187
|
+
confidence: observed
|
|
188
|
+
render_policy: prd_only
|
|
189
|
+
placement: top_right
|
|
190
|
+
style: icon_button_plus_primary_pill
|
|
191
|
+
primary_summary:
|
|
192
|
+
confidence: observed
|
|
193
|
+
render_policy: prd_only
|
|
194
|
+
placement: first_section_full_width
|
|
195
|
+
preferred_item_count: 3-6
|
|
196
|
+
paired_analysis_panels:
|
|
197
|
+
confidence: observed
|
|
198
|
+
render_policy: prd_only
|
|
199
|
+
placement: after_primary_summary
|
|
200
|
+
desktop_ratio: 2fr_1.15fr
|
|
201
|
+
detail_table:
|
|
202
|
+
confidence: observed
|
|
203
|
+
render_policy: prd_only
|
|
204
|
+
placement: after_analysis_panels
|
|
205
|
+
quick_actions:
|
|
206
|
+
confidence: inferred
|
|
207
|
+
render_policy: prd_only
|
|
208
|
+
placement: independent_section_after_summary
|
|
209
|
+
item_count: 4-8
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
# Dark Stage Analytic Dashboard DESIGN.md
|
|
213
|
+
|
|
214
|
+
> front matter 是给流程和生成器读取的结构化配置;人工评审优先阅读下方正文。若两者冲突,风格选择、换色策略和 token 数值以前面的 YAML 为准,使用边界和业务取舍以正文为准。
|
|
215
|
+
|
|
216
|
+
## 1. 快速理解
|
|
217
|
+
|
|
218
|
+
这是一套深色指标舞台型分析仪表盘视觉 DNA:浅暖画布承托页面,首屏用深色全宽容器集中展示核心摘要,下面用柔和白底面板承载图表、对比和明细。
|
|
219
|
+
|
|
220
|
+
PRD 决定内容、功能、模块和信息优先级,DESIGN.md 只决定这些内容的视觉形态、布局稳定性、组件状态和可访问性。
|
|
221
|
+
|
|
222
|
+
适合指标总览、分析首页、数据工作台和带明细追踪的管理后台;不适合长文阅读、表单密集录入、营销转化和极简单任务页面。
|
|
223
|
+
|
|
224
|
+
主题色可以替换默认强调色的色相,但不能改变“浅色画布 + 深色舞台 + 玻璃指标卡 + 轻面板分析网格”的机制。
|
|
225
|
+
|
|
226
|
+
编码结果必须保留足够的微观品质:半透明指标卡、底部光晕、热力小格、斜纹对比条、悬浮标签、图标化行和稳定等高网格。
|
|
227
|
+
|
|
228
|
+
## 2. 使用边界
|
|
229
|
+
|
|
230
|
+
PRD 是内容来源。页面标题、指标含义、筛选项、图表维度、表格字段、导出或搜索等操作,都必须来自 PRD 或产品上下文。
|
|
231
|
+
|
|
232
|
+
DESIGN.md 不决定业务信息架构,不强制页面必须有指标、热力图、对比图或表格。它只在 PRD 存在对应内容时,规定这些内容如何落到高品质 UI 中。
|
|
233
|
+
|
|
234
|
+
禁止复用风格来源中的具体业务字段、示例数据、分类名称、人名、机构名和页面专属文案。需要样例时只能使用中性槽位名,例如 `primary_metrics`、`primary_content_panel`、`supporting_panel`、`detail_table`。
|
|
235
|
+
|
|
236
|
+
如果 PRD 没有量化数据,不要硬造数字;如果没有明细数据,不要硬造表格;如果没有全局操作,不要为了视觉完整而补按钮。
|
|
237
|
+
|
|
238
|
+
## 3. 设计风格选择与换色逻辑
|
|
239
|
+
|
|
240
|
+
上游流程可在用户需要“数据总览 + 图表分析 + 明细追踪”的页面时选择本风格。它尤其适合首屏需要形成强焦点、同时下方仍要保持高密度扫描效率的产品界面。
|
|
241
|
+
|
|
242
|
+
不要把默认强调色理解成固定风格。这个视觉母体的关键是深浅反差、圆角尺度、玻璃卡、数据纹理和小面积强调,而不是某一种具体色相。
|
|
243
|
+
|
|
244
|
+
主题色改写时,只替换 `brand`、`brand-mid`、`brand-soft`、`brand-glow`、图表阶梯色、选中态、focus ring 和状态辅助色。背景、白底面板、深色舞台、中性文字、浅边框、圆角尺度、卡片透明度和布局比例必须保留。
|
|
245
|
+
|
|
246
|
+
输入主题色再鲜艳,也不能铺满页面背景、白色面板、指标卡主体或表格区域。主题色应集中在舞台底部光晕、图表格子、图例、关键条、选中态、状态点和少量主要按钮中。
|
|
247
|
+
|
|
248
|
+
## 4. 视觉 DNA
|
|
249
|
+
|
|
250
|
+
### 大标题与轻量全局操作
|
|
251
|
+
|
|
252
|
+
首屏顶部使用大字号页面身份和右侧紧凑操作区。标题要成为第一视觉落点,操作区只保留 PRD 需要的全局工具:可以是图标按钮、主要操作按钮、筛选入口或导出入口。
|
|
253
|
+
|
|
254
|
+
主题色可影响主要操作按钮和 focus ring,但不能让顶部变成厚重导航栏。缺失该 DNA 时,页面会退化成普通后台标题栏,首屏气质明显变弱。
|
|
255
|
+
|
|
256
|
+
### 深色渐变指标舞台
|
|
257
|
+
|
|
258
|
+
核心摘要应进入全宽深色容器。容器大圆角、暗色底、低饱和内部渐变和底部小面积主题光晕共同形成“舞台”感。
|
|
259
|
+
|
|
260
|
+
内部指标卡应像嵌入舞台的玻璃块:半透明暗面、细亮边、图标容器、强数值层级。PRD 可以改变指标数量和内容,但不能改成松散白色卡片或普通彩色 KPI 区。
|
|
261
|
+
|
|
262
|
+
### 柔和白底分析面板网格
|
|
263
|
+
|
|
264
|
+
舞台之后进入白底分析区,桌面端优先使用主辅两列或等高卡片行。面板之间通过父级 `gap` 分隔,不使用零散 margin。
|
|
265
|
+
|
|
266
|
+
PRD 可以决定左侧是图表、趋势、地图、列表或其他主内容,右侧是对比、摘要、提醒或辅助判断。没有辅内容时可以单列全宽,但仍要保持稳定高度和大圆角轻阴影。
|
|
267
|
+
|
|
268
|
+
### 细颗粒数据可视化纹理
|
|
269
|
+
|
|
270
|
+
图表不应只使用默认线图或柱图。该母体需要小颗粒视觉细节:圆角热力格、渐进图例、分段控制、斜纹填充、悬浮数值标签、浅色占位条。
|
|
271
|
+
|
|
272
|
+
主题色只改变这些纹理的色相和阶梯,不改变纹理形态。缺失时页面会变成普通卡片图表,精致度不足。
|
|
273
|
+
|
|
274
|
+
### 大圆角明细表系统
|
|
275
|
+
|
|
276
|
+
明细内容应被放入宽松白底大面板。表格行高稳定,首列可以使用图标容器和主副文本形成扫描锚点;右上工具可用搜索、筛选、排序或更多操作的图标按钮。
|
|
277
|
+
|
|
278
|
+
PRD 决定列和行操作。长文本必须截断或折叠,不能撑高整行,也不能破坏表格列对齐。
|
|
279
|
+
|
|
280
|
+
## 5. 视觉品质基线
|
|
281
|
+
|
|
282
|
+
本风格的品质下限不是“有卡片、有图表、有表格”,而是每个模块都带有清晰的微观设计信号。
|
|
283
|
+
|
|
284
|
+
- PRD 包含多个核心摘要时,必须优先落地深色全宽指标舞台。没有这个舞台,风格识别度会明显下降。
|
|
285
|
+
- PRD 包含 3 个以上摘要项时,指标卡应使用玻璃态卡组:等高、等宽、图标容器、细边框、数值强层级。
|
|
286
|
+
- PRD 包含时间、频率、分布或密度数据时,优先使用浅色热力网格面板。若数据不适合热力图,可改成同等精度的轻网格趋势图或分布图。
|
|
287
|
+
- PRD 包含比例、目标、构成或分组对比时,优先使用纹理化对比图面板。斜纹、悬浮标签和圆角条是品质信号,不要退化为裸柱状图。
|
|
288
|
+
- PRD 包含可搜索记录时,使用宽松明细表与图标化首列。没有记录类内容时,可用同等精致度的列表、事件流或资源网格替代。
|
|
289
|
+
|
|
290
|
+
## 6. 布局规则
|
|
291
|
+
|
|
292
|
+
推荐桌面结构为 `page_identity + global_actions`、`primary_summary`、`paired_analysis_panels`、`detail_table`。这些是视觉槽位,不是业务模块清单;PRD 没有的模块不要强行补。
|
|
293
|
+
|
|
294
|
+
页面外层使用浅暖背景,桌面端左右内边距约 32px,纵向区块间距约 24px。首屏标题区与摘要舞台之间要留出明显呼吸感,舞台下方的分析区保持紧凑。
|
|
295
|
+
|
|
296
|
+
卡片密集区域必须使用稳定网格:主 grid 设置 `align-items: stretch`,同一行面板等高,面板设置 `height: 100%`、`min-width: 0`、`min-height: 0`、`display: flex`、`flex-direction: column`。
|
|
297
|
+
|
|
298
|
+
长内容只能在面板内部滚动、截断或折叠。不要让图表、表格、标签、按钮或动态文本撑破父容器。
|
|
299
|
+
|
|
300
|
+
舞台内指标卡在桌面端优先一行 3-6 个;空间不足时换成 2 列或横向滚动。分析面板在桌面端可用 `2fr 1.15fr`,中屏变成单列堆叠,移动端所有模块单列。
|
|
301
|
+
|
|
302
|
+
## 7. PRD 槽位映射
|
|
303
|
+
|
|
304
|
+
| PRD 内容类型 | 推荐视觉槽位 | 规则 |
|
|
305
|
+
| --- | --- | --- |
|
|
306
|
+
| 页面身份、周期范围、全局入口 | `page_identity`、`global_actions` | 大标题左置,操作右置;只渲染 PRD 明确需要的工具。 |
|
|
307
|
+
| 核心摘要、关键数字、状态总览 | `primary_summary` | 放入深色指标舞台;3-6 项最佳,少于 3 项时可扩大单卡宽度。 |
|
|
308
|
+
| 时间、频率、分布、密度 | `primary_content_panel` | 优先热力网格、轻网格趋势或密度分布;固定图表高度。 |
|
|
309
|
+
| 目标、比例、构成、对比 | `supporting_panel` | 使用纹理化条形、圆角块、悬浮标签、图例点。 |
|
|
310
|
+
| 可搜索记录、任务、资源、事件 | `detail_table` 或 `detail_list` | 大圆角白底容器,行高稳定,首列图标化,长内容截断。 |
|
|
311
|
+
| 常用入口、快速发起、批量操作 | `quick_actions` | 仅 PRD 需要时渲染,作为独立区块,不塞进表格工具栏。 |
|
|
312
|
+
|
|
313
|
+
## 8. 组件规则
|
|
314
|
+
|
|
315
|
+
卡片和面板:外层面板使用 28-30px 大圆角、白底、极轻阴影和浅边框。深色舞台内的指标卡使用半透明暗面和亮边,不使用纯黑硬边框。
|
|
316
|
+
|
|
317
|
+
指标和摘要:标签字号小于数值,数值不使用负字距。图标容器固定尺寸,图标线宽统一,卡片内部上下间距稳定。
|
|
318
|
+
|
|
319
|
+
图表和主内容面板:图表容器必须有固定高度。热力格、柱条、占位块和图例尺寸固定,hover tooltip 使用白底、轻阴影、短文本,不遮挡关键数据。
|
|
320
|
+
|
|
321
|
+
表格和列表:表头文字弱化但清晰,行分隔线很浅。首列主副文本保持两行以内,右侧数值或状态对齐。搜索、筛选、排序等工具使用图标按钮,并提供 tooltip 或可访问标签。
|
|
322
|
+
|
|
323
|
+
输入和按钮:按钮高度可大于普通后台控件,桌面端全局操作约 64px。主要按钮可用深色或主题色,小图标按钮保持白底或浅底。禁用、加载、hover、focus、selected 状态都要完整。
|
|
324
|
+
|
|
325
|
+
快捷入口:若 PRD 需要,使用独立网格区块。每个入口固定高度、图标容器、短标题和可选副文案;不要让入口卡片高度随文案漂移。
|
|
326
|
+
|
|
327
|
+
## 9. 响应式与可访问性
|
|
328
|
+
|
|
329
|
+
桌面端以 1200px 以上为完整形态:顶部标题与操作同排,舞台内指标横排,分析区双列。768-1199px 可保留标题操作同排,但分析区改为单列,指标卡 2-3 列。小于 768px 时全部单列,顶部操作允许换行或横向滚动。
|
|
330
|
+
|
|
331
|
+
触控目标不小于 44px。纯图标按钮必须提供 `aria-label` 或 tooltip。focus ring 使用 `focus-ring` token,不能只靠颜色变化表达可聚焦状态。
|
|
332
|
+
|
|
333
|
+
图表状态不能只用颜色区分,至少结合纹理、标签、形状、深浅或图例文本。动态图表和光晕动效应支持 `prefers-reduced-motion`,减少或关闭非必要动画。
|
|
334
|
+
|
|
335
|
+
移动端表格可转为卡片列表或保留横向滚动,但表头、列宽和操作入口必须稳定,不允许内容互相遮挡。
|
|
336
|
+
|
|
337
|
+
## 10. 禁止项
|
|
338
|
+
|
|
339
|
+
- 禁止复制具体业务内容、示例数据、人名、机构名、字段名和页面专属文案。
|
|
340
|
+
- 禁止让 DESIGN.md 覆盖 PRD 的内容决策。
|
|
341
|
+
- 禁止把输入主题色铺满背景、指标卡主体、白色面板或表格区域。
|
|
342
|
+
- 禁止把当前默认强调色误当成视觉 DNA。
|
|
343
|
+
- 禁止退化成默认后台质感:普通白卡、裸表格、裸柱状图、没有微纹理的图表。
|
|
344
|
+
- 禁止瀑布流、自由高度卡片、无固定高度图表容器和零散 margin 拼接。
|
|
345
|
+
- 禁止按钮、标签、tooltip、表格文本互相遮挡或撑破父级。
|
|
346
|
+
- 禁止在深色舞台里使用低对比灰字;所有反色文字必须满足可读性。
|
|
347
|
+
|
|
348
|
+
## 11. Agent 使用提示
|
|
349
|
+
|
|
350
|
+
先读 PRD,确认真实内容和模块;再读取输入主题色并改写强调色 token;最后套用本视觉 DNA。
|
|
351
|
+
|
|
352
|
+
不要硬套槽位,不要凭空创造指标、图表、表格或快捷入口。PRD 没有的模块可以缺席,但已出现的模块必须达到本文的品质锚点。
|
|
353
|
+
|
|
354
|
+
保留浅暖画布、深色指标舞台、玻璃指标卡、白底分析面板、细颗粒图表纹理、大圆角明细表和稳定等高网格。主题色只改色相,不改变这些机制。
|
|
355
|
+
|
|
356
|
+
实现后检查桌面和移动端:指标卡是否等高,图表容器是否固定,表格行是否稳定,长文本是否截断,图标按钮是否有可访问标签,视觉是否避免默认后台感。
|
|
357
|
+
|
|
358
|
+
## 12. 交付自检清单
|
|
359
|
+
|
|
360
|
+
- [ ] 页面内容、字段、数据、操作都来自 PRD 或产品上下文。
|
|
361
|
+
- [ ] 深色指标舞台在 PRD 有摘要内容时被保留,并且没有被主题色大面积污染。
|
|
362
|
+
- [ ] 指标卡具备半透明暗面、细边框、图标容器和强数值层级。
|
|
363
|
+
- [ ] 图表或主内容面板有固定高度,包含热力格、图例、纹理、tooltip 或等价微观细节。
|
|
364
|
+
- [ ] 分析面板同一行等高,父级使用 `gap`,没有零散 margin 拼接。
|
|
365
|
+
- [ ] 表格或列表行高稳定,长文本截断,首列有清晰扫描锚点。
|
|
366
|
+
- [ ] hover、focus、selected、loading、empty、error、disabled 状态完整。
|
|
367
|
+
- [ ] 移动端没有文本、按钮、tooltip、图表和表格互相遮挡。
|
|
368
|
+
- [ ] 主题色只替换强调色、图表阶梯、状态辅助色和 focus ring。
|
|
369
|
+
- [ ] 最终 UI 没有默认后台感,具备可见的精致微细节。
|