"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),N=require("@klass/core"),P=e=>e!=="className",C=e=>Object.keys(e).filter(P),R=(e,t)=>{let a={},r={},s;for(s in e)(t.includes(s)?r:a)[s]=e[s];return[a,r]};function b(e,t,a={}){const{dp:{className:r,...s}={},it:d}=a,n=N.klass(t,{it:d}),l=C(t.variants),k=({as:c=e,className:m=r,...u},f)=>{const[p,y]=R(u,l);return i.createElement(c,{...s,...p,ref:f,className:n(y,m)})},o=i.forwardRef(k);return o.klass=n,o}function v(e,t,a={}){const{dp:{className:r,...s}={},as:d,it:n}=a,l=N.reklass(t,{as:d,it:n}),k=C(t.variants),o=({as:m=e,className:u=r,...f},p)=>{const[y,g]=R(f,k);return i.createElement(m,{...s,...y,ref:p,className:l(g,u)})},c=i.forwardRef(o);return c.reklass=l,c}exports.klassed=b;exports.reklassed=v;