aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
134 lines • 3.29 kB
TypeScript
import React from "react";
export type PopoverPlacement = "top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end";
export interface GlassPopoverProps {
/**
* Whether the popover is open
*/
open?: boolean;
/**
* Callback when popover should close
*/
onOpenChange?: (open: boolean) => void;
/**
* Initial open state when uncontrolled
*/
defaultOpen?: boolean;
/**
* Popover content
*/
content: React.ReactNode;
/**
* Trigger element
*/
children: React.ReactElement;
/**
* Popover placement
*/
placement?: PopoverPlacement;
/**
* Trigger type
*/
trigger?: "click" | "hover" | "focus" | "manual";
/**
* Delay before showing (for hover trigger)
*/
showDelay?: number;
/**
* Delay before hiding (for hover trigger)
*/
hideDelay?: number;
/**
* Whether to show arrow
*/
showArrow?: boolean;
/**
* Offset from trigger
*/
offset?: number;
/**
* Whether to close on click outside
*/
closeOnClickOutside?: boolean;
/**
* Whether to close on escape key
*/
closeOnEscape?: boolean;
/**
* Animation preset
*/
animation?: "fade" | "scale" | "slide";
/**
* Z-index
*/
zIndex?: number;
/**
* Appearance of the surface
* glass: translucent glass effect (default)
* solid: opaque panel (no bleed-through)
*/
appearance?: "glass" | "solid";
/**
* Whether to apply radial reveal mask on open
* Tooltips often should not be masked; defaults to true for popovers
*/
radialReveal?: boolean;
/**
* Custom class for popover content
*/
contentClassName?: string;
/**
* Popover title
*/
title?: string;
/**
* Popover description
*/
description?: 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";
};
/**
* Additional CSS classes
*/
className?: string;
/**
* Test ID for the popover
*/
"data-testid"?: string;
}
/**
* GlassPopover component
* A floating popover with glassmorphism styling
*/
export declare const GlassPopover: React.ForwardRefExoticComponent<GlassPopoverProps & React.RefAttributes<HTMLDivElement>>;
/**
* Tooltip component (Simple popover for hover)
*/
export interface GlassTooltipProps extends Omit<GlassPopoverProps, "trigger" | "content" | "title" | "description" | "open" | "onOpenChange"> {
/**
* Tooltip text
*/
content: string;
/**
* Whether tooltip is disabled
*/
disabled?: boolean;
}
export declare const GlassTooltip: React.ForwardRefExoticComponent<GlassTooltipProps & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=GlassPopover.d.ts.map