use-click-outside
shadcncraft/use-click-outsideFreeHook
shadcncraft publishes no description for this item.
Install it
npx shadcn@latest add https://shadcncraft.com/r/use-click-outside.jsonSource
1import * as React from "react";23export function useClickOutside(4 ref: React.RefObject<HTMLElement> | React.RefObject<null>,5 handleOnClickOutside: (event: MouseEvent | TouchEvent) => void6) {7 React.useEffect(() => {8 const listener = (event: MouseEvent | TouchEvent) => {9 if (!ref.current || ref.current.contains(event.target as Node)) {10 return;11 }12 handleOnClickOutside(event);13 };1415 document.addEventListener("mousedown", listener);16 document.addEventListener("touchstart", listener);1718 return () => {19 document.removeEventListener("mousedown", listener);20 document.removeEventListener("touchstart", listener);21 };22 }, [ref, handleOnClickOutside]);23}
Files it writes
More from shadcncraft
All 26 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| use-carouseluse-carousel | shadcncraft | Hooks | Free | 2 deps | |
| use-mobileuse-mobile | shadcncraft | Hooks | Free | no deps |
