@nova-ui/bits
Version:
SolarWinds Nova Framework
43 lines (42 loc) • 1.81 kB
TypeScript
import { RendererFactory2 } from "@angular/core";
import { ActivatedRoute, Router } from "@angular/router";
import { BehaviorSubject } from "rxjs";
import * as i0 from "@angular/core";
/** @dynamic */
export declare class ThemeSwitchService {
private rendererFactory;
private router;
private _route;
private document;
/** @ignore BehaviorSubject indicating whether we should display theme switcher */
showThemeSwitcherSubject: BehaviorSubject<boolean>;
/** BehaviorSubject indicating whether dark mode is enabled */
isDarkModeEnabledSubject: BehaviorSubject<boolean | null>;
/** Should route be refreshed after theme switching */
withRefreshRoute: boolean;
/** Keep information about preferred dark color scheme on OS */
private darkThemePreference;
private renderer;
constructor(rendererFactory: RendererFactory2, router: Router, _route: ActivatedRoute, document: Document);
/**
* Use this method to manually toggle your app between light and dark theme
*
* @param isDarkModeEnabled Use true for dark theme and false for light theme
*/
setDarkTheme(isDarkModeEnabled: boolean): void;
/**
* Use this method to configure the service to synchronize your app's theme with the user's
* light/dark mode system preference
*/
enableColorSchemePreferenceHandling(): void;
/**
* Use this method to disable synchronization of your app's theme with the user's light/dark mode
* system preference
*/
disableColorSchemePreferenceHandling(): void;
private darkModePreferenceHandler;
private reInitRoute;
static ɵfac: i0.ɵɵFactoryDeclaration<ThemeSwitchService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<ThemeSwitchService>;
}
export default ThemeSwitchService;