@agile-team/wl-skills-ui 1.6.10 → 1.6.13

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,27 @@ 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.6.13] - 2026-05-12
8
+
9
+ ### Fixed
10
+
11
+ - 补强表单输入、选择、日期和文本域的 focus 品牌色边框兼容规则,确保普通 focus 态稳定生效。
12
+ - 补强 Element Plus 必填星号红色显示规则,兼容未显式配置 asterisk 方向的表单场景。
13
+
14
+ ## [1.6.12] - 2026-05-12
15
+
16
+ ### Fixed
17
+
18
+ - 修复表单 label 单行省略样式覆盖后,必填星号、错误 label、错误提示和错误边框红色态不明显的问题。
19
+
20
+ ## [1.6.11] - 2026-05-11
21
+
22
+ ### Changed
23
+
24
+ - 优化 BaseToolbar 下拉/分裂按钮组样式,统一高度、圆角、间距和下拉菜单 hover 可读性。
25
+ - 优化 AG Grid 操作列内 `jh-op-*` 操作按钮,取消 active 缩放并提升选中行可读性。
26
+ - 补齐输入控件 focus 品牌色边框、统一圆角、长表单 label 单行省略和弹窗图标居中尺寸规则。
27
+
7
28
  ## [1.6.10] - 2026-05-11
8
29
 
9
30
  ### Removed
package/README.md CHANGED
@@ -193,8 +193,13 @@ yarn add @agile-team/wl-skills-ui
193
193
 
194
194
  ## 版本亮点
195
195
 
196
- 当前 v1.6.10 版本继续强化“统一规则源 + 单一事实源 + 项目集群封装必覆盖 + UI 细节精准修复”的闭环,并彻底剔除旧前缀:
196
+ 当前 v1.6.13 版本继续强化“统一规则源 + 单一事实源 + 项目集群封装必覆盖 + UI 细节精准修复”的闭环,并补齐销售报价页暴露出的通用 UI 细节:
197
197
 
198
+ - 补强输入、选择、日期、文本域 focus 品牌色边框和必填星号红色显示规则,兼容 Element Plus 定制版本差异
199
+ - 修复表单必填星号、错误 label、错误提示和错误边框红色态,避免校验反馈被通用 label/input 样式覆盖
200
+ - 优化 BaseToolbar 下拉/分裂按钮组,让“主动作 + 下拉动作”按一个动作组展示,避免视觉割裂
201
+ - 优化 AG Grid 操作列 `jh-op-*` 图标/胶囊/文字按钮,取消按压缩放抖动,并提升选中行下的可读性
202
+ - 补齐输入控件 focus 品牌色边框、统一圆角、长 label 单行省略和自定义弹窗图标居中尺寸规则
198
203
  - 全量移除旧 `wk-` 前缀命名(包名 / CLI / 快照目录 / 豁免配置 / MCP 工具名),不再兼容(详见 CHANGELOG v1.6.10)
199
204
  - 新增 `skills/_meta/_compat/vendors.json` 作为 L2 Project Vendors 的单一事实源(id / priority / patterns / baseline / styles),`scanner/coverage.mjs` 启动时一次性编译 RegExp,零运行时开销
200
205
  - 新增 `wl-ui add-vendor <tag> [--family <id>] [--dry-run]` 脚手架命令:一键生成专项 SCSS、`@forward` 注册、`vendors.json` baseline 追加、scanner 规则草稿
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agile-team/wl-skills-ui",
3
- "version": "1.6.10",
3
+ "version": "1.6.13",
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",
@@ -129,4 +129,4 @@
129
129
  "eslint --fix --no-cache"
130
130
  ]
131
131
  }
132
- }
132
+ }
@@ -21,6 +21,8 @@
21
21
  align-items: center;
22
22
  justify-content: center;
23
23
  flex-wrap: nowrap;
24
+ width: 100%;
25
+ min-width: 0;
24
26
  }
25
27
 
26
28
  // ── 第一层:纯图标按钮(26×26px,hover 变语义色)──────────────────────────
@@ -40,7 +42,9 @@
40
42
  flex-shrink: 0;
