@taishods/core 0.15.0 → 0.15.1

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/cli.js CHANGED
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  /*! TaishoDS — Copyright (c) 2026 Pablo Di Filippo. Licencia MIT (ver LICENSE). */
3
- import{parseArgs as wg}from"node:util";import{fileURLToPath as $g}from"node:url";import ti from"node:fs";import ei from"node:path";import up from"node:readline/promises";var is=Math.PI/180,De=[[4.0767416621,-3.3077115913,.2309699292],[-1.2684380046,2.6097574011,-.3413193965],[-.0041960863,-.7034186147,1.707614701]],Ql=[[.8224621,.177538,0],[.0331941,.9668058,0],[.0170827,.0723974,.9105199]],tc=Ql.map(e=>[0,1,2].map(n=>e[0]*De[0][n]+e[1]*De[1][n]+e[2]*De[2][n])),ec={srgb:De,p3:tc},Qs=[0,1,2].map(e=>.2126*De[0][e]+.7152*De[1][e]+.0722*De[2][e]);function nc(e,n,s){let o=n*Math.cos(s*is),r=n*Math.sin(s*is),a=e+.3963377774*o+.2158037573*r,l=e-.1055613458*o-.0638541728*r,i=e-.0894841775*o-1.291485548*r;return[a*a*a,l*l*l,i*i*i]}function Ke(e,n,s){let[o,r,a]=nc(e,n,s);return Qs[0]*o+Qs[1]*r+Qs[2]*a}function Ni(e,n,s,o){let r=[];if(Math.abs(e)<1e-4)if(Math.abs(n)<1e-12)Math.abs(s)>1e-12&&r.push(-o/s);else{let l=s*s-4*n*o;if(l>=0){let i=Math.sqrt(l);r.push((-s+i)/(2*n),(-s-i)/(2*n))}}else{let l=n/e,i=s/e,c=o/e,d=(3*i-l*l)/9,u=(9*l*i-27*c-2*l*l*l)/54,y=l/3,t=d*d*d+u*u;if(t>=0){let m=Math.sqrt(t);r.push(Math.cbrt(u+m)+Math.cbrt(u-m)-y)}else{let m=Math.acos(u/Math.sqrt(-d*d*d)),h=2*Math.sqrt(-d);for(let g=0;g<3;g++)r.push(h*Math.cos((m+2*Math.PI*g)/3)-y)}}let a=1/0;for(let l of r){for(let i=0;i<3;i++){let c=(3*e*l+2*n)*l+s;c!==0&&(l-=(((e*l+n)*l+s)*l+o)/c)}l>1e-9&&l<a&&(a=l)}return a}function Tn(e,n,s="srgb"){if(e<=0||e>=1)return 0;let o=Math.cos(n*is),r=Math.sin(n*is),a=[.3963377774*o+.2158037573*r,-.1055613458*o-.0638541728*r,-.0894841775*o-1.291485548*r],l=e*e,i=l*e,c=.5;for(let d of ec[s]){let u=i*(d[0]+d[1]+d[2]),y=3*l*(d[0]*a[0]+d[1]*a[1]+d[2]*a[2]),t=3*e*(d[0]*a[0]*a[0]+d[1]*a[1]*a[1]+d[2]*a[2]*a[2]),m=d[0]*a[0]**3+d[1]*a[1]**3+d[2]*a[2]**3,h=Ni(m,t,y,u),g=Ni(m,t,y,u-1);h<c&&(c=h),g<c&&(c=g)}return c}var Cn=(e,n)=>(Math.max(e,n)+.05)/(Math.min(e,n)+.05);var Xe={light:{background:{100:"oklch(1 0 0)",200:"oklch(0.98 0.002 240)"},overlay:{100:"oklch(0 0 0 / 0.40)",200:"oklch(0 0 0 / 0.60)"},gray:{100:"oklch(0.96 0 0)",200:"oklch(0.94 0 0)",300:"oklch(0.92 0 0)",400:"oklch(0.88 0 0)",500:"oklch(0.75 0 0)",600:"oklch(0.60 0 0)",700:"oklch(0.45 0 0)",800:"oklch(0.35 0 0)",900:"oklch(0.20 0 0)",1e3:"oklch(0.15 0 0)"},grayAlpha:{100:"oklch(0 0 0 / 0.05)",200:"oklch(0 0 0 / 0.08)",300:"oklch(0 0 0 / 0.12)",400:"oklch(0 0 0 / 0.16)",500:"oklch(0 0 0 / 0.24)",600:"oklch(0 0 0 / 0.36)",700:"oklch(0 0 0 / 0.48)",800:"oklch(0 0 0 / 0.64)",900:"oklch(0 0 0 / 0.82)",1e3:"oklch(0 0 0 / 0.92)"}},dark:{background:{100:"oklch(0.12 0 0)",200:"oklch(0.08 0 0)"},overlay:{100:"oklch(0 0 0 / 0.40)",200:"oklch(0 0 0 / 0.60)"},gray:{100:"oklch(0.18 0 0)",200:"oklch(0.22 0 0)",300:"oklch(0.26 0 0)",400:"oklch(0.32 0 0)",500:"oklch(0.40 0 0)",600:"oklch(0.55 0 0)",700:"oklch(0.70 0 0)",800:"oklch(0.80 0 0)",900:"oklch(0.90 0 0)",1e3:"oklch(0.98 0 0)"},grayAlpha:{100:"oklch(1 0 0 / 0.05)",200:"oklch(1 0 0 / 0.08)",300:"oklch(1 0 0 / 0.12)",400:"oklch(1 0 0 / 0.16)",500:"oklch(1 0 0 / 0.24)",600:"oklch(1 0 0 / 0.36)",700:"oklch(1 0 0 / 0.48)",800:"oklch(1 0 0 / 0.64)",900:"oklch(1 0 0 / 0.82)",1e3:"oklch(1 0 0 / 0.92)"}}},sc=e=>Math.sin(Math.PI*Math.min(1,Math.max(0,e)));function Pi(e,n,s,o="srgb"){let r={};for(let[a,l]of Object.entries(e)){let i=l.match(/^oklch\(\s*([\d.]+)/);if(!i){r[a]=l;continue}let c=parseFloat(i[1]),d=Math.min(n*sc(c),Tn(c,s,o)*.995);r[a]=`oklch(${i[1]} ${d.toFixed(4)} ${s})`}return r}function to(e,n="srgb"){let s=r=>Object.fromEntries(Object.entries(r).map(([a,l])=>[a,{...l}])),o={light:s(Xe.light),dark:s(Xe.dark)};if(!e)return o;if(e.tint)for(let r of["gray","background"])o.light[r]=Pi(o.light[r],e.tint.c,e.tint.h,n),o.dark[r]=Pi(o.dark[r],e.tint.c,e.tint.h,n);for(let r of["light","dark"]){let a=e[r];if(a)for(let[l,i]of Object.entries(a))o[r][l]={...o[r][l]??{},...i}}return o}function oc(e){if(!/^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/.test(e))throw new Error(`[TaishoDS] Invalid hex color provided: "${e}". Please use a valid hex format (e.g. #FF0000).`);e=e.replace(/^#/,""),e.length===3&&(e=e.split("").map(r=>r+r).join(""));let n=parseInt(e.substring(0,2),16)/255,s=parseInt(e.substring(2,4),16)/255,o=parseInt(e.substring(4,6),16)/255;return{r:n,g:s,b:o}}function ic(e,n,s){let o=g=>g<=.04045?g/12.92:Math.pow((g+.055)/1.055,2.4),r=o(e),a=o(n),l=o(s),i=Math.cbrt(.4122214708*r+.5363325363*a+.0514459929*l),c=Math.cbrt(.2119034982*r+.6806995451*a+.1073969566*l),d=Math.cbrt(.0883024619*r+.2817188376*a+.6299787005*l),u=.2104542553*i+.793617785*c-.0040720468*d,y=1.9779984951*i-2.428592205*c+.4505937099*d,t=.0259040371*i+.7827717662*c-.808675766*d,m=Math.sqrt(y*y+t*t),h=Math.atan2(t,y)*(180/Math.PI);return h<0&&(h+=360),{l:u,c:m,h}}var jn=["100","200","300","400","500","600","700","800","900","1000"],Li=(e,n)=>e.endsWith("%")?parseFloat(e)/100*n:parseFloat(e);function Qt(e){let n=e.trim(),s=n.match(/^oklch\(\s*([\d.]+%?)\s+([\d.]+%?)\s+([\d.]+)(?:deg)?\s*\)$/i);if(s){let l=Li(s[1],1),i=Li(s[2],.4),c=parseFloat(s[3]);if(!(l>=0&&l<=1&&i>=0&&i<=.5&&c>=0&&c<=360))throw new Error(`[TaishoDS] oklch fuera de rango: "${e}". Se usa L 0\u20131 (o %), C 0\u20130.5 y H 0\u2013360.`);return{l,c:i,h:c%360}}if(/^oklch\(/i.test(n))throw new Error(`[TaishoDS] Invalid oklch color provided: "${e}". Formato: oklch(0.62 0.19 259) (sin alfa).`);let{r:o,g:r,b:a}=oc(n);return ic(o,r,a)}var _i=(e,n,s)=>{let o;try{o=Qt(n??s)}catch{o=Qt(s)}return{ref:e,...o,y:Ke(o.l,o.c,o.h)}};function Oe(e,n){let s=e?"dark":"light",o=Xe[s].gray,r=n?.[s]?.gray;return[_i("var(--color-gray-100)",r?.["100"],o[100]),_i("var(--color-gray-1000)",r?.["1000"],o[1e3])]}var Ui={light:Oe(!1),dark:Oe(!0)};function Bi(e,n){let s=Cn(e,n[0].y),o=Cn(e,n[1].y);return s>=o?{neutral:n[0],ratio:s}:{neutral:n[1],ratio:o}}function no(e,n,s,o){return Bi(Ke(e,n,s),Ui[o?"dark":"light"]).neutral.ref}var rc={light:{bgY:1,target:[1.08,1.22,1.5,2.1,3.6,6,8.5,12,16,19],win:[[1.03,1.15],[1.15,1.35],[1.35,1.8],[1.8,3],[3,4.2],[5.3,7],[7,10],[10,13.5],[13.5,17.5],[17.5,21]],prof:[.12,.25,.45,.75,1,1,.9,.75,.6,.45]},dark:{bgY:.12**3,target:[1.04,1.12,1.3,1.8,3.4,5.8,7.8,11,15,18],win:[[1,1.08],[1.08,1.2],[1.2,1.5],[1.5,2.6],[2.6,4.1],[5,6.8],[6.8,9.5],[9.5,13],[13,16.5],[16.5,20]],prof:[.22,.3,.45,.6,1,.95,.8,.6,.4,.2]}},Fi=(e,n)=>Math.max(0,1-Math.abs(e-90)/35)*Math.max(-40,Math.min(12,80*(n-.8))),ac=(e,n,s)=>s?(n+.05)/e-.05:e*(n+.05)-.05,lc=(e,n,s)=>`oklch(${e.toFixed(4)} ${n.toFixed(4)} ${s.toFixed(2)})`;function Ye(e,n,s="srgb",o=Ui[n]){let r=rc[n],a=n==="light",l=e.l,i=e.h,c=Math.min(e.c,Tn(l,i,s)),d=Cn(Ke(l,c,i),r.bgY),u=0,y=1/0;r.win.forEach(([p,v],f)=>{let k=(d<p?Math.log(p/d):d>v?Math.log(d/v):0)*100+Math.abs(Math.log(d/r.target[f]));k<y&&(y=k,u=f)});let[t,m]=r.win[u],h=d<t||d>m,g=Fi(i,l),b=r.target.map((p,v)=>{let f,w,k;if(v===u&&!h)f=l,w=c,k=i;else{let J=ac(v===u?Math.min(m,Math.max(t,d)):p,r.bgY,a),Z=c*r.prof[v],M=C=>{let L=(i+Fi(i,C)-g+360)%360;return[Math.min(Z,Tn(C,L,s)*.995),L]},q=C=>{let[L,G]=M(C);return Ke(C,L,G)-J},F=0,P=1,T=q(0),N=q(1),z=0;f=.5;for(let C=0;C<60;C++){f=(F*N-P*T)/(N-T);let L=q(f);if(Math.abs(L)<1e-10)break;L<0?(F=f,T=L,z===-1&&(N/=2),z=-1):(P=f,N=L,z===1&&(T/=2),z=1)}[w,k]=M(f)}let I=Ke(f,w,k),{neutral:D,ratio:W}=Bi(I,o);return{shade:jn[v],l:f,c:w,h:k,y:I,ratio:Cn(I,r.bgY),css:lc(f,w,k),contrast:D.ref,contrastRatio:W,seed:v===u}});return{steps:b,seedStep:u,adjusted:h,dL:h?b[u].l-l:0}}function eo(e){let n={};for(let s of e.steps)n[s.shade]=s.css,n[`${s.shade}-contrast`]=s.contrast;return n}function so(e,n,s="srgb",o){return eo(Ye(Qt(e),n?"dark":"light",s,o?Oe(n,o):void 0))}var cc=.02,dc=.97,oo=e=>Qt(e).l>=dc;function Hi(e,n,s,o){if(e==="warning"){let i=(c,d)=>{let u=c.seedStep,y=h=>Math.min(Math.max(h,0),jn.length-1),t=y(u+d),m=c.steps[t].contrast===c.steps[u].contrast?t:y(u-d);return[u,m,m]};return{light:i(s,1),dark:i(o??Ye(n,"dark"),-1)}}let r=5,a=i=>i>=8?[i,i-1,i-2]:[i,i+1,i+2],l=Math.max(s.seedStep,r);return{light:a(l),dark:a(n.c<cc?l:r)}}function Vi(e,n,s){let o={};return["solid","solid-hover","solid-active"].forEach((r,a)=>{o[r]=`var(--color-${e}-${jn[s[a]]})`,o[`${r}-contrast`]=n.steps[s[a]].contrast}),o}function io(e,n,s){let o={light:{},dark:{},escalas:{}};for(let[r,a]of Object.entries(e)){let l=Qt(a),i=Ye(l,"light",s,Oe(!1,n)),c=Ye(l,"dark",s,Oe(!0,n)),d=Hi(r,l,i,c);o.light[r]={...eo(i),...Vi(r,i,d.light)},o.dark[r]={...eo(c),...Vi(r,c,d.dark)},o.escalas[r]={light:i,dark:c}}return o}var Gi=["solid","solid-hover","solid-active"];function zn(e){return e.primary}var Wi=Object.fromEntries(Gi.flatMap(e=>[[e,`var(--color-brand-${e})`],[`${e}-contrast`,`var(--color-brand-${e}-contrast)`]]));function pc(e,n,s){let o=Qt(e),r=Ye(o,"light",s,Oe(!1,n)),a=Ye(o,"dark",s,Oe(!0,n)),l=Hi("primary",o,r),i=(c,d)=>{let u={};return Gi.forEach((y,t)=>{u[y]=c.steps[d[t]].css,u[`${y}-contrast`]=c.steps[d[t]].contrast}),u};return{light:i(r,l.light),dark:i(a,l.dark),escalas:{light:r,dark:a}}}function ro(e,n,s){if(e===void 0)return{light:{primary:Wi},dark:{primary:Wi},escalas:{}};let{light:o,dark:r,escalas:a}=pc(e,n,s);return{light:{primary:o},dark:{primary:r},escalas:{primary:a}}}function Ji(e,n){let s={};for(let[o,r]of Object.entries(n.light))for(let[a,l]of Object.entries(r)){let i=n.dark[o]?.[a]??l;l===e.light[o]?.[a]&&i===(e.dark[o]?.[a]??e.light[o]?.[a])||((s[o]??={})[a]={light:l,dark:i})}return s}var te={none:"0px",xs:"var(--ts-sizing-2)",sm:"var(--ts-sizing-4)",md:"var(--ts-sizing-6)",lg:"var(--ts-sizing-8)",xl:"var(--ts-sizing-12)","2xl":"var(--ts-sizing-16)","3xl":"var(--ts-sizing-24)",full:"9999px"},Zi=["xs","sm","md","lg","xl","2xl","3xl"];function Ki(e){let n={};return Zi.slice(0,-1).forEach((s,o)=>{let r=e[Zi[o+1]];r!==void 0&&(n[s]=r)}),n}var Qe={none:"0px",quarter:"var(--ts-sizing-4)",half:"var(--ts-sizing-8)",base:"var(--ts-sizing-18)",section:"var(--ts-sizing-24)",double:"var(--ts-sizing-32)"};var ee={instant:"100ms",fast:"150ms",base:"200ms",slow:"300ms",slower:"500ms"},En={spin:"600ms","loop-fast":"1200ms","loop-base":"1600ms","loop-slow":"4000ms"},ao="1ms",Rn={loop:"infinite"},lo="0",ne={standard:"ease",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0.22, 1, 0.36, 1)",spring:"cubic-bezier(0.16, 1.3, 0.3, 1)","in-out":"ease-in-out",linear:"linear"};var Me={tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},Xi=':where(h1, h2, h3, h4, h5, h6, label, legend, [class*="type-heading-"], [class*="type-label-"], [class*="-title"]):where(:lang(ar), :lang(fa), :lang(ur), :lang(he))',rs=e=>Object.keys(e).filter(n=>n!=="normal").map(n=>`--ts-ls-${n}: ${e.normal};`),as=(e,n=s=>s)=>Object.entries(e).map(([s,o])=>{let r=o.trim();if(r==="normal")return`--ts-lh-${s}: 1.35;`;let a=/^(\d+\.?\d*|\.\d+)$/.test(r);return`--ts-lh-${s}: ${a?String(Math.max(1.35,Number(r))):`max(1.35em, ${n(o)})`};`}),An=e=>e.length?`${Xi} { ${e.join(" ")} }`:"",Yi=(e,n)=>{let s=`${Xi} { `,o=e.indexOf(s);if(o<0)return e;let r=e.indexOf(" }",o),a=(e.slice(o+s.length,r).match(/--[\w-]+:[^;]*;/g)??[]).filter(l=>n.has(l.slice(0,l.indexOf(":"))));return e.slice(0,o)+An(a)+e.slice(r+2)};var qe={0:0,1:1,2:2,4:4,6:6,8:8,10:10,12:12,14:14,16:16,18:18,20:20,24:24,28:28,32:32,36:36,40:40,44:44,48:48,52:52,56:56,60:60,64:64,68:68,72:72,76:76,80:80,84:84,88:88,92:92,96:96,128:128,160:160,192:192,224:224,256:256},me={none:"0px",quarter:"var(--ts-sizing-6)",half:"var(--ts-sizing-12)",base:"var(--ts-sizing-24)",section:"var(--ts-sizing-32)",double:"var(--ts-sizing-48)"},co={none:"0px",quarter:"var(--ts-sizing-6)",half:"var(--ts-sizing-12)",base:"var(--ts-sizing-24)",section:"var(--ts-sizing-32)",double:"var(--ts-sizing-48)"},se={"control-h":{comfortable:{xs:24,sm:32,md:40,lg:48},compact:{xs:20,sm:28,md:32,lg:40}},"button-px":{comfortable:{xs:6,sm:10,md:14,lg:20},compact:{xs:4,sm:8,md:10,lg:14}},"field-px":{comfortable:{sm:10,md:12,lg:14},compact:{sm:8,md:10,lg:12}},"select-pr":{comfortable:{sm:32,md:36,lg:40},compact:{sm:28,md:32,lg:36}},"textarea-px":{comfortable:{sm:10,md:12,lg:14},compact:{sm:8,md:10,lg:12}},"textarea-py":{comfortable:{sm:8,md:10,lg:12},compact:{sm:6,md:8,lg:10}},"badge-h":{comfortable:{sm:20,md:24,lg:28},compact:{sm:18,md:20,lg:24}},"badge-px":{comfortable:{sm:8,md:10,lg:12},compact:{sm:6,md:8,lg:10}},"tag-h":{comfortable:{sm:20,md:24,lg:28},compact:{sm:18,md:20,lg:24}},"tag-px":{comfortable:{sm:6,md:8,lg:10},compact:{sm:4,md:6,lg:8}},"control-box":{comfortable:{sm:14,md:16,lg:20},compact:{sm:12,md:14,lg:16}},"radio-dot":{comfortable:{sm:6,md:8,lg:10},compact:{sm:4,md:6,lg:8}}};var Dn={1:"1px",2:"2px",3:"3px",4:"4px"},fe={none:"0px",sm:"4px",md:"8px",lg:"16px",xl:"48px"},tn={base:"0",raised:"1",pinned:"2",handle:"3",sticky:"10",glow:"30",nav:"30",banner:"40","nav-menu":"40",dropdown:"50",toast:"50",overlay:"50",dialog:"51"},oe={0:"0",30:"0.3",40:"0.4",50:"0.5",60:"0.6",70:"0.7",75:"0.75",80:"0.8",90:"0.9",100:"1",muted:"var(--ts-opacity-60)"},ie={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},Qi="0.56";var Q=(e,n="fast",s="standard")=>`${e} var(--ts-duration-${n}) var(--ts-ease-${s})`,Ie={sm:"0 0 0 1px var(--color-grayAlpha-200), 0 1px 2px rgba(0,0,0,0.04)",md:"0 0 0 1px var(--color-grayAlpha-200), 0 1px 1px rgba(0,0,0,0.02), 0 4px 8px -2px rgba(0,0,0,0.04), 0 12px 20px -6px rgba(0,0,0,0.06)",lg:"0 0 0 1px var(--color-grayAlpha-200), 0 1px 1px rgba(0,0,0,0.02), 0 8px 16px -4px rgba(0,0,0,0.04), 0 20px 32px -8px rgba(0,0,0,0.06)",xl:"0 0 0 1px var(--color-grayAlpha-200), 0 1px 1px rgba(0,0,0,0.02), 0 12px 24px -4px rgba(0,0,0,0.06), 0 32px 48px -8px rgba(0,0,0,0.08)"},Gt="var(--ts-material-shadow-rgb, 0 0 0)",tr={sm:`0 1px 2px rgb(${Gt} / 0.04)`,md:`0 1px 1px rgb(${Gt} / 0.02), 0 4px 8px -2px rgb(${Gt} / 0.04), 0 12px 20px -6px rgb(${Gt} / 0.06)`,lg:`0 1px 1px rgb(${Gt} / 0.02), 0 8px 16px -4px rgb(${Gt} / 0.04), 0 20px 32px -8px rgb(${Gt} / 0.06)`,xl:`0 1px 1px rgb(${Gt} / 0.02), 0 12px 24px -4px rgb(${Gt} / 0.06), 0 32px 48px -8px rgb(${Gt} / 0.08)`},en={10:"var(--ts-sizing-10)",12:"var(--ts-sizing-12)",14:"var(--ts-sizing-14)",16:"var(--ts-sizing-16)",18:"var(--ts-sizing-18)",20:"var(--ts-sizing-20)",24:"clamp(var(--ts-sizing-20), 2vw + 1rem, var(--ts-sizing-24))",28:"clamp(var(--ts-sizing-24), 2.5vw + 1rem, var(--ts-sizing-28))",32:"clamp(var(--ts-sizing-24), 3vw + 1rem, var(--ts-sizing-32))",36:"clamp(var(--ts-sizing-28), 3.5vw + 1rem, var(--ts-sizing-36))",40:"clamp(var(--ts-sizing-32), 4vw + 1rem, var(--ts-sizing-40))",48:"clamp(var(--ts-sizing-36), 5vw + 1rem, var(--ts-sizing-48))",60:"clamp(var(--ts-sizing-40), 6vw + 1rem, var(--ts-sizing-60))",72:"clamp(var(--ts-sizing-48), 7.5vw + 1rem, var(--ts-sizing-72))"},nn={thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"};var sn={10:"var(--ts-sizing-14)",12:"var(--ts-sizing-16)",14:"var(--ts-sizing-20)",16:"var(--ts-sizing-24)",18:"var(--ts-sizing-28)",20:"var(--ts-sizing-28)",24:"var(--ts-sizing-32)",28:"var(--ts-sizing-36)",32:"var(--ts-sizing-40)",36:"clamp(var(--ts-sizing-32), calc(2vw + 1.25rem), var(--ts-sizing-40))",40:"clamp(var(--ts-sizing-36), calc(2.5vw + 1.5rem), var(--ts-sizing-44))",48:"clamp(var(--ts-sizing-40), calc(3vw + 1.5rem), var(--ts-sizing-52))",60:"clamp(var(--ts-sizing-48), calc(4vw + 2rem), var(--ts-sizing-64))",72:"clamp(var(--ts-sizing-60), calc(5vw + 2rem), var(--ts-sizing-72))",96:"clamp(var(--ts-sizing-72), calc(7vw + 2rem), var(--ts-sizing-96))"};function Jt(e,n){let s={...Xe.light};for(let[o,r]of Object.entries(e))s[o]=so(r,!1);for(let[o,r]of Object.entries(n))s[o]=so(r,!1);return s}var Y={sizing:qe,screens:ie,radius:te,gaps:me,spaces:co,fontSizes:en,lineHeights:sn,letterSpacing:Me,fontWeights:nn,borderWidths:Dn,blurs:fe,opacities:oe,shadows:Ie,durations:ee,easings:ne};var he="(prefers-color-scheme: dark)",re=":root:not(.light)";var ls="var(--_focus, var(--ts-focus-ring-color, var(--color-brand-solid)))",po=e=>`color-mix(in oklab, ${ls} ${e}%, transparent)`,uc=`var(--ts-focus-halo, light-dark(${po(40)}, ${po(50)}))`,er=e=>{let n=(s,o,r=" ")=>`${r}${s} {
4
- ${r} --ts-focus-halo: ${po(o)};
3
+ import{parseArgs as Eg}from"node:util";import{fileURLToPath as Rg}from"node:url";import Ze from"node:fs";import $n from"node:path";import yp from"node:readline/promises";var us=Math.PI/180,Le=[[4.0767416621,-3.3077115913,.2309699292],[-1.2684380046,2.6097574011,-.3413193965],[-.0041960863,-.7034186147,1.707614701]],ic=[[.8224621,.177538,0],[.0331941,.9668058,0],[.0170827,.0723974,.9105199]],rc=ic.map(e=>[0,1,2].map(n=>e[0]*Le[0][n]+e[1]*Le[1][n]+e[2]*Le[2][n])),ac={srgb:Le,p3:rc},io=[0,1,2].map(e=>.2126*Le[0][e]+.7152*Le[1][e]+.0722*Le[2][e]);function lc(e,n,s){let o=n*Math.cos(s*us),r=n*Math.sin(s*us),a=e+.3963377774*o+.2158037573*r,l=e-.1055613458*o-.0638541728*r,i=e-.0894841775*o-1.291485548*r;return[a*a*a,l*l*l,i*i*i]}function sn(e,n,s){let[o,r,a]=lc(e,n,s);return io[0]*o+io[1]*r+io[2]*a}function Fi(e,n,s,o){let r=[];if(Math.abs(e)<1e-4)if(Math.abs(n)<1e-12)Math.abs(s)>1e-12&&r.push(-o/s);else{let l=s*s-4*n*o;if(l>=0){let i=Math.sqrt(l);r.push((-s+i)/(2*n),(-s-i)/(2*n))}}else{let l=n/e,i=s/e,c=o/e,d=(3*i-l*l)/9,u=(9*l*i-27*c-2*l*l*l)/54,y=l/3,t=d*d*d+u*u;if(t>=0){let m=Math.sqrt(t);r.push(Math.cbrt(u+m)+Math.cbrt(u-m)-y)}else{let m=Math.acos(u/Math.sqrt(-d*d*d)),h=2*Math.sqrt(-d);for(let g=0;g<3;g++)r.push(h*Math.cos((m+2*Math.PI*g)/3)-y)}}let a=1/0;for(let l of r){for(let i=0;i<3;i++){let c=(3*e*l+2*n)*l+s;c!==0&&(l-=(((e*l+n)*l+s)*l+o)/c)}l>1e-9&&l<a&&(a=l)}return a}function On(e,n,s="srgb"){if(e<=0||e>=1)return 0;let o=Math.cos(n*us),r=Math.sin(n*us),a=[.3963377774*o+.2158037573*r,-.1055613458*o-.0638541728*r,-.0894841775*o-1.291485548*r],l=e*e,i=l*e,c=.5;for(let d of ac[s]){let u=i*(d[0]+d[1]+d[2]),y=3*l*(d[0]*a[0]+d[1]*a[1]+d[2]*a[2]),t=3*e*(d[0]*a[0]*a[0]+d[1]*a[1]*a[1]+d[2]*a[2]*a[2]),m=d[0]*a[0]**3+d[1]*a[1]**3+d[2]*a[2]**3,h=Fi(m,t,y,u),g=Fi(m,t,y,u-1);h<c&&(c=h),g<c&&(c=g)}return c}var Mn=(e,n)=>(Math.max(e,n)+.05)/(Math.min(e,n)+.05);var on={light:{background:{100:"oklch(1 0 0)",200:"oklch(0.98 0.002 240)"},overlay:{100:"oklch(0 0 0 / 0.40)",200:"oklch(0 0 0 / 0.60)"},gray:{100:"oklch(0.96 0 0)",200:"oklch(0.94 0 0)",300:"oklch(0.92 0 0)",400:"oklch(0.88 0 0)",500:"oklch(0.75 0 0)",600:"oklch(0.60 0 0)",700:"oklch(0.45 0 0)",800:"oklch(0.35 0 0)",900:"oklch(0.20 0 0)",1e3:"oklch(0.15 0 0)"},grayAlpha:{100:"oklch(0 0 0 / 0.05)",200:"oklch(0 0 0 / 0.08)",300:"oklch(0 0 0 / 0.12)",400:"oklch(0 0 0 / 0.16)",500:"oklch(0 0 0 / 0.24)",600:"oklch(0 0 0 / 0.36)",700:"oklch(0 0 0 / 0.48)",800:"oklch(0 0 0 / 0.64)",900:"oklch(0 0 0 / 0.82)",1e3:"oklch(0 0 0 / 0.92)"}},dark:{background:{100:"oklch(0.12 0 0)",200:"oklch(0.08 0 0)"},overlay:{100:"oklch(0 0 0 / 0.40)",200:"oklch(0 0 0 / 0.60)"},gray:{100:"oklch(0.18 0 0)",200:"oklch(0.22 0 0)",300:"oklch(0.26 0 0)",400:"oklch(0.32 0 0)",500:"oklch(0.40 0 0)",600:"oklch(0.55 0 0)",700:"oklch(0.70 0 0)",800:"oklch(0.80 0 0)",900:"oklch(0.90 0 0)",1e3:"oklch(0.98 0 0)"},grayAlpha:{100:"oklch(1 0 0 / 0.05)",200:"oklch(1 0 0 / 0.08)",300:"oklch(1 0 0 / 0.12)",400:"oklch(1 0 0 / 0.16)",500:"oklch(1 0 0 / 0.24)",600:"oklch(1 0 0 / 0.36)",700:"oklch(1 0 0 / 0.48)",800:"oklch(1 0 0 / 0.64)",900:"oklch(1 0 0 / 0.82)",1e3:"oklch(1 0 0 / 0.92)"}}},cc=e=>Math.sin(Math.PI*Math.min(1,Math.max(0,e)));function Vi(e,n,s,o="srgb"){let r={};for(let[a,l]of Object.entries(e)){let i=l.match(/^oklch\(\s*([\d.]+)/);if(!i){r[a]=l;continue}let c=parseFloat(i[1]),d=Math.min(n*cc(c),On(c,s,o)*.995);r[a]=`oklch(${i[1]} ${d.toFixed(4)} ${s})`}return r}function ro(e,n="srgb"){let s=r=>Object.fromEntries(Object.entries(r).map(([a,l])=>[a,{...l}])),o={light:s(on.light),dark:s(on.dark)};if(!e)return o;if(e.tint)for(let r of["gray","background"])o.light[r]=Vi(o.light[r],e.tint.c,e.tint.h,n),o.dark[r]=Vi(o.dark[r],e.tint.c,e.tint.h,n);for(let r of["light","dark"]){let a=e[r];if(a)for(let[l,i]of Object.entries(a))o[r][l]={...o[r][l]??{},...i}}return o}function dc(e){if(!/^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/.test(e))throw new Error(`[TaishoDS] Invalid hex color provided: "${e}". Please use a valid hex format (e.g. #FF0000).`);e=e.replace(/^#/,""),e.length===3&&(e=e.split("").map(r=>r+r).join(""));let n=parseInt(e.substring(0,2),16)/255,s=parseInt(e.substring(2,4),16)/255,o=parseInt(e.substring(4,6),16)/255;return{r:n,g:s,b:o}}function pc(e,n,s){let o=g=>g<=.04045?g/12.92:Math.pow((g+.055)/1.055,2.4),r=o(e),a=o(n),l=o(s),i=Math.cbrt(.4122214708*r+.5363325363*a+.0514459929*l),c=Math.cbrt(.2119034982*r+.6806995451*a+.1073969566*l),d=Math.cbrt(.0883024619*r+.2817188376*a+.6299787005*l),u=.2104542553*i+.793617785*c-.0040720468*d,y=1.9779984951*i-2.428592205*c+.4505937099*d,t=.0259040371*i+.7827717662*c-.808675766*d,m=Math.sqrt(y*y+t*t),h=Math.atan2(t,y)*(180/Math.PI);return h<0&&(h+=360),{l:u,c:m,h}}var qn=["100","200","300","400","500","600","700","800","900","1000"],Wi=(e,n)=>e.endsWith("%")?parseFloat(e)/100*n:parseFloat(e);function se(e){let n=e.trim(),s=n.match(/^oklch\(\s*([\d.]+%?)\s+([\d.]+%?)\s+([\d.]+)(?:deg)?\s*\)$/i);if(s){let l=Wi(s[1],1),i=Wi(s[2],.4),c=parseFloat(s[3]);if(!(l>=0&&l<=1&&i>=0&&i<=.5&&c>=0&&c<=360))throw new Error(`[TaishoDS] oklch fuera de rango: "${e}". Se usa L 0\u20131 (o %), C 0\u20130.5 y H 0\u2013360.`);return{l,c:i,h:c%360}}if(/^oklch\(/i.test(n))throw new Error(`[TaishoDS] Invalid oklch color provided: "${e}". Formato: oklch(0.62 0.19 259) (sin alfa).`);let{r:o,g:r,b:a}=dc(n);return pc(o,r,a)}var Ui=(e,n,s)=>{let o;try{o=se(n??s)}catch{o=se(s)}return{ref:e,...o,y:sn(o.l,o.c,o.h)}};function _e(e,n){let s=e?"dark":"light",o=on[s].gray,r=n?.[s]?.gray;return[Ui("var(--color-gray-100)",r?.["100"],o[100]),Ui("var(--color-gray-1000)",r?.["1000"],o[1e3])]}var Ji={light:_e(!1),dark:_e(!0)};function Zi(e,n){let s=Mn(e,n[0].y),o=Mn(e,n[1].y);return s>=o?{neutral:n[0],ratio:s}:{neutral:n[1],ratio:o}}function lo(e,n,s,o){return Zi(sn(e,n,s),Ji[o?"dark":"light"]).neutral.ref}var uc={light:{bgY:1,target:[1.08,1.22,1.5,2.1,3.6,6,8.5,12,16,19],win:[[1.03,1.15],[1.15,1.35],[1.35,1.8],[1.8,3],[3,4.2],[5.3,7],[7,10],[10,13.5],[13.5,17.5],[17.5,21]],prof:[.12,.25,.45,.75,1,1,.9,.75,.6,.45]},dark:{bgY:.12**3,target:[1.04,1.12,1.3,1.8,3.4,5.8,7.8,11,15,18],win:[[1,1.08],[1.08,1.2],[1.2,1.5],[1.5,2.6],[2.6,4.1],[5,6.8],[6.8,9.5],[9.5,13],[13,16.5],[16.5,20]],prof:[.22,.3,.45,.6,1,.95,.8,.6,.4,.2]}},Bi=(e,n)=>Math.max(0,1-Math.abs(e-90)/35)*Math.max(-40,Math.min(12,80*(n-.8))),gc=(e,n,s)=>s?(n+.05)/e-.05:e*(n+.05)-.05,mc=(e,n,s)=>`oklch(${e.toFixed(4)} ${n.toFixed(4)} ${s.toFixed(2)})`;function rn(e,n,s="srgb",o=Ji[n]){let r=uc[n],a=n==="light",l=e.l,i=e.h,c=Math.min(e.c,On(l,i,s)),d=Mn(sn(l,c,i),r.bgY),u=0,y=1/0;r.win.forEach(([p,v],f)=>{let k=(d<p?Math.log(p/d):d>v?Math.log(d/v):0)*100+Math.abs(Math.log(d/r.target[f]));k<y&&(y=k,u=f)});let[t,m]=r.win[u],h=d<t||d>m,g=Bi(i,l),b=r.target.map((p,v)=>{let f,w,k;if(v===u&&!h)f=l,w=c,k=i;else{let G=gc(v===u?Math.min(m,Math.max(t,d)):p,r.bgY,a),J=c*r.prof[v],A=q=>{let O=(i+Bi(i,q)-g+360)%360;return[Math.min(J,On(q,O,s)*.995),O]},M=q=>{let[O,B]=A(q);return sn(q,O,B)-G},V=0,N=1,T=M(0),U=M(1),S=0;f=.5;for(let q=0;q<60;q++){f=(V*U-N*T)/(U-T);let O=M(f);if(Math.abs(O)<1e-10)break;O<0?(V=f,T=O,S===-1&&(U/=2),S=-1):(N=f,U=O,S===1&&(T/=2),S=1)}[w,k]=A(f)}let P=sn(f,w,k),{neutral:D,ratio:W}=Zi(P,o);return{shade:qn[v],l:f,c:w,h:k,y:P,ratio:Mn(P,r.bgY),css:mc(f,w,k),contrast:D.ref,contrastRatio:W,seed:v===u}});return{steps:b,seedStep:u,adjusted:h,dL:h?b[u].l-l:0}}function ao(e){let n={};for(let s of e.steps)n[s.shade]=s.css,n[`${s.shade}-contrast`]=s.contrast;return n}function co(e,n,s="srgb",o){return ao(rn(se(e),n?"dark":"light",s,o?_e(n,o):void 0))}var fc=.02,hc=.97,po=e=>se(e).l>=hc;function Ki(e,n,s,o){if(e==="warning"){let i=(c,d)=>{let u=c.seedStep,y=h=>Math.min(Math.max(h,0),qn.length-1),t=y(u+d),m=c.steps[t].contrast===c.steps[u].contrast?t:y(u-d);return[u,m,m]};return{light:i(s,1),dark:i(o??rn(n,"dark"),-1)}}let r=5,a=i=>i>=8?[i,i-1,i-2]:[i,i+1,i+2],l=Math.max(s.seedStep,r);return{light:a(l),dark:a(n.c<fc?l:r)}}function Hi(e,n,s){let o={};return["solid","solid-hover","solid-active"].forEach((r,a)=>{o[r]=`var(--color-${e}-${qn[s[a]]})`,o[`${r}-contrast`]=n.steps[s[a]].contrast}),o}function uo(e,n,s){let o={light:{},dark:{},escalas:{}};for(let[r,a]of Object.entries(e)){let l=se(a),i=rn(l,"light",s,_e(!1,n)),c=rn(l,"dark",s,_e(!0,n)),d=Ki(r,l,i,c);o.light[r]={...ao(i),...Hi(r,i,d.light)},o.dark[r]={...ao(c),...Hi(r,c,d.dark)},o.escalas[r]={light:i,dark:c}}return o}var Xi=["solid","solid-hover","solid-active"];function In(e){return e.primary}var Gi=Object.fromEntries(Xi.flatMap(e=>[[e,`var(--color-brand-${e})`],[`${e}-contrast`,`var(--color-brand-${e}-contrast)`]]));function bc(e,n,s){let o=se(e),r=rn(o,"light",s,_e(!1,n)),a=rn(o,"dark",s,_e(!0,n)),l=Ki("primary",o,r),i=(c,d)=>{let u={};return Xi.forEach((y,t)=>{u[y]=c.steps[d[t]].css,u[`${y}-contrast`]=c.steps[d[t]].contrast}),u};return{light:i(r,l.light),dark:i(a,l.dark),escalas:{light:r,dark:a}}}function go(e,n,s){if(e===void 0)return{light:{primary:Gi},dark:{primary:Gi},escalas:{}};let{light:o,dark:r,escalas:a}=bc(e,n,s);return{light:{primary:o},dark:{primary:r},escalas:{primary:a}}}function Yi(e,n){let s={};for(let[o,r]of Object.entries(n.light))for(let[a,l]of Object.entries(r)){let i=n.dark[o]?.[a]??l;l===e.light[o]?.[a]&&i===(e.dark[o]?.[a]??e.light[o]?.[a])||((s[o]??={})[a]={light:l,dark:i})}return s}var oe={none:"0px",xs:"var(--ts-sizing-2)",sm:"var(--ts-sizing-4)",md:"var(--ts-sizing-6)",lg:"var(--ts-sizing-8)",xl:"var(--ts-sizing-12)","2xl":"var(--ts-sizing-16)","3xl":"var(--ts-sizing-24)",full:"9999px"},Qi=["xs","sm","md","lg","xl","2xl","3xl"];function tr(e){let n={};return Qi.slice(0,-1).forEach((s,o)=>{let r=e[Qi[o+1]];r!==void 0&&(n[s]=r)}),n}var an={none:"0px",quarter:"var(--ts-sizing-4)",half:"var(--ts-sizing-8)",base:"var(--ts-sizing-18)",section:"var(--ts-sizing-24)",double:"var(--ts-sizing-32)"};var ie={instant:"100ms",fast:"150ms",base:"200ms",slow:"300ms",slower:"500ms"},Pn={spin:"600ms","loop-fast":"1200ms","loop-base":"1600ms","loop-slow":"4000ms"},mo="1ms",Nn={loop:"infinite"},fo="0",re={standard:"ease",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0.22, 1, 0.36, 1)",spring:"cubic-bezier(0.16, 1.3, 0.3, 1)","in-out":"ease-in-out",linear:"linear"};var Fe={tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},er=':where(h1, h2, h3, h4, h5, h6, label, legend, [class*="type-heading-"], [class*="type-label-"], [class*="-title"]):where(:lang(ar), :lang(fa), :lang(ur), :lang(he))',gs=e=>Object.keys(e).filter(n=>n!=="normal").map(n=>`--ts-ls-${n}: ${e.normal};`),ms=(e,n=s=>s)=>Object.entries(e).map(([s,o])=>{let r=o.trim();if(r==="normal")return`--ts-lh-${s}: 1.35;`;let a=/^(\d+\.?\d*|\.\d+)$/.test(r);return`--ts-lh-${s}: ${a?String(Math.max(1.35,Number(r))):`max(1.35em, ${n(o)})`};`}),Ln=e=>e.length?`${er} { ${e.join(" ")} }`:"",nr=(e,n)=>{let s=`${er} { `,o=e.indexOf(s);if(o<0)return e;let r=e.indexOf(" }",o),a=(e.slice(o+s.length,r).match(/--[\w-]+:[^;]*;/g)??[]).filter(l=>n.has(l.slice(0,l.indexOf(":"))));return e.slice(0,o)+Ln(a)+e.slice(r+2)};var Ve={0:0,1:1,2:2,4:4,6:6,8:8,10:10,12:12,14:14,16:16,18:18,20:20,24:24,28:28,32:32,36:36,40:40,44:44,48:48,52:52,56:56,60:60,64:64,68:68,72:72,76:76,80:80,84:84,88:88,92:92,96:96,128:128,160:160,192:192,224:224,256:256},ye={none:"0px",quarter:"var(--ts-sizing-6)",half:"var(--ts-sizing-12)",base:"var(--ts-sizing-24)",section:"var(--ts-sizing-32)",double:"var(--ts-sizing-48)"},ho={none:"0px",quarter:"var(--ts-sizing-6)",half:"var(--ts-sizing-12)",base:"var(--ts-sizing-24)",section:"var(--ts-sizing-32)",double:"var(--ts-sizing-48)"},ae={"control-h":{comfortable:{xs:24,sm:32,md:40,lg:48},compact:{xs:20,sm:28,md:32,lg:40}},"button-px":{comfortable:{xs:6,sm:10,md:14,lg:20},compact:{xs:4,sm:8,md:10,lg:14}},"field-px":{comfortable:{sm:10,md:12,lg:14},compact:{sm:8,md:10,lg:12}},"select-pr":{comfortable:{sm:32,md:36,lg:40},compact:{sm:28,md:32,lg:36}},"textarea-px":{comfortable:{sm:10,md:12,lg:14},compact:{sm:8,md:10,lg:12}},"textarea-py":{comfortable:{sm:8,md:10,lg:12},compact:{sm:6,md:8,lg:10}},"badge-h":{comfortable:{sm:20,md:24,lg:28},compact:{sm:18,md:20,lg:24}},"badge-px":{comfortable:{sm:8,md:10,lg:12},compact:{sm:6,md:8,lg:10}},"tag-h":{comfortable:{sm:20,md:24,lg:28},compact:{sm:18,md:20,lg:24}},"tag-px":{comfortable:{sm:6,md:8,lg:10},compact:{sm:4,md:6,lg:8}},"control-box":{comfortable:{sm:14,md:16,lg:20},compact:{sm:12,md:14,lg:16}},"radio-dot":{comfortable:{sm:6,md:8,lg:10},compact:{sm:4,md:6,lg:8}}};var _n={1:"1px",2:"2px",3:"3px",4:"4px"},ve={none:"0px",sm:"4px",md:"8px",lg:"16px",xl:"48px"},ln={base:"0",raised:"1",pinned:"2",handle:"3",sticky:"10",glow:"30",nav:"30",banner:"40","nav-menu":"40",dropdown:"50",toast:"50",overlay:"50",dialog:"51"},le={0:"0",30:"0.3",40:"0.4",50:"0.5",60:"0.6",70:"0.7",75:"0.75",80:"0.8",90:"0.9",100:"1",muted:"var(--ts-opacity-60)"},ce={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},sr="0.56";var Q=(e,n="fast",s="standard")=>`${e} var(--ts-duration-${n}) var(--ts-ease-${s})`,We={sm:"0 0 0 1px var(--color-grayAlpha-200), 0 1px 2px rgba(0,0,0,0.04)",md:"0 0 0 1px var(--color-grayAlpha-200), 0 1px 1px rgba(0,0,0,0.02), 0 4px 8px -2px rgba(0,0,0,0.04), 0 12px 20px -6px rgba(0,0,0,0.06)",lg:"0 0 0 1px var(--color-grayAlpha-200), 0 1px 1px rgba(0,0,0,0.02), 0 8px 16px -4px rgba(0,0,0,0.04), 0 20px 32px -8px rgba(0,0,0,0.06)",xl:"0 0 0 1px var(--color-grayAlpha-200), 0 1px 1px rgba(0,0,0,0.02), 0 12px 24px -4px rgba(0,0,0,0.06), 0 32px 48px -8px rgba(0,0,0,0.08)"},Zt="var(--ts-material-shadow-rgb, 0 0 0)",or={sm:`0 1px 2px rgb(${Zt} / 0.04)`,md:`0 1px 1px rgb(${Zt} / 0.02), 0 4px 8px -2px rgb(${Zt} / 0.04), 0 12px 20px -6px rgb(${Zt} / 0.06)`,lg:`0 1px 1px rgb(${Zt} / 0.02), 0 8px 16px -4px rgb(${Zt} / 0.04), 0 20px 32px -8px rgb(${Zt} / 0.06)`,xl:`0 1px 1px rgb(${Zt} / 0.02), 0 12px 24px -4px rgb(${Zt} / 0.06), 0 32px 48px -8px rgb(${Zt} / 0.08)`},cn={10:"var(--ts-sizing-10)",12:"var(--ts-sizing-12)",14:"var(--ts-sizing-14)",16:"var(--ts-sizing-16)",18:"var(--ts-sizing-18)",20:"var(--ts-sizing-20)",24:"clamp(var(--ts-sizing-20), 2vw + 1rem, var(--ts-sizing-24))",28:"clamp(var(--ts-sizing-24), 2.5vw + 1rem, var(--ts-sizing-28))",32:"clamp(var(--ts-sizing-24), 3vw + 1rem, var(--ts-sizing-32))",36:"clamp(var(--ts-sizing-28), 3.5vw + 1rem, var(--ts-sizing-36))",40:"clamp(var(--ts-sizing-32), 4vw + 1rem, var(--ts-sizing-40))",48:"clamp(var(--ts-sizing-36), 5vw + 1rem, var(--ts-sizing-48))",60:"clamp(var(--ts-sizing-40), 6vw + 1rem, var(--ts-sizing-60))",72:"clamp(var(--ts-sizing-48), 7.5vw + 1rem, var(--ts-sizing-72))"},dn={thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"};var pn={10:"var(--ts-sizing-14)",12:"var(--ts-sizing-16)",14:"var(--ts-sizing-20)",16:"var(--ts-sizing-24)",18:"var(--ts-sizing-28)",20:"var(--ts-sizing-28)",24:"var(--ts-sizing-32)",28:"var(--ts-sizing-36)",32:"var(--ts-sizing-40)",36:"clamp(var(--ts-sizing-32), calc(2vw + 1.25rem), var(--ts-sizing-40))",40:"clamp(var(--ts-sizing-36), calc(2.5vw + 1.5rem), var(--ts-sizing-44))",48:"clamp(var(--ts-sizing-40), calc(3vw + 1.5rem), var(--ts-sizing-52))",60:"clamp(var(--ts-sizing-48), calc(4vw + 2rem), var(--ts-sizing-64))",72:"clamp(var(--ts-sizing-60), calc(5vw + 2rem), var(--ts-sizing-72))",96:"clamp(var(--ts-sizing-72), calc(7vw + 2rem), var(--ts-sizing-96))"};function Kt(e,n){let s={...on.light};for(let[o,r]of Object.entries(e))s[o]=co(r,!1);for(let[o,r]of Object.entries(n))s[o]=co(r,!1);return s}var K={sizing:Ve,screens:ce,radius:oe,gaps:ye,spaces:ho,fontSizes:cn,lineHeights:pn,letterSpacing:Fe,fontWeights:dn,borderWidths:_n,blurs:ve,opacities:le,shadows:We,durations:ie,easings:re};var xe="(prefers-color-scheme: dark)",de=":root:not(.light)";var fs="var(--_focus, var(--ts-focus-ring-color, var(--color-brand-solid)))",bo=e=>`color-mix(in oklab, ${fs} ${e}%, transparent)`,yc=`var(--ts-focus-halo, light-dark(${bo(40)}, ${bo(50)}))`,ir=e=>{let n=(s,o,r=" ")=>`${r}${s} {
4
+ ${r} --ts-focus-halo: ${bo(o)};
5
5
  ${r}}
6
- `;return n("*",40)+(e==="media"?` @media ${he} {
7
- ${n(`:where(${re}) *`,50," ")} }
8
- `:"")+n(".dark *, .scheme-dark *",50)+n(".scheme-light *",40)+n(".scheme-light .scheme-dark *",50)},uo=`0 0 0 var(--ts-border-width-1) ${ls}, 0 0 0 var(--ts-border-width-4) ${uc}, var(--ts-sh, 0 0 transparent)`,go=`outline: none; box-shadow: ${uo}; @media (forced-colors: active) { outline: var(--ts-border-width-2) solid Highlight; }`,nr=`outline: none; box-shadow: inset 0 0 0 var(--ts-sizing-2) ${ls}; @media (forced-colors: active) { outline: var(--ts-border-width-2) solid Highlight; }`,cs=e=>`--_f-ring: var(--color-${e}-500); --_f-ring-hover: var(--color-${e}-600); @apply ts-focus-ring-${e};`,sr=`:focus-visible:where(:not(.ts)) { ${go} }
9
- :where(.ts):focus-visible { outline: var(--ts-border-width-2) solid ${ls}; outline-offset: var(--ts-sizing-2); }
10
- `;function Vt(e,n,s=Y){let{radius:o,gaps:r,spaces:a,screens:l}=s,i=`/* Archivo auto-generado: ATOMIC UTILITIES */
6
+ `;return n("*",40)+(e==="media"?` @media ${xe} {
7
+ ${n(`:where(${de}) *`,50," ")} }
8
+ `:"")+n(".dark *, .scheme-dark *",50)+n(".scheme-light *",40)+n(".scheme-light .scheme-dark *",50)},yo=`0 0 0 var(--ts-border-width-1) ${fs}, 0 0 0 var(--ts-border-width-4) ${yc}, var(--ts-sh, 0 0 transparent)`,vo=`outline: none; box-shadow: ${yo}; @media (forced-colors: active) { outline: var(--ts-border-width-2) solid Highlight; }`,rr=`outline: none; box-shadow: inset 0 0 0 var(--ts-sizing-2) ${fs}; @media (forced-colors: active) { outline: var(--ts-border-width-2) solid Highlight; }`,hs=e=>`--_f-ring: var(--color-${e}-500); --_f-ring-hover: var(--color-${e}-600); @apply ts-focus-ring-${e};`,ar=`:focus-visible:where(:not(.ts)) { ${vo} }
9
+ :where(.ts):focus-visible { outline: var(--ts-border-width-2) solid ${fs}; outline-offset: var(--ts-sizing-2); }
10
+ `;function Ft(e,n,s=K){let{radius:o,gaps:r,spaces:a,screens:l}=s,i=`/* Archivo auto-generado: ATOMIC UTILITIES */
11
11
 
12
12
  `;for(let t of["--ts-bw","--ts-ring-w","--ts-ring-c"])i+=`@property ${t} { syntax: '*'; inherits: false; }
13
13
  `;i+=`@supports ((-moz-orient: inline) and (not (color: oklch(from red l c h)))) { *, ::before, ::after { --ts-bw: initial; --ts-ring-w: initial; --ts-ring-c: initial; } }
@@ -354,12 +354,12 @@ ${n(`:where(${re}) *`,50," ")} }
354
354
  `,i+=`@utility ts-outline-offset-0 { outline-offset: 0px; }
355
355
  `,i+=`@utility ts-outline-offset-1 { outline-offset: var(--ts-sizing-1); }
356
356
  `,i+=`@utility ts-outline-offset-2 { outline-offset: var(--ts-sizing-2); }
357
- `,i+=`@utility ts-focus-ring { ${go} }
358
- `,i+=`@utility ts-focus-ring-inset { ${nr} }
359
- `;let y=(t,m)=>`--_f-ring: var(--color-grayAlpha-200); --_f-ring-hover: var(--color-grayAlpha-300); outline: none; box-shadow: 0 0 0 var(--ts-border-width-1) var(--_f-ring); &[class]:is([aria-invalid="true"], :has([aria-invalid="true"])) { ${cs("danger")} } &:hover${t} { --_f-ring: var(--_f-ring-hover); } ${m} { @apply ts-focus-ring; } @media (forced-colors: active) { outline: var(--ts-border-width-1) solid CanvasText; }`;i+=`@utility ts-field-box { ${y(":not(:focus-within):not(.is-open):not(.is-disabled):not(.is-readonly)","&:focus-within, &.is-open")} }
357
+ `,i+=`@utility ts-focus-ring { ${vo} }
358
+ `,i+=`@utility ts-focus-ring-inset { ${rr} }
359
+ `;let y=(t,m)=>`--_f-ring: var(--color-grayAlpha-200); --_f-ring-hover: var(--color-grayAlpha-300); outline: none; box-shadow: 0 0 0 var(--ts-border-width-1) var(--_f-ring); &[class]:is([aria-invalid="true"], :has([aria-invalid="true"])) { ${hs("danger")} } &:hover${t} { --_f-ring: var(--_f-ring-hover); } ${m} { @apply ts-focus-ring; } @media (forced-colors: active) { outline: var(--ts-border-width-1) solid CanvasText; }`;i+=`@utility ts-field-box { ${y(":not(:focus-within):not(.is-open):not(.is-disabled):not(.is-readonly)","&:focus-within, &.is-open")} }
360
360
  `,i+=`@utility ts-field-box-trigger { ${y(":not(:disabled):not(.is-open)","&.is-open, &:focus-visible")} }
361
361
  `,i+=`@utility ts-option-row { @apply ts-w-full ts-px-half ts-py-quarter ts-border-none ts-bg-transparent ts-cursor-pointer ts-radius-md; }
362
- `,i+=`@utility ts-focus-ring-thumb { box-shadow: ${uo}; }
362
+ `,i+=`@utility ts-focus-ring-thumb { box-shadow: ${yo}; }
363
363
  `,i+=`@utility ts-disabled { @apply ts-opacity-50 ts-cursor-not-allowed; }
364
364
  `,i+=`@utility ts-disabled-flat { @apply ts-cursor-not-allowed; }
365
365
  `,i+=`@utility ts-popover-reset { border: 0; margin: 0; }
@@ -391,9 +391,9 @@ ${n(`:where(${re}) *`,50," ")} }
391
391
  `,i+=`@utility ts-scheme-light { color-scheme: light; color: var(--color-gray-1000); }
392
392
  `,i+=`@utility ts-scheme-dark { color-scheme: dark; color: var(--color-gray-1000); }
393
393
  `,i+=`@utility ts-list-disc { list-style: disc; }
394
- `,i}var or=["brand","info","success"];var on="ts-color-subtle",Ne="ts-text-14 ts-leading-14 ts-tracking-normal ts-weight-normal",On="ts-text-16 ts-leading-16 ts-tracking-normal ts-weight-normal",ir="@supports (anchor-scope: all) { anchor-scope: --ts-anchor; }",rr="@supports (anchor-scope: all) { anchor-name: --ts-anchor; }",mo="@supports (anchor-scope: all) { anchor-scope: --ts-anchor; anchor-name: --ts-anchor; }",vt=":not(.size-sm, .size-lg)",Tt=':not([class*="variant-"])',ds="&.is-placed { position: fixed; inset: auto; left: var(--ts-overlay-x); top: var(--ts-overlay-y); margin: 0; transform: none; }",ar="&.is-placed { position: fixed; inset: auto; left: var(--ts-overlay-x); top: var(--ts-overlay-y); margin: 0; transform: none; width: var(--ts-overlay-w); }",It="corner-shape: var(--ts-corner-shape);",ae=(e,n)=>`border-radius: max(var(--ts-radius-sm), calc(var(--ts-radius-${e}) - ${n})); ${It}`,be="var(--ts-space-quarter)",lr=` position: absolute; inset-block: 0; margin-block: auto;
395
- `;function Zt(e,n,s=Y,o=!1){let{screens:r}=s,a=Object.keys(n),l=cs,i=':has(> input[aria-invalid="true"]), [role="radiogroup"][aria-invalid="true"] *',c=`:is(.is-invalid, ${i})`,d=f=>f==="danger"?`:is(.variant-danger, ${i})`:`.variant-${f}`,u="background-color: var(--ts-material-bg, var(--color-background-100));",y=(f,w=!1)=>{let k="";for(let I of["compact","comfortable"]){k+=` &.density-${I} {
396
- `;for(let D of f)for(let[W,J]of Object.entries(se[D][I]))W==="xs"&&!w||(k+=` --ts-${D}-${W}: ${o?`var(--ts-density-${I}-${D}-${W}, ${J}px)`:`${J}px`};
394
+ `,i}var lr=["brand","info","success"];var un="ts-color-subtle",Ue="ts-text-14 ts-leading-14 ts-tracking-normal ts-weight-normal",Fn="ts-text-16 ts-leading-16 ts-tracking-normal ts-weight-normal",cr="@supports (anchor-scope: all) { anchor-scope: --ts-anchor; }",dr="@supports (anchor-scope: all) { anchor-name: --ts-anchor; }",xo="@supports (anchor-scope: all) { anchor-scope: --ts-anchor; anchor-name: --ts-anchor; }",vt=":not(.size-sm, .size-lg)",Ct=':not([class*="variant-"])',bs="&.is-placed { position: fixed; inset: auto; left: var(--ts-overlay-x); top: var(--ts-overlay-y); margin: 0; transform: none; }",pr="&.is-placed { position: fixed; inset: auto; left: var(--ts-overlay-x); top: var(--ts-overlay-y); margin: 0; transform: none; width: var(--ts-overlay-w); }",Nt="corner-shape: var(--ts-corner-shape);",pe=(e,n)=>`border-radius: max(var(--ts-radius-sm), calc(var(--ts-radius-${e}) - ${n})); ${Nt}`,we="var(--ts-space-quarter)",ur=` position: absolute; inset-block: 0; margin-block: auto;
395
+ `;function Xt(e,n,s=K,o=!1){let{screens:r}=s,a=Object.keys(n),l=hs,i=':has(> input[aria-invalid="true"]), [role="radiogroup"][aria-invalid="true"] *',c=`:is(.is-invalid, ${i})`,d=f=>f==="danger"?`:is(.variant-danger, ${i})`:`.variant-${f}`,u="background-color: var(--ts-material-bg, var(--color-background-100));",y=(f,w=!1)=>{let k="";for(let P of["compact","comfortable"]){k+=` &.density-${P} {
396
+ `;for(let D of f)for(let[W,G]of Object.entries(ae[D][P]))W==="xs"&&!w||(k+=` --ts-${D}-${W}: ${o?`var(--ts-density-${P}-${D}-${W}, ${G}px)`:`${G}px`};
397
397
  `);k+=` }
398
398
  `}return k},t=`/* Archivo auto-generado: COMPONENTS */
399
399
 
@@ -430,7 +430,7 @@ ${n(`:where(${re}) *`,50," ")} }
430
430
  `,t+=` &.size-xs { height: var(--ts-control-h-xs); padding-inline: var(--ts-button-px-xs); @apply ts-type-button-12 ts-radius-sm; }
431
431
 
432
432
  `,t+=y(["control-h","button-px"],!0),t+=` /* Variants */
433
- `,t+=` &.variant-primary, &${Tt} {
433
+ `,t+=` &.variant-primary, &${Ct} {
434
434
  `,t+=` @apply ts-bg-primary-solid ts-color-primary-solid-contrast;
435
435
  `,t+=` &:hover:not(:disabled) { @apply ts-bg-primary-solid-hover ts-color-primary-solid-hover-contrast; }
436
436
  `,t+=` &:active:not(:disabled) { @apply ts-bg-primary-solid-active ts-color-primary-solid-active-contrast ts-translate-y-1; }
@@ -463,7 +463,7 @@ ${n(`:where(${re}) *`,50," ")} }
463
463
  `,t+=` &:disabled { @apply ts-color-gray-400 ts-disabled-flat; }
464
464
  `,t+=` }
465
465
 
466
- `;let m=[...Object.keys(n),...Object.keys(e)];if(m.length>0){let f=["100","200","300","400","500","600","700","800","900","1000"];m.forEach(w=>{f.forEach(k=>{let I=f.indexOf(k),D=f[Math.min(I+1,f.length-1)],W=f[Math.min(I+2,f.length-1)];t+=` &.variant-${w}-${k} {
466
+ `;let m=[...Object.keys(n),...Object.keys(e)];if(m.length>0){let f=["100","200","300","400","500","600","700","800","900","1000"];m.forEach(w=>{f.forEach(k=>{let P=f.indexOf(k),D=f[Math.min(P+1,f.length-1)],W=f[Math.min(P+2,f.length-1)];t+=` &.variant-${w}-${k} {
467
467
  `,t+=` @apply ts-bg-${w}-${k} ts-color-${w}-${k}-contrast;
468
468
  `,t+=` &:hover:not(:disabled) { @apply ts-bg-${w}-${D} ts-color-${w}-${D}-contrast; }
469
469
  `,t+=` &:active:not(:disabled) { @apply ts-bg-${w}-${W} ts-color-${w}-${W}-contrast ts-translate-y-1; }
@@ -612,7 +612,7 @@ ${n(`:where(${re}) *`,50," ")} }
612
612
  `,t+=` }
613
613
 
614
614
  `,t+=` &:is(.is-checked, .is-indeterminate) {
615
- `,t+=` &.variant-primary, &${Tt} {
615
+ `,t+=` &.variant-primary, &${Ct} {
616
616
  `,t+=` & .ts-checkbox-box { @apply ts-bg-primary-solid ts-shadow-none; }
617
617
  `,t+=` & .ts-checkbox-icon { @apply ts-color-primary-solid-contrast; }
618
618
  `,t+=` &:hover:not(.is-disabled) .ts-checkbox-box { @apply ts-bg-primary-solid-hover; }
@@ -748,7 +748,7 @@ ${n(`:where(${re}) *`,50," ")} }
748
748
  `,t+=` @apply ts-opacity-100 ts-scale-100;
749
749
  `,t+=` }
750
750
 
751
- `,t+=` &.variant-primary, &${Tt} {
751
+ `,t+=` &.variant-primary, &${Ct} {
752
752
  `,t+=` & .ts-radio-box {
753
753
  `,t+=` @apply ts-bg-background-100;
754
754
  `,t+=` box-shadow: 0 0 0 var(--ts-border-width-1) var(--color-primary-solid);
@@ -772,7 +772,7 @@ ${n(`:where(${re}) *`,50," ")} }
772
772
  `,t+=` }
773
773
  `,t+=` }
774
774
 
775
- `}),t+=` &.is-card.variant-primary, &.is-card${Tt} { border-color: var(--color-primary-solid); }
775
+ `}),t+=` &.is-card.variant-primary, &.is-card${Ct} { border-color: var(--color-primary-solid); }
776
776
  `,g.forEach(f=>{t+=` &.is-card${d(f)} { border-color: var(--color-${f}-solid); }
777
777
  `}),t+=` }
778
778
  `,t+=` & .ts-radio-input:focus-visible ~ .ts-radio-box {
@@ -798,19 +798,19 @@ ${n(`:where(${re}) *`,50," ")} }
798
798
  `,t+=` &.size-sm {
799
799
  `,t+=` height: var(--ts-control-h-sm); @apply ts-radius-md;
800
800
  `,t+=` & .ts-input-field { @apply ts-type-copy-14; padding-inline: var(--ts-field-px-sm); }
801
- `,t+=` & .ts-input-prefix-block, & .ts-input-suffix-block { @apply ${Ne}; padding-inline: var(--ts-field-px-sm); }
801
+ `,t+=` & .ts-input-prefix-block, & .ts-input-suffix-block { @apply ${Ue}; padding-inline: var(--ts-field-px-sm); }
802
802
  `,t+=` & .ts-input-actions, & .ts-input-kbd-block { padding-inline-end: var(--ts-field-px-sm); }
803
803
  `,t+=` }
804
804
  `,t+=` &.size-md, &${vt} {
805
805
  `,t+=` height: var(--ts-control-h-md); @apply ts-radius-md;
806
806
  `,t+=` & .ts-input-field { @apply ts-type-copy-14; padding-inline: var(--ts-field-px-md); }
807
- `,t+=` & .ts-input-prefix-block, & .ts-input-suffix-block { @apply ${Ne}; padding-inline: var(--ts-field-px-md); }
807
+ `,t+=` & .ts-input-prefix-block, & .ts-input-suffix-block { @apply ${Ue}; padding-inline: var(--ts-field-px-md); }
808
808
  `,t+=` & .ts-input-actions, & .ts-input-kbd-block { padding-inline-end: var(--ts-field-px-md); }
809
809
  `,t+=` }
810
810
  `,t+=` &.size-lg {
811
811
  `,t+=` height: var(--ts-control-h-lg); @apply ts-radius-lg;
812
812
  `,t+=` & .ts-input-field { @apply ts-type-copy-16; padding-inline: var(--ts-field-px-lg); }
813
- `,t+=` & .ts-input-prefix-block, & .ts-input-suffix-block { @apply ${On}; padding-inline: var(--ts-field-px-lg); }
813
+ `,t+=` & .ts-input-prefix-block, & .ts-input-suffix-block { @apply ${Fn}; padding-inline: var(--ts-field-px-lg); }
814
814
  `,t+=` & .ts-input-actions, & .ts-input-kbd-block { padding-inline-end: var(--ts-field-px-lg); }
815
815
  `,t+=` }
816
816
 
@@ -841,11 +841,11 @@ ${n(`:where(${re}) *`,50," ")} }
841
841
  `,t+=` }
842
842
 
843
843
  `,t+=` & .ts-input-prefix-block {
844
- `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${on};
844
+ `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${un};
845
845
  `,t+=` }
846
846
 
847
847
  `,t+=` & .ts-input-suffix-block {
848
- `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${on};
848
+ `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${un};
849
849
  `,t+=` }
850
850
 
851
851
  `,t+=` & .ts-input-kbd-block {
@@ -890,7 +890,7 @@ ${n(`:where(${re}) *`,50," ")} }
890
890
 
891
891
  `,t+=`@utility ts-select {
892
892
  `,t+=` @apply ts-flex ts-items-stretch ts-w-full ts-radius-md ts-relative ts-transition-input;
893
- `,t+=` ${rr}
893
+ `,t+=` ${dr}
894
894
  `,t+=` ${u}
895
895
  `,t+=` & > :first-child {
896
896
  `,t+=` @apply ts-radius-s-inherit;
@@ -904,7 +904,7 @@ ${n(`:where(${re}) *`,50," ")} }
904
904
  `,t+=` &.size-sm {
905
905
  `,t+=` height: var(--ts-control-h-sm); @apply ts-radius-md;
906
906
  `,t+=` & .ts-select-field { @apply ts-type-copy-14; padding-inline-start: var(--ts-field-px-sm); padding-inline-end: var(--ts-select-pr-sm); }
907
- `,t+=` & .ts-select-prefix-block { @apply ${Ne}; padding-inline: var(--ts-field-px-sm); }
907
+ `,t+=` & .ts-select-prefix-block { @apply ${Ue}; padding-inline: var(--ts-field-px-sm); }
908
908
  `,t+=` & .ts-select-chevron { padding-inline: var(--ts-field-px-sm); }
909
909
  `,t+=` & .ts-select-clear { inset-inline-end: calc(var(--ts-select-pr-sm) - 8px); }
910
910
  `,t+=` &:has(.ts-select-clear:not([hidden])) .ts-select-field { padding-inline-end: calc(var(--ts-select-pr-sm) + 20px); }
@@ -916,7 +916,7 @@ ${n(`:where(${re}) *`,50," ")} }
916
916
  `,t+=` &.size-md, &${vt} {
917
917
  `,t+=` height: var(--ts-control-h-md); @apply ts-radius-md;
918
918
  `,t+=` & .ts-select-field { @apply ts-type-copy-14; padding-inline-start: var(--ts-field-px-md); padding-inline-end: var(--ts-select-pr-md); }
919
- `,t+=` & .ts-select-prefix-block { @apply ${Ne}; padding-inline: var(--ts-field-px-md); }
919
+ `,t+=` & .ts-select-prefix-block { @apply ${Ue}; padding-inline: var(--ts-field-px-md); }
920
920
  `,t+=` & .ts-select-chevron { padding-inline: var(--ts-field-px-md); }
921
921
  `,t+=` & .ts-select-clear { inset-inline-end: calc(var(--ts-select-pr-md) - 8px); }
922
922
  `,t+=` &:has(.ts-select-clear:not([hidden])) .ts-select-field { padding-inline-end: calc(var(--ts-select-pr-md) + 20px); }
@@ -928,7 +928,7 @@ ${n(`:where(${re}) *`,50," ")} }
928
928
  `,t+=` &.size-lg {
929
929
  `,t+=` height: var(--ts-control-h-lg); @apply ts-radius-lg;
930
930
  `,t+=` & .ts-select-field { @apply ts-type-copy-16; padding-inline-start: var(--ts-field-px-lg); padding-inline-end: var(--ts-select-pr-lg); }
931
- `,t+=` & .ts-select-prefix-block { @apply ${On}; padding-inline: var(--ts-field-px-lg); }
931
+ `,t+=` & .ts-select-prefix-block { @apply ${Fn}; padding-inline: var(--ts-field-px-lg); }
932
932
  `,t+=` & .ts-select-chevron { padding-inline: var(--ts-field-px-lg); }
933
933
  `,t+=` & .ts-select-clear { inset-inline-end: calc(var(--ts-select-pr-lg) - 8px); }
934
934
  `,t+=` &:has(.ts-select-clear:not([hidden])) .ts-select-field { padding-inline-end: calc(var(--ts-select-pr-lg) + 20px); }
@@ -961,14 +961,14 @@ ${n(`:where(${re}) *`,50," ")} }
961
961
  `,t+=` }
962
962
 
963
963
  `,t+=` & .ts-select-prefix-block {
964
- `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${on};
964
+ `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${un};
965
965
  `,t+=` }
966
966
 
967
967
  `,t+=` & .ts-select-chevron {
968
968
  `,t+=` @apply ts-absolute ts-end-0 ts-top-0 ts-h-full ts-flex ts-items-center ts-justify-center ts-pointer-events-none ts-color-gray-600;
969
969
  `,t+=` }
970
970
  `,t+=` & .ts-select-clear {
971
- `,t+=lr,t+=` }
971
+ `,t+=ur,t+=` }
972
972
  `,t+=` & .ts-select-spinner {
973
973
  `,t+=` position: absolute; inset-block-start: 50%; transform: translateY(-50%);
974
974
  `,t+=` @apply ts-inline-flex ts-items-center ts-justify-center ts-p-quarter ts-color-gray-500 ts-pointer-events-none ts-leading-none;
@@ -977,7 +977,7 @@ ${n(`:where(${re}) *`,50," ")} }
977
977
 
978
978
  `,t+=`@utility ts-select-wrapper {
979
979
  `,t+=` @apply ts-flex ts-flex-col ts-w-full;
980
- `,t+=` ${ir}
980
+ `,t+=` ${cr}
981
981
  `,t+=`}
982
982
  `,t+=`@utility ts-select-label {
983
983
  `,t+=` @apply ts-type-label-12 ts-mb-quarter ts-block ts-min-w-0 ts-break-words;
@@ -998,12 +998,12 @@ ${n(`:where(${re}) *`,50," ")} }
998
998
  `,t+=` &.placement-top { position-area: block-start span-inline-end; }
999
999
  `,t+=` }
1000
1000
  `,t+=` }
1001
- `,t+=` ${ar}
1001
+ `,t+=` ${pr}
1002
1002
  `,t+=`}
1003
1003
 
1004
1004
  `,t+=`@utility ts-select-option {
1005
1005
  `,t+=` @apply ts-option-row ts-flex ts-items-center ts-justify-between ts-font-sans ts-text-14 ts-weight-normal ts-color-subtle ts-select-none ts-box-border ts-align-start ts-transition-option;
1006
- `,t+=` ${ae("xl",be)}
1006
+ `,t+=` ${pe("xl",we)}
1007
1007
  `,t+=` &:hover, &.is-focused {
1008
1008
  `,t+=` @apply ts-color-copy;
1009
1009
  `,t+=` @apply ts-bg-highlight;
@@ -1056,17 +1056,17 @@ ${n(`:where(${re}) *`,50," ")} }
1056
1056
  `,t+=` @apply ts-inline-block; position: relative;
1057
1057
  `,t+=` &:has(> .ts-datepicker-field) { min-width: min-content; }
1058
1058
  `,t+=` & > .ts-datepicker-clear {
1059
- `,t+=lr,t+=` }
1059
+ `,t+=ur,t+=` }
1060
1060
  `;for(let[f,w,k]of[["sm","quarter",12],["md","half",14],["lg","base",16]])t+=` & > .ts-datepicker-clear[data-ts-size=${f}] { inset-inline-end: calc(var(--ts-space-${w}) - var(--ts-space-quarter)); }
1061
1061
  `,t+=` &:has(.ts-datepicker-clear[data-ts-size=${f}]:not([hidden])) .ts-datepicker-trigger { padding-inline-end: calc(var(--ts-space-${w}) + ${k}px + var(--ts-space-half)); }
1062
1062
  `;t+=` & > .ts-datepicker-spinner {
1063
1063
  `,t+=` position: absolute; inset-block-start: 50%; transform: translateY(-50%);
1064
1064
  `,t+=` @apply ts-inline-flex ts-items-center ts-justify-center ts-p-quarter ts-color-gray-500 ts-pointer-events-none ts-leading-none;
1065
1065
  `,t+=` }
1066
- `;for(let[f,w,k,I]of[["sm","quarter",12,16],["md","half",14,16],["lg","base",16,20]])t+=` & > .ts-datepicker-spinner.size-${f} { inset-inline-end: calc(var(--ts-space-${w}) - var(--ts-space-quarter)); }
1067
- `,t+=` &:has(.ts-datepicker-spinner.size-${f}:not([hidden])) .ts-datepicker-trigger { padding-inline-end: calc(var(--ts-space-${w}) + var(--ts-sizing-${I}) + var(--ts-space-half)); }
1066
+ `;for(let[f,w,k,P]of[["sm","quarter",12,16],["md","half",14,16],["lg","base",16,20]])t+=` & > .ts-datepicker-spinner.size-${f} { inset-inline-end: calc(var(--ts-space-${w}) - var(--ts-space-quarter)); }
1067
+ `,t+=` &:has(.ts-datepicker-spinner.size-${f}:not([hidden])) .ts-datepicker-trigger { padding-inline-end: calc(var(--ts-space-${w}) + var(--ts-sizing-${P}) + var(--ts-space-half)); }
1068
1068
  `,t+=` &:has(.ts-datepicker-clear[data-ts-size=${f}]:not([hidden])) .ts-datepicker-spinner.size-${f} { inset-inline-end: calc(var(--ts-space-${w}) + var(--ts-space-quarter) + var(--ts-sizing-${k})); }
1069
- `,t+=` &:has(.ts-datepicker-clear[data-ts-size=${f}]:not([hidden])):has(.ts-datepicker-spinner.size-${f}:not([hidden])) .ts-datepicker-trigger { padding-inline-end: calc(var(--ts-space-${w}) + var(--ts-sizing-${k}) + var(--ts-sizing-${I}) + var(--ts-space-half) * 2); }
1069
+ `,t+=` &:has(.ts-datepicker-clear[data-ts-size=${f}]:not([hidden])):has(.ts-datepicker-spinner.size-${f}:not([hidden])) .ts-datepicker-trigger { padding-inline-end: calc(var(--ts-space-${w}) + var(--ts-sizing-${k}) + var(--ts-sizing-${P}) + var(--ts-space-half) * 2); }
1070
1070
  `;t+=`}
1071
1071
 
1072
1072
  `,t+=`@utility ts-datepicker-trigger {
@@ -1087,10 +1087,10 @@ ${n(`:where(${re}) *`,50," ")} }
1087
1087
  `,t+=`@utility ts-datepicker-value { @apply ts-flex-1 ts-truncate; }
1088
1088
 
1089
1089
  `,t+=`@utility ts-datepicker-prefix-block {
1090
- `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-self-stretch ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${on} ${Ne} ts-radius-s-inherit;
1090
+ `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-self-stretch ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${un} ${Ue} ts-radius-s-inherit;
1091
1091
  `,t+=` padding-inline: var(--ts-field-px-md);
1092
1092
  `,t+=` :where(.ts-datepicker-trigger, .ts-datepicker-field).size-sm > & { padding-inline: var(--ts-field-px-sm); }
1093
- `,t+=` :where(.ts-datepicker-trigger, .ts-datepicker-field).size-lg > & { @apply ${On}; padding-inline: var(--ts-field-px-lg); }
1093
+ `,t+=` :where(.ts-datepicker-trigger, .ts-datepicker-field).size-lg > & { @apply ${Fn}; padding-inline: var(--ts-field-px-lg); }
1094
1094
  `,t+=`}
1095
1095
 
1096
1096
  `,t+=`@utility ts-datepicker-field {
@@ -1142,7 +1142,7 @@ ${n(`:where(${re}) *`,50," ")} }
1142
1142
  `,t+=`}
1143
1143
  `,t+=`@utility ts-datepicker-preset {
1144
1144
  `,t+=` @apply ts-justify-start ts-max-w-full ts-flex-shrink-0;
1145
- `,t+=` ${ae("xl",be)}
1145
+ `,t+=` ${pe("xl",we)}
1146
1146
  `,t+=` &[aria-disabled='true'] { @apply ts-disabled; }
1147
1147
  `,t+=`}
1148
1148
 
@@ -1212,8 +1212,8 @@ ${n(`:where(${re}) *`,50," ")} }
1212
1212
  `,t+=` &.is-range-preview { @apply ts-bg-gray-100; }
1213
1213
  `,t+=` &.is-range-start:not(.is-range-end):not(:last-child) { border-start-end-radius: 0; border-end-end-radius: 0; }
1214
1214
  `,t+=` &.is-range-end:not(.is-range-start):not(:first-child):not(.ts-calendar-week-number + *) { border-start-start-radius: 0; border-end-start-radius: 0; }
1215
- `,t+=` &:is(.is-in-range, .is-range-preview):is(:first-child, .ts-calendar-week-number + *) { border-start-start-radius: var(--ts-radius-md); border-end-start-radius: var(--ts-radius-md); ${It} }
1216
- `,t+=` &:is(.is-in-range, .is-range-preview):last-child { border-start-end-radius: var(--ts-radius-md); border-end-end-radius: var(--ts-radius-md); ${It} }
1215
+ `,t+=` &:is(.is-in-range, .is-range-preview):is(:first-child, .ts-calendar-week-number + *) { border-start-start-radius: var(--ts-radius-md); border-end-start-radius: var(--ts-radius-md); ${Nt} }
1216
+ `,t+=` &:is(.is-in-range, .is-range-preview):last-child { border-start-end-radius: var(--ts-radius-md); border-end-end-radius: var(--ts-radius-md); ${Nt} }
1217
1217
  `,t+=` &[aria-disabled='true'] { @apply ts-disabled; }
1218
1218
  `,t+=` @media (forced-colors: active) {
1219
1219
  `,t+=` &.is-selected, &.is-selected:hover { forced-color-adjust: none; background-color: Highlight; color: HighlightText; }
@@ -1229,14 +1229,14 @@ ${n(`:where(${re}) *`,50," ")} }
1229
1229
 
1230
1230
  `,t+=`@utility ts-combobox {
1231
1231
  `,t+=` @apply ts-flex ts-flex-col ts-gap-quarter ts-w-full;
1232
- `,t+=` ${ir}
1232
+ `,t+=` ${cr}
1233
1233
  `,t+=` & > .ts-input-footer { @apply ts-mt-0; }
1234
1234
  `,t+=`}
1235
1235
 
1236
1236
  `,t+=`@utility ts-combobox-label { @apply ts-type-label-12 ts-block ts-min-w-0 ts-break-words; }
1237
1237
 
1238
1238
  `,t+=`@utility ts-combobox-control {
1239
- `,t+=` ${rr}
1239
+ `,t+=` ${dr}
1240
1240
  `,t+=` &:has(> .ts-combobox-values) { height: auto; min-height: var(--_h); }
1241
1241
  `,t+=` @apply ts-relative ts-flex ts-items-center ts-w-full ts-box-border ts-radius-md ts-transition-input;
1242
1242
  `,t+=` ${u}
@@ -1249,11 +1249,11 @@ ${n(`:where(${re}) *`,50," ")} }
1249
1249
  `,t+=` &.is-disabled { @apply ts-opacity-50; }
1250
1250
  `,t+=y(["control-h","field-px"]),t+=` &.is-readonly { background-color: transparent; & .ts-combobox-input { @apply ts-cursor-default; } }
1251
1251
  `,t+=` & > .ts-combobox-prefix-block {
1252
- `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-self-stretch ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${on} ${Ne} ts-radius-s-inherit;
1252
+ `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-self-stretch ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${un} ${Ue} ts-radius-s-inherit;
1253
1253
  `,t+=` padding-inline: var(--ts-field-px-md);
1254
1254
  `,t+=` }
1255
1255
  `,t+=` &.size-sm > .ts-combobox-prefix-block { padding-inline: var(--ts-field-px-sm); }
1256
- `,t+=` &.size-lg > .ts-combobox-prefix-block { @apply ${On}; padding-inline: var(--ts-field-px-lg); }
1256
+ `,t+=` &.size-lg > .ts-combobox-prefix-block { @apply ${Fn}; padding-inline: var(--ts-field-px-lg); }
1257
1257
  `,t+=` &.size-sm .ts-combobox-input { padding-inline: var(--ts-field-px-sm); }
1258
1258
  `,t+=` &.size-lg .ts-combobox-input { padding-inline: var(--ts-field-px-lg); }
1259
1259
  `,t+=` & .ts-combobox-spinner {
@@ -1289,12 +1289,12 @@ ${n(`:where(${re}) *`,50," ")} }
1289
1289
  `,t+=` &.placement-top { position-area: block-start span-inline-end; }
1290
1290
  `,t+=` }
1291
1291
  `,t+=` }
1292
- `,t+=` ${ar}
1292
+ `,t+=` ${pr}
1293
1293
  `,t+=`}
1294
1294
 
1295
1295
  `,t+=`@utility ts-combobox-option {
1296
1296
  `,t+=` @apply ts-option-row ts-block ts-font-sans ts-text-14 ts-color-subtle ts-select-none ts-box-border ts-align-start ts-break-words ts-transition-option;
1297
- `,t+=` ${ae("xl",be)}
1297
+ `,t+=` ${pe("xl",we)}
1298
1298
  `,t+=` &.is-focused { @apply ts-color-copy; @apply ts-bg-highlight; }
1299
1299
  `,t+=` &.is-selected { @apply ts-weight-medium ts-color-copy; }
1300
1300
  `,t+=` &:has(> [data-select-option-icon], > [data-select-option-text], > [data-select-option-label]) { @apply ts-flex ts-items-center ts-gap-half; }
@@ -1328,7 +1328,7 @@ ${n(`:where(${re}) *`,50," ")} }
1328
1328
 
1329
1329
  `,t+=y(["badge-h","badge-px"]),t+=` /* Fill: subtle */
1330
1330
  `,t+=` &.fill-subtle, &:not(.fill-solid) {
1331
- `,t+=` &.variant-default, &${Tt} {
1331
+ `,t+=` &.variant-default, &${Ct} {
1332
1332
  `,t+=` @apply ts-bg-gray-100 ts-color-gray-1000 ts-ring-gray-300;
1333
1333
  `,t+=` }
1334
1334
  `,a.forEach(f=>{t+=` &.variant-${f} {
@@ -1343,7 +1343,7 @@ ${n(`:where(${re}) *`,50," ")} }
1343
1343
 
1344
1344
  `,t+=` /* Fill: solid */
1345
1345
  `,t+=` &.fill-solid {
1346
- `,t+=` &.variant-default, &${Tt} {
1346
+ `,t+=` &.variant-default, &${Ct} {
1347
1347
  `,t+=` @apply ts-bg-gray-1000 ts-color-background-100;
1348
1348
  `,t+=` }
1349
1349
  `,a.forEach(f=>{t+=` &.variant-${f} {
@@ -1369,12 +1369,12 @@ ${n(`:where(${re}) *`,50," ")} }
1369
1369
 
1370
1370
  `,t+=` /* contrast-low modifier */
1371
1371
  `,t+=` &.fill-subtle.contrast-low, &:not(.fill-solid).contrast-low {
1372
- `,t+=` &.variant-default, &${Tt} { @apply ts-bg-gray-100 ts-color-gray-700; box-shadow: none; }
1372
+ `,t+=` &.variant-default, &${Ct} { @apply ts-bg-gray-100 ts-color-gray-700; box-shadow: none; }
1373
1373
  `,a.forEach(f=>{t+=` &.variant-${f} { color: var(--ts-color-${f}-text); box-shadow: none; }
1374
1374
  `}),b.length>0&&b.forEach(f=>{t+=` &.variant-${f} { @apply ts-color-${f}-400; box-shadow: none; }
1375
1375
  `}),t+=` }
1376
1376
  `,t+=` &.fill-solid.contrast-low {
1377
- `,t+=` &.variant-default, &${Tt} { @apply ts-bg-gray-200 ts-color-gray-700; }
1377
+ `,t+=` &.variant-default, &${Ct} { @apply ts-bg-gray-200 ts-color-gray-700; }
1378
1378
  `,a.forEach(f=>{t+=` &.variant-${f} { background-color: var(--ts-color-${f}-bg); color: var(--ts-color-${f}-text); box-shadow: none; }
1379
1379
  `}),b.length>0&&b.forEach(f=>{t+=` &.variant-${f} { @apply ts-bg-${f}-100 ts-color-${f}-700; }
1380
1380
  `}),t+=` }
@@ -1460,7 +1460,7 @@ ${n(`:where(${re}) *`,50," ")} }
1460
1460
 
1461
1461
  `,t+=` /* Variants \u2014 fondo neutro compartido; s\xF3lo el borde izquierdo y el \xEDcono
1462
1462
  `,t+=` llevan el color de la variante (look sobrio, coherente entre notas). */
1463
- `,t+=` &.variant-default, &${Tt} {
1463
+ `,t+=` &.variant-default, &${Ct} {
1464
1464
  `,t+=` border-inline-start-color: var(--color-gray-700);
1465
1465
  `,t+=` & .ts-note-icon { @apply ts-color-gray-700; }
1466
1466
  `,t+=` }
@@ -1522,7 +1522,7 @@ ${n(`:where(${re}) *`,50," ")} }
1522
1522
  `,t+=`}
1523
1523
 
1524
1524
  `,t+=`@utility ts-tabs {
1525
- `,t+=` &.variant-default, &${Tt} {
1525
+ `,t+=` &.variant-default, &${Ct} {
1526
1526
  `,t+=` @apply ts-flex ts-w-full ts-gap-base ts-border-b-gray-200 ts-overflow-x-auto ts-overflow-y-hidden ts-relative;
1527
1527
  `,t+=` & .ts-tabs-tab {
1528
1528
  `,t+=` @apply ts-inline-flex ts-items-center ts-gap-quarter ts-py-half ts-border-none ts-bg-transparent ts-cursor-pointer ts-font-sans ts-text-14 ts-weight-medium ts-outline-none ts-select-none ts-color-subtle ts-mb-neg-1 ts-relative ts-border-b-2-transparent ts-flex-shrink-0 ts-whitespace-nowrap;
@@ -1540,7 +1540,7 @@ ${n(`:where(${re}) *`,50," ")} }
1540
1540
  `,t+=` @apply ts-focus-ring;
1541
1541
  `,t+=` outline-offset: calc(-1 * var(--ts-sizing-2));
1542
1542
  `,t+=` border-radius: var(--ts-border-width-2);
1543
- `,t+=` ${It}
1543
+ `,t+=` ${Nt}
1544
1544
  `,t+=` }
1545
1545
  `,t+=` }
1546
1546
  `,t+=` &.has-indicator {
@@ -1565,12 +1565,12 @@ ${n(`:where(${re}) *`,50," ")} }
1565
1565
  `,t+=` @apply ts-inline-flex ts-gap-quarter ts-radius-lg ts-p-quarter ts-bg-highlight ts-max-w-full ts-overflow-x-auto ts-relative;
1566
1566
  `,t+=` & .ts-tabs-tab {
1567
1567
  `,t+=` @apply ts-inline-flex ts-items-center ts-gap-quarter ts-px-half ts-py-quarter ts-border-none ts-cursor-pointer ts-font-sans ts-text-14 ts-weight-medium ts-outline-none ts-select-none ts-radius-md ts-color-subtle ts-bg-transparent ts-flex-shrink-0 ts-whitespace-nowrap ts-relative;
1568
- `,t+=` ${ae("lg",be)}
1568
+ `,t+=` ${pe("lg",we)}
1569
1569
  `,t+=` transition: ${Q("background-color","base","out")}, ${Q("color","base","out")}, ${Q("box-shadow","base","out")};
1570
1570
  `,t+=` & [data-tab-icon] { @apply ts-flex ts-items-center ts-flex-shrink-0; }
1571
1571
  `,t+=` &.is-active {
1572
1572
  `,t+=` @apply ts-material-small ts-color-copy;
1573
- `,t+=` ${ae("lg",be)}
1573
+ `,t+=` ${pe("lg",we)}
1574
1574
  `,t+=` }
1575
1575
  `,t+=` &:hover:not(:disabled):not(.is-active) {
1576
1576
  `,t+=` @apply ts-bg-highlight-strong;
@@ -1584,7 +1584,7 @@ ${n(`:where(${re}) *`,50," ")} }
1584
1584
  `,t+=` & .ts-tabs-tab.is-active { background-color: transparent; box-shadow: none; }
1585
1585
  `,t+=` &::before {
1586
1586
  `,t+=` content: ''; @apply ts-absolute ts-pointer-events-none ts-material-small;
1587
- `,t+=` ${ae("lg",be)}
1587
+ `,t+=` ${pe("lg",we)}
1588
1588
  `,t+=` inset-inline-start: 0; inset-block: var(--ts-space-quarter);
1589
1589
  `,t+=` inline-size: calc(var(--ts-tabs-w, 0) * 1px);
1590
1590
  `,t+=` transform: translateX(var(--ts-tabs-x, 0px));
@@ -1600,7 +1600,7 @@ ${n(`:where(${re}) *`,50," ")} }
1600
1600
  `,t+=` }
1601
1601
  `,t+=` }
1602
1602
  `,t+=` &.orientation-vertical {
1603
- `,t+=` &.variant-default, &${Tt} {
1603
+ `,t+=` &.variant-default, &${Ct} {
1604
1604
  `,t+=` @apply ts-flex-col ts-w-fit ts-gap-quarter ts-border-b-0 ts-border-e-gray-200;
1605
1605
  `,t+=` & .ts-tabs-tab {
1606
1606
  `,t+=` @apply ts-justify-start ts-mb-0 ts-me-neg-1 ts-border-b-2-transparent ts-border-e-2-transparent ts-px-half;
@@ -1695,7 +1695,7 @@ ${n(`:where(${re}) *`,50," ")} }
1695
1695
  `,t+=` @apply ts-inline-flex ts-gap-quarter ts-radius-lg ts-p-quarter ts-bg-highlight ts-max-w-full ts-valign-middle;
1696
1696
  `,t+=` &.is-full-width { @apply ts-flex ts-w-full; }
1697
1697
  `,t+=` &.is-disabled { @apply ts-disabled; }
1698
- `,t+=` & > .ts-button { @apply ts-flex-1; ${ae("lg",be)} }
1698
+ `,t+=` & > .ts-button { @apply ts-flex-1; ${pe("lg",we)} }
1699
1699
  `,t+=`}
1700
1700
 
1701
1701
  `,t+=`@utility ts-toggle {
@@ -1779,7 +1779,7 @@ ${n(`:where(${re}) *`,50," ")} }
1779
1779
 
1780
1780
  `,t+=` /* Checked states */
1781
1781
  `,t+=` &.is-checked {
1782
- `,t+=` &.variant-primary, &${Tt} {
1782
+ `,t+=` &.variant-primary, &${Ct} {
1783
1783
  `,t+=` & .ts-toggle-track { @apply ts-bg-primary-solid; }
1784
1784
  `,t+=` & .ts-toggle-thumb { background-color: var(--color-primary-solid-contrast); }
1785
1785
  `,t+=` & [data-toggle-icon-on] { color: var(--color-primary-solid); }
@@ -1900,7 +1900,7 @@ ${n(`:where(${re}) *`,50," ")} }
1900
1900
 
1901
1901
  `,t+=`@utility ts-tooltip-root {
1902
1902
  `,t+=` @apply ts-relative ts-inline-flex;
1903
- `,t+=` ${mo}
1903
+ `,t+=` ${xo}
1904
1904
  `,t+=`}
1905
1905
  `,t+=`@utility ts-tooltip {
1906
1906
  `,t+=` @apply ts-absolute ts-material-tooltip ts-px-half ts-py-quarter ts-text-12 ts-leading-16 ts-weight-medium ts-color-copy ts-pointer-events-none ts-opacity-0 ts-transition-opacity ts-max-w-192; z-index: var(--ts-z-dropdown);
@@ -1924,7 +1924,7 @@ ${n(`:where(${re}) *`,50," ")} }
1924
1924
  `,t+=` &.placement-right { position-area: right; margin: var(--ts-space-quarter); position-try-fallbacks: flip-inline; }
1925
1925
  `,t+=` }
1926
1926
  `,t+=` }
1927
- `,t+=` ${ds}
1927
+ `,t+=` ${bs}
1928
1928
  `,t+=`}
1929
1929
 
1930
1930
  `,t+=`@utility ts-modal-dialog {
@@ -2002,10 +2002,10 @@ ${n(`:where(${re}) *`,50," ")} }
2002
2002
  `,t+=` @apply ts-material-modal ts-radius-none ts-flex ts-flex-col ts-relative ts-overflow-hidden ts-box-border;
2003
2003
  `,t+=` &:not(.side-top, .side-bottom) { @apply ts-h-full; max-width: 100%; }
2004
2004
  `,t+=` &.side-top, &.side-bottom { @apply ts-w-full; max-height: 100%; }
2005
- `,t+=` &.side-left { border-top-right-radius: var(--ts-radius-xl); border-bottom-right-radius: var(--ts-radius-xl); ${It} }
2006
- `,t+=` &.side-right, &:not(.side-left, .side-top, .side-bottom) { border-top-left-radius: var(--ts-radius-xl); border-bottom-left-radius: var(--ts-radius-xl); ${It} }
2007
- `,t+=` &.side-top { border-bottom-left-radius: var(--ts-radius-xl); border-bottom-right-radius: var(--ts-radius-xl); ${It} }
2008
- `,t+=` &.side-bottom { border-top-left-radius: var(--ts-radius-xl); border-top-right-radius: var(--ts-radius-xl); ${It} }
2005
+ `,t+=` &.side-left { border-top-right-radius: var(--ts-radius-xl); border-bottom-right-radius: var(--ts-radius-xl); ${Nt} }
2006
+ `,t+=` &.side-right, &:not(.side-left, .side-top, .side-bottom) { border-top-left-radius: var(--ts-radius-xl); border-bottom-left-radius: var(--ts-radius-xl); ${Nt} }
2007
+ `,t+=` &.side-top { border-bottom-left-radius: var(--ts-radius-xl); border-bottom-right-radius: var(--ts-radius-xl); ${Nt} }
2008
+ `,t+=` &.side-bottom { border-top-left-radius: var(--ts-radius-xl); border-top-right-radius: var(--ts-radius-xl); ${Nt} }
2009
2009
  `,t+=` &:not(.side-top, .side-bottom).size-sm { width: calc(var(--ts-sizing-160) * 2); }
2010
2010
  `,t+=` &:not(.side-top, .side-bottom).size-md, &:not(.side-top, .side-bottom)${vt} { width: calc(var(--ts-sizing-96) * 4); }
2011
2011
  `,t+=` &:not(.side-top, .side-bottom).size-lg { width: calc(var(--ts-sizing-128) * 4); }
@@ -2095,7 +2095,7 @@ ${n(`:where(${re}) *`,50," ")} }
2095
2095
 
2096
2096
  `,t+=`@utility ts-menu-root {
2097
2097
  `,t+=` @apply ts-relative ts-inline-flex;
2098
- `,t+=` ${mo}
2098
+ `,t+=` ${xo}
2099
2099
  `,t+=`}
2100
2100
  `,t+=`@utility ts-menu {
2101
2101
  `,t+=` @apply ts-absolute ts-material-menu ts-p-quarter ts-min-w-160 ts-flex ts-flex-col ts-gap-none ts-box-border ts-color-copy; z-index: var(--ts-z-dropdown);
@@ -2123,11 +2123,11 @@ ${n(`:where(${re}) *`,50," ")} }
2123
2123
  `,t+=` &.placement-left-start { position-area: left span-bottom; margin: 0 var(--ts-space-quarter); position-try-fallbacks: flip-inline; }
2124
2124
  `,t+=` }
2125
2125
  `,t+=` }
2126
- `,t+=` ${ds}
2126
+ `,t+=` ${bs}
2127
2127
  `,t+=`}
2128
2128
  `,t+=`@utility ts-menu-item {
2129
2129
  `,t+=` @apply ts-option-row ts-flex ts-items-center ts-gap-half ts-font-sans ts-text-14 ts-weight-normal ts-color-copy ts-align-start ts-no-underline ts-box-border ts-transition-colors;
2130
- `,t+=` ${ae("xl",be)}
2130
+ `,t+=` ${pe("xl",we)}
2131
2131
  `,t+=` & [data-menu-item-icon] { @apply ts-flex ts-items-center ts-flex-shrink-0 ts-color-subtle; }
2132
2132
  `,t+=` & [data-menu-item-suffix] { @apply ts-flex ts-items-center ts-flex-shrink-0 ts-ms-auto ts-color-subtle; }
2133
2133
  `,t+=` &:hover, &:focus-visible, &.is-focused { @apply ts-bg-highlight; }
@@ -2160,7 +2160,7 @@ ${n(`:where(${re}) *`,50," ")} }
2160
2160
  `,t+=` corner-shape: inherit;
2161
2161
  `,t+=` }
2162
2162
  `,t+=` & img { @apply ts-w-full ts-h-full ts-object-cover; }
2163
- `,or.forEach(f=>{t+=` &.tone-${f} [data-avatar-media] { @apply ts-bg-${f}-solid ts-color-${f}-solid-contrast; }
2163
+ `,lr.forEach(f=>{t+=` &.tone-${f} [data-avatar-media] { @apply ts-bg-${f}-solid ts-color-${f}-solid-contrast; }
2164
2164
  `}),t+=` & [data-avatar-status] {
2165
2165
  `,t+=` @apply ts-absolute ts-radius-full;
2166
2166
  `,t+=` bottom: 0; right: 0;
@@ -2230,7 +2230,7 @@ ${n(`:where(${re}) *`,50," ")} }
2230
2230
  `,t+=` background-size: 200% 100%;
2231
2231
  `,t+=` background-position: 50% 0;
2232
2232
  `,t+=` animation: ts-skeleton-wave var(--ts-duration-loop-base) var(--ts-ease-in-out) var(--ts-iterations-loop);
2233
- `,t+=` &.variant-text, &${Tt} { @apply ts-radius-sm; height: 1em; }
2233
+ `,t+=` &.variant-text, &${Ct} { @apply ts-radius-sm; height: 1em; }
2234
2234
  `,t+=` &.variant-circle { @apply ts-radius-full; }
2235
2235
  `,t+=` &.variant-rect { @apply ts-radius-md; }
2236
2236
  `,t+=`}
@@ -2325,7 +2325,7 @@ ${n(`:where(${re}) *`,50," ")} }
2325
2325
  `,t+=`@utility ts-banner {
2326
2326
  `,t+=` @apply ts-flex ts-items-center ts-w-full ts-px-base ts-py-half ts-gap-half ts-type-copy-14;
2327
2327
  `,t+=` border-bottom: var(--ts-border-width-1) solid var(--color-gray-200);
2328
- `,t+=` &.variant-default, &${Tt} { @apply ts-bg-background-200 ts-color-copy; }
2328
+ `,t+=` &.variant-default, &${Ct} { @apply ts-bg-background-200 ts-color-copy; }
2329
2329
  `,a.forEach(f=>{t+=` &.variant-${f} { background-color: var(--ts-color-${f}-bg); color: var(--ts-color-${f}-text); border-bottom-color: var(--ts-color-${f}-border); }
2330
2330
  `}),t+=` &.is-sticky { @apply ts-sticky ts-top-0; z-index: var(--ts-z-banner); }
2331
2331
  `,t+=` & [data-banner-icon] { @apply ts-flex ts-flex-shrink-0 ts-items-center; }
@@ -2335,7 +2335,7 @@ ${n(`:where(${re}) *`,50," ")} }
2335
2335
 
2336
2336
  `,t+=`@utility ts-popover-root {
2337
2337
  `,t+=` @apply ts-relative ts-inline-flex;
2338
- `,t+=` ${mo}
2338
+ `,t+=` ${xo}
2339
2339
  `,t+=`}
2340
2340
  `,t+=`@utility ts-popover {
2341
2341
  `,t+=` @apply ts-absolute ts-material-menu ts-overflow-hidden ts-box-border; z-index: var(--ts-z-dropdown);
@@ -2359,7 +2359,7 @@ ${n(`:where(${re}) *`,50," ")} }
2359
2359
  `,t+=` &.placement-top { position-area: block-start; }
2360
2360
  `,t+=` }
2361
2361
  `,t+=` }
2362
- `,t+=` ${ds}
2362
+ `,t+=` ${bs}
2363
2363
  `,t+=`}
2364
2364
 
2365
2365
  `,t+=`@utility ts-number-input {
@@ -2376,11 +2376,11 @@ ${n(`:where(${re}) *`,50," ")} }
2376
2376
  `,t+=` & .ts-number-input-field { @apply ts-cursor-default; }
2377
2377
  `,t+=` }
2378
2378
  `,t+=` & .ts-number-input-prefix, & .ts-number-input-suffix {
2379
- `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${on} ${Ne};
2379
+ `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${un} ${Ue};
2380
2380
  `,t+=` padding-inline: var(--ts-field-px-md);
2381
2381
  `,t+=` }
2382
2382
  `,t+=` &.size-sm .ts-number-input-prefix, &.size-sm .ts-number-input-suffix { padding-inline: var(--ts-field-px-sm); }
2383
- `,t+=` &.size-lg .ts-number-input-prefix, &.size-lg .ts-number-input-suffix { @apply ${On}; padding-inline: var(--ts-field-px-lg); }
2383
+ `,t+=` &.size-lg .ts-number-input-prefix, &.size-lg .ts-number-input-suffix { @apply ${Fn}; padding-inline: var(--ts-field-px-lg); }
2384
2384
  `,t+=` & .ts-number-input-spinner {
2385
2385
  `,t+=` @apply ts-inline-flex ts-items-center ts-justify-center ts-flex-shrink-0 ts-color-gray-500 ts-pe-quarter;
2386
2386
  `,t+=` }
@@ -2526,7 +2526,7 @@ ${n(`:where(${re}) *`,50," ")} }
2526
2526
  `,t+=`@utility ts-context-menu {
2527
2527
  `,t+=` @apply ts-fixed ts-material-menu ts-p-quarter ts-min-w-160 ts-flex ts-flex-col ts-gap-none ts-box-border; z-index: var(--ts-z-dropdown);
2528
2528
  `,t+=` @apply ts-popover-reset;
2529
- `,t+=` ${ds}
2529
+ `,t+=` ${bs}
2530
2530
  `,t+=`}
2531
2531
 
2532
2532
  `,t+=`@utility ts-slider {
@@ -2778,7 +2778,7 @@ ${n(`:where(${re}) *`,50," ")} }
2778
2778
  `,t+=`}
2779
2779
  `,t+=`@utility ts-command-item {
2780
2780
  `,t+=` @apply ts-option-row ts-flex ts-items-center ts-align-start ts-transition-colors;
2781
- `,t+=` ${ae("xl","var(--ts-sizing-4)")}
2781
+ `,t+=` ${pe("xl","var(--ts-sizing-4)")}
2782
2782
  `,t+=` gap: var(--ts-sizing-8);
2783
2783
  `,t+=` margin-inline: var(--ts-sizing-4);
2784
2784
  `,t+=` width: calc(100% - var(--ts-sizing-8));
@@ -2814,12 +2814,12 @@ ${n(`:where(${re}) *`,50," ")} }
2814
2814
  `,t+=`@utility ts-card-radius {
2815
2815
  `,t+=` --ts-card-radius: var(--ts-radius-xl);
2816
2816
  `,t+=` border-radius: var(--ts-card-radius);
2817
- `,t+=` ${It}
2817
+ `,t+=` ${Nt}
2818
2818
  `,t+=`}
2819
2819
 
2820
2820
  `,t+=`@utility ts-card-inset-radius {
2821
2821
  `,t+=` border-radius: max(0px, calc(var(--ts-card-radius) - var(--ts-card-padding, 0px) + var(--ts-border-width-1)));
2822
- `,t+=` ${It}
2822
+ `,t+=` ${Nt}
2823
2823
  `,t+=`}
2824
2824
 
2825
2825
  `,t+=`@utility ts-card {
@@ -2827,13 +2827,13 @@ ${n(`:where(${re}) *`,50," ")} }
2827
2827
  `,t+=` --ts-card-radius: var(--ts-radius-xl);
2828
2828
  `,t+=` --ts-card-padding: 0px;
2829
2829
  `,t+=` border-radius: var(--ts-card-radius);
2830
- `,t+=` ${It}
2830
+ `,t+=` ${Nt}
2831
2831
  `,t+=` isolation: isolate;
2832
2832
  `,t+=` transform: translateZ(0);
2833
2833
  `,t+=` backface-visibility: hidden;
2834
2834
 
2835
2835
  `,t+=` /* Variants \u2014 ts-material-medium define ts-radius-xl = mismo token que --ts-card-radius */
2836
- `,t+=` &.variant-default, &${Tt} { @apply ts-material-medium; }
2836
+ `,t+=` &.variant-default, &${Ct} { @apply ts-material-medium; }
2837
2837
  `,t+=` &.variant-outline { @apply ts-bg-transparent ts-border-gray-200; }
2838
2838
  `,t+=` &.variant-ghost { @apply ts-bg-transparent; }
2839
2839
 
@@ -2881,7 +2881,7 @@ ${n(`:where(${re}) *`,50," ")} }
2881
2881
  `,t+=`@utility ts-card-media {
2882
2882
  `,t+=` @apply ts-relative;
2883
2883
  `,t+=` border-radius: max(0px, calc(var(--ts-card-radius) - var(--ts-card-padding, 0px) + var(--ts-border-width-1)));
2884
- `,t+=` ${It}
2884
+ `,t+=` ${Nt}
2885
2885
  `,t+=` /* Sin ts-overflow-hidden: el ambilight debe sangrar hacia el padding del card al escalar */
2886
2886
 
2887
2887
  `,t+=` /* Aspect ratios */
@@ -2921,7 +2921,7 @@ ${n(`:where(${re}) *`,50," ")} }
2921
2921
  `,t+=` }
2922
2922
  `,t+=`}
2923
2923
 
2924
- `,t}function Nt(e=Y){let n=`/* Archivo auto-generado: SEMANTIC UTILITIES (base, token-agn\xF3stico) */
2924
+ `,t}function Lt(e=K){let n=`/* Archivo auto-generado: SEMANTIC UTILITIES (base, token-agn\xF3stico) */
2925
2925
  @import "./atomic.css";
2926
2926
  @import "./components.css";
2927
2927
 
@@ -2949,7 +2949,7 @@ ${n(`:where(${re}) *`,50," ")} }
2949
2949
  `,n+=`
2950
2950
  `;let o=Object.keys(e.shadows);for(let i of o)n+=`@utility ts-surface-${i} { @apply ts-bg-background-100 ts-radius-lg ts-shadow-${i}; }
2951
2951
  `,n+=`@utility ts-floating-${i} { @apply ts-bg-background-100 ts-radius-xl ts-shadow-${i}; }
2952
- `;let r="var(--ts-material-bg, var(--color-background-100))",a="0 0 0 var(--ts-border-width-1) var(--ts-material-border, var(--color-grayAlpha-200))",l=(i,c)=>`{ background-color: ${r}; box-shadow: ${a}, ${tr[c]}; @apply ts-radius-${i}; }`;return n+=`@utility ts-material-base ${l("md","sm")}
2952
+ `;let r="var(--ts-material-bg, var(--color-background-100))",a="0 0 0 var(--ts-border-width-1) var(--ts-material-border, var(--color-grayAlpha-200))",l=(i,c)=>`{ background-color: ${r}; box-shadow: ${a}, ${or[c]}; @apply ts-radius-${i}; }`;return n+=`@utility ts-material-base ${l("md","sm")}
2953
2953
  `,n+=`@utility ts-material-small ${l("md","sm")}
2954
2954
  `,n+=`@utility ts-material-medium ${l("xl","md")}
2955
2955
  `,n+=`@utility ts-material-large ${l("xl","lg")}
@@ -2957,79 +2957,79 @@ ${n(`:where(${re}) *`,50," ")} }
2957
2957
  `,n+=`@utility ts-material-menu ${l("xl","md")}
2958
2958
  `,n+=`@utility ts-material-modal ${l("xl","lg")}
2959
2959
  `,n+=`@utility ts-material-fullscreen ${l("2xl","xl")}
2960
- `,n}var fo={ml:"ms",mr:"me",pl:"ps",pr:"pe",left:"start",right:"end"},gc={tl:"ss",tr:"se",bl:"es",br:"ee",l:"s",r:"e"},mc={left:"start",center:"center",right:"end"};function gt(e){let n;if(n=e.match(/^ts-(m|mx|my|mt|mb|ml|mr|pl|pr|left|right)-([a-z0-9]+)(-negative)?$/)){let[,s,o,r]=n,a=fo[s]??s;if(!fo[s]&&!r)return null;let l=fo[s]?"fisico-inline":"negativo";return r&&o==="none"?{viejo:e,nuevo:`ts-${a}-none`,regla:l,fusion:!0}:{viejo:e,nuevo:`ts-${a}-${r?"neg-":""}${o}`,regla:l}}return(n=e.match(/^ts-text-(left|center|right)$/))?{viejo:e,nuevo:`ts-align-${mc[n[1]]}`,regla:"texto"}:(n=e.match(/^ts-text-(balance|pretty|nowrap)$/))?{viejo:e,nuevo:`ts-wrap-${n[1]}`,regla:"texto"}:(n=e.match(/^ts-text-((heading|copy|label|button)-.+)$/))?{viejo:e,nuevo:`ts-type-${n[1]}`,regla:"texto"}:(n=e.match(/^ts-border-(r|l)-(.+)$/))?{viejo:e,nuevo:`ts-border-${n[1]==="r"?"e":"s"}-${n[2]}`,regla:"borde-fisico"}:(n=e.match(/^ts-radius-(tl|tr|bl|br|l|r)-inherit$/))?{viejo:e,nuevo:`ts-radius-${gc[n[1]]}-inherit`,regla:"radio-fisico"}:(n=e.match(/^ts-outline-focus-(.+)$/))?{viejo:e,nuevo:`ts-outline-${n[1]}`,regla:"outline-focus",fusion:!0}:e==="ts-cursor-cell-select"?{viejo:e,nuevo:"ts-cursor-cell",regla:"valor-css"}:e==="ts-density-compact"?{viejo:e,nuevo:"ts-compact",regla:"contexto"}:e==="ts-color-btn"?{viejo:e,nuevo:null,regla:"color-btn"}:e==="ts-px-0-important"?{viejo:e,nuevo:null,regla:"important"}:null}function ps(e){let n=[];for(let s of new Set(e)){let o=gt(s);o&&n.push(o)}return n}function Ct(e){let n=new Map;for(let s of ps(e))s.nuevo!==null&&!s.fusion&&n.set(s.viejo,s.nuevo);return n}function cr(e){let n=new Map;for(let s of e){if(n.has(s.name))throw new Error(`Bloque @utility repetido: ${s.name}. Un nombre del Core no se pisa ni se repite.`);n.set(s.name,s.body)}for(let[s,o]of Ct(e.map(r=>r.name)))n.set(o,n.get(s));return n}var fc=/(?<![A-Za-z0-9_-])ts-[A-Za-z0-9/-]*[A-Za-z0-9](?![A-Za-z0-9_-])/g,hc=/(?<!\/)taisho:nombres-viejos[\s\S]*?\/taisho:nombres-viejos/g;function ho(e){return[...e.matchAll(hc)].map(n=>[n.index,n.index+n[0].length])}var dr=e=>new Map([...e].map(n=>[n.viejo,n]));function pr(e,n){let s=ho(e),o=[],r=[],a=[],l=0,i=1,c=0;return{texto:e.replace(fc,(u,...y)=>{let t=y[y.length-2];for(let h=c;h<t;h++)e.charCodeAt(h)===10&&i++;c=t;let m=n.get(u);return m?ye(s,t)?(l++,u):Mn(e,t)?u:m.nuevo===null?(r.push({linea:i,viejo:u,regla:m.regla}),u):(o.push({linea:i,viejo:u,nuevo:m.nuevo,regla:m.regla}),m.nuevo):(gt(u)&&!ye(s,t)&&!Mn(e,t)&&a.push({linea:i,token:u}),u)}),cambios:o,sinSucesor:r,posibles:a,saltados:l}}var ye=(e,n)=>e.some(([s,o])=>n>=s&&n<o),Mn=(e,n)=>/@utility\s+$/.test(e.slice(Math.max(0,n-40),n));var bc={"@sm:":"24rem","@md:":"28rem","@lg:":"32rem","@xl:":"36rem","@2xl:":"42rem","@3xl:":"48rem","@4xl:":"56rem","@5xl:":"64rem","@6xl:":"72rem","@7xl:":"80rem"},yc=["busy","checked","disabled","expanded","hidden","pressed","readonly","required","selected","invalid"],vc="@media (hover: hover)";function Wt(e){let n=new Map,s=Object.entries(e).sort(([,o],[,r])=>parseFloat(o)-parseFloat(r));for(let[o,r]of s)n.set(`${o}:`,{valor:`${parseFloat(r)/16}rem`,tipo:"media"});for(let[o,r]of[...s].reverse())n.set(`max-${o}:`,{valor:`${parseFloat(r)/16}rem`,tipo:"max"});for(let[o,r]of Object.entries(bc))n.set(o,{valor:r,tipo:"container"});n.set("print:",{valor:"",tipo:"print"}),n.set("hover:",{valor:":hover",tipo:"selector",en:vc}),n.set("focus:",{valor:":focus",tipo:"selector"}),n.set("focus-visible:",{valor:":focus-visible",tipo:"selector"}),n.set("active:",{valor:":active",tipo:"selector"});for(let o of yc)n.set(`aria-${o}:`,{valor:`[aria-${o}="true"]`,tipo:"selector"});return n.set("checked:",{valor:":checked",tipo:"selector"}),n.set("invalid:",{valor:":invalid",tipo:"selector"}),n.set("disabled:",{valor:':is(:disabled, [aria-disabled="true"])',tipo:"selector"}),n}var xc=["hover","focus","focus-visible","active","aria","data","checked","invalid","disabled"],ur=e=>{let n=e.slice(0,-1),s=n.startsWith("aria-")?"aria":n.startsWith("data-")?"data":n;return xc.indexOf(s)},gr=/^[a-z][a-z0-9-]*$/;function mr(e,n){let s=n.get(e);if(s)return s.tipo==="media"?{prefijo:e,tipo:"contexto",sufijo:"",media:`(width >= ${s.valor})`,orden:[]}:s.tipo==="max"?{prefijo:e,tipo:"contexto",sufijo:"",media:`(width < ${s.valor})`,orden:[]}:s.tipo==="container"?{prefijo:e,tipo:"contexto",sufijo:"",container:`(width >= ${s.valor})`,orden:[]}:s.tipo==="print"?{prefijo:e,tipo:"print",sufijo:"",media:"print",orden:[]}:{prefijo:e,tipo:"estado",sufijo:s.valor,media:s.en?.replace("@media ",""),orden:[2+ur(e)]};let o=/^data-(.+):$/.exec(e);if(o&&gr.test(o[1])&&!o[1].startsWith("ts-"))return{prefijo:e,tipo:"estado",sufijo:`[data-${o[1]}]`,orden:[2+ur(e)]};let r=/^(group|peer)-(.+?)(?:\/([^/:]+))?:$/.exec(e);if(r&&(r[3]===void 0||gr.test(r[3]))){let a=mr(`${r[2]}:`,n);if(a?.tipo==="estado"){let l=`:where(.ts.${r[1]}${r[3]?`\\/${r[3]}`:""})`,i=r[1]==="group"?" *":" ~ *";return{prefijo:e,tipo:"grupo",sufijo:`:is(${l}${a.sufijo}${i})`,media:a.media,orden:[r[1]==="group"?0:1,...a.orden]}}}}var bo=["contexto","print","grupo","estado"];function jt(e,n){let s=[];for(let a of e){let l=mr(a,n);if(!l)return/^data-ts-/.test(a)?{ok:!1,motivo:"data-ts",prefijo:a}:{ok:!1,motivo:"desconocido",prefijo:a};s.push(l)}let o=s.map(a=>bo.indexOf(a.tipo));return o.every((a,l)=>l===0||a>o[l-1])&&s.length<=3?{ok:!0,segmentos:s}:new Set(o).size!==o.length||s.length>3?{ok:!1,motivo:"orden"}:{ok:!1,motivo:"orden",canonica:[...s].sort((a,l)=>bo.indexOf(a.tipo)-bo.indexOf(l.tipo)).map(a=>a.prefijo)}}function qn(e){let n=e.split(":");return{cadena:n.slice(0,-1).map(s=>`${s}:`),base:n[n.length-1]}}function rn(e,n,s=[]){if(s.includes(e))return[];let o=[];for(let r of n[e]??[]){if(typeof r!="string")continue;let{cadena:a,base:l}=qn(r);if(Object.hasOwn(n,l))for(let i of rn(l,n,[...s,e]))o.push({cadena:[...a,...i.cadena],base:i.base});else o.push({cadena:a,base:l})}return o}var Ut=e=>e.includes(".");function wc(e){let[n,...s]=e.split(".");return{componente:n,modificadores:s}}function yo(e){let n=new Map;Object.keys(e).forEach((s,o)=>{if(!Ut(s))return;let{componente:r,modificadores:a}=wc(s);n.set(r,[...n.get(r)??[],{clave:s,modificadores:a,decl:o}])});for(let s of n.values())s.sort((o,r)=>o.modificadores.length-r.modificadores.length||o.decl-r.decl);return n}function fr(e){let n=new Map;for(let[s,o]of yo(e))n.set(s,[...new Set(o.flatMap(r=>r.modificadores))]);return n}function us(e){let n=new Map;for(let s of Object.keys(e)){if(Ut(s))continue;let o=rn(s,e);o.some(r=>r.cadena.length>0)&&n.set(s,o)}return n}function hr(e){let n=new Map,s=(o,r)=>{if(!(n.has(o)||r.includes(o))){for(let a of e[o]){if(typeof a!="string")continue;let{base:l}=qn(a);Object.hasOwn(e,l)&&s(l,[...r,o])}n.set(o,n.size)}};for(let o of Object.keys(e))Ut(o)||s(o,[]);return n}var In=(e,n=0,s=0)=>e*1e6+n*1e3+s,an="a lo sumo un contexto, un print, un group o peer y un estado, en ese orden, y 3 segmentos";function ve(e,n,s){let o=[];for(let r of n){let a=[...e,...r.cadena],l=jt(a,s);if(!l.ok)return[...o,{ok:!1,hoja:r,compuesta:a.join("")+r.base}];o.push({ok:!0,cadena:a,hoja:r,segmentos:l.segmentos})}return o}var ln=(e,n,s,o)=>({class:e,utility:n,inner:o.hoja.cadena.join("")+o.hoja.base,use:s.join(""),result:o.compuesta});var Dt=e=>e?` \xBFSe quiso decir "${e}"?`:"",Ot=e=>e?` Did you mean "${e}"?`:"",$c={slug:"slug",root:"ra\xEDz",block:"bloque",token:"clave de token"},br={slug:"el componente",root:"la ra\xEDz",block:"el bloque",utility:"la utilidad",variable:"la variable"},kc={hex:"el color hex",name:"el color con nombre",function:"la funci\xF3n de color"},vo={slug:"slug",root:"root",block:"block",token:"token key",utility:"utility",variable:"variable"},Sc={hex:"the hex color",name:"the named color",function:"the color function"},Tc={unscoped:"el sujeto es siempre & (s\xF3lo se admite un ancestro: una clase o [dir=\u2026] antes de &).",combinator:"s\xF3lo se admiten el espacio y > como combinadores (no ~, + ni *).",pseudo:"esa pseudoclase o pseudoelemento no est\xE1 en la lista permitida.",attribute:"un atributo s\xF3lo puede ser aria-*, data-*, dir, disabled, open\u2026, con = y un valor [a-z0-9-].",syntax:"no se entiende."},Cc={unscoped:"The subject is always & (only an ancestor is allowed: a class or [dir=\u2026] before &).",combinator:"Only the space and > combinators are allowed (not ~, + or *).",pseudo:"That pseudo-class or pseudo-element isn't in the allowed list.",attribute:"An attribute can only be aria-*, data-*, dir, disabled, open\u2026, with = and a [a-z0-9-] value.",syntax:"It can't be read."},jc={classes:"demasiadas clases en un @apply",depth:"cadena de @apply demasiado profunda","block-size":"el bloque expandido es demasiado grande","total-size":"el CSS expandido del paquete es demasiado grande"},zc={classes:"too many classes in one @apply",depth:"@apply chain too deep","block-size":"the expanded block is too large","total-size":"the package's expanded CSS is too large"},Ec={"css-size":"tama\xF1o del CSS (bytes)","block-size":"tama\xF1o de un bloque (bytes)",blocks:"bloques",depth:"anidamiento",tokens:"tokens por componente","value-length":"largo de un valor de token","key-length":"largo de una clave de token",components:"componentes",roots:"ra\xEDces (por componente o sueltas)"},Rc={"css-size":"CSS size (bytes)","block-size":"block size (bytes)",blocks:"blocks",depth:"nesting",tokens:"tokens per component","value-length":"token value length","key-length":"token key length",components:"components",roots:"roots (per component or loose)"},Ac={integer:'tiene que ser un n\xFAmero entero, p. ej. "10".',"font-weight":'tiene que ser un peso entre 1 y 1000, p. ej. "600".',opacity:'tiene que ser un n\xFAmero entre 0 y 1 (p. ej. "0.5") o un var().',duration:'tiene que ser un tiempo en ms o s, p. ej. "150ms".',iterations:'tiene que ser "infinite" o un n\xFAmero de repeticiones (0 o m\xE1s), p. ej. "0".',px:"tiene que ser un n\xFAmero de px (0 o m\xE1s), p. ej. 32."},Dc={integer:'It must be a whole number, e.g., "10".',"font-weight":'It must be a weight from 1 to 1000, e.g., "600".',opacity:'It must be a number from 0 to 1 (e.g., "0.5") or a var().',duration:'It must be a time in ms or s, e.g., "150ms".',iterations:'It must be "infinite" or a number of repetitions (0 or more), e.g., "0".',px:"It must be a number of px (0 or more), e.g., 32."},xo="at most one context, one print, one group or peer, and one state, in that order, and 3 segments",Oc={"empty-value":()=>"tiene un valor vac\xEDo.","value-not-string":e=>`tiene que ser un texto (${JSON.stringify(e.value)} no lo es), p. ej. "10px".`,"unsafe-value":e=>`tiene un valor inv\xE1lido (${JSON.stringify(e.value)}): no puede contener ; { } \\ /* */ ni saltos de l\xEDnea.`,"scope-invalid":e=>`tiene un valor inv\xE1lido (${JSON.stringify(e.value)}): el \xFAnico valor es 'ts', y ya es el \xFAnico modo: se quita la clave.`,"dark-mode-invalid":e=>`tiene un valor inv\xE1lido (${JSON.stringify(e.value)}): se usa 'class' o 'media'.`,"icons-html-dirs-removed":()=>"ya no existe: se declara `content`.","brand-required":()=>"es obligatorio: de esa semilla sale la paleta de marca (enlaces, acentos y, si no se define `primary`, los botones primarios). Se le pone un hex, p. ej. colors: { brand: '#4F46E5' }.","font-italic-missing":e=>`pide italic, pero ${e.source} no trae ${e.subset}-${e.weight}-italic.css. Se quita "italic" de styles, se quita ese peso o se elige una fuente con it\xE1lica.`,"font-styles-invalid":e=>`tiene un valor inv\xE1lido (${JSON.stringify(e.value)}): tiene que ser una lista con 'normal' y/o 'italic', p. ej. styles: ['normal', 'italic'].`,"primary-invalid":()=>"tiene un valor inv\xE1lido: tiene que ser un color (hex u oklch), p. ej. primary: 'oklch(0.15 0 0)'. Si no hace falta un primario aparte, se quita la clave: los botones primarios usan la marca.","primary-in-colors":()=>"`primary` no es un color de paleta: va en `themes.<tema>.primary`, junto a `colors`, no adentro.","screen-exists":e=>`ya existe en el DS. El corte de un screen de f\xE1brica (los @media) es fijo; themes.<tema>.screens.${e.name} s\xF3lo cambia el token --ts-screen-${e.name} y ts-max-w-screen-${e.name}.`,"screen-name-invalid":()=>"es un nombre inv\xE1lido: tiene que ser xs (o 2xs\u20269xs) o 2xl\u20269xl.","screen-value-invalid":e=>`tiene un valor inv\xE1lido ("${e.value}"): tiene que ser un ancho en px, p. ej. "1536px".`,"screen-repeated":e=>`repite el ancho ${e.value} de screens.${e.other}.`,"screen-below-min":e=>`tiene un ancho incoherente con su nombre: ${e.name} tiene que ser menor que el screen de f\xE1brica m\xE1s chico (${e.px}px).`,"screen-above-max":e=>`tiene un ancho incoherente con su nombre: ${e.name} tiene que ser mayor que el screen de f\xE1brica m\xE1s grande (${e.px}px).`,"screen-order":e=>`tiene un ancho incoherente con su nombre: ${e.name} (${e.value}) tiene que ser ${e.greater?"mayor":"menor"} que ${e.other} (${e.otherValue}).`,"scale-exists":e=>`ya existe en el DS. Para cambiar su valor se usa themes.<tema>.${e.themePath}.${e.name}.`,"scale-name-invalid":()=>'es un nombre inv\xE1lido: min\xFAsculas y d\xEDgitos, separados por guiones (p. ej. "card" o "hero-lg").',"extend-key-unknown":e=>`no es una clave de extend.${Dt(e.suggestion)}`,"extend-key-excluded":e=>`no se ampl\xEDa: un nombre nuevo ser\xEDa una variable sin clase que la use. Para cambiar el valor de uno que ya existe se usa themes.<tema>.${e.key}.<nombre>.`,"extend-shape-invalid":e=>`tiene una forma inv\xE1lida (${JSON.stringify(e.value)}): tiene que ser ${e.expected==="list"?"una lista, p. ej. [30, 100]":'un objeto de nombres, p. ej. { nombre: "valor" }'}.`,"theme-key-unknown":e=>`no es una clave de un tema.${e.extendPath?` Para sumar nombres a esa escala se usa ${e.extendPath}; el tema s\xF3lo cambia valores.`:""}${Dt(e.suggestion)}`,"theme-name-unknown":e=>`no es un nombre de la escala ${e.scale}: un tema s\xF3lo cambia el valor de un nombre que ya existe.${e.extendPath?` Para sumarlo se usa ${e.extendPath}.${e.name}.`:" Esa escala no se puede ampliar."}`,"corner-shape-invalid":e=>`tiene un valor inv\xE1lido (${JSON.stringify(e.value)}): tiene que ser 'round' o 'squircle'.`,"value-type-invalid":e=>`tiene un valor inv\xE1lido (${JSON.stringify(e.value)}): ${Ac[e.kind]}`,"sizing-exists":e=>e.repeated?`repite el nivel ${e.level} de la lista.`:"ya existe en el DS. El sizing es fijo: s\xF3lo se suman niveles nuevos (un tema no cambia su valor).","font-size-needs-line-height":e=>`necesita un interlineado con el mismo nombre: se suma extend.lineHeights.${e.name}.`,"scale-name-numeric":e=>`es un nombre inv\xE1lido: en esta escala el nombre es un n\xFAmero entero (${e.range}), p. ej. "36".`,"space-neg-prefix":()=>'no puede empezar con "neg-": ese prefijo lo usan los nombres de los m\xE1rgenes negativos (ts-mt-neg-1).',"space-negative-suffix":()=>'no puede terminar en "-negative": ese sufijo lo genera el motor para los m\xE1rgenes negativos.',"class-exists":e=>`genera la clase ${e.class}, que ya existe en el DS. Se elige otro nombre.`,"class-duplicated":e=>`genera la clase ${e.class}, que tambi\xE9n genera ${e.other}. Se elige otro nombre.`,"class-renamed-exists":e=>`genera la clase ${e.class}, cuyo nombre nuevo ${e.renamed} ya existe en el DS. Se elige otro nombre.`,"utility-empty":()=>"tiene una lista de clases vac\xEDa.","utility-not-a-class":e=>`compone ${JSON.stringify(e.value)}, que no es un nombre de clase.`,"utility-composes-modifier":e=>`compone "${e.class}": un modificador no es una utilidad; se compone "${e.utility}" y se pone "${e.modifiers.join(" ")}" en el markup.`,"utility-unknown-prefix":e=>`compone "${e.class}": el prefijo "${e.prefix}" no existe.${Dt(e.suggestion)}`,"utility-data-ts-variant":e=>`compone "${e.class}": \`data-ts-*\` es el gancho de los componentes, no una variante. Los \`data-<nombre>:\` propios s\xED valen.`,"utility-out-of-order":e=>`compone "${e.class}": la cadena est\xE1 fuera de orden.${Dt(e.suggestion)}`,"utility-invalid-chain":e=>`compone "${e.class}": la cadena no es v\xE1lida, admite ${an}.`,"utility-variant-on-component":e=>`compone "${e.class}": las variantes aplican s\xF3lo a utilidades, y "${e.base}" es de un componente o un modificador. Sus estados son \`is-*\`, \`aria\` y los internos.`,"utility-unknown-class":e=>`compone "${e.class}", que no existe en el DS (los nombres no llevan "ts-" y los viejos no existen) ni entre tus utilities.${Dt(e.suggestion)}`,"utility-invalid-composition":e=>`compone "${e.class}": "${e.utility}" lleva "${e.inner}" y con "${e.use}" queda "${e.result}", que no es una cadena v\xE1lida: admite ${an}.`,"utility-composes-component":e=>`compone "${e.class}": las variantes aplican s\xF3lo a utilidades, y "${e.utility}" lleva "${e.component}", que es de un componente o un modificador.`,"utility-cycle":e=>`tiene un ciclo entre utilidades propias: ${e.cycle.join(" \u2192 ")}.`,"modifier-invalid":e=>`tiene un modificador inv\xE1lido ("${e.modifier}"): min\xFAsculas y d\xEDgitos separados por guiones, empezando con letra (p. ej. "destructive").`,"modifier-reserved-prefix":e=>`tiene un modificador inv\xE1lido ("${e.modifier}"): no puede empezar con "${e.prefix}" (prefijo reservado al DS).`,"modifier-theme-class":e=>`tiene un modificador inv\xE1lido ("${e.modifier}"): es la llave del modo scope o una clase de tema.`,"modifier-short-name":e=>`tiene un modificador ("${e.modifier}") que choca con un nombre corto del DS: aplicar\xEDa ese estilo a cualquier elemento que lo lleve. Se elige otro nombre (p. ej. "${e.modifier}-<propiedad>", como las variantes del Core).`,"modifier-is-utility":e=>`tiene un modificador ("${e.modifier}") que es el nombre de otra utilidad propia: activar\xEDa esa utilidad.`,"component-missing":e=>`el componente "${e.component}" no est\xE1 en utilities: declaralo antes, sin modificadores.`,"modifier-repeated":()=>"repite un modificador.","combination-repeated":e=>`repite la combinaci\xF3n de utilities.${e.other}: el orden de los modificadores no importa.`,"utility-name-invalid":()=>'es un nombre inv\xE1lido: min\xFAsculas y d\xEDgitos separados por guiones, empezando con letra (p. ej. "card-hero").',"utility-reserved-prefix":e=>`es un nombre inv\xE1lido: no puede empezar con "${e.prefix}" (prefijo reservado al DS).`,"utility-name-is-modifier":()=>"es un nombre inv\xE1lido: es un modificador de componente o la clase de tema (variant-*, size-*, is-*, dark\u2026) y pisar\xEDa a cada componente.","utility-conflicts-ds":()=>"choca con una utilidad del DS. Se elige otro nombre.","utility-name-ts":()=>'es un nombre inv\xE1lido: "ts" es la llave del modo scope.',"utility-short-name":()=>"choca con un nombre corto del DS en el modo scope. Se elige otro nombre.","safelist-not-list":()=>"tiene que ser una lista de strings.","safelist-entry-empty":()=>"tiene que ser un string no vac\xEDo.","safelist-unknown-prefix":e=>`tiene el prefijo "${e.prefix}", que no existe.${Dt(e.suggestion)}`,"safelist-data-ts":e=>`tiene el prefijo "${e.prefix}": \`data-ts-*\` es el gancho de los componentes y no es una variante.`,"safelist-out-of-order":e=>`tiene las variantes fuera de orden.${Dt(e.suggestion)}`,"safelist-invalid-chain":()=>"tiene una cadena de variantes inv\xE1lida: a lo sumo un contexto, un print, un group o peer y un estado, en ese orden, y 3 segmentos.","safelist-misplaced-colon":()=>'tiene un ":" mal ubicado: las variantes van antes de la clase (p. ej. "md:hover:gap-4").',"safelist-legacy-prefix":e=>`es inv\xE1lida: en scope no lleva \`ts-\`${e.suggestion!==void 0?`: \`${e.suggestion}\``:""}.`,"safelist-star-not-last":()=>'tiene un "*" que no est\xE1 al final: la familia s\xF3lo admite "*" al final (p. ej. "grid-cols-*").',"safelist-family-empty":e=>`no expande a ninguna clase del DS ni de tus utilities.${Dt(e.suggestion)}`,"safelist-component-variant":()=>"es un componente: un componente entra entero y no lleva variante.","safelist-modifier-variant":()=>'es un modificador de una utilidad propia: no lleva variante (se pone la variante en la propia, p. ej. "md:mi-button").',"safelist-unknown":e=>`no existe en el DS ni entre tus utilities.${Dt(e.suggestion)}`,"ext-shape":e=>`no tiene la forma esperada: tiene que ser ${e.expected}.`,"ext-name-invalid":e=>`tiene un nombre inv\xE1lido ("${e.name}", ${$c[e.kind]}): min\xFAsculas y d\xEDgitos separados por guiones, empezando con letra${e.kind==="block"?' y con el prefijo "ts-"':""}.`,"ext-roots-empty":()=>"no tiene ra\xEDces: un componente necesita al menos una para poseer sus bloques.","ext-root-repeated":e=>`repite la ra\xEDz "${e.root}", que ya es ${e.other?`del componente "${e.other}"`:"de las ra\xEDces sueltas del paquete"}.`,"ext-block-not-owned":e=>`tiene el bloque "${e.block}", que no es de ninguna ra\xEDz de este componente (${e.roots.join(", ")||"ninguna"}): tiene que ser ts-<ra\xEDz> o ts-<ra\xEDz>-\u2026.`,"ext-block-repeated":e=>`repite el bloque "${e.block}".`,"ext-conflicts-core":e=>`declara ${br[e.kind]} "${e.name}", que choca con un nombre del Core. Se elige otro.`,"ext-conflicts-extension":e=>`declara ${br[e.kind]} "${e.name}", que ya es del paquete "${e.other}": "${e.package}" y "${e.other}" no pueden compartir un nombre. Se elige otro.`,"ext-apply-target":e=>e.reason==="core-component"?`aplica "${e.target}" en "${e.block}", que es un bloque de un componente del Core: @apply s\xF3lo vale hacia utilidades del Core.`:e.reason==="other-component"?`aplica "${e.target}" en "${e.block}", que es un bloque de otro componente o de otro paquete: @apply s\xF3lo vale hacia utilidades del Core o bloques del mismo componente.`:e.reason==="cycle"?`aplica "${e.target}" en "${e.block}" y eso forma un ciclo de @apply.`:`aplica "${e.target}" en "${e.block}", que no es una utilidad del Core.${Dt(e.suggestion)}`,"ext-var-not-public":e=>`lee ${e.variable} en "${e.block}", que no es un token del Core ni de las ra\xEDces de este paquete (--ts-<ra\xEDz>-\u2026).${Dt(e.suggestion)}`,"ext-modifier-loose":e=>e.motive==="suelto"?`tiene en "${e.block}" un modificador suelto en "${e.selector}": un modificador va en el mismo compuesto que su base (& o .ts-\u2026).`:`tiene en "${e.block}" una clase que no es del vocabulario en "${e.selector}": una extensi\xF3n no suma modificadores, s\xF3lo usa los del Core.`,"ext-color-literal":e=>`escribe en "${e.block}" ${kc[e.kind]} "${e.value}": el CSS no lleva colores literales, s\xF3lo var(--\u2026). Declaralo en los tokens del componente.`,"ext-top-level":e=>`tiene en el nivel superior algo que no es un @utility ("${e.snippet}"): s\xF3lo se admiten bloques @utility.`,"ext-at-rule":e=>`usa ${e.rule} en "${e.block}": s\xF3lo se admiten @media, @supports, @container y @starting-style, y @apply hacia utilidades del Core.`,"ext-media-query":e=>`usa un @media no permitido en "${e.block}" ("${e.query}"): s\xF3lo consultas de preferencia (prefers-*, forced-colors, hover, pointer), nunca el ancho.`,"ext-url":e=>`usa url() en "${e.block}": una extensi\xF3n no carga recursos.`,"ext-escape":e=>`usa una barra invertida (\\) en "${e.block}": no se admiten escapes.`,"manifest-format":e=>`trae un taisho.manifest.json ${e.format===void 0?"sin formato":`de formato ${String(e.format)}`} (versi\xF3n ${e.version}); este Core s\xF3lo entiende el formato 3. Se actualiza el paquete.`,"manifest-shape":e=>`tiene un taisho.manifest.json con una forma inv\xE1lida: ${e.expected}.`,"manifest-json":e=>`tiene un JSON inv\xE1lido en "${e.file}".`,"manifest-path-escapes":e=>`nombra "${e.file}", que sale de la carpeta del paquete: se rechaza todo el paquete.`,"manifest-file-invalid":e=>e.reason==="too-big"?`nombra "${e.file}", que pesa m\xE1s de 1 MiB.`:`nombra "${e.file}", que no es un archivo regular.`,"package-name-mismatch":e=>`se instal\xF3 como un alias: su package.json se llama "${e.name}". Un paquete con estilos tiene que instalarse con su nombre.`,"ext-css-unbalanced":()=>"tiene llaves, par\xE9ntesis o corchetes que no cierran, o una cadena o un comentario sin cerrar.","ext-char-not-allowed":e=>`tiene un car\xE1cter que no se admite (${e.char}): s\xF3lo ASCII imprimible.`,"ext-string-not-allowed":e=>`usa una cadena de texto en "${e.block}": s\xF3lo se admite en content, corta y sin llaves, par\xE9ntesis ni arrobas.`,"ext-function-not-allowed":e=>`usa la funci\xF3n ${e.fn}() en "${e.block}", que no est\xE1 en la lista permitida (var, calc, min, max, clamp, round, mod, color-mix, rgb, hsl, oklch, linear-gradient, translate, scale, rotate, repeat, minmax).`,"ext-selector-not-allowed":e=>`tiene en "${e.block}" un selector que no se admite ("${e.selector}"): ${Tc[e.motive]}`,"ext-important":e=>`usa !important en "${e.block}": no se admite. Se sube la especificidad (p. ej. con && en el selector).`,"ext-custom-property":e=>`declara la propiedad personalizada ${e.property} en "${e.block}": el CSS s\xF3lo lee var(--\u2026). Se declara el valor en los tokens del componente.`,"ext-syntax":e=>`tiene en "${e.block}" algo que no se entiende ("${e.snippet}"): una declaraci\xF3n es propiedad: valor; con la propiedad en min\xFAsculas y un valor de la lista permitida.`,"ext-at-params":e=>`usa ${e.rule} en "${e.block}" con par\xE1metros que no se admiten ("${e.params}"): consultas simples y con unidades relativas.`,"ext-roots-overlap":e=>`declara la ra\xEDz "${e.root}", que se pisa con la ra\xEDz "${e.other}" del paquete "${e.otherPackage}": una no puede ser prefijo de la otra ("${e.package}" y "${e.otherPackage}"). Se elige otra.`,"ext-utility-no-root":e=>`tiene la utilidad "${e.block}", que no es de ninguna ra\xEDz de los componentes ni de las ra\xEDces sueltas de este paquete: tiene que ser ts-<ra\xEDz> o ts-<ra\xEDz>-\u2026.`,"ext-variable-repeated":e=>`repite la variable "${e.variable}": dos claves de tokens dan el mismo nombre.`,"ext-apply-budget":e=>`pasa el presupuesto de @apply en "${e.block}": ${jc[e.limit]} (m\xE1ximo ${e.max}).`,"ext-limit":e=>`pasa el l\xEDmite de ${Ec[e.what]}: m\xE1ximo ${e.max}.`,"theme-component-unknown":e=>`no es un componente de ninguna extensi\xF3n instalada ("${e.slug}").${Dt(e.suggestion)}`,"theme-component-token-unknown":e=>`no es un token que declare "${e.slug}" ("${e.key}").${Dt(e.suggestion)}`},Mc={"empty-value":()=>"is empty. Give it a value.","value-not-string":e=>`must be a string (${JSON.stringify(e.value)} isn't), e.g., "10px".`,"unsafe-value":e=>`has an invalid value (${JSON.stringify(e.value)}). It can't contain ; { } \\ /* */ or line breaks.`,"scope-invalid":e=>`has an invalid value (${JSON.stringify(e.value)}). The only value is 'ts', and it's already the only mode. Remove the key.`,"dark-mode-invalid":e=>`has an invalid value (${JSON.stringify(e.value)}). Use 'class' or 'media'.`,"icons-html-dirs-removed":()=>"no longer exists. Declare `content` instead.","brand-required":()=>"is required. That seed drives the brand palette (links, accents and, unless you set `primary`, the primary buttons). Give it a hex, e.g., colors: { brand: '#4F46E5' }.","font-italic-missing":e=>`asks for italic, but ${e.source} has no ${e.subset}-${e.weight}-italic.css. Remove "italic" from styles, drop that weight or pick a font that ships an italic.`,"font-styles-invalid":e=>`has an invalid value (${JSON.stringify(e.value)}): it must be a list with 'normal' and/or 'italic', e.g., styles: ['normal', 'italic'].`,"primary-invalid":()=>"has an invalid value. It must be a color (hex or oklch), e.g., primary: 'oklch(0.15 0 0)'. If you don't want a separate primary, remove the key: primary buttons use the brand.","primary-in-colors":()=>"`primary` isn't a palette color: it goes in `themes.<theme>.primary`, next to `colors`, not inside it.","screen-exists":e=>`already exists in the DS. A built-in screen's breakpoint (the @media) is fixed; themes.<theme>.screens.${e.name} only changes the --ts-screen-${e.name} token and ts-max-w-screen-${e.name}.`,"screen-name-invalid":()=>"isn't a valid name. Use xs (or 2xs\u20269xs) or 2xl\u20269xl.","screen-value-invalid":e=>`has an invalid value ("${e.value}"). It must be a width in px, e.g., "1536px".`,"screen-repeated":e=>`repeats the ${e.value} width of screens.${e.other}.`,"screen-below-min":e=>`has a width that doesn't match its name. ${e.name} must be narrower than the smallest built-in screen (${e.px}px).`,"screen-above-max":e=>`has a width that doesn't match its name. ${e.name} must be wider than the largest built-in screen (${e.px}px).`,"screen-order":e=>`has a width that doesn't match its name. ${e.name} (${e.value}) must be ${e.greater?"wider":"narrower"} than ${e.other} (${e.otherValue}).`,"scale-exists":e=>`already exists in the DS. To change its value, use themes.<theme>.${e.themePath}.${e.name}.`,"scale-name-invalid":()=>`isn't a valid name. Use lowercase letters and digits separated by hyphens (e.g., "card" or "hero-lg").`,"extend-key-unknown":e=>`isn't an extend key.${Ot(e.suggestion)}`,"extend-key-excluded":e=>`can't be extended: a new name would be a variable with no class using it. To change the value of an existing one use themes.<theme>.${e.key}.<name>.`,"extend-shape-invalid":e=>`has an invalid shape (${JSON.stringify(e.value)}). It must be ${e.expected==="list"?"a list, e.g., [30, 100]":'an object of names, e.g., { name: "value" }'}.`,"theme-key-unknown":e=>`isn't a theme key.${e.extendPath?` To add names to that scale use ${e.extendPath}; a theme only changes values.`:""}${Ot(e.suggestion)}`,"theme-name-unknown":e=>`isn't a name in the ${e.scale} scale. A theme only changes the value of an existing name.${e.extendPath?` To add it use ${e.extendPath}.${e.name}.`:" That scale can't be extended."}`,"corner-shape-invalid":e=>`has an invalid value (${JSON.stringify(e.value)}). It must be 'round' or 'squircle'.`,"value-type-invalid":e=>`has an invalid value (${JSON.stringify(e.value)}). ${Dc[e.kind]}`,"sizing-exists":e=>e.repeated?`repeats level ${e.level} of the list.`:"already exists in the DS. The sizing is fixed: you only add new levels (a theme can't change its value).","font-size-needs-line-height":e=>`needs a line height with the same name. Add extend.lineHeights.${e.name}.`,"scale-name-numeric":e=>`isn't a valid name. In this scale the name is a whole number (${e.range}), e.g., "36".`,"space-neg-prefix":()=>`can't start with "neg-". Negative margin names use that prefix (ts-mt-neg-1).`,"space-negative-suffix":()=>`can't end in "-negative". The engine generates that suffix for negative margins.`,"class-exists":e=>`generates the class ${e.class}, which already exists in the DS. Pick another name.`,"class-duplicated":e=>`generates the class ${e.class}, which ${e.other} also generates. Pick another name.`,"class-renamed-exists":e=>`generates the class ${e.class}, whose new name ${e.renamed} already exists in the DS. Pick another name.`,"utility-empty":()=>"has an empty class list.","utility-not-a-class":e=>`composes ${JSON.stringify(e.value)}, which isn't a class name.`,"utility-composes-modifier":e=>`composes "${e.class}", but a modifier isn't a utility. Compose "${e.utility}" and put "${e.modifiers.join(" ")}" in the markup.`,"utility-unknown-prefix":e=>`composes "${e.class}", but the prefix "${e.prefix}" doesn't exist.${Ot(e.suggestion)}`,"utility-data-ts-variant":e=>`composes "${e.class}", but \`data-ts-*\` is the hook for components, not a variant. Your own \`data-<name>:\` variants are fine.`,"utility-out-of-order":e=>`composes "${e.class}", but the chain is out of order.${Ot(e.suggestion)}`,"utility-invalid-chain":e=>`composes "${e.class}", but the chain isn't valid. A chain allows ${xo}.`,"utility-variant-on-component":e=>`composes "${e.class}", but variants apply only to utilities, and "${e.base}" belongs to a component or is a modifier. Its states are \`is-*\`, \`aria\`, and its internal ones.`,"utility-unknown-class":e=>`composes "${e.class}", which isn't in the DS (names don't take "ts-", and old names don't exist) or in your utilities.${Ot(e.suggestion)}`,"utility-invalid-composition":e=>`composes "${e.class}". "${e.utility}" includes "${e.inner}", and with "${e.use}" it becomes "${e.result}", which isn't a valid chain. A chain allows ${xo}.`,"utility-composes-component":e=>`composes "${e.class}", but variants apply only to utilities, and "${e.utility}" includes "${e.component}", which belongs to a component or is a modifier.`,"utility-cycle":e=>`has a cycle between your utilities: ${e.cycle.join(" \u2192 ")}.`,"modifier-invalid":e=>`has an invalid modifier ("${e.modifier}"). Use lowercase letters and digits separated by hyphens, starting with a letter (e.g., "destructive").`,"modifier-reserved-prefix":e=>`has an invalid modifier ("${e.modifier}"). It can't start with "${e.prefix}" (a prefix reserved for the DS).`,"modifier-theme-class":e=>`has an invalid modifier ("${e.modifier}"). It's the scope class or a theme class.`,"modifier-short-name":e=>`has a modifier ("${e.modifier}") that conflicts with a short DS name, so it would apply that style to any element that has it. Pick another name (e.g., "${e.modifier}-<property>", like Core's variants).`,"modifier-is-utility":e=>`has a modifier ("${e.modifier}") that's the name of another of your utilities, so it would trigger that utility.`,"component-missing":e=>`uses the component "${e.component}", which isn't in utilities. Declare it first, without modifiers.`,"modifier-repeated":()=>"repeats a modifier.","combination-repeated":e=>`repeats the combination in utilities.${e.other}. The order of the modifiers doesn't matter.`,"utility-name-invalid":()=>`isn't a valid name. Use lowercase letters and digits separated by hyphens, starting with a letter (e.g., "card-hero").`,"utility-reserved-prefix":e=>`isn't a valid name. It can't start with "${e.prefix}" (a prefix reserved for the DS).`,"utility-name-is-modifier":()=>"isn't a valid name. It's a component modifier or the theme class (variant-*, size-*, is-*, dark\u2026), and it would override every component.","utility-conflicts-ds":()=>"conflicts with a DS utility. Pick another name.","utility-name-ts":()=>`isn't a valid name. "ts" is the scope class.`,"utility-short-name":()=>"conflicts with a short DS name in scope mode. Pick another name.","safelist-not-list":()=>"must be a list of strings.","safelist-entry-empty":()=>"must be a non-empty string.","safelist-unknown-prefix":e=>`has the prefix "${e.prefix}", which doesn't exist.${Ot(e.suggestion)}`,"safelist-data-ts":e=>`has the prefix "${e.prefix}", but \`data-ts-*\` is the hook for components, not a variant.`,"safelist-out-of-order":e=>`has its variants out of order.${Ot(e.suggestion)}`,"safelist-invalid-chain":()=>`has an invalid variant chain. A chain allows ${xo}.`,"safelist-misplaced-colon":()=>'has a misplaced ":". Variants go before the class (e.g., "md:hover:gap-4").',"safelist-legacy-prefix":e=>`isn't valid. In scope mode, classes don't take \`ts-\`${e.suggestion!==void 0?` (write \`${e.suggestion}\`)`:""}.`,"safelist-star-not-last":()=>`has a "*" that isn't at the end. A family only allows "*" at the end (e.g., "grid-cols-*").`,"safelist-family-empty":e=>`doesn't expand to any class in the DS or in your utilities.${Ot(e.suggestion)}`,"safelist-component-variant":()=>"is a component. A component comes in whole and can't take a variant.","safelist-modifier-variant":()=>`is a modifier of one of your utilities, so it can't take a variant. Put the variant on the utility itself (e.g., "md:mi-button").`,"safelist-unknown":e=>`isn't in the DS or in your utilities.${Ot(e.suggestion)}`,"ext-shape":e=>`doesn't have the expected shape. It must be ${e.expected}.`,"ext-name-invalid":e=>`has an invalid name ("${e.name}", ${vo[e.kind]}). Use lowercase letters and digits separated by hyphens, starting with a letter${e.kind==="block"?' and with the "ts-" prefix':""}.`,"ext-roots-empty":()=>"has no roots. A component needs at least one to own its blocks.","ext-root-repeated":e=>`repeats the root "${e.root}", which already belongs to ${e.other?`the component "${e.other}"`:"the package's loose roots"}.`,"ext-block-not-owned":e=>`has the block "${e.block}", which doesn't belong to any root of this component (${e.roots.join(", ")||"none"}). It must be ts-<root> or ts-<root>-\u2026.`,"ext-block-repeated":e=>`repeats the block "${e.block}".`,"ext-conflicts-core":e=>`declares the ${vo[e.kind]} "${e.name}", which conflicts with a Core name. Pick another.`,"ext-conflicts-extension":e=>`declares the ${vo[e.kind]} "${e.name}", which already belongs to the package "${e.other}". "${e.package}" and "${e.other}" can't share a name. Pick another.`,"ext-apply-target":e=>e.reason==="core-component"?`applies "${e.target}" in "${e.block}", which is a block of a Core component. @apply only works toward Core utilities.`:e.reason==="other-component"?`applies "${e.target}" in "${e.block}", which is a block of another component or another package. @apply only works toward Core utilities or blocks of the same component.`:e.reason==="cycle"?`applies "${e.target}" in "${e.block}" and that forms an @apply cycle.`:`applies "${e.target}" in "${e.block}", which isn't a Core utility.${Ot(e.suggestion)}`,"ext-var-not-public":e=>`reads ${e.variable} in "${e.block}", which is neither a Core token nor one of this package's roots (--ts-<root>-\u2026).${Ot(e.suggestion)}`,"ext-modifier-loose":e=>e.motive==="suelto"?`has a loose modifier in "${e.block}" at "${e.selector}". A modifier goes in the same compound as its base (& or .ts-\u2026).`:`has a class in "${e.block}" at "${e.selector}" that isn't in the vocabulary. An extension can't add modifiers; it only uses Core's.`,"ext-color-literal":e=>`writes ${Sc[e.kind]} "${e.value}" in "${e.block}". CSS doesn't carry literal colors, only var(--\u2026). Declare it in the component's tokens.`,"ext-top-level":e=>`has something at the top level that isn't a @utility ("${e.snippet}"). Only @utility blocks are allowed.`,"ext-at-rule":e=>`uses ${e.rule} in "${e.block}". Only @media, @supports, @container and @starting-style are allowed, plus @apply toward Core utilities.`,"ext-media-query":e=>`uses a @media that isn't allowed in "${e.block}" ("${e.query}"). Only preference queries (prefers-*, forced-colors, hover, pointer), never the width.`,"ext-url":e=>`uses url() in "${e.block}". An extension doesn't load resources.`,"ext-escape":e=>`uses a backslash (\\) in "${e.block}". Escapes aren't allowed.`,"manifest-format":e=>`ships a taisho.manifest.json ${e.format===void 0?"with no format":`in format ${String(e.format)}`} (version ${e.version}), and this Core only reads format 3. Update the package.`,"manifest-shape":e=>`has a taisho.manifest.json with an invalid shape: ${e.expected}.`,"manifest-json":e=>`has invalid JSON in "${e.file}".`,"manifest-path-escapes":e=>`names "${e.file}", which leaves the package folder. The whole package is rejected.`,"manifest-file-invalid":e=>e.reason==="too-big"?`names "${e.file}", which is larger than 1 MiB.`:`names "${e.file}", which isn't a regular file.`,"package-name-mismatch":e=>`was installed as an alias: its package.json is named "${e.name}". A package with styles must be installed under its own name.`,"ext-css-unbalanced":()=>"has braces, parentheses or brackets that don't close, or an unclosed string or comment.","ext-char-not-allowed":e=>`has a character that isn't allowed (${e.char}). Only printable ASCII.`,"ext-string-not-allowed":e=>`uses a text string in "${e.block}". Only allowed in content, short and without braces, parentheses or at-signs.`,"ext-function-not-allowed":e=>`uses the function ${e.fn}() in "${e.block}", which isn't in the allowed list (var, calc, min, max, clamp, round, mod, color-mix, rgb, hsl, oklch, linear-gradient, translate, scale, rotate, repeat, minmax).`,"ext-selector-not-allowed":e=>`has a selector that isn't allowed in "${e.block}" ("${e.selector}"). ${Cc[e.motive]}`,"ext-important":e=>`uses !important in "${e.block}", which isn't allowed. Raise the specificity instead (e.g. with && in the selector).`,"ext-custom-property":e=>`declares the custom property ${e.property} in "${e.block}". CSS only reads var(--\u2026). Declare the value in the component's tokens.`,"ext-syntax":e=>`has something in "${e.block}" that can't be read ("${e.snippet}"). A declaration is property: value; with a lowercase property and a value from the allowed list.`,"ext-at-params":e=>`uses ${e.rule} in "${e.block}" with parameters that aren't allowed ("${e.params}"). Simple queries with relative units.`,"ext-roots-overlap":e=>`declares the root "${e.root}", which overlaps the root "${e.other}" of the package "${e.otherPackage}". One can't be a prefix of the other ("${e.package}" and "${e.otherPackage}"). Pick another.`,"ext-utility-no-root":e=>`has the utility "${e.block}", which doesn't belong to any root of this package's components or of its loose roots. It must be ts-<root> or ts-<root>-\u2026.`,"ext-variable-repeated":e=>`repeats the variable "${e.variable}". Two token keys produce the same name.`,"ext-apply-budget":e=>`exceeds the @apply budget in "${e.block}": ${zc[e.limit]} (maximum ${e.max}).`,"ext-limit":e=>`exceeds the limit of ${Rc[e.what]}: maximum ${e.max}.`,"theme-component-unknown":e=>`isn't a component of any installed extension ("${e.slug}").${Ot(e.suggestion)}`,"theme-component-token-unknown":e=>`isn't a token that "${e.slug}" declares ("${e.key}").${Ot(e.suggestion)}`},qc={es:Oc,en:Mc};function Nn(e,n){return`taisho config: ${e.path} ${qc[n][e.code](e.params)}`}var zt=class extends Error{errors;constructor(n){super(n.map(s=>Nn(s,"es")).join(`
2961
- `)),this.errors=n}};var wo=["--ts-space-quarter"],yr=/^\s*(--[\w-]+)\s*:(.*);\s*$/,Ic=/var\(\s*(--[\w-]+)/g;function $o(e){return e.flatMap(n=>n.content.match(/--[a-zA-Z][\w-]*/g)??[])}function gs(e){return new Set([...e.matchAll(Ic)].map(n=>n[1]))}function ko(e,n,s=[]){let o=e.split(`
2962
- `),r=new Map;for(let d of o){let u=yr.exec(d);u&&r.set(u[1],[...r.get(u[1])??[],u[2]])}let a=new Set,l=[...gs(n),...s];for(let d=l.pop();d!==void 0;d=l.pop())if(!(a.has(d)||!r.has(d))){a.add(d);for(let u of r.get(d))l.push(...gs(u))}let i=o.filter(d=>{let u=yr.exec(d);return!u||a.has(u[1])}).join(`
2960
+ `,n}var wo={ml:"ms",mr:"me",pl:"ps",pr:"pe",left:"start",right:"end"},vc={tl:"ss",tr:"se",bl:"es",br:"ee",l:"s",r:"e"},xc={left:"start",center:"center",right:"end"};function ut(e){let n;if(n=e.match(/^ts-(m|mx|my|mt|mb|ml|mr|pl|pr|left|right)-([a-z0-9]+)(-negative)?$/)){let[,s,o,r]=n,a=wo[s]??s;if(!wo[s]&&!r)return null;let l=wo[s]?"fisico-inline":"negativo";return r&&o==="none"?{viejo:e,nuevo:`ts-${a}-none`,regla:l,fusion:!0}:{viejo:e,nuevo:`ts-${a}-${r?"neg-":""}${o}`,regla:l}}return(n=e.match(/^ts-text-(left|center|right)$/))?{viejo:e,nuevo:`ts-align-${xc[n[1]]}`,regla:"texto"}:(n=e.match(/^ts-text-(balance|pretty|nowrap)$/))?{viejo:e,nuevo:`ts-wrap-${n[1]}`,regla:"texto"}:(n=e.match(/^ts-text-((heading|copy|label|button)-.+)$/))?{viejo:e,nuevo:`ts-type-${n[1]}`,regla:"texto"}:(n=e.match(/^ts-border-(r|l)-(.+)$/))?{viejo:e,nuevo:`ts-border-${n[1]==="r"?"e":"s"}-${n[2]}`,regla:"borde-fisico"}:(n=e.match(/^ts-radius-(tl|tr|bl|br|l|r)-inherit$/))?{viejo:e,nuevo:`ts-radius-${vc[n[1]]}-inherit`,regla:"radio-fisico"}:(n=e.match(/^ts-outline-focus-(.+)$/))?{viejo:e,nuevo:`ts-outline-${n[1]}`,regla:"outline-focus",fusion:!0}:e==="ts-cursor-cell-select"?{viejo:e,nuevo:"ts-cursor-cell",regla:"valor-css"}:e==="ts-density-compact"?{viejo:e,nuevo:"ts-compact",regla:"contexto"}:e==="ts-color-btn"?{viejo:e,nuevo:null,regla:"color-btn"}:e==="ts-px-0-important"?{viejo:e,nuevo:null,regla:"important"}:null}function ys(e){let n=[];for(let s of new Set(e)){let o=ut(s);o&&n.push(o)}return n}function Tt(e){let n=new Map;for(let s of ys(e))s.nuevo!==null&&!s.fusion&&n.set(s.viejo,s.nuevo);return n}function gr(e){let n=new Map;for(let s of e){if(n.has(s.name))throw new Error(`Bloque @utility repetido: ${s.name}. Un nombre del Core no se pisa ni se repite.`);n.set(s.name,s.body)}for(let[s,o]of Tt(e.map(r=>r.name)))n.set(o,n.get(s));return n}var wc=/(?<![A-Za-z0-9_-])ts-[A-Za-z0-9/-]*[A-Za-z0-9](?![A-Za-z0-9_-])/g,$c=/(?<!\/)taisho:nombres-viejos[\s\S]*?\/taisho:nombres-viejos/g;function $o(e){return[...e.matchAll($c)].map(n=>[n.index,n.index+n[0].length])}var mr=e=>new Map([...e].map(n=>[n.viejo,n]));function fr(e,n){let s=$o(e),o=[],r=[],a=[],l=0,i=1,c=0;return{texto:e.replace(wc,(u,...y)=>{let t=y[y.length-2];for(let h=c;h<t;h++)e.charCodeAt(h)===10&&i++;c=t;let m=n.get(u);return m?$e(s,t)?(l++,u):Vn(e,t)?u:m.nuevo===null?(r.push({linea:i,viejo:u,regla:m.regla}),u):(o.push({linea:i,viejo:u,nuevo:m.nuevo,regla:m.regla}),m.nuevo):(ut(u)&&!$e(s,t)&&!Vn(e,t)&&a.push({linea:i,token:u}),u)}),cambios:o,sinSucesor:r,posibles:a,saltados:l}}var $e=(e,n)=>e.some(([s,o])=>n>=s&&n<o),Vn=(e,n)=>/@utility\s+$/.test(e.slice(Math.max(0,n-40),n));var kc={"@sm:":"24rem","@md:":"28rem","@lg:":"32rem","@xl:":"36rem","@2xl:":"42rem","@3xl:":"48rem","@4xl:":"56rem","@5xl:":"64rem","@6xl:":"72rem","@7xl:":"80rem"},Sc=["busy","checked","disabled","expanded","hidden","pressed","readonly","required","selected","invalid"],Cc="@media (hover: hover)";function Vt(e){let n=new Map,s=Object.entries(e).sort(([,o],[,r])=>parseFloat(o)-parseFloat(r));for(let[o,r]of s)n.set(`${o}:`,{valor:`${parseFloat(r)/16}rem`,tipo:"media"});for(let[o,r]of[...s].reverse())n.set(`max-${o}:`,{valor:`${parseFloat(r)/16}rem`,tipo:"max"});for(let[o,r]of Object.entries(kc))n.set(o,{valor:r,tipo:"container"});n.set("print:",{valor:"",tipo:"print"}),n.set("hover:",{valor:":hover",tipo:"selector",en:Cc}),n.set("focus:",{valor:":focus",tipo:"selector"}),n.set("focus-visible:",{valor:":focus-visible",tipo:"selector"}),n.set("active:",{valor:":active",tipo:"selector"});for(let o of Sc)n.set(`aria-${o}:`,{valor:`[aria-${o}="true"]`,tipo:"selector"});return n.set("checked:",{valor:":checked",tipo:"selector"}),n.set("invalid:",{valor:":invalid",tipo:"selector"}),n.set("disabled:",{valor:':is(:disabled, [aria-disabled="true"])',tipo:"selector"}),n}var Tc=["hover","focus","focus-visible","active","aria","data","checked","invalid","disabled"],hr=e=>{let n=e.slice(0,-1),s=n.startsWith("aria-")?"aria":n.startsWith("data-")?"data":n;return Tc.indexOf(s)},br=/^[a-z][a-z0-9-]*$/;function yr(e,n){let s=n.get(e);if(s)return s.tipo==="media"?{prefijo:e,tipo:"contexto",sufijo:"",media:`(width >= ${s.valor})`,orden:[]}:s.tipo==="max"?{prefijo:e,tipo:"contexto",sufijo:"",media:`(width < ${s.valor})`,orden:[]}:s.tipo==="container"?{prefijo:e,tipo:"contexto",sufijo:"",container:`(width >= ${s.valor})`,orden:[]}:s.tipo==="print"?{prefijo:e,tipo:"print",sufijo:"",media:"print",orden:[]}:{prefijo:e,tipo:"estado",sufijo:s.valor,media:s.en?.replace("@media ",""),orden:[2+hr(e)]};let o=/^data-(.+):$/.exec(e);if(o&&br.test(o[1])&&!o[1].startsWith("ts-"))return{prefijo:e,tipo:"estado",sufijo:`[data-${o[1]}]`,orden:[2+hr(e)]};let r=/^(group|peer)-(.+?)(?:\/([^/:]+))?:$/.exec(e);if(r&&(r[3]===void 0||br.test(r[3]))){let a=yr(`${r[2]}:`,n);if(a?.tipo==="estado"){let l=`:where(.ts.${r[1]}${r[3]?`\\/${r[3]}`:""})`,i=r[1]==="group"?" *":" ~ *";return{prefijo:e,tipo:"grupo",sufijo:`:is(${l}${a.sufijo}${i})`,media:a.media,orden:[r[1]==="group"?0:1,...a.orden]}}}}var ko=["contexto","print","grupo","estado"];function jt(e,n){let s=[];for(let a of e){let l=yr(a,n);if(!l)return/^data-ts-/.test(a)?{ok:!1,motivo:"data-ts",prefijo:a}:{ok:!1,motivo:"desconocido",prefijo:a};s.push(l)}let o=s.map(a=>ko.indexOf(a.tipo));return o.every((a,l)=>l===0||a>o[l-1])&&s.length<=3?{ok:!0,segmentos:s}:new Set(o).size!==o.length||s.length>3?{ok:!1,motivo:"orden"}:{ok:!1,motivo:"orden",canonica:[...s].sort((a,l)=>ko.indexOf(a.tipo)-ko.indexOf(l.tipo)).map(a=>a.prefijo)}}function Wn(e){let n=e.split(":");return{cadena:n.slice(0,-1).map(s=>`${s}:`),base:n[n.length-1]}}function gn(e,n,s=[]){if(s.includes(e))return[];let o=[];for(let r of n[e]??[]){if(typeof r!="string")continue;let{cadena:a,base:l}=Wn(r);if(Object.hasOwn(n,l))for(let i of gn(l,n,[...s,e]))o.push({cadena:[...a,...i.cadena],base:i.base});else o.push({cadena:a,base:l})}return o}var Wt=e=>e.includes(".");function jc(e){let[n,...s]=e.split(".");return{componente:n,modificadores:s}}function So(e){let n=new Map;Object.keys(e).forEach((s,o)=>{if(!Wt(s))return;let{componente:r,modificadores:a}=jc(s);n.set(r,[...n.get(r)??[],{clave:s,modificadores:a,decl:o}])});for(let s of n.values())s.sort((o,r)=>o.modificadores.length-r.modificadores.length||o.decl-r.decl);return n}function vr(e){let n=new Map;for(let[s,o]of So(e))n.set(s,[...new Set(o.flatMap(r=>r.modificadores))]);return n}function vs(e){let n=new Map;for(let s of Object.keys(e)){if(Wt(s))continue;let o=gn(s,e);o.some(r=>r.cadena.length>0)&&n.set(s,o)}return n}function xr(e){let n=new Map,s=(o,r)=>{if(!(n.has(o)||r.includes(o))){for(let a of e[o]){if(typeof a!="string")continue;let{base:l}=Wn(a);Object.hasOwn(e,l)&&s(l,[...r,o])}n.set(o,n.size)}};for(let o of Object.keys(e))Wt(o)||s(o,[]);return n}var Un=(e,n=0,s=0)=>e*1e6+n*1e3+s,mn="a lo sumo un contexto, un print, un group o peer y un estado, en ese orden, y 3 segmentos";function ke(e,n,s){let o=[];for(let r of n){let a=[...e,...r.cadena],l=jt(a,s);if(!l.ok)return[...o,{ok:!1,hoja:r,compuesta:a.join("")+r.base}];o.push({ok:!0,cadena:a,hoja:r,segmentos:l.segmentos})}return o}var fn=(e,n,s,o)=>({class:e,utility:n,inner:o.hoja.cadena.join("")+o.hoja.base,use:s.join(""),result:o.compuesta});var Ot=e=>e?` \xBFSe quiso decir "${e}"?`:"",Mt=e=>e?` Did you mean "${e}"?`:"",zc={slug:"slug",root:"ra\xEDz",block:"bloque",token:"clave de token"},wr={slug:"el componente",root:"la ra\xEDz",block:"el bloque",utility:"la utilidad",variable:"la variable"},Ec={hex:"el color hex",name:"el color con nombre",function:"la funci\xF3n de color"},Co={slug:"slug",root:"root",block:"block",token:"token key",utility:"utility",variable:"variable"},Rc={hex:"the hex color",name:"the named color",function:"the color function"},Dc={unscoped:"el sujeto es siempre & (s\xF3lo se admite un ancestro: una clase o [dir=\u2026] antes de &).",combinator:"s\xF3lo se admiten el espacio y > como combinadores (no ~, + ni *).",pseudo:"esa pseudoclase o pseudoelemento no est\xE1 en la lista permitida.",attribute:"un atributo s\xF3lo puede ser aria-*, data-*, dir, disabled, open\u2026, con = y un valor [a-z0-9-].",syntax:"no se entiende."},Ac={unscoped:"The subject is always & (only an ancestor is allowed: a class or [dir=\u2026] before &).",combinator:"Only the space and > combinators are allowed (not ~, + or *).",pseudo:"That pseudo-class or pseudo-element isn't in the allowed list.",attribute:"An attribute can only be aria-*, data-*, dir, disabled, open\u2026, with = and a [a-z0-9-] value.",syntax:"It can't be read."},Oc={classes:"demasiadas clases en un @apply",depth:"cadena de @apply demasiado profunda","block-size":"el bloque expandido es demasiado grande","total-size":"el CSS expandido del paquete es demasiado grande"},Mc={classes:"too many classes in one @apply",depth:"@apply chain too deep","block-size":"the expanded block is too large","total-size":"the package's expanded CSS is too large"},qc={"css-size":"tama\xF1o del CSS (bytes)","block-size":"tama\xF1o de un bloque (bytes)",blocks:"bloques",depth:"anidamiento",tokens:"tokens por componente","value-length":"largo de un valor de token","key-length":"largo de una clave de token",components:"componentes",roots:"ra\xEDces (por componente o sueltas)"},Ic={"css-size":"CSS size (bytes)","block-size":"block size (bytes)",blocks:"blocks",depth:"nesting",tokens:"tokens per component","value-length":"token value length","key-length":"token key length",components:"components",roots:"roots (per component or loose)"},Pc={integer:'tiene que ser un n\xFAmero entero, p. ej. "10".',"font-weight":'tiene que ser un peso entre 1 y 1000, p. ej. "600".',opacity:'tiene que ser un n\xFAmero entre 0 y 1 (p. ej. "0.5") o un var().',duration:'tiene que ser un tiempo en ms o s, p. ej. "150ms".',iterations:'tiene que ser "infinite" o un n\xFAmero de repeticiones (0 o m\xE1s), p. ej. "0".',px:"tiene que ser un n\xFAmero de px (0 o m\xE1s), p. ej. 32."},Nc={integer:'It must be a whole number, e.g., "10".',"font-weight":'It must be a weight from 1 to 1000, e.g., "600".',opacity:'It must be a number from 0 to 1 (e.g., "0.5") or a var().',duration:'It must be a time in ms or s, e.g., "150ms".',iterations:'It must be "infinite" or a number of repetitions (0 or more), e.g., "0".',px:"It must be a number of px (0 or more), e.g., 32."},To="at most one context, one print, one group or peer, and one state, in that order, and 3 segments",Lc={"empty-value":()=>"tiene un valor vac\xEDo.","value-not-string":e=>`tiene que ser un texto (${JSON.stringify(e.value)} no lo es), p. ej. "10px".`,"unsafe-value":e=>`tiene un valor inv\xE1lido (${JSON.stringify(e.value)}): no puede contener ; { } \\ /* */ ni saltos de l\xEDnea.`,"scope-invalid":e=>`tiene un valor inv\xE1lido (${JSON.stringify(e.value)}): el \xFAnico valor es 'ts', y ya es el \xFAnico modo: se quita la clave.`,"dark-mode-invalid":e=>`tiene un valor inv\xE1lido (${JSON.stringify(e.value)}): se usa 'class' o 'media'.`,"out-invalid":e=>`tiene que ser una ruta de carpeta, en un texto no vac\xEDo (${JSON.stringify(e.value)} no lo es), p. ej. out: './taisho'.`,"icons-html-dirs-removed":()=>"ya no existe: se declara `content`.","brand-required":()=>"es obligatorio: de esa semilla sale la paleta de marca (enlaces, acentos y, si no se define `primary`, los botones primarios). Se le pone un hex, p. ej. colors: { brand: '#4F46E5' }.","font-italic-missing":e=>`pide italic, pero ${e.source} no trae ${e.subset}-${e.weight}-italic.css. Se quita "italic" de styles, se quita ese peso o se elige una fuente con it\xE1lica.`,"font-styles-invalid":e=>`tiene un valor inv\xE1lido (${JSON.stringify(e.value)}): tiene que ser una lista con 'normal' y/o 'italic', p. ej. styles: ['normal', 'italic'].`,"primary-invalid":()=>"tiene un valor inv\xE1lido: tiene que ser un color (hex u oklch), p. ej. primary: 'oklch(0.15 0 0)'. Si no hace falta un primario aparte, se quita la clave: los botones primarios usan la marca.","primary-in-colors":()=>"`primary` no es un color de paleta: va en `themes.<tema>.primary`, junto a `colors`, no adentro.","screen-exists":e=>`ya existe en el DS. El corte de un screen de f\xE1brica (los @media) es fijo; themes.<tema>.screens.${e.name} s\xF3lo cambia el token --ts-screen-${e.name} y ts-max-w-screen-${e.name}.`,"screen-name-invalid":()=>"es un nombre inv\xE1lido: tiene que ser xs (o 2xs\u20269xs) o 2xl\u20269xl.","screen-value-invalid":e=>`tiene un valor inv\xE1lido ("${e.value}"): tiene que ser un ancho en px, p. ej. "1536px".`,"screen-repeated":e=>`repite el ancho ${e.value} de screens.${e.other}.`,"screen-below-min":e=>`tiene un ancho incoherente con su nombre: ${e.name} tiene que ser menor que el screen de f\xE1brica m\xE1s chico (${e.px}px).`,"screen-above-max":e=>`tiene un ancho incoherente con su nombre: ${e.name} tiene que ser mayor que el screen de f\xE1brica m\xE1s grande (${e.px}px).`,"screen-order":e=>`tiene un ancho incoherente con su nombre: ${e.name} (${e.value}) tiene que ser ${e.greater?"mayor":"menor"} que ${e.other} (${e.otherValue}).`,"scale-exists":e=>`ya existe en el DS. Para cambiar su valor se usa themes.<tema>.${e.themePath}.${e.name}.`,"scale-name-invalid":()=>'es un nombre inv\xE1lido: min\xFAsculas y d\xEDgitos, separados por guiones (p. ej. "card" o "hero-lg").',"extend-key-unknown":e=>`no es una clave de extend.${Ot(e.suggestion)}`,"extend-key-excluded":e=>`no se ampl\xEDa: un nombre nuevo ser\xEDa una variable sin clase que la use. Para cambiar el valor de uno que ya existe se usa themes.<tema>.${e.key}.<nombre>.`,"extend-shape-invalid":e=>`tiene una forma inv\xE1lida (${JSON.stringify(e.value)}): tiene que ser ${e.expected==="list"?"una lista, p. ej. [30, 100]":'un objeto de nombres, p. ej. { nombre: "valor" }'}.`,"theme-key-unknown":e=>`no es una clave de un tema.${e.extendPath?` Para sumar nombres a esa escala se usa ${e.extendPath}; el tema s\xF3lo cambia valores.`:""}${Ot(e.suggestion)}`,"theme-name-unknown":e=>`no es un nombre de la escala ${e.scale}: un tema s\xF3lo cambia el valor de un nombre que ya existe.${e.extendPath?` Para sumarlo se usa ${e.extendPath}.${e.name}.`:" Esa escala no se puede ampliar."}`,"corner-shape-invalid":e=>`tiene un valor inv\xE1lido (${JSON.stringify(e.value)}): tiene que ser 'round' o 'squircle'.`,"value-type-invalid":e=>`tiene un valor inv\xE1lido (${JSON.stringify(e.value)}): ${Pc[e.kind]}`,"sizing-exists":e=>e.repeated?`repite el nivel ${e.level} de la lista.`:"ya existe en el DS. El sizing es fijo: s\xF3lo se suman niveles nuevos (un tema no cambia su valor).","font-size-needs-line-height":e=>`necesita un interlineado con el mismo nombre: se suma extend.lineHeights.${e.name}.`,"scale-name-numeric":e=>`es un nombre inv\xE1lido: en esta escala el nombre es un n\xFAmero entero (${e.range}), p. ej. "36".`,"space-neg-prefix":()=>'no puede empezar con "neg-": ese prefijo lo usan los nombres de los m\xE1rgenes negativos (ts-mt-neg-1).',"space-negative-suffix":()=>'no puede terminar en "-negative": ese sufijo lo genera el motor para los m\xE1rgenes negativos.',"class-exists":e=>`genera la clase ${e.class}, que ya existe en el DS. Se elige otro nombre.`,"class-duplicated":e=>`genera la clase ${e.class}, que tambi\xE9n genera ${e.other}. Se elige otro nombre.`,"class-renamed-exists":e=>`genera la clase ${e.class}, cuyo nombre nuevo ${e.renamed} ya existe en el DS. Se elige otro nombre.`,"utility-empty":()=>"tiene una lista de clases vac\xEDa.","utility-not-a-class":e=>`compone ${JSON.stringify(e.value)}, que no es un nombre de clase.`,"utility-composes-modifier":e=>`compone "${e.class}": un modificador no es una utilidad; se compone "${e.utility}" y se pone "${e.modifiers.join(" ")}" en el markup.`,"utility-unknown-prefix":e=>`compone "${e.class}": el prefijo "${e.prefix}" no existe.${Ot(e.suggestion)}`,"utility-data-ts-variant":e=>`compone "${e.class}": \`data-ts-*\` es el gancho de los componentes, no una variante. Los \`data-<nombre>:\` propios s\xED valen.`,"utility-out-of-order":e=>`compone "${e.class}": la cadena est\xE1 fuera de orden.${Ot(e.suggestion)}`,"utility-invalid-chain":e=>`compone "${e.class}": la cadena no es v\xE1lida, admite ${mn}.`,"utility-variant-on-component":e=>`compone "${e.class}": las variantes aplican s\xF3lo a utilidades, y "${e.base}" es de un componente o un modificador. Sus estados son \`is-*\`, \`aria\` y los internos.`,"utility-unknown-class":e=>`compone "${e.class}", que no existe en el DS (los nombres no llevan "ts-" y los viejos no existen) ni entre tus utilities.${Ot(e.suggestion)}`,"utility-invalid-composition":e=>`compone "${e.class}": "${e.utility}" lleva "${e.inner}" y con "${e.use}" queda "${e.result}", que no es una cadena v\xE1lida: admite ${mn}.`,"utility-composes-component":e=>`compone "${e.class}": las variantes aplican s\xF3lo a utilidades, y "${e.utility}" lleva "${e.component}", que es de un componente o un modificador.`,"utility-cycle":e=>`tiene un ciclo entre utilidades propias: ${e.cycle.join(" \u2192 ")}.`,"modifier-invalid":e=>`tiene un modificador inv\xE1lido ("${e.modifier}"): min\xFAsculas y d\xEDgitos separados por guiones, empezando con letra (p. ej. "destructive").`,"modifier-reserved-prefix":e=>`tiene un modificador inv\xE1lido ("${e.modifier}"): no puede empezar con "${e.prefix}" (prefijo reservado al DS).`,"modifier-theme-class":e=>`tiene un modificador inv\xE1lido ("${e.modifier}"): es la llave del modo scope o una clase de tema.`,"modifier-short-name":e=>`tiene un modificador ("${e.modifier}") que choca con un nombre corto del DS: aplicar\xEDa ese estilo a cualquier elemento que lo lleve. Se elige otro nombre (p. ej. "${e.modifier}-<propiedad>", como las variantes del Core).`,"modifier-is-utility":e=>`tiene un modificador ("${e.modifier}") que es el nombre de otra utilidad propia: activar\xEDa esa utilidad.`,"component-missing":e=>`el componente "${e.component}" no est\xE1 en utilities: declaralo antes, sin modificadores.`,"modifier-repeated":()=>"repite un modificador.","combination-repeated":e=>`repite la combinaci\xF3n de utilities.${e.other}: el orden de los modificadores no importa.`,"utility-name-invalid":()=>'es un nombre inv\xE1lido: min\xFAsculas y d\xEDgitos separados por guiones, empezando con letra (p. ej. "card-hero").',"utility-reserved-prefix":e=>`es un nombre inv\xE1lido: no puede empezar con "${e.prefix}" (prefijo reservado al DS).`,"utility-name-is-modifier":()=>"es un nombre inv\xE1lido: es un modificador de componente o la clase de tema (variant-*, size-*, is-*, dark\u2026) y pisar\xEDa a cada componente.","utility-conflicts-ds":()=>"choca con una utilidad del DS. Se elige otro nombre.","utility-name-ts":()=>'es un nombre inv\xE1lido: "ts" es la llave del modo scope.',"utility-short-name":()=>"choca con un nombre corto del DS en el modo scope. Se elige otro nombre.","safelist-not-list":()=>"tiene que ser una lista de strings.","safelist-entry-empty":()=>"tiene que ser un string no vac\xEDo.","safelist-unknown-prefix":e=>`tiene el prefijo "${e.prefix}", que no existe.${Ot(e.suggestion)}`,"safelist-data-ts":e=>`tiene el prefijo "${e.prefix}": \`data-ts-*\` es el gancho de los componentes y no es una variante.`,"safelist-out-of-order":e=>`tiene las variantes fuera de orden.${Ot(e.suggestion)}`,"safelist-invalid-chain":()=>"tiene una cadena de variantes inv\xE1lida: a lo sumo un contexto, un print, un group o peer y un estado, en ese orden, y 3 segmentos.","safelist-misplaced-colon":()=>'tiene un ":" mal ubicado: las variantes van antes de la clase (p. ej. "md:hover:gap-4").',"safelist-legacy-prefix":e=>`es inv\xE1lida: en scope no lleva \`ts-\`${e.suggestion!==void 0?`: \`${e.suggestion}\``:""}.`,"safelist-star-not-last":()=>'tiene un "*" que no est\xE1 al final: la familia s\xF3lo admite "*" al final (p. ej. "grid-cols-*").',"safelist-family-empty":e=>`no expande a ninguna clase del DS ni de tus utilities.${Ot(e.suggestion)}`,"safelist-component-variant":()=>"es un componente: un componente entra entero y no lleva variante.","safelist-modifier-variant":()=>'es un modificador de una utilidad propia: no lleva variante (se pone la variante en la propia, p. ej. "md:mi-button").',"safelist-unknown":e=>`no existe en el DS ni entre tus utilities.${Ot(e.suggestion)}`,"ext-shape":e=>`no tiene la forma esperada: tiene que ser ${e.expected}.`,"ext-name-invalid":e=>`tiene un nombre inv\xE1lido ("${e.name}", ${zc[e.kind]}): min\xFAsculas y d\xEDgitos separados por guiones, empezando con letra${e.kind==="block"?' y con el prefijo "ts-"':""}.`,"ext-roots-empty":()=>"no tiene ra\xEDces: un componente necesita al menos una para poseer sus bloques.","ext-root-repeated":e=>`repite la ra\xEDz "${e.root}", que ya es ${e.other?`del componente "${e.other}"`:"de las ra\xEDces sueltas del paquete"}.`,"ext-block-not-owned":e=>`tiene el bloque "${e.block}", que no es de ninguna ra\xEDz de este componente (${e.roots.join(", ")||"ninguna"}): tiene que ser ts-<ra\xEDz> o ts-<ra\xEDz>-\u2026.`,"ext-block-repeated":e=>`repite el bloque "${e.block}".`,"ext-conflicts-core":e=>`declara ${wr[e.kind]} "${e.name}", que choca con un nombre del Core. Se elige otro.`,"ext-conflicts-extension":e=>`declara ${wr[e.kind]} "${e.name}", que ya es del paquete "${e.other}": "${e.package}" y "${e.other}" no pueden compartir un nombre. Se elige otro.`,"ext-apply-target":e=>e.reason==="core-component"?`aplica "${e.target}" en "${e.block}", que es un bloque de un componente del Core: @apply s\xF3lo vale hacia utilidades del Core.`:e.reason==="other-component"?`aplica "${e.target}" en "${e.block}", que es un bloque de otro componente o de otro paquete: @apply s\xF3lo vale hacia utilidades del Core o bloques del mismo componente.`:e.reason==="cycle"?`aplica "${e.target}" en "${e.block}" y eso forma un ciclo de @apply.`:`aplica "${e.target}" en "${e.block}", que no es una utilidad del Core.${Ot(e.suggestion)}`,"ext-var-not-public":e=>`lee ${e.variable} en "${e.block}", que no es un token del Core ni de las ra\xEDces de este paquete (--ts-<ra\xEDz>-\u2026).${Ot(e.suggestion)}`,"ext-modifier-loose":e=>e.motive==="suelto"?`tiene en "${e.block}" un modificador suelto en "${e.selector}": un modificador va en el mismo compuesto que su base (& o .ts-\u2026).`:`tiene en "${e.block}" una clase que no es del vocabulario en "${e.selector}": una extensi\xF3n no suma modificadores, s\xF3lo usa los del Core.`,"ext-color-literal":e=>`escribe en "${e.block}" ${Ec[e.kind]} "${e.value}": el CSS no lleva colores literales, s\xF3lo var(--\u2026). Declaralo en los tokens del componente.`,"ext-top-level":e=>`tiene en el nivel superior algo que no es un @utility ("${e.snippet}"): s\xF3lo se admiten bloques @utility.`,"ext-at-rule":e=>`usa ${e.rule} en "${e.block}": s\xF3lo se admiten @media, @supports, @container y @starting-style, y @apply hacia utilidades del Core.`,"ext-media-query":e=>`usa un @media no permitido en "${e.block}" ("${e.query}"): s\xF3lo consultas de preferencia (prefers-*, forced-colors, hover, pointer), nunca el ancho.`,"ext-url":e=>`usa url() en "${e.block}": una extensi\xF3n no carga recursos.`,"ext-escape":e=>`usa una barra invertida (\\) en "${e.block}": no se admiten escapes.`,"manifest-format":e=>`trae un taisho.manifest.json ${e.format===void 0?"sin formato":`de formato ${String(e.format)}`} (versi\xF3n ${e.version}); este Core s\xF3lo entiende el formato 3. Se actualiza el paquete.`,"manifest-shape":e=>`tiene un taisho.manifest.json con una forma inv\xE1lida: ${e.expected}.`,"manifest-json":e=>`tiene un JSON inv\xE1lido en "${e.file}".`,"manifest-path-escapes":e=>`nombra "${e.file}", que sale de la carpeta del paquete: se rechaza todo el paquete.`,"manifest-file-invalid":e=>e.reason==="too-big"?`nombra "${e.file}", que pesa m\xE1s de 1 MiB.`:`nombra "${e.file}", que no es un archivo regular.`,"package-name-mismatch":e=>`se instal\xF3 como un alias: su package.json se llama "${e.name}". Un paquete con estilos tiene que instalarse con su nombre.`,"ext-css-unbalanced":()=>"tiene llaves, par\xE9ntesis o corchetes que no cierran, o una cadena o un comentario sin cerrar.","ext-char-not-allowed":e=>`tiene un car\xE1cter que no se admite (${e.char}): s\xF3lo ASCII imprimible.`,"ext-string-not-allowed":e=>`usa una cadena de texto en "${e.block}": s\xF3lo se admite en content, corta y sin llaves, par\xE9ntesis ni arrobas.`,"ext-function-not-allowed":e=>`usa la funci\xF3n ${e.fn}() en "${e.block}", que no est\xE1 en la lista permitida (var, calc, min, max, clamp, round, mod, color-mix, rgb, hsl, oklch, linear-gradient, translate, scale, rotate, repeat, minmax).`,"ext-selector-not-allowed":e=>`tiene en "${e.block}" un selector que no se admite ("${e.selector}"): ${Dc[e.motive]}`,"ext-important":e=>`usa !important en "${e.block}": no se admite. Se sube la especificidad (p. ej. con && en el selector).`,"ext-custom-property":e=>`declara la propiedad personalizada ${e.property} en "${e.block}": el CSS s\xF3lo lee var(--\u2026). Se declara el valor en los tokens del componente.`,"ext-syntax":e=>`tiene en "${e.block}" algo que no se entiende ("${e.snippet}"): una declaraci\xF3n es propiedad: valor; con la propiedad en min\xFAsculas y un valor de la lista permitida.`,"ext-at-params":e=>`usa ${e.rule} en "${e.block}" con par\xE1metros que no se admiten ("${e.params}"): consultas simples y con unidades relativas.`,"ext-roots-overlap":e=>`declara la ra\xEDz "${e.root}", que se pisa con la ra\xEDz "${e.other}" del paquete "${e.otherPackage}": una no puede ser prefijo de la otra ("${e.package}" y "${e.otherPackage}"). Se elige otra.`,"ext-utility-no-root":e=>`tiene la utilidad "${e.block}", que no es de ninguna ra\xEDz de los componentes ni de las ra\xEDces sueltas de este paquete: tiene que ser ts-<ra\xEDz> o ts-<ra\xEDz>-\u2026.`,"ext-variable-repeated":e=>`repite la variable "${e.variable}": dos claves de tokens dan el mismo nombre.`,"ext-apply-budget":e=>`pasa el presupuesto de @apply en "${e.block}": ${Oc[e.limit]} (m\xE1ximo ${e.max}).`,"ext-limit":e=>`pasa el l\xEDmite de ${qc[e.what]}: m\xE1ximo ${e.max}.`,"theme-component-unknown":e=>`no es un componente de ninguna extensi\xF3n instalada ("${e.slug}").${Ot(e.suggestion)}`,"theme-component-token-unknown":e=>`no es un token que declare "${e.slug}" ("${e.key}").${Ot(e.suggestion)}`},_c={"empty-value":()=>"is empty. Give it a value.","value-not-string":e=>`must be a string (${JSON.stringify(e.value)} isn't), e.g., "10px".`,"unsafe-value":e=>`has an invalid value (${JSON.stringify(e.value)}). It can't contain ; { } \\ /* */ or line breaks.`,"scope-invalid":e=>`has an invalid value (${JSON.stringify(e.value)}). The only value is 'ts', and it's already the only mode. Remove the key.`,"dark-mode-invalid":e=>`has an invalid value (${JSON.stringify(e.value)}). Use 'class' or 'media'.`,"out-invalid":e=>`must be a folder path, as a non-empty string (${JSON.stringify(e.value)} isn't), e.g., out: './taisho'.`,"icons-html-dirs-removed":()=>"no longer exists. Declare `content` instead.","brand-required":()=>"is required. That seed drives the brand palette (links, accents and, unless you set `primary`, the primary buttons). Give it a hex, e.g., colors: { brand: '#4F46E5' }.","font-italic-missing":e=>`asks for italic, but ${e.source} has no ${e.subset}-${e.weight}-italic.css. Remove "italic" from styles, drop that weight or pick a font that ships an italic.`,"font-styles-invalid":e=>`has an invalid value (${JSON.stringify(e.value)}): it must be a list with 'normal' and/or 'italic', e.g., styles: ['normal', 'italic'].`,"primary-invalid":()=>"has an invalid value. It must be a color (hex or oklch), e.g., primary: 'oklch(0.15 0 0)'. If you don't want a separate primary, remove the key: primary buttons use the brand.","primary-in-colors":()=>"`primary` isn't a palette color: it goes in `themes.<theme>.primary`, next to `colors`, not inside it.","screen-exists":e=>`already exists in the DS. A built-in screen's breakpoint (the @media) is fixed; themes.<theme>.screens.${e.name} only changes the --ts-screen-${e.name} token and ts-max-w-screen-${e.name}.`,"screen-name-invalid":()=>"isn't a valid name. Use xs (or 2xs\u20269xs) or 2xl\u20269xl.","screen-value-invalid":e=>`has an invalid value ("${e.value}"). It must be a width in px, e.g., "1536px".`,"screen-repeated":e=>`repeats the ${e.value} width of screens.${e.other}.`,"screen-below-min":e=>`has a width that doesn't match its name. ${e.name} must be narrower than the smallest built-in screen (${e.px}px).`,"screen-above-max":e=>`has a width that doesn't match its name. ${e.name} must be wider than the largest built-in screen (${e.px}px).`,"screen-order":e=>`has a width that doesn't match its name. ${e.name} (${e.value}) must be ${e.greater?"wider":"narrower"} than ${e.other} (${e.otherValue}).`,"scale-exists":e=>`already exists in the DS. To change its value, use themes.<theme>.${e.themePath}.${e.name}.`,"scale-name-invalid":()=>`isn't a valid name. Use lowercase letters and digits separated by hyphens (e.g., "card" or "hero-lg").`,"extend-key-unknown":e=>`isn't an extend key.${Mt(e.suggestion)}`,"extend-key-excluded":e=>`can't be extended: a new name would be a variable with no class using it. To change the value of an existing one use themes.<theme>.${e.key}.<name>.`,"extend-shape-invalid":e=>`has an invalid shape (${JSON.stringify(e.value)}). It must be ${e.expected==="list"?"a list, e.g., [30, 100]":'an object of names, e.g., { name: "value" }'}.`,"theme-key-unknown":e=>`isn't a theme key.${e.extendPath?` To add names to that scale use ${e.extendPath}; a theme only changes values.`:""}${Mt(e.suggestion)}`,"theme-name-unknown":e=>`isn't a name in the ${e.scale} scale. A theme only changes the value of an existing name.${e.extendPath?` To add it use ${e.extendPath}.${e.name}.`:" That scale can't be extended."}`,"corner-shape-invalid":e=>`has an invalid value (${JSON.stringify(e.value)}). It must be 'round' or 'squircle'.`,"value-type-invalid":e=>`has an invalid value (${JSON.stringify(e.value)}). ${Nc[e.kind]}`,"sizing-exists":e=>e.repeated?`repeats level ${e.level} of the list.`:"already exists in the DS. The sizing is fixed: you only add new levels (a theme can't change its value).","font-size-needs-line-height":e=>`needs a line height with the same name. Add extend.lineHeights.${e.name}.`,"scale-name-numeric":e=>`isn't a valid name. In this scale the name is a whole number (${e.range}), e.g., "36".`,"space-neg-prefix":()=>`can't start with "neg-". Negative margin names use that prefix (ts-mt-neg-1).`,"space-negative-suffix":()=>`can't end in "-negative". The engine generates that suffix for negative margins.`,"class-exists":e=>`generates the class ${e.class}, which already exists in the DS. Pick another name.`,"class-duplicated":e=>`generates the class ${e.class}, which ${e.other} also generates. Pick another name.`,"class-renamed-exists":e=>`generates the class ${e.class}, whose new name ${e.renamed} already exists in the DS. Pick another name.`,"utility-empty":()=>"has an empty class list.","utility-not-a-class":e=>`composes ${JSON.stringify(e.value)}, which isn't a class name.`,"utility-composes-modifier":e=>`composes "${e.class}", but a modifier isn't a utility. Compose "${e.utility}" and put "${e.modifiers.join(" ")}" in the markup.`,"utility-unknown-prefix":e=>`composes "${e.class}", but the prefix "${e.prefix}" doesn't exist.${Mt(e.suggestion)}`,"utility-data-ts-variant":e=>`composes "${e.class}", but \`data-ts-*\` is the hook for components, not a variant. Your own \`data-<name>:\` variants are fine.`,"utility-out-of-order":e=>`composes "${e.class}", but the chain is out of order.${Mt(e.suggestion)}`,"utility-invalid-chain":e=>`composes "${e.class}", but the chain isn't valid. A chain allows ${To}.`,"utility-variant-on-component":e=>`composes "${e.class}", but variants apply only to utilities, and "${e.base}" belongs to a component or is a modifier. Its states are \`is-*\`, \`aria\`, and its internal ones.`,"utility-unknown-class":e=>`composes "${e.class}", which isn't in the DS (names don't take "ts-", and old names don't exist) or in your utilities.${Mt(e.suggestion)}`,"utility-invalid-composition":e=>`composes "${e.class}". "${e.utility}" includes "${e.inner}", and with "${e.use}" it becomes "${e.result}", which isn't a valid chain. A chain allows ${To}.`,"utility-composes-component":e=>`composes "${e.class}", but variants apply only to utilities, and "${e.utility}" includes "${e.component}", which belongs to a component or is a modifier.`,"utility-cycle":e=>`has a cycle between your utilities: ${e.cycle.join(" \u2192 ")}.`,"modifier-invalid":e=>`has an invalid modifier ("${e.modifier}"). Use lowercase letters and digits separated by hyphens, starting with a letter (e.g., "destructive").`,"modifier-reserved-prefix":e=>`has an invalid modifier ("${e.modifier}"). It can't start with "${e.prefix}" (a prefix reserved for the DS).`,"modifier-theme-class":e=>`has an invalid modifier ("${e.modifier}"). It's the scope class or a theme class.`,"modifier-short-name":e=>`has a modifier ("${e.modifier}") that conflicts with a short DS name, so it would apply that style to any element that has it. Pick another name (e.g., "${e.modifier}-<property>", like Core's variants).`,"modifier-is-utility":e=>`has a modifier ("${e.modifier}") that's the name of another of your utilities, so it would trigger that utility.`,"component-missing":e=>`uses the component "${e.component}", which isn't in utilities. Declare it first, without modifiers.`,"modifier-repeated":()=>"repeats a modifier.","combination-repeated":e=>`repeats the combination in utilities.${e.other}. The order of the modifiers doesn't matter.`,"utility-name-invalid":()=>`isn't a valid name. Use lowercase letters and digits separated by hyphens, starting with a letter (e.g., "card-hero").`,"utility-reserved-prefix":e=>`isn't a valid name. It can't start with "${e.prefix}" (a prefix reserved for the DS).`,"utility-name-is-modifier":()=>"isn't a valid name. It's a component modifier or the theme class (variant-*, size-*, is-*, dark\u2026), and it would override every component.","utility-conflicts-ds":()=>"conflicts with a DS utility. Pick another name.","utility-name-ts":()=>`isn't a valid name. "ts" is the scope class.`,"utility-short-name":()=>"conflicts with a short DS name in scope mode. Pick another name.","safelist-not-list":()=>"must be a list of strings.","safelist-entry-empty":()=>"must be a non-empty string.","safelist-unknown-prefix":e=>`has the prefix "${e.prefix}", which doesn't exist.${Mt(e.suggestion)}`,"safelist-data-ts":e=>`has the prefix "${e.prefix}", but \`data-ts-*\` is the hook for components, not a variant.`,"safelist-out-of-order":e=>`has its variants out of order.${Mt(e.suggestion)}`,"safelist-invalid-chain":()=>`has an invalid variant chain. A chain allows ${To}.`,"safelist-misplaced-colon":()=>'has a misplaced ":". Variants go before the class (e.g., "md:hover:gap-4").',"safelist-legacy-prefix":e=>`isn't valid. In scope mode, classes don't take \`ts-\`${e.suggestion!==void 0?` (write \`${e.suggestion}\`)`:""}.`,"safelist-star-not-last":()=>`has a "*" that isn't at the end. A family only allows "*" at the end (e.g., "grid-cols-*").`,"safelist-family-empty":e=>`doesn't expand to any class in the DS or in your utilities.${Mt(e.suggestion)}`,"safelist-component-variant":()=>"is a component. A component comes in whole and can't take a variant.","safelist-modifier-variant":()=>`is a modifier of one of your utilities, so it can't take a variant. Put the variant on the utility itself (e.g., "md:mi-button").`,"safelist-unknown":e=>`isn't in the DS or in your utilities.${Mt(e.suggestion)}`,"ext-shape":e=>`doesn't have the expected shape. It must be ${e.expected}.`,"ext-name-invalid":e=>`has an invalid name ("${e.name}", ${Co[e.kind]}). Use lowercase letters and digits separated by hyphens, starting with a letter${e.kind==="block"?' and with the "ts-" prefix':""}.`,"ext-roots-empty":()=>"has no roots. A component needs at least one to own its blocks.","ext-root-repeated":e=>`repeats the root "${e.root}", which already belongs to ${e.other?`the component "${e.other}"`:"the package's loose roots"}.`,"ext-block-not-owned":e=>`has the block "${e.block}", which doesn't belong to any root of this component (${e.roots.join(", ")||"none"}). It must be ts-<root> or ts-<root>-\u2026.`,"ext-block-repeated":e=>`repeats the block "${e.block}".`,"ext-conflicts-core":e=>`declares the ${Co[e.kind]} "${e.name}", which conflicts with a Core name. Pick another.`,"ext-conflicts-extension":e=>`declares the ${Co[e.kind]} "${e.name}", which already belongs to the package "${e.other}". "${e.package}" and "${e.other}" can't share a name. Pick another.`,"ext-apply-target":e=>e.reason==="core-component"?`applies "${e.target}" in "${e.block}", which is a block of a Core component. @apply only works toward Core utilities.`:e.reason==="other-component"?`applies "${e.target}" in "${e.block}", which is a block of another component or another package. @apply only works toward Core utilities or blocks of the same component.`:e.reason==="cycle"?`applies "${e.target}" in "${e.block}" and that forms an @apply cycle.`:`applies "${e.target}" in "${e.block}", which isn't a Core utility.${Mt(e.suggestion)}`,"ext-var-not-public":e=>`reads ${e.variable} in "${e.block}", which is neither a Core token nor one of this package's roots (--ts-<root>-\u2026).${Mt(e.suggestion)}`,"ext-modifier-loose":e=>e.motive==="suelto"?`has a loose modifier in "${e.block}" at "${e.selector}". A modifier goes in the same compound as its base (& or .ts-\u2026).`:`has a class in "${e.block}" at "${e.selector}" that isn't in the vocabulary. An extension can't add modifiers; it only uses Core's.`,"ext-color-literal":e=>`writes ${Rc[e.kind]} "${e.value}" in "${e.block}". CSS doesn't carry literal colors, only var(--\u2026). Declare it in the component's tokens.`,"ext-top-level":e=>`has something at the top level that isn't a @utility ("${e.snippet}"). Only @utility blocks are allowed.`,"ext-at-rule":e=>`uses ${e.rule} in "${e.block}". Only @media, @supports, @container and @starting-style are allowed, plus @apply toward Core utilities.`,"ext-media-query":e=>`uses a @media that isn't allowed in "${e.block}" ("${e.query}"). Only preference queries (prefers-*, forced-colors, hover, pointer), never the width.`,"ext-url":e=>`uses url() in "${e.block}". An extension doesn't load resources.`,"ext-escape":e=>`uses a backslash (\\) in "${e.block}". Escapes aren't allowed.`,"manifest-format":e=>`ships a taisho.manifest.json ${e.format===void 0?"with no format":`in format ${String(e.format)}`} (version ${e.version}), and this Core only reads format 3. Update the package.`,"manifest-shape":e=>`has a taisho.manifest.json with an invalid shape: ${e.expected}.`,"manifest-json":e=>`has invalid JSON in "${e.file}".`,"manifest-path-escapes":e=>`names "${e.file}", which leaves the package folder. The whole package is rejected.`,"manifest-file-invalid":e=>e.reason==="too-big"?`names "${e.file}", which is larger than 1 MiB.`:`names "${e.file}", which isn't a regular file.`,"package-name-mismatch":e=>`was installed as an alias: its package.json is named "${e.name}". A package with styles must be installed under its own name.`,"ext-css-unbalanced":()=>"has braces, parentheses or brackets that don't close, or an unclosed string or comment.","ext-char-not-allowed":e=>`has a character that isn't allowed (${e.char}). Only printable ASCII.`,"ext-string-not-allowed":e=>`uses a text string in "${e.block}". Only allowed in content, short and without braces, parentheses or at-signs.`,"ext-function-not-allowed":e=>`uses the function ${e.fn}() in "${e.block}", which isn't in the allowed list (var, calc, min, max, clamp, round, mod, color-mix, rgb, hsl, oklch, linear-gradient, translate, scale, rotate, repeat, minmax).`,"ext-selector-not-allowed":e=>`has a selector that isn't allowed in "${e.block}" ("${e.selector}"). ${Ac[e.motive]}`,"ext-important":e=>`uses !important in "${e.block}", which isn't allowed. Raise the specificity instead (e.g. with && in the selector).`,"ext-custom-property":e=>`declares the custom property ${e.property} in "${e.block}". CSS only reads var(--\u2026). Declare the value in the component's tokens.`,"ext-syntax":e=>`has something in "${e.block}" that can't be read ("${e.snippet}"). A declaration is property: value; with a lowercase property and a value from the allowed list.`,"ext-at-params":e=>`uses ${e.rule} in "${e.block}" with parameters that aren't allowed ("${e.params}"). Simple queries with relative units.`,"ext-roots-overlap":e=>`declares the root "${e.root}", which overlaps the root "${e.other}" of the package "${e.otherPackage}". One can't be a prefix of the other ("${e.package}" and "${e.otherPackage}"). Pick another.`,"ext-utility-no-root":e=>`has the utility "${e.block}", which doesn't belong to any root of this package's components or of its loose roots. It must be ts-<root> or ts-<root>-\u2026.`,"ext-variable-repeated":e=>`repeats the variable "${e.variable}". Two token keys produce the same name.`,"ext-apply-budget":e=>`exceeds the @apply budget in "${e.block}": ${Mc[e.limit]} (maximum ${e.max}).`,"ext-limit":e=>`exceeds the limit of ${Ic[e.what]}: maximum ${e.max}.`,"theme-component-unknown":e=>`isn't a component of any installed extension ("${e.slug}").${Mt(e.suggestion)}`,"theme-component-token-unknown":e=>`isn't a token that "${e.slug}" declares ("${e.key}").${Mt(e.suggestion)}`},Fc={es:Lc,en:_c};function Bn(e,n){return`taisho config: ${e.path} ${Fc[n][e.code](e.params)}`}var zt=class extends Error{errors;constructor(n){super(n.map(s=>Bn(s,"es")).join(`
2961
+ `)),this.errors=n}};var jo=["--ts-space-quarter"],$r=/^\s*(--[\w-]+)\s*:(.*);\s*$/,Vc=/var\(\s*(--[\w-]+)/g;function zo(e){return e.flatMap(n=>n.content.match(/--[a-zA-Z][\w-]*/g)??[])}function xs(e){return new Set([...e.matchAll(Vc)].map(n=>n[1]))}function Eo(e,n,s=[]){let o=e.split(`
2962
+ `),r=new Map;for(let d of o){let u=$r.exec(d);u&&r.set(u[1],[...r.get(u[1])??[],u[2]])}let a=new Set,l=[...xs(n),...s];for(let d=l.pop();d!==void 0;d=l.pop())if(!(a.has(d)||!r.has(d))){a.add(d);for(let u of r.get(d))l.push(...xs(u))}let i=o.filter(d=>{let u=$r.exec(d);return!u||a.has(u[1])}).join(`
2963
2963
  `),c=/^[ \t]*[^\n{}]+\{\s*\}[ \t]*\n/gm;for(let d="";d!==i;)d=i,i=i.replace(c,"");return i.replace(/\n{3,}/g,`
2964
2964
 
2965
- `)}var vr={"required-proxy":["select","date-picker"]},hm=[...Object.keys(vr)];var xr="@layer base, components, utilities, states, utility-states, print;";var Nc=["hover","active","focus-visible","focus-within","focus","disabled","checked","indeterminate","invalid","user-invalid","read-only","popover-open","modal","open"],Pc=["disabled","invalid","checked","selected","pressed","expanded","current","busy"],Lc=["disabled","checked","indeterminate","open","active","selected","current","focused","readonly","invalid","error","loading","today","in-range","range(?:-[a-z]+)?","dragging","over","moving","editing","committing","unsaved-[a-z]+","collapsed"],_c=new RegExp(`:(?:${Nc.join("|")})(?![\\w-])|\\[open\\]|\\[aria-(?:${Pc.join("|")})|\\.is-(?:${Lc.join("|")})(?![\\w-])`),So=e=>{let n="";for(let s=0;s<e.length;s++){if(e.startsWith(":not(",s)){let o=0;for(;s<e.length;s++)if(e[s]==="(")o++;else if(e[s]===")"&&--o===0)break;continue}n+=e[s]}return n},ms=e=>_c.test(So(e)),wr=e=>{let n=So(e);return/:hover(?![\w-])/.test(n)?"hover":/:active(?![\w-])/.test(n)?"active":"otro"},Fc=new RegExp(":(?:disabled|checked|indeterminate|invalid|user-invalid|popover-open|open)(?![\\w-])|\\[open\\]|\\[aria-(?:disabled|invalid|checked|selected|pressed|expanded|current)|\\.is-(?:disabled|checked|indeterminate|open|active|selected|current|invalid|error|collapsed)(?![\\w-])"),$r=e=>Fc.test(So(e));var hs=e=>"cuerpo"in e;function Vc(e,n){let s=1;for(let o=n;o<e.length;o++){let r=e[o];if(r==="/"&&e[o+1]==="*")o=e.indexOf("*/",o+2)+1;else if(r==='"'||r==="'")for(o++;o<e.length&&e[o]!==r;o++)e[o]==="\\"&&o++;else if(r==="{")s++;else if(r==="}"&&--s===0)return o}throw new Error("CSS de componente sin cerrar al separar los estados.")}function Co(e){let n=[],s="",o=0;for(let r=0;r<e.length;r++){let a=e[r];if(a==="/"&&e[r+1]==="*"){let l=e.indexOf("*/",r+2)+2;s+=e.slice(r,l),r=l-1}else if(a==='"'||a==="'"){let l=r;for(r++;r<e.length&&e[r]!==a;r++)e[r]==="\\"&&r++;s+=e.slice(l,r+1)}else if(a==="(")o++,s+=a;else if(a===")")o--,s+=a;else if(a===";"&&o===0)n.push({texto:s+";"}),s="";else if(a==="{"&&o===0){let l=Vc(e,r+1);n.push({prelude:s,cuerpo:Co(e.slice(r+1,l))}),s="",r=l}else s+=a}return s&&n.push({texto:s}),n}var bs=e=>e.map(n=>hs(n)?`${n.prelude}{${bs(n.cuerpo)}}`:n.texto).join(""),To=e=>e.replace(/\/\*[\s\S]*?\*\//g,""),kr=e=>e.replace(/\/\*[\s\S]*?\*\/[ \t]*\n?[ \t]*/g,""),Wc=e=>{let n=e[e.length-1];return n&&!hs(n)&&n.texto.trim()===""?n:{texto:`
2966
- `}},Uc=e=>e.some(n=>hs(n)||To(n.texto).trim()!=="");function Bc(e){let n=[],s=0,o=0;for(let r=0;r<e.length;r++){let a=e[r];a==="("||a==="["?s++:a===")"||a==="]"?s--:a===","&&s===0&&(n.push(e.slice(o,r).trim()),o=r+1)}return n.push(e.slice(o).trim()),n}function fs(e){let n=[],s=[];for(let o of e){if(!hs(o)){n.push(o);continue}let r=To(o.prelude).trim(),l=!r.startsWith("@")?Bc(r):[],i=l.filter(ms);if(i.length&&i.length<l.length){let d=/^\s*/.exec(To(o.prelude))[0],u=t=>({prelude:`${d}${t.join(", ")} `,cuerpo:o.cuerpo}),y=fs([u(l.filter(t=>!i.includes(t)))]);n.push(...y.reposo),s.push(...y.estados,u(i));continue}if(i.length){s.push({prelude:kr(o.prelude),cuerpo:o.cuerpo});continue}let c=fs(o.cuerpo);if(c.estados.length===0){n.push(o);continue}Uc(c.reposo)&&n.push({prelude:o.prelude,cuerpo:c.reposo}),s.push({prelude:kr(o.prelude),cuerpo:[...c.estados,Wc(o.cuerpo)]})}return{reposo:n,estados:s}}var Hc=["--ts-bg-h","--ts-bg-a","--ts-on-bg","--ts-on-bg-h","--ts-on-bg-a","--ts-fg","--ts-sh"],jo=["100","200","300","400","500","600","700","800","900","1000"],zo="var(--color-gray-1000)",Sr="var(--color-gray-100)";function Gc(e,n){let s=Number(n);if(e==="background")return s===100||s===200?zo:void 0;if(e==="gray")return s<=600?zo:Sr;if(e==="grayAlpha")return s<=600?zo:s>=800?Sr:void 0}var Jc=new Set(["gray","grayAlpha","background"]),Tr=/background-color:\s*var\(--color-([A-Za-z]+)-(\d+|solid)\)/,Zc=/^\s*color:\s*([^;]+);\s*$/,Kc=/box-shadow:\s*var\((--ts-shadow-[A-Za-z0-9-]+)\)/,Eo=(e,n,s)=>Jc.has(e)?Gc(e,n):s(`ts-color-${e}-${n}-contrast`)?`var(--color-${e}-${n}-contrast)`:void 0;function Do(e,n,s){let o="",r=/^ts-(bg|surface|floating)-/.test(e)?Tr.exec(n):null;if(r){let[,i,c]=r,d=jo.indexOf(c),[u,y]=c==="solid"?["solid-hover","solid-active"]:[jo[Math.min(d+1,9)],jo[Math.min(d+2,9)]],t=(h,g,b)=>{if(!s(`ts-bg-${i}-${h}`))return;o+=`
2967
- ${g}: var(--color-${i}-${h});`;let p=Eo(i,h,s);p&&(o+=`
2968
- ${b}: ${p};`)},m=Eo(i,c,s);m&&(o+=`
2969
- --ts-on-bg: ${m};`),t(u,"--ts-bg-h","--ts-on-bg-h"),t(y,"--ts-bg-a","--ts-on-bg-a")}let a=/^ts-color-/.test(e)?Zc.exec(n):null;a&&(o+=`
2970
- --ts-fg: ${a[1].trim()};`);let l=/^ts-(surface|floating|shadow)-/.test(e)?Kc.exec(n):null;return l&&(o+=`
2971
- --ts-sh: var(${l[1]});`),o}function Cr(e,n,s){let o=/^ts-bg-/.test(e)?Tr.exec(n):null,r=o&&Eo(o[1],o[2],s);return r?`
2972
- color: var(--ts-fg, ${r});`:""}function jr(e){let n=Hc.filter(s=>e.includes(`
2965
+ `)}var kr={"required-proxy":["select","date-picker"]},Sm=[...Object.keys(kr)];var Sr="@layer base, components, utilities, states, utility-states, print;";var Wc=["hover","active","focus-visible","focus-within","focus","disabled","checked","indeterminate","invalid","user-invalid","read-only","popover-open","modal","open"],Uc=["disabled","invalid","checked","selected","pressed","expanded","current","busy"],Bc=["disabled","checked","indeterminate","open","active","selected","current","focused","readonly","invalid","error","loading","today","in-range","range(?:-[a-z]+)?","dragging","over","moving","editing","committing","unsaved-[a-z]+","collapsed"],Hc=new RegExp(`:(?:${Wc.join("|")})(?![\\w-])|\\[open\\]|\\[aria-(?:${Uc.join("|")})|\\.is-(?:${Bc.join("|")})(?![\\w-])`),Ro=e=>{let n="";for(let s=0;s<e.length;s++){if(e.startsWith(":not(",s)){let o=0;for(;s<e.length;s++)if(e[s]==="(")o++;else if(e[s]===")"&&--o===0)break;continue}n+=e[s]}return n},ws=e=>Hc.test(Ro(e)),Cr=e=>{let n=Ro(e);return/:hover(?![\w-])/.test(n)?"hover":/:active(?![\w-])/.test(n)?"active":"otro"},Gc=new RegExp(":(?:disabled|checked|indeterminate|invalid|user-invalid|popover-open|open)(?![\\w-])|\\[open\\]|\\[aria-(?:disabled|invalid|checked|selected|pressed|expanded|current)|\\.is-(?:disabled|checked|indeterminate|open|active|selected|current|invalid|error|collapsed)(?![\\w-])"),Tr=e=>Gc.test(Ro(e));var ks=e=>"cuerpo"in e;function Jc(e,n){let s=1;for(let o=n;o<e.length;o++){let r=e[o];if(r==="/"&&e[o+1]==="*")o=e.indexOf("*/",o+2)+1;else if(r==='"'||r==="'")for(o++;o<e.length&&e[o]!==r;o++)e[o]==="\\"&&o++;else if(r==="{")s++;else if(r==="}"&&--s===0)return o}throw new Error("CSS de componente sin cerrar al separar los estados.")}function Ao(e){let n=[],s="",o=0;for(let r=0;r<e.length;r++){let a=e[r];if(a==="/"&&e[r+1]==="*"){let l=e.indexOf("*/",r+2)+2;s+=e.slice(r,l),r=l-1}else if(a==='"'||a==="'"){let l=r;for(r++;r<e.length&&e[r]!==a;r++)e[r]==="\\"&&r++;s+=e.slice(l,r+1)}else if(a==="(")o++,s+=a;else if(a===")")o--,s+=a;else if(a===";"&&o===0)n.push({texto:s+";"}),s="";else if(a==="{"&&o===0){let l=Jc(e,r+1);n.push({prelude:s,cuerpo:Ao(e.slice(r+1,l))}),s="",r=l}else s+=a}return s&&n.push({texto:s}),n}var Ss=e=>e.map(n=>ks(n)?`${n.prelude}{${Ss(n.cuerpo)}}`:n.texto).join(""),Do=e=>e.replace(/\/\*[\s\S]*?\*\//g,""),jr=e=>e.replace(/\/\*[\s\S]*?\*\/[ \t]*\n?[ \t]*/g,""),Zc=e=>{let n=e[e.length-1];return n&&!ks(n)&&n.texto.trim()===""?n:{texto:`
2966
+ `}},Kc=e=>e.some(n=>ks(n)||Do(n.texto).trim()!=="");function Xc(e){let n=[],s=0,o=0;for(let r=0;r<e.length;r++){let a=e[r];a==="("||a==="["?s++:a===")"||a==="]"?s--:a===","&&s===0&&(n.push(e.slice(o,r).trim()),o=r+1)}return n.push(e.slice(o).trim()),n}function $s(e){let n=[],s=[];for(let o of e){if(!ks(o)){n.push(o);continue}let r=Do(o.prelude).trim(),l=!r.startsWith("@")?Xc(r):[],i=l.filter(ws);if(i.length&&i.length<l.length){let d=/^\s*/.exec(Do(o.prelude))[0],u=t=>({prelude:`${d}${t.join(", ")} `,cuerpo:o.cuerpo}),y=$s([u(l.filter(t=>!i.includes(t)))]);n.push(...y.reposo),s.push(...y.estados,u(i));continue}if(i.length){s.push({prelude:jr(o.prelude),cuerpo:o.cuerpo});continue}let c=$s(o.cuerpo);if(c.estados.length===0){n.push(o);continue}Kc(c.reposo)&&n.push({prelude:o.prelude,cuerpo:c.reposo}),s.push({prelude:jr(o.prelude),cuerpo:[...c.estados,Zc(o.cuerpo)]})}return{reposo:n,estados:s}}var Yc=["--ts-bg-h","--ts-bg-a","--ts-on-bg","--ts-on-bg-h","--ts-on-bg-a","--ts-fg","--ts-sh"],Oo=["100","200","300","400","500","600","700","800","900","1000"],Mo="var(--color-gray-1000)",zr="var(--color-gray-100)";function Qc(e,n){let s=Number(n);if(e==="background")return s===100||s===200?Mo:void 0;if(e==="gray")return s<=600?Mo:zr;if(e==="grayAlpha")return s<=600?Mo:s>=800?zr:void 0}var td=new Set(["gray","grayAlpha","background"]),Er=/background-color:\s*var\(--color-([A-Za-z]+)-(\d+|solid)\)/,ed=/^\s*color:\s*([^;]+);\s*$/,nd=/box-shadow:\s*var\((--ts-shadow-[A-Za-z0-9-]+)\)/,qo=(e,n,s)=>td.has(e)?Qc(e,n):s(`ts-color-${e}-${n}-contrast`)?`var(--color-${e}-${n}-contrast)`:void 0;function No(e,n,s){let o="",r=/^ts-(bg|surface|floating)-/.test(e)?Er.exec(n):null;if(r){let[,i,c]=r,d=Oo.indexOf(c),[u,y]=c==="solid"?["solid-hover","solid-active"]:[Oo[Math.min(d+1,9)],Oo[Math.min(d+2,9)]],t=(h,g,b)=>{if(!s(`ts-bg-${i}-${h}`))return;o+=`
2967
+ ${g}: var(--color-${i}-${h});`;let p=qo(i,h,s);p&&(o+=`
2968
+ ${b}: ${p};`)},m=qo(i,c,s);m&&(o+=`
2969
+ --ts-on-bg: ${m};`),t(u,"--ts-bg-h","--ts-on-bg-h"),t(y,"--ts-bg-a","--ts-on-bg-a")}let a=/^ts-color-/.test(e)?ed.exec(n):null;a&&(o+=`
2970
+ --ts-fg: ${a[1].trim()};`);let l=/^ts-(surface|floating|shadow)-/.test(e)?nd.exec(n):null;return l&&(o+=`
2971
+ --ts-sh: var(${l[1]});`),o}function Rr(e,n,s){let o=/^ts-bg-/.test(e)?Er.exec(n):null,r=o&&qo(o[1],o[2],s);return r?`
2972
+ color: var(--ts-fg, ${r});`:""}function Dr(e){let n=Yc.filter(s=>e.includes(`
2973
2973
  ${s}:`));return n.length?n.map(s=>`@property ${s} { syntax: '*'; inherits: false; }
2974
2974
  `).join("")+`@supports ((-moz-orient: inline) and (not (color: oklch(from red l c h)))) { *, ::before, ::after { ${n.map(s=>`${s}: initial;`).join(" ")} } }
2975
- `:""}var Xc=/^((?:\s|\/\*[\s\S]*?\*\/)*)([A-Za-z-]+)(\s*:\s*)([\s\S]*?)(\s*;?\s*)$/,Yc=new Set(["inherit","initial","unset","revert","revert-layer"]),Qc=e=>{let n=0;for(let s of e)if(s==="(")n++;else if(s===")")n--;else if(n===0&&/\s/.test(s))return!1;return!Yc.has(e)},Ro=e=>e==="background"||e==="background-color",Oo=e=>"cuerpo"in e,Ao=e=>!e.prelude.replace(/\/\*[\s\S]*?\*\//g,"").trim().startsWith("@");function Mo(e){return e.cuerpo.flatMap(n=>{if(Oo(n))return[];let s=Xc.exec(n.texto);return s?[{parte:n,antes:s[1],prop:s[2],sep:s[3],valor:s[4],fin:s[5]}]:[]})}function zr(e,...n){for(let s of Mo(e))for(let[o,r]of n){if(!o(s.prop)||!Qc(s.valor))continue;let a=r.reduceRight((l,i)=>`var(${i}, ${l})`,s.valor);s.parte.texto=`${s.antes}${s.prop}${s.sep}${a}${s.fin}`}}function Er(e){for(let n of e)Oo(n)&&(Ao(n)&&Mo(n).some(s=>Ro(s.prop))&&zr(n,[s=>s==="color",["--ts-on-bg"]]),Er(n.cuerpo))}function Rr(e,n=""){for(let s of e){if(!Oo(s))continue;let o=s.prelude.replace(/\/\*[\s\S]*?\*\//g,"").trim(),r=Ao(s)?`${n} ${o}`:n;if(Ao(s)&&ms(o)){let a=wr(r);if(a==="otro")continue;let l=a==="hover"?"h":"a",i=Mo(s).some(d=>Ro(d.prop)),c=$r(r)?[]:["--ts-fg"];zr(s,[Ro,[`--ts-bg-${l}`]],...i?[[d=>d==="color",[...c,`--ts-on-bg-${l}`]]]:[]);continue}Rr(s.cuerpo,r)}}function Ar(e){let n=fs(Co(e));return Er(n.reposo),Rr(n.estados),{reposo:bs(n.reposo),estados:bs(n.estados)}}var qr=/@utility\s+([A-Za-z0-9_\\/:@.-]+)\s*\{/g;function pt(e){let n=[],s=qr;s.lastIndex=0;let o;for(;(o=s.exec(e))!==null;){let r=1,a=s.lastIndex;for(;a<e.length&&r>0;)e[a]==="{"?r++:e[a]==="}"&&r--,a++;n.push({name:o[1],body:e.slice(s.lastIndex,a-1)}),s.lastIndex=a}return n}var Dr=64,ys=1024*1024,qo=(e,n,s)=>new zt([{path:"extensions",code:"ext-apply-budget",params:{block:e,limit:n,max:s}}]),Or=new WeakMap,td=e=>{let n=Or.get(e);return(!n||n.tam!==e.size)&&(n={tam:e.size,expandidas:new Map},Or.set(e,n)),n.expandidas};function ed(e,n){let s="",o=0;for(let r=e.indexOf("@apply");r!==-1;r=e.indexOf("@apply",o)){let a=r+6,l=/\s/.test(e[a]??"")?e.indexOf(";",a):-1;if(l===-1&&/\s/.test(e[a]??""))break;if(l-a<2){s+=e.slice(o,r+6),o=r+6;continue}s+=e.slice(o,r)+n(e.slice(a+1,l)),o=l+1}return s+e.slice(o)}function Ln(e,n,s=[]){let o=td(n);return ed(e,r=>{let a=r.trim().split(/\s+/).filter(Boolean);if(s.length>=Dr)throw qo(s[0],"depth",Dr);let l=u=>{if(s.includes(u))throw new Error(`Ciclo de @apply: ${[...s,u].join(" \u2192 ")}. Se revisan emit-utilities.ts / emit-components.ts.`);let y=n.get(u);if(y===void 0)throw new Error(`@apply ${u}: no existe esa utilidad. Se aplic\xF3 desde ${s.length?s.join(" \u2192 "):"(ra\xEDz)"}. Si es una clase de Tailwind y no de Taisho, el CSS plano no la puede resolver.`);let t=o.get(u);if(t===void 0){if(t=Ln(y,n,[...s,u]),t.length>ys)throw qo(s[0]??u,"block-size",ys);o.set(u,t)}return t},i=new Map;for(let u of a)n.has(u)&&!i.has(u)&&i.set(u,Ir(l(u)));let c=[...a].sort((u,y)=>(i.get(y)??0)-(i.get(u)??0)),d=0;return c.map(u=>{let y=l(u).trim();if(d+=y.length,d>ys)throw qo(s[0]??u,"block-size",ys);return y}).join(`
2976
- `)})}function nd(e){let n=qr;n.lastIndex=0;let s,o="",r=0;for(;(s=n.exec(e))!==null;){let a=1,l=n.lastIndex;for(;l<e.length&&a>0;)e[l]==="{"?a++:e[l]==="}"&&a--,l++;o+=e.slice(r,s.index),r=l,n.lastIndex=l}return o+e.slice(r)}function sd(e){for(let n=e.indexOf(":where(");n!==-1;n=e.indexOf(":where(")){let s=0,o=n+6;for(;o<e.length&&(e[o]==="("&&s++,!(e[o]===")"&&--s===0));o++);e=e.slice(0,n)+e.slice(o+1)}return e}function Ir(e){return No(e).length}var od=new Set(["-webkit-user-select","-webkit-backdrop-filter"]);function No(e){let n=0,s="";for(let o of e)o==="{"?n++:o==="}"?n--:n===0&&(s+=o);return sd(s).split(";").filter(o=>o.includes(":")&&!od.has(o.slice(0,o.indexOf(":")).trim()))}var Io=e=>e.slice(0,e.indexOf(":")).trim(),id=["all","font","background","border","border-block","border-inline","border-width","border-style","border-color","border-radius","inset","inset-block","inset-inline","margin","margin-block","margin-inline","padding","padding-block","padding-inline","gap","place-items","place-content","place-self","flex","flex-flow","grid-column","grid-row","overflow","outline","text-decoration","transition","animation"],Nr=(e,n)=>e<n?-1:e>n?1:0,rd=e=>e.replace(/^[0-9]/,n=>`\\3${n} `).replace(/([:@.]|(?<!\\)\/)/g,"\\$1"),Pr="ts",Mr=e=>`.${rd(e)}`,cn=(e,n,s="",o=!1,r="",a=[])=>o?Mr(s+e)+(a.length?`:where(.${a.join(".")})`:"")+r:`:where(.${Pr})${Mr(s+(n.get(e)??e).slice(3))}${r}`,Po=e=>e.replaceAll("\\","");function ad(e,n){return n.has("variant-{")||n.has("variant-")?e:e.replace(/(?<=\n) {2}&\.variant-([A-Za-z0-9-]+?-\d+) \{\n[\s\S]*?\n {2}\}\n\n/g,(s,o)=>n.has(`variant-${o}`)||n.has(o)?s:"")}function ld(e,n){let s="",o=0,r=0;for(let a=0;a<e.length;a++){let l=e[a];if(l==="/"&&e[a+1]==="*"){if(a=e.indexOf("*/",a+2)+1,a===0)break}else if(l==='"'||l==="'")for(a++;a<e.length&&e[a]!==l;a++)e[a]==="\\"&&a++;else l==="("?r++:l===")"?r--:r===0&&(l===";"||l==="}"?(s+=e.slice(o,a+1),o=a+1):l==="{"&&(s+=n(e.slice(o,a))+"{",o=a+1))}return s+e.slice(o)}function Pn(e){return e.includes(".ts-")?ld(e,n=>cd(n.replace(/\/\*[\s\S]*?\*\/|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\.(ts-[A-Za-z0-9_-]+)/g,(s,o)=>{if(o===void 0)return s;let r=gt(o);if(r&&r.nuevo===null)throw new Error(`Scope: el selector anidado ".${o}" est\xE1 deprecado y no tiene sucesor.`);return`:where(.${Pr}).${(r?.nuevo??o).slice(3)}`}))):e}function cd(e){let n=[],s=0,o=0;for(let a=0;a<e.length;a++){let l=e[a];l==="("||l==="["?s++:l===")"||l==="]"?s--:l===","&&s===0&&(n.push(e.slice(o,a)),o=a+1)}n.push(e.slice(o));let r=new Set;return n.filter(a=>!r.has(a.trim())&&r.add(a.trim())).join(",")}var dd=[/^ts-(block|inline-block|flex|inline-flex|grid|inline-grid|hidden)$/,/^ts-flex-(row|col|wrap|nowrap|row-reverse|col-reverse|wrap-reverse)$/,/^ts-(grid-cols|grid-rows|col-span|row-span)-/,/^ts-gap(-x|-y)?-/,/^ts-text-(left|center|right|start|end)$/,/^ts-(items|justify|self|place)-/,/^ts-w-(auto|full|fit|screen)$/],pd=[["hover:",/^ts-(bg|color|border|ring)-(?!shadow-|[tbse]-)[a-zA-Z]+(?:-[a-zA-Z]+)*-\d{3,4}$/],["hover:",/^ts-color-(heading|copy|subtle|label|success|warning|info|danger)$/],["hover:",/^ts-(underline|no-underline|opacity-\d+)$/],["print:",/^ts-(hidden|block)$/]];function ud(e=Y){let n=[],s=["","sm:","md:","lg:","@sm:","@md:","@lg:","@xl:"];for(let o=1;o<=12;o++)for(let r of s)n.push(`${r}ts-grid-cols-${o}`,`${r}ts-grid-rows-${o}`,`${r}ts-col-span-${o}`,`${r}ts-row-span-${o}`);for(let o of s)n.push(`${o}ts-col-span-full`,`${o}ts-row-span-full`);for(let o of Object.keys(e.gaps))for(let r of s)n.push(`${r}ts-gap-${o}`,`${r}ts-gap-x-${o}`,`${r}ts-gap-y-${o}`);return n}function dn(e){return(e.match(/[A-Za-z0-9_@:./-]+(?:(?<=-)\$?\{)?/g)??[]).map(n=>n.replace(/\$?\{$/,"{"))}function Lr(e,n){let s=/(?:ts-[a-z0-9-]+|[a-z][a-z0-9]*(?:-[a-z0-9]+)*)\b/y,o=[];for(let r of e){let a=r.split(":");if(a.length<2)continue;let l=a[a.length-1],i;n?i=l.replace(/[./{]+$/,""):(s.lastIndex=0,i=s.exec(l)?.[0]??"");let c=/(?<![A-Za-z0-9_-])(@?[a-z0-9][a-z0-9-]*(?:\/[a-z][a-z0-9-]*)?)$/.exec(a[0]),d=a.slice(1,-1);!i||!c||!d.every(u=>/^@?[a-z0-9][a-z0-9-]*(?:\/[a-z][a-z0-9-]*)?$/.test(u))||o.push({variantes:[c[1],...d].map(u=>`${u}:`),base:i})}return o}function Lo({reset:e,atomic:n,utilities:s,components:o,scales:r=Y,userUtilities:a={}}){let l=Object.fromEntries(Object.entries(a).filter(([z])=>!Ut(z))),i=z=>{let C=z.filter(L=>!L.includes(":"));return C.length?`
2977
- @apply ${C.map(L=>Object.hasOwn(l,L)?L:`ts-${L}`).join(" ")};
2978
- `:""},c=[...pt(n),...pt(s),...pt(o),...Object.entries(l).map(([z,C])=>({name:z,body:i(C)}))],d=cr(c),u=new Map;for(let[z,C]of yo(a))u.set(z,C.map((L,G)=>(d.set(L.clave,i(a[L.clave])),{...L,componente:z,hojas:rn(L.clave,a),rango:G})));let y=new Map;for(let[z,C]of Ct(c.map(L=>L.name)))y.set(C,z);let t=Ct(c.map(z=>z.name)),m=z=>Object.hasOwn(l,z),h=z=>!m(z)&&!t.has(z)&&gt(Po(z))!==null,g="";for(let z of[n,s,o]){let C=nd(z).replace(/^@import\s+[^;]+;\s*$/gm,"").trim();C&&(g+=Pn(C)+`
2979
- `)}let b=c.map(z=>z.name),p=new Set(pt(o).map(z=>z.name)),v=new Set([...b.filter(z=>dd.some(C=>C.test(z))),...Object.keys(l)]),f=new Map(b.map(z=>[Po(z),z])),w=Wt(r.screens),k=new Map,I=z=>{let C=k.get(z);if(!C){let L=Ln(z.body,d,[z.name]),G=p.has(z.name)||m(z.name)?"":Do(z.name,L,X=>d.has(X));C={css:`${cn(z.name,t,"",m(z.name))} {${Pn(L.trimEnd())}${G}
2980
- }`,declaraciones:Ir(L)},k.set(z,C)}return C},D=new Map,W=z=>{let C=D.get(z);return C===void 0&&(C=Pn(Ln(d.get(z),d,[z]).trimEnd()),D.set(z,C)),C},J=new Map(id.map((z,C)=>[z,C]));for(let z of c){let C=No(z.body);C.length===1&&!z.body.includes("@apply")&&!J.has(Io(C[0]))&&J.set(Io(C[0]),J.size)}let Z=new Map,M=z=>{let C=Z.get(z);if(!C){let L=No(W(z));C={declaraciones:L.length,familia:J.get(Io(L[0]??""))??J.size},Z.set(z,C)}return C},q=(z,C)=>{let L=M(z),G=M(C);return G.declaraciones-L.declaraciones||L.familia-G.familia||Nr(t.get(z)??z,t.get(C)??C)},F=us(a),P=hr(a);return{reset:e,scales:r,userUtilities:a,bloques:c,componentes:p,dict:d,viejoDe:y,alias:t,propia:m,sinRegla:h,sueltos:g,nombresBase:b,conVariante:v,delBloque:f,tabla:w,reglaDe:I,cuerpoDe:W,conCadenas:F,ordenPropia:P,cuerpoHojas:(z,C)=>Pn(Ln(`
2981
- @apply ${C.map(L=>f.get(`ts-${L}`)??`ts-${L}`).join(" ")};
2982
- `,d,[z]).trimEnd()),modUnits:u,rangoMod:z=>In(P.get(z.componente),z.modificadores.length,z.rango),compararUtilidades:q}}function _o(e,{usadas:n,forzadas:s=new Set}){let o=r=>!n||s.has(r)?!0:n.has(Po(e.propia(r)?r:(e.alias.get(r)??r).slice(3)));return e.bloques.filter(r=>o(r.name))}function _r({variantesUsadas:e,usadas:n,forzadas:s,varsDelProyecto:o,...r}){return Fo(Lo(r),{variantesUsadas:e,usadas:n,forzadas:s,varsDelProyecto:o})}function Fo(e,{variantesUsadas:n=new Set,usadas:s,forzadas:o=new Set,varsDelProyecto:r=new Set}){let{reset:a,scales:l,componentes:i,dict:c,viejoDe:d,alias:u,propia:y,sinRegla:t,sueltos:m,nombresBase:h,conVariante:g,delBloque:b,tabla:p,reglaDe:v,cuerpoDe:f,conCadenas:w,ordenPropia:k,cuerpoHojas:I,modUnits:D,rangoMod:W,compararUtilidades:J}=e,Z=s?[]:ud(l),M=`/* Archivo auto-generado: TAISHO FULL \u2014 CSS plano, sin Tailwind. */
2983
- `;M+=`/* Emparejalo con UN archivo de tema: css/tokens/<tema>.css */
2984
-
2985
- `,M+=`${xr}
2986
-
2987
- `,M+=`@layer base {
2975
+ `:""}var sd=/^((?:\s|\/\*[\s\S]*?\*\/)*)([A-Za-z-]+)(\s*:\s*)([\s\S]*?)(\s*;?\s*)$/,od=new Set(["inherit","initial","unset","revert","revert-layer"]),id=e=>{let n=0;for(let s of e)if(s==="(")n++;else if(s===")")n--;else if(n===0&&/\s/.test(s))return!1;return!od.has(e)},Io=e=>e==="background"||e==="background-color",Lo=e=>"cuerpo"in e,Po=e=>!e.prelude.replace(/\/\*[\s\S]*?\*\//g,"").trim().startsWith("@");function _o(e){return e.cuerpo.flatMap(n=>{if(Lo(n))return[];let s=sd.exec(n.texto);return s?[{parte:n,antes:s[1],prop:s[2],sep:s[3],valor:s[4],fin:s[5]}]:[]})}function Ar(e,...n){for(let s of _o(e))for(let[o,r]of n){if(!o(s.prop)||!id(s.valor))continue;let a=r.reduceRight((l,i)=>`var(${i}, ${l})`,s.valor);s.parte.texto=`${s.antes}${s.prop}${s.sep}${a}${s.fin}`}}function Or(e){for(let n of e)Lo(n)&&(Po(n)&&_o(n).some(s=>Io(s.prop))&&Ar(n,[s=>s==="color",["--ts-on-bg"]]),Or(n.cuerpo))}function Mr(e,n=""){for(let s of e){if(!Lo(s))continue;let o=s.prelude.replace(/\/\*[\s\S]*?\*\//g,"").trim(),r=Po(s)?`${n} ${o}`:n;if(Po(s)&&ws(o)){let a=Cr(r);if(a==="otro")continue;let l=a==="hover"?"h":"a",i=_o(s).some(d=>Io(d.prop)),c=Tr(r)?[]:["--ts-fg"];Ar(s,[Io,[`--ts-bg-${l}`]],...i?[[d=>d==="color",[...c,`--ts-on-bg-${l}`]]]:[]);continue}Mr(s.cuerpo,r)}}function qr(e){let n=$s(Ao(e));return Or(n.reposo),Mr(n.estados),{reposo:Ss(n.reposo),estados:Ss(n.estados)}}var Lr=/@utility\s+([A-Za-z0-9_\\/:@.-]+)\s*\{/g;function pt(e){let n=[],s=Lr;s.lastIndex=0;let o;for(;(o=s.exec(e))!==null;){let r=1,a=s.lastIndex;for(;a<e.length&&r>0;)e[a]==="{"?r++:e[a]==="}"&&r--,a++;n.push({name:o[1],body:e.slice(s.lastIndex,a-1)}),s.lastIndex=a}return n}var Ir=64,Cs=1024*1024,Fo=(e,n,s)=>new zt([{path:"extensions",code:"ext-apply-budget",params:{block:e,limit:n,max:s}}]),Pr=new WeakMap,rd=e=>{let n=Pr.get(e);return(!n||n.tam!==e.size)&&(n={tam:e.size,expandidas:new Map},Pr.set(e,n)),n.expandidas};function ad(e,n){let s="",o=0;for(let r=e.indexOf("@apply");r!==-1;r=e.indexOf("@apply",o)){let a=r+6,l=/\s/.test(e[a]??"")?e.indexOf(";",a):-1;if(l===-1&&/\s/.test(e[a]??""))break;if(l-a<2){s+=e.slice(o,r+6),o=r+6;continue}s+=e.slice(o,r)+n(e.slice(a+1,l)),o=l+1}return s+e.slice(o)}function Gn(e,n,s=[]){let o=rd(n);return ad(e,r=>{let a=r.trim().split(/\s+/).filter(Boolean);if(s.length>=Ir)throw Fo(s[0],"depth",Ir);let l=u=>{if(s.includes(u))throw new Error(`Ciclo de @apply: ${[...s,u].join(" \u2192 ")}. Se revisan emit-utilities.ts / emit-components.ts.`);let y=n.get(u);if(y===void 0)throw new Error(`@apply ${u}: no existe esa utilidad. Se aplic\xF3 desde ${s.length?s.join(" \u2192 "):"(ra\xEDz)"}. Si es una clase de Tailwind y no de Taisho, el CSS plano no la puede resolver.`);let t=o.get(u);if(t===void 0){if(t=Gn(y,n,[...s,u]),t.length>Cs)throw Fo(s[0]??u,"block-size",Cs);o.set(u,t)}return t},i=new Map;for(let u of a)n.has(u)&&!i.has(u)&&i.set(u,_r(l(u)));let c=[...a].sort((u,y)=>(i.get(y)??0)-(i.get(u)??0)),d=0;return c.map(u=>{let y=l(u).trim();if(d+=y.length,d>Cs)throw Fo(s[0]??u,"block-size",Cs);return y}).join(`
2976
+ `)})}function ld(e){let n=Lr;n.lastIndex=0;let s,o="",r=0;for(;(s=n.exec(e))!==null;){let a=1,l=n.lastIndex;for(;l<e.length&&a>0;)e[l]==="{"?a++:e[l]==="}"&&a--,l++;o+=e.slice(r,s.index),r=l,n.lastIndex=l}return o+e.slice(r)}function cd(e){for(let n=e.indexOf(":where(");n!==-1;n=e.indexOf(":where(")){let s=0,o=n+6;for(;o<e.length&&(e[o]==="("&&s++,!(e[o]===")"&&--s===0));o++);e=e.slice(0,n)+e.slice(o+1)}return e}function _r(e){return Wo(e).length}var dd=new Set(["-webkit-user-select","-webkit-backdrop-filter"]);function Wo(e){let n=0,s="";for(let o of e)o==="{"?n++:o==="}"?n--:n===0&&(s+=o);return cd(s).split(";").filter(o=>o.includes(":")&&!dd.has(o.slice(0,o.indexOf(":")).trim()))}var Vo=e=>e.slice(0,e.indexOf(":")).trim(),pd=["all","font","background","border","border-block","border-inline","border-width","border-style","border-color","border-radius","inset","inset-block","inset-inline","margin","margin-block","margin-inline","padding","padding-block","padding-inline","gap","place-items","place-content","place-self","flex","flex-flow","grid-column","grid-row","overflow","outline","text-decoration","transition","animation"],Fr=(e,n)=>e<n?-1:e>n?1:0,ud=e=>e.replace(/^[0-9]/,n=>`\\3${n} `).replace(/([:@.]|(?<!\\)\/)/g,"\\$1"),Vr="ts",Nr=e=>`.${ud(e)}`,hn=(e,n,s="",o=!1,r="",a=[])=>o?Nr(s+e)+(a.length?`:where(.${a.join(".")})`:"")+r:`:where(.${Vr})${Nr(s+(n.get(e)??e).slice(3))}${r}`,Uo=e=>e.replaceAll("\\","");function gd(e,n){return n.has("variant-{")||n.has("variant-")?e:e.replace(/(?<=\n) {2}&\.variant-([A-Za-z0-9-]+?-\d+) \{\n[\s\S]*?\n {2}\}\n\n/g,(s,o)=>n.has(`variant-${o}`)||n.has(o)?s:"")}function md(e,n){let s="",o=0,r=0;for(let a=0;a<e.length;a++){let l=e[a];if(l==="/"&&e[a+1]==="*"){if(a=e.indexOf("*/",a+2)+1,a===0)break}else if(l==='"'||l==="'")for(a++;a<e.length&&e[a]!==l;a++)e[a]==="\\"&&a++;else l==="("?r++:l===")"?r--:r===0&&(l===";"||l==="}"?(s+=e.slice(o,a+1),o=a+1):l==="{"&&(s+=n(e.slice(o,a))+"{",o=a+1))}return s+e.slice(o)}function Hn(e){return e.includes(".ts-")?md(e,n=>fd(n.replace(/\/\*[\s\S]*?\*\/|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\.(ts-[A-Za-z0-9_-]+)/g,(s,o)=>{if(o===void 0)return s;let r=ut(o);if(r&&r.nuevo===null)throw new Error(`Scope: el selector anidado ".${o}" est\xE1 deprecado y no tiene sucesor.`);return`:where(.${Vr}).${(r?.nuevo??o).slice(3)}`}))):e}function fd(e){let n=[],s=0,o=0;for(let a=0;a<e.length;a++){let l=e[a];l==="("||l==="["?s++:l===")"||l==="]"?s--:l===","&&s===0&&(n.push(e.slice(o,a)),o=a+1)}n.push(e.slice(o));let r=new Set;return n.filter(a=>!r.has(a.trim())&&r.add(a.trim())).join(",")}var hd=[/^ts-(block|inline-block|flex|inline-flex|grid|inline-grid|hidden)$/,/^ts-flex-(row|col|wrap|nowrap|row-reverse|col-reverse|wrap-reverse)$/,/^ts-(grid-cols|grid-rows|col-span|row-span)-/,/^ts-gap(-x|-y)?-/,/^ts-text-(left|center|right|start|end)$/,/^ts-(items|justify|self|place)-/,/^ts-w-(auto|full|fit|screen)$/],bd=[["hover:",/^ts-(bg|color|border|ring)-(?!shadow-|[tbse]-)[a-zA-Z]+(?:-[a-zA-Z]+)*-\d{3,4}$/],["hover:",/^ts-color-(heading|copy|subtle|label|success|warning|info|danger)$/],["hover:",/^ts-(underline|no-underline|opacity-\d+)$/],["print:",/^ts-(hidden|block)$/]];function yd(e=K){let n=[],s=["","sm:","md:","lg:","@sm:","@md:","@lg:","@xl:"];for(let o=1;o<=12;o++)for(let r of s)n.push(`${r}ts-grid-cols-${o}`,`${r}ts-grid-rows-${o}`,`${r}ts-col-span-${o}`,`${r}ts-row-span-${o}`);for(let o of s)n.push(`${o}ts-col-span-full`,`${o}ts-row-span-full`);for(let o of Object.keys(e.gaps))for(let r of s)n.push(`${r}ts-gap-${o}`,`${r}ts-gap-x-${o}`,`${r}ts-gap-y-${o}`);return n}function bn(e){return(e.match(/[A-Za-z0-9_@:./-]+(?:(?<=-)\$?\{)?/g)??[]).map(n=>n.replace(/\$?\{$/,"{"))}function Wr(e,n){let s=/(?:ts-[a-z0-9-]+|[a-z][a-z0-9]*(?:-[a-z0-9]+)*)\b/y,o=[];for(let r of e){let a=r.split(":");if(a.length<2)continue;let l=a[a.length-1],i;n?i=l.replace(/[./{]+$/,""):(s.lastIndex=0,i=s.exec(l)?.[0]??"");let c=/(?<![A-Za-z0-9_-])(@?[a-z0-9][a-z0-9-]*(?:\/[a-z][a-z0-9-]*)?)$/.exec(a[0]),d=a.slice(1,-1);!i||!c||!d.every(u=>/^@?[a-z0-9][a-z0-9-]*(?:\/[a-z][a-z0-9-]*)?$/.test(u))||o.push({variantes:[c[1],...d].map(u=>`${u}:`),base:i})}return o}function Bo({reset:e,atomic:n,utilities:s,components:o,scales:r=K,userUtilities:a={}}){let l=Object.fromEntries(Object.entries(a).filter(([S])=>!Wt(S))),i=S=>{let q=S.filter(O=>!O.includes(":"));return q.length?`
2977
+ @apply ${q.map(O=>Object.hasOwn(l,O)?O:`ts-${O}`).join(" ")};
2978
+ `:""},c=[...pt(n),...pt(s),...pt(o),...Object.entries(l).map(([S,q])=>({name:S,body:i(q)}))],d=gr(c),u=new Map;for(let[S,q]of So(a))u.set(S,q.map((O,B)=>(d.set(O.clave,i(a[O.clave])),{...O,componente:S,hojas:gn(O.clave,a),rango:B})));let y=new Map;for(let[S,q]of Tt(c.map(O=>O.name)))y.set(q,S);let t=Tt(c.map(S=>S.name)),m=S=>Object.hasOwn(l,S),h=S=>!m(S)&&!t.has(S)&&ut(Uo(S))!==null,g="";for(let S of[n,s,o]){let q=ld(S).replace(/^@import\s+[^;]+;\s*$/gm,"").trim();q&&(g+=Hn(q)+`
2979
+ `)}let b=c.map(S=>S.name),p=new Set(pt(o).map(S=>S.name)),v=new Set([...b.filter(S=>hd.some(q=>q.test(S))),...Object.keys(l)]),f=new Map(b.map(S=>[Uo(S),S])),w=Vt(r.screens),k=new Map,P=S=>{let q=k.get(S);if(!q){let O=Gn(S.body,d,[S.name]),B=p.has(S.name)||m(S.name)?"":No(S.name,O,Z=>d.has(Z));q={css:`${hn(S.name,t,"",m(S.name))} {${Hn(O.trimEnd())}${B}
2980
+ }`,declaraciones:_r(O)},k.set(S,q)}return q},D=new Map,W=S=>{let q=D.get(S);return q===void 0&&(q=Hn(Gn(d.get(S),d,[S]).trimEnd()),D.set(S,q)),q},G=new Map(pd.map((S,q)=>[S,q]));for(let S of c){let q=Wo(S.body);q.length===1&&!S.body.includes("@apply")&&!G.has(Vo(q[0]))&&G.set(Vo(q[0]),G.size)}let J=new Map,A=S=>{let q=J.get(S);if(!q){let O=Wo(W(S));q={declaraciones:O.length,familia:G.get(Vo(O[0]??""))??G.size},J.set(S,q)}return q},M=(S,q)=>{let O=A(S),B=A(q);return B.declaraciones-O.declaraciones||O.familia-B.familia||Fr(t.get(S)??S,t.get(q)??q)},V=vs(a),N=xr(a);return{reset:e,scales:r,userUtilities:a,bloques:c,componentes:p,dict:d,viejoDe:y,alias:t,propia:m,sinRegla:h,sueltos:g,nombresBase:b,conVariante:v,delBloque:f,tabla:w,reglaDe:P,cuerpoDe:W,conCadenas:V,ordenPropia:N,cuerpoHojas:(S,q)=>Hn(Gn(`
2981
+ @apply ${q.map(O=>f.get(`ts-${O}`)??`ts-${O}`).join(" ")};
2982
+ `,d,[S]).trimEnd()),modUnits:u,rangoMod:S=>Un(N.get(S.componente),S.modificadores.length,S.rango),compararUtilidades:M}}function Ho(e,{usadas:n,forzadas:s=new Set}){let o=r=>!n||s.has(r)?!0:n.has(Uo(e.propia(r)?r:(e.alias.get(r)??r).slice(3)));return e.bloques.filter(r=>o(r.name))}function Ur({variantesUsadas:e,usadas:n,forzadas:s,varsDelProyecto:o,...r}){return Go(Bo(r),{variantesUsadas:e,usadas:n,forzadas:s,varsDelProyecto:o})}function Go(e,{variantesUsadas:n=new Set,usadas:s,forzadas:o=new Set,varsDelProyecto:r=new Set}){let{reset:a,scales:l,componentes:i,dict:c,viejoDe:d,alias:u,propia:y,sinRegla:t,sueltos:m,nombresBase:h,conVariante:g,delBloque:b,tabla:p,reglaDe:v,cuerpoDe:f,conCadenas:w,ordenPropia:k,cuerpoHojas:P,modUnits:D,rangoMod:W,compararUtilidades:G}=e,J=s?[]:yd(l),A=`/* Archivo auto-generado: TAISHO FULL \u2014 CSS plano, sin Tailwind. */
2983
+ `;A+=`/* Emparejalo con UN archivo de tema: css/tokens/<tema>.css */
2984
+
2985
+ `,A+=`${Sr}
2986
+
2987
+ `,A+=`@layer base {
2988
2988
  ${a}
2989
2989
  }
2990
2990
 
2991
- `;let q=M.length,F=m,P=_o(e,{usadas:s,forzadas:o}),T=P.map(S=>({nombre:S.name,...v(S),...s&&S.name==="ts-button"&&{css:ad(v(S).css,s)}}));T.sort((S,R)=>R.declaraciones-S.declaraciones);let N=T.flatMap((S,R)=>S.declaraciones===1&&!y(S.nombre)?[R]:[]),z=N.map(S=>T[S]).sort((S,R)=>J(S.nombre,R.nombre));N.forEach((S,R)=>{T[S]=z[R]});let C=S=>!s||S.modificadores.every(R=>s.has(R)),L=S=>(D.get(S)??[]).filter(C).flatMap(R=>{let H=Ln(c.get(R.clave),c,[R.clave]);return H.trim()===""?[]:[`${cn(R.componente,u,"",!0,"",R.modificadores)} {${Pn(H.trimEnd())}
2992
- }`]}),G=[],X=[],$=[];for(let S of T){let R=[...!t(S.nombre)&&!(S.declaraciones===0&&w.has(S.nombre))?[S.css]:[],...y(S.nombre)?L(S.nombre):[]];if(!i.has(S.nombre))$.push(...R);else for(let H of R){let{reposo:it,estados:$t}=Ar(H);it&&G.push(it),$t&&X.push($t)}}F+=$.join(`
2991
+ `;let M=A.length,V=m,N=Ho(e,{usadas:s,forzadas:o}),T=N.map(E=>({nombre:E.name,...v(E),...s&&E.name==="ts-button"&&{css:gd(v(E).css,s)}}));T.sort((E,L)=>L.declaraciones-E.declaraciones);let U=T.flatMap((E,L)=>E.declaraciones===1&&!y(E.nombre)?[L]:[]),S=U.map(E=>T[E]).sort((E,L)=>G(E.nombre,L.nombre));U.forEach((E,L)=>{T[E]=S[L]});let q=E=>!s||E.modificadores.every(L=>s.has(L)),O=E=>(D.get(E)??[]).filter(q).flatMap(L=>{let I=Gn(c.get(L.clave),c,[L.clave]);return I.trim()===""?[]:[`${hn(L.componente,u,"",!0,"",L.modificadores)} {${Hn(I.trimEnd())}
2992
+ }`]}),B=[],Z=[],$=[];for(let E of T){let L=[...!t(E.nombre)&&!(E.declaraciones===0&&w.has(E.nombre))?[E.css]:[],...y(E.nombre)?O(E.nombre):[]];if(!i.has(E.nombre))$.push(...L);else for(let I of L){let{reposo:tt,estados:st}=qr(I);tt&&B.push(tt),st&&Z.push(st)}}V+=$.join(`
2993
2993
  `)+`
2994
- `;let E=new Map,x=new Map;for(let[S,R]of w)x.set(S,{base:S,mods:[],hojas:R,rank:In(k.get(S))});for(let S of D.values())for(let R of S)x.set(R.clave,{base:R.componente,mods:R.modificadores,hojas:R.hojas,rank:W(R)});let j=(S,R)=>E.set(S.join("")+R,{uso:S,nombre:R});for(let S of P){w.has(S.name)&&j([],S.name);for(let R of D.get(S.name)??[])C(R)&&j([],R.clave)}if(!s){for(let[S,{tipo:R}]of p)if(R==="media")for(let H of x.keys())j([S],H)}for(let S of n){let R=S.split(":"),H=R.slice(0,-1).map(it=>`${it}:`);w.has(R[R.length-1])&&j(H,R[R.length-1]);for(let it of D.get(R[R.length-1])??[])C(it)&&j(H,it.clave)}let A=new Map,O=[];for(let{uso:S,nombre:R}of E.values()){let{base:H,mods:it,hojas:$t,rank:lt}=x.get(R),_t=ve(S,$t,p);if(_t.some(ct=>!ct.ok))continue;let Ft=new Map;for(let ct of _t){if(!ct.ok)continue;let St=ct.hoja.cadena.join(""),At=Ft.get(St)??{hoja:ct.hoja.cadena,cadena:ct.cadena,segmentos:ct.segmentos,bases:[]};At.bases.includes(ct.hoja.base)||At.bases.push(ct.hoja.base),Ft.set(St,At)}for(let ct of Ft.values()){if(ct.cadena.length===0)continue;let St=ct.hoja.length===0?f(R):I(R,ct.bases);if(St.trim()!=="")if(ct.cadena.length===1&&ct.segmentos[0].tipo==="contexto"){let At=A.get(ct.cadena[0])??[];At.push({rank:lt,css:` ${cn(H,u,S.join(""),!0,"",it)} {${St}
2995
- }`}),A.set(ct.cadena[0],At)}else O.push({segmentos:ct.segmentos,cadena:ct.cadena,base:H,mods:it,uso:S,cuerpo:St,rank:lt})}}let V=S=>{let R=y(S)?S:`ts-${S}`,H=b.get(R)??R;return c.has(H)?H:void 0};for(let[S,{valor:R,tipo:H}]of p){if(H!=="media"&&H!=="max"&&H!=="container")continue;let it=Z.filter(U=>U.startsWith(S)).map(U=>U.slice(S.length)),$t=[...n].filter(U=>U.startsWith(S)&&!U.slice(S.length).includes(":")).map(U=>U.slice(S.length)).map(U=>y(U)?U:`ts-${U}`).map(U=>b.get(U)??U).filter(U=>c.has(U)),lt=s?[...new Set($t)]:[...new Set([...it,...$t,...H==="media"?g:[]])],_t=[...new Set(lt.map(U=>d.get(U)??U))].filter(U=>!w.has(U)),Ft=_t.filter(U=>y(U)),St=_t.filter(U=>!y(U)).sort(J).filter(U=>!t(U)).map(U=>{if(c.get(U)===void 0)throw new Error(`Variante "${S}${U}": no existe la utilidad base "${U}".`);let Ys=i.has(U)?"":Do(U,f(U),Yl=>c.has(Yl));return` ${cn(U,u,S,y(U))} {${f(U)}${Ys}
2996
- }`}),At=[...A.get(S)??[],...Ft.map(U=>({rank:In(k.get(U)),css:` ${cn(U,u,S,!0)} {${f(U)}
2997
- }`}))];if(St.unshift(...At.sort((U,ut)=>U.rank-ut.rank).map(U=>U.css)),St.length){let U=H==="media"?`@media (width >= ${R})`:H==="max"?`@media (width < ${R})`:`@container (width >= ${R})`;F+=`${U} {
2998
- ${St.join(`
2994
+ `;let z=new Map,x=new Map;for(let[E,L]of w)x.set(E,{base:E,mods:[],hojas:L,rank:Un(k.get(E))});for(let E of D.values())for(let L of E)x.set(L.clave,{base:L.componente,mods:L.modificadores,hojas:L.hojas,rank:W(L)});let C=(E,L)=>z.set(E.join("")+L,{uso:E,nombre:L});for(let E of N){w.has(E.name)&&C([],E.name);for(let L of D.get(E.name)??[])q(L)&&C([],L.clave)}if(!s){for(let[E,{tipo:L}]of p)if(L==="media")for(let I of x.keys())C([E],I)}for(let E of n){let L=E.split(":"),I=L.slice(0,-1).map(tt=>`${tt}:`);w.has(L[L.length-1])&&C(I,L[L.length-1]);for(let tt of D.get(L[L.length-1])??[])q(tt)&&C(I,tt.clave)}let R=new Map,j=[];for(let{uso:E,nombre:L}of z.values()){let{base:I,mods:tt,hojas:st,rank:it}=x.get(L),Pt=ke(E,st,p);if(Pt.some(ct=>!ct.ok))continue;let Dt=new Map;for(let ct of Pt){if(!ct.ok)continue;let kt=ct.hoja.cadena.join(""),At=Dt.get(kt)??{hoja:ct.hoja.cadena,cadena:ct.cadena,segmentos:ct.segmentos,bases:[]};At.bases.includes(ct.hoja.base)||At.bases.push(ct.hoja.base),Dt.set(kt,At)}for(let ct of Dt.values()){if(ct.cadena.length===0)continue;let kt=ct.hoja.length===0?f(L):P(L,ct.bases);if(kt.trim()!=="")if(ct.cadena.length===1&&ct.segmentos[0].tipo==="contexto"){let At=R.get(ct.cadena[0])??[];At.push({rank:it,css:` ${hn(I,u,E.join(""),!0,"",tt)} {${kt}
2995
+ }`}),R.set(ct.cadena[0],At)}else j.push({segmentos:ct.segmentos,cadena:ct.cadena,base:I,mods:tt,uso:E,cuerpo:kt,rank:it})}}let F=E=>{let L=y(E)?E:`ts-${E}`,I=b.get(L)??L;return c.has(I)?I:void 0};for(let[E,{valor:L,tipo:I}]of p){if(I!=="media"&&I!=="max"&&I!=="container")continue;let tt=J.filter(Y=>Y.startsWith(E)).map(Y=>Y.slice(E.length)),st=[...n].filter(Y=>Y.startsWith(E)&&!Y.slice(E.length).includes(":")).map(Y=>Y.slice(E.length)).map(Y=>y(Y)?Y:`ts-${Y}`).map(Y=>b.get(Y)??Y).filter(Y=>c.has(Y)),it=s?[...new Set(st)]:[...new Set([...tt,...st,...I==="media"?g:[]])],Pt=[...new Set(it.map(Y=>d.get(Y)??Y))].filter(Y=>!w.has(Y)),Dt=Pt.filter(Y=>y(Y)),kt=Pt.filter(Y=>!y(Y)).sort(G).filter(Y=>!t(Y)).map(Y=>{if(c.get(Y)===void 0)throw new Error(`Variante "${E}${Y}": no existe la utilidad base "${Y}".`);let nn=i.has(Y)?"":No(Y,f(Y),ft=>c.has(ft));return` ${hn(Y,u,E,y(Y))} {${f(Y)}${nn}
2996
+ }`}),At=[...R.get(E)??[],...Dt.map(Y=>({rank:Un(k.get(Y)),css:` ${hn(Y,u,E,!0)} {${f(Y)}
2997
+ }`}))];if(kt.unshift(...At.sort((Y,St)=>Y.rank-St.rank).map(Y=>Y.css)),kt.length){let Y=I==="media"?`@media (width >= ${L})`:I==="max"?`@media (width < ${L})`:`@container (width >= ${L})`;V+=`${Y} {
2998
+ ${kt.join(`
2999
2999
  `)}
3000
3000
  }
3001
- `}}let et=new Map([...p.keys()].map((S,R)=>[S,R])),nt=new Map,rt=(S,R)=>{let H=R===void 0?void 0:d.get(R)??R;if(H===void 0||t(H)||w.has(H))return;let it=jt(S,p);it.ok&&nt.set(S.join("")+H,{segmentos:it.segmentos,cadena:S,base:H,rank:y(H)?In(k.get(H)):void 0})};if(!s)for(let[S,R]of pd)for(let H of h)R.test(H)&&rt([S],H);for(let S of n){let R=S.split(":"),H=R.slice(0,-1).map($t=>`${$t}:`),it=p.get(H[0]);H.length===1&&(it?.tipo==="media"||it?.tipo==="max"||it?.tipo==="container")||rt(H,V(R[R.length-1]))}let K=S=>{let R=S.segmentos.find(it=>it.tipo==="contexto");return{nivel:S.segmentos.some(it=>it.tipo==="print")?3:R?R.container?2:1:0,ctx:R?et.get(R.prefijo):0,estado:S.segmentos.flatMap(it=>it.orden)}},ot=(S,R)=>{for(let H=0;H<Math.min(S.length,R.length);H++)if(S[H]!==R[H])return S[H]-R[H];return S.length-R.length};for(let S of O)nt.set(`${(S.uso??[]).join("")}${S.base}${(S.mods??[]).map(R=>`.${R}`).join("")}|${S.cadena.join("")}`,S);let dt=[...nt.values()].map(S=>({h:S,k:K(S),escrita:`${(S.uso??S.cadena).join("")}|${(S.mods??[]).join(".")}|${S.cadena.join("")}`})).sort((S,R)=>S.k.nivel-R.k.nivel||S.k.ctx-R.k.ctx||ot(S.k.estado,R.k.estado)||(S.h.rank??Number.MAX_SAFE_INTEGER)-(R.h.rank??Number.MAX_SAFE_INTEGER)||J(S.h.base,R.h.base)||Nr(S.escrita,R.escrita)),st=S=>{let R=[],H=[],it="",$t=()=>{H.length&&(it+=R.map(lt=>`${lt} {
3002
- `).join("")+H.join(`
3001
+ `}}let et=new Map([...p.keys()].map((E,L)=>[E,L])),nt=new Map,lt=(E,L)=>{let I=L===void 0?void 0:d.get(L)??L;if(I===void 0||t(I)||w.has(I))return;let tt=jt(E,p);tt.ok&&nt.set(E.join("")+I,{segmentos:tt.segmentos,cadena:E,base:I,rank:y(I)?Un(k.get(I)):void 0})};if(!s)for(let[E,L]of bd)for(let I of h)L.test(I)&&lt([E],I);for(let E of n){let L=E.split(":"),I=L.slice(0,-1).map(st=>`${st}:`),tt=p.get(I[0]);I.length===1&&(tt?.tipo==="media"||tt?.tipo==="max"||tt?.tipo==="container")||lt(I,F(L[L.length-1]))}let X=E=>{let L=E.segmentos.find(tt=>tt.tipo==="contexto");return{nivel:E.segmentos.some(tt=>tt.tipo==="print")?3:L?L.container?2:1:0,ctx:L?et.get(L.prefijo):0,estado:E.segmentos.flatMap(tt=>tt.orden)}},ot=(E,L)=>{for(let I=0;I<Math.min(E.length,L.length);I++)if(E[I]!==L[I])return E[I]-L[I];return E.length-L.length};for(let E of j)nt.set(`${(E.uso??[]).join("")}${E.base}${(E.mods??[]).map(L=>`.${L}`).join("")}|${E.cadena.join("")}`,E);let dt=[...nt.values()].map(E=>({h:E,k:X(E),escrita:`${(E.uso??E.cadena).join("")}|${(E.mods??[]).join(".")}|${E.cadena.join("")}`})).sort((E,L)=>E.k.nivel-L.k.nivel||E.k.ctx-L.k.ctx||ot(E.k.estado,L.k.estado)||(E.h.rank??Number.MAX_SAFE_INTEGER)-(L.h.rank??Number.MAX_SAFE_INTEGER)||G(E.h.base,L.h.base)||Fr(E.escrita,L.escrita)),rt=E=>{let L=[],I=[],tt="",st=()=>{I.length&&(tt+=L.map(it=>`${it} {
3002
+ `).join("")+I.join(`
3003
3003
  `)+`
3004
3004
  `+`}
3005
- `.repeat(R.length),H=[])};for(let{h:lt}of S){let _t=lt.segmentos.find(ut=>ut.container)?.container,Ft=[...new Set(lt.segmentos.flatMap(ut=>ut.media?[ut.media]:[]))].sort((ut,Ys)=>ut==="print"?-1:Ys==="print"?1:0).join(" and "),ct=[..._t?[`@container ${_t}`]:[],...Ft?[`@media ${Ft}`]:[]];ct.join()!==R.join()&&($t(),R=ct);let St=R.length?" ":"",At=lt.cuerpo??f(lt.base)+(Ze(lt)&&!i.has(lt.base)&&!y(lt.base)?Cr(lt.base,f(lt.base),ut=>c.has(ut)):""),U=lt.segmentos.map(ut=>ut.sufijo).join("");H.push(`${St}${cn(lt.base,u,(lt.uso??lt.cadena).join(""),y(lt.base),U,lt.mods)} {${At}
3006
- ${St}}`)}return $t(),it},kt=S=>S.segmentos.some(R=>R.tipo==="print"),Ze=S=>!kt(S)&&S.segmentos.some(R=>R.tipo==="estado"||R.tipo==="grupo");F+=st(dt.filter(({h:S})=>!Ze(S)&&!kt(S)));let os=st(dt.filter(({h:S})=>Ze(S))),Xs=st(dt.filter(({h:S})=>kt(S))),tt=(S,R)=>R.trim()?`@layer ${S} {
3007
- ${R}}
3008
- `:"";if(M+=tt("components",G.join(`
3005
+ `.repeat(L.length),I=[])};for(let{h:it}of E){let Pt=it.segmentos.find(St=>St.container)?.container,Dt=[...new Set(it.segmentos.flatMap(St=>St.media?[St.media]:[]))].sort((St,nn)=>St==="print"?-1:nn==="print"?1:0).join(" and "),ct=[...Pt?[`@container ${Pt}`]:[],...Dt?[`@media ${Dt}`]:[]];ct.join()!==L.join()&&(st(),L=ct);let kt=L.length?" ":"",At=it.cuerpo??f(it.base)+(Jt(it)&&!i.has(it.base)&&!y(it.base)?Rr(it.base,f(it.base),St=>c.has(St)):""),Y=it.segmentos.map(St=>St.sufijo).join("");I.push(`${kt}${hn(it.base,u,(it.uso??it.cadena).join(""),y(it.base),Y,it.mods)} {${At}
3006
+ ${kt}}`)}return st(),tt},xt=E=>E.segmentos.some(L=>L.tipo==="print"),Jt=E=>!xt(E)&&E.segmentos.some(L=>L.tipo==="estado"||L.tipo==="grupo");V+=rt(dt.filter(({h:E})=>!Jt(E)&&!xt(E)));let An=rt(dt.filter(({h:E})=>Jt(E))),ps=rt(dt.filter(({h:E})=>xt(E))),Ne=(E,L)=>L.trim()?`@layer ${E} {
3007
+ ${L}}
3008
+ `:"";if(A+=Ne("components",B.join(`
3009
3009
  `)+`
3010
- `),M+=tt("utilities",m+jr(F)+F.slice(m.length)),M+=tt("states",X.join(`
3010
+ `),A+=Ne("utilities",m+Dr(V)+V.slice(m.length)),A+=Ne("states",Z.join(`
3011
3011
  `)+`
3012
- `),M+=tt("utility-states",os),M+=tt("print",Xs),s){let S=new Set([...gs(M.slice(q)),...r]);M=M.replace(a,()=>Yi(a,S))}return M}var bt={t:"espaciado"},le={t:"espaciado",neg:!0,auto:!0},_n={t:"px"},Pe={t:"color",ancho:!0,anchoSolo:!0,extra:["none","transparent","0"]},ce=e=>({regla:"fisico",sucesor:e}),Vr={m:{prop:"margin",valor:le},mx:{prop:"margin-inline",valor:le},my:{prop:"margin-top + margin-bottom",valor:le},mt:{prop:"margin-top",valor:le},mb:{prop:"margin-bottom",valor:le},ms:{prop:"margin-inline-start",valor:le},me:{prop:"margin-inline-end",valor:le},ml:{prop:"margin-left",valor:le,legado:ce("ms")},mr:{prop:"margin-right",valor:le,legado:ce("me")},p:{prop:"padding",valor:bt},px:{prop:"padding-inline",valor:bt},py:{prop:"padding-top + padding-bottom",valor:bt},pt:{prop:"padding-top",valor:bt},pb:{prop:"padding-bottom",valor:bt},ps:{prop:"padding-inline-start",valor:bt},pe:{prop:"padding-inline-end",valor:bt},pl:{prop:"padding-left",valor:bt,legado:ce("ps")},pr:{prop:"padding-right",valor:bt,legado:ce("pe")},gap:{prop:"gap",valor:bt},"gap-x":{prop:"column-gap",valor:bt},"gap-y":{prop:"row-gap",valor:bt},inset:{prop:"inset",valor:_n},"inset-x":{prop:"inset-inline",valor:bt},"inset-y":{prop:"top + bottom",valor:bt},top:{prop:"top",valor:bt},bottom:{prop:"bottom",valor:bt},start:{prop:"inset-inline-start",valor:bt},end:{prop:"inset-inline-end",valor:bt},left:{prop:"left",valor:bt,legado:ce("start")},right:{prop:"right",valor:bt,legado:ce("end")},w:{prop:"width",valor:{t:"px",extra:["full","auto","screen","fit"],patron:/^\d+\/\d+$/}},h:{prop:"height",valor:{t:"px",extra:["full","auto","screen","fit"]}},size:{prop:"width + height",valor:_n},"min-w":{prop:"min-width",valor:{t:"px",extra:["full"]}},"min-h":{prop:"min-height",valor:{t:"px",extra:["full","screen"]}},"max-w":{prop:"max-width",valor:{t:"px",extra:["full"],patron:/^(modal|screen)-(sm|md|lg|xl|2xl)$/}},"max-h":{prop:"max-height",valor:{t:"px",extra:["full"]}},"translate-x":{prop:"transform: translateX",valor:_n},"translate-y":{prop:"transform: translateY",valor:_n},text:{prop:"font-size",valor:{t:"escala",de:"fontSizes"}},align:{prop:"text-align",valor:{t:"palabras",lista:["start","center","end"]}},wrap:{prop:"text-wrap",valor:{t:"palabras",lista:["balance","pretty","nowrap"]}},type:{prop:"font + line-height + letter-spacing (compuesto)",valor:{t:"palabras",lista:[],patron:/^(heading|copy|label|button)-\d+(-(mono|strong))?$/}},leading:{prop:"line-height",valor:{t:"escala",de:"lineHeights",extra:["none","tight"]}},tracking:{prop:"letter-spacing",valor:{t:"escala",de:"letterSpacing"}},weight:{prop:"font-weight",valor:{t:"escala",de:"fontWeights"}},font:{prop:"font-family",valor:{t:"palabras",lista:["sans","mono","display","inherit"]}},whitespace:{prop:"white-space",valor:{t:"palabras",lista:["normal","nowrap","pre","pre-line","pre-wrap"]}},break:{prop:"overflow-wrap / word-break",valor:{t:"palabras",lista:["words","all","normal"]}},"line-clamp":{prop:"line-clamp",valor:{t:"conteo",extra:["none"]}},valign:{prop:"vertical-align",valor:{t:"palabras",lista:["baseline","top","middle","bottom"]}},color:{prop:"color",valor:{t:"color",extra:[]}},bg:{prop:"background-color",valor:{t:"color",extra:["transparent","glow-brand","glow-accent","highlight","highlight-strong"]}},accent:{prop:"accent-color",valor:{t:"palabras",lista:["brand","accent","auto"]}},border:{prop:"border",valor:{t:"color",ancho:!0,anchoSolo:!0,extra:["none","transparent","separator"]}},"border-t":{prop:"border-top",valor:Pe},"border-b":{prop:"border-bottom",valor:Pe},"border-s":{prop:"border-inline-start",valor:Pe},"border-e":{prop:"border-inline-end",valor:Pe},"border-r":{prop:"border-right",valor:Pe,legado:ce("border-e")},"border-l":{prop:"border-left",valor:Pe,legado:ce("border-s")},outline:{prop:"outline",valor:{t:"color",ancho:!0,extra:["none","transparent"]}},"outline-offset":{prop:"outline-offset",valor:_n},"outline-focus":{prop:"outline",valor:Pe,legado:{regla:"alias",sucesor:"outline"}},ring:{prop:"box-shadow",valor:{t:"color",anchoSolo:!0}},"ring-shadow":{prop:"box-shadow",valor:{t:"ring-shadow"}},"focus-ring":{prop:"color del foco",valor:{t:"familia",extra:["primary"]}},divide:{prop:"border-width (hijos)",valor:{t:"palabras",lista:["x","y"]}},radius:{prop:"border-radius",valor:{t:"escala",de:"radius"}},...Object.fromEntries(["ss","se","es","ee","s","e"].map(e=>[`radius-${e}`,{prop:"border-radius (esquina l\xF3gica)",valor:{t:"palabras",lista:["inherit"]}}])),...Object.fromEntries(Object.entries({tl:"ss",tr:"se",bl:"es",br:"ee",l:"s",r:"e"}).map(([e,n])=>[`radius-${e}`,{prop:"border-radius (esquina f\xEDsica)",valor:{t:"palabras",lista:["inherit"]},legado:ce(`radius-${n}`)}])),shadow:{prop:"box-shadow",valor:{t:"escala",de:"shadows",extra:["none"]}},blur:{prop:"filter: blur",valor:{t:"escala",de:"blurs"}},"backdrop-blur":{prop:"backdrop-filter: blur",valor:{t:"escala",de:"blurs"}},opacity:{prop:"opacity",valor:{t:"escala",de:"opacities"}},z:{prop:"z-index",valor:{t:"conteo",extra:["auto"]}},material:{prop:"material (compuesto)",valor:{t:"palabras",lista:["base","small","medium","large","tooltip","menu","modal","fullscreen"]}},surface:{prop:"material de superficie",valor:{t:"escala",de:"radius"}},floating:{prop:"material flotante",valor:{t:"escala",de:"radius"}},flex:{prop:"flex",valor:{t:"palabras",lista:["row","col","row-reverse","col-reverse","wrap","nowrap","grow","shrink","none"],patron:/^((grow|shrink)-)?\d+$/}},items:{prop:"align-items",valor:{t:"palabras",lista:["start","center","end","baseline","stretch"]}},justify:{prop:"justify-content",valor:{t:"palabras",lista:["start","center","end","between","around","evenly","stretch"]}},"justify-self":{prop:"justify-self",valor:{t:"palabras",lista:["auto","start","center","end","stretch"]}},self:{prop:"align-self",valor:{t:"palabras",lista:["auto","start","center","end","baseline","stretch"]}},"place-content":{prop:"place-content",valor:{t:"palabras",lista:["start","center","end","between","around","evenly","stretch"]}},"place-items":{prop:"place-items",valor:{t:"palabras",lista:["start","center","end","stretch"]}},"place-self":{prop:"place-self",valor:{t:"palabras",lista:["auto","start","center","end","stretch"]}},order:{prop:"order",valor:{t:"conteo",extra:["first","last","none"]}},"grid-cols":{prop:"grid-template-columns",valor:{t:"conteo"}},"grid-rows":{prop:"grid-template-rows",valor:{t:"conteo"}},"grid-flow":{prop:"grid-auto-flow",valor:{t:"palabras",lista:["row","col","dense"]}},"grid-min":{prop:"--ts-grid-min",valor:{t:"escala",de:"gridMins"}},"col-span":{prop:"grid-column",valor:{t:"conteo",extra:["full"]}},"row-span":{prop:"grid-row",valor:{t:"conteo",extra:["full"]}},columns:{prop:"columns",valor:{t:"conteo"}},aspect:{prop:"aspect-ratio",valor:{t:"palabras",lista:["square","video","auto"]}},overflow:{prop:"overflow",valor:{t:"palabras",lista:["auto","hidden","scroll","visible"]}},"overflow-x":{prop:"overflow-x",valor:{t:"palabras",lista:["auto","hidden"]}},"overflow-y":{prop:"overflow-y",valor:{t:"palabras",lista:["auto","hidden"]}},object:{prop:"object-fit",valor:{t:"palabras",lista:["cover","contain"]}},cursor:{prop:"cursor",valor:{t:"palabras",lista:["pointer","not-allowed","default","wait","grab","grabbing","col-resize","row-resize","ew-resize","ns-resize","nwse-resize","nesw-resize","cell"]}},select:{prop:"user-select",valor:{t:"palabras",lista:["none","text","all","auto"]}},"pointer-events":{prop:"pointer-events",valor:{t:"palabras",lista:["none","auto"]}},snap:{prop:"scroll-snap-*",valor:{t:"palabras",lista:["x","y","both","none","start","center","end","align-none"]}},appearance:{prop:"appearance",valor:{t:"palabras",lista:["none"]}},scheme:{prop:"color-scheme + color",valor:{t:"palabras",lista:["dark","light"]}},isolation:{prop:"isolation",valor:{t:"palabras",lista:["auto"]}},list:{prop:"list-style",valor:{t:"palabras",lista:["none","disc"]}},box:{prop:"box-sizing",valor:{t:"palabras",lista:["border"]}},"will-change":{prop:"will-change",valor:{t:"palabras",lista:["auto","transform","scroll"]}},duration:{prop:"transition-duration",valor:{t:"escala",de:"durations"}},ease:{prop:"transition-timing-function",valor:{t:"escala",de:"easings"}},transition:{prop:"transition",valor:{t:"palabras",lista:["all","colors","input","none","opacity","option","shadow","transform","width"]}},animate:{prop:"animation",valor:{t:"palabras",lista:["spin"]}},scale:{prop:"transform: scale",valor:{t:"conteo",extra:["var"]}},origin:{prop:"transform-origin",valor:{t:"palabras",lista:["top-left"]}},rotate:{prop:"transform: rotate",valor:{t:"conteo"}}},gd=[{patron:/^(left|center|right)$/,sucesor:e=>`align-${{left:"start",center:"center",right:"end"}[e]}`},{patron:/^(balance|pretty|nowrap)$/,sucesor:e=>`wrap-${e}`},{patron:/^(heading|copy|label|button)-/,sucesor:e=>`type-${e}`}],md={block:"display",flex:"display",grid:"display",hidden:"display",contents:"display",inline:"display","inline-block":"display","inline-flex":"display","inline-grid":"display",absolute:"position",fixed:"position",relative:"position",sticky:"position",visible:"visibility",invisible:"visibility",underline:"text-decoration","no-underline":"text-decoration","line-through":"text-decoration",uppercase:"text-transform",lowercase:"text-transform",capitalize:"text-transform","normal-case":"text-transform",italic:"font-style","not-italic":"font-style",truncate:"overflow + text-overflow",antialiased:"font-smoothing",isolate:"isolation","tabular-nums":"font-variant-numeric","sr-only":"visualmente oculto","not-sr-only":"deshace sr-only","grid-auto":"grid-template-columns (auto-fit)","grid-auto-fill":"grid-template-columns (auto-fill)","tap-highlight-none":"-webkit-tap-highlight-color"},fd=["disabled","disabled-flat","focus-ring","focus-ring-thumb","focus-ring-inset","field-box","field-box-trigger","option-row","popover-reset","required-indicator","cq","cq-normal","color-heading","color-copy","color-subtle","color-label","color-success","color-warning","color-info","color-danger","color-btn"];var Fn=["icon","button","badge","calendar","card","checkbox","combobox","command","datepicker","drawer","empty","input","menu","modal","nav","note","number","pager","pagination","radio","segmented","select","sidebar","slider","table","tabs","textarea","toc","toggle","tooltip","popover","toaster","toast","spinner","avatar","accordion","progress","skeleton","kbd","tag","banner","link","collapsible","context","breadcrumbs","separator","code","inline-code","loading-dots","file-upload","scroll-area","aspect-ratio","grid-container","required-proxy"];function vs(e={}){let n=s=>Object.keys(s);return{radius:[...n(te),"full"],blurs:n(fe),shadows:n(Ie),screens:n(ie),gridMins:e.gridMins??[],fontSizes:n(en),lineHeights:n(sn),letterSpacing:n(Me),fontWeights:n(nn),durations:n(ee),easings:n(ne),opacities:n(oe),zIndex:n(tn),borderWidths:n(Dn),ritmo:[...new Set([...e.gaps??n(me),...e.spaces??n(co)])],sizing:n(qe)}}function hd(e){let n;for(let s of Object.keys(Vr))(e===s||e.startsWith(s+"-"))&&(!n||s.length>n.length)&&(n=s);return n}function Vo(e,n,s=[]){if(s.includes(e)||/^primary-solid(?:-hover|-active)?(?:-contrast)?$/.test(e))return!0;let o=e.match(/^(.+)-(\d+)(-contrast)?$/)??e.match(/^(.+)-solid(?:-hover|-active)?(?:-contrast)?$/);return!!o&&n.includes(o[1])}function bd(e,n,s,o){switch(e.t){case"espaciado":return s.ritmo.includes(n)||s.sizing.includes(n)||!!e.auto&&n==="auto";case"escala":return s[e.de].includes(n)||(e.extra?.includes(n)??!1)||e.de==="radius"&&n==="none";case"px":return s.sizing.includes(n)||(e.extra?.includes(n)??!1)||(e.patron?.test(n)??!1);case"conteo":return/^\d+$/.test(n)||(e.extra?.includes(n)??!1)||(e.patron?.test(n)??!1);case"palabras":return e.lista.includes(n)||(e.patron?.test(n)??!1);case"familia":return o.includes(n)||(e.extra?.includes(n)??!1);case"color":{if(Vo(n,o,e.extra)||e.anchoSolo&&s.borderWidths.includes(n))return!0;if(!e.ancho)return!1;let r=n.match(/^(\d+)-(.+)$/);return!!r&&s.borderWidths.includes(r[1])&&Vo(r[2],o,["transparent"])}case"ring-shadow":{let r=n.match(/^([a-z0-9]+)-(.+)$/);return!!r&&s.shadows.includes(r[1])&&Vo(r[2],o)}}}function Wr(e,n,s){let o=[];/^ts-[A-Za-z0-9/-]+$/.test(e)||o.push({regla:"ascii",detalle:"caracteres fuera de [A-Za-z0-9/-]"});let r=e.replace(/^ts-/,"");if(/-negative$/.test(r)&&o.push({regla:"negative",detalle:"sufijo -negative; va neg- como prefijo del valor"}),/-important$/.test(r)&&o.push({regla:"important",detalle:"sufijo -important; no va en un nombre p\xFAblico"}),r in md||fd.includes(r))return o;let a=hd(r);if(!a)return o.push({regla:"prefijo",detalle:"prefijo fuera de la lista cerrada"}),o;let l=Vr[a];l.legado&&o.push({regla:l.legado.regla,detalle:`${a} \u2192 ${l.legado.sucesor}`});let i=r.slice(a.length+1);if(a==="text"){let d=gd.find(u=>u.patron.test(i));if(d)return o.push({regla:"texto",detalle:`text-${i} \u2192 ${d.sucesor(i)}`}),o}return i=i.replace(/-(negative|important)$/,""),i.startsWith("neg-")&&(l.valor.t==="espaciado"&&l.valor.neg?(i=i.slice(4),["auto","none","0"].includes(i)&&o.push({regla:"valor",detalle:`neg-${i} no tiene sentido; se escribe ${i}`})):o.push({regla:"valor",detalle:`neg- no corresponde a ${a}`})),i===""?o.push({regla:"valor",detalle:`${a} sin valor`}):bd(l.valor,i,n,s)||o.length||o.push({regla:"valor",detalle:`${i} no es un valor v\xE1lido (${l.valor.t}) para ${a}`}),o}var Fr={prefijos:["is","has","variant","size","side","shape","orientation","resize","placement","density","collapsible","padding","align","position","status","fill","contrast","tone","hide","direction","level","aspect","icon"],palabras:["auto-resize","responsive-sheet","vertical"]},pn=["dark"],Bt=e=>Fr.palabras.includes(e)||Fr.prefijos.some(n=>e.startsWith(n+"-"));function yd(e){let n=[[]],s=0,o="",r=()=>{o.trim()&&n[n.length-1].push(o.trim()),o=""};for(let a of e)(a==="("||a==="[")&&s++,(a===")"||a==="]")&&s--,s===0&&a===","?(r(),n.push([])):s===0&&/[\s>+~]/.test(a)?r():o+=a;return r(),n}function vd(e){for(let n=e.indexOf(":not(");n!==-1;n=e.indexOf(":not(")){let s=0,o=n+4;for(;o<e.length&&(e[o]==="("&&s++,!(e[o]===")"&&--s===0));o++);e=e.slice(0,n)+e.slice(o+1)}return e}function Ur(e,n=Fn){let s=e.replace(/\/\*[\s\S]*?\*\//g,l=>l.replace(/[^\n]/g," ")),o=n.map(l=>l.replace(/-/g,"\\-")).join("|"),r=new RegExp(`&|\\.ts-|\\[data-(?:${o})(?:[-\\]=~|^$*])`),a=[];for(let l of s.matchAll(/(^|[;{}])\s*([^;{}@]+?)\s*\{/g)){let i=l[2].trim(),c=l.index+l[0].indexOf(l[2]),d=s.slice(0,c).split(`
3013
- `).length,u=[...s.slice(0,c).matchAll(/^@utility (\S+)/gm)].pop()?.[1]??"(fuera de un @utility)";for(let y of yd(i))for(let t of y){for(let g of t.matchAll(/\.([A-Za-z_][A-Za-z0-9_-]*)/g)){let b=g[1];b.startsWith("ts-")||pn.includes(b)||Bt(b)||a.push({selector:i.replace(/\s+/g," "),utility:u,linea:d,motivo:"desconocido"})}let m=vd(t);[...m.matchAll(/\.([A-Za-z_][A-Za-z0-9_-]*)/g)].map(g=>g[1]).filter(Bt).length&&!r.test(m)&&a.push({selector:i.replace(/\s+/g," "),utility:u,linea:d,motivo:"suelto"})}}return a}function Wo(e,n,s,o){let r=new Set([n,s].flatMap(i=>pt(i).flatMap(c=>{let d=c.name.replaceAll("\\","");return[d.slice(3),(o.get(d)??d).slice(3)]}))),a=new Set;for(let i of Object.values(e.componentes))for(let c of i.bloques)for(let d of[c,(o.get(`ts-${c}`)??`ts-${c}`).slice(3)])a.add(d);return{atomicas:r,componentes:a,esComponente:i=>!r.has(i)&&(a.has(i)||Bt(i))}}var Uo=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,Br=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,xs="ts-",Hr=/^\d+(\.\d+)?px$/,Vn={regex:/^[1-9]\d{0,2}$/,rango:"1 a 999"},xd={regex:/^(?:0|[1-9]\d?|100)$/,rango:"0 a 100"},wd=/^(?:[2-9]?xs|[2-9]xl)$/,_=(e,n)=>new zt([{path:e,...n}]);function un(e,n,s){try{n()}catch(o){if(!(o instanceof zt))throw o;e.push(...o.errors),s?.()}}function Wn(e){if(e.length)throw new zt(e)}function Le(e,n){if(typeof n!="string")throw _(e,{code:"value-not-string",params:{value:n}});if(n.trim()==="")throw _(e,{code:"empty-value",params:{}});if(/[;{}\\\r\n]|\/\*|\*\//.test(n))throw _(e,{code:"unsafe-value",params:{value:n}})}var Gr=e=>{let n=new Map;for(let s of e)n.set(s,(n.get(s)??0)+1);return n};function $d(e,n){let s=Array.from({length:n.length+1},(o,r)=>r);for(let o=1;o<=e.length;o++){let r=[o];for(let a=1;a<=n.length;a++)r[a]=Math.min(s[a]+1,r[a-1]+1,s[a-1]+(e[o-1]===n[a-1]?0:1));s=r}return s[n.length]}function mt(e,n){let s=3,o;for(let r of n){if(Math.abs(r.length-e.length)>2)continue;let a=$d(e,r);a<s?(s=a,o=r):a===s&&(o=void 0)}return o}var Jr=["colors","primary","states","fonts","radius","borderWidths","blurs","zIndex","opacities","screens","components","cornerShape","focusRing","contrastThreshold","spotlight","spacing","shadows","motion","semantic","neutral","material","locked","fontSizes","lineHeights","letterSpacing","fontWeights","density"],kd={sizing:"extend.sizing"},Zr=["screens","radius","fontSizes","lineHeights","letterSpacing","fontWeights","borderWidths","blurs","opacities","shadows"],Kr={spacing:["gaps","spaces"],motion:["durations","easings"]},Xr=["zIndex","motion.loops","motion.iterations"],Yr=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function Sd(e,n){let s={};if(e===void 0)return s;if(!Yr(e))return n(()=>{throw _("extend",{code:"extend-shape-invalid",params:{expected:"object",value:e}})}),s;let o=(a,l,i)=>{let c=i==="list"?Array.isArray(l):Yr(l);return c||n(()=>{throw _(a,{code:"extend-shape-invalid",params:{expected:i,value:l}})}),c},r=["sizing",...Zr,...Object.keys(Kr)];for(let[a,l]of Object.entries(e)){if(a==="sizing"){o("extend.sizing",l,"list")&&(s.sizing=l);continue}if(Zr.includes(a)){o(`extend.${a}`,l,"object")&&(s[a]=l);continue}let i=Kr[a];if(i){if(!o(`extend.${a}`,l,"object"))continue;let c={};for(let[d,u]of Object.entries(l)){let y=`extend.${a}.${d}`;if(i.includes(d)){o(y,u,"object")&&(c[d]=u);continue}n(()=>{if(Xr.includes(`${a}.${d}`))throw _(y,{code:"extend-key-excluded",params:{key:`${a}.${d}`}});let t=mt(d,i);throw _(y,{code:"extend-key-unknown",params:{key:d,...t&&{suggestion:t}}})})}s[a]=c;continue}n(()=>{if(Xr.includes(a))throw _(`extend.${a}`,{code:"extend-key-excluded",params:{key:a}});let c=mt(a,r);throw _(`extend.${a}`,{code:"extend-key-unknown",params:{key:a,...c&&{suggestion:c}}})})}return s}var Qr={integer:e=>/^-?\d+$/.test(e),"font-weight":e=>/^\d+$/.test(e)&&Number(e)>=1&&Number(e)<=1e3,opacity:e=>/^var\(.+\)$/.test(e)||/^(\d+\.?\d*|\.\d+)$/.test(e)&&Number(e)>=0&&Number(e)<=1,duration:e=>/^(\d+\.?\d*|\.\d+)(ms|s)$/.test(e),iterations:e=>e==="infinite"||/^(\d+\.?\d*|\.\d+)$/.test(e)};function Td(e,n,s,o){let r=`themes.${e}`;for(let l of Object.keys(n))o(()=>{if(Jr.includes(l))return;let i=kd[l],c=i?void 0:mt(l,Jr);throw _(`${r}.${l}`,{code:"theme-key-unknown",params:{key:l,...i&&{extendPath:i},...c&&{suggestion:c}}})});n.cornerShape!==void 0&&n.cornerShape!=="round"&&n.cornerShape!=="squircle"&&o(()=>{throw _(`${r}.cornerShape`,{code:"corner-shape-invalid",params:{value:n.cornerShape}})});for(let[l,i]of[["spacing",["gaps","spaces"]],["motion",["durations","loops","iterations","easings"]],["density",["comfortable","compact"]]])for(let c of Object.keys(n[l]??{}))o(()=>{if(i.includes(c))return;let d=mt(c,i);throw _(`${r}.${l}.${c}`,{code:"theme-key-unknown",params:{key:c,...d&&{suggestion:d}}})});for(let{ruta:l,de:i,nombres:c,extendRuta:d,tipo:u}of s)for(let[y,t]of Object.entries(i(n)??{}))o(()=>{let m=`${r}.${l}.${y}`;if(!c.includes(y))throw _(m,{code:"theme-name-unknown",params:{scale:l,name:y,...d&&{extendPath:d}}});if(Le(m,t),u&&!Qr[u](t.trim()))throw _(m,{code:"value-type-invalid",params:{kind:u,value:t}})});for(let l of["comfortable","compact"]){let i=n.density?.[l]??{};for(let[c,d]of Object.entries(i)){let u=`${r}.density.${l}.${c}`;if(l==="compact"&&c==="spacing"){for(let[y,t]of Object.entries(d??{})){if(y!=="gaps"&&y!=="spaces"){let m=mt(y,["gaps","spaces"]);o(()=>{throw _(`${u}.${y}`,{code:"theme-key-unknown",params:{key:y,...m&&{suggestion:m}}})});continue}for(let[m,h]of Object.entries(t??{}))o(()=>{let g=`${u}.${y}.${m}`;if(!Object.hasOwn(Qe,m))throw _(g,{code:"theme-name-unknown",params:{scale:`density.compact.spacing.${y}`,name:m}});Le(g,h)})}continue}if(!Object.hasOwn(se,c)){o(()=>{throw _(u,{code:"theme-name-unknown",params:{scale:`density.${l}`,name:c}})});continue}for(let[y,t]of Object.entries(d??{}))o(()=>{let m=`${u}.${y}`;if(!Object.hasOwn(se[c][l],y))throw _(m,{code:"theme-name-unknown",params:{scale:`density.${l}.${c}`,name:y}});if(typeof t!="number"||!Number.isFinite(t)||t<0)throw _(m,{code:"value-type-invalid",params:{kind:"px",value:t}})})}}let a=[...Object.entries(n.fonts??{}).map(([l,i])=>[`fonts.${l}`,i]),...Object.entries(n.semantic??{}).map(([l,i])=>[`semantic.${l}`,i]),["focusRing",n.focusRing],["contrastThreshold",n.contrastThreshold],["spotlight.light",n.spotlight?.light],["spotlight.dark",n.spotlight?.dark],...["light","dark"].flatMap(l=>["bg","border","shadowRgb"].map(i=>[`material.${l}.${i}`,n.material?.[l]?.[i]]))];for(let[l,i]of a)i!==void 0&&o(()=>Le(`${r}.${l}`,i))}function ta(e,n,s,o,r,a={components:"",utilities:""}){let l=[],i=($,E)=>un(l,$,E);i(()=>{if(e.scope!==void 0&&e.scope!=="ts")throw _("scope",{code:"scope-invalid",params:{value:e.scope}});if(e.darkMode!==void 0&&e.darkMode!=="class"&&e.darkMode!=="media")throw _("darkMode",{code:"dark-mode-invalid",params:{value:e.darkMode}})}),i(()=>{if(e.iconsHtmlDirs!==void 0)throw _("iconsHtmlDirs",{code:"icons-html-dirs-removed",params:{}})}),(e.fontFaces??[]).forEach(($,E)=>{i(()=>{if(!($.styles===void 0||Array.isArray($.styles)&&$.styles.length>0&&$.styles.every(j=>j==="normal"||j==="italic")))throw _(`fontFaces[${E}].styles`,{code:"font-styles-invalid",params:{value:$.styles}})})});for(let[$,E]of Object.entries(e.themes))i(()=>{let x=E.colors?.brand;if(typeof x!="string"||x.trim()==="")throw _(`themes.${$}.colors.brand`,{code:"brand-required",params:{}})}),i(()=>{if(Object.hasOwn(E.colors??{},"primary"))throw _(`themes.${$}.colors.primary`,{code:"primary-in-colors",params:{}})}),i(()=>{let x=zn(E);if(x!==void 0&&(typeof x!="string"||x.trim()===""))throw _(`themes.${$}.primary`,{code:"primary-invalid",params:{}})});let c=Sd(e.extend,i),d=e.utilities??{},u={sizing:{...Y.sizing,...Object.fromEntries((Array.isArray(c.sizing)?c.sizing:[]).filter($=>typeof $=="number").map($=>[String($),$]))},screens:{...Y.screens,...c.screens??{}},radius:{...Y.radius,...c.radius??{}},gaps:{...Y.gaps,...c.spacing?.gaps??{}},spaces:{...Y.spaces,...c.spacing?.spaces??{}},fontSizes:{...Y.fontSizes,...c.fontSizes??{}},lineHeights:{...Y.lineHeights,...c.lineHeights??{}},letterSpacing:{...Y.letterSpacing,...c.letterSpacing??{}},fontWeights:{...Y.fontWeights,...c.fontWeights??{}},borderWidths:{...Y.borderWidths,...c.borderWidths??{}},blurs:{...Y.blurs,...c.blurs??{}},opacities:{...Y.opacities,...c.opacities??{}},shadows:{...Y.shadows,...c.shadows??{}},durations:{...Y.durations,...c.motion?.durations??{}},easings:{...Y.easings,...c.motion?.easings??{}}},y,t=()=>{if(!y){let $=Jt(n,s),E=pt(Vt($,o)).map(A=>A.name),x=pt(Nt()).map(A=>A.name),j=[...pt(Nt()+a.utilities),...pt(Zt(n,s)+a.components)].map(A=>A.name);y={atomic:E,utilidades:x,resto:j,nombres:new Set([...E,...j,...Ct([...E,...j]).values()]),vocabulary:$}}return y},m,h=()=>{if(!m){let{vocabulary:$}=t(),E=pt(Vt($,o,u)).map(j=>j.name),x=[...pt(Nt(u)+a.utilities),...pt(Zt(n,s,u)+a.components)].map(j=>j.name);m=new Set([...E,...x,...Ct([...E,...x]).values()])}return m},g=new Map(Object.entries(Y.screens).map(([$,E])=>[parseFloat(E),$]));for(let[$,E]of Object.entries(c.screens??{}))i(()=>{let x=`extend.screens.${$}`;if(Object.hasOwn(Y.screens,$))throw _(x,{code:"screen-exists",params:{name:$}});if(!wd.test($))throw _(x,{code:"screen-name-invalid",params:{}});if(typeof E!="string"||!Hr.test(E))throw _(x,{code:"screen-value-invalid",params:{value:`${E}`}});let j=parseFloat(E),A=g.get(j);if(A!==void 0)throw _(x,{code:"screen-repeated",params:{value:E,other:A}});g.set(j,$);let O=Object.values(Y.screens).map(parseFloat),[,V,et]=/^(\d)?(xs|xl)$/.exec($),nt=Number(V??1);if(et==="xs"&&j>=Math.min(...O))throw _(x,{code:"screen-below-min",params:{name:$,px:Math.min(...O)}});if(et==="xl"&&j<=Math.max(...O))throw _(x,{code:"screen-above-max",params:{name:$,px:Math.max(...O)}});for(let[rt,K]of Object.entries(c.screens??{})){if(rt===$)break;let ot=/^(\d)?(xs|xl)$/.exec(rt);if(!ot||ot[2]!==et||!Hr.test(K))continue;let dt=Number(ot[1]??1),st=parseFloat(K),kt=et==="xl"?nt>dt:nt<dt;if(kt?j<=st:j>=st)throw _(x,{code:"screen-order",params:{name:$,value:E,greater:kt,other:rt,otherValue:K}})}},()=>{delete u.screens[$]});let b=[{ruta:"extend.radius",clave:"radius",temaRuta:"radius",propios:c.radius},{ruta:"extend.spacing.gaps",clave:"gaps",temaRuta:"spacing.gaps",propios:c.spacing?.gaps},{ruta:"extend.spacing.spaces",clave:"spaces",temaRuta:"spacing.spaces",propios:c.spacing?.spaces},{ruta:"extend.fontSizes",clave:"fontSizes",temaRuta:"fontSizes",propios:c.fontSizes,numerico:Vn},{ruta:"extend.lineHeights",clave:"lineHeights",temaRuta:"lineHeights",propios:c.lineHeights,numerico:Vn},{ruta:"extend.letterSpacing",clave:"letterSpacing",temaRuta:"letterSpacing",propios:c.letterSpacing},{ruta:"extend.fontWeights",clave:"fontWeights",temaRuta:"fontWeights",propios:c.fontWeights,tipo:"font-weight"},{ruta:"extend.borderWidths",clave:"borderWidths",temaRuta:"borderWidths",propios:c.borderWidths,numerico:Vn},{ruta:"extend.blurs",clave:"blurs",temaRuta:"blurs",propios:c.blurs},{ruta:"extend.opacities",clave:"opacities",temaRuta:"opacities",propios:c.opacities,numerico:xd,tipo:"opacity"},{ruta:"extend.shadows",clave:"shadows",temaRuta:"shadows",propios:c.shadows},{ruta:"extend.motion.durations",clave:"durations",temaRuta:"motion.durations",propios:c.motion?.durations,tipo:"duration"},{ruta:"extend.motion.easings",clave:"easings",temaRuta:"motion.easings",propios:c.motion?.easings}],p=new Map,v=($,E)=>{let{atomic:x,utilidades:j,nombres:A,vocabulary:O}=t(),V=Gr([...x,...j]),et=Gr([...pt(Vt(O,o,E)),...pt(Nt(E))].map(nt=>nt.name));for(let[nt,rt]of et){if(rt<=(V.get(nt)??0))continue;if(A.has(nt))throw _($,{code:"class-exists",params:{class:nt}});let K=p.get(nt);if(K!==void 0)throw _($,{code:"class-duplicated",params:{class:nt,other:K}});p.set(nt,$);let ot=gt(nt)?.nuevo;if(ot&&A.has(ot))throw _($,{code:"class-renamed-exists",params:{class:nt,renamed:ot}})}};for(let{ruta:$,clave:E,temaRuta:x,propios:j,numerico:A,tipo:O}of b)for(let[V,et]of Object.entries(j??{}))i(()=>{let nt=`${$}.${V}`;if(Object.hasOwn(Y[E],V))throw _(nt,{code:"scale-exists",params:{name:V,themePath:x}});if(A){if(!A.regex.test(V))throw _(nt,{code:"scale-name-numeric",params:{range:A.rango}})}else if(!Uo.test(V))throw _(nt,{code:"scale-name-invalid",params:{}});if(E==="spaces"&&V.startsWith("neg-"))throw _(nt,{code:"space-neg-prefix",params:{}});if(E==="spaces"&&V.endsWith("-negative"))throw _(nt,{code:"space-negative-suffix",params:{}});if(Le(nt,et),O&&!Qr[O](et.trim()))throw _(nt,{code:"value-type-invalid",params:{kind:O,value:et}});if(E==="fontSizes"&&!Object.hasOwn(Y.lineHeights,V)&&!Object.hasOwn(c.lineHeights??{},V))throw _(nt,{code:"font-size-needs-line-height",params:{name:V}});v(nt,{...Y,[E]:{...Y[E],[V]:et}})},()=>{delete u[E][V]});let f=new Set;(Array.isArray(c.sizing)?c.sizing:[]).forEach(($,E)=>{i(()=>{let x=`extend.sizing[${E}]`;if(typeof $!="number"||!Number.isInteger($))throw _(x,{code:"value-type-invalid",params:{kind:"integer",value:$}});if(!Vn.regex.test(String($)))throw _(x,{code:"scale-name-numeric",params:{range:Vn.rango}});if(Object.hasOwn(Y.sizing,String($)))throw _(x,{code:"sizing-exists",params:{level:$,repeated:!1}});if(f.has($))throw _(x,{code:"sizing-exists",params:{level:$,repeated:!0}});f.add($),v(x,{...Y,sizing:{...Y.sizing,[String($)]:$}})},()=>{Object.hasOwn(Y.sizing,String($))||delete u.sizing[String($)]})});let w=($,E)=>[...Object.keys($),...Object.keys(E??{})],k=[{ruta:"radius",de:$=>$.radius,nombres:w(Y.radius,c.radius),extendRuta:"extend.radius"},{ruta:"spacing.gaps",de:$=>$.spacing?.gaps,nombres:w(Y.gaps,c.spacing?.gaps),extendRuta:"extend.spacing.gaps"},{ruta:"spacing.spaces",de:$=>$.spacing?.spaces,nombres:w(Y.spaces,c.spacing?.spaces),extendRuta:"extend.spacing.spaces"},{ruta:"screens",de:$=>$.screens,nombres:w(Y.screens,c.screens),extendRuta:"extend.screens"},{ruta:"fontSizes",de:$=>$.fontSizes,nombres:w(Y.fontSizes,c.fontSizes),extendRuta:"extend.fontSizes"},{ruta:"lineHeights",de:$=>$.lineHeights,nombres:w(Y.lineHeights,c.lineHeights),extendRuta:"extend.lineHeights"},{ruta:"letterSpacing",de:$=>$.letterSpacing,nombres:w(Y.letterSpacing,c.letterSpacing),extendRuta:"extend.letterSpacing"},{ruta:"fontWeights",de:$=>$.fontWeights,nombres:w(Y.fontWeights,c.fontWeights),extendRuta:"extend.fontWeights",tipo:"font-weight"},{ruta:"borderWidths",de:$=>$.borderWidths,nombres:w(Dn,c.borderWidths),extendRuta:"extend.borderWidths"},{ruta:"blurs",de:$=>$.blurs,nombres:w(fe,c.blurs),extendRuta:"extend.blurs"},{ruta:"zIndex",de:$=>$.zIndex,nombres:w(tn),tipo:"integer"},{ruta:"opacities",de:$=>$.opacities,nombres:w(oe,c.opacities),extendRuta:"extend.opacities",tipo:"opacity"},{ruta:"shadows",de:$=>$.shadows,nombres:w(Ie,c.shadows),extendRuta:"extend.shadows"},{ruta:"motion.durations",de:$=>$.motion?.durations,nombres:w(ee,c.motion?.durations),extendRuta:"extend.motion.durations",tipo:"duration"},{ruta:"motion.loops",de:$=>$.motion?.loops,nombres:w(En)},{ruta:"motion.iterations",de:$=>$.motion?.iterations,nombres:w(Rn),tipo:"iterations"},{ruta:"motion.easings",de:$=>$.motion?.easings,nombres:w(ne,c.motion?.easings),extendRuta:"extend.motion.easings"}];for(let[$,E]of Object.entries(e.themes))Td($,E,k,i);let I=Object.keys(d),D=$=>$.includes("."),W=I.filter($=>!D($)),J=new Set,Z,M=()=>Z??=new Set([...h()].filter($=>!gt($.replaceAll("\\",""))).map($=>$.slice(3))),q=Wt(u.screens),F,P=()=>F??=(()=>{let $=Vt(t().vocabulary,o,u),E=Nt(u)+a.utilities,x=Zt(n,s,u)+a.components,j=[$,E,x].flatMap(A=>pt(A).map(O=>O.name));return Wo(r,$,E,Ct(j))})(),T=($,E)=>{if(!Array.isArray(E)||E.length===0)throw _($,{code:"utility-empty",params:{}});for(let x of E){if(typeof x!="string")throw _($,{code:"utility-not-a-class",params:{value:x}});let{cadena:j,base:A}=qn(x);if(D(A))throw _($,{code:"utility-composes-modifier",params:{class:x,utility:A.split(".")[0],modifiers:A.split(".").slice(1)}});if(j.length){let O=jt(j,q);if(!O.ok){if(O.motivo==="desconocido"){let V=mt(O.prefijo,q.keys());throw _($,{code:"utility-unknown-prefix",params:{class:x,prefix:O.prefijo,...V&&{suggestion:V}}})}throw O.motivo==="data-ts"?_($,{code:"utility-data-ts-variant",params:{class:x}}):O.canonica?_($,{code:"utility-out-of-order",params:{class:x,suggestion:O.canonica.join("")+A}}):_($,{code:"utility-invalid-chain",params:{class:x}})}if(P().esComponente(A)&&!W.includes(A))throw _($,{code:"utility-variant-on-component",params:{class:x,base:A}})}if(!M().has(A)&&!W.includes(A)){let O=A.startsWith("ts-")?A.slice(3):gt(`ts-${A}`)?.nuevo?.slice(3),V=O!==void 0&&M().has(O)?O:mt(A,[...M(),...W]);throw _($,{code:"utility-unknown-class",params:{class:x,...V&&{suggestion:V}}})}}},N=($,E)=>{if(!Br.test(E))throw _($,{code:"modifier-invalid",params:{modifier:E}});if(E.startsWith(xs))throw _($,{code:"modifier-reserved-prefix",params:{modifier:E,prefix:xs}});if(E==="ts"||pn.includes(E))throw _($,{code:"modifier-theme-class",params:{modifier:E}});if(M().has(E))throw _($,{code:"modifier-short-name",params:{modifier:E}});if(W.includes(E))throw _($,{code:"modifier-is-utility",params:{modifier:E}})},z=new Map;for(let $ of I)i(()=>{let E=`utilities.${$}`;if(D($)){let[x,...j]=$.split(".");if(!W.includes(x))throw _(E,{code:"component-missing",params:{component:x}});for(let V of j)N(E,V);if(new Set(j).size!==j.length)throw _(E,{code:"modifier-repeated",params:{}});let A=`${x}.${[...j].sort().join(".")}`,O=z.get(A);if(O!==void 0)throw _(E,{code:"combination-repeated",params:{other:O}});z.set(A,$),T(E,d[$]);return}if(!Br.test($))throw _(E,{code:"utility-name-invalid",params:{}});if($.startsWith(xs))throw _(E,{code:"utility-reserved-prefix",params:{prefix:xs}});if(Bt($)||pn.includes($))throw _(E,{code:"utility-name-is-modifier",params:{}});if(t().nombres.has($))throw _(E,{code:"utility-conflicts-ds",params:{}});if($==="ts")throw _(E,{code:"utility-name-ts",params:{}});if(M().has($))throw _(E,{code:"utility-short-name",params:{}});T(E,d[$])},()=>{J.add($)});let C=new Set,L=new Set,G=($,E)=>{if(E.includes($)){let x=[...E,$].slice(E.indexOf($));i(()=>{throw _(`utilities.${E[0]}`,{code:"utility-cycle",params:{cycle:x}})});for(let j of x)C.add(j),L.add(j);return}if(!(C.has($)||J.has($))){for(let x of d[$])Object.hasOwn(d,x)&&!D(x)&&G(x,[...E,$]);C.add($)}};for(let $ of W)G($,[]);let X=$=>!J.has($)&&!L.has($);for(let $ of I)X($)&&i(()=>{for(let E of d[$]){let{cadena:x,base:j}=qn(E);if(!x.length||D(j)||!Object.hasOwn(d,j)||!X(j))continue;let A=rn(j,d),O=ve(x,A,q).find(et=>!et.ok);if(O&&!O.ok)throw _(`utilities.${$}`,{code:"utility-invalid-composition",params:ln(E,j,x,O)});let V=A.find(et=>et.cadena.length===0&&P().esComponente(et.base)&&!W.includes(et.base));if(V)throw _(`utilities.${$}`,{code:"utility-composes-component",params:{class:E,utility:j,component:V.base}})}});return Wn(l),{userScales:u,userUtilities:d}}var Cd=/^(?:prefers-[a-z-]+|forced-colors|hover|pointer)$/;function na(e){return e.toLowerCase().split(",").every(n=>{let s=n.replace(/\(\s*([a-z-]+)\s*(?::\s*[a-z0-9-]+\s*)?\)/g,(o,r)=>Cd.test(r)?"#":"!");return/^\s*(?:not\s+)?#(?:\s+(?:and|or)\s+#)*\s*$/.test(s)})}var sa=["media","supports","container","starting-style"],jd=new Set("aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgreen darkgrey darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkviolet deeppink deepskyblue dimgray dimgrey dodgerblue firebrick floralwhite forestgreen fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow grey honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightslategrey lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple rebeccapurple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray slategrey snow springgreen steelblue tan teal thistle tomato turquoise violet wheat white whitesmoke yellow yellowgreen".split(" ")),zd=/(?<![\w-])(?:rgba?|hsla?|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark|device-cmyk)\s*\(/gi;function ea(e,n){let s=0;for(let o=n;o<e.length;o++)if(e[o]==="(")s++;else if(e[o]===")"&&--s===0)return e.slice(n+1,o);return e.slice(n+1)}function oa(e){let n=e.indexOf(":"),s=n<0?e:e.slice(n+1),o=/#[0-9a-fA-F]{3,8}\b/.exec(s);if(o)return{kind:"hex",value:o[0]};for(let r of s.matchAll(zd)){let a=r.index+r[0].length-1;if(!/var\s*\(/i.test(ea(s,a)))return{kind:"function",value:`${r[0].replace(/\s*\($/,"")}(${ea(s,a)})`}}for(let r of s.matchAll(/(?<![\w-])([a-zA-Z]+)(?![\w-])(?!\s*\()/g))if(jd.has(r[1].toLowerCase()))return{kind:"name",value:r[1]}}var ia=e=>[...e.matchAll(/var\(\s*(--[A-Za-z0-9_-]+)/g)].map(n=>n[1]);var at={css:256*1024,bloque:16*1024,bloques:2e3,profundidad:4,clasesApply:32,profundidadApply:4,expansionBloque:16*1024,expansionTotal:256*1024,tokens:500,valor:512,clave:64,componentes:256,raices:16},Ed=new Set(["var","calc","min","max","clamp","round","mod","color-mix","rgb","hsl","oklch","linear-gradient","translate","scale","rotate","repeat","minmax","not"]),Rd=/^ts-[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,Ad={")":"(","]":"[","}":"{"};function la(e){let n=[],s=[],o=0,r=e.length;for(;o<r;){let a=e[o];if(a==="/"&&e[o+1]==="*"){let l=e.indexOf("*/",o+2);if(l<0)return null;n.push({k:"ws",v:" "}),o=l+2}else if(a===" "||a===" "||a===`
3012
+ `),A+=Ne("utility-states",An),A+=Ne("print",ps),s){let E=new Set([...xs(A.slice(M)),...r]);A=A.replace(a,()=>nr(a,E))}return A}var bt={t:"espaciado"},ue={t:"espaciado",neg:!0,auto:!0},Jn={t:"px"},Be={t:"color",ancho:!0,anchoSolo:!0,extra:["none","transparent","0"]},ge=e=>({regla:"fisico",sucesor:e}),Hr={m:{prop:"margin",valor:ue},mx:{prop:"margin-inline",valor:ue},my:{prop:"margin-top + margin-bottom",valor:ue},mt:{prop:"margin-top",valor:ue},mb:{prop:"margin-bottom",valor:ue},ms:{prop:"margin-inline-start",valor:ue},me:{prop:"margin-inline-end",valor:ue},ml:{prop:"margin-left",valor:ue,legado:ge("ms")},mr:{prop:"margin-right",valor:ue,legado:ge("me")},p:{prop:"padding",valor:bt},px:{prop:"padding-inline",valor:bt},py:{prop:"padding-top + padding-bottom",valor:bt},pt:{prop:"padding-top",valor:bt},pb:{prop:"padding-bottom",valor:bt},ps:{prop:"padding-inline-start",valor:bt},pe:{prop:"padding-inline-end",valor:bt},pl:{prop:"padding-left",valor:bt,legado:ge("ps")},pr:{prop:"padding-right",valor:bt,legado:ge("pe")},gap:{prop:"gap",valor:bt},"gap-x":{prop:"column-gap",valor:bt},"gap-y":{prop:"row-gap",valor:bt},inset:{prop:"inset",valor:Jn},"inset-x":{prop:"inset-inline",valor:bt},"inset-y":{prop:"top + bottom",valor:bt},top:{prop:"top",valor:bt},bottom:{prop:"bottom",valor:bt},start:{prop:"inset-inline-start",valor:bt},end:{prop:"inset-inline-end",valor:bt},left:{prop:"left",valor:bt,legado:ge("start")},right:{prop:"right",valor:bt,legado:ge("end")},w:{prop:"width",valor:{t:"px",extra:["full","auto","screen","fit"],patron:/^\d+\/\d+$/}},h:{prop:"height",valor:{t:"px",extra:["full","auto","screen","fit"]}},size:{prop:"width + height",valor:Jn},"min-w":{prop:"min-width",valor:{t:"px",extra:["full"]}},"min-h":{prop:"min-height",valor:{t:"px",extra:["full","screen"]}},"max-w":{prop:"max-width",valor:{t:"px",extra:["full"],patron:/^(modal|screen)-(sm|md|lg|xl|2xl)$/}},"max-h":{prop:"max-height",valor:{t:"px",extra:["full"]}},"translate-x":{prop:"transform: translateX",valor:Jn},"translate-y":{prop:"transform: translateY",valor:Jn},text:{prop:"font-size",valor:{t:"escala",de:"fontSizes"}},align:{prop:"text-align",valor:{t:"palabras",lista:["start","center","end"]}},wrap:{prop:"text-wrap",valor:{t:"palabras",lista:["balance","pretty","nowrap"]}},type:{prop:"font + line-height + letter-spacing (compuesto)",valor:{t:"palabras",lista:[],patron:/^(heading|copy|label|button)-\d+(-(mono|strong))?$/}},leading:{prop:"line-height",valor:{t:"escala",de:"lineHeights",extra:["none","tight"]}},tracking:{prop:"letter-spacing",valor:{t:"escala",de:"letterSpacing"}},weight:{prop:"font-weight",valor:{t:"escala",de:"fontWeights"}},font:{prop:"font-family",valor:{t:"palabras",lista:["sans","mono","display","inherit"]}},whitespace:{prop:"white-space",valor:{t:"palabras",lista:["normal","nowrap","pre","pre-line","pre-wrap"]}},break:{prop:"overflow-wrap / word-break",valor:{t:"palabras",lista:["words","all","normal"]}},"line-clamp":{prop:"line-clamp",valor:{t:"conteo",extra:["none"]}},valign:{prop:"vertical-align",valor:{t:"palabras",lista:["baseline","top","middle","bottom"]}},color:{prop:"color",valor:{t:"color",extra:[]}},bg:{prop:"background-color",valor:{t:"color",extra:["transparent","glow-brand","glow-accent","highlight","highlight-strong"]}},accent:{prop:"accent-color",valor:{t:"palabras",lista:["brand","accent","auto"]}},border:{prop:"border",valor:{t:"color",ancho:!0,anchoSolo:!0,extra:["none","transparent","separator"]}},"border-t":{prop:"border-top",valor:Be},"border-b":{prop:"border-bottom",valor:Be},"border-s":{prop:"border-inline-start",valor:Be},"border-e":{prop:"border-inline-end",valor:Be},"border-r":{prop:"border-right",valor:Be,legado:ge("border-e")},"border-l":{prop:"border-left",valor:Be,legado:ge("border-s")},outline:{prop:"outline",valor:{t:"color",ancho:!0,extra:["none","transparent"]}},"outline-offset":{prop:"outline-offset",valor:Jn},"outline-focus":{prop:"outline",valor:Be,legado:{regla:"alias",sucesor:"outline"}},ring:{prop:"box-shadow",valor:{t:"color",anchoSolo:!0}},"ring-shadow":{prop:"box-shadow",valor:{t:"ring-shadow"}},"focus-ring":{prop:"color del foco",valor:{t:"familia",extra:["primary"]}},divide:{prop:"border-width (hijos)",valor:{t:"palabras",lista:["x","y"]}},radius:{prop:"border-radius",valor:{t:"escala",de:"radius"}},...Object.fromEntries(["ss","se","es","ee","s","e"].map(e=>[`radius-${e}`,{prop:"border-radius (esquina l\xF3gica)",valor:{t:"palabras",lista:["inherit"]}}])),...Object.fromEntries(Object.entries({tl:"ss",tr:"se",bl:"es",br:"ee",l:"s",r:"e"}).map(([e,n])=>[`radius-${e}`,{prop:"border-radius (esquina f\xEDsica)",valor:{t:"palabras",lista:["inherit"]},legado:ge(`radius-${n}`)}])),shadow:{prop:"box-shadow",valor:{t:"escala",de:"shadows",extra:["none"]}},blur:{prop:"filter: blur",valor:{t:"escala",de:"blurs"}},"backdrop-blur":{prop:"backdrop-filter: blur",valor:{t:"escala",de:"blurs"}},opacity:{prop:"opacity",valor:{t:"escala",de:"opacities"}},z:{prop:"z-index",valor:{t:"conteo",extra:["auto"]}},material:{prop:"material (compuesto)",valor:{t:"palabras",lista:["base","small","medium","large","tooltip","menu","modal","fullscreen"]}},surface:{prop:"material de superficie",valor:{t:"escala",de:"radius"}},floating:{prop:"material flotante",valor:{t:"escala",de:"radius"}},flex:{prop:"flex",valor:{t:"palabras",lista:["row","col","row-reverse","col-reverse","wrap","nowrap","grow","shrink","none"],patron:/^((grow|shrink)-)?\d+$/}},items:{prop:"align-items",valor:{t:"palabras",lista:["start","center","end","baseline","stretch"]}},justify:{prop:"justify-content",valor:{t:"palabras",lista:["start","center","end","between","around","evenly","stretch"]}},"justify-self":{prop:"justify-self",valor:{t:"palabras",lista:["auto","start","center","end","stretch"]}},self:{prop:"align-self",valor:{t:"palabras",lista:["auto","start","center","end","baseline","stretch"]}},"place-content":{prop:"place-content",valor:{t:"palabras",lista:["start","center","end","between","around","evenly","stretch"]}},"place-items":{prop:"place-items",valor:{t:"palabras",lista:["start","center","end","stretch"]}},"place-self":{prop:"place-self",valor:{t:"palabras",lista:["auto","start","center","end","stretch"]}},order:{prop:"order",valor:{t:"conteo",extra:["first","last","none"]}},"grid-cols":{prop:"grid-template-columns",valor:{t:"conteo"}},"grid-rows":{prop:"grid-template-rows",valor:{t:"conteo"}},"grid-flow":{prop:"grid-auto-flow",valor:{t:"palabras",lista:["row","col","dense"]}},"grid-min":{prop:"--ts-grid-min",valor:{t:"escala",de:"gridMins"}},"col-span":{prop:"grid-column",valor:{t:"conteo",extra:["full"]}},"row-span":{prop:"grid-row",valor:{t:"conteo",extra:["full"]}},columns:{prop:"columns",valor:{t:"conteo"}},aspect:{prop:"aspect-ratio",valor:{t:"palabras",lista:["square","video","auto"]}},overflow:{prop:"overflow",valor:{t:"palabras",lista:["auto","hidden","scroll","visible"]}},"overflow-x":{prop:"overflow-x",valor:{t:"palabras",lista:["auto","hidden"]}},"overflow-y":{prop:"overflow-y",valor:{t:"palabras",lista:["auto","hidden"]}},object:{prop:"object-fit",valor:{t:"palabras",lista:["cover","contain"]}},cursor:{prop:"cursor",valor:{t:"palabras",lista:["pointer","not-allowed","default","wait","grab","grabbing","col-resize","row-resize","ew-resize","ns-resize","nwse-resize","nesw-resize","cell"]}},select:{prop:"user-select",valor:{t:"palabras",lista:["none","text","all","auto"]}},"pointer-events":{prop:"pointer-events",valor:{t:"palabras",lista:["none","auto"]}},snap:{prop:"scroll-snap-*",valor:{t:"palabras",lista:["x","y","both","none","start","center","end","align-none"]}},appearance:{prop:"appearance",valor:{t:"palabras",lista:["none"]}},scheme:{prop:"color-scheme + color",valor:{t:"palabras",lista:["dark","light"]}},isolation:{prop:"isolation",valor:{t:"palabras",lista:["auto"]}},list:{prop:"list-style",valor:{t:"palabras",lista:["none","disc"]}},box:{prop:"box-sizing",valor:{t:"palabras",lista:["border"]}},"will-change":{prop:"will-change",valor:{t:"palabras",lista:["auto","transform","scroll"]}},duration:{prop:"transition-duration",valor:{t:"escala",de:"durations"}},ease:{prop:"transition-timing-function",valor:{t:"escala",de:"easings"}},transition:{prop:"transition",valor:{t:"palabras",lista:["all","colors","input","none","opacity","option","shadow","transform","width"]}},animate:{prop:"animation",valor:{t:"palabras",lista:["spin"]}},scale:{prop:"transform: scale",valor:{t:"conteo",extra:["var"]}},origin:{prop:"transform-origin",valor:{t:"palabras",lista:["top-left"]}},rotate:{prop:"transform: rotate",valor:{t:"conteo"}}},vd=[{patron:/^(left|center|right)$/,sucesor:e=>`align-${{left:"start",center:"center",right:"end"}[e]}`},{patron:/^(balance|pretty|nowrap)$/,sucesor:e=>`wrap-${e}`},{patron:/^(heading|copy|label|button)-/,sucesor:e=>`type-${e}`}],xd={block:"display",flex:"display",grid:"display",hidden:"display",contents:"display",inline:"display","inline-block":"display","inline-flex":"display","inline-grid":"display",absolute:"position",fixed:"position",relative:"position",sticky:"position",visible:"visibility",invisible:"visibility",underline:"text-decoration","no-underline":"text-decoration","line-through":"text-decoration",uppercase:"text-transform",lowercase:"text-transform",capitalize:"text-transform","normal-case":"text-transform",italic:"font-style","not-italic":"font-style",truncate:"overflow + text-overflow",antialiased:"font-smoothing",isolate:"isolation","tabular-nums":"font-variant-numeric","sr-only":"visualmente oculto","not-sr-only":"deshace sr-only","grid-auto":"grid-template-columns (auto-fit)","grid-auto-fill":"grid-template-columns (auto-fill)","tap-highlight-none":"-webkit-tap-highlight-color"},wd=["disabled","disabled-flat","focus-ring","focus-ring-thumb","focus-ring-inset","field-box","field-box-trigger","option-row","popover-reset","required-indicator","cq","cq-normal","color-heading","color-copy","color-subtle","color-label","color-success","color-warning","color-info","color-danger","color-btn"];var Zn=["icon","button","badge","calendar","card","checkbox","combobox","command","datepicker","drawer","empty","input","menu","modal","nav","note","number","pager","pagination","radio","segmented","select","sidebar","slider","table","tabs","textarea","toc","toggle","tooltip","popover","toaster","toast","spinner","avatar","accordion","progress","skeleton","kbd","tag","banner","link","collapsible","context","breadcrumbs","separator","code","inline-code","loading-dots","file-upload","scroll-area","aspect-ratio","grid-container","required-proxy"];function Ts(e={}){let n=s=>Object.keys(s);return{radius:[...n(oe),"full"],blurs:n(ve),shadows:n(We),screens:n(ce),gridMins:e.gridMins??[],fontSizes:n(cn),lineHeights:n(pn),letterSpacing:n(Fe),fontWeights:n(dn),durations:n(ie),easings:n(re),opacities:n(le),zIndex:n(ln),borderWidths:n(_n),ritmo:[...new Set([...e.gaps??n(ye),...e.spaces??n(ho)])],sizing:n(Ve)}}function $d(e){let n;for(let s of Object.keys(Hr))(e===s||e.startsWith(s+"-"))&&(!n||s.length>n.length)&&(n=s);return n}function Jo(e,n,s=[]){if(s.includes(e)||/^primary-solid(?:-hover|-active)?(?:-contrast)?$/.test(e))return!0;let o=e.match(/^(.+)-(\d+)(-contrast)?$/)??e.match(/^(.+)-solid(?:-hover|-active)?(?:-contrast)?$/);return!!o&&n.includes(o[1])}function kd(e,n,s,o){switch(e.t){case"espaciado":return s.ritmo.includes(n)||s.sizing.includes(n)||!!e.auto&&n==="auto";case"escala":return s[e.de].includes(n)||(e.extra?.includes(n)??!1)||e.de==="radius"&&n==="none";case"px":return s.sizing.includes(n)||(e.extra?.includes(n)??!1)||(e.patron?.test(n)??!1);case"conteo":return/^\d+$/.test(n)||(e.extra?.includes(n)??!1)||(e.patron?.test(n)??!1);case"palabras":return e.lista.includes(n)||(e.patron?.test(n)??!1);case"familia":return o.includes(n)||(e.extra?.includes(n)??!1);case"color":{if(Jo(n,o,e.extra)||e.anchoSolo&&s.borderWidths.includes(n))return!0;if(!e.ancho)return!1;let r=n.match(/^(\d+)-(.+)$/);return!!r&&s.borderWidths.includes(r[1])&&Jo(r[2],o,["transparent"])}case"ring-shadow":{let r=n.match(/^([a-z0-9]+)-(.+)$/);return!!r&&s.shadows.includes(r[1])&&Jo(r[2],o)}}}function Gr(e,n,s){let o=[];/^ts-[A-Za-z0-9/-]+$/.test(e)||o.push({regla:"ascii",detalle:"caracteres fuera de [A-Za-z0-9/-]"});let r=e.replace(/^ts-/,"");if(/-negative$/.test(r)&&o.push({regla:"negative",detalle:"sufijo -negative; va neg- como prefijo del valor"}),/-important$/.test(r)&&o.push({regla:"important",detalle:"sufijo -important; no va en un nombre p\xFAblico"}),r in xd||wd.includes(r))return o;let a=$d(r);if(!a)return o.push({regla:"prefijo",detalle:"prefijo fuera de la lista cerrada"}),o;let l=Hr[a];l.legado&&o.push({regla:l.legado.regla,detalle:`${a} \u2192 ${l.legado.sucesor}`});let i=r.slice(a.length+1);if(a==="text"){let d=vd.find(u=>u.patron.test(i));if(d)return o.push({regla:"texto",detalle:`text-${i} \u2192 ${d.sucesor(i)}`}),o}return i=i.replace(/-(negative|important)$/,""),i.startsWith("neg-")&&(l.valor.t==="espaciado"&&l.valor.neg?(i=i.slice(4),["auto","none","0"].includes(i)&&o.push({regla:"valor",detalle:`neg-${i} no tiene sentido; se escribe ${i}`})):o.push({regla:"valor",detalle:`neg- no corresponde a ${a}`})),i===""?o.push({regla:"valor",detalle:`${a} sin valor`}):kd(l.valor,i,n,s)||o.length||o.push({regla:"valor",detalle:`${i} no es un valor v\xE1lido (${l.valor.t}) para ${a}`}),o}var Br={prefijos:["is","has","variant","size","side","shape","orientation","resize","placement","density","collapsible","padding","align","position","status","fill","contrast","tone","hide","direction","level","aspect","icon"],palabras:["auto-resize","responsive-sheet","vertical"]},yn=["dark"],Ut=e=>Br.palabras.includes(e)||Br.prefijos.some(n=>e.startsWith(n+"-"));function Sd(e){let n=[[]],s=0,o="",r=()=>{o.trim()&&n[n.length-1].push(o.trim()),o=""};for(let a of e)(a==="("||a==="[")&&s++,(a===")"||a==="]")&&s--,s===0&&a===","?(r(),n.push([])):s===0&&/[\s>+~]/.test(a)?r():o+=a;return r(),n}function Cd(e){for(let n=e.indexOf(":not(");n!==-1;n=e.indexOf(":not(")){let s=0,o=n+4;for(;o<e.length&&(e[o]==="("&&s++,!(e[o]===")"&&--s===0));o++);e=e.slice(0,n)+e.slice(o+1)}return e}function Jr(e,n=Zn){let s=e.replace(/\/\*[\s\S]*?\*\//g,l=>l.replace(/[^\n]/g," ")),o=n.map(l=>l.replace(/-/g,"\\-")).join("|"),r=new RegExp(`&|\\.ts-|\\[data-(?:${o})(?:[-\\]=~|^$*])`),a=[];for(let l of s.matchAll(/(^|[;{}])\s*([^;{}@]+?)\s*\{/g)){let i=l[2].trim(),c=l.index+l[0].indexOf(l[2]),d=s.slice(0,c).split(`
3013
+ `).length,u=[...s.slice(0,c).matchAll(/^@utility (\S+)/gm)].pop()?.[1]??"(fuera de un @utility)";for(let y of Sd(i))for(let t of y){for(let g of t.matchAll(/\.([A-Za-z_][A-Za-z0-9_-]*)/g)){let b=g[1];b.startsWith("ts-")||yn.includes(b)||Ut(b)||a.push({selector:i.replace(/\s+/g," "),utility:u,linea:d,motivo:"desconocido"})}let m=Cd(t);[...m.matchAll(/\.([A-Za-z_][A-Za-z0-9_-]*)/g)].map(g=>g[1]).filter(Ut).length&&!r.test(m)&&a.push({selector:i.replace(/\s+/g," "),utility:u,linea:d,motivo:"suelto"})}}return a}function Zo(e,n,s,o){let r=new Set([n,s].flatMap(i=>pt(i).flatMap(c=>{let d=c.name.replaceAll("\\","");return[d.slice(3),(o.get(d)??d).slice(3)]}))),a=new Set;for(let i of Object.values(e.componentes))for(let c of i.bloques)for(let d of[c,(o.get(`ts-${c}`)??`ts-${c}`).slice(3)])a.add(d);return{atomicas:r,componentes:a,esComponente:i=>!r.has(i)&&(a.has(i)||Ut(i))}}var Ko=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,Zr=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,js="ts-",Kr=/^\d+(\.\d+)?px$/,Kn={regex:/^[1-9]\d{0,2}$/,rango:"1 a 999"},Td={regex:/^(?:0|[1-9]\d?|100)$/,rango:"0 a 100"},jd=/^(?:[2-9]?xs|[2-9]xl)$/,_=(e,n)=>new zt([{path:e,...n}]);function vn(e,n,s){try{n()}catch(o){if(!(o instanceof zt))throw o;e.push(...o.errors),s?.()}}function Xn(e){if(e.length)throw new zt(e)}function He(e,n){if(typeof n!="string")throw _(e,{code:"value-not-string",params:{value:n}});if(n.trim()==="")throw _(e,{code:"empty-value",params:{}});if(/[;{}\\\r\n]|\/\*|\*\//.test(n))throw _(e,{code:"unsafe-value",params:{value:n}})}var Xr=e=>{let n=new Map;for(let s of e)n.set(s,(n.get(s)??0)+1);return n};function zd(e,n){let s=Array.from({length:n.length+1},(o,r)=>r);for(let o=1;o<=e.length;o++){let r=[o];for(let a=1;a<=n.length;a++)r[a]=Math.min(s[a]+1,r[a-1]+1,s[a-1]+(e[o-1]===n[a-1]?0:1));s=r}return s[n.length]}function gt(e,n){let s=3,o;for(let r of n){if(Math.abs(r.length-e.length)>2)continue;let a=zd(e,r);a<s?(s=a,o=r):a===s&&(o=void 0)}return o}var Yr=["colors","primary","states","fonts","radius","borderWidths","blurs","zIndex","opacities","screens","components","cornerShape","focusRing","contrastThreshold","spotlight","spacing","shadows","motion","semantic","neutral","material","locked","fontSizes","lineHeights","letterSpacing","fontWeights","density"],Ed={sizing:"extend.sizing"},Qr=["screens","radius","fontSizes","lineHeights","letterSpacing","fontWeights","borderWidths","blurs","opacities","shadows"],ta={spacing:["gaps","spaces"],motion:["durations","easings"]},ea=["zIndex","motion.loops","motion.iterations"],na=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function Rd(e,n){let s={};if(e===void 0)return s;if(!na(e))return n(()=>{throw _("extend",{code:"extend-shape-invalid",params:{expected:"object",value:e}})}),s;let o=(a,l,i)=>{let c=i==="list"?Array.isArray(l):na(l);return c||n(()=>{throw _(a,{code:"extend-shape-invalid",params:{expected:i,value:l}})}),c},r=["sizing",...Qr,...Object.keys(ta)];for(let[a,l]of Object.entries(e)){if(a==="sizing"){o("extend.sizing",l,"list")&&(s.sizing=l);continue}if(Qr.includes(a)){o(`extend.${a}`,l,"object")&&(s[a]=l);continue}let i=ta[a];if(i){if(!o(`extend.${a}`,l,"object"))continue;let c={};for(let[d,u]of Object.entries(l)){let y=`extend.${a}.${d}`;if(i.includes(d)){o(y,u,"object")&&(c[d]=u);continue}n(()=>{if(ea.includes(`${a}.${d}`))throw _(y,{code:"extend-key-excluded",params:{key:`${a}.${d}`}});let t=gt(d,i);throw _(y,{code:"extend-key-unknown",params:{key:d,...t&&{suggestion:t}}})})}s[a]=c;continue}n(()=>{if(ea.includes(a))throw _(`extend.${a}`,{code:"extend-key-excluded",params:{key:a}});let c=gt(a,r);throw _(`extend.${a}`,{code:"extend-key-unknown",params:{key:a,...c&&{suggestion:c}}})})}return s}var sa={integer:e=>/^-?\d+$/.test(e),"font-weight":e=>/^\d+$/.test(e)&&Number(e)>=1&&Number(e)<=1e3,opacity:e=>/^var\(.+\)$/.test(e)||/^(\d+\.?\d*|\.\d+)$/.test(e)&&Number(e)>=0&&Number(e)<=1,duration:e=>/^(\d+\.?\d*|\.\d+)(ms|s)$/.test(e),iterations:e=>e==="infinite"||/^(\d+\.?\d*|\.\d+)$/.test(e)};function Dd(e,n,s,o){let r=`themes.${e}`;for(let l of Object.keys(n))o(()=>{if(Yr.includes(l))return;let i=Ed[l],c=i?void 0:gt(l,Yr);throw _(`${r}.${l}`,{code:"theme-key-unknown",params:{key:l,...i&&{extendPath:i},...c&&{suggestion:c}}})});n.cornerShape!==void 0&&n.cornerShape!=="round"&&n.cornerShape!=="squircle"&&o(()=>{throw _(`${r}.cornerShape`,{code:"corner-shape-invalid",params:{value:n.cornerShape}})});for(let[l,i]of[["spacing",["gaps","spaces"]],["motion",["durations","loops","iterations","easings"]],["density",["comfortable","compact"]]])for(let c of Object.keys(n[l]??{}))o(()=>{if(i.includes(c))return;let d=gt(c,i);throw _(`${r}.${l}.${c}`,{code:"theme-key-unknown",params:{key:c,...d&&{suggestion:d}}})});for(let{ruta:l,de:i,nombres:c,extendRuta:d,tipo:u}of s)for(let[y,t]of Object.entries(i(n)??{}))o(()=>{let m=`${r}.${l}.${y}`;if(!c.includes(y))throw _(m,{code:"theme-name-unknown",params:{scale:l,name:y,...d&&{extendPath:d}}});if(He(m,t),u&&!sa[u](t.trim()))throw _(m,{code:"value-type-invalid",params:{kind:u,value:t}})});for(let l of["comfortable","compact"]){let i=n.density?.[l]??{};for(let[c,d]of Object.entries(i)){let u=`${r}.density.${l}.${c}`;if(l==="compact"&&c==="spacing"){for(let[y,t]of Object.entries(d??{})){if(y!=="gaps"&&y!=="spaces"){let m=gt(y,["gaps","spaces"]);o(()=>{throw _(`${u}.${y}`,{code:"theme-key-unknown",params:{key:y,...m&&{suggestion:m}}})});continue}for(let[m,h]of Object.entries(t??{}))o(()=>{let g=`${u}.${y}.${m}`;if(!Object.hasOwn(an,m))throw _(g,{code:"theme-name-unknown",params:{scale:`density.compact.spacing.${y}`,name:m}});He(g,h)})}continue}if(!Object.hasOwn(ae,c)){o(()=>{throw _(u,{code:"theme-name-unknown",params:{scale:`density.${l}`,name:c}})});continue}for(let[y,t]of Object.entries(d??{}))o(()=>{let m=`${u}.${y}`;if(!Object.hasOwn(ae[c][l],y))throw _(m,{code:"theme-name-unknown",params:{scale:`density.${l}.${c}`,name:y}});if(typeof t!="number"||!Number.isFinite(t)||t<0)throw _(m,{code:"value-type-invalid",params:{kind:"px",value:t}})})}}let a=[...Object.entries(n.fonts??{}).map(([l,i])=>[`fonts.${l}`,i]),...Object.entries(n.semantic??{}).map(([l,i])=>[`semantic.${l}`,i]),["focusRing",n.focusRing],["contrastThreshold",n.contrastThreshold],["spotlight.light",n.spotlight?.light],["spotlight.dark",n.spotlight?.dark],...["light","dark"].flatMap(l=>["bg","border","shadowRgb"].map(i=>[`material.${l}.${i}`,n.material?.[l]?.[i]]))];for(let[l,i]of a)i!==void 0&&o(()=>He(`${r}.${l}`,i))}function oa(e,n,s,o,r,a={components:"",utilities:""}){let l=[],i=($,z)=>vn(l,$,z);i(()=>{if(e.scope!==void 0&&e.scope!=="ts")throw _("scope",{code:"scope-invalid",params:{value:e.scope}});if(e.darkMode!==void 0&&e.darkMode!=="class"&&e.darkMode!=="media")throw _("darkMode",{code:"dark-mode-invalid",params:{value:e.darkMode}})}),i(()=>{if(e.out!==void 0&&(typeof e.out!="string"||e.out.trim()===""))throw _("out",{code:"out-invalid",params:{value:e.out}})}),i(()=>{if(e.iconsHtmlDirs!==void 0)throw _("iconsHtmlDirs",{code:"icons-html-dirs-removed",params:{}})}),(e.fontFaces??[]).forEach(($,z)=>{i(()=>{if(!($.styles===void 0||Array.isArray($.styles)&&$.styles.length>0&&$.styles.every(C=>C==="normal"||C==="italic")))throw _(`fontFaces[${z}].styles`,{code:"font-styles-invalid",params:{value:$.styles}})})});for(let[$,z]of Object.entries(e.themes))i(()=>{let x=z.colors?.brand;if(typeof x!="string"||x.trim()==="")throw _(`themes.${$}.colors.brand`,{code:"brand-required",params:{}})}),i(()=>{if(Object.hasOwn(z.colors??{},"primary"))throw _(`themes.${$}.colors.primary`,{code:"primary-in-colors",params:{}})}),i(()=>{let x=In(z);if(x!==void 0&&(typeof x!="string"||x.trim()===""))throw _(`themes.${$}.primary`,{code:"primary-invalid",params:{}})});let c=Rd(e.extend,i),d=e.utilities??{},u={sizing:{...K.sizing,...Object.fromEntries((Array.isArray(c.sizing)?c.sizing:[]).filter($=>typeof $=="number").map($=>[String($),$]))},screens:{...K.screens,...c.screens??{}},radius:{...K.radius,...c.radius??{}},gaps:{...K.gaps,...c.spacing?.gaps??{}},spaces:{...K.spaces,...c.spacing?.spaces??{}},fontSizes:{...K.fontSizes,...c.fontSizes??{}},lineHeights:{...K.lineHeights,...c.lineHeights??{}},letterSpacing:{...K.letterSpacing,...c.letterSpacing??{}},fontWeights:{...K.fontWeights,...c.fontWeights??{}},borderWidths:{...K.borderWidths,...c.borderWidths??{}},blurs:{...K.blurs,...c.blurs??{}},opacities:{...K.opacities,...c.opacities??{}},shadows:{...K.shadows,...c.shadows??{}},durations:{...K.durations,...c.motion?.durations??{}},easings:{...K.easings,...c.motion?.easings??{}}},y,t=()=>{if(!y){let $=Kt(n,s),z=pt(Ft($,o)).map(R=>R.name),x=pt(Lt()).map(R=>R.name),C=[...pt(Lt()+a.utilities),...pt(Xt(n,s)+a.components)].map(R=>R.name);y={atomic:z,utilidades:x,resto:C,nombres:new Set([...z,...C,...Tt([...z,...C]).values()]),vocabulary:$}}return y},m,h=()=>{if(!m){let{vocabulary:$}=t(),z=pt(Ft($,o,u)).map(C=>C.name),x=[...pt(Lt(u)+a.utilities),...pt(Xt(n,s,u)+a.components)].map(C=>C.name);m=new Set([...z,...x,...Tt([...z,...x]).values()])}return m},g=new Map(Object.entries(K.screens).map(([$,z])=>[parseFloat(z),$]));for(let[$,z]of Object.entries(c.screens??{}))i(()=>{let x=`extend.screens.${$}`;if(Object.hasOwn(K.screens,$))throw _(x,{code:"screen-exists",params:{name:$}});if(!jd.test($))throw _(x,{code:"screen-name-invalid",params:{}});if(typeof z!="string"||!Kr.test(z))throw _(x,{code:"screen-value-invalid",params:{value:`${z}`}});let C=parseFloat(z),R=g.get(C);if(R!==void 0)throw _(x,{code:"screen-repeated",params:{value:z,other:R}});g.set(C,$);let j=Object.values(K.screens).map(parseFloat),[,F,et]=/^(\d)?(xs|xl)$/.exec($),nt=Number(F??1);if(et==="xs"&&C>=Math.min(...j))throw _(x,{code:"screen-below-min",params:{name:$,px:Math.min(...j)}});if(et==="xl"&&C<=Math.max(...j))throw _(x,{code:"screen-above-max",params:{name:$,px:Math.max(...j)}});for(let[lt,X]of Object.entries(c.screens??{})){if(lt===$)break;let ot=/^(\d)?(xs|xl)$/.exec(lt);if(!ot||ot[2]!==et||!Kr.test(X))continue;let dt=Number(ot[1]??1),rt=parseFloat(X),xt=et==="xl"?nt>dt:nt<dt;if(xt?C<=rt:C>=rt)throw _(x,{code:"screen-order",params:{name:$,value:z,greater:xt,other:lt,otherValue:X}})}},()=>{delete u.screens[$]});let b=[{ruta:"extend.radius",clave:"radius",temaRuta:"radius",propios:c.radius},{ruta:"extend.spacing.gaps",clave:"gaps",temaRuta:"spacing.gaps",propios:c.spacing?.gaps},{ruta:"extend.spacing.spaces",clave:"spaces",temaRuta:"spacing.spaces",propios:c.spacing?.spaces},{ruta:"extend.fontSizes",clave:"fontSizes",temaRuta:"fontSizes",propios:c.fontSizes,numerico:Kn},{ruta:"extend.lineHeights",clave:"lineHeights",temaRuta:"lineHeights",propios:c.lineHeights,numerico:Kn},{ruta:"extend.letterSpacing",clave:"letterSpacing",temaRuta:"letterSpacing",propios:c.letterSpacing},{ruta:"extend.fontWeights",clave:"fontWeights",temaRuta:"fontWeights",propios:c.fontWeights,tipo:"font-weight"},{ruta:"extend.borderWidths",clave:"borderWidths",temaRuta:"borderWidths",propios:c.borderWidths,numerico:Kn},{ruta:"extend.blurs",clave:"blurs",temaRuta:"blurs",propios:c.blurs},{ruta:"extend.opacities",clave:"opacities",temaRuta:"opacities",propios:c.opacities,numerico:Td,tipo:"opacity"},{ruta:"extend.shadows",clave:"shadows",temaRuta:"shadows",propios:c.shadows},{ruta:"extend.motion.durations",clave:"durations",temaRuta:"motion.durations",propios:c.motion?.durations,tipo:"duration"},{ruta:"extend.motion.easings",clave:"easings",temaRuta:"motion.easings",propios:c.motion?.easings}],p=new Map,v=($,z)=>{let{atomic:x,utilidades:C,nombres:R,vocabulary:j}=t(),F=Xr([...x,...C]),et=Xr([...pt(Ft(j,o,z)),...pt(Lt(z))].map(nt=>nt.name));for(let[nt,lt]of et){if(lt<=(F.get(nt)??0))continue;if(R.has(nt))throw _($,{code:"class-exists",params:{class:nt}});let X=p.get(nt);if(X!==void 0)throw _($,{code:"class-duplicated",params:{class:nt,other:X}});p.set(nt,$);let ot=ut(nt)?.nuevo;if(ot&&R.has(ot))throw _($,{code:"class-renamed-exists",params:{class:nt,renamed:ot}})}};for(let{ruta:$,clave:z,temaRuta:x,propios:C,numerico:R,tipo:j}of b)for(let[F,et]of Object.entries(C??{}))i(()=>{let nt=`${$}.${F}`;if(Object.hasOwn(K[z],F))throw _(nt,{code:"scale-exists",params:{name:F,themePath:x}});if(R){if(!R.regex.test(F))throw _(nt,{code:"scale-name-numeric",params:{range:R.rango}})}else if(!Ko.test(F))throw _(nt,{code:"scale-name-invalid",params:{}});if(z==="spaces"&&F.startsWith("neg-"))throw _(nt,{code:"space-neg-prefix",params:{}});if(z==="spaces"&&F.endsWith("-negative"))throw _(nt,{code:"space-negative-suffix",params:{}});if(He(nt,et),j&&!sa[j](et.trim()))throw _(nt,{code:"value-type-invalid",params:{kind:j,value:et}});if(z==="fontSizes"&&!Object.hasOwn(K.lineHeights,F)&&!Object.hasOwn(c.lineHeights??{},F))throw _(nt,{code:"font-size-needs-line-height",params:{name:F}});v(nt,{...K,[z]:{...K[z],[F]:et}})},()=>{delete u[z][F]});let f=new Set;(Array.isArray(c.sizing)?c.sizing:[]).forEach(($,z)=>{i(()=>{let x=`extend.sizing[${z}]`;if(typeof $!="number"||!Number.isInteger($))throw _(x,{code:"value-type-invalid",params:{kind:"integer",value:$}});if(!Kn.regex.test(String($)))throw _(x,{code:"scale-name-numeric",params:{range:Kn.rango}});if(Object.hasOwn(K.sizing,String($)))throw _(x,{code:"sizing-exists",params:{level:$,repeated:!1}});if(f.has($))throw _(x,{code:"sizing-exists",params:{level:$,repeated:!0}});f.add($),v(x,{...K,sizing:{...K.sizing,[String($)]:$}})},()=>{Object.hasOwn(K.sizing,String($))||delete u.sizing[String($)]})});let w=($,z)=>[...Object.keys($),...Object.keys(z??{})],k=[{ruta:"radius",de:$=>$.radius,nombres:w(K.radius,c.radius),extendRuta:"extend.radius"},{ruta:"spacing.gaps",de:$=>$.spacing?.gaps,nombres:w(K.gaps,c.spacing?.gaps),extendRuta:"extend.spacing.gaps"},{ruta:"spacing.spaces",de:$=>$.spacing?.spaces,nombres:w(K.spaces,c.spacing?.spaces),extendRuta:"extend.spacing.spaces"},{ruta:"screens",de:$=>$.screens,nombres:w(K.screens,c.screens),extendRuta:"extend.screens"},{ruta:"fontSizes",de:$=>$.fontSizes,nombres:w(K.fontSizes,c.fontSizes),extendRuta:"extend.fontSizes"},{ruta:"lineHeights",de:$=>$.lineHeights,nombres:w(K.lineHeights,c.lineHeights),extendRuta:"extend.lineHeights"},{ruta:"letterSpacing",de:$=>$.letterSpacing,nombres:w(K.letterSpacing,c.letterSpacing),extendRuta:"extend.letterSpacing"},{ruta:"fontWeights",de:$=>$.fontWeights,nombres:w(K.fontWeights,c.fontWeights),extendRuta:"extend.fontWeights",tipo:"font-weight"},{ruta:"borderWidths",de:$=>$.borderWidths,nombres:w(_n,c.borderWidths),extendRuta:"extend.borderWidths"},{ruta:"blurs",de:$=>$.blurs,nombres:w(ve,c.blurs),extendRuta:"extend.blurs"},{ruta:"zIndex",de:$=>$.zIndex,nombres:w(ln),tipo:"integer"},{ruta:"opacities",de:$=>$.opacities,nombres:w(le,c.opacities),extendRuta:"extend.opacities",tipo:"opacity"},{ruta:"shadows",de:$=>$.shadows,nombres:w(We,c.shadows),extendRuta:"extend.shadows"},{ruta:"motion.durations",de:$=>$.motion?.durations,nombres:w(ie,c.motion?.durations),extendRuta:"extend.motion.durations",tipo:"duration"},{ruta:"motion.loops",de:$=>$.motion?.loops,nombres:w(Pn)},{ruta:"motion.iterations",de:$=>$.motion?.iterations,nombres:w(Nn),tipo:"iterations"},{ruta:"motion.easings",de:$=>$.motion?.easings,nombres:w(re,c.motion?.easings),extendRuta:"extend.motion.easings"}];for(let[$,z]of Object.entries(e.themes))Dd($,z,k,i);let P=Object.keys(d),D=$=>$.includes("."),W=P.filter($=>!D($)),G=new Set,J,A=()=>J??=new Set([...h()].filter($=>!ut($.replaceAll("\\",""))).map($=>$.slice(3))),M=Vt(u.screens),V,N=()=>V??=(()=>{let $=Ft(t().vocabulary,o,u),z=Lt(u)+a.utilities,x=Xt(n,s,u)+a.components,C=[$,z,x].flatMap(R=>pt(R).map(j=>j.name));return Zo(r,$,z,Tt(C))})(),T=($,z)=>{if(!Array.isArray(z)||z.length===0)throw _($,{code:"utility-empty",params:{}});for(let x of z){if(typeof x!="string")throw _($,{code:"utility-not-a-class",params:{value:x}});let{cadena:C,base:R}=Wn(x);if(D(R))throw _($,{code:"utility-composes-modifier",params:{class:x,utility:R.split(".")[0],modifiers:R.split(".").slice(1)}});if(C.length){let j=jt(C,M);if(!j.ok){if(j.motivo==="desconocido"){let F=gt(j.prefijo,M.keys());throw _($,{code:"utility-unknown-prefix",params:{class:x,prefix:j.prefijo,...F&&{suggestion:F}}})}throw j.motivo==="data-ts"?_($,{code:"utility-data-ts-variant",params:{class:x}}):j.canonica?_($,{code:"utility-out-of-order",params:{class:x,suggestion:j.canonica.join("")+R}}):_($,{code:"utility-invalid-chain",params:{class:x}})}if(N().esComponente(R)&&!W.includes(R))throw _($,{code:"utility-variant-on-component",params:{class:x,base:R}})}if(!A().has(R)&&!W.includes(R)){let j=R.startsWith("ts-")?R.slice(3):ut(`ts-${R}`)?.nuevo?.slice(3),F=j!==void 0&&A().has(j)?j:gt(R,[...A(),...W]);throw _($,{code:"utility-unknown-class",params:{class:x,...F&&{suggestion:F}}})}}},U=($,z)=>{if(!Zr.test(z))throw _($,{code:"modifier-invalid",params:{modifier:z}});if(z.startsWith(js))throw _($,{code:"modifier-reserved-prefix",params:{modifier:z,prefix:js}});if(z==="ts"||yn.includes(z))throw _($,{code:"modifier-theme-class",params:{modifier:z}});if(A().has(z))throw _($,{code:"modifier-short-name",params:{modifier:z}});if(W.includes(z))throw _($,{code:"modifier-is-utility",params:{modifier:z}})},S=new Map;for(let $ of P)i(()=>{let z=`utilities.${$}`;if(D($)){let[x,...C]=$.split(".");if(!W.includes(x))throw _(z,{code:"component-missing",params:{component:x}});for(let F of C)U(z,F);if(new Set(C).size!==C.length)throw _(z,{code:"modifier-repeated",params:{}});let R=`${x}.${[...C].sort().join(".")}`,j=S.get(R);if(j!==void 0)throw _(z,{code:"combination-repeated",params:{other:j}});S.set(R,$),T(z,d[$]);return}if(!Zr.test($))throw _(z,{code:"utility-name-invalid",params:{}});if($.startsWith(js))throw _(z,{code:"utility-reserved-prefix",params:{prefix:js}});if(Ut($)||yn.includes($))throw _(z,{code:"utility-name-is-modifier",params:{}});if(t().nombres.has($))throw _(z,{code:"utility-conflicts-ds",params:{}});if($==="ts")throw _(z,{code:"utility-name-ts",params:{}});if(A().has($))throw _(z,{code:"utility-short-name",params:{}});T(z,d[$])},()=>{G.add($)});let q=new Set,O=new Set,B=($,z)=>{if(z.includes($)){let x=[...z,$].slice(z.indexOf($));i(()=>{throw _(`utilities.${z[0]}`,{code:"utility-cycle",params:{cycle:x}})});for(let C of x)q.add(C),O.add(C);return}if(!(q.has($)||G.has($))){for(let x of d[$])Object.hasOwn(d,x)&&!D(x)&&B(x,[...z,$]);q.add($)}};for(let $ of W)B($,[]);let Z=$=>!G.has($)&&!O.has($);for(let $ of P)Z($)&&i(()=>{for(let z of d[$]){let{cadena:x,base:C}=Wn(z);if(!x.length||D(C)||!Object.hasOwn(d,C)||!Z(C))continue;let R=gn(C,d),j=ke(x,R,M).find(et=>!et.ok);if(j&&!j.ok)throw _(`utilities.${$}`,{code:"utility-invalid-composition",params:fn(z,C,x,j)});let F=R.find(et=>et.cadena.length===0&&N().esComponente(et.base)&&!W.includes(et.base));if(F)throw _(`utilities.${$}`,{code:"utility-composes-component",params:{class:z,utility:C,component:F.base}})}});return Xn(l),{userScales:u,userUtilities:d}}var Ad=/^(?:prefers-[a-z-]+|forced-colors|hover|pointer)$/;function ra(e){return e.toLowerCase().split(",").every(n=>{let s=n.replace(/\(\s*([a-z-]+)\s*(?::\s*[a-z0-9-]+\s*)?\)/g,(o,r)=>Ad.test(r)?"#":"!");return/^\s*(?:not\s+)?#(?:\s+(?:and|or)\s+#)*\s*$/.test(s)})}var aa=["media","supports","container","starting-style"],Od=new Set("aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgreen darkgrey darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkviolet deeppink deepskyblue dimgray dimgrey dodgerblue firebrick floralwhite forestgreen fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow grey honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightslategrey lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple rebeccapurple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray slategrey snow springgreen steelblue tan teal thistle tomato turquoise violet wheat white whitesmoke yellow yellowgreen".split(" ")),Md=/(?<![\w-])(?:rgba?|hsla?|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark|device-cmyk)\s*\(/gi;function ia(e,n){let s=0;for(let o=n;o<e.length;o++)if(e[o]==="(")s++;else if(e[o]===")"&&--s===0)return e.slice(n+1,o);return e.slice(n+1)}function la(e){let n=e.indexOf(":"),s=n<0?e:e.slice(n+1),o=/#[0-9a-fA-F]{3,8}\b/.exec(s);if(o)return{kind:"hex",value:o[0]};for(let r of s.matchAll(Md)){let a=r.index+r[0].length-1;if(!/var\s*\(/i.test(ia(s,a)))return{kind:"function",value:`${r[0].replace(/\s*\($/,"")}(${ia(s,a)})`}}for(let r of s.matchAll(/(?<![\w-])([a-zA-Z]+)(?![\w-])(?!\s*\()/g))if(Od.has(r[1].toLowerCase()))return{kind:"name",value:r[1]}}var ca=e=>[...e.matchAll(/var\(\s*(--[A-Za-z0-9_-]+)/g)].map(n=>n[1]);var at={css:256*1024,bloque:16*1024,bloques:2e3,profundidad:4,clasesApply:32,profundidadApply:4,expansionBloque:16*1024,expansionTotal:256*1024,tokens:500,valor:512,clave:64,componentes:256,raices:16},qd=new Set(["var","calc","min","max","clamp","round","mod","color-mix","rgb","hsl","oklch","linear-gradient","translate","scale","rotate","repeat","minmax","not"]),Id=/^ts-[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,Pd={")":"(","]":"[","}":"{"};function ua(e){let n=[],s=[],o=0,r=e.length;for(;o<r;){let a=e[o];if(a==="/"&&e[o+1]==="*"){let l=e.indexOf("*/",o+2);if(l<0)return null;n.push({k:"ws",v:" "}),o=l+2}else if(a===" "||a===" "||a===`
3014
3014
  `||a==="\r"){for(;o<r&&(e[o]===" "||e[o]===" "||e[o]===`
3015
3015
  `||e[o]==="\r");)o++;n.push({k:"ws",v:" "})}else if(a==='"'||a==="'"){let l=o+1;for(;l<r&&e[l]!==a&&e[l]!==`
3016
- `;)l++;if(e[l]!==a)return null;n.push({k:"str",v:e.slice(o,l+1)}),o=l+1}else if(a==="{"||a==="("||a==="[")s.push(a),n.push({k:a,v:a}),o++;else if(a==="}"||a===")"||a==="]"){if(s.pop()!==Ad[a])return null;n.push({k:a,v:a}),o++}else if(a===";"||a===":"||a===",")n.push({k:a,v:a}),o++;else if(a==="\\")n.push({k:"bs",v:a}),o++;else{let l=o+1;for(;l<r&&!`
3017
- \r"'{}()[];:,\\`.includes(e[l])&&!(e[l]==="/"&&e[l+1]==="*");)l++;n.push({k:"tx",v:e.slice(o,l)}),o=l}}return s.length?null:n}var Kt=e=>e.map(n=>n.k==="ws"?" ":n.v).join("").replace(/ +/g," ").trim(),$s=e=>{let n=0,s=e.length;for(;n<s&&e[n].k==="ws";)n++;for(;s>n&&e[s-1].k==="ws";)s--;return e.slice(n,s)},Dd=/^[A-Za-z0-9_.#%+*/!-]+$/,Od=/^-?[A-Za-z][A-Za-z0-9-]*$/,Md=/^(?:'[A-Za-z0-9 #.,!?%-]{0,16}'|"[A-Za-z0-9 #.,!?%-]{0,16}")$/;function ca(e,n,s,o){let r=$s(e),a=[],l,i=()=>{l??={code:"ext-syntax",params:{block:s,snippet:Kt(r).slice(0,60)}}};for(let c=0;c<r.length;c++){let d=r[c];if(d.k==="bs")a.push({code:"ext-escape",params:{block:s}});else if(d.k==="str")(n!=="content"||!Md.test(d.v))&&a.push({code:"ext-string-not-allowed",params:{block:s}});else if(d.k===":"||d.k===";"||d.k==="{"||d.k==="}")i();else if(d.k==="tx"){let u=r.slice(c+1).find(y=>y.k!=="ws");if(d.v.includes("!")?/^!important$/i.test(d.v)||d.v==="!"&&u?.k==="tx"&&/^important$/i.test(u.v)?a.push({code:"ext-important",params:{block:s}}):i():Dd.test(d.v)||i(),u?.k==="("&&Od.test(d.v)){let y=d.v.toLowerCase();y==="url"?a.push({code:"ext-url",params:{block:s}}):Ed.has(y)||a.push({code:"ext-function-not-allowed",params:{block:s,fn:y}})}}}for(let c of a)o(c);return!a.length&&l&&o(l),Kt(r)}function da(e,n){let s=[],o=new Set,r=i=>{let c=JSON.stringify(i);o.has(c)||(o.add(c),s.push(i))},a=/[^\x20-\x7e]/.exec(e);if(a)return r({code:"ext-char-not-allowed",params:{char:pa(a[0])}}),s;let l=la(e);return l?(ca(l,"",n,r),s):(r({code:"ext-css-unbalanced",params:{}}),s)}var pa=e=>`U+${e.codePointAt(0).toString(16).toUpperCase().padStart(4,"0")}`,qd=new Set(["hover","active","focus","focus-visible","focus-within","disabled","enabled","checked","indeterminate","first-child","last-child","only-child","empty","placeholder-shown","read-only"]),Id=new Set(["before","after","placeholder"]),Nd=/^(?:aria-[a-z-]+|data-[a-z0-9-]+|dir|disabled|open|hidden|readonly|required|checked|selected)$/,Pd=new Set(["html","body","head"]);function ua(e,n,s){let o=[],r=(a,l)=>(a.lastIndex=l,a.exec(e));for(;n<e.length&&!" >+~,)".includes(e[n]);){let a=e[n];if(a==="&"){if(s)return"pseudo";o.push({t:"amp",nombre:"&"}),n++}else if(a==="."){let l=r(/\.([a-z][a-z0-9-]*)/y,n);if(!l)return"syntax";o.push({t:"class",nombre:l[1]}),n+=l[0].length}else if(a==="["){let l=r(/\[([a-z][a-z0-9-]*)(?:=(?:'([a-z0-9-]+)'|"([a-z0-9-]+)"|([a-z0-9-]+)))?\]/y,n);if(!l||!Nd.test(l[1]))return"attribute";o.push({t:"attr",nombre:l[1],valor:l[2]??l[3]??l[4]}),n+=l[0].length}else if(a===":"){let l=r(/:(:?)(-?[a-z][a-z-]*)/y,n);if(!l)return"syntax";let[,i,c]=l;if(n+=l[0].length,i){if(!Id.has(c))return"pseudo"}else if(c==="not"&&e[n]==="("){if(s)return"pseudo";let d=e.indexOf(")",n);if(d<0)return"syntax";for(let u of e.slice(n+1,d).split(",")){let y=ua(u.trim(),0,!0);if(typeof y=="string")return y;if(y.atomos.length===0||y.fin!==u.trim().length)return"syntax"}n=d+1}else if(!qd.has(c)||e[n]==="(")return"pseudo";o.push({t:"pseudo",nombre:c})}else if(/[a-z]/.test(a)){let l=r(/[a-z][a-z0-9-]*/y,n);if(Pd.has(l[0]))return"unscoped";o.push({t:"el",nombre:l[0]}),n+=l[0].length}else return a==="*"?"unscoped":"syntax"}return{fin:n,atomos:o}}var Ld=e=>e.length===1&&(e[0].t==="class"||e[0].t==="attr"&&e[0].nombre==="dir");function _d(e){if(!e)return"syntax";let n=[],s=0,o=!1;for(;;){for(;e[s]===" ";)s++;if(s>=e.length)break;if(e[s]==="+"||e[s]==="~")return"combinator";if(e[s]===">"){if(o)return"syntax";o=!0,s++;continue}o=!1;let a=ua(e,s,!1);if(typeof a=="string")return a;if(a.atomos.length===0)return"syntax";n.push(a.atomos),s=a.fin}if(o)return"syntax";let r=n.map((a,l)=>a.some(i=>i.t==="amp")?l:-1).filter(a=>a>=0);return r.length>1||r.length===1&&r[0]>0&&(r[0]>1||!Ld(n[0]))?"unscoped":null}function Fd(e){let n=[],s=0,o=0;for(let r=0;r<e.length;r++){let a=e[r];a==="("||a==="["?s++:a===")"||a==="]"?s--:a===","&&s===0&&(n.push(e.slice(o,r)),o=r+1)}n.push(e.slice(o));for(let r of n){let a=_d(r.trim());if(a)return a}return null}var Vd=/^[a-z0-9\s().:,<>=/%*+-]*$/;function Wd(e,n){let s=n.toLowerCase();return e==="starting-style"?s==="":!Vd.test(s)||s.length>200||/[a-z0-9-]\(/.test(s.replace(/\b(?:and|or|not)\s*\(/g,"("))?!1:e==="container"?!/\dpx\b/.test(s):!0}function Ho(e,n){let s=" ".repeat(n),o="";for(let r of e)r.t==="decl"?o+=`${s}${r.prop}: ${r.valor};
3016
+ `;)l++;if(e[l]!==a)return null;n.push({k:"str",v:e.slice(o,l+1)}),o=l+1}else if(a==="{"||a==="("||a==="[")s.push(a),n.push({k:a,v:a}),o++;else if(a==="}"||a===")"||a==="]"){if(s.pop()!==Pd[a])return null;n.push({k:a,v:a}),o++}else if(a===";"||a===":"||a===",")n.push({k:a,v:a}),o++;else if(a==="\\")n.push({k:"bs",v:a}),o++;else{let l=o+1;for(;l<r&&!`
3017
+ \r"'{}()[];:,\\`.includes(e[l])&&!(e[l]==="/"&&e[l+1]==="*");)l++;n.push({k:"tx",v:e.slice(o,l)}),o=l}}return s.length?null:n}var Yt=e=>e.map(n=>n.k==="ws"?" ":n.v).join("").replace(/ +/g," ").trim(),Es=e=>{let n=0,s=e.length;for(;n<s&&e[n].k==="ws";)n++;for(;s>n&&e[s-1].k==="ws";)s--;return e.slice(n,s)},Nd=/^[A-Za-z0-9_.#%+*/!-]+$/,Ld=/^-?[A-Za-z][A-Za-z0-9-]*$/,_d=/^(?:'[A-Za-z0-9 #.,!?%-]{0,16}'|"[A-Za-z0-9 #.,!?%-]{0,16}")$/;function ga(e,n,s,o){let r=Es(e),a=[],l,i=()=>{l??={code:"ext-syntax",params:{block:s,snippet:Yt(r).slice(0,60)}}};for(let c=0;c<r.length;c++){let d=r[c];if(d.k==="bs")a.push({code:"ext-escape",params:{block:s}});else if(d.k==="str")(n!=="content"||!_d.test(d.v))&&a.push({code:"ext-string-not-allowed",params:{block:s}});else if(d.k===":"||d.k===";"||d.k==="{"||d.k==="}")i();else if(d.k==="tx"){let u=r.slice(c+1).find(y=>y.k!=="ws");if(d.v.includes("!")?/^!important$/i.test(d.v)||d.v==="!"&&u?.k==="tx"&&/^important$/i.test(u.v)?a.push({code:"ext-important",params:{block:s}}):i():Nd.test(d.v)||i(),u?.k==="("&&Ld.test(d.v)){let y=d.v.toLowerCase();y==="url"?a.push({code:"ext-url",params:{block:s}}):qd.has(y)||a.push({code:"ext-function-not-allowed",params:{block:s,fn:y}})}}}for(let c of a)o(c);return!a.length&&l&&o(l),Yt(r)}function ma(e,n){let s=[],o=new Set,r=i=>{let c=JSON.stringify(i);o.has(c)||(o.add(c),s.push(i))},a=/[^\x20-\x7e]/.exec(e);if(a)return r({code:"ext-char-not-allowed",params:{char:fa(a[0])}}),s;let l=ua(e);return l?(ga(l,"",n,r),s):(r({code:"ext-css-unbalanced",params:{}}),s)}var fa=e=>`U+${e.codePointAt(0).toString(16).toUpperCase().padStart(4,"0")}`,Fd=new Set(["hover","active","focus","focus-visible","focus-within","disabled","enabled","checked","indeterminate","first-child","last-child","only-child","empty","placeholder-shown","read-only"]),Vd=new Set(["before","after","placeholder"]),Wd=/^(?:aria-[a-z-]+|data-[a-z0-9-]+|dir|disabled|open|hidden|readonly|required|checked|selected)$/,Ud=new Set(["html","body","head"]);function ha(e,n,s){let o=[],r=(a,l)=>(a.lastIndex=l,a.exec(e));for(;n<e.length&&!" >+~,)".includes(e[n]);){let a=e[n];if(a==="&"){if(s)return"pseudo";o.push({t:"amp",nombre:"&"}),n++}else if(a==="."){let l=r(/\.([a-z][a-z0-9-]*)/y,n);if(!l)return"syntax";o.push({t:"class",nombre:l[1]}),n+=l[0].length}else if(a==="["){let l=r(/\[([a-z][a-z0-9-]*)(?:=(?:'([a-z0-9-]+)'|"([a-z0-9-]+)"|([a-z0-9-]+)))?\]/y,n);if(!l||!Wd.test(l[1]))return"attribute";o.push({t:"attr",nombre:l[1],valor:l[2]??l[3]??l[4]}),n+=l[0].length}else if(a===":"){let l=r(/:(:?)(-?[a-z][a-z-]*)/y,n);if(!l)return"syntax";let[,i,c]=l;if(n+=l[0].length,i){if(!Vd.has(c))return"pseudo"}else if(c==="not"&&e[n]==="("){if(s)return"pseudo";let d=e.indexOf(")",n);if(d<0)return"syntax";for(let u of e.slice(n+1,d).split(",")){let y=ha(u.trim(),0,!0);if(typeof y=="string")return y;if(y.atomos.length===0||y.fin!==u.trim().length)return"syntax"}n=d+1}else if(!Fd.has(c)||e[n]==="(")return"pseudo";o.push({t:"pseudo",nombre:c})}else if(/[a-z]/.test(a)){let l=r(/[a-z][a-z0-9-]*/y,n);if(Ud.has(l[0]))return"unscoped";o.push({t:"el",nombre:l[0]}),n+=l[0].length}else return a==="*"?"unscoped":"syntax"}return{fin:n,atomos:o}}var Bd=e=>e.length===1&&(e[0].t==="class"||e[0].t==="attr"&&e[0].nombre==="dir");function Hd(e){if(!e)return"syntax";let n=[],s=0,o=!1;for(;;){for(;e[s]===" ";)s++;if(s>=e.length)break;if(e[s]==="+"||e[s]==="~")return"combinator";if(e[s]===">"){if(o)return"syntax";o=!0,s++;continue}o=!1;let a=ha(e,s,!1);if(typeof a=="string")return a;if(a.atomos.length===0)return"syntax";n.push(a.atomos),s=a.fin}if(o)return"syntax";let r=n.map((a,l)=>a.some(i=>i.t==="amp")?l:-1).filter(a=>a>=0);return r.length>1||r.length===1&&r[0]>0&&(r[0]>1||!Bd(n[0]))?"unscoped":null}function Gd(e){let n=[],s=0,o=0;for(let r=0;r<e.length;r++){let a=e[r];a==="("||a==="["?s++:a===")"||a==="]"?s--:a===","&&s===0&&(n.push(e.slice(o,r)),o=r+1)}n.push(e.slice(o));for(let r of n){let a=Hd(r.trim());if(a)return a}return null}var Jd=/^[a-z0-9\s().:,<>=/%*+-]*$/;function Zd(e,n){let s=n.toLowerCase();return e==="starting-style"?s==="":!Jd.test(s)||s.length>200||/[a-z0-9-]\(/.test(s.replace(/\b(?:and|or|not)\s*\(/g,"("))?!1:e==="container"?!/\dpx\b/.test(s):!0}function Yo(e,n){let s=" ".repeat(n),o="";for(let r of e)r.t==="decl"?o+=`${s}${r.prop}: ${r.valor};
3018
3018
  `:r.t==="apply"?o+=`${s}@apply ${r.destinos.join(" ")};
3019
3019
  `:r.t==="regla"?o+=`${s}${r.prelude} {
3020
- ${Ho(r.hijos,n+1)}${s}}
3020
+ ${Yo(r.hijos,n+1)}${s}}
3021
3021
  `:o+=`${s}@${r.nombre}${r.params?` ${r.params}`:""} {
3022
- ${Ho(r.hijos,n+1)}${s}}
3023
- `;return o}var Ud=50;function Bd(e){let n=[],s=[],o=new Set,r=g=>{let b=JSON.stringify(g);o.has(b)||n.length>=Ud||(o.add(b),n.push(g))};if(e.length>at.css)return r({code:"ext-limit",params:{what:"css-size",max:at.css}}),{bloques:s,errores:n};let a=/[^\x20-\x7e\n\t\r]/.exec(e);if(a)return r({code:"ext-char-not-allowed",params:{char:pa(a[0])}}),{bloques:s,errores:n};let l=la(e);if(!l)return r({code:"ext-css-unbalanced",params:{}}),{bloques:s,errores:n};let i=0,c=()=>{for(;l[i]?.k==="ws";)i++},d=()=>{for(let g=1;i<l.length&&g>0;i++)g+=l[i].k==="{"?1:l[i].k==="}"?-1:0},u=()=>{let g=0;for(;i<l.length;i++){let b=l[i].k;if(b==="("||b==="[")g++;else if(b===")"||b==="]")g--;else if(g===0&&b===";"){i++;return}else if(g===0&&b==="{"){i++,d();return}}},y=(g,b)=>{let p=[];for(let v of $s(b))if(v.k!=="ws"){if(v.k!=="tx")return r({code:"ext-syntax",params:{block:g,snippet:`@apply ${Kt(b)}`.slice(0,60)}}),null;/^!important$/i.test(v.v)?r({code:"ext-important",params:{block:g}}):p.push(v.v)}return p.length>at.clasesApply?(r({code:"ext-apply-budget",params:{block:g,limit:"classes",max:at.clasesApply}}),null):p.length?{t:"apply",destinos:p}:null},t=(g,b)=>{let p=$s(b);if(!p.length)return null;if(p[0].k==="tx"&&p[0].v[0]==="@")return p[0].v.toLowerCase()==="@apply"?y(g,p.slice(1)):(r({code:"ext-at-rule",params:{block:g,rule:/^@[a-zA-Z-]*/.exec(p[0].v)[0]}}),null);let v=0,f=-1;for(let D=0;D<p.length&&f<0;D++)p[D].k==="("||p[D].k==="["?v++:p[D].k===")"||p[D].k==="]"?v--:p[D].k===":"&&v===0&&(f=D);let w=()=>(r({code:"ext-syntax",params:{block:g,snippet:Kt(p).slice(0,60)}}),null);if(f<0)return w();let k=Kt(p.slice(0,f));if(k.startsWith("--"))return r({code:"ext-custom-property",params:{block:g,property:k}}),null;if(!/^-?[a-z][a-z-]*$/.test(k))return w();let I=ca(p.slice(f+1),k,g,r);return I?{t:"decl",prop:k,valor:I}:w()},m=(g,b)=>{let p=$s(b);if(!p.length)return r({code:"ext-syntax",params:{block:g,snippet:"{"}}),null;if(p[0].k==="tx"&&p[0].v[0]==="@"){let w=p[0].v.slice(1).toLowerCase(),k=Kt(p.slice(1));return sa.includes(w)?(w==="media"?!na(k):!Wd(w,k))?(r(w==="media"?{code:"ext-media-query",params:{block:g,query:k}}:{code:"ext-at-params",params:{block:g,rule:`@${w}`,params:k}}),null):{at:w,params:k}:(r({code:"ext-at-rule",params:{block:g,rule:`@${w}`}}),null)}if(p.some(w=>w.k==="bs"))return r({code:"ext-escape",params:{block:g}}),null;let v=Kt(p),f=Fd(v);return f?(r({code:"ext-selector-not-allowed",params:{block:g,selector:v.slice(0,80),motive:f}}),null):{prelude:v}},h=(g,b)=>{let p=[];for(;;){c();let v=l[i];if(!v)return p;if(v.k==="}")return i++,p;if(v.k===";"){i++;continue}let f=[],w=0,k=!1;for(;i<l.length;){let D=l[i];if(D.k==="("||D.k==="[")w++;else if(D.k===")"||D.k==="]")w--;else if(D.k==="{"||D.k==="}"||D.k===";"){if(w===0)break;k=!0}f.push(D),i++}let I=l[i]?.k;if(I===";"&&i++,k)r({code:"ext-syntax",params:{block:g,snippet:Kt(f).slice(0,60)}}),I==="{"&&(i++,d());else if(I==="{"){i++;let D=m(g,f);if(!D)d();else if(b+1>at.profundidad)r({code:"ext-limit",params:{what:"depth",max:at.profundidad}}),d();else{let W=h(g,b+1);p.push("at"in D?{t:"at",nombre:D.at,params:D.params,hijos:W}:{t:"regla",prelude:D.prelude,hijos:W})}}else{let D=t(g,f);D&&p.push(D)}}};for(;;){c();let g=l[i];if(!g)break;if(g.k==="tx"&&g.v==="@utility"){let b=i;i++;let p=[];for(;i<l.length&&l[i].k!=="{"&&l[i].k!==";";)p.push(l[i++]);if(l[i]?.k!=="{"){i=b,r({code:"ext-top-level",params:{snippet:ra(l,b)}}),u();continue}i++;let v=Kt(p);p.some(k=>k.k==="bs")&&r({code:"ext-escape",params:{block:v}});let f=h(v,1);if(!Rd.test(v)){r({code:"ext-name-invalid",params:{kind:"block",name:v.slice(0,80)}});continue}let w=`@utility ${v} {
3024
- ${Ho(f,1)}}
3025
- `;if(w.length>at.bloque){r({code:"ext-limit",params:{what:"block-size",max:at.bloque}});continue}s.push({name:v,nodos:f,css:w})}else r({code:"ext-top-level",params:{snippet:ra(l,i)}}),u()}return{bloques:s,errores:n}}function ra(e,n){let s=0,o=0,r=(()=>{for(let a=n;a<e.length;a++){let l=e[a].k;if(l==="("||l==="[")s++;else if(l===")"||l==="]")s--;else if(l==="{")o++;else{if(l==="}"&&--o<=0)return a+1;if(l===";"&&s===0&&o===0)return a+1}if(a-n>60)return a}return e.length})();return Kt(e.slice(n,r)).slice(0,60)}var ws=new Map;function aa(e){let n=ws.get(e);return n||(ws.size>=64&&ws.clear(),n=Bd(e),ws.set(e,n)),n}var Bo=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function ks(e,n){let s=`extensions[${JSON.stringify(n)}]`,o=[];if(!Bo(e))return o;if(Bo(e.components))for(let[r,a]of Object.entries(e.components))Bo(a)&&typeof a.css=="string"&&o.push({slug:r,ruta:`${s}.components.${r}.css`,parse:aa(a.css)});return typeof e.utilities=="string"&&o.push({slug:void 0,ruta:`${s}.utilities`,parse:aa(e.utilities)}),o}var Ss=e=>e.flatMap(n=>n.parse.errores.map(s=>({path:n.ruta,...s})));var ga={componentes:{accordion:{gancho:"data-ts-accordion",bloques:["accordion","accordion-item"],runtime:[]},"alert-dialog":{gancho:null,bloques:[],runtime:[]},"aspect-ratio":{gancho:null,bloques:["aspect-ratio"],runtime:[]},avatar:{gancho:"data-ts-avatar",bloques:["avatar","avatar-group"],runtime:[]},badge:{gancho:null,bloques:["badge"],runtime:[]},banner:{gancho:null,bloques:["banner"],runtime:[]},breadcrumbs:{gancho:null,bloques:["breadcrumbs","breadcrumbs-list","breadcrumbs-item","breadcrumbs-separator","breadcrumbs-link"],runtime:[]},button:{gancho:null,bloques:["button","button-group"],runtime:[]},card:{gancho:null,bloques:["card-radius","card-inset-radius","card","card-media"],runtime:[]},checkbox:{gancho:null,bloques:["checkbox","checkbox-wrapper","checkbox-group","checkbox-group-label","checkbox-group-all","checkbox-group-items"],runtime:[]},code:{gancho:null,bloques:["code-block","code-header","code-content"],runtime:[]},collapsible:{gancho:null,bloques:["collapsible","collapsible-trigger","collapsible-content"],runtime:[]},combobox:{gancho:"data-ts-combobox",bloques:["combobox","combobox-label","combobox-control","combobox-input","combobox-values","combobox-dropdown","combobox-option","combobox-group-label","combobox-loading","combobox-empty"],runtime:[]},"command-palette":{gancho:"data-ts-command-palette",bloques:["command-overlay","command","command-input-wrapper","command-list","command-group-label","command-item","command-mark","command-empty","command-footer"],runtime:[]},container:{gancho:null,bloques:[],runtime:[]},"context-menu":{gancho:"data-ts-context-menu",bloques:["context-menu"],runtime:[]},"date-picker":{gancho:"data-ts-date-picker",bloques:["datepicker","datepicker-trigger","datepicker-value","datepicker-prefix-block","datepicker-field","datepicker-input","datepicker-range","datepicker-separator","datepicker-toggle","datepicker-panel","datepicker-presets","datepicker-preset","calendar","calendar-caption","calendar-caption-select","calendar-time","calendar-months","calendar-month","calendar-month-title","calendar-header","calendar-heading","calendar-nav","calendar-grid","calendar-dow-row","calendar-dow","calendar-week","calendar-day-empty","calendar-week-number","calendar-day"],runtime:["calendar-day","calendar-day-empty","calendar-day-mark","calendar-dow","calendar-dow-row","calendar-grid","calendar-month","calendar-month-title","calendar-week","calendar-week-number"]},drawer:{gancho:null,bloques:["drawer-dialog","drawer"],runtime:[]},"empty-state":{gancho:null,bloques:["empty-state"],runtime:[]},field:{gancho:null,bloques:[],runtime:[]},"file-upload":{gancho:"data-ts-file-upload",bloques:["file-upload","file-upload-zone","file-upload-icon","file-upload-title","file-upload-hint","file-upload-list","file-upload-item"],runtime:[]},grid:{gancho:null,bloques:["grid-container"],runtime:[]},icon:{gancho:null,bloques:["icon"],runtime:[]},"inline-code":{gancho:null,bloques:["inline-code"],runtime:[]},input:{gancho:"data-ts-input",bloques:["input","input-wrapper","input-label","input-hint","input-footer","input-count"],runtime:["input-footer","input-hint"]},kbd:{gancho:null,bloques:["kbd"],runtime:[]},link:{gancho:null,bloques:["link"],runtime:[]},"loading-dots":{gancho:null,bloques:["loading-dots"],runtime:[]},menu:{gancho:"data-ts-menu",bloques:["menu-root","menu","menu-item","menu-separator","menu-label"],runtime:[]},modal:{gancho:null,bloques:["modal-dialog","modal","modal-header","modal-title","modal-body","modal-footer"],runtime:[]},"nav-bar":{gancho:null,bloques:["nav-bar-root","nav-bar-bp-sm","nav-bar-bp-md","nav-bar-bp-lg","nav-bar","nav-bar-brand","nav-bar-items","nav-bar-actions","nav-bar-item","nav-bar-toggle","nav-bar-search","nav-bar-menu"],runtime:[]},note:{gancho:null,bloques:["note"],runtime:[]},"number-input":{gancho:null,bloques:["number-input","number-input-field"],runtime:[]},pager:{gancho:null,bloques:["pager","pager-link","pager-spacer","pager-icon","pager-text","pager-dir","pager-title"],runtime:[]},pagination:{gancho:"data-ts-pagination",bloques:["pagination","pagination-btn","pagination-ellipsis","pagination-info","pagination-page-size"],runtime:[]},popover:{gancho:null,bloques:["popover-root","popover"],runtime:[]},progress:{gancho:null,bloques:["progress"],runtime:[]},radio:{gancho:null,bloques:["radio"],runtime:[]},"scroll-area":{gancho:null,bloques:["scroll-area"],runtime:[]},"segmented-control":{gancho:null,bloques:["segmented-control"],runtime:[]},select:{gancho:null,bloques:["select","select-wrapper","select-label","select-dropdown","select-option","select-search","select-group-label","select-loading","select-empty"],runtime:[]},separator:{gancho:null,bloques:["separator","separator-wrapper","separator-line","separator-label"],runtime:[]},sidebar:{gancho:"data-ts-sidebar",bloques:["sidebar","sidebar-header","sidebar-content","sidebar-group","sidebar-group-label","sidebar-item","sidebar-footer","sidebar-rail"],runtime:[]},skeleton:{gancho:null,bloques:["skeleton"],runtime:[]},slider:{gancho:"data-ts-slider",bloques:["slider","slider-header","slider-label","slider-value","slider-track","slider-range","slider-ticks","slider-marks"],runtime:[]},spinner:{gancho:null,bloques:["spinner"],runtime:[]},stack:{gancho:null,bloques:[],runtime:[]},table:{gancho:"data-ts-table",bloques:["table-wrapper","table","table-header","table-th","table-th-content","table-body","table-row","table-td","table-empty","table-spacer"],runtime:[]},tabs:{gancho:"data-ts-tabs",bloques:["tabs"],runtime:[]},tag:{gancho:null,bloques:["tag"],runtime:[]},textarea:{gancho:"data-ts-textarea",bloques:["textarea","textarea-field"],runtime:[]},toast:{gancho:"data-ts-toast",bloques:["toaster","toast"],runtime:["toast","toaster"]},toc:{gancho:null,bloques:["toc","toc-title","toc-list","toc-link"],runtime:[]},toggle:{gancho:"data-ts-toggle",bloques:["toggle"],runtime:[]},tooltip:{gancho:"data-ts-tooltip",bloques:["tooltip-root","tooltip"],runtime:[]},"visually-hidden":{gancho:null,bloques:[],runtime:[]}},sueltos:["required-proxy"]};var Un=ga;function Bn(e){return Object.entries(e).sort(([n],[s])=>n<s?-1:n>s?1:0)}function ma(e,n){let s=ks(e,n),o=Ss(s);if(o.length)throw new zt(o);return s}function Ts(e={}){let n=Bn(e);if(n.length===0)return Un;let s=Object.assign(Object.create(null),Un.componentes);for(let[o,r]of n){let a=ma(r,o);for(let[l,i]of Object.entries(r.components??{})){let c=[...new Set(a.filter(d=>d.slug===l).flatMap(d=>d.parse.bloques.map(u=>u.name.slice(3))))];s[l]={gancho:null,bloques:c,runtime:i.roots.filter(d=>c.includes(d))}}}return{componentes:s,sueltos:Un.sueltos}}function _e(e={}){let n="",s="";for(let[o,r]of Bn(e))for(let a of ma(r,o)){let l=a.parse.bloques.map(i=>i.css).join("");a.slug===void 0?s+=l?`
3022
+ ${Yo(r.hijos,n+1)}${s}}
3023
+ `;return o}var Kd=50;function Xd(e){let n=[],s=[],o=new Set,r=g=>{let b=JSON.stringify(g);o.has(b)||n.length>=Kd||(o.add(b),n.push(g))};if(e.length>at.css)return r({code:"ext-limit",params:{what:"css-size",max:at.css}}),{bloques:s,errores:n};let a=/[^\x20-\x7e\n\t\r]/.exec(e);if(a)return r({code:"ext-char-not-allowed",params:{char:fa(a[0])}}),{bloques:s,errores:n};let l=ua(e);if(!l)return r({code:"ext-css-unbalanced",params:{}}),{bloques:s,errores:n};let i=0,c=()=>{for(;l[i]?.k==="ws";)i++},d=()=>{for(let g=1;i<l.length&&g>0;i++)g+=l[i].k==="{"?1:l[i].k==="}"?-1:0},u=()=>{let g=0;for(;i<l.length;i++){let b=l[i].k;if(b==="("||b==="[")g++;else if(b===")"||b==="]")g--;else if(g===0&&b===";"){i++;return}else if(g===0&&b==="{"){i++,d();return}}},y=(g,b)=>{let p=[];for(let v of Es(b))if(v.k!=="ws"){if(v.k!=="tx")return r({code:"ext-syntax",params:{block:g,snippet:`@apply ${Yt(b)}`.slice(0,60)}}),null;/^!important$/i.test(v.v)?r({code:"ext-important",params:{block:g}}):p.push(v.v)}return p.length>at.clasesApply?(r({code:"ext-apply-budget",params:{block:g,limit:"classes",max:at.clasesApply}}),null):p.length?{t:"apply",destinos:p}:null},t=(g,b)=>{let p=Es(b);if(!p.length)return null;if(p[0].k==="tx"&&p[0].v[0]==="@")return p[0].v.toLowerCase()==="@apply"?y(g,p.slice(1)):(r({code:"ext-at-rule",params:{block:g,rule:/^@[a-zA-Z-]*/.exec(p[0].v)[0]}}),null);let v=0,f=-1;for(let D=0;D<p.length&&f<0;D++)p[D].k==="("||p[D].k==="["?v++:p[D].k===")"||p[D].k==="]"?v--:p[D].k===":"&&v===0&&(f=D);let w=()=>(r({code:"ext-syntax",params:{block:g,snippet:Yt(p).slice(0,60)}}),null);if(f<0)return w();let k=Yt(p.slice(0,f));if(k.startsWith("--"))return r({code:"ext-custom-property",params:{block:g,property:k}}),null;if(!/^-?[a-z][a-z-]*$/.test(k))return w();let P=ga(p.slice(f+1),k,g,r);return P?{t:"decl",prop:k,valor:P}:w()},m=(g,b)=>{let p=Es(b);if(!p.length)return r({code:"ext-syntax",params:{block:g,snippet:"{"}}),null;if(p[0].k==="tx"&&p[0].v[0]==="@"){let w=p[0].v.slice(1).toLowerCase(),k=Yt(p.slice(1));return aa.includes(w)?(w==="media"?!ra(k):!Zd(w,k))?(r(w==="media"?{code:"ext-media-query",params:{block:g,query:k}}:{code:"ext-at-params",params:{block:g,rule:`@${w}`,params:k}}),null):{at:w,params:k}:(r({code:"ext-at-rule",params:{block:g,rule:`@${w}`}}),null)}if(p.some(w=>w.k==="bs"))return r({code:"ext-escape",params:{block:g}}),null;let v=Yt(p),f=Gd(v);return f?(r({code:"ext-selector-not-allowed",params:{block:g,selector:v.slice(0,80),motive:f}}),null):{prelude:v}},h=(g,b)=>{let p=[];for(;;){c();let v=l[i];if(!v)return p;if(v.k==="}")return i++,p;if(v.k===";"){i++;continue}let f=[],w=0,k=!1;for(;i<l.length;){let D=l[i];if(D.k==="("||D.k==="[")w++;else if(D.k===")"||D.k==="]")w--;else if(D.k==="{"||D.k==="}"||D.k===";"){if(w===0)break;k=!0}f.push(D),i++}let P=l[i]?.k;if(P===";"&&i++,k)r({code:"ext-syntax",params:{block:g,snippet:Yt(f).slice(0,60)}}),P==="{"&&(i++,d());else if(P==="{"){i++;let D=m(g,f);if(!D)d();else if(b+1>at.profundidad)r({code:"ext-limit",params:{what:"depth",max:at.profundidad}}),d();else{let W=h(g,b+1);p.push("at"in D?{t:"at",nombre:D.at,params:D.params,hijos:W}:{t:"regla",prelude:D.prelude,hijos:W})}}else{let D=t(g,f);D&&p.push(D)}}};for(;;){c();let g=l[i];if(!g)break;if(g.k==="tx"&&g.v==="@utility"){let b=i;i++;let p=[];for(;i<l.length&&l[i].k!=="{"&&l[i].k!==";";)p.push(l[i++]);if(l[i]?.k!=="{"){i=b,r({code:"ext-top-level",params:{snippet:da(l,b)}}),u();continue}i++;let v=Yt(p);p.some(k=>k.k==="bs")&&r({code:"ext-escape",params:{block:v}});let f=h(v,1);if(!Id.test(v)){r({code:"ext-name-invalid",params:{kind:"block",name:v.slice(0,80)}});continue}let w=`@utility ${v} {
3024
+ ${Yo(f,1)}}
3025
+ `;if(w.length>at.bloque){r({code:"ext-limit",params:{what:"block-size",max:at.bloque}});continue}s.push({name:v,nodos:f,css:w})}else r({code:"ext-top-level",params:{snippet:da(l,i)}}),u()}return{bloques:s,errores:n}}function da(e,n){let s=0,o=0,r=(()=>{for(let a=n;a<e.length;a++){let l=e[a].k;if(l==="("||l==="[")s++;else if(l===")"||l==="]")s--;else if(l==="{")o++;else{if(l==="}"&&--o<=0)return a+1;if(l===";"&&s===0&&o===0)return a+1}if(a-n>60)return a}return e.length})();return Yt(e.slice(n,r)).slice(0,60)}var zs=new Map;function pa(e){let n=zs.get(e);return n||(zs.size>=64&&zs.clear(),n=Xd(e),zs.set(e,n)),n}var Xo=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function Rs(e,n){let s=`extensions[${JSON.stringify(n)}]`,o=[];if(!Xo(e))return o;if(Xo(e.components))for(let[r,a]of Object.entries(e.components))Xo(a)&&typeof a.css=="string"&&o.push({slug:r,ruta:`${s}.components.${r}.css`,parse:pa(a.css)});return typeof e.utilities=="string"&&o.push({slug:void 0,ruta:`${s}.utilities`,parse:pa(e.utilities)}),o}var Ds=e=>e.flatMap(n=>n.parse.errores.map(s=>({path:n.ruta,...s})));var ba={componentes:{accordion:{gancho:"data-ts-accordion",bloques:["accordion","accordion-item"],runtime:[]},"alert-dialog":{gancho:null,bloques:[],runtime:[]},"aspect-ratio":{gancho:null,bloques:["aspect-ratio"],runtime:[]},avatar:{gancho:"data-ts-avatar",bloques:["avatar","avatar-group"],runtime:[]},badge:{gancho:null,bloques:["badge"],runtime:[]},banner:{gancho:null,bloques:["banner"],runtime:[]},breadcrumbs:{gancho:null,bloques:["breadcrumbs","breadcrumbs-list","breadcrumbs-item","breadcrumbs-separator","breadcrumbs-link"],runtime:[]},button:{gancho:null,bloques:["button","button-group"],runtime:[]},card:{gancho:null,bloques:["card-radius","card-inset-radius","card","card-media"],runtime:[]},checkbox:{gancho:null,bloques:["checkbox","checkbox-wrapper","checkbox-group","checkbox-group-label","checkbox-group-all","checkbox-group-items"],runtime:[]},code:{gancho:null,bloques:["code-block","code-header","code-content"],runtime:[]},collapsible:{gancho:null,bloques:["collapsible","collapsible-trigger","collapsible-content"],runtime:[]},combobox:{gancho:"data-ts-combobox",bloques:["combobox","combobox-label","combobox-control","combobox-input","combobox-values","combobox-dropdown","combobox-option","combobox-group-label","combobox-loading","combobox-empty"],runtime:[]},"command-palette":{gancho:"data-ts-command-palette",bloques:["command-overlay","command","command-input-wrapper","command-list","command-group-label","command-item","command-mark","command-empty","command-footer"],runtime:[]},container:{gancho:null,bloques:[],runtime:[]},"context-menu":{gancho:"data-ts-context-menu",bloques:["context-menu"],runtime:[]},"date-picker":{gancho:"data-ts-date-picker",bloques:["datepicker","datepicker-trigger","datepicker-value","datepicker-prefix-block","datepicker-field","datepicker-input","datepicker-range","datepicker-separator","datepicker-toggle","datepicker-panel","datepicker-presets","datepicker-preset","calendar","calendar-caption","calendar-caption-select","calendar-time","calendar-months","calendar-month","calendar-month-title","calendar-header","calendar-heading","calendar-nav","calendar-grid","calendar-dow-row","calendar-dow","calendar-week","calendar-day-empty","calendar-week-number","calendar-day"],runtime:["calendar-day","calendar-day-empty","calendar-day-mark","calendar-dow","calendar-dow-row","calendar-grid","calendar-month","calendar-month-title","calendar-week","calendar-week-number"]},drawer:{gancho:null,bloques:["drawer-dialog","drawer"],runtime:[]},"empty-state":{gancho:null,bloques:["empty-state"],runtime:[]},field:{gancho:null,bloques:[],runtime:[]},"file-upload":{gancho:"data-ts-file-upload",bloques:["file-upload","file-upload-zone","file-upload-icon","file-upload-title","file-upload-hint","file-upload-list","file-upload-item"],runtime:[]},grid:{gancho:null,bloques:["grid-container"],runtime:[]},icon:{gancho:null,bloques:["icon"],runtime:[]},"inline-code":{gancho:null,bloques:["inline-code"],runtime:[]},input:{gancho:"data-ts-input",bloques:["input","input-wrapper","input-label","input-hint","input-footer","input-count"],runtime:["input-footer","input-hint"]},kbd:{gancho:null,bloques:["kbd"],runtime:[]},link:{gancho:null,bloques:["link"],runtime:[]},"loading-dots":{gancho:null,bloques:["loading-dots"],runtime:[]},menu:{gancho:"data-ts-menu",bloques:["menu-root","menu","menu-item","menu-separator","menu-label"],runtime:[]},modal:{gancho:null,bloques:["modal-dialog","modal","modal-header","modal-title","modal-body","modal-footer"],runtime:[]},"nav-bar":{gancho:null,bloques:["nav-bar-root","nav-bar-bp-sm","nav-bar-bp-md","nav-bar-bp-lg","nav-bar","nav-bar-brand","nav-bar-items","nav-bar-actions","nav-bar-item","nav-bar-toggle","nav-bar-search","nav-bar-menu"],runtime:[]},note:{gancho:null,bloques:["note"],runtime:[]},"number-input":{gancho:null,bloques:["number-input","number-input-field"],runtime:[]},pager:{gancho:null,bloques:["pager","pager-link","pager-spacer","pager-icon","pager-text","pager-dir","pager-title"],runtime:[]},pagination:{gancho:"data-ts-pagination",bloques:["pagination","pagination-btn","pagination-ellipsis","pagination-info","pagination-page-size"],runtime:[]},popover:{gancho:null,bloques:["popover-root","popover"],runtime:[]},progress:{gancho:null,bloques:["progress"],runtime:[]},radio:{gancho:null,bloques:["radio"],runtime:[]},"scroll-area":{gancho:null,bloques:["scroll-area"],runtime:[]},"segmented-control":{gancho:null,bloques:["segmented-control"],runtime:[]},select:{gancho:null,bloques:["select","select-wrapper","select-label","select-dropdown","select-option","select-search","select-group-label","select-loading","select-empty"],runtime:[]},separator:{gancho:null,bloques:["separator","separator-wrapper","separator-line","separator-label"],runtime:[]},sidebar:{gancho:"data-ts-sidebar",bloques:["sidebar","sidebar-header","sidebar-content","sidebar-group","sidebar-group-label","sidebar-item","sidebar-footer","sidebar-rail"],runtime:[]},skeleton:{gancho:null,bloques:["skeleton"],runtime:[]},slider:{gancho:"data-ts-slider",bloques:["slider","slider-header","slider-label","slider-value","slider-track","slider-range","slider-ticks","slider-marks"],runtime:[]},spinner:{gancho:null,bloques:["spinner"],runtime:[]},stack:{gancho:null,bloques:[],runtime:[]},table:{gancho:"data-ts-table",bloques:["table-wrapper","table","table-header","table-th","table-th-content","table-body","table-row","table-td","table-empty","table-spacer"],runtime:[]},tabs:{gancho:"data-ts-tabs",bloques:["tabs"],runtime:[]},tag:{gancho:null,bloques:["tag"],runtime:[]},textarea:{gancho:"data-ts-textarea",bloques:["textarea","textarea-field"],runtime:[]},toast:{gancho:"data-ts-toast",bloques:["toaster","toast"],runtime:["toast","toaster"]},toc:{gancho:null,bloques:["toc","toc-title","toc-list","toc-link"],runtime:[]},toggle:{gancho:"data-ts-toggle",bloques:["toggle"],runtime:[]},tooltip:{gancho:"data-ts-tooltip",bloques:["tooltip-root","tooltip"],runtime:[]},"visually-hidden":{gancho:null,bloques:[],runtime:[]}},sueltos:["required-proxy"]};var Yn=ba;function Qn(e){return Object.entries(e).sort(([n],[s])=>n<s?-1:n>s?1:0)}function ya(e,n){let s=Rs(e,n),o=Ds(s);if(o.length)throw new zt(o);return s}function As(e={}){let n=Qn(e);if(n.length===0)return Yn;let s=Object.assign(Object.create(null),Yn.componentes);for(let[o,r]of n){let a=ya(r,o);for(let[l,i]of Object.entries(r.components??{})){let c=[...new Set(a.filter(d=>d.slug===l).flatMap(d=>d.parse.bloques.map(u=>u.name.slice(3))))];s[l]={gancho:null,bloques:c,runtime:i.roots.filter(d=>c.includes(d))}}}return{componentes:s,sueltos:Yn.sueltos}}function Ge(e={}){let n="",s="";for(let[o,r]of Qn(e))for(let a of ya(r,o)){let l=a.parse.bloques.map(i=>i.css).join("");a.slug===void 0?s+=l?`
3026
3026
  ${l}`:"":n+=`
3027
- ${l}`}return{components:n,utilities:s}}function fa(e={}){let n=[];for(let[,s]of Bn(e))for(let[o,r]of Object.entries(s.components??{}))r.tokens&&Object.keys(r.tokens).length&&r.roots[0]!==void 0&&n.push({slug:o,prefijo:r.roots[0],tokens:Object.assign(Object.create(null),r.tokens)});return n}function Cs(e,n=[]){let s=`/* Archivo auto-generado: FONTS */
3027
+ ${l}`}return{components:n,utilities:s}}function va(e={}){let n=[];for(let[,s]of Qn(e))for(let[o,r]of Object.entries(s.components??{}))r.tokens&&Object.keys(r.tokens).length&&r.roots[0]!==void 0&&n.push({slug:o,prefijo:r.roots[0],tokens:Object.assign(Object.create(null),r.tokens)});return n}function Os(e,n=[]){let s=`/* Archivo auto-generado: FONTS */
3028
3028
  `;s+="/* Se genera desde las `fontFaces` de la config. NO editar a mano: se sobrescribe. */\n\n";for(let o of e){let r=o.styles??["normal"];s+=`/* ${o.source} \u2014 ${o.subsets.join(", ")} \xB7 ${o.weights.join(", ")}${r.includes("italic")?" \xB7 "+r.join(", "):""} */
3029
3029
  `;for(let a of o.subsets)for(let l of o.weights)for(let i of r)s+=`@import "${o.source}/${a}-${l}${i==="italic"?"-italic":""}.css";
3030
3030
  `;s+=`
3031
3031
  `}for(let o of n)s+=`@font-face { font-family: "${o.familia} Fallback"; src: local("${o.local}");${o.estilo?` font-style: ${o.estilo};`:""} size-adjust: ${o.sizeAdjust}; ascent-override: ${o.ascent}; descent-override: ${o.descent}; line-gap-override: ${o.lineGap};${o.unicodeRange?` unicode-range: ${o.unicodeRange};`:""} }
3032
- `;return s}var Gd=/^(ui-)?(sans-serif|serif|monospace|system-ui|cursive|fantasy|math|emoji|fangsong|rounded)$|^-apple-system$|^BlinkMacSystemFont$/i;function ha(e){let n=e.split(","),s=n[0].trim().replace(/^['"]|['"]$/g,"");return!s||Gd.test(s)||s.endsWith(" Fallback")||e.includes(`"${s} Fallback"`)?e:[n[0],` "${s} Fallback"`,...n.slice(1)].join(",")}var ba="0.15.0";var Hn=ba;var Go=(e,n=qe)=>e.replace(/var\(--ts-sizing-(\d+)\)/g,(s,o)=>`${n[o]}px`);function ya(e="class",n=Y,s=Hn){let o=`/* Archivo auto-generado: RESET / BASE */
3032
+ `;return s}var Qd=/^(ui-)?(sans-serif|serif|monospace|system-ui|cursive|fantasy|math|emoji|fangsong|rounded)$|^-apple-system$|^BlinkMacSystemFont$/i;function xa(e){let n=e.split(","),s=n[0].trim().replace(/^['"]|['"]$/g,"");return!s||Qd.test(s)||s.endsWith(" Fallback")||e.includes(`"${s} Fallback"`)?e:[n[0],` "${s} Fallback"`,...n.slice(1)].join(",")}var wa="0.15.1";var ts=wa;var Qo=(e,n=Ve)=>e.replace(/var\(--ts-sizing-(\d+)\)/g,(s,o)=>`${n[o]}px`);function $a(e="class",n=K,s=ts){let o=`/* Archivo auto-generado: RESET / BASE */
3033
3033
 
3034
3034
  `;return o+=`*, *::before, *::after { box-sizing: border-box; }
3035
3035
  `,o+=`* { margin: 0; }
@@ -3089,14 +3089,14 @@ ${l}`}return{components:n,utilities:s}}function fa(e={}){let n=[];for(let[,s]of
3089
3089
  `,s&&(o+=`:root { --ts-version: "${s}"; }
3090
3090
  `),o+=`.dark { color-scheme: dark; }
3091
3091
 
3092
- `,e==="media"&&(o+=`@media ${he} {
3093
- ${re} { color-scheme: dark; }
3092
+ `,e==="media"&&(o+=`@media ${xe} {
3093
+ ${de} { color-scheme: dark; }
3094
3094
  }
3095
3095
 
3096
3096
  `),o+=`::selection { background-color: var(--color-brand-500); color: var(--color-brand-500-contrast); }
3097
3097
 
3098
3098
  `,o+=`:focus { outline: none; }
3099
- `,o+=`${sr}
3099
+ `,o+=`${ar}
3100
3100
  `,o+=`/* Scrollbar */
3101
3101
  `,o+=`* { scrollbar-width: thin; scrollbar-color: var(--color-grayAlpha-300) transparent; }
3102
3102
  `,o+=`::-webkit-scrollbar { width: 10px; height: 10px; }
@@ -3105,22 +3105,22 @@ ${l}`}return{components:n,utilities:s}}function fa(e={}){let n=[];for(let[,s]of
3105
3105
  `,o+=`::-webkit-scrollbar-thumb:hover { background-color: var(--color-grayAlpha-400); }
3106
3106
 
3107
3107
  `,o+=`[hidden] { display: none !important; }
3108
- `,o+=`${An([...rs(n.letterSpacing),...as(n.lineHeights,r=>Go(r,n.sizing))])}
3109
- `,o}var va={light:"var(--color-grayAlpha-100)",dark:"var(--color-grayAlpha-200)"};function xa(e){return{light:e?.light??va.light,dark:e?.dark??va.dark}}function gn(e,n){return e===n?e:`light-dark(${e}, ${n})`}var Zd=["1","4"],Kd=/^0+(\.0+)?(px|em|rem)?$/;function wa(e){return Zd.flatMap(n=>e?.[n]!==void 0&&Kd.test(e[n].trim())?[[n,e[n]]]:[])}var $a=(e,n,s)=>`Tema "${e}": borderWidths.${n} vale ${s} y ese ancho dibuja el foco (${n==="1"?"su l\xEDnea":"su halo"}), as\xED que ese trazo desaparece y el foco se ve menos o nada. Se usa un ancho mayor que 0, o se deja el de f\xE1brica.`;var Xd="@supports not (color: light-dark(#000, #fff))",mn="light-dark(";function ka(e,n){for(let s=e.indexOf(mn);s>=0;s=e.indexOf(mn)){let o=s+mn.length,r=1,a=-1,l=o;for(;r>0;l++)e[l]==="("?r++:e[l]===")"?r--:e[l]===","&&r===1&&a<0&&(a=l);e=e.slice(0,s)+(n===0?e.slice(o,a):e.slice(a+1,l-1)).trim()+e.slice(l)}return e}function Yd(e){let n=[];for(let s of e.split(";")){let o=s.indexOf(":");o>0&&s.slice(0,o).trim().startsWith("--")&&n.push([s.slice(0,o).trim(),s.slice(o+1).trim()])}return n}function Qd(e){let n=e.filter(([o])=>!o.startsWith("--ts-material-")),s=new Set(n.filter(([,o])=>o.includes(mn)||o.includes("var(--color-")).map(([o])=>o));for(let o=-1;o!==s.size;){o=s.size;for(let[r,a]of n)[...a.matchAll(/var\(\s*(--[\w-]+)/g)].some(l=>s.has(l[1]))&&s.add(r)}return n.filter(([o])=>s.has(o))}function tp(e,n,s){let o=(r,a,l=s)=>`${l}${r} {
3110
- ${e.map(([i,c])=>`${l} ${i}: ${ka(c,a)};
3108
+ `,o+=`${Ln([...gs(n.letterSpacing),...ms(n.lineHeights,r=>Qo(r,n.sizing))])}
3109
+ `,o}var ka={light:"var(--color-grayAlpha-100)",dark:"var(--color-grayAlpha-200)"};function Sa(e){return{light:e?.light??ka.light,dark:e?.dark??ka.dark}}function xn(e,n){return e===n?e:`light-dark(${e}, ${n})`}var ep=["1","4"],np=/^0+(\.0+)?(px|em|rem)?$/;function Ca(e){return ep.flatMap(n=>e?.[n]!==void 0&&np.test(e[n].trim())?[[n,e[n]]]:[])}var Ta=(e,n,s)=>`Tema "${e}": borderWidths.${n} vale ${s} y ese ancho dibuja el foco (${n==="1"?"su l\xEDnea":"su halo"}), as\xED que ese trazo desaparece y el foco se ve menos o nada. Se usa un ancho mayor que 0, o se deja el de f\xE1brica.`;var sp="@supports not (color: light-dark(#000, #fff))",wn="light-dark(";function ja(e,n){for(let s=e.indexOf(wn);s>=0;s=e.indexOf(wn)){let o=s+wn.length,r=1,a=-1,l=o;for(;r>0;l++)e[l]==="("?r++:e[l]===")"?r--:e[l]===","&&r===1&&a<0&&(a=l);e=e.slice(0,s)+(n===0?e.slice(o,a):e.slice(a+1,l-1)).trim()+e.slice(l)}return e}function op(e){let n=[];for(let s of e.split(";")){let o=s.indexOf(":");o>0&&s.slice(0,o).trim().startsWith("--")&&n.push([s.slice(0,o).trim(),s.slice(o+1).trim()])}return n}function ip(e){let n=e.filter(([o])=>!o.startsWith("--ts-material-")),s=new Set(n.filter(([,o])=>o.includes(wn)||o.includes("var(--color-")).map(([o])=>o));for(let o=-1;o!==s.size;){o=s.size;for(let[r,a]of n)[...a.matchAll(/var\(\s*(--[\w-]+)/g)].some(l=>s.has(l[1]))&&s.add(r)}return n.filter(([o])=>s.has(o))}function rp(e,n,s){let o=(r,a,l=s)=>`${l}${r} {
3110
+ ${e.map(([i,c])=>`${l} ${i}: ${ja(c,a)};
3111
3111
  `).join("")}${l}}
3112
- `;return o(":root, .scheme-light",0)+(n==="media"?`${s}@media ${he} {
3113
- ${o(re,1,`${s} `)}${s}}
3114
- `:"")+o(".dark, .scheme-dark",1)}function Sa(e,n="class",s=""){let o=Qd(Yd(e));if(o.length===0)return"";let r=o.filter(([,i])=>!i.includes(mn)),a=`.scheme-light, .dark, .scheme-dark${n==="media"?`, ${re}`:""}`,l=r.length?` ${a} {
3112
+ `;return o(":root, .scheme-light",0)+(n==="media"?`${s}@media ${xe} {
3113
+ ${o(de,1,`${s} `)}${s}}
3114
+ `:"")+o(".dark, .scheme-dark",1)}function za(e,n="class",s=""){let o=ip(op(e));if(o.length===0)return"";let r=o.filter(([,i])=>!i.includes(wn)),a=`.scheme-light, .dark, .scheme-dark${n==="media"?`, ${de}`:""}`,l=r.length?` ${a} {
3115
3115
  ${r.map(([i,c])=>` ${i}: ${c};
3116
3116
  `).join("")} }
3117
3117
  `:"";return`
3118
- ${Xd} {
3119
- ${tp(o.filter(([,i])=>i.includes(mn)),n," ")}${l}${s}}
3120
- `}var ep=.01;function np(e,n,s){let o=[...e.letterSpacing?.normal===void 0?[]:rs(n),...as(e.lineHeights??{},r=>Go(r,s))];return o.length?o:void 0}var Jo=(e,n)=>(n==="spacing"?{}:e?.[n])??{};function sp(e){let n={comfortable:{},compact:{}};for(let s of["comfortable","compact"])for(let o of Object.keys(se)){let r=Jo(e?.[s],o);Object.keys(r).length&&(n[s][o]=r)}return Object.keys(n.comfortable).length||Object.keys(n.compact).length?n:void 0}function op(e,n,s){let o=[];for(let[r,{light:a,dark:l}]of Object.entries(n)){oo(s[r])&&o.push({code:"seed-white",params:{theme:e,color:r,seed:s[r]}});for(let[i,c]of[["light",a],["dark",l]])!c.adjusted||Math.abs(c.dL)<ep||o.push({code:"seed-shifted",params:{theme:e,color:r,seed:s[r],mode:i,step:jn[c.seedStep],deltaL:c.dL}})}return o}var Ta=.05,Ca=e=>{let{l:n,c:s,h:o}=Qt(e),r=o*Math.PI/180;return[n,s*Math.cos(r),s*Math.sin(r)]};function ip(e,n){let[s,o,r]=Ca(e),[a,l,i]=Ca(n);return Math.hypot(s-a,o-l,r-i)}function ja(e,n){let s=zn(e.def)??e.def.colors.brand,o={...n,...e.def.locked?{}:e.def.states??{}},r=[];for(let[a,l]of Object.entries(o)){let i=ip(s,l);i>=Ta||r.push({code:"brand-like-status",params:{theme:e.name,brand:s,status:a,seed:l,distance:i,threshold:Ta}})}return r}function xe(e,n,s,o=Y,r={}){let a=e.def.locked?{}:e.def,l=Object.keys(s),i={...s,...a.states??{}},c=to(a.neutral),d=to(a.neutral,"p3"),u={...e.def.colors,...i},y=io(u,c,"srgb"),t=io(u,d,"p3"),m=zn(e.def),h=ro(m,c,"srgb"),g=ro(m,d,"p3"),b={...c.light,...y.light,...h.light},p={...c.dark,...y.dark,...h.dark},v=Ji({light:b,dark:p},{light:{...d.light,...t.light,...g.light},dark:{...d.dark,...t.dark,...g.dark}}),f={};for(let[k,I]of Object.entries(b)){f[k]={};for(let[D,W]of Object.entries(I)){let J=p[k]?.[D],Z=J!==void 0?{light:W,dark:J}:{light:W},M=v[k]?.[D];M&&(Z.p3=M),f[k][D]=Z}}let w={};for(let[k,I]of Object.entries(i))if(l.includes(k))w[k]={kind:"status"};else{let{l:D,c:W,h:J}=Qt(I);w[k]={kind:"custom",l:D,c:W,h:J,contrastLight:no(D,W,J,!1),contrastDark:no(D,W,J,!0)}}return{sizing:o.sizing,fontSizes:{...o.fontSizes,...a.fontSizes??{}},lineHeights:{...o.lineHeights,...a.lineHeights??{}},letterSpacing:{...o.letterSpacing,...a.letterSpacing??{}},fontWeights:{...o.fontWeights,...a.fontWeights??{}},rtl:np(a,{...o.letterSpacing,...a.letterSpacing??{}},o.sizing),fonts:{...n,...a.fonts??{}},colors:f,semantic:{heading:"var(--color-gray-1000)",copy:"var(--color-gray-1000)",subtle:"var(--color-gray-700)",label:"var(--color-gray-1000)",btn:"var(--color-gray-1000)",highlight:gn("var(--color-gray-100)","var(--color-gray-200)"),"highlight-strong":gn("var(--color-gray-200)","var(--color-gray-300)"),"toggle-thumb":gn("var(--color-background-100)","var(--color-gray-1000)"),"toggle-icon":gn("var(--color-gray-1000)","var(--color-gray-100)"),...a.semantic??{}},states:w,gaps:{...o.gaps,...a.spacing?.gaps??{}},spaces:{...o.spaces,...a.spacing?.spaces??{}},radius:{...o.radius,...a.radius??{}},cornerShape:a.cornerShape??"round",borderWidths:{...o.borderWidths,...a.borderWidths??{}},blurs:{...o.blurs,...a.blurs??{}},zIndex:{...tn,...a.zIndex??{}},opacities:{...o.opacities,...a.opacities??{}},screens:{...o.screens,...a.screens??{}},components:Object.fromEntries(fa(r).map(({slug:k,prefijo:I,tokens:D})=>[k,{prefix:I,tokens:Object.fromEntries(Object.entries(D).map(([W,J])=>[W,a.components?.[k]?.[W]??J]))}])),contrastThreshold:a.contrastThreshold??Qi,focusRing:e.def.focusRing,shadows:{...o.shadows,...a.shadows??{}},motion:{durations:{...o.durations,...a.motion?.durations??{}},loops:{...En,...a.motion?.loops??{}},iterations:{...Rn,...a.motion?.iterations??{}},easings:{...o.easings,...a.motion?.easings??{}}},densityComfortable:Object.fromEntries(Object.entries(se).map(([k,{comfortable:I}])=>[k,{...I,...Jo(a.density?.comfortable,k)}])),densityCompact:Object.fromEntries(Object.entries(se).map(([k,{compact:I}])=>[k,{...I,...Jo(a.density?.compact,k)}])),densitySpacingCompact:{...Qe,...a.density?.compact?.spacing?.gaps??{}},densitySpacesCompact:{...Qe,...a.density?.compact?.spacing?.spaces??{}},densityOverrides:sp(a.density),material:{light:a.material?.light,dark:a.material?.dark},spotlight:xa(a.spotlight),warnings:[...op(e.name,{...y.escalas,...h.escalas},m===void 0?u:{...u,primary:m}),...wa(a.borderWidths).map(([k,I])=>({code:"border-width-zero",params:{theme:e.name,name:k,value:I}}))]}}function za(e){let n="";return e?.bg&&(n+=` --ts-material-bg: ${e.bg};
3118
+ ${sp} {
3119
+ ${rp(o.filter(([,i])=>i.includes(wn)),n," ")}${l}${s}}
3120
+ `}var ap=.01;function lp(e,n,s){let o=[...e.letterSpacing?.normal===void 0?[]:gs(n),...ms(e.lineHeights??{},r=>Qo(r,s))];return o.length?o:void 0}var ti=(e,n)=>(n==="spacing"?{}:e?.[n])??{};function cp(e){let n={comfortable:{},compact:{}};for(let s of["comfortable","compact"])for(let o of Object.keys(ae)){let r=ti(e?.[s],o);Object.keys(r).length&&(n[s][o]=r)}return Object.keys(n.comfortable).length||Object.keys(n.compact).length?n:void 0}function dp(e,n,s){let o=[];for(let[r,{light:a,dark:l}]of Object.entries(n)){po(s[r])&&o.push({code:"seed-white",params:{theme:e,color:r,seed:s[r]}});for(let[i,c]of[["light",a],["dark",l]])!c.adjusted||Math.abs(c.dL)<ap||o.push({code:"seed-shifted",params:{theme:e,color:r,seed:s[r],mode:i,step:qn[c.seedStep],deltaL:c.dL}})}return o}var Ea=.05,Ra=e=>{let{l:n,c:s,h:o}=se(e),r=o*Math.PI/180;return[n,s*Math.cos(r),s*Math.sin(r)]};function pp(e,n){let[s,o,r]=Ra(e),[a,l,i]=Ra(n);return Math.hypot(s-a,o-l,r-i)}function Da(e,n){let s=In(e.def)??e.def.colors.brand,o={...n,...e.def.locked?{}:e.def.states??{}},r=[];for(let[a,l]of Object.entries(o)){let i=pp(s,l);i>=Ea||r.push({code:"brand-like-status",params:{theme:e.name,brand:s,status:a,seed:l,distance:i,threshold:Ea}})}return r}function Se(e,n,s,o=K,r={}){let a=e.def.locked?{}:e.def,l=Object.keys(s),i={...s,...a.states??{}},c=ro(a.neutral),d=ro(a.neutral,"p3"),u={...e.def.colors,...i},y=uo(u,c,"srgb"),t=uo(u,d,"p3"),m=In(e.def),h=go(m,c,"srgb"),g=go(m,d,"p3"),b={...c.light,...y.light,...h.light},p={...c.dark,...y.dark,...h.dark},v=Yi({light:b,dark:p},{light:{...d.light,...t.light,...g.light},dark:{...d.dark,...t.dark,...g.dark}}),f={};for(let[k,P]of Object.entries(b)){f[k]={};for(let[D,W]of Object.entries(P)){let G=p[k]?.[D],J=G!==void 0?{light:W,dark:G}:{light:W},A=v[k]?.[D];A&&(J.p3=A),f[k][D]=J}}let w={};for(let[k,P]of Object.entries(i))if(l.includes(k))w[k]={kind:"status"};else{let{l:D,c:W,h:G}=se(P);w[k]={kind:"custom",l:D,c:W,h:G,contrastLight:lo(D,W,G,!1),contrastDark:lo(D,W,G,!0)}}return{sizing:o.sizing,fontSizes:{...o.fontSizes,...a.fontSizes??{}},lineHeights:{...o.lineHeights,...a.lineHeights??{}},letterSpacing:{...o.letterSpacing,...a.letterSpacing??{}},fontWeights:{...o.fontWeights,...a.fontWeights??{}},rtl:lp(a,{...o.letterSpacing,...a.letterSpacing??{}},o.sizing),fonts:{...n,...a.fonts??{}},colors:f,semantic:{heading:"var(--color-gray-1000)",copy:"var(--color-gray-1000)",subtle:"var(--color-gray-700)",label:"var(--color-gray-1000)",btn:"var(--color-gray-1000)",highlight:xn("var(--color-gray-100)","var(--color-gray-200)"),"highlight-strong":xn("var(--color-gray-200)","var(--color-gray-300)"),"toggle-thumb":xn("var(--color-background-100)","var(--color-gray-1000)"),"toggle-icon":xn("var(--color-gray-1000)","var(--color-gray-100)"),...a.semantic??{}},states:w,gaps:{...o.gaps,...a.spacing?.gaps??{}},spaces:{...o.spaces,...a.spacing?.spaces??{}},radius:{...o.radius,...a.radius??{}},cornerShape:a.cornerShape??"round",borderWidths:{...o.borderWidths,...a.borderWidths??{}},blurs:{...o.blurs,...a.blurs??{}},zIndex:{...ln,...a.zIndex??{}},opacities:{...o.opacities,...a.opacities??{}},screens:{...o.screens,...a.screens??{}},components:Object.fromEntries(va(r).map(({slug:k,prefijo:P,tokens:D})=>[k,{prefix:P,tokens:Object.fromEntries(Object.entries(D).map(([W,G])=>[W,a.components?.[k]?.[W]??G]))}])),contrastThreshold:a.contrastThreshold??sr,focusRing:e.def.focusRing,shadows:{...o.shadows,...a.shadows??{}},motion:{durations:{...o.durations,...a.motion?.durations??{}},loops:{...Pn,...a.motion?.loops??{}},iterations:{...Nn,...a.motion?.iterations??{}},easings:{...o.easings,...a.motion?.easings??{}}},densityComfortable:Object.fromEntries(Object.entries(ae).map(([k,{comfortable:P}])=>[k,{...P,...ti(a.density?.comfortable,k)}])),densityCompact:Object.fromEntries(Object.entries(ae).map(([k,{compact:P}])=>[k,{...P,...ti(a.density?.compact,k)}])),densitySpacingCompact:{...an,...a.density?.compact?.spacing?.gaps??{}},densitySpacesCompact:{...an,...a.density?.compact?.spacing?.spaces??{}},densityOverrides:cp(a.density),material:{light:a.material?.light,dark:a.material?.dark},spotlight:Sa(a.spotlight),warnings:[...dp(e.name,{...y.escalas,...h.escalas},m===void 0?u:{...u,primary:m}),...Ca(a.borderWidths).map(([k,P])=>({code:"border-width-zero",params:{theme:e.name,name:k,value:P}}))]}}function Aa(e){let n="";return e?.bg&&(n+=` --ts-material-bg: ${e.bg};
3121
3121
  `),e?.border&&(n+=` --ts-material-border: ${e.border};
3122
3122
  `),e?.shadowRgb&&(n+=` --ts-material-shadow-rgb: ${e.shadowRgb};
3123
- `),n}function we(e,n="class"){let s=e,o=gn,r=za,a=`/* Archivo auto-generado: TOKENS */
3123
+ `),n}function Ce(e,n="class"){let s=e,o=xn,r=Aa,a=`/* Archivo auto-generado: TOKENS */
3124
3124
 
3125
3125
  :root {
3126
3126
  `;for(let[d,u]of Object.entries(s.sizing))a+=` --ts-sizing-${d}: ${u}px;
@@ -3128,7 +3128,7 @@ ${tp(o.filter(([,i])=>i.includes(mn)),n," ")}${l}${s}}
3128
3128
  `;for(let[d,u]of Object.entries(s.lineHeights))a+=` --ts-lh-${d}: ${u};
3129
3129
  `;for(let[d,u]of Object.entries(s.letterSpacing))a+=` --ts-ls-${d}: ${u};
3130
3130
  `;for(let[d,u]of Object.entries(s.fontWeights))a+=` --ts-fw-${d}: ${u};
3131
- `;for(let[d,u]of Object.entries(s.fonts))a+=` --font-${d}: ${ha(u)};
3131
+ `;for(let[d,u]of Object.entries(s.fonts))a+=` --font-${d}: ${xa(u)};
3132
3132
  `;for(let[d,u]of Object.entries(s.colors))for(let[y,{light:t,dark:m}]of Object.entries(u))a+=` --color-${d}-${y}: ${m!==void 0?o(t,m):t};
3133
3133
  `;for(let[d,u]of Object.entries(s.semantic))a+=` --ts-color-${d}: ${u};
3134
3134
  `;for(let[d,u]of Object.entries(s.states))if(u.kind==="status")a+=` --ts-color-${d}: var(--color-${d}-500);
@@ -3166,8 +3166,8 @@ ${tp(o.filter(([,i])=>i.includes(mn)),n," ")}${l}${s}}
3166
3166
  .dark {
3167
3167
  ${i}`),i&&n==="media"&&(a+=`}
3168
3168
 
3169
- @media ${he} {
3170
- ${re} {
3169
+ @media ${xe} {
3170
+ ${de} {
3171
3171
  ${i} }
3172
3172
  `),a+=`}
3173
3173
 
@@ -3180,16 +3180,16 @@ ${i} }
3180
3180
  @supports (corner-shape: squircle) {
3181
3181
  :root {
3182
3182
  --ts-corner-shape: squircle;
3183
- `;for(let[d,u]of Object.entries(Ki(s.radius)))a+=` --ts-radius-${d}: ${u};
3183
+ `;for(let[d,u]of Object.entries(tr(s.radius)))a+=` --ts-radius-${d}: ${u};
3184
3184
  `;a+=` }
3185
3185
  }
3186
3186
  `}s.rtl&&(a+=`
3187
- ${An(s.rtl)}
3187
+ ${Ln(s.rtl)}
3188
3188
  `),a+=`
3189
3189
  @media (prefers-reduced-motion: reduce) {
3190
3190
  :root {
3191
- `;for(let d of Object.keys(s.motion.durations))a+=` --ts-duration-${d}: ${ao};
3192
- `;for(let d of Object.keys(s.motion.iterations))a+=` --ts-iterations-${d}: ${lo};
3191
+ `;for(let d of Object.keys(s.motion.durations))a+=` --ts-duration-${d}: ${mo};
3192
+ `;for(let d of Object.keys(s.motion.iterations))a+=` --ts-iterations-${d}: ${fo};
3193
3193
  `;a+=` }
3194
3194
  }
3195
3195
  `;let c="";for(let[d,u]of Object.entries(s.colors))for(let[y,{p3:t}]of Object.entries(u))t&&(c+=` --color-${d}-${y}: ${o(t.light,t.dark)};
@@ -3198,10 +3198,10 @@ ${An(s.rtl)}
3198
3198
  :root {
3199
3199
  ${c} }
3200
3200
  }
3201
- `),a+=Sa(l,n,er(n)),a}function Zo(e){let n=(s,o)=>{let r=za(o);return r?`
3201
+ `),a+=za(l,n,ir(n)),a}function ei(e){let n=(s,o)=>{let r=Aa(o);return r?`
3202
3202
  ${s} {
3203
3203
  ${r}}
3204
- `:""};return n(".scheme-dark",e.material.dark)+n(".scheme-light",e.material.light)}var Ea=e=>e.includes("scheme-dark")||e.includes("scheme-light");var rp=()=>({userColors:{brand:"#4F46E5"},userStates:Gn,userGridMins:Xo}),Ko=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,ap=new Set(["__proto__","constructor","prototype","tostring"]),js=e=>ap.has(e.toLowerCase());function lp(e){let n=Jt(e.userColors,e.userStates),s=t=>pt(t).map(m=>m.name.replaceAll("\\","")),o=[...s(Vt(n,e.userGridMins,Y)),...s(Nt())],r=s(Zt(e.userColors,e.userStates,Y)),a=new Set([...o,...Ct(o).values()]),l=new Set([...a,...r,...Ct(r).values()]),i={name:"x",group:"root",def:{colors:{...rp().userColors,...e.userColors}}},c=we(xe(i,{},e.userStates)),d=new Set([...c.matchAll(/^\s*(--[\w-]+):/gm)].map(t=>t[1])),u=t=>t.split("-")[0],y=new Set([...[...l].map(t=>u(t.slice(3))),...Fn,...pn,...[...d].map(t=>u(t.startsWith("--ts-")?t.slice(5):t.slice(2)))]);return{emitidos:l,aplicables:a,slugs:new Set(Object.keys(Un.componentes)),variables:d,reservadas:y}}var $e=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ra=(e,n)=>Fn.includes(e)||n.reservadas.has(e)||[...n.slugs].some(s=>s===e||s.replaceAll("-","")===e)||[...n.emitidos].some(s=>s===`ts-${e}`||s.startsWith(`ts-${e}-`));function Da(e){return e.flatMap(n=>n.t==="apply"?n.destinos:n.t==="decl"?[]:Da(n.hijos))}function Oa(e){return e.flatMap(n=>n.t==="decl"?[{prop:n.prop,valor:n.valor}]:n.t==="apply"?[]:Oa(n.hijos))}var Aa=2**30;function cp(e,n,s,o,r=new Set){let a=[],l={root:[],slug:[],block:[],utility:[],variable:[]},i=(M,q)=>{a.push({path:M,...q})},c=(M,q)=>i(M,{code:"ext-shape",params:{expected:q}}),d=`extensions[${JSON.stringify(n)}]`;if(!$e(e))return c(d,"object"),{errores:a,nombres:l,raices:[]};e.components!==void 0&&!$e(e.components)&&c(`${d}.components`,"object"),e.utilities!==void 0&&typeof e.utilities!="string"&&c(`${d}.utilities`,"string");let u=Array.isArray(e.roots)&&e.roots.every(M=>typeof M=="string")?e.roots:void 0;e.roots!==void 0&&u===void 0&&c(`${d}.roots`,"string[]");let y=$e(e.components)?Object.entries(e.components):[];y.length>at.componentes&&(i(`${d}.components`,{code:"ext-limit",params:{what:"components",max:at.componentes}}),y=[]);let t=new Map,m=new Map;for(let[M,q]of y){let F=`${d}.components.${M}`;if(!Ko.test(M)||js(M)?i(F,{code:"ext-name-invalid",params:{kind:"slug",name:M}}):s.slugs.has(M)?i(F,{code:"ext-conflicts-core",params:{kind:"slug",name:M}}):l.slug.push(M),!$e(q)){c(F,"object");continue}if(!Array.isArray(q.roots)||q.roots.some(T=>typeof T!="string")){c(`${F}.roots`,"string[]");continue}if(q.roots.length===0&&i(`${F}.roots`,{code:"ext-roots-empty",params:{}}),q.roots.length>at.raices){i(`${F}.roots`,{code:"ext-limit",params:{what:"roots",max:at.raices}});continue}let P=[];for(let T of q.roots){if(!Ko.test(T)||js(T)){i(`${F}.roots`,{code:"ext-name-invalid",params:{kind:"root",name:T}});continue}let N=t.get(T);if(N!==void 0){i(`${F}.roots`,{code:"ext-root-repeated",params:{root:T,other:N}});continue}t.set(T,M),P.push(T),l.root.push(T),Ra(T,s)&&i(`${F}.roots`,{code:"ext-conflicts-core",params:{kind:"root",name:T}})}m.set(M,P)}if(u!==void 0)if(u.length>at.raices)i(`${d}.roots`,{code:"ext-limit",params:{what:"roots",max:at.raices}});else{let M=[...t.keys()],q=(F,P)=>F===P||F.startsWith(`${P}-`)||P.startsWith(`${F}-`);for(let F of u){if(!Ko.test(F)||js(F)){i(`${d}.roots`,{code:"ext-name-invalid",params:{kind:"root",name:F}});continue}let P=t.get(F);if(P!==void 0){i(`${d}.roots`,{code:"ext-root-repeated",params:{root:F,other:P}});continue}t.set(F,""),l.root.push(F),Ra(F,s)&&i(`${d}.roots`,{code:"ext-conflicts-core",params:{kind:"root",name:F}});for(let T of M)q(F,T)&&i(`${d}.roots`,{code:"ext-roots-overlap",params:{root:F,other:T,package:n,otherPackage:n}})}}let h=[...t.keys()],g=M=>{let q;for(let F of h)(M===`ts-${F}`||M.startsWith(`ts-${F}-`))&&(q===void 0||F.length>q.length)&&(q=F);return q===void 0?void 0:t.get(q)},b=new Set;for(let[M,q]of y){if(!$e(q)||q.tokens===void 0)continue;let F=`${d}.components.${M}.tokens`;if(!$e(q.tokens)){c(F,"object");continue}let P=Object.entries(q.tokens);if(P.length>at.tokens){i(F,{code:"ext-limit",params:{what:"tokens",max:at.tokens}});continue}let T=m.get(M)?.[0];for(let[N,z]of P){let C=`${F}.${N}`;if(N.length>at.clave){i(C.slice(0,120),{code:"ext-limit",params:{what:"key-length",max:at.clave}});continue}if(!Uo.test(N)||js(N)){i(C,{code:"ext-name-invalid",params:{kind:"token",name:N}});continue}let L=T===void 0?void 0:`--ts-${T}-${N}`;if(typeof z=="string"&&z.length>at.valor)i(C,{code:"ext-limit",params:{what:"value-length",max:at.valor}});else{let G=!0;if(un(a,()=>Le(C,z),()=>{G=!1}),G&&typeof z=="string")for(let X of da(z,L??N))i(C,X)}L!==void 0&&(l.variable.push(L),s.variables.has(L)&&i(C,{code:"ext-conflicts-core",params:{kind:"variable",name:L}}),b.has(L)&&i(C,{code:"ext-variable-repeated",params:{variable:L}}),b.add(L))}}a.push(...Ss(o)),o.reduce((M,q)=>M+q.parse.bloques.length,0)>at.bloques&&i(d,{code:"ext-limit",params:{what:"blocks",max:at.bloques}});let v=new Set,f=new Map,w=new Map;for(let M of o)for(let q of M.parse.bloques)f.has(q.name)||(f.set(q.name,M.slug??""),w.set(q.name,q.nodos));let k=new Map;for(let M of o){let q=M.slug,F=q===void 0?void 0:m.get(q)??[];for(let{name:T,nodos:N}of M.parse.bloques){v.has(T)&&i(M.ruta,{code:"ext-block-repeated",params:{block:T}}),v.add(T),(s.emitidos.has(T)||gt(T))&&i(M.ruta,{code:"ext-conflicts-core",params:{kind:q===void 0?"utility":"block",name:T}}),l[q===void 0?"utility":"block"].push(T),q!==void 0?g(T)!==q&&i(M.ruta,{code:"ext-block-not-owned",params:{block:T,roots:F??[]}}):g(T)===void 0&&i(M.ruta,{code:"ext-utility-no-root",params:{block:T}});for(let{prop:z,valor:C}of Oa(N)){let L=`${z}: ${C.replace(/"[^"]*"|'[^']*'/g,X=>X[0]+X[0])}`,G=oa(L);G&&i(M.ruta,{code:"ext-color-literal",params:{block:T,value:G.value,kind:G.kind}});for(let X of new Set(ia(L))){if(s.variables.has(X)||h.some(E=>X===`--ts-${E}`||X.startsWith(`--ts-${E}-`)))continue;let $=mt(X,s.variables);i(M.ruta,{code:"ext-var-not-public",params:{block:T,variable:X,...$&&{suggestion:$}}})}}k.set(T,Da(N))}let P=Ur(M.parse.bloques.map(T=>T.css).join(""),[...Fn,...h]);for(let T of P)i(M.ruta,{code:"ext-modifier-loose",params:{block:T.utility,selector:T.selector,motive:T.motivo}})}for(let[M,q]of y)$e(q)&&q.css!==void 0&&typeof q.css!="string"&&c(`${d}.components.${M}.css`,"string");let I=new Map;for(let M of o)for(let q of M.parse.bloques)I.has(q.name)||I.set(q.name,M.ruta);let D=new Map;for(let[M,q]of k){let F=I.get(M),P=f.get(M);for(let T of new Set(q)){if(s.aplicables.has(T))continue;let N=f.get(T);if(N!==void 0&&N===P){D.set(M,[...D.get(M)??[],T]);continue}let z=N!==void 0||r.has(T)?"other-component":s.emitidos.has(T)?"core-component":"unknown",C=z==="unknown"?mt(T,s.aplicables):void 0;i(F,{code:"ext-apply-target",params:{block:M,target:T,reason:z,...C&&{suggestion:C}}})}}let W=new Map,J=!1,Z=M=>{W.set(M,1);for(let q of D.get(M)??[])W.get(q)===1?(J=!0,i(I.get(M),{code:"ext-apply-target",params:{block:M,target:q,reason:"cycle"}})):W.has(q)||Z(q);W.set(M,2)};for(let M of D.keys())W.has(M)||Z(M);if(!J){let M=new Map,q=new Map,F=new Map;for(let N of o)for(let z of N.parse.bloques)F.has(z.name)||F.set(z.name,z.css.length);let P=N=>{let z=M.get(N);if(z!==void 0)return{d:z,t:q.get(N)};let C=0,L=F.get(N)??0;for(let G of new Set(D.get(N)??[])){let X=P(G);C=Math.max(C,X.d+1),L=Math.min(Aa,L+X.t*k.get(N).filter($=>$===G).length)}return M.set(N,C),q.set(N,L),{d:C,t:L}},T=0;for(let N of k.keys()){let{d:z,t:C}=P(N);T=Math.min(Aa,T+C),z>at.profundidadApply?i(I.get(N),{code:"ext-apply-budget",params:{block:N,limit:"depth",max:at.profundidadApply}}):C>at.expansionBloque&&i(I.get(N),{code:"ext-apply-budget",params:{block:N,limit:"block-size",max:at.expansionBloque}})}T>at.expansionTotal&&i(d,{code:"ext-apply-budget",params:{block:n,limit:"total-size",max:at.expansionTotal}})}return{errores:a,nombres:l,raices:h}}function Ma(e,n,s){let o=Bn(e),r=Object.values(n.themes).some(m=>m.components!==void 0);if(o.length===0&&!r)return[];let a=[],l=o.length?lp(s):void 0,i=o.map(([m,h])=>ks(h,m)),c=i.map(m=>new Set(m.flatMap(h=>h.parse.bloques.map(g=>g.name)))),d=new Map,u=new Map,y=new Map;o.forEach(([m,h],g)=>{let b=new Set(c.filter((f,w)=>w!==g).flatMap(f=>[...f])),p=cp(h,m,l,i[g],b);a.push(...p.errores);for(let f of Object.keys(p.nombres))for(let w of p.nombres[f]){let k=`${f==="utility"?"block":f}:${w}`,I=d.get(k);I!==void 0&&I!==m?a.push({path:`extensions[${JSON.stringify(m)}]`,code:"ext-conflicts-extension",params:{kind:f,name:w,package:m,other:I}}):d.set(k,m)}let v=`extensions[${JSON.stringify(m)}]`;for(let f of p.raices){let w=f.split("-");for(let I=1;I<w.length;I++){let D=w.slice(0,I).join("-"),W=u.get(D);W!==void 0&&W!==m&&a.push({path:v,code:"ext-roots-overlap",params:{root:f,other:D,package:m,otherPackage:W}})}let k=y.get(f);k!==void 0&&k.paquete!==m&&a.push({path:v,code:"ext-roots-overlap",params:{root:f,other:k.raiz,package:m,otherPackage:k.paquete}})}for(let f of p.raices){u.has(f)||u.set(f,m);let w=f.split("-");for(let k=1;k<w.length;k++){let I=w.slice(0,k).join("-");y.has(I)||y.set(I,{raiz:f,paquete:m})}}});let t=new Map;for(let[,m]of o)for(let[h,g]of Object.entries(m.components??{}))t.set(h,new Set(Object.keys($e(g?.tokens)?g.tokens:{})));for(let[m,h]of Object.entries(n.themes))for(let[g,b]of Object.entries(h.components??{})){let p=`themes.${m}.components.${g}`,v=t.get(g);if(!v){let f=mt(g,t.keys());a.push({path:p,code:"theme-component-unknown",params:{slug:g,...f&&{suggestion:f}}});continue}for(let[f,w]of Object.entries(b))if(v.has(f))un(a,()=>Le(`${p}.${f}`,w));else{let k=mt(f,v);a.push({path:`${p}.${f}`,code:"theme-component-token-unknown",params:{slug:g,key:f,...k&&{suggestion:k}}})}}return a}var Gn={success:"#16A34A",warning:"#D97706",info:"#2563EB",danger:"#D42424"},Xo={"2xs":"160px",xs:"200px",sm:"240px",md:"280px",lg:"340px",xl:"400px"};function qa(e){let n=e.lastIndexOf("/");return n===-1?{name:e,group:"root"}:{name:e.slice(n+1),group:e.slice(0,n)}}function Et(e,n={}){let s=Object.entries(e.themes).map(([t,m])=>{let{name:h,group:g}=qa(t);return{name:h,group:g,def:m}}),o=Object.fromEntries(s.flatMap(t=>Object.entries(t.def.colors??{}))),r={...e.defaultStates};for(let[t,m]of Object.entries(Gn))Object.hasOwn(r,t)||(r[t]=m);let a=r,l={...e.fonts??{}},i=e.gridMins??Xo,c=Ma(n,e,{userColors:o,userStates:a,userGridMins:i});Wn(c);let{userScales:d,userUtilities:u}=ta(e,o,a,i,Ts(n),_e(n)),y=s.some(t=>!t.def.locked&&Object.values(t.def.density??{}).some(m=>m&&Object.keys(m).length>0));return{themeEntries:s,userColors:o,defaultStates:r,userStates:a,userFonts:l,userGridMins:i,userScales:d,userUtilities:u,themeChangesDensity:y}}var ft=(e,n,s)=>`${e} ${e===1?n:s}`,Yo=e=>new Intl.ListFormat("en",{type:"disjunction"}).format(e),dp={ayuda:`
3204
+ `:""};return n(".scheme-dark",e.material.dark)+n(".scheme-light",e.material.light)}var Oa=e=>e.includes("scheme-dark")||e.includes("scheme-light");var up=()=>({userColors:{brand:"#4F46E5"},userStates:es,userGridMins:si}),ni=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,gp=new Set(["__proto__","constructor","prototype","tostring"]),Ms=e=>gp.has(e.toLowerCase());function mp(e){let n=Kt(e.userColors,e.userStates),s=t=>pt(t).map(m=>m.name.replaceAll("\\","")),o=[...s(Ft(n,e.userGridMins,K)),...s(Lt())],r=s(Xt(e.userColors,e.userStates,K)),a=new Set([...o,...Tt(o).values()]),l=new Set([...a,...r,...Tt(r).values()]),i={name:"x",group:"root",def:{colors:{...up().userColors,...e.userColors}}},c=Ce(Se(i,{},e.userStates)),d=new Set([...c.matchAll(/^\s*(--[\w-]+):/gm)].map(t=>t[1])),u=t=>t.split("-")[0],y=new Set([...[...l].map(t=>u(t.slice(3))),...Zn,...yn,...[...d].map(t=>u(t.startsWith("--ts-")?t.slice(5):t.slice(2)))]);return{emitidos:l,aplicables:a,slugs:new Set(Object.keys(Yn.componentes)),variables:d,reservadas:y}}var Te=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ma=(e,n)=>Zn.includes(e)||n.reservadas.has(e)||[...n.slugs].some(s=>s===e||s.replaceAll("-","")===e)||[...n.emitidos].some(s=>s===`ts-${e}`||s.startsWith(`ts-${e}-`));function Ia(e){return e.flatMap(n=>n.t==="apply"?n.destinos:n.t==="decl"?[]:Ia(n.hijos))}function Pa(e){return e.flatMap(n=>n.t==="decl"?[{prop:n.prop,valor:n.valor}]:n.t==="apply"?[]:Pa(n.hijos))}var qa=2**30;function fp(e,n,s,o,r=new Set){let a=[],l={root:[],slug:[],block:[],utility:[],variable:[]},i=(A,M)=>{a.push({path:A,...M})},c=(A,M)=>i(A,{code:"ext-shape",params:{expected:M}}),d=`extensions[${JSON.stringify(n)}]`;if(!Te(e))return c(d,"object"),{errores:a,nombres:l,raices:[]};e.components!==void 0&&!Te(e.components)&&c(`${d}.components`,"object"),e.utilities!==void 0&&typeof e.utilities!="string"&&c(`${d}.utilities`,"string");let u=Array.isArray(e.roots)&&e.roots.every(A=>typeof A=="string")?e.roots:void 0;e.roots!==void 0&&u===void 0&&c(`${d}.roots`,"string[]");let y=Te(e.components)?Object.entries(e.components):[];y.length>at.componentes&&(i(`${d}.components`,{code:"ext-limit",params:{what:"components",max:at.componentes}}),y=[]);let t=new Map,m=new Map;for(let[A,M]of y){let V=`${d}.components.${A}`;if(!ni.test(A)||Ms(A)?i(V,{code:"ext-name-invalid",params:{kind:"slug",name:A}}):s.slugs.has(A)?i(V,{code:"ext-conflicts-core",params:{kind:"slug",name:A}}):l.slug.push(A),!Te(M)){c(V,"object");continue}if(!Array.isArray(M.roots)||M.roots.some(T=>typeof T!="string")){c(`${V}.roots`,"string[]");continue}if(M.roots.length===0&&i(`${V}.roots`,{code:"ext-roots-empty",params:{}}),M.roots.length>at.raices){i(`${V}.roots`,{code:"ext-limit",params:{what:"roots",max:at.raices}});continue}let N=[];for(let T of M.roots){if(!ni.test(T)||Ms(T)){i(`${V}.roots`,{code:"ext-name-invalid",params:{kind:"root",name:T}});continue}let U=t.get(T);if(U!==void 0){i(`${V}.roots`,{code:"ext-root-repeated",params:{root:T,other:U}});continue}t.set(T,A),N.push(T),l.root.push(T),Ma(T,s)&&i(`${V}.roots`,{code:"ext-conflicts-core",params:{kind:"root",name:T}})}m.set(A,N)}if(u!==void 0)if(u.length>at.raices)i(`${d}.roots`,{code:"ext-limit",params:{what:"roots",max:at.raices}});else{let A=[...t.keys()],M=(V,N)=>V===N||V.startsWith(`${N}-`)||N.startsWith(`${V}-`);for(let V of u){if(!ni.test(V)||Ms(V)){i(`${d}.roots`,{code:"ext-name-invalid",params:{kind:"root",name:V}});continue}let N=t.get(V);if(N!==void 0){i(`${d}.roots`,{code:"ext-root-repeated",params:{root:V,other:N}});continue}t.set(V,""),l.root.push(V),Ma(V,s)&&i(`${d}.roots`,{code:"ext-conflicts-core",params:{kind:"root",name:V}});for(let T of A)M(V,T)&&i(`${d}.roots`,{code:"ext-roots-overlap",params:{root:V,other:T,package:n,otherPackage:n}})}}let h=[...t.keys()],g=A=>{let M;for(let V of h)(A===`ts-${V}`||A.startsWith(`ts-${V}-`))&&(M===void 0||V.length>M.length)&&(M=V);return M===void 0?void 0:t.get(M)},b=new Set;for(let[A,M]of y){if(!Te(M)||M.tokens===void 0)continue;let V=`${d}.components.${A}.tokens`;if(!Te(M.tokens)){c(V,"object");continue}let N=Object.entries(M.tokens);if(N.length>at.tokens){i(V,{code:"ext-limit",params:{what:"tokens",max:at.tokens}});continue}let T=m.get(A)?.[0];for(let[U,S]of N){let q=`${V}.${U}`;if(U.length>at.clave){i(q.slice(0,120),{code:"ext-limit",params:{what:"key-length",max:at.clave}});continue}if(!Ko.test(U)||Ms(U)){i(q,{code:"ext-name-invalid",params:{kind:"token",name:U}});continue}let O=T===void 0?void 0:`--ts-${T}-${U}`;if(typeof S=="string"&&S.length>at.valor)i(q,{code:"ext-limit",params:{what:"value-length",max:at.valor}});else{let B=!0;if(vn(a,()=>He(q,S),()=>{B=!1}),B&&typeof S=="string")for(let Z of ma(S,O??U))i(q,Z)}O!==void 0&&(l.variable.push(O),s.variables.has(O)&&i(q,{code:"ext-conflicts-core",params:{kind:"variable",name:O}}),b.has(O)&&i(q,{code:"ext-variable-repeated",params:{variable:O}}),b.add(O))}}a.push(...Ds(o)),o.reduce((A,M)=>A+M.parse.bloques.length,0)>at.bloques&&i(d,{code:"ext-limit",params:{what:"blocks",max:at.bloques}});let v=new Set,f=new Map,w=new Map;for(let A of o)for(let M of A.parse.bloques)f.has(M.name)||(f.set(M.name,A.slug??""),w.set(M.name,M.nodos));let k=new Map;for(let A of o){let M=A.slug,V=M===void 0?void 0:m.get(M)??[];for(let{name:T,nodos:U}of A.parse.bloques){v.has(T)&&i(A.ruta,{code:"ext-block-repeated",params:{block:T}}),v.add(T),(s.emitidos.has(T)||ut(T))&&i(A.ruta,{code:"ext-conflicts-core",params:{kind:M===void 0?"utility":"block",name:T}}),l[M===void 0?"utility":"block"].push(T),M!==void 0?g(T)!==M&&i(A.ruta,{code:"ext-block-not-owned",params:{block:T,roots:V??[]}}):g(T)===void 0&&i(A.ruta,{code:"ext-utility-no-root",params:{block:T}});for(let{prop:S,valor:q}of Pa(U)){let O=`${S}: ${q.replace(/"[^"]*"|'[^']*'/g,Z=>Z[0]+Z[0])}`,B=la(O);B&&i(A.ruta,{code:"ext-color-literal",params:{block:T,value:B.value,kind:B.kind}});for(let Z of new Set(ca(O))){if(s.variables.has(Z)||h.some(z=>Z===`--ts-${z}`||Z.startsWith(`--ts-${z}-`)))continue;let $=gt(Z,s.variables);i(A.ruta,{code:"ext-var-not-public",params:{block:T,variable:Z,...$&&{suggestion:$}}})}}k.set(T,Ia(U))}let N=Jr(A.parse.bloques.map(T=>T.css).join(""),[...Zn,...h]);for(let T of N)i(A.ruta,{code:"ext-modifier-loose",params:{block:T.utility,selector:T.selector,motive:T.motivo}})}for(let[A,M]of y)Te(M)&&M.css!==void 0&&typeof M.css!="string"&&c(`${d}.components.${A}.css`,"string");let P=new Map;for(let A of o)for(let M of A.parse.bloques)P.has(M.name)||P.set(M.name,A.ruta);let D=new Map;for(let[A,M]of k){let V=P.get(A),N=f.get(A);for(let T of new Set(M)){if(s.aplicables.has(T))continue;let U=f.get(T);if(U!==void 0&&U===N){D.set(A,[...D.get(A)??[],T]);continue}let S=U!==void 0||r.has(T)?"other-component":s.emitidos.has(T)?"core-component":"unknown",q=S==="unknown"?gt(T,s.aplicables):void 0;i(V,{code:"ext-apply-target",params:{block:A,target:T,reason:S,...q&&{suggestion:q}}})}}let W=new Map,G=!1,J=A=>{W.set(A,1);for(let M of D.get(A)??[])W.get(M)===1?(G=!0,i(P.get(A),{code:"ext-apply-target",params:{block:A,target:M,reason:"cycle"}})):W.has(M)||J(M);W.set(A,2)};for(let A of D.keys())W.has(A)||J(A);if(!G){let A=new Map,M=new Map,V=new Map;for(let U of o)for(let S of U.parse.bloques)V.has(S.name)||V.set(S.name,S.css.length);let N=U=>{let S=A.get(U);if(S!==void 0)return{d:S,t:M.get(U)};let q=0,O=V.get(U)??0;for(let B of new Set(D.get(U)??[])){let Z=N(B);q=Math.max(q,Z.d+1),O=Math.min(qa,O+Z.t*k.get(U).filter($=>$===B).length)}return A.set(U,q),M.set(U,O),{d:q,t:O}},T=0;for(let U of k.keys()){let{d:S,t:q}=N(U);T=Math.min(qa,T+q),S>at.profundidadApply?i(P.get(U),{code:"ext-apply-budget",params:{block:U,limit:"depth",max:at.profundidadApply}}):q>at.expansionBloque&&i(P.get(U),{code:"ext-apply-budget",params:{block:U,limit:"block-size",max:at.expansionBloque}})}T>at.expansionTotal&&i(d,{code:"ext-apply-budget",params:{block:n,limit:"total-size",max:at.expansionTotal}})}return{errores:a,nombres:l,raices:h}}function Na(e,n,s){let o=Qn(e),r=Object.values(n.themes).some(m=>m.components!==void 0);if(o.length===0&&!r)return[];let a=[],l=o.length?mp(s):void 0,i=o.map(([m,h])=>Rs(h,m)),c=i.map(m=>new Set(m.flatMap(h=>h.parse.bloques.map(g=>g.name)))),d=new Map,u=new Map,y=new Map;o.forEach(([m,h],g)=>{let b=new Set(c.filter((f,w)=>w!==g).flatMap(f=>[...f])),p=fp(h,m,l,i[g],b);a.push(...p.errores);for(let f of Object.keys(p.nombres))for(let w of p.nombres[f]){let k=`${f==="utility"?"block":f}:${w}`,P=d.get(k);P!==void 0&&P!==m?a.push({path:`extensions[${JSON.stringify(m)}]`,code:"ext-conflicts-extension",params:{kind:f,name:w,package:m,other:P}}):d.set(k,m)}let v=`extensions[${JSON.stringify(m)}]`;for(let f of p.raices){let w=f.split("-");for(let P=1;P<w.length;P++){let D=w.slice(0,P).join("-"),W=u.get(D);W!==void 0&&W!==m&&a.push({path:v,code:"ext-roots-overlap",params:{root:f,other:D,package:m,otherPackage:W}})}let k=y.get(f);k!==void 0&&k.paquete!==m&&a.push({path:v,code:"ext-roots-overlap",params:{root:f,other:k.raiz,package:m,otherPackage:k.paquete}})}for(let f of p.raices){u.has(f)||u.set(f,m);let w=f.split("-");for(let k=1;k<w.length;k++){let P=w.slice(0,k).join("-");y.has(P)||y.set(P,{raiz:f,paquete:m})}}});let t=new Map;for(let[,m]of o)for(let[h,g]of Object.entries(m.components??{}))t.set(h,new Set(Object.keys(Te(g?.tokens)?g.tokens:{})));for(let[m,h]of Object.entries(n.themes))for(let[g,b]of Object.entries(h.components??{})){let p=`themes.${m}.components.${g}`,v=t.get(g);if(!v){let f=gt(g,t.keys());a.push({path:p,code:"theme-component-unknown",params:{slug:g,...f&&{suggestion:f}}});continue}for(let[f,w]of Object.entries(b))if(v.has(f))vn(a,()=>He(`${p}.${f}`,w));else{let k=gt(f,v);a.push({path:`${p}.${f}`,code:"theme-component-token-unknown",params:{slug:g,key:f,...k&&{suggestion:k}}})}}return a}var es={success:"#16A34A",warning:"#D97706",info:"#2563EB",danger:"#D42424"},si={"2xs":"160px",xs:"200px",sm:"240px",md:"280px",lg:"340px",xl:"400px"};function La(e){let n=e.lastIndexOf("/");return n===-1?{name:e,group:"root"}:{name:e.slice(n+1),group:e.slice(0,n)}}function Et(e,n={}){let s=Object.entries(e.themes).map(([t,m])=>{let{name:h,group:g}=La(t);return{name:h,group:g,def:m}}),o=Object.fromEntries(s.flatMap(t=>Object.entries(t.def.colors??{}))),r={...e.defaultStates};for(let[t,m]of Object.entries(es))Object.hasOwn(r,t)||(r[t]=m);let a=r,l={...e.fonts??{}},i=e.gridMins??si,c=Na(n,e,{userColors:o,userStates:a,userGridMins:i});Xn(c);let{userScales:d,userUtilities:u}=oa(e,o,a,i,As(n),Ge(n)),y=s.some(t=>!t.def.locked&&Object.values(t.def.density??{}).some(m=>m&&Object.keys(m).length>0));return{themeEntries:s,userColors:o,defaultStates:r,userStates:a,userFonts:l,userGridMins:i,userScales:d,userUtilities:u,themeChangesDensity:y}}var mt=(e,n,s)=>`${e} ${e===1?n:s}`,oi=e=>new Intl.ListFormat("en",{type:"disjunction"}).format(e),hp={ayuda:`
3205
3205
  taisho \u2014 TaishoDS personalizable
3206
3206
 
3207
3207
  Uso:
@@ -3209,11 +3209,11 @@ Uso:
3209
3209
  --yes, -y Sin preguntas: escribe el starter con defaults
3210
3210
  taisho generate [config] Compila tu taisho.config.ts a una carpeta autocontenida
3211
3211
  --config <path> Ruta al config (default: ./taisho.config.ts)
3212
- --out <dir> Carpeta de salida (default: ./taisho/)
3212
+ --out <dir> Carpeta de salida (default: el out de tu config; si no, ./taisho/)
3213
3213
  --strict Sale con 1 si hubo cualquier aviso (la salida se escribe igual)
3214
3214
  taisho watch [config] Regenera tu CSS cada vez que cambia tu content, tu config o src/icons/
3215
3215
  --config <path> Ruta al config (default: ./taisho.config.ts)
3216
- --out <dir> Carpeta de salida (default: ./taisho/)
3216
+ --out <dir> Carpeta de salida (default: el out de tu config; si no, ./taisho/)
3217
3217
  Ctrl+C para salir (con 0). Un import dentro de tu config no se detecta
3218
3218
  taisho migrate --from classic [rutas] Pasa tu c\xF3digo del modo cl\xE1sico (ts-flex) al modo scope (ts flex)
3219
3219
  [rutas] Archivos o carpetas a revisar (reemplazan a content; sin ellas y sin content, no se tocan los .md)
@@ -3223,7 +3223,7 @@ Uso:
3223
3223
  [rutas] Archivos o carpetas a revisar (reemplazan a content; los .css se leen, nunca se escriben)
3224
3224
  --write Aplica los cambios (sin esto s\xF3lo reporta)
3225
3225
  --config <path> Ruta al config: de ah\xED salen content, el vocabulario y los colores
3226
- --out <dir> Carpeta de salida de generate, que no se lee (default: ./taisho/)
3226
+ --out <dir> Carpeta de salida de generate, que no se lee (default: el out de tu config; si no, ./taisho/)
3227
3227
  Sale con 0 si corri\xF3 (haya pendientes o no), 2 si no pudo correr (uso, config o Tailwind 3)
3228
3228
  taisho check [rutas\u2026] Avisa clases y variables del DS mal escritas en tu c\xF3digo
3229
3229
  [rutas] Archivos, carpetas o globs (sin ellas: content, o el proyecto sin dist/build/coverage)
@@ -3236,11 +3236,11 @@ Uso:
3236
3236
  taisho --help Muestra esta ayuda
3237
3237
  `,cli:{opcionDesconocida:e=>`La opci\xF3n ${e} no existe: \`taisho --help\` lista las que hay.`,faltaValor:e=>`${e} necesita un valor.`,sinValor:e=>`${e} no lleva valor.`,langInvalido:e=>`--lang "${e}" no existe: se acepta es o en.`,tailwindNoAcepta:e=>`taisho migrate --from tailwind no acepta ${e.join(", ")}. Sus flags: --write, --config, --out.`,checkNoAcepta:e=>`taisho check no acepta ${e.join(", ")}. Sus flags: --config, --format, --other-scale.`,watchNoAcepta:e=>`taisho watch no acepta ${e.join(", ")}. Sus flags: --config, --out.`,formatoInvalido:e=>`--format "${e}" no existe: se acepta text o json.`,comandoDesconocido:e=>`Comando desconocido: ${e}`},config:{noEncontrada:e=>`No se encontr\xF3 ${e}.`,noEncontradaInit:e=>`No se encontr\xF3 ${e}.
3238
3238
  Se crea uno con \`taisho init\`.`,noCargo:e=>`No se pudo cargar ${e}:`,noCargoCon:(e,n)=>`No se pudo cargar ${e}:
3239
- ${n}`,invalida:e=>`${e} no exporta un TaishoConfig v\xE1lido.`,invalidaDetalle:e=>`${e} no exporta un TaishoConfig v\xE1lido: falta un default export (o \`export const config\`) con al menos un tema en \`themes\`.`},init:{yaExiste:e=>`Ya existe ${e} \u2014 no se pisa.`,creado:e=>`\u2705 Creado ${e}`,siguiente:" Se editan los colores y se corre `taisho generate` para compilar tu CSS.",preguntaIdioma:e=>`Idioma de los mensajes (es/en) [${e}]: `,idiomaInvalido:(e,n)=>` "${e}" no es es ni en \u2014 uso ${n}.`,preguntaMarca:e=>`Color de marca (hex) [${e}]: `,hexInvalido:(e,n)=>` "${e}" no es un hex v\xE1lido (#RRGGBB) \u2014 uso ${n}.`,preguntaTema:e=>`Nombre del tema [${e}]: `,preguntaFuentes:"Fuentes \u2014 (s)istema o (f)ontsource [s]: ",preguntaIconos:e=>`Carpeta de \xEDconos propios [${e}]: `,plantilla:{cabecera:" * Config de TaishoDS para tu marca \u2014 equivalente a `tailwind.config.js`.\n * Se corre `taisho generate` para compilar el CSS a partir de esto.",temas:` // Uno o m\xE1s temas. La key es el nombre de archivo de salida
3239
+ ${n}`,invalida:e=>`${e} no exporta un TaishoConfig v\xE1lido.`,invalidaDetalle:e=>`${e} no exporta un TaishoConfig v\xE1lido: falta un default export (o \`export const config\`) con al menos un tema en \`themes\`.`},init:{yaExiste:e=>`Ya existe ${e} \u2014 no se pisa.`,creado:e=>`\u2705 Creado ${e}`,siguiente:" Se editan los colores y se corre `taisho generate` para compilar tu CSS.",preguntaIdioma:e=>`Idioma de los mensajes (es/en) [${e}]: `,idiomaInvalido:(e,n)=>` "${e}" no es es ni en \u2014 uso ${n}.`,preguntaMarca:e=>`Color de marca (hex) [${e}]: `,hexInvalido:(e,n)=>` "${e}" no es un hex v\xE1lido (#RRGGBB) \u2014 uso ${n}.`,preguntaTema:e=>`Nombre del tema [${e}]: `,preguntaFuentes:"Fuentes \u2014 (s)istema o (f)ontsource [s]: ",preguntaIconos:e=>`Carpeta de \xEDconos propios [${e}]: `,preguntaSalida:e=>`Carpeta de salida del CSS y el JS [${e}]: `,plantilla:{cabecera:" * Config de TaishoDS para tu marca \u2014 equivalente a `tailwind.config.js`.\n * Se corre `taisho generate` para compilar el CSS a partir de esto.",temas:` // Uno o m\xE1s temas. La key es el nombre de archivo de salida
3240
3240
  // (theme.css si hay uno solo, theme-<key>.css si hay varios).`,colores:` // Colores semilla (hex). El motor deriva toda la paleta OKLCH
3241
3241
  // (light/dark, shades 100-1000) a partir de este \xFAnico valor.`,content:" // D\xF3nde buscar clases: el CSS lleva s\xF3lo lo que se usa; las armadas en runtime van en `safelist`.\n // Se suma `**/*.md` si tu prosa usa clases (sus ejemplos traen componentes enteros).",fontFaces:` // Fuentes que se descargan (paquetes @fontsource, deben estar en tu
3242
3242
  // package.json). Se deja vac\xEDo si se van a usar fuentes del sistema.`,fonts:" // Pilas de fuente CSS. Sin @fontsource, se usan nombres de sistema.",estados:" // Colores semilla de los estados sem\xE1nticos (success/warning/info/danger).",iconos:` // SVGs propios (adem\xE1s de lucide-static). El nombre de archivo (sin .svg)
3243
- // es el nombre del \xEDcono.`,lang:" // Idioma de los mensajes de `taisho` (es | en). Sin la clave, el del sistema."}},generate:{compilando:e=>`\u2192 compilando ${e}\u2026`,estricto:e=>`--strict: ${e} ${e===1?"aviso":"avisos"}.`,generado:e=>`
3243
+ // es el nombre del \xEDcono.`,salida:" // Carpeta donde `taisho generate` escribe el CSS y el JS (relativa a este archivo).\n // Dentro de public/ o static/ se sirve tal cual; `--out` tiene prioridad.",lang:" // Idioma de los mensajes de `taisho` (es | en). Sin la clave, el del sistema."}},generate:{compilando:e=>`\u2192 compilando ${e}\u2026`,estricto:e=>`--strict: ${e} ${e===1?"aviso":"avisos"}.`,generado:e=>`
3244
3244
  \u2705 Generado en ${e}/
3245
3245
  `,pegar:`Esto va en tu HTML, en este orden:
3246
3246
  `,iconos:`
@@ -3252,7 +3252,7 @@ ${e.join(`
3252
3252
  Se corrige el nombre (lucide) o se agrega un SVG en "${n}/<nombre>.svg".`,quisisteDecir:e=>` \u2014 \xBFse quiso decir "${e}"?`,coreDistinto:(e,n,s,o,r)=>`${e} ${n} necesita ${s} ${o}; est\xE1 instalado ${r}`},watch:{sinCambios:"sin cambios",alDia:(e,n,s,o,r)=>`\u2705 ${e}/ al d\xEDa (${n} archivos, ${s} ms). Mirando ${o!==null?`${o} archivos de content, la config y ${r}/`:`la config y ${r}/`}. Ctrl+C para salir.`},check:{sinArchivos:e=>`No hay archivos para revisar en ${e?"el `content` de tu config":"el proyecto"}. Se pasan rutas: taisho check src`,ningunoCoincide:e=>`Ning\xFAn archivo coincide con "${e}".`,resumen:(e,n)=>`taisho check: ${e} archivo(s) revisado(s), ${n} aviso(s).`},clasico:{faltaFrom:"Falta `--from classic` o `--from tailwind`: son los \xFAnicos or\xEDgenes que existen.",cabecera:e=>`taisho migrate --from classic${e?"":" (dry-run: no se escribi\xF3 nada; con --write se aplica)"}
3253
3253
  `,convertidos:(e,n)=>`${e?"Convertidos":"Por convertir"} (${n} archivo(s)):`,nada:" (nada)",archivo:(e,n,s,o)=>` ${e} ${n} convertido(s), ${s} llave(s)${o?`, ${o} renombre(s)`:""}`,pendientes:e=>`
3254
3254
  No convertidos o con reservas (${e}):`,resumen:(e,n,s,o,r,a)=>`
3255
- Resumen: ${e} archivo(s) revisados, ${n} ${s?"modificados":"a modificar"}; ${o} clase(s) a scope, ${r} llave(s) \`ts\`, ${a} renombre(s).`,porTipo:e=>`Sin convertir por tipo: ${e}.`,motivo:{fragment:"clase armada en runtime: se reescribe con un mapa est\xE1tico",apply:"@apply: se pasa a las propiedades o a la clase en el markup",selector:"selector .ts-x: pasa a .x (con la llave `ts` en el elemento)","missing-ts":"class:x convertido, pero el elemento no tiene `ts` est\xE1tico: se agrega",classlist:"classList convertido, pero el elemento necesita `ts`: se agrega a mano","no-replacement":"deprecada sin sucesor: se reemplaza a mano","possible-class":"nombre viejo que no est\xE1 en la tabla del DS (\xBFdeprecada de tu `extend`?)","unknown-class":"no es una clase del DS: se deja como est\xE1","outside-string":"no est\xE1 en un string de clases (prosa, comentario u otro c\xF3digo)"}},tailwind:{tailwind3:e=>`Tu proyecto usa Tailwind ${e}: el migrador s\xF3lo conoce Tailwind 4 (con la 3 los mismos nombres valen otra cosa). Se pasa a Tailwind 4 y se vuelve a correr.`,sinArchivos:"No hay archivos para revisar. Se pasan rutas: taisho migrate --from tailwind src",cabecera:e=>`taisho migrate --from tailwind${e?"":" (dry-run: no se escribi\xF3 nada; con --write se aplica)"}`,version:(e,n,s)=>`Tailwind ${e} (${n}); el mapa vale para ${s}.`,sinTailwind:e=>`No se encontr\xF3 Tailwind en el proyecto: se asume Tailwind ${e}.`,config:e=>`Config: ${e}.`,sinConfig:"Sin taisho.config.ts: corre con el vocabulario de f\xE1brica; con tu tema (semillas, cortes) convierten m\xE1s clases; se pasa con --config.",escribe:"Escribe sobre tus archivos: si no se hizo commit antes, conviene hacerlo ahora para poder deshacer.",commitAntes:"Conviene hacer commit antes de --write: el comando reescribe tus archivos.",convertidos:(e,n)=>`${e?"Convertidos":"Por convertir"} (${ft(n,"archivo","archivos")}):`,nada:" (nada)",archivo:(e,n,s)=>` ${e} ${n} convertida(s), ${s} llave(s) \`ts\``,choques:e=>`CHOQUES (${e}): nombres de Tailwind que en TaishoDS son otra cosa; el elemento que los lleva no se toc\xF3 (se renombra la clase propia o se escribe ese CSS en una hoja propia, y el resto se convierte a mano):`,aprox:e=>`Convertidas con otro valor (${ft(e,"par","pares")}): la misma intenci\xF3n, no el mismo p\xEDxel o color; se revisa cada una:`,pendientes:e=>`Sin convertir al 100 % (${e}): quedan como est\xE1n, se resuelven a mano:`,configTailwind:"`tailwind.config` es de Tailwind y no se migra solo: colores como semillas en `colors`, cortes en `extend.screens`, plugins como `utilities` en `taisho.config.ts`",fuera:e=>`Fuera de las clases (${e}): no se tocan, son de tu configuraci\xF3n, tu CSS o tu JS:`,sugerencia:e=>` sugerencia: ${e}`,ajenas:e=>`Clases ajenas (${e}, sin tocar: no son de Tailwind ni del DS):`,resumen:e=>`Resumen: ${ft(e.revisados,"archivo revisado","archivos revisados")}, ${e.tocados} ${e.write?"modificados":"a modificar"}; ${e.convertidas} clase(s) a TaishoDS (${e.conOtroValor!==null?`${e.conOtroValor} con otro valor`:"todas con el mismo valor"}), ${e.llaves} llave(s) \`ts\`, ${e.choques} choque(s), ${e.pendientes} sin convertir, ${e.fuera} fuera de las clases, ${e.ajenas} ajena(s).`,paraTerminar:"Para terminar:",nadaQueConvertir:" - No hay nada de Tailwind que convertir.",resolverChoques:" - Se resuelven los CHOQUES: esos elementos quedaron sin tocar, sin la llave `ts` y con todas sus clases como estaban.",resolverAMano:" - Se resuelve a mano lo que no se convirti\xF3 y lo que qued\xF3 fuera de las clases (archivo:l\xEDnea arriba).",mirarAprox:" - Se revisan las convertidas con otro valor: el color y la sombra de TaishoDS no son los de Tailwind.",convivencia:[" - Convivencia: mientras queden clases de Tailwind, se carga el CSS de TaishoDS DESPU\xC9S del de Tailwind; as\xED el elemento con la llave `ts` toma el estilo de TaishoDS."," Se migra elemento por elemento, no por nombre de clase: `p-16` significa 64px en Tailwind y 16px en TaishoDS."],sacarTailwind:" - Cuando el reporte quede vac\xEDo, se saca Tailwind (el import, el plugin y el tailwind.config) y se corre `taisho generate`."}},pp={ayuda:`
3255
+ Resumen: ${e} archivo(s) revisados, ${n} ${s?"modificados":"a modificar"}; ${o} clase(s) a scope, ${r} llave(s) \`ts\`, ${a} renombre(s).`,porTipo:e=>`Sin convertir por tipo: ${e}.`,motivo:{fragment:"clase armada en runtime: se reescribe con un mapa est\xE1tico",apply:"@apply: se pasa a las propiedades o a la clase en el markup",selector:"selector .ts-x: pasa a .x (con la llave `ts` en el elemento)","missing-ts":"class:x convertido, pero el elemento no tiene `ts` est\xE1tico: se agrega",classlist:"classList convertido, pero el elemento necesita `ts`: se agrega a mano","no-replacement":"deprecada sin sucesor: se reemplaza a mano","possible-class":"nombre viejo que no est\xE1 en la tabla del DS (\xBFdeprecada de tu `extend`?)","unknown-class":"no es una clase del DS: se deja como est\xE1","outside-string":"no est\xE1 en un string de clases (prosa, comentario u otro c\xF3digo)"}},tailwind:{tailwind3:e=>`Tu proyecto usa Tailwind ${e}: el migrador s\xF3lo conoce Tailwind 4 (con la 3 los mismos nombres valen otra cosa). Se pasa a Tailwind 4 y se vuelve a correr.`,sinArchivos:"No hay archivos para revisar. Se pasan rutas: taisho migrate --from tailwind src",cabecera:e=>`taisho migrate --from tailwind${e?"":" (dry-run: no se escribi\xF3 nada; con --write se aplica)"}`,version:(e,n,s)=>`Tailwind ${e} (${n}); el mapa vale para ${s}.`,sinTailwind:e=>`No se encontr\xF3 Tailwind en el proyecto: se asume Tailwind ${e}.`,config:e=>`Config: ${e}.`,sinConfig:"Sin taisho.config.ts: corre con el vocabulario de f\xE1brica; con tu tema (semillas, cortes) convierten m\xE1s clases; se pasa con --config.",escribe:"Escribe sobre tus archivos: si no se hizo commit antes, conviene hacerlo ahora para poder deshacer.",commitAntes:"Conviene hacer commit antes de --write: el comando reescribe tus archivos.",convertidos:(e,n)=>`${e?"Convertidos":"Por convertir"} (${mt(n,"archivo","archivos")}):`,nada:" (nada)",archivo:(e,n,s)=>` ${e} ${n} convertida(s), ${s} llave(s) \`ts\``,choques:e=>`CHOQUES (${e}): nombres de Tailwind que en TaishoDS son otra cosa; el elemento que los lleva no se toc\xF3 (se renombra la clase propia o se escribe ese CSS en una hoja propia, y el resto se convierte a mano):`,aprox:e=>`Convertidas con otro valor (${mt(e,"par","pares")}): la misma intenci\xF3n, no el mismo p\xEDxel o color; se revisa cada una:`,pendientes:e=>`Sin convertir al 100 % (${e}): quedan como est\xE1n, se resuelven a mano:`,configTailwind:"`tailwind.config` es de Tailwind y no se migra solo: colores como semillas en `colors`, cortes en `extend.screens`, plugins como `utilities` en `taisho.config.ts`",fuera:e=>`Fuera de las clases (${e}): no se tocan, son de tu configuraci\xF3n, tu CSS o tu JS:`,sugerencia:e=>` sugerencia: ${e}`,ajenas:e=>`Clases ajenas (${e}, sin tocar: no son de Tailwind ni del DS):`,resumen:e=>`Resumen: ${mt(e.revisados,"archivo revisado","archivos revisados")}, ${e.tocados} ${e.write?"modificados":"a modificar"}; ${e.convertidas} clase(s) a TaishoDS (${e.conOtroValor!==null?`${e.conOtroValor} con otro valor`:"todas con el mismo valor"}), ${e.llaves} llave(s) \`ts\`, ${e.choques} choque(s), ${e.pendientes} sin convertir, ${e.fuera} fuera de las clases, ${e.ajenas} ajena(s).`,paraTerminar:"Para terminar:",nadaQueConvertir:" - No hay nada de Tailwind que convertir.",resolverChoques:" - Se resuelven los CHOQUES: esos elementos quedaron sin tocar, sin la llave `ts` y con todas sus clases como estaban.",resolverAMano:" - Se resuelve a mano lo que no se convirti\xF3 y lo que qued\xF3 fuera de las clases (archivo:l\xEDnea arriba).",mirarAprox:" - Se revisan las convertidas con otro valor: el color y la sombra de TaishoDS no son los de Tailwind.",convivencia:[" - Convivencia: mientras queden clases de Tailwind, se carga el CSS de TaishoDS DESPU\xC9S del de Tailwind; as\xED el elemento con la llave `ts` toma el estilo de TaishoDS."," Se migra elemento por elemento, no por nombre de clase: `p-16` significa 64px en Tailwind y 16px en TaishoDS."],sacarTailwind:" - Cuando el reporte quede vac\xEDo, se saca Tailwind (el import, el plugin y el tailwind.config) y se corre `taisho generate`."}},bp={ayuda:`
3256
3256
  taisho \u2014 customizable TaishoDS
3257
3257
 
3258
3258
  Usage:
@@ -3260,11 +3260,11 @@ Usage:
3260
3260
  --yes, -y Skip the questions and write the starter with defaults
3261
3261
  taisho generate [config] Compile your taisho.config.ts to a self-contained folder
3262
3262
  --config <path> Path to the config (default: ./taisho.config.ts)
3263
- --out <dir> Output folder (default: ./taisho/)
3263
+ --out <dir> Output folder (default: the out in your config; else ./taisho/)
3264
3264
  --strict Exit with 1 on any warning (the output is still written)
3265
3265
  taisho watch [config] Regenerate your CSS whenever your content, your config, or src/icons/ changes
3266
3266
  --config <path> Path to the config (default: ./taisho.config.ts)
3267
- --out <dir> Output folder (default: ./taisho/)
3267
+ --out <dir> Output folder (default: the out in your config; else ./taisho/)
3268
3268
  Press Ctrl+C to exit (with 0). An import inside your config isn't detected
3269
3269
  taisho migrate --from classic [paths] Move your code from classic mode (ts-flex) to scope mode (ts flex)
3270
3270
  [paths] Files or folders to check (they replace content; without them or content, .md files are left alone)
@@ -3274,7 +3274,7 @@ Usage:
3274
3274
  [paths] Files or folders to check (they replace content; .css files are read, never written)
3275
3275
  --write Apply the changes (without it, it only reports)
3276
3276
  --config <path> Path to the config, which provides content, the vocabulary, and the colors
3277
- --out <dir> Output folder of generate, which isn't read (default: ./taisho/)
3277
+ --out <dir> Output folder of generate, which isn't read (default: the out in your config; else ./taisho/)
3278
3278
  Exits with 0 if it ran (with or without pending items), 2 if it couldn't run (usage, config, or Tailwind 3)
3279
3279
  taisho check [paths\u2026] Flag misspelled DS classes and variables in your code
3280
3280
  [paths] Files, folders, or globs (by default, content, or the project minus dist/build/coverage)
@@ -3285,13 +3285,13 @@ Usage:
3285
3285
  taisho --lang <es|en> Message language (default: lang in your config, then the system's)
3286
3286
  taisho --version Show the version
3287
3287
  taisho --help Show this help
3288
- `,cli:{opcionDesconocida:e=>`Unknown option ${e}. Run \`taisho --help\` to see the options.`,faltaValor:e=>`${e} needs a value.`,sinValor:e=>`${e} doesn't take a value.`,langInvalido:e=>`--lang "${e}" isn't valid. Use es or en.`,tailwindNoAcepta:e=>`taisho migrate --from tailwind doesn't take ${Yo(e)}. Use --write, --config, or --out.`,checkNoAcepta:e=>`taisho check doesn't take ${Yo(e)}. Use --config, --format or --other-scale.`,watchNoAcepta:e=>`taisho watch doesn't take ${Yo(e)}. Use --config or --out.`,formatoInvalido:e=>`--format "${e}" isn't valid. Use text or json.`,comandoDesconocido:e=>`Unknown command "${e}".`},config:{noEncontrada:e=>`Couldn't find ${e}.`,noEncontradaInit:e=>`Couldn't find ${e}.
3288
+ `,cli:{opcionDesconocida:e=>`Unknown option ${e}. Run \`taisho --help\` to see the options.`,faltaValor:e=>`${e} needs a value.`,sinValor:e=>`${e} doesn't take a value.`,langInvalido:e=>`--lang "${e}" isn't valid. Use es or en.`,tailwindNoAcepta:e=>`taisho migrate --from tailwind doesn't take ${oi(e)}. Use --write, --config, or --out.`,checkNoAcepta:e=>`taisho check doesn't take ${oi(e)}. Use --config, --format or --other-scale.`,watchNoAcepta:e=>`taisho watch doesn't take ${oi(e)}. Use --config or --out.`,formatoInvalido:e=>`--format "${e}" isn't valid. Use text or json.`,comandoDesconocido:e=>`Unknown command "${e}".`},config:{noEncontrada:e=>`Couldn't find ${e}.`,noEncontradaInit:e=>`Couldn't find ${e}.
3289
3289
  Run \`taisho init\` to create one.`,noCargo:e=>`Couldn't load ${e}.`,noCargoCon:(e,n)=>`Couldn't load ${e}.
3290
- ${n}`,invalida:e=>`${e} doesn't export a valid TaishoConfig. Export one with at least one theme in \`themes\`.`,invalidaDetalle:e=>`${e} doesn't export a valid TaishoConfig. Add a default export (or \`export const config\`) with at least one theme in \`themes\`.`},init:{yaExiste:e=>`${e} already exists, so it was left as is.`,creado:e=>`\u2705 Created ${e}`,siguiente:" Edit the colors and run `taisho generate` to compile your CSS.",preguntaIdioma:e=>`Message language (es/en) [${e}]: `,idiomaInvalido:(e,n)=>` Enter es or en. Using ${n}.`,preguntaMarca:e=>`Brand color (hex) [${e}]: `,hexInvalido:(e,n)=>` Enter a hex color as #RRGGBB. Using ${n}.`,preguntaTema:e=>`Theme name [${e}]: `,preguntaFuentes:"Fonts \u2014 (s)ystem or (f)ontsource [s]: ",preguntaIconos:e=>`Folder for your own icons [${e}]: `,plantilla:{cabecera:" * TaishoDS config for your brand, the equivalent of `tailwind.config.js`.\n * Run `taisho generate` to compile the CSS from it.",temas:` // One or more themes. The key names the output file
3290
+ ${n}`,invalida:e=>`${e} doesn't export a valid TaishoConfig. Export one with at least one theme in \`themes\`.`,invalidaDetalle:e=>`${e} doesn't export a valid TaishoConfig. Add a default export (or \`export const config\`) with at least one theme in \`themes\`.`},init:{yaExiste:e=>`${e} already exists, so it was left as is.`,creado:e=>`\u2705 Created ${e}`,siguiente:" Edit the colors and run `taisho generate` to compile your CSS.",preguntaIdioma:e=>`Message language (es/en) [${e}]: `,idiomaInvalido:(e,n)=>` Enter es or en. Using ${n}.`,preguntaMarca:e=>`Brand color (hex) [${e}]: `,hexInvalido:(e,n)=>` Enter a hex color as #RRGGBB. Using ${n}.`,preguntaTema:e=>`Theme name [${e}]: `,preguntaFuentes:"Fonts \u2014 (s)ystem or (f)ontsource [s]: ",preguntaIconos:e=>`Folder for your own icons [${e}]: `,preguntaSalida:e=>`Output folder for the CSS and JS [${e}]: `,plantilla:{cabecera:" * TaishoDS config for your brand, the equivalent of `tailwind.config.js`.\n * Run `taisho generate` to compile the CSS from it.",temas:` // One or more themes. The key names the output file
3291
3291
  // (theme.css if there's only one, theme-<key>.css if there are several).`,colores:` // Seed colors (hex). The engine derives the full OKLCH palette
3292
3292
  // (light/dark, steps 100-1000) from this single value.`,content:" // Where to look for classes. The CSS carries only what you use; classes built at runtime go in `safelist`.\n // Add `**/*.md` if your prose uses classes (their examples bring whole components).",fontFaces:` // Fonts to download (@fontsource packages, which must be in your
3293
3293
  // package.json). Leave it empty to use system fonts.`,fonts:" // CSS font stacks. Without @fontsource, use system font names.",estados:" // Seed colors for the status colors (success/warning/info/danger).",iconos:` // Your own SVGs (on top of lucide-static). The file name (without .svg)
3294
- // is the icon name.`,lang:" // Language of `taisho` messages (es | en). Without the key, the system's."}},generate:{compilando:e=>`\u2192 compiling ${e}\u2026`,estricto:e=>`--strict found ${ft(e,"warning","warnings")}.`,generado:e=>`
3294
+ // is the icon name.`,salida:" // Folder where `taisho generate` writes the CSS and JS (relative to this file).\n // Inside public/ or static/ it's served as is; `--out` overrides it.",lang:" // Language of `taisho` messages (es | en). Without the key, the system's."}},generate:{compilando:e=>`\u2192 compiling ${e}\u2026`,estricto:e=>`--strict found ${mt(e,"warning","warnings")}.`,generado:e=>`
3295
3295
  \u2705 Generated in ${e}/
3296
3296
  `,pegar:`Paste this into your HTML, in this order:
3297
3297
  `,iconos:`
@@ -3300,51 +3300,54 @@ For icons, use the same <use href="\u2026#ts-name"> it found in your HTML:
3300
3300
  Types for your own classes (extend, utilities): keep ${e} inside your tsconfig include and they join TaishoClass.`,lucideFalta:"[taisho generate] Couldn't find lucide-static. Install it with npm i lucide-static",iconoIgnorado:(e,n)=>`[taisho generate] Icon "${e}" doesn't exist, so it's ignored (${n} isn't markup).`,iconosInexistentes:(e,n)=>`${e.length===1?"This icon doesn't":"These icons don't"} exist (#ts-<name>):
3301
3301
  ${e.join(`
3302
3302
  `)}
3303
- Fix the name (lucide) or add an SVG at "${n}/<name>.svg".`,quisisteDecir:e=>` \u2014 did you mean "${e}"?`,coreDistinto:(e,n,s,o,r)=>`${e} ${n} needs ${s} ${o}, and you have ${r}`},watch:{sinCambios:"no changes",alDia:(e,n,s,o,r)=>`\u2705 ${e}/ is up to date (${ft(n,"file","files")}, ${s} ms). Watching ${o!==null?`${ft(o,"content file","content files")}, the config, and ${r}/`:`the config and ${r}/`}. Press Ctrl+C to exit.`},check:{sinArchivos:e=>`No files to check in ${e?"your config's `content`":"the project"}. Pass paths, for example: taisho check src`,ningunoCoincide:e=>`No files match "${e}".`,resumen:(e,n)=>`taisho check: ${ft(e,"file","files")} checked, ${ft(n,"warning","warnings")}.`},clasico:{faltaFrom:"Pass `--from classic` or `--from tailwind`. Those are the only sources.",cabecera:e=>`taisho migrate --from classic${e?"":" \u2014 dry run, nothing was written. Add --write to apply."}
3304
- `,convertidos:(e,n)=>`${e?"Converted":"To convert"} (${ft(n,"file","files")}):`,nada:" (none)",archivo:(e,n,s,o)=>` ${e} ${n} converted, ${ft(s,"`ts` scope class","`ts` scope classes")}${o?`, ${o} renamed`:""}`,pendientes:e=>`
3303
+ Fix the name (lucide) or add an SVG at "${n}/<name>.svg".`,quisisteDecir:e=>` \u2014 did you mean "${e}"?`,coreDistinto:(e,n,s,o,r)=>`${e} ${n} needs ${s} ${o}, and you have ${r}`},watch:{sinCambios:"no changes",alDia:(e,n,s,o,r)=>`\u2705 ${e}/ is up to date (${mt(n,"file","files")}, ${s} ms). Watching ${o!==null?`${mt(o,"content file","content files")}, the config, and ${r}/`:`the config and ${r}/`}. Press Ctrl+C to exit.`},check:{sinArchivos:e=>`No files to check in ${e?"your config's `content`":"the project"}. Pass paths, for example: taisho check src`,ningunoCoincide:e=>`No files match "${e}".`,resumen:(e,n)=>`taisho check: ${mt(e,"file","files")} checked, ${mt(n,"warning","warnings")}.`},clasico:{faltaFrom:"Pass `--from classic` or `--from tailwind`. Those are the only sources.",cabecera:e=>`taisho migrate --from classic${e?"":" \u2014 dry run, nothing was written. Add --write to apply."}
3304
+ `,convertidos:(e,n)=>`${e?"Converted":"To convert"} (${mt(n,"file","files")}):`,nada:" (none)",archivo:(e,n,s,o)=>` ${e} ${n} converted, ${mt(s,"`ts` scope class","`ts` scope classes")}${o?`, ${o} renamed`:""}`,pendientes:e=>`
3305
3305
  Not converted, or converted with caveats (${e}):`,resumen:(e,n,s,o,r,a)=>`
3306
- Summary: ${ft(e,"file","files")} checked, ${n} ${s?"modified":"to modify"}; ${ft(o,"class","classes")} to scope, ${ft(r,"`ts` scope class","`ts` scope classes")}, ${ft(a,"rename","renames")}.`,porTipo:e=>`Not converted, by type: ${e}.`,motivo:{fragment:"class built at runtime. Rewrite it with a static map",apply:"@apply. Move it to properties or to the class in the markup",selector:"selector .ts-x becomes .x (with the `ts` scope class on the element)","missing-ts":"class:x converted, but the element doesn't have a static `ts`. Add it",classlist:"classList converted, but the element needs `ts`. Add it by hand","no-replacement":"deprecated with no replacement. Replace it by hand","possible-class":"old name that isn't in the DS table (deprecated in your `extend`?)","unknown-class":"not a DS class, so it's left as is","outside-string":"not in a class string (prose, a comment, or other code)"}},tailwind:{tailwind3:e=>`Your project uses Tailwind ${e}. The migrator only knows Tailwind 4 (in v3 the same names mean something else). Upgrade to Tailwind 4 and run it again.`,sinArchivos:"No files to check. Pass paths, for example: taisho migrate --from tailwind src",cabecera:e=>`taisho migrate --from tailwind${e?"":" \u2014 dry run, nothing was written. Add --write to apply."}`,version:(e,n,s)=>`Tailwind ${e} (${n}). The map is for ${s}.`,sinTailwind:e=>`Tailwind isn't in the project, so it assumes Tailwind ${e}.`,config:e=>`Using ${e}.`,sinConfig:"No taisho.config.ts, so it runs with the default vocabulary. With your theme (seeds, breakpoints), more classes convert. Pass it with --config.",escribe:"This writes over your files. If you haven't committed yet, do it now so you can undo.",commitAntes:"Commit before you use --write, since it rewrites your files.",convertidos:(e,n)=>`${e?"Converted":"To convert"} (${ft(n,"file","files")}):`,nada:" (none)",archivo:(e,n,s)=>` ${e} ${n} converted, ${ft(s,"`ts` scope class","`ts` scope classes")}`,choques:e=>`CONFLICTS (${e}). These Tailwind names mean something else in TaishoDS, so the elements that use them were left untouched. Rename your class or write that CSS in your stylesheet, then convert the rest by hand:`,aprox:e=>`Converted with a different value (${ft(e,"pair","pairs")}). Same intent, not the same pixel or color, so check each one:`,pendientes:e=>`Not fully converted (${e}). They stay as they are, so resolve them by hand:`,configTailwind:"`tailwind.config` belongs to Tailwind and isn't migrated for you. Colors become seeds in `colors`, breakpoints go in `extend.screens`, and plugins become `utilities` in `taisho.config.ts`",fuera:e=>`Outside the classes (${e}). Left untouched because they're part of your config, CSS, or JS:`,sugerencia:e=>` suggestion: ${e}`,ajenas:e=>`Other classes (${e}, untouched because they're not from Tailwind or the DS):`,resumen:e=>`Summary: ${ft(e.revisados,"file checked","files checked")}, ${e.tocados} ${e.write?"modified":"to modify"}; ${ft(e.convertidas,"class","classes")} to TaishoDS (${e.conOtroValor!==null?`${e.conOtroValor} with a different value`:"all with the same value"}), ${ft(e.llaves,"`ts` scope class","`ts` scope classes")}, ${ft(e.choques,"conflict","conflicts")}, ${e.pendientes} not converted, ${e.fuera} outside the classes, ${ft(e.ajenas,"other class","other classes")}.`,paraTerminar:"To finish:",nadaQueConvertir:" - There's no Tailwind to convert.",resolverChoques:" - Resolve the CONFLICTS. Those elements were left untouched, without the `ts` scope class and with all their classes as they were.",resolverAMano:" - Resolve by hand what didn't convert and what stayed outside the classes (file:line above).",mirarAprox:" - Check the classes converted with a different value. TaishoDS colors and shadows aren't Tailwind's.",convivencia:[" - While Tailwind classes remain, load the TaishoDS CSS AFTER Tailwind's. That way an element with the `ts` scope class takes the TaishoDS style."," Migrate element by element, not class by class. `p-16` means 64px in Tailwind and 16px in TaishoDS."],sacarTailwind:" - When the report is empty, remove Tailwind (the import, the plugin, and tailwind.config) and run `taisho generate`."}},Ia={es:dp,en:pp};var Fe=e=>e==="es"||e==="en";function Na(e=process.env){let n=e.LC_ALL||e.LC_MESSAGES||e.LANG||"";return/^es/i.test(n)?"es":"en"}var Qo;function yt(e,n){let s=n?.lang;return Qo=e??(Fe(s)?s:void 0)??Na(),Qo}var xt=()=>Qo??Na(),B=()=>Ia[xt()];function Pa(e){let n=ei.relative(process.cwd(),e);return n.startsWith("..")?e:n||"."}var gp=/^#[0-9a-fA-F]{6}$/,ke={brandHex:"#4F46E5",themeName:"main",useFontsource:!1,customIconsDir:"src/icons"};function mp({lang:e,brandHex:n,themeName:s,useFontsource:o,customIconsDir:r}){let a=B().init.plantilla,l=o?"[{ source: '@fontsource/geist-sans', subsets: ['latin'], weights: [400, 500, 600, 700] }]":"[]",i=o?`'"Geist Sans", ui-sans-serif, system-ui, sans-serif'`:"'ui-sans-serif, system-ui, sans-serif'";return`import type { TaishoConfig } from '@taishods/core/generate';
3306
+ Summary: ${mt(e,"file","files")} checked, ${n} ${s?"modified":"to modify"}; ${mt(o,"class","classes")} to scope, ${mt(r,"`ts` scope class","`ts` scope classes")}, ${mt(a,"rename","renames")}.`,porTipo:e=>`Not converted, by type: ${e}.`,motivo:{fragment:"class built at runtime. Rewrite it with a static map",apply:"@apply. Move it to properties or to the class in the markup",selector:"selector .ts-x becomes .x (with the `ts` scope class on the element)","missing-ts":"class:x converted, but the element doesn't have a static `ts`. Add it",classlist:"classList converted, but the element needs `ts`. Add it by hand","no-replacement":"deprecated with no replacement. Replace it by hand","possible-class":"old name that isn't in the DS table (deprecated in your `extend`?)","unknown-class":"not a DS class, so it's left as is","outside-string":"not in a class string (prose, a comment, or other code)"}},tailwind:{tailwind3:e=>`Your project uses Tailwind ${e}. The migrator only knows Tailwind 4 (in v3 the same names mean something else). Upgrade to Tailwind 4 and run it again.`,sinArchivos:"No files to check. Pass paths, for example: taisho migrate --from tailwind src",cabecera:e=>`taisho migrate --from tailwind${e?"":" \u2014 dry run, nothing was written. Add --write to apply."}`,version:(e,n,s)=>`Tailwind ${e} (${n}). The map is for ${s}.`,sinTailwind:e=>`Tailwind isn't in the project, so it assumes Tailwind ${e}.`,config:e=>`Using ${e}.`,sinConfig:"No taisho.config.ts, so it runs with the default vocabulary. With your theme (seeds, breakpoints), more classes convert. Pass it with --config.",escribe:"This writes over your files. If you haven't committed yet, do it now so you can undo.",commitAntes:"Commit before you use --write, since it rewrites your files.",convertidos:(e,n)=>`${e?"Converted":"To convert"} (${mt(n,"file","files")}):`,nada:" (none)",archivo:(e,n,s)=>` ${e} ${n} converted, ${mt(s,"`ts` scope class","`ts` scope classes")}`,choques:e=>`CONFLICTS (${e}). These Tailwind names mean something else in TaishoDS, so the elements that use them were left untouched. Rename your class or write that CSS in your stylesheet, then convert the rest by hand:`,aprox:e=>`Converted with a different value (${mt(e,"pair","pairs")}). Same intent, not the same pixel or color, so check each one:`,pendientes:e=>`Not fully converted (${e}). They stay as they are, so resolve them by hand:`,configTailwind:"`tailwind.config` belongs to Tailwind and isn't migrated for you. Colors become seeds in `colors`, breakpoints go in `extend.screens`, and plugins become `utilities` in `taisho.config.ts`",fuera:e=>`Outside the classes (${e}). Left untouched because they're part of your config, CSS, or JS:`,sugerencia:e=>` suggestion: ${e}`,ajenas:e=>`Other classes (${e}, untouched because they're not from Tailwind or the DS):`,resumen:e=>`Summary: ${mt(e.revisados,"file checked","files checked")}, ${e.tocados} ${e.write?"modified":"to modify"}; ${mt(e.convertidas,"class","classes")} to TaishoDS (${e.conOtroValor!==null?`${e.conOtroValor} with a different value`:"all with the same value"}), ${mt(e.llaves,"`ts` scope class","`ts` scope classes")}, ${mt(e.choques,"conflict","conflicts")}, ${e.pendientes} not converted, ${e.fuera} outside the classes, ${mt(e.ajenas,"other class","other classes")}.`,paraTerminar:"To finish:",nadaQueConvertir:" - There's no Tailwind to convert.",resolverChoques:" - Resolve the CONFLICTS. Those elements were left untouched, without the `ts` scope class and with all their classes as they were.",resolverAMano:" - Resolve by hand what didn't convert and what stayed outside the classes (file:line above).",mirarAprox:" - Check the classes converted with a different value. TaishoDS colors and shadows aren't Tailwind's.",convivencia:[" - While Tailwind classes remain, load the TaishoDS CSS AFTER Tailwind's. That way an element with the `ts` scope class takes the TaishoDS style."," Migrate element by element, not class by class. `p-16` means 64px in Tailwind and 16px in TaishoDS."],sacarTailwind:" - When the report is empty, remove Tailwind (the import, the plugin, and tailwind.config) and run `taisho generate`."}},_a={es:hp,en:bp};var Je=e=>e==="es"||e==="en";function Fa(e=process.env){let n=e.LC_ALL||e.LC_MESSAGES||e.LANG||"";return/^es/i.test(n)?"es":"en"}var ii;function yt(e,n){let s=n?.lang;return ii=e??(Je(s)?s:void 0)??Fa(),ii}var wt=()=>ii??Fa(),H=()=>_a[wt()];function Va(e){let n=$n.relative(process.cwd(),e);return n.startsWith("..")?e:n||"."}var vp=/^#[0-9a-fA-F]{6}$/,je={brandHex:"#4F46E5",themeName:"main",useFontsource:!1,customIconsDir:"src/icons"},xp=["vite","rollup","rolldown","webpack","parcel","esbuild","@rspack/core","@rsbuild/core","@sveltejs/kit","astro","next","nuxt","gatsby","react-scripts","@angular/cli"],wp=["@remix-run/","@react-router/"];function $p(e){let n=$n.join(e,"package.json");if(!Ze.existsSync(n))return!1;let s;try{s=JSON.parse(Ze.readFileSync(n,"utf8"))}catch{return!1}return["dependencies","devDependencies","peerDependencies","optionalDependencies"].flatMap(r=>Object.keys(s[r]??{})).some(r=>xp.includes(r)||wp.some(a=>r.startsWith(a)))}function Wa(e){if($p(e))return"./taisho";let n=s=>Ze.existsSync($n.join(e,s))&&Ze.statSync($n.join(e,s)).isDirectory();return n("public")?"public/taisho":n("static")?"static/taisho":"./taisho"}function kp({lang:e,brandHex:n,themeName:s,useFontsource:o,customIconsDir:r,outDir:a}){let l=H().init.plantilla,i=o?"[{ source: '@fontsource/geist-sans', subsets: ['latin'], weights: [400, 500, 600, 700] }]":"[]",c=o?`'"Geist Sans", ui-sans-serif, system-ui, sans-serif'`:"'ui-sans-serif, system-ui, sans-serif'";return`import type { TaishoConfig } from '@taishods/core/generate';
3307
3307
 
3308
3308
  /**
3309
- ${a.cabecera}
3309
+ ${l.cabecera}
3310
3310
  */
3311
3311
  const config: TaishoConfig = {
3312
- ${a.temas}
3312
+ ${l.temas}
3313
3313
  themes: {
3314
3314
  ${s}: {
3315
- ${a.colores}
3315
+ ${l.colores}
3316
3316
  colors: {
3317
3317
  brand: '${n}',
3318
3318
  },
3319
3319
  },
3320
3320
  },
3321
3321
 
3322
- ${a.content}
3322
+ ${l.content}
3323
3323
  content: ['**/*.{html,svelte,vue,astro,jsx,tsx,js,ts,css}'],
3324
3324
 
3325
- ${a.fontFaces}
3326
- fontFaces: ${l},
3325
+ ${l.fontFaces}
3326
+ fontFaces: ${i},
3327
3327
 
3328
- ${a.fonts}
3328
+ ${l.fonts}
3329
3329
  fonts: {
3330
- sans: ${i},
3330
+ sans: ${c},
3331
3331
  },
3332
3332
 
3333
- ${a.estados}
3333
+ ${l.estados}
3334
3334
  defaultStates: {
3335
- ${Object.entries(Gn).map(([c,d])=>` ${c}: '${d}',`).join(`
3335
+ ${Object.entries(es).map(([d,u])=>` ${d}: '${u}',`).join(`
3336
3336
  `)}
3337
3337
  },
3338
3338
 
3339
- ${a.iconos}
3339
+ ${l.iconos}
3340
3340
  // customIconsDir: '${r}',
3341
3341
 
3342
- ${a.lang}
3342
+ ${l.salida}
3343
+ out: '${a}',
3344
+
3345
+ ${l.lang}
3343
3346
  lang: '${e}',
3344
3347
  };
3345
3348
 
3346
3349
  export default config;
3347
- `}async function fp(e){let n=up.createInterface({input:process.stdin,output:process.stdout});try{let s=yt(e);if(!e){let t=(await n.question(B().init.preguntaIdioma(s))).trim().toLowerCase();t&&(Fe(t)?s=yt(t):console.log(B().init.idiomaInvalido(t,s)))}let o=B().init,r=ke.brandHex,a=(await n.question(o.preguntaMarca(ke.brandHex))).trim();a&&(gp.test(a)?r=a:console.log(o.hexInvalido(a,ke.brandHex)));let i=(await n.question(o.preguntaTema(ke.themeName))).trim()||ke.themeName,c=(await n.question(o.preguntaFuentes)).trim().toLowerCase(),d=c==="f"||c==="fontsource",y=(await n.question(o.preguntaIconos(ke.customIconsDir))).trim()||ke.customIconsDir;return{lang:s,brandHex:r,themeName:i,useFontsource:d,customIconsDir:y}}finally{n.close()}}async function La(e,n={}){let s=ei.resolve(process.cwd(),e??"."),o=ei.join(s,"taisho.config.ts"),r=yt(n.lang);if(ti.existsSync(o)){console.error(B().init.yaExiste(Pa(o))),process.exitCode=1;return}let l=!!process.stdin.isTTY&&!n.yes?await fp(n.lang):{...ke,lang:r};ti.mkdirSync(s,{recursive:!0}),ti.writeFileSync(o,mp(l)),console.log(B().init.creado(Pa(o))),console.log(B().init.siguiente)}import Eu from"node:fs";import Yn from"node:path";import{createJiti as Ru}from"jiti";import ue from"node:fs";import Pt from"node:path";import{performance as zl}from"node:perf_hooks";import{transform as El}from"esbuild";function ni(e){let n=new Set(e.map(o=>o.replaceAll("\\","").slice(3))),s=(o,r)=>o<r?-1:o>r?1:0;return`// Archivo auto-generado: TIPOS DE CLASES de una extensi\xF3n de TaishoDS
3350
+ `}async function Sp(e,n){let s=yp.createInterface({input:process.stdin,output:process.stdout});try{let o=yt(e);if(!e){let g=(await s.question(H().init.preguntaIdioma(o))).trim().toLowerCase();g&&(Je(g)?o=yt(g):console.log(H().init.idiomaInvalido(g,o)))}let r=H().init,a=je.brandHex,l=(await s.question(r.preguntaMarca(je.brandHex))).trim();l&&(vp.test(l)?a=l:console.log(r.hexInvalido(l,je.brandHex)));let c=(await s.question(r.preguntaTema(je.themeName))).trim()||je.themeName,d=(await s.question(r.preguntaFuentes)).trim().toLowerCase(),u=d==="f"||d==="fontsource",t=(await s.question(r.preguntaIconos(je.customIconsDir))).trim()||je.customIconsDir,m=Wa(n),h=(await s.question(r.preguntaSalida(m))).trim()||m;return{lang:o,brandHex:a,themeName:c,useFontsource:u,customIconsDir:t,outDir:h}}finally{s.close()}}async function Ua(e,n={}){let s=$n.resolve(process.cwd(),e??"."),o=$n.join(s,"taisho.config.ts"),r=yt(n.lang);if(Ze.existsSync(o)){console.error(H().init.yaExiste(Va(o))),process.exitCode=1;return}let l=!!process.stdin.isTTY&&!n.yes?await Sp(n.lang,s):{...je,lang:r,outDir:Wa(s)};Ze.mkdirSync(s,{recursive:!0}),Ze.writeFileSync(o,kp(l)),console.log(H().init.creado(Va(o))),console.log(H().init.siguiente)}import Iu from"node:fs";import ee from"node:path";import{createJiti as Pu}from"jiti";import Bt from"node:fs";import It from"node:path";import{performance as ql}from"node:perf_hooks";import{transform as Il}from"esbuild";function ri(e){let n=new Set(e.map(o=>o.replaceAll("\\","").slice(3))),s=(o,r)=>o<r?-1:o>r?1:0;return`// Archivo auto-generado: TIPOS DE CLASES de una extensi\xF3n de TaishoDS
3348
3351
 
3349
3352
  declare module '@taishods/core/classes' {
3350
3353
  interface TaishoClassRegistry {
@@ -3354,32 +3357,32 @@ ${[...n].sort(s).map(o=>` "${o}": true;`).join(`
3354
3357
  }
3355
3358
 
3356
3359
  export {};
3357
- `}function Xt(e,n){let s=e.lastIndexOf("<",n);for(let o=0;s>=0&&o<50;o++,s=s>0?e.lastIndexOf("<",s-1):-1){let r=/^<([A-Za-z][\w.:-]*)/.exec(e.slice(s,s+80));if(!r||/[A-Za-z0-9_$)\]]/.test(e[s-1]??""))continue;let a=0,l="";for(let i=s+r[0].length;i<e.length;i++){let c=e[i];if(l)c==="\\"?i++:c===l&&(l="");else if(c==='"'||c==="'"||c==="`"&&a>0)l=c;else if(c==="{")a++;else if(c==="}")a--;else if(c===">"&&a<=0)return i<n?null:{nombre:r[1],desde:s,hasta:i+1}}return{nombre:r[1],desde:s,hasta:e.length}}return null}var Ve=e=>/^[A-Z]/.test(e);function _a(e,n){let s=n instanceof Set?n:new Set(n),o=[];for(let r of e.matchAll(/class="([^"]*)"/g)){let a=r[1].split(/\s+/).filter(Boolean),l=e.slice(0,r.index).split(`
3358
- `).length,i=Xt(e,r.index);if(!(i&&Ve(i.nombre))){if(a.includes("ts")){for(let c of a){let[,d="",u]=/^(@?[a-z0-9]+:)?(.*)$/.exec(c);u.startsWith("ts-")&&o.push({clase:c,l\u00EDnea:l,sugerencia:`en scope no lleva \`ts-\`: \`${d}${u.slice(3)}\``})}continue}for(let c of a){let d=c.replace(/^@?[a-z0-9]+:/,"");s.has(d)&&o.push({clase:c,l\u00EDnea:l})}}}return o}function Fa(e,n){let s={planas:[],variantes:[],componentes:[]};if(e===void 0)return s;if(!Array.isArray(e))throw _("safelist",{code:"safelist-not-list",params:{}});let o=[...n.vocabulario,...n.tonos??[]],r=new Set(o),a=[];return e.forEach((l,i)=>{un(a,()=>{let c=`safelist[${i}]`;if(typeof l!="string"||l.trim()==="")throw _(c,{code:"safelist-entry-empty",params:{}});let[,d,u]=/^((?:@?[a-z0-9][a-z0-9-]*(?:\/[a-z][a-z0-9-]*)?:)*)(.*)$/.exec(l),y=`${c} (${JSON.stringify(l)})`;if(d){let m=jt(d.match(/[^:]+:/g),n.prefijos);if(!m.ok&&m.motivo==="desconocido"){let h=mt(m.prefijo,n.prefijos.keys());throw _(y,{code:"safelist-unknown-prefix",params:{prefix:m.prefijo,...h&&{suggestion:h}}})}if(!m.ok&&m.motivo==="data-ts")throw _(y,{code:"safelist-data-ts",params:{prefix:m.prefijo}});if(!m.ok&&m.canonica)throw _(y,{code:"safelist-out-of-order",params:{suggestion:m.canonica.join("")+u}});if(!m.ok)throw _(y,{code:"safelist-invalid-chain",params:{}})}if(u.includes(":"))throw _(y,{code:"safelist-misplaced-colon",params:{}});if(u.startsWith("ts-")){let{sugerencia:m}=_a(`class="ts ${l}"`,[])[0]??{},h=m?.slice(m.lastIndexOf(": `")+3,-1);throw _(y,{code:"safelist-legacy-prefix",params:h!==void 0?{suggestion:h}:{}})}let t=u.indexOf("*");if(t!==-1){if(t!==u.length-1)throw _(y,{code:"safelist-star-not-last",params:{}});let m=u.slice(0,-1),h=m?o.filter(g=>g.startsWith(m)):[];if(h.length===0){let g=new Set(o.flatMap(p=>[...p.matchAll(/-/g)].map(v=>`${p.slice(0,v.index+1)}*`))),b=mt(u,g);throw _(y,{code:"safelist-family-empty",params:b?{suggestion:b}:{}})}(d?s.variantes:s.planas).push(...h.map(g=>d+g));return}if(d&&n.componentes.includes(u))throw _(y,{code:"safelist-component-variant",params:{}});if(n.modificadores?.has(u)&&!r.has(u)){if(d)throw _(y,{code:"safelist-modifier-variant",params:{}});s.planas.push(l)}else if(r.has(u))(d?s.variantes:s.planas).push(l);else if(n.componentes.includes(u))s.componentes.push(u);else{let m=[...o,...n.componentes].map(g=>d+g),h=mt(l,m);throw _(y,{code:"safelist-unknown",params:h?{suggestion:h}:{}})}})}),Wn(a),s}var We="Copyright (c) 2026 Pablo Di Filippo. Licencia MIT (ver LICENSE).";function Se(e,n=Et(e),s={}){let o=Ts(s),r=_e(s),{userColors:a,userStates:l,userGridMins:i,userScales:c,userUtilities:d,themeChangesDensity:u}=n,y=Jt(a,l),t=ya(e.darkMode,c),m=Vt(y,i,c),h=Nt(c)+r.utilities,g=Zt(a,l,c,u)+r.components,b=Ct([m,h,g].flatMap(T=>pt(T).map(N=>N.name))),p=[m,h,g].flatMap(T=>pt(T).map(N=>N.name.replaceAll("\\",""))),v=new Set;for(let T of p)gt(T)||v.add(T);for(let T of b.values())v.add(T);let f=Wt(c.screens),w=Object.keys(d).filter(T=>!Ut(T)),k=fr(d),I=T=>v.has(`ts-${T}`)||Object.hasOwn(d,T)&&!Ut(T),{atomicas:D,componentes:W,esComponente:J}=Wo(o,m,h,b),Z=T=>!Object.hasOwn(d,T)&&J(T),M=[...v].map(T=>T.slice(3)),q=[...M,...w],F=us(d),P=[...new Set([...g.matchAll(/^ {2}&\.(variant-[A-Za-z0-9-]+?-\d+) \{$/gm)].map(T=>T[1]))];return{manifiesto:o,userScales:c,tonos:P,userUtilities:d,cadenasPropias:F,modificadoresPropios:k,reset:t,atomic:m,utilities:h,components:g,alias:b,prefijos:f,esUtilidad:I,atomicas:D,componentes:W,esComponente:Z,nombresCortos:M,vocabulario:q}}function Wa(e,n,s,o={}){let r=Object.keys(s.userUtilities).filter(l=>!Ut(l)),a=[];if(Object.keys(e.extend??{}).length){let l=new Set(Se(e,{...n,userScales:Y,userUtilities:{}},o).nombresCortos);a=s.nombresCortos.filter(i=>!l.has(i))}return[...a,...r]}function Ua(e){let n=Va.get(e);if(!n){let s=a=>mt(a,e.prefijos.keys()),o=Object.keys(e.manifiesto.componentes).sort((a,l)=>l.length-a.length),r=new Map;for(let[a,l]of Object.entries(e.manifiesto.componentes))for(let i of l.bloques)for(let c of[i,(e.alias.get(`ts-${i}`)??`ts-${i}`).slice(3)])r.set(c,a);n={sugerir:s,slugsLargosPrimero:o,dueno:r},Va.set(e,n)}return n}var Va=new WeakMap,si=(e,n)=>{let s=JSON.stringify(n);e.has(s)||e.set(s,n)};function oi(e,n,s,o){let{prefijos:r,esUtilidad:a,esComponente:l,vocabulario:i,cadenasPropias:c}=e,{sugerir:d,slugsLargosPrimero:u,dueno:y}=Ua(e),t=new Set,m=new Set,h=new Map,g=p=>si(h,{...p,file:n}),b=new Set;for(let{variantes:p,base:v}of Lr(s,o)){let f=p.join("")+v;if(p.length===1&&p[0]==="class:"){m.add(v);continue}let w=jt(p,r);if(l(v)&&(w.ok||w.motivo!=="desconocido")){g({code:"variant-on-component",params:{class:f,variants:[...p],component:v}});continue}if(a(v))if(w.ok){let k=c.get(v),I=k&&ve(p,k,r).find(D=>!D.ok);I&&!I.ok?g({code:"invalid-composition",params:ln(f,v,p,I)}):t.add(f)}else if(w.motivo==="data-ts")g({code:"data-ts-variant",params:{class:f}});else if(w.motivo==="desconocido"){let k=d(w.prefijo);g({code:"unknown-prefix",params:{prefix:w.prefijo,class:f,...k&&{suggestion:k}}})}else w.canonica?g({code:"out-of-order",params:{class:f,suggestion:w.canonica.join("")+v}}):g({code:"invalid-chain",params:{class:f}})}for(let p of s){if(p==="markInvalid")for(let v of["input-hint","input-footer","icon","icon-14"])m.add(v);if(p.startsWith("data-ts-")){let v=p.slice(8),f=u.find(w=>v===w||v.startsWith(`${w}-`));f&&b.add(f)}if(p.endsWith("{")){o&&p==="variant-{"&&m.add(p);let v=p.slice(0,-1).split(":").pop();i.some(f=>f.length>v.length&&f.startsWith(v))&&g({code:"runtime-class",params:{fragment:v}})}else if(o){let v=p.replace(/^[./]+|[./:]+$/g,"");v&&!v.includes(":")&&m.add(v)}}if(o)for(let p of m){let v=y.get(p);v&&b.add(v)}return{variantes:[...t],planas:[...m],warnings:[...h.values()],enteros:[...b]}}function zs(e,n,s,o){let{prefijos:r,vocabulario:a}=e,{dueno:l}=Ua(e),i=new Set,c=new Set,d=new Map;n.scope!==void 0&&si(d,{code:"scope-option",params:{}});let u=Fa(n.safelist,{vocabulario:a,modificadores:new Set([...e.modificadoresPropios.values()].flat()),prefijos:r,componentes:Object.keys(e.manifiesto.componentes),tonos:e.tonos});if(o){for(let m of u.variantes)i.add(m);for(let m of u.planas)c.add(m)}let y=new Set(u.componentes);for(let m of s){for(let h of m.variantes)i.add(h);for(let h of m.planas)c.add(h);for(let h of m.warnings)si(d,h);for(let h of m.enteros)y.add(h)}let t=new Set;if(o){for(let m of u.planas){let h=l.get(m);h&&y.add(h)}for(let m of y){let h=e.manifiesto.componentes[m];for(let g of[...h.bloques,...h.runtime])t.add(`ts-${g}`)}}return{variantes:i,planas:c,warnings:[...d.values()],forzadas:t,enteros:y}}function Ba(e){let n=[...e].sort((s,o)=>s.file<o.file?-1:s.file>o.file?1:0);for(let s=1;s<n.length;s++)if(n[s].file===n[s-1].file)throw new Error(`compile: ruta duplicada "${n[s].file}".`);return n}function ii(e,n,s={}){let o=Ba(n);return Ha(Se(e,Et(e,s.extensions),s.extensions),e,o,s)}function Ha(e,n,s,o={}){let{cache:r}=o,a=o.copyright??We,l=o.onDemand??!1,i=Ba(s),c=i.map(h=>{let g=h.hash!==void 0?r?.get(h.hash):void 0;return g||(g=dn(h.content),h.hash!==void 0&&r&&!r.has(h.hash)&&r.set(h.hash,g)),oi(e,h.file,g,l)}),{variantes:d,planas:u,warnings:y,forzadas:t}=zs(e,n,c,l);return{css:`/* TaishoDS \u2014 ${a} */
3359
- `+_r({reset:e.reset,atomic:e.atomic,utilities:e.utilities,components:e.components,variantesUsadas:d,usadas:l?u:void 0,forzadas:t,varsDelProyecto:l?new Set($o(i)):void 0,scales:e.userScales,userUtilities:e.userUtilities}),variants:[...d],warnings:y}}import ri from"node:fs";import Rs from"node:path";import{createRequire as Ja}from"node:module";import{inflateSync as hp}from"node:zlib";var bp={" ":18,e:11.5,a:9.5,o:7.8,s:6.6,n:6.8,r:6.4,i:6.7,t:6.6,l:4.6,d:4.6,c:3.8,u:3.6,m:2.7,h:3.1,p:2.3,g:1.5,b:1.4,y:1.4,f:1.4,v:1,w:1.2,q:.5,k:.4,j:.3,x:.2,z:.3};function yp(e){let n=new DataView(e.buffer,e.byteOffset,e.byteLength),s=String.fromCharCode(e[0],e[1],e[2],e[3]),o=new Map;if(s==="wOFF"){let a=n.getUint16(12);for(let l=0;l<a;l++){let i=44+l*20,c=String.fromCharCode(e[i],e[i+1],e[i+2],e[i+3]),d=n.getUint32(i+4),u=n.getUint32(i+8),y=n.getUint32(i+12),t=e.subarray(d,d+u),m=u<y?new Uint8Array(hp(t)):t;o.set(c,new DataView(m.buffer,m.byteOffset,m.byteLength))}return o}if(s==="wOF2")throw new Error("WOFF2 no soportado: se usa el .woff o el .ttf");let r=n.getUint16(4);for(let a=0;a<r;a++){let l=12+a*16,i=String.fromCharCode(e[l],e[l+1],e[l+2],e[l+3]);o.set(i,new DataView(e.buffer,e.byteOffset+n.getUint32(l+8),n.getUint32(l+12)))}return o}function vp(e){let n=e.getUint16(2),s=-1;for(let c=0;c<n;c++){let d=e.getUint16(4+c*8),u=e.getUint16(6+c*8),y=e.getUint32(8+c*8);if(e.getUint16(y)===4&&(d===0||d===3&&u===1)){s=y;break}}if(s<0)throw new Error("la fuente no trae una cmap formato 4");let o=e.getUint16(s+6),r=s+14,a=r+o+2,l=a+o,i=l+o;return c=>{for(let d=0;d<o;d+=2){if(c>e.getUint16(r+d))continue;let u=e.getUint16(a+d);if(c<u)return 0;let y=e.getInt16(l+d),t=e.getUint16(i+d);if(t===0)return c+y&65535;let m=e.getUint16(i+d+t+(c-u)*2);return m===0?0:m+y&65535}return 0}}function Ga(e){let n=yp(e),s=n.get("head"),o=n.get("hhea"),r=n.get("hmtx"),a=n.get("cmap");if(!s||!o||!r||!a)throw new Error("faltan tablas (head, hhea, hmtx o cmap)");let l=o.getUint16(34),i=y=>r.getUint16(4*Math.min(y,l-1)),c=vp(a),d=0,u=0;for(let[y,t]of Object.entries(bp)){let m=c(y.codePointAt(0));m&&(d+=i(m)*t,u+=t)}return{unitsPerEm:s.getUint16(18),ascent:o.getInt16(4),descent:o.getInt16(6),lineGap:o.getInt16(8),anchoMedio:d/u}}var xp={sans:{local:"Arial",m:{unitsPerEm:2048,ascent:1854,descent:-434,lineGap:67,anchoMedio:917.32}},mono:{local:"Courier New",m:{unitsPerEm:2048,ascent:1705,descent:-615,lineGap:0,anchoMedio:1229}}},wp={latin:"U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD","latin-ext":"U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF"};function $p(e,n,s,o,r="normal"){try{let l=ri.readFileSync(e.resolve(`${n}/${o}${r==="italic"?"-italic":""}.css`),"utf8").split("/*").find(c=>c.includes(`-${s}-${o}-${r} */`)),i=l&&/unicode-range:\s*([^;]+);/.exec(l)?.[1].trim();if(i)return i}catch{}return wp[s]}var Es=e=>`${(Math.round(e*1e4)/100).toFixed(2)}%`;function kp(e,n,s,o){let r=xp[s?"mono":"sans"],a=n.anchoMedio/n.unitsPerEm/(r.m.anchoMedio/r.m.unitsPerEm);return{familia:e,local:o?`${r.local} Italic`:r.local,sizeAdjust:Es(a),ascent:Es(n.ascent/n.unitsPerEm/a),descent:Es(Math.abs(n.descent)/n.unitsPerEm/a),lineGap:Es(n.lineGap/n.unitsPerEm/a),...o&&{estilo:o}}}function ai(e,n){let s=Ja(Rs.join(n,"package.json")),o=[];for(let r of e)for(let a of r.styles??["normal"])try{let l=a==="italic"?"-italic":"",i=[...r.weights].sort((b,p)=>Math.abs(b-400)-Math.abs(p-400))[0],c=r.subsets[0],d=s.resolve(`${r.source}/${c}-${i}${l}.css`),u=ri.readFileSync(d,"utf8"),y=/font-family:\s*['"]([^'"]+)['"]/.exec(u)?.[1],t=/url\(([^)]+\.woff)\)/.exec(u)?.[1],m=r.subsets.map(b=>$p(s,r.source,b,i,a));if(!y||!t)continue;let h=Ga(new Uint8Array(ri.readFileSync(Rs.resolve(Rs.dirname(d),t)))),g=kp(y,h,/mono/i.test(y)||/mono/i.test(r.source),a==="italic"?"italic":void 0);m.every(Boolean)&&(g.unicodeRange=m.join(", ")),o.push(g)}catch{}return o}function li(e,n){let s=Ja(Rs.join(n,"package.json"));e.forEach((o,r)=>{if(o.styles?.includes("italic"))for(let a of o.subsets)for(let l of o.weights)try{s.resolve(`${o.source}/${a}-${l}-italic.css`)}catch{throw _(`fontFaces[${r}].styles`,{code:"font-italic-missing",params:{source:o.source,subset:a,weight:l}})}})}import ci from"fs";import Za from"path";function di(e,n){let s=Za.join(e,"icons");if(!ci.existsSync(s))return{};let o=i=>(ci.readFileSync(Za.join(s,`${i}.svg`),"utf-8").match(/<svg[^>]*>([\s\S]*?)<\/svg>/)?.[1]??"").replace(/\s+/g," ").trim(),r=ci.readdirSync(s).filter(i=>i.endsWith(".svg")).map(i=>i.slice(0,-4)).filter(i=>!n[i]).sort();if(r.length===0)return{};let a=new Map;for(let i of Object.keys(n).sort()){let c=o(i);a.has(c)||a.set(c,i)}let l={};for(let i of r){let c=a.get(o(i));c&&(l[i]=c)}return l}var Ka=(e,n,s)=>`Tema "${e}": la semilla de "${n}" (${s}) es casi blanca: sobre el fondo claro no se ve y el relleno s\xF3lido (botones, casillas, interruptores) no puede ser blanco, as\xED que sale gris. Para un bot\xF3n blanco se usa una variante con borde; para la marca, una semilla m\xE1s oscura.`;var Sp=[[/^En Tailwind el número de una medida es un paso de (\d+px) \(w-64 = 16rem = (\d+px) con 1rem = (\d+px)\); en TaishoDS es el valor en px \(ts-w-64 = 64px\)\. Por eso la tabla se arma por el valor en px y no por el número, y la columna `nota` de cada medida dice los dos\.$/,"In Tailwind, the number in a size class is a $1 step (w-64 = 16rem = $2 at 1rem = $3). In TaishoDS it\u2019s the value in px (ts-w-64 = 64px). That\u2019s why the table is built from the px value, not the number, and the note on each size row shows both."],[/^El nombre coincide, el color no: la paleta de TaishoDS sale de las semillas de tu tema \(OKLCH\), no de la de Tailwind\. Conviene revisar el resultado a ojo\.$/,"The name matches, the color doesn\u2019t. The TaishoDS palette comes from your theme\u2019s seeds (OKLCH), not from Tailwind\u2019s. Check the result by eye."],[/^(.+)\. (palabra de ritmo: .+)$/,(e,n,s)=>`${Te(n)}. ${Te(s)}`],[/^palabra de ritmo: baja con `compact` \(para este prefijo no hay clase en px\)$/,"rhythm word\u2014shrinks with `compact` (this prefix has no px class)"],[/^lado lógico: sigue el sentido de lectura \(RTL\); el de Tailwind es físico$/,"logical side\u2014follows the reading direction (RTL); Tailwind\u2019s is physical"],[/^(\S+) sin unidad$/,"$1, unitless"],[/^Tailwind fija también el interlineado; en TaishoDS es `ts-leading-\*` o el compuesto `ts-type-copy-N`$/,"Tailwind also sets the line height; in TaishoDS that\u2019s `ts-leading-*` or the composite `ts-type-copy-N`"],[/^fluido: crece con el viewport hasta (\d+px)\. (.+)$/,(e,n,s)=>`fluid\u2014grows with the viewport up to ${n}. ${Te(s)}`],[/^a (start|end): sigue el sentido de lectura \(RTL\); `([\w-]+)` es físico y el valor calculado es otro \(`(\w+)` \/ `(\w+)`\)$/,"to $1\u2014follows the reading direction (RTL); `$2` is physical and the computed value differs (`$3` / `$4`)"],[/^el mismo resultado visual \(una píldora o un círculo\), otro valor: Tailwind usa `calc\(infinity \* 1px\)` y TaishoDS 9999px$/,"same visual result (a pill or a circle), different value\u2014Tailwind uses `calc(infinity * 1px)` and TaishoDS 9999px"],[/^el nombre cambia: (\S+) es (\d+px) y en TaishoDS es (\S+)$/,"renamed\u2014$1 is $2, and in TaishoDS it\u2019s $3"],[/^el nombre cambia: (\d+ms) es (\S+)$/,"renamed\u2014$1 is $2"],[/^el porcentaje de TaishoDS está redondeado a tres decimales \(([\d.]+%)\); el de Tailwind es exacto \((`[^`]+`)\): menos de ([\d.]+px) de diferencia$/,"TaishoDS rounds the percentage to three decimals ($1); Tailwind\u2019s is exact ($2)\u2014less than $3 apart"],[/^en TaishoDS el número es el tamaño de texto al que acompaña \((\d+)\), no los px: el interlineado es (\d+px)$/,"in TaishoDS the number is the text size it goes with ($1), not px\u2014the line height is $2"],[/^la misma intención, otra pila: la de Tailwind es la del sistema; la de TaishoDS empieza por la fuente de tu tema$/,"same intent, different stack\u2014Tailwind\u2019s is the system stack; TaishoDS\u2019s starts with your theme\u2019s font"],[/^la misma intención, otra pila: la de Tailwind es la del sistema; la de TaishoDS empieza por la fuente mono de tu tema$/,"same intent, different stack\u2014Tailwind\u2019s is the system stack; TaishoDS\u2019s starts with your theme\u2019s mono font"],[/^misma intención, otra sombra: la de TaishoDS incluye el anillo de 1px del material$/,"same intent, different shadow\u2014the TaishoDS one includes the material\u2019s 1px ring"],[/^mismo efecto \(fuera de la vista, legible por un lector de pantalla\), otra implementación: Tailwind recorta con `clip-path`, TaishoDS con `clip` y sin borde$/,"same effect (off-screen, readable by a screen reader), different implementation\u2014Tailwind clips with `clip-path`, TaishoDS with `clip` and no border"],[/^mismo efecto \(deshace `sr-only`, p\. ej\. con `focus:`\), otra implementación: Tailwind restablece con `clip-path: none`, TaishoDS con `clip: auto`$/,"same effect (undoes `sr-only`, e.g. with `focus:`), different implementation\u2014Tailwind resets with `clip-path: none`, TaishoDS with `clip: auto`"],[/^además del color dibuja el borde: 1px sólido \(`border-gray-200` de Tailwind sólo pinta el color y necesita `border` para verse\)$/,"besides the color, it draws the border\u20141px solid (Tailwind\u2019s `border-gray-200` only sets the color and needs `border` to show)"],[/^([\w-]+): no hay clase en px ni paso de ritmo para este prefijo$/,"$1: no px class or rhythm step for this prefix"],[/^([\w-]+): no hay clase en px; sólo los pasos de ritmo \((.+)\), y ninguno vale lo mismo que ese paso de Tailwind$/,"$1: no px class, only the rhythm steps ($2), and none matches that Tailwind step"],[/^(\d+px) no está en la escala de medidas \(sizing\)$/,"$1 isn\u2019t on the sizing scale"],[/^(\d+px) no está en la escala de radios$/,"$1 isn\u2019t on the radius scale"],[/^(\d+px) no está en la escala de texto \((.+)\)$/,"$1 isn\u2019t on the text scale ($2)"],[/^interlineado de (\d+px) no está en la escala$/,"a $1 line height isn\u2019t on the scale"],[/^interlineado sin unidad: sólo existen `none` y `tight`$/,"unitless line height\u2014only `none` and `tight` exist"],[/^opacidad (\d+) no está en la escala \((.+)\)$/,"opacity $1 isn\u2019t on the scale ($2)"],[/^peso (\d+) no está en la escala$/,"weight $1 isn\u2019t on the scale"],[/^(\S+) no está en la escala de tracking$/,"$1 isn\u2019t on the tracking scale"],[/^(\d+ms) no está en la escala de duraciones$/,"$1 isn\u2019t on the duration scale"],[/^esa curva de easing no está en la escala$/,"that easing curve isn\u2019t on the scale"],[/^blur de (\d+px) no está en la escala$/,"a $1 blur isn\u2019t on the scale"],[/^esa sombra no existe en la escala de TaishoDS \((.+)\)$/,"that shadow isn\u2019t on the TaishoDS scale ($1)"],[/^la clase de TaishoDS no está emitida \(su vocabulario es más corto que el de Tailwind\)$/,"the TaishoDS class isn\u2019t emitted (its vocabulary is smaller than Tailwind\u2019s)"],[/^la clase de TaishoDS no está emitida$/,"the TaishoDS class isn\u2019t emitted"],[/^márgenes negativos \(`-m-\*`\): la gramática los define \(`m-neg-N`\) pero el generador no los emite$/,"negative margins (`-m-*`)\u2014the naming grammar defines them (`m-neg-N`), but the generator doesn\u2019t emit them"],[/^white, black, current e inherit no son colores del tema \(el color sale de las semillas\): para una superficie, `bg-background-100` o un gris de la escala \(`bg-gray-100`…`bg-gray-1000`\); para el texto, `color-gray-1000` o el color del tema$/,"white, black, current, and inherit aren\u2019t theme colors (color comes from the seeds). For a surface, use `bg-background-100` or a gray from the scale (`bg-gray-100`\u2026`bg-gray-1000`); for text, `color-gray-1000` or the theme color"],[/^el corte (\w+) no está en las pantallas del Core; se agrega con extend\.screens$/,"the $1 breakpoint isn\u2019t one of Core\u2019s screens; add it with extend.screens"],[/^valores arbitrarios: el vocabulario es cerrado\. La escotilla es un token del config \(taisho\.user\.ts\) o una utilidad propia en `utilities`$/,"arbitrary values\u2014the vocabulary is closed. The way out is a token in your config (taisho.config.ts) or your own utility in `utilities`"],[/^variantes fuera de la lista cerrada: las de estado que existen son hover, focus, focus-visible, active, disabled, checked, invalid, group-\*, peer-\*, aria-<estado>, data-<nombre> \(sólo presencia\) y print; para lo demás, una clase propia en tu CSS$/,"variants outside the closed list. The state variants that exist are hover, focus, focus-visible, active, disabled, checked, invalid, group-*, peer-*, aria-<state>, data-<name> (presence only), and print; for anything else, your own class in your CSS"],[/^no hay variante `dark:`: el oscuro sale del tema \(`light-dark\(\)`, `createTheme`\), no de una clase por elemento$/,"there\u2019s no `dark:` variant. Dark mode comes from the theme (`light-dark()`, `createTheme`), not from a class on each element"],[/^no existen; se reemplazan por `gap-\*` en el contenedor flex\/grid$/,"they don\u2019t exist; use `gap-*` on the flex/grid container instead"],[/^el ancho `border-N` \(1 a 4\) dibuja los cuatro lados y `border-none` lo quita: no hay `border-0` ni `border-8`, ni un lado o un eje sin número; el de un solo lado \(`border-t-N`\) sólo fija el ancho y el trazo lo dibuja `border-t-<familia>-<n>`$/,"the `border-N` width (1 to 4) draws all four sides and `border-none` removes it: there\u2019s no `border-0` or `border-8`, and no side or axis without a number; the single-side one (`border-t-N`) only sets the width, and `border-t-<family>-<n>` draws the line"],[/^no hay una `transition` sola: se elige la propiedad \(`transition-colors`, `transition-opacity`, `transition-shadow`, `transition-transform`, `transition-all`\); `duration-\*` y `ease-\*` fijan la duración y la curva, y los componentes ya traen su transición; para otra propiedad, una utilidad propia en `utilities`$/,"there\u2019s no bare `transition`\u2014pick the property (`transition-colors`, `transition-opacity`, `transition-shadow`, `transition-transform`, `transition-all`). `duration-*` and `ease-*` set the duration and the curve, and components already ship their own transition; for another property, your own utility in `utilities`"],[/^el anillo va de 1 a 4 \(`ring-1`…`ring-4`\): no hay `ring` sin número, `ring-0`, `ring-8` ni `ring-inset`; el anillo de foco lo pone el reset \(`:focus-visible`\) y cada componente$/,"the ring goes from 1 to 4 (`ring-1`\u2026`ring-4`): there\u2019s no `ring` without a number, `ring-0`, `ring-8`, or `ring-inset`. The focus ring comes from the reset (`:focus-visible`) and each component"],[/^no hay `outline-hidden`: para quitar el contorno, `outline-none`$/,"there\u2019s no `outline-hidden`: to remove the outline, use `outline-none`"],[/^sólo existe `rotate-180`: no hay otros giros; para otro ángulo, una utilidad propia en `utilities`$/,"only `rotate-180` exists, there are no other rotations; for another angle, your own utility in `utilities`"],[/^el estilo del borde no es una clase aparte: los bordes de TaishoDS son sólidos; para guiones o puntos, una utilidad propia en `utilities`$/,"border style isn\u2019t a separate class\u2014TaishoDS borders are solid; for dashes or dots, your own utility in `utilities`"],[/^no hay filtros de color: sólo `blur-\*` y `backdrop-blur-\*`; para otro filtro, una utilidad propia en `utilities`$/,"there are no color filters, only `blur-*` and `backdrop-blur-*`; for another filter, your own utility in `utilities`"],[/^no hay gradientes: el fondo es un color de la escala; para un gradiente, una utilidad propia en `utilities`$/,"there are no gradients\u2014the background is a color from the scale; for a gradient, your own utility in `utilities`"],[/^sólo existen `m-auto`, `mx-auto`, `my-auto`, `ms-auto` y `me-auto`$/,"only `m-auto`, `mx-auto`, `my-auto`, `ms-auto`, and `me-auto` exist"],[/^el ancho tiene nombre: `border-1` es 1px \(Tailwind dice `border`\)$/,"the width has a name\u2014`border-1` is 1px (Tailwind just says `border`)"],[/^misma intención, otra implementación: es un `box-shadow` que pisa a `shadow-\*` \(Tailwind los suma\)$/,"same intent, different implementation\u2014it\u2019s a `box-shadow` that overrides `shadow-*` (Tailwind adds them together)"],[/^misma intención, otra implementación: anima el fondo y el color del texto con la duración `fast` del tema; Tailwind anima también el borde, el relleno y el trazo, en 150ms$/,"same intent, different implementation\u2014it animates the background and the text color with the theme\u2019s `fast` duration; Tailwind also animates the border, fill, and stroke, at 150ms"],[/^misma intención, otra duración: la `fast` del tema; la de Tailwind es de 150ms$/,"same intent, different duration\u2014the theme\u2019s `fast`; Tailwind\u2019s is 150ms"],[/^misma intención, otra implementación: anima el fondo, el color, la sombra y el transform con la duración `fast` del tema, no todas las propiedades$/,"same intent, different implementation\u2014it animates the background, color, shadow, and transform with the theme\u2019s `fast` duration, not every property"],[/^misma intención, otra implementación: además de no animar nada pone la duración en 0s; Tailwind sólo quita la propiedad animada$/,"same intent, different implementation\u2014besides animating nothing it sets the duration to 0s; Tailwind only removes the animated property"],[/^quita también el contorno del foco \(`:focus-visible`\): sin otro indicador de foco, el teclado queda sin referencia$/,"it also removes the focus outline (`:focus-visible`): without another focus indicator, keyboard users lose their place"],[/^además del color dibuja el aro: 1px \(`ring-blue-500` de Tailwind sólo pinta el color y necesita `ring-N` para verse\)$/,"besides the color, it draws the ring\u20141px (Tailwind\u2019s `ring-blue-500` only sets the color and needs `ring-N` to show)"],[/^no hay rangos: cada pantalla tiene su variante «desde» \(`md:`\) y su variante «hasta» \(`max-md:`\), pero no las dos a la vez en una clase$/,"no ranges. Each screen has its \u201Cfrom\u201D variant (`md:`) and its \u201Cup to\u201D variant (`max-md:`), but not both in one class"]],Xa={medidas:"sizes","tama\xF1o de texto":"font size",peso:"font weight",interlineado:"line height",tracking:"tracking",radio:"radius",sombra:"shadow",color:"color",opacidad:"opacity","z-index":"z-index",movimiento:"motion",borde:"border",blur:"blur",display:"display",posici\u00F3n:"position",visibilidad:"visibility",flex:"flex",grid:"grid",alineaci\u00F3n:"alignment",texto:"text","texto y utilidades":"text and utilities",overflow:"overflow",interacci\u00F3n:"interaction",layout:"layout"};function Te(e){for(let[n,s]of Sp){let o=n.exec(e);if(o)return typeof s=="string"?e.replace(n,s):s(...o)}throw new Error(`tailwind-map-en: falta el ingl\xE9s de \xAB${e}\xBB (se suma una regla en src/generate/tailwind-map-en.ts)`)}function Ya(e){let n=o=>Object.fromEntries([...new Set(o)].sort().map(r=>[r,Te(r)])),s=[...new Set(e.filas.map(o=>o.familia))].sort();for(let o of s)if(!Xa[o])throw new Error(`tailwind-map-en: falta el ingl\xE9s de la familia \xAB${o}\xBB`);return{unidades:Te(e.unidades),coloresNota:Te(e.colores.nota),notas:n(e.filas.flatMap(o=>o.nota?[o.nota]:[])),motivos:n(e.sinEquivalente.map(o=>o.motivo)),familias:Object.fromEntries(s.map(o=>[o,Xa[o]]))}}var Ce=e=>e.map(n=>`"${n}"`).join(", "),pi=e=>new Intl.ListFormat("en",{type:"conjunction"}).format(e),fn=e=>e?` \xBFSe quiso decir "${e}"?`:"",hn=e=>e?` Did you mean "${e}"?`:"",Qa="at most one context, one print, one group or peer, and one state, in that order, and 3 segments",Tp={"scope-option":()=>"`scope: 'ts'` ya es el \xFAnico modo: se quita la clave.","variant-on-component":e=>`"${e.class}" no se emite: las variantes (${e.variants.join(" ")}) aplican s\xF3lo a utilidades, y "${e.component}" es de un componente. Sus estados son \`is-*\`, \`aria\` y los internos.`,"invalid-composition":e=>`"${e.class}" no se emite: "${e.utility}" lleva "${e.inner}" y con "${e.use}" queda "${e.result}", que no es una cadena v\xE1lida: admite ${an}.`,"data-ts-variant":e=>`"${e.class}" se rechaza y no se emite: \`data-ts-*\` es el gancho de los componentes, no una variante. Los \`data-<nombre>:\` propios s\xED valen.`,"unknown-prefix":e=>`el prefijo "${e.prefix}" no existe (en "${e.class}").${fn(e.suggestion)}`,"out-of-order":e=>`"${e.class}" est\xE1 fuera de orden y no se emite.${fn(e.suggestion)}`,"invalid-chain":e=>`"${e.class}" no se emite: la cadena admite ${an}.`,"runtime-class":e=>`"${e.fragment}" parece compuesta en runtime; se agrega a safelist.`,"seed-shifted":e=>`Tema "${e.theme}": la semilla de "${e.color}" (${e.seed}) no encaja en ning\xFAn paso del modo ${e.mode==="light"?"claro":"oscuro"} sin romper el contraste del texto (WCAG AA, 4,5:1); se corri\xF3 al borde del paso ${e.step}: L ${e.deltaL>0?"+":"\u2212"}${Math.abs(e.deltaL).toFixed(3)}, m\xE1s ${e.deltaL>0?"clara":"oscura"}. Gana la legibilidad; para el color exacto se elige una semilla con otra luminosidad.`,"seed-white":e=>Ka(e.theme,e.color,e.seed),"brand-like-status":e=>`Tema "${e.theme}": el primario (${e.brand}) casi no se distingue del estado "${e.status}" (${e.seed}; distancia ${e.distance.toFixed(3)} en OKLab, menos de ${e.threshold}): un bot\xF3n primario y uno de ${e.status} se ver\xEDan casi iguales. Se define ese estado aparte en \`defaultStates\`.`,"border-width-zero":e=>$a(e.theme,e.name,e.value),"missing-ts":e=>`<${e.element}> usa clases del DS (${Ce(e.classes)}) pero no lleva la clase \`ts\`, y sin ella no recibe estilo.`,"ignored-attribute":e=>`el atributo \`${e.attribute}\` trae la clase \`ts\` y clases del DS (${Ce(e.classes)}), pero no se lee como clases y no se emiten. Se leen los atributos \`class\`, \`className\` y los que terminan en \`class\`, \`Class\` o \`ClassName\` (\`bodyClass\`, \`body-class\`); si no es posible renombrarlo, las clases van al \`safelist\`.`,"unknown-class":e=>`"${e.class}" no existe en el DS y no se emite.${fn(e.suggestion)}`,"class-without-equivalent":e=>`"${e.class}" es un nombre de otro framework sin equivalente en el DS y no se emite: ${e.reason}.`,"important-class":e=>`"${e.class}" no se emite: el modificador importante (\`!\`) no existe, la cascada de capas hace que la utilidad gane sin forzarla.${fn(e.suggestion)}`,"other-scale":e=>e.otherPx===void 0?`"${e.class}" existe en TaishoDS pero no vale lo mismo que en otro framework.${e.equivalent?` El equivalente es "${e.equivalent}".`:""}`:`"${e.class}" vale ${e.px} px en TaishoDS; el mismo n\xFAmero vale ${e.otherPx} px en otro framework. ${e.equivalent?`Para ${e.otherPx} px se escribe "${e.equivalent}".`:`No hay una clase de ${e.otherPx} px con ese prefijo.`}`,"renamed-class":e=>`"${e.class}" es un nombre viejo y no se emite.${fn(e.suggestion)}`,"modifier-with-variant":e=>`"${e.class}" no se emite: "${e.modifier}" es un modificador de ${Ce(e.utilities)} y no lleva variante; se pone la variante en la propia (p. ej. "${e.suggestion}").`,"orphan-modifier":e=>`"${e.class}" es un modificador de ${Ce(e.utilities)} y no hace nada sin ${e.utilities.length>1?"una de ellas":"ella"} en el mismo elemento.`,"legacy-prefix":e=>`"${e.class}" lleva el prefijo viejo \`ts-\` y ya no pinta. Se escribe "${e.suggestion}" con la clase \`ts\` en el mismo elemento.`,"legacy-prefix-renamed":e=>`"${e.class}" lleva el prefijo viejo \`ts-\` y es un nombre viejo. Se escribe "${e.suggestion}" con la clase \`ts\` en el mismo elemento.`,"legacy-prefix-removed":e=>`"${e.class}" lleva el prefijo viejo \`ts-\` y est\xE1 deprecada sin sucesor: se reemplaza a mano.`,"unknown-var":e=>`"var(${e.variable})" no existe en el tema.${fn(e.suggestion)}`,"css-outside-content":e=>`usa variables del tema (${Ce(e.variables)}) que se podaron porque este .css no est\xE1 en \`content\`: conviene sumarlo (por ejemplo \`**/*.css\`) y volver a correr.`},Cp={"scope-option":()=>"`scope: 'ts'` is already the only mode. Remove the key.","variant-on-component":e=>`"${e.class}" isn't emitted. Variants (${e.variants.join(" ")}) apply only to utilities, and "${e.component}" belongs to a component. Its states are \`is-*\`, \`aria\`, and its internal ones.`,"invalid-composition":e=>`"${e.class}" isn't emitted. "${e.utility}" includes "${e.inner}", and with "${e.use}" it becomes "${e.result}", which isn't a valid chain. A chain allows ${Qa}.`,"data-ts-variant":e=>`"${e.class}" is rejected and isn't emitted. \`data-ts-*\` is the hook for components, not a variant. Your own \`data-<name>:\` variants are fine.`,"unknown-prefix":e=>`The prefix "${e.prefix}" doesn't exist (in "${e.class}").${hn(e.suggestion)}`,"out-of-order":e=>`"${e.class}" is out of order and isn't emitted.${hn(e.suggestion)}`,"invalid-chain":e=>`"${e.class}" isn't emitted. A chain allows ${Qa}.`,"runtime-class":e=>`"${e.fragment}" looks like it's built at runtime. Add it to safelist.`,"seed-shifted":e=>`Theme "${e.theme}": the "${e.color}" seed (${e.seed}) doesn't fit any ${e.mode} mode step without breaking text contrast (WCAG AA, 4.5:1), so it was moved to the edge of step ${e.step} (L ${e.deltaL>0?"+":"\u2212"}${Math.abs(e.deltaL).toFixed(3)}, ${e.deltaL>0?"lighter":"darker"}). Legibility wins. For the exact color, pick a seed with a different lightness.`,"seed-white":e=>`Theme "${e.theme}": the "${e.color}" seed (${e.seed}) is almost white. It doesn't show on the light background, and the solid fill (buttons, checkboxes, toggles) can't be white, so it comes out gray. For a white button use an outlined variant; for the brand, pick a darker seed.`,"brand-like-status":e=>`Theme "${e.theme}": the primary color (${e.brand}) is almost indistinguishable from the "${e.status}" status color (${e.seed}; OKLab distance ${e.distance.toFixed(3)}, under ${e.threshold}). A primary button and a ${e.status} button would look nearly the same. Set that status color separately in \`defaultStates\`.`,"border-width-zero":e=>`Theme "${e.theme}": borderWidths.${e.name} is ${e.value}, and that width draws the focus (${e.name==="1"?"its line":"its halo"}), so that stroke disappears and the focus shows less or not at all. Use a width above 0, or keep the built-in one.`,"missing-ts":e=>`<${e.element}> uses DS classes (${Ce(e.classes)}) but doesn't have the \`ts\` scope class, so it gets no styles.`,"ignored-attribute":e=>`The \`${e.attribute}\` attribute holds the \`ts\` class and DS classes (${Ce(e.classes)}), but it isn't read as classes, so they aren't emitted. The attributes read are \`class\`, \`className\`, and any ending in \`class\`, \`Class\`, or \`ClassName\` (\`bodyClass\`, \`body-class\`); if it can't be renamed, add the classes to the \`safelist\`.`,"unknown-class":e=>`"${e.class}" isn't a DS class, so it isn't emitted.${hn(e.suggestion)}`,"class-without-equivalent":e=>`"${e.class}" is a name from another framework with no DS equivalent, so it isn't emitted: ${ui(e.reason)}.`,"important-class":e=>`"${e.class}" isn't emitted: the important modifier (\`!\`) doesn't exist, cascade layers make the utility win without forcing it.${hn(e.suggestion)}`,"other-scale":e=>e.otherPx===void 0?`"${e.class}" exists in TaishoDS but doesn't mean the same as in another framework.${e.equivalent?` The equivalent is "${e.equivalent}".`:""}`:`"${e.class}" is ${e.px} px in TaishoDS; the same number is ${e.otherPx} px in another framework. ${e.equivalent?`For ${e.otherPx} px, write "${e.equivalent}".`:`There is no ${e.otherPx} px class with that prefix.`}`,"renamed-class":e=>`"${e.class}" is an old name and isn't emitted.${hn(e.suggestion)}`,"modifier-with-variant":e=>`"${e.class}" isn't emitted. "${e.modifier}" is a modifier of ${pi(e.utilities.map(n=>`"${n}"`))}, and a modifier can't take a variant. Put the variant on the utility itself (e.g., "${e.suggestion}").`,"orphan-modifier":e=>`"${e.class}" is a modifier of ${pi(e.utilities.map(n=>`"${n}"`))}. It does nothing without ${e.utilities.length>1?"one of them":"that utility"} on the same element.`,"legacy-prefix":e=>`"${e.class}" has the old \`ts-\` prefix and no longer applies any style. Write "${e.suggestion}" with the \`ts\` class on the same element.`,"legacy-prefix-renamed":e=>`"${e.class}" has the old \`ts-\` prefix and an old name. Write "${e.suggestion}" with the \`ts\` class on the same element.`,"legacy-prefix-removed":e=>`"${e.class}" has the old \`ts-\` prefix and is deprecated with no replacement. Replace it by hand.`,"unknown-var":e=>`"var(${e.variable})" isn't defined in the theme.${hn(e.suggestion)}`,"css-outside-content":e=>`It uses theme variables (${Ce(e.variables)}) that were pruned because this .css isn't in \`content\`. Add it (for example \`**/*.css\`) and run again.`};function ui(e){try{return Te(e).replace(/[’‘]/g,"'").replace(/[“”]/g,'"')}catch{return e}}var jp={important:()=>"`!` (important) no existe: la cascada de capas hace que la utilidad gane sin forzarla","arbitrary-variant":e=>`\`${e.variant}:\` lleva un valor arbitrario: el vocabulario de variantes es cerrado`,"dark-variant":()=>"`dark:` no existe: el oscuro sale del tema (`light-dark()`, `createTheme`), no de una clase por elemento","has-variant":()=>"`has-*` no existe: el vocabulario de variantes es cerrado","not-variant":()=>"`not-*` no existe: el vocabulario de variantes es cerrado","structural-variant":()=>"las variantes estructurales (`first:`, `odd:`\u2026) no existen: el vocabulario de variantes es cerrado","focus-within-variant":()=>"`focus-within:` no existe: el vocabulario de variantes es cerrado","motion-variant":()=>"`motion-*` no existe: el movimiento lo resuelven los tokens de motion (`prefers-reduced-motion`)","supports-variant":()=>"`supports-*` no existe: el vocabulario de variantes es cerrado","data-ts-variant":()=>"`data-ts-*` es el gancho de los componentes, no una variante","breakpoint-missing":e=>`el corte \`${e.variant}:\` no est\xE1 en las pantallas del Core; se agrega con extend.screens`,"unknown-variant":e=>`\`${e.variant}:\` no est\xE1 en el vocabulario de variantes (hover, focus, focus-visible, active, disabled, checked, invalid, aria-*, data-<nombre>, group-*, peer-*, print, pantallas y @contenedores)`,"component-variant":e=>`\`${e.class}\` es un componente de TaishoDS: las variantes aplican s\xF3lo a utilidades (sus estados son \`is-*\`, \`aria\` y los internos)`,"marker-with-variants":e=>`\`${e.class}\` es un marcador y no lleva variantes`,"invalid-chain":e=>`la cadena \`${e.chain}\` no entra en la forma can\xF3nica: un contexto (pantalla o @contenedor), \`print:\`, un group/peer y un estado, 3 como m\xE1ximo`,"opacity-modifier":e=>`\`${e.class}\` lleva un modificador de opacidad (\`${e.opacity}\`) que no existe: el vocabulario es cerrado; hay escalas con alfa (\`bg-grayAlpha-200\`)`,"color-family-missing":e=>`la familia \`${e.family}\` no est\xE1 en tu tema: se suma una semilla \`${e.family}\` en \`colors\` y se vuelve a correr`,"color-step-missing":e=>`el escal\xF3n ${e.step} no existe en TaishoDS (los de la familia \`${e.family}\` son ${e.steps.join(", ")})`,"arbitrary-value":e=>`\`${e.class}\` lleva un valor arbitrario: el vocabulario es cerrado; la escotilla es un token del config o una utilidad propia en \`utilities\``,"no-equivalent":e=>`\`${e.class}\`: ${e.reason}`,"not-in-map":e=>`\`${e.class}\` no tiene equivalente en TaishoDS (ver sinEquivalente en la tabla de Tailwind)`,"runtime-class":()=>"la clase se arma en runtime (`${\u2026}`): no se puede traducir; se escribe entera o se arma con un mapa de clases completas","theme-breakpoints":()=>"tu `@theme` redefine `--breakpoint-*`: el corte ya no vale lo que dice la tabla; se pasa a `extend.screens` en `taisho.config.ts` y se escribe a mano","theme-spacing":e=>`tu \`@theme\` redefine \`--spacing\`: \`${e.class}\` ya no mide ${e.px}px; se revisa a mano (en TaishoDS el n\xFAmero es el valor en px)`,"theme-radius":e=>`tu \`@theme\` redefine \`--radius-*\`: \`${e.class}\` ya no vale lo que dice la tabla; se revisa a mano (radios propios, en \`extend.radius\`)`,"theme-text":e=>`tu \`@theme\` redefine \`--text-*\`: \`${e.class}\` ya no vale lo que dice la tabla; se revisa a mano`,"component-conflict":e=>`\`${e.class}\` de Tailwind no es lo que \`${e.class}\` es en TaishoDS (un componente): el elemento no se toc\xF3; se renombra la clase propia o se escribe ese CSS en una hoja propia`,"name-conflict":e=>`\`${e.class}\` es tambi\xE9n un nombre de TaishoDS: el elemento no se toc\xF3; se renombra la clase propia`,classlist:e=>`\`classList\` no se convierte: ${e.converted!==void 0?`la clase en TaishoDS es \`${e.converted}\` y `:""}el elemento necesita la llave \`ts\` en su \`class\`; se hace a mano`,"already-scoped":e=>`este string ya tiene la llave \`ts\` y no se reconvierte; \`${e.class}\` es de Tailwind (en TaishoDS: \`${e.converted}\`)`,untouched:e=>`el elemento no se toc\xF3 porque ${e.conflicts.map(n=>`\`${n}\``).join(", ")} choca con un nombre de TaishoDS; despu\xE9s de resolverlo, se convierte \`${e.class}\` a mano (en TaishoDS: \`${e.converted}\`)`,"possible-class":()=>"parece una clase de Tailwind pero est\xE1 en un string que no es claramente una lista de clases: no se toc\xF3; si lo es, se convierte a mano","directive-without-ts":e=>`la directiva no puede llevar la llave: el elemento necesita un \`class\` con \`ts\` (hoy no lo tiene)${e.component?"; es un componente tuyo: Tailwind no le pone la llave":""}`,"tailwind-merge":()=>"TaishoDS no trae un `twMerge`: la cascada de capas hace que tu CSS gane sobre la utilidad sin resolver conflictos de clases; se revisan las llamadas a mano",apply:e=>`\`@apply\` no se reescribe. Traducci\xF3n: \`${e.translation}\``+(e.untranslated.length?`; sin traducir: ${e.untranslated.map(n=>`${n.class} (${n.reason?Be(n.reason,"es"):"no es de Tailwind"})`).join("; ")}`:""),"tailwind-import":()=>"el import de Tailwind no tiene equivalente: el CSS de TaishoDS sale de `taisho generate`; se saca cuando no quede ninguna clase de Tailwind","theme-block":e=>{let n=[e.families.length?`colores (${e.families.join(", ")}): semillas en \`colors\` del config`:"",e.breakpoints?"cortes: `extend.screens`":"",e.radius?"radios: `extend.radius`":"",e.spacing?"espaciado: `extend.spacing`":"",e.text?"tama\xF1os de texto: los de TaishoDS son una escala propia":""].filter(Boolean);return`el \`@theme\` no se migra solo${n.length?` (${n.join("; ")})`:""}${e.spacing||e.radius||e.text||e.breakpoints?"; las clases de esas familias quedan sin convertir (tipo `tema`)":""}`},"tailwind-directive":e=>`\`@${e.directive}\` es de Tailwind y no tiene equivalente en TaishoDS: se declara en \`taisho.config.ts\` (\`content\`, \`extend\`, \`utilities\`)`},zp={important:()=>"`!` (important) doesn't exist. Cascade layers make the utility win without forcing it","arbitrary-variant":e=>`\`${e.variant}:\` has an arbitrary value, and the variant vocabulary is closed`,"dark-variant":()=>"`dark:` doesn't exist. Dark mode comes from the theme (`light-dark()`, `createTheme`), not from a class on each element","has-variant":()=>"`has-*` doesn't exist. The variant vocabulary is closed","not-variant":()=>"`not-*` doesn't exist. The variant vocabulary is closed","structural-variant":()=>"structural variants (`first:`, `odd:`\u2026) don't exist. The variant vocabulary is closed","focus-within-variant":()=>"`focus-within:` doesn't exist. The variant vocabulary is closed","motion-variant":()=>"`motion-*` doesn't exist. The motion tokens handle it (`prefers-reduced-motion`)","supports-variant":()=>"`supports-*` doesn't exist. The variant vocabulary is closed","data-ts-variant":()=>"`data-ts-*` is the hook for components, not a variant","breakpoint-missing":e=>`the \`${e.variant}:\` breakpoint isn't one of Core's screens; add it with extend.screens`,"unknown-variant":e=>`\`${e.variant}:\` isn't in the variant vocabulary (hover, focus, focus-visible, active, disabled, checked, invalid, aria-*, data-<name>, group-*, peer-*, print, screens, and @containers)`,"component-variant":e=>`\`${e.class}\` is a TaishoDS component. Variants apply only to utilities (its states are \`is-*\`, \`aria\`, and its internal ones)`,"marker-with-variants":e=>`\`${e.class}\` is a marker and can't take variants`,"invalid-chain":e=>`the \`${e.chain}\` chain doesn't fit the canonical form: one context (screen or @container), \`print:\`, one group/peer, and one state, 3 at most`,"opacity-modifier":e=>`\`${e.class}\` has an opacity modifier (\`${e.opacity}\`) that doesn't exist, and the vocabulary is closed. There are alpha scales (\`bg-grayAlpha-200\`)`,"color-family-missing":e=>`the \`${e.family}\` family isn't in your theme. Add a \`${e.family}\` seed to \`colors\` and run again`,"color-step-missing":e=>`step ${e.step} doesn't exist in TaishoDS (the \`${e.family}\` family has ${e.steps.join(", ")})`,"arbitrary-value":e=>`\`${e.class}\` has an arbitrary value, and the vocabulary is closed. The way out is a token in your config or your own utility in \`utilities\``,"no-equivalent":e=>`\`${e.class}\`: ${ui(e.reason)}`,"not-in-map":e=>`\`${e.class}\` has no TaishoDS equivalent (see sinEquivalente in the Tailwind table)`,"runtime-class":()=>"the class is built at runtime (`${\u2026}`), so it can't be translated. Write it in full or build it from a map of complete classes","theme-breakpoints":()=>"your `@theme` redefines `--breakpoint-*`, so the breakpoint no longer matches the table. Move it to `extend.screens` in `taisho.config.ts` and write it by hand","theme-spacing":e=>`your \`@theme\` redefines \`--spacing\`, so \`${e.class}\` no longer measures ${e.px}px. Check it by hand (in TaishoDS the number is the value in px)`,"theme-radius":e=>`your \`@theme\` redefines \`--radius-*\`, so \`${e.class}\` no longer matches the table. Check it by hand (custom radii go in \`extend.radius\`)`,"theme-text":e=>`your \`@theme\` redefines \`--text-*\`, so \`${e.class}\` no longer matches the table. Check it by hand`,"component-conflict":e=>`Tailwind's \`${e.class}\` isn't what \`${e.class}\` is in TaishoDS (a component). The element was left untouched. Rename your class or write that CSS in your stylesheet`,"name-conflict":e=>`\`${e.class}\` is also a TaishoDS name. The element was left untouched. Rename your class`,classlist:e=>`\`classList\` isn't converted. ${e.converted!==void 0?`The TaishoDS class is \`${e.converted}\`, and the`:"The"} element needs the \`ts\` scope class in its \`class\`. Do it by hand`,"already-scoped":e=>`this string already has the \`ts\` scope class and isn't converted again. \`${e.class}\` is from Tailwind (in TaishoDS, \`${e.converted}\`)`,untouched:e=>`the element was left untouched because ${pi(e.conflicts.map(n=>`\`${n}\``))} ${e.conflicts.length>1?"conflict":"conflicts"} with a TaishoDS name. After you resolve it, convert \`${e.class}\` by hand (in TaishoDS, \`${e.converted}\`)`,"possible-class":()=>"looks like a Tailwind class, but it's in a string that isn't clearly a class list, so it was left untouched. If it is one, convert it by hand","directive-without-ts":e=>`a directive can't carry the \`ts\` scope class, so the element needs a \`class\` with \`ts\` (it doesn't have one yet)${e.component?". It's your own component, and Tailwind doesn't add the class to it":""}`,"tailwind-merge":()=>"TaishoDS doesn't ship a `twMerge`. Cascade layers make your CSS win over the utility without resolving class conflicts. Check the calls by hand",apply:e=>`\`@apply\` isn't rewritten. Translation: \`${e.translation}\``+(e.untranslated.length?`; not translated: ${e.untranslated.map(n=>`${n.class} (${n.reason?Be(n.reason,"en"):"not from Tailwind"})`).join("; ")}`:""),"tailwind-import":()=>"the Tailwind import has no equivalent. TaishoDS CSS comes from `taisho generate`. Remove it once no Tailwind classes remain","theme-block":e=>{let n=[e.families.length?`colors (${e.families.join(", ")}) become seeds in \`colors\` in the config`:"",e.breakpoints?"breakpoints go in `extend.screens`":"",e.radius?"radii go in `extend.radius`":"",e.spacing?"spacing goes in `extend.spacing`":"",e.text?"TaishoDS text sizes are their own scale":""].filter(Boolean);return`\`@theme\` isn't migrated for you${n.length?` (${n.join("; ")})`:""}${e.spacing||e.radius||e.text||e.breakpoints?". Classes in those families stay unconverted (type `tema`)":""}`},"tailwind-directive":e=>`\`@${e.directive}\` belongs to Tailwind and has no TaishoDS equivalent. Declare it in \`taisho.config.ts\` (\`content\`, \`extend\`, \`utilities\`)`},Ep={"map-note":e=>e.note,"disabled-wider":()=>'`disabled:` tambi\xE9n corre con `aria-disabled="true"`: es m\xE1s amplio que el de Tailwind, a prop\xF3sito'},Rp={"map-note":e=>ui(e.note),"disabled-wider":()=>"`disabled:` also applies with `aria-disabled=\"true\"`. It's broader than Tailwind's on purpose"},Ap={es:Tp,en:Cp},Dp={es:jp,en:zp},Op={es:Ep,en:Rp};function bn(e,n){return Ap[n][e.code](e.params)}function Ue(e,n){return(e.file===void 0?"":e.line===void 0?`${e.file}: `:`${e.file}:${e.line}: `)+bn(e,n)}function Be(e,n){return Dp[n][e.code](e.params)}function tl(e,n){return e.map(s=>Op[n][s.code](s.params)).join(". ")}var de="src/icons";var Ds="4.x",Mp=16;var nl=["0","px","0.5","1","1.5","2","2.5","3","3.5","4","5","6","7","8","9","10","11","12","14","16","20","24","28","32","36","40","44","48","52","56","60","64","72","80","96"],Jn=e=>e==="px"?1:Number(e)*4;function sl(e){let n=/^(.+)-(\d+(?:\.5)?)$/.exec(e);return!n||!nl.includes(n[2])||n[2]==="0"||!ol.some(([s])=>s===n[1])?null:Jn(n[2])}var ze="lado l\xF3gico: sigue el sentido de lectura (RTL); el de Tailwind es f\xEDsico",ol=[["p","p"],["px","px"],["py","py"],["pt","pt"],["pb","pb"],["ps","ps"],["pe","pe"],["pl","ps",ze],["pr","pe",ze],["m","m"],["mx","mx"],["my","my"],["mt","mt"],["mb","mb"],["ms","ms"],["me","me"],["ml","ms",ze],["mr","me",ze],["gap","gap"],["gap-x","gap-x"],["gap-y","gap-y"],["inset","inset"],["inset-x","inset-x"],["inset-y","inset-y"],["top","top"],["bottom","bottom"],["start","start"],["end","end"],["left","start",ze],["right","end",ze],["w","w"],["h","h"],["size","size"],["min-w","min-w"],["min-h","min-h"],["max-w","max-w"],["max-h","max-h"]],As={none:0,xs:2,sm:4,md:6,lg:8,xl:12,"2xl":16,"3xl":24,"4xl":32,full:9999},qp={xs:12,sm:14,base:16,lg:18,xl:20,"2xl":24,"3xl":30,"4xl":36,"5xl":48,"6xl":60,"7xl":72,"8xl":96,"9xl":128},Ip={thin:100,extralight:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},Np={tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},Pp=["3","4","5","6","7","8","9","10"],Lp={none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2"},_p=["0","5","10","15","20","25","30","35","40","45","50","55","60","65","70","75","80","85","90","95","100"],Fp=["0","10","20","30","40","50","auto"],Vp=["75","100","150","200","300","500","700","1000"],Wp={linear:"linear",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0, 0, 0.2, 1)","in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},Up={xs:4,sm:8,md:12,lg:16,xl:24,"2xl":40,"3xl":64},Bp=["2xs","xs","sm","md","lg","xl","2xl"],Hp={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},Gp=[...["block","inline-block","inline","flex","inline-flex","grid","inline-grid","contents","hidden"].map(e=>[e,e,"display"]),...["static","fixed","absolute","relative","sticky"].map(e=>[e,e,"posici\xF3n"]),...["visible","invisible"].map(e=>[e,e,"visibilidad"]),...["flex-row","flex-col","flex-row-reverse","flex-col-reverse","flex-wrap","flex-nowrap","flex-1"].map(e=>[e,e,"flex"]),["grow","flex-grow","flex"],["grow-0","flex-grow-0","flex"],["shrink","flex-shrink","flex"],["shrink-0","flex-shrink-0","flex"],...["start","center","end","baseline","stretch"].map(e=>[`items-${e}`,`items-${e}`,"alineaci\xF3n"]),...["start","center","end","between","around","evenly","stretch"].map(e=>[`justify-${e}`,`justify-${e}`,"alineaci\xF3n"]),...["auto","start","center","end","baseline","stretch"].map(e=>[`self-${e}`,`self-${e}`,"alineaci\xF3n"]),["text-left","align-start","texto","a start: sigue el sentido de lectura (RTL); `text-left` es f\xEDsico y el valor calculado es otro (`left` / `start`)",!1],["text-center","align-center","texto"],["text-right","align-end","texto","a end: sigue el sentido de lectura (RTL); `text-right` es f\xEDsico y el valor calculado es otro (`right` / `end`)",!1],["text-start","align-start","texto"],["text-end","align-end","texto"],...["balance","pretty","nowrap"].map(e=>[`text-${e}`,`wrap-${e}`,"texto"]),...["truncate","uppercase","lowercase","capitalize","normal-case","italic","not-italic","underline","no-underline","line-through","antialiased","tabular-nums","isolate"].map(e=>[e,e,"texto y utilidades"]),["sr-only","sr-only","texto y utilidades","mismo efecto (fuera de la vista, legible por un lector de pantalla), otra implementaci\xF3n: Tailwind recorta con `clip-path`, TaishoDS con `clip` y sin borde",!1],["not-sr-only","not-sr-only","texto y utilidades","mismo efecto (deshace `sr-only`, p. ej. con `focus:`), otra implementaci\xF3n: Tailwind restablece con `clip-path: none`, TaishoDS con `clip: auto`",!1],["font-sans","font-sans","texto","la misma intenci\xF3n, otra pila: la de Tailwind es la del sistema; la de TaishoDS empieza por la fuente de tu tema",!1],["font-mono","font-mono","texto","la misma intenci\xF3n, otra pila: la de Tailwind es la del sistema; la de TaishoDS empieza por la fuente mono de tu tema",!1],["flex-none","flex-none","flex"],["m-auto","m-auto","medidas"],["mx-auto","mx-auto","medidas"],["my-auto","my-auto","medidas"],["ms-auto","ms-auto","medidas"],["me-auto","me-auto","medidas"],["ml-auto","ms-auto","medidas",ze],["mr-auto","me-auto","medidas",ze],["border","border-1","borde","el ancho tiene nombre: `border-1` es 1px (Tailwind dice `border`)"],...["1","2","3","4"].map(e=>[`border-${e}`,`border-${e}`,"borde"]),...["1","2","3","4"].map(e=>[`ring-${e}`,`ring-${e}`,"borde","misma intenci\xF3n, otra implementaci\xF3n: es un `box-shadow` que pisa a `shadow-*` (Tailwind los suma)",!1]),["transition-colors","transition-colors","movimiento","misma intenci\xF3n, otra implementaci\xF3n: anima el fondo y el color del texto con la duraci\xF3n `fast` del tema; Tailwind anima tambi\xE9n el borde, el relleno y el trazo, en 150ms",!1],["transition-opacity","transition-opacity","movimiento","misma intenci\xF3n, otra duraci\xF3n: la `fast` del tema; la de Tailwind es de 150ms",!1],["transition-shadow","transition-shadow","movimiento","misma intenci\xF3n, otra duraci\xF3n: la `fast` del tema; la de Tailwind es de 150ms",!1],["transition-all","transition-all","movimiento","misma intenci\xF3n, otra implementaci\xF3n: anima el fondo, el color, la sombra y el transform con la duraci\xF3n `fast` del tema, no todas las propiedades",!1],["transition-none","transition-none","movimiento","misma intenci\xF3n, otra implementaci\xF3n: adem\xE1s de no animar nada pone la duraci\xF3n en 0s; Tailwind s\xF3lo quita la propiedad animada",!1],["outline-none","outline-none","interacci\xF3n","quita tambi\xE9n el contorno del foco (`:focus-visible`): sin otro indicador de foco, el teclado queda sin referencia"],...["normal","nowrap","pre","pre-line","pre-wrap"].map(e=>[`whitespace-${e}`,`whitespace-${e}`,"texto"]),...["break-words","break-all","break-normal"].map(e=>[e,e,"texto"]),...["auto","hidden","scroll","visible"].map(e=>[`overflow-${e}`,`overflow-${e}`,"overflow"]),...["auto","hidden"].flatMap(e=>[[`overflow-x-${e}`,`overflow-x-${e}`,"overflow"],[`overflow-y-${e}`,`overflow-y-${e}`,"overflow"]]),...["pointer","not-allowed","default","wait","grab","grabbing"].map(e=>[`cursor-${e}`,`cursor-${e}`,"interacci\xF3n"]),...["none","text","all","auto"].map(e=>[`select-${e}`,`select-${e}`,"interacci\xF3n"]),...["none","auto"].map(e=>[`pointer-events-${e}`,`pointer-events-${e}`,"interacci\xF3n"]),["aspect-square","aspect-square","layout"],["aspect-video","aspect-video","layout"],["object-cover","object-cover","layout"],["object-contain","object-contain","layout"],...Array.from({length:12},(e,n)=>[[`grid-cols-${n+1}`,`grid-cols-${n+1}`,"grid"],[`col-span-${n+1}`,`col-span-${n+1}`,"grid"]]).flat(),["col-span-full","col-span-full","grid"],...["full","auto","screen","fit"].flatMap(e=>[[`w-${e}`,`w-${e}`,"medidas"],[`h-${e}`,`h-${e}`,"medidas"]]),["min-h-screen","min-h-screen","medidas"],["min-h-full","min-h-full","medidas"],["min-w-full","min-w-full","medidas"],["max-w-full","max-w-full","medidas"],...["1/2","1/4","3/4"].map(e=>[`w-${e}`,`w-${e}`,"medidas"]),...["1/3","2/3"].map(e=>[`w-${e}`,`w-${e}`,"medidas","el porcentaje de TaishoDS est\xE1 redondeado a tres decimales (33.333%); el de Tailwind es exacto (`calc(1/3 * 100%)`): menos de 0.02px de diferencia",!1]),...Array.from({length:6},(e,n)=>[[`line-clamp-${n+1}`,`line-clamp-${n+1}`,"texto"]]).flat()],Jp=["white","black","transparent","current","inherit"],gi=["slate","gray","zinc","neutral","stone","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],mi=["50","100","200","300","400","500","600","700","800","900","950"],el=[{tailwind:"bg",taisho:"bg"},{tailwind:"text",taisho:"color"},{tailwind:"border",taisho:"border",nota:"adem\xE1s del color dibuja el borde: 1px s\xF3lido (`border-gray-200` de Tailwind s\xF3lo pinta el color y necesita `border` para verse)"},{tailwind:"ring",taisho:"ring",nota:"adem\xE1s del color dibuja el aro: 1px (`ring-blue-500` de Tailwind s\xF3lo pinta el color y necesita `ring-N` para verse)"}],Zp=[{clases:["p-[13px]","w-[calc(100%-2rem)]","bg-[#1da1f2]"],motivo:"valores arbitrarios: el vocabulario es cerrado. La escotilla es un token del config (taisho.user.ts) o una utilidad propia en `utilities`"},{clases:["data-[open]:*","aria-[sort=up]:*","has-*:*","not-*:*","first:*","odd:*","focus-within:*","motion-*:*","supports-*:*"],motivo:"variantes fuera de la lista cerrada: las de estado que existen son hover, focus, focus-visible, active, disabled, checked, invalid, group-*, peer-*, aria-<estado>, data-<nombre> (s\xF3lo presencia) y print; para lo dem\xE1s, una clase propia en tu CSS"},{clases:["dark:*"],motivo:"no hay variante `dark:`: el oscuro sale del tema (`light-dark()`, `createTheme`), no de una clase por elemento"},{clases:["space-x-*","space-y-*"],motivo:"no existen; se reemplazan por `gap-*` en el contenedor flex/grid"},{clases:["rotate-0","rotate-1","rotate-2","rotate-3","rotate-6","rotate-12","rotate-45","rotate-90"],motivo:"s\xF3lo existe `rotate-180`: no hay otros giros; para otro \xE1ngulo, una utilidad propia en `utilities`"},{clases:["border-solid","border-dashed","border-dotted","border-double","border-hidden"],motivo:"el estilo del borde no es una clase aparte: los bordes de TaishoDS son s\xF3lidos; para guiones o puntos, una utilidad propia en `utilities`"},{clases:["grayscale","grayscale-0","invert","invert-0","sepia","sepia-0"],motivo:"no hay filtros de color: s\xF3lo `blur-*` y `backdrop-blur-*`; para otro filtro, una utilidad propia en `utilities`"},{clases:["bg-gradient-to-*","bg-linear-*"],motivo:"no hay gradientes: el fondo es un color de la escala; para un gradiente, una utilidad propia en `utilities`"},{clases:["border-0","border-8","border-t","border-b","border-l","border-r","border-x","border-y"],motivo:"el ancho `border-N` (1 a 4) dibuja los cuatro lados y `border-none` lo quita: no hay `border-0` ni `border-8`, ni un lado o un eje sin n\xFAmero; el de un solo lado (`border-t-N`) s\xF3lo fija el ancho y el trazo lo dibuja `border-t-<familia>-<n>`"},{clases:["transition"],motivo:"no hay una `transition` sola: se elige la propiedad (`transition-colors`, `transition-opacity`, `transition-shadow`, `transition-transform`, `transition-all`); `duration-*` y `ease-*` fijan la duraci\xF3n y la curva, y los componentes ya traen su transici\xF3n; para otra propiedad, una utilidad propia en `utilities`"},{clases:["ring","ring-0","ring-8","ring-inset"],motivo:"el anillo va de 1 a 4 (`ring-1`\u2026`ring-4`): no hay `ring` sin n\xFAmero, `ring-0`, `ring-8` ni `ring-inset`; el anillo de foco lo pone el reset (`:focus-visible`) y cada componente"},{clases:["outline-hidden"],motivo:"no hay `outline-hidden`: para quitar el contorno, `outline-none`"},{clases:["mt-auto","mb-auto"],motivo:"s\xF3lo existen `m-auto`, `mx-auto`, `my-auto`, `ms-auto` y `me-auto`"},{clases:["md:max-xl:*","min-md:*"],motivo:"no hay rangos: cada pantalla tiene su variante \xABdesde\xBB (`md:`) y su variante \xABhasta\xBB (`max-md:`), pero no las dos a la vez en una clase"}],il=["accent","align","animate","appearance","aspect","auto","backdrop","backface","basis","bg","blur","border","bottom","box","break","brightness","caret","clear","col","columns","content","contrast","cursor","decoration","delay","divide","drop","duration","ease","end","fill","flex","float","font","from","gap","grayscale","grid","grow","h","hue","hyphens","indent","inset","invert","items","justify","leading","left","line","list","m","mb","me","min","max","ml","mr","ms","mt","mx","my","object","opacity","order","origin","outline","overflow","overscroll","p","pb","pe","perspective","pl","place","pointer","pr","ps","pt","px","py","resize","right","ring","rotate","rounded","row","saturate","scale","scroll","select","self","sepia","shadow","shrink","size","skew","snap","space","sr","start","stroke","table","text","to","top","touch","tracking","transition","translate","via","w","whitespace","will","wrap","z"],rl=["block","inline","inline-block","inline-flex","inline-grid","flex","grid","table","contents","hidden","flow-root","static","fixed","absolute","relative","sticky","visible","invisible","collapse","container","grow","shrink","truncate","underline","overline","line-through","no-underline","uppercase","lowercase","capitalize","normal-case","italic","not-italic","antialiased","subpixel-antialiased","isolate","border","rounded","shadow","ring","outline","blur","transition","transform","filter","resize","sr-only","not-sr-only","grayscale","invert","sepia","ordinal"];function je(e){if(typeof e=="number")return e;let n=/^var\(--ts-sizing-(\d+)\)$/.exec(e)??/^(\d+)px$/.exec(e);return n?Number(n[1]):null}function Os(e){let{vigentes:n,esc:s,familias:o}=e,r=[],a=new Map,l=(g,...b)=>{let p=a.get(g)??[];p.push(...b),a.set(g,p)},i=g=>{if(!n.has(g))return"no est\xE1 emitida";let b=Wr(g,s,o);return b.length?b.map(p=>p.detalle).join("; "):null},c=(g,b,p,v,f,w,k)=>{let I=i(b);if(I)return l(w??`la clase de TaishoDS ${I}`,g);r.push({tailwind:g,taisho:b,scope:b.slice(3),familia:p,exacta:v,...k!==void 0?{px:k}:{},...f?{nota:f}:{}})};for(let g of nl){let b=Jn(g);for(let[p,v,f]of ol){let w=`${p}-${g}`;if(!(String(b)in qe)){l(`${b}px no est\xE1 en la escala de medidas (sizing)`,w);continue}if(i(`ts-${v}-${b}`)===null){c(w,`ts-${v}-${b}`,"medidas",!0,f,void 0,b);continue}let k=Object.keys(me).find(D=>je(me[D])===b),I=k&&`ts-${v}-${k}`;if(I&&i(I)===null)c(w,I,"medidas",k==="none",[f,k==="none"?void 0:"palabra de ritmo: baja con `compact` (para este prefijo no hay clase en px)"].filter(Boolean).join(". ")||void 0,void 0,b);else{let D=Object.keys(me).filter(W=>i(`ts-${v}-${W}`)===null).map(W=>`${W} ${je(me[W])}px`);l(D.length?`${v}: no hay clase en px; s\xF3lo los pasos de ritmo (${D.join(", ")}), y ninguno vale lo mismo que ese paso de Tailwind`:`${v}: no hay clase en px ni paso de ritmo para este prefijo`,w)}}}for(let g of["1","2","4","8"]){let b=Jn(g);c(`-m-${g}`,`ts-m-neg-${b}`,"medidas",!0,void 0,"m\xE1rgenes negativos (`-m-*`): la gram\xE1tica los define (`m-neg-N`) pero el generador no los emite",b)}for(let[g,b]of Object.entries(As)){let p=Object.keys(te).find(v=>je(te[v])===b);p?g==="full"?c(`rounded-${g}`,`ts-radius-${p}`,"radio",!1,"el mismo resultado visual (una p\xEDldora o un c\xEDrculo), otro valor: Tailwind usa `calc(infinity * 1px)` y TaishoDS 9999px"):c(`rounded-${g}`,`ts-radius-${p}`,"radio",!0,g===p?void 0:`el nombre cambia: ${g} es ${b}px y en TaishoDS es ${p}`):l(`${b}px no est\xE1 en la escala de radios`,`rounded-${g}`)}let d=Object.keys(te).find(g=>je(te[g])===As.sm);d?c("rounded",`ts-radius-${d}`,"radio",!0,`el nombre cambia: rounded es ${As.sm}px y en TaishoDS es ${d}`):l(`${As.sm}px no est\xE1 en la escala de radios`,"rounded");for(let[g,b]of Object.entries(qp)){let p=en[String(b)];if(p===void 0){l(`${b}px no est\xE1 en la escala de texto (${Object.keys(en).join(", ")})`,`text-${g}`);continue}let v=je(p)===b,f="Tailwind fija tambi\xE9n el interlineado; en TaishoDS es `ts-leading-*` o el compuesto `ts-type-copy-N`";c(`text-${g}`,`ts-text-${b}`,"tama\xF1o de texto",!1,v?f:`fluido: crece con el viewport hasta ${b}px. ${f}`)}for(let[g,b]of Object.entries(Ip)){let p=Object.keys(nn).find(v=>Number(nn[v])===b);p?c(`font-${g}`,`ts-weight-${p}`,"peso",!0):l(`peso ${b} no est\xE1 en la escala`,`font-${g}`)}for(let[g,b]of Object.entries(Np)){let p=Object.keys(Me).find(v=>Me[v]===b);p?c(`tracking-${g}`,`ts-tracking-${p}`,"tracking",!0):l(`${b} no est\xE1 en la escala de tracking`,`tracking-${g}`)}for(let g of Pp){let b=Jn(g),p=Object.keys(sn).find(v=>je(sn[v])===b);p?c(`leading-${g}`,`ts-leading-${p}`,"interlineado",!0,`en TaishoDS el n\xFAmero es el tama\xF1o de texto al que acompa\xF1a (${p}), no los px: el interlineado es ${b}px`):l(`interlineado de ${b}px no est\xE1 en la escala`,`leading-${g}`)}for(let[g,b]of Object.entries(Lp))["none","tight"].includes(g)?c(`leading-${g}`,`ts-leading-${g}`,"interlineado",!0,`${b} sin unidad`):l("interlineado sin unidad: s\xF3lo existen `none` y `tight`",`leading-${g}`);for(let g of _p){let b=Object.keys(oe).find(p=>Number(oe[p])===Number(g)/100);b?c(`opacity-${g}`,`ts-opacity-${b}`,"opacidad",!0):l(`opacidad ${g} no est\xE1 en la escala (${Object.keys(oe).filter(p=>/^\d+$/.test(p)).join(", ")})`,`opacity-${g}`)}for(let g of Fp)c(`z-${g}`,`ts-z-${g}`,"z-index",!0);for(let g of Vp){let b=Object.keys(ee).find(p=>ee[p]===`${g}ms`);b?c(`duration-${g}`,`ts-duration-${b}`,"movimiento",!0,`el nombre cambia: ${g}ms es ${b}`):l(`${g}ms no est\xE1 en la escala de duraciones`,`duration-${g}`)}for(let[g,b]of Object.entries(Wp)){let p=Object.keys(ne).find(v=>ne[v]===b);p?c(`ease-${g}`,`ts-ease-${p}`,"movimiento",!0):l("esa curva de easing no est\xE1 en la escala",`ease-${g}`)}for(let[g,b]of Object.entries(Up)){let p=Object.keys(fe).find(v=>je(fe[v])===b);if(p){let v=g===p?void 0:`el nombre cambia: blur-${g} es ${b}px y en TaishoDS es ${p}`;c(`blur-${g}`,`ts-blur-${p}`,"blur",!0,v),c(`backdrop-blur-${g}`,`ts-backdrop-blur-${p}`,"blur",!0,v)}else l(`blur de ${b}px no est\xE1 en la escala`,`blur-${g}`,`backdrop-blur-${g}`)}c("shadow-none","ts-shadow-none","sombra",!0);for(let g of Bp)g in Ie?c(`shadow-${g}`,`ts-shadow-${g}`,"sombra",!1,"misma intenci\xF3n, otra sombra: la de TaishoDS incluye el anillo de 1px del material"):l("esa sombra no existe en la escala de TaishoDS (sm, md, lg, xl)",`shadow-${g}`);for(let[g,b,p,v,f=!0]of Gp)c(g,`ts-${b}`,p,f,v,"la clase de TaishoDS no est\xE1 emitida (su vocabulario es m\xE1s corto que el de Tailwind)");for(let g of Jp)i(`ts-bg-${g}`)===null?c(`bg-${g}`,`ts-bg-${g}`,"color",!0):l("white, black, current e inherit no son colores del tema (el color sale de las semillas): para una superficie, `bg-background-100` o un gris de la escala (`bg-gray-100`\u2026`bg-gray-1000`); para el texto, `color-gray-1000` o el color del tema",`bg-${g}`,`text-${g}`);let u=[];for(let[g,b]of Object.entries(Hp))je(ie[g]??"")===b?u.push({tailwind:`${g}:`,taisho:`${g}:`,px:b}):l(`el corte ${g} no est\xE1 en las pantallas del Core; se agrega con extend.screens`,`${g}:*`);let y=[...new Set([...n].flatMap(g=>/^ts-bg-[a-z]+-(\d+)$/.exec(g)?.[1]??[]))],t=gi.filter(g=>o.includes(g)),m=mi.filter(g=>y.includes(g));for(let g of el)for(let b of t)for(let p of m){let v=`ts-${g.taisho}-${b}-${p}`,f=i(v);if(f)throw new Error(`tailwind-map: ${g.tailwind}-${b}-${p} \u2192 ${v} ${f}`)}let h={tailwind:Ds,unidades:`En Tailwind el n\xFAmero de una medida es un paso de ${Jn("1")}px (w-64 = 16rem = 256px con 1rem = ${Mp}px); en TaishoDS es el valor en px (ts-w-64 = 64px). Por eso la tabla se arma por el valor en px y no por el n\xFAmero, y la columna \`nota\` de cada medida dice los dos.`,columnas:{tailwind:"Clase de Tailwind, sin variante",taisho:"Clase de TaishoDS con el prefijo ts-",scope:"La misma, con la llave ts (sin prefijo)",familia:"Familia de la tabla",px:"S\xF3lo en medidas: valor en px, el mismo de las dos clases",exacta:"true si el valor CSS es el mismo; false si es la misma intenci\xF3n con otro valor (ver nota)",nota:"Lo que cambia: valor de cada lado, lado l\xF3gico, fluido"},filas:r,variantes:u,colores:{prefijos:el,familiasCompartidas:t,familiasSoloTailwind:gi.filter(g=>!o.includes(g)),familiasSoloTaisho:o.filter(g=>!gi.includes(g)),escalonesCompartidos:m,escalonesSoloTailwind:mi.filter(g=>!y.includes(g)),escalonesSoloTaisho:y.filter(g=>!mi.includes(g)),nota:"El nombre coincide, el color no: la paleta de TaishoDS sale de las semillas de tu tema (OKLCH), no de la de Tailwind. Conviene revisar el resultado a ojo."},sinEquivalente:[...[...a].map(([g,b])=>({clases:b,motivo:g})),...Zp]};return{...h,en:Ya(h)}}function Ms(e){let n=[];for(let s=e.indexOf(`
3360
+ `}function Qt(e,n){let s=e.lastIndexOf("<",n);for(let o=0;s>=0&&o<50;o++,s=s>0?e.lastIndexOf("<",s-1):-1){let r=/^<([A-Za-z][\w.:-]*)/.exec(e.slice(s,s+80));if(!r||/[A-Za-z0-9_$)\]]/.test(e[s-1]??""))continue;let a=0,l="";for(let i=s+r[0].length;i<e.length;i++){let c=e[i];if(l)c==="\\"?i++:c===l&&(l="");else if(c==='"'||c==="'"||c==="`"&&a>0)l=c;else if(c==="{")a++;else if(c==="}")a--;else if(c===">"&&a<=0)return i<n?null:{nombre:r[1],desde:s,hasta:i+1}}return{nombre:r[1],desde:s,hasta:e.length}}return null}var Ke=e=>/^[A-Z]/.test(e);function Ba(e,n){let s=n instanceof Set?n:new Set(n),o=[];for(let r of e.matchAll(/class="([^"]*)"/g)){let a=r[1].split(/\s+/).filter(Boolean),l=e.slice(0,r.index).split(`
3361
+ `).length,i=Qt(e,r.index);if(!(i&&Ke(i.nombre))){if(a.includes("ts")){for(let c of a){let[,d="",u]=/^(@?[a-z0-9]+:)?(.*)$/.exec(c);u.startsWith("ts-")&&o.push({clase:c,l\u00EDnea:l,sugerencia:`en scope no lleva \`ts-\`: \`${d}${u.slice(3)}\``})}continue}for(let c of a){let d=c.replace(/^@?[a-z0-9]+:/,"");s.has(d)&&o.push({clase:c,l\u00EDnea:l})}}}return o}function Ha(e,n){let s={planas:[],variantes:[],componentes:[]};if(e===void 0)return s;if(!Array.isArray(e))throw _("safelist",{code:"safelist-not-list",params:{}});let o=[...n.vocabulario,...n.tonos??[]],r=new Set(o),a=[];return e.forEach((l,i)=>{vn(a,()=>{let c=`safelist[${i}]`;if(typeof l!="string"||l.trim()==="")throw _(c,{code:"safelist-entry-empty",params:{}});let[,d,u]=/^((?:@?[a-z0-9][a-z0-9-]*(?:\/[a-z][a-z0-9-]*)?:)*)(.*)$/.exec(l),y=`${c} (${JSON.stringify(l)})`;if(d){let m=jt(d.match(/[^:]+:/g),n.prefijos);if(!m.ok&&m.motivo==="desconocido"){let h=gt(m.prefijo,n.prefijos.keys());throw _(y,{code:"safelist-unknown-prefix",params:{prefix:m.prefijo,...h&&{suggestion:h}}})}if(!m.ok&&m.motivo==="data-ts")throw _(y,{code:"safelist-data-ts",params:{prefix:m.prefijo}});if(!m.ok&&m.canonica)throw _(y,{code:"safelist-out-of-order",params:{suggestion:m.canonica.join("")+u}});if(!m.ok)throw _(y,{code:"safelist-invalid-chain",params:{}})}if(u.includes(":"))throw _(y,{code:"safelist-misplaced-colon",params:{}});if(u.startsWith("ts-")){let{sugerencia:m}=Ba(`class="ts ${l}"`,[])[0]??{},h=m?.slice(m.lastIndexOf(": `")+3,-1);throw _(y,{code:"safelist-legacy-prefix",params:h!==void 0?{suggestion:h}:{}})}let t=u.indexOf("*");if(t!==-1){if(t!==u.length-1)throw _(y,{code:"safelist-star-not-last",params:{}});let m=u.slice(0,-1),h=m?o.filter(g=>g.startsWith(m)):[];if(h.length===0){let g=new Set(o.flatMap(p=>[...p.matchAll(/-/g)].map(v=>`${p.slice(0,v.index+1)}*`))),b=gt(u,g);throw _(y,{code:"safelist-family-empty",params:b?{suggestion:b}:{}})}(d?s.variantes:s.planas).push(...h.map(g=>d+g));return}if(d&&n.componentes.includes(u))throw _(y,{code:"safelist-component-variant",params:{}});if(n.modificadores?.has(u)&&!r.has(u)){if(d)throw _(y,{code:"safelist-modifier-variant",params:{}});s.planas.push(l)}else if(r.has(u))(d?s.variantes:s.planas).push(l);else if(n.componentes.includes(u))s.componentes.push(u);else{let m=[...o,...n.componentes].map(g=>d+g),h=gt(l,m);throw _(y,{code:"safelist-unknown",params:h?{suggestion:h}:{}})}})}),Xn(a),s}var ze="Copyright (c) 2026 Pablo Di Filippo. Licencia MIT (ver LICENSE).";function Ee(e,n=Et(e),s={}){let o=As(s),r=Ge(s),{userColors:a,userStates:l,userGridMins:i,userScales:c,userUtilities:d,themeChangesDensity:u}=n,y=Kt(a,l),t=$a(e.darkMode,c),m=Ft(y,i,c),h=Lt(c)+r.utilities,g=Xt(a,l,c,u)+r.components,b=Tt([m,h,g].flatMap(T=>pt(T).map(U=>U.name))),p=[m,h,g].flatMap(T=>pt(T).map(U=>U.name.replaceAll("\\",""))),v=new Set;for(let T of p)ut(T)||v.add(T);for(let T of b.values())v.add(T);let f=Vt(c.screens),w=Object.keys(d).filter(T=>!Wt(T)),k=vr(d),P=T=>v.has(`ts-${T}`)||Object.hasOwn(d,T)&&!Wt(T),{atomicas:D,componentes:W,esComponente:G}=Zo(o,m,h,b),J=T=>!Object.hasOwn(d,T)&&G(T),A=[...v].map(T=>T.slice(3)),M=[...A,...w],V=vs(d),N=[...new Set([...g.matchAll(/^ {2}&\.(variant-[A-Za-z0-9-]+?-\d+) \{$/gm)].map(T=>T[1]))];return{manifiesto:o,userScales:c,tonos:N,userUtilities:d,cadenasPropias:V,modificadoresPropios:k,reset:t,atomic:m,utilities:h,components:g,alias:b,prefijos:f,esUtilidad:P,atomicas:D,componentes:W,esComponente:J,nombresCortos:A,vocabulario:M}}function Ja(e,n,s,o={}){let r=Object.keys(s.userUtilities).filter(l=>!Wt(l)),a=[];if(Object.keys(e.extend??{}).length){let l=new Set(Ee(e,{...n,userScales:K,userUtilities:{}},o).nombresCortos);a=s.nombresCortos.filter(i=>!l.has(i))}return[...a,...r]}function Za(e){let n=Ga.get(e);if(!n){let s=a=>gt(a,e.prefijos.keys()),o=Object.keys(e.manifiesto.componentes).sort((a,l)=>l.length-a.length),r=new Map;for(let[a,l]of Object.entries(e.manifiesto.componentes))for(let i of l.bloques)for(let c of[i,(e.alias.get(`ts-${i}`)??`ts-${i}`).slice(3)])r.set(c,a);n={sugerir:s,slugsLargosPrimero:o,dueno:r},Ga.set(e,n)}return n}var Ga=new WeakMap,ai=(e,n)=>{let s=JSON.stringify(n);e.has(s)||e.set(s,n)};function li(e,n,s,o){let{prefijos:r,esUtilidad:a,esComponente:l,vocabulario:i,cadenasPropias:c}=e,{sugerir:d,slugsLargosPrimero:u,dueno:y}=Za(e),t=new Set,m=new Set,h=new Map,g=p=>ai(h,{...p,file:n}),b=new Set;for(let{variantes:p,base:v}of Wr(s,o)){let f=p.join("")+v;if(p.length===1&&p[0]==="class:"){m.add(v);continue}let w=jt(p,r);if(l(v)&&(w.ok||w.motivo!=="desconocido")){g({code:"variant-on-component",params:{class:f,variants:[...p],component:v}});continue}if(a(v))if(w.ok){let k=c.get(v),P=k&&ke(p,k,r).find(D=>!D.ok);P&&!P.ok?g({code:"invalid-composition",params:fn(f,v,p,P)}):t.add(f)}else if(w.motivo==="data-ts")g({code:"data-ts-variant",params:{class:f}});else if(w.motivo==="desconocido"){let k=d(w.prefijo);g({code:"unknown-prefix",params:{prefix:w.prefijo,class:f,...k&&{suggestion:k}}})}else w.canonica?g({code:"out-of-order",params:{class:f,suggestion:w.canonica.join("")+v}}):g({code:"invalid-chain",params:{class:f}})}for(let p of s){if(p==="markInvalid")for(let v of["input-hint","input-footer","icon","icon-14"])m.add(v);if(p.startsWith("data-ts-")){let v=p.slice(8),f=u.find(w=>v===w||v.startsWith(`${w}-`));f&&b.add(f)}if(p.endsWith("{")){o&&p==="variant-{"&&m.add(p);let v=p.slice(0,-1).split(":").pop();i.some(f=>f.length>v.length&&f.startsWith(v))&&g({code:"runtime-class",params:{fragment:v}})}else if(o){let v=p.replace(/^[./]+|[./:]+$/g,"");v&&!v.includes(":")&&m.add(v)}}if(o)for(let p of m){let v=y.get(p);v&&b.add(v)}return{variantes:[...t],planas:[...m],warnings:[...h.values()],enteros:[...b]}}function qs(e,n,s,o){let{prefijos:r,vocabulario:a}=e,{dueno:l}=Za(e),i=new Set,c=new Set,d=new Map;n.scope!==void 0&&ai(d,{code:"scope-option",params:{}});let u=Ha(n.safelist,{vocabulario:a,modificadores:new Set([...e.modificadoresPropios.values()].flat()),prefijos:r,componentes:Object.keys(e.manifiesto.componentes),tonos:e.tonos});if(o){for(let m of u.variantes)i.add(m);for(let m of u.planas)c.add(m)}let y=new Set(u.componentes);for(let m of s){for(let h of m.variantes)i.add(h);for(let h of m.planas)c.add(h);for(let h of m.warnings)ai(d,h);for(let h of m.enteros)y.add(h)}let t=new Set;if(o){for(let m of u.planas){let h=l.get(m);h&&y.add(h)}for(let m of y){let h=e.manifiesto.componentes[m];for(let g of[...h.bloques,...h.runtime])t.add(`ts-${g}`)}}return{variantes:i,planas:c,warnings:[...d.values()],forzadas:t,enteros:y}}function Ka(e){let n=[...e].sort((s,o)=>s.file<o.file?-1:s.file>o.file?1:0);for(let s=1;s<n.length;s++)if(n[s].file===n[s-1].file)throw new Error(`compile: ruta duplicada "${n[s].file}".`);return n}function ci(e,n,s={}){let o=Ka(n);return Xa(Ee(e,Et(e,s.extensions),s.extensions),e,o,s)}function Xa(e,n,s,o={}){let{cache:r}=o,a=o.copyright??ze,l=o.onDemand??!1,i=Ka(s),c=i.map(h=>{let g=h.hash!==void 0?r?.get(h.hash):void 0;return g||(g=bn(h.content),h.hash!==void 0&&r&&!r.has(h.hash)&&r.set(h.hash,g)),li(e,h.file,g,l)}),{variantes:d,planas:u,warnings:y,forzadas:t}=qs(e,n,c,l);return{css:`/* TaishoDS \u2014 ${a} */
3362
+ `+Ur({reset:e.reset,atomic:e.atomic,utilities:e.utilities,components:e.components,variantesUsadas:d,usadas:l?u:void 0,forzadas:t,varsDelProyecto:l?new Set(zo(i)):void 0,scales:e.userScales,userUtilities:e.userUtilities}),variants:[...d],warnings:y}}import di from"node:fs";import Ps from"node:path";import{createRequire as Qa}from"node:module";import{inflateSync as Cp}from"node:zlib";var Tp={" ":18,e:11.5,a:9.5,o:7.8,s:6.6,n:6.8,r:6.4,i:6.7,t:6.6,l:4.6,d:4.6,c:3.8,u:3.6,m:2.7,h:3.1,p:2.3,g:1.5,b:1.4,y:1.4,f:1.4,v:1,w:1.2,q:.5,k:.4,j:.3,x:.2,z:.3};function jp(e){let n=new DataView(e.buffer,e.byteOffset,e.byteLength),s=String.fromCharCode(e[0],e[1],e[2],e[3]),o=new Map;if(s==="wOFF"){let a=n.getUint16(12);for(let l=0;l<a;l++){let i=44+l*20,c=String.fromCharCode(e[i],e[i+1],e[i+2],e[i+3]),d=n.getUint32(i+4),u=n.getUint32(i+8),y=n.getUint32(i+12),t=e.subarray(d,d+u),m=u<y?new Uint8Array(Cp(t)):t;o.set(c,new DataView(m.buffer,m.byteOffset,m.byteLength))}return o}if(s==="wOF2")throw new Error("WOFF2 no soportado: se usa el .woff o el .ttf");let r=n.getUint16(4);for(let a=0;a<r;a++){let l=12+a*16,i=String.fromCharCode(e[l],e[l+1],e[l+2],e[l+3]);o.set(i,new DataView(e.buffer,e.byteOffset+n.getUint32(l+8),n.getUint32(l+12)))}return o}function zp(e){let n=e.getUint16(2),s=-1;for(let c=0;c<n;c++){let d=e.getUint16(4+c*8),u=e.getUint16(6+c*8),y=e.getUint32(8+c*8);if(e.getUint16(y)===4&&(d===0||d===3&&u===1)){s=y;break}}if(s<0)throw new Error("la fuente no trae una cmap formato 4");let o=e.getUint16(s+6),r=s+14,a=r+o+2,l=a+o,i=l+o;return c=>{for(let d=0;d<o;d+=2){if(c>e.getUint16(r+d))continue;let u=e.getUint16(a+d);if(c<u)return 0;let y=e.getInt16(l+d),t=e.getUint16(i+d);if(t===0)return c+y&65535;let m=e.getUint16(i+d+t+(c-u)*2);return m===0?0:m+y&65535}return 0}}function Ya(e){let n=jp(e),s=n.get("head"),o=n.get("hhea"),r=n.get("hmtx"),a=n.get("cmap");if(!s||!o||!r||!a)throw new Error("faltan tablas (head, hhea, hmtx o cmap)");let l=o.getUint16(34),i=y=>r.getUint16(4*Math.min(y,l-1)),c=zp(a),d=0,u=0;for(let[y,t]of Object.entries(Tp)){let m=c(y.codePointAt(0));m&&(d+=i(m)*t,u+=t)}return{unitsPerEm:s.getUint16(18),ascent:o.getInt16(4),descent:o.getInt16(6),lineGap:o.getInt16(8),anchoMedio:d/u}}var Ep={sans:{local:"Arial",m:{unitsPerEm:2048,ascent:1854,descent:-434,lineGap:67,anchoMedio:917.32}},mono:{local:"Courier New",m:{unitsPerEm:2048,ascent:1705,descent:-615,lineGap:0,anchoMedio:1229}}},Rp={latin:"U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD","latin-ext":"U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF"};function Dp(e,n,s,o,r="normal"){try{let l=di.readFileSync(e.resolve(`${n}/${o}${r==="italic"?"-italic":""}.css`),"utf8").split("/*").find(c=>c.includes(`-${s}-${o}-${r} */`)),i=l&&/unicode-range:\s*([^;]+);/.exec(l)?.[1].trim();if(i)return i}catch{}return Rp[s]}var Is=e=>`${(Math.round(e*1e4)/100).toFixed(2)}%`;function Ap(e,n,s,o){let r=Ep[s?"mono":"sans"],a=n.anchoMedio/n.unitsPerEm/(r.m.anchoMedio/r.m.unitsPerEm);return{familia:e,local:o?`${r.local} Italic`:r.local,sizeAdjust:Is(a),ascent:Is(n.ascent/n.unitsPerEm/a),descent:Is(Math.abs(n.descent)/n.unitsPerEm/a),lineGap:Is(n.lineGap/n.unitsPerEm/a),...o&&{estilo:o}}}function pi(e,n){let s=Qa(Ps.join(n,"package.json")),o=[];for(let r of e)for(let a of r.styles??["normal"])try{let l=a==="italic"?"-italic":"",i=[...r.weights].sort((b,p)=>Math.abs(b-400)-Math.abs(p-400))[0],c=r.subsets[0],d=s.resolve(`${r.source}/${c}-${i}${l}.css`),u=di.readFileSync(d,"utf8"),y=/font-family:\s*['"]([^'"]+)['"]/.exec(u)?.[1],t=/url\(([^)]+\.woff)\)/.exec(u)?.[1],m=r.subsets.map(b=>Dp(s,r.source,b,i,a));if(!y||!t)continue;let h=Ya(new Uint8Array(di.readFileSync(Ps.resolve(Ps.dirname(d),t)))),g=Ap(y,h,/mono/i.test(y)||/mono/i.test(r.source),a==="italic"?"italic":void 0);m.every(Boolean)&&(g.unicodeRange=m.join(", ")),o.push(g)}catch{}return o}function ui(e,n){let s=Qa(Ps.join(n,"package.json"));e.forEach((o,r)=>{if(o.styles?.includes("italic"))for(let a of o.subsets)for(let l of o.weights)try{s.resolve(`${o.source}/${a}-${l}-italic.css`)}catch{throw _(`fontFaces[${r}].styles`,{code:"font-italic-missing",params:{source:o.source,subset:a,weight:l}})}})}import gi from"fs";import tl from"path";function mi(e,n){let s=tl.join(e,"icons");if(!gi.existsSync(s))return{};let o=i=>(gi.readFileSync(tl.join(s,`${i}.svg`),"utf-8").match(/<svg[^>]*>([\s\S]*?)<\/svg>/)?.[1]??"").replace(/\s+/g," ").trim(),r=gi.readdirSync(s).filter(i=>i.endsWith(".svg")).map(i=>i.slice(0,-4)).filter(i=>!n[i]).sort();if(r.length===0)return{};let a=new Map;for(let i of Object.keys(n).sort()){let c=o(i);a.has(c)||a.set(c,i)}let l={};for(let i of r){let c=a.get(o(i));c&&(l[i]=c)}return l}var el=(e,n,s)=>`Tema "${e}": la semilla de "${n}" (${s}) es casi blanca: sobre el fondo claro no se ve y el relleno s\xF3lido (botones, casillas, interruptores) no puede ser blanco, as\xED que sale gris. Para un bot\xF3n blanco se usa una variante con borde; para la marca, una semilla m\xE1s oscura.`;var Op=[[/^En Tailwind el número de una medida es un paso de (\d+px) \(w-64 = 16rem = (\d+px) con 1rem = (\d+px)\); en TaishoDS es el valor en px \(ts-w-64 = 64px\)\. Por eso la tabla se arma por el valor en px y no por el número, y la columna `nota` de cada medida dice los dos\.$/,"In Tailwind, the number in a size class is a $1 step (w-64 = 16rem = $2 at 1rem = $3). In TaishoDS it\u2019s the value in px (ts-w-64 = 64px). That\u2019s why the table is built from the px value, not the number, and the note on each size row shows both."],[/^El nombre coincide, el color no: la paleta de TaishoDS sale de las semillas de tu tema \(OKLCH\), no de la de Tailwind\. Conviene revisar el resultado a ojo\.$/,"The name matches, the color doesn\u2019t. The TaishoDS palette comes from your theme\u2019s seeds (OKLCH), not from Tailwind\u2019s. Check the result by eye."],[/^(.+)\. (palabra de ritmo: .+)$/,(e,n,s)=>`${Re(n)}. ${Re(s)}`],[/^palabra de ritmo: baja con `compact` \(para este prefijo no hay clase en px\)$/,"rhythm word\u2014shrinks with `compact` (this prefix has no px class)"],[/^lado lógico: sigue el sentido de lectura \(RTL\); el de Tailwind es físico$/,"logical side\u2014follows the reading direction (RTL); Tailwind\u2019s is physical"],[/^(\S+) sin unidad$/,"$1, unitless"],[/^Tailwind fija también el interlineado; en TaishoDS es `ts-leading-\*` o el compuesto `ts-type-copy-N`$/,"Tailwind also sets the line height; in TaishoDS that\u2019s `ts-leading-*` or the composite `ts-type-copy-N`"],[/^fluido: crece con el viewport hasta (\d+px)\. (.+)$/,(e,n,s)=>`fluid\u2014grows with the viewport up to ${n}. ${Re(s)}`],[/^a (start|end): sigue el sentido de lectura \(RTL\); `([\w-]+)` es físico y el valor calculado es otro \(`(\w+)` \/ `(\w+)`\)$/,"to $1\u2014follows the reading direction (RTL); `$2` is physical and the computed value differs (`$3` / `$4`)"],[/^el mismo resultado visual \(una píldora o un círculo\), otro valor: Tailwind usa `calc\(infinity \* 1px\)` y TaishoDS 9999px$/,"same visual result (a pill or a circle), different value\u2014Tailwind uses `calc(infinity * 1px)` and TaishoDS 9999px"],[/^el nombre cambia: (\S+) es (\d+px) y en TaishoDS es (\S+)$/,"renamed\u2014$1 is $2, and in TaishoDS it\u2019s $3"],[/^el nombre cambia: (\d+ms) es (\S+)$/,"renamed\u2014$1 is $2"],[/^el porcentaje de TaishoDS está redondeado a tres decimales \(([\d.]+%)\); el de Tailwind es exacto \((`[^`]+`)\): menos de ([\d.]+px) de diferencia$/,"TaishoDS rounds the percentage to three decimals ($1); Tailwind\u2019s is exact ($2)\u2014less than $3 apart"],[/^en TaishoDS el número es el tamaño de texto al que acompaña \((\d+)\), no los px: el interlineado es (\d+px)$/,"in TaishoDS the number is the text size it goes with ($1), not px\u2014the line height is $2"],[/^la misma intención, otra pila: la de Tailwind es la del sistema; la de TaishoDS empieza por la fuente de tu tema$/,"same intent, different stack\u2014Tailwind\u2019s is the system stack; TaishoDS\u2019s starts with your theme\u2019s font"],[/^la misma intención, otra pila: la de Tailwind es la del sistema; la de TaishoDS empieza por la fuente mono de tu tema$/,"same intent, different stack\u2014Tailwind\u2019s is the system stack; TaishoDS\u2019s starts with your theme\u2019s mono font"],[/^misma intención, otra sombra: la de TaishoDS incluye el anillo de 1px del material$/,"same intent, different shadow\u2014the TaishoDS one includes the material\u2019s 1px ring"],[/^mismo efecto \(fuera de la vista, legible por un lector de pantalla\), otra implementación: Tailwind recorta con `clip-path`, TaishoDS con `clip` y sin borde$/,"same effect (off-screen, readable by a screen reader), different implementation\u2014Tailwind clips with `clip-path`, TaishoDS with `clip` and no border"],[/^mismo efecto \(deshace `sr-only`, p\. ej\. con `focus:`\), otra implementación: Tailwind restablece con `clip-path: none`, TaishoDS con `clip: auto`$/,"same effect (undoes `sr-only`, e.g. with `focus:`), different implementation\u2014Tailwind resets with `clip-path: none`, TaishoDS with `clip: auto`"],[/^además del color dibuja el borde: 1px sólido \(`border-gray-200` de Tailwind sólo pinta el color y necesita `border` para verse\)$/,"besides the color, it draws the border\u20141px solid (Tailwind\u2019s `border-gray-200` only sets the color and needs `border` to show)"],[/^([\w-]+): no hay clase en px ni paso de ritmo para este prefijo$/,"$1: no px class or rhythm step for this prefix"],[/^([\w-]+): no hay clase en px; sólo los pasos de ritmo \((.+)\), y ninguno vale lo mismo que ese paso de Tailwind$/,"$1: no px class, only the rhythm steps ($2), and none matches that Tailwind step"],[/^(\d+px) no está en la escala de medidas \(sizing\)$/,"$1 isn\u2019t on the sizing scale"],[/^(\d+px) no está en la escala de radios$/,"$1 isn\u2019t on the radius scale"],[/^(\d+px) no está en la escala de texto \((.+)\)$/,"$1 isn\u2019t on the text scale ($2)"],[/^interlineado de (\d+px) no está en la escala$/,"a $1 line height isn\u2019t on the scale"],[/^interlineado sin unidad: sólo existen `none` y `tight`$/,"unitless line height\u2014only `none` and `tight` exist"],[/^opacidad (\d+) no está en la escala \((.+)\)$/,"opacity $1 isn\u2019t on the scale ($2)"],[/^peso (\d+) no está en la escala$/,"weight $1 isn\u2019t on the scale"],[/^(\S+) no está en la escala de tracking$/,"$1 isn\u2019t on the tracking scale"],[/^(\d+ms) no está en la escala de duraciones$/,"$1 isn\u2019t on the duration scale"],[/^esa curva de easing no está en la escala$/,"that easing curve isn\u2019t on the scale"],[/^blur de (\d+px) no está en la escala$/,"a $1 blur isn\u2019t on the scale"],[/^esa sombra no existe en la escala de TaishoDS \((.+)\)$/,"that shadow isn\u2019t on the TaishoDS scale ($1)"],[/^la clase de TaishoDS no está emitida \(su vocabulario es más corto que el de Tailwind\)$/,"the TaishoDS class isn\u2019t emitted (its vocabulary is smaller than Tailwind\u2019s)"],[/^la clase de TaishoDS no está emitida$/,"the TaishoDS class isn\u2019t emitted"],[/^márgenes negativos \(`-m-\*`\): la gramática los define \(`m-neg-N`\) pero el generador no los emite$/,"negative margins (`-m-*`)\u2014the naming grammar defines them (`m-neg-N`), but the generator doesn\u2019t emit them"],[/^white, black, current e inherit no son colores del tema \(el color sale de las semillas\): para una superficie, `bg-background-100` o un gris de la escala \(`bg-gray-100`…`bg-gray-1000`\); para el texto, `color-gray-1000` o el color del tema$/,"white, black, current, and inherit aren\u2019t theme colors (color comes from the seeds). For a surface, use `bg-background-100` or a gray from the scale (`bg-gray-100`\u2026`bg-gray-1000`); for text, `color-gray-1000` or the theme color"],[/^el corte (\w+) no está en las pantallas del Core; se agrega con extend\.screens$/,"the $1 breakpoint isn\u2019t one of Core\u2019s screens; add it with extend.screens"],[/^valores arbitrarios: el vocabulario es cerrado\. La escotilla es un token del config \(taisho\.user\.ts\) o una utilidad propia en `utilities`$/,"arbitrary values\u2014the vocabulary is closed. The way out is a token in your config (taisho.config.ts) or your own utility in `utilities`"],[/^variantes fuera de la lista cerrada: las de estado que existen son hover, focus, focus-visible, active, disabled, checked, invalid, group-\*, peer-\*, aria-<estado>, data-<nombre> \(sólo presencia\) y print; para lo demás, una clase propia en tu CSS$/,"variants outside the closed list. The state variants that exist are hover, focus, focus-visible, active, disabled, checked, invalid, group-*, peer-*, aria-<state>, data-<name> (presence only), and print; for anything else, your own class in your CSS"],[/^no hay variante `dark:`: el oscuro sale del tema \(`light-dark\(\)`, `createTheme`\), no de una clase por elemento$/,"there\u2019s no `dark:` variant. Dark mode comes from the theme (`light-dark()`, `createTheme`), not from a class on each element"],[/^no existen; se reemplazan por `gap-\*` en el contenedor flex\/grid$/,"they don\u2019t exist; use `gap-*` on the flex/grid container instead"],[/^el ancho `border-N` \(1 a 4\) dibuja los cuatro lados y `border-none` lo quita: no hay `border-0` ni `border-8`, ni un lado o un eje sin número; el de un solo lado \(`border-t-N`\) sólo fija el ancho y el trazo lo dibuja `border-t-<familia>-<n>`$/,"the `border-N` width (1 to 4) draws all four sides and `border-none` removes it: there\u2019s no `border-0` or `border-8`, and no side or axis without a number; the single-side one (`border-t-N`) only sets the width, and `border-t-<family>-<n>` draws the line"],[/^no hay una `transition` sola: se elige la propiedad \(`transition-colors`, `transition-opacity`, `transition-shadow`, `transition-transform`, `transition-all`\); `duration-\*` y `ease-\*` fijan la duración y la curva, y los componentes ya traen su transición; para otra propiedad, una utilidad propia en `utilities`$/,"there\u2019s no bare `transition`\u2014pick the property (`transition-colors`, `transition-opacity`, `transition-shadow`, `transition-transform`, `transition-all`). `duration-*` and `ease-*` set the duration and the curve, and components already ship their own transition; for another property, your own utility in `utilities`"],[/^el anillo va de 1 a 4 \(`ring-1`…`ring-4`\): no hay `ring` sin número, `ring-0`, `ring-8` ni `ring-inset`; el anillo de foco lo pone el reset \(`:focus-visible`\) y cada componente$/,"the ring goes from 1 to 4 (`ring-1`\u2026`ring-4`): there\u2019s no `ring` without a number, `ring-0`, `ring-8`, or `ring-inset`. The focus ring comes from the reset (`:focus-visible`) and each component"],[/^no hay `outline-hidden`: para quitar el contorno, `outline-none`$/,"there\u2019s no `outline-hidden`: to remove the outline, use `outline-none`"],[/^sólo existe `rotate-180`: no hay otros giros; para otro ángulo, una utilidad propia en `utilities`$/,"only `rotate-180` exists, there are no other rotations; for another angle, your own utility in `utilities`"],[/^el estilo del borde no es una clase aparte: los bordes de TaishoDS son sólidos; para guiones o puntos, una utilidad propia en `utilities`$/,"border style isn\u2019t a separate class\u2014TaishoDS borders are solid; for dashes or dots, your own utility in `utilities`"],[/^no hay filtros de color: sólo `blur-\*` y `backdrop-blur-\*`; para otro filtro, una utilidad propia en `utilities`$/,"there are no color filters, only `blur-*` and `backdrop-blur-*`; for another filter, your own utility in `utilities`"],[/^no hay gradientes: el fondo es un color de la escala; para un gradiente, una utilidad propia en `utilities`$/,"there are no gradients\u2014the background is a color from the scale; for a gradient, your own utility in `utilities`"],[/^sólo existen `m-auto`, `mx-auto`, `my-auto`, `ms-auto` y `me-auto`$/,"only `m-auto`, `mx-auto`, `my-auto`, `ms-auto`, and `me-auto` exist"],[/^el ancho tiene nombre: `border-1` es 1px \(Tailwind dice `border`\)$/,"the width has a name\u2014`border-1` is 1px (Tailwind just says `border`)"],[/^misma intención, otra implementación: es un `box-shadow` que pisa a `shadow-\*` \(Tailwind los suma\)$/,"same intent, different implementation\u2014it\u2019s a `box-shadow` that overrides `shadow-*` (Tailwind adds them together)"],[/^misma intención, otra implementación: anima el fondo y el color del texto con la duración `fast` del tema; Tailwind anima también el borde, el relleno y el trazo, en 150ms$/,"same intent, different implementation\u2014it animates the background and the text color with the theme\u2019s `fast` duration; Tailwind also animates the border, fill, and stroke, at 150ms"],[/^misma intención, otra duración: la `fast` del tema; la de Tailwind es de 150ms$/,"same intent, different duration\u2014the theme\u2019s `fast`; Tailwind\u2019s is 150ms"],[/^misma intención, otra implementación: anima el fondo, el color, la sombra y el transform con la duración `fast` del tema, no todas las propiedades$/,"same intent, different implementation\u2014it animates the background, color, shadow, and transform with the theme\u2019s `fast` duration, not every property"],[/^misma intención, otra implementación: además de no animar nada pone la duración en 0s; Tailwind sólo quita la propiedad animada$/,"same intent, different implementation\u2014besides animating nothing it sets the duration to 0s; Tailwind only removes the animated property"],[/^quita también el contorno del foco \(`:focus-visible`\): sin otro indicador de foco, el teclado queda sin referencia$/,"it also removes the focus outline (`:focus-visible`): without another focus indicator, keyboard users lose their place"],[/^además del color dibuja el aro: 1px \(`ring-blue-500` de Tailwind sólo pinta el color y necesita `ring-N` para verse\)$/,"besides the color, it draws the ring\u20141px (Tailwind\u2019s `ring-blue-500` only sets the color and needs `ring-N` to show)"],[/^no hay rangos: cada pantalla tiene su variante «desde» \(`md:`\) y su variante «hasta» \(`max-md:`\), pero no las dos a la vez en una clase$/,"no ranges. Each screen has its \u201Cfrom\u201D variant (`md:`) and its \u201Cup to\u201D variant (`max-md:`), but not both in one class"]],nl={medidas:"sizes","tama\xF1o de texto":"font size",peso:"font weight",interlineado:"line height",tracking:"tracking",radio:"radius",sombra:"shadow",color:"color",opacidad:"opacity","z-index":"z-index",movimiento:"motion",borde:"border",blur:"blur",display:"display",posici\u00F3n:"position",visibilidad:"visibility",flex:"flex",grid:"grid",alineaci\u00F3n:"alignment",texto:"text","texto y utilidades":"text and utilities",overflow:"overflow",interacci\u00F3n:"interaction",layout:"layout"};function Re(e){for(let[n,s]of Op){let o=n.exec(e);if(o)return typeof s=="string"?e.replace(n,s):s(...o)}throw new Error(`tailwind-map-en: falta el ingl\xE9s de \xAB${e}\xBB (se suma una regla en src/generate/tailwind-map-en.ts)`)}function sl(e){let n=o=>Object.fromEntries([...new Set(o)].sort().map(r=>[r,Re(r)])),s=[...new Set(e.filas.map(o=>o.familia))].sort();for(let o of s)if(!nl[o])throw new Error(`tailwind-map-en: falta el ingl\xE9s de la familia \xAB${o}\xBB`);return{unidades:Re(e.unidades),coloresNota:Re(e.colores.nota),notas:n(e.filas.flatMap(o=>o.nota?[o.nota]:[])),motivos:n(e.sinEquivalente.map(o=>o.motivo)),familias:Object.fromEntries(s.map(o=>[o,nl[o]]))}}var De=e=>e.map(n=>`"${n}"`).join(", "),fi=e=>new Intl.ListFormat("en",{type:"conjunction"}).format(e),kn=e=>e?` \xBFSe quiso decir "${e}"?`:"",Sn=e=>e?` Did you mean "${e}"?`:"",ol="at most one context, one print, one group or peer, and one state, in that order, and 3 segments",Mp={"scope-option":()=>"`scope: 'ts'` ya es el \xFAnico modo: se quita la clave.","variant-on-component":e=>`"${e.class}" no se emite: las variantes (${e.variants.join(" ")}) aplican s\xF3lo a utilidades, y "${e.component}" es de un componente. Sus estados son \`is-*\`, \`aria\` y los internos.`,"invalid-composition":e=>`"${e.class}" no se emite: "${e.utility}" lleva "${e.inner}" y con "${e.use}" queda "${e.result}", que no es una cadena v\xE1lida: admite ${mn}.`,"data-ts-variant":e=>`"${e.class}" se rechaza y no se emite: \`data-ts-*\` es el gancho de los componentes, no una variante. Los \`data-<nombre>:\` propios s\xED valen.`,"unknown-prefix":e=>`el prefijo "${e.prefix}" no existe (en "${e.class}").${kn(e.suggestion)}`,"out-of-order":e=>`"${e.class}" est\xE1 fuera de orden y no se emite.${kn(e.suggestion)}`,"invalid-chain":e=>`"${e.class}" no se emite: la cadena admite ${mn}.`,"runtime-class":e=>`"${e.fragment}" parece compuesta en runtime; se agrega a safelist.`,"seed-shifted":e=>`Tema "${e.theme}": la semilla de "${e.color}" (${e.seed}) no encaja en ning\xFAn paso del modo ${e.mode==="light"?"claro":"oscuro"} sin romper el contraste del texto (WCAG AA, 4,5:1); se corri\xF3 al borde del paso ${e.step}: L ${e.deltaL>0?"+":"\u2212"}${Math.abs(e.deltaL).toFixed(3)}, m\xE1s ${e.deltaL>0?"clara":"oscura"}. Gana la legibilidad; para el color exacto se elige una semilla con otra luminosidad.`,"seed-white":e=>el(e.theme,e.color,e.seed),"brand-like-status":e=>`Tema "${e.theme}": el primario (${e.brand}) casi no se distingue del estado "${e.status}" (${e.seed}; distancia ${e.distance.toFixed(3)} en OKLab, menos de ${e.threshold}): un bot\xF3n primario y uno de ${e.status} se ver\xEDan casi iguales. Se define ese estado aparte en \`defaultStates\`.`,"border-width-zero":e=>Ta(e.theme,e.name,e.value),"missing-ts":e=>`<${e.element}> usa clases del DS (${De(e.classes)}) pero no lleva la clase \`ts\`, y sin ella no recibe estilo.`,"ignored-attribute":e=>`el atributo \`${e.attribute}\` trae la clase \`ts\` y clases del DS (${De(e.classes)}), pero no se lee como clases y no se emiten. Se leen los atributos \`class\`, \`className\` y los que terminan en \`class\`, \`Class\` o \`ClassName\` (\`bodyClass\`, \`body-class\`); si no es posible renombrarlo, las clases van al \`safelist\`.`,"unknown-class":e=>`"${e.class}" no existe en el DS y no se emite.${kn(e.suggestion)}`,"class-without-equivalent":e=>`"${e.class}" es un nombre de otro framework sin equivalente en el DS y no se emite: ${e.reason}.`,"important-class":e=>`"${e.class}" no se emite: el modificador importante (\`!\`) no existe, la cascada de capas hace que la utilidad gane sin forzarla.${kn(e.suggestion)}`,"other-scale":e=>e.otherPx===void 0?`"${e.class}" existe en TaishoDS pero no vale lo mismo que en otro framework.${e.equivalent?` El equivalente es "${e.equivalent}".`:""}`:`"${e.class}" vale ${e.px} px en TaishoDS; el mismo n\xFAmero vale ${e.otherPx} px en otro framework. ${e.equivalent?`Para ${e.otherPx} px se escribe "${e.equivalent}".`:`No hay una clase de ${e.otherPx} px con ese prefijo.`}`,"renamed-class":e=>`"${e.class}" es un nombre viejo y no se emite.${kn(e.suggestion)}`,"modifier-with-variant":e=>`"${e.class}" no se emite: "${e.modifier}" es un modificador de ${De(e.utilities)} y no lleva variante; se pone la variante en la propia (p. ej. "${e.suggestion}").`,"orphan-modifier":e=>`"${e.class}" es un modificador de ${De(e.utilities)} y no hace nada sin ${e.utilities.length>1?"una de ellas":"ella"} en el mismo elemento.`,"legacy-prefix":e=>`"${e.class}" lleva el prefijo viejo \`ts-\` y ya no pinta. Se escribe "${e.suggestion}" con la clase \`ts\` en el mismo elemento.`,"legacy-prefix-renamed":e=>`"${e.class}" lleva el prefijo viejo \`ts-\` y es un nombre viejo. Se escribe "${e.suggestion}" con la clase \`ts\` en el mismo elemento.`,"legacy-prefix-removed":e=>`"${e.class}" lleva el prefijo viejo \`ts-\` y est\xE1 deprecada sin sucesor: se reemplaza a mano.`,"unknown-var":e=>`"var(${e.variable})" no existe en el tema.${kn(e.suggestion)}`,"css-outside-content":e=>`usa variables del tema (${De(e.variables)}) que se podaron porque este .css no est\xE1 en \`content\`: conviene sumarlo (por ejemplo \`**/*.css\`) y volver a correr.`},qp={"scope-option":()=>"`scope: 'ts'` is already the only mode. Remove the key.","variant-on-component":e=>`"${e.class}" isn't emitted. Variants (${e.variants.join(" ")}) apply only to utilities, and "${e.component}" belongs to a component. Its states are \`is-*\`, \`aria\`, and its internal ones.`,"invalid-composition":e=>`"${e.class}" isn't emitted. "${e.utility}" includes "${e.inner}", and with "${e.use}" it becomes "${e.result}", which isn't a valid chain. A chain allows ${ol}.`,"data-ts-variant":e=>`"${e.class}" is rejected and isn't emitted. \`data-ts-*\` is the hook for components, not a variant. Your own \`data-<name>:\` variants are fine.`,"unknown-prefix":e=>`The prefix "${e.prefix}" doesn't exist (in "${e.class}").${Sn(e.suggestion)}`,"out-of-order":e=>`"${e.class}" is out of order and isn't emitted.${Sn(e.suggestion)}`,"invalid-chain":e=>`"${e.class}" isn't emitted. A chain allows ${ol}.`,"runtime-class":e=>`"${e.fragment}" looks like it's built at runtime. Add it to safelist.`,"seed-shifted":e=>`Theme "${e.theme}": the "${e.color}" seed (${e.seed}) doesn't fit any ${e.mode} mode step without breaking text contrast (WCAG AA, 4.5:1), so it was moved to the edge of step ${e.step} (L ${e.deltaL>0?"+":"\u2212"}${Math.abs(e.deltaL).toFixed(3)}, ${e.deltaL>0?"lighter":"darker"}). Legibility wins. For the exact color, pick a seed with a different lightness.`,"seed-white":e=>`Theme "${e.theme}": the "${e.color}" seed (${e.seed}) is almost white. It doesn't show on the light background, and the solid fill (buttons, checkboxes, toggles) can't be white, so it comes out gray. For a white button use an outlined variant; for the brand, pick a darker seed.`,"brand-like-status":e=>`Theme "${e.theme}": the primary color (${e.brand}) is almost indistinguishable from the "${e.status}" status color (${e.seed}; OKLab distance ${e.distance.toFixed(3)}, under ${e.threshold}). A primary button and a ${e.status} button would look nearly the same. Set that status color separately in \`defaultStates\`.`,"border-width-zero":e=>`Theme "${e.theme}": borderWidths.${e.name} is ${e.value}, and that width draws the focus (${e.name==="1"?"its line":"its halo"}), so that stroke disappears and the focus shows less or not at all. Use a width above 0, or keep the built-in one.`,"missing-ts":e=>`<${e.element}> uses DS classes (${De(e.classes)}) but doesn't have the \`ts\` scope class, so it gets no styles.`,"ignored-attribute":e=>`The \`${e.attribute}\` attribute holds the \`ts\` class and DS classes (${De(e.classes)}), but it isn't read as classes, so they aren't emitted. The attributes read are \`class\`, \`className\`, and any ending in \`class\`, \`Class\`, or \`ClassName\` (\`bodyClass\`, \`body-class\`); if it can't be renamed, add the classes to the \`safelist\`.`,"unknown-class":e=>`"${e.class}" isn't a DS class, so it isn't emitted.${Sn(e.suggestion)}`,"class-without-equivalent":e=>`"${e.class}" is a name from another framework with no DS equivalent, so it isn't emitted: ${hi(e.reason)}.`,"important-class":e=>`"${e.class}" isn't emitted: the important modifier (\`!\`) doesn't exist, cascade layers make the utility win without forcing it.${Sn(e.suggestion)}`,"other-scale":e=>e.otherPx===void 0?`"${e.class}" exists in TaishoDS but doesn't mean the same as in another framework.${e.equivalent?` The equivalent is "${e.equivalent}".`:""}`:`"${e.class}" is ${e.px} px in TaishoDS; the same number is ${e.otherPx} px in another framework. ${e.equivalent?`For ${e.otherPx} px, write "${e.equivalent}".`:`There is no ${e.otherPx} px class with that prefix.`}`,"renamed-class":e=>`"${e.class}" is an old name and isn't emitted.${Sn(e.suggestion)}`,"modifier-with-variant":e=>`"${e.class}" isn't emitted. "${e.modifier}" is a modifier of ${fi(e.utilities.map(n=>`"${n}"`))}, and a modifier can't take a variant. Put the variant on the utility itself (e.g., "${e.suggestion}").`,"orphan-modifier":e=>`"${e.class}" is a modifier of ${fi(e.utilities.map(n=>`"${n}"`))}. It does nothing without ${e.utilities.length>1?"one of them":"that utility"} on the same element.`,"legacy-prefix":e=>`"${e.class}" has the old \`ts-\` prefix and no longer applies any style. Write "${e.suggestion}" with the \`ts\` class on the same element.`,"legacy-prefix-renamed":e=>`"${e.class}" has the old \`ts-\` prefix and an old name. Write "${e.suggestion}" with the \`ts\` class on the same element.`,"legacy-prefix-removed":e=>`"${e.class}" has the old \`ts-\` prefix and is deprecated with no replacement. Replace it by hand.`,"unknown-var":e=>`"var(${e.variable})" isn't defined in the theme.${Sn(e.suggestion)}`,"css-outside-content":e=>`It uses theme variables (${De(e.variables)}) that were pruned because this .css isn't in \`content\`. Add it (for example \`**/*.css\`) and run again.`};function hi(e){try{return Re(e).replace(/[’‘]/g,"'").replace(/[“”]/g,'"')}catch{return e}}var Ip={important:()=>"`!` (important) no existe: la cascada de capas hace que la utilidad gane sin forzarla","arbitrary-variant":e=>`\`${e.variant}:\` lleva un valor arbitrario: el vocabulario de variantes es cerrado`,"dark-variant":()=>"`dark:` no existe: el oscuro sale del tema (`light-dark()`, `createTheme`), no de una clase por elemento","has-variant":()=>"`has-*` no existe: el vocabulario de variantes es cerrado","not-variant":()=>"`not-*` no existe: el vocabulario de variantes es cerrado","structural-variant":()=>"las variantes estructurales (`first:`, `odd:`\u2026) no existen: el vocabulario de variantes es cerrado","focus-within-variant":()=>"`focus-within:` no existe: el vocabulario de variantes es cerrado","motion-variant":()=>"`motion-*` no existe: el movimiento lo resuelven los tokens de motion (`prefers-reduced-motion`)","supports-variant":()=>"`supports-*` no existe: el vocabulario de variantes es cerrado","data-ts-variant":()=>"`data-ts-*` es el gancho de los componentes, no una variante","breakpoint-missing":e=>`el corte \`${e.variant}:\` no est\xE1 en las pantallas del Core; se agrega con extend.screens`,"unknown-variant":e=>`\`${e.variant}:\` no est\xE1 en el vocabulario de variantes (hover, focus, focus-visible, active, disabled, checked, invalid, aria-*, data-<nombre>, group-*, peer-*, print, pantallas y @contenedores)`,"component-variant":e=>`\`${e.class}\` es un componente de TaishoDS: las variantes aplican s\xF3lo a utilidades (sus estados son \`is-*\`, \`aria\` y los internos)`,"marker-with-variants":e=>`\`${e.class}\` es un marcador y no lleva variantes`,"invalid-chain":e=>`la cadena \`${e.chain}\` no entra en la forma can\xF3nica: un contexto (pantalla o @contenedor), \`print:\`, un group/peer y un estado, 3 como m\xE1ximo`,"opacity-modifier":e=>`\`${e.class}\` lleva un modificador de opacidad (\`${e.opacity}\`) que no existe: el vocabulario es cerrado; hay escalas con alfa (\`bg-grayAlpha-200\`)`,"color-family-missing":e=>`la familia \`${e.family}\` no est\xE1 en tu tema: se suma una semilla \`${e.family}\` en \`colors\` y se vuelve a correr`,"color-step-missing":e=>`el escal\xF3n ${e.step} no existe en TaishoDS (los de la familia \`${e.family}\` son ${e.steps.join(", ")})`,"arbitrary-value":e=>`\`${e.class}\` lleva un valor arbitrario: el vocabulario es cerrado; la escotilla es un token del config o una utilidad propia en \`utilities\``,"no-equivalent":e=>`\`${e.class}\`: ${e.reason}`,"not-in-map":e=>`\`${e.class}\` no tiene equivalente en TaishoDS (ver sinEquivalente en la tabla de Tailwind)`,"runtime-class":()=>"la clase se arma en runtime (`${\u2026}`): no se puede traducir; se escribe entera o se arma con un mapa de clases completas","theme-breakpoints":()=>"tu `@theme` redefine `--breakpoint-*`: el corte ya no vale lo que dice la tabla; se pasa a `extend.screens` en `taisho.config.ts` y se escribe a mano","theme-spacing":e=>`tu \`@theme\` redefine \`--spacing\`: \`${e.class}\` ya no mide ${e.px}px; se revisa a mano (en TaishoDS el n\xFAmero es el valor en px)`,"theme-radius":e=>`tu \`@theme\` redefine \`--radius-*\`: \`${e.class}\` ya no vale lo que dice la tabla; se revisa a mano (radios propios, en \`extend.radius\`)`,"theme-text":e=>`tu \`@theme\` redefine \`--text-*\`: \`${e.class}\` ya no vale lo que dice la tabla; se revisa a mano`,"component-conflict":e=>`\`${e.class}\` de Tailwind no es lo que \`${e.class}\` es en TaishoDS (un componente): el elemento no se toc\xF3; se renombra la clase propia o se escribe ese CSS en una hoja propia`,"name-conflict":e=>`\`${e.class}\` es tambi\xE9n un nombre de TaishoDS: el elemento no se toc\xF3; se renombra la clase propia`,classlist:e=>`\`classList\` no se convierte: ${e.converted!==void 0?`la clase en TaishoDS es \`${e.converted}\` y `:""}el elemento necesita la llave \`ts\` en su \`class\`; se hace a mano`,"already-scoped":e=>`este string ya tiene la llave \`ts\` y no se reconvierte; \`${e.class}\` es de Tailwind (en TaishoDS: \`${e.converted}\`)`,untouched:e=>`el elemento no se toc\xF3 porque ${e.conflicts.map(n=>`\`${n}\``).join(", ")} choca con un nombre de TaishoDS; despu\xE9s de resolverlo, se convierte \`${e.class}\` a mano (en TaishoDS: \`${e.converted}\`)`,"possible-class":()=>"parece una clase de Tailwind pero est\xE1 en un string que no es claramente una lista de clases: no se toc\xF3; si lo es, se convierte a mano","directive-without-ts":e=>`la directiva no puede llevar la llave: el elemento necesita un \`class\` con \`ts\` (hoy no lo tiene)${e.component?"; es un componente tuyo: Tailwind no le pone la llave":""}`,"tailwind-merge":()=>"TaishoDS no trae un `twMerge`: la cascada de capas hace que tu CSS gane sobre la utilidad sin resolver conflictos de clases; se revisan las llamadas a mano",apply:e=>`\`@apply\` no se reescribe. Traducci\xF3n: \`${e.translation}\``+(e.untranslated.length?`; sin traducir: ${e.untranslated.map(n=>`${n.class} (${n.reason?Ye(n.reason,"es"):"no es de Tailwind"})`).join("; ")}`:""),"tailwind-import":()=>"el import de Tailwind no tiene equivalente: el CSS de TaishoDS sale de `taisho generate`; se saca cuando no quede ninguna clase de Tailwind","theme-block":e=>{let n=[e.families.length?`colores (${e.families.join(", ")}): semillas en \`colors\` del config`:"",e.breakpoints?"cortes: `extend.screens`":"",e.radius?"radios: `extend.radius`":"",e.spacing?"espaciado: `extend.spacing`":"",e.text?"tama\xF1os de texto: los de TaishoDS son una escala propia":""].filter(Boolean);return`el \`@theme\` no se migra solo${n.length?` (${n.join("; ")})`:""}${e.spacing||e.radius||e.text||e.breakpoints?"; las clases de esas familias quedan sin convertir (tipo `tema`)":""}`},"tailwind-directive":e=>`\`@${e.directive}\` es de Tailwind y no tiene equivalente en TaishoDS: se declara en \`taisho.config.ts\` (\`content\`, \`extend\`, \`utilities\`)`},Pp={important:()=>"`!` (important) doesn't exist. Cascade layers make the utility win without forcing it","arbitrary-variant":e=>`\`${e.variant}:\` has an arbitrary value, and the variant vocabulary is closed`,"dark-variant":()=>"`dark:` doesn't exist. Dark mode comes from the theme (`light-dark()`, `createTheme`), not from a class on each element","has-variant":()=>"`has-*` doesn't exist. The variant vocabulary is closed","not-variant":()=>"`not-*` doesn't exist. The variant vocabulary is closed","structural-variant":()=>"structural variants (`first:`, `odd:`\u2026) don't exist. The variant vocabulary is closed","focus-within-variant":()=>"`focus-within:` doesn't exist. The variant vocabulary is closed","motion-variant":()=>"`motion-*` doesn't exist. The motion tokens handle it (`prefers-reduced-motion`)","supports-variant":()=>"`supports-*` doesn't exist. The variant vocabulary is closed","data-ts-variant":()=>"`data-ts-*` is the hook for components, not a variant","breakpoint-missing":e=>`the \`${e.variant}:\` breakpoint isn't one of Core's screens; add it with extend.screens`,"unknown-variant":e=>`\`${e.variant}:\` isn't in the variant vocabulary (hover, focus, focus-visible, active, disabled, checked, invalid, aria-*, data-<name>, group-*, peer-*, print, screens, and @containers)`,"component-variant":e=>`\`${e.class}\` is a TaishoDS component. Variants apply only to utilities (its states are \`is-*\`, \`aria\`, and its internal ones)`,"marker-with-variants":e=>`\`${e.class}\` is a marker and can't take variants`,"invalid-chain":e=>`the \`${e.chain}\` chain doesn't fit the canonical form: one context (screen or @container), \`print:\`, one group/peer, and one state, 3 at most`,"opacity-modifier":e=>`\`${e.class}\` has an opacity modifier (\`${e.opacity}\`) that doesn't exist, and the vocabulary is closed. There are alpha scales (\`bg-grayAlpha-200\`)`,"color-family-missing":e=>`the \`${e.family}\` family isn't in your theme. Add a \`${e.family}\` seed to \`colors\` and run again`,"color-step-missing":e=>`step ${e.step} doesn't exist in TaishoDS (the \`${e.family}\` family has ${e.steps.join(", ")})`,"arbitrary-value":e=>`\`${e.class}\` has an arbitrary value, and the vocabulary is closed. The way out is a token in your config or your own utility in \`utilities\``,"no-equivalent":e=>`\`${e.class}\`: ${hi(e.reason)}`,"not-in-map":e=>`\`${e.class}\` has no TaishoDS equivalent (see sinEquivalente in the Tailwind table)`,"runtime-class":()=>"the class is built at runtime (`${\u2026}`), so it can't be translated. Write it in full or build it from a map of complete classes","theme-breakpoints":()=>"your `@theme` redefines `--breakpoint-*`, so the breakpoint no longer matches the table. Move it to `extend.screens` in `taisho.config.ts` and write it by hand","theme-spacing":e=>`your \`@theme\` redefines \`--spacing\`, so \`${e.class}\` no longer measures ${e.px}px. Check it by hand (in TaishoDS the number is the value in px)`,"theme-radius":e=>`your \`@theme\` redefines \`--radius-*\`, so \`${e.class}\` no longer matches the table. Check it by hand (custom radii go in \`extend.radius\`)`,"theme-text":e=>`your \`@theme\` redefines \`--text-*\`, so \`${e.class}\` no longer matches the table. Check it by hand`,"component-conflict":e=>`Tailwind's \`${e.class}\` isn't what \`${e.class}\` is in TaishoDS (a component). The element was left untouched. Rename your class or write that CSS in your stylesheet`,"name-conflict":e=>`\`${e.class}\` is also a TaishoDS name. The element was left untouched. Rename your class`,classlist:e=>`\`classList\` isn't converted. ${e.converted!==void 0?`The TaishoDS class is \`${e.converted}\`, and the`:"The"} element needs the \`ts\` scope class in its \`class\`. Do it by hand`,"already-scoped":e=>`this string already has the \`ts\` scope class and isn't converted again. \`${e.class}\` is from Tailwind (in TaishoDS, \`${e.converted}\`)`,untouched:e=>`the element was left untouched because ${fi(e.conflicts.map(n=>`\`${n}\``))} ${e.conflicts.length>1?"conflict":"conflicts"} with a TaishoDS name. After you resolve it, convert \`${e.class}\` by hand (in TaishoDS, \`${e.converted}\`)`,"possible-class":()=>"looks like a Tailwind class, but it's in a string that isn't clearly a class list, so it was left untouched. If it is one, convert it by hand","directive-without-ts":e=>`a directive can't carry the \`ts\` scope class, so the element needs a \`class\` with \`ts\` (it doesn't have one yet)${e.component?". It's your own component, and Tailwind doesn't add the class to it":""}`,"tailwind-merge":()=>"TaishoDS doesn't ship a `twMerge`. Cascade layers make your CSS win over the utility without resolving class conflicts. Check the calls by hand",apply:e=>`\`@apply\` isn't rewritten. Translation: \`${e.translation}\``+(e.untranslated.length?`; not translated: ${e.untranslated.map(n=>`${n.class} (${n.reason?Ye(n.reason,"en"):"not from Tailwind"})`).join("; ")}`:""),"tailwind-import":()=>"the Tailwind import has no equivalent. TaishoDS CSS comes from `taisho generate`. Remove it once no Tailwind classes remain","theme-block":e=>{let n=[e.families.length?`colors (${e.families.join(", ")}) become seeds in \`colors\` in the config`:"",e.breakpoints?"breakpoints go in `extend.screens`":"",e.radius?"radii go in `extend.radius`":"",e.spacing?"spacing goes in `extend.spacing`":"",e.text?"TaishoDS text sizes are their own scale":""].filter(Boolean);return`\`@theme\` isn't migrated for you${n.length?` (${n.join("; ")})`:""}${e.spacing||e.radius||e.text||e.breakpoints?". Classes in those families stay unconverted (type `tema`)":""}`},"tailwind-directive":e=>`\`@${e.directive}\` belongs to Tailwind and has no TaishoDS equivalent. Declare it in \`taisho.config.ts\` (\`content\`, \`extend\`, \`utilities\`)`},Np={"map-note":e=>e.note,"disabled-wider":()=>'`disabled:` tambi\xE9n corre con `aria-disabled="true"`: es m\xE1s amplio que el de Tailwind, a prop\xF3sito'},Lp={"map-note":e=>hi(e.note),"disabled-wider":()=>"`disabled:` also applies with `aria-disabled=\"true\"`. It's broader than Tailwind's on purpose"},_p={es:Mp,en:qp},Fp={es:Ip,en:Pp},Vp={es:Np,en:Lp};function Cn(e,n){return _p[n][e.code](e.params)}function Xe(e,n){return(e.file===void 0?"":e.line===void 0?`${e.file}: `:`${e.file}:${e.line}: `)+Cn(e,n)}function Ye(e,n){return Fp[n][e.code](e.params)}function il(e,n){return e.map(s=>Vp[n][s.code](s.params)).join(". ")}var me="src/icons";var Ls="4.x",Wp=16;var al=["0","px","0.5","1","1.5","2","2.5","3","3.5","4","5","6","7","8","9","10","11","12","14","16","20","24","28","32","36","40","44","48","52","56","60","64","72","80","96"],ns=e=>e==="px"?1:Number(e)*4;function ll(e){let n=/^(.+)-(\d+(?:\.5)?)$/.exec(e);return!n||!al.includes(n[2])||n[2]==="0"||!cl.some(([s])=>s===n[1])?null:ns(n[2])}var Oe="lado l\xF3gico: sigue el sentido de lectura (RTL); el de Tailwind es f\xEDsico",cl=[["p","p"],["px","px"],["py","py"],["pt","pt"],["pb","pb"],["ps","ps"],["pe","pe"],["pl","ps",Oe],["pr","pe",Oe],["m","m"],["mx","mx"],["my","my"],["mt","mt"],["mb","mb"],["ms","ms"],["me","me"],["ml","ms",Oe],["mr","me",Oe],["gap","gap"],["gap-x","gap-x"],["gap-y","gap-y"],["inset","inset"],["inset-x","inset-x"],["inset-y","inset-y"],["top","top"],["bottom","bottom"],["start","start"],["end","end"],["left","start",Oe],["right","end",Oe],["w","w"],["h","h"],["size","size"],["min-w","min-w"],["min-h","min-h"],["max-w","max-w"],["max-h","max-h"]],Ns={none:0,xs:2,sm:4,md:6,lg:8,xl:12,"2xl":16,"3xl":24,"4xl":32,full:9999},Up={xs:12,sm:14,base:16,lg:18,xl:20,"2xl":24,"3xl":30,"4xl":36,"5xl":48,"6xl":60,"7xl":72,"8xl":96,"9xl":128},Bp={thin:100,extralight:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},Hp={tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},Gp=["3","4","5","6","7","8","9","10"],Jp={none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2"},Zp=["0","5","10","15","20","25","30","35","40","45","50","55","60","65","70","75","80","85","90","95","100"],Kp=["0","10","20","30","40","50","auto"],Xp=["75","100","150","200","300","500","700","1000"],Yp={linear:"linear",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0, 0, 0.2, 1)","in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},Qp={xs:4,sm:8,md:12,lg:16,xl:24,"2xl":40,"3xl":64},tu=["2xs","xs","sm","md","lg","xl","2xl"],eu={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},nu=[...["block","inline-block","inline","flex","inline-flex","grid","inline-grid","contents","hidden"].map(e=>[e,e,"display"]),...["static","fixed","absolute","relative","sticky"].map(e=>[e,e,"posici\xF3n"]),...["visible","invisible"].map(e=>[e,e,"visibilidad"]),...["flex-row","flex-col","flex-row-reverse","flex-col-reverse","flex-wrap","flex-nowrap","flex-1"].map(e=>[e,e,"flex"]),["grow","flex-grow","flex"],["grow-0","flex-grow-0","flex"],["shrink","flex-shrink","flex"],["shrink-0","flex-shrink-0","flex"],...["start","center","end","baseline","stretch"].map(e=>[`items-${e}`,`items-${e}`,"alineaci\xF3n"]),...["start","center","end","between","around","evenly","stretch"].map(e=>[`justify-${e}`,`justify-${e}`,"alineaci\xF3n"]),...["auto","start","center","end","baseline","stretch"].map(e=>[`self-${e}`,`self-${e}`,"alineaci\xF3n"]),["text-left","align-start","texto","a start: sigue el sentido de lectura (RTL); `text-left` es f\xEDsico y el valor calculado es otro (`left` / `start`)",!1],["text-center","align-center","texto"],["text-right","align-end","texto","a end: sigue el sentido de lectura (RTL); `text-right` es f\xEDsico y el valor calculado es otro (`right` / `end`)",!1],["text-start","align-start","texto"],["text-end","align-end","texto"],...["balance","pretty","nowrap"].map(e=>[`text-${e}`,`wrap-${e}`,"texto"]),...["truncate","uppercase","lowercase","capitalize","normal-case","italic","not-italic","underline","no-underline","line-through","antialiased","tabular-nums","isolate"].map(e=>[e,e,"texto y utilidades"]),["sr-only","sr-only","texto y utilidades","mismo efecto (fuera de la vista, legible por un lector de pantalla), otra implementaci\xF3n: Tailwind recorta con `clip-path`, TaishoDS con `clip` y sin borde",!1],["not-sr-only","not-sr-only","texto y utilidades","mismo efecto (deshace `sr-only`, p. ej. con `focus:`), otra implementaci\xF3n: Tailwind restablece con `clip-path: none`, TaishoDS con `clip: auto`",!1],["font-sans","font-sans","texto","la misma intenci\xF3n, otra pila: la de Tailwind es la del sistema; la de TaishoDS empieza por la fuente de tu tema",!1],["font-mono","font-mono","texto","la misma intenci\xF3n, otra pila: la de Tailwind es la del sistema; la de TaishoDS empieza por la fuente mono de tu tema",!1],["flex-none","flex-none","flex"],["m-auto","m-auto","medidas"],["mx-auto","mx-auto","medidas"],["my-auto","my-auto","medidas"],["ms-auto","ms-auto","medidas"],["me-auto","me-auto","medidas"],["ml-auto","ms-auto","medidas",Oe],["mr-auto","me-auto","medidas",Oe],["border","border-1","borde","el ancho tiene nombre: `border-1` es 1px (Tailwind dice `border`)"],...["1","2","3","4"].map(e=>[`border-${e}`,`border-${e}`,"borde"]),...["1","2","3","4"].map(e=>[`ring-${e}`,`ring-${e}`,"borde","misma intenci\xF3n, otra implementaci\xF3n: es un `box-shadow` que pisa a `shadow-*` (Tailwind los suma)",!1]),["transition-colors","transition-colors","movimiento","misma intenci\xF3n, otra implementaci\xF3n: anima el fondo y el color del texto con la duraci\xF3n `fast` del tema; Tailwind anima tambi\xE9n el borde, el relleno y el trazo, en 150ms",!1],["transition-opacity","transition-opacity","movimiento","misma intenci\xF3n, otra duraci\xF3n: la `fast` del tema; la de Tailwind es de 150ms",!1],["transition-shadow","transition-shadow","movimiento","misma intenci\xF3n, otra duraci\xF3n: la `fast` del tema; la de Tailwind es de 150ms",!1],["transition-all","transition-all","movimiento","misma intenci\xF3n, otra implementaci\xF3n: anima el fondo, el color, la sombra y el transform con la duraci\xF3n `fast` del tema, no todas las propiedades",!1],["transition-none","transition-none","movimiento","misma intenci\xF3n, otra implementaci\xF3n: adem\xE1s de no animar nada pone la duraci\xF3n en 0s; Tailwind s\xF3lo quita la propiedad animada",!1],["outline-none","outline-none","interacci\xF3n","quita tambi\xE9n el contorno del foco (`:focus-visible`): sin otro indicador de foco, el teclado queda sin referencia"],...["normal","nowrap","pre","pre-line","pre-wrap"].map(e=>[`whitespace-${e}`,`whitespace-${e}`,"texto"]),...["break-words","break-all","break-normal"].map(e=>[e,e,"texto"]),...["auto","hidden","scroll","visible"].map(e=>[`overflow-${e}`,`overflow-${e}`,"overflow"]),...["auto","hidden"].flatMap(e=>[[`overflow-x-${e}`,`overflow-x-${e}`,"overflow"],[`overflow-y-${e}`,`overflow-y-${e}`,"overflow"]]),...["pointer","not-allowed","default","wait","grab","grabbing"].map(e=>[`cursor-${e}`,`cursor-${e}`,"interacci\xF3n"]),...["none","text","all","auto"].map(e=>[`select-${e}`,`select-${e}`,"interacci\xF3n"]),...["none","auto"].map(e=>[`pointer-events-${e}`,`pointer-events-${e}`,"interacci\xF3n"]),["aspect-square","aspect-square","layout"],["aspect-video","aspect-video","layout"],["object-cover","object-cover","layout"],["object-contain","object-contain","layout"],...Array.from({length:12},(e,n)=>[[`grid-cols-${n+1}`,`grid-cols-${n+1}`,"grid"],[`col-span-${n+1}`,`col-span-${n+1}`,"grid"]]).flat(),["col-span-full","col-span-full","grid"],...["full","auto","screen","fit"].flatMap(e=>[[`w-${e}`,`w-${e}`,"medidas"],[`h-${e}`,`h-${e}`,"medidas"]]),["min-h-screen","min-h-screen","medidas"],["min-h-full","min-h-full","medidas"],["min-w-full","min-w-full","medidas"],["max-w-full","max-w-full","medidas"],...["1/2","1/4","3/4"].map(e=>[`w-${e}`,`w-${e}`,"medidas"]),...["1/3","2/3"].map(e=>[`w-${e}`,`w-${e}`,"medidas","el porcentaje de TaishoDS est\xE1 redondeado a tres decimales (33.333%); el de Tailwind es exacto (`calc(1/3 * 100%)`): menos de 0.02px de diferencia",!1]),...Array.from({length:6},(e,n)=>[[`line-clamp-${n+1}`,`line-clamp-${n+1}`,"texto"]]).flat()],su=["white","black","transparent","current","inherit"],bi=["slate","gray","zinc","neutral","stone","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],yi=["50","100","200","300","400","500","600","700","800","900","950"],rl=[{tailwind:"bg",taisho:"bg"},{tailwind:"text",taisho:"color"},{tailwind:"border",taisho:"border",nota:"adem\xE1s del color dibuja el borde: 1px s\xF3lido (`border-gray-200` de Tailwind s\xF3lo pinta el color y necesita `border` para verse)"},{tailwind:"ring",taisho:"ring",nota:"adem\xE1s del color dibuja el aro: 1px (`ring-blue-500` de Tailwind s\xF3lo pinta el color y necesita `ring-N` para verse)"}],ou=[{clases:["p-[13px]","w-[calc(100%-2rem)]","bg-[#1da1f2]"],motivo:"valores arbitrarios: el vocabulario es cerrado. La escotilla es un token del config (taisho.user.ts) o una utilidad propia en `utilities`"},{clases:["data-[open]:*","aria-[sort=up]:*","has-*:*","not-*:*","first:*","odd:*","focus-within:*","motion-*:*","supports-*:*"],motivo:"variantes fuera de la lista cerrada: las de estado que existen son hover, focus, focus-visible, active, disabled, checked, invalid, group-*, peer-*, aria-<estado>, data-<nombre> (s\xF3lo presencia) y print; para lo dem\xE1s, una clase propia en tu CSS"},{clases:["dark:*"],motivo:"no hay variante `dark:`: el oscuro sale del tema (`light-dark()`, `createTheme`), no de una clase por elemento"},{clases:["space-x-*","space-y-*"],motivo:"no existen; se reemplazan por `gap-*` en el contenedor flex/grid"},{clases:["rotate-0","rotate-1","rotate-2","rotate-3","rotate-6","rotate-12","rotate-45","rotate-90"],motivo:"s\xF3lo existe `rotate-180`: no hay otros giros; para otro \xE1ngulo, una utilidad propia en `utilities`"},{clases:["border-solid","border-dashed","border-dotted","border-double","border-hidden"],motivo:"el estilo del borde no es una clase aparte: los bordes de TaishoDS son s\xF3lidos; para guiones o puntos, una utilidad propia en `utilities`"},{clases:["grayscale","grayscale-0","invert","invert-0","sepia","sepia-0"],motivo:"no hay filtros de color: s\xF3lo `blur-*` y `backdrop-blur-*`; para otro filtro, una utilidad propia en `utilities`"},{clases:["bg-gradient-to-*","bg-linear-*"],motivo:"no hay gradientes: el fondo es un color de la escala; para un gradiente, una utilidad propia en `utilities`"},{clases:["border-0","border-8","border-t","border-b","border-l","border-r","border-x","border-y"],motivo:"el ancho `border-N` (1 a 4) dibuja los cuatro lados y `border-none` lo quita: no hay `border-0` ni `border-8`, ni un lado o un eje sin n\xFAmero; el de un solo lado (`border-t-N`) s\xF3lo fija el ancho y el trazo lo dibuja `border-t-<familia>-<n>`"},{clases:["transition"],motivo:"no hay una `transition` sola: se elige la propiedad (`transition-colors`, `transition-opacity`, `transition-shadow`, `transition-transform`, `transition-all`); `duration-*` y `ease-*` fijan la duraci\xF3n y la curva, y los componentes ya traen su transici\xF3n; para otra propiedad, una utilidad propia en `utilities`"},{clases:["ring","ring-0","ring-8","ring-inset"],motivo:"el anillo va de 1 a 4 (`ring-1`\u2026`ring-4`): no hay `ring` sin n\xFAmero, `ring-0`, `ring-8` ni `ring-inset`; el anillo de foco lo pone el reset (`:focus-visible`) y cada componente"},{clases:["outline-hidden"],motivo:"no hay `outline-hidden`: para quitar el contorno, `outline-none`"},{clases:["mt-auto","mb-auto"],motivo:"s\xF3lo existen `m-auto`, `mx-auto`, `my-auto`, `ms-auto` y `me-auto`"},{clases:["md:max-xl:*","min-md:*"],motivo:"no hay rangos: cada pantalla tiene su variante \xABdesde\xBB (`md:`) y su variante \xABhasta\xBB (`max-md:`), pero no las dos a la vez en una clase"}],dl=["accent","align","animate","appearance","aspect","auto","backdrop","backface","basis","bg","blur","border","bottom","box","break","brightness","caret","clear","col","columns","content","contrast","cursor","decoration","delay","divide","drop","duration","ease","end","fill","flex","float","font","from","gap","grayscale","grid","grow","h","hue","hyphens","indent","inset","invert","items","justify","leading","left","line","list","m","mb","me","min","max","ml","mr","ms","mt","mx","my","object","opacity","order","origin","outline","overflow","overscroll","p","pb","pe","perspective","pl","place","pointer","pr","ps","pt","px","py","resize","right","ring","rotate","rounded","row","saturate","scale","scroll","select","self","sepia","shadow","shrink","size","skew","snap","space","sr","start","stroke","table","text","to","top","touch","tracking","transition","translate","via","w","whitespace","will","wrap","z"],pl=["block","inline","inline-block","inline-flex","inline-grid","flex","grid","table","contents","hidden","flow-root","static","fixed","absolute","relative","sticky","visible","invisible","collapse","container","grow","shrink","truncate","underline","overline","line-through","no-underline","uppercase","lowercase","capitalize","normal-case","italic","not-italic","antialiased","subpixel-antialiased","isolate","border","rounded","shadow","ring","outline","blur","transition","transform","filter","resize","sr-only","not-sr-only","grayscale","invert","sepia","ordinal"];function Ae(e){if(typeof e=="number")return e;let n=/^var\(--ts-sizing-(\d+)\)$/.exec(e)??/^(\d+)px$/.exec(e);return n?Number(n[1]):null}function _s(e){let{vigentes:n,esc:s,familias:o}=e,r=[],a=new Map,l=(g,...b)=>{let p=a.get(g)??[];p.push(...b),a.set(g,p)},i=g=>{if(!n.has(g))return"no est\xE1 emitida";let b=Gr(g,s,o);return b.length?b.map(p=>p.detalle).join("; "):null},c=(g,b,p,v,f,w,k)=>{let P=i(b);if(P)return l(w??`la clase de TaishoDS ${P}`,g);r.push({tailwind:g,taisho:b,scope:b.slice(3),familia:p,exacta:v,...k!==void 0?{px:k}:{},...f?{nota:f}:{}})};for(let g of al){let b=ns(g);for(let[p,v,f]of cl){let w=`${p}-${g}`;if(!(String(b)in Ve)){l(`${b}px no est\xE1 en la escala de medidas (sizing)`,w);continue}if(i(`ts-${v}-${b}`)===null){c(w,`ts-${v}-${b}`,"medidas",!0,f,void 0,b);continue}let k=Object.keys(ye).find(D=>Ae(ye[D])===b),P=k&&`ts-${v}-${k}`;if(P&&i(P)===null)c(w,P,"medidas",k==="none",[f,k==="none"?void 0:"palabra de ritmo: baja con `compact` (para este prefijo no hay clase en px)"].filter(Boolean).join(". ")||void 0,void 0,b);else{let D=Object.keys(ye).filter(W=>i(`ts-${v}-${W}`)===null).map(W=>`${W} ${Ae(ye[W])}px`);l(D.length?`${v}: no hay clase en px; s\xF3lo los pasos de ritmo (${D.join(", ")}), y ninguno vale lo mismo que ese paso de Tailwind`:`${v}: no hay clase en px ni paso de ritmo para este prefijo`,w)}}}for(let g of["1","2","4","8"]){let b=ns(g);c(`-m-${g}`,`ts-m-neg-${b}`,"medidas",!0,void 0,"m\xE1rgenes negativos (`-m-*`): la gram\xE1tica los define (`m-neg-N`) pero el generador no los emite",b)}for(let[g,b]of Object.entries(Ns)){let p=Object.keys(oe).find(v=>Ae(oe[v])===b);p?g==="full"?c(`rounded-${g}`,`ts-radius-${p}`,"radio",!1,"el mismo resultado visual (una p\xEDldora o un c\xEDrculo), otro valor: Tailwind usa `calc(infinity * 1px)` y TaishoDS 9999px"):c(`rounded-${g}`,`ts-radius-${p}`,"radio",!0,g===p?void 0:`el nombre cambia: ${g} es ${b}px y en TaishoDS es ${p}`):l(`${b}px no est\xE1 en la escala de radios`,`rounded-${g}`)}let d=Object.keys(oe).find(g=>Ae(oe[g])===Ns.sm);d?c("rounded",`ts-radius-${d}`,"radio",!0,`el nombre cambia: rounded es ${Ns.sm}px y en TaishoDS es ${d}`):l(`${Ns.sm}px no est\xE1 en la escala de radios`,"rounded");for(let[g,b]of Object.entries(Up)){let p=cn[String(b)];if(p===void 0){l(`${b}px no est\xE1 en la escala de texto (${Object.keys(cn).join(", ")})`,`text-${g}`);continue}let v=Ae(p)===b,f="Tailwind fija tambi\xE9n el interlineado; en TaishoDS es `ts-leading-*` o el compuesto `ts-type-copy-N`";c(`text-${g}`,`ts-text-${b}`,"tama\xF1o de texto",!1,v?f:`fluido: crece con el viewport hasta ${b}px. ${f}`)}for(let[g,b]of Object.entries(Bp)){let p=Object.keys(dn).find(v=>Number(dn[v])===b);p?c(`font-${g}`,`ts-weight-${p}`,"peso",!0):l(`peso ${b} no est\xE1 en la escala`,`font-${g}`)}for(let[g,b]of Object.entries(Hp)){let p=Object.keys(Fe).find(v=>Fe[v]===b);p?c(`tracking-${g}`,`ts-tracking-${p}`,"tracking",!0):l(`${b} no est\xE1 en la escala de tracking`,`tracking-${g}`)}for(let g of Gp){let b=ns(g),p=Object.keys(pn).find(v=>Ae(pn[v])===b);p?c(`leading-${g}`,`ts-leading-${p}`,"interlineado",!0,`en TaishoDS el n\xFAmero es el tama\xF1o de texto al que acompa\xF1a (${p}), no los px: el interlineado es ${b}px`):l(`interlineado de ${b}px no est\xE1 en la escala`,`leading-${g}`)}for(let[g,b]of Object.entries(Jp))["none","tight"].includes(g)?c(`leading-${g}`,`ts-leading-${g}`,"interlineado",!0,`${b} sin unidad`):l("interlineado sin unidad: s\xF3lo existen `none` y `tight`",`leading-${g}`);for(let g of Zp){let b=Object.keys(le).find(p=>Number(le[p])===Number(g)/100);b?c(`opacity-${g}`,`ts-opacity-${b}`,"opacidad",!0):l(`opacidad ${g} no est\xE1 en la escala (${Object.keys(le).filter(p=>/^\d+$/.test(p)).join(", ")})`,`opacity-${g}`)}for(let g of Kp)c(`z-${g}`,`ts-z-${g}`,"z-index",!0);for(let g of Xp){let b=Object.keys(ie).find(p=>ie[p]===`${g}ms`);b?c(`duration-${g}`,`ts-duration-${b}`,"movimiento",!0,`el nombre cambia: ${g}ms es ${b}`):l(`${g}ms no est\xE1 en la escala de duraciones`,`duration-${g}`)}for(let[g,b]of Object.entries(Yp)){let p=Object.keys(re).find(v=>re[v]===b);p?c(`ease-${g}`,`ts-ease-${p}`,"movimiento",!0):l("esa curva de easing no est\xE1 en la escala",`ease-${g}`)}for(let[g,b]of Object.entries(Qp)){let p=Object.keys(ve).find(v=>Ae(ve[v])===b);if(p){let v=g===p?void 0:`el nombre cambia: blur-${g} es ${b}px y en TaishoDS es ${p}`;c(`blur-${g}`,`ts-blur-${p}`,"blur",!0,v),c(`backdrop-blur-${g}`,`ts-backdrop-blur-${p}`,"blur",!0,v)}else l(`blur de ${b}px no est\xE1 en la escala`,`blur-${g}`,`backdrop-blur-${g}`)}c("shadow-none","ts-shadow-none","sombra",!0);for(let g of tu)g in We?c(`shadow-${g}`,`ts-shadow-${g}`,"sombra",!1,"misma intenci\xF3n, otra sombra: la de TaishoDS incluye el anillo de 1px del material"):l("esa sombra no existe en la escala de TaishoDS (sm, md, lg, xl)",`shadow-${g}`);for(let[g,b,p,v,f=!0]of nu)c(g,`ts-${b}`,p,f,v,"la clase de TaishoDS no est\xE1 emitida (su vocabulario es m\xE1s corto que el de Tailwind)");for(let g of su)i(`ts-bg-${g}`)===null?c(`bg-${g}`,`ts-bg-${g}`,"color",!0):l("white, black, current e inherit no son colores del tema (el color sale de las semillas): para una superficie, `bg-background-100` o un gris de la escala (`bg-gray-100`\u2026`bg-gray-1000`); para el texto, `color-gray-1000` o el color del tema",`bg-${g}`,`text-${g}`);let u=[];for(let[g,b]of Object.entries(eu))Ae(ce[g]??"")===b?u.push({tailwind:`${g}:`,taisho:`${g}:`,px:b}):l(`el corte ${g} no est\xE1 en las pantallas del Core; se agrega con extend.screens`,`${g}:*`);let y=[...new Set([...n].flatMap(g=>/^ts-bg-[a-z]+-(\d+)$/.exec(g)?.[1]??[]))],t=bi.filter(g=>o.includes(g)),m=yi.filter(g=>y.includes(g));for(let g of rl)for(let b of t)for(let p of m){let v=`ts-${g.taisho}-${b}-${p}`,f=i(v);if(f)throw new Error(`tailwind-map: ${g.tailwind}-${b}-${p} \u2192 ${v} ${f}`)}let h={tailwind:Ls,unidades:`En Tailwind el n\xFAmero de una medida es un paso de ${ns("1")}px (w-64 = 16rem = 256px con 1rem = ${Wp}px); en TaishoDS es el valor en px (ts-w-64 = 64px). Por eso la tabla se arma por el valor en px y no por el n\xFAmero, y la columna \`nota\` de cada medida dice los dos.`,columnas:{tailwind:"Clase de Tailwind, sin variante",taisho:"Clase de TaishoDS con el prefijo ts-",scope:"La misma, con la llave ts (sin prefijo)",familia:"Familia de la tabla",px:"S\xF3lo en medidas: valor en px, el mismo de las dos clases",exacta:"true si el valor CSS es el mismo; false si es la misma intenci\xF3n con otro valor (ver nota)",nota:"Lo que cambia: valor de cada lado, lado l\xF3gico, fluido"},filas:r,variantes:u,colores:{prefijos:rl,familiasCompartidas:t,familiasSoloTailwind:bi.filter(g=>!o.includes(g)),familiasSoloTaisho:o.filter(g=>!bi.includes(g)),escalonesCompartidos:m,escalonesSoloTailwind:yi.filter(g=>!y.includes(g)),escalonesSoloTaisho:y.filter(g=>!yi.includes(g)),nota:"El nombre coincide, el color no: la paleta de TaishoDS sale de las semillas de tu tema (OKLCH), no de la de Tailwind. Conviene revisar el resultado a ojo."},sinEquivalente:[...[...a].map(([g,b])=>({clases:b,motivo:g})),...ou]};return{...h,en:sl(h)}}function Fs(e){let n=[];for(let s=e.indexOf(`
3360
3363
  `);s>=0;s=e.indexOf(`
3361
- `,s+1))n.push(s);return s=>{let o=0,r=n.length;for(;o<r;){let a=o+r>>1;n[a]<s?o=a+1:r=a}return{line:o+1,column:s-(o>0?n[o-1]:-1)}}}var Kp=new Set(["html","htm","svelte","vue","astro","jsx","tsx"]),Xp=8,Yp=5;function fi(e){let n=new Set;for(let p of e.components.replace(/\/\*[\s\S]*?\*\//g,"").matchAll(/\.([A-Za-z_][A-Za-z0-9_-]*)/g))!p[1].startsWith("ts-")&&Bt(p[1])&&!/^(is|has)-/.test(p[1])&&n.add(p[1]);let s=Object.keys(e.userUtilities).filter(p=>!Ut(p)),o=new Map;for(let[p,v]of e.modificadoresPropios)for(let f of v)o.set(f,[...o.get(f)??[],p]);let r=[...e.nombresCortos.filter(p=>e.atomicas.has(p)),...s],a=new Set([...e.nombresCortos,...e.componentes,...n,...s,"ts","dark"]);for(let p of e.components.replace(/\/\*[\s\S]*?\*\//g,"").matchAll(/\.ts-([A-Za-z_][A-Za-z0-9_-]*)/g))gt(`ts-${p[1]}`)||a.add(p[1]);for(let p of[...o.keys()])a.has(p)&&o.delete(p);for(let p of o.keys())a.add(p);let l=[...r,...n],i=new Set(l.filter(p=>p.includes("-"))),c=new Map;for(let p of l){let v=p.split("-");for(let f=1;f<v.length;f++){let w=v.slice(0,f).join("-")+"-";c.set(w,(c.get(w)??0)+1)}}let d=[...c].filter(([,p])=>p>=Xp).map(([p])=>p),u,y=()=>u??=Os({vigentes:new Set(e.nombresCortos.map(p=>`ts-${p}`)),esc:vs(),familias:[]}),t,m=()=>t??=new Map(y().filas.filter(p=>p.tailwind.includes("-")&&p.tailwind!==p.scope).map(p=>[p.tailwind,p.scope])),h,g=p=>{if(!h){let v=y().sinEquivalente.flatMap(f=>f.clases.filter(w=>!w.includes(":")).map(w=>[w,f.motivo]));h={exactas:new Map(v.filter(([f])=>!f.endsWith("*")).reverse()),prefijos:v.filter(([f])=>/^[a-z-]+-\*$/.test(f)).map(([f,w])=>[f.slice(0,-1),w])}}return h.exactas.get(p)??h.prefijos.find(([v])=>p.startsWith(v))?.[1]},b=p=>{let v=sl(p),f=m().get(p);if(!(v===null&&!f))return{...v!==null&&{px:Number(p.slice(p.lastIndexOf("-")+1)),otherPx:v},...f&&{equivalent:f}}};return{validos:a,candidatos:l,inequivocos:i,raices:d,cadenasPropias:e.cadenasPropias,modificadoresPropios:o,prefijos:e.prefijos,deTailwind:m,sinEquivalente:g,escalaAjena:b}}function Qp(e,n){let s=r=>r.replace(/[^\n]/g," "),o=n;return/\.astro$/i.test(e)&&(o=o.replace(/^---\r?\n[\s\S]*?\r?\n---/,s)),o.replace(/<!--[\s\S]*?-->/g,s).replace(/<script\b[^>]*>[\s\S]*?<\/script>/g,s).replace(/<style\b[^>]*>[\s\S]*?<\/style>/g,s)}var qs=e=>/class(?:name)?\]?$/i.test(e),tu=e=>/^[A-Z]/.test(e)||/[-.:]/.test(e);function al(e,n,s={}){let o=fi(n),r=new Map;return[...e].flatMap(a=>hi(a,o,r,s))}function hi(e,n,s,o={}){let r=[],a=/\.([A-Za-z0-9]+)$/.exec(e.file)?.[1].toLowerCase()??"";if(!Kp.has(a))return r;let l=Qp(e.file,e.content),i=Ms(l);for(let c of l.matchAll(/(?<=\s)(?:class|className)\s*=\s*(["'])([^"'{}$]*)\1/g)){let d=c[2].split(/\s+/).filter(Boolean);if(d.length===0||d.some(h=>h.startsWith("ts-")))continue;let u=Xt(l,c.index);if(!u||tu(u.nombre))continue;let y=c.index+c[0].length-1-c[2].length,t=[...c[2].matchAll(/\S+/g)].map(h=>({token:h[0],pos:y+h.index,variante:h[0].slice(0,h[0].lastIndexOf(":")+1),base:h[0].slice(h[0].lastIndexOf(":")+1)}));if(!d.includes("ts")){let h=t.some(b=>n.validos.has(b.base)&&!Bt(b.base)),g=[...new Set(t.filter(b=>n.inequivocos.has(b.base)&&(h||!Bt(b.base))).map(b=>b.base))];if(g.length===0)continue;r.push({file:e.file,...i(c.index),rule:"missing-ts",severity:"error",code:"missing-ts",params:{element:u.nombre,classes:g.slice(0,3)}})}let m=new Set(t.map(h=>h.base));for(let{token:h,pos:g,variante:b,base:p}of t){let v=n.modificadoresPropios.get(p);if(v){b?r.push({file:e.file,...i(g),rule:"unknown-class",severity:"error",code:"modifier-with-variant",params:{class:h,modifier:p,utilities:[...v],suggestion:`${b}${v[0]}`}}):v.some(Z=>m.has(Z))||r.push({file:e.file,...i(g),rule:"unknown-class",severity:"warning",code:"orphan-modifier",params:{class:h,utilities:[...v]}});continue}let f=b?n.cadenasPropias.get(p):void 0;if(f){let Z=b.slice(0,-1).split(":").map(q=>`${q}:`),M=jt(Z,n.prefijos).ok?ve(Z,f,n.prefijos).find(q=>!q.ok):void 0;M&&!M.ok&&r.push({file:e.file,...i(g),rule:"unknown-class",severity:"error",code:"invalid-composition",params:ln(h,p,Z,M)});continue}if(o.otherScale&&d.includes("ts")&&n.validos.has(p)){let Z=n.escalaAjena(p);Z&&r.push({file:e.file,...i(g),rule:"other-scale",severity:"warning",code:"other-scale",params:{class:h,...Z}})}if(n.validos.has(p)||/^(ts-|is-|has-|data-|aria-)/.test(p)||!/[a-z]/.test(p))continue;if(/^!./.test(p)||/.!$/.test(p)){let Z=`${b}${p.replace(/^!|!$/g,"")}`;r.push({file:e.file,...i(g),rule:"unknown-class",severity:"warning",code:"important-class",params:{class:h,suggestion:Z},suggestion:Z});continue}let w=gt(`ts-${p}`)?.nuevo;if(w){let Z=`${b}${w.slice(3)}`;r.push({file:e.file,...i(g),rule:"unknown-class",severity:"error",code:"renamed-class",params:{class:h,suggestion:Z},suggestion:Z});continue}let k=/\d/.test(p)&&n.raices.some(Z=>p.startsWith(Z)),I=p.length>=Yp&&!Bt(p)?s.has(p)?s.get(p):s.set(p,mt(p,n.candidatos)).get(p):void 0,D=n.deTailwind().get(p),W=p.includes("-")&&[...n.validos].some(Z=>Z.startsWith(`${p}-`));if(!k&&!I&&!D&&!W&&!Bt(p)){let Z=n.sinEquivalente(p);Z&&r.push({file:e.file,...i(g),rule:"unknown-class",severity:"warning",code:"class-without-equivalent",params:{class:h,reason:Z}});continue}let J=(I??D)&&`${b}${I??D}`;r.push({file:e.file,...i(g),rule:"unknown-class",severity:"error",code:"unknown-class",params:{class:h,...J&&{suggestion:J}},...J&&{suggestion:J}})}}for(let c of l.matchAll(/(?<=\s)([A-Za-z_:@[][^\s=<>"'{}]*)\s*=\s*(["'])([^"'{}$]*)\2/g)){if(qs(c[1]))continue;let d=c[3].split(/\s+/).filter(Boolean);if(!d.includes("ts"))continue;let u=d.filter(y=>y!=="ts"&&n.validos.has(y.slice(y.lastIndexOf(":")+1)));u.length!==0&&r.push({file:e.file,...i(c.index),rule:"ignored-attribute",severity:"warning",code:"ignored-attribute",params:{attribute:c[1],classes:u.slice(0,3)}})}return r}import Ee from"node:fs";import pe from"node:path";function eu(e){let[n,s]=e,o=Object.entries(s).map(([r,a])=>`${r}="${a}"`).join(" ");return`<${n}${o?" "+o:""} />`}function ll(e){return{viewBox:"0 0 24 24",stroke:!0,body:e.map(eu).join("")}}function cl(e){let n=e.match(/viewBox\s*=\s*["']([^"']+)["']/i)?.[1]??"0 0 24 24",o=(e.match(/<svg[^>]*>([\s\S]*?)<\/svg>/i)?.[1]??"").trim(),r=/fill\s*=\s*["']none["']/i.test(e)||/stroke\s*=\s*["']currentColor["']/i.test(e);return{viewBox:n,stroke:r,body:o}}function nu(e,n){let s=e.length,o=n.length;if(s===0)return o;if(o===0)return s;let r=Array.from({length:s+1},(a,l)=>[l,...new Array(o).fill(0)]);for(let a=0;a<=o;a++)r[0][a]=a;for(let a=1;a<=s;a++)for(let l=1;l<=o;l++){let i=e[a-1]===n[l-1]?0:1;r[a][l]=Math.min(r[a-1][l]+1,r[a][l-1]+1,r[a-1][l-1]+i)}return r[s][o]}function dl(e,n){let s=null,o=1/0;for(let r of n){let a=nu(e,r);a<o&&(o=a,s=r)}return s!==null&&o<=Math.max(2,Math.ceil(e.length*.4))?s:null}function pl(e){return'<!-- Archivo auto-generado por `taisho generate`: sprite de \xEDconos. -->\n<svg xmlns="http://www.w3.org/2000/svg" class="ts-sr-only" aria-hidden="true">\n'+Object.keys(e).sort().map(o=>{let{viewBox:r,body:a,stroke:l}=e[o];return` <symbol id="ts-${o}" viewBox="${r}"${l?' fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"':""}>${a}</symbol>`}).join(`
3364
+ `,s+1))n.push(s);return s=>{let o=0,r=n.length;for(;o<r;){let a=o+r>>1;n[a]<s?o=a+1:r=a}return{line:o+1,column:s-(o>0?n[o-1]:-1)}}}var iu=new Set(["html","htm","svelte","vue","astro","jsx","tsx"]),ru=8,au=5;function vi(e){let n=new Set;for(let p of e.components.replace(/\/\*[\s\S]*?\*\//g,"").matchAll(/\.([A-Za-z_][A-Za-z0-9_-]*)/g))!p[1].startsWith("ts-")&&Ut(p[1])&&!/^(is|has)-/.test(p[1])&&n.add(p[1]);let s=Object.keys(e.userUtilities).filter(p=>!Wt(p)),o=new Map;for(let[p,v]of e.modificadoresPropios)for(let f of v)o.set(f,[...o.get(f)??[],p]);let r=[...e.nombresCortos.filter(p=>e.atomicas.has(p)),...s],a=new Set([...e.nombresCortos,...e.componentes,...n,...s,"ts","dark"]);for(let p of e.components.replace(/\/\*[\s\S]*?\*\//g,"").matchAll(/\.ts-([A-Za-z_][A-Za-z0-9_-]*)/g))ut(`ts-${p[1]}`)||a.add(p[1]);for(let p of[...o.keys()])a.has(p)&&o.delete(p);for(let p of o.keys())a.add(p);let l=[...r,...n],i=new Set(l.filter(p=>p.includes("-"))),c=new Map;for(let p of l){let v=p.split("-");for(let f=1;f<v.length;f++){let w=v.slice(0,f).join("-")+"-";c.set(w,(c.get(w)??0)+1)}}let d=[...c].filter(([,p])=>p>=ru).map(([p])=>p),u,y=()=>u??=_s({vigentes:new Set(e.nombresCortos.map(p=>`ts-${p}`)),esc:Ts(),familias:[]}),t,m=()=>t??=new Map(y().filas.filter(p=>p.tailwind.includes("-")&&p.tailwind!==p.scope).map(p=>[p.tailwind,p.scope])),h,g=p=>{if(!h){let v=y().sinEquivalente.flatMap(f=>f.clases.filter(w=>!w.includes(":")).map(w=>[w,f.motivo]));h={exactas:new Map(v.filter(([f])=>!f.endsWith("*")).reverse()),prefijos:v.filter(([f])=>/^[a-z-]+-\*$/.test(f)).map(([f,w])=>[f.slice(0,-1),w])}}return h.exactas.get(p)??h.prefijos.find(([v])=>p.startsWith(v))?.[1]},b=p=>{let v=ll(p),f=m().get(p);if(!(v===null&&!f))return{...v!==null&&{px:Number(p.slice(p.lastIndexOf("-")+1)),otherPx:v},...f&&{equivalent:f}}};return{validos:a,candidatos:l,inequivocos:i,raices:d,cadenasPropias:e.cadenasPropias,modificadoresPropios:o,prefijos:e.prefijos,deTailwind:m,sinEquivalente:g,escalaAjena:b}}function lu(e,n){let s=r=>r.replace(/[^\n]/g," "),o=n;return/\.astro$/i.test(e)&&(o=o.replace(/^---\r?\n[\s\S]*?\r?\n---/,s)),o.replace(/<!--[\s\S]*?-->/g,s).replace(/<script\b[^>]*>[\s\S]*?<\/script>/g,s).replace(/<style\b[^>]*>[\s\S]*?<\/style>/g,s)}var Vs=e=>/class(?:name)?\]?$/i.test(e),cu=e=>/^[A-Z]/.test(e)||/[-.:]/.test(e);function ul(e,n,s={}){let o=vi(n),r=new Map;return[...e].flatMap(a=>xi(a,o,r,s))}function xi(e,n,s,o={}){let r=[],a=/\.([A-Za-z0-9]+)$/.exec(e.file)?.[1].toLowerCase()??"";if(!iu.has(a))return r;let l=lu(e.file,e.content),i=Fs(l);for(let c of l.matchAll(/(?<=\s)(?:class|className)\s*=\s*(["'])([^"'{}$]*)\1/g)){let d=c[2].split(/\s+/).filter(Boolean);if(d.length===0||d.some(h=>h.startsWith("ts-")))continue;let u=Qt(l,c.index);if(!u||cu(u.nombre))continue;let y=c.index+c[0].length-1-c[2].length,t=[...c[2].matchAll(/\S+/g)].map(h=>({token:h[0],pos:y+h.index,variante:h[0].slice(0,h[0].lastIndexOf(":")+1),base:h[0].slice(h[0].lastIndexOf(":")+1)}));if(!d.includes("ts")){let h=t.some(b=>n.validos.has(b.base)&&!Ut(b.base)),g=[...new Set(t.filter(b=>n.inequivocos.has(b.base)&&(h||!Ut(b.base))).map(b=>b.base))];if(g.length===0)continue;r.push({file:e.file,...i(c.index),rule:"missing-ts",severity:"error",code:"missing-ts",params:{element:u.nombre,classes:g.slice(0,3)}})}let m=new Set(t.map(h=>h.base));for(let{token:h,pos:g,variante:b,base:p}of t){let v=n.modificadoresPropios.get(p);if(v){b?r.push({file:e.file,...i(g),rule:"unknown-class",severity:"error",code:"modifier-with-variant",params:{class:h,modifier:p,utilities:[...v],suggestion:`${b}${v[0]}`}}):v.some(J=>m.has(J))||r.push({file:e.file,...i(g),rule:"unknown-class",severity:"warning",code:"orphan-modifier",params:{class:h,utilities:[...v]}});continue}let f=b?n.cadenasPropias.get(p):void 0;if(f){let J=b.slice(0,-1).split(":").map(M=>`${M}:`),A=jt(J,n.prefijos).ok?ke(J,f,n.prefijos).find(M=>!M.ok):void 0;A&&!A.ok&&r.push({file:e.file,...i(g),rule:"unknown-class",severity:"error",code:"invalid-composition",params:fn(h,p,J,A)});continue}if(o.otherScale&&d.includes("ts")&&n.validos.has(p)){let J=n.escalaAjena(p);J&&r.push({file:e.file,...i(g),rule:"other-scale",severity:"warning",code:"other-scale",params:{class:h,...J}})}if(n.validos.has(p)||/^(ts-|is-|has-|data-|aria-)/.test(p)||!/[a-z]/.test(p))continue;if(/^!./.test(p)||/.!$/.test(p)){let J=`${b}${p.replace(/^!|!$/g,"")}`;r.push({file:e.file,...i(g),rule:"unknown-class",severity:"warning",code:"important-class",params:{class:h,suggestion:J},suggestion:J});continue}let w=ut(`ts-${p}`)?.nuevo;if(w){let J=`${b}${w.slice(3)}`;r.push({file:e.file,...i(g),rule:"unknown-class",severity:"error",code:"renamed-class",params:{class:h,suggestion:J},suggestion:J});continue}let k=/\d/.test(p)&&n.raices.some(J=>p.startsWith(J)),P=p.length>=au&&!Ut(p)?s.has(p)?s.get(p):s.set(p,gt(p,n.candidatos)).get(p):void 0,D=n.deTailwind().get(p),W=p.includes("-")&&[...n.validos].some(J=>J.startsWith(`${p}-`));if(!k&&!P&&!D&&!W&&!Ut(p)){let J=n.sinEquivalente(p);J&&r.push({file:e.file,...i(g),rule:"unknown-class",severity:"warning",code:"class-without-equivalent",params:{class:h,reason:J}});continue}let G=(P??D)&&`${b}${P??D}`;r.push({file:e.file,...i(g),rule:"unknown-class",severity:"error",code:"unknown-class",params:{class:h,...G&&{suggestion:G}},...G&&{suggestion:G}})}}for(let c of l.matchAll(/(?<=\s)([A-Za-z_:@[][^\s=<>"'{}]*)\s*=\s*(["'])([^"'{}$]*)\2/g)){if(Vs(c[1]))continue;let d=c[3].split(/\s+/).filter(Boolean);if(!d.includes("ts"))continue;let u=d.filter(y=>y!=="ts"&&n.validos.has(y.slice(y.lastIndexOf(":")+1)));u.length!==0&&r.push({file:e.file,...i(c.index),rule:"ignored-attribute",severity:"warning",code:"ignored-attribute",params:{attribute:c[1],classes:u.slice(0,3)}})}return r}import Me from"node:fs";import fe from"node:path";function du(e){let[n,s]=e,o=Object.entries(s).map(([r,a])=>`${r}="${a}"`).join(" ");return`<${n}${o?" "+o:""} />`}function gl(e){return{viewBox:"0 0 24 24",stroke:!0,body:e.map(du).join("")}}function ml(e){let n=e.match(/viewBox\s*=\s*["']([^"']+)["']/i)?.[1]??"0 0 24 24",o=(e.match(/<svg[^>]*>([\s\S]*?)<\/svg>/i)?.[1]??"").trim(),r=/fill\s*=\s*["']none["']/i.test(e)||/stroke\s*=\s*["']currentColor["']/i.test(e);return{viewBox:n,stroke:r,body:o}}function pu(e,n){let s=e.length,o=n.length;if(s===0)return o;if(o===0)return s;let r=Array.from({length:s+1},(a,l)=>[l,...new Array(o).fill(0)]);for(let a=0;a<=o;a++)r[0][a]=a;for(let a=1;a<=s;a++)for(let l=1;l<=o;l++){let i=e[a-1]===n[l-1]?0:1;r[a][l]=Math.min(r[a-1][l]+1,r[a][l-1]+1,r[a-1][l-1]+i)}return r[s][o]}function fl(e,n){let s=null,o=1/0;for(let r of n){let a=pu(e,r);a<o&&(o=a,s=r)}return s!==null&&o<=Math.max(2,Math.ceil(e.length*.4))?s:null}function hl(e){return'<!-- Archivo auto-generado por `taisho generate`: sprite de \xEDconos. -->\n<svg xmlns="http://www.w3.org/2000/svg" class="ts-sr-only" aria-hidden="true">\n'+Object.keys(e).sort().map(o=>{let{viewBox:r,body:a,stroke:l}=e[o];return` <symbol id="ts-${o}" viewBox="${r}"${l?' fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"':""}>${a}</symbol>`}).join(`
3362
3365
  `)+`
3363
3366
  </svg>
3364
- `}var ul=/(?:xlink:href|href)=["'][^"']*#ts-([a-z0-9]+(?:-[a-z0-9]+)*)["']/g,gl=/data-ts-icon=["']([^"']+)["']/g,su=/\.(html|svelte|vue|astro|jsx|tsx)$/;function ou(e,n){let s=[],o=r=>{if(Ee.existsSync(r))for(let a of Ee.readdirSync(r,{withFileTypes:!0})){let l=pe.join(r,a.name);if(pe.resolve(l)!==pe.resolve(n))if(a.isDirectory()){if(a.name==="node_modules"||a.name.startsWith("."))continue;o(l)}else a.isFile()&&a.name.endsWith(".html")&&s.push(l)}};for(let r of e)o(r);return s}function ml(e){let n=e.replace(/<!--[\s\S]*?-->/g,""),s=new Set,o;for(ul.lastIndex=0;(o=ul.exec(n))!==null;)s.add(o[1]);for(gl.lastIndex=0;(o=gl.exec(n))!==null;)s.add(o[1]);return s}function bi(e,n){return{origen:e,nombres:[...ml(n)],soloAviso:!su.test(e)}}function yi(e){let n=pe.resolve(e,"node_modules/lucide-static/icon-nodes.json");if(!Ee.existsSync(n))return console.warn(B().generate.lucideFalta),{lucideNodes:{},lucideAliases:{}};let s=JSON.parse(Ee.readFileSync(n,"utf8"));return{lucideNodes:s,lucideAliases:di(pe.dirname(n),s)}}function vi(e,n){let s={},o=pe.resolve(e,n);if(Ee.existsSync(o))for(let r of Ee.readdirSync(o)){if(!r.endsWith(".svg"))continue;let a=r.slice(0,-4);s[a]=cl(Ee.readFileSync(pe.join(o,r),"utf8"))}return s}function xi(e,n,s,o){let{lucideNodes:r,lucideAliases:a,customIcons:l}=e,i=y=>!!r[y]||!!a[y]||!!l[y],c=new Set,d=[];for(let y of s)i(y)?c.add(y):d.push({name:y,origen:"taisho.config.ts (icons)"});for(let{origen:y,nombres:t,soloAviso:m}of n)for(let h of t)i(h)?c.add(h):m?console.warn(B().generate.iconoIgnorado(h,y)):d.push({name:h,origen:y});if(d.length>0){let y=[...Object.keys(r),...Object.keys(a),...Object.keys(l)],t=d.map(({name:m,origen:h})=>{let g=dl(m,y);return` \u2022 "${m}"${g?B().generate.quisisteDecir(g):""} (${h})`});throw new Error(B().generate.iconosInexistentes(t,o))}let u={};for(let y of c){let t=r[a[y]??y];u[y]=t?ll(t):l[y]}return pl(u)}function fl(e){let{files:n=[],roots:s=n.length?[]:["."],skip:o,customIconsDir:r,cwd:a,nodeModulesBase:l=a,safelist:i=[]}=e,c={...yi(l),customIcons:vi(a,r)},d=[];for(let u of ou(s.map(y=>pe.resolve(a,y)),o))d.push({origen:pe.relative(a,u),nombres:ml(Ee.readFileSync(u,"utf8"))});for(let{file:u,content:y}of n)d.push(bi(u,y));return xi(c,d,i,r)}import wi from"node:fs";import yn from"node:path";var iu=e=>e.split("/").includes("node_modules");function Zn({globs:e,baseDir:n,outDir:s,excluir:o=[]}){let r=yn.resolve(s),a=new Set;for(let l of e){let i=iu(l),c=wi.globSync(l,{cwd:n,exclude:d=>{let u=d.split(/[\\/]/).pop();return u==="node_modules"&&!i||o.includes(u)||u.startsWith(".")&&u!=="."&&u!==".."}});for(let d of c){let u=yn.resolve(n,d),y=yn.relative(n,u).split(yn.sep);if(y.some(m=>m.startsWith(".")&&m!=="..")||!i&&y.includes("node_modules")||y.some(m=>o.includes(m))||u===r||u.startsWith(r+yn.sep)||!wi.statSync(u).isFile())continue;let t=y.join("/");a.has(t)||a.add(t)}}return[...a]}function Re(e){return Zn(e).map(n=>({file:n,content:wi.readFileSync(yn.resolve(e.baseDir,n),"utf8")}))}import Mt from"node:fs";import Rt from"node:path";import{fileURLToPath as fu}from"node:url";import{createRequire as ru}from"node:module";var au=ru(import.meta.url),lu=/[^\s{}<>$]*\s*(?<!\$)\{[^{}$]*:[^{}$]*\}/g,cu=/\bstyle\s*=\s*(["'])[^"'\n]*\1/g,du=e=>e.replace(cu," ").replace(lu," ");function vn(e){return pu(e).map(du)}function pu(e){e=e.replace(/\b(?:from|import|require)\s*\(?\s*(["'])[^"'\n]*\1/g,"");let n=[];for(let s=0;s<e.length;s++){let o=e[s];if(o==="/"&&e[s+1]==="/")s=e.indexOf(`
3367
+ `}var bl=/(?:xlink:href|href)=["'][^"']*#ts-([a-z0-9]+(?:-[a-z0-9]+)*)["']/g,yl=/data-ts-icon=["']([^"']+)["']/g,uu=/\.(html|svelte|vue|astro|jsx|tsx)$/;function gu(e,n){let s=[],o=r=>{if(Me.existsSync(r))for(let a of Me.readdirSync(r,{withFileTypes:!0})){let l=fe.join(r,a.name);if(fe.resolve(l)!==fe.resolve(n))if(a.isDirectory()){if(a.name==="node_modules"||a.name.startsWith("."))continue;o(l)}else a.isFile()&&a.name.endsWith(".html")&&s.push(l)}};for(let r of e)o(r);return s}function vl(e){let n=e.replace(/<!--[\s\S]*?-->/g,""),s=new Set,o;for(bl.lastIndex=0;(o=bl.exec(n))!==null;)s.add(o[1]);for(yl.lastIndex=0;(o=yl.exec(n))!==null;)s.add(o[1]);return s}function wi(e,n){return{origen:e,nombres:[...vl(n)],soloAviso:!uu.test(e)}}function $i(e){let n=fe.resolve(e,"node_modules/lucide-static/icon-nodes.json");if(!Me.existsSync(n))return console.warn(H().generate.lucideFalta),{lucideNodes:{},lucideAliases:{}};let s=JSON.parse(Me.readFileSync(n,"utf8"));return{lucideNodes:s,lucideAliases:mi(fe.dirname(n),s)}}function ki(e,n){let s={},o=fe.resolve(e,n);if(Me.existsSync(o))for(let r of Me.readdirSync(o)){if(!r.endsWith(".svg"))continue;let a=r.slice(0,-4);s[a]=ml(Me.readFileSync(fe.join(o,r),"utf8"))}return s}function Si(e,n,s,o){let{lucideNodes:r,lucideAliases:a,customIcons:l}=e,i=y=>!!r[y]||!!a[y]||!!l[y],c=new Set,d=[];for(let y of s)i(y)?c.add(y):d.push({name:y,origen:"taisho.config.ts (icons)"});for(let{origen:y,nombres:t,soloAviso:m}of n)for(let h of t)i(h)?c.add(h):m?console.warn(H().generate.iconoIgnorado(h,y)):d.push({name:h,origen:y});if(d.length>0){let y=[...Object.keys(r),...Object.keys(a),...Object.keys(l)],t=d.map(({name:m,origen:h})=>{let g=fl(m,y);return` \u2022 "${m}"${g?H().generate.quisisteDecir(g):""} (${h})`});throw new Error(H().generate.iconosInexistentes(t,o))}let u={};for(let y of c){let t=r[a[y]??y];u[y]=t?gl(t):l[y]}return hl(u)}function xl(e){let{files:n=[],roots:s=n.length?[]:["."],skip:o,customIconsDir:r,cwd:a,nodeModulesBase:l=a,safelist:i=[]}=e,c={...$i(l),customIcons:ki(a,r)},d=[];for(let u of gu(s.map(y=>fe.resolve(a,y)),o))d.push({origen:fe.relative(a,u),nombres:vl(Me.readFileSync(u,"utf8"))});for(let{file:u,content:y}of n)d.push(wi(u,y));return Si(c,d,i,r)}import Ci from"node:fs";import Tn from"node:path";var mu=e=>e.split("/").includes("node_modules");function ss({globs:e,baseDir:n,outDir:s,excluir:o=[]}){let r=Tn.resolve(s),a=new Set;for(let l of e){let i=mu(l),c=Ci.globSync(l,{cwd:n,exclude:d=>{let u=d.split(/[\\/]/).pop();return u==="node_modules"&&!i||o.includes(u)||u.startsWith(".")&&u!=="."&&u!==".."}});for(let d of c){let u=Tn.resolve(n,d),y=Tn.relative(n,u).split(Tn.sep);if(y.some(m=>m.startsWith(".")&&m!=="..")||!i&&y.includes("node_modules")||y.some(m=>o.includes(m))||u===r||u.startsWith(r+Tn.sep)||!Ci.statSync(u).isFile())continue;let t=y.join("/");a.has(t)||a.add(t)}}return[...a]}function qe(e){return ss(e).map(n=>({file:n,content:Ci.readFileSync(Tn.resolve(e.baseDir,n),"utf8")}))}import qt from"node:fs";import Rt from"node:path";import{fileURLToPath as Su}from"node:url";import{createRequire as fu}from"node:module";var hu=fu(import.meta.url),bu=/[^\s{}<>$]*\s*(?<!\$)\{[^{}$]*:[^{}$]*\}/g,yu=/\bstyle\s*=\s*(["'])[^"'\n]*\1/g,vu=e=>e.replace(yu," ").replace(bu," ");function jn(e){return xu(e).map(vu)}function xu(e){e=e.replace(/\b(?:from|import|require)\s*\(?\s*(["'])[^"'\n]*\1/g,"");let n=[];for(let s=0;s<e.length;s++){let o=e[s];if(o==="/"&&e[s+1]==="/")s=e.indexOf(`
3365
3368
  `,s)===-1?e.length:e.indexOf(`
3366
3369
  `,s);else if(o==="/"&&e[s+1]==="*")s=e.indexOf("*/",s+2)===-1?e.length:e.indexOf("*/",s+2)+1;else if(o==='"'||o==="'"){let r=s+1;for(;r<e.length&&e[r]!==o&&e[r]!==`
3367
- `;)r+=e[r]==="\\"?2:1;n.push(e.slice(s+1,r)),s=r}else if(o==="`"){let r=s+1,a=0;for(;r<e.length&&!(e[r]==="`"&&a===0);)e[r]==="\\"?r++:e[r]==="$"&&e[r+1]==="{"?(a++,r++):e[r]==="}"&&a>0&&a--,r++;n.push(e.slice(s+1,r)),s=r}}return n}function $i(e,n="ts"){try{let{transformSync:s}=au("esbuild");return s(e,{loader:n,target:"esnext",...n==="tsx"?{jsx:"preserve"}:{}}).code}catch{return e}}function hl(e,n){let s=1,o=n;for(;o<e.length&&s>0;){let r=e[o];if(r==='"'||r==="'"||r==="`"){let a=o+1;for(;a<e.length&&e[a]!==r;)a+=e[a]==="\\"?2:1;o=a+1;continue}r==="{"?s++:r==="}"&&s--,o++}return{strings:vn(e.slice(n,o-1)),fin:o}}var Is=/(\[|:|v-bind:|x-bind:)?([A-Za-z_][\w.:-]*)\]?\s*=\s*(?:(["'])|([^\s"'`=<>{}]+?)(?=\/?>|\s|$))/y;function uu(e,{llaves:n,astro:s=!1}){let o=[];for(let r=0;r<e.length;){if(e.startsWith("<!--",r)){let c=e.indexOf("-->",r);r=c===-1?e.length:c+3;continue}if(n&&e[r]==="{"){let c=hl(e,r+1);o.push(...c.strings),r=c.fin;continue}let a=/^class:([A-Za-z0-9_-]+)/.exec(e.slice(r,r+80));if(a&&/[\s"'}]/.test(e[r-1]??" ")){s&&a[1]==="list"||o.push(a[1]),r+=a[0].length;continue}let l=/^\[class\.([A-Za-z0-9_-]+)\]/.exec(e.slice(r,r+80));if(l&&/\s/.test(e[r-1]??" ")){o.push(l[1]),r+=l[0].length;continue}Is.lastIndex=r;let i=/\s/.test(e[r-1]??" ")?Is.exec(e):null;if(i&&qs(i[2])){if(i[4]!==void 0){o.push(i[4]),r=Is.lastIndex;continue}let c=Is.lastIndex,d="";for(;c<e.length&&e[c]!==i[3];)if(n&&e[c]==="{"){let u=hl(e,c+1);o.push(...u.strings),d+=e.slice(c,u.fin),c=u.fin}else d+=e[c++];i[1]?o.push(...vn(d)):o.push(d),r=c+1;continue}r++}return o}function gu(e){let n=[],s=e.replace(/<script\b[^>]*>([\s\S]*?)<\/script>/g,(o,r)=>(n.push(r),"")).replace(/<style\b[^>]*>[\s\S]*?<\/style>/g,"");return{scripts:n,markup:s}}var mu=e=>e.replace(/(?<![\w$.:-])([A-Za-z_][\w:-]*)=(["'])[^\n]*?\2/g,(n,s)=>qs(s)?n:"");function Ns(e,n){let s=/\.([A-Za-z0-9]+)$/.exec(e)?.[1].toLowerCase();switch(s){case"css":return"";case"js":case"mjs":case"cjs":return vn(n).join(`
3368
- `);case"ts":case"mts":case"cts":return vn($i(n)).join(`
3369
- `);case"jsx":case"tsx":return vn(mu($i(n,"tsx"))).join(`
3370
- `);case"html":case"htm":case"md":case"svelte":case"vue":case"astro":case"mdx":{let o=s==="astro"?/^---\r?\n([\s\S]*?)\r?\n---/.exec(n):null,{scripts:r,markup:a}=gu(o?n.slice(o[0].length):n);o&&r.unshift(o[1]);let l=s!=="html"&&s!=="htm"&&s!=="md";return[...r.flatMap(i=>vn($i(i))),...uu(a,{llaves:l,astro:s==="astro"})].join(`
3371
- `)}default:return n}}function bl(e,n){let s=Ns(e,n);return s===n?n:[s,...n.match(/data-ts-[a-z0-9-]+/g)??[]].join(`
3372
- `)}var hu="@taishods/core",bu="./taisho.manifest.json",yu=1024*1024,Yt=(e,n,s="")=>new zt([{path:`extensions[${JSON.stringify(e)}]${s}`,...n}]),vu=(e,n)=>n.startsWith(e+Rt.sep);function yl(e,n,s,o){let r=Mt.realpathSync(s);if(!vu(n,r))throw Yt(e,{code:"manifest-path-escapes",params:{file:o}});if(!Mt.lstatSync(r).isFile())throw Yt(e,{code:"manifest-file-invalid",params:{file:o,reason:"not-file"}});let a=Mt.openSync(r,"r");try{if(Mt.fstatSync(a).size>yu)throw Yt(e,{code:"manifest-file-invalid",params:{file:o,reason:"too-big"}});return Mt.readFileSync(a,"utf8")}finally{Mt.closeSync(a)}}var vl=e=>Rt.isAbsolute(e)||e.split(/[\\/]/).includes(".."),Ps=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function Ls(e){if(Array.isArray(e))return e.map(Ls);if(!Ps(e))return e;let n=Object.create(null);for(let[s,o]of Object.entries(e))n[s]=Ls(o);return n}function ki(e){let n=Object.create(null);for(let s of e)s.estilos&&(n[s.nombre]=s.estilos);return n}function Kn(){let e=Rt.dirname(fu(import.meta.url));for(let n=0;n<5;n++){let s=Rt.join(e,"package.json");if(Mt.existsSync(s))return JSON.parse(Mt.readFileSync(s,"utf8")).version;e=Rt.dirname(e)}return"0.0.0"}function xu(e,n){if(e.core!==n)throw new Error(B().generate.coreDistinto(e.nombre,e.version,hu,e.core,n))}function xl(e,n){let s=new Set;for(let o of n){let r=o.replace(/^[./:]+|[./:]+$/g,""),a=Object.hasOwn(e,r)?r:r.split(".")[0];if(Object.hasOwn(e,a))for(let l of e[a])s.add(l)}return[...s]}function wu(e,n){for(let s=e;;s=Rt.dirname(s)){let o=Rt.join(s,"node_modules",n);if(Mt.existsSync(Rt.join(o,"package.json")))return o;if(Rt.dirname(s)===s)return null}}function Si(e,n){let s=Rt.join(e,"package.json");if(!Mt.existsSync(s))return[];let o=JSON.parse(Mt.readFileSync(s,"utf8")),r=new Set;for(let l of["dependencies","devDependencies","peerDependencies","optionalDependencies"])for(let i of Object.keys(o[l]??{}))r.add(i);let a=[];for(let l of[...r].sort()){let i=wu(e,l);if(!i)continue;let c=JSON.parse(Mt.readFileSync(Rt.join(i,"package.json"),"utf8")),d=c.exports?.[bu],u=typeof d=="string"?d:d?.default;if(typeof u!="string")continue;if(c.name!==l)throw Yt(l,{code:"package-name-mismatch",params:{name:String(c.name)}});let y=Mt.realpathSync(i),t=Rt.resolve(i,u);if(vl(u))throw Yt(l,{code:"manifest-path-escapes",params:{file:u}});let m,h=yl(l,y,t,u);try{m=JSON.parse(h)}catch{throw Yt(l,{code:"manifest-json",params:{file:u}})}if(!Ps(m))throw Yt(l,{code:"manifest-shape",params:{expected:"object"}});if(m.format!==3)throw Yt(l,{code:"manifest-format",params:{version:String(c.version),format:m.format}});let{core:g,componentFiles:b,extension:p}=m;if(!(typeof g=="string"&&Ps(b)&&Object.values(b).every(w=>Array.isArray(w)&&w.every(k=>typeof k=="string"))&&(p===void 0||Ps(p)&&(p.roots===void 0||Array.isArray(p.roots)&&p.roots.every(w=>typeof w=="string")))))throw Yt(l,{code:"manifest-shape",params:{expected:"{ format: 3, core: string, componentFiles: Record<string, string[]>, extension?: object }"}});let f={nombre:l,version:c.version,dir:Rt.dirname(t),core:g,componentes:Ls(b),...p!==void 0&&{estilos:Ls(p)},archivo:t,raiz:y};xu(f,n),a.push(f)}return a}function xn(e,n=Kn()){return ki(Si(e,n))}function wl(e,n){if(vl(n))throw Yt(e.nombre,{code:"manifest-path-escapes",params:{file:n}});return yl(e.nombre,e.raiz,Rt.join(e.dir,n),n)}import Tu from"node:fs";import $n from"node:path";import{fileURLToPath as Cu}from"node:url";import{build as Sl}from"esbuild";var wn={accordion:{pesado:!1,slugs:["accordion","collapsible"],ganchos:["data-ts-accordion"]},alertDialog:{pesado:!1,slugs:["alert-dialog"],ganchos:["data-ts-confirm"]},avatar:{pesado:!1,slugs:["avatar"],ganchos:["data-ts-avatar"]},button:{pesado:!1,slugs:["button"],funciones:{setButtonLoading:"cargando"}},campo:{pesado:!1,slugs:["input","textarea","field"],ganchos:["data-ts-input","data-ts-textarea","data-ts-debounce","data-ts-field-spinner"],funciones:{setInputLoading:"cargando",setTextareaLoading:"cargando"}},clear:{pesado:!1,ganchos:["data-ts-clear"]},clipboard:{pesado:!1,ganchos:["data-ts-copy","data-ts-copied"]},commandPalette:{pesado:!0,slugs:["command-palette"],ganchos:["data-ts-command","data-ts-empty-for","data-ts-keywords","data-ts-shortcut"],raices:["data-ts-command-palette","data-ts-command-open"],requiere:["listbox"]},datePicker:{pesado:!0,slugs:["date-picker"],ganchos:["data-ts-date","data-ts-day-marks","data-ts-disabled-dates","data-ts-disabled-weekdays","data-ts-granularity","data-ts-hour-cycle","data-ts-visible-months","data-ts-week","data-ts-end-text"],raices:["data-ts-date-picker"],funciones:{setDatePickerLoading:"cargando",setDatePickerDisabledDate:"deshabilitar"},requiere:["overlays"]},dismiss:{pesado:!1,slugs:["tag"],ganchos:["data-ts-dismiss"]},fileUpload:{pesado:!0,slugs:["file-upload"],ganchos:["data-ts-file","data-ts-max-size"],raices:["data-ts-file-upload"]},invokers:{pesado:!1,slugs:["modal","drawer","alert-dialog"],ganchos:["commandfor","closedby"]},invalid:{pesado:!0,slugsSafelist:["field"],funciones:{markInvalid:"markInvalid",clearInvalid:"clearInvalid"}},listbox:{pesado:!0},medidas:{pesado:!1,slugs:["aspect-ratio","scroll-area"],ganchos:["data-ts-ratio","data-ts-max-height","data-ts-max-width"]},menu:{pesado:!1,slugs:["menu","context-menu"],ganchos:["data-ts-menu","data-ts-context-menu"]},numberInput:{pesado:!0,slugs:["number-input"],ganchos:["data-ts-number","data-ts-allow-wheel","data-ts-large-step"],raices:["data-ts-number"],funciones:{setNumberInputLoading:"cargando"}},opcion:{pesado:!1,slugs:["checkbox","radio","toggle"],ganchos:["data-ts-checkbox-group","data-ts-select-all"]},overlays:{pesado:!1,slugs:["popover","tooltip"],ganchos:["data-ts-tooltip","data-ts-placement","data-ts-autofocus"]},pagination:{pesado:!0,slugs:["pagination","pager"],ganchos:["data-ts-pagination","data-ts-page","data-ts-total","data-ts-items","data-ts-siblings","data-ts-boundaries","data-ts-label"],raices:["data-ts-pagination"]},progress:{pesado:!1,slugs:["progress"],ganchos:["data-progress-fill"]},scrollspy:{pesado:!1,slugs:["toc"],ganchos:["data-ts-scrollspy","data-ts-offset"]},segmented:{pesado:!1,slugs:["segmented-control"],ganchos:["data-ts-segmented"]},select:{pesado:!0,slugs:["select","combobox"],ganchos:["data-ts-select","data-ts-combobox","data-ts-listbox","data-ts-async","data-ts-allow-custom","data-ts-required-proxy","data-ts-count-suffix","data-ts-listbox-native"],raices:["data-ts-listbox","data-ts-combobox"],funciones:{setComboboxLoading:"cargando",setSelectLoading:"cargando"},requiere:["listbox"]},sidebar:{pesado:!1,slugs:["sidebar"],ganchos:["data-ts-sidebar","data-ts-breakpoint","data-ts-persist-key"]},slider:{pesado:!0,slugs:["slider"],ganchos:["data-ts-slider"],raices:["data-ts-slider"]},spotlight:{pesado:!1,ganchos:["data-ts-spotlight"]},table:{pesado:!0,slugs:["table"],ganchos:["data-ts-table","data-ts-cell","data-ts-key","data-ts-row","data-ts-th","data-ts-sort"],raices:["data-ts-table"]},tabs:{pesado:!1,slugs:["tabs"],ganchos:["data-ts-tabs"]},toast:{pesado:!1,slugs:["toast"],ganchos:["data-ts-toast"],funciones:{toast:"toast",updateToast:"updateToast",clearToasts:"clearToasts"}},toggle:{pesado:!1,slugs:["nav-bar","breadcrumbs"],ganchos:["data-ts-toggle"]}};var Xn=Object.keys(wn),Ti=e=>e.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`),Ae=e=>wn[e],$u=(e,n)=>e===n||e.startsWith(`${n}-`);function ku(e){return Xn.filter(n=>Ae(n).ganchos?.some(s=>$u(e,s)))}function $l(e){let n=new Set(e);for(let s of n)for(let o of Ae(s).requiere??[])n.add(o);return Xn.filter(s=>n.has(s))}function kl(e,n,s){let o=new Set(Ci(n));for(let r of e)if(r.startsWith("data-ts-"))for(let a of ku(r))o.add(a);for(let r of Xn){let a=Ae(r);a.funciones&&Object.keys(a.funciones).some(l=>Su(s,l))&&o.add(r),a.ganchos?.some(l=>!l.startsWith("data-ts-")&&s.includes(l))&&o.add(r)}return[...o]}function Ci(e,n=!1){let s=new Set(e);return Xn.filter(o=>Ae(o).slugs?.some(r=>s.has(r))||n&&Ae(o).slugsSafelist?.some(r=>s.has(r)))}function Su(e,n){return new RegExp(`(?<![\\w$.-])${n}(?![\\w$-])\\s*(?:\\(|\\.|,|\\}|as\\s)|\\.${n}(?![\\w$-])|['"\`]${n}['"\`]`).test(e)}var by=Xn.filter(e=>Ae(e).pesado&&Ae(e).raices).map(e=>({modulo:e,raices:Ae(e).raices}));var ji=["chrome124","edge124","firefox125","safari17.4","ios17.4"];function Tl(){let e=$n.dirname(Cu(import.meta.url)),n=$n.join(e,"core-modules");return Tu.existsSync(n)?n:$n.resolve(e,"../lib/core")}var ju=e=>{let n=wn[e];return n.slugs??n.slugsSafelist??[]},_s="taisho.core.key-warning.js";function zu(e,n){let s=i=>JSON.stringify($n.join(n,i).split($n.sep).join("/")),o=new Set(e),r=[`import { iniciar } from ${s("nucleo")};`,`import { avisarVersiones } from ${s("version")};`,`import { pedirAvisoLlave } from ${s("desarrollo-local")};`,`import { m } from ${s("registro")};`],a=e.filter(i=>i!=="invalid");for(let i of a)r.push(`import { ficha as ${i} } from ${s(Ti(i))};`);r.push(`Object.assign(m, { ${a.join(", ")} });`),r.push(`export { nextIndex } from ${s("roving")};`),r.push(`export { setTexts } from ${s("textos")};`);let l=!1;for(let i of Object.keys(wn)){let c=wn[i].funciones;if(c){if(o.has(i)){r.push(`export { ${Object.entries(c).map(([d,u])=>d===u?d:`${u} as ${d}`).join(", ")} } from ${s(Ti(i))};`);continue}for(let d of Object.keys(c))r.push(`export const ${d} = falta(${JSON.stringify(d)}, ${JSON.stringify(ju(i)[0]??"")});`);l=!0}}return l&&r.push("function falta(nombre, slug) { return () => { throw new Error(`taisho: ${nombre}() no entr\xF3 a taisho.core.js porque nada de tu contenido lo nombra. Se suma ${slug ? `safelist: ['${slug}'] en tu taisho.config.ts` : 'a `content` de tu taisho.config.ts el archivo que la llama'}.`); }; }"),r.push(`export function init(root = document) { avisarVersiones(); if (root.getRootNode() === document) pedirAvisoLlave(() => import('./${_s}')); iniciar(root); return Promise.resolve(); }`,"if (typeof document !== 'undefined') {"," if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', () => init());"," else init();","}"),r.join(`
3373
- `)}async function Cl(e){let n=Tl(),{outputFiles:s}=await Sl({stdin:{contents:zu(e,n),resolveDir:n,loader:"ts"},bundle:!0,format:"esm",target:ji,minify:!0,write:!1,legalComments:"none",logLevel:"silent",external:[`./${_s}`],banner:{js:`/* TaishoDS \u2014 ${We} */`},define:{__TAISHO_CORE_VERSION__:JSON.stringify(Hn)}});return s[0].text}async function jl(){let e=Tl(),{outputFiles:n}=await Sl({entryPoints:[$n.join(e,"aviso-llave")],bundle:!0,format:"esm",target:ji,minify:!0,write:!1,outdir:"salida",legalComments:"none",logLevel:"silent",banner:{js:`/* TaishoDS \u2014 ${We} */`},define:{__TAISHO_CORE_VERSION__:JSON.stringify(Hn)}});return n[0].text}var zi=(e,n,s)=>{let o=s?bl(e,n):n;return{raw:n,clases:o,tokens:dn(o),vars:n.match(/--[a-zA-Z][\w-]*/g)??[],uso:bi(e,n)}},Ei="taisho.classes.d.ts",Rl=e=>e.split(Pt.sep).join("/"),Fs=e=>JSON.stringify([e.file,e.line,e.code,e.params]);function Vs(e,n){let{targetDir:s,cwd:o,configDir:r=o,soloSiCambia:a=!1,versionCore:l=Kn()}=n,i={cssArmados:0,cssMinificados:0,temasPodados:0,spritesArmados:0,jsArmados:0},c=e,d,u,y,t=()=>(u??=Si(o,l),y??=ki(u)),m=()=>{let N=t(),z=Et(c,N),C=Se(c,z,N),L=z.themeEntries.map(X=>{let $=xe(X,z.userFonts,z.defaultStates,z.userScales,N);return{key:X.group==="root"?X.name:`${X.group}-${X.name}`,avisos:[...$.warnings,...ja(X,z.defaultStates)],completo:we($,c.darkMode),secciones:Zo($)}});li(c.fontFaces,o);let G=Wa(c,z,C,N);return{vocab:C,tipos:G.length?ni(G.map(X=>`ts-${X}`)):null,temas:L,fonts:Cs(c.fontFaces,ai(c.fontFaces,o)),plano:Lo({reset:C.reset,atomic:C.atomic,utilities:C.utilities,components:C.components,scales:C.userScales,userUtilities:C.userUtilities}),datosAvisos:fi(C),vecinos:new Map,completo:void 0}},h,g,b=Pt.resolve(o,de),p=new Map,v=new Map,f=new Map,w,k,I,D,W,J=new Set,Z=N=>Rl(Pt.relative(r,Pt.resolve(r,N))),M=N=>{let z=Pt.resolve(r,N);return z.startsWith(b+Pt.sep)&&z.endsWith(".svg")};function q(N){if(!N||N.configCambio!==void 0){let C=new Map;for(let L of Re({globs:c.content,baseDir:r,outDir:s})){let G=v.get(L.file);C.set(L.file,G&&G.raw===L.content?G:zi(L.file,L.content,!0))}v=C;return}for(let C of N.bajas??[])v.delete(Z(C));for(let C of[...N.cambiados??[],...N.altas??[]]){let L=Z(C);if(!N.altas?.includes(C)&&!v.has(L))continue;let X=Pt.resolve(r,C);if(!ue.existsSync(X)||!ue.statSync(X).isFile()){v.delete(L);continue}let $=ue.readFileSync(X,"utf8"),E=v.get(L);(!E||E.raw!==$)&&v.set(L,zi(L,$,!0))}}function F(){t();let N=u;if(!N.length)return[];let z=new Set(v.keys()),C=[];return N.forEach((L,G)=>{let X=new Set;for(let $ of v.values()){if(!$.deLosPaquetes){let E=new Set(dn($.raw));$.deLosPaquetes=N.map(x=>xl(x.componentes,E))}for(let E of $.deLosPaquetes[G])X.add(E)}for(let $ of X){let E=Pt.join(L.dir,$),x=Rl(Pt.relative(r,E));if(z.has(x))continue;z.add(x);let j=p.get(E);j===void 0&&p.set(E,j=Ns(E,wl(L,$)));let A=f.get(x);(!A||A.raw!==j)&&f.set(x,A=zi(x,j,!1)),C.push([x,A])}}),C}function P(N,z,C){let L=E=>new Set(E.flatMap(x=>[...x.matchAll(/^\s*(--[\w-]+)\s*:/gm)].map(j=>j[1]))),G=L(z),X=L(C),$=[];for(let E of Zn({globs:["**/*.css"],baseDir:r,outDir:s,excluir:["dist","build","coverage"]})){if(N.has(E))continue;let x=ue.readFileSync(Pt.resolve(r,E),"utf8"),j=[...new Set([...x.matchAll(/var\(\s*(--[\w-]+)/g)].map(A=>A[1]))].filter(A=>G.has(A)&&!X.has(A));j.length&&$.push({code:"css-outside-content",params:{variables:j.slice(0,3)},file:E})}return $}async function T(N){let z=zl.now();if(N?.configCambio){c=N.configCambio,d=void 0,u=y=void 0,p.clear(),f.clear();for(let tt of v.values())tt.analisis=tt.avisos=tt.modulos=tt.deLosPaquetes=void 0;w=k=D=void 0}let C=d??=m(),{vocab:L}=C,G=c.content!==void 0;[...N?.cambiados??[],...N?.altas??[],...N?.bajas??[]].some(M)&&(g=void 0,I=void 0);let $=[],E=[],x,j,A,O=null;if(G){q(N),E=F(),$=[...v];let tt=[...$,...E].sort(([U],[ut])=>U<ut?-1:U>ut?1:0),S=tt.map(([U,ut])=>ut.analisis??=oi(L,U,ut.tokens,!0)),{variantes:R,planas:H,warnings:it,forzadas:$t}=zs(L,c,S,!0);A=[...it];let lt=_o(C.plano,{usadas:H,forzadas:$t}),_t=new Set(tt.flatMap(([,U])=>U.vars).filter(U=>/^--ts-(?:lh|ls)-/.test(U))),Ft=`${lt.map(U=>U.name).join(`
3374
- `)}\0${[...R].join(`
3375
- `)}\0${[..._t].sort().join(" ")}`;if(w?.clave!==Ft){let U=`/* TaishoDS \u2014 ${We} */
3376
- `+Fo(C.plano,{variantesUsadas:R,usadas:H,forzadas:$t,varsDelProyecto:_t});i.cssArmados++;let{code:ut}=await El(U,{loader:"css",minify:!0});i.cssMinificados++,w={clave:Ft,css:U,min:ut}}({css:x,min:j}=w);let ct=new Set(Ci(zs(L,c,[],!0).enteros,!0));for(let[,U]of $){U.modulos??=kl(U.tokens,U.analisis.enteros,U.raw);for(let ut of U.modulos)ct.add(ut)}let St=$l(ct),At=St.join(",");D?.clave!==At&&(D={clave:At,js:await Cl(St)},i.jsArmados++),O=D.js}else{if(v=new Map,!C.completo){let{css:tt,warnings:S}=ii(c,[],{extensions:y});i.cssArmados++;let{code:R}=await El(tt,{loader:"css",minify:!0});i.cssMinificados++,C.completo={css:tt,min:R,warnings:S}}({css:x,min:j}=C.completo),A=C.completo.warnings}let V=G?"taisho.css":"taisho.full.css",et=[...$,...E].map(([,tt])=>tt),nt=C.temas.map(tt=>C.temas.length===1?"theme.css":`theme-${tt.key}.css`),rt;if(G){let tt=new Set(wo);for(let R of et)for(let H of R.vars)tt.add(H);let S=[...tt].sort().join(" ");(k?.css!==x||k.vars!==S)&&(i.temasPodados++,k={css:x,vars:S,temas:C.temas.map(R=>ko(Ea(x)?R.completo+R.secciones:R.completo,x,tt))}),rt=k.temas}else rt=C.temas.map(tt=>tt.completo+tt.secciones);let K;if(G){let tt=et.map(R=>R.uso),S=`${(c.icons??[]).join(",")}\0${tt.map(R=>`${R.soloAviso?1:0}${[...R.nombres].join(",")}`).join(`
3377
- `)}`;I?.huella!==S?(h??=yi(o),g??=vi(o,de),K=xi({...h,customIcons:g},tt,c.icons??[],de),i.spritesArmados++,I={huella:S,sprite:K}):K=I.sprite}else K=fl({skip:s,customIconsDir:de,cwd:o,safelist:c.icons});let ot=new Set(E.map(([tt])=>tt)),dt=[...C.temas.flatMap(tt=>tt.avisos),...A.filter(tt=>tt.file===void 0||!ot.has(tt.file))];if(G){let tt=new Map;for(let[S,R]of $){R.avisos??=hi({file:S,content:R.raw},C.datosAvisos,C.vecinos).map(({code:H,params:it,file:$t,line:lt})=>({code:H,params:it,file:$t,line:lt}));for(let H of R.avisos)tt.has(Fs(H))||tt.set(Fs(H),H)}dt.push(...tt.values()),dt.push(...P(new Set($.map(([S])=>S)),C.temas.map(S=>S.completo),rt))}let st=[["fonts.css",C.fonts]];nt.forEach((tt,S)=>st.push([tt,rt[S]])),st.push([V,j]),O!==null&&(st.push(["taisho.core.js",O]),W??=await jl(),st.push([_s,W]));let kt=K.includes("<symbol")?"taisho.icons.svg":null;kt&&st.push([kt,K]);let Ze=C.tipos===null?null:Ei;C.tipos!==null&&st.push([Ei,C.tipos]),ue.mkdirSync(s,{recursive:!0}),Ze===null&&ue.rmSync(Pt.join(s,Ei),{force:!0});let os=[];for(let[tt,S]of st){let R=Pt.join(s,tt);a&&ue.existsSync(R)&&ue.readFileSync(R,"utf8")===S||(ue.writeFileSync(R,S),os.push(tt))}let Xs=dt.filter(tt=>!J.has(Fs(tt)));return J=new Set(dt.map(Fs)),{temas:nt,fonts:"fonts.css",sistema:V,js:O,iconos:kt,tipos:Ze,warnings:dt,escritos:os,contenido:G?[...$,...E].map(([tt])=>tt):[],avisosNuevos:Xs,ms:zl.now()-z}}return{actualizar:T,stats:i,get manifiestos(){return(u??[]).map(N=>N.archivo)}}}async function Al(e,n){let{avisosNuevos:s,ms:o,...r}=await Vs(e,n).actualizar();return r}function wt(e){return e instanceof zt?e.errors.map(n=>Nn(n,xt())).join(`
3378
- `):e instanceof Error?e.message:e}var Au="taisho";function Ht(e){let n=Yn.relative(process.cwd(),e);return n.startsWith("..")?e:n||"."}function He(e){if(!e||typeof e!="object")return!1;let n=e.themes;return!!n&&typeof n=="object"&&Object.keys(n).length>0}async function Ge(e){let s=await Ru(import.meta.url,{moduleCache:!1}).import(e);return s.default??s.config}async function Ws(e,n){if(!Eu.existsSync(e))throw new Error(B().config.noEncontradaInit(Ht(e)));let s;try{s=await Ge(e)}catch(o){throw new Error(B().config.noCargoCon(Ht(e),String(o instanceof Error?o.message:o)),{cause:o})}if(!He(s))throw new Error(B().config.invalidaDetalle(Ht(e)));return yt(n,s),s}async function Dl(e){let n=Yn.resolve(process.cwd(),e.configPath??"taisho.config.ts");yt(e.lang);let s;try{s=await Ws(n,e.lang)}catch(i){console.error(wt(i)),process.exitCode=1;return}let o=process.cwd(),r=Yn.resolve(o,e.outDir??Au);console.log(B().generate.compilando(Ht(n)));let a;try{a=await Al(s,{targetDir:r,cwd:o,configDir:Yn.dirname(n)})}catch(i){console.error(wt(i)),process.exitCode=1;return}for(let i of a.warnings)console.warn(`\u26A0 ${Ue(i,xt())}`);e.strict&&a.warnings.length&&(console.error(B().generate.estricto(a.warnings.length)),process.exitCode=1);let l=i=>Ht(Yn.join(r,i));console.log(B().generate.generado(Ht(r))),console.log(B().generate.pegar),console.log(` <link rel="stylesheet" href="${l(a.fonts)}">`);for(let i of a.temas)console.log(` <link rel="stylesheet" href="${l(i)}">`);console.log(` <link rel="stylesheet" href="${l(a.sistema)}">`),console.log(` <script type="module" src="${a.js===null?"node_modules/@taishods/core/core.js":l("taisho.core.js")}"></script>`),a.iconos&&(console.log(B().generate.iconos),console.log(` <svg><use href="${l(a.iconos)}${B().generate.usoIcono}"></use></svg>`)),a.tipos&&console.log(B().generate.tipos(l(a.tipos)))}import Hs from"node:fs";import ge from"node:path";var Je={locked:!0,colors:{brand:"#3b82f6","brand-secondary":"#84cc16",accent:"#f59e0b"},primary:"oklch(0.15 0 0)",focusRing:"light-dark(var(--color-grayAlpha-700), var(--color-grayAlpha-600))"};var Us={success:"#1A9338",warning:"#E79C13",info:"#0091FF",danger:"#E5484D"},Du=[{name:"taisho",group:"root",def:Je}],Ol=Object.fromEntries(Du.flatMap(e=>Object.entries(e.def.colors)));var Ou=/\bclass\s*=\s*("[^"]*"|'[^']*')|("(?:[^"\\\n]|\\.)*"|'(?:[^'\\\n]|\\.)*'|`(?:[^`\\]|\\.)*`)/g,Mu=/classList\.(add|remove|toggle|contains|replace)\(\s*(?:[^()]*,\s*)?$/;function Bs(e,n){let s=n.literal??Ou,o=0;function r(l,i,c){return l.replace(s,(d,u,y,t)=>{let m=d.slice(0,d.search(/["'`]/)),h=i+t+m.length;if(n.protegido(h))return d;let g=d[m.length],b=d.slice(m.length+1,-1),p=h+1,v=m!=="";if(!v&&/<[A-Za-z][^>]*\bclass\s*=\s*["'{]/.test(b))return`${g}${r(b,p,c)}${g}`;let f=v?"{":g==="`"?"${":null,w=[],k=0;for(;f;){let P=b.indexOf(f,k);if(P<0)break;let T=1,N=P+f.length;for(;N<b.length&&T>0;N++)b[N]==="{"?T++:b[N]==="}"&&T--;if(T>0)return d;w.push({texto:b.slice(k,P),desde:k,expresion:!1}),w.push({texto:b.slice(P+f.length,N-1),desde:P+f.length,expresion:!0}),k=N}w.push({texto:b.slice(k),desde:k,expresion:!1});let I=w.filter(P=>!P.expresion).map(P=>P.texto),D=I.flatMap(P=>[...P.matchAll(n.tokenizador)]),W=Xt(e,h),J={fuente:e,abs:h,prefijo:m,esAtributo:v,comilla:g,contenido:b,estaticas:I,tieneLlave:I.some(P=>/(?:^|\s)ts(?:\s|$)/.test(P)),conocidos:D.filter(n.reconoce),tokens:D,etiqueta:W,enComponente:!!W&&Ve(W.nombre),classList:Mu.exec(e.slice(Math.max(0,h-80),h)),llaveDelContenedor:c},Z=n.politica(J);if(!Z.convertir)return d;if(Z.dentro)return`${m}${g}${r(b,p,Z.heredaLlave)}${g}`;let M=!0,q=w.map(P=>{let T=p+P.desde;if(P.expresion)return r(P.texto,T,Z.heredaLlave);let N=P.desde>0,z=P.desde+P.texto.length<b.length;return P.texto.replace(n.tokenizador,(C,L,G,X)=>{let $=N&&X===0||z&&X+C.length===P.texto.length,E=n.token({token:C,variante:L,nombre:G,pos:T+X,l\u00EDnea:n.lineaDe(T+X),pegado:$,literal:J});if(E===null)return C;let x=Z.llave&&M?"ts ":"";return x&&o++,M=!1,`${x}${E}`})}),F="";return w.forEach((P,T)=>{P.expresion?F+=`${f}${q[T]}}`:F+=q[T]}),`${m}${g}${F}${g}`})}return{texto:r(e,0,!1),llaves:o}}function kn(e,n={}){let s=Et(e,n),{userGridMins:o,userScales:r}=s,a={...Ol,...s.userColors},l={...Us,...s.userStates},i=Vt(Jt(a,l),o,r),c=_e(n),d=Nt(r)+c.utilities,u=Zt(a,l,r)+c.components,y=[i,d,u].flatMap(h=>pt(h).map(g=>g.name.replaceAll("\\",""))),t=Ct([i,d,u].flatMap(h=>pt(h).map(g=>g.name))),m=new Set;for(let h of y)gt(h)||m.add(h);for(let h of t.values())m.add(h);for(let h of[i,d,u])for(let g of h.matchAll(/\.(ts-[A-Za-z0-9_-]+)/g))gt(g[1])||m.add(g[1]);return m.add("ts-compact"),{nombres:m,mapa:dr(ps(y))}}var qu=/(?<![^\s"'`([,>])((?:@?[a-z0-9-]+:)*)(ts-[A-Za-z0-9/-]*[A-Za-z0-9])(?![A-Za-z0-9_/-])(?!\$\{)/g,Iu=e=>{let n=[];for(let s of e.matchAll(/<!--[\s\S]*?(?:-->|$)|<script\b[^>]*>[\s\S]*?(?:<\/script>|$)|<style\b[^>]*>[\s\S]*?<\/style>/g))s[0].startsWith("<style")&&n.push([s.index,s.index+s[0].length]);return n};function Ml(e,{vocabulario:n,esCss:s=!1}){let{nombres:o}=n,r=[],a=new Set,l=(v,f,w)=>{let k=`${v}:${f}:${w}`;a.has(k)||(a.add(k),r.push({l\u00EDnea:v,token:f,tipo:w}))},i=pr(e,n.mapa),c=i.texto;for(let v of i.sinSucesor)l(v.linea,v.viejo,"no-replacement");for(let v of i.posibles)l(v.linea,v.token,"possible-class");let d=[];for(let v=c.indexOf(`
3370
+ `;)r+=e[r]==="\\"?2:1;n.push(e.slice(s+1,r)),s=r}else if(o==="`"){let r=s+1,a=0;for(;r<e.length&&!(e[r]==="`"&&a===0);)e[r]==="\\"?r++:e[r]==="$"&&e[r+1]==="{"?(a++,r++):e[r]==="}"&&a>0&&a--,r++;n.push(e.slice(s+1,r)),s=r}}return n}function Ti(e,n="ts"){try{let{transformSync:s}=hu("esbuild");return s(e,{loader:n,target:"esnext",...n==="tsx"?{jsx:"preserve"}:{}}).code}catch{return e}}function wl(e,n){let s=1,o=n;for(;o<e.length&&s>0;){let r=e[o];if(r==='"'||r==="'"||r==="`"){let a=o+1;for(;a<e.length&&e[a]!==r;)a+=e[a]==="\\"?2:1;o=a+1;continue}r==="{"?s++:r==="}"&&s--,o++}return{strings:jn(e.slice(n,o-1)),fin:o}}var Ws=/(\[|:|v-bind:|x-bind:)?([A-Za-z_][\w.:-]*)\]?\s*=\s*(?:(["'])|([^\s"'`=<>{}]+?)(?=\/?>|\s|$))/y;function wu(e,{llaves:n,astro:s=!1}){let o=[];for(let r=0;r<e.length;){if(e.startsWith("<!--",r)){let c=e.indexOf("-->",r);r=c===-1?e.length:c+3;continue}if(n&&e[r]==="{"){let c=wl(e,r+1);o.push(...c.strings),r=c.fin;continue}let a=/^class:([A-Za-z0-9_-]+)/.exec(e.slice(r,r+80));if(a&&/[\s"'}]/.test(e[r-1]??" ")){s&&a[1]==="list"||o.push(a[1]),r+=a[0].length;continue}let l=/^\[class\.([A-Za-z0-9_-]+)\]/.exec(e.slice(r,r+80));if(l&&/\s/.test(e[r-1]??" ")){o.push(l[1]),r+=l[0].length;continue}Ws.lastIndex=r;let i=/\s/.test(e[r-1]??" ")?Ws.exec(e):null;if(i&&Vs(i[2])){if(i[4]!==void 0){o.push(i[4]),r=Ws.lastIndex;continue}let c=Ws.lastIndex,d="";for(;c<e.length&&e[c]!==i[3];)if(n&&e[c]==="{"){let u=wl(e,c+1);o.push(...u.strings),d+=e.slice(c,u.fin),c=u.fin}else d+=e[c++];i[1]?o.push(...jn(d)):o.push(d),r=c+1;continue}r++}return o}function $u(e){let n=[],s=e.replace(/<script\b[^>]*>([\s\S]*?)<\/script>/g,(o,r)=>(n.push(r),"")).replace(/<style\b[^>]*>[\s\S]*?<\/style>/g,"");return{scripts:n,markup:s}}var ku=e=>e.replace(/(?<![\w$.:-])([A-Za-z_][\w:-]*)=(["'])[^\n]*?\2/g,(n,s)=>Vs(s)?n:"");function Us(e,n){let s=/\.([A-Za-z0-9]+)$/.exec(e)?.[1].toLowerCase();switch(s){case"css":return"";case"js":case"mjs":case"cjs":return jn(n).join(`
3371
+ `);case"ts":case"mts":case"cts":return jn(Ti(n)).join(`
3372
+ `);case"jsx":case"tsx":return jn(ku(Ti(n,"tsx"))).join(`
3373
+ `);case"html":case"htm":case"md":case"svelte":case"vue":case"astro":case"mdx":{let o=s==="astro"?/^---\r?\n([\s\S]*?)\r?\n---/.exec(n):null,{scripts:r,markup:a}=$u(o?n.slice(o[0].length):n);o&&r.unshift(o[1]);let l=s!=="html"&&s!=="htm"&&s!=="md";return[...r.flatMap(i=>jn(Ti(i))),...wu(a,{llaves:l,astro:s==="astro"})].join(`
3374
+ `)}default:return n}}function $l(e,n){let s=Us(e,n);return s===n?n:[s,...n.match(/data-ts-[a-z0-9-]+/g)??[]].join(`
3375
+ `)}var Cu="@taishods/core",Tu="./taisho.manifest.json",ju=1024*1024,te=(e,n,s="")=>new zt([{path:`extensions[${JSON.stringify(e)}]${s}`,...n}]),zu=(e,n)=>n.startsWith(e+Rt.sep);function kl(e,n,s,o){let r=qt.realpathSync(s);if(!zu(n,r))throw te(e,{code:"manifest-path-escapes",params:{file:o}});if(!qt.lstatSync(r).isFile())throw te(e,{code:"manifest-file-invalid",params:{file:o,reason:"not-file"}});let a=qt.openSync(r,"r");try{if(qt.fstatSync(a).size>ju)throw te(e,{code:"manifest-file-invalid",params:{file:o,reason:"too-big"}});return qt.readFileSync(a,"utf8")}finally{qt.closeSync(a)}}var Sl=e=>Rt.isAbsolute(e)||e.split(/[\\/]/).includes(".."),Bs=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function Hs(e){if(Array.isArray(e))return e.map(Hs);if(!Bs(e))return e;let n=Object.create(null);for(let[s,o]of Object.entries(e))n[s]=Hs(o);return n}function ji(e){let n=Object.create(null);for(let s of e)s.estilos&&(n[s.nombre]=s.estilos);return n}function os(){let e=Rt.dirname(Su(import.meta.url));for(let n=0;n<5;n++){let s=Rt.join(e,"package.json");if(qt.existsSync(s))return JSON.parse(qt.readFileSync(s,"utf8")).version;e=Rt.dirname(e)}return"0.0.0"}function Eu(e,n){if(e.core!==n)throw new Error(H().generate.coreDistinto(e.nombre,e.version,Cu,e.core,n))}function Cl(e,n){let s=new Set;for(let o of n){let r=o.replace(/^[./:]+|[./:]+$/g,""),a=Object.hasOwn(e,r)?r:r.split(".")[0];if(Object.hasOwn(e,a))for(let l of e[a])s.add(l)}return[...s]}function Ru(e,n){for(let s=e;;s=Rt.dirname(s)){let o=Rt.join(s,"node_modules",n);if(qt.existsSync(Rt.join(o,"package.json")))return o;if(Rt.dirname(s)===s)return null}}function zi(e,n){let s=Rt.join(e,"package.json");if(!qt.existsSync(s))return[];let o=JSON.parse(qt.readFileSync(s,"utf8")),r=new Set;for(let l of["dependencies","devDependencies","peerDependencies","optionalDependencies"])for(let i of Object.keys(o[l]??{}))r.add(i);let a=[];for(let l of[...r].sort()){let i=Ru(e,l);if(!i)continue;let c=JSON.parse(qt.readFileSync(Rt.join(i,"package.json"),"utf8")),d=c.exports?.[Tu],u=typeof d=="string"?d:d?.default;if(typeof u!="string")continue;if(c.name!==l)throw te(l,{code:"package-name-mismatch",params:{name:String(c.name)}});let y=qt.realpathSync(i),t=Rt.resolve(i,u);if(Sl(u))throw te(l,{code:"manifest-path-escapes",params:{file:u}});let m,h=kl(l,y,t,u);try{m=JSON.parse(h)}catch{throw te(l,{code:"manifest-json",params:{file:u}})}if(!Bs(m))throw te(l,{code:"manifest-shape",params:{expected:"object"}});if(m.format!==3)throw te(l,{code:"manifest-format",params:{version:String(c.version),format:m.format}});let{core:g,componentFiles:b,extension:p}=m;if(!(typeof g=="string"&&Bs(b)&&Object.values(b).every(w=>Array.isArray(w)&&w.every(k=>typeof k=="string"))&&(p===void 0||Bs(p)&&(p.roots===void 0||Array.isArray(p.roots)&&p.roots.every(w=>typeof w=="string")))))throw te(l,{code:"manifest-shape",params:{expected:"{ format: 3, core: string, componentFiles: Record<string, string[]>, extension?: object }"}});let f={nombre:l,version:c.version,dir:Rt.dirname(t),core:g,componentes:Hs(b),...p!==void 0&&{estilos:Hs(p)},archivo:t,raiz:y};Eu(f,n),a.push(f)}return a}function zn(e,n=os()){return ji(zi(e,n))}function Tl(e,n){if(Sl(n))throw te(e.nombre,{code:"manifest-path-escapes",params:{file:n}});return kl(e.nombre,e.raiz,Rt.join(e.dir,n),n)}import Gs from"node:fs";import he from"node:path";import{fileURLToPath as El}from"node:url";import{build as Rl}from"esbuild";var En={accordion:{pesado:!1,slugs:["accordion","collapsible"],ganchos:["data-ts-accordion"]},alertDialog:{pesado:!1,slugs:["alert-dialog"],ganchos:["data-ts-confirm"]},avatar:{pesado:!1,slugs:["avatar"],ganchos:["data-ts-avatar"]},button:{pesado:!1,slugs:["button"],funciones:{setButtonLoading:"cargando"}},campo:{pesado:!1,slugs:["input","textarea","field"],ganchos:["data-ts-input","data-ts-textarea","data-ts-debounce","data-ts-field-spinner"],funciones:{setInputLoading:"cargando",setTextareaLoading:"cargando"}},clear:{pesado:!1,ganchos:["data-ts-clear"]},clipboard:{pesado:!1,ganchos:["data-ts-copy","data-ts-copied"]},commandPalette:{pesado:!0,slugs:["command-palette"],ganchos:["data-ts-command","data-ts-empty-for","data-ts-keywords","data-ts-shortcut"],raices:["data-ts-command-palette","data-ts-command-open"],requiere:["listbox"]},datePicker:{pesado:!0,slugs:["date-picker"],ganchos:["data-ts-date","data-ts-day-marks","data-ts-disabled-dates","data-ts-disabled-weekdays","data-ts-granularity","data-ts-hour-cycle","data-ts-visible-months","data-ts-week","data-ts-end-text"],raices:["data-ts-date-picker"],funciones:{setDatePickerLoading:"cargando",setDatePickerDisabledDate:"deshabilitar"},requiere:["overlays"]},dismiss:{pesado:!1,slugs:["tag"],ganchos:["data-ts-dismiss"]},fileUpload:{pesado:!0,slugs:["file-upload"],ganchos:["data-ts-file","data-ts-max-size"],raices:["data-ts-file-upload"]},invokers:{pesado:!1,slugs:["modal","drawer","alert-dialog"],ganchos:["commandfor","closedby"]},invalid:{pesado:!0,slugsSafelist:["field"],funciones:{markInvalid:"markInvalid",clearInvalid:"clearInvalid"}},listbox:{pesado:!0},medidas:{pesado:!1,slugs:["aspect-ratio","scroll-area"],ganchos:["data-ts-ratio","data-ts-max-height","data-ts-max-width"]},menu:{pesado:!1,slugs:["menu","context-menu"],ganchos:["data-ts-menu","data-ts-context-menu"]},numberInput:{pesado:!0,slugs:["number-input"],ganchos:["data-ts-number","data-ts-allow-wheel","data-ts-large-step"],raices:["data-ts-number"],funciones:{setNumberInputLoading:"cargando"}},opcion:{pesado:!1,slugs:["checkbox","radio","toggle"],ganchos:["data-ts-checkbox-group","data-ts-select-all"]},overlays:{pesado:!1,slugs:["popover","tooltip"],ganchos:["data-ts-tooltip","data-ts-placement","data-ts-autofocus"]},pagination:{pesado:!0,slugs:["pagination","pager"],ganchos:["data-ts-pagination","data-ts-page","data-ts-total","data-ts-items","data-ts-siblings","data-ts-boundaries","data-ts-label"],raices:["data-ts-pagination"]},progress:{pesado:!1,slugs:["progress"],ganchos:["data-progress-fill"]},scrollspy:{pesado:!1,slugs:["toc"],ganchos:["data-ts-scrollspy","data-ts-offset"]},segmented:{pesado:!1,slugs:["segmented-control"],ganchos:["data-ts-segmented"]},select:{pesado:!0,slugs:["select","combobox"],ganchos:["data-ts-select","data-ts-combobox","data-ts-listbox","data-ts-async","data-ts-allow-custom","data-ts-required-proxy","data-ts-count-suffix","data-ts-listbox-native"],raices:["data-ts-listbox","data-ts-combobox"],funciones:{setComboboxLoading:"cargando",setSelectLoading:"cargando"},requiere:["listbox"]},sidebar:{pesado:!1,slugs:["sidebar"],ganchos:["data-ts-sidebar","data-ts-breakpoint","data-ts-persist-key"]},slider:{pesado:!0,slugs:["slider"],ganchos:["data-ts-slider"],raices:["data-ts-slider"]},spotlight:{pesado:!1,ganchos:["data-ts-spotlight"]},table:{pesado:!0,slugs:["table"],ganchos:["data-ts-table","data-ts-cell","data-ts-key","data-ts-row","data-ts-th","data-ts-sort"],raices:["data-ts-table"]},tabs:{pesado:!1,slugs:["tabs"],ganchos:["data-ts-tabs"]},toast:{pesado:!1,slugs:["toast"],ganchos:["data-ts-toast"],funciones:{toast:"toast",updateToast:"updateToast",clearToasts:"clearToasts"}},toggle:{pesado:!1,slugs:["nav-bar","breadcrumbs"],ganchos:["data-ts-toggle"]}};var is=Object.keys(En),Ei=e=>e.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`),Ie=e=>En[e],Du=(e,n)=>e===n||e.startsWith(`${n}-`);function Au(e){return is.filter(n=>Ie(n).ganchos?.some(s=>Du(e,s)))}function jl(e){let n=new Set(e);for(let s of n)for(let o of Ie(s).requiere??[])n.add(o);return is.filter(s=>n.has(s))}function zl(e,n,s){let o=new Set(Ri(n));for(let r of e)if(r.startsWith("data-ts-"))for(let a of Au(r))o.add(a);for(let r of is){let a=Ie(r);a.funciones&&Object.keys(a.funciones).some(l=>Ou(s,l))&&o.add(r),a.ganchos?.some(l=>!l.startsWith("data-ts-")&&s.includes(l))&&o.add(r)}return[...o]}function Ri(e,n=!1){let s=new Set(e);return is.filter(o=>Ie(o).slugs?.some(r=>s.has(r))||n&&Ie(o).slugsSafelist?.some(r=>s.has(r)))}function Ou(e,n){return new RegExp(`(?<![\\w$.-])${n}(?![\\w$-])\\s*(?:\\(|\\.|,|\\}|as\\s)|\\.${n}(?![\\w$-])|['"\`]${n}['"\`]`).test(e)}var Cy=is.filter(e=>Ie(e).pesado&&Ie(e).raices).map(e=>({modulo:e,raices:Ie(e).raices}));var Di=["chrome124","edge124","firefox125","safari17.4","ios17.4"];function Dl(){let e=he.dirname(El(import.meta.url)),n=he.join(e,"core-modules");return Gs.existsSync(n)?n:he.resolve(e,"../lib/core")}var Mu=e=>{let n=En[e];return n.slugs??n.slugsSafelist??[]},Js="taisho.core.key-warning.js";function qu(e,n){let s=i=>JSON.stringify(he.join(n,i).split(he.sep).join("/")),o=new Set(e),r=[`import { iniciar } from ${s("nucleo")};`,`import { avisarVersiones } from ${s("version")};`,`import { pedirAvisoLlave } from ${s("desarrollo-local")};`,`import { m } from ${s("registro")};`],a=e.filter(i=>i!=="invalid");for(let i of a)r.push(`import { ficha as ${i} } from ${s(Ei(i))};`);r.push(`Object.assign(m, { ${a.join(", ")} });`),r.push(`export { nextIndex } from ${s("roving")};`),r.push(`export { setTexts } from ${s("textos")};`);let l=!1;for(let i of Object.keys(En)){let c=En[i].funciones;if(c){if(o.has(i)){r.push(`export { ${Object.entries(c).map(([d,u])=>d===u?d:`${u} as ${d}`).join(", ")} } from ${s(Ei(i))};`);continue}for(let d of Object.keys(c))r.push(`export const ${d} = falta(${JSON.stringify(d)}, ${JSON.stringify(Mu(i)[0]??"")});`);l=!0}}return l&&r.push("function falta(nombre, slug) { return () => { throw new Error(`taisho: ${nombre}() no entr\xF3 a taisho.core.js porque nada de tu contenido lo nombra. Se suma ${slug ? `safelist: ['${slug}'] en tu taisho.config.ts` : 'a `content` de tu taisho.config.ts el archivo que la llama'}.`); }; }"),r.push(`export function init(root = document) { avisarVersiones(); if (root.getRootNode() === document) pedirAvisoLlave(() => import('./${Js}')); iniciar(root); return Promise.resolve(); }`,"if (typeof document !== 'undefined') {"," if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', () => init());"," else init();","}"),r.join(`
3376
+ `)}async function Al(e){let n=Dl(),{outputFiles:s}=await Rl({stdin:{contents:qu(e,n),resolveDir:n,loader:"ts"},bundle:!0,format:"esm",target:Di,minify:!0,write:!1,legalComments:"none",logLevel:"silent",external:[`./${Js}`],banner:{js:`/* TaishoDS \u2014 ${ze} */`},define:{__TAISHO_CORE_VERSION__:JSON.stringify(ts)}});return s[0].text}async function Ol(){let e=Dl(),{outputFiles:n}=await Rl({entryPoints:[he.join(e,"aviso-llave")],bundle:!0,format:"esm",target:Di,minify:!0,write:!1,outdir:"salida",legalComments:"none",logLevel:"silent",banner:{js:`/* TaishoDS \u2014 ${ze} */`},define:{__TAISHO_CORE_VERSION__:JSON.stringify(ts)}});return n[0].text}async function Ml(){let e=he.dirname(El(import.meta.url));if(!Gs.existsSync(he.join(e,"core.js"))){let s="../../scripts/build-core-directo",{construirCoreDirecto:o}=await import(s);return o({minify:!0,banner:`/* TaishoDS \u2014 ${ze} */`})}let n=s=>s==="core.js"||/^core\.[\w-]+\.js$/.test(s);return Gs.readdirSync(e).filter(n).sort().map(s=>({ruta:`taisho.${s}`,texto:Gs.readFileSync(he.join(e,s),"utf8").replace(/(["'])\.\/core\.([\w-]+\.js)\1/g,"$1./taisho.core.$2$1")}))}var Ai=(e,n,s)=>{let o=s?$l(e,n):n;return{raw:n,clases:o,tokens:bn(o),vars:n.match(/--[a-zA-Z][\w-]*/g)??[],uso:wi(e,n)}},Oi="taisho.classes.d.ts",Pl=e=>e.split(It.sep).join("/"),Zs=e=>JSON.stringify([e.file,e.line,e.code,e.params]);function Ks(e,n){let{targetDir:s,cwd:o,configDir:r=o,soloSiCambia:a=!1,versionCore:l=os()}=n,i={cssArmados:0,cssMinificados:0,temasPodados:0,spritesArmados:0,jsArmados:0},c=e,d,u,y,t=()=>(u??=zi(o,l),y??=ji(u)),m=()=>{let S=t(),q=Et(c,S),O=Ee(c,q,S),B=q.themeEntries.map($=>{let z=Se($,q.userFonts,q.defaultStates,q.userScales,S);return{key:$.group==="root"?$.name:`${$.group}-${$.name}`,avisos:[...z.warnings,...Da($,q.defaultStates)],completo:Ce(z,c.darkMode),secciones:ei(z)}});ui(c.fontFaces,o);let Z=Ja(c,q,O,S);return{vocab:O,tipos:Z.length?ri(Z.map($=>`ts-${$}`)):null,temas:B,fonts:Os(c.fontFaces,pi(c.fontFaces,o)),plano:Bo({reset:O.reset,atomic:O.atomic,utilities:O.utilities,components:O.components,scales:O.userScales,userUtilities:O.userUtilities}),datosAvisos:vi(O),vecinos:new Map,completo:void 0}},h,g,b=It.resolve(o,me),p=new Map,v=new Map,f=new Map,w,k,P,D,W,G,J=new Set,A=S=>Pl(It.relative(r,It.resolve(r,S))),M=S=>{let q=It.resolve(r,S);return q.startsWith(b+It.sep)&&q.endsWith(".svg")};function V(S){if(!S||S.configCambio!==void 0){let O=new Map;for(let B of qe({globs:c.content,baseDir:r,outDir:s})){let Z=v.get(B.file);O.set(B.file,Z&&Z.raw===B.content?Z:Ai(B.file,B.content,!0))}v=O;return}for(let O of S.bajas??[])v.delete(A(O));for(let O of[...S.cambiados??[],...S.altas??[]]){let B=A(O);if(!S.altas?.includes(O)&&!v.has(B))continue;let $=It.resolve(r,O);if(!Bt.existsSync($)||!Bt.statSync($).isFile()){v.delete(B);continue}let z=Bt.readFileSync($,"utf8"),x=v.get(B);(!x||x.raw!==z)&&v.set(B,Ai(B,z,!0))}}function N(){t();let S=u;if(!S.length)return[];let q=new Set(v.keys()),O=[];return S.forEach((B,Z)=>{let $=new Set;for(let z of v.values()){if(!z.deLosPaquetes){let x=new Set(bn(z.raw));z.deLosPaquetes=S.map(C=>Cl(C.componentes,x))}for(let x of z.deLosPaquetes[Z])$.add(x)}for(let z of $){let x=It.join(B.dir,z),C=Pl(It.relative(r,x));if(q.has(C))continue;q.add(C);let R=p.get(x);R===void 0&&p.set(x,R=Us(x,Tl(B,z)));let j=f.get(C);(!j||j.raw!==R)&&f.set(C,j=Ai(C,R,!1)),O.push([C,j])}}),O}function T(S,q,O){let B=x=>new Set(x.flatMap(C=>[...C.matchAll(/^\s*(--[\w-]+)\s*:/gm)].map(R=>R[1]))),Z=B(q),$=B(O),z=[];for(let x of ss({globs:["**/*.css"],baseDir:r,outDir:s,excluir:["dist","build","coverage"]})){if(S.has(x))continue;let C=Bt.readFileSync(It.resolve(r,x),"utf8"),R=[...new Set([...C.matchAll(/var\(\s*(--[\w-]+)/g)].map(j=>j[1]))].filter(j=>Z.has(j)&&!$.has(j));R.length&&z.push({code:"css-outside-content",params:{variables:R.slice(0,3)},file:x})}return z}async function U(S){let q=ql.now();if(S?.configCambio){c=S.configCambio,d=void 0,u=y=void 0,p.clear(),f.clear();for(let I of v.values())I.analisis=I.avisos=I.modulos=I.deLosPaquetes=void 0;w=k=D=void 0}let O=d??=m(),{vocab:B}=O,Z=c.content!==void 0;[...S?.cambiados??[],...S?.altas??[],...S?.bajas??[]].some(M)&&(g=void 0,P=void 0);let z=[],x=[],C,R,j,F,et;if(Z){V(S),x=N(),z=[...v];let I=[...z,...x].sort(([ft],[ne])=>ft<ne?-1:ft>ne?1:0),tt=I.map(([ft,ne])=>ne.analisis??=li(B,ft,ne.tokens,!0)),{variantes:st,planas:it,warnings:Pt,forzadas:Dt}=qs(B,c,tt,!0);j=[...Pt];let ct=Ho(O.plano,{usadas:it,forzadas:Dt}),kt=new Set(I.flatMap(([,ft])=>ft.vars).filter(ft=>/^--ts-(?:lh|ls)-/.test(ft))),At=`${ct.map(ft=>ft.name).join(`
3377
+ `)}\0${[...st].join(`
3378
+ `)}\0${[...kt].sort().join(" ")}`;if(w?.clave!==At){let ft=`/* TaishoDS \u2014 ${ze} */
3379
+ `+Go(O.plano,{variantesUsadas:st,usadas:it,forzadas:Dt,varsDelProyecto:kt});i.cssArmados++;let{code:ne}=await Il(ft,{loader:"css",minify:!0});i.cssMinificados++,w={clave:At,css:ft,min:ne}}({css:C,min:R}=w);let Y=new Set(Ri(qs(B,c,[],!0).enteros,!0));for(let[,ft]of z){ft.modulos??=zl(ft.tokens,ft.analisis.enteros,ft.raw);for(let ne of ft.modulos)Y.add(ne)}let St=jl(Y),nn=St.join(",");D?.clave!==nn&&(D={clave:nn,js:await Al(St)},i.jsArmados++),F=D.js,G??=await Ol(),et=[{ruta:"taisho.core.js",texto:F},{ruta:Js,texto:G}]}else{if(v=new Map,!O.completo){let{css:I,warnings:tt}=ci(c,[],{extensions:y});i.cssArmados++;let{code:st}=await Il(I,{loader:"css",minify:!0});i.cssMinificados++,O.completo={css:I,min:st,warnings:tt}}({css:C,min:R}=O.completo),j=O.completo.warnings,W||(W=await Ml(),i.jsArmados++),et=W,F=W.find(I=>I.ruta==="taisho.core.js").texto}let nt=Z?"taisho.css":"taisho.full.css",lt=[...z,...x].map(([,I])=>I),X=O.temas.map(I=>O.temas.length===1?"theme.css":`theme-${I.key}.css`),ot;if(Z){let I=new Set(jo);for(let st of lt)for(let it of st.vars)I.add(it);let tt=[...I].sort().join(" ");(k?.css!==C||k.vars!==tt)&&(i.temasPodados++,k={css:C,vars:tt,temas:O.temas.map(st=>Eo(Oa(C)?st.completo+st.secciones:st.completo,C,I))}),ot=k.temas}else ot=O.temas.map(I=>I.completo+I.secciones);let dt;if(Z){let I=lt.map(st=>st.uso),tt=`${(c.icons??[]).join(",")}\0${I.map(st=>`${st.soloAviso?1:0}${[...st.nombres].join(",")}`).join(`
3380
+ `)}`;P?.huella!==tt?(h??=$i(o),g??=ki(o,me),dt=Si({...h,customIcons:g},I,c.icons??[],me),i.spritesArmados++,P={huella:tt,sprite:dt}):dt=P.sprite}else dt=xl({skip:s,customIconsDir:me,cwd:o,safelist:c.icons});let rt=new Set(x.map(([I])=>I)),xt=[...O.temas.flatMap(I=>I.avisos),...j.filter(I=>I.file===void 0||!rt.has(I.file))];if(Z){let I=new Map;for(let[tt,st]of z){st.avisos??=xi({file:tt,content:st.raw},O.datosAvisos,O.vecinos).map(({code:it,params:Pt,file:Dt,line:ct})=>({code:it,params:Pt,file:Dt,line:ct}));for(let it of st.avisos)I.has(Zs(it))||I.set(Zs(it),it)}xt.push(...I.values()),xt.push(...T(new Set(z.map(([tt])=>tt)),O.temas.map(tt=>tt.completo),ot))}let Jt=[["fonts.css",O.fonts]];X.forEach((I,tt)=>Jt.push([I,ot[tt]])),Jt.push([nt,R]);for(let{ruta:I,texto:tt}of et)Jt.push([I,tt]);let An=dt.includes("<symbol")?"taisho.icons.svg":null;An&&Jt.push([An,dt]);let ps=O.tipos===null?null:Oi;O.tipos!==null&&Jt.push([Oi,O.tipos]),Bt.mkdirSync(s,{recursive:!0}),ps===null&&Bt.rmSync(It.join(s,Oi),{force:!0});let Ne=new Set(et.map(I=>I.ruta));for(let I of Bt.readdirSync(s))/^taisho\.core\..+\.js$/.test(I)&&!Ne.has(I)&&Bt.rmSync(It.join(s,I));let E=[];for(let[I,tt]of Jt){let st=It.join(s,I);a&&Bt.existsSync(st)&&Bt.readFileSync(st,"utf8")===tt||(Bt.writeFileSync(st,tt),E.push(I))}let L=xt.filter(I=>!J.has(Zs(I)));return J=new Set(xt.map(Zs)),{temas:X,fonts:"fonts.css",sistema:nt,js:F,iconos:An,tipos:ps,warnings:xt,escritos:E,contenido:Z?[...z,...x].map(([I])=>I):[],avisosNuevos:L,ms:ql.now()-q}}return{actualizar:U,stats:i,get manifiestos(){return(u??[]).map(S=>S.archivo)}}}async function Nl(e,n){let{avisosNuevos:s,ms:o,...r}=await Ks(e,n).actualizar();return r}function $t(e){return e instanceof zt?e.errors.map(n=>Bn(n,wt())).join(`
3381
+ `):e instanceof Error?e.message:e}var Nu="taisho";function Ht(e){let n=ee.relative(process.cwd(),e);return n.startsWith("..")?e:n||"."}function be(e,n,s,o){if(s!==void 0)return ee.resolve(o,s);let r=typeof e?.out=="string"&&e.out.trim()!==""?e.out:Nu;return ee.resolve(ee.dirname(n),r)}function Lu(e,n,s){let o=ee.join(e,n),[r,...a]=ee.relative(s,o).split(ee.sep);return r==="public"||r==="static"?`/${a.join("/")}`:Ht(o)}function Qe(e){if(!e||typeof e!="object")return!1;let n=e.themes;return!!n&&typeof n=="object"&&Object.keys(n).length>0}async function tn(e){let s=await Pu(import.meta.url,{moduleCache:!1}).import(e);return s.default??s.config}async function Xs(e,n){if(!Iu.existsSync(e))throw new Error(H().config.noEncontradaInit(Ht(e)));let s;try{s=await tn(e)}catch(o){throw new Error(H().config.noCargoCon(Ht(e),String(o instanceof Error?o.message:o)),{cause:o})}if(!Qe(s))throw new Error(H().config.invalidaDetalle(Ht(e)));return yt(n,s),s}async function Ll(e){let n=ee.resolve(process.cwd(),e.configPath??"taisho.config.ts");yt(e.lang);let s;try{s=await Xs(n,e.lang)}catch(i){console.error($t(i)),process.exitCode=1;return}let o=process.cwd(),r=be(s,n,e.outDir,o);console.log(H().generate.compilando(Ht(n)));let a;try{a=await Nl(s,{targetDir:r,cwd:o,configDir:ee.dirname(n)})}catch(i){console.error($t(i)),process.exitCode=1;return}for(let i of a.warnings)console.warn(`\u26A0 ${Xe(i,wt())}`);e.strict&&a.warnings.length&&(console.error(H().generate.estricto(a.warnings.length)),process.exitCode=1);let l=i=>Lu(r,i,ee.dirname(n));console.log(H().generate.generado(Ht(r))),console.log(H().generate.pegar),console.log(` <link rel="stylesheet" href="${l(a.fonts)}">`);for(let i of a.temas)console.log(` <link rel="stylesheet" href="${l(i)}">`);console.log(` <link rel="stylesheet" href="${l(a.sistema)}">`),console.log(` <script type="module" src="${l("taisho.core.js")}"></script>`),a.iconos&&(console.log(H().generate.iconos),console.log(` <svg><use href="${l(a.iconos)}${H().generate.usoIcono}"></use></svg>`)),a.tipos&&console.log(H().generate.tipos(l(a.tipos)))}import to from"node:fs";import Pe from"node:path";var en={locked:!0,colors:{brand:"#3b82f6","brand-secondary":"#84cc16",accent:"#f59e0b"},primary:"oklch(0.15 0 0)",focusRing:"light-dark(var(--color-grayAlpha-700), var(--color-grayAlpha-600))"};var Ys={success:"#1A9338",warning:"#E79C13",info:"#0091FF",danger:"#E5484D"},_u=[{name:"taisho",group:"root",def:en}],_l=Object.fromEntries(_u.flatMap(e=>Object.entries(e.def.colors)));var Fu=/\bclass\s*=\s*("[^"]*"|'[^']*')|("(?:[^"\\\n]|\\.)*"|'(?:[^'\\\n]|\\.)*'|`(?:[^`\\]|\\.)*`)/g,Vu=/classList\.(add|remove|toggle|contains|replace)\(\s*(?:[^()]*,\s*)?$/;function Qs(e,n){let s=n.literal??Fu,o=0;function r(l,i,c){return l.replace(s,(d,u,y,t)=>{let m=d.slice(0,d.search(/["'`]/)),h=i+t+m.length;if(n.protegido(h))return d;let g=d[m.length],b=d.slice(m.length+1,-1),p=h+1,v=m!=="";if(!v&&/<[A-Za-z][^>]*\bclass\s*=\s*["'{]/.test(b))return`${g}${r(b,p,c)}${g}`;let f=v?"{":g==="`"?"${":null,w=[],k=0;for(;f;){let N=b.indexOf(f,k);if(N<0)break;let T=1,U=N+f.length;for(;U<b.length&&T>0;U++)b[U]==="{"?T++:b[U]==="}"&&T--;if(T>0)return d;w.push({texto:b.slice(k,N),desde:k,expresion:!1}),w.push({texto:b.slice(N+f.length,U-1),desde:N+f.length,expresion:!0}),k=U}w.push({texto:b.slice(k),desde:k,expresion:!1});let P=w.filter(N=>!N.expresion).map(N=>N.texto),D=P.flatMap(N=>[...N.matchAll(n.tokenizador)]),W=Qt(e,h),G={fuente:e,abs:h,prefijo:m,esAtributo:v,comilla:g,contenido:b,estaticas:P,tieneLlave:P.some(N=>/(?:^|\s)ts(?:\s|$)/.test(N)),conocidos:D.filter(n.reconoce),tokens:D,etiqueta:W,enComponente:!!W&&Ke(W.nombre),classList:Vu.exec(e.slice(Math.max(0,h-80),h)),llaveDelContenedor:c},J=n.politica(G);if(!J.convertir)return d;if(J.dentro)return`${m}${g}${r(b,p,J.heredaLlave)}${g}`;let A=!0,M=w.map(N=>{let T=p+N.desde;if(N.expresion)return r(N.texto,T,J.heredaLlave);let U=N.desde>0,S=N.desde+N.texto.length<b.length;return N.texto.replace(n.tokenizador,(q,O,B,Z)=>{let $=U&&Z===0||S&&Z+q.length===N.texto.length,z=n.token({token:q,variante:O,nombre:B,pos:T+Z,l\u00EDnea:n.lineaDe(T+Z),pegado:$,literal:G});if(z===null)return q;let x=J.llave&&A?"ts ":"";return x&&o++,A=!1,`${x}${z}`})}),V="";return w.forEach((N,T)=>{N.expresion?V+=`${f}${M[T]}}`:V+=M[T]}),`${m}${g}${V}${g}`})}return{texto:r(e,0,!1),llaves:o}}function Rn(e,n={}){let s=Et(e,n),{userGridMins:o,userScales:r}=s,a={..._l,...s.userColors},l={...Ys,...s.userStates},i=Ft(Kt(a,l),o,r),c=Ge(n),d=Lt(r)+c.utilities,u=Xt(a,l,r)+c.components,y=[i,d,u].flatMap(h=>pt(h).map(g=>g.name.replaceAll("\\",""))),t=Tt([i,d,u].flatMap(h=>pt(h).map(g=>g.name))),m=new Set;for(let h of y)ut(h)||m.add(h);for(let h of t.values())m.add(h);for(let h of[i,d,u])for(let g of h.matchAll(/\.(ts-[A-Za-z0-9_-]+)/g))ut(g[1])||m.add(g[1]);return m.add("ts-compact"),{nombres:m,mapa:mr(ys(y))}}var Wu=/(?<![^\s"'`([,>])((?:@?[a-z0-9-]+:)*)(ts-[A-Za-z0-9/-]*[A-Za-z0-9])(?![A-Za-z0-9_/-])(?!\$\{)/g,Uu=e=>{let n=[];for(let s of e.matchAll(/<!--[\s\S]*?(?:-->|$)|<script\b[^>]*>[\s\S]*?(?:<\/script>|$)|<style\b[^>]*>[\s\S]*?<\/style>/g))s[0].startsWith("<style")&&n.push([s.index,s.index+s[0].length]);return n};function Fl(e,{vocabulario:n,esCss:s=!1}){let{nombres:o}=n,r=[],a=new Set,l=(v,f,w)=>{let k=`${v}:${f}:${w}`;a.has(k)||(a.add(k),r.push({l\u00EDnea:v,token:f,tipo:w}))},i=fr(e,n.mapa),c=i.texto;for(let v of i.sinSucesor)l(v.linea,v.viejo,"no-replacement");for(let v of i.posibles)l(v.linea,v.token,"possible-class");let d=[];for(let v=c.indexOf(`
3379
3382
  `);v>=0;v=c.indexOf(`
3380
- `,v+1))d.push(v);let u=v=>{let f=0,w=d.length;for(;f<w;){let k=f+w>>1;d[k]<v?f=k+1:w=k}return f+1},y=ho(c),t=s?[[0,c.length]]:Iu(c),m=v=>ye(y,v)||ye(t,v),h=0,g=s?{texto:c,llaves:0}:Bs(c,{tokenizador:qu,reconoce:v=>o.has(v[2]),protegido:m,lineaDe:u,politica:v=>(v.classList&&v.conocidos.length&&/classList\.(add|toggle|replace)/.test(v.classList[0])&&l(u(v.abs),v.conocidos[0][0],"classlist"),{convertir:!0,llave:!v.tieneLlave&&!v.llaveDelContenedor&&!v.enComponente&&!v.classList&&v.conocidos.length>0,heredaLlave:v.llaveDelContenedor||v.tieneLlave||v.conocidos.length>0||v.enComponente}),token:({token:v,variante:f,nombre:w,pos:k,l\u00EDnea:I,pegado:D,literal:W})=>o.has(w)?ye(y,k)||Mn(c,k)||D?null:(h++,`${f}${w.slice(3)}`):(!gt(w)&&(W.conocidos.length>0||W.esAtributo)&&l(I,v,"unknown-class"),null)}),b=g.texto;b=b.replace(/(?<![A-Za-z0-9_-])class:(ts-[A-Za-z0-9-]*[A-Za-z0-9])(?![A-Za-z0-9_-])/g,(v,f,w)=>{if(!o.has(f)||m(w))return v;let k=u(w);h++;let I=Xt(b,w);if(I&&!Ve(I.nombre)){let D=b.slice(I.desde,I.hasta).replace(/class:[^\s=>/]+/g,"");/(?<![\w:.-])ts(?![\w:-])/.test(D)||l(k,`class:${f.slice(3)}`,"missing-ts")}return`class:${f.slice(3)}`});let p=[...o];for(let v of b.matchAll(/(?<![A-Za-z0-9_-])ts-[A-Za-z0-9-]*/g)){let f=v[0],w=v.index;if(b[w-1]==="#"||ye(y,w)||Mn(b,w))continue;let k=u(w);if(b.slice(w+f.length,w+f.length+2)==="${"){let Z=b.slice(Math.max(0,w-40),w);if(/\b(?:id|for|name|href|aria-[a-z]+|htmlFor)\s*[=:]\s*["'`{]?\s*$/i.test(Z)||/\b[A-Za-z]*[iI]d\s*=\s*[`"']$/.test(Z))continue;p.some(M=>M.startsWith(f))&&l(k,`${f}\${`,"fragment");continue}if(f.endsWith("-")||!o.has(f)||gt(f))continue;let D=b[w-1],W=b.slice(Math.max(0,b.lastIndexOf(";",w),b.lastIndexOf("{",w),b.lastIndexOf("}",w)),w),J;/@apply\b/.test(W)?J="apply":D==="."||/\\:$/.test(b.slice(Math.max(0,w-2),w))?J="selector":D==="}"?J="fragment":J=ye(t,w)?"selector":"outside-string",l(k,f,J)}return r.sort((v,f)=>v.l\u00EDnea-f.l\u00EDnea||v.token.localeCompare(f.token)),{texto:b,convertidos:h,renombres:i.cambios.length,llaves:g.llaves,noConvertidos:r}}var Nu=["**/*.{svelte,html,ts,js,css}"],Pu=/\.(svelte|html|ts|js|css|md)$/;function Qn(e,n,s,o="*.{svelte,html,ts,js,css}"){let r=ge.resolve(n,e),a=ge.relative(s,r).split(ge.sep).join("/")||".";return Hs.existsSync(r)&&Hs.statSync(r).isDirectory()?`${a}/**/${o}`:a}async function ql(e){if(yt(e.lang),e.from!=="classic"){console.error(B().clasico.faltaFrom),process.exitCode=2;return}let n=process.cwd(),s=ge.resolve(n,e.configPath??"taisho.config.ts"),o={themes:{},fontFaces:[]};if(Hs.existsSync(s)){let g;try{g=await Ge(s)}catch(b){console.error(B().config.noCargo(ge.relative(n,s))),console.error(wt(b)),process.exitCode=1;return}if(!He(g)){console.error(B().config.invalida(ge.relative(n,s))),process.exitCode=1;return}o=g,yt(e.lang,o)}let r=B().clasico,a=ge.dirname(s),l=Re({globs:e.rutas?.length?e.rutas.map(g=>Qn(g,n,a)):o.content??Nu,baseDir:a,outDir:ge.resolve(n,e.outDir??"taisho")}).filter(g=>Pu.test(g.file)&&!g.file.split("/").includes("node_modules")),i=kn(o,xn(n)),c=new Map,d=[],u=[],y=0,t=0,m=0,h=0;for(let g of l){let b=Ml(g.content,{vocabulario:i,esCss:g.file.endsWith(".css")});y+=b.convertidos,t+=b.renombres,m+=b.llaves,b.texto!==g.content&&(h++,d.push(r.archivo(g.file,b.convertidos,b.llaves,b.renombres)),e.write&&Hs.writeFileSync(ge.resolve(a,g.file),b.texto));for(let p of b.noConvertidos)c.set(p.tipo,(c.get(p.tipo)??0)+1),u.push(` ${g.file}:${p.l\u00EDnea} ${p.token} [${p.tipo}] ${r.motivo[p.tipo]}`)}console.log(r.cabecera(!!e.write)),console.log(r.convertidos(!!e.write,h)),console.log(d.length?d.join(`
3383
+ `,v+1))d.push(v);let u=v=>{let f=0,w=d.length;for(;f<w;){let k=f+w>>1;d[k]<v?f=k+1:w=k}return f+1},y=$o(c),t=s?[[0,c.length]]:Uu(c),m=v=>$e(y,v)||$e(t,v),h=0,g=s?{texto:c,llaves:0}:Qs(c,{tokenizador:Wu,reconoce:v=>o.has(v[2]),protegido:m,lineaDe:u,politica:v=>(v.classList&&v.conocidos.length&&/classList\.(add|toggle|replace)/.test(v.classList[0])&&l(u(v.abs),v.conocidos[0][0],"classlist"),{convertir:!0,llave:!v.tieneLlave&&!v.llaveDelContenedor&&!v.enComponente&&!v.classList&&v.conocidos.length>0,heredaLlave:v.llaveDelContenedor||v.tieneLlave||v.conocidos.length>0||v.enComponente}),token:({token:v,variante:f,nombre:w,pos:k,l\u00EDnea:P,pegado:D,literal:W})=>o.has(w)?$e(y,k)||Vn(c,k)||D?null:(h++,`${f}${w.slice(3)}`):(!ut(w)&&(W.conocidos.length>0||W.esAtributo)&&l(P,v,"unknown-class"),null)}),b=g.texto;b=b.replace(/(?<![A-Za-z0-9_-])class:(ts-[A-Za-z0-9-]*[A-Za-z0-9])(?![A-Za-z0-9_-])/g,(v,f,w)=>{if(!o.has(f)||m(w))return v;let k=u(w);h++;let P=Qt(b,w);if(P&&!Ke(P.nombre)){let D=b.slice(P.desde,P.hasta).replace(/class:[^\s=>/]+/g,"");/(?<![\w:.-])ts(?![\w:-])/.test(D)||l(k,`class:${f.slice(3)}`,"missing-ts")}return`class:${f.slice(3)}`});let p=[...o];for(let v of b.matchAll(/(?<![A-Za-z0-9_-])ts-[A-Za-z0-9-]*/g)){let f=v[0],w=v.index;if(b[w-1]==="#"||$e(y,w)||Vn(b,w))continue;let k=u(w);if(b.slice(w+f.length,w+f.length+2)==="${"){let J=b.slice(Math.max(0,w-40),w);if(/\b(?:id|for|name|href|aria-[a-z]+|htmlFor)\s*[=:]\s*["'`{]?\s*$/i.test(J)||/\b[A-Za-z]*[iI]d\s*=\s*[`"']$/.test(J))continue;p.some(A=>A.startsWith(f))&&l(k,`${f}\${`,"fragment");continue}if(f.endsWith("-")||!o.has(f)||ut(f))continue;let D=b[w-1],W=b.slice(Math.max(0,b.lastIndexOf(";",w),b.lastIndexOf("{",w),b.lastIndexOf("}",w)),w),G;/@apply\b/.test(W)?G="apply":D==="."||/\\:$/.test(b.slice(Math.max(0,w-2),w))?G="selector":D==="}"?G="fragment":G=$e(t,w)?"selector":"outside-string",l(k,f,G)}return r.sort((v,f)=>v.l\u00EDnea-f.l\u00EDnea||v.token.localeCompare(f.token)),{texto:b,convertidos:h,renombres:i.cambios.length,llaves:g.llaves,noConvertidos:r}}var Bu=["**/*.{svelte,html,ts,js,css}"],Hu=/\.(svelte|html|ts|js|css|md)$/;function rs(e,n,s,o="*.{svelte,html,ts,js,css}"){let r=Pe.resolve(n,e),a=Pe.relative(s,r).split(Pe.sep).join("/")||".";return to.existsSync(r)&&to.statSync(r).isDirectory()?`${a}/**/${o}`:a}async function Vl(e){if(yt(e.lang),e.from!=="classic"){console.error(H().clasico.faltaFrom),process.exitCode=2;return}let n=process.cwd(),s=Pe.resolve(n,e.configPath??"taisho.config.ts"),o={themes:{},fontFaces:[]};if(to.existsSync(s)){let g;try{g=await tn(s)}catch(b){console.error(H().config.noCargo(Pe.relative(n,s))),console.error($t(b)),process.exitCode=1;return}if(!Qe(g)){console.error(H().config.invalida(Pe.relative(n,s))),process.exitCode=1;return}o=g,yt(e.lang,o)}let r=H().clasico,a=Pe.dirname(s),l=qe({globs:e.rutas?.length?e.rutas.map(g=>rs(g,n,a)):o.content??Bu,baseDir:a,outDir:be(o,s,e.outDir,n)}).filter(g=>Hu.test(g.file)&&!g.file.split("/").includes("node_modules")),i=Rn(o,zn(n)),c=new Map,d=[],u=[],y=0,t=0,m=0,h=0;for(let g of l){let b=Fl(g.content,{vocabulario:i,esCss:g.file.endsWith(".css")});y+=b.convertidos,t+=b.renombres,m+=b.llaves,b.texto!==g.content&&(h++,d.push(r.archivo(g.file,b.convertidos,b.llaves,b.renombres)),e.write&&to.writeFileSync(Pe.resolve(a,g.file),b.texto));for(let p of b.noConvertidos)c.set(p.tipo,(c.get(p.tipo)??0)+1),u.push(` ${g.file}:${p.l\u00EDnea} ${p.token} [${p.tipo}] ${r.motivo[p.tipo]}`)}console.log(r.cabecera(!!e.write)),console.log(r.convertidos(!!e.write,h)),console.log(d.length?d.join(`
3381
3384
  `):r.nada),console.log(r.pendientes(u.length)),console.log(u.length?u.join(`
3382
- `):r.nada),console.log(r.resumen(l.length,h,!!e.write,y,m,t)),c.size&&console.log(r.porTipo([...c].sort().map(([g,b])=>`${g} ${b}`).join(", ")))}import Js from"node:fs";import Lt from"node:path";var Lu=[[/^dark$/,"dark-variant"],[/^(has|group-has|peer-has)-/,"has-variant"],[/^(not|group-not|peer-not)-/,"not-variant"],[/^(first|last|only|odd|even|first-of-type|last-of-type)$/,"structural-variant"],[/^(group-|peer-)?focus-within$/,"focus-within-variant"],[/^motion-(safe|reduce)$/,"motion-variant"],[/^supports-/,"supports-variant"]],_u=/^(max-)?(\d*xl|sm|md|lg)$/;function ts(e){let n=[],s=0,o=0;for(let r=0;r<e.length;r++){let a=e[r];a==="["||a==="("?s++:a==="]"||a===")"?s--:a===":"&&s===0&&(n.push(e.slice(o,r)),o=r+1)}return n.push(e.slice(o)),n}var Ri=/^(group|peer)(\/[a-z][a-z0-9-]*)?$/;function Ai(e){let{mapa:n,esComponente:s}=e,o=Wt(e.screens??ie),r=new Map(n.filas.map(h=>[h.tailwind,h])),a=new Map(n.colores.prefijos.map(h=>[h.tailwind,h])),l=new Set(n.colores.familiasCompartidas),i=new Set(n.colores.escalonesCompartidos),c=new Map(n.sinEquivalente.flatMap(h=>h.clases.map(g=>[g,h.motivo]))),d=[...c].filter(([h])=>/^[a-z-]+-\*$/.test(h)).map(([h,g])=>[h.slice(0,-1),g]),u=h=>h?[{code:"map-note",params:{note:h}}]:[];function y(h){let g=r.get(h);if(g)return{scope:g.scope,exacta:g.exacta,notas:u(g.nota)};let b=/^(bg|text|border|ring)-(.+)-(\d+)$/.exec(h);if(b&&l.has(b[2])&&i.has(b[3])){let p=a.get(b[1]);return{scope:`${p.taisho}-${b[2]}-${b[3]}`,exacta:!1,notas:[...u(n.colores.nota),...u(p.nota)]}}}function t(h){let g=/^(?:bg|text|border|ring)-(.+)-(\d+)(\/\d+)?$/.exec(h);if(g&&g[3])return{code:"opacity-modifier",params:{class:h,opacity:g[3]}};if(g&&n.colores.familiasSoloTailwind.includes(g[1]))return{code:"color-family-missing",params:{family:g[1]}};if(g&&l.has(g[1]))return{code:"color-step-missing",params:{step:g[2],family:g[1],steps:[...n.colores.escalonesCompartidos]}};if(h.includes("["))return{code:"arbitrary-value",params:{class:h}};let b=c.get(h)??d.find(([p])=>h.startsWith(p))?.[1];return b?{code:"no-equivalent",params:{class:h,reason:b}}:{code:"not-in-map",params:{class:h}}}function m(h){if(h.includes("["))return{motivo:{code:"arbitrary-variant",params:{variant:h}}};for(let[b,p]of Lu)if(b.test(h))return{motivo:{code:p,params:{}}};if(/^data-ts-/.test(h))return{motivo:{code:"data-ts-variant",params:{}}};let g=`${h}:`;return jt([g],o).ok?{prefijo:g}:_u.test(h)?{motivo:{code:"breakpoint-missing",params:{variant:h}}}:{motivo:{code:"unknown-variant",params:{variant:h}}}}return h=>{let g=ts(h),b=g.at(-1),p=(D,W)=>({origen:h,tipo:D,motivo:W});if(b.startsWith("!")||b.endsWith("!"))return p("important",{code:"important",params:{}});let v=[];for(let D of g.slice(0,-1)){let W=m(D);if("motivo"in W)return p("variant",W.motivo);v.push(W.prefijo)}let f;if(Ri.test(b)?f={scope:b,exacta:!0,notas:[]}:b==="@container"?f={scope:"cq",exacta:!0,notas:[]}:f=y(b),!f)return s?.(b)?p("component",{code:"component-variant",params:{class:b}}):p("base",t(b));if(v.length&&(Ri.test(b)||b==="@container"))return p("base",{code:"marker-with-variants",params:{class:b}});let w=v;if(v.length){let D=jt(v,o);if(!D.ok)if(D.motivo==="orden"&&D.canonica)w=D.canonica;else return p("chain",{code:"invalid-chain",params:{chain:`${g.slice(0,-1).join(":")}:`}})}let k=[...f.notas];w.includes("disabled:")&&k.push({code:"disabled-wider",params:{}});let I=w.join("");return{origen:h,scope:`${I}${f.scope}`,taisho:`${I}${Ri.test(b)?b:`ts-${f.scope}`}`,exacta:f.exacta,...k.length?{notas:k}:{}}}}function Vl(e,n={}){let{nombres:s}=kn(e,n),o=Et(e,n);return{mapa:Os({vigentes:s,esc:vs({gridMins:Object.keys(o.userGridMins)}),familias:Object.keys(Jt(o.userColors,o.userStates))}),nombres:s,screens:{...ie,...o.userScales.screens}}}var es={spacing:!1,radio:!1,texto:!1,pantallas:!1,familias:[]};function Di(e,n){return{spacing:e.spacing||n.spacing,radio:e.radio||n.radio,texto:e.texto||n.texto,pantallas:e.pantallas||n.pantallas,familias:[...new Set([...e.familias,...n.familias])]}}function Wl(e){let n=[];for(let s of e.matchAll(/@theme\b[^{;]*\{/g)){let o=s.index+s[0].length,r=1,a=o;for(;a<e.length&&r>0;a++)e[a]==="{"?r++:e[a]==="}"&&r--;n.push({desde:s.index,contenido:e.slice(o,a-1)})}return n}function Oi(e){let n=es;for(let{contenido:s}of Wl(e)){let o=[...s.matchAll(/(?<![\w-])--([A-Za-z0-9_-]+)\s*:/g)].map(r=>r[1]);n=Di(n,{spacing:o.some(r=>r==="spacing"||r.startsWith("spacing-")),radio:o.some(r=>r==="radius"||r.startsWith("radius-")),texto:o.some(r=>r.startsWith("text-")),pantallas:o.some(r=>r.startsWith("breakpoint-")),familias:o.flatMap(r=>/^color-([a-z][a-z0-9]*(?:-[a-z][a-z0-9]*)*)-\d+$/.exec(r)?.[1]??[])})}return n}var Il=new Set(il),Nl=new Set(rl),Fu=/^(?:bg|text|border|ring|outline|fill|stroke|from|via|to|divide|accent|caret|decoration|shadow|placeholder)-[a-z]+(?:-[a-z]+)*-\d{2,3}(?:\/\d+)?$/,Vu=/^!?-?[a-z][a-z0-9-]*-?\[/,Wu=/^(?:hover|focus|focus-visible|focus-within|active|disabled|enabled|checked|invalid|required|optional|visited|target|open|empty|first|last|only|odd|even|first-of-type|last-of-type|dark|print|rtl|ltr|portrait|landscape|before|after|placeholder|file|marker|selection|backdrop|motion-safe|motion-reduce|contrast-more|forced-colors|sm|md|lg|xl|\d+xl|(?:group|peer|aria|data|has|not|max|min|supports|in|nth)-.+|@.+|\[.+)$/,Uu=/[-:]/,Bu=/(?<![\w:-])(?:class|className|class:list)\s*=\s*("[^"]*"|'[^']*')|("(?:[^"\\\n]|\\.)*"|'(?:[^'\\\n]|\\.)*'|`(?:[^`\\]|\\.)*`)/g,Pl=/(?<!\S)()(\S+)/g,Hu=/(?<![\w$.])(?:clsx|cn|cx|classnames|classNames|twMerge|twJoin|cva|tv)\s*\(/g,Gu=/(?<![\w.-])(?:class:list|className|class)\s*=\s*\{/g,Ju=/(?<![\w.-])(?:v-bind)?:class\s*=\s*(["'])/g,Zu=/(?<![\w:-])(?:class|className|class:list)\s*=\s*(["'])/g,Ll=/(?<![\w.-])class:([^\s={}>/"'`]+)/g,_l=/(?<![\w:.-])ts(?![\w:-])/;function Ku(e,n){let s=e[n];for(let o=n+1;o<e.length;o++)if(e[o]==="\\")o++;else{if(e[o]===s)return o;if(s!=="`"&&e[o]===`
3383
- `)return n}return n}function Fl(e,n,s,o){let r=1;for(let a=n;a<e.length;a++){let l=e[a];if(l==='"'||l==="'"||l==="`")a=Ku(e,a);else if(l===s)r++;else if(l===o&&--r===0)return a}return-1}var Xu=e=>[...e.matchAll(/<style[^>]*>[\s\S]*?<\/style>/g)].map(n=>[n.index,n.index+n[0].length]);function Ul(e,n){let{nombres:s,esCss:o=!1}=n,r=n.tema??es,a=Qu(n.mapa,s,r.familias),l=new Map(a.filas.map(x=>[x.tailwind,x])),i=Ai({mapa:a,screens:n.screens,esComponente:x=>s.has(`ts-${x}`)}),c=Ai({mapa:a,screens:n.screens}),d=new Set(a.sinEquivalente.flatMap(x=>x.clases)),u=[...d].filter(x=>/^[a-z-]+-\*$/.test(x)).map(x=>x.slice(0,-1)),y=new Set([...Object.keys(n.screens),...a.variantes.map(x=>x.tailwind.slice(0,-1))]),t=new Set([...Nl].filter(x=>s.has(`ts-${x}`)&&l.get(x)?.scope!==x)),m=[],h=[],g=[],b=[],p=(x,j,A,O)=>h.push({l\u00EDnea:x,token:j,tipo:A,motivo:O}),v=[];for(let x=e.indexOf(`
3385
+ `):r.nada),console.log(r.resumen(l.length,h,!!e.write,y,m,t)),c.size&&console.log(r.porTipo([...c].sort().map(([g,b])=>`${g} ${b}`).join(", ")))}import no from"node:fs";import Gt from"node:path";var Gu=[[/^dark$/,"dark-variant"],[/^(has|group-has|peer-has)-/,"has-variant"],[/^(not|group-not|peer-not)-/,"not-variant"],[/^(first|last|only|odd|even|first-of-type|last-of-type)$/,"structural-variant"],[/^(group-|peer-)?focus-within$/,"focus-within-variant"],[/^motion-(safe|reduce)$/,"motion-variant"],[/^supports-/,"supports-variant"]],Ju=/^(max-)?(\d*xl|sm|md|lg)$/;function as(e){let n=[],s=0,o=0;for(let r=0;r<e.length;r++){let a=e[r];a==="["||a==="("?s++:a==="]"||a===")"?s--:a===":"&&s===0&&(n.push(e.slice(o,r)),o=r+1)}return n.push(e.slice(o)),n}var Mi=/^(group|peer)(\/[a-z][a-z0-9-]*)?$/;function qi(e){let{mapa:n,esComponente:s}=e,o=Vt(e.screens??ce),r=new Map(n.filas.map(h=>[h.tailwind,h])),a=new Map(n.colores.prefijos.map(h=>[h.tailwind,h])),l=new Set(n.colores.familiasCompartidas),i=new Set(n.colores.escalonesCompartidos),c=new Map(n.sinEquivalente.flatMap(h=>h.clases.map(g=>[g,h.motivo]))),d=[...c].filter(([h])=>/^[a-z-]+-\*$/.test(h)).map(([h,g])=>[h.slice(0,-1),g]),u=h=>h?[{code:"map-note",params:{note:h}}]:[];function y(h){let g=r.get(h);if(g)return{scope:g.scope,exacta:g.exacta,notas:u(g.nota)};let b=/^(bg|text|border|ring)-(.+)-(\d+)$/.exec(h);if(b&&l.has(b[2])&&i.has(b[3])){let p=a.get(b[1]);return{scope:`${p.taisho}-${b[2]}-${b[3]}`,exacta:!1,notas:[...u(n.colores.nota),...u(p.nota)]}}}function t(h){let g=/^(?:bg|text|border|ring)-(.+)-(\d+)(\/\d+)?$/.exec(h);if(g&&g[3])return{code:"opacity-modifier",params:{class:h,opacity:g[3]}};if(g&&n.colores.familiasSoloTailwind.includes(g[1]))return{code:"color-family-missing",params:{family:g[1]}};if(g&&l.has(g[1]))return{code:"color-step-missing",params:{step:g[2],family:g[1],steps:[...n.colores.escalonesCompartidos]}};if(h.includes("["))return{code:"arbitrary-value",params:{class:h}};let b=c.get(h)??d.find(([p])=>h.startsWith(p))?.[1];return b?{code:"no-equivalent",params:{class:h,reason:b}}:{code:"not-in-map",params:{class:h}}}function m(h){if(h.includes("["))return{motivo:{code:"arbitrary-variant",params:{variant:h}}};for(let[b,p]of Gu)if(b.test(h))return{motivo:{code:p,params:{}}};if(/^data-ts-/.test(h))return{motivo:{code:"data-ts-variant",params:{}}};let g=`${h}:`;return jt([g],o).ok?{prefijo:g}:Ju.test(h)?{motivo:{code:"breakpoint-missing",params:{variant:h}}}:{motivo:{code:"unknown-variant",params:{variant:h}}}}return h=>{let g=as(h),b=g.at(-1),p=(D,W)=>({origen:h,tipo:D,motivo:W});if(b.startsWith("!")||b.endsWith("!"))return p("important",{code:"important",params:{}});let v=[];for(let D of g.slice(0,-1)){let W=m(D);if("motivo"in W)return p("variant",W.motivo);v.push(W.prefijo)}let f;if(Mi.test(b)?f={scope:b,exacta:!0,notas:[]}:b==="@container"?f={scope:"cq",exacta:!0,notas:[]}:f=y(b),!f)return s?.(b)?p("component",{code:"component-variant",params:{class:b}}):p("base",t(b));if(v.length&&(Mi.test(b)||b==="@container"))return p("base",{code:"marker-with-variants",params:{class:b}});let w=v;if(v.length){let D=jt(v,o);if(!D.ok)if(D.motivo==="orden"&&D.canonica)w=D.canonica;else return p("chain",{code:"invalid-chain",params:{chain:`${g.slice(0,-1).join(":")}:`}})}let k=[...f.notas];w.includes("disabled:")&&k.push({code:"disabled-wider",params:{}});let P=w.join("");return{origen:h,scope:`${P}${f.scope}`,taisho:`${P}${Mi.test(b)?b:`ts-${f.scope}`}`,exacta:f.exacta,...k.length?{notas:k}:{}}}}function Zl(e,n={}){let{nombres:s}=Rn(e,n),o=Et(e,n);return{mapa:_s({vigentes:s,esc:Ts({gridMins:Object.keys(o.userGridMins)}),familias:Object.keys(Kt(o.userColors,o.userStates))}),nombres:s,screens:{...ce,...o.userScales.screens}}}var ls={spacing:!1,radio:!1,texto:!1,pantallas:!1,familias:[]};function Ii(e,n){return{spacing:e.spacing||n.spacing,radio:e.radio||n.radio,texto:e.texto||n.texto,pantallas:e.pantallas||n.pantallas,familias:[...new Set([...e.familias,...n.familias])]}}function Kl(e){let n=[];for(let s of e.matchAll(/@theme\b[^{;]*\{/g)){let o=s.index+s[0].length,r=1,a=o;for(;a<e.length&&r>0;a++)e[a]==="{"?r++:e[a]==="}"&&r--;n.push({desde:s.index,contenido:e.slice(o,a-1)})}return n}function Pi(e){let n=ls;for(let{contenido:s}of Kl(e)){let o=[...s.matchAll(/(?<![\w-])--([A-Za-z0-9_-]+)\s*:/g)].map(r=>r[1]);n=Ii(n,{spacing:o.some(r=>r==="spacing"||r.startsWith("spacing-")),radio:o.some(r=>r==="radius"||r.startsWith("radius-")),texto:o.some(r=>r.startsWith("text-")),pantallas:o.some(r=>r.startsWith("breakpoint-")),familias:o.flatMap(r=>/^color-([a-z][a-z0-9]*(?:-[a-z][a-z0-9]*)*)-\d+$/.exec(r)?.[1]??[])})}return n}var Wl=new Set(dl),Ul=new Set(pl),Zu=/^(?:bg|text|border|ring|outline|fill|stroke|from|via|to|divide|accent|caret|decoration|shadow|placeholder)-[a-z]+(?:-[a-z]+)*-\d{2,3}(?:\/\d+)?$/,Ku=/^!?-?[a-z][a-z0-9-]*-?\[/,Xu=/^(?:hover|focus|focus-visible|focus-within|active|disabled|enabled|checked|invalid|required|optional|visited|target|open|empty|first|last|only|odd|even|first-of-type|last-of-type|dark|print|rtl|ltr|portrait|landscape|before|after|placeholder|file|marker|selection|backdrop|motion-safe|motion-reduce|contrast-more|forced-colors|sm|md|lg|xl|\d+xl|(?:group|peer|aria|data|has|not|max|min|supports|in|nth)-.+|@.+|\[.+)$/,Yu=/[-:]/,Qu=/(?<![\w:-])(?:class|className|class:list)\s*=\s*("[^"]*"|'[^']*')|("(?:[^"\\\n]|\\.)*"|'(?:[^'\\\n]|\\.)*'|`(?:[^`\\]|\\.)*`)/g,Bl=/(?<!\S)()(\S+)/g,tg=/(?<![\w$.])(?:clsx|cn|cx|classnames|classNames|twMerge|twJoin|cva|tv)\s*\(/g,eg=/(?<![\w.-])(?:class:list|className|class)\s*=\s*\{/g,ng=/(?<![\w.-])(?:v-bind)?:class\s*=\s*(["'])/g,sg=/(?<![\w:-])(?:class|className|class:list)\s*=\s*(["'])/g,Hl=/(?<![\w.-])class:([^\s={}>/"'`]+)/g,Gl=/(?<![\w:.-])ts(?![\w:-])/;function og(e,n){let s=e[n];for(let o=n+1;o<e.length;o++)if(e[o]==="\\")o++;else{if(e[o]===s)return o;if(s!=="`"&&e[o]===`
3386
+ `)return n}return n}function Jl(e,n,s,o){let r=1;for(let a=n;a<e.length;a++){let l=e[a];if(l==='"'||l==="'"||l==="`")a=og(e,a);else if(l===s)r++;else if(l===o&&--r===0)return a}return-1}var ig=e=>[...e.matchAll(/<style[^>]*>[\s\S]*?<\/style>/g)].map(n=>[n.index,n.index+n[0].length]);function Xl(e,n){let{nombres:s,esCss:o=!1}=n,r=n.tema??ls,a=ag(n.mapa,s,r.familias),l=new Map(a.filas.map(x=>[x.tailwind,x])),i=qi({mapa:a,screens:n.screens,esComponente:x=>s.has(`ts-${x}`)}),c=qi({mapa:a,screens:n.screens}),d=new Set(a.sinEquivalente.flatMap(x=>x.clases)),u=[...d].filter(x=>/^[a-z-]+-\*$/.test(x)).map(x=>x.slice(0,-1)),y=new Set([...Object.keys(n.screens),...a.variantes.map(x=>x.tailwind.slice(0,-1))]),t=new Set([...Ul].filter(x=>s.has(`ts-${x}`)&&l.get(x)?.scope!==x)),m=[],h=[],g=[],b=[],p=(x,C,R,j)=>h.push({l\u00EDnea:x,token:C,tipo:R,motivo:j}),v=[];for(let x=e.indexOf(`
3384
3387
  `);x>=0;x=e.indexOf(`
3385
- `,x+1))v.push(x);let f=x=>{let j=0,A=v.length;for(;j<A;){let O=j+A>>1;v[O]<x?j=O+1:A=O}return j+1};function w(x){return l.has(x)||d.has(x)||u.some(j=>x.startsWith(j))||Fu.test(x)||Vu.test(x)||Nl.has(x)||x==="group"||x==="peer"||x==="@container"||/^(?:group|peer)\/|^@container\//.test(x)?!0:x.startsWith("!")||x.endsWith("!")?w(x.replace(/^!|!$/g,"")):x.includes("-")&&Il.has(x.replace(/^-/,"").split("-")[0])}let k=x=>x.length>1&&x.slice(0,-1).every(j=>Wu.test(j)||y.has(j)),I=x=>{if(/["'`=\\<>]/.test(x))return!1;let j=ts(x);return k(j)?j.at(-1)!=="":w(j.at(-1))};function D(x,j){let A=ts(x),O=A.at(-1);if(j){let nt=O.replace(/^[!-]/,"").split("-")[0];return I(x)||Il.has(nt)?{k:"no",tipo:"fragment",motivo:{code:"runtime-class",params:{}}}:{k:"ajena"}}if(r.pantallas&&A.slice(0,-1).some(nt=>y.has(nt)))return{k:"no",tipo:"theme-value",motivo:{code:"theme-breakpoints",params:{}}};let V=l.get(O);if(V){if(r.spacing&&V.familia==="medidas"&&V.px!==void 0)return{k:"no",tipo:"theme-value",motivo:{code:"theme-spacing",params:{class:O,px:V.px}}};if(r.radio&&V.familia==="radio")return{k:"no",tipo:"theme-value",motivo:{code:"theme-radius",params:{class:O}}};if(r.texto&&V.familia==="tama\xF1o de texto")return{k:"no",tipo:"theme-value",motivo:{code:"theme-text",params:{class:O}}}}if(A.length===1&&t.has(O))return{k:"no",tipo:"conflict",motivo:{code:"component-conflict",params:{class:O}}};let et=i(x);return"tipo"in et?et.tipo==="component"&&A.length===1&&!w(O)?{k:"ajena",nombre:!0}:et.tipo==="component"&&A.length===1?W(c(x)):et.tipo==="base"&&!k(A)&&!w(O)?{k:"ajena"}:W(et):{k:"conv",r:et}}let W=x=>({k:"no",tipo:x.tipo,motivo:x.motivo}),J=[],Z=new Set;if(!o){for(let x of e.matchAll(Hu)){let j=x.index+x[0].length,A=Fl(e,j,"(",")");A>0&&J.push([j,A])}for(let x of e.matchAll(Gu)){let j=x.index+x[0].length,A=Fl(e,j,"{","}");A>0&&J.push([j,A])}for(let x of e.matchAll(Ju)){let j=x.index+x[0].length-1;Z.add(j),J.push([j+1,e.indexOf(x[1],j+1)])}for(let x of e.matchAll(Zu)){let j=x.index+x[0].length-1,A=e.indexOf(x[1],j+1);A>0&&J.push([j+1,A])}}let M=x=>J.some(([j,A])=>x>=j&&x<A),q=o?[[0,e.length]]:Xu(e),F=x=>q.some(([j,A])=>x>=j&&x<A),P=new WeakMap,T={convertir:!1,llave:!1,heredaLlave:!1},N=x=>x.estaticas.flatMap((j,A)=>[...j.matchAll(Pl)].map(O=>({token:O[2],pegado:A>0&&O.index===0||A<x.estaticas.length-1&&O.index+O[0].length===j.length}))),z=x=>({code:"classlist",params:x.k==="conv"?{converted:x.r.scope}:{}}),L=o?{texto:e,llaves:0}:Bs(e,{literal:Bu,tokenizador:Pl,reconoce:()=>!0,protegido:F,lineaDe:f,politica:x=>{let j=f(x.abs),A=N(x).filter(K=>K.token!=="ts");if(x.classList){for(let{token:K,pegado:ot}of A){let dt=D(K,ot);dt.k==="ajena"?g.push({l\u00EDnea:j,token:K}):p(j,K,"classlist",z(dt))}return T}if(!x.esAtributo&&Z.has(x.abs))return{convertir:!0,llave:!1,heredaLlave:!1,dentro:!0};if(!x.esAtributo&&!M(x.abs)){if(x.tieneLlave||x.etiqueta&&/[\w:@.-]+\s*=\s*$/.test(x.fuente.slice(Math.max(0,x.abs-60),x.abs)))return T;if(!(A.length>=2&&A.every(K=>!K.pegado&&I(K.token)))){for(let{token:K,pegado:ot}of A)!ot&&Uu.test(K)&&I(K)&&b.push({l\u00EDnea:j,token:K,tipo:"possible-class",motivo:{code:"possible-class",params:{}}});return T}}if(x.tieneLlave){for(let{token:K,pegado:ot}of A){let dt=ts(K),st=D(K,ot);s.has(`ts-${dt.at(-1)}`)&&!ot&&st.k!=="no"?g.push({l\u00EDnea:j,token:K}):st.k==="ajena"?g.push({l\u00EDnea:j,token:K}):st.k==="no"?p(j,K,st.tipo,st.motivo):p(j,K,"already-scoped",{code:"already-scoped",params:{class:K,converted:st.r.scope}})}return T}let O=A.map(({token:K,pegado:ot})=>D(K,ot)),V=O.some(K=>K.k==="conv"),et=V||x.llaveDelContenedor,nt=O.map((K,ot)=>K.k==="ajena"&&K.nombre&&et?{k:"no",tipo:"conflict",motivo:{code:"name-conflict",params:{class:A[ot].token}}}:K),rt=A.filter((K,ot)=>nt[ot].k==="no"&&nt[ot].tipo==="conflict").map(K=>K.token);return rt.length?(A.forEach((K,ot)=>{let dt=nt[ot];dt.k==="ajena"?g.push({l\u00EDnea:j,token:K.token}):dt.k==="no"?p(j,K.token,dt.tipo,dt.motivo):p(j,K.token,"untouched",{code:"untouched",params:{class:K.token,converted:dt.r.scope,conflicts:rt}})}),T):(P.set(x,{evals:nt,i:0}),{convertir:!0,llave:V&&!x.llaveDelContenedor,heredaLlave:et})},token:({token:x,l\u00EDnea:j,literal:A})=>{let O=P.get(A),V=O.evals[O.i++];return V.k==="conv"?(m.push({l\u00EDnea:j,origen:x,scope:V.r.scope,exacta:V.r.exacta,...V.r.notas?{notas:V.r.notas}:{}}),V.r.scope):(V.k==="no"?p(j,x,V.tipo,V.motivo):g.push({l\u00EDnea:j,token:x}),null)}}),G=L.texto,X=L.llaves;if(!o){let x=[...e.matchAll(Ll)].filter(A=>A[1]!=="list").map(A=>({i:A.index,nombre:A[1],tenia:F(A.index)||_l.test($(e,A.index))})),j=0;G=G.replace(Ll,(A,O,V)=>{if(O==="list")return A;let et=x[j++],nt=f(et.i);if(et.tenia)return g.push({l\u00EDnea:nt,token:`class:${O}`}),A;let rt=D(O,!1);if(rt.k==="ajena")g.push({l\u00EDnea:nt,token:`class:${O}`});else if(rt.k==="no")p(nt,`class:${O}`,rt.tipo,rt.motivo);else{m.push({l\u00EDnea:nt,origen:`class:${O}`,scope:`class:${rt.r.scope}`,exacta:rt.r.exacta,...rt.r.notas?{notas:rt.r.notas}:{}});let K=Xt(G,V);return K&&!_l.test($(G,V))&&b.push({l\u00EDnea:nt,token:`class:${rt.r.scope}`,tipo:"missing-ts",motivo:{code:"directive-without-ts",params:{component:Ve(K.nombre)}}}),`class:${rt.r.scope}`}return A})}for(let[x,j]of q)E(e.slice(x,j),x);for(let x of e.matchAll(/(?:from\s*|require\(\s*|import\(\s*)(["'])tailwind-merge\1/g))b.push({l\u00EDnea:f(x.index),token:"tailwind-merge",tipo:"merge",motivo:{code:"tailwind-merge",params:{}}});function $(x,j){let A=Xt(x,j);return A?x.slice(A.desde,A.hasta).replace(/class:[^\s=>/]+/g,""):""}function E(x,j){let A=O=>f(j+O);for(let O of x.matchAll(/@apply\s+([^;}]+)/g)){let V=O[1].replace(/!important/g,"").split(/\s+/).filter(Boolean),et=V.map(st=>({c:st,ev:D(st,!1)})),nt=et.map(({c:st,ev:kt})=>kt.k==="conv"?kt.r.scope:st).join(" "),rt=et.filter(({ev:st})=>st.k!=="conv").map(({c:st,ev:kt})=>({class:st,reason:kt.k==="no"?kt.motivo:null})),K=Yu(x,O.index),ot=/^\.([A-Za-z_][\w-]*)$/.exec(K)?.[1],dt=rt.length===0&&!!ot&&/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/.test(ot)&&!s.has(`ts-${ot}`)&&et.every(({ev:st})=>st.k==="conv"&&!st.r.scope.includes(":"));b.push({l\u00EDnea:A(O.index),token:`@apply ${V.join(" ")}`,tipo:"apply",motivo:{code:"apply",params:{translation:nt,untranslated:rt}},...dt?{sugerencia:`utilities: { '${ot}': [${et.map(({ev:st})=>`'${st.r.scope}'`).join(", ")}] }`}:{}})}for(let O of x.matchAll(/@import\s+(?:url\(\s*)?["']tailwindcss[^"']*["'][^;]*;?|@tailwind\s+\w+\s*;?/g))b.push({l\u00EDnea:A(O.index),token:O[0].trim(),tipo:"import",motivo:{code:"tailwind-import",params:{}}});for(let O of Wl(x)){let V=Oi(`@theme {${O.contenido}}`),et={families:V.familias,breakpoints:V.pantallas,radius:V.radio,spacing:V.spacing,text:V.texto};b.push({l\u00EDnea:A(O.desde),token:"@theme",tipo:"theme",motivo:{code:"theme-block",params:et}})}for(let[O,V]of[[/@source\b[^;]*;?/g,"source"],[/@plugin\b[^;]*;?/g,"plugin"],[/@config\b[^;]*;?/g,"config"]])for(let et of x.matchAll(O))b.push({l\u00EDnea:A(et.index),token:et[0].trim(),tipo:V,motivo:{code:"tailwind-directive",params:{directive:V}}})}return h.sort((x,j)=>x.l\u00EDnea-j.l\u00EDnea),b.sort((x,j)=>x.l\u00EDnea-j.l\u00EDnea),{texto:G,llaves:X,convertidas:m,sinConvertir:h,ajenas:g,fuera:b,totales:{tokens:m.length+h.length+g.length,convertidos:m.length,sinConvertir:h.length,ajenos:g.length}}}function Yu(e,n){let s=0,o=n-1;for(;o>=0;o--)if(e[o]==="}")s++;else if(e[o]==="{"){if(s===0)break;s--}if(o<0)return"";let r=e.slice(0,o);return r.slice(Math.max(r.lastIndexOf("}"),r.lastIndexOf(";"),r.lastIndexOf("{"))+1).trim()}function Qu(e,n,s){if(!s.length)return e;let o=e.colores,r=i=>o.escalonesCompartidos.every(c=>n.has(`ts-bg-${i}-${c}`)),a=s.filter(i=>!o.familiasCompartidas.includes(i)&&o.familiasSoloTaisho.includes(i)&&r(i)),l=s.filter(i=>!o.familiasCompartidas.includes(i)&&!o.familiasSoloTaisho.includes(i)&&!o.familiasSoloTailwind.includes(i));return{...e,colores:{...o,familiasCompartidas:[...o.familiasCompartidas,...a],familiasSoloTailwind:[...o.familiasSoloTailwind,...l]}}}var tg=["**/*.{html,svelte,vue,astro,jsx,tsx,js,ts,css}"],eg="*.{html,svelte,vue,astro,jsx,tsx,js,ts,css}",Mi=["dist","build","coverage"],ng=/\.(html?|svelte|vue|astro|jsx|tsx|[mc]?[jt]s|css|md|mdx)$/;function sg(e){let n=r=>Number(/\d+/.exec(r)?.[0])||null,s=r=>{try{return JSON.parse(Js.readFileSync(r,"utf8"))}catch{return null}};for(let r=e;;r=Lt.dirname(r)){let a=s(Lt.join(r,"node_modules/tailwindcss/package.json"))?.version;if(typeof a=="string")return{version:a,major:n(a),fuente:"node_modules"};if(Lt.dirname(r)===r)break}let o=s(Lt.join(e,"package.json"));for(let r of["dependencies","devDependencies"]){let a=o?.[r]?.tailwindcss;if(a)return{version:a,major:n(a),fuente:"package.json"}}return{version:null,major:null,fuente:null}}var Gs=(e,n)=>`${e}:${n}`;function og(e){let n=new Map;for(let s of e)n.set(s,(n.get(s)??0)+1);return[...n].sort((s,o)=>o[1]-s[1]||(s[0]<o[0]?-1:1)).map(([s,o])=>`${s} \xD7${o}`)}var Bl=new Set(["classlist","fragment"]);function ig(e){let n=[],s=(p="")=>n.push(p),o=B().tailwind;s(o.cabecera(e.write)),s(""),s(e.tailwind.version?o.version(e.tailwind.version,e.tailwind.fuente==="node_modules"?"node_modules":"package.json",Ds):o.sinTailwind(Ds.replace(".x",""))),s(e.config?o.config(e.config):o.sinConfig),s(e.write?o.escribe:o.commitAntes);let r=e.archivos,a=r.flatMap(p=>p.r.sinConvertir.map(v=>({...v,file:p.file}))),l=r.flatMap(p=>p.r.fuera.map(v=>({...v,file:p.file}))),i=r.flatMap(p=>p.r.ajenas.map(v=>v.token)),c=r.flatMap(p=>p.r.convertidas.map(v=>({...v,file:p.file}))),d=r.filter(p=>p.cambia);s(""),s(o.convertidos(e.write,d.length)),d.length||s(o.nada);for(let p of d)s(o.archivo(p.file,p.r.totales.convertidos,p.r.llaves));let u=a.filter(p=>p.tipo==="conflict");if(u.length){s(""),s(o.choques(u.length));for(let p of u)s(` ${Gs(p.file,p.l\u00EDnea)} ${p.token} [conflict] ${Be(p.motivo,xt())}`)}let y=new Map;for(let p of c.filter(v=>!v.exacta)){let v=y.get(p.origen)??{scope:p.scope,notas:p.notas,donde:[]};v.donde.push(Gs(p.file,p.l\u00EDnea)),y.set(p.origen,v)}if(y.size){s(""),s(o.aprox(y.size));for(let[p,v]of[...y].sort((f,w)=>f[0]<w[0]?-1:1))s(` ${p} \u2192 ${v.scope} \xD7${v.donde.length}${v.notas?` ${tl(v.notas,xt()).replace(/\.\. /g,". ")}`:""}`),s(` ${v.donde.join(", ")}`)}let t=a.filter(p=>p.tipo!=="conflict"&&!Bl.has(p.tipo));if(t.length){s(""),s(o.pendientes(t.length));for(let p of t)s(` ${Gs(p.file,p.l\u00EDnea)} ${p.token} [${p.tipo}] ${Be(p.motivo,xt())}`)}let m=[...a.filter(p=>Bl.has(p.tipo)).map(p=>({file:p.file,l\u00EDnea:p.l\u00EDnea,token:p.token,tipo:p.tipo,motivo:Be(p.motivo,xt()),sugerencia:void 0})),...l.map(p=>({file:p.file,l\u00EDnea:p.l\u00EDnea,token:p.token,tipo:p.tipo,motivo:Be(p.motivo,xt()),sugerencia:p.sugerencia}))].sort((p,v)=>p.file===v.file?p.l\u00EDnea-v.l\u00EDnea:p.file<v.file?-1:1),h=e.configsTailwind.map(p=>({file:p,motivo:o.configTailwind}));if(m.length||h.length){s(""),s(o.fuera(m.length+h.length));for(let p of h)s(` ${p.file} [config] ${p.motivo}`);for(let p of m)s(` ${Gs(p.file,p.l\u00EDnea)} ${p.token} [${p.tipo}] ${p.motivo}`),p.sugerencia&&s(o.sugerencia(p.sugerencia))}i.length&&(s(""),s(o.ajenas(i.length)),s(` ${og(i).join(", ")}`));let g=r.reduce((p,v)=>({llaves:p.llaves+v.r.llaves,conv:p.conv+v.r.totales.convertidos}),{llaves:0,conv:0}),b=m.length+h.length;s(""),s(o.resumen({revisados:e.revisados,tocados:d.length,write:e.write,convertidas:g.conv,conOtroValor:y.size?[...y.values()].reduce((p,v)=>p+v.donde.length,0):null,llaves:g.llaves,choques:u.length,pendientes:t.length,fuera:b,ajenas:i.length})),s(""),s(o.paraTerminar),u.length+t.length+b+g.conv===0&&s(o.nadaQueConvertir),u.length&&s(o.resolverChoques),t.length+b&&s(o.resolverAMano),y.size&&s(o.mirarAprox);for(let p of o.convivencia)s(p);return s(o.sacarTailwind),n}var ns=e=>{console.error(e),process.exitCode=2};async function Hl(e){let n=process.cwd();yt(e.lang);let s=sg(n);if(s.major!==null&&s.major<4)return ns(B().tailwind.tailwind3(s.version));let o=Lt.resolve(n,e.configPath??"taisho.config.ts"),r={themes:{},fontFaces:[]},a=!1;if(Js.existsSync(o)){let b;try{b=await Ge(o)}catch(p){console.error(B().config.noCargo(Lt.relative(n,o))),console.error(wt(p)),process.exitCode=2;return}if(!He(b))return ns(B().config.invalida(Lt.relative(n,o)));r=b,a=!0,yt(e.lang,r)}else if(e.configPath)return ns(B().config.noEncontrada(Lt.relative(n,o)));let l=!!e.rutas?.length,i=!l&&r.content?Lt.dirname(o):n,c=Lt.resolve(n,e.outDir??"taisho"),d=(b,p)=>Re({globs:b,baseDir:i,outDir:c,excluir:p}).filter(v=>ng.test(v.file)),u;if(l){let b=new Map;for(let p of e.rutas){let v=d([Qn(p,n,i,eg)]);if(!v.length)return ns(B().check.ningunoCoincide(p));for(let f of v)b.set(f.file,f)}u=[...b.values()]}else r.content?u=[...new Map([...d(r.content),...d(["**/*.css"],Mi)].map(b=>[b.file,b])).values()]:u=d(tg,Mi);if(!u.length)return ns(B().tailwind.sinArchivos);let t=(l?[...u,...d(["**/*.css"],Mi)]:u).reduce((b,p)=>Di(b,/\.(css|svelte|html?|vue|astro)$/.test(p.file)?Oi(p.content):es),es),m=Vl(r,xn(n)),h=u.sort((b,p)=>b.file<p.file?-1:b.file>p.file?1:0).map(b=>{let p=Ul(b.content,{...m,tema:t,esCss:b.file.endsWith(".css")});return{file:b.file,cambia:p.texto!==b.content,r:p}});if(e.write)for(let b of h)b.cambia&&!b.file.endsWith(".css")&&Js.writeFileSync(Lt.resolve(i,b.file),b.r.texto);let g=Js.readdirSync(n).filter(b=>/^tailwind\.config\.[cm]?[jt]s$/.test(b));for(let b of ig({write:!!e.write,tailwind:s,config:a?Lt.relative(n,o):null,configsTailwind:g,archivos:h,revisados:u.length}))console.log(b)}import ss from"node:fs";import qt from"node:path";function qi(e){return new Set([...e.matchAll(/(--[\w-]+)\s*:/g)].map(n=>n[1]))}function Ii(e,n={}){let s=Et(e,n),{themeEntries:o,userFonts:r,defaultStates:a,userScales:l}=s,{reset:i,atomic:c,utilities:d,components:u}=Se(e,s,n),y=[i,c,d,u,...o.map(t=>we(xe(t,r,a,l,n)))];return new Set(y.flatMap(t=>[...qi(t)]))}var rg=/(?<![\w#$-])((?:@?[a-z0-9-]+:)*)(ts-[A-Za-z0-9/-]*[A-Za-z0-9])(?![A-Za-z0-9_/-])(?!\$\{)/g,ag=/var\(\s*(--(?:ts|color)-[\w-]+)(?![\w${}-])\s*([,)])/g;function lg(e,n){let s=[];for(let o of e){let r=Ms(o.content);for(let a of o.content.matchAll(rg)){let[l,i,c]=a,d={file:o.file,...r(a.index),rule:"legacy-prefix",severity:"error"};if(n.nombres.has(c)){let t=`${i}${c.slice(3)}`;s.push({...d,code:"legacy-prefix",params:{class:l,suggestion:t},suggestion:t});continue}let u=n.mapa.get(c);if(!u)continue;let y=u.nuevo&&`${i}${u.nuevo.slice(3)}`;s.push(y?{...d,code:"legacy-prefix-renamed",params:{class:l,suggestion:y},suggestion:y}:{...d,code:"legacy-prefix-removed",params:{class:l}})}}return s}function cg(e,n){let s=[],o=new Set,r=[...e];for(let a of r)for(let l of a.content.matchAll(/(?<!var\(\s*)(--(?:ts|color)-[\w-]+)/g))o.add(l[1]);for(let a of r){let l=Ms(a.content);for(let i of a.content.matchAll(ag)){let c=i[1];if(i[2]===","||n.has(c)||o.has(c))continue;let d=mt(c,n);s.push({file:a.file,...l(i.index),rule:"unknown-var",severity:"error",code:"unknown-var",params:{variable:c,...d&&{suggestion:d}},...d&&{suggestion:d}})}}return s}function Gl(e,n,s=[],o={},r={}){let a=new Set([...Ii(n,o),...s]),l=[...al(e,Se(n,Et(n,o),o),r),...lg(e,kn(n,o)),...cg(e,a)];return[...new Map(l.map(c=>[`${c.file}\0${c.line}\0${c.column}\0${c.rule}`,c])).values()].sort((c,d)=>c.file<d.file?-1:c.file>d.file?1:c.line-d.line||c.column-d.column||(c.rule<d.rule?-1:c.rule>d.rule?1:0))}var dg=["**/*.{html,svelte,vue,astro,jsx,tsx,js,ts,css}"],pg=["dist","build","coverage"],ug=/\.(html?|svelte|vue|astro|jsx|tsx|[mc]?[jt]s|css|md|mdx)$/,gg=1,Zs=e=>{console.error(e),process.exitCode=2},mg=()=>({themes:{taisho:Je},fontFaces:[],defaultStates:Us});function fg(e,n){let s=new Set,o=[],r=(l,i)=>{if(/^\.{0,2}\//.test(l))return qt.resolve(i,l);for(let c=i;;c=qt.dirname(c)){let d=qt.join(c,"node_modules",l);if(ss.existsSync(d))return d;if(qt.dirname(c)===c)return null}},a=(l,i)=>{let c=r(l.split("?")[0],i);if(!c||s.has(c)||!ss.existsSync(c)||!ss.statSync(c).isFile())return;s.add(c);let d=ss.readFileSync(c,"utf8");o.push(d);for(let u of d.matchAll(/@import\s+(?:url\()?['"]([^'"]+\.css)['"]/g))a(u[1],qt.dirname(c))};for(let l of e){let i=qt.dirname(qt.resolve(n,l.file));for(let c of l.content.matchAll(/@import\s+(?:url\()?['"]([^'"]+\.css[^'"]*)['"]|\bimport\s+(?:[\w$]+\s+from\s+)?['"]([^'"]+\.css[^'"]*)['"]/g))a(c[1]??c[2],i)}return o}async function Jl(e){let n=process.cwd(),s=qt.resolve(n,e.configPath??"taisho.config.ts");yt(e.lang);let o=null;if(ss.existsSync(s)){let m;try{m=await Ge(s)}catch(h){console.error(B().config.noCargo(qt.relative(n,s))),console.error(wt(h)),process.exitCode=2;return}if(!He(m))return Zs(B().config.invalida(qt.relative(n,s)));o=m,yt(e.lang,o)}else if(e.configPath)return Zs(B().config.noEncontrada(qt.relative(n,s)));let r=!!e.globs?.length,a=!r&&o?.content?qt.dirname(s):n,l=qt.resolve(n,"taisho"),i=(m,h)=>Re({globs:m,baseDir:a,outDir:l,excluir:h}).filter(g=>ug.test(g.file)),c;if(r){let m=new Map;for(let h of e.globs){let g=i([Qn(h,n,a,"*.{html,svelte,vue,astro,jsx,tsx,js,ts,css}")]);if(!g.length)return Zs(B().check.ningunoCoincide(h));for(let b of g)m.set(b.file,b)}c=[...m.values()]}else if(c=o?.content?i(o.content):i(dg,pg),!c.length)return Zs(B().check.sinArchivos(!!o?.content));let d=xn(n),u=[];if(!o){o=mg();let m=fg(c,a),h=Ii(o,d);u=m.flatMap(p=>[...qi(p)]);let g=Je.colors.brand,b={...Je.colors};for(let p of m)for(let v of p.matchAll(/--color-([a-z][\w-]*)-500\s*:/g))h.has(`--color-${v[1]}-500`)||(b[v[1]]=g);o={...o,themes:{taisho:{...Je,colors:b}}}}let y=Gl(c,o,u,d,{otherScale:e.otherScale}),t=B().check.resumen(c.length,y.length);if(e.format==="json"){let m=y.map(g=>({file:g.file,line:g.line,column:g.column,rule:g.rule,severity:g.severity,code:g.code,params:g.params,message:bn(g,xt()),...g.suggestion&&{suggestion:g.suggestion}})),h={version:gg,files:c.length,warnings:m};console.log(JSON.stringify(h,null,2)),console.error(t)}else{for(let m of y)console.log(`${m.file}:${m.line}:${m.column} ${m.rule} ${bn(m,xt())}`);console.log(t)}y.some(m=>m.severity==="error")&&(process.exitCode=1)}import Zl from"node:fs";import ht from"node:path";import{performance as Ks}from"node:perf_hooks";var hg=10,bg=/[*?[\]{}()!]/;function yg(e){let n=e.split("/").filter(o=>o&&o!=="."),s=n.findIndex(o=>bg.test(o));return(s===-1?n.slice(0,-1):n.slice(0,s)).join("/")}var vg=e=>e.split("/").includes("node_modules");async function xg(e={}){let n=e.cwd??process.cwd(),s=ht.resolve(n,e.configPath??"taisho.config.ts"),o=ht.dirname(s),r=ht.resolve(n,e.outDir??"taisho"),a=ht.join(n,"package.json"),l=ht.resolve(n,de),i=Ks.now();yt(e.lang);let c=await Ws(s,e.lang),d=Vs(c,{targetDir:r,cwd:n,configDir:o,soloSiCambia:!0}),u=q=>ht.relative(o,q).split(ht.sep).join("/"),y=q=>Ht(ht.resolve(o,q)),t=()=>new Set(c.content?Zn({globs:c.content,baseDir:o,outDir:r}):[]),m=new Set,h=new Map,g=new Map,b,p=Promise.resolve(),v,f=!1,w=!1;function k(q,F,P){if(q===r||q.startsWith(r+ht.sep))return;let T;try{T=Zl.readdirSync(q,{withFileTypes:!0})}catch{return}P.add(q);for(let N of T)!N.isDirectory()||N.name.startsWith(".")||N.name==="node_modules"&&!F||k(ht.join(q,N.name),F,P)}function I(q,F,P){let T=P?ht.join(q,P.toString()):q;g.set(T,F==="rename"||!P?"rename":g.get(T)??"change"),b??=setTimeout(()=>{b=void 0;let N=g;g=new Map,p=p.then(()=>W(N))},hg)}function D(){let q=new Set([o,n,...d.manifiestos.map(P=>ht.dirname(P))]);k(l,!1,q);for(let P of c.content??[])k(ht.resolve(o,yg(P)),vg(P),q);for(let[P,T]of h)q.has(P)||(T.close(),h.delete(P));let F=[];for(let P of q)if(!h.has(P)){F.push(P);try{let T=Zl.watch(P,(N,z)=>I(P,N,z));T.on("error",()=>{T.close(),h.delete(P)}),h.set(P,T)}catch{}}F.length&&w&&!f&&(clearTimeout(v),v=setTimeout(()=>{I(o,"rename",null);for(let P of d.manifiestos)F.includes(ht.dirname(P))&&I(ht.dirname(P),"change",ht.basename(P));for(let P of m){let T=ht.resolve(o,P);F.some(N=>T.startsWith(N+ht.sep))&&I(ht.dirname(T),"change",ht.basename(T))}},50)),w=!0}async function W(q){if(f)return;let F=Ks.now();try{let P,T=!1,N=new Set(d.manifiestos),z=new Set,C=!1,L=!1;for(let[O,V]of q)if(O===s)try{P=await Ws(s,e.lang)}catch(et){console.error(`\u2716 taisho config: ${wt(et)}`)}else O===a||N.has(O)?T=!0:O.startsWith(l+ht.sep)&&O.endsWith(".svg")?z.add(u(O)):(V==="rename"||!m.has(u(O)))&&(C=!0,O.endsWith(".css")&&!O.startsWith(r+ht.sep)&&(L=!0));let G=[],X=[],$=m;if(P&&(c=P),P||C){D();let O=t();G=[...O].filter(V=>!m.has(V)),X=[...m].filter(V=>!O.has(V)),m=O}for(let O of q.keys()){let V=u(O);m.has(V)&&!G.includes(V)&&z.add(V)}if(!P&&!T&&!z.size&&!G.length&&!X.length){if(!L||!c.content)return;let O=await d.actualizar({});for(let V of O.avisosNuevos)console.warn(`\u26A0 ${Ue(V,xt())}`);return}let E;try{E=await d.actualizar({cambiados:[...z],altas:G,bajas:X,configCambio:P??(T?c:void 0)}),T&&D()}catch(O){m=$,console.error(`\u2716 ${wt(O)}`);return}let x=[P||T?1:0,z.size,G.length,X.length].filter(O=>O>0).length,j=x===1&&G.length?"+":x===1&&X.length?"\u2212":"\u21BB",A=[...P?[Ht(s)]:[],...T?[Ht(a)]:[],...[...z].map(y),...G.map(O=>x===1?y(O):`+ ${y(O)}`),...X.map(O=>x===1?y(O):`\u2212 ${y(O)}`)].join(", ");console.log(`${j} ${A} \u2192 ${E.escritos.length?E.escritos.join(", "):B().watch.sinCambios} (${Math.round(Ks.now()-F)} ms)`);for(let O of E.avisosNuevos)console.warn(`\u26A0 ${Ue(O,xt())}`)}catch(P){console.error(`\u2716 ${wt(P)}`)}}D(),m=t();let J=d.actualizar();p=J.then(()=>{},()=>{});let Z;try{Z=await J,D()}catch(q){f=!0,clearTimeout(b),clearTimeout(v);for(let F of h.values())F.close();throw q}for(let q of Z.avisosNuevos)console.warn(`\u26A0 ${Ue(q,xt())}`);let M=Z.temas.length+2+(Z.iconos?1:0);return console.log(B().watch.alDia(Ht(r),M,Math.round(Ks.now()-i),c.content?m.size:null,de)),{async cerrar(){f=!0,clearTimeout(b),clearTimeout(v);for(let q of h.values())q.close();h.clear(),await p}}}async function Kl(e){let n;try{n=await xg(e)}catch(s){console.error(wt(s)),process.exitCode=1;return}await new Promise(s=>{let o=()=>{process.off("SIGINT",o),process.off("SIGTERM",o),s()};process.on("SIGINT",o),process.on("SIGTERM",o)}),await n.cerrar()}var kg={version:Kn()};function Xl(){console.log(B().ayuda)}var Sg=new Set(["config","format","help","version","lang","other-scale"]),Tg=new Set(["config","out","help","version","lang"]),Sn=e=>{console.error(e),process.exitCode=2};function Cg(e){let n=e.indexOf("--lang");return n!==-1?e[n+1]:e.find(s=>s.startsWith("--lang="))?.slice(7)}function jg(e){let{code:n,message:s=String(e)}=e,o=/'(-[^'\s]+)/.exec(s)?.[1];return o&&n==="ERR_PARSE_ARGS_UNKNOWN_OPTION"?B().cli.opcionDesconocida(o):o&&n==="ERR_PARSE_ARGS_INVALID_OPTION_VALUE"?s.includes("does not take")?B().cli.sinValor(o):B().cli.faltaValor(o):s}async function zg(){let e=Cg(process.argv.slice(2));yt(Fe(e)?e:void 0);let n;try{n=Eg()}catch(s){Sn(jg(s));return}await Rg(n)}function Eg(){return wg({options:{help:{type:"boolean",short:"h",default:!1},version:{type:"boolean",short:"v",default:!1},config:{type:"string"},out:{type:"string"},yes:{type:"boolean",short:"y",default:!1},from:{type:"string"},write:{type:"boolean",default:!1},format:{type:"string"},strict:{type:"boolean",default:!1},"other-scale":{type:"boolean",default:!1},lang:{type:"string"}},allowPositionals:!0,strict:!0})}async function Rg(e){let{lang:n}=e.values;if(n!==void 0&&!Fe(n)){Sn(B().cli.langInvalido(n));return}let s=Fe(n)?n:void 0;if(e.values.version){console.log(`taisho ${kg.version}`);return}if(e.values.help||e.positionals.length===0){Xl();return}let[o,...r]=e.positionals;if(o!=="check"&&o!=="watch"&&!(o==="migrate"&&e.values.from==="tailwind")&&e.values.format!==void 0)return Sn(B().cli.opcionDesconocida("--format"));if(!["generate","check","watch"].includes(o)&&e.values.strict)return Sn(B().cli.opcionDesconocida("--strict"));if(o!=="check"&&e.values["other-scale"])return Sn(B().cli.opcionDesconocida("--other-scale"));switch(o){case"init":await La(r[0],{yes:e.values.yes,lang:s});return;case"generate":{let a=e.values.config??r[0];await Dl({configPath:a,outDir:e.values.out,strict:e.values.strict,lang:s});return}case"migrate":{if(e.values.from==="tailwind"){let{yes:a,format:l}=e.values;if(a||l!==void 0){console.error(B().cli.tailwindNoAcepta([a&&"--yes",l!==void 0&&"--format"].filter(i=>!!i))),process.exitCode=2;return}try{await Hl({write:e.values.write,configPath:e.values.config,outDir:e.values.out,rutas:r,lang:s})}catch(i){console.error("Error:",wt(i)),process.exitCode=2}return}await ql({from:e.values.from,write:e.values.write,configPath:e.values.config,outDir:e.values.out,rutas:r,lang:s});return}case"check":{let{format:a,yes:l,write:i,...c}=e.values,d=[...Object.entries(c).filter(([u,y])=>y!==void 0&&y!==!1&&!Sg.has(u)).map(([u])=>`--${u}`),...l?["--yes"]:[],...i?["--write"]:[]];if(d.length){console.error(B().cli.checkNoAcepta(d)),process.exitCode=2;return}if(a!==void 0&&a!=="text"&&a!=="json"){console.error(B().cli.formatoInvalido(a)),process.exitCode=2;return}try{await Jl({globs:r,configPath:e.values.config,format:a,lang:s,otherScale:e.values["other-scale"]})}catch(u){console.error("Error:",wt(u)),process.exitCode=2}return}case"watch":{let{yes:a,write:l,...i}=e.values,c=[...Object.entries(i).filter(([d,u])=>u!==void 0&&u!==!1&&!Tg.has(d)).map(([d])=>`--${d}`),...a?["--yes"]:[],...l?["--write"]:[]];if(c.length){console.error(B().cli.watchNoAcepta(c)),process.exitCode=2;return}await Kl({configPath:e.values.config??r[0],outDir:e.values.out,lang:s});return}default:Sn(B().cli.comandoDesconocido(o)),Xl();return}}process.argv[1]===$g(import.meta.url)&&zg().catch(e=>{console.error("Error:",wt(e)),process.exitCode=1});export{zg as main};
3388
+ `,x+1))v.push(x);let f=x=>{let C=0,R=v.length;for(;C<R;){let j=C+R>>1;v[j]<x?C=j+1:R=j}return C+1};function w(x){return l.has(x)||d.has(x)||u.some(C=>x.startsWith(C))||Zu.test(x)||Ku.test(x)||Ul.has(x)||x==="group"||x==="peer"||x==="@container"||/^(?:group|peer)\/|^@container\//.test(x)?!0:x.startsWith("!")||x.endsWith("!")?w(x.replace(/^!|!$/g,"")):x.includes("-")&&Wl.has(x.replace(/^-/,"").split("-")[0])}let k=x=>x.length>1&&x.slice(0,-1).every(C=>Xu.test(C)||y.has(C)),P=x=>{if(/["'`=\\<>]/.test(x))return!1;let C=as(x);return k(C)?C.at(-1)!=="":w(C.at(-1))};function D(x,C){let R=as(x),j=R.at(-1);if(C){let nt=j.replace(/^[!-]/,"").split("-")[0];return P(x)||Wl.has(nt)?{k:"no",tipo:"fragment",motivo:{code:"runtime-class",params:{}}}:{k:"ajena"}}if(r.pantallas&&R.slice(0,-1).some(nt=>y.has(nt)))return{k:"no",tipo:"theme-value",motivo:{code:"theme-breakpoints",params:{}}};let F=l.get(j);if(F){if(r.spacing&&F.familia==="medidas"&&F.px!==void 0)return{k:"no",tipo:"theme-value",motivo:{code:"theme-spacing",params:{class:j,px:F.px}}};if(r.radio&&F.familia==="radio")return{k:"no",tipo:"theme-value",motivo:{code:"theme-radius",params:{class:j}}};if(r.texto&&F.familia==="tama\xF1o de texto")return{k:"no",tipo:"theme-value",motivo:{code:"theme-text",params:{class:j}}}}if(R.length===1&&t.has(j))return{k:"no",tipo:"conflict",motivo:{code:"component-conflict",params:{class:j}}};let et=i(x);return"tipo"in et?et.tipo==="component"&&R.length===1&&!w(j)?{k:"ajena",nombre:!0}:et.tipo==="component"&&R.length===1?W(c(x)):et.tipo==="base"&&!k(R)&&!w(j)?{k:"ajena"}:W(et):{k:"conv",r:et}}let W=x=>({k:"no",tipo:x.tipo,motivo:x.motivo}),G=[],J=new Set;if(!o){for(let x of e.matchAll(tg)){let C=x.index+x[0].length,R=Jl(e,C,"(",")");R>0&&G.push([C,R])}for(let x of e.matchAll(eg)){let C=x.index+x[0].length,R=Jl(e,C,"{","}");R>0&&G.push([C,R])}for(let x of e.matchAll(ng)){let C=x.index+x[0].length-1;J.add(C),G.push([C+1,e.indexOf(x[1],C+1)])}for(let x of e.matchAll(sg)){let C=x.index+x[0].length-1,R=e.indexOf(x[1],C+1);R>0&&G.push([C+1,R])}}let A=x=>G.some(([C,R])=>x>=C&&x<R),M=o?[[0,e.length]]:ig(e),V=x=>M.some(([C,R])=>x>=C&&x<R),N=new WeakMap,T={convertir:!1,llave:!1,heredaLlave:!1},U=x=>x.estaticas.flatMap((C,R)=>[...C.matchAll(Bl)].map(j=>({token:j[2],pegado:R>0&&j.index===0||R<x.estaticas.length-1&&j.index+j[0].length===C.length}))),S=x=>({code:"classlist",params:x.k==="conv"?{converted:x.r.scope}:{}}),O=o?{texto:e,llaves:0}:Qs(e,{literal:Qu,tokenizador:Bl,reconoce:()=>!0,protegido:V,lineaDe:f,politica:x=>{let C=f(x.abs),R=U(x).filter(X=>X.token!=="ts");if(x.classList){for(let{token:X,pegado:ot}of R){let dt=D(X,ot);dt.k==="ajena"?g.push({l\u00EDnea:C,token:X}):p(C,X,"classlist",S(dt))}return T}if(!x.esAtributo&&J.has(x.abs))return{convertir:!0,llave:!1,heredaLlave:!1,dentro:!0};if(!x.esAtributo&&!A(x.abs)){if(x.tieneLlave||x.etiqueta&&/[\w:@.-]+\s*=\s*$/.test(x.fuente.slice(Math.max(0,x.abs-60),x.abs)))return T;if(!(R.length>=2&&R.every(X=>!X.pegado&&P(X.token)))){for(let{token:X,pegado:ot}of R)!ot&&Yu.test(X)&&P(X)&&b.push({l\u00EDnea:C,token:X,tipo:"possible-class",motivo:{code:"possible-class",params:{}}});return T}}if(x.tieneLlave){for(let{token:X,pegado:ot}of R){let dt=as(X),rt=D(X,ot);s.has(`ts-${dt.at(-1)}`)&&!ot&&rt.k!=="no"?g.push({l\u00EDnea:C,token:X}):rt.k==="ajena"?g.push({l\u00EDnea:C,token:X}):rt.k==="no"?p(C,X,rt.tipo,rt.motivo):p(C,X,"already-scoped",{code:"already-scoped",params:{class:X,converted:rt.r.scope}})}return T}let j=R.map(({token:X,pegado:ot})=>D(X,ot)),F=j.some(X=>X.k==="conv"),et=F||x.llaveDelContenedor,nt=j.map((X,ot)=>X.k==="ajena"&&X.nombre&&et?{k:"no",tipo:"conflict",motivo:{code:"name-conflict",params:{class:R[ot].token}}}:X),lt=R.filter((X,ot)=>nt[ot].k==="no"&&nt[ot].tipo==="conflict").map(X=>X.token);return lt.length?(R.forEach((X,ot)=>{let dt=nt[ot];dt.k==="ajena"?g.push({l\u00EDnea:C,token:X.token}):dt.k==="no"?p(C,X.token,dt.tipo,dt.motivo):p(C,X.token,"untouched",{code:"untouched",params:{class:X.token,converted:dt.r.scope,conflicts:lt}})}),T):(N.set(x,{evals:nt,i:0}),{convertir:!0,llave:F&&!x.llaveDelContenedor,heredaLlave:et})},token:({token:x,l\u00EDnea:C,literal:R})=>{let j=N.get(R),F=j.evals[j.i++];return F.k==="conv"?(m.push({l\u00EDnea:C,origen:x,scope:F.r.scope,exacta:F.r.exacta,...F.r.notas?{notas:F.r.notas}:{}}),F.r.scope):(F.k==="no"?p(C,x,F.tipo,F.motivo):g.push({l\u00EDnea:C,token:x}),null)}}),B=O.texto,Z=O.llaves;if(!o){let x=[...e.matchAll(Hl)].filter(R=>R[1]!=="list").map(R=>({i:R.index,nombre:R[1],tenia:V(R.index)||Gl.test($(e,R.index))})),C=0;B=B.replace(Hl,(R,j,F)=>{if(j==="list")return R;let et=x[C++],nt=f(et.i);if(et.tenia)return g.push({l\u00EDnea:nt,token:`class:${j}`}),R;let lt=D(j,!1);if(lt.k==="ajena")g.push({l\u00EDnea:nt,token:`class:${j}`});else if(lt.k==="no")p(nt,`class:${j}`,lt.tipo,lt.motivo);else{m.push({l\u00EDnea:nt,origen:`class:${j}`,scope:`class:${lt.r.scope}`,exacta:lt.r.exacta,...lt.r.notas?{notas:lt.r.notas}:{}});let X=Qt(B,F);return X&&!Gl.test($(B,F))&&b.push({l\u00EDnea:nt,token:`class:${lt.r.scope}`,tipo:"missing-ts",motivo:{code:"directive-without-ts",params:{component:Ke(X.nombre)}}}),`class:${lt.r.scope}`}return R})}for(let[x,C]of M)z(e.slice(x,C),x);for(let x of e.matchAll(/(?:from\s*|require\(\s*|import\(\s*)(["'])tailwind-merge\1/g))b.push({l\u00EDnea:f(x.index),token:"tailwind-merge",tipo:"merge",motivo:{code:"tailwind-merge",params:{}}});function $(x,C){let R=Qt(x,C);return R?x.slice(R.desde,R.hasta).replace(/class:[^\s=>/]+/g,""):""}function z(x,C){let R=j=>f(C+j);for(let j of x.matchAll(/@apply\s+([^;}]+)/g)){let F=j[1].replace(/!important/g,"").split(/\s+/).filter(Boolean),et=F.map(rt=>({c:rt,ev:D(rt,!1)})),nt=et.map(({c:rt,ev:xt})=>xt.k==="conv"?xt.r.scope:rt).join(" "),lt=et.filter(({ev:rt})=>rt.k!=="conv").map(({c:rt,ev:xt})=>({class:rt,reason:xt.k==="no"?xt.motivo:null})),X=rg(x,j.index),ot=/^\.([A-Za-z_][\w-]*)$/.exec(X)?.[1],dt=lt.length===0&&!!ot&&/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/.test(ot)&&!s.has(`ts-${ot}`)&&et.every(({ev:rt})=>rt.k==="conv"&&!rt.r.scope.includes(":"));b.push({l\u00EDnea:R(j.index),token:`@apply ${F.join(" ")}`,tipo:"apply",motivo:{code:"apply",params:{translation:nt,untranslated:lt}},...dt?{sugerencia:`utilities: { '${ot}': [${et.map(({ev:rt})=>`'${rt.r.scope}'`).join(", ")}] }`}:{}})}for(let j of x.matchAll(/@import\s+(?:url\(\s*)?["']tailwindcss[^"']*["'][^;]*;?|@tailwind\s+\w+\s*;?/g))b.push({l\u00EDnea:R(j.index),token:j[0].trim(),tipo:"import",motivo:{code:"tailwind-import",params:{}}});for(let j of Kl(x)){let F=Pi(`@theme {${j.contenido}}`),et={families:F.familias,breakpoints:F.pantallas,radius:F.radio,spacing:F.spacing,text:F.texto};b.push({l\u00EDnea:R(j.desde),token:"@theme",tipo:"theme",motivo:{code:"theme-block",params:et}})}for(let[j,F]of[[/@source\b[^;]*;?/g,"source"],[/@plugin\b[^;]*;?/g,"plugin"],[/@config\b[^;]*;?/g,"config"]])for(let et of x.matchAll(j))b.push({l\u00EDnea:R(et.index),token:et[0].trim(),tipo:F,motivo:{code:"tailwind-directive",params:{directive:F}}})}return h.sort((x,C)=>x.l\u00EDnea-C.l\u00EDnea),b.sort((x,C)=>x.l\u00EDnea-C.l\u00EDnea),{texto:B,llaves:Z,convertidas:m,sinConvertir:h,ajenas:g,fuera:b,totales:{tokens:m.length+h.length+g.length,convertidos:m.length,sinConvertir:h.length,ajenos:g.length}}}function rg(e,n){let s=0,o=n-1;for(;o>=0;o--)if(e[o]==="}")s++;else if(e[o]==="{"){if(s===0)break;s--}if(o<0)return"";let r=e.slice(0,o);return r.slice(Math.max(r.lastIndexOf("}"),r.lastIndexOf(";"),r.lastIndexOf("{"))+1).trim()}function ag(e,n,s){if(!s.length)return e;let o=e.colores,r=i=>o.escalonesCompartidos.every(c=>n.has(`ts-bg-${i}-${c}`)),a=s.filter(i=>!o.familiasCompartidas.includes(i)&&o.familiasSoloTaisho.includes(i)&&r(i)),l=s.filter(i=>!o.familiasCompartidas.includes(i)&&!o.familiasSoloTaisho.includes(i)&&!o.familiasSoloTailwind.includes(i));return{...e,colores:{...o,familiasCompartidas:[...o.familiasCompartidas,...a],familiasSoloTailwind:[...o.familiasSoloTailwind,...l]}}}var lg=["**/*.{html,svelte,vue,astro,jsx,tsx,js,ts,css}"],cg="*.{html,svelte,vue,astro,jsx,tsx,js,ts,css}",Ni=["dist","build","coverage"],dg=/\.(html?|svelte|vue|astro|jsx|tsx|[mc]?[jt]s|css|md|mdx)$/;function pg(e){let n=r=>Number(/\d+/.exec(r)?.[0])||null,s=r=>{try{return JSON.parse(no.readFileSync(r,"utf8"))}catch{return null}};for(let r=e;;r=Gt.dirname(r)){let a=s(Gt.join(r,"node_modules/tailwindcss/package.json"))?.version;if(typeof a=="string")return{version:a,major:n(a),fuente:"node_modules"};if(Gt.dirname(r)===r)break}let o=s(Gt.join(e,"package.json"));for(let r of["dependencies","devDependencies"]){let a=o?.[r]?.tailwindcss;if(a)return{version:a,major:n(a),fuente:"package.json"}}return{version:null,major:null,fuente:null}}var eo=(e,n)=>`${e}:${n}`;function ug(e){let n=new Map;for(let s of e)n.set(s,(n.get(s)??0)+1);return[...n].sort((s,o)=>o[1]-s[1]||(s[0]<o[0]?-1:1)).map(([s,o])=>`${s} \xD7${o}`)}var Yl=new Set(["classlist","fragment"]);function gg(e){let n=[],s=(p="")=>n.push(p),o=H().tailwind;s(o.cabecera(e.write)),s(""),s(e.tailwind.version?o.version(e.tailwind.version,e.tailwind.fuente==="node_modules"?"node_modules":"package.json",Ls):o.sinTailwind(Ls.replace(".x",""))),s(e.config?o.config(e.config):o.sinConfig),s(e.write?o.escribe:o.commitAntes);let r=e.archivos,a=r.flatMap(p=>p.r.sinConvertir.map(v=>({...v,file:p.file}))),l=r.flatMap(p=>p.r.fuera.map(v=>({...v,file:p.file}))),i=r.flatMap(p=>p.r.ajenas.map(v=>v.token)),c=r.flatMap(p=>p.r.convertidas.map(v=>({...v,file:p.file}))),d=r.filter(p=>p.cambia);s(""),s(o.convertidos(e.write,d.length)),d.length||s(o.nada);for(let p of d)s(o.archivo(p.file,p.r.totales.convertidos,p.r.llaves));let u=a.filter(p=>p.tipo==="conflict");if(u.length){s(""),s(o.choques(u.length));for(let p of u)s(` ${eo(p.file,p.l\u00EDnea)} ${p.token} [conflict] ${Ye(p.motivo,wt())}`)}let y=new Map;for(let p of c.filter(v=>!v.exacta)){let v=y.get(p.origen)??{scope:p.scope,notas:p.notas,donde:[]};v.donde.push(eo(p.file,p.l\u00EDnea)),y.set(p.origen,v)}if(y.size){s(""),s(o.aprox(y.size));for(let[p,v]of[...y].sort((f,w)=>f[0]<w[0]?-1:1))s(` ${p} \u2192 ${v.scope} \xD7${v.donde.length}${v.notas?` ${il(v.notas,wt()).replace(/\.\. /g,". ")}`:""}`),s(` ${v.donde.join(", ")}`)}let t=a.filter(p=>p.tipo!=="conflict"&&!Yl.has(p.tipo));if(t.length){s(""),s(o.pendientes(t.length));for(let p of t)s(` ${eo(p.file,p.l\u00EDnea)} ${p.token} [${p.tipo}] ${Ye(p.motivo,wt())}`)}let m=[...a.filter(p=>Yl.has(p.tipo)).map(p=>({file:p.file,l\u00EDnea:p.l\u00EDnea,token:p.token,tipo:p.tipo,motivo:Ye(p.motivo,wt()),sugerencia:void 0})),...l.map(p=>({file:p.file,l\u00EDnea:p.l\u00EDnea,token:p.token,tipo:p.tipo,motivo:Ye(p.motivo,wt()),sugerencia:p.sugerencia}))].sort((p,v)=>p.file===v.file?p.l\u00EDnea-v.l\u00EDnea:p.file<v.file?-1:1),h=e.configsTailwind.map(p=>({file:p,motivo:o.configTailwind}));if(m.length||h.length){s(""),s(o.fuera(m.length+h.length));for(let p of h)s(` ${p.file} [config] ${p.motivo}`);for(let p of m)s(` ${eo(p.file,p.l\u00EDnea)} ${p.token} [${p.tipo}] ${p.motivo}`),p.sugerencia&&s(o.sugerencia(p.sugerencia))}i.length&&(s(""),s(o.ajenas(i.length)),s(` ${ug(i).join(", ")}`));let g=r.reduce((p,v)=>({llaves:p.llaves+v.r.llaves,conv:p.conv+v.r.totales.convertidos}),{llaves:0,conv:0}),b=m.length+h.length;s(""),s(o.resumen({revisados:e.revisados,tocados:d.length,write:e.write,convertidas:g.conv,conOtroValor:y.size?[...y.values()].reduce((p,v)=>p+v.donde.length,0):null,llaves:g.llaves,choques:u.length,pendientes:t.length,fuera:b,ajenas:i.length})),s(""),s(o.paraTerminar),u.length+t.length+b+g.conv===0&&s(o.nadaQueConvertir),u.length&&s(o.resolverChoques),t.length+b&&s(o.resolverAMano),y.size&&s(o.mirarAprox);for(let p of o.convivencia)s(p);return s(o.sacarTailwind),n}var cs=e=>{console.error(e),process.exitCode=2};async function Ql(e){let n=process.cwd();yt(e.lang);let s=pg(n);if(s.major!==null&&s.major<4)return cs(H().tailwind.tailwind3(s.version));let o=Gt.resolve(n,e.configPath??"taisho.config.ts"),r={themes:{},fontFaces:[]},a=!1;if(no.existsSync(o)){let b;try{b=await tn(o)}catch(p){console.error(H().config.noCargo(Gt.relative(n,o))),console.error($t(p)),process.exitCode=2;return}if(!Qe(b))return cs(H().config.invalida(Gt.relative(n,o)));r=b,a=!0,yt(e.lang,r)}else if(e.configPath)return cs(H().config.noEncontrada(Gt.relative(n,o)));let l=!!e.rutas?.length,i=!l&&r.content?Gt.dirname(o):n,c=be(r,o,e.outDir,n),d=(b,p)=>qe({globs:b,baseDir:i,outDir:c,excluir:p}).filter(v=>dg.test(v.file)),u;if(l){let b=new Map;for(let p of e.rutas){let v=d([rs(p,n,i,cg)]);if(!v.length)return cs(H().check.ningunoCoincide(p));for(let f of v)b.set(f.file,f)}u=[...b.values()]}else r.content?u=[...new Map([...d(r.content),...d(["**/*.css"],Ni)].map(b=>[b.file,b])).values()]:u=d(lg,Ni);if(!u.length)return cs(H().tailwind.sinArchivos);let t=(l?[...u,...d(["**/*.css"],Ni)]:u).reduce((b,p)=>Ii(b,/\.(css|svelte|html?|vue|astro)$/.test(p.file)?Pi(p.content):ls),ls),m=Zl(r,zn(n)),h=u.sort((b,p)=>b.file<p.file?-1:b.file>p.file?1:0).map(b=>{let p=Xl(b.content,{...m,tema:t,esCss:b.file.endsWith(".css")});return{file:b.file,cambia:p.texto!==b.content,r:p}});if(e.write)for(let b of h)b.cambia&&!b.file.endsWith(".css")&&no.writeFileSync(Gt.resolve(i,b.file),b.r.texto);let g=no.readdirSync(n).filter(b=>/^tailwind\.config\.[cm]?[jt]s$/.test(b));for(let b of gg({write:!!e.write,tailwind:s,config:a?Gt.relative(n,o):null,configsTailwind:g,archivos:h,revisados:u.length}))console.log(b)}import ds from"node:fs";import _t from"node:path";function Li(e){return new Set([...e.matchAll(/(--[\w-]+)\s*:/g)].map(n=>n[1]))}function _i(e,n={}){let s=Et(e,n),{themeEntries:o,userFonts:r,defaultStates:a,userScales:l}=s,{reset:i,atomic:c,utilities:d,components:u}=Ee(e,s,n),y=[i,c,d,u,...o.map(t=>Ce(Se(t,r,a,l,n)))];return new Set(y.flatMap(t=>[...Li(t)]))}var mg=/(?<![\w#$-])((?:@?[a-z0-9-]+:)*)(ts-[A-Za-z0-9/-]*[A-Za-z0-9])(?![A-Za-z0-9_/-])(?!\$\{)/g,fg=/var\(\s*(--(?:ts|color)-[\w-]+)(?![\w${}-])\s*([,)])/g;function hg(e,n){let s=[];for(let o of e){let r=Fs(o.content);for(let a of o.content.matchAll(mg)){let[l,i,c]=a,d={file:o.file,...r(a.index),rule:"legacy-prefix",severity:"error"};if(n.nombres.has(c)){let t=`${i}${c.slice(3)}`;s.push({...d,code:"legacy-prefix",params:{class:l,suggestion:t},suggestion:t});continue}let u=n.mapa.get(c);if(!u)continue;let y=u.nuevo&&`${i}${u.nuevo.slice(3)}`;s.push(y?{...d,code:"legacy-prefix-renamed",params:{class:l,suggestion:y},suggestion:y}:{...d,code:"legacy-prefix-removed",params:{class:l}})}}return s}function bg(e,n){let s=[],o=new Set,r=[...e];for(let a of r)for(let l of a.content.matchAll(/(?<!var\(\s*)(--(?:ts|color)-[\w-]+)/g))o.add(l[1]);for(let a of r){let l=Fs(a.content);for(let i of a.content.matchAll(fg)){let c=i[1];if(i[2]===","||n.has(c)||o.has(c))continue;let d=gt(c,n);s.push({file:a.file,...l(i.index),rule:"unknown-var",severity:"error",code:"unknown-var",params:{variable:c,...d&&{suggestion:d}},...d&&{suggestion:d}})}}return s}function tc(e,n,s=[],o={},r={}){let a=new Set([..._i(n,o),...s]),l=[...ul(e,Ee(n,Et(n,o),o),r),...hg(e,Rn(n,o)),...bg(e,a)];return[...new Map(l.map(c=>[`${c.file}\0${c.line}\0${c.column}\0${c.rule}`,c])).values()].sort((c,d)=>c.file<d.file?-1:c.file>d.file?1:c.line-d.line||c.column-d.column||(c.rule<d.rule?-1:c.rule>d.rule?1:0))}var yg=["**/*.{html,svelte,vue,astro,jsx,tsx,js,ts,css}"],vg=["dist","build","coverage"],xg=/\.(html?|svelte|vue|astro|jsx|tsx|[mc]?[jt]s|css|md|mdx)$/,wg=1,so=e=>{console.error(e),process.exitCode=2},$g=()=>({themes:{taisho:en},fontFaces:[],defaultStates:Ys});function kg(e,n){let s=new Set,o=[],r=(l,i)=>{if(/^\.{0,2}\//.test(l))return _t.resolve(i,l);for(let c=i;;c=_t.dirname(c)){let d=_t.join(c,"node_modules",l);if(ds.existsSync(d))return d;if(_t.dirname(c)===c)return null}},a=(l,i)=>{let c=r(l.split("?")[0],i);if(!c||s.has(c)||!ds.existsSync(c)||!ds.statSync(c).isFile())return;s.add(c);let d=ds.readFileSync(c,"utf8");o.push(d);for(let u of d.matchAll(/@import\s+(?:url\()?['"]([^'"]+\.css)['"]/g))a(u[1],_t.dirname(c))};for(let l of e){let i=_t.dirname(_t.resolve(n,l.file));for(let c of l.content.matchAll(/@import\s+(?:url\()?['"]([^'"]+\.css[^'"]*)['"]|\bimport\s+(?:[\w$]+\s+from\s+)?['"]([^'"]+\.css[^'"]*)['"]/g))a(c[1]??c[2],i)}return o}async function ec(e){let n=process.cwd(),s=_t.resolve(n,e.configPath??"taisho.config.ts");yt(e.lang);let o=null;if(ds.existsSync(s)){let m;try{m=await tn(s)}catch(h){console.error(H().config.noCargo(_t.relative(n,s))),console.error($t(h)),process.exitCode=2;return}if(!Qe(m))return so(H().config.invalida(_t.relative(n,s)));o=m,yt(e.lang,o)}else if(e.configPath)return so(H().config.noEncontrada(_t.relative(n,s)));let r=!!e.globs?.length,a=!r&&o?.content?_t.dirname(s):n,l=be(o,s,void 0,n),i=(m,h)=>qe({globs:m,baseDir:a,outDir:l,excluir:h}).filter(g=>xg.test(g.file)),c;if(r){let m=new Map;for(let h of e.globs){let g=i([rs(h,n,a,"*.{html,svelte,vue,astro,jsx,tsx,js,ts,css}")]);if(!g.length)return so(H().check.ningunoCoincide(h));for(let b of g)m.set(b.file,b)}c=[...m.values()]}else if(c=o?.content?i(o.content):i(yg,vg),!c.length)return so(H().check.sinArchivos(!!o?.content));let d=zn(n),u=[];if(!o){o=$g();let m=kg(c,a),h=_i(o,d);u=m.flatMap(p=>[...Li(p)]);let g=en.colors.brand,b={...en.colors};for(let p of m)for(let v of p.matchAll(/--color-([a-z][\w-]*)-500\s*:/g))h.has(`--color-${v[1]}-500`)||(b[v[1]]=g);o={...o,themes:{taisho:{...en,colors:b}}}}let y=tc(c,o,u,d,{otherScale:e.otherScale}),t=H().check.resumen(c.length,y.length);if(e.format==="json"){let m=y.map(g=>({file:g.file,line:g.line,column:g.column,rule:g.rule,severity:g.severity,code:g.code,params:g.params,message:Cn(g,wt()),...g.suggestion&&{suggestion:g.suggestion}})),h={version:wg,files:c.length,warnings:m};console.log(JSON.stringify(h,null,2)),console.error(t)}else{for(let m of y)console.log(`${m.file}:${m.line}:${m.column} ${m.rule} ${Cn(m,wt())}`);console.log(t)}y.some(m=>m.severity==="error")&&(process.exitCode=1)}import nc from"node:fs";import ht from"node:path";import{performance as oo}from"node:perf_hooks";var Sg=10,Cg=/[*?[\]{}()!]/;function Tg(e){let n=e.split("/").filter(o=>o&&o!=="."),s=n.findIndex(o=>Cg.test(o));return(s===-1?n.slice(0,-1):n.slice(0,s)).join("/")}var jg=e=>e.split("/").includes("node_modules");async function zg(e={}){let n=e.cwd??process.cwd(),s=ht.resolve(n,e.configPath??"taisho.config.ts"),o=ht.dirname(s),r=ht.join(n,"package.json"),a=ht.resolve(n,me),l=oo.now();yt(e.lang);let i=await Xs(s,e.lang),c=be(i,s,e.outDir,n),d=Ks(i,{targetDir:c,cwd:n,configDir:o,soloSiCambia:!0}),u=M=>ht.relative(o,M).split(ht.sep).join("/"),y=M=>Ht(ht.resolve(o,M)),t=()=>new Set(i.content?ss({globs:i.content,baseDir:o,outDir:c}):[]),m=new Set,h=new Map,g=new Map,b,p=Promise.resolve(),v,f=!1,w=!1;function k(M,V,N){if(M===c||M.startsWith(c+ht.sep))return;let T;try{T=nc.readdirSync(M,{withFileTypes:!0})}catch{return}N.add(M);for(let U of T)!U.isDirectory()||U.name.startsWith(".")||U.name==="node_modules"&&!V||k(ht.join(M,U.name),V,N)}function P(M,V,N){let T=N?ht.join(M,N.toString()):M;g.set(T,V==="rename"||!N?"rename":g.get(T)??"change"),b??=setTimeout(()=>{b=void 0;let U=g;g=new Map,p=p.then(()=>W(U))},Sg)}function D(){let M=new Set([o,n,...d.manifiestos.map(N=>ht.dirname(N))]);k(a,!1,M);for(let N of i.content??[])k(ht.resolve(o,Tg(N)),jg(N),M);for(let[N,T]of h)M.has(N)||(T.close(),h.delete(N));let V=[];for(let N of M)if(!h.has(N)){V.push(N);try{let T=nc.watch(N,(U,S)=>P(N,U,S));T.on("error",()=>{T.close(),h.delete(N)}),h.set(N,T)}catch{}}V.length&&w&&!f&&(clearTimeout(v),v=setTimeout(()=>{P(o,"rename",null);for(let N of d.manifiestos)V.includes(ht.dirname(N))&&P(ht.dirname(N),"change",ht.basename(N));for(let N of m){let T=ht.resolve(o,N);V.some(U=>T.startsWith(U+ht.sep))&&P(ht.dirname(T),"change",ht.basename(T))}},50)),w=!0}async function W(M){if(f)return;let V=oo.now();try{let N,T=!1,U=new Set(d.manifiestos),S=new Set,q=!1,O=!1;for(let[j,F]of M)if(j===s)try{N=await Xs(s,e.lang)}catch(et){console.error(`\u2716 taisho config: ${$t(et)}`)}else j===r||U.has(j)?T=!0:j.startsWith(a+ht.sep)&&j.endsWith(".svg")?S.add(u(j)):(F==="rename"||!m.has(u(j)))&&(q=!0,j.endsWith(".css")&&!j.startsWith(c+ht.sep)&&(O=!0));let B=[],Z=[],$=m;if(N&&(i=N),N||q){D();let j=t();B=[...j].filter(F=>!m.has(F)),Z=[...m].filter(F=>!j.has(F)),m=j}for(let j of M.keys()){let F=u(j);m.has(F)&&!B.includes(F)&&S.add(F)}if(!N&&!T&&!S.size&&!B.length&&!Z.length){if(!O||!i.content)return;let j=await d.actualizar({});for(let F of j.avisosNuevos)console.warn(`\u26A0 ${Xe(F,wt())}`);return}let z;try{z=await d.actualizar({cambiados:[...S],altas:B,bajas:Z,configCambio:N??(T?i:void 0)}),T&&D()}catch(j){m=$,console.error(`\u2716 ${$t(j)}`);return}let x=[N||T?1:0,S.size,B.length,Z.length].filter(j=>j>0).length,C=x===1&&B.length?"+":x===1&&Z.length?"\u2212":"\u21BB",R=[...N?[Ht(s)]:[],...T?[Ht(r)]:[],...[...S].map(y),...B.map(j=>x===1?y(j):`+ ${y(j)}`),...Z.map(j=>x===1?y(j):`\u2212 ${y(j)}`)].join(", ");console.log(`${C} ${R} \u2192 ${z.escritos.length?z.escritos.join(", "):H().watch.sinCambios} (${Math.round(oo.now()-V)} ms)`);for(let j of z.avisosNuevos)console.warn(`\u26A0 ${Xe(j,wt())}`)}catch(N){console.error(`\u2716 ${$t(N)}`)}}D(),m=t();let G=d.actualizar();p=G.then(()=>{},()=>{});let J;try{J=await G,D()}catch(M){f=!0,clearTimeout(b),clearTimeout(v);for(let V of h.values())V.close();throw M}for(let M of J.avisosNuevos)console.warn(`\u26A0 ${Xe(M,wt())}`);let A=J.temas.length+2+(J.iconos?1:0);return console.log(H().watch.alDia(Ht(c),A,Math.round(oo.now()-l),i.content?m.size:null,me)),{async cerrar(){f=!0,clearTimeout(b),clearTimeout(v);for(let M of h.values())M.close();h.clear(),await p}}}async function sc(e){let n;try{n=await zg(e)}catch(s){console.error($t(s)),process.exitCode=1;return}await new Promise(s=>{let o=()=>{process.off("SIGINT",o),process.off("SIGTERM",o),s()};process.on("SIGINT",o),process.on("SIGTERM",o)}),await n.cerrar()}var Dg={version:os()};function oc(){console.log(H().ayuda)}var Ag=new Set(["config","format","help","version","lang","other-scale"]),Og=new Set(["config","out","help","version","lang"]),Dn=e=>{console.error(e),process.exitCode=2};function Mg(e){let n=e.indexOf("--lang");return n!==-1?e[n+1]:e.find(s=>s.startsWith("--lang="))?.slice(7)}function qg(e){let{code:n,message:s=String(e)}=e,o=/'(-[^'\s]+)/.exec(s)?.[1];return o&&n==="ERR_PARSE_ARGS_UNKNOWN_OPTION"?H().cli.opcionDesconocida(o):o&&n==="ERR_PARSE_ARGS_INVALID_OPTION_VALUE"?s.includes("does not take")?H().cli.sinValor(o):H().cli.faltaValor(o):s}async function Ig(){let e=Mg(process.argv.slice(2));yt(Je(e)?e:void 0);let n;try{n=Pg()}catch(s){Dn(qg(s));return}await Ng(n)}function Pg(){return Eg({options:{help:{type:"boolean",short:"h",default:!1},version:{type:"boolean",short:"v",default:!1},config:{type:"string"},out:{type:"string"},yes:{type:"boolean",short:"y",default:!1},from:{type:"string"},write:{type:"boolean",default:!1},format:{type:"string"},strict:{type:"boolean",default:!1},"other-scale":{type:"boolean",default:!1},lang:{type:"string"}},allowPositionals:!0,strict:!0})}async function Ng(e){let{lang:n}=e.values;if(n!==void 0&&!Je(n)){Dn(H().cli.langInvalido(n));return}let s=Je(n)?n:void 0;if(e.values.version){console.log(`taisho ${Dg.version}`);return}if(e.values.help||e.positionals.length===0){oc();return}let[o,...r]=e.positionals;if(o!=="check"&&o!=="watch"&&!(o==="migrate"&&e.values.from==="tailwind")&&e.values.format!==void 0)return Dn(H().cli.opcionDesconocida("--format"));if(!["generate","check","watch"].includes(o)&&e.values.strict)return Dn(H().cli.opcionDesconocida("--strict"));if(o!=="check"&&e.values["other-scale"])return Dn(H().cli.opcionDesconocida("--other-scale"));switch(o){case"init":await Ua(r[0],{yes:e.values.yes,lang:s});return;case"generate":{let a=e.values.config??r[0];await Ll({configPath:a,outDir:e.values.out,strict:e.values.strict,lang:s});return}case"migrate":{if(e.values.from==="tailwind"){let{yes:a,format:l}=e.values;if(a||l!==void 0){console.error(H().cli.tailwindNoAcepta([a&&"--yes",l!==void 0&&"--format"].filter(i=>!!i))),process.exitCode=2;return}try{await Ql({write:e.values.write,configPath:e.values.config,outDir:e.values.out,rutas:r,lang:s})}catch(i){console.error("Error:",$t(i)),process.exitCode=2}return}await Vl({from:e.values.from,write:e.values.write,configPath:e.values.config,outDir:e.values.out,rutas:r,lang:s});return}case"check":{let{format:a,yes:l,write:i,...c}=e.values,d=[...Object.entries(c).filter(([u,y])=>y!==void 0&&y!==!1&&!Ag.has(u)).map(([u])=>`--${u}`),...l?["--yes"]:[],...i?["--write"]:[]];if(d.length){console.error(H().cli.checkNoAcepta(d)),process.exitCode=2;return}if(a!==void 0&&a!=="text"&&a!=="json"){console.error(H().cli.formatoInvalido(a)),process.exitCode=2;return}try{await ec({globs:r,configPath:e.values.config,format:a,lang:s,otherScale:e.values["other-scale"]})}catch(u){console.error("Error:",$t(u)),process.exitCode=2}return}case"watch":{let{yes:a,write:l,...i}=e.values,c=[...Object.entries(i).filter(([d,u])=>u!==void 0&&u!==!1&&!Og.has(d)).map(([d])=>`--${d}`),...a?["--yes"]:[],...l?["--write"]:[]];if(c.length){console.error(H().cli.watchNoAcepta(c)),process.exitCode=2;return}await sc({configPath:e.values.config??r[0],outDir:e.values.out,lang:s});return}default:Dn(H().cli.comandoDesconocido(o)),oc();return}}process.argv[1]===Rg(import.meta.url)&&Ig().catch(e=>{console.error("Error:",$t(e)),process.exitCode=1});export{Ig as main};