UNPKG

amos-tool

Version:

amos ui tool

38 lines (32 loc) 1.52 kB
"use strict"; var utils = require("./utils"); function completeUnit(e, t) { return utils.isString(e) || (e += ""), utils.isNumber(e) ? (t || (t = "px"), e.endsWith(t) ? e : "".concat(e).concat(t)) : e; } function toPixel(e) { var t = e; return e && (utils.isNumber(e) ? t = completeUnit(Number(e)) : utils.isString(e) && (e.endsWith("%") ? t = completeUnit(Number(e.replace("%", "")), "%") : e.endsWith("px") ? t = completeUnit(Number(e.replace("px", "")), "px") : e.endsWith("vh") ? t = completeUnit(Number(e.replace("vh", "")), "vh") : e.endsWith("vw") ? t = completeUnit(Number(e.replace("vw", "")), "vw") : e.endsWith("rem") ? t = completeUnit(Number(e.replace("rem", "")), "rem") : e.endsWith("em") && (t = completeUnit(Number(e.replace("em", "")), "em")))), t; } var _100 = 100; function toRealSize(e, t, i) { if (!e) return e; if (utils.isNumber(e)) return Number(e); if (utils.isString(e)) { if (-1 !== e.indexOf("%")) { var r = parseFloat(e) / _100, n = "width" === t ? r * (i || window.innerWidth) : r * (i || window.innerHeight); return Math.floor(n); } if (-1 !== e.indexOf("vw")) { var o = parseFloat(e) / _100 * window.innerWidth; return Math.floor(o); } if (-1 !== e.indexOf("vh")) { var l = parseFloat(e) / _100 * window.innerHeight; return Math.floor(l); } } var u = parseFloat(e); return isNaN(u) ? 0 : u; } module.exports = completeUnit, module.exports.toPixel = toPixel, module.exports.toRealSize = toRealSize;