@ssgoi/core 5.0.1 → 5.1.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.
@@ -5,12 +5,12 @@ import { SsgoiConfig, SsgoiContext, SsgoiInternalOptions } from '../types';
5
5
  * Page transition scenario: /home → /about
6
6
  *
7
7
  * **Default mode (outFirst: true)**: OUT must arrive before IN
8
- * - Best for frameworks with native destroy callbacks (Svelte, Vue)
8
+ * - Best for frameworks with native destroy callbacks (Svelte)
9
9
  * - OUT triggers first, then IN completes the pair
10
10
  * - If IN arrives without OUT, returns empty transition (page refresh)
11
11
  *
12
12
  * **Observer mode (outFirst: false)**: OUT and IN can arrive in any order
13
- * - Best for frameworks using MutationObserver (React)
13
+ * - Best for frameworks using MutationObserver (React, Vue, Solid)
14
14
  * - Either OUT or IN can arrive first
15
15
  * - Both wait indefinitely for the other to complete the pair
16
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"create-ssgoi-transition-context.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/create-ssgoi-transition-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAehF;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,eAAe,CAAC,EAAE,oBAAoB,GACrC,YAAY,CA6Id"}
1
+ {"version":3,"file":"create-ssgoi-transition-context.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/create-ssgoi-transition-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAchF;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,eAAe,CAAC,EAAE,oBAAoB,GACrC,YAAY,CA8Id"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Swipe-Back Detector
3
+ *
4
+ * Detects native edge swipe-back / swipe-forward gestures (iOS Safari, Android
5
+ * system back gesture) purely from touch event sequences. We deliberately do
6
+ * NOT depend on popstate because:
7
+ *
8
+ * - iOS 16+ has a regression (WebKit 248303) where swipe-back skips popstate
9
+ * when history entries were created without user interaction.
10
+ * - popstate doesn't tell us *how* the navigation happened — header back-button,
11
+ * keyboard shortcut, history.back() and edge-swipe all look identical.
12
+ *
13
+ * Heuristic
14
+ * 1. touchstart with a single touch starting within EDGE_THRESHOLD px of either
15
+ * vertical edge of the layout viewport → record a candidate.
16
+ * 2. touchmove that is horizontally dominant AND moves *away* from that edge
17
+ * by more than MOVE_THRESHOLD → mark candidate as "moved".
18
+ * Multi-touch, vertically-dominant motion, or losing the tracked finger all
19
+ * drop the candidate.
20
+ * 3. touchend with cumulative |dx| ≥ FINAL_DISTANCE in the correct direction
21
+ * → settle as a swipe.
22
+ * touchcancel after horizontal commitment also counts: the browser took the
23
+ * gesture over, which is exactly what edge-swipe-back does on iOS.
24
+ *
25
+ * Settling arms an "active" flag. The flag auto-expires after EXPIRE_WINDOW so
26
+ * a successful gesture that wasn't actually a navigation (e.g. user dragged a
27
+ * right-anchored sheet) doesn't poison subsequent navigations.
28
+ *
29
+ * The flag also has a `stickyActive` mirror that lives one extra macrotask past
30
+ * `onPageEnter()`, so an OUT/IN pair queued together (which can fire in either
31
+ * order across adapters) reads the same value.
32
+ *
33
+ * Mac trackpad and Magic Trackpad swipes don't dispatch touch events on web, so
34
+ * they go unhandled here. That's intentional — we'd rather miss-detect those
35
+ * than false-positive them.
36
+ */
37
+ export declare function createSwipeBackDetector(): {
38
+ initialize: () => void;
39
+ destroy: () => void;
40
+ isSwipeBack: () => boolean;
41
+ onPageEnter: () => void;
42
+ };
43
+ //# sourceMappingURL=create-swipe-back-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-swipe-back-detector.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/create-swipe-back-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAkBH,wBAAgB,uBAAuB;;;;;EA4LtC"}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * Collects out/in navigation events and provides navigation pairs.
5
5
  * Each strategy handles the timing differently:
6
- * - OutFirst: OUT must arrive before IN (for Svelte, Vue)
7
- * - AnyOrder: OUT and IN can arrive in any order (for React)
6
+ * - OutFirst: OUT must arrive before IN (for Svelte)
7
+ * - AnyOrder: OUT and IN can arrive in any order (for React, Vue, Solid)
8
8
  */
