@ssgoi/core 4.4.0 → 5.0.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.
Files changed (38) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.js +383 -393
  3. package/dist/presets/index.cjs +1 -1
  4. package/dist/presets/index.d.ts +6 -0
  5. package/dist/presets/index.d.ts.map +1 -1
  6. package/dist/presets/index.js +31 -16
  7. package/dist/ssgoi-transition/create-context-manager.d.ts +6 -15
  8. package/dist/ssgoi-transition/create-context-manager.d.ts.map +1 -1
  9. package/dist/ssgoi-transition/create-navigation-direction-detector.d.ts +20 -0
  10. package/dist/ssgoi-transition/create-navigation-direction-detector.d.ts.map +1 -0
  11. package/dist/ssgoi-transition/create-ssgoi-transition-context.d.ts +1 -4
  12. package/dist/ssgoi-transition/create-ssgoi-transition-context.d.ts.map +1 -1
  13. package/dist/ssgoi-transition/navigation-detector-strategy.d.ts.map +1 -1
  14. package/dist/types.d.ts +41 -37
  15. package/dist/types.d.ts.map +1 -1
  16. package/dist/utils/index.d.ts +4 -0
  17. package/dist/utils/index.d.ts.map +1 -1
  18. package/dist/utils/is-android.d.ts +5 -0
  19. package/dist/utils/is-android.d.ts.map +1 -0
  20. package/dist/utils/is-desktop.d.ts +5 -0
  21. package/dist/utils/is-desktop.d.ts.map +1 -0
  22. package/dist/utils/is-ios.d.ts +6 -0
  23. package/dist/utils/is-ios.d.ts.map +1 -0
  24. package/dist/utils/match-platform.d.ts +8 -0
  25. package/dist/utils/match-platform.d.ts.map +1 -0
  26. package/dist/view-transitions/depth.d.ts.map +1 -1
  27. package/dist/view-transitions/drill.d.ts.map +1 -1
  28. package/dist/view-transitions/index.cjs +2 -2
  29. package/dist/view-transitions/index.js +17 -17
  30. package/dist/view-transitions/instagram.d.ts.map +1 -1
  31. package/dist/view-transitions/pinterest.d.ts.map +1 -1
  32. package/dist/view-transitions/sheet.d.ts.map +1 -1
  33. package/dist/view-transitions/slide.d.ts.map +1 -1
  34. package/dist/view-transitions/snap.d.ts.map +1 -1
  35. package/dist/view-transitions/swap.d.ts.map +1 -1
  36. package/package.json +10 -2
  37. package/dist/ssgoi-transition/create-swipe-detector.d.ts +0 -11
  38. package/dist/ssgoi-transition/create-swipe-detector.d.ts.map +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s={stiffness:170,damping:26},n={stiffness:120,damping:14},t={stiffness:180,damping:12},e={stiffness:210,damping:20},f={stiffness:280,damping:60},i={stiffness:150,damping:60},o={default:s,gentle:n,wobbly:t,stiff:e,slow:f,molasses:i};exports.config=o;exports.defaultSpring=s;exports.gentle=n;exports.molasses=i;exports.slow=f;exports.stiff=e;exports.wobbly=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s={stiffness:170,damping:26},n={stiffness:170,damping:22},t={stiffness:280,damping:30},e={stiffness:400,damping:30},f={stiffness:120,damping:14},i={stiffness:180,damping:12},a={stiffness:210,damping:20},o={stiffness:280,damping:60},g={stiffness:150,damping:60},p={default:s,easeOut:n,easeInOut:t,snappy:e,gentle:f,wobbly:i,stiff:a,slow:o,molasses:g};exports.config=p;exports.defaultSpring=s;exports.easeInOut=t;exports.easeOut=n;exports.gentle=f;exports.molasses=g;exports.slow=o;exports.snappy=e;exports.stiff=a;exports.wobbly=i;
@@ -1,5 +1,8 @@
1
1
  import { SpringConfig } from '../types';
2
2
  export declare const defaultSpring: SpringConfig;
3
+ export declare const easeOut: SpringConfig;
4
+ export declare const easeInOut: SpringConfig;
5
+ export declare const snappy: SpringConfig;
3
6
  export declare const gentle: SpringConfig;
4
7
  export declare const wobbly: SpringConfig;
5
8
  export declare const stiff: SpringConfig;
@@ -7,6 +10,9 @@ export declare const slow: SpringConfig;
7
10
  export declare const molasses: SpringConfig;
