import React, { useEffect, useRef } from 'react' import withDefaults from '../utils/with-defaults' interface Props { x?: number y?: number color?: string onCompleted?: Function } const defaultProps = { x: 0, y: 0, onCompleted: () => {}, } export type ButtonDrip = Props & typeof defaultProps const ButtonDrip: React.FC = React.memo(({ x, y, color, onCompleted }) => { const dripRef = useRef(null) useEffect(() => { if (!dripRef.current) return dripRef.current.addEventListener('animationend', onCompleted) return () => { if (!dripRef.current) return dripRef.current.removeEventListener('animationend', onCompleted) } }) return (
) }) export default withDefaults(ButtonDrip, defaultProps)