@agile-team/wl-skills-ui 1.9.1 → 1.9.3

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/CHANGELOG.md CHANGED
@@ -4,6 +4,23 @@ All notable changes to **@agile-team/wl-skills-ui** will be documented in this f
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
+ ## [1.9.3] - 2026-07-22
8
+
9
+ ### Fixed
10
+
11
+ - 登录页 `.lp-root` 与二次登录 `.session-login` 退出高权重表单、按钮和 jh-ui 组件化妆,恢复各登录页自身的高度、圆角、配色、焦点态与校验态,不再被业务页紧凑规则压制。
12
+ - 新增 `.wl-ui-skin-exempt` / `[data-wl-ui-skin="off"]` 通用定制页边界;边界内仅停用组件级强覆盖,边界外业务页面仍保持包内样式最高优先级,品牌主题锁继续全局生效。
13
+ - 将豁免贯穿 Element Plus 新旧输入 DOM、主按钮、textarea、必填标记及 jh-ui picker 适配,避免只恢复默认态、聚焦或报错后再次被覆盖。
14
+
15
+ ## [1.9.2] - 2026-07-21
16
+
17
+ ### Fixed
18
+
19
+ - 新增客户品牌主题锁:L0 的品牌色、功能色和圆角 token 使用 `!important`,运行时再监听 `html/body` 的主题变量改写,阻止平台 `/system/theme/list` 动态主题把包值改回旧亮色。
20
+ - `installCommonPreset()` / `installSecurityPreset()` 自动安装主题锁;同时公开 `installBrandThemeLock()`,纯 runtime 接入也可显式启用。
21
+ - 恢复按钮、输入框等基础控件的 `6px` 圆角,保留圆形、胶囊和按钮组的语义圆角,不再被 jh-ui 的 `2px` 基础值压平。
22
+ - 功能按钮锁定克制的成功 `#2BB268`、警告 `#EA9A13`、危险 `#BB2D3F`,并把彩色发光阴影收敛为轻量中性阴影,保持语义辨识但降低突兀感。
23
+
7
24
  ## [1.9.1] - 2026-07-20
8
25
 
9
26
  ### Fixed
package/README.md CHANGED
@@ -200,7 +200,7 @@ yarn add @agile-team/wl-skills-ui
200
200
  |---|---|---|
201
201
  | `element-plus` | **`2.2.6-prod.3`** | 集团 jh- 定制版;EP 2.3.0 起引入 `.el-input__wrapper`,与 jh-ui 3.x 不兼容 |
202
202
  | `@jhlc/jh-ui` | **`3.1.0`** | SCSS 皮肤包,`.com-text` label 包裹 + `.has-colon` 冒号注入(wl-skills-ui 已统一屏蔽表单冒号) |
203
- | `@agile-team/wl-skills-ui` | `^1.9.1` | 已对齐上述组合的 DOM 假设与客户主色色阶 |
203
+ | `@agile-team/wl-skills-ui` | `^1.9.3` | 已对齐上述组合的 DOM 假设、客户主题锁、圆角契约与定制页样式边界 |
204
204
 
205
205
  三种识别方式,任选其一:
206
206
 
@@ -214,7 +214,27 @@ yarn add @agile-team/wl-skills-ui
214
214
 
215
215
  ## 版本亮点
216
216
 
217
- 当前 v1.9.1
217
+ 当前 v1.9.3
218
+
219
+ - **登录页精准退出**:内置识别 `.lp-root` 与 `.session-login`,其内部表单、按钮、焦点和校验态保留登录页自身设计;业务页面仍由包高权重统一管控。
220
+ - **通用定制页边界**:其他定制页在根节点增加 `.wl-ui-skin-exempt` 或 `data-wl-ui-skin="off"` 即可退出组件级强覆盖,不需要删除全局化妆包。
221
+ - **主题锁不降级**:豁免只作用于 Element Plus / vendor 的直接组件覆盖;全局客户品牌 token 和平台动态主题防反覆盖继续生效。定制页若需独立色,可在自己的根节点重新声明 token 或直接编写局部样式。
222
+
223
+ ```vue
224
+ <template>
225
+ <main class="wl-ui-skin-exempt">
226
+ <!-- 登录、大屏等定制内容 -->
227
+ </main>
228
+ </template>
229
+ ```
230
+
231
+ 上一版 v1.9.2:
232
+
233
+ - **动态主题不可反覆盖**:品牌色、功能色和圆角使用 CSS `!important` + runtime `MutationObserver` 双保险;平台登录后写入 `document.body.style` 也会立即恢复为包内规范值。
234
+ - **圆角契约恢复**:按钮、输入框等基础控件统一 `6px`,不再回退到 jh-ui 的 `2px`;圆形、胶囊、按钮组仍保留各自语义。
235
+ - **语义色降噪**:成功 `#2BB268`、警告 `#EA9A13`、危险 `#BB2D3F` 均被主题锁保护,按钮彩色强阴影调整为轻量中性阴影,整体更稳重。
236
+
237
+ 上一版 v1.9.1:
218
238
 
