@hpyperry/dsh-ref-lib 0.7.0 → 0.8.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.
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA4eH,mDAAmD;AACnD,wBAAgB,kBAAkB,IAAI,IAAI,CAQzC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmnBH,mDAAmD;AACnD,wBAAgB,kBAAkB,IAAI,IAAI,CAQzC"}
@@ -275,6 +275,12 @@ const CSS = `
275
275
  padding: 0 8px;
276
276
  }
277
277
 
278
+ .reflib-listItem {
279
+ display: flex;
280
+ flex-direction: column;
281
+ min-width: 0;
282
+ }
283
+
278
284
  .reflib-row {
279
285
  display: flex;
280
286
  align-items: center;
@@ -290,7 +296,7 @@ const CSS = `
290
296
  background: var(--dsw-alias-interactive-bg-hover);
291
297
  }
292
298
 
293
- .reflib-row[data-removing='true'] {
299
+ .reflib-listItem[data-removing='true'] {
294
300
  opacity: 0.55;
295
301
  pointer-events: none;
296
302
  }
@@ -329,6 +335,16 @@ const CSS = `
329
335
  white-space: nowrap;
330
336
  }
331
337
 
338
+ /* 列表行用途说明(Description,v8):单行截断,与路径同属次行层级 */
339
+ .reflib-rowNote {
340
+ overflow: hidden;
341
+ color: var(--dsw-alias-label-secondary);
342
+ font-size: 12px;
343
+ line-height: 16px;
344
+ text-overflow: ellipsis;
345
+ white-space: nowrap;
346
+ }
347
+
332
348
  .reflib-rowRemove {
333
349
  display: inline-flex;
334
350
  align-items: center;
@@ -355,6 +371,120 @@ const CSS = `
355
371
  cursor: default;
356
372
  }
357
373
 
374
+ /* 详情/编辑入口按钮(与移除同尺寸,非危险 hover) */
375
+ .reflib-rowAction {
376
+ display: inline-flex;
377
+ align-items: center;
378
+ justify-content: center;
379
+ flex: none;
380
+ width: 28px;
381
+ height: 28px;
382
+ padding: 0;
383
+ border: none;
384
+ border-radius: 8px;
385
+ background: transparent;
386
+ color: var(--dsw-alias-label-tertiary);
387
+ cursor: pointer;
388
+ transition: background-color 120ms ease, color 120ms ease;
389
+ }
390
+
391
+ .reflib-rowAction:hover:not(:disabled) {
392
+ background: var(--dsw-alias-interactive-bg-hover);
393
+ color: var(--dsw-alias-label-primary);
394
+ }
395
+
396
+ .reflib-rowAction:disabled {
397
+ opacity: 0.4;
398
+ cursor: default;
399
+ }
400
+
401
+ /* 条目详情展开区(ID / 路径 / 用途编辑) */
402
+ .reflib-detail {
403
+ display: flex;
404
+ flex-direction: column;
405
+ gap: 5px;
406
+ margin: 2px 0 6px;
407
+ padding: 8px 10px 10px;
408
+ border-radius: 10px;
409
+ background: var(--dsw-alias-surface-inset, var(--dsw-alias-surface-raised));
410
+ min-width: 0;
411
+ }
412
+
413
+ .reflib-detailMeta {
414
+ display: flex;
415
+ align-items: baseline;
416
+ gap: 8px;
417
+ min-width: 0;
418
+ }
419
+
420
+ .reflib-detailKey {
421
+ flex: none;
422
+ font-size: 11px;
423
+ line-height: 16px;
424
+ color: var(--dsw-alias-label-caption);
425
+ }
426
+
427
+ .reflib-detailValue {
428
+ overflow: hidden;
429
+ min-width: 0;
430
+ font-size: 12px;
431
+ line-height: 16px;
432
+ color: var(--dsw-alias-label-secondary);
433
+ text-overflow: ellipsis;
434
+ white-space: nowrap;
435
+ }
436
+
437
+ .reflib-detailActions {
438
+ display: flex;
439
+ justify-content: flex-end;
440
+ gap: 6px;
441
+ margin-top: 2px;
442
+ }
443
+
444
+ /* 用途说明多行输入(添加表单 + 详情编辑共用) */
445
+ .reflib-noteWrap {
446
+ position: relative;
447
+ display: flex;
448
+ min-width: 0;
449
+ }
450
+
451
+ .reflib-noteTextarea {
452
+ width: 100%;
453
+ box-sizing: border-box;
454
+ padding: 6px 8px;
455
+ border: 1px solid var(--dsw-alias-border-l2);
456
+ border-radius: 8px;
457
+ background: var(--dsw-alias-surface-field);
458
+ color: var(--dsw-alias-label-primary);
459
+ font: inherit;
460
+ font-size: 13px;
461
+ line-height: 18px;
462
+ resize: vertical;
463
+ min-height: 40px;
464
+ }
465
+
466
+ .reflib-noteTextarea:focus {
467
+ outline: 2px solid var(--dsw-alias-focus-ring, var(--dsw-alias-state-info-primary));
468
+ outline-offset: -1px;
469
+ }
470
+
471
+ .reflib-noteTextarea:disabled {
472
+ opacity: 0.5;
473
+ }
474
+
475
+ .reflib-noteCount {
476
+ position: absolute;
477
+ right: 8px;
478
+ bottom: 6px;
479
+ padding: 0 4px;
480
+ border-radius: 4px;
481
+ background: var(--dsw-alias-surface-field);
482
+ font-size: 10px;
483
+ line-height: 14px;
484
+ color: var(--dsw-alias-label-caption);
485
+ pointer-events: none;
486
+ }
487
+
358
488
  /* 空态 / 加载态 / 错误态 */
