@dickpy/dsh-imagegen 1.5.9 → 1.5.10

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.
@@ -449,43 +449,79 @@
449
449
 
450
450
  /* --------------------------------------------------- bottom dock */
451
451
 
452
- .dock {
452
+ /* reactbits.dev "Dock" port: dark pill panel; a spring engine (see the dock
453
+ * effect in CanvasWorkspace) scales each tile by pointer distance so items
454
+ * part apart like the macOS dock, and the outer wrapper breathes taller on
455
+ * hover to make room for the floating labels. */
456
+ .dockOuter {
453
457
  position: absolute;
454
- left: 50%;
458
+ left: 0;
459
+ right: 0;
455
460
  bottom: 14px;
456
- transform: translateX(-50%);
457
461
  z-index: 30;
458
462
  display: flex;
459
- align-items: center;
460
- gap: 2px;
461
- padding: 6px;
462
- border-radius: 13px;
463
+ justify-content: center;
464
+ align-items: flex-end;
465
+ height: 42px;
466
+ pointer-events: none;
467
+ }
468
+
469
+ .dock {
470
+ pointer-events: auto;
471
+ position: relative;
472
+ display: flex;
473
+ align-items: flex-end;
474
+ gap: 6px;
475
+ padding: 0 7px 7px;
476
+ border-radius: 15px;
463
477
  border: 1px solid var(--dsw-alias-border-l1);
464
478
  background: color-mix(in srgb, var(--dsw-alias-bg-layer-1) 92%, transparent);
465
- box-shadow: 0 10px 30px rgb(15 23 42 / 14%);
466
479
  backdrop-filter: blur(10px);
480
+ box-shadow: 0 14px 34px rgb(15 23 42 / 16%);
467
481
  }
468
482
 
469
- /* macOS-dock magnification: the pointermove handler on .dock feeds a gaussian
470
- * falloff into --dock-scale / --dock-lift, so the hovered icon swells and lifts
471
- * while neighbours rise and fall like a zipper as the pointer slides across. */
472
- .dock .iconButton {
483
+ .dockItem {
473
484
  position: relative;
474
- width: 40px;
475
- height: 40px;
476
- border-radius: 11px;
477
- transform: translateY(var(--dock-lift, 0px)) scale(var(--dock-scale, 1));
478
- transform-origin: 50% 100%;
479
- transition: transform 0.16s cubic-bezier(0.33, 1, 0.68, 1), background 0.15s ease, color 0.15s ease, box-shadow 0.18s ease;
485
+ display: inline-flex;
486
+ align-items: center;
487
+ justify-content: center;
488
+ width: 34px;
489
+ height: 34px;
490
+ border-radius: 10px;
491
+ cursor: pointer;
480
492
  }
481
493
 
482
- .dock .iconButton:not(:disabled):hover {
483
- z-index: 2;
484
- box-shadow: 0 6px 14px color-mix(in srgb, var(--dsw-alias-label-primary) 20%, transparent);
494
+ .dockItem:hover { background: var(--dsw-alias-interactive-bg-hover); }
495
+
496
+ .dockItem::after {
497
+ content: attr(data-label);
498
+ position: absolute;
499
+ top: -26px;
500
+ left: 50%;
501
+ transform: translateX(-50%);
502
+ padding: 2px 8px;
503
+ border-radius: 6px;
504
+ border: 1px solid var(--dsw-alias-border-l1);
505
+ background: var(--dsw-alias-bg-layer-1);
506
+ color: var(--dsw-alias-label-primary);
507
+ font-size: 11px;
508
+ line-height: 16px;
509
+ white-space: nowrap;
510
+ opacity: 0;
511
+ transition: opacity 0.15s ease;
512
+ pointer-events: none;
513
+ }
514
+
515
+ .dockItem:hover::after { opacity: 1; }
516
+
517
+ .dock .iconButton {
518
+ width: 100%;
519
+ height: 100%;
520
+ border-radius: 10px;
485
521
  }
486
522
 
487
- .dock .iconButton:not(:disabled):active {
488
- transform: translateY(var(--dock-lift, 0px)) scale(0.94);
523
+ .dock .iconButton:not(:disabled):hover {
524
+ background: transparent;
489
525
  }
490
526
 
491
527
  .dock .iconButton[data-active] {
@@ -495,10 +531,13 @@
495
531
 
496
532
  .dock .iconButton[data-active]:hover { background: var(--dsw-alias-label-primary); color: var(--dsw-alias-bg-layer-1); }
497
533
 
534
+ .dock .iconButton:disabled { opacity: 0.3; cursor: not-allowed; }
535
+ .dock .iconButton:disabled:hover { background: transparent; color: var(--dsw-alias-label-secondary); }
536
+
498
537
  .dockDivider {
538
+ align-self: center;
499
539
  width: 1px;
500
540
  height: 18px;
501
- margin: 0 4px;
502
541
  background: var(--dsw-alias-border-l1);
503
542
  }
504
543