@ssgoi/core 2.5.5 → 3.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 (68) hide show
  1. package/dist/animator/animate/css-runner.d.ts +17 -0
  2. package/dist/animator/animate/css-runner.d.ts.map +1 -0
  3. package/dist/animator/animate/index.d.ts +42 -0
  4. package/dist/animator/animate/index.d.ts.map +1 -0
  5. package/dist/animator/animate/tick-runner.d.ts +16 -0
  6. package/dist/animator/animate/tick-runner.d.ts.map +1 -0
  7. package/dist/animator/animate/types.d.ts +31 -0
  8. package/dist/animator/animate/types.d.ts.map +1 -0
  9. package/dist/animator/animation.d.ts +57 -0
  10. package/dist/animator/animation.d.ts.map +1 -0
  11. package/dist/animator/index.d.ts +34 -33
  12. package/dist/animator/index.d.ts.map +1 -1
  13. package/dist/animator/multi-animator.d.ts +98 -0
  14. package/dist/animator/multi-animator.d.ts.map +1 -0
  15. package/dist/animator/spring-core.d.ts +63 -0
  16. package/dist/animator/spring-core.d.ts.map +1 -0
  17. package/dist/index.cjs +2 -2
  18. package/dist/index.js +700 -818
  19. package/dist/ssgoi-transition/create-ssgoi-transition-context.d.ts.map +1 -1
  20. package/dist/ssgoi-transition/create-swipe-detector.d.ts +1 -0
  21. package/dist/ssgoi-transition/create-swipe-detector.d.ts.map +1 -1
  22. package/dist/transition/create-transition-callback.d.ts +2 -2
  23. package/dist/transition/create-transition-callback.d.ts.map +1 -1
  24. package/dist/transition/transition-strategy.d.ts +28 -17
  25. package/dist/transition/transition-strategy.d.ts.map +1 -1
  26. package/dist/transition/transition.d.ts +2 -18
  27. package/dist/transition/transition.d.ts.map +1 -1
  28. package/dist/transitions/blur.d.ts +5 -5
  29. package/dist/transitions/blur.d.ts.map +1 -1
  30. package/dist/transitions/bounce.d.ts +5 -5
  31. package/dist/transitions/bounce.d.ts.map +1 -1
  32. package/dist/transitions/fade.d.ts +5 -5
  33. package/dist/transitions/fade.d.ts.map +1 -1
  34. package/dist/transitions/fly.d.ts +5 -5
  35. package/dist/transitions/fly.d.ts.map +1 -1
  36. package/dist/transitions/index.cjs +1 -1
  37. package/dist/transitions/index.js +206 -207
  38. package/dist/transitions/mask.d.ts +5 -5
  39. package/dist/transitions/mask.d.ts.map +1 -1
  40. package/dist/transitions/none.d.ts +3 -3
  41. package/dist/transitions/none.d.ts.map +1 -1
  42. package/dist/transitions/rotate.d.ts +5 -5
  43. package/dist/transitions/rotate.d.ts.map +1 -1
  44. package/dist/transitions/scale.d.ts +5 -5
  45. package/dist/transitions/scale.d.ts.map +1 -1
  46. package/dist/transitions/slide.d.ts +5 -5
  47. package/dist/transitions/slide.d.ts.map +1 -1
  48. package/dist/types.cjs +1 -1
  49. package/dist/types.d.ts +142 -102
  50. package/dist/types.d.ts.map +1 -1
  51. package/dist/types.js +69 -6
  52. package/dist/view-transitions/blind.d.ts +0 -1
  53. package/dist/view-transitions/blind.d.ts.map +1 -1
  54. package/dist/view-transitions/drill.d.ts.map +1 -1
  55. package/dist/view-transitions/fade.d.ts.map +1 -1
  56. package/dist/view-transitions/hero.d.ts.map +1 -1
  57. package/dist/view-transitions/index.cjs +13 -13
  58. package/dist/view-transitions/index.js +499 -492
  59. package/dist/view-transitions/scroll.d.ts.map +1 -1
  60. package/dist/view-transitions/slide.d.ts.map +1 -1
  61. package/dist/view-transitions/strip.d.ts.map +1 -1
  62. package/package.json +1 -1
  63. package/dist/animator/animate.d.ts +0 -35
  64. package/dist/animator/animate.d.ts.map +0 -1
  65. package/dist/animator/animation-scheduler.d.ts +0 -47
  66. package/dist/animator/animation-scheduler.d.ts.map +0 -1
  67. package/dist/test-utils.d.ts +0 -46
  68. package/dist/test-utils.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG9D,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAChC;AAOD,eAAO,MAAM,MAAM,GAAI,UAAS,aAAkB,KAAG,eA4FpD,CAAC"}
