@ssgoi/core 4.1.0 → 4.2.1
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 +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +548 -499
- package/dist/ssgoi-transition/create-ssgoi-transition-context.d.ts +4 -1
- package/dist/ssgoi-transition/create-ssgoi-transition-context.d.ts.map +1 -1
- package/dist/ssgoi-transition/navigation-detector-strategy.d.ts +42 -0
- package/dist/ssgoi-transition/navigation-detector-strategy.d.ts.map +1 -0
- package/dist/types.d.ts +19 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/ssgoi-transition/types.d.ts +0 -8
- package/dist/ssgoi-transition/types.d.ts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SsgoiConfig, SsgoiContext, SsgoiInternalOptions } from '../types';
|
|
1
|
+
import { SsgoiConfig, SsgoiContext, SsgoiExtendedContext, SsgoiInternalOptions } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* SSGOI Transition Context Operation Principles
|
|
4
4
|
*
|
|
@@ -31,5 +31,8 @@ import { SsgoiConfig, SsgoiContext, SsgoiInternalOptions } from '../types';
|
|
|
31
31
|
* defaultTransition: fade()
|
|
32
32
|
* });
|
|
33
33
|
*/
|
|
34
|
+
export declare function createSggoiTransitionContext(options: SsgoiConfig, internalOptions: SsgoiInternalOptions & {
|
|
35
|
+
createNavigationDetector: NonNullable<SsgoiInternalOptions["createNavigationDetector"]>;
|
|
36
|
+
}): SsgoiExtendedContext;
|
|
34
37
|
export declare function createSggoiTransitionContext(options: SsgoiConfig, internalOptions?: SsgoiInternalOptions): SsgoiContext;
|
|
35
38
|
//# 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,
|
|
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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Navigation Detector Strategy
|
|
3
|
+
*
|
|
4
|
+
* Collects out/in navigation events and provides navigation pairs.
|
|
5
|
+
* Each strategy handles the timing differently:
|
|
6
|
+
* - OutFirst: OUT must arrive before IN (for Svelte, Vue)
|
|
7
|
+
* - AnyOrder: OUT and IN can arrive in any order (for React)
|
|
8
|
+
*/
|
|
9
|
+
export type NavigationPair = {
|
|
10
|
+
from: string;
|
|
11
|
+
to: string;
|
|
12
|
+
};
|
|
13
|
+
export interface NavigationDetector {
|
|
14
|
+
/**
|
|
15
|
+
* Trigger navigation event
|
|
16
|
+
*/
|
|
17
|
+
trigger(path: string, type: "out" | "in"): void;
|
|
18
|
+
/**
|
|
19
|
+
* Get navigation pair when ready
|
|
20
|
+
* Returns null if should skip (e.g., page refresh in outFirst mode)
|
|
21
|
+
*/
|
|
22
|
+
get(type: "out" | "in"): Promise<NavigationPair | null>;
|
|
23
|
+
}
|
|
24
|
+
export type CreateNavigationDetector = () => NavigationDetector;
|
|
25
|
+
/**
|
|
26
|
+
* OutFirst Strategy
|
|
27
|
+
*
|
|
28
|
+
* OUT must arrive before IN. Best for frameworks with native destroy callbacks.
|
|
29
|
+
* - OUT triggers first, then IN completes the pair
|
|
30
|
+
* - If IN arrives without OUT, returns null (page refresh case)
|
|
31
|
+
*/
|
|
32
|
+
export declare function createOutFirstDetector(): NavigationDetector;
|
|
33
|
+
/**
|
|
34
|
+
* AnyOrder Strategy
|
|
35
|
+
*
|
|
36
|
+
* OUT and IN can arrive in any order. Best for frameworks using MutationObserver.
|
|
37
|
+
* - Either OUT or IN can arrive first
|
|
38
|
+
* - Both wait indefinitely for the other to complete the pair
|
|
39
|
+
* - If a new path arrives, cancels the previous pending transition
|
|
40
|
+
*/
|
|
41
|
+
export declare function createAnyOrderDetector(): NavigationDetector;
|
|
42
|
+
//# sourceMappingURL=navigation-detector-strategy.d.ts.map
|
|
@@ -0,0 +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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Integrator } from './animator/integrator';
|
|
2
|
+
import { CreateNavigationDetector } from './ssgoi-transition/navigation-detector-strategy';
|
|
2
3
|
export type TransitionKey = string | symbol;
|
|
3
4
|
/**
|
|
4
5
|
* Double spring follower configuration
|
|
@@ -380,10 +381,28 @@ export type SsgoiInternalOptions = {
|
|
|
380
381
|
* @default true
|
|
381
382
|
*/
|
|
382
383
|
outFirst?: boolean;
|
|
384
|
+
/**
|
|
385
|
+
* Custom navigation detector factory
|
|
386
|
+
* If provided, overrides the default detector selection based on outFirst
|
|
387
|
+
* Also returns SsgoiExtendedContext instead of SsgoiContext
|
|
388
|
+
*/
|
|
389
|
+
createNavigationDetector?: CreateNavigationDetector;
|
|
383
390
|
};
|
|
384
391
|
export type SsgoiContext = (path: string) => Transition & {
|
|
385
392
|
key: TransitionKey;
|
|
386
393
|
};
|
|
394
|
+
/**
|
|
395
|
+
* Extended context with additional utilities for frameworks that need
|
|
396
|
+
* pre-transition visibility control (e.g., React with Next.js)
|
|
397
|
+
*/
|
|
398
|
+
export type SsgoiExtendedContext = {
|
|
399
|
+
getTransition: SsgoiContext;
|
|
400
|
+
/**
|
|
401
|
+
* Check if a transition is configured for the given from/to paths
|
|
402
|
+
* Useful for determining initial visibility before transition starts
|
|
403
|
+
*/
|
|
404
|
+
hasMatchingTransition: (from: string, to: string) => boolean;
|
|
405
|
+
};
|
|
387
406
|
/**
|
|
388
407
|
* Normalized schedule entry for internal processing
|
|
389
408
|
* All schedule types are normalized to progress-based offsets (0-1)
|
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,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { GetTransitionConfig } from '../types';
|
|
2
|
-
export type PendingTransition = {
|
|
3
|
-
from?: string;
|
|
4
|
-
to?: string;
|
|
5
|
-
outResolve?: (transition: GetTransitionConfig) => void;
|
|
6
|
-
inResolve?: (transition: GetTransitionConfig) => void;
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACvD,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACvD,CAAC"}
|