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
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "{{PROJECT_NAME}}"
|
|
3
|
+
description: "以近白画布、细描边圆角框架、分隔式指标带、分段微计量尺和连续网格内容构成中高密度、精确而克制的结构主题。"
|
|
4
|
+
themeId: "segmented-meter-clarity"
|
|
5
|
+
tokens:
|
|
6
|
+
application-global:
|
|
7
|
+
colors:
|
|
8
|
+
"--pod-page-bg-color": "var(--color-white, #fff)"
|
|
9
|
+
"--color-white": "#FFFFFF"
|
|
10
|
+
"--color-brand1-1": "AI 根据 --color-brand1-6 与白色混合生成 10% 品牌色"
|
|
11
|
+
"--color-brand1-2": "AI 根据 --color-brand1-6 与白色混合生成 18% 品牌色"
|
|
12
|
+
"--color-brand1-3": "AI 根据 --color-brand1-6 与白色混合生成 26% 品牌色"
|
|
13
|
+
"--color-brand1-5": "AI 根据 --color-brand1-6 与黑色混合生成 18% 深色"
|
|
14
|
+
"--color-brand1-6": "{{PRIMARY_COLOR}}"
|
|
15
|
+
"--color-brand1-9": "AI 根据 --color-brand1-6 与黑色混合生成 12% 按下色"
|
|
16
|
+
"--color-brand1-10": "AI 根据 --color-brand1-6 与白色混合生成 66% 禁用色"
|
|
17
|
+
"--color-line1-1": "#EEEEEE"
|
|
18
|
+
"--color-line1-2": "#DDDDDD"
|
|
19
|
+
"--color-fill1-1": "#F8F8F8"
|
|
20
|
+
"--color-fill1-2": "#F2F2F2"
|
|
21
|
+
"--color-fill1-3": "#E8E8E8"
|
|
22
|
+
"--color-fill1-10": "rgba(255, 255, 255, 0.96)"
|
|
23
|
+
"--color-text1-4": "#181818"
|
|
24
|
+
"--color-text1-10": "#666666"
|
|
25
|
+
"--color-text1-3": "#8C8C8C"
|
|
26
|
+
typography:
|
|
27
|
+
base:
|
|
28
|
+
"--font-family-base": "Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif"
|
|
29
|
+
subhead:
|
|
30
|
+
"--font-size-subhead": 24px
|
|
31
|
+
"--font-weight-subhead": 600
|
|
32
|
+
"--font-lineheight-subhead": 1.3
|
|
33
|
+
body-2:
|
|
34
|
+
"--font-size-body-2": 16px
|
|
35
|
+
"--font-weight-body-2": 600
|
|
36
|
+
"--font-lineheight-body-2": 1.4
|
|
37
|
+
body-1:
|
|
38
|
+
"--font-size-body-1": 14px
|
|
39
|
+
"--font-weight-body-1": 400
|
|
40
|
+
"--font-lineheight-body-1": 1.5
|
|
41
|
+
table:
|
|
42
|
+
"--font-size-table": 14px
|
|
43
|
+
"--font-weight-table": 400
|
|
44
|
+
"--font-lineheight-table": 1.45
|
|
45
|
+
caption:
|
|
46
|
+
"--font-size-caption": 12px
|
|
47
|
+
"--font-weight-caption": 400
|
|
48
|
+
"--font-lineheight-caption": 1.4
|
|
49
|
+
spacing:
|
|
50
|
+
"--s-1": 4px
|
|
51
|
+
"--s-2": 8px
|
|
52
|
+
"--s-3": 12px
|
|
53
|
+
"--s-4": 16px
|
|
54
|
+
"--s-6": 24px
|
|
55
|
+
"--s-8": 32px
|
|
56
|
+
rounded:
|
|
57
|
+
"--corner-zero": 0px
|
|
58
|
+
"--corner-1": 4px
|
|
59
|
+
"--corner-2": 8px
|
|
60
|
+
"--corner-3": 12px
|
|
61
|
+
"--corner-4": 16px
|
|
62
|
+
"--corner-5": 20px
|
|
63
|
+
"--corner-circle": 50%
|
|
64
|
+
"--corner-semicircle": 500px
|
|
65
|
+
custom-page:
|
|
66
|
+
colors:
|
|
67
|
+
"--oyd-theme-deep": "color-mix(in srgb, var(--color-brand1-6) 12%, #111111)"
|
|
68
|
+
"--oyd-category-1": "#FF6A1A"
|
|
69
|
+
"--oyd-category-2": "#7B6CF6"
|
|
70
|
+
"--oyd-category-3": "#4FC49A"
|
|
71
|
+
"--oyd-category-4": "#4B9CF5"
|
|
72
|
+
"--oyd-category-5": "#EC3E7D"
|
|
73
|
+
typography:
|
|
74
|
+
metric-primary:
|
|
75
|
+
"--font-size-metric-primary": 28px
|
|
76
|
+
"--font-weight-metric-primary": 600
|
|
77
|
+
"--font-lineheight-metric-primary": 1.2
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
# {{PROJECT_NAME}} design.md
|
|
81
|
+
|
|
82
|
+
## 设计总览
|
|
83
|
+
|
|
84
|
+
- 业务领域:{{BUSINESS_DOMAIN}}
|
|
85
|
+
- 产品形态:{{EXPERIENCE_TOPOLOGY}}
|
|
86
|
+
- 主题来源:{{THEME_SOURCE}}
|
|
87
|
+
- 项目约束:{{PROJECT_CONSTRAINTS}}
|
|
88
|
+
|
|
89
|
+
本主题在近白画布上使用白色表面、1px 中性边界和统一大圆角建立清晰框架。页面整体为中高密度,卡片内部保持充足留白;核心信息以单一外框内的分隔式指标带聚合,细粒度进展通过分段微计量尺表达,长数据以连续网格承载,辅助信息则使用带柔和图标底的短列表和环首进度条。主题色只占据主操作、聚焦、选中和少量关键图标,固定分类色只用于真实的并列类别,绝不铺满表面。桌面端通过拉伸网格、确定高度和面板内部溢出保持上下边缘稳定。
|
|
90
|
+
|
|
91
|
+
### 风格定位与应用说明
|
|
92
|
+
|
|
93
|
+
- 核心气质是精密、安静、秩序明确;最能发挥记忆点的是同时包含摘要、可筛选明细与短辅助信息的真实内容组合,但这不是页面类型限制。
|
|
94
|
+
- 所有页面共享本主题的全应用 Token 和基础组件语言;逐页视觉应用根据项目实际页面、页面模式和真实内容生成,视觉记忆点仅在满足内容契约时使用。
|
|
95
|
+
- 代表性构图迁移时保留“单框分隔、短条计量、连续网格、柔和图标底、环首进度”的机制,不复制固定字段、列数、数值、对象或模块顺序。
|
|
96
|
+
- 内容不匹配时,把边界、密度、圆角和交互语言迁移到现有槽位;无法合法承载的母体降级为 `recipe_only`,涉及新增能力时仅用 `suggest_only`。
|
|
97
|
+
|
|
98
|
+
### 视觉 DNA
|
|
99
|
+
|
|
100
|
+
| 设计母体 | 可见证据与置信度 | 复用规则与实现钩子 | 缺失后的失败表现 |
|
|
101
|
+
| --- | --- | --- | --- |
|
|
102
|
+
| 单框分隔指标带 | 一个大圆角外框内由等距竖线组织多个指标单元,单元不各自投影。`observed`,高置信度 | 外框、内分隔和统一基线不可变;指标数可按真实数据变化。使用 `display:grid`、`border-inline-start` 与 `minmax(0,1fr)` | 退化为互不相关的卡片阵列,失去整体秩序 |
|
|
103
|
+
| 分段微计量尺 | 多枚等高短竖条连续排列,已完成段着色,剩余段保持中性。`observed`,高置信度 | 离散短段、单一基线和“着色段+中性段”不可变;段数、比例和分类色可变。使用 CSS Grid 与 `data-value` | 变成普通长进度条,精密识别度消失 |
|
|
104
|
+
| 工具栏连接的连续网格 | 标题、说明、筛选、分段选择和表格共享一个表面,表体以横纵细线形成连续网格。`observed`,高置信度 | 工具栏与数据体一体、列线连续、表头弱化不可变;列与操作由 PRD 决定。使用 `table-layout:fixed` 与 sticky header | 变成卡片列表或默认表格,层级与密度失衡 |
|
|
105
|
+
| 柔和图标事件栈 | 短事件各自置于细描边小容器,左侧图标位于低饱和浅底,右侧为两级文本。`observed`,高置信度 | 图标底、两级文本、均匀栈间距不可变;事件类型、图标和语义色可变。使用列表语义与固定图标槽 | 退化为无锚点文本流,扫读效率下降 |
|
|
106
|
+
| 环首进度轨 | 每项由标签、比例、细轨道和起点圆环组成,彩色线从圆环后延伸。`observed`,高置信度 | 环形起点、细轨道和同色填充不可变;比例、名称和独立分类色可变。使用伪元素绘制双层圆环 | 变成通用进度条,辅助列缺少独特节奏 |
|
|
107
|
+
|
|
108
|
+
### 视觉记忆点应用策略
|
|
109
|
+
|
|
110
|
+
| 视觉记忆组件或构图 | 内容契约 | 落地策略 | 可迁移机制与适配目标 | 无匹配内容时 |
|
|
111
|
+
| --- | --- | --- | --- | --- |
|
|
112
|
+
| 单框分隔指标带 | `content_contract`: PRD 存在 2-6 个同层级摘要值,且它们需要同屏比较 | `render_policy: prd_match_only`;`direct_trigger`: 同层级指标集合 | `transferable_mechanism`: 共享外框、竖向分隔、统一数值基线;`adaptation_targets`: `primary_metrics`、已有摘要槽位 | `fallback`: 保留普通信息区;`forbidden`: 为凑数量新增指标 |
|
|
113
|
+
| 分段微计量尺 | `content_contract`: 已有值可转换为比例、阶段或离散完成度 | `render_policy: adapt_existing_slot`;`direct_trigger`: 指标已有明确上限或总量 | `transferable_mechanism`: 离散短段和中性余量;`adaptation_targets`: 指标进度、容量、配额 | `fallback`: 仅显示真实数值;`forbidden`: 推测目标值或伪造比例 |
|
|
114
|
+
| 主内容与辅助列构图 | `content_contract`: PRD 同时存在高权重主内容和独立、短小、可压缩的辅助内容 | `render_policy: prd_match_only`;`direct_trigger`: 主辅任务同时成立 | `transferable_mechanism`: 桌面约 62/38 分栏、同顶线、侧列纵向堆叠;`adaptation_targets`: `primary_content_panel`、`supporting_panel` | `fallback`: 按 PRD 回到单列或原有网格;`forbidden`: 为保留侧栏拆散主流程 |
|
|
115
|
+
| 工具栏连接的连续网格 | `content_contract`: 存在需要比较、排序、筛选或批量选择的结构化记录 | `render_policy: prd_match_only`;`direct_trigger`: 真实字段与记录集合 | `transferable_mechanism`: 一体工具栏、细网格、固定表头;`adaptation_targets`: `detail_table`、已有数据列表 | `fallback`: 采用 PRD 原列表;`forbidden`: 编造字段、记录或批量操作 |
|
|
116
|
+
| 柔和图标事件栈 | `content_contract`: 存在按时间或优先级排列的短事件、提醒或变更 | `render_policy: adapt_existing_slot`;`direct_trigger`: 已有事件型数据 | `transferable_mechanism`: 浅色图标槽、两级文本、独立短行;`adaptation_targets`: `detail_list`、通知、动态 | `fallback`: 保留现有列表;`forbidden`: 新增消息源或假事件 |
|
|
117
|
+
| 环首进度轨 | `content_contract`: 存在 2-5 个真实、同层级且可比较的类别比例 | `render_policy: recipe_only`;`direct_trigger`: 类别比例与总量均明确 | `transferable_mechanism`: 起点圆环、细轨道、末端留白;`adaptation_targets`: 分布、构成、完成率列表 | `fallback`: 只保留实现配方;`forbidden`: 把状态或金额强制归一化为比例 |
|
|
118
|
+
|
|
119
|
+
- 先匹配 `content_contract`,再决定是否渲染组件本体;不能为了保留视觉记忆点而新增 PRD 未要求的字段、数据、入口、对象或流程。
|
|
120
|
+
- 每页优先清楚落地 1-3 个与 PRD 匹配的主记忆点,不要求全部组件同时出现。
|
|
121
|
+
- 无合法业务承载时保留为 `recipe_only`;若需要新增业务能力则使用 `suggest_only`,不进入默认实现。
|
|
122
|
+
|
|
123
|
+
### 设计变量范围
|
|
124
|
+
|
|
125
|
+
`tokens.application-global` 是原生表单、流程页面和自定义页面共同遵守的全应用设计契约;变量名与消费语义稳定,具体值体现本主题的中高密度、清晰细边界、统一圆角与克制主题强调。`tokens.custom-page` 仅补充近白页面画布、主题派生深色焦点、五枚等权分类色和大数值语义;分类色用于真正的并列类别,主题派生深色用于主操作或强选中,大数值语义用于全局排版体系没有覆盖的指标读数,均不能与全局 Token 等义互换。
|
|
126
|
+
|
|
127
|
+
## 色彩
|
|
128
|
+
|
|
129
|
+
- 色彩来源:{{COLOR_SOURCE}}
|
|
130
|
+
- 颜色 Token 的名称和值以文档顶部 YAML 的 `tokens` 为唯一事实源;AI 可以根据主题调整色值,不改变宜搭应用全局变量名。
|
|
131
|
+
- 画布使用 `--pod-page-bg-color`,一级面板使用 `--color-white`,边界依次使用 `--color-line1-1` 与 `--color-line1-2`;层级主要靠边界与留白,不靠大阴影。
|
|
132
|
+
|
|
133
|
+
### 设计变量消费规则
|
|
134
|
+
|
|
135
|
+
| 固定消费语义 | 消费 Token | 作用域 |
|
|
136
|
+
| --- | --- | --- |
|
|
137
|
+
| 主题色交互元素悬停 | `--color-brand1-1` | 应用全局 |
|
|
138
|
+
| 平台预留品牌浅色 | `--color-brand1-2` | 应用全局 |
|
|
139
|
+
| 浅色导航框架背景 | `--color-brand1-3` | 应用全局 |
|
|
140
|
+
| 深色导航框架背景 | `--color-brand1-5` | 应用全局 |
|
|
141
|
+
| 主按钮、链接、焦点与关键选中 | `--color-brand1-6` | 应用全局 |
|
|
142
|
+
| 主题色交互元素激活或按下 | `--color-brand1-9` | 应用全局 |
|
|
143
|
+
| 主题色交互元素禁用 | `--color-brand1-10` | 应用全局 |
|
|
144
|
+
| 弱分隔、表格行线和辅助轨道 | `--color-line1-1` | 应用全局 |
|
|
145
|
+
| 控件与一级容器边界 | `--color-line1-2` | 应用全局 |
|
|
146
|
+
| 页面底层画布 | `--pod-page-bg-color` | 自定义页 |
|
|
147
|
+
| 面板、卡片与浮层基础表面 | `--color-white` | 应用全局 |
|
|
148
|
+
| 悬停、弱标签和默认浅填充 | `--color-fill1-1` | 应用全局 |
|
|
149
|
+
| 中性选中底与按下填充 | `--color-fill1-2` | 应用全局 |
|
|
150
|
+
| 微计量尺未完成段 | `--color-fill1-3` | 应用全局 |
|
|
151
|
+
| 气泡、提示与弹出表面 | `--color-fill1-10` | 应用全局 |
|
|
152
|
+
| 标题、核心数值、正文与主要图标 | `--color-text1-4` | 应用全局 |
|
|
153
|
+
| 表头、输入占位和次级标签 | `--color-text1-10` | 应用全局 |
|
|
154
|
+
| 时间、说明、坐标和元信息 | `--color-text1-3` | 应用全局 |
|
|
155
|
+
| 主题派生的深色主操作与强选中 | `--oyd-theme-deep` | 自定义页 |
|
|
156
|
+
| 等权类别的图标、微计量和进度 | `--oyd-category-1` 至 `--oyd-category-5` | 自定义页 |
|
|
157
|
+
|
|
158
|
+
`--color-brand1-6` 来自前置确定的全应用主题色,是唯一品牌色种子。最终项目实例化时必须把其余六枚 Brand Token 的生成期标记解析为实际色值。若没有品牌色,默认以中等明度、可访问的蓝色为锚点;换色后仍保持约 85% 以上的画布与表面为中性色。
|
|
159
|
+
|
|
160
|
+
### 本主题的配色约束
|
|
161
|
+
|
|
162
|
+
- `--color-white`、所有 `line1`、`fill1`、`text1` 和 `--pod-page-bg-color` 均为 `neutral-gray`;固定 Hex 的 RGB 三通道相等。
|
|
163
|
+
- `--oyd-theme-deep` 为 `theme-gray`:由 `--color-brand1-6` 占 12% 与中性基底 `#111111` 占 88% 派生;最终实例化时写入计算后的实际值。
|
|
164
|
+
- `--oyd-category-1` 至 `--oyd-category-5` 是等权类别色,不参与主题同色推演,只可用于确有类别对应关系的小面积图标、计量段和进度线;单屏每个类别色的可见面积不超过 6%。
|
|
165
|
+
- 主题同色演变只由 `--color-brand1-6` 派生,用于主操作、焦点、选中和链接;不得把主题色铺满画布或普通面板。
|
|
166
|
+
- 成功、警告、错误与信息状态直接消费平台语义色,并配合文字、图标或方向符号;不以分类色代替状态色。
|
|
167
|
+
|
|
168
|
+
## 字体与排版
|
|
169
|
+
|
|
170
|
+
- 全局仅使用 `tokens.application-global.typography.base` 的字体栈。
|
|
171
|
+
- `page-title` 使用 `subhead`:24px / 600 / 1.3;用于页面主标题,单行省略,移动端最多两行。
|
|
172
|
+
- `panel-title` 使用 `body-2`:16px / 600 / 1.4;用于面板标题和重点分组名。
|
|
173
|
+
- `content-title` 与 `body` 使用 `body-1`:14px / 400 / 1.5;内容标题可局部提高到 600,但不改变字号与行高。
|
|
174
|
+
- `table` 使用 `table`:14px / 400 / 1.45;表头通过 500 字重和 `--color-text1-10` 区分。
|
|
175
|
+
- `caption` 使用 `caption`:12px / 400 / 1.4;承载时间、说明和辅助信息。
|
|
176
|
+
- `metric-primary` 使用页面专属 Token:28px / 600 / 1.2,仅用于摘要主数值;全局排版没有对应的大数值语义,因此不与 `subhead` 重复。
|
|
177
|
+
- 数字启用 `font-variant-numeric: tabular-nums`;金额、百分比和日期保持列内右对齐或基线对齐。
|
|
178
|
+
- 长标题优先单行省略;事件副文案最多两行;表格长文本单行省略并通过 tooltip 或详情操作提供完整内容。
|
|
179
|
+
- 图标使用 1.75px 线性描边、圆角端点;常规 18-20px,摘要图标 20px,必须与文字首行光学居中。
|
|
180
|
+
|
|
181
|
+
## 布局与间距
|
|
182
|
+
|
|
183
|
+
- 页面安全边距使用 `--s-6`,超宽画布可增至 `--s-8`;父级区块 gap 使用 `--s-6`,面板内 gap 使用 `--s-3` 或 `--s-4`,紧密行内元素用 `--s-2`。
|
|
184
|
+
- 内容最大宽度建议 1680px,并以 `width:100%` 居中;所有网格列使用 `minmax(0,1fr)`,禁止内容决定列宽。
|
|
185
|
+
- 同层摘要在内容契约满足时使用 2-6 个等分单元;数量超出时换行成新的完整分组,不压缩到不可读宽度。
|
|
186
|
+
- 主辅内容同时存在且辅助内容可独立压缩时,桌面使用约 `minmax(0,1.62fr) minmax(320px,1fr)`;不满足契约时按 PRD 的单列、列表、表单、详情或流程结构组织。
|
|
187
|
+
- 页面标题、全局操作、主要内容与辅助内容是否出现及其顺序完全由 PRD 和页面模式决定。
|
|
188
|
+
|
|
189
|
+
### 布局稳定性硬规则
|
|
190
|
+
|
|
191
|
+
- 桌面主网格使用 `align-items: stretch`;面板统一 `height:100%; min-width:0; min-height:0; display:flex; flex-direction:column`,标题固定,内容区 `flex:1; min-height:0`。
|
|
192
|
+
- `metric_card` 建议高 184-220px;单框指标带建议高 220-260px;`primary_content_panel` 建议高 520-680px;`detail_panel` 建议高 240-360px;可选 `quick_action_item` 高 72-88px。
|
|
193
|
+
- 表格内容超过面板高度时仅表体滚动,表头 sticky;列表超长时内部滚动或分页;长文案截断,不得撑破网格。
|
|
194
|
+
- 图表若由 PRD 触发,容器必须确定为 280-360px 高;本主题不因常见页面模式默认新增图表。
|
|
195
|
+
- 区块间距仅由父级 grid/flex 的 `gap` 管理,不用零散外边距拼接节奏。
|
|
196
|
+
- ≥1280px:允许单框多指标和约 62/38 主辅分栏;960-1279px:摘要改为每行 2-3 项,主辅列可维持 58/42 或按契约堆叠;<960px:所有内容单列,辅助列排在对应主内容之后。
|
|
197
|
+
- <640px:指标带拆成两列或单列并保留内分隔;工具栏分两行,输入 40px 高,操作按钮 36px 高;表格优先横向内部滚动,不把每行强制卡片化。
|
|
198
|
+
- 移动端可解除桌面等高,但仍保留控件档位、文本截断、内部溢出和同一 `content_contract`,触控目标最小 40×40px。
|
|
199
|
+
|
|
200
|
+
## 表面与层级
|
|
201
|
+
|
|
202
|
+
- 页面画布为 `--pod-page-bg-color`,一级面板为 `--color-white`、1px `--color-line1-2` 边界;常规面板不使用可见投影。
|
|
203
|
+
- 嵌套事件项、进度项和工具栏控件使用 `--color-white` 或 `--color-fill1-1`,配 1px `--color-line1-1`;同一位置最多出现两层边界。
|
|
204
|
+
- tooltip、popover 和菜单使用 `--color-fill1-10`,边界为 `--color-line1-2`,仅允许 `0 8px 24px rgba(0,0,0,.08)` 的局部浮层阴影。
|
|
205
|
+
- 禁止玻璃模糊、强渐变和大面积纹理;主题色浅底仅可出现在图标槽、标签与 focus ring。
|
|
206
|
+
- 面板间靠 24px gap 分层,面板内部靠 12-16px gap 分组,不用层层阴影表达嵌套。
|
|
207
|
+
|
|
208
|
+
## 圆角与形状
|
|
209
|
+
|
|
210
|
+
- `--corner-1` 4px:复选框、小标记与微型焦点。
|
|
211
|
+
- `--corner-2` 8px:分段选择项、状态标签、32px 工具按钮。
|
|
212
|
+
- `--corner-3` 12px:输入框、筛选器、事件项和嵌套列表项。
|
|
213
|
+
- `--corner-4` 16px:常规卡片和窄辅助面板。
|
|
214
|
+
- `--corner-5` 20px:一级大面板、单框指标带和主内容外壳。
|
|
215
|
+
- `--corner-circle` 用于图标圆底、进度起点和头像;`--corner-semicircle` 仅用于状态标签、分段激活项与进度轨。
|
|
216
|
+
- 同一网格层级必须使用一致圆角;不以随机超大圆角制造层级。
|
|
217
|
+
|
|
218
|
+
## 组件
|
|
219
|
+
|
|
220
|
+
### 按钮与操作
|
|
221
|
+
|
|
222
|
+
- 迷你或行内按钮 28px,紧凑工具栏 32px,常规按钮 36px,强调或宽松操作 40px;图标按钮使用同档正方形尺寸。
|
|
223
|
+
- 同一操作区只保留一个视觉主操作。主操作使用 `--oyd-theme-deep` 或 `--color-brand1-6` 与白字,次操作使用白底、`--color-line1-2` 边界和一级文字。
|
|
224
|
+
- hover 使用对应品牌 hover 色或 `--color-fill1-1`;active 使用 `--color-brand1-9` 或 `--color-fill1-2`;focus 显示 2px `--color-brand1-6` 外环并留 2px 间隔。
|
|
225
|
+
- disabled 保留边界,用 `--color-brand1-10` 或中性填充,不仅依赖降低透明度;图标与文字间距 8px。
|
|
226
|
+
|
|
227
|
+
### 输入与筛选控件
|
|
228
|
+
|
|
229
|
+
- 紧凑工具栏 32px、常规表单 36px、宽松搜索与选择器 40px;不得出现其他高度。
|
|
230
|
+
- 控件为白底、1px `--color-line1-2` 边界、`--corner-3` 圆角;placeholder 用 `--color-text1-10`。
|
|
231
|
+
- focus 保持尺寸不变,通过 2px 外环表达;error 同时显示平台错误色边界、图标和辅助文字。
|
|
232
|
+
- 连续筛选组允许共享外框,用 1px 内分隔;移动端换行时恢复各控件完整圆角。
|
|
233
|
+
|
|
234
|
+
### 卡片与面板
|
|
235
|
+
|
|
236
|
+
- 一级面板使用 20px 圆角、24px 内边距和细边界;紧凑辅助面板使用 16px 圆角、16px 内边距。
|
|
237
|
+
- 标题区固定,标题与说明间隔 4px,标题区与内容区间隔 16-24px;右侧工具不挤压标题最小宽度。
|
|
238
|
+
- 只有独立、可交互或可复用的信息组才形成嵌套卡;普通段落不额外套卡。
|
|
239
|
+
|
|
240
|
+
### 单框分隔指标带
|
|
241
|
+
|
|
242
|
+
- `content_contract`: 2-6 个同层级摘要值;`render_policy: prd_match_only`。
|
|
243
|
+
- 外层使用 `--corner-5`、白底、1px 常规边界和 24px 内边距;内部用等分 grid,单元之间只画一条竖线。
|
|
244
|
+
- 单元按“图标+标签 / 大数值 / 微计量尺 / 变化说明”垂直排列;图标 20px,标签为 body,数值用 `metric-primary`,变化说明为 body。
|
|
245
|
+
- 分类存在时,一项仅绑定一枚独立分类色;无真实分类时统一使用主题色,不自动制造彩虹。
|
|
246
|
+
- 单元 hover 只加入 `--color-fill1-1` 背景,不改变边界、尺寸和分隔线;不可替代成独立投影卡阵列。
|
|
247
|
+
|
|
248
|
+
### 分段微计量尺
|
|
249
|
+
|
|
250
|
+
- `content_contract`: 有确定分母或阶段数的真实比例;`render_policy: adapt_existing_slot`。
|
|
251
|
+
- 由 20-32 个 4px 宽、26px 高、2px 圆角的短段构成,段间 gap 4px;容器宽度不足时减少段数,不压缩间距到 2px 以下。
|
|
252
|
+
- 已完成段使用主题色或合法分类色,未完成段使用 `--color-fill1-3`;每个段只表达离散进度,不承担点击。
|
|
253
|
+
- 用 `aria-label` 提供完整值并保留旁侧文本;不可替代成渐变长条或装饰性柱图。
|
|
254
|
+
|
|
255
|
+
### 工具栏连接的连续网格
|
|
256
|
+
|
|
257
|
+
- `content_contract`: 可比较、筛选或批量选择的真实记录;`render_policy: prd_match_only`。
|
|
258
|
+
- 面板标题区和筛选区共享表面,分段选择位于内容上方;激活项使用主题派生深色底和白字,未激活项使用中性表面。
|
|
259
|
+
- 表头高 48px,数据行高 56px;横纵边界均使用 `--color-line1-1`,首列选择框、末列状态或操作由 PRD 决定。
|
|
260
|
+
- 表格使用 sticky header、固定布局和列宽约束;数字右对齐,短状态居中,文本左对齐。
|
|
261
|
+
- 不将每一行拆成带阴影卡片;小屏保留表格语义并在内部横向滚动。
|
|
262
|
+
|
|
263
|
+
### 柔和图标事件栈
|
|
264
|
+
|
|
265
|
+
- `content_contract`: 真实事件、动态、提醒或变更列表;`render_policy: adapt_existing_slot`。
|
|
266
|
+
- 每项最小高 72px,使用 12px 圆角和弱边界;左侧 40px 图标槽以对应状态或分类色 8%-12% 浅底呈现。
|
|
267
|
+
- 主文本单行,副文本单行或两行;时间和元信息使用 caption。列表 gap 12px,禁止用粗分割线堆叠。
|
|
268
|
+
- 图标不能单独传达状态,必须有文字;无事件时保留面板标题与稳定空态。
|
|
269
|
+
|
|
270
|
+
### 环首进度轨
|
|
271
|
+
|
|
272
|
+
- `content_contract`: 2-5 个已知比例的同层级类别;`render_policy: recipe_only`。
|
|
273
|
+
- 每项使用 12px 圆角弱边界和 16px 内边距;标签与比例同一行,轨道置于其下 16px。
|
|
274
|
+
- 轨道高 8px,左端用 20px 空心圆覆盖轨道起点,圆内再放 8px 实心点;填充线从圆心之后开始并与圆环同色。
|
|
275
|
+
- 圆环、文字和数值共同说明类别;比例未知时不渲染轨道,只显示已有信息。
|
|
276
|
+
|
|
277
|
+
### 图表或主内容面板
|
|
278
|
+
|
|
279
|
+
- 只有 PRD 提供趋势、分布或对比数据时才渲染图表;弱网格用 `--color-line1-1`,坐标与图例用 `--color-text1-3`,强调序列使用主题色。
|
|
280
|
+
- 图表固定高 280-360px,tooltip 使用 `--color-fill1-10`;序列超过一条时优先主题同色阶,只有真实等权类别才使用独立分类色。
|
|
281
|
+
- 没有图表契约时,以表格、列表、表单或详情作为主内容承载,不补造图表。
|
|
282
|
+
|
|
283
|
+
### 表格与列表
|
|
284
|
+
|
|
285
|
+
- 表头高 48px、数据行高 56px;表头 14px / 500,数据 14px / 400,均来自全局字号语义。
|
|
286
|
+
- 行 hover 使用 `--color-fill1-1`,selected 使用 `--color-brand1-3` 并保留选择控件;状态必须同时有文字或图标。
|
|
287
|
+
- 头像或缩略图仅在 PRD 提供真实素材时显示,建议 28-32px;末尾操作使用 28px 图标按钮并有可访问名称。
|
|
288
|
+
- 长文本省略、数字使用等宽特性、表体内部滚动;加载行骨架与真实行同高。
|
|
289
|
+
|
|
290
|
+
### 快捷入口(推断)
|
|
291
|
+
|
|
292
|
+
- 未见稳定的快捷入口母体,因此不默认生成。若 PRD 明确存在 `quick_actions`,仅提供 `inferred / render_policy: recipe_only` 配方:白底细边界、40px 主题浅底图标槽、两级文字、72-88px 固定高度。
|
|
293
|
+
- 数量建议 2-4 个;移动端单列;禁止默认彩色宫格,禁止为了填充布局新增操作。
|
|
294
|
+
|
|
295
|
+
### 状态与交互
|
|
296
|
+
|
|
297
|
+
- 悬停:边界加深一级或加入中性浅底,120ms ease-out,不改变尺寸。
|
|
298
|
+
- 按下:使用品牌按下色或中性点击底,允许 `transform:translateY(1px)`,不改变布局占位。
|
|
299
|
+
- 聚焦:交互控件显示 2px 高对比 focus ring;纯图标按钮必须有可访问名称。
|
|
300
|
+
- 加载:固定面板和行高,使用中性骨架;微计量尺保留段位占位,避免网格跳动。
|
|
301
|
+
- 空态与错误:保留标题、工具栏和面板高度,提供简短说明与下一步操作,不把整卡染成状态色。
|
|
302
|
+
- 禁用:保留轮廓与文字,配合图标或提示;选中同时使用底色、文字权重和选择标记。
|
|
303
|
+
- 动效:颜色与边界 120-180ms,浮层 160-220ms;`prefers-reduced-motion` 下取消位移与过渡,仅保留即时状态。
|
|
304
|
+
|
|
305
|
+
## 项目应用
|
|
306
|
+
|
|
307
|
+
### 项目上下文与主题应用
|
|
308
|
+
|
|
309
|
+
- 当前产品形态:{{EXPERIENCE_TOPOLOGY}}
|
|
310
|
+
- 主题在当前项目中的应用说明:{{PRODUCT_TOPOLOGY_APPLICATION}}
|
|
311
|
+
|
|
312
|
+
产品形态只提供任务与内容上下文,不决定主题是否可用。原生页面和自定义页面共同继承全应用色彩、排版、间距、圆角与状态语言;自定义页面仅在相应内容契约成立时增加分隔指标、微计量、连续网格、事件栈或环首进度母体。
|
|
313
|
+
|
|
314
|
+
### 页面模式
|
|
315
|
+
|
|
316
|
+
{{PAGE_PATTERN_SUMMARY}}
|
|
317
|
+
|
|
318
|
+
页面模式决定任务、模块与信息优先级,主题只规定视觉表达。单列、列表、表单、详情、流程或其他真实结构都应保留,不为复刻代表性分栏而改写信息架构。
|
|
319
|
+
|
|
320
|
+
### 逐页视觉应用
|
|
321
|
+
|
|
322
|
+
{{PAGE_APPLICATIONS}}
|
|
323
|
+
|
|
324
|
+
实例化时仅展开项目真实存在的页面。每页说明 `page_title`、`global_actions`、`primary_metrics`、`primary_content_panel`、`supporting_panel`、`detail_table` 或 `detail_list` 等真实槽位的位置、跨度、建议高度、移动端顺序,以及采用的 1-3 个视觉 DNA;不要求每页使用全部母体。
|
|
325
|
+
|
|
326
|
+
### 素材要求
|
|
327
|
+
|
|
328
|
+
- 页面图片需求:{{PAGE_IMAGE_NEEDS}}
|
|
329
|
+
- 素材缺口:{{ASSET_GAPS}}
|
|
330
|
+
- 图片、图表、缩略图和辅助图形必须有真实来源;没有素材时使用结构化数据或中性占位,不编造对象、指标、图片地址或事件。
|
|
331
|
+
|
|
332
|
+
## 设计规范与禁忌
|
|
333
|
+
|
|
334
|
+
### 必须做到
|
|
335
|
+
|
|
336
|
+
- 无条件保护近白画布、白色表面、1px 中性边界、统一圆角、中高密度和小面积主题焦点。
|
|
337
|
+
- 内容契约满足时,单框分隔指标带必须共享一个外框、统一基线和内部竖分隔,不拆成投影卡。
|
|
338
|
+
- 比例契约满足时,分段微计量尺必须保留离散短段和中性余量;环首进度必须保留起点双层圆环。
|
|
339
|
+
- 表格契约满足时,工具栏与连续网格保持一体,表头固定,长内容在面板内部处理。
|
|
340
|
+
- 事件契约满足时,保留柔和图标槽、两级文本和均匀事件栈。
|
|
341
|
+
- 同类卡片等高、桌面网格拉伸、图表固定高度、父级 gap、完整状态、响应式与键盘可访问性必须落实。
|
|
342
|
+
|
|
343
|
+
### 禁止项
|
|
344
|
+
|
|
345
|
+
- 禁止复制业务内容,或让主题文件覆盖 PRD 的字段、模块、数据与优先级决策。
|
|
346
|
+
- 禁止把输入主题色铺满背景、普通卡片或大面积面板;禁止把默认色相当作视觉 DNA。
|
|
347
|
+
- 禁止把固定主辅比例、右侧列或模块顺序写成所有页面无条件执行的结构。
|
|
348
|
+
- 禁止把分隔指标带拆成互相漂浮的卡阵列,把分段微计量尺替换成渐变长条,或把环首进度简化成默认进度条。
|
|
349
|
+
- 禁止把连续网格拆成卡片行,把事件栈变成无图标锚点的长文本,把独立分类色用于状态或装饰。
|
|
350
|
+
- 禁止瀑布流、自由高度卡片、`align-items:start`、无固定高度图表、长内容撑破父级和零散 margin 拼接。
|
|
351
|
+
- 禁止默认后台质感、无依据装饰、过度投影、玻璃模糊和与本主题不一致的组件库默认样式。
|
|
352
|
+
|
|
353
|
+
### 错误与正确
|
|
354
|
+
|
|
355
|
+
- 错误:每个摘要值各自一张投影卡;正确:同层摘要共享大外框,以细竖线分隔并对齐数值基线。
|
|
356
|
+
- 错误:用一根普通彩色长条表示所有进度;正确:比例可靠时使用等距离散短段,并明确中性余量。
|
|
357
|
+
- 错误:工具栏、筛选和表格分别悬浮;正确:将它们收进一个连续表面,用细线而非投影区分层级。
|
|
358
|
+
- 错误:事件仅以连续文本和粗分隔线排列;正确:用浅底图标槽、主副两级文本和等距小容器形成事件栈。
|
|
359
|
+
- 错误:所有页面强制使用代表性分栏;正确:内容契约成立时使用主辅构图,否则保留 PRD 页面模式并迁移表面、排版与间距语言。
|
|
360
|
+
- 错误:主题色铺满页面;正确:主题色只连接主操作、焦点与选中,大部分表面保持中性。
|
|
361
|
+
- 错误:卡片随内容自由增高形成瀑布流;正确:同类卡片固定高度、网格拉伸,长内容内部滚动或截断。
|
|
362
|
+
- 错误:快捷入口使用默认彩色宫格;正确:仅在 PRD 触发时继承白底细边界、统一图标槽和固定高度。
|
|
363
|
+
|
|
364
|
+
### AI 使用提示
|
|
365
|
+
|
|
366
|
+
先读取 PRD,再解析 `{{PRIMARY_COLOR}}` 并生成全部实际 Brand Token。所有真实页面先继承全应用 Token 和基础组件语言,再按内容契约选择单框分隔指标带、分段微计量尺、连续网格、柔和图标事件栈或环首进度轨。代表构图只作为配方,不用于创造字段、数据、对象、入口或流程;主题色只替换色相,不改变画布、层级、构图、密度、形状和组件机制。字号与控件尺寸按平台 Token 范围推断,不把图片物理像素当作 CSS 像素。
|
|
367
|
+
|
|
368
|
+
### 交付自检
|
|
369
|
+
|
|
370
|
+
- [ ] 全部页面内容、字段和模块是否来自 PRD,而非主题模板?
|
|
371
|
+
- [ ] 同层摘要是否在契约成立时共享单一外框、内部竖分隔和统一数值基线?
|
|
372
|
+
- [ ] 微计量尺是否仅在分母明确时出现,并保留等距短段与中性余量?
|
|
373
|
+
- [ ] 连续网格是否保持工具栏一体、固定表头、细网格和内部溢出?
|
|
374
|
+
- [ ] 事件栈是否保留柔和图标槽、两级文本和固定行高?
|
|
375
|
+
- [ ] 环首进度是否保留双层圆环起点,且比例与类别均来自真实数据?
|
|
376
|
+
- [ ] 每个视觉记忆组件和主辅布局是否都有 `content_contract`、`render_policy`、迁移目标、回退与禁止项?
|
|
377
|
+
- [ ] 未被 PRD 触发的组件是否没有强行渲染,且没有新增业务能力或假数据?
|
|
378
|
+
- [ ] 主操作、焦点和选中是否共享 `--color-brand1-6` 的同色体系,其余表面保持中性?
|
|
379
|
+
- [ ] 等权分类色是否只用于真实类别,平台状态色是否未在 `custom-page` 重复声明?
|
|
380
|
+
- [ ] 所有固定灰色是否为三通道相等的 `neutral-gray`,`--oyd-theme-deep` 是否按 12% 主题色与 88% `#111111` 计算并写入实际值?
|
|
381
|
+
- [ ] `application-global` 变量名和消费语义是否稳定,`custom-page` 是否无同值同义重复 Token?
|
|
382
|
+
- [ ] 文字对比是否保持 `text1-4` 高于 `text1-10`、`text1-10` 高于 `text1-3`?
|
|
383
|
+
- [ ] `themeId`、描述、DNA 与组件名称是否只描述视觉机制,不绑定页面类型或默认色相?
|
|
384
|
+
- [ ] 同类面板是否等高、主网格是否拉伸、图表是否固定高度、长内容是否在内部处理?
|
|
385
|
+
- [ ] hover、active、focus、loading、empty、error、disabled、selected 是否完整且不导致布局跳动?
|
|
386
|
+
- [ ] 三档以上响应式规则、移动端触控、键盘访问、非纯颜色状态与 reduced motion 是否达标?
|
|
387
|
+
- [ ] `{{PAGE_APPLICATIONS}}` 是否只展开项目真实存在的页面,没有预先枚举不存在的页面?
|
|
388
|
+
- [ ] 最终项目实例化时是否替换全部占位符并把七枚 Brand Token 写成实际色值?
|