@buddhacognitivelab/theme-glassmorphic
Version:
Enhanced glassmorphic theme package with dual-mode support, advanced glass effects, interactive UI components, and gesture-based interactions
71 lines (70 loc) • 2.47 kB
TypeScript
/**
* @fileoverview Enhanced Modal Component - Phase 4
* Dual-mode glassmorphic modal with advanced theme support
*/
import React from 'react';
import { MotionProps } from 'framer-motion';
export interface EnhancedModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, keyof MotionProps> {
/** Whether the modal is open */
isOpen: boolean;
/** Function to close the modal */
onClose: () => void;
/** Modal title */
title?: string;
/** Modal size */
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
/** Glass effect intensity */
glassIntensity?: 'subtle' | 'prominent' | 'frosted' | 'crystal' | 'ethereal';
/** Glass depth level */
glassDepth?: 'surface' | 'elevated' | 'floating' | 'modal';
/** Modal variant */
variant?: 'default' | 'centered' | 'fullscreen' | 'drawer' | 'popup';
/** Enable close on backdrop click */
closeOnBackdropClick?: boolean;
/** Enable close on escape key */
closeOnEscape?: boolean;
/** Show close button */
showCloseButton?: boolean;
/** Custom close button */
closeButton?: React.ReactNode;
/** Modal header content */
header?: React.ReactNode;
/** Modal footer content */
footer?: React.ReactNode;
/** Enable enhanced hover effects */
enhancedHover?: boolean;
/** Enable theme-adaptive styling */
themeAdaptive?: boolean;
/** Custom glass tint override */
glassTint?: string;
/** Enable gradient border */
gradientBorder?: boolean;
/** Animation preset */
animation?: 'none' | 'fade' | 'scale' | 'slide' | 'bounce' | 'elastic';
/** Enable backdrop blur */
backdropBlur?: boolean;
/** Custom backdrop color */
backdropColor?: string;
/** Z-index for modal */
zIndex?: number;
/** Enable scroll lock */
scrollLock?: boolean;
/** Focus trap */
focusTrap?: boolean;
/** Initial focus element selector */
initialFocus?: string;
/** Return focus element selector */
returnFocus?: string;
/** Portal container */
portalContainer?: Element;
/** Modal content */
children?: React.ReactNode;
}
/**
* Enhanced Modal Component
*
* A sophisticated glassmorphic modal with dual-mode theme support,
* advanced glass effects, and enhanced interactive states.
*/
export declare const EnhancedModal: React.ForwardRefExoticComponent<EnhancedModalProps & React.RefAttributes<HTMLDivElement>>;
export default EnhancedModal;