UNPKG

@brizy/ui

Version:
19 lines (18 loc) 793 B
import classNameFN from "classnames"; import { BRZ_PREFIX } from "./constants"; function parseClassNames(arg) { if (typeof arg === "string" && !arg.startsWith(BRZ_PREFIX)) { return `${BRZ_PREFIX}-${arg}`; } if (Array.isArray(arg)) { return arg.map(parseClassNames); } if (typeof arg === "object" && arg !== null) { return Object.entries(arg).reduce((acc, [key, value]) => { const prefixedKey = key.startsWith(BRZ_PREFIX) ? key : `${BRZ_PREFIX}-${key}`; return Object.assign(Object.assign({}, acc), { [prefixedKey]: value }); }, {}); } return arg; } export const classNames = (...classNameWithoutPrefix) => (...classNameToPrefix) => classNameFN(classNameWithoutPrefix, classNameToPrefix.map(parseClassNames));