react-awesome-reveal 4.2.4 → 4.2.6
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 +69 -0
- package/dist/animations/attention_seekers/bounce.d.ts +5 -0
- package/dist/animations/attention_seekers/flash.d.ts +5 -0
- package/dist/animations/attention_seekers/headShake.d.ts +5 -0
- package/dist/animations/attention_seekers/heartBeat.d.ts +5 -0
- package/dist/animations/attention_seekers/index.d.ts +13 -0
- package/dist/animations/attention_seekers/jello.d.ts +5 -0
- package/dist/animations/attention_seekers/pulse.d.ts +5 -0
- package/dist/animations/attention_seekers/rubberBand.d.ts +5 -0
- package/dist/animations/attention_seekers/shake.d.ts +5 -0
- package/dist/animations/attention_seekers/shakeX.d.ts +5 -0
- package/dist/animations/attention_seekers/shakeY.d.ts +5 -0
- package/dist/animations/attention_seekers/swing.d.ts +5 -0
- package/dist/animations/attention_seekers/tada.d.ts +5 -0
- package/dist/animations/attention_seekers/wobble.d.ts +5 -0
- package/dist/animations/bouncing_entrances/bounceIn.d.ts +5 -0
- package/dist/animations/bouncing_entrances/bounceInDown.d.ts +5 -0
- package/dist/animations/bouncing_entrances/bounceInLeft.d.ts +5 -0
- package/dist/animations/bouncing_entrances/bounceInRight.d.ts +5 -0
- package/dist/animations/bouncing_entrances/bounceInUp.d.ts +5 -0
- package/dist/animations/bouncing_entrances/index.d.ts +5 -0
- package/dist/animations/bouncing_exits/bounceOut.d.ts +5 -0
- package/dist/animations/bouncing_exits/bounceOutDown.d.ts +5 -0
- package/dist/animations/bouncing_exits/bounceOutLeft.d.ts +5 -0
- package/dist/animations/bouncing_exits/bounceOutRight.d.ts +5 -0
- package/dist/animations/bouncing_exits/bounceOutUp.d.ts +5 -0
- package/dist/animations/bouncing_exits/index.d.ts +5 -0
- package/dist/animations/fading_entrances/fadeIn.d.ts +5 -0
- package/dist/animations/fading_entrances/fadeInBottomLeft.d.ts +5 -0
- package/dist/animations/fading_entrances/fadeInBottomRight.d.ts +5 -0
- package/dist/animations/fading_entrances/fadeInDown.d.ts +5 -0
- package/dist/animations/fading_entrances/fadeInDownBig.d.ts +5 -0
- package/dist/animations/fading_entrances/fadeInLeft.d.ts +5 -0
- package/dist/animations/fading_entrances/fadeInLeftBig.d.ts +5 -0
- package/dist/animations/fading_entrances/fadeInRight.d.ts +5 -0
- package/dist/animations/fading_entrances/fadeInRightBig.d.ts +5 -0
- package/dist/animations/fading_entrances/fadeInTopLeft.d.ts +5 -0
- package/dist/animations/fading_entrances/fadeInTopRight.d.ts +5 -0
- package/dist/animations/fading_entrances/fadeInUp.d.ts +5 -0
- package/dist/animations/fading_entrances/fadeInUpBig.d.ts +5 -0
- package/dist/animations/fading_entrances/index.d.ts +13 -0
- package/dist/animations/fading_exits/fadeOut.d.ts +5 -0
- package/dist/animations/fading_exits/fadeOutBottomLeft.d.ts +5 -0
- package/dist/animations/fading_exits/fadeOutBottomRight.d.ts +5 -0
- package/dist/animations/fading_exits/fadeOutDown.d.ts +5 -0
- package/dist/animations/fading_exits/fadeOutDownBig.d.ts +5 -0
- package/dist/animations/fading_exits/fadeOutLeft.d.ts +5 -0
- package/dist/animations/fading_exits/fadeOutLeftBig.d.ts +5 -0
- package/dist/animations/fading_exits/fadeOutRight.d.ts +5 -0
- package/dist/animations/fading_exits/fadeOutRightBig.d.ts +5 -0
- package/dist/animations/fading_exits/fadeOutTopLeft.d.ts +5 -0
- package/dist/animations/fading_exits/fadeOutTopRight.d.ts +5 -0
- package/dist/animations/fading_exits/fadeOutUp.d.ts +5 -0
- package/dist/animations/fading_exits/fadeOutUpBig.d.ts +5 -0
- package/dist/animations/fading_exits/index.d.ts +13 -0
- package/dist/animations/flippers/flip.d.ts +5 -0
- package/dist/animations/flippers/flipInX.d.ts +5 -0
- package/dist/animations/flippers/flipInY.d.ts +5 -0
- package/dist/animations/flippers/flipOutX.d.ts +5 -0
- package/dist/animations/flippers/flipOutY.d.ts +5 -0
- package/dist/animations/flippers/index.d.ts +5 -0
- package/dist/animations/rotating_entrances/index.d.ts +5 -0
- package/dist/animations/rotating_entrances/rotateIn.d.ts +5 -0
- package/dist/animations/rotating_entrances/rotateInDownLeft.d.ts +5 -0
- package/dist/animations/rotating_entrances/rotateInDownRight.d.ts +5 -0
- package/dist/animations/rotating_entrances/rotateInUpLeft.d.ts +5 -0
- package/dist/animations/rotating_entrances/rotateInUpRight.d.ts +5 -0
- package/dist/animations/rotating_exits/index.d.ts +5 -0
- package/dist/animations/rotating_exits/rotateOut.d.ts +5 -0
- package/dist/animations/rotating_exits/rotateOutDownLeft.d.ts +5 -0
- package/dist/animations/rotating_exits/rotateOutDownRight.d.ts +5 -0
- package/dist/animations/rotating_exits/rotateOutUpLeft.d.ts +5 -0
- package/dist/animations/rotating_exits/rotateOutUpRight.d.ts +5 -0
- package/dist/animations/sliding_entrances/index.d.ts +4 -0
- package/dist/animations/sliding_entrances/slideInDown.d.ts +5 -0
- package/dist/animations/sliding_entrances/slideInLeft.d.ts +5 -0
- package/dist/animations/sliding_entrances/slideInRight.d.ts +5 -0
- package/dist/animations/sliding_entrances/slideInUp.d.ts +5 -0
- package/dist/animations/sliding_exits/index.d.ts +4 -0
- package/dist/animations/sliding_exits/slideOutDown.d.ts +5 -0
- package/dist/animations/sliding_exits/slideOutLeft.d.ts +5 -0
- package/dist/animations/sliding_exits/slideOutRight.d.ts +5 -0
- package/dist/animations/sliding_exits/slideOutUp.d.ts +5 -0
- package/dist/animations/specials/hinge.d.ts +5 -0
- package/dist/animations/specials/index.d.ts +4 -0
- package/dist/animations/specials/jackInTheBox.d.ts +5 -0
- package/dist/animations/specials/rollIn.d.ts +5 -0
- package/dist/animations/specials/rollOut.d.ts +5 -0
- package/dist/animations/zooming_entrances/index.d.ts +5 -0
- package/dist/animations/zooming_entrances/zoomIn.d.ts +5 -0
- package/dist/animations/zooming_entrances/zoomInDown.d.ts +5 -0
- package/dist/animations/zooming_entrances/zoomInLeft.d.ts +5 -0
- package/dist/animations/zooming_entrances/zoomInRight.d.ts +5 -0
- package/dist/animations/zooming_entrances/zoomInUp.d.ts +5 -0
- package/dist/animations/zooming_exits/index.d.ts +5 -0
- package/dist/animations/zooming_exits/zoomOut.d.ts +5 -0
- package/dist/animations/zooming_exits/zoomOutDown.d.ts +5 -0
- package/dist/animations/zooming_exits/zoomOutLeft.d.ts +5 -0
- package/dist/animations/zooming_exits/zoomOutRight.d.ts +5 -0
- package/dist/animations/zooming_exits/zoomOutUp.d.ts +5 -0
- package/dist/components/AttentionSeeker.d.ts +12 -0
- package/dist/components/Bounce.d.ts +17 -0
- package/dist/components/Fade.d.ts +22 -0
- package/dist/components/Flip.d.ts +17 -0
- package/dist/components/Hinge.d.ts +4 -0
- package/dist/components/JackInTheBox.d.ts +4 -0
- package/dist/components/Roll.d.ts +10 -0
- package/dist/components/Rotate.d.ts +17 -0
- package/dist/components/Slide.d.ts +17 -0
- package/dist/components/Zoom.d.ts +17 -0
- package/dist/components/index.d.ts +10 -0
- package/dist/{index.mjs → index.cjs} +191 -408
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +3 -191
- package/dist/index.js +177 -446
- package/dist/index.js.map +1 -1
- package/dist/utils/animations.d.ts +9 -0
- package/dist/utils/guards.d.ts +2 -0
- package/dist/utils/patterns.d.ts +2 -0
- package/package.json +16 -15
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
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.d.ts
CHANGED
|
@@ -1,191 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Stagger its children animations.
|
|
6
|
-
* @default false
|
|
7
|
-
*/
|
|
8
|
-
cascade?: boolean;
|
|
9
|
-
/**
|
|
10
|
-
* Factor that affects the delay that each animated element in a cascade animation will be assigned.
|
|
11
|
-
* @default 0.5
|
|
12
|
-
*/
|
|
13
|
-
damping?: number;
|
|
14
|
-
/**
|
|
15
|
-
* Initial delay, in milliseconds.
|
|
16
|
-
* @default 0
|
|
17
|
-
*/
|
|
18
|
-
delay?: number;
|
|
19
|
-
/**
|
|
20
|
-
* Animation duration, in milliseconds.
|
|
21
|
-
* @default 1000
|
|
22
|
-
*/
|
|
23
|
-
duration?: number;
|
|
24
|
-
/**
|
|
25
|
-
* Float number between 0 and 1 indicating how much the element should be in viewport before the animation is triggered.
|
|
26
|
-
* @default 0
|
|
27
|
-
*/
|
|
28
|
-
fraction?: number;
|
|
29
|
-
/**
|
|
30
|
-
* Custom Emotion animation keyframes.
|
|
31
|
-
*/
|
|
32
|
-
keyframes?: Keyframes;
|
|
33
|
-
/**
|
|
34
|
-
* Specifies if the animation should run only once or everytime the element enters/exits/re-enters the viewport.
|
|
35
|
-
* @default false
|
|
36
|
-
*/
|
|
37
|
-
triggerOnce?: boolean;
|
|
38
|
-
/**
|
|
39
|
-
* Class names to add to the container element.
|
|
40
|
-
*/
|
|
41
|
-
className?: string;
|
|
42
|
-
/**
|
|
43
|
-
* Inline styles to add to the container element.
|
|
44
|
-
*/
|
|
45
|
-
style?: React.CSSProperties;
|
|
46
|
-
/**
|
|
47
|
-
* Class names to add to the child element.
|
|
48
|
-
*/
|
|
49
|
-
childClassName?: string;
|
|
50
|
-
/**
|
|
51
|
-
* Inline styles to add to the child element.
|
|
52
|
-
*/
|
|
53
|
-
childStyle?: React.CSSProperties;
|
|
54
|
-
/**
|
|
55
|
-
* From React 18, children must be explicitly typed.
|
|
56
|
-
* @see https://reactjs.org/blog/2022/03/08/react-18-upgrade-guide.html#updates-to-typescript-definitions
|
|
57
|
-
*/
|
|
58
|
-
children?: React.ReactNode;
|
|
59
|
-
/**
|
|
60
|
-
* Callback executed when the element enters or leaves the viewport.
|
|
61
|
-
* If more than one element is being animated, this function is called
|
|
62
|
-
* on each element.
|
|
63
|
-
*
|
|
64
|
-
* @param inView The current visibility flag.
|
|
65
|
-
* @param entry The current IntersectionObserverEntry.
|
|
66
|
-
*/
|
|
67
|
-
onVisibilityChange?(inView: boolean, entry: IntersectionObserverEntry): void;
|
|
68
|
-
}
|
|
69
|
-
declare const Reveal: React.FC<RevealProps>;
|
|
70
|
-
|
|
71
|
-
type AttentionSeekerEffect = "bounce" | "flash" | "headShake" | "heartBeat" | "jello" | "pulse" | "rubberBand" | "shake" | "shakeX" | "shakeY" | "swing" | "tada" | "wobble";
|
|
72
|
-
interface AttentionSeekerProps extends Omit<RevealProps, "keyframes"> {
|
|
73
|
-
/**
|
|
74
|
-
* The animation effect to use for this attention seeker.
|
|
75
|
-
* @default "bounce"
|
|
76
|
-
*/
|
|
77
|
-
effect?: AttentionSeekerEffect;
|
|
78
|
-
}
|
|
79
|
-
declare const AttentionSeeker: React.FC<AttentionSeekerProps>;
|
|
80
|
-
|
|
81
|
-
type BounceDirection = "down" | "left" | "right" | "up";
|
|
82
|
-
interface BounceProps extends Omit<RevealProps, "keyframes"> {
|
|
83
|
-
/**
|
|
84
|
-
* Origin of the animation.
|
|
85
|
-
* @default undefined
|
|
86
|
-
*/
|
|
87
|
-
direction?: BounceDirection;
|
|
88
|
-
/**
|
|
89
|
-
* Specifies if the animation should make element(s) disappear.
|
|
90
|
-
* @default false
|
|
91
|
-
*/
|
|
92
|
-
reverse?: boolean;
|
|
93
|
-
}
|
|
94
|
-
declare const Bounce: React.FC<BounceProps>;
|
|
95
|
-
|
|
96
|
-
type FadeDirection = "bottom-left" | "bottom-right" | "down" | "left" | "right" | "top-left" | "top-right" | "up";
|
|
97
|
-
interface FadeProps extends Omit<RevealProps, "keyframes"> {
|
|
98
|
-
/**
|
|
99
|
-
* Causes the animation to start farther. Only works with "down", "left", "right" and "up" directions.
|
|
100
|
-
* @default false
|
|
101
|
-
*/
|
|
102
|
-
big?: boolean;
|
|
103
|
-
/**
|
|
104
|
-
* Origin of the animation.
|
|
105
|
-
* @default undefined
|
|
106
|
-
*/
|
|
107
|
-
direction?: FadeDirection;
|
|
108
|
-
/**
|
|
109
|
-
* Specifies if the animation should make element(s) disappear.
|
|
110
|
-
* @default false
|
|
111
|
-
*/
|
|
112
|
-
reverse?: boolean;
|
|
113
|
-
}
|
|
114
|
-
declare const Fade: React.FC<FadeProps>;
|
|
115
|
-
|
|
116
|
-
type FlipDirection = "horizontal" | "vertical";
|
|
117
|
-
interface FlipProps extends Omit<RevealProps, "keyframes"> {
|
|
118
|
-
/**
|
|
119
|
-
* Axis direction of the animation.
|
|
120
|
-
* @default undefined
|
|
121
|
-
*/
|
|
122
|
-
direction?: FlipDirection;
|
|
123
|
-
/**
|
|
124
|
-
* Specifies if the animation should make element(s) disappear. It only has effect if a direction is specified.
|
|
125
|
-
* @default false
|
|
126
|
-
*/
|
|
127
|
-
reverse?: boolean;
|
|
128
|
-
}
|
|
129
|
-
declare const Flip: React.FC<FlipProps>;
|
|
130
|
-
|
|
131
|
-
type HingeProps = Omit<RevealProps, "keyframes">;
|
|
132
|
-
declare const Hinge: React.FC<HingeProps>;
|
|
133
|
-
|
|
134
|
-
type JackInTheBoxProps = Omit<RevealProps, "keyframes">;
|
|
135
|
-
declare const JackInTheBox: React.FC<JackInTheBoxProps>;
|
|
136
|
-
|
|
137
|
-
interface RollProps extends Omit<RevealProps, "keyframes"> {
|
|
138
|
-
/**
|
|
139
|
-
* Specifies if the animation should make element(s) disappear.
|
|
140
|
-
* @default false
|
|
141
|
-
*/
|
|
142
|
-
reverse?: boolean;
|
|
143
|
-
}
|
|
144
|
-
declare const Roll: React.FC<RollProps>;
|
|
145
|
-
|
|
146
|
-
type RotateDirection = "bottom-left" | "bottom-right" | "top-left" | "top-right";
|
|
147
|
-
interface RotateProps extends Omit<RevealProps, "keyframes"> {
|
|
148
|
-
/**
|
|
149
|
-
* Origin of the animation.
|
|
150
|
-
* @default undefined
|
|
151
|
-
*/
|
|
152
|
-
direction?: RotateDirection;
|
|
153
|
-
/**
|
|
154
|
-
* Specifies if the animation should make element(s) disappear.
|
|
155
|
-
* @default false
|
|
156
|
-
*/
|
|
157
|
-
reverse?: boolean;
|
|
158
|
-
}
|
|
159
|
-
declare const Rotate: React.FC<RotateProps>;
|
|
160
|
-
|
|
161
|
-
type SlideDirection = "down" | "left" | "right" | "up";
|
|
162
|
-
interface SlideProps extends Omit<RevealProps, "keyframes"> {
|
|
163
|
-
/**
|
|
164
|
-
* Origin of the animation.
|
|
165
|
-
* @default undefined
|
|
166
|
-
*/
|
|
167
|
-
direction?: SlideDirection;
|
|
168
|
-
/**
|
|
169
|
-
* Specifies if the animation should make element(s) disappear.
|
|
170
|
-
* @default false
|
|
171
|
-
*/
|
|
172
|
-
reverse?: boolean;
|
|
173
|
-
}
|
|
174
|
-
declare const Slide: React.FC<SlideProps>;
|
|
175
|
-
|
|
176
|
-
type ZoomDirection = "down" | "left" | "right" | "up";
|
|
177
|
-
interface ZoomProps extends Omit<RevealProps, "keyframes"> {
|
|
178
|
-
/**
|
|
179
|
-
* Origin of the animation.
|
|
180
|
-
* @default undefined
|
|
181
|
-
*/
|
|
182
|
-
direction?: ZoomDirection;
|
|
183
|
-
/**
|
|
184
|
-
* Specifies if the animation should make element(s) disappear.
|
|
185
|
-
* @default false
|
|
186
|
-
*/
|
|
187
|
-
reverse?: boolean;
|
|
188
|
-
}
|
|
189
|
-
declare const Zoom: React.FC<ZoomProps>;
|
|
190
|
-
|
|
191
|
-
export { AttentionSeeker, AttentionSeekerProps, Bounce, BounceProps, Fade, FadeProps, Flip, FlipProps, Hinge, HingeProps, JackInTheBox, JackInTheBoxProps, Reveal, RevealProps, Roll, RollProps, Rotate, RotateProps, Slide, SlideProps, Zoom, ZoomProps, Reveal as default };
|
|
1
|
+
export * from "./components";
|
|
2
|
+
export * from "./Reveal";
|
|
3
|
+
export { Reveal as default } from "./Reveal";
|