@types/cssom
Version:
TypeScript definitions for cssom
170 lines (128 loc) • 3.71 kB
TypeScript
export as namespace CSSOM;
/**
* Produces a deep copy of stylesheet — the instance variables of stylesheet are copied recursively.
*/
export function clone(stylesheet: CSSStyleSheet): CSSStyleSheet;
export function parse(token: string): CSSStyleSheet;
export abstract class StyleSheet {
parentStyleSheet: StyleSheet | null;
}
export class CSSStyleSheet extends StyleSheet {
cssRules: CSSRule[];
deleteRule(index: number): void;
insertRule(rule: string, index?: number): number;
}
export abstract class CSSRule {
readonly cssText: string;
parentRule: CSSRule | null;
parentStyleSheet: StyleSheet | null;
readonly type: number;
}
export namespace CSSRule {
/** @deprecated Obsolete */
const UNKNOWN_RULE = 0;
const STYLE_RULE = 1;
/** @deprecated Obsolete */
const CHARSET_RULE = 2;
const IMPORT_RULE = 3;
const MEDIA_RULE = 4;
const FONT_FACE_RULE = 5;
const PAGE_RULE = 6;
const KEYFRAMES_RULE = 7;
const KEYFRAME_RULE = 8;
const MARGIN_RULE = 9;
const NAMESPACE_RULE = 10;
const COUNTER_STYLE_RULE = 11;
const SUPPORTS_RULE = 12;
const DOCUMENT_RULE = 13;
const FONT_FEATURE_VALUES_RULE = 14;
const VIEWPORT_RULE = 15;
const REGION_STYLE_RULE = 16;
}
export class CSSStyleRule extends CSSRule {
cssText: string;
selectorText: string;
style: CSSStyleDeclaration;
static parse(ruleText: any): any;
readonly type: 1;
}
export class CSSImportRule extends CSSRule {
cssText: string;
href: string;
media: MediaList;
styleSheet: CSSStyleSheet;
readonly type: 3;
}
export class CSSMediaRule extends CSSRule {
media: MediaList;
cssRules: CSSRule[];
readonly type: 4;
}
export class CSSFontFaceRule extends CSSRule {
style: CSSStyleDeclaration;
readonly type: 5;
}
export class CSSKeyframesRule extends CSSRule {
name: string;
cssRules: CSSRule[];
readonly type: 7;
}
export class CSSKeyframeRule extends CSSRule {
keyText: string;
style: CSSStyleDeclaration;
readonly type: 8;
}
export class CSSSupportsRule extends CSSRule {
conditionText: string;
cssRules: CSSRule[];
readonly type: 12;
}
/** @deprecated Removed from spec */
export class CSSDocumentRule extends CSSRule {
matcher: MatcherList;
cssRules: CSSRule[];
readonly type: 13;
}
/**
* @deprecated Legacy Shadow DOM v0
* @see https://www.w3.org/TR/2013/WD-shadow-dom-20130514/#host-at-rule
*/
export class CSSHostRule extends CSSRule {
cssRules: CSSRule[];
readonly type: 1001;
}
export class CSSStyleDeclaration {
cssText: string;
length: number;
parentRule: CSSRule | null;
getPropertyPriority(name: string): string;
getPropertyValue(name: string): string;
removeProperty(name: string): string;
setProperty(name: string, value: string | null, priority?: string | null): void;
[index: number]: string;
}
/** @deprecated */
export class CSSValue {
/** @unsupported The getter and setter are currently unimplemented and throw unconditionally. */
cssText: string;
}
/** @deprecated */
export class CSSValueExpression extends CSSValue {
constructor(token: string, idx: number);
parse(): { error: any } | { idx: number; expression: string };
}
/** @deprecated Removed from spec */
export class MatcherList {
length: number;
matcherText: string;
appendMatcher(matcher: string): void;
deleteMatcher(matcher: string): void;
[index: number]: string;
}
export class MediaList {
length: number;
mediaText: string;
appendMedium(medium: string): void;
deleteMedium(medium: string): void;
[index: number]: string;
}