tgui-angular
Version:
🚀 Angular UI library for Telegram Web Apps with modern components and theming support | 💼 Author is open to work opportunities | 📧 Contact: a.blagovestnov@gmail.com | 💬 Telegram: @ablagovestnov
36 lines (35 loc) • 1.36 kB
TypeScript
/**
* Helper functions for managing TGUI themes
*/
import { OnDestroy } from '@angular/core';
import { AppearanceType } from '../services/theme.service';
import * as i0 from "@angular/core";
/**
* Apply the specified theme by adding the appropriate CSS class to the document's root element
* @param theme The theme to apply ('light' or 'dark')
*/
export declare function applyTheme(theme: AppearanceType): void;
/**
* Setup system theme detection using prefers-color-scheme
* @param callback Optional callback function that will be called when the theme changes
* @returns A function to cleanup the listeners
*/
export declare function setupSystemThemeDetection(callback?: (theme: AppearanceType) => void): () => void;
/**
* Angular service for using system themes
* Uses signals to track theme changes
*/
export declare class SystemThemeService implements OnDestroy {
private readonly themeSignal;
readonly theme: import("@angular/core").Signal<AppearanceType>;
private cleanup;
constructor();
setTheme(theme: AppearanceType): void;
enableSystemTheme(): void;
disableSystemTheme(): void;
ngOnDestroy(): void;
private getInitialTheme;
private setupThemeDetection;
static ɵfac: i0.ɵɵFactoryDeclaration<SystemThemeService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<SystemThemeService>;
}