aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
163 lines • 4.79 kB
TypeScript
import React from "react";
import type { ConsciousnessFeatures } from "../layout/GlassContainer";
export interface GlassDrawerProps extends ConsciousnessFeatures {
/**
* Whether the drawer is open
*/
open?: boolean;
/**
* Callback when drawer open state changes
*/
onOpenChange?: (open: boolean) => void;
/**
* Drawer position
*/
position?: "top" | "right" | "bottom" | "left";
/**
* Drawer size
*/
size?: "xs" | "sm" | "md" | "lg" | "xl" | "full";
/**
* Drawer title
*/
title?: React.ReactNode;
/**
* Drawer description
*/
description?: React.ReactNode;
/**
* Drawer content
*/
children?: React.ReactNode;
/**
* Accessible label for the drawer
*/
"aria-label"?: string;
/**
* Glass material variant
*/
material?: "glass" | "liquid";
/**
* Material properties for liquid glass
*/
materialProps?: {
ior?: number;
thickness?: number;
tint?: {
r: number;
g: number;
b: number;
a: number;
};
variant?: "regular" | "clear";
quality?: "ultra" | "high" | "balanced" | "efficient";
};
/**
* Whether to close on backdrop click
*/
closeOnBackdropClick?: boolean;
/**
* Whether to close on escape key
*/
closeOnEscape?: boolean;
/**
* Whether to show close button
*/
showCloseButton?: boolean;
/**
* Custom header content
*/
header?: React.ReactNode;
/**
* Custom footer content
*/
footer?: React.ReactNode;
/**
* Whether drawer is modal (blocks interaction with background)
*/
modal?: boolean;
/**
* Custom backdrop blur
*/
backdropBlur?: boolean;
/**
* Drawer elevation
*/
elevation?: 0 | 1 | 2 | 3 | 4 | "float" | "modal";
/**
* Custom z-index
*/
zIndex?: number;
/**
* Whether to show overlay
*/
showOverlay?: boolean;
/**
* Animation duration in milliseconds
*/
animationDuration?: number;
/**
* Whether drawer can be resized
*/
resizable?: boolean;
className?: string;
/**
* Custom data-testid attribute
*/
"data-testid"?: string;
/**
* Enable comprehensive consciousness tracking
*/
consciousness?: boolean;
/**
* Custom className for drawer content
*/
contentClassName?: string;
}
/**
* GlassDrawer component
* Slide-out panel with glassmorphism styling and comprehensive functionality
*/
export declare const GlassDrawer: React.ForwardRefExoticComponent<GlassDrawerProps & React.RefAttributes<HTMLDivElement>>;
export interface DrawerTriggerProps {
children: React.ReactNode;
asChild?: boolean;
}
export declare const DrawerTrigger: React.ForwardRefExoticComponent<DrawerTriggerProps & React.RefAttributes<HTMLButtonElement>>;
export interface DrawerContentProps extends GlassDrawerProps {
}
export declare const DrawerContent: React.ForwardRefExoticComponent<GlassDrawerProps & React.RefAttributes<HTMLDivElement>>;
export interface DrawerHeaderProps {
children: React.ReactNode;
className?: string;
}
export declare const DrawerHeader: React.ForwardRefExoticComponent<DrawerHeaderProps & React.RefAttributes<HTMLDivElement>>;
export interface DrawerTitleProps {
children: React.ReactNode;
className?: string;
}
export declare const DrawerTitle: React.ForwardRefExoticComponent<DrawerTitleProps & React.RefAttributes<HTMLHeadingElement>>;
export interface DrawerDescriptionProps {
children: React.ReactNode;
className?: string;
}
export declare const DrawerDescription: React.ForwardRefExoticComponent<DrawerDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
export interface DrawerFooterProps {
children: React.ReactNode;
className?: string;
}
export declare const DrawerFooter: React.ForwardRefExoticComponent<DrawerFooterProps & React.RefAttributes<HTMLDivElement>>;
export declare const useDrawer: (defaultOpen?: boolean) => {
open: boolean;
setOpen: React.Dispatch<React.SetStateAction<boolean>>;
openDrawer: () => void;
closeDrawer: () => void;
toggleDrawer: () => void;
};
export declare const GlassPredictiveDrawer: React.FC<GlassDrawerProps>;
export declare const GlassAdaptiveDrawer: React.FC<GlassDrawerProps>;
export declare const GlassEyeTrackingDrawer: React.FC<GlassDrawerProps>;
export declare const GlassSpatialAudioDrawer: React.FC<GlassDrawerProps>;
export declare const GlassAchievementDrawer: React.FC<GlassDrawerProps>;
export declare const GlassConsciousnessDrawer: React.FC<GlassDrawerProps>;
//# sourceMappingURL=GlassDrawer.d.ts.map