@ssgoi/core 3.5.0 → 4.1.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 (110) hide show
  1. package/dist/animator/integrator/double-spring-integrator.d.ts +31 -0
  2. package/dist/animator/integrator/double-spring-integrator.d.ts.map +1 -0
  3. package/dist/animator/integrator/index.d.ts +13 -0
  4. package/dist/animator/integrator/index.d.ts.map +1 -0
  5. package/dist/animator/integrator/inertia-integrator.d.ts +34 -0
  6. package/dist/animator/integrator/inertia-integrator.d.ts.map +1 -0
  7. package/dist/animator/integrator/provider.d.ts +22 -0
  8. package/dist/animator/integrator/provider.d.ts.map +1 -0
  9. package/dist/animator/integrator/spring-integrator.d.ts +19 -0
  10. package/dist/animator/integrator/spring-integrator.d.ts.map +1 -0
  11. package/dist/animator/integrator/types.d.ts +34 -0
  12. package/dist/animator/integrator/types.d.ts.map +1 -0
  13. package/dist/animator/multi-animator.d.ts +18 -13
  14. package/dist/animator/multi-animator.d.ts.map +1 -1
  15. package/dist/animator/{animate → runner}/css-runner.d.ts +2 -2
  16. package/dist/animator/runner/css-runner.d.ts.map +1 -0
  17. package/dist/animator/runner/provider.d.ts +35 -0
  18. package/dist/animator/runner/provider.d.ts.map +1 -0
  19. package/dist/animator/{animate → runner}/tick-runner.d.ts +2 -2
  20. package/dist/animator/runner/tick-runner.d.ts.map +1 -0
  21. package/dist/animator/runner/ticker.d.ts.map +1 -0
  22. package/dist/animator/{animate → runner}/types.d.ts +6 -3
  23. package/dist/animator/runner/types.d.ts.map +1 -0
  24. package/dist/animator/{index.d.ts → single-animator.d.ts} +22 -12
  25. package/dist/animator/single-animator.d.ts.map +1 -0
  26. package/dist/animator/{animation.d.ts → types.d.ts} +2 -2
  27. package/dist/animator/types.d.ts.map +1 -0
  28. package/dist/index.cjs +1 -1
  29. package/dist/index.js +552 -569
  30. package/dist/provider-Cs5iBqRD.cjs +1 -0
  31. package/dist/provider-Cu4NSF1Q.js +167 -0
  32. package/dist/transition/create-transition-callback.d.ts.map +1 -1
  33. package/dist/transition/transition-strategy.d.ts +8 -8
  34. package/dist/transition/transition-strategy.d.ts.map +1 -1
  35. package/dist/transitions/blur.d.ts +4 -4
  36. package/dist/transitions/blur.d.ts.map +1 -1
  37. package/dist/transitions/bounce.d.ts +4 -4
  38. package/dist/transitions/bounce.d.ts.map +1 -1
  39. package/dist/transitions/fade.d.ts +4 -4
  40. package/dist/transitions/fade.d.ts.map +1 -1
  41. package/dist/transitions/index.cjs +1 -1
  42. package/dist/transitions/index.d.ts +5 -0
  43. package/dist/transitions/index.d.ts.map +1 -1
  44. package/dist/transitions/index.js +141 -191
  45. package/dist/transitions/rotate.d.ts +4 -4
  46. package/dist/transitions/rotate.d.ts.map +1 -1
  47. package/dist/transitions/scale.d.ts +4 -4
  48. package/dist/transitions/scale.d.ts.map +1 -1
  49. package/dist/transitions/slide.d.ts +4 -4
  50. package/dist/transitions/slide.d.ts.map +1 -1
  51. package/dist/transitions/utils.d.ts +8 -0
  52. package/dist/transitions/utils.d.ts.map +1 -0
  53. package/dist/types.cjs +1 -1
  54. package/dist/types.d.ts +124 -38
  55. package/dist/types.d.ts.map +1 -1
  56. package/dist/types.js +41 -48
  57. package/dist/utils/index.d.ts +1 -0
  58. package/dist/utils/index.d.ts.map +1 -1
  59. package/dist/utils/wait-paint.d.ts +15 -0
  60. package/dist/utils/wait-paint.d.ts.map +1 -0
  61. package/dist/view-transitions/blind.d.ts +2 -3
  62. package/dist/view-transitions/blind.d.ts.map +1 -1
  63. package/dist/view-transitions/curtain-reveal.d.ts +2 -3
  64. package/dist/view-transitions/curtain-reveal.d.ts.map +1 -1
  65. package/dist/view-transitions/depth.d.ts +2 -2
  66. package/dist/view-transitions/depth.d.ts.map +1 -1
  67. package/dist/view-transitions/drill.d.ts +2 -2
  68. package/dist/view-transitions/drill.d.ts.map +1 -1
  69. package/dist/view-transitions/fade.d.ts +2 -3
  70. package/dist/view-transitions/fade.d.ts.map +1 -1
  71. package/dist/view-transitions/film.d.ts +2 -1
  72. package/dist/view-transitions/film.d.ts.map +1 -1
  73. package/dist/view-transitions/hero.d.ts +2 -2
  74. package/dist/view-transitions/hero.d.ts.map +1 -1
  75. package/dist/view-transitions/index.cjs +19 -19
  76. package/dist/view-transitions/index.d.ts +1 -0
  77. package/dist/view-transitions/index.d.ts.map +1 -1
  78. package/dist/view-transitions/index.js +874 -869
  79. package/dist/view-transitions/instagram.d.ts +2 -2
  80. package/dist/view-transitions/instagram.d.ts.map +1 -1
  81. package/dist/view-transitions/jaemin.d.ts +2 -2
  82. package/dist/view-transitions/jaemin.d.ts.map +1 -1
  83. package/dist/view-transitions/pinterest.d.ts +2 -2
  84. package/dist/view-transitions/pinterest.d.ts.map +1 -1
  85. package/dist/view-transitions/rotate.d.ts +5 -2
  86. package/dist/view-transitions/rotate.d.ts.map +1 -1
  87. package/dist/view-transitions/scroll.d.ts +2 -2
  88. package/dist/view-transitions/scroll.d.ts.map +1 -1
  89. package/dist/view-transitions/sheet.d.ts +2 -2
  90. package/dist/view-transitions/sheet.d.ts.map +1 -1
  91. package/dist/view-transitions/slide.d.ts +2 -2
  92. package/dist/view-transitions/slide.d.ts.map +1 -1
  93. package/dist/view-transitions/snap.d.ts +14 -0
  94. package/dist/view-transitions/snap.d.ts.map +1 -0
  95. package/dist/view-transitions/strip.d.ts +6 -2
  96. package/dist/view-transitions/strip.d.ts.map +1 -1
  97. package/dist/view-transitions/swap.d.ts +2 -2
  98. package/dist/view-transitions/swap.d.ts.map +1 -1
  99. package/package.json +1 -1
  100. package/dist/animator/animate/css-runner.d.ts.map +0 -1
  101. package/dist/animator/animate/index.d.ts +0 -42
  102. package/dist/animator/animate/index.d.ts.map +0 -1
  103. package/dist/animator/animate/tick-runner.d.ts.map +0 -1
  104. package/dist/animator/animate/types.d.ts.map +0 -1
  105. package/dist/animator/animation.d.ts.map +0 -1
  106. package/dist/animator/index.d.ts.map +0 -1
  107. package/dist/animator/spring-core.d.ts +0 -82
  108. package/dist/animator/spring-core.d.ts.map +0 -1
  109. package/dist/animator/ticker.d.ts.map +0 -1
  110. /package/dist/animator/{ticker.d.ts → runner/ticker.d.ts} +0 -0
