tweakit 0.4.0 → 0.4.2

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.
Files changed (33) hide show
  1. package/dist/tweaks/{bezier-KSA2VTVT.js → bezier-EH6GR3RN.js} +1 -1
  2. package/dist/tweaks/chunk-3GZFWFKC.js +1 -0
  3. package/dist/tweaks/{chunk-SIIHIBXV.js → chunk-5G6TFQOD.js} +1 -1
  4. package/dist/tweaks/{chunk-HWQKSB7T.js → chunk-GDMWOXFU.js} +1 -1
  5. package/dist/tweaks/colour-G6UZ5HIL.js +1 -0
  6. package/dist/tweaks/core.js +1 -1
  7. package/dist/tweaks/fold-FNCV4C7P.js +1 -0
  8. package/dist/tweaks/{gradient-AHHDJIIU.js → gradient-RKPRTDSQ.js} +1 -1
  9. package/dist/tweaks/{heavy-ZZA3NS5O.js → heavy-LD64N5S4.js} +1 -1
  10. package/dist/tweaks/{image-ZSAP6BIK.js → image-TFIUSCCY.js} +1 -1
  11. package/dist/tweaks/interval-VFQ2O75Q.js +1 -0
  12. package/dist/tweaks/{monitor-5CFBIGGT.js → monitor-EAU6GD6P.js} +1 -1
  13. package/dist/tweaks/motion-FUAKWKPW.js +1 -0
  14. package/dist/tweaks/{plot-KQGIWQHO.js → plot-AMSWXKO7.js} +2 -2
  15. package/dist/tweaks/{point-4J4HHM2Z.js → point-UF7RGMGJ.js} +1 -1
  16. package/dist/tweaks/shadow-54LEQGQ6.js +1 -0
  17. package/dist/tweaks/{sides-EI7BN5Q6.js → sides-WJF2NEGM.js} +1 -1
  18. package/dist/tweaks/{spring-JGHWZBNF.js → spring-YHAPWWTF.js} +1 -1
  19. package/dist/tweaks/tabs-C45GWZYF.js +1 -0
  20. package/dist/tweaks.css +1 -1
  21. package/dist/tweaks.js +3 -3
  22. package/dist/types/tweaks/easing.d.ts +8 -19
  23. package/dist/types/tweaks/enhance.d.ts +1 -0
  24. package/dist/types/tweaks/panel.d.ts +1 -0
  25. package/dist/types/tweaks/standalone.d.ts +2 -0
  26. package/dist/types/tweaks/types.d.ts +26 -4
  27. package/package.json +1 -1
  28. package/dist/tweaks/chunk-WWCMYF2Q.js +0 -1
  29. package/dist/tweaks/colour-L2QYS74L.js +0 -1
  30. package/dist/tweaks/interval-4KQVZGAX.js +0 -1
  31. package/dist/tweaks/motion-5UMJIBOJ.js +0 -1
  32. package/dist/tweaks/shadow-RAXIV6FG.js +0 -1
  33. package/dist/tweaks/tabs-RM7NR6CO.js +0 -1
