cardbuddy 0.9.1 → 0.10.0
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/README.md +17 -2
- package/dist/cli.js +3 -0
- package/dist/config.js +7 -0
- package/dist/portGuard.js +293 -0
- package/dist/preview-editor/assets/index-C_UKS0NF.css +1 -0
- package/dist/preview-editor/assets/{index-B9MOriNv.js → index-D1iIJ4sl.js} +14 -13
- package/dist/preview-editor/index.html +2 -2
- package/dist/server-core/assetProxy.js +3 -22
- package/dist/server-core/buildDataFromSchema.js +36 -4
- package/dist/server-core/cardListCache.js +0 -17
- package/dist/server-core/index.js +3 -5
- package/dist/server-core/logStream.js +1 -6
- package/dist/standalone.js +24 -8
- package/dist/vendored/App.vue +136 -46
- package/dist/vendored/components/ComponentPalette.vue +1 -1
- package/dist/vendored/components/DebugPanel.vue +735 -90
- package/dist/vendored/components/NumberStepper.vue +125 -0
- package/dist/vendored/components/ProgressSlider.vue +9 -1
- package/dist/vendored/components/StructureTree.vue +2 -2
- package/dist/vendored/runtime/clipboard-node.js +0 -5
- package/dist/vendored/styles/app.css +618 -210
- package/dist/vendored/styles/card-gallery.css +3 -3
- package/dist/vendored/styles/card-select.css +13 -6
- package/dist/vendored/styles/dropdown.css +1 -2
- package/dist/vendored/styles/json-tree.css +3 -3
- package/dist/vendored/styles/node-inspector.css +7 -294
- package/dist/vendored/styles/setters.css +48 -49
- package/dist/vendored/styles/structure-tree.css +6 -11
- package/package.json +1 -1
- package/dist/preview-editor/assets/index-CwD14gm3.css +0 -1
- package/dist/vendored/assets/logo.png +0 -0
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
border: 1px solid var(--border);
|
|
26
26
|
border-radius: 12px;
|
|
27
27
|
overflow: hidden;
|
|
28
|
-
box-shadow: 0 24px 64px
|
|
28
|
+
box-shadow: 0 24px 64px var(--shadow-pop);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
/* ============ 弹窗头部 ============ */
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
align-items: center;
|
|
35
35
|
gap: 12px;
|
|
36
36
|
padding: 12px 16px;
|
|
37
|
-
border-bottom:
|
|
37
|
+
border-bottom: var(--hairline) solid var(--border);
|
|
38
38
|
flex: 0 0 auto;
|
|
39
39
|
}
|
|
40
40
|
.cg-modal__title {
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
min-height: 0;
|
|
170
170
|
/* 卡片根截图本身为白底,固定白底框避免透明/深色主题下错位 */
|
|
171
171
|
background: #fff;
|
|
172
|
-
border-bottom:
|
|
172
|
+
border-bottom: var(--hairline) solid var(--border);
|
|
173
173
|
}
|
|
174
174
|
/* 导入角标:悬浮在缩略图右上角,仅「有 .import-meta.json 侧车」的导入卡显示。
|
|
175
175
|
配色用成功态「实心」token(--ok-solid 底 + --on-ok 白字 + --ok-solid 同色描边):
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
background: var(--bg-pop);
|
|
72
72
|
border: 1px solid var(--border-strong);
|
|
73
73
|
border-radius: 10px;
|
|
74
|
-
box-shadow: 0 16px 40px
|
|
74
|
+
box-shadow: 0 16px 40px var(--shadow-pop);
|
|
75
75
|
overflow: hidden;
|
|
76
76
|
backdrop-filter: blur(10px);
|
|
77
77
|
}
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
align-items: center;
|
|
81
81
|
gap: 8px;
|
|
82
82
|
padding: 8px 10px;
|
|
83
|
-
border-bottom:
|
|
83
|
+
border-bottom: var(--hairline) solid var(--border);
|
|
84
84
|
}
|
|
85
85
|
.csel__search-icon {
|
|
86
86
|
color: var(--text-faint);
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
justify-content: space-between;
|
|
166
166
|
gap: 8px;
|
|
167
167
|
padding: 6px 10px;
|
|
168
|
-
border-top:
|
|
168
|
+
border-top: var(--hairline) solid var(--border);
|
|
169
169
|
}
|
|
170
170
|
.csel__count {
|
|
171
171
|
color: var(--text-faint);
|
|
@@ -211,7 +211,10 @@
|
|
|
211
211
|
display: inline-flex;
|
|
212
212
|
align-items: stretch;
|
|
213
213
|
flex: 0 1 auto;
|
|
214
|
-
|
|
214
|
+
/* 顶栏控件统一 --ctrl-sm(28):组合外框锁高,内部两段 stretch 对齐,
|
|
215
|
+
不再由 trigger 的 7px 上下 padding 撑到 34 与邻座 28 按钮错位 */
|
|
216
|
+
height: var(--ctrl-sm);
|
|
217
|
+
min-width: 200px;
|
|
215
218
|
max-width: 360px;
|
|
216
219
|
background: var(--bg-input);
|
|
217
220
|
border: 1px solid var(--border);
|
|
@@ -239,6 +242,9 @@
|
|
|
239
242
|
border-radius: 0;
|
|
240
243
|
border-top-left-radius: 8px;
|
|
241
244
|
border-bottom-left-radius: 8px;
|
|
245
|
+
height: 100%;
|
|
246
|
+
padding: 0 10px 0 12px;
|
|
247
|
+
font-size: 12px;
|
|
242
248
|
}
|
|
243
249
|
.csel--combo .csel__trigger:hover {
|
|
244
250
|
background: var(--bg-hover);
|
|
@@ -255,11 +261,12 @@
|
|
|
255
261
|
display: inline-flex;
|
|
256
262
|
align-items: center;
|
|
257
263
|
justify-content: center;
|
|
258
|
-
|
|
264
|
+
/* 图标段取正方:高由组合框 stretch 决定,宽随 aspect-ratio 跟随 */
|
|
265
|
+
aspect-ratio: 1;
|
|
259
266
|
margin: 0;
|
|
260
267
|
padding: 0;
|
|
261
268
|
border: none;
|
|
262
|
-
border-left:
|
|
269
|
+
border-left: var(--hairline) solid var(--border);
|
|
263
270
|
border-radius: 0;
|
|
264
271
|
border-top-right-radius: 8px;
|
|
265
272
|
border-bottom-right-radius: 8px;
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
}
|
|
43
43
|
.jt__child {
|
|
44
44
|
padding-left: 16px;
|
|
45
|
-
border-left:
|
|
45
|
+
border-left: var(--hairline) solid var(--border);
|
|
46
46
|
margin-left: 4px;
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -206,7 +206,7 @@
|
|
|
206
206
|
background: var(--bg-input);
|
|
207
207
|
border: 1px solid var(--accent);
|
|
208
208
|
border-radius: 6px;
|
|
209
|
-
box-shadow: 0 4px 16px
|
|
209
|
+
box-shadow: 0 4px 16px var(--shadow-toast);
|
|
210
210
|
}
|
|
211
211
|
.jt__json-textarea {
|
|
212
212
|
display: block;
|
|
@@ -272,7 +272,7 @@
|
|
|
272
272
|
background: var(--bg-pop);
|
|
273
273
|
border: 1px solid var(--border-strong);
|
|
274
274
|
border-radius: 8px;
|
|
275
|
-
box-shadow: 0 8px 24px
|
|
275
|
+
box-shadow: 0 8px 24px var(--shadow-pop);
|
|
276
276
|
padding: 4px;
|
|
277
277
|
color: var(--text);
|
|
278
278
|
}
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
align-items: center;
|
|
36
36
|
justify-content: space-between;
|
|
37
37
|
padding: 10px 16px;
|
|
38
|
-
border-bottom:
|
|
38
|
+
border-bottom: var(--hairline) solid var(--border);
|
|
39
39
|
flex-shrink: 0;
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -191,154 +191,6 @@ select.ni-input {
|
|
|
191
191
|
height: var(--ctrl-sm);
|
|
192
192
|
}
|
|
193
193
|
|
|
194
|
-
/* 属性行:标签 + 控件 + 删除 */
|
|
195
|
-
.ni-prop-row {
|
|
196
|
-
display: flex;
|
|
197
|
-
align-items: flex-start;
|
|
198
|
-
gap: 12px;
|
|
199
|
-
padding: 8px 12px;
|
|
200
|
-
border: 1px solid var(--border);
|
|
201
|
-
border-radius: 8px;
|
|
202
|
-
margin-bottom: 8px;
|
|
203
|
-
background: transparent;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
.ni-prop-label {
|
|
207
|
-
flex: 0 0 88px;
|
|
208
|
-
padding-top: 5px;
|
|
209
|
-
font-size: 12px;
|
|
210
|
-
color: var(--text);
|
|
211
|
-
font-weight: 500;
|
|
212
|
-
white-space: nowrap;
|
|
213
|
-
overflow: hidden;
|
|
214
|
-
text-overflow: ellipsis;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
.ni-prop-control {
|
|
218
|
-
flex: 1 1 auto;
|
|
219
|
-
min-width: 0;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
.ni-prop-del {
|
|
223
|
-
flex: 0 0 auto;
|
|
224
|
-
width: 24px;
|
|
225
|
-
height: 24px;
|
|
226
|
-
display: inline-flex;
|
|
227
|
-
align-items: center;
|
|
228
|
-
justify-content: center;
|
|
229
|
-
margin-top: 2px;
|
|
230
|
-
padding: 0;
|
|
231
|
-
border: none;
|
|
232
|
-
background: transparent;
|
|
233
|
-
color: var(--danger);
|
|
234
|
-
border-radius: 5px;
|
|
235
|
-
cursor: pointer;
|
|
236
|
-
font-size: 13px;
|
|
237
|
-
line-height: 1;
|
|
238
|
-
transition: background 0.15s;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
.ni-prop-del:hover {
|
|
242
|
-
background: var(--danger-soft);
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
/* 新增行 */
|
|
246
|
-
.ni-addrow {
|
|
247
|
-
display: flex;
|
|
248
|
-
align-items: center;
|
|
249
|
-
gap: 8px;
|
|
250
|
-
margin-top: 8px;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
.ni-addrow select {
|
|
254
|
-
flex: 1 1 auto;
|
|
255
|
-
min-width: 0;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
.ni-addbtn {
|
|
259
|
-
flex: 0 0 auto;
|
|
260
|
-
height: var(--ctrl-sm);
|
|
261
|
-
padding: 0 12px;
|
|
262
|
-
font-size: 13px;
|
|
263
|
-
border: 1px dashed var(--border-strong);
|
|
264
|
-
background: transparent;
|
|
265
|
-
color: var(--text-dim);
|
|
266
|
-
border-radius: 6px;
|
|
267
|
-
cursor: pointer;
|
|
268
|
-
transition: color 0.15s, border-color 0.15s;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
.ni-addbtn:disabled {
|
|
272
|
-
opacity: 0.5;
|
|
273
|
-
cursor: not-allowed;
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
.ni-addbtn:not(:disabled):hover {
|
|
277
|
-
color: var(--accent);
|
|
278
|
-
border-color: var(--accent);
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
/* 指令 / 事件只读行 */
|
|
282
|
-
.ni-rows {
|
|
283
|
-
display: flex;
|
|
284
|
-
flex-direction: column;
|
|
285
|
-
gap: 4px;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
.ni-row {
|
|
289
|
-
display: flex;
|
|
290
|
-
align-items: flex-start;
|
|
291
|
-
gap: 8px;
|
|
292
|
-
font-size: 12px;
|
|
293
|
-
padding: 6px 10px;
|
|
294
|
-
border-radius: 6px;
|
|
295
|
-
background: transparent;
|
|
296
|
-
border: 1px solid var(--border);
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
.ni-key {
|
|
300
|
-
color: var(--text-dim);
|
|
301
|
-
flex: 0 0 auto;
|
|
302
|
-
max-width: 168px;
|
|
303
|
-
overflow: hidden;
|
|
304
|
-
text-overflow: ellipsis;
|
|
305
|
-
white-space: nowrap;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
.ni-val {
|
|
309
|
-
flex: 1 1 auto;
|
|
310
|
-
min-width: 0;
|
|
311
|
-
color: var(--text);
|
|
312
|
-
word-break: break-all;
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
.ni-tag {
|
|
316
|
-
margin-left: auto;
|
|
317
|
-
font-size: 12px;
|
|
318
|
-
padding: 2px 8px;
|
|
319
|
-
background: var(--accent-soft);
|
|
320
|
-
border-radius: 4px;
|
|
321
|
-
color: var(--accent);
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
.ni-editbtn {
|
|
325
|
-
margin-left: auto;
|
|
326
|
-
height: var(--ctrl-sm);
|
|
327
|
-
padding: 0 10px;
|
|
328
|
-
font-size: 12px;
|
|
329
|
-
border: 1px solid var(--border-strong);
|
|
330
|
-
background: transparent;
|
|
331
|
-
color: var(--text-dim);
|
|
332
|
-
border-radius: 6px;
|
|
333
|
-
cursor: pointer;
|
|
334
|
-
transition: color 0.15s, border-color 0.15s;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
.ni-editbtn:hover {
|
|
338
|
-
color: var(--text);
|
|
339
|
-
border-color: var(--accent);
|
|
340
|
-
}
|
|
341
|
-
|
|
342
194
|
/* 标题里的 className */
|
|
343
195
|
.ni-cls {
|
|
344
196
|
font-style: normal;
|
|
@@ -352,28 +204,6 @@ select.ni-input {
|
|
|
352
204
|
color: var(--text);
|
|
353
205
|
}
|
|
354
206
|
|
|
355
|
-
/* 事件列表 */
|
|
356
|
-
.ni-event-list {
|
|
357
|
-
display: flex;
|
|
358
|
-
flex-direction: column;
|
|
359
|
-
gap: 6px;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
.ni-event-row {
|
|
363
|
-
display: flex;
|
|
364
|
-
align-items: center;
|
|
365
|
-
gap: 8px;
|
|
366
|
-
padding: 7px 10px;
|
|
367
|
-
background: transparent;
|
|
368
|
-
border: 1px solid var(--border);
|
|
369
|
-
border-radius: 6px;
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
.ni-event-name {
|
|
373
|
-
font-size: 12px;
|
|
374
|
-
color: var(--text);
|
|
375
|
-
}
|
|
376
|
-
|
|
377
207
|
/* 属性树(PropTree 递归渲染) */
|
|
378
208
|
.ptree {
|
|
379
209
|
display: flex;
|
|
@@ -433,7 +263,7 @@ select.ni-input {
|
|
|
433
263
|
.ptree__group-body {
|
|
434
264
|
padding: 6px 0 2px 10px;
|
|
435
265
|
margin-left: 6px;
|
|
436
|
-
border-left:
|
|
266
|
+
border-left: var(--hairline) solid var(--border);
|
|
437
267
|
display: flex;
|
|
438
268
|
flex-direction: column;
|
|
439
269
|
gap: 4px;
|
|
@@ -478,7 +308,7 @@ select.ni-input {
|
|
|
478
308
|
gap: 10px;
|
|
479
309
|
padding: 10px 16px;
|
|
480
310
|
background: var(--bg-bar);
|
|
481
|
-
border-top:
|
|
311
|
+
border-top: var(--hairline) solid var(--border);
|
|
482
312
|
}
|
|
483
313
|
|
|
484
314
|
.ni-tip {
|
|
@@ -521,101 +351,6 @@ select.ni-input {
|
|
|
521
351
|
color: var(--text);
|
|
522
352
|
}
|
|
523
353
|
|
|
524
|
-
/* ===================== 事件页签(开关式:事件列表 + 开关 + 动作参数) ===================== */
|
|
525
|
-
|
|
526
|
-
.ni-evt-list {
|
|
527
|
-
display: flex;
|
|
528
|
-
flex-direction: column;
|
|
529
|
-
gap: 4px;
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
.ni-evt {
|
|
533
|
-
border: 1px solid var(--border);
|
|
534
|
-
border-radius: 8px;
|
|
535
|
-
overflow: hidden;
|
|
536
|
-
background: transparent;
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
.ni-evt-head {
|
|
540
|
-
display: flex;
|
|
541
|
-
align-items: center;
|
|
542
|
-
gap: 10px;
|
|
543
|
-
padding: 8px 12px;
|
|
544
|
-
}
|
|
545
|
-
|
|
546
|
-
.ni-evt-name {
|
|
547
|
-
flex: 0 0 auto;
|
|
548
|
-
font-size: 12px;
|
|
549
|
-
font-weight: 500;
|
|
550
|
-
color: var(--text);
|
|
551
|
-
white-space: nowrap;
|
|
552
|
-
}
|
|
553
|
-
|
|
554
|
-
.ni-evt-desc {
|
|
555
|
-
flex: 1 1 auto;
|
|
556
|
-
min-width: 0;
|
|
557
|
-
font-size: 12px;
|
|
558
|
-
color: var(--text-faint);
|
|
559
|
-
white-space: nowrap;
|
|
560
|
-
overflow: hidden;
|
|
561
|
-
text-overflow: ellipsis;
|
|
562
|
-
}
|
|
563
|
-
|
|
564
|
-
/* 开关:与 setter 家族 .st-switch 同语言(发丝线轨道 + soft 开启态),不用实心 accent 填充 */
|
|
565
|
-
.ni-switch {
|
|
566
|
-
flex: 0 0 auto;
|
|
567
|
-
position: relative;
|
|
568
|
-
width: 34px;
|
|
569
|
-
height: 18px;
|
|
570
|
-
padding: 0;
|
|
571
|
-
margin: 0;
|
|
572
|
-
border: 1px solid var(--border-strong);
|
|
573
|
-
border-radius: 999px;
|
|
574
|
-
background: var(--bg-hover);
|
|
575
|
-
cursor: pointer;
|
|
576
|
-
transition: background 0.16s, border-color 0.16s;
|
|
577
|
-
flex-shrink: 0;
|
|
578
|
-
}
|
|
579
|
-
|
|
580
|
-
.ni-switch.is-on {
|
|
581
|
-
background: var(--accent-soft);
|
|
582
|
-
border-color: var(--accent-border);
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
.ni-switch__dot {
|
|
586
|
-
position: absolute;
|
|
587
|
-
top: 1px;
|
|
588
|
-
left: 1px;
|
|
589
|
-
width: 14px;
|
|
590
|
-
height: 14px;
|
|
591
|
-
border-radius: 50%;
|
|
592
|
-
background: var(--text-dim);
|
|
593
|
-
transition: transform 0.16s, background 0.16s;
|
|
594
|
-
}
|
|
595
|
-
|
|
596
|
-
.ni-switch.is-on .ni-switch__dot {
|
|
597
|
-
transform: translateX(16px);
|
|
598
|
-
background: var(--accent);
|
|
599
|
-
}
|
|
600
|
-
|
|
601
|
-
.ni-evt-body {
|
|
602
|
-
padding: 4px 12px 12px;
|
|
603
|
-
border-top: 1px solid var(--border);
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
.ni-evt-body .ni-field-row {
|
|
607
|
-
margin-top: 12px;
|
|
608
|
-
margin-bottom: 0;
|
|
609
|
-
}
|
|
610
|
-
|
|
611
|
-
.ni-evt-body .ni-field-row:first-child {
|
|
612
|
-
margin-top: 10px;
|
|
613
|
-
}
|
|
614
|
-
|
|
615
|
-
.ni-evt-body .ptree {
|
|
616
|
-
margin-top: 8px;
|
|
617
|
-
}
|
|
618
|
-
|
|
619
354
|
/* 整行铺开的控件(代码编辑器) */
|
|
620
355
|
.ptree__row--block {
|
|
621
356
|
flex-direction: column;
|
|
@@ -636,10 +371,6 @@ select.ni-input {
|
|
|
636
371
|
height: 100vh;
|
|
637
372
|
border-radius: 0;
|
|
638
373
|
}
|
|
639
|
-
|
|
640
|
-
.ni-prop-label {
|
|
641
|
-
flex: 0 0 72px;
|
|
642
|
-
}
|
|
643
374
|
}
|
|
644
375
|
|
|
645
376
|
/* ===================== 事件编辑抽屉(EventEditor.vue,右侧滑出) ===================== */
|
|
@@ -669,7 +400,7 @@ select.ni-input {
|
|
|
669
400
|
display: flex;
|
|
670
401
|
flex-direction: column;
|
|
671
402
|
background: var(--bg-panel);
|
|
672
|
-
border-left:
|
|
403
|
+
border-left: var(--hairline) solid var(--border-strong);
|
|
673
404
|
box-shadow: var(--shadow-5);
|
|
674
405
|
overflow: hidden;
|
|
675
406
|
}
|
|
@@ -705,7 +436,7 @@ select.ni-input {
|
|
|
705
436
|
align-items: center;
|
|
706
437
|
justify-content: space-between;
|
|
707
438
|
padding: 10px 16px;
|
|
708
|
-
border-bottom:
|
|
439
|
+
border-bottom: var(--hairline) solid var(--border);
|
|
709
440
|
flex-shrink: 0;
|
|
710
441
|
}
|
|
711
442
|
|
|
@@ -760,7 +491,7 @@ select.ni-input {
|
|
|
760
491
|
align-items: center;
|
|
761
492
|
justify-content: space-between;
|
|
762
493
|
gap: 10px;
|
|
763
|
-
border-bottom:
|
|
494
|
+
border-bottom: var(--hairline) solid var(--border);
|
|
764
495
|
padding: 8px 16px;
|
|
765
496
|
}
|
|
766
497
|
|
|
@@ -922,24 +653,6 @@ select.ni-input {
|
|
|
922
653
|
text-overflow: ellipsis;
|
|
923
654
|
}
|
|
924
655
|
|
|
925
|
-
.ee-input {
|
|
926
|
-
flex: 1 1 auto;
|
|
927
|
-
min-width: 0;
|
|
928
|
-
box-sizing: border-box;
|
|
929
|
-
font-size: 12px;
|
|
930
|
-
padding: 6px 10px;
|
|
931
|
-
background: var(--bg-input);
|
|
932
|
-
color: var(--text);
|
|
933
|
-
border: 1px solid var(--border-strong);
|
|
934
|
-
border-radius: 6px;
|
|
935
|
-
outline: none;
|
|
936
|
-
transition: border-color 0.15s;
|
|
937
|
-
}
|
|
938
|
-
|
|
939
|
-
.ee-input:focus { border-color: var(--accent); }
|
|
940
|
-
|
|
941
|
-
select.ee-input { height: 32px; }
|
|
942
|
-
|
|
943
656
|
/* 帮助图标按钮:与事件项同排的纯图标弱按钮 */
|
|
944
657
|
.ee-help {
|
|
945
658
|
flex: 0 0 auto;
|
|
@@ -1035,7 +748,7 @@ select.ee-input { height: 32px; }
|
|
|
1035
748
|
gap: 10px;
|
|
1036
749
|
padding: 10px 16px;
|
|
1037
750
|
background: var(--bg-bar);
|
|
1038
|
-
border-top:
|
|
751
|
+
border-top: var(--hairline) solid var(--border);
|
|
1039
752
|
}
|
|
1040
753
|
|
|
1041
754
|
.ee-tip {
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
|
|
8
8
|
/* ------------------------------ 通用输入 ------------------------------ */
|
|
9
9
|
|
|
10
|
-
.st-input,
|
|
11
10
|
.st-textarea {
|
|
12
11
|
width: 100%;
|
|
13
12
|
min-width: 0;
|
|
@@ -30,17 +29,14 @@
|
|
|
30
29
|
line-height: 1.5;
|
|
31
30
|
resize: none; /* 隐藏原生拖拽手柄,统一外观 */
|
|
32
31
|
}
|
|
33
|
-
.st-input:focus,
|
|
34
32
|
.st-textarea:focus {
|
|
35
33
|
border-color: var(--accent-border);
|
|
36
34
|
box-shadow: 0 0 0 2px var(--accent-soft);
|
|
37
35
|
}
|
|
38
|
-
.st-input:disabled,
|
|
39
36
|
.st-textarea:disabled {
|
|
40
37
|
opacity: 0.5;
|
|
41
38
|
cursor: not-allowed;
|
|
42
39
|
}
|
|
43
|
-
.st-input::placeholder,
|
|
44
40
|
.st-textarea::placeholder {
|
|
45
41
|
color: var(--text-faint);
|
|
46
42
|
}
|
|
@@ -114,7 +110,7 @@
|
|
|
114
110
|
display: inline-flex;
|
|
115
111
|
align-items: center;
|
|
116
112
|
justify-content: center;
|
|
117
|
-
border-left:
|
|
113
|
+
border-left: var(--hairline) solid var(--border);
|
|
118
114
|
background: var(--overlay-tint);
|
|
119
115
|
color: var(--text-dim);
|
|
120
116
|
font-size: 11px;
|
|
@@ -135,7 +131,7 @@
|
|
|
135
131
|
display: inline-flex;
|
|
136
132
|
align-items: center;
|
|
137
133
|
justify-content: center;
|
|
138
|
-
border-left:
|
|
134
|
+
border-left: var(--hairline) solid var(--border);
|
|
139
135
|
color: var(--text-faint);
|
|
140
136
|
cursor: pointer;
|
|
141
137
|
}
|
|
@@ -148,6 +144,45 @@
|
|
|
148
144
|
cursor: not-allowed;
|
|
149
145
|
opacity: 0.55;
|
|
150
146
|
}
|
|
147
|
+
/* − / + 步进按钮(NumberStepper.vue):与 __symbol / __caret 同一附属件语言
|
|
148
|
+
(--overlay-tint 底 + 发丝线分隔 + hover 提亮),只是分落在输入框两侧。 */
|
|
149
|
+
.st-number__step {
|
|
150
|
+
flex: 0 0 26px;
|
|
151
|
+
width: 26px;
|
|
152
|
+
height: 100%;
|
|
153
|
+
display: inline-flex;
|
|
154
|
+
align-items: center;
|
|
155
|
+
justify-content: center;
|
|
156
|
+
padding: 0;
|
|
157
|
+
background: var(--overlay-tint);
|
|
158
|
+
border: 0;
|
|
159
|
+
border-right: var(--hairline) solid var(--border);
|
|
160
|
+
color: var(--text-dim);
|
|
161
|
+
cursor: pointer;
|
|
162
|
+
user-select: none;
|
|
163
|
+
transition: background 0.12s, color 0.12s;
|
|
164
|
+
}
|
|
165
|
+
/* 加号在右侧,发丝线换到左边 */
|
|
166
|
+
.st-number__step--inc {
|
|
167
|
+
border-right: 0;
|
|
168
|
+
border-left: var(--hairline) solid var(--border);
|
|
169
|
+
}
|
|
170
|
+
.st-number__step:hover:not(:disabled) {
|
|
171
|
+
background: var(--bg-hover);
|
|
172
|
+
color: var(--text);
|
|
173
|
+
}
|
|
174
|
+
.st-number__step:active:not(:disabled) {
|
|
175
|
+
background: var(--bg-active);
|
|
176
|
+
}
|
|
177
|
+
.st-number__step:disabled {
|
|
178
|
+
opacity: 0.4;
|
|
179
|
+
cursor: default;
|
|
180
|
+
}
|
|
181
|
+
/* 步进变体:数值夹在 − / + 之间,居中比左对齐更像读数 */
|
|
182
|
+
.st-number--step .st-number__field {
|
|
183
|
+
padding: 0 4px;
|
|
184
|
+
text-align: center;
|
|
185
|
+
}
|
|
151
186
|
|
|
152
187
|
/* 下拉浮层容器:与 .st-number 同宽、相对定位,浮层挂在它下面而不被 .st-number 的
|
|
153
188
|
overflow:hidden 裁切。此前 .st-pop / .st-pop__item 完全没有样式,单位切换菜单不可见。 */
|
|
@@ -203,7 +238,6 @@
|
|
|
203
238
|
width: 100%;
|
|
204
239
|
min-width: 0;
|
|
205
240
|
border-radius: 2px;
|
|
206
|
-
/* overflow: hidden; */
|
|
207
241
|
border: 1px solid var(--border);
|
|
208
242
|
}
|
|
209
243
|
.st-seg__item {
|
|
@@ -218,14 +252,13 @@
|
|
|
218
252
|
gap: 3px;
|
|
219
253
|
padding: 0 4px;
|
|
220
254
|
background: var(--bg-input);
|
|
221
|
-
border-left:
|
|
255
|
+
border-left: var(--hairline) solid var(--border);
|
|
222
256
|
color: var(--text-dim);
|
|
223
257
|
font-size: 12px;
|
|
224
258
|
line-height: 1;
|
|
225
259
|
cursor: pointer;
|
|
226
260
|
user-select: none;
|
|
227
261
|
white-space: nowrap;
|
|
228
|
-
/* overflow: hidden; */
|
|
229
262
|
transition: background 0.12s, color 0.12s;
|
|
230
263
|
}
|
|
231
264
|
.st-seg__item:first-child {
|
|
@@ -484,7 +517,7 @@
|
|
|
484
517
|
border-radius: 50%;
|
|
485
518
|
background: var(--on-accent);
|
|
486
519
|
border: 2px solid var(--border-strong);
|
|
487
|
-
box-shadow: 0 1px 3px
|
|
520
|
+
box-shadow: 0 1px 3px var(--shadow-toast);
|
|
488
521
|
cursor: pointer;
|
|
489
522
|
}
|
|
490
523
|
.st-color__alpha-slider::-moz-range-thumb {
|
|
@@ -493,7 +526,7 @@
|
|
|
493
526
|
border-radius: 50%;
|
|
494
527
|
background: var(--on-accent);
|
|
495
528
|
border: 2px solid var(--border-strong);
|
|
496
|
-
box-shadow: 0 1px 3px
|
|
529
|
+
box-shadow: 0 1px 3px var(--shadow-toast);
|
|
497
530
|
cursor: pointer;
|
|
498
531
|
}
|
|
499
532
|
.st-color__alpha-val {
|
|
@@ -636,7 +669,8 @@
|
|
|
636
669
|
margin-top: 6px;
|
|
637
670
|
}
|
|
638
671
|
.st-iconsel__cell {
|
|
639
|
-
|
|
672
|
+
/* 图标格取正方:高随列宽(1fr)走,避免 8 列网格下出现扁格 */
|
|
673
|
+
aspect-ratio: 1;
|
|
640
674
|
display: inline-flex;
|
|
641
675
|
align-items: center;
|
|
642
676
|
justify-content: center;
|
|
@@ -695,20 +729,12 @@
|
|
|
695
729
|
gap: 6px;
|
|
696
730
|
padding: 4px 8px;
|
|
697
731
|
background: var(--overlay-tint);
|
|
698
|
-
border-bottom:
|
|
732
|
+
border-bottom: var(--hairline) solid var(--border);
|
|
699
733
|
font-size: 11px;
|
|
700
734
|
color: var(--text-dim);
|
|
701
735
|
cursor: pointer;
|
|
702
736
|
user-select: none;
|
|
703
737
|
}
|
|
704
|
-
.st-list__title {
|
|
705
|
-
flex: 1 1 auto;
|
|
706
|
-
min-width: 0;
|
|
707
|
-
overflow: hidden;
|
|
708
|
-
text-overflow: ellipsis;
|
|
709
|
-
white-space: nowrap;
|
|
710
|
-
color: var(--text);
|
|
711
|
-
}
|
|
712
738
|
.st-list__op {
|
|
713
739
|
flex: 0 0 auto;
|
|
714
740
|
width: 22px;
|
|
@@ -899,11 +925,6 @@
|
|
|
899
925
|
line-height: normal;
|
|
900
926
|
}
|
|
901
927
|
|
|
902
|
-
.st-code__warn {
|
|
903
|
-
margin-left: auto;
|
|
904
|
-
color: var(--code-warn);
|
|
905
|
-
}
|
|
906
|
-
|
|
907
928
|
/* Prism 高亮配色(变量驱动,随主题切换;暗色默认=原硬编码值) */
|
|
908
929
|
.st-code__editor .token.comment,
|
|
909
930
|
.st-code__editor .token.prolog,
|
|
@@ -967,7 +988,7 @@
|
|
|
967
988
|
padding: 2px 8px;
|
|
968
989
|
font-size: 11px;
|
|
969
990
|
color: var(--text-dim);
|
|
970
|
-
border-top:
|
|
991
|
+
border-top: var(--hairline) solid var(--border);
|
|
971
992
|
background: var(--bg-soft);
|
|
972
993
|
user-select: none;
|
|
973
994
|
line-height: 1.5;
|
|
@@ -1027,25 +1048,3 @@
|
|
|
1027
1048
|
width: 100%;
|
|
1028
1049
|
min-width: 0;
|
|
1029
1050
|
}
|
|
1030
|
-
|
|
1031
|
-
.st-raw {
|
|
1032
|
-
width: 100%;
|
|
1033
|
-
min-width: 0;
|
|
1034
|
-
font-size: 11px;
|
|
1035
|
-
color: var(--text-dim);
|
|
1036
|
-
word-break: break-all;
|
|
1037
|
-
background: var(--bg-input);
|
|
1038
|
-
border: 1px dashed var(--border);
|
|
1039
|
-
border-radius: 5px;
|
|
1040
|
-
padding: 4px 8px;
|
|
1041
|
-
}
|
|
1042
|
-
.st-raw__type {
|
|
1043
|
-
color: var(--text-faint);
|
|
1044
|
-
margin-right: 4px;
|
|
1045
|
-
}
|
|
1046
|
-
|
|
1047
|
-
/* Inspector / 抽屉内 setter 升一档(28 → 32),与节点面板控件高度对齐 */
|
|
1048
|
-
.ni-body .st-input,
|
|
1049
|
-
.ee-detail-body .st-input {
|
|
1050
|
-
height: var(--ctrl-md);
|
|
1051
|
-
}
|