package/dist/types.d.ts CHANGED
@@ -1,4 +1,13 @@
1
+ import { Integrator } from './animator/integrator';
1
2
  export type TransitionKey = string | symbol;
3
+ /**
4
+ * Double spring follower configuration
5
+ * Allows customizing the follower spring independently
6
+ */
7
+ export type DoubleSpringFollowerConfig = {
8
+ stiffness: number;
9
+ damping: number;
10
+ };
2
11
  export type SpringConfig = {
3
12
  stiffness: number;
4
13
  damping: number;
@@ -10,12 +19,91 @@ export type SpringConfig = {
10
19
  * - 1.0: same as true
11
20
  * - 0.5: follower has half stiffness → stronger ease-in
12
21
  * - 0.3: even stronger ease-in
22
+ * - { stiffness, damping }: custom follower spring config
13
23
  *
14
24
  * Creates a two-spring system:
15
25
  * - Leader spring: tracks the target directly
16
26
  * - Follower spring: tracks the leader's position (this is the output)
17
27
  */
18
- doubleSpring?: boolean | number;
28
+ doubleSpring?: boolean | number | DoubleSpringFollowerConfig;
29
+ /**
30
+ * Position threshold for settling detection
31
+ * When distance to target is below this, position is considered settled
32
+ * @default 0.01
33
+ */
34
+ restDelta?: number;
35
+ /**
36
+ * Velocity threshold for settling detection
37
+ * When speed is below this, velocity is considered settled
38
+ * @default 0.01
39
+ */
40
+ restSpeed?: number;
41
+ };
42
+ /**
43
+ * Resistance type for inertia physics
44
+ * - linear: resistance proportional to velocity (F = -r * v)
45
+ * - quadratic: resistance proportional to velocity squared (F = -r * v²)
46
+ */
47
+ export type ResistanceType = "linear" | "quadratic";
48
+ /**
49
+ * Inertia configuration for ease-in effect
50
+ * Simulates acceleration with resistance
51
+ */
52
+ export type InertiaConfig = {
53
+ /** Acceleration force (higher = faster acceleration) */
54
+ acceleration: number;
55
+ /** Resistance coefficient (higher = more resistance) */
56
+ resistance: number;
57
+ /** Resistance type (default: 'quadratic') */
58
+ resistanceType?: ResistanceType;
59
+ /**
60
+ * Minimum boundary value
61
+ * When position goes below this, spring bounce is applied
62
+ */
63
+ min?: number;
64
+ /**
65
+ * Maximum boundary value
66
+ * When position goes above this, spring bounce is applied
67
+ */
68
+ max?: number;
69
+ /**
70
+ * Spring stiffness for boundary bounce effect
71
+ * Higher value = stiffer bounce
72
+ * @default 500
73
+ */
74
+ bounceStiffness?: number;
75
+ /**
76
+ * Spring damping for boundary bounce effect
77
+ * Higher value = faster settling
78
+ * @default 10
79
+ */
80
+ bounceDamping?: number;
81
+ /**
82
+ * Position threshold for settling detection
83
+ * When distance to target is below this, position is considered settled
84
+ * @default 0.01
85
+ */
86
+ restDelta?: number;
87
+ };
88
+ /**
89
+ * Custom integrator factory function
90
+ * Allows using custom physics implementations
91
+ */
92
+ export type IntegratorFactory = () => Integrator;
93
+ /**
94
+ * Physics options for animations
95
+ * Use with & to add physics options to any config type
96
+ *
97
+ * @example
98
+ * type FadeOptions = { from?: number; to?: number } & PhysicsOptions;
99
+ */
100
+ export type PhysicsOptions = {
101
+ /** Spring physics (ease-out) */
102
+ spring?: SpringConfig;
103
+ /** Inertia physics (ease-in) */
104
+ inertia?: InertiaConfig;
105
+ /** Custom integrator factory */
106
+ integrator?: IntegratorFactory;
19
107
  };
20
108
  /**
21
109
  * CSS style object type
@@ -32,7 +120,7 @@ export type ScheduleType = "parallel" | "sequential" | "stagger";
32
120
  * Base configuration shared by both single and multi-spring transitions
33
121
  */
34
122
  export type BaseTransitionConfig = {
35
- prepare?: (element: HTMLElement) => void;
123
+ prepare?: () => void;
36
124
  wait?: () => Promise<void>;
37
125
  onStart?: () => void;
38
126
  onEnd?: () => void;
@@ -46,7 +134,11 @@ export type BaseTransitionConfig = {
46
134
  * - css: Web Animation API with CSS string generation
47
135
  */
48
136
  export type SingleSpringConfig = BaseTransitionConfig & {
49
- spring?: SpringConfig;
137
+ /**
138
+ * Physics configuration for animation
139
+ * Choose one: spring (ease-out), inertia (ease-in), or custom integrator
140
+ */
141
+ physics?: PhysicsOptions;
50
142
  tick?: (progress: number) => void;
51
143
  /**
52
144
  * Style generator for Web Animation API mode
@@ -68,14 +160,18 @@ export type SingleSpringConfig = BaseTransitionConfig & {
68
160
  css?: (progress: number) => StyleObject;
69
161
  };
70
162
  /**
71
- * Individual spring item in a multi-spring animation
163
+ * Individual animation item in a multi-animation config
72
164
  *
73
165
  * Supports two animation modes (mutually exclusive):
74
166
  * - tick: RAF-based animation with callback on each frame
75
167
  * - css: Web Animation API with CSS string generation
76
168
  */
77
- export type SpringItem = {
78
- spring?: SpringConfig;
169
+ export type AnimationItem = {
170
+ /**
171
+ * Physics configuration for animation
172
+ * Choose one: spring (ease-out), inertia (ease-in), or custom integrator
173
+ */
174
+ physics?: PhysicsOptions;
79
175
  /**
80
176
  * Frame callback - called on each animation frame with progress value (RAF-based)
81
177
  *
@@ -136,27 +232,27 @@ export type SpringItem = {
136
232
  offset?: number;
137
233
  };
138
234
  /**
139
- * Multi-spring configuration
235
+ * Multi-animation configuration
140
236
  * Used for complex transitions with multiple coordinated animations
141
237
  */
142
- export type MultiSpringConfig = BaseTransitionConfig & {
143
- springs: SpringItem[];
238
+ export type MultiAnimationConfig = BaseTransitionConfig & {
239
+ items: AnimationItem[];
144
240
  schedule?: ScheduleType;
145
241
  onProgress?: (completed: number, total: number) => void;
146
242
  };
147
243
  /**
148
- * Transition configuration - supports both single and multi-spring animations
244
+ * Transition configuration - supports both single and multi animations
149
245
  * Uses Union Type for type safety and backward compatibility
150
246
  */
151
- export type TransitionConfig = SingleSpringConfig | MultiSpringConfig;
247
+ export type TransitionConfig = SingleSpringConfig | MultiAnimationConfig;
152
248
  /**
153
- * Type guard to check if config is single spring
249
+ * Type guard to check if config is single animation
154
250
  */
155
- export declare function isSingleSpring(config: TransitionConfig): config is SingleSpringConfig;
251
+ export declare function isSingleAnimation(config: TransitionConfig): config is SingleSpringConfig;
156
252
  /**
157
- * Type guard to check if config is multi-spring
253
+ * Type guard to check if config is multi-animation
158
254
  */
159
- export declare function isMultiSpring(config: TransitionConfig): config is MultiSpringConfig;
255
+ export declare function isMultiAnimation(config: TransitionConfig): config is MultiAnimationConfig;
160
256
  /**
161
257
  * Type guard to check if config uses CSS mode (Web Animation API)
162
258
  */
@@ -170,22 +266,12 @@ export declare function isTickAnimation(config: SingleSpringConfig): config is S
170
266
  tick: (progress: number) => void;
171
267
  };
172
268
  /**
173
- * Validate that config doesn't have both tick and css defined
174
- * @throws Error if both tick and css are defined
175
- */
176
- export declare function validateAnimationMode(config: SingleSpringConfig): void;
177
- /**
178
- * Validate SpringItem doesn't have both tick and css defined
179
- * @throws Error if both tick and css are defined
180
- */
181
- export declare function validateSpringItem(item: SpringItem): void;
182
- /**
183
- * Normalize TransitionConfig to MultiSpringConfig
184
- * Converts SingleSpringConfig to MultiSpringConfig with single spring item
269
+ * Normalize TransitionConfig to MultiAnimationConfig
270
+ * Converts SingleSpringConfig to MultiAnimationConfig with single animation item
185
271
  * Accepts both sync config and Promise<TransitionConfig>
186
272
  * @internal
187
273
  */
188
- export declare function normalizeToMultiSpring(config: TransitionConfig | Promise<TransitionConfig>): Promise<MultiSpringConfig>;
274
+ export declare function normalizeToMultiAnimation(config: TransitionConfig | Promise<TransitionConfig>): Promise<MultiAnimationConfig>;
189
275
  export type GetTransitionConfig<TContext = undefined> = TContext extends undefined ? (node: HTMLElement) => TransitionConfig | Promise<TransitionConfig> : (node: HTMLElement, context: TContext) => TransitionConfig | Promise<TransitionConfig>;
190
276
  export type Transition<TContext = undefined> = {
191
277
  in?: GetTransitionConfig<TContext>;
@@ -320,12 +406,12 @@ export type NormalizedScheduleEntry = {
320
406
  offset: number;
321
407
  };
322
408
  /**
323
- * Normalized spring item for internal use
409
+ * Normalized animation item for internal use
324
410
  * - css is always in object form: { element, style }
325
411
  * - normalizedOffset is always present
326
412
  * @internal
327
413
  */
328
- export type NormalizedSpringItem = Omit<SpringItem, "css" | "offset"> & {
414
+ export type NormalizedAnimationItem = Omit<AnimationItem, "css" | "offset"> & {
329
415
  css?: {
330
416
  element: HTMLElement;
331
417
  style: (progress: number) => StyleObject;
@@ -333,26 +419,26 @@ export type NormalizedSpringItem = Omit<SpringItem, "css" | "offset"> & {
333
419
  normalizedOffset: number;
334
420
  };
335
421
  /**
336
- * Normalized multi-spring config for internal use
422
+ * Normalized multi-animation config for internal use
337
423
  * Schedule is always normalized to progress-based offsets
338
424
  * @internal
339
425
  */
340
- export type NormalizedMultiSpringConfig = Omit<MultiSpringConfig, "springs" | "schedule"> & {
341
- springs: NormalizedSpringItem[];
426
+ export type NormalizedMultiAnimationConfig = Omit<MultiAnimationConfig, "items" | "schedule"> & {
427
+ items: NormalizedAnimationItem[];
342
428
  };
343
429
  /**
344
- * Normalize MultiSpringConfig schedule to progress-based offsets
430
+ * Normalize MultiAnimationConfig schedule to progress-based offsets
345
431
  *
346
432
  * Converts user-facing schedule types to unified offset values:
347
- * - parallel: All springs get offset 0 (start together)
348
- * - sequential: All springs get offset 1 (wait for previous)
349
- * - stagger: Use each spring's custom offset (0-1)
433
+ * - parallel: All items get offset 0 (start together)
434
+ * - sequential: All items get offset 1 (wait for previous)
435
+ * - stagger: Use each item's custom offset (0-1)
350
436
  *
351
437
  * Also normalizes css to object form: { element, style }
352
438
  *
353
439
  * @internal
354
440
  */
355
- export declare function normalizeMultiSpringSchedule(config: MultiSpringConfig, element?: HTMLElement): NormalizedMultiSpringConfig;
441
+ export declare function normalizeSchedule(config: MultiAnimationConfig, element?: HTMLElement): NormalizedMultiAnimationConfig;
356
442
  /**
357
443
  * Animation state
358
444
  * For MultiAnimator: returns first animator's state
@@ -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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"}
package/dist/types.js CHANGED
@@ -1,77 +1,70 @@
1
- function S(n) {
2
- return ("tick" in n || "css" in n) && !("springs" in n);
1
+ function p(t) {
2
+ return ("tick" in t || "css" in t) && !("items" in t);
3
3
  }
4
- function u(n) {
5
- return "springs" in n;
4
+ function u(t) {
5
+ return "items" in t;
6
6
  }
7
- function p(n) {
8
- return "css" in n && typeof n.css == "function";
7
+ function f(t) {
8
+ return "css" in t && typeof t.css == "function";
9
9
  }
10
- function d(n) {
11
- return "tick" in n && typeof n.tick == "function";
10
+ function h(t) {
11
+ return "tick" in t && typeof t.tick == "function";
12
12
  }
13
- function f(n) {
14
- if (p(n) && d(n))
15
- throw new Error(
16
- "SingleSpringConfig cannot have both 'tick' and 'css' defined. Use one or the other."
17
- );
18
- }
19
- function h(n) {
20
- if (n.tick && n.css)
21
- throw new Error(
22
- "SpringItem cannot have both 'tick' and 'css' defined. Use one or the other."
23
- );
24
- }
25
- async function k(n) {
26
- const e = await n;
27
- return u(e) ? (e.springs.forEach(h), e) : (f(e), {
13
+ async function k(t) {
14
+ const e = await t;
15
+ return u(e) ? {
28
16
  prepare: e.prepare,
29
17
  wait: e.wait,
30
18
  onStart: e.onStart,
31
19
  onEnd: e.onEnd,
32
- springs: [
20
+ items: e.items,
21
+ schedule: e.schedule
22
+ } : {
23
+ prepare: e.prepare,
24
+ wait: e.wait,
25
+ onStart: e.onStart,
26
+ onEnd: e.onEnd,
27
+ items: [
33
28
  {
34
- spring: e.spring,
29
+ physics: e.physics,
35
30
  tick: e.tick,
36
31
  css: e.css
37
32
  }
38
33
  ],
39
34
  schedule: "parallel"
40
- });
35
+ };
41
36
  }
42
- function w(n, e) {
43
- const r = n.schedule ?? "parallel", o = n.springs.map(
44
- (s) => {
45
- let t;
46
- switch (r) {
37
+ function y(t, e) {
38
+ const a = t.schedule ?? "parallel", r = t.items.map(
39
+ (i) => {
40
+ let n;
41
+ switch (a) {
47
42
  case "parallel":
48
- t = 0;
43
+ n = 0;
49
44
  break;
50
45
  case "sequential":
51
- t = 1;
46
+ n = 1;
52
47
  break;
53
48
  case "stagger":
54
- t = Math.max(0, Math.min(1, s.offset ?? 0));
49
+ n = Math.max(0, Math.min(1, i.offset ?? 0));
55
50
  break;
56
51
  default:
57
- t = 0;
52
+ n = 0;
58
53
  }
59
- const { css: i, offset: m, ...c } = s, l = i ? typeof i == "function" ? e ? { element: e, style: i } : void 0 : { element: i.element, style: i.style } : void 0;
60
- return { ...c, css: l, normalizedOffset: t };
54
+ const { css: s, offset: d, ...c } = i, l = s ? typeof s == "function" ? e ? { element: e, style: s } : void 0 : { element: s.element, style: s.style } : void 0;
55
+ return { ...c, css: l, normalizedOffset: n };
61
56
  }
62
- ), { schedule: g, ...a } = n;
57
+ ), { schedule: m, ...o } = t;
63
58
  return {
64
- ...a,
65
- springs: o
59
+ ...o,
60
+ items: r
66
61
  };
67
62
  }
68
63
  export {
69
- p as isCssAnimation,
70
- u as isMultiSpring,
71
- S as isSingleSpring,
72
- d as isTickAnimation,
73
- w as normalizeMultiSpringSchedule,
74
- k as normalizeToMultiSpring,
75
- f as validateAnimationMode,
76
- h as validateSpringItem
64
+ f as isCssAnimation,
65
+ u as isMultiAnimation,
66
+ p as isSingleAnimation,
67
+ h as isTickAnimation,
68
+ y as normalizeSchedule,
69
+ k as normalizeToMultiAnimation
77
70
  };
@@ -5,4 +5,5 @@ export { sleep } from './sleep';
5
5
  export { getRect } from './get-rect';
6
6
  export { round, floor, ceil, toFixed } from './number';
7
7
  export { withResolvers } from './with-resolvers';
8
+ export { waitPaint } from './wait-paint';
8
9
  //# 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"}
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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Waits for the browser to complete a paint cycle.
3
+ *
4
+ * This ensures that any style changes have been applied and the element
5
+ * has been painted to the screen before starting animations.
6
+ *
7
+ * Currently uses double requestAnimationFrame as a reliable cross-browser
8
+ * approach. In the future, this could be replaced with a native API when
9
+ * available (e.g., a proposed `element.waitForPaint()` or similar).
10
+ *
11
+ * @param _element - The element to wait for (reserved for future API usage)
12
+ * @returns A promise that resolves after the paint cycle completes
13
+ */
14
+ export declare function waitPaint(_element?: Element): Promise<void>;
15
+ //# sourceMappingURL=wait-paint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-paint.d.ts","sourceRoot":"","sources":["../../src/lib/utils/wait-paint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAW3D"}
@@ -1,7 +1,6 @@
1
- import { SpringConfig, SggoiTransition } from '../types';
1
+ import { SggoiTransition, PhysicsOptions } from '../types';
2
2
  interface BlindOptions {
3
- inSpring?: SpringConfig;
4
- outSpring?: SpringConfig;
3
+ physics?: PhysicsOptions;
5
4
  transitionDelay?: number;
6
5
  blindCount?: number;
7
6
  direction?: "horizontal" | "vertical";
@@ -1 +1 @@
1
- {"version":3,"file":"blind.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/blind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAGhB,MAAM,UAAU,CAAC;AAWlB,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eAuMlD,CAAC"}
1
+ {"version":3,"file":"blind.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/blind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAGf,cAAc,EACf,MAAM,UAAU,CAAC;AAelB,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eA0MlD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { SggoiTransition, SpringConfig } from '../types';
1
+ import { SggoiTransition, PhysicsOptions } from '../types';
2
2
  type CurtainShape = "circle" | "square" | "triangle";
3
3
  interface CurtainRevealOptions {
4
4
  /** Background style.
@@ -10,9 +10,8 @@ interface CurtainRevealOptions {
10
10
  background?: string;
11
11
  texts?: string[];
12
12
  shape?: CurtainShape;
13
- inSpring?: SpringConfig;
14
- outSpring?: SpringConfig;
15
13
  textStyle?: Partial<CSSStyleDeclaration>;
14
+ physics?: PhysicsOptions;
16
15
  }
17
16
  export declare const curtainReveal: (options?: CurtainRevealOptions) => SggoiTransition;
18
17
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"curtain-reveal.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/curtain-reveal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAiD9D,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErD,UAAU,oBAAoB;IAC5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC1C;AAmBD,eAAO,MAAM,aAAa,GACxB,UAAS,oBAAyB,KACjC,eA0HF,CAAC"}
1
+ {"version":3,"file":"curtain-reveal.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/curtain-reveal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAqDhE,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErD,UAAU,oBAAoB;IAC5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAmBD,eAAO,MAAM,aAAa,GACxB,UAAS,oBAAyB,KACjC,eA6HF,CAAC"}
@@ -1,7 +1,7 @@
1
- import { SpringConfig, SggoiTransition } from '../types';
1
+ import { PhysicsOptions, SggoiTransition } from '../types';
2
2
  interface DepthOptions {
3
3
  direction?: "enter" | "exit";
4
- spring?: Partial<SpringConfig>;
4
+ physics?: PhysicsOptions;
5
5
  }
6
6
  /**
7
7
  * Material Design Z-Axis depth transition
@@ -1 +1 @@
1
- {"version":3,"file":"depth.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/depth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAGhB,MAAM,UAAU,CAAC;AAoBlB,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAChC;AAoBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eAgKlD,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;AA0BlB,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAoBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eA8JlD,CAAC"}
@@ -1,8 +1,8 @@
1
- import { SpringConfig, SggoiTransition } from '../types';
1
+ import { PhysicsOptions, SggoiTransition } from '../types';
2
2
  interface DrillOptions {
3
3
  opacity?: boolean;
4
4
  direction?: "enter" | "exit";
5
- spring?: Partial<SpringConfig>;
5
+ physics?: PhysicsOptions;
6
6
  }
7
7
  export declare const drill: (options?: DrillOptions) => SggoiTransition;
8
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"drill.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/drill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAe3E,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAChC;AAED,eAAO,MAAM,KAAK,GAAI,UAAS,YAAiB,KAAG,eAmHlD,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;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,8 +1,7 @@
1
- import { SpringConfig, SggoiTransition } from '../types';
1
+ import { SggoiTransition, PhysicsOptions } from '../types';
2
2
  interface FadeOptions {
3
- inSpring?: SpringConfig;
4
- outSpring?: SpringConfig;
5
3
  transitionDelay?: number;
4
+ physics?: PhysicsOptions;
6
5
  }
7
6
  export declare const fade: (options?: FadeOptions) => SggoiTransition;
8
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"fade.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/fade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAgB3E,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,IAAI,GAAI,UAAS,WAAgB,KAAG,eAyDhD,CAAC"}
1
+ {"version":3,"file":"fade.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/fade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAe,cAAc,EAAE,MAAM,UAAU,CAAC;AAY7E,UAAU,WAAW;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,eAAO,MAAM,IAAI,GAAI,UAAS,WAAgB,KAAG,eAwDhD,CAAC"}
@@ -1,8 +1,9 @@
1
- import { SggoiTransition } from '../types';
1
+ import { PhysicsOptions, SggoiTransition } from '../types';
2
2
  interface FilmOptions {
3
3
  border?: {
4
4
  color?: string;
5
5
  };
6
+ physics?: PhysicsOptions;
6
7
  }
7
8
  export declare const film: (options?: FilmOptions) => SggoiTransition;
8
9
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"film.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/film.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAGhB,MAAM,UAAU,CAAC;AAsBlB,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,eAAO,MAAM,IAAI,GAAI,UAAU,WAAW,KAAG,eA+J5C,CAAC"}
1
+ {"version":3,"file":"film.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/film.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EACd,eAAe,EAGhB,MAAM,UAAU,CAAC;AAsBlB,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,eAAO,MAAM,IAAI,GAAI,UAAU,WAAW,KAAG,eA+J5C,CAAC"}
@@ -1,6 +1,6 @@
1
- import { SpringConfig, SggoiTransition } from '../types';
1
+ import { SggoiTransition, PhysicsOptions } from '../types';
2
2
  interface HeroOptions {
3
- spring?: Partial<SpringConfig>;
3
+ physics?: PhysicsOptions;
4
4
  timeout?: number;
5
5
  maxDistance?: number;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/hero.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI9D,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,eAAO,MAAM,IAAI,GAAI,UAAS,WAAgB,KAAG,eA6KhD,CAAC"}
1
+ {"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["../../src/lib/view-transitions/hero.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAShE,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,eAAO,MAAM,IAAI,GAAI,UAAS,WAAgB,KAAG,eAwIhD,CAAC"}