tailwind-variants 0.0.6 → 0.0.8

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.
package/dist/index.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
  var classVarianceAuthority = require('class-variance-authority');
4
4
  var tailwindMerge = require('tailwind-merge');
5
5
 
6
- var d=e=>{var c;return (c=e==null?void 0:e.filter)==null?void 0:c.call(e,n=>n&&String(n).match(/^[\w\s]*$/))},w=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,D=e=>e&&Object.keys(e).length>0,b=(...e)=>(c={})=>c.twMerge?(D(c.twMergeConfig)?tailwindMerge.extendTailwindMerge(c.twMergeConfig):tailwindMerge.twMerge)(classVarianceAuthority.cx(e)):classVarianceAuthority.cx(e),S=e=>Array.from(new Set(e));var K=(e,c={twMerge:!0,twMergeConfig:{}})=>n=>{var V;if((e==null?void 0:e.variants)==null)return b(e==null?void 0:e.base,n==null?void 0:n.class,n==null?void 0:n.className)(c);let{slots:C=[],variants:g,defaultVariants:f}=e,x=Array.isArray(C)?S(["base",...C]):[],M=t=>{let a=n==null?void 0:n[t],r=f==null?void 0:f[t];if(a===null)return null;let i=w(a)||w(r);return g[t][i]},h=Object.keys(g).map(M),N=t=>d(Object.keys(g).map(a=>{let r=M(a);return !r||typeof r!="object"?null:r[t]})),A=n&&Object.entries(n).reduce((t,[a,r])=>(r===void 0||(t[a]=r),t),{}),j=(V=e==null?void 0:e.compoundVariants)==null?void 0:V.reduce((t,{class:a,className:r,...i})=>Object.entries(i).every(([m,u])=>Array.isArray(u)?u.includes({...f,...A}[m]):{...f,...A}[m]===u)?[...t,a,r]:t,[]),B=()=>{let t=d(j);return Array.isArray(t)?t.reduce((a,r)=>(typeof r=="string"&&(a.base=b(a.base,r)(c)),typeof r=="object"&&Object.entries(r).forEach(([i,m])=>{a[i]=b(a[i],m)(c);}),a),{}):t};if(x.length>1){let t=N("base"),a=B(),r=x.slice(1).reduce((i,m)=>(i[m]=u=>b(N(m),a[m],u==null?void 0:u.class,u==null?void 0:u.className)(c),i),{});return {base:i=>b(e==null?void 0:e.base,t,a.base,i==null?void 0:i.class,i==null?void 0:i.className)(c),...r}}return b(e==null?void 0:e.base,h,j,n==null?void 0:n.class,n==null?void 0:n.className)(c)};
6
+ var O=e=>{var i;return (i=e==null?void 0:e.filter)==null?void 0:i.call(e,n=>n&&String(n).match(/^[\w\s]*$/))},o=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,D=e=>e&&Object.keys(e).length>0,f=(...e)=>(i={})=>i.twMerge?(D(i.twMergeConfig)?tailwindMerge.extendTailwindMerge(i.twMergeConfig):tailwindMerge.twMerge)(classVarianceAuthority.cx(e)):classVarianceAuthority.cx(e),S=e=>Array.from(new Set(e));var K=(e,i={twMerge:!0,twMergeConfig:{}})=>n=>{var j,V;if((e==null?void 0:e.variants)==null)return f(e==null?void 0:e.base,n==null?void 0:n.class,n==null?void 0:n.className)(i);let{slots:d=[],variants:g,defaultVariants:b}=e,w=Array.isArray(d)?S(["base",...d]):[],x=t=>{let r=n==null?void 0:n[t],a=b==null?void 0:b[t];if(r===null)return null;let u=o(r)||o(a);return g[t][u]},h=Object.keys(g).map(x),C=t=>Object.keys(g).map(r=>{let a=x(r);return !a||typeof a!="object"?null:a[t]}),M=n&&Object.entries(n).reduce((t,[r,a])=>(a===void 0||(t[r]=a),t),{}),A=(j=e==null?void 0:e.compoundVariants)==null?void 0:j.reduce((t,{class:r,className:a,...u})=>Object.entries(u).every(([m,c])=>Array.isArray(c)?c.includes({...b,...M}[m]):{...b,...M}[m]===c)?[...t,r,a]:t,[]),B=()=>{let t=O(A);return Array.isArray(t)?t.reduce((r,a)=>(typeof a=="string"&&(r.base=f(r.base,a)(i)),typeof a=="object"&&Object.entries(a).forEach(([u,m])=>{r[u]=f(r[u],m)(i);}),r),{}):t};if(w.length>1){let t=C("base"),r=(V=B())!=null?V:[];return {...w.reduce((u,m)=>(u[m]=c=>f(m==="base"?[e==null?void 0:e.base,t]:[],C(m),r==null?void 0:r[m],c==null?void 0:c.class,c==null?void 0:c.className)(i),u),{})}}return f(e==null?void 0:e.base,h,A,n==null?void 0:n.class,n==null?void 0:n.className)(i)};
7
7
 
