react-awesome-reveal 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -18
- package/dist/{types.d.ts → index.d.ts} +43 -32
- package/dist/index.js +2089 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2055 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +13 -15
- package/dist/main.js +0 -2125
- package/dist/main.js.map +0 -1
- package/dist/module.js +0 -2117
- package/dist/module.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/components/AttentionSeeker.tsx","../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/Reveal.tsx","../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/react.ts","../src/components/Bounce.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/Fade.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/Flip.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/Hinge.tsx","../src/animations/specials/hinge.ts","../src/animations/specials/jackInTheBox.ts","../src/animations/specials/rollIn.ts","../src/animations/specials/rollOut.ts","../src/components/JackInTheBox.tsx","../src/components/Roll.tsx","../src/components/Rotate.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/Slide.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/Zoom.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"],"sourcesContent":["export * from \"./components\";\nexport * from \"./Reveal\";\nexport { Reveal as default } from \"./Reveal\";\n","import type { Interpolation, Theme } from \"@emotion/react\";\nimport type { Keyframes } from \"@emotion/serialize\";\nimport { 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 { type RevealProps, Reveal } 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\n extends Omit<RevealProps, \"keyframes\" | \"css\"> {\n /**\n * The animation effect to use for this attention seeker.\n * @default \"bounce\"\n */\n effect?: AttentionSeekerEffect;\n}\n\nfunction getStyles(\n effect: AttentionSeekerEffect\n): [Keyframes, Interpolation<Theme>?] {\n switch (effect) {\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 case \"bounce\":\n default:\n return [bounce, { transformOrigin: \"center bottom\" }];\n }\n}\n\nexport const AttentionSeeker: React.FC<AttentionSeekerProps> = (props) => {\n const { effect = \"bounce\", ...rest } = props;\n\n const [keyframes, animationCss] = useMemo(() => getStyles(effect), [effect]);\n\n return <Reveal keyframes={keyframes} css={animationCss} {...rest} />;\n};\n","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 {\n type Interpolation,\n type Theme,\n ClassNames,\n css,\n} from \"@emotion/react\";\nimport type { Keyframes, SerializedStyles } from \"@emotion/serialize\";\nimport { Children, 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/react\";\n\nconst hiddenStyles = css`\n opacity: 0;\n`;\n\nconst textBaseStyles = css`\n display: inline-block;\n white-space: pre;\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 * Custom Emotion styles.\n */\n css?: Interpolation<Theme>;\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 css: revealCss,\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)) {\n return null;\n }\n\n if (isStringLike(children)) {\n return (\n <TextReveal {...props} animationStyles={animationStyles}>\n {String(children)}\n </TextReveal>\n );\n }\n\n if (isFragment(children)) {\n return <FragmentReveal {...props} animationStyles={animationStyles} />;\n }\n\n return (\n <>\n {Children.map(children, (node, index) => {\n if (!isValidElement(node)) return null;\n\n const inViewStyles = [revealCss, animationStyles];\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={{ ...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={inView ? inViewStyles : hiddenStyles}\n style={{\n ...childStyle,\n ...node.props.style,\n animationDelay: nodeDelay + \"ms\",\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={inView ? inViewStyles : hiddenStyles}\n style={{ ...style, animationDelay: nodeDelay + \"ms\" }}\n >\n <ClassNames>\n {({ cx }) => (\n <node.type\n {...node.props}\n className={cx(childClassName, node.props.className)}\n style={{ ...childStyle, ...node.props.style }}\n />\n )}\n </ClassNames>\n </div>\n )}\n </InView>\n );\n }\n })}\n </>\n );\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 css: revealCss,\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 cascade ? (\n <div\n ref={ref}\n className={className}\n css={[revealCss, textBaseStyles]}\n style={style}\n >\n {children.split(\"\").map((char, index) => (\n <span\n key={index}\n css={inView ? animationStyles : hiddenStyles}\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 );\n};\n\nconst FragmentReveal: React.FC<\n RevealProps & { animationStyles: SerializedStyles }\n> = (props) => {\n const {\n animationStyles,\n fraction = 0,\n triggerOnce = false,\n css: revealCss,\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 const inViewStyles = [revealCss, animationStyles];\n\n return (\n <div\n ref={ref}\n className={className}\n css={inView ? inViewStyles : hiddenStyles}\n style={style}\n >\n {children}\n </div>\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}\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","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 { type RevealProps, Reveal } from \"../Reveal\";\n\ntype BounceDirection = \"down\" | \"left\" | \"right\" | \"up\";\n\nexport interface BounceProps extends Omit<RevealProps, \"keyframes\" | \"css\"> {\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/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 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 { type RevealProps, Reveal } 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\" | \"css\"> {\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/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 { css } from \"@emotion/react\";\nimport { useMemo } from \"react\";\n\nimport {\n flip,\n flipInX,\n flipInY,\n flipOutX,\n flipOutY,\n} from \"../animations/flippers\";\nimport { type RevealProps, Reveal } from \"../Reveal\";\n\ntype FlipDirection = \"horizontal\" | \"vertical\";\n\nexport interface FlipProps extends Omit<RevealProps, \"keyframes\" | \"css\"> {\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 = css`\n backface-visibility: visible;\n`;\n\nexport const Flip: React.FC<FlipProps> = (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 css={animationCss} 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 { css } from \"@emotion/react\";\n\nimport { hinge } from \"../animations/specials\";\nimport { type RevealProps, Reveal } from \"../Reveal\";\n\nexport type HingeProps = Omit<RevealProps, \"keyframes\" | \"css\">;\n\nconst animationCss = css`\n transform-origin: top left;\n`;\n\nexport const Hinge: React.FC<HingeProps> = (props) => {\n return <Reveal css={animationCss} keyframes={hinge} {...props} />;\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 { jackInTheBox } from \"../animations/specials\";\nimport { type RevealProps, Reveal } from \"../Reveal\";\n\nexport type JackInTheBoxProps = Omit<RevealProps, \"keyframes\" | \"css\">;\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 { type RevealProps, Reveal } from \"../Reveal\";\n\nexport interface RollProps extends Omit<RevealProps, \"keyframes\" | \"css\"> {\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 type { Interpolation, Theme } from \"@emotion/react\";\nimport type { Keyframes } from \"@emotion/serialize\";\nimport { 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 { type RevealProps, Reveal } 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\" | \"css\"> {\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, Interpolation<Theme>?] {\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, ...rest } = props;\n\n const [keyframes, animationCss] = useMemo(\n () => getStyles(reverse, direction),\n [direction, reverse]\n );\n\n return <Reveal css={animationCss} 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 { 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 { type RevealProps, Reveal } from \"../Reveal\";\n\ntype SlideDirection = \"down\" | \"left\" | \"right\" | \"up\";\n\nexport interface SlideProps extends Omit<RevealProps, \"keyframes\" | \"css\"> {\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/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 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 { type RevealProps, Reveal } from \"../Reveal\";\n\ntype ZoomDirection = \"down\" | \"left\" | \"right\" | \"up\";\n\nexport interface ZoomProps extends Omit<RevealProps, \"keyframes\" | \"css\"> {\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","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"],"mappings":"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","names":["import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","keyframes","keyframes","import_jsx_runtime","keyframes","animationCss","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_jsx_runtime","getStyles","keyframes","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_jsx_runtime","getStyles","keyframes","import_react","import_react","import_react","import_react","import_react","import_react","import_jsx_runtime","getStyles","keyframes","import_react","import_react","import_react","import_react","import_react","import_jsx_runtime","animationCss","import_jsx_runtime","import_react","import_jsx_runtime","getStyles","keyframes","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_jsx_runtime","getStyles","keyframes","animationCss","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_jsx_runtime","getStyles","keyframes","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_react","import_jsx_runtime","getStyles","keyframes"]}
|