UNPKG

@paperbits/common

Version:
38 lines (31 loc) 1.09 kB
import * as Utils from "../utils"; import { StyleRule } from "./styleRule"; import { StyleMediaQuery } from "./styleMediaQuery"; export class Style { public readonly rules: StyleRule[]; public selector: string; public nestedStyles: Style[]; public readonly nestedGlobalStyles: Style[]; public modifierStyles: Style[]; public readonly pseudoStyles: Style[]; public readonly nestedMediaQueries: StyleMediaQuery[]; // descendant selector (space) // child selector (>) // adjacent sibling selector (+) // general sibling selector (~) constructor(selector: string) { this.selector = Utils.camelCaseToKebabCase(selector); this.rules = []; this.nestedStyles = []; this.nestedGlobalStyles = []; this.modifierStyles = []; this.pseudoStyles = []; this.nestedMediaQueries = []; } public addRule(rule: StyleRule): void { this.rules.push(rule); } public addRules(rules: StyleRule[]): void { this.rules.push(...rules); } }