File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed
Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change 1+ import { cn } from "@/lib/utils" ;
2+ import { useState } from "react" ;
3+
4+ interface HoverTriggerProps {
5+ className ?: string ;
6+ children : React . ReactNode ;
7+ }
8+
9+ export default function HoverTrigger ( {
10+ className,
11+ children,
12+ } : HoverTriggerProps ) {
13+ const [ isHovered , setIsHovered ] = useState ( false ) ;
14+
15+ const handleMouseEnter = ( ) => {
16+ setIsHovered ( true ) ;
17+ } ;
18+
19+ const handleMouseLeave = ( ) => {
20+ setIsHovered ( false ) ;
21+ } ;
22+
23+ return (
24+ < div
25+ className = { cn ( "h-screen" , className ) }
26+ onMouseEnter = { handleMouseEnter }
27+ onMouseLeave = { handleMouseLeave }
28+ >
29+ < div
30+ className = { cn (
31+ "transition-transform" ,
32+ isHovered ? "translate-x-0" : "-translate-x-full" ,
33+ ) }
34+ >
35+ { children }
36+ </ div >
37+ </ div >
38+ ) ;
39+ }
You can’t perform that action at this time.
0 commit comments