css-variants
Version:
Lightweight helpers to compose class names and inline styles using variants. Zero runtime deps, small bundle, and first-class TypeScript support.
2 lines • 1.13 kB
JavaScript
;Object.defineProperty(exports,'__esModule',{value:true});function p(s){if(typeof s=="string")return s;if(typeof s=="number"||typeof s=="bigint")return String(s);if(s==null||typeof s=="boolean")return "";let e="";if(Array.isArray(s)){let a=0,r,n;for(;a<s.length;a++)(r=s[a])&&(n=p(r))&&(e&&(e+=" "),e+=n);return e}for(let a in s)s[a]&&(e&&(e+=" "),e+=a);return e}function y(...s){let e="",a=0,r,n;for(;a<s.length;a++)(r=s[a])&&(n=p(r))&&(e&&(e+=" "),e+=n);return e}function m(s,e,a){let r={...s};if(e)for(let n in e)e[n]!==void 0&&(!a||!a.includes(n))&&(r[n]=e[n]);return r}var x=s=>{let{base:e,variants:a,compoundVariants:r,defaultVariants:n,classNameResolver:u=y}=s;return a?i=>{let o=m(n,i,["className"]),c=[];for(let l in o){let t=a[l]?.[o[l]];t&&c.push(t);}if(r)for(let l=0;l<r.length;l++){let t=r[l],V=true;for(let f in t){if(f==="className")continue;let d=t[f],C=o[f];if(Array.isArray(d)?!d.includes(C):d!==C){V=false;break}}V&&t.className&&c.push(t.className);}return u(e,c,i?.className)}:i=>u(e,i?.className)},T=x;exports.cv=x;exports.default=T;//# sourceMappingURL=cv.cjs.map
//# sourceMappingURL=cv.cjs.map