@agile-team/wl-skills-ui 1.9.0 → 1.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +18 -5
- package/SKILL.md +1 -1
- package/design/spec/color.md +25 -8
- package/design/spec/spacing.md +1 -1
- package/design/tokens/base.css +76 -74
- package/dist/tokens.css +76 -74
- package/docs/compat-matrix.md +2 -2
- package/es/{chunk-FMVZ54BY.js → chunk-KPCUDXLS.js} +129 -1
- package/es/common-preset.js +3 -2
- package/es/index.d.ts +90 -1
- package/es/index.js +2 -2
- package/es/presets/security.js +2 -1
- package/package.json +1 -1
- package/scanner/rules/_shared.mjs +16 -0
- package/skills/runtime/design-tokens/SKILL.md +9 -6
- package/standards/ui/02-button.md +11 -0
- package/styles/element/_button.scss +56 -0
- package/styles/element/_upload.scss +2 -2
- package/styles/element/index.scss +1 -0
- package/styles/presets/security.scss +21 -20
- package/styles/tokens/index.scss +77 -76
- package/styles/vendors/_ag-grid.scss +8 -8
- package/styles/vendors/_base-components.scss +19 -19
- package/styles/vendors/_base-query-toolbar.scss +51 -36
- package/styles/vendors/_jh-drag-col.scss +4 -4
- package/styles/vendors/_jh-drag-row.scss +4 -4
- package/styles/vendors/_jh-pagination.scss +2 -2
- package/styles/vendors/_jh-tree.scss +3 -3
- package/styles/vendors/_jh-ui.scss +2 -2
- package/styles/vendors/_portal.scss +17 -17
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,24 @@ 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.2] - 2026-07-21
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- 新增客户品牌主题锁:L0 的品牌色、功能色和圆角 token 使用 `!important`,运行时再监听 `html/body` 的主题变量改写,阻止平台 `/system/theme/list` 动态主题把包值改回旧亮色。
|
|
12
|
+
- `installCommonPreset()` / `installSecurityPreset()` 自动安装主题锁;同时公开 `installBrandThemeLock()`,纯 runtime 接入也可显式启用。
|
|
13
|
+
- 恢复按钮、输入框等基础控件的 `6px` 圆角,保留圆形、胶囊和按钮组的语义圆角,不再被 jh-ui 的 `2px` 基础值压平。
|
|
14
|
+
- 功能按钮锁定克制的成功 `#2BB268`、警告 `#EA9A13`、危险 `#BB2D3F`,并把彩色发光阴影收敛为轻量中性阴影,保持语义辨识但降低突兀感。
|
|
15
|
+
|
|
16
|
+
## [1.9.1] - 2026-07-20
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- 按《烟台华新数智化信息化改造项目 UI 规范 v1》纠正主色色阶:常规 `#002A8F`、悬停 `#1A3F9A`、点击 `#002681`、禁用 `#B2BFDD`,不再把 PPT 元数据中的 `#2254F4` 当作业务按钮主色。
|
|
21
|
+
- 新增 Element Plus 主按钮四态强覆盖;BaseQuery/BaseToolbar 查询与主操作按钮的 hover 从旧 `primary-light-3` 改为客户规范 `primary-light-1`。
|
|
22
|
+
- 所有 vendor 半透明主色效果统一读取 `--el-color-primary-rgb`,清除 SCSS 中旧亮蓝 RGB 和 fallback,避免 token 已改但阴影、选中态仍有色差。
|
|
23
|
+
- 同步颜色规范、Design Token Skill、README 和发布产物;发布校验新增客户主色色阶与旧亮蓝残留检查。
|
|
24
|
+
|
|
7
25
|
## [1.9.0] - 2026-07-18
|
|
8
26
|
|
|
9
27
|
### Added
|
package/README.md
CHANGED
|
@@ -62,6 +62,7 @@ wl-skills-ui/
|
|
|
62
62
|
├── styles/ # L1+L2+L3 SCSS 实现
|
|
63
63
|
│ ├── tokens/ # SCSS 变量映射层($wk-* → CSS 变量)
|
|
64
64
|
│ ├── element/ # L1 Element Plus 控件对齐
|
|
65
|
+
│ │ ├── _button.scss # 主按钮四态强覆盖(设计规范色阶)
|
|
65
66
|
│ │ ├── _table.scss
|
|
66
67
|
│ │ ├── _form.scss
|
|
67
68
|
│ │ ├── _dialog.scss
|
|
@@ -199,7 +200,7 @@ yarn add @agile-team/wl-skills-ui
|
|
|
199
200
|
|---|---|---|
|
|
200
201
|
| `element-plus` | **`2.2.6-prod.3`** | 集团 jh- 定制版;EP 2.3.0 起引入 `.el-input__wrapper`,与 jh-ui 3.x 不兼容 |
|
|
201
202
|
| `@jhlc/jh-ui` | **`3.1.0`** | SCSS 皮肤包,`.com-text` label 包裹 + `.has-colon` 冒号注入(wl-skills-ui 已统一屏蔽表单冒号) |
|
|
202
|
-
| `@agile-team/wl-skills-ui` | `^1.9.
|
|
203
|
+
| `@agile-team/wl-skills-ui` | `^1.9.2` | 已对齐上述组合的 DOM 假设、客户主题锁与圆角契约 |
|
|
203
204
|
|
|
204
205
|
三种识别方式,任选其一:
|
|
205
206
|
|
|
@@ -213,7 +214,19 @@ yarn add @agile-team/wl-skills-ui
|
|
|
213
214
|
|
|
214
215
|
## 版本亮点
|
|
215
216
|
|
|
216
|
-
当前 v1.9.
|
|
217
|
+
当前 v1.9.2:
|
|
218
|
+
|
|
219
|
+
- **动态主题不可反覆盖**:品牌色、功能色和圆角使用 CSS `!important` + runtime `MutationObserver` 双保险;平台登录后写入 `document.body.style` 也会立即恢复为包内规范值。
|
|
220
|
+
- **圆角契约恢复**:按钮、输入框等基础控件统一 `6px`,不再回退到 jh-ui 的 `2px`;圆形、胶囊、按钮组仍保留各自语义。
|
|
221
|
+
- **语义色降噪**:成功 `#2BB268`、警告 `#EA9A13`、危险 `#BB2D3F` 均被主题锁保护,按钮彩色强阴影调整为轻量中性阴影,整体更稳重。
|
|
222
|
+
|
|
223
|
+
上一版 v1.9.1:
|
|
224
|
+
|
|
225
|
+
- **客户主色纠偏**:严格按《烟台华新数智化信息化改造项目 UI 规范 v1》统一主色为 `#002A8F`,并同步完整深浅色阶。
|
|
226
|
+
- **按钮四态强覆盖**:主按钮常规 `#002A8F`、悬停 `#1A3F9A`、点击 `#002681`、禁用 `#B2BFDD`;`html body` 高特异性和填充按钮 `!important` 抵御 Element Plus、jh-ui 与旧业务皮肤覆盖。
|
|
227
|
+
- **单源防漂移**:主色半透明场景统一读取 `--el-color-primary-rgb`,发布校验会阻断 token、SCSS、按钮状态或文档重新漂移到旧亮蓝。
|
|
228
|
+
|
|
229
|
+
上一版 v1.9.0:
|
|
217
230
|
|
|
218
231
|
- **独立闭环**:不依赖 kit/design/bd 即可安装、审计、修复、复检、快照和回退;存在 kit 的 page-spec 时只复用页面模式与组件命名约定,不形成运行时硬依赖。
|
|
219
232
|
- **CLI 真实一致**:统一入口正式支持 `audit/drift/exempt/snapshot`,未知命令非零退出,`audit --refresh-baseline` 可维护增量治理基线。
|
|
@@ -230,8 +243,8 @@ yarn add @agile-team/wl-skills-ui
|
|
|
230
243
|
|
|
231
244
|
上一版 v1.8.15:
|
|
232
245
|
|
|
233
|
-
- **jh-drag-row 上下分栏手柄覆盖**:新增 `styles/vendors/_jh-drag-row.scss`,补齐此前缺失的 `jh-drag-row`(上下/主从表)手柄覆盖,与 `_jh-drag-col.scss
|
|
234
|
-
- **平台包职责澄清**:`@jhlc/jh-ui` 是纯 SCSS 包(零组件),所有 `jh-*`/`Base*`/`C_*` 组件来自 `@jhlc/common-core`。本包作为化妆层精准层叠覆盖二者视觉,不改平台层源码——L0 token 用 `:root body` 压过 jh-ui 编译产物的 `:root
|
|
246
|
+
- **jh-drag-row 上下分栏手柄覆盖**:新增 `styles/vendors/_jh-drag-row.scss`,补齐此前缺失的 `jh-drag-row`(上下/主从表)手柄覆盖,与 `_jh-drag-col.scss`(左右)同源风格。手柄颜色统一跟随 `--el-color-primary`,不再保留独立色值
|
|
247
|
+
- **平台包职责澄清**:`@jhlc/jh-ui` 是纯 SCSS 包(零组件),所有 `jh-*`/`Base*`/`C_*` 组件来自 `@jhlc/common-core`。本包作为化妆层精准层叠覆盖二者视觉,不改平台层源码——L0 token 用 `:root body` 压过 jh-ui 编译产物的 `:root`,L2 直接写目标属性 + `!important` 绕过组件 `var()` 引用。**项目装了本包后,一切以本包为准**
|
|
235
248
|
|
|
236
249
|
上一版 v1.8.14:
|
|
237
250
|
|
|
@@ -642,7 +655,7 @@ export const myRules = [
|
|
|
642
655
|
| 字号 | [design/spec/typography.md](design/spec/typography.md) |
|
|
643
656
|
| 间距 | [design/spec/spacing.md](design/spec/spacing.md) |
|
|
644
657
|
|
|
645
|
-
|
|
658
|
+
客户规范主色:`#002a8f` → `--el-color-primary`;业务代码只引用 token,不直接硬编码色值。
|
|
646
659
|
|
|
647
660
|
---
|
|
648
661
|
|
package/SKILL.md
CHANGED
|
@@ -282,7 +282,7 @@ npx wl-ui check --project [项目根目录]
|
|
|
282
282
|
- background: #fb2323;
|
|
283
283
|
+ background: var(--el-color-danger);
|
|
284
284
|
```
|
|
285
|
-
**已覆盖颜色**:`#409eff/#3a7afe/#4368ff`→primary,`#fb2323/#f56c6c`→danger,`#0cc859/#67c23a`→success,`#ffaf27/#e6a23c`→warning,`#ecf5ff`→primary-light-9
|
|
285
|
+
**已覆盖颜色**:`#409eff/#3a7afe/#4368ff/#2254f4/#002a8f`→primary,`#fb2323/#f56c6c/#bb2d3f`→danger,`#0cc859/#67c23a/#2bb268`→success,`#ffaf27/#e6a23c/#ea9a13`→warning,`#ecf5ff/#e5eaf4`→primary-light-9
|
|
286
286
|
|
|
287
287
|
#### R017 — 编号/工号/证件号列缺少 renderBadge【高危】
|
|
288
288
|
**检测**:`columnsDef()` / `columns` 数组中,label 含“编号”“工号”“证件号”但没有 `renderBadge` / `defaultSlot`(脚本式列定义)
|
package/design/spec/color.md
CHANGED
|
@@ -2,14 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
## 品牌色系
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
|
8
|
-
|
|
|
9
|
-
| `--el-color-
|
|
10
|
-
| `--el-color-
|
|
11
|
-
| `--el-color-
|
|
12
|
-
| `--el-color-
|
|
5
|
+
> 单一依据:《烟台华新数智化信息化改造项目 UI 规范 v1》“颜色-主色/功能色”页。
|
|
6
|
+
|
|
7
|
+
| Token | 值 | 用途 |
|
|
8
|
+
| ----------------------------- | --------------- | ---------------------------- |
|
|
9
|
+
| `--el-color-primary` | `#002a8f` | 主按钮常规、链接、选中态 |
|
|
10
|
+
| `--el-color-primary-rgb` | `0, 42, 143` | 主色透明背景、阴影和选中底色 |
|
|
11
|
+
| `--el-color-primary-light-1` | `#1a3f9a` | 主按钮悬停 |
|
|
12
|
+
| `--el-color-primary-light-2` | `#3355a5` | 柔和主题蓝 |
|
|
13
|
+
| `--el-color-primary-light-3` | `#4d6ab1` | 辅助高亮 |
|
|
14
|
+
| `--el-color-primary-light-4` | `#667fbc` | 辅助高亮 |
|
|
15
|
+
| `--el-color-primary-light-5` | `#8094c7` | 主色边框 |
|
|
16
|
+
| `--el-color-primary-light-6` | `#99aad2` | 浅色辅助 |
|
|
17
|
+
| `--el-color-primary-light-7` | `#b2bfdd` | 主按钮禁用 |
|
|
18
|
+
| `--el-color-primary-light-8` | `#ccd4e9` | 浅色辅助 |
|
|
19
|
+
| `--el-color-primary-light-9` | `#e5eaf4` | 浅色/白底悬浮 |
|
|
20
|
+
| `--el-color-primary-dark-1` | `#002681` | 主按钮点击 |
|
|
21
|
+
| `--el-color-primary-dark-2` | `#002272` | 深色辅助 |
|
|
22
|
+
| `--el-color-primary-dark-3` | `#001d64` | 深色辅助 |
|
|
23
|
+
| `--el-color-primary-dark-4` | `#001956` | 最深品牌蓝 |
|
|
24
|
+
| `--el-color-success` | `#2bb268` | 成功/正常/启用状态 |
|
|
25
|
+
| `--el-color-warning` | `#ea9a13` | 警告/待处理状态 |
|
|
26
|
+
| `--el-color-danger` | `#bb2d3f` | 危险/失败/停用状态 |
|
|
27
|
+
| `--el-color-info` | `#909399` | 中性/辅助信息 |
|
|
28
|
+
|
|
29
|
+
品牌色及成功、警告、危险色阶属于客户固定主题契约。样式层以 `!important` 抵御平台普通内联主题,调用 `installCommonPreset()`、`installSecurityPreset()` 或 `installBrandThemeLock()` 后,运行时还会监测并恢复 `html/body` 上的动态改写。
|
|
13
30
|
|
|
14
31
|
## 文本色系
|
|
15
32
|
|
package/design/spec/spacing.md
CHANGED
package/design/tokens/base.css
CHANGED
|
@@ -1,74 +1,76 @@
|
|
|
1
1
|
:root body {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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;
|
|
72
74
|
--el-color-info: #909399;
|
|
73
75
|
--el-color-info-light-1: #9b9ea3;
|
|
74
76
|
--el-color-info-light-2: #a7a9ae;
|
|
@@ -117,10 +119,10 @@
|
|
|
117
119
|
--el-box-shadow-light: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
|
|
118
120
|
--el-box-shadow-lighter: 0px 6px 12px 0px rgba(0, 0, 0, 0.12);
|
|
119
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);
|
|
120
|
-
--el-border-radius-base: 6px;
|
|
121
|
-
--el-border-radius-small: 2px;
|
|
122
|
-
--el-border-radius-round: 20px;
|
|
123
|
-
--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;
|
|
124
126
|
--el-line-height-1: 20px;
|
|
125
127
|
--el-line-height-2: 20px;
|
|
126
128
|
--el-line-height-3: 20px;
|
package/dist/tokens.css
CHANGED
|
@@ -1,74 +1,76 @@
|
|
|
1
1
|
:root body {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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;
|
|
72
74
|
--el-color-info: #909399;
|
|
73
75
|
--el-color-info-light-1: #9b9ea3;
|
|
74
76
|
--el-color-info-light-2: #a7a9ae;
|
|
@@ -117,10 +119,10 @@
|
|
|
117
119
|
--el-box-shadow-light: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
|
|
118
120
|
--el-box-shadow-lighter: 0px 6px 12px 0px rgba(0, 0, 0, 0.12);
|
|
119
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);
|
|
120
|
-
--el-border-radius-base: 6px;
|
|
121
|
-
--el-border-radius-small: 2px;
|
|
122
|
-
--el-border-radius-round: 20px;
|
|
123
|
-
--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;
|
|
124
126
|
--el-line-height-1: 20px;
|
|
125
127
|
--el-line-height-2: 20px;
|
|
126
128
|
--el-line-height-3: 20px;
|
package/docs/compat-matrix.md
CHANGED
|
@@ -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.
|
|
14
|
+
| `@agile-team/wl-skills-ui` | `^1.9.2` | 已对齐 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.
|
|
38
|
+
- 集团内项目:**统一锚定 `element-plus@2.2.6-prod.3` + `@jhlc/jh-ui@3.1.0`**,与 wl-skills-ui v1.9.2 三方对齐。
|
|
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
|
-
|
|
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 };
|