import { CreateAnimation, IonButton, IonIcon } from '@ionic/react'; import React, { useRef, useState } from 'react'; import styles from './AddToCartButton.module.css'; import { cartOutline } from 'ionicons/icons'; const AddToCartButton = ({ icon = true, color = 'primary', customOnClick = null, }): React.JSX.Element => { const iconRef = useRef(null); const [hidden, setHidden] = useState(true); const floatStyle = { display: hidden ? 'none' : '', position: 'absolute', }; const floatGrowAnimation = { property: 'transform', fromValue: 'translateY(0) scale(1)', toValue: 'translateY(-55px) scale(1.2)', }; const colorAnimation = { property: 'color', fromValue: 'white', toValue: `var(--ion-color-${color}`, }; const mainAnimation = { duration: 700, iterations: '1', fromTo: [floatGrowAnimation, colorAnimation], easing: 'cubic-bezier(0.25, 0.7, 0.25, 0.7)', }; const handleClick = async () => { setHidden(false); await iconRef.current.animation.play(); setHidden(true); customOnClick && customOnClick(); }; return (