@buddhacognitivelab/theme-glassmorphic
Version:
Enhanced glassmorphic theme package with dual-mode support, advanced glass effects, interactive UI components, and gesture-based interactions
53 lines (52 loc) • 1.59 kB
TypeScript
/**
* @fileoverview Drawer component with glassmorphic styling
*/
import React from 'react';
export interface DrawerProps {
/** Whether drawer is open */
open: boolean;
/** Open change handler */
onOpenChange: (open: boolean) => void;
/** Drawer placement */
placement?: 'left' | 'right' | 'top' | 'bottom';
/** Drawer size */
size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
/** Custom width/height */
width?: string | number;
height?: string | number;
/** Glass effect intensity */
glassIntensity?: 'light' | 'medium' | 'heavy';
/** Whether to show backdrop */
showBackdrop?: boolean;
/** Whether to close on backdrop click */
closeOnBackdropClick?: boolean;
/** Whether to close on escape key */
closeOnEscape?: boolean;
/** Drawer title */
title?: string;
/** Whether to show close button */
showCloseButton?: boolean;
/** Header content */
header?: React.ReactNode;
/** Footer content */
footer?: React.ReactNode;
/** Drawer content */
children: React.ReactNode;
/** Custom className */
className?: string;
/** Z-index */
zIndex?: number;
/** Whether drawer is modal */
modal?: boolean;
/** Focus trap */
trapFocus?: boolean;
/** Initial focus element selector */
initialFocus?: string;
/** Return focus element selector */
returnFocus?: string;
/** Custom close icon */
closeIcon?: React.ReactNode;
/** Animation duration */
animationDuration?: number;
}
export declare const Drawer: React.FC<DrawerProps>;