@ssgoi/core 3.1.3 → 3.2.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,34 +1,23 @@
1
- import { SsgoiConfig, SsgoiContext } from '../types';
1
+ import { SsgoiConfig, SsgoiContext, SsgoiInternalOptions } from '../types';
2
2
  /**
3
3
  * SSGOI Transition Context Operation Principles
4
4
  *
5
5
  * Page transition scenario: /home → /about
6
6
  *
7
- * 1. OUT animation starts (when /home page disappears)
8
- * - getTransition('unique-id', 'out', '/home') is called
9
- * - Stores { from: '/home' } in pendingTransitions
10
- * - Creates Promise and stores outResolve (not resolved yet)
11
- * - Calls checkAndResolve → waits because 'to' is missing
7
+ * **Default mode (outFirst: true)**: OUT must arrive before IN
8
+ * - Best for frameworks with native destroy callbacks (Svelte, Vue)
9
+ * - OUT triggers first, then IN completes the pair
10
+ * - If IN arrives without OUT, returns empty transition (page refresh)
12
11
  *
13
- * 2. IN animation starts (when /about page appears)
14
- * - getTransition('unique-id', 'in', '/about') is called
15
- * - Adds { to: '/about' } to existing pending
16
- * - Creates Promise and stores inResolve
17
- * - Calls checkAndResolve → both 'from' and 'to' are present!
12
+ * **Observer mode (outFirst: false)**: OUT and IN can arrive in any order
13
+ * - Best for frameworks using MutationObserver (React)
14
+ * - Either OUT or IN can arrive first
15
+ * - Both wait indefinitely for the other to complete the pair
18
16
  *
19
- * 3. Transition matching and resolution
20
- * - Finds appropriate transition with from: '/home', to: '/about'
21
- * - Resolves both out and in with the found transition's settings
22
- * - Removes the id from pendingTransitions
23
- *
24
- * Key point: OUT and IN wait for each other. When both are ready,
25
- * they find the appropriate transition using from/to info
26
- * and resolve simultaneously.
27
- *
28
- * Edge cases:
29
- * - No OUT animation on page refresh or initial entry
30
- * - When only IN is called, checkAndResolve doesn't work without 'from'
31
- * - Promise isn't resolved, so animation doesn't start
17
+ * Flow:
18
+ * 1. First transition arrives → Creates pendingTransition
19
+ * 2. Second transition arrives → Completes the pair
20
+ * 3. checkAndResolve → Finds matching transition and resolves both
32
21
  */
33
22
  /**
34
23
  * Creates a transition configuration
@@ -42,5 +31,5 @@ import { SsgoiConfig, SsgoiContext } from '../types';
42
31
  * defaultTransition: fade()
43
32
  * });
44
33
  */
45
- export declare function createSggoiTransitionContext(options: SsgoiConfig): SsgoiContext;
34
+ export declare function createSggoiTransitionContext(options: SsgoiConfig, internalOptions?: SsgoiInternalOptions): SsgoiContext;
46
35
  //# sourceMappingURL=create-ssgoi-transition-context.d.ts.map
