UNPKG

@fifteen/design-system-vue

Version:

Vue 3 (Composition API + Typescript) implementation of the Fifteen Design System

33 lines (32 loc) 590 B
import { unref as i } from "vue"; const u = [ "em", "ex", "%", "px", "cm", "mm", "in", "pt", "pc", "ch", "rem", "vh", "vw", "vmin", "vmax", "rpx" ], a = new RegExp("^(-?[0-9.]+)([a-z%]+)?$", "i"); function f(c, s) { const e = i(c), r = i(s) ?? 1; if (!e && e !== 0) return ""; if (typeof e == "number") return e * r / 16 + "rem"; const o = a.exec(e), [m, n, t] = o || Array(3); return n && !isNaN(+n) ? !u.includes(t) || t === "px" ? parseFloat(n) * r / 16 + "rem" : parseFloat(n) * r + t : e; } export { u as cssUnits, f as genSize };