- Updated all component headers and documentation
- Changed navbar and footer branding
- Updated homepage hero badge
- Modified page title in index.html
- Simplified footer text to 'Built with ❤️'
- Consistent V2 capitalization across all references
36 lines
1.0 KiB
JavaScript
36 lines
1.0 KiB
JavaScript
function isDecimal(value) {
|
|
return !Number.isInteger(parseFloat(value.toString()));
|
|
}
|
|
function replaceWhiteSpace(value, replaceValue = "-") {
|
|
return value.replace(/\s+/g, replaceValue);
|
|
}
|
|
function escape(value) {
|
|
const valueStr = replaceWhiteSpace(value.toString());
|
|
if (valueStr.includes("\\."))
|
|
return value;
|
|
return isDecimal(value) ? valueStr.replace(".", `\\.`) : value;
|
|
}
|
|
function addPrefix(value, prefix = "") {
|
|
return [prefix, escape(value)].filter(Boolean).join("-");
|
|
}
|
|
function toVarRef(name, fallback) {
|
|
return `var(${escape(name)}${fallback ? `, ${fallback}` : ""})`;
|
|
}
|
|
function toVar(value, prefix = "") {
|
|
return `--${addPrefix(value, prefix)}`;
|
|
}
|
|
function cssVar(name, options) {
|
|
const cssVariable = toVar(name, options?.prefix);
|
|
return {
|
|
variable: cssVariable,
|
|
reference: toVarRef(cssVariable, getFallback(options?.fallback))
|
|
};
|
|
}
|
|
function getFallback(fallback) {
|
|
if (typeof fallback === "string")
|
|
return fallback;
|
|
return fallback?.reference;
|
|
}
|
|
|
|
export { addPrefix, cssVar, isDecimal, toVar, toVarRef };
|