219
239
  - **客户主色纠偏**:严格按《烟台华新数智化信息化改造项目 UI 规范 v1》统一主色为 `#002A8F`,并同步完整深浅色阶。
220
240
  - **按钮四态强覆盖**:主按钮常规 `#002A8F`、悬停 `#1A3F9A`、点击 `#002681`、禁用 `#B2BFDD`;`html body` 高特异性和填充按钮 `!important` 抵御 Element Plus、jh-ui 与旧业务皮肤覆盖。
@@ -26,6 +26,8 @@
26
26
  | `--el-color-danger` | `#bb2d3f` | 危险/失败/停用状态 |
27
27
  | `--el-color-info` | `#909399` | 中性/辅助信息 |
28
28
 
29
+ 品牌色及成功、警告、危险色阶属于客户固定主题契约。样式层以 `!important` 抵御平台普通内联主题,调用 `installCommonPreset()`、`installSecurityPreset()` 或 `installBrandThemeLock()` 后,运行时还会监测并恢复 `html/body` 上的动态改写。
30
+
29
31
  ## 文本色系
30
32
 
31
33
  | Token | 值 | 用途 |
@@ -23,6 +23,6 @@
23
23
  | 场景 | 值 |
24
24
  | ---------------------- | ------------------- |
25
25
  | 输入框/选择框/日期选择 | `6px`(已全局设置) |
26
- | 按钮 | `4px`(EP 默认) |
26
+ | 按钮 | `6px`(统一基础圆角) |
27
27
  | Tag | `4px`(EP 默认) |
28
28
  | 弹窗 | `8px`(EP 默认) |
