gamify-ui-core
Version:
🚀 The ultimate gamification engine for modern web applications. Framework-agnostic, real-time leaderboards, custom rule engine, streaks, missions, and AI-powered features.
90 lines • 2 kB
TypeScript
import { Theme } from '../types';
/**
* Manages theme configuration and customization
*/
export declare class ThemeManager {
private theme;
constructor(customTheme?: Partial<Theme>);
/**
* Get the current theme
*/
getTheme(): Theme;
/**
* Update the theme
*/
updateTheme(updates: Partial<Theme>): void;
/**
* Get theme colors
*/
getColors(): {
primary: string;
secondary: string;
success: string;
warning: string;
error: string;
background: string;
surface: string;
text: string;
};
/**
* Get theme animations
*/
getAnimations(): {
badgePopup: string;
xpGain: string;
levelUp: string;
achievement: string;
};
/**
* Get theme sounds
*/
getSounds(): {
levelUp?: string;
achievement?: string;
badge?: string;
streak?: string;
};
/**
* Get theme spacing
*/
getSpacing(): {
xs: string;
sm: string;
md: string;
lg: string;
xl: string;
};
/**
* Get theme border radius
*/
getBorderRadius(): {
sm: string;
md: string;
lg: string;
};
/**
* Get a specific color
*/
getColor(colorName: keyof Theme['colors']): string;
/**
* Get a specific animation
*/
getAnimation(animationName: keyof Theme['animations']): string;
/**
* Get a specific sound
*/
getSound(soundName: keyof Theme['sounds']): string | undefined;
/**
* Get a specific spacing value
*/
getSpacingValue(spacingName: keyof Theme['spacing']): string;
/**
* Get a specific border radius value
*/
getBorderRadiusValue(radiusName: keyof Theme['borderRadius']): string;
/**
* Initialize theme with defaults and custom overrides
*/
private initializeTheme;
}
//# sourceMappingURL=ThemeManager.d.ts.map