UNPKG

effcss

Version:

Self-confident CSS-in-JS

90 lines (89 loc) 2.13 kB
type TOptBool = boolean | undefined; /** * Style root */ type TStyleRoot = { adoptedStyleSheets: CSSStyleSheet[]; }; /** * Style manager */ export type TManager = { /** * Get stylesheet by key * @param key - stylesheet key */ get(key?: string): CSSStyleSheet | undefined; /** * Get all stylesheets dictionary */ all(): Record<string, CSSStyleSheet>; /** * Add stylesheet * @param key - stylesheet key * @param stylesheet - CSSStylesheet */ add(key: string, stylesheet: CSSStyleSheet): TOptBool; /** * Hydrate stylesheet * @param key - stylesheet key */ hydrate(key: string): string | undefined; /** * Remove stylesheet * @param key - stylesheet key * @returns `true` if stylesheet is removed */ remove(key: string): TOptBool; /** * Remove all stylesheets */ removeAll(): void; /** * Pack styles into CSSStyleSheet and add it into stylesheet dictionary * @param key - stylesheet key * @param styles - stylesheet content */ pack(key: string, styles: string): TOptBool; /** * Is stylesheet on * @param key - stylesheet key */ status(key?: string): boolean; /** * Switch stylesheet on * @param key - stylesheet key */ on(...keys: (string | undefined)[]): void; /** * Switch stylesheet off * @param key - stylesheet key */ off(...keys: (string | undefined)[]): void; /** * Register style root * @param consumer - style root */ register(consumer: TStyleRoot): void; /** * Unregister style root * @param consumer - style root */ unregister(consumer: TStyleRoot): void; }; /** * Create {@link TManager | style manager} * @param params - manager params * @returns TManager */ export declare function createManager({ initStyles, emulate }?: { initStyles?: { dataset?: { effcss?: string; }; disabled: boolean; textContent: string | null; }[]; emulate?: boolean; }): TManager; export {};