@@ -1 +1 @@
1
- import{a as f,e as J,j as Q}from"./chunk-SIIHIBXV.js";import{X as q,g as A,t as M,u as N,v as I,x as K,y as U}from"./chunk-WWCMYF2Q.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 d=M("div","tw-bezier-graph"),k=f("svg","tw-bezier-svg");k.setAttribute("preserveAspectRatio","none");let G=f("line","tw-bezier-guide"),P=f("line","tw-bezier-guide"),X=f("line","tw-bezier-diag"),j=f("line","tw-bezier-ctl"),O=f("line","tw-bezier-ctl"),S=f("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"),d.append(k,g,x);let W=M("div","tw-fields tw-bezier-fields");E.append(d,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=d.offsetWidth,C=d.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=Q({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;J(e,{onDown:r=>{r.preventDefault(),i=d.getBoundingClientRect(),m=d.offsetWidth||i.width,a=d.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
+ import{a as f,e as J,j as Q}from"./chunk-5G6TFQOD.js";import{Y as q,g as A,u as M,v as N,w as I,y as K,z as U}from"./chunk-3GZFWFKC.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 d=M("div","tw-bezier-graph"),k=f("svg","tw-bezier-svg");k.setAttribute("preserveAspectRatio","none");let G=f("line","tw-bezier-guide"),P=f("line","tw-bezier-guide"),X=f("line","tw-bezier-diag"),j=f("line","tw-bezier-ctl"),O=f("line","tw-bezier-ctl"),S=f("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"),d.append(k,g,x);let W=M("div","tw-fields tw-bezier-fields");E.append(d,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=d.offsetWidth,C=d.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=Q({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;J(e,{onDown:r=>{r.preventDefault(),i=d.getBoundingClientRect(),m=d.offsetWidth||i.width,a=d.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);
@@ -0,0 +1 @@
1
+ var S=Object.assign(Object.create(null),{ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]}),L=e=>Math.min(1,Math.max(0,e)),x=15;function H(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();if(S[t])return S[t];let n=/^cubic-bezier\(([^()]*)\)$/.exec(t);if(!n)return null;let r=n[1].split(",").map(o=>o.trim()?Number(o):NaN);return r.length!==4||!r.every(Number.isFinite)?null:[L(r[0]),r[1],L(r[2]),r[3]]}var ce=e=>H(e)?e.trim().toLowerCase():"linear";function O(e){let t=[];for(let n=0;n<=x;n++){let r=n/x,o=1-r,i=3*o*o*r,s=3*o*r*r,a=r*r*r;t.push([i*e[0]+s*e[2]+a,L(i*e[1]+s*e[3]+a)])}return t}function de(e,t){if(t=L(t),!e)return t;let n=O(e);for(let r=1;r<n.length;r++)if(t<=n[r][0]){let[o,i]=n[r-1],[s,a]=n[r];return s>o?i+(a-i)*(t-o)/(s-o):a}return 1}var T=e=>+(e*100).toFixed(2);function F(e){let t=[...e.stops].sort((a,c)=>a.pos-c.pos),n=a=>`${a.color} ${T(a.pos)}%`,r=H(e.easing);if(!r||t.length<2)return t.map(n).join(", ");let o=O(r),i=e.interpolation||"oklch",s=[n(t[0])];for(let a=1;a<t.length;a++){let c=t[a-1],m=t[a],u=m.pos-c.pos;if(u>1e-6)for(let d=1;d<x;d++){let[f,g]=o[d];s.push(`color-mix(in ${i}, ${c.color}, ${m.color} ${T(g)}%) ${T(c.pos+u*f)}%`)}s.push(n(m))}return s.join(", ")}function $(e,t="to right"){return`linear-gradient(in ${e.interpolation||"oklch"} ${typeof t=="number"?`${t}deg`:t}, ${F(e)})`}var V=e=>e.replace(/([a-z])(?=[A-Z])|([A-Z\d])(?=[A-Z][a-z])/g,"$1$2 ").replace(/^./,t=>t.toUpperCase()).trim(),j=(e,t,n)=>Math.min(n,Math.max(t,e)),me=e=>!!e&&typeof e=="object",we=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())),P=20,_=e=>{let t=String(e),n=/e-(\d+)$/i.exec(t);if(n)return Math.min(P,Number(n[1])+(t.split("e")[0].split(".")[1]||"").length);let r=t.indexOf(".");return r===-1?0:Math.min(P,t.length-r-1)},z=(e,t,n)=>{if(!(n>0))return e;let r=_(n),o=Number((+t).toFixed(r)),i=Math.round((e-o)/n);return Number.isFinite(i)?Number((o+i*n).toFixed(r)):e},be=(e,t,n,r=e)=>{let o=a=>z(a,r,n),i=Number.isFinite(e)?o(e):-1/0,s=Number.isFinite(t)?o(t):1/0;return i<e&&(i=o(i+n)),s>t&&(s=o(s-n)),i>s?[e,e]:[i,s]},I=(e,t)=>{let n=t-e;return n<=1?.01:n<=10?.1:n<=100?1:10},pe=(e,t,n,r=0,o=null)=>{let i=+e,s=+t,a=+n;if(Number.isFinite(i)||(i=r),Number.isFinite(s)||(s=o??i+100),s<i){let c=i;i=s,s=c}return(!(a>0)||a>s-i)&&(a=I(i,s)),{min:i,max:s,step:a}},ge=(e,t,n,r,o,i=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 i!=null?t+i:null;case"PageDown":return i!=null?t-i:null;case"Home":return r;case"End":return o}return null},he=(e,t,n,r,o=0)=>{let i=e.offsetLeft,s=i+e.offsetWidth,a=t.offsetLeft,c=a+t.offsetWidth;return n<s&&n+r>i||n<c+o&&n+r>a-o},Ee=e=>e>=0?[0,e<=1?1:e*3||100]:[e>=-1?-1:e*3,0],G=e=>e==null?void 0:typeof e=="object"?e.value:e,D=e=>{try{return JSON.stringify(e)}catch{return String(e)}},K=e=>e==null?"":typeof e=="string"?V(e):typeof e=="object"?e.label??(e.value!==void 0?String(e.value):D(e)):String(e),M=(e,t,n)=>{let r=document.createElement(e);return t&&(r.className=t),n!=null&&(r.innerHTML=n),(e=="input"||e=="textarea")&&(r.setAttribute("autocomplete","off"),r.setAttribute("data-1p-ignore",""),r.setAttribute("data-lpignore","true")),r},ve=(e,t)=>{let n=M("button",e,t);return n.type="button",n},W=(e,t,n)=>{let r=M(e,t);return r.textContent=n,e==="button"&&(r.type="button"),r},q=e=>["pointerdown","pointermove","pointerup","click"].forEach(t=>e.addEventListener(t,n=>n.stopPropagation())),X=e=>{requestAnimationFrame(e),document.fonts&&document.fonts.ready&&document.fonts.ready.then(e)},U=(e,t,n)=>{let r=e.isConnected;r||requestAnimationFrame(()=>{e.isConnected&&(r=!0)});let o=s=>{if(!e.isConnected){(r||e.closest("[data-tw-destroyed]"))&&i();return}r=!0,n(s)},i=()=>t.forEach(([s,a])=>s.removeEventListener(a,o));return t.forEach(([s,a])=>s.addEventListener(a,o)),i},ye=()=>requestAnimationFrame(()=>window.dispatchEvent(new Event("tw-reflow"))),Le=(e,t)=>{e.addEventListener("pointerenter",()=>{e.classList.add("is-hover"),t&&t()}),e.addEventListener("pointerleave",()=>e.classList.remove("is-hover"))},E=!1;typeof document<"u"&&(document.addEventListener("pointerdown",()=>{E=!0},!0),document.addEventListener("keydown",()=>{E=!1},!0));var Me=e=>{e.addEventListener("focus",()=>e.classList.toggle("tw-focus-quiet",E)),e.addEventListener("blur",()=>e.classList.remove("tw-focus-quiet"))},Z=(e,t,{width:n,fallbackH:r=300,gap:o=6,align:i="start",prefer:s="below"}={})=>{let a=e.getBoundingClientRect();n==="match"&&(t.style.width=a.width+"px");let c=n==="match"?a.width:t.offsetWidth||n||0,m=i==="end"?a.right-c:i==="center"?a.left+a.width/2-c/2:a.left;t.style.left=Math.max(8,Math.min(m,window.innerWidth-c-8))+"px";let u=t.offsetHeight||r,d=window.innerHeight-a.bottom,f=a.top,g=u+12,v=d>=g,h=f>=g,y=(s==="above"?h||!v&&f>=d:!v&&(h||f>d))?a.top-u-o:a.bottom+o;t.style.top=j(y,o,window.innerHeight-u-o)+"px"},Y=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",width:"--tw-width"}),J=new Set(["radius","density","width"]),k=e=>(e/=255,e<=.03928?e/12.92:((e+.055)/1.055)**2.4),Q=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},ee=e=>{let t=Q(e);if(!t||t.some(r=>!Number.isFinite(r)))return"#ffffff";let n=.2126*k(t[0])+.7152*k(t[1])+.0722*k(t[2]);return 1.05/(n+.05)>=(n+.05)/.0571?"#ffffff":"#161616"},Te=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 o=Y[n];o&&(t[o]=J.has(n)&&typeof r=="number"?`${r}px`:String(r))}return t["--tw-accent"]&&!t["--tw-on-accent"]&&(t["--tw-on-accent"]=ee(t["--tw-accent"])),Object.keys(t).length?t:null},te=(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])}},ne=(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")},R=(e,t)=>{te(e,t?.closest(".tw-panel")?._twTheme),ne(e,t)},p=null,A=null,xe=e=>{p&&(!e||e.contains(A))&&p()};function ke(e,t,n,r={}){let o=!1,i=null;n.classList.add("tw-portal"),n.inert=!0,n.addEventListener("pointerdown",l=>t.closest(".tw-panel")?._twEditPointer?.(l),!0),q(n);let s=0,a=0,c=()=>{Z(t,n,{width:r.width,fallbackH:r.fallbackH,gap:r.gap,align:r.align});let l=t.getBoundingClientRect();s=parseFloat(n.style.left)-l.left,a=parseFloat(n.style.top)-l.top},m=()=>{if(o){if(!e.isConnected)return w();c(),r.onReflow&&r.onReflow()}},u=()=>{if(!o)return;if(!e.isConnected)return w();let l=t.getBoundingClientRect();if(!(l.width||l.height)||l.bottom<0||l.top>window.innerHeight||l.right<0||l.left>window.innerWidth)return w();n.style.left=l.left+s+"px",n.style.top=l.top+a+"px"},d=l=>{!e.contains(l.target)&&!n.contains(l.target)&&w()},f=l=>{l.key==="Escape"&&o&&(w(),t.focus())},g=l=>{if(!o)return;let b=l.relatedTarget;(b?e.contains(b)||n.contains(b):E)||(w(),b&&!t.closest(".tw-panel")?.contains(b)&&setTimeout(()=>{!o&&document.activeElement===b&&t.focus()},0))};e.addEventListener("focusout",g),n.addEventListener("focusout",g);let v=()=>n.querySelector('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [href], [tabindex]:not([tabindex="-1"])'),h=()=>R(n,e),C=l=>{l.every(b=>b.target===n)||h()},y=()=>{p&&p!==w&&p(),p=w,A=t,o=!0,e.classList.add("is-open"),t.setAttribute("aria-expanded","true"),n.inert=!1,document.body.appendChild(n),R(n,e),window.addEventListener("tw-retheme",h),typeof MutationObserver=="function"&&(i=new MutationObserver(C),i.observe(document.documentElement,{subtree:!0,attributes:!0,attributeFilter:["data-tw-scheme"]})),c(),requestAnimationFrame(()=>{if(o&&(n.classList.add("is-open"),r.onOpen&&r.onOpen(),c(),!n.contains(document.activeElement))){let l=r.initialFocus&&r.initialFocus()||v();l&&l.focus({focusVisible:!E})}}),requestAnimationFrame(function l(){if(o){if(!e.isConnected)return w();requestAnimationFrame(l)}}),setTimeout(()=>{o&&document.addEventListener("pointerdown",d,!0)},0),document.addEventListener("keydown",f),window.addEventListener("scroll",u,!0),window.addEventListener("resize",m)},w=()=>{p===w&&(p=null,A=null),n.contains(document.activeElement)&&t.focus(),o=!1,e.classList.remove("is-open"),n.classList.remove("is-open"),n.inert=!0,t.setAttribute("aria-expanded","false"),document.removeEventListener("pointerdown",d,!0),document.removeEventListener("keydown",f),window.removeEventListener("scroll",u,!0),window.removeEventListener("resize",m),window.removeEventListener("tw-retheme",h),i&&(i.disconnect(),i=null),setTimeout(()=>{o||n.remove()},200)};return t.addEventListener("click",()=>{t.disabled||(o?w():y())}),{open:y,close:w,isOpen:()=>o,reflow:m}}var Ae=(e,t)=>{if(e=e.toLowerCase(),e.includes(t))return!0;if(t.length<3)return!1;let n=t.length,r=e.length,o=new Array(r+1).fill(0);for(let i=1;i<=n;i++){let s=[i];for(let a=1;a<=r;a++)s[a]=Math.min(o[a]+1,s[a-1]+1,o[a-1]+(t[i-1]===e[a-1]?0:1));o=s}return Math.min(...o)<=(t.length<6?1:2)},re=typeof matchMedia=="function"?matchMedia("(prefers-reduced-motion: reduce)"):{matches:!1},oe="cubic-bezier(0.22, 1, 0.36, 1)",Ce="cubic-bezier(0.34, 1.2, 0.64, 1)",ie=(e,t)=>{re.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:oe}))},se=(e,t,n)=>{let r=e.querySelector('[data-active="true"]');if(!r)return;let o=r.offsetLeft,i=r.offsetWidth,s=parseFloat(t.style.left);t.style.left=o+"px",t.style.width=i+"px",n&&Number.isFinite(s)&&s!==o&&ie(t,o>s?1:-1)},Se=(e,t)=>{e.classList.toggle("is-disabled",t);for(let n of e.children)n.classList.contains("tw-portal")||(n.inert=t)},He=(e,t,n,r)=>{e.classList.toggle("is-collapsed",r),t.setAttribute("aria-expanded",String(!r)),n.inert=r},N=(e,t)=>{let n=e.findIndex(r=>r.dataset.value===String(t));return n<0&&e.length?0:n},ae=(e,t)=>{let n=N(e,t);e.forEach((r,o)=>{let i=r.dataset.value===String(t);r.dataset.active=String(i),r.setAttribute("aria-checked",String(i)),r.tabIndex=o===n?0:-1})},le=(e,t,n)=>{let r=W("button",e,K(t));return r.setAttribute("role","radio"),r._twVal=G(t),r.dataset.value=r._twVal,r.addEventListener("click",()=>n(r._twVal)),r},ue=(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 Oe(e,t,n,r){let o=M("div","tw-seg");o.setAttribute("role","radiogroup"),r&&o.setAttribute("aria-label",r);let i=M("div","tw-seg-pill");o.append(i);let s=e.map(u=>{let d=le("tw-seg-btn",u,f=>m(f));return o.append(d),d}),a=u=>se(o,i,u),c=()=>{ae(s,t),a(!0)},m=(u,d=!0)=>{u!=null&&!s.some(f=>f._twVal===u)||(t=u,c(),d&&n(u))};return o.addEventListener("keydown",u=>{let d=N(s,t);if(d<0)return;let f=ue(u.key,d,s.length);f<0||(u.preventDefault(),m(s[f]._twVal),s[f].focus())}),c(),X(()=>{a(),o.classList.add("is-ready")}),U(o,[[window,"tw-reflow"]],()=>a()),{el:o,set:u=>m(u,!1),get:()=>t}}var Fe=(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>`,Pe=(e,t)=>({el:e,set:()=>{},get:()=>{},destroy:t}),B={},Re=(e,t)=>{B[e]=t},Ne=e=>B[e];export{H as a,ce as b,de as c,F as d,$ as e,V as f,j as g,me as h,we as i,_ as j,z as k,be as l,I as m,pe as n,ge as o,he as p,Ee as q,G as r,D as s,K as t,M as u,ve as v,W as w,q as x,X as y,U as z,ye as A,Le as B,Me as C,Z as D,Te as E,te as F,ne as G,R as H,xe as I,ke as J,Ae as K,re as L,oe as M,Ce as N,se as O,Se as P,He as Q,N as R,ae as S,le as T,ue as U,Oe as V,Fe as W,Pe as X,Re as Y,Ne as Z};
@@ -1 +1 @@
1
- import{B as F,G as T,V as S,X as $,g as E,i as y,j as L,k as N,t as b,u as C,v as M}from"./chunk-WWCMYF2Q.js";var P="http://www.w3.org/2000/svg",K=(t,n)=>{let e=document.createElementNS(P,t);return n&&e.setAttribute("class",n),e},R=(t,n)=>getComputedStyle(t).getPropertyValue(n).trim(),k=t=>{let n=getComputedStyle(t),e=s=>n.getPropertyValue(s).trim();return e("--tw-accent")||e("--tw-text-primary")||"#fff"},V=t=>{let n=!1;t.addEventListener("pointerdown",e=>{n=e.button===0&&document.activeElement!==t}),t.addEventListener("focus",()=>t.select()),t.addEventListener("mouseup",e=>{n&&(n=!1,e.button===0&&document.activeElement===t&&t.selectionStart===0&&t.selectionEnd===t.value.length&&e.preventDefault())})};function I(t,{onDown:n,onMove:e,onEnd:s}={}){let r=null,o=i=>{r===null||i.pointerId!==r||(r=null,s&&s(i))};t.addEventListener("pointerdown",i=>{if(!(i.button!==0||r!==null)){r=i.pointerId;try{t.setPointerCapture(i.pointerId)}catch{}n&&n(i)}}),t.addEventListener("pointermove",i=>{if(i.pointerId===r){if(i.buttons===0)return o(i);e&&e(i)}}),t.addEventListener("pointerup",o),t.addEventListener("pointercancel",o),t.addEventListener("lostpointercapture",o)}var B=(t,n)=>I(t,{onDown:e=>{t.classList.add("is-grabbing"),n(e)},onMove:n,onEnd:()=>t.classList.remove("is-grabbing")}),O=(t,n)=>{let e=n.getBoundingClientRect();return[E((t.clientX-e.left)/e.width,0,1),E((t.clientY-e.top)/e.height,0,1)]},j=(t,n,e=1/0)=>{let s=t.getBoundingClientRect(),r=Math.min(window.devicePixelRatio||1,e);return t.width=s.width*r,t.height=s.height*r,n.setTransform(r,0,0,r,0,0),[s.width,s.height]},z=(t,n)=>{let e=b("div",t),s=C("tw-trigger");s.setAttribute("aria-expanded","false");let r=b("span","tw-trigger-right");return s.append(M("span","tw-trigger-label",n),r),e.append(s),{root:e,trigger:s,right:r}},H=S('<path d="M6 4v8M10 4v8"/>',"",1.5,16);function D(){let t=null,n=0,e=0,s=0;return{show(r,o,i,m){t=b("div","tw-grab-guide tw-portal"),t.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>',n=o,e=r,s=i??r,t.children[1].style.cssText=`left:${r}px;top:${n}px`,T(t,m),document.body.appendChild(t)},move(r,o){t&&(t.children[0].style.cssText=`left:${Math.min(e,r)}px;top:${n}px;width:${Math.abs(r-e)}px`,t.children[2].style.cssText=`left:${r}px;top:${n}px;transform:translate(-50%,-50%) scaleX(${r>=e?1:-1})`,t.children[3].style.cssText=`left:${s}px;top:${n-16}px`,t.children[3].textContent=o)},hide(){t&&(t.remove(),t=null)}}}function G(t,n,e,s,r,o){let i=0,m=0,p=1,d=D();I(t,{onDown:u=>{u.preventDefault(),i=u.clientX,m=s(),p=1,t.classList.add("is-dragging");let a=n.getBoundingClientRect();d.show(u.clientX,a.top+a.height/2,a.left+a.width/2,n),d.move(u.clientX,o())},onMove:u=>{let a=u.shiftKey?10:u.altKey?.1:1;a!==p&&(p=a,i=u.clientX,m=s()),r(m+(u.clientX-i)*e*a),d.move(u.clientX,o())},onEnd:()=>{t.classList.remove("is-dragging"),d.hide()}})}function X(t,n){let e=Number.isFinite(+t.step)&&+t.step>0?+t.step:1,s=l=>l==null?NaN:+l,r=s(t.min),o=s(t.max);if(Number.isFinite(r)&&Number.isFinite(o)&&o<r){let l=r;r=o,o=l}let i=Number.isFinite(r)?r:0,m=y(e),[p,d]=N(Number.isFinite(r)?r:-1/0,Number.isFinite(o)?o:1/0,e,i),u=l=>{let h=L(l,i,e);return t.soft?h:E(h,p,d)},a=u(Number.isFinite(+t.value)?+t.value:0),f=b("div",t.row?"tw-row":"tw-field"),g=b("div","tw-num-wrap"),v=b("span","tw-num-grab",H);v.setAttribute("aria-hidden","true"),v.title="Drag to adjust";let c=b("input","tw-num");c.type="text",c.inputMode="decimal",c.setAttribute("aria-label",t.unit?`${t.label} (${t.unit})`:t.label),c.value=a.toFixed(m),F(c),g.append(v,c),t.unit&&g.append(M("span","tw-num-unit",t.unit)),f.append(M("span",t.row?"tw-row-label":"tw-field-label",t.label),g);let w=(l,h=!0)=>{l=+l,Number.isFinite(l)&&(a=u(l),c.value=a.toFixed(m),h&&n&&n(a))};return c.addEventListener("change",()=>{let l=parseFloat(c.value);w(isNaN(l)?a:l)}),c.addEventListener("keydown",l=>{if(l.key==="Enter")return c.blur();let h=l.key==="ArrowUp"?1:l.key==="ArrowDown"?-1:0;if(!h)return;l.preventDefault();let x=parseFloat(c.value);w((isNaN(x)?a:x)+h*e*(l.shiftKey?10:1))}),G(v,g,e,()=>a,w,()=>c.value),{el:f,set:l=>w(l,!1),get:()=>a}}$("number",(t,n)=>X({...t,row:!0},n));var q=(t,n,e)=>{let s=Math.sqrt(t/e),r=n/(2*Math.sqrt(t*e));return Math.min(2.2,9/Math.max(r*s,.5))};function U(t,n,e,s=64,r=q(t,n,e)){let o=Math.sqrt(t/e),i=n/(2*Math.sqrt(t*e)),m=[];for(let p=0;p<s;p++){let d=p/(s-1)*r,u;if(i<1-1e-4){let a=o*Math.sqrt(1-i*i);u=1-Math.exp(-i*o*d)*(Math.cos(a*d)+i*o/a*Math.sin(a*d))}else if(i<=1+1e-4)u=1-Math.exp(-o*d)*(1+o*d);else{let a=Math.sqrt(i*i-1),f=o*(i+a),g=o*(i-a);u=1-(f*Math.exp(-g*d)-g*Math.exp(-f*d))/(f-g)}m.push(u)}return m}export{K as a,R as b,k as c,V as d,I as e,B as f,O as g,j as h,z as i,X as j,q as k,U as l};
1
+ import{C as F,H as T,W as S,Y as $,g as E,j as y,k as L,l as N,u as b,v as C,w as M}from"./chunk-3GZFWFKC.js";var P="http://www.w3.org/2000/svg",K=(t,n)=>{let e=document.createElementNS(P,t);return n&&e.setAttribute("class",n),e},R=(t,n)=>getComputedStyle(t).getPropertyValue(n).trim(),k=t=>{let n=getComputedStyle(t),e=s=>n.getPropertyValue(s).trim();return e("--tw-accent")||e("--tw-text-primary")||"#fff"},V=t=>{let n=!1;t.addEventListener("pointerdown",e=>{n=e.button===0&&document.activeElement!==t}),t.addEventListener("focus",()=>t.select()),t.addEventListener("mouseup",e=>{n&&(n=!1,e.button===0&&document.activeElement===t&&t.selectionStart===0&&t.selectionEnd===t.value.length&&e.preventDefault())})};function I(t,{onDown:n,onMove:e,onEnd:s}={}){let r=null,o=i=>{r===null||i.pointerId!==r||(r=null,s&&s(i))};t.addEventListener("pointerdown",i=>{if(!(i.button!==0||r!==null)){r=i.pointerId;try{t.setPointerCapture(i.pointerId)}catch{}n&&n(i)}}),t.addEventListener("pointermove",i=>{if(i.pointerId===r){if(i.buttons===0)return o(i);e&&e(i)}}),t.addEventListener("pointerup",o),t.addEventListener("pointercancel",o),t.addEventListener("lostpointercapture",o)}var B=(t,n)=>I(t,{onDown:e=>{t.classList.add("is-grabbing"),n(e)},onMove:n,onEnd:()=>t.classList.remove("is-grabbing")}),O=(t,n)=>{let e=n.getBoundingClientRect();return[E((t.clientX-e.left)/e.width,0,1),E((t.clientY-e.top)/e.height,0,1)]},j=(t,n,e=1/0)=>{let s=t.getBoundingClientRect(),r=Math.min(window.devicePixelRatio||1,e);return t.width=s.width*r,t.height=s.height*r,n.setTransform(r,0,0,r,0,0),[s.width,s.height]},z=(t,n)=>{let e=b("div",t),s=C("tw-trigger");s.setAttribute("aria-expanded","false");let r=b("span","tw-trigger-right");return s.append(M("span","tw-trigger-label",n),r),e.append(s),{root:e,trigger:s,right:r}},H=S('<path d="M6 4v8M10 4v8"/>',"",1.5,16);function D(){let t=null,n=0,e=0,s=0;return{show(r,o,i,m){t=b("div","tw-grab-guide tw-portal"),t.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>',n=o,e=r,s=i??r,t.children[1].style.cssText=`left:${r}px;top:${n}px`,T(t,m),document.body.appendChild(t)},move(r,o){t&&(t.children[0].style.cssText=`left:${Math.min(e,r)}px;top:${n}px;width:${Math.abs(r-e)}px`,t.children[2].style.cssText=`left:${r}px;top:${n}px;transform:translate(-50%,-50%) scaleX(${r>=e?1:-1})`,t.children[3].style.cssText=`left:${s}px;top:${n-16}px`,t.children[3].textContent=o)},hide(){t&&(t.remove(),t=null)}}}function G(t,n,e,s,r,o){let i=0,m=0,p=1,d=D();I(t,{onDown:u=>{u.preventDefault(),i=u.clientX,m=s(),p=1,t.classList.add("is-dragging");let a=n.getBoundingClientRect();d.show(u.clientX,a.top+a.height/2,a.left+a.width/2,n),d.move(u.clientX,o())},onMove:u=>{let a=u.shiftKey?10:u.altKey?.1:1;a!==p&&(p=a,i=u.clientX,m=s()),r(m+(u.clientX-i)*e*a),d.move(u.clientX,o())},onEnd:()=>{t.classList.remove("is-dragging"),d.hide()}})}function X(t,n){let e=Number.isFinite(+t.step)&&+t.step>0?+t.step:1,s=l=>l==null?NaN:+l,r=s(t.min),o=s(t.max);if(Number.isFinite(r)&&Number.isFinite(o)&&o<r){let l=r;r=o,o=l}let i=Number.isFinite(r)?r:0,m=y(e),[p,d]=N(Number.isFinite(r)?r:-1/0,Number.isFinite(o)?o:1/0,e,i),u=l=>{let h=L(l,i,e);return t.soft?h:E(h,p,d)},a=u(Number.isFinite(+t.value)?+t.value:0),f=b("div",t.row?"tw-row":"tw-field"),g=b("div","tw-num-wrap"),v=b("span","tw-num-grab",H);v.setAttribute("aria-hidden","true"),v.title="Drag to adjust";let c=b("input","tw-num");c.type="text",c.inputMode="decimal",c.setAttribute("aria-label",t.unit?`${t.label} (${t.unit})`:t.label),c.value=a.toFixed(m),F(c),g.append(v,c),t.unit&&g.append(M("span","tw-num-unit",t.unit)),f.append(M("span",t.row?"tw-row-label":"tw-field-label",t.label),g);let w=(l,h=!0)=>{l=+l,Number.isFinite(l)&&(a=u(l),c.value=a.toFixed(m),h&&n&&n(a))};return c.addEventListener("change",()=>{let l=parseFloat(c.value);w(isNaN(l)?a:l)}),c.addEventListener("keydown",l=>{if(l.key==="Enter")return c.blur();let h=l.key==="ArrowUp"?1:l.key==="ArrowDown"?-1:0;if(!h)return;l.preventDefault();let x=parseFloat(c.value);w((isNaN(x)?a:x)+h*e*(l.shiftKey?10:1))}),G(v,g,e,()=>a,w,()=>c.value),{el:f,set:l=>w(l,!1),get:()=>a}}$("number",(t,n)=>X({...t,row:!0},n));var q=(t,n,e)=>{let s=Math.sqrt(t/e),r=n/(2*Math.sqrt(t*e));return Math.min(2.2,9/Math.max(r*s,.5))};function U(t,n,e,s=64,r=q(t,n,e)){let o=Math.sqrt(t/e),i=n/(2*Math.sqrt(t*e)),m=[];for(let p=0;p<s;p++){let d=p/(s-1)*r,u;if(i<1-1e-4){let a=o*Math.sqrt(1-i*i);u=1-Math.exp(-i*o*d)*(Math.cos(a*d)+i*o/a*Math.sin(a*d))}else if(i<=1+1e-4)u=1-Math.exp(-o*d)*(1+o*d);else{let a=Math.sqrt(i*i-1),f=o*(i+a),g=o*(i-a);u=1-(f*Math.exp(-g*d)-g*Math.exp(-f*d))/(f-g)}m.push(u)}return m}export{K as a,R as b,k as c,V as d,I as e,B as f,O as g,j as h,z as i,X as j,q as k,U as l};
@@ -1 +1 @@
1
- import{d as ie,f as ot,g as at,i as ue,j as he}from"./chunk-SIIHIBXV.js";import{B as ce,I as le,X as Ot,g as m,n as Vt,t as v,v as se}from"./chunk-WWCMYF2Q.js";var sn=180/Math.PI,Nt=Math.PI/180,V=(t,e)=>[t[0][0]*e[0]+t[0][1]*e[1]+t[0][2]*e[2],t[1][0]*e[0]+t[1][1]*e[1]+t[1][2]*e[2],t[2][0]*e[0]+t[2][1]*e[1]+t[2][2]*e[2]],cn=(t,e)=>{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]=t[o][0]*e[0][r]+t[o][1]*e[1][r]+t[o][2]*e[2][r];return n},g=t=>Number.isFinite(t)?t:0,ln=(t,e,n)=>Math.min(n,Math.max(e,t)),st=t=>{let e=Math.abs(t);return e<=.04045?t/12.92:Math.sign(t)*((e+.055)/1.055)**2.4},U=t=>{let e=Math.abs(t);return e<=.0031308?t*12.92:Math.sign(t)*(1.055*e**(1/2.4)-.055)},it=1.09929682680944,we=.018053968510807,un=t=>{let e=Math.abs(t);return e<we*4.5?t/4.5:Math.sign(t)*((e+it-1)/it)**(1/.45)},Ce=t=>{let e=Math.abs(t);return e<we?t*4.5:Math.sign(t)*(it*e**.45-(it-1))},ve=1/512,hn=t=>{let e=Math.abs(t);return e<=ve*16?t/16:Math.sign(t)*e**1.8},pn=t=>{let e=Math.abs(t);return e>=ve?Math.sign(t)*e**(1/1.8):16*t},Tt=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],ct=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],bn=[[.4865709486482162,.26566769316909306,.19821728523436247],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],ye=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],mn=[[.6369580483012914,.14461690358620832,.16888097516417205],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],$e=[[1.7166511879712674,-.35567078377639233,-.25336628137365974],[-.6666843518324892,1.6164812366349395,.01576854581391113],[.017639857445310783,-.042770613257808524,.9421031212354738]],dn=[[.7977604896723027,.13518583717574031,.0313493495815248],[.2880711282292934,.7118432178101014,8565396060525902e-20],[0,0,.8251046025104601]],fn=[[1.3457989731028281,-.25558010007997534,-.05110628506753401],[-.5446224939028347,1.5082327413132781,.02053603239147973],[0,0,1.2119675456389454]],Ee=[[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],_e=[[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],gn=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],Se=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],xn=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],Ae=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],lt=216/24389,q=24389/27,z=[.3457/.3585,1,(1-.3457-.3585)/.3585],Y=(t,e,n)=>V(n,[e(t[0]),e(t[1]),e(t[2])]),Z=(t,e,n)=>{let o=V(n,t);return[e(o[0]),e(o[1]),e(o[2])]},pe=t=>{let e=V(Ae,t);return V(Se,[e[0]**3,e[1]**3,e[2]**3])},be=t=>{let e=V(gn,t);return V(xn,[Math.cbrt(e[0]),Math.cbrt(e[1]),Math.cbrt(e[2])])};function me(t){let[e,n,o]=t,r=(e+16)/116,a=n/500+r,s=r-o/200,i=a**3>lt?a**3:(116*a-16)/q,h=e>q*lt?r**3:e/q,p=s**3>lt?s**3:(116*s-16)/q;return V(_e,[i*z[0],h*z[1],p*z[2]])}function de(t){let e=V(Ee,t),n=s=>s>lt?Math.cbrt(s):(q*s+16)/116,o=n(e[0]/z[0]),r=n(e[1]/z[1]),a=n(e[2]/z[2]);return[116*r-16,500*(o-r),200*(r-a)]}var ut=t=>{let e=Math.hypot(t[1],t[2]),n=Math.atan2(t[2],t[1])*sn;return n<0&&(n+=360),[t[0],e,n]},ht=t=>[t[0],t[1]*Math.cos(t[2]*Nt),t[1]*Math.sin(t[2]*Nt)];function Le(t){let e=((Number.isNaN(t[0])?0:t[0])%360+360)%360,n=t[1]/100,o=t[2]/100,r=a=>{let s=(a+e/30)%12,i=n*Math.min(o,1-o);return o-i*Math.max(-1,Math.min(s-3,9-s,1))};return[r(0),r(8),r(4)]}function Ve(t){let e=Math.max(...t),n=Math.min(...t),o=e-n;if(o<1e-9)return NaN;let r;return e===t[0]?r=(t[1]-t[2])/o+(t[1]<t[2]?6:0):e===t[1]?r=(t[2]-t[0])/o+2:r=(t[0]-t[1])/o+4,r*60}function Mn(t){let e=Math.max(...t),n=Math.min(...t),o=(n+e)/2,r=Ve(t),a=e===n||o===0||o===1?0:(e-o)/Math.min(o,1-o);return a<0&&(r+=180,a=-a),r>=360&&(r-=360),[r,a*100,o*100]}function kn(t){let e=t[1]/100,n=t[2]/100;if(e+n>=1){let a=e/(e+n);return[a,a,a]}let o=Le([t[0],100,50]),r=1-e-n;return[o[0]*r+e,o[1]*r+e,o[2]*r+e]}var wn=t=>[Ve(t),Math.min(...t)*100,(1-Math.max(...t))*100];function Cn(t,e){switch(e){case"srgb":return Y(t,st,Tt);case"p3":return Y(t,st,bn);case"rec2020":return Y(t,un,mn);case"prophoto-rgb":return V(_e,Y(t,hn,dn));case"oklab":return pe(t);case"oklch":return pe(ht(t));case"lab":return me(t);case"lch":return me(ht(t));case"hsl":return Y(Le(t),st,Tt);case"hwb":return Y(kn(t),st,Tt)}}function vn(t,e){switch(e){case"srgb":return Z(t,U,ct);case"p3":return Z(t,U,ye);case"rec2020":return Z(t,Ce,$e);case"prophoto-rgb":return Z(V(Ee,t),pn,fn);case"oklab":return be(t);case"oklch":return ut(be(t));case"lab":return de(t);case"lch":return ut(de(t));case"hsl":return Mn(Z(t,U,ct));case"hwb":return wn(Z(t,U,ct))}}function k(t,e,n){return e===n?[t[0],t[1],t[2]]:e==="oklch"&&n==="oklab"?ht(t):e==="oklab"&&n==="oklch"?ut(t):e==="lch"&&n==="lab"?ht(t):e==="lab"&&n==="lch"?ut(t):vn(Cn(t,e),n)}var pt=75e-6,Oe=t=>t.every(e=>e>=-pt&&e<=1+pt),Ft=(t,e)=>Oe(k(t,"oklch",e)),Rt=t=>t.map(e=>Math.min(1,Math.max(0,e))),fe=(t,e)=>Math.hypot(t[0]-e[0],t[1]-e[1],t[2]-e[2]);function bt(t,e){if(Ft(t,e))return k(t,"oklch",e);let n=t[0];if(n>=1)return[1,1,1];if(n<=0)return[0,0,0];if(!Number.isFinite(t[1]))return Rt(k([n,0,g(t[2])],"oklch",e));let o=.02,r=1e-4,a=[t[0],t[1],t[2]],s=0,i=t[1],h=!0,p=Rt(k(a,"oklch",e));if(fe(k(p,e,"oklab"),k(t,"oklch","oklab"))<o)return p;for(;i-s>r;){let u=(s+i)/2;a[1]=u;let b=k(a,"oklch",e);if(h&&Oe(b)){s=u;continue}p=Rt(b);let d=fe(k(p,e,"oklab"),k(a,"oklch","oklab"));if(d<o){if(o-d<r)return p;h=!1,s=u}else i=u}return p}var Te=(t,e)=>{let n=t*Nt,o=Math.cos(n),r=Math.sin(n),a=Ae.map(i=>o*i[1]+r*i[2]),s=cn(e==="p3"?ye:e==="rec2020"?$e:ct,Se);return{d:a,F:s,gam:e==="rec2020"?Ce:U}};function mt(t,e){let{d:[n,o,r],F:a,gam:s}=Te(t,e),i=-pt,h=1+pt;return(p,u)=>{let b=p+u*n,d=p+u*o,E=p+u*r,x=b**3,w=d**3,y=E**3,C=s(a[0][0]*x+a[0][1]*w+a[0][2]*y);if(C<i||C>h)return!1;let A=s(a[1][0]*x+a[1][1]*w+a[1][2]*y);if(A<i||A>h)return!1;let P=s(a[2][0]*x+a[2][1]*w+a[2][2]*y);return P>=i&&P<=h}}function Re(t,e){let{d:[n,o,r],F:a,gam:s}=Te(t,e);return(i,h,p)=>{let u=i+h*n,b=i+h*o,d=i+h*r,E=u**3,x=b**3,w=d**3;p[0]=s(a[0][0]*E+a[0][1]*x+a[0][2]*w),p[1]=s(a[1][0]*E+a[1][1]*x+a[1][2]*w),p[2]=s(a[2][0]*E+a[2][1]*x+a[2][2]*w)}}function dt(t,e,n=.5){if(!t(e,0))return 0;let o=0;for(let r=0;r<16;r++){let a=(o+n)/2;t(e,a)?o=a:n=a}return o}var G=t=>Math.round(Math.min(1,Math.max(0,t))*255).toString(16).padStart(2,"0"),yn=t=>`#${G(t[0])}${G(t[1])}${G(t[2])}`,ft=(t,e,n)=>yn(bt([t,e,n],"srgb"));function Ne(t){let e=String(t).replace("#","").trim();if(e.length===3&&(e=e.split("").map(o=>o+o).join("")),e.length<6)return[.7,.1,280];let n=[parseInt(e.slice(0,2),16)/255,parseInt(e.slice(2,4),16)/255,parseInt(e.slice(4,6),16)/255];return k(n,"srgb","oklch").map(g)}var gt=["hex","srgb","css","hsl","hwb","oklch","oklab","lch","lab","p3","rec2020"],Fe={hex:"HEX",srgb:"RGB",css:"CSS",hsl:"HSL",hwb:"HWB",oklch:"OKLCH",oklab:"OKLab",lch:"LCH",lab:"Lab",p3:"P3",rec2020:"Rec2020"},He=["srgb","css","hsl","hwb","hex"],Ht=t=>!He.includes(t),Ie=t=>t==="hex"||t==="css"?"srgb":t,$n=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"}),Gn=t=>$n[t]||"oklch",En=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=t=>En[t]||"oklch",xt=.5,De=(t,e,n)=>Object.freeze(["R","G","B"].map(o=>Object.freeze({k:o,min:0,max:t,step:e,scale:n}))),ge=De(255,1,255),xe=De(1,.01,1),J={oklch:[{k:"L",min:0,max:100,step:1,scale:100},{k:"C",min:0,max:xt,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:ge,css:ge,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:xe,rec2020:xe},Me=t=>t>=1?0:t>=.1?1:t>=.01?2:3,Ge=(t,e,n)=>e==="oklch"?[t[0],t[1],t[2]]:He.includes(n)?e==="srgb"?bt(t,"srgb"):k(bt(t,"srgb"),"srgb",e):k(t,"oklch",e);function Mt(t,e){let n=Ge(t,Ie(e),e);return J[e].map((o,r)=>{let a=g(n[r])*o.scale;return ln(Math.abs(a)<.5*o.step?0:a,o.min,o.max)})}function Be(t,e,n,o){let r=Ie(e),a=Ge(t,r,e).map(g);a[n]=o/J[e][n].scale;let s=k(a,r,"oklch");return[g(s[0]),g(s[1]),g(s[2])]}function Pe(t,e){if(!Ht(e))return"sRGB";let n=bt(t,"srgb");return Math.max(...n)<.03||Math.min(...n)>.97||Ft(t,"srgb")?"sRGB":Ft(t,"p3")?"P3":"wide"}function It(t,e){if(e==="hex")return ft(t[0],t[1],t[2]);let n=J[e],o=Mt(t,e),r=a=>{let s=o[a].toFixed(Me(n[a].step));return n[a].k==="H"&&+s==360?0 .toFixed(Me(n[a].step)):s};return e==="css"?`${r(0)}, ${r(1)}, ${r(2)}`:e==="oklch"||e==="oklab"||e==="lch"||e==="lab"?`${r(0)}% ${r(1)} ${r(2)}`:e==="hsl"||e==="hwb"?`${r(0)} ${r(1)}% ${r(2)}%`:`${r(0)} ${r(1)} ${r(2)}`}var ke=(t,e)=>e==="hex"?t:e==="srgb"?`rgb(${t})`:e==="css"?`rgba(${t}, 1)`:e==="hsl"?`hsl(${t})`:e==="hwb"?`hwb(${t})`:e==="p3"?`color(display-p3 ${t})`:e==="rec2020"?`color(rec2020 ${t})`:`${e}(${t})`;function Xe(t,e,n){let o=g(n);if(e==="hex")return ft(t[0],t[1],t[2])+(o<.999?G(o):"");let r=It(t,e);if(o>=.999)return ke(r,e);let a=+o.toFixed(3);return e==="css"?`rgba(${r}, ${a})`:ke(`${r} / ${a}`,e)}var je=(()=>{try{return document.createElement("canvas").getContext("2d",{colorSpace:"display-p3"})?.getContextAttributes?.().colorSpace==="display-p3"}catch{return!1}})(),Dt=je?{colorSpace:"display-p3"}:{},_n=je?"p3":"srgb",kt=(t,e)=>{let n=t.length-1,o=Math.max(0,Math.min(n,e*n)),r=Math.floor(o),a=o-r;return t[r]*(1-a)+t[Math.min(r+1,n)]*a},Sn=(t,e)=>{let n=mt(t,e),o=new Float64Array(128);for(let r=0;r<128;r++)o[r]=dt(n,r/127);return o},An="var(--tw-checker)",Ln=Object.assign(Object.create(null),{srgb:"srgb","display-p3":"p3",rec2020:"rec2020","prophoto-rgb":"prophoto-rgb"}),jt=/^(rgba?|hsla?|hwb)\([ \t\n\r\f]*([^)]*?)[ \t\n\r\f]*\)$/i,Kt=/^(oklch|oklab|lch|lab|color)\([ \t\n\r\f]*([^)]*?)[ \t\n\r\f]*\)$/i,Vn=/^(srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|xyz|xyz-d50|xyz-d65)$/i,Ct=/^#?([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,Gt,Ke=()=>Gt===void 0?Gt=document.createElement("canvas").getContext("2d"):Gt,On=/^(#[0-9a-f]{3,8}|[a-z][a-z-]*(?:\([\w\s.,%+\-\/]*\))?)$/i;function Yn(t){if(t=String(t??"").trim(),!On.test(t))return!1;if(Ct.test(t))return!0;if(Kt.test(t))return Nn(t);if(jt.test(t))return Ze(t)!==null;let e=Ke();return e?["#000","#fff"].some(n=>{e.fillStyle=n;let o=e.fillStyle;return e.fillStyle=t,e.fillStyle!==o}):!0}var Yt="[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+-]?\\d+)?",Tn=new RegExp("^"+Yt+"$","i"),Rn=new RegExp("^"+Yt+"%$","i"),Ye=new RegExp("^("+Yt+")(deg|grad|rad|turn)$","i"),Zt=/[ \t\n\r\f]+/,zt=/^none$/i,Bt=t=>t.replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g,""),Pt=t=>!!t&&!Zt.test(t),B=t=>zt.test(t)?"none":Tn.test(t)?"num":Rn.test(t)?"pct":Ye.test(t)?"angle":null,Xt=t=>{let e=Ye.exec(t);if(!e)return g(parseFloat(t));let n=parseFloat(e[1]),o=e[2].toLowerCase();return g(o==="turn"?n*360:o==="grad"?n*.9:o==="rad"?n*180/Math.PI:n)};function Ze(t){let e=jt.exec(t);if(!e)return null;let n=e[1].toLowerCase().replace(/a$/,""),o=e[2],r,a,s;if(o.includes(",")){if(n==="hwb")return null;let u=o.split(",").map(Bt);if(u.length<3||u.length>4||!u.every(Pt)||(r=u.slice(0,3),a=u[3],s=r.map(B),n==="rgb"?!(s.every(b=>b==="num")||s.every(b=>b==="pct")):!((s[0]==="num"||s[0]==="angle")&&s[1]==="pct"&&s[2]==="pct"))||a!==void 0&&B(a)!=="num"&&B(a)!=="pct")return null}else{let u=o.split("/");if(u.length>2||(r=u[0].split(Zt).filter(Boolean),r.length!==3))return null;if(u.length===2){a=Bt(u[1]);let b=Pt(a)?B(a):null;if(!b||b==="angle")return null}if(s=r.map(B),n==="rgb"?!s.every(b=>b&&b!=="angle"):!(s[0]&&s[0]!=="pct"&&s[1]&&s[1]!=="angle"&&s[2]&&s[2]!=="angle"))return null}let i=(u,b)=>zt.test(u)?0:/%$/.test(u)?parseFloat(u)/100*b:parseFloat(u),h=a===void 0?1:m(i(a,1),0,1);return[n==="rgb"?k([m(i(r[0],255)/255,0,1),m(i(r[1],255)/255,0,1),m(i(r[2],255)/255,0,1)],"srgb","oklch"):k([s[0]==="none"?0:Xt(r[0]),m(i(r[1],100),0,100),m(i(r[2],100),0,100)],n,"oklch"),h]}var Nn=t=>{let e=Kt.exec(t);if(!e)return!1;let n=e[1].toLowerCase(),o=e[2].split("/");if(o.length>2)return!1;let r=o[0].split(Zt).filter(Boolean);if(n==="color"&&!Vn.test(r.shift()||"")||r.length!==3)return!1;let a=n==="lch"||n==="oklch";if(!r.every((s,i)=>{let h=B(s);return h&&(a&&i===2?h!=="pct":h!=="angle")}))return!1;if(o.length===2){let s=Bt(o[1]),i=Pt(s)?B(s):null;if(!i||i==="angle")return!1}return!0};function wt(t){if(t=String(t??"").trim(),Ct.test(t)){let i=t.replace("#",""),h=1;i.length===4?(h=parseInt(i[3]+i[3],16)/255,i=i.slice(0,3)):i.length===8&&(h=parseInt(i.slice(6,8),16)/255,i=i.slice(0,6));let[p,u,b]=Ne("#"+i);return[p,u,b,h]}let e=Kt.exec(t);if(e){let i=e[1].toLowerCase(),[h,p]=e[2].split("/").map(y=>y.trim()),u=h.split(/\s+/).filter(Boolean),b=i;if(i==="color"&&(b=Ln[(u[0]||"").toLowerCase()],u=u.slice(1),!b))return[.7,.1,280,1];let d=(y,C=1)=>!y||zt.test(y)?0:g(parseFloat(y))*(/%$/.test(y)?C:1),E=p?m(d(p,.01),0,1):1,x=i==="lab"?[m(d(u[0]),0,100),d(u[1],1.25),d(u[2],1.25)]:i==="lch"?[m(d(u[0]),0,100),Math.max(0,d(u[1],1.5)),Xt(u[2]||"0")]:i==="color"?[d(u[0],.01),d(u[1],.01),d(u[2],.01)]:i==="oklab"?[m(d(u[0],.01),0,1),d(u[1],.004),d(u[2],.004)]:[m(d(u[0],.01),0,1),Math.max(0,d(u[1],.004)),Xt(u[2]||"0")],w=b==="oklch"?x:k(x,b,"oklch");return[g(w[0]),m(g(w[1]),0,xt),(g(w[2])%360+360)%360,E]}if(jt.test(t)){let i=Ze(t);if(!i)return[0,0,0,1];let[h,p]=i;return[g(h[0]),m(g(h[1]),0,xt),(g(h[2])%360+360)%360,p]}let n=Ke();if(!n)return[0,0,0,1];n.fillStyle="#000",n.fillStyle=t;let o=n.fillStyle;if(Ct.test(o))return wt(o);let r=o.match(/^rgba?\(([^)]*)\)/i),a=((r?r[1]:"").match(/-?[\d.]+(?:e[+-]?\d+)?/gi)||[0,0,0]).map(Number),s=k([a[0]/255,a[1]/255,a[2]/255],"srgb","oklch");return[g(s[0]),g(s[1]),g(s[2]),a[3]!=null?m(g(a[3]),0,1):1]}function ze(t,e){let[n,o,r,a]=wt(t.value||"#7c5cff"),s=gt.includes(t.mode)?t.mode:"oklch",i=NaN,h=null,p=[],u=NaN,b="",d=()=>Xe([n,o,r],s,a),E=v("div","tw-color-body"),x=v("div","tw-wg-area"),w=document.createElement("canvas");w.className="tw-wg-canvas";let y=v("div","tw-wg-thumb");x.append(w,y);let C=v("div","tw-wg-hue"),A=document.createElement("canvas");A.className="tw-wg-hue-canvas";let P=v("div","tw-wg-hue-thumb");C.append(A,P);let _=v("div","tw-wg-alpha"),Wt=v("div","tw-wg-alpha-grad"),vt=v("div","tw-wg-hue-thumb");_.append(Wt,vt),w.setAttribute("aria-hidden","true"),A.setAttribute("aria-hidden","true"),x.tabIndex=0,x.setAttribute("role","group"),x.setAttribute("aria-label","Colour plane: chroma across, lightness up"),C.tabIndex=0,C.setAttribute("role","slider"),C.setAttribute("aria-label","Hue"),C.setAttribute("aria-valuemin","0"),C.setAttribute("aria-valuemax","360"),_.tabIndex=0,_.setAttribute("role","slider"),_.setAttribute("aria-label","Alpha"),_.setAttribute("aria-valuemin","0"),_.setAttribute("aria-valuemax","1");let Ut=v("div","tw-color-mode-row"),R=v("select","tw-color-mode");R.setAttribute("aria-label","Color mode"),gt.forEach(c=>{let l=document.createElement("option");l.value=c,l.textContent=Fe[c],R.append(l)}),R.value=s;let qt=v("span","tw-color-gamut");Ut.append(R,qt);let N=v("div","tw-color-channels");E.append(x,C,_,Ut,N);let $=w.getContext("2d",Dt),Jt=A.getContext("2d"),X=document.createElement("canvas"),We=X.getContext("2d",Dt),yt=null,$t=()=>{let c=x.getBoundingClientRect(),l=Math.round(c.width),f=Math.round(c.height);if(l<2)return;let M=window.devicePixelRatio||1,S=Ht(s)?"p3":"srgb",F=Sn(r,S);h=F;let T=Math.round(l*M),tt=Math.round(f*M),H=Math.max(1,Math.round(T/4)),j=Math.max(1,Math.round(tt/4));(X.width!==H||X.height!==j)&&(X.width=H,X.height=j,yt=new ImageData(H,j,Dt));let et=yt.data,nn=j>1?1/(j-1):0,rn=H>1?1/(H-1):0,on=Re(r,_n),nt=[0,0,0];for(let I=0;I<j;I++){let rt=1-I*nn,St=kt(F,rt);for(let D=0;D<H;D++){on(rt,D*rn*St,nt);let K=(I*H+D)*4;et[K]=Math.round(m(nt[0],0,1)*255),et[K+1]=Math.round(m(nt[1],0,1)*255),et[K+2]=Math.round(m(nt[2],0,1)*255),et[K+3]=255}}if(We.putImageData(yt,0,0),w.width=T,w.height=tt,$.imageSmoothingEnabled=!0,$.drawImage(X,0,0,T,tt),S!=="srgb"){let I=(rt,St,D,K)=>{let an=mt(r,rt),At=[];for(let L=0;L<=100;L++){let W=L/100,Lt=kt(F,W);if(Lt<=0)continue;let ae=dt(an,W,Lt);ae<=0||At.push([Math.min(ae/Lt*T,T-D*M/2),(1-W)*tt])}At.length<2||($.save(),$.strokeStyle=St,$.lineWidth=D*M,$.lineJoin=$.lineCap="round",$.setLineDash(K.map(L=>L*M)),$.beginPath(),At.forEach((L,W)=>W?$.lineTo(L[0],L[1]):$.moveTo(L[0],L[1])),$.stroke(),$.restore())};I("srgb","rgba(255,255,255,0.7)",1.5,[]),I("p3","rgba(255,255,255,0.4)",1,[3,3])}i=r},Qt=.7,te=c=>{let l=k([Qt,dt(mt(c,"srgb"),Qt),c],"oklch","srgb");return`rgb(${m(l[0]*255,0,255)|0},${m(l[1]*255,0,255)|0},${m(l[2]*255,0,255)|0})`},ee=0,Ue=()=>{let c=C.getBoundingClientRect(),l=Math.max(1,Math.round(c.width)),f=Math.max(1,Math.round(c.height));if(!(l<2)&&!(l===ee&&A.width===l)){ee=l,A.width=l,A.height=f;for(let M=0;M<l;M++)Jt.fillStyle=te(M/(l-1)*360),Jt.fillRect(M,0,1,f)}},Et=()=>{let c=h?kt(h,n):.4,l=S=>`${m(S,0,1)*100}%`,f=(S,F)=>{let T=m(S,0,1);return`calc(${T*100}% + ${(.5-T)*F}px)`};y.style.left=l(c>0?o/c:0),y.style.top=l(1-n),P.style.left=f(r/360,16),vt.style.left=f(a,16),_.setAttribute("aria-valuenow",String(+a.toFixed(2)));let M=Math.round(r);C.setAttribute("aria-valuenow",String(M)),C.setAttribute("aria-valuetext",`${M}\xB0`),x.setAttribute("aria-description",`lightness ${Math.round(n*100)}%, chroma ${+o.toFixed(3)}`),Wt.style.background=`linear-gradient(to right, oklch(${n} ${o} ${r} / 0), oklch(${n} ${o} ${r}))`,y.style.background=`oklch(${n} ${o} ${r})`,vt.style.background=`linear-gradient(oklch(${n} ${o} ${r} / ${a}), oklch(${n} ${o} ${r} / ${a})), var(--tw-dropdown-bg)`,r!==u&&(b=te(r),u=r),P.style.background=b},Q=()=>{if(qt.textContent=Pe([n,o,r],s),s==="hex"){let c=N.querySelector(".tw-color-chan-input");c&&document.activeElement!==c&&(c.value=ft(n,o,r)+(a<.999?G(a):""))}else{let c=Mt([n,o,r],s);p.forEach((l,f)=>{l.el.contains(document.activeElement)||l.set(c[f])})}},qe=()=>{Ue(),$t(),Et()},Je=()=>e(d()),ne=c=>{c&&r!==i&&$t(),Et(),Q()},O=c=>{ne(c),Je()},re=()=>{if(N.replaceChildren(),p=[],s==="hex"){N.classList.add("tw-color-channels--hex");let c=v("div","tw-color-chan"),l=v("input","tw-color-chan-input");l.type="text",l.spellcheck=!1,l.setAttribute("aria-label","Hex color"),ce(l),ie(l),l.addEventListener("change",()=>{let f=l.value.trim();Ct.test(f)&&([n,o,r,a]=wt(f),O(!0))}),l.addEventListener("blur",Q),l.addEventListener("keydown",f=>{f.key==="Enter"&&l.blur()}),c.append(se("span","tw-color-chan-label","HEX"),l),N.append(c)}else{N.classList.remove("tw-color-channels--hex");let c=Mt([n,o,r],s);J[s].forEach((l,f)=>{let M=he({label:l.k,value:c[f],min:l.min,max:l.max,step:l.step},S=>{[n,o,r]=Be([n,o,r],s,f,m(S,l.min,l.max)),O(!0)});M.el.addEventListener("focusout",Q),p.push(M),N.append(M.el)})}Q()},_t=c=>h?kt(h,c):.4,Qe=c=>at(c,x);ot(x,c=>{let[l,f]=Qe(c);n=1-f,o=l*_t(n),O(!1)}),x.addEventListener("keydown",c=>{if(c.key==="Home"||c.key==="End"){c.preventDefault();return}let l=c.shiftKey?10:1,f=c.key==="ArrowRight"?l:c.key==="ArrowLeft"?-l:0,M=c.key==="ArrowUp"?l:c.key==="ArrowDown"?-l:c.key==="PageUp"?10:c.key==="PageDown"?-10:0;if(!f&&!M)return;c.preventDefault();let S=_t(n),F=m((S>0?o/S:0)+f*.01,0,1);n=m(n+M*.01,0,1),o=F*_t(n),O(!1)});let tn=c=>at(c,C)[0]*360;ot(C,c=>{r=tn(c),O(!0)}),C.addEventListener("keydown",c=>{let l=Vt(c,r,1,0,360);l!=null&&(c.preventDefault(),r=m(l,0,360),O(!0))});let en=c=>at(c,_)[0];ot(_,c=>{a=en(c),O(!1)}),_.addEventListener("keydown",c=>{let l=Vt(c,a,.01,0,1);l!=null&&(c.preventDefault(),a=m(l,0,1),O(!1))});let oe=c=>{s=c,R.value=c,re(),$t(),Et()};return R.addEventListener("change",()=>{oe(R.value),t.onMode&&t.onMode()}),re(),{el:E,set:c=>{let l=document.activeElement;l&&E.contains(l)&&l.matches("input")&&l.blur(),[n,o,r,a]=wt(c),ne(!0)},get:()=>d(),mode:()=>s,setMode:c=>{c!==s&&gt.includes(c)&&oe(c)},reflow:qe,swatchCss:()=>`linear-gradient(oklch(${n} ${o} ${r} / ${a}), oklch(${n} ${o} ${r} / ${a})), ${An}`,valueText:()=>It([n,o,r],s)+(a<.999?s==="hex"?G(a):` / ${+a.toFixed(2)}`:"")}}function Fn(t,e){let{root:n,trigger:o,right:r}=ue("tw-color",t.label??"Colour"),a=v("span","tw-trigger-chip tw-color-swatch"),s=v("span","tw-trigger-value");r.append(a,s);let i=v("div","tw-color-pop"),h=()=>{a.style.background=p.swatchCss(),s.textContent=p.valueText()},p=ze({value:t.value,onMode:()=>h()},u=>{h(),e(u)});return i.append(p.el),n.append(i),le(n,o,i,{width:240,fallbackH:340,gap:6,onOpen:p.reflow,onReflow:p.reflow}),h(),{el:n,set:u=>{u!=null&&(p.set(u),h())},get:()=>p.get()}}var Zn=(t,e,n,o)=>o<.999?`oklch(${+t.toFixed(4)} ${+e.toFixed(4)} ${+n.toFixed(2)} / ${+o.toFixed(3)})`:`oklch(${+t.toFixed(4)} ${+e.toFixed(4)} ${+n.toFixed(2)})`;Ot("color",Fn);Ot("colorpicker",ze);export{Gn as a,Bn as b,An as c,Yn as d,wt as e,ze as f,Zn as g};
1
+ import{d as ie,f as ot,g as at,i as ue,j as he}from"./chunk-5G6TFQOD.js";import{C as ce,J as le,Y as Ot,g as m,o as Vt,u as v,w as se}from"./chunk-3GZFWFKC.js";var sn=180/Math.PI,Nt=Math.PI/180,V=(t,e)=>[t[0][0]*e[0]+t[0][1]*e[1]+t[0][2]*e[2],t[1][0]*e[0]+t[1][1]*e[1]+t[1][2]*e[2],t[2][0]*e[0]+t[2][1]*e[1]+t[2][2]*e[2]],cn=(t,e)=>{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]=t[o][0]*e[0][r]+t[o][1]*e[1][r]+t[o][2]*e[2][r];return n},g=t=>Number.isFinite(t)?t:0,ln=(t,e,n)=>Math.min(n,Math.max(e,t)),st=t=>{let e=Math.abs(t);return e<=.04045?t/12.92:Math.sign(t)*((e+.055)/1.055)**2.4},U=t=>{let e=Math.abs(t);return e<=.0031308?t*12.92:Math.sign(t)*(1.055*e**(1/2.4)-.055)},it=1.09929682680944,we=.018053968510807,un=t=>{let e=Math.abs(t);return e<we*4.5?t/4.5:Math.sign(t)*((e+it-1)/it)**(1/.45)},Ce=t=>{let e=Math.abs(t);return e<we?t*4.5:Math.sign(t)*(it*e**.45-(it-1))},ve=1/512,hn=t=>{let e=Math.abs(t);return e<=ve*16?t/16:Math.sign(t)*e**1.8},pn=t=>{let e=Math.abs(t);return e>=ve?Math.sign(t)*e**(1/1.8):16*t},Tt=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],ct=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],bn=[[.4865709486482162,.26566769316909306,.19821728523436247],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],ye=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],mn=[[.6369580483012914,.14461690358620832,.16888097516417205],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],$e=[[1.7166511879712674,-.35567078377639233,-.25336628137365974],[-.6666843518324892,1.6164812366349395,.01576854581391113],[.017639857445310783,-.042770613257808524,.9421031212354738]],dn=[[.7977604896723027,.13518583717574031,.0313493495815248],[.2880711282292934,.7118432178101014,8565396060525902e-20],[0,0,.8251046025104601]],fn=[[1.3457989731028281,-.25558010007997534,-.05110628506753401],[-.5446224939028347,1.5082327413132781,.02053603239147973],[0,0,1.2119675456389454]],Ee=[[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],_e=[[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],gn=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],Se=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],xn=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],Ae=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],lt=216/24389,q=24389/27,z=[.3457/.3585,1,(1-.3457-.3585)/.3585],Y=(t,e,n)=>V(n,[e(t[0]),e(t[1]),e(t[2])]),Z=(t,e,n)=>{let o=V(n,t);return[e(o[0]),e(o[1]),e(o[2])]},pe=t=>{let e=V(Ae,t);return V(Se,[e[0]**3,e[1]**3,e[2]**3])},be=t=>{let e=V(gn,t);return V(xn,[Math.cbrt(e[0]),Math.cbrt(e[1]),Math.cbrt(e[2])])};function me(t){let[e,n,o]=t,r=(e+16)/116,a=n/500+r,s=r-o/200,i=a**3>lt?a**3:(116*a-16)/q,h=e>q*lt?r**3:e/q,p=s**3>lt?s**3:(116*s-16)/q;return V(_e,[i*z[0],h*z[1],p*z[2]])}function de(t){let e=V(Ee,t),n=s=>s>lt?Math.cbrt(s):(q*s+16)/116,o=n(e[0]/z[0]),r=n(e[1]/z[1]),a=n(e[2]/z[2]);return[116*r-16,500*(o-r),200*(r-a)]}var ut=t=>{let e=Math.hypot(t[1],t[2]),n=Math.atan2(t[2],t[1])*sn;return n<0&&(n+=360),[t[0],e,n]},ht=t=>[t[0],t[1]*Math.cos(t[2]*Nt),t[1]*Math.sin(t[2]*Nt)];function Le(t){let e=((Number.isNaN(t[0])?0:t[0])%360+360)%360,n=t[1]/100,o=t[2]/100,r=a=>{let s=(a+e/30)%12,i=n*Math.min(o,1-o);return o-i*Math.max(-1,Math.min(s-3,9-s,1))};return[r(0),r(8),r(4)]}function Ve(t){let e=Math.max(...t),n=Math.min(...t),o=e-n;if(o<1e-9)return NaN;let r;return e===t[0]?r=(t[1]-t[2])/o+(t[1]<t[2]?6:0):e===t[1]?r=(t[2]-t[0])/o+2:r=(t[0]-t[1])/o+4,r*60}function Mn(t){let e=Math.max(...t),n=Math.min(...t),o=(n+e)/2,r=Ve(t),a=e===n||o===0||o===1?0:(e-o)/Math.min(o,1-o);return a<0&&(r+=180,a=-a),r>=360&&(r-=360),[r,a*100,o*100]}function kn(t){let e=t[1]/100,n=t[2]/100;if(e+n>=1){let a=e/(e+n);return[a,a,a]}let o=Le([t[0],100,50]),r=1-e-n;return[o[0]*r+e,o[1]*r+e,o[2]*r+e]}var wn=t=>[Ve(t),Math.min(...t)*100,(1-Math.max(...t))*100];function Cn(t,e){switch(e){case"srgb":return Y(t,st,Tt);case"p3":return Y(t,st,bn);case"rec2020":return Y(t,un,mn);case"prophoto-rgb":return V(_e,Y(t,hn,dn));case"oklab":return pe(t);case"oklch":return pe(ht(t));case"lab":return me(t);case"lch":return me(ht(t));case"hsl":return Y(Le(t),st,Tt);case"hwb":return Y(kn(t),st,Tt)}}function vn(t,e){switch(e){case"srgb":return Z(t,U,ct);case"p3":return Z(t,U,ye);case"rec2020":return Z(t,Ce,$e);case"prophoto-rgb":return Z(V(Ee,t),pn,fn);case"oklab":return be(t);case"oklch":return ut(be(t));case"lab":return de(t);case"lch":return ut(de(t));case"hsl":return Mn(Z(t,U,ct));case"hwb":return wn(Z(t,U,ct))}}function k(t,e,n){return e===n?[t[0],t[1],t[2]]:e==="oklch"&&n==="oklab"?ht(t):e==="oklab"&&n==="oklch"?ut(t):e==="lch"&&n==="lab"?ht(t):e==="lab"&&n==="lch"?ut(t):vn(Cn(t,e),n)}var pt=75e-6,Oe=t=>t.every(e=>e>=-pt&&e<=1+pt),Ft=(t,e)=>Oe(k(t,"oklch",e)),Rt=t=>t.map(e=>Math.min(1,Math.max(0,e))),fe=(t,e)=>Math.hypot(t[0]-e[0],t[1]-e[1],t[2]-e[2]);function bt(t,e){if(Ft(t,e))return k(t,"oklch",e);let n=t[0];if(n>=1)return[1,1,1];if(n<=0)return[0,0,0];if(!Number.isFinite(t[1]))return Rt(k([n,0,g(t[2])],"oklch",e));let o=.02,r=1e-4,a=[t[0],t[1],t[2]],s=0,i=t[1],h=!0,p=Rt(k(a,"oklch",e));if(fe(k(p,e,"oklab"),k(t,"oklch","oklab"))<o)return p;for(;i-s>r;){let u=(s+i)/2;a[1]=u;let b=k(a,"oklch",e);if(h&&Oe(b)){s=u;continue}p=Rt(b);let d=fe(k(p,e,"oklab"),k(a,"oklch","oklab"));if(d<o){if(o-d<r)return p;h=!1,s=u}else i=u}return p}var Te=(t,e)=>{let n=t*Nt,o=Math.cos(n),r=Math.sin(n),a=Ae.map(i=>o*i[1]+r*i[2]),s=cn(e==="p3"?ye:e==="rec2020"?$e:ct,Se);return{d:a,F:s,gam:e==="rec2020"?Ce:U}};function mt(t,e){let{d:[n,o,r],F:a,gam:s}=Te(t,e),i=-pt,h=1+pt;return(p,u)=>{let b=p+u*n,d=p+u*o,E=p+u*r,x=b**3,w=d**3,y=E**3,C=s(a[0][0]*x+a[0][1]*w+a[0][2]*y);if(C<i||C>h)return!1;let A=s(a[1][0]*x+a[1][1]*w+a[1][2]*y);if(A<i||A>h)return!1;let P=s(a[2][0]*x+a[2][1]*w+a[2][2]*y);return P>=i&&P<=h}}function Re(t,e){let{d:[n,o,r],F:a,gam:s}=Te(t,e);return(i,h,p)=>{let u=i+h*n,b=i+h*o,d=i+h*r,E=u**3,x=b**3,w=d**3;p[0]=s(a[0][0]*E+a[0][1]*x+a[0][2]*w),p[1]=s(a[1][0]*E+a[1][1]*x+a[1][2]*w),p[2]=s(a[2][0]*E+a[2][1]*x+a[2][2]*w)}}function dt(t,e,n=.5){if(!t(e,0))return 0;let o=0;for(let r=0;r<16;r++){let a=(o+n)/2;t(e,a)?o=a:n=a}return o}var G=t=>Math.round(Math.min(1,Math.max(0,t))*255).toString(16).padStart(2,"0"),yn=t=>`#${G(t[0])}${G(t[1])}${G(t[2])}`,ft=(t,e,n)=>yn(bt([t,e,n],"srgb"));function Ne(t){let e=String(t).replace("#","").trim();if(e.length===3&&(e=e.split("").map(o=>o+o).join("")),e.length<6)return[.7,.1,280];let n=[parseInt(e.slice(0,2),16)/255,parseInt(e.slice(2,4),16)/255,parseInt(e.slice(4,6),16)/255];return k(n,"srgb","oklch").map(g)}var gt=["hex","srgb","css","hsl","hwb","oklch","oklab","lch","lab","p3","rec2020"],Fe={hex:"HEX",srgb:"RGB",css:"CSS",hsl:"HSL",hwb:"HWB",oklch:"OKLCH",oklab:"OKLab",lch:"LCH",lab:"Lab",p3:"P3",rec2020:"Rec2020"},He=["srgb","css","hsl","hwb","hex"],Ht=t=>!He.includes(t),Ie=t=>t==="hex"||t==="css"?"srgb":t,$n=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"}),Gn=t=>$n[t]||"oklch",En=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=t=>En[t]||"oklch",xt=.5,De=(t,e,n)=>Object.freeze(["R","G","B"].map(o=>Object.freeze({k:o,min:0,max:t,step:e,scale:n}))),ge=De(255,1,255),xe=De(1,.01,1),J={oklch:[{k:"L",min:0,max:100,step:1,scale:100},{k:"C",min:0,max:xt,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:ge,css:ge,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:xe,rec2020:xe},Me=t=>t>=1?0:t>=.1?1:t>=.01?2:3,Ge=(t,e,n)=>e==="oklch"?[t[0],t[1],t[2]]:He.includes(n)?e==="srgb"?bt(t,"srgb"):k(bt(t,"srgb"),"srgb",e):k(t,"oklch",e);function Mt(t,e){let n=Ge(t,Ie(e),e);return J[e].map((o,r)=>{let a=g(n[r])*o.scale;return ln(Math.abs(a)<.5*o.step?0:a,o.min,o.max)})}function Be(t,e,n,o){let r=Ie(e),a=Ge(t,r,e).map(g);a[n]=o/J[e][n].scale;let s=k(a,r,"oklch");return[g(s[0]),g(s[1]),g(s[2])]}function Pe(t,e){if(!Ht(e))return"sRGB";let n=bt(t,"srgb");return Math.max(...n)<.03||Math.min(...n)>.97||Ft(t,"srgb")?"sRGB":Ft(t,"p3")?"P3":"wide"}function It(t,e){if(e==="hex")return ft(t[0],t[1],t[2]);let n=J[e],o=Mt(t,e),r=a=>{let s=o[a].toFixed(Me(n[a].step));return n[a].k==="H"&&+s==360?0 .toFixed(Me(n[a].step)):s};return e==="css"?`${r(0)}, ${r(1)}, ${r(2)}`:e==="oklch"||e==="oklab"||e==="lch"||e==="lab"?`${r(0)}% ${r(1)} ${r(2)}`:e==="hsl"||e==="hwb"?`${r(0)} ${r(1)}% ${r(2)}%`:`${r(0)} ${r(1)} ${r(2)}`}var ke=(t,e)=>e==="hex"?t:e==="srgb"?`rgb(${t})`:e==="css"?`rgba(${t}, 1)`:e==="hsl"?`hsl(${t})`:e==="hwb"?`hwb(${t})`:e==="p3"?`color(display-p3 ${t})`:e==="rec2020"?`color(rec2020 ${t})`:`${e}(${t})`;function Xe(t,e,n){let o=g(n);if(e==="hex")return ft(t[0],t[1],t[2])+(o<.999?G(o):"");let r=It(t,e);if(o>=.999)return ke(r,e);let a=+o.toFixed(3);return e==="css"?`rgba(${r}, ${a})`:ke(`${r} / ${a}`,e)}var je=(()=>{try{return document.createElement("canvas").getContext("2d",{colorSpace:"display-p3"})?.getContextAttributes?.().colorSpace==="display-p3"}catch{return!1}})(),Dt=je?{colorSpace:"display-p3"}:{},_n=je?"p3":"srgb",kt=(t,e)=>{let n=t.length-1,o=Math.max(0,Math.min(n,e*n)),r=Math.floor(o),a=o-r;return t[r]*(1-a)+t[Math.min(r+1,n)]*a},Sn=(t,e)=>{let n=mt(t,e),o=new Float64Array(128);for(let r=0;r<128;r++)o[r]=dt(n,r/127);return o},An="var(--tw-checker)",Ln=Object.assign(Object.create(null),{srgb:"srgb","display-p3":"p3",rec2020:"rec2020","prophoto-rgb":"prophoto-rgb"}),jt=/^(rgba?|hsla?|hwb)\([ \t\n\r\f]*([^)]*?)[ \t\n\r\f]*\)$/i,Kt=/^(oklch|oklab|lch|lab|color)\([ \t\n\r\f]*([^)]*?)[ \t\n\r\f]*\)$/i,Vn=/^(srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|xyz|xyz-d50|xyz-d65)$/i,Ct=/^#?([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,Gt,Ke=()=>Gt===void 0?Gt=document.createElement("canvas").getContext("2d"):Gt,On=/^(#[0-9a-f]{3,8}|[a-z][a-z-]*(?:\([\w\s.,%+\-\/]*\))?)$/i;function Yn(t){if(t=String(t??"").trim(),!On.test(t))return!1;if(Ct.test(t))return!0;if(Kt.test(t))return Nn(t);if(jt.test(t))return Ze(t)!==null;let e=Ke();return e?["#000","#fff"].some(n=>{e.fillStyle=n;let o=e.fillStyle;return e.fillStyle=t,e.fillStyle!==o}):!0}var Yt="[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+-]?\\d+)?",Tn=new RegExp("^"+Yt+"$","i"),Rn=new RegExp("^"+Yt+"%$","i"),Ye=new RegExp("^("+Yt+")(deg|grad|rad|turn)$","i"),Zt=/[ \t\n\r\f]+/,zt=/^none$/i,Bt=t=>t.replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g,""),Pt=t=>!!t&&!Zt.test(t),B=t=>zt.test(t)?"none":Tn.test(t)?"num":Rn.test(t)?"pct":Ye.test(t)?"angle":null,Xt=t=>{let e=Ye.exec(t);if(!e)return g(parseFloat(t));let n=parseFloat(e[1]),o=e[2].toLowerCase();return g(o==="turn"?n*360:o==="grad"?n*.9:o==="rad"?n*180/Math.PI:n)};function Ze(t){let e=jt.exec(t);if(!e)return null;let n=e[1].toLowerCase().replace(/a$/,""),o=e[2],r,a,s;if(o.includes(",")){if(n==="hwb")return null;let u=o.split(",").map(Bt);if(u.length<3||u.length>4||!u.every(Pt)||(r=u.slice(0,3),a=u[3],s=r.map(B),n==="rgb"?!(s.every(b=>b==="num")||s.every(b=>b==="pct")):!((s[0]==="num"||s[0]==="angle")&&s[1]==="pct"&&s[2]==="pct"))||a!==void 0&&B(a)!=="num"&&B(a)!=="pct")return null}else{let u=o.split("/");if(u.length>2||(r=u[0].split(Zt).filter(Boolean),r.length!==3))return null;if(u.length===2){a=Bt(u[1]);let b=Pt(a)?B(a):null;if(!b||b==="angle")return null}if(s=r.map(B),n==="rgb"?!s.every(b=>b&&b!=="angle"):!(s[0]&&s[0]!=="pct"&&s[1]&&s[1]!=="angle"&&s[2]&&s[2]!=="angle"))return null}let i=(u,b)=>zt.test(u)?0:/%$/.test(u)?parseFloat(u)/100*b:parseFloat(u),h=a===void 0?1:m(i(a,1),0,1);return[n==="rgb"?k([m(i(r[0],255)/255,0,1),m(i(r[1],255)/255,0,1),m(i(r[2],255)/255,0,1)],"srgb","oklch"):k([s[0]==="none"?0:Xt(r[0]),m(i(r[1],100),0,100),m(i(r[2],100),0,100)],n,"oklch"),h]}var Nn=t=>{let e=Kt.exec(t);if(!e)return!1;let n=e[1].toLowerCase(),o=e[2].split("/");if(o.length>2)return!1;let r=o[0].split(Zt).filter(Boolean);if(n==="color"&&!Vn.test(r.shift()||"")||r.length!==3)return!1;let a=n==="lch"||n==="oklch";if(!r.every((s,i)=>{let h=B(s);return h&&(a&&i===2?h!=="pct":h!=="angle")}))return!1;if(o.length===2){let s=Bt(o[1]),i=Pt(s)?B(s):null;if(!i||i==="angle")return!1}return!0};function wt(t){if(t=String(t??"").trim(),Ct.test(t)){let i=t.replace("#",""),h=1;i.length===4?(h=parseInt(i[3]+i[3],16)/255,i=i.slice(0,3)):i.length===8&&(h=parseInt(i.slice(6,8),16)/255,i=i.slice(0,6));let[p,u,b]=Ne("#"+i);return[p,u,b,h]}let e=Kt.exec(t);if(e){let i=e[1].toLowerCase(),[h,p]=e[2].split("/").map(y=>y.trim()),u=h.split(/\s+/).filter(Boolean),b=i;if(i==="color"&&(b=Ln[(u[0]||"").toLowerCase()],u=u.slice(1),!b))return[.7,.1,280,1];let d=(y,C=1)=>!y||zt.test(y)?0:g(parseFloat(y))*(/%$/.test(y)?C:1),E=p?m(d(p,.01),0,1):1,x=i==="lab"?[m(d(u[0]),0,100),d(u[1],1.25),d(u[2],1.25)]:i==="lch"?[m(d(u[0]),0,100),Math.max(0,d(u[1],1.5)),Xt(u[2]||"0")]:i==="color"?[d(u[0],.01),d(u[1],.01),d(u[2],.01)]:i==="oklab"?[m(d(u[0],.01),0,1),d(u[1],.004),d(u[2],.004)]:[m(d(u[0],.01),0,1),Math.max(0,d(u[1],.004)),Xt(u[2]||"0")],w=b==="oklch"?x:k(x,b,"oklch");return[g(w[0]),m(g(w[1]),0,xt),(g(w[2])%360+360)%360,E]}if(jt.test(t)){let i=Ze(t);if(!i)return[0,0,0,1];let[h,p]=i;return[g(h[0]),m(g(h[1]),0,xt),(g(h[2])%360+360)%360,p]}let n=Ke();if(!n)return[0,0,0,1];n.fillStyle="#000",n.fillStyle=t;let o=n.fillStyle;if(Ct.test(o))return wt(o);let r=o.match(/^rgba?\(([^)]*)\)/i),a=((r?r[1]:"").match(/-?[\d.]+(?:e[+-]?\d+)?/gi)||[0,0,0]).map(Number),s=k([a[0]/255,a[1]/255,a[2]/255],"srgb","oklch");return[g(s[0]),g(s[1]),g(s[2]),a[3]!=null?m(g(a[3]),0,1):1]}function ze(t,e){let[n,o,r,a]=wt(t.value||"#7c5cff"),s=gt.includes(t.mode)?t.mode:"oklch",i=NaN,h=null,p=[],u=NaN,b="",d=()=>Xe([n,o,r],s,a),E=v("div","tw-color-body"),x=v("div","tw-wg-area"),w=document.createElement("canvas");w.className="tw-wg-canvas";let y=v("div","tw-wg-thumb");x.append(w,y);let C=v("div","tw-wg-hue"),A=document.createElement("canvas");A.className="tw-wg-hue-canvas";let P=v("div","tw-wg-hue-thumb");C.append(A,P);let _=v("div","tw-wg-alpha"),Wt=v("div","tw-wg-alpha-grad"),vt=v("div","tw-wg-hue-thumb");_.append(Wt,vt),w.setAttribute("aria-hidden","true"),A.setAttribute("aria-hidden","true"),x.tabIndex=0,x.setAttribute("role","group"),x.setAttribute("aria-label","Colour plane: chroma across, lightness up"),C.tabIndex=0,C.setAttribute("role","slider"),C.setAttribute("aria-label","Hue"),C.setAttribute("aria-valuemin","0"),C.setAttribute("aria-valuemax","360"),_.tabIndex=0,_.setAttribute("role","slider"),_.setAttribute("aria-label","Alpha"),_.setAttribute("aria-valuemin","0"),_.setAttribute("aria-valuemax","1");let Ut=v("div","tw-color-mode-row"),R=v("select","tw-color-mode");R.setAttribute("aria-label","Color mode"),gt.forEach(c=>{let l=document.createElement("option");l.value=c,l.textContent=Fe[c],R.append(l)}),R.value=s;let qt=v("span","tw-color-gamut");Ut.append(R,qt);let N=v("div","tw-color-channels");E.append(x,C,_,Ut,N);let $=w.getContext("2d",Dt),Jt=A.getContext("2d"),X=document.createElement("canvas"),We=X.getContext("2d",Dt),yt=null,$t=()=>{let c=x.getBoundingClientRect(),l=Math.round(c.width),f=Math.round(c.height);if(l<2)return;let M=window.devicePixelRatio||1,S=Ht(s)?"p3":"srgb",F=Sn(r,S);h=F;let T=Math.round(l*M),tt=Math.round(f*M),H=Math.max(1,Math.round(T/4)),j=Math.max(1,Math.round(tt/4));(X.width!==H||X.height!==j)&&(X.width=H,X.height=j,yt=new ImageData(H,j,Dt));let et=yt.data,nn=j>1?1/(j-1):0,rn=H>1?1/(H-1):0,on=Re(r,_n),nt=[0,0,0];for(let I=0;I<j;I++){let rt=1-I*nn,St=kt(F,rt);for(let D=0;D<H;D++){on(rt,D*rn*St,nt);let K=(I*H+D)*4;et[K]=Math.round(m(nt[0],0,1)*255),et[K+1]=Math.round(m(nt[1],0,1)*255),et[K+2]=Math.round(m(nt[2],0,1)*255),et[K+3]=255}}if(We.putImageData(yt,0,0),w.width=T,w.height=tt,$.imageSmoothingEnabled=!0,$.drawImage(X,0,0,T,tt),S!=="srgb"){let I=(rt,St,D,K)=>{let an=mt(r,rt),At=[];for(let L=0;L<=100;L++){let W=L/100,Lt=kt(F,W);if(Lt<=0)continue;let ae=dt(an,W,Lt);ae<=0||At.push([Math.min(ae/Lt*T,T-D*M/2),(1-W)*tt])}At.length<2||($.save(),$.strokeStyle=St,$.lineWidth=D*M,$.lineJoin=$.lineCap="round",$.setLineDash(K.map(L=>L*M)),$.beginPath(),At.forEach((L,W)=>W?$.lineTo(L[0],L[1]):$.moveTo(L[0],L[1])),$.stroke(),$.restore())};I("srgb","rgba(255,255,255,0.7)",1.5,[]),I("p3","rgba(255,255,255,0.4)",1,[3,3])}i=r},Qt=.7,te=c=>{let l=k([Qt,dt(mt(c,"srgb"),Qt),c],"oklch","srgb");return`rgb(${m(l[0]*255,0,255)|0},${m(l[1]*255,0,255)|0},${m(l[2]*255,0,255)|0})`},ee=0,Ue=()=>{let c=C.getBoundingClientRect(),l=Math.max(1,Math.round(c.width)),f=Math.max(1,Math.round(c.height));if(!(l<2)&&!(l===ee&&A.width===l)){ee=l,A.width=l,A.height=f;for(let M=0;M<l;M++)Jt.fillStyle=te(M/(l-1)*360),Jt.fillRect(M,0,1,f)}},Et=()=>{let c=h?kt(h,n):.4,l=S=>`${m(S,0,1)*100}%`,f=(S,F)=>{let T=m(S,0,1);return`calc(${T*100}% + ${(.5-T)*F}px)`};y.style.left=l(c>0?o/c:0),y.style.top=l(1-n),P.style.left=f(r/360,16),vt.style.left=f(a,16),_.setAttribute("aria-valuenow",String(+a.toFixed(2)));let M=Math.round(r);C.setAttribute("aria-valuenow",String(M)),C.setAttribute("aria-valuetext",`${M}\xB0`),x.setAttribute("aria-description",`lightness ${Math.round(n*100)}%, chroma ${+o.toFixed(3)}`),Wt.style.background=`linear-gradient(to right, oklch(${n} ${o} ${r} / 0), oklch(${n} ${o} ${r}))`,y.style.background=`oklch(${n} ${o} ${r})`,vt.style.background=`linear-gradient(oklch(${n} ${o} ${r} / ${a}), oklch(${n} ${o} ${r} / ${a})), var(--tw-dropdown-bg)`,r!==u&&(b=te(r),u=r),P.style.background=b},Q=()=>{if(qt.textContent=Pe([n,o,r],s),s==="hex"){let c=N.querySelector(".tw-color-chan-input");c&&document.activeElement!==c&&(c.value=ft(n,o,r)+(a<.999?G(a):""))}else{let c=Mt([n,o,r],s);p.forEach((l,f)=>{l.el.contains(document.activeElement)||l.set(c[f])})}},qe=()=>{Ue(),$t(),Et()},Je=()=>e(d()),ne=c=>{c&&r!==i&&$t(),Et(),Q()},O=c=>{ne(c),Je()},re=()=>{if(N.replaceChildren(),p=[],s==="hex"){N.classList.add("tw-color-channels--hex");let c=v("div","tw-color-chan"),l=v("input","tw-color-chan-input");l.type="text",l.spellcheck=!1,l.setAttribute("aria-label","Hex color"),ce(l),ie(l),l.addEventListener("change",()=>{let f=l.value.trim();Ct.test(f)&&([n,o,r,a]=wt(f),O(!0))}),l.addEventListener("blur",Q),l.addEventListener("keydown",f=>{f.key==="Enter"&&l.blur()}),c.append(se("span","tw-color-chan-label","HEX"),l),N.append(c)}else{N.classList.remove("tw-color-channels--hex");let c=Mt([n,o,r],s);J[s].forEach((l,f)=>{let M=he({label:l.k,value:c[f],min:l.min,max:l.max,step:l.step},S=>{[n,o,r]=Be([n,o,r],s,f,m(S,l.min,l.max)),O(!0)});M.el.addEventListener("focusout",Q),p.push(M),N.append(M.el)})}Q()},_t=c=>h?kt(h,c):.4,Qe=c=>at(c,x);ot(x,c=>{let[l,f]=Qe(c);n=1-f,o=l*_t(n),O(!1)}),x.addEventListener("keydown",c=>{if(c.key==="Home"||c.key==="End"){c.preventDefault();return}let l=c.shiftKey?10:1,f=c.key==="ArrowRight"?l:c.key==="ArrowLeft"?-l:0,M=c.key==="ArrowUp"?l:c.key==="ArrowDown"?-l:c.key==="PageUp"?10:c.key==="PageDown"?-10:0;if(!f&&!M)return;c.preventDefault();let S=_t(n),F=m((S>0?o/S:0)+f*.01,0,1);n=m(n+M*.01,0,1),o=F*_t(n),O(!1)});let tn=c=>at(c,C)[0]*360;ot(C,c=>{r=tn(c),O(!0)}),C.addEventListener("keydown",c=>{let l=Vt(c,r,1,0,360);l!=null&&(c.preventDefault(),r=m(l,0,360),O(!0))});let en=c=>at(c,_)[0];ot(_,c=>{a=en(c),O(!1)}),_.addEventListener("keydown",c=>{let l=Vt(c,a,.01,0,1);l!=null&&(c.preventDefault(),a=m(l,0,1),O(!1))});let oe=c=>{s=c,R.value=c,re(),$t(),Et()};return R.addEventListener("change",()=>{oe(R.value),t.onMode&&t.onMode()}),re(),{el:E,set:c=>{let l=document.activeElement;l&&E.contains(l)&&l.matches("input")&&l.blur(),[n,o,r,a]=wt(c),ne(!0)},get:()=>d(),mode:()=>s,setMode:c=>{c!==s&&gt.includes(c)&&oe(c)},reflow:qe,swatchCss:()=>`linear-gradient(oklch(${n} ${o} ${r} / ${a}), oklch(${n} ${o} ${r} / ${a})), ${An}`,valueText:()=>It([n,o,r],s)+(a<.999?s==="hex"?G(a):` / ${+a.toFixed(2)}`:"")}}function Fn(t,e){let{root:n,trigger:o,right:r}=ue("tw-color",t.label??"Colour"),a=v("span","tw-trigger-chip tw-color-swatch"),s=v("span","tw-trigger-value");r.append(a,s);let i=v("div","tw-color-pop"),h=()=>{a.style.background=p.swatchCss(),s.textContent=p.valueText()},p=ze({value:t.value,onMode:()=>h()},u=>{h(),e(u)});return i.append(p.el),n.append(i),le(n,o,i,{width:240,fallbackH:340,gap:6,onOpen:p.reflow,onReflow:p.reflow}),h(),{el:n,set:u=>{u!=null&&(p.set(u),h())},get:()=>p.get()}}var Zn=(t,e,n,o)=>o<.999?`oklch(${+t.toFixed(4)} ${+e.toFixed(4)} ${+n.toFixed(2)} / ${+o.toFixed(3)})`:`oklch(${+t.toFixed(4)} ${+e.toFixed(4)} ${+n.toFixed(2)})`;Ot("color",Fn);Ot("colorpicker",ze);export{Gn as a,Bn as b,An as c,Yn as d,wt as e,ze as f,Zn as g};
@@ -0,0 +1 @@
1
+ import{c as a,d as b,e as c,f as d,g as e}from"./chunk-GDMWOXFU.js";import"./chunk-5G6TFQOD.js";import"./chunk-3GZFWFKC.js";export{a as CHECKER,d as createPickerBody,b as isColor,e as oklchStr,c as parseColor};
@@ -1 +1 @@
1
- import{A as an,B as je,C as ln,D as Pt,E as _t,F as cn,G as Ht,H as dn,I as ut,J as pt,K as Ge,L as ft,M as Nt,O as mt,P as Re,Q as un,R as pn,S as fn,T as mn,U as gn,V as ye,W as gt,X as de,Y as se,d as Xn,e as Yn,f as At,g as B,h as Wt,i as Ut,j as Qt,k as Zt,l as ze,m as en,n as tn,o as nn,p as ct,q as xe,r as on,s as sn,t as k,u as U,v as K,w as rn,x as dt,y as Je,z as Ot}from"./chunk-WWCMYF2Q.js";var De={number:()=>import("./heavy-ZZA3NS5O.js"),interval:()=>import("./interval-4KQVZGAX.js"),color:()=>import("./colour-L2QYS74L.js"),gradient:()=>import("./gradient-AHHDJIIU.js"),shadow:()=>import("./shadow-RAXIV6FG.js"),sides:()=>import("./sides-EI7BN5Q6.js"),tabs:()=>import("./tabs-RM7NR6CO.js"),image:()=>import("./image-ZSAP6BIK.js"),fpsgraph:()=>import("./monitor-5CFBIGGT.js"),monitor:()=>import("./monitor-5CFBIGGT.js"),spring:()=>import("./spring-JGHWZBNF.js"),cubicbezier:()=>import("./bezier-KSA2VTVT.js"),motion:()=>Promise.all([import("./bezier-KSA2VTVT.js"),import("./spring-JGHWZBNF.js")]).then(()=>import("./motion-5UMJIBOJ.js")),point:()=>import("./point-4J4HHM2Z.js"),plot:()=>import("./plot-KQGIWQHO.js")},yt={},Vn=e=>se(e)||!De[e]?null:yt[e]||(yt[e]=De[e]().catch(t=>{throw delete yt[e],console.error(`[tweaks] control chunk "${e}" failed to load:`,t),t})),It=(e,t=new Set)=>{for(let s of e)if(s&&(De[s.type]&&t.add(s.type),s.children&&It(s.children,t),s.pages))for(let o of s.pages)It(o.children,t);return t},$e=e=>{let t=[...It(e)].map(Vn).filter(Boolean);return t.length?Promise.all(t):null};var yn=ye('<path class="tw-copy-back" d="m5.5 16.5-.7-.2q-1.5-.6-2.1-2.1-.2-.7-.2-2.7v-2c0-3.3 0-5 1-6s2.7-1 6-1h2c1.4 0 2 0 2.7.2q1.6.5 2.1 2.1l.2.7"/><path class="tw-copy-front" d="M7.5 14.5c0-3.3 0-5 1-6s2.7-1 6-1 5 0 6 1 1 2.7 1 6 0 5-1 6-2.7 1-6 1-5 0-6-1-1-2.7-1-6"/>',"tw-toolbar-btn__copy"),bn=ye('<path d="m5 14 3.5 3.5L19 6.5"/>',"tw-toolbar-btn__check",2.4),hn=ye('<path d="M3 12a9 9 0 1 0 9-9 9 9 0 0 0-7.6 4.2M3.3 3l.2 2q0 2.2.6 2.7t2.7.2l2-.2"/>'),wn=ye('<path d="m17 17 4 4m-2-10a8 8 0 0 0-16 0 8 8 0 0 0 16 0"/>'),jt=e=>ye('<path d="M18 9s-4.4 6-6 6-6-6-6-6"/>',e,2.5),vn=jt("tw-chevron"),En=ye('<path d="M20.2 13.5q1.8.8 1.8 1.5 0 .8-2.7 2l-5 2.2Q13 20 12 20q-.7 0-2.4-.8l-4.9-2.3Q2 16 2 15t1.8-1.5"/><path class="tw-layer-top" d="M9.6 4.8Q11.3 4 12 4t2.4.8l4.9 2.3Q22 8 22 9c0 .7-.9 1.1-2.7 2l-5 2.2Q13 14 12 14q-.7 0-2.4-.8l-4.9-2.3Q2 10 2 9c0-.7.9-1.1 2.7-2z"/>'),kn=ye('<path d="M18 6 6 18m12 0L6 6"/>',"",2.2),Rt=ye('<circle cx="12" cy="12" r="10"/><path d="M12 16v-4m-.25-3.75a.25.25 0 0 0 .5 0 .25.25 0 0 0-.5 0"/>');var We=(e,t,s)=>{let o=U("tw-toolbar-btn"+(e?" "+e:""),t);return o.title=s,o.setAttribute("aria-label",s),o},wt=(e,t,s)=>{let o=We("tw-toolbar-btn--swap",`<span class="tw-toolbar-btn__icons">${yn}${bn}</span>`,"Copy values (\u21E7: changed only)");return o.addEventListener("click",async r=>{if(o.disabled)return;let[c,l]=s(r.shiftKey);if(!l){he("Nothing has changed",e);return}await Gn(c)?(zn(o),he(l>0?`${l} changed value${l===1?"":"s"} copied`:`${t()} values copied`,e)):he("Copy failed",e)}),o},vt=e=>{let t=We("tw-toolbar-btn--reset",hn,"Reset");return t.addEventListener("click",()=>{t.disabled||(Dt(t),e())}),t},zn=e=>{e.classList.add("is-copied"),clearTimeout(e._t),e._t=setTimeout(()=>e.classList.remove("is-copied"),1400)},Dt=e=>{let t=e.querySelector("svg");e._spinSettle||(e._spinSettle=()=>{clearTimeout(e._t),e.classList.remove("is-spinning"),t.style.transition="none",t.style.setProperty("--tw-spin","0deg"),t.getBoundingClientRect(),t.style.transition=""},t.addEventListener("transitionend",o=>{o.propertyName==="transform"&&e.classList.contains("is-spinning")&&performance.now()-e._spinT>250&&e._spinSettle()})),e._spinT=performance.now(),t.style.setProperty("--tw-spin",`${(parseFloat(t.style.getPropertyValue("--tw-spin"))||0)-360}deg`),e.classList.add("is-spinning"),clearTimeout(e._t);let s=()=>{t.getAnimations&&t.getAnimations().length?e._t=setTimeout(s,250):e._spinSettle()};e._t=setTimeout(s,600)},be=null,Ln=0;function he(e,t){be||(be=k("div","tw-toast tw-portal"),be.setAttribute("role","status")),be.isConnected||document.body.appendChild(be),be.textContent=e,Ht(be,t),be.classList.add("is-open"),clearTimeout(Ln),Ln=setTimeout(()=>be.classList.remove("is-open"),1600)}var V=null,bt=0,ht=null,Cn=e=>{e.key==="Escape"&&Ue()},Ue=e=>{e&&ht&&!e.contains(ht)||(clearTimeout(bt),document.removeEventListener("keydown",Cn),V&&V.classList.remove("is-open"))};function Jn(e,t){V||(V=k("div","tw-tip tw-portal"),V.setAttribute("role","tooltip")),V.isConnected||document.body.appendChild(V),clearTimeout(bt),V.textContent=t,Ht(V,e);let s=V.classList.contains("is-open");V.style.visibility="hidden",V.classList.add("is-open"),ln(e,V,{align:"center",prefer:"above",gap:8}),V.style.visibility="",document.addEventListener("keydown",Cn),ht=e,s||requestAnimationFrame(function o(){if(V.classList.contains("is-open")){if(!ht.isConnected)return Ue();requestAnimationFrame(o)}})}function Mn(){V&&(clearTimeout(bt),bt=setTimeout(Ue,80))}var $t=".tw-slider-label, .tw-row-label, .tw-select-label, .tw-trigger-label, .tw-radiogrid-label, .tw-field-label, .tw-folder-title, .tw-fps-label, .tw-plot-label";function Fe(e,t){let s=e.querySelector($t)||e;if(s===e&&e.classList.contains("tw-separator"))return;let o=s.closest("button"),r=o?k("span","tw-hint",Rt):U("tw-hint",Rt),c=()=>Jn(r,t);if(o){r.setAttribute("aria-hidden","true");let l=o.getAttribute("aria-description");o.setAttribute("aria-description",l?`${l}. ${t}`:t)}else r.setAttribute("aria-label",t),r.addEventListener("focus",c),r.addEventListener("blur",Mn),r.addEventListener("keydown",l=>{(l.key==="Enter"||l.key===" ")&&l.stopPropagation()});r.addEventListener("pointerenter",c),r.addEventListener("pointerleave",Mn),r.addEventListener("pointerdown",l=>l.stopPropagation()),r.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation()}),s.appendChild(r)}async function Gn(e){try{return await navigator.clipboard.writeText(e),!0}catch{}let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.top="-9999px",document.body.appendChild(t),t.focus(),t.select();let s=!1;try{s=document.execCommand("copy")}catch{}return document.body.removeChild(t),s}function Pe(e,t,s=0){if(kt(e))return null;let o=Qn(e,t,s);return o&&t&&typeof t=="object"&&(typeof t.render=="function"&&(o.render=t.render),t.disabled!=null&&(o.disabled=t.disabled),t.hint!=null&&(o.hint=String(t.hint))),o}var we=e=>e&&typeof e=="object",Te=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),kt=e=>e==="__proto__"||e==="constructor"||e==="prototype",ve=(e,t)=>e!==t&&!(we(e)&&we(t)&&JSON.stringify(e)===JSON.stringify(t)),Lt=(e,t,s)=>{e.set(s),e.set(t)},xn=e=>Array.isArray(e.options)&&{type:"radiogrid",options:e.options,value:e.value??xe(e.options[0]),cols:e.cols},Wn=(e,...t)=>{let s=(t.length?t:[0]).map(c=>ct(Number.isFinite(+c)?+c:0)),o=e.min??Math.min(...s.map(c=>c[0])),r=e.max??Math.max(...s.map(c=>c[1]));return{min:o,max:r,step:e.step??ze(o,r)}},Ft=(e,t)=>e.label==null?t:String(e.label),Tn=e=>typeof e=="string"&&e.trim()?e.trim().slice(0,12):void 0,Bt=["stiffness","damping","mass","visualDuration","bounce"],Sn={slider:e=>{let t=Wn(e,e.value??e.min??0);return{value:e.value??t.min,...t,soft:e.soft,unit:Tn(e.unit)}},number:e=>({value:e.value??0,min:e.min,max:e.max,step:e.step??1,soft:e.soft,unit:Tn(e.unit)}),checkbox:e=>({value:!!e.value}),radiogrid:xn,segmented:xn,list:e=>Array.isArray(e.options)&&{options:e.options,value:e.value??xe(e.options[0])},text:e=>({value:e.value??"",rows:e.rows,placeholder:e.placeholder}),spring:e=>{let t=we(e.value)?e.value:e,s={stiffness:t.stiffness??300,damping:t.damping??26,mass:t.mass??1};Number.isFinite(+t.visualDuration)&&(s.visualDuration=+t.visualDuration),Number.isFinite(+t.bounce)&&(s.bounce=+t.bounce);let o=e.mode??t.mode;return(o==="time"||o==="physics")&&(s.mode=o),{value:s}},motion:e=>{let t=typeof e.value=="string"||Array.isArray(e.value)?{...e,curve:e.value}:we(e.value)?e.value:e,s=Bt.some(r=>t[r]!=null),o={curve:"ease",duration:300,...s?{}:{visualDuration:.5,bounce:.2}};for(let r of["mode","curve","duration",...Bt])t[r]!=null&&(o[r]=t[r]);return o.mode!=="easing"&&o.mode!=="spring"&&(o.mode=s?"spring":"easing"),{value:o}},point:e=>{if(!Array.isArray(e.components)||!e.components.length)return!1;let t=new Set,s=e.components.map((o,r)=>{let c=String(o.key??((o.label?String(o.label).toLowerCase():"")||`c${r}`)),l=c,u=2;for(;t.has(l);)l=`${c}-${u++}`;return t.add(l),{...o,key:l}});return{components:s,pad:e.pad,invertY:e.invertY,value:Object.fromEntries(s.map(o=>[o.key,o.value??0]))}},buttongroup:e=>({buttons:e.buttons}),separator:()=>({}),tabs:(e,t)=>{if(!e.pages||typeof e.pages!="object"||!Object.keys(e.pages).length)return!1;let s=new Set;return{pages:Object.entries(e.pages).map(([o,r])=>{let c=o.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"tab",l=c,u=2;for(;s.has(l);)l=`${c}-${u++}`;return s.add(l),{key:l,title:o.trim()?o:"Tab",children:Object.entries(r).map(([f,v])=>Pe(f,v,t+1)).filter(Boolean)}})}}},Un=Object.assign(Object.create(null),{list:"options",radiogrid:"options",segmented:"options",point:"components",tabs:"pages"});function Qn(e,t,s=0){if(s>64)return null;let o=At(e),r=(c,l,u=o)=>({type:c,key:e,label:u,...l});if(we(t)&&!Array.isArray(t)&&Te(Sn,t.type)){let c;try{c=Sn[t.type](t,s)}catch(l){return console.error(`[tweaks] malformed "${t.type}" schema value for "${e}" \u2014 control skipped:`,l),null}if(c)return r(String(t.type),c,Ft(t,o));if(Te(t,Un[t.type]))return console.error(`[tweaks] malformed "${t.type}" schema value for "${e}" \u2014 control skipped`),null}else if(we(t)&&!Array.isArray(t)&&typeof t.type=="string"&&(De[t.type]||se(t.type))){let{type:c,label:l,...u}=t;return r(c,u,Ft(t,o))}if(Array.isArray(t)&&Array.isArray(t[0])&&t[0].length===2&&typeof t[0][0]=="number"){let c=Number.isFinite(+t[1])?+t[1]:+t[0][0],l=Number.isFinite(+t[2])?+t[2]:+t[0][1];return r("interval",{value:t[0].map(Number),min:c,max:l,step:t[3]??ze(c,l)})}if(Array.isArray(t)&&t.length<=4&&typeof t[0]=="number"){let c=t[0],[l,u]=ct(c),f=t.length>1?t[1]:l,v=t.length>2?t[2]:u;return r("slider",{value:c,min:f,max:v,step:t[3]??ze(f,v)})}if(typeof t=="number"){let[c,l]=ct(t);return r("slider",{value:t,min:c,max:l,step:ze(c,l)})}return typeof t=="boolean"?r("checkbox",{value:t}):Array.isArray(t)?r("list",{options:t,value:xe(t[0])}):we(t)&&typeof t.action=="function"?r("button",{action:t.action},Ft(t,o)):we(t)&&Array.isArray(t.options)?r("list",{options:t.options,value:t.value??xe(t.options[0])}):Wt(t)?r("color",{value:t}):typeof t=="string"?r("text",{value:t}):we(t)?r("folder",{children:Object.entries(t).filter(([c,l])=>!(c==="render"&&typeof l=="function")&&!((c==="disabled"||c==="hint")&&l!=null)).map(([c,l])=>Pe(c,l,s+1)).filter(Boolean)}):null}var Mt=new Set(["button","fpsgraph","monitor","buttongroup","separator"]),An=e=>({...Object.fromEntries(Bt.map(t=>[t,N(e[t])])),mode:e.mode}),On={slider:e=>({value:N(e.value),min:N(e.min),max:N(e.max),step:N(e.step),soft:Et(e.soft),unit:e.unit}),checkbox:e=>e.options?{type:"radiogrid",options:Qe(e.options),value:e.value,cols:N(e.cols)}:{value:e.checked==="true"},radiogrid:e=>({options:Qe(e.options),value:e.value,cols:N(e.cols)}),list:e=>({options:Qe(e.options),value:e.value}),button:(e,t,s)=>({action:()=>he(`${s} pressed`,t)}),buttongroup:(e,t)=>({buttons:Qe(e.buttons).map(s=>({label:s,action:()=>he(`${s} pressed`,t)}))}),separator:()=>({}),number:e=>({value:N(e.value),min:N(e.min),max:N(e.max),step:N(e.step),unit:e.unit}),text:e=>({value:e.value??"",placeholder:e.placeholder,rows:N(e.rows)}),fpsgraph:e=>({label:e.label??"FPS"}),interval:e=>({value:e.value?e.value.split(",").map(Number):void 0,min:N(e.min),max:N(e.max),step:N(e.step)}),sides:e=>({value:e.value??e,corners:Et(e.corners),unit:e.unit,step:N(e.step),min:N(e.min),max:N(e.max)}),shadow:e=>({value:e.value??{...e,inset:Et(e.inset)}}),spring:An,motion:e=>({...An(e),curve:e.curve&&e.curve.includes(",")?e.curve.split(",").map(Number):e.curve,duration:N(e.duration)}),cubicbezier:e=>({value:e.value?e.value.split(",").map(Number):void 0}),point:e=>{let t=(e.value||"").split(",").map(s=>parseFloat(s));return{components:Qe(e.components||"X,Y").map((s,o)=>({key:s.toLowerCase(),label:s,value:isNaN(t[o])?0:t[o],step:N(e.step),min:N(e.min),max:N(e.max)})),pad:Et(e.pad),invertY:e.invertY==="true"}},plot:e=>({expr:e.expr,xMin:N(e.xmin),xMax:N(e.xmax),yMin:N(e.ymin),yMax:N(e.ymax),samples:N(e.samples),editable:e.editable!=="false"})},N=e=>{if(e==null||e==="")return;let t=+e;return Number.isFinite(t)?t:void 0},Et=e=>e==="true"||e==="",Qe=e=>(e||"").split(",").map(t=>t.trim()).filter(Boolean),Pn=e=>{let t=e.dataset,s=t.tw,o=t.label??At(t.key||s),r=Te(On,s)?On[s](t,e,o):De[s]||se(s)?{...t}:null;return r?Pe("v",{type:s,label:o,...r}):null};var Zn=3,_n=32,Hn=200,Nn=8;function eo(e,t){let s=e.label,{min:o,max:r,step:c}=en(e.min,e.max,e.step);e.soft||([o,r]=Zt(o,r,c));let l=(r-o)/c<=6,u=Number.isFinite(+e.value)?+e.value:o,f=e.soft&&!l?u:B(u,o,r),v=0,T=Ut(c),w=k("div","tw-slider-wrap"),m=k("div","tw-slider"),z=k("div","tw-slider-hashmarks"),P=k("div","tw-slider-fill"),S=k("div","tw-slider-handle"),b=K("span","tw-slider-label",s),E=k("span","tw-slider-value"),F=typeof e.unit=="string"?e.unit.trim():"",et=document.createTextNode(""),ue=F?/^[%°]$/.test(F)?F:" "+F:"";E.append(et),F&&E.append(K("span","tw-slider-unit",ue)),m.append(z,P,S,b,E),w.append(m),m.tabIndex=0,m.setAttribute("role","slider"),m.setAttribute("aria-label",s),m.setAttribute("aria-valuemin",String(o)),m.setAttribute("aria-valuemax",String(r));let X=d=>Qt(d,o,c),Ee=l?Array.from({length:Math.max(0,Math.round((r-o)/c)-1)},(d,O)=>(O+1)*c/(r-o)*100):[];for(let d of Ee){let O=k("div","tw-slider-hashmark");O.style.left=d+"%",z.append(O)}let Q=()=>{let d=B((f-o)/(r-o||1)*100,0,100),O=v?` + ${v.toFixed(1)}px`:"",H=`${d}%${O}`;P.style.width=v?`calc(${H})`:d+"%",S.style.left=`max(5px, calc(${H} - 9px))`;let _=X(f),R=_.toFixed(T);et.data=R,m.setAttribute("aria-valuenow",String(_)),m.setAttribute("aria-valuetext",R+ue);let ne=w.offsetWidth;if(ne){let ce=Math.max(5,d/100*ne+v-9);m.classList.toggle("is-dodge",nn(b,E,ce,3))}};Q();let $=null,tt=1,Y=null,ke=!0,Ke,pe=null,Le=null,nt=`width 0.34s ${Nt}`,y=`left 0.34s ${Nt}, opacity 0.15s, transform 0.2s ${ft}`,W=.2,re=d=>{if(!$)return f;let O=w.offsetWidth||$.width,H=B((d-$.left)/tt/O,0,1);return B(o+H*(r-o),o,r)},_e=d=>{let O=0;d<$.left?O=-Nn*Math.sqrt(Math.min(Math.max(0,$.left-d-_n)/Hn,1)):d>$.right&&(O=Nn*Math.sqrt(Math.min(Math.max(0,d-$.right-_n)/Hn,1))),m.style.width=`calc(100% + ${Math.abs(O)}px)`,m.style.transform=O<0?`translateX(${O}px)`:""},Me=(d,O=!0)=>{d=+d,Number.isFinite(d)&&(f=l?B(X(d),o,r):e.soft?d:B(d,o,r),Q(),O&&t(X(f)))},Ce=Math.max(1,Math.round((r-o)/c)),ot=.2,st=.3,Xe=520,ie=27,Z=d=>(d-o)/c,q=0,j=0,ee=0,ae=!1,fe=null,Se=f,me=0,te=()=>{ee&&cancelAnimationFrame(ee),ee=0,me=0},le=d=>{if(!m.isConnected){te();return}let O=me?Math.min((d-me)/1e3,.05):1/60;me=d;let H=w.offsetWidth||$&&$.width||1,_=Z(B(Se,o,r)),R=B(Math.round(_+ot),0,Ce),ne=ae?R+st*B(_-R,-.5,.5):R;if(Ge&&Ge.matches)q=ne,j=0;else{let ce=O,Ct=1/240;for(;ce>1e-4;){let Oe=Math.min(Ct,ce);ce-=Oe;let Ye=Xe*(ne-q)-ie*j;j+=Ye*Oe,q+=j*Oe,q<0&&(q=0,j=0),q>Ce&&(q=Ce,j=0)}}v=(q-R)*c/(r-o||1)*H,f=B(o+R*c,o,r),Q(),R!==fe&&(fe=R,t(X(f))),!ae&&Math.abs(j)<.004&&Math.abs(q-R)<.004?(q=R,j=0,v=0,Q(),te(),m.classList.remove("is-active")):ee=requestAnimationFrame(le)},G=d=>{q=Z(f),j=0,ae=!0,fe=Math.round(Z(f)),Se=re(d),ee||(ee=requestAnimationFrame(le))};m.addEventListener("pointerdown",d=>{if(!E.classList.contains("is-editing")&&!(d.button!==0||Y)){d.preventDefault(),m.focus({focusVisible:!1}),Le=d.pointerId;try{d.target.setPointerCapture(d.pointerId)}catch{}clearTimeout(Ke),m.style.transition="",Y={x:d.clientX,y:d.clientY},ke=!0,m.classList.add("is-active"),$=w.getBoundingClientRect(),tt=$.width/(w.offsetWidth||$.width),l?(P.style.transition="",S.style.transition="",G(d.clientX)):(P.style.transition=nt,S.style.transition=y,Me(re(d.clientX)))}}),m.addEventListener("pointermove",d=>{if(!(!Y||d.pointerId!==Le)){if(d.buttons===0){ge();return}if(ke&&Math.hypot(d.clientX-Y.x,d.clientY-Y.y)>Zn&&(ke=!1,m.classList.add("is-dragging"),l||(P.style.transition="",S.style.transition="")),!ke)if(_e(d.clientX),l)Se=re(d.clientX);else{let O;if(d.altKey){pe||(pe={x:d.clientX,v:f});let H=w.offsetWidth||$.width;O=B(pe.v+(d.clientX-pe.x)/H*(r-o)*W,o,r)}else pe=null,O=re(d.clientX);Me(O)}d.clientX>=$.left&&d.clientX<=$.right&&(m.style.width="",m.style.transform="")}});let ge=d=>{!Y||d&&d.pointerId!==Le||(l?(ae=!1,m.classList.remove("is-dragging"),ee||(ee=requestAnimationFrame(le))):(Ke=setTimeout(()=>{P.style.transition="",S.style.transition=""},360),m.classList.remove("is-active","is-dragging")),m.style.transition=`width 0.35s ${ft}, transform 0.35s ${ft}`,m.style.width="",m.style.transform="",setTimeout(()=>{m.style.transition=""},360),Y=null,pe=null,Le=null)};m.addEventListener("pointerup",ge),m.addEventListener("pointercancel",ge),m.addEventListener("lostpointercapture",ge),an(m,Q),dt(Q),Je(m,[[window,"resize"]],Q),m.addEventListener("keydown",d=>{if(d.target!==m||Y)return;let O=tn(d,f,c,o,r,(r-o)/10||c*10);O!=null&&(d.preventDefault(),l&&(te(),v=0,m.classList.remove("is-active")),Me(B(O,o,r)))});let He;E.addEventListener("mouseenter",()=>{He=setTimeout(()=>E.classList.add("is-editable"),800)}),E.addEventListener("mouseleave",()=>{clearTimeout(He),E.classList.contains("is-editing")||E.classList.remove("is-editable")}),E.addEventListener("pointerdown",d=>{d.pointerType&&d.pointerType!=="mouse"?(E.classList.add("is-editable"),d.stopPropagation()):E.classList.contains("is-editable")&&d.stopPropagation()});let Ae=()=>{if(E.classList.contains("is-editing"))return;let d=k("input","tw-slider-input");d.type="text",d.inputMode="decimal",je(d),d.value=X(f).toFixed(T),E.classList.add("is-editing"),E.replaceWith(d),d.focus(),d.select();let O=()=>{d.replaceWith(E),E.classList.remove("is-editing","is-editable")},H=()=>{let _=parseFloat(d.value);isNaN(_)||Me(e.soft?_:B(_,o,r)),O()};d.addEventListener("pointerdown",_=>_.stopPropagation()),d.addEventListener("blur",H),d.addEventListener("keydown",_=>{_.key==="Enter"?(d.removeEventListener("blur",H),m.focus(),H()):_.key==="Escape"&&(_.stopPropagation(),d.removeEventListener("blur",H),m.focus(),O())})};return E.addEventListener("click",()=>{E.classList.contains("is-editable")&&Ae()}),m.addEventListener("keydown",d=>{d.key==="Enter"&&d.target===m&&!Y&&(d.preventDefault(),Ae())}),{el:w,set:d=>Me(d,!1),get:()=>X(f)}}function to(e,t){let s=k("div","tw-row"),o=gn([{value:"off",label:"Off"},{value:"on",label:"On"}],e.value?"on":"off",r=>t(r==="on"),e.label);return s.append(K("span","tw-row-label",e.label),o.el),{el:s,set:r=>o.set(r?"on":"off"),get:()=>o.get()==="on"}}function no(e,t){let s=e.options||[],o=Math.min(3,Math.max(2,e.cols||(s.length<=3?s.length:s.length===4?2:3))),r=k("div","tw-radiogrid"),c=k("div","tw-radiogrid-grid");c.style.setProperty("--tw-rg-cols",o),c.setAttribute("role","radiogroup"),c.setAttribute("aria-label",e.label);let l=e.value??xe(s[0]),u=s.map(T=>{let w=fn("tw-radiogrid-btn",T,m=>v(m));return c.append(w),w}),f=()=>pn(u,l),v=(T,w=!0)=>{T!=null&&!u.some(m=>m._twVal===T)||(l=T,f(),w&&t(T))};return c.addEventListener("keydown",T=>{let w=un(u,l);if(w<0)return;let m=mn(T.key,w,u.length,o);m<0||(T.preventDefault(),m!==w&&(v(u[m]._twVal),u[m].focus()))}),f(),r.append(K("span","tw-radiogrid-label",e.label),c),{el:r,set:T=>v(T,!1),get:()=>l}}var oo=/^(?:#[0-9a-f]{3,8}|[a-z]+|(?:oklch|oklab|rgba?|hsla?|hwb|lab|lch|color|var)\([^()]*\))$/i,so=jt("tw-select-chevron");function ro(e,t){let s=e.value,o=e.options.map(b=>({value:xe(b),label:sn(b),color:b&&typeof b=="object"&&typeof b.color=="string"&&oo.test(b.color.trim())?b.color.trim():""})),r=k("div","tw-select"),c=U("tw-select-trigger");c.setAttribute("aria-haspopup","listbox"),c.setAttribute("aria-expanded","false");let l=k("span","tw-select-right"),u=b=>`linear-gradient(${b}, ${b}), var(--tw-checker)`,f=b=>{let E=k("span","tw-option-swatch");return E.style.background=u(b),E},v=k("span","tw-option-swatch"),T=k("span","tw-select-value");l.append(v,T),l.insertAdjacentHTML("beforeend",so),c.append(K("span","tw-select-label",e.label),l);let w=k("div","tw-select-dropdown");w.setAttribute("role","listbox");let m=o.map(b=>{let E=U("tw-select-option");return E.setAttribute("role","option"),b.color&&E.append(f(b.color)),E.append(K("span","tw-option-label",b.label)),E.dataset.value=b.value,E.addEventListener("click",()=>{P(b.value),S.close()}),w.append(E),E});r.append(c,w);let z=()=>{let b=o.find(E=>E.value===s);T.textContent=b?.label??s,v.style.display=b?.color?"":"none",b?.color&&(v.style.background=u(b.color)),m.forEach(E=>{let F=E.dataset.value===String(s);E.dataset.selected=String(F),E.setAttribute("aria-selected",String(F))})},P=(b,E=!0)=>{b!=null&&!o.some(F=>F.value===b)||(s=b,z(),E&&t(b))},S=ut(r,c,w,{width:"match",fallbackH:200,gap:4,onOpen:()=>(m.find(b=>b.dataset.value===String(s))||m[0])?.focus()});return c.addEventListener("keydown",b=>{!S.isOpen()&&(b.key==="ArrowDown"||b.key==="ArrowUp")&&(b.preventDefault(),S.open())}),w.addEventListener("keydown",b=>{let E=m.indexOf(document.activeElement),F=E;if(b.key==="ArrowDown")F=E<0?0:Math.min(m.length-1,E+1);else if(b.key==="ArrowUp")F=E<0?m.length-1:Math.max(0,E-1);else if(b.key==="Home")F=0;else if(b.key==="End")F=m.length-1;else return;b.preventDefault(),m[F]?.focus()}),z(),{el:r,set:b=>P(b,!1),get:()=>s}}function io(e){let t=K("button","tw-button",e.label);return t.addEventListener("click",()=>e.action&&e.action()),gt(t)}function ao(e){let t=k("div","tw-row tw-buttongroup");e.label&&t.append(K("span","tw-row-label",e.label));let s=k("div","tw-buttongroup-btns"),o=Array.isArray(e.buttons)?e.buttons.map(r=>[r.label??"Button",r.action]):Object.entries(e.buttons||{});for(let[r,c]of o){let l=K("button","tw-buttongroup-btn",r);l.addEventListener("click",()=>typeof c=="function"&&c()),s.append(l)}return t.append(s),gt(t)}var lo=()=>gt(k("div","tw-separator"));function co(e,t){let s=f=>f==null?"":typeof f=="object"?on(f):String(f),o=s(e.value),r=e.rows>0,c=k("div",r?"tw-row tw-row-multiline":"tw-row"),l=k(r?"textarea":"input",r?"tw-text tw-textarea":"tw-text");r?l.rows=e.rows:l.type="text",l.value=o,je(l),e.placeholder&&(l.placeholder=e.placeholder),l.addEventListener("input",()=>{o=l.value,t(o)});let u=()=>{let f=l.scrollHeight-l.clientHeight>1;l.classList.toggle("is-clip-top",f&&l.scrollTop>1),l.classList.toggle("is-clip-bottom",f&&l.scrollTop+l.clientHeight<l.scrollHeight-1)};return r&&(l.addEventListener("scroll",u),l.addEventListener("input",u),typeof ResizeObserver=="function"&&new ResizeObserver(u).observe(l)),c.append(K("span","tw-row-label",e.label),l),{el:c,set:f=>{o=s(f),l.value=o,r&&u()},get:()=>o}}function Ze(e){let t=k("div","tw-folder"),s=U("tw-folder-header");s.setAttribute("aria-expanded","true"),s.append(K("span","tw-folder-title",e.label)),s.insertAdjacentHTML("beforeend",vn);let o=k("div","tw-folder-body"),r=k("div","tw-controls");o.append(r),t.append(s,o);let c=l=>Re(t,s,o,l);return s.addEventListener("click",()=>c(!t.classList.contains("is-collapsed"))),{el:t,body:r,setCollapsed:c}}function Be(e,t){let s=se(e.type);if(!s)return null;try{return s(e,t)}catch(o){return console.error("[tweaks] control failed to build:",e&&e.type,o),null}}de("slider",eo);de("checkbox",to);de("radiogrid",no);de("list",ro);de("button",io);de("buttongroup",ao);de("separator",lo);de("text",co);de("folder",Ze);var qe=null;function uo(e,t,s={}){let o=Object.entries(t).filter(([n])=>n!=="_last"||(console.warn('[tweaks] "_last" is reserved (the changed-key channel) \u2014 schema entry skipped'),!1)).map(([n,i])=>Pe(n,i)).filter(Boolean),r={},c=[],l=new Set,u=new Set,f=[],v=!1,T=!1,w=[],m=new Map,z=!1,P=-1,S=n=>{if(!v){if(z){console.warn("[tweaks] call ignored \u2014 the panel could not be built");return}T?n():w.push(n)}},b=null,E=function(n,i){return n==="_last"&&this===r?void 0:i===void 0?null:typeof i=="bigint"?String(i):i},F=!1,et=()=>{let n={};for(let i of c){let a=n;for(let g of i.path.slice(0,-1))a=a[g]||(a[g]={});a[i.key]=i.get()}return JSON.parse(JSON.stringify(n,E))},ue=()=>{try{return JSON.parse(JSON.stringify(r,E))}catch(n){return F||(F=!0,console.warn("[tweaks] a value parked on params can't be serialised \u2014 snapshots carry the controls' values only:",n)),et()}},X=s.persist?`tw:${s.persist===!0?e:s.persist}`:null,Ee=X?`${X}:presets`:null,Q=n=>{try{return JSON.parse(localStorage.getItem(n)||"null")}catch{return null}},$=(n,i)=>{try{localStorage.setItem(n,JSON.stringify(i))}catch{}},tt=X?(()=>{let n=0,i=()=>{n=0,$(X,ue())};return f.push(()=>{n&&(clearTimeout(n),i())}),()=>{clearTimeout(n),n=setTimeout(i,150)}})():()=>{},Y=()=>{u.forEach(n=>{try{n(r,r._last)}catch(i){console.error("[tweaks] listener threw:",i)}}),v||tt()},ke=n=>typeof n=="function"||typeof n=="symbol"||typeof n=="bigint",Ke=(n,i)=>{if(ke(i))throw new TypeError(`a ${typeof i} is not a control value`);n.set(i),n.target[n.key]=n.get()},pe=n=>{Lt(n,n.raw,n.def),n.target[n.key]=n.get()},Le=!1,nt=()=>{if(typeof s.onReset=="function"&&!Le){Le=!0;try{return s.onReset()}finally{Le=!1}}for(let n of c)try{pe(n)}catch(i){console.error(`[tweaks] resetting "${n.path.join(".")}" failed \u2014 control skipped:`,i)}r._last=void 0,Y()},y=k("div","tw-panel");y.dataset.mode="inline",rn(y);let W=k("div","tw-header"),re=U("tw-header-toggle");re.setAttribute("aria-expanded","true");let _e=e,Me=K("span","tw-title",_e);re.append(Me);let Ce=k("div","tw-toolbar"),ot=()=>{let n={};for(let i of c)ve(i.get(),i.def)&&(n[i.path.join(".")]=i.get());return JSON.parse(JSON.stringify(n,E))},st=wt(y,()=>_e,n=>{if(!n)return[JSON.stringify(ue(),null,2),-1];let i=ot();return[JSON.stringify(i,null,2),Object.keys(i).length]}),Xe=vt(nt),ie=null;X&&(ie=We("",En,"Presets"),ie.setAttribute("aria-haspopup","menu"),ie.setAttribute("aria-expanded","false"),Ce.append(ie));let Z=!!s.filter&&(s.toolbar!==!1||(console.warn("[tweaks] opts.filter needs the toolbar (its search button lives there) \u2014 ignored alongside toolbar:false"),!1)),q=Z?We("",wn,"Filter controls"):null,j=Z?k("input","tw-search"):null;Z&&(j.type="text",j.placeholder="Filter\u2026",j.spellcheck=!1,j.setAttribute("aria-label","Filter controls"),je(j),Ce.append(q)),Ce.append(st,Xe),W.append(re),Z&&W.append(j),s.toolbar!==!1&&W.append(Ce);let ee=[st,Xe,ie,q].filter(Boolean);for(let n of ee)n.disabled=!0;let ae=!1,fe=!1;W.addEventListener("click",n=>{fe&&(fe=!1,n.preventDefault(),n.stopPropagation())},!0),re.addEventListener("click",()=>{Re(y,re,Se,!y.classList.contains("is-collapsed")),y.dataset.mode==="floating"&&setTimeout(()=>{y.dataset.mode==="floating"&&y.isConnected&&(ne(),R())},270)});let Se=k("div","tw-body"),me=k("div","tw-controls");Se.append(me),y.append(W,Se);let te=Pt(s.theme);_t(y,te),y._twTheme=te;let le=s.draggable!==!1,G=8,ge=28,He=()=>({maxX:Math.max(G,window.innerWidth-y.offsetWidth-G),maxY:Math.max(G,window.innerHeight-y.offsetHeight-G)}),Ae=X?`${X}:pos`:null,d=(le||s.floating)&&Ae?Q(Ae):null,O=d||(typeof s.floating=="object"?s.floating:null)||{x:16,y:16},H=+O.x||16,_=+O.y||16,R=()=>{y.style.left=H+"px",y.style.top=_+"px"},ne=()=>{let{maxX:n,maxY:i}=He();H=B(H,G,n),_=B(_,G,i)};(le||s.floating)&&(s.floating||d)&&(y.dataset.mode="floating",ne(),R(),requestAnimationFrame(()=>{!v&&y.dataset.mode==="floating"&&y.isConnected&&(ne(),R())}));let ce=n=>{pe(n),r._last=n.key,Y()},Ct=(n,i)=>{let a=n.querySelector(".tw-slider-value")||n.querySelector($t)||n;a.classList.add("tw-resettable"),a.title="Double-click or hold to reset";let g=0,x=0,h=0,C=!1,L=()=>{g&&(clearTimeout(g),g=0,a.classList.remove("tw-reset-holding"))};a.addEventListener("pointerdown",p=>{p.stopPropagation(),C=!1,!(p.pointerType!=="touch"&&p.pointerType!=="pen")&&(x=p.clientX,h=p.clientY,a.classList.add("tw-reset-holding"),g=setTimeout(()=>{g=0,a.classList.remove("tw-reset-holding","is-editable"),C=!0,ce(i)},500))}),a.addEventListener("pointermove",p=>{g&&Math.abs(p.clientX-x)+Math.abs(p.clientY-h)>8&&L()}),a.addEventListener("pointerup",L),a.addEventListener("pointercancel",L),a.addEventListener("pointerleave",L),a.addEventListener("contextmenu",p=>{C&&p.preventDefault()}),a.addEventListener("click",p=>{C&&(p.preventDefault(),p.stopImmediatePropagation(),C=!1)},!0),a.addEventListener("dblclick",p=>{a===n&&p.target.closest&&p.target.closest("input, textarea")||(p.preventDefault(),p.stopPropagation(),ce(i))}),a.classList.contains("tw-slider-value")&&n.addEventListener("dblclick",p=>{let A=p.target;!A.classList||!A.classList.contains("tw-slider-input")||(p.preventDefault(),p.stopPropagation(),A.blur(),ce(i))}),n.addEventListener("keydown",p=>{!p.altKey||p.metaKey||p.ctrlKey||p.key!=="Backspace"&&p.key!=="Delete"||(p.preventDefault(),p.stopPropagation(),p.target.classList&&p.target.classList.contains("tw-slider-input")&&p.target.blur(),ce(i))})},Oe=[],Ye=(n,i)=>{i.hint&&Fe(n,i.hint),(i.render||i.disabled!=null)&&Oe.push({node:n,m:i})},xt=[],Tt=[],rt=[],it=[],Dn=n=>{typeof n.destroy=="function"&&f.push(n.destroy)},St=(n,i,a,g=[],x=null)=>{for(let h of i){if(h.type==="tabs"){let p={};l.add(p),a[h.key]=p;let A=se("tabs"),M=A&&A(h);if(!M)continue;it.push({path:[...g,h.key],ctrl:M,pageKeys:h.pages.map(I=>I.key)}),h.pages.forEach((I,J)=>{let oe={};l.add(oe),p[I.key]=oe,St(M.bodies[J],I.children,oe,[...g,h.key,I.key])}),Ye(M.el,h),n.append(M.el);continue}if(h.type==="folder"){let p={};l.add(p),a[h.key]=p;let A=Ze(h);rt.push({path:[...g,h.key],el:A.el,setCollapsed:A.setCollapsed});let M=Z?{el:A.el,label:h.label,body:A.body}:null;M&&Tt.push(M),St(A.body,h.children,p,[...g,h.key],M),Ye(A.el,h),n.append(A.el);continue}let C=!Mt.has(h.type),L=Be(h,C?p=>{ve(a[h.key],p)&&(a[h.key]=p,r._last=h.key,Y())}:()=>{});if(L){if(Dn(L),C){let p=L.get();Te(a,h.key)&&L.set(a[h.key]),a[h.key]=L.get();let A={target:a,key:h.key,set:L.set,get:L.get,raw:h.value,def:p,path:[...g,h.key]};c.push(A),Ct(L.el,A)}Ye(L.el,h),Z&&h.type!=="separator"&&xt.push({el:L.el,label:h.label,folder:x}),n.append(L.el)}}};if(Z){let n=a=>{let g=a.trim().toLowerCase(),x=!1,h=(C,L)=>{!L&&C.classList.contains("tw-filter-hidden")&&(x=!0),C.classList.toggle("tw-filter-hidden",L)};if(!g)xt.forEach(C=>h(C.el,!1)),Tt.forEach(C=>h(C.el,!1));else{for(let C of xt){let L=C.folder&&pt(C.folder.label,g);h(C.el,!(pt(C.label,g)||L))}for(let C of Tt.slice().reverse()){let L=[...C.body.children].some(p=>!p.classList.contains("tw-filter-hidden"));h(C.el,!(pt(C.label,g)||L))}}x&&Ot()},i=()=>{y.classList.remove("is-searching"),j.value="",n("")};q.addEventListener("click",()=>{q.disabled||(y.classList.toggle("is-searching")?(j.focus(),j.select()):i())}),j.addEventListener("input",()=>n(j.value)),j.addEventListener("keydown",a=>{a.key==="Escape"&&(i(),q.focus())})}let $n=(n,i)=>i.reduce((a,g)=>a?.[g],n),Fn=new Set(o.map(n=>n.key)),at=(n,i=!0)=>{if(!(!n||typeof n!="object")){for(let a of c){let g=$n(n,a.path);if(g!==void 0)try{Ke(a,g)}catch(x){console.error(`[tweaks] restoring "${a.path.join(".")}" failed \u2014 value skipped:`,x)}}for(let a of Object.keys(n))if(!Fn.has(a)&&a!=="_last"&&Te(r,a)&&!kt(a)&&!ke(n[a]))try{r[a]=n[a]}catch(g){console.error(`[tweaks] restoring "${a}" failed \u2014 value skipped:`,g)}r._last=void 0,i&&Y()}},Ne=()=>{let n=Ee?Q(Ee):null;return Object.assign(Object.create(null),n&&typeof n=="object"?n:{})},Kt=n=>{let i=Ne();i[n]=ue(),$(Ee,i)},Xt=n=>{let i=Ne();i[n]&&at(i[n])},Yt=n=>{let i=Ne();delete i[n],$(Ee,i)},lt=n=>n.map(i=>String(i).replace(/~/g,"~1").replace(/\./g,"~0")).join("."),Bn=()=>{let n={};if(rt.length){let i={};for(let a of rt)i[lt(a.path)]=a.el.classList.contains("is-collapsed");n.folders=i}if(it.length){let i={};for(let a of it)i[lt(a.path)]=a.pageKeys[a.ctrl.active()]??null;n.tabs=i}return n},qn=n=>{if(!(!n||typeof n!="object")){if(n.folders)for(let i of rt){let a=n.folders[lt(i.path)];typeof a=="boolean"&&i.setCollapsed(a)}if(n.tabs)for(let i of it){let a=i.pageKeys.indexOf(n.tabs[lt(i.path)]);a>=0&&a!==i.ctrl.active()&&i.ctrl.activate(a)}}};if(le||s.floating){if(le){y.dataset.draggable="true";let M=k("span","tw-grabber");M.setAttribute("aria-hidden","true"),W.prepend(M)}let n=()=>{if(y.dataset.mode==="floating")return;let M=y.getBoundingClientRect();if(H=M.left,_=M.top,y.parentNode&&(b=k("span","tw-lift-slot"),b.style.width=M.width+"px",b.style.height=M.height+"px",b.setAttribute("aria-hidden","true"),y.before(b)),cn(y,y),document.body.appendChild(y),y.dataset.mode="floating",R(),b&&typeof MutationObserver=="function"){let I=new MutationObserver(()=>{b&&!b.isConnected&&(I.disconnect(),b=null,y.remove())});I.observe(document.documentElement,{childList:!0,subtree:!0}),f.push(()=>I.disconnect())}},i=()=>{qe&&qe!==y&&(qe.style.zIndex=""),y.style.zIndex="99991",qe=y},a=null,g=0,x=0,h=0,C=0,L=M=>{for(let[I,J]of[["pointermove",p],["pointerup",A],["pointercancel",A]])M?document.addEventListener(I,J,!0):document.removeEventListener(I,J,!0)};le&&W.addEventListener("pointerdown",M=>{if(!(M.button!==0||a!==null||M.target.closest(".tw-toolbar, input, textarea, select"))&&(a=M.pointerId,g=M.clientX,x=M.clientY,ae=!1,L(!0),y.classList.add("is-grabbing"),y.style.transition)){let I=getComputedStyle(y);H=parseFloat(I.left)||H,_=parseFloat(I.top)||_,y.style.transition="",R()}});let p=M=>{if(M.pointerId!==a)return;if(M.buttons===0){A(M);return}let I=M.clientX-g,J=M.clientY-x;if(!ae){if(Math.abs(I)+Math.abs(J)<4)return;ae=!0,n(),i(),h=H,C=_;try{W.setPointerCapture(a)}catch{}y.classList.add("is-dragging")}let{maxX:oe,maxY:D}=He();H=B(h+I,G,oe),_=B(C+J,G,D),R()},A=M=>{if(M.pointerId===a){try{W.releasePointerCapture(a)}catch{}if(a=null,L(!1),fe=ae,fe&&setTimeout(()=>{fe=!1},0),ae){let{maxX:I,maxY:J}=He();H<=G+ge?H=G:H>=I-ge&&(H=I),_<=G+ge?_=G:_>=J-ge&&(_=J),Ge.matches||(y.style.transition="left 0.32s var(--tw-ease-spring), top 0.32s var(--tw-ease-spring)",setTimeout(()=>{y.style.transition=""},340)),R(),Ae&&$(Ae,{x:H,y:_})}y.classList.remove("is-dragging","is-grabbing")}};W.addEventListener("lostpointercapture",A),f.push(()=>L(!1))}let Kn=()=>{(le||s.floating)&&(y.dataset.mode==="floating"&&(ne(),R()),f.push(Je(y,[[window,"resize"]],()=>{y.dataset.mode==="floating"&&(ne(),R())})))};if(ie){let n=k("div","tw-presets-menu"),i=k("div","tw-presets-save"),a=k("input","tw-presets-input");a.type="text",a.placeholder="Preset name\u2026",a.spellcheck=!1,a.setAttribute("aria-label","New preset name"),je(a);let g=K("button","tw-presets-savebtn","Save");i.append(a,g);let x=k("div","tw-presets-list");n.append(i,x);let h=()=>{let p=Ne(),A=Object.keys(p);if(x.replaceChildren(),!A.length)return x.append(K("div","tw-presets-empty","No presets yet"));for(let M of A){let I=k("div","tw-presets-row"),J=K("button","tw-presets-load",M);J.addEventListener("click",()=>{Xt(M),L.close(),he(`Loaded \u201C${M}\u201D`,y)});let oe=U("tw-presets-del",kn);oe.setAttribute("aria-label",`Delete preset ${M}`),oe.addEventListener("click",D=>{D.stopPropagation(),Yt(M),h()}),I.append(J,oe),x.append(I)}},C=()=>{let p=a.value.trim();if(!p){a.focus();return}Kt(p),a.value="",h(),he(`Saved \u201C${p}\u201D`,y)},L=ut(ie,ie,n,{width:208,fallbackH:160,gap:6,align:"end",onOpen:()=>{h(),a.focus()}});g.addEventListener("click",C),a.addEventListener("keydown",p=>{p.key==="Enter"&&C()})}if(s.onEditStart||s.onEditEnd){let n=".tw-slider, .tw-num-grab, .tw-pad, .tw-wg-area, .tw-wg-hue, .tw-wg-alpha, .tw-bezier-handle, .tw-gradient-bar, .tw-gradient-stop",i=!1,a=()=>{document.removeEventListener("pointerup",a,!0),document.removeEventListener("pointercancel",a,!0),i&&(i=!1,s.onEditEnd&&s.onEditEnd())},g=x=>{i||!x.target.closest(n)||(i=!0,s.onEditStart&&s.onEditStart(),document.addEventListener("pointerup",a,!0),document.addEventListener("pointercancel",a,!0))};y.addEventListener("pointerdown",g),y._twEditPointer=g,f.push(a)}let Ve=s.undo?(()=>{let i=[],a=0,g=!1,x=0,h=()=>{x=0;let D=ue();JSON.stringify(D)!==JSON.stringify(i[a])&&(i=i.slice(0,a+1),i.push(D),i.length>200&&(i=i.slice(i.length-200)),a=i.length-1)},C=()=>{g||(clearTimeout(x),x=setTimeout(h,350))},L=()=>{x&&(clearTimeout(x),h())};u.add(C);let p=D=>{g=!0,at(i[D]),g=!1,a=D},A=()=>{L(),a>0&&p(a-1)},M=()=>{L(),a<i.length-1&&p(a+1)},I=()=>y.matches(":hover")||y.contains(document.activeElement),J=D=>!!(D&&D.matches&&(D.matches("input, textarea")||D.isContentEditable)),oe=D=>{if(!I()||!(D.metaKey||D.ctrlKey)||J(D.target))return;let Gt=D.key.toLowerCase();Gt==="z"?(D.preventDefault(),D.shiftKey?M():A()):Gt==="y"&&(D.preventDefault(),M())};return{undo:A,redo:M,arm:()=>{i=[ue()],a=0,f.push(Je(y,[[document,"keydown"]],oe))}}})():null,Vt=()=>{if(!v){if(P=f.length,St(me,o,r),Oe.length){let n=new Map;for(let g of c)n.has(g.key)||n.set(g.key,g);let i=g=>{let x=n.get(g);return x?x.target[x.key]:r[g]},a=()=>{let g=!1;for(let{node:x,m:h}of Oe)try{if(h.render){let C=!h.render(i);!C&&x.classList.contains("tw-cond-hidden")&&(g=!0),x.classList.toggle("tw-cond-hidden",C)}if(h.disabled!=null){let C=typeof h.disabled=="function"?h.disabled(i):h.disabled;mt(x,!!C)}}catch{}g&&Ot()};u.add(a),a()}if(X&&at(Q(X)),!v){Ve?.arm(),Kn(),T=!0;for(let n of w.splice(0)){if(v)break;try{n()}catch(i){console.error("[tweaks] a call queued before ready failed:",i)}}m.clear();for(let n of ee)n.disabled=!1}}},zt=(n,i)=>{if(String(n).split(".").some(kt))return console.warn(`[tweaks] set("${n}") ignored \u2014 reserved key`),!1;let a=String(n).split("."),g;if(a.length>1){let L=r;for(let p=0;p<a.length-1&&L;p++)L=L[a[p]],l.has(L)||(L=null);if(g=L&&c.find(p=>p.target===L&&p.key===a[a.length-1]),!g)return console.warn(`[tweaks] set("${n}") \u2014 no control at that path`),!1}else{let L=c.filter(A=>A.key===n),p=L.find(A=>A.target===r);if(!p&&L.length>1)return console.warn(`[tweaks] set("${n}") is ambiguous \u2014 ${L.length} controls share that key; use a dotted path (e.g. "${L[0].path.join(".")}")`),!1;g=p||L[0]}let x=g?g.target:r,h=g?g.key:n,C=x[h];if(g&&ke(i))return console.warn(`[tweaks] set("${n}") ignored \u2014 a ${typeof i} is not a control value`),!1;if(g)try{Ke(g,i)}catch(L){return console.error(`[tweaks] set("${n}") failed \u2014 value skipped:`,L),!1}else{if(l.has(r[n]))return console.warn(`[tweaks] set("${n}") ignored \u2014 it's a folder/tabs group; set its children instead`),!1;r[n]=i}return ve(C,x[h])?(r._last=h,!0):!1},Ie={el:y,params:r,on(n){return v?()=>{}:(u.add(n),()=>u.delete(n))},set(n,i){let a=String(n);S(()=>{zt(a,i)&&Y()})},setMany(n){if(n==null||typeof n!="object")return;let i=Object.entries(n);S(()=>{let a=!1;for(let[g,x]of i)try{zt(g,x)&&(a=!0)}catch(h){console.error(`[tweaks] setMany("${g}") failed \u2014 key skipped:`,h)}a&&Y()})},reset(){T&&!v&&Dt(Xe),S(nt)},toJSON(){return v?{values:{},ui:{}}:{values:ue(),ui:Bn()}},changes(){return v?{}:ot()},fromJSON(n){if(!n||typeof n!="object")return;let i=n.values&&typeof n.values=="object"?{...n.values}:n.values,a=n.ui&&typeof n.ui=="object"?{...n.ui}:n.ui;S(()=>{i&&at(i),qn(a)})},setName(n){v||(_e=String(n),Me.textContent=_e)},setTheme(n){if(!v){if(te)for(let i in te)y.style.removeProperty(i);te=Pt(n),y._twTheme=te,_t(y,te),window.dispatchEvent(new Event("tw-retheme"))}},savePreset:n=>v||z||!Ee||!n?!1:(T||m.set(String(n),"save"),S(()=>Kt(n)),!0),loadPreset:n=>{let i=m.get(String(n));return v||z||i==="delete"||!(i==="save"||Ne()[n])?!1:(S(()=>Xt(n)),!0)},deletePreset:n=>{Ee&&(T||m.set(String(n),"delete"),S(()=>Yt(n)))},presets:()=>v?[]:Object.keys(Ne()),undo:()=>{Ve&&S(Ve.undo)},redo:()=>{Ve&&S(Ve.redo)},destroy(){if(!v){v=!0,dn(y),Ue(y);for(let n of f.splice(0))try{n()}catch{}u.clear(),b&&(b.remove(),b=null),qe===y&&(qe=null),y.dataset.twDestroyed="",y.remove()}}},Jt=$e(o);if(Jt){let n=i=>{if(z=!0,w.length=0,P>=0)for(let a of f.splice(P))try{a()}catch{}for(let a of me.children)a.dataset.twDestroyed="";throw u.clear(),c.length=0,me.replaceChildren(),v||console.warn(`[tweaks] "${e}": the panel could not be built \u2014 ${P>=0?"the build threw":"its lazy controls failed to load"}; the API is inert`),i};Ie.ready=y.ready=Jt.then(Vt).then(()=>Ie,n),Ie.ready.catch(()=>{})}else Vt(),Ie.ready=y.ready=Promise.resolve(Ie);return Ie}var po=(e,t)=>{e.dataset.value=t==null?"":Array.isArray(t)?t.join(","):typeof t=="object"?Object.values(t).join(","):String(t)},fo=(e,t,s)=>{po(e,s),e.dispatchEvent(new CustomEvent("tw:change",{bubbles:!0,detail:{key:t,value:s}}))},qt=(e,t)=>[...typeof e.matches=="function"&&e.matches(t)?[e]:[],...e.querySelectorAll(t)];async function In(e=document){qt(e,'.tw-panel[data-mode="inline"]:not([data-tw-panel-bound])').forEach(o=>{let r=o.querySelector(":scope > .tw-header"),c=o.querySelector(":scope > .tw-controls");if(!r||!c)return;o.setAttribute("data-tw-panel-bound","");let l=k("div","tw-body");o.insertBefore(l,c),l.append(c);let u=r.querySelector(".tw-header-toggle"),f=r.querySelector(".tw-title");if(!u&&f&&(u=U("tw-header-toggle"),f.replaceWith(u),u.append(f)),!!u&&(u.setAttribute("aria-expanded","true"),u.addEventListener("click",()=>Re(o,u,l,!o.classList.contains("is-collapsed"))),!r.querySelector(".tw-toolbar"))){let v=f&&f.textContent||"Panel",T=()=>[...o.querySelectorAll("[data-tw]")].map(P=>P._tw).filter(P=>P&&P.ctrl.get()!==void 0),w=()=>{let P=Object.create(null);for(let S of T()){let b=S.key,E=2;for(;Te(P,b);)b=`${S.key}-${E++}`;P[b]=S.ctrl.get()}return JSON.stringify(P,null,2)},m=()=>{for(let P of T())P.reset()},z=k("div","tw-toolbar");z.append(wt(o,()=>v,()=>[w(),-1]),vt(m)),r.append(z)}}),qt(e,'[data-tw="folder"]:not([data-tw-bound])').forEach(o=>{o.setAttribute("data-tw-bound","");let r=Ze({label:o.dataset.label||"Folder"});[...o.children].forEach(c=>r.body.append(c)),o.append(r.el)});let t=qt(e,"[data-tw]:not([data-tw-bound])").map(o=>({host:o,meta:Pn(o)})).filter(o=>o.meta);t.forEach(({host:o})=>o.setAttribute("data-tw-bound",""));let s=$e(t.map(o=>o.meta));s&&await s.catch(()=>{});for(let{host:o,meta:r}of t){let c=o.dataset.key||r.label,l,u=w=>{ve(l,w)&&(l=w,fo(o,c,w))},f=Be(r,u);if(!f)continue;o.closest(".tw-panel, .tw-portal")||o.classList.add("tw-portal"),o.append(f.el),o.dataset.hint&&Fe(f.el,o.dataset.hint);let v=f.get();l=v;let T={...f,set:w=>{f.set(w),u(f.get())}};o._tw={ctrl:T,raw:r.value,def:v,key:c,host:o,reset:()=>{Lt(f,r.value,v),u(f.get())}}}}if(typeof document<"u"){let e=()=>In(document);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):e()}var jn=e=>k("div",`${e} tw-standalone tw-portal`),Rn=(e,t,s)=>{let o=$e(e);if(!o)return t(),Promise.resolve(s);let r=o.then(t).then(()=>s);return r.catch(()=>{}),r};function mo(e,t,s={}){let o=s.key??"value",r=Pe(o,t);if(!r||r.type==="folder"||r.type==="tabs")throw new TypeError(`[tweaks] mountControl: "${o}" is not a single-control schema value`);s.label!=null&&(r.label=String(s.label));let c=!Mt.has(r.type),l=jn("tw-control");e.append(l);let u=null,f=!1,v=r.value,T,w=!1,m=S=>{ve(v,S)&&(v=S,s.onChange&&s.onChange(S,o))},z=()=>{if(f||(u=Be(r,c?m:()=>{}),!u))return;r.hint&&Fe(u.el,r.hint);let S=()=>{};try{r.render&&!r.render(S)&&u.el.classList.add("tw-cond-hidden")}catch{}try{(typeof r.disabled=="function"?r.disabled(S):r.disabled)&&mt(u.el,!0)}catch{}l.append(u.el),c&&(v=u.get(),w&&(u.set(T),m(u.get())))},P={el:l,set:S=>{f||!c||(u?(u.set(S),m(u.get())):(T=S,w=!0))},get:()=>c?u?u.get():w?T:r.value:void 0,destroy:()=>{f=!0,u&&typeof u.destroy=="function"&&u.destroy(),l.dataset.twDestroyed="",l.remove()},ready:null};return P.ready=Rn([r],z,P),P}function go(e={}){let t=jn("tw-color-picker"),s=null,o=!1,r=e.value,c,l=!1,u=null,f=w=>{ve(r,w)&&(r=w,e.onChange&&e.onChange(w))},v=()=>{if(o)return;let w=se("colorpicker");w&&(s=w({value:e.value,mode:e.mode},f),r=s.get(),t.append(s.el),u&&s.setMode(u),l&&(s.set(c),f(s.get())),dt(s.reflow))},T={el:t,set:w=>{o||(s?(s.set(w),f(s.get())):(c=w,l=!0))},get:()=>s?s.get():l?c:e.value,mode:()=>s?s.mode():u||e.mode||"oklch",setMode:w=>{s?s.setMode(w):u=w},reflow:()=>{s&&s.reflow()},destroy:()=>{o=!0,t.remove()},ready:null};return T.ready=Rn([{type:"color"}],v,T),T}export{go as createColorPicker,In as enhance,Yn as gradientCss,Xn as gradientStops,mo as mountControl,uo as tweaks};
1
+ import{A as Ht,B as un,C as De,D as pn,E as It,F as Rt,G as fn,H as jt,I as mn,J as gt,K as yt,L as Ze,M as bt,N as Dt,P as ht,Q as $e,R as gn,S as yn,T as bn,U as hn,V as wn,W as we,X as wt,Y as pe,Z as re,d as Jn,e as Gn,f as Nt,g as F,h as ue,i as en,j as tn,k as nn,l as on,m as Ue,n as sn,o as rn,p as an,q as ft,r as Te,s as ln,t as cn,u as L,v as Q,w as X,x as dn,y as mt,z as Qe}from"./chunk-3GZFWFKC.js";var Fe={number:()=>import("./heavy-LD64N5S4.js"),interval:()=>import("./interval-VFQ2O75Q.js"),color:()=>import("./colour-G6UZ5HIL.js"),gradient:()=>import("./gradient-RKPRTDSQ.js"),shadow:()=>import("./shadow-54LEQGQ6.js"),sides:()=>import("./sides-WJF2NEGM.js"),tabs:()=>import("./tabs-C45GWZYF.js"),image:()=>import("./image-TFIUSCCY.js"),fpsgraph:()=>import("./monitor-EAU6GD6P.js"),monitor:()=>import("./monitor-EAU6GD6P.js"),spring:()=>import("./spring-YHAPWWTF.js"),cubicbezier:()=>import("./bezier-EH6GR3RN.js"),motion:()=>Promise.all([import("./bezier-EH6GR3RN.js"),import("./spring-YHAPWWTF.js")]).then(()=>import("./motion-FUAKWKPW.js")),point:()=>import("./point-UF7RGMGJ.js"),plot:()=>import("./plot-AMSWXKO7.js")},vt={},Un=e=>re(e)||!Fe[e]?null:vt[e]||(vt[e]=Fe[e]().catch(t=>{throw delete vt[e],console.error(`[tweaks] control chunk "${e}" failed to load:`,t),t})),$t=(e,t=new Set)=>{for(let s of e)if(s&&(Fe[s.type]&&t.add(s.type),s.children&&$t(s.children,t),s.pages))for(let o of s.pages)$t(o.children,t);return t},Be=e=>{let t=[...$t(e)].map(Un).filter(Boolean);return t.length?Promise.all(t):null};var vn=we('<path class="tw-copy-back" d="m5.5 16.5-.7-.2q-1.5-.6-2.1-2.1-.2-.7-.2-2.7v-2c0-3.3 0-5 1-6s2.7-1 6-1h2c1.4 0 2 0 2.7.2q1.6.5 2.1 2.1l.2.7"/><path class="tw-copy-front" d="M7.5 14.5c0-3.3 0-5 1-6s2.7-1 6-1 5 0 6 1 1 2.7 1 6 0 5-1 6-2.7 1-6 1-5 0-6-1-1-2.7-1-6"/>',"tw-toolbar-btn__copy"),En=we('<path d="m5 14 3.5 3.5L19 6.5"/>',"tw-toolbar-btn__check",2.4),kn=we('<path d="M3 12a9 9 0 1 0 9-9 9 9 0 0 0-7.6 4.2M3.3 3l.2 2q0 2.2.6 2.7t2.7.2l2-.2"/>'),Ln=we('<path d="m17 17 4 4m-2-10a8 8 0 0 0-16 0 8 8 0 0 0 16 0"/>'),Ft=e=>we('<path d="M18 9s-4.4 6-6 6-6-6-6-6"/>',e,2.5),Mn=Ft("tw-chevron"),xn=we('<path d="M20.2 13.5q1.8.8 1.8 1.5 0 .8-2.7 2l-5 2.2Q13 20 12 20q-.7 0-2.4-.8l-4.9-2.3Q2 16 2 15t1.8-1.5"/><path class="tw-layer-top" d="M9.6 4.8Q11.3 4 12 4t2.4.8l4.9 2.3Q22 8 22 9c0 .7-.9 1.1-2.7 2l-5 2.2Q13 14 12 14q-.7 0-2.4-.8l-4.9-2.3Q2 10 2 9c0-.7.9-1.1 2.7-2z"/>'),Cn=we('<path d="M18 6 6 18m12 0L6 6"/>',"",2.2),Bt=we('<circle cx="12" cy="12" r="10"/><path d="M12 16v-4m-.25-3.75a.25.25 0 0 0 .5 0 .25.25 0 0 0-.5 0"/>');var et=(e,t,s)=>{let o=Q("tw-toolbar-btn"+(e?" "+e:""),t);return o.title=s,o.setAttribute("aria-label",s),o},Lt=(e,t,s)=>{let o=et("tw-toolbar-btn--swap",`<span class="tw-toolbar-btn__icons">${vn}${En}</span>`,"Copy values (\u21E7: changed only)");return o.addEventListener("click",async r=>{if(o.disabled)return;let[c,l]=s(r.shiftKey);if(!l){Ee("Nothing has changed",e);return}await eo(c)?(Qn(o),Ee(l>0?`${l} changed value${l===1?"":"s"} copied`:`${t()} values copied`,e)):Ee("Copy failed",e)}),o},Mt=e=>{let t=et("tw-toolbar-btn--reset",kn,"Reset");return t.addEventListener("click",()=>{t.disabled||(qt(t),e())}),t},Qn=e=>{e.classList.add("is-copied"),clearTimeout(e._t),e._t=setTimeout(()=>e.classList.remove("is-copied"),1400)},qt=e=>{let t=e.querySelector("svg");e._spinSettle||(e._spinSettle=()=>{clearTimeout(e._t),e.classList.remove("is-spinning"),t.style.transition="none",t.style.setProperty("--tw-spin","0deg"),t.getBoundingClientRect(),t.style.transition=""},t.addEventListener("transitionend",o=>{o.propertyName==="transform"&&e.classList.contains("is-spinning")&&performance.now()-e._spinT>250&&e._spinSettle()})),e._spinT=performance.now(),t.style.setProperty("--tw-spin",`${(parseFloat(t.style.getPropertyValue("--tw-spin"))||0)-360}deg`),e.classList.add("is-spinning"),clearTimeout(e._t);let s=()=>{t.getAnimations&&t.getAnimations().length?e._t=setTimeout(s,250):e._spinSettle()};e._t=setTimeout(s,600)},ve=null,Tn=0;function Ee(e,t){ve||(ve=L("div","tw-toast tw-portal"),ve.setAttribute("role","status")),ve.isConnected||document.body.appendChild(ve),ve.textContent=e,jt(ve,t),ve.classList.add("is-open"),clearTimeout(Tn),Tn=setTimeout(()=>ve.classList.remove("is-open"),1600)}var V=null,Et=0,kt=null,An=e=>{e.key==="Escape"&&tt()},tt=e=>{e&&kt&&!e.contains(kt)||(clearTimeout(Et),document.removeEventListener("keydown",An),V&&V.classList.remove("is-open"))};function Zn(e,t){V||(V=L("div","tw-tip tw-portal"),V.setAttribute("role","tooltip")),V.isConnected||document.body.appendChild(V),clearTimeout(Et),V.textContent=t,jt(V,e);let s=V.classList.contains("is-open");V.style.visibility="hidden",V.classList.add("is-open"),pn(e,V,{align:"center",prefer:"above",gap:8}),V.style.visibility="",document.addEventListener("keydown",An),kt=e,s||requestAnimationFrame(function o(){if(V.classList.contains("is-open")){if(!kt.isConnected)return tt();requestAnimationFrame(o)}})}function Sn(){V&&(clearTimeout(Et),Et=setTimeout(tt,80))}var Kt=".tw-slider-label, .tw-row-label, .tw-select-label, .tw-trigger-label, .tw-radiogrid-label, .tw-field-label, .tw-folder-title, .tw-fps-label, .tw-plot-label";function qe(e,t){let s=e.querySelector(Kt)||e;if(s===e&&e.classList.contains("tw-separator"))return;let o=s.closest("button"),r=o?L("span","tw-hint",Bt):Q("tw-hint",Bt),c=()=>Zn(r,t);if(o){r.setAttribute("aria-hidden","true");let l=o.getAttribute("aria-description");o.setAttribute("aria-description",l?`${l}. ${t}`:t)}else r.setAttribute("aria-label",t),r.addEventListener("focus",c),r.addEventListener("blur",Sn),r.addEventListener("keydown",l=>{(l.key==="Enter"||l.key===" ")&&l.stopPropagation()});r.addEventListener("pointerenter",c),r.addEventListener("pointerleave",Sn),r.addEventListener("pointerdown",l=>l.stopPropagation()),r.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation()}),s.appendChild(r)}async function eo(e){try{return await navigator.clipboard.writeText(e),!0}catch{}let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.top="-9999px",document.body.appendChild(t),t.focus(),t.select();let s=!1;try{s=document.execCommand("copy")}catch{}return document.body.removeChild(t),s}function _e(e,t,s=0){if(Ct(e))return null;let o=oo(e,t,s);return o&&t&&typeof t=="object"&&(typeof t.render=="function"&&(o.render=t.render),t.disabled!=null&&(o.disabled=t.disabled),t.hint!=null&&(o.hint=String(t.hint)),t.persist===!1&&(o.persist=!1)),o}var Se=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Ct=e=>e==="__proto__"||e==="constructor"||e==="prototype",ke=(e,t)=>e!==t&&!(ue(e)&&ue(t)&&JSON.stringify(e)===JSON.stringify(t)),Tt=(e,t,s)=>{e.set(s),e.set(t)},On=e=>Array.isArray(e.options)&&{type:"radiogrid",options:e.options,value:e.value??Te(e.options[0]),cols:e.cols},to=(e,...t)=>{let s=(t.length?t:[0]).map(c=>ft(Number.isFinite(+c)?+c:0)),o=e.min??Math.min(...s.map(c=>c[0])),r=e.max??Math.max(...s.map(c=>c[1]));return{min:o,max:r,step:e.step??Ue(o,r)}},Xt=(e,t)=>e.label==null?t:String(e.label),Pn=e=>typeof e=="function"?e:void 0,_n=e=>typeof e=="string"&&e.trim()?e.trim().slice(0,12):void 0,Yt=["stiffness","damping","mass","visualDuration","bounce"],Nn={slider:e=>{let t=to(e,e.value??e.min??0);return{value:e.value??t.min,...t,soft:e.soft,unit:_n(e.unit),format:Pn(e.format),parse:Pn(e.parse)}},number:e=>({value:e.value??0,min:e.min,max:e.max,step:e.step??1,soft:e.soft,unit:_n(e.unit)}),checkbox:e=>({value:!!e.value}),radiogrid:On,segmented:On,list:e=>Array.isArray(e.options)&&{options:e.options,value:e.value??Te(e.options[0])},text:e=>({value:e.value??"",rows:e.rows,placeholder:e.placeholder}),spring:e=>{let t=ue(e.value)?e.value:e,s={stiffness:t.stiffness??300,damping:t.damping??26,mass:t.mass??1};Number.isFinite(+t.visualDuration)&&(s.visualDuration=+t.visualDuration),Number.isFinite(+t.bounce)&&(s.bounce=+t.bounce);let o=e.mode??t.mode;return(o==="time"||o==="physics")&&(s.mode=o),{value:s}},motion:e=>{let t=typeof e.value=="string"||Array.isArray(e.value)?{...e,curve:e.value}:ue(e.value)?e.value:e,s=Yt.some(r=>t[r]!=null),o={curve:"ease",duration:300,...s?{}:{visualDuration:.5,bounce:.2}};for(let r of["mode","curve","duration",...Yt])t[r]!=null&&(o[r]=t[r]);return o.mode!=="easing"&&o.mode!=="spring"&&(o.mode=s?"spring":"easing"),{value:o}},point:e=>{if(!Array.isArray(e.components)||!e.components.length)return!1;let t=new Set,s=e.components.map((o,r)=>{let c=String(o.key??((o.label?String(o.label).toLowerCase():"")||`c${r}`)),l=c,p=2;for(;t.has(l);)l=`${c}-${p++}`;return t.add(l),{...o,key:l}});return{components:s,pad:e.pad,invertY:e.invertY,value:Object.fromEntries(s.map(o=>[o.key,o.value??0]))}},buttongroup:e=>({buttons:e.buttons}),separator:()=>({}),tabs:(e,t)=>{if(!e.pages||typeof e.pages!="object"||!Object.keys(e.pages).length)return!1;let s=new Set;return{pages:Object.entries(e.pages).map(([o,r])=>{let c=o.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"tab",l=c,p=2;for(;s.has(l);)l=`${c}-${p++}`;return s.add(l),{key:l,title:o.trim()?o:"Tab",children:Object.entries(r).map(([y,M])=>_e(y,M,t+1)).filter(Boolean)}})}}},no=Object.assign(Object.create(null),{list:"options",radiogrid:"options",segmented:"options",point:"components",tabs:"pages"});function oo(e,t,s=0){if(s>64)return null;let o=Nt(e),r=(c,l,p=o)=>({type:c,key:e,label:p,...l});if(ue(t)&&!Array.isArray(t)&&Se(Nn,t.type)){let c;try{c=Nn[t.type](t,s)}catch(l){return console.error(`[tweaks] malformed "${t.type}" schema value for "${e}" \u2014 control skipped:`,l),null}if(c)return r(String(t.type),c,Xt(t,o));if(Se(t,no[t.type]))return console.error(`[tweaks] malformed "${t.type}" schema value for "${e}" \u2014 control skipped`),null}else if(ue(t)&&!Array.isArray(t)&&typeof t.type=="string"&&(Fe[t.type]||re(t.type))){let{type:c,label:l,...p}=t;return r(c,p,Xt(t,o))}if(Array.isArray(t)&&Array.isArray(t[0])&&t[0].length===2&&typeof t[0][0]=="number"){let c=Number.isFinite(+t[1])?+t[1]:+t[0][0],l=Number.isFinite(+t[2])?+t[2]:+t[0][1];return r("interval",{value:t[0].map(Number),min:c,max:l,step:t[3]??Ue(c,l)})}if(Array.isArray(t)&&t.length<=4&&typeof t[0]=="number"){let c=t[0],[l,p]=ft(c),y=t.length>1?t[1]:l,M=t.length>2?t[2]:p;return r("slider",{value:c,min:y,max:M,step:t[3]??Ue(y,M)})}if(typeof t=="number"){let[c,l]=ft(t);return r("slider",{value:t,min:c,max:l,step:Ue(c,l)})}return typeof t=="boolean"?r("checkbox",{value:t}):Array.isArray(t)?r("list",{options:t,value:Te(t[0])}):ue(t)&&typeof t.action=="function"?r("button",{action:t.action},Xt(t,o)):ue(t)&&Array.isArray(t.options)?r("list",{options:t.options,value:t.value??Te(t.options[0])}):en(t)?r("color",{value:t}):typeof t=="string"?r("text",{value:t}):ue(t)?r("folder",{children:Object.entries(t).filter(([c,l])=>!(c==="render"&&typeof l=="function")&&!((c==="disabled"||c==="hint")&&l!=null)).map(([c,l])=>_e(c,l,s+1)).filter(Boolean)}):null}var St=new Set(["button","fpsgraph","monitor","buttongroup","separator"]),Hn=e=>({...Object.fromEntries(Yt.map(t=>[t,N(e[t])])),mode:e.mode}),In={slider:e=>({value:N(e.value),min:N(e.min),max:N(e.max),step:N(e.step),soft:xt(e.soft),unit:e.unit}),checkbox:e=>e.options?{type:"radiogrid",options:nt(e.options),value:e.value,cols:N(e.cols)}:{value:e.checked==="true"},radiogrid:e=>({options:nt(e.options),value:e.value,cols:N(e.cols)}),list:e=>({options:nt(e.options),value:e.value}),button:(e,t,s)=>({action:()=>Ee(`${s} pressed`,t)}),buttongroup:(e,t)=>({buttons:nt(e.buttons).map(s=>({label:s,action:()=>Ee(`${s} pressed`,t)}))}),separator:()=>({}),number:e=>({value:N(e.value),min:N(e.min),max:N(e.max),step:N(e.step),unit:e.unit}),text:e=>({value:e.value??"",placeholder:e.placeholder,rows:N(e.rows)}),fpsgraph:e=>({label:e.label??"FPS"}),interval:e=>({value:e.value?e.value.split(",").map(Number):void 0,min:N(e.min),max:N(e.max),step:N(e.step)}),sides:e=>({value:e.value??e,corners:xt(e.corners),unit:e.unit,step:N(e.step),min:N(e.min),max:N(e.max)}),shadow:e=>({value:e.value??{...e,inset:xt(e.inset)}}),spring:Hn,motion:e=>({...Hn(e),curve:e.curve&&e.curve.includes(",")?e.curve.split(",").map(Number):e.curve,duration:N(e.duration)}),cubicbezier:e=>({value:e.value?e.value.split(",").map(Number):void 0}),point:e=>{let t=(e.value||"").split(",").map(s=>parseFloat(s));return{components:nt(e.components||"X,Y").map((s,o)=>({key:s.toLowerCase(),label:s,value:isNaN(t[o])?0:t[o],step:N(e.step),min:N(e.min),max:N(e.max)})),pad:xt(e.pad),invertY:e.invertY==="true"}},plot:e=>({expr:e.expr,xMin:N(e.xmin),xMax:N(e.xmax),yMin:N(e.ymin),yMax:N(e.ymax),samples:N(e.samples),editable:e.editable!=="false"})},N=e=>{if(e==null||e==="")return;let t=+e;return Number.isFinite(t)?t:void 0},xt=e=>e==="true"||e==="",nt=e=>(e||"").split(",").map(t=>t.trim()).filter(Boolean),Rn=e=>{let t=e.dataset,s=t.tw,o=t.label??Nt(t.key||s),r=Se(In,s)?In[s](t,e,o):Fe[s]||re(s)?{...t}:null;return r?_e("v",{type:s,label:o,...r}):null};var so=3,jn=32,Dn=200,$n=8;function ro(e,t){let s=e.label,{min:o,max:r,step:c}=sn(e.min,e.max,e.step);e.soft||([o,r]=on(o,r,c));let l=(r-o)/c<=6,p=Number.isFinite(+e.value)?+e.value:o,y=e.soft&&!l?p:F(p,o,r),M=0,k=tn(c),v=L("div","tw-slider-wrap"),m=L("div","tw-slider"),z=L("div","tw-slider-hashmarks"),P=L("div","tw-slider-fill"),_=L("div","tw-slider-handle"),h=X("span","tw-slider-label",s),w=L("span","tw-slider-value"),$=typeof e.unit=="string"?e.unit.trim():"",Ye=document.createTextNode(""),st=$?/^[%°]$/.test($)?$:" "+$:"";w.append(Ye),$&&w.append(X("span","tw-slider-unit",st));let fe=e.format,J=e.parse,me=d=>{if(fe)try{let S=fe(d);if(typeof S=="string"&&S)return S}catch{}return d.toFixed(k)};m.append(z,P,_,h,w),v.append(m),m.tabIndex=0,m.setAttribute("role","slider"),m.setAttribute("aria-label",s),m.setAttribute("aria-valuemin",String(o)),m.setAttribute("aria-valuemax",String(r));let Z=d=>nn(d,o,c),Ne=l?Array.from({length:Math.max(0,Math.round((r-o)/c)-1)},(d,S)=>(S+1)*c/(r-o)*100):[];for(let d of Ne){let S=L("div","tw-slider-hashmark");S.style.left=d+"%",z.append(S)}let ie=()=>{let d=F((y-o)/(r-o||1)*100,0,100),S=M?` + ${M.toFixed(1)}px`:"",I=`${d}%${S}`;P.style.width=M?`calc(${I})`:d+"%",_.style.left=`max(5px, calc(${I} - 9px))`;let R=Z(y),A=me(R);Ye.data=A,m.setAttribute("aria-valuenow",String(R)),m.setAttribute("aria-valuetext",A+st);let K=v.offsetWidth,oe=w.offsetWidth;if(K){oe&&(h.style.maxWidth=Math.max(0,K-oe-30)+"px");let We=Math.max(5,d/100*K+M-9);m.classList.toggle("is-dodge",an(h,w,We,3))}};ie();let B=null,rt=1,Y=null,Le=!0,Ve,ge=null,Me=null,it=`width 0.34s ${Dt}`,g=`left 0.34s ${Dt}, opacity 0.15s, transform 0.2s ${bt}`,U=.2,ae=d=>{if(!B)return y;let S=v.offsetWidth||B.width,I=F((d-B.left)/rt/S,0,1);return F(o+I*(r-o),o,r)},He=d=>{let S=0;d<B.left?S=-$n*Math.sqrt(Math.min(Math.max(0,B.left-d-jn)/Dn,1)):d>B.right&&(S=$n*Math.sqrt(Math.min(Math.max(0,d-B.right-jn)/Dn,1))),m.style.width=`calc(100% + ${Math.abs(S)}px)`,m.style.transform=S<0?`translateX(${S}px)`:""},xe=(d,S=!0)=>{d=+d,Number.isFinite(d)&&(y=l?F(Z(d),o,r):e.soft?d:F(d,o,r),ie(),S&&t(Z(y)))},Ce=Math.max(1,Math.round((r-o)/c)),at=.2,lt=.3,ze=520,le=27,ee=d=>(d-o)/c,q=0,j=0,te=0,ce=!1,ye=null,Ae=y,be=0,ne=()=>{te&&cancelAnimationFrame(te),te=0,be=0},de=d=>{if(!m.isConnected){ne();return}let S=be?Math.min((d-be)/1e3,.05):1/60;be=d;let I=v.offsetWidth||B&&B.width||1,R=ee(F(Ae,o,r)),A=F(Math.round(R+at),0,Ce),K=ce?A+lt*F(R-A,-.5,.5):A;if(Ze&&Ze.matches)q=K,j=0;else{let oe=S,We=1/240;for(;oe>1e-4;){let Pe=Math.min(We,oe);oe-=Pe;let Je=ze*(K-q)-le*j;j+=Je*Pe,q+=j*Pe,q<0&&(q=0,j=0),q>Ce&&(q=Ce,j=0)}}M=(q-A)*c/(r-o||1)*I,y=F(o+A*c,o,r),ie(),A!==ye&&(ye=A,t(Z(y))),!ce&&Math.abs(j)<.004&&Math.abs(q-A)<.004?(q=A,j=0,M=0,ie(),ne(),m.classList.remove("is-active")):te=requestAnimationFrame(de)},G=d=>{q=ee(y),j=0,ce=!0,ye=Math.round(ee(y)),Ae=ae(d),te||(te=requestAnimationFrame(de))};m.addEventListener("pointerdown",d=>{if(!w.classList.contains("is-editing")&&!(d.button!==0||Y)){d.preventDefault(),m.focus({focusVisible:!1}),Me=d.pointerId;try{d.target.setPointerCapture(d.pointerId)}catch{}clearTimeout(Ve),m.style.transition="",Y={x:d.clientX,y:d.clientY},Le=!0,m.classList.add("is-active"),B=v.getBoundingClientRect(),rt=B.width/(v.offsetWidth||B.width),l?(P.style.transition="",_.style.transition="",G(d.clientX)):(P.style.transition=it,_.style.transition=g,xe(ae(d.clientX)))}}),m.addEventListener("pointermove",d=>{if(!(!Y||d.pointerId!==Me)){if(d.buttons===0){he();return}if(Le&&Math.hypot(d.clientX-Y.x,d.clientY-Y.y)>so&&(Le=!1,m.classList.add("is-dragging"),l||(P.style.transition="",_.style.transition="")),!Le)if(He(d.clientX),l)Ae=ae(d.clientX);else{let S;if(d.altKey){ge||(ge={x:d.clientX,v:y});let I=v.offsetWidth||B.width;S=F(ge.v+(d.clientX-ge.x)/I*(r-o)*U,o,r)}else ge=null,S=ae(d.clientX);xe(S)}d.clientX>=B.left&&d.clientX<=B.right&&(m.style.width="",m.style.transform="")}});let he=d=>{!Y||d&&d.pointerId!==Me||(l?(ce=!1,m.classList.remove("is-dragging"),te||(te=requestAnimationFrame(de))):(Ve=setTimeout(()=>{P.style.transition="",_.style.transition=""},360),m.classList.remove("is-active","is-dragging")),m.style.transition=`width 0.35s ${bt}, transform 0.35s ${bt}`,m.style.width="",m.style.transform="",setTimeout(()=>{m.style.transition=""},360),Y=null,ge=null,Me=null)};m.addEventListener("pointerup",he),m.addEventListener("pointercancel",he),m.addEventListener("lostpointercapture",he),un(m,ie),mt(ie),Qe(m,[[window,"resize"]],ie),m.addEventListener("keydown",d=>{if(d.target!==m||Y)return;let S=rn(d,y,c,o,r,(r-o)/10||c*10);S!=null&&(d.preventDefault(),l&&(ne(),M=0,m.classList.remove("is-active")),xe(F(S,o,r)))});let Ie;w.addEventListener("mouseenter",()=>{Ie=setTimeout(()=>w.classList.add("is-editable"),800)}),w.addEventListener("mouseleave",()=>{clearTimeout(Ie),w.classList.contains("is-editing")||w.classList.remove("is-editable")}),w.addEventListener("pointerdown",d=>{d.pointerType&&d.pointerType!=="mouse"?(w.classList.add("is-editable"),d.stopPropagation()):w.classList.contains("is-editable")&&d.stopPropagation()});let Oe=()=>{if(w.classList.contains("is-editing"))return;let d=L("input","tw-slider-input");d.type="text",d.inputMode=J?"text":"decimal",De(d),d.value=J?me(Z(y)):Z(y).toFixed(k);let S=d.value;d.style.width=S.length+1+"ch",w.classList.add("is-editing"),w.replaceWith(d),d.focus(),d.select();let I=()=>{d.replaceWith(w),w.classList.remove("is-editing","is-editable")},R=()=>{let A=d.value,K=NaN;if(A!==S)try{K=J?J(A):Number(A.replace($,"").trim()||NaN)}catch{}Number.isFinite(K)&&xe(e.soft?K:F(K,o,r)),I()};d.addEventListener("pointerdown",A=>A.stopPropagation()),d.addEventListener("blur",R),d.addEventListener("keydown",A=>{A.key==="Enter"?(d.removeEventListener("blur",R),m.focus(),R()):A.key==="Escape"&&(A.stopPropagation(),d.removeEventListener("blur",R),m.focus(),I())})};return w.addEventListener("click",()=>{w.classList.contains("is-editable")&&Oe()}),m.addEventListener("keydown",d=>{d.key==="Enter"&&d.target===m&&!Y&&(d.preventDefault(),Oe())}),{el:v,set:d=>xe(d,!1),get:()=>Z(y)}}function io(e,t){let s=L("div","tw-row"),o=wn([{value:"off",label:"Off"},{value:"on",label:"On"}],e.value?"on":"off",r=>t(r==="on"),e.label);return s.append(X("span","tw-row-label",e.label),o.el),{el:s,set:r=>o.set(r?"on":"off"),get:()=>o.get()==="on"}}function ao(e,t){let s=e.options||[],o=Math.min(3,Math.max(2,e.cols||(s.length<=3?s.length:s.length===4?2:3))),r=L("div","tw-radiogrid"),c=L("div","tw-radiogrid-grid");c.style.setProperty("--tw-rg-cols",o),c.setAttribute("role","radiogroup"),c.setAttribute("aria-label",e.label);let l=e.value??Te(s[0]),p=s.map(k=>{let v=bn("tw-radiogrid-btn",k,m=>M(m));return c.append(v),v}),y=()=>yn(p,l),M=(k,v=!0)=>{k!=null&&!p.some(m=>m._twVal===k)||(l=k,y(),v&&t(k))};return c.addEventListener("keydown",k=>{let v=gn(p,l);if(v<0)return;let m=hn(k.key,v,p.length,o);m<0||(k.preventDefault(),m!==v&&(M(p[m]._twVal),p[m].focus()))}),y(),r.append(X("span","tw-radiogrid-label",e.label),c),{el:r,set:k=>M(k,!1),get:()=>l}}var lo=/^(?:#[0-9a-f]{3,8}|[a-z]+|(?:oklch|oklab|rgba?|hsla?|hwb|lab|lch|color|var)\([^()]*\))$/i,co=Ft("tw-select-chevron");function uo(e,t){let s=e.value,o=e.options.map(h=>({value:Te(h),label:cn(h),color:h&&typeof h=="object"&&typeof h.color=="string"&&lo.test(h.color.trim())?h.color.trim():""})),r=L("div","tw-select"),c=Q("tw-select-trigger");c.setAttribute("aria-haspopup","listbox"),c.setAttribute("aria-expanded","false");let l=L("span","tw-select-right"),p=h=>`linear-gradient(${h}, ${h}), var(--tw-checker)`,y=h=>{let w=L("span","tw-option-swatch");return w.style.background=p(h),w},M=L("span","tw-option-swatch"),k=L("span","tw-select-value");l.append(M,k),l.insertAdjacentHTML("beforeend",co),c.append(X("span","tw-select-label",e.label),l);let v=L("div","tw-select-dropdown");v.setAttribute("role","listbox");let m=o.map(h=>{let w=Q("tw-select-option");return w.setAttribute("role","option"),h.color&&w.append(y(h.color)),w.append(X("span","tw-option-label",h.label)),w.dataset.value=h.value,w.addEventListener("click",()=>{P(h.value),_.close()}),v.append(w),w});r.append(c,v);let z=()=>{let h=o.find(w=>w.value===s);k.textContent=h?.label??s,M.style.display=h?.color?"":"none",h?.color&&(M.style.background=p(h.color)),m.forEach(w=>{let $=w.dataset.value===String(s);w.dataset.selected=String($),w.setAttribute("aria-selected",String($))})},P=(h,w=!0)=>{h!=null&&!o.some($=>$.value===h)||(s=h,z(),w&&t(h))},_=gt(r,c,v,{width:"match",fallbackH:200,gap:4,onOpen:()=>(m.find(h=>h.dataset.value===String(s))||m[0])?.focus()});return c.addEventListener("keydown",h=>{!_.isOpen()&&(h.key==="ArrowDown"||h.key==="ArrowUp")&&(h.preventDefault(),_.open())}),v.addEventListener("keydown",h=>{let w=m.indexOf(document.activeElement),$=w;if(h.key==="ArrowDown")$=w<0?0:Math.min(m.length-1,w+1);else if(h.key==="ArrowUp")$=w<0?m.length-1:Math.max(0,w-1);else if(h.key==="Home")$=0;else if(h.key==="End")$=m.length-1;else return;h.preventDefault(),m[$]?.focus()}),z(),{el:r,set:h=>P(h,!1),get:()=>s}}function po(e){let t=X("button","tw-button",e.label);return t.addEventListener("click",()=>e.action&&e.action()),wt(t)}function fo(e){let t=L("div","tw-row tw-buttongroup");e.label&&t.append(X("span","tw-row-label",e.label));let s=L("div","tw-buttongroup-btns"),o=Array.isArray(e.buttons)?e.buttons.map(r=>[r.label??"Button",r.action]):Object.entries(e.buttons||{});for(let[r,c]of o){let l=X("button","tw-buttongroup-btn",r);l.addEventListener("click",()=>typeof c=="function"&&c()),s.append(l)}return t.append(s),wt(t)}var mo=()=>wt(L("div","tw-separator"));function go(e,t){let s=y=>y==null?"":typeof y=="object"?ln(y):String(y),o=s(e.value),r=e.rows>0,c=L("div",r?"tw-row tw-row-multiline":"tw-row"),l=L(r?"textarea":"input",r?"tw-text tw-textarea":"tw-text");r?l.rows=e.rows:l.type="text",l.value=o,De(l),e.placeholder&&(l.placeholder=e.placeholder),l.addEventListener("input",()=>{o=l.value,t(o)});let p=()=>{let y=l.scrollHeight-l.clientHeight>1;l.classList.toggle("is-clip-top",y&&l.scrollTop>1),l.classList.toggle("is-clip-bottom",y&&l.scrollTop+l.clientHeight<l.scrollHeight-1)};return r&&(l.addEventListener("scroll",p),l.addEventListener("input",p),typeof ResizeObserver=="function"&&new ResizeObserver(p).observe(l)),c.append(X("span","tw-row-label",e.label),l),{el:c,set:y=>{o=s(y),l.value=o,r&&p()},get:()=>o}}function ot(e){let t=L("div","tw-folder"),s=Q("tw-folder-header");s.setAttribute("aria-expanded","true"),s.append(X("span","tw-folder-title",e.label)),s.insertAdjacentHTML("beforeend",Mn);let o=L("div","tw-folder-body"),r=L("div","tw-controls");o.append(r),t.append(s,o);let c=l=>$e(t,s,o,l);return s.addEventListener("click",()=>c(!t.classList.contains("is-collapsed"))),{el:t,body:r,setCollapsed:c}}function Ke(e,t){let s=re(e.type);if(!s)return null;try{return s(e,t)}catch(o){return console.error("[tweaks] control failed to build:",e&&e.type,o),null}}pe("slider",ro);pe("checkbox",io);pe("radiogrid",ao);pe("list",uo);pe("button",po);pe("buttongroup",fo);pe("separator",mo);pe("text",go);pe("folder",ot);var Xe=null;function yo(e,t,s={}){let o=Object.entries(t).filter(([n])=>n!=="_last"||(console.warn('[tweaks] "_last" is reserved (the changed-key channel) \u2014 schema entry skipped'),!1)).map(([n,i])=>_e(n,i)).filter(Boolean),r={},c=[],l=new Set,p=new Set,y=new Set,M=[],k=!1,v=!1,m=[],z=new Map,P=!1,_=-1,h=n=>{if(!k){if(P){console.warn("[tweaks] call ignored \u2014 the panel could not be built");return}v?n():m.push(n)}},w=null,$=function(n,i){return n==="_last"&&this===r?void 0:i===void 0?null:typeof i=="bigint"?String(i):i},Ye=!1,st=()=>{let n={};for(let i of c){let a=n;for(let u of i.path.slice(0,-1))a=a[u]||(a[u]={});a[i.key]=i.get()}return JSON.parse(JSON.stringify(n,$))},fe=()=>{try{return JSON.parse(JSON.stringify(r,$))}catch(n){return Ye||(Ye=!0,console.warn("[tweaks] a value parked on params can't be serialised \u2014 snapshots carry the controls' values only:",n)),st()}},J=s.persist?`tw:${s.persist===!0?e:s.persist}`:null,me=J?`${J}:presets`:null,Z=n=>{try{return JSON.parse(localStorage.getItem(n)||"null")}catch{return null}},Ne=(n,i)=>{try{localStorage.setItem(n,JSON.stringify(i))}catch{}},ie=(n,i)=>i.reduce((a,u)=>a?.[u],n),B=n=>{for(let i of c)if(!i.persist){let a=ie(n,i.path.slice(0,-1));a&&typeof a=="object"&&Reflect.deleteProperty(a,i.key)}return n},rt=J?(()=>{let n=0,i=()=>{n=0,Ne(J,B(fe()))};return M.push(()=>{n&&(clearTimeout(n),i())}),()=>{clearTimeout(n),n=setTimeout(i,150)}})():()=>{},Y=(n,i=r._last)=>{(n?y:p).forEach(a=>{try{a(r,i)}catch(u){console.error("[tweaks] listener threw:",u)}}),k||rt()},Le=n=>typeof n=="function"||typeof n=="symbol"||typeof n=="bigint",Ve=(n,i)=>{if(Le(i))throw new TypeError(`a ${typeof i} is not a control value`);n.set(i),n.target[n.key]=n.get()},ge=n=>{Tt(n,n.raw,n.def),n.target[n.key]=n.get()},Me=!1,it=()=>{if(typeof s.onReset=="function"&&!Me){Me=!0;try{return s.onReset()}finally{Me=!1}}for(let n of c)try{ge(n)}catch(i){console.error(`[tweaks] resetting "${n.path.join(".")}" failed \u2014 control skipped:`,i)}r._last=void 0,Y()},g=L("div","tw-panel");g.dataset.mode="inline",dn(g);let U=L("div","tw-header"),ae=Q("tw-header-toggle");ae.setAttribute("aria-expanded","true");let He=e,xe=X("span","tw-title",He);ae.append(xe);let Ce=L("div","tw-toolbar"),at=()=>{let n={};for(let i of c)ke(i.get(),i.def)&&(n[i.path.join(".")]=i.get());return JSON.parse(JSON.stringify(n,$))},lt=Lt(g,()=>He,n=>{if(!n)return[JSON.stringify(fe(),null,2),-1];let i=at();return[JSON.stringify(i,null,2),Object.keys(i).length]}),ze=Mt(it),le=null;J&&s.presets!==!1&&(le=et("",xn,"Presets"),le.setAttribute("aria-haspopup","menu"),le.setAttribute("aria-expanded","false"),Ce.append(le));let ee=!!s.filter&&(s.toolbar!==!1||(console.warn("[tweaks] opts.filter needs the toolbar (its search button lives there) \u2014 ignored alongside toolbar:false"),!1)),q=ee?et("",Ln,"Filter controls"):null,j=ee?L("input","tw-search"):null;ee&&(j.type="text",j.placeholder="Filter\u2026",j.spellcheck=!1,j.setAttribute("aria-label","Filter controls"),De(j),Ce.append(q)),Ce.append(lt,ze),U.append(ae),ee&&U.append(j),s.toolbar!==!1&&U.append(Ce);let te=[lt,ze,le,q].filter(Boolean);for(let n of te)n.disabled=!0;let ce=!1,ye=!1;U.addEventListener("click",n=>{ye&&(ye=!1,n.preventDefault(),n.stopPropagation())},!0),ae.addEventListener("click",()=>{$e(g,ae,Ae,!g.classList.contains("is-collapsed")),g.dataset.mode==="floating"&&setTimeout(()=>{g.dataset.mode==="floating"&&g.isConnected&&(K(),A())},270)});let Ae=L("div","tw-body"),be=L("div","tw-controls");Ae.append(be),g.append(U,Ae);let ne=It(s.theme);Rt(g,ne),g._twTheme=ne;let de=s.draggable!==!1,G=8,he=28,Ie=()=>({maxX:Math.max(G,window.innerWidth-g.offsetWidth-G),maxY:Math.max(G,window.innerHeight-g.offsetHeight-G)}),Oe=J?`${J}:pos`:null,d=(de||s.floating)&&Oe?Z(Oe):null,S=d||(typeof s.floating=="object"?s.floating:null)||{x:16,y:16},I=+S.x||16,R=+S.y||16,A=()=>{g.style.left=I+"px",g.style.top=R+"px"},K=()=>{let{maxX:n,maxY:i}=Ie();I=F(I,G,n),R=F(R,G,i)};(de||s.floating)&&(s.floating||d)&&(g.dataset.mode="floating",K(),A(),requestAnimationFrame(()=>{!k&&g.dataset.mode==="floating"&&g.isConnected&&(K(),A())}));let oe=n=>{ge(n),r._last=n.key,Y()},We=(n,i)=>{let a=n.querySelector(".tw-slider-value")||n.querySelector(Kt)||n;a.classList.add("tw-resettable"),a.title="Double-click or hold to reset";let u=0,C=0,b=0,T=!1,E=()=>{u&&(clearTimeout(u),u=0,a.classList.remove("tw-reset-holding"))};a.addEventListener("pointerdown",f=>{f.stopPropagation(),T=!1,!(f.pointerType!=="touch"&&f.pointerType!=="pen")&&(C=f.clientX,b=f.clientY,a.classList.add("tw-reset-holding"),u=setTimeout(()=>{u=0,a.classList.remove("tw-reset-holding","is-editable"),T=!0,oe(i)},500))}),a.addEventListener("pointermove",f=>{u&&Math.abs(f.clientX-C)+Math.abs(f.clientY-b)>8&&E()}),a.addEventListener("pointerup",E),a.addEventListener("pointercancel",E),a.addEventListener("pointerleave",E),a.addEventListener("contextmenu",f=>{T&&f.preventDefault()}),a.addEventListener("click",f=>{T&&(f.preventDefault(),f.stopImmediatePropagation(),T=!1)},!0),a.addEventListener("dblclick",f=>{a===n&&f.target.closest&&f.target.closest("input, textarea")||(f.preventDefault(),f.stopPropagation(),oe(i))}),a.classList.contains("tw-slider-value")&&n.addEventListener("dblclick",f=>{let O=f.target;!O.classList||!O.classList.contains("tw-slider-input")||(f.preventDefault(),f.stopPropagation(),O.blur(),oe(i))}),n.addEventListener("keydown",f=>{!f.altKey||f.metaKey||f.ctrlKey||f.key!=="Backspace"&&f.key!=="Delete"||(f.preventDefault(),f.stopPropagation(),f.target.classList&&f.target.classList.contains("tw-slider-input")&&f.target.blur(),oe(i))})},Pe=[],Je,Kn=(n,i)=>!n._hid==!i?!1:(n._hid=i,Je?Je(n,i):n.classList.toggle("tw-cond-hidden",i),!i),At=(n,i)=>{i.hint&&qe(n,i.hint),(i.render||i.disabled!=null)&&Pe.push({node:n,m:i})},Ot=[],Pt=[],ct=[],dt=[],Xn=n=>{typeof n.destroy=="function"&&M.push(n.destroy)},_t=(n,i,a,u=[],C=null)=>{for(let b of i){if(b.type==="tabs"){let f={};l.add(f),a[b.key]=f;let O=re("tabs"),x=O&&O(b);if(!x)continue;dt.push({path:[...u,b.key],ctrl:x,pageKeys:b.pages.map(H=>H.key)}),b.pages.forEach((H,W)=>{let se={};l.add(se),f[H.key]=se,_t(x.bodies[W],H.children,se,[...u,b.key,H.key])}),At(x.el,b),n.append(x.el);continue}if(b.type==="folder"){let f={};l.add(f),a[b.key]=f;let O=ot(b);ct.push({path:[...u,b.key],el:O.el,setCollapsed:O.setCollapsed});let x=ee?{el:O.el,label:b.label,body:O.body}:null;x&&Pt.push(x),_t(O.body,b.children,f,[...u,b.key],x),At(O.el,b),n.append(O.el);continue}let T=!St.has(b.type),E=Ke(b,T?f=>{ke(a[b.key],f)&&(a[b.key]=f,r._last=b.key,Y())}:()=>{});if(E){if(Xn(E),T){let f=E.get();Se(a,b.key)&&E.set(a[b.key]),a[b.key]=E.get();let O={target:a,key:b.key,set:E.set,get:E.get,raw:b.value,def:f,path:[...u,b.key],persist:b.persist!==!1};c.push(O),We(E.el,O)}At(E.el,b),ee&&b.type!=="separator"&&Ot.push({el:E.el,label:b.label,folder:C}),n.append(E.el)}}};if(ee){let n=a=>{let u=a.trim().toLowerCase(),C=!1,b=(T,E)=>{!E&&T.classList.contains("tw-filter-hidden")&&(C=!0),T.classList.toggle("tw-filter-hidden",E)};if(!u)Ot.forEach(T=>b(T.el,!1)),Pt.forEach(T=>b(T.el,!1));else{for(let T of Ot){let E=T.folder&&yt(T.folder.label,u);b(T.el,!(yt(T.label,u)||E))}for(let T of Pt.slice().reverse()){let E=[...T.body.children].some(f=>!f.classList.contains("tw-filter-hidden"));b(T.el,!(yt(T.label,u)||E))}}C&&Ht()},i=()=>{g.classList.remove("is-searching"),j.value="",n("")};q.addEventListener("click",()=>{q.disabled||(g.classList.toggle("is-searching")?(j.focus(),j.select()):i())}),j.addEventListener("input",()=>n(j.value)),j.addEventListener("keydown",a=>{a.key==="Escape"&&(i(),q.focus())})}let Yn=new Set(o.map(n=>n.key)),ut=(n,i)=>{if(!(!n||typeof n!="object")){for(let a of c){let u=ie(n,a.path);if(u!==void 0)try{Ve(a,u)}catch(C){console.error(`[tweaks] restoring "${a.path.join(".")}" failed \u2014 value skipped:`,C)}}for(let a of Object.keys(n))if(!Yn.has(a)&&a!=="_last"&&Se(r,a)&&!Ct(a)&&!Le(n[a]))try{r[a]=n[a]}catch(u){console.error(`[tweaks] restoring "${a}" failed \u2014 value skipped:`,u)}r._last=void 0,Y(i)}},Re=()=>{let n=me?Z(me):null;return Object.assign(Object.create(null),n&&typeof n=="object"?n:{})},zt=n=>{let i=Re();i[n]=fe(),Ne(me,i)},Wt=n=>{let i=Re();i[n]&&ut(i[n])},Jt=n=>{let i=Re();delete i[n],Ne(me,i)},pt=n=>n.map(i=>String(i).replace(/~/g,"~1").replace(/\./g,"~0")).join("."),Vn=()=>{let n={};if(ct.length){let i={};for(let a of ct)i[pt(a.path)]=a.el.classList.contains("is-collapsed");n.folders=i}if(dt.length){let i={};for(let a of dt)i[pt(a.path)]=a.pageKeys[a.ctrl.active()]??null;n.tabs=i}return n},zn=n=>{if(!(!n||typeof n!="object")){if(n.folders)for(let i of ct){let a=n.folders[pt(i.path)];typeof a=="boolean"&&i.setCollapsed(a)}if(n.tabs)for(let i of dt){let a=i.pageKeys.indexOf(n.tabs[pt(i.path)]);a>=0&&a!==i.ctrl.active()&&i.ctrl.activate(a)}}};if(de||s.floating){if(de){g.dataset.draggable="true";let x=L("span","tw-grabber");x.setAttribute("aria-hidden","true"),U.prepend(x)}let n=()=>{if(g.dataset.mode==="floating")return;let x=g.getBoundingClientRect();if(I=x.left,R=x.top,g.parentNode&&(w=L("span","tw-lift-slot"),w.style.width=x.width+"px",w.style.height=x.height+"px",w.setAttribute("aria-hidden","true"),g.before(w)),fn(g,g),document.body.appendChild(g),g.dataset.mode="floating",A(),w&&typeof MutationObserver=="function"){let H=new MutationObserver(()=>{w&&!w.isConnected&&(H.disconnect(),w=null,g.remove())});H.observe(document.documentElement,{childList:!0,subtree:!0}),M.push(()=>H.disconnect())}},i=()=>{Xe&&Xe!==g&&(Xe.style.zIndex=""),g.style.zIndex="99991",Xe=g},a=null,u=0,C=0,b=0,T=0,E=x=>{for(let[H,W]of[["pointermove",f],["pointerup",O],["pointercancel",O]])x?document.addEventListener(H,W,!0):document.removeEventListener(H,W,!0)};de&&U.addEventListener("pointerdown",x=>{if(!(x.button!==0||a!==null||x.target.closest(".tw-toolbar, input, textarea, select"))&&(a=x.pointerId,u=x.clientX,C=x.clientY,ce=!1,E(!0),g.classList.add("is-grabbing"),g.style.transition)){let H=getComputedStyle(g);I=parseFloat(H.left)||I,R=parseFloat(H.top)||R,g.style.transition="",A()}});let f=x=>{if(x.pointerId!==a)return;if(x.buttons===0){O(x);return}let H=x.clientX-u,W=x.clientY-C;if(!ce){if(Math.abs(H)+Math.abs(W)<4)return;ce=!0,n(),i(),b=I,T=R;try{U.setPointerCapture(a)}catch{}g.classList.add("is-dragging")}let{maxX:se,maxY:D}=Ie();I=F(b+H,G,se),R=F(T+W,G,D),A()},O=x=>{if(x.pointerId===a){try{U.releasePointerCapture(a)}catch{}if(a=null,E(!1),ye=ce,ye&&setTimeout(()=>{ye=!1},0),ce){let{maxX:H,maxY:W}=Ie();I<=G+he?I=G:I>=H-he&&(I=H),R<=G+he?R=G:R>=W-he&&(R=W),Ze.matches||(g.style.transition="left 0.32s var(--tw-ease-spring), top 0.32s var(--tw-ease-spring)",setTimeout(()=>{g.style.transition=""},340)),A(),Oe&&Ne(Oe,{x:I,y:R})}g.classList.remove("is-dragging","is-grabbing")}};U.addEventListener("lostpointercapture",O),M.push(()=>E(!1))}let Wn=()=>{(de||s.floating)&&(g.dataset.mode==="floating"&&(K(),A()),M.push(Qe(g,[[window,"resize"]],()=>{g.dataset.mode==="floating"&&(K(),A())})))};if(le){let n=L("div","tw-presets-menu"),i=L("div","tw-presets-save"),a=L("input","tw-presets-input");a.type="text",a.placeholder="Preset name\u2026",a.spellcheck=!1,a.setAttribute("aria-label","New preset name"),De(a);let u=X("button","tw-presets-savebtn","Save");i.append(a,u);let C=L("div","tw-presets-list");n.append(i,C);let b=()=>{let f=Re(),O=Object.keys(f);if(C.replaceChildren(),!O.length)return C.append(X("div","tw-presets-empty","No presets yet"));for(let x of O){let H=L("div","tw-presets-row"),W=X("button","tw-presets-load",x);W.addEventListener("click",()=>{Wt(x),E.close(),Ee(`Loaded \u201C${x}\u201D`,g)});let se=Q("tw-presets-del",Cn);se.setAttribute("aria-label",`Delete preset ${x}`),se.addEventListener("click",D=>{D.stopPropagation(),Jt(x),b()}),H.append(W,se),C.append(H)}},T=()=>{let f=a.value.trim();if(!f){a.focus();return}zt(f),a.value="",b(),Ee(`Saved \u201C${f}\u201D`,g)},E=gt(le,le,n,{width:208,fallbackH:160,gap:6,align:"end",onOpen:()=>{b(),a.focus()}});u.addEventListener("click",T),a.addEventListener("keydown",f=>{f.key==="Enter"&&T()})}if(s.onEditStart||s.onEditEnd){let n=".tw-slider, .tw-num-grab, .tw-pad, .tw-wg-area, .tw-wg-hue, .tw-wg-alpha, .tw-bezier-handle, .tw-gradient-bar, .tw-gradient-stop",i=!1,a=()=>{document.removeEventListener("pointerup",a,!0),document.removeEventListener("pointercancel",a,!0),i&&(i=!1,s.onEditEnd&&s.onEditEnd())},u=C=>{i||!C.target.closest(n)||(i=!0,s.onEditStart&&s.onEditStart(),document.addEventListener("pointerup",a,!0),document.addEventListener("pointercancel",a,!0))};g.addEventListener("pointerdown",u),g._twEditPointer=u,M.push(a)}let Ge=s.undo?(()=>{let i=[],a=0,u=!1,C=0,b=()=>{C=0;let D=fe();JSON.stringify(D)!==JSON.stringify(i[a])&&(i=i.slice(0,a+1),i.push(D),i.length>200&&(i=i.slice(i.length-200)),a=i.length-1)},T=()=>{u||(clearTimeout(C),C=setTimeout(b,350))},E=()=>{C&&(clearTimeout(C),b())};p.add(T),y.add(T);let f=D=>{u=!0,ut(i[D]),u=!1,a=D},O=()=>{E(),a>0&&f(a-1)},x=()=>{E(),a<i.length-1&&f(a+1)},H=()=>g.matches(":hover")||g.contains(document.activeElement),W=D=>!!(D&&D.matches&&(D.matches("input, textarea")||D.isContentEditable)),se=D=>{if(!H()||!(D.metaKey||D.ctrlKey)||W(D.target))return;let Zt=D.key.toLowerCase();Zt==="z"?(D.preventDefault(),D.shiftKey?x():O()):Zt==="y"&&(D.preventDefault(),x())};return{undo:O,redo:x,arm:()=>{i=[fe()],a=0,M.push(Qe(g,[[document,"keydown"]],se))}}})():null,Gt=()=>{if(!k){if(_=M.length,_t(be,o,r),Pe.length){let n=new Map;for(let u of c)n.has(u.key)||n.set(u.key,u);let i=u=>{let C=n.get(u);return C?C.target[C.key]:r[u]},a=()=>{let u=!1;for(let{node:C,m:b}of Pe)try{if(b.render&&Kn(C,!b.render(i))&&(u=!0),b.disabled!=null){let T=typeof b.disabled=="function"?b.disabled(i):b.disabled;ht(C,!!T)}}catch{}u&&Ht()};p.add(a),y.add(a),a(),import("./fold-FNCV4C7P.js").then(u=>{Je=u.fold},()=>{})}if(J&&ut(B(Z(J))),!k){Ge?.arm(),Wn(),v=!0;for(let n of m.splice(0)){if(k)break;try{n()}catch(i){console.error("[tweaks] a call queued before ready failed:",i)}}z.clear();for(let n of te)n.disabled=!1}}},Ut=(n,i)=>{if(String(n).split(".").some(Ct))return console.warn(`[tweaks] set("${n}") ignored \u2014 reserved key`),!1;let a=String(n).split("."),u;if(a.length>1){let E=r;for(let f=0;f<a.length-1&&E;f++)E=E[a[f]],l.has(E)||(E=null);if(u=E&&c.find(f=>f.target===E&&f.key===a[a.length-1]),!u)return console.warn(`[tweaks] set("${n}") \u2014 no control at that path`),!1}else{let E=c.filter(O=>O.key===n),f=E.find(O=>O.target===r);if(!f&&E.length>1)return console.warn(`[tweaks] set("${n}") is ambiguous \u2014 ${E.length} controls share that key; use a dotted path (e.g. "${E[0].path.join(".")}")`),!1;u=f||E[0]}let C=u?u.target:r,b=u?u.key:n,T=C[b];if(u&&Le(i))return console.warn(`[tweaks] set("${n}") ignored \u2014 a ${typeof i} is not a control value`),!1;if(u)try{Ve(u,i)}catch(E){return console.error(`[tweaks] set("${n}") failed \u2014 value skipped:`,E),!1}else{if(l.has(r[n]))return console.warn(`[tweaks] set("${n}") ignored \u2014 it's a folder/tabs group; set its children instead`),!1;r[n]=i}return ke(T,C[b])?(r._last=b,!0):!1},je={el:g,params:r,on(n){return k?()=>{}:(p.add(n),()=>p.delete(n))},set(n,i,a){let u=String(n),C=a?.silent;h(()=>{Ut(u,i)&&Y(C)})},setMany(n,i){if(n==null||typeof n!="object")return;let a=Object.entries(n),u=i?.silent;h(()=>{let C=!1;for(let[b,T]of a)try{Ut(b,T)&&(C=!0)}catch(E){console.error(`[tweaks] setMany("${b}") failed \u2014 key skipped:`,E)}C&&Y(u)})},reset(){v&&!k&&qt(ze),h(it)},toJSON(){return k?{values:{},ui:{}}:{values:fe(),ui:Vn()}},changes(){return k?{}:at()},fromJSON(n,i){if(!n||typeof n!="object")return;let a=i?.silent,u=n.values&&typeof n.values=="object"?{...n.values}:n.values,C=n.ui&&typeof n.ui=="object"?{...n.ui}:n.ui;h(()=>{u&&ut(u,a),zn(C)})},setName(n){k||(He=String(n),xe.textContent=He)},setTheme(n){if(!k){if(ne)for(let i in ne)g.style.removeProperty(i);ne=It(n),g._twTheme=ne,Rt(g,ne),window.dispatchEvent(new Event("tw-retheme"))}},savePreset:n=>k||P||!me||!n?!1:(v||z.set(String(n),"save"),h(()=>zt(n)),!0),loadPreset:n=>{let i=z.get(String(n));return k||P||i==="delete"||!(i==="save"||Re()[n])?!1:(h(()=>Wt(n)),!0)},deletePreset:n=>{me&&(v||z.set(String(n),"delete"),h(()=>Jt(n)))},presets:()=>k?[]:Object.keys(Re()),undo:()=>{Ge&&h(Ge.undo)},redo:()=>{Ge&&h(Ge.redo)},destroy(){if(!k){k=!0,mn(g),tt(g);for(let n of M.splice(0))try{n()}catch{}p.clear(),w&&(w.remove(),w=null),Xe===g&&(Xe=null),g.dataset.twDestroyed="",g.remove()}}},Qt=Be(o);if(Qt){let n=i=>{if(P=!0,m.length=0,_>=0)for(let a of M.splice(_))try{a()}catch{}for(let a of be.children)a.dataset.twDestroyed="";throw p.clear(),c.length=0,be.replaceChildren(),k||console.warn(`[tweaks] "${e}": the panel could not be built \u2014 ${_>=0?"the build threw":"its lazy controls failed to load"}; the API is inert`),i};je.ready=g.ready=Qt.then(Gt).then(()=>je,n),je.ready.catch(()=>{})}else Gt(),je.ready=g.ready=Promise.resolve(je);return je}var bo=(e,t)=>{e.dataset.value=t==null?"":Array.isArray(t)?t.join(","):typeof t=="object"?Object.values(t).join(","):String(t)},ho=(e,t,s)=>{bo(e,s),e.dispatchEvent(new CustomEvent("tw:change",{bubbles:!0,detail:{key:t,value:s}}))},Vt=(e,t)=>[...typeof e.matches=="function"&&e.matches(t)?[e]:[],...e.querySelectorAll(t)];async function Fn(e=document){Vt(e,'.tw-panel[data-mode="inline"]:not([data-tw-panel-bound])').forEach(o=>{let r=o.querySelector(":scope > .tw-header"),c=o.querySelector(":scope > .tw-controls");if(!r||!c)return;o.setAttribute("data-tw-panel-bound","");let l=L("div","tw-body");o.insertBefore(l,c),l.append(c);let p=r.querySelector(".tw-header-toggle"),y=r.querySelector(".tw-title");if(!p&&y&&(p=Q("tw-header-toggle"),y.replaceWith(p),p.append(y)),!!p&&(p.setAttribute("aria-expanded","true"),p.addEventListener("click",()=>$e(o,p,l,!o.classList.contains("is-collapsed"))),!r.querySelector(".tw-toolbar"))){let M=y&&y.textContent||"Panel",k=()=>[...o.querySelectorAll("[data-tw]")].map(P=>P._tw).filter(P=>P&&P.ctrl.get()!==void 0),v=()=>{let P=Object.create(null);for(let _ of k()){let h=_.key,w=2;for(;Se(P,h);)h=`${_.key}-${w++}`;P[h]=_.ctrl.get()}return JSON.stringify(P,null,2)},m=()=>{for(let P of k())P.reset()},z=L("div","tw-toolbar");z.append(Lt(o,()=>M,()=>[v(),-1]),Mt(m)),r.append(z)}}),Vt(e,'[data-tw="folder"]:not([data-tw-bound])').forEach(o=>{o.setAttribute("data-tw-bound","");let r=ot({label:o.dataset.label||"Folder"});[...o.children].forEach(c=>r.body.append(c)),o.append(r.el)});let t=Vt(e,"[data-tw]:not([data-tw-bound])").map(o=>({host:o,meta:Rn(o)})).filter(o=>o.meta);t.forEach(({host:o})=>o.setAttribute("data-tw-bound",""));let s=Be(t.map(o=>o.meta));s&&await s.catch(()=>{});for(let{host:o,meta:r}of t){let c=o.dataset.key||r.label,l,p=v=>{ke(l,v)&&(l=v,ho(o,c,v))},y=Ke(r,p);if(!y)continue;o.closest(".tw-panel, .tw-portal")||o.classList.add("tw-portal"),o.append(y.el),o.dataset.hint&&qe(y.el,o.dataset.hint);let M=y.get();l=M;let k={...y,set:v=>{y.set(v),p(y.get())}};o._tw={ctrl:k,raw:r.value,def:M,key:c,host:o,reset:()=>{Tt(y,r.value,M),p(y.get())}}}}if(typeof document<"u"){let e=()=>Fn(document);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):e()}var Bn=e=>L("div",`${e} tw-standalone tw-portal`),qn=(e,t,s)=>{let o=Be(e);if(!o)return t(),Promise.resolve(s);let r=o.then(t).then(()=>s);return r.catch(()=>{}),r};function wo(e,t,s={}){let o=s.key??"value",r=_e(o,t);if(!r||r.type==="folder"||r.type==="tabs")throw new TypeError(`[tweaks] mountControl: "${o}" is not a single-control schema value`);s.label!=null&&(r.label=String(s.label));let c=!St.has(r.type),l=Bn("tw-control");e.append(l);let p=null,y=!1,M=r.value,k,v=!1,m=_=>{ke(M,_)&&(M=_,s.onChange&&s.onChange(_,o))},z=()=>{if(y||(p=Ke(r,c?m:()=>{}),!p))return;r.hint&&qe(p.el,r.hint);let _=()=>{};try{r.render&&!r.render(_)&&p.el.classList.add("tw-cond-hidden")}catch{}try{(typeof r.disabled=="function"?r.disabled(_):r.disabled)&&ht(p.el,!0)}catch{}l.append(p.el),c&&(M=p.get(),v&&(p.set(k),m(p.get())))},P={el:l,set:_=>{y||!c||(p?(p.set(_),m(p.get())):(k=_,v=!0))},get:()=>c?p?p.get():v?k:r.value:void 0,destroy:()=>{y=!0,p&&typeof p.destroy=="function"&&p.destroy(),l.dataset.twDestroyed="",l.remove()},ready:null};return P.ready=qn([r],z,P),P}function vo(e={}){let t=Bn("tw-color-picker"),s=null,o=!1,r=e.value,c,l=!1,p=null,y=v=>{ke(r,v)&&(r=v,e.onChange&&e.onChange(v))},M=()=>{if(o)return;let v=re("colorpicker");v&&(s=v({value:e.value,mode:e.mode},y),r=s.get(),t.append(s.el),p&&s.setMode(p),l&&(s.set(c),y(s.get())),mt(s.reflow))},k={el:t,set:v=>{o||(s?(s.set(v),y(s.get())):(c=v,l=!0))},get:()=>s?s.get():l?c:e.value,mode:()=>s?s.mode():p||e.mode||"oklch",setMode:v=>{s?s.setMode(v):p=v},reflow:()=>{s&&s.reflow()},destroy:()=>{o=!0,t.remove()},ready:null};return k.ready=qn([{type:"color"}],M,k),k}export{vo as createColorPicker,Fn as enhance,Gn as gradientCss,Jn as gradientStops,wo as mountControl,yo as tweaks};
@@ -0,0 +1 @@
1
+ import{L as n}from"./chunk-3GZFWFKC.js";var r=(t,i)=>{let a=getComputedStyle(t),m=t._fold?.playState=="running"&&{marginBottom:a.marginBottom,clipPath:a.clipPath,opacity:a.opacity};t._fold?.cancel(),t.classList.remove("tw-cond-hidden");let o=!n.matches&&t.animate&&t.offsetHeight;if(t.classList.toggle("tw-cond-hidden",i),o)try{let s=o+6+parseFloat(a.marginTop),c=o+"px",e={height:c,marginBottom:-s+"px",clipPath:`inset(0 0 ${s}px)`,opacity:0},l={height:c,clipPath:"inset(0)"};(t._fold=t.animate([m||(i?l:e),i?e:l],{duration:350,easing:a.getPropertyValue("--tw-ease-fold").trim()})).onfinish=()=>t.classList.toggle("tw-cond-hidden",i),t.classList.remove("tw-cond-hidden")}catch{}};export{r as fold};
@@ -1 +1 @@
1
- import{a as W,b as F,c as Z,d as tt,e as I,f as et,g as ot}from"./chunk-HWQKSB7T.js";import{e as J,i as Q}from"./chunk-SIIHIBXV.js";import{I as z,V as U,X as V,a as X,b as $,c as q,e as Y,g as h,t as y,u as j}from"./chunk-WWCMYF2Q.js";var mt=U('<path d="M12 5v14m7-7H5"/>',"",2.5),lt=(o,S)=>o&&!Array.isArray(o)&&typeof o[S]=="string"?o[S]:null,nt=o=>lt(o,"interpolation"),rt=o=>lt(o,"easing"),st=[["linear","Linear"],["ease","Ease"],["ease-in","Ease in"],["ease-out","Ease out"],["ease-in-out","Ease in-out"]];function at(o){let S=[{color:"oklch(0.72 0.19 25)",pos:0},{color:"oklch(0.72 0.16 280)",pos:1}],l=Array.isArray(o)?o:o&&Array.isArray(o.stops)?o.stops:null,a=(p,O)=>tt(p)?{color:String(p).trim(),pos:h(+O||0,0,1)}:null,d=(l||[]).map(p=>Array.isArray(p)?a(p[0],p[1]):p&&typeof p=="object"?a(p.color,p.pos):null).filter(Boolean);return d.length>=2?d:S}function ht(o,S){o.value??(o.value=o.stops);let l=at(o.value),a=l[0],d=$(rt(o.value)),{root:p,trigger:O,right:it}=Q("tw-gradient",o.label??"Gradient"),k=y("span","tw-trigger-chip tw-gradient-preview");k.setAttribute("role","img"),it.append(k);let v=y("div","tw-color-pop tw-gradient-pop"),N=y("div","tw-gradient-bar-row"),B=y("div","tw-gradient-bar"),T=y("div","tw-gradient-grad"),b=y("div","tw-gradient-rail");B.append(T,b);let A=j("tw-gradient-add",mt);A.title="Add a stop after the selected one",A.setAttribute("aria-label","Add a colour stop after the selected one"),N.append(B,A);let C=()=>[...l].sort((t,e)=>t.pos-e.pos),pt=()=>W(u.mode()),D=()=>({stops:C().map(t=>({color:t.color,pos:+t.pos.toFixed(4)})),interpolation:pt(),easing:d}),f=()=>{let t=Y(D());T.style.background=t,k.style.background=`${t}, ${Z}`},G=()=>{k.setAttribute("aria-label",`${l.length} stop${l.length===1?"":"s"}`)},w=()=>S(D()),H=t=>[...b.children].find(e=>e._stop===t),u=et({value:a.color,mode:F(nt(o.value)||"oklch"),onMode:()=>{f(),w()}},t=>{a.color=t,H(a)?.style.setProperty("--stop",t),f(),w()}),g=y("select","tw-color-mode tw-gradient-ease");g.setAttribute("aria-label","Easing between stops"),g.title="How the ramp blends between stops";for(let[t,e]of st){let s=document.createElement("option");s.value=t,s.textContent=e,g.append(s)}let P=()=>{let t=g.querySelector("option[data-custom]");st.some(([e])=>e===d)?t?.remove():(t||(t=document.createElement("option"),t.dataset.custom="",t.textContent="Custom",g.append(t)),t.value=d),g.value=d};g.addEventListener("change",()=>{d=g.value,P(),f(),w()}),u.el.querySelector(".tw-color-mode").after(g),P(),v.append(N,u.el),p.append(v);let M=t=>t.setAttribute("aria-label",`Colour stop at ${Math.round(t._stop.pos*100)}%${t._stop===a?", selected":""}`),ct=()=>{for(let t of b.children)t.dataset.sel=String(t._stop===a),M(t)},R=()=>{b.replaceChildren();for(let t of l){let e=j("tw-gradient-stop");e._stop=t,e.style.left=t.pos*100+"%",e.style.setProperty("--stop",t.color),e.dataset.sel=String(t===a),M(e),e.addEventListener("focus",()=>L(t,!1));let s=!1;J(e,{onDown:n=>{n.preventDefault(),n.stopPropagation(),e.focus({focusVisible:!1}),L(t,!1),s=!1},onMove:n=>{let r=b.getBoundingClientRect();t.pos=h((n.clientX-r.left)/(r.width||1),0,1),e.style.left=t.pos*100+"%",M(e),f(),w(),s=l.length>2&&(n.clientY<r.top-24||n.clientY>r.bottom+24),e.dataset.removing=String(s)},onEnd:()=>{s?_(t):e.dataset.removing="false"}}),e.addEventListener("dblclick",n=>{n.preventDefault(),_(t)}),e.addEventListener("keydown",n=>{let r=n.key==="ArrowLeft"?-1:n.key==="ArrowRight"?1:0;r&&(n.preventDefault(),t.pos=h(t.pos+r*(n.shiftKey?.1:.01),0,1),e.style.left=t.pos*100+"%",M(e),f(),w())}),b.append(e)}},L=(t,e)=>{t!==a&&(u.set(t.color),a=t),e?R():ct()},dt=t=>{let e=b.getBoundingClientRect();return h((t-e.left)/(e.width||1),0,1)},ft=t=>{let e=C(),s=e[0],n=e[e.length-1];for(let m=0;m<e.length-1;m++)if(t>=e[m].pos&&t<=e[m+1].pos){s=e[m],n=e[m+1];break}let r=q(X(d),n.pos>s.pos?h((t-s.pos)/(n.pos-s.pos),0,1):0),i=I(s.color),c=I(n.color),x=m=>m[1]<1e-4,E=c[2]-i[2];E>180?E-=360:E<-180&&(E+=360),(x(i)||x(c))&&(E=0);let ut=(((x(i)&&!x(c)?c[2]:i[2])+E*r)%360+360)%360;return ot(i[0]+(c[0]-i[0])*r,i[1]+(c[1]-i[1])*r,ut,i[3]+(c[3]-i[3])*r)},_=t=>{if(l.length<=2)return;let e=l.indexOf(t);if(e<0)return;l.splice(e,1);let s=a===t?l[Math.max(0,e-1)]:a;f(),L(s,!0),G(),w(),H(a)?.focus()},K=t=>{let e={color:ft(t),pos:h(t,0,1)};return l.push(e),f(),L(e,!0),G(),w(),e},gt=()=>{let t=C(),e=t.indexOf(a);e<0&&(e=0);let s=e<t.length-1?(t[e].pos+t[e+1].pos)/2:e>0?(t[e-1].pos+t[e].pos)/2:h(t[e].pos+.1,0,1);K(s)};return A.addEventListener("click",t=>{t.stopPropagation(),gt()}),B.addEventListener("dblclick",t=>{t.target.closest(".tw-gradient-stop")||(t.preventDefault(),K(dt(t.clientX)))}),v.tabIndex=-1,v.addEventListener("keydown",t=>{(t.key==="Delete"||t.key==="Backspace")&&!t.altKey&&!/^(input|textarea|select)$/i.test(t.target.tagName)&&l.length>2&&(t.preventDefault(),_(a))}),z(p,O,v,{width:260,fallbackH:392,gap:6,onOpen:u.reflow,onReflow:u.reflow,initialFocus:()=>H(a)}),R(),f(),G(),{el:p,set:t=>{let e=nt(t);e&&u.setMode(F(e));let s=rt(t);s!==null&&(d=$(s),P());let n=at(t).sort((r,i)=>r.pos-i.pos);if(n.length===l.length)C().forEach((r,i)=>{r.color=n[i].color,r.pos=n[i].pos;let c=H(r);c&&(c.style.left=r.pos*100+"%",c.style.setProperty("--stop",r.color))});else{let r=a.pos;l=n,a=l.reduce((i,c)=>Math.abs(c.pos-r)<Math.abs(i.pos-r)?c:i,l[0]),R()}f(),G(),u.set(a.color)},get:()=>D()}}V("gradient",ht);
1
+ import{a as W,b as F,c as Z,d as tt,e as I,f as et,g as ot}from"./chunk-GDMWOXFU.js";import{e as J,i as Q}from"./chunk-5G6TFQOD.js";import{J as z,W as U,Y as V,a as X,b as $,c as q,e as Y,g as h,u as y,v as j}from"./chunk-3GZFWFKC.js";var mt=U('<path d="M12 5v14m7-7H5"/>',"",2.5),lt=(o,S)=>o&&!Array.isArray(o)&&typeof o[S]=="string"?o[S]:null,nt=o=>lt(o,"interpolation"),rt=o=>lt(o,"easing"),st=[["linear","Linear"],["ease","Ease"],["ease-in","Ease in"],["ease-out","Ease out"],["ease-in-out","Ease in-out"]];function at(o){let S=[{color:"oklch(0.72 0.19 25)",pos:0},{color:"oklch(0.72 0.16 280)",pos:1}],l=Array.isArray(o)?o:o&&Array.isArray(o.stops)?o.stops:null,a=(p,O)=>tt(p)?{color:String(p).trim(),pos:h(+O||0,0,1)}:null,d=(l||[]).map(p=>Array.isArray(p)?a(p[0],p[1]):p&&typeof p=="object"?a(p.color,p.pos):null).filter(Boolean);return d.length>=2?d:S}function ht(o,S){o.value??(o.value=o.stops);let l=at(o.value),a=l[0],d=$(rt(o.value)),{root:p,trigger:O,right:it}=Q("tw-gradient",o.label??"Gradient"),k=y("span","tw-trigger-chip tw-gradient-preview");k.setAttribute("role","img"),it.append(k);let v=y("div","tw-color-pop tw-gradient-pop"),N=y("div","tw-gradient-bar-row"),B=y("div","tw-gradient-bar"),T=y("div","tw-gradient-grad"),b=y("div","tw-gradient-rail");B.append(T,b);let A=j("tw-gradient-add",mt);A.title="Add a stop after the selected one",A.setAttribute("aria-label","Add a colour stop after the selected one"),N.append(B,A);let C=()=>[...l].sort((t,e)=>t.pos-e.pos),pt=()=>W(u.mode()),D=()=>({stops:C().map(t=>({color:t.color,pos:+t.pos.toFixed(4)})),interpolation:pt(),easing:d}),f=()=>{let t=Y(D());T.style.background=t,k.style.background=`${t}, ${Z}`},G=()=>{k.setAttribute("aria-label",`${l.length} stop${l.length===1?"":"s"}`)},w=()=>S(D()),H=t=>[...b.children].find(e=>e._stop===t),u=et({value:a.color,mode:F(nt(o.value)||"oklch"),onMode:()=>{f(),w()}},t=>{a.color=t,H(a)?.style.setProperty("--stop",t),f(),w()}),g=y("select","tw-color-mode tw-gradient-ease");g.setAttribute("aria-label","Easing between stops"),g.title="How the ramp blends between stops";for(let[t,e]of st){let s=document.createElement("option");s.value=t,s.textContent=e,g.append(s)}let P=()=>{let t=g.querySelector("option[data-custom]");st.some(([e])=>e===d)?t?.remove():(t||(t=document.createElement("option"),t.dataset.custom="",t.textContent="Custom",g.append(t)),t.value=d),g.value=d};g.addEventListener("change",()=>{d=g.value,P(),f(),w()}),u.el.querySelector(".tw-color-mode").after(g),P(),v.append(N,u.el),p.append(v);let M=t=>t.setAttribute("aria-label",`Colour stop at ${Math.round(t._stop.pos*100)}%${t._stop===a?", selected":""}`),ct=()=>{for(let t of b.children)t.dataset.sel=String(t._stop===a),M(t)},R=()=>{b.replaceChildren();for(let t of l){let e=j("tw-gradient-stop");e._stop=t,e.style.left=t.pos*100+"%",e.style.setProperty("--stop",t.color),e.dataset.sel=String(t===a),M(e),e.addEventListener("focus",()=>L(t,!1));let s=!1;J(e,{onDown:n=>{n.preventDefault(),n.stopPropagation(),e.focus({focusVisible:!1}),L(t,!1),s=!1},onMove:n=>{let r=b.getBoundingClientRect();t.pos=h((n.clientX-r.left)/(r.width||1),0,1),e.style.left=t.pos*100+"%",M(e),f(),w(),s=l.length>2&&(n.clientY<r.top-24||n.clientY>r.bottom+24),e.dataset.removing=String(s)},onEnd:()=>{s?_(t):e.dataset.removing="false"}}),e.addEventListener("dblclick",n=>{n.preventDefault(),_(t)}),e.addEventListener("keydown",n=>{let r=n.key==="ArrowLeft"?-1:n.key==="ArrowRight"?1:0;r&&(n.preventDefault(),t.pos=h(t.pos+r*(n.shiftKey?.1:.01),0,1),e.style.left=t.pos*100+"%",M(e),f(),w())}),b.append(e)}},L=(t,e)=>{t!==a&&(u.set(t.color),a=t),e?R():ct()},dt=t=>{let e=b.getBoundingClientRect();return h((t-e.left)/(e.width||1),0,1)},ft=t=>{let e=C(),s=e[0],n=e[e.length-1];for(let m=0;m<e.length-1;m++)if(t>=e[m].pos&&t<=e[m+1].pos){s=e[m],n=e[m+1];break}let r=q(X(d),n.pos>s.pos?h((t-s.pos)/(n.pos-s.pos),0,1):0),i=I(s.color),c=I(n.color),x=m=>m[1]<1e-4,E=c[2]-i[2];E>180?E-=360:E<-180&&(E+=360),(x(i)||x(c))&&(E=0);let ut=(((x(i)&&!x(c)?c[2]:i[2])+E*r)%360+360)%360;return ot(i[0]+(c[0]-i[0])*r,i[1]+(c[1]-i[1])*r,ut,i[3]+(c[3]-i[3])*r)},_=t=>{if(l.length<=2)return;let e=l.indexOf(t);if(e<0)return;l.splice(e,1);let s=a===t?l[Math.max(0,e-1)]:a;f(),L(s,!0),G(),w(),H(a)?.focus()},K=t=>{let e={color:ft(t),pos:h(t,0,1)};return l.push(e),f(),L(e,!0),G(),w(),e},gt=()=>{let t=C(),e=t.indexOf(a);e<0&&(e=0);let s=e<t.length-1?(t[e].pos+t[e+1].pos)/2:e>0?(t[e-1].pos+t[e].pos)/2:h(t[e].pos+.1,0,1);K(s)};return A.addEventListener("click",t=>{t.stopPropagation(),gt()}),B.addEventListener("dblclick",t=>{t.target.closest(".tw-gradient-stop")||(t.preventDefault(),K(dt(t.clientX)))}),v.tabIndex=-1,v.addEventListener("keydown",t=>{(t.key==="Delete"||t.key==="Backspace")&&!t.altKey&&!/^(input|textarea|select)$/i.test(t.target.tagName)&&l.length>2&&(t.preventDefault(),_(a))}),z(p,O,v,{width:260,fallbackH:392,gap:6,onOpen:u.reflow,onReflow:u.reflow,initialFocus:()=>H(a)}),R(),f(),G(),{el:p,set:t=>{let e=nt(t);e&&u.setMode(F(e));let s=rt(t);s!==null&&(d=$(s),P());let n=at(t).sort((r,i)=>r.pos-i.pos);if(n.length===l.length)C().forEach((r,i)=>{r.color=n[i].color,r.pos=n[i].pos;let c=H(r);c&&(c.style.left=r.pos*100+"%",c.style.setProperty("--stop",r.color))});else{let r=a.pos;l=n,a=l.reduce((i,c)=>Math.abs(c.pos-r)<Math.abs(i.pos-r)?c:i,l[0]),R()}f(),G(),u.set(a.color)},get:()=>D()}}V("gradient",ht);
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-SIIHIBXV.js";import"./chunk-WWCMYF2Q.js";export{c as accentColor,g as boxFrac,b as cssVar,e as dragGesture,h as fitCanvas,f as grabSurface,j as numField,d as selectAllOnFocus,l as springCurve,k as springSpan,a as svgEl,i as triggerRow};
1
+ import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-5G6TFQOD.js";import"./chunk-3GZFWFKC.js";export{c as accentColor,g as boxFrac,b as cssVar,e as dragGesture,h as fitCanvas,f as grabSurface,j as numField,d as selectAllOnFocus,l as springCurve,k as springSpan,a as svgEl,i as triggerRow};
@@ -1 +1 @@
1
- import{i as u}from"./chunk-SIIHIBXV.js";import{X as f,t as i}from"./chunk-WWCMYF2Q.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}=u("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(o,p);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}}f("image",v);
1
+ import{i as u}from"./chunk-5G6TFQOD.js";import{Y as f,u as i}from"./chunk-3GZFWFKC.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}=u("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(o,p);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}}f("image",v);
@@ -0,0 +1 @@
1
+ import{e as Z}from"./chunk-5G6TFQOD.js";import{B as U,Y,g as r,j as T,k as q,l as B,n as G,o as A,p as P,q as C,u as f,w as V,y as J,z as Q}from"./chunk-3GZFWFKC.js";function nt(a,_){let E=a.label,w=+(a.value&&a.value[0]),x=+(a.value&&a.value[1]),N=Number.isFinite(w)?w:0,k=Number.isFinite(x)?x:1,[S,W]=[C(N),C(k)],R=t=>t!=null&&t!==""&&Number.isFinite(+t),{min:n,max:l,step:h}=G(R(a.min)?a.min:Math.min(S[0],W[0]),R(a.max)?a.max:Math.max(S[1],W[1]),a.step,N,k);[n,l]=B(n,l,h);let $=T(h),b=t=>q(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"),c=f("div","tw-slider tw-interval"),F=f("div","tw-slider-fill"),d=f("div","tw-slider-handle"),u=f("div","tw-slider-handle"),L=V("span","tw-slider-label",E),y=f("span","tw-slider-value");c.append(F,d,u,L,y),v.append(c),[["minimum",d],["maximum",u]].forEach(([t,e])=>{e.tabIndex=0,e.setAttribute("role","slider"),e.setAttribute("aria-label",`${E} ${t}`),e.setAttribute("aria-valuemin",String(n)),e.setAttribute("aria-valuemax",String(l))});let M=t=>(t-n)/(l-n||1)*100,D=t=>`clamp(5px, calc(${t}% - 1.5px), calc(100% - 9px))`,m=()=>{let t=M(i),e=M(s);F.style.left=t+"%",F.style.width=Math.max(0,e-t)+"%",d.style.left=D(t),u.style.left=D(e),y.textContent=`${i.toFixed($)} \u2013 ${s.toFixed($)}`,d.setAttribute("aria-valuenow",String(i)),u.setAttribute("aria-valuenow",String(s));let o=v.offsetWidth;if(o){L.style.maxWidth=Math.max(0,o-y.offsetWidth-12-8-10)+"px";let K=et=>P(L,y,et/100*o-1.5,3);d.classList.toggle("is-dodge",K(M(i))),u.classList.toggle("is-dodge",K(M(s)))}};m();let O=()=>_([i,s]),j=t=>{i=r(Math.min(b(t),s),n,l),m()},H=t=>{s=r(Math.max(b(t),i),n,l),m()},p=null,X=1,g=null,tt=t=>{let e=v.offsetWidth||p.width,o=r((t-p.left)/X/e,0,1);return r(n+o*(l-n),n,l)},z=t=>{let e=tt(t);g||(g=e<i?"lo":e>s?"hi":Math.abs(e-i)<=Math.abs(e-s)?"lo":"hi"),g==="lo"?j(e):H(e),O()};Z(c,{onDown:t=>{t.preventDefault(),p=v.getBoundingClientRect(),X=p.width/(v.offsetWidth||p.width),c.classList.add("is-active","is-dragging"),g=null,z(t.clientX),(g==="lo"?d:u).focus({focusVisible:!1})},onMove:t=>z(t.clientX),onEnd:()=>{p=null,g=null,c.classList.remove("is-active","is-dragging")}}),U(c,m),J(m),Q(c,[[window,"resize"],[window,"tw-reflow"]],m);let I=t=>e=>{let o=t==="lo"?A(e,i,h,n,s):A(e,s,h,i,l);o!=null&&(e.preventDefault(),t==="lo"?j(o):H(o),O())};return d.addEventListener("keydown",I("lo")),u.addEventListener("keydown",I("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]}}Y("interval",nt);
@@ -1,2 +1,2 @@
1
- import{c as T,h as D}from"./chunk-SIIHIBXV.js";import{W as y,X as j,g as q,r as L,t as R,v as S}from"./chunk-WWCMYF2Q.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(`
1
+ import{c as T,h as D}from"./chunk-5G6TFQOD.js";import{X as y,Y as j,g as q,s as L,u as R,w as S}from"./chunk-3GZFWFKC.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
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));
@@ -0,0 +1 @@
1
+ import{a as U,i as re,j as ae,l as X}from"./chunk-5G6TFQOD.js";import{J as ne,L as ie,V as se,Y as oe,Z as L,g as b,h as _,u as a,w as te}from"./chunk-3GZFWFKC.js";var q={ease:[.25,.1,.25,1],linear:[0,0,1,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]},ye=300,F=1e4,he=16,ue=.9,r=e=>typeof e=="number"?Number.isFinite(e):typeof e=="string"&&e.trim()!==""&&Number.isFinite(+e),B=e=>{if(typeof e=="string")return Object.prototype.hasOwnProperty.call(q,e)?q[e].slice():null;if(Array.isArray(e)&&e.length===4){let o=e.map(Number);return o.every(Number.isFinite)?o:null}return null},ce=e=>r(e.stiffness)||r(e.damping)||r(e.mass)||r(e.visualDuration)||r(e.bounce),pe=e=>{let o={mode:"time"};if(r(e.stiffness)){let w=+e.stiffness,M=r(e.mass)?+e.mass:1,g=Math.sqrt(w/M);o.visualDuration=2*Math.PI/g,r(e.damping)&&(o.bounce=b(1-+e.damping/(2*Math.sqrt(w*M)),0,ue))}return r(e.visualDuration)&&(o.visualDuration=+e.visualDuration),r(e.bounce)&&(o.bounce=b(+e.bounce,0,ue)),o},le=(e,o)=>e.mode==="spring"||e.mode==="easing"?e.mode:ce(e)?"spring":B(e.curve)?"easing":o;function ve(e,o){let w=L("cubicbezier"),M=L("spring");if(!w||!M)throw new Error("[tweaks] motion: the bezier and spring controls are not loaded");let g=_(e.value)?e.value:{},i=le(g,"easing"),l=B(g.curve)??q.ease.slice(),y=r(g.duration)?b(+g.duration,0,F):ye,{root:I,trigger:me,right:de}=re("tw-motion",e.label??"Motion"),H=a("span","tw-trigger-chip tw-motion-chip"),E=U("svg");E.setAttribute("viewBox","0 0 100 100"),E.setAttribute("preserveAspectRatio","none");let V=U("path");E.append(V),H.append(E);let W=a("span","tw-trigger-value");de.append(H,W);let R=a("div","tw-color-pop tw-motion-pop"),G=a("div","tw-motion-body");R.append(G);let C=w({...e,type:"cubicbezier",label:"",value:l.slice()},t=>{l=t,v(),S()});l=C.get();let p=M({...e,type:"spring",label:"",value:pe(g)},()=>{v(),S()}),D=ae({label:"Duration",value:y,step:10,min:0,max:F,unit:"ms"},t=>{y=b(t,0,F),v(),S()});y=D.get();let $=a("div","tw-motion-pane"),j=a("div","tw-motion-pane"),K=a("div","tw-fields");K.append(D.el),$.append(C.el,K),j.append(p.el);let c=a("div","tw-motion-stage"),h=a("div","tw-motion-box");c.append(h);let O=se([{value:"easing",label:"Easing"},{value:"spring",label:"Spring"}],i,t=>{(t==="easing"||t==="spring")&&t!==i&&(i=t,z(),v(),S())},"Motion type"),J=a("div","tw-row");J.append(te("span","tw-row-label","Type"),O.el),G.append(J,$,j,c),I.append(R);let P=()=>{if(i==="easing")return{mode:i,curve:l.slice(),duration:y,easing:`cubic-bezier(${l.join(", ")})`};let t=p.get(),n=7/Math.max(t.damping/(2*t.mass),.5),u=b(Math.round(n*40),48,240);return{mode:i,...t,duration:Math.round(n*1e3),easing:`linear(${X(t.stiffness,t.damping,t.mass,u,n).map(s=>+s.toFixed(3)).join(", ")})`}},S=()=>o(P()),x=!1,A=null,k=t=>{if(t)x=!x;else if(A&&A.playState==="running")return;let n=P(),u=Math.max(0,c.clientWidth-h.offsetWidth-2*he),s=`translateX(${x?0:u}px)`,m=`translateX(${x?u:0}px)`;if(ie.matches||typeof h.animate!="function"){h.style.transform=m;return}A?.cancel();let d=[{transform:s},{transform:m}];try{A=h.animate(d,{duration:n.duration,easing:n.easing,fill:"forwards"})}catch{A=h.animate(d,{duration:n.duration,fill:"forwards"})}};c.addEventListener("click",()=>k(!0)),c.tabIndex=0,c.setAttribute("role","button"),c.setAttribute("aria-label","Replay the motion"),c.addEventListener("keydown",t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),k(!0))});let ge=()=>{let t;if(i==="easing"){let[s,m,d,be]=l;t=[];for(let N=0;N<=24;N++){let f=N/24,T=1-f,Y=3*T*T*f,Z=3*T*f*f,ee=f*f*f;t.push([Y*s+Z*d+ee,Y*m+Z*be+ee])}}else{let s=p.get();t=X(s.stiffness,s.damping,s.mass,32).map((m,d)=>[d/31,m])}let n=Math.max(1,...t.map(s=>s[1])),u=Math.min(0,...t.map(s=>s[1]));return t.map(([s,m],d)=>`${d?"L":"M"}${(10+s*80).toFixed(1)},${(90-(m-u)/(n-u)*80).toFixed(1)}`).join(" ")},Q=()=>{i==="easing"?C.set(l.slice()):p.set(p.get())},z=()=>{$.style.display=i==="easing"?"":"none",j.style.display=i==="spring"?"":"none",Q()},fe=()=>i==="easing"?`Easing \xB7 ${y} ms`:`Spring \xB7 ${Math.round((p.get().visualDuration??0)*1e3)} ms`,v=()=>{V.setAttribute("d",ge()),W.textContent=fe(),k(!1)};return ne(I,me,R,{width:240,fallbackH:380,gap:6,onOpen:()=>{O.set(i),Q(),k(!0)},initialFocus:()=>O.el.querySelector('[tabindex="0"]')}),z(),v(),{el:I,set:t=>{let n=typeof t=="string"?{curve:t}:Array.isArray(t)&&t.length===4?{curve:t}:_(t)?t:null;if(!n)return;i=le(n,i);let u=B(n.curve);u&&(C.set(u.slice()),l=C.get()),i==="easing"&&r(n.duration)&&(D.set(b(+n.duration,0,F)),y=D.get()),ce(n)&&p.set(pe(n)),O.set(i),z(),v()},get:P,destroy:()=>p.destroy&&p.destroy()}}oe("motion",ve);