tweakit 0.3.0 → 0.3.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tweakit",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "main": "./dist/tweaks.js",
6
6
  "types": "./dist/types/tweaks/core.d.ts",
@@ -1 +0,0 @@
1
- import{B as q,Z as J,aa as Q,b as A,o as M,p as d,q as N,r as I,v as K,w as U}from"./chunk-GC5PWSSX.js";function ee(v,$){let R=[.25,.1,.25,1],b=-.25,w=1.25,H=w-b,o=8,Y=e=>e.map((n,i)=>A(n,i%2?b:0,i%2?w:1)),t=Array.isArray(v.value)&&v.value.length===4?v.value.map(Number):R.slice();t.some(e=>!Number.isFinite(e))&&(t=R.slice()),t=Y(t);let Z=t.slice(),E=M("div","tw-bezier");v.label&&E.append(I("div","tw-bezier-label",v.label));let f=M("div","tw-bezier-graph"),k=d("svg","tw-bezier-svg");k.setAttribute("preserveAspectRatio","none");let G=d("line","tw-bezier-guide"),P=d("line","tw-bezier-guide"),X=d("line","tw-bezier-diag"),j=d("line","tw-bezier-ctl"),O=d("line","tw-bezier-ctl"),S=d("path","tw-bezier-curve");k.append(G,P,X,j,O,S);let g=N("tw-bezier-handle");g.setAttribute("aria-label","Control point 1");let x=N("tw-bezier-handle");x.setAttribute("aria-label","Control point 2"),f.append(k,g,x);let W=M("div","tw-fields tw-bezier-fields");E.append(f,W);let h=0,C=0,F=e=>o+e*(h-2*o),D=e=>C-o-(e-b)/H*(C-2*o),z=(e,n,i,m,a)=>{e.setAttribute("x1",n),e.setAttribute("y1",i),e.setAttribute("x2",m),e.setAttribute("y2",a)},y=()=>{if(g.setAttribute("aria-label",`Control point 1, x ${t[0]}, y ${t[1]}`),x.setAttribute("aria-label",`Control point 2, x ${t[2]}, y ${t[3]}`),h=f.offsetWidth,C=f.offsetHeight,h<2)return;k.setAttribute("viewBox",`0 0 ${h} ${C}`);let[e,n,i,m]=t,a=F(0),c=D(0),r=F(1),l=D(1),u=F(e),p=D(n),s=F(i),B=D(m);z(G,o,c,h-o,c),z(P,o,l,h-o,l),z(X,a,c,r,l),z(j,a,c,u,p),z(O,r,l,s,B),S.setAttribute("d",`M${a},${c} C${u},${p} ${s},${B} ${r},${l}`),g.style.left=u+"px",g.style.top=p+"px",x.style.left=s+"px",x.style.top=B+"px"},T=[{label:"X1",i:0,lo:0,hi:1},{label:"Y1",i:1,lo:b,hi:w},{label:"X2",i:2,lo:0,hi:1},{label:"Y2",i:3,lo:b,hi:w}],_=T.map(e=>{let n=J({label:e.label,value:t[e.i],step:.01,min:e.lo,max:e.hi},i=>{t[e.i]=i,y(),$(t.slice())});return W.append(n.el),n}),L=()=>_.forEach((e,n)=>e.set(t[T[n].i])),V=(e,n)=>{let i=null,m=0,a=0,c=1;q(e,{onDown:r=>{r.preventDefault(),i=f.getBoundingClientRect(),m=f.offsetWidth||i.width,a=f.offsetHeight||i.height,c=i.width/m,e.classList.add("is-dragging"),e.focus({focusVisible:!1})},onMove:r=>{let l=(r.clientX-i.left)/c,u=(r.clientY-i.top)/c,p=A((l-o)/(m-2*o),0,1),s=A(b+(a-o-u)/(a-2*o)*H,b,w);t[n*2]=+p.toFixed(2),t[n*2+1]=+s.toFixed(2),y(),L(),$(t.slice())},onEnd:()=>{i=null,e.classList.remove("is-dragging")}}),e.addEventListener("keydown",r=>{if(r.key==="Escape")return e.blur();if(r.key==="Home"){r.preventDefault(),t=Z.slice(),y(),L(),$(t.slice());return}let l=r.key==="ArrowRight"?1:r.key==="ArrowLeft"?-1:0,u=r.key==="ArrowUp"?1:r.key==="ArrowDown"?-1:0;if(!l&&!u)return;r.preventDefault();let p=r.shiftKey?.1:.01,s=n*2;l&&(t[s]=+A(t[s]+l*p,0,1).toFixed(2)),u&&(t[s+1]=+A(t[s+1]+u*p,b,w).toFixed(2)),y(),L(),$(t.slice())})};return V(g,0),V(x,1),K(y),U(E,[[window,"resize"],[window,"tw-reflow"]],y),{el:E,set:e=>{if(Array.isArray(e)&&e.length===4){let n=e.map(Number);if(n.some(i=>!Number.isFinite(i)))return;t=Y(n),y(),L()}},get:()=>t.slice()}}Q("cubicbezier",ee);
@@ -1 +0,0 @@
1
- import{A as ct,C as oe,D as se,L as lt,Y as it,Z as ut,aa as Le,b as m,i as ot,o as w,r as st,z as at}from"./chunk-GC5PWSSX.js";var sn=180/Math.PI,Re=Math.PI/180,L=(e,t)=>[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]],an=(e,t)=>{let n=[[0,0,0],[0,0,0],[0,0,0]];for(let o=0;o<3;o++)for(let r=0;r<3;r++)n[o][r]=e[o][0]*t[0][r]+e[o][1]*t[1][r]+e[o][2]*t[2][r];return n},d=e=>Number.isFinite(e)?e:0,cn=(e,t,n)=>Math.min(n,Math.max(t,e)),ae=e=>{let t=Math.abs(e);return t<=.04045?e/12.92:Math.sign(e)*((t+.055)/1.055)**2.4},U=e=>{let t=Math.abs(e);return t<=.0031308?e*12.92:Math.sign(e)*(1.055*t**(1/2.4)-.055)},ie=1.09929682680944,kt=.018053968510807,ln=e=>{let t=Math.abs(e);return t<kt*4.5?e/4.5:Math.sign(e)*((t+ie-1)/ie)**(1/.45)},wt=e=>{let t=Math.abs(e);return t<kt?e*4.5:Math.sign(e)*(ie*t**.45-(ie-1))},Ct=1/512,un=e=>{let t=Math.abs(e);return t<=Ct*16?e/16:Math.sign(e)*t**1.8},hn=e=>{let t=Math.abs(e);return t>=Ct?Math.sign(e)*t**(1/1.8):16*e},Oe=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],ce=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],pn=[[.4865709486482162,.26566769316909306,.19821728523436247],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],vt=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],bn=[[.6369580483012914,.14461690358620832,.16888097516417205],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],yt=[[1.7166511879712674,-.35567078377639233,-.25336628137365974],[-.6666843518324892,1.6164812366349395,.01576854581391113],[.017639857445310783,-.042770613257808524,.9421031212354738]],mn=[[.7977604896723027,.13518583717574031,.0313493495815248],[.2880711282292934,.7118432178101014,8565396060525902e-20],[0,0,.8251046025104601]],gn=[[1.3457989731028281,-.25558010007997534,-.05110628506753401],[-.5446224939028347,1.5082327413132781,.02053603239147973],[0,0,1.2119675456389454]],$t=[[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Et=[[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],dn=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],_t=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],fn=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],St=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],le=216/24389,q=24389/27,Z=[.3457/.3585,1,(1-.3457-.3585)/.3585],K=(e,t,n)=>L(n,[t(e[0]),t(e[1]),t(e[2])]),Y=(e,t,n)=>{let o=L(n,e);return[t(o[0]),t(o[1]),t(o[2])]},ht=e=>{let t=L(St,e);return L(_t,[t[0]**3,t[1]**3,t[2]**3])},pt=e=>{let t=L(dn,e);return L(fn,[Math.cbrt(t[0]),Math.cbrt(t[1]),Math.cbrt(t[2])])};function bt(e){let[t,n,o]=e,r=(t+16)/116,s=n/500+r,a=r-o/200,c=s**3>le?s**3:(116*s-16)/q,h=t>q*le?r**3:t/q,p=a**3>le?a**3:(116*a-16)/q;return L(Et,[c*Z[0],h*Z[1],p*Z[2]])}function mt(e){let t=L($t,e),n=a=>a>le?Math.cbrt(a):(q*a+16)/116,o=n(t[0]/Z[0]),r=n(t[1]/Z[1]),s=n(t[2]/Z[2]);return[116*r-16,500*(o-r),200*(r-s)]}var ue=e=>{let t=Math.hypot(e[1],e[2]),n=Math.atan2(e[2],e[1])*sn;return n<0&&(n+=360),[e[0],t,n]},he=e=>[e[0],e[1]*Math.cos(e[2]*Re),e[1]*Math.sin(e[2]*Re)];function Vt(e){let t=((Number.isNaN(e[0])?0:e[0])%360+360)%360,n=e[1]/100,o=e[2]/100,r=s=>{let a=(s+t/30)%12,c=n*Math.min(o,1-o);return o-c*Math.max(-1,Math.min(a-3,9-a,1))};return[r(0),r(8),r(4)]}function Lt(e){let t=Math.max(...e),n=Math.min(...e),o=t-n;if(o<1e-9)return NaN;let r;return t===e[0]?r=(e[1]-e[2])/o+(e[1]<e[2]?6:0):t===e[1]?r=(e[2]-e[0])/o+2:r=(e[0]-e[1])/o+4,r*60}function Mn(e){let t=Math.max(...e),n=Math.min(...e),o=(n+t)/2,r=Lt(e),s=t===n||o===0||o===1?0:(t-o)/Math.min(o,1-o);return s<0&&(r+=180,s=-s),r>=360&&(r-=360),[r,s*100,o*100]}function xn(e){let t=e[1]/100,n=e[2]/100;if(t+n>=1){let s=t/(t+n);return[s,s,s]}let o=Vt([e[0],100,50]),r=1-t-n;return[o[0]*r+t,o[1]*r+t,o[2]*r+t]}var kn=e=>[Lt(e),Math.min(...e)*100,(1-Math.max(...e))*100];function wn(e,t){switch(t){case"srgb":return K(e,ae,Oe);case"p3":return K(e,ae,pn);case"rec2020":return K(e,ln,bn);case"prophoto-rgb":return L(Et,K(e,un,mn));case"oklab":return ht(e);case"oklch":return ht(he(e));case"lab":return bt(e);case"lch":return bt(he(e));case"hsl":return K(Vt(e),ae,Oe);case"hwb":return K(xn(e),ae,Oe)}}function Cn(e,t){switch(t){case"srgb":return Y(e,U,ce);case"p3":return Y(e,U,vt);case"rec2020":return Y(e,wt,yt);case"prophoto-rgb":return Y(L($t,e),hn,gn);case"oklab":return pt(e);case"oklch":return ue(pt(e));case"lab":return mt(e);case"lch":return ue(mt(e));case"hsl":return Mn(Y(e,U,ce));case"hwb":return kn(Y(e,U,ce))}}function x(e,t,n){return t===n?[e[0],e[1],e[2]]:t==="oklch"&&n==="oklab"?he(e):t==="oklab"&&n==="oklch"?ue(e):t==="lch"&&n==="lab"?he(e):t==="lab"&&n==="lch"?ue(e):Cn(wn(e,t),n)}var pe=75e-6,Ot=e=>e.every(t=>t>=-pe&&t<=1+pe),Ae=(e,t)=>Ot(x(e,"oklch",t)),Te=e=>e.map(t=>Math.min(1,Math.max(0,t))),gt=(e,t)=>Math.hypot(e[0]-t[0],e[1]-t[1],e[2]-t[2]);function be(e,t){if(Ae(e,t))return x(e,"oklch",t);let n=e[0];if(n>=1)return[1,1,1];if(n<=0)return[0,0,0];if(!Number.isFinite(e[1]))return Te(x([n,0,d(e[2])],"oklch",t));let o=.02,r=1e-4,s=[e[0],e[1],e[2]],a=0,c=e[1],h=!0,p=Te(x(s,"oklch",t));if(gt(x(p,t,"oklab"),x(e,"oklch","oklab"))<o)return p;for(;c-a>r;){let l=(a+c)/2;s[1]=l;let b=x(s,"oklch",t);if(h&&Ot(b)){a=l;continue}p=Te(b);let g=gt(x(p,t,"oklab"),x(s,"oklch","oklab"));if(g<o){if(o-g<r)return p;h=!1,a=l}else c=l}return p}var Tt=(e,t)=>{let n=e*Re,o=Math.cos(n),r=Math.sin(n),s=St.map(c=>o*c[1]+r*c[2]),a=an(t==="p3"?vt:t==="rec2020"?yt:ce,_t);return{d:s,F:a,gam:t==="rec2020"?wt:U}};function me(e,t){let{d:[n,o,r],F:s,gam:a}=Tt(e,t),c=-pe,h=1+pe;return(p,l)=>{let b=p+l*n,g=p+l*o,$=p+l*r,C=b**3,f=g**3,v=$**3,S=a(s[0][0]*C+s[0][1]*f+s[0][2]*v);if(S<c||S>h)return!1;let E=a(s[1][0]*C+s[1][1]*f+s[1][2]*v);if(E<c||E>h)return!1;let G=a(s[2][0]*C+s[2][1]*f+s[2][2]*v);return G>=c&&G<=h}}function Rt(e,t){let{d:[n,o,r],F:s,gam:a}=Tt(e,t);return(c,h,p)=>{let l=c+h*n,b=c+h*o,g=c+h*r,$=l**3,C=b**3,f=g**3;p[0]=a(s[0][0]*$+s[0][1]*C+s[0][2]*f),p[1]=a(s[1][0]*$+s[1][1]*C+s[1][2]*f),p[2]=a(s[2][0]*$+s[2][1]*C+s[2][2]*f)}}function ge(e,t,n=.5){if(!e(t,0))return 0;let o=0;for(let r=0;r<16;r++){let s=(o+n)/2;e(t,s)?o=s:n=s}return o}var F=e=>Math.round(Math.min(1,Math.max(0,e))*255).toString(16).padStart(2,"0"),vn=e=>`#${F(e[0])}${F(e[1])}${F(e[2])}`,de=(e,t,n)=>vn(be([e,t,n],"srgb"));function At(e){let t=String(e).replace("#","").trim();if(t.length===3&&(t=t.split("").map(o=>o+o).join("")),t.length<6)return[.7,.1,280];let n=[parseInt(t.slice(0,2),16)/255,parseInt(t.slice(2,4),16)/255,parseInt(t.slice(4,6),16)/255];return x(n,"srgb","oklch").map(d)}var fe=["hex","srgb","css","hsl","hwb","oklch","oklab","lch","lab","p3","rec2020"],Nt={hex:"HEX",srgb:"RGB",css:"CSS",hsl:"HSL",hwb:"HWB",oklch:"OKLCH",oklab:"OKLab",lch:"LCH",lab:"Lab",p3:"P3",rec2020:"Rec2020"},Ft=["srgb","css","hsl","hwb","hex"],Ne=e=>!Ft.includes(e),Ht=e=>e==="hex"||e==="css"?"srgb":e,yn=Object.assign(Object.create(null),{hex:"srgb",srgb:"srgb",css:"srgb",hsl:"hsl",hwb:"hwb",oklch:"oklch",oklab:"oklab",lch:"lch",lab:"lab",p3:"display-p3",rec2020:"rec2020"}),In=e=>yn[e]||"oklch",$n=Object.assign(Object.create(null),{srgb:"srgb",hsl:"hsl",hwb:"hwb",oklch:"oklch",oklab:"oklab",lch:"lch",lab:"lab","display-p3":"p3",rec2020:"rec2020"}),Bn=e=>$n[e]||"oklch",Me=.5,Gt=(e,t,n)=>Object.freeze(["R","G","B"].map(o=>Object.freeze({k:o,min:0,max:e,step:t,scale:n}))),dt=Gt(255,1,255),ft=Gt(1,.01,1),J={oklch:[{k:"L",min:0,max:100,step:1,scale:100},{k:"C",min:0,max:Me,step:.01,scale:1},{k:"H",min:0,max:360,step:1,scale:1}],oklab:[{k:"L",min:0,max:100,step:1,scale:100},{k:"a",min:-.4,max:.4,step:.01,scale:1},{k:"b",min:-.4,max:.4,step:.01,scale:1}],lch:[{k:"L",min:0,max:100,step:1,scale:1},{k:"C",min:0,max:150,step:1,scale:1},{k:"H",min:0,max:360,step:1,scale:1}],lab:[{k:"L",min:0,max:100,step:1,scale:1},{k:"a",min:-125,max:125,step:1,scale:1},{k:"b",min:-125,max:125,step:1,scale:1}],srgb:dt,css:dt,hsl:[{k:"H",min:0,max:360,step:1,scale:1},{k:"S",min:0,max:100,step:1,scale:1},{k:"L",min:0,max:100,step:1,scale:1}],hwb:[{k:"H",min:0,max:360,step:1,scale:1},{k:"W",min:0,max:100,step:1,scale:1},{k:"B",min:0,max:100,step:1,scale:1}],p3:ft,rec2020:ft},Mt=e=>e>=1?0:e>=.1?1:e>=.01?2:3,It=(e,t,n)=>t==="oklch"?[e[0],e[1],e[2]]:Ft.includes(n)?t==="srgb"?be(e,"srgb"):x(be(e,"srgb"),"srgb",t):x(e,"oklch",t);function xe(e,t){let n=It(e,Ht(t),t);return J[t].map((o,r)=>{let s=d(n[r])*o.scale;return cn(Math.abs(s)<.5*o.step?0:s,o.min,o.max)})}function Bt(e,t,n,o){let r=Ht(t),s=It(e,r,t).map(d);s[n]=o/J[t][n].scale;let a=x(s,r,"oklch");return[d(a[0]),d(a[1]),d(a[2])]}function Pt(e,t){if(!Ne(t))return"sRGB";let n=be(e,"srgb");return Math.max(...n)<.03||Math.min(...n)>.97||Ae(e,"srgb")?"sRGB":Ae(e,"p3")?"P3":"wide"}function Fe(e,t){if(t==="hex")return de(e[0],e[1],e[2]);let n=J[t],o=xe(e,t),r=s=>{let a=o[s].toFixed(Mt(n[s].step));return n[s].k==="H"&&+a==360?0 .toFixed(Mt(n[s].step)):a};return t==="css"?`${r(0)}, ${r(1)}, ${r(2)}`:t==="oklch"||t==="oklab"||t==="lch"||t==="lab"?`${r(0)}% ${r(1)} ${r(2)}`:t==="hsl"||t==="hwb"?`${r(0)} ${r(1)}% ${r(2)}%`:`${r(0)} ${r(1)} ${r(2)}`}var xt=(e,t)=>t==="hex"?e:t==="srgb"?`rgb(${e})`:t==="css"?`rgba(${e}, 1)`:t==="hsl"?`hsl(${e})`:t==="hwb"?`hwb(${e})`:t==="p3"?`color(display-p3 ${e})`:t==="rec2020"?`color(rec2020 ${e})`:`${t}(${e})`;function Dt(e,t,n){let o=d(n);if(t==="hex")return de(e[0],e[1],e[2])+(o<.999?F(o):"");let r=Fe(e,t);if(o>=.999)return xt(r,t);let s=+o.toFixed(3);return t==="css"?`rgba(${r}, ${s})`:xt(`${r} / ${s}`,t)}var Xt=(()=>{try{return document.createElement("canvas").getContext("2d",{colorSpace:"display-p3"})?.getContextAttributes?.().colorSpace==="display-p3"}catch{return!1}})(),He=Xt?{colorSpace:"display-p3"}:{},En=Xt?"p3":"srgb",ke=(e,t)=>{let n=e.length-1,o=Math.max(0,Math.min(n,t*n)),r=Math.floor(o),s=o-r;return e[r]*(1-s)+e[Math.min(r+1,n)]*s},_n=(e,t)=>{let n=me(e,t),o=new Float64Array(128);for(let r=0;r<128;r++)o[r]=ge(n,r/127);return o},Sn="repeating-conic-gradient(#6b6b6b 0% 25%, #9a9a9a 0% 50%) 0 0 / 8px 8px",Vn=Object.assign(Object.create(null),{srgb:"srgb","display-p3":"p3",rec2020:"rec2020","prophoto-rgb":"prophoto-rgb"}),De=/^(rgba?|hsla?|hwb)\([ \t\n\r\f]*([^)]*?)[ \t\n\r\f]*\)$/i,Xe=/^(oklch|oklab|lch|lab|color)\([ \t\n\r\f]*([^)]*?)[ \t\n\r\f]*\)$/i,Ln=/^(srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|xyz|xyz-d50|xyz-d65)$/i,Ce=/^#?([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,Ge,jt=()=>Ge===void 0?Ge=document.createElement("canvas").getContext("2d"):Ge,On=/^(#[0-9a-f]{3,8}|[a-z][a-z-]*(?:\([\w\s.,%+\-\/]*\))?)$/i;function jn(e){if(e=String(e??"").trim(),!On.test(e))return!1;if(Ce.test(e))return!0;if(Xe.test(e))return An(e);if(De.test(e))return Yt(e)!==null;let t=jt();return t?["#000","#fff"].some(n=>{t.fillStyle=n;let o=t.fillStyle;return t.fillStyle=e,t.fillStyle!==o}):!0}var je="[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+-]?\\d+)?",Tn=new RegExp("^"+je+"$","i"),Rn=new RegExp("^"+je+"%$","i"),Kt=new RegExp("^("+je+")(deg|grad|rad|turn)$","i"),Ke=/[ \t\n\r\f]+/,Ye=/^none$/i,Ie=e=>e.replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g,""),Be=e=>!!e&&!Ke.test(e),H=e=>Ye.test(e)?"none":Tn.test(e)?"num":Rn.test(e)?"pct":Kt.test(e)?"angle":null,Pe=e=>{let t=Kt.exec(e);if(!t)return d(parseFloat(e));let n=parseFloat(t[1]),o=t[2].toLowerCase();return d(o==="turn"?n*360:o==="grad"?n*.9:o==="rad"?n*180/Math.PI:n)};function Yt(e){let t=De.exec(e);if(!t)return null;let n=t[1].toLowerCase().replace(/a$/,""),o=t[2],r,s,a;if(o.includes(",")){if(n==="hwb")return null;let l=o.split(",").map(Ie);if(l.length<3||l.length>4||!l.every(Be)||(r=l.slice(0,3),s=l[3],a=r.map(H),n==="rgb"?!(a.every(b=>b==="num")||a.every(b=>b==="pct")):!((a[0]==="num"||a[0]==="angle")&&a[1]==="pct"&&a[2]==="pct"))||s!==void 0&&H(s)!=="num"&&H(s)!=="pct")return null}else{let l=o.split("/");if(l.length>2||(r=l[0].split(Ke).filter(Boolean),r.length!==3))return null;if(l.length===2){s=Ie(l[1]);let b=Be(s)?H(s):null;if(!b||b==="angle")return null}if(a=r.map(H),n==="rgb"?!a.every(b=>b&&b!=="angle"):!(a[0]&&a[0]!=="pct"&&a[1]&&a[1]!=="angle"&&a[2]&&a[2]!=="angle"))return null}let c=(l,b)=>Ye.test(l)?0:/%$/.test(l)?parseFloat(l)/100*b:parseFloat(l),h=s===void 0?1:m(c(s,1),0,1);return[n==="rgb"?x([m(c(r[0],255)/255,0,1),m(c(r[1],255)/255,0,1),m(c(r[2],255)/255,0,1)],"srgb","oklch"):x([a[0]==="none"?0:Pe(r[0]),m(c(r[1],100),0,100),m(c(r[2],100),0,100)],n,"oklch"),h]}var An=e=>{let t=Xe.exec(e);if(!t)return!1;let n=t[1].toLowerCase(),o=t[2].split("/");if(o.length>2)return!1;let r=o[0].split(Ke).filter(Boolean);if(n==="color"&&!Ln.test(r.shift()||"")||r.length!==3)return!1;let s=n==="lch"||n==="oklch";if(!r.every((a,c)=>{let h=H(a);return h&&(s&&c===2?h!=="pct":h!=="angle")}))return!1;if(o.length===2){let a=Ie(o[1]),c=Be(a)?H(a):null;if(!c||c==="angle")return!1}return!0};function we(e){if(e=String(e??"").trim(),Ce.test(e)){let c=e.replace("#",""),h=1;c.length===4?(h=parseInt(c[3]+c[3],16)/255,c=c.slice(0,3)):c.length===8&&(h=parseInt(c.slice(6,8),16)/255,c=c.slice(0,6));let[p,l,b]=At("#"+c);return[p,l,b,h]}let t=Xe.exec(e);if(t){let c=t[1].toLowerCase(),[h,p]=t[2].split("/").map(v=>v.trim()),l=h.split(/\s+/).filter(Boolean),b=c;if(c==="color"&&(b=Vn[(l[0]||"").toLowerCase()],l=l.slice(1),!b))return[.7,.1,280,1];let g=(v,S=1)=>!v||Ye.test(v)?0:d(parseFloat(v))*(/%$/.test(v)?S:1),$=p?m(g(p,.01),0,1):1,C=c==="lab"?[m(g(l[0]),0,100),g(l[1],1.25),g(l[2],1.25)]:c==="lch"?[m(g(l[0]),0,100),Math.max(0,g(l[1],1.5)),Pe(l[2]||"0")]:c==="color"?[g(l[0],.01),g(l[1],.01),g(l[2],.01)]:c==="oklab"?[m(g(l[0],.01),0,1),g(l[1],.004),g(l[2],.004)]:[m(g(l[0],.01),0,1),Math.max(0,g(l[1],.004)),Pe(l[2]||"0")],f=b==="oklch"?C:x(C,b,"oklch");return[d(f[0]),m(d(f[1]),0,Me),(d(f[2])%360+360)%360,$]}if(De.test(e)){let c=Yt(e);if(!c)return[0,0,0,1];let[h,p]=c;return[d(h[0]),m(d(h[1]),0,Me),(d(h[2])%360+360)%360,p]}let n=jt();if(!n)return[0,0,0,1];n.fillStyle="#000",n.fillStyle=e;let o=n.fillStyle;if(Ce.test(o))return we(o);let r=o.match(/^rgba?\(([^)]*)\)/i),s=((r?r[1]:"").match(/-?[\d.]+(?:e[+-]?\d+)?/gi)||[0,0,0]).map(Number),a=x([s[0]/255,s[1]/255,s[2]/255],"srgb","oklch");return[d(a[0]),d(a[1]),d(a[2]),s[3]!=null?m(d(s[3]),0,1):1]}function Zt(e,t){let[n,o,r,s]=we(e.value||"#7c5cff"),a=fe.includes(e.mode)?e.mode:"oklch",c=NaN,h=null,p=[],l=NaN,b="",g=()=>Dt([n,o,r],a,s),$=w("div","tw-color-body"),C=w("div","tw-wg-area"),f=document.createElement("canvas");f.className="tw-wg-canvas";let v=w("div","tw-wg-thumb");C.append(f,v);let S=w("div","tw-wg-hue"),E=document.createElement("canvas");E.className="tw-wg-hue-canvas";let G=w("div","tw-wg-hue-thumb");S.append(E,G),f.setAttribute("role","img"),f.setAttribute("aria-label","Colour plane: chroma across, lightness up"),E.setAttribute("role","img"),E.setAttribute("aria-label","Hue strip");let _=w("div","tw-wg-alpha"),Ze=w("div","tw-wg-alpha-grad"),ve=w("div","tw-wg-hue-thumb");_.append(Ze,ve),_.tabIndex=0,_.setAttribute("role","slider"),_.setAttribute("aria-label","Alpha"),_.setAttribute("aria-valuemin","0"),_.setAttribute("aria-valuemax","1");let ze=w("div","tw-color-mode-row"),O=w("select","tw-color-mode");O.setAttribute("aria-label","Color mode"),fe.forEach(i=>{let u=document.createElement("option");u.value=i,u.textContent=Nt[i],O.append(u)}),O.value=a;let We=w("span","tw-color-gamut");ze.append(O,We);let T=w("div","tw-color-channels");$.append(C,S,_,ze,T);let y=f.getContext("2d",He),Ue=E.getContext("2d"),I=document.createElement("canvas"),zt=I.getContext("2d",He),ye=null,$e=()=>{let i=C.getBoundingClientRect(),u=Math.round(i.width),M=Math.round(i.height);if(u<2)return;let k=window.devicePixelRatio||1,P=Ne(a)?"p3":"srgb",D=_n(r,P);h=D;let z=Math.round(u*k),ee=Math.round(M*k),R=Math.max(1,Math.round(z/4)),X=Math.max(1,Math.round(ee/4));(I.width!==R||I.height!==X)&&(I.width=R,I.height=X,ye=new ImageData(R,X,He));let te=ye.data,tn=X>1?1/(X-1):0,nn=R>1?1/(R-1):0,rn=Rt(r,En),ne=[0,0,0];for(let A=0;A<X;A++){let re=1-A*tn,_e=ke(D,re);for(let N=0;N<R;N++){rn(re,N*nn*_e,ne);let j=(A*R+N)*4;te[j]=Math.round(m(ne[0],0,1)*255),te[j+1]=Math.round(m(ne[1],0,1)*255),te[j+2]=Math.round(m(ne[2],0,1)*255),te[j+3]=255}}if(zt.putImageData(ye,0,0),f.width=z,f.height=ee,y.imageSmoothingEnabled=!0,y.drawImage(I,0,0,z,ee),P!=="srgb"){let A=(re,_e,N,j)=>{let on=me(r,re),Se=[];for(let V=0;V<=100;V++){let W=V/100,Ve=ke(D,W);if(Ve<=0)continue;let rt=ge(on,W,Ve);rt<=0||Se.push([Math.min(rt/Ve*z,z-N*k/2),(1-W)*ee])}Se.length<2||(y.save(),y.strokeStyle=_e,y.lineWidth=N*k,y.lineJoin=y.lineCap="round",y.setLineDash(j.map(V=>V*k)),y.beginPath(),Se.forEach((V,W)=>W?y.lineTo(V[0],V[1]):y.moveTo(V[0],V[1])),y.stroke(),y.restore())};A("srgb","rgba(255,255,255,0.7)",1.5,[]),A("p3","rgba(255,255,255,0.4)",1,[3,3])}c=r},qe=.7,Je=i=>{let u=x([qe,ge(me(i,"srgb"),qe),i],"oklch","srgb");return`rgb(${m(u[0]*255,0,255)|0},${m(u[1]*255,0,255)|0},${m(u[2]*255,0,255)|0})`},Qe=0,Wt=()=>{let i=S.getBoundingClientRect(),u=Math.max(1,Math.round(i.width)),M=Math.max(1,Math.round(i.height));if(!(u<2)&&!(u===Qe&&E.width===u)){Qe=u,E.width=u,E.height=M;for(let k=0;k<u;k++)Ue.fillStyle=Je(k/(u-1)*360),Ue.fillRect(k,0,1,M)}},Ee=()=>{let i=h?ke(h,n):.4,u=k=>`${m(k,0,1)*100}%`,M=(k,P)=>{let D=m(k,0,1);return`calc(${D*100}% + ${(.5-D)*P}px)`};v.style.left=u(i>0?o/i:0),v.style.top=u(1-n),G.style.left=M(r/360,16),ve.style.left=M(s,16),_.setAttribute("aria-valuenow",String(+s.toFixed(2))),Ze.style.background=`linear-gradient(to right, oklch(${n} ${o} ${r} / 0), oklch(${n} ${o} ${r}))`,v.style.background=`oklch(${n} ${o} ${r})`,ve.style.background=`linear-gradient(oklch(${n} ${o} ${r} / ${s}), oklch(${n} ${o} ${r} / ${s})), var(--tw-dropdown-bg)`,r!==l&&(b=Je(r),l=r),G.style.background=b},Q=()=>{if(We.textContent=Pt([n,o,r],a),a==="hex"){let i=T.querySelector(".tw-color-chan-input");i&&document.activeElement!==i&&(i.value=de(n,o,r)+(s<.999?F(s):""))}else{let i=xe([n,o,r],a);p.forEach((u,M)=>{u.el.contains(document.activeElement)||u.set(i[M])})}},Ut=()=>{Wt(),$e(),Ee()},qt=()=>t(g()),et=i=>{i&&r!==c&&$e(),Ee(),Q()},B=i=>{et(i),qt()},tt=()=>{if(T.replaceChildren(),p=[],a==="hex"){T.classList.add("tw-color-channels--hex");let i=w("div","tw-color-chan"),u=w("input","tw-color-chan-input");u.type="text",u.spellcheck=!1,u.setAttribute("aria-label","Hex color"),at(u),ct(u),u.addEventListener("change",()=>{let M=u.value.trim();Ce.test(M)&&([n,o,r,s]=we(M),B(!0))}),u.addEventListener("blur",Q),u.addEventListener("keydown",M=>{M.key==="Enter"&&u.blur()}),i.append(st("span","tw-color-chan-label","HEX"),u),T.append(i)}else{T.classList.remove("tw-color-channels--hex");let i=xe([n,o,r],a);J[a].forEach((u,M)=>{let k=ut({label:u.k,value:i[M],min:u.min,max:u.max,step:u.step},P=>{[n,o,r]=Bt([n,o,r],a,M,m(P,u.min,u.max)),B(!0)});k.el.addEventListener("focusout",Q),p.push(k),T.append(k.el)})}Q()},Jt=i=>se(i,C);oe(C,i=>{let[u,M]=Jt(i);n=1-M,o=u*(h?ke(h,n):.4),B(!1)});let Qt=i=>se(i,S)[0]*360;oe(S,i=>{r=Qt(i),B(!0)});let en=i=>se(i,_)[0];oe(_,i=>{s=en(i),B(!1)}),_.addEventListener("keydown",i=>{let u=ot(i,s,.01,0,1);u!=null&&(i.preventDefault(),s=m(u,0,1),B(!1))});let nt=i=>{a=i,O.value=i,tt(),$e(),Ee()};return O.addEventListener("change",()=>{nt(O.value),e.onMode&&e.onMode()}),tt(),{el:$,set:i=>{let u=document.activeElement;u&&$.contains(u)&&u.blur(),[n,o,r,s]=we(i),et(!0)},get:()=>g(),mode:()=>a,setMode:i=>{i!==a&&fe.includes(i)&&nt(i)},reflow:Ut,swatchCss:()=>`linear-gradient(oklch(${n} ${o} ${r} / ${s}), oklch(${n} ${o} ${r} / ${s})), ${Sn}`,valueText:()=>Fe([n,o,r],a)+(s<.999?a==="hex"?F(s):` / ${+s.toFixed(2)}`:"")}}function Nn(e,t){let{root:n,trigger:o,right:r}=it("tw-color",e.label??"Colour"),s=w("span","tw-trigger-chip tw-color-swatch"),a=w("span","tw-trigger-value");r.append(s,a);let c=w("div","tw-color-pop"),h=()=>{s.style.background=p.swatchCss(),a.textContent=p.valueText()},p=Zt({value:e.value,onMode:()=>h()},l=>{h(),t(l)});return c.append(p.el),n.append(c),lt(n,o,c,{width:240,fallbackH:340,gap:6,onOpen:p.reflow,onReflow:p.reflow}),h(),{el:n,set:l=>{p.set(l),h()},get:()=>p.get()}}var Kn=(e,t,n,o)=>o<.999?`oklch(${+e.toFixed(4)} ${+t.toFixed(4)} ${+n.toFixed(2)} / ${+o.toFixed(3)})`:`oklch(${+e.toFixed(4)} ${+t.toFixed(4)} ${+n.toFixed(2)})`;Le("color",Nn);Le("colorpicker",Zt);export{In as a,Bn as b,Sn as c,jn as d,we as e,Zt as f,Kn as g};
@@ -1 +0,0 @@
1
- var P=e=>e.replace(/([A-Z])/g," $1").replace(/^./,t=>t.toUpperCase()).trim(),L=(e,t,n)=>Math.min(n,Math.max(t,e)),ue=e=>typeof e=="string"&&(/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(e.trim())||/^(oklch|oklab|rgba?|hsla?|hwb|lab|lch|color)\(/i.test(e.trim()));var k=e=>{let t=String(e),n=/e-(\d+)$/i.exec(t);if(n)return Math.min(20,Number(n[1])+(t.split("e")[0].split(".")[1]||"").length);let r=t.indexOf(".");return r===-1?0:Math.min(20,t.length-r-1)},H=(e,t,n)=>{if(!(n>0))return e;let r=k(n),i=Number((+t).toFixed(r)),o=Math.round((e-i)/n);return Number.isFinite(o)?Number((i+o*n).toFixed(r)):e},O=(e,t,n,r=e)=>{let i=a=>H(a,r,n),o=Number.isFinite(e)?i(e):-1/0,s=Number.isFinite(t)?i(t):1/0;return o<e&&(o=i(o+n)),s>t&&(s=i(s-n)),o>s?[e,e]:[o,s]},R=(e,t)=>{let n=t-e;return n<=1?.01:n<=10?.1:n<=100?1:10},ce=(e,t,n,r=0,i=null)=>{let o=+e,s=+t,a=+n;if(Number.isFinite(o)||(o=r),Number.isFinite(s)||(s=i??o+100),s<o){let f=o;o=s,s=f}return(!(a>0)||a>s-o)&&(a=R(o,s)),{min:o,max:s,step:a}},de=(e,t,n,r,i,o=null)=>{let s=e.shiftKey?10:1;switch(e.key){case"ArrowRight":case"ArrowUp":return t+n*s;case"ArrowLeft":case"ArrowDown":return t-n*s;case"PageUp":return o!=null?t+o:null;case"PageDown":return o!=null?t-o:null;case"Home":return r;case"End":return i}return null},me=(e,t,n,r,i=0)=>{let o=e.offsetLeft,s=o+e.offsetWidth,a=t.offsetLeft,f=a+t.offsetWidth;return n<s&&n+r>o||n<f+i&&n+r>a-i},fe=e=>e>=0?[0,e<=1?1:e*3||100]:[e>=-1?-1:e*3,0],I=e=>e==null?void 0:typeof e=="object"?e.value:e,V=e=>{try{return JSON.stringify(e)}catch{return String(e)}},_=e=>e==null?"":typeof e=="string"?P(e):typeof e=="object"?e.label??(e.value!==void 0?String(e.value):V(e)):String(e),B="http://www.w3.org/2000/svg",g=(e,t,n)=>{let r=document.createElement(e);return t&&(r.className=t),n!=null&&(r.innerHTML=n),r},we=(e,t)=>{let n=document.createElementNS(B,e);return t&&n.setAttribute("class",t),n},$=(e,t)=>{let n=g("button",e,t);return n.type="button",n},C=(e,t,n)=>{let r=g(e,t);return r.textContent=n,e==="button"&&(r.type="button"),r},be=(e,t)=>getComputedStyle(e).getPropertyValue(t).trim(),ge=e=>{let t=getComputedStyle(e),n=r=>t.getPropertyValue(r).trim();return n("--tw-accent")||n("--tw-text-primary")||"#fff"},D=e=>["pointerdown","pointermove","pointerup"].forEach(t=>e.addEventListener(t,n=>n.stopPropagation())),X=e=>{requestAnimationFrame(e),document.fonts&&document.fonts.ready&&document.fonts.ready.then(e)},K=(e,t,n)=>{let r=e.isConnected;r||requestAnimationFrame(()=>{e.isConnected&&(r=!0)});let i=s=>{if(!e.isConnected){(r||e.closest("[data-tw-destroyed]"))&&o();return}r=!0,n(s)},o=()=>t.forEach(([s,a])=>s.removeEventListener(a,i));return t.forEach(([s,a])=>s.addEventListener(a,i)),o},ve=()=>requestAnimationFrame(()=>window.dispatchEvent(new Event("tw-reflow"))),pe=(e,t)=>{e.addEventListener("pointerenter",()=>{e.classList.add("is-hover"),t&&t()}),e.addEventListener("pointerleave",()=>e.classList.remove("is-hover"))},y=!1;typeof document<"u"&&(document.addEventListener("pointerdown",()=>{y=!0},!0),document.addEventListener("keydown",()=>{y=!1},!0));var j=e=>{e.addEventListener("focus",()=>e.classList.toggle("tw-focus-quiet",y)),e.addEventListener("blur",()=>e.classList.remove("tw-focus-quiet"))},he=e=>{let t=!1;e.addEventListener("pointerdown",n=>{t=n.button===0&&document.activeElement!==e}),e.addEventListener("focus",()=>e.select()),e.addEventListener("mouseup",n=>{t&&(t=!1,n.button===0&&document.activeElement===e&&e.selectionStart===0&&e.selectionEnd===e.value.length&&n.preventDefault())})};function F(e,{onDown:t,onMove:n,onEnd:r}={}){let i=null,o=s=>{i===null||s.pointerId!==i||(i=null,r&&r(s))};e.addEventListener("pointerdown",s=>{if(!(s.button!==0||i!==null)){i=s.pointerId;try{e.setPointerCapture(s.pointerId)}catch{}t&&t(s)}}),e.addEventListener("pointermove",s=>{if(s.pointerId===i){if(s.buttons===0)return o(s);n&&n(s)}}),e.addEventListener("pointerup",o),e.addEventListener("pointercancel",o),e.addEventListener("lostpointercapture",o)}var Ee=(e,t)=>F(e,{onDown:n=>{e.classList.add("is-grabbing"),t(n)},onMove:t,onEnd:()=>e.classList.remove("is-grabbing")}),ye=(e,t)=>{let n=t.getBoundingClientRect();return[L((e.clientX-n.left)/n.width,0,1),L((e.clientY-n.top)/n.height,0,1)]},Le=(e,t,n=1/0)=>{let r=e.getBoundingClientRect(),i=Math.min(window.devicePixelRatio||1,n);return e.width=r.width*i,e.height=r.height*i,t.setTransform(i,0,0,i,0,0),[r.width,r.height]},G=(e,t,{width:n,fallbackH:r=300,gap:i=6,align:o="start",prefer:s="below"}={})=>{let a=e.getBoundingClientRect();n==="match"&&(t.style.width=a.width+"px");let f=n==="match"?a.width:t.offsetWidth||n||0,b=o==="end"?a.right-f:o==="center"?a.left+a.width/2-f/2:a.left;t.style.left=Math.max(8,Math.min(b,window.innerWidth-f-8))+"px";let l=t.offsetHeight||r,c=window.innerHeight-a.bottom,w=a.top,p=l+12,v=c>=p,d=w>=p,u=(s==="above"?d||!v&&w>=c:!v&&(d||w>c))?a.top-l-i:a.bottom+i;t.style.top=L(u,i,window.innerHeight-l-i)+"px"},q=Object.assign(Object.create(null),{accent:"--tw-accent",onAccent:"--tw-on-accent",base:"--tw-base",dropdownBg:"--tw-dropdown-bg",surface:"--tw-surface",surfaceHover:"--tw-surface-hover",surfaceActive:"--tw-surface-active",border:"--tw-border",borderHover:"--tw-border-hover",selection:"--tw-selection",title:"--tw-text-root",section:"--tw-text-section",text:"--tw-text-primary",label:"--tw-text-label",textMuted:"--tw-text-secondary",textFaint:"--tw-text-tertiary",focus:"--tw-text-focus",success:"--tw-success",danger:"--tw-danger",shadow:"--tw-shadow-dropdown",shadowPanel:"--tw-shadow-panel",shadowPanelLifted:"--tw-shadow-panel-lifted",font:"--tw-font-sans",fontMono:"--tw-font-mono",radius:"--tw-radius",density:"--tw-row-height"}),z=new Set(["radius","density"]),M=e=>(e/=255,e<=.03928?e/12.92:((e+.055)/1.055)**2.4),U=e=>{e=String(e).trim();let t=/^#([0-9a-f]{3})$/i.exec(e);if(t)return t[1].split("").map(n=>parseInt(n+n,16));if(t=/^#([0-9a-f]{6})$/i.exec(e),t)return[0,2,4].map(n=>parseInt(t[1].slice(n,n+2),16));if(t=/^rgba?\(([^)]+)\)/i.exec(e),t){let n=t[1].split(/[\s,/]+/).filter(Boolean).map(parseFloat);return[n[0],n[1],n[2]]}return null},W=e=>{let t=U(e);if(!t||t.some(r=>!Number.isFinite(r)))return"#ffffff";let n=.2126*M(t[0])+.7152*M(t[1])+.0722*M(t[2]);return 1.05/(n+.05)>=(n+.05)/.0571?"#ffffff":"#161616"},Me=e=>{if(!e||typeof e!="object")return null;let t={};for(let[n,r]of Object.entries(e)){if(n.startsWith("--")){t[n]=String(r);continue}let i=q[n];i&&(t[i]=z.has(n)&&typeof r=="number"?`${r}px`:String(r))}return t["--tw-accent"]&&!t["--tw-on-accent"]&&(t["--tw-on-accent"]=W(t["--tw-accent"])),Object.keys(t).length?t:null},Y=(e,t)=>{if(e){if(e._twAppliedVars)for(let n of e._twAppliedVars)e.style.removeProperty(n);if(e._twAppliedVars=t?Object.keys(t):null,t)for(let n in t)e.style.setProperty(n,t[n])}},J=(e,t)=>{let n=t?.closest('[data-tw-scheme="light"]')?"light":t?.closest('[data-tw-scheme="dark"]')?"dark":null;n?e.setAttribute("data-tw-scheme",n):e.removeAttribute("data-tw-scheme")},T=(e,t)=>{Y(e,t?.closest(".tw-panel")?._twTheme),J(e,t)},h=null,x=null,Te=e=>{h&&(!e||e.contains(x))&&h()};function xe(e,t,n,r={}){let i=!1,o=null;n.classList.add("tw-portal"),n.addEventListener("pointerdown",m=>t.closest(".tw-panel")?._twEditPointer?.(m),!0),D(n);let s=()=>G(t,n,{width:r.width,fallbackH:r.fallbackH,gap:r.gap,align:r.align}),a=()=>{if(i){if(!e.isConnected)return d();s(),r.onReflow&&r.onReflow()}},f=m=>{!e.contains(m.target)&&!n.contains(m.target)&&d()},b=m=>{m.key==="Escape"&&i&&(d(),t.focus())},l=m=>{if(!i)return;let u=m.relatedTarget;(u?e.contains(u)||n.contains(u):y)||(d(),u&&!t.closest(".tw-panel")?.contains(u)&&setTimeout(()=>{!i&&document.activeElement===u&&t.focus()},0))};e.addEventListener("focusout",l),n.addEventListener("focusout",l);let c=()=>n.querySelector('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [href], [tabindex]:not([tabindex="-1"])'),w=()=>T(n,e),p=m=>{m.every(u=>u.target===n)||w()},v=()=>{h&&h!==d&&h(),h=d,x=t,i=!0,e.classList.add("is-open"),t.setAttribute("aria-expanded","true"),document.body.appendChild(n),T(n,e),window.addEventListener("tw-retheme",w),typeof MutationObserver=="function"&&(o=new MutationObserver(p),o.observe(document.documentElement,{subtree:!0,attributes:!0,attributeFilter:["data-tw-scheme"]})),s(),requestAnimationFrame(()=>{if(i&&(n.classList.add("is-open"),r.onOpen&&r.onOpen(),s(),!n.contains(document.activeElement))){let m=r.initialFocus&&r.initialFocus()||c();m&&m.focus({focusVisible:!y})}}),requestAnimationFrame(function m(){if(i){if(!e.isConnected)return d();requestAnimationFrame(m)}}),setTimeout(()=>{i&&document.addEventListener("pointerdown",f,!0)},0),document.addEventListener("keydown",b),window.addEventListener("scroll",a,!0),window.addEventListener("resize",a)},d=()=>{h===d&&(h=null,x=null),n.contains(document.activeElement)&&t.focus(),i=!1,e.classList.remove("is-open"),n.classList.remove("is-open"),t.setAttribute("aria-expanded","false"),document.removeEventListener("pointerdown",f,!0),document.removeEventListener("keydown",b),window.removeEventListener("scroll",a,!0),window.removeEventListener("resize",a),window.removeEventListener("tw-retheme",w),o&&(o.disconnect(),o=null),setTimeout(()=>{i||n.remove()},200)};return t.addEventListener("click",()=>{t.disabled||(i?d():v())}),{open:v,close:d,isOpen:()=>i,reflow:a}}var Ce=(e,t)=>{if(e=e.toLowerCase(),e.includes(t))return!0;if(t.length<3)return!1;let n=t.length,r=e.length,i=new Array(r+1).fill(0);for(let o=1;o<=n;o++){let s=[o];for(let a=1;a<=r;a++)s[a]=Math.min(i[a]+1,s[a-1]+1,i[a-1]+(t[o-1]===e[a-1]?0:1));i=s}return Math.min(...i)<=(t.length<6?1:2)},Z=typeof matchMedia=="function"?matchMedia("(prefers-reduced-motion: reduce)"):{matches:!1},Q="cubic-bezier(0.22, 1, 0.36, 1)",Ae="cubic-bezier(0.34, 1.2, 0.64, 1)",ee=(e,t)=>{Z.matches||typeof e.animate!="function"||(e.style.transformOrigin=t>0?"left center":"right center",e.animate([{transform:"scaleX(1)"},{transform:"scaleX(1.18)"},{transform:"scaleX(1)"}],{duration:300,easing:Q}))},te=(e,t,n)=>{let r=e.querySelector('[data-active="true"]');if(!r)return;let i=r.offsetLeft,o=r.offsetWidth,s=parseFloat(t.style.left);t.style.left=i+"px",t.style.width=o+"px",n&&Number.isFinite(s)&&s!==i&&ee(t,i>s?1:-1)},ke=(e,t)=>{e.classList.toggle("is-disabled",t);for(let n of e.children)n.inert=t},He=(e,t,n,r)=>{e.classList.toggle("is-collapsed",r),t.setAttribute("aria-expanded",String(!r)),n.inert=r},S=(e,t)=>{let n=e.findIndex(r=>r.dataset.value===String(t));return n<0&&e.length?0:n},ne=(e,t)=>{let n=S(e,t);e.forEach((r,i)=>{let o=r.dataset.value===String(t);r.dataset.active=String(o),r.setAttribute("aria-checked",String(o)),r.tabIndex=i===n?0:-1})},re=(e,t,n)=>{let r=C("button",e,_(t));return r.setAttribute("role","radio"),r._twVal=I(t),r.dataset.value=r._twVal,r.addEventListener("click",()=>n(r._twVal)),r},ie=(e,t,n,r=0)=>{switch(e){case"ArrowRight":return(t+1)%n;case"ArrowLeft":return(t-1+n)%n;case"ArrowDown":return r<0?-1:r?t+r<n?t+r:t:(t+1)%n;case"ArrowUp":return r<0?-1:r?t-r>=0?t-r:t:(t-1+n)%n;case"Home":return 0;case"End":return n-1}return-1};function Fe(e,t,n,r){let i=g("div","tw-seg");i.setAttribute("role","radiogroup"),r&&i.setAttribute("aria-label",r);let o=g("div","tw-seg-pill");i.append(o);let s=e.map(l=>{let c=re("tw-seg-btn",l,w=>b(w));return i.append(c),c}),a=l=>te(i,o,l),f=()=>{ne(s,t),a(!0)},b=(l,c=!0)=>{l!=null&&!s.some(w=>w._twVal===l)||(t=l,f(),c&&n(l))};return i.addEventListener("keydown",l=>{let c=S(s,t);if(c<0)return;let w=ie(l.key,c,s.length);w<0||(l.preventDefault(),b(s[w]._twVal),s[w].focus())}),f(),X(()=>{a(),i.classList.add("is-ready")}),K(i,[[window,"tw-reflow"]],()=>a()),{el:i,set:l=>b(l,!1),get:()=>t}}var Se=(e,t)=>{let n=g("div",e),r=$("tw-trigger");r.setAttribute("aria-expanded","false");let i=g("span","tw-trigger-right");return r.append(C("span","tw-trigger-label",t),i),n.append(r),{root:n,trigger:r,right:i}};function oe(){let e=null,t=0,n=0,r=0;return{show(i,o,s,a){e=g("div","tw-grab-guide tw-portal"),e.innerHTML='<span class="tw-grab-line"></span><span class="tw-grab-dot"></span><span class="tw-grab-arrow"></span><span class="tw-grab-bubble"></span>',t=o,n=i,r=s??i,e.children[1].style.cssText=`left:${i}px;top:${t}px`,T(e,a),document.body.appendChild(e)},move(i,o){e&&(e.children[0].style.cssText=`left:${Math.min(n,i)}px;top:${t}px;width:${Math.abs(i-n)}px`,e.children[2].style.cssText=`left:${i}px;top:${t}px;transform:translate(-50%,-50%) scaleX(${i>=n?1:-1})`,e.children[3].style.cssText=`left:${r}px;top:${t-16}px`,e.children[3].textContent=o)},hide(){e&&(e.remove(),e=null)}}}function se(e,t,n,r,i,o){let s=0,a=0,f=1,b=oe();F(e,{onDown:l=>{l.preventDefault(),s=l.clientX,a=r(),f=1,e.classList.add("is-dragging");let c=t.getBoundingClientRect();b.show(l.clientX,c.top+c.height/2,c.left+c.width/2,t),b.move(l.clientX,o())},onMove:l=>{let c=l.shiftKey?10:l.altKey?.1:1;c!==f&&(f=c,s=l.clientX,a=r()),i(a+(l.clientX-s)*n*c),b.move(l.clientX,o())},onEnd:()=>{e.classList.remove("is-dragging"),b.hide()}})}function Ne(e,t){let n=Number.isFinite(+e.step)&&+e.step>0?+e.step:1,r=u=>u==null?NaN:+u,i=r(e.min),o=r(e.max);if(Number.isFinite(i)&&Number.isFinite(o)&&o<i){let u=i;i=o,o=u}let s=Number.isFinite(i)?i:0,a=k(n),[f,b]=O(Number.isFinite(i)?i:-1/0,Number.isFinite(o)?o:1/0,n,s),l=u=>{let E=H(u,s,n);return e.soft?E:L(E,f,b)},c=l(Number.isFinite(+e.value)?+e.value:0),w=g("div",e.row?"tw-row":"tw-field"),p=g("div","tw-num-wrap"),v=g("span","tw-num-grab",le);v.setAttribute("aria-hidden","true"),v.title="Drag to adjust";let d=g("input","tw-num");d.type="text",d.inputMode="decimal",d.setAttribute("aria-label",e.label),d.value=c.toFixed(a),j(d),p.append(v,d),w.append(C("span",e.row?"tw-row-label":"tw-field-label",e.label),p);let m=(u,E=!0)=>{u=+u,Number.isFinite(u)&&(c=l(u),d.value=c.toFixed(a),E&&t&&t(c))};return d.addEventListener("change",()=>{let u=parseFloat(d.value);m(isNaN(u)?c:u)}),d.addEventListener("keydown",u=>{if(u.key==="Enter")return d.blur();let E=u.key==="ArrowUp"?1:u.key==="ArrowDown"?-1:0;if(!E)return;u.preventDefault();let A=parseFloat(d.value);m((isNaN(A)?c:A)+E*n*(u.shiftKey?10:1))}),se(v,p,n,()=>c,m,()=>d.value),{el:w,set:u=>m(u,!1),get:()=>c}}var ae=(e,t="",n=2,r=24)=>`<svg${t?` class="${t}"`:""} viewBox="0 0 ${r} ${r}" fill="none" stroke="currentColor" stroke-width="${n}" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${e}</svg>`,le=ae('<path d="M6 4v8M10 4v8"/>',"",1.5,16),Pe=(e,t)=>({el:e,set:()=>{},get:()=>{},destroy:t}),N={},Oe=(e,t)=>{N[e]=t},Re=e=>N[e];export{P as a,L as b,ue as c,k as d,H as e,O as f,R as g,ce as h,de as i,me as j,fe as k,I as l,V as m,_ as n,g as o,we as p,$ as q,C as r,be as s,ge as t,D as u,X as v,K as w,ve as x,pe as y,j as z,he as A,F as B,Ee as C,ye as D,Le as E,G as F,Me as G,Y as H,J as I,T as J,Te as K,xe as L,Ce as M,Z as N,Q as O,Ae as P,te as Q,ke as R,He as S,S as T,ne as U,re as V,ie as W,Fe as X,Se as Y,Ne as Z,ae as _,Pe as $,Oe as aa,Re as ba};
@@ -1 +0,0 @@
1
- import{c as a,d as b,e as c,f as d,g as e}from"./chunk-DPJ7YRTN.js";import"./chunk-GC5PWSSX.js";export{a as CHECKER,d as createPickerBody,b as isColor,e as oklchStr,c as parseColor};
@@ -1 +0,0 @@
1
- import{a as V,b as D,c as q,d as J,e as P,f as Q,g as W}from"./chunk-DPJ7YRTN.js";import{B as X,L as N,Y,_ as z,aa as U,b as f,o as g,q as B}from"./chunk-GC5PWSSX.js";var it=z('<path d="M12 5v14M5 12h14"/>',"",2.5),Z=i=>i&&!Array.isArray(i)&&typeof i.interpolation=="string"?i.interpolation:null;function tt(i){let x=[{color:"oklch(0.72 0.19 25)",pos:0},{color:"oklch(0.72 0.16 280)",pos:1}],l=Array.isArray(i)?i:i&&Array.isArray(i.stops)?i.stops:null,n=(p,G)=>J(p)?{color:String(p).trim(),pos:f(+G||0,0,1)}:null,m=(l||[]).map(p=>Array.isArray(p)?n(p[0],p[1]):p&&typeof p=="object"?n(p.color,p.pos):null).filter(Boolean);return m.length>=2?m:x}function pt(i,x){let l=tt(i.value),n=l[0],{root:m,trigger:p,right:G}=Y("tw-gradient",i.label??"Gradient"),R=g("span","tw-gradient-count"),_=g("span","tw-trigger-chip tw-gradient-preview");G.append(R,_);let S=g("div","tw-color-pop tw-gradient-pop"),j=g("div","tw-gradient-bar-row"),L=g("div","tw-gradient-bar"),F=g("div","tw-gradient-grad"),u=g("div","tw-gradient-rail");L.append(F,u);let v=B("tw-gradient-add",it);v.title="Add a stop after the selected one",v.setAttribute("aria-label","Add a colour stop after the selected one"),j.append(L,v);let k=()=>[...l].sort((t,o)=>t.pos-o.pos),ot=()=>k().map(t=>`${t.color} ${(t.pos*100).toFixed(1)}%`).join(", "),I=()=>V(h.mode()),et=()=>`linear-gradient(in ${I()} to right, ${ot()})`,c=()=>{let t=et();F.style.background=t,_.style.background=`${t}, ${q}`},C=()=>{R.textContent=`${l.length} stop${l.length===1?"":"s"}`},K=()=>({stops:k().map(t=>({color:t.color,pos:+t.pos.toFixed(4)})),interpolation:I()}),w=()=>x(K()),A=t=>[...u.children].find(o=>o._stop===t),h=Q({value:n.color,mode:D(Z(i.value)||"oklch"),onMode:()=>{c(),w()}},t=>{n.color=t,A(n)?.style.setProperty("--stop",t),c(),w()});S.append(j,h.el),m.append(S);let E=t=>t.setAttribute("aria-label",`Colour stop at ${Math.round(t._stop.pos*100)}%${t._stop===n?", selected":""}`),nt=()=>{for(let t of u.children)t.dataset.sel=String(t._stop===n),E(t)},$=()=>{u.replaceChildren();for(let t of l){let o=B("tw-gradient-stop");o._stop=t,o.style.left=t.pos*100+"%",o.style.setProperty("--stop",t.color),o.dataset.sel=String(t===n),E(o),o.addEventListener("focus",()=>M(t,!1));let s=!1;X(o,{onDown:e=>{e.preventDefault(),e.stopPropagation(),o.focus({focusVisible:!1}),M(t,!1),s=!1},onMove:e=>{let r=u.getBoundingClientRect();t.pos=f((e.clientX-r.left)/(r.width||1),0,1),o.style.left=t.pos*100+"%",E(o),c(),w(),s=l.length>2&&(e.clientY<r.top-24||e.clientY>r.bottom+24),o.dataset.removing=String(s)},onEnd:()=>{s?O(t):o.dataset.removing="false"}}),o.addEventListener("dblclick",e=>{e.preventDefault(),O(t)}),o.addEventListener("keydown",e=>{let r=e.key==="ArrowLeft"?-1:e.key==="ArrowRight"?1:0;r&&(e.preventDefault(),t.pos=f(t.pos+r*(e.shiftKey?.1:.01),0,1),o.style.left=t.pos*100+"%",E(o),c(),w())}),u.append(o)}},M=(t,o)=>{t!==n&&(h.set(t.color),n=t),o?$():nt()},rt=t=>{let o=u.getBoundingClientRect();return f((t-o.left)/(o.width||1),0,1)},st=t=>{let o=k(),s=o[0],e=o[o.length-1];for(let d=0;d<o.length-1;d++)if(t>=o[d].pos&&t<=o[d+1].pos){s=o[d],e=o[d+1];break}let r=e.pos>s.pos?f((t-s.pos)/(e.pos-s.pos),0,1):0,a=P(s.color),y=P(e.color),H=d=>d[1]<1e-4,b=y[2]-a[2];b>180?b-=360:b<-180&&(b+=360),(H(a)||H(y))&&(b=0);let at=(((H(a)&&!H(y)?y[2]:a[2])+b*r)%360+360)%360;return W(a[0]+(y[0]-a[0])*r,a[1]+(y[1]-a[1])*r,at,a[3]+(y[3]-a[3])*r)},O=t=>{if(l.length<=2)return;let o=l.indexOf(t);if(o<0)return;l.splice(o,1);let s=n===t?l[Math.max(0,o-1)]:n;c(),M(s,!0),C(),w(),A(n)?.focus()},T=t=>{let o={color:st(t),pos:f(t,0,1)};return l.push(o),c(),M(o,!0),C(),w(),o},lt=()=>{let t=k(),o=t.indexOf(n);o<0&&(o=0);let s=o<t.length-1?(t[o].pos+t[o+1].pos)/2:o>0?(t[o-1].pos+t[o].pos)/2:f(t[o].pos+.1,0,1);T(s)};return v.addEventListener("click",t=>{t.stopPropagation(),lt()}),L.addEventListener("dblclick",t=>{t.target.closest(".tw-gradient-stop")||(t.preventDefault(),T(rt(t.clientX)))}),S.tabIndex=-1,S.addEventListener("keydown",t=>{(t.key==="Delete"||t.key==="Backspace")&&!t.altKey&&!/^(input|textarea|select)$/i.test(t.target.tagName)&&l.length>2&&(t.preventDefault(),O(n))}),N(m,p,S,{width:260,fallbackH:392,gap:6,onOpen:h.reflow,onReflow:h.reflow,initialFocus:()=>A(n)}),$(),c(),C(),{el:m,set:t=>{let o=Z(t);o&&h.setMode(D(o));let s=tt(t).sort((e,r)=>e.pos-r.pos);if(s.length===l.length)k().forEach((e,r)=>{e.color=s[r].color,e.pos=s[r].pos;let a=A(e);a&&(a.style.left=e.pos*100+"%",a.style.setProperty("--stop",e.color))});else{let e=n.pos;l=s,n=l.reduce((r,a)=>Math.abs(a.pos-e)<Math.abs(r.pos-e)?a:r,l[0]),$()}c(),C(),h.set(n.color)},get:()=>K()}}U("gradient",pt);
@@ -1 +0,0 @@
1
- import{Y as f,aa as u,o as i}from"./chunk-GC5PWSSX.js";var h=n=>String(n).replace(/[\\"]/g,"\\$&").replace(/[\x00-\x1f\x7f]/g,s=>"\\"+s.charCodeAt(0).toString(16)+" ");function v(n,s){let r=n.value||"",{root:g,trigger:t,right:m}=f("tw-image",n.label);t.removeAttribute("aria-expanded"),t.setAttribute("aria-label",`${n.label}: choose an image`);let p=i("span","tw-image-text"),o=i("span","tw-trigger-chip tw-image-thumb");m.append(p,o);let a=i("input","tw-image-input");a.type="file",a.accept="image/*",g.append(a);let l=()=>{o.dataset.set=r?"true":"false",o.style.backgroundImage=r?`url("${h(r)}")`:"",p.textContent=r?"Replace":"Drop or choose"},c=e=>{if(!e||!e.type.startsWith("image/"))return;let d=new FileReader;d.onload=()=>{r=String(d.result),l(),s(r)},d.readAsDataURL(e)};return t.addEventListener("click",()=>a.click()),a.addEventListener("change",()=>{a.files[0]&&c(a.files[0])}),t.addEventListener("dragover",e=>{e.preventDefault(),t.dataset.over="true"}),t.addEventListener("dragleave",()=>{t.dataset.over="false"}),t.addEventListener("drop",e=>{e.preventDefault(),t.dataset.over="false",e.dataTransfer.files[0]&&c(e.dataTransfer.files[0])}),l(),{el:g,set:e=>{e!=null&&typeof e!="string"||(r=e||"",l())},get:()=>r}}u("image",v);
@@ -1 +0,0 @@
1
- import{B as G,aa as P,b as r,d as j,e as H,f as X,h as z,i as A,j as I,o as f,r as K,v as T,w as q,y as B}from"./chunk-GC5PWSSX.js";function U(a,V){let C=a.label,w=+(a.value&&a.value[0]),x=+(a.value&&a.value[1]),{min:n,max:l,step:h}=z(a.min,a.max,a.step,Number.isFinite(w)?w:0,Number.isFinite(x)?x:1);[n,l]=X(n,l,h);let E=j(h),b=t=>H(t,n,h),i=r(b(Number.isFinite(w)?w:n),n,l),s=r(b(Number.isFinite(x)?x:l),n,l);if(i>s){let t=i;i=s,s=t}let v=f("div","tw-slider-wrap"),d=f("div","tw-slider tw-interval"),L=f("div","tw-slider-fill"),c=f("div","tw-slider-handle"),u=f("div","tw-slider-handle"),F=K("span","tw-slider-label",C),y=f("span","tw-slider-value");d.append(L,c,u,F,y),v.append(d),[["minimum",c],["maximum",u]].forEach(([t,e])=>{e.tabIndex=0,e.setAttribute("role","slider"),e.setAttribute("aria-label",`${C} ${t}`),e.setAttribute("aria-valuemin",String(n)),e.setAttribute("aria-valuemax",String(l))});let M=t=>(t-n)/(l-n||1)*100,N=t=>`clamp(5px, calc(${t}% - 1.5px), calc(100% - 9px))`,m=()=>{let t=M(i),e=M(s);L.style.left=t+"%",L.style.width=Math.max(0,e-t)+"%",c.style.left=N(t),u.style.left=N(e),y.textContent=`${i.toFixed(E)} \u2013 ${s.toFixed(E)}`,c.setAttribute("aria-valuenow",String(i)),u.setAttribute("aria-valuenow",String(s));let o=v.offsetWidth;if(o){F.style.maxWidth=Math.max(0,o-y.offsetWidth-12-8-10)+"px";let R=Q=>I(F,y,Q/100*o-1.5,3);c.classList.toggle("is-dodge",R(M(i))),u.classList.toggle("is-dodge",R(M(s)))}};m();let S=()=>V([i,s]),W=t=>{i=r(Math.min(b(t),s),n,l),m()},k=t=>{s=r(Math.max(b(t),i),n,l),m()},p=null,$=1,g=null,J=t=>{let e=v.offsetWidth||p.width,o=r((t-p.left)/$/e,0,1);return r(n+o*(l-n),n,l)},D=t=>{let e=J(t);g||(g=e<i?"lo":e>s?"hi":Math.abs(e-i)<=Math.abs(e-s)?"lo":"hi"),g==="lo"?W(e):k(e),S()};G(d,{onDown:t=>{t.preventDefault(),p=v.getBoundingClientRect(),$=p.width/(v.offsetWidth||p.width),d.classList.add("is-active","is-dragging"),g=null,D(t.clientX),(g==="lo"?c:u).focus({focusVisible:!1})},onMove:t=>D(t.clientX),onEnd:()=>{p=null,g=null,d.classList.remove("is-active","is-dragging")}}),B(d,m),T(m),q(d,[[window,"resize"],[window,"tw-reflow"]],m);let O=t=>e=>{let o=t==="lo"?A(e,i,h,n,s):A(e,s,h,i,l);o!=null&&(e.preventDefault(),t==="lo"?W(o):k(o),S())};return c.addEventListener("keydown",O("lo")),u.addEventListener("keydown",O("hi")),{el:v,set:t=>{if(Array.isArray(t)){let e=+t[0],o=+t[1];if(!Number.isFinite(e)||!Number.isFinite(o))return;i=r(b(Math.min(e,o)),n,l),s=r(b(Math.max(e,o)),n,l),m()}},get:()=>[i,s]}}P("interval",U);
@@ -1,2 +0,0 @@
1
- import{$ as y,E as D,aa as j,b as q,m as L,o as R,r as S,t as T}from"./chunk-GC5PWSSX.js";var G=(n,o,u,m,p,k,N)=>{let r=p.length;n.clearRect(0,0,u,m),n.strokeStyle=T(o),n.lineWidth=1.5,n.lineJoin="round",n.beginPath();let s=!1;for(let l=0;l<r;l++){let a=p[(k+l)%r];if(Number.isNaN(a))continue;let w=l/(r-1)*u,b=m-q(N(a),0,1)*m;s?n.lineTo(w,b):(n.moveTo(w,b),s=!0)}n.stroke()},H=n=>{for(let o of["resize","tw-reflow"])window.addEventListener(o,n);return()=>{for(let o of["resize","tw-reflow"])window.removeEventListener(o,n)}};function J(n,o=!1){let u=typeof n.get=="function"?n.get:()=>n.value,m=Math.max(30,Number.isFinite(+n.interval)?+n.interval:200),p;try{p=u()}catch{}let k=typeof p=="number",N=n.view==="graph"||k&&n.graph!==!1&&n.view!=="text"&&n.rows==null,r=R("div","tw-fps tw-monitor"),s=S("span","tw-fps-val","\u2014");r.append(S("span","tw-fps-label",n.label??"Monitor"),s);let l=0,a=0,w=()=>{},b=!1,W=Number.isFinite(+n.decimals)?Math.min(20,Math.max(0,Math.floor(+n.decimals))):2,d=e=>e==null?"\u2014":typeof e=="number"?Number.isInteger(e)||!Number.isFinite(e)?String(e):e.toFixed(W):typeof e=="object"?L(e):String(e),h=()=>{l&&clearInterval(l),l=0,a&&cancelAnimationFrame(a),a=0,w()},v=e=>{let i=f=>{if(o&&(a=requestAnimationFrame(i)),!r.isConnected){b&&h();return}b=!0;let t;try{t=u(f)}catch{return}e(t)};o?a=requestAnimationFrame(i):l=setInterval(i,m)};if(!N&&n.rows){s.remove();let e=Math.max(1,Math.floor(+n.rows)||1),i=R("pre","tw-monitor-buffer");i.style.setProperty("--tw-monitor-rows",e),r.append(i);let f=[];return v(t=>{for(f.push(d(t));f.length>e;)f.shift();i.textContent=f.join(`
2
- `)}),y(r,h)}if(!N)return v(e=>{s.textContent=d(e)}),y(r,h);let C=document.createElement("canvas");C.className="tw-fps-canvas",r.append(C);let F=C.getContext("2d");if(!F)return v(e=>{s.textContent=d(e)}),y(r,h);let A=80,I=new Array(A).fill(NaN),x=0,M=0,E=0,z=()=>{[M,E]=D(C,F,2)};w=H(z);let B=()=>{if(M||z(),!M)return;let e=n.min,i=n.max;if(e==null||i==null){let t=1/0,c=-1/0;for(let g of I)Number.isFinite(g)&&(g<t&&(t=g),g>c&&(c=g));t===1/0?(t=0,c=1):t===c&&(t-=.5,c+=.5);let P=(c-t)*.1;e==null&&(e=t-P),i==null&&(i=c+P)}let f=i-e||1;G(F,r,M,E,I,x,t=>(t-e)/f)};return v(e=>{if(typeof e!="number"||!Number.isFinite(e)){s.textContent=d(e);return}I[x]=e,x=(x+1)%A,s.textContent=d(e),B()}),y(r,h)}var K=()=>{let n=0;return o=>{if(!(o>0))return;let u=n?1e3/(o-n):void 0;return n=o,u}},O=n=>J({...n,label:n.label??"FPS",get:K(),view:"graph",min:0,max:120,decimals:0},!0);j("fpsgraph",O);j("monitor",n=>J(n));
@@ -1 +0,0 @@
1
- import{C as N,D as V,L as X,Y as G,Z as I,aa as K,b as P,d as T,k as B,o as p,p as O}from"./chunk-GC5PWSSX.js";function Z(d,U){let o=d.components,{root:$,trigger:q,right:z}=G("tw-point",d.label??"Point"),L=p("span","tw-trigger-value"),Y=p("div","tw-trigger-chip tw-point-preview"),m=p("div","tw-point-preview-dot");Y.append(m),z.append(L,Y);let C=p("div","tw-color-pop tw-point-pop"),D=p("div","tw-point-body");C.append(D);let j=d.pad!==!1&&o.length>=2,J=t=>{let e=B(Math.abs(Number.isFinite(+t.value)?+t.value:0))[1],r=t.min??-e,n=t.max??e,s=10**Math.floor(Math.log10((n-r)/200));return{lo:r,hi:n,step:t.step??(s>0&&Number.isFinite(s)?s:1)}},g=o.map(J),v=g[0],w=g[1],y=v?.lo??-1,x=v?.hi??1,b=w?.lo??-1,h=w?.hi??1,k=(t,e,r)=>r>e?P((t-e)/(r-e),0,1):.5,a=null,A=null,f=null;if(j){a=p("div","tw-pad"),A=p("div","tw-pad-thumb");let t=O("svg","tw-pad-line");t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("preserveAspectRatio","none"),f=O("line"),t.append(f);let e=k(0,b,h);f.setAttribute("x1",k(0,y,x)*100),f.setAttribute("y1",(d.invertY?e:1-e)*100),a.append(p("div","tw-pad-axis tw-pad-axis-x"),p("div","tw-pad-axis tw-pad-axis-y"),t,A),D.append(a)}let H=p("div","tw-fields");D.append(H);let c=()=>{S(),Q()},E=()=>U(R()),i=o.map((t,e)=>{let r=I({label:t.label,value:t.value??0,step:g[e].step,min:t.min,max:t.max},()=>{c(),E()});return H.append(r.el),r}),R=()=>Object.fromEntries(o.map((t,e)=>[t.key,i[e].get()])),M=(t,e)=>(+t).toFixed(T(e)),Q=()=>{L.textContent=o.map((t,e)=>M(i[e].get(),g[e].step)).join(", ")},S=()=>{m.style.left="50%",m.style.top="50%"};if(j){let e=n=>`calc(${(n*100).toFixed(2)}% + ${((.5-n)*5).toFixed(2)}px)`;S=()=>{let n=k(i[0].get(),y,x),s=k(i[1].get(),b,h),l=d.invertY?s:1-s,u=n*100,F=l*100;A.style.left=u+"%",A.style.top=F+"%",m.style.left=e(n),m.style.top=e(l),f.setAttribute("x2",u),f.setAttribute("y2",F),a.setAttribute("aria-description",`${o[0].label??o[0].key} ${M(i[0].get(),v.step)}, ${o[1].label??o[1].key} ${M(i[1].get(),w.step)}`)},N(a,n=>{let[s,l]=V(n,a),u=d.invertY?l:1-l;i[0].set(y+s*(x-y)),i[1].set(b+u*(h-b)),c(),E()}),a.tabIndex=0,a.setAttribute("role","group"),a.setAttribute("aria-label",`${d.label??"Point"} pad: ${o[0].label??o[0].key} and ${o[1].label??o[1].key}`),a.addEventListener("keydown",n=>{if(n.key==="Home"){n.preventDefault(),o.forEach((F,W)=>i[W].set(F.value??0)),c(),E();return}let s=n.key==="ArrowRight"?1:n.key==="ArrowLeft"?-1:0,l=n.key==="ArrowUp"?1:n.key==="ArrowDown"?-1:0;if(!s&&!l)return;n.preventDefault();let u=n.shiftKey?10:1;s&&i[0].set(P(i[0].get()+s*v.step*u,y,x)),l&&i[1].set(P(i[1].get()+(d.invertY?-l:l)*w.step*u,b,h)),c(),E()})}return $.append(C),X($,q,C,{width:216,fallbackH:240,gap:6,onOpen:c}),c(),{el:$,set:t=>{t&&o.forEach((e,r)=>{t[e.key]!=null&&i[r].set(t[e.key])}),c()},get:R}}K("point",Z);
@@ -1 +0,0 @@
1
- import{B as te,X as se,Z as U,aa as ie,b as _,o as R,r as B,s as Z,t as $,v as ee,w as ne}from"./chunk-GC5PWSSX.js";function ue(c,A,D,g=64){let n=Math.sqrt(c/D),l=A/(2*Math.sqrt(c*D)),V=Math.min(2.2,9/Math.max(l*n,.5)),x=[];for(let b=0;b<g;b++){let d=b/(g-1)*V,h;if(l<1-1e-4){let a=n*Math.sqrt(1-l*l);h=1-Math.exp(-l*n*d)*(Math.cos(a*d)+l*n/a*Math.sin(a*d))}else if(l<=1+1e-4)h=1-Math.exp(-n*d)*(1+n*d);else{let a=Math.sqrt(l*l-1),r=n*(l+a),i=n*(l-a);h=1-(r*Math.exp(-i*d)-i*Math.exp(-r*d))/(r-i)}x.push(h)}return x}function ce(c,A){let D=(e,t,s)=>Number.isFinite(+e)?Math.max(t,+e):s,g=e=>({stiffness:D(e.stiffness,1,300),damping:D(e.damping,.5,26),mass:D(e.mass,.1,1)}),n=e=>Number.isFinite(+e),x=e=>_(n(e)?+e:.5,.1,1),b=e=>_(n(e)?+e:.2,0,1),d=e=>{let t=(2*Math.PI/e.visualDuration)**2,s=1-e.bounce,u=1;return{stiffness:t,damping:2*s*Math.sqrt(t*u),mass:u}},h=e=>e==="time"||e==="physics"?e:null,a={stiffness:c.stiffness,damping:c.damping,mass:c.mass,visualDuration:c.visualDuration,bounce:c.bounce,...c.value||{}},r=h(a.mode)??h(c.mode)??(n(a.visualDuration)||n(a.bounce)?"time":"physics"),i={visualDuration:x(a.visualDuration),bounce:b(a.bounce)},m=g({stiffness:a.stiffness,damping:a.damping,mass:a.mass}),T=R("div","tw-spring"),M=R("div","tw-spring-viz"),w=document.createElement("canvas");w.className="tw-spring-canvas",M.append(w);let I=R("div","tw-fields"),X=R("div","tw-fields"),o=w.getContext("2d"),O=()=>g(r==="time"?d(i):m),p=()=>{let e=M.getBoundingClientRect(),t=Math.max(1,Math.round(e.width)),s=Math.max(1,Math.round(e.height));if(t<2)return;let u=window.devicePixelRatio||1;w.width=t*u,w.height=s*u,o.setTransform(u,0,0,u,0,0),o.clearRect(0,0,t,s);let E=O(),q=ue(E.stiffness,E.damping,E.mass,Math.max(160,Math.round(t*u))),re=Math.max(1.05,...q),P=8,Q=S=>P+S/(q.length-1)*(t-2*P),F=S=>s-P-S/re*(s-2*P);o.strokeStyle=Z(T,"--tw-surface-active")||"rgba(255,255,255,0.1)",o.lineWidth=1,o.beginPath(),o.moveTo(P,F(1)),o.lineTo(t-P,F(1)),o.stroke(),o.strokeStyle=$(T),o.lineWidth=1.5,o.lineJoin=o.lineCap="round",o.beginPath(),q.forEach((S,j)=>j?o.lineTo(Q(j),F(S)):o.moveTo(Q(j),F(S))),o.stroke()},L=()=>r==="time"?{...O(),visualDuration:i.visualDuration,bounce:i.bounce}:O(),k=()=>A(L()),f={};[["stiffness","Stiffness",1],["damping","Damping",.5],["mass","Mass",.1]].forEach(([e,t,s])=>{f[e]=U({label:t,value:m[e],step:s,min:s},u=>{m[e]=u,p(),k()}),I.append(f[e].el)});let C=U({label:"Duration",value:i.visualDuration,step:.05,min:.1,max:1},e=>{i.visualDuration=x(e),p(),k()}),N=U({label:"Bounce",value:i.bounce,step:.05,min:0,max:1},e=>{i.bounce=b(e),p(),k()});X.append(C.el,N.el);let z=()=>{X.style.display=r==="time"?"":"none",I.style.display=r==="physics"?"":"none"},K=se([{value:"time",label:"Time"},{value:"physics",label:"Physics"}],r,e=>{e!=="time"&&e!=="physics"||e===r||(r=e,z(),p(),k())},"Spring mode"),W=R("div","tw-row");W.append(B("span","tw-row-label","Mode"),K.el),c.label&&T.append(B("div","tw-spring-label",c.label)),T.append(M,W,I,X);let Y=1,oe=500,G=1,ae=40,y=null,J=e=>{if(!y)return;let t=_((e.clientX-y.left)/y.width,0,1),s=_((e.clientY-y.top)/y.height,0,1);r==="time"?(C.set(.1+t*(1-.1)),i.visualDuration=C.get(),N.set(1-s),i.bounce=N.get()):(f.stiffness.set(Y+t*(oe-Y)),m.stiffness=f.stiffness.get(),f.damping.set(G+s*(ae-G)),m.damping=f.damping.get()),p(),k()};te(M,{onDown:e=>{e.preventDefault(),y=M.getBoundingClientRect(),M.classList.add("is-dragging"),J(e)},onMove:J,onEnd:()=>{y=null,M.classList.remove("is-dragging")}}),z(),ee(p),ne(w,[[window,"resize"],[window,"tw-reflow"],[matchMedia("(prefers-color-scheme: dark)"),"change"],[window,"tw-retheme"]],p);let v=null,H=!1;return typeof MutationObserver=="function"&&(v=new MutationObserver(()=>{w.isConnected?(H=!0,p()):H&&(v.disconnect(),v=null)}),v.observe(document.documentElement,{subtree:!0,attributes:!0,attributeFilter:["data-tw-scheme"]})),{el:T,destroy:()=>{v&&(v.disconnect(),v=null)},set:e=>{if(!e||typeof e!="object")return;let t=h(e.mode),s=n(e.visualDuration)||n(e.bounce),u=n(e.stiffness)||n(e.damping)||n(e.mass);!s&&!u&&!t||(r=t??(s?"time":"physics"),s&&(n(e.visualDuration)&&(i.visualDuration=x(e.visualDuration)),n(e.bounce)&&(i.bounce=b(e.bounce))),u&&(m=g({...m,...e})),K.set(r),C.set(i.visualDuration),N.set(i.bounce),f.stiffness.set(m.stiffness),f.damping.set(m.damping),f.mass.set(m.mass),z(),p())},get:()=>L()}}ie("spring",ce);
@@ -1 +0,0 @@
1
- import{Q as f,W as g,aa as w,o as s,r as v,v as m}from"./chunk-GC5PWSSX.js";var A=0;function x(E){let o=`tw-tabs-${++A}`,c=s("div","tw-tabs"),r=s("div","tw-tabs-bar");r.setAttribute("role","tablist");let l=s("div","tw-tabs-pill");r.append(l);let u=s("div","tw-tabs-pages"),d=[],i=E.pages.map((a,e)=>{let t=v("button","tw-tabs-tab",a.title);t.setAttribute("role","tab"),t.dataset.active=String(e===0),t.setAttribute("aria-selected",String(e===0)),t.tabIndex=e===0?0:-1,t.id=`${o}-tab-${e}`,t.setAttribute("aria-controls",`${o}-page-${e}`);let n=s("div","tw-tabs-page tw-controls");return n.dataset.active=String(e===0),n.setAttribute("role","tabpanel"),n.id=`${o}-page-${e}`,n.setAttribute("aria-labelledby",t.id),d.push(n),u.append(n),t.addEventListener("click",()=>b(e)),r.append(t),t});c.append(r,u);let p=a=>f(r,l,a);function b(a){i.forEach((e,t)=>{e.dataset.active=String(t===a),e.setAttribute("aria-selected",String(t===a)),e.tabIndex=t===a?0:-1}),d.forEach((e,t)=>e.dataset.active=String(t===a)),p(!0),requestAnimationFrame(()=>window.dispatchEvent(new Event("tw-reflow")))}return r.addEventListener("keydown",a=>{let e=i.findIndex(n=>n.dataset.active==="true");if(e<0)return;let t=g(a.key,e,i.length,-1);t<0||(a.preventDefault(),b(t),i[t].focus())}),m(p),{el:c,bodies:d,activate:b,active:()=>i.findIndex(a=>a.dataset.active==="true")}}w("tabs",x);