react-awesome-reveal 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,2089 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ AttentionSeeker: () => AttentionSeeker,
24
+ Bounce: () => Bounce,
25
+ Fade: () => Fade,
26
+ Flip: () => Flip,
27
+ Hinge: () => Hinge,
28
+ JackInTheBox: () => JackInTheBox,
29
+ Reveal: () => Reveal,
30
+ Roll: () => Roll,
31
+ Rotate: () => Rotate,
32
+ Slide: () => Slide,
33
+ Zoom: () => Zoom,
34
+ default: () => Reveal
35
+ });
36
+ module.exports = __toCommonJS(src_exports);
37
+
38
+ // src/components/AttentionSeeker.tsx
39
+ var import_react31 = require("react");
40
+
41
+ // src/animations/attention_seekers/bounce.ts
42
+ var import_react = require("@emotion/react");
43
+ var bounce = import_react.keyframes`
44
+ from,
45
+ 20%,
46
+ 53%,
47
+ to {
48
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
49
+ transform: translate3d(0, 0, 0);
50
+ }
51
+
52
+ 40%,
53
+ 43% {
54
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
55
+ transform: translate3d(0, -30px, 0) scaleY(1.1);
56
+ }
57
+
58
+ 70% {
59
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
60
+ transform: translate3d(0, -15px, 0) scaleY(1.05);
61
+ }
62
+
63
+ 80% {
64
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
65
+ transform: translate3d(0, 0, 0) scaleY(0.95);
66
+ }
67
+
68
+ 90% {
69
+ transform: translate3d(0, -4px, 0) scaleY(1.02);
70
+ }
71
+ `;
72
+
73
+ // src/animations/attention_seekers/flash.ts
74
+ var import_react2 = require("@emotion/react");
75
+ var flash = import_react2.keyframes`
76
+ from,
77
+ 50%,
78
+ to {
79
+ opacity: 1;
80
+ }
81
+
82
+ 25%,
83
+ 75% {
84
+ opacity: 0;
85
+ }
86
+ `;
87
+
88
+ // src/animations/attention_seekers/headShake.ts
89
+ var import_react3 = require("@emotion/react");
90
+ var headShake = import_react3.keyframes`
91
+ 0% {
92
+ transform: translateX(0);
93
+ }
94
+
95
+ 6.5% {
96
+ transform: translateX(-6px) rotateY(-9deg);
97
+ }
98
+
99
+ 18.5% {
100
+ transform: translateX(5px) rotateY(7deg);
101
+ }
102
+
103
+ 31.5% {
104
+ transform: translateX(-3px) rotateY(-5deg);
105
+ }
106
+
107
+ 43.5% {
108
+ transform: translateX(2px) rotateY(3deg);
109
+ }
110
+
111
+ 50% {
112
+ transform: translateX(0);
113
+ }
114
+ `;
115
+
116
+ // src/animations/attention_seekers/heartBeat.ts
117
+ var import_react4 = require("@emotion/react");
118
+ var heartBeat = import_react4.keyframes`
119
+ 0% {
120
+ transform: scale(1);
121
+ }
122
+
123
+ 14% {
124
+ transform: scale(1.3);
125
+ }
126
+
127
+ 28% {
128
+ transform: scale(1);
129
+ }
130
+
131
+ 42% {
132
+ transform: scale(1.3);
133
+ }
134
+
135
+ 70% {
136
+ transform: scale(1);
137
+ }
138
+ `;
139
+
140
+ // src/animations/attention_seekers/jello.ts
141
+ var import_react5 = require("@emotion/react");
142
+ var jello = import_react5.keyframes`
143
+ from,
144
+ 11.1%,
145
+ to {
146
+ transform: translate3d(0, 0, 0);
147
+ }
148
+
149
+ 22.2% {
150
+ transform: skewX(-12.5deg) skewY(-12.5deg);
151
+ }
152
+
153
+ 33.3% {
154
+ transform: skewX(6.25deg) skewY(6.25deg);
155
+ }
156
+
157
+ 44.4% {
158
+ transform: skewX(-3.125deg) skewY(-3.125deg);
159
+ }
160
+
161
+ 55.5% {
162
+ transform: skewX(1.5625deg) skewY(1.5625deg);
163
+ }
164
+
165
+ 66.6% {
166
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
167
+ }
168
+
169
+ 77.7% {
170
+ transform: skewX(0.390625deg) skewY(0.390625deg);
171
+ }
172
+
173
+ 88.8% {
174
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
175
+ }
176
+ `;
177
+
178
+ // src/animations/attention_seekers/pulse.ts
179
+ var import_react6 = require("@emotion/react");
180
+ var pulse = import_react6.keyframes`
181
+ from {
182
+ transform: scale3d(1, 1, 1);
183
+ }
184
+
185
+ 50% {
186
+ transform: scale3d(1.05, 1.05, 1.05);
187
+ }
188
+
189
+ to {
190
+ transform: scale3d(1, 1, 1);
191
+ }
192
+ `;
193
+
194
+ // src/animations/attention_seekers/rubberBand.ts
195
+ var import_react7 = require("@emotion/react");
196
+ var rubberBand = import_react7.keyframes`
197
+ from {
198
+ transform: scale3d(1, 1, 1);
199
+ }
200
+
201
+ 30% {
202
+ transform: scale3d(1.25, 0.75, 1);
203
+ }
204
+
205
+ 40% {
206
+ transform: scale3d(0.75, 1.25, 1);
207
+ }
208
+
209
+ 50% {
210
+ transform: scale3d(1.15, 0.85, 1);
211
+ }
212
+
213
+ 65% {
214
+ transform: scale3d(0.95, 1.05, 1);
215
+ }
216
+
217
+ 75% {
218
+ transform: scale3d(1.05, 0.95, 1);
219
+ }
220
+
221
+ to {
222
+ transform: scale3d(1, 1, 1);
223
+ }
224
+ `;
225
+
226
+ // src/animations/attention_seekers/shake.ts
227
+ var import_react8 = require("@emotion/react");
228
+ var shake = import_react8.keyframes`
229
+ from,
230
+ to {
231
+ transform: translate3d(0, 0, 0);
232
+ }
233
+
234
+ 10%,
235
+ 30%,
236
+ 50%,
237
+ 70%,
238
+ 90% {
239
+ transform: translate3d(-10px, 0, 0);
240
+ }
241
+
242
+ 20%,
243
+ 40%,
244
+ 60%,
245
+ 80% {
246
+ transform: translate3d(10px, 0, 0);
247
+ }
248
+ `;
249
+
250
+ // src/animations/attention_seekers/shakeX.ts
251
+ var import_react9 = require("@emotion/react");
252
+ var shakeX = import_react9.keyframes`
253
+ from,
254
+ to {
255
+ transform: translate3d(0, 0, 0);
256
+ }
257
+
258
+ 10%,
259
+ 30%,
260
+ 50%,
261
+ 70%,
262
+ 90% {
263
+ transform: translate3d(-10px, 0, 0);
264
+ }
265
+
266
+ 20%,
267
+ 40%,
268
+ 60%,
269
+ 80% {
270
+ transform: translate3d(10px, 0, 0);
271
+ }
272
+ `;
273
+
274
+ // src/animations/attention_seekers/shakeY.ts
275
+ var import_react10 = require("@emotion/react");
276
+ var shakeY = import_react10.keyframes`
277
+ from,
278
+ to {
279
+ transform: translate3d(0, 0, 0);
280
+ }
281
+
282
+ 10%,
283
+ 30%,
284
+ 50%,
285
+ 70%,
286
+ 90% {
287
+ transform: translate3d(0, -10px, 0);
288
+ }
289
+
290
+ 20%,
291
+ 40%,
292
+ 60%,
293
+ 80% {
294
+ transform: translate3d(0, 10px, 0);
295
+ }
296
+ `;
297
+
298
+ // src/animations/attention_seekers/swing.ts
299
+ var import_react11 = require("@emotion/react");
300
+ var swing = import_react11.keyframes`
301
+ 20% {
302
+ transform: rotate3d(0, 0, 1, 15deg);
303
+ }
304
+
305
+ 40% {
306
+ transform: rotate3d(0, 0, 1, -10deg);
307
+ }
308
+
309
+ 60% {
310
+ transform: rotate3d(0, 0, 1, 5deg);
311
+ }
312
+
313
+ 80% {
314
+ transform: rotate3d(0, 0, 1, -5deg);
315
+ }
316
+
317
+ to {
318
+ transform: rotate3d(0, 0, 1, 0deg);
319
+ }
320
+ `;
321
+
322
+ // src/animations/attention_seekers/tada.ts
323
+ var import_react12 = require("@emotion/react");
324
+ var tada = import_react12.keyframes`
325
+ from {
326
+ transform: scale3d(1, 1, 1);
327
+ }
328
+
329
+ 10%,
330
+ 20% {
331
+ transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
332
+ }
333
+
334
+ 30%,
335
+ 50%,
336
+ 70%,
337
+ 90% {
338
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
339
+ }
340
+
341
+ 40%,
342
+ 60%,
343
+ 80% {
344
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
345
+ }
346
+
347
+ to {
348
+ transform: scale3d(1, 1, 1);
349
+ }
350
+ `;
351
+
352
+ // src/animations/attention_seekers/wobble.ts
353
+ var import_react13 = require("@emotion/react");
354
+ var wobble = import_react13.keyframes`
355
+ from {
356
+ transform: translate3d(0, 0, 0);
357
+ }
358
+
359
+ 15% {
360
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
361
+ }
362
+
363
+ 30% {
364
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
365
+ }
366
+
367
+ 45% {
368
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
369
+ }
370
+
371
+ 60% {
372
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
373
+ }
374
+
375
+ 75% {
376
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
377
+ }
378
+
379
+ to {
380
+ transform: translate3d(0, 0, 0);
381
+ }
382
+ `;
383
+
384
+ // src/Reveal.tsx
385
+ var import_react28 = require("@emotion/react");
386
+ var import_react29 = require("react");
387
+ var import_react_intersection_observer = require("react-intersection-observer");
388
+ var import_react_is = require("react-is");
389
+
390
+ // src/animations/fading_entrances/fadeIn.ts
391
+ var import_react14 = require("@emotion/react");
392
+ var fadeIn = import_react14.keyframes`
393
+ from {
394
+ opacity: 0;
395
+ }
396
+
397
+ to {
398
+ opacity: 1;
399
+ }
400
+ `;
401
+
402
+ // src/animations/fading_entrances/fadeInBottomLeft.ts
403
+ var import_react15 = require("@emotion/react");
404
+ var fadeInBottomLeft = import_react15.keyframes`
405
+ from {
406
+ opacity: 0;
407
+ transform: translate3d(-100%, 100%, 0);
408
+ }
409
+
410
+ to {
411
+ opacity: 1;
412
+ transform: translate3d(0, 0, 0);
413
+ }
414
+ `;
415
+
416
+ // src/animations/fading_entrances/fadeInBottomRight.ts
417
+ var import_react16 = require("@emotion/react");
418
+ var fadeInBottomRight = import_react16.keyframes`
419
+ from {
420
+ opacity: 0;
421
+ transform: translate3d(100%, 100%, 0);
422
+ }
423
+
424
+ to {
425
+ opacity: 1;
426
+ transform: translate3d(0, 0, 0);
427
+ }
428
+ `;
429
+
430
+ // src/animations/fading_entrances/fadeInDown.ts
431
+ var import_react17 = require("@emotion/react");
432
+ var fadeInDown = import_react17.keyframes`
433
+ from {
434
+ opacity: 0;
435
+ transform: translate3d(0, -100%, 0);
436
+ }
437
+
438
+ to {
439
+ opacity: 1;
440
+ transform: translate3d(0, 0, 0);
441
+ }
442
+ `;
443
+
444
+ // src/animations/fading_entrances/fadeInDownBig.ts
445
+ var import_react18 = require("@emotion/react");
446
+ var fadeInDownBig = import_react18.keyframes`
447
+ from {
448
+ opacity: 0;
449
+ transform: translate3d(0, -2000px, 0);
450
+ }
451
+
452
+ to {
453
+ opacity: 1;
454
+ transform: translate3d(0, 0, 0);
455
+ }
456
+ `;
457
+
458
+ // src/animations/fading_entrances/fadeInLeft.ts
459
+ var import_react19 = require("@emotion/react");
460
+ var fadeInLeft = import_react19.keyframes`
461
+ from {
462
+ opacity: 0;
463
+ transform: translate3d(-100%, 0, 0);
464
+ }
465
+
466
+ to {
467
+ opacity: 1;
468
+ transform: translate3d(0, 0, 0);
469
+ }
470
+ `;
471
+
472
+ // src/animations/fading_entrances/fadeInLeftBig.ts
473
+ var import_react20 = require("@emotion/react");
474
+ var fadeInLeftBig = import_react20.keyframes`
475
+ from {
476
+ opacity: 0;
477
+ transform: translate3d(-2000px, 0, 0);
478
+ }
479
+
480
+ to {
481
+ opacity: 1;
482
+ transform: translate3d(0, 0, 0);
483
+ }
484
+ `;
485
+
486
+ // src/animations/fading_entrances/fadeInRight.ts
487
+ var import_react21 = require("@emotion/react");
488
+ var fadeInRight = import_react21.keyframes`
489
+ from {
490
+ opacity: 0;
491
+ transform: translate3d(100%, 0, 0);
492
+ }
493
+
494
+ to {
495
+ opacity: 1;
496
+ transform: translate3d(0, 0, 0);
497
+ }
498
+ `;
499
+
500
+ // src/animations/fading_entrances/fadeInRightBig.ts
501
+ var import_react22 = require("@emotion/react");
502
+ var fadeInRightBig = import_react22.keyframes`
503
+ from {
504
+ opacity: 0;
505
+ transform: translate3d(2000px, 0, 0);
506
+ }
507
+
508
+ to {
509
+ opacity: 1;
510
+ transform: translate3d(0, 0, 0);
511
+ }
512
+ `;
513
+
514
+ // src/animations/fading_entrances/fadeInTopLeft.ts
515
+ var import_react23 = require("@emotion/react");
516
+ var fadeInTopLeft = import_react23.keyframes`
517
+ from {
518
+ opacity: 0;
519
+ transform: translate3d(-100%, -100%, 0);
520
+ }
521
+
522
+ to {
523
+ opacity: 1;
524
+ transform: translate3d(0, 0, 0);
525
+ }
526
+ `;
527
+
528
+ // src/animations/fading_entrances/fadeInTopRight.ts
529
+ var import_react24 = require("@emotion/react");
530
+ var fadeInTopRight = import_react24.keyframes`
531
+ from {
532
+ opacity: 0;
533
+ transform: translate3d(100%, -100%, 0);
534
+ }
535
+
536
+ to {
537
+ opacity: 1;
538
+ transform: translate3d(0, 0, 0);
539
+ }
540
+ `;
541
+
542
+ // src/animations/fading_entrances/fadeInUp.ts
543
+ var import_react25 = require("@emotion/react");
544
+ var fadeInUp = import_react25.keyframes`
545
+ from {
546
+ opacity: 0;
547
+ transform: translate3d(0, 100%, 0);
548
+ }
549
+
550
+ to {
551
+ opacity: 1;
552
+ transform: translate3d(0, 0, 0);
553
+ }
554
+ `;
555
+
556
+ // src/animations/fading_entrances/fadeInUpBig.ts
557
+ var import_react26 = require("@emotion/react");
558
+ var fadeInUpBig = import_react26.keyframes`
559
+ from {
560
+ opacity: 0;
561
+ transform: translate3d(0, 2000px, 0);
562
+ }
563
+
564
+ to {
565
+ opacity: 1;
566
+ transform: translate3d(0, 0, 0);
567
+ }
568
+ `;
569
+
570
+ // src/utils/animations.ts
571
+ var import_react27 = require("@emotion/react");
572
+ function getAnimationCss({
573
+ duration = 1e3,
574
+ delay = 0,
575
+ timingFunction = "ease",
576
+ keyframes: keyframes87 = fadeInLeft,
577
+ iterationCount = 1
578
+ }) {
579
+ return import_react27.css`
580
+ animation-duration: ${duration}ms;
581
+ animation-timing-function: ${timingFunction};
582
+ animation-delay: ${delay}ms;
583
+ animation-name: ${keyframes87};
584
+ animation-direction: normal;
585
+ animation-fill-mode: both;
586
+ animation-iteration-count: ${iterationCount};
587
+ `;
588
+ }
589
+
590
+ // src/utils/react.ts
591
+ function isNullable(a) {
592
+ return a == void 0;
593
+ }
594
+ function isStringLike(value) {
595
+ return typeof value === "string" || typeof value === "number" || typeof value === "boolean";
596
+ }
597
+
598
+ // src/Reveal.tsx
599
+ var import_jsx_runtime = require("@emotion/react/jsx-runtime");
600
+ var hiddenStyles = import_react28.css`
601
+ opacity: 0;
602
+ `;
603
+ var textBaseStyles = import_react28.css`
604
+ display: inline-block;
605
+ white-space: pre;
606
+ `;
607
+ var Reveal = (props) => {
608
+ const {
609
+ cascade = false,
610
+ damping = 0.5,
611
+ delay = 0,
612
+ duration = 1e3,
613
+ fraction = 0,
614
+ keyframes: keyframes87 = fadeInLeft,
615
+ triggerOnce = false,
616
+ css: revealCss,
617
+ className,
618
+ style,
619
+ childClassName,
620
+ childStyle,
621
+ children,
622
+ onVisibilityChange
623
+ } = props;
624
+ const animationStyles = (0, import_react29.useMemo)(
625
+ () => getAnimationCss({
626
+ keyframes: keyframes87,
627
+ duration
628
+ }),
629
+ [duration, keyframes87]
630
+ );
631
+ if (isNullable(children)) {
632
+ return null;
633
+ }
634
+ if (isStringLike(children)) {
635
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TextReveal, {
636
+ ...props,
637
+ animationStyles,
638
+ children: String(children)
639
+ });
640
+ }
641
+ if ((0, import_react_is.isFragment)(children)) {
642
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FragmentReveal, {
643
+ ...props,
644
+ animationStyles
645
+ });
646
+ }
647
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
648
+ children: import_react29.Children.map(children, (node, index) => {
649
+ if (!(0, import_react29.isValidElement)(node))
650
+ return null;
651
+ const inViewStyles = [revealCss, animationStyles];
652
+ const nodeDelay = delay + (cascade ? index * duration * damping : 0);
653
+ switch (node.type) {
654
+ case "ol":
655
+ case "ul":
656
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react28.ClassNames, {
657
+ children: ({ cx }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(node.type, {
658
+ ...node.props,
659
+ className: cx(className, node.props.className),
660
+ style: { ...style, ...node.props.style },
661
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Reveal, {
662
+ ...props,
663
+ children: node.props.children
664
+ })
665
+ })
666
+ });
667
+ case "li":
668
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_intersection_observer.InView, {
669
+ threshold: fraction,
670
+ triggerOnce,
671
+ onChange: onVisibilityChange,
672
+ children: ({ inView, ref }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react28.ClassNames, {
673
+ children: ({ cx }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(node.type, {
674
+ ...node.props,
675
+ ref,
676
+ className: cx(childClassName, node.props.className),
677
+ css: inView ? inViewStyles : hiddenStyles,
678
+ style: {
679
+ ...childStyle,
680
+ ...node.props.style,
681
+ animationDelay: nodeDelay + "ms"
682
+ }
683
+ })
684
+ })
685
+ });
686
+ default:
687
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_intersection_observer.InView, {
688
+ threshold: fraction,
689
+ triggerOnce,
690
+ onChange: onVisibilityChange,
691
+ children: ({ inView, ref }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
692
+ ref,
693
+ className,
694
+ css: inView ? inViewStyles : hiddenStyles,
695
+ style: { ...style, animationDelay: nodeDelay + "ms" },
696
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react28.ClassNames, {
697
+ children: ({ cx }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(node.type, {
698
+ ...node.props,
699
+ className: cx(childClassName, node.props.className),
700
+ style: { ...childStyle, ...node.props.style }
701
+ })
702
+ })
703
+ })
704
+ });
705
+ }
706
+ })
707
+ });
708
+ };
709
+ var TextReveal = (props) => {
710
+ const {
711
+ animationStyles,
712
+ cascade = false,
713
+ damping = 0.5,
714
+ delay = 0,
715
+ duration = 1e3,
716
+ fraction = 0,
717
+ triggerOnce = false,
718
+ css: revealCss,
719
+ className,
720
+ style,
721
+ children,
722
+ onVisibilityChange
723
+ } = props;
724
+ const { ref, inView } = (0, import_react_intersection_observer.useInView)({
725
+ triggerOnce,
726
+ threshold: fraction,
727
+ onChange: onVisibilityChange
728
+ });
729
+ return cascade ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
730
+ ref,
731
+ className,
732
+ css: [revealCss, textBaseStyles],
733
+ style,
734
+ children: children.split("").map((char, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
735
+ css: inView ? animationStyles : hiddenStyles,
736
+ style: {
737
+ animationDelay: delay + index * duration * damping + "ms"
738
+ },
739
+ children: char
740
+ }, index))
741
+ }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FragmentReveal, {
742
+ ...props,
743
+ children
744
+ });
745
+ };
746
+ var FragmentReveal = (props) => {
747
+ const {
748
+ animationStyles,
749
+ fraction = 0,
750
+ triggerOnce = false,
751
+ css: revealCss,
752
+ className,
753
+ style,
754
+ children,
755
+ onVisibilityChange
756
+ } = props;
757
+ const { ref, inView } = (0, import_react_intersection_observer.useInView)({
758
+ triggerOnce,
759
+ threshold: fraction,
760
+ onChange: onVisibilityChange
761
+ });
762
+ const inViewStyles = [revealCss, animationStyles];
763
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
764
+ ref,
765
+ className,
766
+ css: inView ? inViewStyles : hiddenStyles,
767
+ style,
768
+ children
769
+ });
770
+ };
771
+
772
+ // src/components/AttentionSeeker.tsx
773
+ var import_jsx_runtime2 = require("@emotion/react/jsx-runtime");
774
+ function getStyles(effect) {
775
+ switch (effect) {
776
+ case "flash":
777
+ return [flash];
778
+ case "headShake":
779
+ return [headShake, { animationTimingFunction: "ease-in-out" }];
780
+ case "heartBeat":
781
+ return [heartBeat, { animationTimingFunction: "ease-in-out" }];
782
+ case "jello":
783
+ return [jello, { transformOrigin: "center" }];
784
+ case "pulse":
785
+ return [pulse, { animationTimingFunction: "ease-in-out" }];
786
+ case "rubberBand":
787
+ return [rubberBand];
788
+ case "shake":
789
+ return [shake];
790
+ case "shakeX":
791
+ return [shakeX];
792
+ case "shakeY":
793
+ return [shakeY];
794
+ case "swing":
795
+ return [swing, { transformOrigin: "top center" }];
796
+ case "tada":
797
+ return [tada];
798
+ case "wobble":
799
+ return [wobble];
800
+ case "bounce":
801
+ default:
802
+ return [bounce, { transformOrigin: "center bottom" }];
803
+ }
804
+ }
805
+ var AttentionSeeker = (props) => {
806
+ const { effect = "bounce", ...rest } = props;
807
+ const [keyframes87, animationCss3] = (0, import_react31.useMemo)(() => getStyles(effect), [effect]);
808
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Reveal, {
809
+ keyframes: keyframes87,
810
+ css: animationCss3,
811
+ ...rest
812
+ });
813
+ };
814
+
815
+ // src/components/Bounce.tsx
816
+ var import_react42 = require("react");
817
+
818
+ // src/animations/bouncing_entrances/bounceIn.ts
819
+ var import_react32 = require("@emotion/react");
820
+ var bounceIn = import_react32.keyframes`
821
+ from,
822
+ 20%,
823
+ 40%,
824
+ 60%,
825
+ 80%,
826
+ to {
827
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
828
+ }
829
+
830
+ 0% {
831
+ opacity: 0;
832
+ transform: scale3d(0.3, 0.3, 0.3);
833
+ }
834
+
835
+ 20% {
836
+ transform: scale3d(1.1, 1.1, 1.1);
837
+ }
838
+
839
+ 40% {
840
+ transform: scale3d(0.9, 0.9, 0.9);
841
+ }
842
+
843
+ 60% {
844
+ opacity: 1;
845
+ transform: scale3d(1.03, 1.03, 1.03);
846
+ }
847
+
848
+ 80% {
849
+ transform: scale3d(0.97, 0.97, 0.97);
850
+ }
851
+
852
+ to {
853
+ opacity: 1;
854
+ transform: scale3d(1, 1, 1);
855
+ }
856
+ `;
857
+
858
+ // src/animations/bouncing_entrances/bounceInDown.ts
859
+ var import_react33 = require("@emotion/react");
860
+ var bounceInDown = import_react33.keyframes`
861
+ from,
862
+ 60%,
863
+ 75%,
864
+ 90%,
865
+ to {
866
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
867
+ }
868
+
869
+ 0% {
870
+ opacity: 0;
871
+ transform: translate3d(0, -3000px, 0) scaleY(3);
872
+ }
873
+
874
+ 60% {
875
+ opacity: 1;
876
+ transform: translate3d(0, 25px, 0) scaleY(0.9);
877
+ }
878
+
879
+ 75% {
880
+ transform: translate3d(0, -10px, 0) scaleY(0.95);
881
+ }
882
+
883
+ 90% {
884
+ transform: translate3d(0, 5px, 0) scaleY(0.985);
885
+ }
886
+
887
+ to {
888
+ transform: translate3d(0, 0, 0);
889
+ }
890
+ `;
891
+
892
+ // src/animations/bouncing_entrances/bounceInLeft.ts
893
+ var import_react34 = require("@emotion/react");
894
+ var bounceInLeft = import_react34.keyframes`
895
+ from,
896
+ 60%,
897
+ 75%,
898
+ 90%,
899
+ to {
900
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
901
+ }
902
+
903
+ 0% {
904
+ opacity: 0;
905
+ transform: translate3d(-3000px, 0, 0) scaleX(3);
906
+ }
907
+
908
+ 60% {
909
+ opacity: 1;
910
+ transform: translate3d(25px, 0, 0) scaleX(1);
911
+ }
912
+
913
+ 75% {
914
+ transform: translate3d(-10px, 0, 0) scaleX(0.98);
915
+ }
916
+
917
+ 90% {
918
+ transform: translate3d(5px, 0, 0) scaleX(0.995);
919
+ }
920
+
921
+ to {
922
+ transform: translate3d(0, 0, 0);
923
+ }
924
+ `;
925
+
926
+ // src/animations/bouncing_entrances/bounceInRight.ts
927
+ var import_react35 = require("@emotion/react");
928
+ var bounceInRight = import_react35.keyframes`
929
+ from,
930
+ 60%,
931
+ 75%,
932
+ 90%,
933
+ to {
934
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
935
+ }
936
+
937
+ from {
938
+ opacity: 0;
939
+ transform: translate3d(3000px, 0, 0) scaleX(3);
940
+ }
941
+
942
+ 60% {
943
+ opacity: 1;
944
+ transform: translate3d(-25px, 0, 0) scaleX(1);
945
+ }
946
+
947
+ 75% {
948
+ transform: translate3d(10px, 0, 0) scaleX(0.98);
949
+ }
950
+
951
+ 90% {
952
+ transform: translate3d(-5px, 0, 0) scaleX(0.995);
953
+ }
954
+
955
+ to {
956
+ transform: translate3d(0, 0, 0);
957
+ }
958
+ `;
959
+
960
+ // src/animations/bouncing_entrances/bounceInUp.ts
961
+ var import_react36 = require("@emotion/react");
962
+ var bounceInUp = import_react36.keyframes`
963
+ from,
964
+ 60%,
965
+ 75%,
966
+ 90%,
967
+ to {
968
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
969
+ }
970
+
971
+ from {
972
+ opacity: 0;
973
+ transform: translate3d(0, 3000px, 0) scaleY(5);
974
+ }
975
+
976
+ 60% {
977
+ opacity: 1;
978
+ transform: translate3d(0, -20px, 0) scaleY(0.9);
979
+ }
980
+
981
+ 75% {
982
+ transform: translate3d(0, 10px, 0) scaleY(0.95);
983
+ }
984
+
985
+ 90% {
986
+ transform: translate3d(0, -5px, 0) scaleY(0.985);
987
+ }
988
+
989
+ to {
990
+ transform: translate3d(0, 0, 0);
991
+ }
992
+ `;
993
+
994
+ // src/animations/bouncing_exits/bounceOut.ts
995
+ var import_react37 = require("@emotion/react");
996
+ var bounceOut = import_react37.keyframes`
997
+ 20% {
998
+ transform: scale3d(0.9, 0.9, 0.9);
999
+ }
1000
+
1001
+ 50%,
1002
+ 55% {
1003
+ opacity: 1;
1004
+ transform: scale3d(1.1, 1.1, 1.1);
1005
+ }
1006
+
1007
+ to {
1008
+ opacity: 0;
1009
+ transform: scale3d(0.3, 0.3, 0.3);
1010
+ }
1011
+ `;
1012
+
1013
+ // src/animations/bouncing_exits/bounceOutDown.ts
1014
+ var import_react38 = require("@emotion/react");
1015
+ var bounceOutDown = import_react38.keyframes`
1016
+ 20% {
1017
+ transform: translate3d(0, 10px, 0) scaleY(0.985);
1018
+ }
1019
+
1020
+ 40%,
1021
+ 45% {
1022
+ opacity: 1;
1023
+ transform: translate3d(0, -20px, 0) scaleY(0.9);
1024
+ }
1025
+
1026
+ to {
1027
+ opacity: 0;
1028
+ transform: translate3d(0, 2000px, 0) scaleY(3);
1029
+ }
1030
+ `;
1031
+
1032
+ // src/animations/bouncing_exits/bounceOutLeft.ts
1033
+ var import_react39 = require("@emotion/react");
1034
+ var bounceOutLeft = import_react39.keyframes`
1035
+ 20% {
1036
+ opacity: 1;
1037
+ transform: translate3d(20px, 0, 0) scaleX(0.9);
1038
+ }
1039
+
1040
+ to {
1041
+ opacity: 0;
1042
+ transform: translate3d(-2000px, 0, 0) scaleX(2);
1043
+ }
1044
+ `;
1045
+
1046
+ // src/animations/bouncing_exits/bounceOutRight.ts
1047
+ var import_react40 = require("@emotion/react");
1048
+ var bounceOutRight = import_react40.keyframes`
1049
+ 20% {
1050
+ opacity: 1;
1051
+ transform: translate3d(-20px, 0, 0) scaleX(0.9);
1052
+ }
1053
+
1054
+ to {
1055
+ opacity: 0;
1056
+ transform: translate3d(2000px, 0, 0) scaleX(2);
1057
+ }
1058
+ `;
1059
+
1060
+ // src/animations/bouncing_exits/bounceOutUp.ts
1061
+ var import_react41 = require("@emotion/react");
1062
+ var bounceOutUp = import_react41.keyframes`
1063
+ 20% {
1064
+ transform: translate3d(0, -10px, 0) scaleY(0.985);
1065
+ }
1066
+
1067
+ 40%,
1068
+ 45% {
1069
+ opacity: 1;
1070
+ transform: translate3d(0, 20px, 0) scaleY(0.9);
1071
+ }
1072
+
1073
+ to {
1074
+ opacity: 0;
1075
+ transform: translate3d(0, -2000px, 0) scaleY(3);
1076
+ }
1077
+ `;
1078
+
1079
+ // src/components/Bounce.tsx
1080
+ var import_jsx_runtime3 = require("@emotion/react/jsx-runtime");
1081
+ function getStyles2(reverse, direction) {
1082
+ switch (direction) {
1083
+ case "down":
1084
+ return reverse ? bounceOutDown : bounceInDown;
1085
+ case "left":
1086
+ return reverse ? bounceOutLeft : bounceInLeft;
1087
+ case "right":
1088
+ return reverse ? bounceOutRight : bounceInRight;
1089
+ case "up":
1090
+ return reverse ? bounceOutUp : bounceInUp;
1091
+ default:
1092
+ return reverse ? bounceOut : bounceIn;
1093
+ }
1094
+ }
1095
+ var Bounce = (props) => {
1096
+ const { direction, reverse = false, ...rest } = props;
1097
+ const keyframes87 = (0, import_react42.useMemo)(
1098
+ () => getStyles2(reverse, direction),
1099
+ [direction, reverse]
1100
+ );
1101
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Reveal, {
1102
+ keyframes: keyframes87,
1103
+ ...rest
1104
+ });
1105
+ };
1106
+
1107
+ // src/components/Fade.tsx
1108
+ var import_react56 = require("react");
1109
+
1110
+ // src/animations/fading_exits/fadeOut.ts
1111
+ var import_react43 = require("@emotion/react");
1112
+ var fadeOut = import_react43.keyframes`
1113
+ from {
1114
+ opacity: 1;
1115
+ }
1116
+
1117
+ to {
1118
+ opacity: 0;
1119
+ }
1120
+ `;
1121
+
1122
+ // src/animations/fading_exits/fadeOutBottomLeft.ts
1123
+ var import_react44 = require("@emotion/react");
1124
+ var fadeOutBottomLeft = import_react44.keyframes`
1125
+ from {
1126
+ opacity: 1;
1127
+ transform: translate3d(0, 0, 0);
1128
+ }
1129
+
1130
+ to {
1131
+ opacity: 0;
1132
+ transform: translate3d(-100%, 100%, 0);
1133
+ }
1134
+ `;
1135
+
1136
+ // src/animations/fading_exits/fadeOutBottomRight.ts
1137
+ var import_react45 = require("@emotion/react");
1138
+ var fadeOutBottomRight = import_react45.keyframes`
1139
+ from {
1140
+ opacity: 1;
1141
+ transform: translate3d(0, 0, 0);
1142
+ }
1143
+
1144
+ to {
1145
+ opacity: 0;
1146
+ transform: translate3d(100%, 100%, 0);
1147
+ }
1148
+ `;
1149
+
1150
+ // src/animations/fading_exits/fadeOutDown.ts
1151
+ var import_react46 = require("@emotion/react");
1152
+ var fadeOutDown = import_react46.keyframes`
1153
+ from {
1154
+ opacity: 1;
1155
+ }
1156
+
1157
+ to {
1158
+ opacity: 0;
1159
+ transform: translate3d(0, 100%, 0);
1160
+ }
1161
+ `;
1162
+
1163
+ // src/animations/fading_exits/fadeOutDownBig.ts
1164
+ var import_react47 = require("@emotion/react");
1165
+ var fadeOutDownBig = import_react47.keyframes`
1166
+ from {
1167
+ opacity: 1;
1168
+ }
1169
+
1170
+ to {
1171
+ opacity: 0;
1172
+ transform: translate3d(0, 2000px, 0);
1173
+ }
1174
+ `;
1175
+
1176
+ // src/animations/fading_exits/fadeOutLeft.ts
1177
+ var import_react48 = require("@emotion/react");
1178
+ var fadeOutLeft = import_react48.keyframes`
1179
+ from {
1180
+ opacity: 1;
1181
+ }
1182
+
1183
+ to {
1184
+ opacity: 0;
1185
+ transform: translate3d(-100%, 0, 0);
1186
+ }
1187
+ `;
1188
+
1189
+ // src/animations/fading_exits/fadeOutLeftBig.ts
1190
+ var import_react49 = require("@emotion/react");
1191
+ var fadeOutLeftBig = import_react49.keyframes`
1192
+ from {
1193
+ opacity: 1;
1194
+ }
1195
+
1196
+ to {
1197
+ opacity: 0;
1198
+ transform: translate3d(-2000px, 0, 0);
1199
+ }
1200
+ `;
1201
+
1202
+ // src/animations/fading_exits/fadeOutRight.ts
1203
+ var import_react50 = require("@emotion/react");
1204
+ var fadeOutRight = import_react50.keyframes`
1205
+ from {
1206
+ opacity: 1;
1207
+ }
1208
+
1209
+ to {
1210
+ opacity: 0;
1211
+ transform: translate3d(100%, 0, 0);
1212
+ }
1213
+ `;
1214
+
1215
+ // src/animations/fading_exits/fadeOutRightBig.ts
1216
+ var import_react51 = require("@emotion/react");
1217
+ var fadeOutRightBig = import_react51.keyframes`
1218
+ from {
1219
+ opacity: 1;
1220
+ }
1221
+
1222
+ to {
1223
+ opacity: 0;
1224
+ transform: translate3d(2000px, 0, 0);
1225
+ }
1226
+ `;
1227
+
1228
+ // src/animations/fading_exits/fadeOutTopLeft.ts
1229
+ var import_react52 = require("@emotion/react");
1230
+ var fadeOutTopLeft = import_react52.keyframes`
1231
+ from {
1232
+ opacity: 1;
1233
+ transform: translate3d(0, 0, 0);
1234
+ }
1235
+
1236
+ to {
1237
+ opacity: 0;
1238
+ transform: translate3d(-100%, -100%, 0);
1239
+ }
1240
+ `;
1241
+
1242
+ // src/animations/fading_exits/fadeOutTopRight.ts
1243
+ var import_react53 = require("@emotion/react");
1244
+ var fadeOutTopRight = import_react53.keyframes`
1245
+ from {
1246
+ opacity: 1;
1247
+ transform: translate3d(0, 0, 0);
1248
+ }
1249
+
1250
+ to {
1251
+ opacity: 0;
1252
+ transform: translate3d(100%, -100%, 0);
1253
+ }
1254
+ `;
1255
+
1256
+ // src/animations/fading_exits/fadeOutUp.ts
1257
+ var import_react54 = require("@emotion/react");
1258
+ var fadeOutUp = import_react54.keyframes`
1259
+ from {
1260
+ opacity: 1;
1261
+ }
1262
+
1263
+ to {
1264
+ opacity: 0;
1265
+ transform: translate3d(0, -100%, 0);
1266
+ }
1267
+ `;
1268
+
1269
+ // src/animations/fading_exits/fadeOutUpBig.ts
1270
+ var import_react55 = require("@emotion/react");
1271
+ var fadeOutUpBig = import_react55.keyframes`
1272
+ from {
1273
+ opacity: 1;
1274
+ }
1275
+
1276
+ to {
1277
+ opacity: 0;
1278
+ transform: translate3d(0, -2000px, 0);
1279
+ }
1280
+ `;
1281
+
1282
+ // src/components/Fade.tsx
1283
+ var import_jsx_runtime4 = require("@emotion/react/jsx-runtime");
1284
+ function getStyles3(big, reverse, direction) {
1285
+ switch (direction) {
1286
+ case "bottom-left":
1287
+ return reverse ? fadeOutBottomLeft : fadeInBottomLeft;
1288
+ case "bottom-right":
1289
+ return reverse ? fadeOutBottomRight : fadeInBottomRight;
1290
+ case "down":
1291
+ return big ? reverse ? fadeOutDownBig : fadeInDownBig : reverse ? fadeOutDown : fadeInDown;
1292
+ case "left":
1293
+ return big ? reverse ? fadeOutLeftBig : fadeInLeftBig : reverse ? fadeOutLeft : fadeInLeft;
1294
+ case "right":
1295
+ return big ? reverse ? fadeOutRightBig : fadeInRightBig : reverse ? fadeOutRight : fadeInRight;
1296
+ case "top-left":
1297
+ return reverse ? fadeOutTopLeft : fadeInTopLeft;
1298
+ case "top-right":
1299
+ return reverse ? fadeOutTopRight : fadeInTopRight;
1300
+ case "up":
1301
+ return big ? reverse ? fadeOutUpBig : fadeInUpBig : reverse ? fadeOutUp : fadeInUp;
1302
+ default:
1303
+ return reverse ? fadeOut : fadeIn;
1304
+ }
1305
+ }
1306
+ var Fade = (props) => {
1307
+ const { big = false, direction, reverse = false, ...rest } = props;
1308
+ const keyframes87 = (0, import_react56.useMemo)(
1309
+ () => getStyles3(big, reverse, direction),
1310
+ [big, direction, reverse]
1311
+ );
1312
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Reveal, {
1313
+ keyframes: keyframes87,
1314
+ ...rest
1315
+ });
1316
+ };
1317
+
1318
+ // src/components/Flip.tsx
1319
+ var import_react62 = require("@emotion/react");
1320
+ var import_react63 = require("react");
1321
+
1322
+ // src/animations/flippers/flip.ts
1323
+ var import_react57 = require("@emotion/react");
1324
+ var flip = import_react57.keyframes`
1325
+ from {
1326
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
1327
+ animation-timing-function: ease-out;
1328
+ }
1329
+
1330
+ 40% {
1331
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
1332
+ rotate3d(0, 1, 0, -190deg);
1333
+ animation-timing-function: ease-out;
1334
+ }
1335
+
1336
+ 50% {
1337
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
1338
+ rotate3d(0, 1, 0, -170deg);
1339
+ animation-timing-function: ease-in;
1340
+ }
1341
+
1342
+ 80% {
1343
+ transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
1344
+ rotate3d(0, 1, 0, 0deg);
1345
+ animation-timing-function: ease-in;
1346
+ }
1347
+
1348
+ to {
1349
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
1350
+ animation-timing-function: ease-in;
1351
+ }
1352
+ `;
1353
+
1354
+ // src/animations/flippers/flipInX.ts
1355
+ var import_react58 = require("@emotion/react");
1356
+ var flipInX = import_react58.keyframes`
1357
+ from {
1358
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1359
+ animation-timing-function: ease-in;
1360
+ opacity: 0;
1361
+ }
1362
+
1363
+ 40% {
1364
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1365
+ animation-timing-function: ease-in;
1366
+ }
1367
+
1368
+ 60% {
1369
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
1370
+ opacity: 1;
1371
+ }
1372
+
1373
+ 80% {
1374
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
1375
+ }
1376
+
1377
+ to {
1378
+ transform: perspective(400px);
1379
+ }
1380
+ `;
1381
+
1382
+ // src/animations/flippers/flipInY.ts
1383
+ var import_react59 = require("@emotion/react");
1384
+ var flipInY = import_react59.keyframes`
1385
+ from {
1386
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1387
+ animation-timing-function: ease-in;
1388
+ opacity: 0;
1389
+ }
1390
+
1391
+ 40% {
1392
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
1393
+ animation-timing-function: ease-in;
1394
+ }
1395
+
1396
+ 60% {
1397
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
1398
+ opacity: 1;
1399
+ }
1400
+
1401
+ 80% {
1402
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
1403
+ }
1404
+
1405
+ to {
1406
+ transform: perspective(400px);
1407
+ }
1408
+ `;
1409
+
1410
+ // src/animations/flippers/flipOutX.ts
1411
+ var import_react60 = require("@emotion/react");
1412
+ var flipOutX = import_react60.keyframes`
1413
+ from {
1414
+ transform: perspective(400px);
1415
+ }
1416
+
1417
+ 30% {
1418
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1419
+ opacity: 1;
1420
+ }
1421
+
1422
+ to {
1423
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1424
+ opacity: 0;
1425
+ }
1426
+ `;
1427
+
1428
+ // src/animations/flippers/flipOutY.ts
1429
+ var import_react61 = require("@emotion/react");
1430
+ var flipOutY = import_react61.keyframes`
1431
+ from {
1432
+ transform: perspective(400px);
1433
+ }
1434
+
1435
+ 30% {
1436
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
1437
+ opacity: 1;
1438
+ }
1439
+
1440
+ to {
1441
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1442
+ opacity: 0;
1443
+ }
1444
+ `;
1445
+
1446
+ // src/components/Flip.tsx
1447
+ var import_jsx_runtime5 = require("@emotion/react/jsx-runtime");
1448
+ function getStyles4(reverse, direction) {
1449
+ switch (direction) {
1450
+ case "horizontal":
1451
+ return reverse ? flipOutX : flipInX;
1452
+ case "vertical":
1453
+ return reverse ? flipOutY : flipInY;
1454
+ default:
1455
+ return flip;
1456
+ }
1457
+ }
1458
+ var animationCss = import_react62.css`
1459
+ backface-visibility: visible;
1460
+ `;
1461
+ var Flip = (props) => {
1462
+ const { direction, reverse = false, ...rest } = props;
1463
+ const keyframes87 = (0, import_react63.useMemo)(
1464
+ () => getStyles4(reverse, direction),
1465
+ [direction, reverse]
1466
+ );
1467
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Reveal, {
1468
+ css: animationCss,
1469
+ keyframes: keyframes87,
1470
+ ...rest
1471
+ });
1472
+ };
1473
+
1474
+ // src/components/Hinge.tsx
1475
+ var import_react68 = require("@emotion/react");
1476
+
1477
+ // src/animations/specials/hinge.ts
1478
+ var import_react64 = require("@emotion/react");
1479
+ var hinge = import_react64.keyframes`
1480
+ 0% {
1481
+ animation-timing-function: ease-in-out;
1482
+ }
1483
+
1484
+ 20%,
1485
+ 60% {
1486
+ transform: rotate3d(0, 0, 1, 80deg);
1487
+ animation-timing-function: ease-in-out;
1488
+ }
1489
+
1490
+ 40%,
1491
+ 80% {
1492
+ transform: rotate3d(0, 0, 1, 60deg);
1493
+ animation-timing-function: ease-in-out;
1494
+ opacity: 1;
1495
+ }
1496
+
1497
+ to {
1498
+ transform: translate3d(0, 700px, 0);
1499
+ opacity: 0;
1500
+ }
1501
+ `;
1502
+
1503
+ // src/animations/specials/jackInTheBox.ts
1504
+ var import_react65 = require("@emotion/react");
1505
+ var jackInTheBox = import_react65.keyframes`
1506
+ from {
1507
+ opacity: 0;
1508
+ transform: scale(0.1) rotate(30deg);
1509
+ transform-origin: center bottom;
1510
+ }
1511
+
1512
+ 50% {
1513
+ transform: rotate(-10deg);
1514
+ }
1515
+
1516
+ 70% {
1517
+ transform: rotate(3deg);
1518
+ }
1519
+
1520
+ to {
1521
+ opacity: 1;
1522
+ transform: scale(1);
1523
+ }
1524
+ `;
1525
+
1526
+ // src/animations/specials/rollIn.ts
1527
+ var import_react66 = require("@emotion/react");
1528
+ var rollIn = import_react66.keyframes`
1529
+ from {
1530
+ opacity: 0;
1531
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
1532
+ }
1533
+
1534
+ to {
1535
+ opacity: 1;
1536
+ transform: translate3d(0, 0, 0);
1537
+ }
1538
+ `;
1539
+
1540
+ // src/animations/specials/rollOut.ts
1541
+ var import_react67 = require("@emotion/react");
1542
+ var rollOut = import_react67.keyframes`
1543
+ from {
1544
+ opacity: 1;
1545
+ }
1546
+
1547
+ to {
1548
+ opacity: 0;
1549
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
1550
+ }
1551
+ `;
1552
+
1553
+ // src/components/Hinge.tsx
1554
+ var import_jsx_runtime6 = require("@emotion/react/jsx-runtime");
1555
+ var animationCss2 = import_react68.css`
1556
+ transform-origin: top left;
1557
+ `;
1558
+ var Hinge = (props) => {
1559
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Reveal, {
1560
+ css: animationCss2,
1561
+ keyframes: hinge,
1562
+ ...props
1563
+ });
1564
+ };
1565
+
1566
+ // src/components/JackInTheBox.tsx
1567
+ var import_jsx_runtime7 = require("@emotion/react/jsx-runtime");
1568
+ var JackInTheBox = (props) => {
1569
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Reveal, {
1570
+ keyframes: jackInTheBox,
1571
+ ...props
1572
+ });
1573
+ };
1574
+
1575
+ // src/components/Roll.tsx
1576
+ var import_react69 = require("react");
1577
+ var import_jsx_runtime8 = require("@emotion/react/jsx-runtime");
1578
+ function getStyles5(reverse) {
1579
+ return reverse ? rollOut : rollIn;
1580
+ }
1581
+ var Roll = (props) => {
1582
+ const { reverse = false, ...rest } = props;
1583
+ const keyframes87 = (0, import_react69.useMemo)(() => getStyles5(reverse), [reverse]);
1584
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Reveal, {
1585
+ keyframes: keyframes87,
1586
+ ...rest
1587
+ });
1588
+ };
1589
+
1590
+ // src/components/Rotate.tsx
1591
+ var import_react80 = require("react");
1592
+
1593
+ // src/animations/rotating_entrances/rotateIn.ts
1594
+ var import_react70 = require("@emotion/react");
1595
+ var rotateIn = import_react70.keyframes`
1596
+ from {
1597
+ transform: rotate3d(0, 0, 1, -200deg);
1598
+ opacity: 0;
1599
+ }
1600
+
1601
+ to {
1602
+ transform: translate3d(0, 0, 0);
1603
+ opacity: 1;
1604
+ }
1605
+ `;
1606
+
1607
+ // src/animations/rotating_entrances/rotateInDownLeft.ts
1608
+ var import_react71 = require("@emotion/react");
1609
+ var rotateInDownLeft = import_react71.keyframes`
1610
+ from {
1611
+ transform: rotate3d(0, 0, 1, -45deg);
1612
+ opacity: 0;
1613
+ }
1614
+
1615
+ to {
1616
+ transform: translate3d(0, 0, 0);
1617
+ opacity: 1;
1618
+ }
1619
+ `;
1620
+
1621
+ // src/animations/rotating_entrances/rotateInDownRight.ts
1622
+ var import_react72 = require("@emotion/react");
1623
+ var rotateInDownRight = import_react72.keyframes`
1624
+ from {
1625
+ transform: rotate3d(0, 0, 1, 45deg);
1626
+ opacity: 0;
1627
+ }
1628
+
1629
+ to {
1630
+ transform: translate3d(0, 0, 0);
1631
+ opacity: 1;
1632
+ }
1633
+ `;
1634
+
1635
+ // src/animations/rotating_entrances/rotateInUpLeft.ts
1636
+ var import_react73 = require("@emotion/react");
1637
+ var rotateInUpLeft = import_react73.keyframes`
1638
+ from {
1639
+ transform: rotate3d(0, 0, 1, 45deg);
1640
+ opacity: 0;
1641
+ }
1642
+
1643
+ to {
1644
+ transform: translate3d(0, 0, 0);
1645
+ opacity: 1;
1646
+ }
1647
+ `;
1648
+
1649
+ // src/animations/rotating_entrances/rotateInUpRight.ts
1650
+ var import_react74 = require("@emotion/react");
1651
+ var rotateInUpRight = import_react74.keyframes`
1652
+ from {
1653
+ transform: rotate3d(0, 0, 1, -90deg);
1654
+ opacity: 0;
1655
+ }
1656
+
1657
+ to {
1658
+ transform: translate3d(0, 0, 0);
1659
+ opacity: 1;
1660
+ }
1661
+ `;
1662
+
1663
+ // src/animations/rotating_exits/rotateOut.ts
1664
+ var import_react75 = require("@emotion/react");
1665
+ var rotateOut = import_react75.keyframes`
1666
+ from {
1667
+ opacity: 1;
1668
+ }
1669
+
1670
+ to {
1671
+ transform: rotate3d(0, 0, 1, 200deg);
1672
+ opacity: 0;
1673
+ }
1674
+ `;
1675
+
1676
+ // src/animations/rotating_exits/rotateOutDownLeft.ts
1677
+ var import_react76 = require("@emotion/react");
1678
+ var rotateOutDownLeft = import_react76.keyframes`
1679
+ from {
1680
+ opacity: 1;
1681
+ }
1682
+
1683
+ to {
1684
+ transform: rotate3d(0, 0, 1, 45deg);
1685
+ opacity: 0;
1686
+ }
1687
+ `;
1688
+
1689
+ // src/animations/rotating_exits/rotateOutDownRight.ts
1690
+ var import_react77 = require("@emotion/react");
1691
+ var rotateOutDownRight = import_react77.keyframes`
1692
+ from {
1693
+ opacity: 1;
1694
+ }
1695
+
1696
+ to {
1697
+ transform: rotate3d(0, 0, 1, -45deg);
1698
+ opacity: 0;
1699
+ }
1700
+ `;
1701
+
1702
+ // src/animations/rotating_exits/rotateOutUpLeft.ts
1703
+ var import_react78 = require("@emotion/react");
1704
+ var rotateOutUpLeft = import_react78.keyframes`
1705
+ from {
1706
+ opacity: 1;
1707
+ }
1708
+
1709
+ to {
1710
+ transform: rotate3d(0, 0, 1, -45deg);
1711
+ opacity: 0;
1712
+ }
1713
+ `;
1714
+
1715
+ // src/animations/rotating_exits/rotateOutUpRight.ts
1716
+ var import_react79 = require("@emotion/react");
1717
+ var rotateOutUpRight = import_react79.keyframes`
1718
+ from {
1719
+ opacity: 1;
1720
+ }
1721
+
1722
+ to {
1723
+ transform: rotate3d(0, 0, 1, 90deg);
1724
+ opacity: 0;
1725
+ }
1726
+ `;
1727
+
1728
+ // src/components/Rotate.tsx
1729
+ var import_jsx_runtime9 = require("@emotion/react/jsx-runtime");
1730
+ function getStyles6(reverse, direction) {
1731
+ switch (direction) {
1732
+ case "bottom-left":
1733
+ return reverse ? [rotateOutDownLeft, { transformOrigin: "left bottom" }] : [rotateInDownLeft, { transformOrigin: "left bottom" }];
1734
+ case "bottom-right":
1735
+ return reverse ? [rotateOutDownRight, { transformOrigin: "right bottom" }] : [rotateInDownRight, { transformOrigin: "right bottom" }];
1736
+ case "top-left":
1737
+ return reverse ? [rotateOutUpLeft, { transformOrigin: "left bottom" }] : [rotateInUpLeft, { transformOrigin: "left bottom" }];
1738
+ case "top-right":
1739
+ return reverse ? [rotateOutUpRight, { transformOrigin: "right bottom" }] : [rotateInUpRight, { transformOrigin: "right bottom" }];
1740
+ default:
1741
+ return reverse ? [rotateOut, { transformOrigin: "center" }] : [rotateIn, { transformOrigin: "center" }];
1742
+ }
1743
+ }
1744
+ var Rotate = (props) => {
1745
+ const { direction, reverse = false, ...rest } = props;
1746
+ const [keyframes87, animationCss3] = (0, import_react80.useMemo)(
1747
+ () => getStyles6(reverse, direction),
1748
+ [direction, reverse]
1749
+ );
1750
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Reveal, {
1751
+ css: animationCss3,
1752
+ keyframes: keyframes87,
1753
+ ...rest
1754
+ });
1755
+ };
1756
+
1757
+ // src/components/Slide.tsx
1758
+ var import_react89 = require("react");
1759
+
1760
+ // src/animations/sliding_entrances/slideInDown.ts
1761
+ var import_react81 = require("@emotion/react");
1762
+ var slideInDown = import_react81.keyframes`
1763
+ from {
1764
+ transform: translate3d(0, -100%, 0);
1765
+ visibility: visible;
1766
+ }
1767
+
1768
+ to {
1769
+ transform: translate3d(0, 0, 0);
1770
+ }
1771
+ `;
1772
+
1773
+ // src/animations/sliding_entrances/slideInLeft.ts
1774
+ var import_react82 = require("@emotion/react");
1775
+ var slideInLeft = import_react82.keyframes`
1776
+ from {
1777
+ transform: translate3d(-100%, 0, 0);
1778
+ visibility: visible;
1779
+ }
1780
+
1781
+ to {
1782
+ transform: translate3d(0, 0, 0);
1783
+ }
1784
+ `;
1785
+
1786
+ // src/animations/sliding_entrances/slideInRight.ts
1787
+ var import_react83 = require("@emotion/react");
1788
+ var slideInRight = import_react83.keyframes`
1789
+ from {
1790
+ transform: translate3d(100%, 0, 0);
1791
+ visibility: visible;
1792
+ }
1793
+
1794
+ to {
1795
+ transform: translate3d(0, 0, 0);
1796
+ }
1797
+ `;
1798
+
1799
+ // src/animations/sliding_entrances/slideInUp.ts
1800
+ var import_react84 = require("@emotion/react");
1801
+ var slideInUp = import_react84.keyframes`
1802
+ from {
1803
+ transform: translate3d(0, 100%, 0);
1804
+ visibility: visible;
1805
+ }
1806
+
1807
+ to {
1808
+ transform: translate3d(0, 0, 0);
1809
+ }
1810
+ `;
1811
+
1812
+ // src/animations/sliding_exits/slideOutDown.ts
1813
+ var import_react85 = require("@emotion/react");
1814
+ var slideOutDown = import_react85.keyframes`
1815
+ from {
1816
+ transform: translate3d(0, 0, 0);
1817
+ }
1818
+
1819
+ to {
1820
+ visibility: hidden;
1821
+ transform: translate3d(0, 100%, 0);
1822
+ }
1823
+ `;
1824
+
1825
+ // src/animations/sliding_exits/slideOutLeft.ts
1826
+ var import_react86 = require("@emotion/react");
1827
+ var slideOutLeft = import_react86.keyframes`
1828
+ from {
1829
+ transform: translate3d(0, 0, 0);
1830
+ }
1831
+
1832
+ to {
1833
+ visibility: hidden;
1834
+ transform: translate3d(-100%, 0, 0);
1835
+ }
1836
+ `;
1837
+
1838
+ // src/animations/sliding_exits/slideOutRight.ts
1839
+ var import_react87 = require("@emotion/react");
1840
+ var slideOutRight = import_react87.keyframes`
1841
+ from {
1842
+ transform: translate3d(0, 0, 0);
1843
+ }
1844
+
1845
+ to {
1846
+ visibility: hidden;
1847
+ transform: translate3d(100%, 0, 0);
1848
+ }
1849
+ `;
1850
+
1851
+ // src/animations/sliding_exits/slideOutUp.ts
1852
+ var import_react88 = require("@emotion/react");
1853
+ var slideOutUp = import_react88.keyframes`
1854
+ from {
1855
+ transform: translate3d(0, 0, 0);
1856
+ }
1857
+
1858
+ to {
1859
+ visibility: hidden;
1860
+ transform: translate3d(0, -100%, 0);
1861
+ }
1862
+ `;
1863
+
1864
+ // src/components/Slide.tsx
1865
+ var import_jsx_runtime10 = require("@emotion/react/jsx-runtime");
1866
+ function getStyles7(reverse, direction) {
1867
+ switch (direction) {
1868
+ case "down":
1869
+ return reverse ? slideOutDown : slideInDown;
1870
+ case "right":
1871
+ return reverse ? slideOutRight : slideInRight;
1872
+ case "up":
1873
+ return reverse ? slideOutUp : slideInUp;
1874
+ case "left":
1875
+ default:
1876
+ return reverse ? slideOutLeft : slideInLeft;
1877
+ }
1878
+ }
1879
+ var Slide = (props) => {
1880
+ const { direction, reverse = false, ...rest } = props;
1881
+ const keyframes87 = (0, import_react89.useMemo)(
1882
+ () => getStyles7(reverse, direction),
1883
+ [direction, reverse]
1884
+ );
1885
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Reveal, {
1886
+ keyframes: keyframes87,
1887
+ ...rest
1888
+ });
1889
+ };
1890
+
1891
+ // src/components/Zoom.tsx
1892
+ var import_react100 = require("react");
1893
+
1894
+ // src/animations/zooming_entrances/zoomIn.ts
1895
+ var import_react90 = require("@emotion/react");
1896
+ var zoomIn = import_react90.keyframes`
1897
+ from {
1898
+ opacity: 0;
1899
+ transform: scale3d(0.3, 0.3, 0.3);
1900
+ }
1901
+
1902
+ 50% {
1903
+ opacity: 1;
1904
+ }
1905
+ `;
1906
+
1907
+ // src/animations/zooming_entrances/zoomInDown.ts
1908
+ var import_react91 = require("@emotion/react");
1909
+ var zoomInDown = import_react91.keyframes`
1910
+ from {
1911
+ opacity: 0;
1912
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
1913
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
1914
+ }
1915
+
1916
+ 60% {
1917
+ opacity: 1;
1918
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
1919
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
1920
+ }
1921
+ `;
1922
+
1923
+ // src/animations/zooming_entrances/zoomInLeft.ts
1924
+ var import_react92 = require("@emotion/react");
1925
+ var zoomInLeft = import_react92.keyframes`
1926
+ from {
1927
+ opacity: 0;
1928
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
1929
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
1930
+ }
1931
+
1932
+ 60% {
1933
+ opacity: 1;
1934
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
1935
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
1936
+ }
1937
+ `;
1938
+
1939
+ // src/animations/zooming_entrances/zoomInRight.ts
1940
+ var import_react93 = require("@emotion/react");
1941
+ var zoomInRight = import_react93.keyframes`
1942
+ from {
1943
+ opacity: 0;
1944
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
1945
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
1946
+ }
1947
+
1948
+ 60% {
1949
+ opacity: 1;
1950
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
1951
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
1952
+ }
1953
+ `;
1954
+
1955
+ // src/animations/zooming_entrances/zoomInUp.ts
1956
+ var import_react94 = require("@emotion/react");
1957
+ var zoomInUp = import_react94.keyframes`
1958
+ from {
1959
+ opacity: 0;
1960
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
1961
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
1962
+ }
1963
+
1964
+ 60% {
1965
+ opacity: 1;
1966
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
1967
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
1968
+ }
1969
+ `;
1970
+
1971
+ // src/animations/zooming_exits/zoomOut.ts
1972
+ var import_react95 = require("@emotion/react");
1973
+ var zoomOut = import_react95.keyframes`
1974
+ from {
1975
+ opacity: 1;
1976
+ }
1977
+
1978
+ 50% {
1979
+ opacity: 0;
1980
+ transform: scale3d(0.3, 0.3, 0.3);
1981
+ }
1982
+
1983
+ to {
1984
+ opacity: 0;
1985
+ }
1986
+ `;
1987
+
1988
+ // src/animations/zooming_exits/zoomOutDown.ts
1989
+ var import_react96 = require("@emotion/react");
1990
+ var zoomOutDown = import_react96.keyframes`
1991
+ 40% {
1992
+ opacity: 1;
1993
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
1994
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
1995
+ }
1996
+
1997
+ to {
1998
+ opacity: 0;
1999
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
2000
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
2001
+ }
2002
+ `;
2003
+
2004
+ // src/animations/zooming_exits/zoomOutLeft.ts
2005
+ var import_react97 = require("@emotion/react");
2006
+ var zoomOutLeft = import_react97.keyframes`
2007
+ 40% {
2008
+ opacity: 1;
2009
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
2010
+ }
2011
+
2012
+ to {
2013
+ opacity: 0;
2014
+ transform: scale(0.1) translate3d(-2000px, 0, 0);
2015
+ }
2016
+ `;
2017
+
2018
+ // src/animations/zooming_exits/zoomOutRight.ts
2019
+ var import_react98 = require("@emotion/react");
2020
+ var zoomOutRight = import_react98.keyframes`
2021
+ 40% {
2022
+ opacity: 1;
2023
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
2024
+ }
2025
+
2026
+ to {
2027
+ opacity: 0;
2028
+ transform: scale(0.1) translate3d(2000px, 0, 0);
2029
+ }
2030
+ `;
2031
+
2032
+ // src/animations/zooming_exits/zoomOutUp.ts
2033
+ var import_react99 = require("@emotion/react");
2034
+ var zoomOutUp = import_react99.keyframes`
2035
+ 40% {
2036
+ opacity: 1;
2037
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
2038
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
2039
+ }
2040
+
2041
+ to {
2042
+ opacity: 0;
2043
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
2044
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
2045
+ }
2046
+ `;
2047
+
2048
+ // src/components/Zoom.tsx
2049
+ var import_jsx_runtime11 = require("@emotion/react/jsx-runtime");
2050
+ function getStyles8(reverse, direction) {
2051
+ switch (direction) {
2052
+ case "down":
2053
+ return reverse ? zoomOutDown : zoomInDown;
2054
+ case "left":
2055
+ return reverse ? zoomOutLeft : zoomInLeft;
2056
+ case "right":
2057
+ return reverse ? zoomOutRight : zoomInRight;
2058
+ case "up":
2059
+ return reverse ? zoomOutUp : zoomInUp;
2060
+ default:
2061
+ return reverse ? zoomOut : zoomIn;
2062
+ }
2063
+ }
2064
+ var Zoom = (props) => {
2065
+ const { direction, reverse = false, ...rest } = props;
2066
+ const keyframes87 = (0, import_react100.useMemo)(
2067
+ () => getStyles8(reverse, direction),
2068
+ [direction, reverse]
2069
+ );
2070
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Reveal, {
2071
+ keyframes: keyframes87,
2072
+ ...rest
2073
+ });
2074
+ };
2075
+ // Annotate the CommonJS export names for ESM import in node:
2076
+ 0 && (module.exports = {
2077
+ AttentionSeeker,
2078
+ Bounce,
2079
+ Fade,
2080
+ Flip,
2081
+ Hinge,
2082
+ JackInTheBox,
2083
+ Reveal,
2084
+ Roll,
2085
+ Rotate,
2086
+ Slide,
2087
+ Zoom
2088
+ });
2089
+ //# sourceMappingURL=index.js.map