UNPKG

@paperbits/common

Version:
77 lines (63 loc) 2.5 kB
import { StateBagContract } from "./stateBagContract"; import { LocalStyles } from "./localStyles"; import { VariationContract } from "./variationContract"; import { StyleModel } from "./styleModel"; import { Style, StyleSheet, StyleManager, StyleDefinition } from "./"; /** * A utility for compiling style definitions. */ export interface StyleCompiler { /** * Returns class name(s) by color style key. * @param colorKey {string} Unique style identifier. */ getClassNameByColorKey(colorKey: string): string; /** * Returns CSS class name(s) for style key. * @param key {string} Unique style identifier. */ getClassNameByStyleKeyAsync(key: string): Promise<string>; /** * Returns CSS class name(s) for local styles. * @param contract */ getClassNamesForLocalStylesAsync(contract: LocalStyles): Promise<string>; /** * Converts style contract into style model. * @param contract {VariationContract} Style contract. */ getStyleModelAsync(contract: LocalStyles, styleManager?: StyleManager): Promise<StyleModel>; /** * Converts variation style contract into style. * @param contract {VariationContract} Variation style contract. * @param componentName {string} Component name, e.g. "button". * @param variationName {string} Style variation name, e.g. "primary". */ getVariationStyle(contract: VariationContract, componentName: string, variationName?: string): Promise<Style>; /** * Returns compiled font styles. */ getFontsStylesCss(): Promise<string>; /** * Converts states style contract into style. * @param states {StateBagContract} Bag of state contracts. * @param stateName {string} Name of the state, e.g. "hover", "active". */ getStateStyle(states: StateBagContract, stateName: string): Promise<Style>; /** * Returns theme style sheet; */ getStyleSheet(topBreakpoint?: string): Promise<StyleSheet>; /** * Returns compiled theme style sheet. */ compileCss(): Promise<string>; setStyles(styles: any): void; getIconFontStylesCss(): Promise<string>; /** * Returns icon CSS class name for specified icon key. * @param iconKey Icon key. */ getIconClassName(iconKey: string): string; backfillLocalStyles(localStyles: LocalStyles, styleDefinition: StyleDefinition): void; }