UNPKG

@aurigma/design-atoms

Version:

Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.

36 lines 1.72 kB
import { Margin } from "@aurigma/design-atoms-model/Math/Margin"; export var ParseSchema; (function (ParseSchema) { ParseSchema[ParseSchema["TopFirst"] = 0] = "TopFirst"; ParseSchema[ParseSchema["LeftFirst"] = 1] = "LeftFirst"; })(ParseSchema || (ParseSchema = {})); export function parseMargin(value, parseSchema) { if (parseSchema === void 0) { parseSchema = ParseSchema.TopFirst; } if (typeof value == "number") return new Margin(value); if (typeof value == "string") { var parts = value.split(/[ ,;]/, 4); if (parts.length == 1) return new Margin(parseFloat(parts[0])); else if (parts.length == 2) { var horizontal = parseSchema == ParseSchema.LeftFirst ? parts[0] : parts[1]; var vertical = parseSchema == ParseSchema.LeftFirst ? parts[1] : parts[0]; return new Margin({ horizontal: parseFloat(horizontal), vertical: parseFloat(vertical) }); } else if (parts.length == 4) { var left = parseSchema == ParseSchema.LeftFirst ? parts[0] : parts[3]; var top_1 = parseSchema == ParseSchema.LeftFirst ? parts[1] : parts[0]; var right = parseSchema == ParseSchema.LeftFirst ? parts[2] : parts[1]; var bottom = parseSchema == ParseSchema.LeftFirst ? parts[3] : parts[2]; return new Margin({ left: parseFloat(left), top: parseFloat(top_1), right: parseFloat(right), bottom: parseFloat(bottom) }); } } console.warn("Unexpected margin value: " + value); return new Margin(0); } //# sourceMappingURL=MarginParser.js.map