dsh-life-pack 0.3.39 → 0.3.41

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.
Files changed (51) hide show
  1. package/dist/client.js +3825 -2176
  2. package/dist/client.js.map +1 -1
  3. package/dist/config-panel-contract.d.ts +84 -2
  4. package/dist/config-panel-contract.d.ts.map +1 -1
  5. package/dist/config-panel-contract.js +84 -2
  6. package/dist/config-panel-contract.js.map +1 -1
  7. package/dist/config-panel-view.d.ts +11 -0
  8. package/dist/config-panel-view.d.ts.map +1 -1
  9. package/dist/config-panel-view.js +147 -16
  10. package/dist/config-panel-view.js.map +1 -1
  11. package/dist/config-panel.js +1 -1
  12. package/dist/config-panel.js.map +1 -1
  13. package/dist/directory-browser-parts.d.ts.map +1 -1
  14. package/dist/directory-browser-parts.js +39 -2
  15. package/dist/directory-browser-parts.js.map +1 -1
  16. package/dist/directory-browser-ui.d.ts.map +1 -1
  17. package/dist/directory-browser-ui.js +65 -6
  18. package/dist/directory-browser-ui.js.map +1 -1
  19. package/dist/health-fetch.d.ts +3 -3
  20. package/dist/health-fetch.d.ts.map +1 -1
  21. package/dist/health-view.d.ts.map +1 -1
  22. package/dist/health-view.js +8 -1
  23. package/dist/health-view.js.map +1 -1
  24. package/dist/index.d.ts +16 -4
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +37 -30
  27. package/dist/index.js.map +1 -1
  28. package/dist/seal-scroll.d.ts +6 -2
  29. package/dist/seal-scroll.d.ts.map +1 -1
  30. package/dist/seal-scroll.js +35 -16
  31. package/dist/seal-scroll.js.map +1 -1
  32. package/dist/seal-stamp.d.ts.map +1 -1
  33. package/dist/seal-stamp.js +4 -2
  34. package/dist/seal-stamp.js.map +1 -1
  35. package/dist/update-batch.d.ts +17 -0
  36. package/dist/update-batch.d.ts.map +1 -0
  37. package/dist/update-batch.js +84 -0
  38. package/dist/update-batch.js.map +1 -0
  39. package/dist/update-contract.d.ts +4 -63
  40. package/dist/update-contract.d.ts.map +1 -1
  41. package/dist/update-contract.js +9 -95
  42. package/dist/update-contract.js.map +1 -1
  43. package/dist/update-dialog.d.ts +17 -0
  44. package/dist/update-dialog.d.ts.map +1 -0
  45. package/dist/update-dialog.js +58 -0
  46. package/dist/update-dialog.js.map +1 -0
  47. package/dist/update-targets.d.ts +2 -7
  48. package/dist/update-targets.d.ts.map +1 -1
  49. package/dist/update-targets.js +5 -11
  50. package/dist/update-targets.js.map +1 -1
  51. package/package.json +2 -2
@@ -73,8 +73,90 @@ export declare const READ_TIMEOUT_MS: 20000;
73
73
  *
74
74
  * 有界、调用方负责卸载清理(见 `config-panel.ts` 的取数),不是无界轮询;仅读整面用,保存/重置永不自动重试。 */
75
75
  export declare const CONFIG_READ_RETRY_MS: readonly number[];
