spoko-design-system 1.34.6 → 1.34.7

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
@@ -1,3 +1,11 @@
1
+ ## [1.34.7](https://github.com/polo-blue/sds/compare/v1.34.6...v1.34.7) (2026-03-17)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **ProductGallery:** clear transform-origin on zoom out and dialog close ([833fc60](https://github.com/polo-blue/sds/commit/833fc60fd23517427ebd41bf91915519a5fb73d6))
6
+ * **ProductGallery:** prevent dialog overflow after View Transitions ([f794d17](https://github.com/polo-blue/sds/commit/f794d173ffe30a703d0f91dbdb76faa9e8b68c23))
7
+ * **ProductGallery:** remove static transform-origin, use explicit max constraints on zoom img ([33658f3](https://github.com/polo-blue/sds/commit/33658f3430975864931a94c36e8befabe6382bf7))
8
+
1
9
  ## [1.34.6](https://github.com/polo-blue/sds/compare/v1.34.5...v1.34.6) (2026-03-17)
2
10
 
3
11
  ### Bug Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spoko-design-system",
3
- "version": "1.34.6",
3
+ "version": "1.34.7",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "main": "./index.ts",
@@ -243,7 +243,7 @@ const total = images.length;
243
243
  </div>
244
244
 
245
245
  <div
246
- class="pg-dialog-slider flex flex-1 min-h-0 overflow-x-auto overflow-y-hidden"
246
+ class="pg-dialog-slider flex flex-1 min-h-0 overflow-hidden"
247
247
  data-dialog-slider
248
248
  tabindex="0"
249
249
  role="group"
@@ -14,6 +14,8 @@
14
14
  scroll-behavior: smooth;
15
15
  -webkit-overflow-scrolling: touch;
16
16
  scrollbar-width: none;
17
+ overflow-x: auto;
18
+ overflow-y: hidden;
17
19
  }
18
20
 
19
21
  .pg-slider::-webkit-scrollbar,
@@ -81,7 +83,7 @@
81
83
  }
82
84
 
83
85
  .pg-dialog[open] {
84
- @apply flex flex-col;
86
+ @apply flex flex-col overflow-hidden;
85
87
  }
86
88
 
87
89
  /* ── Zoom (transform-origin based, GPU-accelerated) ── */
@@ -97,9 +99,10 @@
97
99
  }
98
100
 
99
101
  .pg-zoom-img {
100
- @apply max-w-full max-h-full object-contain select-none;
102
+ @apply object-contain select-none;
103
+ max-width: 100%;
104
+ max-height: 100%;
101
105
  -webkit-user-drag: none;
102
- transform-origin: 0 0;
103
106
  transition: transform 0.3s ease;
104
107
  will-change: transform;
105
108
  }
@@ -517,7 +517,8 @@ function initZoom(container: HTMLElement) {
517
517
  function zoomOut() {
518
518
  isZoomed = false;
519
519
  container.classList.remove('is-zoomed');
520
- img.style.transform = 'scale(1)';
520
+ img.style.transform = '';
521
+ img.style.transformOrigin = '';
521
522
  container.removeEventListener('mousemove', onMouseMove);
522
523
  }
523
524
 
@@ -608,7 +609,10 @@ function initZoom(container: HTMLElement) {
608
609
 
609
610
  function resetZoom(container: HTMLElement) {
610
611
  const img = container.querySelector<HTMLImageElement>('[data-zoom-img]');
611
- if (img) img.style.transform = '';
612
+ if (img) {
613
+ img.style.transform = '';
614
+ img.style.transformOrigin = '';
615
+ }
612
616
  container.classList.remove('is-zoomed');
613
617
  // Clean up mousemove listener if zoom was active
614
618
  zoomCleanups.get(container)?.();