openyida 2026.9.19 → 2026.9.21
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 +4 -4
- package/lib/app/application-style.js +69 -0
- package/lib/app/create-form/args.js +37 -12
- package/lib/app/create-form/batch.js +32 -5
- package/lib/app/create-form.js +94 -57
- package/lib/app/form-field-validator.js +0 -36
- package/lib/app/services/form-compiler.js +0 -2
- package/lib/app/theme-from-design.js +40 -14
- package/lib/app/update-app.js +63 -13
- package/lib/core/command-manifest.js +81 -25
- package/lib/core/locales/en.js +20 -3
- package/lib/core/locales/zh.js +20 -3
- package/lib/core/sample.js +36 -14
- package/lib/design/document.js +1 -0
- package/lib/design-plan/confirmation.js +13 -0
- package/lib/design-plan/design-plan.js +44 -2
- package/lib/design-plan/entry-navigation.js +10 -2
- package/lib/design-plan/init.js +16 -9
- package/lib/design-plan/materialize.js +85 -45
- package/lib/design-plan/normalize.js +13 -14
- package/lib/design-plan/parallel.js +62 -13
- package/lib/design-plan/patch.js +21 -7
- package/lib/design-plan/rebase.js +60 -0
- package/lib/design-plan/themes.js +16 -1
- package/lib/design-plan/validate.js +16 -1
- package/lib/design-plan/visual-policy.js +29 -4
- package/lib/samples/openyida-scaffold/canvas-form-drawer.canvas.jsx +3 -3
- package/lib/samples/openyida-scaffold/canvas-nav/mixed.jsx +6 -4
- package/lib/samples/openyida-scaffold/canvas-nav/shared.jsx +5 -5
- package/lib/samples/openyida-scaffold/canvas-nav/side.jsx +1 -2
- package/lib/samples/openyida-scaffold/canvas-nav/sidebar.jsx +1 -1
- package/lib/samples/openyida-scaffold/canvas-nav/top.jsx +5 -4
- package/package.json +1 -1
- package/yida-skills/SKILL.md +2 -2
- package/yida-skills/references/official-example-schema-patterns.md +1 -1
- package/yida-skills/references/yida-api.md +4 -0
- package/yida-skills/skills/yida-app/SKILL.md +15 -4
- package/yida-skills/skills/yida-app/references/entry-navigation.md +11 -9
- package/yida-skills/skills/yida-app/workflow/plan/step-4-deliver.md +1 -1
- package/yida-skills/skills/yida-app/workflow/plan/workflow.md +11 -4
- package/yida-skills/skills/yida-app/workflow/step-2-design.md +3 -3
- package/yida-skills/skills/yida-app/workflow/step-3-create-or-reuse-app.md +2 -2
- package/yida-skills/skills/yida-app/workflow/step-8-publish-navigation.md +3 -3
- package/yida-skills/skills/yida-app/workflow/step-9-output-finish.md +3 -2
- package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +2 -2
- package/yida-skills/skills/yida-canvas-custom-page/references/canvas-style-implementation-guide.md +1 -1
- package/yida-skills/skills/yida-canvas-custom-page/references/canvas-theme-provider.md +1 -1
- package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +140 -1
- package/yida-skills/skills/yida-canvas-custom-page/references/navigation-and-entry-guide.md +1 -1
- package/yida-skills/skills/yida-canvas-custom-page/scripts/canvas-theme-provider.template.jsx +1 -1
- package/yida-skills/skills/yida-canvas-data-binding/SKILL.md +7 -0
- package/yida-skills/skills/yida-create-form-page/SKILL.md +34 -43
- 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 +2 -2
- package/yida-skills/skills/yida-create-form-page/references/field-definition-guide.md +4 -16
- package/yida-skills/skills/yida-create-form-page/references/form-field-properties.md +14 -37
- package/yida-skills/skills/yida-design/SKILL.md +7 -5
- package/yida-skills/skills/yida-design/references/application-style-library.md +93 -0
- package/yida-skills/skills/yida-design/references/application-theme-consistency.md +48 -7
- package/yida-skills/skills/yida-design/references/ask-human-interaction-contract.md +1 -1
- package/yida-skills/skills/yida-design/references/native-form-styles.md +208 -0
- package/yida-skills/skills/yida-design/references/navigation-decision.md +6 -4
- package/yida-skills/skills/yida-design/references/theme/app-custom-theme-template.css +110 -1
- package/yida-skills/skills/yida-design/references/theme/application-style-recipes.css +58 -0
- package/yida-skills/skills/yida-design/references/theme-selection.md +12 -11
- package/yida-skills/skills/yida-design/references/visual-decision-engine.md +1 -1
- package/yida-skills/skills/yida-design/scripts/validate_design_themes.py +49 -6
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/SKILL.md +13 -3
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-compact-schema.md +6 -2
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-schema.md +5 -3
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-design.md +3 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-theme-selection.md +22 -23
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/render_build_plan.py +2 -0
- package/yida-skills/skills/yida-design/templates/application-styles.json +398 -0
- package/yida-skills/skills/yida-design/templates/design-themes/README.md +15 -10
- package/yida-skills/skills/yida-design/templates/design-themes/app-amber/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-amber/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-amber/form-layout.json +15 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/form-layout.json +14 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-executive/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-executive/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-executive/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-finance/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-finance/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-finance/form-layout.json +14 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-glass/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-glass/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-glass/form-layout.json +14 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/form-layout.json +14 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-line/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-line/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-line/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-neon/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-neon/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-neon/form-layout.json +14 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/app_theme.css +754 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/design.md +279 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-paper/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-paper/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-paper/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/form-layout.json +14 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-plum/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-plum/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-plum/form-layout.json +14 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-pop/app_theme.css +758 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-pop/design.md +281 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-pop/form-layout.json +14 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-sage/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-sage/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-sage/form-layout.json +14 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-teal/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-teal/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-teal/form-layout.json +14 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/app_theme.css +754 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/design.md +279 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/form-layout.json +14 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/app_theme.css +752 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/design.md +278 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-wire/app_theme.css +748 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-wire/design.md +274 -0
- package/yida-skills/skills/yida-design/templates/design-themes/app-wire/form-layout.json +14 -0
- package/yida-skills/skills/yida-design/templates/design-themes/basic-tokens.json +2 -1
- package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/app_theme.css +690 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{dark-inset-hairline.md → dark-inset-hairline/design.md} +107 -58
- package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/app_theme.css +691 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{dark-rail-fine-lines.md → dark-rail-fine-lines/design.md} +106 -50
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/app_theme.css +696 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{dark-rail-signal-panels.md → dark-rail-signal-panels/design.md} +66 -12
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/free-creative/app_theme.css +689 -0
- package/yida-skills/skills/yida-design/templates/design-themes/free-creative/design.md +238 -0
- package/yida-skills/skills/yida-design/templates/design-themes/free-creative/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/app_theme.css +692 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{graphite-bevel-grid.md → graphite-bevel-grid/design.md} +64 -10
- package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/app_theme.css +691 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{hairline-shared-bands.md → hairline-shared-bands/design.md} +66 -12
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/app_theme.css +691 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{hairline-soft-blocks.md → hairline-soft-blocks/design.md} +61 -9
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/index.json +399 -31
- package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/app_theme.css +701 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{ink-glow-soft-panels.md → ink-glow-soft-panels/design.md} +62 -8
- package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/app_theme.css +691 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{inset-frame-pixel-rhythm.md → inset-frame-pixel-rhythm/design.md} +63 -9
- package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/app_theme.css +698 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{outlined-texture-duotone.md → outlined-texture-duotone/design.md} +66 -12
- package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/app_theme.css +691 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{soft-inset-surfaces.md → soft-inset-surfaces/design.md} +63 -11
- package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/app_theme.css +690 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{soft-outline-rhythm.md → soft-outline-rhythm/design.md} +64 -26
- package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/app_theme.css +698 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{soft-rail-bold-band.md → soft-rail-bold-band/design.md} +103 -49
- package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/app_theme.css +692 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{soft-spectral-panels.md → soft-spectral-panels/design.md} +67 -13
- package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/app_theme.css +711 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{warm-canvas-contrast-panels.md → warm-canvas-contrast-panels/design.md} +64 -10
- package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/app_theme.css +692 -0
- package/yida-skills/skills/yida-design/templates/design-themes/{warm-rail-muted-panels.md → warm-rail-muted-panels/design.md} +102 -50
- package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/form-layout.json +13 -0
- package/yida-skills/skills/yida-design/templates/navigation-styles.json +769 -0
- package/yida-skills/skills/yida-design/workflow/output-design.md +9 -6
- package/yida-skills/skills/yida-design/workflow/step-2-theme-system.md +12 -4
- package/yida-skills/skills/yida-design/workflow/step-6-handoff.md +1 -1
- package/yida-skills/skills/yida-form-permission/SKILL.md +6 -0
- package/yida-skills/skills/yida-nav-shell/SKILL.md +1 -1
- package/yida-skills/skills/yida-nav-shell/references/nav-shell-patterns.md +6 -0
- package/yida-skills/skills/yida-page-config/SKILL.md +9 -0
- package/yida-skills/skills/yida-prd/SKILL.md +1 -0
- package/yida-skills/skills/yida-prd/workflow/output-prd.md +2 -2
- package/yida-skills/skills/yida-prd/workflow/step-2-information-architecture.md +1 -1
- package/yida-skills/skills/yida-requirement-analysis/references/experience-groups.md +45 -9
- package/yida-skills/skills/yida-requirement-analysis/references/handoff.md +5 -5
- package/yida-skills/skills/yida-requirement-analysis/workflow/prepare-brief.md +17 -4
- package/yida-skills/skills-index.json +2 -2
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "{{PROJECT_NAME}}"
|
|
3
|
+
description: "密集双列、水平标签与对齐金额;淡蓝图纸、清晰细边界、低圆角。适合预算、风险与资金计划。"
|
|
4
|
+
themeId: "app-finance"
|
|
5
|
+
tokens:
|
|
6
|
+
application-global:
|
|
7
|
+
appearance:
|
|
8
|
+
surfaces:
|
|
9
|
+
"--pod-app-root-bg-color": "#edf2f7"
|
|
10
|
+
"--pod-app-root-bg-image": "none"
|
|
11
|
+
"--pod-page-bg-color": "#edf2f7"
|
|
12
|
+
"--pod-card-bg-color": "#ffffff"
|
|
13
|
+
"--pod-table-cell-color": "var(--pod-card-bg-color)"
|
|
14
|
+
navigation:
|
|
15
|
+
"--pod-shell-theme-bg-color": "#E2EBF5"
|
|
16
|
+
"--pod-nav-item-text-color": "#274E78"
|
|
17
|
+
"--pod-nav-item-text-hover-color": "#153856"
|
|
18
|
+
"--pod-nav-item-text-selected-color": "#F2F7FC"
|
|
19
|
+
"--pod-nav-menu-bg-hover-color": "#CDDCED"
|
|
20
|
+
"--pod-nav-menu-bg-selected-color": "#274E78"
|
|
21
|
+
"--pod-nav-menu-item-selected-shadow": "none"
|
|
22
|
+
"--pod-page-header-bg-color": "var(--pod-shell-theme-bg-color)"
|
|
23
|
+
"--pod-nav-l-sub-main-bg-color": "var(--pod-shell-theme-bg-color)"
|
|
24
|
+
"--pod-nav-top-main-border-width": "1px"
|
|
25
|
+
"--pod-nav-top-main-border-color": "#AFC4DC"
|
|
26
|
+
"--pod-nav-top-tab-indicator-width": "0px"
|
|
27
|
+
"--pod-nav-logo-text": "var(--pod-nav-item-text-hover-color)"
|
|
28
|
+
"--pod-nav-logo-bg": "var(--pod-nav-menu-bg-selected-color)"
|
|
29
|
+
"--pod-nav-logo-icon": "var(--pod-nav-item-text-selected-color)"
|
|
30
|
+
"--pod-nav-logo-border": "1px solid #AFC4DC"
|
|
31
|
+
"--pod-nav-logo-border-radius": "4px"
|
|
32
|
+
"--pod-nav-sub-divider-color": "#AFC4DC"
|
|
33
|
+
"--pod-nav-item-text-disabled-color": "rgba(24,28,31,.30)"
|
|
34
|
+
"--pod-nav-l-container-bg": "var(--pod-shell-theme-bg-color)"
|
|
35
|
+
"--pod-nav-l-group-label-color": "var(--pod-nav-item-text-color)"
|
|
36
|
+
"--pod-nav-l-search-border-color": "#AFC4DC"
|
|
37
|
+
"--pod-nav-popup-bg-color": "var(--pod-shell-theme-bg-color)"
|
|
38
|
+
"--pod-nav-popup-border-radius": "4px"
|
|
39
|
+
"--pod-nav-popup-shadow": "0 6px 18px rgba(39,78,120,.12)"
|
|
40
|
+
"--pod-nav-tab-line-hover-color": "var(--pod-nav-item-text-hover-color)"
|
|
41
|
+
"--pod-nav-tab-line-selected-color": "var(--pod-nav-item-text-hover-color)"
|
|
42
|
+
"--pod-nav-search-bg-color": "var(--pod-nav-menu-bg-hover-color)"
|
|
43
|
+
"--pod-nav-search-bg-hover-color": "var(--pod-nav-menu-bg-hover-color)"
|
|
44
|
+
"--pod-nav-search-bg-active-color": "var(--pod-nav-menu-bg-hover-color)"
|
|
45
|
+
"--pod-nav-search-placeholder-color": "var(--pod-nav-item-text-color)"
|
|
46
|
+
"--pod-nav-search-text-color": "var(--pod-nav-item-text-hover-color)"
|
|
47
|
+
"--pod-nav-search-icon-color": "var(--pod-nav-item-text-color)"
|
|
48
|
+
"--pod-nav-search-border-color": "#AFC4DC"
|
|
49
|
+
"--pod-nav-search-border-hover-color": "var(--pod-nav-item-text-hover-color)"
|
|
50
|
+
"--pod-nav-search-border-active-color": "var(--pod-nav-item-text-hover-color)"
|
|
51
|
+
"--pod-nav-action-icon-color": "var(--pod-nav-item-text-color)"
|
|
52
|
+
"--pod-nav-action-border-color": "#AFC4DC"
|
|
53
|
+
"--pod-nav-action-border": "1px solid #AFC4DC"
|
|
54
|
+
"--pod-nav-action-bg-hover-color": "var(--pod-nav-menu-bg-hover-color)"
|
|
55
|
+
"--pod-nav-action-bg-active-color": "var(--pod-nav-menu-bg-hover-color)"
|
|
56
|
+
"--pod-nav-menu-item-height": "36px"
|
|
57
|
+
"--pod-nav-menu-item-radius": "2px"
|
|
58
|
+
"--pod-nav-menu-item-border": "1px solid #AFC4DC"
|
|
59
|
+
"--pod-nav-menu-item-hover-border": "1px solid #274E78"
|
|
60
|
+
"--pod-nav-menu-item-selected-border": "1px solid #153856"
|
|
61
|
+
"--pod-nav-menu-font-size": "14px"
|
|
62
|
+
"--pod-nav-menu-item-selected-font-weight": "600"
|
|
63
|
+
"--pod-nav-menu-line-height": "20px"
|
|
64
|
+
"--pod-nav-menu-gap": "4px"
|
|
65
|
+
"--pod-shell-lshape-border-radius": "4px"
|
|
66
|
+
native-form:
|
|
67
|
+
"--form-element-medium-corner": "4px"
|
|
68
|
+
"--form-element-medium-height": "36px"
|
|
69
|
+
"--form-element-medium-font-size": "14px"
|
|
70
|
+
"--input-bg-color": "#ffffff"
|
|
71
|
+
"--input-border-width": "1px"
|
|
72
|
+
"--input-border-color": "#c4d1df"
|
|
73
|
+
"--input-hover-border-color": "var(--color-brand1-6)"
|
|
74
|
+
"--input-focus-border-color": "var(--color-brand1-6)"
|
|
75
|
+
"--input-hover-bg-color": "#ffffff"
|
|
76
|
+
"--input-focus-bg-color": "#ffffff"
|
|
77
|
+
"--pod-form-label-color": "#274e78"
|
|
78
|
+
"--form-top-label-margin-b": "8px"
|
|
79
|
+
"--yida-form-content-bgcolor": "#ffffff"
|
|
80
|
+
"--pod-page-content-max-width": "1080px"
|
|
81
|
+
"--pod-page-border-radius": "4px"
|
|
82
|
+
"--pod-page-footer-bg-color": "#ffffff"
|
|
83
|
+
"--pod-page-footer-border-radius": "4px"
|
|
84
|
+
"--pod-sticky-footer-box-shadow": "none"
|
|
85
|
+
"--pod-formView-stickyFooter-bg-color": "#edf2f7"
|
|
86
|
+
"--pod-formView-stickyFooter-box-shadow": "none"
|
|
87
|
+
"--pod-formView-stickyFooter-border": "none"
|
|
88
|
+
"--pod-formView-stickyFooter-border-top": "1px solid #c4d1df"
|
|
89
|
+
"--pod-formView-stickyFooter-height": "56px"
|
|
90
|
+
"--pod-formView-stickyFooter-bottom": "8px"
|
|
91
|
+
"--pod-field-preview-min-height": "32px"
|
|
92
|
+
"--pod-field-preview-padding": "8px 12px"
|
|
93
|
+
"--pod-field-preview-gap": "4px"
|
|
94
|
+
"--pod-field-preview-bg-color": "#ffffff"
|
|
95
|
+
"--pod-field-preview-border-radius": "4px"
|
|
96
|
+
"--pod-field-preview-indicator-color": "var(--color-fill1-3)"
|
|
97
|
+
"--pod-field-preview-shadow": "none"
|
|
98
|
+
"--pod-field-preview-text-color": "#274e78"
|
|
99
|
+
"--pod-field-preview-line-height": "20px"
|
|
100
|
+
colors:
|
|
101
|
+
"--color-white": "var(--pod-card-bg-color)"
|
|
102
|
+
"--color-brand1-1": "<生成实际色值:--color-brand1-6 88% + #FFFFFF 12%,sRGB 逐通道混合>"
|
|
103
|
+
"--color-brand1-2": "<生成实际色值:--color-brand1-6 12% + #FFFFFF 88%,sRGB 逐通道混合>"
|
|
104
|
+
"--color-brand1-3": "<生成实际色值:--color-brand1-6 4% + #FFFFFF 96%,sRGB 逐通道混合>"
|
|
105
|
+
"--color-brand1-5": "<生成实际色值:--color-brand1-6 38% + #171717 62%,sRGB 逐通道混合>"
|
|
106
|
+
"--color-brand1-6": "{{PRIMARY_COLOR}}"
|
|
107
|
+
"--color-brand1-9": "<生成实际色值:--color-brand1-6 76% + #000000 24%,sRGB 逐通道混合>"
|
|
108
|
+
"--color-brand1-10": "<生成实际色值:--color-brand1-6 26% + #202020 74%,sRGB 逐通道混合>"
|
|
109
|
+
"--color-line1-1": "#c4d1df"
|
|
110
|
+
"--color-line1-2": "#c4d1df"
|
|
111
|
+
"--color-fill1-1": "#edf2f7"
|
|
112
|
+
"--color-fill1-2": "#edf2f7"
|
|
113
|
+
"--color-fill1-3": "#c4d1df"
|
|
114
|
+
"--color-fill1-5": "#ffffff"
|
|
115
|
+
"--color-fill1-10": "#262626"
|
|
116
|
+
"--color-text1-5": "#FFFFFF"
|
|
117
|
+
"--color-text1-4": "#274e78"
|
|
118
|
+
"--color-text1-10": "#274e78"
|
|
119
|
+
"--color-text1-3": "#274e78"
|
|
120
|
+
"--color-text1-2": "#858781"
|
|
121
|
+
"--color-text1-1": "#c4d1df"
|
|
122
|
+
typography:
|
|
123
|
+
"--font-family-base": "Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
|
|
124
|
+
"--font-size-subhead": "18px"
|
|
125
|
+
"--font-weight-subhead": "500"
|
|
126
|
+
"--font-lineheight-subhead": "1.3"
|
|
127
|
+
"--font-size-body-2": "16px"
|
|
128
|
+
"--font-weight-body-2": "500"
|
|
129
|
+
"--font-lineheight-body-2": "1.45"
|
|
130
|
+
"--font-size-body-1": "14px"
|
|
131
|
+
"--font-weight-body-1": "400"
|
|
132
|
+
"--font-lineheight-body-1": "1.5"
|
|
133
|
+
"--font-size-table": "13px"
|
|
134
|
+
"--font-weight-table": "400"
|
|
135
|
+
"--font-lineheight-table": "1.45"
|
|
136
|
+
"--font-size-caption": "12px"
|
|
137
|
+
"--font-weight-caption": "400"
|
|
138
|
+
"--font-lineheight-caption": "1.4"
|
|
139
|
+
spacing:
|
|
140
|
+
"--s-1": "4px"
|
|
141
|
+
"--s-2": "8px"
|
|
142
|
+
"--s-3": "12px"
|
|
143
|
+
"--s-4": "16px"
|
|
144
|
+
"--s-5": "20px"
|
|
145
|
+
"--s-6": "24px"
|
|
146
|
+
"--s-7": "28px"
|
|
147
|
+
"--s-8": "32px"
|
|
148
|
+
"--s-9": "36px"
|
|
149
|
+
"--s-10": "40px"
|
|
150
|
+
rounded:
|
|
151
|
+
"--corner-zero": "0px"
|
|
152
|
+
"--corner-1": "4px"
|
|
153
|
+
"--corner-2": "4px"
|
|
154
|
+
"--corner-3": "4px"
|
|
155
|
+
"--corner-4": "4px"
|
|
156
|
+
"--corner-5": "4px"
|
|
157
|
+
"--corner-circle": "50%"
|
|
158
|
+
"--corner-semicircle": "500px"
|
|
159
|
+
shadow:
|
|
160
|
+
"--shadow-1": "0px 2px 4px 0px rgba(0, 0, 0, 0.12)"
|
|
161
|
+
"--shadow-2": "0px 4px 20px -1px rgba(0, 0, 0, 0.16)"
|
|
162
|
+
"--shadow-3": "0px 10px 28px -2px rgba(0, 0, 0, 0.24)"
|
|
163
|
+
custom-page:
|
|
164
|
+
"--oyd-page-bg": "var(--pod-page-bg-color)"
|
|
165
|
+
"--oyd-surface": "var(--pod-card-bg-color)"
|
|
166
|
+
"--oyd-canvas-image": "var(--pod-app-root-bg-image)"
|
|
167
|
+
"--oyd-ink": "var(--color-text1-4)"
|
|
168
|
+
"--oyd-border": "var(--color-line1-2)"
|
|
169
|
+
"--oyd-accent": "var(--color-brand1-6)"
|
|
170
|
+
"--oyd-radius": "4px"
|
|
171
|
+
"--oyd-content-width": "1080px"
|
|
172
|
+
"--oyd-content-padding": "28px"
|
|
173
|
+
"--oyd-field-gap": "16px"
|
|
174
|
+
"--oyd-section-gap": "32px"
|
|
175
|
+
"--oyd-heading-font": "var(--font-family-base)"
|
|
176
|
+
"--oyd-heading-size": "32px"
|
|
177
|
+
"--oyd-rule-style": "solid"
|
|
178
|
+
"--oyd-layout-columns": "minmax(0, 6fr) minmax(0, 6fr)"
|
|
179
|
+
"--oyd-surface-shadow": "none"
|
|
180
|
+
applicationStyle:
|
|
181
|
+
recipe: "application-style-v1"
|
|
182
|
+
mode: "template"
|
|
183
|
+
themeProfile:
|
|
184
|
+
contentTone: "light"
|
|
185
|
+
navTheme: "light"
|
|
186
|
+
---
|
|
187
|
+
# {{PROJECT_NAME}} design.md
|
|
188
|
+
|
|
189
|
+
## 1. 风格摘要
|
|
190
|
+
|
|
191
|
+
**金融蓝图**
|
|
192
|
+
|
|
193
|
+
密集双列、水平标签与对齐金额;淡蓝图纸、清晰细边界、低圆角。适合预算、风险与资金计划。
|
|
194
|
+
|
|
195
|
+
导航、应用框架、自定义页面、表单、编辑与详情共用这一套视觉语言。业务内容来自 PRD,按实际行业、页面标题和数据设计。色彩来源:{{COLOR_SOURCE}};主色由 {{PRIMARY_COLOR}} 实例化,品牌悬停色按同源占位说明生成;模板不固定项目品牌色。
|
|
196
|
+
|
|
197
|
+
## 2. 页面视觉系统
|
|
198
|
+
|
|
199
|
+
### 2.1 表面、区块与层次
|
|
200
|
+
|
|
201
|
+
密集双列、水平标签与对齐金额。淡蓝图纸、清晰细边界、低圆角。画布消费 --oyd-page-bg,内容消费 --oyd-surface,文字消费 --oyd-ink,边界消费 --oyd-border。内容最大宽度 --oyd-content-width,内距 --oyd-content-padding;宽屏不放大成空白 KPI 卡。
|
|
202
|
+
|
|
203
|
+
### 2.2 应用导航
|
|
204
|
+
|
|
205
|
+
淡蓝导航如图纸索引,紧凑低圆角菜单与细线网格呼应金额表单,当前入口以蓝底白字突出。
|
|
206
|
+
|
|
207
|
+
菜单轮廓使用 --pod-nav-menu-item-radius、--pod-nav-menu-item-border、--pod-nav-menu-item-hover-border、--pod-nav-menu-item-selected-border。侧栏和顶部菜单共用轮廓,各状态保持相同边框宽度,文字位置稳定;具体数值以本项目 Token 为准。
|
|
208
|
+
|
|
209
|
+
导航与应用框架、表单、自定义页面和详情页共用设计语言。先按业务入口安排菜单、分组、搜索、品牌区与常用操作,再一起确定导航与正文的明暗、表面、字体、边界、圆角和密度。平台导航使用真实页面菜单;自绘导航按同一套导航 Token 实现。命名模板沿用自身 navTheme,换主色保持导航明暗与内容画布;需要另一导航明暗时改选主题,自由创意按项目明确设计。
|
|
210
|
+
|
|
211
|
+
导航底色使用 --pod-shell-theme-bg-color;普通、悬停和选中文字分别使用 --pod-nav-item-text-color、--pod-nav-item-text-hover-color、--pod-nav-item-text-selected-color;悬停和选中背景使用 --pod-nav-menu-bg-hover-color、--pod-nav-menu-bg-selected-color。图标跟随对应文字状态,当前入口同时用背景或字重表达。
|
|
212
|
+
|
|
213
|
+
菜单高度、圆角与间距使用 --pod-nav-menu-item-height、--pod-nav-menu-item-radius、--pod-nav-menu-gap;搜索、品牌区、分组、操作和弹出菜单使用 navigation 分组中的对应 Token。弹出菜单的底色、文字与搜索状态成组配套,导航与内容可以分别选择明暗。选中项使用 --pod-nav-menu-item-selected-shadow:none 关闭额外标记,完整 box-shadow 值可表达左、右或底部内阴影,不占据菜单布局空间;该 Token 独立于导航明暗。菜单高度、文字行高、内距和框架留白一起调整,给外阴影、长标题与键盘焦点留出空间。
|
|
214
|
+
|
|
215
|
+
桌面检查菜单、搜索、选中态与表单的协调;折叠后保留可识别图标和入口名称;窄屏保持菜单可展开、当前页面可定位、键盘焦点可见。提交、编辑、详情与自定义页都沿用这一导航设计。 当前模板使用 contentTone: light、navTheme: light。
|
|
216
|
+
|
|
217
|
+
### 2.3 页面标题与操作
|
|
218
|
+
|
|
219
|
+
技术抬头与编号章节。标题字体消费 --oyd-heading-font 与 --oyd-heading-size,辅助说明按正文层级。主操作与当前任务相邻;不堆造虚假标签、指标或章号。
|
|
220
|
+
|
|
221
|
+
### 2.4 布局和移动端
|
|
222
|
+
|
|
223
|
+
桌面业务工作区:密集双列、水平标签与对齐金额。短字段建议 6:6,字段间距 16px、章节间距 32px、内容内距 28px;这些是项目起点,必须在每张表单设计中按组件树和字段长度确定。窄屏与半屏抽屉按实际可用宽度重排顶部、左侧、主体、右侧及字段间区域,侧栏组件可移到主体前后或折叠为合适的窄屏结构;长文本、附件和子表通常占整行。不把屏幕断点当 iframe 宽度,不用 fixed 卡片截断自然内容。
|
|
224
|
+
|
|
225
|
+
### 2.5 自定义页面设计
|
|
226
|
+
|
|
227
|
+
自定义页面以 密集双列、水平标签与对齐金额 组织真实业务内容,以 技术抬头与编号章节 建立标题与首屏焦点,并用 淡蓝图纸、清晰细边界、低圆角 统一页面表面。页面根据 PRD 安排标题与操作区、状态摘要、筛选、主要内容、上下文信息和反馈区;列表、表格、图表、详情抽屉和表单入口只在业务需要时出现。宽度、列数、高度和滚动方式按内容增长确定,移动端按阅读与操作顺序重排。
|
|
228
|
+
|
|
229
|
+
每个自定义页面逐页写清页面任务、首屏焦点、布局、表面与组件、主操作、状态、响应式和验收。状态覆盖加载、空、错误和无权限反馈及恢复动作;页面使用全局主题 token 落实当前风格,并为键盘焦点、纯图标按钮、非颜色状态表达和 reduced motion 提供可执行规则。
|
|
230
|
+
|
|
231
|
+
## 3. 基础组件表达
|
|
232
|
+
|
|
233
|
+
### 自定义页面组件与交互
|
|
234
|
+
|
|
235
|
+
页面标题、筛选、主操作、状态摘要、列表、表格、图表、详情抽屉和表单入口按真实任务组合。标题与操作保持清楚的主次和对齐;列表、表格与图表使用稳定容器高度或自然增长规则;详情抽屉保留上下文并提供明确返回路径。默认、hover、active、focus、loading、empty、error、disabled 和 selected 状态使用同一套表面、边界、文字与状态语义。
|
|
236
|
+
|
|
237
|
+
`YidaCodeCanvas` 页面在 `YidaComp` 内消费 --oyd-page-bg、--oyd-surface、--oyd-ink、--oyd-border、--oyd-accent、--oyd-radius、--oyd-content-width、--oyd-content-padding、--oyd-section-gap 和其他已声明 token。页面局部 CSS 只负责当前组件的布局和特色表达;应用全局样式统一作用于应用框架、表单、详情页和自定义页面等。
|
|
238
|
+
|
|
239
|
+
### 表单、表格与记录集合
|
|
240
|
+
|
|
241
|
+
单行控件 36px、圆角 4px,边框 1px;字段 labelAlign=left(横向标签,长标签换行;窄屏回到顶部)。多行文本、附件、日期范围、子表按自身布局。详情页沿用相同章节顺序与表面;只读字段的数据框使用 --pod-field-preview-bg-color、--pod-field-preview-border-radius、--pod-field-preview-shadow、--pod-field-preview-indicator-color、--pod-field-preview-text-color、--form-element-medium-font-size、--pod-field-preview-gap、--pod-field-preview-line-height、--pod-field-preview-min-height 和 --pod-field-preview-padding,延续应用的色彩、形状、字体与密度。表格保持紧凑,按钮、输入、浮层和导航消费同源色彩与形状。
|
|
242
|
+
|
|
243
|
+
### 表单组件与版式结构
|
|
244
|
+
|
|
245
|
+
表单支持在顶部、左侧、主体、右侧和字段之间放置分栏、Divider、图片/图形、Tab/切换、按钮组/操作入口、状态区和字段。各组件分别承担导航、操作、视觉焦点、反馈、层级、节奏、装饰或采集作用。普通业务分组和章节分隔使用 Divider,横向字段组合使用 ColumnContainer。form-layout.json 提供 6:6 空字段列,columnGap=16px、rowGap=16px、display=VERTICAL;按任务与容器宽度补充组件并调整布局。不因主题名称自动套 3:9,不重复已有标题,不用空泛文案凑版式。
|
|
246
|
+
|
|
247
|
+
### 组件状态
|
|
248
|
+
|
|
249
|
+
默认/hover/focus 同时配置边界和表面;键盘焦点保持可见。错误、警告、禁用沿用平台独立语义,不能被通用强调色覆盖;不得以全局 input 或 .next-* 强制改所有控件。应用 CSS 配置表单、编辑和详情的视觉样式。
|
|
250
|
+
|
|
251
|
+
### 底栏与对齐
|
|
252
|
+
|
|
253
|
+
普通提交按钮区使用 --pod-page-footer-bg-color 与 --pod-sticky-footer-box-shadow;数据管理、抽屉详情外层使用 --pod-formView-stickyFooter-bg-color 与 --pod-formView-stickyFooter-box-shadow。本风格按钮区跟随内容面,外层跟随画布,不叠加双阴影。底栏与正文共同消费 --pod-page-content-max-width。导航、无导航、管理内嵌、抽屉、移动端分别检查,不能全局覆盖 stickyFooter 的宽度与定位。
|
|
254
|
+
|
|
255
|
+
## 4. 特色表达配方
|
|
256
|
+
|
|
257
|
+
### 材质与信息密度
|
|
258
|
+
|
|
259
|
+
淡蓝图纸、清晰细边界、低圆角。密集双列、水平标签与对齐金额。图表、图片、时间线只为真实内容出现;没有媒体时以排版与章节构图成立,不为“丰富”捏造指标或入口。
|
|
260
|
+
|
|
261
|
+
## 5. 项目应用与调整规则
|
|
262
|
+
|
|
263
|
+
YAML Token 是唯一数值源。沿用当前主题的构图与材质语言,按业务调整主色、字段分组及信息密度。
|
|
264
|
+
|
|
265
|
+
逐页记录页面任务、首屏焦点、布局、组件、主操作、状态、响应式与验收。表单按第 3 节补充组件作用、列比例、标签、间距、窄屏重排和详情延续方式;在 form-layout.json 中填入真实字段与所需组件,并对照 design.md 验收。
|
|
266
|
+
|
|
267
|
+
{{PAGE_APPLICATIONS}}
|
|
268
|
+
|
|
269
|
+
### 验收
|
|
270
|
+
|
|
271
|
+
- [ ] 导航、应用框架、Canvas、表单与详情的字体、线条、材质和状态一致。
|
|
272
|
+
- [ ] 正文与底栏对齐;四类容器与移动端无横向溢出。
|
|
273
|
+
- [ ] 文字/焦点/禁用/错误在实际背景上可辨,长说明与表格未裁切。
|
|
274
|
+
- [ ] 表单布局与逐页设计一致;组件、字段、主题和响应式规则均已核对。
|