tailwind-variants 0.0.27 → 0.0.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ import n from 'fs';
2
+ import s from 'path';
3
+
4
+ var t=e=>{n.writeFileSync(s.join(__dirname,"generated.d.ts"),e);},c=e=>`export type TVGeneratedScreens = ${Object.keys(e).map(r=>`"${r}"`).join(" | ")};
5
+ `,p=e=>{queueMicrotask(()=>{if(e!=null&&e.screens){let r=c(e.screens);t(r);}});};
6
+
7
+ export { p as a };
@@ -0,0 +1,3 @@
1
+ import type {DefaultScreens} from "./transformer";
2
+
3
+ export type TVGeneratedScreens = DefaultScreens;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var n = require('fs');
4
+ var s = require('path');
5
+
6
+ var t=e=>{n.writeFileSync(s.join(__dirname,"generated.d.ts"),e);},c=e=>`export type TVGeneratedScreens = ${Object.keys(e).map(r=>`"${r}"`).join(" | ")};
7
+ `,p=e=>{queueMicrotask(()=>{if(e!=null&&e.screens){let r=c(e.screens);t(r);}});};
8
+
9
+ exports.generateTypes = p;
@@ -0,0 +1,7 @@
1
+ import {Config} from "tailwindcss/types/config";
2
+
3
+ export type GenerateTypes = {
4
+ (theme: Config["theme"]): void;
5
+ };
6
+
7
+ export declare const generateTypes: GenerateTypes;
@@ -0,0 +1 @@
1
+ export { a as generateTypes } from './chunk-FUBUDMV2.js';
package/dist/index.cjs CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  var tailwindMerge = require('tailwind-merge');
4
4
 