8
11
  export declare const config: {
9
12
  readonly default: SpringConfig;
13
+ readonly easeOut: SpringConfig;
14
+ readonly easeInOut: SpringConfig;
15
+ readonly snappy: SpringConfig;
10
16
  readonly gentle: SpringConfig;
11
17
  readonly wobbly: SpringConfig;
12
18
  readonly stiff: SpringConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/presets/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,aAAa,EAAE,YAG3B,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,YAGpB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,YAGpB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,YAGnB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,YAGlB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,YAGtB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/presets/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,eAAO,MAAM,aAAa,EAAE,YAG3B,CAAC;AAOF,eAAO,MAAM,OAAO,EAAE,YAGrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,YAGvB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,YAGpB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,YAGpB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,YAGpB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,YAGnB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,YAGlB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,YAGtB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;CAUT,CAAC"}
@@ -2,34 +2,49 @@ const s = {
2
2
  stiffness: 170,
3
3
  damping: 26
4
4
  }, n = {
5
+ stiffness: 170,
6
+ damping: 22
7
+ }, t = {
8
+ stiffness: 280,
9
+ damping: 30
10
+ }, f = {
11
+ stiffness: 400,
12
+ damping: 30
13
+ }, i = {
5
14
  stiffness: 120,
6
15
  damping: 14
7
- }, t = {
16
+ }, e = {
8
17
  stiffness: 180,
9
18
  damping: 12
10
- }, f = {
19
+ }, a = {
11
20
  stiffness: 210,
12
21
  damping: 20
13
- }, i = {
22
+ }, o = {
14
23
  stiffness: 280,
15
24
  damping: 60
16
- }, e = {
25
+ }, p = {
17
26
  stiffness: 150,
18
27
  damping: 60
19
- }, o = {
28
+ }, g = {
20
29
  default: s,
21
- gentle: n,
22
- wobbly: t,
23
- stiff: f,
24
- slow: i,
25
- molasses: e
30
+ easeOut: n,
31
+ easeInOut: t,
32
+ snappy: f,
33
+ gentle: i,
34
+ wobbly: e,
35
+ stiff: a,
36
+ slow: o,
37
+ molasses: p
26
38
  };
27
39
  export {
28
- o as config,
40
+ g as config,
29
41
  s as defaultSpring,
30
- n as gentle,
31
- e as molasses,
32
- i as slow,
33
- f as stiff,
34
- t as wobbly
42
+ t as easeInOut,
43
+ n as easeOut,
44
+ i as gentle,
45
+ p as molasses,
46
+ o as slow,
47
+ f as snappy,
48
+ a as stiff,
49
+ e as wobbly
35
50
  };
@@ -1,28 +1,19 @@
1
- /**
2
- * Options for the context manager
3
- */
1
+ import { PreserveScrollOption } from '../types';
4
2
  export type ContextManagerOptions = {
5
3
  /**
6
- * Automatically restore scroll position when navigating to a previously visited page
7
- * @default false
4
+ * Scroll preservation policy. See SsgoiConfig.preserveScroll for full semantics.
5
+ * @default (isMobile) => isMobile
8
6
  */
9
- preserveScroll?: boolean;
10
- /**
11
- * Patterns for routes that should reset scroll to 0 when leaving
12
- * Uses the same wildcard matching as transition routes
13
- */
14
- resetPatterns?: string[];
7
+ preserveScroll?: PreserveScrollOption;
15
8
  };
16
- /**
17
- * Creates a context manager for tracking transition-related information
18
- * including scroll positions and DOM element relationships
19
- */
20
9
  export declare function createContextManager(options?: ContextManagerOptions): {
21
10
  initializeContext: (element: HTMLElement, path: string) => void;
22
11
  calculateScrollOffset: (from?: string, to?: string) => {
23
12
  x: number;
24
13
  y: number;
25
14
  };
15
+ evictScrollPosition: (path: string) => void;
16
+ shouldPreserve: (path: string) => boolean;
26
17
  getScrollContainer: () => HTMLElement | null;
27
18
  getPositionedParentElement: () => HTMLElement;
28
19
  getScrollPosition: (path?: string) => {
@@ -1 +1 @@
1
- {"version":3,"file":"create-context-manager.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/create-context-manager.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B;iCAsElC,WAAW,QAAQ,MAAM;mCA8CpD,MAAM,OACR,MAAM,KACV;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;;;+BAkCO,MAAM,KAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;EAapE"}
1
+ {"version":3,"file":"create-context-manager.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/create-context-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAoB,MAAM,UAAU,CAAC;AAWvE,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;OAGG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B;iCA0GlC,WAAW,QAAQ,MAAM;mCAwDpD,MAAM,OACR,MAAM,KACV;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;gCAoBQ,MAAM;2BAhJX,MAAM,KAAG,OAAO;;;+BA2JZ,MAAM,KAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;EAepE"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Navigation Direction Detector
3
+ *
4
+ * Detects navigation direction (push/back/forward) using history.state and popstate event.
5
+ * Used to skip animations on back navigation for iOS Safari compatibility.
6
+ *
7
+ * How it works:
8
+ * - Stores an incrementing index in history.state.ssgoiIndex
9
+ * - On popstate, compares the new index with current to determine direction
10
+ * - newIndex < currentIndex → back
11
+ * - newIndex > currentIndex → forward
12
+ * - No popstate → push (new navigation)
13
+ */
14
+ export type NavigationDirection = "push" | "back" | "forward";
15
+ export declare function createNavigationDirectionDetector(): {
16
+ initialize: () => void;
17
+ onPageEnter: () => NavigationDirection;
18
+ isBack: () => boolean;
19
+ };
20
+ //# sourceMappingURL=create-navigation-direction-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-navigation-direction-detector.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/create-navigation-direction-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE9D,wBAAgB,iCAAiC;;uBA4CvB,mBAAmB;;EAyB5C"}
@@ -1,4 +1,4 @@
1
- import { SsgoiConfig, SsgoiContext, SsgoiExtendedContext, SsgoiInternalOptions } from '../types';
1
+ import { SsgoiConfig, SsgoiContext, SsgoiInternalOptions } from '../types';
2
2
  /**
3
3
  * SSGOI Transition Context Operation Principles
4
4
  *
@@ -31,8 +31,5 @@ import { SsgoiConfig, SsgoiContext, SsgoiExtendedContext, SsgoiInternalOptions }
31
31
  * defaultTransition: fade()
32
32
  * });
33
33
  */
34
- export declare function createSggoiTransitionContext(options: SsgoiConfig, internalOptions: SsgoiInternalOptions & {
35
- createNavigationDetector: NonNullable<SsgoiInternalOptions["createNavigationDetector"]>;
36
- }): SsgoiExtendedContext;
37
34
  export declare function createSggoiTransitionContext(options: SsgoiConfig, internalOptions?: SsgoiInternalOptions): SsgoiContext;
38
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,EACV,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAclB;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,eAAe,EAAE,oBAAoB,GAAG;IACtC,wBAAwB,EAAE,WAAW,CACnC,oBAAoB,CAAC,0BAA0B,CAAC,CACjD,CAAC;CACH,GACA,oBAAoB,CAAC;AACxB,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,eAAe,CAAC,EAAE,oBAAoB,GACrC,YAAY,CAAC"}
1
+ {"version":3,"file":"create-ssgoi-transition-context.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/create-ssgoi-transition-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAehF;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,eAAe,CAAC,EAAE,oBAAoB,GACrC,YAAY,CA6Id"}
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-detector-strategy.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/navigation-detector-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAEhD;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACzD;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,kBAAkB,CAAC;AAShE;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,CAmD3D;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,CA+D3D"}
1
+ {"version":3,"file":"navigation-detector-strategy.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/navigation-detector-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAEhD;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACzD;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,kBAAkB,CAAC;AAShE;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,CAmD3D;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,CAsE3D"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { Integrator } from './animator/integrator';
2
- import { CreateNavigationDetector } from './ssgoi-transition/navigation-detector-strategy';
3
2
  export type TransitionKey = string | symbol;
4
3
  /**
5
4
  * Double spring follower configuration
@@ -345,6 +344,14 @@ export type SggoiTransitionContext = {
345
344
  positionedParent: HTMLElement;
346
345
  };
347
346
  export type SggoiTransition = Transition<SggoiTransitionContext>;
347
+ /**
348
+ * Platform types for skipAnimationOnBack configuration
349
+ * - 'ios': iOS devices (iPhone, iPad, iPod)
350
+ * - 'android': Android devices
351
+ * - 'desktop': Desktop browsers (non-mobile)
352
+ * - 'all': All platforms
353
+ */
354
+ export type Platform = "ios" | "android" | "desktop" | "all";
348
355
  export type SsgoiConfig = {
349
356
  transitions?: {
350
357
  from: string;
@@ -358,35 +365,50 @@ export type SsgoiConfig = {
358
365
  to: string;
359
366
  };
360
367
  /**
368
+ * @deprecated Use `skipAnimationOnBack: ['ios']` instead. Will be removed in next major version.
361
369
  * Skip page transitions when iOS/Safari swipe-back gesture is detected
362
- * This prevents animation conflicts between SSGOI and Safari's native swipe animation
363
- * @default true
364
370
  */
365
371
  skipOnIosSwipe?: boolean;
366
372
  /**
367
- * @description Automatically preserve and restore scroll position when navigating between pages.
368
- * When enabled, SSGOI will:
369
- * - Save scroll position when leaving a page
370
- * - Restore scroll position when returning to a previously visited page
373
+ * Skip animations on browser back navigation for specified platforms
374
+ *
375
+ * @example
376
+ * // iOS only (default)
377
+ * skipAnimationOnBack: ['ios']
378
+ *
379
+ * // iOS and Android
380
+ * skipAnimationOnBack: ['ios', 'android']
381
+ *
382
+ * // All platforms
383
+ * skipAnimationOnBack: ['all']
384
+ *
385
+ * // Disabled - always run animations
386
+ * skipAnimationOnBack: []
371
387
  *
372
- * @experimental This is an experimental feature and may change in future versions.
373
- * @default false
388
+ * This prevents animation conflicts with native swipe-back gestures.
389
+ * @default ['ios']
374
390
  */
375
- experimentalPreserveScroll?: boolean;
391
+ skipAnimationOnBack?: Platform[];
376
392
  /**
377
- * @description Patterns for routes that should always reset scroll to top when leaving.
378
- * When navigating away from a matching route, scroll position will be saved as 0.
379
- * This means returning to these routes will always start at the top.
393
+ * Automatically preserve and restore scroll position when navigating between pages.
380
394
  *
381
- * Supports wildcard patterns:
382
- * - '/post/*' matches '/post/123', '/post/abc', etc.
383
- * - '*' matches any path
395
+ * - `false`: scroll positions are tracked only for the OUT transition diff,
396
+ * then evicted — SSGOI does not restore scroll on arrival.
397
+ * - `true`: save scroll on leave, restore on return. New (unvisited) paths scroll to 0.
398
+ * - `{ exclude: string[] }`: preserve everywhere except matching paths. Excluded paths
399
+ * behave like `false` (evict, no restore). Supports wildcards: `/post/*`, `*`.
400
+ * - `(isMobile) => value`: function returning any of the above; evaluated on each
401
+ * navigation so the answer can vary by environment (e.g. mobile vs. desktop).
384
402
  *
385
- * @example ['/post/*', '/article/*', '/product/detail/*']
386
- * @experimental This is an experimental feature and may change in future versions.
403
+ * @default (isMobile) => isMobile // mobile preserves, desktop does not
387
404
  */
388
- scrollResetPatterns?: string[];
405
+ preserveScroll?: PreserveScrollOption;
389
406
  };
407
+ export type PreserveScrollValue = boolean | {
408
+ exclude: string[];
409
+ };
410
+ export type PreserveScrollFn = (isMobile: boolean) => PreserveScrollValue;
411
+ export type PreserveScrollOption = PreserveScrollValue | PreserveScrollFn;
390
412
  /**
391
413
  * Internal options for framework adapters
392
414
  * Not exposed to end users
@@ -405,28 +427,10 @@ export type SsgoiInternalOptions = {
405
427
  * @default true
406
428
  */
407
429
  outFirst?: boolean;
408
- /**
409
- * Custom navigation detector factory
410
- * If provided, overrides the default detector selection based on outFirst
411
- * Also returns SsgoiExtendedContext instead of SsgoiContext
412
- */
413
- createNavigationDetector?: CreateNavigationDetector;
414
430
  };
415
431
  export type SsgoiContext = (path: string) => Transition & {
416
432
  key: TransitionKey;
417
433
  };
418
- /**
419
- * Extended context with additional utilities for frameworks that need
420
- * pre-transition visibility control (e.g., React with Next.js)
421
- */
422
- export type SsgoiExtendedContext = {
423
- getTransition: SsgoiContext;
424
- /**
425
- * Check if a transition is configured for the given from/to paths
426
- * Useful for determining initial visibility before transition starts
427
- */
428
- hasMatchingTransition: (from: string, to: string) => boolean;
429
- };
430
434
  /**
431
435
  * Normalized schedule entry for internal processing
432
436
  * All schedule types are normalized to progress-based offsets (0-1)
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,8 @@ export { getRect } from './get-rect';
6
6
  export { round, floor, ceil, toFixed } from './number';
7
7
  export { withResolvers } from './with-resolvers';
8
8
  export { waitPaint } from './wait-paint';
9
+ export { isIOS } from './is-ios';
10
+ export { isAndroid } from './is-android';
11
+ export { isDesktop } from './is-desktop';
12
+ export { matchPlatform } from './match-platform';
9
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Detects if the current runtime is Android
3
+ */
4
+ export declare function isAndroid(): boolean;
5
+ //# sourceMappingURL=is-android.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-android.d.ts","sourceRoot":"","sources":["../../src/lib/utils/is-android.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAMnC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Detects if the current runtime is a desktop browser (non-mobile)
3
+ */
4
+ export declare function isDesktop(): boolean;
5
+ //# sourceMappingURL=is-desktop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-desktop.d.ts","sourceRoot":"","sources":["../../src/lib/utils/is-desktop.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAMnC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Detects if the current runtime is iOS (iPhone, iPad, iPod)
3
+ * Also detects iPad on iOS 13+ which reports as MacIntel but has touch
4
+ */
5
+ export declare function isIOS(): boolean;
6
+ //# sourceMappingURL=is-ios.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-ios.d.ts","sourceRoot":"","sources":["../../src/lib/utils/is-ios.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,KAAK,IAAI,OAAO,CAU/B"}
@@ -0,0 +1,8 @@
1
+ import { Platform } from '../types';
2
+ /**
3
+ * Check if current platform matches any of the specified platforms
4
+ * @param platforms Array of platforms to check against
5
+ * @returns true if current platform matches any in the array
6
+ */
7
+ export declare function matchPlatform(platforms: Platform[]): boolean;
8
+ //# sourceMappingURL=match-platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match-platform.d.ts","sourceRoot":"","sources":["../../src/lib/utils/match-platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKzC;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAsB5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"depth.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/depth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAGhB,MAAM,UAAU,CAAC;AA0BlB,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAoBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eA+JlD,CAAC"}
1
+ {"version":3,"file":"depth.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/depth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAGhB,MAAM,UAAU,CAAC;AA4BlB,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAoBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eA+JlD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"drill.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/drill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAiB7E,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eAoHlD,CAAC"}
1
+ {"version":3,"file":"drill.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/drill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAmB7E,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eAoHlD,CAAC"}
@@ -27,9 +27,9 @@
27
27
  transform: scaleY(${h==="hidden"?0:1});
28
28
  transform-origin: ${d==="left"?"top":"bottom"} center;
29
29
  will-change: transform;
30
- `}p.push(w),f.appendChild(w)}return o.appendChild(f),{container:f,blinds:p}};return{out:o=>{let h=null;a=new Promise(f=>{l=f});const d=f=>{const p=1-f;return{transform:c==="horizontal"?`scaleX(${p})`:`scaleY(${p})`}};return{items:Array.from({length:r},(f,p)=>({physics:e,offset:.2,css:{get element(){return h==null?void 0:h.blinds[p]},style:d}})),schedule:"stagger",prepare:()=>{g(o),o.style.zIndex="1000",h=y(o,"hidden","left")},onStart:()=>{},onEnd:()=>{l&&l()}}},in:o=>{let h=null;const d=f=>{const p=1-f;return{transform:c==="horizontal"?`scaleX(${p})`:`scaleY(${p})`}};return{items:Array.from({length:r},(f,p)=>({physics:s,offset:.2,css:{get element(){return h==null?void 0:h.blinds[p]},style:d}})),schedule:"stagger",prepare:()=>{o.style.position="relative",o.style.zIndex="0",h=y(o,"closed","right")},onStart:()=>{},wait:async()=>{a&&await a,await _(i)},onEnd:()=>{h&&h.container&&h.container.remove()}}}}},j={spring:{stiffness:1,damping:1}},N={spring:{stiffness:20,damping:25}},G="#000000",Z="circle",k="CURTAIN_REVEAL_OVERLAY_ID",J={position:"fixed",inset:"0",width:"100vw",height:"100%",zIndex:"9999",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},K={position:"relative",display:"inline-block",height:"5.5rem",overflow:"hidden"},Q={display:"flex",height:"100%",willChange:"transform",transition:"transform 0.3s ease"},R={display:"inline-flex",alignItems:"center",justifyContent:"center",whiteSpace:"nowrap",fontSize:"5.5rem",fontWeight:"900",letterSpacing:"0.02em",color:"#FFFFFF"},tt=.4,S=.5,st=.2;function it(t,i){switch(t){case"circle":return`circle(${i*100}% at 50% 50%)`;case"square":return`inset(${(1-i)*50}% round ${10*i}%)`;case"triangle":{const r=i*100;return`polygon(50% ${50-r}%, ${50-r}% ${50+r}%, ${50+r}% ${50+r}%)`}}}const nt=t=>t.reduce((i,r)=>i+r,0),et=(t={})=>{const{background:i=G,texts:r=[],shape:c=Z,textStyle:n={}}=t,s=t.physics??N,e=t.physics??j;return{out:(a,l)=>{const y=a.style.opacity;return{physics:e,from:1,to:0,prepare:()=>{g(a,l),a.style.opacity="1"},tick:o=>{const h=Math.max(0,o-tt);a.style.opacity=String(h)},onEnd:()=>{a.style.opacity=y}}},in:a=>{let l=null,y=null,o=null;const h=document.body.style.overflow,d=document.getElementById(k);let u=[];const f=()=>{l=document.createElement("div"),l.id=k,Object.assign(l.style,J,{background:i}),document.body.appendChild(l),y=document.createElement("div"),Object.assign(y.style,K),l.appendChild(y),o=document.createElement("div"),Object.assign(o.style,Q),y.appendChild(o),r.forEach(p=>{const $=document.createElement("div");$.textContent=p,Object.assign($.style,R,n),o.appendChild($)}),u=Array.from(o.children).map(p=>p.getBoundingClientRect().width)};return{physics:s,from:0,to:1,prepare:()=>{document.body.style.overflow="hidden",a.style.opacity="1",d==null||d.remove(),f(),l&&y&&(l.style.clipPath="none",y.style.transform="scale(1)")},tick:p=>{if(!(!l||!y||!o)){if(p<=S&&r.length>0){const $=p/S,w=Math.min(Math.floor($*r.length),r.length-1),b=u[w]??0,C=nt(u.slice(0,w));y.style.width=`${b}px`,o.style.transform=`translateX(-${C}px)`}if(p>S){const w=1-Math.max(0,Math.min(1,(p-S)/st));l.style.clipPath=it(c,w),y.style.transform=`scale(${w})`}}},onEnd:()=>{l==null||l.remove(),l=y=o=null,document.body.style.overflow=h}}}}},at={spring:{stiffness:600,damping:40,restDelta:.1,restSpeed:1e14}},rt={spring:{stiffness:600,damping:40,restDelta:.1,restSpeed:1e14}},ot=.05;function A(t){const i=x(document.body,t.positionedParent),r=t.scroll.y,c=window.innerHeight-i.top;return{top:r,left:0,width:i.width,height:c}}const lt=(t={})=>{const{direction:i="enter"}=t,r=t.physics??(i==="enter"?at:rt),c=t.scaleOffset??ot;let{promise:n,resolve:s}=E();return i==="enter"?{in:(e,a)=>{const l=A(a),y=l.left+l.width/2,o=l.top+l.height/2;return{physics:r,prepare:()=>{e.style.opacity="0",e.style.willChange="transform, opacity",e.style.backfaceVisibility="hidden",e.style.contain="layout paint",e.style.transformOrigin=`${y}px ${o}px`},wait:async()=>{if(n){await n;const h=E();n=h.promise,s=h.resolve}},css:h=>({transform:`scale(${1-c+h*c})`,opacity:h}),onEnd:()=>{e.style.opacity="1",e.style.willChange="auto",e.style.backfaceVisibility="",e.style.contain="",e.style.transformOrigin=""}}},out:(e,a)=>{const l=A(a),y=l.left+l.width/2,o=l.top+l.height/2+a.scrollOffset.y;return{physics:r,prepare:()=>{g(e,a),e.style.zIndex="-1",e.style.willChange="transform, opacity",e.style.backfaceVisibility="hidden",e.style.contain="layout paint",e.style.pointerEvents="none",e.style.transformOrigin=`${y}px ${o}px`},css:h=>({transform:`scale(${1+(1-h)*c})`,opacity:h}),onEnd:()=>{s&&s()}}}}:{in:(e,a)=>{const l=A(a),y=l.left+l.width/2,o=l.top+l.height/2;return{physics:r,prepare:()=>{e.style.opacity="0",e.style.willChange="transform, opacity",e.style.backfaceVisibility="hidden",e.style.contain="layout paint",e.style.transformOrigin=`${y}px ${o}px`},wait:async()=>{if(n){await n;const h=E();n=h.promise,s=h.resolve}},css:h=>({transform:`scale(${1+c-h*c})`,opacity:h}),onEnd:()=>{e.style.opacity="1",e.style.willChange="auto",e.style.backfaceVisibility="",e.style.contain="",e.style.transformOrigin=""}}},out:(e,a)=>{const l=A(a),y=l.left+l.width/2,o=l.top+l.height/2+a.scrollOffset.y;return{physics:r,prepare:()=>{g(e,a),e.style.zIndex="100",e.style.willChange="transform, opacity",e.style.backfaceVisibility="hidden",e.style.contain="layout paint",e.style.pointerEvents="none",e.style.transformOrigin=`${y}px ${o}px`},css:h=>({transform:`scale(${1-(1-h)*c})`,opacity:h}),onEnd:()=>{s&&s()}}}}},ct={spring:{stiffness:170,damping:22}},yt={spring:{stiffness:170,damping:22}},ht=(t={})=>{const{opacity:i=!1,direction:r="enter"}=t,c=t.physics??(r==="enter"?ct:yt);return r==="enter"?{in:n=>({physics:c,prepare:()=>{n.style.willChange=i?"transform, opacity":"transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint"},css:s=>{const e={transform:`translate3d(${(1-s)*100}%, 0, 0)`};return i&&(e.opacity=s),e},onEnd:()=>{n.style.willChange="auto",n.style.backfaceVisibility="",n.style.contain=""}}),out:(n,s)=>({physics:c,prepare:()=>{g(n,s),n.style.zIndex="-1",n.style.willChange=i?"transform, opacity":"transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.pointerEvents="none"},css:e=>{const a={transform:`translate3d(${-(1-e)*20}%, 0, 0)`};return i&&(a.opacity=e),a}})}:{in:n=>({physics:c,prepare:()=>{n.style.willChange=i?"transform, opacity":"transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint"},css:s=>{const e={transform:`translate3d(${-(1-s)*20}%, 0, 0)`};return i&&(e.opacity=s),e},onEnd:()=>{n.style.willChange="auto",n.style.backfaceVisibility="",n.style.contain=""}}),out:(n,s)=>({physics:c,prepare:()=>{g(n,s),n.style.zIndex="100",n.style.willChange=i?"transform, opacity":"transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.pointerEvents="none"},css:e=>{const a={transform:`translate3d(${(1-e)*100}%, 0, 0)`};return i&&(a.opacity=e),a}})}},pt={spring:{stiffness:180,damping:20,doubleSpring:!0}},dt={spring:{stiffness:170,damping:20,doubleSpring:!0}},ut=0,ft=(t={})=>{const{transitionDelay:i=ut}=t,r=t.physics??dt,c=t.physics??pt;let{promise:n,resolve:s}=E();return{in:e=>({physics:r,prepare:()=>{e.style.opacity="0",e.style.willChange="opacity"},wait:async()=>{if(n){await n;const a=E();n=a.promise,s=a.resolve,await _(i)}},css:a=>({opacity:a}),onEnd:()=>{e.style.willChange="auto",e.style.opacity="1"}}),out:(e,a)=>({physics:c,css:l=>({opacity:l}),prepare:()=>{g(e,a),e.style.willChange="opacity"},onEnd:()=>{s&&s(),e.style.willChange="auto"}})}},gt={scaleDown:{stiffness:20,damping:7},translate:{stiffness:15,damping:7},scaleUp:{stiffness:20,damping:7}},O={scaleDown:0,translate:.2,scaleUp:.8},wt=.8,$t="white",bt=t=>{var n;const i=gt,r=wt,c=((n=t==null?void 0:t.border)==null?void 0:n.color)??$t;return{out:async(s,e)=>{const a=v(e),l=x(document.body,e.positionedParent),y=Et(c,{...a,top:l.top}),o={scale:1,translateY:-a.top},h=()=>{s.style.transform=`translateY(${o.translateY}px) scale(${o.scale})`;const d=(a.width-a.width*o.scale)/2,u=(a.height-a.height*o.scale)/2;xt(y,d,u)};return{items:[{physics:(t==null?void 0:t.physics)??{spring:i.scaleDown},offset:O.scaleDown,tick:d=>{const u=1-d;o.scale=1-(1-r)*u,h()}},{physics:(t==null?void 0:t.physics)??{spring:i.translate},offset:O.translate,tick:d=>{const u=1-d;o.translateY=-a.top-a.height*u,h()}},{physics:(t==null?void 0:t.physics)??{spring:i.scaleUp},offset:O.scaleUp,tick:d=>{const u=1-d;o.scale=r+(1-r)*u,h()}}],schedule:"stagger",prepare:()=>{g(s),m(s,a),I(s,a),Ct(s,a);for(const d of y)e.positionedParent.appendChild(d)},onEnd:()=>{s.style.clipPath="",s.style.transformOrigin="",setTimeout(()=>{for(const d of y)e.positionedParent.removeChild(d)},1e3)}}},in:async(s,e)=>{const a=v(e),l={scale:r,translateY:-a.top+a.height},y=()=>{s.style.transform=`translateY(${l.translateY}px) scale(${l.scale})`};return{items:[{physics:(t==null?void 0:t.physics)??{spring:i.scaleDown},offset:O.scaleDown,tick:o=>{l.scale=1-(1-r)*o,y()}},{physics:(t==null?void 0:t.physics)??{spring:i.translate},offset:O.translate,tick:o=>{l.translateY=-a.top+a.height*(1-o),y()}},{physics:(t==null?void 0:t.physics)??{spring:i.scaleUp},offset:O.scaleUp,tick:o=>{l.scale=r+(1-r)*o,y()}}],schedule:"stagger",prepare:()=>{m(s,a),I(s,a),s.style.transform=`translateY(${-a.top+a.height}px) scale(${r})`},onEnd:()=>{s.style.clipPath="",s.style.transformOrigin="",s.style.transform=""}}}}};function xt(t,i,r){const c=i*.7,n=r*.7;t.topLeft.style.transform=`translate(${c}px, ${n}px)`,t.topRight.style.transform=`translate(${-c}px, ${n}px)`,t.bottomLeft.style.transform=`translate(${c}px, ${-n}px)`,t.bottomRight.style.transform=`translate(${-c}px, ${-n}px)`}function Et(t="white",i){const n=document.createElement("div");n.style.position="fixed",n.style.pointerEvents="none",n.style.zIndex="9999",n.style.top=`${i.top-1}px`,n.style.left=`${i.left-1}px`,n.style.width="15px",n.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 e=document.createElement("div");e.style.position="absolute",e.style.width="1px",e.style.height="15px",e.style.backgroundColor=t,e.style.top="0",e.style.left="0",n.appendChild(s),n.appendChild(e);const a=document.createElement("div");a.style.position="fixed",a.style.pointerEvents="none",a.style.zIndex="9999",a.style.top=`${i.top-1}px`,a.style.left=`${i.left+i.width-15+1}px`,a.style.width="15px",a.style.height="15px";const l=document.createElement("div");l.style.position="absolute",l.style.width="15px",l.style.height="1px",l.style.backgroundColor=t,l.style.top="0",l.style.right="0";const y=document.createElement("div");y.style.position="absolute",y.style.width="1px",y.style.height="15px",y.style.backgroundColor=t,y.style.top="0",y.style.right="0",a.appendChild(l),a.appendChild(y);const o=document.createElement("div");o.style.position="fixed",o.style.pointerEvents="none",o.style.zIndex="9999",o.style.top=`${i.top+i.height-15+1}px`,o.style.left=`${i.left-1}px`,o.style.width="15px",o.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 d=document.createElement("div");d.style.position="absolute",d.style.width="1px",d.style.height="15px",d.style.backgroundColor=t,d.style.bottom="0",d.style.left="0",o.appendChild(h),o.appendChild(d);const u=document.createElement("div");u.style.position="fixed",u.style.pointerEvents="none",u.style.zIndex="9999",u.style.top=`${i.top+i.height-15+1}px`,u.style.left=`${i.left+i.width-15+1}px`,u.style.width="15px",u.style.height="15px";const f=document.createElement("div");f.style.position="absolute",f.style.width="15px",f.style.height="1px",f.style.backgroundColor=t,f.style.bottom="0",f.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(f),u.appendChild(p),{topLeft:n,topRight:a,bottomLeft:o,bottomRight:u,*[Symbol.iterator](){yield n,yield a,yield o,yield u}}}function v(t){const i=x(document.body,t.positionedParent);return{top:t.scroll.y,left:0,width:i.width,height:window.innerHeight-i.top}}function m(t,i){const r=i.left+i.width/2,c=i.top+i.height/2;t.style.transformOrigin=`${r}px ${c}px`}function I(t,i){t.style.clipPath=`polygon(
30
+ `}p.push(w),f.appendChild(w)}return o.appendChild(f),{container:f,blinds:p}};return{out:o=>{let h=null;a=new Promise(f=>{l=f});const d=f=>{const p=1-f;return{transform:c==="horizontal"?`scaleX(${p})`:`scaleY(${p})`}};return{items:Array.from({length:r},(f,p)=>({physics:e,offset:.2,css:{get element(){return h==null?void 0:h.blinds[p]},style:d}})),schedule:"stagger",prepare:()=>{g(o),o.style.zIndex="1000",h=y(o,"hidden","left")},onStart:()=>{},onEnd:()=>{l&&l()}}},in:o=>{let h=null;const d=f=>{const p=1-f;return{transform:c==="horizontal"?`scaleX(${p})`:`scaleY(${p})`}};return{items:Array.from({length:r},(f,p)=>({physics:s,offset:.2,css:{get element(){return h==null?void 0:h.blinds[p]},style:d}})),schedule:"stagger",prepare:()=>{o.style.position="relative",o.style.zIndex="0",h=y(o,"closed","right")},onStart:()=>{},wait:async()=>{a&&await a,await _(i)},onEnd:()=>{h&&h.container&&h.container.remove()}}}}},j={spring:{stiffness:1,damping:1}},N={spring:{stiffness:20,damping:25}},G="#000000",Z="circle",k="CURTAIN_REVEAL_OVERLAY_ID",J={position:"fixed",inset:"0",width:"100vw",height:"100%",zIndex:"9999",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},K={position:"relative",display:"inline-block",height:"5.5rem",overflow:"hidden"},Q={display:"flex",height:"100%",willChange:"transform",transition:"transform 0.3s ease"},R={display:"inline-flex",alignItems:"center",justifyContent:"center",whiteSpace:"nowrap",fontSize:"5.5rem",fontWeight:"900",letterSpacing:"0.02em",color:"#FFFFFF"},tt=.4,S=.5,st=.2;function it(t,i){switch(t){case"circle":return`circle(${i*100}% at 50% 50%)`;case"square":return`inset(${(1-i)*50}% round ${10*i}%)`;case"triangle":{const r=i*100;return`polygon(50% ${50-r}%, ${50-r}% ${50+r}%, ${50+r}% ${50+r}%)`}}}const nt=t=>t.reduce((i,r)=>i+r,0),et=(t={})=>{const{background:i=G,texts:r=[],shape:c=Z,textStyle:n={}}=t,s=t.physics??N,e=t.physics??j;return{out:(a,l)=>{const y=a.style.opacity;return{physics:e,from:1,to:0,prepare:()=>{g(a,l),a.style.opacity="1"},tick:o=>{const h=Math.max(0,o-tt);a.style.opacity=String(h)},onEnd:()=>{a.style.opacity=y}}},in:a=>{let l=null,y=null,o=null;const h=document.body.style.overflow,d=document.getElementById(k);let u=[];const f=()=>{l=document.createElement("div"),l.id=k,Object.assign(l.style,J,{background:i}),document.body.appendChild(l),y=document.createElement("div"),Object.assign(y.style,K),l.appendChild(y),o=document.createElement("div"),Object.assign(o.style,Q),y.appendChild(o),r.forEach(p=>{const $=document.createElement("div");$.textContent=p,Object.assign($.style,R,n),o.appendChild($)}),u=Array.from(o.children).map(p=>p.getBoundingClientRect().width)};return{physics:s,from:0,to:1,prepare:()=>{document.body.style.overflow="hidden",a.style.opacity="1",d==null||d.remove(),f(),l&&y&&(l.style.clipPath="none",y.style.transform="scale(1)")},tick:p=>{if(!(!l||!y||!o)){if(p<=S&&r.length>0){const $=p/S,w=Math.min(Math.floor($*r.length),r.length-1),b=u[w]??0,C=nt(u.slice(0,w));y.style.width=`${b}px`,o.style.transform=`translateX(-${C}px)`}if(p>S){const w=1-Math.max(0,Math.min(1,(p-S)/st));l.style.clipPath=it(c,w),y.style.transform=`scale(${w})`}}},onEnd:()=>{l==null||l.remove(),l=y=o=null,document.body.style.overflow=h}}}}},at={spring:{stiffness:280,damping:30,restDelta:.1,restSpeed:1e14}},rt={spring:{stiffness:280,damping:30,restDelta:.1,restSpeed:1e14}},ot=.05;function A(t){const i=x(document.body,t.positionedParent),r=t.scroll.y,c=window.innerHeight-i.top;return{top:r,left:0,width:i.width,height:c}}const lt=(t={})=>{const{direction:i="enter"}=t,r=t.physics??(i==="enter"?at:rt),c=t.scaleOffset??ot;let{promise:n,resolve:s}=E();return i==="enter"?{in:(e,a)=>{const l=A(a),y=l.left+l.width/2,o=l.top+l.height/2;return{physics:r,prepare:()=>{e.style.opacity="0",e.style.willChange="transform, opacity",e.style.backfaceVisibility="hidden",e.style.contain="layout paint",e.style.transformOrigin=`${y}px ${o}px`},wait:async()=>{if(n){await n;const h=E();n=h.promise,s=h.resolve}},css:h=>({transform:`scale(${1-c+h*c})`,opacity:h}),onEnd:()=>{e.style.opacity="1",e.style.willChange="auto",e.style.backfaceVisibility="",e.style.contain="",e.style.transformOrigin=""}}},out:(e,a)=>{const l=A(a),y=l.left+l.width/2,o=l.top+l.height/2+a.scrollOffset.y;return{physics:r,prepare:()=>{g(e,a),e.style.zIndex="-1",e.style.willChange="transform, opacity",e.style.backfaceVisibility="hidden",e.style.contain="layout paint",e.style.pointerEvents="none",e.style.transformOrigin=`${y}px ${o}px`},css:h=>({transform:`scale(${1+(1-h)*c})`,opacity:h}),onEnd:()=>{s&&s()}}}}:{in:(e,a)=>{const l=A(a),y=l.left+l.width/2,o=l.top+l.height/2;return{physics:r,prepare:()=>{e.style.opacity="0",e.style.willChange="transform, opacity",e.style.backfaceVisibility="hidden",e.style.contain="layout paint",e.style.transformOrigin=`${y}px ${o}px`},wait:async()=>{if(n){await n;const h=E();n=h.promise,s=h.resolve}},css:h=>({transform:`scale(${1+c-h*c})`,opacity:h}),onEnd:()=>{e.style.opacity="1",e.style.willChange="auto",e.style.backfaceVisibility="",e.style.contain="",e.style.transformOrigin=""}}},out:(e,a)=>{const l=A(a),y=l.left+l.width/2,o=l.top+l.height/2+a.scrollOffset.y;return{physics:r,prepare:()=>{g(e,a),e.style.zIndex="100",e.style.willChange="transform, opacity",e.style.backfaceVisibility="hidden",e.style.contain="layout paint",e.style.pointerEvents="none",e.style.transformOrigin=`${y}px ${o}px`},css:h=>({transform:`scale(${1-(1-h)*c})`,opacity:h}),onEnd:()=>{s&&s()}}}}},ct={spring:{stiffness:170,damping:22}},yt={spring:{stiffness:170,damping:22}},ht=(t={})=>{const{opacity:i=!1,direction:r="enter"}=t,c=t.physics??(r==="enter"?ct:yt);return r==="enter"?{in:n=>({physics:c,prepare:()=>{n.style.willChange=i?"transform, opacity":"transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint"},css:s=>{const e={transform:`translate3d(${(1-s)*100}%, 0, 0)`};return i&&(e.opacity=s),e},onEnd:()=>{n.style.willChange="auto",n.style.backfaceVisibility="",n.style.contain=""}}),out:(n,s)=>({physics:c,prepare:()=>{g(n,s),n.style.zIndex="-1",n.style.willChange=i?"transform, opacity":"transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.pointerEvents="none"},css:e=>{const a={transform:`translate3d(${-(1-e)*20}%, 0, 0)`};return i&&(a.opacity=e),a}})}:{in:n=>({physics:c,prepare:()=>{n.style.willChange=i?"transform, opacity":"transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint"},css:s=>{const e={transform:`translate3d(${-(1-s)*20}%, 0, 0)`};return i&&(e.opacity=s),e},onEnd:()=>{n.style.willChange="auto",n.style.backfaceVisibility="",n.style.contain=""}}),out:(n,s)=>({physics:c,prepare:()=>{g(n,s),n.style.zIndex="100",n.style.willChange=i?"transform, opacity":"transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.pointerEvents="none"},css:e=>{const a={transform:`translate3d(${(1-e)*100}%, 0, 0)`};return i&&(a.opacity=e),a}})}},pt={spring:{stiffness:180,damping:20,doubleSpring:!0}},dt={spring:{stiffness:170,damping:20,doubleSpring:!0}},ut=0,ft=(t={})=>{const{transitionDelay:i=ut}=t,r=t.physics??dt,c=t.physics??pt;let{promise:n,resolve:s}=E();return{in:e=>({physics:r,prepare:()=>{e.style.opacity="0",e.style.willChange="opacity"},wait:async()=>{if(n){await n;const a=E();n=a.promise,s=a.resolve,await _(i)}},css:a=>({opacity:a}),onEnd:()=>{e.style.willChange="auto",e.style.opacity="1"}}),out:(e,a)=>({physics:c,css:l=>({opacity:l}),prepare:()=>{g(e,a),e.style.willChange="opacity"},onEnd:()=>{s&&s(),e.style.willChange="auto"}})}},gt={scaleDown:{stiffness:20,damping:7},translate:{stiffness:15,damping:7},scaleUp:{stiffness:20,damping:7}},O={scaleDown:0,translate:.2,scaleUp:.8},wt=.8,$t="white",bt=t=>{var n;const i=gt,r=wt,c=((n=t==null?void 0:t.border)==null?void 0:n.color)??$t;return{out:async(s,e)=>{const a=v(e),l=x(document.body,e.positionedParent),y=Et(c,{...a,top:l.top}),o={scale:1,translateY:-a.top},h=()=>{s.style.transform=`translateY(${o.translateY}px) scale(${o.scale})`;const d=(a.width-a.width*o.scale)/2,u=(a.height-a.height*o.scale)/2;xt(y,d,u)};return{items:[{physics:(t==null?void 0:t.physics)??{spring:i.scaleDown},offset:O.scaleDown,tick:d=>{const u=1-d;o.scale=1-(1-r)*u,h()}},{physics:(t==null?void 0:t.physics)??{spring:i.translate},offset:O.translate,tick:d=>{const u=1-d;o.translateY=-a.top-a.height*u,h()}},{physics:(t==null?void 0:t.physics)??{spring:i.scaleUp},offset:O.scaleUp,tick:d=>{const u=1-d;o.scale=r+(1-r)*u,h()}}],schedule:"stagger",prepare:()=>{g(s),m(s,a),I(s,a),Ct(s,a);for(const d of y)e.positionedParent.appendChild(d)},onEnd:()=>{s.style.clipPath="",s.style.transformOrigin="",setTimeout(()=>{for(const d of y)e.positionedParent.removeChild(d)},1e3)}}},in:async(s,e)=>{const a=v(e),l={scale:r,translateY:-a.top+a.height},y=()=>{s.style.transform=`translateY(${l.translateY}px) scale(${l.scale})`};return{items:[{physics:(t==null?void 0:t.physics)??{spring:i.scaleDown},offset:O.scaleDown,tick:o=>{l.scale=1-(1-r)*o,y()}},{physics:(t==null?void 0:t.physics)??{spring:i.translate},offset:O.translate,tick:o=>{l.translateY=-a.top+a.height*(1-o),y()}},{physics:(t==null?void 0:t.physics)??{spring:i.scaleUp},offset:O.scaleUp,tick:o=>{l.scale=r+(1-r)*o,y()}}],schedule:"stagger",prepare:()=>{m(s,a),I(s,a),s.style.transform=`translateY(${-a.top+a.height}px) scale(${r})`},onEnd:()=>{s.style.clipPath="",s.style.transformOrigin="",s.style.transform=""}}}}};function xt(t,i,r){const c=i*.7,n=r*.7;t.topLeft.style.transform=`translate(${c}px, ${n}px)`,t.topRight.style.transform=`translate(${-c}px, ${n}px)`,t.bottomLeft.style.transform=`translate(${c}px, ${-n}px)`,t.bottomRight.style.transform=`translate(${-c}px, ${-n}px)`}function Et(t="white",i){const n=document.createElement("div");n.style.position="fixed",n.style.pointerEvents="none",n.style.zIndex="9999",n.style.top=`${i.top-1}px`,n.style.left=`${i.left-1}px`,n.style.width="15px",n.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 e=document.createElement("div");e.style.position="absolute",e.style.width="1px",e.style.height="15px",e.style.backgroundColor=t,e.style.top="0",e.style.left="0",n.appendChild(s),n.appendChild(e);const a=document.createElement("div");a.style.position="fixed",a.style.pointerEvents="none",a.style.zIndex="9999",a.style.top=`${i.top-1}px`,a.style.left=`${i.left+i.width-15+1}px`,a.style.width="15px",a.style.height="15px";const l=document.createElement("div");l.style.position="absolute",l.style.width="15px",l.style.height="1px",l.style.backgroundColor=t,l.style.top="0",l.style.right="0";const y=document.createElement("div");y.style.position="absolute",y.style.width="1px",y.style.height="15px",y.style.backgroundColor=t,y.style.top="0",y.style.right="0",a.appendChild(l),a.appendChild(y);const o=document.createElement("div");o.style.position="fixed",o.style.pointerEvents="none",o.style.zIndex="9999",o.style.top=`${i.top+i.height-15+1}px`,o.style.left=`${i.left-1}px`,o.style.width="15px",o.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 d=document.createElement("div");d.style.position="absolute",d.style.width="1px",d.style.height="15px",d.style.backgroundColor=t,d.style.bottom="0",d.style.left="0",o.appendChild(h),o.appendChild(d);const u=document.createElement("div");u.style.position="fixed",u.style.pointerEvents="none",u.style.zIndex="9999",u.style.top=`${i.top+i.height-15+1}px`,u.style.left=`${i.left+i.width-15+1}px`,u.style.width="15px",u.style.height="15px";const f=document.createElement("div");f.style.position="absolute",f.style.width="15px",f.style.height="1px",f.style.backgroundColor=t,f.style.bottom="0",f.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(f),u.appendChild(p),{topLeft:n,topRight:a,bottomLeft:o,bottomRight:u,*[Symbol.iterator](){yield n,yield a,yield o,yield u}}}function v(t){const i=x(document.body,t.positionedParent);return{top:t.scroll.y,left:0,width:i.width,height:window.innerHeight-i.top}}function m(t,i){const r=i.left+i.width/2,c=i.top+i.height/2;t.style.transformOrigin=`${r}px ${c}px`}function I(t,i){t.style.clipPath=`polygon(
31
31
  ${i.left}px ${i.top}px,
32
32
  ${i.left+i.width}px ${i.top}px,
33
33
  ${i.left+i.width}px ${i.top+i.height}px,
34
34
  ${i.left}px ${i.top+i.height}px
35
- )`}function Ct(t,i){t.style.transform=`translateY(${-i.top}px)`}const Ot={spring:{stiffness:300,damping:30}};function St(t,i){return t.querySelector(`[data-hero-key="${i}"]`)}const At=(t={})=>{const i=t.physics??Ot,r=t.maxDistance??700;let c=null,n=E();return{in:async(s,e)=>{const a=s,l=Array.from(a.querySelectorAll("[data-hero-key]"));await n.promise;const y=l.map(o=>{const h=o.getAttribute("data-hero-key");if(!h)return null;const d=St(c,h);if(!d)return null;const u=o,f=x(c,d),p=x(a,u),$=f.left-p.left-e.scrollOffset.x,w=f.top-p.top-e.scrollOffset.y,b=f.width/p.width,C=f.height/p.height,D=u.style.transform,Y=u.style.position,F=u.style.transformOrigin,U=u.style.zIndex,V=u.style.willChange;return{toEl:u,dx:$,dy:w,dw:b,dh:C,originalTransform:D,originalPosition:Y,originalTransformOrigin:F,originalZIndex:U,originalWillChange:V}}).filter(o=>o!==null&&Math.abs(o.dy)<=r);return c=null,n=E(),y.length===0?{physics:i,tick:()=>{}}:{items:y.map(({toEl:o,dx:h,dy:d,dw:u,dh:f})=>({physics:i,tick:p=>{o.style.transform=`translate(${(1-p)*h}px, ${(1-p)*d}px) scale(${p+(1-p)*u}, ${p+(1-p)*f})`}})),schedule:"parallel",prepare:()=>{y.forEach(({toEl:o})=>{o.style.position="relative",o.style.transformOrigin="top left",o.style.zIndex="1000",o.style.willChange="transform"})},onEnd:()=>{y.forEach(({toEl:o,originalTransform:h,originalPosition:d,originalTransformOrigin:u,originalZIndex:f,originalWillChange:p})=>{o.style.transform=h,o.style.position=d,o.style.transformOrigin=u,o.style.zIndex=f,o.style.willChange=p})}}},out:async s=>({physics:i,tick:()=>{},prepare:()=>{c=s,n.resolve(),g(s),s.style.opacity="0"}})}},Tt={spring:{stiffness:180,damping:22,doubleSpring:1}};function Lt({detailRect:t,galleryRect:i,pageRect:r,scrollOffset:c}){const n=i.left-t.left+(i.width-t.width)/2-c.x,s=i.top-t.top+(i.height-t.height)/2-c.y,e=i.width/t.width,a=i.height/t.height,l=Math.max(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${n*p}px, ${s*p}px) scale(${1+(l-1)*p})`}}}}function Pt({detailRect:t,galleryRect:i,pageRect:r,scrollOffset:c}){const n=i.left-t.left+(i.width-t.width)/2+c.x,s=i.top-t.top+(i.height-t.height)/2+c.y,e=i.width/t.width,a=i.height/t.height,l=Math.min(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${n*p-c.x}px, ${s*p-c.y}px) scale(${1+(l-1)*p})`}}}}function kt(t,i,r){const c=t.querySelector("[data-instagram-detail-key]"),n=i.querySelector("[data-instagram-detail-key]");if(t.querySelectorAll("[data-instagram-detail-key]").length>1||i.querySelectorAll("[data-instagram-detail-key]").length>1)return null;let s=null,e=null,a=!1;if(!c&&n){e=n;const o=e.getAttribute("data-instagram-detail-key");if(!o)return null;s=t.querySelector(`[data-instagram-gallery-key="${o}"]`),s&&(a=!0)}else if(c&&!n){e=c;const o=e.getAttribute("data-instagram-detail-key");if(!o)return null;s=i.querySelector(`[data-instagram-gallery-key="${o}"]`),s&&(a=!1)}if(!s||!e)return null;const l=x(a?t:i,s),y=x(a?i:t,e);if(a){const o=Lt({detailRect:y,galleryRect:l,pageRect:i.getBoundingClientRect(),scrollOffset:r});return i.style.transformOrigin=o.transformOrigin,{isEnterMode:!0,inAnimation:o.animate}}else{const o=Pt({detailRect:y,galleryRect:l,pageRect:t.getBoundingClientRect(),scrollOffset:r});return t.style.transformOrigin=o.transformOrigin,{isEnterMode:!1,outAnimation:o.animate}}}const vt=(t={})=>{const i=t.physics??Tt,r=t.timeout??300;let c=null,n=null,s=null,e=null;return{in:async(a,{scrollOffset:l})=>{const y=a;return!await new Promise(h=>{c?h(!0):(n=h,setTimeout(()=>{n=null,h(!1)},r))})||!c?(e==null||e(),e=null,c=null,{physics:i,css:()=>({})}):(s=kt(c,y,l),e==null||e(),e=null,s?(c=null,{physics:i,css:h=>s!=null&&s.inAnimation?s.inAnimation(h):{}}):(c=null,{physics:i,css:()=>({})}))},out:async(a,l)=>{const y=new Promise(o=>{e=o});return{physics:i,prepare:()=>{s!=null&&s.isEnterMode?g(a):(g(a,l),a.style.zIndex="-1")},wait:async()=>{c=a,n&&(n(!0),n=null),await y},css:o=>s!=null&&s.outAnimation?s.outAnimation(o):{}}}}},mt={spring:{stiffness:50,damping:30}};function It(t){const i=x(document.body,t.positionedParent);return{top:t.scroll.y,left:0,width:i.width,height:window.innerHeight-i.top}}const _t=(t={})=>{const i=t.physics??mt,r=t.initialRotation??45,c=t.initialScale??.01,n=t.rotationTriggerPoint??.8;return{out:async(s,e)=>{const a=s.style.opacity;return{physics:{spring:{stiffness:80,damping:25}},from:1,to:0,prepare:()=>{g(s,e),s.style.opacity="1"},tick:l=>{s.style.opacity=String(l)},onEnd:()=>{s.style.opacity=a}}},in:async(s,e)=>{const a=It(e),l=s.style.transform,y=s.style.transformOrigin,o=s.style.position,h=s.style.zIndex;return{physics:i,from:0,to:1,prepare:()=>{const d=Math.min(a.width,a.height)*.4;s.style.setProperty("--max-border-radius",`${d}px`),s.style.setProperty("--border-radius-scale","1"),s.style.willChange="transform",s.style.backfaceVisibility="hidden";const u=a.left+a.width/2,f=a.top+a.height/2;s.style.transformOrigin=`${u}px ${f}px`,s.style.position="fixed",s.style.top=`${a.top}px`,s.style.left=`${a.left}px`,s.style.width=`${a.width}px`,s.style.height=`${a.height}px`,s.style.zIndex="1000",s.style.overflow="hidden",s.style.transform=`rotate(${r}deg) scale(${c}) translateZ(0)`,s.style.borderRadius="calc(var(--max-border-radius) * var(--border-radius-scale))",s.style.opacity="1"},tick:d=>{let u;if(d<=.05)u=c;else if(d<=n){const w=(d-.05)/(n-.05),b=Math.pow(w,9);u=c+(.8-c)*b}else{const w=(d-n)/(1-n);u=.8+.2*(1-Math.pow(1-w,3))}let f;const p=.7;if(d<=p)f=r;else{const w=(d-p)/(1-p),b=1-Math.pow(1-w,2);f=r*(1-b)}let $;if(d<=p)$=1;else{const w=(d-p)/(1-p);$=1-Math.pow(w,.5)}s.style.transform=`rotate(${f.toFixed(2)}deg) scale(${u.toFixed(4)}) translateZ(0)`,s.style.setProperty("--border-radius-scale",$.toFixed(4))},onEnd:()=>{s.style.willChange="",s.style.backfaceVisibility="",s.style.removeProperty("--max-border-radius"),s.style.removeProperty("--border-radius-scale"),s.style.transform=l,s.style.transformOrigin=y,s.style.position=o,s.style.zIndex=h,s.style.top="",s.style.left="",s.style.width="",s.style.height="",s.style.overflow="",s.style.borderRadius=""}}}}},Dt={spring:{stiffness:200,damping:23,doubleSpring:1}};function Yt({detailRect:t,galleryRect:i,pageRect:r,scrollOffset:c}){const n=i.left-t.left+(i.width-t.width)/2-c.x,s=i.top-t.top+(i.height-t.height)/2-c.y,e=i.width/t.width,a=i.height/t.height,l=Math.max(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${n*p}px, ${s*p}px) scale(${1+(l-1)*p})`}}}}function Ft({galleryRect:t,detailRect:i,scrollOffset:r}){const c=i.left-t.left+(i.width-t.width)/2+r.x,n=i.top-t.top+(i.height-t.height)/2+r.y,s=i.width/t.width,e=i.height/t.height,a=Math.max(s,e);return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:y=>{const o=1-y;return{transform:`translate(${c*o-r.x}px, ${n*o-r.y}px) scale(${1+(a-1)*o})`,opacity:`${1-o}`}}}}function Ut({galleryRect:t,detailRect:i,scrollOffset:r}){const c=i.left-t.left+(i.width-t.width)/2-r.x,n=i.top-t.top+(i.height-t.height)/2-r.y,s=i.width/t.width,e=i.height/t.height,a=Math.max(s,e);return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:y=>{const o=1-y,h=y;return{transform:`translate(${c*o}px, ${n*o}px) scale(${1+(a-1)*o})`,opacity:`${h}`}}}}function Vt({detailRect:t,galleryRect:i,pageRect:r,scrollOffset:c}){const n=i.left-t.left+(i.width-t.width)/2+c.x,s=i.top-t.top+(i.height-t.height)/2+c.y,e=i.width/t.width,a=i.height/t.height,l=Math.min(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${n*p-c.x}px, ${s*p-c.y}px) scale(${1+(l-1)*p})`}}}}function Ht(t,i,r){const c=t.querySelector("[data-pinterest-detail-key]"),n=i.querySelector("[data-pinterest-detail-key]");if(t.querySelectorAll("[data-pinterest-detail-key]").length>1||i.querySelectorAll("[data-pinterest-detail-key]").length>1)return null;let s=null,e=null,a=!1;if(!c&&n){e=n;const o=e.getAttribute("data-pinterest-detail-key");if(!o)return null;s=t.querySelector(`[data-pinterest-gallery-key="${o}"]`),s&&(a=!0)}else if(c&&!n){e=c;const o=e.getAttribute("data-pinterest-detail-key");if(!o)return null;s=i.querySelector(`[data-pinterest-gallery-key="${o}"]`),s&&(a=!1)}if(!s||!e)return null;const l=x(a?t:i,s),y=x(a?i:t,e);if(a){const o=Yt({detailRect:y,galleryRect:l,pageRect:i.getBoundingClientRect(),scrollOffset:r}),h=Ft({galleryRect:l,detailRect:y,scrollOffset:r});return i.style.transformOrigin=o.transformOrigin,t.style.transformOrigin=h.transformOrigin,{inAnimation:o.animate,outAnimation:h.animate}}else{const o=Ut({galleryRect:l,detailRect:y,scrollOffset:r}),h=Vt({detailRect:y,galleryRect:l,pageRect:t.getBoundingClientRect(),scrollOffset:r});return i.style.transformOrigin=o.transformOrigin,t.style.transformOrigin=h.transformOrigin,{inAnimation:o.animate,outAnimation:h.animate}}}const Xt=(t={})=>{const i=t.physics??Dt,r=t.timeout??300;let c=null,n=null,s=null,e=null;return{in:async(a,{scrollOffset:l})=>{const y=a;return!await new Promise(h=>{c?h(!0):(n=h,setTimeout(()=>{n=null,h(!1)},r))})||!c?(e==null||e(),e=null,c=null,{physics:i,css:()=>({})}):(s=Ht(c,y,l),e==null||e(),e=null,s?(c=null,{physics:i,css:h=>s?s.inAnimation(h):{}}):(c=null,{physics:i,css:()=>({})}))},out:async a=>{const l=new Promise(y=>{e=y});return{physics:i,prepare:()=>{g(a),a.style.zIndex="-1",c=a,n&&(n(!0),n=null)},wait:async()=>{await l},css:y=>s?s.outAnimation(y):{}}}}},zt={spring:{stiffness:100,damping:30}},Mt=(t={})=>{const i=t.physics??zt;return{in:r=>({physics:i,prepare:()=>{r.style.opacity="0",r.style.transform="rotate(-180deg)",r.style.transformOrigin="center center",r.style.willChange="transform, opacity"},css:c=>({transform:`rotate(${(c-1)*180}deg)`,opacity:c>.5?1:0}),onEnd:()=>{r.style.willChange="auto",r.style.transform="",r.style.transformOrigin="",r.style.opacity=""}}),out:(r,c)=>({physics:i,prepare:()=>{g(r,c),r.style.transformOrigin="center center",r.style.willChange="transform, opacity"},css:n=>({transform:`rotate(${(1-n)*180}deg)`,opacity:n>.5?1:0}),onEnd:()=>{r.style.willChange="auto"}})}},Wt={spring:{stiffness:5,damping:4}},Bt=(t={})=>{const i=t.direction??"up",r=t.physics??Wt,c=i==="up";let n=null,s=null,e=null;const a=()=>{if(n===null||s===null)return null;const l=Math.min(n,s),y=window.innerHeight;return Math.max(l,y)};return{in:l=>(s=l.offsetHeight,n!==null&&(e=a()),{physics:r,prepare:()=>{l.style.willChange="transform",l.style.backfaceVisibility="hidden",l.style.contain="layout paint"},tick:y=>{e===null&&(e=a());const o=e??window.innerHeight,h=c?(1-y)*o:(1-y)*-o;l.style.transform=`translate3d(0, ${h}px, 0)`},onEnd:()=>{l.style.willChange="auto",l.style.backfaceVisibility="",l.style.contain=""}}),out:(l,y)=>({physics:r,tick:o=>{e===null&&(e=a());const h=e??window.innerHeight,d=c?(1-o)*-h:(1-o)*h;l.style.transform=`translate3d(0, ${d}px, 0)`},prepare:()=>{n=l.offsetHeight,s!==null&&(e=a()),g(l,y),l.style.zIndex=c?"-1":"1",l.style.willChange="transform",l.style.backfaceVisibility="hidden",l.style.contain="layout paint",l.style.pointerEvents="none"}})}},qt={inertia:{acceleration:20,resistance:1.5}},jt={inertia:{acceleration:20,resistance:1}},Nt=.2;function T(t){const i=x(document.body,t.positionedParent),r=t.scroll.y,c=window.innerHeight-i.top;return{top:r,left:0,width:i.width,height:c}}const Gt=(t={})=>{const{direction:i="enter"}=t,r=t.physics??(i==="enter"?qt:jt),c=t.scaleOffset??Nt;return i==="enter"?{in:(n,s)=>{const a=T(s).height;return{physics:r,prepare:()=>{n.style.willChange="transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint"},css:l=>({transform:`translate3d(0, ${(1-l)*a}px, 0)`}),onEnd:()=>{n.style.willChange="auto",n.style.backfaceVisibility="",n.style.contain=""}}},out:(n,s)=>{const e=T(s),a=e.left+e.width/2,l=e.top+e.height/2+s.scrollOffset.y;return{physics:r,prepare:()=>{g(n,s),n.style.zIndex="-1",n.style.willChange="transform, opacity",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.pointerEvents="none",n.style.transformOrigin=`${a}px ${l}px`},css:y=>({transform:`scale(${1-c+y*c})`,opacity:y})}}}:{in:(n,s)=>{const e=T(s),a=e.left+e.width/2,l=e.top+e.height/2;return{physics:r,prepare:()=>{n.style.willChange="transform, opacity",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.transformOrigin=`${a}px ${l}px`},css:y=>({transform:`scale(${1-c+y*c})`,opacity:y}),onEnd:()=>{n.style.willChange="auto",n.style.backfaceVisibility="",n.style.contain="",n.style.transformOrigin=""}}},out:(n,s)=>{const a=T(s).height;return{physics:r,prepare:()=>{g(n,s),n.style.zIndex="100",n.style.willChange="transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.pointerEvents="none"},css:l=>({transform:`translate3d(0, ${(1-l)*a}px, 0)`})}}}},Zt={spring:{stiffness:140,damping:19,doubleSpring:.8}},Jt=(t={})=>{const i=t.direction??"left",r=t.physics??Zt,c=i==="left";return{in:n=>({physics:r,prepare:()=>{n.style.willChange="transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint"},css:s=>({transform:`translate3d(${c?(1-s)*100:(1-s)*-100}%, 0, 0)`}),onEnd:()=>{n.style.willChange="auto",n.style.backfaceVisibility="",n.style.contain=""}}),out:(n,s)=>({physics:r,css:e=>({transform:`translate3d(${c?(1-e)*-100:(1-e)*100}%, 0, 0)`}),prepare:()=>{g(n,s),n.style.willChange="transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.pointerEvents="none"}})}},Kt=8,Qt={spring:{stiffness:600,damping:40,restDelta:.1,restSpeed:1e14}},Rt=(t={})=>{const i=t.direction??"left",r=t.physics??Qt,c=t.translateOffset??Kt,n=i==="left";let{promise:s,resolve:e}=E();return{in:a=>({physics:r,prepare:()=>{a.style.opacity="0",a.style.willChange="transform, opacity",a.style.backfaceVisibility="hidden",a.style.contain="layout paint"},wait:async()=>{if(s){await s;const l=E();s=l.promise,e=l.resolve}},css:l=>{const y=n?(1-l)*c:(1-l)*-c,o=`${l}`;return{transform:`translate3d(${y}px, 0, 0)`,opacity:o}},onEnd:()=>{a.style.opacity="1",a.style.willChange="auto",a.style.backfaceVisibility="",a.style.contain=""}}),out:(a,l)=>({physics:r,prepare:()=>{g(a,l),a.style.willChange="transform, opacity",a.style.backfaceVisibility="hidden",a.style.contain="layout paint",a.style.pointerEvents="none"},css:y=>{const o=n?(1-y)*-c:(1-y)*c,h=`${y}`;return{transform:`translate3d(${o}px, 0, 0)`,opacity:h}},onEnd:()=>{e&&e(),a.style.willChange="auto",a.style.backfaceVisibility="",a.style.contain=""}})}},ts={spring:{stiffness:17,damping:6}},P=20,L=800,ss=(t={})=>{const i=t.physics??ts;let r,c=null;return{in:n=>({physics:i,prepare:()=>{n.style.willChange="transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.transform=`perspective(${L}px) rotateY(${P}deg) translate3d(-100%, 0, 0)`},wait:async()=>{r&&await r},css:s=>{const e=(1-s)*P,a=-(1-s)*100;return{transform:`perspective(${L}px) rotateY(${e}deg) translate3d(${a}%, 0, 0)`}},onEnd:()=>{n.style.transform="",n.style.willChange="auto",n.style.backfaceVisibility="",n.style.contain=""}}),out:(n,s)=>(r=new Promise(e=>{c=e}),{physics:i,prepare:()=>{g(n,s),n.style.willChange="transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.pointerEvents="none",n.style.transform=`perspective(${L}px) rotateY(0deg) translate3d(0%, 0, 0)`},css:e=>{const a=1-e,l=a*P,y=a*100;return{transform:`perspective(${L}px) rotateY(${-l}deg) translate3d(${y}%, 0, 0)`}},onEnd:()=>{c&&c(),n.style.transform=""}})}},is={spring:{stiffness:600,damping:40,restDelta:.1,restSpeed:1e14}},ns=.05;function es(t){const i=x(document.body,t.positionedParent),r=t.scroll.y,c=window.innerHeight-i.top;return{top:r,left:0,width:i.width,height:c}}const as=(t={})=>{const i=t.physics??is,r=t.scaleOffset??ns;let{promise:c,resolve:n}=E();return{in:(s,e)=>{const a=es(e),l=a.left+a.width/2,y=a.top+a.height/2;return{physics:i,prepare:()=>{s.style.opacity="0",s.style.willChange="transform, opacity",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.transformOrigin=`${l}px ${y}px`},wait:async()=>{if(c){await c;const o=E();c=o.promise,n=o.resolve}},css:o=>({transform:`scale(${1-r+o*r})`,opacity:o}),onEnd:()=>{s.style.opacity="1",s.style.willChange="auto",s.style.backfaceVisibility="",s.style.contain="",s.style.transformOrigin=""}}},out:(s,e)=>({physics:i,prepare:()=>{g(s,e),s.style.willChange="opacity",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.pointerEvents="none"},css:a=>({opacity:a}),onEnd:()=>{n&&n()}})}};exports.blind=q;exports.curtainReveal=et;exports.depth=lt;exports.drill=ht;exports.fade=ft;exports.film=bt;exports.hero=At;exports.instagram=vt;exports.jaemin=_t;exports.pinterest=Xt;exports.rotate=Mt;exports.scroll=Bt;exports.sheet=Gt;exports.slide=Jt;exports.snap=Rt;exports.strip=ss;exports.swap=as;
35
+ )`}function Ct(t,i){t.style.transform=`translateY(${-i.top}px)`}const Ot={spring:{stiffness:300,damping:30}};function St(t,i){return t.querySelector(`[data-hero-key="${i}"]`)}const At=(t={})=>{const i=t.physics??Ot,r=t.maxDistance??700;let c=null,n=E();return{in:async(s,e)=>{const a=s,l=Array.from(a.querySelectorAll("[data-hero-key]"));await n.promise;const y=l.map(o=>{const h=o.getAttribute("data-hero-key");if(!h)return null;const d=St(c,h);if(!d)return null;const u=o,f=x(c,d),p=x(a,u),$=f.left-p.left-e.scrollOffset.x,w=f.top-p.top-e.scrollOffset.y,b=f.width/p.width,C=f.height/p.height,D=u.style.transform,Y=u.style.position,F=u.style.transformOrigin,U=u.style.zIndex,V=u.style.willChange;return{toEl:u,dx:$,dy:w,dw:b,dh:C,originalTransform:D,originalPosition:Y,originalTransformOrigin:F,originalZIndex:U,originalWillChange:V}}).filter(o=>o!==null&&Math.abs(o.dy)<=r);return c=null,n=E(),y.length===0?{physics:i,tick:()=>{}}:{items:y.map(({toEl:o,dx:h,dy:d,dw:u,dh:f})=>({physics:i,tick:p=>{o.style.transform=`translate(${(1-p)*h}px, ${(1-p)*d}px) scale(${p+(1-p)*u}, ${p+(1-p)*f})`}})),schedule:"parallel",prepare:()=>{y.forEach(({toEl:o})=>{o.style.position="relative",o.style.transformOrigin="top left",o.style.zIndex="1000",o.style.willChange="transform"})},onEnd:()=>{y.forEach(({toEl:o,originalTransform:h,originalPosition:d,originalTransformOrigin:u,originalZIndex:f,originalWillChange:p})=>{o.style.transform=h,o.style.position=d,o.style.transformOrigin=u,o.style.zIndex=f,o.style.willChange=p})}}},out:async s=>({physics:i,tick:()=>{},prepare:()=>{c=s,n.resolve(),g(s),s.style.opacity="0"}})}},Tt={spring:{stiffness:220,damping:24,doubleSpring:1}};function Lt({detailRect:t,galleryRect:i,pageRect:r,scrollOffset:c}){const n=i.left-t.left+(i.width-t.width)/2-c.x,s=i.top-t.top+(i.height-t.height)/2-c.y,e=i.width/t.width,a=i.height/t.height,l=Math.max(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${n*p}px, ${s*p}px) scale(${1+(l-1)*p})`}}}}function Pt({detailRect:t,galleryRect:i,pageRect:r,scrollOffset:c}){const n=i.left-t.left+(i.width-t.width)/2+c.x,s=i.top-t.top+(i.height-t.height)/2+c.y,e=i.width/t.width,a=i.height/t.height,l=Math.min(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${n*p-c.x}px, ${s*p-c.y}px) scale(${1+(l-1)*p})`}}}}function kt(t,i,r){const c=t.querySelector("[data-instagram-detail-key]"),n=i.querySelector("[data-instagram-detail-key]");if(t.querySelectorAll("[data-instagram-detail-key]").length>1||i.querySelectorAll("[data-instagram-detail-key]").length>1)return null;let s=null,e=null,a=!1;if(!c&&n){e=n;const o=e.getAttribute("data-instagram-detail-key");if(!o)return null;s=t.querySelector(`[data-instagram-gallery-key="${o}"]`),s&&(a=!0)}else if(c&&!n){e=c;const o=e.getAttribute("data-instagram-detail-key");if(!o)return null;s=i.querySelector(`[data-instagram-gallery-key="${o}"]`),s&&(a=!1)}if(!s||!e)return null;const l=x(a?t:i,s),y=x(a?i:t,e);if(a){const o=Lt({detailRect:y,galleryRect:l,pageRect:i.getBoundingClientRect(),scrollOffset:r});return i.style.transformOrigin=o.transformOrigin,{isEnterMode:!0,inAnimation:o.animate}}else{const o=Pt({detailRect:y,galleryRect:l,pageRect:t.getBoundingClientRect(),scrollOffset:r});return t.style.transformOrigin=o.transformOrigin,{isEnterMode:!1,outAnimation:o.animate}}}const vt=(t={})=>{const i=t.physics??Tt,r=t.timeout??300;let c=null,n=null,s=null,e=null;return{in:async(a,{scrollOffset:l})=>{const y=a;return!await new Promise(h=>{c?h(!0):(n=h,setTimeout(()=>{n=null,h(!1)},r))})||!c?(e==null||e(),e=null,c=null,{physics:i,css:()=>({})}):(s=kt(c,y,l),e==null||e(),e=null,s?(c=null,{physics:i,css:h=>s!=null&&s.inAnimation?s.inAnimation(h):{}}):(c=null,{physics:i,css:()=>({})}))},out:async(a,l)=>{const y=new Promise(o=>{e=o});return{physics:i,prepare:()=>{s!=null&&s.isEnterMode?g(a):(g(a,l),a.style.zIndex="-1")},wait:async()=>{c=a,n&&(n(!0),n=null),await y},css:o=>s!=null&&s.outAnimation?s.outAnimation(o):{}}}}},mt={spring:{stiffness:50,damping:30}};function It(t){const i=x(document.body,t.positionedParent);return{top:t.scroll.y,left:0,width:i.width,height:window.innerHeight-i.top}}const _t=(t={})=>{const i=t.physics??mt,r=t.initialRotation??45,c=t.initialScale??.01,n=t.rotationTriggerPoint??.8;return{out:async(s,e)=>{const a=s.style.opacity;return{physics:{spring:{stiffness:80,damping:25}},from:1,to:0,prepare:()=>{g(s,e),s.style.opacity="1"},tick:l=>{s.style.opacity=String(l)},onEnd:()=>{s.style.opacity=a}}},in:async(s,e)=>{const a=It(e),l=s.style.transform,y=s.style.transformOrigin,o=s.style.position,h=s.style.zIndex;return{physics:i,from:0,to:1,prepare:()=>{const d=Math.min(a.width,a.height)*.4;s.style.setProperty("--max-border-radius",`${d}px`),s.style.setProperty("--border-radius-scale","1"),s.style.willChange="transform",s.style.backfaceVisibility="hidden";const u=a.left+a.width/2,f=a.top+a.height/2;s.style.transformOrigin=`${u}px ${f}px`,s.style.position="fixed",s.style.top=`${a.top}px`,s.style.left=`${a.left}px`,s.style.width=`${a.width}px`,s.style.height=`${a.height}px`,s.style.zIndex="1000",s.style.overflow="hidden",s.style.transform=`rotate(${r}deg) scale(${c}) translateZ(0)`,s.style.borderRadius="calc(var(--max-border-radius) * var(--border-radius-scale))",s.style.opacity="1"},tick:d=>{let u;if(d<=.05)u=c;else if(d<=n){const w=(d-.05)/(n-.05),b=Math.pow(w,9);u=c+(.8-c)*b}else{const w=(d-n)/(1-n);u=.8+.2*(1-Math.pow(1-w,3))}let f;const p=.7;if(d<=p)f=r;else{const w=(d-p)/(1-p),b=1-Math.pow(1-w,2);f=r*(1-b)}let $;if(d<=p)$=1;else{const w=(d-p)/(1-p);$=1-Math.pow(w,.5)}s.style.transform=`rotate(${f.toFixed(2)}deg) scale(${u.toFixed(4)}) translateZ(0)`,s.style.setProperty("--border-radius-scale",$.toFixed(4))},onEnd:()=>{s.style.willChange="",s.style.backfaceVisibility="",s.style.removeProperty("--max-border-radius"),s.style.removeProperty("--border-radius-scale"),s.style.transform=l,s.style.transformOrigin=y,s.style.position=o,s.style.zIndex=h,s.style.top="",s.style.left="",s.style.width="",s.style.height="",s.style.overflow="",s.style.borderRadius=""}}}}},Dt={spring:{stiffness:220,damping:24,doubleSpring:1}};function Yt({detailRect:t,galleryRect:i,pageRect:r,scrollOffset:c}){const n=i.left-t.left+(i.width-t.width)/2-c.x,s=i.top-t.top+(i.height-t.height)/2-c.y,e=i.width/t.width,a=i.height/t.height,l=Math.max(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${n*p}px, ${s*p}px) scale(${1+(l-1)*p})`}}}}function Ft({galleryRect:t,detailRect:i,scrollOffset:r}){const c=i.left-t.left+(i.width-t.width)/2+r.x,n=i.top-t.top+(i.height-t.height)/2+r.y,s=i.width/t.width,e=i.height/t.height,a=Math.max(s,e);return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:y=>{const o=1-y;return{transform:`translate(${c*o-r.x}px, ${n*o-r.y}px) scale(${1+(a-1)*o})`,opacity:`${1-o}`}}}}function Ut({galleryRect:t,detailRect:i,scrollOffset:r}){const c=i.left-t.left+(i.width-t.width)/2-r.x,n=i.top-t.top+(i.height-t.height)/2-r.y,s=i.width/t.width,e=i.height/t.height,a=Math.max(s,e);return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:y=>{const o=1-y,h=y;return{transform:`translate(${c*o}px, ${n*o}px) scale(${1+(a-1)*o})`,opacity:`${h}`}}}}function Vt({detailRect:t,galleryRect:i,pageRect:r,scrollOffset:c}){const n=i.left-t.left+(i.width-t.width)/2+c.x,s=i.top-t.top+(i.height-t.height)/2+c.y,e=i.width/t.width,a=i.height/t.height,l=Math.min(e,a),y=t.top/r.height*100,o=(r.width-(t.left+t.width))/r.width*100,h=(r.height-(t.top+t.height))/r.height*100,d=t.left/r.width*100;return{transformOrigin:`${t.left+t.width/2}px ${t.top+t.height/2}px`,animate:f=>{const p=1-f;return{clipPath:`inset(${y*p}% ${o*p}% ${h*p}% ${d*p}%)`,transform:`translate(${n*p-c.x}px, ${s*p-c.y}px) scale(${1+(l-1)*p})`}}}}function Ht(t,i,r){const c=t.querySelector("[data-pinterest-detail-key]"),n=i.querySelector("[data-pinterest-detail-key]");if(t.querySelectorAll("[data-pinterest-detail-key]").length>1||i.querySelectorAll("[data-pinterest-detail-key]").length>1)return null;let s=null,e=null,a=!1;if(!c&&n){e=n;const o=e.getAttribute("data-pinterest-detail-key");if(!o)return null;s=t.querySelector(`[data-pinterest-gallery-key="${o}"]`),s&&(a=!0)}else if(c&&!n){e=c;const o=e.getAttribute("data-pinterest-detail-key");if(!o)return null;s=i.querySelector(`[data-pinterest-gallery-key="${o}"]`),s&&(a=!1)}if(!s||!e)return null;const l=x(a?t:i,s),y=x(a?i:t,e);if(a){const o=Yt({detailRect:y,galleryRect:l,pageRect:i.getBoundingClientRect(),scrollOffset:r}),h=Ft({galleryRect:l,detailRect:y,scrollOffset:r});return i.style.transformOrigin=o.transformOrigin,t.style.transformOrigin=h.transformOrigin,{inAnimation:o.animate,outAnimation:h.animate}}else{const o=Ut({galleryRect:l,detailRect:y,scrollOffset:r}),h=Vt({detailRect:y,galleryRect:l,pageRect:t.getBoundingClientRect(),scrollOffset:r});return i.style.transformOrigin=o.transformOrigin,t.style.transformOrigin=h.transformOrigin,{inAnimation:o.animate,outAnimation:h.animate}}}const Xt=(t={})=>{const i=t.physics??Dt,r=t.timeout??300;let c=null,n=null,s=null,e=null;return{in:async(a,{scrollOffset:l})=>{const y=a;return!await new Promise(h=>{c?h(!0):(n=h,setTimeout(()=>{n=null,h(!1)},r))})||!c?(e==null||e(),e=null,c=null,{physics:i,css:()=>({})}):(s=Ht(c,y,l),e==null||e(),e=null,s?(c=null,{physics:i,css:h=>s?s.inAnimation(h):{}}):(c=null,{physics:i,css:()=>({})}))},out:async a=>{const l=new Promise(y=>{e=y});return{physics:i,prepare:()=>{g(a),a.style.zIndex="-1",c=a,n&&(n(!0),n=null)},wait:async()=>{await l},css:y=>s?s.outAnimation(y):{}}}}},zt={spring:{stiffness:100,damping:30}},Mt=(t={})=>{const i=t.physics??zt;return{in:r=>({physics:i,prepare:()=>{r.style.opacity="0",r.style.transform="rotate(-180deg)",r.style.transformOrigin="center center",r.style.willChange="transform, opacity"},css:c=>({transform:`rotate(${(c-1)*180}deg)`,opacity:c>.5?1:0}),onEnd:()=>{r.style.willChange="auto",r.style.transform="",r.style.transformOrigin="",r.style.opacity=""}}),out:(r,c)=>({physics:i,prepare:()=>{g(r,c),r.style.transformOrigin="center center",r.style.willChange="transform, opacity"},css:n=>({transform:`rotate(${(1-n)*180}deg)`,opacity:n>.5?1:0}),onEnd:()=>{r.style.willChange="auto"}})}},Wt={spring:{stiffness:5,damping:4}},Bt=(t={})=>{const i=t.direction??"up",r=t.physics??Wt,c=i==="up";let n=null,s=null,e=null;const a=()=>{if(n===null||s===null)return null;const l=Math.min(n,s),y=window.innerHeight;return Math.max(l,y)};return{in:l=>(s=l.offsetHeight,n!==null&&(e=a()),{physics:r,prepare:()=>{l.style.willChange="transform",l.style.backfaceVisibility="hidden",l.style.contain="layout paint"},tick:y=>{e===null&&(e=a());const o=e??window.innerHeight,h=c?(1-y)*o:(1-y)*-o;l.style.transform=`translate3d(0, ${h}px, 0)`},onEnd:()=>{l.style.willChange="auto",l.style.backfaceVisibility="",l.style.contain=""}}),out:(l,y)=>({physics:r,tick:o=>{e===null&&(e=a());const h=e??window.innerHeight,d=c?(1-o)*-h:(1-o)*h;l.style.transform=`translate3d(0, ${d}px, 0)`},prepare:()=>{n=l.offsetHeight,s!==null&&(e=a()),g(l,y),l.style.zIndex=c?"-1":"1",l.style.willChange="transform",l.style.backfaceVisibility="hidden",l.style.contain="layout paint",l.style.pointerEvents="none"}})}},qt={spring:{stiffness:200,damping:24}},jt={inertia:{acceleration:25,resistance:1.2}},Nt=.2;function T(t){const i=x(document.body,t.positionedParent),r=t.scroll.y,c=window.innerHeight-i.top;return{top:r,left:0,width:i.width,height:c}}const Gt=(t={})=>{const{direction:i="enter"}=t,r=t.physics??(i==="enter"?qt:jt),c=t.scaleOffset??Nt;return i==="enter"?{in:(n,s)=>{const a=T(s).height;return{physics:r,prepare:()=>{n.style.willChange="transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint"},css:l=>({transform:`translate3d(0, ${(1-l)*a}px, 0)`}),onEnd:()=>{n.style.willChange="auto",n.style.backfaceVisibility="",n.style.contain=""}}},out:(n,s)=>{const e=T(s),a=e.left+e.width/2,l=e.top+e.height/2+s.scrollOffset.y;return{physics:r,prepare:()=>{g(n,s),n.style.zIndex="-1",n.style.willChange="transform, opacity",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.pointerEvents="none",n.style.transformOrigin=`${a}px ${l}px`},css:y=>({transform:`scale(${1-c+y*c})`,opacity:y})}}}:{in:(n,s)=>{const e=T(s),a=e.left+e.width/2,l=e.top+e.height/2;return{physics:r,prepare:()=>{n.style.willChange="transform, opacity",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.transformOrigin=`${a}px ${l}px`},css:y=>({transform:`scale(${1-c+y*c})`,opacity:y}),onEnd:()=>{n.style.willChange="auto",n.style.backfaceVisibility="",n.style.contain="",n.style.transformOrigin=""}}},out:(n,s)=>{const a=T(s).height;return{physics:r,prepare:()=>{g(n,s),n.style.zIndex="100",n.style.willChange="transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.pointerEvents="none"},css:l=>({transform:`translate3d(0, ${(1-l)*a}px, 0)`})}}}},Zt={spring:{stiffness:170,damping:22,doubleSpring:.8}},Jt=(t={})=>{const i=t.direction??"left",r=t.physics??Zt,c=i==="left";return{in:n=>({physics:r,prepare:()=>{n.style.willChange="transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint"},css:s=>({transform:`translate3d(${c?(1-s)*100:(1-s)*-100}%, 0, 0)`}),onEnd:()=>{n.style.willChange="auto",n.style.backfaceVisibility="",n.style.contain=""}}),out:(n,s)=>({physics:r,css:e=>({transform:`translate3d(${c?(1-e)*-100:(1-e)*100}%, 0, 0)`}),prepare:()=>{g(n,s),n.style.willChange="transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.pointerEvents="none"}})}},Kt=8,Qt={spring:{stiffness:400,damping:30,restDelta:.1,restSpeed:1e14}},Rt=(t={})=>{const i=t.direction??"left",r=t.physics??Qt,c=t.translateOffset??Kt,n=i==="left";let{promise:s,resolve:e}=E();return{in:a=>({physics:r,prepare:()=>{a.style.opacity="0",a.style.willChange="transform, opacity",a.style.backfaceVisibility="hidden",a.style.contain="layout paint"},wait:async()=>{if(s){await s;const l=E();s=l.promise,e=l.resolve}},css:l=>{const y=n?(1-l)*c:(1-l)*-c,o=`${l}`;return{transform:`translate3d(${y}px, 0, 0)`,opacity:o}},onEnd:()=>{a.style.opacity="1",a.style.willChange="auto",a.style.backfaceVisibility="",a.style.contain=""}}),out:(a,l)=>({physics:r,prepare:()=>{g(a,l),a.style.willChange="transform, opacity",a.style.backfaceVisibility="hidden",a.style.contain="layout paint",a.style.pointerEvents="none"},css:y=>{const o=n?(1-y)*-c:(1-y)*c,h=`${y}`;return{transform:`translate3d(${o}px, 0, 0)`,opacity:h}},onEnd:()=>{e&&e(),a.style.willChange="auto",a.style.backfaceVisibility="",a.style.contain=""}})}},ts={spring:{stiffness:17,damping:6}},P=20,L=800,ss=(t={})=>{const i=t.physics??ts;let r,c=null;return{in:n=>({physics:i,prepare:()=>{n.style.willChange="transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.transform=`perspective(${L}px) rotateY(${P}deg) translate3d(-100%, 0, 0)`},wait:async()=>{r&&await r},css:s=>{const e=(1-s)*P,a=-(1-s)*100;return{transform:`perspective(${L}px) rotateY(${e}deg) translate3d(${a}%, 0, 0)`}},onEnd:()=>{n.style.transform="",n.style.willChange="auto",n.style.backfaceVisibility="",n.style.contain=""}}),out:(n,s)=>(r=new Promise(e=>{c=e}),{physics:i,prepare:()=>{g(n,s),n.style.willChange="transform",n.style.backfaceVisibility="hidden",n.style.contain="layout paint",n.style.pointerEvents="none",n.style.transform=`perspective(${L}px) rotateY(0deg) translate3d(0%, 0, 0)`},css:e=>{const a=1-e,l=a*P,y=a*100;return{transform:`perspective(${L}px) rotateY(${-l}deg) translate3d(${y}%, 0, 0)`}},onEnd:()=>{c&&c(),n.style.transform=""}})}},is={spring:{stiffness:350,damping:32,restDelta:.1,restSpeed:1e14}},ns=.05;function es(t){const i=x(document.body,t.positionedParent),r=t.scroll.y,c=window.innerHeight-i.top;return{top:r,left:0,width:i.width,height:c}}const as=(t={})=>{const i=t.physics??is,r=t.scaleOffset??ns;let{promise:c,resolve:n}=E();return{in:(s,e)=>{const a=es(e),l=a.left+a.width/2,y=a.top+a.height/2;return{physics:i,prepare:()=>{s.style.opacity="0",s.style.willChange="transform, opacity",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.transformOrigin=`${l}px ${y}px`},wait:async()=>{if(c){await c;const o=E();c=o.promise,n=o.resolve}},css:o=>({transform:`scale(${1-r+o*r})`,opacity:o}),onEnd:()=>{s.style.opacity="1",s.style.willChange="auto",s.style.backfaceVisibility="",s.style.contain="",s.style.transformOrigin=""}}},out:(s,e)=>({physics:i,prepare:()=>{g(s,e),s.style.willChange="opacity",s.style.backfaceVisibility="hidden",s.style.contain="layout paint",s.style.pointerEvents="none"},css:a=>({opacity:a}),onEnd:()=>{n&&n()}})}};exports.blind=q;exports.curtainReveal=et;exports.depth=lt;exports.drill=ht;exports.fade=ft;exports.film=bt;exports.hero=At;exports.instagram=vt;exports.jaemin=_t;exports.pinterest=Xt;exports.rotate=Mt;exports.scroll=Bt;exports.sheet=Gt;exports.slide=Jt;exports.snap=Rt;exports.strip=ss;exports.swap=as;