native-fn
Version:
25 lines (24 loc) • 1.13 kB
TypeScript
import { Appearances } from "../constants/theme";
import { EasingKeyword, EasingSyntax } from "../types/easing-syntax";
import { Color } from "../types/color";
export declare interface ListenerEntry {
fn: (appearance: Appearances) => any;
capture: boolean;
once: boolean;
signal?: AbortSignal;
}
export declare interface Theme {
setThemeColor: (color: Color, options?: SetThemeColorOptions) => Promise<string | undefined>;
getThemeColor: () => Color | undefined;
removeThemeColor: (appearance?: ThemeColorMetaAppearanceKeys) => void;
detectAppearance: () => Promise<Appearances>;
onAppearanceChange: (listener: (appearance?: Appearances) => any, options?: boolean | AddEventListenerOptions) => () => void;
}
export declare type ThemeColorMetaAppearanceKeys = "default" | "dark" | "light";
export declare type ThemeColorMetaGroup = Partial<Record<ThemeColorMetaAppearanceKeys, HTMLMetaElement>>;
export declare interface SetThemeColorOptions {
appearance?: ThemeColorMetaAppearanceKeys;
duration?: number;
easingFunction?: EasingSyntax | EasingKeyword;
defaultColor?: string;
}