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/command-filter-card-console.md
ADDED
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: alpha
|
|
3
|
+
template_type: visual_dna_preset
|
|
4
|
+
name: command-filter-card-console
|
|
5
|
+
design_id: yida-style-command-filter-card-console
|
|
6
|
+
design_status: draft
|
|
7
|
+
description: 内容中立的命令型筛选卡片控制台视觉 DNA,适合左侧高级筛选、顶部命令栏、卡片矩阵和分页管理并存的页面。
|
|
8
|
+
scenes: [management_catalog, resource_console, inventory_grid, searchable_collection, object_admin]
|
|
9
|
+
density: high
|
|
10
|
+
layout: bordered_filter_console_with_command_grid
|
|
11
|
+
tone: [crisp, operational, structured, neutral, efficient]
|
|
12
|
+
tags: [filter_drawer_panel, command_toolbar, segmented_status_tabs, dense_card_grid, pagination]
|
|
13
|
+
avoid: [editorial_gallery, marketing_page, executive_dashboard, long_text_reading, immersive_media_page]
|
|
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: bordered_filter_drawer_panel
|
|
27
|
+
name: 边框化高级筛选面板
|
|
28
|
+
confidence: observed
|
|
29
|
+
hooks: [layout.sidebar, components.filter_section, components.checkbox, components.color_swatch, components.range_slider]
|
|
30
|
+
invariant: [左侧筛选区像可关闭抽屉一样独立成面, 分组之间有细分割线, 分组标题右侧有清除/折叠动作, 内部可局部滚动]
|
|
31
|
+
variable: [筛选字段, 分组开合状态, 控件类型, 是否固定在左侧, 小屏展示方式]
|
|
32
|
+
- id: command_toolbar_status_tabs
|
|
33
|
+
name: 状态标签与命令工具条
|
|
34
|
+
confidence: observed
|
|
35
|
+
hooks: [layout.toolbar, components.segmented_control, components.search_input, components.filter_button, components.primary_button]
|
|
36
|
+
invariant: [顶部一行同时承载状态切换、搜索、筛选入口和主要命令, 控件高度统一, 主要命令使用更高对比按钮]
|
|
37
|
+
variable: [状态数量, 搜索占位, 命令数量, 是否出现新增入口, 控件排列顺序]
|
|
38
|
+
- id: compact_admin_card_grid
|
|
39
|
+
name: 紧凑管理卡片矩阵
|
|
40
|
+
confidence: observed
|
|
41
|
+
hooks: [layout.card_grid, components.admin_card, components.media_preview, components.more_menu, css.align-items-stretch]
|
|
42
|
+
invariant: [卡片边框清晰但阴影很轻, 顶部微状态点和更多菜单固定在角落, 媒体预览居中, 信息区简洁]
|
|
43
|
+
variable: [卡片列数, 预览类型, 菜单动作, 状态点数量, 字段数量]
|
|
44
|
+
- id: bottom_pagination_bar
|
|
45
|
+
name: 底部分页控制条
|
|
46
|
+
confidence: observed
|
|
47
|
+
hooks: [layout.pagination_bar, components.page_size_select, components.pagination]
|
|
48
|
+
invariant: [分页位于内容面板底部, 每页数量控制在左, 页码和翻页在右, 控件尺寸一致]
|
|
49
|
+
variable: [分页数量, 每页条数, 是否出现总数, 是否改为无限滚动]
|
|
50
|
+
- id: swatch_and_range_filters
|
|
51
|
+
name: 色点与范围筛选微控件
|
|
52
|
+
confidence: observed
|
|
53
|
+
hooks: [components.color_swatch, components.range_slider, components.price_inputs, tokens.colors.brand]
|
|
54
|
+
invariant: [颜色/类型类筛选使用圆形色点或小方控件, 范围筛选使用输入框加滑杆, 选中态同时有边框和填充]
|
|
55
|
+
variable: [筛选语义, 色点数量, 范围单位, 是否展示分布柱]
|
|
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-strong, tokens.colors.focus-ring]
|
|
61
|
+
derive_tokens: [tokens.colors.brand-hover, tokens.colors.brand-pressed, tokens.colors.slider-active, tokens.colors.status-accent, tokens.colors.selected-swatch-ring]
|
|
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-muted, tokens.colors.border-subtle, tokens.colors.border-strong, tokens.colors.command-dark]
|
|
63
|
+
rules:
|
|
64
|
+
- theme_color_only_changes_accent_hue
|
|
65
|
+
- do_not_tint_page_background
|
|
66
|
+
- do_not_turn_neutral_cards_into_colored_cards
|
|
67
|
+
- keep_accent_usage_small_area
|
|
68
|
+
- preserve_command_button_contrast
|
|
69
|
+
tokens:
|
|
70
|
+
colors:
|
|
71
|
+
bg-page: "#FFFFFF"
|
|
72
|
+
surface: "#FFFFFF"
|
|
73
|
+
surface-muted: "#F7F8FA"
|
|
74
|
+
media-bg: "#FFFFFF"
|
|
75
|
+
text-primary: "#171717"
|
|
76
|
+
text-secondary: "#5F6673"
|
|
77
|
+
text-muted: "#9CA3AF"
|
|
78
|
+
border-subtle: "#E5E7EB"
|
|
79
|
+
border-strong: "#D4D7DE"
|
|
80
|
+
brand: "#DF604C"
|
|
81
|
+
brand-soft: "#FFF1EE"
|
|
82
|
+
brand-strong: "#C94C39"
|
|
83
|
+
brand-hover: "#D85844"
|
|
84
|
+
brand-pressed: "#B94332"
|
|
85
|
+
focus-ring: "rgba(223, 96, 76, 0.26)"
|
|
86
|
+
slider-active: "#DF604C"
|
|
87
|
+
status-accent: "#DF604C"
|
|
88
|
+
selected-swatch-ring: "#DF604C"
|
|
89
|
+
rating: "#96A64A"
|
|
90
|
+
command-dark: "#2C2C2C"
|
|
91
|
+
typography:
|
|
92
|
+
fontFamily: "Inter, PingFang SC, Microsoft YaHei, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
93
|
+
page-title: { fontSize: 24, fontWeight: 700, lineHeight: 1.25, letterSpacing: 0 }
|
|
94
|
+
section-title: { fontSize: 22, fontWeight: 650, lineHeight: 1.3, letterSpacing: 0 }
|
|
95
|
+
card-title: { fontSize: 18, fontWeight: 600, lineHeight: 1.35, letterSpacing: 0 }
|
|
96
|
+
card-value: { fontSize: 18, fontWeight: 500, lineHeight: 1.35, letterSpacing: 0 }
|
|
97
|
+
body: { fontSize: 16, fontWeight: 400, lineHeight: 1.5, letterSpacing: 0 }
|
|
98
|
+
meta: { fontSize: 15, fontWeight: 500, lineHeight: 1.4, letterSpacing: 0 }
|
|
99
|
+
spacing:
|
|
100
|
+
page-x-desktop: 28
|
|
101
|
+
page-y-desktop: 30
|
|
102
|
+
page-x-tablet: 20
|
|
103
|
+
page-x-mobile: 14
|
|
104
|
+
shell-gap: 22
|
|
105
|
+
sidebar-width: 422
|
|
106
|
+
sidebar-x: 28
|
|
107
|
+
sidebar-y: 24
|
|
108
|
+
toolbar-height: 96
|
|
109
|
+
grid-gap-x: 22
|
|
110
|
+
grid-gap-y: 24
|
|
111
|
+
card-x: 22
|
|
112
|
+
card-y: 18
|
|
113
|
+
media-height: 210
|
|
114
|
+
rounded:
|
|
115
|
+
shell: 16
|
|
116
|
+
panel: 16
|
|
117
|
+
card: 10
|
|
118
|
+
control: 8
|
|
119
|
+
swatch: 999
|
|
120
|
+
pagination: 8
|
|
121
|
+
shadow:
|
|
122
|
+
panel: "0 1px 2px rgba(17, 24, 39, 0.03)"
|
|
123
|
+
card-hover: "0 8px 20px rgba(17, 24, 39, 0.08)"
|
|
124
|
+
layout_stability:
|
|
125
|
+
grid_align_items: stretch
|
|
126
|
+
panel_display: flex-column
|
|
127
|
+
panel_height: "100%"
|
|
128
|
+
overflow_policy: internal_scroll_or_truncate
|
|
129
|
+
spacing_policy: parent_gap_only
|
|
130
|
+
equal_height_rule: same_row_cards_align
|
|
131
|
+
fixed_height_tokens:
|
|
132
|
+
toolbar_height: 96px
|
|
133
|
+
sidebar_min_height: 900px
|
|
134
|
+
filter_section_min_height: 104px
|
|
135
|
+
card_media: 210px
|
|
136
|
+
card_info: 118px
|
|
137
|
+
card_min_height: 338px
|
|
138
|
+
pagination_height: 76px
|
|
139
|
+
quality_anchors:
|
|
140
|
+
- id: command_toolbar_alignment
|
|
141
|
+
name: 命令工具条精准对齐
|
|
142
|
+
required_when: PRD 包含状态切换、搜索、筛选或主命令
|
|
143
|
+
rule: 所有顶部控件高度统一,状态标签靠左,搜索和命令靠右;主要命令使用高对比按钮但不改变整体中性色。
|
|
144
|
+
- id: sectional_filter_boundaries
|
|
145
|
+
name: 筛选分组边界
|
|
146
|
+
required_when: PRD 包含多组高级筛选
|
|
147
|
+
rule: 筛选面板分组必须有标题、分割线和局部清除/折叠动作;长列表区域内部滚动。
|
|
148
|
+
- id: micro_status_card_header
|
|
149
|
+
name: 卡片顶部微状态行
|
|
150
|
+
required_when: PRD 对象存在状态、更多操作或卡片级菜单
|
|
151
|
+
rule: 微状态点固定在左上,更多菜单固定在右上;它们不能挤占媒体预览或导致卡片高度变化。
|
|
152
|
+
- id: clean_preview_separator
|
|
153
|
+
name: 预览与信息细分割
|
|
154
|
+
required_when: PRD 对象以卡片管理
|
|
155
|
+
rule: 媒体预览与文本信息之间使用细分割线,保持管理感和扫描效率。
|
|
156
|
+
- id: anchored_pagination
|
|
157
|
+
name: 底部分页锚定
|
|
158
|
+
required_when: PRD 需要分页、每页数量或批量浏览
|
|
159
|
+
rule: 分页条固定在内容面板底部,左侧每页数量,右侧页码;翻页状态必须完整。
|
|
160
|
+
quality_floor:
|
|
161
|
+
target: polished_management_catalog_level
|
|
162
|
+
avoid_default_admin_feel: true
|
|
163
|
+
requires_visible_micro_detail: true
|
|
164
|
+
minimum_craft_signals: [aligned_toolbar, sectional_filters, micro_status_dots, stable_preview_cards, anchored_pagination, complete_menu_states]
|
|
165
|
+
components:
|
|
166
|
+
shell_panel: { roundedRef: tokens.rounded.shell, borderRef: tokens.colors.border-subtle, backgroundRef: tokens.colors.surface }
|
|
167
|
+
filter_panel: { widthRef: tokens.spacing.sidebar-width, roundedRef: tokens.rounded.panel, borderRef: tokens.colors.border-subtle }
|
|
168
|
+
segmented_control: { height: 50, roundedRef: tokens.rounded.control }
|
|
169
|
+
search_input: { height: 50, roundedRef: tokens.rounded.control }
|
|
170
|
+
filter_button: { height: 50, roundedRef: tokens.rounded.control }
|
|
171
|
+
primary_button: { height: 50, roundedRef: tokens.rounded.control, backgroundRef: tokens.colors.command-dark }
|
|
172
|
+
checkbox: { size: 26, roundedRef: tokens.rounded.control, checkedColorRef: tokens.colors.brand }
|
|
173
|
+
range_slider: { trackHeight: 4, thumbSize: 20, activeRef: tokens.colors.slider-active }
|
|
174
|
+
color_swatch: { size: 32, roundedRef: tokens.rounded.swatch, ringRef: tokens.colors.selected-swatch-ring }
|
|
175
|
+
admin_card: { roundedRef: tokens.rounded.card, borderRef: tokens.colors.border-subtle, hoverShadowRef: tokens.shadow.card-hover }
|
|
176
|
+
pagination: { itemSize: 44, roundedRef: tokens.rounded.pagination }
|
|
177
|
+
modules:
|
|
178
|
+
quick_actions:
|
|
179
|
+
confidence: inferred
|
|
180
|
+
render_policy: prd_only
|
|
181
|
+
placement: toolbar_after_primary_command_or_independent_row
|
|
182
|
+
item_count: 2-5
|
|
183
|
+
visual_rule: 快捷入口应使用小型按钮或菜单,不得抢主命令层级。
|
|
184
|
+
filter_panel:
|
|
185
|
+
confidence: observed
|
|
186
|
+
render_policy: prd_required_when_filters_exist
|
|
187
|
+
placement: left_panel_desktop_modal_mobile
|
|
188
|
+
pagination:
|
|
189
|
+
confidence: observed
|
|
190
|
+
render_policy: prd_required_when_paginated
|
|
191
|
+
placement: bottom_of_content_panel
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
# Command Filter Card Console DESIGN.md
|
|
195
|
+
|
|
196
|
+
> front matter 是给流程和生成器读取的结构化配置;人工评审优先阅读下方正文。若两者冲突,风格选择、换色策略和 token 数值以前面的 YAML 为准,使用边界和业务取舍以正文为准。
|
|
197
|
+
|
|
198
|
+
## 1. 快速理解
|
|
199
|
+
|
|
200
|
+
这个视觉 DNA 面向需要搜索、筛选、状态切换和卡片化管理的高效率页面。它由左侧边框化筛选面板、顶部命令工具条、紧凑卡片矩阵和底部分页构成。PRD 决定对象、状态、筛选项、命令和分页规则;本文件只约束视觉结构、控件密度、边框层级、状态表达和响应式。主题色只能替换小面积选中态和辅助状态,不改变中性控制台、细边框卡片和高对比主命令的机制。
|
|
201
|
+
|
|
202
|
+
## 2. 使用边界
|
|
203
|
+
|
|
204
|
+
适合管理型对象目录、资源库、状态筛选列表、可搜索集合和分页浏览控制台。若页面需要强图片陈列、品牌叙事、复杂图表或单一步骤表单,不应选择该风格。
|
|
205
|
+
|
|
206
|
+
不要为了套用视觉槽位创造 PRD 没有的状态切换、筛选分组、新建命令、更多菜单或分页。具体字段、对象名称、状态名称、数值和操作必须来自 PRD。
|
|
207
|
+
|
|
208
|
+
## 3. 设计风格选择与换色逻辑
|
|
209
|
+
|
|
210
|
+
当任务重心是“管理一批对象并快速定位/操作”时选择该风格。它比柔和画廊更偏控制台,强调顶部命令、左侧筛选、卡片操作和分页闭环。
|
|
211
|
+
|
|
212
|
+
主题色只作用于复选框、范围滑块、色点选中环、微状态点和 focus ring。主命令按钮可以保持深色高对比,也可以在 PRD 或主题策略要求时映射为主题色,但不能把整个工具条染色。
|
|
213
|
+
|
|
214
|
+
背景、白色面板、边框、卡片、媒体预览区、中性文字和分页形态必须保持稳定。
|
|
215
|
+
|
|
216
|
+
## 4. 视觉 DNA
|
|
217
|
+
|
|
218
|
+
`bordered_filter_drawer_panel` 是高级筛选机制。它像固定抽屉,左侧独立成面,分组可滚动,标题右侧可放清除或折叠动作。可变的是筛选字段和控件;不可变的是清晰分组边界。
|
|
219
|
+
|
|
220
|
+
`command_toolbar_status_tabs` 是管理效率来源。状态标签、搜索、筛选入口和主命令在同一工具条里精准对齐。可变的是命令和状态内容;不可变的是统一高度、左右分区和主命令层级。
|
|
221
|
+
|
|
222
|
+
`compact_admin_card_grid` 是对象承载方式。卡片紧凑、边框明确、顶部角落有微状态和更多菜单,预览区居中。可变的是预览内容和字段;不可变的是稳定高度和管理感。
|
|
223
|
+
|
|
224
|
+
`bottom_pagination_bar` 形成批量浏览闭环。分页条应锚定在内容面板底部,左右分工明确。没有分页需求时不要强行显示,可替换为加载更多或总量提示。
|
|
225
|
+
|
|
226
|
+
`swatch_and_range_filters` 是筛选面板的微细节。颜色、类别或状态可用圆点/小方控件,范围用输入框和滑杆组合。主题色替换后仍要保持小面积表达。
|
|
227
|
+
|
|
228
|
+
## 5. 视觉品质基线
|
|
229
|
+
|
|
230
|
+
命令工具条精准对齐能避免普通后台的松散感。所有控件高度、圆角和间距必须统一。
|
|
231
|
+
|
|
232
|
+
筛选分组边界让复杂条件不混乱。每组有标题、分割线、内部滚动或折叠策略。
|
|
233
|
+
|
|
234
|
+
卡片顶部微状态行提供管理感。状态点和更多菜单固定位置,不能随内容漂移。
|
|
235
|
+
|
|
236
|
+
预览与信息细分割让卡片更容易扫描。分割线要轻,不要变成厚重表格线。
|
|
237
|
+
|
|
238
|
+
底部分页锚定让批量浏览闭环完整。分页、每页数量和翻页按钮要有 hover、focus、disabled、selected 状态。
|
|
239
|
+
|
|
240
|
+
## 6. 布局规则
|
|
241
|
+
|
|
242
|
+
桌面端使用外层双栏:左侧 `filter_panel`,右侧 `content_panel`。右侧内容面板内部是 `command_toolbar`、`card_grid`、`pagination_bar`。内容面板和筛选面板都使用浅边框白底。
|
|
243
|
+
|
|
244
|
+
卡片网格使用 `repeat(auto-fit, minmax(250px, 1fr))`,宽屏可稳定为 4 列。主 grid 必须 `align-items: stretch`,卡片设置 `height: 100%`、`min-width: 0`、`min-height: 0`、`display: flex`、`flex-direction: column`。
|
|
245
|
+
|
|
246
|
+
媒体预览区和信息区固定高度。长标题最多 1-2 行,长状态和菜单项内部截断。筛选长列表使用内部滚动,分页条保持在面板底部。
|
|
247
|
+
|
|
248
|
+
## 7. PRD 槽位映射
|
|
249
|
+
|
|
250
|
+
| PRD 内容类型 | 视觉槽位 | 渲染规则 |
|
|
251
|
+
| --- | --- | --- |
|
|
252
|
+
| 状态分类 | `status_tabs` | 顶部左侧分段控件;没有状态分类则隐藏 |
|
|
253
|
+
| 搜索 | `toolbar_search` | 顶部右侧输入框,宽度稳定 |
|
|
254
|
+
| 主命令 | `primary_command` | 高对比按钮;没有主命令则不占位 |
|
|
255
|
+
| 高级筛选 | `filter_panel` | 左侧分组面板,小屏弹层 |
|
|
256
|
+
| 范围条件 | `range_filter` | 输入框加滑杆;没有范围则隐藏 |
|
|
257
|
+
| 色点/枚举 | `swatch_filter` | 圆形或小方选项,选中态有边框和填充 |
|
|
258
|
+
| 对象集合 | `admin_card_grid` | 紧凑等高卡片;不适合卡片时遵循 PRD 改为表格 |
|
|
259
|
+
| 对象预览 | `media_preview` | 居中展示,固定高度 |
|
|
260
|
+
| 卡片菜单 | `more_menu` | 右上角纯图标按钮,必须有 tooltip 和菜单状态 |
|
|
261
|
+
| 分页 | `pagination_bar` | 底部锚定;无分页需求则隐藏 |
|
|
262
|
+
|
|
263
|
+
## 8. 组件规则
|
|
264
|
+
|
|
265
|
+
筛选面板使用 16px 左右圆角和浅边框。分组之间使用分割线,标题与操作按钮对齐。长列表必须内部滚动。
|
|
266
|
+
|
|
267
|
+
工具条控件高度统一为 50px 左右。分段控件当前项用白底或轻填充突出;主命令按钮比其他控件更高对比。
|
|
268
|
+
|
|
269
|
+
卡片使用细边框、轻圆角和低阴影。hover 时提升边框和阴影,不改变卡片底色。更多菜单按钮固定在右上角,菜单打开时有明确选中态。
|
|
270
|
+
|
|
271
|
+
预览区保持白底和固定高度。加载态使用骨架,错误态用中性占位,不能改变卡片尺寸。
|
|
272
|
+
|
|
273
|
+
分页控件使用固定方形按钮,当前页高对比,禁用翻页按钮降低透明度但保留布局位置。
|
|
274
|
+
|
|
275
|
+
## 9. 响应式与可访问性
|
|
276
|
+
|
|
277
|
+
桌面端保留左侧筛选和右侧内容面板。平板端筛选可收窄或折叠。移动端筛选进入弹层,工具条拆成状态行、搜索行和命令行,卡片 1-2 列。
|
|
278
|
+
|
|
279
|
+
触控目标不小于 44px。纯图标按钮必须有 `aria-label`。更多菜单支持键盘打开、关闭和焦点回退。状态不能只靠颜色表达,必须有文本、图标或选中边框辅助。
|
|
280
|
+
|
|
281
|
+
## 10. 禁止项
|
|
282
|
+
|
|
283
|
+
禁止复制具体业务词、示例数据、对象名称、品牌名、分类名或页面专属文案。
|
|
284
|
+
|
|
285
|
+
禁止让主题色污染大面积背景、卡片、工具条、筛选面板或分页条。
|
|
286
|
+
|
|
287
|
+
禁止自由高度卡片、无固定媒体区、顶部控件高度不一、分页漂浮、长筛选列表撑破面板和零散 margin 拼接。
|
|
288
|
+
|
|
289
|
+
禁止在 PRD 没有要求时强行加入新建按钮、更多菜单、分页、色点筛选或范围筛选。
|
|
290
|
+
|
|
291
|
+
## 11. Agent 使用提示
|
|
292
|
+
|
|
293
|
+
先读 PRD,确认是否属于管理型对象目录,是否需要状态标签、搜索、筛选、主命令、卡片菜单和分页。再应用主题色,只替换小面积强调 token。实现时优先保证工具条对齐、筛选分组、卡片微状态、媒体区固定高度和分页锚定。不要凭空创造任何内容。
|
|
294
|
+
|
|
295
|
+
## 12. 交付自检清单
|
|
296
|
+
|
|
297
|
+
- 内容、字段和命令是否全部来自 PRD。
|
|
298
|
+
- 是否保留左侧高级筛选、顶部命令工具条、紧凑卡片网格和底部分页机制。
|
|
299
|
+
- 主题色是否只用于小面积选中态、状态点和 focus ring。
|
|
300
|
+
- 工具条控件是否等高对齐。
|
|
301
|
+
- 卡片媒体区、信息区和同一行高度是否稳定。
|
|
302
|
+
- 筛选长列表是否内部滚动。
|
|
303
|
+
- 分页、菜单、按钮、输入、空态和错误态是否完整。
|
|
304
|
+
- 小屏是否有筛选弹层和工具条折叠策略。
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: alpha
|
|
3
|
+
template_type: visual_dna_preset
|
|
4
|
+
name: contrast-command-analytics-workbench
|
|
5
|
+
design_id: contrast-command-analytics-workbench
|
|
6
|
+
design_status: draft
|
|
7
|
+
description: "适用于需要高对比命令面板、分段趋势图、日程列表和明细表协同呈现的分析工作台视觉 DNA。"
|
|
8
|
+
scenes: [dashboard, workbench, operations_overview, command_center, data_table_page]
|
|
9
|
+
density: medium-high
|
|
10
|
+
layout: large_greeting_two_column_mosaic_command_table
|
|
11
|
+
tone: [premium, airy, analytical, high_contrast, rounded]
|
|
12
|
+
tags: [light_dashboard, dark_command_panel, segmented_chart, schedule_list, data_table]
|
|
13
|
+
avoid: [marketing_landing_page, immersive_big_screen, single_long_form, text_heavy_portal]
|
|
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: oversized_identity_bar
|
|
27
|
+
name: 大号身份与胶囊操作栏
|
|
28
|
+
confidence: observed
|
|
29
|
+
hooks: [page_identity, pill_action, date_chip, primary_button, large_title]
|
|
30
|
+
invariant: [页面顶部使用超大标题形成亲和入口, 右侧放置轻量日期胶囊和深色主操作胶囊, 顶部操作不放入卡片内, 首屏保持宽松留白]
|
|
31
|
+
variable: [标题文案, 操作数量, 日期或筛选语义, 主操作图标, 主题色]
|
|
32
|
+
- id: segmented_performance_panel
|
|
33
|
+
name: 分段堆叠表现面板
|
|
34
|
+
confidence: observed
|
|
35
|
+
hooks: [segmented_bar_chart, stacked_blocks, legend_dots, metric_list, soft_chart_fill]
|
|
36
|
+
invariant: [左侧主面板使用图表与指标列表并列, 图表由圆角分段块和浅色连接带构成, 图例点在底部对齐, 右侧指标列表以分隔线和浅色涨跌标签形成节奏]
|
|
37
|
+
variable: [指标维度, 分段数量, 时间粒度, 图例数量, 默认强调色]
|
|
38
|
+
- id: rounded_schedule_stream
|
|
39
|
+
name: 圆角日程流
|
|
40
|
+
confidence: observed
|
|
41
|
+
hooks: [date_strip, schedule_row, icon_bubble, priority_flag, time_column]
|
|
42
|
+
invariant: [右上面板顶部有水平日期条, 当前日期使用深色竖向胶囊, 列表项为浅灰圆角长条, 左侧图标圆泡独立于文本, 优先级和时间在行内右侧对齐]
|
|
43
|
+
variable: [日期粒度, 列表数量, 图标语义, 优先级集合, 时间或状态文案]
|
|
44
|
+
- id: dark_assistant_command_panel
|
|
45
|
+
name: 深色命令面板
|
|
46
|
+
confidence: observed
|
|
47
|
+
hooks: [dark_panel, command_chip, media_or_illustration_slot, prompt_input, icon_action]
|
|
48
|
+
invariant: [命令区使用近黑大圆角外壳, 内部嵌入白色内容面板, 快捷命令用带彩色图标的胶囊, 底部输入框为超大圆角并带发送按钮]
|
|
49
|
+
variable: [快捷命令数量, 图标语义, 媒体或插画内容, 输入提示, 辅助操作]
|
|
50
|
+
- id: refined_record_table
|
|
51
|
+
name: 精细记录表格
|
|
52
|
+
confidence: observed
|
|
53
|
+
hooks: [table_shell, search_input, filter_icon, avatar_stack, status_dot, row_thumbnail]
|
|
54
|
+
invariant: [底部明细面板横跨主区域, 标题与搜索工具同层, 表头轻量无厚背景, 行内支持缩略图或图标、叠放头像、数字和状态点, 行分隔线极细]
|
|
55
|
+
variable: [列定义, 行数据, 搜索筛选, 状态集合, 单元格媒体类型]
|
|
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-strong, tokens.colors.brand-soft, tokens.colors.focus-ring]
|
|
61
|
+
derive_tokens: [tokens.colors.chart-primary, tokens.colors.chart-secondary, tokens.colors.chart-tertiary, tokens.colors.positive, tokens.colors.command-accent]
|
|
62
|
+
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.command-bg]
|
|
63
|
+
rules:
|
|
64
|
+
- theme_color_only_changes_accent_hue
|
|
65
|
+
- preserve_dark_command_panel
|
|
66
|
+
- do_not_tint_page_background
|
|
67
|
+
- do_not_turn_neutral_cards_into_colored_cards
|
|
68
|
+
- keep_accent_usage_small_area
|
|
69
|
+
tokens:
|
|
70
|
+
colors:
|
|
71
|
+
bg-page: "#F5F5F4"
|
|
72
|
+
surface: "#FFFFFF"
|
|
73
|
+
surface-muted: "#F2F2F1"
|
|
74
|
+
text-primary: "#111111"
|
|
75
|
+
text-secondary: "#5F6268"
|
|
76
|
+
text-tertiary: "#9BA0A6"
|
|
77
|
+
border-subtle: "#E6E6E3"
|
|
78
|
+
command-bg: "#171716"
|
|
79
|
+
command-surface: "#FFFFFF"
|
|
80
|
+
brand: "#9B55D4"
|
|
81
|
+
brand-strong: "#7E3CAA"
|
|
82
|
+
brand-soft: "#EFE3FA"
|
|
83
|
+
chart-primary: "#7E3CAA"
|
|
84
|
+
chart-secondary: "#A965D5"
|
|
85
|
+
chart-tertiary: "#C77AE8"
|
|
86
|
+
positive: "#24B45A"
|
|
87
|
+
warning: "#F2C94C"
|
|
88
|
+
focus-ring: "#C99AF0"
|
|
89
|
+
typography:
|
|
90
|
+
fontFamily: "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
91
|
+
page-title: { fontSize: 52, fontWeight: 500, lineHeight: 1.08, letterSpacing: 0 }
|
|
92
|
+
panel-title: { fontSize: 24, fontWeight: 650, lineHeight: 1.25, letterSpacing: 0 }
|
|
93
|
+
metric-number: { fontSize: 42, fontWeight: 600, lineHeight: 1.05, letterSpacing: 0 }
|
|
94
|
+
body: { fontSize: 16, fontWeight: 450, lineHeight: 1.45, letterSpacing: 0 }
|
|
95
|
+
caption: { fontSize: 13, fontWeight: 450, lineHeight: 1.35, letterSpacing: 0 }
|
|
96
|
+
spacing:
|
|
97
|
+
page-x-desktop: 28
|
|
98
|
+
page-y-desktop: 28
|
|
99
|
+
grid-gap: 18
|
|
100
|
+
panel-x: 24
|
|
101
|
+
panel-y: 24
|
|
102
|
+
row-gap: 14
|
|
103
|
+
rounded:
|
|
104
|
+
panel: 20
|
|
105
|
+
card: 18
|
|
106
|
+
control: 999
|
|
107
|
+
command: 24
|
|
108
|
+
icon: 999
|
|
109
|
+
shadow:
|
|
110
|
+
panel: "0 1px 2px rgba(17,17,17,0.04), 0 14px 36px rgba(17,17,17,0.04)"
|
|
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
|
+
performance_panel: 560px
|
|
120
|
+
schedule_panel: 560px
|
|
121
|
+
command_panel: 520px
|
|
122
|
+
table_panel: 520px
|
|
123
|
+
schedule_row: 88px
|
|
124
|
+
table_row: 86px
|
|
125
|
+
quality_anchors:
|
|
126
|
+
- id: greeting_command_header
|
|
127
|
+
name: 大标题与胶囊命令头
|
|
128
|
+
required_when: PRD 需要工作台入口、全局操作或日期筛选
|
|
129
|
+
rule: 顶部标题应足够大且不包卡片,右侧操作用胶囊按钮,主操作深色高对比。
|
|
130
|
+
- id: segmented_chart_craft
|
|
131
|
+
name: 分段堆叠图表工艺
|
|
132
|
+
required_when: PRD 包含分组、阶段、构成或趋势对比
|
|
133
|
+
rule: 图表使用圆角分段块、浅色连接带、顶部数值标签和底部图例点,不使用默认柱状图替代。
|
|
134
|
+
- id: dark_command_surface
|
|
135
|
+
name: 深色命令面板
|
|
136
|
+
required_when: PRD 包含智能助手、快捷入口、命令输入或推荐操作
|
|
137
|
+
rule: 深色外壳、白色内层、胶囊快捷命令和大圆角输入框必须共同出现。
|
|
138
|
+
- id: schedule_row_rhythm
|
|
139
|
+
name: 日程行节奏
|
|
140
|
+
required_when: PRD 包含待办、日程、流程节点或事件队列
|
|
141
|
+
rule: 每行有图标圆泡、浅灰长条、状态或优先级、右侧时间,行高稳定。
|
|
142
|
+
- id: media_rich_table_rows
|
|
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: [oversized_title, pill_actions, segmented_chart, dark_command_panel, rounded_schedule_rows, media_table_rows]
|
|
151
|
+
components:
|
|
152
|
+
panel: { surface: tokens.colors.surface, rounded: tokens.rounded.panel, shadow: tokens.shadow.panel, border: "1px solid tokens.colors.border-subtle" }
|
|
153
|
+
command_panel: { surface: tokens.colors.command-bg, rounded: tokens.rounded.command, innerSurface: tokens.colors.command-surface }
|
|
154
|
+
button_primary: { height: 56, rounded: tokens.rounded.control, surface: tokens.colors.text-primary, text: "#FFFFFF" }
|
|
155
|
+
input: { height: 58, rounded: tokens.rounded.control, border: "1px solid tokens.colors.border-subtle" }
|
|
156
|
+
table: { rowHeight: 86, headerHeight: 54, statusStyle: dot_with_label }
|
|
157
|
+
modules:
|
|
158
|
+
quick_actions:
|
|
159
|
+
confidence: observed
|
|
160
|
+
render_policy: prd_only
|
|
161
|
+
placement: inside_dark_command_panel_or_independent_section
|
|
162
|
+
item_count: 3-8
|
|
163
|
+
command_panel:
|
|
164
|
+
confidence: observed
|
|
165
|
+
render_policy: prd_only
|
|
166
|
+
placement: lower_left_or_prominent_secondary_panel
|
|
167
|
+
detail_table:
|
|
168
|
+
confidence: observed
|
|
169
|
+
render_policy: prd_only
|
|
170
|
+
placement: lower_right_or_full_width_panel
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
# Contrast Command Analytics Workbench DESIGN.md
|
|
174
|
+
|
|
175
|
+
> front matter 是给流程和生成器读取的结构化配置;人工评审优先阅读下方正文。若两者冲突,风格选择、换色策略和 token 数值以前面的 YAML 为准,使用边界和业务取舍以正文为准。
|
|
176
|
+
|
|
177
|
+
## 1. 快速理解
|
|
178
|
+
|
|
179
|
+
这个视觉 DNA 适合把分析、日程、命令输入和明细管理放在同一工作台中。它的关键气质是浅灰画布上的白色圆角面板,再用一个近黑命令面板制造高对比记忆点。PRD 决定业务内容,DESIGN.md 只约束视觉承载。主题色可以替换图表和小面积强调色,但不能改变深色命令面板、圆角面板和稳定网格。编码结果必须有分段图、胶囊操作、媒体化表格和命令输入这些可见工艺。
|
|
180
|
+
|
|
181
|
+
## 2. 使用边界
|
|
182
|
+
|
|
183
|
+
适用于运营首页、资源管理工作台、事件处理台、协同看板和带搜索明细的管理页面。若 PRD 同时包含概览指标、列表队列、快捷命令或推荐操作、明细记录,该风格匹配度较高。
|
|
184
|
+
|
|
185
|
+
不适合纯表单、单一表格、品牌落地页和需要暗色大屏的场景。禁止复制任何视觉材料中的具体人名、行业名、记录名、金额、日期、地址、状态文案或页面标题。没有命令输入需求时,不要强行创建命令面板,可用同等质感的深色洞察或快捷操作区替代。
|
|
186
|
+
|
|
187
|
+
## 3. 设计风格选择与换色逻辑
|
|
188
|
+
|
|
189
|
+
选择该风格时优先看信息拓扑:顶部身份与全局操作、左上表现分析、右上事件流、下方命令面板和明细表。如果 PRD 只有图表或只有表格,不应硬套完整结构。
|
|
190
|
+
|
|
191
|
+
主题色只替换分段图表、图例点、快捷命令图标、focus ring、正向状态和少量标签。页面背景、白色面板、黑色命令区、中性文字、浅边框、圆角和阴影保持不变。不要把主题色铺满所有卡片。
|
|
192
|
+
|
|
193
|
+
## 4. 视觉 DNA
|
|
194
|
+
|
|
195
|
+
`oversized_identity_bar` 保持大标题和右侧胶囊操作的首屏节奏。可变的是标题、操作和筛选语义;不可变的是标题不入卡片、主操作高对比、顶部留白充足。
|
|
196
|
+
|
|
197
|
+
`segmented_performance_panel` 保持圆角分段块、连接带、底部图例和右侧指标列表。可变的是图表数据和指标数量;缺失后页面会变成普通图表卡。
|
|
198
|
+
|
|
199
|
+
`rounded_schedule_stream` 保持日期条、当前日期胶囊、图标圆泡和浅灰长条列表。可变的是事件内容和状态集合;没有时序语义时可转为普通队列。
|
|
200
|
+
|
|
201
|
+
`dark_assistant_command_panel` 保持近黑外壳、白色内层、胶囊快捷命令和大圆角输入框。可变的是命令数量和辅助媒体;缺失后会失去高对比记忆点。
|
|
202
|
+
|
|
203
|
+
`refined_record_table` 保持底部明细表的搜索、筛选、媒体化行和状态点。可变的是列和数据形态。
|
|
204
|
+
|
|
205
|
+
## 5. 视觉品质基线
|
|
206
|
+
|
|
207
|
+
大标题与胶囊命令头用于建立工作台入口,不要缩成普通后台标题栏。分段堆叠图表用于承载分组或阶段数据,必须使用自定义圆角块和连接带。深色命令面板用于承载智能、推荐或快捷命令,不能只放一个普通输入框。日程行要有图标圆泡、长条背景、右侧信息和稳定行高。明细行要支持缩略图、头像、状态点等微细节。
|
|
208
|
+
|
|
209
|
+
## 6. 布局规则
|
|
210
|
+
|
|
211
|
+
推荐结构:
|
|
212
|
+
|
|
213
|
+
```text
|
|
214
|
+
page_shell
|
|
215
|
+
page_identity + global_actions
|
|
216
|
+
top_grid: performance_panel + schedule_panel
|
|
217
|
+
lower_grid: command_panel + detail_table
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
主 grid 使用 `align-items: stretch`,同排面板等高。面板设置 `height: 100%`、`min-width: 0`、`min-height: 0`、`display: flex`、`flex-direction: column`。图表、列表行和表格行必须有固定高度,长内容内部截断或滚动,间距由父级 `gap` 管理。
|
|
221
|
+
|
|
222
|
+
## 7. PRD 槽位映射
|
|
223
|
+
|
|
224
|
+
| PRD 内容类型 | 视觉槽位 | 规则 |
|
|
225
|
+
| --- | --- | --- |
|
|
226
|
+
| 页面身份与主操作 | `page_identity` | 大标题加右侧胶囊操作,不包入卡片。 |
|
|
227
|
+
| 分组表现或阶段趋势 | `performance_panel` | 使用分段图和指标列表;没有分组数据时换为同等品质图表。 |
|
|
228
|
+
| 日程、待办、事件 | `schedule_stream` | 使用日期条和圆角行队列。 |
|
|
229
|
+
| 智能命令、推荐操作、快捷入口 | `command_panel` | 使用深色外壳和胶囊命令;由 PRD 决定是否渲染。 |
|
|
230
|
+
| 记录、对象、协同信息 | `detail_table` | 使用媒体化表格和搜索筛选。 |
|
|
231
|
+
|
|
232
|
+
## 8. 组件规则
|
|
233
|
+
|
|
234
|
+
面板圆角约 20px,轻阴影,白底。按钮使用胶囊,主按钮深色,次按钮白底浅边框。图表分段块圆角 10-14px,图例点与标签基线对齐。列表行背景为浅灰,行内图标圆泡 48-56px。命令面板外壳近黑,内层白底,快捷命令为胶囊。表格行高 80px 以上,状态用颜色点加文本。
|
|
235
|
+
|
|
236
|
+
## 9. 响应式与可访问性
|
|
237
|
+
|
|
238
|
+
桌面端双列;中宽改为上下两组;移动端按身份、表现、事件、命令、明细顺序纵向排列。触控目标不小于 44px。图标按钮必须有可访问标签。状态不能只依赖颜色,需要文本或图形辅助。减少动态效果时,图表和列表只保留透明度变化。
|
|
239
|
+
|
|
240
|
+
## 10. 禁止项
|
|
241
|
+
|
|
242
|
+
- 禁止复制具体业务内容、示例数据、人物、地址、日期或页面专属文案。
|
|
243
|
+
- 禁止让 DESIGN.md 覆盖 PRD 内容决策。
|
|
244
|
+
- 禁止把主题色铺满背景、普通面板或命令面板。
|
|
245
|
+
- 禁止把默认色相当成视觉 DNA。
|
|
246
|
+
- 禁止裸表格、默认图表、自由高度卡片和零散 margin 拼接。
|
|
247
|
+
- 禁止长内容撑破列表行、图表区或输入框。
|
|
248
|
+
|
|
249
|
+
## 11. Agent 使用提示
|
|
250
|
+
|
|
251
|
+
先读 PRD,确认是否需要表现分析、事件流、命令入口和明细表;再应用主题色,只替换小面积强调;最后套用高对比命令工作台 DNA。不要凭空创建 PRD 没有的模块。实现时必须保留大标题、胶囊操作、分段图、深色命令面板、媒体化表格和完整状态。
|
|
252
|
+
|
|
253
|
+
## 12. 交付自检清单
|
|
254
|
+
|
|
255
|
+
- 内容是否全部来自 PRD。
|
|
256
|
+
- 是否保留大标题、分段图、事件流、命令面板和媒体化明细中的适用 DNA。
|
|
257
|
+
- 主题色是否只改写小面积强调。
|
|
258
|
+
- 深色命令面板和白色圆角面板是否未被污染。
|
|
259
|
+
- 同排面板、图表、列表行和表格行是否稳定。
|
|
260
|
+
- hover、focus、loading、empty、error、disabled、selected 状态是否完整。
|
|
261
|
+
- 响应式与可访问性是否达标。
|