@@ -1,75 +1,76 @@
1
1
  :root body {
2
- --el-color-primary: #002a8f;
3
- --el-color-primary-rgb: 0, 42, 143;
4
- --el-color-primary-light-1: #1a3f9a;
5
- --el-color-primary-light-2: #3355a5;
6
- --el-color-primary-light-3: #4d6ab1;
7
- --el-color-primary-light-4: #667fbc;
8
- --el-color-primary-light-5: #8094c7;
9
- --el-color-primary-light-6: #99aad2;
10
- --el-color-primary-light-7: #b2bfdd;
11
- --el-color-primary-light-8: #ccd4e9;
12
- --el-color-primary-light-9: #e5eaf4;
13
- --el-color-primary-dark-1: #002681;
14
- --el-color-primary-dark-2: #002272;
15
- --el-color-primary-dark-3: #001d64;
16
- --el-color-primary-dark-4: #001956;
17
- --el-color-success: #2bb268;
18
- --el-color-success-light-1: #40ba77;
19
- --el-color-success-light-2: #55c286;
20
- --el-color-success-light-3: #6bcb95;
21
- --el-color-success-light-4: #80d3a4;
22
- --el-color-success-light-5: #95dbb4;
23
- --el-color-success-light-6: #aae3c3;
24
- --el-color-success-light-7: #bfebd2;
25
- --el-color-success-light-8: #d5f4e1;
26
- --el-color-success-light-9: #eaf9f0;
27
- --el-color-success-dark-1: #229051;
28
- --el-color-success-dark-2: #1b733f;
29
- --el-color-success-dark-3: #14562f;
30
- --el-color-success-dark-4: #0d3a20;
31
- --el-color-warning: #ea9a13;
32
- --el-color-warning-light-1: #eca42b;
33
- --el-color-warning-light-2: #efae42;
34
- --el-color-warning-light-3: #f1b85a;
35
- --el-color-warning-light-4: #f3c171;
36
- --el-color-warning-light-5: #f5cb89;
37
- --el-color-warning-light-6: #f7d5a1;
38
- --el-color-warning-light-7: #f9dfb8;
39
- --el-color-warning-light-8: #fce8d0;
40
- --el-color-warning-light-9: #fef2e7;
41
- --el-color-warning-dark-1: #c47f0e;
42
- --el-color-warning-dark-2: #9d650a;
43
- --el-color-warning-dark-3: #754a07;
44
- --el-color-warning-dark-4: #4e3004;
45
- --el-color-danger: #bb2d3f;
46
- --el-color-danger-light-1: #c34253;
47
- --el-color-danger-light-2: #ca5766;
48
- --el-color-danger-light-3: #d16b78;
49
- --el-color-danger-light-4: #d8808b;
50
- --el-color-danger-light-5: #dd969f;
51
- --el-color-danger-light-6: #e4abb2;
52
- --el-color-danger-light-7: #e8c0c5;
53
- --el-color-danger-light-8: #f0d5d9;
54
- --el-color-danger-light-9: #f7eaec;
55
- --el-color-danger-dark-1: #962433;
56
- --el-color-danger-dark-2: #711b26;
57
- --el-color-danger-dark-3: #4b1219;
58
- --el-color-danger-dark-4: #26090d;
59
- --el-color-error: #bb2d3f;
60
- --el-color-error-light-1: #c34253;
61
- --el-color-error-light-2: #ca5766;
62
- --el-color-error-light-3: #d16b78;
63
- --el-color-error-light-4: #d8808b;
64
- --el-color-error-light-5: #dd969f;
65
- --el-color-error-light-6: #e4abb2;
66
- --el-color-error-light-7: #e8c0c5;
67
- --el-color-error-light-8: #f0d5d9;
68
- --el-color-error-light-9: #f7eaec;
69
- --el-color-error-dark-1: #962433;
70
- --el-color-error-dark-2: #711b26;
71
- --el-color-error-dark-3: #4b1219;
72
- --el-color-error-dark-4: #26090d;
2
+ /* 客户主题契约:防止平台运行时 body 内联主题覆盖。 */
3
+ --el-color-primary: #002a8f !important;
4
+ --el-color-primary-rgb: 0, 42, 143 !important;
5
+ --el-color-primary-light-1: #1a3f9a !important;
6
+ --el-color-primary-light-2: #3355a5 !important;
7
+ --el-color-primary-light-3: #4d6ab1 !important;
8
+ --el-color-primary-light-4: #667fbc !important;
9
+ --el-color-primary-light-5: #8094c7 !important;
10
+ --el-color-primary-light-6: #99aad2 !important;
11
+ --el-color-primary-light-7: #b2bfdd !important;
12
+ --el-color-primary-light-8: #ccd4e9 !important;
13
+ --el-color-primary-light-9: #e5eaf4 !important;
14
+ --el-color-primary-dark-1: #002681 !important;
15
+ --el-color-primary-dark-2: #002272 !important;
16
+ --el-color-primary-dark-3: #001d64 !important;
17
+ --el-color-primary-dark-4: #001956 !important;
18
+ --el-color-success: #2bb268 !important;
19
+ --el-color-success-light-1: #40ba77 !important;
20
+ --el-color-success-light-2: #55c286 !important;
21
+ --el-color-success-light-3: #6bcb95 !important;
22
+ --el-color-success-light-4: #80d3a4 !important;
23
+ --el-color-success-light-5: #95dbb4 !important;
24
+ --el-color-success-light-6: #aae3c3 !important;
25
+ --el-color-success-light-7: #bfebd2 !important;
26
+ --el-color-success-light-8: #d5f4e1 !important;
27
+ --el-color-success-light-9: #eaf9f0 !important;
28
+ --el-color-success-dark-1: #229051 !important;
29
+ --el-color-success-dark-2: #1b733f !important;
30
+ --el-color-success-dark-3: #14562f !important;
31
+ --el-color-success-dark-4: #0d3a20 !important;
32
+ --el-color-warning: #ea9a13 !important;
33
+ --el-color-warning-light-1: #eca42b !important;
34
+ --el-color-warning-light-2: #efae42 !important;
35
+ --el-color-warning-light-3: #f1b85a !important;
36
+ --el-color-warning-light-4: #f3c171 !important;
37
+ --el-color-warning-light-5: #f5cb89 !important;
38
+ --el-color-warning-light-6: #f7d5a1 !important;
39
+ --el-color-warning-light-7: #f9dfb8 !important;
40
+ --el-color-warning-light-8: #fce8d0 !important;
41
+ --el-color-warning-light-9: #fef2e7 !important;
42
+ --el-color-warning-dark-1: #c47f0e !important;
43
+ --el-color-warning-dark-2: #9d650a !important;
44
+ --el-color-warning-dark-3: #754a07 !important;
45
+ --el-color-warning-dark-4: #4e3004 !important;
46
+ --el-color-danger: #bb2d3f !important;
47
+ --el-color-danger-light-1: #c34253 !important;
48
+ --el-color-danger-light-2: #ca5766 !important;
49
+ --el-color-danger-light-3: #d16b78 !important;
50
+ --el-color-danger-light-4: #d8808b !important;
51
+ --el-color-danger-light-5: #dd969f !important;
52
+ --el-color-danger-light-6: #e4abb2 !important;
53
+ --el-color-danger-light-7: #e8c0c5 !important;
54
+ --el-color-danger-light-8: #f0d5d9 !important;
55
+ --el-color-danger-light-9: #f7eaec !important;
56
+ --el-color-danger-dark-1: #962433 !important;
57
+ --el-color-danger-dark-2: #711b26 !important;
58
+ --el-color-danger-dark-3: #4b1219 !important;
59
+ --el-color-danger-dark-4: #26090d !important;
60
+ --el-color-error: #bb2d3f !important;
61
+ --el-color-error-light-1: #c34253 !important;
62
+ --el-color-error-light-2: #ca5766 !important;
63
+ --el-color-error-light-3: #d16b78 !important;
64
+ --el-color-error-light-4: #d8808b !important;
65
+ --el-color-error-light-5: #dd969f !important;
66
+ --el-color-error-light-6: #e4abb2 !important;
67
+ --el-color-error-light-7: #e8c0c5 !important;
68
+ --el-color-error-light-8: #f0d5d9 !important;
69
+ --el-color-error-light-9: #f7eaec !important;
70
+ --el-color-error-dark-1: #962433 !important;
71
+ --el-color-error-dark-2: #711b26 !important;
72
+ --el-color-error-dark-3: #4b1219 !important;
73
+ --el-color-error-dark-4: #26090d !important;
73
74
  --el-color-info: #909399;
74
75
  --el-color-info-light-1: #9b9ea3;
75
76
  --el-color-info-light-2: #a7a9ae;
@@ -118,10 +119,10 @@
118
119
  --el-box-shadow-light: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
119
120
  --el-box-shadow-lighter: 0px 6px 12px 0px rgba(0, 0, 0, 0.12);
120
121
  --el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, 0.08), 0px 12px 32px rgba(0, 0, 0, 0.12), 0px 8px 16px -8px rgba(0, 0, 0, 0.16);
