@klass/core
Version:
Class variant utility
23 lines (22 loc) • 639 B
JavaScript
import { klass as o } from "./index.js";
import "clsx";
const k = (a, n = {}) => {
const { it: f } = n, u = Object.keys(a.base), r = {};
for (const s of u)
r[s] = o(
{
base: a.base[s],
variants: Object.entries(a.variants).reduce(
(e, [t, d]) => (e[t] = Object.entries(d).reduce((c, [i, l]) => (c[i] = l[s], c), {}), e),
{}
),
defaultVariants: a.defaultVariants,
compoundVariants: a.compoundVariants?.map(({ class: e, ...t }) => ({ ...t, class: e?.[s] })).filter((e) => typeof e.class < "u")
},
{ it: f }
);
return r;
};
export {
k as default
};