@ssgoi/core 3.1.4 → 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,4 +1,4 @@
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,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,15 +7,15 @@
7
7
  pointer-events: none;
8
8
  z-index: 9999;
9
9
  overflow: hidden;
10
- `;const u=[];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=`
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
12
  top: ${x*w}%;
13
13
  left: 0;
14
14
  width: 100%;
15
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
20
  `}else{const x=100/r,m=`calc(${x}% + 1px)`;f.style.cssText=`
21
21
  position: absolute;
@@ -24,12 +24,12 @@
24
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
- `}u.push(f),g.appendChild(f)}return e.appendChild(g),{container:g,blinds:u}};return{out:()=>{let e=null;i=new Promise(p=>{c=p});const h=p=>{const g=1-p;return{transform:s==="horizontal"?`scaleX(${g})`:`scaleY(${g})`}};return{springs:Array.from({length:r},(p,g)=>({spring:a,offset:.2,css:{get element(){return e==null?void 0:e.blinds[g]},style:h}})),schedule:"stagger",prepare:p=>{$.prepareOutgoing(p),p.style.zIndex="1000",e=o(p,"hidden","left")},onStart:()=>{},onEnd:()=>{c&&c()}}},in:()=>{let e=null;const h=p=>{const g=1-p;return{transform:s==="horizontal"?`scaleX(${g})`:`scaleY(${g})`}};return{springs:Array.from({length:r},(p,g)=>({spring:n,offset:.2,css:{get element(){return e==null?void 0:e.blinds[g]},style:h}})),schedule:"stagger",prepare:p=>{p.style.position="relative",p.style.zIndex="0",e=o(p,"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:7,damping:4},translate:{stiffness:5,damping:3.5},scaleUp:{stiffness:7,damping:4}},b={scaleDown:0,translate:.2,scaleUp:.9},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},h=()=>{s.style.transform=`translateY(${e.translateY}px) scale(${e.scale})`;const y=(i.width-i.width*e.scale)/2,p=(i.height-i.height*e.scale)/2;rt(o,y,p)};return{springs:[{spring:n.scaleDown,offset:b.scaleDown,tick:y=>{const p=1-y;e.scale=1-(1-a)*p,h()}},{spring:n.translate,offset:b.translate,tick:y=>{const p=1-y;e.translateY=-i.top-i.height*p,h()}},{spring:n.scaleUp,offset:b.scaleUp,tick:y=>{const p=1-y;e.scale=a+(1-a)*p,h()}}],schedule:"stagger",prepare:()=>{$.prepareOutgoing(s),T(s,i),k(s,i),ot(s,i);for(const y of o)l.positionedParent.appendChild(y)},onEnd:()=>{s.style.clipPath="",s.style.transformOrigin="",setTimeout(()=>{for(const y of o)l.positionedParent.removeChild(y)},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 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 p=document.createElement("div");p.style.position="fixed",p.style.pointerEvents="none",p.style.zIndex="9999",p.style.top=`${n.top+n.height-15+1}px`,p.style.left=`${n.left+n.width-15+1}px`,p.style.width="15px",p.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 u=document.createElement("div");return u.style.position="absolute",u.style.width="1px",u.style.height="15px",u.style.backgroundColor=t,u.style.bottom="0",u.style.right="0",p.appendChild(g),p.appendChild(u),{topLeft:r,topRight:i,bottomLeft:e,bottomRight:p,*[Symbol.iterator](){yield r,yield i,yield e,yield p}}}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(
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 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,h=Array.from(e.querySelectorAll("[data-hero-key]"));if(h.length===0)return{spring:n,tick:()=>{}};if(!await new Promise(g=>{r?g(!0):(s=g,setTimeout(()=>{s=null,g(!1)},a))})||!r)return r=null,{spring:n,tick:()=>{}};const p=h.map(g=>{const u=g.getAttribute("data-hero-key");if(!u)return null;const w=ct(r,u);if(!w)return null;const f=g,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(g=>g!==null&&Math.abs(g.dy)<=d);return r=null,p.length===0?{spring:n,tick:()=>{}}:{springs:p.map(({toEl:g,dx:u,dy:w,dw:f,dh:x})=>({spring:n,tick:m=>{g.style.transform=`translate(${(1-m)*u}px, ${(1-m)*w}px) scale(${m+(1-m)*f}, ${m+(1-m)*x})`}})),schedule:"parallel",prepare:()=>{p.forEach(({toEl:g})=>{g.style.position="relative",g.style.transformOrigin="top left",g.style.zIndex="1000",g.style.willChange="transform"})},onEnd:()=>{p.forEach(({toEl:g,originalTransform:u,originalPosition:w,originalTransformOrigin:f,originalZIndex:x,originalWillChange:m})=>{g.style.transform=u,g.style.position=w,g.style.transformOrigin=f,g.style.zIndex=x,g.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,h=(a.height-(t.top+t.height))/a.height*100,y=t.left/a.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:g=>{const u=1-g;return{clipPath:`inset(${o*u}% ${e*u}% ${h*u}% ${y*u}%)`,transform:`translate(${r*u}px, ${s*u}px) scale(${1+(c-1)*u})`}}}}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,h=(a.height-(t.top+t.height))/a.height*100,y=t.left/a.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:g=>{const u=1-g;return{clipPath:`inset(${o*u}% ${e*u}% ${h*u}% ${y*u}%)`,transform:`translate(${r*u-d.x}px, ${s*u-d.y}px) scale(${1+(c-1)*u})`}}}}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 h=o;return!await new Promise(p=>{d?p(!0):(r=p,setTimeout(()=>{r=null,p(!1)},a))})||!d?(l==null||l(),l=null,d=null,{spring:n,css:()=>({})}):(s=yt(d,h,e),l==null||l(),l=null,s?(d=null,{spring:n,css:p=>s!=null&&s.inAnimation?s.inAnimation(p):{}}):(d=null,{spring:n,css:()=>({})}))},out:async(o,e)=>{const h=new Promise(y=>{l=y});return{spring:n,prepare:y=>{s!=null&&s.isEnterMode?$.prepareOutgoing(y):($.prepareOutgoing(y,e),y.style.zIndex="-1")},wait:async()=>{d=o,r&&(r(!0),r=null),await h},css:y=>s!=null&&s.outAnimation?s.outAnimation(y):{}}}}};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,h=(a.height-(t.top+t.height))/a.height*100,y=t.left/a.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:g=>{const u=1-g;return{clipPath:`inset(${o*u}% ${e*u}% ${h*u}% ${y*u}%)`,transform:`translate(${r*u}px, ${s*u}px) scale(${1+(c-1)*u})`}}}}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,h=o;return{transform:`translate(${d*e}px, ${r*e}px) scale(${1+(i-1)*e})`,opacity:`${h}`}}}}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,h=(a.height-(t.top+t.height))/a.height*100,y=t.left/a.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:g=>{const u=1-g;return{clipPath:`inset(${o*u}% ${e*u}% ${h*u}% ${y*u}%)`,transform:`translate(${r*u-d.x}px, ${s*u-d.y}px) scale(${1+(c-1)*u})`}}}}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}),h=ft({galleryRect:c,detailRect:o,scrollOffset:a});return n.style.transformOrigin=e.transformOrigin,t.style.transformOrigin=h.transformOrigin,{inAnimation:e.animate,outAnimation:h.animate}}else{const e=$t({galleryRect:c,detailRect:o,scrollOffset:a}),h=mt({detailRect:o,galleryRect:c,pageRect:t.getBoundingClientRect(),scrollOffset:a});return n.style.transformOrigin=e.transformOrigin,t.style.transformOrigin=h.transformOrigin,{inAnimation:e.animate,outAnimation:h.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 h=o;return!await new Promise(p=>{d?p(!0):(r=p,setTimeout(()=>{r=null,p(!1)},a))})||!d?(l==null||l(),l=null,d=null,{spring:n,css:()=>({})}):(s=wt(d,h,e),l==null||l(),l=null,s?(d=null,{spring:n,css:p=>s?s.inAnimation(p):{}}):(d=null,{spring:n,css:()=>({})}))},out:async o=>{const e=new Promise(h=>{l=h});return{spring:n,prepare:h=>{$.prepareOutgoing(h),h.style.zIndex="-1"},wait:async()=>{d=o,r&&(r(!0),r=null),await e},css:h=>s?s.outAnimation(h):{}}}}},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),h=window.innerHeight;return Math.max(e,h)};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:h=>{l===null&&(l=i());const y=l??window.innerHeight,p=d?(1-h)*y:(1-h)*-y;e.style.transform=`translate3d(0, ${p}px, 0)`},onEnd:()=>{e.style.willChange="auto",e.style.backfaceVisibility="",e.style.contain=""}}),out:(e,h)=>({spring:a,onStart:()=>{r=e.offsetHeight,s!==null&&(l=i())},tick:y=>{l===null&&(l=i());const p=l??window.innerHeight,g=d?(1-y)*-p:(1-y)*p;e.style.transform=`translate3d(0, ${g}px, 0)`},prepare:y=>{$.prepareOutgoing(y,h),y.style.zIndex=d?"-1":"1",y.style.willChange="transform",y.style.backfaceVisibility="hidden",y.style.contain="layout paint",y.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 h=Math.max(0,e-Dt);i.style.opacity=String(h)},onEnd:()=>{i.style.opacity=o}}},in:i=>{let c=null,o=null,e=null;const h=document.body.style.overflow,y=document.getElementById(I);let p=[];const g=()=>{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(u=>{const w=document.createElement("div");w.textContent=u,Object.assign(w.style,It,l),e.appendChild(w)}),p=Array.from(e.children).map(u=>u.getBoundingClientRect().width)};return{spring:r,from:0,to:1,prepare:()=>{document.body.style.overflow="hidden",i.style.opacity="1",y==null||y.remove(),g(),c&&o&&(c.style.clipPath="none",o.style.transform="scale(1)")},tick:u=>{if(!(!c||!o||!e)){if(u<=C&&a.length>0){const w=u/C,f=Math.min(Math.floor(w*a.length),a.length-1),x=p[f]??0,m=Ft(p.slice(0,f));o.style.width=`${x}px`,e.style.transform=`translateX(-${m}px)`}if(u>C){const f=1-Math.max(0,Math.min(1,(u-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=h}}}}};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;
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;