121
- --el-border-radius-base: 6px;
122
- --el-border-radius-small: 2px;
123
- --el-border-radius-round: 20px;
124
- --el-border-radius-circle: 100%;
122
+ --el-border-radius-base: 6px !important;
123
+ --el-border-radius-small: 2px !important;
124
+ --el-border-radius-round: 20px !important;
125
+ --el-border-radius-circle: 100% !important;
125
126
  --el-line-height-1: 20px;
126
127
  --el-line-height-2: 20px;
127
128
  --el-line-height-3: 20px;
package/dist/tokens.css CHANGED
@@ -1,75 +1,76 @@
1
1
  :root body {
2
- --el-color-primary: #002a8f;
3
- --el-color-primary-rgb: 0, 42, 143;
4
- --el-color-primary-light-1: #1a3f9a;
5
- --el-color-primary-light-2: #3355a5;
6
- --el-color-primary-light-3: #4d6ab1;
7
- --el-color-primary-light-4: #667fbc;
8
- --el-color-primary-light-5: #8094c7;
9
- --el-color-primary-light-6: #99aad2;
10
- --el-color-primary-light-7: #b2bfdd;
11
- --el-color-primary-light-8: #ccd4e9;
12
- --el-color-primary-light-9: #e5eaf4;
13
- --el-color-primary-dark-1: #002681;
14
- --el-color-primary-dark-2: #002272;
15
- --el-color-primary-dark-3: #001d64;
16
- --el-color-primary-dark-4: #001956;
17
- --el-color-success: #2bb268;
18
- --el-color-success-light-1: #40ba77;
19
- --el-color-success-light-2: #55c286;
20
- --el-color-success-light-3: #6bcb95;
21
- --el-color-success-light-4: #80d3a4;
22
- --el-color-success-light-5: #95dbb4;
23
- --el-color-success-light-6: #aae3c3;
24
- --el-color-success-light-7: #bfebd2;
25
- --el-color-success-light-8: #d5f4e1;
26
- --el-color-success-light-9: #eaf9f0;
27
- --el-color-success-dark-1: #229051;
28
- --el-color-success-dark-2: #1b733f;
29
- --el-color-success-dark-3: #14562f;
30
- --el-color-success-dark-4: #0d3a20;
31
- --el-color-warning: #ea9a13;
32
- --el-color-warning-light-1: #eca42b;
33
- --el-color-warning-light-2: #efae42;
34
- --el-color-warning-light-3: #f1b85a;
35
- --el-color-warning-light-4: #f3c171;
36
- --el-color-warning-light-5: #f5cb89;
37
- --el-color-warning-light-6: #f7d5a1;
38
- --el-color-warning-light-7: #f9dfb8;
39
- --el-color-warning-light-8: #fce8d0;
40
- --el-color-warning-light-9: #fef2e7;
41
- --el-color-warning-dark-1: #c47f0e;
42
- --el-color-warning-dark-2: #9d650a;
43
- --el-color-warning-dark-3: #754a07;
44
- --el-color-warning-dark-4: #4e3004;
45
- --el-color-danger: #bb2d3f;
46
- --el-color-danger-light-1: #c34253;
47
- --el-color-danger-light-2: #ca5766;
48
- --el-color-danger-light-3: #d16b78;
49
- --el-color-danger-light-4: #d8808b;
50
- --el-color-danger-light-5: #dd969f;
51
- --el-color-danger-light-6: #e4abb2;
52
- --el-color-danger-light-7: #e8c0c5;
53
- --el-color-danger-light-8: #f0d5d9;
54
- --el-color-danger-light-9: #f7eaec;
55
- --el-color-danger-dark-1: #962433;
56
- --el-color-danger-dark-2: #711b26;
57
- --el-color-danger-dark-3: #4b1219;
58
- --el-color-danger-dark-4: #26090d;
59
- --el-color-error: #bb2d3f;
60
- --el-color-error-light-1: #c34253;
61
- --el-color-error-light-2: #ca5766;
62
- --el-color-error-light-3: #d16b78;
63
- --el-color-error-light-4: #d8808b;
64
- --el-color-error-light-5: #dd969f;
65
- --el-color-error-light-6: #e4abb2;
66
- --el-color-error-light-7: #e8c0c5;
67
- --el-color-error-light-8: #f0d5d9;
68
- --el-color-error-light-9: #f7eaec;
69
- --el-color-error-dark-1: #962433;
70
- --el-color-error-dark-2: #711b26;
71
- --el-color-error-dark-3: #4b1219;
72
- --el-color-error-dark-4: #26090d;
2
+ /* 客户主题契约:防止平台运行时 body 内联主题覆盖。 */
3
+ --el-color-primary: #002a8f !important;
4
+ --el-color-primary-rgb: 0, 42, 143 !important;
5
+ --el-color-primary-light-1: #1a3f9a !important;
6
+ --el-color-primary-light-2: #3355a5 !important;
7
+ --el-color-primary-light-3: #4d6ab1 !important;
8
+ --el-color-primary-light-4: #667fbc !important;
9
+ --el-color-primary-light-5: #8094c7 !important;
10
+ --el-color-primary-light-6: #99aad2 !important;
11
+ --el-color-primary-light-7: #b2bfdd !important;
12
+ --el-color-primary-light-8: #ccd4e9 !important;
13
+ --el-color-primary-light-9: #e5eaf4 !important;
14
+ --el-color-primary-dark-1: #002681 !important;
15
+ --el-color-primary-dark-2: #002272 !important;
16
+ --el-color-primary-dark-3: #001d64 !important;
17
+ --el-color-primary-dark-4: #001956 !important;
18
+ --el-color-success: #2bb268 !important;
19
+ --el-color-success-light-1: #40ba77 !important;
20
+ --el-color-success-light-2: #55c286 !important;
21
+ --el-color-success-light-3: #6bcb95 !important;
22
+ --el-color-success-light-4: #80d3a4 !important;
23
+ --el-color-success-light-5: #95dbb4 !important;
24
+ --el-color-success-light-6: #aae3c3 !important;
25
+ --el-color-success-light-7: #bfebd2 !important;
26
+ --el-color-success-light-8: #d5f4e1 !important;
27
+ --el-color-success-light-9: #eaf9f0 !important;
28
+ --el-color-success-dark-1: #229051 !important;
29
+ --el-color-success-dark-2: #1b733f !important;
30
+ --el-color-success-dark-3: #14562f !important;
31
+ --el-color-success-dark-4: #0d3a20 !important;
32
+ --el-color-warning: #ea9a13 !important;
33
+ --el-color-warning-light-1: #eca42b !important;
34
+ --el-color-warning-light-2: #efae42 !important;
35
+ --el-color-warning-light-3: #f1b85a !important;
36
+ --el-color-warning-light-4: #f3c171 !important;
37
+ --el-color-warning-light-5: #f5cb89 !important;
38
+ --el-color-warning-light-6: #f7d5a1 !important;
39
+ --el-color-warning-light-7: #f9dfb8 !important;
40
+ --el-color-warning-light-8: #fce8d0 !important;
41
+ --el-color-warning-light-9: #fef2e7 !important;
42
+ --el-color-warning-dark-1: #c47f0e !important;
43
+ --el-color-warning-dark-2: #9d650a !important;
44
+ --el-color-warning-dark-3: #754a07 !important;
45
+ --el-color-warning-dark-4: #4e3004 !important;
46
+ --el-color-danger: #bb2d3f !important;
47
+ --el-color-danger-light-1: #c34253 !important;
48
+ --el-color-danger-light-2: #ca5766 !important;
49
+ --el-color-danger-light-3: #d16b78 !important;
50
+ --el-color-danger-light-4: #d8808b !important;
51
+ --el-color-danger-light-5: #dd969f !important;
52
+ --el-color-danger-light-6: #e4abb2 !important;
53
+ --el-color-danger-light-7: #e8c0c5 !important;
54
+ --el-color-danger-light-8: #f0d5d9 !important;
55
+ --el-color-danger-light-9: #f7eaec !important;
56
+ --el-color-danger-dark-1: #962433 !important;
57
+ --el-color-danger-dark-2: #711b26 !important;
58
+ --el-color-danger-dark-3: #4b1219 !important;
59
+ --el-color-danger-dark-4: #26090d !important;
60
+ --el-color-error: #bb2d3f !important;
61
+ --el-color-error-light-1: #c34253 !important;
62
+ --el-color-error-light-2: #ca5766 !important;
63
+ --el-color-error-light-3: #d16b78 !important;
64
+ --el-color-error-light-4: #d8808b !important;
65
+ --el-color-error-light-5: #dd969f !important;
66
+ --el-color-error-light-6: #e4abb2 !important;
67
+ --el-color-error-light-7: #e8c0c5 !important;
68
+ --el-color-error-light-8: #f0d5d9 !important;
69
+ --el-color-error-light-9: #f7eaec !important;
70
+ --el-color-error-dark-1: #962433 !important;
71
+ --el-color-error-dark-2: #711b26 !important;
72
+ --el-color-error-dark-3: #4b1219 !important;
73
+ --el-color-error-dark-4: #26090d !important;
73
74
  --el-color-info: #909399;
74
75
  --el-color-info-light-1: #9b9ea3;
75
76
  --el-color-info-light-2: #a7a9ae;
@@ -118,10 +119,10 @@
118
119
  --el-box-shadow-light: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
119
120
  --el-box-shadow-lighter: 0px 6px 12px 0px rgba(0, 0, 0, 0.12);
120
121
  --el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, 0.08), 0px 12px 32px rgba(0, 0, 0, 0.12), 0px 8px 16px -8px rgba(0, 0, 0, 0.16);
