dsh-composer-ux 0.16.3 → 0.16.4

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
@@ -2,6 +2,27 @@
2
2
 
3
3
  本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
4
4
 
5
+ ## [0.16.4] — 2026-10-01(面板可以整块滚了:那排被切的按钮能划到)
6
+
7
+ 起因(用户原话):**「让这个页面可以滑动,使其一些按钮不被遮挡」**(截图里快捷指令/优化面板
8
+ 底部「优化提示词 / 手写优化 / 右键」那一排只露出上半截)。被问到时选择了**「整块面板一起滚」**。
9
+
10
+ 根因:面板根容器 `quickPanel` 是 `maxHeight: min(60vh, 520px)` + **`overflow: hidden`** ⇒ 内容一长
11
+ 直接裁掉;内层又有一套"结果框内容区自己滚"(`dockBody` 的 `overflowY: auto`)⇒ 双层结构,
12
+ 窗口一矮就把那排按钮切掉。
13
+
14
+ 改法(按用户选择,单一滚动条):
15
+
16
+ - `quickPanel`:`overflow: hidden` → `overflowY: auto` + `overflowX: hidden` + `overscrollBehavior: contain`;
17
+ - `dockBox`:`flex: 1 1 auto` / `minHeight: 0` / `overflow: hidden` → `flex: 0 0 auto` / `minHeight: auto` /
18
+ `overflow: visible`(按内容自然高度排,否则它把内容压进面板高度里、永远不溢出);
19
+ - `dockBody`:`overflowY: auto` → `visible`(内层再滚会出现双层滚动条)。
20
+
21
+ ## 验证
22
+
23
+ - `npm test`:**24 个套件 2384 passed / 0 failed**(把旧的「结果框内容区自己滚」那条守护断言
24
+ 换成了三条新断言:根容器统一滚、内层不再滚、结果框按自然高度)。
25
+
5
26
  ## [0.16.3] — 2026-10-01(真机验证通过:恢复框不再出现,窗口自己回来)
6
27
 
7
28
  用户实测(Windows 桌面版,此前每次重启都会弹「应用无法启动或已意外停止」):
package/README.md CHANGED
@@ -652,7 +652,7 @@ node build.mjs # 产出 lib/index.js + lib/client.js
652
652
  # ⚠️ 宿主半会**内联** schemastery / cosmokit:
653
653
  # 优先用 DSH 检出里的 vendor 副本,检出不在时退到 node_modules
654
654
  # 里同版本的 npm 包(两者逐字节相同)——CI 上走的就是退路
655
- npm test # 24 个套件;当前 2382 passed, 0 failed(2026-09-29 实测;CI 三平台同样全绿)
655
+ npm test # 24 个套件;当前 2384 passed, 0 failed(2026-09-29 实测;CI 三平台同样全绿)
656
656
  # 走 scripts/run-tests.mjs:顺带把"多少套件/多少条"记进 test/.last-run.json
657
657
  npm run test:mutations # 手动跑:变异测试,证明那套护栏真的在咬人(164 条,须单独跑)
658
658
  # 同样记录结果,供下面的文档门禁核对
package/lib/client.js CHANGED
@@ -2760,7 +2760,11 @@ var quickPanel = {
2760
2760
  boxShadow: "var(--dsw-elevation-prominent)",
2761
2761
  "--dsw-elevation-stroke-color": "var(--dsw-alias-border-l1)",
2762
2762
  pointerEvents: "auto",
2763
- overflow: "hidden"
2763
+ // 0.16.4(用户原话「让这个页面可以滑动,使其一些按钮不被遮挡」):**整块面板一起滚** ——
2764
+ // 之前这里是 `overflow: hidden`,把超出 60vh 的内容(含结果框那排按钮)直接裁掉。
2765
+ overflowY: "auto",
2766
+ overflowX: "hidden",
2767
+ overscrollBehavior: "contain"
2764
2768
  };
2765
2769
  var quickPanelHead = {
2766
2770
  padding: "10px 12px 8px",
@@ -2954,10 +2958,11 @@ var quickCategoryAdd = {
2954
2958
  cursor: "pointer"
2955
2959
  };
2956
2960
  var dockBox = {
2957
- // 撑满中部容器(`minHeight: 0` 是关键:否则弹性子项按内容高度撑,又会被裁)。
2958
- flex: "1 1 auto",
2959
- minHeight: 0,
2960
- overflow: "hidden",
2961
+ // 0.16.4:整块面板滚动之后,这里改为**按内容自然高度**排(不再 flex 撑满、不再自己裁),
2962
+ // 否则它会把内容压缩到面板高度内,滚动条永远等不到溢出。
2963
+ flex: "0 0 auto",
2964
+ minHeight: "auto",
2965
+ overflow: "visible",
2961
2966
  display: "flex",
2962
2967
  flexDirection: "column",
2963
2968
  gap: 6,
@@ -2972,7 +2977,8 @@ var dockBody = {
2972
2977
  display: "flex",
2973
2978
  flexDirection: "column",
2974
2979
  gap: 6,
2975
- overflowY: "auto"
2980
+ // 0.16.4:交给根容器统一滚(内层再滚会出现双层滚动条)。
2981
+ overflowY: "visible"
2976
2982
  };
2977
2983
  var dockButtonsPinned = {
2978
2984
  flex: "0 0 auto"