From f99e0aba70efad0deb907d8e27f09fc9f527c8a4 Mon Sep 17 00:00:00 2001
From: Rafi Zadanly <zadanlyr@gmail.com>
Date: Fri, 17 Feb 2023 17:07:50 +0700
Subject: Refactor

---
 src/core/components/layouts/AnimationLayout.jsx | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 src/core/components/layouts/AnimationLayout.jsx

(limited to 'src/core/components/layouts/AnimationLayout.jsx')

diff --git a/src/core/components/layouts/AnimationLayout.jsx b/src/core/components/layouts/AnimationLayout.jsx
new file mode 100644
index 00000000..cdd2d059
--- /dev/null
+++ b/src/core/components/layouts/AnimationLayout.jsx
@@ -0,0 +1,22 @@
+import { motion } from 'framer-motion'
+
+const AnimationLayout = ({ children, ...props }) => {
+  const transition = { 
+    ease: 'easeOut', 
+    duration: 0.3
+  }
+
+  return children && (
+    <motion.main
+      initial={{ opacity: 0, x: 0, y: 0 }}
+      animate={{ opacity: 1, x: 0, y: 0 }}
+      exit={{ opacity: 0, x: 15, y: 0 }}
+      transition={transition}
+      {...props}
+    >
+      { children }
+    </motion.main>
+  )
+}
+
+export default AnimationLayout
\ No newline at end of file
-- 
cgit v1.2.3