121
- --el-border-radius-base: 6px;
122
- --el-border-radius-small: 2px;
123
- --el-border-radius-round: 20px;
124
- --el-border-radius-circle: 100%;
122
+ --el-border-radius-base: 6px !important;
123
+ --el-border-radius-small: 2px !important;
124
+ --el-border-radius-round: 20px !important;
125
+ --el-border-radius-circle: 100% !important;
125
126
  --el-line-height-1: 20px;
126
127
  --el-line-height-2: 20px;
127
128
  --el-line-height-3: 20px;
@@ -11,7 +11,7 @@
11
11
  | `element-plus` | **`2.2.6-prod.3`** | 集团 jh- 定制版,搭配 `@jhlc/jh-ui` 使用,DOM 仍为 `.el-input > .el-input__inner` 直挂结构(**EP 2.3.0 起才引入 `.el-input__wrapper`**) |
12
12
  | `@jhlc/jh-ui` | **`3.1.0`** | SCSS 皮肤包,`.com-text` label 包裹、`.has-colon ::after` 冒号注入、`.el-form-item--default { margin-bottom: 24px }` 等强约束 |
13
13
  | `@jhlc/common-core` | `3.1.0` 或 `3.1.0-prod.x` | 基础 util/types,`@jhlc/jh-ui` 间接依赖 |
