Skip to content

Commit 8dcec24

Browse files
committed
feat: HoverTrigger 컴포넌트 구현
1 parent 3a590b0 commit 8dcec24

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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+
}

0 commit comments

Comments
 (0)