"use client"; import { useRef, memo } from "react"; import { useDirectionalHover } from "./useDirectionalHover"; import { useButtonClick } from "../useButtonClick"; import { cls } from "@/lib/utils"; import "./DirectionalButton.css"; export interface ButtonDirectionalHoverProps { text: string; onClick?: () => void; href?: string; className?: string; bgClassName?: string; textClassName?: string; circleClassName?: string; disabled?: boolean; ariaLabel?: string; type?: "button" | "submit" | "reset"; } const ButtonDirectionalHover = ({ text, onClick, href, className = "", bgClassName = "", textClassName = "", circleClassName = "", disabled = false, ariaLabel, type = "button", }: ButtonDirectionalHoverProps) => { const buttonRef = useRef(null); const handleClick = useButtonClick(href, onClick); useDirectionalHover(buttonRef); return ( ); }; ButtonDirectionalHover.displayName = "ButtonDirectionalHover"; export default memo(ButtonDirectionalHover);