359
489
  .reflib-status {
360
490
  display: flex;
@@ -420,9 +550,28 @@ const CSS = `
420
550
  background: var(--dsw-alias-border-l2);
421
551
  }
422
552
 
553
+ /* ── 管理面板 Modal(v8 优化)──
554
+ 宽度放宽到约 1/3 屏(上限 560px);进入动画为柔和缓出(easeOutQuint 风格:
555
+ 280ms 浮起 + 淡入,位移 12px→0、scale 0.96→1),无回弹——更从容、高级感。 */
556
+ .reflib-modal {
557
+ width: min(33vw, 560px);
558
+ animation: reflib-pop 280ms cubic-bezier(0.16, 1, 0.3, 1);
559
+ }
560
+
561
+ @keyframes reflib-pop {
562
+ 0% {
563
+ opacity: 0;
564
+ transform: scale(0.96) translateY(12px);
565
+ }
566
+ 100% {
567
+ opacity: 1;
568
+ transform: scale(1) translateY(0);
569
+ }
570
+ }
571
+
423
572
  /* ── 添加表单 ──
424
- 两组操作分离(优化点 2.1):手动输入路径 + 「添加」是一组(主路径);
425
- 「选择目录」是另一组备选方式,独占一行,避免并排造成困惑。 */
573
+ 统一表单(v8 UI 重构):路径(可输入 / 浏览填充)+ 用途(可选)同一容器,
574
+ 同一「添加」按钮提交——用途与路径强关联,浏览不再直接添加。 */
426
575
  .reflib-add {
427
576
  display: flex;
428
577
  flex-direction: column;
@@ -437,25 +586,6 @@ const CSS = `
437
586
  color: var(--dsw-alias-label-secondary);
438
587
  }
439
588
 
440
- /* 主方式:选择目录 —— 全宽主按钮(优先级最高) */
441
- .reflib-addBrowseMain {
442
- width: 100%;
443
- }
444
-
445
- /* 备选:手动输入路径组 */
446
- .reflib-addManual {
447
- display: flex;
448
- flex-direction: column;
449
- gap: 6px;
450
- min-width: 0;
451
- }
452
-
453
- .reflib-addManualLabel {
454
- font-size: 12px;
455
- line-height: 16px;
456
- color: var(--dsw-alias-label-caption);
457
- }
458
-
459
589
  .reflib-addRow {
460
590
  display: flex;
461
591
  align-items: center;
@@ -477,13 +607,18 @@ const CSS = `
477
607
  line-height: 18px;
478
608
  }
479
609
 
610
+ /* 全宽「添加」主按钮 */
611
+ .reflib-addSubmit {
612
+ width: 100%;
613
+ }
614
+
480
615
  .reflib-addHint {
481
616
  font-size: 11px;
482
617
  line-height: 16px;
483
618
  color: var(--dsw-alias-label-caption);
484
619
  }
485
620
 
486
- /* 窄视口:主路径行换行,输入框占满一行 */
621
+ /* 窄视口:路径行换行,输入框占满一行 */
487
622
  @media (max-width: 440px) {
488
623
  .reflib-addRow {
489
624
  flex-wrap: wrap;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,yDAAyD;AACzD,MAAM,SAAS,GAAG,uBAAuB,CAAA;AACzC,0BAA0B;AAC1B,MAAM,YAAY,GAAG,8BAA8B,CAAA;AAEnD,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmeX,CAAA;AAED,mDAAmD;AACnD,MAAM,UAAU,kBAAkB;IAChC,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAM;IAC3C,IAAI,QAAQ,CAAC,aAAa,CAAC,yBAAyB,GAAG,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI;QAAE,OAAM;IAC5F,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC3C,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAA;IAC9B,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,YAAY,CAAA;IACpC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,yDAAyD;AACzD,MAAM,SAAS,GAAG,uBAAuB,CAAA;AACzC,0BAA0B;AAC1B,MAAM,YAAY,GAAG,8BAA8B,CAAA;AAEnD,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0mBX,CAAA;AAED,mDAAmD;AACnD,MAAM,UAAU,kBAAkB;IAChC,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAM;IAC3C,IAAI,QAAQ,CAAC,aAAa,CAAC,yBAAyB,GAAG,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI;QAAE,OAAM;IAC5F,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC3C,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAA;IAC9B,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,YAAY,CAAA;IACpC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC"}