14
- | `@agile-team/wl-skills-ui` | `^1.9.0` | 已对齐 jh-ui 3.1.0 + EP 2.2.6-prod.3 的 DOM 假设 |
14
+ | `@agile-team/wl-skills-ui` | `^1.9.3` | 已对齐 jh-ui 3.1.0 + EP 2.2.6-prod.3 的 DOM 假设、客户主题锁、6px 基础圆角与定制页样式边界 |
15
15
 
16
16
  ## 项目集群当前实测
17
17
 
@@ -35,7 +35,7 @@
35
35
 
36
36
  ## 适配建议
37
37
 
38
- - 集团内项目:**统一锚定 `element-plus@2.2.6-prod.3` + `@jhlc/jh-ui@3.1.0`**,与 wl-skills-ui v1.7.0 三方对齐。
38
+ - 集团内项目:**统一锚定 `element-plus@2.2.6-prod.3` + `@jhlc/jh-ui@3.1.0`**,与 wl-skills-ui v1.9.3 三方对齐。
39
39
  - 升级 `element-plus` 到 2.3+ 前,必须同步升级 `@jhlc/jh-ui` 到对应支持版本,否则 `.com-text` / `.el-input__inner` DOM 与 EP `__wrapper` 体系不兼容。
40
40
  - 新项目接入:见 README 「快速接入」章节,默认会按本表声明 peerDependency 范围。
