jade-garden
Version:
Class utilities to compose class names and variants
36 lines (35 loc) • 1.21 kB
JavaScript
import { b as v, g as b, d as f, h as N } from "./utils-DleBZ90m.js";
const C = (t = v) => (a) => (s) => {
if (typeof a?.base > "u" || !a.base) return t(s?.class, s?.className);
const c = a.base;
if (typeof a?.variants != "object" || typeof a.variants == "object" && Array.isArray(a.variants))
return t(c, s?.class, s?.className);
const l = a.variants, u = Array.isArray(a?.compoundVariants) ? a.compoundVariants : [], i = typeof a?.defaultVariants == "object" && !Array.isArray(a.defaultVariants) ? a.defaultVariants : {}, d = { ...i, ...s ?? {} }, V = () => {
if (!Array.isArray(u)) return "";
let n = "";
for (const { class: m, className: y, ...A } of u)
if (N(A, d)) {
const r = t(m), e = t(y);
r && (n += n.length === 0 ? r : ` ${r}`), e && (n += n.length === 0 ? e : ` ${e}`);
}
return n;
};
return t(
c,
b({ defaultVariants: i, mergeClass: t, props: s, variants: l }),
V(),
s?.class,
s?.className
);
}, p = C(), j = (t) => t, w = (t) => (o) => f({
compoundVariants: t.compoundVariants,
name: t.name,
props: o,
variants: t.variants
});
export {
C as createCVA,
p as cva,
j as defineCVA,
w as rawCVA
};