@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.
- package/SKILL.md +137 -136
- package/bin/cli.js +1 -1
- package/dist/theme-vars.js +1 -1
- package/dist/theme.css +1 -1
- package/mapping/basic/color.json +35 -35
- package/mapping/basic/radius.json +17 -17
- package/mapping/basic/semantic-values.json +72 -72
- package/mapping/basic/spacing.json +21 -21
- package/mapping/basic/typography.json +21 -21
- package/mapping/component/button.json +90 -90
- package/mapping/component/card.json +31 -31
- package/mapping/component/input.json +42 -42
- package/mapping/component/overlay.json +79 -79
- package/mapping/component/pagination.json +34 -34
- package/mapping/component/table.json +42 -42
- package/mapping/component/tag.json +48 -48
- package/mapping/layout/breakpoint.json +20 -20
- package/mapping/layout/shell-geometry.json +26 -26
- package/mapping/scenes/admin/content.json +494 -494
- package/mapping/scenes/admin/layout.json +574 -574
- package/package.json +1 -1
- package/parser/fixtures/changeset-fullpage-restore.json +259 -138
- package/parser/fixtures/changeset-gap-block.json +24 -0
- package/parser/fixtures/changeset-legacy.json +11 -11
- package/parser/fixtures/changeset-neg1.json +8 -8
- package/parser/fixtures/changeset-neg2.json +10 -10
- package/parser/fixtures/changeset-neg3.json +22 -22
- package/parser/fixtures/changeset-neg4-g8.json +15 -15
- package/parser/fixtures/changeset-neg5-g8-stub.json +26 -26
- package/parser/fixtures/changeset-neg6-g9-identity.json +39 -39
- package/parser/fixtures/changeset-neg7-g10-dims.json +57 -57
- package/parser/fixtures/changeset-neg8-g11-oracle.json +57 -57
- package/parser/fixtures/changeset-pos-theme-neutral.json +264 -264
- package/parser/fixtures/changeset-pos-theme-nometa.json +260 -260
- package/parser/fixtures/changeset-pos.json +50 -43
- package/parser/fixtures/changeset-registry-gap.json +29 -29
- package/parser/fixtures/changeset-v32-fields.json +71 -63
- package/parser/fixtures/fake-project/src/styles/app.scss +5 -5
- package/parser/fixtures/fake-project/src/views/list.vue +13 -13
- package/parser/fixtures/registry-bad.json +11 -11
- package/parser/fixtures/registry-sample.json +15 -15
- package/parser/fixtures/verify/actual-clean.json +35 -35
- package/parser/fixtures/verify/actual.json +33 -33
- package/parser/fixtures/verify/mockup-baseline-admin-list.html +27 -0
- package/parser/fixtures/verify/mockup-neutral.html +26 -26
- package/parser/fixtures/verify/mockup-nometa.html +26 -26
- package/parser/fixtures/verify/oracle.json +37 -37
- package/parser/fixtures/verify/snapshot-latest.json +102 -102
- package/parser/generator.js +178 -178
- package/parser/index.js +2675 -2605
- package/parser/loader.js +66 -66
- package/parser/override.js +119 -119
- package/parser/regression.js +301 -293
- package/parser/validator.js +206 -206
- package/parser/watch.js +103 -103
- package/references/auth-pages.md +217 -217
- package/references/base-code-dict.md +56 -56
- package/references/code-quality.md +3 -2
- package/references/data-compare.md +509 -509
- package/references/data-writeback.md +124 -124
- package/references/design-apply.md +167 -167
- package/references/detail-page.md +119 -119
- package/references/download-export.md +97 -97
- package/references/feedback-loading.md +104 -104
- package/references/feedback-ui.md +134 -134
- package/references/i18n-localization.md +230 -230
- package/references/project-inventory.md +438 -438
- package/references/rich-text.md +94 -94
- package/references/seamless-scroll.md +47 -47
- package/references/steps/maintenance.md +31 -31
- package/references/steps/regression.md +49 -49
- package/references/steps/step0-preflight.md +58 -58
- package/references/steps/step1-match.md +64 -64
- package/references/steps/step1b-audit.md +23 -23
- package/references/steps/step1c-registry.md +29 -29
- package/references/steps/step2-structure.md +73 -73
- package/references/steps/step3-style.md +33 -33
- package/references/steps/step3b-shell.md +61 -61
- package/references/steps/step3c-priority.md +26 -26
- package/references/steps/step4-l3.md +14 -14
- package/references/steps/step5-gates.md +63 -63
- package/references/steps/step6-verify.md +77 -77
- package/references/verify-captcha.md +119 -119
- package/scripts/apply-final-gate.mjs +170 -170
- package/scripts/check.mjs +38 -5
- 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
|
+
}
|