@qilitt-mickey/vue3-temp-skill 1.1.71 → 1.1.74

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.
Files changed (86) hide show
  1. package/SKILL.md +137 -136
  2. package/bin/cli.js +1 -1
  3. package/dist/theme-vars.js +1 -1
  4. package/dist/theme.css +1 -1
  5. package/mapping/basic/color.json +35 -35
  6. package/mapping/basic/radius.json +17 -17
  7. package/mapping/basic/semantic-values.json +72 -72
  8. package/mapping/basic/spacing.json +21 -21
  9. package/mapping/basic/typography.json +21 -21
  10. package/mapping/component/button.json +90 -90
  11. package/mapping/component/card.json +31 -31
  12. package/mapping/component/input.json +42 -42
  13. package/mapping/component/overlay.json +79 -79
  14. package/mapping/component/pagination.json +34 -34
  15. package/mapping/component/table.json +42 -42
  16. package/mapping/component/tag.json +48 -48
  17. package/mapping/layout/breakpoint.json +20 -20
  18. package/mapping/layout/shell-geometry.json +26 -26
  19. package/mapping/scenes/admin/content.json +494 -494
  20. package/mapping/scenes/admin/layout.json +574 -574
  21. package/package.json +1 -1
  22. package/parser/fixtures/changeset-fullpage-restore.json +259 -138
  23. package/parser/fixtures/changeset-gap-block.json +24 -0
  24. package/parser/fixtures/changeset-legacy.json +11 -11
  25. package/parser/fixtures/changeset-neg1.json +8 -8
  26. package/parser/fixtures/changeset-neg2.json +10 -10
  27. package/parser/fixtures/changeset-neg3.json +22 -22
  28. package/parser/fixtures/changeset-neg4-g8.json +15 -15
  29. package/parser/fixtures/changeset-neg5-g8-stub.json +26 -26
  30. package/parser/fixtures/changeset-neg6-g9-identity.json +39 -39
  31. package/parser/fixtures/changeset-neg7-g10-dims.json +57 -57
  32. package/parser/fixtures/changeset-neg8-g11-oracle.json +57 -57
  33. package/parser/fixtures/changeset-pos-theme-neutral.json +264 -264
  34. package/parser/fixtures/changeset-pos-theme-nometa.json +260 -260
  35. package/parser/fixtures/changeset-pos.json +50 -43
  36. package/parser/fixtures/changeset-registry-gap.json +29 -29
  37. package/parser/fixtures/changeset-v32-fields.json +71 -63
  38. package/parser/fixtures/fake-project/src/styles/app.scss +5 -5
  39. package/parser/fixtures/fake-project/src/views/list.vue +13 -13
  40. package/parser/fixtures/registry-bad.json +11 -11
  41. package/parser/fixtures/registry-sample.json +15 -15
  42. package/parser/fixtures/verify/actual-clean.json +35 -35
  43. package/parser/fixtures/verify/actual.json +33 -33
  44. package/parser/fixtures/verify/mockup-baseline-admin-list.html +27 -0
  45. package/parser/fixtures/verify/mockup-neutral.html +26 -26
  46. package/parser/fixtures/verify/mockup-nometa.html +26 -26
  47. package/parser/fixtures/verify/oracle.json +37 -37
  48. package/parser/fixtures/verify/snapshot-latest.json +102 -102
  49. package/parser/generator.js +178 -178
  50. package/parser/index.js +2675 -2605
  51. package/parser/loader.js +66 -66
  52. package/parser/override.js +119 -119
  53. package/parser/regression.js +301 -293
  54. package/parser/validator.js +206 -206
  55. package/parser/watch.js +103 -103
  56. package/references/auth-pages.md +217 -217
  57. package/references/base-code-dict.md +56 -56
  58. package/references/code-quality.md +3 -2
  59. package/references/data-compare.md +509 -509
  60. package/references/data-writeback.md +124 -124
  61. package/references/design-apply.md +167 -167
  62. package/references/detail-page.md +119 -119
  63. package/references/download-export.md +97 -97
  64. package/references/feedback-loading.md +104 -104
  65. package/references/feedback-ui.md +134 -134
  66. package/references/i18n-localization.md +230 -230
  67. package/references/project-inventory.md +438 -438
  68. package/references/rich-text.md +94 -94
  69. package/references/seamless-scroll.md +47 -47
  70. package/references/steps/maintenance.md +31 -31
  71. package/references/steps/regression.md +49 -49
  72. package/references/steps/step0-preflight.md +58 -58
  73. package/references/steps/step1-match.md +64 -64
  74. package/references/steps/step1b-audit.md +23 -23
  75. package/references/steps/step1c-registry.md +29 -29
  76. package/references/steps/step2-structure.md +73 -73
  77. package/references/steps/step3-style.md +33 -33
  78. package/references/steps/step3b-shell.md +61 -61
  79. package/references/steps/step3c-priority.md +26 -26
  80. package/references/steps/step4-l3.md +14 -14
  81. package/references/steps/step5-gates.md +63 -63
  82. package/references/steps/step6-verify.md +77 -77
  83. package/references/verify-captcha.md +119 -119
  84. package/scripts/apply-final-gate.mjs +170 -170
  85. package/scripts/check.mjs +38 -5
  86. package/scripts/design-audit.mjs +1502 -1498