41
43
 
42
44
  svg { width: 14px; height: 14px; }
43
- &:active { opacity: 0.6; transform: scale(0.92); }
45
+ &:active {
46
+ opacity: 0.6;
47
+ }
44
48
 
45
49
  // 查看 — hover 蓝
46
50
  &.jh-op-view {
@@ -141,7 +145,9 @@
141
145
  background: rgba(34, 84, 244, 0.10);
142
146
  color: var(--el-color-primary, #2254f4);
143
147
  }
144
- &:active { opacity: 0.65; transform: scale(0.96); }
148
+ &:active {
149
+ opacity: 0.65;
150
+ }
145
151
  }
146
152
 
147
153
  // ── 第三层:文字按钮(业务专属长名称)────────────────────────────────────────
@@ -193,17 +199,17 @@
193
199
  background: var(--el-color-danger) !important;
194
200
  color: #fff !important;
195
201
  }
196
-
202
+
197
203
  &.el-tag--warning {
198
204
  background: var(--el-color-warning) !important;
199
205
  color: #fff !important;
200
206
  }
201
-
207
+
202
208
  &.el-tag--success {
203
209
  background: var(--el-color-success) !important;
204
210
  color: #fff !important;
205
211
  }
206
-
212
+
207
213
  &.el-tag--info {
208
214
  background: var(--el-color-primary) !important;
209
215
  color: #fff !important;
@@ -283,22 +289,22 @@
283
289
  background: rgba(43, 178, 104, 0.12);
284
290
  color: var(--el-color-success);
285
291
  }
286
-
292
+
287
293
  &--warning {
288
294
  background: rgba(234, 154, 19, 0.12);
289
295
  color: var(--el-color-warning);
290
296
  }
291
-
297
+
292
298
  &--danger {
293
299
  background: rgba(187, 45, 63, 0.12);
294
300
  color: var(--el-color-danger);
295
301
  }
296
-
302
+
297
303
  &--info {
298
304
  background: rgba(34, 84, 244, 0.10);
299
305
  color: var(--el-color-primary);
300
306
  }
301
-
307
+
302
308
  &--default {
303
309
  background: rgba(34, 84, 244, 0.10);
304
310
  color: var(--el-color-primary);
@@ -329,6 +335,24 @@
329
335
  }
330
336
  }
331
337
 