@@ -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,EAAuB,MAAM,UAAU,CAAC;AAW/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,GACnB,YAAY,CAqJd"}
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,EACV,WAAW,EACX,YAAY,EACZ,oBAAoB,EAErB,MAAM,UAAU,CAAC;AAWlB;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,eAAe,CAAC,EAAE,oBAAoB,GACrC,YAAY,CA4Nd"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-transition-callback.d.ts","sourceRoot":"","sources":["../../src/lib/transition/create-transition-callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhF,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EAExB,MAAM,uBAAuB,CAAC;AAG/B,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,UAAU,CAAC,SAAS,CAAC,EAC1C,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,kBAAkB,CAAC;IAC5D,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,GACA,kBAAkB,CAiNpB"}
1
+ {"version":3,"file":"create-transition-callback.d.ts","sourceRoot":"","sources":["../../src/lib/transition/create-transition-callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhF,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EAExB,MAAM,uBAAuB,CAAC;AAG/B,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,UAAU,CAAC,SAAS,CAAC,EAC1C,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,kBAAkB,CAAC;IAC5D,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,GACA,kBAAkB,CAgOpB"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Global MutationObserver for detecting element unmount
3
+ *
4
+ * This module provides a shared observer that watches for DOM removals
5
+ * and triggers cleanup callbacks when watched elements are removed.
6
+ *
7
+ * Key features:
8
+ * - Single shared observer for all transitions (performance)
9
+ * - subtree: true to detect removals at any depth
10
+ * - Optimized: only checks removedNodes, not all watched elements
11
+ * - Framework agnostic: works with React 18/19, Svelte, Vue, etc.
12
+ */
13
+ type UnmountCallback = () => void;
14
+ /**
15
+ * Register an element to watch for unmount
16
+ *
17
+ * When the element is removed from DOM, the callback is executed
18
+ * and the element is automatically unregistered.
19
+ *
20
+ * @param element - The element to watch
21
+ * @param callback - Callback to execute when element is removed from DOM
22
+ */
23
+ export declare function watchUnmount(element: HTMLElement, callback: UnmountCallback): void;
24
+ /**
25
+ * Check if an element is being watched
26
+ */
27
+ export declare function isWatched(element: HTMLElement): boolean;
28
+ /**
29
+ * Get the number of watched elements (for debugging)
30
+ */
31
+ export declare function getWatchedCount(): number;
32
+ /**
33
+ * Manually trigger unmount for an element
34
+ * Useful when cleanup is called explicitly (React 19, Svelte destroy)
35
+ */
36
+ export declare function triggerUnmount(element: HTMLElement): boolean;
37
+ /**
38
+ * Cleanup all watchers and disconnect observer
39
+ * Mainly for testing purposes
40
+ */
41
+ export declare function resetObserver(): void;
42
+ export {};
43
+ //# sourceMappingURL=unmount-observer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unmount-observer.d.ts","sourceRoot":"","sources":["../../src/lib/transition/unmount-observer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,KAAK,eAAe,GAAG,MAAM,IAAI,CAAC;AAgFlC;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,eAAe,GACxB,IAAI,CAGN;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAQ5D;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAKpC"}
package/dist/types.d.ts CHANGED
@@ -252,6 +252,25 @@ export type SsgoiConfig = {
252
252
  */
253
253
  skipOnIosSwipe?: boolean;
254
254
  };
255
+ /**
256
+ * Internal options for framework adapters
257
+ * Not exposed to end users
258
+ * @internal
259
+ */
260
+ export type SsgoiInternalOptions = {
261
+ /**
262
+ * Whether OUT transition must arrive before IN transition
263
+ *
264
+ * - true (default): OUT must arrive first, IN completes the pair.
265
+ * Best for frameworks with native destroy callbacks (Svelte, Vue).
266
+ *
267
+ * - false: OUT and IN can arrive in any order, both wait indefinitely.
268
+ * Best for frameworks using MutationObserver for unmount detection (React).
269
+ *
270
+ * @default true
271
+ */
272
+ outFirst?: boolean;
273
+ };
255
274
  export type SsgoiContext = (path: string) => Transition & {
256
275
  key: TransitionKey;
257
276
  };
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"blind.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/blind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAEhB,MAAM,UAAU,CAAC;AAWlB,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eA2LlD,CAAC"}
1
+ {"version":3,"file":"blind.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/blind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAGhB,MAAM,UAAU,CAAC;AAWlB,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eAuMlD,CAAC"}
@@ -1,7 +1,5 @@
1
- import { SggoiTransition, SpringConfig } from '../types';
1
+ import { SggoiTransition } from '../types';
2
2
  interface FilmOptions {
3
- spring?: SpringConfig;
4
- scale?: number;
5
3
  border?: {
6
4
  color?: string;
7
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"film.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/film.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEf,YAAY,EACb,MAAM,UAAU,CAAC;AAmClB,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,eAAO,MAAM,IAAI,GAAI,UAAU,WAAW,KAAG,eAoJ5C,CAAC"}
1
+ {"version":3,"file":"film.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/film.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAGhB,MAAM,UAAU,CAAC;AAsBlB,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,eAAO,MAAM,IAAI,GAAI,UAAU,WAAW,KAAG,eA+J5C,CAAC"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("../jaemin-BG8HRXG1.cjs"),F=t=>new Promise(n=>setTimeout(n,t)),H={stiffness:80,damping:25},q={stiffness:75,damping:25},G=300,j=10,K="horizontal",Z="#000000",J=(t={})=>{const{inSpring:n=q,outSpring:s=H,transitionDelay:c=G,blindCount:a=j,direction:r=K,blindColor:l=Z}=t;let i,d=null;const o=(e,h,y="left")=>{window.getComputedStyle(e).position==="static"&&(e.style.position="relative");const g=document.createElement("div");g.className="blind-container",g.style.cssText=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const $=require("../jaemin-BG8HRXG1.cjs"),D=t=>new Promise(n=>setTimeout(n,t)),M={stiffness:80,damping:25},B={stiffness:75,damping:25},H=300,q=10,N="horizontal",G="#000000",j=(t={})=>{const{inSpring:n=B,outSpring:a=M,transitionDelay:d=H,blindCount:r=q,direction:s=N,blindColor:l=G}=t;let i,c=null;const o=(e,p,u="left")=>{window.getComputedStyle(e).position==="static"&&(e.style.position="relative");const y=document.createElement("div");y.className="blind-container",y.style.cssText=`
2
2
  position: absolute;
3
3
  top: 0;
4
4
  left: 0;
@@ -7,29 +7,29 @@
7
7
  pointer-events: none;
8
8
  z-index: 9999;
9
9
  overflow: hidden;
10
- `;const p=[];for(let f=0;f<a;f++){const $=document.createElement("div");if(r==="horizontal"){const x=100/a,w=`calc(${x}% + 1px)`;$.style.cssText=`
10
+ `;const g=[];for(let w=0;w<r;w++){const f=document.createElement("div");if(s==="horizontal"){const x=100/r,m=`calc(${x}% + 1px)`;f.style.cssText=`
11
11
  position: absolute;
12
- top: ${x*f}%;
12
+ top: ${x*w}%;
13
13
  left: 0;
14
14
  width: 100%;
15
- height: ${w};
15
+ height: ${m};
16
16
  background: ${l};
17
- transform: scaleX(${h==="hidden"?0:1});
18
- transform-origin: ${y} center;
17
+ transform: scaleX(${p==="hidden"?0:1});
18
+ transform-origin: ${u} center;
19
19
  will-change: transform;
20
- `}else{const x=100/a,w=`calc(${x}% + 1px)`;$.style.cssText=`
20
+ `}else{const x=100/r,m=`calc(${x}% + 1px)`;f.style.cssText=`
21
21
  position: absolute;
22
22
  top: 0;
23
- left: ${x*f}%;
24
- width: ${w};
23
+ left: ${x*w}%;
24
+ width: ${m};
25
25
  height: 100%;
26
26
  background: ${l};
27
- transform: scaleY(${h==="hidden"?0:1});
28
- transform-origin: ${y==="left"?"top":"bottom"} center;
27
+ transform: scaleY(${p==="hidden"?0:1});
28
+ transform-origin: ${u==="left"?"top":"bottom"} center;
29
29
  will-change: transform;
30
- `}p.push($),g.appendChild($)}return e.appendChild(g),{container:g,blinds:p}};return{out:()=>{let e=null;return i=new Promise(y=>{d=y}),{springs:Array.from({length:a},(y,u)=>({spring:s,offset:.2,tick:g=>{if(!e)return;const p=e.blinds[u];if(!p)return;const f=1-g;r==="horizontal"?p.style.transform=`scaleX(${f})`:p.style.transform=`scaleY(${f})`}})),schedule:"stagger",prepare:y=>{m.prepareOutgoing(y),y.style.zIndex="1000",e=o(y,"hidden","left")},onStart:()=>{},onEnd:()=>{d&&d()}}},in:()=>{let e=null;return{springs:Array.from({length:a},(y,u)=>({spring:n,offset:.2,tick:g=>{if(!e)return;const p=e.blinds[u];if(!p)return;const f=1-g;r==="horizontal"?p.style.transform=`scaleX(${f})`:p.style.transform=`scaleY(${f})`}})),schedule:"stagger",prepare:y=>{y.style.position="relative",y.style.zIndex="0",e=o(y,"closed","right")},onStart:()=>{},wait:async()=>{i&&await i,await F(c)},onEnd:()=>{e&&e.container&&e.container.remove()}}}}},Q={stiffness:150,damping:20},R={stiffness:100,damping:20},tt=(t={})=>{var r,l;const{opacity:n=!1,direction:s="enter"}=t,c=s==="enter"?Q:R,a={stiffness:((r=t.spring)==null?void 0:r.stiffness)??c.stiffness,damping:((l=t.spring)==null?void 0:l.damping)??c.damping};return s==="enter"?{in:i=>({spring:a,prepare:()=>{i.style.willChange=n?"transform, opacity":"transform",i.style.backfaceVisibility="hidden",i.style.contain="layout paint"},css:d=>{const o={transform:`translate3d(${(1-d)*100}%, 0, 0)`};return n&&(o.opacity=d),o},onEnd:()=>{i.style.willChange="auto",i.style.backfaceVisibility="",i.style.contain=""}}),out:(i,d)=>({spring:a,prepare:o=>{m.prepareOutgoing(o,d),o.style.zIndex="-1",o.style.willChange=n?"transform, opacity":"transform",o.style.backfaceVisibility="hidden",o.style.contain="layout paint",o.style.pointerEvents="none"},css:o=>{const e={transform:`translate3d(${-(1-o)*20}%, 0, 0)`};return n&&(e.opacity=o),e}})}:{in:i=>({spring:a,prepare:()=>{i.style.willChange=n?"transform, opacity":"transform",i.style.backfaceVisibility="hidden",i.style.contain="layout paint"},css:d=>{const o={transform:`translate3d(${-(1-d)*20}%, 0, 0)`};return n&&(o.opacity=d),o},onEnd:()=>{i.style.willChange="auto",i.style.backfaceVisibility="",i.style.contain=""}}),out:(i,d)=>({spring:a,prepare:o=>{m.prepareOutgoing(o,d),o.style.zIndex="100",o.style.willChange=n?"transform, opacity":"transform",o.style.backfaceVisibility="hidden",o.style.contain="layout paint",o.style.pointerEvents="none"},css:o=>{const e={transform:`translate3d(${(1-o)*100}%, 0, 0)`};return n&&(e.opacity=o),e}})}},nt={stiffness:65,damping:16},et={stiffness:65,damping:14},it=0,st=(t={})=>{const{inSpring:n=et,outSpring:s=nt,transitionDelay:c=it}=t;let a,r=null;return{in:l=>({spring:n,prepare:()=>{l.style.willChange="opacity"},wait:async()=>{a&&(await a,await F(c))},css:i=>({opacity:i}),onEnd:()=>{l.style.willChange="auto"}}),out:(l,i)=>(a=new Promise(d=>{r=d}),{spring:s,css:d=>({opacity:d}),prepare:()=>{m.prepareOutgoing(l,i),l.style.willChange="opacity"},onEnd:()=>{r&&r(),l.style.willChange="auto"}})}},rt={stiffness:5,damping:3.5},at=.8,lt="white",b={start:0,end:.45},E={start:.85,end:1},A={start:.2,end:.9},ot=t=>{var a;const n=(t==null?void 0:t.spring)??rt,s=(t==null?void 0:t.scale)??at,c=((a=t==null?void 0:t.border)==null?void 0:a.color)??lt;return{out:async(r,l)=>{const i=O(l),d=m.getRect(document.body,l.positionedParent),o=ct(c,{...i,top:d.top});let e=1,h=-i.top;return{spring:n,prepare:()=>{m.prepareOutgoing(r),k(r,i),_(r,i),ht(r,i);for(const y of o)l.positionedParent.appendChild(y)},onEnd:()=>{r.style.clipPath="",r.style.transformOrigin="",setTimeout(()=>{for(const y of o)l.positionedParent.removeChild(y)},1e3)},tick:y=>{const u=1-y;if(b.start<=u&&u<=b.end){const f=C(u,b.start,b.end);e=1-(1-s)*f}if(E.start<=u&&u<=E.end){const f=C(u,E.start,E.end);e=s+(1-s)*f}if(A.start<=u&&u<=A.end){const f=C(u,A.start,A.end);h=-i.top-i.height*f}r.style.transform=`translateY(${h}px) scale(${e})`;const g=(i.width-i.width*e)/2,p=(i.height-i.height*e)/2;dt(o,g,p)}}},in:async(r,l)=>{const i=O(l);let d=s,o=-i.top+i.height;return{spring:n,prepare:()=>{k(r,i),_(r,i),r.style.transform=`translateY(${-i.top+i.height}px) scale(${s})`},onEnd:()=>{r.style.clipPath="",r.style.transformOrigin="",r.style.transform=""},tick:e=>{if(b.start<=e&&e<=b.end){const h=C(e,b.start,b.end);d=1-(1-s)*h}if(E.start<=e&&e<=E.end){const h=C(e,E.start,E.end);d=s+(1-s)*h}if(A.start<=e&&e<=A.end){const h=C(e,A.start,A.end);o=-i.top+i.height*(1-h)}r.style.transform=`translateY(${o}px) scale(${d})`}}}}};function dt(t,n,s){const c=n*.7,a=s*.7;t.topLeft.style.transform=`translate(${c}px, ${a}px)`,t.topRight.style.transform=`translate(${-c}px, ${a}px)`,t.bottomLeft.style.transform=`translate(${c}px, ${-a}px)`,t.bottomRight.style.transform=`translate(${-c}px, ${-a}px)`}function ct(t="white",n){const a=document.createElement("div");a.style.position="fixed",a.style.pointerEvents="none",a.style.zIndex="9999",a.style.top=`${n.top-1}px`,a.style.left=`${n.left-1}px`,a.style.width="15px",a.style.height="15px";const r=document.createElement("div");r.style.position="absolute",r.style.width="15px",r.style.height="1px",r.style.backgroundColor=t,r.style.top="0",r.style.left="0";const l=document.createElement("div");l.style.position="absolute",l.style.width="1px",l.style.height="15px",l.style.backgroundColor=t,l.style.top="0",l.style.left="0",a.appendChild(r),a.appendChild(l);const i=document.createElement("div");i.style.position="fixed",i.style.pointerEvents="none",i.style.zIndex="9999",i.style.top=`${n.top-1}px`,i.style.left=`${n.left+n.width-15+1}px`,i.style.width="15px",i.style.height="15px";const d=document.createElement("div");d.style.position="absolute",d.style.width="15px",d.style.height="1px",d.style.backgroundColor=t,d.style.top="0",d.style.right="0";const o=document.createElement("div");o.style.position="absolute",o.style.width="1px",o.style.height="15px",o.style.backgroundColor=t,o.style.top="0",o.style.right="0",i.appendChild(d),i.appendChild(o);const e=document.createElement("div");e.style.position="fixed",e.style.pointerEvents="none",e.style.zIndex="9999",e.style.top=`${n.top+n.height-15+1}px`,e.style.left=`${n.left-1}px`,e.style.width="15px",e.style.height="15px";const h=document.createElement("div");h.style.position="absolute",h.style.width="15px",h.style.height="1px",h.style.backgroundColor=t,h.style.bottom="0",h.style.left="0";const y=document.createElement("div");y.style.position="absolute",y.style.width="1px",y.style.height="15px",y.style.backgroundColor=t,y.style.bottom="0",y.style.left="0",e.appendChild(h),e.appendChild(y);const u=document.createElement("div");u.style.position="fixed",u.style.pointerEvents="none",u.style.zIndex="9999",u.style.top=`${n.top+n.height-15+1}px`,u.style.left=`${n.left+n.width-15+1}px`,u.style.width="15px",u.style.height="15px";const g=document.createElement("div");g.style.position="absolute",g.style.width="15px",g.style.height="1px",g.style.backgroundColor=t,g.style.bottom="0",g.style.right="0";const p=document.createElement("div");return p.style.position="absolute",p.style.width="1px",p.style.height="15px",p.style.backgroundColor=t,p.style.bottom="0",p.style.right="0",u.appendChild(g),u.appendChild(p),{topLeft:a,topRight:i,bottomLeft:e,bottomRight:u,*[Symbol.iterator](){yield a,yield i,yield e,yield u}}}function O(t){const n=m.getRect(document.body,t.positionedParent);return{top:t.scroll.y,left:0,width:n.width,height:window.innerHeight-n.top}}function k(t,n){const s=n.left+n.width/2,c=n.top+n.height/2;t.style.transformOrigin=`${s}px ${c}px`}function _(t,n){t.style.clipPath=`polygon(
30
+ `}g.push(f),y.appendChild(f)}return e.appendChild(y),{container:y,blinds:g}};return{out:()=>{let e=null;i=new Promise(h=>{c=h});const p=h=>{const y=1-h;return{transform:s==="horizontal"?`scaleX(${y})`:`scaleY(${y})`}};return{springs:Array.from({length:r},(h,y)=>({spring:a,offset:.2,css:{get element(){return e==null?void 0:e.blinds[y]},style:p}})),schedule:"stagger",prepare:h=>{$.prepareOutgoing(h),h.style.zIndex="1000",e=o(h,"hidden","left")},onStart:()=>{},onEnd:()=>{c&&c()}}},in:()=>{let e=null;const p=h=>{const y=1-h;return{transform:s==="horizontal"?`scaleX(${y})`:`scaleY(${y})`}};return{springs:Array.from({length:r},(h,y)=>({spring:n,offset:.2,css:{get element(){return e==null?void 0:e.blinds[y]},style:p}})),schedule:"stagger",prepare:h=>{h.style.position="relative",h.style.zIndex="0",e=o(h,"closed","right")},onStart:()=>{},wait:async()=>{i&&await i,await D(d)},onEnd:()=>{e&&e.container&&e.container.remove()}}}}},K={stiffness:150,damping:20},Z={stiffness:100,damping:20},J=(t={})=>{var s,l;const{opacity:n=!1,direction:a="enter"}=t,d=a==="enter"?K:Z,r={stiffness:((s=t.spring)==null?void 0:s.stiffness)??d.stiffness,damping:((l=t.spring)==null?void 0:l.damping)??d.damping};return a==="enter"?{in:i=>({spring:r,prepare:()=>{i.style.willChange=n?"transform, opacity":"transform",i.style.backfaceVisibility="hidden",i.style.contain="layout paint"},css:c=>{const o={transform:`translate3d(${(1-c)*100}%, 0, 0)`};return n&&(o.opacity=c),o},onEnd:()=>{i.style.willChange="auto",i.style.backfaceVisibility="",i.style.contain=""}}),out:(i,c)=>({spring:r,prepare:o=>{$.prepareOutgoing(o,c),o.style.zIndex="-1",o.style.willChange=n?"transform, opacity":"transform",o.style.backfaceVisibility="hidden",o.style.contain="layout paint",o.style.pointerEvents="none"},css:o=>{const e={transform:`translate3d(${-(1-o)*20}%, 0, 0)`};return n&&(e.opacity=o),e}})}:{in:i=>({spring:r,prepare:()=>{i.style.willChange=n?"transform, opacity":"transform",i.style.backfaceVisibility="hidden",i.style.contain="layout paint"},css:c=>{const o={transform:`translate3d(${-(1-c)*20}%, 0, 0)`};return n&&(o.opacity=c),o},onEnd:()=>{i.style.willChange="auto",i.style.backfaceVisibility="",i.style.contain=""}}),out:(i,c)=>({spring:r,prepare:o=>{$.prepareOutgoing(o,c),o.style.zIndex="100",o.style.willChange=n?"transform, opacity":"transform",o.style.backfaceVisibility="hidden",o.style.contain="layout paint",o.style.pointerEvents="none"},css:o=>{const e={transform:`translate3d(${(1-o)*100}%, 0, 0)`};return n&&(e.opacity=o),e}})}},Q={stiffness:65,damping:16},R={stiffness:65,damping:14},tt=0,nt=(t={})=>{const{inSpring:n=R,outSpring:a=Q,transitionDelay:d=tt}=t;let r,s=null;return{in:l=>({spring:n,prepare:()=>{l.style.willChange="opacity"},wait:async()=>{r&&(await r,await D(d))},css:i=>({opacity:i}),onEnd:()=>{l.style.willChange="auto"}}),out:(l,i)=>(r=new Promise(c=>{s=c}),{spring:a,css:c=>({opacity:c}),prepare:()=>{$.prepareOutgoing(l,i),l.style.willChange="opacity"},onEnd:()=>{s&&s(),l.style.willChange="auto"}})}},et={scaleDown:{stiffness:20,damping:7},translate:{stiffness:15,damping:7},scaleUp:{stiffness:20,damping:7}},b={scaleDown:0,translate:.2,scaleUp:.8},it=.8,st="white",at=t=>{var r;const n=et,a=it,d=((r=t==null?void 0:t.border)==null?void 0:r.color)??st;return{out:async(s,l)=>{const i=L(l),c=$.getRect(document.body,l.positionedParent),o=lt(d,{...i,top:c.top}),e={scale:1,translateY:-i.top},p=()=>{s.style.transform=`translateY(${e.translateY}px) scale(${e.scale})`;const u=(i.width-i.width*e.scale)/2,h=(i.height-i.height*e.scale)/2;rt(o,u,h)};return{springs:[{spring:n.scaleDown,offset:b.scaleDown,tick:u=>{const h=1-u;e.scale=1-(1-a)*h,p()}},{spring:n.translate,offset:b.translate,tick:u=>{const h=1-u;e.translateY=-i.top-i.height*h,p()}},{spring:n.scaleUp,offset:b.scaleUp,tick:u=>{const h=1-u;e.scale=a+(1-a)*h,p()}}],schedule:"stagger",prepare:()=>{$.prepareOutgoing(s),T(s,i),k(s,i),ot(s,i);for(const u of o)l.positionedParent.appendChild(u)},onEnd:()=>{s.style.clipPath="",s.style.transformOrigin="",setTimeout(()=>{for(const u of o)l.positionedParent.removeChild(u)},1e3)}}},in:async(s,l)=>{const i=L(l),c={scale:a,translateY:-i.top+i.height},o=()=>{s.style.transform=`translateY(${c.translateY}px) scale(${c.scale})`};return{springs:[{spring:n.scaleDown,offset:b.scaleDown,tick:e=>{c.scale=1-(1-a)*e,o()}},{spring:n.translate,offset:b.translate,tick:e=>{c.translateY=-i.top+i.height*(1-e),o()}},{spring:n.scaleUp,offset:b.scaleUp,tick:e=>{c.scale=a+(1-a)*e,o()}}],schedule:"stagger",prepare:()=>{T(s,i),k(s,i),s.style.transform=`translateY(${-i.top+i.height}px) scale(${a})`},onEnd:()=>{s.style.clipPath="",s.style.transformOrigin="",s.style.transform=""}}}}};function rt(t,n,a){const d=n*.7,r=a*.7;t.topLeft.style.transform=`translate(${d}px, ${r}px)`,t.topRight.style.transform=`translate(${-d}px, ${r}px)`,t.bottomLeft.style.transform=`translate(${d}px, ${-r}px)`,t.bottomRight.style.transform=`translate(${-d}px, ${-r}px)`}function lt(t="white",n){const r=document.createElement("div");r.style.position="fixed",r.style.pointerEvents="none",r.style.zIndex="9999",r.style.top=`${n.top-1}px`,r.style.left=`${n.left-1}px`,r.style.width="15px",r.style.height="15px";const s=document.createElement("div");s.style.position="absolute",s.style.width="15px",s.style.height="1px",s.style.backgroundColor=t,s.style.top="0",s.style.left="0";const l=document.createElement("div");l.style.position="absolute",l.style.width="1px",l.style.height="15px",l.style.backgroundColor=t,l.style.top="0",l.style.left="0",r.appendChild(s),r.appendChild(l);const i=document.createElement("div");i.style.position="fixed",i.style.pointerEvents="none",i.style.zIndex="9999",i.style.top=`${n.top-1}px`,i.style.left=`${n.left+n.width-15+1}px`,i.style.width="15px",i.style.height="15px";const c=document.createElement("div");c.style.position="absolute",c.style.width="15px",c.style.height="1px",c.style.backgroundColor=t,c.style.top="0",c.style.right="0";const o=document.createElement("div");o.style.position="absolute",o.style.width="1px",o.style.height="15px",o.style.backgroundColor=t,o.style.top="0",o.style.right="0",i.appendChild(c),i.appendChild(o);const e=document.createElement("div");e.style.position="fixed",e.style.pointerEvents="none",e.style.zIndex="9999",e.style.top=`${n.top+n.height-15+1}px`,e.style.left=`${n.left-1}px`,e.style.width="15px",e.style.height="15px";const p=document.createElement("div");p.style.position="absolute",p.style.width="15px",p.style.height="1px",p.style.backgroundColor=t,p.style.bottom="0",p.style.left="0";const u=document.createElement("div");u.style.position="absolute",u.style.width="1px",u.style.height="15px",u.style.backgroundColor=t,u.style.bottom="0",u.style.left="0",e.appendChild(p),e.appendChild(u);const h=document.createElement("div");h.style.position="fixed",h.style.pointerEvents="none",h.style.zIndex="9999",h.style.top=`${n.top+n.height-15+1}px`,h.style.left=`${n.left+n.width-15+1}px`,h.style.width="15px",h.style.height="15px";const y=document.createElement("div");y.style.position="absolute",y.style.width="15px",y.style.height="1px",y.style.backgroundColor=t,y.style.bottom="0",y.style.right="0";const g=document.createElement("div");return g.style.position="absolute",g.style.width="1px",g.style.height="15px",g.style.backgroundColor=t,g.style.bottom="0",g.style.right="0",h.appendChild(y),h.appendChild(g),{topLeft:r,topRight:i,bottomLeft:e,bottomRight:h,*[Symbol.iterator](){yield r,yield i,yield e,yield h}}}function L(t){const n=$.getRect(document.body,t.positionedParent);return{top:t.scroll.y,left:0,width:n.width,height:window.innerHeight-n.top}}function T(t,n){const a=n.left+n.width/2,d=n.top+n.height/2;t.style.transformOrigin=`${a}px ${d}px`}function k(t,n){t.style.clipPath=`polygon(
31
31
  ${n.left}px ${n.top}px,
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 ht(t,n){t.style.transform=`translateY(${-n.top}px)`}function C(t,n,s){return t<=n?0:t>=s?1:(t-n)/(s-n)}function pt(t,n){return t.querySelector(`[data-hero-key="${n}"]`)}const yt=(t={})=>{var l,i;const n={stiffness:((l=t.spring)==null?void 0:l.stiffness)??300,damping:((i=t.spring)==null?void 0:i.damping)??30},s=t.timeout??300,c=t.maxDistance??700;let a=null,r=null;return{in:async(d,o)=>{const e=d,h=Array.from(e.querySelectorAll("[data-hero-key]"));if(h.length===0)return{spring:n,tick:()=>{}};if(!await new Promise(g=>{a?g(!0):(r=g,setTimeout(()=>{r=null,g(!1)},s))})||!a)return a=null,{spring:n,tick:()=>{}};const u=h.map(g=>{const p=g.getAttribute("data-hero-key");if(!p)return null;const f=pt(a,p);if(!f)return null;const $=g,x=m.getRect(a,f),w=m.getRect(e,$),Y=x.left-w.left-o.scrollOffset.x,U=x.top-w.top-o.scrollOffset.y,V=x.width/w.width,W=x.height/w.height,z=$.style.transform,X=$.style.position,M=$.style.transformOrigin,B=$.style.zIndex,N=$.style.willChange;return{toEl:$,dx:Y,dy:U,dw:V,dh:W,originalTransform:z,originalPosition:X,originalTransformOrigin:M,originalZIndex:B,originalWillChange:N}}).filter(g=>g!==null&&Math.abs(g.dy)<=c);return a=null,u.length===0?{spring:n,tick:()=>{}}:{springs:u.map(({toEl:g,dx:p,dy:f,dw:$,dh:x})=>({spring:n,tick:w=>{g.style.transform=`translate(${(1-w)*p}px, ${(1-w)*f}px) scale(${w+(1-w)*$}, ${w+(1-w)*x})`}})),schedule:"parallel",prepare:()=>{u.forEach(({toEl:g})=>{g.style.position="relative",g.style.transformOrigin="top left",g.style.zIndex="1000",g.style.willChange="transform"})},onEnd:()=>{u.forEach(({toEl:g,originalTransform:p,originalPosition:f,originalTransformOrigin:$,originalZIndex:x,originalWillChange:w})=>{g.style.transform=p,g.style.position=f,g.style.transformOrigin=$,g.style.zIndex=x,g.style.willChange=w})}}},out:async d=>({spring:n,onStart:()=>{a=d,r&&(r(!0),r=null)},tick:()=>{},prepare:o=>{m.prepareOutgoing(o),o.style.opacity="0"}})}};function ut({detailRect:t,galleryRect:n,pageRect:s,scrollOffset:c}){const a=n.left-t.left+(n.width-t.width)/2-c.x,r=n.top-t.top+(n.height-t.height)/2-c.y,l=n.width/t.width,i=n.height/t.height,d=Math.max(l,i),o=t.top/s.height*100,e=(s.width-(t.left+t.width))/s.width*100,h=(s.height-(t.top+t.height))/s.height*100,y=t.left/s.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:g=>{const p=1-g;return{clipPath:`inset(${o*p}% ${e*p}% ${h*p}% ${y*p}%)`,transform:`translate(${a*p}px, ${r*p}px) scale(${1+(d-1)*p})`}}}}function gt({detailRect:t,galleryRect:n,pageRect:s,scrollOffset:c}){const a=n.left-t.left+(n.width-t.width)/2+c.x,r=n.top-t.top+(n.height-t.height)/2+c.y,l=n.width/t.width,i=n.height/t.height,d=Math.min(l,i),o=t.top/s.height*100,e=(s.width-(t.left+t.width))/s.width*100,h=(s.height-(t.top+t.height))/s.height*100,y=t.left/s.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:g=>{const p=1-g;return{clipPath:`inset(${o*p}% ${e*p}% ${h*p}% ${y*p}%)`,transform:`translate(${a*p-c.x}px, ${r*p-c.y}px) scale(${1+(d-1)*p})`}}}}function ft(t,n,s){const c=t.querySelector("[data-instagram-detail-key]"),a=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 r=null,l=null,i=!1;if(!c&&a){l=a;const e=l.getAttribute("data-instagram-detail-key");if(!e)return null;r=t.querySelector(`[data-instagram-gallery-key="${e}"]`),r&&(i=!0)}else if(c&&!a){l=c;const e=l.getAttribute("data-instagram-detail-key");if(!e)return null;r=n.querySelector(`[data-instagram-gallery-key="${e}"]`),r&&(i=!1)}if(!r||!l)return null;const d=m.getRect(i?t:n,r),o=m.getRect(i?n:t,l);if(i){const e=ut({detailRect:o,galleryRect:d,pageRect:n.getBoundingClientRect(),scrollOffset:s});return n.style.transformOrigin=e.transformOrigin,{isEnterMode:!0,inAnimation:e.animate}}else{const e=gt({detailRect:o,galleryRect:d,pageRect:t.getBoundingClientRect(),scrollOffset:s});return t.style.transformOrigin=e.transformOrigin,{isEnterMode:!1,outAnimation:e.animate}}}const $t=(t={})=>{var i,d;const n={stiffness:((i=t.spring)==null?void 0:i.stiffness)??150,damping:((d=t.spring)==null?void 0:d.damping)??20},s=t.timeout??300;let c=null,a=null,r=null,l=null;return{in:async(o,{scrollOffset:e})=>{const h=o;return!await new Promise(u=>{c?u(!0):(a=u,setTimeout(()=>{a=null,u(!1)},s))})||!c?(l==null||l(),l=null,c=null,{spring:n,css:()=>({})}):(r=ft(c,h,e),l==null||l(),l=null,r?(c=null,{spring:n,css:u=>r!=null&&r.inAnimation?r.inAnimation(u):{}}):(c=null,{spring:n,css:()=>({})}))},out:async o=>{const e=new Promise(h=>{l=h});return{spring:n,prepare:h=>{m.prepareOutgoing(h),r!=null&&r.isEnterMode||(h.style.zIndex="-1")},wait:async()=>{c=o,a&&(a(!0),a=null),await e},css:h=>r!=null&&r.outAnimation?r.outAnimation(h):{}}}}};function mt({detailRect:t,galleryRect:n,pageRect:s,scrollOffset:c}){const a=n.left-t.left+(n.width-t.width)/2-c.x,r=n.top-t.top+(n.height-t.height)/2-c.y,l=n.width/t.width,i=n.height/t.height,d=Math.max(l,i),o=t.top/s.height*100,e=(s.width-(t.left+t.width))/s.width*100,h=(s.height-(t.top+t.height))/s.height*100,y=t.left/s.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:g=>{const p=1-g;return{clipPath:`inset(${o*p}% ${e*p}% ${h*p}% ${y*p}%)`,transform:`translate(${a*p}px, ${r*p}px) scale(${1+(d-1)*p})`}}}}function wt({galleryRect:t,detailRect:n,scrollOffset:s}){const c=n.left-t.left+(n.width-t.width)/2+s.x,a=n.top-t.top+(n.height-t.height)/2+s.y,r=n.width/t.width,l=n.height/t.height,i=Math.max(r,l);return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:o=>{const e=1-o;return{transform:`translate(${c*e-s.x}px, ${a*e-s.y}px) scale(${1+(i-1)*e})`,opacity:`${1-e}`}}}}function xt({galleryRect:t,detailRect:n,scrollOffset:s}){const c=n.left-t.left+(n.width-t.width)/2-s.x,a=n.top-t.top+(n.height-t.height)/2-s.y,r=n.width/t.width,l=n.height/t.height,i=Math.max(r,l);return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:o=>{const e=1-o,h=o;return{transform:`translate(${c*e}px, ${a*e}px) scale(${1+(i-1)*e})`,opacity:`${h}`}}}}function bt({detailRect:t,galleryRect:n,pageRect:s,scrollOffset:c}){const a=n.left-t.left+(n.width-t.width)/2+c.x,r=n.top-t.top+(n.height-t.height)/2+c.y,l=n.width/t.width,i=n.height/t.height,d=Math.min(l,i),o=t.top/s.height*100,e=(s.width-(t.left+t.width))/s.width*100,h=(s.height-(t.top+t.height))/s.height*100,y=t.left/s.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:g=>{const p=1-g;return{clipPath:`inset(${o*p}% ${e*p}% ${h*p}% ${y*p}%)`,transform:`translate(${a*p-c.x}px, ${r*p-c.y}px) scale(${1+(d-1)*p})`}}}}function Et(t,n,s){const c=t.querySelector("[data-pinterest-detail-key]"),a=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 r=null,l=null,i=!1;if(!c&&a){l=a;const e=l.getAttribute("data-pinterest-detail-key");if(!e)return null;r=t.querySelector(`[data-pinterest-gallery-key="${e}"]`),r&&(i=!0)}else if(c&&!a){l=c;const e=l.getAttribute("data-pinterest-detail-key");if(!e)return null;r=n.querySelector(`[data-pinterest-gallery-key="${e}"]`),r&&(i=!1)}if(!r||!l)return null;const d=m.getRect(i?t:n,r),o=m.getRect(i?n:t,l);if(i){const e=mt({detailRect:o,galleryRect:d,pageRect:n.getBoundingClientRect(),scrollOffset:s}),h=wt({galleryRect:d,detailRect:o,scrollOffset:s});return n.style.transformOrigin=e.transformOrigin,t.style.transformOrigin=h.transformOrigin,{inAnimation:e.animate,outAnimation:h.animate}}else{const e=xt({galleryRect:d,detailRect:o,scrollOffset:s}),h=bt({detailRect:o,galleryRect:d,pageRect:t.getBoundingClientRect(),scrollOffset:s});return n.style.transformOrigin=e.transformOrigin,t.style.transformOrigin=h.transformOrigin,{inAnimation:e.animate,outAnimation:h.animate}}}const At=(t={})=>{var i,d;const n={stiffness:((i=t.spring)==null?void 0:i.stiffness)??30,damping:((d=t.spring)==null?void 0:d.damping)??10},s=t.timeout??300;let c=null,a=null,r=null,l=null;return{in:async(o,{scrollOffset:e})=>{const h=o;return!await new Promise(u=>{c?u(!0):(a=u,setTimeout(()=>{a=null,u(!1)},s))})||!c?(l==null||l(),l=null,c=null,{spring:n,css:()=>({})}):(r=Et(c,h,e),l==null||l(),l=null,r?(c=null,{spring:n,css:u=>r?r.inAnimation(u):{}}):(c=null,{spring:n,css:()=>({})}))},out:async o=>{const e=new Promise(h=>{l=h});return{spring:n,prepare:h=>{m.prepareOutgoing(h),h.style.zIndex="-1"},wait:async()=>{c=o,a&&(a(!0),a=null),await e},css:h=>r?r.outAnimation(h):{}}}}},P={stiffness:5,damping:4},Ct=(t={})=>{var d,o;const n=t.direction??"up",s={stiffness:((d=t.spring)==null?void 0:d.stiffness)??P.stiffness,damping:((o=t.spring)==null?void 0:o.damping)??P.damping},c=n==="up";let a=null,r=null,l=null;const i=()=>{if(a===null||r===null)return null;const e=Math.min(a,r),h=window.innerHeight;return Math.max(e,h)};return{in:e=>(r=e.offsetHeight,a!==null&&(l=i()),{spring:s,prepare:()=>{e.style.willChange="transform",e.style.backfaceVisibility="hidden",e.style.contain="layout paint"},tick:h=>{l===null&&(l=i());const y=l??window.innerHeight,u=c?(1-h)*y:(1-h)*-y;e.style.transform=`translate3d(0, ${u}px, 0)`},onEnd:()=>{e.style.willChange="auto",e.style.backfaceVisibility="",e.style.contain=""}}),out:(e,h)=>({spring:s,onStart:()=>{a=e.offsetHeight,r!==null&&(l=i())},tick:y=>{l===null&&(l=i());const u=l??window.innerHeight,g=c?(1-y)*-u:(1-y)*u;e.style.transform=`translate3d(0, ${g}px, 0)`},prepare:y=>{m.prepareOutgoing(y,h),y.style.zIndex=c?"-1":"1",y.style.willChange="transform",y.style.backfaceVisibility="hidden",y.style.contain="layout paint",y.style.pointerEvents="none"}})}},I={stiffness:15,damping:7},Lt=(t={})=>{var a,r;const n=t.direction??"left",s={stiffness:((a=t.spring)==null?void 0:a.stiffness)??I.stiffness,damping:((r=t.spring)==null?void 0:r.damping)??I.damping},c=n==="left";return{in:l=>({spring:s,prepare:()=>{l.style.willChange="transform",l.style.backfaceVisibility="hidden",l.style.contain="layout paint"},css:i=>({transform:`translate3d(${c?(1-i)*100:(1-i)*-100}%, 0, 0)`}),onEnd:()=>{l.style.willChange="auto",l.style.backfaceVisibility="",l.style.contain=""}}),out:(l,i)=>({spring:s,css:d=>({transform:`translate3d(${c?(1-d)*-100:(1-d)*100}%, 0, 0)`}),prepare:d=>{m.prepareOutgoing(d,i),d.style.willChange="transform",d.style.backfaceVisibility="hidden",d.style.contain="layout paint",d.style.pointerEvents="none"}})}},D={stiffness:17,damping:6},S=20,L=800,Tt=()=>{let t,n=null;return{in:s=>({spring:D,prepare:()=>{s.style.willChange="transform",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.transform=`perspective(${L}px) rotateY(${S}deg) translate3d(-100%, 0, 0)`},wait:async()=>{t&&await t},css:c=>{const a=(1-c)*S,r=-(1-c)*100;return{transform:`perspective(${L}px) rotateY(${a}deg) translate3d(${r}%, 0, 0)`}},onEnd:()=>{s.style.transform="",s.style.willChange="auto",s.style.backfaceVisibility="",s.style.contain=""}}),out:(s,c)=>(t=new Promise(a=>{n=a}),{spring:D,prepare:a=>{m.prepareOutgoing(a,c),a.style.willChange="transform",a.style.backfaceVisibility="hidden",a.style.contain="layout paint",a.style.pointerEvents="none",a.style.transform=`perspective(${L}px) rotateY(0deg) translate3d(0%, 0, 0)`},css:a=>{const r=1-a,l=r*S,i=r*100;return{transform:`perspective(${L}px) rotateY(${-l}deg) translate3d(${i}%, 0, 0)`}},onEnd:()=>{n&&n(),s.style.transform=""}})}},St={stiffness:1,damping:1},Ot={stiffness:20,damping:25},kt="#000000",_t="circle",v="CURTAIN_REVEAL_OVERLAY_ID",Pt={position:"fixed",inset:"0",width:"100vw",height:"100%",zIndex:"9999",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},It={position:"relative",display:"inline-block",height:"5.5rem",overflow:"hidden"},Dt={display:"flex",height:"100%",willChange:"transform",transition:"transform 0.3s ease"},vt={display:"inline-flex",alignItems:"center",justifyContent:"center",whiteSpace:"nowrap",fontSize:"5.5rem",fontWeight:"900",letterSpacing:"0.02em",color:"#FFFFFF"},Ft=.4,T=.5,Yt=.2;function Ut(t,n){switch(t){case"circle":return`circle(${n*100}% at 50% 50%)`;case"square":return`inset(${(1-n)*50}% round ${10*n}%)`;case"triangle":{const s=n*100;return`polygon(50% ${50-s}%, ${50-s}% ${50+s}%, ${50+s}% ${50+s}%)`}}}const Vt=t=>t.reduce((n,s)=>n+s,0),Wt=(t={})=>{const{background:n=kt,texts:s=[],shape:c=_t,inSpring:a=Ot,outSpring:r=St,textStyle:l={}}=t;return{out:(i,d)=>{const o=i.style.opacity;return{spring:r,from:1,to:0,prepare:e=>{m.prepareOutgoing(e,d),e.style.opacity="1"},tick:e=>{const h=Math.max(0,e-Ft);i.style.opacity=String(h)},onEnd:()=>{i.style.opacity=o}}},in:i=>{let d=null,o=null,e=null;const h=document.body.style.overflow,y=document.getElementById(v);let u=[];const g=()=>{d=document.createElement("div"),d.id=v,Object.assign(d.style,Pt,{background:n}),document.body.appendChild(d),o=document.createElement("div"),Object.assign(o.style,It),d.appendChild(o),e=document.createElement("div"),Object.assign(e.style,Dt),o.appendChild(e),s.forEach(p=>{const f=document.createElement("div");f.textContent=p,Object.assign(f.style,vt,l),e.appendChild(f)}),u=Array.from(e.children).map(p=>p.getBoundingClientRect().width)};return{spring:a,from:0,to:1,prepare:()=>{document.body.style.overflow="hidden",i.style.opacity="1",y==null||y.remove(),g(),d&&o&&(d.style.clipPath="none",o.style.transform="scale(1)")},tick:p=>{if(!(!d||!o||!e)){if(p<=T&&s.length>0){const f=p/T,$=Math.min(Math.floor(f*s.length),s.length-1),x=u[$]??0,w=Vt(u.slice(0,$));o.style.width=`${x}px`,e.style.transform=`translateX(-${w}px)`}if(p>T){const $=1-Math.max(0,Math.min(1,(p-T)/Yt));d.style.clipPath=Ut(c,$),o.style.transform=`scale(${$})`}}},onEnd:()=>{d==null||d.remove(),d=o=e=null,document.body.style.overflow=h}}}}};exports.jaemin=m.jaemin;exports.blind=J;exports.curtainReveal=Wt;exports.drill=tt;exports.fade=st;exports.film=ot;exports.hero=yt;exports.instagram=$t;exports.pinterest=At;exports.scroll=Ct;exports.slide=Lt;exports.strip=Tt;
35
+ )`}function ot(t,n){t.style.transform=`translateY(${-n.top}px)`}function ct(t,n){return t.querySelector(`[data-hero-key="${n}"]`)}const dt=(t={})=>{var l,i;const n={stiffness:((l=t.spring)==null?void 0:l.stiffness)??300,damping:((i=t.spring)==null?void 0:i.damping)??30},a=t.timeout??300,d=t.maxDistance??700;let r=null,s=null;return{in:async(c,o)=>{const e=c,p=Array.from(e.querySelectorAll("[data-hero-key]"));if(p.length===0)return{spring:n,tick:()=>{}};if(!await new Promise(y=>{r?y(!0):(s=y,setTimeout(()=>{s=null,y(!1)},a))})||!r)return r=null,{spring:n,tick:()=>{}};const h=p.map(y=>{const g=y.getAttribute("data-hero-key");if(!g)return null;const w=ct(r,g);if(!w)return null;const f=y,x=$.getRect(r,w),m=$.getRect(e,f),P=x.left-m.left-o.scrollOffset.x,v=x.top-m.top-o.scrollOffset.y,F=x.width/m.width,Y=x.height/m.height,U=f.style.transform,V=f.style.position,W=f.style.transformOrigin,z=f.style.zIndex,X=f.style.willChange;return{toEl:f,dx:P,dy:v,dw:F,dh:Y,originalTransform:U,originalPosition:V,originalTransformOrigin:W,originalZIndex:z,originalWillChange:X}}).filter(y=>y!==null&&Math.abs(y.dy)<=d);return r=null,h.length===0?{spring:n,tick:()=>{}}:{springs:h.map(({toEl:y,dx:g,dy:w,dw:f,dh:x})=>({spring:n,tick:m=>{y.style.transform=`translate(${(1-m)*g}px, ${(1-m)*w}px) scale(${m+(1-m)*f}, ${m+(1-m)*x})`}})),schedule:"parallel",prepare:()=>{h.forEach(({toEl:y})=>{y.style.position="relative",y.style.transformOrigin="top left",y.style.zIndex="1000",y.style.willChange="transform"})},onEnd:()=>{h.forEach(({toEl:y,originalTransform:g,originalPosition:w,originalTransformOrigin:f,originalZIndex:x,originalWillChange:m})=>{y.style.transform=g,y.style.position=w,y.style.transformOrigin=f,y.style.zIndex=x,y.style.willChange=m})}}},out:async c=>({spring:n,onStart:()=>{r=c,s&&(s(!0),s=null)},tick:()=>{},prepare:o=>{$.prepareOutgoing(o),o.style.opacity="0"}})}};function pt({detailRect:t,galleryRect:n,pageRect:a,scrollOffset:d}){const r=n.left-t.left+(n.width-t.width)/2-d.x,s=n.top-t.top+(n.height-t.height)/2-d.y,l=n.width/t.width,i=n.height/t.height,c=Math.max(l,i),o=t.top/a.height*100,e=(a.width-(t.left+t.width))/a.width*100,p=(a.height-(t.top+t.height))/a.height*100,u=t.left/a.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:y=>{const g=1-y;return{clipPath:`inset(${o*g}% ${e*g}% ${p*g}% ${u*g}%)`,transform:`translate(${r*g}px, ${s*g}px) scale(${1+(c-1)*g})`}}}}function ht({detailRect:t,galleryRect:n,pageRect:a,scrollOffset:d}){const r=n.left-t.left+(n.width-t.width)/2+d.x,s=n.top-t.top+(n.height-t.height)/2+d.y,l=n.width/t.width,i=n.height/t.height,c=Math.min(l,i),o=t.top/a.height*100,e=(a.width-(t.left+t.width))/a.width*100,p=(a.height-(t.top+t.height))/a.height*100,u=t.left/a.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:y=>{const g=1-y;return{clipPath:`inset(${o*g}% ${e*g}% ${p*g}% ${u*g}%)`,transform:`translate(${r*g-d.x}px, ${s*g-d.y}px) scale(${1+(c-1)*g})`}}}}function yt(t,n,a){const d=t.querySelector("[data-instagram-detail-key]"),r=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 s=null,l=null,i=!1;if(!d&&r){l=r;const e=l.getAttribute("data-instagram-detail-key");if(!e)return null;s=t.querySelector(`[data-instagram-gallery-key="${e}"]`),s&&(i=!0)}else if(d&&!r){l=d;const e=l.getAttribute("data-instagram-detail-key");if(!e)return null;s=n.querySelector(`[data-instagram-gallery-key="${e}"]`),s&&(i=!1)}if(!s||!l)return null;const c=$.getRect(i?t:n,s),o=$.getRect(i?n:t,l);if(i){const e=pt({detailRect:o,galleryRect:c,pageRect:n.getBoundingClientRect(),scrollOffset:a});return n.style.transformOrigin=e.transformOrigin,{isEnterMode:!0,inAnimation:e.animate}}else{const e=ht({detailRect:o,galleryRect:c,pageRect:t.getBoundingClientRect(),scrollOffset:a});return t.style.transformOrigin=e.transformOrigin,{isEnterMode:!1,outAnimation:e.animate}}}const gt=(t={})=>{var i,c;const n={stiffness:((i=t.spring)==null?void 0:i.stiffness)??150,damping:((c=t.spring)==null?void 0:c.damping)??20},a=t.timeout??300;let d=null,r=null,s=null,l=null;return{in:async(o,{scrollOffset:e})=>{const p=o;return!await new Promise(h=>{d?h(!0):(r=h,setTimeout(()=>{r=null,h(!1)},a))})||!d?(l==null||l(),l=null,d=null,{spring:n,css:()=>({})}):(s=yt(d,p,e),l==null||l(),l=null,s?(d=null,{spring:n,css:h=>s!=null&&s.inAnimation?s.inAnimation(h):{}}):(d=null,{spring:n,css:()=>({})}))},out:async o=>{const e=new Promise(p=>{l=p});return{spring:n,prepare:p=>{$.prepareOutgoing(p),s!=null&&s.isEnterMode||(p.style.zIndex="-1")},wait:async()=>{d=o,r&&(r(!0),r=null),await e},css:p=>s!=null&&s.outAnimation?s.outAnimation(p):{}}}}};function ut({detailRect:t,galleryRect:n,pageRect:a,scrollOffset:d}){const r=n.left-t.left+(n.width-t.width)/2-d.x,s=n.top-t.top+(n.height-t.height)/2-d.y,l=n.width/t.width,i=n.height/t.height,c=Math.max(l,i),o=t.top/a.height*100,e=(a.width-(t.left+t.width))/a.width*100,p=(a.height-(t.top+t.height))/a.height*100,u=t.left/a.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:y=>{const g=1-y;return{clipPath:`inset(${o*g}% ${e*g}% ${p*g}% ${u*g}%)`,transform:`translate(${r*g}px, ${s*g}px) scale(${1+(c-1)*g})`}}}}function ft({galleryRect:t,detailRect:n,scrollOffset:a}){const d=n.left-t.left+(n.width-t.width)/2+a.x,r=n.top-t.top+(n.height-t.height)/2+a.y,s=n.width/t.width,l=n.height/t.height,i=Math.max(s,l);return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:o=>{const e=1-o;return{transform:`translate(${d*e-a.x}px, ${r*e-a.y}px) scale(${1+(i-1)*e})`,opacity:`${1-e}`}}}}function $t({galleryRect:t,detailRect:n,scrollOffset:a}){const d=n.left-t.left+(n.width-t.width)/2-a.x,r=n.top-t.top+(n.height-t.height)/2-a.y,s=n.width/t.width,l=n.height/t.height,i=Math.max(s,l);return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:o=>{const e=1-o,p=o;return{transform:`translate(${d*e}px, ${r*e}px) scale(${1+(i-1)*e})`,opacity:`${p}`}}}}function mt({detailRect:t,galleryRect:n,pageRect:a,scrollOffset:d}){const r=n.left-t.left+(n.width-t.width)/2+d.x,s=n.top-t.top+(n.height-t.height)/2+d.y,l=n.width/t.width,i=n.height/t.height,c=Math.min(l,i),o=t.top/a.height*100,e=(a.width-(t.left+t.width))/a.width*100,p=(a.height-(t.top+t.height))/a.height*100,u=t.left/a.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:y=>{const g=1-y;return{clipPath:`inset(${o*g}% ${e*g}% ${p*g}% ${u*g}%)`,transform:`translate(${r*g-d.x}px, ${s*g-d.y}px) scale(${1+(c-1)*g})`}}}}function wt(t,n,a){const d=t.querySelector("[data-pinterest-detail-key]"),r=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 s=null,l=null,i=!1;if(!d&&r){l=r;const e=l.getAttribute("data-pinterest-detail-key");if(!e)return null;s=t.querySelector(`[data-pinterest-gallery-key="${e}"]`),s&&(i=!0)}else if(d&&!r){l=d;const e=l.getAttribute("data-pinterest-detail-key");if(!e)return null;s=n.querySelector(`[data-pinterest-gallery-key="${e}"]`),s&&(i=!1)}if(!s||!l)return null;const c=$.getRect(i?t:n,s),o=$.getRect(i?n:t,l);if(i){const e=ut({detailRect:o,galleryRect:c,pageRect:n.getBoundingClientRect(),scrollOffset:a}),p=ft({galleryRect:c,detailRect:o,scrollOffset:a});return n.style.transformOrigin=e.transformOrigin,t.style.transformOrigin=p.transformOrigin,{inAnimation:e.animate,outAnimation:p.animate}}else{const e=$t({galleryRect:c,detailRect:o,scrollOffset:a}),p=mt({detailRect:o,galleryRect:c,pageRect:t.getBoundingClientRect(),scrollOffset:a});return n.style.transformOrigin=e.transformOrigin,t.style.transformOrigin=p.transformOrigin,{inAnimation:e.animate,outAnimation:p.animate}}}const xt=(t={})=>{var i,c;const n={stiffness:((i=t.spring)==null?void 0:i.stiffness)??30,damping:((c=t.spring)==null?void 0:c.damping)??10},a=t.timeout??300;let d=null,r=null,s=null,l=null;return{in:async(o,{scrollOffset:e})=>{const p=o;return!await new Promise(h=>{d?h(!0):(r=h,setTimeout(()=>{r=null,h(!1)},a))})||!d?(l==null||l(),l=null,d=null,{spring:n,css:()=>({})}):(s=wt(d,p,e),l==null||l(),l=null,s?(d=null,{spring:n,css:h=>s?s.inAnimation(h):{}}):(d=null,{spring:n,css:()=>({})}))},out:async o=>{const e=new Promise(p=>{l=p});return{spring:n,prepare:p=>{$.prepareOutgoing(p),p.style.zIndex="-1"},wait:async()=>{d=o,r&&(r(!0),r=null),await e},css:p=>s?s.outAnimation(p):{}}}}},O={stiffness:5,damping:4},bt=(t={})=>{var c,o;const n=t.direction??"up",a={stiffness:((c=t.spring)==null?void 0:c.stiffness)??O.stiffness,damping:((o=t.spring)==null?void 0:o.damping)??O.damping},d=n==="up";let r=null,s=null,l=null;const i=()=>{if(r===null||s===null)return null;const e=Math.min(r,s),p=window.innerHeight;return Math.max(e,p)};return{in:e=>(s=e.offsetHeight,r!==null&&(l=i()),{spring:a,prepare:()=>{e.style.willChange="transform",e.style.backfaceVisibility="hidden",e.style.contain="layout paint"},tick:p=>{l===null&&(l=i());const u=l??window.innerHeight,h=d?(1-p)*u:(1-p)*-u;e.style.transform=`translate3d(0, ${h}px, 0)`},onEnd:()=>{e.style.willChange="auto",e.style.backfaceVisibility="",e.style.contain=""}}),out:(e,p)=>({spring:a,onStart:()=>{r=e.offsetHeight,s!==null&&(l=i())},tick:u=>{l===null&&(l=i());const h=l??window.innerHeight,y=d?(1-u)*-h:(1-u)*h;e.style.transform=`translate3d(0, ${y}px, 0)`},prepare:u=>{$.prepareOutgoing(u,p),u.style.zIndex=d?"-1":"1",u.style.willChange="transform",u.style.backfaceVisibility="hidden",u.style.contain="layout paint",u.style.pointerEvents="none"}})}},S={stiffness:15,damping:7},Et=(t={})=>{var r,s;const n=t.direction??"left",a={stiffness:((r=t.spring)==null?void 0:r.stiffness)??S.stiffness,damping:((s=t.spring)==null?void 0:s.damping)??S.damping},d=n==="left";return{in:l=>({spring:a,prepare:()=>{l.style.willChange="transform",l.style.backfaceVisibility="hidden",l.style.contain="layout paint"},css:i=>({transform:`translate3d(${d?(1-i)*100:(1-i)*-100}%, 0, 0)`}),onEnd:()=>{l.style.willChange="auto",l.style.backfaceVisibility="",l.style.contain=""}}),out:(l,i)=>({spring:a,css:c=>({transform:`translate3d(${d?(1-c)*-100:(1-c)*100}%, 0, 0)`}),prepare:c=>{$.prepareOutgoing(c,i),c.style.willChange="transform",c.style.backfaceVisibility="hidden",c.style.contain="layout paint",c.style.pointerEvents="none"}})}},_={stiffness:17,damping:6},A=20,E=800,Ct=()=>{let t,n=null;return{in:a=>({spring:_,prepare:()=>{a.style.willChange="transform",a.style.backfaceVisibility="hidden",a.style.contain="layout paint",a.style.transform=`perspective(${E}px) rotateY(${A}deg) translate3d(-100%, 0, 0)`},wait:async()=>{t&&await t},css:d=>{const r=(1-d)*A,s=-(1-d)*100;return{transform:`perspective(${E}px) rotateY(${r}deg) translate3d(${s}%, 0, 0)`}},onEnd:()=>{a.style.transform="",a.style.willChange="auto",a.style.backfaceVisibility="",a.style.contain=""}}),out:(a,d)=>(t=new Promise(r=>{n=r}),{spring:_,prepare:r=>{$.prepareOutgoing(r,d),r.style.willChange="transform",r.style.backfaceVisibility="hidden",r.style.contain="layout paint",r.style.pointerEvents="none",r.style.transform=`perspective(${E}px) rotateY(0deg) translate3d(0%, 0, 0)`},css:r=>{const s=1-r,l=s*A,i=s*100;return{transform:`perspective(${E}px) rotateY(${-l}deg) translate3d(${i}%, 0, 0)`}},onEnd:()=>{n&&n(),a.style.transform=""}})}},At={stiffness:1,damping:1},Lt={stiffness:20,damping:25},Tt="#000000",kt="circle",I="CURTAIN_REVEAL_OVERLAY_ID",Ot={position:"fixed",inset:"0",width:"100vw",height:"100%",zIndex:"9999",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},St={position:"relative",display:"inline-block",height:"5.5rem",overflow:"hidden"},_t={display:"flex",height:"100%",willChange:"transform",transition:"transform 0.3s ease"},It={display:"inline-flex",alignItems:"center",justifyContent:"center",whiteSpace:"nowrap",fontSize:"5.5rem",fontWeight:"900",letterSpacing:"0.02em",color:"#FFFFFF"},Dt=.4,C=.5,Pt=.2;function vt(t,n){switch(t){case"circle":return`circle(${n*100}% at 50% 50%)`;case"square":return`inset(${(1-n)*50}% round ${10*n}%)`;case"triangle":{const a=n*100;return`polygon(50% ${50-a}%, ${50-a}% ${50+a}%, ${50+a}% ${50+a}%)`}}}const Ft=t=>t.reduce((n,a)=>n+a,0),Yt=(t={})=>{const{background:n=Tt,texts:a=[],shape:d=kt,inSpring:r=Lt,outSpring:s=At,textStyle:l={}}=t;return{out:(i,c)=>{const o=i.style.opacity;return{spring:s,from:1,to:0,prepare:e=>{$.prepareOutgoing(e,c),e.style.opacity="1"},tick:e=>{const p=Math.max(0,e-Dt);i.style.opacity=String(p)},onEnd:()=>{i.style.opacity=o}}},in:i=>{let c=null,o=null,e=null;const p=document.body.style.overflow,u=document.getElementById(I);let h=[];const y=()=>{c=document.createElement("div"),c.id=I,Object.assign(c.style,Ot,{background:n}),document.body.appendChild(c),o=document.createElement("div"),Object.assign(o.style,St),c.appendChild(o),e=document.createElement("div"),Object.assign(e.style,_t),o.appendChild(e),a.forEach(g=>{const w=document.createElement("div");w.textContent=g,Object.assign(w.style,It,l),e.appendChild(w)}),h=Array.from(e.children).map(g=>g.getBoundingClientRect().width)};return{spring:r,from:0,to:1,prepare:()=>{document.body.style.overflow="hidden",i.style.opacity="1",u==null||u.remove(),y(),c&&o&&(c.style.clipPath="none",o.style.transform="scale(1)")},tick:g=>{if(!(!c||!o||!e)){if(g<=C&&a.length>0){const w=g/C,f=Math.min(Math.floor(w*a.length),a.length-1),x=h[f]??0,m=Ft(h.slice(0,f));o.style.width=`${x}px`,e.style.transform=`translateX(-${m}px)`}if(g>C){const f=1-Math.max(0,Math.min(1,(g-C)/Pt));c.style.clipPath=vt(d,f),o.style.transform=`scale(${f})`}}},onEnd:()=>{c==null||c.remove(),c=o=e=null,document.body.style.overflow=p}}}}};exports.jaemin=$.jaemin;exports.blind=j;exports.curtainReveal=Yt;exports.drill=J;exports.fade=nt;exports.film=at;exports.hero=dt;exports.instagram=gt;exports.pinterest=xt;exports.scroll=bt;exports.slide=Et;exports.strip=Ct;