@papernote/ui
Version:
A modern React component library with a paper notebook aesthetic - minimal, professional, and expressive
33 lines • 1.45 kB
TypeScript
import React from 'react';
export interface PopoverProps {
/** Trigger element */
trigger: React.ReactNode;
/** Popover content */
children: React.ReactNode;
/** Placement of popover relative to trigger */
placement?: 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
/** Trigger mode */
triggerMode?: 'click' | 'hover' | 'focus';
/** Show arrow pointer */
showArrow?: boolean;
/** Offset from trigger (px) */
offset?: number;
/** Controlled open state */
open?: boolean;
/** Callback when open state changes */
onOpenChange?: (open: boolean) => void;
/** Close on outside click */
closeOnClickOutside?: boolean;
/** Close on escape key */
closeOnEscape?: boolean;
/** Delay before showing (ms) - for hover trigger */
showDelay?: number;
/** Delay before hiding (ms) - for hover trigger */
hideDelay?: number;
/** Class name for popover content */
className?: string;
/** Disabled state */
disabled?: boolean;
}
export default function Popover({ trigger: triggerElement, children, placement, triggerMode, showArrow, offset, open: controlledOpen, onOpenChange, closeOnClickOutside, closeOnEscape, showDelay, hideDelay, className, disabled, }: PopoverProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=Popover.d.ts.map