@buddhacognitivelab/theme-glassmorphic
Version:
Enhanced glassmorphic theme package with dual-mode support, advanced glass effects, interactive UI components, and gesture-based interactions
47 lines (46 loc) • 1.66 kB
TypeScript
/**
* @fileoverview Popover component with glassmorphic styling
*/
import React from 'react';
import type { GlassIntensity } from '../../types/theme';
export interface PopoverProps {
/** Popover content */
content: React.ReactNode;
/** Popover title */
title?: string;
/** Popover placement */
placement?: 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
/** Glass effect intensity */
glassIntensity?: GlassIntensity;
/** Popover trigger mode */
trigger?: 'hover' | 'click' | 'focus' | 'manual';
/** Whether popover is open (controlled) */
open?: boolean;
/** Callback when open state changes */
onOpenChange?: (open: boolean) => void;
/** Whether popover is disabled */
disabled?: boolean;
/** Popover offset from trigger */
offset?: number;
/** Whether to show arrow */
showArrow?: boolean;
/** Whether to show close button */
showCloseButton?: boolean;
/** Custom width */
width?: number | string;
/** Maximum width */
maxWidth?: number;
/** Maximum height */
maxHeight?: number;
/** Popover z-index */
zIndex?: number;
/** Whether to close on outside click */
closeOnOutsideClick?: boolean;
/** Whether to close on escape key */
closeOnEscape?: boolean;
/** Additional CSS class */
className?: string;
/** Children element that triggers popover */
children: React.ReactElement;
}
export declare const Popover: React.ForwardRefExoticComponent<PopoverProps & React.RefAttributes<HTMLDivElement>>;