5
- var h=(...e)=>e.flat(1/0).filter(Boolean).join(" "),v=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,i=e=>!e||typeof e!="object"||Object.keys(e).length===0,B=(...e)=>[...e].flat().filter(Boolean),j=(...e)=>(l={})=>l.twMerge?(i(l.twMergeConfig)?tailwindMerge.twMerge:tailwindMerge.extendTailwindMerge(l.twMergeConfig))(h(e)):h(e),E=(e,l)=>{let y={};return typeof e!="object"||typeof l!="object"||Object.keys(e).forEach(f=>{l[f]?y[f]=h([e[f],l[f]]):y[f]=e[f];}),y},S=(e,l)=>{let y={};for(let f in e)l!=null&&l.hasOwnProperty(f)?y[f]=typeof e[f]=="object"?S(e[f],l[f]):l[f]+" "+e[f]:y[f]=e[f];for(let f in l)y.hasOwnProperty(f)||(y[f]=l[f]);return y},N=e=>!e||typeof e!="string"?e:e.replace(/\s+/g," ").trim();var re=(e,l={twMerge:!0,twMergeConfig:{}})=>{var T,k,F,I,R;let{slots:y={},variants:f={},compoundVariants:b=[],defaultVariants:J={}}=e,A=h((T=e==null?void 0:e.extend)==null?void 0:T.base,e==null?void 0:e.base),d=S(f,(k=e==null?void 0:e.extend)==null?void 0:k.variants),M=Object.assign({},(F=e==null?void 0:e.extend)==null?void 0:F.defaultVariants,J),C=i(y)?{}:{base:e==null?void 0:e.base,...y},w=i((I=e==null?void 0:e.extend)==null?void 0:I.slots)?C:E((R=e==null?void 0:e.extend)==null?void 0:R.slots,i(C)?{base:e==null?void 0:e.base}:C),x=u=>{var q,z,D;if(i(d)&&i(y)&&i((q=e==null?void 0:e.extend)==null?void 0:q.slots))return j(A,u==null?void 0:u.class,u==null?void 0:u.className)(l);if(b&&!Array.isArray(b))throw new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof b}`);let P=(t,r,n=[],a)=>{let c=n;if(typeof r=="string")c.push(N(r).split(" ").map(s=>`${t}:${s}`));else if(Array.isArray(r))c.push(r.flatMap(s=>`${t}:${s}`));else if(typeof r=="object"&&typeof a=="string"){let s=r==null?void 0:r[a];if(s&&typeof s=="string"){let m=N(s);c[a]=c[a]?[...c[a],...m.split(" ").map(g=>`${t}:${g}`)]:m.split(" ").map(g=>`${t}:${g}`);}else Array.isArray(s)&&s.length>0&&(c[a]=s.flatMap(m=>`${t}:${m}`));}return c},V=(t,r=d,n=null)=>{let a=r==null?void 0:r[t];if(typeof a!="object"||i(a))return null;let c=u==null?void 0:u[t],s=M==null?void 0:M[t],m=[];if(c===null)return null;let g=v(c);typeof g=="object"&&(m=Object.keys(g).reduce((G,$)=>{let H=g[$],_=a==null?void 0:a[H];return $==="initial"?(s=H,G):P($,_,G,n)},[]));let O=a[g]||a[v(s)];return typeof m=="object"&&typeof n=="string"&&m[n]?E(m,O):m.length>0?[O,...m]:O},Q=()=>{var n;let t=d?Object.keys(d).map(a=>V(a,d)):null,r=(n=e==null?void 0:e.extend)!=null&&n.variants?Object.keys(e.extend.variants).map(a=>V(a,e.extend.variants)):null;return B(r,t)},X=t=>!d||typeof d!="object"?null:Object.keys(d).map(r=>{let n=V(r,d,t);return t==="base"&&typeof n=="string"?n:n&&n[t]}).filter(Boolean),Y=u&&Object.fromEntries(Object.entries(u).filter(([,t])=>t!==void 0)),U=(t=[])=>t==null?void 0:t.filter(({class:r,className:n,...a})=>Object.entries(a).every(([c,s])=>{var O;let m=typeof(u==null?void 0:u[c])=="object"?(O=u[c])==null?void 0:O.initial:{},g={...M,...m,...Y};return Array.isArray(s)?s.includes(g[c]):g[c]===s})).flatMap(({class:r,className:n})=>[r,n]),W=()=>{var n;let t=U(b),r=U((n=e==null?void 0:e.extend)==null?void 0:n.compoundVariants);return B(r,t)},Z=()=>{let t=W();return Array.isArray(t)?t.reduce((r,n)=>(typeof n=="string"&&(r.base=j(r.base,n)(l)),typeof n=="object"&&Object.entries(n).forEach(([a,c])=>{r[a]=j(r[a],c)(l);}),r),{}):t};if(!i(y)||!i((z=e==null?void 0:e.extend)==null?void 0:z.slots)){let t=(D=Z())!=null?D:[];return {...typeof w=="object"&&!i(w)?Object.keys(w).reduce((n,a)=>(n[a]=c=>j(w[a],X(a),t==null?void 0:t[a],c==null?void 0:c.class,c==null?void 0:c.className)(l),n),{}):{}}}return j(A,Q(),W(),u==null?void 0:u.class,u==null?void 0:u.className)(l)},L=()=>{if(!(!d||typeof d!="object"))return Object.keys(d)};return x.variantkeys=L(),x.base=A,x.slots=w,x.variants=d,x.defaultVariants=M,x.compoundVariants=b,x};
5
+ var h=(...e)=>e.flat(1/0).filter(Boolean).join(" "),V=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,g=e=>!e||typeof e!="object"||Object.keys(e).length===0,H=(...e)=>[...e].flat().filter(Boolean),M=(...e)=>(l={})=>l.twMerge?(g(l.twMergeConfig)?tailwindMerge.twMerge:tailwindMerge.extendTailwindMerge(l.twMergeConfig))(h(e)):h(e),B=(e,l)=>{let y={};return typeof e!="object"||typeof l!="object"||Object.keys(e).forEach(c=>{l[c]?y[c]=h([e[c],l[c]]):y[c]=e[c];}),y},E=(e,l)=>{let y={};for(let c in e)l!=null&&l.hasOwnProperty(c)?y[c]=typeof e[c]=="object"?E(e[c],l[c]):l[c]+" "+e[c]:y[c]=e[c];for(let c in l)y.hasOwnProperty(c)||(y[c]=l[c]);return y},S=e=>!e||typeof e!="string"?e:e.replace(/\s+/g," ").trim();var re=(e,l={twMerge:!0,twMergeConfig:{}})=>{var N,T,v,F,k;let{slots:y={},variants:c={},compoundVariants:b=[],defaultVariants:J={}}=e,A=h((N=e==null?void 0:e.extend)==null?void 0:N.base,e==null?void 0:e.base),i=E(c,(T=e==null?void 0:e.extend)==null?void 0:T.variants),j=Object.assign({},(v=e==null?void 0:e.extend)==null?void 0:v.defaultVariants,J),C=g(y)?{}:{base:e==null?void 0:e.base,...y},w=g((F=e==null?void 0:e.extend)==null?void 0:F.slots)?C:B((k=e==null?void 0:e.extend)==null?void 0:k.slots,g(C)?{base:e==null?void 0:e.base}:C),x=u=>{var W,q,z;if(g(i)&&g(y)&&g((W=e==null?void 0:e.extend)==null?void 0:W.slots))return M(A,u==null?void 0:u.class,u==null?void 0:u.className)(l);if(b&&!Array.isArray(b))throw new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof b}`);let P=(t,r,a=[],n)=>{let f=a;if(typeof r=="string")f.push(S(r).split(" ").map(s=>`${t}:${s}`));else if(Array.isArray(r))f.push(r.flatMap(s=>`${t}:${s}`));else if(typeof r=="object"&&typeof n=="string"){let s=r==null?void 0:r[n];if(s&&typeof s=="string"){let m=S(s);f[n]=f[n]?[...f[n],...m.split(" ").map(d=>`${t}:${d}`)]:m.split(" ").map(d=>`${t}:${d}`);}else Array.isArray(s)&&s.length>0&&(f[n]=s.flatMap(m=>`${t}:${m}`));}return f},I=(t,r=i,a=null)=>{let n=r==null?void 0:r[t];if(typeof n!="object"||g(n))return null;let f=u==null?void 0:u[t],s=j==null?void 0:j[t],m=[];if(f===null)return null;let d=V(f);typeof d=="object"&&(m=Object.keys(d).reduce((D,$)=>{let G=d[$],_=n==null?void 0:n[G];return $==="initial"?(s=G,D):P($,_,D,a)},[]));let O=n[d]||n[V(s)];return typeof m=="object"&&typeof a=="string"&&m[a]?B(m,O):m.length>0?[O,...m]:O},Q=()=>i?Object.keys(i).map(t=>I(t,i)):null,X=t=>!i||typeof i!="object"?null:Object.keys(i).map(r=>{let a=I(r,i,t);return t==="base"&&typeof a=="string"?a:a&&a[t]}).filter(Boolean),Y=u&&Object.fromEntries(Object.entries(u).filter(([,t])=>t!==void 0)),R=(t=[])=>t==null?void 0:t.filter(({class:r,className:a,...n})=>Object.entries(n).every(([f,s])=>{var O;let m=typeof(u==null?void 0:u[f])=="object"?(O=u[f])==null?void 0:O.initial:{},d={...j,...m,...Y};return Array.isArray(s)?s.includes(d[f]):d[f]===s})).flatMap(({class:r,className:a})=>[r,a]),U=()=>{var a;let t=R(b),r=R((a=e==null?void 0:e.extend)==null?void 0:a.compoundVariants);return H(r,t)},Z=()=>{let t=U();return Array.isArray(t)?t.reduce((r,a)=>(typeof a=="string"&&(r.base=M(r.base,a)(l)),typeof a=="object"&&Object.entries(a).forEach(([n,f])=>{r[n]=M(r[n],f)(l);}),r),{}):t};if(!g(y)||!g((q=e==null?void 0:e.extend)==null?void 0:q.slots)){let t=(z=Z())!=null?z:[];return {...typeof w=="object"&&!g(w)?Object.keys(w).reduce((a,n)=>(a[n]=f=>M(w[n],X(n),t==null?void 0:t[n],f==null?void 0:f.class,f==null?void 0:f.className)(l),a),{}):{}}}return M(A,Q(),U(),u==null?void 0:u.class,u==null?void 0:u.className)(l)},L=()=>{if(!(!i||typeof i!="object"))return Object.keys(i)};return x.variantKeys=L(),x.base=A,x.slots=w,x.variants=i,x.defaultVariants=j,x.compoundVariants=b,x};
6
6
 
