UNPKG

nehan

Version:

Html layout engine for paged-media written in Typescript

53 lines 2.04 kB
import { LogicalEdge, LogicalEdgeDirections, CssText, CssCascade, Utils, } from "./public-api"; export var LogicalBorderStyleValue; (function (LogicalBorderStyleValue) { LogicalBorderStyleValue["NONE"] = "none"; LogicalBorderStyleValue["HIDDEN"] = "hidden"; LogicalBorderStyleValue["DOTTED"] = "dotted"; LogicalBorderStyleValue["DASHED"] = "dashed"; LogicalBorderStyleValue["SOLID"] = "solid"; LogicalBorderStyleValue["DOUBLE"] = "double"; LogicalBorderStyleValue["GROOVE"] = "groove"; LogicalBorderStyleValue["RIDGE"] = "ridge"; LogicalBorderStyleValue["INSET"] = "inset"; LogicalBorderStyleValue["OUTSET"] = "outset"; })(LogicalBorderStyleValue || (LogicalBorderStyleValue = {})); export class LogicalBorderStyle extends LogicalEdge { static parseShorthand(css_text) { let vs = CssText.getValue4D(css_text.value); return [ { prop: "border-before-style", value: vs[0] }, { prop: "border-end-style", value: vs[1] }, { prop: "border-after-style", value: vs[2] }, { prop: "border-start-style", value: vs[3] } ]; } static load(element) { return new LogicalBorderStyle(LogicalEdgeDirections.reduce((style, direction) => { style[direction] = CssCascade.getValue(element, `border-${direction}-style`); return style; }, {})); } static get noneValue() { return { before: "none", end: "none", after: "none", start: "none" }; } static get none() { return new LogicalBorderStyle(LogicalBorderStyle.noneValue); } clone() { return new LogicalBorderStyle(this.values); } getPropByLogicalDirection(direction) { return `border-${direction}-style`; } acceptCssEvaluator(visitor) { return visitor.visitLogicalBorderStyle(this); } } LogicalBorderStyle.values = Utils.Enum.toValueArray(LogicalBorderStyleValue); //# sourceMappingURL=logical-border-style.js.map