@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
TypeScript
/**
* @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;
};