UNPKG

@rb-mwindh/ngx-theme-manager

Version:

Angular component to switch between different theming stylesheets

58 lines (57 loc) 2.05 kB
import { Theme } from '../theme'; import * as i0 from "@angular/core"; /** * RbThemeRegistryService is an injectable service that allows for * registering and unregistering themes, as well as providing access * to the currently registered themes. * It also provides an observable of themes that can be used * to notify subscribers of changes to the registered themes. * * @internal * @group Services */ export declare class ThemeRegistryService { #private; /** * The observable that emits the collection of registered themes when it changes. */ readonly themes$: import("rxjs").Observable<Theme[]>; /** * Registers a new theme and emits the changed collection of themes. * * If a theme with the same ID is already registered, * the registered theme will be merged with the new one. * * Themes without ID will be ignored. * * @param {Theme | undefined | null} theme - The new theme to register */ register(theme: Theme | undefined | null): void; /** * Removes the provided theme from the registry and emits the changed collection of themes. * * @param {Theme} theme - The theme to remove. */ unregister(theme: Theme): void; /** * Returns the collection of registered themes. * * @returns {Theme[]} A new array with all currently registered themes * @remarks A new array is created every time this getter is called. */ get themes(): Theme[]; /** * Returns the theme with the given ID, or null if no such theme is registered. * * @param {string | null} id - The ID of the theme to retrieve */ get(id: string | null): Theme | null; /** * Returns whether a theme with the given ID is currently registered. * * @param {string | null} id - The ID of the theme to check. */ has(id: string | null): boolean; static ɵfac: i0.ɵɵFactoryDeclaration<ThemeRegistryService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<ThemeRegistryService>; }