7
7
  exports.tv = re;
package/dist/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import {TVConfig} from "./config";
2
+ import {TVGeneratedScreens} from "./generated";
2
3
  import {ClassValue, ClassProp, OmitUndefined, StringToBoolean} from "./utils";
3
4
 
4
5
  type TVBaseName = "base";
5
6
 
6
- type TVScreens = "initial" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
7
+ type TVScreens = "initial" | TVGeneratedScreens;
7
8
 
8
9
  type TVSlots = Record<string, ClassValue> | undefined;
9
10
 
@@ -89,7 +90,7 @@ export type TVReturnProps<V extends TVVariants<S>, S extends TVSlots, B extends
89
90
  variants: V;
90
91
  defaultVariants: TVDefaultVariants<V, S>;
91
92
  compoundVariants: TVCompoundVariants<V, S, B>;
92
- variantkeys: TVVariantKeys<V, S>;
93
+ variantKeys: TVVariantKeys<V, S>;
93
94
  };
94
95
 
95
96
  export type TVReturnType<
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a, g, c, f, e, d, b, h } from './chunk-C5RUXROF.js';
2
2
 
3
- var o=(e$1,x={twMerge:!0,twMergeConfig:{}})=>{var E,k,w,B,T;let{slots:V={},variants:I={},compoundVariants:s=[],defaultVariants:J={}}=e$1,A=a((E=e$1==null?void 0:e$1.extend)==null?void 0:E.base,e$1==null?void 0:e$1.base),l=g(I,(k=e$1==null?void 0:e$1.extend)==null?void 0:k.variants),i=Object.assign({},(w=e$1==null?void 0:e$1.extend)==null?void 0:w.defaultVariants,J),$=c(V)?{}:{base:e$1==null?void 0:e$1.base,...V},O=c((B=e$1==null?void 0:e$1.extend)==null?void 0:B.slots)?$:f((T=e$1==null?void 0:e$1.extend)==null?void 0:T.slots,c($)?{base:e$1==null?void 0:e$1.base}:$),y=c$1=>{var U,W,q;if(c(l)&&c(V)&&c((U=e$1==null?void 0:e$1.extend)==null?void 0:U.slots))return e(A,c$1==null?void 0:c$1.class,c$1==null?void 0:c$1.className)(x);if(s&&!Array.isArray(s))throw new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof s}`);let Q=(t,a,n=[],r)=>{let u=n;if(typeof a=="string")u.push(h(a).split(" ").map(f=>`${t}:${f}`));else if(Array.isArray(a))u.push(a.flatMap(f=>`${t}:${f}`));else if(typeof a=="object"&&typeof r=="string"){let f=a==null?void 0:a[r];if(f&&typeof f=="string"){let d=h(f);u[r]=u[r]?[...u[r],...d.split(" ").map(b=>`${t}:${b}`)]:d.split(" ").map(b=>`${t}:${b}`);}else Array.isArray(f)&&f.length>0&&(u[r]=f.flatMap(d=>`${t}:${d}`));}return u},v=(t,a=l,n=null)=>{let r=a==null?void 0:a[t];if(typeof r!="object"||c(r))return null;let u=c$1==null?void 0:c$1[t],f$1=i==null?void 0:i[t],d=[];if(u===null)return null;let b$1=b(u);typeof b$1=="object"&&(d=Object.keys(b$1).reduce((z,C)=>{let D=b$1[C],P=r==null?void 0:r[D];return C==="initial"?(f$1=D,z):Q(C,P,z,n)},[]));let j=r[b$1]||r[b(f$1)];return typeof d=="object"&&typeof n=="string"&&d[n]?f(d,j):d.length>0?[j,...d]:j},X=()=>{var n;let t=l?Object.keys(l).map(r=>v(r,l)):null,a=(n=e$1==null?void 0:e$1.extend)!=null&&n.variants?Object.keys(e$1.extend.variants).map(r=>v(r,e$1.extend.variants)):null;return d(a,t)},Y=t=>!l||typeof l!="object"?null:Object.keys(l).map(a=>{let n=v(a,l,t);return t==="base"&&typeof n=="string"?n:n&&n[t]}).filter(Boolean),Z=c$1&&Object.fromEntries(Object.entries(c$1).filter(([,t])=>t!==void 0)),F=(t=[])=>t==null?void 0:t.filter(({class:a,className:n,...r})=>Object.entries(r).every(([u,f])=>{var j;let d=typeof(c$1==null?void 0:c$1[u])=="object"?(j=c$1[u])==null?void 0:j.initial:{},b={...i,...d,...Z};return Array.isArray(f)?f.includes(b[u]):b[u]===f})).flatMap(({class:a,className:n})=>[a,n]),R=()=>{var n;let t=F(s),a=F((n=e$1==null?void 0:e$1.extend)==null?void 0:n.compoundVariants);return d(a,t)},_=()=>{let t=R();return Array.isArray(t)?t.reduce((a,n)=>(typeof n=="string"&&(a.base=e(a.base,n)(x)),typeof n=="object"&&Object.entries(n).forEach(([r,u])=>{a[r]=e(a[r],u)(x);}),a),{}):t};if(!c(V)||!c((W=e$1==null?void 0:e$1.extend)==null?void 0:W.slots)){let t=(q=_())!=null?q:[];return {...typeof O=="object"&&!c(O)?Object.keys(O).reduce((n,r)=>(n[r]=u=>e(O[r],Y(r),t==null?void 0:t[r],u==null?void 0:u.class,u==null?void 0:u.className)(x),n),{}):{}}}return e(A,X(),R(),c$1==null?void 0:c$1.class,c$1==null?void 0:c$1.className)(x)},L=()=>{if(!(!l||typeof l!="object"))return Object.keys(l)};return y.variantkeys=L(),y.base=A,y.slots=O,y.variants=l,y.defaultVariants=i,y.compoundVariants=s,y};
3
+ var o=(e$1,i={twMerge:!0,twMergeConfig:{}})=>{var M,S,E,w,B;let{slots:A={},variants:I={},compoundVariants:s=[],defaultVariants:J={}}=e$1,$=a((M=e$1==null?void 0:e$1.extend)==null?void 0:M.base,e$1==null?void 0:e$1.base),l=g(I,(S=e$1==null?void 0:e$1.extend)==null?void 0:S.variants),x=Object.assign({},(E=e$1==null?void 0:e$1.extend)==null?void 0:E.defaultVariants,J),C=c(A)?{}:{base:e$1==null?void 0:e$1.base,...A},O=c((w=e$1==null?void 0:e$1.extend)==null?void 0:w.slots)?C:f((B=e$1==null?void 0:e$1.extend)==null?void 0:B.slots,c(C)?{base:e$1==null?void 0:e$1.base}:C),y=c$1=>{var R,U,W;if(c(l)&&c(A)&&c((R=e$1==null?void 0:e$1.extend)==null?void 0:R.slots))return e($,c$1==null?void 0:c$1.class,c$1==null?void 0:c$1.className)(i);if(s&&!Array.isArray(s))throw new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof s}`);let Q=(t,a,r=[],n)=>{let u=r;if(typeof a=="string")u.push(h(a).split(" ").map(f=>`${t}:${f}`));else if(Array.isArray(a))u.push(a.flatMap(f=>`${t}:${f}`));else if(typeof a=="object"&&typeof n=="string"){let f=a==null?void 0:a[n];if(f&&typeof f=="string"){let b=h(f);u[n]=u[n]?[...u[n],...b.split(" ").map(d=>`${t}:${d}`)]:b.split(" ").map(d=>`${t}:${d}`);}else Array.isArray(f)&&f.length>0&&(u[n]=f.flatMap(b=>`${t}:${b}`));}return u},T=(t,a=l,r=null)=>{let n=a==null?void 0:a[t];if(typeof n!="object"||c(n))return null;let u=c$1==null?void 0:c$1[t],f$1=x==null?void 0:x[t],b$1=[];if(u===null)return null;let d=b(u);typeof d=="object"&&(b$1=Object.keys(d).reduce((q,V)=>{let z=d[V],P=n==null?void 0:n[z];return V==="initial"?(f$1=z,q):Q(V,P,q,r)},[]));let j=n[d]||n[b(f$1)];return typeof b$1=="object"&&typeof r=="string"&&b$1[r]?f(b$1,j):b$1.length>0?[j,...b$1]:j},X=()=>l?Object.keys(l).map(t=>T(t,l)):null,Y=t=>!l||typeof l!="object"?null:Object.keys(l).map(a=>{let r=T(a,l,t);return t==="base"&&typeof r=="string"?r:r&&r[t]}).filter(Boolean),Z=c$1&&Object.fromEntries(Object.entries(c$1).filter(([,t])=>t!==void 0)),k=(t=[])=>t==null?void 0:t.filter(({class:a,className:r,...n})=>Object.entries(n).every(([u,f])=>{var j;let b=typeof(c$1==null?void 0:c$1[u])=="object"?(j=c$1[u])==null?void 0:j.initial:{},d={...x,...b,...Z};return Array.isArray(f)?f.includes(d[u]):d[u]===f})).flatMap(({class:a,className:r})=>[a,r]),F=()=>{var r;let t=k(s),a=k((r=e$1==null?void 0:e$1.extend)==null?void 0:r.compoundVariants);return d(a,t)},_=()=>{let t=F();return Array.isArray(t)?t.reduce((a,r)=>(typeof r=="string"&&(a.base=e(a.base,r)(i)),typeof r=="object"&&Object.entries(r).forEach(([n,u])=>{a[n]=e(a[n],u)(i);}),a),{}):t};if(!c(A)||!c((U=e$1==null?void 0:e$1.extend)==null?void 0:U.slots)){let t=(W=_())!=null?W:[];return {...typeof O=="object"&&!c(O)?Object.keys(O).reduce((r,n)=>(r[n]=u=>e(O[n],Y(n),t==null?void 0:t[n],u==null?void 0:u.class,u==null?void 0:u.className)(i),r),{}):{}}}return e($,X(),F(),c$1==null?void 0:c$1.class,c$1==null?void 0:c$1.className)(i)},L=()=>{if(!(!l||typeof l!="object"))return Object.keys(l)};return y.variantKeys=L(),y.base=$,y.slots=O,y.variants=l,y.defaultVariants=x,y.compoundVariants=s,y};
4
4
 
