@vysmo/text 0.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 (65) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +429 -0
  3. package/dist/animate.d.ts +28 -0
  4. package/dist/animate.d.ts.map +1 -0
  5. package/dist/animate.js +418 -0
  6. package/dist/animate.js.map +1 -0
  7. package/dist/index.d.ts +8 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +6 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/presets/emphasis.d.ts +11 -0
  12. package/dist/presets/emphasis.d.ts.map +1 -0
  13. package/dist/presets/emphasis.js +54 -0
  14. package/dist/presets/emphasis.js.map +1 -0
  15. package/dist/presets/enter.d.ts +8 -0
  16. package/dist/presets/enter.d.ts.map +1 -0
  17. package/dist/presets/enter.js +58 -0
  18. package/dist/presets/enter.js.map +1 -0
  19. package/dist/presets/exit.d.ts +5 -0
  20. package/dist/presets/exit.d.ts.map +1 -0
  21. package/dist/presets/exit.js +30 -0
  22. package/dist/presets/exit.js.map +1 -0
  23. package/dist/presets/generated.d.ts +240 -0
  24. package/dist/presets/generated.d.ts.map +1 -0
  25. package/dist/presets/generated.js +3084 -0
  26. package/dist/presets/generated.js.map +1 -0
  27. package/dist/presets/index.d.ts +15 -0
  28. package/dist/presets/index.d.ts.map +1 -0
  29. package/dist/presets/index.js +43 -0
  30. package/dist/presets/index.js.map +1 -0
  31. package/dist/properties.d.ts +10 -0
  32. package/dist/properties.d.ts.map +1 -0
  33. package/dist/properties.js +80 -0
  34. package/dist/properties.js.map +1 -0
  35. package/dist/split.d.ts +21 -0
  36. package/dist/split.d.ts.map +1 -0
  37. package/dist/split.js +171 -0
  38. package/dist/split.js.map +1 -0
  39. package/dist/stagger.d.ts +13 -0
  40. package/dist/stagger.d.ts.map +1 -0
  41. package/dist/stagger.js +53 -0
  42. package/dist/stagger.js.map +1 -0
  43. package/dist/types.d.ts +204 -0
  44. package/dist/types.d.ts.map +1 -0
  45. package/dist/types.js +2 -0
  46. package/dist/types.js.map +1 -0
  47. package/package.json +56 -0
  48. package/src/__tests__/animate.test.ts +638 -0
  49. package/src/__tests__/presets.test.ts +87 -0
  50. package/src/__tests__/properties.test.ts +62 -0
  51. package/src/__tests__/split.test.ts +140 -0
  52. package/src/__tests__/ssr.test.ts +48 -0
  53. package/src/__tests__/stagger.test.ts +47 -0
  54. package/src/__tests__/types-check.ts +80 -0
  55. package/src/animate.ts +469 -0
  56. package/src/index.ts +38 -0
  57. package/src/presets/emphasis.ts +60 -0
  58. package/src/presets/enter.ts +64 -0
  59. package/src/presets/exit.ts +33 -0
  60. package/src/presets/generated.ts +3315 -0
  61. package/src/presets/index.ts +62 -0
  62. package/src/properties.ts +78 -0
  63. package/src/split.ts +180 -0
  64. package/src/stagger.ts +55 -0
  65. package/src/types.ts +245 -0
