@buddhacognitivelab/theme-glassmorphic
Version:
Enhanced glassmorphic theme package with dual-mode support, advanced glass effects, interactive UI components, and gesture-based interactions
50 lines (49 loc) • 1.61 kB
TypeScript
/**
* @fileoverview Theme Toggle Component - Phase 5
* Advanced theme switching with smooth transitions and visual feedback
*/
import React from 'react';
export interface ThemeToggleProps {
/** Toggle variant */
variant?: 'button' | 'switch' | 'icon' | 'dropdown';
/** Toggle size */
size?: 'sm' | 'md' | 'lg';
/** Show labels */
showLabels?: boolean;
/** Custom labels */
labels?: {
light: string;
dark: string;
system: string;
};
/** Enable glass effect */
glassEffect?: boolean;
/** Glass intensity */
glassIntensity?: 'subtle' | 'prominent' | 'frosted';
/** Enable enhanced animations */
enhancedAnimations?: boolean;
/** Show system option */
showSystemOption?: boolean;
/** Custom icons */
icons?: {
light: React.ReactNode;
dark: React.ReactNode;
system: React.ReactNode;
};
/** Position for dropdown variant */
position?: 'top' | 'bottom' | 'left' | 'right';
/** Custom className */
className?: string;
/** Custom styles */
style?: React.CSSProperties;
/** Accessibility label */
'aria-label'?: string;
}
/**
* Theme Toggle Component
*
* Provides smooth theme switching with enhanced visual feedback
* and multiple interaction patterns.
*/
export declare function ThemeToggle({ variant, size, showLabels, labels, glassEffect, glassIntensity, enhancedAnimations, showSystemOption, icons, position, className, style, 'aria-label': ariaLabel, ...props }: ThemeToggleProps): import("react/jsx-runtime").JSX.Element;
export default ThemeToggle;