9
9
  export type NavigationPair = {
10
10
  from: string;
package/dist/types.d.ts CHANGED
@@ -344,14 +344,6 @@ export type SggoiTransitionContext = {
344
344
  positionedParent: HTMLElement;
345
345
  };
346
346
  export type SggoiTransition = Transition<SggoiTransitionContext>;
347
- /**
348
- * Platform types for skipAnimationOnBack configuration
349
- * - 'ios': iOS devices (iPhone, iPad, iPod)
350
- * - 'android': Android devices
351
- * - 'desktop': Desktop browsers (non-mobile)
352
- * - 'all': All platforms
353
- */
354
- export type Platform = "ios" | "android" | "desktop" | "all";
355
347
  export type SsgoiConfig = {
356
348
  transitions?: {
357
349
  from: string;
@@ -364,31 +356,6 @@ export type SsgoiConfig = {
364
356
  from: string;
365
357
  to: string;
366
358
  };
367
- /**
368
- * @deprecated Use `skipAnimationOnBack: ['ios']` instead. Will be removed in next major version.
369
- * Skip page transitions when iOS/Safari swipe-back gesture is detected
370
- */
371
- skipOnIosSwipe?: boolean;
372
- /**
373
- * Skip animations on browser back navigation for specified platforms
374
- *
375
- * @example
376
- * // iOS only (default)
377
- * skipAnimationOnBack: ['ios']
378
- *
379
- * // iOS and Android
380
- * skipAnimationOnBack: ['ios', 'android']
381
- *
382
- * // All platforms
383
- * skipAnimationOnBack: ['all']
384
- *
385
- * // Disabled - always run animations
386
- * skipAnimationOnBack: []
387
- *
388
- * This prevents animation conflicts with native swipe-back gestures.
389
- * @default ['ios']
390
- */
391
- skipAnimationOnBack?: Platform[];
392
359
  /**
393
360
  * Automatically preserve and restore scroll position when navigating between pages.
394
361
  *
@@ -419,10 +386,11 @@ export type SsgoiInternalOptions = {
419
386
  * Whether OUT transition must arrive before IN transition
420
387
  *
421
388
  * - true (default): OUT must arrive first, IN completes the pair.
422
- * Best for frameworks with native destroy callbacks (Svelte, Vue).
389
+ * Best for frameworks with native destroy callbacks (Svelte).
423
390
  *
424
391
  * - false: OUT and IN can arrive in any order, both wait indefinitely.
425
- * Best for frameworks using MutationObserver for unmount detection (React).
392
+ * Best for frameworks using MutationObserver for unmount detection
393
+ * (React, Vue, Solid).
426
394
  *
427
395
  * @default true
428
396
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,4 @@ export { getRect } from './get-rect';
6
6
  export { round, floor, ceil, toFixed } from './number';
7
7
  export { withResolvers } from './with-resolvers';
8
8
  export { waitPaint } from './wait-paint';
9
- export { isIOS } from './is-ios';
10
- export { isAndroid } from './is-android';
11
- export { isDesktop } from './is-desktop';
12
- export { matchPlatform } from './match-platform';
13
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
@@ -32,4 +32,4 @@
32
32
  ${n.left+n.width}px ${n.top}px,
33
33
  ${n.left+n.width}px ${n.top+n.height}px,
34
34
  ${n.left}px ${n.top+n.height}px
35
- )`}function Ct(t,n){t.style.transform=`translateY(${-n.top}px)`}const Ot={spring:{stiffness:300,damping:30}};function St(t,n){return t.querySelector(`[data-hero-key="${n}"]`)}const At=(t={})=>{const n=t.physics??Ot,r=t.maxDistance??700;let c=null,s=E();return{in:async(i,e)=>{const a=i,l=Array.from(a.querySelectorAll("[data-hero-key]"));await s.promise;const y=l.map(o=>{const h=o.getAttribute("data-hero-key");if(!h)return null;const d=St(c,h);if(!d)return null;const u=o,f=x(c,d),p=x(a,u),$=f.left-p.left-e.scrollOffset.x,w=f.top-p.top-e.scrollOffset.y,b=f.width/p.width,C=f.height/p.height,Y=u.style.transform,D=u.style.position,F=u.style.transformOrigin,U=u.style.zIndex,V=u.style.willChange;return{toEl:u,dx:$,dy:w,dw:b,dh:C,originalTransform:Y,originalPosition:D,originalTransformOrigin:F,originalZIndex:U,originalWillChange:V}}).filter(o=>o!==null&&Math.abs(o.dy)<=r);return c=null,s=E(),y.length===0?{physics:n,tick:()=>{}}:{items:y.map(({toEl:o,dx:h,dy:d,dw:u,dh:f})=>({physics:n,tick:p=>{o.style.transform=`translate(${(1-p)*h}px, ${(1-p)*d}px) scale(${p+(1-p)*u}, ${p+(1-p)*f})`}})),schedule:"parallel",prepare:()=>{y.forEach(({toEl:o})=>{o.style.position="relative",o.style.transformOrigin="top left",o.style.zIndex="1000",o.style.willChange="transform"})},onEnd:()=>{y.forEach(({toEl:o,originalTransform:h,originalPosition:d,originalTransformOrigin:u,originalZIndex:f,originalWillChange:p})=>{o.style.transform=h,o.style.position=d,o.style.transformOrigin=u,o.style.zIndex=f,o.style.willChange=p})}}},out:async i=>({physics:n,tick:()=>{},prepare:()=>{c=i,s.resolve(),g(i),i.style.opacity="0"}})}},Tt={spring:{stiffness:220,damping:24,doubleSpring:1}};function Pt({detailRect:t,galleryRect:n,pageRect:r,scrollOffset:c}){const s=n.left-t.left+(n.width-t.width)/2-c.x,i=n.top-t.top+(n.height-t.height)/2-c.y,e=n.width/t.width,a=n.height/t.height,l=Math.max(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${s*p}px, ${i*p}px) scale(${1+(l-1)*p})`}}}}function Lt({detailRect:t,galleryRect:n,pageRect:r,scrollOffset:c}){const s=n.left-t.left+(n.width-t.width)/2+c.x,i=n.top-t.top+(n.height-t.height)/2+c.y,e=n.width/t.width,a=n.height/t.height,l=Math.min(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${s*p-c.x}px, ${i*p-c.y}px) scale(${1+(l-1)*p})`}}}}function kt(t,n,r){const c=t.querySelector("[data-instagram-detail-key]"),s=n.querySelector("[data-instagram-detail-key]");if(t.querySelectorAll("[data-instagram-detail-key]").length>1||n.querySelectorAll("[data-instagram-detail-key]").length>1)return null;let i=null,e=null,a=!1;if(!c&&s){e=s;const o=e.getAttribute("data-instagram-detail-key");if(!o)return null;i=t.querySelector(`[data-instagram-gallery-key="${o}"]`),i&&(a=!0)}else if(c&&!s){e=c;const o=e.getAttribute("data-instagram-detail-key");if(!o)return null;i=n.querySelector(`[data-instagram-gallery-key="${o}"]`),i&&(a=!1)}if(!i||!e)return null;const l=x(a?t:n,i),y=x(a?n:t,e);if(a){const o=Pt({detailRect:y,galleryRect:l,pageRect:n.getBoundingClientRect(),scrollOffset:r});return n.style.transformOrigin=o.transformOrigin,{isEnterMode:!0,inAnimation:o.animate}}else{const o=Lt({detailRect:y,galleryRect:l,pageRect:t.getBoundingClientRect(),scrollOffset:r});return t.style.transformOrigin=o.transformOrigin,{isEnterMode:!1,outAnimation:o.animate}}}const vt=(t={})=>{const n=t.physics??Tt,r=t.timeout??300;let c=null,s=null,i=null,e=null;return{in:async(a,{scrollOffset:l})=>{const y=a;return!await new Promise(h=>{c?h(!0):(s=h,setTimeout(()=>{s=null,h(!1)},r))})||!c?(e==null||e(),e=null,c=null,{physics:n,css:()=>({})}):(i=kt(c,y,l),e==null||e(),e=null,i?(c=null,{physics:n,css:h=>i!=null&&i.inAnimation?i.inAnimation(h):{}}):(c=null,{physics:n,css:()=>({})}))},out:async(a,l)=>{const y=new Promise(o=>{e=o});return{physics:n,prepare:()=>{i!=null&&i.isEnterMode?g(a):(g(a,l),a.style.zIndex="-1")},wait:async()=>{c=a,s&&(s(!0),s=null),await y},css:o=>i!=null&&i.outAnimation?i.outAnimation(o):{}}}}},mt={spring:{stiffness:50,damping:30}};function It(t){const n=x(document.body,t.positionedParent);return{top:t.scroll.y,left:0,width:n.width,height:window.innerHeight-n.top}}const _t=(t={})=>{const n=t.physics??mt,r=t.initialRotation??45,c=t.initialScale??.01,s=t.rotationTriggerPoint??.8;return{out:async(i,e)=>{const a=i.style.opacity;return{physics:{spring:{stiffness:80,damping:25}},from:1,to:0,prepare:()=>{g(i,e),i.style.opacity="1"},tick:l=>{i.style.opacity=String(l)},onEnd:()=>{i.style.opacity=a}}},in:async(i,e)=>{const a=It(e),l=i.style.transform,y=i.style.transformOrigin,o=i.style.position,h=i.style.zIndex;return{physics:n,from:0,to:1,prepare:()=>{const d=Math.min(a.width,a.height)*.4;i.style.setProperty("--max-border-radius",`${d}px`),i.style.setProperty("--border-radius-scale","1"),i.style.willChange="transform",i.style.backfaceVisibility="hidden";const u=a.left+a.width/2,f=a.top+a.height/2;i.style.transformOrigin=`${u}px ${f}px`,i.style.position="fixed",i.style.top=`${a.top}px`,i.style.left=`${a.left}px`,i.style.width=`${a.width}px`,i.style.height=`${a.height}px`,i.style.zIndex="1000",i.style.overflow="hidden",i.style.transform=`rotate(${r}deg) scale(${c}) translateZ(0)`,i.style.borderRadius="calc(var(--max-border-radius) * var(--border-radius-scale))",i.style.opacity="1"},tick:d=>{let u;if(d<=.05)u=c;else if(d<=s){const w=(d-.05)/(s-.05),b=Math.pow(w,9);u=c+(.8-c)*b}else{const w=(d-s)/(1-s);u=.8+.2*(1-Math.pow(1-w,3))}let f;const p=.7;if(d<=p)f=r;else{const w=(d-p)/(1-p),b=1-Math.pow(1-w,2);f=r*(1-b)}let $;if(d<=p)$=1;else{const w=(d-p)/(1-p);$=1-Math.pow(w,.5)}i.style.transform=`rotate(${f.toFixed(2)}deg) scale(${u.toFixed(4)}) translateZ(0)`,i.style.setProperty("--border-radius-scale",$.toFixed(4))},onEnd:()=>{i.style.willChange="",i.style.backfaceVisibility="",i.style.removeProperty("--max-border-radius"),i.style.removeProperty("--border-radius-scale"),i.style.transform=l,i.style.transformOrigin=y,i.style.position=o,i.style.zIndex=h,i.style.top="",i.style.left="",i.style.width="",i.style.height="",i.style.overflow="",i.style.borderRadius=""}}}}},Yt={spring:{stiffness:220,damping:24,doubleSpring:1}};function Dt({detailRect:t,galleryRect:n,pageRect:r,scrollOffset:c}){const s=n.left-t.left+(n.width-t.width)/2-c.x,i=n.top-t.top+(n.height-t.height)/2-c.y,e=n.width/t.width,a=n.height/t.height,l=Math.max(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${s*p}px, ${i*p}px) scale(${1+(l-1)*p})`}}}}function Ft({galleryRect:t,detailRect:n,scrollOffset:r}){const c=n.left-t.left+(n.width-t.width)/2+r.x,s=n.top-t.top+(n.height-t.height)/2+r.y,i=n.width/t.width,e=n.height/t.height,a=Math.max(i,e);return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:y=>{const o=1-y;return{transform:`translate(${c*o-r.x}px, ${s*o-r.y}px) scale(${1+(a-1)*o})`,opacity:`${1-o}`}}}}function Ut({galleryRect:t,detailRect:n,scrollOffset:r}){const c=n.left-t.left+(n.width-t.width)/2-r.x,s=n.top-t.top+(n.height-t.height)/2-r.y,i=n.width/t.width,e=n.height/t.height,a=Math.max(i,e);return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:y=>{const o=1-y,h=y;return{transform:`translate(${c*o}px, ${s*o}px) scale(${1+(a-1)*o})`,opacity:`${h}`}}}}function Vt({detailRect:t,galleryRect:n,pageRect:r,scrollOffset:c}){const s=n.left-t.left+(n.width-t.width)/2+c.x,i=n.top-t.top+(n.height-t.height)/2+c.y,e=n.width/t.width,a=n.height/t.height,l=Math.min(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${s*p-c.x}px, ${i*p-c.y}px) scale(${1+(l-1)*p})`}}}}function Ht(t,n,r){const c=t.querySelector("[data-pinterest-detail-key]"),s=n.querySelector("[data-pinterest-detail-key]");if(t.querySelectorAll("[data-pinterest-detail-key]").length>1||n.querySelectorAll("[data-pinterest-detail-key]").length>1)return null;let i=null,e=null,a=!1;if(!c&&s){e=s;const o=e.getAttribute("data-pinterest-detail-key");if(!o)return null;i=t.querySelector(`[data-pinterest-gallery-key="${o}"]`),i&&(a=!0)}else if(c&&!s){e=c;const o=e.getAttribute("data-pinterest-detail-key");if(!o)return null;i=n.querySelector(`[data-pinterest-gallery-key="${o}"]`),i&&(a=!1)}if(!i||!e)return null;const l=x(a?t:n,i),y=x(a?n:t,e);if(a){const o=Dt({detailRect:y,galleryRect:l,pageRect:n.getBoundingClientRect(),scrollOffset:r}),h=Ft({galleryRect:l,detailRect:y,scrollOffset:r});return n.style.transformOrigin=o.transformOrigin,t.style.transformOrigin=h.transformOrigin,{inAnimation:o.animate,outAnimation:h.animate}}else{const o=Ut({galleryRect:l,detailRect:y,scrollOffset:r}),h=Vt({detailRect:y,galleryRect:l,pageRect:t.getBoundingClientRect(),scrollOffset:r});return n.style.transformOrigin=o.transformOrigin,t.style.transformOrigin=h.transformOrigin,{inAnimation:o.animate,outAnimation:h.animate}}}const Xt=(t={})=>{const n=t.physics??Yt,r=t.timeout??300;let c=null,s=null,i=null,e=null;return{in:async(a,{scrollOffset:l})=>{const y=a;return!await new Promise(h=>{c?h(!0):(s=h,setTimeout(()=>{s=null,h(!1)},r))})||!c?(e==null||e(),e=null,c=null,{physics:n,css:()=>({})}):(i=Ht(c,y,l),e==null||e(),e=null,i?(c=null,{physics:n,css:h=>i?i.inAnimation(h):{}}):(c=null,{physics:n,css:()=>({})}))},out:async a=>{const l=new Promise(y=>{e=y});return{physics:n,prepare:()=>{g(a),a.style.zIndex="-1",c=a,s&&(s(!0),s=null)},wait:async()=>{await l},css:y=>i?i.outAnimation(y):{}}}}},zt={spring:{stiffness:100,damping:30}},Mt=(t={})=>{const n=t.physics??zt;return{in:r=>({physics:n,prepare:()=>{r.style.opacity="0",r.style.transform="rotate(-180deg)",r.style.transformOrigin="center center",r.style.willChange="transform, opacity"},css:c=>({transform:`rotate(${(c-1)*180}deg)`,opacity:c>.5?1:0}),onEnd:()=>{r.style.willChange="auto",r.style.transform="",r.style.transformOrigin="",r.style.opacity=""}}),out:(r,c)=>({physics:n,prepare:()=>{g(r,c),r.style.transformOrigin="center center",r.style.willChange="transform, opacity"},css:s=>({transform:`rotate(${(1-s)*180}deg)`,opacity:s>.5?1:0}),onEnd:()=>{r.style.willChange="auto"}})}},Wt={spring:{stiffness:5,damping:4}},Bt=(t={})=>{const n=t.direction??"up",r=t.physics??Wt,c=n==="up";let s=null,i=null,e=null;const a=()=>{if(s===null||i===null)return null;const l=Math.min(s,i),y=window.innerHeight;return Math.max(l,y)};return{in:l=>(i=l.offsetHeight,s!==null&&(e=a()),{physics:r,prepare:()=>{l.style.willChange="transform",l.style.backfaceVisibility="hidden",l.style.contain="layout paint"},tick:y=>{e===null&&(e=a());const o=e??window.innerHeight,h=c?(1-y)*o:(1-y)*-o;l.style.transform=`translate3d(0, ${h}px, 0)`},onEnd:()=>{l.style.willChange="auto",l.style.backfaceVisibility="",l.style.contain=""}}),out:(l,y)=>({physics:r,tick:o=>{e===null&&(e=a());const h=e??window.innerHeight,d=c?(1-o)*-h:(1-o)*h;l.style.transform=`translate3d(0, ${d}px, 0)`},prepare:()=>{s=l.offsetHeight,i!==null&&(e=a()),g(l,y),l.style.zIndex=c?"-1":"1",l.style.willChange="transform",l.style.backfaceVisibility="hidden",l.style.contain="layout paint",l.style.pointerEvents="none"}})}},qt={spring:{stiffness:200,damping:24}},jt={inertia:{acceleration:25,resistance:1.2}},Nt=.2;function T(t){const n=x(document.body,t.positionedParent),r=t.scroll.y,c=t.scrollingElement.offsetHeight-n.top,s={top:r,left:0,width:n.width,height:c};return{...s,centerX:s.left+s.width/2,centerY:s.top+s.height/2}}const Gt=(t={})=>{const{direction:n="enter"}=t,r=t.physics??(n==="enter"?qt:jt),c=t.scaleOffset??Nt;return n==="enter"?{in:(s,i)=>{const e=T(i);return{physics:r,prepare:()=>{s.style.willChange="transform",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.clipPath=`inset(${e.top}px 0 calc(100% - ${e.top+e.height}px) 0)`},css:a=>({transform:`translate3d(0, ${(1-a)*e.height}px, 0)`}),onEnd:()=>{s.style.willChange="auto",s.style.backfaceVisibility="",s.style.contain="",s.style.clipPath=""}}},out:(s,i)=>{const e=T(i),a=e.left+e.width/2,l=e.top+e.height/2;return{physics:r,prepare:()=>{g(s,i),s.style.zIndex="-1",s.style.willChange="transform, opacity",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.pointerEvents="none",s.style.transformOrigin=`${a}px ${l}px`},css:y=>({transform:`scale(${1-c+y*c})`,opacity:y})}}}:{in:(s,i)=>{const e=T(i),a=e.left+e.width/2,l=e.top+e.height/2;return{physics:r,prepare:()=>{s.style.willChange="transform, opacity",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.transformOrigin=`${a}px ${l}px`},css:y=>({transform:`scale(${1-c+y*c})`,opacity:y}),onEnd:()=>{s.style.willChange="auto",s.style.backfaceVisibility="",s.style.contain="",s.style.transformOrigin=""}}},out:(s,i)=>{const a=T(i).height,l=i.scroll.y;return{physics:r,prepare:()=>{g(s,i),s.style.zIndex="100",s.style.willChange="transform",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.pointerEvents="none",s.style.clipPath=`inset(${l}px 0 calc(100% - ${l+a}px) 0)`},css:y=>({transform:`translate3d(0, ${(1-y)*a}px, 0)`})}}}},Zt={spring:{stiffness:170,damping:22,doubleSpring:.8}},Jt=(t={})=>{const n=t.direction??"left",r=t.physics??Zt,c=n==="left";return{in:s=>({physics:r,prepare:()=>{s.style.willChange="transform",s.style.backfaceVisibility="hidden",s.style.contain="layout paint"},css:i=>({transform:`translate3d(${c?(1-i)*100:(1-i)*-100}%, 0, 0)`}),onEnd:()=>{s.style.willChange="auto",s.style.backfaceVisibility="",s.style.contain=""}}),out:(s,i)=>({physics:r,css:e=>({transform:`translate3d(${c?(1-e)*-100:(1-e)*100}%, 0, 0)`}),prepare:()=>{g(s,i),s.style.willChange="transform",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.pointerEvents="none"}})}},Kt=8,Qt={spring:{stiffness:400,damping:30,restDelta:.1,restSpeed:1e14}},Rt=(t={})=>{const n=t.direction??"left",r=t.physics??Qt,c=t.translateOffset??Kt,s=n==="left";let{promise:i,resolve:e}=E();return{in:a=>({physics:r,prepare:()=>{a.style.opacity="0",a.style.willChange="transform, opacity",a.style.backfaceVisibility="hidden",a.style.contain="layout paint"},wait:async()=>{if(i){await i;const l=E();i=l.promise,e=l.resolve}},css:l=>{const y=s?(1-l)*c:(1-l)*-c,o=`${l}`;return{transform:`translate3d(${y}px, 0, 0)`,opacity:o}},onEnd:()=>{a.style.opacity="1",a.style.willChange="auto",a.style.backfaceVisibility="",a.style.contain=""}}),out:(a,l)=>({physics:r,prepare:()=>{g(a,l),a.style.willChange="transform, opacity",a.style.backfaceVisibility="hidden",a.style.contain="layout paint",a.style.pointerEvents="none"},css:y=>{const o=s?(1-y)*-c:(1-y)*c,h=`${y}`;return{transform:`translate3d(${o}px, 0, 0)`,opacity:h}},onEnd:()=>{e&&e(),a.style.willChange="auto",a.style.backfaceVisibility="",a.style.contain=""}})}},ts={spring:{stiffness:17,damping:6}},L=20,P=800,ss=(t={})=>{const n=t.physics??ts;let r,c=null;return{in:s=>({physics:n,prepare:()=>{s.style.willChange="transform",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.transform=`perspective(${P}px) rotateY(${L}deg) translate3d(-100%, 0, 0)`},wait:async()=>{r&&await r},css:i=>{const e=(1-i)*L,a=-(1-i)*100;return{transform:`perspective(${P}px) rotateY(${e}deg) translate3d(${a}%, 0, 0)`}},onEnd:()=>{s.style.transform="",s.style.willChange="auto",s.style.backfaceVisibility="",s.style.contain=""}}),out:(s,i)=>(r=new Promise(e=>{c=e}),{physics:n,prepare:()=>{g(s,i),s.style.willChange="transform",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.pointerEvents="none",s.style.transform=`perspective(${P}px) rotateY(0deg) translate3d(0%, 0, 0)`},css:e=>{const a=1-e,l=a*L,y=a*100;return{transform:`perspective(${P}px) rotateY(${-l}deg) translate3d(${y}%, 0, 0)`}},onEnd:()=>{c&&c(),s.style.transform=""}})}},is={spring:{stiffness:350,damping:32,restDelta:.1,restSpeed:1e14}},ns=.05;function es(t){const n=x(document.body,t.positionedParent),r=t.scroll.y,c=window.innerHeight-n.top;return{top:r,left:0,width:n.width,height:c}}const as=(t={})=>{const n=t.physics??is,r=t.scaleOffset??ns;let{promise:c,resolve:s}=E();return{in:(i,e)=>{const a=es(e),l=a.left+a.width/2,y=a.top+a.height/2;return{physics:n,prepare:()=>{i.style.opacity="0",i.style.willChange="transform, opacity",i.style.backfaceVisibility="hidden",i.style.contain="layout paint",i.style.transformOrigin=`${l}px ${y}px`},wait:async()=>{if(c){await c;const o=E();c=o.promise,s=o.resolve}},css:o=>({transform:`scale(${1-r+o*r})`,opacity:o}),onEnd:()=>{i.style.opacity="1",i.style.willChange="auto",i.style.backfaceVisibility="",i.style.contain="",i.style.transformOrigin=""}}},out:(i,e)=>({physics:n,prepare:()=>{g(i,e),i.style.willChange="opacity",i.style.backfaceVisibility="hidden",i.style.contain="layout paint",i.style.pointerEvents="none"},css:a=>({opacity:a}),onEnd:()=>{s&&s()}})}};exports.blind=q;exports.curtainReveal=et;exports.depth=lt;exports.drill=ht;exports.fade=ft;exports.film=bt;exports.hero=At;exports.instagram=vt;exports.jaemin=_t;exports.pinterest=Xt;exports.rotate=Mt;exports.scroll=Bt;exports.sheet=Gt;exports.slide=Jt;exports.snap=Rt;exports.strip=ss;exports.swap=as;
35
+ )`}function Ct(t,n){t.style.transform=`translateY(${-n.top}px)`}const Ot={spring:{stiffness:300,damping:30}};function St(t,n){return t.querySelector(`[data-hero-key="${n}"]`)}const At=(t={})=>{const n=t.physics??Ot,r=t.maxDistance??700;let c=null,s=E();return{in:async(i,e)=>{const a=i,l=Array.from(a.querySelectorAll("[data-hero-key]"));await s.promise;const y=l.map(o=>{const h=o.getAttribute("data-hero-key");if(!h)return null;const d=St(c,h);if(!d)return null;const u=o,f=x(c,d),p=x(a,u),$=f.left-p.left-e.scrollOffset.x,w=f.top-p.top-e.scrollOffset.y,b=f.width/p.width,C=f.height/p.height,Y=u.style.transform,D=u.style.position,F=u.style.transformOrigin,U=u.style.zIndex,V=u.style.willChange;return{toEl:u,dx:$,dy:w,dw:b,dh:C,originalTransform:Y,originalPosition:D,originalTransformOrigin:F,originalZIndex:U,originalWillChange:V}}).filter(o=>o!==null&&Math.abs(o.dy)<=r);return c=null,s=E(),y.length===0?{physics:n,tick:()=>{}}:{items:y.map(({toEl:o,dx:h,dy:d,dw:u,dh:f})=>({physics:n,tick:p=>{o.style.transform=`translate(${(1-p)*h}px, ${(1-p)*d}px) scale(${p+(1-p)*u}, ${p+(1-p)*f})`}})),schedule:"parallel",prepare:()=>{y.forEach(({toEl:o})=>{o.style.position="relative",o.style.transformOrigin="top left",o.style.zIndex="1000",o.style.willChange="transform"})},onEnd:()=>{y.forEach(({toEl:o,originalTransform:h,originalPosition:d,originalTransformOrigin:u,originalZIndex:f,originalWillChange:p})=>{o.style.transform=h,o.style.position=d,o.style.transformOrigin=u,o.style.zIndex=f,o.style.willChange=p})}}},out:async i=>({physics:n,tick:()=>{},prepare:()=>{c=i,s.resolve(),g(i),i.style.opacity="0"}})}},Tt={spring:{stiffness:220,damping:24,doubleSpring:1}};function Pt({detailRect:t,galleryRect:n,pageRect:r,scrollOffset:c}){const s=n.left-t.left+(n.width-t.width)/2-c.x,i=n.top-t.top+(n.height-t.height)/2-c.y,e=n.width/t.width,a=n.height/t.height,l=Math.max(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${s*p}px, ${i*p}px) scale(${1+(l-1)*p})`}}}}function Lt({detailRect:t,galleryRect:n,pageRect:r,scrollOffset:c}){const s=n.left-t.left+(n.width-t.width)/2+c.x,i=n.top-t.top+(n.height-t.height)/2+c.y,e=n.width/t.width,a=n.height/t.height,l=Math.min(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${s*p-c.x}px, ${i*p-c.y}px) scale(${1+(l-1)*p})`}}}}function kt(t,n,r){const c=t.querySelector("[data-instagram-detail-key]"),s=n.querySelector("[data-instagram-detail-key]");if(t.querySelectorAll("[data-instagram-detail-key]").length>1||n.querySelectorAll("[data-instagram-detail-key]").length>1)return null;let i=null,e=null,a=!1;if(!c&&s){e=s;const o=e.getAttribute("data-instagram-detail-key");if(!o)return null;i=t.querySelector(`[data-instagram-gallery-key="${o}"]`),i&&(a=!0)}else if(c&&!s){e=c;const o=e.getAttribute("data-instagram-detail-key");if(!o)return null;i=n.querySelector(`[data-instagram-gallery-key="${o}"]`),i&&(a=!1)}if(!i||!e)return null;const l=x(a?t:n,i),y=x(a?n:t,e);if(a){const o=Pt({detailRect:y,galleryRect:l,pageRect:n.getBoundingClientRect(),scrollOffset:r});return n.style.transformOrigin=o.transformOrigin,{isEnterMode:!0,inAnimation:o.animate}}else{const o=Lt({detailRect:y,galleryRect:l,pageRect:t.getBoundingClientRect(),scrollOffset:r});return t.style.transformOrigin=o.transformOrigin,{isEnterMode:!1,outAnimation:o.animate}}}const vt=(t={})=>{const n=t.physics??Tt,r=t.timeout??300;let c=null,s=null,i=null,e=null;return{in:async(a,{scrollOffset:l})=>{const y=a;return!await new Promise(h=>{c?h(!0):(s=h,setTimeout(()=>{s=null,h(!1)},r))})||!c?(e==null||e(),e=null,c=null,{physics:n,css:()=>({})}):(i=kt(c,y,l),e==null||e(),e=null,i?(c=null,{physics:n,css:h=>i!=null&&i.inAnimation?i.inAnimation(h):{}}):(c=null,{physics:n,css:()=>({})}))},out:async(a,l)=>{const y=new Promise(o=>{e=o});return{physics:n,prepare:()=>{i!=null&&i.isEnterMode?g(a):(g(a,l),a.style.zIndex="-1")},wait:async()=>{c=a,s&&(s(!0),s=null),await y},css:o=>i!=null&&i.outAnimation?i.outAnimation(o):{}}}}},mt={spring:{stiffness:50,damping:30}};function It(t){const n=x(document.body,t.positionedParent);return{top:t.scroll.y,left:0,width:n.width,height:window.innerHeight-n.top}}const _t=(t={})=>{const n=t.physics??mt,r=t.initialRotation??45,c=t.initialScale??.01,s=t.rotationTriggerPoint??.8;return{out:async(i,e)=>{const a=i.style.opacity;return{physics:{spring:{stiffness:80,damping:25}},from:1,to:0,prepare:()=>{g(i,e),i.style.opacity="1"},tick:l=>{i.style.opacity=String(l)},onEnd:()=>{i.style.opacity=a}}},in:async(i,e)=>{const a=It(e),l=i.style.transform,y=i.style.transformOrigin,o=i.style.position,h=i.style.zIndex;return{physics:n,from:0,to:1,prepare:()=>{const d=Math.min(a.width,a.height)*.4;i.style.setProperty("--max-border-radius",`${d}px`),i.style.setProperty("--border-radius-scale","1"),i.style.willChange="transform",i.style.backfaceVisibility="hidden";const u=a.left+a.width/2,f=a.top+a.height/2;i.style.transformOrigin=`${u}px ${f}px`,i.style.position="fixed",i.style.top=`${a.top}px`,i.style.left=`${a.left}px`,i.style.width=`${a.width}px`,i.style.height=`${a.height}px`,i.style.zIndex="1000",i.style.overflow="hidden",i.style.transform=`rotate(${r}deg) scale(${c}) translateZ(0)`,i.style.borderRadius="calc(var(--max-border-radius) * var(--border-radius-scale))",i.style.opacity="1"},tick:d=>{let u;if(d<=.05)u=c;else if(d<=s){const w=(d-.05)/(s-.05),b=Math.pow(w,9);u=c+(.8-c)*b}else{const w=(d-s)/(1-s);u=.8+.2*(1-Math.pow(1-w,3))}let f;const p=.7;if(d<=p)f=r;else{const w=(d-p)/(1-p),b=1-Math.pow(1-w,2);f=r*(1-b)}let $;if(d<=p)$=1;else{const w=(d-p)/(1-p);$=1-Math.pow(w,.5)}i.style.transform=`rotate(${f.toFixed(2)}deg) scale(${u.toFixed(4)}) translateZ(0)`,i.style.setProperty("--border-radius-scale",$.toFixed(4))},onEnd:()=>{i.style.willChange="",i.style.backfaceVisibility="",i.style.removeProperty("--max-border-radius"),i.style.removeProperty("--border-radius-scale"),i.style.transform=l,i.style.transformOrigin=y,i.style.position=o,i.style.zIndex=h,i.style.top="",i.style.left="",i.style.width="",i.style.height="",i.style.overflow="",i.style.borderRadius=""}}}}},Yt={spring:{stiffness:220,damping:24,doubleSpring:1}};function Dt({detailRect:t,galleryRect:n,pageRect:r,scrollOffset:c}){const s=n.left-t.left+(n.width-t.width)/2-c.x,i=n.top-t.top+(n.height-t.height)/2-c.y,e=n.width/t.width,a=n.height/t.height,l=Math.max(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${s*p}px, ${i*p}px) scale(${1+(l-1)*p})`}}}}function Ft({galleryRect:t,detailRect:n,scrollOffset:r}){const c=n.left-t.left+(n.width-t.width)/2+r.x,s=n.top-t.top+(n.height-t.height)/2+r.y,i=n.width/t.width,e=n.height/t.height,a=Math.max(i,e);return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:y=>{const o=1-y;return{transform:`translate(${c*o-r.x}px, ${s*o-r.y}px) scale(${1+(a-1)*o})`,opacity:`${1-o}`}}}}function Ut({galleryRect:t,detailRect:n,scrollOffset:r}){const c=n.left-t.left+(n.width-t.width)/2-r.x,s=n.top-t.top+(n.height-t.height)/2-r.y,i=n.width/t.width,e=n.height/t.height,a=Math.max(i,e);return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:y=>{const o=1-y,h=y;return{transform:`translate(${c*o}px, ${s*o}px) scale(${1+(a-1)*o})`,opacity:`${h}`}}}}function Vt({detailRect:t,galleryRect:n,pageRect:r,scrollOffset:c}){const s=n.left-t.left+(n.width-t.width)/2+c.x,i=n.top-t.top+(n.height-t.height)/2+c.y,e=n.width/t.width,a=n.height/t.height,l=Math.min(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${s*p-c.x}px, ${i*p-c.y}px) scale(${1+(l-1)*p})`}}}}function Ht(t,n,r){const c=t.querySelector("[data-pinterest-detail-key]"),s=n.querySelector("[data-pinterest-detail-key]");if(t.querySelectorAll("[data-pinterest-detail-key]").length>1||n.querySelectorAll("[data-pinterest-detail-key]").length>1)return null;let i=null,e=null,a=!1;if(!c&&s){e=s;const o=e.getAttribute("data-pinterest-detail-key");if(!o)return null;i=t.querySelector(`[data-pinterest-gallery-key="${o}"]`),i&&(a=!0)}else if(c&&!s){e=c;const o=e.getAttribute("data-pinterest-detail-key");if(!o)return null;i=n.querySelector(`[data-pinterest-gallery-key="${o}"]`),i&&(a=!1)}if(!i||!e)return null;const l=x(a?t:n,i),y=x(a?n:t,e);if(a){const o=Dt({detailRect:y,galleryRect:l,pageRect:n.getBoundingClientRect(),scrollOffset:r}),h=Ft({galleryRect:l,detailRect:y,scrollOffset:r});return n.style.transformOrigin=o.transformOrigin,t.style.transformOrigin=h.transformOrigin,{inAnimation:o.animate,outAnimation:h.animate}}else{const o=Ut({galleryRect:l,detailRect:y,scrollOffset:r}),h=Vt({detailRect:y,galleryRect:l,pageRect:t.getBoundingClientRect(),scrollOffset:r});return n.style.transformOrigin=o.transformOrigin,t.style.transformOrigin=h.transformOrigin,{inAnimation:o.animate,outAnimation:h.animate}}}const Xt=(t={})=>{const n=t.physics??Yt,r=t.timeout??300;let c=null,s=null,i=null,e=null;return{in:async(a,{scrollOffset:l})=>{const y=a;return!await new Promise(h=>{c?h(!0):(s=h,setTimeout(()=>{s=null,h(!1)},r))})||!c?(e==null||e(),e=null,c=null,{physics:n,css:()=>({})}):(i=Ht(c,y,l),e==null||e(),e=null,i?(c=null,{physics:n,css:h=>i?i.inAnimation(h):{}}):(c=null,{physics:n,css:()=>({})}))},out:async a=>{const l=new Promise(y=>{e=y});return{physics:n,prepare:()=>{g(a),a.style.zIndex="-1",c=a,s&&(s(!0),s=null)},wait:async()=>{await l},css:y=>i?i.outAnimation(y):{}}}}},zt={spring:{stiffness:100,damping:30}},Mt=(t={})=>{const n=t.physics??zt;return{in:r=>({physics:n,prepare:()=>{r.style.opacity="0",r.style.transform="rotate(-180deg)",r.style.transformOrigin="center center",r.style.willChange="transform, opacity"},css:c=>({transform:`rotate(${(c-1)*180}deg)`,opacity:c>.5?1:0}),onEnd:()=>{r.style.willChange="auto",r.style.transform="",r.style.transformOrigin="",r.style.opacity=""}}),out:(r,c)=>({physics:n,prepare:()=>{g(r,c),r.style.transformOrigin="center center",r.style.willChange="transform, opacity"},css:s=>({transform:`rotate(${(1-s)*180}deg)`,opacity:s>.5?1:0}),onEnd:()=>{r.style.willChange="auto"}})}},Wt={spring:{stiffness:5,damping:4}},Bt=(t={})=>{const n=t.direction??"up",r=t.physics??Wt,c=n==="up";let s=null,i=null,e=null;const a=()=>{if(s===null||i===null)return null;const l=Math.min(s,i),y=window.innerHeight;return Math.max(l,y)};return{in:l=>(i=l.offsetHeight,s!==null&&(e=a()),{physics:r,prepare:()=>{l.style.willChange="transform",l.style.backfaceVisibility="hidden",l.style.contain="layout paint"},tick:y=>{e===null&&(e=a());const o=e??window.innerHeight,h=c?(1-y)*o:(1-y)*-o;l.style.transform=`translate3d(0, ${h}px, 0)`},onEnd:()=>{l.style.willChange="auto",l.style.backfaceVisibility="",l.style.contain=""}}),out:(l,y)=>({physics:r,tick:o=>{e===null&&(e=a());const h=e??window.innerHeight,d=c?(1-o)*-h:(1-o)*h;l.style.transform=`translate3d(0, ${d}px, 0)`},prepare:()=>{s=l.offsetHeight,i!==null&&(e=a()),g(l,y),l.style.zIndex=c?"-1":"1",l.style.willChange="transform",l.style.backfaceVisibility="hidden",l.style.contain="layout paint",l.style.pointerEvents="none"}})}},qt={spring:{stiffness:200,damping:24}},jt={inertia:{acceleration:25,resistance:1.2}},Nt=.2;function T(t){const n=x(document.body,t.positionedParent),r=t.scroll.y,c=t.scrollingElement.offsetHeight-n.top,s={top:r,left:0,width:n.width,height:c};return{...s,centerX:s.left+s.width/2,centerY:s.top+s.height/2}}const Gt=(t={})=>{const{direction:n="enter"}=t,r=t.physics??(n==="enter"?qt:jt),c=t.scaleOffset??Nt;return n==="enter"?{in:(s,i)=>{const e=T(i);return{physics:r,prepare:()=>{s.style.willChange="transform",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.clipPath=`inset(${e.top}px 0 calc(100% - ${e.top+e.height}px) 0)`},css:a=>({transform:`translate3d(0, ${(1-a)*e.height}px, 0)`}),onEnd:()=>{s.style.willChange="auto",s.style.backfaceVisibility="",s.style.contain="",s.style.clipPath=""}}},out:(s,i)=>{const e=T(i),a=e.left+e.width/2,l=e.top+e.height/2;return{physics:r,prepare:()=>{g(s,i),s.style.zIndex="-1",s.style.willChange="transform, opacity",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.pointerEvents="none",s.style.transformOrigin=`${a}px ${l}px`,s.style.clipPath=`inset(${e.top}px 0 calc(100% - ${e.top+e.height}px) 0)`},css:y=>({transform:`scale(${1-c+y*c})`,opacity:y})}}}:{in:(s,i)=>{const e=T(i),a=e.left+e.width/2,l=e.top+e.height/2;return{physics:r,prepare:()=>{s.style.willChange="transform, opacity",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.transformOrigin=`${a}px ${l}px`,s.style.clipPath=`inset(${e.top}px 0 calc(100% - ${e.top+e.height}px) 0)`},css:y=>({transform:`scale(${1-c+y*c})`,opacity:y}),onEnd:()=>{s.style.willChange="auto",s.style.backfaceVisibility="",s.style.contain="",s.style.transformOrigin="",s.style.clipPath=""}}},out:(s,i)=>{const a=T(i).height,l=i.scroll.y;return{physics:r,prepare:()=>{g(s,i),s.style.zIndex="100",s.style.willChange="transform",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.pointerEvents="none",s.style.clipPath=`inset(${l}px 0 calc(100% - ${l+a}px) 0)`},css:y=>({transform:`translate3d(0, ${(1-y)*a}px, 0)`})}}}},Zt={spring:{stiffness:170,damping:22,doubleSpring:.8}},Jt=(t={})=>{const n=t.direction??"left",r=t.physics??Zt,c=n==="left";return{in:s=>({physics:r,prepare:()=>{s.style.willChange="transform",s.style.backfaceVisibility="hidden",s.style.contain="layout paint"},css:i=>({transform:`translate3d(${c?(1-i)*100:(1-i)*-100}%, 0, 0)`}),onEnd:()=>{s.style.willChange="auto",s.style.backfaceVisibility="",s.style.contain=""}}),out:(s,i)=>({physics:r,css:e=>({transform:`translate3d(${c?(1-e)*-100:(1-e)*100}%, 0, 0)`}),prepare:()=>{g(s,i),s.style.willChange="transform",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.pointerEvents="none"}})}},Kt=8,Qt={spring:{stiffness:400,damping:30,restDelta:.1,restSpeed:1e14}},Rt=(t={})=>{const n=t.direction??"left",r=t.physics??Qt,c=t.translateOffset??Kt,s=n==="left";let{promise:i,resolve:e}=E();return{in:a=>({physics:r,prepare:()=>{a.style.opacity="0",a.style.willChange="transform, opacity",a.style.backfaceVisibility="hidden",a.style.contain="layout paint"},wait:async()=>{if(i){await i;const l=E();i=l.promise,e=l.resolve}},css:l=>{const y=s?(1-l)*c:(1-l)*-c,o=`${l}`;return{transform:`translate3d(${y}px, 0, 0)`,opacity:o}},onEnd:()=>{a.style.opacity="1",a.style.willChange="auto",a.style.backfaceVisibility="",a.style.contain=""}}),out:(a,l)=>({physics:r,prepare:()=>{g(a,l),a.style.willChange="transform, opacity",a.style.backfaceVisibility="hidden",a.style.contain="layout paint",a.style.pointerEvents="none"},css:y=>{const o=s?(1-y)*-c:(1-y)*c,h=`${y}`;return{transform:`translate3d(${o}px, 0, 0)`,opacity:h}},onEnd:()=>{e&&e(),a.style.willChange="auto",a.style.backfaceVisibility="",a.style.contain=""}})}},ts={spring:{stiffness:17,damping:6}},L=20,P=800,ss=(t={})=>{const n=t.physics??ts;let r,c=null;return{in:s=>({physics:n,prepare:()=>{s.style.willChange="transform",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.transform=`perspective(${P}px) rotateY(${L}deg) translate3d(-100%, 0, 0)`},wait:async()=>{r&&await r},css:i=>{const e=(1-i)*L,a=-(1-i)*100;return{transform:`perspective(${P}px) rotateY(${e}deg) translate3d(${a}%, 0, 0)`}},onEnd:()=>{s.style.transform="",s.style.willChange="auto",s.style.backfaceVisibility="",s.style.contain=""}}),out:(s,i)=>(r=new Promise(e=>{c=e}),{physics:n,prepare:()=>{g(s,i),s.style.willChange="transform",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.pointerEvents="none",s.style.transform=`perspective(${P}px) rotateY(0deg) translate3d(0%, 0, 0)`},css:e=>{const a=1-e,l=a*L,y=a*100;return{transform:`perspective(${P}px) rotateY(${-l}deg) translate3d(${y}%, 0, 0)`}},onEnd:()=>{c&&c(),s.style.transform=""}})}},is={spring:{stiffness:350,damping:32,restDelta:.1,restSpeed:1e14}},ns=.05;function es(t){const n=x(document.body,t.positionedParent),r=t.scroll.y,c=window.innerHeight-n.top;return{top:r,left:0,width:n.width,height:c}}const as=(t={})=>{const n=t.physics??is,r=t.scaleOffset??ns;let{promise:c,resolve:s}=E();return{in:(i,e)=>{const a=es(e),l=a.left+a.width/2,y=a.top+a.height/2;return{physics:n,prepare:()=>{i.style.opacity="0",i.style.willChange="transform, opacity",i.style.backfaceVisibility="hidden",i.style.contain="layout paint",i.style.transformOrigin=`${l}px ${y}px`},wait:async()=>{if(c){await c;const o=E();c=o.promise,s=o.resolve}},css:o=>({transform:`scale(${1-r+o*r})`,opacity:o}),onEnd:()=>{i.style.opacity="1",i.style.willChange="auto",i.style.backfaceVisibility="",i.style.contain="",i.style.transformOrigin=""}}},out:(i,e)=>({physics:n,prepare:()=>{g(i,e),i.style.willChange="opacity",i.style.backfaceVisibility="hidden",i.style.contain="layout paint",i.style.pointerEvents="none"},css:a=>({opacity:a}),onEnd:()=>{s&&s()}})}};exports.blind=q;exports.curtainReveal=et;exports.depth=lt;exports.drill=ht;exports.fade=ft;exports.film=bt;exports.hero=At;exports.instagram=vt;exports.jaemin=_t;exports.pinterest=Xt;exports.rotate=Mt;exports.scroll=Bt;exports.sheet=Gt;exports.slide=Jt;exports.snap=Rt;exports.strip=ss;exports.swap=as;
@@ -989,7 +989,7 @@ function Tt({
989
989
  }
990
990
  };
991
991
  }
992
- function Lt({
992
+ function Pt({
993
993
  galleryRect: t,
994
994
  detailRect: n,
995
995
  scrollOffset: r
@@ -1006,7 +1006,7 @@ function Lt({
1006
1006
  }
1007
1007
  };
1008
1008
  }
1009
- function Pt({
1009
+ function Lt({
1010
1010
  galleryRect: t,
1011
1011
  detailRect: n,
1012
1012
  scrollOffset: r
@@ -1074,7 +1074,7 @@ function vt(t, n, r) {
1074
1074
  galleryRect: l,
1075
1075
  pageRect: n.getBoundingClientRect(),
1076
1076
  scrollOffset: r
1077
- }), h = Lt({
1077
+ }), h = Pt({
1078
1078
  galleryRect: l,
1079
1079
  detailRect: y,
1080
1080
  scrollOffset: r
@@ -1084,7 +1084,7 @@ function vt(t, n, r) {
1084
1084
  outAnimation: h.animate
1085
1085
  };
1086
1086
  } else {
1087
- const o = Pt({
1087
+ const o = Lt({
1088
1088
  galleryRect: l,
1089
1089
  detailRect: y,
1090
1090
  scrollOffset: r
@@ -1258,7 +1258,7 @@ const ss = (t = {}) => {
1258
1258
  return {
1259
1259
  physics: r,
1260
1260
  prepare: () => {
1261
- g(s, i), s.style.zIndex = "-1", s.style.willChange = "transform, opacity", s.style.backfaceVisibility = "hidden", s.style.contain = "layout paint", s.style.pointerEvents = "none", s.style.transformOrigin = `${a}px ${l}px`;
1261
+ g(s, i), s.style.zIndex = "-1", s.style.willChange = "transform, opacity", s.style.backfaceVisibility = "hidden", s.style.contain = "layout paint", s.style.pointerEvents = "none", s.style.transformOrigin = `${a}px ${l}px`, s.style.clipPath = `inset(${e.top}px 0 calc(100% - ${e.top + e.height}px) 0)`;
1262
1262
  },
1263
1263
  css: (y) => ({
1264
1264
  transform: `scale(${1 - c + y * c})`,
@@ -1273,14 +1273,14 @@ const ss = (t = {}) => {
1273
1273
  return {
1274
1274
  physics: r,
1275
1275
  prepare: () => {
1276
- s.style.willChange = "transform, opacity", s.style.backfaceVisibility = "hidden", s.style.contain = "layout paint", s.style.transformOrigin = `${a}px ${l}px`;
1276
+ s.style.willChange = "transform, opacity", s.style.backfaceVisibility = "hidden", s.style.contain = "layout paint", s.style.transformOrigin = `${a}px ${l}px`, s.style.clipPath = `inset(${e.top}px 0 calc(100% - ${e.top + e.height}px) 0)`;
1277
1277
  },
1278
1278
  css: (y) => ({
1279
1279
  transform: `scale(${1 - c + y * c})`,
1280
1280
  opacity: y
1281
1281
  }),
1282
1282
  onEnd: () => {
1283
- s.style.willChange = "auto", s.style.backfaceVisibility = "", s.style.contain = "", s.style.transformOrigin = "";
1283
+ s.style.willChange = "auto", s.style.backfaceVisibility = "", s.style.contain = "", s.style.transformOrigin = "", s.style.clipPath = "";
1284
1284
  }
1285
1285
  };
1286
1286
  },
@@ -1384,22 +1384,22 @@ const ss = (t = {}) => {
1384
1384
  };
1385
1385
  }, Ht = {
1386
1386
  spring: { stiffness: 17, damping: 6 }
1387
- }, P = 20, L = 800, es = (t = {}) => {
1387
+ }, L = 20, P = 800, es = (t = {}) => {
1388
1388
  const n = t.physics ?? Ht;
1389
1389
  let r, c = null;
1390
1390
  return {
1391
1391
  in: (s) => ({
1392
1392
  physics: n,
1393
1393
  prepare: () => {
1394
- s.style.willChange = "transform", s.style.backfaceVisibility = "hidden", s.style.contain = "layout paint", s.style.transform = `perspective(${L}px) rotateY(${P}deg) translate3d(-100%, 0, 0)`;
1394
+ s.style.willChange = "transform", s.style.backfaceVisibility = "hidden", s.style.contain = "layout paint", s.style.transform = `perspective(${P}px) rotateY(${L}deg) translate3d(-100%, 0, 0)`;
1395
1395
  },
1396
1396
  wait: async () => {
1397
1397
  r && await r;
1398
1398
  },
1399
1399
  css: (i) => {
1400
- const e = (1 - i) * P, a = -(1 - i) * 100;
1400
+ const e = (1 - i) * L, a = -(1 - i) * 100;
1401
1401
  return {
1402
- transform: `perspective(${L}px) rotateY(${e}deg) translate3d(${a}%, 0, 0)`
1402
+ transform: `perspective(${P}px) rotateY(${e}deg) translate3d(${a}%, 0, 0)`
1403
1403
  };
1404
1404
  },
1405
1405
  onEnd: () => {
@@ -1411,12 +1411,12 @@ const ss = (t = {}) => {
1411
1411
  }), {
1412
1412
  physics: n,
1413
1413
  prepare: () => {
1414
- g(s, i), s.style.willChange = "transform", s.style.backfaceVisibility = "hidden", s.style.contain = "layout paint", s.style.pointerEvents = "none", s.style.transform = `perspective(${L}px) rotateY(0deg) translate3d(0%, 0, 0)`;
1414
+ g(s, i), s.style.willChange = "transform", s.style.backfaceVisibility = "hidden", s.style.contain = "layout paint", s.style.pointerEvents = "none", s.style.transform = `perspective(${P}px) rotateY(0deg) translate3d(0%, 0, 0)`;
1415
1415
  },
1416
1416
  css: (e) => {
1417
- const a = 1 - e, l = a * P, y = a * 100;
1417
+ const a = 1 - e, l = a * L, y = a * 100;
1418
1418
  return {
1419
- transform: `perspective(${L}px) rotateY(${-l}deg) translate3d(${y}%, 0, 0)`
1419
+ transform: `perspective(${P}px) rotateY(${-l}deg) translate3d(${y}%, 0, 0)`
1420
1420
  };
1421
1421
  },
1422
1422
  onEnd: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAGhB,MAAM,UAAU,CAAC;AA0BlB,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA2BD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eA2HlD,CAAC"}
1
+ {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAGhB,MAAM,UAAU,CAAC;AA0BlB,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA2BD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eAkIlD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ssgoi/core",
3
- "version": "5.0.1",
3
+ "version": "5.1.0",
4
4
  "description": "Core animation engine for SSGOI - Native app-like page transitions with spring physics",
5
5
  "private": false,
6
6
  "type": "module",
@@ -1,20 +0,0 @@
1
- /**
2
- * Navigation Direction Detector
3
- *
4
- * Detects navigation direction (push/back/forward) using history.state and popstate event.
5
- * Used to skip animations on back navigation for iOS Safari compatibility.
6
- *
7
- * How it works:
8
- * - Stores an incrementing index in history.state.ssgoiIndex
9
- * - On popstate, compares the new index with current to determine direction
10
- * - newIndex < currentIndex → back
11
- * - newIndex > currentIndex → forward
12
- * - No popstate → push (new navigation)
13
- */
14
- export type NavigationDirection = "push" | "back" | "forward";
15
- export declare function createNavigationDirectionDetector(): {
16
- initialize: () => void;
17
- onPageEnter: () => NavigationDirection;
18
- isBack: () => boolean;
19
- };
20
- //# sourceMappingURL=create-navigation-direction-detector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-navigation-direction-detector.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/create-navigation-direction-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE9D,wBAAgB,iCAAiC;;uBA4CvB,mBAAmB;;EAyB5C"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Detects if the current runtime is Android
3
- */
4
- export declare function isAndroid(): boolean;
5
- //# sourceMappingURL=is-android.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-android.d.ts","sourceRoot":"","sources":["../../src/lib/utils/is-android.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAMnC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Detects if the current runtime is a desktop browser (non-mobile)
3
- */
4
- export declare function isDesktop(): boolean;
5
- //# sourceMappingURL=is-desktop.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-desktop.d.ts","sourceRoot":"","sources":["../../src/lib/utils/is-desktop.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAMnC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Detects if the current runtime is iOS (iPhone, iPad, iPod)
3
- * Also detects iPad on iOS 13+ which reports as MacIntel but has touch
4
- */
5
- export declare function isIOS(): boolean;
6
- //# sourceMappingURL=is-ios.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-ios.d.ts","sourceRoot":"","sources":["../../src/lib/utils/is-ios.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,KAAK,IAAI,OAAO,CAU/B"}
@@ -1,8 +0,0 @@
1
- import { Platform } from '../types';
2
- /**
3
- * Check if current platform matches any of the specified platforms
4
- * @param platforms Array of platforms to check against
5
- * @returns true if current platform matches any in the array
6
- */
7
- export declare function matchPlatform(platforms: Platform[]): boolean;
8
- //# sourceMappingURL=match-platform.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match-platform.d.ts","sourceRoot":"","sources":["../../src/lib/utils/match-platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKzC;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAsB5D"}