UNPKG

1.09 kBTypeScriptView Raw
1/** CSSStyleSheet-like Tag abstraction for CSS rules */
2export interface Tag {
3 insertRule(index: number, rule: string): boolean;
4 deleteRule(index: number): void;
5 getRule(index: number): string;
6 length: number;
7}
8/** Group-aware Tag that sorts rules by indices */
9export interface GroupedTag {
10 clearGroup(group: number): void;
11 getGroup(group: number): string;
12 groupSizes: Uint32Array;
13 insertRules(group: number, rules: string | string[]): void;
14 length: number;
15 tag: Tag;
16}
17export type SheetOptions = {
18 isServer: boolean;
19 target?: HTMLElement | undefined;
20 useCSSOMInjection: boolean;
21};
22export interface Sheet {
23 allocateGSInstance(id: string): number;
24 clearNames(id: string): void;
25 clearRules(id: string): void;
26 clearTag(): void;
27 getTag(): GroupedTag;
28 hasNameForId(id: string, name: string): boolean;
29 insertRules(id: string, name: string, rules: string | string[]): void;
30 options: SheetOptions;
31 names: Map<string, Set<string>>;
32 registerName(id: string, name: string): void;
33 toString(): string;
34}