react-awesome-reveal 4.2.8 → 4.2.10
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/Reveal.d.ts +2 -2
- package/dist/animations/attention_seekers/index.d.ts +13 -13
- package/dist/animations/bouncing_entrances/index.d.ts +5 -5
- package/dist/animations/bouncing_exits/index.d.ts +5 -5
- package/dist/animations/fading_entrances/index.d.ts +13 -13
- package/dist/animations/fading_exits/index.d.ts +13 -13
- package/dist/animations/flippers/index.d.ts +5 -5
- package/dist/animations/rotating_entrances/index.d.ts +5 -5
- package/dist/animations/rotating_exits/index.d.ts +5 -5
- package/dist/animations/sliding_entrances/index.d.ts +4 -4
- package/dist/animations/sliding_exits/index.d.ts +4 -4
- package/dist/animations/specials/index.d.ts +4 -4
- package/dist/animations/zooming_entrances/index.d.ts +5 -5
- package/dist/animations/zooming_exits/index.d.ts +5 -5
- package/dist/components/AttentionSeeker.d.ts +2 -2
- package/dist/components/Bounce.d.ts +2 -2
- package/dist/components/Fade.d.ts +2 -2
- package/dist/components/Flip.d.ts +2 -2
- package/dist/components/Hinge.d.ts +2 -2
- package/dist/components/JackInTheBox.d.ts +2 -2
- package/dist/components/Roll.d.ts +2 -2
- package/dist/components/Rotate.d.ts +2 -2
- package/dist/components/Slide.d.ts +2 -2
- package/dist/components/Zoom.d.ts +2 -2
- package/dist/components/index.d.ts +10 -10
- package/dist/index.cjs +0 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +0 -1
- package/package.json +11 -11
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
package/dist/Reveal.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export * from
|
|
9
|
-
export * from
|
|
10
|
-
export * from
|
|
11
|
-
export * from
|
|
12
|
-
export * from
|
|
13
|
-
export * from
|
|
1
|
+
export * from './bounce';
|
|
2
|
+
export * from './flash';
|
|
3
|
+
export * from './headShake';
|
|
4
|
+
export * from './heartBeat';
|
|
5
|
+
export * from './jello';
|
|
6
|
+
export * from './pulse';
|
|
7
|
+
export * from './rubberBand';
|
|
8
|
+
export * from './shake';
|
|
9
|
+
export * from './shakeX';
|
|
10
|
+
export * from './shakeY';
|
|
11
|
+
export * from './swing';
|
|
12
|
+
export * from './tada';
|
|
13
|
+
export * from './wobble';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
1
|
+
export * from './bounceIn';
|
|
2
|
+
export * from './bounceInDown';
|
|
3
|
+
export * from './bounceInLeft';
|
|
4
|
+
export * from './bounceInRight';
|
|
5
|
+
export * from './bounceInUp';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
1
|
+
export * from './bounceOut';
|
|
2
|
+
export * from './bounceOutDown';
|
|
3
|
+
export * from './bounceOutLeft';
|
|
4
|
+
export * from './bounceOutRight';
|
|
5
|
+
export * from './bounceOutUp';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export * from
|
|
9
|
-
export * from
|
|
10
|
-
export * from
|
|
11
|
-
export * from
|
|
12
|
-
export * from
|
|
13
|
-
export * from
|
|
1
|
+
export * from './fadeIn';
|
|
2
|
+
export * from './fadeInBottomLeft';
|
|
3
|
+
export * from './fadeInBottomRight';
|
|
4
|
+
export * from './fadeInDown';
|
|
5
|
+
export * from './fadeInDownBig';
|
|
6
|
+
export * from './fadeInLeft';
|
|
7
|
+
export * from './fadeInLeftBig';
|
|
8
|
+
export * from './fadeInRight';
|
|
9
|
+
export * from './fadeInRightBig';
|
|
10
|
+
export * from './fadeInTopLeft';
|
|
11
|
+
export * from './fadeInTopRight';
|
|
12
|
+
export * from './fadeInUp';
|
|
13
|
+
export * from './fadeInUpBig';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export * from
|
|
9
|
-
export * from
|
|
10
|
-
export * from
|
|
11
|
-
export * from
|
|
12
|
-
export * from
|
|
13
|
-
export * from
|
|
1
|
+
export * from './fadeOut';
|
|
2
|
+
export * from './fadeOutBottomLeft';
|
|
3
|
+
export * from './fadeOutBottomRight';
|
|
4
|
+
export * from './fadeOutDown';
|
|
5
|
+
export * from './fadeOutDownBig';
|
|
6
|
+
export * from './fadeOutLeft';
|
|
7
|
+
export * from './fadeOutLeftBig';
|
|
8
|
+
export * from './fadeOutRight';
|
|
9
|
+
export * from './fadeOutRightBig';
|
|
10
|
+
export * from './fadeOutTopLeft';
|
|
11
|
+
export * from './fadeOutTopRight';
|
|
12
|
+
export * from './fadeOutUp';
|
|
13
|
+
export * from './fadeOutUpBig';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
1
|
+
export * from './flip';
|
|
2
|
+
export * from './flipInX';
|
|
3
|
+
export * from './flipInY';
|
|
4
|
+
export * from './flipOutX';
|
|
5
|
+
export * from './flipOutY';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
1
|
+
export * from './rotateIn';
|
|
2
|
+
export * from './rotateInDownLeft';
|
|
3
|
+
export * from './rotateInDownRight';
|
|
4
|
+
export * from './rotateInUpLeft';
|
|
5
|
+
export * from './rotateInUpRight';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
1
|
+
export * from './rotateOut';
|
|
2
|
+
export * from './rotateOutDownLeft';
|
|
3
|
+
export * from './rotateOutDownRight';
|
|
4
|
+
export * from './rotateOutUpLeft';
|
|
5
|
+
export * from './rotateOutUpRight';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
1
|
+
export * from './slideInDown';
|
|
2
|
+
export * from './slideInLeft';
|
|
3
|
+
export * from './slideInRight';
|
|
4
|
+
export * from './slideInUp';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
1
|
+
export * from './slideOutDown';
|
|
2
|
+
export * from './slideOutLeft';
|
|
3
|
+
export * from './slideOutRight';
|
|
4
|
+
export * from './slideOutUp';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
1
|
+
export * from './hinge';
|
|
2
|
+
export * from './jackInTheBox';
|
|
3
|
+
export * from './rollIn';
|
|
4
|
+
export * from './rollOut';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
1
|
+
export * from './zoomIn';
|
|
2
|
+
export * from './zoomInDown';
|
|
3
|
+
export * from './zoomInLeft';
|
|
4
|
+
export * from './zoomInRight';
|
|
5
|
+
export * from './zoomInUp';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
1
|
+
export * from './zoomOut';
|
|
2
|
+
export * from './zoomOutDown';
|
|
3
|
+
export * from './zoomOutLeft';
|
|
4
|
+
export * from './zoomOutRight';
|
|
5
|
+
export * from './zoomOutUp';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { RevealProps } from '../Reveal';
|
|
2
|
+
|
|
3
3
|
type AttentionSeekerEffect = "bounce" | "flash" | "headShake" | "heartBeat" | "jello" | "pulse" | "rubberBand" | "shake" | "shakeX" | "shakeY" | "swing" | "tada" | "wobble";
|
|
4
4
|
export interface AttentionSeekerProps extends Omit<RevealProps, "keyframes"> {
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { RevealProps } from '../Reveal';
|
|
2
|
+
|
|
3
3
|
type FadeDirection = "bottom-left" | "bottom-right" | "down" | "left" | "right" | "top-left" | "top-right" | "up";
|
|
4
4
|
export interface FadeProps extends Omit<RevealProps, "keyframes"> {
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { RevealProps } from '../Reveal';
|
|
2
|
+
|
|
3
3
|
type RotateDirection = "bottom-left" | "bottom-right" | "top-left" | "top-right";
|
|
4
4
|
export interface RotateProps extends Omit<RevealProps, "keyframes"> {
|
|
5
5
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export * from
|
|
9
|
-
export * from
|
|
10
|
-
export * from
|
|
1
|
+
export * from './AttentionSeeker';
|
|
2
|
+
export * from './Bounce';
|
|
3
|
+
export * from './Fade';
|
|
4
|
+
export * from './Flip';
|
|
5
|
+
export * from './Hinge';
|
|
6
|
+
export * from './JackInTheBox';
|
|
7
|
+
export * from './Roll';
|
|
8
|
+
export * from './Rotate';
|
|
9
|
+
export * from './Slide';
|
|
10
|
+
export * from './Zoom';
|
package/dist/index.cjs
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export { Reveal as default } from
|
|
1
|
+
export * from './components';
|
|
2
|
+
export * from './Reveal';
|
|
3
|
+
export { Reveal as default } from './Reveal';
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-awesome-reveal",
|
|
3
3
|
"description": "React components to add reveal animations using the Intersection Observer API and CSS Animations.",
|
|
4
|
-
"version": "4.2.
|
|
4
|
+
"version": "4.2.10",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -61,19 +61,19 @@
|
|
|
61
61
|
"react": ">=16.14.0"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
-
"@emotion/react": "^11.11.
|
|
65
|
-
"@emotion/serialize": "^1.1.
|
|
66
|
-
"@types/react": "^18.
|
|
67
|
-
"@types/react-dom": "^18.
|
|
68
|
-
"@types/react-is": "^18.
|
|
64
|
+
"@emotion/react": "^11.11.4",
|
|
65
|
+
"@emotion/serialize": "^1.1.4",
|
|
66
|
+
"@types/react": "^18.3.1",
|
|
67
|
+
"@types/react-dom": "^18.3.0",
|
|
68
|
+
"@types/react-is": "^18.3.0",
|
|
69
69
|
"@vitejs/plugin-react": "^4.2.1",
|
|
70
|
-
"react": "^18.
|
|
71
|
-
"vite": "^5.
|
|
72
|
-
"vite-plugin-dts": "3.
|
|
70
|
+
"react": "^18.3.1",
|
|
71
|
+
"vite": "^5.2.11",
|
|
72
|
+
"vite-plugin-dts": "3.9.0"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"react-intersection-observer": "^9.
|
|
76
|
-
"react-is": "^18.
|
|
75
|
+
"react-intersection-observer": "^9.10.1",
|
|
76
|
+
"react-is": "^18.3.1"
|
|
77
77
|
},
|
|
78
78
|
"scripts": {
|
|
79
79
|
"build": "tsc --noEmit && vite build",
|
package/dist/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/animations/attention_seekers/bounce.ts","../src/animations/attention_seekers/flash.ts","../src/animations/attention_seekers/headShake.ts","../src/animations/attention_seekers/heartBeat.ts","../src/animations/attention_seekers/jello.ts","../src/animations/attention_seekers/pulse.ts","../src/animations/attention_seekers/rubberBand.ts","../src/animations/attention_seekers/shake.ts","../src/animations/attention_seekers/shakeX.ts","../src/animations/attention_seekers/shakeY.ts","../src/animations/attention_seekers/swing.ts","../src/animations/attention_seekers/tada.ts","../src/animations/attention_seekers/wobble.ts","../src/animations/fading_entrances/fadeIn.ts","../src/animations/fading_entrances/fadeInBottomLeft.ts","../src/animations/fading_entrances/fadeInBottomRight.ts","../src/animations/fading_entrances/fadeInDown.ts","../src/animations/fading_entrances/fadeInDownBig.ts","../src/animations/fading_entrances/fadeInLeft.ts","../src/animations/fading_entrances/fadeInLeftBig.ts","../src/animations/fading_entrances/fadeInRight.ts","../src/animations/fading_entrances/fadeInRightBig.ts","../src/animations/fading_entrances/fadeInTopLeft.ts","../src/animations/fading_entrances/fadeInTopRight.ts","../src/animations/fading_entrances/fadeInUp.ts","../src/animations/fading_entrances/fadeInUpBig.ts","../src/utils/animations.ts","../src/utils/guards.ts","../src/utils/patterns.ts","../src/Reveal.tsx","../src/components/AttentionSeeker.tsx","../src/animations/bouncing_entrances/bounceIn.ts","../src/animations/bouncing_entrances/bounceInDown.ts","../src/animations/bouncing_entrances/bounceInLeft.ts","../src/animations/bouncing_entrances/bounceInRight.ts","../src/animations/bouncing_entrances/bounceInUp.ts","../src/animations/bouncing_exits/bounceOut.ts","../src/animations/bouncing_exits/bounceOutDown.ts","../src/animations/bouncing_exits/bounceOutLeft.ts","../src/animations/bouncing_exits/bounceOutRight.ts","../src/animations/bouncing_exits/bounceOutUp.ts","../src/components/Bounce.tsx","../src/animations/fading_exits/fadeOut.ts","../src/animations/fading_exits/fadeOutBottomLeft.ts","../src/animations/fading_exits/fadeOutBottomRight.ts","../src/animations/fading_exits/fadeOutDown.ts","../src/animations/fading_exits/fadeOutDownBig.ts","../src/animations/fading_exits/fadeOutLeft.ts","../src/animations/fading_exits/fadeOutLeftBig.ts","../src/animations/fading_exits/fadeOutRight.ts","../src/animations/fading_exits/fadeOutRightBig.ts","../src/animations/fading_exits/fadeOutTopLeft.ts","../src/animations/fading_exits/fadeOutTopRight.ts","../src/animations/fading_exits/fadeOutUp.ts","../src/animations/fading_exits/fadeOutUpBig.ts","../src/components/Fade.tsx","../src/animations/flippers/flip.ts","../src/animations/flippers/flipInX.ts","../src/animations/flippers/flipInY.ts","../src/animations/flippers/flipOutX.ts","../src/animations/flippers/flipOutY.ts","../src/components/Flip.tsx","../src/animations/specials/hinge.ts","../src/animations/specials/jackInTheBox.ts","../src/animations/specials/rollIn.ts","../src/animations/specials/rollOut.ts","../src/components/Hinge.tsx","../src/components/JackInTheBox.tsx","../src/components/Roll.tsx","../src/animations/rotating_entrances/rotateIn.ts","../src/animations/rotating_entrances/rotateInDownLeft.ts","../src/animations/rotating_entrances/rotateInDownRight.ts","../src/animations/rotating_entrances/rotateInUpLeft.ts","../src/animations/rotating_entrances/rotateInUpRight.ts","../src/animations/rotating_exits/rotateOut.ts","../src/animations/rotating_exits/rotateOutDownLeft.ts","../src/animations/rotating_exits/rotateOutDownRight.ts","../src/animations/rotating_exits/rotateOutUpLeft.ts","../src/animations/rotating_exits/rotateOutUpRight.ts","../src/components/Rotate.tsx","../src/animations/sliding_entrances/slideInDown.ts","../src/animations/sliding_entrances/slideInLeft.ts","../src/animations/sliding_entrances/slideInRight.ts","../src/animations/sliding_entrances/slideInUp.ts","../src/animations/sliding_exits/slideOutDown.ts","../src/animations/sliding_exits/slideOutLeft.ts","../src/animations/sliding_exits/slideOutRight.ts","../src/animations/sliding_exits/slideOutUp.ts","../src/components/Slide.tsx","../src/animations/zooming_entrances/zoomIn.ts","../src/animations/zooming_entrances/zoomInDown.ts","../src/animations/zooming_entrances/zoomInLeft.ts","../src/animations/zooming_entrances/zoomInRight.ts","../src/animations/zooming_entrances/zoomInUp.ts","../src/animations/zooming_exits/zoomOut.ts","../src/animations/zooming_exits/zoomOutDown.ts","../src/animations/zooming_exits/zoomOutLeft.ts","../src/animations/zooming_exits/zoomOutRight.ts","../src/animations/zooming_exits/zoomOutUp.ts","../src/components/Zoom.tsx"],"sourcesContent":["import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/bounce.css}\n */\nexport const bounce = keyframes`\n from,\n 20%,\n 53%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n transform: translate3d(0, 0, 0);\n }\n\n 40%,\n 43% {\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n transform: translate3d(0, -30px, 0) scaleY(1.1);\n }\n\n 70% {\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n transform: translate3d(0, -15px, 0) scaleY(1.05);\n }\n\n 80% {\n transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n transform: translate3d(0, 0, 0) scaleY(0.95);\n }\n\n 90% {\n transform: translate3d(0, -4px, 0) scaleY(1.02);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/flash.css}\n */\nexport const flash = keyframes`\n from,\n 50%,\n to {\n opacity: 1;\n }\n\n 25%,\n 75% {\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/headShake.css}\n */\nexport const headShake = keyframes`\n 0% {\n transform: translateX(0);\n }\n\n 6.5% {\n transform: translateX(-6px) rotateY(-9deg);\n }\n\n 18.5% {\n transform: translateX(5px) rotateY(7deg);\n }\n\n 31.5% {\n transform: translateX(-3px) rotateY(-5deg);\n }\n\n 43.5% {\n transform: translateX(2px) rotateY(3deg);\n }\n\n 50% {\n transform: translateX(0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/heartBeat.css}\n */\nexport const heartBeat = keyframes`\n 0% {\n transform: scale(1);\n }\n\n 14% {\n transform: scale(1.3);\n }\n\n 28% {\n transform: scale(1);\n }\n\n 42% {\n transform: scale(1.3);\n }\n\n 70% {\n transform: scale(1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/jello.css}\n */\nexport const jello = keyframes`\n from,\n 11.1%,\n to {\n transform: translate3d(0, 0, 0);\n }\n\n 22.2% {\n transform: skewX(-12.5deg) skewY(-12.5deg);\n }\n\n 33.3% {\n transform: skewX(6.25deg) skewY(6.25deg);\n }\n\n 44.4% {\n transform: skewX(-3.125deg) skewY(-3.125deg);\n }\n\n 55.5% {\n transform: skewX(1.5625deg) skewY(1.5625deg);\n }\n\n 66.6% {\n transform: skewX(-0.78125deg) skewY(-0.78125deg);\n }\n\n 77.7% {\n transform: skewX(0.390625deg) skewY(0.390625deg);\n }\n\n 88.8% {\n transform: skewX(-0.1953125deg) skewY(-0.1953125deg);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/pulse.css}\n */\nexport const pulse = keyframes`\n from {\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n transform: scale3d(1.05, 1.05, 1.05);\n }\n\n to {\n transform: scale3d(1, 1, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/rubberBand.css}\n */\nexport const rubberBand = keyframes`\n from {\n transform: scale3d(1, 1, 1);\n }\n\n 30% {\n transform: scale3d(1.25, 0.75, 1);\n }\n\n 40% {\n transform: scale3d(0.75, 1.25, 1);\n }\n\n 50% {\n transform: scale3d(1.15, 0.85, 1);\n }\n\n 65% {\n transform: scale3d(0.95, 1.05, 1);\n }\n\n 75% {\n transform: scale3d(1.05, 0.95, 1);\n }\n\n to {\n transform: scale3d(1, 1, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/shake.css}\n */\nexport const shake = keyframes`\n from,\n to {\n transform: translate3d(0, 0, 0);\n }\n\n 10%,\n 30%,\n 50%,\n 70%,\n 90% {\n transform: translate3d(-10px, 0, 0);\n }\n\n 20%,\n 40%,\n 60%,\n 80% {\n transform: translate3d(10px, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/shakeX.css}\n */\nexport const shakeX = keyframes`\n from,\n to {\n transform: translate3d(0, 0, 0);\n }\n\n 10%,\n 30%,\n 50%,\n 70%,\n 90% {\n transform: translate3d(-10px, 0, 0);\n }\n\n 20%,\n 40%,\n 60%,\n 80% {\n transform: translate3d(10px, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/shakeY.css}\n */\nexport const shakeY = keyframes`\n from,\n to {\n transform: translate3d(0, 0, 0);\n }\n\n 10%,\n 30%,\n 50%,\n 70%,\n 90% {\n transform: translate3d(0, -10px, 0);\n }\n\n 20%,\n 40%,\n 60%,\n 80% {\n transform: translate3d(0, 10px, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/swing.css}\n */\nexport const swing = keyframes`\n 20% {\n transform: rotate3d(0, 0, 1, 15deg);\n }\n\n 40% {\n transform: rotate3d(0, 0, 1, -10deg);\n }\n\n 60% {\n transform: rotate3d(0, 0, 1, 5deg);\n }\n\n 80% {\n transform: rotate3d(0, 0, 1, -5deg);\n }\n\n to {\n transform: rotate3d(0, 0, 1, 0deg);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/tada.css}\n */\nexport const tada = keyframes`\n from {\n transform: scale3d(1, 1, 1);\n }\n\n 10%,\n 20% {\n transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);\n }\n\n 30%,\n 50%,\n 70%,\n 90% {\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n }\n\n 40%,\n 60%,\n 80% {\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n }\n\n to {\n transform: scale3d(1, 1, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/wobble.css}\n */\nexport const wobble = keyframes`\n from {\n transform: translate3d(0, 0, 0);\n }\n\n 15% {\n transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n }\n\n 30% {\n transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n }\n\n 45% {\n transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n }\n\n 60% {\n transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n }\n\n 75% {\n transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeIn.css}\n */\nexport const fadeIn = keyframes`\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInBottomLeft.css}\n */\nexport const fadeInBottomLeft = keyframes`\n from {\n opacity: 0;\n transform: translate3d(-100%, 100%, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInBottomRight.css}\n */\nexport const fadeInBottomRight = keyframes`\n from {\n opacity: 0;\n transform: translate3d(100%, 100%, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInDown.css}\n */\nexport const fadeInDown = keyframes`\n from {\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInDownBig.css}\n */\nexport const fadeInDownBig = keyframes`\n from {\n opacity: 0;\n transform: translate3d(0, -2000px, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInLeft.css}\n */\nexport const fadeInLeft = keyframes`\n from {\n opacity: 0;\n transform: translate3d(-100%, 0, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInLeftBig.css}\n */\nexport const fadeInLeftBig = keyframes`\n from {\n opacity: 0;\n transform: translate3d(-2000px, 0, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInRight.css}\n */\nexport const fadeInRight = keyframes`\n from {\n opacity: 0;\n transform: translate3d(100%, 0, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInRightBig.css}\n */\nexport const fadeInRightBig = keyframes`\n from {\n opacity: 0;\n transform: translate3d(2000px, 0, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInTopLeft.css}\n */\nexport const fadeInTopLeft = keyframes`\n from {\n opacity: 0;\n transform: translate3d(-100%, -100%, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInTopRight.css}\n */\nexport const fadeInTopRight = keyframes`\n from {\n opacity: 0;\n transform: translate3d(100%, -100%, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInUp.css}\n */\nexport const fadeInUp = keyframes`\n from {\n opacity: 0;\n transform: translate3d(0, 100%, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInUpBig.css}\n */\nexport const fadeInUpBig = keyframes`\n from {\n opacity: 0;\n transform: translate3d(0, 2000px, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { css } from \"@emotion/react\";\n\nimport { fadeInLeft } from \"../animations/fading_entrances\";\n\nexport function getAnimationCss({\n duration = 1000,\n delay = 0,\n timingFunction = \"ease\",\n keyframes = fadeInLeft,\n iterationCount = 1,\n}) {\n return css`\n animation-duration: ${duration}ms;\n animation-timing-function: ${timingFunction};\n animation-delay: ${delay}ms;\n animation-name: ${keyframes};\n animation-direction: normal;\n animation-fill-mode: both;\n animation-iteration-count: ${iterationCount};\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n `;\n}\n","export function isNullable(a: unknown): a is null | undefined {\n return a == undefined;\n}\n\nexport function isStringLike(\n value: unknown\n): value is string | number | boolean {\n return (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n );\n}\n","export function matchIf<T, F>(onTrue: () => T, onFalse: () => F) {\n return (condition: boolean) => (condition ? onTrue() : onFalse());\n}\n\nexport function matchIfOrNull<T>(onTrue: () => T) {\n return matchIf(onTrue, () => null);\n}\n","import { ClassNames } from \"@emotion/react\";\nimport type { Keyframes, SerializedStyles } from \"@emotion/serialize\";\nimport { Children, type CSSProperties, isValidElement, useMemo } from \"react\";\nimport { InView, useInView } from \"react-intersection-observer\";\nimport { isFragment } from \"react-is\";\n\nimport { fadeInLeft } from \"./animations/fading_entrances\";\nimport { getAnimationCss } from \"./utils/animations\";\nimport { isNullable, isStringLike } from \"./utils/guards\";\nimport { matchIf, matchIfOrNull } from \"./utils/patterns\";\n\nfunction hideWhen(condition: boolean) {\n return matchIfOrNull<CSSProperties>(() => ({ opacity: 0 }))(condition);\n}\n\nexport interface RevealProps {\n /**\n * Stagger its children animations.\n * @default false\n */\n cascade?: boolean;\n /**\n * Factor that affects the delay that each animated element in a cascade animation will be assigned.\n * @default 0.5\n */\n damping?: number;\n /**\n * Initial delay, in milliseconds.\n * @default 0\n */\n delay?: number;\n /**\n * Animation duration, in milliseconds.\n * @default 1000\n */\n duration?: number;\n /**\n * Float number between 0 and 1 indicating how much the element should be in viewport before the animation is triggered.\n * @default 0\n */\n fraction?: number;\n /**\n * Custom Emotion animation keyframes.\n */\n keyframes?: Keyframes;\n /**\n * Specifies if the animation should run only once or everytime the element enters/exits/re-enters the viewport.\n * @default false\n */\n triggerOnce?: boolean;\n /**\n * Class names to add to the container element.\n */\n className?: string;\n /**\n * Inline styles to add to the container element.\n */\n style?: React.CSSProperties;\n /**\n * Class names to add to the child element.\n */\n childClassName?: string;\n /**\n * Inline styles to add to the child element.\n */\n childStyle?: React.CSSProperties;\n /**\n * From React 18, children must be explicitly typed.\n * @see https://reactjs.org/blog/2022/03/08/react-18-upgrade-guide.html#updates-to-typescript-definitions\n */\n children?: React.ReactNode;\n /**\n * Callback executed when the element enters or leaves the viewport.\n * If more than one element is being animated, this function is called\n * on each element.\n *\n * @param inView The current visibility flag.\n * @param entry The current IntersectionObserverEntry.\n */\n onVisibilityChange?(inView: boolean, entry: IntersectionObserverEntry): void;\n}\n\nexport const Reveal: React.FC<RevealProps> = (props) => {\n const {\n cascade = false,\n damping = 0.5,\n delay = 0,\n duration = 1000,\n fraction = 0,\n keyframes = fadeInLeft,\n triggerOnce = false,\n className,\n style,\n childClassName,\n childStyle,\n children,\n onVisibilityChange,\n } = props;\n\n const animationStyles = useMemo(\n () =>\n getAnimationCss({\n keyframes,\n duration,\n }),\n [duration, keyframes]\n );\n\n if (isNullable(children)) return null;\n\n if (isStringLike(children))\n return (\n <TextReveal {...props} animationStyles={animationStyles}>\n {String(children)}\n </TextReveal>\n );\n\n if (isFragment(children))\n return <FragmentReveal {...props} animationStyles={animationStyles} />;\n\n return (\n <>\n {Children.map(children, (node, index) => {\n if (!isValidElement(node)) return null;\n\n const nodeDelay = delay + (cascade ? index * duration * damping : 0);\n\n switch (node.type) {\n case \"ol\":\n case \"ul\":\n return (\n <ClassNames>\n {({ cx }) => (\n <node.type\n {...node.props}\n className={cx(className, node.props.className)}\n style={Object.assign({}, style, node.props.style)}\n >\n <Reveal {...props}>{node.props.children}</Reveal>\n </node.type>\n )}\n </ClassNames>\n );\n case \"li\":\n return (\n <InView\n threshold={fraction}\n triggerOnce={triggerOnce}\n onChange={onVisibilityChange}\n >\n {({ inView, ref }) => (\n <ClassNames>\n {({ cx }) => (\n <node.type\n {...node.props}\n ref={ref}\n className={cx(childClassName, node.props.className)}\n css={matchIfOrNull(() => animationStyles)(inView)}\n style={Object.assign(\n {},\n childStyle,\n node.props.style,\n hideWhen(!inView),\n {\n animationDelay: nodeDelay + \"ms\",\n }\n )}\n />\n )}\n </ClassNames>\n )}\n </InView>\n );\n default:\n return (\n <InView\n threshold={fraction}\n triggerOnce={triggerOnce}\n onChange={onVisibilityChange}\n >\n {({ inView, ref }) => (\n <div\n ref={ref}\n className={className}\n css={matchIfOrNull(() => animationStyles)(inView)}\n style={Object.assign({}, style, hideWhen(!inView), {\n animationDelay: nodeDelay + \"ms\",\n })}\n >\n <ClassNames>\n {({ cx }) => (\n <node.type\n {...node.props}\n className={cx(childClassName, node.props.className)}\n style={Object.assign(\n {},\n childStyle,\n node.props.style\n )}\n />\n )}\n </ClassNames>\n </div>\n )}\n </InView>\n );\n }\n })}\n </>\n );\n};\n\nconst textBaseStyles: CSSProperties = {\n display: \"inline-block\",\n whiteSpace: \"pre\",\n};\n\nconst TextReveal: React.FC<\n RevealProps & { animationStyles: SerializedStyles; children: string }\n> = (props) => {\n const {\n animationStyles,\n cascade = false,\n damping = 0.5,\n delay = 0,\n duration = 1000,\n fraction = 0,\n triggerOnce = false,\n className,\n style,\n children,\n onVisibilityChange,\n } = props;\n\n const { ref, inView } = useInView({\n triggerOnce,\n threshold: fraction,\n onChange: onVisibilityChange,\n });\n\n return matchIf(\n () => (\n <div\n ref={ref}\n className={className}\n style={Object.assign({}, style, textBaseStyles)}\n >\n {children.split(\"\").map((char, index) => (\n <span\n key={index}\n css={matchIfOrNull(() => animationStyles)(inView)}\n style={{\n animationDelay: delay + index * duration * damping + \"ms\",\n }}\n >\n {char}\n </span>\n ))}\n </div>\n ),\n () => <FragmentReveal {...props}>{children}</FragmentReveal>\n )(cascade);\n};\n\nconst FragmentReveal: React.FC<\n RevealProps & { animationStyles: SerializedStyles }\n> = (props) => {\n const {\n animationStyles,\n fraction = 0,\n triggerOnce = false,\n className,\n style,\n children,\n onVisibilityChange,\n } = props;\n\n const { ref, inView } = useInView({\n triggerOnce,\n threshold: fraction,\n onChange: onVisibilityChange,\n });\n\n return (\n <div\n ref={ref}\n className={className}\n css={matchIfOrNull(() => animationStyles)(inView)}\n style={Object.assign({}, style, hideWhen(!inView))}\n >\n {children}\n </div>\n );\n};\n","import type { Keyframes } from \"@emotion/serialize\";\nimport { type CSSProperties, useMemo } from \"react\";\n\nimport {\n bounce,\n flash,\n headShake,\n heartBeat,\n jello,\n pulse,\n rubberBand,\n shake,\n shakeX,\n shakeY,\n swing,\n tada,\n wobble,\n} from \"../animations/attention_seekers\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype AttentionSeekerEffect =\n | \"bounce\"\n | \"flash\"\n | \"headShake\"\n | \"heartBeat\"\n | \"jello\"\n | \"pulse\"\n | \"rubberBand\"\n | \"shake\"\n | \"shakeX\"\n | \"shakeY\"\n | \"swing\"\n | \"tada\"\n | \"wobble\";\n\nexport interface AttentionSeekerProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * The animation effect to use for this attention seeker.\n * @default \"bounce\"\n */\n effect?: AttentionSeekerEffect;\n}\n\nfunction getStyles(effect: AttentionSeekerEffect): [Keyframes, CSSProperties?] {\n switch (effect) {\n case \"bounce\":\n return [bounce, { transformOrigin: \"center bottom\" }];\n case \"flash\":\n return [flash];\n case \"headShake\":\n return [headShake, { animationTimingFunction: \"ease-in-out\" }];\n case \"heartBeat\":\n return [heartBeat, { animationTimingFunction: \"ease-in-out\" }];\n case \"jello\":\n return [jello, { transformOrigin: \"center\" }];\n case \"pulse\":\n return [pulse, { animationTimingFunction: \"ease-in-out\" }];\n case \"rubberBand\":\n return [rubberBand];\n case \"shake\":\n return [shake];\n case \"shakeX\":\n return [shakeX];\n case \"shakeY\":\n return [shakeY];\n case \"swing\":\n return [swing, { transformOrigin: \"top center\" }];\n case \"tada\":\n return [tada];\n case \"wobble\":\n return [wobble];\n }\n}\n\nexport const AttentionSeeker: React.FC<AttentionSeekerProps> = (props) => {\n const { effect = \"bounce\", style, ...rest } = props;\n\n const [keyframes, animationCss] = useMemo(() => getStyles(effect), [effect]);\n\n return (\n <Reveal\n keyframes={keyframes}\n style={Object.assign({}, style, animationCss)}\n {...rest}\n />\n );\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_entrances/bounceIn.css}\n */\nexport const bounceIn = keyframes`\n from,\n 20%,\n 40%,\n 60%,\n 80%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n\n 0% {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n\n 20% {\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 40% {\n transform: scale3d(0.9, 0.9, 0.9);\n }\n\n 60% {\n opacity: 1;\n transform: scale3d(1.03, 1.03, 1.03);\n }\n\n 80% {\n transform: scale3d(0.97, 0.97, 0.97);\n }\n\n to {\n opacity: 1;\n transform: scale3d(1, 1, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_entrances/bounceInDown.css}\n */\nexport const bounceInDown = keyframes`\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n\n 0% {\n opacity: 0;\n transform: translate3d(0, -3000px, 0) scaleY(3);\n }\n\n 60% {\n opacity: 1;\n transform: translate3d(0, 25px, 0) scaleY(0.9);\n }\n\n 75% {\n transform: translate3d(0, -10px, 0) scaleY(0.95);\n }\n\n 90% {\n transform: translate3d(0, 5px, 0) scaleY(0.985);\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_entrances/bounceInLeft.css}\n */\nexport const bounceInLeft = keyframes`\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n\n 0% {\n opacity: 0;\n transform: translate3d(-3000px, 0, 0) scaleX(3);\n }\n\n 60% {\n opacity: 1;\n transform: translate3d(25px, 0, 0) scaleX(1);\n }\n\n 75% {\n transform: translate3d(-10px, 0, 0) scaleX(0.98);\n }\n\n 90% {\n transform: translate3d(5px, 0, 0) scaleX(0.995);\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_entrances/bounceInRight.css}\n */\nexport const bounceInRight = keyframes`\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n\n from {\n opacity: 0;\n transform: translate3d(3000px, 0, 0) scaleX(3);\n }\n\n 60% {\n opacity: 1;\n transform: translate3d(-25px, 0, 0) scaleX(1);\n }\n\n 75% {\n transform: translate3d(10px, 0, 0) scaleX(0.98);\n }\n\n 90% {\n transform: translate3d(-5px, 0, 0) scaleX(0.995);\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_entrances/bounceInUp.css}\n */\nexport const bounceInUp = keyframes`\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n\n from {\n opacity: 0;\n transform: translate3d(0, 3000px, 0) scaleY(5);\n }\n\n 60% {\n opacity: 1;\n transform: translate3d(0, -20px, 0) scaleY(0.9);\n }\n\n 75% {\n transform: translate3d(0, 10px, 0) scaleY(0.95);\n }\n\n 90% {\n transform: translate3d(0, -5px, 0) scaleY(0.985);\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_exits/bounceOut.css}\n */\nexport const bounceOut = keyframes`\n 20% {\n transform: scale3d(0.9, 0.9, 0.9);\n }\n\n 50%,\n 55% {\n opacity: 1;\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n to {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_exits/bounceOutDown.css}\n */\nexport const bounceOutDown = keyframes`\n 20% {\n transform: translate3d(0, 10px, 0) scaleY(0.985);\n }\n\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, -20px, 0) scaleY(0.9);\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, 2000px, 0) scaleY(3);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_exits/bounceOutLeft.css}\n */\nexport const bounceOutLeft = keyframes`\n 20% {\n opacity: 1;\n transform: translate3d(20px, 0, 0) scaleX(0.9);\n }\n\n to {\n opacity: 0;\n transform: translate3d(-2000px, 0, 0) scaleX(2);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_exits/bounceOutRight.css}\n */\nexport const bounceOutRight = keyframes`\n 20% {\n opacity: 1;\n transform: translate3d(-20px, 0, 0) scaleX(0.9);\n }\n\n to {\n opacity: 0;\n transform: translate3d(2000px, 0, 0) scaleX(2);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_exits/bounceOutUp.css}\n */\nexport const bounceOutUp = keyframes`\n 20% {\n transform: translate3d(0, -10px, 0) scaleY(0.985);\n }\n\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, 20px, 0) scaleY(0.9);\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, -2000px, 0) scaleY(3);\n }\n`;\n","import { useMemo } from \"react\";\n\nimport {\n bounceIn,\n bounceInDown,\n bounceInLeft,\n bounceInRight,\n bounceInUp,\n} from \"../animations/bouncing_entrances\";\nimport {\n bounceOut,\n bounceOutDown,\n bounceOutLeft,\n bounceOutRight,\n bounceOutUp,\n} from \"../animations/bouncing_exits\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype BounceDirection = \"down\" | \"left\" | \"right\" | \"up\";\n\nexport interface BounceProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Origin of the animation.\n * @default undefined\n */\n direction?: BounceDirection;\n /**\n * Specifies if the animation should make element(s) disappear.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(reverse: boolean, direction?: BounceDirection) {\n switch (direction) {\n case \"down\":\n return reverse ? bounceOutDown : bounceInDown;\n case \"left\":\n return reverse ? bounceOutLeft : bounceInLeft;\n case \"right\":\n return reverse ? bounceOutRight : bounceInRight;\n case \"up\":\n return reverse ? bounceOutUp : bounceInUp;\n default:\n return reverse ? bounceOut : bounceIn;\n }\n}\n\nexport const Bounce: React.FC<BounceProps> = (props) => {\n const { direction, reverse = false, ...rest } = props;\n\n const keyframes = useMemo(\n () => getStyles(reverse, direction),\n [direction, reverse]\n );\n\n return <Reveal keyframes={keyframes} {...rest} />;\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOut.css}\n */\nexport const fadeOut = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutBottomLeft.css}\n */\nexport const fadeOutBottomLeft = keyframes`\n from {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n\n to {\n opacity: 0;\n transform: translate3d(-100%, 100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutBottomRight.css}\n */\nexport const fadeOutBottomRight = keyframes`\n from {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n\n to {\n opacity: 0;\n transform: translate3d(100%, 100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutDown.css}\n */\nexport const fadeOutDown = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, 100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutDownBig.css}\n */\nexport const fadeOutDownBig = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, 2000px, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutLeft.css}\n */\nexport const fadeOutLeft = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(-100%, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutLeftBig.css}\n */\nexport const fadeOutLeftBig = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(-2000px, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutRight.css}\n */\nexport const fadeOutRight = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(100%, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutRightBig.css}\n */\nexport const fadeOutRightBig = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(2000px, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutTopLeft.css}\n */\nexport const fadeOutTopLeft = keyframes`\n from {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n\n to {\n opacity: 0;\n transform: translate3d(-100%, -100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutTopRight.css}\n */\nexport const fadeOutTopRight = keyframes`\n from {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n\n to {\n opacity: 0;\n transform: translate3d(100%, -100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutUp.css}\n */\nexport const fadeOutUp = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutUpBig.css}\n */\nexport const fadeOutUpBig = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, -2000px, 0);\n }\n`;\n","import { useMemo } from \"react\";\n\nimport {\n fadeIn,\n fadeInBottomLeft,\n fadeInBottomRight,\n fadeInDown,\n fadeInDownBig,\n fadeInLeft,\n fadeInLeftBig,\n fadeInRight,\n fadeInRightBig,\n fadeInTopLeft,\n fadeInTopRight,\n fadeInUp,\n fadeInUpBig,\n} from \"../animations/fading_entrances\";\nimport {\n fadeOut,\n fadeOutBottomLeft,\n fadeOutBottomRight,\n fadeOutDown,\n fadeOutDownBig,\n fadeOutLeft,\n fadeOutLeftBig,\n fadeOutRight,\n fadeOutRightBig,\n fadeOutTopLeft,\n fadeOutTopRight,\n fadeOutUp,\n fadeOutUpBig,\n} from \"../animations/fading_exits\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype FadeDirection =\n | \"bottom-left\"\n | \"bottom-right\"\n | \"down\"\n | \"left\"\n | \"right\"\n | \"top-left\"\n | \"top-right\"\n | \"up\";\n\nexport interface FadeProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Causes the animation to start farther. Only works with \"down\", \"left\", \"right\" and \"up\" directions.\n * @default false\n */\n big?: boolean;\n /**\n * Origin of the animation.\n * @default undefined\n */\n direction?: FadeDirection;\n /**\n * Specifies if the animation should make element(s) disappear.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(big: boolean, reverse: boolean, direction?: FadeDirection) {\n switch (direction) {\n case \"bottom-left\":\n return reverse ? fadeOutBottomLeft : fadeInBottomLeft;\n case \"bottom-right\":\n return reverse ? fadeOutBottomRight : fadeInBottomRight;\n case \"down\":\n return big\n ? reverse\n ? fadeOutDownBig\n : fadeInDownBig\n : reverse\n ? fadeOutDown\n : fadeInDown;\n case \"left\":\n return big\n ? reverse\n ? fadeOutLeftBig\n : fadeInLeftBig\n : reverse\n ? fadeOutLeft\n : fadeInLeft;\n case \"right\":\n return big\n ? reverse\n ? fadeOutRightBig\n : fadeInRightBig\n : reverse\n ? fadeOutRight\n : fadeInRight;\n case \"top-left\":\n return reverse ? fadeOutTopLeft : fadeInTopLeft;\n case \"top-right\":\n return reverse ? fadeOutTopRight : fadeInTopRight;\n case \"up\":\n return big\n ? reverse\n ? fadeOutUpBig\n : fadeInUpBig\n : reverse\n ? fadeOutUp\n : fadeInUp;\n default:\n return reverse ? fadeOut : fadeIn;\n }\n}\n\nexport const Fade: React.FC<FadeProps> = (props) => {\n const { big = false, direction, reverse = false, ...rest } = props;\n\n const keyframes = useMemo(\n () => getStyles(big, reverse, direction),\n [big, direction, reverse]\n );\n\n return <Reveal keyframes={keyframes} {...rest} />;\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/flippers/flip.css}\n */\nexport const flip = keyframes`\n from {\n transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);\n animation-timing-function: ease-out;\n }\n\n 40% {\n transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)\n rotate3d(0, 1, 0, -190deg);\n animation-timing-function: ease-out;\n }\n\n 50% {\n transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)\n rotate3d(0, 1, 0, -170deg);\n animation-timing-function: ease-in;\n }\n\n 80% {\n transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)\n rotate3d(0, 1, 0, 0deg);\n animation-timing-function: ease-in;\n }\n\n to {\n transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);\n animation-timing-function: ease-in;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/flippers/flipInX.css}\n */\nexport const flipInX = keyframes`\n from {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n animation-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n animation-timing-function: ease-in;\n }\n\n 60% {\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n\n to {\n transform: perspective(400px);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/flippers/flipInY.css}\n */\nexport const flipInY = keyframes`\n from {\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n animation-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n animation-timing-function: ease-in;\n }\n\n 60% {\n transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n }\n\n to {\n transform: perspective(400px);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/flippers/flipOutX.css}\n */\nexport const flipOutX = keyframes`\n from {\n transform: perspective(400px);\n }\n\n 30% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n\n to {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/flippers/flipOutY.css}\n */\nexport const flipOutY = keyframes`\n from {\n transform: perspective(400px);\n }\n\n 30% {\n transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n opacity: 1;\n }\n\n to {\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n opacity: 0;\n }\n`;\n","import { type CSSProperties, useMemo } from \"react\";\n\nimport {\n flip,\n flipInX,\n flipInY,\n flipOutX,\n flipOutY,\n} from \"../animations/flippers\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype FlipDirection = \"horizontal\" | \"vertical\";\n\nexport interface FlipProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Axis direction of the animation.\n * @default undefined\n */\n direction?: FlipDirection;\n /**\n * Specifies if the animation should make element(s) disappear. It only has effect if a direction is specified.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(reverse: boolean, direction?: FlipDirection) {\n switch (direction) {\n case \"horizontal\":\n return reverse ? flipOutX : flipInX;\n case \"vertical\":\n return reverse ? flipOutY : flipInY;\n default:\n return flip;\n }\n}\n\nconst animationCss: CSSProperties = {\n backfaceVisibility: \"visible\",\n};\n\nexport const Flip: React.FC<FlipProps> = (props) => {\n const { direction, reverse = false, style, ...rest } = props;\n\n const keyframes = useMemo(\n () => getStyles(reverse, direction),\n [direction, reverse]\n );\n\n return (\n <Reveal\n keyframes={keyframes}\n style={Object.assign({}, style, animationCss)}\n {...rest}\n />\n );\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/specials/hinge.css}\n */\nexport const hinge = keyframes`\n 0% {\n animation-timing-function: ease-in-out;\n }\n\n 20%,\n 60% {\n transform: rotate3d(0, 0, 1, 80deg);\n animation-timing-function: ease-in-out;\n }\n\n 40%,\n 80% {\n transform: rotate3d(0, 0, 1, 60deg);\n animation-timing-function: ease-in-out;\n opacity: 1;\n }\n\n to {\n transform: translate3d(0, 700px, 0);\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/specials/jackInTheBox.css}\n */\nexport const jackInTheBox = keyframes`\n from {\n opacity: 0;\n transform: scale(0.1) rotate(30deg);\n transform-origin: center bottom;\n }\n\n 50% {\n transform: rotate(-10deg);\n }\n\n 70% {\n transform: rotate(3deg);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/specials/rollIn.css}\n */\nexport const rollIn = keyframes`\n from {\n opacity: 0;\n transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/specials/rollOut.css}\n */\nexport const rollOut = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n }\n`;\n","import type { CSSProperties } from \"react\";\n\nimport { hinge } from \"../animations/specials\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\nexport type HingeProps = Omit<RevealProps, \"keyframes\">;\n\nconst animationCss: CSSProperties = {\n transformOrigin: \"top left\",\n};\n\nexport const Hinge: React.FC<HingeProps> = (props) => {\n const { style, ...rest } = props;\n\n return (\n <Reveal\n keyframes={hinge}\n style={Object.assign({}, style, animationCss)}\n {...rest}\n />\n );\n};\n","import { jackInTheBox } from \"../animations/specials\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\nexport type JackInTheBoxProps = Omit<RevealProps, \"keyframes\">;\n\nexport const JackInTheBox: React.FC<JackInTheBoxProps> = (props) => {\n return <Reveal keyframes={jackInTheBox} {...props} />;\n};\n","import { useMemo } from \"react\";\n\nimport { rollIn, rollOut } from \"../animations/specials\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\nexport interface RollProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Specifies if the animation should make element(s) disappear.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(reverse: boolean) {\n return reverse ? rollOut : rollIn;\n}\n\nexport const Roll: React.FC<RollProps> = (props) => {\n const { reverse = false, ...rest } = props;\n\n const keyframes = useMemo(() => getStyles(reverse), [reverse]);\n\n return <Reveal keyframes={keyframes} {...rest} />;\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_entrances/rotateIn.css}\n */\nexport const rotateIn = keyframes`\n from {\n transform: rotate3d(0, 0, 1, -200deg);\n opacity: 0;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_entrances/rotateInDownLeft.css}\n */\nexport const rotateInDownLeft = keyframes`\n from {\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_entrances/rotateInDownRight.css}\n */\nexport const rotateInDownRight = keyframes`\n from {\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_entrances/rotateInUpLeft.css}\n */\nexport const rotateInUpLeft = keyframes`\n from {\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_entrances/rotateInUpRight.css}\n */\nexport const rotateInUpRight = keyframes`\n from {\n transform: rotate3d(0, 0, 1, -90deg);\n opacity: 0;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_exits/rotateOut.css}\n */\nexport const rotateOut = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n transform: rotate3d(0, 0, 1, 200deg);\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_exits/rotateOutDownLeft.css}\n */\nexport const rotateOutDownLeft = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_exits/rotateOutDownRight.css}\n */\nexport const rotateOutDownRight = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_exits/rotateOutUpLeft.css}\n */\nexport const rotateOutUpLeft = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_exits/rotateOutUpRight.css}\n */\nexport const rotateOutUpRight = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n transform: rotate3d(0, 0, 1, 90deg);\n opacity: 0;\n }\n`;\n","import type { Keyframes } from \"@emotion/serialize\";\nimport { type CSSProperties, useMemo } from \"react\";\n\nimport {\n rotateIn,\n rotateInDownLeft,\n rotateInDownRight,\n rotateInUpLeft,\n rotateInUpRight,\n} from \"../animations/rotating_entrances\";\nimport {\n rotateOut,\n rotateOutDownLeft,\n rotateOutDownRight,\n rotateOutUpLeft,\n rotateOutUpRight,\n} from \"../animations/rotating_exits\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype RotateDirection =\n | \"bottom-left\"\n | \"bottom-right\"\n | \"top-left\"\n | \"top-right\";\n\nexport interface RotateProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Origin of the animation.\n * @default undefined\n */\n direction?: RotateDirection;\n /**\n * Specifies if the animation should make element(s) disappear.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(\n reverse: boolean,\n direction?: RotateDirection\n): [Keyframes, CSSProperties?] {\n switch (direction) {\n case \"bottom-left\":\n return reverse\n ? [rotateOutDownLeft, { transformOrigin: \"left bottom\" }]\n : [rotateInDownLeft, { transformOrigin: \"left bottom\" }];\n case \"bottom-right\":\n return reverse\n ? [rotateOutDownRight, { transformOrigin: \"right bottom\" }]\n : [rotateInDownRight, { transformOrigin: \"right bottom\" }];\n case \"top-left\":\n return reverse\n ? [rotateOutUpLeft, { transformOrigin: \"left bottom\" }]\n : [rotateInUpLeft, { transformOrigin: \"left bottom\" }];\n case \"top-right\":\n return reverse\n ? [rotateOutUpRight, { transformOrigin: \"right bottom\" }]\n : [rotateInUpRight, { transformOrigin: \"right bottom\" }];\n default:\n return reverse\n ? [rotateOut, { transformOrigin: \"center\" }]\n : [rotateIn, { transformOrigin: \"center\" }];\n }\n}\n\nexport const Rotate: React.FC<RotateProps> = (props) => {\n const { direction, reverse = false, style, ...rest } = props;\n\n const [keyframes, animationCss] = useMemo(\n () => getStyles(reverse, direction),\n [direction, reverse]\n );\n\n return (\n <Reveal\n keyframes={keyframes}\n style={Object.assign({}, style, animationCss)}\n {...rest}\n />\n );\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_entrances/slideInDown.css}\n */\nexport const slideInDown = keyframes`\n from {\n transform: translate3d(0, -100%, 0);\n visibility: visible;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_entrances/slideInLeft.css}\n */\nexport const slideInLeft = keyframes`\n from {\n transform: translate3d(-100%, 0, 0);\n visibility: visible;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_entrances/slideInRight.css}\n */\nexport const slideInRight = keyframes`\n from {\n transform: translate3d(100%, 0, 0);\n visibility: visible;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_entrances/slideInUp.css}\n */\nexport const slideInUp = keyframes`\n from {\n transform: translate3d(0, 100%, 0);\n visibility: visible;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_exits/slideOutDown.css}\n */\nexport const slideOutDown = keyframes`\n from {\n transform: translate3d(0, 0, 0);\n }\n\n to {\n visibility: hidden;\n transform: translate3d(0, 100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_exits/slideOutLeft.css}\n */\nexport const slideOutLeft = keyframes`\n from {\n transform: translate3d(0, 0, 0);\n }\n\n to {\n visibility: hidden;\n transform: translate3d(-100%, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_exits/slideOutRight.css}\n */\nexport const slideOutRight = keyframes`\n from {\n transform: translate3d(0, 0, 0);\n }\n\n to {\n visibility: hidden;\n transform: translate3d(100%, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_exits/slideOutUp.css}\n */\nexport const slideOutUp = keyframes`\n from {\n transform: translate3d(0, 0, 0);\n }\n\n to {\n visibility: hidden;\n transform: translate3d(0, -100%, 0);\n }\n`;\n","import { useMemo } from \"react\";\n\nimport {\n slideInDown,\n slideInLeft,\n slideInRight,\n slideInUp,\n} from \"../animations/sliding_entrances\";\nimport {\n slideOutDown,\n slideOutLeft,\n slideOutRight,\n slideOutUp,\n} from \"../animations/sliding_exits\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype SlideDirection = \"down\" | \"left\" | \"right\" | \"up\";\n\nexport interface SlideProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Origin of the animation.\n * @default undefined\n */\n direction?: SlideDirection;\n /**\n * Specifies if the animation should make element(s) disappear.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(reverse: boolean, direction?: SlideDirection) {\n switch (direction) {\n case \"down\":\n return reverse ? slideOutDown : slideInDown;\n case \"right\":\n return reverse ? slideOutRight : slideInRight;\n case \"up\":\n return reverse ? slideOutUp : slideInUp;\n case \"left\":\n default:\n return reverse ? slideOutLeft : slideInLeft;\n }\n}\n\nexport const Slide: React.FC<SlideProps> = (props) => {\n const { direction, reverse = false, ...rest } = props;\n\n const keyframes = useMemo(\n () => getStyles(reverse, direction),\n [direction, reverse]\n );\n\n return <Reveal keyframes={keyframes} {...rest} />;\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_entrances/zoomIn.css}\n */\nexport const zoomIn = keyframes`\n from {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n\n 50% {\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_entrances/zoomInDown.css}\n */\nexport const zoomInDown = keyframes`\n from {\n opacity: 0;\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n\n 60% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_entrances/zoomInLeft.css}\n */\nexport const zoomInLeft = keyframes`\n from {\n opacity: 0;\n transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n\n 60% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_entrances/zoomInRight.css}\n */\nexport const zoomInRight = keyframes`\n from {\n opacity: 0;\n transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n\n 60% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_entrances/zoomInUp.css}\n */\nexport const zoomInUp = keyframes`\n from {\n opacity: 0;\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n\n 60% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_exits/zoomOut.css}\n */\nexport const zoomOut = keyframes`\n from {\n opacity: 1;\n }\n\n 50% {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n\n to {\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_exits/zoomOutDown.css}\n */\nexport const zoomOutDown = keyframes`\n 40% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n\n to {\n opacity: 0;\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_exits/zoomOutLeft.css}\n */\nexport const zoomOutLeft = keyframes`\n 40% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);\n }\n\n to {\n opacity: 0;\n transform: scale(0.1) translate3d(-2000px, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_exits/zoomOutRight.css}\n */\nexport const zoomOutRight = keyframes`\n 40% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);\n }\n\n to {\n opacity: 0;\n transform: scale(0.1) translate3d(2000px, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_exits/zoomOutUp.css}\n */\nexport const zoomOutUp = keyframes`\n 40% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n\n to {\n opacity: 0;\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\n }\n`;\n","import { useMemo } from \"react\";\n\nimport {\n zoomIn,\n zoomInDown,\n zoomInLeft,\n zoomInRight,\n zoomInUp,\n} from \"../animations/zooming_entrances\";\nimport {\n zoomOut,\n zoomOutDown,\n zoomOutLeft,\n zoomOutRight,\n zoomOutUp,\n} from \"../animations/zooming_exits\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype ZoomDirection = \"down\" | \"left\" | \"right\" | \"up\";\n\nexport interface ZoomProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Origin of the animation.\n * @default undefined\n */\n direction?: ZoomDirection;\n /**\n * Specifies if the animation should make element(s) disappear.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(reverse: boolean, direction?: ZoomDirection) {\n switch (direction) {\n case \"down\":\n return reverse ? zoomOutDown : zoomInDown;\n case \"left\":\n return reverse ? zoomOutLeft : zoomInLeft;\n case \"right\":\n return reverse ? zoomOutRight : zoomInRight;\n case \"up\":\n return reverse ? zoomOutUp : zoomInUp;\n default:\n return reverse ? zoomOut : zoomIn;\n }\n}\n\nexport const Zoom: React.FC<ZoomProps> = (props) => {\n const { direction, reverse = false, ...rest } = props;\n\n const keyframes = useMemo(\n () => getStyles(reverse, direction),\n [direction, reverse]\n );\n\n return <Reveal keyframes={keyframes} {...rest} />;\n};\n"],"names":["keyframes","css","useMemo","isFragment","jsx","Children","isValidElement","ClassNames","InView","useInView","getStyles","animationCss"],"mappings":"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"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/animations/attention_seekers/bounce.ts","../src/animations/attention_seekers/flash.ts","../src/animations/attention_seekers/headShake.ts","../src/animations/attention_seekers/heartBeat.ts","../src/animations/attention_seekers/jello.ts","../src/animations/attention_seekers/pulse.ts","../src/animations/attention_seekers/rubberBand.ts","../src/animations/attention_seekers/shake.ts","../src/animations/attention_seekers/shakeX.ts","../src/animations/attention_seekers/shakeY.ts","../src/animations/attention_seekers/swing.ts","../src/animations/attention_seekers/tada.ts","../src/animations/attention_seekers/wobble.ts","../src/animations/fading_entrances/fadeIn.ts","../src/animations/fading_entrances/fadeInBottomLeft.ts","../src/animations/fading_entrances/fadeInBottomRight.ts","../src/animations/fading_entrances/fadeInDown.ts","../src/animations/fading_entrances/fadeInDownBig.ts","../src/animations/fading_entrances/fadeInLeft.ts","../src/animations/fading_entrances/fadeInLeftBig.ts","../src/animations/fading_entrances/fadeInRight.ts","../src/animations/fading_entrances/fadeInRightBig.ts","../src/animations/fading_entrances/fadeInTopLeft.ts","../src/animations/fading_entrances/fadeInTopRight.ts","../src/animations/fading_entrances/fadeInUp.ts","../src/animations/fading_entrances/fadeInUpBig.ts","../src/utils/animations.ts","../src/utils/guards.ts","../src/utils/patterns.ts","../src/Reveal.tsx","../src/components/AttentionSeeker.tsx","../src/animations/bouncing_entrances/bounceIn.ts","../src/animations/bouncing_entrances/bounceInDown.ts","../src/animations/bouncing_entrances/bounceInLeft.ts","../src/animations/bouncing_entrances/bounceInRight.ts","../src/animations/bouncing_entrances/bounceInUp.ts","../src/animations/bouncing_exits/bounceOut.ts","../src/animations/bouncing_exits/bounceOutDown.ts","../src/animations/bouncing_exits/bounceOutLeft.ts","../src/animations/bouncing_exits/bounceOutRight.ts","../src/animations/bouncing_exits/bounceOutUp.ts","../src/components/Bounce.tsx","../src/animations/fading_exits/fadeOut.ts","../src/animations/fading_exits/fadeOutBottomLeft.ts","../src/animations/fading_exits/fadeOutBottomRight.ts","../src/animations/fading_exits/fadeOutDown.ts","../src/animations/fading_exits/fadeOutDownBig.ts","../src/animations/fading_exits/fadeOutLeft.ts","../src/animations/fading_exits/fadeOutLeftBig.ts","../src/animations/fading_exits/fadeOutRight.ts","../src/animations/fading_exits/fadeOutRightBig.ts","../src/animations/fading_exits/fadeOutTopLeft.ts","../src/animations/fading_exits/fadeOutTopRight.ts","../src/animations/fading_exits/fadeOutUp.ts","../src/animations/fading_exits/fadeOutUpBig.ts","../src/components/Fade.tsx","../src/animations/flippers/flip.ts","../src/animations/flippers/flipInX.ts","../src/animations/flippers/flipInY.ts","../src/animations/flippers/flipOutX.ts","../src/animations/flippers/flipOutY.ts","../src/components/Flip.tsx","../src/animations/specials/hinge.ts","../src/animations/specials/jackInTheBox.ts","../src/animations/specials/rollIn.ts","../src/animations/specials/rollOut.ts","../src/components/Hinge.tsx","../src/components/JackInTheBox.tsx","../src/components/Roll.tsx","../src/animations/rotating_entrances/rotateIn.ts","../src/animations/rotating_entrances/rotateInDownLeft.ts","../src/animations/rotating_entrances/rotateInDownRight.ts","../src/animations/rotating_entrances/rotateInUpLeft.ts","../src/animations/rotating_entrances/rotateInUpRight.ts","../src/animations/rotating_exits/rotateOut.ts","../src/animations/rotating_exits/rotateOutDownLeft.ts","../src/animations/rotating_exits/rotateOutDownRight.ts","../src/animations/rotating_exits/rotateOutUpLeft.ts","../src/animations/rotating_exits/rotateOutUpRight.ts","../src/components/Rotate.tsx","../src/animations/sliding_entrances/slideInDown.ts","../src/animations/sliding_entrances/slideInLeft.ts","../src/animations/sliding_entrances/slideInRight.ts","../src/animations/sliding_entrances/slideInUp.ts","../src/animations/sliding_exits/slideOutDown.ts","../src/animations/sliding_exits/slideOutLeft.ts","../src/animations/sliding_exits/slideOutRight.ts","../src/animations/sliding_exits/slideOutUp.ts","../src/components/Slide.tsx","../src/animations/zooming_entrances/zoomIn.ts","../src/animations/zooming_entrances/zoomInDown.ts","../src/animations/zooming_entrances/zoomInLeft.ts","../src/animations/zooming_entrances/zoomInRight.ts","../src/animations/zooming_entrances/zoomInUp.ts","../src/animations/zooming_exits/zoomOut.ts","../src/animations/zooming_exits/zoomOutDown.ts","../src/animations/zooming_exits/zoomOutLeft.ts","../src/animations/zooming_exits/zoomOutRight.ts","../src/animations/zooming_exits/zoomOutUp.ts","../src/components/Zoom.tsx"],"sourcesContent":["import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/bounce.css}\n */\nexport const bounce = keyframes`\n from,\n 20%,\n 53%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n transform: translate3d(0, 0, 0);\n }\n\n 40%,\n 43% {\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n transform: translate3d(0, -30px, 0) scaleY(1.1);\n }\n\n 70% {\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n transform: translate3d(0, -15px, 0) scaleY(1.05);\n }\n\n 80% {\n transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n transform: translate3d(0, 0, 0) scaleY(0.95);\n }\n\n 90% {\n transform: translate3d(0, -4px, 0) scaleY(1.02);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/flash.css}\n */\nexport const flash = keyframes`\n from,\n 50%,\n to {\n opacity: 1;\n }\n\n 25%,\n 75% {\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/headShake.css}\n */\nexport const headShake = keyframes`\n 0% {\n transform: translateX(0);\n }\n\n 6.5% {\n transform: translateX(-6px) rotateY(-9deg);\n }\n\n 18.5% {\n transform: translateX(5px) rotateY(7deg);\n }\n\n 31.5% {\n transform: translateX(-3px) rotateY(-5deg);\n }\n\n 43.5% {\n transform: translateX(2px) rotateY(3deg);\n }\n\n 50% {\n transform: translateX(0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/heartBeat.css}\n */\nexport const heartBeat = keyframes`\n 0% {\n transform: scale(1);\n }\n\n 14% {\n transform: scale(1.3);\n }\n\n 28% {\n transform: scale(1);\n }\n\n 42% {\n transform: scale(1.3);\n }\n\n 70% {\n transform: scale(1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/jello.css}\n */\nexport const jello = keyframes`\n from,\n 11.1%,\n to {\n transform: translate3d(0, 0, 0);\n }\n\n 22.2% {\n transform: skewX(-12.5deg) skewY(-12.5deg);\n }\n\n 33.3% {\n transform: skewX(6.25deg) skewY(6.25deg);\n }\n\n 44.4% {\n transform: skewX(-3.125deg) skewY(-3.125deg);\n }\n\n 55.5% {\n transform: skewX(1.5625deg) skewY(1.5625deg);\n }\n\n 66.6% {\n transform: skewX(-0.78125deg) skewY(-0.78125deg);\n }\n\n 77.7% {\n transform: skewX(0.390625deg) skewY(0.390625deg);\n }\n\n 88.8% {\n transform: skewX(-0.1953125deg) skewY(-0.1953125deg);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/pulse.css}\n */\nexport const pulse = keyframes`\n from {\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n transform: scale3d(1.05, 1.05, 1.05);\n }\n\n to {\n transform: scale3d(1, 1, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/rubberBand.css}\n */\nexport const rubberBand = keyframes`\n from {\n transform: scale3d(1, 1, 1);\n }\n\n 30% {\n transform: scale3d(1.25, 0.75, 1);\n }\n\n 40% {\n transform: scale3d(0.75, 1.25, 1);\n }\n\n 50% {\n transform: scale3d(1.15, 0.85, 1);\n }\n\n 65% {\n transform: scale3d(0.95, 1.05, 1);\n }\n\n 75% {\n transform: scale3d(1.05, 0.95, 1);\n }\n\n to {\n transform: scale3d(1, 1, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/shake.css}\n */\nexport const shake = keyframes`\n from,\n to {\n transform: translate3d(0, 0, 0);\n }\n\n 10%,\n 30%,\n 50%,\n 70%,\n 90% {\n transform: translate3d(-10px, 0, 0);\n }\n\n 20%,\n 40%,\n 60%,\n 80% {\n transform: translate3d(10px, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/shakeX.css}\n */\nexport const shakeX = keyframes`\n from,\n to {\n transform: translate3d(0, 0, 0);\n }\n\n 10%,\n 30%,\n 50%,\n 70%,\n 90% {\n transform: translate3d(-10px, 0, 0);\n }\n\n 20%,\n 40%,\n 60%,\n 80% {\n transform: translate3d(10px, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/shakeY.css}\n */\nexport const shakeY = keyframes`\n from,\n to {\n transform: translate3d(0, 0, 0);\n }\n\n 10%,\n 30%,\n 50%,\n 70%,\n 90% {\n transform: translate3d(0, -10px, 0);\n }\n\n 20%,\n 40%,\n 60%,\n 80% {\n transform: translate3d(0, 10px, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/swing.css}\n */\nexport const swing = keyframes`\n 20% {\n transform: rotate3d(0, 0, 1, 15deg);\n }\n\n 40% {\n transform: rotate3d(0, 0, 1, -10deg);\n }\n\n 60% {\n transform: rotate3d(0, 0, 1, 5deg);\n }\n\n 80% {\n transform: rotate3d(0, 0, 1, -5deg);\n }\n\n to {\n transform: rotate3d(0, 0, 1, 0deg);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/tada.css}\n */\nexport const tada = keyframes`\n from {\n transform: scale3d(1, 1, 1);\n }\n\n 10%,\n 20% {\n transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);\n }\n\n 30%,\n 50%,\n 70%,\n 90% {\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n }\n\n 40%,\n 60%,\n 80% {\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n }\n\n to {\n transform: scale3d(1, 1, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/attention_seekers/wobble.css}\n */\nexport const wobble = keyframes`\n from {\n transform: translate3d(0, 0, 0);\n }\n\n 15% {\n transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n }\n\n 30% {\n transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n }\n\n 45% {\n transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n }\n\n 60% {\n transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n }\n\n 75% {\n transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeIn.css}\n */\nexport const fadeIn = keyframes`\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInBottomLeft.css}\n */\nexport const fadeInBottomLeft = keyframes`\n from {\n opacity: 0;\n transform: translate3d(-100%, 100%, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInBottomRight.css}\n */\nexport const fadeInBottomRight = keyframes`\n from {\n opacity: 0;\n transform: translate3d(100%, 100%, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInDown.css}\n */\nexport const fadeInDown = keyframes`\n from {\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInDownBig.css}\n */\nexport const fadeInDownBig = keyframes`\n from {\n opacity: 0;\n transform: translate3d(0, -2000px, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInLeft.css}\n */\nexport const fadeInLeft = keyframes`\n from {\n opacity: 0;\n transform: translate3d(-100%, 0, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInLeftBig.css}\n */\nexport const fadeInLeftBig = keyframes`\n from {\n opacity: 0;\n transform: translate3d(-2000px, 0, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInRight.css}\n */\nexport const fadeInRight = keyframes`\n from {\n opacity: 0;\n transform: translate3d(100%, 0, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInRightBig.css}\n */\nexport const fadeInRightBig = keyframes`\n from {\n opacity: 0;\n transform: translate3d(2000px, 0, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInTopLeft.css}\n */\nexport const fadeInTopLeft = keyframes`\n from {\n opacity: 0;\n transform: translate3d(-100%, -100%, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInTopRight.css}\n */\nexport const fadeInTopRight = keyframes`\n from {\n opacity: 0;\n transform: translate3d(100%, -100%, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInUp.css}\n */\nexport const fadeInUp = keyframes`\n from {\n opacity: 0;\n transform: translate3d(0, 100%, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_entrances/fadeInUpBig.css}\n */\nexport const fadeInUpBig = keyframes`\n from {\n opacity: 0;\n transform: translate3d(0, 2000px, 0);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { css } from \"@emotion/react\";\n\nimport { fadeInLeft } from \"../animations/fading_entrances\";\n\nexport function getAnimationCss({\n duration = 1000,\n delay = 0,\n timingFunction = \"ease\",\n keyframes = fadeInLeft,\n iterationCount = 1,\n}) {\n return css`\n animation-duration: ${duration}ms;\n animation-timing-function: ${timingFunction};\n animation-delay: ${delay}ms;\n animation-name: ${keyframes};\n animation-direction: normal;\n animation-fill-mode: both;\n animation-iteration-count: ${iterationCount};\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n `;\n}\n","export function isNullable(a: unknown): a is null | undefined {\n return a == undefined;\n}\n\nexport function isStringLike(\n value: unknown\n): value is string | number | boolean {\n return (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n );\n}\n","export function matchIf<T, F>(onTrue: () => T, onFalse: () => F) {\n return (condition: boolean) => (condition ? onTrue() : onFalse());\n}\n\nexport function matchIfOrNull<T>(onTrue: () => T) {\n return matchIf(onTrue, () => null);\n}\n","import { ClassNames } from \"@emotion/react\";\nimport type { Keyframes, SerializedStyles } from \"@emotion/serialize\";\nimport { Children, type CSSProperties, isValidElement, useMemo } from \"react\";\nimport { InView, useInView } from \"react-intersection-observer\";\nimport { isFragment } from \"react-is\";\n\nimport { fadeInLeft } from \"./animations/fading_entrances\";\nimport { getAnimationCss } from \"./utils/animations\";\nimport { isNullable, isStringLike } from \"./utils/guards\";\nimport { matchIf, matchIfOrNull } from \"./utils/patterns\";\n\nfunction hideWhen(condition: boolean) {\n return matchIfOrNull<CSSProperties>(() => ({ opacity: 0 }))(condition);\n}\n\nexport interface RevealProps {\n /**\n * Stagger its children animations.\n * @default false\n */\n cascade?: boolean;\n /**\n * Factor that affects the delay that each animated element in a cascade animation will be assigned.\n * @default 0.5\n */\n damping?: number;\n /**\n * Initial delay, in milliseconds.\n * @default 0\n */\n delay?: number;\n /**\n * Animation duration, in milliseconds.\n * @default 1000\n */\n duration?: number;\n /**\n * Float number between 0 and 1 indicating how much the element should be in viewport before the animation is triggered.\n * @default 0\n */\n fraction?: number;\n /**\n * Custom Emotion animation keyframes.\n */\n keyframes?: Keyframes;\n /**\n * Specifies if the animation should run only once or everytime the element enters/exits/re-enters the viewport.\n * @default false\n */\n triggerOnce?: boolean;\n /**\n * Class names to add to the container element.\n */\n className?: string;\n /**\n * Inline styles to add to the container element.\n */\n style?: React.CSSProperties;\n /**\n * Class names to add to the child element.\n */\n childClassName?: string;\n /**\n * Inline styles to add to the child element.\n */\n childStyle?: React.CSSProperties;\n /**\n * From React 18, children must be explicitly typed.\n * @see https://reactjs.org/blog/2022/03/08/react-18-upgrade-guide.html#updates-to-typescript-definitions\n */\n children?: React.ReactNode;\n /**\n * Callback executed when the element enters or leaves the viewport.\n * If more than one element is being animated, this function is called\n * on each element.\n *\n * @param inView The current visibility flag.\n * @param entry The current IntersectionObserverEntry.\n */\n onVisibilityChange?(inView: boolean, entry: IntersectionObserverEntry): void;\n}\n\nexport const Reveal: React.FC<RevealProps> = (props) => {\n const {\n cascade = false,\n damping = 0.5,\n delay = 0,\n duration = 1000,\n fraction = 0,\n keyframes = fadeInLeft,\n triggerOnce = false,\n className,\n style,\n childClassName,\n childStyle,\n children,\n onVisibilityChange,\n } = props;\n\n const animationStyles = useMemo(\n () =>\n getAnimationCss({\n keyframes,\n duration,\n }),\n [duration, keyframes]\n );\n\n if (isNullable(children)) return null;\n\n if (isStringLike(children))\n return (\n <TextReveal {...props} animationStyles={animationStyles}>\n {String(children)}\n </TextReveal>\n );\n\n if (isFragment(children))\n return <FragmentReveal {...props} animationStyles={animationStyles} />;\n\n return (\n <>\n {Children.map(children, (node, index) => {\n if (!isValidElement(node)) return null;\n\n const nodeDelay = delay + (cascade ? index * duration * damping : 0);\n\n switch (node.type) {\n case \"ol\":\n case \"ul\":\n return (\n <ClassNames>\n {({ cx }) => (\n <node.type\n {...node.props}\n className={cx(className, node.props.className)}\n style={Object.assign({}, style, node.props.style)}\n >\n <Reveal {...props}>{node.props.children}</Reveal>\n </node.type>\n )}\n </ClassNames>\n );\n case \"li\":\n return (\n <InView\n threshold={fraction}\n triggerOnce={triggerOnce}\n onChange={onVisibilityChange}\n >\n {({ inView, ref }) => (\n <ClassNames>\n {({ cx }) => (\n <node.type\n {...node.props}\n ref={ref}\n className={cx(childClassName, node.props.className)}\n css={matchIfOrNull(() => animationStyles)(inView)}\n style={Object.assign(\n {},\n childStyle,\n node.props.style,\n hideWhen(!inView),\n {\n animationDelay: nodeDelay + \"ms\",\n }\n )}\n />\n )}\n </ClassNames>\n )}\n </InView>\n );\n default:\n return (\n <InView\n threshold={fraction}\n triggerOnce={triggerOnce}\n onChange={onVisibilityChange}\n >\n {({ inView, ref }) => (\n <div\n ref={ref}\n className={className}\n css={matchIfOrNull(() => animationStyles)(inView)}\n style={Object.assign({}, style, hideWhen(!inView), {\n animationDelay: nodeDelay + \"ms\",\n })}\n >\n <ClassNames>\n {({ cx }) => (\n <node.type\n {...node.props}\n className={cx(childClassName, node.props.className)}\n style={Object.assign(\n {},\n childStyle,\n node.props.style\n )}\n />\n )}\n </ClassNames>\n </div>\n )}\n </InView>\n );\n }\n })}\n </>\n );\n};\n\nconst textBaseStyles: CSSProperties = {\n display: \"inline-block\",\n whiteSpace: \"pre\",\n};\n\nconst TextReveal: React.FC<\n RevealProps & { animationStyles: SerializedStyles; children: string }\n> = (props) => {\n const {\n animationStyles,\n cascade = false,\n damping = 0.5,\n delay = 0,\n duration = 1000,\n fraction = 0,\n triggerOnce = false,\n className,\n style,\n children,\n onVisibilityChange,\n } = props;\n\n const { ref, inView } = useInView({\n triggerOnce,\n threshold: fraction,\n onChange: onVisibilityChange,\n });\n\n return matchIf(\n () => (\n <div\n ref={ref}\n className={className}\n style={Object.assign({}, style, textBaseStyles)}\n >\n {children.split(\"\").map((char, index) => (\n <span\n key={index}\n css={matchIfOrNull(() => animationStyles)(inView)}\n style={{\n animationDelay: delay + index * duration * damping + \"ms\",\n }}\n >\n {char}\n </span>\n ))}\n </div>\n ),\n () => <FragmentReveal {...props}>{children}</FragmentReveal>\n )(cascade);\n};\n\nconst FragmentReveal: React.FC<\n RevealProps & { animationStyles: SerializedStyles }\n> = (props) => {\n const {\n animationStyles,\n fraction = 0,\n triggerOnce = false,\n className,\n style,\n children,\n onVisibilityChange,\n } = props;\n\n const { ref, inView } = useInView({\n triggerOnce,\n threshold: fraction,\n onChange: onVisibilityChange,\n });\n\n return (\n <div\n ref={ref}\n className={className}\n css={matchIfOrNull(() => animationStyles)(inView)}\n style={Object.assign({}, style, hideWhen(!inView))}\n >\n {children}\n </div>\n );\n};\n","import type { Keyframes } from \"@emotion/serialize\";\nimport { type CSSProperties, useMemo } from \"react\";\n\nimport {\n bounce,\n flash,\n headShake,\n heartBeat,\n jello,\n pulse,\n rubberBand,\n shake,\n shakeX,\n shakeY,\n swing,\n tada,\n wobble,\n} from \"../animations/attention_seekers\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype AttentionSeekerEffect =\n | \"bounce\"\n | \"flash\"\n | \"headShake\"\n | \"heartBeat\"\n | \"jello\"\n | \"pulse\"\n | \"rubberBand\"\n | \"shake\"\n | \"shakeX\"\n | \"shakeY\"\n | \"swing\"\n | \"tada\"\n | \"wobble\";\n\nexport interface AttentionSeekerProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * The animation effect to use for this attention seeker.\n * @default \"bounce\"\n */\n effect?: AttentionSeekerEffect;\n}\n\nfunction getStyles(effect: AttentionSeekerEffect): [Keyframes, CSSProperties?] {\n switch (effect) {\n case \"bounce\":\n return [bounce, { transformOrigin: \"center bottom\" }];\n case \"flash\":\n return [flash];\n case \"headShake\":\n return [headShake, { animationTimingFunction: \"ease-in-out\" }];\n case \"heartBeat\":\n return [heartBeat, { animationTimingFunction: \"ease-in-out\" }];\n case \"jello\":\n return [jello, { transformOrigin: \"center\" }];\n case \"pulse\":\n return [pulse, { animationTimingFunction: \"ease-in-out\" }];\n case \"rubberBand\":\n return [rubberBand];\n case \"shake\":\n return [shake];\n case \"shakeX\":\n return [shakeX];\n case \"shakeY\":\n return [shakeY];\n case \"swing\":\n return [swing, { transformOrigin: \"top center\" }];\n case \"tada\":\n return [tada];\n case \"wobble\":\n return [wobble];\n }\n}\n\nexport const AttentionSeeker: React.FC<AttentionSeekerProps> = (props) => {\n const { effect = \"bounce\", style, ...rest } = props;\n\n const [keyframes, animationCss] = useMemo(() => getStyles(effect), [effect]);\n\n return (\n <Reveal\n keyframes={keyframes}\n style={Object.assign({}, style, animationCss)}\n {...rest}\n />\n );\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_entrances/bounceIn.css}\n */\nexport const bounceIn = keyframes`\n from,\n 20%,\n 40%,\n 60%,\n 80%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n\n 0% {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n\n 20% {\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 40% {\n transform: scale3d(0.9, 0.9, 0.9);\n }\n\n 60% {\n opacity: 1;\n transform: scale3d(1.03, 1.03, 1.03);\n }\n\n 80% {\n transform: scale3d(0.97, 0.97, 0.97);\n }\n\n to {\n opacity: 1;\n transform: scale3d(1, 1, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_entrances/bounceInDown.css}\n */\nexport const bounceInDown = keyframes`\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n\n 0% {\n opacity: 0;\n transform: translate3d(0, -3000px, 0) scaleY(3);\n }\n\n 60% {\n opacity: 1;\n transform: translate3d(0, 25px, 0) scaleY(0.9);\n }\n\n 75% {\n transform: translate3d(0, -10px, 0) scaleY(0.95);\n }\n\n 90% {\n transform: translate3d(0, 5px, 0) scaleY(0.985);\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_entrances/bounceInLeft.css}\n */\nexport const bounceInLeft = keyframes`\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n\n 0% {\n opacity: 0;\n transform: translate3d(-3000px, 0, 0) scaleX(3);\n }\n\n 60% {\n opacity: 1;\n transform: translate3d(25px, 0, 0) scaleX(1);\n }\n\n 75% {\n transform: translate3d(-10px, 0, 0) scaleX(0.98);\n }\n\n 90% {\n transform: translate3d(5px, 0, 0) scaleX(0.995);\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_entrances/bounceInRight.css}\n */\nexport const bounceInRight = keyframes`\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n\n from {\n opacity: 0;\n transform: translate3d(3000px, 0, 0) scaleX(3);\n }\n\n 60% {\n opacity: 1;\n transform: translate3d(-25px, 0, 0) scaleX(1);\n }\n\n 75% {\n transform: translate3d(10px, 0, 0) scaleX(0.98);\n }\n\n 90% {\n transform: translate3d(-5px, 0, 0) scaleX(0.995);\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_entrances/bounceInUp.css}\n */\nexport const bounceInUp = keyframes`\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n\n from {\n opacity: 0;\n transform: translate3d(0, 3000px, 0) scaleY(5);\n }\n\n 60% {\n opacity: 1;\n transform: translate3d(0, -20px, 0) scaleY(0.9);\n }\n\n 75% {\n transform: translate3d(0, 10px, 0) scaleY(0.95);\n }\n\n 90% {\n transform: translate3d(0, -5px, 0) scaleY(0.985);\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_exits/bounceOut.css}\n */\nexport const bounceOut = keyframes`\n 20% {\n transform: scale3d(0.9, 0.9, 0.9);\n }\n\n 50%,\n 55% {\n opacity: 1;\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n to {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_exits/bounceOutDown.css}\n */\nexport const bounceOutDown = keyframes`\n 20% {\n transform: translate3d(0, 10px, 0) scaleY(0.985);\n }\n\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, -20px, 0) scaleY(0.9);\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, 2000px, 0) scaleY(3);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_exits/bounceOutLeft.css}\n */\nexport const bounceOutLeft = keyframes`\n 20% {\n opacity: 1;\n transform: translate3d(20px, 0, 0) scaleX(0.9);\n }\n\n to {\n opacity: 0;\n transform: translate3d(-2000px, 0, 0) scaleX(2);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_exits/bounceOutRight.css}\n */\nexport const bounceOutRight = keyframes`\n 20% {\n opacity: 1;\n transform: translate3d(-20px, 0, 0) scaleX(0.9);\n }\n\n to {\n opacity: 0;\n transform: translate3d(2000px, 0, 0) scaleX(2);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/bouncing_exits/bounceOutUp.css}\n */\nexport const bounceOutUp = keyframes`\n 20% {\n transform: translate3d(0, -10px, 0) scaleY(0.985);\n }\n\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, 20px, 0) scaleY(0.9);\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, -2000px, 0) scaleY(3);\n }\n`;\n","import { useMemo } from \"react\";\n\nimport {\n bounceIn,\n bounceInDown,\n bounceInLeft,\n bounceInRight,\n bounceInUp,\n} from \"../animations/bouncing_entrances\";\nimport {\n bounceOut,\n bounceOutDown,\n bounceOutLeft,\n bounceOutRight,\n bounceOutUp,\n} from \"../animations/bouncing_exits\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype BounceDirection = \"down\" | \"left\" | \"right\" | \"up\";\n\nexport interface BounceProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Origin of the animation.\n * @default undefined\n */\n direction?: BounceDirection;\n /**\n * Specifies if the animation should make element(s) disappear.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(reverse: boolean, direction?: BounceDirection) {\n switch (direction) {\n case \"down\":\n return reverse ? bounceOutDown : bounceInDown;\n case \"left\":\n return reverse ? bounceOutLeft : bounceInLeft;\n case \"right\":\n return reverse ? bounceOutRight : bounceInRight;\n case \"up\":\n return reverse ? bounceOutUp : bounceInUp;\n default:\n return reverse ? bounceOut : bounceIn;\n }\n}\n\nexport const Bounce: React.FC<BounceProps> = (props) => {\n const { direction, reverse = false, ...rest } = props;\n\n const keyframes = useMemo(\n () => getStyles(reverse, direction),\n [direction, reverse]\n );\n\n return <Reveal keyframes={keyframes} {...rest} />;\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOut.css}\n */\nexport const fadeOut = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutBottomLeft.css}\n */\nexport const fadeOutBottomLeft = keyframes`\n from {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n\n to {\n opacity: 0;\n transform: translate3d(-100%, 100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutBottomRight.css}\n */\nexport const fadeOutBottomRight = keyframes`\n from {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n\n to {\n opacity: 0;\n transform: translate3d(100%, 100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutDown.css}\n */\nexport const fadeOutDown = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, 100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutDownBig.css}\n */\nexport const fadeOutDownBig = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, 2000px, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutLeft.css}\n */\nexport const fadeOutLeft = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(-100%, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutLeftBig.css}\n */\nexport const fadeOutLeftBig = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(-2000px, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutRight.css}\n */\nexport const fadeOutRight = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(100%, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutRightBig.css}\n */\nexport const fadeOutRightBig = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(2000px, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutTopLeft.css}\n */\nexport const fadeOutTopLeft = keyframes`\n from {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n\n to {\n opacity: 0;\n transform: translate3d(-100%, -100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutTopRight.css}\n */\nexport const fadeOutTopRight = keyframes`\n from {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n\n to {\n opacity: 0;\n transform: translate3d(100%, -100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutUp.css}\n */\nexport const fadeOutUp = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/fading_exits/fadeOutUpBig.css}\n */\nexport const fadeOutUpBig = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, -2000px, 0);\n }\n`;\n","import { useMemo } from \"react\";\n\nimport {\n fadeIn,\n fadeInBottomLeft,\n fadeInBottomRight,\n fadeInDown,\n fadeInDownBig,\n fadeInLeft,\n fadeInLeftBig,\n fadeInRight,\n fadeInRightBig,\n fadeInTopLeft,\n fadeInTopRight,\n fadeInUp,\n fadeInUpBig,\n} from \"../animations/fading_entrances\";\nimport {\n fadeOut,\n fadeOutBottomLeft,\n fadeOutBottomRight,\n fadeOutDown,\n fadeOutDownBig,\n fadeOutLeft,\n fadeOutLeftBig,\n fadeOutRight,\n fadeOutRightBig,\n fadeOutTopLeft,\n fadeOutTopRight,\n fadeOutUp,\n fadeOutUpBig,\n} from \"../animations/fading_exits\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype FadeDirection =\n | \"bottom-left\"\n | \"bottom-right\"\n | \"down\"\n | \"left\"\n | \"right\"\n | \"top-left\"\n | \"top-right\"\n | \"up\";\n\nexport interface FadeProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Causes the animation to start farther. Only works with \"down\", \"left\", \"right\" and \"up\" directions.\n * @default false\n */\n big?: boolean;\n /**\n * Origin of the animation.\n * @default undefined\n */\n direction?: FadeDirection;\n /**\n * Specifies if the animation should make element(s) disappear.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(big: boolean, reverse: boolean, direction?: FadeDirection) {\n switch (direction) {\n case \"bottom-left\":\n return reverse ? fadeOutBottomLeft : fadeInBottomLeft;\n case \"bottom-right\":\n return reverse ? fadeOutBottomRight : fadeInBottomRight;\n case \"down\":\n return big\n ? reverse\n ? fadeOutDownBig\n : fadeInDownBig\n : reverse\n ? fadeOutDown\n : fadeInDown;\n case \"left\":\n return big\n ? reverse\n ? fadeOutLeftBig\n : fadeInLeftBig\n : reverse\n ? fadeOutLeft\n : fadeInLeft;\n case \"right\":\n return big\n ? reverse\n ? fadeOutRightBig\n : fadeInRightBig\n : reverse\n ? fadeOutRight\n : fadeInRight;\n case \"top-left\":\n return reverse ? fadeOutTopLeft : fadeInTopLeft;\n case \"top-right\":\n return reverse ? fadeOutTopRight : fadeInTopRight;\n case \"up\":\n return big\n ? reverse\n ? fadeOutUpBig\n : fadeInUpBig\n : reverse\n ? fadeOutUp\n : fadeInUp;\n default:\n return reverse ? fadeOut : fadeIn;\n }\n}\n\nexport const Fade: React.FC<FadeProps> = (props) => {\n const { big = false, direction, reverse = false, ...rest } = props;\n\n const keyframes = useMemo(\n () => getStyles(big, reverse, direction),\n [big, direction, reverse]\n );\n\n return <Reveal keyframes={keyframes} {...rest} />;\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/flippers/flip.css}\n */\nexport const flip = keyframes`\n from {\n transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);\n animation-timing-function: ease-out;\n }\n\n 40% {\n transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)\n rotate3d(0, 1, 0, -190deg);\n animation-timing-function: ease-out;\n }\n\n 50% {\n transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)\n rotate3d(0, 1, 0, -170deg);\n animation-timing-function: ease-in;\n }\n\n 80% {\n transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)\n rotate3d(0, 1, 0, 0deg);\n animation-timing-function: ease-in;\n }\n\n to {\n transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);\n animation-timing-function: ease-in;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/flippers/flipInX.css}\n */\nexport const flipInX = keyframes`\n from {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n animation-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n animation-timing-function: ease-in;\n }\n\n 60% {\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n\n to {\n transform: perspective(400px);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/flippers/flipInY.css}\n */\nexport const flipInY = keyframes`\n from {\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n animation-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n animation-timing-function: ease-in;\n }\n\n 60% {\n transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n }\n\n to {\n transform: perspective(400px);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/flippers/flipOutX.css}\n */\nexport const flipOutX = keyframes`\n from {\n transform: perspective(400px);\n }\n\n 30% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n\n to {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/flippers/flipOutY.css}\n */\nexport const flipOutY = keyframes`\n from {\n transform: perspective(400px);\n }\n\n 30% {\n transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n opacity: 1;\n }\n\n to {\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n opacity: 0;\n }\n`;\n","import { type CSSProperties, useMemo } from \"react\";\n\nimport {\n flip,\n flipInX,\n flipInY,\n flipOutX,\n flipOutY,\n} from \"../animations/flippers\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype FlipDirection = \"horizontal\" | \"vertical\";\n\nexport interface FlipProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Axis direction of the animation.\n * @default undefined\n */\n direction?: FlipDirection;\n /**\n * Specifies if the animation should make element(s) disappear. It only has effect if a direction is specified.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(reverse: boolean, direction?: FlipDirection) {\n switch (direction) {\n case \"horizontal\":\n return reverse ? flipOutX : flipInX;\n case \"vertical\":\n return reverse ? flipOutY : flipInY;\n default:\n return flip;\n }\n}\n\nconst animationCss: CSSProperties = {\n backfaceVisibility: \"visible\",\n};\n\nexport const Flip: React.FC<FlipProps> = (props) => {\n const { direction, reverse = false, style, ...rest } = props;\n\n const keyframes = useMemo(\n () => getStyles(reverse, direction),\n [direction, reverse]\n );\n\n return (\n <Reveal\n keyframes={keyframes}\n style={Object.assign({}, style, animationCss)}\n {...rest}\n />\n );\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/specials/hinge.css}\n */\nexport const hinge = keyframes`\n 0% {\n animation-timing-function: ease-in-out;\n }\n\n 20%,\n 60% {\n transform: rotate3d(0, 0, 1, 80deg);\n animation-timing-function: ease-in-out;\n }\n\n 40%,\n 80% {\n transform: rotate3d(0, 0, 1, 60deg);\n animation-timing-function: ease-in-out;\n opacity: 1;\n }\n\n to {\n transform: translate3d(0, 700px, 0);\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/specials/jackInTheBox.css}\n */\nexport const jackInTheBox = keyframes`\n from {\n opacity: 0;\n transform: scale(0.1) rotate(30deg);\n transform-origin: center bottom;\n }\n\n 50% {\n transform: rotate(-10deg);\n }\n\n 70% {\n transform: rotate(3deg);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/specials/rollIn.css}\n */\nexport const rollIn = keyframes`\n from {\n opacity: 0;\n transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n }\n\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/specials/rollOut.css}\n */\nexport const rollOut = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n }\n`;\n","import type { CSSProperties } from \"react\";\n\nimport { hinge } from \"../animations/specials\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\nexport type HingeProps = Omit<RevealProps, \"keyframes\">;\n\nconst animationCss: CSSProperties = {\n transformOrigin: \"top left\",\n};\n\nexport const Hinge: React.FC<HingeProps> = (props) => {\n const { style, ...rest } = props;\n\n return (\n <Reveal\n keyframes={hinge}\n style={Object.assign({}, style, animationCss)}\n {...rest}\n />\n );\n};\n","import { jackInTheBox } from \"../animations/specials\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\nexport type JackInTheBoxProps = Omit<RevealProps, \"keyframes\">;\n\nexport const JackInTheBox: React.FC<JackInTheBoxProps> = (props) => {\n return <Reveal keyframes={jackInTheBox} {...props} />;\n};\n","import { useMemo } from \"react\";\n\nimport { rollIn, rollOut } from \"../animations/specials\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\nexport interface RollProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Specifies if the animation should make element(s) disappear.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(reverse: boolean) {\n return reverse ? rollOut : rollIn;\n}\n\nexport const Roll: React.FC<RollProps> = (props) => {\n const { reverse = false, ...rest } = props;\n\n const keyframes = useMemo(() => getStyles(reverse), [reverse]);\n\n return <Reveal keyframes={keyframes} {...rest} />;\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_entrances/rotateIn.css}\n */\nexport const rotateIn = keyframes`\n from {\n transform: rotate3d(0, 0, 1, -200deg);\n opacity: 0;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_entrances/rotateInDownLeft.css}\n */\nexport const rotateInDownLeft = keyframes`\n from {\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_entrances/rotateInDownRight.css}\n */\nexport const rotateInDownRight = keyframes`\n from {\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_entrances/rotateInUpLeft.css}\n */\nexport const rotateInUpLeft = keyframes`\n from {\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_entrances/rotateInUpRight.css}\n */\nexport const rotateInUpRight = keyframes`\n from {\n transform: rotate3d(0, 0, 1, -90deg);\n opacity: 0;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_exits/rotateOut.css}\n */\nexport const rotateOut = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n transform: rotate3d(0, 0, 1, 200deg);\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_exits/rotateOutDownLeft.css}\n */\nexport const rotateOutDownLeft = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_exits/rotateOutDownRight.css}\n */\nexport const rotateOutDownRight = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_exits/rotateOutUpLeft.css}\n */\nexport const rotateOutUpLeft = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/rotating_exits/rotateOutUpRight.css}\n */\nexport const rotateOutUpRight = keyframes`\n from {\n opacity: 1;\n }\n\n to {\n transform: rotate3d(0, 0, 1, 90deg);\n opacity: 0;\n }\n`;\n","import type { Keyframes } from \"@emotion/serialize\";\nimport { type CSSProperties, useMemo } from \"react\";\n\nimport {\n rotateIn,\n rotateInDownLeft,\n rotateInDownRight,\n rotateInUpLeft,\n rotateInUpRight,\n} from \"../animations/rotating_entrances\";\nimport {\n rotateOut,\n rotateOutDownLeft,\n rotateOutDownRight,\n rotateOutUpLeft,\n rotateOutUpRight,\n} from \"../animations/rotating_exits\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype RotateDirection =\n | \"bottom-left\"\n | \"bottom-right\"\n | \"top-left\"\n | \"top-right\";\n\nexport interface RotateProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Origin of the animation.\n * @default undefined\n */\n direction?: RotateDirection;\n /**\n * Specifies if the animation should make element(s) disappear.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(\n reverse: boolean,\n direction?: RotateDirection\n): [Keyframes, CSSProperties?] {\n switch (direction) {\n case \"bottom-left\":\n return reverse\n ? [rotateOutDownLeft, { transformOrigin: \"left bottom\" }]\n : [rotateInDownLeft, { transformOrigin: \"left bottom\" }];\n case \"bottom-right\":\n return reverse\n ? [rotateOutDownRight, { transformOrigin: \"right bottom\" }]\n : [rotateInDownRight, { transformOrigin: \"right bottom\" }];\n case \"top-left\":\n return reverse\n ? [rotateOutUpLeft, { transformOrigin: \"left bottom\" }]\n : [rotateInUpLeft, { transformOrigin: \"left bottom\" }];\n case \"top-right\":\n return reverse\n ? [rotateOutUpRight, { transformOrigin: \"right bottom\" }]\n : [rotateInUpRight, { transformOrigin: \"right bottom\" }];\n default:\n return reverse\n ? [rotateOut, { transformOrigin: \"center\" }]\n : [rotateIn, { transformOrigin: \"center\" }];\n }\n}\n\nexport const Rotate: React.FC<RotateProps> = (props) => {\n const { direction, reverse = false, style, ...rest } = props;\n\n const [keyframes, animationCss] = useMemo(\n () => getStyles(reverse, direction),\n [direction, reverse]\n );\n\n return (\n <Reveal\n keyframes={keyframes}\n style={Object.assign({}, style, animationCss)}\n {...rest}\n />\n );\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_entrances/slideInDown.css}\n */\nexport const slideInDown = keyframes`\n from {\n transform: translate3d(0, -100%, 0);\n visibility: visible;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_entrances/slideInLeft.css}\n */\nexport const slideInLeft = keyframes`\n from {\n transform: translate3d(-100%, 0, 0);\n visibility: visible;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_entrances/slideInRight.css}\n */\nexport const slideInRight = keyframes`\n from {\n transform: translate3d(100%, 0, 0);\n visibility: visible;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_entrances/slideInUp.css}\n */\nexport const slideInUp = keyframes`\n from {\n transform: translate3d(0, 100%, 0);\n visibility: visible;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_exits/slideOutDown.css}\n */\nexport const slideOutDown = keyframes`\n from {\n transform: translate3d(0, 0, 0);\n }\n\n to {\n visibility: hidden;\n transform: translate3d(0, 100%, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_exits/slideOutLeft.css}\n */\nexport const slideOutLeft = keyframes`\n from {\n transform: translate3d(0, 0, 0);\n }\n\n to {\n visibility: hidden;\n transform: translate3d(-100%, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_exits/slideOutRight.css}\n */\nexport const slideOutRight = keyframes`\n from {\n transform: translate3d(0, 0, 0);\n }\n\n to {\n visibility: hidden;\n transform: translate3d(100%, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/sliding_exits/slideOutUp.css}\n */\nexport const slideOutUp = keyframes`\n from {\n transform: translate3d(0, 0, 0);\n }\n\n to {\n visibility: hidden;\n transform: translate3d(0, -100%, 0);\n }\n`;\n","import { useMemo } from \"react\";\n\nimport {\n slideInDown,\n slideInLeft,\n slideInRight,\n slideInUp,\n} from \"../animations/sliding_entrances\";\nimport {\n slideOutDown,\n slideOutLeft,\n slideOutRight,\n slideOutUp,\n} from \"../animations/sliding_exits\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype SlideDirection = \"down\" | \"left\" | \"right\" | \"up\";\n\nexport interface SlideProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Origin of the animation.\n * @default undefined\n */\n direction?: SlideDirection;\n /**\n * Specifies if the animation should make element(s) disappear.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(reverse: boolean, direction?: SlideDirection) {\n switch (direction) {\n case \"down\":\n return reverse ? slideOutDown : slideInDown;\n case \"right\":\n return reverse ? slideOutRight : slideInRight;\n case \"up\":\n return reverse ? slideOutUp : slideInUp;\n case \"left\":\n default:\n return reverse ? slideOutLeft : slideInLeft;\n }\n}\n\nexport const Slide: React.FC<SlideProps> = (props) => {\n const { direction, reverse = false, ...rest } = props;\n\n const keyframes = useMemo(\n () => getStyles(reverse, direction),\n [direction, reverse]\n );\n\n return <Reveal keyframes={keyframes} {...rest} />;\n};\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_entrances/zoomIn.css}\n */\nexport const zoomIn = keyframes`\n from {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n\n 50% {\n opacity: 1;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_entrances/zoomInDown.css}\n */\nexport const zoomInDown = keyframes`\n from {\n opacity: 0;\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n\n 60% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_entrances/zoomInLeft.css}\n */\nexport const zoomInLeft = keyframes`\n from {\n opacity: 0;\n transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n\n 60% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_entrances/zoomInRight.css}\n */\nexport const zoomInRight = keyframes`\n from {\n opacity: 0;\n transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n\n 60% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_entrances/zoomInUp.css}\n */\nexport const zoomInUp = keyframes`\n from {\n opacity: 0;\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n\n 60% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_exits/zoomOut.css}\n */\nexport const zoomOut = keyframes`\n from {\n opacity: 1;\n }\n\n 50% {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n\n to {\n opacity: 0;\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_exits/zoomOutDown.css}\n */\nexport const zoomOutDown = keyframes`\n 40% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n\n to {\n opacity: 0;\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_exits/zoomOutLeft.css}\n */\nexport const zoomOutLeft = keyframes`\n 40% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);\n }\n\n to {\n opacity: 0;\n transform: scale(0.1) translate3d(-2000px, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_exits/zoomOutRight.css}\n */\nexport const zoomOutRight = keyframes`\n 40% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);\n }\n\n to {\n opacity: 0;\n transform: scale(0.1) translate3d(2000px, 0, 0);\n }\n`;\n","import { keyframes } from \"@emotion/react\";\n\n/**\n * @see {@link https://github.com/animate-css/animate.css/blob/master/source/zooming_exits/zoomOutUp.css}\n */\nexport const zoomOutUp = keyframes`\n 40% {\n opacity: 1;\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n\n to {\n opacity: 0;\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\n }\n`;\n","import { useMemo } from \"react\";\n\nimport {\n zoomIn,\n zoomInDown,\n zoomInLeft,\n zoomInRight,\n zoomInUp,\n} from \"../animations/zooming_entrances\";\nimport {\n zoomOut,\n zoomOutDown,\n zoomOutLeft,\n zoomOutRight,\n zoomOutUp,\n} from \"../animations/zooming_exits\";\nimport { Reveal, type RevealProps } from \"../Reveal\";\n\ntype ZoomDirection = \"down\" | \"left\" | \"right\" | \"up\";\n\nexport interface ZoomProps extends Omit<RevealProps, \"keyframes\"> {\n /**\n * Origin of the animation.\n * @default undefined\n */\n direction?: ZoomDirection;\n /**\n * Specifies if the animation should make element(s) disappear.\n * @default false\n */\n reverse?: boolean;\n}\n\nfunction getStyles(reverse: boolean, direction?: ZoomDirection) {\n switch (direction) {\n case \"down\":\n return reverse ? zoomOutDown : zoomInDown;\n case \"left\":\n return reverse ? zoomOutLeft : zoomInLeft;\n case \"right\":\n return reverse ? zoomOutRight : zoomInRight;\n case \"up\":\n return reverse ? zoomOutUp : zoomInUp;\n default:\n return reverse ? zoomOut : zoomIn;\n }\n}\n\nexport const Zoom: React.FC<ZoomProps> = (props) => {\n const { direction, reverse = false, ...rest } = props;\n\n const keyframes = useMemo(\n () => getStyles(reverse, direction),\n [direction, reverse]\n );\n\n return <Reveal keyframes={keyframes} {...rest} />;\n};\n"],"names":["getStyles","animationCss"],"mappings":"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"}
|