338
+ .ag-row-selected {
339
+
340
+ .jh-op-btn,
341
+ .jh-op-chip,
342
+ .jh-op-link {
343
+ background-color: rgba(255, 255, 255, 0.65);
344
+ color: var(--el-color-primary, #2254f4);
345
+ }
346
+
347
+ .jh-op-del {
348
+ color: var(--el-color-danger, #f5222d);
349
+ }
350
+
351
+ .jh-op-edit,
352
+ .jh-op-ok {
353
+ color: var(--el-color-success, #2bb268);
354
+ }
355
+ }
332
356
  // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
333
357
  // FullScreenDialog — 全屏/关闭按钮尺寸对齐 + 弹窗底部按钮风格
334
358
  // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -455,6 +479,76 @@
455
479
  }
456
480
  }
457
481
 
482
+ .el-input__wrapper,
483
+ .el-select .el-input__wrapper,
484
+ .el-select__wrapper,
485
+ .el-date-editor.el-input__wrapper,
486
+ .el-textarea__inner {
487
+ border-radius: 6px !important;
488
+ transition: box-shadow 0.15s ease, border-color 0.15s ease;
489
+ }
490
+
491
+ .el-input__wrapper.is-focus,
492
+ .el-input__wrapper:focus-within,
493
+ .el-select__wrapper.is-focus,
494
+ .el-select__wrapper.is-focused,
495
+ .el-select__wrapper:focus-within,
496
+ .el-date-editor.el-input__wrapper.is-focus,
497
+ .el-date-editor.el-input__wrapper:focus-within,
498
+ .el-textarea__inner:focus {
499
+ box-shadow: 0 0 0 1.5px var(--el-color-primary, #2254f4) inset !important;
500
+ }
501
+
502
+ .el-form-item__label,
503
+ .base-query-box .el-form-item__label,
504
+ [class*='base-form'] .el-form-item__label {
505
+ white-space: nowrap;
506
+ overflow: hidden;
507
+ text-overflow: ellipsis;
508
+ word-break: keep-all;
509
+ }
510
+
511
+ .el-form-item.is-required:not(.is-no-asterisk).asterisk-left > .el-form-item__label::before,
512
+ .el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label::after,
513
+ .el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label::before,
514
+ .el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label::after {
515
+ color: var(--el-color-danger, #f56c6c) !important;
516
+ display: inline-block !important;
517
+ }
518
+
519
+ .el-form-item.is-error {
520
+ .el-form-item__label,
521
+ .el-form-item__error {
522
+ color: var(--el-color-danger, #f56c6c) !important;
523
+ }
524
+
525
+ .el-input__wrapper,
526
+ .el-select__wrapper,
527
+ .el-date-editor.el-input__wrapper,
528
+ .el-textarea__inner {
529
+ box-shadow: 0 0 0 1px var(--el-color-danger, #f56c6c) inset !important;
530
+ }
531
+ }
532
+
533
+ .header .svg-icon,
534
+ .el-dialog__header .svg-icon {
535
+ display: inline-flex !important;
536
+ align-items: center !important;
537
+ justify-content: center !important;
538
+ width: 24px !important;
539
+ height: 24px !important;
540
+ font-size: 14px !important;
541
+ line-height: 1 !important;
542
+ flex: 0 0 24px !important;
543
+ border-radius: 6px !important;
544
+ transform: none !important;
545
+ }
546
+
547
+ .header .svg-icon svg,
548
+ .el-dialog__header .svg-icon svg {
549
+ width: 14px !important;
550
+ height: 14px !important;
551
+ }
458
552
  // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
459
553
  // MenuDivider 分区标题分割线 — 颜色 Token 化
460
554
  // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -262,6 +262,57 @@
262
262
  font-weight: 500;
263
263
  }
264
264
 
265
+ .base-toolbar-box .el-button-group {
266
+ display: inline-flex !important;
267
+ align-items: center !important;
268
+ vertical-align: middle !important;
269
+
270
+ .el-button {
271
+ border-radius: 0 !important;
272
+ margin: 0 !important;
273
+ }
274
+
275
+ .el-button:first-child {
276
+ border-top-left-radius: 6px !important;
277
+ border-bottom-left-radius: 6px !important;
278
+ }
279
+
280
+ .el-button:last-child {
281
+ border-top-right-radius: 6px !important;
282
+ border-bottom-right-radius: 6px !important;
283
+ margin-left: -1px !important;
284
+ }
285
+ }
286
+
287
+ .base-toolbar-box .el-dropdown,
288
+ .base-toolbar-box .action-button-wrap .el-dropdown,
289
+ .base-toolbar-box .action-button-wrap .el-button-group {
290
+ display: inline-flex !important;
291
+ align-items: center !important;
292
+ margin: 0 !important;
293
+ }
294
+
295
+ .el-dropdown-menu .el-dropdown-menu__item {
296
+ display: flex;
297
+ align-items: center;
298
+ gap: 6px;
299
+ min-height: 28px;
300
+ line-height: 1.3;
301
+ color: var(--el-text-color-regular, #606266);
302
+ }
303
+
304
+ .el-dropdown-menu .el-dropdown-menu__item:hover,
305
+ .el-dropdown-menu .el-dropdown-menu__item:focus {
306
+ color: var(--el-color-primary, #2254f4) !important;
307
+ background-color: rgba(34, 84, 244, 0.08) !important;
308
+ }
309
+
310
+ .el-dropdown-menu .el-dropdown-menu__item .el-icon,
311
+ .el-dropdown-menu .el-dropdown-menu__item svg {
312
+ color: currentColor !important;
313
+ fill: currentColor;
314
+ flex: 0 0 auto;
315
+ }
265
316
  // ── 弹窗/抽屉底部按钮行 ──────────────────────────────────────────────────────
266
317
  .dialog-footer .el-button {
267
318
  border-radius: 6px !important;