@agile-team/wl-skills-ui 1.9.5 → 1.9.6
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 +7 -0
- package/README.md +2 -2
- package/docs/compat-matrix.md +2 -2
- package/package.json +1 -1
- package/styles/element/_form.scss +84 -10
- package/styles/vendors/_ag-grid.scss +11 -3
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,13 @@ 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.6] - 2026-07-23
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- 数值输入框统一由 Element Plus wrapper 绘制唯一边框,隐藏 common-core 残留步进按钮及浏览器原生数字步进器,保留 `type=number` 语义并修复焦点双边框、内容压盖和输入后边框消失。
|
|
12
|
+
- 固定 AG Grid 空数据插图与文案的紧凑尺寸并轻微下移视觉中心,避免不同表格高度导致空态大小不一或位置偏上。
|
|
13
|
+
|
|
7
14
|
## [1.9.5] - 2026-07-23
|
|
8
15
|
|
|
9
16
|
### 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.
|
|
203
|
+
| `@agile-team/wl-skills-ui` | `^1.9.6` | 已对齐上述组合的 DOM 假设、客户主题锁、圆角契约与定制页样式边界 |
|
|
204
204
|
|
|
205
205
|
三种识别方式,任选其一:
|
|
206
206
|
|
|
@@ -214,7 +214,7 @@ yarn add @agile-team/wl-skills-ui
|
|
|
214
214
|
|
|
215
215
|
## 版本亮点
|
|
216
216
|
|
|
217
|
-
当前 v1.9.
|
|
217
|
+
当前 v1.9.6:
|
|
218
218
|
|
|
219
219
|
- **Vite 4 运行时兼容**:浏览器 ESM 产物不再暴露可被开发转换误替换的 Node 环境变量成员链,预构建与直接加载均保持合法语法。
|
|
220
220
|
- **登录页精准退出**:内置识别 `.lp-root` 与 `.session-login`,其内部表单、按钮、焦点和校验态保留登录页自身设计;业务页面仍由包高权重统一管控。
|
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.6` | 已对齐 jh-ui 3.1.0 + EP 2.2.6-prod.3 的 DOM 假设、客户主题锁、6px 基础圆角、定制页样式边界与 Vite 4 开发转换 |
|
|
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.9.
|
|
38
|
+
- 集团内项目:**统一锚定 `element-plus@2.2.6-prod.3` + `@jhlc/jh-ui@3.1.0`**,与 wl-skills-ui v1.9.6 三方对齐。
|
|
39
39
|
- 升级 `element-plus` 到 2.3+ 前,必须同步升级 `@jhlc/jh-ui` 到对应支持版本,否则 `.com-text` / `.el-input__inner` DOM 与 EP `__wrapper` 体系不兼容。
|
|
40
40
|
- 新项目接入:见 README 「快速接入」章节,默认会按本表声明 peerDependency 范围。
|
|
41
41
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agile-team/wl-skills-ui",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.6",
|
|
4
4
|
"description": "企业级 UI 风格对齐框架 — Vue + Element Plus 项目通用化妆/原生双模式(tokens / element / vendors / layouts / runtime / scanner / fixer / skills)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./es/index.js",
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
html body {
|
|
6
6
|
--wk-form-control-radius: var(--el-border-radius-base, 6px);
|
|
7
7
|
--wk-form-control-height: 26px;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
--wk-form-label-control-gap: 16px;
|
|
9
|
+
--wk-form-label-line-height: 22px;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
#{skin.$managed-scope-selector} {
|
|
@@ -47,22 +47,96 @@ html body {
|
|
|
47
47
|
line-height: calc(var(--wk-form-control-height) - 2px) !important;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
//
|
|
51
|
-
//
|
|
50
|
+
// common-core 的 InputNumberComponent 即使传入 controls=false,部分版本仍会
|
|
51
|
+
// 输出 controls-right 步进按钮。数值框保留 Element Plus 的 wrapper 作为唯一
|
|
52
|
+
// 可见边框,根节点仅负责尺寸,避免 wrapper 聚焦阴影与根边框叠成双层描边。
|
|
52
53
|
&.el-input-number,
|
|
53
54
|
&.el-input-number:focus,
|
|
54
|
-
&.el-input-number:focus-within
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
&.el-input-number:focus-within {
|
|
56
|
+
width: 100% !important;
|
|
57
|
+
height: var(--wk-form-control-height) !important;
|
|
58
|
+
line-height: var(--wk-form-control-height) !important;
|
|
59
|
+
border: 0 !important;
|
|
60
|
+
border-radius: var(--wk-form-control-radius) !important;
|
|
59
61
|
outline: none !important;
|
|
62
|
+
box-sizing: border-box !important;
|
|
63
|
+
background: transparent !important;
|
|
64
|
+
box-shadow: none !important;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
&.el-input-number .el-input {
|
|
68
|
+
width: 100% !important;
|
|
69
|
+
height: 100% !important;
|
|
70
|
+
border: 0 !important;
|
|
71
|
+
outline: none !important;
|
|
72
|
+
background: transparent !important;
|
|
73
|
+
box-shadow: none !important;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
&.el-input-number .el-input__wrapper {
|
|
77
|
+
width: 100% !important;
|
|
78
|
+
height: 100% !important;
|
|
79
|
+
min-height: 0 !important;
|
|
80
|
+
padding: 0 11px !important;
|
|
81
|
+
border: 0 !important;
|
|
82
|
+
border-radius: calc(var(--wk-form-control-radius) - 1px) !important;
|
|
83
|
+
box-sizing: border-box !important;
|
|
84
|
+
background: var(--el-bg-color, #fff) !important;
|
|
85
|
+
box-shadow: 0 0 0 1px var(--el-border-color, #dcdfe6) inset !important;
|
|
86
|
+
transition: box-shadow 0.15s ease !important;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
&.el-input-number:not(.is-disabled):hover .el-input__wrapper {
|
|
90
|
+
box-shadow:
|
|
91
|
+
0 0 0 1px var(--el-border-color-hover, #c0c4cc) inset !important;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
&.el-input-number .el-input__wrapper.is-focus,
|
|
95
|
+
&.el-input-number:focus-within .el-input__wrapper {
|
|
96
|
+
box-shadow:
|
|
97
|
+
0 0 0 1.5px var(--el-color-primary, #002a8f) inset !important;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
&.el-input-number.is-disabled .el-input__wrapper {
|
|
101
|
+
background: var(--el-disabled-bg-color, #f5f7fa) !important;
|
|
102
|
+
box-shadow:
|
|
103
|
+
0 0 0 1px var(--el-disabled-border-color, #e4e7ed) inset !important;
|
|
60
104
|
}
|
|
61
105
|
|
|
62
106
|
&.el-input-number .el-input__inner,
|
|
63
|
-
&.el-input-number .el-input__inner:focus
|
|
107
|
+
&.el-input-number .el-input__inner:focus,
|
|
108
|
+
&.el-input-number .el-input__inner:focus-visible {
|
|
109
|
+
width: 100% !important;
|
|
110
|
+
height: 100% !important;
|
|
111
|
+
line-height: calc(var(--wk-form-control-height) - 2px) !important;
|
|
112
|
+
padding: 0 11px !important;
|
|
64
113
|
border: 0 !important;
|
|
114
|
+
border-radius: calc(var(--wk-form-control-radius) - 1px) !important;
|
|
115
|
+
outline: none !important;
|
|
116
|
+
background: transparent !important;
|
|
65
117
|
box-shadow: none !important;
|
|
118
|
+
text-align: left !important;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
&.el-input-number .el-input__wrapper .el-input__inner {
|
|
122
|
+
padding: 0 !important;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
&.el-input-number .el-input-number__increase,
|
|
126
|
+
&.el-input-number .el-input-number__decrease {
|
|
127
|
+
display: none !important;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
&.el-input-number .el-input__inner::-webkit-inner-spin-button,
|
|
131
|
+
&.el-input-number .el-input__inner::-webkit-outer-spin-button {
|
|
132
|
+
margin: 0 !important;
|
|
133
|
+
appearance: none !important;
|
|
134
|
+
-webkit-appearance: none !important;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
&.el-input-number .el-input__inner[type="number"] {
|
|
138
|
+
appearance: textfield !important;
|
|
139
|
+
-moz-appearance: textfield !important;
|
|
66
140
|
}
|
|
67
141
|
|
|
68
142
|
&.el-textarea__inner {
|
|
@@ -169,14 +169,18 @@
|
|
|
169
169
|
flex-direction: column !important;
|
|
170
170
|
align-items: center !important;
|
|
171
171
|
justify-content: center !important;
|
|
172
|
-
|
|
172
|
+
overflow: hidden;
|
|
173
|
+
// 图标采用不缩放的统一大号规格;通过紧凑间距保证常用 148px 表体
|
|
174
|
+
// 也能完整容纳,并以顶部 8px 留白轻微下移视觉中心。
|
|
175
|
+
padding: 8px 0 0 !important;
|
|
173
176
|
|
|
174
177
|
&::before {
|
|
175
178
|
content: "";
|
|
176
179
|
display: block;
|
|
180
|
+
flex: 0 0 84px;
|
|
177
181
|
width: 100px;
|
|
178
182
|
height: 84px;
|
|
179
|
-
margin-bottom:
|
|
183
|
+
margin-bottom: 10px;
|
|
180
184
|
background-image: url("data:image/svg+xml,%3Csvg width='100' height='84' viewBox='0 0 100 84' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='8' y='10' width='84' height='70' rx='8' fill='%23E2E8F0' opacity='0.5'/%3E%3Crect x='4' y='4' width='84' height='70' rx='8' fill='white' stroke='%23CBD5E1' stroke-width='1.5'/%3E%3Crect x='4' y='4' width='84' height='22' rx='8' fill='%23EEF2FF'/%3E%3Crect x='4' y='18' width='84' height='8' fill='%23EEF2FF'/%3E%3Crect x='14' y='10' width='20' height='6' rx='3' fill='%23C7D2FE'/%3E%3Crect x='44' y='10' width='14' height='6' rx='3' fill='%23C7D2FE'/%3E%3Crect x='68' y='10' width='14' height='6' rx='3' fill='%23C7D2FE'/%3E%3Cline x1='4' y1='26' x2='88' y2='26' stroke='%23E2E8F0' stroke-width='1'/%3E%3Cline x1='40' y1='26' x2='40' y2='74' stroke='%23F1F5F9' stroke-width='1'/%3E%3Cline x1='64' y1='26' x2='64' y2='74' stroke='%23F1F5F9' stroke-width='1'/%3E%3Crect x='14' y='31' width='18' height='5' rx='2.5' fill='%23F1F5F9'/%3E%3Crect x='44' y='31' width='12' height='5' rx='2.5' fill='%23F1F5F9'/%3E%3Crect x='68' y='31' width='14' height='5' rx='2.5' fill='%23F1F5F9'/%3E%3Cline x1='4' y1='43' x2='88' y2='43' stroke='%23F8FAFC' stroke-width='1'/%3E%3Crect x='14' y='47' width='22' height='5' rx='2.5' fill='%23F8FAFC'/%3E%3Crect x='44' y='47' width='10' height='5' rx='2.5' fill='%23F8FAFC'/%3E%3Crect x='68' y='47' width='12' height='5' rx='2.5' fill='%23F8FAFC'/%3E%3Cline x1='4' y1='59' x2='88' y2='59' stroke='%23F8FAFC' stroke-width='1'/%3E%3Crect x='14' y='63' width='16' height='5' rx='2.5' fill='%23FAFAFA'/%3E%3Crect x='44' y='63' width='14' height='5' rx='2.5' fill='%23FAFAFA'/%3E%3Crect x='68' y='63' width='10' height='5' rx='2.5' fill='%23FAFAFA'/%3E%3Ccircle cx='74' cy='58' r='18' fill='white' stroke='%23E2E8F0' stroke-width='1.5'/%3E%3Ccircle cx='72' cy='56' r='9' fill='%23EEF2FF' stroke='%23818CF8' stroke-width='2'/%3E%3Cline x1='78.5' y1='62.5' x2='83' y2='67' stroke='%23818CF8' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M68.5 52.5 L75.5 59.5' stroke='%23A5B4FC' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M75.5 52.5 L68.5 59.5' stroke='%23A5B4FC' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
|
|
181
185
|
background-repeat: no-repeat;
|
|
182
186
|
background-size: contain;
|
|
@@ -186,17 +190,21 @@
|
|
|
186
190
|
&::after {
|
|
187
191
|
content: var(--wk-empty-hint);
|
|
188
192
|
display: block;
|
|
193
|
+
flex: 0 0 auto;
|
|
189
194
|
font-size: 12px;
|
|
190
195
|
color: var(--el-text-color-placeholder, #b0b7c3);
|
|
191
|
-
|
|
196
|
+
line-height: 18px;
|
|
197
|
+
margin-top: 2px;
|
|
192
198
|
letter-spacing: 0.01em;
|
|
193
199
|
}
|
|
194
200
|
}
|
|
195
201
|
|
|
196
202
|
.ag-overlay-no-rows-center {
|
|
203
|
+
flex: 0 0 auto;
|
|
197
204
|
font-size: 14px;
|
|
198
205
|
font-weight: 500;
|
|
199
206
|
color: var(--el-text-color-primary, #374151);
|
|
207
|
+
line-height: 20px;
|
|
200
208
|
letter-spacing: 0.02em;
|
|
201
209
|
}
|
|
202
210
|
|