@chakra-ui/styled-system
Version:
Style function for css-in-js building component libraries
40 lines (35 loc) • 1.08 kB
JavaScript
function replaceWhiteSpace(value, replaceValue) {
if (replaceValue === void 0) {
replaceValue = "-";
}
return value.replace(/\s+/g, replaceValue);
}
function escape(value) {
var valueStr = replaceWhiteSpace(value.toString());
if (valueStr.includes("\\.")) return value;
var isDecimal = !Number.isInteger(parseFloat(value.toString()));
return isDecimal ? valueStr.replace(".", "\\.") : value;
}
export function addPrefix(value, prefix) {
if (prefix === void 0) {
prefix = "";
}
return [prefix, escape(value)].filter(Boolean).join("-");
}
export function toVarReference(name, fallback) {
return "var(" + escape(name) + (fallback ? ", " + fallback : "") + ")";
}
export function toVarDefinition(value, prefix) {
if (prefix === void 0) {
prefix = "";
}
return "--" + addPrefix(value, prefix);
}
export function cssVar(name, fallback, cssVarPrefix) {
var cssVariable = toVarDefinition(name, cssVarPrefix);
return {
variable: cssVariable,
reference: toVarReference(cssVariable, fallback)
};
}
//# sourceMappingURL=css-var.js.map