UNPKG

aura-glass

Version:

A comprehensive glassmorphism design system for React applications with 142+ production-ready components

134 lines 3.29 kB
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