UNPKG

outsideclick-react

Version:

A React utility hook for detecting outside clicks

86 lines (57 loc) 1.99 kB
# OutSideClick React `outsideclick-react` is a lightweight React package that detects clicks outside a specified element, useful for dropdowns, modals, etc. ## Installation ```bash npm install outsideclick-react ``` or ```bash yarn add outsideclick-react ``` ## Usage ### Hook ```javascript import { useOutsideClick } from "outsideclick-react"; function MyComponent() { const handleOutsideClick = (e) => { // Handle outside click }; const ref = useOutsideClick(handleOutsideClick); /* const ref = useOutsideClick(handleOutsideClick, ".ignore-element") */ return <div ref={ref}>{/* Your component */}</div>; } ``` ### Component ```javascript import { OutsideClick } from "outsideclick-react"; function MyComponent() { return ( <OutsideClick onOutsideClick={() => { // Handle outside click }} ignoreElement=".ignore" > <div>{/* Your component */}</div> </OutsideClick> ); } ``` ## API ### `useOutsideClick` A hook that detects clicks outside of a specified element. #### Parameters: - **outsideClick**: `(v: HTMLElement) => void` - A function that gets called when an outside click is detected. - **ignoreElement** (optional): `IgnoreElementType` - An element or selector that should be ignored when detecting outside clicks. #### Returns: - A `ref` object that should be attached to the target element. ### `OutsideClick` A component that detects clicks outside of its children. #### Props: - `onOutsideClick`: Function that is called when an outside click is detected. - `ignoreElement`: An element or selector to ignore when detecting outside clicks. ## Contribution If you'd like to contribute, please submit a pull request. ## Support If you want to support my work, you can buy me a coffee! [![](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoffee.com/rashed.iqbal)