openyida 2026.9.21 → 2026.9.22-beta.1
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 +145 -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/soft-timeline-analytics-workbench.md
ADDED
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: alpha
|
|
3
|
+
template_type: visual_dna_preset
|
|
4
|
+
name: soft-timeline-analytics-workbench
|
|
5
|
+
design_id: soft-timeline-analytics-workbench
|
|
6
|
+
design_status: draft
|
|
7
|
+
description: "适用于带核心指标、时间轴、趋势图和明细数据的柔和分析工作台视觉 DNA。"
|
|
8
|
+
scenes: [dashboard, workbench, analytics_home, operations_overview, data_table_page]
|
|
9
|
+
density: medium-high
|
|
10
|
+
layout: asymmetric_summary_timeline_chart_table
|
|
11
|
+
tone: [soft, analytical, clean, precise, calm]
|
|
12
|
+
tags: [light_dashboard, metric_stack, timeline_panel, trend_chart, data_table]
|
|
13
|
+
avoid: [marketing_landing_page, immersive_storytelling, media_gallery, freeform_canvas]
|
|
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: left_metric_stack
|
|
27
|
+
name: 左侧指标栈
|
|
28
|
+
confidence: observed
|
|
29
|
+
hooks: [summary_card, metric_grid, large_number, icon_badge, decorative_progress_ring]
|
|
30
|
+
invariant: [左侧使用较窄列承载主摘要与 2x2 指标卡, 主摘要卡比普通指标卡更高, 指标数字形成强层级, 普通指标卡保持白底和轻边框]
|
|
31
|
+
variable: [指标数量, 指标名称, 数值格式, 环比文本, 图标语义, 默认强调色]
|
|
32
|
+
- id: floating_timeline_panel
|
|
33
|
+
name: 浮动时间轴面板
|
|
34
|
+
confidence: observed
|
|
35
|
+
hooks: [date_strip, horizontal_cards, active_marker, dotted_axis, rounded_outline_panel]
|
|
36
|
+
invariant: [时间选择条位于面板顶部, 内容区使用浅色描边容器, 节点卡片错落但对齐到同一时间轴, 当前节点使用小面积高饱和强调色]
|
|
37
|
+
variable: [时间粒度, 节点数量, 节点标题, 附加信息, 头像或图标, 操作入口]
|
|
38
|
+
- id: refined_trend_panel
|
|
39
|
+
name: 轻网格趋势面板
|
|
40
|
+
confidence: observed
|
|
41
|
+
hooks: [line_chart, soft_grid, hollow_points, tooltip_card, range_select]
|
|
42
|
+
invariant: [图表面板白底大圆角, 标题栏与图表区分层, 折线使用强调色和空心节点, 辅助序列使用浅灰虚线, tooltip 使用深色高对比浮层]
|
|
43
|
+
variable: [指标维度, 时间范围, 图表序列数量, 坐标标签, tooltip 内容, 主题色]
|
|
44
|
+
- id: rounded_detail_table
|
|
45
|
+
name: 圆角明细表
|
|
46
|
+
confidence: observed
|
|
47
|
+
hooks: [search_input, sortable_header, checkbox_column, status_pill, iconized_cell]
|
|
48
|
+
invariant: [表格作为底部宽面板, 表头浅灰底并带分隔线, 行高稳定, 首列可选择, 状态使用胶囊标签和小圆点表达]
|
|
49
|
+
variable: [列定义, 行数据, 筛选控件, 状态集合, 单元格图标, 批量操作]
|
|
50
|
+
theme_adaptation:
|
|
51
|
+
accepts_theme_color: true
|
|
52
|
+
strategy: replace_hue_preserve_visual_mechanism
|
|
53
|
+
input: theme_color
|
|
54
|
+
replace_tokens: [tokens.colors.brand, tokens.colors.brand-strong, tokens.colors.brand-soft, tokens.colors.focus-ring]
|
|
55
|
+
derive_tokens: [tokens.colors.chart-primary, tokens.colors.chart-primary-soft, tokens.colors.status-positive, tokens.colors.surface-accent, tokens.colors.timeline-active]
|
|
56
|
+
preserve_tokens: [tokens.colors.bg-page, tokens.colors.surface, tokens.colors.surface-muted, tokens.colors.text-primary, tokens.colors.text-secondary, tokens.colors.border-subtle, tokens.colors.shadow-color]
|
|
57
|
+
rules:
|
|
58
|
+
- theme_color_only_changes_accent_hue
|
|
59
|
+
- do_not_tint_page_background
|
|
60
|
+
- do_not_turn_neutral_cards_into_colored_cards
|
|
61
|
+
- keep_accent_usage_small_area
|
|
62
|
+
- preserve_white_panels_soft_borders_and_large_radius
|
|
63
|
+
tokens:
|
|
64
|
+
colors:
|
|
65
|
+
bg-page: "#F6F7F5"
|
|
66
|
+
surface: "#FFFFFF"
|
|
67
|
+
surface-muted: "#F2F4F3"
|
|
68
|
+
surface-accent: "#EAF8F2"
|
|
69
|
+
text-primary: "#111827"
|
|
70
|
+
text-secondary: "#5B6472"
|
|
71
|
+
text-tertiary: "#8B95A1"
|
|
72
|
+
border-subtle: "#E5E9E7"
|
|
73
|
+
border-accent-soft: "#CFEFE1"
|
|
74
|
+
brand: "#1FB975"
|
|
75
|
+
brand-strong: "#13A463"
|
|
76
|
+
brand-soft: "#DFF7EC"
|
|
77
|
+
focus-ring: "#8BE0B8"
|
|
78
|
+
chart-primary: "#20B875"
|
|
79
|
+
chart-primary-soft: "#DDF5EA"
|
|
80
|
+
chart-secondary: "#CBD5D1"
|
|
81
|
+
status-positive: "#22B879"
|
|
82
|
+
status-warning: "#F0A92E"
|
|
83
|
+
status-danger: "#E35D5D"
|
|
84
|
+
shadow-color: "rgba(17, 24, 39, 0.06)"
|
|
85
|
+
typography:
|
|
86
|
+
fontFamily: "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
87
|
+
page-title: { fontSize: 30, fontWeight: 700, lineHeight: 1.2, letterSpacing: 0 }
|
|
88
|
+
panel-title: { fontSize: 18, fontWeight: 700, lineHeight: 1.3, letterSpacing: 0 }
|
|
89
|
+
metric-number: { fontSize: 44, fontWeight: 700, lineHeight: 1.05, letterSpacing: 0 }
|
|
90
|
+
hero-number: { fontSize: 64, fontWeight: 700, lineHeight: 1, letterSpacing: 0 }
|
|
91
|
+
body: { fontSize: 15, fontWeight: 500, lineHeight: 1.45, letterSpacing: 0 }
|
|
92
|
+
caption: { fontSize: 13, fontWeight: 500, lineHeight: 1.35, letterSpacing: 0 }
|
|
93
|
+
spacing:
|
|
94
|
+
page-x-desktop: 24
|
|
95
|
+
page-y-desktop: 32
|
|
96
|
+
grid-gap: 16
|
|
97
|
+
panel-x: 24
|
|
98
|
+
panel-y: 22
|
|
99
|
+
card-gap: 14
|
|
100
|
+
table-cell-x: 20
|
|
101
|
+
rounded:
|
|
102
|
+
panel: 20
|
|
103
|
+
summary: 20
|
|
104
|
+
card: 16
|
|
105
|
+
control: 14
|
|
106
|
+
pill: 999
|
|
107
|
+
icon: 999
|
|
108
|
+
shadow:
|
|
109
|
+
panel: "0 1px 2px rgba(17, 24, 39, 0.04), 0 12px 28px rgba(17, 24, 39, 0.04)"
|
|
110
|
+
floating: "0 10px 24px rgba(17, 24, 39, 0.08)"
|
|
111
|
+
layout_stability:
|
|
112
|
+
grid_align_items: stretch
|
|
113
|
+
panel_display: flex-column
|
|
114
|
+
panel_height: "100%"
|
|
115
|
+
overflow_policy: internal_scroll_or_truncate
|
|
116
|
+
spacing_policy: parent_gap_only
|
|
117
|
+
equal_height_rule: same_row_panels_align
|
|
118
|
+
fixed_height_tokens:
|
|
119
|
+
summary_card: 270px
|
|
120
|
+
metric_card: 168px
|
|
121
|
+
timeline_panel: 360px
|
|
122
|
+
trend_panel: 300px
|
|
123
|
+
table_row: 64px
|
|
124
|
+
table_header: 56px
|
|
125
|
+
quality_anchors:
|
|
126
|
+
- id: oversized_summary_card
|
|
127
|
+
name: 大号摘要卡与装饰性进度纹理
|
|
128
|
+
required_when: PRD 提供一个最高优先级摘要或总览状态
|
|
129
|
+
rule: 摘要卡使用强调色底、超大数字、低透明纹理和局部进度环,普通指标卡不得抢夺主摘要层级。
|
|
130
|
+
- id: staggered_timeline_panel
|
|
131
|
+
name: 错落时间轴节点面板
|
|
132
|
+
required_when: PRD 包含日程、阶段、流程、里程碑或时序节点
|
|
133
|
+
rule: 时间条、垂直当前线、节点卡片和选中态必须共同出现,节点卡错落但保持网格对齐。
|
|
134
|
+
- id: crafted_trend_tooltip
|
|
135
|
+
name: 精致趋势图浮层
|
|
136
|
+
required_when: PRD 包含趋势、周期对比或多序列数据
|
|
137
|
+
rule: 图表需要空心节点、浅网格、辅助虚线序列和深色 tooltip,不能只放默认折线。
|
|
138
|
+
- id: utility_table_shell
|
|
139
|
+
name: 工具化明细表壳
|
|
140
|
+
required_when: PRD 包含记录列表、检索、排序或状态追踪
|
|
141
|
+
rule: 表格必须有圆角面板、搜索或筛选工具、浅灰表头、稳定行高、状态胶囊和 hover/focus 状态。
|
|
142
|
+
- id: micro_icon_rhythm
|
|
143
|
+
name: 微图标节奏
|
|
144
|
+
required_when: PRD 包含指标卡、列表项、节点项或状态项
|
|
145
|
+
rule: 小图标置于浅描边圆形容器内,图标大小与文本基线对齐,避免散乱贴图感。
|
|
146
|
+
quality_floor:
|
|
147
|
+
target: polished_sample_level
|
|
148
|
+
avoid_default_admin_feel: true
|
|
149
|
+
requires_visible_micro_detail: true
|
|
150
|
+
minimum_craft_signals: [precise_alignment, stable_panel_heights, subtle_borders, soft_shadow, refined_table_header, chart_tooltip, active_state_texture]
|
|
151
|
+
components:
|
|
152
|
+
card:
|
|
153
|
+
surface: tokens.colors.surface
|
|
154
|
+
roundedRef: tokens.rounded.card
|
|
155
|
+
border: "1px solid tokens.colors.border-subtle"
|
|
156
|
+
shadowRef: tokens.shadow.panel
|
|
157
|
+
summary_card:
|
|
158
|
+
surface: tokens.colors.brand
|
|
159
|
+
roundedRef: tokens.rounded.summary
|
|
160
|
+
text: "#FFFFFF"
|
|
161
|
+
decoration: low_opacity_pattern_and_progress_ring
|
|
162
|
+
metric_card:
|
|
163
|
+
minHeightRef: layout_stability.fixed_height_tokens.metric_card
|
|
164
|
+
icon: circular_subtle_badge
|
|
165
|
+
number: tokens.typography.metric-number
|
|
166
|
+
input:
|
|
167
|
+
height: 48
|
|
168
|
+
roundedRef: tokens.rounded.control
|
|
169
|
+
border: "1px solid tokens.colors.border-subtle"
|
|
170
|
+
button:
|
|
171
|
+
height: 44
|
|
172
|
+
roundedRef: tokens.rounded.control
|
|
173
|
+
icon_first: true
|
|
174
|
+
status_pill:
|
|
175
|
+
roundedRef: tokens.rounded.pill
|
|
176
|
+
has_dot: true
|
|
177
|
+
neutral_bg: true
|
|
178
|
+
chart:
|
|
179
|
+
line_width: 3
|
|
180
|
+
point_style: hollow_circle
|
|
181
|
+
grid: soft_vertical_guides
|
|
182
|
+
table:
|
|
183
|
+
rowHeightRef: layout_stability.fixed_height_tokens.table_row
|
|
184
|
+
headerHeightRef: layout_stability.fixed_height_tokens.table_header
|
|
185
|
+
sortable_header: true
|
|
186
|
+
modules:
|
|
187
|
+
page_identity:
|
|
188
|
+
confidence: observed
|
|
189
|
+
placement: top_left
|
|
190
|
+
render_policy: prd_only
|
|
191
|
+
primary_summary:
|
|
192
|
+
confidence: observed
|
|
193
|
+
placement: left_column_top
|
|
194
|
+
render_policy: prd_only
|
|
195
|
+
primary_metrics:
|
|
196
|
+
confidence: observed
|
|
197
|
+
placement: left_column_below_summary
|
|
198
|
+
item_count: 2-4
|
|
199
|
+
render_policy: prd_only
|
|
200
|
+
timeline_panel:
|
|
201
|
+
confidence: observed
|
|
202
|
+
placement: right_column_top
|
|
203
|
+
render_policy: prd_only
|
|
204
|
+
trend_panel:
|
|
205
|
+
confidence: observed
|
|
206
|
+
placement: right_column_middle
|
|
207
|
+
render_policy: prd_only
|
|
208
|
+
detail_table:
|
|
209
|
+
confidence: observed
|
|
210
|
+
placement: full_width_bottom
|
|
211
|
+
render_policy: prd_only
|
|
212
|
+
quick_actions:
|
|
213
|
+
confidence: inferred
|
|
214
|
+
render_policy: prd_only
|
|
215
|
+
placement: independent_section_after_summary
|
|
216
|
+
item_count: 4-8
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
# Soft Timeline Analytics Workbench DESIGN.md
|
|
220
|
+
|
|
221
|
+
> front matter 是给流程和生成器读取的结构化配置;人工评审优先阅读下方正文。若两者冲突,风格选择、换色策略和 token 数值以前面的 YAML 为准,使用边界和业务取舍以正文为准。
|
|
222
|
+
|
|
223
|
+
## 1. 快速理解
|
|
224
|
+
|
|
225
|
+
这个视觉 DNA 适合做浅底、高精度、面板化的分析工作台。它的关键形态是左侧摘要指标栈、右侧时间轴与趋势面板、底部圆角明细表。
|
|
226
|
+
|
|
227
|
+
PRD 决定页面内容、字段、模块和业务优先级;本文件只决定 UI 风格、布局机制和组件质感。默认强调色可以被主题色替换,但只能改变小面积强调色相,不能改变白底面板、轻边框、大圆角、稳定网格和数据组件的组织方式。
|
|
228
|
+
|
|
229
|
+
适合需要扫读状态、追踪时序、查看趋势和检索明细的工具型页面。不适合强叙事、强媒体、暗色大屏或单一表单页面。编码结果必须保留可见微细节,不能退化成普通后台套路。
|
|
230
|
+
|
|
231
|
+
## 2. 使用边界
|
|
232
|
+
|
|
233
|
+
PRD 负责内容、功能、信息架构、模块是否存在、字段是否展示、数据优先级和交互流程。本文件负责视觉 DNA、布局气质、组件形态、密度、状态、响应式和可访问性。
|
|
234
|
+
|
|
235
|
+
不要为了套用本风格而凭空创造 PRD 未要求的业务内容。没有核心摘要时,不渲染 `primary_summary`;没有时序节点时,不渲染 `timeline_panel`;没有趋势数据时,用同等品质的主内容面板替代 `trend_panel`;没有明细记录时,不强行生成表格。
|
|
236
|
+
|
|
237
|
+
禁止复用风格来源中的具体业务字段、示例数据、机构名、分类名称、页面专属文案或特殊图标语义。所有文本、数据、图标和状态都必须来自 PRD 或真实数据契约。
|
|
238
|
+
|
|
239
|
+
## 3. 设计风格选择与换色逻辑
|
|
240
|
+
|
|
241
|
+
当用户意图包含“概览、追踪、趋势、明细、状态管理、运营工作台”时,可以选择该风格。页面需要同时容纳摘要信息和结构化数据时最适合;如果只是单纯展示文章、相册、营销转化或全屏可视化,应选择其他视觉 DNA。
|
|
242
|
+
|
|
243
|
+
不要把默认强调色理解成 DNA。该风格的 DNA 是白底面板、左窄右宽的不对称网格、摘要卡强层级、时间轴节点、轻网格折线图和工具化表格。主题色只改写 `brand`、`brand-soft`、`chart-primary`、`timeline-active`、状态辅助色和 `focus-ring`。
|
|
244
|
+
|
|
245
|
+
背景、表面、中性文字、浅边框、阴影、大圆角、面板层级、图表空心节点、深色 tooltip 和表格结构不能被主题色改变。主题色不得铺满页面背景,也不得把普通白色卡片变成大面积彩色卡片。
|
|
246
|
+
|
|
247
|
+
## 4. 视觉 DNA
|
|
248
|
+
|
|
249
|
+
### 左侧指标栈
|
|
250
|
+
|
|
251
|
+
不可变机制是左侧较窄列中的“一个大摘要 + 多个小指标”。大摘要负责页面最强视觉重心,普通指标卡保持白底、轻边框和稳定等高。主题色替换后,大摘要可以使用新主题色,但小指标卡仍以中性表面为主。
|
|
252
|
+
|
|
253
|
+
可变部分包括指标名称、数值格式、趋势表达、图标语义和卡片数量。若缺失该机制,页面会失去快速扫读入口,整体变成松散面板堆叠。
|
|
254
|
+
|
|
255
|
+
### 浮动时间轴面板
|
|
256
|
+
|
|
257
|
+
不可变机制是顶部时间选择条、内容区浅描边容器、当前时间线和错落节点卡片。当前节点使用小面积高饱和强调色,其他节点保持白底和细边框。
|
|
258
|
+
|
|
259
|
+
可变部分包括时间粒度、节点数量、节点信息、图标和操作入口。主题色只替换当前节点、竖线、选中标签和少量边框光晕。若 PRD 没有时序内容,应用同等品质的分组列表、阶段面板或主内容面板,不要伪造时间轴。
|
|
260
|
+
|
|
261
|
+
### 轻网格趋势面板
|
|
262
|
+
|
|
263
|
+
不可变机制是大圆角白底面板、清晰标题栏、浅网格、强调色折线、空心节点、辅助虚线序列和深色 tooltip。图表容器必须有固定高度,不能随数据或标签撑开。
|
|
264
|
+
|
|
265
|
+
可变部分包括图表类型、序列数量、时间范围、坐标标签和 tooltip 内容。若用其他图表承载 PRD 数据,也要保留轻网格、精细图例、悬浮反馈和足够留白。
|
|
266
|
+
|
|
267
|
+
### 圆角明细表
|
|
268
|
+
|
|
269
|
+
不可变机制是底部全宽面板、工具栏、浅灰表头、稳定行高、复选框列、可排序列头和状态胶囊。表格边界要干净,行分隔线要轻,hover 与 selected 状态要明确但克制。
|
|
270
|
+
|
|
271
|
+
可变部分包括列定义、筛选控件、状态集合、图标化单元格和批量操作。若 PRD 是列表而非表格,也要保留圆角面板、统一行高、状态标签和工具区。
|
|
272
|
+
|
|
273
|
+
## 5. 视觉品质基线
|
|
274
|
+
|
|
275
|
+
`oversized_summary_card` 用于承载最高优先级摘要。它通过超大数字、强调色底、局部进度纹理和足够内边距建立首屏重心。没有核心摘要时,可用高品质信息面板替代,但不能强造数字。
|
|
276
|
+
|
|
277
|
+
`staggered_timeline_panel` 用于承载时序、阶段或里程碑。时间条、当前线、节点卡片和选中态必须作为一个完整组件出现。没有时序内容时,用分组看板或横向步骤面板替代,仍需保持对齐和层级。
|
|
278
|
+
|
|
279
|
+
`crafted_trend_tooltip` 用于承载趋势数据。折线图至少包含空心节点、浅色辅助线、细网格和深色 tooltip。默认图表库样式需要被覆写,避免粗糙坐标轴、拥挤标签和无状态反馈。
|
|
280
|
+
|
|
281
|
+
`utility_table_shell` 用于承载记录检索和状态追踪。表格必须包含工具区、圆角外壳、稳定表头、行 hover、选中状态和状态胶囊。只有表格线条和文字会显得廉价。
|
|
282
|
+
|
|
283
|
+
`micro_icon_rhythm` 用于指标卡、节点项、列表项和状态项。小图标应放入圆形浅描边容器,尺寸统一,和文本基线对齐。图标只辅助识别,不承担业务定义。
|
|
284
|
+
|
|
285
|
+
## 6. 布局规则
|
|
286
|
+
|
|
287
|
+
推荐桌面布局为 12 列网格:左侧 4 列承载摘要和指标栈,右侧 8 列承载时间轴和趋势面板,底部明细区横跨 12 列。页面外边距约 24px,区块间距约 16px,首屏结构应紧凑但不拥挤。
|
|
288
|
+
|
|
289
|
+
这些槽位不是业务结构要求。PRD 没有的模块不要强行补齐,已有模块也可以根据内容优先级调整顺序,但需要保留“摘要优先、分析居中、明细沉底”的阅读节奏。
|
|
290
|
+
|
|
291
|
+
布局稳定性硬规则:
|
|
292
|
+
|
|
293
|
+
- 主 grid 使用 `align-items: stretch`。
|
|
294
|
+
- 同一行面板等高,面板使用 `height: 100%`。
|
|
295
|
+
- 面板内部使用 `display: flex` 和 `flex-direction: column`。
|
|
296
|
+
- 所有面板设置 `min-width: 0` 和 `min-height: 0`。
|
|
297
|
+
- 长文本必须截断、折叠或在面板内部滚动。
|
|
298
|
+
- 图表容器必须有固定高度或响应式高度 token。
|
|
299
|
+
- 区块间距由父级 `gap` 管理,不用零散 margin 拼接。
|
|
300
|
+
|
|
301
|
+
## 7. PRD 槽位映射
|
|
302
|
+
|
|
303
|
+
| PRD 内容类型 | 推荐槽位 | 渲染规则 |
|
|
304
|
+
| --- | --- | --- |
|
|
305
|
+
| 页面名称与全局操作 | `page_identity`, `global_actions` | 顶部左侧标题,右侧可放轻量筛选或操作;没有操作时只保留标题。 |
|
|
306
|
+
| 最高优先级摘要 | `primary_summary` | 使用强调色大卡;没有量化摘要时不要生成大数字。 |
|
|
307
|
+
| 次级指标集合 | `primary_metrics` | 使用 2 到 4 个白底指标卡;指标必须来自 PRD。 |
|
|
308
|
+
| 时序、阶段、里程碑 | `timeline_panel` | 使用顶部时间条、当前线和节点卡;没有时序内容时不渲染。 |
|
|
309
|
+
| 趋势、周期对比、多序列数据 | `trend_panel` | 使用轻网格图表;没有图表数据时替换为同品质主内容面板。 |
|
|
310
|
+
| 记录、清单、状态追踪 | `detail_table` 或 `detail_list` | 使用底部圆角工具化外壳;列和操作由 PRD 决定。 |
|
|
311
|
+
| 常用入口或批处理 | `quick_actions` | 仅当 PRD 要求快捷入口时渲染,作为独立区块。 |
|
|
312
|
+
| 加载、空状态、错误状态 | `status_note`, `empty_state` | 保持白底、轻描边、明确反馈和可恢复操作。 |
|
|
313
|
+
|
|
314
|
+
## 8. 组件规则
|
|
315
|
+
|
|
316
|
+
卡片和面板使用白底、20px 左右圆角、1px 浅边框和极轻阴影。不要把页面区块包进多层卡片;重复项、表格外壳、浮层和工具面板才使用卡片样式。
|
|
317
|
+
|
|
318
|
+
指标组件需要明确层级。主摘要数字可使用 56px 到 68px,普通指标数字使用 36px 到 48px。趋势文本使用小字号和主题色或状态色,但不能只靠颜色表达含义。
|
|
319
|
+
|
|
320
|
+
图表组件需要稳定高度、浅网格、克制轴线、空心节点、图例点和 hover tooltip。折线厚度约 3px,辅助序列可用浅灰虚线。tooltip 使用深色面板、8px 到 12px 圆角和清晰的左右对齐数值。
|
|
321
|
+
|
|
322
|
+
表格和列表需要工具栏、搜索或筛选控件、浅灰表头、可排序图标、复选框列、稳定行高、行 hover 和 selected 状态。状态胶囊使用圆角、浅底、小圆点和短文本,不要使用大面积强色块。
|
|
323
|
+
|
|
324
|
+
输入和按钮高度建议 44px 到 48px。图标按钮使用熟悉图标,并提供 hover、focus、disabled 和 loading 状态。纯图标按钮必须有可访问名称。
|
|
325
|
+
|
|
326
|
+
快捷入口如被 PRD 要求,应作为独立区块,使用圆形图标容器、短标签和轻边框,不要塞进表格工具栏或面板尾部。入口数量建议 4 到 8 个,移动端可横向滚动。
|
|
327
|
+
|
|
328
|
+
## 9. 响应式与可访问性
|
|
329
|
+
|
|
330
|
+
桌面端使用不对称网格;小于 1100px 时可改为上下结构,摘要指标在前,时间轴和图表在后,明细表最后。小于 720px 时所有面板单列堆叠,表格允许横向滚动,时间轴节点改为纵向列表或可横滑卡片。
|
|
331
|
+
|
|
332
|
+
触控目标不小于 44px。所有交互控件需要清晰 focus ring,颜色使用 `focus-ring`,同时保留边框或阴影变化。状态不能只依赖颜色,需要配合文字、图标、圆点或形状。
|
|
333
|
+
|
|
334
|
+
动效保持轻量:hover 可使用 120ms 到 180ms 的阴影、边框或位移动效;图表入场可淡入,不做强烈弹跳。遵守 `prefers-reduced-motion`,在用户减少动态效果时关闭非必要动画。
|
|
335
|
+
|
|
336
|
+
## 10. 禁止项
|
|
337
|
+
|
|
338
|
+
- 禁止复制具体业务内容、字段名、示例数据、机构名、分类名称或页面专属文案。
|
|
339
|
+
- 禁止让本文件覆盖 PRD 的内容决策。
|
|
340
|
+
- 禁止把输入主题色铺满背景、指标卡底色或大面积面板。
|
|
341
|
+
- 禁止把当前主题色误当成视觉 DNA。
|
|
342
|
+
- 禁止使用默认后台质感的粗糙表格、默认图表和无状态按钮。
|
|
343
|
+
- 禁止瀑布流、自由高度卡片、无固定高度图表容器和零散 margin 拼接。
|
|
344
|
+
- 禁止长内容撑破父级、表格列挤压到不可读、按钮文字溢出或图标与文本错位。
|
|
345
|
+
- 禁止在紧凑面板中使用英雄级字号。
|
|
346
|
+
|
|
347
|
+
## 11. Agent 使用提示
|
|
348
|
+
|
|
349
|
+
先读取 PRD,确认真实模块、字段、数据和交互;再读取主题色输入,改写强调色 token;最后应用本视觉 DNA。不要硬套槽位,不要凭空创造内容,不要复用任何风格来源中的具体文本或数据。
|
|
350
|
+
|
|
351
|
+
实现时优先保留左侧指标栈、时间轴面板、趋势图面板和明细表外壳这些视觉机制。若 PRD 缺少对应内容,用同等品质的中性组件替代,而不是生成假内容。主题色只替换小面积强调色、图表主序列、选中态、状态辅助色和 focus ring,不能改变浅底、白色面板、轻边框、大圆角和稳定网格。
|
|
352
|
+
|
|
353
|
+
交付结果必须达到 `quality_floor.target`:有精确对齐、稳定面板高度、细腻边框、轻阴影、完整交互状态、精制表头、图表 tooltip 和可见微细节。
|
|
354
|
+
|
|
355
|
+
## 12. 交付自检清单
|
|
356
|
+
|
|
357
|
+
- [ ] 页面内容、字段、数值和状态都来自 PRD 或真实数据契约。
|
|
358
|
+
- [ ] 没有复制具体业务内容、示例数据、机构名、分类名称或页面专属文案。
|
|
359
|
+
- [ ] 主题色只改写强调色、图表主序列、选中态、状态辅助色和 focus ring。
|
|
360
|
+
- [ ] 白底页面、白色面板、轻边框、大圆角、稳定网格和数据组件组织方式被保留。
|
|
361
|
+
- [ ] 质量锚点按 PRD 条件落地,缺失内容时使用同等品质替代组件。
|
|
362
|
+
- [ ] 主 grid 使用 `align-items: stretch`,同一行面板等高。
|
|
363
|
+
- [ ] 面板设置 `height: 100%`、`min-width: 0`、`min-height: 0` 和内部滚动或截断策略。
|
|
364
|
+
- [ ] 图表容器有稳定高度,tooltip、图例、hover 和空状态完整。
|
|
365
|
+
- [ ] 表格或列表有工具区、稳定表头、行 hover、选中态和状态标签。
|
|
366
|
+
- [ ] 移动端布局不会溢出,表格和时间轴有合理折叠或横向滚动。
|
|
367
|
+
- [ ] 纯图标按钮有可访问名称,状态不只依赖颜色表达。
|