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,339 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "{{PROJECT_NAME}}"
|
|
3
|
+
description: 以纯白画布、分隔式无卡底摘要带、单行命令工具条和低对比大圆角媒体栅格构成宽松、克制、对象优先的轻量主题。
|
|
4
|
+
themeId: airy-media-grid
|
|
5
|
+
tokens:
|
|
6
|
+
application-global:
|
|
7
|
+
colors:
|
|
8
|
+
"--pod-page-bg-color": "var(--color-white, #fff)"
|
|
9
|
+
"--color-white": "#FFFFFF"
|
|
10
|
+
"--color-brand1-1": "<基于 --color-brand1-6 生成的实际色值:与白色混合 14%,用于悬停>"
|
|
11
|
+
"--color-brand1-2": "<基于 --color-brand1-6 生成的实际色值:与白色混合 88%,用于平台品牌浅色>"
|
|
12
|
+
"--color-brand1-3": "<基于 --color-brand1-6 生成的实际色值:与白色混合 95%,用于浅色导航框架>"
|
|
13
|
+
"--color-brand1-5": "<基于 --color-brand1-6 生成的实际色值:与黑色混合 16%,用于深色导航框架>"
|
|
14
|
+
"--color-brand1-6": "{{PRIMARY_COLOR}}"
|
|
15
|
+
"--color-brand1-9": "<基于 --color-brand1-6 生成的实际色值:与黑色混合 10%,用于按下与激活>"
|
|
16
|
+
"--color-brand1-10": "<基于 --color-brand1-6 生成的实际色值:与白色混合 64%,用于禁用>"
|
|
17
|
+
"--color-line1-1": "#EEEEEE"
|
|
18
|
+
"--color-line1-2": "#DDDDDD"
|
|
19
|
+
"--color-fill1-1": "#FAFAFA"
|
|
20
|
+
"--color-fill1-2": "#F4F4F4"
|
|
21
|
+
"--color-fill1-3": "#E9E9E9"
|
|
22
|
+
"--color-fill1-10": "rgba(255, 255, 255, 0.97)"
|
|
23
|
+
"--color-text1-4": "#181818"
|
|
24
|
+
"--color-text1-10": "#606060"
|
|
25
|
+
"--color-text1-3": "#929292"
|
|
26
|
+
typography:
|
|
27
|
+
base:
|
|
28
|
+
"--font-family-base": "Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif"
|
|
29
|
+
subhead:
|
|
30
|
+
"--font-size-subhead": 24px
|
|
31
|
+
"--font-weight-subhead": 500
|
|
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": 24px
|
|
63
|
+
"--corner-circle": 50%
|
|
64
|
+
"--corner-semicircle": 500px
|
|
65
|
+
custom-page:
|
|
66
|
+
colors:
|
|
67
|
+
"--oyd-media-surface": "#F6F6F6"
|
|
68
|
+
"--oyd-media-selected": "color-mix(in srgb, var(--color-brand1-6) 5%, #F6F6F6)"
|
|
69
|
+
"--oyd-media-shadow": "rgba(0, 0, 0, 0.028)"
|
|
70
|
+
typography:
|
|
71
|
+
metric-primary:
|
|
72
|
+
"--font-size-metric-primary": 28px
|
|
73
|
+
"--font-weight-metric-primary": 500
|
|
74
|
+
"--font-lineheight-metric-primary": 1.2
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
# {{PROJECT_NAME}} design.md
|
|
78
|
+
|
|
79
|
+
## 设计总览
|
|
80
|
+
|
|
81
|
+
- 业务领域:{{BUSINESS_DOMAIN}}
|
|
82
|
+
- 产品形态:{{EXPERIENCE_TOPOLOGY}}
|
|
83
|
+
- 主题来源:{{THEME_SOURCE}}
|
|
84
|
+
- 项目约束:{{PROJECT_CONSTRAINTS}}
|
|
85
|
+
|
|
86
|
+
本主题以纯白画布和极弱无彩边界建立安静基底。顶部摘要不包卡,而是通过宽松留白与细竖分隔形成连续数据带;其下的搜索、视图切换、范围选择、排序与筛选组成单行命令工具条。主体使用等宽、等高的大圆角媒体对象栅格,每项以低对比浅灰表面承载居中的透明背景素材,标题与辅助信息固定在底部,左上保留极简状态短线与弱操作点。主题色面积控制在焦点、当前视图、主操作和选中态,避免干扰真实素材。
|
|
87
|
+
|
|
88
|
+
### 风格定位与应用说明
|
|
89
|
+
|
|
90
|
+
- 核心气质是“宽松白场、对象优先、弱容器、强对齐、少量焦点”;带真实缩略素材、可筛选对象和并列摘要的内容最能发挥记忆点,但这不是页面类型限制。
|
|
91
|
+
- 所有页面共享本主题的全应用 Token 和基础组件语言;逐页视觉应用根据真实页面、页面模式与内容生成,视觉记忆点仅在满足内容契约时使用。
|
|
92
|
+
- 构图迁移时保留无卡底摘要、等高工具控件、低对比媒体表面、居中留白、底部双层文字和连续等高网格,不照搬固定指标数量、列数、素材或筛选项。
|
|
93
|
+
- 无真实媒体时,将对象卡降级为文本或图标对象卡;无并列摘要时移除摘要带;需要新增搜索、筛选、排序或视图切换能力时只能使用 `suggest_only`。
|
|
94
|
+
|
|
95
|
+
### 视觉 DNA
|
|
96
|
+
|
|
97
|
+
| 设计母体 | 可见证据与置信度 | 复用规则与实现钩子 | 缺失后的失败表现 |
|
|
98
|
+
| --- | --- | --- | --- |
|
|
99
|
+
| 无卡底分隔摘要带 | 多个摘要直接位于白色画布,组间仅用细竖线分隔;每组为小标题、主值和行内变化信息。`observed` | 保留连续白场、等宽分段、细竖分隔与紧凑文字层级;数量、值和变化内容由 PRD 决定。 | 退化为一排独立阴影卡,页面变重并失去通透感。 |
|
|
100
|
+
| 单行命令工具条 | 宽搜索框占主要空间,右侧依次排列视图分段、范围、排序与筛选,控件等高且间距统一。`observed` | 保留主输入弹性伸展、操作组稳定顺序和 40px 等高;只渲染 PRD 已定义的真实操作。 | 控件散落、尺寸不一或换成多行表单,扫描路径被打断。 |
|
|
101
|
+
| 媒体优先对象卡 | 大圆角浅灰卡以 58%-68% 高度承载居中透明素材,底部固定标题与辅助信息,视觉焦点落在对象轮廓。`observed` | 保留大面积媒体舞台、`object-fit: contain`、统一安全区和底部文本带;素材、名称与字段由 PRD 决定。 | 图片被裁切、贴边或被文字覆盖,对象辨识度和高级感下降。 |
|
|
102
|
+
| 极简卡内状态标记 | 卡片左上使用短横线和两个弱圆点形成克制状态/操作锚点,不设置重型标题栏。`observed` | 仅在存在真实状态或行内操作时使用;主状态消费主题色,非交互点使用中性灰。 | 替换为大标签、彩色角标或完整工具栏,破坏素材主导关系。 |
|
|
103
|
+
| 连续等高宽松栅格 | 桌面以四列宽松网格连续铺排,同一行卡片尺寸一致,下一行自然延续,页面不依赖瀑布流。`observed` | 列数按容器自适应,固定最小卡宽、统一高宽比和父级 gap;真实对象数量决定行数。 | 卡片自由高、列宽漂移或密集小缩略图会丢失稳定节奏。 |
|
|
104
|
+
|
|
105
|
+
### 视觉记忆点应用策略
|
|
106
|
+
|
|
107
|
+
| 视觉记忆组件或构图 | 内容契约 | 落地策略 | 可迁移机制与适配目标 | 无匹配内容时 |
|
|
108
|
+
| --- | --- | --- | --- | --- |
|
|
109
|
+
| 无卡底分隔摘要带 | `content_contract`: 至少两个同层摘要,且每项包含主值与可选变化说明。 | `render_policy: adapt_existing_slot`;`direct_trigger`: PRD 提供 `primary_metrics`。 | `transferable_mechanism`: 连续白场、细竖分隔、主值与行内变化;`adaptation_targets`: `primary_metrics`、`primary_summary`。 | `fallback`: 单项摘要独立排版,多项缺失时移除该带;`forbidden`: 不得编造指标、变化率或比较周期。 |
|
|
110
|
+
| 单行命令工具条 | `content_contract`: PRD 已定义搜索、视图切换、时间范围、排序或筛选中的一个或多个操作。 | `render_policy: adapt_existing_slot`;`direct_trigger`: 存在真实 `global_actions` 或内容过滤任务。 | `transferable_mechanism`: 主输入弹性伸展、其余操作等高成组;`adaptation_targets`: `global_actions`、列表工具栏、对象检索。 | `fallback`: 仅保留真实操作并重新对齐;`forbidden`: 不得新增搜索、筛选、排序、日期或视图模式。 |
|
|
111
|
+
| 媒体优先对象卡 | `content_contract`: 对象具有真实可访问的主媒体或视觉缩略素材,以及主标题和可选辅助字段。 | `render_policy: prd_match_only`;`direct_trigger`: PRD 提供对象集合与合法素材。 | `transferable_mechanism`: 低对比媒体舞台、居中 contain、底部文本带;`adaptation_targets`: `primary_content_panel`、对象集合、素材集合。 | `fallback`: 无媒体时使用图标或文本对象卡,不生成假图片;`forbidden`: 不得编造名称、品牌、类别、价格、图片地址或对象。 |
|
|
112
|
+
| 极简卡内状态标记 | `content_contract`: 对象存在真实状态、选中态或 1-2 个弱操作。 | `render_policy: adapt_existing_slot`;`direct_trigger`: PRD 定义状态或卡内操作。 | `transferable_mechanism`: 左上短线、弱圆点、小面积主题焦点;`adaptation_targets`: 对象卡状态、批量选择、弱操作。 | `fallback`: 无状态和操作时移除标记;`forbidden`: 不得把装饰点伪装成可点击控件或编造状态。 |
|
|
113
|
+
| 连续等高宽松栅格 | `content_contract`: 页面存在同构对象集合,卡片字段与媒体区域可以统一。 | `render_policy: adapt_existing_slot`;`direct_trigger`: PRD 提供可重复对象集合。 | `transferable_mechanism`: 自适应等宽列、固定卡高、统一 gap 与稳定滚动;`adaptation_targets`: `primary_content_panel`、`detail_list`。 | `fallback`: 异构内容保持 PRD 原有结构,仅迁移表面与间距;`forbidden`: 不得为凑列数复制对象或补空卡。 |
|
|
114
|
+
|
|
115
|
+
- 先匹配 `content_contract`,再决定是否渲染组件本体;不能为了保留视觉记忆点而新增 PRD 未要求的字段、数据、入口、对象或流程。
|
|
116
|
+
- 每页优先清楚落地 1-3 个与 PRD 匹配的主记忆点,不要求全部组件同时出现。
|
|
117
|
+
- 无合法业务承载时保留为 `recipe_only`;若需要新增业务能力则使用 `suggest_only`,不进入默认实现。
|
|
118
|
+
|
|
119
|
+
### 设计变量范围
|
|
120
|
+
|
|
121
|
+
`tokens.application-global` 是原生表单、流程页面和自定义页面共同遵守的全应用契约;本主题使用无彩色灰阶、24px 以内标题、4px 基础间距、4-24px 圆角阶梯和轻字重。`tokens.custom-page` 仅补充纯白页面画布、低对比媒体舞台、主题派生选中表面、极轻卡片阴影与全局层缺失的摘要主值。普通浅填充、边界、tooltip、正文与状态色均复用全局 Token,不重复声明同义变量。
|
|
122
|
+
|
|
123
|
+
## 色彩
|
|
124
|
+
|
|
125
|
+
- 色彩来源:{{COLOR_SOURCE}}
|
|
126
|
+
- 颜色 Token 的名称和值以文档顶部 YAML 的 `tokens` 为唯一事实源;AI 可以根据主题调整色值,不改变宜搭应用全局变量名。
|
|
127
|
+
- 纯白画布与低对比浅灰媒体舞台承担绝大部分面积;主题色只连接当前视图、焦点、主操作、选中态和少量正向信息。
|
|
128
|
+
|
|
129
|
+
### 设计变量消费规则
|
|
130
|
+
|
|
131
|
+
| 固定消费语义 | 消费 Token | 作用域 |
|
|
132
|
+
| --- | --- | --- |
|
|
133
|
+
| 主题色交互元素悬停 | `--color-brand1-1` | 应用全局 |
|
|
134
|
+
| 平台预留品牌浅色;自定义页不主动绑定 | `--color-brand1-2` | 应用全局 |
|
|
135
|
+
| 浅色导航框架背景 | `--color-brand1-3` | 应用全局 |
|
|
136
|
+
| 深色导航框架背景 | `--color-brand1-5` | 应用全局 |
|
|
137
|
+
| 全应用主题主色;主操作、当前视图、选中与焦点 | `--color-brand1-6` | 应用全局 |
|
|
138
|
+
| 主题色交互元素激活或按下 | `--color-brand1-9` | 应用全局 |
|
|
139
|
+
| 主题色交互元素禁用状态 | `--color-brand1-10` | 应用全局 |
|
|
140
|
+
| 弱分隔、摘要竖线、网格边界与行线 | `--color-line1-1` | 应用全局 |
|
|
141
|
+
| 输入、按钮和必要容器边界 | `--color-line1-2` | 应用全局 |
|
|
142
|
+
| 页面底层纯白画布 | `--pod-page-bg-color` | 自定义页 |
|
|
143
|
+
| 常规面板、弹窗和表单容器 | `--color-white` | 应用全局 |
|
|
144
|
+
| 对象卡的低对比媒体舞台 | `--oyd-media-surface` | 自定义页 |
|
|
145
|
+
| 对象卡的主题派生选中表面 | `--oyd-media-selected` | 自定义页 |
|
|
146
|
+
| 对象卡的极轻阴影 | `--oyd-media-shadow` | 自定义页 |
|
|
147
|
+
| 菜单悬停、弱标签和默认浅填充 | `--color-fill1-1` | 应用全局 |
|
|
148
|
+
| 中性选中底和嵌套浅层 | `--color-fill1-2` | 应用全局 |
|
|
149
|
+
| 更重中性填充和禁用轨道 | `--color-fill1-3` | 应用全局 |
|
|
150
|
+
| 标题、主值、正文和主要图标 | `--color-text1-4` | 应用全局 |
|
|
151
|
+
| 表头和输入框 placeholder | `--color-text1-10` | 应用全局 |
|
|
152
|
+
| 辅助说明、元信息和弱操作点 | `--color-text1-3` | 应用全局 |
|
|
153
|
+
|
|
154
|
+
`--color-brand1-6` 是唯一主题色种子。其他六个 Brand Token 与 `--oyd-media-selected` 均由它派生,并在项目实例化时写入实际色值。无品牌色时使用产品流程提供的默认主色;真实媒体自身色彩保持原貌,不参与主题推演,也不得被主题滤镜统一染色。无彩区域不少于页面面积的 92%,主题色界面元素控制在 4%-8%。
|
|
155
|
+
|
|
156
|
+
### 本主题的配色约束
|
|
157
|
+
|
|
158
|
+
- `--color-line1-1 / --color-line1-2`、`--color-fill1-1 / --color-fill1-2 / --color-fill1-3`、`--color-text1-4 / --color-text1-10 / --color-text1-3` 与 `--oyd-media-surface` 均为 `neutral-gray`,Hex 满足 `R = G = B`;`--color-fill1-10` 与 `--oyd-media-shadow` 的前三通道相等。
|
|
159
|
+
- `--oyd-media-selected` 是 `theme-gray`,由 `--color-brand1-6` 5% 与中性基底 `#F6F6F6` 95% 混合;项目实例化时必须写入实际色值。
|
|
160
|
+
- 真实媒体属于内容素材,允许保留其独立色彩;界面层不得从媒体取色生成随机按钮、标签或卡片底色。
|
|
161
|
+
- 成功、警告、错误和信息状态直接消费平台语义色,并配合文字、图标或方向符号;`custom-page` 不重复声明同义状态 Token。
|
|
162
|
+
- 主题色不得覆盖对象图像、浅灰媒体舞台、普通文字或整张对象卡,只可作为细边、图标、焦点或选中反馈。
|
|
163
|
+
|
|
164
|
+
## 字体与排版
|
|
165
|
+
|
|
166
|
+
- 全局只使用 `tokens.application-global.typography.base` 的字体栈。
|
|
167
|
+
- `page-title` 消费 `tokens.application-global.typography.subhead`;`panel-title` 消费 `body-2`;对象标题与正文消费 `body-1`;表格消费 `table`;辅助信息消费 `caption`。
|
|
168
|
+
- `subhead` 为 24px / 500 / 1.3;`body-2` 为 16px / 600 / 1.4;`body-1` 为 14px / 400 / 1.5;`table` 为 14px / 400 / 1.45;`caption` 为 12px / 400 / 1.4。
|
|
169
|
+
- `tokens.custom-page.typography.metric-primary` 为 28px / 500 / 1.2,仅用于摘要主值;它是全局层缺失的独立数字语义,不替代页面标题。
|
|
170
|
+
- 数值启用 `font-variant-numeric: tabular-nums`;摘要标题与辅助信息单行省略,对象标题桌面最多两行、移动端最多两行,完整值通过详情或可访问名称提供。
|
|
171
|
+
- 图标使用 1.5px 线性描边、圆端点;工具栏图标 18px,卡内弱操作点 4-6px。图标与文字视觉居中,不使用 emoji 替代功能图标。
|
|
172
|
+
|
|
173
|
+
## 布局与间距
|
|
174
|
+
|
|
175
|
+
- 所有间距消费 YAML 的 `--s-1` 至 `--s-8`:图标与文字用 `--s-2`,工具组用 `--s-3 / --s-4`,对象卡文字区用 `--s-4`,主要区块用 `--s-6 / --s-8`。
|
|
176
|
+
- 全页面最大宽度 1800px,桌面安全边距 24-32px;父级使用 `gap`,同类卡片拉伸对齐,子项设置 `min-width: 0`。
|
|
177
|
+
- 摘要带按真实数量自适应等宽分段,工具条以搜索槽弹性占满剩余空间;对象网格按容器宽度自适应,不固定必须四列。
|
|
178
|
+
- 页面身份、摘要、工具条和对象集合是否出现及顺序由 PRD 与页面模式决定;没有对象集合时不得生成空栅格或空对象卡。
|
|
179
|
+
|
|
180
|
+
### 布局稳定性硬规则
|
|
181
|
+
|
|
182
|
+
- 桌面端主网格使用 `align-items: stretch`;禁止瀑布流和 `align-items: start`。
|
|
183
|
+
- 面板与对象卡使用 `height: 100%`、`min-width: 0`、`min-height: 0`、`display: flex`、`flex-direction: column`;媒体区 `flex: 1; min-height: 0`,文字区固定。
|
|
184
|
+
- `metric_card` / 摘要分段高 96-128px;主要对象 `card` 高 360-420px;媒体区高 250-310px;`detail_panel` 高 360-520px;无图表时 `chart_panel` 不渲染;可选 `quick_action_item` 高 68-80px。
|
|
185
|
+
- 素材使用 `max-width: 68%`、`max-height: 68%`、`object-fit: contain`,不得溢出媒体安全区;长标题截断,网格由页面滚动,不允许单卡自由增高。
|
|
186
|
+
- ≥1440px:对象集合按最小卡宽 300px 自动形成最多 4-5 列;960-1439px:2-3 列,摘要 2 列,工具控件允许分为两组但保持各组单行;<960px:单列或 2 列,摘要单列,工具条分组换行;<640px:对象单列,搜索独占一行,其余控件横向滚动或折叠进已存在的更多操作。
|
|
187
|
+
- 各断点不得复制对象补齐列数;移动端可缩短卡高但保持媒体安全区、文字区和触控目标。
|
|
188
|
+
|
|
189
|
+
## 表面与层级
|
|
190
|
+
|
|
191
|
+
- 页面底层与常规容器使用纯白;对象卡使用 `--oyd-media-surface`,常态不描边,阴影为 `0 8px 28px --oyd-media-shadow`,主要依靠 6% 明度差与大圆角建立层级。
|
|
192
|
+
- 搜索、筛选和分段控件使用白色或 `--color-fill1-1`,1px `--color-line1-2`;视图切换组可以共享一个外层边界,内部按钮不各自投影。
|
|
193
|
+
- tooltip、popover 使用 `--color-fill1-10`、`--corner-3` 与 `0 10px 28px rgba(0,0,0,0.10)`;嵌套状态只用浅填充或主题细边,不叠加阴影卡。
|
|
194
|
+
- 禁止毛玻璃、强辉光、大面积渐变和重投影;真实媒体可以有自身光影,但界面容器保持无彩、低对比。
|
|
195
|
+
|
|
196
|
+
## 圆角与形状
|
|
197
|
+
|
|
198
|
+
- `--corner-1` 4px 用于弱操作点、短线和微状态;`--corner-2` 8px 用于按钮、输入与小浮层;`--corner-3` 12px 用于分段控件和 tooltip;`--corner-4` 16px 用于普通面板;`--corner-5` 24px 用于媒体对象卡。
|
|
199
|
+
- `--corner-semicircle` 只用于短状态、计数和紧凑标签;`--corner-circle` 用于图标按钮、选择点和媒体占位图标。
|
|
200
|
+
- 对象卡同层统一使用大圆角;媒体素材自身不裁为圆形或胶囊,除非真实资产就是该形状。
|
|
201
|
+
|
|
202
|
+
## 组件
|
|
203
|
+
|
|
204
|
+
### 按钮与操作
|
|
205
|
+
|
|
206
|
+
按钮只使用 28px 行内、32px 紧凑工具栏、36px 常规、40px 强调四档;图标按钮使用同档正方形。主按钮消费 `--color-brand1-6`,次按钮白底细边,视图切换的当前项只让图标或底部短线使用主题色。hover、active 使用 `--color-brand1-1 / --color-brand1-9`;focus 为 2px 主题色外环加 2px offset;disabled 同时降低文字、图标和边界对比。同一操作区只保留一个主操作。
|
|
207
|
+
|
|
208
|
+
### 输入与筛选控件
|
|
209
|
+
|
|
210
|
+
紧凑工具栏 32px、常规表单 36px、宽松搜索与选择器 40px。主搜索使用 40px 高、`--corner-3`、白底与 `--color-line1-2`;筛选、排序和范围选择同高。placeholder 消费 `--color-text1-10`,focus 使用主题边界与外环,error 使用平台错误色并附文字。窄屏按操作组换行,不压缩到不可读宽度。
|
|
211
|
+
|
|
212
|
+
### 卡片与面板
|
|
213
|
+
|
|
214
|
+
对象卡使用 `--corner-5`、`--oyd-media-surface` 和固定高度,内部拆为弹性媒体区、固定文字区与可选状态锚点;卡片整体只响应一个主要点击任务。普通信息面板使用 `--corner-4` 与白色表面。禁止在对象卡内再嵌套同等圆角和阴影的卡片。
|
|
215
|
+
|
|
216
|
+
### 无卡底分隔摘要带
|
|
217
|
+
|
|
218
|
+
固定公式为“连续白场 / 等宽摘要分段 / 1px 竖分隔 / 小标题 / 主值与行内变化”。分隔线高度占摘要带 58%-72%,不触顶或触底;主值消费 `metric-primary`,变化信息使用平台状态色加方向符号或文字。单项时移除竖分隔,多项时不为每项添加卡底。
|
|
219
|
+
|
|
220
|
+
### 媒体优先对象卡
|
|
221
|
+
|
|
222
|
+
固定公式为“左上可选状态锚点 / 58%-68% 媒体舞台 / 居中 contain 素材 / 底部标题与辅助信息”。媒体安全区四周至少保留 `--s-6`,素材不裁切、不拉伸、不统一套主题滤镜;文字区高 76-96px,标题最多两行。无真实媒体时使用经授权的中性图标或文本占位,不生成虚假图片。
|
|
223
|
+
|
|
224
|
+
### 极简卡内状态标记
|
|
225
|
+
|
|
226
|
+
左上短线长 20-28px、高 4px,旁边最多两个 4-6px 圆点;有当前状态时短线消费 `--color-brand1-6`,无状态时使用 `--color-text1-3`。若圆点可交互,整体改为 28px 图标按钮并提供名称;禁止让装饰圆点看似可点击。
|
|
227
|
+
|
|
228
|
+
### 连续等高对象栅格
|
|
229
|
+
|
|
230
|
+
使用 `repeat(auto-fit, minmax(280px, 1fr))` 或等价自适应网格,父级 gap 为 `--s-6 / --s-8`,同一行卡片等高。排序变化使用 FLIP 或 180-240ms 位移动画,`prefers-reduced-motion` 下直接更新。不得使用 Masonry、自由高媒体或复制占位卡补齐末行。
|
|
231
|
+
|
|
232
|
+
### 图表或主内容面板
|
|
233
|
+
|
|
234
|
+
本主题的主内容默认由对象集合承载,不强制图表。若 PRD 确有图表,使用白色或 `--color-fill1-1` 表面、固定 320-420px 高度、1px 弱网格、单主题主序列和轻 tooltip;不得为了匹配主题添加无业务依据的图表。
|
|
235
|
+
|
|
236
|
+
### 表格与列表
|
|
237
|
+
|
|
238
|
+
当页面切换到真实列表模式时,表头高 44px、数据行 56-64px,缩略图 40-48px 并使用 `object-fit: contain`;标题与辅助信息保持两级,状态配合文字或图标,尾部操作为 28px 图标按钮。长内容单行省略,表格在面板内部滚动并固定表头。
|
|
239
|
+
|
|
240
|
+
### 快捷入口(可见或推断)
|
|
241
|
+
|
|
242
|
+
视觉材料未形成独立快捷入口区,置信度为 `inferred`,默认 `render_policy: recipe_only`。若 PRD 明确要求,使用 68-80px 白色条目、单色线性图标与两级文字,继承本主题大留白和弱边界;禁止默认彩色宫格。
|
|
243
|
+
|
|
244
|
+
### 状态与交互
|
|
245
|
+
|
|
246
|
+
- 悬停:对象卡阴影提升至 `0 12px 32px rgba(0,0,0,0.045)`,素材可缩放至 1.015,但容器尺寸不变。
|
|
247
|
+
- 按下:按钮消费 `--color-brand1-9`;对象卡使用 1px 内缩或素材回到 1.0,不改变网格尺寸。
|
|
248
|
+
- 聚焦:控件和可点击卡片显示 2px 主题色 focus ring;纯图标按钮必须有可访问名称。
|
|
249
|
+
- 加载:保持摘要、工具条和卡片固定尺寸;媒体区使用中性骨架,禁止布局跳动。
|
|
250
|
+
- 空态与错误:保留对象网格容器或列表面板,给出简短说明与真实下一步操作,不把整屏染成状态色。
|
|
251
|
+
- 禁用与选中:禁用同时降低文字、图标和边界对比;选中使用 `--oyd-media-selected`、主题细边与可访问标记,不只依赖颜色。
|
|
252
|
+
- 动效:hover 120-160ms,筛选与排序 180-240ms,浮层 160-200ms,均使用 ease-out;`prefers-reduced-motion` 下关闭缩放和位移。
|
|
253
|
+
|
|
254
|
+
## 项目应用
|
|
255
|
+
|
|
256
|
+
### 项目上下文与主题应用
|
|
257
|
+
|
|
258
|
+
- 当前产品形态:{{EXPERIENCE_TOPOLOGY}}
|
|
259
|
+
- 主题在当前项目中的应用说明:{{PRODUCT_TOPOLOGY_APPLICATION}}
|
|
260
|
+
|
|
261
|
+
产品形态只提供任务与内容上下文,不决定主题是否可用。原生页面和自定义页面共同继承纯白画布、无彩灰阶、轻字重、稳定间距和控件状态;仅在内容契约成立时使用无卡底摘要、命令工具条和媒体对象栅格。
|
|
262
|
+
|
|
263
|
+
### 页面模式
|
|
264
|
+
|
|
265
|
+
{{PAGE_PATTERN_SUMMARY}}
|
|
266
|
+
|
|
267
|
+
页面模式决定任务、内容、信息架构与模块。本主题只规定视觉表达;没有对象集合或真实媒体时,页面保持 PRD 的列表、表单、详情、流程或数据结构,只迁移白场、弱边界、大圆角、间距和交互语言。
|
|
268
|
+
|
|
269
|
+
### 逐页视觉应用
|
|
270
|
+
|
|
271
|
+
{{PAGE_APPLICATIONS}}
|
|
272
|
+
|
|
273
|
+
实例化时只展开项目真实存在的页面;每页说明 `page_identity`、`primary_metrics`、`global_actions`、`primary_content_panel`、`detail_list/detail_table` 的位置、跨度、高度、移动端顺序和采用的视觉 DNA。页面不必使用全部母体,但采用对象卡或摘要带时必须遵守本文构图公式。
|
|
274
|
+
|
|
275
|
+
### 素材要求
|
|
276
|
+
|
|
277
|
+
- 页面图片需求:{{PAGE_IMAGE_NEEDS}}
|
|
278
|
+
- 素材缺口:{{ASSET_GAPS}}
|
|
279
|
+
- 媒体素材必须来自真实授权来源,优先使用透明背景或干净轮廓素材;没有素材时使用中性图标或结构化占位,不编造品牌、对象、名称、类别或图片地址。
|
|
280
|
+
|
|
281
|
+
## 设计规范与禁忌
|
|
282
|
+
|
|
283
|
+
### 必须做到
|
|
284
|
+
|
|
285
|
+
- 所有页面必须保留纯白主画布、无彩灰阶、轻字重、克制主题焦点和稳定留白;不得用大面积主题底色替代白场。
|
|
286
|
+
- 摘要契约成立时必须保护连续白场、细竖分隔和主值行内变化;对象契约成立时必须保护低对比媒体舞台、居中 contain、安全区和底部文字带。
|
|
287
|
+
- 命令操作契约成立时必须让主搜索弹性伸展、其余控件等高成组;不得为保持工具条而新增不存在的功能。
|
|
288
|
+
- 对象网格必须等宽等高、父级 gap 统一、素材不裁切、长文本截断;状态与选中必须可通过非颜色线索识别。
|
|
289
|
+
- 完整 hover、active、focus、loading、empty、error、disabled、selected、三档响应式与键盘访问必须落地。
|
|
290
|
+
|
|
291
|
+
### 禁止项
|
|
292
|
+
|
|
293
|
+
- 禁止复制视觉材料中的业务内容,或让 DESIGN.md 覆盖 PRD 的内容决策。
|
|
294
|
+
- 禁止把输入主题色铺满背景、普通卡片或大面积面板;禁止从真实媒体随机取色作为界面主题。
|
|
295
|
+
- 禁止把固定四列、固定摘要数量、完整筛选组合或模块顺序写成所有页面无条件执行的结构。
|
|
296
|
+
- 禁止裁切主体、拉伸媒体、用主题滤镜统一素材、让文字覆盖素材或让对象贴近卡边。
|
|
297
|
+
- 禁止把摘要改为一排重阴影卡、把对象卡改为密集小缩略图、把连续网格改为瀑布流。
|
|
298
|
+
- 禁止自由高度卡片、`align-items: start`、无固定媒体区、长内容撑破父级和零散 margin 拼接。
|
|
299
|
+
- 禁止默认后台质感、厚描边、强投影、毛玻璃、无依据装饰和与主题不一致的组件库默认样式。
|
|
300
|
+
|
|
301
|
+
### 错误与正确
|
|
302
|
+
|
|
303
|
+
- 错误:每项摘要都有独立卡底和重阴影;正确:摘要共享白场,只用留白与细竖线分组。
|
|
304
|
+
- 错误:搜索与筛选尺寸不同、散落两侧;正确:主搜索弹性占位,其余操作按任务等高成组。
|
|
305
|
+
- 错误:媒体填满并裁切卡片;正确:素材在统一安全区内居中 contain,保持真实比例和充足留白。
|
|
306
|
+
- 错误:为保持四列复制或编造对象;正确:网格按真实数量自然形成末行,并随容器自适应列数。
|
|
307
|
+
- 错误:所有页面强制使用媒体对象栅格;正确:内容契约成立时使用本体,否则保留 PRD 页面模式并迁移白场、圆角、排版与间距。
|
|
308
|
+
- 错误:主题色覆盖整卡或真实素材;正确:主题色只连接当前视图、主操作、焦点与选中,大部分界面保持无彩。
|
|
309
|
+
|
|
310
|
+
### AI 使用提示
|
|
311
|
+
|
|
312
|
+
先读取 PRD,再解析 `{{PRIMARY_COLOR}}` 并生成全部实际 Brand Token。所有真实页面先继承纯白画布、无彩灰阶、弱边界、大圆角、轻字重和基础控件语言,再按内容契约选择无卡底摘要、命令工具条、媒体对象卡与等高网格。不得为复刻代表性构图新增指标、对象、媒体、搜索或筛选;主题色只替换焦点色相,不改变白场、媒体安全区、对象优先层级和栅格稳定机制。
|
|
313
|
+
|
|
314
|
+
### 交付自检
|
|
315
|
+
|
|
316
|
+
- [ ] 全部页面内容和模块是否来自 PRD,而非模板来源?
|
|
317
|
+
- [ ] 摘要带是否共享白场并使用细竖分隔,而非独立重卡?
|
|
318
|
+
- [ ] 命令工具条是否只包含真实操作,并保持主输入弹性伸展、其余控件等高?
|
|
319
|
+
- [ ] 对象卡是否使用低对比媒体舞台、居中 contain、统一安全区和底部文字带?
|
|
320
|
+
- [ ] 卡内状态锚点是否具有真实语义,弱圆点是否没有伪装成交互控件?
|
|
321
|
+
- [ ] 对象网格是否等宽等高、自适应列数、自然形成末行且没有瀑布流?
|
|
322
|
+
- [ ] 每个视觉记忆组件是否都有 `content_contract`、`render_policy`、迁移目标和无匹配回退策略?
|
|
323
|
+
- [ ] 固定列数、摘要数量、工具组合和模块顺序是否具有内容契约,而非全页面硬规则?
|
|
324
|
+
- [ ] 未被 PRD 触发的组件是否没有强行渲染,视觉迁移是否没有新增业务内容?
|
|
325
|
+
- [ ] 主操作、当前视图、选中和焦点是否共享 `--color-brand1-6`,其余表面保持中性?
|
|
326
|
+
- [ ] 真实媒体是否保持原色,未被主题滤镜或随机取色影响?
|
|
327
|
+
- [ ] `application-global` 的变量名和消费语义是否稳定,具体值是否依据本主题生成?
|
|
328
|
+
- [ ] `custom-page` 是否通过全局语义复用检查,没有同值同义或角色重叠的重复 Token?
|
|
329
|
+
- [ ] 文字对比是否保持 `text1-4` 高于 `text1-10`、`text1-10` 高于 `text1-3`?
|
|
330
|
+
- [ ] `themeId`、描述、视觉 DNA、组件标题和正文总结是否没有绑定默认色相或页面类型?
|
|
331
|
+
- [ ] 描述中的宽松、低对比、大圆角、轻量和对象优先是否与 Token 及正文一致?
|
|
332
|
+
- [ ] 是否没有建立适用/不适用产品形态清单,所有页面是否共享全应用 Token 和基础组件语言?
|
|
333
|
+
- [ ] `{{PAGE_APPLICATIONS}}` 是否只展开项目真实存在的页面,没有枚举不存在的页面?
|
|
334
|
+
- [ ] 主题同色演变是否由 `--color-brand1-6` 派生,平台状态语义色是否未在 `custom-page` 重复声明?
|
|
335
|
+
- [ ] 所有灰色 Token 是否已分类;`neutral-gray` 是否满足三通道相等,`theme-gray` 是否声明基底、比例和实例化要求?
|
|
336
|
+
- [ ] 同类卡片是否等高,媒体区是否固定,长内容是否在内部处理?
|
|
337
|
+
- [ ] hover、active、focus、loading、empty、error、disabled、selected 是否完整且不引发布局跳动?
|
|
338
|
+
- [ ] 移动端折叠、触控目标、键盘访问、对比度、非纯颜色状态与 reduced motion 是否达标?
|
|
339
|
+
- [ ] 最终项目 `design.md` 是否替换全部占位符并写入七个 Brand Token 的实际色值?
|