1
+ {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG9D,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAChC;AAOD,eAAO,MAAM,MAAM,GAAI,UAAS,aAAkB,KAAG,eAuGpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"slide.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/slide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG9D,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAChC;AAOD,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eAyClD,CAAC"}
1
+ {"version":3,"file":"slide.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/slide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAG3E,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAChC;AAOD,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eAuDlD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"strip.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/strip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAOhD,eAAO,MAAM,KAAK,QAAO,eA0DxB,CAAC"}
1
+ {"version":3,"file":"strip.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/strip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAO7D,eAAO,MAAM,KAAK,QAAO,eA6ExB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ssgoi/core",
3
- "version": "2.5.5",
3
+ "version": "3.0.0",
4
4
  "description": "Core animation engine for SSGOI - Native app-like page transitions with spring physics",
5
5
  "private": false,
6
6
  "type": "module",
@@ -1,35 +0,0 @@
1
- /**
2
- * Custom spring animation implementation (replacing popmotion)
3
- * Interface-compatible with popmotion's animate function
4
- * Uses optimized semi-implicit Euler method (Allen Chou's approach)
5
- */
6
- export interface AnimateOptions {
7
- from: number;
8
- to: number;
9
- stiffness: number;
10
- damping: number;
11
- mass: number;
12
- velocity?: number;
13
- onUpdate: (value: number) => void;
14
- onComplete: () => void;
15
- }
16
- export interface AnimationControls {
17
- stop: () => void;
18
- }
19
- /**
20
- * Spring-based animation using optimized semi-implicit Euler
21
- * Based on Allen Chou's implementation for stability and performance
22
- *
23
- * Instead of computing F = -k(x-xt) - d*v, then a = F/m,
24
- * we use angular frequency (omega) and damping ratio (zeta):
25
- * - omega = sqrt(k/m) - angular frequency
26
- * - zeta = d/(2*sqrt(k*m)) - damping ratio
27
- *
28
- * Semi-implicit Euler update:
29
- * v += -2*h*zeta*omega*v + h*omega^2*(xt - x)
30
- * x += h*v
31
- *
32
- * This formulation is more stable and efficient than the naive approach.
33
- */
34
- export declare function animate(options: AnimateOptions): AnimationControls;
35
- //# sourceMappingURL=animate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["../../src/lib/animator/animate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAgFlE"}
@@ -1,47 +0,0 @@
1
- import { MultiSpringConfig, AnimationController, AnimationState } from '../types';
2
- /**
3
- * AnimationScheduler - Coordinates multiple spring animations
4
- *
5
- * Manages the lifecycle and timing of multiple spring animations.
6
- * Supports three scheduling strategies:
7
- * - overlap: All springs start immediately (parallel)
8
- * - wait: Each spring waits for previous to complete (sequential)
9
- * - chain: Springs start with offset delays
10
- *
11
- * Note: getCurrentState() always returns MultiAnimationState (number-based progress)
12
- */
13
- export declare class AnimationScheduler<TAnimationValue = number> implements AnimationController<number> {
14
- private config;
15
- private animators;
16
- private springOrder;
17
- private completedCount;
18
- private completedAnimators;
19
- private direction;
20
- private idCounter;
21
- private timeoutIds;
22
- constructor(config: MultiSpringConfig<TAnimationValue>);
23
- private generateId;
24
- private initializeAnimators;
25
- /**
26
- * Normalize schedule configuration to unified internal representation
27
- * Uses discriminated union and early return pattern
28
- *
29
- * @param direction - "forward" or "backward" direction
30
- */
31
- private normalizeSchedule;
32
- private onAnimatorComplete;
33
- /**
34
- * Handle wait mode chaining: start next/previous spring after completion
35
- */
36
- private handleWaitModeChaining;
37
- private startAnimator;
38
- private startBackwardAnimator;
39
- forward(): void;
40
- backward(): void;
41
- stop(): void;
42
- reverse(options?: {
43
- offsetMode?: "immediate" | "mirror" | "reverse";
44
- }): void;
45
- getCurrentState(): AnimationState<number>;
46
- }
47
- //# sourceMappingURL=animation-scheduler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animation-scheduler.d.ts","sourceRoot":"","sources":["../../src/lib/animator/animation-scheduler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EAGjB,mBAAmB,EACnB,cAAc,EACf,MAAM,UAAU,CAAC;AAYlB;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB,CAAC,eAAe,GAAG,MAAM,CACtD,YAAW,mBAAmB,CAAC,MAAM,CAAC;IAEtC,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,SAAS,CAA0D;IAC3E,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAgB;gBAEtB,MAAM,EAAE,iBAAiB,CAAC,eAAe,CAAC;IAKtD,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,mBAAmB;IAsB3B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IA+EzB,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkC9B,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,IAAI,IAAI;IAiCf,QAAQ,IAAI,IAAI;IAiChB,IAAI,IAAI,IAAI;IAYZ,OAAO,CAAC,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;KAAE,GAAG,IAAI;IAoD5E,eAAe,IAAI,cAAc,CAAC,MAAM,CAAC;CAQ1C"}
@@ -1,46 +0,0 @@
1
- import { SpringConfig, SpringItem } from './types';
2
- import { Animator } from './animator';
3
- /**
4
- * Mock timer utilities for testing animations
5
- */
6
- export declare const mockTimers: {
7
- setup: () => void;
8
- cleanup: () => void;
9
- advance: (ms: number) => void;
10
- runAll: () => void;
11
- };
12
- /**
13
- * Create a mock spring item for testing
14
- */
15
- export declare function createMockSpringItem(overrides?: Partial<SpringItem>): SpringItem;
16
- /**
17
- * Create a mock spring config
18
- */
19
- export declare function createMockSpringConfig(overrides?: Partial<SpringConfig>): SpringConfig;
20
- /**
21
- * Wait for all animators to complete
22
- * Uses real timers and RAF polling
23
- */
24
- export declare function waitForAnimation(timeout?: number): Promise<void>;
25
- /**
26
- * Spy on console methods
27
- */
28
- export declare const consoleSpy: {
29
- warn: () => import('vitest').MockInstance<{
30
- (...data: any[]): void;
31
- (message?: any, ...optionalParams: any[]): void;
32
- }>;
33
- error: () => import('vitest').MockInstance<{
34
- (...data: any[]): void;
35
- (message?: any, ...optionalParams: any[]): void;
36
- }>;
37
- log: () => import('vitest').MockInstance<{
38
- (...data: any[]): void;
39
- (message?: any, ...optionalParams: any[]): void;
40
- }>;
41
- };
42
- /**
43
- * Mock Animator for testing without real animation
44
- */
45
- export declare function createMockAnimator(): Animator;
46
- //# sourceMappingURL=test-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../src/lib/test-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,UAAU;;;kBAQP,MAAM;;CAMrB,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,GAAE,OAAO,CAAC,UAAU,CAAM,GAClC,UAAU,CAWZ;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,GAAE,OAAO,CAAC,YAAY,CAAM,GACpC,YAAY,CAMd;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAcpE;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAItB,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAaF,QAAQ,CACvC"}