@angularui/theme
Version:
⚠️ DEPRECATED: This package has been rebranded to @slateui/theme. Please migrate to the new package. Modern Theme Management for Angular - A lightweight, feature-rich theme library with automatic dark mode detection, SSR support, and zero configuration re
54 lines (49 loc) • 1.77 kB
TypeScript
import * as _angular_core from '@angular/core';
import { OnDestroy, Provider, EnvironmentProviders } from '@angular/core';
type Theme = 'light' | 'dark' | 'system';
type ThemeStrategy = 'attribute' | 'class';
interface ThemeConfig {
defaultTheme?: Theme;
storageKey?: string;
strategy?: ThemeStrategy;
enableAutoInit?: boolean;
enableColorScheme?: boolean;
enableSystem?: boolean;
forcedTheme?: Theme;
}
declare class ThemeService implements OnDestroy {
private readonly platformId;
private readonly config;
private readonly storageManager;
private readonly mediaManager;
private readonly domManager;
private isInitialized;
private isDestroyed;
private lastAppliedTheme;
private readonly themeSignal;
private readonly systemThemeSignal;
readonly theme: _angular_core.Signal<Theme>;
readonly systemTheme: _angular_core.Signal<"light" | "dark">;
readonly resolvedTheme: _angular_core.Signal<"light" | "dark">;
get initialized(): boolean;
get isForced(): boolean;
initialize(): void;
setTheme(theme: Theme): void;
toggle(): void;
isDark(): boolean;
isLight(): boolean;
isSystem(): boolean;
getConfig(): ThemeConfig;
ngOnDestroy(): void;
cleanup(): void;
private setupManagers;
private loadInitialTheme;
private setFallbackThemes;
private handleSystemThemeChange;
private setupEffects;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeService, never>;
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ThemeService>;
}
declare function provideUiTheme(config?: ThemeConfig): (Provider | EnvironmentProviders)[];
export { ThemeService, provideUiTheme };
export type { Theme, ThemeConfig, ThemeStrategy };