UNPKG

@buddhacognitivelab/theme-glassmorphic

Version:

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

148 lines (147 loc) 7.19 kB
/** * @fileoverview Enhanced Effects System - Phase 5 * Interactive enhancements, animations, and theme-responsive effects */ export type AnimationPreset = 'none' | 'subtle' | 'smooth' | 'bounce' | 'elastic' | 'sharp'; export type TransitionSpeed = 'fast' | 'normal' | 'slow'; export type EasingFunction = 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'linear'; export interface ThemeTransitionConfig { duration: number; easing: string; properties: string[]; stagger?: number; } export interface AnimationConfig { duration: number; easing: string; delay?: number; fillMode?: 'none' | 'forwards' | 'backwards' | 'both'; iterationCount?: number | 'infinite'; direction?: 'normal' | 'reverse' | 'alternate' | 'alternate-reverse'; } export interface MicroInteractionConfig { hover: { scale: number; glow: string; duration: number; easing: string; }; focus: { outline: string; glow: string; scale: number; duration: number; }; active: { scale: number; duration: number; easing: string; }; loading: { animation: string; duration: number; }; } export declare const transition: { fast: string; normal: string; slow: string; smooth: string; bounce: string; elastic: string; sharp: string; theme: string; }; export declare const easing: { ease: string; easeIn: string; easeOut: string; easeInOut: string; linear: string; bounce: string; elastic: string; sharp: string; smooth: string; }; export declare const themeTransition: ThemeTransitionConfig; export declare const animations: { fadeIn: import("styled-components/dist/models/Keyframes").default; fadeOut: import("styled-components/dist/models/Keyframes").default; scaleIn: import("styled-components/dist/models/Keyframes").default; scaleOut: import("styled-components/dist/models/Keyframes").default; slideUp: import("styled-components/dist/models/Keyframes").default; slideDown: import("styled-components/dist/models/Keyframes").default; slideLeft: import("styled-components/dist/models/Keyframes").default; slideRight: import("styled-components/dist/models/Keyframes").default; glowPulse: import("styled-components/dist/models/Keyframes").default; glowPulseDark: import("styled-components/dist/models/Keyframes").default; shimmer: import("styled-components/dist/models/Keyframes").default; shimmerDark: import("styled-components/dist/models/Keyframes").default; spin: import("styled-components/dist/models/Keyframes").default; pulse: import("styled-components/dist/models/Keyframes").default; themeSwitch: import("styled-components/dist/models/Keyframes").default; bounceIn: import("styled-components/dist/models/Keyframes").default; elasticIn: import("styled-components/dist/models/Keyframes").default; }; export declare const animationPresets: Record<AnimationPreset, AnimationConfig>; export declare const focusEffect: (mode: "light" | "dark", intensity?: "subtle" | "prominent") => import("styled-components").RuleSet<object>; export declare const hoverEffect: (mode: "light" | "dark", intensity?: "subtle" | "prominent", scale?: number) => import("styled-components").RuleSet<object>; export declare const activeEffect: (scale?: number) => import("styled-components").RuleSet<object>; export declare const loadingEffect: (mode: "light" | "dark") => import("styled-components").RuleSet<object>; export declare const themeSwitchEffect: import("styled-components").RuleSet<object>; export declare const getBasicMicroInteractionConfig: (mode: "light" | "dark") => MicroInteractionConfig; export declare const getAnimationCSS: (preset: AnimationPreset, animationType: keyof typeof animations) => "" | import("styled-components").RuleSet<object>; export declare const getStaggeredAnimation: (animationType: keyof typeof animations, index: number, preset?: AnimationPreset) => import("styled-components").RuleSet<object>; export declare const getResponsiveAnimation: (animationType: keyof typeof animations, preset?: AnimationPreset, reduceMotion?: boolean) => "" | import("styled-components").RuleSet<object>; export declare const effects: { transition: { fast: string; normal: string; slow: string; smooth: string; bounce: string; elastic: string; sharp: string; theme: string; }; easing: { ease: string; easeIn: string; easeOut: string; easeInOut: string; linear: string; bounce: string; elastic: string; sharp: string; smooth: string; }; animations: { fadeIn: import("styled-components/dist/models/Keyframes").default; fadeOut: import("styled-components/dist/models/Keyframes").default; scaleIn: import("styled-components/dist/models/Keyframes").default; scaleOut: import("styled-components/dist/models/Keyframes").default; slideUp: import("styled-components/dist/models/Keyframes").default; slideDown: import("styled-components/dist/models/Keyframes").default; slideLeft: import("styled-components/dist/models/Keyframes").default; slideRight: import("styled-components/dist/models/Keyframes").default; glowPulse: import("styled-components/dist/models/Keyframes").default; glowPulseDark: import("styled-components/dist/models/Keyframes").default; shimmer: import("styled-components/dist/models/Keyframes").default; shimmerDark: import("styled-components/dist/models/Keyframes").default; spin: import("styled-components/dist/models/Keyframes").default; pulse: import("styled-components/dist/models/Keyframes").default; themeSwitch: import("styled-components/dist/models/Keyframes").default; bounceIn: import("styled-components/dist/models/Keyframes").default; elasticIn: import("styled-components/dist/models/Keyframes").default; }; focusEffect: (mode: "light" | "dark", intensity?: "subtle" | "prominent") => import("styled-components").RuleSet<object>; hoverEffect: (mode: "light" | "dark", intensity?: "subtle" | "prominent", scale?: number) => import("styled-components").RuleSet<object>; activeEffect: (scale?: number) => import("styled-components").RuleSet<object>; loadingEffect: (mode: "light" | "dark") => import("styled-components").RuleSet<object>; themeSwitchEffect: import("styled-components").RuleSet<object>; getBasicMicroInteractionConfig: (mode: "light" | "dark") => MicroInteractionConfig; getAnimationCSS: (preset: AnimationPreset, animationType: keyof typeof animations) => "" | import("styled-components").RuleSet<object>; getStaggeredAnimation: (animationType: keyof typeof animations, index: number, preset?: AnimationPreset) => import("styled-components").RuleSet<object>; getResponsiveAnimation: (animationType: keyof typeof animations, preset?: AnimationPreset, reduceMotion?: boolean) => "" | import("styled-components").RuleSet<object>; }; export default effects;