frutjam
Version:
A utility-first CSS UI Library for Tailwind CSS
15 lines (13 loc) • 493 B
JavaScript
function prefixClassesInSelector(sel, prefix) {
return sel.replace(/\.([\.\w-]+)/g, (_, name) => "." + prefix + name)
}
export function addPrefix(obj, prefix) {
if (!prefix) return obj
return Object.fromEntries(
Object.entries(obj).map(([key, value]) => {
const newKey = key.startsWith("@") ? key : prefixClassesInSelector(key, prefix)
const newValue = (value && typeof value === "object") ? addPrefix(value, prefix) : value
return [newKey, newValue]
})
)
}