8
8
  exports.tv = K;
package/dist/index.d.ts CHANGED
@@ -1,28 +1,25 @@
1
1
  import {TVConfig} from "./config";
2
- import {
3
- ClassValue,
4
- ClassProp,
5
- OmitUndefined,
6
- StringToBoolean,
7
- StringArrayToFunctions,
8
- AddItemToArray,
9
- } from "./utils";
2
+ import {ClassValue, ClassProp, OmitUndefined, StringToBoolean, AddItemToArray} from "./utils";
10
3
 
11
4
  type TVDefaultSlot = "";
12
5
  type TVBaseName = "base";
13
6
 
7
+ type SlotsWithBase<S extends string[]> = AddItemToArray<S, TVBaseName>;
8
+
9
+ type SlotsClassValue<S extends string[]> = {
10
+ [K in SlotsWithBase<S>[number]]: ClassValue;
11
+ };
12
+
14
13
  export declare type TVVariants<S extends string[]> = {
15
14
  [key: string]: {
16
- [key: string]: S extends TVDefaultSlot
17
- ? ClassValue
18
- : {[P in S[number]]?: ClassValue} | ClassValue;
15
+ [key: string]: S extends TVDefaultSlot ? ClassValue : SlotsClassValue<S> | ClassValue;
19
16
  };
20
17
  };
21
18
 
22
19
  export declare type TVCompoundVariants<V extends TVVariants<S>, S extends string[]> = Array<
23
20
  {
24
21
  [K in keyof V]?: StringToBoolean<keyof V[K]>;
25
- } & ClassProp<{[K in S[number]]?: ClassValue} | ClassValue>
22
+ } & ClassProp<SlotsClassValue<S> | ClassValue>
26
23
  >;
27
24
 