5
5
  export { o as tv };
@@ -1,12 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var b=["xs","sm","md","lg","xl","2xl"],a={tv:/tv\({[\s\S]*?}\)/g,tvContent:/\({[\s\S]*?}\)/g,comment:/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm,blankLine:/^\s*$(?:\r\n?|\n)/gm,ext:/\.\w+/g},u=n=>Array.isArray(n),g=n=>typeof n=="string",m=n=>typeof n=="object",y=n=>typeof n=="function",f=n=>!!(!n||u(n)&&n.length===0||g(n)&&n.length===0||m(n)&&Object.keys(n).length===0),E=(...n)=>t=>n.reduce((e,r)=>r(e),t),O=n=>n.replace(a.comment,"$1").toString().replace(a.blankLine,"").toString().match(a.tv),S=n=>{let t=O(n);if(!f(t))return t.map(e=>new Function(`return ${e.match(a.tvContent).toString()}`)())},h=n=>n.flatMap(t=>t).toString().replaceAll(","," ").split(" "),C=n=>{let t={};for(let[e,r]of Object.entries(n))t[e]={},t[e].original=r,!f(r)&&(t.temp=u(r)?h(r):r.split(" "),b.forEach(o=>{let s="";t.temp.forEach(i=>{s+=`${o}:${i} `;}),t[e][o]=s.trimEnd();}),delete t.temp);return t},$=n=>g(n)?n.split(" "):u(n)?h(n):m(n)?C(n):n,d=n=>{let{variants:t={}}=n;if(f(t))return;let e={};for(let[r,o]of Object.entries(t))if(e[r]={},!f(o))for(let[s,i]of Object.entries(o)){if(e[r][s]={},e[r][s].original=i,f(i))continue;let c=$(i);if(!f(c)){if(!u(c)){e[r][s]=c;continue}b.forEach(v=>{let x="";c.forEach(j=>{x+=`${v}:${j} `;}),e[r][s][v]=x.trimEnd();});}}return e},l=n=>{try{if(!n.includes("tailwind-variants"))return n;let t=S(n);if(f(t))return n;let e=JSON.stringify(t.map(r=>d(r)),void 0,2);return n.concat(`
4
- /*
3
+ var w = require('tailwindcss/resolveConfig');
4
+ var h = require('fs');
5
+ var C = require('path');
5
6
 
6
- ${e}
7
+ var S=t=>{h.writeFileSync(C.join(__dirname,"generated.d.ts"),t);},j=t=>`export type TVGeneratedScreens = ${Object.keys(t).map(n=>`"${n}"`).join(" | ")};
8
+ `,v=t=>{queueMicrotask(()=>{if(t!=null&&t.screens){let n=j(t.screens);S(n);}});};var m={tv:/tv\({[\s\S]*?}\)/g,tvContent:/\({[\s\S]*?}\)/g,comment:/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm,blankLine:/^\s*$(?:\r\n?|\n)/gm,extension:/\.\w+/g},l=t=>Array.isArray(t),b=t=>typeof t=="string",u=t=>typeof t=="object",y=t=>typeof t=="function",a=t=>!!(!t||l(t)&&t.length===0||b(t)&&t.length===0||u(t)&&Object.keys(t).length===0),$=(t,n)=>{let e="https://github.com/nextui-org/tailwind-variants/issues/new/choose";console.log("\x1B[31m%s\x1B[0m",`${t}: ${n.message}`),console.log(`If you think this is an issue, please submit it at ${e}`);},x=(...t)=>n=>t.reduce((e,r)=>r(e),n),O=t=>t.replace(m.comment,"$1").toString().replace(m.blankLine,"").toString().match(m.tv),k=t=>{let n=O(t);if(!a(n))return n.map(e=>new Function(`return ${e.match(m.tvContent).toString()}`)())},E=t=>t.flatMap(n=>n).toString().replaceAll(","," ").split(" "),V=(t,n)=>{let e={};for(let[r,s]of Object.entries(t))e[r]={},e[r].original=s,!a(s)&&(e.temp=l(s)?E(s):s.split(" "),n.forEach(c=>{let o="";e.temp.forEach(i=>{o+=`${c}:${i} `;}),e[r][c]=o.trimEnd();}),delete e.temp);return e},A=(t,n)=>b(t)?t.split(" "):l(t)?E(t):u(t)?V(t,n):t,F=(t,n)=>{let{variants:e={}}=t;if(a(e))return;let r={};for(let[s,c]of Object.entries(e))if(r[s]={},!a(c))for(let[o,i]of Object.entries(c)){if(r[s][o]={},r[s][o].original=i,a(i))continue;let f=A(i,n);if(!a(f)){if(!l(f)){r[s][o]=f;continue}n.forEach(g=>{let d="";f.forEach(T=>{d+=`${g}:${T} `;}),r[s][o][g]=d.trimEnd();});}}return r},L=(t,n)=>{try{if(!t.includes("tailwind-variants"))return t;let e=k(t);if(a(e))return t;let r=JSON.stringify(e.map(o=>F(o,n)),void 0,2),s=`
9
+ /* Tailwind Variants Transformed Content Start
7
10
 
8
- */
9
- `)}catch{return n}},p=n=>{let t=n.map(e=>{if(m(e)&&e.extension)return e.extension;let r=e.match(a.ext);return r||(r=e.split("{"),r=r.pop().replace("}","").split(",")),r.map(o=>o.replace(".","").split(".")).flat()}).flatMap(e=>e);return Array.from(new Set(t)).filter(e=>e!=="html")},T=n=>{var e,r;let t=Object.assign({},n);if(f(t==null?void 0:t.content)||g(t.content))return t;if(u(t.content)){let s=p(t.content).map(i=>[i,l]);return t.content={},t.content.files=n.content,t.content.transform=Object.fromEntries(s),t}if(m(t.content)){if(f((e=t.content)==null?void 0:e.files)||g(t.content.files))return t;if(f((r=t.content)==null?void 0:r.transform)){let s=p(t.content.files).map(i=>[i,l]);return t.content.transform=Object.fromEntries(s),t}if(y(t.content.transform)){let{transform:o}=n.content,i=p(t.content.files).map(c=>[c,E(l,o)]);return t.content.transform=Object.fromEntries(i),t}if(m(t.content.transform)){let{transform:o}=n.content,i=p(t.content.files).map(c=>[c,E(l,o[c]&&o[c])]);return t.content.transform=Object.fromEntries(i),t}return t}return t};
11
+ `,c=`
10
12
 
11
- exports.tvTransformer = l;
12
- exports.withTV = T;
13
+ Tailwind Variants Transformed Content End */
14
+ `;return t.concat(s+r+c)}catch(e){return $("Tailwind Variants Transform Failed",e),t}},p=t=>{let n=t.map(e=>{if(u(e)&&e.extension)return e.extension;let r=e.match(m.extension);return r||(r=e.split("{"),r=r.pop().replace("}","").split(",")),r.map(s=>s.replace(".","").split(".")).flat()}).flatMap(e=>e);return Array.from(new Set(n)).filter(e=>e!=="html")},q=t=>{var s;let n=w(t);if(v(n.theme),a((s=n.content)==null?void 0:s.files)||!l(n.content.files))return n;let e=c=>{var o,i;return L(c,Object.keys((i=(o=n.theme)==null?void 0:o.screens)!=null?i:{}))},r=n.content.transform;if(a(r)){let o=p(n.content.files).map(i=>[i,e]);return n.content.transform=Object.fromEntries(o),n}if(y(r)){let o=p(n.content.files).map(i=>[i,x(e,r)]);return n.content.transform=Object.fromEntries(o),n}if(u(r)){let o=p(n.content.files).map(i=>y(r[i])?[i,x(e,r[i])]:[i,e]);return n.content.transform=Object.fromEntries(o),n}return n};
15
+
16
+ exports.tvTransformer = L;
17
+ exports.withTV = q;
@@ -1,13 +1,16 @@
1
1
  import type {Config} from "tailwindcss/types/config";
2
+ import type {DefaultTheme} from "tailwindcss/types/generated/default-theme";
2
3
 
3
- export type TailwindConfig = Config;
4
+ export type DefaultScreens = keyof DefaultTheme["screens"];
4
5
 
5
6
  export type WithTV = {
6
- <TC extends TailwindConfig>(tvConfig: TailwindConfig): TC;
7
+ <C extends Config = {}>(tvConfig: Config): C;
7
8
  };
8
9
 
9
10
  export declare const withTV: WithTV;
10
11
 
11
- export type TVTransformer = {(content: string): string};
12
+ export type TVTransformer = {
13
+ (content: string, screens?: string[] | DefaultScreens[]): string;
14
+ };
12
15
 
13
16
  export declare const tvTransformer: TVTransformer;
@@ -1,9 +1,12 @@
1
- var b=["xs","sm","md","lg","xl","2xl"],a={tv:/tv\({[\s\S]*?}\)/g,tvContent:/\({[\s\S]*?}\)/g,comment:/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm,blankLine:/^\s*$(?:\r\n?|\n)/gm,ext:/\.\w+/g},u=n=>Array.isArray(n),g=n=>typeof n=="string",m=n=>typeof n=="object",y=n=>typeof n=="function",f=n=>!!(!n||u(n)&&n.length===0||g(n)&&n.length===0||m(n)&&Object.keys(n).length===0),E=(...n)=>t=>n.reduce((e,r)=>r(e),t),O=n=>n.replace(a.comment,"$1").toString().replace(a.blankLine,"").toString().match(a.tv),S=n=>{let t=O(n);if(!f(t))return t.map(e=>new Function(`return ${e.match(a.tvContent).toString()}`)())},h=n=>n.flatMap(t=>t).toString().replaceAll(","," ").split(" "),C=n=>{let t={};for(let[e,r]of Object.entries(n))t[e]={},t[e].original=r,!f(r)&&(t.temp=u(r)?h(r):r.split(" "),b.forEach(o=>{let s="";t.temp.forEach(i=>{s+=`${o}:${i} `;}),t[e][o]=s.trimEnd();}),delete t.temp);return t},$=n=>g(n)?n.split(" "):u(n)?h(n):m(n)?C(n):n,d=n=>{let{variants:t={}}=n;if(f(t))return;let e={};for(let[r,o]of Object.entries(t))if(e[r]={},!f(o))for(let[s,i]of Object.entries(o)){if(e[r][s]={},e[r][s].original=i,f(i))continue;let c=$(i);if(!f(c)){if(!u(c)){e[r][s]=c;continue}b.forEach(v=>{let x="";c.forEach(j=>{x+=`${v}:${j} `;}),e[r][s][v]=x.trimEnd();});}}return e},l=n=>{try{if(!n.includes("tailwind-variants"))return n;let t=S(n);if(f(t))return n;let e=JSON.stringify(t.map(r=>d(r)),void 0,2);return n.concat(`
2
- /*
1
+ import { a } from './chunk-FUBUDMV2.js';
2
+ import y from 'tailwindcss/resolveConfig';
3
3
 
4
- ${e}
4
+ var m={tv:/tv\({[\s\S]*?}\)/g,tvContent:/\({[\s\S]*?}\)/g,comment:/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm,blankLine:/^\s*$(?:\r\n?|\n)/gm,extension:/\.\w+/g},l=t=>Array.isArray(t),E=t=>typeof t=="string",u=t=>typeof t=="object",h=t=>typeof t=="function",c=t=>!!(!t||l(t)&&t.length===0||E(t)&&t.length===0||u(t)&&Object.keys(t).length===0),T=(t,n)=>{let e="https://github.com/nextui-org/tailwind-variants/issues/new/choose";console.log("\x1B[31m%s\x1B[0m",`${t}: ${n.message}`),console.log(`If you think this is an issue, please submit it at ${e}`);},x=(...t)=>n=>t.reduce((e,r)=>r(e),n),S=t=>t.replace(m.comment,"$1").toString().replace(m.blankLine,"").toString().match(m.tv),j=t=>{let n=S(t);if(!c(n))return n.map(e=>new Function(`return ${e.match(m.tvContent).toString()}`)())},b=t=>t.flatMap(n=>n).toString().replaceAll(","," ").split(" "),w=(t,n)=>{let e={};for(let[r,o]of Object.entries(t))e[r]={},e[r].original=o,!c(o)&&(e.temp=l(o)?b(o):o.split(" "),n.forEach(a=>{let s="";e.temp.forEach(i=>{s+=`${a}:${i} `;}),e[r][a]=s.trimEnd();}),delete e.temp);return e},O=(t,n)=>E(t)?t.split(" "):l(t)?b(t):u(t)?w(t,n):t,$=(t,n)=>{let{variants:e={}}=t;if(c(e))return;let r={};for(let[o,a]of Object.entries(e))if(r[o]={},!c(a))for(let[s,i]of Object.entries(a)){if(r[o][s]={},r[o][s].original=i,c(i))continue;let f=O(i,n);if(!c(f)){if(!l(f)){r[o][s]=f;continue}n.forEach(g=>{let v="";f.forEach(C=>{v+=`${g}:${C} `;}),r[o][s][g]=v.trimEnd();});}}return r},k=(t,n)=>{try{if(!t.includes("tailwind-variants"))return t;let e=j(t);if(c(e))return t;let r=JSON.stringify(e.map(s=>$(s,n)),void 0,2),o=`
5
+ /* Tailwind Variants Transformed Content Start
5
6
 
6
- */
7
- `)}catch{return n}},p=n=>{let t=n.map(e=>{if(m(e)&&e.extension)return e.extension;let r=e.match(a.ext);return r||(r=e.split("{"),r=r.pop().replace("}","").split(",")),r.map(o=>o.replace(".","").split(".")).flat()}).flatMap(e=>e);return Array.from(new Set(t)).filter(e=>e!=="html")},T=n=>{var e,r;let t=Object.assign({},n);if(f(t==null?void 0:t.content)||g(t.content))return t;if(u(t.content)){let s=p(t.content).map(i=>[i,l]);return t.content={},t.content.files=n.content,t.content.transform=Object.fromEntries(s),t}if(m(t.content)){if(f((e=t.content)==null?void 0:e.files)||g(t.content.files))return t;if(f((r=t.content)==null?void 0:r.transform)){let s=p(t.content.files).map(i=>[i,l]);return t.content.transform=Object.fromEntries(s),t}if(y(t.content.transform)){let{transform:o}=n.content,i=p(t.content.files).map(c=>[c,E(l,o)]);return t.content.transform=Object.fromEntries(i),t}if(m(t.content.transform)){let{transform:o}=n.content,i=p(t.content.files).map(c=>[c,E(l,o[c]&&o[c])]);return t.content.transform=Object.fromEntries(i),t}return t}return t};
7
+ `,a=`
8
8
 
9
- export { l as tvTransformer, T as withTV };
9
+ Tailwind Variants Transformed Content End */
10
+ `;return t.concat(o+r+a)}catch(e){return T("Tailwind Variants Transform Failed",e),t}},p=t=>{let n=t.map(e=>{if(u(e)&&e.extension)return e.extension;let r=e.match(m.extension);return r||(r=e.split("{"),r=r.pop().replace("}","").split(",")),r.map(o=>o.replace(".","").split(".")).flat()}).flatMap(e=>e);return Array.from(new Set(n)).filter(e=>e!=="html")},L=t=>{var o;let n=y(t);if(a(n.theme),c((o=n.content)==null?void 0:o.files)||!l(n.content.files))return n;let e=a=>{var s,i;return k(a,Object.keys((i=(s=n.theme)==null?void 0:s.screens)!=null?i:{}))},r=n.content.transform;if(c(r)){let s=p(n.content.files).map(i=>[i,e]);return n.content.transform=Object.fromEntries(s),n}if(h(r)){let s=p(n.content.files).map(i=>[i,x(e,r)]);return n.content.transform=Object.fromEntries(s),n}if(u(r)){let s=p(n.content.files).map(i=>h(r[i])?[i,x(e,r[i])]:[i,e]);return n.content.transform=Object.fromEntries(s),n}return n};
11
+
12
+ export { k as tvTransformer, L as withTV };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tailwind-variants",
3
- "version": "0.0.27",
3
+ "version": "0.0.29",
4
4
  "description": "🦄 Tailwindcss first-class variant API",
5
5
  "author": "Junior Garcia <jrgarciadev@gmail.com>",
6
6
  "license": "MIT",
@@ -43,6 +43,7 @@
43
43
  "@swc-node/jest": "^1.5.2",
44
44
  "@swc/cli": "0.1.57",
45
45
  "@swc/core": "1.2.198",
46
+ "@swc/helpers": "^0.4.14",
46
47
  "@types/jest": "28.1.1",
47
48
  "@types/node": "^18.11.18",
48
49
  "@typescript-eslint/eslint-plugin": "^5.42.0",