simple-dark-mode-toggle
Version:
A simple dark mode toggle
46 lines • 1.55 kB
TypeScript
interface DarkModeOptions {
classElement?: HTMLElement;
darkClassName?: string;
title?: string;
storage?: string;
storageName?: string;
darkByDefault?: boolean;
}
export declare function setupDarkMode(toggleElement: HTMLElement, options?: DarkModeOptions): DarkModeManager;
export declare function setupDarkModeForExt(toggleElement: HTMLElement, options?: DarkModeOptions): Promise<DarkModeManager>;
declare class AbstractStorage {
storageType: string;
inChrome: boolean;
constructor(storageType: string);
getItem(key: string): string | null;
getItemAsync(key: string): Promise<any>;
setItem(key: string, value: any): void | null;
setItemAsync(key: string, value: any): Promise<unknown>;
}
declare class BaseDarkModeManager {
toggleElement: HTMLElement;
classElement: HTMLElement;
darkClassName: string;
title: string;
storage: AbstractStorage;
storageName: string;
darkByDefault: boolean;
constructor(toggleElement: HTMLElement, options?: DarkModeOptions);
_activate(): void;
_toggle(): boolean;
_setDarkMode(dark: boolean): void;
}
export declare class DarkModeManager extends BaseDarkModeManager {
activate(): void;
restore(): void;
toggle(): void;
setDarkMode(dark: boolean): void;
}
export declare class ExtensionDarkModeManager extends BaseDarkModeManager {
activate(): void;
restore(): Promise<void>;
toggle(): Promise<void>;
setDarkMode(dark: boolean): Promise<void>;
}
export {};
//# sourceMappingURL=main.d.ts.map