41
41
 
@@ -315,4 +315,132 @@ registerColumnAutoMaps({
315
315
  }
316
316
  });
317
317
 
318
- export { AUDIT_STATUS_MAP, ENABLE_STATUS_MAP, RATING_LEVEL_COLORS, VERIFY_STATUS_MAP, clearColumnAutoMap, defineColumns, getColumnAutoMap, registerColumnAutoMap, registerColumnAutoMaps, registerDictColorMap, registerDictColorMaps, renderAuditStatus, renderBadge, renderClassifyTag, renderCountBadge, renderDangerText, renderDictClassifyTag, renderEnableStatus, renderOps, renderRatingLevel, renderTagNode, renderTagSlot, renderVerifyStatus, setDictResolver };
318
+ // runtime/theme-lock.ts
319
+ var BRAND_THEME_TOKENS = Object.freeze({
320
+ "--el-color-primary": "#002a8f",
321
+ "--el-color-primary-rgb": "0, 42, 143",
322
+ "--el-color-primary-light-1": "#1a3f9a",
323
+ "--el-color-primary-light-2": "#3355a5",
324
+ "--el-color-primary-light-3": "#4d6ab1",
325
+ "--el-color-primary-light-4": "#667fbc",
326
+ "--el-color-primary-light-5": "#8094c7",
327
+ "--el-color-primary-light-6": "#99aad2",
328
+ "--el-color-primary-light-7": "#b2bfdd",
329
+ "--el-color-primary-light-8": "#ccd4e9",
330
+ "--el-color-primary-light-9": "#e5eaf4",
331
+ "--el-color-primary-dark-1": "#002681",
332
+ "--el-color-primary-dark-2": "#002272",
333
+ "--el-color-primary-dark-3": "#001d64",
334
+ "--el-color-primary-dark-4": "#001956",
335
+ "--el-color-success": "#2bb268",
336
+ "--el-color-success-light-1": "#40ba77",
337
+ "--el-color-success-light-2": "#55c286",
338
+ "--el-color-success-light-3": "#6bcb95",
339
+ "--el-color-success-light-4": "#80d3a4",
340
+ "--el-color-success-light-5": "#95dbb4",
341
+ "--el-color-success-light-6": "#aae3c3",
342
+ "--el-color-success-light-7": "#bfebd2",
343
+ "--el-color-success-light-8": "#d5f4e1",
344
+ "--el-color-success-light-9": "#eaf9f0",
345
+ "--el-color-success-dark-1": "#229051",
346
+ "--el-color-success-dark-2": "#1b733f",
347
+ "--el-color-success-dark-3": "#14562f",
348
+ "--el-color-success-dark-4": "#0d3a20",
349
+ "--el-color-warning": "#ea9a13",
350
+ "--el-color-warning-light-1": "#eca42b",
351
+ "--el-color-warning-light-2": "#efae42",
352
+ "--el-color-warning-light-3": "#f1b85a",
353
+ "--el-color-warning-light-4": "#f3c171",
354
+ "--el-color-warning-light-5": "#f5cb89",
355
+ "--el-color-warning-light-6": "#f7d5a1",
356
+ "--el-color-warning-light-7": "#f9dfb8",
357
+ "--el-color-warning-light-8": "#fce8d0",
358
+ "--el-color-warning-light-9": "#fef2e7",
359
+ "--el-color-warning-dark-1": "#c47f0e",
360
+ "--el-color-warning-dark-2": "#9d650a",
361
+ "--el-color-warning-dark-3": "#754a07",
362
+ "--el-color-warning-dark-4": "#4e3004",
363
+ "--el-color-danger": "#bb2d3f",
364
+ "--el-color-danger-light-1": "#c34253",
365
+ "--el-color-danger-light-2": "#ca5766",
366
+ "--el-color-danger-light-3": "#d16b78",
367
+ "--el-color-danger-light-4": "#d8808b",
368
+ "--el-color-danger-light-5": "#dd969f",
369
+ "--el-color-danger-light-6": "#e4abb2",
370
+ "--el-color-danger-light-7": "#e8c0c5",
371
+ "--el-color-danger-light-8": "#f0d5d9",
372
+ "--el-color-danger-light-9": "#f7eaec",
373
+ "--el-color-danger-dark-1": "#962433",
374
+ "--el-color-danger-dark-2": "#711b26",
375
+ "--el-color-danger-dark-3": "#4b1219",
376
+ "--el-color-danger-dark-4": "#26090d",
377
+ "--el-color-error": "#bb2d3f",
378
+ "--el-color-error-light-1": "#c34253",
379
+ "--el-color-error-light-2": "#ca5766",
380
+ "--el-color-error-light-3": "#d16b78",
381
+ "--el-color-error-light-4": "#d8808b",
382
+ "--el-color-error-light-5": "#dd969f",
383
+ "--el-color-error-light-6": "#e4abb2",
384
+ "--el-color-error-light-7": "#e8c0c5",
385
+ "--el-color-error-light-8": "#f0d5d9",
386
+ "--el-color-error-light-9": "#f7eaec",
387
+ "--el-color-error-dark-1": "#962433",
388
+ "--el-color-error-dark-2": "#711b26",
389
+ "--el-color-error-dark-3": "#4b1219",
390
+ "--el-color-error-dark-4": "#26090d",
391
+ "--el-border-radius-base": "6px",
392
+ "--el-border-radius-small": "2px",
393
+ "--el-border-radius-round": "20px",
394
+ "--el-border-radius-circle": "100%"
395
+ });
396
+ var observer;
397
+ var waitingForBody = false;
398
+ function enforceOn(target) {
399
+ if (!target) return;
400
+ for (const [name, value] of Object.entries(BRAND_THEME_TOKENS)) {
401
+ if (target.style.getPropertyValue(name).trim().toLowerCase() !== value || target.style.getPropertyPriority(name) !== "important") {
402
+ target.style.setProperty(name, value, "important");
403
+ }
404
+ }
405
+ }
406
+ function bindObserver() {
407
+ if (typeof document === "undefined") return;
408
+ enforceOn(document.documentElement);
409
+ enforceOn(document.body);
410
+ if (typeof MutationObserver === "undefined") return;
411
+ observer ?? (observer = new MutationObserver((mutations) => {
412
+ const bodyChanged = mutations.some((mutation) => mutation.type === "childList");
413
+ enforceOn(document.documentElement);
414
+ enforceOn(document.body);
415
+ if (bodyChanged) bindObserver();
416
+ }));
417
+ observer.disconnect();
418
+ observer.observe(document.documentElement, {
419
+ attributes: true,
420
+ attributeFilter: ["style"],
421
+ childList: true
422
+ });
423
+ if (document.body) {
424
+ observer.observe(document.body, {
425
+ attributes: true,
426
+ attributeFilter: ["style"]
427
+ });
428
+ }
429
+ }
430
+ function installBrandThemeLock() {
431
+ if (typeof document === "undefined") return;
432
+ bindObserver();
433
+ if (!document.body && !waitingForBody) {
434
+ waitingForBody = true;
435
+ document.addEventListener(
436
+ "DOMContentLoaded",
437
+ () => {
438
+ waitingForBody = false;
439
+ bindObserver();
440
+ },
441
+ { once: true }
442
+ );
443
+ }
444
+ }
445
+
446
+ export { AUDIT_STATUS_MAP, BRAND_THEME_TOKENS, ENABLE_STATUS_MAP, RATING_LEVEL_COLORS, VERIFY_STATUS_MAP, clearColumnAutoMap, defineColumns, getColumnAutoMap, installBrandThemeLock, registerColumnAutoMap, registerColumnAutoMaps, registerDictColorMap, registerDictColorMaps, renderAuditStatus, renderBadge, renderClassifyTag, renderCountBadge, renderDangerText, renderDictClassifyTag, renderEnableStatus, renderOps, renderRatingLevel, renderTagNode, renderTagSlot, renderVerifyStatus, setDictResolver };
@@ -1,5 +1,5 @@
1
- import { renderTagNode, renderClassifyTag, registerColumnAutoMaps, renderRatingLevel, renderBadge } from './chunk-FMVZ54BY.js';
2
- export { registerDictColorMap, registerDictColorMaps, renderDictClassifyTag, setDictResolver } from './chunk-FMVZ54BY.js';
1
+ import { renderTagNode, renderClassifyTag, installBrandThemeLock, registerColumnAutoMaps, renderRatingLevel, renderBadge } from './chunk-KPCUDXLS.js';
2
+ export { registerDictColorMap, registerDictColorMaps, renderDictClassifyTag, setDictResolver } from './chunk-KPCUDXLS.js';
3
3
 
4
4
  // runtime/presets/common.ts
5
5
  var RISK_LEVEL_MAP = {
@@ -94,6 +94,7 @@ var DRILL_TYPE_COLOR_MAP = {
94
94
  "2": "warning"
95
95
  };
96
96
  function installCommonPreset() {
97
+ installBrandThemeLock();
97
98
  registerColumnAutoMaps({
98
99
  riskLevel: {
99
100
  width: 90,