@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.
- package/dist/index.cjs +2 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +488 -419
- package/dist/ssgoi-transition/create-ssgoi-transition-context.d.ts +14 -25
- package/dist/ssgoi-transition/create-ssgoi-transition-context.d.ts.map +1 -1
- package/dist/transition/create-transition-callback.d.ts.map +1 -1
- package/dist/transition/unmount-observer.d.ts +43 -0
- package/dist/transition/unmount-observer.d.ts.map +1 -0
- package/dist/types.d.ts +19 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/view-transitions/index.cjs +8 -8
- package/dist/view-transitions/index.js +157 -157
- package/dist/view-transitions/instagram.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
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
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
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
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
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,
|
|
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,
|
|
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
|
};
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAEjC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAGzC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAG3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAGrB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GAAG;IAEtD,MAAM,CAAC,EAAE,YAAY,CAAC;IAGtB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,WAAW,CAAC;CACzC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,GAAG,CAAC,EACA,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,WAAW,CAAC,GACnC;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,WAAW,CAAA;KAAE,CAAC;IAEvE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,GAAG;IAErD,OAAO,EAAE,UAAU,EAAE,CAAC;IAGtB,QAAQ,CAAC,EAAE,YAAY,CAAC;IAGxB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;AAEtE;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,gBAAgB,GACvB,MAAM,IAAI,kBAAkB,CAE9B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,gBAAgB,GACvB,MAAM,IAAI,iBAAiB,CAE7B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,kBAAkB,GACzB,MAAM,IAAI,kBAAkB,GAAG;IAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,CAEtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,kBAAkB,GACzB,MAAM,IAAI,kBAAkB,GAAG;IAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,CAErE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAMtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAMzD;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GACnD,OAAO,CAAC,iBAAiB,CAAC,CA2B5B;AAED,MAAM,MAAM,mBAAmB,CAAC,QAAQ,GAAG,SAAS,IAClD,QAAQ,SAAS,SAAS,GACtB,CAAC,IAAI,EAAE,WAAW,KAAK,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GACnE,CACE,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,QAAQ,KACd,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAExD,MAAM,MAAM,UAAU,CAAC,QAAQ,GAAG,SAAS,IAAI;IAC7C,EAAE,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACnC,GAAG,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACpC,GAAG,CAAC,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEjD,MAAM,MAAM,iBAAiB,CAAC,QAAQ,GAAG,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG;IAC3E,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,WAAW,GAAG,IAAI,KACxB,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;AAEzB;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;OAIG;IACH,YAAY,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvC;;;;OAIG;IACH,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEjC;;;;OAIG;IACH,gBAAgB,EAAE,WAAW,CAAC;IAE9B;;;;;OAKG;IACH,gBAAgB,EAAE,WAAW,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;AAEjE,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,eAAe,CAAC;QAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,EAAE,CAAC;IACJ,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,KACT,UAAU,GAAG;IAAE,GAAG,EAAE,aAAa,CAAA;CAAE,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,QAAQ,CAAC,GAAG;IACtE,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,WAAW,CAAA;KAAE,CAAC;IACzE,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,iBAAiB,EACjB,SAAS,GAAG,UAAU,CACvB,GAAG;IACF,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,WAAW,GACpB,2BAA2B,CA8C7B;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC"}
|
|
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,
|
|
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
|
|
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(${
|
|
18
|
-
transform-origin: ${
|
|
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(${
|
|
28
|
-
transform-origin: ${
|
|
27
|
+
transform: scaleY(${p==="hidden"?0:1});
|
|
28
|
+
transform-origin: ${u==="left"?"top":"bottom"} center;
|
|
29
29
|
will-change: transform;
|
|
30
|
-
`}
|
|
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;
|