@@ -1,21 +1,21 @@
1
- {
2
- "$comment": "全局原子层 · 间距令牌映射。spacing 为设计侧抽象字段;token 为项目实现令牌(design-tokens.scss :root)。注意 UnoCSS presetRemToPx(baseFontSize:4) 下工具类数字即 px。",
3
- "meta": {
4
- "layer": "basic",
5
- "domain": "spacing",
6
- "version": "1.0.0",
7
- "scene": "global",
8
- "tech_stack": "vue3 + element-plus + vue3-web-temp"
9
- },
10
- "tokens": {
11
- "space_unit": { "token": "--space-unit", "type": "size", "default": "4px", "desc": "间距基准单位" },
12
- "spacing_sm": { "token": "--spacing-sm", "type": "size", "default": "8px", "desc": "小间距(桥接 --vts-space-xs)" },
13
- "spacing_md": { "token": "--spacing-md", "type": "size", "default": "16px", "desc": "中间距" },
14
- "spacing_lg": { "token": "--spacing-lg", "type": "size", "default": "24px", "desc": "大间距" },
15
- "content_padding": { "token": "--layout-content-padding → --vts-margin", "type": "size", "default": "8px", "desc": "内容区内边距(出厂 8,设计规范常 24)" },
16
- "card_padding": { "token": "--card-padding → --vts-card-padding", "type": "size", "default": "24px", "desc": "卡片内边距" },
17
- "control_padding_x": { "token": "--control-padding-x", "type": "size", "default": "12px", "desc": "控件水平内边距" },
18
- "button_padding_x": { "token": "--button-padding-x", "type": "size", "default": "15px", "desc": "按钮水平内边距" },
19
- "header_padding_x": { "token": "--header-padding-x", "type": "size", "default": "16px", "desc": "顶栏水平内边距" }
20
- }
21
- }
1
+ {
2
+ "$comment": "全局原子层 · 间距令牌映射。spacing 为设计侧抽象字段;token 为项目实现令牌(design-tokens.scss :root)。注意 UnoCSS presetRemToPx(baseFontSize:4) 下工具类数字即 px。",
3
+ "meta": {
4
+ "layer": "basic",
5
+ "domain": "spacing",
6
+ "version": "1.0.0",
7
+ "scene": "global",
8
+ "tech_stack": "vue3 + element-plus + vue3-web-temp"
9
+ },
10
+ "tokens": {
11
+ "space_unit": { "token": "--space-unit", "type": "size", "default": "4px", "desc": "间距基准单位" },
12
+ "spacing_sm": { "token": "--spacing-sm", "type": "size", "default": "8px", "desc": "小间距(桥接 --vts-space-xs)" },
13
+ "spacing_md": { "token": "--spacing-md", "type": "size", "default": "16px", "desc": "中间距" },
14
+ "spacing_lg": { "token": "--spacing-lg", "type": "size", "default": "24px", "desc": "大间距" },
15
+ "content_padding": { "token": "--layout-content-padding → --vts-margin", "type": "size", "default": "8px", "desc": "内容区内边距(出厂 8,设计规范常 24)" },
16
+ "card_padding": { "token": "--card-padding → --vts-card-padding", "type": "size", "default": "24px", "desc": "卡片内边距" },
17
+ "control_padding_x": { "token": "--control-padding-x", "type": "size", "default": "12px", "desc": "控件水平内边距" },
18
+ "button_padding_x": { "token": "--button-padding-x", "type": "size", "default": "15px", "desc": "按钮水平内边距" },
19
+ "header_padding_x": { "token": "--header-padding-x", "type": "size", "default": "16px", "desc": "顶栏水平内边距" }
20
+ }
21
+ }
@@ -1,21 +1,21 @@
1
- {
2
- "$comment": "全局原子层 · 字体令牌映射。typography 为设计侧抽象字段;token 为项目实现令牌(design-tokens.scss :root,桥接 EP --el-font-*)。字号超 5 档需设计侧自证场景(展示型页面除外)。",
3
- "meta": {
4
- "layer": "basic",
5
- "domain": "typography",
6
- "version": "1.0.0",
7
- "scene": "global",
8
- "tech_stack": "vue3 + element-plus + vue3-web-temp"
9
- },
10
- "tokens": {
11
- "font_family": { "token": "--font-family → --el-font-family", "type": "font-family", "default": "系统栈(PingFang SC / Microsoft YaHei 等)", "desc": "全局字体族" },
12
- "font_size_sm": { "token": "--font-size-sm → --el-font-size-small", "type": "size", "default": "12px", "desc": "辅助/标注字号" },
13
- "font_size_base": { "token": "--font-size-base → --el-font-size-base", "type": "size", "default": "14px", "desc": "正文字号" },
14
- "font_size_lg": { "token": "--font-size-lg → --el-font-size-large", "type": "size", "default": "16px", "desc": "小标题字号" },
15
- "font_size_xl": { "token": "--font-size-xl → --el-font-size-extra-large", "type": "size", "default": "20px", "desc": "卡片/页面标题字号" },
16
- "font_weight_regular": { "token": "--font-weight-regular → --el-font-weight-primary", "type": "number", "default": 400, "desc": "常规字重" },
17
- "font_weight_medium": { "token": "--font-weight-medium", "type": "number", "default": 500, "desc": "中字重(激活态文字)" },
18
- "font_weight_semibold": { "token": "--font-weight-semibold", "type": "number", "default": 600, "desc": "标题字重" },
19
- "line_height": { "token": "--line-height", "type": "ratio", "default": 1.5715, "desc": "全局行高比" }
20
- }
21
- }
1
+ {
2
+ "$comment": "全局原子层 · 字体令牌映射。typography 为设计侧抽象字段;token 为项目实现令牌(design-tokens.scss :root,桥接 EP --el-font-*)。字号超 5 档需设计侧自证场景(展示型页面除外)。",
3
+ "meta": {
4
+ "layer": "basic",
5
+ "domain": "typography",
6
+ "version": "1.0.0",
7
+ "scene": "global",
8
+ "tech_stack": "vue3 + element-plus + vue3-web-temp"
9
+ },
10
+ "tokens": {
11
+ "font_family": { "token": "--font-family → --el-font-family", "type": "font-family", "default": "系统栈(PingFang SC / Microsoft YaHei 等)", "desc": "全局字体族" },
12
+ "font_size_sm": { "token": "--font-size-sm → --el-font-size-small", "type": "size", "default": "12px", "desc": "辅助/标注字号" },
13
+ "font_size_base": { "token": "--font-size-base → --el-font-size-base", "type": "size", "default": "14px", "desc": "正文字号" },
14
+ "font_size_lg": { "token": "--font-size-lg → --el-font-size-large", "type": "size", "default": "16px", "desc": "小标题字号" },
15
+ "font_size_xl": { "token": "--font-size-xl → --el-font-size-extra-large", "type": "size", "default": "20px", "desc": "卡片/页面标题字号" },
16
+ "font_weight_regular": { "token": "--font-weight-regular → --el-font-weight-primary", "type": "number", "default": 400, "desc": "常规字重" },
17
+ "font_weight_medium": { "token": "--font-weight-medium", "type": "number", "default": 500, "desc": "中字重(激活态文字)" },
18
+ "font_weight_semibold": { "token": "--font-weight-semibold", "type": "number", "default": 600, "desc": "标题字重" },
19
+ "line_height": { "token": "--line-height", "type": "ratio", "default": 1.5715, "desc": "全局行高比" }
20
+ }
21
+ }
@@ -1,90 +1,90 @@
1
- {
2
- "$comment": "全局原子层 · 按钮组件映射(EP 原生)。EP el-button 无 --el-button-primary-*/--el-button-danger-* 命名空间变量:variant 类(.el-button--primary/--danger)= 给通用变量 --el-button-* 赋语义色值(theme-chalk 源码实证),故 primary/danger 的 css_vars 均指向通用变量,semantic_source 标注该 variant 的语义色源。版本恒 1.0.0(由 SKILL.md 体系版本统一管理)。",
3
- "meta": {
4
- "layer": "basic",
5
- "domain": "component_button",
6
- "version": "1.0.0",
7
- "scene": "global",
8
- "tech_stack": "vue3 + element-plus"
9
- },
10
- "mappings": {
11
- "component.button.primary": {
12
- "type": "global_component",
13
- "component": "ElButton",
14
- "default_props": { "type": "primary" },
15
- "style_scope": ".el-button--primary(variant 类作用域;禁止裸写 :root——通用变量全按钮共享,作用域纪律是硬约束)",
16
- "css_vars": {
17
- "bg_color": "--el-button-bg-color",
18
- "text_color": "--el-button-text-color",
19
- "border_color": "--el-button-border-color",
20
- "hover_bg_color": "--el-button-hover-bg-color",
21
- "active_bg_color": "--el-button-active-bg-color",
22
- "disabled_bg_color": "--el-button-disabled-bg-color",
23
- "semantic_source": "--el-color-primary"
24
- },
25
- "custom_style_map": {
26
- "font_weight": "font-weight",
27
- "padding_x": "padding-inline",
28
- "shadow": "box-shadow",
29
- "height": "height",
30
- "radius": "border-radius"
31
- },
32
- "$note": "EP 实证:.el-button--primary 类 = 给通用变量 --el-button-* 赋 --el-color-primary 系列值,无 --el-button-primary-* 独立变量。AI 施工必须以 .el-button--primary 限定选择器作用域(禁止裸写 :root);设计侧调主题主色优先动 --el-color-primary,按钮自动跟随。未列变量(hover-border/outline 等)按同规则推导"
33
- },
34
- "component.button.default": {
35
- "type": "global_component",
36
- "component": "ElButton",
37
- "default_props": { "type": "default" },
38
- "style_scope": ":root",
39
- "css_vars": {
40
- "bg_color": "--el-button-bg-color",
41
- "text_color": "--el-button-text-color",
42
- "border_color": "--el-button-border-color",
43
- "hover_bg_color": "--el-button-hover-bg-color",
44
- "hover_text_color": "--el-button-hover-text-color",
45
- "hover_border_color": "--el-button-hover-border-color"
46
- },
47
- "custom_style_map": {
48
- "font_weight": "font-weight",
49
- "padding_x": "padding-inline",
50
- "height": "height",
51
- "radius": "border-radius"
52
- },
53
- "$note": "default 按钮直接消费通用变量本体,无 variant 类覆写;primary/danger 与本条目共用通用变量,靠 variant 类作用域隔离"
54
- },
55
- "component.button.danger": {
56
- "type": "global_component",
57
- "component": "ElButton",
58
- "default_props": { "type": "danger" },
59
- "style_scope": ".el-button--danger(variant 类作用域;禁止裸写 :root——通用变量全按钮共享,作用域纪律是硬约束)",
60
- "css_vars": {
61
- "bg_color": "--el-button-bg-color",
62
- "text_color": "--el-button-text-color",
63
- "border_color": "--el-button-border-color",
64
- "hover_bg_color": "--el-button-hover-bg-color",
65
- "hover_text_color": "--el-button-hover-text-color",
66
- "hover_border_color": "--el-button-hover-border-color",
67
- "active_bg_color": "--el-button-active-bg-color",
68
- "disabled_bg_color": "--el-button-disabled-bg-color",
69
- "semantic_source": "--el-color-danger"
70
- },
71
- "custom_style_map": {
72
- "font_weight": "font-weight",
73
- "padding_x": "padding-inline",
74
- "radius": "border-radius",
75
- "height": "height"
76
- },
77
- "$note": "承接批量删除等危险操作按钮(admin.content.table.operation_bar 引用)。EP 实证:.el-button--danger 类 = 给通用变量 --el-button-* 赋 --el-color-danger 系列值,无 --el-button-danger-* 独立变量。AI 施工必须以 .el-button--danger 限定选择器作用域(禁止裸写 :root);调红的深浅优先动 --el-color-danger"
78
- },
79
- "component.button.height": {
80
- "type": "global_token",
81
- "style_scope": ":root",
82
- "css_vars": {
83
- "size_sm": "--el-component-size-small",
84
- "size_base": "--el-component-size",
85
- "size_lg": "--el-component-size-large"
86
- },
87
- "custom_style_map": {}
88
- }
89
- }
90
- }
1
+ {
2
+ "$comment": "全局原子层 · 按钮组件映射(EP 原生)。EP el-button 无 --el-button-primary-*/--el-button-danger-* 命名空间变量:variant 类(.el-button--primary/--danger)= 给通用变量 --el-button-* 赋语义色值(theme-chalk 源码实证),故 primary/danger 的 css_vars 均指向通用变量,semantic_source 标注该 variant 的语义色源。版本恒 1.0.0(由 SKILL.md 体系版本统一管理)。",
3
+ "meta": {
4
+ "layer": "basic",
5
+ "domain": "component_button",
6
+ "version": "1.0.0",
7
+ "scene": "global",
8
+ "tech_stack": "vue3 + element-plus"
9
+ },
10
+ "mappings": {
11
+ "component.button.primary": {
12
+ "type": "global_component",
13
+ "component": "ElButton",
14
+ "default_props": { "type": "primary" },
15
+ "style_scope": ".el-button--primary(variant 类作用域;禁止裸写 :root——通用变量全按钮共享,作用域纪律是硬约束)",
16
+ "css_vars": {
17
+ "bg_color": "--el-button-bg-color",
18
+ "text_color": "--el-button-text-color",
19
+ "border_color": "--el-button-border-color",
20
+ "hover_bg_color": "--el-button-hover-bg-color",
21
+ "active_bg_color": "--el-button-active-bg-color",
22
+ "disabled_bg_color": "--el-button-disabled-bg-color",
23
+ "semantic_source": "--el-color-primary"
24
+ },
25
+ "custom_style_map": {
26
+ "font_weight": "font-weight",
27
+ "padding_x": "padding-inline",
28
+ "shadow": "box-shadow",
29
+ "height": "height",
30
+ "radius": "border-radius"
31
+ },
32
+ "$note": "EP 实证:.el-button--primary 类 = 给通用变量 --el-button-* 赋 --el-color-primary 系列值,无 --el-button-primary-* 独立变量。AI 施工必须以 .el-button--primary 限定选择器作用域(禁止裸写 :root);设计侧调主题主色优先动 --el-color-primary,按钮自动跟随。未列变量(hover-border/outline 等)按同规则推导"
33
+ },
34
+ "component.button.default": {
35
+ "type": "global_component",
36
+ "component": "ElButton",
37
+ "default_props": { "type": "default" },
38
+ "style_scope": ":root",
39
+ "css_vars": {
40
+ "bg_color": "--el-button-bg-color",
41
+ "text_color": "--el-button-text-color",
42
+ "border_color": "--el-button-border-color",
43
+ "hover_bg_color": "--el-button-hover-bg-color",
44
+ "hover_text_color": "--el-button-hover-text-color",
45
+ "hover_border_color": "--el-button-hover-border-color"
46
+ },
47
+ "custom_style_map": {
48
+ "font_weight": "font-weight",
49
+ "padding_x": "padding-inline",
50
+ "height": "height",
51
+ "radius": "border-radius"
52
+ },
53
+ "$note": "default 按钮直接消费通用变量本体,无 variant 类覆写;primary/danger 与本条目共用通用变量,靠 variant 类作用域隔离"
54
+ },
55
+ "component.button.danger": {
56
+ "type": "global_component",
57
+ "component": "ElButton",
58
+ "default_props": { "type": "danger" },
59
+ "style_scope": ".el-button--danger(variant 类作用域;禁止裸写 :root——通用变量全按钮共享,作用域纪律是硬约束)",
60
+ "css_vars": {
61
+ "bg_color": "--el-button-bg-color",
62
+ "text_color": "--el-button-text-color",
63
+ "border_color": "--el-button-border-color",
64
+ "hover_bg_color": "--el-button-hover-bg-color",
65
+ "hover_text_color": "--el-button-hover-text-color",
66
+ "hover_border_color": "--el-button-hover-border-color",
67
+ "active_bg_color": "--el-button-active-bg-color",
68
+ "disabled_bg_color": "--el-button-disabled-bg-color",
69
+ "semantic_source": "--el-color-danger"
70
+ },
71
+ "custom_style_map": {
72
+ "font_weight": "font-weight",
73
+ "padding_x": "padding-inline",
74
+ "radius": "border-radius",
75
+ "height": "height"
76
+ },
77
+ "$note": "承接批量删除等危险操作按钮(admin.content.table.operation_bar 引用)。EP 实证:.el-button--danger 类 = 给通用变量 --el-button-* 赋 --el-color-danger 系列值,无 --el-button-danger-* 独立变量。AI 施工必须以 .el-button--danger 限定选择器作用域(禁止裸写 :root);调红的深浅优先动 --el-color-danger"
78
+ },
79
+ "component.button.height": {
80
+ "type": "global_token",
81
+ "style_scope": ":root",
82
+ "css_vars": {
83
+ "size_sm": "--el-component-size-small",
84
+ "size_base": "--el-component-size",
85
+ "size_lg": "--el-component-size-large"
86
+ },
87
+ "custom_style_map": {}
88
+ }
89
+ }
90
+ }
@@ -1,31 +1,31 @@
1
- {
2
- "$comment": "全局原子层 · 卡片容器组件映射(admin 列表页 .vts-page-card 壳层卡片;registry list-page §11.24 登记的 always 子项 bg_color/radius/border_color/padding_x/padding_y/box_shadow)。样式规则经 src/styles/design-shell.scss 落在 .vts-page-card(设计层文件,非出厂源码)。字段名严格对齐 restore-registry 的 dim(parser 逐项校验)。版本恒 1.0.0(由 SKILL.md 体系版本统一管理)。",
3
- "meta": {
4
- "layer": "basic",
5
- "domain": "component_card",
6
- "version": "1.0.0",
7
- "scene": "global",
8
- "tech_stack": "vue3 + element-plus + vue3-web-temp"
9
- },
10
- "mappings": {
11
- "component.card.base": {
12
- "type": "global_component",
13
- "component": "VtsPageCard(.vts-page-card 壳层卡片容器)",
14
- "style_scope": ".vts-page-card",
15
- "css_vars": {},
16
- "custom_style_map": {
17
- "bg_color": "background-color",
18
- "radius": "border-radius",
19
- "border_color": "border-color",
20
- "padding_x": "padding-inline",
21
- "padding_y": "padding-block",
22
- "box_shadow": "box-shadow"
23
- },
24
- "priority": {
25
- "strategy": "scope_qualified",
26
- "reason": "设计层文件以 .vts-page-card 作用域限定即可覆盖出厂卡片默认样式。"
27
- },
28
- "$note": "列表页主卡片容器(crud-pages L1 样板 .vts-page-card)。registry §11.24 六项均为 always,变更集必须声明;bg_color/radius/border_color/box_shadow 为视觉,padding_x/padding_y 为卡片内边距(卡片本身内边距归零时由页面内容点位自行内缩)。字段名严格对齐 restore-registry 的 dim,禁止改用 border_radius/shadow/padding 等旧词(那是「声明了落不下去」的头号成因)。"
29
- }
30
- }
31
- }
1
+ {
2
+ "$comment": "全局原子层 · 卡片容器组件映射(admin 列表页 .vts-page-card 壳层卡片;registry list-page §11.24 登记的 always 子项 bg_color/radius/border_color/padding_x/padding_y/box_shadow)。样式规则经 src/styles/design-shell.scss 落在 .vts-page-card(设计层文件,非出厂源码)。字段名严格对齐 restore-registry 的 dim(parser 逐项校验)。版本恒 1.0.0(由 SKILL.md 体系版本统一管理)。",
3
+ "meta": {
4
+ "layer": "basic",
5
+ "domain": "component_card",
6
+ "version": "1.0.0",
7
+ "scene": "global",
8
+ "tech_stack": "vue3 + element-plus + vue3-web-temp"
9
+ },
10
+ "mappings": {
11
+ "component.card.base": {
12
+ "type": "global_component",
13
+ "component": "VtsPageCard(.vts-page-card 壳层卡片容器)",
14
+ "style_scope": ".vts-page-card",
15
+ "css_vars": {},
16
+ "custom_style_map": {
17
+ "bg_color": "background-color",
18
+ "radius": "border-radius",
19
+ "border_color": "border-color",
20
+ "padding_x": "padding-inline",
21
+ "padding_y": "padding-block",
22
+ "box_shadow": "box-shadow"
23
+ },
24
+ "priority": {
25
+ "strategy": "scope_qualified",
26
+ "reason": "设计层文件以 .vts-page-card 作用域限定即可覆盖出厂卡片默认样式。"
27
+ },
28
+ "$note": "列表页主卡片容器(crud-pages L1 样板 .vts-page-card)。registry §11.24 六项均为 always,变更集必须声明;bg_color/radius/border_color/box_shadow 为视觉,padding_x/padding_y 为卡片内边距(卡片本身内边距归零时由页面内容点位自行内缩)。字段名严格对齐 restore-registry 的 dim,禁止改用 border_radius/shadow/padding 等旧词(那是「声明了落不下去」的头号成因)。"
29
+ }
30
+ }
31
+ }
@@ -1,42 +1,42 @@
1
- {
2
- "$comment": "全局原子层 · 输入类组件映射(EP 原生:input/select/datepicker 等输入族共用)。",
3
- "meta": {
4
- "layer": "basic",
5
- "domain": "component_input",
6
- "version": "1.0.0",
7
- "scene": "global",
8
- "tech_stack": "vue3 + element-plus"
9
- },
10
- "mappings": {
11
- "component.input.base": {
12
- "type": "global_component",
13
- "component": "ElInput",
14
- "style_scope": ":root",
15
- "css_vars": {
16
- "bg_color": "--el-input-bg-color",
17
- "text_color": "--el-input-text-color",
18
- "border_color": "--el-input-border-color",
19
- "hover_border_color": "--el-input-hover-border-color",
20
- "focus_border_color": "--el-input-focus-border-color",
21
- "placeholder_color": "--el-input-placeholder-color"
22
- },
23
- "custom_style_map": {
24
- "radius": "border-radius",
25
- "height": "height",
26
- "padding_x": "padding-inline",
27
- "font_size": "font-size",
28
- "icon_size": "font-size"
29
- }
30
- },
31
- "component.input.height": {
32
- "type": "global_token",
33
- "style_scope": ":root",
34
- "css_vars": {
35
- "size_sm": "--el-component-size-small",
36
- "size_base": "--el-component-size",
37
- "size_lg": "--el-component-size-large"
38
- },
39
- "custom_style_map": {}
40
- }
41
- }
42
- }
1
+ {
2
+ "$comment": "全局原子层 · 输入类组件映射(EP 原生:input/select/datepicker 等输入族共用)。",
3
+ "meta": {
4
+ "layer": "basic",
5
+ "domain": "component_input",
6
+ "version": "1.0.0",
7
+ "scene": "global",
8
+ "tech_stack": "vue3 + element-plus"
9
+ },
10
+ "mappings": {
11
+ "component.input.base": {
12
+ "type": "global_component",
13
+ "component": "ElInput",
14
+ "style_scope": ":root",
15
+ "css_vars": {
16
+ "bg_color": "--el-input-bg-color",
17
+ "text_color": "--el-input-text-color",
18
+ "border_color": "--el-input-border-color",
19
+ "hover_border_color": "--el-input-hover-border-color",
20
+ "focus_border_color": "--el-input-focus-border-color",
21
+ "placeholder_color": "--el-input-placeholder-color"
22
+ },
23
+ "custom_style_map": {
24
+ "radius": "border-radius",
25
+ "height": "height",
26
+ "padding_x": "padding-inline",
27
+ "font_size": "font-size",
28
+ "icon_size": "font-size"
29
+ }
30
+ },
31
+ "component.input.height": {
32
+ "type": "global_token",
33
+ "style_scope": ":root",
34
+ "css_vars": {
35
+ "size_sm": "--el-component-size-small",
36
+ "size_base": "--el-component-size",
37
+ "size_lg": "--el-component-size-large"
38
+ },
39
+ "custom_style_map": {}
40
+ }
41
+ }
42
+ }
@@ -1,79 +1,79 @@
1
- {
2
- "$comment": "全局原子层 · 弹窗/抽屉/分页等通用组件映射。",
3
- "meta": {
4
- "layer": "basic",
5
- "domain": "component_overlay",
6
- "version": "1.0.0",
7
- "scene": "global",
8
- "tech_stack": "vue3 + element-plus"
9
- },
10
- "mappings": {
11
- "component.modal.base": {
12
- "type": "global_component",
13
- "component": "ElDialog / ReDialog",
14
- "style_scope": ":root",
15
- "css_vars": {
16
- "radius": "--dialog-border-radius",
17
- "header_height": "--dialog-header-height",
18
- "footer_height": "--dialog-footer-height",
19
- "body_padding": "--dialog-body-padding"
20
- },
21
- "custom_style_map": {
22
- "bg": "background",
23
- "shadow": "box-shadow"
24
- }
25
- },
26
- "component.drawer.base": {
27
- "type": "global_component",
28
- "component": "ElDrawer",
29
- "style_scope": ":root",
30
- "css_vars": {
31
- "bg_color": "--el-drawer-bg-color"
32
- },
33
- "custom_style_map": {
34
- "padding": "padding"
35
- }
36
- },
37
- "component.card.base": {
38
- "type": "global_component",
39
- "component": "ElCard",
40
- "style_scope": ":root",
41
- "css_vars": {
42
- "bg_color": "--el-card-bg-color",
43
- "border_color": "--el-card-border-color",
44
- "border_radius": "--el-card-border-radius",
45
- "padding": "--el-card-padding"
46
- },
47
- "custom_style_map": {
48
- "shadow": "box-shadow"
49
- }
50
- },
51
- "component.pagination.base": {
52
- "type": "global_component",
53
- "component": "ElPagination",
54
- "style_scope": ":root",
55
- "css_vars": {
56
- "button_bg_color": "--el-pagination-bg-color",
57
- "button_hover_color": "--el-pagination-button-hover-color",
58
- "hover_color": "--el-pagination-hover-color"
59
- },
60
- "custom_style_map": {}
61
- },
62
- "component.tooltip.base": {
63
- "type": "global_component",
64
- "component": "ElTooltip(原生)/ v-tippy(指令)",
65
- "style_scope": ":root",
66
- "css_vars": {
67
- "bg_color": "--el-tooltip-bg-color",
68
- "text_color": "--el-tooltip-color"
69
- },
70
- "custom_style_map": {
71
- "radius": "border-radius",
72
- "padding": "padding",
73
- "font_size": "font-size",
74
- "max_width": "max-width"
75
- },
76
- "$note": "全局提示气泡。项目内提示有**两条来路**——Element Plus 原生 ElTooltip(继承 --el-tooltip-* 令牌,如 ReAvatars 的 el-tooltip)与 v-tippy 指令(ReTableBar / ReCollapsible / ReAnchor / lay-tag 等处使用,走 tippy 主题,**不自动继承 --el-* 令牌**)。本条目面向 ElTooltip;若设计要求覆盖 v-tippy 气泡,须先确认 tippy 主题变量与本节令牌的对应关系,未映射时按「补通道」补主题变量并在交付说明单列申报(**不得假设自动生效**)。"
77
- }
78
- }
79
- }
1
+ {
2
+ "$comment": "全局原子层 · 弹窗/抽屉/分页等通用组件映射。",
3
+ "meta": {
4
+ "layer": "basic",
5
+ "domain": "component_overlay",
6
+ "version": "1.0.0",
7
+ "scene": "global",
8
+ "tech_stack": "vue3 + element-plus"
9
+ },
10
+ "mappings": {
11
+ "component.modal.base": {
12
+ "type": "global_component",
13
+ "component": "ElDialog / ReDialog",
14
+ "style_scope": ":root",
15
+ "css_vars": {
16
+ "radius": "--dialog-border-radius",
17
+ "header_height": "--dialog-header-height",
18
+ "footer_height": "--dialog-footer-height",
19
+ "body_padding": "--dialog-body-padding"
20
+ },
21
+ "custom_style_map": {
22
+ "bg": "background",
23
+ "shadow": "box-shadow"
24
+ }
25
+ },
26
+ "component.drawer.base": {
27
+ "type": "global_component",
28
+ "component": "ElDrawer",
29
+ "style_scope": ":root",
30
+ "css_vars": {
31
+ "bg_color": "--el-drawer-bg-color"
32
+ },
33
+ "custom_style_map": {
34
+ "padding": "padding"
35
+ }
36
+ },
37
+ "component.card.base": {
38
+ "type": "global_component",
39
+ "component": "ElCard",
40
+ "style_scope": ":root",
41
+ "css_vars": {
42
+ "bg_color": "--el-card-bg-color",
43
+ "border_color": "--el-card-border-color",
44
+ "border_radius": "--el-card-border-radius",
45
+ "padding": "--el-card-padding"
46
+ },
47
+ "custom_style_map": {
48
+ "shadow": "box-shadow"
49
+ }
50
+ },
51
+ "component.pagination.base": {
52
+ "type": "global_component",
53
+ "component": "ElPagination",
54
+ "style_scope": ":root",
55
+ "css_vars": {
56
+ "button_bg_color": "--el-pagination-bg-color",
57
+ "button_hover_color": "--el-pagination-button-hover-color",
58
+ "hover_color": "--el-pagination-hover-color"
59
+ },
60
+ "custom_style_map": {}
61
+ },
62
+ "component.tooltip.base": {
63
+ "type": "global_component",
64
+ "component": "ElTooltip(原生)/ v-tippy(指令)",
65
+ "style_scope": ":root",
66
+ "css_vars": {
67
+ "bg_color": "--el-tooltip-bg-color",
68
+ "text_color": "--el-tooltip-color"
69
+ },
70
+ "custom_style_map": {
71
+ "radius": "border-radius",
72
+ "padding": "padding",
73
+ "font_size": "font-size",
74
+ "max_width": "max-width"
75
+ },
76
+ "$note": "全局提示气泡。项目内提示有**两条来路**——Element Plus 原生 ElTooltip(继承 --el-tooltip-* 令牌,如 ReAvatars 的 el-tooltip)与 v-tippy 指令(ReTableBar / ReCollapsible / ReAnchor / lay-tag 等处使用,走 tippy 主题,**不自动继承 --el-* 令牌**)。本条目面向 ElTooltip;若设计要求覆盖 v-tippy 气泡,须先确认 tippy 主题变量与本节令牌的对应关系,未映射时按「补通道」补主题变量并在交付说明单列申报(**不得假设自动生效**)。"
77
+ }
78
+ }
79
+ }