UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

44 lines (42 loc) 1.29 kB
function scaleRem(remValue) { if (remValue === "0rem") { return "0rem"; } return `calc(${remValue} * var(--mantine-scale))`; } function createConverter(units, { shouldScale = false } = {}) { function converter(value) { if (value === 0 || value === "0") { return `0${units}`; } if (typeof value === "number") { const val = `${value / 16}${units}`; return shouldScale ? scaleRem(val) : val; } if (typeof value === "string") { if (value === "") { return value; } if (value.startsWith("calc(") || value.startsWith("clamp(") || value.includes("rgba(")) { return value; } if (value.includes(",")) { return value.split(",").map((val) => converter(val)).join(","); } if (value.includes(" ")) { return value.split(" ").map((val) => converter(val)).join(" "); } const replaced = value.replace("px", ""); if (!Number.isNaN(Number(replaced))) { const val = `${Number(replaced) / 16}${units}`; return shouldScale ? scaleRem(val) : val; } } return value; } return converter; } const rem = createConverter("rem", { shouldScale: true }); const em = createConverter("em"); export { em, rem }; //# sourceMappingURL=rem.mjs.map