UseMouseDemo
guarahooks/use-mouse-demoFreeExample
use-mouse's hook in action.
Install it
npx shadcn@latest add https://guarahooks.com/r/use-mouse-demo.jsonSource
1'use client';23import { RefObject, useRef, useState } from 'react';45import {6 Card,7 CardContent,8 CardDescription,9 CardFooter,10 CardHeader,11 CardTitle,12} from '@/components/ui/card';13import { Checkbox } from '@/components/ui/checkbox';1415import { useMouse } from '@/hooks/guarahooks/use-mouse';1617export default function UseMouseDemo() {18 const ref = useRef<HTMLDivElement>(null);19 const [trackOutside, setTrackOutside] = useState(false);20 const [clampToZero, setClampToZero] = useState(false);21 const { docX, docY, posX, posY, elX, elY, elW, elH } = useMouse({22 ref: ref as RefObject<HTMLElement>,23 trackOutside,24 clampToZero,25 });2627 return (28 <Card className="relative max-w-md w-full" ref={ref}>29 <CardHeader>30 <CardTitle>useMouse</CardTitle>31 <CardDescription>32 This component uses the <code>useMouse</code> hook to track the mouse33 position.34 </CardDescription>35 </CardHeader>36 <CardContent className="space-y-2">37 <div className="flex items-center gap-2">38 <Checkbox39 checked={trackOutside}40 onCheckedChange={() => setTrackOutside((v) => !v)}41 />42 <label htmlFor="trackOutside">Track outside</label>43 </div>44 <div className="flex items-center gap-2">45 <Checkbox46 checked={clampToZero}47 onCheckedChange={() => setClampToZero((v) => !v)}48 />49 <label htmlFor="clampToZero">Clamp to zero</label>50 </div>51 <div className="space-y-2">52 <p className="text-sm">53 Mouse position in document - x:{docX} y:{docY}54 </p>55 <p className="text-sm">56 Mouse position in element - x:{elX} y:{elY}57 </p>58 <p className="text-sm">59 Element position- x:{posX} y:{posY}60 </p>61 <p className="text-sm">62 Element dimensions - {elW}x{elH}63 </p>64 </div>65 </CardContent>66 <CardFooter>67 <p className="text-sm text-muted-foreground">68 Try moving your mouse around the screen.69 </p>70 </CardFooter>71 </Card>72 );73}
What it pulls in
Other registry items
Files it writes
More from guarahooks
All 100 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| UseAbortControllerDemouse-abort-controller-demo | guarahooks | Examples | Free | no deps | |
| UseArrayStateDemouse-array-state-demo | guarahooks | Examples | Free | no deps | |
| UseAxiosDemouse-axios-demo | guarahooks | Examples | Free | no deps | |
| UseBatteryStatusDemouse-battery-status-demo | guarahooks | Examples | Free | no deps | |
| UseBetterAuthDemouse-better-auth-demo | guarahooks | Examples | Free | no deps | |
| UseClickOutsideDemouse-click-outside-demo | guarahooks | Examples | Free | no deps | |
| UseConfirmDemouse-confirm-demo | guarahooks | Examples | Free | no deps | |
| UseCookieDemouse-cookie-demo | guarahooks | Examples | Free | no deps |
