@kungal/ui-vue 2.3.0 → 2.3.1

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,5 +1,35 @@
1
1
  # @kungal/ui-vue
2
2
 
3
+ ## 2.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - cf30b0c: fix(vue): KunCarousel — structurally eliminate the "runaway auto-advance" flicker
8
+
9
+ The seamless loop drives itself by writing `scrollLeft`; some browsers then nudge
10
+ `scrollLeft` again after the reorder/reflow, which the re-home logic read back as a
11
+ user scroll → re-home → nudge → a per-frame feedback loop (slides stacking and
12
+ flickering, Chrome/Edge). 2.0.1's `overflow-anchor: none` only closed one drift
13
+ source (Chromium scroll-anchoring); other sources (snap re-alignment after the
14
+ `order` reflow) could still drive it.
15
+
16
+ Three layers of defense so it can't recur regardless of the browser:
17
+
18
+ - `overflow-anchor: none` is now applied as an **inline style** instead of a
19
+ Tailwind utility — a correctness fix must not depend on a headless consumer's
20
+ Tailwind regenerating an arbitrary class; an inline style always wins and is
21
+ never purged.
22
+ - A **re-entrancy lock**: the carousel's own programmatic `scrollLeft` writes can
23
+ no longer trigger a re-home, which breaks the whole class of write→event→re-home
24
+ loops — not just scroll-anchoring.
25
+ - A **circuit breaker** plus an autoplay **self-heal**: if reorders ever spike it
26
+ drops to a plain non-looping slider, and autoplay re-homes before advancing so a
27
+ stray drift can never leave the carousel parked at a physical edge.
28
+
29
+ No API change.
30
+
31
+ - @kungal/ui-core@2.3.1
32
+
3
33
  ## 2.3.0
4
34
 
5
35
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.vue.d.ts","sourceRoot":"","sources":["../../src/components/Carousel.vue"],"names":[],"mappings":"AAoTA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AA+Y/C,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAO/C,QAAA,MAAM,UAAU;;;;;;;;;6EAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"Carousel.vue.d.ts","sourceRoot":"","sources":["../../src/components/Carousel.vue"],"names":[],"mappings":"AAwXA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AA8c/C,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAO/C,QAAA,MAAM,UAAU;;;;;;;;;6EAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}