@@ -0,0 +1,3315 @@
1
+ // AUTO-GENERATED — do not edit by hand.
2
+ // Written by `scripts/ingest-generated.mjs` from `scripts/_staging.ts`.
3
+ // Run `pnpm --filter @vysmo/text ingest` to refresh.
4
+ //
5
+ // 229 presets ingested.
6
+
7
+ import type { Preset } from "../types.js";
8
+
9
+ export const extendYScatter: Preset = {
10
+ name: "enter/extend-y-scatter",
11
+ split: "character",
12
+ stagger: 35,
13
+ animations: [
14
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "circ.out" },
15
+ { prop: "translateX", from: { min: -111.159, max: 111.159 }, to: 0, duration: 600, ease: "expo.out" },
16
+ { prop: "scaleY", from: { min: 0.08, max: 1 }, to: 1, duration: 850, ease: "back.out" },
17
+ { prop: "translateY", from: { min: -91.85, max: 91.85 }, to: 0, duration: 850, ease: "back.out" },
18
+ ],
19
+ };
20
+
21
+ export const extendXSnap: Preset = {
22
+ name: "enter/extend-x-snap",
23
+ split: "word",
24
+ stagger: 45,
25
+ animations: [
26
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "quart.out" },
27
+ { prop: "scaleX", from: 0.7, to: 1, duration: 900, ease: "expo.out", transformOrigin: { x: 0.5, y: 0.5 } },
28
+ { prop: "translateX", from: -60, to: 0, duration: 600, ease: "back.out" },
29
+ { prop: "blur", from: 9, to: 0, duration: 600, ease: "bounce.out" },
30
+ ],
31
+ };
32
+
33
+ export const tiltInSpring: Preset = {
34
+ name: "enter/tilt-in-spring",
35
+ split: "word",
36
+ stagger: 30,
37
+ staggerOrder: "random",
38
+ animations: [
39
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "elastic.out" },
40
+ { prop: "rotate", from: 30, to: 0, duration: 800, ease: "elastic.out" },
41
+ ],
42
+ };
43
+
44
+ export const leanInSpring: Preset = {
45
+ name: "enter/lean-in-spring",
46
+ split: "character",
47
+ stagger: 40,
48
+ staggerOrder: "end",
49
+ perspective: 1100,
50
+ animations: [
51
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "expo.out" },
52
+ { prop: "translateZ", from: -150, to: 0, duration: 750, ease: "quart.out" },
53
+ { prop: "rotate", from: 30, to: 0, duration: 850, ease: "elastic.out" },
54
+ { prop: "scaleX", from: 1.4, to: 1, duration: 800, ease: "bounce.out" },
55
+ ],
56
+ };
57
+
58
+ export const expandSnap: Preset = {
59
+ name: "enter/expand-snap",
60
+ split: "character",
61
+ stagger: 35,
62
+ animations: [
63
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "circ.out" },
64
+ { prop: "translateX", from: 70, to: 0, duration: 600, ease: "elastic.out" },
65
+ { prop: "scale", from: 0.75, to: 1, duration: 550, ease: "expo.out" },
66
+ ],
67
+ };
68
+
69
+ export const flipUpSpring: Preset = {
70
+ name: "enter/flip-up-spring",
71
+ split: "character",
72
+ stagger: 50,
73
+ staggerOrder: "edges",
74
+ perspective: 1000,
75
+ transformOrigin: { x: 0.5, y: 1 },
76
+ animations: [
77
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "elastic.out" },
78
+ { prop: "rotateY", from: -30, to: 0, duration: 850, ease: "expo.out", jitterDelay: 70, transformOrigin: { x: 0, y: 0.5 }, perspective: 1050 },
79
+ { prop: "rotateX", from: 60, to: 0, duration: 900, ease: "elastic.out" },
80
+ ],
81
+ };
82
+
83
+ export const slideScatter: Preset = {
84
+ name: "enter/slide-scatter",
85
+ split: "character",
86
+ stagger: 50,
87
+ animations: [
88
+ { prop: "opacity", from: 0, to: 1, duration: 600, ease: "quart.out" },
89
+ { prop: "translateX", from: 30, to: 0, duration: 800, ease: "sine.out" },
90
+ { prop: "skewX", from: { min: -16.561, max: 16.561 }, to: 0, duration: 550, ease: "power4.out" },
91
+ ],
92
+ };
93
+
94
+ export const soarSwarm: Preset = {
95
+ name: "enter/soar-swarm",
96
+ split: "character",
97
+ stagger: 55,
98
+ staggerOrder: "random",
99
+ animations: [
100
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "back.out" },
101
+ { prop: "translateY", from: -60, to: 0, duration: 650, ease: "power4.out" },
102
+ { prop: "blur", from: 10, to: 0, duration: 450, ease: "quart.out" },
103
+ ],
104
+ };
105
+
106
+ export const tunnel: Preset = {
107
+ name: "enter/tunnel",
108
+ split: "word",
109
+ stagger: 25,
110
+ perspective: 1150,
111
+ animations: [
112
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "expo.out" },
113
+ { prop: "translateZ", from: -250, to: 0, duration: 700, ease: "sine.out" },
114
+ { prop: "translateY", from: 40, to: 0, duration: 550, ease: "expo.out" },
115
+ ],
116
+ };
117
+
118
+ export const soarBounce: Preset = {
119
+ name: "enter/soar-bounce",
120
+ split: "word",
121
+ stagger: 45,
122
+ animations: [
123
+ { prop: "opacity", from: 0, to: 1, duration: 300, ease: "back.out" },
124
+ { prop: "translateY", from: -50, to: 0, duration: 900, ease: "bounce.out" },
125
+ ],
126
+ };
127
+
128
+ export const stretchXKick: Preset = {
129
+ name: "enter/stretch-x-kick",
130
+ split: "character",
131
+ stagger: 50,
132
+ animations: [
133
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "cubic.out" },
134
+ { prop: "scaleX", from: 0.4, to: 1, duration: 800, ease: "back.out", jitterDelay: 60 },
135
+ { prop: "translateY", from: -50, to: 0, duration: 850, ease: "back.out" },
136
+ ],
137
+ };
138
+
139
+ export const slideBounce: Preset = {
140
+ name: "enter/slide-bounce",
141
+ split: "character",
142
+ stagger: 40,
143
+ staggerOrder: "end",
144
+ animations: [
145
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "sine.out" },
146
+ { prop: "translateX", from: 50, to: 0, duration: 800, ease: "bounce.out", jitterDelay: 40 },
147
+ ],
148
+ };
149
+
150
+ export const stretchXScatter: Preset = {
151
+ name: "enter/stretch-x-scatter",
152
+ split: "character",
153
+ stagger: 20,
154
+ staggerOrder: "end",
155
+ animations: [
156
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "sine.out" },
157
+ { prop: "scaleX", from: { min: 0.1, max: 1.25 }, to: 1, duration: 600, ease: "quart.out", transformOrigin: { x: 0.5, y: 1 } },
158
+ { prop: "translateY", from: -60, to: 0, duration: 550, ease: "back.out" },
159
+ ],
160
+ };
161
+
162
+ export const glideScatter: Preset = {
163
+ name: "enter/glide-scatter",
164
+ split: "word",
165
+ stagger: 35,
166
+ animations: [
167
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "quart.out" },
168
+ { prop: "translateX", from: { min: -101.332, max: 101.332 }, to: 0, duration: 700, ease: "elastic.out" },
169
+ ],
170
+ };
171
+
172
+ export const growScatter: Preset = {
173
+ name: "enter/grow-scatter",
174
+ split: "character",
175
+ stagger: 50,
176
+ staggerOrder: "end",
177
+ animations: [
178
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "expo.out" },
179
+ { prop: "blur", from: { min: 2.6, max: 32.5 }, to: 0, duration: 550, ease: "elastic.out" },
180
+ { prop: "scale", from: 0.35, to: 1, duration: 750, ease: "back.out" },
181
+ { prop: "skewX", from: -15, to: 0, duration: 500, ease: "elastic.out", jitterDelay: 150 },
182
+ { prop: "translateX", from: -150, to: 0, duration: 550, ease: "circ.out" },
183
+ ],
184
+ };
185
+
186
+ export const unfurlYScatter: Preset = {
187
+ name: "enter/unfurl-y-scatter",
188
+ split: "character",
189
+ stagger: 35,
190
+ staggerOrder: "random",
191
+ animations: [
192
+ { prop: "opacity", from: 0, to: 1, duration: 300, ease: "expo.out" },
193
+ { prop: "translateY", from: -90, to: 0, duration: 750, ease: "elastic.out" },
194
+ { prop: "scaleY", from: { min: 0.3, max: 3.75 }, to: 1, duration: 500, ease: "quart.out", transformOrigin: { x: 1, y: 0.5, z: 100 } },
195
+ ],
196
+ };
197
+
198
+ export const pivotCurl: Preset = {
199
+ name: "enter/pivot-curl",
200
+ split: "character",
201
+ stagger: 55,
202
+ perspective: 650,
203
+ transformOrigin: { x: 0.5, y: 0.5 },
204
+ animations: [
205
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "sine.out" },
206
+ { prop: "scaleY", from: 0.1, to: 1, duration: 700, ease: "quart.out", transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
207
+ { prop: "rotateY", from: -420, to: 0, duration: 750, ease: "sine.out" },
208
+ { prop: "blur", from: 7, to: 0, duration: 750, ease: "power4.out", jitterDelay: 310 },
209
+ { prop: "translateY", from: -180, to: 0, duration: 750, ease: "power4.out", jitterDelay: 260 },
210
+ ],
211
+ };
212
+
213
+ export const stretchYScatter: Preset = {
214
+ name: "enter/stretch-y-scatter",
215
+ split: "character",
216
+ stagger: 60,
217
+ staggerOrder: "center",
218
+ animations: [
219
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "back.out" },
220
+ { prop: "blur", from: { min: 3, max: 37.5 }, to: 0, duration: 750, ease: "sine.out", jitterDelay: 230 },
221
+ { prop: "translateX", from: 90, to: 0, duration: 750, ease: "quart.out", jitterDelay: 280 },
222
+ { prop: "scaleY", from: 0.1, to: 1, duration: 550, ease: "sine.out", jitterDelay: 80, transformOrigin: { x: 0, y: 0 } },
223
+ { prop: "skewX", from: { min: -134.602, max: 134.602 }, to: 0, duration: 600, ease: "sine.out", transformOrigin: { x: 0.7, y: 0.3, z: 120 } },
224
+ ],
225
+ };
226
+
227
+ export const leanInScatterCurl: Preset = {
228
+ name: "enter/lean-in-scatter-curl",
229
+ split: "character",
230
+ stagger: 20,
231
+ staggerOrder: "center",
232
+ perspective: 700,
233
+ animations: [
234
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "power4.out" },
235
+ { prop: "translateZ", from: -200, to: 0, duration: 650, ease: "cubic.out", jitterDelay: 110 },
236
+ { prop: "rotate", from: { min: -2542.059, max: 2542.059 }, to: 0, duration: 500, ease: "sine.out", transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
237
+ ],
238
+ };
239
+
240
+ export const settleScatter: Preset = {
241
+ name: "enter/settle-scatter",
242
+ split: "character",
243
+ stagger: 35,
244
+ animations: [
245
+ { prop: "opacity", from: 0, to: 1, duration: 400, ease: "circ.out" },
246
+ { prop: "blur", from: 10, to: 0, duration: 550, ease: "bounce.out" },
247
+ { prop: "translateY", from: 150, to: 0, duration: 750, ease: "elastic.out", jitterDelay: 100 },
248
+ { prop: "scale", from: { min: 0.15, max: 1.875 }, to: 1, duration: 550, ease: "cubic.out", jitterDelay: 240, transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
249
+ ],
250
+ };
251
+
252
+ export const expandScatter: Preset = {
253
+ name: "enter/expand-scatter",
254
+ split: "character",
255
+ stagger: 20,
256
+ staggerOrder: "end",
257
+ animations: [
258
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "expo.out" },
259
+ { prop: "translateX", from: -150, to: 0, duration: 650, ease: "power4.out" },
260
+ { prop: "scale", from: { min: 0.11, max: 1.375 }, to: 1, duration: 850, ease: "bounce.out", jitterDelay: 260 },
261
+ { prop: "blur", from: { min: 2.4, max: 30 }, to: 0, duration: 400, ease: "sine.out" },
262
+ ],
263
+ };
264
+
265
+ export const slantScatter: Preset = {
266
+ name: "enter/slant-scatter",
267
+ split: "character",
268
+ stagger: 20,
269
+ staggerOrder: "end",
270
+ animations: [
271
+ { prop: "opacity", from: 0, to: 1, duration: 400, ease: "power4.out" },
272
+ { prop: "blur", from: { min: 3.8, max: 47.5 }, to: 0, duration: 550, ease: "bounce.out", jitterDelay: 220 },
273
+ { prop: "rotate", from: { min: -1665.671, max: 1665.671 }, to: 0, duration: 550, ease: "sine.out", jitterDelay: 120, transformOrigin: { x: 0, y: 0.5 } },
274
+ { prop: "skewX", from: { min: -101.125, max: 101.125 }, to: 0, duration: 700, ease: "bounce.out", jitterDelay: 200, transformOrigin: { x: 1, y: 0.5 } },
275
+ ],
276
+ };
277
+
278
+ export const extendXCurl: Preset = {
279
+ name: "enter/extend-x-curl",
280
+ split: "character",
281
+ stagger: 55,
282
+ animations: [
283
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "cubic.out" },
284
+ { prop: "scaleX", from: -1, to: 1, duration: 750, ease: "back.out" },
285
+ { prop: "translateY", from: 190, to: 0, duration: 750, ease: "bounce.out" },
286
+ { prop: "scaleY", from: 3, to: 1, duration: 600, ease: "back.out", jitterDelay: 280 },
287
+ { prop: "skewX", from: 35, to: 0, duration: 550, ease: "elastic.out", jitterDelay: 50, transformOrigin: { x: 0.5, y: 0, z: -100 } },
288
+ ],
289
+ };
290
+
291
+ export const extendYCurl: Preset = {
292
+ name: "enter/extend-y-curl",
293
+ split: "character",
294
+ stagger: 60,
295
+ perspective: 550,
296
+ animations: [
297
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "expo.out" },
298
+ { prop: "scale", from: 0.75, to: 1, duration: 750, ease: "expo.out", jitterDelay: 220, transformOrigin: { x: 1, y: 0.5, z: 100 } },
299
+ { prop: "translateZ", from: -350, to: 0, duration: 600, ease: "expo.out", jitterDelay: 150 },
300
+ { prop: "scaleY", from: 3, to: 1, duration: 550, ease: "back.out", transformOrigin: { x: 0.5, y: 1, z: 100 } },
301
+ ],
302
+ };
303
+
304
+ export const tumbleXScatterWord: Preset = {
305
+ name: "enter/tumble-x-scatter-word",
306
+ split: "word",
307
+ stagger: 20,
308
+ staggerOrder: "end",
309
+ perspective: 550,
310
+ transformOrigin: { x: 0.5, y: 1 },
311
+ animations: [
312
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "bounce.out" },
313
+ { prop: "translateY", from: { min: -445.54, max: 445.54 }, to: 0, duration: 800, ease: "power4.out" },
314
+ { prop: "translateX", from: -170, to: 0, duration: 600, ease: "elastic.out", jitterDelay: 90 },
315
+ { prop: "rotateX", from: -90, to: 0, duration: 750, ease: "circ.out", jitterDelay: 150 },
316
+ ],
317
+ };
318
+
319
+ export const flipUpScatterCurl: Preset = {
320
+ name: "enter/flip-up-scatter-curl",
321
+ split: "character",
322
+ stagger: 40,
323
+ perspective: 500,
324
+ transformOrigin: { x: 0.5, y: 1 },
325
+ animations: [
326
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "sine.out" },
327
+ { prop: "scaleY", from: 3, to: 1, duration: 550, ease: "quart.out", transformOrigin: { x: 0, y: 0 } },
328
+ { prop: "scale", from: { min: 0.14, max: 1.75 }, to: 1, duration: 800, ease: "quart.out", transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
329
+ { prop: "translateX", from: 170, to: 0, duration: 750, ease: "power4.out" },
330
+ { prop: "rotateX", from: 390, to: 0, duration: 750, ease: "quart.out", transformOrigin: { x: 1, y: 1, z: 100 } },
331
+ { prop: "skewX", from: 30, to: 0, duration: 650, ease: "bounce.out", transformOrigin: { x: 0.5, y: 1 } },
332
+ ],
333
+ };
334
+
335
+ export const expandScatterLoose: Preset = {
336
+ name: "enter/expand-scatter-loose",
337
+ split: "character",
338
+ stagger: 30,
339
+ staggerOrder: "end",
340
+ perspective: 300,
341
+ animations: [
342
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "back.out" },
343
+ { prop: "translateX", from: { min: -436.997, max: 436.997 }, to: 0, duration: 900, ease: "bounce.out" },
344
+ { prop: "scale", from: { min: 0.09, max: 1.125 }, to: 1, duration: 850, ease: "circ.out" },
345
+ { prop: "translateZ", from: -400, to: 0, duration: 750, ease: "elastic.out", jitterDelay: 220 },
346
+ { prop: "translateY", from: -150, to: 0, duration: 700, ease: "power4.out" },
347
+ ],
348
+ };
349
+
350
+ export const tiltInScatter: Preset = {
351
+ name: "enter/tilt-in-scatter",
352
+ split: "character",
353
+ stagger: 20,
354
+ animations: [
355
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "power4.out" },
356
+ { prop: "rotate", from: { min: -1692.348, max: 1692.348 }, to: 0, duration: 800, ease: "quart.out", jitterDelay: 80, transformOrigin: { x: 0, y: 1 } },
357
+ { prop: "blur", from: { min: 1.8, max: 22.5 }, to: 0, duration: 700, ease: "power4.out" },
358
+ { prop: "scale", from: { min: 0.11, max: 1.375 }, to: 1, duration: 750, ease: "expo.out", jitterDelay: 220, transformOrigin: { x: 1, y: 0.5, z: 100 } },
359
+ ],
360
+ };
361
+
362
+ export const unfurlXScatter: Preset = {
363
+ name: "enter/unfurl-x-scatter",
364
+ split: "character",
365
+ stagger: 25,
366
+ animations: [
367
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "bounce.out" },
368
+ { prop: "scale", from: 0.35, to: 1, duration: 800, ease: "elastic.out" },
369
+ { prop: "translateX", from: 200, to: 0, duration: 800, ease: "expo.out" },
370
+ { prop: "scaleX", from: { min: 0.6, max: 7.5 }, to: 1, duration: 650, ease: "expo.out", transformOrigin: { x: 0.5, y: 0.5, z: 80 } },
371
+ ],
372
+ };
373
+
374
+ export const bloomScatter: Preset = {
375
+ name: "enter/bloom-scatter",
376
+ split: "character",
377
+ stagger: 25,
378
+ perspective: 550,
379
+ animations: [
380
+ { prop: "opacity", from: 0, to: 1, duration: 300, ease: "back.out" },
381
+ { prop: "translateZ", from: -450, to: 0, duration: 550, ease: "sine.out", perspective: 250 },
382
+ { prop: "scale", from: 0.6, to: 1, duration: 800, ease: "expo.out", jitterDelay: 130 },
383
+ { prop: "blur", from: 11, to: 0, duration: 700, ease: "power4.out" },
384
+ { prop: "translateX", from: { min: -386.162, max: 386.162 }, to: 0, duration: 850, ease: "cubic.out" },
385
+ ],
386
+ };
387
+
388
+ export const flipUpScatterBounce: Preset = {
389
+ name: "enter/flip-up-scatter-bounce",
390
+ split: "character",
391
+ stagger: 55,
392
+ staggerOrder: "edges",
393
+ perspective: 500,
394
+ transformOrigin: { x: 0.5, y: 1 },
395
+ animations: [
396
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "circ.out" },
397
+ { prop: "rotateY", from: { min: -558.321, max: 558.321 }, to: 0, duration: 550, ease: "quart.out", jitterDelay: 190 },
398
+ { prop: "rotateX", from: 420, to: 0, duration: 800, ease: "bounce.out", transformOrigin: { x: 0, y: 0.5, z: -100 }, perspective: 550 },
399
+ ],
400
+ };
401
+
402
+ export const foldInScatterBounce: Preset = {
403
+ name: "enter/fold-in-scatter-bounce",
404
+ split: "character",
405
+ stagger: 30,
406
+ perspective: 200,
407
+ transformOrigin: { x: 0.5, y: 1 },
408
+ animations: [
409
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "cubic.out" },
410
+ { prop: "scaleY", from: { min: 0.8, max: 10 }, to: 1, duration: 500, ease: "elastic.out", jitterDelay: 110 },
411
+ { prop: "translateY", from: { min: -467.605, max: 467.605 }, to: 0, duration: 550, ease: "quart.out" },
412
+ { prop: "scale", from: { min: 0.14, max: 1.75 }, to: 1, duration: 900, ease: "sine.out" },
413
+ { prop: "skewX", from: { min: -116.824, max: 116.824 }, to: 0, duration: 600, ease: "expo.out", jitterDelay: 340, transformOrigin: { x: 0, y: 1 } },
414
+ { prop: "rotateY", from: { min: -1011.538, max: 1011.538 }, to: 0, duration: 850, ease: "circ.out", perspective: 450 },
415
+ { prop: "rotateX", from: { min: -380.842, max: 380.842 }, to: 0, duration: 500, ease: "bounce.out", transformOrigin: { x: 1, y: 0.5 } },
416
+ ],
417
+ };
418
+
419
+ export const swivelScatterLoose: Preset = {
420
+ name: "enter/swivel-scatter-loose",
421
+ split: "character",
422
+ stagger: 30,
423
+ staggerOrder: "end",
424
+ perspective: 400,
425
+ transformOrigin: { x: 0.5, y: 0.5 },
426
+ animations: [
427
+ { prop: "opacity", from: 0, to: 1, duration: 400, ease: "sine.out" },
428
+ { prop: "rotate", from: 510, to: 0, duration: 600, ease: "quart.out", jitterDelay: 50, transformOrigin: { x: 1, y: 0 } },
429
+ { prop: "rotateY", from: -450, to: 0, duration: 800, ease: "cubic.out", jitterDelay: 260 },
430
+ { prop: "skewX", from: { min: -112.441, max: 112.441 }, to: 0, duration: 600, ease: "elastic.out" },
431
+ ],
432
+ };
433
+
434
+ export const swirlScatter: Preset = {
435
+ name: "enter/swirl-scatter",
436
+ split: "character",
437
+ stagger: 35,
438
+ staggerOrder: "end",
439
+ animations: [
440
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "quart.out" },
441
+ { prop: "scale", from: { min: 0.14, max: 1.75 }, to: 1, duration: 700, ease: "back.out", jitterDelay: 270 },
442
+ { prop: "rotate", from: 480, to: 0, duration: 700, ease: "quart.out" },
443
+ { prop: "scaleY", from: { min: 0.6, max: 7.5 }, to: 1, duration: 600, ease: "back.out" },
444
+ ],
445
+ };
446
+
447
+ export const twirlScatter: Preset = {
448
+ name: "enter/twirl-scatter",
449
+ split: "character",
450
+ stagger: 45,
451
+ staggerOrder: "end",
452
+ animations: [
453
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "power4.out" },
454
+ { prop: "scaleX", from: { min: 0, max: -2.5 }, to: 1, duration: 750, ease: "cubic.out" },
455
+ { prop: "rotate", from: -660, to: 0, duration: 700, ease: "back.out", transformOrigin: { x: 1, y: 0.5, z: 100 } },
456
+ { prop: "scale", from: 0.6, to: 1, duration: 900, ease: "elastic.out", jitterDelay: 90 },
457
+ ],
458
+ };
459
+
460
+ export const extendXSnapWord: Preset = {
461
+ name: "enter/extend-x-snap-word",
462
+ split: "word",
463
+ stagger: 50,
464
+ staggerOrder: "edges",
465
+ perspective: 350,
466
+ animations: [
467
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "bounce.out" },
468
+ { prop: "scaleX", from: -1, to: 1, duration: 800, ease: "expo.out", jitterDelay: 340, transformOrigin: { x: 0.5, y: 0 } },
469
+ { prop: "translateY", from: 130, to: 0, duration: 550, ease: "back.out", jitterDelay: 110 },
470
+ { prop: "translateZ", from: -350, to: 0, duration: 850, ease: "sine.out" },
471
+ ],
472
+ };
473
+
474
+ export const riseYScatter: Preset = {
475
+ name: "enter/rise-y-scatter",
476
+ split: "word",
477
+ stagger: 40,
478
+ animations: [
479
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "circ.out" },
480
+ { prop: "blur", from: 12, to: 0, duration: 800, ease: "cubic.out", jitterDelay: 90 },
481
+ { prop: "skewX", from: { min: -145.334, max: 145.334 }, to: 0, duration: 500, ease: "cubic.out", jitterDelay: 250 },
482
+ { prop: "scaleY", from: 3, to: 1, duration: 850, ease: "back.out" },
483
+ ],
484
+ };
485
+
486
+ export const leanScatter: Preset = {
487
+ name: "enter/lean-scatter",
488
+ split: "character",
489
+ stagger: 45,
490
+ staggerOrder: "edges",
491
+ animations: [
492
+ { prop: "opacity", from: 0, to: 1, duration: 400, ease: "circ.out" },
493
+ { prop: "skewX", from: { min: -92.865, max: 92.865 }, to: 0, duration: 600, ease: "quart.out" },
494
+ { prop: "blur", from: 17, to: 0, duration: 750, ease: "bounce.out" },
495
+ ],
496
+ };
497
+
498
+ export const riseYScatterCurl: Preset = {
499
+ name: "enter/rise-y-scatter-curl",
500
+ split: "character",
501
+ stagger: 25,
502
+ animations: [
503
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "sine.out" },
504
+ { prop: "scale", from: 0.65, to: 1, duration: 750, ease: "power4.out", jitterDelay: 190 },
505
+ { prop: "scaleY", from: { min: 0.04, max: 0.5 }, to: 1, duration: 700, ease: "elastic.out", jitterDelay: 220, transformOrigin: { x: 0.5, y: 0.5, z: 80 } },
506
+ { prop: "skewX", from: { min: -193.342, max: 193.342 }, to: 0, duration: 600, ease: "sine.out", transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
507
+ { prop: "translateX", from: -210, to: 0, duration: 750, ease: "expo.out", jitterDelay: 120 },
508
+ { prop: "blur", from: { min: 3.2, max: 40 }, to: 0, duration: 750, ease: "circ.out", jitterDelay: 200 },
509
+ ],
510
+ };
511
+
512
+ export const whirlScatter: Preset = {
513
+ name: "enter/whirl-scatter",
514
+ split: "character",
515
+ stagger: 45,
516
+ perspective: 550,
517
+ animations: [
518
+ { prop: "opacity", from: 0, to: 1, duration: 600, ease: "expo.out" },
519
+ { prop: "translateX", from: { min: -731.445, max: 731.445 }, to: 0, duration: 800, ease: "sine.out", jitterDelay: 170 },
520
+ { prop: "blur", from: 17, to: 0, duration: 550, ease: "sine.out" },
521
+ { prop: "translateZ", from: -200, to: 0, duration: 750, ease: "circ.out", jitterDelay: 280 },
522
+ { prop: "scaleX", from: 4, to: 1, duration: 850, ease: "back.out", jitterDelay: 340, transformOrigin: { x: 1, y: 1 } },
523
+ { prop: "rotate", from: -390, to: 0, duration: 650, ease: "sine.out", transformOrigin: { x: 0, y: 0.5 } },
524
+ ],
525
+ };
526
+
527
+ export const pinwheelScatter: Preset = {
528
+ name: "enter/pinwheel-scatter",
529
+ split: "character",
530
+ stagger: 20,
531
+ animations: [
532
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "expo.out" },
533
+ { prop: "blur", from: { min: 3.2, max: 40 }, to: 0, duration: 700, ease: "bounce.out", jitterDelay: 300 },
534
+ { prop: "scaleY", from: { min: 0.3, max: 3.75 }, to: 1, duration: 750, ease: "quart.out" },
535
+ { prop: "skewX", from: { min: -169.217, max: 169.217 }, to: 0, duration: 600, ease: "back.out", transformOrigin: { x: 0, y: 0.5 } },
536
+ { prop: "translateX", from: -100, to: 0, duration: 850, ease: "power4.out" },
537
+ { prop: "rotate", from: 660, to: 0, duration: 900, ease: "elastic.out", transformOrigin: { x: 0, y: 0.5 } },
538
+ ],
539
+ };
540
+
541
+ export const swivelScatterDeep: Preset = {
542
+ name: "enter/swivel-scatter-deep",
543
+ split: "character",
544
+ stagger: 55,
545
+ perspective: 450,
546
+ transformOrigin: { x: 0.5, y: 0.5 },
547
+ animations: [
548
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "circ.out" },
549
+ { prop: "translateZ", from: -600, to: 0, duration: 700, ease: "expo.out" },
550
+ { prop: "scale", from: 0.65, to: 1, duration: 800, ease: "back.out", jitterDelay: 220, transformOrigin: { x: 0.5, y: 0.5, z: 150 } },
551
+ { prop: "rotateY", from: 420, to: 0, duration: 850, ease: "quart.out", jitterDelay: 320, transformOrigin: { x: 0.5, y: 0.5 }, perspective: 500 },
552
+ { prop: "scaleY", from: 2, to: 1, duration: 600, ease: "sine.out", transformOrigin: { x: 0.5, y: 0, z: -100 } },
553
+ { prop: "rotate", from: { min: -1729.634, max: 1729.634 }, to: 0, duration: 750, ease: "power4.out", jitterDelay: 150 },
554
+ ],
555
+ };
556
+
557
+ export const foldInCurl: Preset = {
558
+ name: "enter/fold-in-curl",
559
+ split: "character",
560
+ stagger: 60,
561
+ staggerOrder: "end",
562
+ perspective: 500,
563
+ transformOrigin: { x: 0.5, y: 1 },
564
+ animations: [
565
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "cubic.out" },
566
+ { prop: "rotateX", from: -360, to: 0, duration: 850, ease: "expo.out", jitterDelay: 60, transformOrigin: { x: 0, y: 0.5, z: -100 }, perspective: 500 },
567
+ { prop: "skewX", from: -40, to: 0, duration: 500, ease: "quart.out", jitterDelay: 80, transformOrigin: { x: 0.5, y: 0.5, z: 150 } },
568
+ { prop: "blur", from: 16, to: 0, duration: 600, ease: "back.out", jitterDelay: 240 },
569
+ { prop: "scaleY", from: 4, to: 1, duration: 650, ease: "cubic.out", jitterDelay: 220, transformOrigin: { x: 0, y: 0.5 } },
570
+ { prop: "scale", from: 0.3, to: 1, duration: 850, ease: "sine.out", jitterDelay: 130, transformOrigin: { x: 0.5, y: 0, z: -100 } },
571
+ { prop: "rotate", from: 270, to: 0, duration: 650, ease: "quart.out" },
572
+ ],
573
+ };
574
+
575
+ export const turnScatterCurl: Preset = {
576
+ name: "enter/turn-scatter-curl",
577
+ split: "character",
578
+ stagger: 55,
579
+ staggerOrder: "end",
580
+ perspective: 400,
581
+ transformOrigin: { x: 0.5, y: 0.5 },
582
+ animations: [
583
+ { prop: "opacity", from: 0, to: 1, duration: 300, ease: "elastic.out" },
584
+ { prop: "skewX", from: { min: -136.596, max: 136.596 }, to: 0, duration: 550, ease: "circ.out", transformOrigin: { x: 0.3, y: 0.7, z: -120 } },
585
+ { prop: "rotateY", from: -270, to: 0, duration: 500, ease: "circ.out" },
586
+ { prop: "translateY", from: { min: -617.184, max: 617.184 }, to: 0, duration: 500, ease: "quart.out" },
587
+ { prop: "rotate", from: -120, to: 0, duration: 800, ease: "power4.out" },
588
+ { prop: "blur", from: { min: 1.2, max: 15 }, to: 0, duration: 450, ease: "quart.out", jitterDelay: 80 },
589
+ ],
590
+ };
591
+
592
+ export const foldInScatterCurl: Preset = {
593
+ name: "enter/fold-in-scatter-curl",
594
+ split: "character",
595
+ stagger: 20,
596
+ perspective: 550,
597
+ transformOrigin: { x: 0.5, y: 1 },
598
+ animations: [
599
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "circ.out" },
600
+ { prop: "translateZ", from: -300, to: 0, duration: 850, ease: "bounce.out", jitterDelay: 130 },
601
+ { prop: "scaleY", from: -1, to: 1, duration: 750, ease: "bounce.out" },
602
+ { prop: "rotateX", from: 150, to: 0, duration: 900, ease: "elastic.out", jitterDelay: 190, transformOrigin: { x: 0, y: 0.5, z: -100 }, perspective: 400 },
603
+ { prop: "translateY", from: { min: -871.977, max: 871.977 }, to: 0, duration: 600, ease: "elastic.out", jitterDelay: 240 },
604
+ { prop: "translateX", from: { min: -502.407, max: 502.407 }, to: 0, duration: 800, ease: "power4.out", jitterDelay: 210 },
605
+ ],
606
+ };
607
+
608
+ export const flipUpScatterWord: Preset = {
609
+ name: "enter/flip-up-scatter-word",
610
+ split: "word",
611
+ stagger: 45,
612
+ perspective: 500,
613
+ transformOrigin: { x: 0.5, y: 0.5 },
614
+ animations: [
615
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "back.out" },
616
+ { prop: "rotateX", from: 120, to: 0, duration: 500, ease: "bounce.out", perspective: 350 },
617
+ { prop: "rotateY", from: -120, to: 0, duration: 600, ease: "cubic.out", jitterDelay: 250 },
618
+ { prop: "skewX", from: { min: -173.156, max: 173.156 }, to: 0, duration: 450, ease: "elastic.out", jitterDelay: 310 },
619
+ { prop: "blur", from: { min: 3.4, max: 42.5 }, to: 0, duration: 500, ease: "sine.out", jitterDelay: 50 },
620
+ ],
621
+ };
622
+
623
+ export const tiltInScatterWord: Preset = {
624
+ name: "enter/tilt-in-scatter-word",
625
+ split: "word",
626
+ stagger: 40,
627
+ animations: [
628
+ { prop: "opacity", from: 0, to: 1, duration: 400, ease: "back.out" },
629
+ { prop: "rotate", from: { min: -2676.345, max: 2676.345 }, to: 0, duration: 700, ease: "elastic.out" },
630
+ { prop: "translateX", from: -180, to: 0, duration: 600, ease: "sine.out" },
631
+ ],
632
+ };
633
+
634
+ export const unfurlYCurl: Preset = {
635
+ name: "enter/unfurl-y-curl",
636
+ split: "character",
637
+ stagger: 40,
638
+ staggerOrder: "end",
639
+ animations: [
640
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "back.out" },
641
+ { prop: "scaleY", from: 0.2, to: 1, duration: 700, ease: "quart.out", jitterDelay: 320, transformOrigin: { x: 1, y: 0.5 } },
642
+ { prop: "scale", from: 0.75, to: 1, duration: 800, ease: "expo.out", jitterDelay: 170, transformOrigin: { x: 0.5, y: 1, z: 100 } },
643
+ { prop: "blur", from: 19, to: 0, duration: 600, ease: "sine.out", jitterDelay: 160 },
644
+ ],
645
+ };
646
+
647
+ export const extendYScatterWord: Preset = {
648
+ name: "enter/extend-y-scatter-word",
649
+ split: "word",
650
+ stagger: 40,
651
+ animations: [
652
+ { prop: "opacity", from: 0, to: 1, duration: 400, ease: "cubic.out" },
653
+ { prop: "skewX", from: -15, to: 0, duration: 600, ease: "cubic.out" },
654
+ { prop: "translateY", from: -50, to: 0, duration: 600, ease: "bounce.out" },
655
+ { prop: "scaleY", from: { min: 0.24, max: 3 }, to: 1, duration: 700, ease: "sine.out" },
656
+ ],
657
+ };
658
+
659
+ export const topple: Preset = {
660
+ name: "enter/topple",
661
+ split: "character",
662
+ stagger: 50,
663
+ perspective: 1250,
664
+ transformOrigin: { x: 0.5, y: 1 },
665
+ animations: [
666
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "quart.out" },
667
+ { prop: "rotateX", from: 60, to: 0, duration: 700, ease: "cubic.out", transformOrigin: { x: 0, y: 0 } },
668
+ ],
669
+ };
670
+
671
+ export const blurRiseSnap: Preset = {
672
+ name: "enter/blur-rise-snap",
673
+ split: "character",
674
+ stagger: 25,
675
+ staggerOrder: "center",
676
+ animations: [
677
+ { prop: "opacity", from: 0, to: 1, duration: 300, ease: "bounce.out" },
678
+ { prop: "blur", from: 7, to: 0, duration: 750, ease: "expo.out" },
679
+ ],
680
+ };
681
+
682
+ export const loom: Preset = {
683
+ name: "enter/loom",
684
+ split: "character",
685
+ stagger: 50,
686
+ perspective: 1100,
687
+ animations: [
688
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "back.out" },
689
+ { prop: "translateY", from: -40, to: 0, duration: 750, ease: "quart.out" },
690
+ { prop: "translateZ", from: -150, to: 0, duration: 750, ease: "quart.out" },
691
+ ],
692
+ };
693
+
694
+ export const glideOutward: Preset = {
695
+ name: "enter/glide-outward",
696
+ split: "character",
697
+ stagger: 55,
698
+ staggerOrder: "center",
699
+ animations: [
700
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "sine.out" },
701
+ { prop: "translateX", from: -30, to: 0, duration: 750, ease: "sine.out" },
702
+ { prop: "skewX", from: -15, to: 0, duration: 400, ease: "bounce.out" },
703
+ ],
704
+ };
705
+
706
+ export const tiltInBounce: Preset = {
707
+ name: "enter/tilt-in-bounce",
708
+ split: "character",
709
+ stagger: 60,
710
+ animations: [
711
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "sine.out" },
712
+ { prop: "scaleY", from: 0.7, to: 1, duration: 600, ease: "bounce.out", transformOrigin: { x: 0.5, y: 0 } },
713
+ { prop: "rotate", from: -60, to: 0, duration: 500, ease: "bounce.out" },
714
+ ],
715
+ };
716
+
717
+ export const expandScatterTrail: Preset = {
718
+ name: "enter/expand-scatter-trail",
719
+ split: "character",
720
+ stagger: 40,
721
+ staggerOrder: "end",
722
+ animations: [
723
+ { prop: "opacity", from: 0, to: 1, duration: 300, ease: "quart.out" },
724
+ { prop: "translateY", from: { min: -66.362, max: 66.362 }, to: 0, duration: 550, ease: "bounce.out", jitterDelay: 70 },
725
+ { prop: "scale", from: 0.65, to: 1, duration: 600, ease: "cubic.out" },
726
+ ],
727
+ };
728
+
729
+ export const rotateYInDeep: Preset = {
730
+ name: "enter/rotate-y-in-deep",
731
+ split: "character",
732
+ stagger: 30,
733
+ staggerOrder: "random",
734
+ perspective: 900,
735
+ transformOrigin: { x: 0.5, y: 0.5 },
736
+ animations: [
737
+ { prop: "opacity", from: 0, to: 1, duration: 600, ease: "bounce.out" },
738
+ { prop: "rotate", from: 30, to: 0, duration: 500, ease: "quart.out" },
739
+ { prop: "rotateY", from: -60, to: 0, duration: 600, ease: "circ.out", perspective: 1500 },
740
+ ],
741
+ };
742
+
743
+ export const swipeSpring: Preset = {
744
+ name: "enter/swipe-spring",
745
+ split: "character",
746
+ stagger: 55,
747
+ staggerOrder: "center",
748
+ animations: [
749
+ { prop: "opacity", from: 0, to: 1, duration: 400, ease: "bounce.out" },
750
+ { prop: "translateX", from: 60, to: 0, duration: 800, ease: "elastic.out" },
751
+ ],
752
+ };
753
+
754
+ export const swipeScatter: Preset = {
755
+ name: "enter/swipe-scatter",
756
+ split: "character",
757
+ stagger: 20,
758
+ animations: [
759
+ { prop: "opacity", from: 0, to: 1, duration: 300, ease: "back.out" },
760
+ { prop: "translateX", from: { min: -131.56, max: 131.56 }, to: 0, duration: 600, ease: "sine.out" },
761
+ { prop: "blur", from: { min: 1.6, max: 20 }, to: 0, duration: 600, ease: "cubic.out" },
762
+ ],
763
+ };
764
+
765
+ export const tiltInInward: Preset = {
766
+ name: "enter/tilt-in-inward",
767
+ split: "word",
768
+ stagger: 55,
769
+ staggerOrder: "edges",
770
+ animations: [
771
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "elastic.out" },
772
+ { prop: "blur", from: 8, to: 0, duration: 700, ease: "back.out" },
773
+ { prop: "rotate", from: -30, to: 0, duration: 500, ease: "quart.out" },
774
+ ],
775
+ };
776
+
777
+ export const growSpring: Preset = {
778
+ name: "enter/grow-spring",
779
+ split: "character",
780
+ stagger: 25,
781
+ staggerOrder: "center",
782
+ animations: [
783
+ { prop: "opacity", from: 0, to: 1, duration: 300, ease: "circ.out" },
784
+ { prop: "scale", from: 0.25, to: 1, duration: 800, ease: "elastic.out" },
785
+ ],
786
+ };
787
+
788
+ export const extendYScatterCurl: Preset = {
789
+ name: "enter/extend-y-scatter-curl",
790
+ split: "character",
791
+ stagger: 45,
792
+ animations: [
793
+ { prop: "opacity", from: 0, to: 1, duration: 400, ease: "power4.out" },
794
+ { prop: "blur", from: { min: 3.2, max: 40 }, to: 0, duration: 750, ease: "elastic.out", jitterDelay: 410 },
795
+ { prop: "translateY", from: { min: -1510.445, max: 1510.445 }, to: 0, duration: 600, ease: "cubic.out", jitterDelay: 440 },
796
+ { prop: "scaleY", from: { min: 0.04, max: 0.5 }, to: 1, duration: 850, ease: "sine.out", jitterDelay: 220, transformOrigin: { x: 0.5, y: 1, z: 100 } },
797
+ { prop: "scale", from: { min: 0.08, max: 1 }, to: 1, duration: 800, ease: "quart.out", jitterDelay: 250, transformOrigin: { x: 0, y: 0, z: -100 } },
798
+ ],
799
+ };
800
+
801
+ export const rotateYInScatterCurl: Preset = {
802
+ name: "enter/rotate-y-in-scatter-curl",
803
+ split: "character",
804
+ stagger: 60,
805
+ staggerOrder: "edges",
806
+ perspective: 150,
807
+ transformOrigin: { x: 0.5, y: 0.5 },
808
+ animations: [
809
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "cubic.out" },
810
+ { prop: "translateZ", from: -800, to: 0, duration: 800, ease: "sine.out", jitterDelay: 320, perspective: 150 },
811
+ { prop: "rotateY", from: { min: -1389.565, max: 1389.565 }, to: 0, duration: 800, ease: "expo.out", jitterDelay: 320, transformOrigin: { x: 1, y: 0.5 }, perspective: 350 },
812
+ { prop: "scale", from: { min: 0.13, max: 1.625 }, to: 1, duration: 650, ease: "bounce.out", jitterDelay: 420, transformOrigin: { x: 0.7, y: 0.3, z: 120 } },
813
+ { prop: "scaleY", from: { min: 0.3, max: 3.75 }, to: 1, duration: 600, ease: "elastic.out", jitterDelay: 260, transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
814
+ { prop: "translateX", from: { min: -2706.139, max: 2706.139 }, to: 0, duration: 650, ease: "circ.out", jitterDelay: 200 },
815
+ { prop: "rotate", from: { min: -1741.121, max: 1741.121 }, to: 0, duration: 550, ease: "back.out", transformOrigin: { x: 0.5, y: 1, z: 100 } },
816
+ ],
817
+ };
818
+
819
+ export const foldInScatterSnap: Preset = {
820
+ name: "enter/fold-in-scatter-snap",
821
+ split: "character",
822
+ stagger: 55,
823
+ perspective: 350,
824
+ transformOrigin: { x: 0.5, y: 1 },
825
+ animations: [
826
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "circ.out" },
827
+ { prop: "rotateX", from: { min: -3799.954, max: 3799.954 }, to: 0, duration: 600, ease: "expo.out", jitterDelay: 260, transformOrigin: { x: 0, y: 0.5, z: -100 }, perspective: 350 },
828
+ { prop: "scale", from: { min: 0.1, max: 1.25 }, to: 1, duration: 550, ease: "circ.out", jitterDelay: 170, transformOrigin: { x: 0, y: 0.5, z: -100 } },
829
+ { prop: "translateX", from: 200, to: 0, duration: 700, ease: "sine.out" },
830
+ { prop: "scaleY", from: { min: 0.6, max: 7.5 }, to: 1, duration: 550, ease: "expo.out", jitterDelay: 380, transformOrigin: { x: 0.5, y: 0, z: -100 } },
831
+ { prop: "rotate", from: { min: -7028.788, max: 7028.788 }, to: 0, duration: 750, ease: "expo.out", jitterDelay: 190, transformOrigin: { x: 0, y: 0.5 } },
832
+ ],
833
+ };
834
+
835
+ export const slantScatterSpring: Preset = {
836
+ name: "enter/slant-scatter-spring",
837
+ split: "character",
838
+ stagger: 15,
839
+ animations: [
840
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "cubic.out" },
841
+ { prop: "translateY", from: { min: -2008.854, max: 2008.854 }, to: 0, duration: 750, ease: "quart.out", jitterDelay: 230 },
842
+ { prop: "rotate", from: { min: -4435.622, max: 4435.622 }, to: 0, duration: 600, ease: "elastic.out", jitterDelay: 110, transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
843
+ { prop: "translateX", from: { min: -1781.755, max: 1781.755 }, to: 0, duration: 600, ease: "elastic.out", jitterDelay: 200 },
844
+ { prop: "blur", from: { min: 3.6, max: 45 }, to: 0, duration: 500, ease: "power4.out", jitterDelay: 410 },
845
+ ],
846
+ };
847
+
848
+ export const riseYScatterLoose: Preset = {
849
+ name: "enter/rise-y-scatter-loose",
850
+ split: "character",
851
+ stagger: 15,
852
+ staggerOrder: "edges",
853
+ animations: [
854
+ { prop: "opacity", from: 0, to: 1, duration: 300, ease: "back.out" },
855
+ { prop: "scaleY", from: { min: 0.5, max: 6.25 }, to: 1, duration: 600, ease: "cubic.out", jitterDelay: 450 },
856
+ { prop: "blur", from: { min: 5.2, max: 65 }, to: 0, duration: 600, ease: "sine.out", jitterDelay: 260 },
857
+ { prop: "skewX", from: { min: -382.518, max: 382.518 }, to: 0, duration: 600, ease: "power4.out", jitterDelay: 480, transformOrigin: { x: 0.7, y: 0.3, z: 120 } },
858
+ { prop: "scale", from: { min: 0.12, max: 1.5 }, to: 1, duration: 900, ease: "sine.out", jitterDelay: 390 },
859
+ ],
860
+ };
861
+
862
+ export const tiltInScatterCurl: Preset = {
863
+ name: "enter/tilt-in-scatter-curl",
864
+ split: "character",
865
+ stagger: 60,
866
+ animations: [
867
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "bounce.out" },
868
+ { prop: "blur", from: { min: 4, max: 50 }, to: 0, duration: 450, ease: "cubic.out", jitterDelay: 470 },
869
+ { prop: "translateX", from: { min: -1326.384, max: 1326.384 }, to: 0, duration: 800, ease: "back.out", jitterDelay: 100 },
870
+ { prop: "scaleY", from: { min: 0.06, max: 0.75 }, to: 1, duration: 750, ease: "power4.out", jitterDelay: 250, transformOrigin: { x: 0, y: 0, z: -100 } },
871
+ { prop: "scale", from: 0.75, to: 1, duration: 650, ease: "expo.out", transformOrigin: { x: 1, y: 0.5, z: 100 } },
872
+ { prop: "scaleX", from: { min: 0.8, max: 10 }, to: 1, duration: 550, ease: "back.out", jitterDelay: 390, transformOrigin: { x: 0, y: 0.5, z: -100 } },
873
+ { prop: "rotate", from: { min: -6641.335, max: 6641.335 }, to: 0, duration: 550, ease: "bounce.out", jitterDelay: 170, transformOrigin: { x: 0, y: 0, z: -100 } },
874
+ ],
875
+ };
876
+
877
+ export const spreadXScatterCurl: Preset = {
878
+ name: "enter/spread-x-scatter-curl",
879
+ split: "character",
880
+ stagger: 50,
881
+ animations: [
882
+ { prop: "opacity", from: 0, to: 1, duration: 300, ease: "power4.out" },
883
+ { prop: "scaleY", from: { min: 0, max: -2.5 }, to: 1, duration: 550, ease: "cubic.out", jitterDelay: 200, transformOrigin: { x: 1, y: 1, z: 100 } },
884
+ { prop: "scaleX", from: { min: 0.06, max: 0.75 }, to: 1, duration: 550, ease: "expo.out", jitterDelay: 400, transformOrigin: { x: 0.5, y: 0, z: -100 } },
885
+ { prop: "skewX", from: { min: -209.791, max: 209.791 }, to: 0, duration: 700, ease: "expo.out", jitterDelay: 140, transformOrigin: { x: 0.3, y: 0.7, z: -120 } },
886
+ { prop: "blur", from: 27, to: 0, duration: 500, ease: "elastic.out" },
887
+ ],
888
+ };
889
+
890
+ export const twirlScatterCurl: Preset = {
891
+ name: "enter/twirl-scatter-curl",
892
+ split: "character",
893
+ stagger: 20,
894
+ staggerOrder: "end",
895
+ animations: [
896
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "quart.out" },
897
+ { prop: "blur", from: { min: 3.2, max: 40 }, to: 0, duration: 650, ease: "sine.out", jitterDelay: 200 },
898
+ { prop: "skewX", from: { min: -389.111, max: 389.111 }, to: 0, duration: 400, ease: "power4.out", jitterDelay: 210, transformOrigin: { x: 0.5, y: 0, z: -100 } },
899
+ { prop: "scaleX", from: { min: 0, max: 0 }, to: 1, duration: 750, ease: "elastic.out", transformOrigin: { x: 0.5, y: 0.5, z: 80 } },
900
+ { prop: "scaleY", from: { min: 0.6, max: 7.5 }, to: 1, duration: 800, ease: "expo.out", jitterDelay: 350, transformOrigin: { x: 0.5, y: 1, z: 100 } },
901
+ { prop: "rotate", from: 690, to: 0, duration: 600, ease: "elastic.out", jitterDelay: 220, transformOrigin: { x: 0, y: 0.5, z: -100 } },
902
+ ],
903
+ };
904
+
905
+ export const tipInScatter: Preset = {
906
+ name: "enter/tip-in-scatter",
907
+ split: "character",
908
+ stagger: 45,
909
+ animations: [
910
+ { prop: "opacity", from: 0, to: 1, duration: 600, ease: "power4.out" },
911
+ { prop: "rotate", from: { min: -6184.943, max: 6184.943 }, to: 0, duration: 700, ease: "quart.out", jitterDelay: 110, transformOrigin: { x: 0.5, y: 0, z: -100 } },
912
+ { prop: "skewX", from: { min: -252.602, max: 252.602 }, to: 0, duration: 550, ease: "quart.out", jitterDelay: 380, transformOrigin: { x: 1, y: 0.5, z: 100 } },
913
+ { prop: "blur", from: { min: 2.8, max: 35 }, to: 0, duration: 600, ease: "back.out", jitterDelay: 350 },
914
+ ],
915
+ };
916
+
917
+ export const liftSpring: Preset = {
918
+ name: "enter/lift-spring",
919
+ split: "character",
920
+ stagger: 55,
921
+ animations: [
922
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "sine.out" },
923
+ { prop: "translateY", from: -60, to: 0, duration: 550, ease: "elastic.out" },
924
+ ],
925
+ };
926
+
927
+ export const stretchXBounce: Preset = {
928
+ name: "enter/stretch-x-bounce",
929
+ split: "character",
930
+ stagger: 25,
931
+ animations: [
932
+ { prop: "opacity", from: 0, to: 1, duration: 400, ease: "elastic.out" },
933
+ { prop: "scaleX", from: 0.6, to: 1, duration: 700, ease: "bounce.out", jitterDelay: 20 },
934
+ { prop: "blur", from: 8, to: 0, duration: 650, ease: "power4.out" },
935
+ { prop: "translateX", from: -40, to: 0, duration: 800, ease: "elastic.out" },
936
+ ],
937
+ };
938
+
939
+ export const unfurlXKick: Preset = {
940
+ name: "enter/unfurl-x-kick",
941
+ split: "character",
942
+ stagger: 20,
943
+ animations: [
944
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "power4.out" },
945
+ { prop: "translateX", from: 60, to: 0, duration: 700, ease: "circ.out" },
946
+ { prop: "scaleX", from: 1.4, to: 1, duration: 500, ease: "back.out", jitterDelay: 30 },
947
+ ],
948
+ };
949
+
950
+ export const rotateYInInward: Preset = {
951
+ name: "enter/rotate-y-in-inward",
952
+ split: "character",
953
+ stagger: 30,
954
+ staggerOrder: "edges",
955
+ perspective: 950,
956
+ transformOrigin: { x: 0.5, y: 0.5 },
957
+ animations: [
958
+ { prop: "opacity", from: 0, to: 1, duration: 600, ease: "quart.out" },
959
+ { prop: "blur", from: 7, to: 0, duration: 750, ease: "quart.out" },
960
+ { prop: "rotateY", from: -30, to: 0, duration: 650, ease: "power4.out" },
961
+ ],
962
+ };
963
+
964
+ export const hazeOutward: Preset = {
965
+ name: "enter/haze-outward",
966
+ split: "character",
967
+ stagger: 50,
968
+ staggerOrder: "center",
969
+ animations: [
970
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "circ.out" },
971
+ { prop: "blur", from: 4, to: 0, duration: 400, ease: "sine.out" },
972
+ ],
973
+ };
974
+
975
+ export const pivotScatter: Preset = {
976
+ name: "enter/pivot-scatter",
977
+ split: "character",
978
+ stagger: 55,
979
+ perspective: 700,
980
+ transformOrigin: { x: 0.5, y: 0.5 },
981
+ animations: [
982
+ { prop: "opacity", from: 0, to: 1, duration: 400, ease: "elastic.out" },
983
+ { prop: "rotateY", from: { min: -1223.071, max: 1223.071 }, to: 0, duration: 850, ease: "expo.out", transformOrigin: { x: 0.3, y: 0.7, z: -120 } },
984
+ { prop: "scale", from: { min: 0.12, max: 1.5 }, to: 1, duration: 650, ease: "bounce.out" },
985
+ { prop: "translateZ", from: -450, to: 0, duration: 750, ease: "sine.out", perspective: 350 },
986
+ { prop: "translateY", from: 130, to: 0, duration: 900, ease: "elastic.out" },
987
+ ],
988
+ };
989
+
990
+ export const turnSpring: Preset = {
991
+ name: "enter/turn-spring",
992
+ split: "word",
993
+ stagger: 25,
994
+ staggerOrder: "end",
995
+ perspective: 550,
996
+ transformOrigin: { x: 0.5, y: 0.5 },
997
+ animations: [
998
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "expo.out" },
999
+ { prop: "rotateY", from: -150, to: 0, duration: 600, ease: "elastic.out", perspective: 300 },
1000
+ { prop: "translateY", from: -190, to: 0, duration: 650, ease: "bounce.out" },
1001
+ ],
1002
+ };
1003
+
1004
+ export const tumbleXLoose: Preset = {
1005
+ name: "enter/tumble-x-loose",
1006
+ split: "word",
1007
+ stagger: 40,
1008
+ perspective: 550,
1009
+ transformOrigin: { x: 0.5, y: 1 },
1010
+ animations: [
1011
+ { prop: "opacity", from: 0, to: 1, duration: 300, ease: "sine.out" },
1012
+ { prop: "blur", from: 19, to: 0, duration: 600, ease: "back.out" },
1013
+ { prop: "rotateX", from: 360, to: 0, duration: 750, ease: "power4.out", perspective: 600 },
1014
+ { prop: "translateY", from: 120, to: 0, duration: 650, ease: "elastic.out", jitterDelay: 180 },
1015
+ { prop: "translateZ", from: -300, to: 0, duration: 800, ease: "bounce.out", jitterDelay: 170 },
1016
+ { prop: "scaleX", from: 0.1, to: 1, duration: 550, ease: "elastic.out" },
1017
+ ],
1018
+ };
1019
+
1020
+ export const leanInScatterSpring: Preset = {
1021
+ name: "enter/lean-in-scatter-spring",
1022
+ split: "character",
1023
+ stagger: 40,
1024
+ staggerOrder: "center",
1025
+ perspective: 250,
1026
+ animations: [
1027
+ { prop: "opacity", from: 0, to: 1, duration: 600, ease: "cubic.out" },
1028
+ { prop: "scaleX", from: { min: 0, max: 0 }, to: 1, duration: 800, ease: "sine.out" },
1029
+ { prop: "skewX", from: { min: -107.905, max: 107.905 }, to: 0, duration: 500, ease: "back.out", jitterDelay: 150 },
1030
+ { prop: "translateZ", from: -350, to: 0, duration: 500, ease: "quart.out", perspective: 300 },
1031
+ { prop: "rotate", from: { min: -2472.335, max: 2472.335 }, to: 0, duration: 900, ease: "elastic.out", jitterDelay: 120 },
1032
+ { prop: "translateY", from: { min: -736.506, max: 736.506 }, to: 0, duration: 900, ease: "power4.out" },
1033
+ ],
1034
+ };
1035
+
1036
+ export const toppleScatterTrail: Preset = {
1037
+ name: "enter/topple-scatter-trail",
1038
+ split: "character",
1039
+ stagger: 20,
1040
+ staggerOrder: "end",
1041
+ perspective: 250,
1042
+ transformOrigin: { x: 0.5, y: 1 },
1043
+ animations: [
1044
+ { prop: "opacity", from: 0, to: 1, duration: 400, ease: "circ.out" },
1045
+ { prop: "scale", from: 0.55, to: 1, duration: 650, ease: "cubic.out" },
1046
+ { prop: "rotate", from: { min: -824.412, max: 824.412 }, to: 0, duration: 850, ease: "back.out" },
1047
+ { prop: "rotateX", from: 180, to: 0, duration: 650, ease: "quart.out", jitterDelay: 320 },
1048
+ { prop: "translateX", from: -170, to: 0, duration: 550, ease: "expo.out", jitterDelay: 80 },
1049
+ ],
1050
+ };
1051
+
1052
+ export const whirlScatterCurl: Preset = {
1053
+ name: "enter/whirl-scatter-curl",
1054
+ split: "character",
1055
+ stagger: 35,
1056
+ animations: [
1057
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "expo.out" },
1058
+ { prop: "skewX", from: { min: -79.759, max: 79.759 }, to: 0, duration: 550, ease: "circ.out", transformOrigin: { x: 0.3, y: 0.7, z: -120 } },
1059
+ { prop: "rotate", from: -600, to: 0, duration: 800, ease: "circ.out" },
1060
+ { prop: "scale", from: { min: 0.06, max: 0.75 }, to: 1, duration: 550, ease: "cubic.out", jitterDelay: 270 },
1061
+ { prop: "translateY", from: { min: -644.369, max: 644.369 }, to: 0, duration: 800, ease: "back.out", jitterDelay: 170 },
1062
+ ],
1063
+ };
1064
+
1065
+ export const tipInScatterCurl: Preset = {
1066
+ name: "enter/tip-in-scatter-curl",
1067
+ split: "character",
1068
+ stagger: 50,
1069
+ animations: [
1070
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "expo.out" },
1071
+ { prop: "blur", from: 19, to: 0, duration: 750, ease: "elastic.out" },
1072
+ { prop: "rotate", from: 240, to: 0, duration: 550, ease: "cubic.out", jitterDelay: 270, transformOrigin: { x: 0, y: 0.5 } },
1073
+ { prop: "scaleY", from: 0.2, to: 1, duration: 550, ease: "expo.out", jitterDelay: 330, transformOrigin: { x: 1, y: 1, z: 100 } },
1074
+ { prop: "scale", from: 0.5, to: 1, duration: 900, ease: "back.out", transformOrigin: { x: 0.5, y: 0, z: -100 } },
1075
+ { prop: "skewX", from: { min: -101.269, max: 101.269 }, to: 0, duration: 600, ease: "back.out" },
1076
+ ],
1077
+ };
1078
+
1079
+ export const swirlLoose: Preset = {
1080
+ name: "enter/swirl-loose",
1081
+ split: "word",
1082
+ stagger: 50,
1083
+ animations: [
1084
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "circ.out" },
1085
+ { prop: "rotate", from: 270, to: 0, duration: 550, ease: "circ.out", jitterDelay: 80, transformOrigin: { x: 1, y: 0.5 } },
1086
+ { prop: "translateX", from: 220, to: 0, duration: 550, ease: "cubic.out" },
1087
+ ],
1088
+ };
1089
+
1090
+ export const rotateYInScatterSpring: Preset = {
1091
+ name: "enter/rotate-y-in-scatter-spring",
1092
+ split: "character",
1093
+ stagger: 40,
1094
+ staggerOrder: "edges",
1095
+ perspective: 550,
1096
+ transformOrigin: { x: 0.5, y: 0.5 },
1097
+ animations: [
1098
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "power4.out" },
1099
+ { prop: "rotate", from: { min: -2158.772, max: 2158.772 }, to: 0, duration: 650, ease: "sine.out" },
1100
+ { prop: "rotateY", from: -510, to: 0, duration: 850, ease: "elastic.out", jitterDelay: 60, transformOrigin: { x: 0, y: 0.5 } },
1101
+ { prop: "blur", from: 15, to: 0, duration: 750, ease: "bounce.out" },
1102
+ { prop: "translateZ", from: -250, to: 0, duration: 650, ease: "expo.out", jitterDelay: 170 },
1103
+ { prop: "scaleX", from: { min: 0.3, max: 3.75 }, to: 1, duration: 800, ease: "back.out", jitterDelay: 350, transformOrigin: { x: 1, y: 1 } },
1104
+ ],
1105
+ };
1106
+
1107
+ export const whirlScatterLoose: Preset = {
1108
+ name: "enter/whirl-scatter-loose",
1109
+ split: "character",
1110
+ stagger: 55,
1111
+ staggerOrder: "random",
1112
+ perspective: 500,
1113
+ animations: [
1114
+ { prop: "opacity", from: 0, to: 1, duration: 300, ease: "cubic.out" },
1115
+ { prop: "blur", from: { min: 3.2, max: 40 }, to: 0, duration: 550, ease: "circ.out", jitterDelay: 330 },
1116
+ { prop: "translateZ", from: -600, to: 0, duration: 550, ease: "sine.out", jitterDelay: 190, perspective: 350 },
1117
+ { prop: "rotate", from: -690, to: 0, duration: 650, ease: "quart.out", transformOrigin: { x: 0.5, y: 0.5, z: 150 } },
1118
+ { prop: "scaleX", from: { min: 0.3, max: 3.75 }, to: 1, duration: 550, ease: "expo.out" },
1119
+ { prop: "scaleY", from: 0.2, to: 1, duration: 600, ease: "quart.out", transformOrigin: { x: 0, y: 0.5, z: -100 } },
1120
+ ],
1121
+ };
1122
+
1123
+ export const tipInScatterSnap: Preset = {
1124
+ name: "enter/tip-in-scatter-snap",
1125
+ split: "character",
1126
+ stagger: 20,
1127
+ staggerOrder: "edges",
1128
+ perspective: 650,
1129
+ animations: [
1130
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "expo.out" },
1131
+ { prop: "rotate", from: { min: -689.006, max: 689.006 }, to: 0, duration: 550, ease: "expo.out", jitterDelay: 60 },
1132
+ { prop: "translateY", from: { min: -713.35, max: 713.35 }, to: 0, duration: 750, ease: "elastic.out" },
1133
+ { prop: "translateZ", from: -300, to: 0, duration: 550, ease: "quart.out", perspective: 250 },
1134
+ { prop: "skewX", from: { min: -135.569, max: 135.569 }, to: 0, duration: 650, ease: "bounce.out", transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
1135
+ ],
1136
+ };
1137
+
1138
+ export const swivelScatterInward: Preset = {
1139
+ name: "enter/swivel-scatter-inward",
1140
+ split: "character",
1141
+ stagger: 30,
1142
+ staggerOrder: "edges",
1143
+ perspective: 500,
1144
+ transformOrigin: { x: 0.5, y: 0.5 },
1145
+ animations: [
1146
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "back.out" },
1147
+ { prop: "translateY", from: 110, to: 0, duration: 750, ease: "elastic.out", jitterDelay: 350 },
1148
+ { prop: "rotateY", from: -450, to: 0, duration: 750, ease: "sine.out", jitterDelay: 130 },
1149
+ { prop: "blur", from: { min: 3.8, max: 47.5 }, to: 0, duration: 750, ease: "cubic.out" },
1150
+ { prop: "translateZ", from: -400, to: 0, duration: 550, ease: "sine.out" },
1151
+ ],
1152
+ };
1153
+
1154
+ export const toppleScatterKick: Preset = {
1155
+ name: "enter/topple-scatter-kick",
1156
+ split: "character",
1157
+ stagger: 35,
1158
+ staggerOrder: "random",
1159
+ perspective: 400,
1160
+ transformOrigin: { x: 0.5, y: 1 },
1161
+ animations: [
1162
+ { prop: "opacity", from: 0, to: 1, duration: 600, ease: "quart.out" },
1163
+ { prop: "translateY", from: -90, to: 0, duration: 650, ease: "back.out", jitterDelay: 290 },
1164
+ { prop: "rotateX", from: { min: -1884.898, max: 1884.898 }, to: 0, duration: 800, ease: "back.out", jitterDelay: 200, transformOrigin: { x: 0.7, y: 0.3, z: 120 } },
1165
+ { prop: "scaleY", from: { min: 0.06, max: 0.75 }, to: 1, duration: 550, ease: "expo.out" },
1166
+ { prop: "rotate", from: { min: -2011.127, max: 2011.127 }, to: 0, duration: 850, ease: "quart.out", jitterDelay: 110, transformOrigin: { x: 1, y: 1 } },
1167
+ { prop: "scale", from: 0.45, to: 1, duration: 800, ease: "quart.out", jitterDelay: 160, transformOrigin: { x: 0.5, y: 0.5 } },
1168
+ ],
1169
+ };
1170
+
1171
+ export const collapseSnap: Preset = {
1172
+ name: "exit/collapse-snap",
1173
+ split: "word",
1174
+ stagger: 55,
1175
+ animations: [
1176
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "power2.in" },
1177
+ { prop: "translateX", from: 0, to: -30, duration: 550, ease: "sine.in" },
1178
+ { prop: "translateY", from: 0, to: -30, duration: 450, ease: "back.in" },
1179
+ { prop: "scale", from: 1, to: 0.65, duration: 500, ease: "expo.in" },
1180
+ ],
1181
+ };
1182
+
1183
+ export const leanOutSnap: Preset = {
1184
+ name: "exit/lean-out-snap",
1185
+ split: "character",
1186
+ stagger: 60,
1187
+ animations: [
1188
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "power2.in" },
1189
+ { prop: "rotate", from: 0, to: 60, duration: 450, ease: "expo.in" },
1190
+ ],
1191
+ };
1192
+
1193
+ export const exitXBurst: Preset = {
1194
+ name: "exit/exit-x-burst",
1195
+ split: "character",
1196
+ stagger: 45,
1197
+ staggerOrder: "end",
1198
+ animations: [
1199
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "power2.in" },
1200
+ { prop: "translateX", from: 0, to: { min: -106.907, max: 106.907 }, duration: 600, ease: "power2.in" },
1201
+ { prop: "skewX", from: 0, to: -10, duration: 450, ease: "sine.in" },
1202
+ ],
1203
+ };
1204
+
1205
+ export const mistOut: Preset = {
1206
+ name: "exit/mist-out",
1207
+ split: "character",
1208
+ stagger: 30,
1209
+ animations: [
1210
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "circ.in" },
1211
+ { prop: "blur", from: 0, to: 9, duration: 450, ease: "sine.in" },
1212
+ ],
1213
+ };
1214
+
1215
+ export const shearOutBurst: Preset = {
1216
+ name: "exit/shear-out-burst",
1217
+ split: "character",
1218
+ stagger: 35,
1219
+ staggerOrder: "center",
1220
+ animations: [
1221
+ { prop: "opacity", from: 1, to: 0, duration: 300, ease: "power2.in" },
1222
+ { prop: "skewX", from: 0, to: { min: -20.602, max: 20.602 }, duration: 450, ease: "expo.in" },
1223
+ ],
1224
+ };
1225
+
1226
+ export const compressXKick: Preset = {
1227
+ name: "exit/compress-x-kick",
1228
+ split: "character",
1229
+ stagger: 30,
1230
+ animations: [
1231
+ { prop: "opacity", from: 1, to: 0, duration: 300, ease: "expo.in" },
1232
+ { prop: "translateX", from: 0, to: 60, duration: 600, ease: "back.in", jitterDelay: 40 },
1233
+ { prop: "scaleY", from: 1, to: 0.5, duration: 450, ease: "circ.in" },
1234
+ { prop: "scaleX", from: 1, to: 1.2, duration: 400, ease: "back.in", transformOrigin: { x: 0, y: 1 } },
1235
+ ],
1236
+ };
1237
+
1238
+ export const riseOutBurst: Preset = {
1239
+ name: "exit/rise-out-burst",
1240
+ split: "character",
1241
+ stagger: 60,
1242
+ staggerOrder: "edges",
1243
+ animations: [
1244
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "power2.in" },
1245
+ { prop: "translateY", from: 0, to: { min: -65.044, max: 65.044 }, duration: 450, ease: "sine.in", jitterDelay: 70 },
1246
+ ],
1247
+ };
1248
+
1249
+ export const flipOutBurst: Preset = {
1250
+ name: "exit/flip-out-burst",
1251
+ split: "character",
1252
+ stagger: 20,
1253
+ staggerOrder: "end",
1254
+ perspective: 450,
1255
+ transformOrigin: { x: 0.5, y: 1 },
1256
+ animations: [
1257
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "back.in" },
1258
+ { prop: "scaleY", from: 1, to: { min: 0.5, max: 6.25 }, duration: 500, ease: "circ.in", transformOrigin: { x: 1, y: 1, z: 100 } },
1259
+ { prop: "rotateX", from: 0, to: -270, duration: 450, ease: "power2.in", perspective: 300 },
1260
+ { prop: "rotate", from: 0, to: { min: -686.717, max: 686.717 }, duration: 650, ease: "back.in", transformOrigin: { x: 0.5, y: 0.5, z: 80 } },
1261
+ { prop: "scaleX", from: 1, to: 1.5, duration: 700, ease: "circ.in", jitterDelay: 330 },
1262
+ ],
1263
+ };
1264
+
1265
+ export const pivotOutBurst: Preset = {
1266
+ name: "exit/pivot-out-burst",
1267
+ split: "character",
1268
+ stagger: 45,
1269
+ perspective: 450,
1270
+ transformOrigin: { x: 0.5, y: 0.5 },
1271
+ animations: [
1272
+ { prop: "opacity", from: 1, to: 0, duration: 300, ease: "back.in" },
1273
+ { prop: "translateX", from: 0, to: { min: -442.009, max: 442.009 }, duration: 450, ease: "sine.in" },
1274
+ { prop: "rotateY", from: 0, to: 150, duration: 450, ease: "power2.in", transformOrigin: { x: 0.5, y: 0.5, z: -150 }, perspective: 350 },
1275
+ { prop: "blur", from: 0, to: 16, duration: 400, ease: "back.in" },
1276
+ { prop: "rotate", from: 0, to: { min: -1390.845, max: 1390.845 }, duration: 450, ease: "circ.in", transformOrigin: { x: 1, y: 0.5 } },
1277
+ ],
1278
+ };
1279
+
1280
+ export const flipOutCurl: Preset = {
1281
+ name: "exit/flip-out-curl",
1282
+ split: "character",
1283
+ stagger: 40,
1284
+ staggerOrder: "end",
1285
+ perspective: 300,
1286
+ transformOrigin: { x: 0.5, y: 1 },
1287
+ animations: [
1288
+ { prop: "opacity", from: 1, to: 0, duration: 500, ease: "power2.in" },
1289
+ { prop: "scaleY", from: 1, to: 2, duration: 600, ease: "expo.in" },
1290
+ { prop: "rotateX", from: 0, to: 150, duration: 600, ease: "circ.in", transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
1291
+ { prop: "translateY", from: 0, to: 140, duration: 450, ease: "sine.in", jitterDelay: 250 },
1292
+ ],
1293
+ };
1294
+
1295
+ export const turnOutBurst: Preset = {
1296
+ name: "exit/turn-out-burst",
1297
+ split: "character",
1298
+ stagger: 30,
1299
+ staggerOrder: "center",
1300
+ perspective: 500,
1301
+ transformOrigin: { x: 0.5, y: 0.5 },
1302
+ animations: [
1303
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "sine.in" },
1304
+ { prop: "translateY", from: 0, to: { min: -735.221, max: 735.221 }, duration: 650, ease: "expo.in", jitterDelay: 260 },
1305
+ { prop: "translateZ", from: 0, to: -500, duration: 700, ease: "sine.in", jitterDelay: 340 },
1306
+ { prop: "rotateY", from: 0, to: 330, duration: 550, ease: "back.in", jitterDelay: 210, transformOrigin: { x: 1, y: 0 }, perspective: 400 },
1307
+ { prop: "blur", from: 0, to: { min: 2.6, max: 32.5 }, duration: 550, ease: "back.in" },
1308
+ ],
1309
+ };
1310
+
1311
+ export const squashXBurst: Preset = {
1312
+ name: "exit/squash-x-burst",
1313
+ split: "character",
1314
+ stagger: 30,
1315
+ animations: [
1316
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "back.in" },
1317
+ { prop: "skewX", from: 0, to: { min: -180.065, max: 180.065 }, duration: 300, ease: "circ.in", jitterDelay: 130 },
1318
+ { prop: "scale", from: 1, to: { min: 0.1, max: 1.25 }, duration: 600, ease: "expo.in" },
1319
+ { prop: "blur", from: 0, to: 18, duration: 400, ease: "circ.in", jitterDelay: 180 },
1320
+ { prop: "scaleX", from: 1, to: { min: 0.02, max: 0.25 }, duration: 450, ease: "back.in" },
1321
+ ],
1322
+ };
1323
+
1324
+ export const swivelOutBurst: Preset = {
1325
+ name: "exit/swivel-out-burst",
1326
+ split: "character",
1327
+ stagger: 45,
1328
+ staggerOrder: "edges",
1329
+ perspective: 600,
1330
+ transformOrigin: { x: 0.5, y: 0.5 },
1331
+ animations: [
1332
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "sine.in" },
1333
+ { prop: "blur", from: 0, to: 11, duration: 400, ease: "circ.in" },
1334
+ { prop: "translateX", from: 0, to: { min: -798.874, max: 798.874 }, duration: 700, ease: "circ.in", jitterDelay: 220 },
1335
+ { prop: "rotate", from: 0, to: 360, duration: 600, ease: "circ.in", jitterDelay: 60, transformOrigin: { x: 0, y: 0.5, z: -100 } },
1336
+ { prop: "rotateY", from: 0, to: -270, duration: 400, ease: "circ.in", jitterDelay: 120, transformOrigin: { x: 0.5, y: 0.5, z: -150 }, perspective: 300 },
1337
+ ],
1338
+ };
1339
+
1340
+ export const toppleOutBurst: Preset = {
1341
+ name: "exit/topple-out-burst",
1342
+ split: "character",
1343
+ stagger: 40,
1344
+ staggerOrder: "edges",
1345
+ perspective: 250,
1346
+ transformOrigin: { x: 0.5, y: 1 },
1347
+ animations: [
1348
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "back.in" },
1349
+ { prop: "rotateY", from: 0, to: { min: -730.346, max: 730.346 }, duration: 500, ease: "circ.in", jitterDelay: 300, transformOrigin: { x: 0, y: 1 } },
1350
+ { prop: "rotate", from: 0, to: { min: -682.323, max: 682.323 }, duration: 650, ease: "power2.in", transformOrigin: { x: 0.5, y: 1, z: 100 } },
1351
+ { prop: "scale", from: 1, to: 0.6, duration: 500, ease: "back.in", jitterDelay: 120, transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
1352
+ { prop: "rotateX", from: 0, to: { min: -379.093, max: 379.093 }, duration: 600, ease: "expo.in", jitterDelay: 220 },
1353
+ { prop: "translateZ", from: 0, to: -500, duration: 650, ease: "power2.in", perspective: 250 },
1354
+ ],
1355
+ };
1356
+
1357
+ export const flattenY: Preset = {
1358
+ name: "exit/flatten-y",
1359
+ split: "word",
1360
+ stagger: 55,
1361
+ animations: [
1362
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "expo.in" },
1363
+ { prop: "scaleY", from: 1, to: 0.2, duration: 600, ease: "circ.in" },
1364
+ { prop: "translateY", from: 0, to: 140, duration: 600, ease: "back.in" },
1365
+ ],
1366
+ };
1367
+
1368
+ export const tiltOutBurstLoose: Preset = {
1369
+ name: "exit/tilt-out-burst-loose",
1370
+ split: "character",
1371
+ stagger: 30,
1372
+ animations: [
1373
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "expo.in" },
1374
+ { prop: "scale", from: 1, to: 0.6, duration: 650, ease: "power2.in", jitterDelay: 110 },
1375
+ { prop: "scaleX", from: 1, to: { min: 0, max: 0 }, duration: 650, ease: "sine.in", jitterDelay: 310 },
1376
+ { prop: "rotate", from: 0, to: { min: -1702.922, max: 1702.922 }, duration: 550, ease: "power2.in" },
1377
+ ],
1378
+ };
1379
+
1380
+ export const swirlOutCurl: Preset = {
1381
+ name: "exit/swirl-out-curl",
1382
+ split: "character",
1383
+ stagger: 60,
1384
+ staggerOrder: "center",
1385
+ perspective: 200,
1386
+ animations: [
1387
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "circ.in" },
1388
+ { prop: "rotate", from: 0, to: 600, duration: 450, ease: "circ.in", transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
1389
+ { prop: "scale", from: 1, to: 0.55, duration: 700, ease: "sine.in", transformOrigin: { x: 0.5, y: 1 } },
1390
+ { prop: "translateZ", from: 0, to: -300, duration: 400, ease: "power2.in" },
1391
+ ],
1392
+ };
1393
+
1394
+ export const toppleOutBurstCurl: Preset = {
1395
+ name: "exit/topple-out-burst-curl",
1396
+ split: "character",
1397
+ stagger: 35,
1398
+ perspective: 400,
1399
+ transformOrigin: { x: 0.5, y: 1 },
1400
+ animations: [
1401
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "expo.in" },
1402
+ { prop: "rotateX", from: 0, to: 180, duration: 650, ease: "circ.in", transformOrigin: { x: 1, y: 0.5, z: 100 }, perspective: 450 },
1403
+ { prop: "scaleX", from: 1, to: { min: 0.06, max: 0.75 }, duration: 400, ease: "sine.in", jitterDelay: 170, transformOrigin: { x: 1, y: 0.5, z: 100 } },
1404
+ { prop: "scale", from: 1, to: { min: 0.11, max: 1.375 }, duration: 500, ease: "expo.in", transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
1405
+ { prop: "translateX", from: 0, to: { min: -716.595, max: 716.595 }, duration: 550, ease: "sine.in" },
1406
+ ],
1407
+ };
1408
+
1409
+ export const squashXBurstCurl: Preset = {
1410
+ name: "exit/squash-x-burst-curl",
1411
+ split: "character",
1412
+ stagger: 45,
1413
+ staggerOrder: "end",
1414
+ animations: [
1415
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "power2.in" },
1416
+ { prop: "skewX", from: 0, to: { min: -87.929, max: 87.929 }, duration: 450, ease: "back.in", jitterDelay: 350 },
1417
+ { prop: "scaleY", from: 1, to: 2, duration: 500, ease: "power2.in", transformOrigin: { x: 0.5, y: 0, z: -100 } },
1418
+ { prop: "scaleX", from: 1, to: { min: 0.04, max: 0.5 }, duration: 500, ease: "power2.in", transformOrigin: { x: 1, y: 0.5 } },
1419
+ ],
1420
+ };
1421
+
1422
+ export const tipOutBurst: Preset = {
1423
+ name: "exit/tip-out-burst",
1424
+ split: "character",
1425
+ stagger: 35,
1426
+ animations: [
1427
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "circ.in" },
1428
+ { prop: "scale", from: 1, to: { min: 0.12, max: 1.5 }, duration: 650, ease: "power2.in" },
1429
+ { prop: "rotate", from: 0, to: { min: -2817.788, max: 2817.788 }, duration: 700, ease: "expo.in" },
1430
+ { prop: "scaleX", from: 1, to: 0.1, duration: 600, ease: "expo.in" },
1431
+ { prop: "skewX", from: 0, to: -25, duration: 350, ease: "power2.in" },
1432
+ { prop: "blur", from: 0, to: { min: 2.4, max: 30 }, duration: 350, ease: "power2.in", jitterDelay: 220 },
1433
+ { prop: "scaleY", from: 1, to: 0.1, duration: 450, ease: "power2.in", transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
1434
+ ],
1435
+ };
1436
+
1437
+ export const foldOutBurst: Preset = {
1438
+ name: "exit/fold-out-burst",
1439
+ split: "character",
1440
+ stagger: 45,
1441
+ perspective: 500,
1442
+ transformOrigin: { x: 0.5, y: 0.5 },
1443
+ animations: [
1444
+ { prop: "opacity", from: 1, to: 0, duration: 500, ease: "expo.in" },
1445
+ { prop: "rotateX", from: 0, to: { min: -838.542, max: 838.542 }, duration: 600, ease: "expo.in", jitterDelay: 340 },
1446
+ { prop: "rotateY", from: 0, to: { min: -1504.682, max: 1504.682 }, duration: 650, ease: "circ.in", jitterDelay: 50, perspective: 200 },
1447
+ { prop: "blur", from: 0, to: { min: 1.8, max: 22.5 }, duration: 450, ease: "back.in" },
1448
+ { prop: "skewX", from: 0, to: { min: -158.202, max: 158.202 }, duration: 550, ease: "sine.in" },
1449
+ ],
1450
+ };
1451
+
1452
+ export const foldOutBurstCurl: Preset = {
1453
+ name: "exit/fold-out-burst-curl",
1454
+ split: "character",
1455
+ stagger: 50,
1456
+ perspective: 300,
1457
+ transformOrigin: { x: 0.5, y: 1 },
1458
+ animations: [
1459
+ { prop: "opacity", from: 1, to: 0, duration: 500, ease: "power2.in" },
1460
+ { prop: "rotateX", from: 0, to: { min: -1671.432, max: 1671.432 }, duration: 500, ease: "power2.in", transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
1461
+ { prop: "scale", from: 1, to: 0.55, duration: 400, ease: "power2.in", jitterDelay: 210, transformOrigin: { x: 1, y: 0.5, z: 100 } },
1462
+ { prop: "translateX", from: 0, to: { min: -842.788, max: 842.788 }, duration: 600, ease: "expo.in" },
1463
+ { prop: "scaleY", from: 1, to: { min: 0.4, max: 5 }, duration: 450, ease: "back.in", transformOrigin: { x: 0, y: 0.5 } },
1464
+ ],
1465
+ };
1466
+
1467
+ export const flipOutLoose: Preset = {
1468
+ name: "exit/flip-out-loose",
1469
+ split: "character",
1470
+ stagger: 55,
1471
+ staggerOrder: "end",
1472
+ perspective: 650,
1473
+ transformOrigin: { x: 0.5, y: 1 },
1474
+ animations: [
1475
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "sine.in" },
1476
+ { prop: "translateX", from: 0, to: 210, duration: 700, ease: "power2.in", jitterDelay: 240 },
1477
+ { prop: "translateZ", from: 0, to: -500, duration: 550, ease: "back.in", perspective: 650 },
1478
+ { prop: "rotateX", from: 0, to: 450, duration: 500, ease: "sine.in", perspective: 350 },
1479
+ ],
1480
+ };
1481
+
1482
+ export const tipOutBurstCurl: Preset = {
1483
+ name: "exit/tip-out-burst-curl",
1484
+ split: "character",
1485
+ stagger: 30,
1486
+ perspective: 250,
1487
+ animations: [
1488
+ { prop: "opacity", from: 1, to: 0, duration: 300, ease: "back.in" },
1489
+ { prop: "rotate", from: 0, to: { min: -8211.136, max: 8211.136 }, duration: 600, ease: "sine.in", transformOrigin: { x: 0.5, y: 0.5, z: 80 } },
1490
+ { prop: "translateZ", from: 0, to: -500, duration: 600, ease: "expo.in", jitterDelay: 250, perspective: 350 },
1491
+ { prop: "scaleX", from: 1, to: { min: 0.6, max: 7.5 }, duration: 500, ease: "back.in", jitterDelay: 360, transformOrigin: { x: 0.5, y: 0.5, z: 150 } },
1492
+ ],
1493
+ };
1494
+
1495
+ export const toppleOutBurstSnap: Preset = {
1496
+ name: "exit/topple-out-burst-snap",
1497
+ split: "character",
1498
+ stagger: 50,
1499
+ staggerOrder: "end",
1500
+ perspective: 250,
1501
+ transformOrigin: { x: 0.5, y: 1 },
1502
+ animations: [
1503
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "circ.in" },
1504
+ { prop: "blur", from: 0, to: { min: 5.6, max: 70 }, duration: 550, ease: "back.in", jitterDelay: 320 },
1505
+ { prop: "translateZ", from: 0, to: -700, duration: 450, ease: "power2.in", jitterDelay: 330 },
1506
+ { prop: "rotate", from: 0, to: { min: -2756.425, max: 2756.425 }, duration: 700, ease: "back.in", jitterDelay: 100 },
1507
+ { prop: "translateY", from: 0, to: { min: -2088.237, max: 2088.237 }, duration: 650, ease: "power2.in" },
1508
+ { prop: "rotateX", from: 0, to: { min: -2681.519, max: 2681.519 }, duration: 450, ease: "expo.in", jitterDelay: 170, perspective: 100 },
1509
+ ],
1510
+ };
1511
+
1512
+ export const foldOutBurst2: Preset = {
1513
+ name: "exit/fold-out-burst-2",
1514
+ split: "character",
1515
+ stagger: 55,
1516
+ perspective: 550,
1517
+ transformOrigin: { x: 0.5, y: 1 },
1518
+ animations: [
1519
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "power2.in" },
1520
+ { prop: "translateY", from: 0, to: -150, duration: 550, ease: "back.in" },
1521
+ { prop: "translateX", from: 0, to: -200, duration: 500, ease: "back.in" },
1522
+ { prop: "rotateX", from: 0, to: { min: -1910.147, max: 1910.147 }, duration: 550, ease: "circ.in", transformOrigin: { x: 0.5, y: 1 } },
1523
+ ],
1524
+ };
1525
+
1526
+ export const tiltOutBurstWord: Preset = {
1527
+ name: "exit/tilt-out-burst-word",
1528
+ split: "word",
1529
+ stagger: 25,
1530
+ staggerOrder: "center",
1531
+ animations: [
1532
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "circ.in" },
1533
+ { prop: "rotate", from: 0, to: -180, duration: 500, ease: "sine.in" },
1534
+ { prop: "skewX", from: 0, to: 25, duration: 400, ease: "back.in", jitterDelay: 250, transformOrigin: { x: 0.5, y: 0 } },
1535
+ { prop: "blur", from: 0, to: { min: 1.4, max: 17.5 }, duration: 500, ease: "sine.in" },
1536
+ ],
1537
+ };
1538
+
1539
+ export const compressXBurst: Preset = {
1540
+ name: "exit/compress-x-burst",
1541
+ split: "character",
1542
+ stagger: 25,
1543
+ staggerOrder: "end",
1544
+ animations: [
1545
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "power2.in" },
1546
+ { prop: "scaleX", from: 1, to: { min: 0.4, max: 5 }, duration: 600, ease: "circ.in", transformOrigin: { x: 0, y: 0 } },
1547
+ { prop: "blur", from: 0, to: 16, duration: 500, ease: "circ.in" },
1548
+ { prop: "scaleY", from: 1, to: { min: 0.8, max: 10 }, duration: 450, ease: "back.in", transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
1549
+ { prop: "translateY", from: 0, to: -120, duration: 500, ease: "expo.in", jitterDelay: 240 },
1550
+ ],
1551
+ };
1552
+
1553
+ export const liftOutBurst: Preset = {
1554
+ name: "exit/lift-out-burst",
1555
+ split: "character",
1556
+ stagger: 15,
1557
+ animations: [
1558
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "circ.in" },
1559
+ { prop: "blur", from: 0, to: 16, duration: 300, ease: "back.in" },
1560
+ { prop: "translateY", from: 0, to: { min: -348.088, max: 348.088 }, duration: 600, ease: "sine.in" },
1561
+ { prop: "translateX", from: 0, to: { min: -417.724, max: 417.724 }, duration: 400, ease: "sine.in" },
1562
+ ],
1563
+ };
1564
+
1565
+ export const swivelOutCurl: Preset = {
1566
+ name: "exit/swivel-out-curl",
1567
+ split: "character",
1568
+ stagger: 45,
1569
+ perspective: 350,
1570
+ transformOrigin: { x: 0.5, y: 0.5 },
1571
+ animations: [
1572
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "expo.in" },
1573
+ { prop: "rotateY", from: 0, to: -420, duration: 500, ease: "expo.in", transformOrigin: { x: 0, y: 0, z: -100 } },
1574
+ { prop: "blur", from: 0, to: 13, duration: 550, ease: "circ.in", jitterDelay: 210 },
1575
+ ],
1576
+ };
1577
+
1578
+ export const flattenYBurst: Preset = {
1579
+ name: "exit/flatten-y-burst",
1580
+ split: "character",
1581
+ stagger: 55,
1582
+ perspective: 200,
1583
+ animations: [
1584
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "expo.in" },
1585
+ { prop: "translateZ", from: 0, to: -600, duration: 400, ease: "sine.in" },
1586
+ { prop: "scaleY", from: 1, to: { min: 0.04, max: 0.5 }, duration: 600, ease: "sine.in", transformOrigin: { x: 1, y: 0.5, z: 100 } },
1587
+ { prop: "skewX", from: 0, to: { min: -95.481, max: 95.481 }, duration: 550, ease: "expo.in", transformOrigin: { x: 0.5, y: 0.5 } },
1588
+ { prop: "translateX", from: 0, to: { min: -994.343, max: 994.343 }, duration: 500, ease: "back.in" },
1589
+ ],
1590
+ };
1591
+
1592
+ export const compressXBurstCurl: Preset = {
1593
+ name: "exit/compress-x-burst-curl",
1594
+ split: "character",
1595
+ stagger: 35,
1596
+ staggerOrder: "center",
1597
+ perspective: 300,
1598
+ animations: [
1599
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "power2.in" },
1600
+ { prop: "scaleX", from: 1, to: { min: 0.3, max: 3.75 }, duration: 500, ease: "power2.in", jitterDelay: 300, transformOrigin: { x: 0, y: 0, z: -100 } },
1601
+ { prop: "blur", from: 0, to: 19, duration: 450, ease: "sine.in", jitterDelay: 270 },
1602
+ { prop: "translateZ", from: 0, to: -300, duration: 550, ease: "back.in", jitterDelay: 200 },
1603
+ { prop: "scaleY", from: 1, to: { min: 0.6, max: 7.5 }, duration: 450, ease: "expo.in", transformOrigin: { x: 0.5, y: 1 } },
1604
+ ],
1605
+ };
1606
+
1607
+ export const tipOutBurstLoose: Preset = {
1608
+ name: "exit/tip-out-burst-loose",
1609
+ split: "character",
1610
+ stagger: 50,
1611
+ staggerOrder: "end",
1612
+ animations: [
1613
+ { prop: "opacity", from: 1, to: 0, duration: 500, ease: "power2.in" },
1614
+ { prop: "rotate", from: 0, to: { min: -1061.328, max: 1061.328 }, duration: 700, ease: "circ.in", jitterDelay: 260 },
1615
+ { prop: "skewX", from: 0, to: -30, duration: 500, ease: "sine.in" },
1616
+ ],
1617
+ };
1618
+
1619
+ export const swivelOutBurstCurl: Preset = {
1620
+ name: "exit/swivel-out-burst-curl",
1621
+ split: "character",
1622
+ stagger: 60,
1623
+ perspective: 600,
1624
+ transformOrigin: { x: 0.5, y: 0.5 },
1625
+ animations: [
1626
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "expo.in" },
1627
+ { prop: "rotate", from: 0, to: { min: -1383.56, max: 1383.56 }, duration: 400, ease: "circ.in", jitterDelay: 160, transformOrigin: { x: 0.5, y: 0 } },
1628
+ { prop: "translateZ", from: 0, to: -500, duration: 500, ease: "back.in", jitterDelay: 330 },
1629
+ { prop: "scale", from: 1, to: 0.6, duration: 500, ease: "expo.in", transformOrigin: { x: 1, y: 0 } },
1630
+ { prop: "rotateY", from: 0, to: 180, duration: 700, ease: "expo.in", jitterDelay: 310, transformOrigin: { x: 0.5, y: 0.5, z: 150 } },
1631
+ ],
1632
+ };
1633
+
1634
+ export const leanOutBurst: Preset = {
1635
+ name: "exit/lean-out-burst",
1636
+ split: "character",
1637
+ stagger: 55,
1638
+ perspective: 400,
1639
+ animations: [
1640
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "back.in" },
1641
+ { prop: "scale", from: 1, to: { min: 0.07, max: 0.875 }, duration: 550, ease: "circ.in", jitterDelay: 500, transformOrigin: { x: 1, y: 0.5 } },
1642
+ { prop: "translateZ", from: 0, to: -550, duration: 450, ease: "back.in", jitterDelay: 320, perspective: 250 },
1643
+ { prop: "skewX", from: 0, to: { min: -426.352, max: 426.352 }, duration: 350, ease: "circ.in", jitterDelay: 120, transformOrigin: { x: 1, y: 0.5 } },
1644
+ { prop: "rotate", from: 0, to: { min: -4167.85, max: 4167.85 }, duration: 600, ease: "sine.in", jitterDelay: 260 },
1645
+ { prop: "scaleY", from: 1, to: { min: 0.6, max: 7.5 }, duration: 650, ease: "back.in", jitterDelay: 490, transformOrigin: { x: 0.5, y: 0.5, z: 80 } },
1646
+ { prop: "scaleX", from: 1, to: { min: 0.6, max: 7.5 }, duration: 600, ease: "sine.in", jitterDelay: 380, transformOrigin: { x: 0.5, y: 0 } },
1647
+ { prop: "blur", from: 0, to: { min: 2.6, max: 32.5 }, duration: 300, ease: "expo.in", jitterDelay: 410 },
1648
+ ],
1649
+ };
1650
+
1651
+ export const leanOutBurstWord: Preset = {
1652
+ name: "exit/lean-out-burst-word",
1653
+ split: "word",
1654
+ stagger: 35,
1655
+ staggerOrder: "edges",
1656
+ perspective: 250,
1657
+ animations: [
1658
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "back.in" },
1659
+ { prop: "scale", from: 1, to: 0.4, duration: 650, ease: "sine.in", transformOrigin: { x: 0, y: 0.5, z: -100 } },
1660
+ { prop: "rotate", from: 0, to: { min: -3398.606, max: 3398.606 }, duration: 650, ease: "expo.in", transformOrigin: { x: 0.5, y: 0, z: -100 } },
1661
+ { prop: "translateX", from: 0, to: { min: -3183.365, max: 3183.365 }, duration: 500, ease: "expo.in", jitterDelay: 300 },
1662
+ { prop: "translateZ", from: 0, to: -850, duration: 400, ease: "expo.in", perspective: 100 },
1663
+ { prop: "translateY", from: 0, to: { min: -1398.153, max: 1398.153 }, duration: 700, ease: "circ.in" },
1664
+ ],
1665
+ };
1666
+
1667
+ export const leanOutBurstCurl: Preset = {
1668
+ name: "exit/lean-out-burst-curl",
1669
+ split: "character",
1670
+ stagger: 20,
1671
+ perspective: 150,
1672
+ animations: [
1673
+ { prop: "opacity", from: 1, to: 0, duration: 300, ease: "expo.in" },
1674
+ { prop: "blur", from: 0, to: { min: 5.6, max: 70 }, duration: 350, ease: "power2.in", jitterDelay: 130 },
1675
+ { prop: "rotate", from: 0, to: { min: -9227.372, max: 9227.372 }, duration: 550, ease: "power2.in", jitterDelay: 120, transformOrigin: { x: 1, y: 0.5, z: 100 } },
1676
+ { prop: "scale", from: 1, to: { min: 0.09, max: 1.125 }, duration: 600, ease: "sine.in" },
1677
+ { prop: "scaleY", from: 1, to: 0, duration: 450, ease: "circ.in", jitterDelay: 370 },
1678
+ { prop: "translateZ", from: 0, to: -950, duration: 550, ease: "sine.in", jitterDelay: 150, perspective: 200 },
1679
+ ],
1680
+ };
1681
+
1682
+ export const swivelOut: Preset = {
1683
+ name: "exit/swivel-out",
1684
+ split: "word",
1685
+ stagger: 25,
1686
+ perspective: 1250,
1687
+ transformOrigin: { x: 0.5, y: 0.5 },
1688
+ animations: [
1689
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "back.in" },
1690
+ { prop: "rotateY", from: 0, to: -30, duration: 650, ease: "sine.in" },
1691
+ { prop: "translateY", from: 0, to: -70, duration: 400, ease: "back.in" },
1692
+ { prop: "scaleX", from: 1, to: 0.7, duration: 550, ease: "circ.in" },
1693
+ ],
1694
+ };
1695
+
1696
+ export const dissolveKick: Preset = {
1697
+ name: "exit/dissolve-kick",
1698
+ split: "character",
1699
+ stagger: 55,
1700
+ staggerOrder: "edges",
1701
+ animations: [
1702
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "expo.in" },
1703
+ { prop: "blur", from: 0, to: 4, duration: 400, ease: "back.in" },
1704
+ ],
1705
+ };
1706
+
1707
+ export const riseOutKick: Preset = {
1708
+ name: "exit/rise-out-kick",
1709
+ split: "character",
1710
+ stagger: 50,
1711
+ animations: [
1712
+ { prop: "opacity", from: 1, to: 0, duration: 500, ease: "circ.in" },
1713
+ { prop: "translateY", from: 0, to: -50, duration: 450, ease: "back.in" },
1714
+ ],
1715
+ };
1716
+
1717
+ export const swivelOutKick: Preset = {
1718
+ name: "exit/swivel-out-kick",
1719
+ split: "character",
1720
+ stagger: 40,
1721
+ staggerOrder: "random",
1722
+ perspective: 1300,
1723
+ transformOrigin: { x: 0.5, y: 0.5 },
1724
+ animations: [
1725
+ { prop: "opacity", from: 1, to: 0, duration: 300, ease: "sine.in" },
1726
+ { prop: "scale", from: 1, to: 0.25, duration: 700, ease: "power2.in", jitterDelay: 50 },
1727
+ { prop: "rotateY", from: 0, to: 30, duration: 550, ease: "back.in" },
1728
+ ],
1729
+ };
1730
+
1731
+ export const twirlOutBurst: Preset = {
1732
+ name: "exit/twirl-out-burst",
1733
+ split: "character",
1734
+ stagger: 20,
1735
+ staggerOrder: "center",
1736
+ animations: [
1737
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "circ.in" },
1738
+ { prop: "skewX", from: 0, to: { min: -73.053, max: 73.053 }, duration: 350, ease: "sine.in", jitterDelay: 200 },
1739
+ { prop: "scaleY", from: 1, to: 0.2, duration: 500, ease: "circ.in", transformOrigin: { x: 1, y: 0.5 } },
1740
+ { prop: "rotate", from: 0, to: -540, duration: 700, ease: "sine.in" },
1741
+ ],
1742
+ };
1743
+
1744
+ export const pinwheelOut: Preset = {
1745
+ name: "exit/pinwheel-out",
1746
+ split: "character",
1747
+ stagger: 35,
1748
+ animations: [
1749
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "power2.in" },
1750
+ { prop: "scaleX", from: 1, to: 0.3, duration: 700, ease: "circ.in" },
1751
+ { prop: "rotate", from: 0, to: 600, duration: 450, ease: "circ.in", transformOrigin: { x: 1, y: 1 } },
1752
+ { prop: "blur", from: 0, to: 16, duration: 350, ease: "power2.in" },
1753
+ ],
1754
+ };
1755
+
1756
+ export const turnOutBurstSnap: Preset = {
1757
+ name: "exit/turn-out-burst-snap",
1758
+ split: "character",
1759
+ stagger: 60,
1760
+ staggerOrder: "end",
1761
+ perspective: 300,
1762
+ transformOrigin: { x: 0.5, y: 0.5 },
1763
+ animations: [
1764
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "circ.in" },
1765
+ { prop: "translateZ", from: 0, to: -550, duration: 550, ease: "power2.in" },
1766
+ { prop: "rotateY", from: 0, to: 180, duration: 500, ease: "expo.in", jitterDelay: 250, transformOrigin: { x: 1, y: 1 } },
1767
+ { prop: "scaleY", from: 1, to: { min: 0, max: -2.5 }, duration: 650, ease: "circ.in", jitterDelay: 130, transformOrigin: { x: 0.5, y: 0 } },
1768
+ { prop: "rotate", from: 0, to: 330, duration: 500, ease: "sine.in", transformOrigin: { x: 0.5, y: 0 } },
1769
+ ],
1770
+ };
1771
+
1772
+ export const swirlOutBurst: Preset = {
1773
+ name: "exit/swirl-out-burst",
1774
+ split: "character",
1775
+ stagger: 50,
1776
+ animations: [
1777
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "sine.in" },
1778
+ { prop: "scaleY", from: 1, to: { min: 0.4, max: 5 }, duration: 500, ease: "back.in", jitterDelay: 220 },
1779
+ { prop: "blur", from: 0, to: { min: 5.2, max: 65 }, duration: 500, ease: "sine.in", jitterDelay: 180 },
1780
+ { prop: "skewX", from: 0, to: { min: -156.995, max: 156.995 }, duration: 450, ease: "power2.in", transformOrigin: { x: 0.3, y: 0.7, z: -120 } },
1781
+ { prop: "translateY", from: 0, to: { min: -1468.315, max: 1468.315 }, duration: 650, ease: "back.in", jitterDelay: 220 },
1782
+ { prop: "scale", from: 1, to: 0.8, duration: 450, ease: "expo.in", jitterDelay: 460 },
1783
+ { prop: "rotate", from: 0, to: -360, duration: 600, ease: "expo.in", jitterDelay: 130, transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
1784
+ ],
1785
+ };
1786
+
1787
+ export const compressXBurstKick: Preset = {
1788
+ name: "exit/compress-x-burst-kick",
1789
+ split: "character",
1790
+ stagger: 50,
1791
+ perspective: 600,
1792
+ animations: [
1793
+ { prop: "opacity", from: 1, to: 0, duration: 500, ease: "power2.in" },
1794
+ { prop: "translateZ", from: 0, to: -400, duration: 400, ease: "power2.in" },
1795
+ { prop: "translateY", from: 0, to: -110, duration: 650, ease: "sine.in" },
1796
+ { prop: "blur", from: 0, to: 20, duration: 350, ease: "back.in" },
1797
+ { prop: "scaleX", from: 1, to: { min: 0.04, max: 0.5 }, duration: 650, ease: "back.in" },
1798
+ ],
1799
+ };
1800
+
1801
+ export const turnOutBurst2: Preset = {
1802
+ name: "exit/turn-out-burst-2",
1803
+ split: "character",
1804
+ stagger: 35,
1805
+ perspective: 300,
1806
+ transformOrigin: { x: 0.5, y: 0.5 },
1807
+ animations: [
1808
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "circ.in" },
1809
+ { prop: "rotate", from: 0, to: 270, duration: 650, ease: "expo.in", transformOrigin: { x: 0, y: 1 } },
1810
+ { prop: "rotateY", from: 0, to: -510, duration: 600, ease: "expo.in", jitterDelay: 340 },
1811
+ { prop: "scaleX", from: 1, to: 0.1, duration: 500, ease: "power2.in", transformOrigin: { x: 0.5, y: 0 } },
1812
+ { prop: "translateZ", from: 0, to: -350, duration: 600, ease: "expo.in", jitterDelay: 120 },
1813
+ { prop: "scaleY", from: 1, to: { min: 0.3, max: 3.75 }, duration: 400, ease: "back.in", jitterDelay: 140 },
1814
+ ],
1815
+ };
1816
+
1817
+ export const flattenXLoose: Preset = {
1818
+ name: "exit/flatten-x-loose",
1819
+ split: "character",
1820
+ stagger: 25,
1821
+ animations: [
1822
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "sine.in" },
1823
+ { prop: "scaleX", from: 1, to: 2, duration: 650, ease: "circ.in" },
1824
+ { prop: "translateY", from: 0, to: 120, duration: 500, ease: "circ.in", jitterDelay: 100 },
1825
+ ],
1826
+ };
1827
+
1828
+ export const pivotOutBurstLoose: Preset = {
1829
+ name: "exit/pivot-out-burst-loose",
1830
+ split: "character",
1831
+ stagger: 45,
1832
+ staggerOrder: "center",
1833
+ perspective: 550,
1834
+ transformOrigin: { x: 0.5, y: 0.5 },
1835
+ animations: [
1836
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "power2.in" },
1837
+ { prop: "rotateY", from: 0, to: { min: -1634.263, max: 1634.263 }, duration: 600, ease: "power2.in", jitterDelay: 300, transformOrigin: { x: 0.5, y: 1 } },
1838
+ { prop: "translateZ", from: 0, to: -400, duration: 500, ease: "sine.in" },
1839
+ ],
1840
+ };
1841
+
1842
+ export const flattenXBurstLoose: Preset = {
1843
+ name: "exit/flatten-x-burst-loose",
1844
+ split: "character",
1845
+ stagger: 15,
1846
+ animations: [
1847
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "circ.in" },
1848
+ { prop: "skewX", from: 0, to: { min: -98.309, max: 98.309 }, duration: 500, ease: "back.in" },
1849
+ { prop: "blur", from: 0, to: { min: 2, max: 25 }, duration: 500, ease: "power2.in" },
1850
+ { prop: "scaleX", from: 1, to: 0.1, duration: 600, ease: "power2.in", jitterDelay: 160, transformOrigin: { x: 1, y: 0 } },
1851
+ ],
1852
+ };
1853
+
1854
+ export const turnOutBurstDeep: Preset = {
1855
+ name: "exit/turn-out-burst-deep",
1856
+ split: "character",
1857
+ stagger: 35,
1858
+ perspective: 550,
1859
+ transformOrigin: { x: 0.5, y: 0.5 },
1860
+ animations: [
1861
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "power2.in" },
1862
+ { prop: "rotate", from: 0, to: 420, duration: 400, ease: "back.in", jitterDelay: 220, transformOrigin: { x: 0, y: 0.5 } },
1863
+ { prop: "scaleX", from: 1, to: { min: 0.3, max: 3.75 }, duration: 600, ease: "power2.in", jitterDelay: 270, transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
1864
+ { prop: "translateZ", from: 0, to: -300, duration: 550, ease: "power2.in", perspective: 500 },
1865
+ { prop: "rotateY", from: 0, to: { min: -1514.115, max: 1514.115 }, duration: 650, ease: "sine.in", transformOrigin: { x: 1, y: 1 }, perspective: 400 },
1866
+ { prop: "skewX", from: 0, to: 30, duration: 400, ease: "circ.in", jitterDelay: 130 },
1867
+ ],
1868
+ };
1869
+
1870
+ export const leanOutBurstSwarm: Preset = {
1871
+ name: "exit/lean-out-burst-swarm",
1872
+ split: "character",
1873
+ stagger: 20,
1874
+ staggerOrder: "random",
1875
+ animations: [
1876
+ { prop: "opacity", from: 1, to: 0, duration: 300, ease: "circ.in" },
1877
+ { prop: "rotate", from: 0, to: { min: -708.308, max: 708.308 }, duration: 400, ease: "power2.in", transformOrigin: { x: 0.5, y: 0.5 } },
1878
+ { prop: "blur", from: 0, to: 15, duration: 550, ease: "circ.in" },
1879
+ ],
1880
+ };
1881
+
1882
+ export const toppleOutBurstKick: Preset = {
1883
+ name: "exit/topple-out-burst-kick",
1884
+ split: "character",
1885
+ stagger: 30,
1886
+ staggerOrder: "end",
1887
+ perspective: 350,
1888
+ transformOrigin: { x: 0.5, y: 0.5 },
1889
+ animations: [
1890
+ { prop: "opacity", from: 1, to: 0, duration: 250, ease: "circ.in" },
1891
+ { prop: "skewX", from: 0, to: { min: -103.077, max: 103.077 }, duration: 600, ease: "back.in", jitterDelay: 200 },
1892
+ { prop: "scale", from: 1, to: { min: 0.1, max: 1.25 }, duration: 650, ease: "sine.in", jitterDelay: 300, transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
1893
+ { prop: "rotateX", from: 0, to: -540, duration: 450, ease: "back.in", perspective: 650 },
1894
+ { prop: "rotate", from: 0, to: -120, duration: 600, ease: "circ.in", transformOrigin: { x: 1, y: 1 } },
1895
+ { prop: "rotateY", from: 0, to: { min: -513.409, max: 513.409 }, duration: 500, ease: "back.in", jitterDelay: 340, perspective: 600 },
1896
+ { prop: "translateZ", from: 0, to: -250, duration: 500, ease: "back.in", jitterDelay: 90, perspective: 500 },
1897
+ ],
1898
+ };
1899
+
1900
+ export const turnOutBurstSwarm: Preset = {
1901
+ name: "exit/turn-out-burst-swarm",
1902
+ split: "character",
1903
+ stagger: 40,
1904
+ staggerOrder: "random",
1905
+ perspective: 200,
1906
+ transformOrigin: { x: 0.5, y: 0.5 },
1907
+ animations: [
1908
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "expo.in" },
1909
+ { prop: "scale", from: 1, to: { min: 0.04, max: 0.5 }, duration: 600, ease: "expo.in" },
1910
+ { prop: "rotateY", from: 0, to: 420, duration: 600, ease: "sine.in", jitterDelay: 130, perspective: 300 },
1911
+ { prop: "translateZ", from: 0, to: -400, duration: 550, ease: "circ.in" },
1912
+ { prop: "translateY", from: 0, to: { min: -531.079, max: 531.079 }, duration: 550, ease: "expo.in" },
1913
+ ],
1914
+ };
1915
+
1916
+ export const tiltOutBurst2: Preset = {
1917
+ name: "exit/tilt-out-burst",
1918
+ split: "word",
1919
+ stagger: 45,
1920
+ perspective: 200,
1921
+ animations: [
1922
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "back.in" },
1923
+ { prop: "rotate", from: 0, to: { min: -1463.134, max: 1463.134 }, duration: 600, ease: "circ.in", transformOrigin: { x: 1, y: 0.5 } },
1924
+ { prop: "scaleX", from: 1, to: 2, duration: 450, ease: "back.in" },
1925
+ { prop: "skewX", from: 0, to: { min: -93.8, max: 93.8 }, duration: 550, ease: "sine.in", jitterDelay: 210 },
1926
+ { prop: "scale", from: 1, to: 0.3, duration: 550, ease: "back.in" },
1927
+ { prop: "translateX", from: 0, to: -130, duration: 500, ease: "back.in", jitterDelay: 290 },
1928
+ { prop: "translateZ", from: 0, to: -550, duration: 400, ease: "back.in" },
1929
+ ],
1930
+ };
1931
+
1932
+ export const swivelOutBurstLoose: Preset = {
1933
+ name: "exit/swivel-out-burst-loose",
1934
+ split: "character",
1935
+ stagger: 35,
1936
+ staggerOrder: "edges",
1937
+ perspective: 550,
1938
+ transformOrigin: { x: 0.5, y: 0.5 },
1939
+ animations: [
1940
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "sine.in" },
1941
+ { prop: "scaleY", from: 1, to: 1.5, duration: 400, ease: "power2.in", jitterDelay: 260, transformOrigin: { x: 0.5, y: 1 } },
1942
+ { prop: "translateZ", from: 0, to: -400, duration: 500, ease: "expo.in", jitterDelay: 70, perspective: 550 },
1943
+ { prop: "translateX", from: 0, to: { min: -499.568, max: 499.568 }, duration: 600, ease: "circ.in" },
1944
+ { prop: "rotateY", from: 0, to: 360, duration: 650, ease: "power2.in", perspective: 650 },
1945
+ ],
1946
+ };
1947
+
1948
+ export const implodeBurst: Preset = {
1949
+ name: "exit/implode-burst",
1950
+ split: "word",
1951
+ stagger: 55,
1952
+ staggerOrder: "end",
1953
+ perspective: 250,
1954
+ animations: [
1955
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "sine.in" },
1956
+ { prop: "skewX", from: 0, to: -30, duration: 450, ease: "expo.in", jitterDelay: 150 },
1957
+ { prop: "translateX", from: 0, to: -100, duration: 400, ease: "expo.in", jitterDelay: 60 },
1958
+ { prop: "scale", from: 1, to: { min: 0.1, max: 1.25 }, duration: 500, ease: "back.in" },
1959
+ { prop: "translateZ", from: 0, to: -450, duration: 500, ease: "back.in" },
1960
+ ],
1961
+ };
1962
+
1963
+ export const swivelOutLoose: Preset = {
1964
+ name: "exit/swivel-out-loose",
1965
+ split: "character",
1966
+ stagger: 35,
1967
+ staggerOrder: "end",
1968
+ perspective: 600,
1969
+ transformOrigin: { x: 0.5, y: 0.5 },
1970
+ animations: [
1971
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "circ.in" },
1972
+ { prop: "scale", from: 1, to: 0.7, duration: 550, ease: "back.in" },
1973
+ { prop: "rotateY", from: 0, to: 210, duration: 450, ease: "circ.in", jitterDelay: 170 },
1974
+ { prop: "translateZ", from: 0, to: -400, duration: 500, ease: "back.in", jitterDelay: 150 },
1975
+ ],
1976
+ };
1977
+
1978
+ export const compressXBurstLoose: Preset = {
1979
+ name: "exit/compress-x-burst-loose",
1980
+ split: "character",
1981
+ stagger: 35,
1982
+ perspective: 550,
1983
+ animations: [
1984
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "power2.in" },
1985
+ { prop: "scaleY", from: 1, to: { min: 0.4, max: 5 }, duration: 550, ease: "sine.in", transformOrigin: { x: 0.5, y: 0.5, z: 150 } },
1986
+ { prop: "translateZ", from: 0, to: -300, duration: 450, ease: "circ.in", jitterDelay: 300, perspective: 550 },
1987
+ { prop: "scale", from: 1, to: { min: 0.14, max: 1.75 }, duration: 500, ease: "sine.in", jitterDelay: 190, transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
1988
+ { prop: "scaleX", from: 1, to: -1, duration: 500, ease: "circ.in", jitterDelay: 330 },
1989
+ ],
1990
+ };
1991
+
1992
+ export const foldOutBurstLoose: Preset = {
1993
+ name: "exit/fold-out-burst-loose",
1994
+ split: "character",
1995
+ stagger: 25,
1996
+ staggerOrder: "center",
1997
+ perspective: 250,
1998
+ transformOrigin: { x: 0.5, y: 1 },
1999
+ animations: [
2000
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "back.in" },
2001
+ { prop: "translateX", from: 0, to: -190, duration: 450, ease: "circ.in" },
2002
+ { prop: "rotate", from: 0, to: -420, duration: 650, ease: "back.in", jitterDelay: 280 },
2003
+ { prop: "scaleX", from: 1, to: 1.5, duration: 550, ease: "expo.in", transformOrigin: { x: 0.5, y: 0.5, z: 150 } },
2004
+ { prop: "scale", from: 1, to: 0.65, duration: 500, ease: "sine.in", jitterDelay: 170, transformOrigin: { x: 1, y: 0 } },
2005
+ { prop: "rotateX", from: 0, to: { min: -1328.366, max: 1328.366 }, duration: 450, ease: "sine.in", transformOrigin: { x: 0.5, y: 0.5 } },
2006
+ ],
2007
+ };
2008
+
2009
+ export const collapseBurst: Preset = {
2010
+ name: "exit/collapse-burst",
2011
+ split: "word",
2012
+ stagger: 30,
2013
+ staggerOrder: "random",
2014
+ animations: [
2015
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "sine.in" },
2016
+ { prop: "translateX", from: 0, to: { min: -470.244, max: 470.244 }, duration: 600, ease: "expo.in", jitterDelay: 190 },
2017
+ { prop: "scale", from: 1, to: { min: 0.06, max: 0.75 }, duration: 500, ease: "circ.in", jitterDelay: 310 },
2018
+ { prop: "translateY", from: 0, to: -130, duration: 600, ease: "back.in" },
2019
+ ],
2020
+ };
2021
+
2022
+ export const compressYBurstCurl: Preset = {
2023
+ name: "exit/compress-y-burst-curl",
2024
+ split: "character",
2025
+ stagger: 45,
2026
+ perspective: 500,
2027
+ animations: [
2028
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "power2.in" },
2029
+ { prop: "skewX", from: 0, to: -20, duration: 450, ease: "expo.in", transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
2030
+ { prop: "translateX", from: 0, to: { min: -498.7, max: 498.7 }, duration: 700, ease: "expo.in" },
2031
+ { prop: "scaleY", from: 1, to: { min: 0, max: 0 }, duration: 600, ease: "sine.in", transformOrigin: { x: 1, y: 0.5, z: 100 } },
2032
+ { prop: "translateZ", from: 0, to: -450, duration: 450, ease: "power2.in", jitterDelay: 270, perspective: 450 },
2033
+ ],
2034
+ };
2035
+
2036
+ export const twirlOutBurstLoose: Preset = {
2037
+ name: "exit/twirl-out-burst-loose",
2038
+ split: "character",
2039
+ stagger: 55,
2040
+ staggerOrder: "end",
2041
+ perspective: 450,
2042
+ animations: [
2043
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "expo.in" },
2044
+ { prop: "scaleY", from: 1, to: { min: 0.5, max: 6.25 }, duration: 600, ease: "back.in", transformOrigin: { x: 0.5, y: 0 } },
2045
+ { prop: "rotate", from: 0, to: 420, duration: 450, ease: "circ.in" },
2046
+ { prop: "translateZ", from: 0, to: -600, duration: 650, ease: "sine.in" },
2047
+ { prop: "skewX", from: 0, to: 40, duration: 450, ease: "back.in" },
2048
+ { prop: "translateX", from: 0, to: 110, duration: 500, ease: "expo.in", jitterDelay: 320 },
2049
+ ],
2050
+ };
2051
+
2052
+ export const flattenYCurl: Preset = {
2053
+ name: "exit/flatten-y-curl",
2054
+ split: "character",
2055
+ stagger: 55,
2056
+ animations: [
2057
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "back.in" },
2058
+ { prop: "scaleY", from: 1, to: -1, duration: 400, ease: "sine.in", jitterDelay: 280, transformOrigin: { x: 0.5, y: 0.5, z: 80 } },
2059
+ { prop: "translateX", from: 0, to: -110, duration: 450, ease: "back.in" },
2060
+ ],
2061
+ };
2062
+
2063
+ export const tipOutBurstInward: Preset = {
2064
+ name: "exit/tip-out-burst-inward",
2065
+ split: "character",
2066
+ stagger: 60,
2067
+ staggerOrder: "edges",
2068
+ perspective: 550,
2069
+ animations: [
2070
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "back.in" },
2071
+ { prop: "translateY", from: 0, to: 90, duration: 400, ease: "back.in" },
2072
+ { prop: "blur", from: 0, to: 19, duration: 400, ease: "back.in" },
2073
+ { prop: "rotate", from: 0, to: { min: -1208.194, max: 1208.194 }, duration: 650, ease: "sine.in", jitterDelay: 100 },
2074
+ { prop: "scale", from: 1, to: { min: 0.15, max: 1.875 }, duration: 600, ease: "power2.in" },
2075
+ { prop: "translateZ", from: 0, to: -200, duration: 450, ease: "sine.in", jitterDelay: 170 },
2076
+ ],
2077
+ };
2078
+
2079
+ export const flattenXBurstDeep: Preset = {
2080
+ name: "exit/flatten-x-burst-deep",
2081
+ split: "character",
2082
+ stagger: 50,
2083
+ staggerOrder: "random",
2084
+ perspective: 500,
2085
+ animations: [
2086
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "power2.in" },
2087
+ { prop: "blur", from: 0, to: { min: 3.8, max: 47.5 }, duration: 600, ease: "expo.in" },
2088
+ { prop: "translateZ", from: 0, to: -600, duration: 700, ease: "back.in", jitterDelay: 100, perspective: 200 },
2089
+ { prop: "scaleX", from: 1, to: 0.2, duration: 650, ease: "sine.in", transformOrigin: { x: 0, y: 0 } },
2090
+ ],
2091
+ };
2092
+
2093
+ export const swivelOutBurstSnap: Preset = {
2094
+ name: "exit/swivel-out-burst-snap",
2095
+ split: "character",
2096
+ stagger: 40,
2097
+ perspective: 200,
2098
+ transformOrigin: { x: 0.5, y: 0.5 },
2099
+ animations: [
2100
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "power2.in" },
2101
+ { prop: "scaleY", from: 1, to: { min: 0.8, max: 10 }, duration: 700, ease: "expo.in", jitterDelay: 120, transformOrigin: { x: 0.5, y: 0.5, z: 150 } },
2102
+ { prop: "translateZ", from: 0, to: -450, duration: 600, ease: "sine.in", jitterDelay: 200, perspective: 100 },
2103
+ { prop: "skewX", from: 0, to: { min: -303.217, max: 303.217 }, duration: 500, ease: "power2.in", jitterDelay: 210, transformOrigin: { x: 1, y: 1, z: 100 } },
2104
+ { prop: "scale", from: 1, to: { min: 0.15, max: 1.875 }, duration: 500, ease: "power2.in", jitterDelay: 410, transformOrigin: { x: 1, y: 0.5, z: 100 } },
2105
+ { prop: "translateX", from: 0, to: -290, duration: 500, ease: "sine.in", jitterDelay: 410 },
2106
+ { prop: "rotate", from: 0, to: { min: -4120.645, max: 4120.645 }, duration: 650, ease: "back.in", jitterDelay: 280 },
2107
+ { prop: "rotateY", from: 0, to: { min: -4286.904, max: 4286.904 }, duration: 650, ease: "expo.in", jitterDelay: 400, transformOrigin: { x: 0.5, y: 0.5, z: 80 } },
2108
+ ],
2109
+ };
2110
+
2111
+ export const tiltOutBurstDeep: Preset = {
2112
+ name: "exit/tilt-out-burst-deep",
2113
+ split: "character",
2114
+ stagger: 45,
2115
+ perspective: 250,
2116
+ animations: [
2117
+ { prop: "opacity", from: 1, to: 0, duration: 350, ease: "back.in" },
2118
+ { prop: "rotate", from: 0, to: { min: -1677.161, max: 1677.161 }, duration: 550, ease: "power2.in", jitterDelay: 380, transformOrigin: { x: 1, y: 0.5, z: 100 } },
2119
+ { prop: "skewX", from: 0, to: { min: -285.686, max: 285.686 }, duration: 350, ease: "power2.in", jitterDelay: 180 },
2120
+ { prop: "scaleY", from: 1, to: { min: 0, max: -2.5 }, duration: 600, ease: "expo.in", jitterDelay: 480 },
2121
+ { prop: "translateZ", from: 0, to: -850, duration: 600, ease: "back.in", jitterDelay: 330, perspective: 100 },
2122
+ { prop: "blur", from: 0, to: { min: 5.2, max: 65 }, duration: 550, ease: "expo.in", jitterDelay: 300 },
2123
+ ],
2124
+ };
2125
+
2126
+ export const swipeOutSnap: Preset = {
2127
+ name: "exit/swipe-out-snap",
2128
+ split: "character",
2129
+ stagger: 45,
2130
+ staggerOrder: "end",
2131
+ animations: [
2132
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "sine.in" },
2133
+ { prop: "translateX", from: 0, to: 30, duration: 450, ease: "expo.in" },
2134
+ ],
2135
+ };
2136
+
2137
+ export const turnOutBurstTrail: Preset = {
2138
+ name: "exit/turn-out-burst-trail",
2139
+ split: "character",
2140
+ stagger: 60,
2141
+ staggerOrder: "end",
2142
+ perspective: 350,
2143
+ transformOrigin: { x: 0.5, y: 0.5 },
2144
+ animations: [
2145
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "expo.in" },
2146
+ { prop: "rotateY", from: 0, to: { min: -1766.601, max: 1766.601 }, duration: 600, ease: "sine.in" },
2147
+ { prop: "scale", from: 1, to: 0.65, duration: 650, ease: "sine.in", jitterDelay: 100, transformOrigin: { x: 0.5, y: 0.5 } },
2148
+ { prop: "scaleY", from: 1, to: { min: 0.5, max: 6.25 }, duration: 650, ease: "expo.in", jitterDelay: 240 },
2149
+ { prop: "translateZ", from: 0, to: -500, duration: 500, ease: "expo.in", jitterDelay: 110 },
2150
+ { prop: "translateY", from: 0, to: 210, duration: 500, ease: "power2.in" },
2151
+ { prop: "translateX", from: 0, to: -220, duration: 600, ease: "power2.in" },
2152
+ ],
2153
+ };
2154
+
2155
+ export const toppleOutBurst2: Preset = {
2156
+ name: "exit/topple-out-burst-2",
2157
+ split: "character",
2158
+ stagger: 55,
2159
+ perspective: 250,
2160
+ transformOrigin: { x: 0.5, y: 0.5 },
2161
+ animations: [
2162
+ { prop: "opacity", from: 1, to: 0, duration: 400, ease: "sine.in" },
2163
+ { prop: "scaleY", from: 1, to: { min: 0.3, max: 3.75 }, duration: 450, ease: "expo.in", jitterDelay: 80 },
2164
+ { prop: "rotateX", from: 0, to: { min: -1574.842, max: 1574.842 }, duration: 450, ease: "sine.in" },
2165
+ { prop: "translateY", from: 0, to: 180, duration: 550, ease: "power2.in", jitterDelay: 270 },
2166
+ { prop: "translateZ", from: 0, to: -400, duration: 450, ease: "power2.in", jitterDelay: 200, perspective: 600 },
2167
+ { prop: "rotateY", from: 0, to: -510, duration: 450, ease: "expo.in", perspective: 450 },
2168
+ ],
2169
+ };
2170
+
2171
+ export const flattenXCurl: Preset = {
2172
+ name: "exit/flatten-x-curl",
2173
+ split: "character",
2174
+ stagger: 55,
2175
+ staggerOrder: "center",
2176
+ perspective: 300,
2177
+ animations: [
2178
+ { prop: "opacity", from: 1, to: 0, duration: 450, ease: "back.in" },
2179
+ { prop: "skewX", from: 0, to: 40, duration: 550, ease: "circ.in", transformOrigin: { x: 0.5, y: 0.5, z: 80 } },
2180
+ { prop: "translateZ", from: 0, to: -450, duration: 550, ease: "back.in", perspective: 200 },
2181
+ { prop: "scaleX", from: 1, to: 2.5, duration: 600, ease: "back.in", jitterDelay: 280, transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
2182
+ { prop: "translateX", from: 0, to: 140, duration: 600, ease: "back.in" },
2183
+ ],
2184
+ };
2185
+
2186
+ export const tiltOutBurstKick: Preset = {
2187
+ name: "exit/tilt-out-burst-kick",
2188
+ split: "character",
2189
+ stagger: 60,
2190
+ staggerOrder: "end",
2191
+ animations: [
2192
+ { prop: "opacity", from: 1, to: 0, duration: 300, ease: "expo.in" },
2193
+ { prop: "blur", from: 0, to: { min: 2, max: 25 }, duration: 550, ease: "expo.in" },
2194
+ { prop: "scale", from: 1, to: 0.5, duration: 600, ease: "circ.in", jitterDelay: 50 },
2195
+ { prop: "rotate", from: 0, to: { min: -1954.387, max: 1954.387 }, duration: 600, ease: "back.in", transformOrigin: { x: 1, y: 1 } },
2196
+ { prop: "scaleY", from: 1, to: { min: 0.02, max: 0.25 }, duration: 450, ease: "sine.in" },
2197
+ ],
2198
+ };
2199
+
2200
+ export const wiggleOutward: Preset = {
2201
+ name: "emphasis/wiggle-outward",
2202
+ split: "character",
2203
+ stagger: 30,
2204
+ staggerOrder: "center",
2205
+ animations: [
2206
+ { prop: "translateX", from: 0, to: -2.5, duration: 175, ease: "cubic.out" },
2207
+ { prop: "translateX", from: -2.5, to: 0, duration: 225, delay: 175, ease: "cubic.out" },
2208
+ ],
2209
+ };
2210
+
2211
+ export const leanLoose: Preset = {
2212
+ name: "emphasis/lean-loose",
2213
+ split: "character",
2214
+ stagger: 55,
2215
+ animations: [
2216
+ { prop: "rotate", from: 0, to: 15, duration: 175, ease: "cubic.out", jitterDelay: 130 },
2217
+ { prop: "rotate", from: 15, to: 0, duration: 225, delay: 175, ease: "cubic.out", jitterDelay: 180 },
2218
+ ],
2219
+ };
2220
+
2221
+ export const pinwheelCurl: Preset = {
2222
+ name: "emphasis/pinwheel-curl",
2223
+ split: "word",
2224
+ stagger: 30,
2225
+ staggerOrder: "end",
2226
+ animations: [
2227
+ { prop: "rotate", from: 0, to: 360, duration: 800, ease: "sine.inOut", transformOrigin: { x: 0.5, y: 0.5, z: 150 } },
2228
+ ],
2229
+ };
2230
+
2231
+ export const bob: Preset = {
2232
+ name: "emphasis/bob",
2233
+ split: "character",
2234
+ stagger: 50,
2235
+ animations: [
2236
+ { prop: "translateY", from: 0, to: -8, duration: 175, ease: "cubic.out" },
2237
+ { prop: "translateY", from: -8, to: 0, duration: 350, delay: 175, ease: "cubic.out" },
2238
+ ],
2239
+ };
2240
+
2241
+ export const whirlLoose: Preset = {
2242
+ name: "emphasis/whirl-loose",
2243
+ split: "character",
2244
+ stagger: 20,
2245
+ animations: [
2246
+ { prop: "rotate", from: 0, to: 360, duration: 800, ease: "sine.inOut", jitterDelay: 250, transformOrigin: { x: 1, y: 0 } },
2247
+ ],
2248
+ };
2249
+
2250
+ export const whirlLoose2: Preset = {
2251
+ name: "emphasis/whirl-loose-2",
2252
+ split: "character",
2253
+ stagger: 45,
2254
+ animations: [
2255
+ { prop: "rotate", from: 0, to: 360, duration: 800, ease: "cubic.out", jitterDelay: 310, transformOrigin: { x: 1, y: 0 } },
2256
+ ],
2257
+ };
2258
+
2259
+ export const foldTapCurl: Preset = {
2260
+ name: "emphasis/fold-tap-curl",
2261
+ split: "word",
2262
+ stagger: 60,
2263
+ perspective: 700,
2264
+ transformOrigin: { x: 0.5, y: 0.5 },
2265
+ animations: [
2266
+ { prop: "rotateX", from: 0, to: 25, duration: 175, ease: "cubic.out", transformOrigin: { x: 0.5, y: 0.5, z: -80 }, perspective: 550 },
2267
+ { prop: "rotateX", from: 25, to: 0, duration: 225, delay: 175, ease: "cubic.out", perspective: 400 },
2268
+ ],
2269
+ };
2270
+
2271
+ export const turnDeep: Preset = {
2272
+ name: "emphasis/turn-deep",
2273
+ split: "character",
2274
+ stagger: 15,
2275
+ perspective: 650,
2276
+ transformOrigin: { x: 0.5, y: 0.5 },
2277
+ animations: [
2278
+ { prop: "rotateY", from: 0, to: 360, duration: 650, ease: "sine.inOut", transformOrigin: { x: 0, y: 0.5 }, perspective: 250 },
2279
+ ],
2280
+ };
2281
+
2282
+ export const tipCurl: Preset = {
2283
+ name: "emphasis/tip-curl",
2284
+ split: "character",
2285
+ stagger: 35,
2286
+ staggerOrder: "end",
2287
+ perspective: 700,
2288
+ transformOrigin: { x: 0.5, y: 0.5 },
2289
+ animations: [
2290
+ { prop: "rotateX", from: 0, to: 25, duration: 200, ease: "sine.inOut", transformOrigin: { x: 0.5, y: 0.5, z: 150 }, perspective: 300 },
2291
+ { prop: "rotateX", from: 25, to: 0, duration: 350, delay: 200, ease: "sine.inOut" },
2292
+ ],
2293
+ };
2294
+
2295
+ export const swivelCurl: Preset = {
2296
+ name: "emphasis/swivel-curl",
2297
+ split: "character",
2298
+ stagger: 50,
2299
+ staggerOrder: "end",
2300
+ perspective: 550,
2301
+ transformOrigin: { x: 0.5, y: 0.5 },
2302
+ animations: [
2303
+ { prop: "rotateY", from: 0, to: 360, duration: 600, ease: "sine.inOut", transformOrigin: { x: 0, y: 0.5, z: -100 }, perspective: 350 },
2304
+ ],
2305
+ };
2306
+
2307
+ export const pumpTrail: Preset = {
2308
+ name: "emphasis/pump-trail",
2309
+ split: "character",
2310
+ stagger: 25,
2311
+ staggerOrder: "end",
2312
+ animations: [
2313
+ { prop: "scale", from: 1, to: 0.82, duration: 200, ease: "sine.inOut" },
2314
+ { prop: "scale", from: 0.82, to: 1, duration: 225, delay: 200, ease: "sine.inOut" },
2315
+ ],
2316
+ };
2317
+
2318
+ export const twirlCurl: Preset = {
2319
+ name: "emphasis/twirl-curl",
2320
+ split: "character",
2321
+ stagger: 50,
2322
+ staggerOrder: "random",
2323
+ animations: [
2324
+ { prop: "rotate", from: 0, to: 360, duration: 550, ease: "sine.inOut", jitterDelay: 170, transformOrigin: { x: 0.7, y: 0.3, z: 120 } },
2325
+ ],
2326
+ };
2327
+
2328
+ export const joltYTrail: Preset = {
2329
+ name: "emphasis/jolt-y-trail",
2330
+ split: "character",
2331
+ stagger: 15,
2332
+ staggerOrder: "end",
2333
+ animations: [
2334
+ { prop: "translateY", from: 0, to: 14, duration: 200, ease: "sine.inOut" },
2335
+ { prop: "translateY", from: 14, to: 0, duration: 325, delay: 200, ease: "sine.inOut" },
2336
+ ],
2337
+ };
2338
+
2339
+ export const swayCurl: Preset = {
2340
+ name: "emphasis/sway-curl",
2341
+ split: "character",
2342
+ stagger: 50,
2343
+ animations: [
2344
+ { prop: "rotate", from: 0, to: 26.25, duration: 175, ease: "cubic.out", jitterDelay: 200, transformOrigin: { x: 0.5, y: 0, z: -100 } },
2345
+ { prop: "rotate", from: 26.25, to: 0, duration: 325, delay: 175, ease: "cubic.out", jitterDelay: 110 },
2346
+ ],
2347
+ };
2348
+
2349
+ export const twirlCurlInward: Preset = {
2350
+ name: "emphasis/twirl-curl-inward",
2351
+ split: "character",
2352
+ stagger: 30,
2353
+ staggerOrder: "edges",
2354
+ animations: [
2355
+ { prop: "rotate", from: 0, to: 360, duration: 750, ease: "cubic.out", transformOrigin: { x: 0, y: 0, z: -100 } },
2356
+ ],
2357
+ };
2358
+
2359
+ export const carouselInward: Preset = {
2360
+ name: "emphasis/carousel-inward",
2361
+ split: "character",
2362
+ stagger: 20,
2363
+ staggerOrder: "edges",
2364
+ animations: [
2365
+ { prop: "rotate", from: 0, to: 360, duration: 650, ease: "cubic.out", transformOrigin: { x: 1, y: 1 } },
2366
+ ],
2367
+ };
2368
+
2369
+ export const joltYTrail2: Preset = {
2370
+ name: "emphasis/jolt-y-trail-2",
2371
+ split: "character",
2372
+ stagger: 55,
2373
+ staggerOrder: "end",
2374
+ animations: [
2375
+ { prop: "translateY", from: 0, to: -8, duration: 200, ease: "sine.inOut" },
2376
+ { prop: "translateY", from: -8, to: 0, duration: 225, delay: 200, ease: "sine.inOut" },
2377
+ ],
2378
+ };
2379
+
2380
+ export const tipDeep: Preset = {
2381
+ name: "emphasis/tip-deep",
2382
+ split: "character",
2383
+ stagger: 40,
2384
+ staggerOrder: "edges",
2385
+ perspective: 650,
2386
+ transformOrigin: { x: 0.5, y: 0.5 },
2387
+ animations: [
2388
+ { prop: "rotateX", from: 0, to: -25, duration: 200, ease: "sine.inOut", transformOrigin: { x: 1, y: 1 } },
2389
+ { prop: "rotateX", from: -25, to: 0, duration: 225, delay: 200, ease: "sine.inOut", perspective: 450 },
2390
+ ],
2391
+ };
2392
+
2393
+ export const tapXLoose: Preset = {
2394
+ name: "emphasis/tap-x-loose",
2395
+ split: "character",
2396
+ stagger: 30,
2397
+ staggerOrder: "center",
2398
+ animations: [
2399
+ { prop: "translateX", from: 0, to: 8, duration: 275, ease: "sine.inOut" },
2400
+ { prop: "translateX", from: 8, to: 0, duration: 225, delay: 275, ease: "sine.inOut", jitterDelay: 100 },
2401
+ ],
2402
+ };
2403
+
2404
+ export const rockInward: Preset = {
2405
+ name: "emphasis/rock-inward",
2406
+ split: "word",
2407
+ stagger: 25,
2408
+ staggerOrder: "edges",
2409
+ animations: [
2410
+ { prop: "rotate", from: 0, to: -15, duration: 175, ease: "cubic.out" },
2411
+ { prop: "rotate", from: -15, to: 0, duration: 250, delay: 175, ease: "cubic.out" },
2412
+ ],
2413
+ };
2414
+
2415
+ export const tumbleScatterTunnelWord: Preset = {
2416
+ name: "enter/tumble-scatter-tunnel-word",
2417
+ split: "word",
2418
+ stagger: 50,
2419
+ staggerOrder: "end",
2420
+ perspective: 250,
2421
+ transformOrigin: { x: 0.5, y: 1 },
2422
+ animations: [
2423
+ { prop: "opacity", from: 0, to: 1, duration: 450 },
2424
+ { prop: "rotateX", from: -450, to: 0, duration: 650, jitterDelay: 150, transformOrigin: { x: 0.5, y: 0.5 } },
2425
+ { prop: "skewX", from: { min: -130.479, max: 130.479 }, to: 0, duration: 650, jitterDelay: 290 },
2426
+ { prop: "blur", from: 17, to: 0, duration: 450 },
2427
+ ],
2428
+ };
2429
+
2430
+ export const twirlScatter2: Preset = {
2431
+ name: "enter/twirl-scatter-2",
2432
+ split: "character",
2433
+ stagger: 20,
2434
+ perspective: 600,
2435
+ transformOrigin: { x: 0.5, y: 1 },
2436
+ animations: [
2437
+ { prop: "opacity", from: 0, to: 1, duration: 500 },
2438
+ { prop: "scale", from: 0.4, to: 1, duration: 650, transformOrigin: { x: 0, y: 0.5 } },
2439
+ { prop: "scaleY", from: { min: 0.04, max: 0.5 }, to: 1, duration: 900, jitterDelay: 90 },
2440
+ { prop: "rotate", from: -720, to: 0, duration: 750, jitterDelay: 90 },
2441
+ { prop: "rotateX", from: { min: -702.872, max: 702.872 }, to: 0, duration: 800, perspective: 500 },
2442
+ ],
2443
+ };
2444
+
2445
+ export const pivotScatter2: Preset = {
2446
+ name: "enter/pivot-scatter-2",
2447
+ split: "character",
2448
+ stagger: 40,
2449
+ perspective: 550,
2450
+ animations: [
2451
+ { prop: "opacity", from: 0, to: 1, duration: 350 },
2452
+ { prop: "translateZ", from: -350, to: 0, duration: 500, jitterDelay: 240, perspective: 600 },
2453
+ { prop: "rotate", from: -330, to: 0, duration: 550, transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
2454
+ { prop: "scaleX", from: { min: 0.5, max: 6.25 }, to: 1, duration: 650, jitterDelay: 200 },
2455
+ { prop: "blur", from: 7, to: 0, duration: 550 },
2456
+ { prop: "translateY", from: 160, to: 0, duration: 750 },
2457
+ ],
2458
+ };
2459
+
2460
+ export const tumbleScatter: Preset = {
2461
+ name: "enter/tumble-scatter",
2462
+ split: "character",
2463
+ stagger: 50,
2464
+ staggerOrder: "end",
2465
+ perspective: 600,
2466
+ transformOrigin: { x: 0.5, y: 1 },
2467
+ animations: [
2468
+ { prop: "opacity", from: 0, to: 1, duration: 350 },
2469
+ { prop: "scaleY", from: 0.2, to: 1, duration: 650, jitterDelay: 180, transformOrigin: { x: 0.3, y: 0.7, z: -120 } },
2470
+ { prop: "scale", from: 0.5, to: 1, duration: 850, jitterDelay: 210 },
2471
+ { prop: "translateY", from: 140, to: 0, duration: 650 },
2472
+ { prop: "rotateX", from: { min: -1048.298, max: 1048.298 }, to: 0, duration: 850, transformOrigin: { x: 0.5, y: 0 }, perspective: 200 },
2473
+ { prop: "blur", from: 15, to: 0, duration: 650, jitterDelay: 180 },
2474
+ ],
2475
+ };
2476
+
2477
+ export const whirlScatter2: Preset = {
2478
+ name: "enter/whirl-scatter-2",
2479
+ split: "character",
2480
+ stagger: 15,
2481
+ perspective: 650,
2482
+ animations: [
2483
+ { prop: "opacity", from: 0, to: 1, duration: 350 },
2484
+ { prop: "translateZ", from: -400, to: 0, duration: 850 },
2485
+ { prop: "rotate", from: { min: -2796.689, max: 2796.689 }, to: 0, duration: 800, transformOrigin: { x: 0.5, y: 1 } },
2486
+ ],
2487
+ };
2488
+
2489
+ export const whirlScatter3: Preset = {
2490
+ name: "enter/whirl-scatter-3",
2491
+ split: "character",
2492
+ stagger: 60,
2493
+ staggerOrder: "center",
2494
+ perspective: 550,
2495
+ transformOrigin: { x: 0.5, y: 0.5 },
2496
+ animations: [
2497
+ { prop: "opacity", from: 0, to: 1, duration: 600 },
2498
+ { prop: "rotateY", from: 510, to: 0, duration: 800, transformOrigin: { x: 0.5, y: 0.5, z: -80 }, perspective: 250 },
2499
+ { prop: "blur", from: { min: 4, max: 50 }, to: 0, duration: 600 },
2500
+ { prop: "rotate", from: { min: -2112.647, max: 2112.647 }, to: 0, duration: 900 },
2501
+ ],
2502
+ };
2503
+
2504
+ export const spinScatter: Preset = {
2505
+ name: "enter/spin-scatter",
2506
+ split: "character",
2507
+ stagger: 40,
2508
+ perspective: 650,
2509
+ transformOrigin: { x: 0.5, y: 0.5 },
2510
+ animations: [
2511
+ { prop: "opacity", from: 0, to: 1, duration: 550 },
2512
+ { prop: "scaleY", from: { min: 0.04, max: 0.5 }, to: 1, duration: 750, jitterDelay: 260, transformOrigin: { x: 1, y: 0.5, z: 100 } },
2513
+ { prop: "rotateY", from: { min: -1256.514, max: 1256.514 }, to: 0, duration: 850, transformOrigin: { x: 0.3, y: 0.7, z: -120 } },
2514
+ { prop: "translateY", from: 220, to: 0, duration: 800 },
2515
+ ],
2516
+ };
2517
+
2518
+ export const whirlScatter4: Preset = {
2519
+ name: "enter/whirl-scatter-4",
2520
+ split: "character",
2521
+ stagger: 35,
2522
+ perspective: 600,
2523
+ transformOrigin: { x: 0.5, y: 0.5 },
2524
+ animations: [
2525
+ { prop: "opacity", from: 0, to: 1, duration: 450 },
2526
+ { prop: "rotateY", from: 480, to: 0, duration: 650, jitterDelay: 150, perspective: 500 },
2527
+ { prop: "rotate", from: { min: -3302.464, max: 3302.464 }, to: 0, duration: 650, jitterDelay: 90 },
2528
+ { prop: "blur", from: { min: 3.4, max: 42.5 }, to: 0, duration: 700 },
2529
+ ],
2530
+ };
2531
+
2532
+ export const hazeScatter: Preset = {
2533
+ name: "enter/haze-scatter",
2534
+ split: "character",
2535
+ stagger: 20,
2536
+ perspective: 550,
2537
+ transformOrigin: { x: 0.5, y: 0.5 },
2538
+ animations: [
2539
+ { prop: "opacity", from: 0, to: 1, duration: 350 },
2540
+ { prop: "rotateY", from: 210, to: 0, duration: 750, transformOrigin: { x: 0.5, y: 0.5 } },
2541
+ { prop: "blur", from: { min: 2.4, max: 30 }, to: 0, duration: 700 },
2542
+ { prop: "scaleY", from: 2.5, to: 1, duration: 850 },
2543
+ ],
2544
+ };
2545
+
2546
+ export const twirlScatter3: Preset = {
2547
+ name: "enter/twirl-scatter-3",
2548
+ split: "character",
2549
+ stagger: 60,
2550
+ perspective: 450,
2551
+ transformOrigin: { x: 0.5, y: 0.5 },
2552
+ animations: [
2553
+ { prop: "opacity", from: 0, to: 1, duration: 550 },
2554
+ { prop: "rotateY", from: 240, to: 0, duration: 750, jitterDelay: 330, perspective: 600 },
2555
+ { prop: "rotate", from: 480, to: 0, duration: 600 },
2556
+ { prop: "scale", from: 0.45, to: 1, duration: 800 },
2557
+ { prop: "blur", from: { min: 3, max: 37.5 }, to: 0, duration: 700 },
2558
+ { prop: "skewX", from: 35, to: 0, duration: 450, transformOrigin: { x: 0.5, y: 1 } },
2559
+ ],
2560
+ };
2561
+
2562
+ export const twirlScatter4: Preset = {
2563
+ name: "enter/twirl-scatter-4",
2564
+ split: "character",
2565
+ stagger: 55,
2566
+ staggerOrder: "edges",
2567
+ animations: [
2568
+ { prop: "opacity", from: 0, to: 1, duration: 350 },
2569
+ { prop: "rotate", from: 690, to: 0, duration: 700 },
2570
+ { prop: "translateY", from: { min: -394.808, max: 394.808 }, to: 0, duration: 550, jitterDelay: 150 },
2571
+ { prop: "blur", from: { min: 1.4, max: 17.5 }, to: 0, duration: 400, jitterDelay: 130 },
2572
+ ],
2573
+ };
2574
+
2575
+ export const whirlScatter5: Preset = {
2576
+ name: "enter/whirl-scatter-5",
2577
+ split: "character",
2578
+ stagger: 35,
2579
+ staggerOrder: "end",
2580
+ perspective: 650,
2581
+ transformOrigin: { x: 0.5, y: 0.5 },
2582
+ animations: [
2583
+ { prop: "opacity", from: 0, to: 1, duration: 500 },
2584
+ { prop: "rotateY", from: { min: -1327.958, max: 1327.958 }, to: 0, duration: 550, transformOrigin: { x: 1, y: 0.5 } },
2585
+ { prop: "scaleY", from: { min: 0.6, max: 7.5 }, to: 1, duration: 850, jitterDelay: 70, transformOrigin: { x: 0, y: 0.5, z: -100 } },
2586
+ { prop: "blur", from: { min: 2.2, max: 27.5 }, to: 0, duration: 700, jitterDelay: 250 },
2587
+ { prop: "rotate", from: { min: -1942.975, max: 1942.975 }, to: 0, duration: 550 },
2588
+ ],
2589
+ };
2590
+
2591
+ export const tumbleScatter2: Preset = {
2592
+ name: "enter/tumble-scatter-2",
2593
+ split: "character",
2594
+ stagger: 50,
2595
+ perspective: 400,
2596
+ transformOrigin: { x: 0.5, y: 1 },
2597
+ animations: [
2598
+ { prop: "opacity", from: 0, to: 1, duration: 350 },
2599
+ { prop: "blur", from: 11, to: 0, duration: 750 },
2600
+ { prop: "scale", from: { min: 0.15, max: 1.875 }, to: 1, duration: 800, jitterDelay: 180, transformOrigin: { x: 0.3, y: 0.7, z: -120 } },
2601
+ { prop: "translateZ", from: -400, to: 0, duration: 650, jitterDelay: 90 },
2602
+ { prop: "rotateX", from: -540, to: 0, duration: 650, perspective: 300 },
2603
+ ],
2604
+ };
2605
+
2606
+ export const compressYScatter: Preset = {
2607
+ name: "enter/compress-y-scatter",
2608
+ split: "character",
2609
+ stagger: 60,
2610
+ animations: [
2611
+ { prop: "opacity", from: 0, to: 1, duration: 550 },
2612
+ { prop: "scaleY", from: { min: 0.28, max: 3.5 }, to: 1, duration: 900 },
2613
+ ],
2614
+ };
2615
+
2616
+ export const toppleSnapLooseWord: Preset = {
2617
+ name: "enter/topple-snap-loose-word",
2618
+ split: "word",
2619
+ stagger: 45,
2620
+ staggerOrder: "end",
2621
+ perspective: 450,
2622
+ transformOrigin: { x: 0.5, y: 1 },
2623
+ animations: [
2624
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "anticipate.out" },
2625
+ { prop: "scale", from: 0.3, to: 1, duration: 800, ease: "back.out", transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
2626
+ { prop: "skewX", from: 45, to: 0, duration: 650, ease: "power3.out" },
2627
+ { prop: "rotateX", from: 300, to: 0, duration: 700, ease: "back.out" },
2628
+ { prop: "blur", from: 15, to: 0, duration: 700, ease: "sine.out", jitterDelay: 200 },
2629
+ { prop: "translateZ", from: -450, to: 0, duration: 800, ease: "expo.out", jitterDelay: 320, perspective: 250 },
2630
+ ],
2631
+ };
2632
+
2633
+ export const dropScatterBounceWord: Preset = {
2634
+ name: "enter/drop-scatter-bounce-word",
2635
+ split: "word",
2636
+ stagger: 45,
2637
+ animations: [
2638
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "anticipate.out" },
2639
+ { prop: "skewX", from: 25, to: 0, duration: 700, ease: "bounce.out", transformOrigin: { x: 1, y: 0.5, z: 100 } },
2640
+ { prop: "blur", from: { min: 2, max: 25 }, to: 0, duration: 800, ease: "expo.out", jitterDelay: 290 },
2641
+ { prop: "scaleY", from: 0.1, to: 1, duration: 850, ease: "power4.out", jitterDelay: 240 },
2642
+ { prop: "translateY", from: { min: -990.632, max: 990.632 }, to: 0, duration: 600, ease: "elastic.out", jitterDelay: 90 },
2643
+ ],
2644
+ };
2645
+
2646
+ export const slantScatterBounce: Preset = {
2647
+ name: "enter/slant-scatter-bounce",
2648
+ split: "character",
2649
+ stagger: 15,
2650
+ perspective: 500,
2651
+ transformOrigin: { x: 0.5, y: 1 },
2652
+ animations: [
2653
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "power3.out" },
2654
+ { prop: "translateX", from: 190, to: 0, duration: 900, ease: "sine.out" },
2655
+ { prop: "blur", from: 8, to: 0, duration: 750, ease: "back.out", jitterDelay: 60 },
2656
+ { prop: "skewX", from: { min: -168.273, max: 168.273 }, to: 0, duration: 400, ease: "expo.out", transformOrigin: { x: 1, y: 1 } },
2657
+ { prop: "scaleY", from: { min: 0, max: 0 }, to: 1, duration: 850, ease: "bounce.out", jitterDelay: 250 },
2658
+ { prop: "rotateX", from: -270, to: 0, duration: 750, ease: "power4.out", perspective: 250 },
2659
+ { prop: "scaleX", from: 2, to: 1, duration: 900, ease: "anticipate.out", transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
2660
+ ],
2661
+ };
2662
+
2663
+ export const slantScatterSpringWord: Preset = {
2664
+ name: "enter/slant-scatter-spring-word",
2665
+ split: "word",
2666
+ stagger: 15,
2667
+ staggerOrder: "end",
2668
+ perspective: 700,
2669
+ animations: [
2670
+ { prop: "opacity", from: 0, to: 1, duration: 550, ease: "expo.out" },
2671
+ { prop: "scaleX", from: { min: 0.4, max: 5 }, to: 1, duration: 600, ease: "elastic.out", jitterDelay: 230 },
2672
+ { prop: "translateZ", from: -400, to: 0, duration: 750, ease: "elastic.out", perspective: 500 },
2673
+ { prop: "blur", from: { min: 3.2, max: 40 }, to: 0, duration: 750, ease: "expo.out" },
2674
+ { prop: "skewX", from: { min: -167.292, max: 167.292 }, to: 0, duration: 500, ease: "elastic.out", jitterDelay: 120 },
2675
+ ],
2676
+ };
2677
+
2678
+ export const whirlScatter6: Preset = {
2679
+ name: "enter/whirl-scatter-6",
2680
+ split: "character",
2681
+ stagger: 15,
2682
+ perspective: 500,
2683
+ transformOrigin: { x: 0.5, y: 0.5 },
2684
+ animations: [
2685
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "anticipate.out" },
2686
+ { prop: "scale", from: 0.65, to: 1, duration: 650, ease: "sine.out", transformOrigin: { x: 0.5, y: 0 } },
2687
+ { prop: "rotate", from: { min: -1460.019, max: 1460.019 }, to: 0, duration: 800, ease: "power3.out", jitterDelay: 250, transformOrigin: { x: 0, y: 0, z: -100 } },
2688
+ { prop: "rotateY", from: -510, to: 0, duration: 800, ease: "circ.out", transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
2689
+ { prop: "scaleX", from: 0.1, to: 1, duration: 700, ease: "expo.out", jitterDelay: 330 },
2690
+ ],
2691
+ };
2692
+
2693
+ export const hazeScatter2: Preset = {
2694
+ name: "enter/haze-scatter-2",
2695
+ split: "character",
2696
+ stagger: 55,
2697
+ animations: [
2698
+ { prop: "opacity", from: 0, to: 1, duration: 450, ease: "power3.out" },
2699
+ { prop: "blur", from: { min: 1.6, max: 20 }, to: 0, duration: 750, ease: "power3.out" },
2700
+ { prop: "translateX", from: 80, to: 0, duration: 650, ease: "sine.out" },
2701
+ { prop: "scaleX", from: 0.1, to: 1, duration: 850, ease: "circ.out" },
2702
+ { prop: "scaleY", from: 0, to: 1, duration: 900, ease: "anticipate.out" },
2703
+ ],
2704
+ };
2705
+
2706
+ export const whirlScatterSnap: Preset = {
2707
+ name: "enter/whirl-scatter-snap",
2708
+ split: "character",
2709
+ stagger: 55,
2710
+ animations: [
2711
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "back.out" },
2712
+ { prop: "scaleY", from: 0, to: 1, duration: 550, ease: "power4.out", transformOrigin: { x: 1, y: 0.5, z: 100 } },
2713
+ { prop: "scaleX", from: { min: 0.02, max: 0.25 }, to: 1, duration: 700, ease: "power1.out", jitterDelay: 250 },
2714
+ { prop: "translateX", from: { min: -1177.436, max: 1177.436 }, to: 0, duration: 500, ease: "power3.out", jitterDelay: 220 },
2715
+ { prop: "rotate", from: { min: -3226.015, max: 3226.015 }, to: 0, duration: 700, ease: "power2.out", jitterDelay: 440 },
2716
+ ],
2717
+ };
2718
+
2719
+ export const whirlScatterSnapTunnel: Preset = {
2720
+ name: "enter/whirl-scatter-snap-tunnel",
2721
+ split: "character",
2722
+ stagger: 35,
2723
+ perspective: 150,
2724
+ animations: [
2725
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "power3.out" },
2726
+ { prop: "translateY", from: { min: -1863.057, max: 1863.057 }, to: 0, duration: 600, ease: "back.out" },
2727
+ { prop: "scaleX", from: 0.3, to: 1, duration: 650, ease: "power2.out", jitterDelay: 180, transformOrigin: { x: 0.5, y: 0.5, z: 150 } },
2728
+ { prop: "translateZ", from: -600, to: 0, duration: 650, ease: "sine.out", jitterDelay: 410, perspective: 200 },
2729
+ { prop: "translateX", from: 180, to: 0, duration: 900, ease: "expo.out", jitterDelay: 470 },
2730
+ { prop: "rotate", from: { min: -3721.458, max: 3721.458 }, to: 0, duration: 900, ease: "circ.out", jitterDelay: 220, transformOrigin: { x: 0.5, y: 1 } },
2731
+ ],
2732
+ };
2733
+
2734
+ export const hazeScatter3: Preset = {
2735
+ name: "enter/haze-scatter-3",
2736
+ split: "character",
2737
+ stagger: 60,
2738
+ staggerOrder: "end",
2739
+ animations: [
2740
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "expo.out" },
2741
+ { prop: "blur", from: 9, to: 0, duration: 500, ease: "sine.out", jitterDelay: 340 },
2742
+ { prop: "scale", from: { min: 0.13, max: 1.625 }, to: 1, duration: 750, ease: "expo.out" },
2743
+ { prop: "scaleY", from: 0.1, to: 1, duration: 600, ease: "anticipate.out", transformOrigin: { x: 1, y: 0 } },
2744
+ ],
2745
+ };
2746
+
2747
+ export const hazeSnap: Preset = {
2748
+ name: "enter/haze-snap",
2749
+ split: "character",
2750
+ stagger: 60,
2751
+ staggerOrder: "center",
2752
+ perspective: 500,
2753
+ animations: [
2754
+ { prop: "opacity", from: 0, to: 1, duration: 400, ease: "back.out" },
2755
+ { prop: "blur", from: 17, to: 0, duration: 650, ease: "expo.out" },
2756
+ { prop: "translateZ", from: -300, to: 0, duration: 550, ease: "back.out", jitterDelay: 60 },
2757
+ ],
2758
+ };
2759
+
2760
+ export const hazeScatterSpring: Preset = {
2761
+ name: "enter/haze-scatter-spring",
2762
+ split: "character",
2763
+ stagger: 20,
2764
+ staggerOrder: "end",
2765
+ animations: [
2766
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "power1.out" },
2767
+ { prop: "translateY", from: 140, to: 0, duration: 650, ease: "elastic.out" },
2768
+ { prop: "blur", from: { min: 3.4, max: 42.5 }, to: 0, duration: 550, ease: "expo.out" },
2769
+ ],
2770
+ };
2771
+
2772
+ export const whirlScatterWord2: Preset = {
2773
+ name: "enter/whirl-scatter-word",
2774
+ split: "word",
2775
+ stagger: 40,
2776
+ animations: [
2777
+ { prop: "opacity", from: 0, to: 1, duration: 350, ease: "power1.out" },
2778
+ { prop: "blur", from: { min: 2.2, max: 27.5 }, to: 0, duration: 500, ease: "power1.out" },
2779
+ { prop: "skewX", from: 30, to: 0, duration: 450, ease: "sine.out" },
2780
+ { prop: "rotate", from: { min: -3431.959, max: 3431.959 }, to: 0, duration: 750, ease: "power2.out", transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
2781
+ { prop: "scaleY", from: { min: 0.5, max: 6.25 }, to: 1, duration: 600, ease: "power1.out", transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
2782
+ ],
2783
+ };
2784
+
2785
+ export const slantScatterWord: Preset = {
2786
+ name: "enter/slant-scatter-word",
2787
+ split: "word",
2788
+ stagger: 20,
2789
+ animations: [
2790
+ { prop: "opacity", from: 0, to: 1, duration: 500, ease: "sine.out" },
2791
+ { prop: "scale", from: 0.2, to: 1, duration: 800, ease: "anticipate.out", transformOrigin: { x: 0, y: 0, z: -100 } },
2792
+ { prop: "translateX", from: 180, to: 0, duration: 700, ease: "anticipate.out" },
2793
+ { prop: "skewX", from: { min: -175.197, max: 175.197 }, to: 0, duration: 550, ease: "power1.out", transformOrigin: { x: 1, y: 0.5, z: 100 } },
2794
+ { prop: "blur", from: 8, to: 0, duration: 650, ease: "power1.out" },
2795
+ ],
2796
+ };
2797
+
2798
+ export const twirlLoose: Preset = {
2799
+ name: "exit/twirl-loose",
2800
+ split: "character",
2801
+ stagger: 45,
2802
+ perspective: 550,
2803
+ transformOrigin: { x: 0.5, y: 0.5 },
2804
+ animations: [
2805
+ { prop: "opacity", from: 1, to: 0, duration: 400 },
2806
+ { prop: "rotate", from: 0, to: 480, duration: 450, jitterDelay: 90 },
2807
+ { prop: "scale", from: 1, to: 0.75, duration: 450, jitterDelay: 220 },
2808
+ { prop: "rotateY", from: 0, to: -120, duration: 600, perspective: 300 },
2809
+ ],
2810
+ };
2811
+
2812
+ export const twirlScatterTunnel: Preset = {
2813
+ name: "exit/twirl-scatter-tunnel",
2814
+ split: "character",
2815
+ stagger: 45,
2816
+ perspective: 250,
2817
+ animations: [
2818
+ { prop: "opacity", from: 1, to: 0, duration: 450 },
2819
+ { prop: "rotate", from: 0, to: 690, duration: 600 },
2820
+ { prop: "translateZ", from: 0, to: -550, duration: 450, perspective: 600 },
2821
+ { prop: "scale", from: 1, to: { min: 0.07, max: 0.875 }, duration: 650, jitterDelay: 220, transformOrigin: { x: 0.5, y: 1 } },
2822
+ ],
2823
+ };
2824
+
2825
+ export const whirlScatterTunnel: Preset = {
2826
+ name: "exit/whirl-scatter-tunnel",
2827
+ split: "character",
2828
+ stagger: 50,
2829
+ perspective: 300,
2830
+ transformOrigin: { x: 0.5, y: 0.5 },
2831
+ animations: [
2832
+ { prop: "opacity", from: 1, to: 0, duration: 400 },
2833
+ { prop: "rotateY", from: 0, to: { min: -1938.928, max: 1938.928 }, duration: 700, jitterDelay: 310, transformOrigin: { x: 0.3, y: 0.7, z: -120 }, perspective: 100 },
2834
+ { prop: "translateZ", from: 0, to: -800, duration: 450, perspective: 150 },
2835
+ { prop: "rotate", from: 0, to: { min: -3440.352, max: 3440.352 }, duration: 600, jitterDelay: 210 },
2836
+ { prop: "blur", from: 0, to: { min: 2.6, max: 32.5 }, duration: 550, jitterDelay: 340 },
2837
+ { prop: "skewX", from: 0, to: { min: -372.022, max: 372.022 }, duration: 300, jitterDelay: 400 },
2838
+ ],
2839
+ };
2840
+
2841
+ export const slideScatter2: Preset = {
2842
+ name: "exit/slide-scatter",
2843
+ split: "character",
2844
+ stagger: 45,
2845
+ staggerOrder: "random",
2846
+ animations: [
2847
+ { prop: "opacity", from: 1, to: 0, duration: 450 },
2848
+ { prop: "rotate", from: 0, to: 480, duration: 600, jitterDelay: 430, transformOrigin: { x: 0.5, y: 1, z: 100 } },
2849
+ { prop: "skewX", from: 0, to: { min: -256.058, max: 256.058 }, duration: 350, jitterDelay: 450, transformOrigin: { x: 0, y: 0.5, z: -100 } },
2850
+ { prop: "scaleX", from: 1, to: { min: 0.6, max: 7.5 }, duration: 700, jitterDelay: 450 },
2851
+ { prop: "scaleY", from: 1, to: { min: 0.06, max: 0.75 }, duration: 650, transformOrigin: { x: 0.3, y: 0.7, z: -120 } },
2852
+ { prop: "blur", from: 0, to: { min: 4.4, max: 55 }, duration: 500, jitterDelay: 410 },
2853
+ { prop: "translateX", from: 0, to: { min: -1217.019, max: 1217.019 }, duration: 600, jitterDelay: 410 },
2854
+ ],
2855
+ };
2856
+
2857
+ export const whirlScatterTunnel3: Preset = {
2858
+ name: "exit/whirl-scatter-tunnel-2",
2859
+ split: "character",
2860
+ stagger: 35,
2861
+ staggerOrder: "edges",
2862
+ perspective: 100,
2863
+ animations: [
2864
+ { prop: "opacity", from: 1, to: 0, duration: 450 },
2865
+ { prop: "translateZ", from: 0, to: -700, duration: 600, jitterDelay: 460, perspective: 300 },
2866
+ { prop: "rotate", from: 0, to: { min: -7084.676, max: 7084.676 }, duration: 600, transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
2867
+ { prop: "scale", from: 1, to: { min: 0.08, max: 1 }, duration: 550 },
2868
+ { prop: "skewX", from: 0, to: { min: -246.666, max: 246.666 }, duration: 350, jitterDelay: 120, transformOrigin: { x: 1, y: 0.5, z: 100 } },
2869
+ ],
2870
+ };
2871
+
2872
+ export const pivotScatterTunnel: Preset = {
2873
+ name: "exit/pivot-scatter-tunnel",
2874
+ split: "word",
2875
+ stagger: 45,
2876
+ perspective: 300,
2877
+ animations: [
2878
+ { prop: "opacity", from: 1, to: 0, duration: 400 },
2879
+ { prop: "rotate", from: 0, to: 270, duration: 500 },
2880
+ { prop: "scaleX", from: 1, to: { min: 0, max: -2.5 }, duration: 450 },
2881
+ { prop: "translateZ", from: 0, to: -300, duration: 650 },
2882
+ ],
2883
+ };
2884
+
2885
+ export const fogScatter: Preset = {
2886
+ name: "exit/fog-scatter",
2887
+ split: "character",
2888
+ stagger: 45,
2889
+ animations: [
2890
+ { prop: "opacity", from: 1, to: 0, duration: 400 },
2891
+ { prop: "blur", from: 0, to: 17, duration: 350 },
2892
+ { prop: "scaleX", from: 1, to: { min: 0.3, max: 3.75 }, duration: 400, transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
2893
+ { prop: "rotate", from: 0, to: 90, duration: 450 },
2894
+ { prop: "translateX", from: 0, to: -130, duration: 550 },
2895
+ ],
2896
+ };
2897
+
2898
+ export const fogScatter2: Preset = {
2899
+ name: "exit/fog-scatter-2",
2900
+ split: "character",
2901
+ stagger: 20,
2902
+ animations: [
2903
+ { prop: "opacity", from: 1, to: 0, duration: 450 },
2904
+ { prop: "translateY", from: 0, to: 150, duration: 550 },
2905
+ { prop: "scaleY", from: 1, to: 2.5, duration: 550, transformOrigin: { x: 0.7, y: 0.3, z: 120 } },
2906
+ { prop: "blur", from: 0, to: { min: 2.6, max: 32.5 }, duration: 450, jitterDelay: 100 },
2907
+ ],
2908
+ };
2909
+
2910
+ export const riseScatter2: Preset = {
2911
+ name: "exit/rise-scatter",
2912
+ split: "word",
2913
+ stagger: 15,
2914
+ staggerOrder: "end",
2915
+ perspective: 500,
2916
+ transformOrigin: { x: 0.5, y: 0.5 },
2917
+ animations: [
2918
+ { prop: "opacity", from: 1, to: 0, duration: 450 },
2919
+ { prop: "translateY", from: 0, to: -160, duration: 650 },
2920
+ { prop: "rotateY", from: 0, to: -120, duration: 550, transformOrigin: { x: 0, y: 0.5, z: -100 } },
2921
+ { prop: "scale", from: 1, to: { min: 0.11, max: 1.375 }, duration: 550 },
2922
+ ],
2923
+ };
2924
+
2925
+ export const riseScatter3: Preset = {
2926
+ name: "exit/rise-scatter-2",
2927
+ split: "character",
2928
+ stagger: 50,
2929
+ staggerOrder: "end",
2930
+ perspective: 650,
2931
+ transformOrigin: { x: 0.5, y: 1 },
2932
+ animations: [
2933
+ { prop: "opacity", from: 1, to: 0, duration: 450 },
2934
+ { prop: "translateY", from: 0, to: { min: -528.301, max: 528.301 }, duration: 550 },
2935
+ { prop: "blur", from: 0, to: { min: 3.6, max: 45 }, duration: 500 },
2936
+ { prop: "scaleX", from: 1, to: { min: 0.04, max: 0.5 }, duration: 600, transformOrigin: { x: 0.7, y: 0.3, z: 120 } },
2937
+ { prop: "scaleY", from: 1, to: 0, duration: 550, transformOrigin: { x: 0.5, y: 0, z: -100 } },
2938
+ { prop: "rotateX", from: 0, to: -450, duration: 550, perspective: 200 },
2939
+ { prop: "translateX", from: 0, to: -210, duration: 600 },
2940
+ ],
2941
+ };
2942
+
2943
+ export const twirl: Preset = {
2944
+ name: "exit/twirl",
2945
+ split: "character",
2946
+ stagger: 45,
2947
+ animations: [
2948
+ { prop: "opacity", from: 1, to: 0, duration: 450 },
2949
+ { prop: "rotate", from: 0, to: 720, duration: 450, transformOrigin: { x: 0, y: 0.5, z: -100 } },
2950
+ { prop: "scale", from: 1, to: 0.65, duration: 600 },
2951
+ ],
2952
+ };
2953
+
2954
+ export const topple2: Preset = {
2955
+ name: "exit/topple",
2956
+ split: "character",
2957
+ stagger: 40,
2958
+ staggerOrder: "end",
2959
+ perspective: 600,
2960
+ transformOrigin: { x: 0.5, y: 1 },
2961
+ animations: [
2962
+ { prop: "opacity", from: 1, to: 0, duration: 300 },
2963
+ { prop: "scale", from: 1, to: 0.55, duration: 600 },
2964
+ { prop: "rotateX", from: 0, to: 180, duration: 500, transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
2965
+ ],
2966
+ };
2967
+
2968
+ export const whirlScatter32: Preset = {
2969
+ name: "exit/whirl-scatter",
2970
+ split: "character",
2971
+ stagger: 45,
2972
+ staggerOrder: "edges",
2973
+ animations: [
2974
+ { prop: "opacity", from: 1, to: 0, duration: 500 },
2975
+ { prop: "scaleX", from: 1, to: { min: 0.6, max: 7.5 }, duration: 550, jitterDelay: 330, transformOrigin: { x: 0, y: 0.5, z: -100 } },
2976
+ { prop: "rotate", from: 0, to: { min: -1871.995, max: 1871.995 }, duration: 550, jitterDelay: 320 },
2977
+ { prop: "translateY", from: 0, to: 180, duration: 450, jitterDelay: 120 },
2978
+ { prop: "blur", from: 0, to: 11, duration: 550 },
2979
+ ],
2980
+ };
2981
+
2982
+ export const slideLoose: Preset = {
2983
+ name: "exit/slide-loose",
2984
+ split: "character",
2985
+ stagger: 55,
2986
+ animations: [
2987
+ { prop: "opacity", from: 1, to: 0, duration: 400 },
2988
+ { prop: "translateY", from: 0, to: 120, duration: 400, jitterDelay: 250 },
2989
+ { prop: "translateX", from: 0, to: -170, duration: 450 },
2990
+ { prop: "scale", from: 1, to: 0.45, duration: 500 },
2991
+ { prop: "scaleX", from: 1, to: 2, duration: 450, jitterDelay: 220, transformOrigin: { x: 0.5, y: 0.5, z: -150 } },
2992
+ ],
2993
+ };
2994
+
2995
+ export const slideScatter22: Preset = {
2996
+ name: "exit/slide-scatter-2",
2997
+ split: "character",
2998
+ stagger: 45,
2999
+ perspective: 650,
3000
+ animations: [
3001
+ { prop: "opacity", from: 1, to: 0, duration: 450 },
3002
+ { prop: "translateY", from: 0, to: { min: -654.094, max: 654.094 }, duration: 650 },
3003
+ { prop: "scale", from: 1, to: { min: 0.13, max: 1.625 }, duration: 400 },
3004
+ { prop: "skewX", from: 0, to: -20, duration: 500, transformOrigin: { x: 0.5, y: 0 } },
3005
+ { prop: "translateZ", from: 0, to: -500, duration: 500, jitterDelay: 230, perspective: 600 },
3006
+ { prop: "translateX", from: 0, to: { min: -839.498, max: 839.498 }, duration: 550 },
3007
+ ],
3008
+ };
3009
+
3010
+ export const twirl2: Preset = {
3011
+ name: "exit/twirl-2",
3012
+ split: "character",
3013
+ stagger: 40,
3014
+ animations: [
3015
+ { prop: "opacity", from: 1, to: 0, duration: 450 },
3016
+ { prop: "scaleY", from: 1, to: 0, duration: 450 },
3017
+ { prop: "scaleX", from: 1, to: 0, duration: 550, jitterDelay: 80, transformOrigin: { x: 0.5, y: 0.5, z: 150 } },
3018
+ { prop: "rotate", from: 0, to: -690, duration: 650, transformOrigin: { x: 0.5, y: 0.5, z: -80 } },
3019
+ ],
3020
+ };
3021
+
3022
+ export const pivot: Preset = {
3023
+ name: "emphasis/pivot",
3024
+ split: "character",
3025
+ stagger: 50,
3026
+ animations: [
3027
+ { prop: "rotate", from: 0, to: 360, duration: 700, ease: "expo.out", transformOrigin: { x: 0.5, y: 1 } },
3028
+ ],
3029
+ };
3030
+
3031
+ export const pivot2: Preset = {
3032
+ name: "emphasis/pivot-2",
3033
+ split: "word",
3034
+ stagger: 40,
3035
+ animations: [
3036
+ { prop: "rotate", from: 0, to: 360, duration: 700, ease: "anticipate.inOut", jitterDelay: 170 },
3037
+ ],
3038
+ };
3039
+
3040
+ export const pivotBounce: Preset = {
3041
+ name: "emphasis/pivot-bounce",
3042
+ split: "character",
3043
+ stagger: 50,
3044
+ staggerOrder: "edges",
3045
+ animations: [
3046
+ { prop: "rotate", from: 0, to: 360, duration: 650, ease: "bounce.out", jitterDelay: 40, transformOrigin: { x: 1, y: 1 } },
3047
+ ],
3048
+ };
3049
+
3050
+ export const pivotSnap: Preset = {
3051
+ name: "emphasis/pivot-snap",
3052
+ split: "character",
3053
+ stagger: 30,
3054
+ animations: [
3055
+ { prop: "rotate", from: 0, to: 360, duration: 650, ease: "back.inOut", jitterDelay: 60, transformOrigin: { x: 1, y: 0 } },
3056
+ ],
3057
+ };
3058
+
3059
+ export const swivelSnapDepth: Preset = {
3060
+ name: "emphasis/swivel-snap-depth",
3061
+ split: "character",
3062
+ stagger: 20,
3063
+ staggerOrder: "end",
3064
+ perspective: 1050,
3065
+ transformOrigin: { x: 0.5, y: 0.5 },
3066
+ animations: [
3067
+ { prop: "rotateY", from: 0, to: 360, duration: 600, ease: "back.out" },
3068
+ ],
3069
+ };
3070
+
3071
+ export const pivot4: Preset = {
3072
+ name: "emphasis/pivot-3",
3073
+ split: "character",
3074
+ stagger: 50,
3075
+ animations: [
3076
+ { prop: "rotate", from: 0, to: 360, duration: 600, ease: "power2.inOut", transformOrigin: { x: 0.5, y: 0 } },
3077
+ ],
3078
+ };
3079
+
3080
+ /**
3081
+ * Every Studio-generated preset, paired with its preset name. Index.ts
3082
+ * spreads this into the runtime registry alongside the handcurated
3083
+ * entries.
3084
+ */
3085
+ export const ALL_GENERATED: readonly { name: string; preset: Preset }[] = [
3086
+ { name: "enter/extend-y-scatter", preset: extendYScatter },
3087
+ { name: "enter/extend-x-snap", preset: extendXSnap },
3088
+ { name: "enter/tilt-in-spring", preset: tiltInSpring },
3089
+ { name: "enter/lean-in-spring", preset: leanInSpring },
3090
+ { name: "enter/expand-snap", preset: expandSnap },
3091
+ { name: "enter/flip-up-spring", preset: flipUpSpring },
3092
+ { name: "enter/slide-scatter", preset: slideScatter },
3093
+ { name: "enter/soar-swarm", preset: soarSwarm },
3094
+ { name: "enter/tunnel", preset: tunnel },
3095
+ { name: "enter/soar-bounce", preset: soarBounce },
3096
+ { name: "enter/stretch-x-kick", preset: stretchXKick },
3097
+ { name: "enter/slide-bounce", preset: slideBounce },
3098
+ { name: "enter/stretch-x-scatter", preset: stretchXScatter },
3099
+ { name: "enter/glide-scatter", preset: glideScatter },
3100
+ { name: "enter/grow-scatter", preset: growScatter },
3101
+ { name: "enter/unfurl-y-scatter", preset: unfurlYScatter },
3102
+ { name: "enter/pivot-curl", preset: pivotCurl },
3103
+ { name: "enter/stretch-y-scatter", preset: stretchYScatter },
3104
+ { name: "enter/lean-in-scatter-curl", preset: leanInScatterCurl },
3105
+ { name: "enter/settle-scatter", preset: settleScatter },
3106
+ { name: "enter/expand-scatter", preset: expandScatter },
3107
+ { name: "enter/slant-scatter", preset: slantScatter },
3108
+ { name: "enter/extend-x-curl", preset: extendXCurl },
3109
+ { name: "enter/extend-y-curl", preset: extendYCurl },
3110
+ { name: "enter/tumble-x-scatter-word", preset: tumbleXScatterWord },
3111
+ { name: "enter/flip-up-scatter-curl", preset: flipUpScatterCurl },
3112
+ { name: "enter/expand-scatter-loose", preset: expandScatterLoose },
3113
+ { name: "enter/tilt-in-scatter", preset: tiltInScatter },
3114
+ { name: "enter/unfurl-x-scatter", preset: unfurlXScatter },
3115
+ { name: "enter/bloom-scatter", preset: bloomScatter },
3116
+ { name: "enter/flip-up-scatter-bounce", preset: flipUpScatterBounce },
3117
+ { name: "enter/fold-in-scatter-bounce", preset: foldInScatterBounce },
3118
+ { name: "enter/swivel-scatter-loose", preset: swivelScatterLoose },
3119
+ { name: "enter/swirl-scatter", preset: swirlScatter },
3120
+ { name: "enter/twirl-scatter", preset: twirlScatter },
3121
+ { name: "enter/extend-x-snap-word", preset: extendXSnapWord },
3122
+ { name: "enter/rise-y-scatter", preset: riseYScatter },
3123
+ { name: "enter/lean-scatter", preset: leanScatter },
3124
+ { name: "enter/rise-y-scatter-curl", preset: riseYScatterCurl },
3125
+ { name: "enter/whirl-scatter", preset: whirlScatter },
3126
+ { name: "enter/pinwheel-scatter", preset: pinwheelScatter },
3127
+ { name: "enter/swivel-scatter-deep", preset: swivelScatterDeep },
3128
+ { name: "enter/fold-in-curl", preset: foldInCurl },
3129
+ { name: "enter/turn-scatter-curl", preset: turnScatterCurl },
3130
+ { name: "enter/fold-in-scatter-curl", preset: foldInScatterCurl },
3131
+ { name: "enter/flip-up-scatter-word", preset: flipUpScatterWord },
3132
+ { name: "enter/tilt-in-scatter-word", preset: tiltInScatterWord },
3133
+ { name: "enter/unfurl-y-curl", preset: unfurlYCurl },
3134
+ { name: "enter/extend-y-scatter-word", preset: extendYScatterWord },
3135
+ { name: "enter/topple", preset: topple },
3136
+ { name: "enter/blur-rise-snap", preset: blurRiseSnap },
3137
+ { name: "enter/loom", preset: loom },
3138
+ { name: "enter/glide-outward", preset: glideOutward },
3139
+ { name: "enter/tilt-in-bounce", preset: tiltInBounce },
3140
+ { name: "enter/expand-scatter-trail", preset: expandScatterTrail },
3141
+ { name: "enter/rotate-y-in-deep", preset: rotateYInDeep },
3142
+ { name: "enter/swipe-spring", preset: swipeSpring },
3143
+ { name: "enter/swipe-scatter", preset: swipeScatter },
3144
+ { name: "enter/tilt-in-inward", preset: tiltInInward },
3145
+ { name: "enter/grow-spring", preset: growSpring },
3146
+ { name: "enter/extend-y-scatter-curl", preset: extendYScatterCurl },
3147
+ { name: "enter/rotate-y-in-scatter-curl", preset: rotateYInScatterCurl },
3148
+ { name: "enter/fold-in-scatter-snap", preset: foldInScatterSnap },
3149
+ { name: "enter/slant-scatter-spring", preset: slantScatterSpring },
3150
+ { name: "enter/rise-y-scatter-loose", preset: riseYScatterLoose },
3151
+ { name: "enter/tilt-in-scatter-curl", preset: tiltInScatterCurl },
3152
+ { name: "enter/spread-x-scatter-curl", preset: spreadXScatterCurl },
3153
+ { name: "enter/twirl-scatter-curl", preset: twirlScatterCurl },
3154
+ { name: "enter/tip-in-scatter", preset: tipInScatter },
3155
+ { name: "enter/lift-spring", preset: liftSpring },
3156
+ { name: "enter/stretch-x-bounce", preset: stretchXBounce },
3157
+ { name: "enter/unfurl-x-kick", preset: unfurlXKick },
3158
+ { name: "enter/rotate-y-in-inward", preset: rotateYInInward },
3159
+ { name: "enter/haze-outward", preset: hazeOutward },
3160
+ { name: "enter/pivot-scatter", preset: pivotScatter },
3161
+ { name: "enter/turn-spring", preset: turnSpring },
3162
+ { name: "enter/tumble-x-loose", preset: tumbleXLoose },
3163
+ { name: "enter/lean-in-scatter-spring", preset: leanInScatterSpring },
3164
+ { name: "enter/topple-scatter-trail", preset: toppleScatterTrail },
3165
+ { name: "enter/whirl-scatter-curl", preset: whirlScatterCurl },
3166
+ { name: "enter/tip-in-scatter-curl", preset: tipInScatterCurl },
3167
+ { name: "enter/swirl-loose", preset: swirlLoose },
3168
+ { name: "enter/rotate-y-in-scatter-spring", preset: rotateYInScatterSpring },
3169
+ { name: "enter/whirl-scatter-loose", preset: whirlScatterLoose },
3170
+ { name: "enter/tip-in-scatter-snap", preset: tipInScatterSnap },
3171
+ { name: "enter/swivel-scatter-inward", preset: swivelScatterInward },
3172
+ { name: "enter/topple-scatter-kick", preset: toppleScatterKick },
3173
+ { name: "exit/collapse-snap", preset: collapseSnap },
3174
+ { name: "exit/lean-out-snap", preset: leanOutSnap },
3175
+ { name: "exit/exit-x-burst", preset: exitXBurst },
3176
+ { name: "exit/mist-out", preset: mistOut },
3177
+ { name: "exit/shear-out-burst", preset: shearOutBurst },
3178
+ { name: "exit/compress-x-kick", preset: compressXKick },
3179
+ { name: "exit/rise-out-burst", preset: riseOutBurst },
3180
+ { name: "exit/flip-out-burst", preset: flipOutBurst },
3181
+ { name: "exit/pivot-out-burst", preset: pivotOutBurst },
3182
+ { name: "exit/flip-out-curl", preset: flipOutCurl },
3183
+ { name: "exit/turn-out-burst", preset: turnOutBurst },
3184
+ { name: "exit/squash-x-burst", preset: squashXBurst },
3185
+ { name: "exit/swivel-out-burst", preset: swivelOutBurst },
3186
+ { name: "exit/topple-out-burst", preset: toppleOutBurst },
3187
+ { name: "exit/flatten-y", preset: flattenY },
3188
+ { name: "exit/tilt-out-burst-loose", preset: tiltOutBurstLoose },
3189
+ { name: "exit/swirl-out-curl", preset: swirlOutCurl },
3190
+ { name: "exit/topple-out-burst-curl", preset: toppleOutBurstCurl },
3191
+ { name: "exit/squash-x-burst-curl", preset: squashXBurstCurl },
3192
+ { name: "exit/tip-out-burst", preset: tipOutBurst },
3193
+ { name: "exit/fold-out-burst", preset: foldOutBurst },
3194
+ { name: "exit/fold-out-burst-curl", preset: foldOutBurstCurl },
3195
+ { name: "exit/flip-out-loose", preset: flipOutLoose },
3196
+ { name: "exit/tip-out-burst-curl", preset: tipOutBurstCurl },
3197
+ { name: "exit/topple-out-burst-snap", preset: toppleOutBurstSnap },
3198
+ { name: "exit/fold-out-burst-2", preset: foldOutBurst2 },
3199
+ { name: "exit/tilt-out-burst-word", preset: tiltOutBurstWord },
3200
+ { name: "exit/compress-x-burst", preset: compressXBurst },
3201
+ { name: "exit/lift-out-burst", preset: liftOutBurst },
3202
+ { name: "exit/swivel-out-curl", preset: swivelOutCurl },
3203
+ { name: "exit/flatten-y-burst", preset: flattenYBurst },
3204
+ { name: "exit/compress-x-burst-curl", preset: compressXBurstCurl },
3205
+ { name: "exit/tip-out-burst-loose", preset: tipOutBurstLoose },
3206
+ { name: "exit/swivel-out-burst-curl", preset: swivelOutBurstCurl },
3207
+ { name: "exit/lean-out-burst", preset: leanOutBurst },
3208
+ { name: "exit/lean-out-burst-word", preset: leanOutBurstWord },
3209
+ { name: "exit/lean-out-burst-curl", preset: leanOutBurstCurl },
3210
+ { name: "exit/swivel-out", preset: swivelOut },
3211
+ { name: "exit/dissolve-kick", preset: dissolveKick },
3212
+ { name: "exit/rise-out-kick", preset: riseOutKick },
3213
+ { name: "exit/swivel-out-kick", preset: swivelOutKick },
3214
+ { name: "exit/twirl-out-burst", preset: twirlOutBurst },
3215
+ { name: "exit/pinwheel-out", preset: pinwheelOut },
3216
+ { name: "exit/turn-out-burst-snap", preset: turnOutBurstSnap },
3217
+ { name: "exit/swirl-out-burst", preset: swirlOutBurst },
3218
+ { name: "exit/compress-x-burst-kick", preset: compressXBurstKick },
3219
+ { name: "exit/turn-out-burst-2", preset: turnOutBurst2 },
3220
+ { name: "exit/flatten-x-loose", preset: flattenXLoose },
3221
+ { name: "exit/pivot-out-burst-loose", preset: pivotOutBurstLoose },
3222
+ { name: "exit/flatten-x-burst-loose", preset: flattenXBurstLoose },
3223
+ { name: "exit/turn-out-burst-deep", preset: turnOutBurstDeep },
3224
+ { name: "exit/lean-out-burst-swarm", preset: leanOutBurstSwarm },
3225
+ { name: "exit/topple-out-burst-kick", preset: toppleOutBurstKick },
3226
+ { name: "exit/turn-out-burst-swarm", preset: turnOutBurstSwarm },
3227
+ { name: "exit/tilt-out-burst", preset: tiltOutBurst2 },
3228
+ { name: "exit/swivel-out-burst-loose", preset: swivelOutBurstLoose },
3229
+ { name: "exit/implode-burst", preset: implodeBurst },
3230
+ { name: "exit/swivel-out-loose", preset: swivelOutLoose },
3231
+ { name: "exit/compress-x-burst-loose", preset: compressXBurstLoose },
3232
+ { name: "exit/fold-out-burst-loose", preset: foldOutBurstLoose },
3233
+ { name: "exit/collapse-burst", preset: collapseBurst },
3234
+ { name: "exit/compress-y-burst-curl", preset: compressYBurstCurl },
3235
+ { name: "exit/twirl-out-burst-loose", preset: twirlOutBurstLoose },
3236
+ { name: "exit/flatten-y-curl", preset: flattenYCurl },
3237
+ { name: "exit/tip-out-burst-inward", preset: tipOutBurstInward },
3238
+ { name: "exit/flatten-x-burst-deep", preset: flattenXBurstDeep },
3239
+ { name: "exit/swivel-out-burst-snap", preset: swivelOutBurstSnap },
3240
+ { name: "exit/tilt-out-burst-deep", preset: tiltOutBurstDeep },
3241
+ { name: "exit/swipe-out-snap", preset: swipeOutSnap },
3242
+ { name: "exit/turn-out-burst-trail", preset: turnOutBurstTrail },
3243
+ { name: "exit/topple-out-burst-2", preset: toppleOutBurst2 },
3244
+ { name: "exit/flatten-x-curl", preset: flattenXCurl },
3245
+ { name: "exit/tilt-out-burst-kick", preset: tiltOutBurstKick },
3246
+ { name: "emphasis/wiggle-outward", preset: wiggleOutward },
3247
+ { name: "emphasis/lean-loose", preset: leanLoose },
3248
+ { name: "emphasis/pinwheel-curl", preset: pinwheelCurl },
3249
+ { name: "emphasis/bob", preset: bob },
3250
+ { name: "emphasis/whirl-loose", preset: whirlLoose },
3251
+ { name: "emphasis/whirl-loose-2", preset: whirlLoose2 },
3252
+ { name: "emphasis/fold-tap-curl", preset: foldTapCurl },
3253
+ { name: "emphasis/turn-deep", preset: turnDeep },
3254
+ { name: "emphasis/tip-curl", preset: tipCurl },
3255
+ { name: "emphasis/swivel-curl", preset: swivelCurl },
3256
+ { name: "emphasis/pump-trail", preset: pumpTrail },
3257
+ { name: "emphasis/twirl-curl", preset: twirlCurl },
3258
+ { name: "emphasis/jolt-y-trail", preset: joltYTrail },
3259
+ { name: "emphasis/sway-curl", preset: swayCurl },
3260
+ { name: "emphasis/twirl-curl-inward", preset: twirlCurlInward },
3261
+ { name: "emphasis/carousel-inward", preset: carouselInward },
3262
+ { name: "emphasis/jolt-y-trail-2", preset: joltYTrail2 },
3263
+ { name: "emphasis/tip-deep", preset: tipDeep },
3264
+ { name: "emphasis/tap-x-loose", preset: tapXLoose },
3265
+ { name: "emphasis/rock-inward", preset: rockInward },
3266
+ { name: "enter/tumble-scatter-tunnel-word", preset: tumbleScatterTunnelWord },
3267
+ { name: "enter/twirl-scatter-2", preset: twirlScatter2 },
3268
+ { name: "enter/pivot-scatter-2", preset: pivotScatter2 },
3269
+ { name: "enter/tumble-scatter", preset: tumbleScatter },
3270
+ { name: "enter/whirl-scatter-2", preset: whirlScatter2 },
3271
+ { name: "enter/whirl-scatter-3", preset: whirlScatter3 },
3272
+ { name: "enter/spin-scatter", preset: spinScatter },
3273
+ { name: "enter/whirl-scatter-4", preset: whirlScatter4 },
3274
+ { name: "enter/haze-scatter", preset: hazeScatter },
3275
+ { name: "enter/twirl-scatter-3", preset: twirlScatter3 },
3276
+ { name: "enter/twirl-scatter-4", preset: twirlScatter4 },
3277
+ { name: "enter/whirl-scatter-5", preset: whirlScatter5 },
3278
+ { name: "enter/tumble-scatter-2", preset: tumbleScatter2 },
3279
+ { name: "enter/compress-y-scatter", preset: compressYScatter },
3280
+ { name: "enter/topple-snap-loose-word", preset: toppleSnapLooseWord },
3281
+ { name: "enter/drop-scatter-bounce-word", preset: dropScatterBounceWord },
3282
+ { name: "enter/slant-scatter-bounce", preset: slantScatterBounce },
3283
+ { name: "enter/slant-scatter-spring-word", preset: slantScatterSpringWord },
3284
+ { name: "enter/whirl-scatter-6", preset: whirlScatter6 },
3285
+ { name: "enter/haze-scatter-2", preset: hazeScatter2 },
3286
+ { name: "enter/whirl-scatter-snap", preset: whirlScatterSnap },
3287
+ { name: "enter/whirl-scatter-snap-tunnel", preset: whirlScatterSnapTunnel },
3288
+ { name: "enter/haze-scatter-3", preset: hazeScatter3 },
3289
+ { name: "enter/haze-snap", preset: hazeSnap },
3290
+ { name: "enter/haze-scatter-spring", preset: hazeScatterSpring },
3291
+ { name: "enter/whirl-scatter-word", preset: whirlScatterWord2 },
3292
+ { name: "enter/slant-scatter-word", preset: slantScatterWord },
3293
+ { name: "exit/twirl-loose", preset: twirlLoose },
3294
+ { name: "exit/twirl-scatter-tunnel", preset: twirlScatterTunnel },
3295
+ { name: "exit/whirl-scatter-tunnel", preset: whirlScatterTunnel },
3296
+ { name: "exit/slide-scatter", preset: slideScatter2 },
3297
+ { name: "exit/whirl-scatter-tunnel-2", preset: whirlScatterTunnel3 },
3298
+ { name: "exit/pivot-scatter-tunnel", preset: pivotScatterTunnel },
3299
+ { name: "exit/fog-scatter", preset: fogScatter },
3300
+ { name: "exit/fog-scatter-2", preset: fogScatter2 },
3301
+ { name: "exit/rise-scatter", preset: riseScatter2 },
3302
+ { name: "exit/rise-scatter-2", preset: riseScatter3 },
3303
+ { name: "exit/twirl", preset: twirl },
3304
+ { name: "exit/topple", preset: topple2 },
3305
+ { name: "exit/whirl-scatter", preset: whirlScatter32 },
3306
+ { name: "exit/slide-loose", preset: slideLoose },
3307
+ { name: "exit/slide-scatter-2", preset: slideScatter22 },
3308
+ { name: "exit/twirl-2", preset: twirl2 },
3309
+ { name: "emphasis/pivot", preset: pivot },
3310
+ { name: "emphasis/pivot-2", preset: pivot2 },
3311
+ { name: "emphasis/pivot-bounce", preset: pivotBounce },
3312
+ { name: "emphasis/pivot-snap", preset: pivotSnap },
3313
+ { name: "emphasis/swivel-snap-depth", preset: swivelSnapDepth },
3314
+ { name: "emphasis/pivot-3", preset: pivot4 },
3315
+ ];