react ~7 KB 0 deps v0.1.0 ↗ GitHub ↗

@mshafiqyajid/react-popover

Headless popover hook and styled component. Click or hover triggered, rich ReactNode content, optional title header, arrow, smart viewport flip, portal positioning.

Playground #

Props
TSX
import { PopoverStyled } from "@mshafiqyajid/react-popover/styled";
import "@mshafiqyajid/react-popover/styles.css";

<PopoverStyled
  title="More info"
  content="This is the popover content."
/>

Install #

npm install @mshafiqyajid/react-popover

Quick start #

import { PopoverStyled } from "@mshafiqyajid/react-popover/styled";
import "@mshafiqyajid/react-popover/styles.css";

<PopoverStyled
  title="Keyboard shortcuts"
  content={
    <div>
      <p>⌘K — Command palette</p>
      <p>⌘S — Save</p>
    </div>
  }
>
  <button>Show shortcuts</button>
</PopoverStyled>

API #

PropTypeDefaultDescription
contentReactNodePopover body content
titlestringOptional header title
placement"top" | "bottom" | "left" | "right""bottom"Preferred placement (auto-flips)
trigger"click" | "hover""click"How to open
size"sm" | "md" | "lg""md"Width
showArrowbooleantrueShow arrow pointing to trigger
closeOnOutsideClickbooleantrueClose on outside click
closeOnEscbooleantrueClose on Escape
offsetnumber8Gap between trigger and popover in px
Edit this page on GitHub