@ribajs/bs5
Version:
Bootstrap 5 module for Riba.js
23 lines (22 loc) • 1.04 kB
TypeScript
import { EventDispatcher } from "@ribajs/events";
import { Bs5Service } from "./bs5.service.js";
import type { ThemeChoice, ThemeData, ThemeChangedCallback } from "../types/index.js";
export declare class ThemeService {
protected eventDispatcher: EventDispatcher;
protected static instance?: ThemeService;
protected bs5: Bs5Service;
current: ThemeChoice;
protected constructor();
static getSingleton(): ThemeService;
static setSingleton(): ThemeService;
protected addEventListeners(): void;
init(): ThemeData;
select(choice: ThemeChoice, selectEl: HTMLSelectElement): void;
protected getDefaultData(): ThemeData;
protected triggerChange(e?: MediaQueryListEvent, oldValue?: ThemeData): ThemeData;
onceChange(cb: ThemeChangedCallback, thisContext?: any): void;
onChange(cb: ThemeChangedCallback, thisContext?: any): void;
offChange(cb?: ThemeChangedCallback, thisContext?: any): void;
set(newColorScheme: ThemeChoice): ThemeData;
getScheme(choice?: ThemeChoice): ThemeData;
}