Skip to content

Commit 496dd61

Browse files
committed
fix motion variants typing issues and update declarations for sheet height
1 parent 8021084 commit 496dd61

4 files changed

Lines changed: 21 additions & 21 deletions

File tree

src/components/atoms/ActionButton/ActionButton.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
import { useLocation } from "react-router-dom";
22
import "./ActionButton.scss";
3-
import { motion } from "motion/react";
3+
import { motion, cubicBezier } from "motion/react";
44

5-
const getActionButtonVariants = () => ({
5+
const actionButtonVariants = {
66
initial: {
77
opacity: 0,
88
},
99
in: {
1010
opacity: 1,
1111
transition: {
1212
duration: 0.5,
13-
ease: [0.14, 0.8, 0.4, 1],
13+
ease: cubicBezier(0.14, 0.8, 0.4, 1),
1414
delay: 0.3,
1515
},
1616
},
1717
out: {
1818
opacity: 0,
1919
transition: {
2020
duration: 0.25,
21-
ease: [0.14, 0.8, 0.4, 1],
21+
ease: cubicBezier(0.14, 0.8, 0.4, 1),
2222
},
2323
},
24-
});
24+
};
2525

2626
type ActionButtonProps = {
2727
icon: React.ReactNode;
@@ -33,7 +33,7 @@ const ActionButton = ({ children, onClick, icon }: ActionButtonProps) => {
3333
const location = useLocation();
3434

3535
return (
36-
<motion.div key={`action-btn-${location.pathname}`} className="action-button" variants={getActionButtonVariants()} initial="initial" animate="in" exit="out" onClick={onClick} whileTap={{ scale: 0.9 }}>
36+
<motion.div key={`action-btn-${location.pathname}`} className="action-button" variants={actionButtonVariants} initial="initial" animate="in" exit="out" onClick={onClick} whileTap={{ scale: 0.9 }}>
3737
{children}
3838
<button onClick={onClick}>{icon}</button>
3939
</motion.div>

src/components/atoms/InfoBlob/InfoBlob.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { BsQuestionCircle } from "react-icons/bs";
22
import "./InfoBlob.scss";
33
import { useState } from "react";
4-
import { AnimatePresence, motion } from "motion/react";
4+
import { AnimatePresence, motion, cubicBezier, type Variants } from "motion/react";
55

6-
const blobVariants = {
6+
const blobVariants: Variants = {
77
initial: { opacity: 0, scale: 0.8 },
88
animate: {
99
opacity: 1,
@@ -21,12 +21,12 @@ const blobVariants = {
2121
scale: 0.8,
2222
transition: {
2323
duration: 0.3,
24-
ease: [0.14, 0.8, 0.4, 1],
24+
ease: cubicBezier(0.14, 0.8, 0.4, 1),
2525
},
2626
},
2727
};
2828

29-
const blobArrowVariants = {
29+
const blobArrowVariants: Variants = {
3030
initial: { opacity: 0, y: -10, x: "-50%" },
3131
animate: {
3232
opacity: 1,
@@ -45,7 +45,7 @@ const blobArrowVariants = {
4545
x: "-50%",
4646
transition: {
4747
duration: 0.1,
48-
ease: [0.14, 0.8, 0.4, 1],
48+
ease: cubicBezier(0.14, 0.8, 0.4, 1),
4949
},
5050
},
5151
};

src/components/organisms/HabitForm/HabitForm.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ const EmojiPickerComponent = ({ emojiPickerOpen, setEmojiPickerOpen }: EmojiPick
239239
const { setFieldValue } = useFormikContext();
240240

241241
return (
242-
<Sheet isOpen={emojiPickerOpen} onClose={() => setEmojiPickerOpen(false)} className="emoji-picker__sheet" detent="content-height">
242+
<Sheet isOpen={emojiPickerOpen} onClose={() => setEmojiPickerOpen(false)} className="emoji-picker__sheet" detent="content">
243243
<Sheet.Container>
244244
<Sheet.Header />
245245
<Sheet.Content>

src/components/organisms/IslandMenu/IslandMenu.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useState } from "react";
22
import { PiPawPrintFill, PiShoppingCartFill } from "react-icons/pi";
33
import { HiX, HiChevronLeft, HiChevronRight } from "react-icons/hi";
44
import { FaCheck } from "react-icons/fa";
5-
import { AnimatePresence, motion } from "motion/react";
5+
import { AnimatePresence, motion, cubicBezier } from "motion/react";
66
import "./IslandMenu.scss";
77
import chickenThumbnail from "/src/assets/thumbnails/chicken.png";
88
import foxThumbnail from "/src/assets/thumbnails/fox.png";
@@ -28,20 +28,20 @@ const containerVariants = {
2828

2929
const menuVariants = {
3030
initial: { opacity: 0 },
31-
animate: { opacity: 1, transition: { duration: 0.3, ease: [0.14, 0.8, 0.4, 1] } },
32-
exit: { opacity: 0, transition: { duration: 0.3, ease: [0.14, 0.8, 0.4, 1] } },
31+
animate: { opacity: 1, transition: { duration: 0.3, ease: cubicBezier(0.14, 0.8, 0.4, 1)}},
32+
exit: { opacity: 0, transition: { duration: 0.3, ease: cubicBezier(0.14, 0.8, 0.4, 1) } },
3333
};
3434

3535
const islandMenuButtonVariants = {
3636
initial: { opacity: 0, scale: 0 },
37-
animate: { opacity: 1, scale: 1, transition: { duration: 0.3, ease: [0.14, 0.8, 0.4, 1] } },
38-
exit: { opacity: 0, scale: 0, transition: { duration: 0.3, ease: [0.14, 0.8, 0.4, 1] } },
37+
animate: { opacity: 1, scale: 1, transition: { duration: 0.3, ease: cubicBezier(0.14, 0.8, 0.4, 1) } },
38+
exit: { opacity: 0, scale: 0, transition: { duration: 0.3, ease: cubicBezier(0.14, 0.8, 0.4, 1) } },
3939
};
4040

4141
const islandMenuOverlayVariants = {
4242
initial: { y: 500, x: "-50%" },
43-
animate: { y: 0, x: "-50%", transition: { staggerChildren: 0.2, delay: 0.1, duration: 0.3, ease: [0.14, 0.8, 0.4, 1] } },
44-
exit: { y: 500, x: "-50%", transition: { duration: 0.3, ease: [0.14, 0.8, 0.4, 1] } },
43+
animate: { y: 0, x: "-50%", transition: { staggerChildren: 0.2, delay: 0.1, duration: 0.3, ease: cubicBezier(0.14, 0.8, 0.4, 1) } },
44+
exit: { y: 500, x: "-50%", transition: { duration: 0.3, ease: cubicBezier(0.14, 0.8, 0.4, 1) } },
4545
};
4646

4747
export const itemListVariants = {
@@ -52,8 +52,8 @@ export const itemListVariants = {
5252

5353
export const itemVariants = {
5454
initial: { opacity: 0, y: 5 },
55-
animate: { opacity: 1, y: 0, transition: { duration: 1, ease: [0.14, 0.8, 0.4, 1] } },
56-
exit: { opacity: 0, y: -5, transition: { duration: 1, ease: [0.14, 0.8, 0.4, 1] } },
55+
animate: { opacity: 1, y: 0, transition: { duration: 1, ease: cubicBezier(0.14, 0.8, 0.4, 1) } },
56+
exit: { opacity: 0, y: -5, transition: { duration: 1, ease: cubicBezier(0.14, 0.8, 0.4, 1) } },
5757
};
5858

5959
const IslandMenu = () => {

0 commit comments

Comments
 (0)