aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
140 lines • 3.65 kB
TypeScript
import React from "react";
import type { ConsciousnessFeatures } from "../layout/GlassContainer";
export interface GlassModalProps extends ConsciousnessFeatures {
/**
* Whether the modal is open
*/
open?: boolean;
/**
* Callback when modal should close
*/
onClose?: () => void;
/**
* Modal title
*/
title?: string;
/**
* Modal description
*/
description?: string;
/**
* Modal size
*/
size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "full";
/**
* Modal variant
*/
variant?: "default" | "centered" | "drawer" | "fullscreen";
/**
* Whether modal can be closed by clicking backdrop
*/
closeOnBackdropClick?: boolean;
/**
* Whether modal can be closed by pressing escape
*/
closeOnEscape?: boolean;
/**
* Custom close button
*/
closeButton?: React.ReactNode;
/**
* Whether to show default close button
*/
showCloseButton?: boolean;
/**
* Modal footer content
*/
footer?: React.ReactNode;
/**
* Modal children
*/
children: React.ReactNode;
/**
* 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";
};
/**
* Custom backdrop
*/
backdrop?: React.ReactNode;
/**
* Backdrop blur intensity
*/
backdropBlur?: "none" | "sm" | "md" | "lg";
/**
* Animation preset
*/
animation?: "fade" | "scale" | "slide" | "flip";
/**
* Whether to lock scroll when open
*/
lockScroll?: boolean;
/**
* Z-index
*/
zIndex?: number;
className?: string;
/**
* Accessible label for the modal
*/
"aria-label"?: string;
/**
* ID of element that labels the modal
*/
"aria-labelledby"?: string;
/**
* ID of element that describes the modal
*/
"aria-describedby"?: string;
/**
* Whether this is an alert dialog that requires immediate attention
*/
role?: "dialog" | "alertdialog";
/**
* Element to focus when modal opens
*/
initialFocus?: React.RefObject<HTMLElement>;
/**
* Element to focus when modal closes
*/
restoreFocus?: React.RefObject<HTMLElement>;
/**
* Custom className for modal content
*/
contentClassName?: string;
/**
* Custom data-testid attribute
*/
"data-testid"?: string;
}
/**
* GlassModal component
* A versatile modal with glassmorphism styling
*/
export declare const GlassModal: React.ForwardRefExoticComponent<GlassModalProps & React.RefAttributes<HTMLDivElement>>;
export declare const GlassPredictiveModal: React.FC<GlassModalProps>;
export declare const GlassAdaptiveModal: React.FC<GlassModalProps>;
export declare const GlassEyeTrackingModal: React.FC<GlassModalProps>;
export declare const GlassSpatialAudioModal: React.FC<GlassModalProps>;
export declare const GlassAchievementModal: React.FC<GlassModalProps>;
export declare const GlassConsciousnessModal: React.FC<GlassModalProps>;
export { GlassDialog } from "./GlassDialog";
export type { GlassDialogProps } from "./GlassDialog";
export { GlassDrawer } from "./GlassDrawer";
export type { GlassDrawerProps } from "./GlassDrawer";
//# sourceMappingURL=GlassModal.d.ts.map