76
- /** 复制那一枚按钮就地变「已复制」之后,多久变回「复制」(定稿 v3 第三条:1.5 秒,不弹提示)。 */
77
- export declare const COPY_FEEDBACK_MS: 1500;
76
+ /** 复制那一枚按钮就地变「已复制」之后,多久变回「复制」(定稿 v3 第三条:终值 900ms,不弹提示)。
77
+ *
78
+ * #1162 差值终结:由现状 1500 切到终值 900(真相源 #1159 参数表+原型 `},900)`);老期望变红属预期,见 #1162。 */
79
+ export declare const COPY_FEEDBACK_MS: 900;
80
+ /** T1 交互 tokens(#1160,唯一定义地,真相源 #1159 参数表)。
81
+ *
82
+ * 按压 .97、焦点隔离 2px+主题色 5px、过渡 .15s——取值逐字照原型 V1
83
+ *(`.scratch/1155-real-panel-prototype.html`:`btn:active{transform:scale(.97)}`、
84
+ * `btn:focus-visible{box-shadow:0 0 0 2px #0b0b0d,0 0 0 5px var(--focus)}`、
85
+ * 主题橙 #f6ad55/蓝 #0a84ff/绿 #30d158、过渡 background/transform/box-shadow/border-color 各 .15s)。
86
+ *
87
+ * 颜色全走主题变量、永不写死蓝:隔离环取卡面底(深浅自适应),焦点环取
88
+ * `--ilife-focus`(缺席时退到宿主品牌色,宿主品牌色本身跟主题走)。
89
+ * 悬停/长按/折叠/复制变勾/提示/液态归后票,本件只定按压与焦点四格。 */
90
+ export declare const PRESS_SCALE: 0.97;
91
+ export declare const FOCUS_RING_GAP_PX: 2;
92
+ export declare const FOCUS_RING_WIDTH_PX: 5;
93
+ export declare const INTERACTION_TRANSITION: "background .15s ease,transform .15s ease,box-shadow .15s ease,border-color .15s ease";
94
+ /** T2 指针与按住 tokens(#1161,唯一定义地,真相源 #1159 参数表+原型 V1)。
95
+ *
96
+ * 悬停:聚光半径 120、淡洗 13%、辉光内圈 55%+外发光 25%、上浮 1px——逐字照原型 V1
97
+ *(`.scratch/1155-real-panel-prototype.html`:`.btn:hover{background:color-mix(…13%…);…box-shadow:0 0 0 1px …55%…,0 4px 16px …25%…;transform:translateY(-1px)}`、
98
+ * `::before{background:radial-gradient(120px circle at var(--mx) var(--my),…22%…,transparent 65%)}`)。
99
+ * 页签 12%/高级行 10%不归本票(页签见 #1165,高级见 #1162),这里只定按钮 13% 一档。
100
+ *
101
+ * 禁用:摇头 ±2px/.3s、禁止指针、不透明度 .4——照原型(`shakeV1`+`.btn:disabled{cursor:not-allowed;opacity:.4}`)。
102
+ *
103
+ * 长按:500ms 纯视觉环(底边 3px 主题色条,`:active` 驱动 0→100%,永不触发动作、不进状态机分支)+
104
+ * 回弹(沿用 T1 按压释放 .15s 回弹,不另起回弹曲线)。原型环色 `#30d158` 在生产侧换成主题变量。
105
+ *
106
+ * 颜色全走主题变量、永不写死蓝:悬停/辉光/聚光/环一律取 `--ilife-focus` 退品牌色。
107
+ * 触屏降级与减少动态无静态常量(媒体查询即定义,见视图 `interactionCss`)。 */
108
+ export declare const HOVER_SPOTLIGHT_RADIUS_PX: 120;
109
+ export declare const HOVER_WASH_PERCENT: 13;
110
+ export declare const HOVER_GLOW_EDGE_PERCENT: 55;
111
+ export declare const HOVER_GLOW_SOFT_PERCENT: 25;
112
+ export declare const HOVER_LIFT_PX: 1;
113
+ export declare const SPOTLIGHT_PEAK_PERCENT: 22;
114
+ export declare const SPOTLIGHT_FADE_MS: 180;
115
+ export declare const DISABLED_OPACITY: 0.4;
116
+ export declare const DISABLED_SHAKE_MS: 300;
117
+ export declare const LONGPRESS_MS: 500;
118
+ export declare const LONGPRESS_RING_HEIGHT_PX: 3;
119
+ /** T3 展开与结果 tokens(#1162,唯一定义地,真相源 #1159 参数表+原型 V1)。
120
+ *
121
+ * 高级组:220ms 分级展开(`.advbody{transition:max-height .22s ease,opacity .22s ease}`,
122
+ * 开态 cap 300px 即 `.open{max-height:300px;opacity:1}`;原生 details 开关离散、过渡跑不起来,
123
+ * 故生产侧取等价形态 `ilifeFoldIn` 关键帧 0→300+0→1 同 .22s)+箭头旋转
124
+ * (`.chev{transition:transform .2s}`、开态 `rotate(90deg)`)+悬停箭头右移 2px 并跟焦点色
125
+ * (`:hover .chev{translateX(2px)}`)。页签 12%/按钮 13% 淡洗各归其票,这里只定高级头。
126
+ *
127
+ * 轻提示:渐显 .18s(`.toast{transition:opacity .18s ease,transform .18s ease}`,
128
+ * 入场位移 8px 即 `translateY(8px)→0`;生产侧 `notice` 条件挂载,进场即跑 `ilifeToastIn`)。
129
+ *
130
+ * 复制变勾只切时长(字面「已复制」由 #920/#908 锁死不改,见 #1162 进展)。
131
+ * 液态拉伸影子消散与时长公式归 #1165(本工作区已落地 LIQUID_*,本票不另起第二套);
132
+ * 低端机模糊降级无静态常量(`@media (update: slow)` 即定义,见两处 CSS 函数尾部)。
133
+ * 颜色全走主题变量、永不写死蓝。 */
134
+ export declare const ADVANCED_OPEN_MS: 220;
135
+ export declare const ADVANCED_CHEV_MS: 200;
136
+ export declare const ADVANCED_CHEV_SHIFT_PX: 2;
137
+ export declare const ADVANCED_OPEN_MAX_PX: 300;
138
+ export declare const NOTICE_FADE_MS: 180;
139
+ export declare const NOTICE_RISE_PX: 8;
140
+ /** T6 页签与液态 tokens(#1165,唯一定义地,真相源 #1159 参数表+原型 V1)。
141
+ *
142
+ * 页签悬停淡洗 12%(原型 V1 `.tab:hover{background:color-mix(…12%…)}`,按钮 13% 不串用);
143
+ * 圆点呼吸 .8s(`dotPulseV1`:scale 1→1.5、opacity 1→.6,悬停驱动);
144
+ * 液态彗星式:拉伸 1.28/.86(45% 处)+影子 180ms 消散(ghost opacity .18s),
145
+ * 滑移时长 200+距离×0.35、夹 220–380ms、缓动 cubic-bezier(.3,1.1,.4,1)(原型 `liquidTo` 原式);
146
+ * 页签过渡只 background+border-color 各 .15s(不带 transform:页签不收缩,滑移由 glider 走)。
147
+ * 颜色全走主题变量(`--ilife-focus` 退品牌色、缺席退橙,永不写死蓝);触屏/减少动态无静态常量(媒体查询即定义,见视图 `tabInteractionCss`)。
148
+ * 共用位第二个用法:配置面板按钮(T1/T2)+爱生活页签条(本票)共用同一契约。 */
149
+ export declare const TAB_HOVER_WASH_PERCENT: 12;
150
+ export declare const TAB_DOT_PULSE_MS: 800;
151
+ export declare const TAB_TRANSITION: "background .15s ease,border-color .15s ease";
152
+ export declare const LIQUID_STRETCH_X: 1.28;
153
+ export declare const LIQUID_STRETCH_Y: 0.86;
154
+ export declare const LIQUID_GHOST_MS: 180;
155
+ export declare const LIQUID_MIN_MS: 220;
156
+ export declare const LIQUID_MAX_MS: 380;
157
+ export declare const LIQUID_BASE_MS: 200;
158
+ export declare const LIQUID_DIST_FACTOR: 0.35;
159
+ export declare const LIQUID_EASE: "cubic-bezier(.3,1.1,.4,1)";
78
160
  /** 宿主给「这是哪一种目录选择能力」时用的那两格原语的名字(软依赖:按名字现取,缺席即没有入口)。 */
79
161
  export declare const REMOTE_DIRECTORY_PICKER: "remote.directoryPicker";
80
162
  /** 宿主在「这条路不给」时回的那个码(`directory-browser-state` 的 `openRowBrowser` 只照比不认名)。 */
