@klass/solid
Version:
Class variant utility for Solid
2 lines (1 loc) • 1.07 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("solid-js/web"),e=require("solid-js"),C=require("@klass/core"),q=s=>s!=="class"&&s!=="classList",L=s=>Object.keys(s).filter(q),h=["as"],b=["class","classList"],K=s=>[s.class,s.classList];function v(s,r,n={}){const{dp:{class:i,classList:p,...u}={},it:m}=n,a=C.klass(r,{it:m}),l=L(r.variants),d={as:s},P={class:i,classList:p},o=c=>{const[g,y,f,k]=e.splitProps(c,h,b,l);return t.createComponent(t.Dynamic,t.mergeProps({get component(){return e.mergeProps(d,g).as}},()=>e.mergeProps(u,k),{get class(){return a(f,K(e.mergeProps(P,y)))}}))};return o.klass=a,o}function F(s,r,n={}){const{dp:{class:i,classList:p,...u}={},as:m,it:a}=n,l=C.reklass(r,{as:m,it:a}),d=L(r.variants),P={as:s},o={class:i,classList:p},c=g=>{const[y,f,k,S]=e.splitProps(g,h,b,d);return t.createComponent(t.Dynamic,t.mergeProps({get component(){return e.mergeProps(P,y).as}},()=>e.mergeProps(u,S),{get class(){return l(k,K(e.mergeProps(o,f)))}}))};return c.reklass=l,c}exports.klassed=v;exports.reklassed=F;