@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/vite.js CHANGED
@@ -1,17 +1,17 @@
1
1
  /*! TaishoDS — Copyright (c) 2026 Pablo Di Filippo. Licencia MIT (ver LICENSE). */
2
- import rp from"node:fs";import bt from"node:path";import{createJiti as ap}from"jiti";import te from"node:fs";import Et from"node:path";import{performance as Dr}from"node:perf_hooks";import{transform as Ar}from"esbuild";function Tn(e,n=[]){let s=`/* Archivo auto-generado: FONTS */
2
+ import up from"node:fs";import mt from"node:path";import Fo from"node:path";import{createJiti as dp}from"jiti";import Mt from"node:fs";import jt from"node:path";import{performance as Nr}from"node:perf_hooks";import{transform as Lr}from"esbuild";function Dn(e,n=[]){let s=`/* Archivo auto-generado: FONTS */
3
3
  `;s+="/* Se genera desde las `fontFaces` de la config. NO editar a mano: se sobrescribe. */\n\n";for(let o of e){let a=o.styles??["normal"];s+=`/* ${o.source} \u2014 ${o.subsets.join(", ")} \xB7 ${o.weights.join(", ")}${a.includes("italic")?" \xB7 "+a.join(", "):""} */
4
4
  `;for(let r of o.subsets)for(let l of o.weights)for(let i of a)s+=`@import "${o.source}/${r}-${l}${i==="italic"?"-italic":""}.css";
5
5
  `;s+=`
6
6
  `}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};`:""} }
7
- `;return s}var Pr=/^(ui-)?(sans-serif|serif|monospace|system-ui|cursive|fantasy|math|emoji|fangsong|rounded)$|^-apple-system$|^BlinkMacSystemFont$/i;function Lo(e){let n=e.split(","),s=n[0].trim().replace(/^['"]|['"]$/g,"");return!s||Pr.test(s)||s.endsWith(" Fallback")||e.includes(`"${s} Fallback"`)?e:[n[0],` "${s} Fallback"`,...n.slice(1)].join(",")}var En=Math.PI/180,me=[[4.0767416621,-3.3077115913,.2309699292],[-1.2684380046,2.6097574011,-.3413193965],[-.0041960863,-.7034186147,1.707614701]],Nr=[[.8224621,.177538,0],[.0331941,.9668058,0],[.0170827,.0723974,.9105199]],Lr=Nr.map(e=>[0,1,2].map(n=>e[0]*me[0][n]+e[1]*me[1][n]+e[2]*me[2][n])),_r={srgb:me,p3:Lr},cs=[0,1,2].map(e=>.2126*me[0][e]+.7152*me[1][e]+.0722*me[2][e]);function Fr(e,n,s){let o=n*Math.cos(s*En),a=n*Math.sin(s*En),r=e+.3963377774*o+.2158037573*a,l=e-.1055613458*o-.0638541728*a,i=e-.0894841775*o-1.291485548*a;return[r*r*r,l*l*l,i*i*i]}function ze(e,n,s){let[o,a,r]=Fr(e,n,s);return cs[0]*o+cs[1]*a+cs[2]*r}function _o(e,n,s,o){let a=[];if(Math.abs(e)<1e-4)if(Math.abs(n)<1e-12)Math.abs(s)>1e-12&&a.push(-o/s);else{let l=s*s-4*n*o;if(l>=0){let i=Math.sqrt(l);a.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,p=(9*l*i-27*c-2*l*l*l)/54,h=l/3,t=d*d*d+p*p;if(t>=0){let g=Math.sqrt(t);a.push(Math.cbrt(p+g)+Math.cbrt(p-g)-h)}else{let g=Math.acos(p/Math.sqrt(-d*d*d)),b=2*Math.sqrt(-d);for(let m=0;m<3;m++)a.push(b*Math.cos((g+2*Math.PI*m)/3)-h)}}let r=1/0;for(let l of a){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<r&&(r=l)}return r}function tn(e,n,s="srgb"){if(e<=0||e>=1)return 0;let o=Math.cos(n*En),a=Math.sin(n*En),r=[.3963377774*o+.2158037573*a,-.1055613458*o-.0638541728*a,-.0894841775*o-1.291485548*a],l=e*e,i=l*e,c=.5;for(let d of _r[s]){let p=i*(d[0]+d[1]+d[2]),h=3*l*(d[0]*r[0]+d[1]*r[1]+d[2]*r[2]),t=3*e*(d[0]*r[0]*r[0]+d[1]*r[1]*r[1]+d[2]*r[2]*r[2]),g=d[0]*r[0]**3+d[1]*r[1]**3+d[2]*r[2]**3,b=_o(g,t,h,p),m=_o(g,t,h,p-1);b<c&&(c=b),m<c&&(c=m)}return c}var en=(e,n)=>(Math.max(e,n)+.05)/(Math.min(e,n)+.05);var je={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)"}}},Vr=e=>Math.sin(Math.PI*Math.min(1,Math.max(0,e)));function Fo(e,n,s,o="srgb"){let a={};for(let[r,l]of Object.entries(e)){let i=l.match(/^oklch\(\s*([\d.]+)/);if(!i){a[r]=l;continue}let c=parseFloat(i[1]),d=Math.min(n*Vr(c),tn(c,s,o)*.995);a[r]=`oklch(${i[1]} ${d.toFixed(4)} ${s})`}return a}function ds(e,n="srgb"){let s=a=>Object.fromEntries(Object.entries(a).map(([r,l])=>[r,{...l}])),o={light:s(je.light),dark:s(je.dark)};if(!e)return o;if(e.tint)for(let a of["gray","background"])o.light[a]=Fo(o.light[a],e.tint.c,e.tint.h,n),o.dark[a]=Fo(o.dark[a],e.tint.c,e.tint.h,n);for(let a of["light","dark"]){let r=e[a];if(r)for(let[l,i]of Object.entries(r))o[a][l]={...o[a][l]??{},...i}}return o}function Ur(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(a=>a+a).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 Wr(e,n,s){let o=m=>m<=.04045?m/12.92:Math.pow((m+.055)/1.055,2.4),a=o(e),r=o(n),l=o(s),i=Math.cbrt(.4122214708*a+.5363325363*r+.0514459929*l),c=Math.cbrt(.2119034982*a+.6806995451*r+.1073969566*l),d=Math.cbrt(.0883024619*a+.2817188376*r+.6299787005*l),p=.2104542553*i+.793617785*c-.0040720468*d,h=1.9779984951*i-2.428592205*c+.4505937099*d,t=.0259040371*i+.7827717662*c-.808675766*d,g=Math.sqrt(h*h+t*t),b=Math.atan2(t,h)*(180/Math.PI);return b<0&&(b+=360),{l:p,c:g,h:b}}var nn=["100","200","300","400","500","600","700","800","900","1000"],Vo=(e,n)=>e.endsWith("%")?parseFloat(e)/100*n:parseFloat(e);function Ft(e){let n=e.trim(),s=n.match(/^oklch\(\s*([\d.]+%?)\s+([\d.]+%?)\s+([\d.]+)(?:deg)?\s*\)$/i);if(s){let l=Vo(s[1],1),i=Vo(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:a,b:r}=Ur(n);return Wr(o,a,r)}var Uo=(e,n,s)=>{let o;try{o=Ft(n??s)}catch{o=Ft(s)}return{ref:e,...o,y:ze(o.l,o.c,o.h)}};function fe(e,n){let s=e?"dark":"light",o=je[s].gray,a=n?.[s]?.gray;return[Uo("var(--color-gray-100)",a?.["100"],o[100]),Uo("var(--color-gray-1000)",a?.["1000"],o[1e3])]}var Go={light:fe(!1),dark:fe(!0)};function Jo(e,n){let s=en(e,n[0].y),o=en(e,n[1].y);return s>=o?{neutral:n[0],ratio:s}:{neutral:n[1],ratio:o}}function us(e,n,s,o){return Jo(ze(e,n,s),Go[o?"dark":"light"]).neutral.ref}var Br={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]}},Wo=(e,n)=>Math.max(0,1-Math.abs(e-90)/35)*Math.max(-40,Math.min(12,80*(n-.8))),Hr=(e,n,s)=>s?(n+.05)/e-.05:e*(n+.05)-.05,Gr=(e,n,s)=>`oklch(${e.toFixed(4)} ${n.toFixed(4)} ${s.toFixed(2)})`;function Ce(e,n,s="srgb",o=Go[n]){let a=Br[n],r=n==="light",l=e.l,i=e.h,c=Math.min(e.c,tn(l,i,s)),d=en(ze(l,c,i),a.bgY),p=0,h=1/0;a.win.forEach(([f,w],u)=>{let k=(d<f?Math.log(f/d):d>w?Math.log(d/w):0)*100+Math.abs(Math.log(d/a.target[u]));k<h&&(h=k,p=u)});let[t,g]=a.win[p],b=d<t||d>g,m=Wo(i,l),x=a.target.map((f,w)=>{let u,v,k;if(w===p&&!b)u=l,v=c,k=i;else{let J=Hr(w===p?Math.min(g,Math.max(t,d)):f,a.bgY,r),H=c*a.prof[w],T=S=>{let M=(i+Wo(i,S)-m+360)%360;return[Math.min(H,tn(S,M,s)*.995),M]},I=S=>{let[M,G]=T(S);return ze(S,M,G)-J},N=0,X=1,O=I(0),A=I(1),j=0;u=.5;for(let S=0;S<60;S++){u=(N*A-X*O)/(A-O);let M=I(u);if(Math.abs(M)<1e-10)break;M<0?(N=u,O=M,j===-1&&(A/=2),j=-1):(X=u,A=M,j===1&&(O/=2),j=1)}[v,k]=T(u)}let E=ze(u,v,k),{neutral:R,ratio:L}=Jo(E,o);return{shade:nn[w],l:u,c:v,h:k,y:E,ratio:en(E,a.bgY),css:Gr(u,v,k),contrast:R.ref,contrastRatio:L,seed:w===p}});return{steps:x,seedStep:p,adjusted:b,dL:b?x[p].l-l:0}}function ps(e){let n={};for(let s of e.steps)n[s.shade]=s.css,n[`${s.shade}-contrast`]=s.contrast;return n}function gs(e,n,s="srgb",o){return ps(Ce(Ft(e),n?"dark":"light",s,o?fe(n,o):void 0))}var Jr=.02,Zr=.97,ms=e=>Ft(e).l>=Zr;function Zo(e,n,s,o){if(e==="warning"){let i=(c,d)=>{let p=c.seedStep,h=b=>Math.min(Math.max(b,0),nn.length-1),t=h(p+d),g=c.steps[t].contrast===c.steps[p].contrast?t:h(p-d);return[p,g,g]};return{light:i(s,1),dark:i(o??Ce(n,"dark"),-1)}}let a=5,r=i=>i>=8?[i,i-1,i-2]:[i,i+1,i+2],l=Math.max(s.seedStep,a);return{light:r(l),dark:r(n.c<Jr?l:a)}}function Bo(e,n,s){let o={};return["solid","solid-hover","solid-active"].forEach((a,r)=>{o[a]=`var(--color-${e}-${nn[s[r]]})`,o[`${a}-contrast`]=n.steps[s[r]].contrast}),o}function fs(e,n,s){let o={light:{},dark:{},escalas:{}};for(let[a,r]of Object.entries(e)){let l=Ft(r),i=Ce(l,"light",s,fe(!1,n)),c=Ce(l,"dark",s,fe(!0,n)),d=Zo(a,l,i,c);o.light[a]={...ps(i),...Bo(a,i,d.light)},o.dark[a]={...ps(c),...Bo(a,c,d.dark)},o.escalas[a]={light:i,dark:c}}return o}var Ko=["solid","solid-hover","solid-active"];function sn(e){return e.primary}var Ho=Object.fromEntries(Ko.flatMap(e=>[[e,`var(--color-brand-${e})`],[`${e}-contrast`,`var(--color-brand-${e}-contrast)`]]));function Kr(e,n,s){let o=Ft(e),a=Ce(o,"light",s,fe(!1,n)),r=Ce(o,"dark",s,fe(!0,n)),l=Zo("primary",o,a),i=(c,d)=>{let p={};return Ko.forEach((h,t)=>{p[h]=c.steps[d[t]].css,p[`${h}-contrast`]=c.steps[d[t]].contrast}),p};return{light:i(a,l.light),dark:i(r,l.dark),escalas:{light:a,dark:r}}}function hs(e,n,s){if(e===void 0)return{light:{primary:Ho},dark:{primary:Ho},escalas:{}};let{light:o,dark:a,escalas:r}=Kr(e,n,s);return{light:{primary:o},dark:{primary:a},escalas:{primary:r}}}function Xo(e,n){let s={};for(let[o,a]of Object.entries(n.light))for(let[r,l]of Object.entries(a)){let i=n.dark[o]?.[r]??l;l===e.light[o]?.[r]&&i===(e.dark[o]?.[r]??e.light[o]?.[r])||((s[o]??={})[r]={light:l,dark:i})}return s}var Vt={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"},Yo=["xs","sm","md","lg","xl","2xl","3xl"];function Qo(e){let n={};return Yo.slice(0,-1).forEach((s,o)=>{let a=e[Yo[o+1]];a!==void 0&&(n[s]=a)}),n}var Te={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 Ut={instant:"100ms",fast:"150ms",base:"200ms",slow:"300ms",slower:"500ms"},on={spin:"600ms","loop-fast":"1200ms","loop-base":"1600ms","loop-slow":"4000ms"},bs="1ms",an={loop:"infinite"},ys="0",Wt={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 he={tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},ti=':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))',Rn=e=>Object.keys(e).filter(n=>n!=="normal").map(n=>`--ts-ls-${n}: ${e.normal};`),On=(e,n=s=>s)=>Object.entries(e).map(([s,o])=>{let a=o.trim();if(a==="normal")return`--ts-lh-${s}: 1.35;`;let r=/^(\d+\.?\d*|\.\d+)$/.test(a);return`--ts-lh-${s}: ${r?String(Math.max(1.35,Number(a))):`max(1.35em, ${n(o)})`};`}),rn=e=>e.length?`${ti} { ${e.join(" ")} }`:"",ei=(e,n)=>{let s=`${ti} { `,o=e.indexOf(s);if(o<0)return e;let a=e.indexOf(" }",o),r=(e.slice(o+s.length,a).match(/--[\w-]+:[^;]*;/g)??[]).filter(l=>n.has(l.slice(0,l.indexOf(":"))));return e.slice(0,o)+rn(r)+e.slice(a+2)};var be={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},ee={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)"},vs={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)"},Bt={"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 ln={1:"1px",2:"2px",3:"3px",4:"4px"},ne={none:"0px",sm:"4px",md:"8px",lg:"16px",xl:"48px"},Ee={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"},Ht={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)"},cn={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},ni="0.56";var W=(e,n="fast",s="standard")=>`${e} var(--ts-duration-${n}) var(--ts-ease-${s})`,ye={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)"},It="var(--ts-material-shadow-rgb, 0 0 0)",si={sm:`0 1px 2px rgb(${It} / 0.04)`,md:`0 1px 1px rgb(${It} / 0.02), 0 4px 8px -2px rgb(${It} / 0.04), 0 12px 20px -6px rgb(${It} / 0.06)`,lg:`0 1px 1px rgb(${It} / 0.02), 0 8px 16px -4px rgb(${It} / 0.04), 0 20px 32px -8px rgb(${It} / 0.06)`,xl:`0 1px 1px rgb(${It} / 0.02), 0 12px 24px -4px rgb(${It} / 0.06), 0 32px 48px -8px rgb(${It} / 0.08)`},Re={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))"},Oe={thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"};var De={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 Ae(e,n){let s={...je.light};for(let[o,a]of Object.entries(e))s[o]=gs(a,!1);for(let[o,a]of Object.entries(n))s[o]=gs(a,!1);return s}var U={sizing:be,screens:cn,radius:Vt,gaps:ee,spaces:vs,fontSizes:Re,lineHeights:De,letterSpacing:he,fontWeights:Oe,borderWidths:ln,blurs:ne,opacities:Ht,shadows:ye,durations:Ut,easings:Wt};var se="(prefers-color-scheme: dark)",Gt=":root:not(.light)";var Dn="var(--_focus, var(--ts-focus-ring-color, var(--color-brand-solid)))",xs=e=>`color-mix(in oklab, ${Dn} ${e}%, transparent)`,Xr=`var(--ts-focus-halo, light-dark(${xs(40)}, ${xs(50)}))`,oi=e=>{let n=(s,o,a=" ")=>`${a}${s} {
8
- ${a} --ts-focus-halo: ${xs(o)};
7
+ `;return s}var Ur=/^(ui-)?(sans-serif|serif|monospace|system-ui|cursive|fantasy|math|emoji|fangsong|rounded)$|^-apple-system$|^BlinkMacSystemFont$/i;function Uo(e){let n=e.split(","),s=n[0].trim().replace(/^['"]|['"]$/g,"");return!s||Ur.test(s)||s.endsWith(" Fallback")||e.includes(`"${s} Fallback"`)?e:[n[0],` "${s} Fallback"`,...n.slice(1)].join(",")}var An=Math.PI/180,ve=[[4.0767416621,-3.3077115913,.2309699292],[-1.2684380046,2.6097574011,-.3413193965],[-.0041960863,-.7034186147,1.707614701]],Wr=[[.8224621,.177538,0],[.0331941,.9668058,0],[.0170827,.0723974,.9105199]],Br=Wr.map(e=>[0,1,2].map(n=>e[0]*ve[0][n]+e[1]*ve[1][n]+e[2]*ve[2][n])),Hr={srgb:ve,p3:Br},us=[0,1,2].map(e=>.2126*ve[0][e]+.7152*ve[1][e]+.0722*ve[2][e]);function Gr(e,n,s){let o=n*Math.cos(s*An),a=n*Math.sin(s*An),r=e+.3963377774*o+.2158037573*a,l=e-.1055613458*o-.0638541728*a,i=e-.0894841775*o-1.291485548*a;return[r*r*r,l*l*l,i*i*i]}function Ee(e,n,s){let[o,a,r]=Gr(e,n,s);return us[0]*o+us[1]*a+us[2]*r}function Wo(e,n,s,o){let a=[];if(Math.abs(e)<1e-4)if(Math.abs(n)<1e-12)Math.abs(s)>1e-12&&a.push(-o/s);else{let l=s*s-4*n*o;if(l>=0){let i=Math.sqrt(l);a.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,p=(9*l*i-27*c-2*l*l*l)/54,h=l/3,t=d*d*d+p*p;if(t>=0){let g=Math.sqrt(t);a.push(Math.cbrt(p+g)+Math.cbrt(p-g)-h)}else{let g=Math.acos(p/Math.sqrt(-d*d*d)),b=2*Math.sqrt(-d);for(let m=0;m<3;m++)a.push(b*Math.cos((g+2*Math.PI*m)/3)-h)}}let r=1/0;for(let l of a){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<r&&(r=l)}return r}function on(e,n,s="srgb"){if(e<=0||e>=1)return 0;let o=Math.cos(n*An),a=Math.sin(n*An),r=[.3963377774*o+.2158037573*a,-.1055613458*o-.0638541728*a,-.0894841775*o-1.291485548*a],l=e*e,i=l*e,c=.5;for(let d of Hr[s]){let p=i*(d[0]+d[1]+d[2]),h=3*l*(d[0]*r[0]+d[1]*r[1]+d[2]*r[2]),t=3*e*(d[0]*r[0]*r[0]+d[1]*r[1]*r[1]+d[2]*r[2]*r[2]),g=d[0]*r[0]**3+d[1]*r[1]**3+d[2]*r[2]**3,b=Wo(g,t,h,p),m=Wo(g,t,h,p-1);b<c&&(c=b),m<c&&(c=m)}return c}var an=(e,n)=>(Math.max(e,n)+.05)/(Math.min(e,n)+.05);var Re={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)"}}},Jr=e=>Math.sin(Math.PI*Math.min(1,Math.max(0,e)));function Bo(e,n,s,o="srgb"){let a={};for(let[r,l]of Object.entries(e)){let i=l.match(/^oklch\(\s*([\d.]+)/);if(!i){a[r]=l;continue}let c=parseFloat(i[1]),d=Math.min(n*Jr(c),on(c,s,o)*.995);a[r]=`oklch(${i[1]} ${d.toFixed(4)} ${s})`}return a}function gs(e,n="srgb"){let s=a=>Object.fromEntries(Object.entries(a).map(([r,l])=>[r,{...l}])),o={light:s(Re.light),dark:s(Re.dark)};if(!e)return o;if(e.tint)for(let a of["gray","background"])o.light[a]=Bo(o.light[a],e.tint.c,e.tint.h,n),o.dark[a]=Bo(o.dark[a],e.tint.c,e.tint.h,n);for(let a of["light","dark"]){let r=e[a];if(r)for(let[l,i]of Object.entries(r))o[a][l]={...o[a][l]??{},...i}}return o}function Zr(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(a=>a+a).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 Kr(e,n,s){let o=m=>m<=.04045?m/12.92:Math.pow((m+.055)/1.055,2.4),a=o(e),r=o(n),l=o(s),i=Math.cbrt(.4122214708*a+.5363325363*r+.0514459929*l),c=Math.cbrt(.2119034982*a+.6806995451*r+.1073969566*l),d=Math.cbrt(.0883024619*a+.2817188376*r+.6299787005*l),p=.2104542553*i+.793617785*c-.0040720468*d,h=1.9779984951*i-2.428592205*c+.4505937099*d,t=.0259040371*i+.7827717662*c-.808675766*d,g=Math.sqrt(h*h+t*t),b=Math.atan2(t,h)*(180/Math.PI);return b<0&&(b+=360),{l:p,c:g,h:b}}var rn=["100","200","300","400","500","600","700","800","900","1000"],Ho=(e,n)=>e.endsWith("%")?parseFloat(e)/100*n:parseFloat(e);function Ut(e){let n=e.trim(),s=n.match(/^oklch\(\s*([\d.]+%?)\s+([\d.]+%?)\s+([\d.]+)(?:deg)?\s*\)$/i);if(s){let l=Ho(s[1],1),i=Ho(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:a,b:r}=Zr(n);return Kr(o,a,r)}var Go=(e,n,s)=>{let o;try{o=Ut(n??s)}catch{o=Ut(s)}return{ref:e,...o,y:Ee(o.l,o.c,o.h)}};function xe(e,n){let s=e?"dark":"light",o=Re[s].gray,a=n?.[s]?.gray;return[Go("var(--color-gray-100)",a?.["100"],o[100]),Go("var(--color-gray-1000)",a?.["1000"],o[1e3])]}var Xo={light:xe(!1),dark:xe(!0)};function Yo(e,n){let s=an(e,n[0].y),o=an(e,n[1].y);return s>=o?{neutral:n[0],ratio:s}:{neutral:n[1],ratio:o}}function fs(e,n,s,o){return Yo(Ee(e,n,s),Xo[o?"dark":"light"]).neutral.ref}var Xr={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]}},Jo=(e,n)=>Math.max(0,1-Math.abs(e-90)/35)*Math.max(-40,Math.min(12,80*(n-.8))),Yr=(e,n,s)=>s?(n+.05)/e-.05:e*(n+.05)-.05,Qr=(e,n,s)=>`oklch(${e.toFixed(4)} ${n.toFixed(4)} ${s.toFixed(2)})`;function Oe(e,n,s="srgb",o=Xo[n]){let a=Xr[n],r=n==="light",l=e.l,i=e.h,c=Math.min(e.c,on(l,i,s)),d=an(Ee(l,c,i),a.bgY),p=0,h=1/0;a.win.forEach(([f,w],u)=>{let $=(d<f?Math.log(f/d):d>w?Math.log(d/w):0)*100+Math.abs(Math.log(d/a.target[u]));$<h&&(h=$,p=u)});let[t,g]=a.win[p],b=d<t||d>g,m=Jo(i,l),x=a.target.map((f,w)=>{let u,v,$;if(w===p&&!b)u=l,v=c,$=i;else{let Z=Yr(w===p?Math.min(g,Math.max(t,d)):f,a.bgY,r),J=c*a.prof[w],j=O=>{let T=(i+Jo(i,O)-m+360)%360;return[Math.min(J,on(O,T,s)*.995),T]},I=O=>{let[T,H]=j(O);return Ee(O,T,H)-Z},L=0,X=1,A=I(0),_=I(1),k=0;u=.5;for(let O=0;O<60;O++){u=(L*_-X*A)/(_-A);let T=I(u);if(Math.abs(T)<1e-10)break;T<0?(L=u,A=T,k===-1&&(_/=2),k=-1):(X=u,_=T,k===1&&(A/=2),k=1)}[v,$]=j(u)}let E=Ee(u,v,$),{neutral:R,ratio:N}=Yo(E,o);return{shade:rn[w],l:u,c:v,h:$,y:E,ratio:an(E,a.bgY),css:Qr(u,v,$),contrast:R.ref,contrastRatio:N,seed:w===p}});return{steps:x,seedStep:p,adjusted:b,dL:b?x[p].l-l:0}}function ms(e){let n={};for(let s of e.steps)n[s.shade]=s.css,n[`${s.shade}-contrast`]=s.contrast;return n}function hs(e,n,s="srgb",o){return ms(Oe(Ut(e),n?"dark":"light",s,o?xe(n,o):void 0))}var tl=.02,el=.97,bs=e=>Ut(e).l>=el;function Qo(e,n,s,o){if(e==="warning"){let i=(c,d)=>{let p=c.seedStep,h=b=>Math.min(Math.max(b,0),rn.length-1),t=h(p+d),g=c.steps[t].contrast===c.steps[p].contrast?t:h(p-d);return[p,g,g]};return{light:i(s,1),dark:i(o??Oe(n,"dark"),-1)}}let a=5,r=i=>i>=8?[i,i-1,i-2]:[i,i+1,i+2],l=Math.max(s.seedStep,a);return{light:r(l),dark:r(n.c<tl?l:a)}}function Zo(e,n,s){let o={};return["solid","solid-hover","solid-active"].forEach((a,r)=>{o[a]=`var(--color-${e}-${rn[s[r]]})`,o[`${a}-contrast`]=n.steps[s[r]].contrast}),o}function ys(e,n,s){let o={light:{},dark:{},escalas:{}};for(let[a,r]of Object.entries(e)){let l=Ut(r),i=Oe(l,"light",s,xe(!1,n)),c=Oe(l,"dark",s,xe(!0,n)),d=Qo(a,l,i,c);o.light[a]={...ms(i),...Zo(a,i,d.light)},o.dark[a]={...ms(c),...Zo(a,c,d.dark)},o.escalas[a]={light:i,dark:c}}return o}var ti=["solid","solid-hover","solid-active"];function ln(e){return e.primary}var Ko=Object.fromEntries(ti.flatMap(e=>[[e,`var(--color-brand-${e})`],[`${e}-contrast`,`var(--color-brand-${e}-contrast)`]]));function nl(e,n,s){let o=Ut(e),a=Oe(o,"light",s,xe(!1,n)),r=Oe(o,"dark",s,xe(!0,n)),l=Qo("primary",o,a),i=(c,d)=>{let p={};return ti.forEach((h,t)=>{p[h]=c.steps[d[t]].css,p[`${h}-contrast`]=c.steps[d[t]].contrast}),p};return{light:i(a,l.light),dark:i(r,l.dark),escalas:{light:a,dark:r}}}function vs(e,n,s){if(e===void 0)return{light:{primary:Ko},dark:{primary:Ko},escalas:{}};let{light:o,dark:a,escalas:r}=nl(e,n,s);return{light:{primary:o},dark:{primary:a},escalas:{primary:r}}}function ei(e,n){let s={};for(let[o,a]of Object.entries(n.light))for(let[r,l]of Object.entries(a)){let i=n.dark[o]?.[r]??l;l===e.light[o]?.[r]&&i===(e.dark[o]?.[r]??e.light[o]?.[r])||((s[o]??={})[r]={light:l,dark:i})}return s}var Wt={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"},ni=["xs","sm","md","lg","xl","2xl","3xl"];function si(e){let n={};return ni.slice(0,-1).forEach((s,o)=>{let a=e[ni[o+1]];a!==void 0&&(n[s]=a)}),n}var De={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 Bt={instant:"100ms",fast:"150ms",base:"200ms",slow:"300ms",slower:"500ms"},cn={spin:"600ms","loop-fast":"1200ms","loop-base":"1600ms","loop-slow":"4000ms"},xs="1ms",dn={loop:"infinite"},ws="0",Ht={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 we={tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},oi=':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))',qn=e=>Object.keys(e).filter(n=>n!=="normal").map(n=>`--ts-ls-${n}: ${e.normal};`),Mn=(e,n=s=>s)=>Object.entries(e).map(([s,o])=>{let a=o.trim();if(a==="normal")return`--ts-lh-${s}: 1.35;`;let r=/^(\d+\.?\d*|\.\d+)$/.test(a);return`--ts-lh-${s}: ${r?String(Math.max(1.35,Number(a))):`max(1.35em, ${n(o)})`};`}),pn=e=>e.length?`${oi} { ${e.join(" ")} }`:"",ii=(e,n)=>{let s=`${oi} { `,o=e.indexOf(s);if(o<0)return e;let a=e.indexOf(" }",o),r=(e.slice(o+s.length,a).match(/--[\w-]+:[^;]*;/g)??[]).filter(l=>n.has(l.slice(0,l.indexOf(":"))));return e.slice(0,o)+pn(r)+e.slice(a+2)};var $e={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},oe={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)"},$s={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)"},Gt={"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 un={1:"1px",2:"2px",3:"3px",4:"4px"},ie={none:"0px",sm:"4px",md:"8px",lg:"16px",xl:"48px"},Ae={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"},Jt={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)"},gn={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},ai="0.56";var W=(e,n="fast",s="standard")=>`${e} var(--ts-duration-${n}) var(--ts-ease-${s})`,ke={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)"},Pt="var(--ts-material-shadow-rgb, 0 0 0)",ri={sm:`0 1px 2px rgb(${Pt} / 0.04)`,md:`0 1px 1px rgb(${Pt} / 0.02), 0 4px 8px -2px rgb(${Pt} / 0.04), 0 12px 20px -6px rgb(${Pt} / 0.06)`,lg:`0 1px 1px rgb(${Pt} / 0.02), 0 8px 16px -4px rgb(${Pt} / 0.04), 0 20px 32px -8px rgb(${Pt} / 0.06)`,xl:`0 1px 1px rgb(${Pt} / 0.02), 0 12px 24px -4px rgb(${Pt} / 0.06), 0 32px 48px -8px rgb(${Pt} / 0.08)`},qe={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))"},Me={thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"};var Ie={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 Pe(e,n){let s={...Re.light};for(let[o,a]of Object.entries(e))s[o]=hs(a,!1);for(let[o,a]of Object.entries(n))s[o]=hs(a,!1);return s}var V={sizing:$e,screens:gn,radius:Wt,gaps:oe,spaces:$s,fontSizes:qe,lineHeights:Ie,letterSpacing:we,fontWeights:Me,borderWidths:un,blurs:ie,opacities:Jt,shadows:ke,durations:Bt,easings:Ht};var ae="(prefers-color-scheme: dark)",Zt=":root:not(.light)";var In="var(--_focus, var(--ts-focus-ring-color, var(--color-brand-solid)))",ks=e=>`color-mix(in oklab, ${In} ${e}%, transparent)`,sl=`var(--ts-focus-halo, light-dark(${ks(40)}, ${ks(50)}))`,li=e=>{let n=(s,o,a=" ")=>`${a}${s} {
8
+ ${a} --ts-focus-halo: ${ks(o)};
9
9
  ${a}}
10
- `;return n("*",40)+(e==="media"?` @media ${se} {
11
- ${n(`:where(${Gt}) *`,50," ")} }
12
- `:"")+n(".dark *, .scheme-dark *",50)+n(".scheme-light *",40)+n(".scheme-light .scheme-dark *",50)},ws=`0 0 0 var(--ts-border-width-1) ${Dn}, 0 0 0 var(--ts-border-width-4) ${Xr}, var(--ts-sh, 0 0 transparent)`,$s=`outline: none; box-shadow: ${ws}; @media (forced-colors: active) { outline: var(--ts-border-width-2) solid Highlight; }`,ii=`outline: none; box-shadow: inset 0 0 0 var(--ts-sizing-2) ${Dn}; @media (forced-colors: active) { outline: var(--ts-border-width-2) solid Highlight; }`,An=e=>`--_f-ring: var(--color-${e}-500); --_f-ring-hover: var(--color-${e}-600); @apply ts-focus-ring-${e};`,ai=`:focus-visible:where(:not(.ts)) { ${$s} }
13
- :where(.ts):focus-visible { outline: var(--ts-border-width-2) solid ${Dn}; outline-offset: var(--ts-sizing-2); }
14
- `;var ri="0.15.0";var dn=ri;var ks=(e,n=be)=>e.replace(/var\(--ts-sizing-(\d+)\)/g,(s,o)=>`${n[o]}px`);function li(e="class",n=U,s=dn){let o=`/* Archivo auto-generado: RESET / BASE */
10
+ `;return n("*",40)+(e==="media"?` @media ${ae} {
11
+ ${n(`:where(${Zt}) *`,50," ")} }
12
+ `:"")+n(".dark *, .scheme-dark *",50)+n(".scheme-light *",40)+n(".scheme-light .scheme-dark *",50)},Ss=`0 0 0 var(--ts-border-width-1) ${In}, 0 0 0 var(--ts-border-width-4) ${sl}, var(--ts-sh, 0 0 transparent)`,zs=`outline: none; box-shadow: ${Ss}; @media (forced-colors: active) { outline: var(--ts-border-width-2) solid Highlight; }`,ci=`outline: none; box-shadow: inset 0 0 0 var(--ts-sizing-2) ${In}; @media (forced-colors: active) { outline: var(--ts-border-width-2) solid Highlight; }`,Pn=e=>`--_f-ring: var(--color-${e}-500); --_f-ring-hover: var(--color-${e}-600); @apply ts-focus-ring-${e};`,di=`:focus-visible:where(:not(.ts)) { ${zs} }
13
+ :where(.ts):focus-visible { outline: var(--ts-border-width-2) solid ${In}; outline-offset: var(--ts-sizing-2); }
14
+ `;var pi="0.15.1";var mn=pi;var js=(e,n=$e)=>e.replace(/var\(--ts-sizing-(\d+)\)/g,(s,o)=>`${n[o]}px`);function ui(e="class",n=V,s=mn){let o=`/* Archivo auto-generado: RESET / BASE */
15
15
 
16
16
  `;return o+=`*, *::before, *::after { box-sizing: border-box; }
17
17
  `,o+=`* { margin: 0; }
@@ -71,14 +71,14 @@ ${n(`:where(${Gt}) *`,50," ")} }
71
71
  `,s&&(o+=`:root { --ts-version: "${s}"; }
72
72
  `),o+=`.dark { color-scheme: dark; }
73
73
 
74
- `,e==="media"&&(o+=`@media ${se} {
75
- ${Gt} { color-scheme: dark; }
74
+ `,e==="media"&&(o+=`@media ${ae} {
75
+ ${Zt} { color-scheme: dark; }
76
76
  }
77
77
 
78
78
  `),o+=`::selection { background-color: var(--color-brand-500); color: var(--color-brand-500-contrast); }
79
79
 
80
80
  `,o+=`:focus { outline: none; }
81
- `,o+=`${ai}
81
+ `,o+=`${di}
82
82
  `,o+=`/* Scrollbar */
83
83
  `,o+=`* { scrollbar-width: thin; scrollbar-color: var(--color-grayAlpha-300) transparent; }
84
84
  `,o+=`::-webkit-scrollbar { width: 10px; height: 10px; }
@@ -87,37 +87,37 @@ ${n(`:where(${Gt}) *`,50," ")} }
87
87
  `,o+=`::-webkit-scrollbar-thumb:hover { background-color: var(--color-grayAlpha-400); }
88
88
 
89
89
  `,o+=`[hidden] { display: none !important; }
90
- `,o+=`${rn([...Rn(n.letterSpacing),...On(n.lineHeights,a=>ks(a,n.sizing))])}
91
- `,o}var ci={light:"var(--color-grayAlpha-100)",dark:"var(--color-grayAlpha-200)"};function di(e){return{light:e?.light??ci.light,dark:e?.dark??ci.dark}}function Me(e,n){return e===n?e:`light-dark(${e}, ${n})`}var Qr=["1","4"],tl=/^0+(\.0+)?(px|em|rem)?$/;function pi(e){return Qr.flatMap(n=>e?.[n]!==void 0&&tl.test(e[n].trim())?[[n,e[n]]]:[])}var ui=(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 el=/^(?:prefers-[a-z-]+|forced-colors|hover|pointer)$/;function mi(e){return e.toLowerCase().split(",").every(n=>{let s=n.replace(/\(\s*([a-z-]+)\s*(?::\s*[a-z0-9-]+\s*)?\)/g,(o,a)=>el.test(a)?"#":"!");return/^\s*(?:not\s+)?#(?:\s+(?:and|or)\s+#)*\s*$/.test(s)})}var fi=["media","supports","container","starting-style"],nl=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(" ")),sl=/(?<![\w-])(?:rgba?|hsla?|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark|device-cmyk)\s*\(/gi;function gi(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 hi(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 a of s.matchAll(sl)){let r=a.index+a[0].length-1;if(!/var\s*\(/i.test(gi(s,r)))return{kind:"function",value:`${a[0].replace(/\s*\($/,"")}(${gi(s,r)})`}}for(let a of s.matchAll(/(?<![\w-])([a-zA-Z]+)(?![\w-])(?!\s*\()/g))if(nl.has(a[1].toLowerCase()))return{kind:"name",value:a[1]}}var bi=e=>[...e.matchAll(/var\(\s*(--[A-Za-z0-9_-]+)/g)].map(n=>n[1]);var et={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},ol=new Set(["var","calc","min","max","clamp","round","mod","color-mix","rgb","hsl","oklch","linear-gradient","translate","scale","rotate","repeat","minmax","not"]),il=/^ts-[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,al={")":"(","]":"[","}":"{"};function xi(e){let n=[],s=[],o=0,a=e.length;for(;o<a;){let r=e[o];if(r==="/"&&e[o+1]==="*"){let l=e.indexOf("*/",o+2);if(l<0)return null;n.push({k:"ws",v:" "}),o=l+2}else if(r===" "||r===" "||r===`
90
+ `,o+=`${pn([...qn(n.letterSpacing),...Mn(n.lineHeights,a=>js(a,n.sizing))])}
91
+ `,o}var gi={light:"var(--color-grayAlpha-100)",dark:"var(--color-grayAlpha-200)"};function mi(e){return{light:e?.light??gi.light,dark:e?.dark??gi.dark}}function Ne(e,n){return e===n?e:`light-dark(${e}, ${n})`}var il=["1","4"],al=/^0+(\.0+)?(px|em|rem)?$/;function fi(e){return il.flatMap(n=>e?.[n]!==void 0&&al.test(e[n].trim())?[[n,e[n]]]:[])}var hi=(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 rl=/^(?:prefers-[a-z-]+|forced-colors|hover|pointer)$/;function yi(e){return e.toLowerCase().split(",").every(n=>{let s=n.replace(/\(\s*([a-z-]+)\s*(?::\s*[a-z0-9-]+\s*)?\)/g,(o,a)=>rl.test(a)?"#":"!");return/^\s*(?:not\s+)?#(?:\s+(?:and|or)\s+#)*\s*$/.test(s)})}var vi=["media","supports","container","starting-style"],ll=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(" ")),cl=/(?<![\w-])(?:rgba?|hsla?|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark|device-cmyk)\s*\(/gi;function bi(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 xi(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 a of s.matchAll(cl)){let r=a.index+a[0].length-1;if(!/var\s*\(/i.test(bi(s,r)))return{kind:"function",value:`${a[0].replace(/\s*\($/,"")}(${bi(s,r)})`}}for(let a of s.matchAll(/(?<![\w-])([a-zA-Z]+)(?![\w-])(?!\s*\()/g))if(ll.has(a[1].toLowerCase()))return{kind:"name",value:a[1]}}var wi=e=>[...e.matchAll(/var\(\s*(--[A-Za-z0-9_-]+)/g)].map(n=>n[1]);var nt={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},dl=new Set(["var","calc","min","max","clamp","round","mod","color-mix","rgb","hsl","oklch","linear-gradient","translate","scale","rotate","repeat","minmax","not"]),pl=/^ts-[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,ul={")":"(","]":"[","}":"{"};function Si(e){let n=[],s=[],o=0,a=e.length;for(;o<a;){let r=e[o];if(r==="/"&&e[o+1]==="*"){let l=e.indexOf("*/",o+2);if(l<0)return null;n.push({k:"ws",v:" "}),o=l+2}else if(r===" "||r===" "||r===`
92
92
  `||r==="\r"){for(;o<a&&(e[o]===" "||e[o]===" "||e[o]===`
93
93
  `||e[o]==="\r");)o++;n.push({k:"ws",v:" "})}else if(r==='"'||r==="'"){let l=o+1;for(;l<a&&e[l]!==r&&e[l]!==`
94
- `;)l++;if(e[l]!==r)return null;n.push({k:"str",v:e.slice(o,l+1)}),o=l+1}else if(r==="{"||r==="("||r==="[")s.push(r),n.push({k:r,v:r}),o++;else if(r==="}"||r===")"||r==="]"){if(s.pop()!==al[r])return null;n.push({k:r,v:r}),o++}else if(r===";"||r===":"||r===",")n.push({k:r,v:r}),o++;else if(r==="\\")n.push({k:"bs",v:r}),o++;else{let l=o+1;for(;l<a&&!`
95
- \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 Pt=e=>e.map(n=>n.k==="ws"?" ":n.v).join("").replace(/ +/g," ").trim(),qn=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)},rl=/^[A-Za-z0-9_.#%+*/!-]+$/,ll=/^-?[A-Za-z][A-Za-z0-9-]*$/,cl=/^(?:'[A-Za-z0-9 #.,!?%-]{0,16}'|"[A-Za-z0-9 #.,!?%-]{0,16}")$/;function wi(e,n,s,o){let a=qn(e),r=[],l,i=()=>{l??={code:"ext-syntax",params:{block:s,snippet:Pt(a).slice(0,60)}}};for(let c=0;c<a.length;c++){let d=a[c];if(d.k==="bs")r.push({code:"ext-escape",params:{block:s}});else if(d.k==="str")(n!=="content"||!cl.test(d.v))&&r.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 p=a.slice(c+1).find(h=>h.k!=="ws");if(d.v.includes("!")?/^!important$/i.test(d.v)||d.v==="!"&&p?.k==="tx"&&/^important$/i.test(p.v)?r.push({code:"ext-important",params:{block:s}}):i():rl.test(d.v)||i(),p?.k==="("&&ll.test(d.v)){let h=d.v.toLowerCase();h==="url"?r.push({code:"ext-url",params:{block:s}}):ol.has(h)||r.push({code:"ext-function-not-allowed",params:{block:s,fn:h}})}}}for(let c of r)o(c);return!r.length&&l&&o(l),Pt(a)}function $i(e,n){let s=[],o=new Set,a=i=>{let c=JSON.stringify(i);o.has(c)||(o.add(c),s.push(i))},r=/[^\x20-\x7e]/.exec(e);if(r)return a({code:"ext-char-not-allowed",params:{char:ki(r[0])}}),s;let l=xi(e);return l?(wi(l,"",n,a),s):(a({code:"ext-css-unbalanced",params:{}}),s)}var ki=e=>`U+${e.codePointAt(0).toString(16).toUpperCase().padStart(4,"0")}`,dl=new Set(["hover","active","focus","focus-visible","focus-within","disabled","enabled","checked","indeterminate","first-child","last-child","only-child","empty","placeholder-shown","read-only"]),pl=new Set(["before","after","placeholder"]),ul=/^(?:aria-[a-z-]+|data-[a-z0-9-]+|dir|disabled|open|hidden|readonly|required|checked|selected)$/,gl=new Set(["html","body","head"]);function Si(e,n,s){let o=[],a=(r,l)=>(r.lastIndex=l,r.exec(e));for(;n<e.length&&!" >+~,)".includes(e[n]);){let r=e[n];if(r==="&"){if(s)return"pseudo";o.push({t:"amp",nombre:"&"}),n++}else if(r==="."){let l=a(/\.([a-z][a-z0-9-]*)/y,n);if(!l)return"syntax";o.push({t:"class",nombre:l[1]}),n+=l[0].length}else if(r==="["){let l=a(/\[([a-z][a-z0-9-]*)(?:=(?:'([a-z0-9-]+)'|"([a-z0-9-]+)"|([a-z0-9-]+)))?\]/y,n);if(!l||!ul.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(r===":"){let l=a(/:(:?)(-?[a-z][a-z-]*)/y,n);if(!l)return"syntax";let[,i,c]=l;if(n+=l[0].length,i){if(!pl.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 p of e.slice(n+1,d).split(",")){let h=Si(p.trim(),0,!0);if(typeof h=="string")return h;if(h.atomos.length===0||h.fin!==p.trim().length)return"syntax"}n=d+1}else if(!dl.has(c)||e[n]==="(")return"pseudo";o.push({t:"pseudo",nombre:c})}else if(/[a-z]/.test(r)){let l=a(/[a-z][a-z0-9-]*/y,n);if(gl.has(l[0]))return"unscoped";o.push({t:"el",nombre:l[0]}),n+=l[0].length}else return r==="*"?"unscoped":"syntax"}return{fin:n,atomos:o}}var ml=e=>e.length===1&&(e[0].t==="class"||e[0].t==="attr"&&e[0].nombre==="dir");function fl(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 r=Si(e,s,!1);if(typeof r=="string")return r;if(r.atomos.length===0)return"syntax";n.push(r.atomos),s=r.fin}if(o)return"syntax";let a=n.map((r,l)=>r.some(i=>i.t==="amp")?l:-1).filter(r=>r>=0);return a.length>1||a.length===1&&a[0]>0&&(a[0]>1||!ml(n[0]))?"unscoped":null}function hl(e){let n=[],s=0,o=0;for(let a=0;a<e.length;a++){let r=e[a];r==="("||r==="["?s++:r===")"||r==="]"?s--:r===","&&s===0&&(n.push(e.slice(o,a)),o=a+1)}n.push(e.slice(o));for(let a of n){let r=fl(a.trim());if(r)return r}return null}var bl=/^[a-z0-9\s().:,<>=/%*+-]*$/;function yl(e,n){let s=n.toLowerCase();return e==="starting-style"?s==="":!bl.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 zs(e,n){let s=" ".repeat(n),o="";for(let a of e)a.t==="decl"?o+=`${s}${a.prop}: ${a.valor};
94
+ `;)l++;if(e[l]!==r)return null;n.push({k:"str",v:e.slice(o,l+1)}),o=l+1}else if(r==="{"||r==="("||r==="[")s.push(r),n.push({k:r,v:r}),o++;else if(r==="}"||r===")"||r==="]"){if(s.pop()!==ul[r])return null;n.push({k:r,v:r}),o++}else if(r===";"||r===":"||r===",")n.push({k:r,v:r}),o++;else if(r==="\\")n.push({k:"bs",v:r}),o++;else{let l=o+1;for(;l<a&&!`
95
+ \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 Nt=e=>e.map(n=>n.k==="ws"?" ":n.v).join("").replace(/ +/g," ").trim(),Ln=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)},gl=/^[A-Za-z0-9_.#%+*/!-]+$/,ml=/^-?[A-Za-z][A-Za-z0-9-]*$/,fl=/^(?:'[A-Za-z0-9 #.,!?%-]{0,16}'|"[A-Za-z0-9 #.,!?%-]{0,16}")$/;function zi(e,n,s,o){let a=Ln(e),r=[],l,i=()=>{l??={code:"ext-syntax",params:{block:s,snippet:Nt(a).slice(0,60)}}};for(let c=0;c<a.length;c++){let d=a[c];if(d.k==="bs")r.push({code:"ext-escape",params:{block:s}});else if(d.k==="str")(n!=="content"||!fl.test(d.v))&&r.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 p=a.slice(c+1).find(h=>h.k!=="ws");if(d.v.includes("!")?/^!important$/i.test(d.v)||d.v==="!"&&p?.k==="tx"&&/^important$/i.test(p.v)?r.push({code:"ext-important",params:{block:s}}):i():gl.test(d.v)||i(),p?.k==="("&&ml.test(d.v)){let h=d.v.toLowerCase();h==="url"?r.push({code:"ext-url",params:{block:s}}):dl.has(h)||r.push({code:"ext-function-not-allowed",params:{block:s,fn:h}})}}}for(let c of r)o(c);return!r.length&&l&&o(l),Nt(a)}function ji(e,n){let s=[],o=new Set,a=i=>{let c=JSON.stringify(i);o.has(c)||(o.add(c),s.push(i))},r=/[^\x20-\x7e]/.exec(e);if(r)return a({code:"ext-char-not-allowed",params:{char:Ci(r[0])}}),s;let l=Si(e);return l?(zi(l,"",n,a),s):(a({code:"ext-css-unbalanced",params:{}}),s)}var Ci=e=>`U+${e.codePointAt(0).toString(16).toUpperCase().padStart(4,"0")}`,hl=new Set(["hover","active","focus","focus-visible","focus-within","disabled","enabled","checked","indeterminate","first-child","last-child","only-child","empty","placeholder-shown","read-only"]),bl=new Set(["before","after","placeholder"]),yl=/^(?:aria-[a-z-]+|data-[a-z0-9-]+|dir|disabled|open|hidden|readonly|required|checked|selected)$/,vl=new Set(["html","body","head"]);function Ti(e,n,s){let o=[],a=(r,l)=>(r.lastIndex=l,r.exec(e));for(;n<e.length&&!" >+~,)".includes(e[n]);){let r=e[n];if(r==="&"){if(s)return"pseudo";o.push({t:"amp",nombre:"&"}),n++}else if(r==="."){let l=a(/\.([a-z][a-z0-9-]*)/y,n);if(!l)return"syntax";o.push({t:"class",nombre:l[1]}),n+=l[0].length}else if(r==="["){let l=a(/\[([a-z][a-z0-9-]*)(?:=(?:'([a-z0-9-]+)'|"([a-z0-9-]+)"|([a-z0-9-]+)))?\]/y,n);if(!l||!yl.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(r===":"){let l=a(/:(:?)(-?[a-z][a-z-]*)/y,n);if(!l)return"syntax";let[,i,c]=l;if(n+=l[0].length,i){if(!bl.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 p of e.slice(n+1,d).split(",")){let h=Ti(p.trim(),0,!0);if(typeof h=="string")return h;if(h.atomos.length===0||h.fin!==p.trim().length)return"syntax"}n=d+1}else if(!hl.has(c)||e[n]==="(")return"pseudo";o.push({t:"pseudo",nombre:c})}else if(/[a-z]/.test(r)){let l=a(/[a-z][a-z0-9-]*/y,n);if(vl.has(l[0]))return"unscoped";o.push({t:"el",nombre:l[0]}),n+=l[0].length}else return r==="*"?"unscoped":"syntax"}return{fin:n,atomos:o}}var xl=e=>e.length===1&&(e[0].t==="class"||e[0].t==="attr"&&e[0].nombre==="dir");function wl(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 r=Ti(e,s,!1);if(typeof r=="string")return r;if(r.atomos.length===0)return"syntax";n.push(r.atomos),s=r.fin}if(o)return"syntax";let a=n.map((r,l)=>r.some(i=>i.t==="amp")?l:-1).filter(r=>r>=0);return a.length>1||a.length===1&&a[0]>0&&(a[0]>1||!xl(n[0]))?"unscoped":null}function $l(e){let n=[],s=0,o=0;for(let a=0;a<e.length;a++){let r=e[a];r==="("||r==="["?s++:r===")"||r==="]"?s--:r===","&&s===0&&(n.push(e.slice(o,a)),o=a+1)}n.push(e.slice(o));for(let a of n){let r=wl(a.trim());if(r)return r}return null}var kl=/^[a-z0-9\s().:,<>=/%*+-]*$/;function Sl(e,n){let s=n.toLowerCase();return e==="starting-style"?s==="":!kl.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 Ts(e,n){let s=" ".repeat(n),o="";for(let a of e)a.t==="decl"?o+=`${s}${a.prop}: ${a.valor};
96
96
  `:a.t==="apply"?o+=`${s}@apply ${a.destinos.join(" ")};
97
97
  `:a.t==="regla"?o+=`${s}${a.prelude} {
98
- ${zs(a.hijos,n+1)}${s}}
98
+ ${Ts(a.hijos,n+1)}${s}}
99
99
  `:o+=`${s}@${a.nombre}${a.params?` ${a.params}`:""} {
100
- ${zs(a.hijos,n+1)}${s}}
101
- `;return o}var vl=50;function xl(e){let n=[],s=[],o=new Set,a=m=>{let x=JSON.stringify(m);o.has(x)||n.length>=vl||(o.add(x),n.push(m))};if(e.length>et.css)return a({code:"ext-limit",params:{what:"css-size",max:et.css}}),{bloques:s,errores:n};let r=/[^\x20-\x7e\n\t\r]/.exec(e);if(r)return a({code:"ext-char-not-allowed",params:{char:ki(r[0])}}),{bloques:s,errores:n};let l=xi(e);if(!l)return a({code:"ext-css-unbalanced",params:{}}),{bloques:s,errores:n};let i=0,c=()=>{for(;l[i]?.k==="ws";)i++},d=()=>{for(let m=1;i<l.length&&m>0;i++)m+=l[i].k==="{"?1:l[i].k==="}"?-1:0},p=()=>{let m=0;for(;i<l.length;i++){let x=l[i].k;if(x==="("||x==="[")m++;else if(x===")"||x==="]")m--;else if(m===0&&x===";"){i++;return}else if(m===0&&x==="{"){i++,d();return}}},h=(m,x)=>{let f=[];for(let w of qn(x))if(w.k!=="ws"){if(w.k!=="tx")return a({code:"ext-syntax",params:{block:m,snippet:`@apply ${Pt(x)}`.slice(0,60)}}),null;/^!important$/i.test(w.v)?a({code:"ext-important",params:{block:m}}):f.push(w.v)}return f.length>et.clasesApply?(a({code:"ext-apply-budget",params:{block:m,limit:"classes",max:et.clasesApply}}),null):f.length?{t:"apply",destinos:f}:null},t=(m,x)=>{let f=qn(x);if(!f.length)return null;if(f[0].k==="tx"&&f[0].v[0]==="@")return f[0].v.toLowerCase()==="@apply"?h(m,f.slice(1)):(a({code:"ext-at-rule",params:{block:m,rule:/^@[a-zA-Z-]*/.exec(f[0].v)[0]}}),null);let w=0,u=-1;for(let R=0;R<f.length&&u<0;R++)f[R].k==="("||f[R].k==="["?w++:f[R].k===")"||f[R].k==="]"?w--:f[R].k===":"&&w===0&&(u=R);let v=()=>(a({code:"ext-syntax",params:{block:m,snippet:Pt(f).slice(0,60)}}),null);if(u<0)return v();let k=Pt(f.slice(0,u));if(k.startsWith("--"))return a({code:"ext-custom-property",params:{block:m,property:k}}),null;if(!/^-?[a-z][a-z-]*$/.test(k))return v();let E=wi(f.slice(u+1),k,m,a);return E?{t:"decl",prop:k,valor:E}:v()},g=(m,x)=>{let f=qn(x);if(!f.length)return a({code:"ext-syntax",params:{block:m,snippet:"{"}}),null;if(f[0].k==="tx"&&f[0].v[0]==="@"){let v=f[0].v.slice(1).toLowerCase(),k=Pt(f.slice(1));return fi.includes(v)?(v==="media"?!mi(k):!yl(v,k))?(a(v==="media"?{code:"ext-media-query",params:{block:m,query:k}}:{code:"ext-at-params",params:{block:m,rule:`@${v}`,params:k}}),null):{at:v,params:k}:(a({code:"ext-at-rule",params:{block:m,rule:`@${v}`}}),null)}if(f.some(v=>v.k==="bs"))return a({code:"ext-escape",params:{block:m}}),null;let w=Pt(f),u=hl(w);return u?(a({code:"ext-selector-not-allowed",params:{block:m,selector:w.slice(0,80),motive:u}}),null):{prelude:w}},b=(m,x)=>{let f=[];for(;;){c();let w=l[i];if(!w)return f;if(w.k==="}")return i++,f;if(w.k===";"){i++;continue}let u=[],v=0,k=!1;for(;i<l.length;){let R=l[i];if(R.k==="("||R.k==="[")v++;else if(R.k===")"||R.k==="]")v--;else if(R.k==="{"||R.k==="}"||R.k===";"){if(v===0)break;k=!0}u.push(R),i++}let E=l[i]?.k;if(E===";"&&i++,k)a({code:"ext-syntax",params:{block:m,snippet:Pt(u).slice(0,60)}}),E==="{"&&(i++,d());else if(E==="{"){i++;let R=g(m,u);if(!R)d();else if(x+1>et.profundidad)a({code:"ext-limit",params:{what:"depth",max:et.profundidad}}),d();else{let L=b(m,x+1);f.push("at"in R?{t:"at",nombre:R.at,params:R.params,hijos:L}:{t:"regla",prelude:R.prelude,hijos:L})}}else{let R=t(m,u);R&&f.push(R)}}};for(;;){c();let m=l[i];if(!m)break;if(m.k==="tx"&&m.v==="@utility"){let x=i;i++;let f=[];for(;i<l.length&&l[i].k!=="{"&&l[i].k!==";";)f.push(l[i++]);if(l[i]?.k!=="{"){i=x,a({code:"ext-top-level",params:{snippet:yi(l,x)}}),p();continue}i++;let w=Pt(f);f.some(k=>k.k==="bs")&&a({code:"ext-escape",params:{block:w}});let u=b(w,1);if(!il.test(w)){a({code:"ext-name-invalid",params:{kind:"block",name:w.slice(0,80)}});continue}let v=`@utility ${w} {
102
- ${zs(u,1)}}
103
- `;if(v.length>et.bloque){a({code:"ext-limit",params:{what:"block-size",max:et.bloque}});continue}s.push({name:w,nodos:u,css:v})}else a({code:"ext-top-level",params:{snippet:yi(l,i)}}),p()}return{bloques:s,errores:n}}function yi(e,n){let s=0,o=0,a=(()=>{for(let r=n;r<e.length;r++){let l=e[r].k;if(l==="("||l==="[")s++;else if(l===")"||l==="]")s--;else if(l==="{")o++;else{if(l==="}"&&--o<=0)return r+1;if(l===";"&&s===0&&o===0)return r+1}if(r-n>60)return r}return e.length})();return Pt(e.slice(n,a)).slice(0,60)}var Mn=new Map;function vi(e){let n=Mn.get(e);return n||(Mn.size>=64&&Mn.clear(),n=xl(e),Mn.set(e,n)),n}var Ss=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function In(e,n){let s=`extensions[${JSON.stringify(n)}]`,o=[];if(!Ss(e))return o;if(Ss(e.components))for(let[a,r]of Object.entries(e.components))Ss(r)&&typeof r.css=="string"&&o.push({slug:a,ruta:`${s}.components.${a}.css`,parse:vi(r.css)});return typeof e.utilities=="string"&&o.push({slug:void 0,ruta:`${s}.utilities`,parse:vi(e.utilities)}),o}var Pn=e=>e.flatMap(n=>n.parse.errores.map(s=>({path:n.ruta,...s})));var wl={"@sm:":"24rem","@md:":"28rem","@lg:":"32rem","@xl:":"36rem","@2xl:":"42rem","@3xl:":"48rem","@4xl:":"56rem","@5xl:":"64rem","@6xl:":"72rem","@7xl:":"80rem"},$l=["busy","checked","disabled","expanded","hidden","pressed","readonly","required","selected","invalid"],kl="@media (hover: hover)";function Jt(e){let n=new Map,s=Object.entries(e).sort(([,o],[,a])=>parseFloat(o)-parseFloat(a));for(let[o,a]of s)n.set(`${o}:`,{valor:`${parseFloat(a)/16}rem`,tipo:"media"});for(let[o,a]of[...s].reverse())n.set(`max-${o}:`,{valor:`${parseFloat(a)/16}rem`,tipo:"max"});for(let[o,a]of Object.entries(wl))n.set(o,{valor:a,tipo:"container"});n.set("print:",{valor:"",tipo:"print"}),n.set("hover:",{valor:":hover",tipo:"selector",en:kl}),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 $l)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 Sl=["hover","focus","focus-visible","active","aria","data","checked","invalid","disabled"],zi=e=>{let n=e.slice(0,-1),s=n.startsWith("aria-")?"aria":n.startsWith("data-")?"data":n;return Sl.indexOf(s)},ji=/^[a-z][a-z0-9-]*$/;function Ci(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+zi(e)]};let o=/^data-(.+):$/.exec(e);if(o&&ji.test(o[1])&&!o[1].startsWith("ts-"))return{prefijo:e,tipo:"estado",sufijo:`[data-${o[1]}]`,orden:[2+zi(e)]};let a=/^(group|peer)-(.+?)(?:\/([^/:]+))?:$/.exec(e);if(a&&(a[3]===void 0||ji.test(a[3]))){let r=Ci(`${a[2]}:`,n);if(r?.tipo==="estado"){let l=`:where(.ts.${a[1]}${a[3]?`\\/${a[3]}`:""})`,i=a[1]==="group"?" *":" ~ *";return{prefijo:e,tipo:"grupo",sufijo:`:is(${l}${r.sufijo}${i})`,media:r.media,orden:[a[1]==="group"?0:1,...r.orden]}}}}var js=["contexto","print","grupo","estado"];function Ct(e,n){let s=[];for(let r of e){let l=Ci(r,n);if(!l)return/^data-ts-/.test(r)?{ok:!1,motivo:"data-ts",prefijo:r}:{ok:!1,motivo:"desconocido",prefijo:r};s.push(l)}let o=s.map(r=>js.indexOf(r.tipo));return o.every((r,l)=>l===0||r>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((r,l)=>js.indexOf(r.tipo)-js.indexOf(l.tipo)).map(r=>r.prefijo)}}function pn(e){let n=e.split(":");return{cadena:n.slice(0,-1).map(s=>`${s}:`),base:n[n.length-1]}}function qe(e,n,s=[]){if(s.includes(e))return[];let o=[];for(let a of n[e]??[]){if(typeof a!="string")continue;let{cadena:r,base:l}=pn(a);if(Object.hasOwn(n,l))for(let i of qe(l,n,[...s,e]))o.push({cadena:[...r,...i.cadena],base:i.base});else o.push({cadena:r,base:l})}return o}var At=e=>e.includes(".");function zl(e){let[n,...s]=e.split(".");return{componente:n,modificadores:s}}function Cs(e){let n=new Map;Object.keys(e).forEach((s,o)=>{if(!At(s))return;let{componente:a,modificadores:r}=zl(s);n.set(a,[...n.get(a)??[],{clave:s,modificadores:r,decl:o}])});for(let s of n.values())s.sort((o,a)=>o.modificadores.length-a.modificadores.length||o.decl-a.decl);return n}function Ti(e){let n=new Map;for(let[s,o]of Cs(e))n.set(s,[...new Set(o.flatMap(a=>a.modificadores))]);return n}function Nn(e){let n=new Map;for(let s of Object.keys(e)){if(At(s))continue;let o=qe(s,e);o.some(a=>a.cadena.length>0)&&n.set(s,o)}return n}function Ei(e){let n=new Map,s=(o,a)=>{if(!(n.has(o)||a.includes(o))){for(let r of e[o]){if(typeof r!="string")continue;let{base:l}=pn(r);Object.hasOwn(e,l)&&s(l,[...a,o])}n.set(o,n.size)}};for(let o of Object.keys(e))At(o)||s(o,[]);return n}var un=(e,n=0,s=0)=>e*1e6+n*1e3+s,Ie="a lo sumo un contexto, un print, un group o peer y un estado, en ese orden, y 3 segmentos";function oe(e,n,s){let o=[];for(let a of n){let r=[...e,...a.cadena],l=Ct(r,s);if(!l.ok)return[...o,{ok:!1,hoja:a,compuesta:r.join("")+a.base}];o.push({ok:!0,cadena:r,hoja:a,segmentos:l.segmentos})}return o}var Pe=(e,n,s,o)=>({class:e,utility:n,inner:o.hoja.cadena.join("")+o.hoja.base,use:s.join(""),result:o.compuesta});var $t=e=>e?` \xBFSe quiso decir "${e}"?`:"",kt=e=>e?` Did you mean "${e}"?`:"",jl={slug:"slug",root:"ra\xEDz",block:"bloque",token:"clave de token"},Ri={slug:"el componente",root:"la ra\xEDz",block:"el bloque",utility:"la utilidad",variable:"la variable"},Cl={hex:"el color hex",name:"el color con nombre",function:"la funci\xF3n de color"},Ts={slug:"slug",root:"root",block:"block",token:"token key",utility:"utility",variable:"variable"},Tl={hex:"the hex color",name:"the named color",function:"the color function"},El={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."},Rl={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."},Ol={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"},Dl={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"},Al={"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)"},Ml={"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)"},ql={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."},Il={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."},Es="at most one context, one print, one group or peer, and one state, in that order, and 3 segments",Pl={"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.${$t(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.`:""}${$t(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)}): ${ql[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.${$t(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.${$t(e.suggestion)}`,"utility-invalid-chain":e=>`compone "${e.class}": la cadena no es v\xE1lida, admite ${Ie}.`,"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.${$t(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 ${Ie}.`,"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.${$t(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.${$t(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.${$t(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.${$t(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}", ${jl[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 ${Ri[e.kind]} "${e.name}", que choca con un nombre del Core. Se elige otro.`,"ext-conflicts-extension":e=>`declara ${Ri[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.${$t(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).${$t(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}" ${Cl[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}"): ${El[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}": ${Ol[e.limit]} (m\xE1ximo ${e.max}).`,"ext-limit":e=>`pasa el l\xEDmite de ${Al[e.what]}: m\xE1ximo ${e.max}.`,"theme-component-unknown":e=>`no es un componente de ninguna extensi\xF3n instalada ("${e.slug}").${$t(e.suggestion)}`,"theme-component-token-unknown":e=>`no es un token que declare "${e.slug}" ("${e.key}").${$t(e.suggestion)}`},Nl={"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.${kt(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.`:""}${kt(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)}). ${Il[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.${kt(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.${kt(e.suggestion)}`,"utility-invalid-chain":e=>`composes "${e.class}", but the chain isn't valid. A chain allows ${Es}.`,"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.${kt(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 ${Es}.`,"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.${kt(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.${kt(e.suggestion)}`,"safelist-invalid-chain":()=>`has an invalid variant chain. A chain allows ${Es}.`,"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.${kt(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.${kt(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}", ${Ts[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 ${Ts[e.kind]} "${e.name}", which conflicts with a Core name. Pick another.`,"ext-conflicts-extension":e=>`declares the ${Ts[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.${kt(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).${kt(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 ${Tl[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}"). ${Rl[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}": ${Dl[e.limit]} (maximum ${e.max}).`,"ext-limit":e=>`exceeds the limit of ${Ml[e.what]}: maximum ${e.max}.`,"theme-component-unknown":e=>`isn't a component of any installed extension ("${e.slug}").${kt(e.suggestion)}`,"theme-component-token-unknown":e=>`isn't a token that "${e.slug}" declares ("${e.key}").${kt(e.suggestion)}`},Ll={es:Pl,en:Nl};function gn(e,n){return`taisho config: ${e.path} ${Ll[n][e.code](e.params)}`}var ft=class extends Error{errors;constructor(n){super(n.map(s=>gn(s,"es")).join(`
104
- `)),this.errors=n}};var Oi={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 mn=Oi;function fn(e){return Object.entries(e).sort(([n],[s])=>n<s?-1:n>s?1:0)}function Di(e,n){let s=In(e,n),o=Pn(s);if(o.length)throw new ft(o);return s}function Ln(e={}){let n=fn(e);if(n.length===0)return mn;let s=Object.assign(Object.create(null),mn.componentes);for(let[o,a]of n){let r=Di(a,o);for(let[l,i]of Object.entries(a.components??{})){let c=[...new Set(r.filter(d=>d.slug===l).flatMap(d=>d.parse.bloques.map(p=>p.name.slice(3))))];s[l]={gancho:null,bloques:c,runtime:i.roots.filter(d=>c.includes(d))}}}return{componentes:s,sueltos:mn.sueltos}}function hn(e={}){let n="",s="";for(let[o,a]of fn(e))for(let r of Di(a,o)){let l=r.parse.bloques.map(i=>i.css).join("");r.slug===void 0?s+=l?`
100
+ ${Ts(a.hijos,n+1)}${s}}
101
+ `;return o}var zl=50;function jl(e){let n=[],s=[],o=new Set,a=m=>{let x=JSON.stringify(m);o.has(x)||n.length>=zl||(o.add(x),n.push(m))};if(e.length>nt.css)return a({code:"ext-limit",params:{what:"css-size",max:nt.css}}),{bloques:s,errores:n};let r=/[^\x20-\x7e\n\t\r]/.exec(e);if(r)return a({code:"ext-char-not-allowed",params:{char:Ci(r[0])}}),{bloques:s,errores:n};let l=Si(e);if(!l)return a({code:"ext-css-unbalanced",params:{}}),{bloques:s,errores:n};let i=0,c=()=>{for(;l[i]?.k==="ws";)i++},d=()=>{for(let m=1;i<l.length&&m>0;i++)m+=l[i].k==="{"?1:l[i].k==="}"?-1:0},p=()=>{let m=0;for(;i<l.length;i++){let x=l[i].k;if(x==="("||x==="[")m++;else if(x===")"||x==="]")m--;else if(m===0&&x===";"){i++;return}else if(m===0&&x==="{"){i++,d();return}}},h=(m,x)=>{let f=[];for(let w of Ln(x))if(w.k!=="ws"){if(w.k!=="tx")return a({code:"ext-syntax",params:{block:m,snippet:`@apply ${Nt(x)}`.slice(0,60)}}),null;/^!important$/i.test(w.v)?a({code:"ext-important",params:{block:m}}):f.push(w.v)}return f.length>nt.clasesApply?(a({code:"ext-apply-budget",params:{block:m,limit:"classes",max:nt.clasesApply}}),null):f.length?{t:"apply",destinos:f}:null},t=(m,x)=>{let f=Ln(x);if(!f.length)return null;if(f[0].k==="tx"&&f[0].v[0]==="@")return f[0].v.toLowerCase()==="@apply"?h(m,f.slice(1)):(a({code:"ext-at-rule",params:{block:m,rule:/^@[a-zA-Z-]*/.exec(f[0].v)[0]}}),null);let w=0,u=-1;for(let R=0;R<f.length&&u<0;R++)f[R].k==="("||f[R].k==="["?w++:f[R].k===")"||f[R].k==="]"?w--:f[R].k===":"&&w===0&&(u=R);let v=()=>(a({code:"ext-syntax",params:{block:m,snippet:Nt(f).slice(0,60)}}),null);if(u<0)return v();let $=Nt(f.slice(0,u));if($.startsWith("--"))return a({code:"ext-custom-property",params:{block:m,property:$}}),null;if(!/^-?[a-z][a-z-]*$/.test($))return v();let E=zi(f.slice(u+1),$,m,a);return E?{t:"decl",prop:$,valor:E}:v()},g=(m,x)=>{let f=Ln(x);if(!f.length)return a({code:"ext-syntax",params:{block:m,snippet:"{"}}),null;if(f[0].k==="tx"&&f[0].v[0]==="@"){let v=f[0].v.slice(1).toLowerCase(),$=Nt(f.slice(1));return vi.includes(v)?(v==="media"?!yi($):!Sl(v,$))?(a(v==="media"?{code:"ext-media-query",params:{block:m,query:$}}:{code:"ext-at-params",params:{block:m,rule:`@${v}`,params:$}}),null):{at:v,params:$}:(a({code:"ext-at-rule",params:{block:m,rule:`@${v}`}}),null)}if(f.some(v=>v.k==="bs"))return a({code:"ext-escape",params:{block:m}}),null;let w=Nt(f),u=$l(w);return u?(a({code:"ext-selector-not-allowed",params:{block:m,selector:w.slice(0,80),motive:u}}),null):{prelude:w}},b=(m,x)=>{let f=[];for(;;){c();let w=l[i];if(!w)return f;if(w.k==="}")return i++,f;if(w.k===";"){i++;continue}let u=[],v=0,$=!1;for(;i<l.length;){let R=l[i];if(R.k==="("||R.k==="[")v++;else if(R.k===")"||R.k==="]")v--;else if(R.k==="{"||R.k==="}"||R.k===";"){if(v===0)break;$=!0}u.push(R),i++}let E=l[i]?.k;if(E===";"&&i++,$)a({code:"ext-syntax",params:{block:m,snippet:Nt(u).slice(0,60)}}),E==="{"&&(i++,d());else if(E==="{"){i++;let R=g(m,u);if(!R)d();else if(x+1>nt.profundidad)a({code:"ext-limit",params:{what:"depth",max:nt.profundidad}}),d();else{let N=b(m,x+1);f.push("at"in R?{t:"at",nombre:R.at,params:R.params,hijos:N}:{t:"regla",prelude:R.prelude,hijos:N})}}else{let R=t(m,u);R&&f.push(R)}}};for(;;){c();let m=l[i];if(!m)break;if(m.k==="tx"&&m.v==="@utility"){let x=i;i++;let f=[];for(;i<l.length&&l[i].k!=="{"&&l[i].k!==";";)f.push(l[i++]);if(l[i]?.k!=="{"){i=x,a({code:"ext-top-level",params:{snippet:$i(l,x)}}),p();continue}i++;let w=Nt(f);f.some($=>$.k==="bs")&&a({code:"ext-escape",params:{block:w}});let u=b(w,1);if(!pl.test(w)){a({code:"ext-name-invalid",params:{kind:"block",name:w.slice(0,80)}});continue}let v=`@utility ${w} {
102
+ ${Ts(u,1)}}
103
+ `;if(v.length>nt.bloque){a({code:"ext-limit",params:{what:"block-size",max:nt.bloque}});continue}s.push({name:w,nodos:u,css:v})}else a({code:"ext-top-level",params:{snippet:$i(l,i)}}),p()}return{bloques:s,errores:n}}function $i(e,n){let s=0,o=0,a=(()=>{for(let r=n;r<e.length;r++){let l=e[r].k;if(l==="("||l==="[")s++;else if(l===")"||l==="]")s--;else if(l==="{")o++;else{if(l==="}"&&--o<=0)return r+1;if(l===";"&&s===0&&o===0)return r+1}if(r-n>60)return r}return e.length})();return Nt(e.slice(n,a)).slice(0,60)}var Nn=new Map;function ki(e){let n=Nn.get(e);return n||(Nn.size>=64&&Nn.clear(),n=jl(e),Nn.set(e,n)),n}var Cs=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function _n(e,n){let s=`extensions[${JSON.stringify(n)}]`,o=[];if(!Cs(e))return o;if(Cs(e.components))for(let[a,r]of Object.entries(e.components))Cs(r)&&typeof r.css=="string"&&o.push({slug:a,ruta:`${s}.components.${a}.css`,parse:ki(r.css)});return typeof e.utilities=="string"&&o.push({slug:void 0,ruta:`${s}.utilities`,parse:ki(e.utilities)}),o}var Fn=e=>e.flatMap(n=>n.parse.errores.map(s=>({path:n.ruta,...s})));var Cl={"@sm:":"24rem","@md:":"28rem","@lg:":"32rem","@xl:":"36rem","@2xl:":"42rem","@3xl:":"48rem","@4xl:":"56rem","@5xl:":"64rem","@6xl:":"72rem","@7xl:":"80rem"},Tl=["busy","checked","disabled","expanded","hidden","pressed","readonly","required","selected","invalid"],El="@media (hover: hover)";function Kt(e){let n=new Map,s=Object.entries(e).sort(([,o],[,a])=>parseFloat(o)-parseFloat(a));for(let[o,a]of s)n.set(`${o}:`,{valor:`${parseFloat(a)/16}rem`,tipo:"media"});for(let[o,a]of[...s].reverse())n.set(`max-${o}:`,{valor:`${parseFloat(a)/16}rem`,tipo:"max"});for(let[o,a]of Object.entries(Cl))n.set(o,{valor:a,tipo:"container"});n.set("print:",{valor:"",tipo:"print"}),n.set("hover:",{valor:":hover",tipo:"selector",en:El}),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 Tl)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 Rl=["hover","focus","focus-visible","active","aria","data","checked","invalid","disabled"],Ei=e=>{let n=e.slice(0,-1),s=n.startsWith("aria-")?"aria":n.startsWith("data-")?"data":n;return Rl.indexOf(s)},Ri=/^[a-z][a-z0-9-]*$/;function Oi(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+Ei(e)]};let o=/^data-(.+):$/.exec(e);if(o&&Ri.test(o[1])&&!o[1].startsWith("ts-"))return{prefijo:e,tipo:"estado",sufijo:`[data-${o[1]}]`,orden:[2+Ei(e)]};let a=/^(group|peer)-(.+?)(?:\/([^/:]+))?:$/.exec(e);if(a&&(a[3]===void 0||Ri.test(a[3]))){let r=Oi(`${a[2]}:`,n);if(r?.tipo==="estado"){let l=`:where(.ts.${a[1]}${a[3]?`\\/${a[3]}`:""})`,i=a[1]==="group"?" *":" ~ *";return{prefijo:e,tipo:"grupo",sufijo:`:is(${l}${r.sufijo}${i})`,media:r.media,orden:[a[1]==="group"?0:1,...r.orden]}}}}var Es=["contexto","print","grupo","estado"];function Et(e,n){let s=[];for(let r of e){let l=Oi(r,n);if(!l)return/^data-ts-/.test(r)?{ok:!1,motivo:"data-ts",prefijo:r}:{ok:!1,motivo:"desconocido",prefijo:r};s.push(l)}let o=s.map(r=>Es.indexOf(r.tipo));return o.every((r,l)=>l===0||r>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((r,l)=>Es.indexOf(r.tipo)-Es.indexOf(l.tipo)).map(r=>r.prefijo)}}function fn(e){let n=e.split(":");return{cadena:n.slice(0,-1).map(s=>`${s}:`),base:n[n.length-1]}}function Le(e,n,s=[]){if(s.includes(e))return[];let o=[];for(let a of n[e]??[]){if(typeof a!="string")continue;let{cadena:r,base:l}=fn(a);if(Object.hasOwn(n,l))for(let i of Le(l,n,[...s,e]))o.push({cadena:[...r,...i.cadena],base:i.base});else o.push({cadena:r,base:l})}return o}var At=e=>e.includes(".");function Ol(e){let[n,...s]=e.split(".");return{componente:n,modificadores:s}}function Rs(e){let n=new Map;Object.keys(e).forEach((s,o)=>{if(!At(s))return;let{componente:a,modificadores:r}=Ol(s);n.set(a,[...n.get(a)??[],{clave:s,modificadores:r,decl:o}])});for(let s of n.values())s.sort((o,a)=>o.modificadores.length-a.modificadores.length||o.decl-a.decl);return n}function Di(e){let n=new Map;for(let[s,o]of Rs(e))n.set(s,[...new Set(o.flatMap(a=>a.modificadores))]);return n}function Vn(e){let n=new Map;for(let s of Object.keys(e)){if(At(s))continue;let o=Le(s,e);o.some(a=>a.cadena.length>0)&&n.set(s,o)}return n}function Ai(e){let n=new Map,s=(o,a)=>{if(!(n.has(o)||a.includes(o))){for(let r of e[o]){if(typeof r!="string")continue;let{base:l}=fn(r);Object.hasOwn(e,l)&&s(l,[...a,o])}n.set(o,n.size)}};for(let o of Object.keys(e))At(o)||s(o,[]);return n}var hn=(e,n=0,s=0)=>e*1e6+n*1e3+s,_e="a lo sumo un contexto, un print, un group o peer y un estado, en ese orden, y 3 segmentos";function re(e,n,s){let o=[];for(let a of n){let r=[...e,...a.cadena],l=Et(r,s);if(!l.ok)return[...o,{ok:!1,hoja:a,compuesta:r.join("")+a.base}];o.push({ok:!0,cadena:r,hoja:a,segmentos:l.segmentos})}return o}var Fe=(e,n,s,o)=>({class:e,utility:n,inner:o.hoja.cadena.join("")+o.hoja.base,use:s.join(""),result:o.compuesta});var $t=e=>e?` \xBFSe quiso decir "${e}"?`:"",kt=e=>e?` Did you mean "${e}"?`:"",Dl={slug:"slug",root:"ra\xEDz",block:"bloque",token:"clave de token"},qi={slug:"el componente",root:"la ra\xEDz",block:"el bloque",utility:"la utilidad",variable:"la variable"},Al={hex:"el color hex",name:"el color con nombre",function:"la funci\xF3n de color"},Os={slug:"slug",root:"root",block:"block",token:"token key",utility:"utility",variable:"variable"},ql={hex:"the hex color",name:"the named color",function:"the color function"},Ml={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."},Il={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."},Pl={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"},Nl={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"},Ll={"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)"},_l={"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)"},Fl={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."},Vl={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."},Ds="at most one context, one print, one group or peer, and one state, in that order, and 3 segments",Ul={"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.${$t(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.`:""}${$t(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)}): ${Fl[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.${$t(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.${$t(e.suggestion)}`,"utility-invalid-chain":e=>`compone "${e.class}": la cadena no es v\xE1lida, admite ${_e}.`,"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.${$t(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 ${_e}.`,"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.${$t(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.${$t(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.${$t(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.${$t(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}", ${Dl[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 ${qi[e.kind]} "${e.name}", que choca con un nombre del Core. Se elige otro.`,"ext-conflicts-extension":e=>`declara ${qi[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.${$t(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).${$t(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}" ${Al[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}"): ${Ml[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}": ${Pl[e.limit]} (m\xE1ximo ${e.max}).`,"ext-limit":e=>`pasa el l\xEDmite de ${Ll[e.what]}: m\xE1ximo ${e.max}.`,"theme-component-unknown":e=>`no es un componente de ninguna extensi\xF3n instalada ("${e.slug}").${$t(e.suggestion)}`,"theme-component-token-unknown":e=>`no es un token que declare "${e.slug}" ("${e.key}").${$t(e.suggestion)}`},Wl={"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.${kt(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.`:""}${kt(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)}). ${Vl[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.${kt(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.${kt(e.suggestion)}`,"utility-invalid-chain":e=>`composes "${e.class}", but the chain isn't valid. A chain allows ${Ds}.`,"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.${kt(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 ${Ds}.`,"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.${kt(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.${kt(e.suggestion)}`,"safelist-invalid-chain":()=>`has an invalid variant chain. A chain allows ${Ds}.`,"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.${kt(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.${kt(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}", ${Os[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 ${Os[e.kind]} "${e.name}", which conflicts with a Core name. Pick another.`,"ext-conflicts-extension":e=>`declares the ${Os[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.${kt(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).${kt(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 ${ql[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}"). ${Il[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}": ${Nl[e.limit]} (maximum ${e.max}).`,"ext-limit":e=>`exceeds the limit of ${_l[e.what]}: maximum ${e.max}.`,"theme-component-unknown":e=>`isn't a component of any installed extension ("${e.slug}").${kt(e.suggestion)}`,"theme-component-token-unknown":e=>`isn't a token that "${e.slug}" declares ("${e.key}").${kt(e.suggestion)}`},Bl={es:Ul,en:Wl};function bn(e,n){return`taisho config: ${e.path} ${Bl[n][e.code](e.params)}`}var ft=class extends Error{errors;constructor(n){super(n.map(s=>bn(s,"es")).join(`
104
+ `)),this.errors=n}};var Mi={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=Mi;function vn(e){return Object.entries(e).sort(([n],[s])=>n<s?-1:n>s?1:0)}function Ii(e,n){let s=_n(e,n),o=Fn(s);if(o.length)throw new ft(o);return s}function Un(e={}){let n=vn(e);if(n.length===0)return yn;let s=Object.assign(Object.create(null),yn.componentes);for(let[o,a]of n){let r=Ii(a,o);for(let[l,i]of Object.entries(a.components??{})){let c=[...new Set(r.filter(d=>d.slug===l).flatMap(d=>d.parse.bloques.map(p=>p.name.slice(3))))];s[l]={gancho:null,bloques:c,runtime:i.roots.filter(d=>c.includes(d))}}}return{componentes:s,sueltos:yn.sueltos}}function xn(e={}){let n="",s="";for(let[o,a]of vn(e))for(let r of Ii(a,o)){let l=r.parse.bloques.map(i=>i.css).join("");r.slug===void 0?s+=l?`
105
105
  ${l}`:"":n+=`
106
- ${l}`}return{components:n,utilities:s}}function Ai(e={}){let n=[];for(let[,s]of fn(e))for(let[o,a]of Object.entries(s.components??{}))a.tokens&&Object.keys(a.tokens).length&&a.roots[0]!==void 0&&n.push({slug:o,prefijo:a.roots[0],tokens:Object.assign(Object.create(null),a.tokens)});return n}var Fl="@supports not (color: light-dark(#000, #fff))",Ne="light-dark(";function Mi(e,n){for(let s=e.indexOf(Ne);s>=0;s=e.indexOf(Ne)){let o=s+Ne.length,a=1,r=-1,l=o;for(;a>0;l++)e[l]==="("?a++:e[l]===")"?a--:e[l]===","&&a===1&&r<0&&(r=l);e=e.slice(0,s)+(n===0?e.slice(o,r):e.slice(r+1,l-1)).trim()+e.slice(l)}return e}function Vl(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 Ul(e){let n=e.filter(([o])=>!o.startsWith("--ts-material-")),s=new Set(n.filter(([,o])=>o.includes(Ne)||o.includes("var(--color-")).map(([o])=>o));for(let o=-1;o!==s.size;){o=s.size;for(let[a,r]of n)[...r.matchAll(/var\(\s*(--[\w-]+)/g)].some(l=>s.has(l[1]))&&s.add(a)}return n.filter(([o])=>s.has(o))}function Wl(e,n,s){let o=(a,r,l=s)=>`${l}${a} {
107
- ${e.map(([i,c])=>`${l} ${i}: ${Mi(c,r)};
106
+ ${l}`}return{components:n,utilities:s}}function Pi(e={}){let n=[];for(let[,s]of vn(e))for(let[o,a]of Object.entries(s.components??{}))a.tokens&&Object.keys(a.tokens).length&&a.roots[0]!==void 0&&n.push({slug:o,prefijo:a.roots[0],tokens:Object.assign(Object.create(null),a.tokens)});return n}var Gl="@supports not (color: light-dark(#000, #fff))",Ve="light-dark(";function Ni(e,n){for(let s=e.indexOf(Ve);s>=0;s=e.indexOf(Ve)){let o=s+Ve.length,a=1,r=-1,l=o;for(;a>0;l++)e[l]==="("?a++:e[l]===")"?a--:e[l]===","&&a===1&&r<0&&(r=l);e=e.slice(0,s)+(n===0?e.slice(o,r):e.slice(r+1,l-1)).trim()+e.slice(l)}return e}function Jl(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 Zl(e){let n=e.filter(([o])=>!o.startsWith("--ts-material-")),s=new Set(n.filter(([,o])=>o.includes(Ve)||o.includes("var(--color-")).map(([o])=>o));for(let o=-1;o!==s.size;){o=s.size;for(let[a,r]of n)[...r.matchAll(/var\(\s*(--[\w-]+)/g)].some(l=>s.has(l[1]))&&s.add(a)}return n.filter(([o])=>s.has(o))}function Kl(e,n,s){let o=(a,r,l=s)=>`${l}${a} {
107
+ ${e.map(([i,c])=>`${l} ${i}: ${Ni(c,r)};
108
108
  `).join("")}${l}}
109
- `;return o(":root, .scheme-light",0)+(n==="media"?`${s}@media ${se} {
110
- ${o(Gt,1,`${s} `)}${s}}
111
- `:"")+o(".dark, .scheme-dark",1)}function qi(e,n="class",s=""){let o=Ul(Vl(e));if(o.length===0)return"";let a=o.filter(([,i])=>!i.includes(Ne)),r=`.scheme-light, .dark, .scheme-dark${n==="media"?`, ${Gt}`:""}`,l=a.length?` ${r} {
109
+ `;return o(":root, .scheme-light",0)+(n==="media"?`${s}@media ${ae} {
110
+ ${o(Zt,1,`${s} `)}${s}}
111
+ `:"")+o(".dark, .scheme-dark",1)}function Li(e,n="class",s=""){let o=Zl(Jl(e));if(o.length===0)return"";let a=o.filter(([,i])=>!i.includes(Ve)),r=`.scheme-light, .dark, .scheme-dark${n==="media"?`, ${Zt}`:""}`,l=a.length?` ${r} {
112
112
  ${a.map(([i,c])=>` ${i}: ${c};
113
113
  `).join("")} }
114
114
  `:"";return`
115
- ${Fl} {
116
- ${Wl(o.filter(([,i])=>i.includes(Ne)),n," ")}${l}${s}}
117
- `}var Bl=.01;function Hl(e,n,s){let o=[...e.letterSpacing?.normal===void 0?[]:Rn(n),...On(e.lineHeights??{},a=>ks(a,s))];return o.length?o:void 0}var Rs=(e,n)=>(n==="spacing"?{}:e?.[n])??{};function Gl(e){let n={comfortable:{},compact:{}};for(let s of["comfortable","compact"])for(let o of Object.keys(Bt)){let a=Rs(e?.[s],o);Object.keys(a).length&&(n[s][o]=a)}return Object.keys(n.comfortable).length||Object.keys(n.compact).length?n:void 0}function Jl(e,n,s){let o=[];for(let[a,{light:r,dark:l}]of Object.entries(n)){ms(s[a])&&o.push({code:"seed-white",params:{theme:e,color:a,seed:s[a]}});for(let[i,c]of[["light",r],["dark",l]])!c.adjusted||Math.abs(c.dL)<Bl||o.push({code:"seed-shifted",params:{theme:e,color:a,seed:s[a],mode:i,step:nn[c.seedStep],deltaL:c.dL}})}return o}var Ii=.05,Pi=e=>{let{l:n,c:s,h:o}=Ft(e),a=o*Math.PI/180;return[n,s*Math.cos(a),s*Math.sin(a)]};function Zl(e,n){let[s,o,a]=Pi(e),[r,l,i]=Pi(n);return Math.hypot(s-r,o-l,a-i)}function Ni(e,n){let s=sn(e.def)??e.def.colors.brand,o={...n,...e.def.locked?{}:e.def.states??{}},a=[];for(let[r,l]of Object.entries(o)){let i=Zl(s,l);i>=Ii||a.push({code:"brand-like-status",params:{theme:e.name,brand:s,status:r,seed:l,distance:i,threshold:Ii}})}return a}function Le(e,n,s,o=U,a={}){let r=e.def.locked?{}:e.def,l=Object.keys(s),i={...s,...r.states??{}},c=ds(r.neutral),d=ds(r.neutral,"p3"),p={...e.def.colors,...i},h=fs(p,c,"srgb"),t=fs(p,d,"p3"),g=sn(e.def),b=hs(g,c,"srgb"),m=hs(g,d,"p3"),x={...c.light,...h.light,...b.light},f={...c.dark,...h.dark,...b.dark},w=Xo({light:x,dark:f},{light:{...d.light,...t.light,...m.light},dark:{...d.dark,...t.dark,...m.dark}}),u={};for(let[k,E]of Object.entries(x)){u[k]={};for(let[R,L]of Object.entries(E)){let J=f[k]?.[R],H=J!==void 0?{light:L,dark:J}:{light:L},T=w[k]?.[R];T&&(H.p3=T),u[k][R]=H}}let v={};for(let[k,E]of Object.entries(i))if(l.includes(k))v[k]={kind:"status"};else{let{l:R,c:L,h:J}=Ft(E);v[k]={kind:"custom",l:R,c:L,h:J,contrastLight:us(R,L,J,!1),contrastDark:us(R,L,J,!0)}}return{sizing:o.sizing,fontSizes:{...o.fontSizes,...r.fontSizes??{}},lineHeights:{...o.lineHeights,...r.lineHeights??{}},letterSpacing:{...o.letterSpacing,...r.letterSpacing??{}},fontWeights:{...o.fontWeights,...r.fontWeights??{}},rtl:Hl(r,{...o.letterSpacing,...r.letterSpacing??{}},o.sizing),fonts:{...n,...r.fonts??{}},colors:u,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:Me("var(--color-gray-100)","var(--color-gray-200)"),"highlight-strong":Me("var(--color-gray-200)","var(--color-gray-300)"),"toggle-thumb":Me("var(--color-background-100)","var(--color-gray-1000)"),"toggle-icon":Me("var(--color-gray-1000)","var(--color-gray-100)"),...r.semantic??{}},states:v,gaps:{...o.gaps,...r.spacing?.gaps??{}},spaces:{...o.spaces,...r.spacing?.spaces??{}},radius:{...o.radius,...r.radius??{}},cornerShape:r.cornerShape??"round",borderWidths:{...o.borderWidths,...r.borderWidths??{}},blurs:{...o.blurs,...r.blurs??{}},zIndex:{...Ee,...r.zIndex??{}},opacities:{...o.opacities,...r.opacities??{}},screens:{...o.screens,...r.screens??{}},components:Object.fromEntries(Ai(a).map(({slug:k,prefijo:E,tokens:R})=>[k,{prefix:E,tokens:Object.fromEntries(Object.entries(R).map(([L,J])=>[L,r.components?.[k]?.[L]??J]))}])),contrastThreshold:r.contrastThreshold??ni,focusRing:e.def.focusRing,shadows:{...o.shadows,...r.shadows??{}},motion:{durations:{...o.durations,...r.motion?.durations??{}},loops:{...on,...r.motion?.loops??{}},iterations:{...an,...r.motion?.iterations??{}},easings:{...o.easings,...r.motion?.easings??{}}},densityComfortable:Object.fromEntries(Object.entries(Bt).map(([k,{comfortable:E}])=>[k,{...E,...Rs(r.density?.comfortable,k)}])),densityCompact:Object.fromEntries(Object.entries(Bt).map(([k,{compact:E}])=>[k,{...E,...Rs(r.density?.compact,k)}])),densitySpacingCompact:{...Te,...r.density?.compact?.spacing?.gaps??{}},densitySpacesCompact:{...Te,...r.density?.compact?.spacing?.spaces??{}},densityOverrides:Gl(r.density),material:{light:r.material?.light,dark:r.material?.dark},spotlight:di(r.spotlight),warnings:[...Jl(e.name,{...h.escalas,...b.escalas},g===void 0?p:{...p,primary:g}),...pi(r.borderWidths).map(([k,E])=>({code:"border-width-zero",params:{theme:e.name,name:k,value:E}}))]}}function Li(e){let n="";return e?.bg&&(n+=` --ts-material-bg: ${e.bg};
115
+ ${Gl} {
116
+ ${Kl(o.filter(([,i])=>i.includes(Ve)),n," ")}${l}${s}}
117
+ `}var Xl=.01;function Yl(e,n,s){let o=[...e.letterSpacing?.normal===void 0?[]:qn(n),...Mn(e.lineHeights??{},a=>js(a,s))];return o.length?o:void 0}var As=(e,n)=>(n==="spacing"?{}:e?.[n])??{};function Ql(e){let n={comfortable:{},compact:{}};for(let s of["comfortable","compact"])for(let o of Object.keys(Gt)){let a=As(e?.[s],o);Object.keys(a).length&&(n[s][o]=a)}return Object.keys(n.comfortable).length||Object.keys(n.compact).length?n:void 0}function tc(e,n,s){let o=[];for(let[a,{light:r,dark:l}]of Object.entries(n)){bs(s[a])&&o.push({code:"seed-white",params:{theme:e,color:a,seed:s[a]}});for(let[i,c]of[["light",r],["dark",l]])!c.adjusted||Math.abs(c.dL)<Xl||o.push({code:"seed-shifted",params:{theme:e,color:a,seed:s[a],mode:i,step:rn[c.seedStep],deltaL:c.dL}})}return o}var _i=.05,Fi=e=>{let{l:n,c:s,h:o}=Ut(e),a=o*Math.PI/180;return[n,s*Math.cos(a),s*Math.sin(a)]};function ec(e,n){let[s,o,a]=Fi(e),[r,l,i]=Fi(n);return Math.hypot(s-r,o-l,a-i)}function Vi(e,n){let s=ln(e.def)??e.def.colors.brand,o={...n,...e.def.locked?{}:e.def.states??{}},a=[];for(let[r,l]of Object.entries(o)){let i=ec(s,l);i>=_i||a.push({code:"brand-like-status",params:{theme:e.name,brand:s,status:r,seed:l,distance:i,threshold:_i}})}return a}function Ue(e,n,s,o=V,a={}){let r=e.def.locked?{}:e.def,l=Object.keys(s),i={...s,...r.states??{}},c=gs(r.neutral),d=gs(r.neutral,"p3"),p={...e.def.colors,...i},h=ys(p,c,"srgb"),t=ys(p,d,"p3"),g=ln(e.def),b=vs(g,c,"srgb"),m=vs(g,d,"p3"),x={...c.light,...h.light,...b.light},f={...c.dark,...h.dark,...b.dark},w=ei({light:x,dark:f},{light:{...d.light,...t.light,...m.light},dark:{...d.dark,...t.dark,...m.dark}}),u={};for(let[$,E]of Object.entries(x)){u[$]={};for(let[R,N]of Object.entries(E)){let Z=f[$]?.[R],J=Z!==void 0?{light:N,dark:Z}:{light:N},j=w[$]?.[R];j&&(J.p3=j),u[$][R]=J}}let v={};for(let[$,E]of Object.entries(i))if(l.includes($))v[$]={kind:"status"};else{let{l:R,c:N,h:Z}=Ut(E);v[$]={kind:"custom",l:R,c:N,h:Z,contrastLight:fs(R,N,Z,!1),contrastDark:fs(R,N,Z,!0)}}return{sizing:o.sizing,fontSizes:{...o.fontSizes,...r.fontSizes??{}},lineHeights:{...o.lineHeights,...r.lineHeights??{}},letterSpacing:{...o.letterSpacing,...r.letterSpacing??{}},fontWeights:{...o.fontWeights,...r.fontWeights??{}},rtl:Yl(r,{...o.letterSpacing,...r.letterSpacing??{}},o.sizing),fonts:{...n,...r.fonts??{}},colors:u,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:Ne("var(--color-gray-100)","var(--color-gray-200)"),"highlight-strong":Ne("var(--color-gray-200)","var(--color-gray-300)"),"toggle-thumb":Ne("var(--color-background-100)","var(--color-gray-1000)"),"toggle-icon":Ne("var(--color-gray-1000)","var(--color-gray-100)"),...r.semantic??{}},states:v,gaps:{...o.gaps,...r.spacing?.gaps??{}},spaces:{...o.spaces,...r.spacing?.spaces??{}},radius:{...o.radius,...r.radius??{}},cornerShape:r.cornerShape??"round",borderWidths:{...o.borderWidths,...r.borderWidths??{}},blurs:{...o.blurs,...r.blurs??{}},zIndex:{...Ae,...r.zIndex??{}},opacities:{...o.opacities,...r.opacities??{}},screens:{...o.screens,...r.screens??{}},components:Object.fromEntries(Pi(a).map(({slug:$,prefijo:E,tokens:R})=>[$,{prefix:E,tokens:Object.fromEntries(Object.entries(R).map(([N,Z])=>[N,r.components?.[$]?.[N]??Z]))}])),contrastThreshold:r.contrastThreshold??ai,focusRing:e.def.focusRing,shadows:{...o.shadows,...r.shadows??{}},motion:{durations:{...o.durations,...r.motion?.durations??{}},loops:{...cn,...r.motion?.loops??{}},iterations:{...dn,...r.motion?.iterations??{}},easings:{...o.easings,...r.motion?.easings??{}}},densityComfortable:Object.fromEntries(Object.entries(Gt).map(([$,{comfortable:E}])=>[$,{...E,...As(r.density?.comfortable,$)}])),densityCompact:Object.fromEntries(Object.entries(Gt).map(([$,{compact:E}])=>[$,{...E,...As(r.density?.compact,$)}])),densitySpacingCompact:{...De,...r.density?.compact?.spacing?.gaps??{}},densitySpacesCompact:{...De,...r.density?.compact?.spacing?.spaces??{}},densityOverrides:Ql(r.density),material:{light:r.material?.light,dark:r.material?.dark},spotlight:mi(r.spotlight),warnings:[...tc(e.name,{...h.escalas,...b.escalas},g===void 0?p:{...p,primary:g}),...fi(r.borderWidths).map(([$,E])=>({code:"border-width-zero",params:{theme:e.name,name:$,value:E}}))]}}function Ui(e){let n="";return e?.bg&&(n+=` --ts-material-bg: ${e.bg};
118
118
  `),e?.border&&(n+=` --ts-material-border: ${e.border};
119
119
  `),e?.shadowRgb&&(n+=` --ts-material-shadow-rgb: ${e.shadowRgb};
120
- `),n}function _e(e,n="class"){let s=e,o=Me,a=Li,r=`/* Archivo auto-generado: TOKENS */
120
+ `),n}function We(e,n="class"){let s=e,o=Ne,a=Ui,r=`/* Archivo auto-generado: TOKENS */
121
121
 
122
122
  :root {
123
123
  `;for(let[d,p]of Object.entries(s.sizing))r+=` --ts-sizing-${d}: ${p}px;
@@ -125,7 +125,7 @@ ${Wl(o.filter(([,i])=>i.includes(Ne)),n," ")}${l}${s}}
125
125
  `;for(let[d,p]of Object.entries(s.lineHeights))r+=` --ts-lh-${d}: ${p};
126
126
  `;for(let[d,p]of Object.entries(s.letterSpacing))r+=` --ts-ls-${d}: ${p};
127
127
  `;for(let[d,p]of Object.entries(s.fontWeights))r+=` --ts-fw-${d}: ${p};
128
- `;for(let[d,p]of Object.entries(s.fonts))r+=` --font-${d}: ${Lo(p)};
128
+ `;for(let[d,p]of Object.entries(s.fonts))r+=` --font-${d}: ${Uo(p)};
129
129
  `;for(let[d,p]of Object.entries(s.colors))for(let[h,{light:t,dark:g}]of Object.entries(p))r+=` --color-${d}-${h}: ${g!==void 0?o(t,g):t};
130
130
  `;for(let[d,p]of Object.entries(s.semantic))r+=` --ts-color-${d}: ${p};
131
131
  `;for(let[d,p]of Object.entries(s.states))if(p.kind==="status")r+=` --ts-color-${d}: var(--color-${d}-500);
@@ -163,8 +163,8 @@ ${Wl(o.filter(([,i])=>i.includes(Ne)),n," ")}${l}${s}}
163
163
  .dark {
164
164
  ${i}`),i&&n==="media"&&(r+=`}
165
165
 
166
- @media ${se} {
167
- ${Gt} {
166
+ @media ${ae} {
167
+ ${Zt} {
168
168
  ${i} }
169
169
  `),r+=`}
170
170
 
@@ -177,16 +177,16 @@ ${i} }
177
177
  @supports (corner-shape: squircle) {
178
178
  :root {
179
179
  --ts-corner-shape: squircle;
180
- `;for(let[d,p]of Object.entries(Qo(s.radius)))r+=` --ts-radius-${d}: ${p};
180
+ `;for(let[d,p]of Object.entries(si(s.radius)))r+=` --ts-radius-${d}: ${p};
181
181
  `;r+=` }
182
182
  }
183
183
  `}s.rtl&&(r+=`
184
- ${rn(s.rtl)}
184
+ ${pn(s.rtl)}
185
185
  `),r+=`
186
186
  @media (prefers-reduced-motion: reduce) {
187
187
  :root {
188
- `;for(let d of Object.keys(s.motion.durations))r+=` --ts-duration-${d}: ${bs};
189
- `;for(let d of Object.keys(s.motion.iterations))r+=` --ts-iterations-${d}: ${ys};
188
+ `;for(let d of Object.keys(s.motion.durations))r+=` --ts-duration-${d}: ${xs};
189
+ `;for(let d of Object.keys(s.motion.iterations))r+=` --ts-iterations-${d}: ${ws};
190
190
  `;r+=` }
191
191
  }
192
192
  `;let c="";for(let[d,p]of Object.entries(s.colors))for(let[h,{p3:t}]of Object.entries(p))t&&(c+=` --color-${d}-${h}: ${o(t.light,t.dark)};
@@ -195,10 +195,10 @@ ${rn(s.rtl)}
195
195
  :root {
196
196
  ${c} }
197
197
  }
198
- `),r+=qi(l,n,oi(n)),r}function Os(e){let n=(s,o)=>{let a=Li(o);return a?`
198
+ `),r+=Li(l,n,li(n)),r}function qs(e){let n=(s,o)=>{let a=Ui(o);return a?`
199
199
  ${s} {
200
200
  ${a}}
201
- `:""};return n(".scheme-dark",e.material.dark)+n(".scheme-light",e.material.light)}var _i=e=>e.includes("scheme-dark")||e.includes("scheme-light");function Ds(e){let n=new Set(e.map(o=>o.replaceAll("\\","").slice(3))),s=(o,a)=>o<a?-1:o>a?1:0;return`// Archivo auto-generado: TIPOS DE CLASES de una extensi\xF3n de TaishoDS
201
+ `:""};return n(".scheme-dark",e.material.dark)+n(".scheme-light",e.material.light)}var Wi=e=>e.includes("scheme-dark")||e.includes("scheme-light");function Ms(e){let n=new Set(e.map(o=>o.replaceAll("\\","").slice(3))),s=(o,a)=>o<a?-1:o>a?1:0;return`// Archivo auto-generado: TIPOS DE CLASES de una extensi\xF3n de TaishoDS
202
202
 
203
203
  declare module '@taishods/core/classes' {
204
204
  interface TaishoClassRegistry {
@@ -208,58 +208,58 @@ ${[...n].sort(s).map(o=>` "${o}": true;`).join(`
208
208
  }
209
209
 
210
210
  export {};
211
- `}var As={ml:"ms",mr:"me",pl:"ps",pr:"pe",left:"start",right:"end"},Kl={tl:"ss",tr:"se",bl:"es",br:"ee",l:"s",r:"e"},Xl={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,a]=n,r=As[s]??s;if(!As[s]&&!a)return null;let l=As[s]?"fisico-inline":"negativo";return a&&o==="none"?{viejo:e,nuevo:`ts-${r}-none`,regla:l,fusion:!0}:{viejo:e,nuevo:`ts-${r}-${a?"neg-":""}${o}`,regla:l}}return(n=e.match(/^ts-text-(left|center|right)$/))?{viejo:e,nuevo:`ts-align-${Xl[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-${Kl[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 Fi(e){let n=[];for(let s of new Set(e)){let o=gt(s);o&&n.push(o)}return n}function St(e){let n=new Map;for(let s of Fi(e))s.nuevo!==null&&!s.fusion&&n.set(s.viejo,s.nuevo);return n}function Vi(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 St(e.map(a=>a.name)))n.set(o,n.get(s));return n}var Ms=["--ts-space-quarter"],Ui=/^\s*(--[\w-]+)\s*:(.*);\s*$/,Yl=/var\(\s*(--[\w-]+)/g;function qs(e){return e.flatMap(n=>n.content.match(/--[a-zA-Z][\w-]*/g)??[])}function _n(e){return new Set([...e.matchAll(Yl)].map(n=>n[1]))}function Is(e,n,s=[]){let o=e.split(`
212
- `),a=new Map;for(let d of o){let p=Ui.exec(d);p&&a.set(p[1],[...a.get(p[1])??[],p[2]])}let r=new Set,l=[..._n(n),...s];for(let d=l.pop();d!==void 0;d=l.pop())if(!(r.has(d)||!a.has(d))){r.add(d);for(let p of a.get(d))l.push(..._n(p))}let i=o.filter(d=>{let p=Ui.exec(d);return!p||r.has(p[1])}).join(`
211
+ `}var Is={ml:"ms",mr:"me",pl:"ps",pr:"pe",left:"start",right:"end"},nc={tl:"ss",tr:"se",bl:"es",br:"ee",l:"s",r:"e"},sc={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,a]=n,r=Is[s]??s;if(!Is[s]&&!a)return null;let l=Is[s]?"fisico-inline":"negativo";return a&&o==="none"?{viejo:e,nuevo:`ts-${r}-none`,regla:l,fusion:!0}:{viejo:e,nuevo:`ts-${r}-${a?"neg-":""}${o}`,regla:l}}return(n=e.match(/^ts-text-(left|center|right)$/))?{viejo:e,nuevo:`ts-align-${sc[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-${nc[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 Bi(e){let n=[];for(let s of new Set(e)){let o=gt(s);o&&n.push(o)}return n}function St(e){let n=new Map;for(let s of Bi(e))s.nuevo!==null&&!s.fusion&&n.set(s.viejo,s.nuevo);return n}function Hi(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 St(e.map(a=>a.name)))n.set(o,n.get(s));return n}var Ps=["--ts-space-quarter"],Gi=/^\s*(--[\w-]+)\s*:(.*);\s*$/,oc=/var\(\s*(--[\w-]+)/g;function Ns(e){return e.flatMap(n=>n.content.match(/--[a-zA-Z][\w-]*/g)??[])}function Wn(e){return new Set([...e.matchAll(oc)].map(n=>n[1]))}function Ls(e,n,s=[]){let o=e.split(`
212
+ `),a=new Map;for(let d of o){let p=Gi.exec(d);p&&a.set(p[1],[...a.get(p[1])??[],p[2]])}let r=new Set,l=[...Wn(n),...s];for(let d=l.pop();d!==void 0;d=l.pop())if(!(r.has(d)||!a.has(d))){r.add(d);for(let p of a.get(d))l.push(...Wn(p))}let i=o.filter(d=>{let p=Gi.exec(d);return!p||r.has(p[1])}).join(`
213
213
  `),c=/^[ \t]*[^\n{}]+\{\s*\}[ \t]*\n/gm;for(let d="";d!==i;)d=i,i=i.replace(c,"");return i.replace(/\n{3,}/g,`
214
214
 
215
- `)}var Wi={"required-proxy":["select","date-picker"]},ju=[...Object.keys(Wi)];var Bi="@layer base, components, utilities, states, utility-states, print;";var Ql=["hover","active","focus-visible","focus-within","focus","disabled","checked","indeterminate","invalid","user-invalid","read-only","popover-open","modal","open"],tc=["disabled","invalid","checked","selected","pressed","expanded","current","busy"],ec=["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"],nc=new RegExp(`:(?:${Ql.join("|")})(?![\\w-])|\\[open\\]|\\[aria-(?:${tc.join("|")})|\\.is-(?:${ec.join("|")})(?![\\w-])`),Ps=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},Fn=e=>nc.test(Ps(e)),Hi=e=>{let n=Ps(e);return/:hover(?![\w-])/.test(n)?"hover":/:active(?![\w-])/.test(n)?"active":"otro"},sc=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-])"),Gi=e=>sc.test(Ps(e));var Un=e=>"cuerpo"in e;function oc(e,n){let s=1;for(let o=n;o<e.length;o++){let a=e[o];if(a==="/"&&e[o+1]==="*")o=e.indexOf("*/",o+2)+1;else if(a==='"'||a==="'")for(o++;o<e.length&&e[o]!==a;o++)e[o]==="\\"&&o++;else if(a==="{")s++;else if(a==="}"&&--s===0)return o}throw new Error("CSS de componente sin cerrar al separar los estados.")}function Ls(e){let n=[],s="",o=0;for(let a=0;a<e.length;a++){let r=e[a];if(r==="/"&&e[a+1]==="*"){let l=e.indexOf("*/",a+2)+2;s+=e.slice(a,l),a=l-1}else if(r==='"'||r==="'"){let l=a;for(a++;a<e.length&&e[a]!==r;a++)e[a]==="\\"&&a++;s+=e.slice(l,a+1)}else if(r==="(")o++,s+=r;else if(r===")")o--,s+=r;else if(r===";"&&o===0)n.push({texto:s+";"}),s="";else if(r==="{"&&o===0){let l=oc(e,a+1);n.push({prelude:s,cuerpo:Ls(e.slice(a+1,l))}),s="",a=l}else s+=r}return s&&n.push({texto:s}),n}var Wn=e=>e.map(n=>Un(n)?`${n.prelude}{${Wn(n.cuerpo)}}`:n.texto).join(""),Ns=e=>e.replace(/\/\*[\s\S]*?\*\//g,""),Ji=e=>e.replace(/\/\*[\s\S]*?\*\/[ \t]*\n?[ \t]*/g,""),ic=e=>{let n=e[e.length-1];return n&&!Un(n)&&n.texto.trim()===""?n:{texto:`
216
- `}},ac=e=>e.some(n=>Un(n)||Ns(n.texto).trim()!=="");function rc(e){let n=[],s=0,o=0;for(let a=0;a<e.length;a++){let r=e[a];r==="("||r==="["?s++:r===")"||r==="]"?s--:r===","&&s===0&&(n.push(e.slice(o,a).trim()),o=a+1)}return n.push(e.slice(o).trim()),n}function Vn(e){let n=[],s=[];for(let o of e){if(!Un(o)){n.push(o);continue}let a=Ns(o.prelude).trim(),l=!a.startsWith("@")?rc(a):[],i=l.filter(Fn);if(i.length&&i.length<l.length){let d=/^\s*/.exec(Ns(o.prelude))[0],p=t=>({prelude:`${d}${t.join(", ")} `,cuerpo:o.cuerpo}),h=Vn([p(l.filter(t=>!i.includes(t)))]);n.push(...h.reposo),s.push(...h.estados,p(i));continue}if(i.length){s.push({prelude:Ji(o.prelude),cuerpo:o.cuerpo});continue}let c=Vn(o.cuerpo);if(c.estados.length===0){n.push(o);continue}ac(c.reposo)&&n.push({prelude:o.prelude,cuerpo:c.reposo}),s.push({prelude:Ji(o.prelude),cuerpo:[...c.estados,ic(o.cuerpo)]})}return{reposo:n,estados:s}}var lc=["--ts-bg-h","--ts-bg-a","--ts-on-bg","--ts-on-bg-h","--ts-on-bg-a","--ts-fg","--ts-sh"],_s=["100","200","300","400","500","600","700","800","900","1000"],Fs="var(--color-gray-1000)",Zi="var(--color-gray-100)";function cc(e,n){let s=Number(n);if(e==="background")return s===100||s===200?Fs:void 0;if(e==="gray")return s<=600?Fs:Zi;if(e==="grayAlpha")return s<=600?Fs:s>=800?Zi:void 0}var dc=new Set(["gray","grayAlpha","background"]),Ki=/background-color:\s*var\(--color-([A-Za-z]+)-(\d+|solid)\)/,pc=/^\s*color:\s*([^;]+);\s*$/,uc=/box-shadow:\s*var\((--ts-shadow-[A-Za-z0-9-]+)\)/,Vs=(e,n,s)=>dc.has(e)?cc(e,n):s(`ts-color-${e}-${n}-contrast`)?`var(--color-${e}-${n}-contrast)`:void 0;function Bs(e,n,s){let o="",a=/^ts-(bg|surface|floating)-/.test(e)?Ki.exec(n):null;if(a){let[,i,c]=a,d=_s.indexOf(c),[p,h]=c==="solid"?["solid-hover","solid-active"]:[_s[Math.min(d+1,9)],_s[Math.min(d+2,9)]],t=(b,m,x)=>{if(!s(`ts-bg-${i}-${b}`))return;o+=`
217
- ${m}: var(--color-${i}-${b});`;let f=Vs(i,b,s);f&&(o+=`
218
- ${x}: ${f};`)},g=Vs(i,c,s);g&&(o+=`
219
- --ts-on-bg: ${g};`),t(p,"--ts-bg-h","--ts-on-bg-h"),t(h,"--ts-bg-a","--ts-on-bg-a")}let r=/^ts-color-/.test(e)?pc.exec(n):null;r&&(o+=`
220
- --ts-fg: ${r[1].trim()};`);let l=/^ts-(surface|floating|shadow)-/.test(e)?uc.exec(n):null;return l&&(o+=`
221
- --ts-sh: var(${l[1]});`),o}function Xi(e,n,s){let o=/^ts-bg-/.test(e)?Ki.exec(n):null,a=o&&Vs(o[1],o[2],s);return a?`
222
- color: var(--ts-fg, ${a});`:""}function Yi(e){let n=lc.filter(s=>e.includes(`
215
+ `)}var Ji={"required-proxy":["select","date-picker"]},Ou=[...Object.keys(Ji)];var Zi="@layer base, components, utilities, states, utility-states, print;";var ic=["hover","active","focus-visible","focus-within","focus","disabled","checked","indeterminate","invalid","user-invalid","read-only","popover-open","modal","open"],ac=["disabled","invalid","checked","selected","pressed","expanded","current","busy"],rc=["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"],lc=new RegExp(`:(?:${ic.join("|")})(?![\\w-])|\\[open\\]|\\[aria-(?:${ac.join("|")})|\\.is-(?:${rc.join("|")})(?![\\w-])`),_s=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},Bn=e=>lc.test(_s(e)),Ki=e=>{let n=_s(e);return/:hover(?![\w-])/.test(n)?"hover":/:active(?![\w-])/.test(n)?"active":"otro"},cc=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-])"),Xi=e=>cc.test(_s(e));var Gn=e=>"cuerpo"in e;function dc(e,n){let s=1;for(let o=n;o<e.length;o++){let a=e[o];if(a==="/"&&e[o+1]==="*")o=e.indexOf("*/",o+2)+1;else if(a==='"'||a==="'")for(o++;o<e.length&&e[o]!==a;o++)e[o]==="\\"&&o++;else if(a==="{")s++;else if(a==="}"&&--s===0)return o}throw new Error("CSS de componente sin cerrar al separar los estados.")}function Vs(e){let n=[],s="",o=0;for(let a=0;a<e.length;a++){let r=e[a];if(r==="/"&&e[a+1]==="*"){let l=e.indexOf("*/",a+2)+2;s+=e.slice(a,l),a=l-1}else if(r==='"'||r==="'"){let l=a;for(a++;a<e.length&&e[a]!==r;a++)e[a]==="\\"&&a++;s+=e.slice(l,a+1)}else if(r==="(")o++,s+=r;else if(r===")")o--,s+=r;else if(r===";"&&o===0)n.push({texto:s+";"}),s="";else if(r==="{"&&o===0){let l=dc(e,a+1);n.push({prelude:s,cuerpo:Vs(e.slice(a+1,l))}),s="",a=l}else s+=r}return s&&n.push({texto:s}),n}var Jn=e=>e.map(n=>Gn(n)?`${n.prelude}{${Jn(n.cuerpo)}}`:n.texto).join(""),Fs=e=>e.replace(/\/\*[\s\S]*?\*\//g,""),Yi=e=>e.replace(/\/\*[\s\S]*?\*\/[ \t]*\n?[ \t]*/g,""),pc=e=>{let n=e[e.length-1];return n&&!Gn(n)&&n.texto.trim()===""?n:{texto:`
216
+ `}},uc=e=>e.some(n=>Gn(n)||Fs(n.texto).trim()!=="");function gc(e){let n=[],s=0,o=0;for(let a=0;a<e.length;a++){let r=e[a];r==="("||r==="["?s++:r===")"||r==="]"?s--:r===","&&s===0&&(n.push(e.slice(o,a).trim()),o=a+1)}return n.push(e.slice(o).trim()),n}function Hn(e){let n=[],s=[];for(let o of e){if(!Gn(o)){n.push(o);continue}let a=Fs(o.prelude).trim(),l=!a.startsWith("@")?gc(a):[],i=l.filter(Bn);if(i.length&&i.length<l.length){let d=/^\s*/.exec(Fs(o.prelude))[0],p=t=>({prelude:`${d}${t.join(", ")} `,cuerpo:o.cuerpo}),h=Hn([p(l.filter(t=>!i.includes(t)))]);n.push(...h.reposo),s.push(...h.estados,p(i));continue}if(i.length){s.push({prelude:Yi(o.prelude),cuerpo:o.cuerpo});continue}let c=Hn(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:Yi(o.prelude),cuerpo:[...c.estados,pc(o.cuerpo)]})}return{reposo:n,estados:s}}var mc=["--ts-bg-h","--ts-bg-a","--ts-on-bg","--ts-on-bg-h","--ts-on-bg-a","--ts-fg","--ts-sh"],Us=["100","200","300","400","500","600","700","800","900","1000"],Ws="var(--color-gray-1000)",Qi="var(--color-gray-100)";function fc(e,n){let s=Number(n);if(e==="background")return s===100||s===200?Ws:void 0;if(e==="gray")return s<=600?Ws:Qi;if(e==="grayAlpha")return s<=600?Ws:s>=800?Qi:void 0}var hc=new Set(["gray","grayAlpha","background"]),ta=/background-color:\s*var\(--color-([A-Za-z]+)-(\d+|solid)\)/,bc=/^\s*color:\s*([^;]+);\s*$/,yc=/box-shadow:\s*var\((--ts-shadow-[A-Za-z0-9-]+)\)/,Bs=(e,n,s)=>hc.has(e)?fc(e,n):s(`ts-color-${e}-${n}-contrast`)?`var(--color-${e}-${n}-contrast)`:void 0;function Js(e,n,s){let o="",a=/^ts-(bg|surface|floating)-/.test(e)?ta.exec(n):null;if(a){let[,i,c]=a,d=Us.indexOf(c),[p,h]=c==="solid"?["solid-hover","solid-active"]:[Us[Math.min(d+1,9)],Us[Math.min(d+2,9)]],t=(b,m,x)=>{if(!s(`ts-bg-${i}-${b}`))return;o+=`
217
+ ${m}: var(--color-${i}-${b});`;let f=Bs(i,b,s);f&&(o+=`
218
+ ${x}: ${f};`)},g=Bs(i,c,s);g&&(o+=`
219
+ --ts-on-bg: ${g};`),t(p,"--ts-bg-h","--ts-on-bg-h"),t(h,"--ts-bg-a","--ts-on-bg-a")}let r=/^ts-color-/.test(e)?bc.exec(n):null;r&&(o+=`
220
+ --ts-fg: ${r[1].trim()};`);let l=/^ts-(surface|floating|shadow)-/.test(e)?yc.exec(n):null;return l&&(o+=`
221
+ --ts-sh: var(${l[1]});`),o}function ea(e,n,s){let o=/^ts-bg-/.test(e)?ta.exec(n):null,a=o&&Bs(o[1],o[2],s);return a?`
222
+ color: var(--ts-fg, ${a});`:""}function na(e){let n=mc.filter(s=>e.includes(`
223
223
  ${s}:`));return n.length?n.map(s=>`@property ${s} { syntax: '*'; inherits: false; }
224
224
  `).join("")+`@supports ((-moz-orient: inline) and (not (color: oklch(from red l c h)))) { *, ::before, ::after { ${n.map(s=>`${s}: initial;`).join(" ")} } }
225
- `:""}var gc=/^((?:\s|\/\*[\s\S]*?\*\/)*)([A-Za-z-]+)(\s*:\s*)([\s\S]*?)(\s*;?\s*)$/,mc=new Set(["inherit","initial","unset","revert","revert-layer"]),fc=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!mc.has(e)},Us=e=>e==="background"||e==="background-color",Hs=e=>"cuerpo"in e,Ws=e=>!e.prelude.replace(/\/\*[\s\S]*?\*\//g,"").trim().startsWith("@");function Gs(e){return e.cuerpo.flatMap(n=>{if(Hs(n))return[];let s=gc.exec(n.texto);return s?[{parte:n,antes:s[1],prop:s[2],sep:s[3],valor:s[4],fin:s[5]}]:[]})}function Qi(e,...n){for(let s of Gs(e))for(let[o,a]of n){if(!o(s.prop)||!fc(s.valor))continue;let r=a.reduceRight((l,i)=>`var(${i}, ${l})`,s.valor);s.parte.texto=`${s.antes}${s.prop}${s.sep}${r}${s.fin}`}}function ta(e){for(let n of e)Hs(n)&&(Ws(n)&&Gs(n).some(s=>Us(s.prop))&&Qi(n,[s=>s==="color",["--ts-on-bg"]]),ta(n.cuerpo))}function ea(e,n=""){for(let s of e){if(!Hs(s))continue;let o=s.prelude.replace(/\/\*[\s\S]*?\*\//g,"").trim(),a=Ws(s)?`${n} ${o}`:n;if(Ws(s)&&Fn(o)){let r=Hi(a);if(r==="otro")continue;let l=r==="hover"?"h":"a",i=Gs(s).some(d=>Us(d.prop)),c=Gi(a)?[]:["--ts-fg"];Qi(s,[Us,[`--ts-bg-${l}`]],...i?[[d=>d==="color",[...c,`--ts-on-bg-${l}`]]]:[]);continue}ea(s.cuerpo,a)}}function na(e){let n=Vn(Ls(e));return ta(n.reposo),ea(n.estados),{reposo:Wn(n.reposo),estados:Wn(n.estados)}}var aa=/@utility\s+([A-Za-z0-9_\\/:@.-]+)\s*\{/g;function at(e){let n=[],s=aa;s.lastIndex=0;let o;for(;(o=s.exec(e))!==null;){let a=1,r=s.lastIndex;for(;r<e.length&&a>0;)e[r]==="{"?a++:e[r]==="}"&&a--,r++;n.push({name:o[1],body:e.slice(s.lastIndex,r-1)}),s.lastIndex=r}return n}var sa=64,Bn=1024*1024,Js=(e,n,s)=>new ft([{path:"extensions",code:"ext-apply-budget",params:{block:e,limit:n,max:s}}]),oa=new WeakMap,hc=e=>{let n=oa.get(e);return(!n||n.tam!==e.size)&&(n={tam:e.size,expandidas:new Map},oa.set(e,n)),n.expandidas};function bc(e,n){let s="",o=0;for(let a=e.indexOf("@apply");a!==-1;a=e.indexOf("@apply",o)){let r=a+6,l=/\s/.test(e[r]??"")?e.indexOf(";",r):-1;if(l===-1&&/\s/.test(e[r]??""))break;if(l-r<2){s+=e.slice(o,a+6),o=a+6;continue}s+=e.slice(o,a)+n(e.slice(r+1,l)),o=l+1}return s+e.slice(o)}function yn(e,n,s=[]){let o=hc(n);return bc(e,a=>{let r=a.trim().split(/\s+/).filter(Boolean);if(s.length>=sa)throw Js(s[0],"depth",sa);let l=p=>{if(s.includes(p))throw new Error(`Ciclo de @apply: ${[...s,p].join(" \u2192 ")}. Se revisan emit-utilities.ts / emit-components.ts.`);let h=n.get(p);if(h===void 0)throw new Error(`@apply ${p}: 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(p);if(t===void 0){if(t=yn(h,n,[...s,p]),t.length>Bn)throw Js(s[0]??p,"block-size",Bn);o.set(p,t)}return t},i=new Map;for(let p of r)n.has(p)&&!i.has(p)&&i.set(p,ra(l(p)));let c=[...r].sort((p,h)=>(i.get(h)??0)-(i.get(p)??0)),d=0;return c.map(p=>{let h=l(p).trim();if(d+=h.length,d>Bn)throw Js(s[0]??p,"block-size",Bn);return h}).join(`
226
- `)})}function yc(e){let n=aa;n.lastIndex=0;let s,o="",a=0;for(;(s=n.exec(e))!==null;){let r=1,l=n.lastIndex;for(;l<e.length&&r>0;)e[l]==="{"?r++:e[l]==="}"&&r--,l++;o+=e.slice(a,s.index),a=l,n.lastIndex=l}return o+e.slice(a)}function vc(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 ra(e){return Ks(e).length}var xc=new Set(["-webkit-user-select","-webkit-backdrop-filter"]);function Ks(e){let n=0,s="";for(let o of e)o==="{"?n++:o==="}"?n--:n===0&&(s+=o);return vc(s).split(";").filter(o=>o.includes(":")&&!xc.has(o.slice(0,o.indexOf(":")).trim()))}var Zs=e=>e.slice(0,e.indexOf(":")).trim(),wc=["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"],la=(e,n)=>e<n?-1:e>n?1:0,$c=e=>e.replace(/^[0-9]/,n=>`\\3${n} `).replace(/([:@.]|(?<!\\)\/)/g,"\\$1"),ca="ts",ia=e=>`.${$c(e)}`,Fe=(e,n,s="",o=!1,a="",r=[])=>o?ia(s+e)+(r.length?`:where(.${r.join(".")})`:"")+a:`:where(.${ca})${ia(s+(n.get(e)??e).slice(3))}${a}`,Xs=e=>e.replaceAll("\\","");function kc(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 Sc(e,n){let s="",o=0,a=0;for(let r=0;r<e.length;r++){let l=e[r];if(l==="/"&&e[r+1]==="*"){if(r=e.indexOf("*/",r+2)+1,r===0)break}else if(l==='"'||l==="'")for(r++;r<e.length&&e[r]!==l;r++)e[r]==="\\"&&r++;else l==="("?a++:l===")"?a--:a===0&&(l===";"||l==="}"?(s+=e.slice(o,r+1),o=r+1):l==="{"&&(s+=n(e.slice(o,r))+"{",o=r+1))}return s+e.slice(o)}function bn(e){return e.includes(".ts-")?Sc(e,n=>zc(n.replace(/\/\*[\s\S]*?\*\/|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\.(ts-[A-Za-z0-9_-]+)/g,(s,o)=>{if(o===void 0)return s;let a=gt(o);if(a&&a.nuevo===null)throw new Error(`Scope: el selector anidado ".${o}" est\xE1 deprecado y no tiene sucesor.`);return`:where(.${ca}).${(a?.nuevo??o).slice(3)}`}))):e}function zc(e){let n=[],s=0,o=0;for(let r=0;r<e.length;r++){let l=e[r];l==="("||l==="["?s++:l===")"||l==="]"?s--:l===","&&s===0&&(n.push(e.slice(o,r)),o=r+1)}n.push(e.slice(o));let a=new Set;return n.filter(r=>!a.has(r.trim())&&a.add(r.trim())).join(",")}var jc=[/^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)$/],Cc=[["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 Tc(e=U){let n=[],s=["","sm:","md:","lg:","@sm:","@md:","@lg:","@xl:"];for(let o=1;o<=12;o++)for(let a of s)n.push(`${a}ts-grid-cols-${o}`,`${a}ts-grid-rows-${o}`,`${a}ts-col-span-${o}`,`${a}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 a of s)n.push(`${a}ts-gap-${o}`,`${a}ts-gap-x-${o}`,`${a}ts-gap-y-${o}`);return n}function Ve(e){return(e.match(/[A-Za-z0-9_@:./-]+(?:(?<=-)\$?\{)?/g)??[]).map(n=>n.replace(/\$?\{$/,"{"))}function da(e,n){let s=/(?:ts-[a-z0-9-]+|[a-z][a-z0-9]*(?:-[a-z0-9]+)*)\b/y,o=[];for(let a of e){let r=a.split(":");if(r.length<2)continue;let l=r[r.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(r[0]),d=r.slice(1,-1);!i||!c||!d.every(p=>/^@?[a-z0-9][a-z0-9-]*(?:\/[a-z][a-z0-9-]*)?$/.test(p))||o.push({variantes:[c[1],...d].map(p=>`${p}:`),base:i})}return o}function Ys({reset:e,atomic:n,utilities:s,components:o,scales:a=U,userUtilities:r={}}){let l=Object.fromEntries(Object.entries(r).filter(([j])=>!At(j))),i=j=>{let S=j.filter(M=>!M.includes(":"));return S.length?`
227
- @apply ${S.map(M=>Object.hasOwn(l,M)?M:`ts-${M}`).join(" ")};
228
- `:""},c=[...at(n),...at(s),...at(o),...Object.entries(l).map(([j,S])=>({name:j,body:i(S)}))],d=Vi(c),p=new Map;for(let[j,S]of Cs(r))p.set(j,S.map((M,G)=>(d.set(M.clave,i(r[M.clave])),{...M,componente:j,hojas:qe(M.clave,r),rango:G})));let h=new Map;for(let[j,S]of St(c.map(M=>M.name)))h.set(S,j);let t=St(c.map(j=>j.name)),g=j=>Object.hasOwn(l,j),b=j=>!g(j)&&!t.has(j)&&gt(Xs(j))!==null,m="";for(let j of[n,s,o]){let S=yc(j).replace(/^@import\s+[^;]+;\s*$/gm,"").trim();S&&(m+=bn(S)+`
229
- `)}let x=c.map(j=>j.name),f=new Set(at(o).map(j=>j.name)),w=new Set([...x.filter(j=>jc.some(S=>S.test(j))),...Object.keys(l)]),u=new Map(x.map(j=>[Xs(j),j])),v=Jt(a.screens),k=new Map,E=j=>{let S=k.get(j);if(!S){let M=yn(j.body,d,[j.name]),G=f.has(j.name)||g(j.name)?"":Bs(j.name,M,Z=>d.has(Z));S={css:`${Fe(j.name,t,"",g(j.name))} {${bn(M.trimEnd())}${G}
230
- }`,declaraciones:ra(M)},k.set(j,S)}return S},R=new Map,L=j=>{let S=R.get(j);return S===void 0&&(S=bn(yn(d.get(j),d,[j]).trimEnd()),R.set(j,S)),S},J=new Map(wc.map((j,S)=>[j,S]));for(let j of c){let S=Ks(j.body);S.length===1&&!j.body.includes("@apply")&&!J.has(Zs(S[0]))&&J.set(Zs(S[0]),J.size)}let H=new Map,T=j=>{let S=H.get(j);if(!S){let M=Ks(L(j));S={declaraciones:M.length,familia:J.get(Zs(M[0]??""))??J.size},H.set(j,S)}return S},I=(j,S)=>{let M=T(j),G=T(S);return G.declaraciones-M.declaraciones||M.familia-G.familia||la(t.get(j)??j,t.get(S)??S)},N=Nn(r),X=Ei(r);return{reset:e,scales:a,userUtilities:r,bloques:c,componentes:f,dict:d,viejoDe:h,alias:t,propia:g,sinRegla:b,sueltos:m,nombresBase:x,conVariante:w,delBloque:u,tabla:v,reglaDe:E,cuerpoDe:L,conCadenas:N,ordenPropia:X,cuerpoHojas:(j,S)=>bn(yn(`
231
- @apply ${S.map(M=>u.get(`ts-${M}`)??`ts-${M}`).join(" ")};
232
- `,d,[j]).trimEnd()),modUnits:p,rangoMod:j=>un(X.get(j.componente),j.modificadores.length,j.rango),compararUtilidades:I}}function Qs(e,{usadas:n,forzadas:s=new Set}){let o=a=>!n||s.has(a)?!0:n.has(Xs(e.propia(a)?a:(e.alias.get(a)??a).slice(3)));return e.bloques.filter(a=>o(a.name))}function pa({variantesUsadas:e,usadas:n,forzadas:s,varsDelProyecto:o,...a}){return to(Ys(a),{variantesUsadas:e,usadas:n,forzadas:s,varsDelProyecto:o})}function to(e,{variantesUsadas:n=new Set,usadas:s,forzadas:o=new Set,varsDelProyecto:a=new Set}){let{reset:r,scales:l,componentes:i,dict:c,viejoDe:d,alias:p,propia:h,sinRegla:t,sueltos:g,nombresBase:b,conVariante:m,delBloque:x,tabla:f,reglaDe:w,cuerpoDe:u,conCadenas:v,ordenPropia:k,cuerpoHojas:E,modUnits:R,rangoMod:L,compararUtilidades:J}=e,H=s?[]:Tc(l),T=`/* Archivo auto-generado: TAISHO FULL \u2014 CSS plano, sin Tailwind. */
233
- `;T+=`/* Emparejalo con UN archivo de tema: css/tokens/<tema>.css */
234
-
235
- `,T+=`${Bi}
236
-
237
- `,T+=`@layer base {
225
+ `:""}var vc=/^((?:\s|\/\*[\s\S]*?\*\/)*)([A-Za-z-]+)(\s*:\s*)([\s\S]*?)(\s*;?\s*)$/,xc=new Set(["inherit","initial","unset","revert","revert-layer"]),wc=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!xc.has(e)},Hs=e=>e==="background"||e==="background-color",Zs=e=>"cuerpo"in e,Gs=e=>!e.prelude.replace(/\/\*[\s\S]*?\*\//g,"").trim().startsWith("@");function Ks(e){return e.cuerpo.flatMap(n=>{if(Zs(n))return[];let s=vc.exec(n.texto);return s?[{parte:n,antes:s[1],prop:s[2],sep:s[3],valor:s[4],fin:s[5]}]:[]})}function sa(e,...n){for(let s of Ks(e))for(let[o,a]of n){if(!o(s.prop)||!wc(s.valor))continue;let r=a.reduceRight((l,i)=>`var(${i}, ${l})`,s.valor);s.parte.texto=`${s.antes}${s.prop}${s.sep}${r}${s.fin}`}}function oa(e){for(let n of e)Zs(n)&&(Gs(n)&&Ks(n).some(s=>Hs(s.prop))&&sa(n,[s=>s==="color",["--ts-on-bg"]]),oa(n.cuerpo))}function ia(e,n=""){for(let s of e){if(!Zs(s))continue;let o=s.prelude.replace(/\/\*[\s\S]*?\*\//g,"").trim(),a=Gs(s)?`${n} ${o}`:n;if(Gs(s)&&Bn(o)){let r=Ki(a);if(r==="otro")continue;let l=r==="hover"?"h":"a",i=Ks(s).some(d=>Hs(d.prop)),c=Xi(a)?[]:["--ts-fg"];sa(s,[Hs,[`--ts-bg-${l}`]],...i?[[d=>d==="color",[...c,`--ts-on-bg-${l}`]]]:[]);continue}ia(s.cuerpo,a)}}function aa(e){let n=Hn(Vs(e));return oa(n.reposo),ia(n.estados),{reposo:Jn(n.reposo),estados:Jn(n.estados)}}var da=/@utility\s+([A-Za-z0-9_\\/:@.-]+)\s*\{/g;function it(e){let n=[],s=da;s.lastIndex=0;let o;for(;(o=s.exec(e))!==null;){let a=1,r=s.lastIndex;for(;r<e.length&&a>0;)e[r]==="{"?a++:e[r]==="}"&&a--,r++;n.push({name:o[1],body:e.slice(s.lastIndex,r-1)}),s.lastIndex=r}return n}var ra=64,Zn=1024*1024,Xs=(e,n,s)=>new ft([{path:"extensions",code:"ext-apply-budget",params:{block:e,limit:n,max:s}}]),la=new WeakMap,$c=e=>{let n=la.get(e);return(!n||n.tam!==e.size)&&(n={tam:e.size,expandidas:new Map},la.set(e,n)),n.expandidas};function kc(e,n){let s="",o=0;for(let a=e.indexOf("@apply");a!==-1;a=e.indexOf("@apply",o)){let r=a+6,l=/\s/.test(e[r]??"")?e.indexOf(";",r):-1;if(l===-1&&/\s/.test(e[r]??""))break;if(l-r<2){s+=e.slice(o,a+6),o=a+6;continue}s+=e.slice(o,a)+n(e.slice(r+1,l)),o=l+1}return s+e.slice(o)}function $n(e,n,s=[]){let o=$c(n);return kc(e,a=>{let r=a.trim().split(/\s+/).filter(Boolean);if(s.length>=ra)throw Xs(s[0],"depth",ra);let l=p=>{if(s.includes(p))throw new Error(`Ciclo de @apply: ${[...s,p].join(" \u2192 ")}. Se revisan emit-utilities.ts / emit-components.ts.`);let h=n.get(p);if(h===void 0)throw new Error(`@apply ${p}: 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(p);if(t===void 0){if(t=$n(h,n,[...s,p]),t.length>Zn)throw Xs(s[0]??p,"block-size",Zn);o.set(p,t)}return t},i=new Map;for(let p of r)n.has(p)&&!i.has(p)&&i.set(p,pa(l(p)));let c=[...r].sort((p,h)=>(i.get(h)??0)-(i.get(p)??0)),d=0;return c.map(p=>{let h=l(p).trim();if(d+=h.length,d>Zn)throw Xs(s[0]??p,"block-size",Zn);return h}).join(`
226
+ `)})}function Sc(e){let n=da;n.lastIndex=0;let s,o="",a=0;for(;(s=n.exec(e))!==null;){let r=1,l=n.lastIndex;for(;l<e.length&&r>0;)e[l]==="{"?r++:e[l]==="}"&&r--,l++;o+=e.slice(a,s.index),a=l,n.lastIndex=l}return o+e.slice(a)}function zc(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 pa(e){return Qs(e).length}var jc=new Set(["-webkit-user-select","-webkit-backdrop-filter"]);function Qs(e){let n=0,s="";for(let o of e)o==="{"?n++:o==="}"?n--:n===0&&(s+=o);return zc(s).split(";").filter(o=>o.includes(":")&&!jc.has(o.slice(0,o.indexOf(":")).trim()))}var Ys=e=>e.slice(0,e.indexOf(":")).trim(),Cc=["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"],ua=(e,n)=>e<n?-1:e>n?1:0,Tc=e=>e.replace(/^[0-9]/,n=>`\\3${n} `).replace(/([:@.]|(?<!\\)\/)/g,"\\$1"),ga="ts",ca=e=>`.${Tc(e)}`,Be=(e,n,s="",o=!1,a="",r=[])=>o?ca(s+e)+(r.length?`:where(.${r.join(".")})`:"")+a:`:where(.${ga})${ca(s+(n.get(e)??e).slice(3))}${a}`,to=e=>e.replaceAll("\\","");function Ec(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 Rc(e,n){let s="",o=0,a=0;for(let r=0;r<e.length;r++){let l=e[r];if(l==="/"&&e[r+1]==="*"){if(r=e.indexOf("*/",r+2)+1,r===0)break}else if(l==='"'||l==="'")for(r++;r<e.length&&e[r]!==l;r++)e[r]==="\\"&&r++;else l==="("?a++:l===")"?a--:a===0&&(l===";"||l==="}"?(s+=e.slice(o,r+1),o=r+1):l==="{"&&(s+=n(e.slice(o,r))+"{",o=r+1))}return s+e.slice(o)}function wn(e){return e.includes(".ts-")?Rc(e,n=>Oc(n.replace(/\/\*[\s\S]*?\*\/|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\.(ts-[A-Za-z0-9_-]+)/g,(s,o)=>{if(o===void 0)return s;let a=gt(o);if(a&&a.nuevo===null)throw new Error(`Scope: el selector anidado ".${o}" est\xE1 deprecado y no tiene sucesor.`);return`:where(.${ga}).${(a?.nuevo??o).slice(3)}`}))):e}function Oc(e){let n=[],s=0,o=0;for(let r=0;r<e.length;r++){let l=e[r];l==="("||l==="["?s++:l===")"||l==="]"?s--:l===","&&s===0&&(n.push(e.slice(o,r)),o=r+1)}n.push(e.slice(o));let a=new Set;return n.filter(r=>!a.has(r.trim())&&a.add(r.trim())).join(",")}var Dc=[/^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)$/],Ac=[["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 qc(e=V){let n=[],s=["","sm:","md:","lg:","@sm:","@md:","@lg:","@xl:"];for(let o=1;o<=12;o++)for(let a of s)n.push(`${a}ts-grid-cols-${o}`,`${a}ts-grid-rows-${o}`,`${a}ts-col-span-${o}`,`${a}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 a of s)n.push(`${a}ts-gap-${o}`,`${a}ts-gap-x-${o}`,`${a}ts-gap-y-${o}`);return n}function He(e){return(e.match(/[A-Za-z0-9_@:./-]+(?:(?<=-)\$?\{)?/g)??[]).map(n=>n.replace(/\$?\{$/,"{"))}function ma(e,n){let s=/(?:ts-[a-z0-9-]+|[a-z][a-z0-9]*(?:-[a-z0-9]+)*)\b/y,o=[];for(let a of e){let r=a.split(":");if(r.length<2)continue;let l=r[r.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(r[0]),d=r.slice(1,-1);!i||!c||!d.every(p=>/^@?[a-z0-9][a-z0-9-]*(?:\/[a-z][a-z0-9-]*)?$/.test(p))||o.push({variantes:[c[1],...d].map(p=>`${p}:`),base:i})}return o}function eo({reset:e,atomic:n,utilities:s,components:o,scales:a=V,userUtilities:r={}}){let l=Object.fromEntries(Object.entries(r).filter(([k])=>!At(k))),i=k=>{let O=k.filter(T=>!T.includes(":"));return O.length?`
227
+ @apply ${O.map(T=>Object.hasOwn(l,T)?T:`ts-${T}`).join(" ")};
228
+ `:""},c=[...it(n),...it(s),...it(o),...Object.entries(l).map(([k,O])=>({name:k,body:i(O)}))],d=Hi(c),p=new Map;for(let[k,O]of Rs(r))p.set(k,O.map((T,H)=>(d.set(T.clave,i(r[T.clave])),{...T,componente:k,hojas:Le(T.clave,r),rango:H})));let h=new Map;for(let[k,O]of St(c.map(T=>T.name)))h.set(O,k);let t=St(c.map(k=>k.name)),g=k=>Object.hasOwn(l,k),b=k=>!g(k)&&!t.has(k)&&gt(to(k))!==null,m="";for(let k of[n,s,o]){let O=Sc(k).replace(/^@import\s+[^;]+;\s*$/gm,"").trim();O&&(m+=wn(O)+`
229
+ `)}let x=c.map(k=>k.name),f=new Set(it(o).map(k=>k.name)),w=new Set([...x.filter(k=>Dc.some(O=>O.test(k))),...Object.keys(l)]),u=new Map(x.map(k=>[to(k),k])),v=Kt(a.screens),$=new Map,E=k=>{let O=$.get(k);if(!O){let T=$n(k.body,d,[k.name]),H=f.has(k.name)||g(k.name)?"":Js(k.name,T,K=>d.has(K));O={css:`${Be(k.name,t,"",g(k.name))} {${wn(T.trimEnd())}${H}
230
+ }`,declaraciones:pa(T)},$.set(k,O)}return O},R=new Map,N=k=>{let O=R.get(k);return O===void 0&&(O=wn($n(d.get(k),d,[k]).trimEnd()),R.set(k,O)),O},Z=new Map(Cc.map((k,O)=>[k,O]));for(let k of c){let O=Qs(k.body);O.length===1&&!k.body.includes("@apply")&&!Z.has(Ys(O[0]))&&Z.set(Ys(O[0]),Z.size)}let J=new Map,j=k=>{let O=J.get(k);if(!O){let T=Qs(N(k));O={declaraciones:T.length,familia:Z.get(Ys(T[0]??""))??Z.size},J.set(k,O)}return O},I=(k,O)=>{let T=j(k),H=j(O);return H.declaraciones-T.declaraciones||T.familia-H.familia||ua(t.get(k)??k,t.get(O)??O)},L=Vn(r),X=Ai(r);return{reset:e,scales:a,userUtilities:r,bloques:c,componentes:f,dict:d,viejoDe:h,alias:t,propia:g,sinRegla:b,sueltos:m,nombresBase:x,conVariante:w,delBloque:u,tabla:v,reglaDe:E,cuerpoDe:N,conCadenas:L,ordenPropia:X,cuerpoHojas:(k,O)=>wn($n(`
231
+ @apply ${O.map(T=>u.get(`ts-${T}`)??`ts-${T}`).join(" ")};
232
+ `,d,[k]).trimEnd()),modUnits:p,rangoMod:k=>hn(X.get(k.componente),k.modificadores.length,k.rango),compararUtilidades:I}}function no(e,{usadas:n,forzadas:s=new Set}){let o=a=>!n||s.has(a)?!0:n.has(to(e.propia(a)?a:(e.alias.get(a)??a).slice(3)));return e.bloques.filter(a=>o(a.name))}function fa({variantesUsadas:e,usadas:n,forzadas:s,varsDelProyecto:o,...a}){return so(eo(a),{variantesUsadas:e,usadas:n,forzadas:s,varsDelProyecto:o})}function so(e,{variantesUsadas:n=new Set,usadas:s,forzadas:o=new Set,varsDelProyecto:a=new Set}){let{reset:r,scales:l,componentes:i,dict:c,viejoDe:d,alias:p,propia:h,sinRegla:t,sueltos:g,nombresBase:b,conVariante:m,delBloque:x,tabla:f,reglaDe:w,cuerpoDe:u,conCadenas:v,ordenPropia:$,cuerpoHojas:E,modUnits:R,rangoMod:N,compararUtilidades:Z}=e,J=s?[]:qc(l),j=`/* Archivo auto-generado: TAISHO FULL \u2014 CSS plano, sin Tailwind. */
233
+ `;j+=`/* Emparejalo con UN archivo de tema: css/tokens/<tema>.css */
234
+
235
+ `,j+=`${Zi}
236
+
237
+ `,j+=`@layer base {
238
238
  ${r}
239
239
  }
240
240
 
241
- `;let I=T.length,N=g,X=Qs(e,{usadas:s,forzadas:o}),O=X.map($=>({nombre:$.name,...w($),...s&&$.name==="ts-button"&&{css:kc(w($).css,s)}}));O.sort(($,z)=>z.declaraciones-$.declaraciones);let A=O.flatMap(($,z)=>$.declaraciones===1&&!h($.nombre)?[z]:[]),j=A.map($=>O[$]).sort(($,z)=>J($.nombre,z.nombre));A.forEach(($,z)=>{O[$]=j[z]});let S=$=>!s||$.modificadores.every(z=>s.has(z)),M=$=>(R.get($)??[]).filter(S).flatMap(z=>{let F=yn(c.get(z.clave),c,[z.clave]);return F.trim()===""?[]:[`${Fe(z.componente,p,"",!0,"",z.modificadores)} {${bn(F.trimEnd())}
242
- }`]}),G=[],Z=[],y=[];for(let $ of O){let z=[...!t($.nombre)&&!($.declaraciones===0&&v.has($.nombre))?[$.css]:[],...h($.nombre)?M($.nombre):[]];if(!i.has($.nombre))y.push(...z);else for(let F of z){let{reposo:Q,estados:pt}=na(F);Q&&G.push(Q),pt&&Z.push(pt)}}N+=y.join(`
241
+ `;let I=j.length,L=g,X=no(e,{usadas:s,forzadas:o}),A=X.map(S=>({nombre:S.name,...w(S),...s&&S.name==="ts-button"&&{css:Ec(w(S).css,s)}}));A.sort((S,D)=>D.declaraciones-S.declaraciones);let _=A.flatMap((S,D)=>S.declaraciones===1&&!h(S.nombre)?[D]:[]),k=_.map(S=>A[S]).sort((S,D)=>Z(S.nombre,D.nombre));_.forEach((S,D)=>{A[S]=k[D]});let O=S=>!s||S.modificadores.every(D=>s.has(D)),T=S=>(R.get(S)??[]).filter(O).flatMap(D=>{let C=$n(c.get(D.clave),c,[D.clave]);return C.trim()===""?[]:[`${Be(D.componente,p,"",!0,"",D.modificadores)} {${wn(C.trimEnd())}
242
+ }`]}),H=[],K=[],y=[];for(let S of A){let D=[...!t(S.nombre)&&!(S.declaraciones===0&&v.has(S.nombre))?[S.css]:[],...h(S.nombre)?T(S.nombre):[]];if(!i.has(S.nombre))y.push(...D);else for(let C of D){let{reposo:B,estados:Y}=aa(C);B&&H.push(B),Y&&K.push(Y)}}L+=y.join(`
243
243
  `)+`
244
- `;let C=new Map,q=new Map;for(let[$,z]of v)q.set($,{base:$,mods:[],hojas:z,rank:un(k.get($))});for(let $ of R.values())for(let z of $)q.set(z.clave,{base:z.componente,mods:z.modificadores,hojas:z.hojas,rank:L(z)});let _=($,z)=>C.set($.join("")+z,{uso:$,nombre:z});for(let $ of X){v.has($.name)&&_([],$.name);for(let z of R.get($.name)??[])S(z)&&_([],z.clave)}if(!s){for(let[$,{tipo:z}]of f)if(z==="media")for(let F of q.keys())_([$],F)}for(let $ of n){let z=$.split(":"),F=z.slice(0,-1).map(Q=>`${Q}:`);v.has(z[z.length-1])&&_(F,z[z.length-1]);for(let Q of R.get(z[z.length-1])??[])S(Q)&&_(F,Q.clave)}let V=new Map,K=[];for(let{uso:$,nombre:z}of C.values()){let{base:F,mods:Q,hojas:pt,rank:nt}=q.get(z),Ot=oe($,pt,f);if(Ot.some(st=>!st.ok))continue;let Dt=new Map;for(let st of Ot){if(!st.ok)continue;let ut=st.hoja.cadena.join(""),wt=Dt.get(ut)??{hoja:st.hoja.cadena,cadena:st.cadena,segmentos:st.segmentos,bases:[]};wt.bases.includes(st.hoja.base)||wt.bases.push(st.hoja.base),Dt.set(ut,wt)}for(let st of Dt.values()){if(st.cadena.length===0)continue;let ut=st.hoja.length===0?u(z):E(z,st.bases);if(ut.trim()!=="")if(st.cadena.length===1&&st.segmentos[0].tipo==="contexto"){let wt=V.get(st.cadena[0])??[];wt.push({rank:nt,css:` ${Fe(F,p,$.join(""),!0,"",Q)} {${ut}
245
- }`}),V.set(st.cadena[0],wt)}else K.push({segmentos:st.segmentos,cadena:st.cadena,base:F,mods:Q,uso:$,cuerpo:ut,rank:nt})}}let Y=$=>{let z=h($)?$:`ts-${$}`,F=x.get(z)??z;return c.has(F)?F:void 0};for(let[$,{valor:z,tipo:F}]of f){if(F!=="media"&&F!=="max"&&F!=="container")continue;let Q=H.filter(P=>P.startsWith($)).map(P=>P.slice($.length)),pt=[...n].filter(P=>P.startsWith($)&&!P.slice($.length).includes(":")).map(P=>P.slice($.length)).map(P=>h(P)?P:`ts-${P}`).map(P=>x.get(P)??P).filter(P=>c.has(P)),nt=s?[...new Set(pt)]:[...new Set([...Q,...pt,...F==="media"?m:[]])],Ot=[...new Set(nt.map(P=>d.get(P)??P))].filter(P=>!v.has(P)),Dt=Ot.filter(P=>h(P)),ut=Ot.filter(P=>!h(P)).sort(J).filter(P=>!t(P)).map(P=>{if(c.get(P)===void 0)throw new Error(`Variante "${$}${P}": no existe la utilidad base "${P}".`);let ls=i.has(P)?"":Bs(P,u(P),Ir=>c.has(Ir));return` ${Fe(P,p,$,h(P))} {${u(P)}${ls}
246
- }`}),wt=[...V.get($)??[],...Dt.map(P=>({rank:un(k.get(P)),css:` ${Fe(P,p,$,!0)} {${u(P)}
247
- }`}))];if(ut.unshift(...wt.sort((P,ot)=>P.rank-ot.rank).map(P=>P.css)),ut.length){let P=F==="media"?`@media (width >= ${z})`:F==="max"?`@media (width < ${z})`:`@container (width >= ${z})`;N+=`${P} {
248
- ${ut.join(`
244
+ `;let z=new Map,M=new Map;for(let[S,D]of v)M.set(S,{base:S,mods:[],hojas:D,rank:hn($.get(S))});for(let S of R.values())for(let D of S)M.set(D.clave,{base:D.componente,mods:D.modificadores,hojas:D.hojas,rank:N(D)});let P=(S,D)=>z.set(S.join("")+D,{uso:S,nombre:D});for(let S of X){v.has(S.name)&&P([],S.name);for(let D of R.get(S.name)??[])O(D)&&P([],D.clave)}if(!s){for(let[S,{tipo:D}]of f)if(D==="media")for(let C of M.keys())P([S],C)}for(let S of n){let D=S.split(":"),C=D.slice(0,-1).map(B=>`${B}:`);v.has(D[D.length-1])&&P(C,D[D.length-1]);for(let B of R.get(D[D.length-1])??[])O(B)&&P(C,B.clave)}let F=new Map,G=[];for(let{uso:S,nombre:D}of z.values()){let{base:C,mods:B,hojas:Y,rank:tt}=M.get(D),Tt=re(S,Y,f);if(Tt.some(st=>!st.ok))continue;let xt=new Map;for(let st of Tt){if(!st.ok)continue;let pt=st.hoja.cadena.join(""),wt=xt.get(pt)??{hoja:st.hoja.cadena,cadena:st.cadena,segmentos:st.segmentos,bases:[]};wt.bases.includes(st.hoja.base)||wt.bases.push(st.hoja.base),xt.set(pt,wt)}for(let st of xt.values()){if(st.cadena.length===0)continue;let pt=st.hoja.length===0?u(D):E(D,st.bases);if(pt.trim()!=="")if(st.cadena.length===1&&st.segmentos[0].tipo==="contexto"){let wt=F.get(st.cadena[0])??[];wt.push({rank:tt,css:` ${Be(C,p,S.join(""),!0,"",B)} {${pt}
245
+ }`}),F.set(st.cadena[0],wt)}else G.push({segmentos:st.segmentos,cadena:st.cadena,base:C,mods:B,uso:S,cuerpo:pt,rank:tt})}}let Q=S=>{let D=h(S)?S:`ts-${S}`,C=x.get(D)??D;return c.has(C)?C:void 0};for(let[S,{valor:D,tipo:C}]of f){if(C!=="media"&&C!=="max"&&C!=="container")continue;let B=J.filter(U=>U.startsWith(S)).map(U=>U.slice(S.length)),Y=[...n].filter(U=>U.startsWith(S)&&!U.slice(S.length).includes(":")).map(U=>U.slice(S.length)).map(U=>h(U)?U:`ts-${U}`).map(U=>x.get(U)??U).filter(U=>c.has(U)),tt=s?[...new Set(Y)]:[...new Set([...B,...Y,...C==="media"?m:[]])],Tt=[...new Set(tt.map(U=>d.get(U)??U))].filter(U=>!v.has(U)),xt=Tt.filter(U=>h(U)),pt=Tt.filter(U=>!h(U)).sort(Z).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 Te=i.has(U)?"":Js(U,u(U),rt=>c.has(rt));return` ${Be(U,p,S,h(U))} {${u(U)}${Te}
246
+ }`}),wt=[...F.get(S)??[],...xt.map(U=>({rank:hn($.get(U)),css:` ${Be(U,p,S,!0)} {${u(U)}
247
+ }`}))];if(pt.unshift(...wt.sort((U,ut)=>U.rank-ut.rank).map(U=>U.css)),pt.length){let U=C==="media"?`@media (width >= ${D})`:C==="max"?`@media (width < ${D})`:`@container (width >= ${D})`;L+=`${U} {
248
+ ${pt.join(`
249
249
  `)}
250
250
  }
251
- `}}let it=new Map([...f.keys()].map(($,z)=>[$,z])),tt=new Map,xt=($,z)=>{let F=z===void 0?void 0:d.get(z)??z;if(F===void 0||t(F)||v.has(F))return;let Q=Ct($,f);Q.ok&&tt.set($.join("")+F,{segmentos:Q.segmentos,cadena:$,base:F,rank:h(F)?un(k.get(F)):void 0})};if(!s)for(let[$,z]of Cc)for(let F of b)z.test(F)&&xt([$],F);for(let $ of n){let z=$.split(":"),F=z.slice(0,-1).map(pt=>`${pt}:`),Q=f.get(F[0]);F.length===1&&(Q?.tipo==="media"||Q?.tipo==="max"||Q?.tipo==="container")||xt(F,Y(z[z.length-1]))}let mt=$=>{let z=$.segmentos.find(Q=>Q.tipo==="contexto");return{nivel:$.segmentos.some(Q=>Q.tipo==="print")?3:z?z.container?2:1:0,ctx:z?it.get(z.prefijo):0,estado:$.segmentos.flatMap(Q=>Q.orden)}},Rt=($,z)=>{for(let F=0;F<Math.min($.length,z.length);F++)if($[F]!==z[F])return $[F]-z[F];return $.length-z.length};for(let $ of K)tt.set(`${($.uso??[]).join("")}${$.base}${($.mods??[]).map(z=>`.${z}`).join("")}|${$.cadena.join("")}`,$);let jt=[...tt.values()].map($=>({h:$,k:mt($),escrita:`${($.uso??$.cadena).join("")}|${($.mods??[]).join(".")}|${$.cadena.join("")}`})).sort(($,z)=>$.k.nivel-z.k.nivel||$.k.ctx-z.k.ctx||Rt($.k.estado,z.k.estado)||($.h.rank??Number.MAX_SAFE_INTEGER)-(z.h.rank??Number.MAX_SAFE_INTEGER)||J($.h.base,z.h.base)||la($.escrita,z.escrita)),yt=$=>{let z=[],F=[],Q="",pt=()=>{F.length&&(Q+=z.map(nt=>`${nt} {
252
- `).join("")+F.join(`
251
+ `}}let ot=new Map([...f.keys()].map((S,D)=>[S,D])),et=new Map,Ot=(S,D)=>{let C=D===void 0?void 0:d.get(D)??D;if(C===void 0||t(C)||v.has(C))return;let B=Et(S,f);B.ok&&et.set(S.join("")+C,{segmentos:B.segmentos,cadena:S,base:C,rank:h(C)?hn($.get(C)):void 0})};if(!s)for(let[S,D]of Ac)for(let C of b)D.test(C)&&Ot([S],C);for(let S of n){let D=S.split(":"),C=D.slice(0,-1).map(Y=>`${Y}:`),B=f.get(C[0]);C.length===1&&(B?.tipo==="media"||B?.tipo==="max"||B?.tipo==="container")||Ot(C,Q(D[D.length-1]))}let Dt=S=>{let D=S.segmentos.find(B=>B.tipo==="contexto");return{nivel:S.segmentos.some(B=>B.tipo==="print")?3:D?D.container?2:1:0,ctx:D?ot.get(D.prefijo):0,estado:S.segmentos.flatMap(B=>B.orden)}},bt=(S,D)=>{for(let C=0;C<Math.min(S.length,D.length);C++)if(S[C]!==D[C])return S[C]-D[C];return S.length-D.length};for(let S of G)et.set(`${(S.uso??[]).join("")}${S.base}${(S.mods??[]).map(D=>`.${D}`).join("")}|${S.cadena.join("")}`,S);let vt=[...et.values()].map(S=>({h:S,k:Dt(S),escrita:`${(S.uso??S.cadena).join("")}|${(S.mods??[]).join(".")}|${S.cadena.join("")}`})).sort((S,D)=>S.k.nivel-D.k.nivel||S.k.ctx-D.k.ctx||bt(S.k.estado,D.k.estado)||(S.h.rank??Number.MAX_SAFE_INTEGER)-(D.h.rank??Number.MAX_SAFE_INTEGER)||Z(S.h.base,D.h.base)||ua(S.escrita,D.escrita)),se=S=>{let D=[],C=[],B="",Y=()=>{C.length&&(B+=D.map(tt=>`${tt} {
252
+ `).join("")+C.join(`
253
253
  `)+`
254
254
  `+`}
255
- `.repeat(z.length),F=[])};for(let{h:nt}of $){let Ot=nt.segmentos.find(ot=>ot.container)?.container,Dt=[...new Set(nt.segmentos.flatMap(ot=>ot.media?[ot.media]:[]))].sort((ot,ls)=>ot==="print"?-1:ls==="print"?1:0).join(" and "),st=[...Ot?[`@container ${Ot}`]:[],...Dt?[`@media ${Dt}`]:[]];st.join()!==z.join()&&(pt(),z=st);let ut=z.length?" ":"",wt=nt.cuerpo??u(nt.base)+(Se(nt)&&!i.has(nt.base)&&!h(nt.base)?Xi(nt.base,u(nt.base),ot=>c.has(ot)):""),P=nt.segmentos.map(ot=>ot.sufijo).join("");F.push(`${ut}${Fe(nt.base,p,(nt.uso??nt.cadena).join(""),h(nt.base),P,nt.mods)} {${wt}
256
- ${ut}}`)}return pt(),Q},qt=$=>$.segmentos.some(z=>z.tipo==="print"),Se=$=>!qt($)&&$.segmentos.some(z=>z.tipo==="estado"||z.tipo==="grupo");N+=yt(jt.filter(({h:$})=>!Se($)&&!qt($)));let Cn=yt(jt.filter(({h:$})=>Se($))),rs=yt(jt.filter(({h:$})=>qt($))),B=($,z)=>z.trim()?`@layer ${$} {
257
- ${z}}
258
- `:"";if(T+=B("components",G.join(`
255
+ `.repeat(D.length),C=[])};for(let{h:tt}of S){let Tt=tt.segmentos.find(ut=>ut.container)?.container,xt=[...new Set(tt.segmentos.flatMap(ut=>ut.media?[ut.media]:[]))].sort((ut,Te)=>ut==="print"?-1:Te==="print"?1:0).join(" and "),st=[...Tt?[`@container ${Tt}`]:[],...xt?[`@media ${xt}`]:[]];st.join()!==D.join()&&(Y(),D=st);let pt=D.length?" ":"",wt=tt.cuerpo??u(tt.base)+(It(tt)&&!i.has(tt.base)&&!h(tt.base)?ea(tt.base,u(tt.base),ut=>c.has(ut)):""),U=tt.segmentos.map(ut=>ut.sufijo).join("");C.push(`${pt}${Be(tt.base,p,(tt.uso??tt.cadena).join(""),h(tt.base),U,tt.mods)} {${wt}
256
+ ${pt}}`)}return Y(),B},Ct=S=>S.segmentos.some(D=>D.tipo==="print"),It=S=>!Ct(S)&&S.segmentos.some(D=>D.tipo==="estado"||D.tipo==="grupo");L+=se(vt.filter(({h:S})=>!It(S)&&!Ct(S)));let sn=se(vt.filter(({h:S})=>It(S))),On=se(vt.filter(({h:S})=>Ct(S))),ye=(S,D)=>D.trim()?`@layer ${S} {
257
+ ${D}}
258
+ `:"";if(j+=ye("components",H.join(`
259
259
  `)+`
260
- `),T+=B("utilities",g+Yi(N)+N.slice(g.length)),T+=B("states",Z.join(`
260
+ `),j+=ye("utilities",g+na(L)+L.slice(g.length)),j+=ye("states",K.join(`
261
261
  `)+`
262
- `),T+=B("utility-states",Cn),T+=B("print",rs),s){let $=new Set([..._n(T.slice(I)),...a]);T=T.replace(r,()=>ei(r,$))}return T}function Zt(e,n,s=U){let{radius:o,gaps:a,spaces:r,screens:l}=s,i=`/* Archivo auto-generado: ATOMIC UTILITIES */
262
+ `),j+=ye("utility-states",sn),j+=ye("print",On),s){let S=new Set([...Wn(j.slice(I)),...a]);j=j.replace(r,()=>ii(r,S))}return j}function Xt(e,n,s=V){let{radius:o,gaps:a,spaces:r,screens:l}=s,i=`/* Archivo auto-generado: ATOMIC UTILITIES */
263
263
 
264
264
  `;for(let t of["--ts-bw","--ts-ring-w","--ts-ring-c"])i+=`@property ${t} { syntax: '*'; inherits: false; }
265
265
  `;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; } }
@@ -606,12 +606,12 @@ ${z}}
606
606
  `,i+=`@utility ts-outline-offset-0 { outline-offset: 0px; }
607
607
  `,i+=`@utility ts-outline-offset-1 { outline-offset: var(--ts-sizing-1); }
608
608
  `,i+=`@utility ts-outline-offset-2 { outline-offset: var(--ts-sizing-2); }
609
- `,i+=`@utility ts-focus-ring { ${$s} }
610
- `,i+=`@utility ts-focus-ring-inset { ${ii} }
611
- `;let h=(t,g)=>`--_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"])) { ${An("danger")} } &:hover${t} { --_f-ring: var(--_f-ring-hover); } ${g} { @apply ts-focus-ring; } @media (forced-colors: active) { outline: var(--ts-border-width-1) solid CanvasText; }`;i+=`@utility ts-field-box { ${h(":not(:focus-within):not(.is-open):not(.is-disabled):not(.is-readonly)","&:focus-within, &.is-open")} }
609
+ `,i+=`@utility ts-focus-ring { ${zs} }
610
+ `,i+=`@utility ts-focus-ring-inset { ${ci} }
611
+ `;let h=(t,g)=>`--_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"])) { ${Pn("danger")} } &:hover${t} { --_f-ring: var(--_f-ring-hover); } ${g} { @apply ts-focus-ring; } @media (forced-colors: active) { outline: var(--ts-border-width-1) solid CanvasText; }`;i+=`@utility ts-field-box { ${h(":not(:focus-within):not(.is-open):not(.is-disabled):not(.is-readonly)","&:focus-within, &.is-open")} }
612
612
  `,i+=`@utility ts-field-box-trigger { ${h(":not(:disabled):not(.is-open)","&.is-open, &:focus-visible")} }
613
613
  `,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; }
614
- `,i+=`@utility ts-focus-ring-thumb { box-shadow: ${ws}; }
614
+ `,i+=`@utility ts-focus-ring-thumb { box-shadow: ${Ss}; }
615
615
  `,i+=`@utility ts-disabled { @apply ts-opacity-50 ts-cursor-not-allowed; }
616
616
  `,i+=`@utility ts-disabled-flat { @apply ts-cursor-not-allowed; }
617
617
  `,i+=`@utility ts-popover-reset { border: 0; margin: 0; }
@@ -643,11 +643,11 @@ ${z}}
643
643
  `,i+=`@utility ts-scheme-light { color-scheme: light; color: var(--color-gray-1000); }
644
644
  `,i+=`@utility ts-scheme-dark { color-scheme: dark; color: var(--color-gray-1000); }
645
645
  `,i+=`@utility ts-list-disc { list-style: disc; }
646
- `,i}var ua=["brand","info","success"];var Ue="ts-color-subtle",ve="ts-text-14 ts-leading-14 ts-tracking-normal ts-weight-normal",vn="ts-text-16 ts-leading-16 ts-tracking-normal ts-weight-normal",ga="@supports (anchor-scope: all) { anchor-scope: --ts-anchor; }",ma="@supports (anchor-scope: all) { anchor-name: --ts-anchor; }",eo="@supports (anchor-scope: all) { anchor-scope: --ts-anchor; anchor-name: --ts-anchor; }",dt=":not(.size-sm, .size-lg)",ht=':not([class*="variant-"])',Hn="&.is-placed { position: fixed; inset: auto; left: var(--ts-overlay-x); top: var(--ts-overlay-y); margin: 0; transform: none; }",fa="&.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); }",Tt="corner-shape: var(--ts-corner-shape);",Kt=(e,n)=>`border-radius: max(var(--ts-radius-sm), calc(var(--ts-radius-${e}) - ${n})); ${Tt}`,ie="var(--ts-space-quarter)",ha=` position: absolute; inset-block: 0; margin-block: auto;
647
- `;function ae(e,n,s=U,o=!1){let{screens:a}=s,r=Object.keys(n),l=An,i=':has(> input[aria-invalid="true"]), [role="radiogroup"][aria-invalid="true"] *',c=`:is(.is-invalid, ${i})`,d=u=>u==="danger"?`:is(.variant-danger, ${i})`:`.variant-${u}`,p="background-color: var(--ts-material-bg, var(--color-background-100));",h=(u,v=!1)=>{let k="";for(let E of["compact","comfortable"]){k+=` &.density-${E} {
648
- `;for(let R of u)for(let[L,J]of Object.entries(Bt[R][E]))L==="xs"&&!v||(k+=` --ts-${R}-${L}: ${o?`var(--ts-density-${E}-${R}-${L}, ${J}px)`:`${J}px`};
649
- `);k+=` }
650
- `}return k},t=`/* Archivo auto-generado: COMPONENTS */
646
+ `,i}var ha=["brand","info","success"];var Ge="ts-color-subtle",Se="ts-text-14 ts-leading-14 ts-tracking-normal ts-weight-normal",kn="ts-text-16 ts-leading-16 ts-tracking-normal ts-weight-normal",ba="@supports (anchor-scope: all) { anchor-scope: --ts-anchor; }",ya="@supports (anchor-scope: all) { anchor-name: --ts-anchor; }",oo="@supports (anchor-scope: all) { anchor-scope: --ts-anchor; anchor-name: --ts-anchor; }",dt=":not(.size-sm, .size-lg)",ht=':not([class*="variant-"])',Kn="&.is-placed { position: fixed; inset: auto; left: var(--ts-overlay-x); top: var(--ts-overlay-y); margin: 0; transform: none; }",va="&.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); }",Rt="corner-shape: var(--ts-corner-shape);",Yt=(e,n)=>`border-radius: max(var(--ts-radius-sm), calc(var(--ts-radius-${e}) - ${n})); ${Rt}`,le="var(--ts-space-quarter)",xa=` position: absolute; inset-block: 0; margin-block: auto;
647
+ `;function ce(e,n,s=V,o=!1){let{screens:a}=s,r=Object.keys(n),l=Pn,i=':has(> input[aria-invalid="true"]), [role="radiogroup"][aria-invalid="true"] *',c=`:is(.is-invalid, ${i})`,d=u=>u==="danger"?`:is(.variant-danger, ${i})`:`.variant-${u}`,p="background-color: var(--ts-material-bg, var(--color-background-100));",h=(u,v=!1)=>{let $="";for(let E of["compact","comfortable"]){$+=` &.density-${E} {
648
+ `;for(let R of u)for(let[N,Z]of Object.entries(Gt[R][E]))N==="xs"&&!v||($+=` --ts-${R}-${N}: ${o?`var(--ts-density-${E}-${R}-${N}, ${Z}px)`:`${Z}px`};
649
+ `);$+=` }
650
+ `}return $},t=`/* Archivo auto-generado: COMPONENTS */
651
651
 
652
652
  `;t+=`@keyframes ts-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
653
653
 
@@ -715,10 +715,10 @@ ${z}}
715
715
  `,t+=` &:disabled { @apply ts-color-gray-400 ts-disabled-flat; }
716
716
  `,t+=` }
717
717
 
718
- `;let g=[...Object.keys(n),...Object.keys(e)];if(g.length>0){let u=["100","200","300","400","500","600","700","800","900","1000"];g.forEach(v=>{u.forEach(k=>{let E=u.indexOf(k),R=u[Math.min(E+1,u.length-1)],L=u[Math.min(E+2,u.length-1)];t+=` &.variant-${v}-${k} {
719
- `,t+=` @apply ts-bg-${v}-${k} ts-color-${v}-${k}-contrast;
718
+ `;let g=[...Object.keys(n),...Object.keys(e)];if(g.length>0){let u=["100","200","300","400","500","600","700","800","900","1000"];g.forEach(v=>{u.forEach($=>{let E=u.indexOf($),R=u[Math.min(E+1,u.length-1)],N=u[Math.min(E+2,u.length-1)];t+=` &.variant-${v}-${$} {
719
+ `,t+=` @apply ts-bg-${v}-${$} ts-color-${v}-${$}-contrast;
720
720
  `,t+=` &:hover:not(:disabled) { @apply ts-bg-${v}-${R} ts-color-${v}-${R}-contrast; }
721
- `,t+=` &:active:not(:disabled) { @apply ts-bg-${v}-${L} ts-color-${v}-${L}-contrast ts-translate-y-1; }
721
+ `,t+=` &:active:not(:disabled) { @apply ts-bg-${v}-${N} ts-color-${v}-${N}-contrast ts-translate-y-1; }
722
722
  `,t+=` @apply ts-focus-ring-${v};
723
723
  &:focus-visible { @apply ts-focus-ring; }
724
724
  `,t+=` &:disabled { @apply ts-disabled; }
@@ -1050,19 +1050,19 @@ ${z}}
1050
1050
  `,t+=` &.size-sm {
1051
1051
  `,t+=` height: var(--ts-control-h-sm); @apply ts-radius-md;
1052
1052
  `,t+=` & .ts-input-field { @apply ts-type-copy-14; padding-inline: var(--ts-field-px-sm); }
1053
- `,t+=` & .ts-input-prefix-block, & .ts-input-suffix-block { @apply ${ve}; padding-inline: var(--ts-field-px-sm); }
1053
+ `,t+=` & .ts-input-prefix-block, & .ts-input-suffix-block { @apply ${Se}; padding-inline: var(--ts-field-px-sm); }
1054
1054
  `,t+=` & .ts-input-actions, & .ts-input-kbd-block { padding-inline-end: var(--ts-field-px-sm); }
1055
1055
  `,t+=` }
1056
1056
  `,t+=` &.size-md, &${dt} {
1057
1057
  `,t+=` height: var(--ts-control-h-md); @apply ts-radius-md;
1058
1058
  `,t+=` & .ts-input-field { @apply ts-type-copy-14; padding-inline: var(--ts-field-px-md); }
1059
- `,t+=` & .ts-input-prefix-block, & .ts-input-suffix-block { @apply ${ve}; padding-inline: var(--ts-field-px-md); }
1059
+ `,t+=` & .ts-input-prefix-block, & .ts-input-suffix-block { @apply ${Se}; padding-inline: var(--ts-field-px-md); }
1060
1060
  `,t+=` & .ts-input-actions, & .ts-input-kbd-block { padding-inline-end: var(--ts-field-px-md); }
1061
1061
  `,t+=` }
1062
1062
  `,t+=` &.size-lg {
1063
1063
  `,t+=` height: var(--ts-control-h-lg); @apply ts-radius-lg;
1064
1064
  `,t+=` & .ts-input-field { @apply ts-type-copy-16; padding-inline: var(--ts-field-px-lg); }
1065
- `,t+=` & .ts-input-prefix-block, & .ts-input-suffix-block { @apply ${vn}; padding-inline: var(--ts-field-px-lg); }
1065
+ `,t+=` & .ts-input-prefix-block, & .ts-input-suffix-block { @apply ${kn}; padding-inline: var(--ts-field-px-lg); }
1066
1066
  `,t+=` & .ts-input-actions, & .ts-input-kbd-block { padding-inline-end: var(--ts-field-px-lg); }
1067
1067
  `,t+=` }
1068
1068
 
@@ -1093,11 +1093,11 @@ ${z}}
1093
1093
  `,t+=` }
1094
1094
 
1095
1095
  `,t+=` & .ts-input-prefix-block {
1096
- `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${Ue};
1096
+ `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${Ge};
1097
1097
  `,t+=` }
1098
1098
 
1099
1099
  `,t+=` & .ts-input-suffix-block {
1100
- `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${Ue};
1100
+ `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${Ge};
1101
1101
  `,t+=` }
1102
1102
 
1103
1103
  `,t+=` & .ts-input-kbd-block {
@@ -1142,7 +1142,7 @@ ${z}}
1142
1142
 
1143
1143
  `,t+=`@utility ts-select {
1144
1144
  `,t+=` @apply ts-flex ts-items-stretch ts-w-full ts-radius-md ts-relative ts-transition-input;
1145
- `,t+=` ${ma}
1145
+ `,t+=` ${ya}
1146
1146
  `,t+=` ${p}
1147
1147
  `,t+=` & > :first-child {
1148
1148
  `,t+=` @apply ts-radius-s-inherit;
@@ -1156,7 +1156,7 @@ ${z}}
1156
1156
  `,t+=` &.size-sm {
1157
1157
  `,t+=` height: var(--ts-control-h-sm); @apply ts-radius-md;
1158
1158
  `,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); }
1159
- `,t+=` & .ts-select-prefix-block { @apply ${ve}; padding-inline: var(--ts-field-px-sm); }
1159
+ `,t+=` & .ts-select-prefix-block { @apply ${Se}; padding-inline: var(--ts-field-px-sm); }
1160
1160
  `,t+=` & .ts-select-chevron { padding-inline: var(--ts-field-px-sm); }
1161
1161
  `,t+=` & .ts-select-clear { inset-inline-end: calc(var(--ts-select-pr-sm) - 8px); }
1162
1162
  `,t+=` &:has(.ts-select-clear:not([hidden])) .ts-select-field { padding-inline-end: calc(var(--ts-select-pr-sm) + 20px); }
@@ -1168,7 +1168,7 @@ ${z}}
1168
1168
  `,t+=` &.size-md, &${dt} {
1169
1169
  `,t+=` height: var(--ts-control-h-md); @apply ts-radius-md;
1170
1170
  `,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); }
1171
- `,t+=` & .ts-select-prefix-block { @apply ${ve}; padding-inline: var(--ts-field-px-md); }
1171
+ `,t+=` & .ts-select-prefix-block { @apply ${Se}; padding-inline: var(--ts-field-px-md); }
1172
1172
  `,t+=` & .ts-select-chevron { padding-inline: var(--ts-field-px-md); }
1173
1173
  `,t+=` & .ts-select-clear { inset-inline-end: calc(var(--ts-select-pr-md) - 8px); }
1174
1174
  `,t+=` &:has(.ts-select-clear:not([hidden])) .ts-select-field { padding-inline-end: calc(var(--ts-select-pr-md) + 20px); }
@@ -1180,7 +1180,7 @@ ${z}}
1180
1180
  `,t+=` &.size-lg {
1181
1181
  `,t+=` height: var(--ts-control-h-lg); @apply ts-radius-lg;
1182
1182
  `,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); }
1183
- `,t+=` & .ts-select-prefix-block { @apply ${vn}; padding-inline: var(--ts-field-px-lg); }
1183
+ `,t+=` & .ts-select-prefix-block { @apply ${kn}; padding-inline: var(--ts-field-px-lg); }
1184
1184
  `,t+=` & .ts-select-chevron { padding-inline: var(--ts-field-px-lg); }
1185
1185
  `,t+=` & .ts-select-clear { inset-inline-end: calc(var(--ts-select-pr-lg) - 8px); }
1186
1186
  `,t+=` &:has(.ts-select-clear:not([hidden])) .ts-select-field { padding-inline-end: calc(var(--ts-select-pr-lg) + 20px); }
@@ -1213,14 +1213,14 @@ ${z}}
1213
1213
  `,t+=` }
1214
1214
 
1215
1215
  `,t+=` & .ts-select-prefix-block {
1216
- `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${Ue};
1216
+ `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${Ge};
1217
1217
  `,t+=` }
1218
1218
 
1219
1219
  `,t+=` & .ts-select-chevron {
1220
1220
  `,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;
1221
1221
  `,t+=` }
1222
1222
  `,t+=` & .ts-select-clear {
1223
- `,t+=ha,t+=` }
1223
+ `,t+=xa,t+=` }
1224
1224
  `,t+=` & .ts-select-spinner {
1225
1225
  `,t+=` position: absolute; inset-block-start: 50%; transform: translateY(-50%);
1226
1226
  `,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;
@@ -1229,7 +1229,7 @@ ${z}}
1229
1229
 
1230
1230
  `,t+=`@utility ts-select-wrapper {
1231
1231
  `,t+=` @apply ts-flex ts-flex-col ts-w-full;
1232
- `,t+=` ${ga}
1232
+ `,t+=` ${ba}
1233
1233
  `,t+=`}
1234
1234
  `,t+=`@utility ts-select-label {
1235
1235
  `,t+=` @apply ts-type-label-12 ts-mb-quarter ts-block ts-min-w-0 ts-break-words;
@@ -1250,12 +1250,12 @@ ${z}}
1250
1250
  `,t+=` &.placement-top { position-area: block-start span-inline-end; }
1251
1251
  `,t+=` }
1252
1252
  `,t+=` }
1253
- `,t+=` ${fa}
1253
+ `,t+=` ${va}
1254
1254
  `,t+=`}
1255
1255
 
1256
1256
  `,t+=`@utility ts-select-option {
1257
1257
  `,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;
1258
- `,t+=` ${Kt("xl",ie)}
1258
+ `,t+=` ${Yt("xl",le)}
1259
1259
  `,t+=` &:hover, &.is-focused {
1260
1260
  `,t+=` @apply ts-color-copy;
1261
1261
  `,t+=` @apply ts-bg-highlight;
@@ -1308,17 +1308,17 @@ ${z}}
1308
1308
  `,t+=` @apply ts-inline-block; position: relative;
1309
1309
  `,t+=` &:has(> .ts-datepicker-field) { min-width: min-content; }
1310
1310
  `,t+=` & > .ts-datepicker-clear {
1311
- `,t+=ha,t+=` }
1312
- `;for(let[u,v,k]of[["sm","quarter",12],["md","half",14],["lg","base",16]])t+=` & > .ts-datepicker-clear[data-ts-size=${u}] { inset-inline-end: calc(var(--ts-space-${v}) - var(--ts-space-quarter)); }
1313
- `,t+=` &:has(.ts-datepicker-clear[data-ts-size=${u}]:not([hidden])) .ts-datepicker-trigger { padding-inline-end: calc(var(--ts-space-${v}) + ${k}px + var(--ts-space-half)); }
1311
+ `,t+=xa,t+=` }
1312
+ `;for(let[u,v,$]of[["sm","quarter",12],["md","half",14],["lg","base",16]])t+=` & > .ts-datepicker-clear[data-ts-size=${u}] { inset-inline-end: calc(var(--ts-space-${v}) - var(--ts-space-quarter)); }
1313
+ `,t+=` &:has(.ts-datepicker-clear[data-ts-size=${u}]:not([hidden])) .ts-datepicker-trigger { padding-inline-end: calc(var(--ts-space-${v}) + ${$}px + var(--ts-space-half)); }
1314
1314
  `;t+=` & > .ts-datepicker-spinner {
1315
1315
  `,t+=` position: absolute; inset-block-start: 50%; transform: translateY(-50%);
1316
1316
  `,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;
1317
1317
  `,t+=` }
1318
- `;for(let[u,v,k,E]of[["sm","quarter",12,16],["md","half",14,16],["lg","base",16,20]])t+=` & > .ts-datepicker-spinner.size-${u} { inset-inline-end: calc(var(--ts-space-${v}) - var(--ts-space-quarter)); }
1318
+ `;for(let[u,v,$,E]of[["sm","quarter",12,16],["md","half",14,16],["lg","base",16,20]])t+=` & > .ts-datepicker-spinner.size-${u} { inset-inline-end: calc(var(--ts-space-${v}) - var(--ts-space-quarter)); }
1319
1319
  `,t+=` &:has(.ts-datepicker-spinner.size-${u}:not([hidden])) .ts-datepicker-trigger { padding-inline-end: calc(var(--ts-space-${v}) + var(--ts-sizing-${E}) + var(--ts-space-half)); }
1320
- `,t+=` &:has(.ts-datepicker-clear[data-ts-size=${u}]:not([hidden])) .ts-datepicker-spinner.size-${u} { inset-inline-end: calc(var(--ts-space-${v}) + var(--ts-space-quarter) + var(--ts-sizing-${k})); }
1321
- `,t+=` &:has(.ts-datepicker-clear[data-ts-size=${u}]:not([hidden])):has(.ts-datepicker-spinner.size-${u}:not([hidden])) .ts-datepicker-trigger { padding-inline-end: calc(var(--ts-space-${v}) + var(--ts-sizing-${k}) + var(--ts-sizing-${E}) + var(--ts-space-half) * 2); }
1320
+ `,t+=` &:has(.ts-datepicker-clear[data-ts-size=${u}]:not([hidden])) .ts-datepicker-spinner.size-${u} { inset-inline-end: calc(var(--ts-space-${v}) + var(--ts-space-quarter) + var(--ts-sizing-${$})); }
1321
+ `,t+=` &:has(.ts-datepicker-clear[data-ts-size=${u}]:not([hidden])):has(.ts-datepicker-spinner.size-${u}:not([hidden])) .ts-datepicker-trigger { padding-inline-end: calc(var(--ts-space-${v}) + var(--ts-sizing-${$}) + var(--ts-sizing-${E}) + var(--ts-space-half) * 2); }
1322
1322
  `;t+=`}
1323
1323
 
1324
1324
  `,t+=`@utility ts-datepicker-trigger {
@@ -1339,10 +1339,10 @@ ${z}}
1339
1339
  `,t+=`@utility ts-datepicker-value { @apply ts-flex-1 ts-truncate; }
1340
1340
 
1341
1341
  `,t+=`@utility ts-datepicker-prefix-block {
1342
- `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-self-stretch ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${Ue} ${ve} ts-radius-s-inherit;
1342
+ `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-self-stretch ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${Ge} ${Se} ts-radius-s-inherit;
1343
1343
  `,t+=` padding-inline: var(--ts-field-px-md);
1344
1344
  `,t+=` :where(.ts-datepicker-trigger, .ts-datepicker-field).size-sm > & { padding-inline: var(--ts-field-px-sm); }
1345
- `,t+=` :where(.ts-datepicker-trigger, .ts-datepicker-field).size-lg > & { @apply ${vn}; padding-inline: var(--ts-field-px-lg); }
1345
+ `,t+=` :where(.ts-datepicker-trigger, .ts-datepicker-field).size-lg > & { @apply ${kn}; padding-inline: var(--ts-field-px-lg); }
1346
1346
  `,t+=`}
1347
1347
 
1348
1348
  `,t+=`@utility ts-datepicker-field {
@@ -1394,7 +1394,7 @@ ${z}}
1394
1394
  `,t+=`}
1395
1395
  `,t+=`@utility ts-datepicker-preset {
1396
1396
  `,t+=` @apply ts-justify-start ts-max-w-full ts-flex-shrink-0;
1397
- `,t+=` ${Kt("xl",ie)}
1397
+ `,t+=` ${Yt("xl",le)}
1398
1398
  `,t+=` &[aria-disabled='true'] { @apply ts-disabled; }
1399
1399
  `,t+=`}
1400
1400
 
@@ -1464,8 +1464,8 @@ ${z}}
1464
1464
  `,t+=` &.is-range-preview { @apply ts-bg-gray-100; }
1465
1465
  `,t+=` &.is-range-start:not(.is-range-end):not(:last-child) { border-start-end-radius: 0; border-end-end-radius: 0; }
1466
1466
  `,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; }
1467
- `,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); ${Tt} }
1468
- `,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); ${Tt} }
1467
+ `,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); ${Rt} }
1468
+ `,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); ${Rt} }
1469
1469
  `,t+=` &[aria-disabled='true'] { @apply ts-disabled; }
1470
1470
  `,t+=` @media (forced-colors: active) {
1471
1471
  `,t+=` &.is-selected, &.is-selected:hover { forced-color-adjust: none; background-color: Highlight; color: HighlightText; }
@@ -1481,14 +1481,14 @@ ${z}}
1481
1481
 
1482
1482
  `,t+=`@utility ts-combobox {
1483
1483
  `,t+=` @apply ts-flex ts-flex-col ts-gap-quarter ts-w-full;
1484
- `,t+=` ${ga}
1484
+ `,t+=` ${ba}
1485
1485
  `,t+=` & > .ts-input-footer { @apply ts-mt-0; }
1486
1486
  `,t+=`}
1487
1487
 
1488
1488
  `,t+=`@utility ts-combobox-label { @apply ts-type-label-12 ts-block ts-min-w-0 ts-break-words; }
1489
1489
 
1490
1490
  `,t+=`@utility ts-combobox-control {
1491
- `,t+=` ${ma}
1491
+ `,t+=` ${ya}
1492
1492
  `,t+=` &:has(> .ts-combobox-values) { height: auto; min-height: var(--_h); }
1493
1493
  `,t+=` @apply ts-relative ts-flex ts-items-center ts-w-full ts-box-border ts-radius-md ts-transition-input;
1494
1494
  `,t+=` ${p}
@@ -1501,11 +1501,11 @@ ${z}}
1501
1501
  `,t+=` &.is-disabled { @apply ts-opacity-50; }
1502
1502
  `,t+=h(["control-h","field-px"]),t+=` &.is-readonly { background-color: transparent; & .ts-combobox-input { @apply ts-cursor-default; } }
1503
1503
  `,t+=` & > .ts-combobox-prefix-block {
1504
- `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-self-stretch ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${Ue} ${ve} ts-radius-s-inherit;
1504
+ `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-self-stretch ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${Ge} ${Se} ts-radius-s-inherit;
1505
1505
  `,t+=` padding-inline: var(--ts-field-px-md);
1506
1506
  `,t+=` }
1507
1507
  `,t+=` &.size-sm > .ts-combobox-prefix-block { padding-inline: var(--ts-field-px-sm); }
1508
- `,t+=` &.size-lg > .ts-combobox-prefix-block { @apply ${vn}; padding-inline: var(--ts-field-px-lg); }
1508
+ `,t+=` &.size-lg > .ts-combobox-prefix-block { @apply ${kn}; padding-inline: var(--ts-field-px-lg); }
1509
1509
  `,t+=` &.size-sm .ts-combobox-input { padding-inline: var(--ts-field-px-sm); }
1510
1510
  `,t+=` &.size-lg .ts-combobox-input { padding-inline: var(--ts-field-px-lg); }
1511
1511
  `,t+=` & .ts-combobox-spinner {
@@ -1541,12 +1541,12 @@ ${z}}
1541
1541
  `,t+=` &.placement-top { position-area: block-start span-inline-end; }
1542
1542
  `,t+=` }
1543
1543
  `,t+=` }
1544
- `,t+=` ${fa}
1544
+ `,t+=` ${va}
1545
1545
  `,t+=`}
1546
1546
 
1547
1547
  `,t+=`@utility ts-combobox-option {
1548
1548
  `,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;
1549
- `,t+=` ${Kt("xl",ie)}
1549
+ `,t+=` ${Yt("xl",le)}
1550
1550
  `,t+=` &.is-focused { @apply ts-color-copy; @apply ts-bg-highlight; }
1551
1551
  `,t+=` &.is-selected { @apply ts-weight-medium ts-color-copy; }
1552
1552
  `,t+=` &:has(> [data-select-option-icon], > [data-select-option-text], > [data-select-option-label]) { @apply ts-flex ts-items-center ts-gap-half; }
@@ -1792,7 +1792,7 @@ ${z}}
1792
1792
  `,t+=` @apply ts-focus-ring;
1793
1793
  `,t+=` outline-offset: calc(-1 * var(--ts-sizing-2));
1794
1794
  `,t+=` border-radius: var(--ts-border-width-2);
1795
- `,t+=` ${Tt}
1795
+ `,t+=` ${Rt}
1796
1796
  `,t+=` }
1797
1797
  `,t+=` }
1798
1798
  `,t+=` &.has-indicator {
@@ -1817,12 +1817,12 @@ ${z}}
1817
1817
  `,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;
1818
1818
  `,t+=` & .ts-tabs-tab {
1819
1819
  `,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;
1820
- `,t+=` ${Kt("lg",ie)}
1820
+ `,t+=` ${Yt("lg",le)}
1821
1821
  `,t+=` transition: ${W("background-color","base","out")}, ${W("color","base","out")}, ${W("box-shadow","base","out")};
1822
1822
  `,t+=` & [data-tab-icon] { @apply ts-flex ts-items-center ts-flex-shrink-0; }
1823
1823
  `,t+=` &.is-active {
1824
1824
  `,t+=` @apply ts-material-small ts-color-copy;
1825
- `,t+=` ${Kt("lg",ie)}
1825
+ `,t+=` ${Yt("lg",le)}
1826
1826
  `,t+=` }
1827
1827
  `,t+=` &:hover:not(:disabled):not(.is-active) {
1828
1828
  `,t+=` @apply ts-bg-highlight-strong;
@@ -1836,7 +1836,7 @@ ${z}}
1836
1836
  `,t+=` & .ts-tabs-tab.is-active { background-color: transparent; box-shadow: none; }
1837
1837
  `,t+=` &::before {
1838
1838
  `,t+=` content: ''; @apply ts-absolute ts-pointer-events-none ts-material-small;
1839
- `,t+=` ${Kt("lg",ie)}
1839
+ `,t+=` ${Yt("lg",le)}
1840
1840
  `,t+=` inset-inline-start: 0; inset-block: var(--ts-space-quarter);
1841
1841
  `,t+=` inline-size: calc(var(--ts-tabs-w, 0) * 1px);
1842
1842
  `,t+=` transform: translateX(var(--ts-tabs-x, 0px));
@@ -1947,7 +1947,7 @@ ${z}}
1947
1947
  `,t+=` @apply ts-inline-flex ts-gap-quarter ts-radius-lg ts-p-quarter ts-bg-highlight ts-max-w-full ts-valign-middle;
1948
1948
  `,t+=` &.is-full-width { @apply ts-flex ts-w-full; }
1949
1949
  `,t+=` &.is-disabled { @apply ts-disabled; }
1950
- `,t+=` & > .ts-button { @apply ts-flex-1; ${Kt("lg",ie)} }
1950
+ `,t+=` & > .ts-button { @apply ts-flex-1; ${Yt("lg",le)} }
1951
1951
  `,t+=`}
1952
1952
 
1953
1953
  `,t+=`@utility ts-toggle {
@@ -2152,7 +2152,7 @@ ${z}}
2152
2152
 
2153
2153
  `,t+=`@utility ts-tooltip-root {
2154
2154
  `,t+=` @apply ts-relative ts-inline-flex;
2155
- `,t+=` ${eo}
2155
+ `,t+=` ${oo}
2156
2156
  `,t+=`}
2157
2157
  `,t+=`@utility ts-tooltip {
2158
2158
  `,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);
@@ -2176,7 +2176,7 @@ ${z}}
2176
2176
  `,t+=` &.placement-right { position-area: right; margin: var(--ts-space-quarter); position-try-fallbacks: flip-inline; }
2177
2177
  `,t+=` }
2178
2178
  `,t+=` }
2179
- `,t+=` ${Hn}
2179
+ `,t+=` ${Kn}
2180
2180
  `,t+=`}
2181
2181
 
2182
2182
  `,t+=`@utility ts-modal-dialog {
@@ -2254,10 +2254,10 @@ ${z}}
2254
2254
  `,t+=` @apply ts-material-modal ts-radius-none ts-flex ts-flex-col ts-relative ts-overflow-hidden ts-box-border;
2255
2255
  `,t+=` &:not(.side-top, .side-bottom) { @apply ts-h-full; max-width: 100%; }
2256
2256
  `,t+=` &.side-top, &.side-bottom { @apply ts-w-full; max-height: 100%; }
2257
- `,t+=` &.side-left { border-top-right-radius: var(--ts-radius-xl); border-bottom-right-radius: var(--ts-radius-xl); ${Tt} }
2258
- `,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); ${Tt} }
2259
- `,t+=` &.side-top { border-bottom-left-radius: var(--ts-radius-xl); border-bottom-right-radius: var(--ts-radius-xl); ${Tt} }
2260
- `,t+=` &.side-bottom { border-top-left-radius: var(--ts-radius-xl); border-top-right-radius: var(--ts-radius-xl); ${Tt} }
2257
+ `,t+=` &.side-left { border-top-right-radius: var(--ts-radius-xl); border-bottom-right-radius: var(--ts-radius-xl); ${Rt} }
2258
+ `,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); ${Rt} }
2259
+ `,t+=` &.side-top { border-bottom-left-radius: var(--ts-radius-xl); border-bottom-right-radius: var(--ts-radius-xl); ${Rt} }
2260
+ `,t+=` &.side-bottom { border-top-left-radius: var(--ts-radius-xl); border-top-right-radius: var(--ts-radius-xl); ${Rt} }
2261
2261
  `,t+=` &:not(.side-top, .side-bottom).size-sm { width: calc(var(--ts-sizing-160) * 2); }
2262
2262
  `,t+=` &:not(.side-top, .side-bottom).size-md, &:not(.side-top, .side-bottom)${dt} { width: calc(var(--ts-sizing-96) * 4); }
2263
2263
  `,t+=` &:not(.side-top, .side-bottom).size-lg { width: calc(var(--ts-sizing-128) * 4); }
@@ -2347,7 +2347,7 @@ ${z}}
2347
2347
 
2348
2348
  `,t+=`@utility ts-menu-root {
2349
2349
  `,t+=` @apply ts-relative ts-inline-flex;
2350
- `,t+=` ${eo}
2350
+ `,t+=` ${oo}
2351
2351
  `,t+=`}
2352
2352
  `,t+=`@utility ts-menu {
2353
2353
  `,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);
@@ -2375,11 +2375,11 @@ ${z}}
2375
2375
  `,t+=` &.placement-left-start { position-area: left span-bottom; margin: 0 var(--ts-space-quarter); position-try-fallbacks: flip-inline; }
2376
2376
  `,t+=` }
2377
2377
  `,t+=` }
2378
- `,t+=` ${Hn}
2378
+ `,t+=` ${Kn}
2379
2379
  `,t+=`}
2380
2380
  `,t+=`@utility ts-menu-item {
2381
2381
  `,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;
2382
- `,t+=` ${Kt("xl",ie)}
2382
+ `,t+=` ${Yt("xl",le)}
2383
2383
  `,t+=` & [data-menu-item-icon] { @apply ts-flex ts-items-center ts-flex-shrink-0 ts-color-subtle; }
2384
2384
  `,t+=` & [data-menu-item-suffix] { @apply ts-flex ts-items-center ts-flex-shrink-0 ts-ms-auto ts-color-subtle; }
2385
2385
  `,t+=` &:hover, &:focus-visible, &.is-focused { @apply ts-bg-highlight; }
@@ -2412,7 +2412,7 @@ ${z}}
2412
2412
  `,t+=` corner-shape: inherit;
2413
2413
  `,t+=` }
2414
2414
  `,t+=` & img { @apply ts-w-full ts-h-full ts-object-cover; }
2415
- `,ua.forEach(u=>{t+=` &.tone-${u} [data-avatar-media] { @apply ts-bg-${u}-solid ts-color-${u}-solid-contrast; }
2415
+ `,ha.forEach(u=>{t+=` &.tone-${u} [data-avatar-media] { @apply ts-bg-${u}-solid ts-color-${u}-solid-contrast; }
2416
2416
  `}),t+=` & [data-avatar-status] {
2417
2417
  `,t+=` @apply ts-absolute ts-radius-full;
2418
2418
  `,t+=` bottom: 0; right: 0;
@@ -2587,7 +2587,7 @@ ${z}}
2587
2587
 
2588
2588
  `,t+=`@utility ts-popover-root {
2589
2589
  `,t+=` @apply ts-relative ts-inline-flex;
2590
- `,t+=` ${eo}
2590
+ `,t+=` ${oo}
2591
2591
  `,t+=`}
2592
2592
  `,t+=`@utility ts-popover {
2593
2593
  `,t+=` @apply ts-absolute ts-material-menu ts-overflow-hidden ts-box-border; z-index: var(--ts-z-dropdown);
@@ -2611,7 +2611,7 @@ ${z}}
2611
2611
  `,t+=` &.placement-top { position-area: block-start; }
2612
2612
  `,t+=` }
2613
2613
  `,t+=` }
2614
- `,t+=` ${Hn}
2614
+ `,t+=` ${Kn}
2615
2615
  `,t+=`}
2616
2616
 
2617
2617
  `,t+=`@utility ts-number-input {
@@ -2628,11 +2628,11 @@ ${z}}
2628
2628
  `,t+=` & .ts-number-input-field { @apply ts-cursor-default; }
2629
2629
  `,t+=` }
2630
2630
  `,t+=` & .ts-number-input-prefix, & .ts-number-input-suffix {
2631
- `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${Ue} ${ve};
2631
+ `,t+=` @apply ts-flex ts-items-center ts-justify-center ts-select-none ts-flex-shrink-0 ts-bg-gray-100 ${Ge} ${Se};
2632
2632
  `,t+=` padding-inline: var(--ts-field-px-md);
2633
2633
  `,t+=` }
2634
2634
  `,t+=` &.size-sm .ts-number-input-prefix, &.size-sm .ts-number-input-suffix { padding-inline: var(--ts-field-px-sm); }
2635
- `,t+=` &.size-lg .ts-number-input-prefix, &.size-lg .ts-number-input-suffix { @apply ${vn}; padding-inline: var(--ts-field-px-lg); }
2635
+ `,t+=` &.size-lg .ts-number-input-prefix, &.size-lg .ts-number-input-suffix { @apply ${kn}; padding-inline: var(--ts-field-px-lg); }
2636
2636
  `,t+=` & .ts-number-input-spinner {
2637
2637
  `,t+=` @apply ts-inline-flex ts-items-center ts-justify-center ts-flex-shrink-0 ts-color-gray-500 ts-pe-quarter;
2638
2638
  `,t+=` }
@@ -2778,7 +2778,7 @@ ${z}}
2778
2778
  `,t+=`@utility ts-context-menu {
2779
2779
  `,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);
2780
2780
  `,t+=` @apply ts-popover-reset;
2781
- `,t+=` ${Hn}
2781
+ `,t+=` ${Kn}
2782
2782
  `,t+=`}
2783
2783
 
2784
2784
  `,t+=`@utility ts-slider {
@@ -3030,7 +3030,7 @@ ${z}}
3030
3030
  `,t+=`}
3031
3031
  `,t+=`@utility ts-command-item {
3032
3032
  `,t+=` @apply ts-option-row ts-flex ts-items-center ts-align-start ts-transition-colors;
3033
- `,t+=` ${Kt("xl","var(--ts-sizing-4)")}
3033
+ `,t+=` ${Yt("xl","var(--ts-sizing-4)")}
3034
3034
  `,t+=` gap: var(--ts-sizing-8);
3035
3035
  `,t+=` margin-inline: var(--ts-sizing-4);
3036
3036
  `,t+=` width: calc(100% - var(--ts-sizing-8));
@@ -3066,12 +3066,12 @@ ${z}}
3066
3066
  `,t+=`@utility ts-card-radius {
3067
3067
  `,t+=` --ts-card-radius: var(--ts-radius-xl);
3068
3068
  `,t+=` border-radius: var(--ts-card-radius);
3069
- `,t+=` ${Tt}
3069
+ `,t+=` ${Rt}
3070
3070
  `,t+=`}
3071
3071
 
3072
3072
  `,t+=`@utility ts-card-inset-radius {
3073
3073
  `,t+=` border-radius: max(0px, calc(var(--ts-card-radius) - var(--ts-card-padding, 0px) + var(--ts-border-width-1)));
3074
- `,t+=` ${Tt}
3074
+ `,t+=` ${Rt}
3075
3075
  `,t+=`}
3076
3076
 
3077
3077
  `,t+=`@utility ts-card {
@@ -3079,7 +3079,7 @@ ${z}}
3079
3079
  `,t+=` --ts-card-radius: var(--ts-radius-xl);
3080
3080
  `,t+=` --ts-card-padding: 0px;
3081
3081
  `,t+=` border-radius: var(--ts-card-radius);
3082
- `,t+=` ${Tt}
3082
+ `,t+=` ${Rt}
3083
3083
  `,t+=` isolation: isolate;
3084
3084
  `,t+=` transform: translateZ(0);
3085
3085
  `,t+=` backface-visibility: hidden;
@@ -3133,7 +3133,7 @@ ${z}}
3133
3133
  `,t+=`@utility ts-card-media {
3134
3134
  `,t+=` @apply ts-relative;
3135
3135
  `,t+=` border-radius: max(0px, calc(var(--ts-card-radius) - var(--ts-card-padding, 0px) + var(--ts-border-width-1)));
3136
- `,t+=` ${Tt}
3136
+ `,t+=` ${Rt}
3137
3137
  `,t+=` /* Sin ts-overflow-hidden: el ambilight debe sangrar hacia el padding del card al escalar */
3138
3138
 
3139
3139
  `,t+=` /* Aspect ratios */
@@ -3173,7 +3173,7 @@ ${z}}
3173
3173
  `,t+=` }
3174
3174
  `,t+=`}
3175
3175
 
3176
- `,t}function Nt(e=U){let n=`/* Archivo auto-generado: SEMANTIC UTILITIES (base, token-agn\xF3stico) */
3176
+ `,t}function Lt(e=V){let n=`/* Archivo auto-generado: SEMANTIC UTILITIES (base, token-agn\xF3stico) */
3177
3177
  @import "./atomic.css";
3178
3178
  @import "./components.css";
3179
3179
 
@@ -3201,7 +3201,7 @@ ${z}}
3201
3201
  `,n+=`
3202
3202
  `;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}; }
3203
3203
  `,n+=`@utility ts-floating-${i} { @apply ts-bg-background-100 ts-radius-xl ts-shadow-${i}; }
3204
- `;let a="var(--ts-material-bg, var(--color-background-100))",r="0 0 0 var(--ts-border-width-1) var(--ts-material-border, var(--color-grayAlpha-200))",l=(i,c)=>`{ background-color: ${a}; box-shadow: ${r}, ${si[c]}; @apply ts-radius-${i}; }`;return n+=`@utility ts-material-base ${l("md","sm")}
3204
+ `;let a="var(--ts-material-bg, var(--color-background-100))",r="0 0 0 var(--ts-border-width-1) var(--ts-material-border, var(--color-grayAlpha-200))",l=(i,c)=>`{ background-color: ${a}; box-shadow: ${r}, ${ri[c]}; @apply ts-radius-${i}; }`;return n+=`@utility ts-material-base ${l("md","sm")}
3205
3205
  `,n+=`@utility ts-material-small ${l("md","sm")}
3206
3206
  `,n+=`@utility ts-material-medium ${l("xl","md")}
3207
3207
  `,n+=`@utility ts-material-large ${l("xl","lg")}
@@ -3209,15 +3209,15 @@ ${z}}
3209
3209
  `,n+=`@utility ts-material-menu ${l("xl","md")}
3210
3210
  `,n+=`@utility ts-material-modal ${l("xl","lg")}
3211
3211
  `,n+=`@utility ts-material-fullscreen ${l("2xl","xl")}
3212
- `,n}var lt={t:"espaciado"},Xt={t:"espaciado",neg:!0,auto:!0},xn={t:"px"},xe={t:"color",ancho:!0,anchoSolo:!0,extra:["none","transparent","0"]},Yt=e=>({regla:"fisico",sucesor:e}),ya={m:{prop:"margin",valor:Xt},mx:{prop:"margin-inline",valor:Xt},my:{prop:"margin-top + margin-bottom",valor:Xt},mt:{prop:"margin-top",valor:Xt},mb:{prop:"margin-bottom",valor:Xt},ms:{prop:"margin-inline-start",valor:Xt},me:{prop:"margin-inline-end",valor:Xt},ml:{prop:"margin-left",valor:Xt,legado:Yt("ms")},mr:{prop:"margin-right",valor:Xt,legado:Yt("me")},p:{prop:"padding",valor:lt},px:{prop:"padding-inline",valor:lt},py:{prop:"padding-top + padding-bottom",valor:lt},pt:{prop:"padding-top",valor:lt},pb:{prop:"padding-bottom",valor:lt},ps:{prop:"padding-inline-start",valor:lt},pe:{prop:"padding-inline-end",valor:lt},pl:{prop:"padding-left",valor:lt,legado:Yt("ps")},pr:{prop:"padding-right",valor:lt,legado:Yt("pe")},gap:{prop:"gap",valor:lt},"gap-x":{prop:"column-gap",valor:lt},"gap-y":{prop:"row-gap",valor:lt},inset:{prop:"inset",valor:xn},"inset-x":{prop:"inset-inline",valor:lt},"inset-y":{prop:"top + bottom",valor:lt},top:{prop:"top",valor:lt},bottom:{prop:"bottom",valor:lt},start:{prop:"inset-inline-start",valor:lt},end:{prop:"inset-inline-end",valor:lt},left:{prop:"left",valor:lt,legado:Yt("start")},right:{prop:"right",valor:lt,legado:Yt("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:xn},"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:xn},"translate-y":{prop:"transform: translateY",valor:xn},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:xe},"border-b":{prop:"border-bottom",valor:xe},"border-s":{prop:"border-inline-start",valor:xe},"border-e":{prop:"border-inline-end",valor:xe},"border-r":{prop:"border-right",valor:xe,legado:Yt("border-e")},"border-l":{prop:"border-left",valor:xe,legado:Yt("border-s")},outline:{prop:"outline",valor:{t:"color",ancho:!0,extra:["none","transparent"]}},"outline-offset":{prop:"outline-offset",valor:xn},"outline-focus":{prop:"outline",valor:xe,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:Yt(`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"}}},Ec=[{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}`}],Rc={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"},Oc=["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 wn=["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 va(e={}){let n=s=>Object.keys(s);return{radius:[...n(Vt),"full"],blurs:n(ne),shadows:n(ye),screens:n(cn),gridMins:e.gridMins??[],fontSizes:n(Re),lineHeights:n(De),letterSpacing:n(he),fontWeights:n(Oe),durations:n(Ut),easings:n(Wt),opacities:n(Ht),zIndex:n(Ee),borderWidths:n(ln),ritmo:[...new Set([...e.gaps??n(ee),...e.spaces??n(vs)])],sizing:n(be)}}function Dc(e){let n;for(let s of Object.keys(ya))(e===s||e.startsWith(s+"-"))&&(!n||s.length>n.length)&&(n=s);return n}function no(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 Ac(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(no(n,o,e.extra)||e.anchoSolo&&s.borderWidths.includes(n))return!0;if(!e.ancho)return!1;let a=n.match(/^(\d+)-(.+)$/);return!!a&&s.borderWidths.includes(a[1])&&no(a[2],o,["transparent"])}case"ring-shadow":{let a=n.match(/^([a-z0-9]+)-(.+)$/);return!!a&&s.shadows.includes(a[1])&&no(a[2],o)}}}function xa(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 a=e.replace(/^ts-/,"");if(/-negative$/.test(a)&&o.push({regla:"negative",detalle:"sufijo -negative; va neg- como prefijo del valor"}),/-important$/.test(a)&&o.push({regla:"important",detalle:"sufijo -important; no va en un nombre p\xFAblico"}),a in Rc||Oc.includes(a))return o;let r=Dc(a);if(!r)return o.push({regla:"prefijo",detalle:"prefijo fuera de la lista cerrada"}),o;let l=ya[r];l.legado&&o.push({regla:l.legado.regla,detalle:`${r} \u2192 ${l.legado.sucesor}`});let i=a.slice(r.length+1);if(r==="text"){let d=Ec.find(p=>p.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 ${r}`})),i===""?o.push({regla:"valor",detalle:`${r} sin valor`}):Ac(l.valor,i,n,s)||o.length||o.push({regla:"valor",detalle:`${i} no es un valor v\xE1lido (${l.valor.t}) para ${r}`}),o}var ba={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"]},We=["dark"],Mt=e=>ba.palabras.includes(e)||ba.prefijos.some(n=>e.startsWith(n+"-"));function Mc(e){let n=[[]],s=0,o="",a=()=>{o.trim()&&n[n.length-1].push(o.trim()),o=""};for(let r of e)(r==="("||r==="[")&&s++,(r===")"||r==="]")&&s--,s===0&&r===","?(a(),n.push([])):s===0&&/[\s>+~]/.test(r)?a():o+=r;return a(),n}function qc(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 wa(e,n=wn){let s=e.replace(/\/\*[\s\S]*?\*\//g,l=>l.replace(/[^\n]/g," ")),o=n.map(l=>l.replace(/-/g,"\\-")).join("|"),a=new RegExp(`&|\\.ts-|\\[data-(?:${o})(?:[-\\]=~|^$*])`),r=[];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(`
3213
- `).length,p=[...s.slice(0,c).matchAll(/^@utility (\S+)/gm)].pop()?.[1]??"(fuera de un @utility)";for(let h of Mc(i))for(let t of h){for(let m of t.matchAll(/\.([A-Za-z_][A-Za-z0-9_-]*)/g)){let x=m[1];x.startsWith("ts-")||We.includes(x)||Mt(x)||r.push({selector:i.replace(/\s+/g," "),utility:p,linea:d,motivo:"desconocido"})}let g=qc(t);[...g.matchAll(/\.([A-Za-z_][A-Za-z0-9_-]*)/g)].map(m=>m[1]).filter(Mt).length&&!a.test(g)&&r.push({selector:i.replace(/\s+/g," "),utility:p,linea:d,motivo:"suelto"})}}return r}function so(e,n,s,o){let a=new Set([n,s].flatMap(i=>at(i).flatMap(c=>{let d=c.name.replaceAll("\\","");return[d.slice(3),(o.get(d)??d).slice(3)]}))),r=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)])r.add(d);return{atomicas:a,componentes:r,esComponente:i=>!a.has(i)&&(r.has(i)||Mt(i))}}var oo=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,$a=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,Gn="ts-",ka=/^\d+(\.\d+)?px$/,$n={regex:/^[1-9]\d{0,2}$/,rango:"1 a 999"},Ic={regex:/^(?:0|[1-9]\d?|100)$/,rango:"0 a 100"},Pc=/^(?:[2-9]?xs|[2-9]xl)$/,D=(e,n)=>new ft([{path:e,...n}]);function Be(e,n,s){try{n()}catch(o){if(!(o instanceof ft))throw o;e.push(...o.errors),s?.()}}function kn(e){if(e.length)throw new ft(e)}function we(e,n){if(typeof n!="string")throw D(e,{code:"value-not-string",params:{value:n}});if(n.trim()==="")throw D(e,{code:"empty-value",params:{}});if(/[;{}\\\r\n]|\/\*|\*\//.test(n))throw D(e,{code:"unsafe-value",params:{value:n}})}var Sa=e=>{let n=new Map;for(let s of e)n.set(s,(n.get(s)??0)+1);return n};function Nc(e,n){let s=Array.from({length:n.length+1},(o,a)=>a);for(let o=1;o<=e.length;o++){let a=[o];for(let r=1;r<=n.length;r++)a[r]=Math.min(s[r]+1,a[r-1]+1,s[r-1]+(e[o-1]===n[r-1]?0:1));s=a}return s[n.length]}function ct(e,n){let s=3,o;for(let a of n){if(Math.abs(a.length-e.length)>2)continue;let r=Nc(e,a);r<s?(s=r,o=a):r===s&&(o=void 0)}return o}var za=["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"],Lc={sizing:"extend.sizing"},ja=["screens","radius","fontSizes","lineHeights","letterSpacing","fontWeights","borderWidths","blurs","opacities","shadows"],Ca={spacing:["gaps","spaces"],motion:["durations","easings"]},Ta=["zIndex","motion.loops","motion.iterations"],Ea=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function _c(e,n){let s={};if(e===void 0)return s;if(!Ea(e))return n(()=>{throw D("extend",{code:"extend-shape-invalid",params:{expected:"object",value:e}})}),s;let o=(r,l,i)=>{let c=i==="list"?Array.isArray(l):Ea(l);return c||n(()=>{throw D(r,{code:"extend-shape-invalid",params:{expected:i,value:l}})}),c},a=["sizing",...ja,...Object.keys(Ca)];for(let[r,l]of Object.entries(e)){if(r==="sizing"){o("extend.sizing",l,"list")&&(s.sizing=l);continue}if(ja.includes(r)){o(`extend.${r}`,l,"object")&&(s[r]=l);continue}let i=Ca[r];if(i){if(!o(`extend.${r}`,l,"object"))continue;let c={};for(let[d,p]of Object.entries(l)){let h=`extend.${r}.${d}`;if(i.includes(d)){o(h,p,"object")&&(c[d]=p);continue}n(()=>{if(Ta.includes(`${r}.${d}`))throw D(h,{code:"extend-key-excluded",params:{key:`${r}.${d}`}});let t=ct(d,i);throw D(h,{code:"extend-key-unknown",params:{key:d,...t&&{suggestion:t}}})})}s[r]=c;continue}n(()=>{if(Ta.includes(r))throw D(`extend.${r}`,{code:"extend-key-excluded",params:{key:r}});let c=ct(r,a);throw D(`extend.${r}`,{code:"extend-key-unknown",params:{key:r,...c&&{suggestion:c}}})})}return s}var Ra={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 Fc(e,n,s,o){let a=`themes.${e}`;for(let l of Object.keys(n))o(()=>{if(za.includes(l))return;let i=Lc[l],c=i?void 0:ct(l,za);throw D(`${a}.${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 D(`${a}.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=ct(c,i);throw D(`${a}.${l}.${c}`,{code:"theme-key-unknown",params:{key:c,...d&&{suggestion:d}}})});for(let{ruta:l,de:i,nombres:c,extendRuta:d,tipo:p}of s)for(let[h,t]of Object.entries(i(n)??{}))o(()=>{let g=`${a}.${l}.${h}`;if(!c.includes(h))throw D(g,{code:"theme-name-unknown",params:{scale:l,name:h,...d&&{extendPath:d}}});if(we(g,t),p&&!Ra[p](t.trim()))throw D(g,{code:"value-type-invalid",params:{kind:p,value:t}})});for(let l of["comfortable","compact"]){let i=n.density?.[l]??{};for(let[c,d]of Object.entries(i)){let p=`${a}.density.${l}.${c}`;if(l==="compact"&&c==="spacing"){for(let[h,t]of Object.entries(d??{})){if(h!=="gaps"&&h!=="spaces"){let g=ct(h,["gaps","spaces"]);o(()=>{throw D(`${p}.${h}`,{code:"theme-key-unknown",params:{key:h,...g&&{suggestion:g}}})});continue}for(let[g,b]of Object.entries(t??{}))o(()=>{let m=`${p}.${h}.${g}`;if(!Object.hasOwn(Te,g))throw D(m,{code:"theme-name-unknown",params:{scale:`density.compact.spacing.${h}`,name:g}});we(m,b)})}continue}if(!Object.hasOwn(Bt,c)){o(()=>{throw D(p,{code:"theme-name-unknown",params:{scale:`density.${l}`,name:c}})});continue}for(let[h,t]of Object.entries(d??{}))o(()=>{let g=`${p}.${h}`;if(!Object.hasOwn(Bt[c][l],h))throw D(g,{code:"theme-name-unknown",params:{scale:`density.${l}.${c}`,name:h}});if(typeof t!="number"||!Number.isFinite(t)||t<0)throw D(g,{code:"value-type-invalid",params:{kind:"px",value:t}})})}}let r=[...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 r)i!==void 0&&o(()=>we(`${a}.${l}`,i))}function Oa(e,n,s,o,a,r={components:"",utilities:""}){let l=[],i=(y,C)=>Be(l,y,C);i(()=>{if(e.scope!==void 0&&e.scope!=="ts")throw D("scope",{code:"scope-invalid",params:{value:e.scope}});if(e.darkMode!==void 0&&e.darkMode!=="class"&&e.darkMode!=="media")throw D("darkMode",{code:"dark-mode-invalid",params:{value:e.darkMode}})}),i(()=>{if(e.iconsHtmlDirs!==void 0)throw D("iconsHtmlDirs",{code:"icons-html-dirs-removed",params:{}})}),(e.fontFaces??[]).forEach((y,C)=>{i(()=>{if(!(y.styles===void 0||Array.isArray(y.styles)&&y.styles.length>0&&y.styles.every(_=>_==="normal"||_==="italic")))throw D(`fontFaces[${C}].styles`,{code:"font-styles-invalid",params:{value:y.styles}})})});for(let[y,C]of Object.entries(e.themes))i(()=>{let q=C.colors?.brand;if(typeof q!="string"||q.trim()==="")throw D(`themes.${y}.colors.brand`,{code:"brand-required",params:{}})}),i(()=>{if(Object.hasOwn(C.colors??{},"primary"))throw D(`themes.${y}.colors.primary`,{code:"primary-in-colors",params:{}})}),i(()=>{let q=sn(C);if(q!==void 0&&(typeof q!="string"||q.trim()===""))throw D(`themes.${y}.primary`,{code:"primary-invalid",params:{}})});let c=_c(e.extend,i),d=e.utilities??{},p={sizing:{...U.sizing,...Object.fromEntries((Array.isArray(c.sizing)?c.sizing:[]).filter(y=>typeof y=="number").map(y=>[String(y),y]))},screens:{...U.screens,...c.screens??{}},radius:{...U.radius,...c.radius??{}},gaps:{...U.gaps,...c.spacing?.gaps??{}},spaces:{...U.spaces,...c.spacing?.spaces??{}},fontSizes:{...U.fontSizes,...c.fontSizes??{}},lineHeights:{...U.lineHeights,...c.lineHeights??{}},letterSpacing:{...U.letterSpacing,...c.letterSpacing??{}},fontWeights:{...U.fontWeights,...c.fontWeights??{}},borderWidths:{...U.borderWidths,...c.borderWidths??{}},blurs:{...U.blurs,...c.blurs??{}},opacities:{...U.opacities,...c.opacities??{}},shadows:{...U.shadows,...c.shadows??{}},durations:{...U.durations,...c.motion?.durations??{}},easings:{...U.easings,...c.motion?.easings??{}}},h,t=()=>{if(!h){let y=Ae(n,s),C=at(Zt(y,o)).map(V=>V.name),q=at(Nt()).map(V=>V.name),_=[...at(Nt()+r.utilities),...at(ae(n,s)+r.components)].map(V=>V.name);h={atomic:C,utilidades:q,resto:_,nombres:new Set([...C,..._,...St([...C,..._]).values()]),vocabulary:y}}return h},g,b=()=>{if(!g){let{vocabulary:y}=t(),C=at(Zt(y,o,p)).map(_=>_.name),q=[...at(Nt(p)+r.utilities),...at(ae(n,s,p)+r.components)].map(_=>_.name);g=new Set([...C,...q,...St([...C,...q]).values()])}return g},m=new Map(Object.entries(U.screens).map(([y,C])=>[parseFloat(C),y]));for(let[y,C]of Object.entries(c.screens??{}))i(()=>{let q=`extend.screens.${y}`;if(Object.hasOwn(U.screens,y))throw D(q,{code:"screen-exists",params:{name:y}});if(!Pc.test(y))throw D(q,{code:"screen-name-invalid",params:{}});if(typeof C!="string"||!ka.test(C))throw D(q,{code:"screen-value-invalid",params:{value:`${C}`}});let _=parseFloat(C),V=m.get(_);if(V!==void 0)throw D(q,{code:"screen-repeated",params:{value:C,other:V}});m.set(_,y);let K=Object.values(U.screens).map(parseFloat),[,Y,it]=/^(\d)?(xs|xl)$/.exec(y),tt=Number(Y??1);if(it==="xs"&&_>=Math.min(...K))throw D(q,{code:"screen-below-min",params:{name:y,px:Math.min(...K)}});if(it==="xl"&&_<=Math.max(...K))throw D(q,{code:"screen-above-max",params:{name:y,px:Math.max(...K)}});for(let[xt,mt]of Object.entries(c.screens??{})){if(xt===y)break;let Rt=/^(\d)?(xs|xl)$/.exec(xt);if(!Rt||Rt[2]!==it||!ka.test(mt))continue;let jt=Number(Rt[1]??1),yt=parseFloat(mt),qt=it==="xl"?tt>jt:tt<jt;if(qt?_<=yt:_>=yt)throw D(q,{code:"screen-order",params:{name:y,value:C,greater:qt,other:xt,otherValue:mt}})}},()=>{delete p.screens[y]});let x=[{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:$n},{ruta:"extend.lineHeights",clave:"lineHeights",temaRuta:"lineHeights",propios:c.lineHeights,numerico:$n},{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:$n},{ruta:"extend.blurs",clave:"blurs",temaRuta:"blurs",propios:c.blurs},{ruta:"extend.opacities",clave:"opacities",temaRuta:"opacities",propios:c.opacities,numerico:Ic,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}],f=new Map,w=(y,C)=>{let{atomic:q,utilidades:_,nombres:V,vocabulary:K}=t(),Y=Sa([...q,..._]),it=Sa([...at(Zt(K,o,C)),...at(Nt(C))].map(tt=>tt.name));for(let[tt,xt]of it){if(xt<=(Y.get(tt)??0))continue;if(V.has(tt))throw D(y,{code:"class-exists",params:{class:tt}});let mt=f.get(tt);if(mt!==void 0)throw D(y,{code:"class-duplicated",params:{class:tt,other:mt}});f.set(tt,y);let Rt=gt(tt)?.nuevo;if(Rt&&V.has(Rt))throw D(y,{code:"class-renamed-exists",params:{class:tt,renamed:Rt}})}};for(let{ruta:y,clave:C,temaRuta:q,propios:_,numerico:V,tipo:K}of x)for(let[Y,it]of Object.entries(_??{}))i(()=>{let tt=`${y}.${Y}`;if(Object.hasOwn(U[C],Y))throw D(tt,{code:"scale-exists",params:{name:Y,themePath:q}});if(V){if(!V.regex.test(Y))throw D(tt,{code:"scale-name-numeric",params:{range:V.rango}})}else if(!oo.test(Y))throw D(tt,{code:"scale-name-invalid",params:{}});if(C==="spaces"&&Y.startsWith("neg-"))throw D(tt,{code:"space-neg-prefix",params:{}});if(C==="spaces"&&Y.endsWith("-negative"))throw D(tt,{code:"space-negative-suffix",params:{}});if(we(tt,it),K&&!Ra[K](it.trim()))throw D(tt,{code:"value-type-invalid",params:{kind:K,value:it}});if(C==="fontSizes"&&!Object.hasOwn(U.lineHeights,Y)&&!Object.hasOwn(c.lineHeights??{},Y))throw D(tt,{code:"font-size-needs-line-height",params:{name:Y}});w(tt,{...U,[C]:{...U[C],[Y]:it}})},()=>{delete p[C][Y]});let u=new Set;(Array.isArray(c.sizing)?c.sizing:[]).forEach((y,C)=>{i(()=>{let q=`extend.sizing[${C}]`;if(typeof y!="number"||!Number.isInteger(y))throw D(q,{code:"value-type-invalid",params:{kind:"integer",value:y}});if(!$n.regex.test(String(y)))throw D(q,{code:"scale-name-numeric",params:{range:$n.rango}});if(Object.hasOwn(U.sizing,String(y)))throw D(q,{code:"sizing-exists",params:{level:y,repeated:!1}});if(u.has(y))throw D(q,{code:"sizing-exists",params:{level:y,repeated:!0}});u.add(y),w(q,{...U,sizing:{...U.sizing,[String(y)]:y}})},()=>{Object.hasOwn(U.sizing,String(y))||delete p.sizing[String(y)]})});let v=(y,C)=>[...Object.keys(y),...Object.keys(C??{})],k=[{ruta:"radius",de:y=>y.radius,nombres:v(U.radius,c.radius),extendRuta:"extend.radius"},{ruta:"spacing.gaps",de:y=>y.spacing?.gaps,nombres:v(U.gaps,c.spacing?.gaps),extendRuta:"extend.spacing.gaps"},{ruta:"spacing.spaces",de:y=>y.spacing?.spaces,nombres:v(U.spaces,c.spacing?.spaces),extendRuta:"extend.spacing.spaces"},{ruta:"screens",de:y=>y.screens,nombres:v(U.screens,c.screens),extendRuta:"extend.screens"},{ruta:"fontSizes",de:y=>y.fontSizes,nombres:v(U.fontSizes,c.fontSizes),extendRuta:"extend.fontSizes"},{ruta:"lineHeights",de:y=>y.lineHeights,nombres:v(U.lineHeights,c.lineHeights),extendRuta:"extend.lineHeights"},{ruta:"letterSpacing",de:y=>y.letterSpacing,nombres:v(U.letterSpacing,c.letterSpacing),extendRuta:"extend.letterSpacing"},{ruta:"fontWeights",de:y=>y.fontWeights,nombres:v(U.fontWeights,c.fontWeights),extendRuta:"extend.fontWeights",tipo:"font-weight"},{ruta:"borderWidths",de:y=>y.borderWidths,nombres:v(ln,c.borderWidths),extendRuta:"extend.borderWidths"},{ruta:"blurs",de:y=>y.blurs,nombres:v(ne,c.blurs),extendRuta:"extend.blurs"},{ruta:"zIndex",de:y=>y.zIndex,nombres:v(Ee),tipo:"integer"},{ruta:"opacities",de:y=>y.opacities,nombres:v(Ht,c.opacities),extendRuta:"extend.opacities",tipo:"opacity"},{ruta:"shadows",de:y=>y.shadows,nombres:v(ye,c.shadows),extendRuta:"extend.shadows"},{ruta:"motion.durations",de:y=>y.motion?.durations,nombres:v(Ut,c.motion?.durations),extendRuta:"extend.motion.durations",tipo:"duration"},{ruta:"motion.loops",de:y=>y.motion?.loops,nombres:v(on)},{ruta:"motion.iterations",de:y=>y.motion?.iterations,nombres:v(an),tipo:"iterations"},{ruta:"motion.easings",de:y=>y.motion?.easings,nombres:v(Wt,c.motion?.easings),extendRuta:"extend.motion.easings"}];for(let[y,C]of Object.entries(e.themes))Fc(y,C,k,i);let E=Object.keys(d),R=y=>y.includes("."),L=E.filter(y=>!R(y)),J=new Set,H,T=()=>H??=new Set([...b()].filter(y=>!gt(y.replaceAll("\\",""))).map(y=>y.slice(3))),I=Jt(p.screens),N,X=()=>N??=(()=>{let y=Zt(t().vocabulary,o,p),C=Nt(p)+r.utilities,q=ae(n,s,p)+r.components,_=[y,C,q].flatMap(V=>at(V).map(K=>K.name));return so(a,y,C,St(_))})(),O=(y,C)=>{if(!Array.isArray(C)||C.length===0)throw D(y,{code:"utility-empty",params:{}});for(let q of C){if(typeof q!="string")throw D(y,{code:"utility-not-a-class",params:{value:q}});let{cadena:_,base:V}=pn(q);if(R(V))throw D(y,{code:"utility-composes-modifier",params:{class:q,utility:V.split(".")[0],modifiers:V.split(".").slice(1)}});if(_.length){let K=Ct(_,I);if(!K.ok){if(K.motivo==="desconocido"){let Y=ct(K.prefijo,I.keys());throw D(y,{code:"utility-unknown-prefix",params:{class:q,prefix:K.prefijo,...Y&&{suggestion:Y}}})}throw K.motivo==="data-ts"?D(y,{code:"utility-data-ts-variant",params:{class:q}}):K.canonica?D(y,{code:"utility-out-of-order",params:{class:q,suggestion:K.canonica.join("")+V}}):D(y,{code:"utility-invalid-chain",params:{class:q}})}if(X().esComponente(V)&&!L.includes(V))throw D(y,{code:"utility-variant-on-component",params:{class:q,base:V}})}if(!T().has(V)&&!L.includes(V)){let K=V.startsWith("ts-")?V.slice(3):gt(`ts-${V}`)?.nuevo?.slice(3),Y=K!==void 0&&T().has(K)?K:ct(V,[...T(),...L]);throw D(y,{code:"utility-unknown-class",params:{class:q,...Y&&{suggestion:Y}}})}}},A=(y,C)=>{if(!$a.test(C))throw D(y,{code:"modifier-invalid",params:{modifier:C}});if(C.startsWith(Gn))throw D(y,{code:"modifier-reserved-prefix",params:{modifier:C,prefix:Gn}});if(C==="ts"||We.includes(C))throw D(y,{code:"modifier-theme-class",params:{modifier:C}});if(T().has(C))throw D(y,{code:"modifier-short-name",params:{modifier:C}});if(L.includes(C))throw D(y,{code:"modifier-is-utility",params:{modifier:C}})},j=new Map;for(let y of E)i(()=>{let C=`utilities.${y}`;if(R(y)){let[q,..._]=y.split(".");if(!L.includes(q))throw D(C,{code:"component-missing",params:{component:q}});for(let Y of _)A(C,Y);if(new Set(_).size!==_.length)throw D(C,{code:"modifier-repeated",params:{}});let V=`${q}.${[..._].sort().join(".")}`,K=j.get(V);if(K!==void 0)throw D(C,{code:"combination-repeated",params:{other:K}});j.set(V,y),O(C,d[y]);return}if(!$a.test(y))throw D(C,{code:"utility-name-invalid",params:{}});if(y.startsWith(Gn))throw D(C,{code:"utility-reserved-prefix",params:{prefix:Gn}});if(Mt(y)||We.includes(y))throw D(C,{code:"utility-name-is-modifier",params:{}});if(t().nombres.has(y))throw D(C,{code:"utility-conflicts-ds",params:{}});if(y==="ts")throw D(C,{code:"utility-name-ts",params:{}});if(T().has(y))throw D(C,{code:"utility-short-name",params:{}});O(C,d[y])},()=>{J.add(y)});let S=new Set,M=new Set,G=(y,C)=>{if(C.includes(y)){let q=[...C,y].slice(C.indexOf(y));i(()=>{throw D(`utilities.${C[0]}`,{code:"utility-cycle",params:{cycle:q}})});for(let _ of q)S.add(_),M.add(_);return}if(!(S.has(y)||J.has(y))){for(let q of d[y])Object.hasOwn(d,q)&&!R(q)&&G(q,[...C,y]);S.add(y)}};for(let y of L)G(y,[]);let Z=y=>!J.has(y)&&!M.has(y);for(let y of E)Z(y)&&i(()=>{for(let C of d[y]){let{cadena:q,base:_}=pn(C);if(!q.length||R(_)||!Object.hasOwn(d,_)||!Z(_))continue;let V=qe(_,d),K=oe(q,V,I).find(it=>!it.ok);if(K&&!K.ok)throw D(`utilities.${y}`,{code:"utility-invalid-composition",params:Pe(C,_,q,K)});let Y=V.find(it=>it.cadena.length===0&&X().esComponente(it.base)&&!L.includes(it.base));if(Y)throw D(`utilities.${y}`,{code:"utility-composes-component",params:{class:C,utility:_,component:Y.base}})}});return kn(l),{userScales:p,userUtilities:d}}var Vc=()=>({userColors:{brand:"#4F46E5"},userStates:ao,userGridMins:ro}),io=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,Uc=new Set(["__proto__","constructor","prototype","tostring"]),Jn=e=>Uc.has(e.toLowerCase());function Wc(e){let n=Ae(e.userColors,e.userStates),s=t=>at(t).map(g=>g.name.replaceAll("\\","")),o=[...s(Zt(n,e.userGridMins,U)),...s(Nt())],a=s(ae(e.userColors,e.userStates,U)),r=new Set([...o,...St(o).values()]),l=new Set([...r,...a,...St(a).values()]),i={name:"x",group:"root",def:{colors:{...Vc().userColors,...e.userColors}}},c=_e(Le(i,{},e.userStates)),d=new Set([...c.matchAll(/^\s*(--[\w-]+):/gm)].map(t=>t[1])),p=t=>t.split("-")[0],h=new Set([...[...l].map(t=>p(t.slice(3))),...wn,...We,...[...d].map(t=>p(t.startsWith("--ts-")?t.slice(5):t.slice(2)))]);return{emitidos:l,aplicables:r,slugs:new Set(Object.keys(mn.componentes)),variables:d,reservadas:h}}var re=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Da=(e,n)=>wn.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 Ma(e){return e.flatMap(n=>n.t==="apply"?n.destinos:n.t==="decl"?[]:Ma(n.hijos))}function qa(e){return e.flatMap(n=>n.t==="decl"?[{prop:n.prop,valor:n.valor}]:n.t==="apply"?[]:qa(n.hijos))}var Aa=2**30;function Bc(e,n,s,o,a=new Set){let r=[],l={root:[],slug:[],block:[],utility:[],variable:[]},i=(T,I)=>{r.push({path:T,...I})},c=(T,I)=>i(T,{code:"ext-shape",params:{expected:I}}),d=`extensions[${JSON.stringify(n)}]`;if(!re(e))return c(d,"object"),{errores:r,nombres:l,raices:[]};e.components!==void 0&&!re(e.components)&&c(`${d}.components`,"object"),e.utilities!==void 0&&typeof e.utilities!="string"&&c(`${d}.utilities`,"string");let p=Array.isArray(e.roots)&&e.roots.every(T=>typeof T=="string")?e.roots:void 0;e.roots!==void 0&&p===void 0&&c(`${d}.roots`,"string[]");let h=re(e.components)?Object.entries(e.components):[];h.length>et.componentes&&(i(`${d}.components`,{code:"ext-limit",params:{what:"components",max:et.componentes}}),h=[]);let t=new Map,g=new Map;for(let[T,I]of h){let N=`${d}.components.${T}`;if(!io.test(T)||Jn(T)?i(N,{code:"ext-name-invalid",params:{kind:"slug",name:T}}):s.slugs.has(T)?i(N,{code:"ext-conflicts-core",params:{kind:"slug",name:T}}):l.slug.push(T),!re(I)){c(N,"object");continue}if(!Array.isArray(I.roots)||I.roots.some(O=>typeof O!="string")){c(`${N}.roots`,"string[]");continue}if(I.roots.length===0&&i(`${N}.roots`,{code:"ext-roots-empty",params:{}}),I.roots.length>et.raices){i(`${N}.roots`,{code:"ext-limit",params:{what:"roots",max:et.raices}});continue}let X=[];for(let O of I.roots){if(!io.test(O)||Jn(O)){i(`${N}.roots`,{code:"ext-name-invalid",params:{kind:"root",name:O}});continue}let A=t.get(O);if(A!==void 0){i(`${N}.roots`,{code:"ext-root-repeated",params:{root:O,other:A}});continue}t.set(O,T),X.push(O),l.root.push(O),Da(O,s)&&i(`${N}.roots`,{code:"ext-conflicts-core",params:{kind:"root",name:O}})}g.set(T,X)}if(p!==void 0)if(p.length>et.raices)i(`${d}.roots`,{code:"ext-limit",params:{what:"roots",max:et.raices}});else{let T=[...t.keys()],I=(N,X)=>N===X||N.startsWith(`${X}-`)||X.startsWith(`${N}-`);for(let N of p){if(!io.test(N)||Jn(N)){i(`${d}.roots`,{code:"ext-name-invalid",params:{kind:"root",name:N}});continue}let X=t.get(N);if(X!==void 0){i(`${d}.roots`,{code:"ext-root-repeated",params:{root:N,other:X}});continue}t.set(N,""),l.root.push(N),Da(N,s)&&i(`${d}.roots`,{code:"ext-conflicts-core",params:{kind:"root",name:N}});for(let O of T)I(N,O)&&i(`${d}.roots`,{code:"ext-roots-overlap",params:{root:N,other:O,package:n,otherPackage:n}})}}let b=[...t.keys()],m=T=>{let I;for(let N of b)(T===`ts-${N}`||T.startsWith(`ts-${N}-`))&&(I===void 0||N.length>I.length)&&(I=N);return I===void 0?void 0:t.get(I)},x=new Set;for(let[T,I]of h){if(!re(I)||I.tokens===void 0)continue;let N=`${d}.components.${T}.tokens`;if(!re(I.tokens)){c(N,"object");continue}let X=Object.entries(I.tokens);if(X.length>et.tokens){i(N,{code:"ext-limit",params:{what:"tokens",max:et.tokens}});continue}let O=g.get(T)?.[0];for(let[A,j]of X){let S=`${N}.${A}`;if(A.length>et.clave){i(S.slice(0,120),{code:"ext-limit",params:{what:"key-length",max:et.clave}});continue}if(!oo.test(A)||Jn(A)){i(S,{code:"ext-name-invalid",params:{kind:"token",name:A}});continue}let M=O===void 0?void 0:`--ts-${O}-${A}`;if(typeof j=="string"&&j.length>et.valor)i(S,{code:"ext-limit",params:{what:"value-length",max:et.valor}});else{let G=!0;if(Be(r,()=>we(S,j),()=>{G=!1}),G&&typeof j=="string")for(let Z of $i(j,M??A))i(S,Z)}M!==void 0&&(l.variable.push(M),s.variables.has(M)&&i(S,{code:"ext-conflicts-core",params:{kind:"variable",name:M}}),x.has(M)&&i(S,{code:"ext-variable-repeated",params:{variable:M}}),x.add(M))}}r.push(...Pn(o)),o.reduce((T,I)=>T+I.parse.bloques.length,0)>et.bloques&&i(d,{code:"ext-limit",params:{what:"blocks",max:et.bloques}});let w=new Set,u=new Map,v=new Map;for(let T of o)for(let I of T.parse.bloques)u.has(I.name)||(u.set(I.name,T.slug??""),v.set(I.name,I.nodos));let k=new Map;for(let T of o){let I=T.slug,N=I===void 0?void 0:g.get(I)??[];for(let{name:O,nodos:A}of T.parse.bloques){w.has(O)&&i(T.ruta,{code:"ext-block-repeated",params:{block:O}}),w.add(O),(s.emitidos.has(O)||gt(O))&&i(T.ruta,{code:"ext-conflicts-core",params:{kind:I===void 0?"utility":"block",name:O}}),l[I===void 0?"utility":"block"].push(O),I!==void 0?m(O)!==I&&i(T.ruta,{code:"ext-block-not-owned",params:{block:O,roots:N??[]}}):m(O)===void 0&&i(T.ruta,{code:"ext-utility-no-root",params:{block:O}});for(let{prop:j,valor:S}of qa(A)){let M=`${j}: ${S.replace(/"[^"]*"|'[^']*'/g,Z=>Z[0]+Z[0])}`,G=hi(M);G&&i(T.ruta,{code:"ext-color-literal",params:{block:O,value:G.value,kind:G.kind}});for(let Z of new Set(bi(M))){if(s.variables.has(Z)||b.some(C=>Z===`--ts-${C}`||Z.startsWith(`--ts-${C}-`)))continue;let y=ct(Z,s.variables);i(T.ruta,{code:"ext-var-not-public",params:{block:O,variable:Z,...y&&{suggestion:y}}})}}k.set(O,Ma(A))}let X=wa(T.parse.bloques.map(O=>O.css).join(""),[...wn,...b]);for(let O of X)i(T.ruta,{code:"ext-modifier-loose",params:{block:O.utility,selector:O.selector,motive:O.motivo}})}for(let[T,I]of h)re(I)&&I.css!==void 0&&typeof I.css!="string"&&c(`${d}.components.${T}.css`,"string");let E=new Map;for(let T of o)for(let I of T.parse.bloques)E.has(I.name)||E.set(I.name,T.ruta);let R=new Map;for(let[T,I]of k){let N=E.get(T),X=u.get(T);for(let O of new Set(I)){if(s.aplicables.has(O))continue;let A=u.get(O);if(A!==void 0&&A===X){R.set(T,[...R.get(T)??[],O]);continue}let j=A!==void 0||a.has(O)?"other-component":s.emitidos.has(O)?"core-component":"unknown",S=j==="unknown"?ct(O,s.aplicables):void 0;i(N,{code:"ext-apply-target",params:{block:T,target:O,reason:j,...S&&{suggestion:S}}})}}let L=new Map,J=!1,H=T=>{L.set(T,1);for(let I of R.get(T)??[])L.get(I)===1?(J=!0,i(E.get(T),{code:"ext-apply-target",params:{block:T,target:I,reason:"cycle"}})):L.has(I)||H(I);L.set(T,2)};for(let T of R.keys())L.has(T)||H(T);if(!J){let T=new Map,I=new Map,N=new Map;for(let A of o)for(let j of A.parse.bloques)N.has(j.name)||N.set(j.name,j.css.length);let X=A=>{let j=T.get(A);if(j!==void 0)return{d:j,t:I.get(A)};let S=0,M=N.get(A)??0;for(let G of new Set(R.get(A)??[])){let Z=X(G);S=Math.max(S,Z.d+1),M=Math.min(Aa,M+Z.t*k.get(A).filter(y=>y===G).length)}return T.set(A,S),I.set(A,M),{d:S,t:M}},O=0;for(let A of k.keys()){let{d:j,t:S}=X(A);O=Math.min(Aa,O+S),j>et.profundidadApply?i(E.get(A),{code:"ext-apply-budget",params:{block:A,limit:"depth",max:et.profundidadApply}}):S>et.expansionBloque&&i(E.get(A),{code:"ext-apply-budget",params:{block:A,limit:"block-size",max:et.expansionBloque}})}O>et.expansionTotal&&i(d,{code:"ext-apply-budget",params:{block:n,limit:"total-size",max:et.expansionTotal}})}return{errores:r,nombres:l,raices:b}}function Ia(e,n,s){let o=fn(e),a=Object.values(n.themes).some(g=>g.components!==void 0);if(o.length===0&&!a)return[];let r=[],l=o.length?Wc(s):void 0,i=o.map(([g,b])=>In(b,g)),c=i.map(g=>new Set(g.flatMap(b=>b.parse.bloques.map(m=>m.name)))),d=new Map,p=new Map,h=new Map;o.forEach(([g,b],m)=>{let x=new Set(c.filter((u,v)=>v!==m).flatMap(u=>[...u])),f=Bc(b,g,l,i[m],x);r.push(...f.errores);for(let u of Object.keys(f.nombres))for(let v of f.nombres[u]){let k=`${u==="utility"?"block":u}:${v}`,E=d.get(k);E!==void 0&&E!==g?r.push({path:`extensions[${JSON.stringify(g)}]`,code:"ext-conflicts-extension",params:{kind:u,name:v,package:g,other:E}}):d.set(k,g)}let w=`extensions[${JSON.stringify(g)}]`;for(let u of f.raices){let v=u.split("-");for(let E=1;E<v.length;E++){let R=v.slice(0,E).join("-"),L=p.get(R);L!==void 0&&L!==g&&r.push({path:w,code:"ext-roots-overlap",params:{root:u,other:R,package:g,otherPackage:L}})}let k=h.get(u);k!==void 0&&k.paquete!==g&&r.push({path:w,code:"ext-roots-overlap",params:{root:u,other:k.raiz,package:g,otherPackage:k.paquete}})}for(let u of f.raices){p.has(u)||p.set(u,g);let v=u.split("-");for(let k=1;k<v.length;k++){let E=v.slice(0,k).join("-");h.has(E)||h.set(E,{raiz:u,paquete:g})}}});let t=new Map;for(let[,g]of o)for(let[b,m]of Object.entries(g.components??{}))t.set(b,new Set(Object.keys(re(m?.tokens)?m.tokens:{})));for(let[g,b]of Object.entries(n.themes))for(let[m,x]of Object.entries(b.components??{})){let f=`themes.${g}.components.${m}`,w=t.get(m);if(!w){let u=ct(m,t.keys());r.push({path:f,code:"theme-component-unknown",params:{slug:m,...u&&{suggestion:u}}});continue}for(let[u,v]of Object.entries(x))if(w.has(u))Be(r,()=>we(`${f}.${u}`,v));else{let k=ct(u,w);r.push({path:`${f}.${u}`,code:"theme-component-token-unknown",params:{slug:m,key:u,...k&&{suggestion:k}}})}}return r}var ao={success:"#16A34A",warning:"#D97706",info:"#2563EB",danger:"#D42424"},ro={"2xs":"160px",xs:"200px",sm:"240px",md:"280px",lg:"340px",xl:"400px"};function Pa(e){let n=e.lastIndexOf("/");return n===-1?{name:e,group:"root"}:{name:e.slice(n+1),group:e.slice(0,n)}}function $e(e,n={}){let s=Object.entries(e.themes).map(([t,g])=>{let{name:b,group:m}=Pa(t);return{name:b,group:m,def:g}}),o=Object.fromEntries(s.flatMap(t=>Object.entries(t.def.colors??{}))),a={...e.defaultStates};for(let[t,g]of Object.entries(ao))Object.hasOwn(a,t)||(a[t]=g);let r=a,l={...e.fonts??{}},i=e.gridMins??ro,c=Ia(n,e,{userColors:o,userStates:r,userGridMins:i});kn(c);let{userScales:d,userUtilities:p}=Oa(e,o,r,i,Ln(n),hn(n)),h=s.some(t=>!t.def.locked&&Object.values(t.def.density??{}).some(g=>g&&Object.keys(g).length>0));return{themeEntries:s,userColors:o,defaultStates:a,userStates:r,userFonts:l,userGridMins:i,userScales:d,userUtilities:p,themeChangesDensity:h}}function lo(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 a=/^<([A-Za-z][\w.:-]*)/.exec(e.slice(s,s+80));if(!a||/[A-Za-z0-9_$)\]]/.test(e[s-1]??""))continue;let r=0,l="";for(let i=s+a[0].length;i<e.length;i++){let c=e[i];if(l)c==="\\"?i++:c===l&&(l="");else if(c==='"'||c==="'"||c==="`"&&r>0)l=c;else if(c==="{")r++;else if(c==="}")r--;else if(c===">"&&r<=0)return i<n?null:{nombre:a[1],desde:s,hasta:i+1}}return{nombre:a[1],desde:s,hasta:e.length}}return null}var Hc=e=>/^[A-Z]/.test(e);function Na(e,n){let s=n instanceof Set?n:new Set(n),o=[];for(let a of e.matchAll(/class="([^"]*)"/g)){let r=a[1].split(/\s+/).filter(Boolean),l=e.slice(0,a.index).split(`
3214
- `).length,i=lo(e,a.index);if(!(i&&Hc(i.nombre))){if(r.includes("ts")){for(let c of r){let[,d="",p]=/^(@?[a-z0-9]+:)?(.*)$/.exec(c);p.startsWith("ts-")&&o.push({clase:c,l\u00EDnea:l,sugerencia:`en scope no lleva \`ts-\`: \`${d}${p.slice(3)}\``})}continue}for(let c of r){let d=c.replace(/^@?[a-z0-9]+:/,"");s.has(d)&&o.push({clase:c,l\u00EDnea:l})}}}return o}function La(e,n){let s={planas:[],variantes:[],componentes:[]};if(e===void 0)return s;if(!Array.isArray(e))throw D("safelist",{code:"safelist-not-list",params:{}});let o=[...n.vocabulario,...n.tonos??[]],a=new Set(o),r=[];return e.forEach((l,i)=>{Be(r,()=>{let c=`safelist[${i}]`;if(typeof l!="string"||l.trim()==="")throw D(c,{code:"safelist-entry-empty",params:{}});let[,d,p]=/^((?:@?[a-z0-9][a-z0-9-]*(?:\/[a-z][a-z0-9-]*)?:)*)(.*)$/.exec(l),h=`${c} (${JSON.stringify(l)})`;if(d){let g=Ct(d.match(/[^:]+:/g),n.prefijos);if(!g.ok&&g.motivo==="desconocido"){let b=ct(g.prefijo,n.prefijos.keys());throw D(h,{code:"safelist-unknown-prefix",params:{prefix:g.prefijo,...b&&{suggestion:b}}})}if(!g.ok&&g.motivo==="data-ts")throw D(h,{code:"safelist-data-ts",params:{prefix:g.prefijo}});if(!g.ok&&g.canonica)throw D(h,{code:"safelist-out-of-order",params:{suggestion:g.canonica.join("")+p}});if(!g.ok)throw D(h,{code:"safelist-invalid-chain",params:{}})}if(p.includes(":"))throw D(h,{code:"safelist-misplaced-colon",params:{}});if(p.startsWith("ts-")){let{sugerencia:g}=Na(`class="ts ${l}"`,[])[0]??{},b=g?.slice(g.lastIndexOf(": `")+3,-1);throw D(h,{code:"safelist-legacy-prefix",params:b!==void 0?{suggestion:b}:{}})}let t=p.indexOf("*");if(t!==-1){if(t!==p.length-1)throw D(h,{code:"safelist-star-not-last",params:{}});let g=p.slice(0,-1),b=g?o.filter(m=>m.startsWith(g)):[];if(b.length===0){let m=new Set(o.flatMap(f=>[...f.matchAll(/-/g)].map(w=>`${f.slice(0,w.index+1)}*`))),x=ct(p,m);throw D(h,{code:"safelist-family-empty",params:x?{suggestion:x}:{}})}(d?s.variantes:s.planas).push(...b.map(m=>d+m));return}if(d&&n.componentes.includes(p))throw D(h,{code:"safelist-component-variant",params:{}});if(n.modificadores?.has(p)&&!a.has(p)){if(d)throw D(h,{code:"safelist-modifier-variant",params:{}});s.planas.push(l)}else if(a.has(p))(d?s.variantes:s.planas).push(l);else if(n.componentes.includes(p))s.componentes.push(p);else{let g=[...o,...n.componentes].map(m=>d+m),b=ct(l,g);throw D(h,{code:"safelist-unknown",params:b?{suggestion:b}:{}})}})}),kn(r),s}var ke="Copyright (c) 2026 Pablo Di Filippo. Licencia MIT (ver LICENSE).";function Sn(e,n=$e(e),s={}){let o=Ln(s),a=hn(s),{userColors:r,userStates:l,userGridMins:i,userScales:c,userUtilities:d,themeChangesDensity:p}=n,h=Ae(r,l),t=li(e.darkMode,c),g=Zt(h,i,c),b=Nt(c)+a.utilities,m=ae(r,l,c,p)+a.components,x=St([g,b,m].flatMap(O=>at(O).map(A=>A.name))),f=[g,b,m].flatMap(O=>at(O).map(A=>A.name.replaceAll("\\",""))),w=new Set;for(let O of f)gt(O)||w.add(O);for(let O of x.values())w.add(O);let u=Jt(c.screens),v=Object.keys(d).filter(O=>!At(O)),k=Ti(d),E=O=>w.has(`ts-${O}`)||Object.hasOwn(d,O)&&!At(O),{atomicas:R,componentes:L,esComponente:J}=so(o,g,b,x),H=O=>!Object.hasOwn(d,O)&&J(O),T=[...w].map(O=>O.slice(3)),I=[...T,...v],N=Nn(d),X=[...new Set([...m.matchAll(/^ {2}&\.(variant-[A-Za-z0-9-]+?-\d+) \{$/gm)].map(O=>O[1]))];return{manifiesto:o,userScales:c,tonos:X,userUtilities:d,cadenasPropias:N,modificadoresPropios:k,reset:t,atomic:g,utilities:b,components:m,alias:x,prefijos:u,esUtilidad:E,atomicas:R,componentes:L,esComponente:H,nombresCortos:T,vocabulario:I}}function Fa(e,n,s,o={}){let a=Object.keys(s.userUtilities).filter(l=>!At(l)),r=[];if(Object.keys(e.extend??{}).length){let l=new Set(Sn(e,{...n,userScales:U,userUtilities:{}},o).nombresCortos);r=s.nombresCortos.filter(i=>!l.has(i))}return[...r,...a]}function Va(e){let n=_a.get(e);if(!n){let s=r=>ct(r,e.prefijos.keys()),o=Object.keys(e.manifiesto.componentes).sort((r,l)=>l.length-r.length),a=new Map;for(let[r,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)])a.set(c,r);n={sugerir:s,slugsLargosPrimero:o,dueno:a},_a.set(e,n)}return n}var _a=new WeakMap,co=(e,n)=>{let s=JSON.stringify(n);e.has(s)||e.set(s,n)};function po(e,n,s,o){let{prefijos:a,esUtilidad:r,esComponente:l,vocabulario:i,cadenasPropias:c}=e,{sugerir:d,slugsLargosPrimero:p,dueno:h}=Va(e),t=new Set,g=new Set,b=new Map,m=f=>co(b,{...f,file:n}),x=new Set;for(let{variantes:f,base:w}of da(s,o)){let u=f.join("")+w;if(f.length===1&&f[0]==="class:"){g.add(w);continue}let v=Ct(f,a);if(l(w)&&(v.ok||v.motivo!=="desconocido")){m({code:"variant-on-component",params:{class:u,variants:[...f],component:w}});continue}if(r(w))if(v.ok){let k=c.get(w),E=k&&oe(f,k,a).find(R=>!R.ok);E&&!E.ok?m({code:"invalid-composition",params:Pe(u,w,f,E)}):t.add(u)}else if(v.motivo==="data-ts")m({code:"data-ts-variant",params:{class:u}});else if(v.motivo==="desconocido"){let k=d(v.prefijo);m({code:"unknown-prefix",params:{prefix:v.prefijo,class:u,...k&&{suggestion:k}}})}else v.canonica?m({code:"out-of-order",params:{class:u,suggestion:v.canonica.join("")+w}}):m({code:"invalid-chain",params:{class:u}})}for(let f of s){if(f==="markInvalid")for(let w of["input-hint","input-footer","icon","icon-14"])g.add(w);if(f.startsWith("data-ts-")){let w=f.slice(8),u=p.find(v=>w===v||w.startsWith(`${v}-`));u&&x.add(u)}if(f.endsWith("{")){o&&f==="variant-{"&&g.add(f);let w=f.slice(0,-1).split(":").pop();i.some(u=>u.length>w.length&&u.startsWith(w))&&m({code:"runtime-class",params:{fragment:w}})}else if(o){let w=f.replace(/^[./]+|[./:]+$/g,"");w&&!w.includes(":")&&g.add(w)}}if(o)for(let f of g){let w=h.get(f);w&&x.add(w)}return{variantes:[...t],planas:[...g],warnings:[...b.values()],enteros:[...x]}}function Zn(e,n,s,o){let{prefijos:a,vocabulario:r}=e,{dueno:l}=Va(e),i=new Set,c=new Set,d=new Map;n.scope!==void 0&&co(d,{code:"scope-option",params:{}});let p=La(n.safelist,{vocabulario:r,modificadores:new Set([...e.modificadoresPropios.values()].flat()),prefijos:a,componentes:Object.keys(e.manifiesto.componentes),tonos:e.tonos});if(o){for(let g of p.variantes)i.add(g);for(let g of p.planas)c.add(g)}let h=new Set(p.componentes);for(let g of s){for(let b of g.variantes)i.add(b);for(let b of g.planas)c.add(b);for(let b of g.warnings)co(d,b);for(let b of g.enteros)h.add(b)}let t=new Set;if(o){for(let g of p.planas){let b=l.get(g);b&&h.add(b)}for(let g of h){let b=e.manifiesto.componentes[g];for(let m of[...b.bloques,...b.runtime])t.add(`ts-${m}`)}}return{variantes:i,planas:c,warnings:[...d.values()],forzadas:t,enteros:h}}function Ua(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 uo(e,n,s={}){let o=Ua(n);return Wa(Sn(e,$e(e,s.extensions),s.extensions),e,o,s)}function Wa(e,n,s,o={}){let{cache:a}=o,r=o.copyright??ke,l=o.onDemand??!1,i=Ua(s),c=i.map(b=>{let m=b.hash!==void 0?a?.get(b.hash):void 0;return m||(m=Ve(b.content),b.hash!==void 0&&a&&!a.has(b.hash)&&a.set(b.hash,m)),po(e,b.file,m,l)}),{variantes:d,planas:p,warnings:h,forzadas:t}=Zn(e,n,c,l);return{css:`/* TaishoDS \u2014 ${r} */
3215
- `+pa({reset:e.reset,atomic:e.atomic,utilities:e.utilities,components:e.components,variantesUsadas:d,usadas:l?p:void 0,forzadas:t,varsDelProyecto:l?new Set(qs(i)):void 0,scales:e.userScales,userUtilities:e.userUtilities}),variants:[...d],warnings:h}}import go from"node:fs";import Xn from"node:path";import{createRequire as Ha}from"node:module";import{inflateSync as Gc}from"node:zlib";var Jc={" ":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 Zc(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 r=n.getUint16(12);for(let l=0;l<r;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),p=n.getUint32(i+8),h=n.getUint32(i+12),t=e.subarray(d,d+p),g=p<h?new Uint8Array(Gc(t)):t;o.set(c,new DataView(g.buffer,g.byteOffset,g.byteLength))}return o}if(s==="wOF2")throw new Error("WOFF2 no soportado: se usa el .woff o el .ttf");let a=n.getUint16(4);for(let r=0;r<a;r++){let l=12+r*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 Kc(e){let n=e.getUint16(2),s=-1;for(let c=0;c<n;c++){let d=e.getUint16(4+c*8),p=e.getUint16(6+c*8),h=e.getUint32(8+c*8);if(e.getUint16(h)===4&&(d===0||d===3&&p===1)){s=h;break}}if(s<0)throw new Error("la fuente no trae una cmap formato 4");let o=e.getUint16(s+6),a=s+14,r=a+o+2,l=r+o,i=l+o;return c=>{for(let d=0;d<o;d+=2){if(c>e.getUint16(a+d))continue;let p=e.getUint16(r+d);if(c<p)return 0;let h=e.getInt16(l+d),t=e.getUint16(i+d);if(t===0)return c+h&65535;let g=e.getUint16(i+d+t+(c-p)*2);return g===0?0:g+h&65535}return 0}}function Ba(e){let n=Zc(e),s=n.get("head"),o=n.get("hhea"),a=n.get("hmtx"),r=n.get("cmap");if(!s||!o||!a||!r)throw new Error("faltan tablas (head, hhea, hmtx o cmap)");let l=o.getUint16(34),i=h=>a.getUint16(4*Math.min(h,l-1)),c=Kc(r),d=0,p=0;for(let[h,t]of Object.entries(Jc)){let g=c(h.codePointAt(0));g&&(d+=i(g)*t,p+=t)}return{unitsPerEm:s.getUint16(18),ascent:o.getInt16(4),descent:o.getInt16(6),lineGap:o.getInt16(8),anchoMedio:d/p}}var Xc={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}}},Yc={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 Qc(e,n,s,o,a="normal"){try{let l=go.readFileSync(e.resolve(`${n}/${o}${a==="italic"?"-italic":""}.css`),"utf8").split("/*").find(c=>c.includes(`-${s}-${o}-${a} */`)),i=l&&/unicode-range:\s*([^;]+);/.exec(l)?.[1].trim();if(i)return i}catch{}return Yc[s]}var Kn=e=>`${(Math.round(e*1e4)/100).toFixed(2)}%`;function td(e,n,s,o){let a=Xc[s?"mono":"sans"],r=n.anchoMedio/n.unitsPerEm/(a.m.anchoMedio/a.m.unitsPerEm);return{familia:e,local:o?`${a.local} Italic`:a.local,sizeAdjust:Kn(r),ascent:Kn(n.ascent/n.unitsPerEm/r),descent:Kn(Math.abs(n.descent)/n.unitsPerEm/r),lineGap:Kn(n.lineGap/n.unitsPerEm/r),...o&&{estilo:o}}}function mo(e,n){let s=Ha(Xn.join(n,"package.json")),o=[];for(let a of e)for(let r of a.styles??["normal"])try{let l=r==="italic"?"-italic":"",i=[...a.weights].sort((x,f)=>Math.abs(x-400)-Math.abs(f-400))[0],c=a.subsets[0],d=s.resolve(`${a.source}/${c}-${i}${l}.css`),p=go.readFileSync(d,"utf8"),h=/font-family:\s*['"]([^'"]+)['"]/.exec(p)?.[1],t=/url\(([^)]+\.woff)\)/.exec(p)?.[1],g=a.subsets.map(x=>Qc(s,a.source,x,i,r));if(!h||!t)continue;let b=Ba(new Uint8Array(go.readFileSync(Xn.resolve(Xn.dirname(d),t)))),m=td(h,b,/mono/i.test(h)||/mono/i.test(a.source),r==="italic"?"italic":void 0);g.every(Boolean)&&(m.unicodeRange=g.join(", ")),o.push(m)}catch{}return o}function fo(e,n){let s=Ha(Xn.join(n,"package.json"));e.forEach((o,a)=>{if(o.styles?.includes("italic"))for(let r of o.subsets)for(let l of o.weights)try{s.resolve(`${o.source}/${r}-${l}-italic.css`)}catch{throw D(`fontFaces[${a}].styles`,{code:"font-italic-missing",params:{source:o.source,subset:r,weight:l}})}})}import ho from"fs";import Ga from"path";function bo(e,n){let s=Ga.join(e,"icons");if(!ho.existsSync(s))return{};let o=i=>(ho.readFileSync(Ga.join(s,`${i}.svg`),"utf-8").match(/<svg[^>]*>([\s\S]*?)<\/svg>/)?.[1]??"").replace(/\s+/g," ").trim(),a=ho.readdirSync(s).filter(i=>i.endsWith(".svg")).map(i=>i.slice(0,-4)).filter(i=>!n[i]).sort();if(a.length===0)return{};let r=new Map;for(let i of Object.keys(n).sort()){let c=o(i);r.has(c)||r.set(c,i)}let l={};for(let i of a){let c=r.get(o(i));c&&(l[i]=c)}return l}var Ja=(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 ed=[[/^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)=>`${le(n)}. ${le(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}. ${le(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"]],Za={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 le(e){for(let[n,s]of ed){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 Ka(e){let n=o=>Object.fromEntries([...new Set(o)].sort().map(a=>[a,le(a)])),s=[...new Set(e.filas.map(o=>o.familia))].sort();for(let o of s)if(!Za[o])throw new Error(`tailwind-map-en: falta el ingl\xE9s de la familia \xAB${o}\xBB`);return{unidades:le(e.unidades),coloresNota:le(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,Za[o]]))}}var ce=e=>e.map(n=>`"${n}"`).join(", "),Xa=e=>new Intl.ListFormat("en",{type:"conjunction"}).format(e),He=e=>e?` \xBFSe quiso decir "${e}"?`:"",Ge=e=>e?` Did you mean "${e}"?`:"",Ya="at most one context, one print, one group or peer, and one state, in that order, and 3 segments",nd={"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 ${Ie}.`,"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}").${He(e.suggestion)}`,"out-of-order":e=>`"${e.class}" est\xE1 fuera de orden y no se emite.${He(e.suggestion)}`,"invalid-chain":e=>`"${e.class}" no se emite: la cadena admite ${Ie}.`,"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=>Ja(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=>ui(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.${He(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.${He(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.${He(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.${He(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.`},sd={"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 ${Ya}.`,"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}").${Ge(e.suggestion)}`,"out-of-order":e=>`"${e.class}" is out of order and isn't emitted.${Ge(e.suggestion)}`,"invalid-chain":e=>`"${e.class}" isn't emitted. A chain allows ${Ya}.`,"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.${Ge(e.suggestion)}`,"class-without-equivalent":e=>`"${e.class}" is a name from another framework with no DS equivalent, so it isn't emitted: ${od(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.${Ge(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.${Ge(e.suggestion)}`,"modifier-with-variant":e=>`"${e.class}" isn't emitted. "${e.modifier}" is a modifier of ${Xa(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 ${Xa(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.${Ge(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 od(e){try{return le(e).replace(/[’‘]/g,"'").replace(/[“”]/g,'"')}catch{return e}}var id={es:nd,en:sd};function yo(e,n){return id[n][e.code](e.params)}function Yn(e,n){return(e.file===void 0?"":e.line===void 0?`${e.file}: `:`${e.file}:${e.line}: `)+yo(e,n)}var Je="src/icons";var ad="4.x",rd=16;var tr=["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"],zn=e=>e==="px"?1:Number(e)*4;function er(e){let n=/^(.+)-(\d+(?:\.5)?)$/.exec(e);return!n||!tr.includes(n[2])||n[2]==="0"||!nr.some(([s])=>s===n[1])?null:zn(n[2])}var pe="lado l\xF3gico: sigue el sentido de lectura (RTL); el de Tailwind es f\xEDsico",nr=[["p","p"],["px","px"],["py","py"],["pt","pt"],["pb","pb"],["ps","ps"],["pe","pe"],["pl","ps",pe],["pr","pe",pe],["m","m"],["mx","mx"],["my","my"],["mt","mt"],["mb","mb"],["ms","ms"],["me","me"],["ml","ms",pe],["mr","me",pe],["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",pe],["right","end",pe],["w","w"],["h","h"],["size","size"],["min-w","min-w"],["min-h","min-h"],["max-w","max-w"],["max-h","max-h"]],Qn={none:0,xs:2,sm:4,md:6,lg:8,xl:12,"2xl":16,"3xl":24,"4xl":32,full:9999},ld={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},cd={thin:100,extralight:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},dd={tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},pd=["3","4","5","6","7","8","9","10"],ud={none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2"},gd=["0","5","10","15","20","25","30","35","40","45","50","55","60","65","70","75","80","85","90","95","100"],md=["0","10","20","30","40","50","auto"],fd=["75","100","150","200","300","500","700","1000"],hd={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)"},bd={xs:4,sm:8,md:12,lg:16,xl:24,"2xl":40,"3xl":64},yd=["2xs","xs","sm","md","lg","xl","2xl"],vd={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},xd=[...["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",pe],["mr-auto","me-auto","medidas",pe],["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()],wd=["white","black","transparent","current","inherit"],vo=["slate","gray","zinc","neutral","stone","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],xo=["50","100","200","300","400","500","600","700","800","900","950"],Qa=[{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)"}],$d=[{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"}];function de(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 sr(e){let{vigentes:n,esc:s,familias:o}=e,a=[],r=new Map,l=(m,...x)=>{let f=r.get(m)??[];f.push(...x),r.set(m,f)},i=m=>{if(!n.has(m))return"no est\xE1 emitida";let x=xa(m,s,o);return x.length?x.map(f=>f.detalle).join("; "):null},c=(m,x,f,w,u,v,k)=>{let E=i(x);if(E)return l(v??`la clase de TaishoDS ${E}`,m);a.push({tailwind:m,taisho:x,scope:x.slice(3),familia:f,exacta:w,...k!==void 0?{px:k}:{},...u?{nota:u}:{}})};for(let m of tr){let x=zn(m);for(let[f,w,u]of nr){let v=`${f}-${m}`;if(!(String(x)in be)){l(`${x}px no est\xE1 en la escala de medidas (sizing)`,v);continue}if(i(`ts-${w}-${x}`)===null){c(v,`ts-${w}-${x}`,"medidas",!0,u,void 0,x);continue}let k=Object.keys(ee).find(R=>de(ee[R])===x),E=k&&`ts-${w}-${k}`;if(E&&i(E)===null)c(v,E,"medidas",k==="none",[u,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,x);else{let R=Object.keys(ee).filter(L=>i(`ts-${w}-${L}`)===null).map(L=>`${L} ${de(ee[L])}px`);l(R.length?`${w}: no hay clase en px; s\xF3lo los pasos de ritmo (${R.join(", ")}), y ninguno vale lo mismo que ese paso de Tailwind`:`${w}: no hay clase en px ni paso de ritmo para este prefijo`,v)}}}for(let m of["1","2","4","8"]){let x=zn(m);c(`-m-${m}`,`ts-m-neg-${x}`,"medidas",!0,void 0,"m\xE1rgenes negativos (`-m-*`): la gram\xE1tica los define (`m-neg-N`) pero el generador no los emite",x)}for(let[m,x]of Object.entries(Qn)){let f=Object.keys(Vt).find(w=>de(Vt[w])===x);f?m==="full"?c(`rounded-${m}`,`ts-radius-${f}`,"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-${m}`,`ts-radius-${f}`,"radio",!0,m===f?void 0:`el nombre cambia: ${m} es ${x}px y en TaishoDS es ${f}`):l(`${x}px no est\xE1 en la escala de radios`,`rounded-${m}`)}let d=Object.keys(Vt).find(m=>de(Vt[m])===Qn.sm);d?c("rounded",`ts-radius-${d}`,"radio",!0,`el nombre cambia: rounded es ${Qn.sm}px y en TaishoDS es ${d}`):l(`${Qn.sm}px no est\xE1 en la escala de radios`,"rounded");for(let[m,x]of Object.entries(ld)){let f=Re[String(x)];if(f===void 0){l(`${x}px no est\xE1 en la escala de texto (${Object.keys(Re).join(", ")})`,`text-${m}`);continue}let w=de(f)===x,u="Tailwind fija tambi\xE9n el interlineado; en TaishoDS es `ts-leading-*` o el compuesto `ts-type-copy-N`";c(`text-${m}`,`ts-text-${x}`,"tama\xF1o de texto",!1,w?u:`fluido: crece con el viewport hasta ${x}px. ${u}`)}for(let[m,x]of Object.entries(cd)){let f=Object.keys(Oe).find(w=>Number(Oe[w])===x);f?c(`font-${m}`,`ts-weight-${f}`,"peso",!0):l(`peso ${x} no est\xE1 en la escala`,`font-${m}`)}for(let[m,x]of Object.entries(dd)){let f=Object.keys(he).find(w=>he[w]===x);f?c(`tracking-${m}`,`ts-tracking-${f}`,"tracking",!0):l(`${x} no est\xE1 en la escala de tracking`,`tracking-${m}`)}for(let m of pd){let x=zn(m),f=Object.keys(De).find(w=>de(De[w])===x);f?c(`leading-${m}`,`ts-leading-${f}`,"interlineado",!0,`en TaishoDS el n\xFAmero es el tama\xF1o de texto al que acompa\xF1a (${f}), no los px: el interlineado es ${x}px`):l(`interlineado de ${x}px no est\xE1 en la escala`,`leading-${m}`)}for(let[m,x]of Object.entries(ud))["none","tight"].includes(m)?c(`leading-${m}`,`ts-leading-${m}`,"interlineado",!0,`${x} sin unidad`):l("interlineado sin unidad: s\xF3lo existen `none` y `tight`",`leading-${m}`);for(let m of gd){let x=Object.keys(Ht).find(f=>Number(Ht[f])===Number(m)/100);x?c(`opacity-${m}`,`ts-opacity-${x}`,"opacidad",!0):l(`opacidad ${m} no est\xE1 en la escala (${Object.keys(Ht).filter(f=>/^\d+$/.test(f)).join(", ")})`,`opacity-${m}`)}for(let m of md)c(`z-${m}`,`ts-z-${m}`,"z-index",!0);for(let m of fd){let x=Object.keys(Ut).find(f=>Ut[f]===`${m}ms`);x?c(`duration-${m}`,`ts-duration-${x}`,"movimiento",!0,`el nombre cambia: ${m}ms es ${x}`):l(`${m}ms no est\xE1 en la escala de duraciones`,`duration-${m}`)}for(let[m,x]of Object.entries(hd)){let f=Object.keys(Wt).find(w=>Wt[w]===x);f?c(`ease-${m}`,`ts-ease-${f}`,"movimiento",!0):l("esa curva de easing no est\xE1 en la escala",`ease-${m}`)}for(let[m,x]of Object.entries(bd)){let f=Object.keys(ne).find(w=>de(ne[w])===x);if(f){let w=m===f?void 0:`el nombre cambia: blur-${m} es ${x}px y en TaishoDS es ${f}`;c(`blur-${m}`,`ts-blur-${f}`,"blur",!0,w),c(`backdrop-blur-${m}`,`ts-backdrop-blur-${f}`,"blur",!0,w)}else l(`blur de ${x}px no est\xE1 en la escala`,`blur-${m}`,`backdrop-blur-${m}`)}c("shadow-none","ts-shadow-none","sombra",!0);for(let m of yd)m in ye?c(`shadow-${m}`,`ts-shadow-${m}`,"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-${m}`);for(let[m,x,f,w,u=!0]of xd)c(m,`ts-${x}`,f,u,w,"la clase de TaishoDS no est\xE1 emitida (su vocabulario es m\xE1s corto que el de Tailwind)");for(let m of wd)i(`ts-bg-${m}`)===null?c(`bg-${m}`,`ts-bg-${m}`,"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-${m}`,`text-${m}`);let p=[];for(let[m,x]of Object.entries(vd))de(cn[m]??"")===x?p.push({tailwind:`${m}:`,taisho:`${m}:`,px:x}):l(`el corte ${m} no est\xE1 en las pantallas del Core; se agrega con extend.screens`,`${m}:*`);let h=[...new Set([...n].flatMap(m=>/^ts-bg-[a-z]+-(\d+)$/.exec(m)?.[1]??[]))],t=vo.filter(m=>o.includes(m)),g=xo.filter(m=>h.includes(m));for(let m of Qa)for(let x of t)for(let f of g){let w=`ts-${m.taisho}-${x}-${f}`,u=i(w);if(u)throw new Error(`tailwind-map: ${m.tailwind}-${x}-${f} \u2192 ${w} ${u}`)}let b={tailwind:ad,unidades:`En Tailwind el n\xFAmero de una medida es un paso de ${zn("1")}px (w-64 = 16rem = 256px con 1rem = ${rd}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:a,variantes:p,colores:{prefijos:Qa,familiasCompartidas:t,familiasSoloTailwind:vo.filter(m=>!o.includes(m)),familiasSoloTaisho:o.filter(m=>!vo.includes(m)),escalonesCompartidos:g,escalonesSoloTailwind:xo.filter(m=>!h.includes(m)),escalonesSoloTaisho:h.filter(m=>!xo.includes(m)),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:[...[...r].map(([m,x])=>({clases:x,motivo:m})),...$d]};return{...b,en:Ka(b)}}function kd(e){let n=[];for(let s=e.indexOf(`
3212
+ `,n}var lt={t:"espaciado"},Qt={t:"espaciado",neg:!0,auto:!0},Sn={t:"px"},ze={t:"color",ancho:!0,anchoSolo:!0,extra:["none","transparent","0"]},te=e=>({regla:"fisico",sucesor:e}),$a={m:{prop:"margin",valor:Qt},mx:{prop:"margin-inline",valor:Qt},my:{prop:"margin-top + margin-bottom",valor:Qt},mt:{prop:"margin-top",valor:Qt},mb:{prop:"margin-bottom",valor:Qt},ms:{prop:"margin-inline-start",valor:Qt},me:{prop:"margin-inline-end",valor:Qt},ml:{prop:"margin-left",valor:Qt,legado:te("ms")},mr:{prop:"margin-right",valor:Qt,legado:te("me")},p:{prop:"padding",valor:lt},px:{prop:"padding-inline",valor:lt},py:{prop:"padding-top + padding-bottom",valor:lt},pt:{prop:"padding-top",valor:lt},pb:{prop:"padding-bottom",valor:lt},ps:{prop:"padding-inline-start",valor:lt},pe:{prop:"padding-inline-end",valor:lt},pl:{prop:"padding-left",valor:lt,legado:te("ps")},pr:{prop:"padding-right",valor:lt,legado:te("pe")},gap:{prop:"gap",valor:lt},"gap-x":{prop:"column-gap",valor:lt},"gap-y":{prop:"row-gap",valor:lt},inset:{prop:"inset",valor:Sn},"inset-x":{prop:"inset-inline",valor:lt},"inset-y":{prop:"top + bottom",valor:lt},top:{prop:"top",valor:lt},bottom:{prop:"bottom",valor:lt},start:{prop:"inset-inline-start",valor:lt},end:{prop:"inset-inline-end",valor:lt},left:{prop:"left",valor:lt,legado:te("start")},right:{prop:"right",valor:lt,legado:te("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:Sn},"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:Sn},"translate-y":{prop:"transform: translateY",valor:Sn},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:ze},"border-b":{prop:"border-bottom",valor:ze},"border-s":{prop:"border-inline-start",valor:ze},"border-e":{prop:"border-inline-end",valor:ze},"border-r":{prop:"border-right",valor:ze,legado:te("border-e")},"border-l":{prop:"border-left",valor:ze,legado:te("border-s")},outline:{prop:"outline",valor:{t:"color",ancho:!0,extra:["none","transparent"]}},"outline-offset":{prop:"outline-offset",valor:Sn},"outline-focus":{prop:"outline",valor:ze,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:te(`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"}}},Mc=[{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}`}],Ic={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"},Pc=["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 ka(e={}){let n=s=>Object.keys(s);return{radius:[...n(Wt),"full"],blurs:n(ie),shadows:n(ke),screens:n(gn),gridMins:e.gridMins??[],fontSizes:n(qe),lineHeights:n(Ie),letterSpacing:n(we),fontWeights:n(Me),durations:n(Bt),easings:n(Ht),opacities:n(Jt),zIndex:n(Ae),borderWidths:n(un),ritmo:[...new Set([...e.gaps??n(oe),...e.spaces??n($s)])],sizing:n($e)}}function Nc(e){let n;for(let s of Object.keys($a))(e===s||e.startsWith(s+"-"))&&(!n||s.length>n.length)&&(n=s);return n}function io(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 Lc(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(io(n,o,e.extra)||e.anchoSolo&&s.borderWidths.includes(n))return!0;if(!e.ancho)return!1;let a=n.match(/^(\d+)-(.+)$/);return!!a&&s.borderWidths.includes(a[1])&&io(a[2],o,["transparent"])}case"ring-shadow":{let a=n.match(/^([a-z0-9]+)-(.+)$/);return!!a&&s.shadows.includes(a[1])&&io(a[2],o)}}}function Sa(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 a=e.replace(/^ts-/,"");if(/-negative$/.test(a)&&o.push({regla:"negative",detalle:"sufijo -negative; va neg- como prefijo del valor"}),/-important$/.test(a)&&o.push({regla:"important",detalle:"sufijo -important; no va en un nombre p\xFAblico"}),a in Ic||Pc.includes(a))return o;let r=Nc(a);if(!r)return o.push({regla:"prefijo",detalle:"prefijo fuera de la lista cerrada"}),o;let l=$a[r];l.legado&&o.push({regla:l.legado.regla,detalle:`${r} \u2192 ${l.legado.sucesor}`});let i=a.slice(r.length+1);if(r==="text"){let d=Mc.find(p=>p.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 ${r}`})),i===""?o.push({regla:"valor",detalle:`${r} sin valor`}):Lc(l.valor,i,n,s)||o.length||o.push({regla:"valor",detalle:`${i} no es un valor v\xE1lido (${l.valor.t}) para ${r}`}),o}var wa={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"]},Je=["dark"],qt=e=>wa.palabras.includes(e)||wa.prefijos.some(n=>e.startsWith(n+"-"));function _c(e){let n=[[]],s=0,o="",a=()=>{o.trim()&&n[n.length-1].push(o.trim()),o=""};for(let r of e)(r==="("||r==="[")&&s++,(r===")"||r==="]")&&s--,s===0&&r===","?(a(),n.push([])):s===0&&/[\s>+~]/.test(r)?a():o+=r;return a(),n}function Fc(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 za(e,n=zn){let s=e.replace(/\/\*[\s\S]*?\*\//g,l=>l.replace(/[^\n]/g," ")),o=n.map(l=>l.replace(/-/g,"\\-")).join("|"),a=new RegExp(`&|\\.ts-|\\[data-(?:${o})(?:[-\\]=~|^$*])`),r=[];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(`
3213
+ `).length,p=[...s.slice(0,c).matchAll(/^@utility (\S+)/gm)].pop()?.[1]??"(fuera de un @utility)";for(let h of _c(i))for(let t of h){for(let m of t.matchAll(/\.([A-Za-z_][A-Za-z0-9_-]*)/g)){let x=m[1];x.startsWith("ts-")||Je.includes(x)||qt(x)||r.push({selector:i.replace(/\s+/g," "),utility:p,linea:d,motivo:"desconocido"})}let g=Fc(t);[...g.matchAll(/\.([A-Za-z_][A-Za-z0-9_-]*)/g)].map(m=>m[1]).filter(qt).length&&!a.test(g)&&r.push({selector:i.replace(/\s+/g," "),utility:p,linea:d,motivo:"suelto"})}}return r}function ao(e,n,s,o){let a=new Set([n,s].flatMap(i=>it(i).flatMap(c=>{let d=c.name.replaceAll("\\","");return[d.slice(3),(o.get(d)??d).slice(3)]}))),r=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)])r.add(d);return{atomicas:a,componentes:r,esComponente:i=>!a.has(i)&&(r.has(i)||qt(i))}}var ro=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,ja=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,Xn="ts-",Ca=/^\d+(\.\d+)?px$/,jn={regex:/^[1-9]\d{0,2}$/,rango:"1 a 999"},Vc={regex:/^(?:0|[1-9]\d?|100)$/,rango:"0 a 100"},Uc=/^(?:[2-9]?xs|[2-9]xl)$/,q=(e,n)=>new ft([{path:e,...n}]);function Ze(e,n,s){try{n()}catch(o){if(!(o instanceof ft))throw o;e.push(...o.errors),s?.()}}function Cn(e){if(e.length)throw new ft(e)}function je(e,n){if(typeof n!="string")throw q(e,{code:"value-not-string",params:{value:n}});if(n.trim()==="")throw q(e,{code:"empty-value",params:{}});if(/[;{}\\\r\n]|\/\*|\*\//.test(n))throw q(e,{code:"unsafe-value",params:{value:n}})}var Ta=e=>{let n=new Map;for(let s of e)n.set(s,(n.get(s)??0)+1);return n};function Wc(e,n){let s=Array.from({length:n.length+1},(o,a)=>a);for(let o=1;o<=e.length;o++){let a=[o];for(let r=1;r<=n.length;r++)a[r]=Math.min(s[r]+1,a[r-1]+1,s[r-1]+(e[o-1]===n[r-1]?0:1));s=a}return s[n.length]}function ct(e,n){let s=3,o;for(let a of n){if(Math.abs(a.length-e.length)>2)continue;let r=Wc(e,a);r<s?(s=r,o=a):r===s&&(o=void 0)}return o}var Ea=["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"],Bc={sizing:"extend.sizing"},Ra=["screens","radius","fontSizes","lineHeights","letterSpacing","fontWeights","borderWidths","blurs","opacities","shadows"],Oa={spacing:["gaps","spaces"],motion:["durations","easings"]},Da=["zIndex","motion.loops","motion.iterations"],Aa=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function Hc(e,n){let s={};if(e===void 0)return s;if(!Aa(e))return n(()=>{throw q("extend",{code:"extend-shape-invalid",params:{expected:"object",value:e}})}),s;let o=(r,l,i)=>{let c=i==="list"?Array.isArray(l):Aa(l);return c||n(()=>{throw q(r,{code:"extend-shape-invalid",params:{expected:i,value:l}})}),c},a=["sizing",...Ra,...Object.keys(Oa)];for(let[r,l]of Object.entries(e)){if(r==="sizing"){o("extend.sizing",l,"list")&&(s.sizing=l);continue}if(Ra.includes(r)){o(`extend.${r}`,l,"object")&&(s[r]=l);continue}let i=Oa[r];if(i){if(!o(`extend.${r}`,l,"object"))continue;let c={};for(let[d,p]of Object.entries(l)){let h=`extend.${r}.${d}`;if(i.includes(d)){o(h,p,"object")&&(c[d]=p);continue}n(()=>{if(Da.includes(`${r}.${d}`))throw q(h,{code:"extend-key-excluded",params:{key:`${r}.${d}`}});let t=ct(d,i);throw q(h,{code:"extend-key-unknown",params:{key:d,...t&&{suggestion:t}}})})}s[r]=c;continue}n(()=>{if(Da.includes(r))throw q(`extend.${r}`,{code:"extend-key-excluded",params:{key:r}});let c=ct(r,a);throw q(`extend.${r}`,{code:"extend-key-unknown",params:{key:r,...c&&{suggestion:c}}})})}return s}var qa={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 Gc(e,n,s,o){let a=`themes.${e}`;for(let l of Object.keys(n))o(()=>{if(Ea.includes(l))return;let i=Bc[l],c=i?void 0:ct(l,Ea);throw q(`${a}.${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 q(`${a}.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=ct(c,i);throw q(`${a}.${l}.${c}`,{code:"theme-key-unknown",params:{key:c,...d&&{suggestion:d}}})});for(let{ruta:l,de:i,nombres:c,extendRuta:d,tipo:p}of s)for(let[h,t]of Object.entries(i(n)??{}))o(()=>{let g=`${a}.${l}.${h}`;if(!c.includes(h))throw q(g,{code:"theme-name-unknown",params:{scale:l,name:h,...d&&{extendPath:d}}});if(je(g,t),p&&!qa[p](t.trim()))throw q(g,{code:"value-type-invalid",params:{kind:p,value:t}})});for(let l of["comfortable","compact"]){let i=n.density?.[l]??{};for(let[c,d]of Object.entries(i)){let p=`${a}.density.${l}.${c}`;if(l==="compact"&&c==="spacing"){for(let[h,t]of Object.entries(d??{})){if(h!=="gaps"&&h!=="spaces"){let g=ct(h,["gaps","spaces"]);o(()=>{throw q(`${p}.${h}`,{code:"theme-key-unknown",params:{key:h,...g&&{suggestion:g}}})});continue}for(let[g,b]of Object.entries(t??{}))o(()=>{let m=`${p}.${h}.${g}`;if(!Object.hasOwn(De,g))throw q(m,{code:"theme-name-unknown",params:{scale:`density.compact.spacing.${h}`,name:g}});je(m,b)})}continue}if(!Object.hasOwn(Gt,c)){o(()=>{throw q(p,{code:"theme-name-unknown",params:{scale:`density.${l}`,name:c}})});continue}for(let[h,t]of Object.entries(d??{}))o(()=>{let g=`${p}.${h}`;if(!Object.hasOwn(Gt[c][l],h))throw q(g,{code:"theme-name-unknown",params:{scale:`density.${l}.${c}`,name:h}});if(typeof t!="number"||!Number.isFinite(t)||t<0)throw q(g,{code:"value-type-invalid",params:{kind:"px",value:t}})})}}let r=[...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 r)i!==void 0&&o(()=>je(`${a}.${l}`,i))}function Ma(e,n,s,o,a,r={components:"",utilities:""}){let l=[],i=(y,z)=>Ze(l,y,z);i(()=>{if(e.scope!==void 0&&e.scope!=="ts")throw q("scope",{code:"scope-invalid",params:{value:e.scope}});if(e.darkMode!==void 0&&e.darkMode!=="class"&&e.darkMode!=="media")throw q("darkMode",{code:"dark-mode-invalid",params:{value:e.darkMode}})}),i(()=>{if(e.out!==void 0&&(typeof e.out!="string"||e.out.trim()===""))throw q("out",{code:"out-invalid",params:{value:e.out}})}),i(()=>{if(e.iconsHtmlDirs!==void 0)throw q("iconsHtmlDirs",{code:"icons-html-dirs-removed",params:{}})}),(e.fontFaces??[]).forEach((y,z)=>{i(()=>{if(!(y.styles===void 0||Array.isArray(y.styles)&&y.styles.length>0&&y.styles.every(P=>P==="normal"||P==="italic")))throw q(`fontFaces[${z}].styles`,{code:"font-styles-invalid",params:{value:y.styles}})})});for(let[y,z]of Object.entries(e.themes))i(()=>{let M=z.colors?.brand;if(typeof M!="string"||M.trim()==="")throw q(`themes.${y}.colors.brand`,{code:"brand-required",params:{}})}),i(()=>{if(Object.hasOwn(z.colors??{},"primary"))throw q(`themes.${y}.colors.primary`,{code:"primary-in-colors",params:{}})}),i(()=>{let M=ln(z);if(M!==void 0&&(typeof M!="string"||M.trim()===""))throw q(`themes.${y}.primary`,{code:"primary-invalid",params:{}})});let c=Hc(e.extend,i),d=e.utilities??{},p={sizing:{...V.sizing,...Object.fromEntries((Array.isArray(c.sizing)?c.sizing:[]).filter(y=>typeof y=="number").map(y=>[String(y),y]))},screens:{...V.screens,...c.screens??{}},radius:{...V.radius,...c.radius??{}},gaps:{...V.gaps,...c.spacing?.gaps??{}},spaces:{...V.spaces,...c.spacing?.spaces??{}},fontSizes:{...V.fontSizes,...c.fontSizes??{}},lineHeights:{...V.lineHeights,...c.lineHeights??{}},letterSpacing:{...V.letterSpacing,...c.letterSpacing??{}},fontWeights:{...V.fontWeights,...c.fontWeights??{}},borderWidths:{...V.borderWidths,...c.borderWidths??{}},blurs:{...V.blurs,...c.blurs??{}},opacities:{...V.opacities,...c.opacities??{}},shadows:{...V.shadows,...c.shadows??{}},durations:{...V.durations,...c.motion?.durations??{}},easings:{...V.easings,...c.motion?.easings??{}}},h,t=()=>{if(!h){let y=Pe(n,s),z=it(Xt(y,o)).map(F=>F.name),M=it(Lt()).map(F=>F.name),P=[...it(Lt()+r.utilities),...it(ce(n,s)+r.components)].map(F=>F.name);h={atomic:z,utilidades:M,resto:P,nombres:new Set([...z,...P,...St([...z,...P]).values()]),vocabulary:y}}return h},g,b=()=>{if(!g){let{vocabulary:y}=t(),z=it(Xt(y,o,p)).map(P=>P.name),M=[...it(Lt(p)+r.utilities),...it(ce(n,s,p)+r.components)].map(P=>P.name);g=new Set([...z,...M,...St([...z,...M]).values()])}return g},m=new Map(Object.entries(V.screens).map(([y,z])=>[parseFloat(z),y]));for(let[y,z]of Object.entries(c.screens??{}))i(()=>{let M=`extend.screens.${y}`;if(Object.hasOwn(V.screens,y))throw q(M,{code:"screen-exists",params:{name:y}});if(!Uc.test(y))throw q(M,{code:"screen-name-invalid",params:{}});if(typeof z!="string"||!Ca.test(z))throw q(M,{code:"screen-value-invalid",params:{value:`${z}`}});let P=parseFloat(z),F=m.get(P);if(F!==void 0)throw q(M,{code:"screen-repeated",params:{value:z,other:F}});m.set(P,y);let G=Object.values(V.screens).map(parseFloat),[,Q,ot]=/^(\d)?(xs|xl)$/.exec(y),et=Number(Q??1);if(ot==="xs"&&P>=Math.min(...G))throw q(M,{code:"screen-below-min",params:{name:y,px:Math.min(...G)}});if(ot==="xl"&&P<=Math.max(...G))throw q(M,{code:"screen-above-max",params:{name:y,px:Math.max(...G)}});for(let[Ot,Dt]of Object.entries(c.screens??{})){if(Ot===y)break;let bt=/^(\d)?(xs|xl)$/.exec(Ot);if(!bt||bt[2]!==ot||!Ca.test(Dt))continue;let vt=Number(bt[1]??1),se=parseFloat(Dt),Ct=ot==="xl"?et>vt:et<vt;if(Ct?P<=se:P>=se)throw q(M,{code:"screen-order",params:{name:y,value:z,greater:Ct,other:Ot,otherValue:Dt}})}},()=>{delete p.screens[y]});let x=[{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:jn},{ruta:"extend.lineHeights",clave:"lineHeights",temaRuta:"lineHeights",propios:c.lineHeights,numerico:jn},{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:jn},{ruta:"extend.blurs",clave:"blurs",temaRuta:"blurs",propios:c.blurs},{ruta:"extend.opacities",clave:"opacities",temaRuta:"opacities",propios:c.opacities,numerico:Vc,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}],f=new Map,w=(y,z)=>{let{atomic:M,utilidades:P,nombres:F,vocabulary:G}=t(),Q=Ta([...M,...P]),ot=Ta([...it(Xt(G,o,z)),...it(Lt(z))].map(et=>et.name));for(let[et,Ot]of ot){if(Ot<=(Q.get(et)??0))continue;if(F.has(et))throw q(y,{code:"class-exists",params:{class:et}});let Dt=f.get(et);if(Dt!==void 0)throw q(y,{code:"class-duplicated",params:{class:et,other:Dt}});f.set(et,y);let bt=gt(et)?.nuevo;if(bt&&F.has(bt))throw q(y,{code:"class-renamed-exists",params:{class:et,renamed:bt}})}};for(let{ruta:y,clave:z,temaRuta:M,propios:P,numerico:F,tipo:G}of x)for(let[Q,ot]of Object.entries(P??{}))i(()=>{let et=`${y}.${Q}`;if(Object.hasOwn(V[z],Q))throw q(et,{code:"scale-exists",params:{name:Q,themePath:M}});if(F){if(!F.regex.test(Q))throw q(et,{code:"scale-name-numeric",params:{range:F.rango}})}else if(!ro.test(Q))throw q(et,{code:"scale-name-invalid",params:{}});if(z==="spaces"&&Q.startsWith("neg-"))throw q(et,{code:"space-neg-prefix",params:{}});if(z==="spaces"&&Q.endsWith("-negative"))throw q(et,{code:"space-negative-suffix",params:{}});if(je(et,ot),G&&!qa[G](ot.trim()))throw q(et,{code:"value-type-invalid",params:{kind:G,value:ot}});if(z==="fontSizes"&&!Object.hasOwn(V.lineHeights,Q)&&!Object.hasOwn(c.lineHeights??{},Q))throw q(et,{code:"font-size-needs-line-height",params:{name:Q}});w(et,{...V,[z]:{...V[z],[Q]:ot}})},()=>{delete p[z][Q]});let u=new Set;(Array.isArray(c.sizing)?c.sizing:[]).forEach((y,z)=>{i(()=>{let M=`extend.sizing[${z}]`;if(typeof y!="number"||!Number.isInteger(y))throw q(M,{code:"value-type-invalid",params:{kind:"integer",value:y}});if(!jn.regex.test(String(y)))throw q(M,{code:"scale-name-numeric",params:{range:jn.rango}});if(Object.hasOwn(V.sizing,String(y)))throw q(M,{code:"sizing-exists",params:{level:y,repeated:!1}});if(u.has(y))throw q(M,{code:"sizing-exists",params:{level:y,repeated:!0}});u.add(y),w(M,{...V,sizing:{...V.sizing,[String(y)]:y}})},()=>{Object.hasOwn(V.sizing,String(y))||delete p.sizing[String(y)]})});let v=(y,z)=>[...Object.keys(y),...Object.keys(z??{})],$=[{ruta:"radius",de:y=>y.radius,nombres:v(V.radius,c.radius),extendRuta:"extend.radius"},{ruta:"spacing.gaps",de:y=>y.spacing?.gaps,nombres:v(V.gaps,c.spacing?.gaps),extendRuta:"extend.spacing.gaps"},{ruta:"spacing.spaces",de:y=>y.spacing?.spaces,nombres:v(V.spaces,c.spacing?.spaces),extendRuta:"extend.spacing.spaces"},{ruta:"screens",de:y=>y.screens,nombres:v(V.screens,c.screens),extendRuta:"extend.screens"},{ruta:"fontSizes",de:y=>y.fontSizes,nombres:v(V.fontSizes,c.fontSizes),extendRuta:"extend.fontSizes"},{ruta:"lineHeights",de:y=>y.lineHeights,nombres:v(V.lineHeights,c.lineHeights),extendRuta:"extend.lineHeights"},{ruta:"letterSpacing",de:y=>y.letterSpacing,nombres:v(V.letterSpacing,c.letterSpacing),extendRuta:"extend.letterSpacing"},{ruta:"fontWeights",de:y=>y.fontWeights,nombres:v(V.fontWeights,c.fontWeights),extendRuta:"extend.fontWeights",tipo:"font-weight"},{ruta:"borderWidths",de:y=>y.borderWidths,nombres:v(un,c.borderWidths),extendRuta:"extend.borderWidths"},{ruta:"blurs",de:y=>y.blurs,nombres:v(ie,c.blurs),extendRuta:"extend.blurs"},{ruta:"zIndex",de:y=>y.zIndex,nombres:v(Ae),tipo:"integer"},{ruta:"opacities",de:y=>y.opacities,nombres:v(Jt,c.opacities),extendRuta:"extend.opacities",tipo:"opacity"},{ruta:"shadows",de:y=>y.shadows,nombres:v(ke,c.shadows),extendRuta:"extend.shadows"},{ruta:"motion.durations",de:y=>y.motion?.durations,nombres:v(Bt,c.motion?.durations),extendRuta:"extend.motion.durations",tipo:"duration"},{ruta:"motion.loops",de:y=>y.motion?.loops,nombres:v(cn)},{ruta:"motion.iterations",de:y=>y.motion?.iterations,nombres:v(dn),tipo:"iterations"},{ruta:"motion.easings",de:y=>y.motion?.easings,nombres:v(Ht,c.motion?.easings),extendRuta:"extend.motion.easings"}];for(let[y,z]of Object.entries(e.themes))Gc(y,z,$,i);let E=Object.keys(d),R=y=>y.includes("."),N=E.filter(y=>!R(y)),Z=new Set,J,j=()=>J??=new Set([...b()].filter(y=>!gt(y.replaceAll("\\",""))).map(y=>y.slice(3))),I=Kt(p.screens),L,X=()=>L??=(()=>{let y=Xt(t().vocabulary,o,p),z=Lt(p)+r.utilities,M=ce(n,s,p)+r.components,P=[y,z,M].flatMap(F=>it(F).map(G=>G.name));return ao(a,y,z,St(P))})(),A=(y,z)=>{if(!Array.isArray(z)||z.length===0)throw q(y,{code:"utility-empty",params:{}});for(let M of z){if(typeof M!="string")throw q(y,{code:"utility-not-a-class",params:{value:M}});let{cadena:P,base:F}=fn(M);if(R(F))throw q(y,{code:"utility-composes-modifier",params:{class:M,utility:F.split(".")[0],modifiers:F.split(".").slice(1)}});if(P.length){let G=Et(P,I);if(!G.ok){if(G.motivo==="desconocido"){let Q=ct(G.prefijo,I.keys());throw q(y,{code:"utility-unknown-prefix",params:{class:M,prefix:G.prefijo,...Q&&{suggestion:Q}}})}throw G.motivo==="data-ts"?q(y,{code:"utility-data-ts-variant",params:{class:M}}):G.canonica?q(y,{code:"utility-out-of-order",params:{class:M,suggestion:G.canonica.join("")+F}}):q(y,{code:"utility-invalid-chain",params:{class:M}})}if(X().esComponente(F)&&!N.includes(F))throw q(y,{code:"utility-variant-on-component",params:{class:M,base:F}})}if(!j().has(F)&&!N.includes(F)){let G=F.startsWith("ts-")?F.slice(3):gt(`ts-${F}`)?.nuevo?.slice(3),Q=G!==void 0&&j().has(G)?G:ct(F,[...j(),...N]);throw q(y,{code:"utility-unknown-class",params:{class:M,...Q&&{suggestion:Q}}})}}},_=(y,z)=>{if(!ja.test(z))throw q(y,{code:"modifier-invalid",params:{modifier:z}});if(z.startsWith(Xn))throw q(y,{code:"modifier-reserved-prefix",params:{modifier:z,prefix:Xn}});if(z==="ts"||Je.includes(z))throw q(y,{code:"modifier-theme-class",params:{modifier:z}});if(j().has(z))throw q(y,{code:"modifier-short-name",params:{modifier:z}});if(N.includes(z))throw q(y,{code:"modifier-is-utility",params:{modifier:z}})},k=new Map;for(let y of E)i(()=>{let z=`utilities.${y}`;if(R(y)){let[M,...P]=y.split(".");if(!N.includes(M))throw q(z,{code:"component-missing",params:{component:M}});for(let Q of P)_(z,Q);if(new Set(P).size!==P.length)throw q(z,{code:"modifier-repeated",params:{}});let F=`${M}.${[...P].sort().join(".")}`,G=k.get(F);if(G!==void 0)throw q(z,{code:"combination-repeated",params:{other:G}});k.set(F,y),A(z,d[y]);return}if(!ja.test(y))throw q(z,{code:"utility-name-invalid",params:{}});if(y.startsWith(Xn))throw q(z,{code:"utility-reserved-prefix",params:{prefix:Xn}});if(qt(y)||Je.includes(y))throw q(z,{code:"utility-name-is-modifier",params:{}});if(t().nombres.has(y))throw q(z,{code:"utility-conflicts-ds",params:{}});if(y==="ts")throw q(z,{code:"utility-name-ts",params:{}});if(j().has(y))throw q(z,{code:"utility-short-name",params:{}});A(z,d[y])},()=>{Z.add(y)});let O=new Set,T=new Set,H=(y,z)=>{if(z.includes(y)){let M=[...z,y].slice(z.indexOf(y));i(()=>{throw q(`utilities.${z[0]}`,{code:"utility-cycle",params:{cycle:M}})});for(let P of M)O.add(P),T.add(P);return}if(!(O.has(y)||Z.has(y))){for(let M of d[y])Object.hasOwn(d,M)&&!R(M)&&H(M,[...z,y]);O.add(y)}};for(let y of N)H(y,[]);let K=y=>!Z.has(y)&&!T.has(y);for(let y of E)K(y)&&i(()=>{for(let z of d[y]){let{cadena:M,base:P}=fn(z);if(!M.length||R(P)||!Object.hasOwn(d,P)||!K(P))continue;let F=Le(P,d),G=re(M,F,I).find(ot=>!ot.ok);if(G&&!G.ok)throw q(`utilities.${y}`,{code:"utility-invalid-composition",params:Fe(z,P,M,G)});let Q=F.find(ot=>ot.cadena.length===0&&X().esComponente(ot.base)&&!N.includes(ot.base));if(Q)throw q(`utilities.${y}`,{code:"utility-composes-component",params:{class:z,utility:P,component:Q.base}})}});return Cn(l),{userScales:p,userUtilities:d}}var Jc=()=>({userColors:{brand:"#4F46E5"},userStates:co,userGridMins:po}),lo=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,Zc=new Set(["__proto__","constructor","prototype","tostring"]),Yn=e=>Zc.has(e.toLowerCase());function Kc(e){let n=Pe(e.userColors,e.userStates),s=t=>it(t).map(g=>g.name.replaceAll("\\","")),o=[...s(Xt(n,e.userGridMins,V)),...s(Lt())],a=s(ce(e.userColors,e.userStates,V)),r=new Set([...o,...St(o).values()]),l=new Set([...r,...a,...St(a).values()]),i={name:"x",group:"root",def:{colors:{...Jc().userColors,...e.userColors}}},c=We(Ue(i,{},e.userStates)),d=new Set([...c.matchAll(/^\s*(--[\w-]+):/gm)].map(t=>t[1])),p=t=>t.split("-")[0],h=new Set([...[...l].map(t=>p(t.slice(3))),...zn,...Je,...[...d].map(t=>p(t.startsWith("--ts-")?t.slice(5):t.slice(2)))]);return{emitidos:l,aplicables:r,slugs:new Set(Object.keys(yn.componentes)),variables:d,reservadas:h}}var de=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ia=(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 Na(e){return e.flatMap(n=>n.t==="apply"?n.destinos:n.t==="decl"?[]:Na(n.hijos))}function La(e){return e.flatMap(n=>n.t==="decl"?[{prop:n.prop,valor:n.valor}]:n.t==="apply"?[]:La(n.hijos))}var Pa=2**30;function Xc(e,n,s,o,a=new Set){let r=[],l={root:[],slug:[],block:[],utility:[],variable:[]},i=(j,I)=>{r.push({path:j,...I})},c=(j,I)=>i(j,{code:"ext-shape",params:{expected:I}}),d=`extensions[${JSON.stringify(n)}]`;if(!de(e))return c(d,"object"),{errores:r,nombres:l,raices:[]};e.components!==void 0&&!de(e.components)&&c(`${d}.components`,"object"),e.utilities!==void 0&&typeof e.utilities!="string"&&c(`${d}.utilities`,"string");let p=Array.isArray(e.roots)&&e.roots.every(j=>typeof j=="string")?e.roots:void 0;e.roots!==void 0&&p===void 0&&c(`${d}.roots`,"string[]");let h=de(e.components)?Object.entries(e.components):[];h.length>nt.componentes&&(i(`${d}.components`,{code:"ext-limit",params:{what:"components",max:nt.componentes}}),h=[]);let t=new Map,g=new Map;for(let[j,I]of h){let L=`${d}.components.${j}`;if(!lo.test(j)||Yn(j)?i(L,{code:"ext-name-invalid",params:{kind:"slug",name:j}}):s.slugs.has(j)?i(L,{code:"ext-conflicts-core",params:{kind:"slug",name:j}}):l.slug.push(j),!de(I)){c(L,"object");continue}if(!Array.isArray(I.roots)||I.roots.some(A=>typeof A!="string")){c(`${L}.roots`,"string[]");continue}if(I.roots.length===0&&i(`${L}.roots`,{code:"ext-roots-empty",params:{}}),I.roots.length>nt.raices){i(`${L}.roots`,{code:"ext-limit",params:{what:"roots",max:nt.raices}});continue}let X=[];for(let A of I.roots){if(!lo.test(A)||Yn(A)){i(`${L}.roots`,{code:"ext-name-invalid",params:{kind:"root",name:A}});continue}let _=t.get(A);if(_!==void 0){i(`${L}.roots`,{code:"ext-root-repeated",params:{root:A,other:_}});continue}t.set(A,j),X.push(A),l.root.push(A),Ia(A,s)&&i(`${L}.roots`,{code:"ext-conflicts-core",params:{kind:"root",name:A}})}g.set(j,X)}if(p!==void 0)if(p.length>nt.raices)i(`${d}.roots`,{code:"ext-limit",params:{what:"roots",max:nt.raices}});else{let j=[...t.keys()],I=(L,X)=>L===X||L.startsWith(`${X}-`)||X.startsWith(`${L}-`);for(let L of p){if(!lo.test(L)||Yn(L)){i(`${d}.roots`,{code:"ext-name-invalid",params:{kind:"root",name:L}});continue}let X=t.get(L);if(X!==void 0){i(`${d}.roots`,{code:"ext-root-repeated",params:{root:L,other:X}});continue}t.set(L,""),l.root.push(L),Ia(L,s)&&i(`${d}.roots`,{code:"ext-conflicts-core",params:{kind:"root",name:L}});for(let A of j)I(L,A)&&i(`${d}.roots`,{code:"ext-roots-overlap",params:{root:L,other:A,package:n,otherPackage:n}})}}let b=[...t.keys()],m=j=>{let I;for(let L of b)(j===`ts-${L}`||j.startsWith(`ts-${L}-`))&&(I===void 0||L.length>I.length)&&(I=L);return I===void 0?void 0:t.get(I)},x=new Set;for(let[j,I]of h){if(!de(I)||I.tokens===void 0)continue;let L=`${d}.components.${j}.tokens`;if(!de(I.tokens)){c(L,"object");continue}let X=Object.entries(I.tokens);if(X.length>nt.tokens){i(L,{code:"ext-limit",params:{what:"tokens",max:nt.tokens}});continue}let A=g.get(j)?.[0];for(let[_,k]of X){let O=`${L}.${_}`;if(_.length>nt.clave){i(O.slice(0,120),{code:"ext-limit",params:{what:"key-length",max:nt.clave}});continue}if(!ro.test(_)||Yn(_)){i(O,{code:"ext-name-invalid",params:{kind:"token",name:_}});continue}let T=A===void 0?void 0:`--ts-${A}-${_}`;if(typeof k=="string"&&k.length>nt.valor)i(O,{code:"ext-limit",params:{what:"value-length",max:nt.valor}});else{let H=!0;if(Ze(r,()=>je(O,k),()=>{H=!1}),H&&typeof k=="string")for(let K of ji(k,T??_))i(O,K)}T!==void 0&&(l.variable.push(T),s.variables.has(T)&&i(O,{code:"ext-conflicts-core",params:{kind:"variable",name:T}}),x.has(T)&&i(O,{code:"ext-variable-repeated",params:{variable:T}}),x.add(T))}}r.push(...Fn(o)),o.reduce((j,I)=>j+I.parse.bloques.length,0)>nt.bloques&&i(d,{code:"ext-limit",params:{what:"blocks",max:nt.bloques}});let w=new Set,u=new Map,v=new Map;for(let j of o)for(let I of j.parse.bloques)u.has(I.name)||(u.set(I.name,j.slug??""),v.set(I.name,I.nodos));let $=new Map;for(let j of o){let I=j.slug,L=I===void 0?void 0:g.get(I)??[];for(let{name:A,nodos:_}of j.parse.bloques){w.has(A)&&i(j.ruta,{code:"ext-block-repeated",params:{block:A}}),w.add(A),(s.emitidos.has(A)||gt(A))&&i(j.ruta,{code:"ext-conflicts-core",params:{kind:I===void 0?"utility":"block",name:A}}),l[I===void 0?"utility":"block"].push(A),I!==void 0?m(A)!==I&&i(j.ruta,{code:"ext-block-not-owned",params:{block:A,roots:L??[]}}):m(A)===void 0&&i(j.ruta,{code:"ext-utility-no-root",params:{block:A}});for(let{prop:k,valor:O}of La(_)){let T=`${k}: ${O.replace(/"[^"]*"|'[^']*'/g,K=>K[0]+K[0])}`,H=xi(T);H&&i(j.ruta,{code:"ext-color-literal",params:{block:A,value:H.value,kind:H.kind}});for(let K of new Set(wi(T))){if(s.variables.has(K)||b.some(z=>K===`--ts-${z}`||K.startsWith(`--ts-${z}-`)))continue;let y=ct(K,s.variables);i(j.ruta,{code:"ext-var-not-public",params:{block:A,variable:K,...y&&{suggestion:y}}})}}$.set(A,Na(_))}let X=za(j.parse.bloques.map(A=>A.css).join(""),[...zn,...b]);for(let A of X)i(j.ruta,{code:"ext-modifier-loose",params:{block:A.utility,selector:A.selector,motive:A.motivo}})}for(let[j,I]of h)de(I)&&I.css!==void 0&&typeof I.css!="string"&&c(`${d}.components.${j}.css`,"string");let E=new Map;for(let j of o)for(let I of j.parse.bloques)E.has(I.name)||E.set(I.name,j.ruta);let R=new Map;for(let[j,I]of $){let L=E.get(j),X=u.get(j);for(let A of new Set(I)){if(s.aplicables.has(A))continue;let _=u.get(A);if(_!==void 0&&_===X){R.set(j,[...R.get(j)??[],A]);continue}let k=_!==void 0||a.has(A)?"other-component":s.emitidos.has(A)?"core-component":"unknown",O=k==="unknown"?ct(A,s.aplicables):void 0;i(L,{code:"ext-apply-target",params:{block:j,target:A,reason:k,...O&&{suggestion:O}}})}}let N=new Map,Z=!1,J=j=>{N.set(j,1);for(let I of R.get(j)??[])N.get(I)===1?(Z=!0,i(E.get(j),{code:"ext-apply-target",params:{block:j,target:I,reason:"cycle"}})):N.has(I)||J(I);N.set(j,2)};for(let j of R.keys())N.has(j)||J(j);if(!Z){let j=new Map,I=new Map,L=new Map;for(let _ of o)for(let k of _.parse.bloques)L.has(k.name)||L.set(k.name,k.css.length);let X=_=>{let k=j.get(_);if(k!==void 0)return{d:k,t:I.get(_)};let O=0,T=L.get(_)??0;for(let H of new Set(R.get(_)??[])){let K=X(H);O=Math.max(O,K.d+1),T=Math.min(Pa,T+K.t*$.get(_).filter(y=>y===H).length)}return j.set(_,O),I.set(_,T),{d:O,t:T}},A=0;for(let _ of $.keys()){let{d:k,t:O}=X(_);A=Math.min(Pa,A+O),k>nt.profundidadApply?i(E.get(_),{code:"ext-apply-budget",params:{block:_,limit:"depth",max:nt.profundidadApply}}):O>nt.expansionBloque&&i(E.get(_),{code:"ext-apply-budget",params:{block:_,limit:"block-size",max:nt.expansionBloque}})}A>nt.expansionTotal&&i(d,{code:"ext-apply-budget",params:{block:n,limit:"total-size",max:nt.expansionTotal}})}return{errores:r,nombres:l,raices:b}}function _a(e,n,s){let o=vn(e),a=Object.values(n.themes).some(g=>g.components!==void 0);if(o.length===0&&!a)return[];let r=[],l=o.length?Kc(s):void 0,i=o.map(([g,b])=>_n(b,g)),c=i.map(g=>new Set(g.flatMap(b=>b.parse.bloques.map(m=>m.name)))),d=new Map,p=new Map,h=new Map;o.forEach(([g,b],m)=>{let x=new Set(c.filter((u,v)=>v!==m).flatMap(u=>[...u])),f=Xc(b,g,l,i[m],x);r.push(...f.errores);for(let u of Object.keys(f.nombres))for(let v of f.nombres[u]){let $=`${u==="utility"?"block":u}:${v}`,E=d.get($);E!==void 0&&E!==g?r.push({path:`extensions[${JSON.stringify(g)}]`,code:"ext-conflicts-extension",params:{kind:u,name:v,package:g,other:E}}):d.set($,g)}let w=`extensions[${JSON.stringify(g)}]`;for(let u of f.raices){let v=u.split("-");for(let E=1;E<v.length;E++){let R=v.slice(0,E).join("-"),N=p.get(R);N!==void 0&&N!==g&&r.push({path:w,code:"ext-roots-overlap",params:{root:u,other:R,package:g,otherPackage:N}})}let $=h.get(u);$!==void 0&&$.paquete!==g&&r.push({path:w,code:"ext-roots-overlap",params:{root:u,other:$.raiz,package:g,otherPackage:$.paquete}})}for(let u of f.raices){p.has(u)||p.set(u,g);let v=u.split("-");for(let $=1;$<v.length;$++){let E=v.slice(0,$).join("-");h.has(E)||h.set(E,{raiz:u,paquete:g})}}});let t=new Map;for(let[,g]of o)for(let[b,m]of Object.entries(g.components??{}))t.set(b,new Set(Object.keys(de(m?.tokens)?m.tokens:{})));for(let[g,b]of Object.entries(n.themes))for(let[m,x]of Object.entries(b.components??{})){let f=`themes.${g}.components.${m}`,w=t.get(m);if(!w){let u=ct(m,t.keys());r.push({path:f,code:"theme-component-unknown",params:{slug:m,...u&&{suggestion:u}}});continue}for(let[u,v]of Object.entries(x))if(w.has(u))Ze(r,()=>je(`${f}.${u}`,v));else{let $=ct(u,w);r.push({path:`${f}.${u}`,code:"theme-component-token-unknown",params:{slug:m,key:u,...$&&{suggestion:$}}})}}return r}var co={success:"#16A34A",warning:"#D97706",info:"#2563EB",danger:"#D42424"},po={"2xs":"160px",xs:"200px",sm:"240px",md:"280px",lg:"340px",xl:"400px"};function Fa(e){let n=e.lastIndexOf("/");return n===-1?{name:e,group:"root"}:{name:e.slice(n+1),group:e.slice(0,n)}}function Ce(e,n={}){let s=Object.entries(e.themes).map(([t,g])=>{let{name:b,group:m}=Fa(t);return{name:b,group:m,def:g}}),o=Object.fromEntries(s.flatMap(t=>Object.entries(t.def.colors??{}))),a={...e.defaultStates};for(let[t,g]of Object.entries(co))Object.hasOwn(a,t)||(a[t]=g);let r=a,l={...e.fonts??{}},i=e.gridMins??po,c=_a(n,e,{userColors:o,userStates:r,userGridMins:i});Cn(c);let{userScales:d,userUtilities:p}=Ma(e,o,r,i,Un(n),xn(n)),h=s.some(t=>!t.def.locked&&Object.values(t.def.density??{}).some(g=>g&&Object.keys(g).length>0));return{themeEntries:s,userColors:o,defaultStates:a,userStates:r,userFonts:l,userGridMins:i,userScales:d,userUtilities:p,themeChangesDensity:h}}function uo(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 a=/^<([A-Za-z][\w.:-]*)/.exec(e.slice(s,s+80));if(!a||/[A-Za-z0-9_$)\]]/.test(e[s-1]??""))continue;let r=0,l="";for(let i=s+a[0].length;i<e.length;i++){let c=e[i];if(l)c==="\\"?i++:c===l&&(l="");else if(c==='"'||c==="'"||c==="`"&&r>0)l=c;else if(c==="{")r++;else if(c==="}")r--;else if(c===">"&&r<=0)return i<n?null:{nombre:a[1],desde:s,hasta:i+1}}return{nombre:a[1],desde:s,hasta:e.length}}return null}var Yc=e=>/^[A-Z]/.test(e);function Va(e,n){let s=n instanceof Set?n:new Set(n),o=[];for(let a of e.matchAll(/class="([^"]*)"/g)){let r=a[1].split(/\s+/).filter(Boolean),l=e.slice(0,a.index).split(`
3214
+ `).length,i=uo(e,a.index);if(!(i&&Yc(i.nombre))){if(r.includes("ts")){for(let c of r){let[,d="",p]=/^(@?[a-z0-9]+:)?(.*)$/.exec(c);p.startsWith("ts-")&&o.push({clase:c,l\u00EDnea:l,sugerencia:`en scope no lleva \`ts-\`: \`${d}${p.slice(3)}\``})}continue}for(let c of r){let d=c.replace(/^@?[a-z0-9]+:/,"");s.has(d)&&o.push({clase:c,l\u00EDnea:l})}}}return o}function Ua(e,n){let s={planas:[],variantes:[],componentes:[]};if(e===void 0)return s;if(!Array.isArray(e))throw q("safelist",{code:"safelist-not-list",params:{}});let o=[...n.vocabulario,...n.tonos??[]],a=new Set(o),r=[];return e.forEach((l,i)=>{Ze(r,()=>{let c=`safelist[${i}]`;if(typeof l!="string"||l.trim()==="")throw q(c,{code:"safelist-entry-empty",params:{}});let[,d,p]=/^((?:@?[a-z0-9][a-z0-9-]*(?:\/[a-z][a-z0-9-]*)?:)*)(.*)$/.exec(l),h=`${c} (${JSON.stringify(l)})`;if(d){let g=Et(d.match(/[^:]+:/g),n.prefijos);if(!g.ok&&g.motivo==="desconocido"){let b=ct(g.prefijo,n.prefijos.keys());throw q(h,{code:"safelist-unknown-prefix",params:{prefix:g.prefijo,...b&&{suggestion:b}}})}if(!g.ok&&g.motivo==="data-ts")throw q(h,{code:"safelist-data-ts",params:{prefix:g.prefijo}});if(!g.ok&&g.canonica)throw q(h,{code:"safelist-out-of-order",params:{suggestion:g.canonica.join("")+p}});if(!g.ok)throw q(h,{code:"safelist-invalid-chain",params:{}})}if(p.includes(":"))throw q(h,{code:"safelist-misplaced-colon",params:{}});if(p.startsWith("ts-")){let{sugerencia:g}=Va(`class="ts ${l}"`,[])[0]??{},b=g?.slice(g.lastIndexOf(": `")+3,-1);throw q(h,{code:"safelist-legacy-prefix",params:b!==void 0?{suggestion:b}:{}})}let t=p.indexOf("*");if(t!==-1){if(t!==p.length-1)throw q(h,{code:"safelist-star-not-last",params:{}});let g=p.slice(0,-1),b=g?o.filter(m=>m.startsWith(g)):[];if(b.length===0){let m=new Set(o.flatMap(f=>[...f.matchAll(/-/g)].map(w=>`${f.slice(0,w.index+1)}*`))),x=ct(p,m);throw q(h,{code:"safelist-family-empty",params:x?{suggestion:x}:{}})}(d?s.variantes:s.planas).push(...b.map(m=>d+m));return}if(d&&n.componentes.includes(p))throw q(h,{code:"safelist-component-variant",params:{}});if(n.modificadores?.has(p)&&!a.has(p)){if(d)throw q(h,{code:"safelist-modifier-variant",params:{}});s.planas.push(l)}else if(a.has(p))(d?s.variantes:s.planas).push(l);else if(n.componentes.includes(p))s.componentes.push(p);else{let g=[...o,...n.componentes].map(m=>d+m),b=ct(l,g);throw q(h,{code:"safelist-unknown",params:b?{suggestion:b}:{}})}})}),Cn(r),s}var pe="Copyright (c) 2026 Pablo Di Filippo. Licencia MIT (ver LICENSE).";function Tn(e,n=Ce(e),s={}){let o=Un(s),a=xn(s),{userColors:r,userStates:l,userGridMins:i,userScales:c,userUtilities:d,themeChangesDensity:p}=n,h=Pe(r,l),t=ui(e.darkMode,c),g=Xt(h,i,c),b=Lt(c)+a.utilities,m=ce(r,l,c,p)+a.components,x=St([g,b,m].flatMap(A=>it(A).map(_=>_.name))),f=[g,b,m].flatMap(A=>it(A).map(_=>_.name.replaceAll("\\",""))),w=new Set;for(let A of f)gt(A)||w.add(A);for(let A of x.values())w.add(A);let u=Kt(c.screens),v=Object.keys(d).filter(A=>!At(A)),$=Di(d),E=A=>w.has(`ts-${A}`)||Object.hasOwn(d,A)&&!At(A),{atomicas:R,componentes:N,esComponente:Z}=ao(o,g,b,x),J=A=>!Object.hasOwn(d,A)&&Z(A),j=[...w].map(A=>A.slice(3)),I=[...j,...v],L=Vn(d),X=[...new Set([...m.matchAll(/^ {2}&\.(variant-[A-Za-z0-9-]+?-\d+) \{$/gm)].map(A=>A[1]))];return{manifiesto:o,userScales:c,tonos:X,userUtilities:d,cadenasPropias:L,modificadoresPropios:$,reset:t,atomic:g,utilities:b,components:m,alias:x,prefijos:u,esUtilidad:E,atomicas:R,componentes:N,esComponente:J,nombresCortos:j,vocabulario:I}}function Ba(e,n,s,o={}){let a=Object.keys(s.userUtilities).filter(l=>!At(l)),r=[];if(Object.keys(e.extend??{}).length){let l=new Set(Tn(e,{...n,userScales:V,userUtilities:{}},o).nombresCortos);r=s.nombresCortos.filter(i=>!l.has(i))}return[...r,...a]}function Ha(e){let n=Wa.get(e);if(!n){let s=r=>ct(r,e.prefijos.keys()),o=Object.keys(e.manifiesto.componentes).sort((r,l)=>l.length-r.length),a=new Map;for(let[r,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)])a.set(c,r);n={sugerir:s,slugsLargosPrimero:o,dueno:a},Wa.set(e,n)}return n}var Wa=new WeakMap,go=(e,n)=>{let s=JSON.stringify(n);e.has(s)||e.set(s,n)};function mo(e,n,s,o){let{prefijos:a,esUtilidad:r,esComponente:l,vocabulario:i,cadenasPropias:c}=e,{sugerir:d,slugsLargosPrimero:p,dueno:h}=Ha(e),t=new Set,g=new Set,b=new Map,m=f=>go(b,{...f,file:n}),x=new Set;for(let{variantes:f,base:w}of ma(s,o)){let u=f.join("")+w;if(f.length===1&&f[0]==="class:"){g.add(w);continue}let v=Et(f,a);if(l(w)&&(v.ok||v.motivo!=="desconocido")){m({code:"variant-on-component",params:{class:u,variants:[...f],component:w}});continue}if(r(w))if(v.ok){let $=c.get(w),E=$&&re(f,$,a).find(R=>!R.ok);E&&!E.ok?m({code:"invalid-composition",params:Fe(u,w,f,E)}):t.add(u)}else if(v.motivo==="data-ts")m({code:"data-ts-variant",params:{class:u}});else if(v.motivo==="desconocido"){let $=d(v.prefijo);m({code:"unknown-prefix",params:{prefix:v.prefijo,class:u,...$&&{suggestion:$}}})}else v.canonica?m({code:"out-of-order",params:{class:u,suggestion:v.canonica.join("")+w}}):m({code:"invalid-chain",params:{class:u}})}for(let f of s){if(f==="markInvalid")for(let w of["input-hint","input-footer","icon","icon-14"])g.add(w);if(f.startsWith("data-ts-")){let w=f.slice(8),u=p.find(v=>w===v||w.startsWith(`${v}-`));u&&x.add(u)}if(f.endsWith("{")){o&&f==="variant-{"&&g.add(f);let w=f.slice(0,-1).split(":").pop();i.some(u=>u.length>w.length&&u.startsWith(w))&&m({code:"runtime-class",params:{fragment:w}})}else if(o){let w=f.replace(/^[./]+|[./:]+$/g,"");w&&!w.includes(":")&&g.add(w)}}if(o)for(let f of g){let w=h.get(f);w&&x.add(w)}return{variantes:[...t],planas:[...g],warnings:[...b.values()],enteros:[...x]}}function Qn(e,n,s,o){let{prefijos:a,vocabulario:r}=e,{dueno:l}=Ha(e),i=new Set,c=new Set,d=new Map;n.scope!==void 0&&go(d,{code:"scope-option",params:{}});let p=Ua(n.safelist,{vocabulario:r,modificadores:new Set([...e.modificadoresPropios.values()].flat()),prefijos:a,componentes:Object.keys(e.manifiesto.componentes),tonos:e.tonos});if(o){for(let g of p.variantes)i.add(g);for(let g of p.planas)c.add(g)}let h=new Set(p.componentes);for(let g of s){for(let b of g.variantes)i.add(b);for(let b of g.planas)c.add(b);for(let b of g.warnings)go(d,b);for(let b of g.enteros)h.add(b)}let t=new Set;if(o){for(let g of p.planas){let b=l.get(g);b&&h.add(b)}for(let g of h){let b=e.manifiesto.componentes[g];for(let m of[...b.bloques,...b.runtime])t.add(`ts-${m}`)}}return{variantes:i,planas:c,warnings:[...d.values()],forzadas:t,enteros:h}}function Ga(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 fo(e,n,s={}){let o=Ga(n);return Ja(Tn(e,Ce(e,s.extensions),s.extensions),e,o,s)}function Ja(e,n,s,o={}){let{cache:a}=o,r=o.copyright??pe,l=o.onDemand??!1,i=Ga(s),c=i.map(b=>{let m=b.hash!==void 0?a?.get(b.hash):void 0;return m||(m=He(b.content),b.hash!==void 0&&a&&!a.has(b.hash)&&a.set(b.hash,m)),mo(e,b.file,m,l)}),{variantes:d,planas:p,warnings:h,forzadas:t}=Qn(e,n,c,l);return{css:`/* TaishoDS \u2014 ${r} */
3215
+ `+fa({reset:e.reset,atomic:e.atomic,utilities:e.utilities,components:e.components,variantesUsadas:d,usadas:l?p:void 0,forzadas:t,varsDelProyecto:l?new Set(Ns(i)):void 0,scales:e.userScales,userUtilities:e.userUtilities}),variants:[...d],warnings:h}}import ho from"node:fs";import es from"node:path";import{createRequire as Ka}from"node:module";import{inflateSync as Qc}from"node:zlib";var td={" ":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 ed(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 r=n.getUint16(12);for(let l=0;l<r;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),p=n.getUint32(i+8),h=n.getUint32(i+12),t=e.subarray(d,d+p),g=p<h?new Uint8Array(Qc(t)):t;o.set(c,new DataView(g.buffer,g.byteOffset,g.byteLength))}return o}if(s==="wOF2")throw new Error("WOFF2 no soportado: se usa el .woff o el .ttf");let a=n.getUint16(4);for(let r=0;r<a;r++){let l=12+r*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 nd(e){let n=e.getUint16(2),s=-1;for(let c=0;c<n;c++){let d=e.getUint16(4+c*8),p=e.getUint16(6+c*8),h=e.getUint32(8+c*8);if(e.getUint16(h)===4&&(d===0||d===3&&p===1)){s=h;break}}if(s<0)throw new Error("la fuente no trae una cmap formato 4");let o=e.getUint16(s+6),a=s+14,r=a+o+2,l=r+o,i=l+o;return c=>{for(let d=0;d<o;d+=2){if(c>e.getUint16(a+d))continue;let p=e.getUint16(r+d);if(c<p)return 0;let h=e.getInt16(l+d),t=e.getUint16(i+d);if(t===0)return c+h&65535;let g=e.getUint16(i+d+t+(c-p)*2);return g===0?0:g+h&65535}return 0}}function Za(e){let n=ed(e),s=n.get("head"),o=n.get("hhea"),a=n.get("hmtx"),r=n.get("cmap");if(!s||!o||!a||!r)throw new Error("faltan tablas (head, hhea, hmtx o cmap)");let l=o.getUint16(34),i=h=>a.getUint16(4*Math.min(h,l-1)),c=nd(r),d=0,p=0;for(let[h,t]of Object.entries(td)){let g=c(h.codePointAt(0));g&&(d+=i(g)*t,p+=t)}return{unitsPerEm:s.getUint16(18),ascent:o.getInt16(4),descent:o.getInt16(6),lineGap:o.getInt16(8),anchoMedio:d/p}}var sd={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}}},od={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 id(e,n,s,o,a="normal"){try{let l=ho.readFileSync(e.resolve(`${n}/${o}${a==="italic"?"-italic":""}.css`),"utf8").split("/*").find(c=>c.includes(`-${s}-${o}-${a} */`)),i=l&&/unicode-range:\s*([^;]+);/.exec(l)?.[1].trim();if(i)return i}catch{}return od[s]}var ts=e=>`${(Math.round(e*1e4)/100).toFixed(2)}%`;function ad(e,n,s,o){let a=sd[s?"mono":"sans"],r=n.anchoMedio/n.unitsPerEm/(a.m.anchoMedio/a.m.unitsPerEm);return{familia:e,local:o?`${a.local} Italic`:a.local,sizeAdjust:ts(r),ascent:ts(n.ascent/n.unitsPerEm/r),descent:ts(Math.abs(n.descent)/n.unitsPerEm/r),lineGap:ts(n.lineGap/n.unitsPerEm/r),...o&&{estilo:o}}}function bo(e,n){let s=Ka(es.join(n,"package.json")),o=[];for(let a of e)for(let r of a.styles??["normal"])try{let l=r==="italic"?"-italic":"",i=[...a.weights].sort((x,f)=>Math.abs(x-400)-Math.abs(f-400))[0],c=a.subsets[0],d=s.resolve(`${a.source}/${c}-${i}${l}.css`),p=ho.readFileSync(d,"utf8"),h=/font-family:\s*['"]([^'"]+)['"]/.exec(p)?.[1],t=/url\(([^)]+\.woff)\)/.exec(p)?.[1],g=a.subsets.map(x=>id(s,a.source,x,i,r));if(!h||!t)continue;let b=Za(new Uint8Array(ho.readFileSync(es.resolve(es.dirname(d),t)))),m=ad(h,b,/mono/i.test(h)||/mono/i.test(a.source),r==="italic"?"italic":void 0);g.every(Boolean)&&(m.unicodeRange=g.join(", ")),o.push(m)}catch{}return o}function yo(e,n){let s=Ka(es.join(n,"package.json"));e.forEach((o,a)=>{if(o.styles?.includes("italic"))for(let r of o.subsets)for(let l of o.weights)try{s.resolve(`${o.source}/${r}-${l}-italic.css`)}catch{throw q(`fontFaces[${a}].styles`,{code:"font-italic-missing",params:{source:o.source,subset:r,weight:l}})}})}import vo from"fs";import Xa from"path";function xo(e,n){let s=Xa.join(e,"icons");if(!vo.existsSync(s))return{};let o=i=>(vo.readFileSync(Xa.join(s,`${i}.svg`),"utf-8").match(/<svg[^>]*>([\s\S]*?)<\/svg>/)?.[1]??"").replace(/\s+/g," ").trim(),a=vo.readdirSync(s).filter(i=>i.endsWith(".svg")).map(i=>i.slice(0,-4)).filter(i=>!n[i]).sort();if(a.length===0)return{};let r=new Map;for(let i of Object.keys(n).sort()){let c=o(i);r.has(c)||r.set(c,i)}let l={};for(let i of a){let c=r.get(o(i));c&&(l[i]=c)}return l}var Ya=(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 rd=[[/^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)=>`${ue(n)}. ${ue(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}. ${ue(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"]],Qa={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 ue(e){for(let[n,s]of rd){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 tr(e){let n=o=>Object.fromEntries([...new Set(o)].sort().map(a=>[a,ue(a)])),s=[...new Set(e.filas.map(o=>o.familia))].sort();for(let o of s)if(!Qa[o])throw new Error(`tailwind-map-en: falta el ingl\xE9s de la familia \xAB${o}\xBB`);return{unidades:ue(e.unidades),coloresNota:ue(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,Qa[o]]))}}var ge=e=>e.map(n=>`"${n}"`).join(", "),er=e=>new Intl.ListFormat("en",{type:"conjunction"}).format(e),Ke=e=>e?` \xBFSe quiso decir "${e}"?`:"",Xe=e=>e?` Did you mean "${e}"?`:"",nr="at most one context, one print, one group or peer, and one state, in that order, and 3 segments",ld={"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 ${_e}.`,"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}").${Ke(e.suggestion)}`,"out-of-order":e=>`"${e.class}" est\xE1 fuera de orden y no se emite.${Ke(e.suggestion)}`,"invalid-chain":e=>`"${e.class}" no se emite: la cadena admite ${_e}.`,"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=>Ya(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=>hi(e.theme,e.name,e.value),"missing-ts":e=>`<${e.element}> usa clases del DS (${ge(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 (${ge(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.${Ke(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.${Ke(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.${Ke(e.suggestion)}`,"modifier-with-variant":e=>`"${e.class}" no se emite: "${e.modifier}" es un modificador de ${ge(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 ${ge(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.${Ke(e.suggestion)}`,"css-outside-content":e=>`usa variables del tema (${ge(e.variables)}) que se podaron porque este .css no est\xE1 en \`content\`: conviene sumarlo (por ejemplo \`**/*.css\`) y volver a correr.`},cd={"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 ${nr}.`,"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}").${Xe(e.suggestion)}`,"out-of-order":e=>`"${e.class}" is out of order and isn't emitted.${Xe(e.suggestion)}`,"invalid-chain":e=>`"${e.class}" isn't emitted. A chain allows ${nr}.`,"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 (${ge(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 (${ge(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.${Xe(e.suggestion)}`,"class-without-equivalent":e=>`"${e.class}" is a name from another framework with no DS equivalent, so it isn't emitted: ${dd(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.${Xe(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.${Xe(e.suggestion)}`,"modifier-with-variant":e=>`"${e.class}" isn't emitted. "${e.modifier}" is a modifier of ${er(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 ${er(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.${Xe(e.suggestion)}`,"css-outside-content":e=>`It uses theme variables (${ge(e.variables)}) that were pruned because this .css isn't in \`content\`. Add it (for example \`**/*.css\`) and run again.`};function dd(e){try{return ue(e).replace(/[’‘]/g,"'").replace(/[“”]/g,'"')}catch{return e}}var pd={es:ld,en:cd};function wo(e,n){return pd[n][e.code](e.params)}function ns(e,n){return(e.file===void 0?"":e.line===void 0?`${e.file}: `:`${e.file}:${e.line}: `)+wo(e,n)}var Ye="src/icons";var ud="4.x",gd=16;var or=["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"],En=e=>e==="px"?1:Number(e)*4;function ir(e){let n=/^(.+)-(\d+(?:\.5)?)$/.exec(e);return!n||!or.includes(n[2])||n[2]==="0"||!ar.some(([s])=>s===n[1])?null:En(n[2])}var fe="lado l\xF3gico: sigue el sentido de lectura (RTL); el de Tailwind es f\xEDsico",ar=[["p","p"],["px","px"],["py","py"],["pt","pt"],["pb","pb"],["ps","ps"],["pe","pe"],["pl","ps",fe],["pr","pe",fe],["m","m"],["mx","mx"],["my","my"],["mt","mt"],["mb","mb"],["ms","ms"],["me","me"],["ml","ms",fe],["mr","me",fe],["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",fe],["right","end",fe],["w","w"],["h","h"],["size","size"],["min-w","min-w"],["min-h","min-h"],["max-w","max-w"],["max-h","max-h"]],ss={none:0,xs:2,sm:4,md:6,lg:8,xl:12,"2xl":16,"3xl":24,"4xl":32,full:9999},md={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},fd={thin:100,extralight:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},hd={tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},bd=["3","4","5","6","7","8","9","10"],yd={none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2"},vd=["0","5","10","15","20","25","30","35","40","45","50","55","60","65","70","75","80","85","90","95","100"],xd=["0","10","20","30","40","50","auto"],wd=["75","100","150","200","300","500","700","1000"],$d={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)"},kd={xs:4,sm:8,md:12,lg:16,xl:24,"2xl":40,"3xl":64},Sd=["2xs","xs","sm","md","lg","xl","2xl"],zd={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},jd=[...["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",fe],["mr-auto","me-auto","medidas",fe],["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()],Cd=["white","black","transparent","current","inherit"],$o=["slate","gray","zinc","neutral","stone","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],ko=["50","100","200","300","400","500","600","700","800","900","950"],sr=[{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)"}],Td=[{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"}];function me(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 rr(e){let{vigentes:n,esc:s,familias:o}=e,a=[],r=new Map,l=(m,...x)=>{let f=r.get(m)??[];f.push(...x),r.set(m,f)},i=m=>{if(!n.has(m))return"no est\xE1 emitida";let x=Sa(m,s,o);return x.length?x.map(f=>f.detalle).join("; "):null},c=(m,x,f,w,u,v,$)=>{let E=i(x);if(E)return l(v??`la clase de TaishoDS ${E}`,m);a.push({tailwind:m,taisho:x,scope:x.slice(3),familia:f,exacta:w,...$!==void 0?{px:$}:{},...u?{nota:u}:{}})};for(let m of or){let x=En(m);for(let[f,w,u]of ar){let v=`${f}-${m}`;if(!(String(x)in $e)){l(`${x}px no est\xE1 en la escala de medidas (sizing)`,v);continue}if(i(`ts-${w}-${x}`)===null){c(v,`ts-${w}-${x}`,"medidas",!0,u,void 0,x);continue}let $=Object.keys(oe).find(R=>me(oe[R])===x),E=$&&`ts-${w}-${$}`;if(E&&i(E)===null)c(v,E,"medidas",$==="none",[u,$==="none"?void 0:"palabra de ritmo: baja con `compact` (para este prefijo no hay clase en px)"].filter(Boolean).join(". ")||void 0,void 0,x);else{let R=Object.keys(oe).filter(N=>i(`ts-${w}-${N}`)===null).map(N=>`${N} ${me(oe[N])}px`);l(R.length?`${w}: no hay clase en px; s\xF3lo los pasos de ritmo (${R.join(", ")}), y ninguno vale lo mismo que ese paso de Tailwind`:`${w}: no hay clase en px ni paso de ritmo para este prefijo`,v)}}}for(let m of["1","2","4","8"]){let x=En(m);c(`-m-${m}`,`ts-m-neg-${x}`,"medidas",!0,void 0,"m\xE1rgenes negativos (`-m-*`): la gram\xE1tica los define (`m-neg-N`) pero el generador no los emite",x)}for(let[m,x]of Object.entries(ss)){let f=Object.keys(Wt).find(w=>me(Wt[w])===x);f?m==="full"?c(`rounded-${m}`,`ts-radius-${f}`,"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-${m}`,`ts-radius-${f}`,"radio",!0,m===f?void 0:`el nombre cambia: ${m} es ${x}px y en TaishoDS es ${f}`):l(`${x}px no est\xE1 en la escala de radios`,`rounded-${m}`)}let d=Object.keys(Wt).find(m=>me(Wt[m])===ss.sm);d?c("rounded",`ts-radius-${d}`,"radio",!0,`el nombre cambia: rounded es ${ss.sm}px y en TaishoDS es ${d}`):l(`${ss.sm}px no est\xE1 en la escala de radios`,"rounded");for(let[m,x]of Object.entries(md)){let f=qe[String(x)];if(f===void 0){l(`${x}px no est\xE1 en la escala de texto (${Object.keys(qe).join(", ")})`,`text-${m}`);continue}let w=me(f)===x,u="Tailwind fija tambi\xE9n el interlineado; en TaishoDS es `ts-leading-*` o el compuesto `ts-type-copy-N`";c(`text-${m}`,`ts-text-${x}`,"tama\xF1o de texto",!1,w?u:`fluido: crece con el viewport hasta ${x}px. ${u}`)}for(let[m,x]of Object.entries(fd)){let f=Object.keys(Me).find(w=>Number(Me[w])===x);f?c(`font-${m}`,`ts-weight-${f}`,"peso",!0):l(`peso ${x} no est\xE1 en la escala`,`font-${m}`)}for(let[m,x]of Object.entries(hd)){let f=Object.keys(we).find(w=>we[w]===x);f?c(`tracking-${m}`,`ts-tracking-${f}`,"tracking",!0):l(`${x} no est\xE1 en la escala de tracking`,`tracking-${m}`)}for(let m of bd){let x=En(m),f=Object.keys(Ie).find(w=>me(Ie[w])===x);f?c(`leading-${m}`,`ts-leading-${f}`,"interlineado",!0,`en TaishoDS el n\xFAmero es el tama\xF1o de texto al que acompa\xF1a (${f}), no los px: el interlineado es ${x}px`):l(`interlineado de ${x}px no est\xE1 en la escala`,`leading-${m}`)}for(let[m,x]of Object.entries(yd))["none","tight"].includes(m)?c(`leading-${m}`,`ts-leading-${m}`,"interlineado",!0,`${x} sin unidad`):l("interlineado sin unidad: s\xF3lo existen `none` y `tight`",`leading-${m}`);for(let m of vd){let x=Object.keys(Jt).find(f=>Number(Jt[f])===Number(m)/100);x?c(`opacity-${m}`,`ts-opacity-${x}`,"opacidad",!0):l(`opacidad ${m} no est\xE1 en la escala (${Object.keys(Jt).filter(f=>/^\d+$/.test(f)).join(", ")})`,`opacity-${m}`)}for(let m of xd)c(`z-${m}`,`ts-z-${m}`,"z-index",!0);for(let m of wd){let x=Object.keys(Bt).find(f=>Bt[f]===`${m}ms`);x?c(`duration-${m}`,`ts-duration-${x}`,"movimiento",!0,`el nombre cambia: ${m}ms es ${x}`):l(`${m}ms no est\xE1 en la escala de duraciones`,`duration-${m}`)}for(let[m,x]of Object.entries($d)){let f=Object.keys(Ht).find(w=>Ht[w]===x);f?c(`ease-${m}`,`ts-ease-${f}`,"movimiento",!0):l("esa curva de easing no est\xE1 en la escala",`ease-${m}`)}for(let[m,x]of Object.entries(kd)){let f=Object.keys(ie).find(w=>me(ie[w])===x);if(f){let w=m===f?void 0:`el nombre cambia: blur-${m} es ${x}px y en TaishoDS es ${f}`;c(`blur-${m}`,`ts-blur-${f}`,"blur",!0,w),c(`backdrop-blur-${m}`,`ts-backdrop-blur-${f}`,"blur",!0,w)}else l(`blur de ${x}px no est\xE1 en la escala`,`blur-${m}`,`backdrop-blur-${m}`)}c("shadow-none","ts-shadow-none","sombra",!0);for(let m of Sd)m in ke?c(`shadow-${m}`,`ts-shadow-${m}`,"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-${m}`);for(let[m,x,f,w,u=!0]of jd)c(m,`ts-${x}`,f,u,w,"la clase de TaishoDS no est\xE1 emitida (su vocabulario es m\xE1s corto que el de Tailwind)");for(let m of Cd)i(`ts-bg-${m}`)===null?c(`bg-${m}`,`ts-bg-${m}`,"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-${m}`,`text-${m}`);let p=[];for(let[m,x]of Object.entries(zd))me(gn[m]??"")===x?p.push({tailwind:`${m}:`,taisho:`${m}:`,px:x}):l(`el corte ${m} no est\xE1 en las pantallas del Core; se agrega con extend.screens`,`${m}:*`);let h=[...new Set([...n].flatMap(m=>/^ts-bg-[a-z]+-(\d+)$/.exec(m)?.[1]??[]))],t=$o.filter(m=>o.includes(m)),g=ko.filter(m=>h.includes(m));for(let m of sr)for(let x of t)for(let f of g){let w=`ts-${m.taisho}-${x}-${f}`,u=i(w);if(u)throw new Error(`tailwind-map: ${m.tailwind}-${x}-${f} \u2192 ${w} ${u}`)}let b={tailwind:ud,unidades:`En Tailwind el n\xFAmero de una medida es un paso de ${En("1")}px (w-64 = 16rem = 256px con 1rem = ${gd}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:a,variantes:p,colores:{prefijos:sr,familiasCompartidas:t,familiasSoloTailwind:$o.filter(m=>!o.includes(m)),familiasSoloTaisho:o.filter(m=>!$o.includes(m)),escalonesCompartidos:g,escalonesSoloTailwind:ko.filter(m=>!h.includes(m)),escalonesSoloTaisho:h.filter(m=>!ko.includes(m)),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:[...[...r].map(([m,x])=>({clases:x,motivo:m})),...Td]};return{...b,en:tr(b)}}function Ed(e){let n=[];for(let s=e.indexOf(`
3216
3216
  `);s>=0;s=e.indexOf(`
3217
- `,s+1))n.push(s);return s=>{let o=0,a=n.length;for(;o<a;){let r=o+a>>1;n[r]<s?o=r+1:a=r}return{line:o+1,column:s-(o>0?n[o-1]:-1)}}}var Sd=new Set(["html","htm","svelte","vue","astro","jsx","tsx"]),zd=8,jd=5;function or(e){let n=new Set;for(let f of e.components.replace(/\/\*[\s\S]*?\*\//g,"").matchAll(/\.([A-Za-z_][A-Za-z0-9_-]*)/g))!f[1].startsWith("ts-")&&Mt(f[1])&&!/^(is|has)-/.test(f[1])&&n.add(f[1]);let s=Object.keys(e.userUtilities).filter(f=>!At(f)),o=new Map;for(let[f,w]of e.modificadoresPropios)for(let u of w)o.set(u,[...o.get(u)??[],f]);let a=[...e.nombresCortos.filter(f=>e.atomicas.has(f)),...s],r=new Set([...e.nombresCortos,...e.componentes,...n,...s,"ts","dark"]);for(let f of e.components.replace(/\/\*[\s\S]*?\*\//g,"").matchAll(/\.ts-([A-Za-z_][A-Za-z0-9_-]*)/g))gt(`ts-${f[1]}`)||r.add(f[1]);for(let f of[...o.keys()])r.has(f)&&o.delete(f);for(let f of o.keys())r.add(f);let l=[...a,...n],i=new Set(l.filter(f=>f.includes("-"))),c=new Map;for(let f of l){let w=f.split("-");for(let u=1;u<w.length;u++){let v=w.slice(0,u).join("-")+"-";c.set(v,(c.get(v)??0)+1)}}let d=[...c].filter(([,f])=>f>=zd).map(([f])=>f),p,h=()=>p??=sr({vigentes:new Set(e.nombresCortos.map(f=>`ts-${f}`)),esc:va(),familias:[]}),t,g=()=>t??=new Map(h().filas.filter(f=>f.tailwind.includes("-")&&f.tailwind!==f.scope).map(f=>[f.tailwind,f.scope])),b,m=f=>{if(!b){let w=h().sinEquivalente.flatMap(u=>u.clases.filter(v=>!v.includes(":")).map(v=>[v,u.motivo]));b={exactas:new Map(w.filter(([u])=>!u.endsWith("*")).reverse()),prefijos:w.filter(([u])=>/^[a-z-]+-\*$/.test(u)).map(([u,v])=>[u.slice(0,-1),v])}}return b.exactas.get(f)??b.prefijos.find(([w])=>f.startsWith(w))?.[1]},x=f=>{let w=er(f),u=g().get(f);if(!(w===null&&!u))return{...w!==null&&{px:Number(f.slice(f.lastIndexOf("-")+1)),otherPx:w},...u&&{equivalent:u}}};return{validos:r,candidatos:l,inequivocos:i,raices:d,cadenasPropias:e.cadenasPropias,modificadoresPropios:o,prefijos:e.prefijos,deTailwind:g,sinEquivalente:m,escalaAjena:x}}function Cd(e,n){let s=a=>a.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 ts=e=>/class(?:name)?\]?$/i.test(e),Td=e=>/^[A-Z]/.test(e)||/[-.:]/.test(e);function ir(e,n,s,o={}){let a=[],r=/\.([A-Za-z0-9]+)$/.exec(e.file)?.[1].toLowerCase()??"";if(!Sd.has(r))return a;let l=Cd(e.file,e.content),i=kd(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(b=>b.startsWith("ts-")))continue;let p=lo(l,c.index);if(!p||Td(p.nombre))continue;let h=c.index+c[0].length-1-c[2].length,t=[...c[2].matchAll(/\S+/g)].map(b=>({token:b[0],pos:h+b.index,variante:b[0].slice(0,b[0].lastIndexOf(":")+1),base:b[0].slice(b[0].lastIndexOf(":")+1)}));if(!d.includes("ts")){let b=t.some(x=>n.validos.has(x.base)&&!Mt(x.base)),m=[...new Set(t.filter(x=>n.inequivocos.has(x.base)&&(b||!Mt(x.base))).map(x=>x.base))];if(m.length===0)continue;a.push({file:e.file,...i(c.index),rule:"missing-ts",severity:"error",code:"missing-ts",params:{element:p.nombre,classes:m.slice(0,3)}})}let g=new Set(t.map(b=>b.base));for(let{token:b,pos:m,variante:x,base:f}of t){let w=n.modificadoresPropios.get(f);if(w){x?a.push({file:e.file,...i(m),rule:"unknown-class",severity:"error",code:"modifier-with-variant",params:{class:b,modifier:f,utilities:[...w],suggestion:`${x}${w[0]}`}}):w.some(H=>g.has(H))||a.push({file:e.file,...i(m),rule:"unknown-class",severity:"warning",code:"orphan-modifier",params:{class:b,utilities:[...w]}});continue}let u=x?n.cadenasPropias.get(f):void 0;if(u){let H=x.slice(0,-1).split(":").map(I=>`${I}:`),T=Ct(H,n.prefijos).ok?oe(H,u,n.prefijos).find(I=>!I.ok):void 0;T&&!T.ok&&a.push({file:e.file,...i(m),rule:"unknown-class",severity:"error",code:"invalid-composition",params:Pe(b,f,H,T)});continue}if(o.otherScale&&d.includes("ts")&&n.validos.has(f)){let H=n.escalaAjena(f);H&&a.push({file:e.file,...i(m),rule:"other-scale",severity:"warning",code:"other-scale",params:{class:b,...H}})}if(n.validos.has(f)||/^(ts-|is-|has-|data-|aria-)/.test(f)||!/[a-z]/.test(f))continue;if(/^!./.test(f)||/.!$/.test(f)){let H=`${x}${f.replace(/^!|!$/g,"")}`;a.push({file:e.file,...i(m),rule:"unknown-class",severity:"warning",code:"important-class",params:{class:b,suggestion:H},suggestion:H});continue}let v=gt(`ts-${f}`)?.nuevo;if(v){let H=`${x}${v.slice(3)}`;a.push({file:e.file,...i(m),rule:"unknown-class",severity:"error",code:"renamed-class",params:{class:b,suggestion:H},suggestion:H});continue}let k=/\d/.test(f)&&n.raices.some(H=>f.startsWith(H)),E=f.length>=jd&&!Mt(f)?s.has(f)?s.get(f):s.set(f,ct(f,n.candidatos)).get(f):void 0,R=n.deTailwind().get(f),L=f.includes("-")&&[...n.validos].some(H=>H.startsWith(`${f}-`));if(!k&&!E&&!R&&!L&&!Mt(f)){let H=n.sinEquivalente(f);H&&a.push({file:e.file,...i(m),rule:"unknown-class",severity:"warning",code:"class-without-equivalent",params:{class:b,reason:H}});continue}let J=(E??R)&&`${x}${E??R}`;a.push({file:e.file,...i(m),rule:"unknown-class",severity:"error",code:"unknown-class",params:{class:b,...J&&{suggestion:J}},...J&&{suggestion:J}})}}for(let c of l.matchAll(/(?<=\s)([A-Za-z_:@[][^\s=<>"'{}]*)\s*=\s*(["'])([^"'{}$]*)\2/g)){if(ts(c[1]))continue;let d=c[3].split(/\s+/).filter(Boolean);if(!d.includes("ts"))continue;let p=d.filter(h=>h!=="ts"&&n.validos.has(h.slice(h.lastIndexOf(":")+1)));p.length!==0&&a.push({file:e.file,...i(c.index),rule:"ignored-attribute",severity:"warning",code:"ignored-attribute",params:{attribute:c[1],classes:p.slice(0,3)}})}return a}import ue from"node:fs";import Qt from"node:path";function Ed(e){let[n,s]=e,o=Object.entries(s).map(([a,r])=>`${a}="${r}"`).join(" ");return`<${n}${o?" "+o:""} />`}function ar(e){return{viewBox:"0 0 24 24",stroke:!0,body:e.map(Ed).join("")}}function rr(e){let n=e.match(/viewBox\s*=\s*["']([^"']+)["']/i)?.[1]??"0 0 24 24",o=(e.match(/<svg[^>]*>([\s\S]*?)<\/svg>/i)?.[1]??"").trim(),a=/fill\s*=\s*["']none["']/i.test(e)||/stroke\s*=\s*["']currentColor["']/i.test(e);return{viewBox:n,stroke:a,body:o}}function Rd(e,n){let s=e.length,o=n.length;if(s===0)return o;if(o===0)return s;let a=Array.from({length:s+1},(r,l)=>[l,...new Array(o).fill(0)]);for(let r=0;r<=o;r++)a[0][r]=r;for(let r=1;r<=s;r++)for(let l=1;l<=o;l++){let i=e[r-1]===n[l-1]?0:1;a[r][l]=Math.min(a[r-1][l]+1,a[r][l-1]+1,a[r-1][l-1]+i)}return a[s][o]}function lr(e,n){let s=null,o=1/0;for(let a of n){let r=Rd(e,a);r<o&&(o=r,s=a)}return s!==null&&o<=Math.max(2,Math.ceil(e.length*.4))?s:null}function cr(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:a,body:r,stroke:l}=e[o];return` <symbol id="ts-${o}" viewBox="${a}"${l?' fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"':""}>${r}</symbol>`}).join(`
3217
+ `,s+1))n.push(s);return s=>{let o=0,a=n.length;for(;o<a;){let r=o+a>>1;n[r]<s?o=r+1:a=r}return{line:o+1,column:s-(o>0?n[o-1]:-1)}}}var Rd=new Set(["html","htm","svelte","vue","astro","jsx","tsx"]),Od=8,Dd=5;function lr(e){let n=new Set;for(let f of e.components.replace(/\/\*[\s\S]*?\*\//g,"").matchAll(/\.([A-Za-z_][A-Za-z0-9_-]*)/g))!f[1].startsWith("ts-")&&qt(f[1])&&!/^(is|has)-/.test(f[1])&&n.add(f[1]);let s=Object.keys(e.userUtilities).filter(f=>!At(f)),o=new Map;for(let[f,w]of e.modificadoresPropios)for(let u of w)o.set(u,[...o.get(u)??[],f]);let a=[...e.nombresCortos.filter(f=>e.atomicas.has(f)),...s],r=new Set([...e.nombresCortos,...e.componentes,...n,...s,"ts","dark"]);for(let f of e.components.replace(/\/\*[\s\S]*?\*\//g,"").matchAll(/\.ts-([A-Za-z_][A-Za-z0-9_-]*)/g))gt(`ts-${f[1]}`)||r.add(f[1]);for(let f of[...o.keys()])r.has(f)&&o.delete(f);for(let f of o.keys())r.add(f);let l=[...a,...n],i=new Set(l.filter(f=>f.includes("-"))),c=new Map;for(let f of l){let w=f.split("-");for(let u=1;u<w.length;u++){let v=w.slice(0,u).join("-")+"-";c.set(v,(c.get(v)??0)+1)}}let d=[...c].filter(([,f])=>f>=Od).map(([f])=>f),p,h=()=>p??=rr({vigentes:new Set(e.nombresCortos.map(f=>`ts-${f}`)),esc:ka(),familias:[]}),t,g=()=>t??=new Map(h().filas.filter(f=>f.tailwind.includes("-")&&f.tailwind!==f.scope).map(f=>[f.tailwind,f.scope])),b,m=f=>{if(!b){let w=h().sinEquivalente.flatMap(u=>u.clases.filter(v=>!v.includes(":")).map(v=>[v,u.motivo]));b={exactas:new Map(w.filter(([u])=>!u.endsWith("*")).reverse()),prefijos:w.filter(([u])=>/^[a-z-]+-\*$/.test(u)).map(([u,v])=>[u.slice(0,-1),v])}}return b.exactas.get(f)??b.prefijos.find(([w])=>f.startsWith(w))?.[1]},x=f=>{let w=ir(f),u=g().get(f);if(!(w===null&&!u))return{...w!==null&&{px:Number(f.slice(f.lastIndexOf("-")+1)),otherPx:w},...u&&{equivalent:u}}};return{validos:r,candidatos:l,inequivocos:i,raices:d,cadenasPropias:e.cadenasPropias,modificadoresPropios:o,prefijos:e.prefijos,deTailwind:g,sinEquivalente:m,escalaAjena:x}}function Ad(e,n){let s=a=>a.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 os=e=>/class(?:name)?\]?$/i.test(e),qd=e=>/^[A-Z]/.test(e)||/[-.:]/.test(e);function cr(e,n,s,o={}){let a=[],r=/\.([A-Za-z0-9]+)$/.exec(e.file)?.[1].toLowerCase()??"";if(!Rd.has(r))return a;let l=Ad(e.file,e.content),i=Ed(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(b=>b.startsWith("ts-")))continue;let p=uo(l,c.index);if(!p||qd(p.nombre))continue;let h=c.index+c[0].length-1-c[2].length,t=[...c[2].matchAll(/\S+/g)].map(b=>({token:b[0],pos:h+b.index,variante:b[0].slice(0,b[0].lastIndexOf(":")+1),base:b[0].slice(b[0].lastIndexOf(":")+1)}));if(!d.includes("ts")){let b=t.some(x=>n.validos.has(x.base)&&!qt(x.base)),m=[...new Set(t.filter(x=>n.inequivocos.has(x.base)&&(b||!qt(x.base))).map(x=>x.base))];if(m.length===0)continue;a.push({file:e.file,...i(c.index),rule:"missing-ts",severity:"error",code:"missing-ts",params:{element:p.nombre,classes:m.slice(0,3)}})}let g=new Set(t.map(b=>b.base));for(let{token:b,pos:m,variante:x,base:f}of t){let w=n.modificadoresPropios.get(f);if(w){x?a.push({file:e.file,...i(m),rule:"unknown-class",severity:"error",code:"modifier-with-variant",params:{class:b,modifier:f,utilities:[...w],suggestion:`${x}${w[0]}`}}):w.some(J=>g.has(J))||a.push({file:e.file,...i(m),rule:"unknown-class",severity:"warning",code:"orphan-modifier",params:{class:b,utilities:[...w]}});continue}let u=x?n.cadenasPropias.get(f):void 0;if(u){let J=x.slice(0,-1).split(":").map(I=>`${I}:`),j=Et(J,n.prefijos).ok?re(J,u,n.prefijos).find(I=>!I.ok):void 0;j&&!j.ok&&a.push({file:e.file,...i(m),rule:"unknown-class",severity:"error",code:"invalid-composition",params:Fe(b,f,J,j)});continue}if(o.otherScale&&d.includes("ts")&&n.validos.has(f)){let J=n.escalaAjena(f);J&&a.push({file:e.file,...i(m),rule:"other-scale",severity:"warning",code:"other-scale",params:{class:b,...J}})}if(n.validos.has(f)||/^(ts-|is-|has-|data-|aria-)/.test(f)||!/[a-z]/.test(f))continue;if(/^!./.test(f)||/.!$/.test(f)){let J=`${x}${f.replace(/^!|!$/g,"")}`;a.push({file:e.file,...i(m),rule:"unknown-class",severity:"warning",code:"important-class",params:{class:b,suggestion:J},suggestion:J});continue}let v=gt(`ts-${f}`)?.nuevo;if(v){let J=`${x}${v.slice(3)}`;a.push({file:e.file,...i(m),rule:"unknown-class",severity:"error",code:"renamed-class",params:{class:b,suggestion:J},suggestion:J});continue}let $=/\d/.test(f)&&n.raices.some(J=>f.startsWith(J)),E=f.length>=Dd&&!qt(f)?s.has(f)?s.get(f):s.set(f,ct(f,n.candidatos)).get(f):void 0,R=n.deTailwind().get(f),N=f.includes("-")&&[...n.validos].some(J=>J.startsWith(`${f}-`));if(!$&&!E&&!R&&!N&&!qt(f)){let J=n.sinEquivalente(f);J&&a.push({file:e.file,...i(m),rule:"unknown-class",severity:"warning",code:"class-without-equivalent",params:{class:b,reason:J}});continue}let Z=(E??R)&&`${x}${E??R}`;a.push({file:e.file,...i(m),rule:"unknown-class",severity:"error",code:"unknown-class",params:{class:b,...Z&&{suggestion:Z}},...Z&&{suggestion:Z}})}}for(let c of l.matchAll(/(?<=\s)([A-Za-z_:@[][^\s=<>"'{}]*)\s*=\s*(["'])([^"'{}$]*)\2/g)){if(os(c[1]))continue;let d=c[3].split(/\s+/).filter(Boolean);if(!d.includes("ts"))continue;let p=d.filter(h=>h!=="ts"&&n.validos.has(h.slice(h.lastIndexOf(":")+1)));p.length!==0&&a.push({file:e.file,...i(c.index),rule:"ignored-attribute",severity:"warning",code:"ignored-attribute",params:{attribute:c[1],classes:p.slice(0,3)}})}return a}import he from"node:fs";import ee from"node:path";function Md(e){let[n,s]=e,o=Object.entries(s).map(([a,r])=>`${a}="${r}"`).join(" ");return`<${n}${o?" "+o:""} />`}function dr(e){return{viewBox:"0 0 24 24",stroke:!0,body:e.map(Md).join("")}}function pr(e){let n=e.match(/viewBox\s*=\s*["']([^"']+)["']/i)?.[1]??"0 0 24 24",o=(e.match(/<svg[^>]*>([\s\S]*?)<\/svg>/i)?.[1]??"").trim(),a=/fill\s*=\s*["']none["']/i.test(e)||/stroke\s*=\s*["']currentColor["']/i.test(e);return{viewBox:n,stroke:a,body:o}}function Id(e,n){let s=e.length,o=n.length;if(s===0)return o;if(o===0)return s;let a=Array.from({length:s+1},(r,l)=>[l,...new Array(o).fill(0)]);for(let r=0;r<=o;r++)a[0][r]=r;for(let r=1;r<=s;r++)for(let l=1;l<=o;l++){let i=e[r-1]===n[l-1]?0:1;a[r][l]=Math.min(a[r-1][l]+1,a[r][l-1]+1,a[r-1][l-1]+i)}return a[s][o]}function ur(e,n){let s=null,o=1/0;for(let a of n){let r=Id(e,a);r<o&&(o=r,s=a)}return s!==null&&o<=Math.max(2,Math.ceil(e.length*.4))?s:null}function gr(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:a,body:r,stroke:l}=e[o];return` <symbol id="ts-${o}" viewBox="${a}"${l?' fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"':""}>${r}</symbol>`}).join(`
3218
3218
  `)+`
3219
3219
  </svg>
3220
- `}var rt=(e,n,s)=>`${e} ${e===1?n:s}`,wo=e=>new Intl.ListFormat("en",{type:"disjunction"}).format(e),Od={ayuda:`
3220
+ `}var at=(e,n,s)=>`${e} ${e===1?n:s}`,So=e=>new Intl.ListFormat("en",{type:"disjunction"}).format(e),Pd={ayuda:`
3221
3221
  taisho \u2014 TaishoDS personalizable
3222
3222
 
3223
3223
  Uso:
@@ -3225,11 +3225,11 @@ Uso:
3225
3225
  --yes, -y Sin preguntas: escribe el starter con defaults
3226
3226
  taisho generate [config] Compila tu taisho.config.ts a una carpeta autocontenida
3227
3227
  --config <path> Ruta al config (default: ./taisho.config.ts)
3228
- --out <dir> Carpeta de salida (default: ./taisho/)
3228
+ --out <dir> Carpeta de salida (default: el out de tu config; si no, ./taisho/)
3229
3229
  --strict Sale con 1 si hubo cualquier aviso (la salida se escribe igual)
3230
3230
  taisho watch [config] Regenera tu CSS cada vez que cambia tu content, tu config o src/icons/
3231
3231
  --config <path> Ruta al config (default: ./taisho.config.ts)
3232
- --out <dir> Carpeta de salida (default: ./taisho/)
3232
+ --out <dir> Carpeta de salida (default: el out de tu config; si no, ./taisho/)
3233
3233
  Ctrl+C para salir (con 0). Un import dentro de tu config no se detecta
3234
3234
  taisho migrate --from classic [rutas] Pasa tu c\xF3digo del modo cl\xE1sico (ts-flex) al modo scope (ts flex)
3235
3235
  [rutas] Archivos o carpetas a revisar (reemplazan a content; sin ellas y sin content, no se tocan los .md)
@@ -3239,7 +3239,7 @@ Uso:
3239
3239
  [rutas] Archivos o carpetas a revisar (reemplazan a content; los .css se leen, nunca se escriben)
3240
3240
  --write Aplica los cambios (sin esto s\xF3lo reporta)
3241
3241
  --config <path> Ruta al config: de ah\xED salen content, el vocabulario y los colores
3242
- --out <dir> Carpeta de salida de generate, que no se lee (default: ./taisho/)
3242
+ --out <dir> Carpeta de salida de generate, que no se lee (default: el out de tu config; si no, ./taisho/)
3243
3243
  Sale con 0 si corri\xF3 (haya pendientes o no), 2 si no pudo correr (uso, config o Tailwind 3)
3244
3244
  taisho check [rutas\u2026] Avisa clases y variables del DS mal escritas en tu c\xF3digo
3245
3245
  [rutas] Archivos, carpetas o globs (sin ellas: content, o el proyecto sin dist/build/coverage)
@@ -3252,11 +3252,11 @@ Uso:
3252
3252
  taisho --help Muestra esta ayuda
3253
3253
  `,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}.
3254
3254
  Se crea uno con \`taisho init\`.`,noCargo:e=>`No se pudo cargar ${e}:`,noCargoCon:(e,n)=>`No se pudo cargar ${e}:
3255
- ${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
3255
+ ${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
3256
3256
  // (theme.css si hay uno solo, theme-<key>.css si hay varios).`,colores:` // Colores semilla (hex). El motor deriva toda la paleta OKLCH
3257
3257
  // (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
3258
3258
  // 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)
3259
- // 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=>`
3259
+ // 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=>`
3260
3260
  \u2705 Generado en ${e}/
3261
3261
  `,pegar:`Esto va en tu HTML, en este orden:
3262
3262
  `,iconos:`
@@ -3268,7 +3268,7 @@ ${e.join(`
3268
3268
  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,a)=>`${e} ${n} necesita ${s} ${o}; est\xE1 instalado ${a}`},watch:{sinCambios:"sin cambios",alDia:(e,n,s,o,a)=>`\u2705 ${e}/ al d\xEDa (${n} archivos, ${s} ms). Mirando ${o!==null?`${o} archivos de content, la config y ${a}/`:`la config y ${a}/`}. 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)"}
3269
3269
  `,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=>`
3270
3270
  No convertidos o con reservas (${e}):`,resumen:(e,n,s,o,a,r)=>`
3271
- Resumen: ${e} archivo(s) revisados, ${n} ${s?"modificados":"a modificar"}; ${o} clase(s) a scope, ${a} llave(s) \`ts\`, ${r} 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"} (${rt(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 (${rt(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: ${rt(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`."}},Dd={ayuda:`
3271
+ Resumen: ${e} archivo(s) revisados, ${n} ${s?"modificados":"a modificar"}; ${o} clase(s) a scope, ${a} llave(s) \`ts\`, ${r} 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"} (${at(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 (${at(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: ${at(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`."}},Nd={ayuda:`
3272
3272
  taisho \u2014 customizable TaishoDS
3273
3273
 
3274
3274
  Usage:
@@ -3276,11 +3276,11 @@ Usage:
3276
3276
  --yes, -y Skip the questions and write the starter with defaults
3277
3277
  taisho generate [config] Compile your taisho.config.ts to a self-contained folder
3278
3278
  --config <path> Path to the config (default: ./taisho.config.ts)
3279
- --out <dir> Output folder (default: ./taisho/)
3279
+ --out <dir> Output folder (default: the out in your config; else ./taisho/)
3280
3280
  --strict Exit with 1 on any warning (the output is still written)
3281
3281
  taisho watch [config] Regenerate your CSS whenever your content, your config, or src/icons/ changes
3282
3282
  --config <path> Path to the config (default: ./taisho.config.ts)
3283
- --out <dir> Output folder (default: ./taisho/)
3283
+ --out <dir> Output folder (default: the out in your config; else ./taisho/)
3284
3284
  Press Ctrl+C to exit (with 0). An import inside your config isn't detected
3285
3285
  taisho migrate --from classic [paths] Move your code from classic mode (ts-flex) to scope mode (ts flex)
3286
3286
  [paths] Files or folders to check (they replace content; without them or content, .md files are left alone)
@@ -3290,7 +3290,7 @@ Usage:
3290
3290
  [paths] Files or folders to check (they replace content; .css files are read, never written)
3291
3291
  --write Apply the changes (without it, it only reports)
3292
3292
  --config <path> Path to the config, which provides content, the vocabulary, and the colors
3293
- --out <dir> Output folder of generate, which isn't read (default: ./taisho/)
3293
+ --out <dir> Output folder of generate, which isn't read (default: the out in your config; else ./taisho/)
3294
3294
  Exits with 0 if it ran (with or without pending items), 2 if it couldn't run (usage, config, or Tailwind 3)
3295
3295
  taisho check [paths\u2026] Flag misspelled DS classes and variables in your code
3296
3296
  [paths] Files, folders, or globs (by default, content, or the project minus dist/build/coverage)
@@ -3301,13 +3301,13 @@ Usage:
3301
3301
  taisho --lang <es|en> Message language (default: lang in your config, then the system's)
3302
3302
  taisho --version Show the version
3303
3303
  taisho --help Show this help
3304
- `,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 ${wo(e)}. Use --write, --config, or --out.`,checkNoAcepta:e=>`taisho check doesn't take ${wo(e)}. Use --config, --format or --other-scale.`,watchNoAcepta:e=>`taisho watch doesn't take ${wo(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}.
3304
+ `,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 ${So(e)}. Use --write, --config, or --out.`,checkNoAcepta:e=>`taisho check doesn't take ${So(e)}. Use --config, --format or --other-scale.`,watchNoAcepta:e=>`taisho watch doesn't take ${So(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}.
3305
3305
  Run \`taisho init\` to create one.`,noCargo:e=>`Couldn't load ${e}.`,noCargoCon:(e,n)=>`Couldn't load ${e}.
3306
- ${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
3306
+ ${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
3307
3307
  // (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
3308
3308
  // (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
3309
3309
  // 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)
3310
- // 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 ${rt(e,"warning","warnings")}.`,generado:e=>`
3310
+ // 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 ${at(e,"warning","warnings")}.`,generado:e=>`
3311
3311
  \u2705 Generated in ${e}/
3312
3312
  `,pegar:`Paste this into your HTML, in this order:
3313
3313
  `,iconos:`
@@ -3316,21 +3316,21 @@ For icons, use the same <use href="\u2026#ts-name"> it found in your HTML:
3316
3316
  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>):
3317
3317
  ${e.join(`
3318
3318
  `)}
3319
- Fix the name (lucide) or add an SVG at "${n}/<name>.svg".`,quisisteDecir:e=>` \u2014 did you mean "${e}"?`,coreDistinto:(e,n,s,o,a)=>`${e} ${n} needs ${s} ${o}, and you have ${a}`},watch:{sinCambios:"no changes",alDia:(e,n,s,o,a)=>`\u2705 ${e}/ is up to date (${rt(n,"file","files")}, ${s} ms). Watching ${o!==null?`${rt(o,"content file","content files")}, the config, and ${a}/`:`the config and ${a}/`}. 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: ${rt(e,"file","files")} checked, ${rt(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."}
3320
- `,convertidos:(e,n)=>`${e?"Converted":"To convert"} (${rt(n,"file","files")}):`,nada:" (none)",archivo:(e,n,s,o)=>` ${e} ${n} converted, ${rt(s,"`ts` scope class","`ts` scope classes")}${o?`, ${o} renamed`:""}`,pendientes:e=>`
3319
+ Fix the name (lucide) or add an SVG at "${n}/<name>.svg".`,quisisteDecir:e=>` \u2014 did you mean "${e}"?`,coreDistinto:(e,n,s,o,a)=>`${e} ${n} needs ${s} ${o}, and you have ${a}`},watch:{sinCambios:"no changes",alDia:(e,n,s,o,a)=>`\u2705 ${e}/ is up to date (${at(n,"file","files")}, ${s} ms). Watching ${o!==null?`${at(o,"content file","content files")}, the config, and ${a}/`:`the config and ${a}/`}. 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: ${at(e,"file","files")} checked, ${at(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."}
3320
+ `,convertidos:(e,n)=>`${e?"Converted":"To convert"} (${at(n,"file","files")}):`,nada:" (none)",archivo:(e,n,s,o)=>` ${e} ${n} converted, ${at(s,"`ts` scope class","`ts` scope classes")}${o?`, ${o} renamed`:""}`,pendientes:e=>`
3321
3321
  Not converted, or converted with caveats (${e}):`,resumen:(e,n,s,o,a,r)=>`
3322
- Summary: ${rt(e,"file","files")} checked, ${n} ${s?"modified":"to modify"}; ${rt(o,"class","classes")} to scope, ${rt(a,"`ts` scope class","`ts` scope classes")}, ${rt(r,"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"} (${rt(n,"file","files")}):`,nada:" (none)",archivo:(e,n,s)=>` ${e} ${n} converted, ${rt(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 (${rt(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: ${rt(e.revisados,"file checked","files checked")}, ${e.tocados} ${e.write?"modified":"to modify"}; ${rt(e.convertidas,"class","classes")} to TaishoDS (${e.conOtroValor!==null?`${e.conOtroValor} with a different value`:"all with the same value"}), ${rt(e.llaves,"`ts` scope class","`ts` scope classes")}, ${rt(e.choques,"conflict","conflicts")}, ${e.pendientes} not converted, ${e.fuera} outside the classes, ${rt(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`."}},dr={es:Od,en:Dd};var Ad=e=>e==="es"||e==="en";function pr(e=process.env){let n=e.LC_ALL||e.LC_MESSAGES||e.LANG||"";return/^es/i.test(n)?"es":"en"}var $o;function ko(e,n){let s=n?.lang;return $o=e??(Ad(s)?s:void 0)??pr(),$o}var Ze=()=>$o??pr(),Lt=()=>dr[Ze()];var ur=/(?:xlink:href|href)=["'][^"']*#ts-([a-z0-9]+(?:-[a-z0-9]+)*)["']/g,gr=/data-ts-icon=["']([^"']+)["']/g,Md=/\.(html|svelte|vue|astro|jsx|tsx)$/;function qd(e,n){let s=[],o=a=>{if(ue.existsSync(a))for(let r of ue.readdirSync(a,{withFileTypes:!0})){let l=Qt.join(a,r.name);if(Qt.resolve(l)!==Qt.resolve(n))if(r.isDirectory()){if(r.name==="node_modules"||r.name.startsWith("."))continue;o(l)}else r.isFile()&&r.name.endsWith(".html")&&s.push(l)}};for(let a of e)o(a);return s}function mr(e){let n=e.replace(/<!--[\s\S]*?-->/g,""),s=new Set,o;for(ur.lastIndex=0;(o=ur.exec(n))!==null;)s.add(o[1]);for(gr.lastIndex=0;(o=gr.exec(n))!==null;)s.add(o[1]);return s}function So(e,n){return{origen:e,nombres:[...mr(n)],soloAviso:!Md.test(e)}}function zo(e){let n=Qt.resolve(e,"node_modules/lucide-static/icon-nodes.json");if(!ue.existsSync(n))return console.warn(Lt().generate.lucideFalta),{lucideNodes:{},lucideAliases:{}};let s=JSON.parse(ue.readFileSync(n,"utf8"));return{lucideNodes:s,lucideAliases:bo(Qt.dirname(n),s)}}function jo(e,n){let s={},o=Qt.resolve(e,n);if(ue.existsSync(o))for(let a of ue.readdirSync(o)){if(!a.endsWith(".svg"))continue;let r=a.slice(0,-4);s[r]=rr(ue.readFileSync(Qt.join(o,a),"utf8"))}return s}function Co(e,n,s,o){let{lucideNodes:a,lucideAliases:r,customIcons:l}=e,i=h=>!!a[h]||!!r[h]||!!l[h],c=new Set,d=[];for(let h of s)i(h)?c.add(h):d.push({name:h,origen:"taisho.config.ts (icons)"});for(let{origen:h,nombres:t,soloAviso:g}of n)for(let b of t)i(b)?c.add(b):g?console.warn(Lt().generate.iconoIgnorado(b,h)):d.push({name:b,origen:h});if(d.length>0){let h=[...Object.keys(a),...Object.keys(r),...Object.keys(l)],t=d.map(({name:g,origen:b})=>{let m=lr(g,h);return` \u2022 "${g}"${m?Lt().generate.quisisteDecir(m):""} (${b})`});throw new Error(Lt().generate.iconosInexistentes(t,o))}let p={};for(let h of c){let t=a[r[h]??h];p[h]=t?ar(t):l[h]}return cr(p)}function fr(e){let{files:n=[],roots:s=n.length?[]:["."],skip:o,customIconsDir:a,cwd:r,nodeModulesBase:l=r,safelist:i=[]}=e,c={...zo(l),customIcons:jo(r,a)},d=[];for(let p of qd(s.map(h=>Qt.resolve(r,h)),o))d.push({origen:Qt.relative(r,p),nombres:mr(ue.readFileSync(p,"utf8"))});for(let{file:p,content:h}of n)d.push(So(p,h));return Co(c,d,i,a)}import To from"node:fs";import Ke from"node:path";var Id=e=>e.split("/").includes("node_modules");function Eo({globs:e,baseDir:n,outDir:s,excluir:o=[]}){let a=Ke.resolve(s),r=new Set;for(let l of e){let i=Id(l),c=To.globSync(l,{cwd:n,exclude:d=>{let p=d.split(/[\\/]/).pop();return p==="node_modules"&&!i||o.includes(p)||p.startsWith(".")&&p!=="."&&p!==".."}});for(let d of c){let p=Ke.resolve(n,d),h=Ke.relative(n,p).split(Ke.sep);if(h.some(g=>g.startsWith(".")&&g!=="..")||!i&&h.includes("node_modules")||h.some(g=>o.includes(g))||p===a||p.startsWith(a+Ke.sep)||!To.statSync(p).isFile())continue;let t=h.join("/");r.has(t)||r.add(t)}}return[...r]}function hr(e){return Eo(e).map(n=>({file:n,content:To.readFileSync(Ke.resolve(e.baseDir,n),"utf8")}))}import zt from"node:fs";import vt from"node:path";import{fileURLToPath as Hd}from"node:url";import{createRequire as Pd}from"node:module";var Nd=Pd(import.meta.url),Ld=/[^\s{}<>$]*\s*(?<!\$)\{[^{}$]*:[^{}$]*\}/g,_d=/\bstyle\s*=\s*(["'])[^"'\n]*\1/g,Fd=e=>e.replace(_d," ").replace(Ld," ");function Xe(e){return Vd(e).map(Fd)}function Vd(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(`
3322
+ Summary: ${at(e,"file","files")} checked, ${n} ${s?"modified":"to modify"}; ${at(o,"class","classes")} to scope, ${at(a,"`ts` scope class","`ts` scope classes")}, ${at(r,"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"} (${at(n,"file","files")}):`,nada:" (none)",archivo:(e,n,s)=>` ${e} ${n} converted, ${at(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 (${at(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: ${at(e.revisados,"file checked","files checked")}, ${e.tocados} ${e.write?"modified":"to modify"}; ${at(e.convertidas,"class","classes")} to TaishoDS (${e.conOtroValor!==null?`${e.conOtroValor} with a different value`:"all with the same value"}), ${at(e.llaves,"`ts` scope class","`ts` scope classes")}, ${at(e.choques,"conflict","conflicts")}, ${e.pendientes} not converted, ${e.fuera} outside the classes, ${at(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`."}},mr={es:Pd,en:Nd};var Ld=e=>e==="es"||e==="en";function fr(e=process.env){let n=e.LC_ALL||e.LC_MESSAGES||e.LANG||"";return/^es/i.test(n)?"es":"en"}var zo;function jo(e,n){let s=n?.lang;return zo=e??(Ld(s)?s:void 0)??fr(),zo}var Qe=()=>zo??fr(),_t=()=>mr[Qe()];var hr=/(?:xlink:href|href)=["'][^"']*#ts-([a-z0-9]+(?:-[a-z0-9]+)*)["']/g,br=/data-ts-icon=["']([^"']+)["']/g,_d=/\.(html|svelte|vue|astro|jsx|tsx)$/;function Fd(e,n){let s=[],o=a=>{if(he.existsSync(a))for(let r of he.readdirSync(a,{withFileTypes:!0})){let l=ee.join(a,r.name);if(ee.resolve(l)!==ee.resolve(n))if(r.isDirectory()){if(r.name==="node_modules"||r.name.startsWith("."))continue;o(l)}else r.isFile()&&r.name.endsWith(".html")&&s.push(l)}};for(let a of e)o(a);return s}function yr(e){let n=e.replace(/<!--[\s\S]*?-->/g,""),s=new Set,o;for(hr.lastIndex=0;(o=hr.exec(n))!==null;)s.add(o[1]);for(br.lastIndex=0;(o=br.exec(n))!==null;)s.add(o[1]);return s}function Co(e,n){return{origen:e,nombres:[...yr(n)],soloAviso:!_d.test(e)}}function To(e){let n=ee.resolve(e,"node_modules/lucide-static/icon-nodes.json");if(!he.existsSync(n))return console.warn(_t().generate.lucideFalta),{lucideNodes:{},lucideAliases:{}};let s=JSON.parse(he.readFileSync(n,"utf8"));return{lucideNodes:s,lucideAliases:xo(ee.dirname(n),s)}}function Eo(e,n){let s={},o=ee.resolve(e,n);if(he.existsSync(o))for(let a of he.readdirSync(o)){if(!a.endsWith(".svg"))continue;let r=a.slice(0,-4);s[r]=pr(he.readFileSync(ee.join(o,a),"utf8"))}return s}function Ro(e,n,s,o){let{lucideNodes:a,lucideAliases:r,customIcons:l}=e,i=h=>!!a[h]||!!r[h]||!!l[h],c=new Set,d=[];for(let h of s)i(h)?c.add(h):d.push({name:h,origen:"taisho.config.ts (icons)"});for(let{origen:h,nombres:t,soloAviso:g}of n)for(let b of t)i(b)?c.add(b):g?console.warn(_t().generate.iconoIgnorado(b,h)):d.push({name:b,origen:h});if(d.length>0){let h=[...Object.keys(a),...Object.keys(r),...Object.keys(l)],t=d.map(({name:g,origen:b})=>{let m=ur(g,h);return` \u2022 "${g}"${m?_t().generate.quisisteDecir(m):""} (${b})`});throw new Error(_t().generate.iconosInexistentes(t,o))}let p={};for(let h of c){let t=a[r[h]??h];p[h]=t?dr(t):l[h]}return gr(p)}function vr(e){let{files:n=[],roots:s=n.length?[]:["."],skip:o,customIconsDir:a,cwd:r,nodeModulesBase:l=r,safelist:i=[]}=e,c={...To(l),customIcons:Eo(r,a)},d=[];for(let p of Fd(s.map(h=>ee.resolve(r,h)),o))d.push({origen:ee.relative(r,p),nombres:yr(he.readFileSync(p,"utf8"))});for(let{file:p,content:h}of n)d.push(Co(p,h));return Ro(c,d,i,a)}import Oo from"node:fs";import tn from"node:path";var Vd=e=>e.split("/").includes("node_modules");function Do({globs:e,baseDir:n,outDir:s,excluir:o=[]}){let a=tn.resolve(s),r=new Set;for(let l of e){let i=Vd(l),c=Oo.globSync(l,{cwd:n,exclude:d=>{let p=d.split(/[\\/]/).pop();return p==="node_modules"&&!i||o.includes(p)||p.startsWith(".")&&p!=="."&&p!==".."}});for(let d of c){let p=tn.resolve(n,d),h=tn.relative(n,p).split(tn.sep);if(h.some(g=>g.startsWith(".")&&g!=="..")||!i&&h.includes("node_modules")||h.some(g=>o.includes(g))||p===a||p.startsWith(a+tn.sep)||!Oo.statSync(p).isFile())continue;let t=h.join("/");r.has(t)||r.add(t)}}return[...r]}function xr(e){return Do(e).map(n=>({file:n,content:Oo.readFileSync(tn.resolve(e.baseDir,n),"utf8")}))}import zt from"node:fs";import yt from"node:path";import{fileURLToPath as Yd}from"node:url";import{createRequire as Ud}from"node:module";var Wd=Ud(import.meta.url),Bd=/[^\s{}<>$]*\s*(?<!\$)\{[^{}$]*:[^{}$]*\}/g,Hd=/\bstyle\s*=\s*(["'])[^"'\n]*\1/g,Gd=e=>e.replace(Hd," ").replace(Bd," ");function en(e){return Jd(e).map(Gd)}function Jd(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(`
3323
3323
  `,s)===-1?e.length:e.indexOf(`
3324
3324
  `,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 a=s+1;for(;a<e.length&&e[a]!==o&&e[a]!==`
3325
- `;)a+=e[a]==="\\"?2:1;n.push(e.slice(s+1,a)),s=a}else if(o==="`"){let a=s+1,r=0;for(;a<e.length&&!(e[a]==="`"&&r===0);)e[a]==="\\"?a++:e[a]==="$"&&e[a+1]==="{"?(r++,a++):e[a]==="}"&&r>0&&r--,a++;n.push(e.slice(s+1,a)),s=a}}return n}function Ro(e,n="ts"){try{let{transformSync:s}=Nd("esbuild");return s(e,{loader:n,target:"esnext",...n==="tsx"?{jsx:"preserve"}:{}}).code}catch{return e}}function br(e,n){let s=1,o=n;for(;o<e.length&&s>0;){let a=e[o];if(a==='"'||a==="'"||a==="`"){let r=o+1;for(;r<e.length&&e[r]!==a;)r+=e[r]==="\\"?2:1;o=r+1;continue}a==="{"?s++:a==="}"&&s--,o++}return{strings:Xe(e.slice(n,o-1)),fin:o}}var es=/(\[|:|v-bind:|x-bind:)?([A-Za-z_][\w.:-]*)\]?\s*=\s*(?:(["'])|([^\s"'`=<>{}]+?)(?=\/?>|\s|$))/y;function Ud(e,{llaves:n,astro:s=!1}){let o=[];for(let a=0;a<e.length;){if(e.startsWith("<!--",a)){let c=e.indexOf("-->",a);a=c===-1?e.length:c+3;continue}if(n&&e[a]==="{"){let c=br(e,a+1);o.push(...c.strings),a=c.fin;continue}let r=/^class:([A-Za-z0-9_-]+)/.exec(e.slice(a,a+80));if(r&&/[\s"'}]/.test(e[a-1]??" ")){s&&r[1]==="list"||o.push(r[1]),a+=r[0].length;continue}let l=/^\[class\.([A-Za-z0-9_-]+)\]/.exec(e.slice(a,a+80));if(l&&/\s/.test(e[a-1]??" ")){o.push(l[1]),a+=l[0].length;continue}es.lastIndex=a;let i=/\s/.test(e[a-1]??" ")?es.exec(e):null;if(i&&ts(i[2])){if(i[4]!==void 0){o.push(i[4]),a=es.lastIndex;continue}let c=es.lastIndex,d="";for(;c<e.length&&e[c]!==i[3];)if(n&&e[c]==="{"){let p=br(e,c+1);o.push(...p.strings),d+=e.slice(c,p.fin),c=p.fin}else d+=e[c++];i[1]?o.push(...Xe(d)):o.push(d),a=c+1;continue}a++}return o}function Wd(e){let n=[],s=e.replace(/<script\b[^>]*>([\s\S]*?)<\/script>/g,(o,a)=>(n.push(a),"")).replace(/<style\b[^>]*>[\s\S]*?<\/style>/g,"");return{scripts:n,markup:s}}var Bd=e=>e.replace(/(?<![\w$.:-])([A-Za-z_][\w:-]*)=(["'])[^\n]*?\2/g,(n,s)=>ts(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 Xe(n).join(`
3326
- `);case"ts":case"mts":case"cts":return Xe(Ro(n)).join(`
3327
- `);case"jsx":case"tsx":return Xe(Bd(Ro(n,"tsx"))).join(`
3328
- `);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:a,markup:r}=Wd(o?n.slice(o[0].length):n);o&&a.unshift(o[1]);let l=s!=="html"&&s!=="htm"&&s!=="md";return[...a.flatMap(i=>Xe(Ro(i))),...Ud(r,{llaves:l,astro:s==="astro"})].join(`
3329
- `)}default:return n}}function yr(e,n){let s=ns(e,n);return s===n?n:[s,...n.match(/data-ts-[a-z0-9-]+/g)??[]].join(`
3330
- `)}var Gd="@taishods/core",Jd="./taisho.manifest.json",Zd=1024*1024,_t=(e,n,s="")=>new ft([{path:`extensions[${JSON.stringify(e)}]${s}`,...n}]),Kd=(e,n)=>n.startsWith(e+vt.sep);function vr(e,n,s,o){let a=zt.realpathSync(s);if(!Kd(n,a))throw _t(e,{code:"manifest-path-escapes",params:{file:o}});if(!zt.lstatSync(a).isFile())throw _t(e,{code:"manifest-file-invalid",params:{file:o,reason:"not-file"}});let r=zt.openSync(a,"r");try{if(zt.fstatSync(r).size>Zd)throw _t(e,{code:"manifest-file-invalid",params:{file:o,reason:"too-big"}});return zt.readFileSync(r,"utf8")}finally{zt.closeSync(r)}}var xr=e=>vt.isAbsolute(e)||e.split(/[\\/]/).includes(".."),ss=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function os(e){if(Array.isArray(e))return e.map(os);if(!ss(e))return e;let n=Object.create(null);for(let[s,o]of Object.entries(e))n[s]=os(o);return n}function wr(e){let n=Object.create(null);for(let s of e)s.estilos&&(n[s.nombre]=s.estilos);return n}function $r(){let e=vt.dirname(Hd(import.meta.url));for(let n=0;n<5;n++){let s=vt.join(e,"package.json");if(zt.existsSync(s))return JSON.parse(zt.readFileSync(s,"utf8")).version;e=vt.dirname(e)}return"0.0.0"}function Xd(e,n){if(e.core!==n)throw new Error(Lt().generate.coreDistinto(e.nombre,e.version,Gd,e.core,n))}function kr(e,n){let s=new Set;for(let o of n){let a=o.replace(/^[./:]+|[./:]+$/g,""),r=Object.hasOwn(e,a)?a:a.split(".")[0];if(Object.hasOwn(e,r))for(let l of e[r])s.add(l)}return[...s]}function Yd(e,n){for(let s=e;;s=vt.dirname(s)){let o=vt.join(s,"node_modules",n);if(zt.existsSync(vt.join(o,"package.json")))return o;if(vt.dirname(s)===s)return null}}function Sr(e,n){let s=vt.join(e,"package.json");if(!zt.existsSync(s))return[];let o=JSON.parse(zt.readFileSync(s,"utf8")),a=new Set;for(let l of["dependencies","devDependencies","peerDependencies","optionalDependencies"])for(let i of Object.keys(o[l]??{}))a.add(i);let r=[];for(let l of[...a].sort()){let i=Yd(e,l);if(!i)continue;let c=JSON.parse(zt.readFileSync(vt.join(i,"package.json"),"utf8")),d=c.exports?.[Jd],p=typeof d=="string"?d:d?.default;if(typeof p!="string")continue;if(c.name!==l)throw _t(l,{code:"package-name-mismatch",params:{name:String(c.name)}});let h=zt.realpathSync(i),t=vt.resolve(i,p);if(xr(p))throw _t(l,{code:"manifest-path-escapes",params:{file:p}});let g,b=vr(l,h,t,p);try{g=JSON.parse(b)}catch{throw _t(l,{code:"manifest-json",params:{file:p}})}if(!ss(g))throw _t(l,{code:"manifest-shape",params:{expected:"object"}});if(g.format!==3)throw _t(l,{code:"manifest-format",params:{version:String(c.version),format:g.format}});let{core:m,componentFiles:x,extension:f}=g;if(!(typeof m=="string"&&ss(x)&&Object.values(x).every(v=>Array.isArray(v)&&v.every(k=>typeof k=="string"))&&(f===void 0||ss(f)&&(f.roots===void 0||Array.isArray(f.roots)&&f.roots.every(v=>typeof v=="string")))))throw _t(l,{code:"manifest-shape",params:{expected:"{ format: 3, core: string, componentFiles: Record<string, string[]>, extension?: object }"}});let u={nombre:l,version:c.version,dir:vt.dirname(t),core:m,componentes:os(x),...f!==void 0&&{estilos:os(f)},archivo:t,raiz:h};Xd(u,n),r.push(u)}return r}function zr(e,n){if(xr(n))throw _t(e.nombre,{code:"manifest-path-escapes",params:{file:n}});return vr(e.nombre,e.raiz,vt.join(e.dir,n),n)}import np from"node:fs";import Qe from"node:path";import{fileURLToPath as sp}from"node:url";import{build as Tr}from"esbuild";var Ye={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 jn=Object.keys(Ye),Oo=e=>e.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`),ge=e=>Ye[e],Qd=(e,n)=>e===n||e.startsWith(`${n}-`);function tp(e){return jn.filter(n=>ge(n).ganchos?.some(s=>Qd(e,s)))}function jr(e){let n=new Set(e);for(let s of n)for(let o of ge(s).requiere??[])n.add(o);return jn.filter(s=>n.has(s))}function Cr(e,n,s){let o=new Set(Do(n));for(let a of e)if(a.startsWith("data-ts-"))for(let r of tp(a))o.add(r);for(let a of jn){let r=ge(a);r.funciones&&Object.keys(r.funciones).some(l=>ep(s,l))&&o.add(a),r.ganchos?.some(l=>!l.startsWith("data-ts-")&&s.includes(l))&&o.add(a)}return[...o]}function Do(e,n=!1){let s=new Set(e);return jn.filter(o=>ge(o).slugs?.some(a=>s.has(a))||n&&ge(o).slugsSafelist?.some(a=>s.has(a)))}function ep(e,n){return new RegExp(`(?<![\\w$.-])${n}(?![\\w$-])\\s*(?:\\(|\\.|,|\\}|as\\s)|\\.${n}(?![\\w$-])|['"\`]${n}['"\`]`).test(e)}var Vf=jn.filter(e=>ge(e).pesado&&ge(e).raices).map(e=>({modulo:e,raices:ge(e).raices}));var Ao=["chrome124","edge124","firefox125","safari17.4","ios17.4"];function Er(){let e=Qe.dirname(sp(import.meta.url)),n=Qe.join(e,"core-modules");return np.existsSync(n)?n:Qe.resolve(e,"../lib/core")}var op=e=>{let n=Ye[e];return n.slugs??n.slugsSafelist??[]},is="taisho.core.key-warning.js";function ip(e,n){let s=i=>JSON.stringify(Qe.join(n,i).split(Qe.sep).join("/")),o=new Set(e),a=[`import { iniciar } from ${s("nucleo")};`,`import { avisarVersiones } from ${s("version")};`,`import { pedirAvisoLlave } from ${s("desarrollo-local")};`,`import { m } from ${s("registro")};`],r=e.filter(i=>i!=="invalid");for(let i of r)a.push(`import { ficha as ${i} } from ${s(Oo(i))};`);a.push(`Object.assign(m, { ${r.join(", ")} });`),a.push(`export { nextIndex } from ${s("roving")};`),a.push(`export { setTexts } from ${s("textos")};`);let l=!1;for(let i of Object.keys(Ye)){let c=Ye[i].funciones;if(c){if(o.has(i)){a.push(`export { ${Object.entries(c).map(([d,p])=>d===p?d:`${p} as ${d}`).join(", ")} } from ${s(Oo(i))};`);continue}for(let d of Object.keys(c))a.push(`export const ${d} = falta(${JSON.stringify(d)}, ${JSON.stringify(op(i)[0]??"")});`);l=!0}}return l&&a.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'}.`); }; }"),a.push(`export function init(root = document) { avisarVersiones(); if (root.getRootNode() === document) pedirAvisoLlave(() => import('./${is}')); iniciar(root); return Promise.resolve(); }`,"if (typeof document !== 'undefined') {"," if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', () => init());"," else init();","}"),a.join(`
3331
- `)}async function Rr(e){let n=Er(),{outputFiles:s}=await Tr({stdin:{contents:ip(e,n),resolveDir:n,loader:"ts"},bundle:!0,format:"esm",target:Ao,minify:!0,write:!1,legalComments:"none",logLevel:"silent",external:[`./${is}`],banner:{js:`/* TaishoDS \u2014 ${ke} */`},define:{__TAISHO_CORE_VERSION__:JSON.stringify(dn)}});return s[0].text}async function Or(){let e=Er(),{outputFiles:n}=await Tr({entryPoints:[Qe.join(e,"aviso-llave")],bundle:!0,format:"esm",target:Ao,minify:!0,write:!1,outdir:"salida",legalComments:"none",logLevel:"silent",banner:{js:`/* TaishoDS \u2014 ${ke} */`},define:{__TAISHO_CORE_VERSION__:JSON.stringify(dn)}});return n[0].text}var Mo=(e,n,s)=>{let o=s?yr(e,n):n;return{raw:n,clases:o,tokens:Ve(o),vars:n.match(/--[a-zA-Z][\w-]*/g)??[],uso:So(e,n)}},qo="taisho.classes.d.ts",Mr=e=>e.split(Et.sep).join("/"),as=e=>JSON.stringify([e.file,e.line,e.code,e.params]);function Io(e,n){let{targetDir:s,cwd:o,configDir:a=o,soloSiCambia:r=!1,versionCore:l=$r()}=n,i={cssArmados:0,cssMinificados:0,temasPodados:0,spritesArmados:0,jsArmados:0},c=e,d,p,h,t=()=>(p??=Sr(o,l),h??=wr(p)),g=()=>{let A=t(),j=$e(c,A),S=Sn(c,j,A),M=j.themeEntries.map(Z=>{let y=Le(Z,j.userFonts,j.defaultStates,j.userScales,A);return{key:Z.group==="root"?Z.name:`${Z.group}-${Z.name}`,avisos:[...y.warnings,...Ni(Z,j.defaultStates)],completo:_e(y,c.darkMode),secciones:Os(y)}});fo(c.fontFaces,o);let G=Fa(c,j,S,A);return{vocab:S,tipos:G.length?Ds(G.map(Z=>`ts-${Z}`)):null,temas:M,fonts:Tn(c.fontFaces,mo(c.fontFaces,o)),plano:Ys({reset:S.reset,atomic:S.atomic,utilities:S.utilities,components:S.components,scales:S.userScales,userUtilities:S.userUtilities}),datosAvisos:or(S),vecinos:new Map,completo:void 0}},b,m,x=Et.resolve(o,Je),f=new Map,w=new Map,u=new Map,v,k,E,R,L,J=new Set,H=A=>Mr(Et.relative(a,Et.resolve(a,A))),T=A=>{let j=Et.resolve(a,A);return j.startsWith(x+Et.sep)&&j.endsWith(".svg")};function I(A){if(!A||A.configCambio!==void 0){let S=new Map;for(let M of hr({globs:c.content,baseDir:a,outDir:s})){let G=w.get(M.file);S.set(M.file,G&&G.raw===M.content?G:Mo(M.file,M.content,!0))}w=S;return}for(let S of A.bajas??[])w.delete(H(S));for(let S of[...A.cambiados??[],...A.altas??[]]){let M=H(S);if(!A.altas?.includes(S)&&!w.has(M))continue;let Z=Et.resolve(a,S);if(!te.existsSync(Z)||!te.statSync(Z).isFile()){w.delete(M);continue}let y=te.readFileSync(Z,"utf8"),C=w.get(M);(!C||C.raw!==y)&&w.set(M,Mo(M,y,!0))}}function N(){t();let A=p;if(!A.length)return[];let j=new Set(w.keys()),S=[];return A.forEach((M,G)=>{let Z=new Set;for(let y of w.values()){if(!y.deLosPaquetes){let C=new Set(Ve(y.raw));y.deLosPaquetes=A.map(q=>kr(q.componentes,C))}for(let C of y.deLosPaquetes[G])Z.add(C)}for(let y of Z){let C=Et.join(M.dir,y),q=Mr(Et.relative(a,C));if(j.has(q))continue;j.add(q);let _=f.get(C);_===void 0&&f.set(C,_=ns(C,zr(M,y)));let V=u.get(q);(!V||V.raw!==_)&&u.set(q,V=Mo(q,_,!1)),S.push([q,V])}}),S}function X(A,j,S){let M=C=>new Set(C.flatMap(q=>[...q.matchAll(/^\s*(--[\w-]+)\s*:/gm)].map(_=>_[1]))),G=M(j),Z=M(S),y=[];for(let C of Eo({globs:["**/*.css"],baseDir:a,outDir:s,excluir:["dist","build","coverage"]})){if(A.has(C))continue;let q=te.readFileSync(Et.resolve(a,C),"utf8"),_=[...new Set([...q.matchAll(/var\(\s*(--[\w-]+)/g)].map(V=>V[1]))].filter(V=>G.has(V)&&!Z.has(V));_.length&&y.push({code:"css-outside-content",params:{variables:_.slice(0,3)},file:C})}return y}async function O(A){let j=Dr.now();if(A?.configCambio){c=A.configCambio,d=void 0,p=h=void 0,f.clear(),u.clear();for(let B of w.values())B.analisis=B.avisos=B.modulos=B.deLosPaquetes=void 0;v=k=R=void 0}let S=d??=g(),{vocab:M}=S,G=c.content!==void 0;[...A?.cambiados??[],...A?.altas??[],...A?.bajas??[]].some(T)&&(m=void 0,E=void 0);let y=[],C=[],q,_,V,K=null;if(G){I(A),C=N(),y=[...w];let B=[...y,...C].sort(([P],[ot])=>P<ot?-1:P>ot?1:0),$=B.map(([P,ot])=>ot.analisis??=po(M,P,ot.tokens,!0)),{variantes:z,planas:F,warnings:Q,forzadas:pt}=Zn(M,c,$,!0);V=[...Q];let nt=Qs(S.plano,{usadas:F,forzadas:pt}),Ot=new Set(B.flatMap(([,P])=>P.vars).filter(P=>/^--ts-(?:lh|ls)-/.test(P))),Dt=`${nt.map(P=>P.name).join(`
3332
- `)}\0${[...z].join(`
3333
- `)}\0${[...Ot].sort().join(" ")}`;if(v?.clave!==Dt){let P=`/* TaishoDS \u2014 ${ke} */
3334
- `+to(S.plano,{variantesUsadas:z,usadas:F,forzadas:pt,varsDelProyecto:Ot});i.cssArmados++;let{code:ot}=await Ar(P,{loader:"css",minify:!0});i.cssMinificados++,v={clave:Dt,css:P,min:ot}}({css:q,min:_}=v);let st=new Set(Do(Zn(M,c,[],!0).enteros,!0));for(let[,P]of y){P.modulos??=Cr(P.tokens,P.analisis.enteros,P.raw);for(let ot of P.modulos)st.add(ot)}let ut=jr(st),wt=ut.join(",");R?.clave!==wt&&(R={clave:wt,js:await Rr(ut)},i.jsArmados++),K=R.js}else{if(w=new Map,!S.completo){let{css:B,warnings:$}=uo(c,[],{extensions:h});i.cssArmados++;let{code:z}=await Ar(B,{loader:"css",minify:!0});i.cssMinificados++,S.completo={css:B,min:z,warnings:$}}({css:q,min:_}=S.completo),V=S.completo.warnings}let Y=G?"taisho.css":"taisho.full.css",it=[...y,...C].map(([,B])=>B),tt=S.temas.map(B=>S.temas.length===1?"theme.css":`theme-${B.key}.css`),xt;if(G){let B=new Set(Ms);for(let z of it)for(let F of z.vars)B.add(F);let $=[...B].sort().join(" ");(k?.css!==q||k.vars!==$)&&(i.temasPodados++,k={css:q,vars:$,temas:S.temas.map(z=>Is(_i(q)?z.completo+z.secciones:z.completo,q,B))}),xt=k.temas}else xt=S.temas.map(B=>B.completo+B.secciones);let mt;if(G){let B=it.map(z=>z.uso),$=`${(c.icons??[]).join(",")}\0${B.map(z=>`${z.soloAviso?1:0}${[...z.nombres].join(",")}`).join(`
3335
- `)}`;E?.huella!==$?(b??=zo(o),m??=jo(o,Je),mt=Co({...b,customIcons:m},B,c.icons??[],Je),i.spritesArmados++,E={huella:$,sprite:mt}):mt=E.sprite}else mt=fr({skip:s,customIconsDir:Je,cwd:o,safelist:c.icons});let Rt=new Set(C.map(([B])=>B)),jt=[...S.temas.flatMap(B=>B.avisos),...V.filter(B=>B.file===void 0||!Rt.has(B.file))];if(G){let B=new Map;for(let[$,z]of y){z.avisos??=ir({file:$,content:z.raw},S.datosAvisos,S.vecinos).map(({code:F,params:Q,file:pt,line:nt})=>({code:F,params:Q,file:pt,line:nt}));for(let F of z.avisos)B.has(as(F))||B.set(as(F),F)}jt.push(...B.values()),jt.push(...X(new Set(y.map(([$])=>$)),S.temas.map($=>$.completo),xt))}let yt=[["fonts.css",S.fonts]];tt.forEach((B,$)=>yt.push([B,xt[$]])),yt.push([Y,_]),K!==null&&(yt.push(["taisho.core.js",K]),L??=await Or(),yt.push([is,L]));let qt=mt.includes("<symbol")?"taisho.icons.svg":null;qt&&yt.push([qt,mt]);let Se=S.tipos===null?null:qo;S.tipos!==null&&yt.push([qo,S.tipos]),te.mkdirSync(s,{recursive:!0}),Se===null&&te.rmSync(Et.join(s,qo),{force:!0});let Cn=[];for(let[B,$]of yt){let z=Et.join(s,B);r&&te.existsSync(z)&&te.readFileSync(z,"utf8")===$||(te.writeFileSync(z,$),Cn.push(B))}let rs=jt.filter(B=>!J.has(as(B)));return J=new Set(jt.map(as)),{temas:tt,fonts:"fonts.css",sistema:Y,js:K,iconos:qt,tipos:Se,warnings:jt,escritos:Cn,contenido:G?[...y,...C].map(([B])=>B):[],avisosNuevos:rs,ms:Dr.now()-j}}return{actualizar:O,stats:i,get manifiestos(){return(p??[]).map(A=>A.archivo)}}}function Po(e){return e instanceof ft?e.errors.map(n=>gn(n,Ze())).join(`
3336
- `):e instanceof Error?e.message:e}function No(e){if(!e||typeof e!="object")return!1;let n=e.themes;return!!n&&typeof n=="object"&&Object.keys(n).length>0}async function qr(e){let s=await ap(import.meta.url,{moduleCache:!1}).import(e);return s.default??s.config}function Lh(e={}){let n,s,o="",a="",r="",l=new Set,i=Promise.resolve(),c,d,p=!0,h=new Map,t=new Map,g=()=>bt.dirname(o);function b(u){let v=d?.content??[],k=bt.relative(g(),u).split(bt.sep);return u.startsWith(a+bt.sep)||k.some(E=>E.startsWith(".")&&E!=="..")?!1:v.some(E=>(k.includes("node_modules")?E.split("/").includes("node_modules"):!0)&&bt.matchesGlob(k.join("/"),E))}function m(){if(s)for(let u of d.content??[]){let v=u.split("/"),k=v.findIndex(R=>/[*?[\]{}()!]/.test(R)),E=bt.resolve(g(),...v.slice(0,k===-1?-1:k));E!==n.root&&!E.startsWith(n.root+bt.sep)&&s.watcher.add(E)}}function x(){if(!s)return;let u=s;for(let v of c?.manifiestos??[]){let k=bt.dirname(v);if(t.has(k))continue;let E=rp.watch(k,(R,L)=>{L===bt.basename(v)&&u.watcher.emit("change",v)});E.on("error",()=>{E.close(),t.delete(k)}),E.unref(),t.set(k,E)}}async function f(u){let v;if(p&&(d=await qr(o),p=!No(d),v=d),!No(d))throw new Error(Lt().config.invalidaDetalle(o));ko(void 0,d);let k;c?k=await c.actualizar(v?{configCambio:v}:u):(c=Io(d,{targetDir:a,cwd:n.root,configDir:g(),soloSiCambia:!0}),k=await c.actualizar());for(let E of k.avisosNuevos)n.logger.warnOnce(`[taisho] ${Yn(E,Ze())}`);return l=new Set(k.contenido.map(E=>bt.resolve(g(),E))),m(),x(),k.escritos.map(E=>bt.join(a,E))}let w=(u={})=>{let v=i.then(()=>f(u));return i=v.catch(()=>{}),v};return{name:"taisho",configResolved(u){n=u,o=bt.resolve(n.root,e.config??"taisho.config.ts"),a=bt.resolve(n.root,e.out??"taisho"),r=bt.resolve(n.root,"package.json")},configureServer(u){s=u;for(let v of t.values())v.close();t.clear(),u.httpServer?.once("close",()=>{for(let v of t.values())v.close();t.clear()}),c=void 0,p=!0},async buildStart(){await w(),this.addWatchFile(o),this.addWatchFile(r);for(let u of c?.manifiestos??[])this.addWatchFile(u);for(let u of l)this.addWatchFile(u)},async hotUpdate({type:u,file:v,modules:k,server:E}){let R=bt.resolve(v),L=R===o,J=R===r||!!c?.manifiestos.includes(R),H=L&&u!=="delete"?{}:J&&d?{configCambio:d}:u==="update"&&l.has(R)?{cambiados:[R]}:u==="create"&&b(R)?{altas:[R]}:u==="delete"&&l.has(R)?{bajas:[R]}:void 0;if(!H)return;let T=`${u}:${R}`,I=h.get(T);if(!I){L&&(p=!0),I=w(H),h.set(T,I);let A=()=>setImmediate(()=>h.delete(T));I.then(A,A),I.catch(j=>{let S=j instanceof Error?j:new Error(String(j)),M=String(Po(S));n.logger.error(`[taisho] ${M}`,{error:S}),E.ws.send({type:"error",err:{message:M,stack:S.stack??""}})})}let N;try{N=await I}catch{return[]}let X=this.environment.moduleGraph,O=N.flatMap(A=>[...X.getModulesByFile(A)??[]]);for(let A of O)X.invalidateModule(A);return[...new Set([...k,...O])]}}}export{Lh as taisho};
3325
+ `;)a+=e[a]==="\\"?2:1;n.push(e.slice(s+1,a)),s=a}else if(o==="`"){let a=s+1,r=0;for(;a<e.length&&!(e[a]==="`"&&r===0);)e[a]==="\\"?a++:e[a]==="$"&&e[a+1]==="{"?(r++,a++):e[a]==="}"&&r>0&&r--,a++;n.push(e.slice(s+1,a)),s=a}}return n}function Ao(e,n="ts"){try{let{transformSync:s}=Wd("esbuild");return s(e,{loader:n,target:"esnext",...n==="tsx"?{jsx:"preserve"}:{}}).code}catch{return e}}function wr(e,n){let s=1,o=n;for(;o<e.length&&s>0;){let a=e[o];if(a==='"'||a==="'"||a==="`"){let r=o+1;for(;r<e.length&&e[r]!==a;)r+=e[r]==="\\"?2:1;o=r+1;continue}a==="{"?s++:a==="}"&&s--,o++}return{strings:en(e.slice(n,o-1)),fin:o}}var is=/(\[|:|v-bind:|x-bind:)?([A-Za-z_][\w.:-]*)\]?\s*=\s*(?:(["'])|([^\s"'`=<>{}]+?)(?=\/?>|\s|$))/y;function Zd(e,{llaves:n,astro:s=!1}){let o=[];for(let a=0;a<e.length;){if(e.startsWith("<!--",a)){let c=e.indexOf("-->",a);a=c===-1?e.length:c+3;continue}if(n&&e[a]==="{"){let c=wr(e,a+1);o.push(...c.strings),a=c.fin;continue}let r=/^class:([A-Za-z0-9_-]+)/.exec(e.slice(a,a+80));if(r&&/[\s"'}]/.test(e[a-1]??" ")){s&&r[1]==="list"||o.push(r[1]),a+=r[0].length;continue}let l=/^\[class\.([A-Za-z0-9_-]+)\]/.exec(e.slice(a,a+80));if(l&&/\s/.test(e[a-1]??" ")){o.push(l[1]),a+=l[0].length;continue}is.lastIndex=a;let i=/\s/.test(e[a-1]??" ")?is.exec(e):null;if(i&&os(i[2])){if(i[4]!==void 0){o.push(i[4]),a=is.lastIndex;continue}let c=is.lastIndex,d="";for(;c<e.length&&e[c]!==i[3];)if(n&&e[c]==="{"){let p=wr(e,c+1);o.push(...p.strings),d+=e.slice(c,p.fin),c=p.fin}else d+=e[c++];i[1]?o.push(...en(d)):o.push(d),a=c+1;continue}a++}return o}function Kd(e){let n=[],s=e.replace(/<script\b[^>]*>([\s\S]*?)<\/script>/g,(o,a)=>(n.push(a),"")).replace(/<style\b[^>]*>[\s\S]*?<\/style>/g,"");return{scripts:n,markup:s}}var Xd=e=>e.replace(/(?<![\w$.:-])([A-Za-z_][\w:-]*)=(["'])[^\n]*?\2/g,(n,s)=>os(s)?n:"");function as(e,n){let s=/\.([A-Za-z0-9]+)$/.exec(e)?.[1].toLowerCase();switch(s){case"css":return"";case"js":case"mjs":case"cjs":return en(n).join(`
3326
+ `);case"ts":case"mts":case"cts":return en(Ao(n)).join(`
3327
+ `);case"jsx":case"tsx":return en(Xd(Ao(n,"tsx"))).join(`
3328
+ `);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:a,markup:r}=Kd(o?n.slice(o[0].length):n);o&&a.unshift(o[1]);let l=s!=="html"&&s!=="htm"&&s!=="md";return[...a.flatMap(i=>en(Ao(i))),...Zd(r,{llaves:l,astro:s==="astro"})].join(`
3329
+ `)}default:return n}}function $r(e,n){let s=as(e,n);return s===n?n:[s,...n.match(/data-ts-[a-z0-9-]+/g)??[]].join(`
3330
+ `)}var Qd="@taishods/core",tp="./taisho.manifest.json",ep=1024*1024,Ft=(e,n,s="")=>new ft([{path:`extensions[${JSON.stringify(e)}]${s}`,...n}]),np=(e,n)=>n.startsWith(e+yt.sep);function kr(e,n,s,o){let a=zt.realpathSync(s);if(!np(n,a))throw Ft(e,{code:"manifest-path-escapes",params:{file:o}});if(!zt.lstatSync(a).isFile())throw Ft(e,{code:"manifest-file-invalid",params:{file:o,reason:"not-file"}});let r=zt.openSync(a,"r");try{if(zt.fstatSync(r).size>ep)throw Ft(e,{code:"manifest-file-invalid",params:{file:o,reason:"too-big"}});return zt.readFileSync(r,"utf8")}finally{zt.closeSync(r)}}var Sr=e=>yt.isAbsolute(e)||e.split(/[\\/]/).includes(".."),rs=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function ls(e){if(Array.isArray(e))return e.map(ls);if(!rs(e))return e;let n=Object.create(null);for(let[s,o]of Object.entries(e))n[s]=ls(o);return n}function zr(e){let n=Object.create(null);for(let s of e)s.estilos&&(n[s.nombre]=s.estilos);return n}function jr(){let e=yt.dirname(Yd(import.meta.url));for(let n=0;n<5;n++){let s=yt.join(e,"package.json");if(zt.existsSync(s))return JSON.parse(zt.readFileSync(s,"utf8")).version;e=yt.dirname(e)}return"0.0.0"}function sp(e,n){if(e.core!==n)throw new Error(_t().generate.coreDistinto(e.nombre,e.version,Qd,e.core,n))}function Cr(e,n){let s=new Set;for(let o of n){let a=o.replace(/^[./:]+|[./:]+$/g,""),r=Object.hasOwn(e,a)?a:a.split(".")[0];if(Object.hasOwn(e,r))for(let l of e[r])s.add(l)}return[...s]}function op(e,n){for(let s=e;;s=yt.dirname(s)){let o=yt.join(s,"node_modules",n);if(zt.existsSync(yt.join(o,"package.json")))return o;if(yt.dirname(s)===s)return null}}function Tr(e,n){let s=yt.join(e,"package.json");if(!zt.existsSync(s))return[];let o=JSON.parse(zt.readFileSync(s,"utf8")),a=new Set;for(let l of["dependencies","devDependencies","peerDependencies","optionalDependencies"])for(let i of Object.keys(o[l]??{}))a.add(i);let r=[];for(let l of[...a].sort()){let i=op(e,l);if(!i)continue;let c=JSON.parse(zt.readFileSync(yt.join(i,"package.json"),"utf8")),d=c.exports?.[tp],p=typeof d=="string"?d:d?.default;if(typeof p!="string")continue;if(c.name!==l)throw Ft(l,{code:"package-name-mismatch",params:{name:String(c.name)}});let h=zt.realpathSync(i),t=yt.resolve(i,p);if(Sr(p))throw Ft(l,{code:"manifest-path-escapes",params:{file:p}});let g,b=kr(l,h,t,p);try{g=JSON.parse(b)}catch{throw Ft(l,{code:"manifest-json",params:{file:p}})}if(!rs(g))throw Ft(l,{code:"manifest-shape",params:{expected:"object"}});if(g.format!==3)throw Ft(l,{code:"manifest-format",params:{version:String(c.version),format:g.format}});let{core:m,componentFiles:x,extension:f}=g;if(!(typeof m=="string"&&rs(x)&&Object.values(x).every(v=>Array.isArray(v)&&v.every($=>typeof $=="string"))&&(f===void 0||rs(f)&&(f.roots===void 0||Array.isArray(f.roots)&&f.roots.every(v=>typeof v=="string")))))throw Ft(l,{code:"manifest-shape",params:{expected:"{ format: 3, core: string, componentFiles: Record<string, string[]>, extension?: object }"}});let u={nombre:l,version:c.version,dir:yt.dirname(t),core:m,componentes:ls(x),...f!==void 0&&{estilos:ls(f)},archivo:t,raiz:h};sp(u,n),r.push(u)}return r}function Er(e,n){if(Sr(n))throw Ft(e.nombre,{code:"manifest-path-escapes",params:{file:n}});return kr(e.nombre,e.raiz,yt.join(e.dir,n),n)}import cs from"node:fs";import ne from"node:path";import{fileURLToPath as Dr}from"node:url";import{build as Ar}from"esbuild";var nn={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 Rn=Object.keys(nn),qo=e=>e.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`),be=e=>nn[e],ip=(e,n)=>e===n||e.startsWith(`${n}-`);function ap(e){return Rn.filter(n=>be(n).ganchos?.some(s=>ip(e,s)))}function Rr(e){let n=new Set(e);for(let s of n)for(let o of be(s).requiere??[])n.add(o);return Rn.filter(s=>n.has(s))}function Or(e,n,s){let o=new Set(Mo(n));for(let a of e)if(a.startsWith("data-ts-"))for(let r of ap(a))o.add(r);for(let a of Rn){let r=be(a);r.funciones&&Object.keys(r.funciones).some(l=>rp(s,l))&&o.add(a),r.ganchos?.some(l=>!l.startsWith("data-ts-")&&s.includes(l))&&o.add(a)}return[...o]}function Mo(e,n=!1){let s=new Set(e);return Rn.filter(o=>be(o).slugs?.some(a=>s.has(a))||n&&be(o).slugsSafelist?.some(a=>s.has(a)))}function rp(e,n){return new RegExp(`(?<![\\w$.-])${n}(?![\\w$-])\\s*(?:\\(|\\.|,|\\}|as\\s)|\\.${n}(?![\\w$-])|['"\`]${n}['"\`]`).test(e)}var Gf=Rn.filter(e=>be(e).pesado&&be(e).raices).map(e=>({modulo:e,raices:be(e).raices}));var Io=["chrome124","edge124","firefox125","safari17.4","ios17.4"];function qr(){let e=ne.dirname(Dr(import.meta.url)),n=ne.join(e,"core-modules");return cs.existsSync(n)?n:ne.resolve(e,"../lib/core")}var lp=e=>{let n=nn[e];return n.slugs??n.slugsSafelist??[]},ds="taisho.core.key-warning.js";function cp(e,n){let s=i=>JSON.stringify(ne.join(n,i).split(ne.sep).join("/")),o=new Set(e),a=[`import { iniciar } from ${s("nucleo")};`,`import { avisarVersiones } from ${s("version")};`,`import { pedirAvisoLlave } from ${s("desarrollo-local")};`,`import { m } from ${s("registro")};`],r=e.filter(i=>i!=="invalid");for(let i of r)a.push(`import { ficha as ${i} } from ${s(qo(i))};`);a.push(`Object.assign(m, { ${r.join(", ")} });`),a.push(`export { nextIndex } from ${s("roving")};`),a.push(`export { setTexts } from ${s("textos")};`);let l=!1;for(let i of Object.keys(nn)){let c=nn[i].funciones;if(c){if(o.has(i)){a.push(`export { ${Object.entries(c).map(([d,p])=>d===p?d:`${p} as ${d}`).join(", ")} } from ${s(qo(i))};`);continue}for(let d of Object.keys(c))a.push(`export const ${d} = falta(${JSON.stringify(d)}, ${JSON.stringify(lp(i)[0]??"")});`);l=!0}}return l&&a.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'}.`); }; }"),a.push(`export function init(root = document) { avisarVersiones(); if (root.getRootNode() === document) pedirAvisoLlave(() => import('./${ds}')); iniciar(root); return Promise.resolve(); }`,"if (typeof document !== 'undefined') {"," if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', () => init());"," else init();","}"),a.join(`
3331
+ `)}async function Mr(e){let n=qr(),{outputFiles:s}=await Ar({stdin:{contents:cp(e,n),resolveDir:n,loader:"ts"},bundle:!0,format:"esm",target:Io,minify:!0,write:!1,legalComments:"none",logLevel:"silent",external:[`./${ds}`],banner:{js:`/* TaishoDS \u2014 ${pe} */`},define:{__TAISHO_CORE_VERSION__:JSON.stringify(mn)}});return s[0].text}async function Ir(){let e=qr(),{outputFiles:n}=await Ar({entryPoints:[ne.join(e,"aviso-llave")],bundle:!0,format:"esm",target:Io,minify:!0,write:!1,outdir:"salida",legalComments:"none",logLevel:"silent",banner:{js:`/* TaishoDS \u2014 ${pe} */`},define:{__TAISHO_CORE_VERSION__:JSON.stringify(mn)}});return n[0].text}async function Pr(){let e=ne.dirname(Dr(import.meta.url));if(!cs.existsSync(ne.join(e,"core.js"))){let s="../../scripts/build-core-directo",{construirCoreDirecto:o}=await import(s);return o({minify:!0,banner:`/* TaishoDS \u2014 ${pe} */`})}let n=s=>s==="core.js"||/^core\.[\w-]+\.js$/.test(s);return cs.readdirSync(e).filter(n).sort().map(s=>({ruta:`taisho.${s}`,texto:cs.readFileSync(ne.join(e,s),"utf8").replace(/(["'])\.\/core\.([\w-]+\.js)\1/g,"$1./taisho.core.$2$1")}))}var Po=(e,n,s)=>{let o=s?$r(e,n):n;return{raw:n,clases:o,tokens:He(o),vars:n.match(/--[a-zA-Z][\w-]*/g)??[],uso:Co(e,n)}},No="taisho.classes.d.ts",_r=e=>e.split(jt.sep).join("/"),ps=e=>JSON.stringify([e.file,e.line,e.code,e.params]);function Lo(e,n){let{targetDir:s,cwd:o,configDir:a=o,soloSiCambia:r=!1,versionCore:l=jr()}=n,i={cssArmados:0,cssMinificados:0,temasPodados:0,spritesArmados:0,jsArmados:0},c=e,d,p,h,t=()=>(p??=Tr(o,l),h??=zr(p)),g=()=>{let k=t(),O=Ce(c,k),T=Tn(c,O,k),H=O.themeEntries.map(y=>{let z=Ue(y,O.userFonts,O.defaultStates,O.userScales,k);return{key:y.group==="root"?y.name:`${y.group}-${y.name}`,avisos:[...z.warnings,...Vi(y,O.defaultStates)],completo:We(z,c.darkMode),secciones:qs(z)}});yo(c.fontFaces,o);let K=Ba(c,O,T,k);return{vocab:T,tipos:K.length?Ms(K.map(y=>`ts-${y}`)):null,temas:H,fonts:Dn(c.fontFaces,bo(c.fontFaces,o)),plano:eo({reset:T.reset,atomic:T.atomic,utilities:T.utilities,components:T.components,scales:T.userScales,userUtilities:T.userUtilities}),datosAvisos:lr(T),vecinos:new Map,completo:void 0}},b,m,x=jt.resolve(o,Ye),f=new Map,w=new Map,u=new Map,v,$,E,R,N,Z,J=new Set,j=k=>_r(jt.relative(a,jt.resolve(a,k))),I=k=>{let O=jt.resolve(a,k);return O.startsWith(x+jt.sep)&&O.endsWith(".svg")};function L(k){if(!k||k.configCambio!==void 0){let T=new Map;for(let H of xr({globs:c.content,baseDir:a,outDir:s})){let K=w.get(H.file);T.set(H.file,K&&K.raw===H.content?K:Po(H.file,H.content,!0))}w=T;return}for(let T of k.bajas??[])w.delete(j(T));for(let T of[...k.cambiados??[],...k.altas??[]]){let H=j(T);if(!k.altas?.includes(T)&&!w.has(H))continue;let y=jt.resolve(a,T);if(!Mt.existsSync(y)||!Mt.statSync(y).isFile()){w.delete(H);continue}let z=Mt.readFileSync(y,"utf8"),M=w.get(H);(!M||M.raw!==z)&&w.set(H,Po(H,z,!0))}}function X(){t();let k=p;if(!k.length)return[];let O=new Set(w.keys()),T=[];return k.forEach((H,K)=>{let y=new Set;for(let z of w.values()){if(!z.deLosPaquetes){let M=new Set(He(z.raw));z.deLosPaquetes=k.map(P=>Cr(P.componentes,M))}for(let M of z.deLosPaquetes[K])y.add(M)}for(let z of y){let M=jt.join(H.dir,z),P=_r(jt.relative(a,M));if(O.has(P))continue;O.add(P);let F=f.get(M);F===void 0&&f.set(M,F=as(M,Er(H,z)));let G=u.get(P);(!G||G.raw!==F)&&u.set(P,G=Po(P,F,!1)),T.push([P,G])}}),T}function A(k,O,T){let H=M=>new Set(M.flatMap(P=>[...P.matchAll(/^\s*(--[\w-]+)\s*:/gm)].map(F=>F[1]))),K=H(O),y=H(T),z=[];for(let M of Do({globs:["**/*.css"],baseDir:a,outDir:s,excluir:["dist","build","coverage"]})){if(k.has(M))continue;let P=Mt.readFileSync(jt.resolve(a,M),"utf8"),F=[...new Set([...P.matchAll(/var\(\s*(--[\w-]+)/g)].map(G=>G[1]))].filter(G=>K.has(G)&&!y.has(G));F.length&&z.push({code:"css-outside-content",params:{variables:F.slice(0,3)},file:M})}return z}async function _(k){let O=Nr.now();if(k?.configCambio){c=k.configCambio,d=void 0,p=h=void 0,f.clear(),u.clear();for(let C of w.values())C.analisis=C.avisos=C.modulos=C.deLosPaquetes=void 0;v=$=R=void 0}let T=d??=g(),{vocab:H}=T,K=c.content!==void 0;[...k?.cambiados??[],...k?.altas??[],...k?.bajas??[]].some(I)&&(m=void 0,E=void 0);let z=[],M=[],P,F,G,Q,ot;if(K){L(k),M=X(),z=[...w];let C=[...z,...M].sort(([rt],[Vt])=>rt<Vt?-1:rt>Vt?1:0),B=C.map(([rt,Vt])=>Vt.analisis??=mo(H,rt,Vt.tokens,!0)),{variantes:Y,planas:tt,warnings:Tt,forzadas:xt}=Qn(H,c,B,!0);G=[...Tt];let st=no(T.plano,{usadas:tt,forzadas:xt}),pt=new Set(C.flatMap(([,rt])=>rt.vars).filter(rt=>/^--ts-(?:lh|ls)-/.test(rt))),wt=`${st.map(rt=>rt.name).join(`
3332
+ `)}\0${[...Y].join(`
3333
+ `)}\0${[...pt].sort().join(" ")}`;if(v?.clave!==wt){let rt=`/* TaishoDS \u2014 ${pe} */
3334
+ `+so(T.plano,{variantesUsadas:Y,usadas:tt,forzadas:xt,varsDelProyecto:pt});i.cssArmados++;let{code:Vt}=await Lr(rt,{loader:"css",minify:!0});i.cssMinificados++,v={clave:wt,css:rt,min:Vt}}({css:P,min:F}=v);let U=new Set(Mo(Qn(H,c,[],!0).enteros,!0));for(let[,rt]of z){rt.modulos??=Or(rt.tokens,rt.analisis.enteros,rt.raw);for(let Vt of rt.modulos)U.add(Vt)}let ut=Rr(U),Te=ut.join(",");R?.clave!==Te&&(R={clave:Te,js:await Mr(ut)},i.jsArmados++),Q=R.js,Z??=await Ir(),ot=[{ruta:"taisho.core.js",texto:Q},{ruta:ds,texto:Z}]}else{if(w=new Map,!T.completo){let{css:C,warnings:B}=fo(c,[],{extensions:h});i.cssArmados++;let{code:Y}=await Lr(C,{loader:"css",minify:!0});i.cssMinificados++,T.completo={css:C,min:Y,warnings:B}}({css:P,min:F}=T.completo),G=T.completo.warnings,N||(N=await Pr(),i.jsArmados++),ot=N,Q=N.find(C=>C.ruta==="taisho.core.js").texto}let et=K?"taisho.css":"taisho.full.css",Ot=[...z,...M].map(([,C])=>C),Dt=T.temas.map(C=>T.temas.length===1?"theme.css":`theme-${C.key}.css`),bt;if(K){let C=new Set(Ps);for(let Y of Ot)for(let tt of Y.vars)C.add(tt);let B=[...C].sort().join(" ");($?.css!==P||$.vars!==B)&&(i.temasPodados++,$={css:P,vars:B,temas:T.temas.map(Y=>Ls(Wi(P)?Y.completo+Y.secciones:Y.completo,P,C))}),bt=$.temas}else bt=T.temas.map(C=>C.completo+C.secciones);let vt;if(K){let C=Ot.map(Y=>Y.uso),B=`${(c.icons??[]).join(",")}\0${C.map(Y=>`${Y.soloAviso?1:0}${[...Y.nombres].join(",")}`).join(`
3335
+ `)}`;E?.huella!==B?(b??=To(o),m??=Eo(o,Ye),vt=Ro({...b,customIcons:m},C,c.icons??[],Ye),i.spritesArmados++,E={huella:B,sprite:vt}):vt=E.sprite}else vt=vr({skip:s,customIconsDir:Ye,cwd:o,safelist:c.icons});let se=new Set(M.map(([C])=>C)),Ct=[...T.temas.flatMap(C=>C.avisos),...G.filter(C=>C.file===void 0||!se.has(C.file))];if(K){let C=new Map;for(let[B,Y]of z){Y.avisos??=cr({file:B,content:Y.raw},T.datosAvisos,T.vecinos).map(({code:tt,params:Tt,file:xt,line:st})=>({code:tt,params:Tt,file:xt,line:st}));for(let tt of Y.avisos)C.has(ps(tt))||C.set(ps(tt),tt)}Ct.push(...C.values()),Ct.push(...A(new Set(z.map(([B])=>B)),T.temas.map(B=>B.completo),bt))}let It=[["fonts.css",T.fonts]];Dt.forEach((C,B)=>It.push([C,bt[B]])),It.push([et,F]);for(let{ruta:C,texto:B}of ot)It.push([C,B]);let sn=vt.includes("<symbol")?"taisho.icons.svg":null;sn&&It.push([sn,vt]);let On=T.tipos===null?null:No;T.tipos!==null&&It.push([No,T.tipos]),Mt.mkdirSync(s,{recursive:!0}),On===null&&Mt.rmSync(jt.join(s,No),{force:!0});let ye=new Set(ot.map(C=>C.ruta));for(let C of Mt.readdirSync(s))/^taisho\.core\..+\.js$/.test(C)&&!ye.has(C)&&Mt.rmSync(jt.join(s,C));let S=[];for(let[C,B]of It){let Y=jt.join(s,C);r&&Mt.existsSync(Y)&&Mt.readFileSync(Y,"utf8")===B||(Mt.writeFileSync(Y,B),S.push(C))}let D=Ct.filter(C=>!J.has(ps(C)));return J=new Set(Ct.map(ps)),{temas:Dt,fonts:"fonts.css",sistema:et,js:Q,iconos:sn,tipos:On,warnings:Ct,escritos:S,contenido:K?[...z,...M].map(([C])=>C):[],avisosNuevos:D,ms:Nr.now()-O}}return{actualizar:_,stats:i,get manifiestos(){return(p??[]).map(k=>k.archivo)}}}function _o(e){return e instanceof ft?e.errors.map(n=>bn(n,Qe())).join(`
3336
+ `):e instanceof Error?e.message:e}var pp="taisho";function Fr(e,n,s,o){if(s!==void 0)return Fo.resolve(o,s);let a=typeof e?.out=="string"&&e.out.trim()!==""?e.out:pp;return Fo.resolve(Fo.dirname(n),a)}function Vo(e){if(!e||typeof e!="object")return!1;let n=e.themes;return!!n&&typeof n=="object"&&Object.keys(n).length>0}async function Vr(e){let s=await dp(import.meta.url,{moduleCache:!1}).import(e);return s.default??s.config}function Bh(e={}){let n,s,o="",a="",r="",l=new Set,i=Promise.resolve(),c,d,p=!0,h=new Map,t=new Map,g=()=>mt.dirname(o);function b(u){let v=d?.content??[],$=mt.relative(g(),u).split(mt.sep);return u.startsWith(a+mt.sep)||$.some(E=>E.startsWith(".")&&E!=="..")?!1:v.some(E=>($.includes("node_modules")?E.split("/").includes("node_modules"):!0)&&mt.matchesGlob($.join("/"),E))}function m(){if(s)for(let u of d.content??[]){let v=u.split("/"),$=v.findIndex(R=>/[*?[\]{}()!]/.test(R)),E=mt.resolve(g(),...v.slice(0,$===-1?-1:$));E!==n.root&&!E.startsWith(n.root+mt.sep)&&s.watcher.add(E)}}function x(){if(!s)return;let u=s;for(let v of c?.manifiestos??[]){let $=mt.dirname(v);if(t.has($))continue;let E=up.watch($,(R,N)=>{N===mt.basename(v)&&u.watcher.emit("change",v)});E.on("error",()=>{E.close(),t.delete($)}),E.unref(),t.set($,E)}}async function f(u){let v;if(p&&(d=await Vr(o),p=!Vo(d),v=d),!Vo(d))throw new Error(_t().config.invalidaDetalle(o));jo(void 0,d);let $;c?$=await c.actualizar(v?{configCambio:v}:u):(a=Fr(d,o,e.out===void 0?void 0:mt.resolve(n.root,e.out),n.root),c=Lo(d,{targetDir:a,cwd:n.root,configDir:g(),soloSiCambia:!0}),$=await c.actualizar());for(let E of $.avisosNuevos)n.logger.warnOnce(`[taisho] ${ns(E,Qe())}`);return l=new Set($.contenido.map(E=>mt.resolve(g(),E))),m(),x(),$.escritos.map(E=>mt.join(a,E))}let w=(u={})=>{let v=i.then(()=>f(u));return i=v.catch(()=>{}),v};return{name:"taisho",configResolved(u){n=u,o=mt.resolve(n.root,e.config??"taisho.config.ts"),a=mt.resolve(n.root,e.out??"taisho"),r=mt.resolve(n.root,"package.json")},configureServer(u){s=u;for(let v of t.values())v.close();t.clear(),u.httpServer?.once("close",()=>{for(let v of t.values())v.close();t.clear()}),c=void 0,p=!0},async buildStart(){await w(),this.addWatchFile(o),this.addWatchFile(r);for(let u of c?.manifiestos??[])this.addWatchFile(u);for(let u of l)this.addWatchFile(u)},async hotUpdate({type:u,file:v,modules:$,server:E}){let R=mt.resolve(v),N=R===o,Z=R===r||!!c?.manifiestos.includes(R),J=N&&u!=="delete"?{}:Z&&d?{configCambio:d}:u==="update"&&l.has(R)?{cambiados:[R]}:u==="create"&&b(R)?{altas:[R]}:u==="delete"&&l.has(R)?{bajas:[R]}:void 0;if(!J)return;let j=`${u}:${R}`,I=h.get(j);if(!I){N&&(p=!0),I=w(J),h.set(j,I);let _=()=>setImmediate(()=>h.delete(j));I.then(_,_),I.catch(k=>{let O=k instanceof Error?k:new Error(String(k)),T=String(_o(O));n.logger.error(`[taisho] ${T}`,{error:O}),E.ws.send({type:"error",err:{message:T,stack:O.stack??""}})})}let L;try{L=await I}catch{return[]}let X=this.environment.moduleGraph,A=L.flatMap(_=>[...X.getModulesByFile(_)??[]]);for(let _ of A)X.invalidateModule(_);return[...new Set([...$,...A])]}}}export{Bh as taisho};