@@ -1 +1 @@
1
- {"version":3,"file":"config-panel-contract.d.ts","sourceRoot":"","sources":["../src/config-panel-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-panel-contract.d.ts","sourceRoot":"","sources":["../src/config-panel-contract.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,90 @@ export const READ_TIMEOUT_MS = 20_000;
24
24
  *
25
25
  * 有界、调用方负责卸载清理(见 `config-panel.ts` 的取数),不是无界轮询;仅读整面用,保存/重置永不自动重试。 */
26
26
  export const CONFIG_READ_RETRY_MS = [1000, 3000, 8000];
27
- /** 复制那一枚按钮就地变「已复制」之后,多久变回「复制」(定稿 v3 第三条:1.5 秒,不弹提示)。 */
28
- export const COPY_FEEDBACK_MS = 1500;
27
+ /** 复制那一枚按钮就地变「已复制」之后,多久变回「复制」(定稿 v3 第三条:终值 900ms,不弹提示)。
28
+ *
29
+ * #1162 差值终结:由现状 1500 切到终值 900(真相源 #1159 参数表+原型 `},900)`);老期望变红属预期,见 #1162。 */
30
+ export const COPY_FEEDBACK_MS = 900;
31
+ /** T1 交互 tokens(#1160,唯一定义地,真相源 #1159 参数表)。
32
+ *
33
+ * 按压 .97、焦点隔离 2px+主题色 5px、过渡 .15s——取值逐字照原型 V1
34
+ *(`.scratch/1155-real-panel-prototype.html`:`btn:active{transform:scale(.97)}`、
35
+ * `btn:focus-visible{box-shadow:0 0 0 2px #0b0b0d,0 0 0 5px var(--focus)}`、
36
+ * 主题橙 #f6ad55/蓝 #0a84ff/绿 #30d158、过渡 background/transform/box-shadow/border-color 各 .15s)。
37
+ *
38
+ * 颜色全走主题变量、永不写死蓝:隔离环取卡面底(深浅自适应),焦点环取
39
+ * `--ilife-focus`(缺席时退到宿主品牌色,宿主品牌色本身跟主题走)。
40
+ * 悬停/长按/折叠/复制变勾/提示/液态归后票,本件只定按压与焦点四格。 */
41
+ export const PRESS_SCALE = 0.97;
42
+ export const FOCUS_RING_GAP_PX = 2;
43
+ export const FOCUS_RING_WIDTH_PX = 5;
44
+ export const INTERACTION_TRANSITION = 'background .15s ease,transform .15s ease,box-shadow .15s ease,border-color .15s ease';
45
+ /** T2 指针与按住 tokens(#1161,唯一定义地,真相源 #1159 参数表+原型 V1)。
46
+ *
47
+ * 悬停:聚光半径 120、淡洗 13%、辉光内圈 55%+外发光 25%、上浮 1px——逐字照原型 V1
48
+ *(`.scratch/1155-real-panel-prototype.html`:`.btn:hover{background:color-mix(…13%…);…box-shadow:0 0 0 1px …55%…,0 4px 16px …25%…;transform:translateY(-1px)}`、
49
+ * `::before{background:radial-gradient(120px circle at var(--mx) var(--my),…22%…,transparent 65%)}`)。
50
+ * 页签 12%/高级行 10%不归本票(页签见 #1165,高级见 #1162),这里只定按钮 13% 一档。
51
+ *
52
+ * 禁用:摇头 ±2px/.3s、禁止指针、不透明度 .4——照原型(`shakeV1`+`.btn:disabled{cursor:not-allowed;opacity:.4}`)。
53
+ *
54
+ * 长按:500ms 纯视觉环(底边 3px 主题色条,`:active` 驱动 0→100%,永不触发动作、不进状态机分支)+
55
+ * 回弹(沿用 T1 按压释放 .15s 回弹,不另起回弹曲线)。原型环色 `#30d158` 在生产侧换成主题变量。
56
+ *
57
+ * 颜色全走主题变量、永不写死蓝:悬停/辉光/聚光/环一律取 `--ilife-focus` 退品牌色。
58
+ * 触屏降级与减少动态无静态常量(媒体查询即定义,见视图 `interactionCss`)。 */
59
+ export const HOVER_SPOTLIGHT_RADIUS_PX = 120;
60
+ export const HOVER_WASH_PERCENT = 13;
61
+ export const HOVER_GLOW_EDGE_PERCENT = 55;
62
+ export const HOVER_GLOW_SOFT_PERCENT = 25;
63
+ export const HOVER_LIFT_PX = 1;
64
+ export const SPOTLIGHT_PEAK_PERCENT = 22;
65
+ export const SPOTLIGHT_FADE_MS = 180;
66
+ export const DISABLED_OPACITY = 0.4;
67
+ export const DISABLED_SHAKE_MS = 300;
68
+ export const LONGPRESS_MS = 500;
69
+ export const LONGPRESS_RING_HEIGHT_PX = 3;
70
+ /** T3 展开与结果 tokens(#1162,唯一定义地,真相源 #1159 参数表+原型 V1)。
71
+ *
72
+ * 高级组:220ms 分级展开(`.advbody{transition:max-height .22s ease,opacity .22s ease}`,
73
+ * 开态 cap 300px 即 `.open{max-height:300px;opacity:1}`;原生 details 开关离散、过渡跑不起来,
74
+ * 故生产侧取等价形态 `ilifeFoldIn` 关键帧 0→300+0→1 同 .22s)+箭头旋转
75
+ * (`.chev{transition:transform .2s}`、开态 `rotate(90deg)`)+悬停箭头右移 2px 并跟焦点色
76
+ * (`:hover .chev{translateX(2px)}`)。页签 12%/按钮 13% 淡洗各归其票,这里只定高级头。
77
+ *
78
+ * 轻提示:渐显 .18s(`.toast{transition:opacity .18s ease,transform .18s ease}`,
79
+ * 入场位移 8px 即 `translateY(8px)→0`;生产侧 `notice` 条件挂载,进场即跑 `ilifeToastIn`)。
80
+ *
81
+ * 复制变勾只切时长(字面「已复制」由 #920/#908 锁死不改,见 #1162 进展)。
82
+ * 液态拉伸影子消散与时长公式归 #1165(本工作区已落地 LIQUID_*,本票不另起第二套);
83
+ * 低端机模糊降级无静态常量(`@media (update: slow)` 即定义,见两处 CSS 函数尾部)。
84
+ * 颜色全走主题变量、永不写死蓝。 */
85
+ export const ADVANCED_OPEN_MS = 220;
86
+ export const ADVANCED_CHEV_MS = 200;
87
+ export const ADVANCED_CHEV_SHIFT_PX = 2;
88
+ export const ADVANCED_OPEN_MAX_PX = 300;
89
+ export const NOTICE_FADE_MS = 180;
90
+ export const NOTICE_RISE_PX = 8;
91
+ /** T6 页签与液态 tokens(#1165,唯一定义地,真相源 #1159 参数表+原型 V1)。
92
+ *
93
+ * 页签悬停淡洗 12%(原型 V1 `.tab:hover{background:color-mix(…12%…)}`,按钮 13% 不串用);
94
+ * 圆点呼吸 .8s(`dotPulseV1`:scale 1→1.5、opacity 1→.6,悬停驱动);
95
+ * 液态彗星式:拉伸 1.28/.86(45% 处)+影子 180ms 消散(ghost opacity .18s),
96
+ * 滑移时长 200+距离×0.35、夹 220–380ms、缓动 cubic-bezier(.3,1.1,.4,1)(原型 `liquidTo` 原式);
97
+ * 页签过渡只 background+border-color 各 .15s(不带 transform:页签不收缩,滑移由 glider 走)。
98
+ * 颜色全走主题变量(`--ilife-focus` 退品牌色、缺席退橙,永不写死蓝);触屏/减少动态无静态常量(媒体查询即定义,见视图 `tabInteractionCss`)。
99
+ * 共用位第二个用法:配置面板按钮(T1/T2)+爱生活页签条(本票)共用同一契约。 */
100
+ export const TAB_HOVER_WASH_PERCENT = 12;
101
+ export const TAB_DOT_PULSE_MS = 800;
102
+ export const TAB_TRANSITION = 'background .15s ease,border-color .15s ease';
103
+ export const LIQUID_STRETCH_X = 1.28;
104
+ export const LIQUID_STRETCH_Y = 0.86;
105
+ export const LIQUID_GHOST_MS = 180;
106
+ export const LIQUID_MIN_MS = 220;
107
+ export const LIQUID_MAX_MS = 380;
108
+ export const LIQUID_BASE_MS = 200;
109
+ export const LIQUID_DIST_FACTOR = 0.35;
110
+ export const LIQUID_EASE = 'cubic-bezier(.3,1.1,.4,1)';
29
111
  /** 宿主给「这是哪一种目录选择能力」时用的那两格原语的名字(软依赖:按名字现取,缺席即没有入口)。 */
30
112
  export const REMOTE_DIRECTORY_PICKER = 'remote.directoryPicker';
31
113
  /** 宿主在「这条路不给」时回的那个码(`directory-browser-state` 的 `openRowBrowser` 只照比不认名)。 */
@@ -1 +1 @@
1
- {"version":3,"file":"config-panel-contract.js","sourceRoot":"","sources":["../src/config-panel-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAwDH,sDAAsD;AACtD,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAqB,CAAC;AAC7D,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAsB,CAAC;AAC/D,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAuB,CAAC;AAEjE;;;;gEAIgE;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAa,CAAC;AAElD,gDAAgD;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAe,CAAC;AAE/C;;qEAEqE;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE1E,wDAAwD;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAa,CAAC;AAE9C,sDAAsD;AACtD,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAiC,CAAC;AAEzE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,wBAAwB,GAAG,8BAAuC,CAAC;AAahF,+BAA+B;AAC/B,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1D,OAAQ,GAAwB,CAAC,EAAE,KAAK,IAAI,IAAK,GAAwB,CAAC,EAAE,KAAK,KAAK,CAAC;AACzF,CAAC"}
1
+ {"version":3,"file":"config-panel-contract.js","sourceRoot":"","sources":["../src/config-panel-contract.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,17 @@ import type { ConfigItem, ConfigSurfaceReply } from './config-panel-contract.js'
36
36
  import type { DirectoryRowBrowser } from './directory-browser-state.js';
37
37
  import type { DirectoryRowEntry } from './directory-browser-api.js';
38
38
  import type { SealInstance } from './config-panel-contract.js';
39
+ export declare function interactionCss(): string;
40
+ /** T6 页签条交互(#1165,唯一生成处;载体 `client.ts` 页签条消费,不自画)。
41
+ *
42
+ * 原型 V1 页签四件:悬停淡洗 12%+辉光边框(无上浮、无聚光,按钮那套不串用)、圆点呼吸 .8s
43
+ *(悬停驱动,scale 1→1.5/opacity 1→.6)、焦点双环(沿用 T1 2px+5px,跟主题色,同色页签可见)、
44
+ * 选中态透明(glider 在下层给 pill,页签自身透明;减少动态时 CSS 以 !important 回实心 pill)。
45
+ * 液态彗星式由载体 `liquidTo` 驱动(拉伸+影子消散+时长公式见契约 T6 tokens),本函数只出静态层:
46
+ * glider-layer 定位+goo 滤镜引用、ghost 影子过渡(180ms)、glider/ghost 底色(主题变量)。
47
+ * 数值全引契约 T6 四格(淡洗/呼吸/过渡/影子),颜色永不写死蓝(缺席退橙 #f6ad55)。
48
+ * 低端机模糊降级(#1162):update: slow 下 glider 层(含 goo 模糊)关闭、选中态回实心 pill(与减少动态同形)。 */
49
+ export declare function tabInteractionCss(): string;
39
50
  declare const S: {
40
51
  /** `.ic-card`:`background:var(--ic-surface)`(=bg-layer-1)+`border:1px solid var(--ic-line-strong)`
41
52
  * +`border-radius:12px`+`padding:14px`+`box-shadow:inset 0 1px 0 rgba(255,255,255,.06)`。
@@ -1 +1 @@
1
- {"version":3,"file":"config-panel-view.d.ts","sourceRoot":"","sources":["../src/config-panel-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-panel-view.d.ts","sourceRoot":"","sources":["../src/config-panel-view.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@
32
32
  * 对外只经 `config-panel-api.ts` 那一道门;本件自己不出门。
33
33
  */
34
34
  import * as React from 'react';
35
- import { ADVANCED_GROUP_TITLE } from './config-panel-contract.js';
35
+ import { ADVANCED_CHEV_MS, ADVANCED_CHEV_SHIFT_PX, ADVANCED_GROUP_TITLE, ADVANCED_OPEN_MAX_PX, ADVANCED_OPEN_MS, DISABLED_OPACITY, DISABLED_SHAKE_MS, FOCUS_RING_GAP_PX, FOCUS_RING_WIDTH_PX, HOVER_GLOW_EDGE_PERCENT, HOVER_GLOW_SOFT_PERCENT, HOVER_LIFT_PX, HOVER_SPOTLIGHT_RADIUS_PX, HOVER_WASH_PERCENT, INTERACTION_TRANSITION, LIQUID_GHOST_MS, LONGPRESS_MS, LONGPRESS_RING_HEIGHT_PX, NOTICE_FADE_MS, NOTICE_RISE_PX, PRESS_SCALE, SPOTLIGHT_FADE_MS, SPOTLIGHT_PEAK_PERCENT, TAB_DOT_PULSE_MS, TAB_HOVER_WASH_PERCENT, TAB_TRANSITION } from './config-panel-contract.js';
36
36
  import { DirectoryBrowserFromRow } from './directory-browser-ui.js';
37
37
  import { TitleBlock } from './title-seal.js';
38
38
  import { SealStamp } from './seal-stamp.js';
@@ -61,6 +61,109 @@ const PANEL_SUNKEN_FILL = inkMix(9, 'var(--dsw-alias-bg-layer-1, #232324)');
61
61
  const PANEL_FIELD_EDGE = inkMix(24);
62
62
  /** 骨架条:浅色 ≈`#c9ccd2`(1.6:1)⇔ 深色 ≈`#404143`。 */
63
63
  const PANEL_SKELETON_FILL = inkMix(21);
64
+ /** T1 按压与焦点(#1160):原型 V1 的两个真实行为,样式只此一处生成。
65
+ *
66
+ * 用法:按钮加 `data-ilife-press`(按压+焦点双环),输入框加 `data-ilife-focus`
67
+ *(仅焦点双环,文本框不收缩)。`PanelBody` 在卡片首位挂一枚 `<style>`,选择器按属性名收敛、
68
+ * 只罩本卡内的这两类,不漏到宿主别的按钮上。数值全引契约四格(按压/隔离/宽度/过渡),
69
+ * 颜色全走主题变量(隔离环取卡面底,焦点环取 `--ilife-focus` 退品牌色,永不写死蓝)。
70
+ * 悬停/长按/折叠/复制变勾/提示/液态归后票,本函数只出按压与焦点。
71
+ *
72
+ * T2 追加(#1161):悬停聚光+淡洗+辉光+上浮、禁用摇头+禁止指针、长按 500ms 纯视觉环+回弹、
73
+ * 无障碍三约束(触屏降级、键盘焦点可见、减少动态静态替代)——数值全引契约 T2 十格,详见函数内注释。
74
+ *
75
+ * T3 追加(#1162):高级折叠(220ms 分级入场+箭头旋转 200ms+悬停右移 2px)+轻提示渐显
76
+ * (180ms 上浮 8px)+低端机(update: slow)静态兜底——数值全引契约 T3 六格;
77
+ * 液态拉伸影子消散归 #1165(本函数不动页签,页签静态层见 tabInteractionCss)。 */
78
+ // T2 焦点色变量(与 T1 行内字面逐字同值;T1 那一行保持字面不变——像素脚本按源码窗口断言它,改动会误报)。
79
+ const T2_FOCUS_VAR = 'var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55))';
80
+ export function interactionCss() {
81
+ return ('[data-ilife-press]{transition:' + INTERACTION_TRANSITION + '}' +
82
+ '[data-ilife-focus]{transition:' + INTERACTION_TRANSITION + '}' +
83
+ '[data-ilife-press]:active{transform:scale(' + String(PRESS_SCALE) + ')}' +
84
+ '[data-ilife-press]:focus-visible,[data-ilife-focus]:focus-visible{outline:none;' +
85
+ 'box-shadow:0 0 0 ' + String(FOCUS_RING_GAP_PX) + 'px var(--dsw-alias-bg-layer-1, #232324),' +
86
+ '0 0 0 ' + String(FOCUS_RING_WIDTH_PX) + 'px var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55))}' +
87
+ '[data-ilife-press]{position:relative;overflow:hidden}' +
88
+ '[data-ilife-press]:hover:not(:disabled){background:color-mix(in srgb, ' + T2_FOCUS_VAR + ' ' + String(HOVER_WASH_PERCENT) + '%, transparent);' +
89
+ 'border-color:' + T2_FOCUS_VAR + ';' +
90
+ 'box-shadow:0 0 0 1px color-mix(in srgb, ' + T2_FOCUS_VAR + ' ' + String(HOVER_GLOW_EDGE_PERCENT) + '%, transparent),' +
91
+ '0 4px 16px color-mix(in srgb, ' + T2_FOCUS_VAR + ' ' + String(HOVER_GLOW_SOFT_PERCENT) + '%, transparent);' +
92
+ 'transform:translateY(-' + String(HOVER_LIFT_PX) + 'px)}' +
93
+ '[data-ilife-press]:active:hover:not(:disabled){transform:scale(' + String(PRESS_SCALE) + ')}' +
94
+ '[data-ilife-press]:focus-visible:hover:not(:disabled){box-shadow:0 0 0 ' + String(FOCUS_RING_GAP_PX) + 'px var(--dsw-alias-bg-layer-1, #232324),' +
95
+ '0 0 0 ' + String(FOCUS_RING_WIDTH_PX) + 'px ' + T2_FOCUS_VAR + ',' +
96
+ '0 4px 16px color-mix(in srgb, ' + T2_FOCUS_VAR + ' ' + String(HOVER_GLOW_SOFT_PERCENT) + '%, transparent)}' +
97
+ '[data-ilife-press]::before{content:"";position:absolute;inset:0;' +
98
+ 'background:radial-gradient(' + String(HOVER_SPOTLIGHT_RADIUS_PX) + 'px circle at var(--mx,50%) var(--my,50%),' +
99
+ 'color-mix(in srgb, ' + T2_FOCUS_VAR + ' ' + String(SPOTLIGHT_PEAK_PERCENT) + '%, transparent),transparent 65%);' +
100
+ 'opacity:0;transition:opacity ' + String(SPOTLIGHT_FADE_MS / 1000) + 's ease;pointer-events:none}' +
101
+ '[data-ilife-press]:hover:not(:disabled)::before{opacity:1}' +
102
+ '[data-ilife-press]:disabled{cursor:not-allowed;opacity:' + String(DISABLED_OPACITY) + '}' +
103
+ '[data-ilife-press]:disabled:hover{animation:ilifeShake ' + String(DISABLED_SHAKE_MS / 1000) + 's ease}' +
104
+ '@keyframes ilifeShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}' +
105
+ '[data-ilife-longpress]{position:relative;overflow:hidden}' +
106
+ '[data-ilife-longpress]::after{content:"";position:absolute;left:0;bottom:0;height:' + String(LONGPRESS_RING_HEIGHT_PX) + 'px;width:0;' +
107
+ 'background:' + T2_FOCUS_VAR + ';pointer-events:none}' +
108
+ '[data-ilife-longpress]:active:not(:disabled)::after{animation:ilifeLongRing ' + String(LONGPRESS_MS / 1000) + 's linear forwards}' +
109
+ '@keyframes ilifeLongRing{from{width:0}to{width:100%}}' +
110
+ '[data-ilife-advanced="head"]{transition:' + INTERACTION_TRANSITION + '}' +
111
+ '[data-ilife-advanced="mark"]{display:inline-block;transition:transform ' + String(ADVANCED_CHEV_MS / 1000) + 's ease}' +
112
+ '[data-ilife-advanced="group"][open] [data-ilife-advanced="mark"]{transform:rotate(90deg)}' +
113
+ '[data-ilife-advanced="head"]:hover [data-ilife-advanced="mark"]{color:' + T2_FOCUS_VAR + ';transform:translateX(' + String(ADVANCED_CHEV_SHIFT_PX) + 'px)}' +
114
+ '[data-ilife-advanced="group"][open] [data-ilife-advanced="body"]{animation:ilifeFoldIn ' + String(ADVANCED_OPEN_MS / 1000) + 's ease}' +
115
+ '@keyframes ilifeFoldIn{from{max-height:0;opacity:0}to{max-height:' + String(ADVANCED_OPEN_MAX_PX) + 'px;opacity:1}}' +
116
+ '[data-ilife-notice="line"]{animation:ilifeToastIn ' + String(NOTICE_FADE_MS / 1000) + 's ease}' +
117
+ '@keyframes ilifeToastIn{from{opacity:0;transform:translateY(' + String(NOTICE_RISE_PX) + 'px)}to{opacity:1;transform:none}}' +
118
+ '@media (hover:none){[data-ilife-press]:hover:not(:disabled){transform:none}[data-ilife-press]::before{display:none}}' +
119
+ '@media (prefers-reduced-motion:reduce){[data-ilife-press],[data-ilife-focus]{transition:none}' +
120
+ '[data-ilife-press]:disabled:hover{animation:none}' +
121
+ '[data-ilife-longpress]:active:not(:disabled)::after{animation:none;width:100%}' +
122
+ '[data-ilife-advanced="mark"]{transition:none}' +
123
+ '[data-ilife-advanced="group"][open] [data-ilife-advanced="body"]{animation:none}' +
124
+ '[data-ilife-notice="line"]{animation:none}}' +
125
+ '@media (update: slow){[data-ilife-press],[data-ilife-focus]{transition:none}' +
126
+ '[data-ilife-press]::before{display:none}' +
127
+ '[data-ilife-press]:disabled:hover{animation:none}' +
128
+ '[data-ilife-longpress]:active:not(:disabled)::after{animation:none;width:100%}' +
129
+ '[data-ilife-advanced="mark"]{transition:none}' +
130
+ '[data-ilife-advanced="group"][open] [data-ilife-advanced="body"]{animation:none}' +
131
+ '[data-ilife-notice="line"]{animation:none}}');
132
+ }
133
+ /** T6 页签条交互(#1165,唯一生成处;载体 `client.ts` 页签条消费,不自画)。
134
+ *
135
+ * 原型 V1 页签四件:悬停淡洗 12%+辉光边框(无上浮、无聚光,按钮那套不串用)、圆点呼吸 .8s
136
+ *(悬停驱动,scale 1→1.5/opacity 1→.6)、焦点双环(沿用 T1 2px+5px,跟主题色,同色页签可见)、
137
+ * 选中态透明(glider 在下层给 pill,页签自身透明;减少动态时 CSS 以 !important 回实心 pill)。
138
+ * 液态彗星式由载体 `liquidTo` 驱动(拉伸+影子消散+时长公式见契约 T6 tokens),本函数只出静态层:
139
+ * glider-layer 定位+goo 滤镜引用、ghost 影子过渡(180ms)、glider/ghost 底色(主题变量)。
140
+ * 数值全引契约 T6 四格(淡洗/呼吸/过渡/影子),颜色永不写死蓝(缺席退橙 #f6ad55)。
141
+ * 低端机模糊降级(#1162):update: slow 下 glider 层(含 goo 模糊)关闭、选中态回实心 pill(与减少动态同形)。 */
142
+ export function tabInteractionCss() {
143
+ return ('[data-ilife-tablist]{position:relative;isolation:isolate}' +
144
+ '[data-ilife-glider-layer]{position:absolute;inset:0;z-index:0;filter:url(#ilife-goo);pointer-events:none}' +
145
+ '[data-ilife-glider],[data-ilife-ghost]{position:absolute;top:0;left:0;border-radius:999px;background:' + T2_FOCUS_VAR + '}' +
146
+ '[data-ilife-ghost]{opacity:0}' +
147
+ '[data-ilife-tab]{position:relative;z-index:1;transition:' + TAB_TRANSITION + '}' +
148
+ '[data-ilife-tab]:hover{background:color-mix(in srgb, ' + T2_FOCUS_VAR + ' ' + String(TAB_HOVER_WASH_PERCENT) + '%, transparent);' +
149
+ 'border-color:' + T2_FOCUS_VAR + '}' +
150
+ '[data-ilife-tab]:hover [data-ilife-health="tab-dot"]{animation:ilifeDotPulse ' + String(TAB_DOT_PULSE_MS / 1000) + 's ease infinite}' +
151
+ '@keyframes ilifeDotPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}' +
152
+ '[data-ilife-tab]:focus-visible{outline:none;' +
153
+ 'box-shadow:0 0 0 ' + String(FOCUS_RING_GAP_PX) + 'px var(--dsw-alias-bg-layer-1, #232324),' +
154
+ '0 0 0 ' + String(FOCUS_RING_WIDTH_PX) + 'px ' + T2_FOCUS_VAR + '}' +
155
+ '[data-ilife-tab][aria-selected="true"]{background:transparent;border-color:transparent}' +
156
+ '[data-ilife-ghost]{transition:opacity ' + String(LIQUID_GHOST_MS / 1000) + 's ease}' +
157
+ '@media (hover:none){[data-ilife-tab]:hover [data-ilife-health="tab-dot"]{animation:none}}' +
158
+ '@media (prefers-reduced-motion:reduce){[data-ilife-tablist] [data-ilife-glider-layer]{display:none}' +
159
+ '[data-ilife-tab]{transition:none}' +
160
+ '[data-ilife-tab]:hover [data-ilife-health="tab-dot"]{animation:none}' +
161
+ '[data-ilife-tab][aria-selected="true"]{background:var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55))!important;border-color:transparent!important}}' +
162
+ '@media (update: slow){[data-ilife-tablist] [data-ilife-glider-layer]{display:none}' +
163
+ '[data-ilife-tab]{transition:none}' +
164
+ '[data-ilife-tab]:hover [data-ilife-health="tab-dot"]{animation:none}' +
165
+ '[data-ilife-tab][aria-selected="true"]{background:var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55))!important;border-color:transparent!important}}');
166
+ }
64
167
  const S = {
65
168
  /** `.ic-card`:`background:var(--ic-surface)`(=bg-layer-1)+`border:1px solid var(--ic-line-strong)`
66
169
  * +`border-radius:12px`+`padding:14px`+`box-shadow:inset 0 1px 0 rgba(255,255,255,.06)`。
@@ -564,6 +667,10 @@ export function Row(props) {
564
667
  style: S.btnPick,
565
668
  type: 'button',
566
669
  disabled: props.onCopy === undefined,
670
+ // #1160 T1:按压收缩+焦点双环(纯视觉,不进状态机;禁用态浏览器不触发 :active)。
671
+ // #1161 T2:长按 500ms 纯视觉环(只做视觉标记,不注册任何动作回调、不进状态机分支)。
672
+ 'data-ilife-press': 'copy',
673
+ 'data-ilife-longpress': 'copy',
567
674
  onClick: () => props.onCopy?.(item.key, props.value),
568
675
  }, copyLabelOf(props.copyState));
569
676
  const follow = props.follow === true
@@ -581,6 +688,8 @@ export function Row(props) {
581
688
  style: S.checkbox,
582
689
  checked: props.value === 'true',
583
690
  disabled,
691
+ // #1160 T1:键盘焦点双环(文本框不收缩,只给焦点)。
692
+ 'data-ilife-focus': 'input',
584
693
  onChange: (e) => props.onChange(item.key, e.target.checked ? 'true' : 'false'),
585
694
  })
586
695
  : React.createElement('input', {
@@ -589,6 +698,8 @@ export function Row(props) {
589
698
  value: props.value,
590
699
  disabled,
591
700
  spellCheck: false,
701
+ // #1160 T1:键盘焦点双环(文本框不收缩,只给焦点)。
702
+ 'data-ilife-focus': 'input',
592
703
  onChange,
593
704
  });
594
705
  /** 目录入口:只读行不画(定稿 v3 ①),供不了(`none`/缺席)也不画。 */
@@ -598,6 +709,10 @@ export function Row(props) {
598
709
  style: S.btnPick,
599
710
  type: 'button',
600
711
  disabled,
712
+ // #1160 T1:按压收缩+焦点双环(只读行不画本枚,见定稿 v3 ①)。
713
+ // #1161 T2:长按纯视觉环(同上)。
714
+ 'data-ilife-press': 'browse',
715
+ 'data-ilife-longpress': 'browse',
601
716
  // 回这枚 Promise 是有意的:React 不看 onClick 的返回值,而用例能直接 await 它。
602
717
  onClick: () => entry.onOpen(item.key),
603
718
  }, '浏览文件夹')
@@ -631,19 +746,20 @@ export function PanelBody(props) {
631
746
  const surface = state.kind === 'ready' ? state.surface : null;
632
747
  const product = title ?? '';
633
748
  const seals = props.seals ?? [];
634
- /** 18 枚倾角各不同(1158):家下标×3+位序,步进错开。 */
635
- const TILT18 = [-4, -2.5, -1, -3, 1.5, 3, -1.5, 2, 4, -3.5, 0.5, 2.5, -4.5, 1, -2, 3.5, -0.5, 4.5];
636
- /** 三枚落位(卡片坐标:右上/左中/右下三处,互不遮挡)。右上与右下两枚按右钉死——
637
- * HELP 是单行最长的一枚,左钉会在窄卡上整体飞出面板右侧,右钉则右边界天然收敛;
638
- * 左中那枚按左钉(左钉的章向右长,左边界天然收敛)。 */
639
- const SPOT = [{ right: '0.2em', top: '0.3em' }, { left: '2%', top: '3.2em' }, { right: '6%', top: '5.6em' }];
640
749
  const seed = props.sealSeed ?? 0;
641
- /** 槽位轮排(1158:六家同形不同位;HELP 永远 z 最上)。 */
642
- const ORDER = [[0, 1, 2], [1, 2, 0], [2, 0, 1], [0, 2, 1], [1, 0, 2], [2, 1, 0]];
643
- const order = ORDER[seed % 6];
644
- const tiltOfSlot = (slot) => String(TILT18[(seed * 3 + slot) % 18]);
750
+ /** 三行定序(六家一致:HELP 上/技能中/插件下;HELP 永远 z 最上)。 */
751
+ const order = [0, 1, 2];
752
+ /** 三行行高(上/中/下;纵向净空各留约 10px,糙边抖动也碰不到)。 */
753
+ const TOPS = ['0.3em', '3.4em', '6.2em'];
754
+ /** 轻微倾角(±0.5°~±2.5°,方向随机):家下标×槽位哈希,纯函数、每次同值,不过大。 */
755
+ const tiltOfSlot = (slot) => {
756
+ const q = (seed * 5 + slot * 11 + 3) % 10;
757
+ return String((q % 2 === 0 ? -1 : 1) * (0.5 + Math.floor(q / 2) * 0.5));
758
+ };
759
+ /** 右间距(三枚全部居右收敛,各家各行 0.2em~1.1em 错开,永不出面板右边界)。 */
760
+ const padRightOfSlot = (slot) => String(0.2 + ((seed * 7 + slot * 3 + 1) % 6) * 0.18) + 'em';
645
761
  const zOfRole = (role) => role === 'help' ? 4 : role === 'skill' ? 3 : 2;
646
- const overlay = seals.length === 0 ? null : React.createElement('div', { style: S.sealOverlay }, React.createElement(SealFilterDefs, {}), ...order.map((dataIndex, slot) => React.createElement('span', { key: seals[dataIndex].role + ':' + seals[dataIndex].tier, style: { position: 'absolute', top: SPOT[slot].top, ...(SPOT[slot].left === undefined ? { right: SPOT[slot].right } : { left: SPOT[slot].left }), zIndex: zOfRole(seals[dataIndex].role), pointerEvents: 'auto', display: 'inline-flex', transform: 'rotate(' + tiltOfSlot(slot) + 'deg)' } },
762
+ const overlay = seals.length === 0 ? null : React.createElement('div', { style: S.sealOverlay }, React.createElement(SealFilterDefs, {}), ...order.map((dataIndex, slot) => React.createElement('span', { key: seals[dataIndex].role + ':' + seals[dataIndex].tier, style: { position: 'absolute', top: TOPS[slot], right: padRightOfSlot(slot), zIndex: zOfRole(seals[dataIndex].role), pointerEvents: 'auto', display: 'inline-flex', transform: 'rotate(' + tiltOfSlot(slot) + 'deg)' } },
647
763
  // 章面缩到 80%:印本体(九档锁死值)不动,只在用法处压一层字号——印内 em 全跟下来,3px 边线原样保留。
648
764
  React.createElement('span', { style: { fontSize: '0.8em', display: 'inline-flex' } }, React.createElement(SealStamp, { role: seals[dataIndex].role, tier: seals[dataIndex].tier, label: seals[dataIndex].label, onSelect: props.onSealSelect === undefined ? undefined : props.onSealSelect.bind(null, dataIndex) })))));
649
765
  const openSeal = props.selectedSeal === null || props.selectedSeal === undefined ? null : seals[props.selectedSeal] ?? null;
@@ -684,7 +800,10 @@ export function PanelBody(props) {
684
800
  const parts = { styles: S, reply: surface };
685
801
  const extra = props.extra === undefined ? null : props.extra(parts);
686
802
  if (state.kind === 'failed') {
687
- return React.createElement('div', { style: S.card }, head, fileLines, React.createElement('div', { style: S.error }, state.message), extra, overlay, React.createElement('div', { style: S.bar }, React.createElement('button', { style: S.btn, type: 'button', onClick: props.onRetry }, '重试'), React.createElement('button', { style: S.btn, type: 'button', onClick: props.onReset }, '重置为默认')));
803
+ return React.createElement('div', { style: S.card }, head, fileLines, React.createElement('div', { style: S.error }, state.message), extra, overlay, React.createElement('div', { style: S.bar }, React.createElement('button', { style: S.btn, type: 'button', 'data-ilife-press': 'retry', 'data-ilife-longpress': 'retry', onClick: props.onRetry }, '重试'), React.createElement('button', { style: S.btn, type: 'button', 'data-ilife-press': 'reset', 'data-ilife-longpress': 'reset', onClick: props.onReset }, '重置为默认')),
804
+ // #1160 T1:按压+焦点双环的样式只此一枚 <style>,罩本卡内 data-ilife-press/focus 两类。
805
+ // 放末位:首位会把既有形状判据 kidsOf(card)[0]===head 顶掉(920 红),末位不影响任何既有断言。
806
+ React.createElement('style', { 'data-ilife-interaction': 't1' }, interactionCss()));
688
807
  }
689
808
  const common = props.items.filter((item) => item.tier === 'common');
690
809
  const advanced = props.items.filter((item) => item.tier === 'advanced');
@@ -719,7 +838,7 @@ export function PanelBody(props) {
719
838
  const dirty = ready && dirtyCount > 0;
720
839
  return React.createElement('div', { style: S.card }, head, fileLines, React.createElement('div', { style: S.rows }, common.map((item, index) => renderRow(item, index === commonLast))), advanced.length === 0
721
840
  ? null
722
- : React.createElement('details', { style: S.advanced }, React.createElement('summary', { style: S.summary }, React.createElement('span', { style: S.groupMark }, '›'), ADVANCED_GROUP_TITLE), React.createElement('div', { style: S.groupBody }, advanced.map((item, index) => renderRow(item, index === advancedLast)))), extra, React.createElement('div', { style: S.bar }, React.createElement('button', { style: dirty ? S.btnPrimary : S.btn, type: 'button', disabled: frozen || !dirty, onClick: props.onSave }, props.busy ? '处理中' : dirty ? `保存(${dirtyCount} 项未保存)` : '保存'), React.createElement('button', { style: S.btn, type: 'button', disabled: frozen, onClick: props.onReset }, '重置为默认'), React.createElement('button', { style: S.btn, type: 'button', disabled: frozen, onClick: props.onRetry }, '重新读取'),
841
+ : React.createElement('details', { style: S.advanced, 'data-ilife-advanced': 'group' }, React.createElement('summary', { style: S.summary, 'data-ilife-advanced': 'head' }, React.createElement('span', { style: S.groupMark, 'data-ilife-advanced': 'mark' }, '›'), ADVANCED_GROUP_TITLE), React.createElement('div', { style: S.groupBody, 'data-ilife-advanced': 'body' }, advanced.map((item, index) => renderRow(item, index === advancedLast)))), extra, React.createElement('div', { style: S.bar }, React.createElement('button', { style: dirty ? S.btnPrimary : S.btn, type: 'button', disabled: frozen || !dirty, 'data-ilife-press': 'save', 'data-ilife-longpress': 'save', onClick: props.onSave }, props.busy ? '处理中' : dirty ? `保存(${dirtyCount} 项未保存)` : '保存'), React.createElement('button', { style: S.btn, type: 'button', disabled: frozen, 'data-ilife-press': 'reset', 'data-ilife-longpress': 'reset', onClick: props.onReset }, '重置为默认'), React.createElement('button', { style: S.btn, type: 'button', disabled: frozen, 'data-ilife-press': 'retry', 'data-ilife-longpress': 'retry', onClick: props.onRetry }, '重新读取'),
723
842
  // 那半句话是**最后一个孩子**:v3.1 的 `.ic-bar .ic-note{margin-left:auto}` 靠它把说明顶到行尾,
724
843
  // 三枚按钮留在左边(顺序反了就会成「说明靠左、按钮靠右」,与真源相反)。
725
844
  dirty
@@ -732,7 +851,9 @@ export function PanelBody(props) {
732
851
  ? React.createElement(DirectoryBrowserFromRow, { open: true, row: props.browseRow, labels: BROWSER_LABELS })
733
852
  : null, props.writeError !== null
734
853
  ? React.createElement('div', { style: S.error, role: 'alert' }, props.writeError)
735
- : null, props.error !== null ? React.createElement('div', { style: S.error }, props.error) : null, props.notice !== null ? React.createElement('div', { style: S.okText }, props.notice) : null, overlay);
854
+ : null, props.error !== null ? React.createElement('div', { style: S.error }, props.error) : null, props.notice !== null ? React.createElement('div', { style: S.okText, 'data-ilife-notice': 'line' }, props.notice) : null, overlay,
855
+ // #1160 T1:按压+焦点双环的样式只此一枚 <style>,放末位(首位会顶掉 kidsOf(card)[0]===head 的既有判据)。
856
+ React.createElement('style', { 'data-ilife-interaction': 't1' }, interactionCss()));
736
857
  }
737
858
  /** 状态点的底色:三档状态色 + 默认灰(照真源 `.is-ok/.is-warn/.is-bad` 与 `.ic-dot` 的默认档)。 */
738
859
  const STATUS_DOT_COLOR = {
@@ -747,6 +868,9 @@ export function StatusBlock(props) {
747
868
  key: action.text,
748
869
  style: index === 0 ? { ...S.btnPick, marginLeft: 'auto' } : S.btnPick,
749
870
  type: 'button',
871
+ // #1160 T1:按压收缩+焦点双环(状态行动作钮同口径)。
872
+ 'data-ilife-press': 'status-action',
873
+ 'data-ilife-longpress': 'status-action',
750
874
  onClick: action.onPress,
751
875
  }, action.text))), React.createElement('div', { style: S.statusFind }, props.path === null
752
876
  // #981:状态行路径位恢复真源定宽 180px(v3.1 `:422`),不跟面板走。
@@ -755,6 +879,13 @@ export function StatusBlock(props) {
755
879
  ? null
756
880
  : React.createElement('span', { style: S.statusVersion }, props.version)), props.link === undefined
757
881
  ? null
758
- : React.createElement('a', { style: S.statusUrl, href: props.link.href, target: '_blank', rel: 'noreferrer' }, props.link.text));
882
+ : React.createElement('a', {
883
+ style: S.statusUrl,
884
+ href: props.link.href,
885
+ target: '_blank',
886
+ rel: 'noreferrer',
887
+ // #1160 T1:键盘焦点双环(链接只给焦点,不收缩)。
888
+ 'data-ilife-focus': 'status-link',
889
+ }, props.link.text));
759
890
  }
760
891
  //# sourceMappingURL=config-panel-view.js.map