// Input component extends from shadcnui - https://ui.shadcn.com/docs/components/input "use client"; import * as React from "react"; import { cn } from "@/lib/utils"; import { useMotionTemplate, useMotionValue, motion } from "framer-motion"; export type InputProps = React.InputHTMLAttributes; const Input = React.forwardRef( ({ className, type, ...props }, ref) => { const radius = 100; const [visible, setVisible] = React.useState(false); const mouseX = useMotionValue(0); const mouseY = useMotionValue(0); function handleMouseMove({ currentTarget, clientX, clientY }: any) { const { left, top } = currentTarget.getBoundingClientRect(); mouseX.set(clientX - left); mouseY.set(clientY - top); } return ( setVisible(true)} onMouseLeave={() => setVisible(false)} className="p-[2px] transition duration-300 group/input" > ); }, ); Input.displayName = "Input"; export { Input };