@buddhacognitivelab/theme-glassmorphic
Version:
Enhanced glassmorphic theme package with dual-mode support, advanced glass effects, interactive UI components, and gesture-based interactions
52 lines (51 loc) • 1.72 kB
TypeScript
/**
* @fileoverview Enhanced Theme Switcher - Phase 5
* Advanced theme switching with smooth transitions and multiple modes
*/
import React from 'react';
export type SwitcherVariant = 'toggle' | 'button' | 'dropdown' | 'slider' | 'icon' | 'floating';
export type SwitcherSize = 'small' | 'medium' | 'large';
export type TransitionStyle = 'fade' | 'slide' | 'flip' | 'morph' | 'ripple';
export type ThemeOption = 'light' | 'dark' | 'auto';
export interface EnhancedThemeSwitcherProps {
/** Switcher variant */
variant?: SwitcherVariant;
/** Size */
size?: SwitcherSize;
/** Transition animation style */
transitionStyle?: TransitionStyle;
/** Show labels */
showLabels?: boolean;
/** Show icons */
showIcons?: boolean;
/** Enable system theme option */
enableSystemTheme?: boolean;
/** Custom icons */
icons?: {
light?: React.ReactNode;
dark?: React.ReactNode;
auto?: React.ReactNode;
};
/** Custom labels */
labels?: {
light?: string;
dark?: string;
auto?: string;
};
/** Position for floating variant */
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
/** Disabled state */
disabled?: boolean;
/** Glass effect intensity */
glassIntensity?: 'subtle' | 'moderate' | 'intense';
/** Enable haptic feedback */
enableHaptics?: boolean;
/** Custom onChange handler */
onChange?: (theme: ThemeOption) => void;
/** Custom styles */
style?: React.CSSProperties;
/** CSS class name */
className?: string;
}
export declare const EnhancedThemeSwitcher: React.FC<EnhancedThemeSwitcherProps>;
export default EnhancedThemeSwitcher;