UNPKG

@buddhacognitivelab/theme-glassmorphic

Version:

Enhanced glassmorphic theme package with dual-mode support, advanced glass effects, interactive UI components, and gesture-based interactions

233 lines (232 loc) 6.61 kB
/** * @fileoverview Enhanced Glassmorphism Effects * Phase 2: Advanced glassmorphism effects with multi-layer system and theme modes */ export interface EnhancedGlassEffect { background: { blur: number; opacity: number; saturation: number; brightness?: number; tint: string; }; border: { opacity: number; gradient?: string; width: number; }; shadow: { inner?: string; outer: string; glow?: string; }; effects: { gradientBorder: boolean; innerShadow: boolean; outerGlow: boolean; dynamicBlur?: number; }; depth: GlassDepthLevel; mode: 'light' | 'dark'; } export interface GlassVariantConfig { background: { blur: number; opacity: number; saturation: number; brightness?: number; tint: string; }; border: { opacity: number; gradient?: string; width: number; }; shadow: { inner?: string; outer: string; glow?: string; }; effects: { gradientBorder: boolean; innerShadow: boolean; outerGlow: boolean; dynamicBlur?: number; }; } export type GlassVariantType = 'subtle' | 'prominent' | 'frosted' | 'crystal' | 'ethereal' | 'dynamic'; export type GlassDepthLevel = 'surface' | 'elevated' | 'floating' | 'modal'; export type GlassIntensityLevel = 'light' | 'medium' | 'heavy' | 'ultra'; export declare const lightGlassmorphism: { light: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; medium: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; heavy: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; }; export declare const darkGlassmorphism: { light: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; medium: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; heavy: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; }; export declare const glassmorphismEffects: { light: { light: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; medium: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; heavy: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; }; dark: { light: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; medium: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; heavy: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; }; }; export declare const enhancedGlassVariants: Record<GlassVariantType, Record<GlassDepthLevel, { light: GlassVariantConfig; dark: GlassVariantConfig; }>>; export declare const glassVariants: { subtle: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; prominent: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; frosted: { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; }; export declare const getEnhancedGlassEffect: (variant: GlassVariantType, depth: GlassDepthLevel, mode: "light" | "dark") => GlassVariantConfig; export declare const createEnhancedGlassEffect: (config: Partial<GlassVariantConfig>) => GlassVariantConfig; export declare const applyEnhancedGlassEffect: (effect: GlassVariantConfig) => Record<string, string>; export declare const enhancedGlassEffectMixin: (effect: GlassVariantConfig) => string; export declare const getThemeResponsiveGlassEffect: (variant: GlassVariantType, depth: GlassDepthLevel) => { light: GlassVariantConfig; dark: GlassVariantConfig; auto: (currentMode: "light" | "dark") => GlassVariantConfig; }; export declare const applyGlassEffect: (effect: any) => string; export declare const glassEffectMixin: (effect: any) => string; export declare const getGlassmorphismEffect: (mode: "light" | "dark", intensity: "light" | "medium" | "heavy") => { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; } | { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; } | { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; } | { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; } | { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; } | { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; export declare const createCustomGlassEffect: ({ blur, saturation, backgroundColor, borderColor, shadowColor, shadowBlur, shadowSpread, }: { blur?: number | undefined; saturation?: number | undefined; backgroundColor?: string | undefined; borderColor?: string | undefined; shadowColor?: string | undefined; shadowBlur?: number | undefined; shadowSpread?: number | undefined; }) => { backdropFilter: string; backgroundColor: string; border: string; boxShadow: string; }; export declare const composeGlassEffects: (baseEffect: EnhancedGlassEffect, overlayEffect: Partial<EnhancedGlassEffect>) => EnhancedGlassEffect; export declare const createInteractiveGlassStates: (baseEffect: EnhancedGlassEffect, options?: { hoverIntensity?: number; activeIntensity?: number; focusIntensity?: number; }) => { base: EnhancedGlassEffect; hover: EnhancedGlassEffect; active: EnhancedGlassEffect; focus: EnhancedGlassEffect; };