28
25
  export declare type TVDefaultVariants<V extends TVVariants<S>, S extends string[]> = {
@@ -37,12 +34,14 @@ export declare type TVReturnType<V extends TVVariants<S>, S extends string> = (
37
34
  props?: TVProps<V, S[]>,
38
35
  ) => S extends TVDefaultSlot
39
36
  ? string
40
- : StringArrayToFunctions<AddItemToArray<S[], TVBaseName>, ClassProp>;
37
+ : {
38
+ [K in SlotsWithBase<S[]>[number]]: (props?: ClassProp) => string;
39
+ };
41
40
 
42
41
  export declare function tv<
43
42
  V extends TVVariants<S[]>,
44
- CV extends TVCompoundVariants<V, S[]>,
45
43
  DV extends TVDefaultVariants<V, S[]>,
44
+ CV extends TVCompoundVariants<V, S[]>,
46
45
  C extends TVConfig,
47
46
  S extends string = TVDefaultSlot,
48
47
  >(
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { cx } from 'class-variance-authority';
2
2
  import { extendTailwindMerge, twMerge } from 'tailwind-merge';
3
3
 
4
- var d=e=>{var c;return (c=e==null?void 0:e.filter)==null?void 0:c.call(e,n=>n&&String(n).match(/^[\w\s]*$/))},w=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,D=e=>e&&Object.keys(e).length>0,b=(...e)=>(c={})=>c.twMerge?(D(c.twMergeConfig)?extendTailwindMerge(c.twMergeConfig):twMerge)(cx(e)):cx(e),S=e=>Array.from(new Set(e));var K=(e,c={twMerge:!0,twMergeConfig:{}})=>n=>{var V;if((e==null?void 0:e.variants)==null)return b(e==null?void 0:e.base,n==null?void 0:n.class,n==null?void 0:n.className)(c);let{slots:C=[],variants:g,defaultVariants:f}=e,x=Array.isArray(C)?S(["base",...C]):[],M=t=>{let a=n==null?void 0:n[t],r=f==null?void 0:f[t];if(a===null)return null;let i=w(a)||w(r);return g[t][i]},h=Object.keys(g).map(M),N=t=>d(Object.keys(g).map(a=>{let r=M(a);return !r||typeof r!="object"?null:r[t]})),A=n&&Object.entries(n).reduce((t,[a,r])=>(r===void 0||(t[a]=r),t),{}),j=(V=e==null?void 0:e.compoundVariants)==null?void 0:V.reduce((t,{class:a,className:r,...i})=>Object.entries(i).every(([m,u])=>Array.isArray(u)?u.includes({...f,...A}[m]):{...f,...A}[m]===u)?[...t,a,r]:t,[]),B=()=>{let t=d(j);return Array.isArray(t)?t.reduce((a,r)=>(typeof r=="string"&&(a.base=b(a.base,r)(c)),typeof r=="object"&&Object.entries(r).forEach(([i,m])=>{a[i]=b(a[i],m)(c);}),a),{}):t};if(x.length>1){let t=N("base"),a=B(),r=x.slice(1).reduce((i,m)=>(i[m]=u=>b(N(m),a[m],u==null?void 0:u.class,u==null?void 0:u.className)(c),i),{});return {base:i=>b(e==null?void 0:e.base,t,a.base,i==null?void 0:i.class,i==null?void 0:i.className)(c),...r}}return b(e==null?void 0:e.base,h,j,n==null?void 0:n.class,n==null?void 0:n.className)(c)};
4
+ var O=e=>{var i;return (i=e==null?void 0:e.filter)==null?void 0:i.call(e,n=>n&&String(n).match(/^[\w\s]*$/))},o=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,D=e=>e&&Object.keys(e).length>0,f=(...e)=>(i={})=>i.twMerge?(D(i.twMergeConfig)?extendTailwindMerge(i.twMergeConfig):twMerge)(cx(e)):cx(e),S=e=>Array.from(new Set(e));var K=(e,i={twMerge:!0,twMergeConfig:{}})=>n=>{var j,V;if((e==null?void 0:e.variants)==null)return f(e==null?void 0:e.base,n==null?void 0:n.class,n==null?void 0:n.className)(i);let{slots:d=[],variants:g,defaultVariants:b}=e,w=Array.isArray(d)?S(["base",...d]):[],x=t=>{let r=n==null?void 0:n[t],a=b==null?void 0:b[t];if(r===null)return null;let u=o(r)||o(a);return g[t][u]},h=Object.keys(g).map(x),C=t=>Object.keys(g).map(r=>{let a=x(r);return !a||typeof a!="object"?null:a[t]}),M=n&&Object.entries(n).reduce((t,[r,a])=>(a===void 0||(t[r]=a),t),{}),A=(j=e==null?void 0:e.compoundVariants)==null?void 0:j.reduce((t,{class:r,className:a,...u})=>Object.entries(u).every(([m,c])=>Array.isArray(c)?c.includes({...b,...M}[m]):{...b,...M}[m]===c)?[...t,r,a]:t,[]),B=()=>{let t=O(A);return Array.isArray(t)?t.reduce((r,a)=>(typeof a=="string"&&(r.base=f(r.base,a)(i)),typeof a=="object"&&Object.entries(a).forEach(([u,m])=>{r[u]=f(r[u],m)(i);}),r),{}):t};if(w.length>1){let t=C("base"),r=(V=B())!=null?V:[];return {...w.reduce((u,m)=>(u[m]=c=>f(m==="base"?[e==null?void 0:e.base,t]:[],C(m),r==null?void 0:r[m],c==null?void 0:c.class,c==null?void 0:c.className)(i),u),{})}}return f(e==null?void 0:e.base,h,A,n==null?void 0:n.class,n==null?void 0:n.className)(i)};
5
5
 
6
6
  export { K as tv };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tailwind-variants",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "🦄 Tailwindcss first-class variant API",
5
5
  "author": "Junior Garcia <jrgarciadev@gmail.com>",
6
6
  "license": "MIT",