AsciiPopover

Contextual overlay components with ASCII styling for displaying additional information and actions.

Preview

Basic Click Trigger

Hover Trigger

User Profile Card

JD

Action Menu

Tooltip Help

User Management â„šī¸

Notification Badge

🔔 Notifications3

Status Indicator

Online

Code Documentation

calculateTotal()

Installation

npm install react-ascii-ui

Usage

import { AsciiPopover } from 'react-ascii-ui';

export default function App() {
  const [showPopover, setShowPopover] = useState(false);

  return (
    <AsciiPopover
      content="Helpful information here!"
      position="top"
      trigger="click"
      visible={showPopover}
      onVisibilityChange={setShowPopover}
    >
      <button>Show Info</button>
    </AsciiPopover>
  );
}

Advanced Examples

Controlled Popover

API Reference

PropTypeDefaultDescription
childrenReactNode-Trigger element
contentReactNode-Popover content
positionPositiontopPopover position relative to trigger
triggerTriggerclickHow popover is triggered
visiblebooleanundefinedControlled visibility
onVisibilityChange(visible: boolean) => voidundefinedVisibility change callback
delaynumber0Show/hide delay in milliseconds
offsetnumber8Distance from trigger element
arrowbooleantrueShow arrow pointer
classNamestring""Additional CSS classes

Type Definitions

type Position = 'top' | 'bottom' | 'left' | 'right';
type Trigger = 'click' | 'hover';

Popover Features

  • ✅ Multiple positioning options (top, bottom, left, right)
  • ✅ Click and hover trigger modes
  • ✅ Controlled and uncontrolled usage patterns
  • ✅ Rich content support (text, HTML, React components)
  • ✅ Auto-positioning to avoid viewport edges
  • ✅ Customizable styling and arrow indicators
  • ✅ Configurable delays and offsets
  • ✅ Click outside to close functionality
  • 🔄 Keyboard navigation and accessibility support (coming soon)
  • 🔄 Portal rendering for z-index management (coming soon)