Browse components

ClickAwayListener

import ClickAwayListener from "@shpaw415/mui-lite/ClickAwayListener";

Why use it

ClickAwayListener calls onClickAway when the user presses outside its child. Use it to close menus, popovers, and custom dropdowns without wiring document listeners yourself.

Wrap a single element that can take a ref (Paper, div, etc.).

Demo

Example

import { useState } from "react";
import ClickAwayListener from "@shpaw415/mui-lite/ClickAwayListener";
import Paper from "@shpaw415/mui-lite/Paper";
 
export function Panel() {
  const [open, setOpen] = useState(true);
  if (!open) return null;
  return (
    <ClickAwayListener onClickAway={() => setOpen(false)}>
      <Paper elevation={4} style={{ padding: 16 }}>
        Click outside to dismiss
      </Paper>
    </ClickAwayListener>
  );
}

Props

PropTypeDefault
onClickAway(event) => voidrequired
childrensingle ReactElementrequired
mouseEventonClick | onMouseDown | onMouseUp | falseonClick
touchEventonTouchStart | onTouchEnd | falseonTouchEnd