1var Hd=Object.defineProperty;var dl=n=>{throw TypeError(n)};var Wd=(n,e,t)=>e in n?Hd(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var pl=(n,e,t)=>Wd(n,typeof e!="symbol"?e+"":e,t),qs=(n,e,t)=>e.has(n)||dl("Cannot "+t);var _=(n,e,t)=>(qs(n,e,"read from private field"),t?t.call(n):e.get(n)),z=(n,e,t)=>e.has(n)?dl("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),hi=(n,e,t,i)=>(qs(n,e,"write to private field"),i?i.call(n,t):e.set(n,t),t),vl=(n,e,t)=>(qs(n,e,"access private method"),t);import{o as Gd,w as Yd,d as oe,a as $,t as ke,p as es,s as ts,j as Wo}from"../chunks/CB8GLOq2.js";import"../chunks/tQLlQo2N.js";import{m as Xd,n as Zd,aa as ml,E as Qd,aI as Jd,aJ as ep,z as iu,b as ru,aK as tp,W as np,B as ip,C as nt,ax as fl,ay as bl,az as rp,j as sp,a3 as me,a4 as W,a5 as fe,ac as Te,O as Ne,g as d,I as P,ae as O,aL as St,aM as ns,aN as B,e as S,aO as Xe,ad as op,D as se,a0 as ne,a1 as J,a2 as mn,aP as Kt,aQ as su,M as ou,$ as ue,Y as _l,A as ap,a as lp,aw as cp}from"../chunks/DcSRrTR8.js";import{b as Pi,c as hs,e as ds,s as up}from"../chunks/BiOyiMp2.js";import{i as ct}from"../chunks/XyD8MmDC.js";import{s as Ve,r as Pn,p as g,a as fn,b as au,c as gr,l as Pe,d as wl}from"../chunks/DokCrlMN.js";import{i as Ie,b as ti}from"../chunks/D8LkY8n3.js";import{a as ni,o as Cr,c as hp,b as dp}from"../chunks/CalFzl4G.js";import{w as Go}from"../chunks/Da7cRig9.js";import{I as En,s as kn}from"../chunks/CVVCbAM1.js";function ft(n,e,t,i,r){var a;Xd&&Zd();var s=(a=e.$$slots)==null?void 0:a[t],o=!1;s===!0&&(s=e.children,o=!0),s===void 0||s(n,o?()=>i:i)}const pp=()=>performance.now(),vt={tick:n=>requestAnimationFrame(n),now:()=>pp(),tasks:new Set};function lu(){const n=vt.now();vt.tasks.forEach(e=>{e.c(n)||(vt.tasks.delete(e),e.f())}),vt.tasks.size!==0&&vt.tick(lu)}function cu(n){let e;return vt.tasks.size===0&&vt.tick(lu),{promise:new Promise(t=>{vt.tasks.add(e={c:n,f:t})}),abort(){vt.tasks.delete(e)}}}function Hr(n,e){Yd(()=>{n.dispatchEvent(new CustomEvent(e))})}function vp(n){if(n==="float")return"cssFloat";if(n==="offset")return"cssOffset";if(n.startsWith("--"))return n;const e=n.split("-");return e.length===1?e[0]:e[0]+e.slice(1).map(t=>t[0].toUpperCase()+t.slice(1)).join("")}function gl(n){const e={},t=n.split(";");for(const i of t){const[r,s]=i.split(":");if(!r||s===void 0)break;const o=vp(r.trim());e[o]=s.trim()}return e}const mp=n=>n;function fp(n,e,t,i){var r=(n&tp)!==0,s="both",o,a=e.inert,l=e.style.overflow,c,u;function h(){var b=rp,E=ml;fl(null),bl(null);try{return o??(o=t()(e,(i==null?void 0:i())??{},{direction:s}))}finally{fl(b),bl(E)}}var p={is_global:r,in(){e.inert=a,Hr(e,"introstart"),c=Eo(e,h(),u,1,()=>{Hr(e,"introend"),c==null||c.abort(),c=o=void 0,e.style.overflow=l})},out(b){e.inert=!0,Hr(e,"outrostart"),u=Eo(e,h(),c,0,()=>{Hr(e,"outroend"),b==null||b()})},stop:()=>{c==null||c.abort(),u==null||u.abort()}},v=ml;if((v.transitions??(v.transitions=[])).push(p),Gd){var m=r;if(!m){for(var f=v.parent;f&&(f.f&Qd)!==0;)for(;(f=f.parent)&&(f.f&Jd)===0;);m=!f||(f.f&ep)!==0}m&&iu(()=>{ru(()=>p.in())})}}function Eo(n,e,t,i,r){var s=i===1;if(np(e)){var o,a=!1;return ip(()=>{if(!a){var b=e({direction:s?"in":"out"});o=Eo(n,b,t,i,r)}}),{abort:()=>{a=!0,o==null||o.abort()},deactivate:()=>o.deactivate(),reset:()=>o.reset(),t:()=>o.t()}}if(t==null||t.deactivate(),!(e!=null&&e.duration))return r(),{abort:nt,deactivate:nt,reset:nt,t:()=>i};const{delay:l=0,css:c,tick:u,easing:h=mp}=e;var p=[];if(s&&t===void 0&&(u&&u(0,1),c)){var v=gl(c(0,1));p.push(v,v)}var m=()=>1-i,f=n.animate(p,{duration:l});return f.onfinish=()=>{var b=(t==null?void 0:t.t())??1-i;t==null||t.abort();var E=i-b,C=e.duration*Math.abs(E),y=[];if(C>0){var K=!1;if(c)for(var j=Math.ceil(C/16.666666666666668),x=0;x<=j;x+=1){var M=b+E*h(x/j),U=gl(c(M,1-M));y.push(U),K||(K=U.overflow==="hidden")}K&&(n.style.overflow="hidden"),m=()=>{var D=f.currentTime;return b+E*h(D/C)},u&&cu(()=>{if(f.playState!=="running")return!1;var D=m();return u(D,1-D),!0})}f=n.animate(y,{duration:C,fill:"forwards"}),f.onfinish=()=>{m=()=>i,u==null||u(i,1-i),r()}},{abort:()=>{f&&(f.cancel(),f.effect=null,f.onfinish=nt)},deactivate:()=>{r=nt},reset:()=>{i===0&&(u==null||u(1,0))},t:()=>m()}}var Ut,Yn,Fi,ys,uu;const xs=class xs{constructor(e){z(this,ys);z(this,Ut,new WeakMap);z(this,Yn);z(this,Fi);hi(this,Fi,e)}observe(e,t){var i=_(this,Ut).get(e)||new Set;return i.add(t),_(this,Ut).set(e,i),vl(this,ys,uu).call(this).observe(e,_(this,Fi)),()=>{var r=_(this,Ut).get(e);r.delete(t),r.size===0&&(_(this,Ut).delete(e),_(this,Yn).unobserve(e))}}};Ut=new WeakMap,Yn=new WeakMap,Fi=new WeakMap,ys=new WeakSet,uu=function(){return _(this,Yn)??hi(this,Yn,new ResizeObserver(e=>{for(var t of e){xs.entries.set(t.target,t);for(var i of _(this,Ut).get(t.target)||[])i(t)}}))},pl(xs,"entries",new WeakMap);let ko=xs;var bp=new ko({box:"border-box"});function Cl(n,e,t){var i=bp.observe(n,()=>t(n[e]));iu(()=>(ru(()=>t(n[e])),i))}function Sn(n,e){var s;var t=(s=n.$$events)==null?void 0:s[e.type],i=sp(t)?t.slice():t==null?[]:[t];for(var r of i)r.call(this,e)}function _p(n,e){me(e,!0);let t=Pn(e,["$$slots","$$events","$$legacy"]);En(n,Ve({name:"circle-arrow-out-down-right"},()=>t,{iconNode:[["path",{d:"M12 22a10 10 0 1 1 10-10"}],["path",{d:"M22 22 12 12"}],["path",{d:"M22 16v6h-6"}]],children:(r,s)=>{var o=oe(),a=W(o);kn(a,()=>e.children??nt),$(r,o)},$$slots:{default:!0}}
1)),fe()}function wp(n,e){me(e,!0);let t=Pn(e,["$$slots","$$events","$$legacy"]);En(n,Ve({name:"circle-arrow-out-up-right"},()=>t,{iconNode:[["path",{d:"M22 12A10 10 0 1 1 12 2"}],["path",{d:"M22 2 12 12"}],["path",{d:"M16 2h6v6"}]],children:(r,s)=>{var o=oe(),a=W(o);kn(a,()=>e.children??nt),$(r,o)},$$slots:{default:!0}})),fe()}function gp(n,e){me(e,!0);let t=Pn(e,["$$slots","$$events","$$legacy"]);En(n,Ve({name:"circle-chevron-right"},()=>t,{iconNode:[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"m10 8 4 4-4 4"}]],children:(r,s)=>{var o=oe(),a=W(o);kn(a,()=>e.children??nt),$(r,o)},$$slots:{default:!0}})),fe()}function Cp(n,e){me(e,!0);let t=Pn(e,["$$slots","$$events","$$legacy"]);En(n,Ve({name:"circle"},()=>t,{iconNode:[["circle",{cx:"12",cy:"12",r:"10"}]],children:(r,s)=>{var o=oe(),a=W(o);kn(a,()=>e.children??nt),$(r,o)},$$slots:{default:!0}})),fe()}function yp(n,e){me(e,!0);let t=Pn(e,["$$slots","$$events","$$legacy"]);En(n,Ve({name:"list-collapse"},()=>t,{iconNode:[["path",{d:"m3 10 2.5-2.5L3 5"}],["path",{d:"m3 19 2.5-2.5L3 14"}],["path",{d:"M10 6h11"}],["path",{d:"M10 12h11"}],["path",{d:"M10 18h11"}]],children:(r,s)=>{var o=oe(),a=W(o);kn(a,()=>e.children??nt),$(r,o)},$$slots:{default:!0}})),fe()}function xp(n,e){me(e,!0);let t=Pn(e,["$$slots","$$events","$$legacy"]);En(n,Ve({name:"square-plus"},()=>t,{iconNode:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}],["path",{d:"M8 12h8"}],["path",{d:"M12 8v8"}]],children:(r,s)=>{var o=oe(),a=W(o);kn(a,()=>e.children??nt),$(r,o)},$$slots:{default:!0}})),fe()}function Pp(n,e){me(e,!0);let t=Pn(e,["$$slots","$$events","$$legacy"]);En(n,Ve({name:"trash"},()=>t,{iconNode:[["path",{d:"M3 6h18"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"}]],children:(r,s)=>{var o=oe(),a=W(o);kn(a,()=>e.children??nt),$(r,o)},$$slots:{default:!0}})),fe()}const ze=n=>(2*n-1)*Math.log(n/(1-n)),G={F:100,Nf:.00711,P:10,Np:.05,Nw:.003,SWU:100},is=n=>(n*100).toFixed(3)+"%";var Bi,Ri,ji,Ii,zi,Ui,qi,Ki,Hi;class Ep{constructor(e={}){z(this,Bi,Te(Ne(G.Nf)));z(this,Ri,Te(Ne(G.Np)));z(this,ji,Te(Ne(G.Nw)));z(this,Ii,Te(Ne(G.SWU)));z(this,zi,O(()=>(this.Np-this.Nw)/(this.Nf-this.Nw)));z(this,Ui,O(()=>ze(this.Np)-ze(this.Nw)-this.FF*(ze(this.Nf)-ze(this.Nw))));z(this,qi,O(()=>this.SWU/this.SWF));z(this,Ki,O(()=>this.FF*this.P));z(this,Hi,O(()=>this.F-this.P||0));this.Nf=e.Nf??G.Nf,this.Np=e.Np??G.Np,this.Nw=e.Nw??G.Nw,this.SWU=e.SWU??G.SWU}get Nf(){return d(_(this,Bi))}set Nf(e){P(_(this,Bi),e,!0)}get Np(){return d(_(this,Ri))}set Np(e){P(_(this,Ri),e,!0)}get Nw(){return d(_(this,ji))}set Nw(e){P(_(this,ji),e,!0)}get SWU(){return d(_(this,Ii))}set SWU(e){P(_(this,Ii),e,!0)}get FF(){return d(_(this,zi))}set FF(e){P(_(this,zi),e)}get SWF(){return d(_(this,Ui))}set SWF(e){P(_(this,Ui),e)}get P(){return d(_(this,qi))}set P(e){P(_(this,qi),e)}get F(){return d(_(this,Ki))}set F(e){P(_(this,Ki),e)}get W(){return d(_(this,Hi))}set W(e){P(_(this,Hi),e)}}Bi=new WeakMap,Ri=new WeakMap,ji=new WeakMap,Ii=new WeakMap,zi=new WeakMap,Ui=new WeakMap,qi=new WeakMap,Ki=new WeakMap,Hi=new WeakMap;var Wi,Gi,Yi,Xi,Zi,Qi,Ji,er,tr;class kp{constructor(e={}){z(this,Wi,Te(Ne(G.Nf)));z(this,Gi,Te(Ne(G.P)));z(this,Yi,Te(Ne(G.Np)));z(this,Xi,Te(Ne(G.Nw)));z(this,Zi,O(()=>(this.Np-this.Nw)/(this.Nf-this.Nw)));z(this,Qi,O(()=>ze(this.Np)-ze(this.Nw)-this.FF*(ze(this.Nf)-ze(this.Nw))));z(this,Ji,O(()=>this.FF*this.P));z(this,er,O(()=>this.P*this.SWF));z(this,tr,O(()=>this.F-this.P||0));this.Nf=e.Nf??G.Nf,this.P=e.P??G.P,this.Np=e.Np??G.Np,this.Nw=e.Nw??G.Nw}get Nf(){return d(_(this,Wi))}set Nf(e){P(_(this,Wi),e,!0)}get P(){return d(_(this,Gi))}set P(e){P(_(this,Gi),e,!0)}get Np(){return d(_(this,Yi))}set Np(e){P(_(this,Yi),e,!0)}get Nw(){return d(_(this,Xi))}set Nw(e){P(_(this,Xi),e,!0)}get FF(){return d(_(this,Zi))}set FF(e){P(_(this,Zi),e)}get SWF(){return d(_(this,Qi))}set SWF(e){P(_(this,Qi),e)}get F(){return d(_(this,Ji))}set F(e){P(_(this,Ji),e)}get SWU(){return d(_(this,er))}set SWU(e){P(_(this,er),e)}get W(){return d(_(this,tr))}set W(e){P(_(this,tr),e)}}Wi=new WeakMap,Gi=new WeakMap,Yi=new WeakMap,Xi=new WeakMap,Zi=new WeakMap,Qi=new WeakMap,Ji=new WeakMap,er=new WeakMap,tr=new WeakMap;var nr,ir,rr,sr,or,ar,lr,cr,ur;class Sp{constructor(e={}){z(this,nr,Te(Ne(G.Nf)));z(this,ir,Te(Ne(G.F)));z(this,rr,Te(Ne(G.Np)));z(this,sr,Te(Ne(G.Nw)));z(this,or,O(()=>(this.Np-this.Nw)/(this.Nf-this.Nw)));z(this,ar,O(()=>ze(this.Np)-ze(this.Nw)-this.FF*(ze(this.Nf)-ze(this.Nw))));z(this,lr,O(()=>this.F/this.FF));z(this,cr,O(()=>this.P*this.SWF));z(this,ur,O(()=>this.F-this.P||0));this.Nf=e.Nf??G.Nf,this.F=e.F??G.F,this.Np=e.Np??G.Np,this.Nw=e.Nw??G.Nw}get Nf(){return d(_(this,nr))}set Nf(e){P(_(this,nr),e,!0)}get F(){return d(_(this,ir))}set F(e){P(_(this,ir),e,!0)}get Np(){return d(_(this,rr))}set Np(e){P(_(this,rr),e,!0)}get Nw(){return d(_(this,sr))}set Nw(e){P(_(this,sr),e,!0)}get FF(){return d(_(this,or))}set FF(e){P(_(this,or),e)}get SWF(){return d(_(this,ar))}set SWF(e){P(_(this,ar),e)}get P(){return d(_(this,lr))}set P(e){P(_(this,lr),e)}get SWU(){return d(_(this,cr))}set SWU(e){P(_(this,cr),e)}get W(){return d(_(this,ur))}set W(e){P(_(this,ur),e)}}nr=new WeakMap,ir=new WeakMap,rr=new WeakMap,sr=new WeakMap,or=new WeakMap,ar=new WeakMap,lr=new WeakMap,cr=new WeakMap,ur=new WeakMap;var hr,dr,pr,vr,mr,fr,br,_r;class Vp{constructor(e={}){z(this,hr,Te(Ne(G.F)));z(this,dr,Te(Ne(G.Nf)));z(this,pr,Te(Ne(G.P)));z(this,vr,Te(Ne(G.Np)));z(this,mr,O(()=>this.F-this.P||0));z(this,fr,Te(Ne(G.Nw)));z(this,br,O(()=>this.P*ze(this.Np)+this.W*ze(this.Nw)-this.F*ze(this.Nf)));z(this,_r,O(()=>this.Nf*this.F));this.F=e.F??G.F,this.Nf=e.Nf??G.Nf,this.P=e.P??G.P,this.Np=e.Np??G.Np,this.Nw=e.Nw??G.Nw}get F(){return d(_(this,hr))}set F(e){P(_(this,hr),e,!0)}get Nf(){return d(_(this,dr))}set Nf(e){P(_(this,dr),e,!0)}get P(){return d(_(this,pr))}set P(e){P(_(this,pr),e,!0)}get Np(){return d(_(this,vr))}set Np(e){P(_(this,vr),e,!0)}get W(){return d(_(this,mr))}set W(e){P(_(this,mr),e)}get Nw(){return d(_(this,fr))}set Nw(e){P(_(this,fr),e,!0)}get SWU(){return d(_(this,br))}set SWU(e){P(_(this,br),e)}get u235Mass(){return d(_(this,_r))}set u235Mass(e){P(_(this,_r),e)}}
1hr=new WeakMap,dr=new WeakMap,pr=new WeakMap,vr=new WeakMap,mr=new WeakMap,fr=new WeakMap,br=new WeakMap,_r=new WeakMap;const he=Ne({calculators:[],links:[],creatingLink:null,linkColorIndex:-1});function Lp(){he.creatingLink=null}const hu=["#efb118","#ff725c","#6cc5b0","#3ca951","#ff8ab7","#a463f2","#97bbf5","#9c6b4e","#9498a0","#4269d0"];function Ap(n,e){switch(n){case"FeedSwu":return new kp(e);case"ProductSwu":return new Sp(e);case"FeedProduct":return new Ep(e);case"SWU":return new Vp(e)}}function Ps(n,e){const t={id:crypto.randomUUID(),type:n,initialValues:e,calc:Ap(n,e)};he.calculators.push(t)}function Mp(n){$p(n),he.calculators=he.calculators.filter(e=>e.id!==n)}function $p(n){const e=he.links.filter(t=>t.source.id!==n&&t.target.id!==n);he.links=e}function Dp({source:n,target:e}){Tp();const t={id:crypto.randomUUID(),source:n,target:e,color:hu[he.linkColorIndex]};he.links.push(t)}function du({id:n}){he.links=he.links.filter(e=>e.id!==n)}function Tp(){he.linkColorIndex>=hu.length?he.linkColorIndex=0:he.linkColorIndex++}function de(n){return n==null}function Yo(n){return n!==null&&typeof n=="object"}function So(n){return n!==null&&typeof n=="object"}function Np(n,e){if(n.length!==e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!==e[t])return!1;return!0}function bn(n,e){return Array.from(new Set([...Object.keys(n),...Object.keys(e)])).reduce((i,r)=>{const s=n[r],o=e[r];return So(s)&&So(o)?Object.assign(Object.assign({},i),{[r]:bn(s,o)}):Object.assign(Object.assign({},i),{[r]:r in e?o:s})},{})}function Op(n){return Yo(n)?"target"in n:!1}const Fp={alreadydisposed:()=>"View has been already disposed",invalidparams:n=>`Invalid parameters for '${n.name}'`,nomatchingcontroller:n=>`No matching controller for '${n.key}'`,nomatchingview:n=>`No matching view for '${JSON.stringify(n.params)}'`,notbindable:()=>"Value is not bindable",notcompatible:n=>`Not compatible with plugin '${n.id}'`,propertynotfound:n=>`Property '${n.name}' not found`,shouldneverhappen:()=>"This error should never happen"};let at=class Un{static alreadyDisposed(){return new Un({type:"alreadydisposed"})}static notBindable(){return new Un({type:"notbindable"})}static notCompatible(e,t){return new Un({type:"notcompatible",context:{id:`${e}.${t}`}})}static propertyNotFound(e){return new Un({type:"propertynotfound",context:{name:e}})}static shouldNeverHappen(){return new Un({type:"shouldneverhappen"})}constructor(e){var t;this.message=(t=Fp[e.type](e.context))!==null&&t!==void 0?t:"Unexpected error",this.name=this.constructor.name,this.stack=new Error(this.message).stack,this.type=e.type}toString(){return this.message}},yl=class pu{constructor(e,t){this.obj_=e,this.key=t}static isBindable(e){return!(e===null||typeof e!="object"&&typeof e!="function")}read(){return this.obj_[this.key]}write(e){this.obj_[this.key]=e}writeProperty(e,t){const i=this.read();if(!pu.isBindable(i))throw at.notBindable();if(!(e in i))throw at.propertyNotFound(e);i[e]=t}},Fe=class{constructor(){this.observers_={}}on(e,t,i){var r;let s=this.observers_[e];return s||(s=this.observers_[e]=[]),s.push({handler:t,key:(r=i==null?void 0:i.key)!==null&&r!==void 0?r:t}),this}off(e,t){const i=this.observers_[e];return i&&(this.observers_[e]=i.filter(r=>r.key!==t)),this}emit(e,t){const i=this.observers_[e];i&&i.forEach(r=>{r.handler(t)})}},Bp=class{constructor(e,t){var i;this.constraint_=t==null?void 0:t.constraint,this.equals_=(i=t==null?void 0:t.equals)!==null&&i!==void 0?i:(r,s)=>r===s,this.emitter=new Fe,this.rawValue_=e}get constraint(){return this.constraint_}get rawValue(){return this.rawValue_}set rawValue(e){this.setRawValue(e,{forceEmit:!1,last:!0})}setRawValue(e,t){const i=t??{forceEmit:!1,last:!0},r=this.constraint_?this.constraint_.constrain(e):e,s=this.rawValue_;this.equals_(s,r)&&!i.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.rawValue_=r,this.emitter.emit("change",{options:i,previousRawValue:s,rawValue:r,sender:this}))}},Rp=class{constructor(e){this.emitter=new Fe,this.value_=e}get rawValue(){return this.value_}set rawValue(e){this.setRawValue(e,{forceEmit:!1,last:!0})}setRawValue(e,t){const i=t??{forceEmit:!1,last:!0},r=this.value_;r===e&&!i.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.value_=e,this.emitter.emit("change",{options:i,previousRawValue:r,rawValue:this.value_,sender:this}))}},jp=class{constructor(e){this.emitter=new Fe,this.onValueBeforeChange_=this.onValueBeforeChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.value_=e,this.value_.emitter.on("beforechange",this.onValueBeforeChange_),this.value_.emitter.on("change",this.onValueChange_)}get rawValue(){return this.value_.rawValue}onValueBeforeChange_(e){this.emitter.emit("beforechange",Object.assign(Object.assign({},e),{sender:this}))}onValueChange_(e){this.emitter.emit("change",Object.assign(Object.assign({},e),{sender:this}))}};function ge(n,e){const t=e==null?void 0:e.constraint,i=e==null?void 0:e.equals;return!t&&!i?new Rp(n):new Bp(n,e)}function Ip(n){return[new jp(n),(e,t)=>{n.setRawValue(e,t)}]}let F=class vu{constructor(e){this.emitter=new Fe,this.valMap_=e;for(const t in this.valMap_)this.valMap_[t].emitter.on("change",()=>{this.emitter.emit("change",{key:t,sender:this})})}static createCore(e){return Object.keys(e).reduce((i,r)=>Object.assign(i,{[r]:ge(e[r])}),{})}static fromObject(e){const t=this.createCore(e);return new vu(t)}get(e){return this.valMap_[e].rawValue}set(e,t){this.valMap_[e].rawValue=t}value(e){return this.valMap_[e]}},yr=class{constructor(e){this.values=F.fromObject({max:e.max,min:e.min})}constrain(e){const t=this.values.get("max"),i=this.values.get("min");return Math.min(Math.max(e,i),t)}},Es=class{constructor(e){this.values=F.fromObject({max:e.max,min:e.min})}constrain(e){const t=this.values.get("max"),i=this.values.get("min");let r=e;
1return de(i)||(r=Math.max(r,i)),de(t)||(r=Math.min(r,t)),r}},mu=class{constructor(e,t=0){this.step=e,this.origin=t}constrain(e){const t=this.origin%this.step,i=Math.round((e-t)/this.step);return t+i*this.step}},zp=class{constructor(e){this.text=e}evaluate(){return Number(this.text)}toString(){return this.text}};const Up={"**":(n,e)=>Math.pow(n,e),"*":(n,e)=>n*e,"/":(n,e)=>n/e,"%":(n,e)=>n%e,"+":(n,e)=>n+e,"-":(n,e)=>n-e,"<<":(n,e)=>n<<e,">>":(n,e)=>n>>e,">>>":(n,e)=>n>>>e,"&":(n,e)=>n&e,"^":(n,e)=>n^e,"|":(n,e)=>n|e};let qp=class{constructor(e,t,i){this.left=t,this.operator=e,this.right=i}evaluate(){const e=Up[this.operator];if(!e)throw new Error(`unexpected binary operator: '${this.operator}`);return e(this.left.evaluate(),this.right.evaluate())}toString(){return["b(",this.left.toString(),this.operator,this.right.toString(),")"].join(" ")}};const Kp={"+":n=>n,"-":n=>-n,"~":n=>~n};let Hp=class{constructor(e,t){this.operator=e,this.expression=t}evaluate(){const e=Kp[this.operator];if(!e)throw new Error(`unexpected unary operator: '${this.operator}`);return e(this.expression.evaluate())}toString(){return["u(",this.operator,this.expression.toString(),")"].join(" ")}};function Xo(n){return(e,t)=>{for(let i=0;i<n.length;i++){const r=n[i](e,t);if(r!=="")return r}return""}}function Ei(n,e){var t;const i=n.substr(e).match(/^\s+/);return(t=i&&i[0])!==null&&t!==void 0?t:""}function Wp(n,e){const t=n.substr(e,1);return t.match(/^[1-9]$/)?t:""}function ki(n,e){var t;const i=n.substr(e).match(/^[0-9]+/);return(t=i&&i[0])!==null&&t!==void 0?t:""}function Gp(n,e){const t=ki(n,e);if(t!=="")return t;const i=n.substr(e,1);if(e+=1,i!=="-"&&i!=="+")return"";const r=ki(n,e);return r===""?"":i+r}function Zo(n,e){const t=n.substr(e,1);if(e+=1,t.toLowerCase()!=="e")return"";const i=Gp(n,e);return i===""?"":t+i}function fu(n,e){const t=n.substr(e,1);if(t==="0")return t;const i=Wp(n,e);return e+=i.length,i===""?"":i+ki(n,e)}function Yp(n,e){const t=fu(n,e);if(e+=t.length,t==="")return"";const i=n.substr(e,1);if(e+=i.length,i!==".")return"";const r=ki(n,e);return e+=r.length,t+i+r+Zo(n,e)}function Xp(n,e){const t=n.substr(e,1);if(e+=t.length,t!==".")return"";const i=ki(n,e);return e+=i.length,i===""?"":t+i+Zo(n,e)}function Zp(n,e){const t=fu(n,e);return e+=t.length,t===""?"":t+Zo(n,e)}const Qp=Xo([Yp,Xp,Zp]);function Jp(n,e){var t;const i=n.substr(e).match(/^[01]+/);return(t=i&&i[0])!==null&&t!==void 0?t:""}function ev(n,e){const t=n.substr(e,2);if(e+=t.length,t.toLowerCase()!=="0b")return"";const i=Jp(n,e);return i===""?"":t+i}function tv(n,e){var t;const i=n.substr(e).match(/^[0-7]+/);return(t=i&&i[0])!==null&&t!==void 0?t:""}function nv(n,e){const t=n.substr(e,2);if(e+=t.length,t.toLowerCase()!=="0o")return"";const i=tv(n,e);return i===""?"":t+i}function iv(n,e){var t;const i=n.substr(e).match(/^[0-9a-f]+/i);return(t=i&&i[0])!==null&&t!==void 0?t:""}function rv(n,e){const t=n.substr(e,2);if(e+=t.length,t.toLowerCase()!=="0x")return"";const i=iv(n,e);return i===""?"":t+i}const sv=Xo([ev,nv,rv]),ov=Xo([sv,Qp]);function av(n,e){const t=ov(n,e);return e+=t.length,t===""?null:{evaluable:new zp(t),cursor:e}}function lv(n,e){const t=n.substr(e,1);if(e+=t.length,t!=="(")return null;const i=_u(n,e);if(!i)return null;e=i.cursor,e+=Ei(n,e).length;const r=n.substr(e,1);return e+=r.length,r!==")"?null:{evaluable:i.evaluable,cursor:e}}function cv(n,e){var t;return(t=av(n,e))!==null&&t!==void 0?t:lv(n,e)}function bu(n,e){const t=cv(n,e);if(t)return t;const i=n.substr(e,1);if(e+=i.length,i!=="+"&&i!=="-"&&i!=="~")return null;const r=bu(n,e);return r?(e=r.cursor,{cursor:e,evaluable:new Hp(i,r.evaluable)}):null}function uv(n,e,t){t+=Ei(e,t).length;const i=n.filter(r=>e.startsWith(r,t))[0];return i?(t+=i.length,t+=Ei(e,t).length,{cursor:t,operator:i}):null}function hv(n,e){return(t,i)=>{const r=n(t,i);if(!r)return null;i=r.cursor;let s=r.evaluable;for(;;){const o=uv(e,t,i);if(!o)break;i=o.cursor;const a=n(t,i);if(!a)return null;i=a.cursor,s=new qp(o.operator,s,a.evaluable)}return s?{cursor:i,evaluable:s}:null}}const dv=[["**"],["*","/","%"],["+","-"],["<<",">>>",">>"],["&"],["^"],["|"]].reduce((n,e)=>hv(n,e),bu);function _u(n,e){return e+=Ei(n,e).length,dv(n,e)}function pv(n){const e=_u(n,0);return!e||e.cursor+Ei(n,e.cursor).length!==n.length?null:e.evaluable}function Oe(n){var e;const t=pv(n);return(e=t==null?void 0:t.evaluate())!==null&&e!==void 0?e:null}function xr(n){if(typeof n=="number")return n;if(typeof n=="string"){const e=Oe(n);if(!de(e))return e}return 0}function Le(n){return e=>e.toFixed(Math.max(Math.min(n,20),0))}function R(n,e,t,i,r){const s=(n-e)/(t-e);return i+s*(r-i)}function Vo(n){return String(n.toFixed(10)).split(".")[1].replace(/0+$/,"").length}function we(n,e,t){return Math.min(Math.max(n,e),t)}function wu(n,e){return(n%e+e)%e}function vv(n,e){return de(n.step)?Math.max(Vo(e),2):Vo(n.step)}function gu(n){var e;return(e=n.step)!==null&&e!==void 0?e:1}function mv(n,e){var t;const i=Math.abs((t=n.step)!==null&&t!==void 0?t:e);return i===0?.1:Math.pow(10,Math.floor(Math.log10(i))-1)}function Pr(n,e){return de(n.step)?null:new mu(n.step,e)}function Er(n){return!de(n.max)&&!de(n.min)?new yr({max:n.max,min:n.min}):!de(n.max)||!de(n.min)?new Es({max:n.max,min:n.min}):null}function ii(n,e){var t,i,r;return{formatter:(t=n.format)!==null&&t!==void 0?t:Le(vv(n,e)),keyScale:(i=n.keyScale)!==null&&i!==void 0?i:gu(n),pointerScale:(r=n.pointerScale)!==null&&r!==void 0?r:mv(n,e)}}function kr(n){return{format:n.optional.function,keyScale:n.optional.number,max:n.optional.number,min:n.optional.number,pointerScale:n.optional.number,step:n.optional.number}}function Qo(n){return{constraint:n.constraint,textProps:F.fromObject(ii(n.params,n.initialValue))}}let Jt=class{constructor(e){this.controller=e}
1get element(){return this.controller.view.element}get disabled(){return this.controller.viewProps.get("disabled")}set disabled(e){this.controller.viewProps.set("disabled",e)}get hidden(){return this.controller.viewProps.get("hidden")}set hidden(e){this.controller.viewProps.set("hidden",e)}dispose(){this.controller.viewProps.set("disposed",!0)}importState(e){return this.controller.importState(e)}exportState(){return this.controller.exportState()}},Vn=class{constructor(e){this.target=e}},ks=class extends Vn{constructor(e,t,i){super(e),this.value=t,this.last=i??!0}},fv=class extends Vn{constructor(e,t){super(e),this.expanded=t}},bv=class extends Vn{constructor(e,t){super(e),this.index=t}},_v=class extends Vn{constructor(e,t){super(e),this.native=t}},Jo=class extends Jt{constructor(e){super(e),this.onValueChange_=this.onValueChange_.bind(this),this.emitter_=new Fe,this.controller.value.emitter.on("change",this.onValueChange_)}get label(){return this.controller.labelController.props.get("label")}set label(e){this.controller.labelController.props.set("label",e)}get key(){return this.controller.value.binding.target.key}get tag(){return this.controller.tag}set tag(e){this.controller.tag=e}on(e,t){const i=t.bind(this);return this.emitter_.on(e,r=>{i(r)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}refresh(){this.controller.value.fetch()}onValueChange_(e){const t=this.controller.value;this.emitter_.emit("change",new ks(this,t.binding.target.read(),e.options.last))}};function wv(n,e){const i=Object.keys(e).reduce((r,s)=>{if(r===void 0)return;const o=e[s],a=o(n[s]);return a.succeeded?Object.assign(Object.assign({},r),{[s]:a.value}):void 0},{});return i}function gv(n,e){return n.reduce((t,i)=>{if(t===void 0)return;const r=e(i);if(!(!r.succeeded||r.value===void 0))return[...t,r.value]},[])}function Cv(n){return n===null?!1:typeof n=="object"}function yt(n){return e=>t=>{if(!e&&t===void 0)return{succeeded:!1,value:void 0};if(e&&t===void 0)return{succeeded:!0,value:void 0};const i=n(t);return i!==void 0?{succeeded:!0,value:i}:{succeeded:!1,value:void 0}}}function xl(n){return{custom:e=>yt(e)(n),boolean:yt(e=>typeof e=="boolean"?e:void 0)(n),number:yt(e=>typeof e=="number"?e:void 0)(n),string:yt(e=>typeof e=="string"?e:void 0)(n),function:yt(e=>typeof e=="function"?e:void 0)(n),constant:e=>yt(t=>t===e?e:void 0)(n),raw:yt(e=>e)(n),object:e=>yt(t=>{if(Cv(t))return wv(t,e)})(n),array:e=>yt(t=>{if(Array.isArray(t))return gv(t,e)})(n)}}const Lo={optional:xl(!0),required:xl(!1)};function te(n,e){const t=e(Lo),i=Lo.required.object(t)(n);return i.succeeded?i.value:void 0}function ht(n,e,t,i){if(e&&!e(n))return!1;const r=te(n,t);return r?i(r):!1}function dt(n,e){var t;return bn((t=n==null?void 0:n())!==null&&t!==void 0?t:{},e)}function rs(n){return"value"in n}function yv(n){if(!Yo(n)||!("binding"in n))return!1;const e=n.binding;return Op(e)}const ie="http://www.w3.org/2000/svg";function ps(n){n.offsetHeight}function xv(n,e){const t=n.style.transition;n.style.transition="none",e(),n.style.transition=t}function Sr(n){return n.ontouchstart!==void 0}function Pv(){return globalThis}function Ev(){return Pv().document}function kv(n){const e=n.ownerDocument.defaultView;return e&&"document"in e?n.getContext("2d",{willReadFrequently:!0}):null}const Sv={check:'<path d="M2 8l4 4l8 -8"/>',dropdown:'<path d="M5 7h6l-3 3 z"/>',p2dpad:'<path d="M8 4v8"/><path d="M4 8h8"/><circle cx="12" cy="12" r="1.2"/>'};function Ss(n,e){const t=n.createElementNS(ie,"svg");return t.innerHTML=Sv[e],t}function Cu(n,e,t){n.insertBefore(e,n.children[t])}function Si(n){n.parentElement&&n.parentElement.removeChild(n)}function yu(n){for(;n.children.length>0;)n.removeChild(n.children[0])}function Vv(n){for(;n.childNodes.length>0;)n.removeChild(n.childNodes[0])}function Vs(n){return n.relatedTarget?n.relatedTarget:"explicitOriginalTarget"in n?n.explicitOriginalTarget:null}function st(n,e){n.emitter.on("change",t=>{e(t.rawValue)}),e(n.rawValue)}function Ye(n,e,t){st(n.value(e),t)}const Lv="tp";function A(n){return(t,i)=>[Lv,"-",n,"v",t?`_${t}`:"",i?`-${i}`:""].join("")}const di=A("lbl");function Av(n,e){const t=n.createDocumentFragment();return e.split(` 2`).map(r=>
2n.createTextNode(r)).forEach((r,s)=>{s>0&&t.appendChild(n.createElement("br")),t.appendChild(r)}),t}let xu=class{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(di()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(di("l")),Ye(t.props,"label",s=>{de(s)?this.element.classList.add(di(void 0,"nol")):(this.element.classList.remove(di(void 0,"nol")),Vv(i),i.appendChild(Av(e,s)))}),this.element.appendChild(i),this.labelElement=i;const r=e.createElement("div");r.classList.add(di("v")),this.element.appendChild(r),this.valueElement=r}},Vr=class{constructor(e,t){this.props=t.props,this.valueController=t.valueController,this.viewProps=t.valueController.viewProps,this.view=new xu(e,{props:t.props,viewProps:this.viewProps}),this.view.valueElement.appendChild(this.valueController.view.element)}importProps(e){return ht(e,null,t=>({label:t.optional.string}),t=>(this.props.set("label",t.label),!0))}exportProps(){return dt(null,{label:this.props.get("label")})}};function Mv(){return["veryfirst","first","last","verylast"]}const Pl=A(""),El={veryfirst:"vfst",first:"fst",last:"lst",verylast:"vlst"};let ri=class{constructor(e){this.parent_=null,this.blade=e.blade,this.view=e.view,this.viewProps=e.viewProps;const t=this.view.element;this.blade.value("positions").emitter.on("change",()=>{Mv().forEach(i=>{t.classList.remove(Pl(void 0,El[i]))}),this.blade.get("positions").forEach(i=>{t.classList.add(Pl(void 0,El[i]))})}),this.viewProps.handleDispose(()=>{Si(t)})}get parent(){return this.parent_}set parent(e){this.parent_=e,this.viewProps.set("parent",this.parent_?this.parent_.viewProps:null)}importState(e){return ht(e,null,t=>({disabled:t.required.boolean,hidden:t.required.boolean}),t=>(this.viewProps.importState(t),!0))}exportState(){return dt(null,Object.assign({},this.viewProps.exportState()))}},vs=class extends ri{constructor(e,t){if(t.value!==t.valueController.value)throw at.shouldNeverHappen();const i=t.valueController.viewProps,r=new Vr(e,{blade:t.blade,props:t.props,valueController:t.valueController});super(Object.assign(Object.assign({},t),{view:new xu(e,{props:t.props,viewProps:i}),viewProps:i})),this.labelController=r,this.value=t.value,this.valueController=t.valueController,this.view.valueElement.appendChild(this.valueController.view.element)}importState(e){return ht(e,t=>{var i,r,s;return super.importState(t)&&this.labelController.importProps(t)&&((s=(r=(i=this.valueController).importProps)===null||r===void 0?void 0:r.call(i,e))!==null&&s!==void 0?s:!0)},t=>({value:t.optional.raw}),t=>(t.value&&(this.value.rawValue=t.value),!0))}exportState(){var e,t,i;return dt(()=>super.exportState(),Object.assign(Object.assign({value:this.value.rawValue},this.labelController.exportProps()),(i=(t=(e=this.valueController).exportProps)===null||t===void 0?void 0:t.call(e))!==null&&i!==void 0?i:{}))}};function Pu(n,e){for(;n.length<e;)n.push(void 0)}function $v(n){const e=[];return Pu(e,n),e}function Dv(n){const e=n.indexOf(void 0);return e<0?n:n.slice(0,e)}function Tv(n,e){const t=[...Dv(n),e];return t.length>n.length?t.splice(0,t.length-n.length):Pu(t,n.length),t}let Nv=class extends Jt{get label(){return this.controller.labelController.props.get("label")}set label(e){this.controller.labelController.props.set("label",e)}get title(){var e;return(e=this.controller.buttonController.props.get("title"))!==null&&e!==void 0?e:""}set title(e){this.controller.buttonController.props.set("title",e)}on(e,t){const i=t.bind(this);return this.controller.buttonController.emitter.on(e,s=>{i(new _v(this,s.nativeEvent))}),this}off(e,t){return this.controller.buttonController.emitter.off(e,t),this}};function Ov(n,e,t){t?n.classList.add(e):n.classList.remove(e)}function Mt(n,e){return t=>{Ov(n,e,t)}}function ea(n,e){st(n,t=>{e.textContent=t??""})}const Ks=A("btn");let Fv=class{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Ks()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("button");i.classList.add(Ks("b")),t.viewProps.bindDisabled(i),this.element.appendChild(i),this.buttonElement=i;const r=e.createElement("div");r.classList.add(Ks("t")),ea(t.props.value("title"),r),this.buttonElement.appendChild(r)}},Eu=class{constructor(e,t){this.emitter=new Fe,this.onClick_=this.onClick_.bind(this),this.props=t.props,this.viewProps=t.viewProps,this.view=new Fv(e,{props:this.props,viewProps:this.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}importProps(e){return ht(e,null,t=>({title:t.optional.string}),t=>(this.props.set("title",t.title),!0))}exportProps(){return dt(null,{title:this.props.get("title")})}onClick_(e){this.emitter.emit("click",{nativeEvent:e,sender:this})}},kl=class extends ri{constructor(e,t){const i=new Eu(e,{props:t.buttonProps,viewProps:t.viewProps}),r=new Vr(e,{blade:t.blade,props:t.labelProps,valueController:i});super({blade:t.blade,view:r.view,viewProps:t.viewProps}),this.buttonController=i,this.labelController=r}importState(e){return ht(e,t=>super.importState(t)&&this.buttonController.importProps(t)&&this.labelController.importProps(t),()=>({}),()=>!0)}exportState(){return dt(()=>super.exportState(),Object.assign(Object.assign({},this.buttonController.exportProps()),this.labelController.exportProps()))}},Bv=class{constructor(e){const[t,i]=e.split("-"),r=t.split(".");this.major=parseInt(r[0],10),this.minor=parseInt(r[1],10),this.patch=parseInt(r[2],10),this.prerelease=i??null}toString(){const e=[this.major,this.minor,this.patch].join(".");return this.prerelease!==null?[e,this.prerelease].join("-"):e}};const Rv=new Bv("2.0.5");function re(n){return Object.assign({core:Rv},n)}re({id:"button",type:"blade",accept(n){const e=te(n,t=>({title:t.required.string,view:t.required.constant("button"),label:t.optional.string}));return e?{params:e}:null},controller(n){return new kl(n.document,{blade:n.blade,buttonProps:F.fromObject({title:n.params.title}),labelProps:F.fromObject({label:n.params.label}),viewProps:n.viewProps})},api(n){return n.controller instanceof kl?new Nv(n.controller):null}});function jv(n,e){return n.addBlade(Object.assign(Object.assign({},e),{view:"button"}))}function Iv(n,e){return n.addBlade(Object.assign(Object.assign({},e),{view:"folder"}))}function zv(n,e){return n.addBlade(Object.assign(Object.assign({},e),{view:"tab"}))}function Uv(n){return Yo(n)?"refresh"in n&&typeof n.refresh=="function":!1}function qv(n,e){if(!yl.isBindable(n))throw at.notBindable();return new yl(n,e)}let Kv=class{constructor(e,t){this.onRackValueChange_=this.onRackValueChange_.bind(this),this.controller_=e,this.emitter_=new Fe,this.pool_=t,this.controller_.rack.emitter.on("valuechange",this.onRackValueChange_)}get children(){return this.controller_.rack.children.map(e=>this.pool_.createApi(e))}addBinding(e,t,i){const r=i??{},s=this.controller_.element.ownerDocument,o=this.pool_.createBinding(s,qv(e,t),r),a=this.pool_.createBindingApi(o);return this.add(a,r.index)}addFolder(e){return Iv(this,e)}addButton(e){return jv(this,e)}addTab(e){return zv(this,e)}add(e,t){const i=e.controller;return this.controller_.rack.add(i,t),e}remove(e){this.controller_.rack.remove(e.controller)}addBlade(e){const t=this.controller_.element.ownerDocument,i=this.pool_.createBlade(t,e),r=this.pool_.createApi(i);return this.add(r,e.index)}on(e,t){const i=t.bind(this);return this.emitter_.on(e,r=>{i(r)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}
2refresh(){this.children.forEach(e=>{Uv(e)&&e.refresh()})}onRackValueChange_(e){const t=e.bladeController,i=this.pool_.createApi(t),r=yv(t.value)?t.value.binding:null;this.emitter_.emit("change",new ks(i,r?r.target.read():t.value.rawValue,e.options.last))}},ta=class extends Jt{constructor(e,t){super(e),this.rackApi_=new Kv(e.rackController,t)}refresh(){this.rackApi_.refresh()}},na=class extends ri{constructor(e){super({blade:e.blade,view:e.view,viewProps:e.rackController.viewProps}),this.rackController=e.rackController}importState(e){return ht(e,t=>super.importState(t),t=>({children:t.required.array(t.required.raw)}),t=>this.rackController.rack.children.every((i,r)=>i.importState(t.children[r])))}exportState(){return dt(()=>super.exportState(),{children:this.rackController.rack.children.map(e=>e.exportState())})}};function Ao(n){return"rackController"in n}let Hv=class{constructor(e){this.emitter=new Fe,this.items_=[],this.cache_=new Set,this.onSubListAdd_=this.onSubListAdd_.bind(this),this.onSubListRemove_=this.onSubListRemove_.bind(this),this.extract_=e}get items(){return this.items_}allItems(){return Array.from(this.cache_)}find(e){for(const t of this.allItems())if(e(t))return t;return null}includes(e){return this.cache_.has(e)}add(e,t){if(this.includes(e))throw at.shouldNeverHappen();const i=t!==void 0?t:this.items_.length;this.items_.splice(i,0,e),this.cache_.add(e);const r=this.extract_(e);r&&(r.emitter.on("add",this.onSubListAdd_),r.emitter.on("remove",this.onSubListRemove_),r.allItems().forEac
2h(s=>{this.cache_.add(s)})),this.emitter.emit("add",{index:i,item:e,root:this,target:this})}remove(e){const t=this.items_.indexOf(e);if(t<0)return;this.items_.splice(t,1),this.cache_.delete(e);const i=this.extract_(e);i&&(i.allItems().forEach(r=>{this.cache_.delete(r)}),i.emitter.off("add",this.onSubListAdd_),i.emitter.off("remove",this.onSubListRemove_)),this.emitter.emit("remove",{index:t,item:e,root:this,target:this})}onSubListAdd_(e){this.cache_.add(e.item),this.emitter.emit("add",{index:e.index,item:e.item,root:this,target:e.target})}onSubListRemove_(e){this.cache_.delete(e.item),this.emitter.emit("remove",{index:e.index,item:e.item,root:this,target:e.target})}};function Wv(n,e){for(let t=0;t<n.length;t++){const i=n[t];if(rs(i)&&i.value===e)return i}return null}function Gv(n){return Ao(n)?n.rackController.rack.bcSet_:null}let Yv=class{constructor(e){var t,i;this.emitter=new Fe,this.onBladePositionsChange_=this.onBladePositionsChange_.bind(this),this.onSetAdd_=this.onSetAdd_.bind(this),this.onSetRemove_=this.onSetRemove_.bind(this),this.onChildDispose_=this.onChildDispose_.bind(this),this.onChildPositionsChange_=this.onChildPositionsChange_.bind(this),this.onChildValueChange_=this.onChildValueChange_.bind(this),this.onChildViewPropsChange_=this.onChildViewPropsChange_.bind(this),this.onRackLayout_=this.onRackLayout_.bind(this),this.onRackValueChange_=this.onRackValueChange_.bind(this),this.blade_=(t=e.blade)!==null&&t!==void 0?t:null,(i=this.blade_)===null||i===void 0||i.value("positions").emitter.on("change",this.onBladePositionsChange_),this.viewProps=e.viewProps,this.bcSet_=ne
2w Hv(Gv),this.bcSet_.emitter.on("add",this.onSetAdd_),this.bcSet_.emitter.on("remove",this.onSetRemove_)}get children(){return this.bcSet_.items}add(e,t){var i;(i=e.parent)===null||i===void 0||i.remove(e),e.parent=this,this.bcSet_.add(e,t)}remove(e){e.parent=null,this.bcSet_.remove(e)}find(e){return this.bcSet_.allItems().filter(e)}onSetAdd_(e){this.updatePositions_();const t=e.target===e.root;if(this.emitter.emit("add",{bladeController:e.item,index:e.index,root:t,sender:this}),!t)return;const i=e.item;if(i.viewProps.emitter.on("change",this.onChildViewPropsChange_),i.blade.value("positions").emitter.on("change",this.onChildPositionsChange_),i.viewProps.handleDispose(this.onChildDispose_),rs(i))i.value.emitter.on("change",this.onChildValueChange_);else if(Ao(i)){const r=i.rackController.rack;if(r){const s=r.emitter;s.on("layout",this.onRackLayout_),s.on("valuechange",this.onRackValueChange_)}}}onSetRemove_(e){this.updatePositions_();const t=e.target===e.root;if(this.emitter.emit("remove",{bladeController:e.item,root:t,sender:this}),!t)return;const i=e.item;if(rs(i))i.value.emitter.off("change",this.onChildValueChange_);else if(Ao(i)){const r=i.rackController.rack;if(r){const s=r.emitter;s.off("layout",this.onRackLayout_),s.off("valuechange",this.onRackValueChange_)}}}updatePositions_(){const e=this.bcSet_.items.filter(r=>!r.viewProps.get("hidden")),t=e[0],i=e[e.length-1];this.bcSet_.items.forEach(r=>{const s=[];r===t&&(s.push("first"),(!this.blade_||this.blade_.get("positions").includes("veryfirst"))&&s.push("veryfirst")),r===i&&(s.push("last"),(!this.blade_||this.blade_.get("positions").includes("verylast"))&&s.push("verylast")),r.blade.set("positions",s)})}onChildPositionsChange_(){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onChildViewPropsChange_(e){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onChildDispose_(){this.bcSet_.items.filter(t=>t.viewProps.get("disposed")).forEach(t=>{this.bcSet_.remove(t)})}onChildValueChange_(e){const t=Wv(this.find(rs),e.sender);if(!t)throw at.alreadyDisposed();this.emitter.emit("valuechange",{bladeController:t,options:e.options,sender:this})}onRackLayout_(e){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onRackValueChange_(e){this.emitter.emit("valuechange",{bladeController:e.bladeController,options:e.options,sender:this})}onBladePositionsChange_(){this.updatePositions_()}},ia=class{constructor(e){this.onRackAdd_=this.onRackAdd_.bind(this),this.onRackRemove_=this.onRackRemove_.bind(this),this.element=e.element,this.viewProps=e.viewProps;const t=new Yv({blade:e.root?void 0:e.blade,viewProps:e.viewProps});t.emitter.on("add",this.onRackAdd_),t.emitter.on("remove",this.onRackRemove_),this.rack=t,this.viewProps.handleDispose(()=>{for(let i=this.rack.children.length-1;i>=0;i--)this.rack.children[i].viewProps.set("disposed",!0)})}onRackAdd_(e){e.root&&Cu(this.element,e.bladeController.view.element,e.index)}onRackRemove_(e){e.root&&Si(e.bladeController.view.element)}};function ku(){return new F({positions:ge([],{equals:Np})})}let Lr=class Su extends F{constructor(e){super(e)}static create(e){const t={completed:!0,expanded:e,expandedHeight:null,shouldFixHeight:!1,temporaryExpanded:null},i=F.createCore(t);return new Su(i)}get styleExpanded(){var e;return(e=this.get("temporaryExpanded"))!==null&&e!==void 0?e:this.get("expanded")}get styleHeight(){if(!this.styleExpanded)return"0";const e=this.get("expandedHeight");return this.get("shouldFixHeight")&&!de(e)?`${e}px`:"auto"}bindExpandedClass(e,t){const i=()=>{this.styleExpanded?e.classList.add(t):e.classList.remove(t)};Ye(this,"expanded",i),Ye(this,"temporaryExpanded",i)}cleanUpTransition(){this.set("shouldFixHeight",!1),this.set("expandedHeight",null),this.set("completed",!0)}};function Xv(n,e){let t=0;return xv(e,()=>{n.set("expandedHeight",null),n.set("temporaryExpanded",!0),ps(e),t=e.clientHeight,n.set("temporaryExpanded",null),ps(e)}),t}function Sl(n,e){e.style.height=n.styleHeight}function Ar(n,e){n.value("expanded").emitter.on("beforechange",()=>{if(n.set("completed",!1),de(n.get("expandedHeight"))){const t=Xv(n,e);t>0&&n.set("expandedHeight",t)}n.set("shouldFixHeight",!0),ps(e)}),n.emitter.on("change",()=>{Sl(n,e)}),Sl(n,e),e.addEventListener("transitionend",t=>{t.propertyName==="height"&&n.cleanUpTransition()})}let Zv=class extends ta{constructor(e,t){super(e,t),this.emitter_=new Fe,this.controller.foldable.value("expanded").emitter.on("change",i=>{this.emitter_.emit("fold",new fv(this,i.sender.rawValue))}),this.rackApi_.on("change",i=>
2{this.emitter_.emit("change",i)})}get expanded(){return this.controller.foldable.get("expanded")}set expanded(e){this.controller.foldable.set("expanded",e)}get title(){return this.controller.props.get("title")}set title(e){this.controller.props.set("title",e)}get children(){return this.rackApi_.children}addBinding(e,t,i){return this.rackApi_.addBinding(e,t,i)}addFolder(e){return this.rackApi_.addFolder(e)}addButton(e){return this.rackApi_.addButton(e)}addTab(e){return this.rackApi_.addTab(e)}add(e,t){return this.rackApi_.add(e,t)}remove(e){this.rackApi_.remove(e)}addBlade(e){return this.rackApi_.addBlade(e)}on(e,t){const i=t.bind(this);return this.emitter_.on(e,r=>{i(r)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}};const Vu=A("cnt");let Qv=class{constructor(e,t){var i;this.className_=A((i=t.viewName)!==null&&i!==void 0?i:"fld"),this.element=e.createElement("div"),this.element.classList.add(this.className_(),Vu()),t.viewProps.bindClassModifiers(this.element),this.foldable_=t.foldable,this.foldable_.bindExpandedClass(this.element,this.className_(void 0,"expanded")),Ye(this.foldable_,"completed",Mt(this.element,this.className_(void 0,"cpl")));const r=e.createElement("button");r.classList.add(this.className_("b")),Ye(t.props,"title",c=>{de(c)?this.element.classList.add(this.className_(void 0,"not")):this.element.classList.remove(this.className_(void 0,"not"))}),t.viewProps.bindDisabled(r),this.element.appendChild(r),this.buttonElement=r;const s=e.createElement("div");s.classList.add(this.className_("i")),this.element.appendChild(s);const o=e.createElement("div");o.classList.add(this.className_("t")),ea(t.props.value("title"),o),this.buttonElement.appendChild(o),this.titleElement=o;const a=e.createElement("div");a.classList.add(this.className_("m")),this.buttonElement.appendChild(a);const l=e.createElement("div");l.classList.add(this.className_("c")),this.element.appendChild(l),this.containerElement=l}},Vl=class extends na{constructor(e,t){var i;const r=Lr.create((i=t.expanded)!==null&&i!==void 0?i:!0),s=new Qv(e,{foldable:r,props:t.props,viewName:t.root?"rot":void 0,viewProps:t.viewProps});super(Object.assign(Object.assign({},t),{rackController:new ia({blade:t.blade,element:s.containerElement,root:t.root,viewProps:t.viewProps}),view:s})),this.onTitleClick_=this.onTitleClick_.bind(this),this.props=t.props,this.foldable=r,Ar(this.foldable,this.view.containerElement),this.rackController.rack.emitter.on("add",()=>{this.foldable.cleanUpTransition()}),this.rackController.rack.emitter.on("remove",()=>{this.foldable.cleanUpTransition()}),this.view.buttonElement.addEventListener("click",this.onTitleClick_)}get document(){return this.view.element.ownerDocument}importState(e){return ht(e,t=>super.importState(t),t=>({expanded:t.required.boolean,title:t.optional.string}),t=>(this.foldable.set("expanded",t.expanded),this.props.set("title",t.title),!0))}exportState(){return dt(()=>super.exportState(),{expanded:this.foldable.get("expanded"),title:this.props.get("title")})}onTitleClick_(){this.foldable.set("expanded",!this.foldable.get("expanded"))}};re({id:"folder",type:"blade",accept(n){const e=te(n,t=>({title:t.required.string,view:t.required.constant("folder"),expanded:t.optional.boolean}));return e?{params:e}:null},controller(n){return new Vl(n.document,{blade:n.blade,expanded:n.params.expanded,props:F.fromObject({title:n.params.title}),viewProps:n.viewProps})},api(n){return n.controller instanceof Vl?new Zv(n.controller,n.pool):null}});const Jv=A("");function Ll(n,e){return Mt(n,Jv(void 0,e))}let _n=class Lu extends F{constructor(e){var t;super(e),this.onDisabledChange_=this.onDisabledChange_.bind(this),this.onParentChange_=this.onParentChange_.bind(this),this.onParentGlobalDisabledChange_=this.onParentGlobalDisabledChange_.bind(this),[this.globalDisabled_,this.setGlobalDisabled_]=Ip(ge(this.getGlobalDisabled_())),this.value("disabled").emitter.on("change",this.onDisabledChange_),this.value("parent").emitter.on("change",this.onParentChange_),(t=this.get("parent"))===null||t===void 0||t.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_)}static create(e){var t,i,r;const s=e??{};return new Lu(F.createCore({disabled:(t=s.disabled)!==null&&t!==void 0?t:!1,disposed:!1,hidden:(i=s.hidden)!==null&&i!==void 0?i:!1,parent:(r=s.parent)!==null&&r!==void 0?r:null}))}get globalDisabled(){return this.globalDisabled_}bindClassModifiers(e){st(this.globalDisabled_,Ll(e,"disabled")),Ye(this,"hidden",Ll(e,"hidden"))}bindDisabled(e){st(this.globalDisabled_,t=>{e.disabled=t})}bindTabIndex(e){st(this.globalDisabled_,t=>{e.tabIndex=t?-1:0})}handleDispose(e){this.value("disposed").emitter.on("change",t=>{t&&e()})}importState(e){this.set("disabled",e.disabled),this.set("hidden",e.hidden)}exportState(){return{disabled:this.get("disabled"),hidden:this.get("hidden")}}getGlobalDisabled_(){const e=this.get("parent");return(e?e.globalDisabled.rawValue:!1)||this.get("disabled")}updateGlobalDisabled_(){this.setGlobalDisabled_(this.getGlobalDisabled_())}onDisabledChange_(){this.updateGlobalDisabled_()}onParentGlobalDisabledChange_(){this.updateGlobalDisabled_()}onParentChange_(e){var t;const i=e.previousRawValue;i==null||i.globalDisabled.emitter.off("change",this.onParentGlobalDisabledChange_),(t=this.get("parent"))===null||t===void 0||t.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_),this.updateGlobalDisabled_()}};const Al=A("tbp");let em=class{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Al()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(Al("c")),this.element.appendChild(i),this.containerElement=i}};const pi=A("tbi");let tm=class{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(pi()),t.viewProps.bindClassModifiers(this.element),Ye(t.props,"selected",s=>{s?this.element.classList.add(pi(void 0,"sel")):this.element.classList.remove(pi(void 0,"sel"))});const i=e.createElement("button");i.classList.add(pi("b")),t.viewProps.bindDisabled(i),this.element.appendChild(i),this.buttonElement=i;const r=e.createElement("div");r.classList.add(pi("t")),ea(t.props.value("title"),r),this.buttonElement.appendChild(r),this.titleElement=r}},nm=class{constructor(e,t){this.emitter=new Fe,this.onClick_=this.onClick_.bind(this),this.props=t.props,this.viewProps=t.viewProps,this.view=new tm(e,{props:t.props,viewProps:t.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}onClick_(){this.emitter.emit("click",{sender:this})}},Mo=class extends na{constructor(e,t){const i=new em(e,{viewProps:t.viewProps});super(Object.assign(Object.assign({},t),{rackController:new ia({blade:t.blade,element:i.containerElement,viewProps:t.viewProps}),view:i})),this.onItemClick_=this.onItemClick_.bind(this),this.ic_=new nm(e,{props:t.itemProps,viewProps:_n.create()}),this.ic_.emitter.on("click",this.onItemClick_),this.props=t.props,Ye(this.props,"selected",r=>{this.itemController.props.set("selected",r),this.viewProps.set("hidden",!r)})}get itemController(){return this.ic_}importState(e){return ht(e,t=>super.importState(t),t=>({selected:t.required.boolean,title:t.required.string}),t=>(this.ic_.props.set("selected",t.selected),this.ic_.props.set("title",t.title),!0))}exportState(){return dt(()=>super.exportState(),{selected:this.ic_.props.get("selected"),title:this.ic_.props.get("title")})}onItemClick_(){this.props.set("selected",!0)}},im=class extends ta{constructor(e,t){super(e,t),this.emitter_=new Fe,this.onSelect_=this.onSelect_.bind(this),this.pool_=t,this.rackApi_.on("change",i=>
2{this.emitter_.emit("change",i)}),this.controller.tab.selectedIndex.emitter.on("change",this.onSelect_)}get pages(){return this.rackApi_.children}addPage(e){const t=this.controller.view.element.ownerDocument,i=new Mo(t,{blade:ku(),itemProps:F.fromObject({selected:!1,title:e.title}),props:F.fromObject({selected:!1}),viewProps:_n.create()}),r=this.pool_.createApi(i);return this.rackApi_.add(r,e.index)}removePage(e){this.rackApi_.remove(this.rackApi_.children[e])}on(e,t){const i=t.bind(this);return this.emitter_.on(e,r=>{i(r)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}onSelect_(e){this.emitter_.emit("select",new bv(this,e.rawValue))}},rm=class extends ta{get title(){var e;return(e=this.controller.itemController.props.get("title"))!==null&&e!==void 0?e:""}set title(e){this.controller.itemController.props.set("title",e)}get selected(){return this.controller.props.get("selected")}set selected(e){this.controller.props.set("selected",e)}get children(){return this.rackApi_.children}addButton(e){return this.rackApi_.addButton(e)}addFolder(e){return this.rackApi_.addFolder(e)}addTab(e){return this.rackApi_.addTab(e)}add(e,t){this.rackApi_.add(e,t)}remove(e){this.rackApi_.remove(e)}addBinding(e,t,i){return this.rackApi_.addBinding(e,t,i)}addBlade(e){return this.rackApi_.addBlade(e)}};const Ml=-1;let sm=class{constructor(){this.onItemSelectedChange_=this.onItemSelectedChange_.bind(this),this.empty=ge(!0),this.selectedIndex=ge(Ml),this.items_=[]}add(e,t){const i=t??this.items_.length;this.items_.splice(i,0,e),e.emitter.on("change",this.onItemSelectedChange_),this.keepSelection_()}remove(e){const t=this.items_.indexOf(e);t<0||(this.items_.splice(t,1),e.emitter.off("change",this.onItemSelectedChange_),this.keepSelection_())}keepSelection_(){if(this.items_.length===0){this.selectedIndex.rawValue=Ml,this.empty.rawValue=!0;return}const e=this.items_.findIndex(t=>t.rawValue);e<0?(this.items_.forEach((t,i)=>{t.rawValue=i===0}),this.selectedIndex.rawValue=0):(this.items_.forEach((t,i)=>{t.rawValue=i===e}),this.selectedIndex.rawValue=e),this.empty.rawValue=!1}onItemSelectedChange_(e){if(e.rawValue){const t=this.items_.findIndex(i=>i===e.sender);this.items_.forEach((i,r)=>{i.rawValue=r===t}),this.selectedIndex.rawValue=t}else this.keepSelection_()}};const vi=A("tab");let om=class{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(vi(),Vu()),t.viewProps.bindClassModifiers(this.element),st(t.empty,Mt(this.element,vi(void 0,"nop")));const i=e.createElement("div");i.classList.add(vi("t")),this.element.appendChild(i),this.itemsElement=i;const r=e.createElement("div");r.classList.add(vi("i")),this.element.appendChild(r);const s=e.createElement("div");s.classList.add(vi("c")),this.element.appendChild(s),this.contentsElement=s}},$l=class extends na{constructor(e,t){const i=new sm,r=new om(e,{empty:i.empty,viewProps:t.viewProps});super({blade:t.blade,rackController:new ia({blade:t.blade,element:r.contentsElement,viewProps:t.viewProps}),view:r}),this.onRackAdd_=this.onRackAdd_.bind(this),this.onRackRemove_=this.onRackRemove_.bind(this);const s=this.rackController.rack;s.emitter.on("add",this.onRackAdd_),s.emitter.on("remove",this.onRackRemove_),this.tab=i}add(e,t){this.rackController.rack.add(e,t)}remove(e){this.rackController.rack.remove(this.rackController.rack.children[e])}onRackAdd_(e){if(!e.root)return;const t=e.bladeController;Cu(this.view.itemsElement,t.itemController.view.element,e.index),t.itemController.viewProps.set("parent",this.viewProps),this.tab.add(t.props.value("selected"))}onRackRemove_(e){if(!e.root)return;const t=e.bladeController;Si(t.itemController.view.element),t.itemController.viewProps.set("parent",null),this.tab.remove(t.props.value("selected"))}};re({id:"tab",type:"blade",accept(n){const e=te(n,t=>({pages:t.required.array(t.required.object({title:t.required.string})),view:t.required.constant("tab")}));return!e||e.pages.length===0?null:{params:e}},controller(n){const e=new $l(n.document,{blade:n.blade,viewProps:n.viewProps});return n.params.pages.forEach(t=>{const i=new Mo(n.document,{blade:ku(),itemProps:F.fromObject({selected:!1,title:t.title}),props:F.fromObject({selected:!1}),viewProps:_n.create()});e.add(i)}),e},api(n){return n.controller instanceof $l?new im(n.controller,n.pool):n.controller instanceof Mo?new rm(n.controller,n.pool):null}});let ra=class extends Jo{get options(){return this.controller.valueController.props.get("options")}set options(e){this.controller.valueController.props.set("options",e)}},Au=class{constructor(){this.disabled=!1,this.emitter=new Fe}dispose(){}tick(){this.disabled||this.emitter.emit("tick",{sender:this})}},Mu=class{constructor(e,t){this.disabled_=!1,this.timerId_=null,this.onTick_=this.onTick_.bind(this),this.doc_=e,this.emitter=new Fe,this.interval_=t,this.setTimer_()}get disabled(){return this.disabled_}set disabled(e){this.disabled_=e,this.disabled_?this.clearTimer_():this.setTimer_()}dispose(){this.clearTimer_()}clearTimer_(){if(this.timerId_===null)return;const e=this.doc_.defaultView;e&&e.clearInterval(this.timerId_),this.timerId_=null}setTimer_(){if(this.clearTimer_(),this.interval_<=0)return;const e=this.doc_.defaultView;e&&(this.timerId_=e.setInterval(this.onTick_,this.interval_))}onTick_(){this.disabled_||this.emitter.emit("tick",{sender:this})}}
2,gt=class{constructor(e){this.constraints=e}constrain(e){return this.constraints.reduce((t,i)=>i.constrain(t),e)}};function Vi(n,e){if(n instanceof e)return n;if(n instanceof gt){const t=n.constraints.reduce((i,r)=>i||(r instanceof e?r:null),null);if(t)return t}return null}let Ls=class{constructor(e){this.values=F.fromObject({options:e})}constrain(e){const t=this.values.get("options");return t.length===0||t.filter(r=>r.value===e).length>0?e:t[0].value}};function As(n){var e;const t=Lo;if(Array.isArray(n))return(e=te({items:n},i=>({items:i.required.array(i.required.object({text:i.required.string,value:i.required.raw}))})))===null||e===void 0?void 0:e.items;if(typeof n=="object")return t.required.raw(n).value}function $u(n){if(Array.isArray(n))return n;const e=[];return Object.keys(n).forEach(t=>{e.push({text:t,value:n[t]})}),e}function sa(n){return de(n)?null:new Ls($u(n))}const Hs=A("lst");let am=class{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.props_=t.props,this.element=e.createElement("div"),this.element.classList.add(Hs()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("select");i.classList.add(Hs("s")),t.viewProps.bindDisabled(i),this.element.appendChild(i),this.selectElement=i;const r=e.createElement("div");r.classList.add(Hs("m")),r.appendChild(Ss(e,"dropdown")),this.element.appendChild(r),t.value.emitter.on("change",this.onValueChange_),this.value_=t.value,Ye(this.props_,"options",s=>{yu(this.selectElement),s.forEach(o=>{const a=e.createElement("option");a.textContent=o.text,this.selectElement.appendChild(a)}),this.update_()})}update_(){const e=this.props_.get("options").map(t=>t.value);this.selectElement.selectedIndex=e.indexOf(this.value_.rawValue)}onValueChange_(){this.update_()}},Zn=class{constructor(e,t){this.onSelectChange_=this.onSelectChange_.bind(this),this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new am(e,{props:this.props,value:this.value,viewProps:this.viewProps}),this.view.selectElement.addEventListener("change",this.onSelectChange_)}onSelectChange_(e){const t=e.currentTarget;this.value.rawValue=this.props.get("options")[t.selectedIndex].value}importProps(e){return ht(e,null,t=>({options:t.required.custom(As)}),t=>(this.props.set("options",$u(t.options)),!0))}exportProps(){return dt(null,{options:this.props.get("options")})}};const Dl=A("pop");let lm=class{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Dl()),t.viewProps.bindClassModifiers(this.element),st(t.shows,Mt(this.element,Dl(void 0,"v")))}},Ms=class{constructor(e,t){this.shows=ge(!1),this.viewProps=t.viewProps,this.view=new lm(e,{shows:this.shows,viewProps:this.viewProps})}};const Tl=A("txt");let cm=class{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(Tl()),t.viewProps.bindClassModifiers(this.element),this.props_=t.props,this.props_.emitter.on("change",this.onChange_);const i=e.createElement("input");i.classList.add(Tl("i")),i.type="text",t.viewProps.bindDisabled(i),this.element.appendChild(i),this.inputElement=i,t.value.emitter.on("change",this.onChange_),this.value_=t.value,this.refresh()}refresh(){const e=this.props_.get("formatter");this.inputElement.value=e(this.value_.rawValue)}onChange_(){this.refresh()}},$s=class{constructor(e,t){this.onInputChange_=this.onInputChange_.bind(this),this.parser_=t.parser,this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new cm(e,{props:t.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_)}onInputChange_(e){const i=e.currentTarget.value,r=this.parser_(i);de(r)||(this.value.rawValue=r),this.view.refresh()}};function um(n){return String(n)}function oa(n){return n==="false"?!1:!!n}function Nl(n){return um(n)}function hm(n){return e=>n.reduce((t,i)=>t!==null?t:i(e),null)}const dm=Le(0);function ms(n){return dm(n)+"%"}function aa(n){return String(n)}function $o(n){return n}function en({primary:n,secondary:e,forward:t,backward:i}){let r=!1;function s(o){r||(r=!0,o(),r=!1)}n.emitter.on("change",o=>{s(()=>{e.setRawValue(t(n.rawValue,e.rawValue),o.options)})}),e.emitter.on("change",o=>{s(()=>{n.setRawValue(i(n.rawValue,e.rawValue),o.options)}),s(()=>{e.setRawValue(t(n.rawValue,e.rawValue),o.options)})}),s(()=>{e.setRawValue(t(n.rawValue,e.rawValue),{forceEmit:!1,last:!0})})}function Se(n,e){const t=n*(e.altKey?.1:1)*(e.shiftKey?10:1);return e.upKey?+t:e.downKey?-t:0}function Yt(n){return{altKey:n.altKey,downKey:n.key==="ArrowDown",shiftKey:n.shiftKey,upKey:n.key==="ArrowUp"}}function lt(n){return{altKey:n.altKey,downKey:n.key==="ArrowLeft",shiftKey:n.shiftKey,upKey:n.key==="ArrowRight"}}function pm(n){return n==="ArrowUp"||n==="ArrowDown"}function Li(n){return pm(n)||n==="ArrowLeft"||n==="ArrowRight"}function Ws(n,e){var t,i;const r=e.ownerDocument.defaultView,s=e.getBoundingClientRect();return{x:n.pageX-(((t=r&&r.scrollX)!==null&&t!==void 0?t:0)+s.left),y:n.pageY-(((i=r&&r.scrollY)!==null&&i!==void 0?i:0)+s.top)}}let Me=class{constructor(e){this.lastTouch_=null,this.onDocumentMouseMove_=this.onDocumentMouseMove_.bind(this),this.onDocumentMouseUp_=this.onDocumentMouseUp_.bind(this),this.onMouseDown_=this.onMouseDown_.bind(this),this.onTouchEnd_=this.onTouchEnd_.bind(this),this.onTouchMove_=this.onTouchMove_.bind(this),this.onTouchStart_=this.onTouchStart_.bind(this),this.elem_=e,this.emitter=new Fe,e.addEventListener("touchstart",this.onTouchStart_,{passive:!1}),e.addEventListener("touchmove",this.onTouchMove_,{passive:!0}),e.addEventListener("touchend",this.onTouchEnd_),e.addEventListener("mousedown",this.onMouseDown_)}computePosition_(e){const t=this.elem_.getBoundingClientRect();return{bounds:{width:t.width,height:t.height},point:e?{x:e.x,y:e.y}:null}}onMouseDown_(e){var t;e.preventDefault(),(t=e.currentTarget)===null||t===void 0||t.focu
2s();const i=this.elem_.ownerDocument;i.addEventListener("mousemove",this.onDocumentMouseMove_),i.addEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(Ws(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onDocumentMouseMove_(e){this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(Ws(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onDocumentMouseUp_(e){const t=this.elem_.ownerDocument;t.removeEventListener("mousemove",this.onDocumentMouseMove_),t.removeEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(Ws(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onTouchStart_(e){e.preventDefault();const t=e.targetTouches.item(0),i=this.elem_.getBoundingClientRect();this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-i.left,y:t.clientY-i.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}onTouchMove_(e){const t=e.targetTouches.item(0),i=this.elem_.getBoundingClientRect();this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-i.left,y:t.clientY-i.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}onTouchEnd_(e){var t;const i=(t=e.targetTouches.item(0))!==null&&t!==void 0?t:this.lastTouch_,r=this.elem_.getBoundingClientRect();this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(i?{x:i.clientX-r.left,y:i.clientY-r.top}:void 0),sender:this,shiftKey:e.shiftKey})}};const Je=A("txt");let vm=class{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.props_=t.props,this.props_.emitter.on("change",this.onChange_),this.element=e.createElement("div"),this.element.classList.add(Je(),Je(void 0,"num")),t.arrayPosition&&this.element.classList.add(Je(void 0,t.arrayPosition)),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("input");i.classList.add(Je("i")),i.type="text",t.viewProps.bindDisabled(i),this.element.appendChild(i),this.inputElement=i,this.onDraggingChange_=this.onDraggingChange_.bind(this),this.dragging_=t.dragging,this.dragging_.emitter.on("change",this.onDraggingChange_),this.element.classList.add(Je()),this.inputElement.classList.add(Je("i"));const r=e.createElement("div");r.classList.add(Je("k")),this.element.appendChild(r),this.knobElement=r;const s=e.createElementNS(ie,"svg");s.classList.add(Je("g")),this.knobElement.appendChild(s);const o=e.createElementNS(ie,"path");o.classList.add(Je("gb")),s.appendChild(o),this.guideBodyElem_=o;const a=e.createElementNS(ie,"path");a.classList.add(Je("gh")),s.appendChild(a),this.guideHeadElem_=a;const l=e.createElement("div");l.classList.add(A("tt")()),this.knobElement.appendChild(l),this.tooltipElem_=l,t.value.emitter.on("change",this.onChange_),this.value=t.value,this.refresh()}onDraggingChange_(e){if(e.rawValue===null){this.element.classList.remove(Je(void 0,"drg"));return}this.element.classList.add(Je(void 0,"drg"));const t=e.rawValue/this.props_.get("pointerScale"),i=t+(t>0?-1:t<0?1:0),r=we(-i,-4,4);this.guideHeadElem_.setAttributeNS(null,"d",[`M ${i+r},0 L${i},4 L${i+r},8`,`M ${t},-1 L${t},9`].join(" ")),this.guideBodyElem_.setAttributeNS(null,"d",`M 0,4 L${t},4`);const s=this.props_.get("formatter");this.tooltipElem_.textContent=s(this.value.rawValue),this.tooltipElem_.style.left=`${t}px`}refresh(){const e=this.props_.get("formatter");this.inputElement.value=e(this.value.rawValue)}onChange_(){this.refresh()}},si=class{constructor(e,t){var i;this.originRawValue_=0,this.onInputChange_=this.onInputChange_.bind(this),this.onInputKeyDown_=this.onInputKeyDown_.bind(this),this.onInputKeyUp_=this.onInputKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.parser_=t.parser,this.props=t.props,this.sliderProps_=(i=t.sliderProps)!==null&&i!==void 0?i:null,this.value=t.value,this.viewProps=t.viewProps,this.dragging_=ge(null),this.view=new vm(e,{arrayPosition:t.arrayPosition,dragging:this.dragging_,props:this.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.inputElement.addEventListener("keydown",this.onInputKeyDown_),this.view.inputElement.addEventListener("keyup",this.onInputKeyUp_);const r=new Me(this.view.knobElement);r.emitter.on("down",this.onPointerDown_),r.emitter.on("move",this.onPointerMove_),r.emitter.on("up",this.onPointerUp_)}constrainValue_(e){var t,i;const r=(t=this.sliderProps_)===null||t===void 0?void 0:t.get("min"),s=(i=this.sliderProps_)===null||i===void 0?void 0:i.get("max");let o=e;return r!==void 0&&(o=Math.max(o,r)),s!==void 0&&(o=Math.min(o,s)),o}onInputChange_(e){const i=e.currentTarget.value,r=this.parser_(i);de(r)||(this.value.rawValue=this.constrainValue_(r)),this.view.refresh()}onInputKeyDown_(e){const t=Se(this.props.get("keyScale"),Yt(e));t!==0&&this.value.setRawValue(this.constrainValue_(this.value.rawValue+t),{forceEmit:!1,last:!1})}onInputKeyUp_(e){Se(this.props.get("keyScale"),Yt(e))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}onPointerDown_(){this.originRawValue_=this.value.rawValue,this.dragging_.rawValue=0}computeDraggingValue_(e){if(!e.point)return null;const t=e.point.x-e.bounds.width/2;return this.constrainValue_(this.originRawValue_+t*this.props.get("pointerScale"))}onPointerMove_(e){const t=this.computeDraggingValue_(e.data);t!==null&&(this.value.setRawValue(t,{forceEmit:!1,last:!1}),this.dragging_.rawValue=this.value.rawValue-this.originRawValue_)}onPointerUp_(e){const t=this.computeDraggingValue_(e.data);t!==null&&(this.value.setRawValue(t,{forceEmit:!0,last:!0}),this.dragging_.rawValue=null)}};const Gs=A("sld");let mm=class{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.props_=t.props,this.props_.emitter.on("change",this.onChange_),this.element=e.createElement("div"),this.element.classList.add(Gs()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(Gs("t")),t.viewProps.bindTabIndex(i),this.element.appendChild(i),this.trackElement=i;const r=e.createElement("div");r.classList.add(Gs("k")),this.trackElement.appendChild(r),this.knobElement=r,t.value.emitter.on("change",this.onChange_),this.value=t.value,this.update_()}update_(){const e=we(R(this.value.rawValue,this.props_.get("min"),this.props_.get("max"),0,100),0,100);this.knobElement.style.width=`${e}%`}onChange_(){this.update_()}},fm=class{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDownOrMove_=this.onPointerDownOrMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.props=t.props,this.view=new mm(e,{props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Me(this.view.trackElement),this.ptHandler_.emitter.on("down",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("move",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.trackElement.addEventListener("keydown",this.onKeyDown_),this.view.trackElement.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){e.point&&this.value.setRawValue(R(we(e.point.x,0,e.bounds.width),0,e.bounds.width,this.props.get("min"),this.props.get("max")),t)}onPointerDownOrMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){const t=Se(this.props.get("keyScale"),lt(e));t!==0&&this.value.setRawValue(this.value.rawValue+t,{forceEmit:!1,last:!1})}onKeyUp_(e){Se(this.props.get("keyScale"),lt(e))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}};const Ys=A("sldtxt");let bm=class{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Ys());const i=e.createElement("div");i.classList.add(Ys("s")),this.sliderView_=t.sliderView,i.appendChild(this.sliderView_.element),this.element.appendChild(i);const r=e.createElement("div");r.classList.add(Ys("t")),this.textView_=t.textView,r.appendChild(this.textView_.element),this.element.appendChild(r)}},Ol=class{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.sliderC_=new fm(e,{props:t.sliderProps,value:t.value,viewProps:this.viewProps}),this.textC_=new si(e,{parser:t.parser,props:t.textProps,sliderProps:t.sliderProps,value:t.value,viewProps:t.viewProps}),this.view=new bm(e,{sliderView:this.sliderC_.view,textView:this.textC_.view})}get sliderController(){return this.sliderC_}get textController(){return this.textC_}importProps(e){return ht(e,null,t=>({max:t.required.number,min:t.required.number}),t=>{const i=this.sliderC_.props;return i.set("max",t.max),i.set("min",t.min),!0})}exportProps(){const e=this.sliderC_.props;return dt(null,{max:e.get("max"),min:e.get("min")})}};function _m(n){return{sliderProps:new F({keyScale:n.keyScale,max:n.max,min:n.min}),textProps:new F({formatter:ge(n.formatter),keyScale:n.keyScale,pointerScale:ge(n.pointerScale)})}}const wm={containerUnitSize:"cnt-usz"};function Du(n){return`--${wm[n]}`}class Tu{constructor(e,t){const i=A(t.viewName);this.element=e.createElement("div"),this.element.classList.add(i()),t.viewProps.bindClassModifiers(this.element)}}function Ai(n){return kr(n)}function Ue(n){if(So(n))return te(n,Ai)}function Et(n,e){if(!n)return;const t=[],i=Pr(n,e);
2i&&t.push(i);const r=Er(n);return r&&t.push(r),new gt(t)}function Ds(n){if(n==="inline"||n==="popup")return n}function Ct(n,e){n.write(e)}const Wr=A("ckb");let gm=class{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(Wr()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("label");i.classList.add(Wr("l")),this.element.appendChild(i),this.labelElement=i;const r=e.createElement("input");r.classList.add(Wr("i")),r.type="checkbox",this.labelElement.appendChild(r),this.inputElement=r,t.viewProps.bindDisabled(this.inputElement);const s=e.createElement("div");s.classList.add(Wr("w")),this.labelElement.appendChild(s);const o=Ss(e,"check");s.appendChild(o),t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.update_()}update_(){this.inputElement.checked=this.value.rawValue}onValueChange_(){this.update_()}},Cm=class{constructor(e,t){this.onInputChange_=this.onInputChange_.bind(this),this.onLabelMouseDown_=this.onLabelMouseDown_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new gm(e,{value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.labelElement.addEventListener("mousedown",this.onLabelMouseDown_)}onInputChange_(e){const t=e.currentTarget;this.value.rawValue=t.checked,e.preventDefault(),e.stopPropagation()}onLabelMouseDown_(e){e.preventDefault()}};function ym(n){const e=[],t=sa(n.options);return t&&e.push(t),new gt(e)}re({id:"input-bool",type:"input",accept:(n,e)=>{if(typeof n!="boolean")return null;const t=te(e,i=>({options:i.optional.custom(As),readonly:i.optional.constant(!1)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>oa,constraint:n=>ym(n.params),writer:n=>Ct},controller:n=>{const e=n.document,t=n.value,i=n.constraint,r=i&&Vi(i,Ls);return r?new Zn(e,{props:new F({options:r.values.value("options")}),value:t,viewProps:n.viewProps}):new Cm(e,{value:t,viewProps:n.viewProps})},api(n){return typeof n.controller.value.rawValue!="boolean"?null:n.controller.valueController instanceof Zn?new ra(n.controller):null}});const sn=A("col");let xm=class{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(sn()),t.foldable.bindExpandedClass(this.element,sn(void 0,"expanded")),Ye(t.foldable,"completed",Mt(this.element,sn(void 0,"cpl")));const i=e.createElement("div");i.classList.add(sn("h")),this.element.appendChild(i);const r=e.createElement("div");r.classList.add(sn("s")),i.appendChild(r),this.swatchElement=r;const s=e.createElement("div");if(s.classList.add(sn("t")),i.appendChild(s),this.textElement=s,t.pickerLayout==="inline"){const o=e.createElement("div");o.classList.add(sn("p")),this.element.appendChild(o),this.pickerElement=o}else this.pickerElement=null}};function Pm(n,e,t){const i=we(n/255,0,1),r=we(e/255,0,1),s=we(t/255,0,1),o=Math.max(i,r,s),a=Math.min(i,r,s),l=o-a;let c=0,u=0;const h=(a+o)/2;return l!==0&&(u=l/(1-Math.abs(o+a-1)),i===o?c=(r-s)/l:r===o?c=2+(s-i)/l:c=4+(i-r)/l,c=c/6+(c<0?1:0)),[c*360,u*100,h*100]}function Em(n,e,t){const i=(n%360+360)%360,r=we(e/100,0,1),s=we(t/100,0,1),o=(1-Math.abs(2*s-1))*r,a=o*(1-Math.abs(i/60%2-1)),l=s-o/2;let c,u,h;return i>=0&&i<60?[c,u,h]=[o,a,0]:i>=60&&i<120?[c,u,h]=[a,o,0]:i>=120&&i<180?[c,u,h]=[0,o,a]:i>=180&&i<240?[c,u,h]=[0,a,o]:i>=240&&i<300?[c,u,h]=[a,0,o]:[c,u,h]=[o,0,a],[(c+l)*255,(u+l)*255,(h+l)*255]}function km(n,e,t){const i=we(n/255,0,1),r=we(e/255,0,1),s=we(t/255,0,1),o=Math.max(i,r,s),a=Math.min(i,r,s),l=o-a;let c;l===0?c=0:o===i?c=60*(((r-s)/l%6+6)%6):o===r?c=60*((s-i)/l+2):c=60*((i-r)/l+4);const u=o===0?0:l/o,h=o;return[c,u*100,h*100]}function Nu(n,e,t){const i=wu(n,360),r=we(e/100,0,1),s=we(t/100,0,1),o=s*r,a=o*(1-Math.abs(i/60%2-1)),l=s-o;let c,u,h;return i>=0&&i<60?[c,u,h]=[o,a,0]:i>=60&&i<120?[c,u,h]=[a,o,0]:i>=120&&i<180?[c,u,h]=[0,o,a]:i>=180&&i<240?[c,u,h]=[0,a,o]:i>=240&&i<300?[c,u,h]=[a,0,o]:[c,u,h]=[o,0,a],[(c+l)*255,(u+l)*255,(h+l)*255]}function Sm(n,e,t){const i=t+e*(100-Math.abs(2*t-100))/200;return[n,i!==0?e*(100-Math.abs(2*t-100))/i:0,t+e*(100-Math.abs(2*t-100))/(2*100)]}function Vm(n,e,t){const i=100-Math.abs(t*(200-e)/100-100);return[n,i!==0?e*t/i:0,t*(200-e)/(2*100)]}function bt(n){return[n[0],n[1],n[2]]}function Ts(n,e){return[n[0],n[1],n[2],e]}const Lm={hsl:{hsl:(n,e,t)=>[n,e,t],hsv:Sm,rgb:Em},hsv:{hsl:Vm,hsv:(n,e,t)=>
2[n,e,t],rgb:Nu},rgb:{hsl:Pm,hsv:km,rgb:(n,e,t)=>[n,e,t]}};function Qn(n,e){return[e==="float"?1:n==="rgb"?255:360,e==="float"?1:n==="rgb"?255:100,e==="float"?1:n==="rgb"?255:100]}function Am(n,e){return n===e?e:wu(n,e)}function Ou(n,e,t){var i;const r=Qn(e,t);return[e==="rgb"?we(n[0],0,r[0]):Am(n[0],r[0]),we(n[1],0,r[1]),we(n[2],0,r[2]),we((i=n[3])!==null&&i!==void 0?i:1,0,1)]}function Fl(n,e,t,i){const r=Qn(e,t),s=Qn(e,i);return n.map((o,a)=>o/r[a]*s[a])}function Fu(n,e,t){const i=Fl(n,e.mode,e.type,"int"),r=Lm[e.mode][t.mode](...i);return Fl(r,t.mode,"int",t.type)}let le=class Bu{static black(){return new Bu([0,0,0],"rgb")}constructor(e,t){this.type="int",this.mode=t,this.comps_=Ou(e,t,this.type)}getComponents(e){return Ts(Fu(bt(this.comps_),{mode:this.mode,type:this.type},{mode:e??this.mode,type:this.type}),this.comps_[3])}toRgbaObject(){const e=this.getComponents("rgb");return{r:e[0],g:e[1],b:e[2],a:e[3]}}};const Tt=A("colp");let Mm=class{constructor(e,t){this.alphaViews_=null,this.element=e.createElement("div"),this.element.classList.add(Tt()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(Tt("hsv"));const r=e.createElement("div");r.classList.add(Tt("sv")),this.svPaletteView_=t.svPaletteView,r.appendChild(this.svPaletteView_.element),i.appendChild(r);const s=e.createElement("div");s.classList.add(Tt("h")),this.hPaletteView_=t.hPaletteView,s.appendChild(this.hPaletteView_.element),i.appendChild(s),this.element.appendChild(i);const o=e.createElement("div");if(o.classList.add(Tt("rgb")),this.textsView_=t.textsView,o.appendChild(this.textsView_.element),this.element.appendChild(o),t.alphaViews){this.alphaViews_={palette:t.alphaViews.palette,text:t.alphaViews.text};const a=e.createElement("div");a.classList.add(Tt("a"));const l=e.createElement("div");l.classList.add(Tt("ap")),l.appendChild(this.alphaViews_.palette.element),a.appendChild(l);const c=e.createElement("div");c.classList.add(Tt("at")),c.appendChild(this.alphaViews_.text.element),a.appendChild(c),this.element.appendChild(a)}}get allFocusableElements(){const e=[this.svPaletteView_.element,this.hPaletteView_.element,this.textsView_.modeSelectElement,...this.textsView_.inputViews.map(t=>t.inputElement)];return this.alphaViews_&&e.push(this.alphaViews_.palette.element,this.alphaViews_.text.inputElement),e}};function $m(n){return n==="int"?"int":n==="float"?"float":void 0}function la(n){return te(n,e=>({color:e.optional.object({alpha:e.optional.boolean,type:e.optional.custom($m)}),expanded:e.optional.boolean,picker:e.optional.custom(Ds),readonly:e.optional.constant(!1)}))}function wn(n){return n?.1:1}function Ru(n){var e;return(e=n.color)===null||e===void 0?void 0:e.type}let ca=class{constructor(e,t){this.type="float",this.mode=t,this.comps_=Ou(e,t,this.type)}getComponents(e){return Ts(Fu(bt(this.comps_),{mode:this.mode,type:this.type},{mode:e??this.mode,type:this.type}),this.comps_[3])}toRgbaObject(){const e=this.getComponents("rgb");return{r:e[0],g:e[1],b:e[2],a:e[3]}}};const Dm={int:(n,e)=>new le(n,e),float:(n,e)=>new ca(n,e)};function ua(n,e,t){return Dm[t](n,e)}function Tm(n){return n.type==="float"}function Nm(n){return n.type==="int"}function Om(n){const e=n.getComponents(),t=Qn(n.mode,"int");return new le([Math.round(R(e[0],0,1,0,t[0])),Math.round(R(e[1],0,1,0,t[1])),Math.round(R(e[2],0,1,0,t[2])),e[3]],n.mode)}function Fm(n){const e=n.getComponents(),t=Qn(n.mode,"int");return new ca([R(e[0],0,t[0],0,1),R(e[1],0,t[1],0,1),R(e[2],0,t[2],0,1),e[3]],n.mode)}function qe(n,e){if(n.type===e)return n;if(Nm(n)&&e==="float")return Fm(n);if(Tm(n)&&e==="int")return Om(n);throw at.shouldNeverHappen()}function Bm(n,e){return n.alpha===e.alpha&&n.mode===e.mode&&n.notation===e.notation&&n.type===e.type}function it(n,e){const t=n.match(/^(.+)%$/);return Math.min(t?parseFloat(t[1])*.01*e:parseFloat(n),e)}const Rm={deg:n=>n,grad:n=>n*360/400,rad:n=>n*360/(2*Math.PI),turn:n=>n*360};function ju(n){const e=n.match(/^([0-9.]+?)(deg|grad|rad|turn)$/);if(!e)return parseFloat(n);const t=parseFloat(e[1]),i=e[2];return Rm[i](t)}function Iu(n){const e=n.match(/^rgb\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!e)return null;const t=[it(e[1],255),it(e[2],255),it(e[3],255)];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])?null:t}function jm(n){const e=Iu(n);return e?new le(e,"rgb"):null}function zu(n){const e=n.match(/^rgba\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!e)return null;const t=[it(e[1],255),it(e[2],255),it(e[3],255),it(e[4],1)];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])||isNaN(t[3])?null:t}function Im(n){const e=zu(n);return e?new le(e,"rgb"):null}function Uu(n){const e=n.match(/^hsl\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!e)return null;
2const t=[ju(e[1]),it(e[2],100),it(e[3],100)];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])?null:t}function zm(n){const e=Uu(n);return e?new le(e,"hsl"):null}function qu(n){const e=n.match(/^hsla\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!e)return null;const t=[ju(e[1]),it(e[2],100),it(e[3],100),it(e[4],1)];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])||isNaN(t[3])?null:t}function Um(n){const e=qu(n);return e?new le(e,"hsl"):null}function Ku(n){const e=n.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(e)return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)];const t=n.match(/^(?:#|0x)([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return t?[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]:null}function qm(n){const e=Ku(n);return e?new le(e,"rgb"):null}function Hu(n){const e=n.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(e)return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16),R(parseInt(e[4]+e[4],16),0,255,0,1)];const t=n.match(/^(?:#|0x)?([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return t?[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16),R(parseInt(t[4],16),0,255,0,1)]:null}function Km(n){const e=Hu(n);return e?new le(e,"rgb"):null}function Wu(n){const e=n.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!e)return null;const t=[parseFloat(e[1]),parseFloat(e[2]),parseFloat(e[3])];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])?null:t}function Hm(n){return e=>{const t=Wu(e);return t?ua(t,"rgb",n):null}}function Gu(n){const e=n.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*a\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!e)return null;const t=[parseFloat(e[1]),parseFloat(e[2]),parseFloat(e[3]),parseFloat(e[4])];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])||isNaN(t[3])?null:t}function Wm(n){return e=>{const t=Gu(e);return t?ua(t,"rgb",n):null}}const Gm=[{parser:Ku,result:{alpha:!1,mode:"rgb",notation:"hex"}},{parser:Hu,result:{alpha:!0,mode:"rgb",notation:"hex"}},{parser:Iu,result:{alpha:!1,mode:"rgb",notation:"func"}},{parser:zu,result:{alpha:!0,mode:"rgb",notation:"func"}},{parser:Uu,result:{alpha:!1,mode:"hsl",notation:"func"}},{parser:qu,result:{alpha:!0,mode:"hsl",notation:"func"}},{parser:Wu,result:{alpha:!1,mode:"rgb",notation:"object"}},{parser:Gu,result:{alpha:!0,mode:"rgb",notation:"object"}}];function Ym(n){return Gm.reduce((e,{parser:t,result:i})=>e||(t(n)?i:null),null)}function Xm(n,e="int"){const t=Ym(n);return t?t.notation==="hex"&&e!=="float"?Object.assign(Object.assign({},t),{type:"int"}):t.notation==="func"?Object.assign(Object.assign({},t),{type:e}):null:null}function Mr(n){const e=[qm,Km,jm,Im,zm,Um];e.push(Hm("int"),Wm("int"));const t=hm(e);return i=>{const r=t(i);return r?qe(r,n):null}}function Zm(n){const e=Mr("int");if(typeof n!="string")return le.black();const t=e(n);return t??le.black()}function Yu(n){const e=we(Math.floor(n),0,255).toString(16);return e.length===1?`0${e}`:e}function ha(n,e="#"){const t=bt(n.getComponents("rgb")).map(Yu).join("");return`${e}${t}`}function da(n,e="#"){const t=n.getComponents("rgb"),i=[t[0],t[1],t[2],t[3]*255].map(Yu).join("");return`${e}${i}`}function Xu(n){const e=Le(0),t=qe(n,"int");return`rgb(${bt(t.getComponents("rgb")).map(r=>e(r)).join(", ")})`}function ss(n){const e=Le(2),t=Le(0);return`rgba(${qe(n,"int").getComponents("rgb").map((s,o)=>(o===3?e:t)(s)).join(", ")})`}function Qm(n){const e=[Le(0),ms,ms],t=qe(n,"int");return`hsl(${bt(t.getComponents("hsl")).map((r,s)=>e[s](r)).join(", ")})`}function Jm(n){const e=[Le(0),ms,ms,Le(2)];return`hsla(${qe(n,"int").getComponents("hsl").map((r,s)=>e[s](r)).join(", ")})`}function Zu(n,e){const t=Le(e==="float"?2:0),i=["r","g","b"],r=qe(n,e);return`{${bt(r.getComponents("rgb")).map((o,a)=>`${i[a]}: ${t(o)}`).join(", ")}}`}function ef(n){return e=>Zu(e,n)}function Qu(n,e){const t=Le(2),i=Le(e==="float"?2:0),r=["r","g","b","a"];return`{${qe(n,e).getComponents("rgb").map((a,l)=>{const c=l===3?t:i;return`${r[l]}: ${c(a)}`}).join(", ")}}`}function tf(n){return e=>Qu(e,n)}const nf=[{format:{alpha:!1,mode:"rgb",notation:"hex",type:"int"},stringifier:ha},{format:{alpha:!0,mode:"rgb",notation:"hex",type:"int"},stringifier:da},{format:{alpha:!1,mode:"rgb",notation:"func",type:"int"},stringifier:Xu},{format:{alpha:!0,mode:"rgb",notation:"func",type:"int"},stringifier:ss},{format:{alpha:!1,mode:"hsl",notation:"func",type:"int"},stringifier:Qm},{format:{alpha:!0,mode:"hsl",notation:"func",type:"int"},stringifier:Jm},...["int","float"].reduce((n,e)=>[...n,{format:{alpha:!1,mode:"rgb",notation:"object",type:e},stringifier:ef(e)},{format:{alpha:!0,mode:"rgb",notation:"object",type:e},stringifier:tf(e)}],[])];function Ju(n){return nf.reduce((e,t)=>
2e||(Bm(t.format,n)?t.stringifier:null),null)}const mi=A("apl");let rf=class{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(mi()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);const i=e.createElement("div");i.classList.add(mi("b")),this.element.appendChild(i);const r=e.createElement("div");r.classList.add(mi("c")),i.appendChild(r),this.colorElem_=r;const s=e.createElement("div");s.classList.add(mi("m")),this.element.appendChild(s),this.markerElem_=s;const o=e.createElement("div");o.classList.add(mi("p")),this.markerElem_.appendChild(o),this.previewElem_=o,this.update_()}update_(){const e=this.value.rawValue,t=e.getComponents("rgb"),i=new le([t[0],t[1],t[2],0],"rgb"),r=new le([t[0],t[1],t[2],255],"rgb"),s=["to right",ss(i),ss(r)];this.colorElem_.style.background=`linear-gradient(${s.join(",")})`,this.previewElem_.style.backgroundColor=ss(e);const o=R(t[3],0,1,0,100);this.markerElem_.style.left=`${o}%`}onValueChange_(){this.update_()}},sf=class{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new rf(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Me(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;const i=e.point.x/e.bounds.width,r=this.value.rawValue,[s,o,a]=r.getComponents("hsv");this.value.setRawValue(new le([s,o,a,i],"hsv"),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){const t=Se(wn(!0),lt(e));if(t===0)return;const i=this.value.rawValue,[r,s,o,a]=i.getComponents("hsv");this.value.setRawValue(new le([r,s,o,a+t],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(e){Se(wn(!0),lt(e))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}};const $n=A("coltxt");function of(n){const e=n.createElement("select"),t=[{text:"RGB",value:"rgb"},{text:"HSL",value:"hsl"},{text:"HSV",value:"hsv"},{text:"HEX",value:"hex"}];return e.appendChild(t.reduce((i,r)=>{const s=n.createElement("option");return s.textContent=r.text,s.value=r.value,i.appendChild(s),i},n.createDocumentFragment())),e}let af=class{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add($n()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add($n("m")),this.modeElem_=of(e),this.modeElem_.classList.add($n("ms")),i.appendChild(this.modeSelectElement),t.viewProps.bindDisabled(this.modeElem_);const r=e.createElement("div");r.classList.add($n("mm")),r.appendChild(Ss(e,"dropdown")),i.appendChild(r),this.element.appendChild(i);const s=e.createElement("div");s.classList.add($n("w")),this.element.appendChild(s),this.inputsElem_=s,this.inputViews_=t.inputViews,this.applyInputViews_(),st(t.mode,o=>{this.modeElem_.value=o})}get modeSelectElement(){return this.modeElem_}get inputViews(){return this.inputViews_}set inputViews(e){this.inputViews_=e,this.applyInputViews_()}applyInputViews_(){yu(this.inputsElem_);const e=this.element.ownerDocument;this.inputViews_.forEach(t=>{const i=e.createElement("div");i.classList.add($n("c")),i.appendChild(t.element),this.inputsElem_.appendChild(i)})}};function lf(n){return Le(n==="float"?2:0)}function cf(n,e,t){const i=Qn(n,e)[t];return new yr({min:0,max:i})}function uf(n,e,t){return new si(n,{arrayPosition:t===0?"fst":t===2?"lst":"mid",parser:e.parser,props:F.fromObject({formatter:lf(e.colorType),keyScale:wn(!1),pointerScale:e.colorType==="float"?.01:1}),value:ge(0,{constraint:cf(e.colorMode,e.colorType,t)}),viewProps:e.viewProps})}function hf(n,e){const t={colorMode:e.colorMode,colorType:e.colorType,parser:Oe,viewProps:e.viewProps};return[0,1,2].map(i=>{const r=uf(n,t,i);return en({primary:e.value,secondary:r.value,forward(s){return qe(s,e.colorType).getComponents(e.colorMode)[i]},backward(s,o){const a=e.colorMode,c=qe(s,e.colorType).getComponents(a);c[i]=o;const u=ua(Ts(bt(c),c[3]),a,e.colorType);return qe(u,"int")}}),r})}function df(n,e){const t=new $s(n,{parser:Mr("int"),props:F.fromObject({formatter:ha}),value:ge(le.black()),viewProps:e.viewProps});return en({primary:e.value,secondary:t.value,forward:i=>new le(bt(i.getComponents()),i.mode),backward:(i,r)=>new le(Ts(bt(r.getComponents(i.mode)),i.getComponents()[3]),i.mode)}),[t]}function pf(n){return n!=="hex"}let vf=class{constructor(e,t){this.onModeSelectChange_=this.onModeSelectChange_.bind(this),this.colorType_=t.colorType,this.value=t.value,this.viewProps=t.viewProps,this.colorMode=ge(this.value.rawValue.mode),this.ccs_=this.createComponentControllers_(e),this.view=new af(e,{mode:this.colorMode,inputVie
2ws:[this.ccs_[0].view,this.ccs_[1].view,this.ccs_[2].view],viewProps:this.viewProps}),this.view.modeSelectElement.addEventListener("change",this.onModeSelectChange_)}createComponentControllers_(e){const t=this.colorMode.rawValue;return pf(t)?hf(e,{colorMode:t,colorType:this.colorType_,value:this.value,viewProps:this.viewProps}):df(e,{value:this.value,viewProps:this.viewProps})}onModeSelectChange_(e){const t=e.currentTarget;this.colorMode.rawValue=t.value,this.ccs_=this.createComponentControllers_(this.view.element.ownerDocument),this.view.inputViews=this.ccs_.map(i=>i.view)}};const Xs=A("hpl");let mf=class{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(Xs()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);const i=e.createElement("div");i.classList.add(Xs("c")),this.element.appendChild(i);const r=e.createElement("div");r.classList.add(Xs("m")),this.element.appendChild(r),this.markerElem_=r,this.update_()}update_(){const e=this.value.rawValue,[t]=e.getComponents("hsv");this.markerElem_.style.backgroundColor=Xu(new le([t,100,100],"hsv"));const i=R(t,0,360,0,100);this.markerElem_.style.left=`${i}%`}onValueChange_(){this.update_()}},ff=class{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new mf(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Me(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;const i=R(we(e.point.x,0,e.bounds.width),0,e.bounds.width,0,360),r=this.value.rawValue,[,s,o,a]=r.getComponents("hsv");this.value.setRawValue(new le([i,s,o,a],"hsv"),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){const t=Se(wn(!1),lt(e));if(t===0)return;const i=this.value.rawValue,[r,s,o,a]=i.getComponents("hsv");this.value.setRawValue(new le([r+t,s,o,a],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(e){Se(wn(!1),lt(e))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}};const Zs=A("svp"),Bl=64;let bf=class{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(Zs()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);const i=e.createElement("canvas");i.height=Bl,i.width=Bl,i.classList.add(Zs("c")),this.element.appendChild(i),this.canvasElement=i;const r=e.createElement("div");r.classList.add(Zs("m")),this.element.appendChild(r),this.markerElem_=r,this.update_()}update_(){const e=kv(this.canvasElement);if(!e)return;const i=this.value.rawValue.getComponents("hsv"),r=this.canvasElement.width,s=this.canvasElement.height,o=e.getImageData(0,0,r,s),a=o.data;for(let u=0;u<s;u++)for(let h=0;h<r;h++){const p=R(h,0,r,0,100),v=R(u,0,s,100,0),m=Nu(i[0],p,v),f=(u*r+h)*4;a[f]=m[0],a[f+1]=m[1],a[f+2]=m[2],a[f+3]=255}e.putImageData(o,0,0);const l=R(i[1],0,100,0,100);this.markerElem_.style.left=`${l}%`;const c=R(i[2],0,100,100,0);this.markerElem_.style.top=`${c}%`}onValueChange_(){this.update_()}},_f=class{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new bf(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Me(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;const i=R(e.point.x,0,e.bounds.width,0,100),r=R(e.point.y,0,e.bounds.height,100,0),[s,,,o]=this.value.rawValue.getComponents("hsv");
2this.value.setRawValue(new le([s,i,r,o],"hsv"),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){Li(e.key)&&e.preventDefault();const[t,i,r,s]=this.value.rawValue.getComponents("hsv"),o=wn(!1),a=Se(o,lt(e)),l=Se(o,Yt(e));a===0&&l===0||this.value.setRawValue(new le([t,i+a,r+l,s],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(e){const t=wn(!1),i=Se(t,lt(e)),r=Se(t,Yt(e));i===0&&r===0||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}},wf=class{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.hPaletteC_=new ff(e,{value:this.value,viewProps:this.viewProps}),this.svPaletteC_=new _f(e,{value:this.value,viewProps:this.viewProps}),this.alphaIcs_=t.supportsAlpha?{palette:new sf(e,{value:this.value,viewProps:this.viewProps}),text:new si(e,{parser:Oe,props:F.fromObject({pointerScale:.01,keyScale:.1,formatter:Le(2)}),value:ge(0,{constraint:new yr({min:0,max:1})}),viewProps:this.viewProps})}:null,this.alphaIcs_&&en({primary:this.value,secondary:this.alphaIcs_.text.value,forward:i=>i.getComponents()[3],backward:(i,r)=>{const s=i.getComponents();return s[3]=r,new le(s,i.mode)}}),this.textsC_=new vf(e,{colorType:t.colorType,value:this.value,viewProps:this.viewProps}),this.view=new Mm(e,{alphaViews:this.alphaIcs_?{palette:this.alphaIcs_.palette.view,text:this.alphaIcs_.text.view}:null,hPaletteView:this.hPaletteC_.view,supportsAlpha:t.supportsAlpha,svPaletteView:this.svPaletteC_.view,textsView:this.textsC_.view,viewProps:this.viewProps})}get textsController(){return this.textsC_}};const Qs=A("colsw");let gf=class{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.element=e.createElement("div"),this.element.classList.add(Qs()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(Qs("sw")),this.element.appendChild(i),this.swatchElem_=i;const r=e.createElement("button");r.classList.add(Qs("b")),t.viewProps.bindDisabled(r),this.element.appendChild(r),this.buttonElement=r,this.update_()}update_(){const e=this.value.rawValue;this.swatchElem_.style.backgroundColor=da(e)}onValueChange_(){this.update_()}},Cf=class{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new gf(e,{value:this.value,viewProps:this.viewProps})}},pa=class{constructor(e,t){this.onButtonBlur_=this.onButtonBlur_.bind(this),this.onButtonClick_=this.onButtonClick_.bind(this),this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.foldable_=Lr.create(t.expanded),this.swatchC_=new Cf(e,{value:this.value,viewProps:this.viewProps});const i=this.swatchC_.view.buttonElement;i.addEventListener("blur",this.onButtonBlur_),i.addEventListener("click",this.onButtonClick_),this.textC_=new $s(e,{parser:t.parser,props:F.fromObject({formatter:t.formatter}),value:this.value,viewProps:this.viewProps}),this.view=new xm(e,{foldable:this.foldable_,pickerLayout:t.pickerLayout}),this.view.swatchElement.appendChild(this.swatchC_.view.element),this.view.textElement.appendChild(this.textC_.view.element),this.popC_=t.pickerLayout==="popup"?new Ms(e,{viewProps:this.viewProps}):null;const r=new wf(e,{colorType:t.colorType,supportsAlpha:t.supportsAlpha,value:this.value,viewProps:this.viewProps});r.view.allFocusableElements.forEach(s=>{s.addEventListener("blur",this.onPopupChildBlur_),s.addEventListener("keydown",this.onPopupChildKeydown_)}),this.pickerC_=r,this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(r.view.element),en({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:s=>s,backward:(s,o)=>o})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),Ar(this.foldable_,this.view.pickerElement))}get textController(){return this.textC_}onButtonBlur_(e){if(!this.popC_)return;const t=this.view.element,i=e.relatedTarget;(!i||!t.contains(i))&&(this.popC_.shows.rawValue=!1)}onButtonClick_(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()}onPopupChildBlur_(e){if(!this.popC_)return;const t=this.popC_.view.element,i=Vs(e);i&&t.contains(i)||i&&i===this.swatchC_.view.buttonElement&&!Sr(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(e){this.popC_?e.key==="Escape"&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&e.key==="Escape"&&this.swatchC_.view.buttonElement.focus()}};function yf(n){return bt(n.getComponents("rgb")).reduce((e,t)=>
2e<<8|Math.floor(t)&255,0)}function xf(n){return n.getComponents("rgb").reduce((e,t,i)=>{const r=Math.floor(i===3?t*255:t)&255;return e<<8|r},0)>>>0}function Pf(n){return new le([n>>16&255,n>>8&255,n&255],"rgb")}function Ef(n){return new le([n>>24&255,n>>16&255,n>>8&255,R(n&255,0,255,0,1)],"rgb")}function kf(n){return typeof n!="number"?le.black():Pf(n)}function Sf(n){return typeof n!="number"?le.black():Ef(n)}function os(n,e){return typeof n!="object"||de(n)?!1:e in n&&typeof n[e]=="number"}function va(n){return os(n,"r")&&os(n,"g")&&os(n,"b")}function ma(n){return va(n)&&os(n,"a")}function eh(n){return va(n)}function fa(n,e){if(n.mode!==e.mode||n.type!==e.type)return!1;const t=n.getComponents(),i=e.getComponents();for(let r=0;r<t.length;r++)if(t[r]!==i[r])return!1;return!0}function Rl(n){return"a"in n?[n.r,n.g,n.b,n.a]:[n.r,n.g,n.b]}function Vf(n){const e=Ju(n);return e?(t,i)=>{Ct(t,e(i))}:null}function Lf(n){const e=n?xf:yf;return(t,i)=>{Ct(t,e(i))}}function Af(n,e,t){const r=qe(e,t).toRgbaObject();n.writeProperty("r",r.r),n.writeProperty("g",r.g),n.writeProperty("b",r.b),n.writeProperty("a",r.a)}function Mf(n,e,t){const r=qe(e,t).toRgbaObject();n.writeProperty("r",r.r),n.writeProperty("g",r.g),n.writeProperty("b",r.b)}function $f(n,e){return(t,i)=>{n?Af(t,i,e):Mf(t,i,e)}}function Df(n){var e;return!!(!((e=n==null?void 0:n.color)===null||e===void 0)&&e.alpha)}function Tf(n){return n?e=>da(e,"0x"):e=>ha(e,"0x")}function Nf(n){return"color"in n||n.view==="color"}re({id:"input-color-number",type:"input",accept:(n,e)=>{if(typeof n!="number"||!Nf(e))return null;const t=la(e);return t?{initialValue:n,params:Object.assign(Object.assign({},t),{supportsAlpha:Df(e)})}:null},binding:{reader:n=>n.params.supportsAlpha?Sf:kf,equals:fa,writer:n=>Lf(n.params.supportsAlpha)},controller:n=>{var e,t;return new pa(n.document,{colorType:"int",expanded:(e=n.params.expanded)!==null&&e!==void 0?e:!1,formatter:Tf(n.params.supportsAlpha),parser:Mr("int"),pickerLayout:(t=n.params.picker)!==null&&t!==void 0?t:"popup",supportsAlpha:n.params.supportsAlpha,value:n.value,viewProps:n.viewProps})}});function Of(n,e){if(!eh(n))return qe(le.black(),e);if(e==="int"){const t=Rl(n);return new le(t,"rgb")}if(e==="float"){const t=Rl(n);return new ca(t,"rgb")}return qe(le.black(),"int")}function Ff(n){return ma(n)}function Bf(n){return e=>{const t=Of(e,n);return qe(t,"int")}}function Rf(n,e){return t=>n?Qu(t,e):Zu(t,e)}re({id:"input-color-object",type:"input",accept:(n,e)=>{var t;if(!eh(n))return null;const i=la(e);return i?{initialValue:n,params:Object.assign(Object.assign({},i),{colorType:(t=Ru(e))!==null&&t!==void 0?t:"int"})}:null},binding:{reader:n=>Bf(n.params.colorType),equals:fa,writer:n=>$f(Ff(n.initialValue),n.params.colorType)},controller:n=>{var e,t;const i=ma(n.initialValue);return new pa(n.document,{colorType:n.params.colorType,expanded:(e=n.params.expanded)!==null&&e!==void 0?e:!1,formatter:Rf(i,n.params.colorType),parser:Mr("int"),pickerLayout:(t=n.params.picker)!==null&&t!==void 0?t:"popup",supportsAlpha:i,value:n.value,viewProps:n.viewProps})}});re({id:"input-color-string",type:"input",accept:(n,e)=>{if(typeof n!="string"||e.view==="text")return null;const t=Xm(n,Ru(e));if(!t)return null;const i=Ju(t);if(!i)return null;const r=la(e);return r?{initialValue:n,params:Object.assign(Object.assign({},r),{format:t,stringifier:i})}:null},binding:{reader:()=>Zm,equals:fa,writer:n=>{const e=Vf(n.params.format);if(!e)throw at.notBindable();return e}},controller:n=>{var e,t;return new pa(n.document,{colorType:n.params.format.type,expanded:(e=n.params.expanded)!==null&&e!==void 0?e:!1,formatter:n.params.stringifier,parser:Mr("int"),pickerLayout:(t=n.params.picker)!==null&&t!==void 0?t:"popup",supportsAlpha:n.params.format.alpha,value:n.value,viewProps:n.viewProps})}});let Xt=class{constructor(e){this.components=e.components,this.asm_=e.assembly}constrain(e){const t=this.asm_.toComponents(e).map((i,r)=>{var s,o;return(o=(s=this.components[r])===null||s===void 0?void 0:s.constrain(i))!==null&&o!==void 0?o:i});return this.asm_.fromComponents(t)}};const jl=A("pndtxt");let jf=class{constructor(e,t){this.textViews=t.textViews,this.element=e.createElement("div"),this.element.classList.add(jl()),this.textViews.forEach(i=>
2{const r=e.createElement("div");r.classList.add(jl("a")),r.appendChild(i.element),this.element.appendChild(r)})}};function If(n,e,t){return new si(n,{arrayPosition:t===0?"fst":t===e.axes.length-1?"lst":"mid",parser:e.parser,props:e.axes[t].textProps,value:ge(0,{constraint:e.axes[t].constraint}),viewProps:e.viewProps})}let tn=class{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.acs_=t.axes.map((i,r)=>If(e,t,r)),this.acs_.forEach((i,r)=>{en({primary:this.value,secondary:i.value,forward:s=>t.assembly.toComponents(s)[r],backward:(s,o)=>{const a=t.assembly.toComponents(s);return a[r]=o,t.assembly.fromComponents(a)}})}),this.view=new jf(e,{textViews:this.acs_.map(i=>i.view)})}get textControllers(){return this.acs_}},zf=class extends Jo{get max(){return this.controller.valueController.sliderController.props.get("max")}set max(e){this.controller.valueController.sliderController.props.set("max",e)}get min(){return this.controller.valueController.sliderController.props.get("min")}set min(e){this.controller.valueController.sliderController.props.set("min",e)}};function Uf(n,e){const t=[],i=Pr(n,e);i&&t.push(i);const r=Er(n);r&&t.push(r);const s=sa(n.options);return s&&t.push(s),new gt(t)}re({id:"input-number",type:"input",accept:(n,e)=>{if(typeof n!="number")return null;const t=te(e,i=>Object.assign(Object.assign({},kr(i)),{options:i.optional.custom(As),readonly:i.optional.constant(!1)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>xr,constraint:n=>Uf(n.params,n.initialValue),writer:n=>Ct},controller:n=>{const e=n.value,t=n.constraint,i=t&&Vi(t,Ls);if(i)return new Zn(n.document,{props:new F({options:i.values.value("options")}),value:e,viewProps:n.viewProps});const r=ii(n.params,e.rawValue),s=t&&Vi(t,yr);return s?new Ol(n.document,Object.assign(Object.assign({},_m(Object.assign(Object.assign({},r),{keyScale:ge(r.keyScale),max:s.values.value("max"),min:s.values.value("min")}))),{parser:Oe,value:e,viewProps:n.viewProps})):new si(n.document,{parser:Oe,props:F.fromObject(r),value:e,viewProps:n.viewProps})},api(n){return typeof n.controller.value.rawValue!="number"?null:n.controller.valueController instanceof Ol?new zf(n.controller):n.controller.valueController instanceof Zn?new ra(n.controller):null}});let Ht=class{constructor(e=0,t=0){this.x=e,this.y=t}getComponents(){return[this.x,this.y]}static isObject(e){if(de(e))return!1;const t=e.x,i=e.y;return!(typeof t!="number"||typeof i!="number")}static equals(e,t){return e.x===t.x&&e.y===t.y}toObject(){return{x:this.x,y:this.y}}};const th={toComponents:n=>n.getComponents(),fromComponents:n=>new Ht(...n)},Dn=A("p2d");let qf=class{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Dn()),t.viewProps.bindClassModifiers(this.element),st(t.expanded,Mt(this.element,Dn(void 0,"expanded")));const i=e.createElement("div");i.classList.add(Dn("h")),this.element.appendChild(i);const r=e.createElement("button");r.classList.add(Dn("b")),r.appendChild(Ss(e,"p2dpad")),t.viewProps.bindDisabled(r),i.appendChild(r),this.buttonElement=r;const s=e.createElement("div");if(s.classList.add(Dn("t")),i.appendChild(s),this.textElement=s,t.pickerLayout==="inline"){const o=e.createElement("div");o.classList.add(Dn("p")),this.element.appendChild(o),this.pickerElement=o}else this.pickerElement=null}};const Nt=A("p2dp");let Kf=class{constructor(e,t){this.onFoldableChange_=this.onFoldableChange_.bind(this),this.onPropsChange_=this.onPropsChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.props_=t.props,this.props_.emitter.on("change",this.onPropsChange_),this.element=e.createElement("div"),this.element.classList.add(Nt()),t.layout==="popup"&&this.element.classList.add(Nt(void 0,"p")),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(Nt("p")),t.viewProps.bindTabIndex(i),this.element.appendChild(i),this.padElement=i;const r=e.createElementNS(ie,"svg");r.classList.add(Nt("g")),this.padElement.appendChild(r),this.svgElem_=r;const s=e.createElementNS(ie,"line");s.classList.add(Nt("ax")),s.setAttributeNS(null,"x1","0"),s.setAttributeNS(null,"y1","50%"),s.setAttributeNS(null,"x2","100%"),s.setAttributeNS(null,"y2","50%"),this.svgElem_.appendChild(s);const o=e.createElementNS(ie,"line");o.classList.add(Nt("ax")),o.setAttributeNS(null,"x1","50%"),o.setAttributeNS(null,"y1","0"),o.setAttributeNS(null,"x2","50%"),o.setAttributeNS(null,"y2","100%"),this.svgElem_.appendChild(o);const a=e.createElementNS(ie,"line");a.classList.add(Nt("l")),a.setAttributeNS(null,"x1","50%"),a.setAttributeNS(null,"y1","50%"),this.svgElem_.appendChild(a),this.lineElem_=a;const l=e.createElement("div");l.classList.add(Nt("m")),this.padElement.appendChild(l),this.markerElem_=l,t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.update_()}get allFocusableElements(){return[this.padElement]}update_(){const[e,t]=this.value.rawValue.getComponents(),i=this.props_.get("max"),r=R(e,-i,+i,0,100),s=R(t,-i,+i,0,100),o=this.props_.get("invertsY")?100-s:s;this.lineElem_.setAttributeNS(null,"x2",`${r}%`),this.lineElem_.setAttributeNS(null,"y2",`${o}%`),this.markerElem_.style.left=`${r}%`,this.markerElem_.style.top=`${o}%`}onValueChange_(){this.update_()}onPropsChange_(){this.update_()}onFoldableChange_(){this.update_()}};function Il(n,e,t){return[Se(e[0],lt(n)),Se(e[1],Yt(n))*(t?1:-1)]}let Hf=class{constructor(e,t){this.onPadKeyDown_=this.onPadKeyDown_.bind(this),this.onPadKeyUp_=this.onPadKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new Kf(e,{layout:t.layout,props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Me(this.view.padElement),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.padElement.addEventListener("keydown",this.onPadKeyDown_),this.view.padElement.addEventListener("keyup",this.onPadKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;const i=this.props.get("max"),r=R(e.point.x,0,e.bounds.width,-i,+i),s=R(this.props.get("invertsY")?e.bounds.height-e.point.y:e.point.y,0,e.bounds.height,-i,+i);this.value.setRawValue(new Ht(r,s),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onPadKeyDown_(e){Li(e.key)&&e.preventDefault();const[t,i]=Il(e,[this.props.get("xKeyScale"),this.props.get("yKeyScale")],this.props.get("invertsY"));t===0&&i===0||this.value.setRawValue(new Ht(this.value.rawValue.x+t,this.value.rawValue.y+i),{forceEmit:!1,last:!1})}onPadKeyUp_(e){const[t,i]=Il(e,[this.props.get("xKeyScale"),this.props.get("yKeyScale")],this.props.get("invertsY"));t===0&&i===0||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}},Wf=class{constructor(e,t){var i,r;this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.onPadButtonBlur_=this.onPadButtonBlur_.bind(this),this.onPadButtonClick_=this.onPadButtonClick_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.foldable_=Lr.create(t.expanded),this.popC_=t.pickerLayout==="popup"?new Ms(e,{viewProps:this.viewProps}):null;const s=new Hf(e,{layout:t.pickerLayout,props:new F({invertsY:ge(t.invertsY),max:ge(t.max),xKeyScale:t.axes[0].textProps.value("keyScale"),yKeyScale:t.axes[1].textProps.value("keyScale")}
2),value:this.value,viewProps:this.viewProps});s.view.allFocusableElements.forEach(o=>{o.addEventListener("blur",this.onPopupChildBlur_),o.addEventListener("keydown",this.onPopupChildKeydown_)}),this.pickerC_=s,this.textC_=new tn(e,{assembly:th,axes:t.axes,parser:t.parser,value:this.value,viewProps:this.viewProps}),this.view=new qf(e,{expanded:this.foldable_.value("expanded"),pickerLayout:t.pickerLayout,viewProps:this.viewProps}),this.view.textElement.appendChild(this.textC_.view.element),(i=this.view.buttonElement)===null||i===void 0||i.addEventListener("blur",this.onPadButtonBlur_),(r=this.view.buttonElement)===null||r===void 0||r.addEventListener("click",this.onPadButtonClick_),this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(this.pickerC_.view.element),en({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:o=>o,backward:(o,a)=>a})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),Ar(this.foldable_,this.view.pickerElement))}get textController(){return this.textC_}onPadButtonBlur_(e){if(!this.popC_)return;const t=this.view.element,i=e.relatedTarget;(!i||!t.contains(i))&&(this.popC_.shows.rawValue=!1)}onPadButtonClick_(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()}onPopupChildBlur_(e){if(!this.popC_)return;const t=this.popC_.view.element,i=Vs(e);i&&t.contains(i)||i&&i===this.view.buttonElement&&!Sr(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(e){this.popC_?e.key==="Escape"&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&e.key==="Escape"&&this.view.buttonElement.focus()}};function Gf(n){return Ht.isObject(n)?new Ht(n.x,n.y):new Ht}function Yf(n,e){n.writeProperty("x",e.x),n.writeProperty("y",e.y)}function Xf(n,e){return new Xt({assembly:th,components:[Et(Object.assign(Object.assign({},n),n.x),e.x),Et(Object.assign(Object.assign({},n),n.y),e.y)]})}function zl(n,e){var t,i;if(!de(n.min)||!de(n.max))return Math.max(Math.abs((t=n.min)!==null&&t!==void 0?t:0),Math.abs((i=n.max)!==null&&i!==void 0?i:0));const r=gu(n);return Math.max(Math.abs(r)*10,Math.abs(e)*10)}function Zf(n,e){var t,i;const r=zl(bn(n,(t=n.x)!==null&&t!==void 0?t:{}),e.x),s=zl(bn(n,(i=n.y)!==null&&i!==void 0?i:{}),e.y);return Math.max(r,s)}function Qf(n){if(!("y"in n))return!1;const e=n.y;return e&&"inverted"in e?!!e.inverted:!1}re({id:"input-point2d",type:"input",accept:(n,e)=>{if(!Ht.isObject(n))return null;const t=te(e,i=>Object.assign(Object.assign({},Ai(i)),{expanded:i.optional.boolean,picker:i.optional.custom(Ds),readonly:i.optional.constant(!1),x:i.optional.custom(Ue),y:i.optional.object(Object.assign(Object.assign({},Ai(i)),{inverted:i.optional.boolean}))}));return t?{initialValue:n,params:t}:null},binding:{reader:()=>Gf,constraint:n=>Xf(n.params,n.initialValue),equals:Ht.equals,writer:()=>Yf},controller:n=>{var e,t;const i=n.document,r=n.value,s=n.constraint,o=[n.params.x,n.params.y];return new Wf(i,{axes:r.rawValue.getComponents().map((a,l)=>{var c;return Qo({constraint:s.components[l],initialValue:a,params:bn(n.params,(c=o[l])!==null&&c!==void 0?c:{})})}),expanded:(e=n.params.expanded)!==null&&e!==void 0?e:!1,invertsY:Qf(n.params),max:Zf(n.params,r.rawValue),parser:Oe,pickerLayout:(t=n.params.picker)!==null&&t!==void 0?t:"popup",value:r,viewProps:n.viewProps})}});let Kn=class{constructor(e=0,t=0,i=0){this.x=e,this.y=t,this.z=i}getComponents(){return[this.x,this.y,this.z]}static isObject(e){if(de(e))return!1;const t=e.x,i=e.y,r=e.z;return!(typeof t!="number"||typeof i!="number"||typeof r!="number")}static equals(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z}toObject(){return{x:this.x,y:this.y,z:this.z}}};const nh={toComponents:n=>n.getComponents(),fromComponents:n=>new Kn(...n)};function Jf(n){return Kn.isObject(n)?new Kn(n.x,n.y,n.z):new Kn}function eb(n,e){n.writeProperty("x",e.x),n.writeProperty("y",e.y),n.writeProperty("z",e.z)}function tb(n,e){return new Xt({assembly:nh,components:[Et(Object.assign(Object.assign({},n),n.x),e.x),Et(Object.assign(Object.assign({},n),n.y),e.y),Et(Object.assign(Object.assign({},n),n.z),e.z)]})}re({id:"input-point3d",type:"input",accept:(n,e)=>{if(!Kn.isObject(n))return null;const t=te(e,i=>Object.assign(Object.assign({},Ai(i)),{readonly:i.optional.constant(!1),x:i.optional.custom(Ue),y:i.optional.custom(Ue),z:i.optional.custom(Ue)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>Jf,constraint:n=>
2tb(n.params,n.initialValue),equals:Kn.equals,writer:n=>eb},controller:n=>{const e=n.value,t=n.constraint,i=[n.params.x,n.params.y,n.params.z];return new tn(n.document,{assembly:nh,axes:e.rawValue.getComponents().map((r,s)=>{var o;return Qo({constraint:t.components[s],initialValue:r,params:bn(n.params,(o=i[s])!==null&&o!==void 0?o:{})})}),parser:Oe,value:e,viewProps:n.viewProps})}});let Hn=class{constructor(e=0,t=0,i=0,r=0){this.x=e,this.y=t,this.z=i,this.w=r}getComponents(){return[this.x,this.y,this.z,this.w]}static isObject(e){if(de(e))return!1;const t=e.x,i=e.y,r=e.z,s=e.w;return!(typeof t!="number"||typeof i!="number"||typeof r!="number"||typeof s!="number")}static equals(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w}toObject(){return{x:this.x,y:this.y,z:this.z,w:this.w}}};const ih={toComponents:n=>n.getComponents(),fromComponents:n=>new Hn(...n)};function nb(n){return Hn.isObject(n)?new Hn(n.x,n.y,n.z,n.w):new Hn}function ib(n,e){n.writeProperty("x",e.x),n.writeProperty("y",e.y),n.writeProperty("z",e.z),n.writeProperty("w",e.w)}function rb(n,e){return new Xt({assembly:ih,components:[Et(Object.assign(Object.assign({},n),n.x),e.x),Et(Object.assign(Object.assign({},n),n.y),e.y),Et(Object.assign(Object.assign({},n),n.z),e.z),Et(Object.assign(Object.assign({},n),n.w),e.w)]})}re({id:"input-point4d",type:"input",accept:(n,e)=>{if(!Hn.isObject(n))return null;const t=te(e,i=>Object.assign(Object.assign({},Ai(i)),{readonly:i.optional.constant(!1),w:i.optional.custom(Ue),x:i.optional.custom(Ue),y:i.optional.custom(Ue),z:i.optional.custom(Ue)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>nb,constraint:n=>rb(n.params,n.initialValue),equals:Hn.equals,writer:n=>ib},controller:n=>{const e=n.value,t=n.constraint,i=[n.params.x,n.params.y,n.params.z,n.params.w];return new tn(n.document,{assembly:ih,axes:e.rawValue.getComponents().map((r,s)=>{var o;return Qo({constraint:t.components[s],initialValue:r,params:bn(n.params,(o=i[s])!==null&&o!==void 0?o:{})})}),parser:Oe,value:e,viewProps:n.viewProps})}});function sb(n){const e=[],t=sa(n.options);return t&&e.push(t),new gt(e)}re({id:"input-string",type:"input",accept:(n,e)=>{if(typeof n!="string")return null;const t=te(e,i=>({readonly:i.optional.constant(!1),options:i.optional.custom(As)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>aa,constraint:n=>sb(n.params),writer:n=>Ct},controller:n=>{const e=n.document,t=n.value,i=n.constraint,r=i&&Vi(i,Ls);return r?new Zn(e,{props:new F({options:r.values.value("options")}),value:t,viewProps:n.viewProps}):new $s(e,{parser:s=>s,props:F.fromObject({formatter:$o}),value:t,viewProps:n.viewProps})},api(n){return typeof n.controller.value.rawValue!="string"?null:n.controller.valueController instanceof Zn?new ra(n.controller):null}});const oi={monitor:{defaultInterval:200,defaultRows:3}},Ul=A("mll");let ob=class{constructor(e,t){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=t.formatter,this.element=e.createElement("div"),this.element.classList.add(Ul()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("textarea");i.classList.add(Ul("i")),i.style.height=`calc(var(${Du("containerUnitSize")}) * ${t.rows})`,i.readOnly=!0,t.viewProps.bindDisabled(i),this.element.appendChild(i),this.textareaElem_=i,t.value.emitter.on("change",this.onValueUpdate_),this.value=t.value,this.update_()}update_(){const e=this.textareaElem_,t=e.scrollTop===e.scrollHeight-e.clientHeight,i=[];this.value.rawValue.forEach(r=>{r!==void 0&&i.push(this.formatter_(r))}),e.textContent=i.join(` 3`),t&&(e.scrollTop=e.scrollHeight)}onValueUpdate_(){this.update_()}},ba=class{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new ob(e,{formatter:t.formatter,rows:t.rows,value:this.value,viewProps:this.viewProps})}};const ql=A("sgl");let ab=class{constructor(e,t){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=t.formatter,this.element=e.createElement("div"),this.element.classList.add(ql()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("input");i.classList.add(ql("i")),i.readOnly=!0,i.type="text",t.viewProps.bindDisabled(i),this.element.appendChild(i),this.inputElement=i,t.value.emitter.on("change",this.onValueUpdate_),this.value=t.value,this.update_()}update_(){const e=this.value.rawValue,t=e[e.length-1];this.inputElement.value=t!==void 0?this.formatter_(t):""}onValueUpdate_(){this.update_()}},_a=class{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new ab(e,{formatter:t.formatter,value:this.value,viewProps:this.viewProps})}};re({id:"monitor-bool",type:"monitor",accept:(n,e)=>{if(typeof n!="boolean")return null;const t=te(e,i=>({readonly:i.required.constant(!0),rows:i.optional.number}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>oa},controller:n=>{var e;return n.value.rawValue.length===1?new _a(n.document,{formatter:Nl,value:n.value,viewProps:n.viewProps}):new ba(n.document,{formatter:Nl,rows:(e=n.params.rows)!==null&&e!==void 0?e:oi.monitor.defaultRows,value:n.value,viewProps:n.viewProps})}});let lb=class extends Jo{get max(){return this.controller.valueController.props.get("max")}
3set max(e){this.controller.valueController.props.set("max",e)}get min(){return this.controller.valueController.props.get("min")}set min(e){this.controller.valueController.props.set("min",e)}};const Ot=A("grl");let cb=class{constructor(e,t){this.onCursorChange_=this.onCursorChange_.bind(this),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.element=e.createElement("div"),this.element.classList.add(Ot()),t.viewProps.bindClassModifiers(this.element),this.formatter_=t.formatter,this.props_=t.props,this.cursor_=t.cursor,this.cursor_.emitter.on("change",this.onCursorChange_);const i=e.createElementNS(ie,"svg");i.classList.add(Ot("g")),i.style.height=`calc(var(${Du("containerUnitSize")}) * ${t.rows})`,this.element.appendChild(i),this.svgElem_=i;const r=e.createElementNS(ie,"polyline");this.svgElem_.appendChild(r),this.lineElem_=r;const s=e.createElement("div");s.classList.add(Ot("t"),A("tt")()),this.element.appendChild(s),this.tooltipElem_=s,t.value.emitter.on("change",this.onValueUpdate_),this.value=t.value,this.update_()}get graphElement(){return this.svgElem_}update_(){const{clientWidth:e,clientHeight:t}=this.element,i=this.value.rawValue.length-1,r=this.props_.get("min"),s=this.props_.get("max"),o=[];this.value.rawValue.forEach((h,p)=>{if(h===void 0)return;const v=R(p,0,i,0,e),m=R(h,r,s,t,0);o.push([v,m].join(","))}),this.lineElem_.setAttributeNS(null,"points",o.join(" "));const a=this.tooltipElem_,l=this.value.rawValue[this.cursor_.rawValue];if(l===void 0){a.classList.remove(Ot("t","a"));return}const c=R(this.cursor_.rawValue,0,i,0,e),u=R(l,r,s,t,0);a.style.left=`${c}px`,a.style.top=`${u}px`,a.textContent=`${this.formatter_(l)}`,a.classList.contains(Ot("t","a"))||(a.classList.add(Ot("t","a"),Ot("t","in")),ps(a),a.classList.remove(Ot("t","in")))}onValueUpdate_(){this.update_()}onCursorChange_(){this.update_()}},wa=class{constructor(e,t){if(this.onGraphMouseMove_=this.onGraphMouseMove_.bind(this),this.onGraphMouseLeave_=this.onGraphMouseLeave_.bind(this),this.onGraphPointerDown_=this.onGraphPointerDown_.bind(this),this.onGraphPointerMove_=this.onGraphPointerMove_.bind(this),this.onGraphPointerUp_=this.onGraphPointerUp_.bind(this),this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.cursor_=ge(-1),this.view=new cb(e,{cursor:this.cursor_,formatter:t.formatter,rows:t.rows,props:this.props,value:this.value,viewProps:this.viewProps}),!Sr(e))this.view.element.addEventListener("mousemove",this.onGraphMouseMove_),this.view.element.addEventListener("mouseleave",this.onGraphMouseLeave_);else{const i=new Me(this.view.element);i.emitter.on("down",this.onGraphPointerDown_),i.emitter.on("move",this.onGraphPointerMove_),i.emitter.on("up",this.onGraphPointerUp_)}}importProps(e){return ht(e,null,t=>({max:t.required.number,min:t.required.number}),t=>(this.props.set("max",t.max),this.props.set("min",t.min),!0))}exportProps(){return dt(null,{max:this.props.get("max"),min:this.props.get("min")})}onGraphMouseLeave_(){this.cursor_.rawValue=-1}onGraphMouseMove_(e){const{clientWidth:t}=this.view.element;this.cursor_.rawValue=Math.floor(R(e.offsetX,0,t,0,this.value.rawValue.length))}onGraphPointerDown_(e){this.onGraphPointerMove_(e)}onGraphPointerMove_(e){if(!e.data.point){this.cursor_.rawValue=-1;return}this.cursor_.rawValue=Math.floor(R(e.data.point.x,0,e.data.bounds.width,0,this.value.rawValue.length))}onGraphPointerUp_(){this.cursor_.rawValue=-1}};function Do(n){return de(n.format)?Le(2):n.format}function ub(n){var e;return n.value.rawValue.length===1?new _a(n.document,{formatter:Do(n.params),value:n.value,viewProps:n.viewProps}):new ba(n.document,{formatter:Do(n.params),rows:(e=n.params.rows)!==null&&e!==void 0?e:oi.monitor.defaultRows,value:n.value,viewProps:n.viewProps})}function hb(n){var e,t,i;return new wa(n.document,{formatter:Do(n.params),rows:(e=n.params.rows)!==null&&e!==void 0?e:oi.monitor.defaultRows,props:F.fromObject({max:(t=n.params.max)!==null&&t!==void 0?t:100,min:(i=n.params.min)!==null&&i!==void 0?i:0}),value:n.value,viewProps:n.viewProps})}function Kl(n){return n.view==="graph"}re({id:"monitor-number",type:"monitor",accept:(n,e)=>{if(typeof n!="number")return null;const t=te(e,i=>({format:i.optional.function,max:i.optional.number,min:i.optional.number,readonly:i.required.constant(!0),rows:i.optional.number,view:i.optional.string}));return t?{initialValue:n,params:t}:null},binding:{defaultBufferSize:n=>Kl(n)?64:1,reader:n=>xr},controller:n=>Kl(n.params)?hb(n):ub(n),api:n=>n.controller.valueController instanceof wa?new lb(n.controller):null});re({id:"monitor-string",type:"monitor",accept:(n,e)=>
3{if(typeof n!="string")return null;const t=te(e,i=>({multiline:i.optional.boolean,readonly:i.required.constant(!0),rows:i.optional.number}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>aa},controller:n=>{var e;const t=n.value;return t.rawValue.length>1||n.params.multiline?new ba(n.document,{formatter:$o,rows:(e=n.params.rows)!==null&&e!==void 0?e:oi.monitor.defaultRows,value:t,viewProps:n.viewProps}):new _a(n.document,{formatter:$o,value:t,viewProps:n.viewProps})}});const To={baseBackgroundColor:"hsl(230, 7%, 17%)",baseBorderRadius:"6px",baseFontFamily:"Roboto Mono, Source Code Pro, Menlo, Courier, monospace",baseShadowColor:"rgba(0, 0, 0, 0.2)",bladeBorderRadius:"2px",bladeHorizontalPadding:"4px",bladeValueWidth:"160px",buttonBackgroundColor:"hsl(230, 7%, 70%)",buttonBackgroundColorActive:"#d6d7db",buttonBackgroundColorFocus:"#c8cad0",buttonBackgroundColorHover:"#bbbcc4",buttonForegroundColor:"hsl(230, 7%, 17%)",containerBackgroundColor:"rgba(187, 188, 196, 0.1)",containerBackgroundColorActive:"rgba(187, 188, 196, 0.25)",containerBackgroundColorFocus:"rgba(187, 188, 196, 0.2)",containerBackgroundColorHover:"rgba(187, 188, 196, 0.15)",containerForegroundColor:"hsl(230, 7%, 75%)",containerHorizontalPadding:"4px",containerUnitSize:"20px",containerUnitSpacing:"4px",containerVerticalPadding:"4px",grooveForegroundColor:"rgba(187, 188, 196, 0.1)",inputBackgroundColor:"rgba(187, 188, 196, 0.1)",inputBackgroundColorActive:"rgba(187, 188, 196, 0.25)",inputBackgroundColorFocus:"rgba(187, 188, 196, 0.2)",inputBackgroundColorHover:"rgba(187, 188, 196, 0.15)",inputForegroundColor:"hsl(230, 7%, 75%)",labelForegroundColor:"rgba(187, 188, 196, 0.7)",monitorBackgroundColor:"rgba(0, 0, 0, 0.2)",monitorForegroundColor:"rgba(187, 188, 196, 0.7)",pluginImageDraggingColor:"hsla(230, 100%, 66%, 1)"};Object.keys(To).reduce((n,e)=>(n[e]=e,n),{});const db=new Map([["baseBackgroundColor","--tp-base-background-color"],["baseBorderRadius","--tp-base-border-radius"],["baseFontFamily","--tp-base-font-family"],["baseShadowColor","--tp-base-shadow-color"],["bladeBorderRadius","--tp-blade-border-radius"],["bladeHorizontalPadding","--tp-blade-horizontal-padding"],["bladeValueWidth","--tp-blade-value-width"],["buttonBackgroundColor","--tp-button-background-color"],["buttonBackgroundColorActive","--tp-button-background-color-active"],["buttonBackgroundColorFocus","--tp-button-background-color-focus"],["buttonBackgroundColorHover","--tp-button-background-color-hover"],["buttonForegroundColor","--tp-button-foreground-color"],["containerBackgroundColor","--tp-container-background-color"],["containerBackgroundColorActive","--tp-container-background-color-active"],["containerBackgroundColorFocus","--tp-container-background-color-focus"],["containerBackgroundColorHover","--tp-container-background-color-hover"],["containerForegroundColor","--tp-container-foreground-color"],["containerHorizontalPadding","--tp-container-horizontal-padding"],["containerUnitSize","--tp-container-unit-size"],["containerUnitSpacing","--tp-container-unit-spacing"],["containerVerticalPadding","--tp-container-vertical-padding"],["grooveForegroundColor","--tp-groove-foreground-color"],["inputBackgroundColor","--tp-input-background-color"],["inputBackgroundColorActive","--tp-input-background-color-active"],["inputBackgroundColorFocus","--tp-input-background-color-focus"],["inputBackgroundColorHover","--tp-input-background-color-hover"],["inputForegroundColor","--tp-input-foreground-color"],["labelForegroundColor","--tp-label-foreground-color"],["monitorBackgroundColor","--tp-monitor-background-color"],["monitorForegroundColor","--tp-monitor-foreground-color"],["pluginImageDraggingColor","--tp-plugin-image-dragging-color"]]);function pb(n){if(n!==void 0){if(typeof n=="string")return n;if(ma(n))return`rgba(${n.r}, ${n.g}, ${n.b}, ${n.a})`;if(va(n))return`rgb(${n.r}, ${n.g}, ${n.b})`}}function Hl(n){if(n.startsWith("--tp-"))return n;const e=db.get(n);if(e)return e;throw new Error(`Unknown Tweakpane CSS theme map variable key: "${n}"`)}function vb(n,e){const t=Ev().documentElement;if(e===void 0)for(const i of Object.keys(To)){const r=Hl(i);n.style.getPropertyValue(r).length>0&&n.style.removeProperty(r)}else for(const[i,r]of Object.entries(e)){const s=Hl(i),o=pb(r),a=To[i]||void 0,l=t.style.getPropertyValue(s)||void 0;o!==void 0&&(((l&&o!==l)??!1)||!l&&((a&&o!==a)??!1))?n.style.setProperty(s,o):n.style.getPropertyValue(s).length>0&&n.style.removeProperty(s)}}function Jn(n){return n.constructor.name==="Pane"}function Js(n,e,t){return Math.min(Math.max(n,e),t)}function ga(n){let e=0,t=n;for(;(t=t.previousElementSibling)!==null;)t.classList.contains("skip-element-index")||e++;return e}function Ns(n,...e){for(const t of e)t in n&&delete n[t];return n}function Wl(n){n.isTrusted&&n.stopPropagation()}function rh(n,e,t,i){if(e){const r=e.querySelector(`.${t}`);if(r){const s=i?e.querySelector(`.${i}`):void 0;n?(r.removeEventListener("click",Wl,{capture:!0}),r.style.cursor="pointer",s&&(s.style.display="block")):(r.addEventListener("click",Wl,{capture:!0}),r.style.cursor="default",s&&(s.style.display="none"))}}else console.warn(`Title bar element not found with class "${t}"`)}function mb(n){var e,t,i,r;return!!((r=(i=(t=(e=n.controller.valueController)==null?void 0:e.foldable_)==null?void 0:t.valMap_)==null?void 0:i.expanded)!=null&&r.value_)}function fb(n){var t,i,r,s,o,a,l;return((s=(r=(i=(t=n.controller)==null?void 0:t.valueController)==null?void 0:i.view)==null?void 0:r.swatchElement)==null?void 0:s.querySelector("button"))??((l=(a=(o=n.controller)==null?void 0:o.valueController)==null?void 0:a.view)==null?void 0:l.buttonElement)}/*! Tweakpane 4.0.5 (c) 2016 cocopon, licensed under the MIT license. */function ve(n){return n==null}function Ca(n){return n!==null&&typeof n=="object"}function No(n){return n!==null&&typeof n=="object"}function bb(n,e){if(n.length!==e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!==e[t])return!1;return!0}function gn(n,e){return Array.from(new Set([...Object.keys(n),...Object.keys(e)])).reduce((i,r)=>{const s=n[r],o=e[r];return No(s)&&No(o)?Object.assign(Object.assign({},i),{[r]:gn(s,o)}):Object.assign(Object.assign({},i),{[r]:r in e?o:s})},{})}function ya(n){return Ca(n)?"target"in n:!1}const _b={alreadydisposed:()=>
3"View has been already disposed",invalidparams:n=>`Invalid parameters for '${n.name}'`,nomatchingcontroller:n=>`No matching controller for '${n.key}'`,nomatchingview:n=>`No matching view for '${JSON.stringify(n.params)}'`,notbindable:()=>"Value is not bindable",notcompatible:n=>`Not compatible with plugin '${n.id}'`,propertynotfound:n=>`Property '${n.name}' not found`,shouldneverhappen:()=>"This error should never happen"};class xe{static alreadyDisposed(){return new xe({type:"alreadydisposed"})}static notBindable(){return new xe({type:"notbindable"})}static notCompatible(e,t){return new xe({type:"notcompatible",context:{id:`${e}.${t}`}})}static propertyNotFound(e){return new xe({type:"propertynotfound",context:{name:e}})}static shouldNeverHappen(){return new xe({type:"shouldneverhappen"})}constructor(e){var t;this.message=(t=_b[e.type](e.context))!==null&&t!==void 0?t:"Unexpected error",this.name=this.constructor.name,this.stack=new Error(this.message).stack,this.type=e.type}toString(){return this.message}}class fs{constructor(e,t){this.obj_=e,this.key=t}static isBindable(e){return!(e===null||typeof e!="object"&&typeof e!="function")}read(){return this.obj_[this.key]}write(e){this.obj_[this.key]=e}writeProperty(e,t){const i=this.read();if(!fs.isBindable(i))throw xe.notBindable();if(!(e in i))throw xe.propertyNotFound(e);i[e]=t}}class Ae{constructor(){this.observers_={}}on(e,t,i){var r;let s=this.observers_[e];return s||(s=this.observers_[e]=[]),s.push({handler:t,key:(r=i==null?void 0:i.key)!==null&&r!==void 0?r:t}),this}off(e,t){const i=this.observers_[e];return i&&(this.observers_[e]=i.filter(r=>r.key!==t)),this}emit(e,t){const i=this.observers_[e];i&&i.forEach(r=>{r.handler(t)})}}class wb{constructor(e,t){var i;this.constraint_=t==null?void 0:t.constraint,this.equals_=(i=t==null?void 0:t.equals)!==null&&i!==void 0?i:(r,s)=>r===s,this.emitter=new Ae,this.rawValue_=e}get constraint(){return this.constraint_}get rawValue(){return this.rawValue_}set rawValue(e){this.setRawValue(e,{forceEmit:!1,last:!0})}setRawValue(e,t){const i=t??{forceEmit:!1,last:!0},r=this.constraint_?this.constraint_.constrain(e):e,s=this.rawValue_;this.equals_(s,r)&&!i.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.rawValue_=r,this.emitter.emit("change",{options:i,previousRawValue:s,rawValue:r,sender:this}))}}class gb{constructor(e){this.emitter=new Ae,this.value_=e}get rawValue(){return this.value_}set rawValue(e){this.setRawValue(e,{forceEmit:!1,last:!0})}setRawValue(e,t){const i=t??{forceEmit:!1,last:!0},r=this.value_;r===e&&!i.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.value_=e,this.emitter.emit("change",{options:i,previousRawValue:r,rawValue:this.value_,sender:this}))}}class Cb{constructor(e){this.emitter=new Ae,this.onValueBeforeChange_=this.onValueBeforeChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.value_=e,this.value_.emitter.on("beforechange",this.onValueBeforeChange_),this.value_.emitter.on("change",this.onValueChange_)}get rawValue(){return this.value_.rawValue}onValueBeforeChange_(e){this.emitter.emit("beforechange",Object.assign(Object.assign({},e),{sender:this}))}onValueChange_(e){this.emitter.emit("change",Object.assign(Object.assign({},e),{sender:this}))}}function Ce(n,e){const t=e==null?void 0:e.constraint,i=e==null?void 0:e.equals;return!t&&!i?new gb(n):new wb(n,e)}function yb(n){return[new Cb(n),(e,t)=>{n.setRawValue(e,t)}]}class q{constructor(e){this.emitter=new Ae,this.valMap_=e;for(const t in this.valMap_)this.valMap_[t].emitter.on("change",()=>{this.emitter.emit("change",{key:t,sender:this})})}static createCore(e){return Object.keys(e).reduce((i,r)=>Object.assign(i,{[r]:Ce(e[r])}),{})}static fromObject(e){const t=this.createCore(e);return new q(t)}get(e){return this.valMap_[e].rawValue}set(e,t){this.valMap_[e].rawValue=t}value(e){return this.valMap_[e]}}class $r{constructor(e){this.values=q.fromObject({max:e.max,min:e.min})}constrain(e){const t=this.values.get("max"),i=this.values.get("min");return Math.min(Math.max(e,i),t)}}class xb{constructor(e){this.values=q.fromObject({max:e.max,min:e.min})}constrain(e){const t=this.values.get("max"),i=this.values.get("min");let r=e;
3return ve(i)||(r=Math.max(r,i)),ve(t)||(r=Math.min(r,t)),r}}class Pb{constructor(e,t=0){this.step=e,this.origin=t}constrain(e){const t=this.origin%this.step,i=Math.round((e-t)/this.step);return t+i*this.step}}class Eb{constructor(e){this.text=e}evaluate(){return Number(this.text)}toString(){return this.text}}const kb={"**":(n,e)=>Math.pow(n,e),"*":(n,e)=>n*e,"/":(n,e)=>n/e,"%":(n,e)=>n%e,"+":(n,e)=>n+e,"-":(n,e)=>n-e,"<<":(n,e)=>n<<e,">>":(n,e)=>n>>e,">>>":(n,e)=>n>>>e,"&":(n,e)=>n&e,"^":(n,e)=>n^e,"|":(n,e)=>n|e};class Sb{constructor(e,t,i){this.left=t,this.operator=e,this.right=i}evaluate(){const e=kb[this.operator];if(!e)throw new Error(`unexpected binary operator: '${this.operator}`);return e(this.left.evaluate(),this.right.evaluate())}toString(){return["b(",this.left.toString(),this.operator,this.right.toString(),")"].join(" ")}}const Vb={"+":n=>n,"-":n=>-n,"~":n=>~n};class Lb{constructor(e,t){this.operator=e,this.expression=t}evaluate(){const e=Vb[this.operator];if(!e)throw new Error(`unexpected unary operator: '${this.operator}`);return e(this.expression.evaluate())}toString(){return["u(",this.operator,this.expression.toString(),")"].join(" ")}}function xa(n){return(e,t)=>{for(let i=0;i<n.length;i++){const r=n[i](e,t);if(r!=="")return r}return""}}function Mi(n,e){var t;const i=n.substr(e).match(/^\s+/);return(t=i&&i[0])!==null&&t!==void 0?t:""}function Ab(n,e){const t=n.substr(e,1);return t.match(/^[1-9]$/)?t:""}function $i(n,e){var t;const i=n.substr(e).match(/^[0-9]+/);return(t=i&&i[0])!==null&&t!==void 0?t:""}function Mb(n,e){const t=$i(n,e);if(t!=="")return t;const i=n.substr(e,1);if(e+=1,i!=="-"&&i!=="+")return"";const r=$i(n,e);return r===""?"":i+r}function Pa(n,e){const t=n.substr(e,1);if(e+=1,t.toLowerCase()!=="e")return"";const i=Mb(n,e);return i===""?"":t+i}function sh(n,e){const t=n.substr(e,1);if(t==="0")return t;const i=Ab(n,e);return e+=i.length,i===""?"":i+$i(n,e)}function $b(n,e){const t=sh(n,e);if(e+=t.length,t==="")return"";const i=n.substr(e,1);if(e+=i.length,i!==".")return"";const r=$i(n,e);return e+=r.length,t+i+r+Pa(n,e)}function Db(n,e){const t=n.substr(e,1);if(e+=t.length,t!==".")return"";const i=$i(n,e);return e+=i.length,i===""?"":t+i+Pa(n,e)}function Tb(n,e){const t=sh(n,e);return e+=t.length,t===""?"":t+Pa(n,e)}const Nb=xa([$b,Db,Tb]);function Ob(n,e){var t;const i=n.substr(e).match(/^[01]+/);return(t=i&&i[0])!==null&&t!==void 0?t:""}function Fb(n,e){const t=n.substr(e,2);if(e+=t.length,t.toLowerCase()!=="0b")return"";const i=Ob(n,e);return i===""?"":t+i}function Bb(n,e){var t;const i=n.substr(e).match(/^[0-7]+/);return(t=i&&i[0])!==null&&t!==void 0?t:""}function Rb(n,e){const t=n.substr(e,2);if(e+=t.length,t.toLowerCase()!=="0o")return"";const i=Bb(n,e);return i===""?"":t+i}function jb(n,e){var t;const i=n.substr(e).match(/^[0-9a-f]+/i);return(t=i&&i[0])!==null&&t!==void 0?t:""}function Ib(n,e){const t=n.substr(e,2);if(e+=t.length,t.toLowerCase()!=="0x")return"";const i=jb(n,e);return i===""?"":t+i}const zb=xa([Fb,Rb,Ib]),Ub=xa([zb,Nb]);function qb(n,e){const t=Ub(n,e);return e+=t.length,t===""?null:{evaluable:new Eb(t),cursor:e}}function Kb(n,e){const t=n.substr(e,1);if(e+=t.length,t!=="(")return null;const i=ah(n,e);if(!i)return null;e=i.cursor,e+=Mi(n,e).length;const r=n.substr(e,1);return e+=r.length,r!==")"?null:{evaluable:i.evaluable,cursor:e}}function Hb(n,e){var t;return(t=qb(n,e))!==null&&t!==void 0?t:Kb(n,e)}function oh(n,e){const t=Hb(n,e);if(t)return t;const i=n.substr(e,1);if(e+=i.length,i!=="+"&&i!=="-"&&i!=="~")return null;const r=oh(n,e);return r?(e=r.cursor,{cursor:e,evaluable:new Lb(i,r.evaluable)}):null}function Wb(n,e,t){t+=Mi(e,t).length;const i=n.filter(r=>e.startsWith(r,t))[0];return i?(t+=i.length,t+=Mi(e,t).length,{cursor:t,operator:i}):null}function Gb(n,e){return(t,i)=>{const r=n(t,i);if(!r)return null;i=r.cursor;let s=r.evaluable;for(;;){const o=Wb(e,t,i);if(!o)break;i=o.cursor;const a=n(t,i);if(!a)return null;i=a.cursor,s=new Sb(o.operator,s,a.evaluable)}return s?{cursor:i,evaluable:s}:null}}const Yb=[["**"],["*","/","%"],["+","-"],["<<",">>>",">>"],["&"],["^"],["|"]].reduce((n,e)=>Gb(n,e),oh);function ah(n,e){return e+=Mi(n,e).length,Yb(n,e)}function Xb(n){const e=ah(n,0);return!e||e.cursor+Mi(n,e.cursor).length!==n.length?null:e.evaluable}function Lt(n){var e;const t=Xb(n);return(e=t==null?void 0:t.evaluate())!==null&&e!==void 0?e:null}function lh(n){if(typeof n=="number")return n;if(typeof n=="string"){const e=Lt(n);if(!ve(e))return e}return 0}function Zb(n){return String(n)}function Ge(n){return e=>e.toFixed(Math.max(Math.min(n,20),0))}function ae(n,e,t,i,r){const s=(n-e)/(t-e);return i+s*(r-i)}function Gl(n){return String(n.toFixed(10)).split(".")[1].replace(/0+$/,"").length}function $e(n,e,t){return Math.min(Math.max(n,e),t)}function ch(n,e){return(n%e+e)%e}function Qb(n,e){return ve(n.step)?Math.max(Gl(e),2):Gl(n.step)}function uh(n){var e;return(e=n.step)!==null&&e!==void 0?e:1}function hh(n,e){var t;const i=Math.abs((t=n.step)!==null&&t!==void 0?t:e);return i===0?.1:Math.pow(10,Math.floor(Math.log10(i))-1)}function dh(n,e){return ve(n.step)?null:new Pb(n.step,e)}function ph(n){return!ve(n.max)&&!ve(n.min)?new $r({max:n.max,min:n.min}):!ve(n.max)||!ve(n.min)?new xb({max:n.max,min:n.min}):null}function vh(n,e){var t,i,r;return{formatter:(t=n.format)!==null&&t!==void 0?t:Ge(Qb(n,e)),keyScale:(i=n.keyScale)!==null&&i!==void 0?i:uh(n),pointerScale:(r=n.pointerScale)!==null&&r!==void 0?r:hh(n,e)}}function mh(n){return{format:n.optional.function,keyScale:n.optional.number,max:n.optional.number,min:n.optional.number,pointerScale:n.optional.number,step:n.optional.number}}function Ea(n){return{constraint:n.constraint,textProps:q.fromObject(vh(n.params,n.initialValue))}}class Ln{constructor(e){this.controller=e}
3get element(){return this.controller.view.element}get disabled(){return this.controller.viewProps.get("disabled")}set disabled(e){this.controller.viewProps.set("disabled",e)}get hidden(){return this.controller.viewProps.get("hidden")}set hidden(e){this.controller.viewProps.set("hidden",e)}dispose(){this.controller.viewProps.set("disposed",!0)}importState(e){return this.controller.importState(e)}exportState(){return this.controller.exportState()}}class Os{constructor(e){this.target=e}}class Dr extends Os{constructor(e,t,i){super(e),this.value=t,this.last=i??!0}}class Jb extends Os{constructor(e,t){super(e),this.expanded=t}}class e_ extends Os{constructor(e,t){super(e),this.index=t}}class t_ extends Os{constructor(e,t){super(e),this.native=t}}class Di extends Ln{constructor(e){super(e),this.onValueChange_=this.onValueChange_.bind(this),this.emitter_=new Ae,this.controller.value.emitter.on("change",this.onValueChange_)}get label(){return this.controller.labelController.props.get("label")}set label(e){this.controller.labelController.props.set("label",e)}get key(){return this.controller.value.binding.target.key}get tag(){return this.controller.tag}set tag(e){this.controller.tag=e}on(e,t){const i=t.bind(this);return this.emitter_.on(e,r=>{i(r)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}refresh(){this.controller.value.fetch()}onValueChange_(e){const t=this.controller.value;this.emitter_.emit("change",new Dr(this,t.binding.target.read(),e.options.last))}}class n_{constructor(e,t){this.onValueBeforeChange_=this.onValueBeforeChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.binding=t,this.value_=e,this.value_.emitter.on("beforechange",this.onValueBeforeChange_),this.value_.emitter.on("change",this.onValueChange_),this.emitter=new Ae}get rawValue(){return this.value_.rawValue}set rawValue(e){this.value_.rawValue=e}setRawValue(e,t){this.value_.setRawValue(e,t)}fetch(){this.value_.rawValue=this.binding.read()}push(){this.binding.write(this.value_.rawValue)}onValueBeforeChange_(e){this.emitter.emit("beforechange",Object.assign(Object.assign({},e),{sender:this}))}onValueChange_(e){this.push(),this.emitter.emit("change",Object.assign(Object.assign({},e),{sender:this}))}}function i_(n){if(!("binding"in n))return!1;const e=n.binding;return ya(e)&&"read"in e&&"write"in e}function r_(n,e){const i=Object.keys(e).reduce((r,s)=>{if(r===void 0)return;const o=e[s],a=o(n[s]);return a.succeeded?Object.assign(Object.assign({},r),{[s]:a.value}):void 0},{});return i}function s_(n,e){return n.reduce((t,i)=>{if(t===void 0)return;const r=e(i);if(!(!r.succeeded||r.value===void 0))return[...t,r.value]},[])}function o_(n){return n===null?!1:typeof n=="object"}function xt(n){return e=>t=>{if(!e&&t===void 0)return{succeeded:!1,value:void 0};if(e&&t===void 0)return{succeeded:!0,value:void 0};const i=n(t);return i!==void 0?{succeeded:!0,value:i}:{succeeded:!1,value:void 0}}}function Yl(n){return{custom:e=>xt(e)(n),boolean:xt(e=>typeof e=="boolean"?e:void 0)(n),number:xt(e=>typeof e=="number"?e:void 0)(n),string:xt(e=>typeof e=="string"?e:void 0)(n),function:xt(e=>typeof e=="function"?e:void 0)(n),constant:e=>xt(t=>t===e?e:void 0)(n),raw:xt(e=>e)(n),object:e=>xt(t=>{if(o_(t))return r_(t,e)})(n),array:e=>xt(t=>{if(Array.isArray(t))return s_(t,e)})(n)}}const Oo={optional:Yl(!0),required:Yl(!1)};function ye(n,e){const t=e(Oo),i=Oo.required.object(t)(n);return i.succeeded?i.value:void 0}function Ze(n,e,t,i){if(e&&!e(n))return!1;const r=ye(n,t);return r?i(r):!1}function Qe(n,e){var t;return gn((t=n==null?void 0:n())!==null&&t!==void 0?t:{},e)}function vn(n){return"value"in n}function fh(n){if(!Ca(n)||!("binding"in n))return!1;const e=n.binding;return ya(e)}const mt="http://www.w3.org/2000/svg";function bs(n){n.offsetHeight}function a_(n,e){const t=n.style.transition;n.style.transition="none",e(),n.style.transition=t}function ka(n){return n.ontouchstart!==void 0}function l_(){return globalThis}function c_(){return l_().document}function u_(n){const e=n.ownerDocument.defaultView;return e&&"document"in e?n.getContext("2d",{willReadFrequently:!0}):null}const h_={check:'<path d="M2 8l4 4l8 -8"/>',dropdown:'<path d="M5 7h6l-3 3 z"/>',p2dpad:'<path d="M8 4v8"/><path d="M4 8h8"/><circle cx="12" cy="12" r="1.2"/>'};function Fs(n,e){const t=n.createElementNS(mt,"svg");return t.innerHTML=h_[e],t}function bh(n,e,t){n.insertBefore(e,n.children[t])}function Sa(n){n.parentElement&&n.parentElement.removeChild(n)}function _h(n){for(;n.children.length>0;)n.removeChild(n.children[0])}function d_(n){for(;n.childNodes.length>0;)n.removeChild(n.childNodes[0])}function wh(n){return n.relatedTarget?n.relatedTarget:"explicitOriginalTarget"
3in n?n.explicitOriginalTarget:null}function Vt(n,e){n.emitter.on("change",t=>{e(t.rawValue)}),e(n.rawValue)}function _t(n,e,t){Vt(n.value(e),t)}const p_="tp";function X(n){return(t,i)=>[p_,"-",n,"v",t?`_${t}`:"",i?`-${i}`:""].join("")}const fi=X("lbl");function v_(n,e){const t=n.createDocumentFragment();return e.split(` 4`).map(r=>n.createTextNode(r)).forEach((r,s)=>{s>0&&t.appendChild(n.createElement("br")),t.appendChild(r)}),t}class gh{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(fi()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(fi("l")),_t(t.props,"label",s=>{ve(s)?this.element.classList.add(fi(void 0,"nol")):(this.element.classList.remove(fi(void 0,"nol")),d_(i),i.appendChild(v_(e,s)))}),this.element.appendChild(i),this.labelElement=i;const r=e.createElement("div");r.classList.add(fi("v")),this.element.appendChild(r),this.valueElement=r}}class Ch{constructor(e,t){this.props=t.props,this.valueController=t.valueController,this.viewProps=t.valueController.viewProps,this.view=new gh(e,{props:t.props,viewProps:this.viewProps}),this.view.valueElement.appendChild(this.valueController.view.element)}importProps(e){return Ze(e,null,t=>({label:t.optional.string}),t=>(this.props.set("label",t.label),!0))}exportProps(){return Qe(null,{label:this.props.get("label")})}}function m_(){return["veryfirst","first","last","verylast"]}const Xl=X(""),Zl={veryfirst:"vfst",first:"fst",last:"lst",verylast:"vlst"};class Bs{constructor(e){this.parent_=null,this.blade=e.blade,this.view=e.view,this.viewProps=e.viewProps;const t=this.view.element;this.blade.value("positions").emitter.on("change",()=>{m_().forEach(i=>{t.classList.remove(Xl(void 0,Zl[i]))}),this.blade.get("positions").forEach(i=>{t.classList.add(Xl(void 0,Zl[i]))})}),this.viewProps.handleDispose(()=>{Sa(t)})}get parent(){return this.parent_}set parent(e){this.parent_=e,this.viewProps.set("parent",this.parent_?this.parent_.viewProps:null)}importState(e){return Ze(e,null,t=>({disabled:t.required.boolean,hidden:t.required.boolean}),t=>(this.viewProps.importState(t),!0))}exportState(){return Qe(null,Object.assign({},this.viewProps.exportState()))}}class Cn extends Bs{constructor(e,t){if(t.value!==t.valueController.value)throw xe.shouldNeverHappen();const i=t.valueController.viewProps,r=new Ch(e,{blade:t.blade,props:t.props,valueController:t.valueController});super(Object.assign(Object.assign({},t),{view:new gh(e,{props:t.props,viewProps:i}),viewProps:i})),this.labelController=r,this.value=t.value,this.valueController=t.valueController,this.view.valueElement.appendChild(this.valueController.view.element)}importState(e){return Ze(e,t=>{var i,r,s;return super.importState(t)&&this.labelController.importProps(t)&&((s=(r=(i=this.valueController).importProps)===null||r===void 0?void 0:r.call(i,e))!==null&&s!==void 0?s:!0)},t=>({value:t.optional.raw}),t=>(t.value&&(this.value.rawValue=t.value),!0))}exportState(){var e,t,i;return Qe(()=>super.exportState(),Object.assign(Object.assign({value:this.value.rawValue},this.labelController.exportProps()),(i=(t=(e=this.valueController).exportProps)===null||t===void 0?void 0:t.call(e))!==null&&i!==void 0?i:{}))}}function Ql(n){const e=Object.assign({},n);return delete e.value,e}class yh extends Cn{constructor(e,t){super(e,t),this.tag=t.tag}importState(e){return Ze(e,t=>super.importState(Ql(e)),t=>({tag:t.optional.string}),t=>(this.tag=t.tag,!0))}exportState(){return Qe(()=>Ql(super.exportState()),{binding:{key:this.value.binding.target.key,value:this.value.binding.target.read()},tag:this.tag})}}function f_(n){return vn(n)&&fh(n.value)}class b_ extends yh{importState(e){return Ze(e,t=>super.importState(t),t=>({binding:t.required.object({value:t.required.raw})}),t=>(this.value.binding.inject(t.binding.value),this.value.fetch(),!0))}}function __(n){return vn(n)&&i_(n.value)}function xh(n,e){for(;n.length<e;)n.push(void 0)}function w_(n){const e=[];return xh(e,n),e}function g_(n){const e=n.indexOf(void 0);return e<0?n:n.slice(0,e)}function C_(n,e){const t=[...g_(n),e];return t.length>n.length?t.splice(0,t.length-n.length):xh(t,n.length),t}class y_{constructor(e){this.emitter=new Ae,this.onTick_=this.onTick_.bind(this),this.onValueBeforeChange_=this.onValueBeforeChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.binding=e.binding,this.value_=Ce(w_(e.bufferSize)),this.value_.emitter.on("beforechange",this.onValueBeforeChange_),this.value_.emitter.on("change",this.onValueChange_),this.ticker=e.ticker,this.ticker.emitter.on("tick",this.onTick_),this.fetch()}get rawValue(){return this.value_.rawValue}set rawValue(e){this.value_.rawValue=e}setRawValue(e,t){this.value_.setRawValue(e,t)}fetch(){this.value_.rawValue=C_(this.value_.rawValue,this.binding.read())}onTick_(){this.fetch()}onValueBeforeChange_(e){this.emitter.emit("beforechange",Object.assign(Object.assign({},e),{sender:this}))}onValueChange_(e){this.emitter.emit("change",Object.assign(Object.assign({},e),{sender:this}))}}function x_(n){if(!("binding"in n))return!1;const e=n.binding;return ya(e)&&"read"in e&&!("write"in e)}class P_ extends yh{exportState(){return Qe(()=>super.exportState(),{binding:{readonly:!0}})}}function E_(n){return vn(n)&&x_(n.value)}class k_ extends Ln{get label(){return this.controller.labelController.props.get("label")}set label(e){this.controller.labelController.props.set("label",e)}get title(){var e;return(e=this.controller.buttonController.props.get("title"))!==null&&e!==void 0?e:""}set title(e){this.controller.buttonController.props.set("title",e)}on(e,t){const i=t.bind(this);return this.controller.buttonController.emitter.on(e,s=>{i(new t_(this,s.nativeEvent))}),this}off(e,t){return this.controller.buttonController.emitter.off(e,t),this}}function S_(n,e,t){t?n.classList.add(e):n.classList.remove(e)}function ai(n,e){return t=>{S_(n,e,t)}}function Va(n,e){Vt(n,t=>{e.textContent=t??""})}const eo=X("btn");class V_{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(eo()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("button");i.classList.add(eo("b")),t.viewProps.bindDisabled(i),this.element.appendChild(i),this.buttonElement=i;const r=e.createElement("div");r.classList.add(eo("t")),Va(t.props.value("title"),r),this.buttonElement.appendChild(r)}}class L_{constructor(e,t){this.emitter=new Ae,this.onClick_=this.onClick_.bind(this),this.props=t.props,this.viewProps=t.viewProps,this.view=new V_(e,{props:this.props,viewProps:this.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}importProps(e){return Ze(e,null,t=>({title:t.optional.string}),t=>(this.props.set("title",t.title),!0))}exportProps(){return Qe(null,{title:this.props.get("title")})}onClick_(e){this.emitter.emit("click",{nativeEvent:e,sender:this})}}class Jl extends Bs{constructor(e,t){const i=new L_(e,{props:t.buttonProps,viewProps:t.viewProps}),r=new Ch(e,{blade:t.blade,props:t.labelProps,valueController:i});super({blade:t.blade,view:r.view,viewProps:t.viewProps}),this.buttonController=i,this.labelController=r}importState(e){return Ze(e,t=>super.importState(t)&&this.buttonController.importProps(t)&&this.labelController.importProps(t),()=>({}),()=>!0)}exportState(){return Qe(()=>super.exportState(),Object.assign(Object.assign({},this.buttonController.exportProps()),this.labelController.exportProps()))}}class Ph{constructor(e){const[t,i]=e.split("-"),r=t.split(".");this.major=parseInt(r[0],10),this.minor=parseInt(r[1],10),this.patch=parseInt(r[2],10),this.prerelease=i??null}toString(){const e=[this.major,this.minor,this.patch].join(".");return this.prerelease!==null?[e,this.prerelease].join("-"):e}}const li=new Ph("2.0.5");function He(n){return Object.assign({core:li},n)}const A_=He({id:"button",type:"blade",accept(n){const e=ye(n,t=>({title:t.required.string,view:t.required.constant("button"),label:t.optional.string}));return e?{params:e}:null},controller(n){return new Jl(n.document,{blade:n.blade,buttonProps:q.fromObject({title:n.params.title}),labelProps:q.fromObject({label:n.params.label}),viewProps:n.viewProps})},api(n){return n.controller instanceof Jl?new k_(n.controller):null}});function M_(n,e){return n.addBlade(Object.assign(Object.assign({},e),{view:"button"}))}function $_(n,e){return n.addBlade(Object.assign(Object.assign({},e),{view:"folder"}))}function D_(n,e){return n.addBlade(Object.assign(Object.assign({},e),{view:"tab"}))}function T_(n){return Ca(n)?"refresh"in n&&typeof n.refresh=="function":!1}function N_(n,e){if(!fs.isBindable(n))throw xe.notBindable();return new fs(n,e)}class O_{constructor(e,t){this.onRackValueChange_=this.onRackValueChange_.bind(this),this.controller_=e,this.emitter_=new Ae,this.pool_=t,this.controller_.rack.emitter.on("valuechange",this.onRackValueChange_)}get children(){return this.controller_.rack.children.map(e=>this.pool_.createApi(e))}addBinding(e,t,i){const r=i??{},s=this.controller_.element.ownerDocument,o=this.pool_.createBinding(s,N_(e,t),r),a=this.pool_.createBindingApi(o);return this.add(a,r.index)}addFolder(e){return $_(this,e)}addButton(e){return M_(this,e)}addTab(e){return D_(this,e)}add(e,t){const i=e.controller;return this.controller_.rack.add(i,t),e}remove(e){this.controller_.rack.remove(e.controller)}addBlade(e){const t=this.controller_.element.ownerDocument,i=this.pool_.createBlade(t,e),r=this.pool_.createApi(i);return this.add(r,e.index)}on(e,t){const i=t.bind(this);return this.emitter_.on(e,r=>{i(r)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}
4refresh(){this.children.forEach(e=>{T_(e)&&e.refresh()})}onRackValueChange_(e){const t=e.bladeController,i=this.pool_.createApi(t),r=fh(t.value)?t.value.binding:null;this.emitter_.emit("change",new Dr(i,r?r.target.read():t.value.rawValue,e.options.last))}}class La extends Ln{constructor(e,t){super(e),this.rackApi_=new O_(e.rackController,t)}refresh(){this.rackApi_.refresh()}}class Aa extends Bs{constructor(e){super({blade:e.blade,view:e.view,viewProps:e.rackController.viewProps}),this.rackController=e.rackController}importState(e){return Ze(e,t=>super.importState(t),t=>({children:t.required.array(t.required.raw)}),t=>this.rackController.rack.children.every((i,r)=>i.importState(t.children[r])))}exportState(){return Qe(()=>super.exportState(),{children:this.rackController.rack.children.map(e=>e.exportState())})}}function Fo(n){return"rackController"in n}class F_{constructor(e){this.emitter=new Ae,this.items_=[],this.cache_=new Set,this.onSubListAdd_=this.onSubListAdd_.bind(this),this.onSubListRemove_=this.onSubListRemove_.bind(this),this.extract_=e}get items(){return this.items_}allItems(){return Array.from(this.cache_)}find(e){for(const t of this.allItems())if(e(t))return t;return null}includes(e){return this.cache_.has(e)}add(e,t){if(this.includes(e))throw xe.shouldNeverHappen();const i=t!==void 0?t:this.items_.length;this.items_.splice(i,0,e),this.cache_.add(e);const r=this.extract_(e);r&&(r.emitter.on("add",this.onSubListAdd_),r.emitter.on("remove",this.onSubListRemove_),r.allItems().forEac
4h(s=>{this.cache_.add(s)})),this.emitter.emit("add",{index:i,item:e,root:this,target:this})}remove(e){const t=this.items_.indexOf(e);if(t<0)return;this.items_.splice(t,1),this.cache_.delete(e);const i=this.extract_(e);i&&(i.allItems().forEach(r=>{this.cache_.delete(r)}),i.emitter.off("add",this.onSubListAdd_),i.emitter.off("remove",this.onSubListRemove_)),this.emitter.emit("remove",{index:t,item:e,root:this,target:this})}onSubListAdd_(e){this.cache_.add(e.item),this.emitter.emit("add",{index:e.index,item:e.item,root:this,target:e.target})}onSubListRemove_(e){this.cache_.delete(e.item),this.emitter.emit("remove",{index:e.index,item:e.item,root:this,target:e.target})}}function B_(n,e){for(let t=0;t<n.length;t++){const i=n[t];if(vn(i)&&i.value===e)return i}return null}function R_(n){return Fo(n)?n.rackController.rack.bcSet_:null}class j_{constructor(e){var t,i;this.emitter=new Ae,this.onBladePositionsChange_=this.onBladePositionsChange_.bind(this),this.onSetAdd_=this.onSetAdd_.bind(this),this.onSetRemove_=this.onSetRemove_.bind(this),this.onChildDispose_=this.onChildDispose_.bind(this),this.onChildPositionsChange_=this.onChildPositionsChange_.bind(this),this.onChildValueChange_=this.onChildValueChange_.bind(this),this.onChildViewPropsChange_=this.onChildViewPropsChange_.bind(this),this.onRackLayout_=this.onRackLayout_.bind(this),this.onRackValueChange_=this.onRackValueChange_.bind(this),this.blade_=(t=e.blade)!==null&&t!==void 0?t:null,(i=this.blade_)===null||i===void 0||i.value("positions").emitter.on("change",this.onBladePositionsChange_),this.viewProps=e.viewProps,this.bcSet_=ne
4w F_(R_),this.bcSet_.emitter.on("add",this.onSetAdd_),this.bcSet_.emitter.on("remove",this.onSetRemove_)}get children(){return this.bcSet_.items}add(e,t){var i;(i=e.parent)===null||i===void 0||i.remove(e),e.parent=this,this.bcSet_.add(e,t)}remove(e){e.parent=null,this.bcSet_.remove(e)}find(e){return this.bcSet_.allItems().filter(e)}onSetAdd_(e){this.updatePositions_();const t=e.target===e.root;if(this.emitter.emit("add",{bladeController:e.item,index:e.index,root:t,sender:this}),!t)return;const i=e.item;if(i.viewProps.emitter.on("change",this.onChildViewPropsChange_),i.blade.value("positions").emitter.on("change",this.onChildPositionsChange_),i.viewProps.handleDispose(this.onChildDispose_),vn(i))i.value.emitter.on("change",this.onChildValueChange_);else if(Fo(i)){const r=i.rackController.rack;if(r){const s=r.emitter;s.on("layout",this.onRackLayout_),s.on("valuechange",this.onRackValueChange_)}}}onSetRemove_(e){this.updatePositions_();const t=e.target===e.root;if(this.emitter.emit("remove",{bladeController:e.item,root:t,sender:this}),!t)return;const i=e.item;if(vn(i))i.value.emitter.off("change",this.onChildValueChange_);else if(Fo(i)){const r=i.rackController.rack;if(r){const s=r.emitter;s.off("layout",this.onRackLayout_),s.off("valuechange",this.onRackValueChange_)}}}updatePositions_(){const e=this.bcSet_.items.filter(r=>!r.viewProps.get("hidden")),t=e[0],i=e[e.length-1];this.bcSet_.items.forEach(r=>{const s=[];r===t&&(s.push("first"),(!this.blade_||this.blade_.get("positions").includes("veryfirst"))&&s.push("veryfirst")),r===i&&(s.push("last"),(!this.blade_||this.blade_.get("positions").includes("verylast"))&&s.push("verylast")),r.blade.set("positions",s)})}onChildPositionsChange_(){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onChildViewPropsChange_(e){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onChildDispose_(){this.bcSet_.items.filter(t=>t.viewProps.get("disposed")).forEach(t=>{this.bcSet_.remove(t)})}onChildValueChange_(e){const t=B_(this.find(vn),e.sender);if(!t)throw xe.alreadyDisposed();this.emitter.emit("valuechange",{bladeController:t,options:e.options,sender:this})}onRackLayout_(e){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onRackValueChange_(e){this.emitter.emit("valuechange",{bladeController:e.bladeController,options:e.options,sender:this})}onBladePositionsChange_(){this.updatePositions_()}}class Ma{constructor(e){this.onRackAdd_=this.onRackAdd_.bind(this),this.onRackRemove_=this.onRackRemove_.bind(this),this.element=e.element,this.viewProps=e.viewProps;const t=new j_({blade:e.root?void 0:e.blade,viewProps:e.viewProps});t.emitter.on("add",this.onRackAdd_),t.emitter.on("remove",this.onRackRemove_),this.rack=t,this.viewProps.handleDispose(()=>{for(let i=this.rack.children.length-1;i>=0;i--)this.rack.children[i].viewProps.set("disposed",!0)})}onRackAdd_(e){e.root&&bh(this.element,e.bladeController.view.element,e.index)}onRackRemove_(e){e.root&&Sa(e.bladeController.view.element)}}function ci(){return new q({positions:Ce([],{equals:bb})})}class Tr extends q{constructor(e){super(e)}static create(e){const t={completed:!0,expanded:e,expandedHeight:null,shouldFixHeight:!1,temporaryExpanded:null},i=q.createCore(t);return new Tr(i)}get styleExpanded(){var e;return(e=this.get("temporaryExpanded"))!==null&&e!==void 0?e:this.get("expanded")}get styleHeight(){if(!this.styleExpanded)return"0";const e=this.get("expandedHeight");return this.get("shouldFixHeight")&&!ve(e)?`${e}px`:"auto"}bindExpandedClass(e,t){const i=()=>{this.styleExpanded?e.classList.add(t):e.classList.remove(t)};_t(this,"expanded",i),_t(this,"temporaryExpanded",i)}cleanUpTransition(){this.set("shouldFixHeight",!1),this.set("expandedHeight",null),this.set("completed",!0)}}function I_(n,e){let t=0;return a_(e,()=>{n.set("expandedHeight",null),n.set("temporaryExpanded",!0),bs(e),t=e.clientHeight,n.set("temporaryExpanded",null),bs(e)}),t}function ec(n,e){e.style.height=n.styleHeight}function $a(n,e){n.value("expanded").emitter.on("beforechange",()=>{if(n.set("completed",!1),ve(n.get("expandedHeight"))){const t=I_(n,e);t>0&&n.set("expandedHeight",t)}n.set("shouldFixHeight",!0),bs(e)}),n.emitter.on("change",()=>{ec(n,e)}),ec(n,e),e.addEventListener("transitionend",t=>{t.propertyName==="height"&&n.cleanUpTransition()})}class Eh extends La{constructor(e,t){super(e,t),this.emitter_=new Ae,this.controller.foldable.value("expanded").emitter.on("change",i=>{this.emitter_.emit("fold",new Jb(this,i.sender.rawValue))}),this.rackApi_.on("change",i=>
4{this.emitter_.emit("change",i)})}get expanded(){return this.controller.foldable.get("expanded")}set expanded(e){this.controller.foldable.set("expanded",e)}get title(){return this.controller.props.get("title")}set title(e){this.controller.props.set("title",e)}get children(){return this.rackApi_.children}addBinding(e,t,i){return this.rackApi_.addBinding(e,t,i)}addFolder(e){return this.rackApi_.addFolder(e)}addButton(e){return this.rackApi_.addButton(e)}addTab(e){return this.rackApi_.addTab(e)}add(e,t){return this.rackApi_.add(e,t)}remove(e){this.rackApi_.remove(e)}addBlade(e){return this.rackApi_.addBlade(e)}on(e,t){const i=t.bind(this);return this.emitter_.on(e,r=>{i(r)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}}const kh=X("cnt");class z_{constructor(e,t){var i;this.className_=X((i=t.viewName)!==null&&i!==void 0?i:"fld"),this.element=e.createElement("div"),this.element.classList.add(this.className_(),kh()),t.viewProps.bindClassModifiers(this.element),this.foldable_=t.foldable,this.foldable_.bindExpandedClass(this.element,this.className_(void 0,"expanded")),_t(this.foldable_,"completed",ai(this.element,this.className_(void 0,"cpl")));const r=e.createElement("button");r.classList.add(this.className_("b")),_t(t.props,"title",c=>{ve(c)?this.element.classList.add(this.className_(void 0,"not")):this.element.classList.remove(this.className_(void 0,"not"))}),t.viewProps.bindDisabled(r),this.element.appendChild(r),this.buttonElement=r;const s=e.createElement("div");s.classList.add(this.className_("i")),this.element.appendChild(s);const o=e.createElement("div");o.classList.add(this.className_("t")),Va(t.props.value("title"),o),this.buttonElement.appendChild(o),this.titleElement=o;const a=e.createElement("div");a.classList.add(this.className_("m")),this.buttonElement.appendChild(a);const l=e.createElement("div");l.classList.add(this.className_("c")),this.element.appendChild(l),this.containerElement=l}}class Bo extends Aa{constructor(e,t){var i;const r=Tr.create((i=t.expanded)!==null&&i!==void 0?i:!0),s=new z_(e,{foldable:r,props:t.props,viewName:t.root?"rot":void 0,viewProps:t.viewProps});super(Object.assign(Object.assign({},t),{rackController:new Ma({blade:t.blade,element:s.containerElement,root:t.root,viewProps:t.viewProps}),view:s})),this.onTitleClick_=this.onTitleClick_.bind(this),this.props=t.props,this.foldable=r,$a(this.foldable,this.view.containerElement),this.rackController.rack.emitter.on("add",()=>{this.foldable.cleanUpTransition()}),this.rackController.rack.emitter.on("remove",()=>{this.foldable.cleanUpTransition()}),this.view.buttonElement.addEventListener("click",this.onTitleClick_)}get document(){return this.view.element.ownerDocument}importState(e){return Ze(e,t=>super.importState(t),t=>({expanded:t.required.boolean,title:t.optional.string}),t=>(this.foldable.set("expanded",t.expanded),this.props.set("title",t.title),!0))}exportState(){return Qe(()=>super.exportState(),{expanded:this.foldable.get("expanded"),title:this.props.get("title")})}onTitleClick_(){this.foldable.set("expanded",!this.foldable.get("expanded"))}}const U_=He({id:"folder",type:"blade",accept(n){const e=ye(n,t=>({title:t.required.string,view:t.required.constant("folder"),expanded:t.optional.boolean}));return e?{params:e}:null},controller(n){return new Bo(n.document,{blade:n.blade,expanded:n.params.expanded,props:q.fromObject({title:n.params.title}),viewProps:n.viewProps})},api(n){return n.controller instanceof Bo?new Eh(n.controller,n.pool):null}}),q_=X("");function tc(n,e){return ai(n,q_(void 0,e))}class $t extends q{constructor(e){var t;super(e),this.onDisabledChange_=this.onDisabledChange_.bind(this),this.onParentChange_=this.onParentChange_.bind(this),this.onParentGlobalDisabledChange_=this.onParentGlobalDisabledChange_.bind(this),[this.globalDisabled_,this.setGlobalDisabled_]=yb(Ce(this.getGlobalDisabled_())),this.value("disabled").emitter.on("change",this.onDisabledChange_),this.value("parent").emitter.on("change",this.onParentChange_),(t=this.get("parent"))===null||t===void 0||t.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_)}static create(e){var t,i,r;const s=e??{};return new $t(q.createCore({disabled:(t=s.disabled)!==null&&t!==void 0?t:!1,disposed:!1,hidden:(i=s.hidden)!==null&&i!==void 0?i:!1,parent:(r=s.parent)!==null&&r!==void 0?r:null}))}get globalDisabled(){return this.globalDisabled_}bindClassModifiers(e){Vt(this.globalDisabled_,tc(e,"disabled")),_t(this,"hidden",tc(e,"hidden"))}bindDisabled(e){Vt(this.globalDisabled_,t=>{e.disabled=t})}bindTabIndex(e){Vt(this.globalDisabled_,t=>{e.tabIndex=t?-1:0})}handleDispose(e){this.value("disposed").emitter.on("change",t=>{t&&e()})}importState(e){this.set("disabled",e.disabled),this.set("hidden",e.hidden)}exportState(){return{disabled:this.get("disabled"),hidden:this.get("hidden")}}getGlobalDisabled_(){const e=this.get("parent");return(e?e.globalDisabled.rawValue:!1)||this.get("disabled")}updateGlobalDisabled_(){this.setGlobalDisabled_(this.getGlobalDisabled_())}onDisabledChange_(){this.updateGlobalDisabled_()}onParentGlobalDisabledChange_(){this.updateGlobalDisabled_()}onParentChange_(e){var t;const i=e.previousRawValue;i==null||i.globalDisabled.emitter.off("change",this.onParentGlobalDisabledChange_),(t=this.get("parent"))===null||t===void 0||t.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_),this.updateGlobalDisabled_()}}const nc=X("tbp");
4class K_{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(nc()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(nc("c")),this.element.appendChild(i),this.containerElement=i}}const bi=X("tbi");class H_{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(bi()),t.viewProps.bindClassModifiers(this.element),_t(t.props,"selected",s=>{s?this.element.classList.add(bi(void 0,"sel")):this.element.classList.remove(bi(void 0,"sel"))});const i=e.createElement("button");i.classList.add(bi("b")),t.viewProps.bindDisabled(i),this.element.appendChild(i),this.buttonElement=i;const r=e.createElement("div");r.classList.add(bi("t")),Va(t.props.value("title"),r),this.buttonElement.appendChild(r),this.titleElement=r}}class W_{constructor(e,t){this.emitter=new Ae,this.onClick_=this.onClick_.bind(this),this.props=t.props,this.viewProps=t.viewProps,this.view=new H_(e,{props:t.props,viewProps:t.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}onClick_(){this.emitter.emit("click",{sender:this})}}class Ro extends Aa{constructor(e,t){const i=new K_(e,{viewProps:t.viewProps});super(Object.assign(Object.assign({},t),{rackController:new Ma({blade:t.blade,element:i.containerElement,viewProps:t.viewProps}),view:i})),this.onItemClick_=this.onItemClick_.bind(this),this.ic_=new W_(e,{props:t.itemProps,viewProps:$t.create()}),this.ic_.emitter.on("click",this.onItemClick_),this.props=t.props,_t(this.props,"selected",r=>{this.itemController.props.set("selected",r),this.viewProps.set("hidden",!r)})}get itemController(){return this.ic_}importState(e){return Ze(e,t=>super.importState(t),t=>({selected:t.required.boolean,title:t.required.string}),t=>(this.ic_.props.set("selected",t.selected),this.ic_.props.set("title",t.title),!0))}exportState(){return Qe(()=>super.exportState(),{selected:this.ic_.props.get("selected"),title:this.ic_.props.get("title")})}onItemClick_(){this.props.set("selected",!0)}}class G_ extends La{constructor(e,t){super(e,t),this.emitter_=new Ae,this.onSelect_=this.onSelect_.bind(this),this.pool_=t,this.rackApi_.on("change",i=>{this.emitter_.emit("change",i)}),this.controller.tab.selectedIndex.emitter.on("change",this.onSelect_)}get pages(){return this.rackApi_.children}addPage(e){const t=this.controller.view.element.ownerDocument,i=new Ro(t,{blade:ci(),itemProps:q.fromObject({selected:!1,title:e.title}),props:q.fromObject({selected:!1}),viewProps:$t.create()}),r=this.pool_.createApi(i);return this.rackApi_.add(r,e.index)}removePage(e){this.rackApi_.remove(this.rackApi_.children[e])}on(e,t){const i=t.bind(this);return this.emitter_.on(e,r=>{i(r)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}onSelect_(e){this.emitter_.emit("select",new e_(this,e.rawValue))}}class Y_ extends La{get title(){var e;return(e=this.controller.itemController.props.get("title"))!==null&&e!==void 0?e:""}set title(e){this.controller.itemController.props.set("title",e)}get selected(){return this.controller.props.get("selected")}set selected(e){this.controller.props.set("selected",e)}get children(){return this.rackApi_.children}addButton(e){return this.rackApi_.addButton(e)}addFolder(e){return this.rackApi_.addFolder(e)}addTab(e){return this.rackApi_.addTab(e)}add(e,t){this.rackApi_.add(e,t)}remove(e){this.rackApi_.remove(e)}addBinding(e,t,i){return this.rackApi_.addBinding(e,t,i)}addBlade(e){return this.rackApi_.addBlade(e)}}const ic=-1;class X_{constructor(){this.onItemSelectedChange_=this.onItemSelectedChange_.bind(this),this.empty=Ce(!0),this.selectedIndex=Ce(ic),this.items_=[]}add(e,t){const i=t??this.items_.length;this.items_.splice(i,0,e),e.emitter.on("change",this.onItemSelectedChange_),this.keepSelection_()}remove(e){const t=this.items_.indexOf(e);t<0||(this.items_.splice(t,1),e.emitter.off("change",this.onItemSelectedChange_),this.keepSelection_())}keepSelection_(){if(this.items_.length===0){this.selectedIndex.rawValue=ic,this.empty.rawValue=!0;return}const e=this.items_.findIndex(t=>t.rawValue);e<0?(this.items_.forEach((t,i)=>{t.rawValue=i===0}),this.selectedIndex.rawValue=0):(this.items_.forEach((t,i)=>{t.rawValue=i===e}),this.selectedIndex.rawValue=e),this.empty.rawValue=!1}onItemSelectedChange_(e){if(e.rawValue){const t=this.items_.findIndex(i=>i===e.sender);this.items_.forEach((i,r)=>{i.rawValue=r===t}),this.selectedIndex.rawValue=t}else this.keepSelection_()}}const _i=X("tab");class Z_{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(_i(),kh()),t.viewProps.bindClassModifiers(this.element),Vt(t.empty,ai(this.element,_i(void 0,"nop")));const i=e.createElement("div");i.classList.add(_i("t")),this.element.appendChild(i),this.itemsElement=i;const r=e.createElement("div");r.classList.add(_i("i")),this.element.appendChild(r);const s=e.createElement("div");s.classList.add(_i("c")),this.element.appendChild(s),this.contentsElement=s}}class rc extends Aa{constructor(e,t){const i=new X_,r=new Z_(e,{empty:i.empty,viewProps:t.viewProps});super({blade:t.blade,rackController:new Ma({blade:t.blade,element:r.contentsElement,viewProps:t.viewProps}),view:r}),this.onRackAdd_=this.onRackAdd_.bind(this),this.onRackRemove_=this.onRackRemove_.bind(this);const s=this.rackController.rack;s.emitter.on("add",this.onRackAdd_),s.emitter.on("remove",this.onRackRemove_),this.tab=i}add(e,t){this.rackController.rack.add(e,t)}remove(e){this.rackController.rack.remove(this.rackController.rack.children[e])}onRackAdd_(e){if(!e.root)return;const t=e.bladeController;bh(this.view.itemsElement,t.itemController.view.element,e.index),t.itemController.viewProps.set("parent",this.viewProps),this.tab.add(t.props.value("selected"))}onRackRemove_(e){if(!e.root)return;const t=e.bladeController;Sa(t.itemController.view.element),t.itemController.viewProps.set("parent",null),this.tab.remove(t.props.value("selected"))}}const Sh=He({id:"tab",type:"blade",accept(n){const e=ye(n,t=>({pages:t.required.array(t.required.object({title:t.required.string})),view:t.required.constant("tab")}));return!e||e.pages.length===0?null:{params:e}},controller(n){const e=new rc(n.document,{blade:n.blade,viewProps:n.viewProps});
4return n.params.pages.forEach(t=>{const i=new Ro(n.document,{blade:ci(),itemProps:q.fromObject({selected:!1,title:t.title}),props:q.fromObject({selected:!1}),viewProps:$t.create()});e.add(i)}),e},api(n){return n.controller instanceof rc?new G_(n.controller,n.pool):n.controller instanceof Ro?new Y_(n.controller,n.pool):null}});function Q_(n,e){const t=n.accept(e.params);if(!t)return null;const i=ye(e.params,r=>({disabled:r.optional.boolean,hidden:r.optional.boolean}));return n.controller({blade:ci(),document:e.document,params:Object.assign(Object.assign({},t.params),{disabled:i==null?void 0:i.disabled,hidden:i==null?void 0:i.hidden}),viewProps:$t.create({disabled:i==null?void 0:i.disabled,hidden:i==null?void 0:i.hidden})})}class Da extends Di{get options(){return this.controller.valueController.props.get("options")}set options(e){this.controller.valueController.props.set("options",e)}}class J_{constructor(){this.disabled=!1,this.emitter=new Ae}dispose(){}tick(){this.disabled||this.emitter.emit("tick",{sender:this})}}class ew{constructor(e,t){this.disabled_=!1,this.timerId_=null,this.onTick_=this.onTick_.bind(this),this.doc_=e,this.emitter=new Ae,this.interval_=t,this.setTimer_()}get disabled(){return this.disabled_}set disabled(e){this.disabled_=e,this.disabled_?this.clearTimer_():this.setTimer_()}dispose(){this.clearTimer_()}clearTimer_(){if(this.timerId_===null)return;const e=this.doc_.defaultView;e&&e.clearInterval(this.timerId_),this.timerId_=null}setTimer_(){if(this.clearTimer_(),this.interval_<=0)return;const e=this.doc_.defaultView;e&&(this.timerId_=e.setInterval(this.onTick_,this.interval_))}onTick_(){this.disabled_||this.emitter.emit("tick",{sender:this})}}class Nr{constructor(e){this.constraints=e}constrain(e){return this.constraints.reduce((t,i)=>i.constrain(t),e)}}function _s(n,e){if(n instanceof e)return n;if(n instanceof Nr){const t=n.constraints.reduce((i,r)=>i||(r instanceof e?r:null),null);if(t)return t}return null}class Or{constructor(e){this.values=q.fromObject({options:e})}constrain(e){const t=this.values.get("options");return t.length===0||t.filter(r=>r.value===e).length>0?e:t[0].value}}function Fr(n){var e;const t=Oo;if(Array.isArray(n))return(e=ye({items:n},i=>({items:i.required.array(i.required.object({text:i.required.string,value:i.required.raw}))})))===null||e===void 0?void 0:e.items;if(typeof n=="object")return t.required.raw(n).value}function Ta(n){if(Array.isArray(n))return n;const e=[];return Object.keys(n).forEach(t=>{e.push({text:t,value:n[t]})}),e}function Na(n){return ve(n)?null:new Or(Ta(n))}const to=X("lst");class tw{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.props_=t.props,this.element=e.createElement("div"),this.element.classList.add(to()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("select");i.classList.add(to("s")),t.viewProps.bindDisabled(i),this.element.appendChild(i),this.selectElement=i;const r=e.createElement("div");r.classList.add(to("m")),r.appendChild(Fs(e,"dropdown")),this.element.appendChild(r),t.value.emitter.on("change",this.onValueChange_),this.value_=t.value,_t(this.props_,"options",s=>{_h(this.selectElement),s.forEach(o=>{const a=e.createElement("option");a.textContent=o.text,this.selectElement.appendChild(a)}),this.update_()})}update_(){const e=this.props_.get("options").map(t=>t.value);this.selectElement.selectedIndex=e.indexOf(this.value_.rawValue)}onValueChange_(){this.update_()}}class Zt{constructor(e,t){this.onSelectChange_=this.onSelectChange_.bind(this),this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new tw(e,{props:this.props,value:this.value,viewProps:this.viewProps}),this.view.selectElement.addEventListener("change",this.onSelectChange_)}onSelectChange_(e){const t=e.currentTarget;this.value.rawValue=this.props.get("options")[t.selectedIndex].value}importProps(e){return Ze(e,null,t=>({options:t.required.custom(Fr)}),t=>(this.props.set("options",Ta(t.options)),!0))}exportProps(){return Qe(null,{options:this.props.get("options")})}}const sc=X("pop");class nw{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(sc()),t.viewProps.bindClassModifiers(this.element),Vt(t.shows,ai(this.element,sc(void 0,"v")))}}class Vh{constructor(e,t){this.shows=Ce(!1),this.viewProps=t.viewProps,this.view=new nw(e,{shows:this.shows,viewProps:this.viewProps})}}const oc=X("txt");class iw{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(oc()),t.viewProps.bindClassModifiers(this.element),this.props_=t.props,this.props_.emitter.on("change",this.onChange_);const i=e.createElement("input");i.classList.add(oc("i")),i.type="text",t.viewProps.bindDisabled(i),this.element.appendChild(i),this.inputElement=i,t.value.emitter.on("change",this.onChange_),this.value_=t.value,this.refresh()}refresh(){const e=this.props_.get("formatter");this.inputElement.value=e(this.value_.rawValue)}onChange_(){this.refresh()}}class Ti{constructor(e,t){this.onInputChange_=this.onInputChange_.bind(this),this.parser_=t.parser,this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new iw(e,{props:t.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_)}onInputChange_(e){const i=e.currentTarget.value,r=this.parser_(i);ve(r)||(this.value.rawValue=r),this.view.refresh()}}function rw(n){return String(n)}function Lh(n){return n==="false"?!1:!!n}function ac(n){return rw(n)}function sw(n){return e=>n.reduce((t,i)=>t!==null?t:i(e),null)}const ow=Ge(0);function ws(n){return ow(n)+"%"}function Ah(n){return String(n)}function jo(n){return n}function ui({primary:n,secondary:e,forward:t,backward:i}){let r=!1;function s(o){r||(r=!0,o(),r=!1)}n.emitter.on("change",o=>{s(()=>{e.setRawValue(t(n.rawValue,e.rawValue),o.options)})}),e.emitter.on("change",o=>{s(()=>{n.setRawValue(i(n.rawValue,e.rawValue),o.options)}),s(()=>{e.setRawValue(t(n.rawValue,e.rawValue),o.options)})}),s(()=>{e.setRawValue(t(n.rawValue,e.rawValue),{forceEmit:!1,last:!0})})}function We(n,e){const t=n*(e.altKey?.1:1)*(e.shiftKey?10:1);return e.upKey?+t:e.downKey?-t:0}function Ni(n){return{altKey:n.altKey,downKey:n.key==="ArrowDown",shiftKey:n.shiftKey,upKey:n.key==="ArrowUp"}}function At(n){return{altKey:n.altKey,downKey:n.key==="ArrowLeft",shiftKey:n.shiftKey,upKey:n.key==="ArrowRight"}}function aw(n){return n==="ArrowUp"||n==="ArrowDown"}function Mh(n){return aw(n)||n==="ArrowLeft"||n==="ArrowRight"}function no(n,e){var t,i;const r=e.ownerDocument.defaultView,s=e.getBoundingClientRect();return{x:n.pageX-(((t=r&&r.scrollX)!==null&&t!==void 0?t:0)+s.left),y:n.pageY-(((i=r&&r.scrollY)!==null&&i!==void 0?i:0)+s.top)}}class An{constructor(e){this.lastTouch_=null,this.onDocumentMouseMove_=this.onDocumentMouseMove_.bind(this),this.onDocumentMouseUp_=this.onDocumentMouseUp_.bind(this),this.onMouseDown_=this.onMouseDown_.bind(this),this.onTouchEnd_=this.onTouchEnd_.bind(this),this.onTouchMove_=this.onTouchMove_.bind(this),this.onTouchStart_=this.onTouchStart_.bind(this),this.elem_=e,this.emitter=new Ae,e.addEventListener("touchstart",this.onTouchStart_,{passive:!1}),e.addEventListener("touchmove",this.onTouchMove_,{passive:!0}),e.addEventListener("touchend",this.onTouchEnd_),e.addEventListener("mousedown",this.onMouseDown_)}computePosition_(e){const t=this.elem_.getBoundingClientRect();return{bounds:{width:t.width,height:t.height},point:e?{x:e.x,y:e.y}:null}}onMouseDown_(e){var t;e.preventDefault(),(t=e.currentTarget)===null||t===void 0||t.focu
4s();const i=this.elem_.ownerDocument;i.addEventListener("mousemove",this.onDocumentMouseMove_),i.addEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(no(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onDocumentMouseMove_(e){this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(no(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onDocumentMouseUp_(e){const t=this.elem_.ownerDocument;t.removeEventListener("mousemove",this.onDocumentMouseMove_),t.removeEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(no(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onTouchStart_(e){e.preventDefault();const t=e.targetTouches.item(0),i=this.elem_.getBoundingClientRect();this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-i.left,y:t.clientY-i.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}onTouchMove_(e){const t=e.targetTouches.item(0),i=this.elem_.getBoundingClientRect();this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-i.left,y:t.clientY-i.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}onTouchEnd_(e){var t;const i=(t=e.targetTouches.item(0))!==null&&t!==void 0?t:this.lastTouch_,r=this.elem_.getBoundingClientRect();this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(i?{x:i.clientX-r.left,y:i.clientY-r.top}:void 0),sender:this,shiftKey:e.shiftKey})}}const et=X("txt");class lw{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.props_=t.props,this.props_.emitter.on("change",this.onChange_),this.element=e.createElement("div"),this.element.classList.add(et(),et(void 0,"num")),t.arrayPosition&&this.element.classList.add(et(void 0,t.arrayPosition)),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("input");i.classList.add(et("i")),i.type="text",t.viewProps.bindDisabled(i),this.element.appendChild(i),this.inputElement=i,this.onDraggingChange_=this.onDraggingChange_.bind(this),this.dragging_=t.dragging,this.dragging_.emitter.on("change",this.onDraggingChange_),this.element.classList.add(et()),this.inputElement.classList.add(et("i"));const r=e.createElement("div");r.classList.add(et("k")),this.element.appendChild(r),this.knobElement=r;const s=e.createElementNS(mt,"svg");s.classList.add(et("g")),this.knobElement.appendChild(s);const o=e.createElementNS(mt,"path");o.classList.add(et("gb")),s.appendChild(o),this.guideBodyElem_=o;const a=e.createElementNS(mt,"path");a.classList.add(et("gh")),s.appendChild(a),this.guideHeadElem_=a;const l=e.createElement("div");l.classList.add(X("tt")()),this.knobElement.appendChild(l),this.tooltipElem_=l,t.value.emitter.on("change",this.onChange_),this.value=t.value,this.refresh()}onDraggingChange_(e){if(e.rawValue===null){this.element.classList.remove(et(void 0,"drg"));return}this.element.classList.add(et(void 0,"drg"));const t=e.rawValue/this.props_.get("pointerScale"),i=t+(t>0?-1:t<0?1:0),r=$e(-i,-4,4);this.guideHeadElem_.setAttributeNS(null,"d",[`M ${i+r},0 L${i},4 L${i+r},8`,`M ${t},-1 L${t},9`].join(" ")),this.guideBodyElem_.setAttributeNS(null,"d",`M 0,4 L${t},4`);const s=this.props_.get("formatter");this.tooltipElem_.textContent=s(this.value.rawValue),this.tooltipElem_.style.left=`${t}px`}refresh(){const e=this.props_.get("formatter");this.inputElement.value=e(this.value.rawValue)}onChange_(){this.refresh()}}class Br{constructor(e,t){var i;this.originRawValue_=0,this.onInputChange_=this.onInputChange_.bind(this),this.onInputKeyDown_=this.onInputKeyDown_.bind(this),this.onInputKeyUp_=this.onInputKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.parser_=t.parser,this.props=t.props,this.sliderProps_=(i=t.sliderProps)!==null&&i!==void 0?i:null,this.value=t.value,this.viewProps=t.viewProps,this.dragging_=Ce(null),this.view=new lw(e,{arrayPosition:t.arrayPosition,dragging:this.dragging_,props:this.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.inputElement.addEventListener("keydown",this.onInputKeyDown_),this.view.inputElement.addEventListener("keyup",this.onInputKeyUp_);const r=new An(this.view.knobElement);r.emitter.on("down",this.onPointerDown_),r.emitter.on("move",this.onPointerMove_),r.emitter.on("up",this.onPointerUp_)}constrainValue_(e){var t,i;const r=(t=this.sliderProps_)===null||t===void 0?void 0:t.get("min"),s=(i=this.sliderProps_)===null||i===void 0?void 0:i.get("max");let o=e;return r!==void 0&&(o=Math.max(o,r)),s!==void 0&&(o=Math.min(o,s)),o}onInputChange_(e){const i=e.currentTarget.value,r=this.parser_(i);ve(r)||(this.value.rawValue=this.constrainValue_(r)),this.view.refresh()}onInputKeyDown_(e){const t=We(this.props.get("keyScale"),Ni(e));t!==0&&this.value.setRawValue(this.constrainValue_(this.value.rawValue+t),{forceEmit:!1,last:!1})}onInputKeyUp_(e){We(this.props.get("keyScale"),Ni(e))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}onPointerDown_(){this.originRawValue_=this.value.rawValue,this.dragging_.rawValue=0}computeDraggingValue_(e){if(!e.point)return null;const t=e.point.x-e.bounds.width/2;return this.constrainValue_(this.originRawValue_+t*this.props.get("pointerScale"))}onPointerMove_(e){const t=this.computeDraggingValue_(e.data);t!==null&&(this.value.setRawValue(t,{forceEmit:!1,last:!1}),this.dragging_.rawValue=this.value.rawValue-this.originRawValue_)}onPointerUp_(e){const t=this.computeDraggingValue_(e.data);t!==null&&(this.value.setRawValue(t,{forceEmit:!0,last:!0}),this.dragging_.rawValue=null)}}const io=X("sld");class cw{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.props_=t.props,this.props_.emitter.on("change",this.onChange_),this.element=e.createElement("div"),this.element.classList.add(io()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(io("t")),t.viewProps.bindTabIndex(i),this.element.appendChild(i),this.trackElement=i;const r=e.createElement("div");r.classList.add(io("k")),this.trackElement.appendChild(r),this.knobElement=r,t.value.emitter.on("change",this.onChange_),this.value=t.value,this.update_()}update_(){const e=$e(ae(this.value.rawValue,this.props_.get("min"),this.props_.get("max"),0,100),0,100);this.knobElement.style.width=`${e}%`}onChange_(){this.update_()}}class uw{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDownOrMove_=this.onPointerDownOrMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.props=t.props,this.view=new cw(e,{props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new An(this.view.trackElement),this.ptHandler_.emitter.on("down",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("move",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.trackElement.addEventListener("keydown",this.onKeyDown_),this.view.trackElement.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){e.point&&this.value.setRawValue(ae($e(e.point.x,0,e.bounds.width),0,e.bounds.width,this.props.get("min"),this.props.get("max")),t)}onPointerDownOrMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){const t=We(this.props.get("keyScale"),At(e));t!==0&&this.value.setRawValue(this.value.rawValue+t,{forceEmit:!1,last:!1})}onKeyUp_(e){We(this.props.get("keyScale"),At(e))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}const ro=X("sldtxt");class hw{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(ro());const i=e.createElement("div");i.classList.add(ro("s")),this.sliderView_=t.sliderView,i.appendChild(this.sliderView_.element),this.element.appendChild(i);const r=e.createElement("div");r.classList.add(ro("t")),this.textView_=t.textView,r.appendChild(this.textView_.element),this.element.appendChild(r)}}class gs{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.sliderC_=new uw(e,{props:t.sliderProps,value:t.value,viewProps:this.viewProps}),this.textC_=new Br(e,{parser:t.parser,props:t.textProps,sliderProps:t.sliderProps,value:t.value,viewProps:t.viewProps}),this.view=new hw(e,{sliderView:this.sliderC_.view,textView:this.textC_.view})}get sliderController(){return this.sliderC_}get textController(){return this.textC_}importProps(e){return Ze(e,null,t=>({max:t.required.number,min:t.required.number}),t=>{const i=this.sliderC_.props;return i.set("max",t.max),i.set("min",t.min),!0})}exportProps(){const e=this.sliderC_.props;return Qe(null,{max:e.get("max"),min:e.get("min")})}}function $h(n){return{sliderProps:new q({keyScale:n.keyScale,max:n.max,min:n.min}),textProps:new q({formatter:Ce(n.formatter),keyScale:n.keyScale,pointerScale:Ce(n.pointerScale)})}}const dw={containerUnitSize:"cnt-usz"};function Dh(n){return`--${dw[n]}`}function Oi(n){return mh(n)}function qt(n){if(No(n))return ye(n,Oi)}function kt(n,e){if(!n)return;const t=[],i=dh(n,e);
4i&&t.push(i);const r=ph(n);return r&&t.push(r),new Nr(t)}function pw(n){return n?n.major===li.major:!1}function Th(n){if(n==="inline"||n==="popup")return n}function Rr(n,e){n.write(e)}const Gr=X("ckb");class vw{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(Gr()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("label");i.classList.add(Gr("l")),this.element.appendChild(i),this.labelElement=i;const r=e.createElement("input");r.classList.add(Gr("i")),r.type="checkbox",this.labelElement.appendChild(r),this.inputElement=r,t.viewProps.bindDisabled(this.inputElement);const s=e.createElement("div");s.classList.add(Gr("w")),this.labelElement.appendChild(s);const o=Fs(e,"check");s.appendChild(o),t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.update_()}update_(){this.inputElement.checked=this.value.rawValue}onValueChange_(){this.update_()}}class mw{constructor(e,t){this.onInputChange_=this.onInputChange_.bind(this),this.onLabelMouseDown_=this.onLabelMouseDown_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new vw(e,{value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.labelElement.addEventListener("mousedown",this.onLabelMouseDown_)}onInputChange_(e){const t=e.currentTarget;this.value.rawValue=t.checked,e.preventDefault(),e.stopPropagation()}onLabelMouseDown_(e){e.preventDefault()}}function fw(n){const e=[],t=Na(n.options);return t&&e.push(t),new Nr(e)}const bw=He({id:"input-bool",type:"input",accept:(n,e)=>{if(typeof n!="boolean")return null;const t=ye(e,i=>({options:i.optional.custom(Fr),readonly:i.optional.constant(!1)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>Lh,constraint:n=>fw(n.params),writer:n=>Rr},controller:n=>{const e=n.document,t=n.value,i=n.constraint,r=i&&_s(i,Or);return r?new Zt(e,{props:new q({options:r.values.value("options")}),value:t,viewProps:n.viewProps}):new mw(e,{value:t,viewProps:n.viewProps})},api(n){return typeof n.controller.value.rawValue!="boolean"?null:n.controller.valueController instanceof Zt?new Da(n.controller):null}}),on=X("col");class _w{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(on()),t.foldable.bindExpandedClass(this.element,on(void 0,"expanded")),_t(t.foldable,"completed",ai(this.element,on(void 0,"cpl")));const i=e.createElement("div");i.classList.add(on("h")),this.element.appendChild(i);const r=e.createElement("div");r.classList.add(on("s")),i.appendChild(r),this.swatchElement=r;const s=e.createElement("div");if(s.classList.add(on("t")),i.appendChild(s),this.textElement=s,t.pickerLayout==="inline"){const o=e.createElement("div");o.classList.add(on("p")),this.element.appendChild(o),this.pickerElement=o}else this.pickerElement=null}}function ww(n,e,t){const i=$e(n/255,0,1),r=$e(e/255,0,1),s=$e(t/255,0,1),o=Math.max(i,r,s),a=Math.min(i,r,s),l=o-a;let c=0,u=0;const h=(a+o)/2;return l!==0&&(u=l/(1-Math.abs(o+a-1)),i===o?c=(r-s)/l:r===o?c=2+(s-i)/l:c=4+(i-r)/l,c=c/6+(c<0?1:0)),[c*360,u*100,h*100]}function gw(n,e,t){const i=(n%360+360)%360,r=$e(e/100,0,1),s=$e(t/100,0,1),o=(1-Math.abs(2*s-1))*r,a=o*(1-Math.abs(i/60%2-1)),l=s-o/2;let c,u,h;return i>=0&&i<60?[c,u,h]=[o,a,0]:i>=60&&i<120?[c,u,h]=[a,o,0]:i>=120&&i<180?[c,u,h]=[0,o,a]:i>=180&&i<240?[c,u,h]=[0,a,o]:i>=240&&i<300?[c,u,h]=[a,0,o]:[c,u,h]=[o,0,a],[(c+l)*255,(u+l)*255,(h+l)*255]}function Cw(n,e,t){const i=$e(n/255,0,1),r=$e(e/255,0,1),s=$e(t/255,0,1),o=Math.max(i,r,s),a=Math.min(i,r,s),l=o-a;let c;l===0?c=0:o===i?c=60*(((r-s)/l%6+6)%6):o===r?c=60*((s-i)/l+2):c=60*((i-r)/l+4);const u=o===0?0:l/o,h=o;return[c,u*100,h*100]}function Nh(n,e,t){const i=ch(n,360),r=$e(e/100,0,1),s=$e(t/100,0,1),o=s*r,a=o*(1-Math.abs(i/60%2-1)),l=s-o;let c,u,h;return i>=0&&i<60?[c,u,h]=[o,a,0]:i>=60&&i<120?[c,u,h]=[a,o,0]:i>=120&&i<180?[c,u,h]=[0,o,a]:i>=180&&i<240?[c,u,h]=[0,a,o]:i>=240&&i<300?[c,u,h]=[a,0,o]:[c,u,h]=[o,0,a],[(c+l)*255,(u+l)*255,(h+l)*255]}function yw(n,e,t){const i=t+e*(100-Math.abs(2*t-100))/200;return[n,i!==0?e*(100-Math.abs(2*t-100))/i:0,t+e*(100-Math.abs(2*t-100))/(2*100)]}function xw(n,e,t){const i=100-Math.abs(t*(200-e)/100-100);return[n,i!==0?e*t/i:0,t*(200-e)/(2*100)]}function wt(n){return[n[0],n[1],n[2]]}function Rs(n,e){return[n[0],n[1],n[2],e]}const Pw={hsl:{hsl:(n,e,t)=>[n,e,t],hsv:yw,rgb:gw},hsv:{hsl:xw,hsv:(n,e,t)=>
4[n,e,t],rgb:Nh},rgb:{hsl:ww,hsv:Cw,rgb:(n,e,t)=>[n,e,t]}};function ei(n,e){return[e==="float"?1:n==="rgb"?255:360,e==="float"?1:n==="rgb"?255:100,e==="float"?1:n==="rgb"?255:100]}function Ew(n,e){return n===e?e:ch(n,e)}function Oh(n,e,t){var i;const r=ei(e,t);return[e==="rgb"?$e(n[0],0,r[0]):Ew(n[0],r[0]),$e(n[1],0,r[1]),$e(n[2],0,r[2]),$e((i=n[3])!==null&&i!==void 0?i:1,0,1)]}function lc(n,e,t,i){const r=ei(e,t),s=ei(e,i);return n.map((o,a)=>o/r[a]*s[a])}function Fh(n,e,t){const i=lc(n,e.mode,e.type,"int"),r=Pw[e.mode][t.mode](...i);return lc(r,t.mode,"int",t.type)}class ee{static black(){return new ee([0,0,0],"rgb")}constructor(e,t){this.type="int",this.mode=t,this.comps_=Oh(e,t,this.type)}getComponents(e){return Rs(Fh(wt(this.comps_),{mode:this.mode,type:this.type},{mode:e??this.mode,type:this.type}),this.comps_[3])}toRgbaObject(){const e=this.getComponents("rgb");return{r:e[0],g:e[1],b:e[2],a:e[3]}}}const Ft=X("colp");class kw{constructor(e,t){this.alphaViews_=null,this.element=e.createElement("div"),this.element.classList.add(Ft()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(Ft("hsv"));const r=e.createElement("div");r.classList.add(Ft("sv")),this.svPaletteView_=t.svPaletteView,r.appendChild(this.svPaletteView_.element),i.appendChild(r);const s=e.createElement("div");s.classList.add(Ft("h")),this.hPaletteView_=t.hPaletteView,s.appendChild(this.hPaletteView_.element),i.appendChild(s),this.element.appendChild(i);const o=e.createElement("div");if(o.classList.add(Ft("rgb")),this.textsView_=t.textsView,o.appendChild(this.textsView_.element),this.element.appendChild(o),t.alphaViews){this.alphaViews_={palette:t.alphaViews.palette,text:t.alphaViews.text};const a=e.createElement("div");a.classList.add(Ft("a"));const l=e.createElement("div");l.classList.add(Ft("ap")),l.appendChild(this.alphaViews_.palette.element),a.appendChild(l);const c=e.createElement("div");c.classList.add(Ft("at")),c.appendChild(this.alphaViews_.text.element),a.appendChild(c),this.element.appendChild(a)}}get allFocusableElements(){const e=[this.svPaletteView_.element,this.hPaletteView_.element,this.textsView_.modeSelectElement,...this.textsView_.inputViews.map(t=>t.inputElement)];return this.alphaViews_&&e.push(this.alphaViews_.palette.element,this.alphaViews_.text.inputElement),e}}function Sw(n){return n==="int"?"int":n==="float"?"float":void 0}function Oa(n){return ye(n,e=>({color:e.optional.object({alpha:e.optional.boolean,type:e.optional.custom(Sw)}),expanded:e.optional.boolean,picker:e.optional.custom(Th),readonly:e.optional.constant(!1)}))}function yn(n){return n?.1:1}function Bh(n){var e;return(e=n.color)===null||e===void 0?void 0:e.type}class Fa{constructor(e,t){this.type="float",this.mode=t,this.comps_=Oh(e,t,this.type)}getComponents(e){return Rs(Fh(wt(this.comps_),{mode:this.mode,type:this.type},{mode:e??this.mode,type:this.type}),this.comps_[3])}toRgbaObject(){const e=this.getComponents("rgb");return{r:e[0],g:e[1],b:e[2],a:e[3]}}}const Vw={int:(n,e)=>new ee(n,e),float:(n,e)=>new Fa(n,e)};function Ba(n,e,t){return Vw[t](n,e)}function Lw(n){return n.type==="float"}function Aw(n){return n.type==="int"}function Mw(n){const e=n.getComponents(),t=ei(n.mode,"int");return new ee([Math.round(ae(e[0],0,1,0,t[0])),Math.round(ae(e[1],0,1,0,t[1])),Math.round(ae(e[2],0,1,0,t[2])),e[3]],n.mode)}function $w(n){const e=n.getComponents(),t=ei(n.mode,"int");return new Fa([ae(e[0],0,t[0],0,1),ae(e[1],0,t[1],0,1),ae(e[2],0,t[2],0,1),e[3]],n.mode)}function Ke(n,e){if(n.type===e)return n;if(Aw(n)&&e==="float")return $w(n);if(Lw(n)&&e==="int")return Mw(n);throw xe.shouldNeverHappen()}function Dw(n,e){return n.alpha===e.alpha&&n.mode===e.mode&&n.notation===e.notation&&n.type===e.type}function rt(n,e){const t=n.match(/^(.+)%$/);return Math.min(t?parseFloat(t[1])*.01*e:parseFloat(n),e)}const Tw={deg:n=>n,grad:n=>n*360/400,rad:n=>n*360/(2*Math.PI),turn:n=>n*360};function Rh(n){const e=n.match(/^([0-9.]+?)(deg|grad|rad|turn)$/);if(!e)return parseFloat(n);const t=parseFloat(e[1]),i=e[2];return Tw[i](t)}function jh(n){const e=n.match(/^rgb\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!e)return null;const t=[rt(e[1],255),rt(e[2],255),rt(e[3],255)];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])?null:t}function Nw(n){const e=jh(n);return e?new ee(e,"rgb"):null}function Ih(n){const e=n.match(/^rgba\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!e)return null;const t=[rt(e[1],255),rt(e[2],255),rt(e[3],255),rt(e[4],1)];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])||isNaN(t[3])?null:t}function Ow(n){const e=Ih(n);return e?new ee(e,"rgb"):null}function zh(n){const e=n.match(/^hsl\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!e)return null;const t=[Rh(e[1]),rt(e[2],100),rt(e[3],100)];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])?null:t}function Fw(n){const e=zh(n);return e?new ee(e,"hsl"):null}function Uh(n){const e=n.match(/^hsla\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!e)return null;const t=[Rh(e[1]),rt(e[2],100),rt(e[3],100),rt(e[4],1)];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])||isNaN(t[3])?null:t}function Bw(n){const e=Uh(n);return e?new ee(e,"hsl"):null}function qh(n){const e=n.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(e)return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)];const t=n.match(/^(?:#|0x)([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return t?[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]:null}function Rw(n){const e=qh(n);return e?new ee(e,"rgb"):null}function Kh(n){const e=n.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(e)return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16),ae(parseInt(e[4]+e[4],16),0,255,0,1)];const t=n.match(/^(?:#|0x)?([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return t?[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16),ae(parseInt(t[4],16),0,255,0,1)]:null}function jw(n){const e=Kh(n);return e?new ee(e,"rgb"):null}function Hh(n){const e=n.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!e)return null;const t=[parseFloat(e[1]),parseFloat(e[2]),parseFloat(e[3])];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])?null:t}function Iw(n){return e=>{const t=Hh(e);return t?Ba(t,"rgb",n):null}}function Wh(n){const e=n.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*a\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!e)return null;const t=[parseFloat(e[1]),parseFloat(e[2]),parseFloat(e[3]),parseFloat(e[4])];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])||isNaN(t[3])?null:t}function zw(n){return e=>{const t=Wh(e);return t?Ba(t,"rgb",n):null}}const Uw=[{parser:qh,result:{alpha:!1,mode:"rgb",notation:"hex"}},{parser:Kh,result:{alpha:!0,mode:"rgb",notation:"hex"}},{parser:jh,result:{alpha:!1,mode:"rgb",notation:"func"}},{parser:Ih,result:{alpha:!0,mode:"rgb",notation:"func"}},{parser:zh,result:{alpha:!1,mode:"hsl",notation:"func"}},{parser:Uh,result:{alpha:!0,mode:"hsl",notation:"func"}},{parser:Hh,result:{alpha:!1,mode:"rgb",notation:"object"}},{parser:Wh,result:{alpha:!0,mode:"rgb",notation:"object"}}];function qw(n){return Uw.reduce((e,{parser:t,result:i})=>e||(t(n)?i:null),null)}function Kw(n,e="int"){const t=qw(n);return t?t.notation==="hex"&&e!=="float"?Object.assign(Object.assign({},t),{type:"int"}):t.notation==="func"?Object.assign(Object.assign({},t),{type:e}):null:null}function jr(n){const e=[Rw,jw,Nw,Ow,Fw,Bw];e.push(Iw("int"),zw("int"));const t=sw(e);return i=>{const r=t(i);return r?Ke(r,n):null}}function Hw(n){const e=jr("int");
4if(typeof n!="string")return ee.black();const t=e(n);return t??ee.black()}function Gh(n){const e=$e(Math.floor(n),0,255).toString(16);return e.length===1?`0${e}`:e}function Ra(n,e="#"){const t=wt(n.getComponents("rgb")).map(Gh).join("");return`${e}${t}`}function ja(n,e="#"){const t=n.getComponents("rgb"),i=[t[0],t[1],t[2],t[3]*255].map(Gh).join("");return`${e}${i}`}function Yh(n){const e=Ge(0),t=Ke(n,"int");return`rgb(${wt(t.getComponents("rgb")).map(r=>e(r)).join(", ")})`}function as(n){const e=Ge(2),t=Ge(0);return`rgba(${Ke(n,"int").getComponents("rgb").map((s,o)=>(o===3?e:t)(s)).join(", ")})`}function Ww(n){const e=[Ge(0),ws,ws],t=Ke(n,"int");return`hsl(${wt(t.getComponents("hsl")).map((r,s)=>e[s](r)).join(", ")})`}function Gw(n){const e=[Ge(0),ws,ws,Ge(2)];return`hsla(${Ke(n,"int").getComponents("hsl").map((r,s)=>e[s](r)).join(", ")})`}function Xh(n,e){const t=Ge(e==="float"?2:0),i=["r","g","b"],r=Ke(n,e);return`{${wt(r.getComponents("rgb")).map((o,a)=>`${i[a]}: ${t(o)}`).join(", ")}}`}function Yw(n){return e=>Xh(e,n)}function Zh(n,e){const t=Ge(2),i=Ge(e==="float"?2:0),r=["r","g","b","a"];return`{${Ke(n,e).getComponents("rgb").map((a,l)=>{const c=l===3?t:i;return`${r[l]}: ${c(a)}`}).join(", ")}}`}function Xw(n){return e=>Zh(e,n)}const Zw=[{format:{alpha:!1,mode:"rgb",notation:"hex",type:"int"},stringifier:Ra},{format:{alpha:!0,mode:"rgb",notation:"hex",type:"int"},stringifier:ja},{format:{alpha:!1,mode:"rgb",notation:"func",type:"int"},stringifier:Yh},{format:{alpha:!0,mode:"rgb",notation:"func",type:"int"},stringifier:as},{format:{alpha:!1,mode:"hsl",notation:"func",type:"int"},stringifier:Ww},{format:{alpha:!0,mode:"hsl",notation:"func",type:"int"},stringifier:Gw},...["int","float"].reduce((n,e)=>[...n,{format:{alpha:!1,mode:"rgb",notation:"object",type:e},stringifier:Yw(e)},{format:{alpha:!0,mode:"rgb",notation:"object",type:e},stringifier:Xw(e)}],[])];function Qh(n){return Zw.reduce((e,t)=>e||(Dw(t.format,n)?t.stringifier:null),null)}const wi=X("apl");class Qw{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(wi()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);const i=e.createElement("div");i.classList.add(wi("b")),this.element.appendChild(i);const r=e.createElement("div");r.classList.add(wi("c")),i.appendChild(r),this.colorElem_=r;const s=e.createElement("div");s.classList.add(wi("m")),this.element.appendChild(s),this.markerElem_=s;const o=e.createElement("div");o.classList.add(wi("p")),this.markerElem_.appendChild(o),this.previewElem_=o,this.update_()}update_(){const e=this.value.rawValue,t=e.getComponents("rgb"),i=new ee([t[0],t[1],t[2],0],"rgb"),r=new ee([t[0],t[1],t[2],255],"rgb"),s=["to right",as(i),as(r)];this.colorElem_.style.background=`linear-gradient(${s.join(",")})`,this.previewElem_.style.backgroundColor=as(e);const o=ae(t[3],0,1,0,100);this.markerElem_.style.left=`${o}%`}onValueChange_(){this.update_()}}class Jw{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new Qw(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new An(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;const i=e.point.x/e.bounds.width,r=this.value.rawValue,[s,o,a]=r.getComponents("hsv");this.value.setRawValue(new ee([s,o,a,i],"hsv"),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){const t=We(yn(!0),At(e));if(t===0)return;const i=this.value.rawValue,[r,s,o,a]=i.getComponents("hsv");this.value.setRawValue(new ee([r,s,o,a+t],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(e){We(yn(!0),At(e))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}const Tn=X("coltxt");function eg(n){const e=n.createElement("select"),t=[{text:"RGB",value:"rgb"},{text:"HSL",value:"hsl"},{text:"HSV",value:"hsv"},{text:"HEX",value:"hex"}];return e.appendChild(t.reduce((i,r)=>{const s=n.createElement("option");return s.textContent=r.text,s.value=r.value,i.appendChild(s),i},n.createDocumentFragment())),e}class tg{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Tn()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(Tn("m")),this.modeElem_=eg(e),this.modeElem_.classList.add(Tn("ms")),i.appendChild(this.modeSelectElement),t.viewProps.bindDisabled(this.modeElem_);const r=e.createElement("div");r.classList.add(Tn("mm")),r.appendChild(Fs(e,"dropdown")),i.appendChild(r),this.element.appendChild(i);const s=e.createElement("div");s.classList.add(Tn("w")),this.element.appendChild(s),this.inputsElem_=s,this.inputVie
4ws_=t.inputViews,this.applyInputViews_(),Vt(t.mode,o=>{this.modeElem_.value=o})}get modeSelectElement(){return this.modeElem_}get inputViews(){return this.inputViews_}set inputViews(e){this.inputViews_=e,this.applyInputViews_()}applyInputViews_(){_h(this.inputsElem_);const e=this.element.ownerDocument;this.inputViews_.forEach(t=>{const i=e.createElement("div");i.classList.add(Tn("c")),i.appendChild(t.element),this.inputsElem_.appendChild(i)})}}function ng(n){return Ge(n==="float"?2:0)}function ig(n,e,t){const i=ei(n,e)[t];return new $r({min:0,max:i})}function rg(n,e,t){return new Br(n,{arrayPosition:t===0?"fst":t===2?"lst":"mid",parser:e.parser,props:q.fromObject({formatter:ng(e.colorType),keyScale:yn(!1),pointerScale:e.colorType==="float"?.01:1}),value:Ce(0,{constraint:ig(e.colorMode,e.colorType,t)}),viewProps:e.viewProps})}function sg(n,e){const t={colorMode:e.colorMode,colorType:e.colorType,parser:Lt,viewProps:e.viewProps};return[0,1,2].map(i=>{const r=rg(n,t,i);return ui({primary:e.value,secondary:r.value,forward(s){return Ke(s,e.colorType).getComponents(e.colorMode)[i]},backward(s,o){const a=e.colorMode,c=Ke(s,e.colorType).getComponents(a);c[i]=o;const u=Ba(Rs(wt(c),c[3]),a,e.colorType);return Ke(u,"int")}}),r})}function og(n,e){const t=new Ti(n,{parser:jr("int"),props:q.fromObject({formatter:Ra}),value:Ce(ee.black()),viewProps:e.viewProps});return ui({primary:e.value,secondary:t.value,forward:i=>new ee(wt(i.getComponents()),i.mode),backward:(i,r)=>new ee(Rs(wt(r.getComponents(i.mode)),i.getComponents()[3]),i.mode)}),[t]}function ag(n){return n!=="hex"}class lg{constructor(e,t){this.onModeSelectChange_=this.onModeSelectChange_.bind(this),this.colorType_=t.colorType,this.value=t.value,this.viewProps=t.viewProps,this.colorMode=Ce(this.value.rawValue.mode),this.ccs_=this.createComponentControllers_(e),this.view=new tg(e,{mode:this.colorMode,inputViews:[this.ccs_[0].view,this.ccs_[1].view,this.ccs_[2].view],viewProps:this.viewProps}),this.view.modeSelectElement.addEventListener("change",this.onModeSelectChange_)}createComponentControllers_(e){const t=this.colorMode.rawValue;return ag(t)?sg(e,{colorMode:t,colorType:this.colorType_,value:this.value,viewProps:this.viewProps}):og(e,{value:this.value,viewProps:this.viewProps})}onModeSelectChange_(e){const t=e.currentTarget;this.colorMode.rawValue=t.value,this.ccs_=this.createComponentControllers_(this.view.element.ownerDocument),this.view.inputViews=this.ccs_.map(i=>i.view)}}const so=X("hpl");class cg{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(so()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);const i=e.createElement("div");i.classList.add(so("c")),this.element.appendChild(i);const r=e.createElement("div");r.classList.add(so("m")),this.element.appendChild(r),this.markerElem_=r,this.update_()}update_(){const e=this.value.rawValue,[t]=e.getComponents("hsv");this.markerElem_.style.backgroundColor=Yh(new ee([t,100,100],"hsv"));const i=ae(t,0,360,0,100);this.markerElem_.style.left=`${i}%`}onValueChange_(){this.update_()}}class ug{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new cg(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new An(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;const i=ae($e(e.point.x,0,e.bounds.width),0,e.bounds.width,0,360),r=this.value.rawValue,[,s,o,a]=r.getComponents("hsv");this.value.setRawValue(new ee([i,s,o,a],"hsv"),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){const t=We(yn(!1),At(e));if(t===0)return;const i=this.value.rawValue,[r,s,o,a]=i.getComponents("hsv");this.value.setRawValue(new ee([r+t,s,o,a],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(e){We(yn(!1),At(e))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}const oo=X("svp"),cc=64;class hg{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(oo()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);const i=e.createElement("canvas");i.height=cc,i.width=cc,i.classList.add(oo("c")),this.element.appendChild(i),this.canvasElement=i;const r=e.createElement("div");r.classList.add(oo("m")),this.element.appendChild(r),this.markerElem_=r,this.update_()}update_(){const e=u_(this.canvasElement);if(!e)return;const i=this.value.rawValue.getComponents("hsv"),r=this.canvasElement.width,s=this.canvasElement.height,o=e.getImageData(0,0,r,s),a=o.data;for(let u=0;u<s;u++)for(let h=0;h<r;h++){const p=ae(h,0,r,0,100),v=ae(u,0,s,100,0),m=Nh(i[0],p,v),f=(u*r+h)*4;a[f]=m[0],a[f+1]=m[1],a[f+2]=m[2],a[f+3]=255}e.putImageData(o,0,0);const l=ae(i[1],0,100,0,100);this.markerElem_.style.left=`${l}%`;const c=ae(i[2],0,100,100,0);this.markerElem_.style.top=`${c}%`}onValueChange_(){this.update_()}}class dg{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new hg(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new An(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;const i=ae(e.point.x,0,e.bounds.width,0,100),r=ae(e.point.y,0,e.bounds.height,100,0),[s,,,o]=this.value.rawValue.getComponents("hsv");
4this.value.setRawValue(new ee([s,i,r,o],"hsv"),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){Mh(e.key)&&e.preventDefault();const[t,i,r,s]=this.value.rawValue.getComponents("hsv"),o=yn(!1),a=We(o,At(e)),l=We(o,Ni(e));a===0&&l===0||this.value.setRawValue(new ee([t,i+a,r+l,s],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(e){const t=yn(!1),i=We(t,At(e)),r=We(t,Ni(e));i===0&&r===0||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}class pg{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.hPaletteC_=new ug(e,{value:this.value,viewProps:this.viewProps}),this.svPaletteC_=new dg(e,{value:this.value,viewProps:this.viewProps}),this.alphaIcs_=t.supportsAlpha?{palette:new Jw(e,{value:this.value,viewProps:this.viewProps}),text:new Br(e,{parser:Lt,props:q.fromObject({pointerScale:.01,keyScale:.1,formatter:Ge(2)}),value:Ce(0,{constraint:new $r({min:0,max:1})}),viewProps:this.viewProps})}:null,this.alphaIcs_&&ui({primary:this.value,secondary:this.alphaIcs_.text.value,forward:i=>i.getComponents()[3],backward:(i,r)=>{const s=i.getComponents();return s[3]=r,new ee(s,i.mode)}}),this.textsC_=new lg(e,{colorType:t.colorType,value:this.value,viewProps:this.viewProps}),this.view=new kw(e,{alphaViews:this.alphaIcs_?{palette:this.alphaIcs_.palette.view,text:this.alphaIcs_.text.view}:null,hPaletteView:this.hPaletteC_.view,supportsAlpha:t.supportsAlpha,svPaletteView:this.svPaletteC_.view,textsView:this.textsC_.view,viewProps:this.viewProps})}get textsController(){return this.textsC_}}const ao=X("colsw");class vg{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.element=e.createElement("div"),this.element.classList.add(ao()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(ao("sw")),this.element.appendChild(i),this.swatchElem_=i;const r=e.createElement("button");r.classList.add(ao("b")),t.viewProps.bindDisabled(r),this.element.appendChild(r),this.buttonElement=r,this.update_()}update_(){const e=this.value.rawValue;this.swatchElem_.style.backgroundColor=ja(e)}onValueChange_(){this.update_()}}class mg{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new vg(e,{value:this.value,viewProps:this.viewProps})}}class Ia{constructor(e,t){this.onButtonBlur_=this.onButtonBlur_.bind(this),this.onButtonClick_=this.onButtonClick_.bind(this),this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.foldable_=Tr.create(t.expanded),this.swatchC_=new mg(e,{value:this.value,viewProps:this.viewProps});const i=this.swatchC_.view.buttonElement;i.addEventListener("blur",this.onButtonBlur_),i.addEventListener("click",this.onButtonClick_),this.textC_=new Ti(e,{parser:t.parser,props:q.fromObject({formatter:t.formatter}),value:this.value,viewProps:this.viewProps}),this.view=new _w(e,{foldable:this.foldable_,pickerLayout:t.pickerLayout}),this.view.swatchElement.appendChild(this.swatchC_.view.element),this.view.textElement.appendChild(this.textC_.view.element),this.popC_=t.pickerLayout==="popup"?new Vh(e,{viewProps:this.viewProps}):null;const r=new pg(e,{colorType:t.colorType,supportsAlpha:t.supportsAlpha,value:this.value,viewProps:this.viewProps});r.view.allFocusableElements.forEach(s=>{s.addEventListener("blur",this.onPopupChildBlur_),s.addEventListener("keydown",this.onPopupChildKeydown_)}),this.pickerC_=r,this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(r.view.element),ui({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:s=>s,backward:(s,o)=>o})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),$a(this.foldable_,this.view.pickerElement))}get textController(){return this.textC_}onButtonBlur_(e){if(!this.popC_)return;const t=this.view.element,i=e.relatedTarget;(!i||!t.contains(i))&&(this.popC_.shows.rawValue=!1)}onButtonClick_(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()}onPopupChildBlur_(e){if(!this.popC_)return;const t=this.popC_.view.element,i=wh(e);i&&t.contains(i)||i&&i===this.swatchC_.view.buttonElement&&!ka(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(e){this.popC_?e.key==="Escape"&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&e.key==="Escape"&&this.swatchC_.view.buttonElement.focus()}}function fg(n){return wt(n.getComponents("rgb")).reduce((e,t)=>
4e<<8|Math.floor(t)&255,0)}function bg(n){return n.getComponents("rgb").reduce((e,t,i)=>{const r=Math.floor(i===3?t*255:t)&255;return e<<8|r},0)>>>0}function _g(n){return new ee([n>>16&255,n>>8&255,n&255],"rgb")}function wg(n){return new ee([n>>24&255,n>>16&255,n>>8&255,ae(n&255,0,255,0,1)],"rgb")}function gg(n){return typeof n!="number"?ee.black():_g(n)}function Cg(n){return typeof n!="number"?ee.black():wg(n)}function ls(n,e){return typeof n!="object"||ve(n)?!1:e in n&&typeof n[e]=="number"}function Jh(n){return ls(n,"r")&&ls(n,"g")&&ls(n,"b")}function ed(n){return Jh(n)&&ls(n,"a")}function td(n){return Jh(n)}function za(n,e){if(n.mode!==e.mode||n.type!==e.type)return!1;const t=n.getComponents(),i=e.getComponents();for(let r=0;r<t.length;r++)if(t[r]!==i[r])return!1;return!0}function uc(n){return"a"in n?[n.r,n.g,n.b,n.a]:[n.r,n.g,n.b]}function yg(n){const e=Qh(n);return e?(t,i)=>{Rr(t,e(i))}:null}function xg(n){const e=n?bg:fg;return(t,i)=>{Rr(t,e(i))}}function Pg(n,e,t){const r=Ke(e,t).toRgbaObject();n.writeProperty("r",r.r),n.writeProperty("g",r.g),n.writeProperty("b",r.b),n.writeProperty("a",r.a)}function Eg(n,e,t){const r=Ke(e,t).toRgbaObject();n.writeProperty("r",r.r),n.writeProperty("g",r.g),n.writeProperty("b",r.b)}function kg(n,e){return(t,i)=>{n?Pg(t,i,e):Eg(t,i,e)}}function Sg(n){var e;return!!(!((e=n==null?void 0:n.color)===null||e===void 0)&&e.alpha)}function Vg(n){return n?e=>ja(e,"0x"):e=>Ra(e,"0x")}function Lg(n){return"color"in n||n.view==="color"}const Ag=He({id:"input-color-number",type:"input",accept:(n,e)=>{if(typeof n!="number"||!Lg(e))return null;const t=Oa(e);return t?{initialValue:n,params:Object.assign(Object.assign({},t),{supportsAlpha:Sg(e)})}:null},binding:{reader:n=>n.params.supportsAlpha?Cg:gg,equals:za,writer:n=>xg(n.params.supportsAlpha)},controller:n=>{var e,t;return new Ia(n.document,{colorType:"int",expanded:(e=n.params.expanded)!==null&&e!==void 0?e:!1,formatter:Vg(n.params.supportsAlpha),parser:jr("int"),pickerLayout:(t=n.params.picker)!==null&&t!==void 0?t:"popup",supportsAlpha:n.params.supportsAlpha,value:n.value,viewProps:n.viewProps})}});function Mg(n,e){if(!td(n))return Ke(ee.black(),e);if(e==="int"){const t=uc(n);return new ee(t,"rgb")}if(e==="float"){const t=uc(n);return new Fa(t,"rgb")}return Ke(ee.black(),"int")}function $g(n){return ed(n)}function Dg(n){return e=>{const t=Mg(e,n);return Ke(t,"int")}}function Tg(n,e){return t=>n?Zh(t,e):Xh(t,e)}const Ng=He({id:"input-color-object",type:"input",accept:(n,e)=>{var t;if(!td(n))return null;const i=Oa(e);return i?{initialValue:n,params:Object.assign(Object.assign({},i),{colorType:(t=Bh(e))!==null&&t!==void 0?t:"int"})}:null},binding:{reader:n=>Dg(n.params.colorType),equals:za,writer:n=>kg($g(n.initialValue),n.params.colorType)},controller:n=>{var e,t;const i=ed(n.initialValue);return new Ia(n.document,{colorType:n.params.colorType,expanded:(e=n.params.expanded)!==null&&e!==void 0?e:!1,formatter:Tg(i,n.params.colorType),parser:jr("int"),pickerLayout:(t=n.params.picker)!==null&&t!==void 0?t:"popup",supportsAlpha:i,value:n.value,viewProps:n.viewProps})}}),Og=He({id:"input-color-string",type:"input",accept:(n,e)=>{if(typeof n!="string"||e.view==="text")return null;const t=Kw(n,Bh(e));if(!t)return null;const i=Qh(t);if(!i)return null;const r=Oa(e);return r?{initialValue:n,params:Object.assign(Object.assign({},r),{format:t,stringifier:i})}:null},binding:{reader:()=>Hw,equals:za,writer:n=>{const e=yg(n.params.format);if(!e)throw xe.notBindable();return e}},controller:n=>{var e,t;return new Ia(n.document,{colorType:n.params.format.type,expanded:(e=n.params.expanded)!==null&&e!==void 0?e:!1,formatter:n.params.stringifier,parser:jr("int"),pickerLayout:(t=n.params.picker)!==null&&t!==void 0?t:"popup",supportsAlpha:n.params.format.alpha,value:n.value,viewProps:n.viewProps})}});class Ua{constructor(e){this.components=e.components,this.asm_=e.assembly}constrain(e){const t=this.asm_.toComponents(e).map((i,r)=>{var s,o;return(o=(s=this.components[r])===null||s===void 0?void 0:s.constrain(i))!==null&&o!==void 0?o:i});return this.asm_.fromComponents(t)}}const hc=X("pndtxt");class Fg{constructor(e,t){this.textViews=t.textViews,this.element=e.createElement("div"),this.element.classList.add(hc()),this.textViews.forEach(i=>
4{const r=e.createElement("div");r.classList.add(hc("a")),r.appendChild(i.element),this.element.appendChild(r)})}}function Bg(n,e,t){return new Br(n,{arrayPosition:t===0?"fst":t===e.axes.length-1?"lst":"mid",parser:e.parser,props:e.axes[t].textProps,value:Ce(0,{constraint:e.axes[t].constraint}),viewProps:e.viewProps})}class qa{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.acs_=t.axes.map((i,r)=>Bg(e,t,r)),this.acs_.forEach((i,r)=>{ui({primary:this.value,secondary:i.value,forward:s=>t.assembly.toComponents(s)[r],backward:(s,o)=>{const a=t.assembly.toComponents(s);return a[r]=o,t.assembly.fromComponents(a)}})}),this.view=new Fg(e,{textViews:this.acs_.map(i=>i.view)})}get textControllers(){return this.acs_}}class Rg extends Di{get max(){return this.controller.valueController.sliderController.props.get("max")}set max(e){this.controller.valueController.sliderController.props.set("max",e)}get min(){return this.controller.valueController.sliderController.props.get("min")}set min(e){this.controller.valueController.sliderController.props.set("min",e)}}function jg(n,e){const t=[],i=dh(n,e);i&&t.push(i);const r=ph(n);r&&t.push(r);const s=Na(n.options);return s&&t.push(s),new Nr(t)}const Ig=He({id:"input-number",type:"input",accept:(n,e)=>{if(typeof n!="number")return null;const t=ye(e,i=>Object.assign(Object.assign({},mh(i)),{options:i.optional.custom(Fr),readonly:i.optional.constant(!1)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>lh,constraint:n=>jg(n.params,n.initialValue),writer:n=>Rr},controller:n=>{const e=n.value,t=n.constraint,i=t&&_s(t,Or);if(i)return new Zt(n.document,{props:new q({options:i.values.value("options")}),value:e,viewProps:n.viewProps});const r=vh(n.params,e.rawValue),s=t&&_s(t,$r);return s?new gs(n.document,Object.assign(Object.assign({},$h(Object.assign(Object.assign({},r),{keyScale:Ce(r.keyScale),max:s.values.value("max"),min:s.values.value("min")}))),{parser:Lt,value:e,viewProps:n.viewProps})):new Br(n.document,{parser:Lt,props:q.fromObject(r),value:e,viewProps:n.viewProps})},api(n){return typeof n.controller.value.rawValue!="number"?null:n.controller.valueController instanceof gs?new Rg(n.controller):n.controller.valueController instanceof Zt?new Da(n.controller):null}});class Wt{constructor(e=0,t=0){this.x=e,this.y=t}getComponents(){return[this.x,this.y]}static isObject(e){if(ve(e))return!1;const t=e.x,i=e.y;return!(typeof t!="number"||typeof i!="number")}static equals(e,t){return e.x===t.x&&e.y===t.y}toObject(){return{x:this.x,y:this.y}}}const nd={toComponents:n=>n.getComponents(),fromComponents:n=>new Wt(...n)},Nn=X("p2d");class zg{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Nn()),t.viewProps.bindClassModifiers(this.element),Vt(t.expanded,ai(this.element,Nn(void 0,"expanded")));const i=e.createElement("div");i.classList.add(Nn("h")),this.element.appendChild(i);const r=e.createElement("button");r.classList.add(Nn("b")),r.appendChild(Fs(e,"p2dpad")),t.viewProps.bindDisabled(r),i.appendChild(r),this.buttonElement=r;const s=e.createElement("div");if(s.classList.add(Nn("t")),i.appendChild(s),this.textElement=s,t.pickerLayout==="inline"){const o=e.createElement("div");o.classList.add(Nn("p")),this.element.appendChild(o),this.pickerElement=o}else this.pickerElement=null}}const Bt=X("p2dp");class Ug{constructor(e,t){this.onFoldableChange_=this.onFoldableChange_.bind(this),this.onPropsChange_=this.onPropsChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.props_=t.props,this.props_.emitter.on("change",this.onPropsChange_),this.element=e.createElement("div"),this.element.classList.add(Bt()),t.layout==="popup"&&this.element.classList.add(Bt(void 0,"p")),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(Bt("p")),t.viewProps.bindTabIndex(i),this.element.appendChild(i),this.padElement=i;const r=e.createElementNS(mt,"svg");r.classList.add(Bt("g")),this.padElement.appendChild(r),this.svgElem_=r;const s=e.createElementNS(mt,"line");s.classList.add(Bt("ax")),s.setAttributeNS(null,"x1","0"),s.setAttributeNS(null,"y1","50%"),s.setAttributeNS(null,"x2","100%"),s.setAttributeNS(null,"y2","50%"),this.svgElem_.appendChild(s);const o=e.createElementNS(mt,"line");o.classList.add(Bt("ax")),o.setAttributeNS(null,"x1","50%"),o.setAttributeNS(null,"y1","0"),o.setAttributeNS(null,"x2","50%"),o.setAttributeNS(null,"y2","100%"),this.svgElem_.appendChild(o);const a=e.createElementNS(mt,"line");a.classList.add(Bt("l")),a.setAttributeNS(null,"x1","50%"),a.setAttributeNS(null,"y1","50%"),this.svgElem_.appendChild(a),this.lineElem_=a;const l=e.createElement("div");l.classList.add(Bt("m")),this.padElement.appendChild(l),this.markerElem_=l,t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.update_()}get allFocusableElements(){return[this.padElement]}update_(){const[e,t]=this.value.rawValue.getComponents(),i=this.props_.get("max"),r=ae(e,-i,+i,0,100),s=ae(t,-i,+i,0,100),o=this.props_.get("invertsY")?100-s:s;this.lineElem_.setAttributeNS(null,"x2",`${r}%`),this.lineElem_.setAttributeNS(null,"y2",`${o}%`),this.markerElem_.style.left=`${r}%`,this.markerElem_.style.top=`${o}%`}onValueChange_(){this.update_()}onPropsChange_(){this.update_()}onFoldableChange_(){this.update_()}}function dc(n,e,t){return[We(e[0],At(n)),We(e[1],Ni(n))*(t?1:-1)]}class qg{constructor(e,t){this.onPadKeyDown_=this.onPadKeyDown_.bind(this),this.onPadKeyUp_=this.onPadKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new Ug
4(e,{layout:t.layout,props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new An(this.view.padElement),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.padElement.addEventListener("keydown",this.onPadKeyDown_),this.view.padElement.addEventListener("keyup",this.onPadKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;const i=this.props.get("max"),r=ae(e.point.x,0,e.bounds.width,-i,+i),s=ae(this.props.get("invertsY")?e.bounds.height-e.point.y:e.point.y,0,e.bounds.height,-i,+i);this.value.setRawValue(new Wt(r,s),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onPadKeyDown_(e){Mh(e.key)&&e.preventDefault();const[t,i]=dc(e,[this.props.get("xKeyScale"),this.props.get("yKeyScale")],this.props.get("invertsY"));t===0&&i===0||this.value.setRawValue(new Wt(this.value.rawValue.x+t,this.value.rawValue.y+i),{forceEmit:!1,last:!1})}onPadKeyUp_(e){const[t,i]=dc(e,[this.props.get("xKeyScale"),this.props.get("yKeyScale")],this.props.get("invertsY"));t===0&&i===0||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}class Kg{constructor(e,t){var i,r;this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.onPadButtonBlur_=this.onPadButtonBlur_.bind(this),this.onPadButtonClick_=this.onPadButtonClick_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.foldable_=Tr.create(t.expanded),this.popC_=t.pickerLayout==="popup"?new Vh(e,{viewProps:this.viewProps}):null;const s=new qg(e,{layout:t.pickerLayout,props:new q({invertsY:Ce(t.invertsY),max:Ce(t.max),xKeyScale:t.axes[0].textProps.value("keyScale"),yKeyScale:t.axes[1].textProps.value("keyScale")}),value:this.value,viewProps:this.viewProps});s.view.allFocusableElements.forEach(o=>{o.addEventListener("blur",this.onPopupChildBlur_),o.addEventListener("keydown",this.onPopupChildKeydown_)}),this.pickerC_=s,this.textC_=new qa(e,{assembly:nd,axes:t.axes,parser:t.parser,value:this.value,viewProps:this.viewProps}),this.view=new zg(e,{expanded:this.foldable_.value("expanded"),pickerLayout:t.pickerLayout,viewProps:this.viewProps}),this.view.textElement.appendChild(this.textC_.view.element),(i=this.view.buttonElement)===null||i===void 0||i.addEventListener("blur",this.onPadButtonBlur_),(r=this.view.buttonElement)===null||r===void 0||r.addEventListener("click",this.onPadButtonClick_),this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(this.pickerC_.view.element),ui({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:o=>o,backward:(o,a)=>a})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),$a(this.foldable_,this.view.pickerElement))}get textController(){return this.textC_}onPadButtonBlur_(e){if(!this.popC_)return;const t=this.view.element,i=e.relatedTarget;(!i||!t.contains(i))&&(this.popC_.shows.rawValue=!1)}onPadButtonClick_(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()}onPopupChildBlur_(e){if(!this.popC_)return;const t=this.popC_.view.element,i=wh(e);i&&t.contains(i)||i&&i===this.view.buttonElement&&!ka(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(e){this.popC_?e.key==="Escape"&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&e.key==="Escape"&&this.view.buttonElement.focus()}}function Hg(n){return Wt.isObject(n)?new Wt(n.x,n.y):new Wt}function Wg(n,e){n.writeProperty("x",e.x),n.writeProperty("y",e.y)}function Gg(n,e){return new Ua({assembly:nd,components:[kt(Object.assign(Object.assign({},n),n.x),e.x),kt(Object.assign(Object.assign({},n),n.y),e.y)]})}function pc(n,e){var t,i;if(!ve(n.min)||!ve(n.max))return Math.max(Math.abs((t=n.min)!==null&&t!==void 0?t:0),Math.abs((i=n.max)!==null&&i!==void 0?i:0));const r=uh(n);return Math.max(Math.abs(r)*10,Math.abs(e)*10)}function Yg(n,e){var t,i;const r=pc(gn(n,(t=n.x)!==null&&t!==void 0?t:{}),e.x),s=pc(gn(n,(i=n.y)!==null&&i!==void 0?i:{}),e.y);return Math.max(r,s)}function Xg(n){if(!("y"in n))return!1;const e=n.y;return e&&"inverted"in e?!!e.inverted:!1}const Zg=He({id:"input-point2d",type:"input",accept:(n,e)=>{if(!Wt.isObject(n))return null;const t=ye(e,i=>Object.assign(Object.assign({},Oi(i)),{expanded:i.optional.boolean,picker:i.optional.custom(Th),readonly:i.optional.constant(!1),x:i.optional.custom(qt),y:i.optional.object(Object.assign(Object.assign({},Oi(i)),{inverted:i.optional.boolean}))}));return t?{initialValue:n,params:t}:null},binding:{reader:()=>Hg,constraint:n=>
4Gg(n.params,n.initialValue),equals:Wt.equals,writer:()=>Wg},controller:n=>{var e,t;const i=n.document,r=n.value,s=n.constraint,o=[n.params.x,n.params.y];return new Kg(i,{axes:r.rawValue.getComponents().map((a,l)=>{var c;return Ea({constraint:s.components[l],initialValue:a,params:gn(n.params,(c=o[l])!==null&&c!==void 0?c:{})})}),expanded:(e=n.params.expanded)!==null&&e!==void 0?e:!1,invertsY:Xg(n.params),max:Yg(n.params,r.rawValue),parser:Lt,pickerLayout:(t=n.params.picker)!==null&&t!==void 0?t:"popup",value:r,viewProps:n.viewProps})}});class Wn{constructor(e=0,t=0,i=0){this.x=e,this.y=t,this.z=i}getComponents(){return[this.x,this.y,this.z]}static isObject(e){if(ve(e))return!1;const t=e.x,i=e.y,r=e.z;return!(typeof t!="number"||typeof i!="number"||typeof r!="number")}static equals(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z}toObject(){return{x:this.x,y:this.y,z:this.z}}}const id={toComponents:n=>n.getComponents(),fromComponents:n=>new Wn(...n)};function Qg(n){return Wn.isObject(n)?new Wn(n.x,n.y,n.z):new Wn}function Jg(n,e){n.writeProperty("x",e.x),n.writeProperty("y",e.y),n.writeProperty("z",e.z)}function e0(n,e){return new Ua({assembly:id,components:[kt(Object.assign(Object.assign({},n),n.x),e.x),kt(Object.assign(Object.assign({},n),n.y),e.y),kt(Object.assign(Object.assign({},n),n.z),e.z)]})}const t0=He({id:"input-point3d",type:"input",accept:(n,e)=>{if(!Wn.isObject(n))return null;const t=ye(e,i=>Object.assign(Object.assign({},Oi(i)),{readonly:i.optional.constant(!1),x:i.optional.custom(qt),y:i.optional.custom(qt),z:i.optional.custom(qt)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>Qg,constraint:n=>e0(n.params,n.initialValue),equals:Wn.equals,writer:n=>Jg},controller:n=>{const e=n.value,t=n.constraint,i=[n.params.x,n.params.y,n.params.z];return new qa(n.document,{assembly:id,axes:e.rawValue.getComponents().map((r,s)=>{var o;return Ea({constraint:t.components[s],initialValue:r,params:gn(n.params,(o=i[s])!==null&&o!==void 0?o:{})})}),parser:Lt,value:e,viewProps:n.viewProps})}});class Gn{constructor(e=0,t=0,i=0,r=0){this.x=e,this.y=t,this.z=i,this.w=r}getComponents(){return[this.x,this.y,this.z,this.w]}static isObject(e){if(ve(e))return!1;const t=e.x,i=e.y,r=e.z,s=e.w;return!(typeof t!="number"||typeof i!="number"||typeof r!="number"||typeof s!="number")}static equals(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w}toObject(){return{x:this.x,y:this.y,z:this.z,w:this.w}}}const rd={toComponents:n=>n.getComponents(),fromComponents:n=>new Gn(...n)};function n0(n){return Gn.isObject(n)?new Gn(n.x,n.y,n.z,n.w):new Gn}function i0(n,e){n.writeProperty("x",e.x),n.writeProperty("y",e.y),n.writeProperty("z",e.z),n.writeProperty("w",e.w)}function r0(n,e){return new Ua({assembly:rd,components:[kt(Object.assign(Object.assign({},n),n.x),e.x),kt(Object.assign(Object.assign({},n),n.y),e.y),kt(Object.assign(Object.assign({},n),n.z),e.z),kt(Object.assign(Object.assign({},n),n.w),e.w)]})}const s0=He({id:"input-point4d",type:"input",accept:(n,e)=>{if(!Gn.isObject(n))return null;const t=ye(e,i=>Object.assign(Object.assign({},Oi(i)),{readonly:i.optional.constant(!1),w:i.optional.custom(qt),x:i.optional.custom(qt),y:i.optional.custom(qt),z:i.optional.custom(qt)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>n0,constraint:n=>r0(n.params,n.initialValue),equals:Gn.equals,writer:n=>i0},controller:n=>{const e=n.value,t=n.constraint,i=[n.params.x,n.params.y,n.params.z,n.params.w];return new qa(n.document,{assembly:rd,axes:e.rawValue.getComponents().map((r,s)=>{var o;return Ea({constraint:t.components[s],initialValue:r,params:gn(n.params,(o=i[s])!==null&&o!==void 0?o:{})})}),parser:Lt,value:e,viewProps:n.viewProps})}});function o0(n){const e=[],t=Na(n.options);return t&&e.push(t),new Nr(e)}const a0=He({id:"input-string",type:"input",accept:(n,e)=>{if(typeof n!="string")return null;const t=ye(e,i=>({readonly:i.optional.constant(!1),options:i.optional.custom(Fr)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>Ah,constraint:n=>o0(n.params),writer:n=>Rr},controller:n=>{const e=n.document,t=n.value,i=n.constraint,r=i&&_s(i,Or);return r?new Zt(e,{props:new q({options:r.values.value("options")}),value:t,viewProps:n.viewProps}):new Ti(e,{parser:s=>s,props:q.fromObject({formatter:jo}),value:t,viewProps:n.viewProps})},api(n){return typeof n.controller.value.rawValue!="string"?null:n.controller.valueController instanceof Zt?new Da(n.controller):null}}),Ir={monitor:{defaultInterval:200,defaultRows:3}},vc=X("mll");class l0{constructor(e,t){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=t.formatter,this.element=e.createElement("div"),this.element.classList.add(vc()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("textarea");i.classList.add(vc("i")),i.style.height=`calc(var(${Dh("containerUnitSize")}) * ${t.rows})`,i.readOnly=!0,t.viewProps.bindDisabled(i),this.element.appendChild(i),this.textareaElem_=i,t.value.emitter.on("change",this.onValueUpdate_),this.value=t.value,this.update_()}update_(){const e=this.textareaElem_,t=e.scrollTop===e.scrollHeight-e.clientHeight,i=[];this.value.rawValue.forEach(r=>{r!==void 0&&i.push(this.formatter_(r))}),e.textContent=i.join(` 5`),t&&(e.scrollTop=e.scrollHeight)}onValueUpdate_(){this.update_()}}class Ka{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new l0(e,{formatter:t.formatter,rows:t.rows,value:this.value,viewProps:this.viewProps})}}const mc=X("sgl");class c0{constructor(e,t){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=t.formatter,this.element=e.createElement("div"),this.element.classList.add(mc()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("input");i.classList.add(mc("i")),i.readOnly=!0,i.type="text",t.viewProps.bindDisabled(i),this.element.appendChild(i),this.inputElement=i,t.value.emitter.on("change",this.onValueUpdate_),this.value=t.value,this.update_()}update_(){const e=this.value.rawValue,t=e[e.length-1];this.inputElement.value=t!==void 0?this.formatter_(t):""}onValueUpdate_(){this.update_()}}class Ha{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new c0(e,{formatter:t.formatter,value:this.value,viewProps:this.viewProps})}}const u0=He({id:"monitor-bool",type:"monitor",accept:(n,e)=>{if(typeof n!="boolean")return null;const t=ye(e,i=>({readonly:i.required.constant(!0),rows:i.optional.number}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>Lh},controller:n=>{var e;return n.value.rawValue.length===1?new Ha(n.document,{formatter:ac,value:n.value,viewProps:n.viewProps}):new Ka(n.document,{formatter:ac,rows:(e=n.params.rows)!==null&&e!==void 0?e:Ir.monitor.defaultRows,value:n.value,viewProps:n.viewProps})}});class h0 extends Di{get max(){return this.controller.valueController.props.get("max")}
5set max(e){this.controller.valueController.props.set("max",e)}get min(){return this.controller.valueController.props.get("min")}set min(e){this.controller.valueController.props.set("min",e)}}const Rt=X("grl");class d0{constructor(e,t){this.onCursorChange_=this.onCursorChange_.bind(this),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.element=e.createElement("div"),this.element.classList.add(Rt()),t.viewProps.bindClassModifiers(this.element),this.formatter_=t.formatter,this.props_=t.props,this.cursor_=t.cursor,this.cursor_.emitter.on("change",this.onCursorChange_);const i=e.createElementNS(mt,"svg");i.classList.add(Rt("g")),i.style.height=`calc(var(${Dh("containerUnitSize")}) * ${t.rows})`,this.element.appendChild(i),this.svgElem_=i;const r=e.createElementNS(mt,"polyline");this.svgElem_.appendChild(r),this.lineElem_=r;const s=e.createElement("div");s.classList.add(Rt("t"),X("tt")()),this.element.appendChild(s),this.tooltipElem_=s,t.value.emitter.on("change",this.onValueUpdate_),this.value=t.value,this.update_()}get graphElement(){return this.svgElem_}update_(){const{clientWidth:e,clientHeight:t}=this.element,i=this.value.rawValue.length-1,r=this.props_.get("min"),s=this.props_.get("max"),o=[];this.value.rawValue.forEach((h,p)=>{if(h===void 0)return;const v=ae(p,0,i,0,e),m=ae(h,r,s,t,0);o.push([v,m].join(","))}),this.lineElem_.setAttributeNS(null,"points",o.join(" "));const a=this.tooltipElem_,l=this.value.rawValue[this.cursor_.rawValue];if(l===void 0){a.classList.remove(Rt("t","a"));return}const c=ae(this.cursor_.rawValue,0,i,0,e),u=ae(l,r,s,t,0);a.style.left=`${c}px`,a.style.top=`${u}px`,a.textContent=`${this.formatter_(l)}`,a.classList.contains(Rt("t","a"))||(a.classList.add(Rt("t","a"),Rt("t","in")),bs(a),a.classList.remove(Rt("t","in")))}onValueUpdate_(){this.update_()}onCursorChange_(){this.update_()}}class sd{constructor(e,t){if(this.onGraphMouseMove_=this.onGraphMouseMove_.bind(this),this.onGraphMouseLeave_=this.onGraphMouseLeave_.bind(this),this.onGraphPointerDown_=this.onGraphPointerDown_.bind(this),this.onGraphPointerMove_=this.onGraphPointerMove_.bind(this),this.onGraphPointerUp_=this.onGraphPointerUp_.bind(this),this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.cursor_=Ce(-1),this.view=new d0(e,{cursor:this.cursor_,formatter:t.formatter,rows:t.rows,props:this.props,value:this.value,viewProps:this.viewProps}),!ka(e))this.view.element.addEventListener("mousemove",this.onGraphMouseMove_),this.view.element.addEventListener("mouseleave",this.onGraphMouseLeave_);else{const i=new An(this.view.element);i.emitter.on("down",this.onGraphPointerDown_),i.emitter.on("move",this.onGraphPointerMove_),i.emitter.on("up",this.onGraphPointerUp_)}}importProps(e){return Ze(e,null,t=>({max:t.required.number,min:t.required.number}),t=>(this.props.set("max",t.max),this.props.set("min",t.min),!0))}exportProps(){return Qe(null,{max:this.props.get("max"),min:this.props.get("min")})}onGraphMouseLeave_(){this.cursor_.rawValue=-1}onGraphMouseMove_(e){const{clientWidth:t}=this.view.element;this.cursor_.rawValue=Math.floor(ae(e.offsetX,0,t,0,this.value.rawValue.length))}onGraphPointerDown_(e){this.onGraphPointerMove_(e)}onGraphPointerMove_(e){if(!e.data.point){this.cursor_.rawValue=-1;return}this.cursor_.rawValue=Math.floor(ae(e.data.point.x,0,e.data.bounds.width,0,this.value.rawValue.length))}onGraphPointerUp_(){this.cursor_.rawValue=-1}}function Io(n){return ve(n.format)?Ge(2):n.format}function p0(n){var e;return n.value.rawValue.length===1?new Ha(n.document,{formatter:Io(n.params),value:n.value,viewProps:n.viewProps}):new Ka(n.document,{formatter:Io(n.params),rows:(e=n.params.rows)!==null&&e!==void 0?e:Ir.monitor.defaultRows,value:n.value,viewProps:n.viewProps})}function v0(n){var e,t,i;return new sd(n.document,{formatter:Io(n.params),rows:(e=n.params.rows)!==null&&e!==void 0?e:Ir.monitor.defaultRows,props:q.fromObject({max:(t=n.params.max)!==null&&t!==void 0?t:100,min:(i=n.params.min)!==null&&i!==void 0?i:0}),value:n.value,viewProps:n.viewProps})}function fc(n){return n.view==="graph"}const m0=He({id:"monitor-number",type:"monitor",accept:(n,e)=>{if(typeof n!="number")return null;const t=ye(e,i=>({format:i.optional.function,max:i.optional.number,min:i.optional.number,readonly:i.required.constant(!0),rows:i.optional.number,view:i.optional.string}));return t?{initialValue:n,params:t}:null},binding:{defaultBufferSize:n=>fc(n)?64:1,reader:n=>lh},controller:n=>fc(n.params)?v0(n):p0(n),api:n=>n.controller.valueController instanceof sd?new h0(n.controller):null}),f0=He({id:"monitor-string",type:"monitor",accept:(n,e)=>
5{if(typeof n!="string")return null;const t=ye(e,i=>({multiline:i.optional.boolean,readonly:i.required.constant(!0),rows:i.optional.number}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>Ah},controller:n=>{var e;const t=n.value;return t.rawValue.length>1||n.params.multiline?new Ka(n.document,{formatter:jo,rows:(e=n.params.rows)!==null&&e!==void 0?e:Ir.monitor.defaultRows,value:t,viewProps:n.viewProps}):new Ha(n.document,{formatter:jo,value:t,viewProps:n.viewProps})}});class b0{constructor(){this.map_=new Map}get(e){var t;return(t=this.map_.get(e))!==null&&t!==void 0?t:null}has(e){return this.map_.has(e)}add(e,t){return this.map_.set(e,t),e.viewProps.handleDispose(()=>{this.map_.delete(e)}),t}}class _0{constructor(e){this.target=e.target,this.reader_=e.reader,this.writer_=e.writer}read(){return this.reader_(this.target.read())}write(e){this.writer_(this.target,e)}inject(e){this.write(this.reader_(e))}}function w0(n,e){var t;const i=n.accept(e.target.read(),e.params);if(ve(i))return null;const r={target:e.target,initialValue:i.initialValue,params:i.params},s=ye(e.params,h=>({disabled:h.optional.boolean,hidden:h.optional.boolean,label:h.optional.string,tag:h.optional.string})),o=n.binding.reader(r),a=n.binding.constraint?n.binding.constraint(r):void 0,l=new _0({reader:o,target:e.target,writer:n.binding.writer(r)}),c=new n_(Ce(o(i.initialValue),{constraint:a,equals:n.binding.equals}),l),u=n.controller({constraint:a,document:e.document,initialValue:i.initialValue,params:i.params,value:c,viewProps:$t.create({disabled:s==null?void 0:s.disabled,hidden:s==null?void 0:s.hidden})});return new b_(e.document,{blade:ci(),props:q.fromObject({label:"label"in e.params?(t=s==null?void 0:s.label)!==null&&t!==void 0?t:null:e.target.key}),tag:s==null?void 0:s.tag,value:c,valueController:u})}class g0{constructor(e){this.target=e.target,this.reader_=e.reader}read(){return this.reader_(this.target.read())}}function C0(n,e){return e===0?new J_:new ew(n,e??Ir.monitor.defaultInterval)}function y0(n,e){var t,i,r;const s=n.accept(e.target.read(),e.params);if(ve(s))return null;const o={target:e.target,initialValue:s.initialValue,params:s.params},a=ye(e.params,p=>({bufferSize:p.optional.number,disabled:p.optional.boolean,hidden:p.optional.boolean,interval:p.optional.number,label:p.optional.string})),l=n.binding.reader(o),c=(i=(t=a==null?void 0:a.bufferSize)!==null&&t!==void 0?t:n.binding.defaultBufferSize&&n.binding.defaultBufferSize(s.params))!==null&&i!==void 0?i:1,u=new y_({binding:new g0({reader:l,target:e.target}),bufferSize:c,ticker:C0(e.document,a==null?void 0:a.interval)}),h=n.controller({document:e.document,params:s.params,value:u,viewProps:$t.create({disabled:a==null?void 0:a.disabled,hidden:a==null?void 0:a.hidden})});return h.viewProps.bindDisabled(u.ticker),h.viewProps.handleDispose(()=>{u.ticker.dispose()}),new P_(e.document,{blade:ci(),props:q.fromObject({label:"label"in e.params?(r=a==null?void 0:a.label)!==null&&r!==void 0?r:null:e.target.key}),value:u,valueController:h})}class x0{constructor(e){this.pluginsMap_={blades:[],inputs:[],monitors:[]},this.apiCache_=e}getAll(){return[...this.pluginsMap_.blades,...this.pluginsMap_.inputs,...this.pluginsMap_.monitors]}register(e,t){if(!pw(t.core))throw xe.notCompatible(e,t.id);t.type==="blade"?this.pluginsMap_.blades.unshift(t):t.type==="input"?this.pluginsMap_.inputs.unshift(t):t.type==="monitor"&&this.pluginsMap_.monitors.unshift(t)}createInput_(e,t,i){return this.pluginsMap_.inputs.reduce((r,s)=>r??w0(s,{document:e,target:t,params:i}),null)}createMonitor_(e,t,i){return this.pluginsMap_.monitors.reduce((r,s)=>r??y0(s,{document:e,params:i,target:t}),null)}createBinding(e,t,i){const r=t.read();if(ve(r))throw new xe({context:{key:t.key},type:"nomatchingcontroller"});const s=this.createInput_(e,t,i);if(s)return s;const o=this.createMonitor_(e,t,i);if(o)return o;throw new xe({context:{key:t.key},type:"nomatchingcontroller"})}createBlade(e,t){const i=this.pluginsMap_.blades.reduce((r,s)=>r??Q_(s,{document:e,params:t}),null);if(!i)throw new xe({type:"nomatchingview",context:{params:t}});return i}
5createInputBindingApi_(e){const t=this.pluginsMap_.inputs.reduce((i,r)=>{var s,o;return i||((o=(s=r.api)===null||s===void 0?void 0:s.call(r,{controller:e}))!==null&&o!==void 0?o:null)},null);return this.apiCache_.add(e,t??new Di(e))}createMonitorBindingApi_(e){const t=this.pluginsMap_.monitors.reduce((i,r)=>{var s,o;return i||((o=(s=r.api)===null||s===void 0?void 0:s.call(r,{controller:e}))!==null&&o!==void 0?o:null)},null);return this.apiCache_.add(e,t??new Di(e))}createBindingApi(e){if(this.apiCache_.has(e))return this.apiCache_.get(e);if(__(e))return this.createInputBindingApi_(e);if(E_(e))return this.createMonitorBindingApi_(e);throw xe.shouldNeverHappen()}createApi(e){if(this.apiCache_.has(e))return this.apiCache_.get(e);if(f_(e))return this.createBindingApi(e);const t=this.pluginsMap_.blades.reduce((i,r)=>i??r.api({controller:e,pool:this}),null);if(!t)throw xe.shouldNeverHappen();return this.apiCache_.add(e,t)}}const P0=new b0;function E0(){const n=new x0(P0);return[Zg,t0,s0,a0,Ig,Og,Ng,Ag,bw,u0,f0,m0,A_,U_,Sh].forEac
5h(e=>{n.register("core",e)}),n}class k0 extends Ln{constructor(e){super(e),this.emitter_=new Ae,this.controller.value.emitter.on("change",t=>{this.emitter_.emit("change",new Dr(this,t.rawValue))})}get label(){return this.controller.labelController.props.get("label")}set label(e){this.controller.labelController.props.set("label",e)}get options(){return this.controller.valueController.props.get("options")}set options(e){this.controller.valueController.props.set("options",e)}get value(){return this.controller.value.rawValue}set value(e){this.controller.value.rawValue=e}on(e,t){const i=t.bind(this);return this.emitter_.on(e,r=>{i(r)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}}class S0 extends Ln{}class V0 extends Ln{constructor(e){super(e),this.emitter_=new Ae,this.controller.value.emitter.on("change",t=>{this.emitter_.emit("change",new Dr(this,t.rawValue))})}get label(){return this.controller.labelController.props.get("label")}set label(e){this.controller.labelController.props.set("label",e)}get max(){return this.controller.valueController.sliderController.props.get("max")}set max(e){this.controller.valueController.sliderController.props.set("max",e)}get min(){return this.controller.valueController.sliderController.props.get("min")}set min(e){this.controller.valueController.sliderController.props.set("min",e)}get value(){return this.controller.value.rawValue}set value(e){this.controller.value.rawValue=e}on(e,t){const i=t.bind(this);return this.emitter_.on(e,r=>{i(r)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}}class L0 extends Ln{constructor(e){super(e),this.emitter_=new Ae,this.controller.value.emitter.on("change",t=>{this.emitter_.emit("change",new Dr(this,t.rawValue))})}get label(){return this.controller.labelController.props.get("label")}set label(e){this.controller.labelController.props.set("label",e)}get formatter(){return this.controller.valueController.props.get("formatter")}set formatter(e){this.controller.valueController.props.set("formatter",e)}get value(){return this.controller.value.rawValue}set value(e){this.controller.value.rawValue=e}on(e,t){const i=t.bind(this);return this.emitter_.on(e,r=>{i(r)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}}const A0=function(){return{id:"list",type:"blade",core:li,accept(n){const e=ye(n,t=>({options:t.required.custom(Fr),value:t.required.raw,view:t.required.constant("list"),label:t.optional.string}));return e?{params:e}:null},controller(n){const e=new Or(Ta(n.params.options)),t=Ce(n.params.value,{constraint:e}),i=new Zt(n.document,{props:new q({options:e.values.value("options")}),value:t,viewProps:n.viewProps});return new Cn(n.document,{blade:n.blade,props:q.fromObject({label:n.params.label}),value:t,valueController:i})},api(n){return!(n.controller instanceof Cn)||!(n.controller.valueController instanceof Zt)?null:new k0(n.controller)}}}();class M0 extends Eh{constructor(e,t){super(e,t)}get element(){return this.controller.view.element}}class $0 extends Bo{constructor(e,t){super(e,{expanded:t.expanded,blade:t.blade,props:t.props,root:!0,viewProps:t.viewProps})}}const bc=X("spr");class D0{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(bc()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("hr");i.classList.add(bc("r")),this.element.appendChild(i)}}class _c extends Bs{constructor(e,t){super(Object.assign(Object.assign({},t),{view:new D0(e,{viewProps:t.viewProps})}))}}const T0={id:"separator",type:"blade",core:li,accept(n){const e=ye(n,t=>({view:t.required.constant("separator")}));return e?{params:e}:null},controller(n){return new _c(n.document,{blade:n.blade,viewProps:n.viewProps})},api(n){return n.controller instanceof _c?new S0(n.controller):null}},N0={id:"slider",type:"blade",core:li,accept(n){const e=ye(n,t=>({max:t.required.number,min:t.required.number,view:t.required.constant("slider"),format:t.optional.function,label:t.optional.string,value:t.optional.number}));return e?{params:e}:null},controller(n){var e,t;const i=(e=n.params.value)!==null&&e!==void 0?e:0,r=new $r({max:n.params.max,min:n.params.min}),s=Ce(i,{constraint:r}),o=new gs(n.document,Object.assign(Object.assign({},$h({formatter:(t=n.params.format)!==null&&t!==void 0?t:Zb,keyScale:Ce(1),max:r.values.value("max"),min:r.values.value("min"),pointerScale:hh(n.params,i)})),{parser:Lt,value:s,viewProps:n.viewProps}));return new Cn(n.document,{blade:n.blade,props:q.fromObject({label:n.params.label}),value:s,valueController:o})},api(n){return!(n.controller instanceof Cn)||!(n.controller.valueController instanceof gs)?null:new V0(n.controller)}},O0=function(){return{id:"text",type:"blade",core:li,accept(n){const e=ye(n,t=>({parse:t.required.function,value:t.required.raw,view:t.required.constant("text"),format:t.optional.function,label:t.optional.string}));return e?{params:e}:null},controller(n){var e;const t=Ce(n.params.value),i=new Ti(n.document,{parser:n.params.parse,props:q.fromObject({formatter:(e=n.params.format)!==null&&e!==void 0?e:r=>String(r)}),value:t,viewProps:n.viewProps});return new Cn(n.document,{blade:n.blade,props:q.fromObject({label:n.params.label}),value:t,valueController:i})},api(n){return!(n.controller instanceof Cn)||!(n.controller.valueController instanceof Ti)?null:new L0(n.controller)}}}();function F0(n){const e=n.createElement("div");return e.classList.add(X("dfw")()),n.body&&n.body.appendChild(e),e}function B0(n,e,t){if(n.querySelector(`style[data-tp-style=${e}]`))return;const i=n.createElement("style");i.dataset.tpStyle=e,i.textContent=t,n.head.appendChild(i)}let R0=class extends M0{constructor(e){var t,i;const r=e??{},s=(t=r.document)!==null&&t!==void 0?t:c_(),o=E0(),a=new $0(s,{expanded:r.expanded,blade:ci(),props:q.fromObject({title:r.title}),viewProps:$t.create()});super(a,o),this.pool_=o,this.containerElem_=(i=r.container)!==null&&i!==void 0?i:F0(s),this.containerElem_.appendChild(this.element),this.doc_=s,this.usesDefaultWrapper_=!r.container,this.setUpDefaultPlugins_()}get document(){if(!this.doc_)throw xe.alreadyDisposed();return this.doc_}dispose(){const e=this.containerElem_;if(!e)throw xe.alreadyDisposed();if(this.usesDefaultWrapper_){const t=e.parentElement;t&&t.removeChild(e)}this.containerElem_=null,this.doc_=null,super.dispose()}registerPlugin(e){e.css&&B0(this.document,`plugin-${e.id}`,e.css),("plugin"in e?[e.plugin]:"plugins"in e?e.plugins:[]).forEac
5h(i=>{this.pool_.register(e.id,i)})}setUpDefaultPlugins_(){this.registerPlugin({id:"default",css:
vendor: 24,462 bytes, line 5
5'.tp-tbiv_b,.tp-coltxtv_ms,.tp-colswv_b,.tp-ckbv_i,.tp-sglv_i,.tp-mllv_i,.tp-grlv_g,.tp-txtv_i,.tp-p2dpv_p,.tp-colswv_sw,.tp-rotv_b,.tp-fldv_b,.tp-p2dv_b,.tp-btnv_b,.tp-lstv_s{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;outline:none;padding:0}.tp-p2dv_b,.tp-btnv_b,.tp-lstv_s{background-color:var(--btn-bg);border-radius:var(--bld-br);color:var(--btn-fg);cursor:pointer;display:block;font-weight:bold;height:var(--cnt-usz);line-height:var(--cnt-usz);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-p2dv_b:hover,.tp-btnv_b:hover,.tp-lstv_s:hover{background-color:var(--btn-bg-h)}.tp-p2dv_b:focus,.tp-btnv_b:focus,.tp-lstv_s:focus{background-color:var(--btn-bg-f)}.tp-p2dv_b:active,.tp-btnv_b:active,.tp-lstv_s:active{background-color:var(--btn-bg-a)}.tp-p2dv_b:disabled,.tp-btnv_b:disabled,.tp-lstv_s:disabled{opacity:.5}.tp-rotv_c>.tp-cntv.tp-v-lst,.tp-tbpv_c>.tp-cntv.tp-v-lst,.tp-fldv_c>.tp-cntv.tp-v-lst{margin-bottom:calc(-1*var(--cnt-vp))}.tp-rotv_c>.tp-fldv.tp-v-lst .tp-fldv_c,.tp-tbpv_c>.tp-fldv.tp-v-lst .tp-fldv_c,.tp-fldv_c>.tp-fldv.tp-v-lst .tp-fldv_c{border-bottom-left-radius:0}.tp-rotv_c>.tp-fldv.tp-v-lst .tp-fldv_b,.tp-tbpv_c>.tp-fldv.tp-v-lst .tp-fldv_b,.tp-fldv_c>.tp-fldv.tp-v-lst .tp-fldv_b{border-bottom-left-radius:0}.tp-rotv_c>*:not(.tp-v-fst),.tp-tbpv_c>*:not(.tp-v-fst),.tp-fldv_c>*:not(.tp-v-fst){margin-top:var(--cnt-usp)}.tp-rotv_c>.tp-sprv:not(.tp-v-fst),.tp-tbpv_c>.tp-sprv:not(.tp-v-fst),.tp-fldv_c>.tp-sprv:not(.tp-v-fst),.tp-rotv_c>.tp-cntv:not(.tp-v-fst),.tp-tbpv_c>.tp-cntv:not(.tp-v-fst),.tp-fldv_c>.tp-cntv:not(.tp-v-fst){margin-top:var(--cnt-vp)}.tp-rotv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-tbpv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-fldv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-rotv_c>.tp-cntv+*:not(.tp-v-hidden),.tp-tbpv_c>.tp-cntv+*:not(.tp-v-hidden),.tp-fldv_c>.tp-cntv+*:not(.tp-v-hidden){margin-top:var(--cnt-vp)}.tp-rotv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-tbpv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-fldv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-rotv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv,.tp-tbpv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv,.tp-fldv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv{margin-top:0}.tp-tbpv_c>.tp-cntv,.tp-fldv_c>.tp-cntv{margin-left:4px}.tp-tbpv_c>.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-fldv>.tp-fldv_b{border-top-left-radius:var(--bld-br);border-bottom-left-radius:var(--bld-br)}.tp-tbpv_c>.tp-fldv.tp-fldv-expanded>.tp-fldv_b,.tp-fldv_c>.tp-fldv.tp-fldv-expanded>.tp-fldv_b{border-bottom-left-radius:0}.tp-tbpv_c .tp-fldv>.tp-fldv_c,.tp-fldv_c .tp-fldv>.tp-fldv_c{border-bottom-left-radius:var(--bld-br)}.tp-tbpv_c>.tp-cntv+.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-cntv+.tp-fldv>.tp-fldv_b{border-top-left-radius:0}.tp-tbpv_c>.tp-cntv+.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-cntv+.tp-tabv>.tp-tabv_t{border-top-left-radius:0}.tp-tbpv_c>.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-tabv>.tp-tabv_t{border-top-left-radius:var(--bld-br)}.tp-tbpv_c .tp-tabv>.tp-tabv_c,.tp-fldv_c .tp-tabv>.tp-tabv_c{border-bottom-left-radius:var(--bld-br)}.tp-rotv_b,.tp-fldv_b{background-color:var(--cnt-bg);color:var(--cnt-fg);cursor:pointer;display:block;height:calc(var(--cnt-usz) + 4px);line-height:calc(var(--cnt-usz) + 4px);overflow:hidden;padding-left:var(--cnt-hp);padding-right:calc(4px + var(--cnt-usz) + var(--cnt-hp));position:relative;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;transition:border-radius .2s ease-in-out .2s}.tp-rotv_b:hover,.tp-fldv_b:hover{background-color:var(--cnt-bg-h)}.tp-rotv_b:focus,.tp-fldv_b:focus{background-color:var(--cnt-bg-f)}.tp-rotv_b:active,.tp-fldv_b:active{background-color:var(--cnt-bg-a)}.tp-rotv_b:disabled,.tp-fldv_b:disabled{opacity:.5}.tp-rotv_m,.tp-fldv_m{background:linear-gradient(to left, var(--cnt-fg), var(--cnt-fg) 2px, transparent 2px, transparent 4px, var(--cnt-fg) 4px);border-radius:2px;bottom:0;content:"";display:block;height:6px;right:calc(var(--cnt-hp) + (var(--cnt-usz) + 4px - 6px)/2 - 2px);margin:auto;opacity:.5;position:absolute;top:0;transform:rotate(90deg);transition:transform .2s ease-in-out;width:6px}.tp-rotv.tp-rotv-expanded .tp-rotv_m,.tp-fldv.tp-fldv-expanded>.tp-fldv_b>.tp-fldv_m{transform:none}.tp-rotv_c,.tp-fldv_c{box-sizing:border-box;height:0;opacity:0;overflow:hidden;padding-bottom:0;padding-top:0;position:relative;transition:height .2s ease-in-out,opacity .2s linear,padding .2s ease-in-out}.tp-rotv.tp-rotv-cpl:not(.tp-rotv-expanded) .tp-rotv_c,.tp-fldv.tp-fldv-cpl:not(.tp-fldv-expanded)>.tp-fldv_c{display:none}.tp-rotv.tp-rotv-expanded .tp-rotv_c,.tp-fldv.tp-fldv-expanded>.tp-fldv_c{opacity:1;padding-bottom:var(--cnt-vp);padding-top:var(--cnt-vp);transform:none;overflow:visible;transition:height .2s ease-in-out,opacity .2s linear .2s,padding .2s ease-in-out}.tp-txtv_i,.tp-p2dpv_p,.tp-colswv_sw{background-color:var(--in-bg);border-radius:var(--bld-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--cnt-usz);line-height:var(--cnt-usz);min-width:0;width:100%}.tp-txtv_i:hover,.tp-p2dpv_p:hover,.tp-colswv_sw:hover{background-color:var(--in-bg-h)}.tp-txtv_i:focus,.tp-p2dpv_p:focus,.tp-colswv_sw:focus{background-color:var(--in-bg-f)}.tp-txtv_i:active,.tp-p2dpv_p:active,.tp-colswv_sw:active{background-color:var(--in-bg-a)}.tp-txtv_i:disabled,.tp-p2dpv_p:disabled,.tp-colswv_sw:disabled{opacity:.5}.tp-lstv,.tp-coltxtv_m{position:relative}.tp-lstv_s{padding:0 20px 0 4px;width:100%}.tp-lstv_m,.tp-coltxtv_mm{bottom:0;margin:auto;pointer-events:none;position:absolute;right:2px;top:0}.tp-lstv_m svg,.tp-coltxtv_mm svg{bottom:0;height:16px;margin:auto;position:absolute;right:0;top:0;width:16px}.tp-lstv_m svg path,.tp-coltxtv_mm svg path{fill:currentColor}.tp-sglv_i,.tp-mllv_i,.tp-grlv_g{background-color:var(--mo-bg);border-radius:var(--bld-br);box-sizing:border-box;color:var(--mo-fg);height:var(--cnt-usz);scrollbar-color:currentColor rgba(0,0,0,0);scrollbar-width:thin;width:100%}.tp-sglv_i::-webkit-scrollbar,.tp-mllv_i::-webkit-scrollbar,.tp-grlv_g::-webkit-scrollbar{height:8px;width:8px}.tp-sglv_i::-webkit-scrollbar-corner,.tp-mllv_i::-webkit-scrollbar-corner,.tp-grlv_g::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.tp-sglv_i::-webkit-scrollbar-thumb,.tp-mllv_i::-webkit-scrollbar-thumb,.tp-grlv_g::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:currentColor;border:rgba(0,0,0,0) solid 2px;border-radius:4px}.tp-pndtxtv,.tp-coltxtv_w{display:flex}.tp-pndtxtv_a,.tp-coltxtv_c{width:100%}.tp-pndtxtv_a+.tp-pndtxtv_a,.tp-coltxtv_c+.tp-pndtxtv_a,.tp-pndtxtv_a+.tp-coltxtv_c,.tp-coltxtv_c+.tp-coltxtv_c{margin-left:2px}.tp-rotv{--bs-bg: var(--tp-base-background-color, hsl(230, 7%, 17%));--bs-br: var(--tp-base-border-radius, 6px);--bs-ff: var(--tp-base-font-family, Roboto Mono, Source Code Pro, Menlo, Courier, monospace);--bs-sh: var(--tp-base-shadow-color, rgba(0, 0, 0, 0.2));--bld-br: var(--tp-blade-border-radius, 2px);--bld-hp: var(--tp-blade-horizontal-padding, 4px);--bld-vw: var(--tp-blade-value-width, 160px);--btn-bg: var(--tp-button-background-color, hsl(230, 7%, 70%));--btn-bg-a: var(--tp-button-background-color-active, #d6d7db);--btn-bg-f: var(--tp-button-background-color-focus, #c8cad0);--btn-bg-h: var(--tp-button-background-color-hover, #bbbcc4);--btn-fg: var(--tp-button-foreground-color, hsl(230, 7%, 17%));--cnt-bg: var(--tp-container-background-color, rgba(187, 188, 196, 0.1));--cnt-bg-a: var(--tp-container-background-color-active, rgba(187, 188, 196, 0.25));--cnt-bg-f: var(--tp-container-background-color-focus, rgba(187, 188, 196, 0.2));--cnt-bg-h: var(--tp-container-background-color-hover, rgba(187, 188, 196, 0.15));--cnt-fg: var(--tp-container-foreground-color, hsl(230, 7%, 75%));--cnt-hp: var(--tp-container-horizontal-padding, 4px);--cnt-vp: var(--tp-container-vertical-padding, 4px);--cnt-usp: var(--tp-container-unit-spacing, 4px);--cnt-usz: var(--tp-container-unit-size, 20px);--in-bg: var(--tp-input-background-color, rgba(187, 188, 196, 0.1));--in-bg-a: var(--tp-input-background-color-active, rgba(187, 188, 196, 0.25));--in-bg-f: var(--tp-input-background-color-focus, rgba(187, 188, 196, 0.2));--in-bg-h: var(--tp-input-background-color-hover, rgba(187, 188, 196, 0.15));--in-fg: var(--tp-input-foreground-color, hsl(230, 7%, 75%));--lbl-fg: var(--tp-label-foreground-color, rgba(187, 188, 196, 0.7));--mo-bg: var(--tp-monitor-background-color, rgba(0, 0, 0, 0.2));--mo-fg: var(--tp-monitor-foreground-color, rgba(187, 188, 196, 0.7));--grv-fg: var(--tp-groove-foreground-color, rgba(187, 188, 196, 0.1))}.tp-btnv_b{width:100%}.tp-btnv_t{text-align:center}.tp-ckbv_l{display:block;position:relative}.tp-ckbv_i{left:0;opacity:0;position:absolute;top:0}.tp-ckbv_w{background-color:var(--in-bg);border-radius:var(--bld-br);cursor:pointer;display:block;height:var(--cnt-usz);position:relative;width:var(--cnt-usz)}.tp-ckbv_w svg{display:block;height:16px;inset:0;margin:auto;opacity:0;position:absolute;width:16px}.tp-ckbv_w svg path{fill:none;stroke:var(--in-fg);stroke-width:2}.tp-ckbv_i:hover+.tp-ckbv_w{background-color:var(--in-bg-h)}.tp-ckbv_i:focus+.tp-ckbv_w{background-color:var(--in-bg-f)}.tp-ckbv_i:active+.tp-ckbv_w{background-color:var(--in-bg-a)}.tp-ckbv_i:checked+.tp-ckbv_w svg{opacity:1}.tp-ckbv.tp-v-disabled .tp-ckbv_w{opacity:.5}.tp-colv{position:relative}.tp-colv_h{display:flex}.tp-colv_s{flex-grow:0;flex-shrink:0;width:var(--cnt-usz)}.tp-colv_t{flex:1;margin-left:4px}.tp-colv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-colv.tp-colv-expanded.tp-colv-cpl .tp-colv_p{overflow:visible}.tp-colv.tp-colv-expanded .tp-colv_p{margin-top:var(--cnt-usp);opacity:1}.tp-colv .tp-popv{left:calc(-1*var(--cnt-hp));right:calc(-1*var(--cnt-hp));top:var(--cnt-usz)}.tp-colpv_h,.tp-colpv_ap{margin-left:6px;margin-right:6px}.tp-colpv_h{margin-top:var(--cnt-usp)}.tp-colpv_rgb{display:flex;margin-top:var(--cnt-usp);width:100%}.tp-colpv_a{display:flex;margin-top:var(--cnt-vp);padding-top:calc(var(--cnt-vp) + 2px);position:relative}.tp-colpv_a::before{background-color:var(--grv-fg);content:"";height:2px;left:calc(-1*var(--cnt-hp));position:absolute;right:calc(-1*var(--cnt-hp));top:0}.tp-colpv.tp-v-disabled .tp-colpv_a::before{opacity:.5}.tp-colpv_ap{align-items:center;display:flex;flex:3}.tp-colpv_at{flex:1;margin-left:4px}.tp-svpv{border-radius:var(--bld-br);outline:none;overflow:hidden;position:relative}.tp-svpv.tp-v-disabled{opacity:.5}.tp-svpv_c{cursor:crosshair;display:block;height:calc(var(--cnt-usz)*4);width:100%}.tp-svpv_m{border-radius:100%;border:rgba(255,255,255,.75) solid 2px;box-sizing:border-box;filter:drop-shadow(0 0 1px rgba(0, 0, 0, 0.3));height:12px;margin-left:-6px;margin-top:-6px;pointer-events:none;position:absolute;width:12px}.tp-svpv:focus .tp-svpv_m{border-color:#fff}.tp-hplv{cursor:pointer;height:var(--cnt-usz);outline:none;position:relative}.tp-hplv.tp-v-disabled{opacity:.5}.tp-hplv_c{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAABCAYAAABubagXAAAAQ0lEQVQoU2P8z8Dwn0GCgQEDi2OK/RBgYHjBgIpfovFh8j8YBIgzFGQxuqEgPhaDOT5gOhPkdCxOZeBg+IDFZZiGAgCaSSMYtcRHLgAAAABJRU5ErkJggg==);background-position:left top;background-repeat:no-repeat;background-size:100% 100%;border-radius:2px;display:block;height:4px;left:0;margin-top:-2px;position:absolute;top:50%;width:100%}.tp-hplv_m{border-radius:var(--bld-br);border:rgba(255,255,255,.75) solid 2px;box-shadow:0 0 2px rgba(0,0,0,.1);box-sizing:border-box;height:12px;left:50%;margin-left:-6px;margin-top:-6px;position:absolute;top:50%;width:12px}.tp-hplv:focus .tp-hplv_m{border-color:#fff}.tp-aplv{cursor:pointer;height:var(--cnt-usz);outline:none;position:relative;width:100%}.tp-aplv.tp-v-disabled{opacity:.5}.tp-aplv_b{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:4px 4px;background-position:0 0,2px 2px;border-radius:2px;display:block;height:4px;left:0;margin-top:-2px;overflow:hidden;position:absolute;top:50%;width:100%}.tp-aplv_c{inset:0;position:absolute}.tp-aplv_m{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:12px 12px;background-position:0 0,6px 6px;border-radius:var(--bld-br);box-shadow:0 0 2px rgba(0,0,0,.1);height:12px;left:50%;margin-left:-6px;margin-top:-6px;overflow:hidden;position:absolute;top:50%;width:12px}.tp-aplv_p{border-radius:var(--bld-br);border:rgba(255,255,255,.75) solid 2px;box-sizing:border-box;inset:0;position:absolute}.tp-aplv:focus .tp-aplv_p{border-color:#fff}.tp-colswv{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:10px 10px;background-position:0 0,5px 5px;border-radius:var(--bld-br);overflow:hidden}.tp-colswv.tp-v-disabled{opacity:.5}.tp-colswv_sw{border-radius:0}.tp-colswv_b{cursor:pointer;display:block;height:var(--cnt-usz);left:0;position:absolute;top:0;width:var(--cnt-usz)}.tp-colswv_b:focus::after{border:rgba(255,255,255,.75) solid 2px;border-radius:var(--bld-br);content:"";display:block;inset:0;position:absolute}.tp-coltxtv{display:flex;width:100%}.tp-coltxtv_m{margin-right:4px}.tp-coltxtv_ms{border-radius:var(--bld-br);color:var(--lbl-fg);cursor:pointer;height:var(--cnt-usz);line-height:var(--cnt-usz);padding:0 18px 0 4px}.tp-coltxtv_ms:hover{background-color:var(--in-bg-h)}.tp-coltxtv_ms:focus{background-color:var(--in-bg-f)}.tp-coltxtv_ms:active{background-color:var(--in-bg-a)}.tp-coltxtv_mm{color:var(--lbl-fg)}.tp-coltxtv.tp-v-disabled .tp-coltxtv_mm{opacity:.5}.tp-coltxtv_w{flex:1}.tp-dfwv{position:absolute;top:8px;right:8px;width:256px}.tp-fldv{position:relative}.tp-fldv_t{padding-left:4px}.tp-fldv_b:disabled .tp-fldv_m{display:none}.tp-fldv_c{padding-left:4px}.tp-fldv_i{bottom:0;color:var(--cnt-bg);left:0;overflow:hidden;position:absolute;top:calc(var(--cnt-usz) + 4px);width:max(var(--bs-br),4px)}.tp-fldv_i::before{background-color:currentColor;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.tp-fldv_b:hover+.tp-fldv_i{color:var(--cnt-bg-h)}.tp-fldv_b:focus+.tp-fldv_i{color:var(--cnt-bg-f)}.tp-fldv_b:active+.tp-fldv_i{color:var(--cnt-bg-a)}.tp-fldv.tp-v-disabled>.tp-fldv_i{opacity:.5}.tp-grlv{position:relative}.tp-grlv_g{display:block;height:calc(var(--cnt-usz)*3)}.tp-grlv_g polyline{fill:none;stroke:var(--mo-fg);stroke-linejoin:round}.tp-grlv_t{margin-top:-4px;transition:left .05s,top .05s;visibility:hidden}.tp-grlv_t.tp-grlv_t-a{visibility:visible}.tp-grlv_t.tp-grlv_t-in{transition:none}.tp-grlv.tp-v-disabled .tp-grlv_g{opacity:.5}.tp-grlv .tp-ttv{background-color:var(--mo-fg)}.tp-grlv .tp-ttv::before{border-top-color:var(--mo-fg)}.tp-lblv{align-items:center;display:flex;line-height:1.3;padding-left:var(--cnt-hp);padding-right:var(--cnt-hp)}.tp-lblv.tp-lblv-nol{display:block}.tp-lblv_l{color:var(--lbl-fg);flex:1;-webkit-hyphens:auto;hyphens:auto;overflow:hidden;padding-left:4px;padding-right:16px}.tp-lblv.tp-v-disabled .tp-lblv_l{opacity:.5}.tp-lblv.tp-lblv-nol .tp-lblv_l{display:none}.tp-lblv_v{align-self:flex-start;flex-grow:0;flex-shrink:0;width:var(--bld-vw)}.tp-lblv.tp-lblv-nol .tp-lblv_v{width:100%}.tp-lstv_s{padding:0 20px 0 var(--bld-hp);width:100%}.tp-lstv_m{color:var(--btn-fg)}.tp-sglv_i{padding-left:var(--bld-hp);padding-right:var(--bld-hp)}.tp-sglv.tp-v-disabled .tp-sglv_i{opacity:.5}.tp-mllv_i{display:block;height:calc(var(--cnt-usz)*3);line-height:var(--cnt-usz);padding-left:var(--bld-hp);padding-right:var(--bld-hp);resize:none;white-space:pre}.tp-mllv.tp-v-disabled .tp-mllv_i{opacity:.5}.tp-p2dv{position:relative}.tp-p2dv_h{display:flex}.tp-p2dv_b{height:var(--cnt-usz);margin-right:4px;position:relative;width:var(--cnt-usz)}.tp-p2dv_b svg{display:block;height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}.tp-p2dv_b svg path{stroke:currentColor;stroke-width:2}.tp-p2dv_b svg circle{fill:currentColor}.tp-p2dv_t{flex:1}.tp-p2dv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-p2dv.tp-p2dv-expanded .tp-p2dv_p{margin-top:var(--cnt-usp);opacity:1}.tp-p2dv .tp-popv{left:calc(-1*var(--cnt-hp));right:calc(-1*var(--cnt-hp));top:var(--cnt-usz)}.tp-p2dpv{padding-left:calc(var(--cnt-usz) + 4px)}.tp-p2dpv_p{cursor:crosshair;height:0;overflow:hidden;padding-bottom:100%;position:relative}.tp-p2dpv.tp-v-disabled .tp-p2dpv_p{opacity:.5}.tp-p2dpv_g{display:block;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.tp-p2dpv_ax{opacity:.1;stroke:var(--in-fg);stroke-dasharray:1}.tp-p2dpv_l{opacity:.5;stroke:var(--in-fg);stroke-dasharray:1}.tp-p2dpv_m{border:var(--in-fg) solid 1px;border-radius:50%;box-sizing:border-box;height:4px;margin-left:-2px;margin-top:-2px;position:absolute;width:4px}.tp-p2dpv_p:focus .tp-p2dpv_m{background-color:var(--in-fg);border-width:0}.tp-popv{background-color:var(--bs-bg);border-radius:var(--bs-br);box-shadow:0 2px 4px var(--bs-sh);display:none;max-width:var(--bld-vw);padding:var(--cnt-vp) var(--cnt-hp);position:absolute;visibility:hidden;z-index:1000}.tp-popv.tp-popv-v{display:block;visibility:visible}.tp-sldv.tp-v-disabled{opacity:.5}.tp-sldv_t{box-sizing:border-box;cursor:pointer;height:var(--cnt-usz);margin:0 6px;outline:none;position:relative}.tp-sldv_t::before{background-color:var(--in-bg);border-radius:1px;content:"";display:block;height:2px;inset:0;margin:auto;position:absolute}.tp-sldv_k{height:100%;left:0;position:absolute;top:0}.tp-sldv_k::before{background-color:var(--in-fg);border-radius:1px;content:"";display:block;height:2px;inset:0;margin-bottom:auto;margin-top:auto;position:absolute}.tp-sldv_k::after{background-color:var(--btn-bg);border-radius:var(--bld-br);bottom:0;content:"";display:block;height:12px;margin-bottom:auto;margin-top:auto;position:absolute;right:-6px;top:0;width:12px}.tp-sldv_t:hover .tp-sldv_k::after{background-color:var(--btn-bg-h)}.tp-sldv_t:focus .tp-sldv_k::after{background-color:var(--btn-bg-f)}.tp-sldv_t:active .tp-sldv_k::after{background-color:var(--btn-bg-a)}.tp-sldtxtv{display:flex}.tp-sldtxtv_s{flex:2}.tp-sldtxtv_t{flex:1;margin-left:4px}.tp-tabv{position:relative}.tp-tabv_t{align-items:flex-end;color:var(--cnt-bg);display:flex;overflow:hidden;position:relative}.tp-tabv_t:hover{color:var(--cnt-bg-h)}.tp-tabv_t:has(*:focus){color:var(--cnt-bg-f)}.tp-tabv_t:has(*:active){color:var(--cnt-bg-a)}.tp-tabv_t::before{background-color:currentColor;bottom:0;content:"";height:2px;left:0;pointer-events:none;position:absolute;right:0}.tp-tabv.tp-v-disabled .tp-tabv_t::before{opacity:.5}.tp-tabv.tp-tabv-nop .tp-tabv_t{height:calc(var(--cnt-usz) + 4px);position:relative}.tp-tabv.tp-tabv-nop .tp-tabv_t::before{background-color:var(--cnt-bg);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.tp-tabv_i{bottom:0;color:var(--cnt-bg);left:0;overflow:hidden;position:absolute;top:calc(var(--cnt-usz) + 4px);width:max(var(--bs-br),4px)}.tp-tabv_i::before{background-color:currentColor;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.tp-tabv_t:hover+.tp-tabv_i{color:var(--cnt-bg-h)}.tp-tabv_t:has(*:focus)+.tp-tabv_i{color:var(--cnt-bg-f)}.tp-tabv_t:has(*:active)+.tp-tabv_i{color:var(--cnt-bg-a)}.tp-tabv.tp-v-disabled>.tp-tabv_i{opacity:.5}.tp-tbiv{flex:1;min-width:0;position:relative}.tp-tbiv+.tp-tbiv{margin-left:2px}.tp-tbiv+.tp-tbiv.tp-v-disabled::before{opacity:.5}.tp-tbiv_b{display:block;padding-left:calc(var(--cnt-hp) + 4px);padding-right:calc(var(--cnt-hp) + 4px);position:relative;width:100%}.tp-tbiv_b:disabled{opacity:.5}.tp-tbiv_b::before{background-color:var(--cnt-bg);content:"";inset:0 0 2px;pointer-events:none;position:absolute}.tp-tbiv_b:hover::before{background-color:var(--cnt-bg-h)}.tp-tbiv_b:focus::before{background-color:var(--cnt-bg-f)}.tp-tbiv_b:active::before{background-color:var(--cnt-bg-a)}.tp-tbiv_t{color:var(--cnt-fg);height:calc(var(--cnt-usz) + 4px);line-height:calc(var(--cnt-usz) + 4px);opacity:.5;overflow:hidden;position:relative;text-overflow:ellipsis}.tp-tbiv.tp-tbiv-sel .tp-tbiv_t{opacity:1}.tp-tbpv_c{padding-bottom:var(--cnt-vp);padding-left:4px;padding-top:var(--cnt-vp)}.tp-txtv{position:relative}.tp-txtv_i{padding-left:var(--bld-hp);padding-right:var(--bld-hp)}.tp-txtv.tp-txtv-fst .tp-txtv_i{border-bottom-right-radius:0;border-top-right-radius:0}.tp-txtv.tp-txtv-mid .tp-txtv_i{border-radius:0}.tp-txtv.tp-txtv-lst .tp-txtv_i{border-bottom-left-radius:0;border-top-left-radius:0}.tp-txtv.tp-txtv-num .tp-txtv_i{text-align:right}.tp-txtv.tp-txtv-drg .tp-txtv_i{opacity:.3}.tp-txtv_k{cursor:pointer;height:100%;left:calc(var(--bld-hp) - 5px);position:absolute;top:0;width:12px}.tp-txtv_k::before{background-color:var(--in-fg);border-radius:1px;bottom:0;content:"";height:calc(var(--cnt-usz) - 4px);left:50%;margin-bottom:auto;margin-left:-1px;margin-top:auto;opacity:.1;position:absolute;top:0;transition:border-radius .1s,height .1s,transform .1s,width .1s;width:2px}.tp-txtv_k:hover::before,.tp-txtv.tp-txtv-drg .tp-txtv_k::before{opacity:1}.tp-txtv.tp-txtv-drg .tp-txtv_k::before{border-radius:50%;height:4px;transform:translateX(-1px);width:4px}.tp-txtv_g{bottom:0;display:block;height:8px;left:50%;margin:auto;overflow:visible;pointer-events:none;position:absolute;top:0;visibility:hidden;width:100%}.tp-txtv.tp-txtv-drg .tp-txtv_g{visibility:visible}.tp-txtv_gb{fill:none;stroke:var(--in-fg);stroke-dasharray:1}.tp-txtv_gh{fill:none;stroke:var(--in-fg)}.tp-txtv .tp-ttv{margin-left:6px;visibility:hidden}.tp-txtv.tp-txtv-drg .tp-ttv{visibility:visible}.tp-ttv{background-color:var(--in-fg);border-radius:var(--bld-br);color:var(--bs-bg);padding:2px 4px;pointer-events:none;position:absolute;transform:translate(-50%, -100%)}.tp-ttv::before{border-color:var(--in-fg) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:2px;box-sizing:border-box;content:"";font-size:.9em;height:4px;left:50%;margin-left:-2px;position:absolute;top:100%;width:4px}.tp-rotv{background-color:var(--bs-bg);border-radius:var(--bs-br);box-shadow:0 2px 4px var(--bs-sh);font-family:var(--bs-ff);font-size:11px;font-weight:500;line-height:1;text-align:left}.tp-rotv_b{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br);border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br);padding-left:calc(4px + var(--cnt-usz) + var(--cnt-hp));text-align:center}.tp-rotv.tp-rotv-expanded .tp-rotv_b{border-bottom-left-radius:0;border-bottom-right-radius:0;transition-delay:0s;transition-duration:0s}.tp-rotv.tp-rotv-not>.tp-rotv_b{display:none}.tp-rotv_b:disabled .tp-rotv_m{display:none}.tp-rotv_c>.tp-fldv.tp-v-lst>.tp-fldv_c{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst>.tp-fldv_i{border-bottom-left-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst:not(.tp-fldv-expanded)>.tp-fldv_b{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst.tp-fldv-expanded>.tp-fldv_b{transition-delay:0s;transition-duration:0s}.tp-rotv_c .tp-fldv.tp-v-vlst:not(.tp-fldv-expanded)>.tp-fldv_b{border-bottom-right-radius:var(--bs-br)}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-fldv.tp-v-fst{margin-top:calc(-1*var(--cnt-vp))}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-fldv.tp-v-fst>.tp-fldv_b{border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br)}.tp-rotv_c>.tp-tabv.tp-v-lst>.tp-tabv_c{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-tabv.tp-v-lst>.tp-tabv_i{border-bottom-left-radius:var(--bs-br)}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-tabv.tp-v-fst{margin-top:calc(-1*var(--cnt-vp))}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-tabv.tp-v-fst>.tp-tabv_t{border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br)}.tp-rotv.tp-v-disabled,.tp-rotv .tp-v-disabled{pointer-events:none}.tp-rotv.tp-v-hidden,.tp-rotv .tp-v-hidden{display:none}.tp-sprv_r{background-color:var(--grv-fg);border-width:0;display:block;height:2px;margin:0;width:100%}.tp-sprv.tp-v-disabled .tp-sprv_r{opacity:.5}',
5plugins:[A0,T0,N0,Sh,O0]})}};new Ph("4.0.5");function Wa(n,e){me(e,!1);const[t,i]=gr(),r=()=>fn(m,"$existingParentStore",t),s=()=>fn(v,"$parentStore",t);let o=g(e,"title",24,()=>{}),a=g(e,"userExpandable",8,!0),l=g(e,"expanded",12,!0),c=g(e,"theme",24,()=>{}),u=g(e,"scale",8,1),h=g(e,"userCreatedPane",8,!0),p=g(e,"tpPane",28,()=>{});const v=Go(),m=St("parentStore");let f=[];ns("registerPlugin",x=>{var M;p()===void 0?console.warn(`tpPane is undefined, failed to register plugin "${x.id}"`):f.includes(x.id)||((M=p())==null||M.registerPlugin(x),f.push(x.id))}),ns("userCreatedPane",h()),r()!==void 0&&console.warn("<Panes> must not be nested"),au(v,new R0({expanded:l(),title:o()})),s().on("fold",()=>{s().expanded!==void 0&&l()!==s().expanded&&l(s().expanded)}),p(s()),ns("parentStore",v),ni(()=>{s().dispose()});function E(x){if(p())if(x===1)p().element.style.removeProperty("transform-origin"),p().element.style.removeProperty("transform"),p().element.style.removeProperty("width");else{const M=Math.max(0,x);p(p().element.style.transformOrigin="0 0",!0),p(p().element.style.transform=`scale(${M})`,!0),p(p().element.style.width=`${100/M}%`,!0)}}function C(x){op().then(()=>{var M;((M=p())==null?void 0:M.expanded)!==void 0&&x!==void 0&&p().expanded!==x&&p(p().expanded=x,!0)})}B(()=>S(p()),()=>{var x,M;(x=p())!=null&&x.element&&((M=p())==null||M.element.classList.add("svelte-tweakpane-ui"))}),B(()=>(S(p()),S(u())),()=>{p()&&E(u())}),B(()=>(S(p()),S(a())),()=>{p()&&rh(a(),p().element,"tp-rotv_b","tp-rotv_m")}),B(()=>(S(p()),S(o())),()=>{p()&&o()!==void 0&&p(p().title=o().length>0?o():" ",!0)}),B(()=>(S(p()),S(c())),()=>{p()&&vb(p().element,c())}),B(()=>(S(p()),S(l())),()=>{p()&&C(l())}),Xe(),ct();var y=oe(),K=W(y);{var j=x=>{var M=oe(),U=W(M);ft(U,e,"default",{}),$(x,M)};Ie(K,x=>{x(j)})}$(n,y),fe(),i()}var j0=ke("<div><!></div>");function js(n,e){const t=Pe(e,["children","$$slots","$$events","$$legacy"]),i=Pe(t,["expanded","width","tpPane","theme"]);me(e,!1);let r=g(e,"expanded",28,()=>{}),s=g(e,"width",24,()=>{}),o=g(e,"tpPane",28,()=>{}),a=g(e,"theme",24,()=>({baseBorderRadius:"0px",baseShadowColor:"hsla(0, 0%, 0%, 0)"})),l=se();Cr(()=>{if(o()){const v=o().element.parentElement;d(l).append(o().element),v==null||v.remove()}else console.warn("tpPane is undefined")}),ct();var c=j0();let u;var h=ne(c),p=O(()=>Ns(i,"position"));Wa(h,Ve({get theme(){return a()}},()=>d(p),{get expanded(){return r()},set expanded(v){r(v)},get tpPane(){return o()},set tpPane(v){o(v)},children:(v,m)=>{var f=oe(),b=W(f);ft(b,e,"default",{}),$(v,f)},$$slots:{default:!0},$$legacy:!0})),J(c),ti(c,v=>P(l,v),()=>d(l)),mn(()=>u=Pi(c,"",u,{width:s()===void 0?null:`${s()}px`})),$(n,c),fe()}var I0=ke('<div style="display: none;"></div>');function od(n,e){me(e,!1);const[t,i]=gr(),r=()=>fn(h,"$parentStore",t);let s=g(e,"options",12),o=g(e,"disabled",12,!1),a=g(e,"theme",24,()=>{}),l=g(e,"ref",28,()=>{}),c=g(e,"plugin",28,()=>{});const u=St("registerPlugin"),h=St("parentStore"),p=St("userCreatedPane");let v=se(),m=se(),f=se();function b(){d(f)&&d(f).dispose(),c()!==void 0&&u(c()),P(f,r().addBlade({index:d(m),...s(),disabled:o()})),l(d(f))}Cr(()=>{P(m,d(v)?ga(d(v)):0)}),ni(()=>{var j;(j=d(f))==null||j.dispose()}),B(()=>(d(f),S(l())),()=>{}),B(()=>(S(s()),r(),d(m)),()=>{s()&&r()&&d(m)!==void 0&&b()}),B(()=>(d(f),S(o())),()=>{d(f)&&Kt(f,d(f).disabled=o())}),B(()=>(S(a()),r(),Jn),()=>{a()&&r()&&(p||!Jn(r()))&&console.warn("Set theme on the <Pane> component, not on its children! (Check nested <Blade> components for a theme prop.)")}),Xe(),ct();var E=oe(),C=W(E);{var y=j=>{var x=oe(),M=W(x);{var U=D=>{var N=I0();ti(N,I=>P(v,I),()=>d(v)),$(D,N)};Ie(M,D=>{D(U)})}$(j,x)},K=j=>{js(j,{get theme(){return a()},userCreatedPane:!1,children:(x,M)=>{var U=oe(),D=W(U);od(D,{get disabled(){return o()},set disabled(N){o(N)},get options(){return s()},set options(N){s(N)},get plugin(){return c()},set plugin(N){c(N)},get ref(){return l()},set ref(N){l(N)},$$legacy:!0}),$(x,U)},$$slots:{default:!0}})};Ie(C,j=>{h?j(y):j(K,!1)})}$(n,E),fe(),i()}class z0{constructor(e){this.controller_=e}get disabled(){return this.controller_.viewProps.get("disabled")}set disabled(e){this.controller_.viewProps.set("disabled",e)}get title(){var e;return(e=this.controller_.props.get("title"))!==null&&e!==void 0?e:""}set title(e){this.controller_.props.set("title",e)}on(e,t){const i=t.bind(this);return this.controller_.emitter.on(e,()=>{i(new Vn(this))}),this}}class U0 extends Vn{constructor(e,t,i){super(e),this.cell=t,this.index=i}}class q0 extends Jt{constructor(e){super(e),this.cellToApiMap_=new Map,this.emitter_=new Fe;const t=this.controller.valueController;
5t.cellControllers.forEach((i,r)=>{const s=new z0(i);this.cellToApiMap_.set(i,s),i.emitter.on("click",()=>{const o=r%t.size[0],a=Math.floor(r/t.size[0]);this.emitter_.emit("click",{event:new U0(this,s,[o,a])})})})}cell(e,t){const i=this.controller.valueController,r=i.cellControllers[t*i.size[0]+e];return this.cellToApiMap_.get(r)}on(e,t){const i=t.bind(this);return this.emitter_.on(e,r=>{i(r.event)}),this}}class K0{constructor(e,t){this.size=t.size;const[i,r]=this.size,s=[];for(let o=0;o<r;o++)for(let a=0;a<i;a++){const l=new Eu(e,{props:F.fromObject(Object.assign({},t.cellConfig(a,o))),viewProps:_n.create()});s.push(l)}this.cellCs_=s,this.viewProps=_n.create(),this.viewProps.handleDispose(()=>{this.cellCs_.forEach(o=>{o.viewProps.set("disposed",!0)})}),this.view=new Tu(e,{viewProps:this.viewProps,viewName:"btngrid"}),this.view.element.style.gridTemplateColumns=`repeat(${i}, 1fr)`,this.cellCs_.forEach(o=>{this.view.element.appendChild(o.view.element)})}get cellControllers(){return this.cellCs_}}class wc extends ri{constructor(e,t){const i=t.valueController,r=new Vr(e,{blade:t.blade,props:t.labelProps,valueController:i});super({blade:t.blade,view:r.view,viewProps:i.viewProps}),this.valueController=i,this.labelController=r}}re({id:"buttongrid",type:"blade",accept(n){const e=te(n,t=>({cells:t.required.function,size:t.required.array(t.required.number),view:t.required.constant("buttongrid"),label:t.optional.string}));return e?{params:e}:null},controller(n){return new wc(n.document,{blade:n.blade,labelProps:F.fromObject({label:n.params.label}),valueController:new K0(n.document,{cellConfig:n.params.cells,size:n.params.size})})},api(n){return n.controller instanceof wc?new q0(n.controller):null}});class H0 extends Jt{get label(){return this.controller.labelController.props.get("label")}set label(e){this.controller.labelController.props.set("label",e)}get value(){return this.controller.valueController.value.rawValue}set value(e){this.controller.valueController.value.rawValue=e}on(e,t){const i=t.bind(this);return this.controller.valueController.value.emitter.on(e,r=>{i(new ks(this,r.rawValue,r.options.last))}),this}}function tt(n,e,t){return n*(1-t)+e*t}const W0=20,G0=.001,lo=100;function Y0(n,e){let t=.25,i=.5,r=-1;for(let s=0;s<W0;s++){const[o,a]=n.curve(i);if(i+=t*(o<e?1:-1),r=a,t*=.5,Math.abs(e-o)<G0)break}return r}class xn{constructor(e=0,t=0,i=1,r=1){this.cache_=[],this.comps_=[e,t,i,r]}get x1(){return this.comps_[0]}get y1(){return this.comps_[1]}get x2(){return this.comps_[2]}get y2(){return this.comps_[3]}static isObject(e){return de(e)||!Array.isArray(e)?!1:typeof e[0]=="number"&&typeof e[1]=="number"&&typeof e[2]=="number"&&typeof e[3]=="number"}static equals(e,t){return e.x1===t.x1&&e.y1===t.y1&&e.x2===t.x2&&e.y2===t.y2}curve(e){const t=tt(0,this.x1,e),i=tt(0,this.y1,e),r=tt(this.x1,this.x2,e),s=tt(this.y1,this.y2,e),o=tt(this.x2,1,e),a=tt(this.y2,1,e),l=tt(t,r,e),c=tt(i,s,e),u=tt(r,o,e),h=tt(s,a,e);return[tt(l,u,e),tt(c,h,e)]}y(e){if(this.cache_.length===0){const t=[];for(let i=0;i<lo;i++)t.push(Y0(this,R(i,0,lo-1,0,1)));this.cache_=t}return this.cache_[Math.round(R(we(e,0,1),0,1,0,lo-1))]}toObject(){return[this.comps_[0],this.comps_[1],this.comps_[2],this.comps_[3]]}}const ad={toComponents:n=>n.toObject(),fromComponents:n=>new xn(...n)};function X0(n){const e=Le(2);return`cubic-bezier(${n.toObject().map(i=>e(i)).join(", ")})`}const gc=[0,.5,.5,1];function Z0(n){const e=n.match(/^cubic-bezier\s*\(\s*([0-9.]+)\s*,\s*([0-9.]+)\s*,\s*([0-9.]+)\s*,\s*([0-9.]+)\s*\)$/);if(!e)return new xn(...gc);const t=[e[1],e[2],e[3],e[4]].reduce((i,r)=>{if(!i)return null;const s=Number(r);return isNaN(s)?null:[...i,s]},[]);return new xn(...t??gc)}const an=A("cbz");class Q0{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(an()),t.viewProps.bindClassModifiers(this.element),t.foldable.bindExpandedClass(this.element,an(void 0,"expanded")),Ye(t.foldable,"completed",Mt(this.element,an(void 0,"cpl")));const i=e.createElement("div");i.classList.add(an("h")),this.element.appendChild(i);const r=e.createElement("button");r.classList.add(an("b")),t.viewProps.bindDisabled(r);const s=e.createElementNS(ie,"svg");s.innerHTML='<path d="M2 13C8 13 8 3 14 3"/>',r.appendChild(s),i.appendChild(r),this.buttonElement=r;const o=e.createElement("div");if(o.classList.add(an("t")),i.appendChild(o),this.textElement=o,t.pickerLayout==="inline"){const a=e.createElement("div");a.classList.add(an("p")),this.element.appendChild(a),this.pickerElement=a}else this.pickerElement=null}}const co=A("cbzp");class J0{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(co()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("div");i.classList.add(co("g")),this.element.appendChild(i),this.graphElement=i;const r=e.createElement("div");r.classList.add(co("t")),this.element.appendChild(r),this.textElement=r}}function ld(n,e){const t=new MutationObserver(r=>
5{for(const s of r)s.type==="childList"&&s.addedNodes.forEach(o=>{o.contains(o)&&(e(),t.disconnect())})}),i=n.ownerDocument;t.observe(i.body,{attributes:!0,childList:!0,subtree:!0})}const jt=A("cbzg");function eC(n,e){return t=>e(n(t))}class tC{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(jt()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);const i=e.createElement("div");i.classList.add(jt("p")),this.element.appendChild(i),this.previewElement=i;const r=e.createElementNS(ie,"svg");r.classList.add(jt("g")),this.element.appendChild(r),this.svgElem_=r;const s=e.createElementNS(ie,"path");s.classList.add(jt("u")),this.svgElem_.appendChild(s),this.guideElem_=s;const o=e.createElementNS(ie,"polyline");o.classList.add(jt("l")),this.svgElem_.appendChild(o),this.lineElem_=o,this.handleElems_=[e.createElement("div"),e.createElement("div")],this.handleElems_.forEach(a=>{a.classList.add(jt("h")),this.element.appendChild(a)}),this.vectorElems_=[e.createElementNS(ie,"line"),e.createElementNS(ie,"line")],this.vectorElems_.forEach(a=>{a.classList.add(jt("v")),this.svgElem_.appendChild(a)}),this.value_=t.value,this.value_.emitter.on("change",this.onValueChange_.bind(this)),this.sel_=t.selection,this.handleElems_.forEach((a,l)=>{st(this.sel_,eC(c=>c===l,Mt(a,jt("h","sel"))))}),ld(this.element,()=>{this.refresh()})}getVertMargin_(e){return e*.25}valueToPosition(e,t){const{clientWidth:i,clientHeight:r}=this.element,s=this.getVertMargin_(r);return{x:R(e,0,1,0,i),y:R(t,0,1,r-s,s)}}positionToValue(e,t){const i=this.element.getBoundingClientRect(),r=i.width,s=i.height,o=this.getVertMargin_(s);return{x:we(R(e,0,r,0,1),0,1),y:R(t,s-o,o,0,1)}}refresh(){this.guideElem_.setAttributeNS(null,"d",[0,1].map(s=>{const o=this.valueToPosition(0,s),a=this.valueToPosition(1,s);return[`M ${o.x},${o.y}`,`L ${a.x},${a.y}`].join(" ")}).join(" "));const e=this.value_.rawValue,t=[];let i=0;for(;;){const s=this.valueToPosition(...e.curve(i));if(t.push([s.x,s.y].join(",")),i>=1)break;i=Math.min(i+.05,1)}this.lineElem_.setAttributeNS(null,"points",t.join(" "));const r=e.toObject();[0,1].forEach(s=>{const o=this.valueToPosition(s,s),a=this.valueToPosition(r[s*2],r[s*2+1]),l=this.vectorElems_[s];l.setAttributeNS(null,"x1",String(o.x)),l.setAttributeNS(null,"y1",String(o.y)),l.setAttributeNS(null,"x2",String(a.x)),l.setAttributeNS(null,"y2",String(a.y));const c=this.handleElems_[s];c.style.left=`${a.x}px`,c.style.top=`${a.y}px`})}onValueChange_(){this.refresh()}}const Cc=24,yc=400,xc=1e3,On=A("cbzprv");class nC{constructor(e,t){this.stopped_=!0,this.startTime_=-1,this.requestId_=-1,this.onDispose_=this.onDispose_.bind(this),this.onTimer_=this.onTimer_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(On()),t.viewProps.bindClassModifiers(this.element);const i=e.createElementNS(ie,"svg");i.classList.add(On("g")),this.element.appendChild(i),this.svgElem_=i;const r=e.createElementNS(ie,"path");r.classList.add(On("t")),this.svgElem_.appendChild(r),this.ticksElem_=r;const s=e.createElement("div");s.classList.add(On("m")),this.element.appendChild(s),this.markerElem_=s,this.value_=t.value,this.value_.emitter.on("change",this.onValueChange_),t.viewProps.handleDispose(this.onDispose_),ld(this.element,()=>{this.refresh()})}play(){this.stop(),this.updateMarker_(0),this.markerElem_.classList.add(On("m","a")),this.startTime_=new Date().getTime()+yc,this.stopped_=!1,this.requestId_=requestAnimationFrame(this.onTimer_)}stop(){cancelAnimationFrame(this.requestId_),this.stopped_=!0,this.markerElem_.classList.remove(On("m","a"))}onDispose_(){this.stop()}updateMarker_(e){const t=this.value_.rawValue.y(we(e,0,1));this.markerElem_.style.left=`${t*100}%`}refresh(){const{clientWidth:e,clientHeight:t}=this.svgElem_,i=[],r=this.value_.rawValue;for(let s=0;s<Cc;s++){const o=R(s,0,Cc-1,0,1),a=R(r.y(o),0,1,0,e);i.push(`M ${a},0 v${t}`)}this.ticksElem_.setAttributeNS(null,"d",i.join(" "))}onTimer_(){if(this.startTime_===null)return;const e=new Date().getTime()-this.startTime_,t=e/xc;this.updateMarker_(t),e>xc+yc&&this.stop(),this.stopped_||(this.requestId_=requestAnimationFrame(this.onTimer_))}onValueChange_(){this.refresh(),this.play()}}function zo(n,e,t,i){const r=t-n,s=i-e;return Math.sqrt(r*r+s*s)}function iC(n,e,t,i){const r=zo(n,e,t,i),s=Math.atan2(i-e,t-n),o=Math.round(s/(Math.PI/4))*M
5ath.PI/4;return{x:n+Math.cos(o)*r,y:e+Math.sin(o)*r}}class rC{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.keyScale_=t.keyScale,this.value=t.value,this.sel_=ge(0),this.viewProps=t.viewProps,this.view=new tC(e,{selection:this.sel_,value:this.value,viewProps:this.viewProps}),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_),this.prevView_=new nC(e,{value:this.value,viewProps:this.viewProps}),this.prevView_.element.addEventListener("mousedown",r=>{r.stopImmediatePropagation(),r.preventDefault(),this.prevView_.play()}),this.view.previewElement.appendChild(this.prevView_.element);const i=new Me(this.view.element);i.emitter.on("down",this.onPointerDown_),i.emitter.on("move",this.onPointerMove_),i.emitter.on("up",this.onPointerUp_)}refresh(){this.view.refresh(),this.prevView_.refresh(),this.prevView_.play()}updateValue_(e,t,i){const r=this.sel_.rawValue,s=this.value.rawValue.toObject(),o=this.view.positionToValue(e.x,e.y),a=t?iC(r,r,o.x,o.y):o;s[r*2]=a.x,s[r*2+1]=a.y,this.value.setRawValue(new xn(...s),i)}onPointerDown_(e){const t=e.data;if(!t.point)return;const i=this.value.rawValue,r=this.view.valueToPosition(i.x1,i.y1),s=zo(t.point.x,t.point.y,r.x,r.y),o=this.view.valueToPosition(i.x2,i.y2),a=zo(t.point.x,t.point.y,o.x,o.y);this.sel_.rawValue=s<=a?0:1,this.updateValue_(t.point,e.shiftKey,{forceEmit:!1,last:!1})}onPointerMove_(e){const t=e.data;t.point&&this.updateValue_(t.point,e.shiftKey,{forceEmit:!1,last:!1})}onPointerUp_(e){const t=e.data;t.point&&this.updateValue_(t.point,e.shiftKey,{forceEmit:!0,last:!0})}onKeyDown_(e){Li(e.key)&&e.preventDefault();const t=this.sel_.rawValue,i=this.value.rawValue.toObject(),r=this.keyScale_.rawValue;i[t*2]+=Se(r,lt(e)),i[t*2+1]+=Se(r,Yt(e)),this.value.setRawValue(new xn(...i),{forceEmit:!1,last:!1})}onKeyUp_(e){Li(e.key)&&e.preventDefault();const t=this.keyScale_.rawValue,i=Se(t,lt(e)),r=Se(t,Yt(e));i===0&&r===0||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}class sC{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new J0(e,{viewProps:this.viewProps}),this.gc_=new rC(e,{keyScale:t.axis.textProps.value("keyScale"),value:this.value,viewProps:this.viewProps}),this.view.graphElement.appendChild(this.gc_.view.element);const i=Object.assign(Object.assign({},t.axis),{constraint:new Es({max:1,min:0})}),r=Object.assign(Object.assign({},t.axis),{constraint:void 0});this.tc_=new tn(e,{assembly:ad,axes:[i,r,i,r],parser:Oe,value:this.value,viewProps:this.viewProps}),this.view.textElement.appendChild(this.tc_.view.element)}get allFocusableElements(){return[this.gc_.view.element,...this.tc_.view.textViews.map(e=>e.inputElement)]}refresh(){this.gc_.refresh()}}class Pc{constructor(e,t){this.onButtonBlur_=this.onButtonBlur_.bind(this),this.onButtonClick_=this.onButtonClick_.bind(this),this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.foldable_=Lr.create(t.expanded),this.view=new Q0(e,{foldable:this.foldable_,pickerLayout:t.pickerLayout,viewProps:this.viewProps}),this.view.buttonElement.addEventListener("blur",this.onButtonBlur_),this.view.buttonElement.addEventListener("click",this.onButtonClick_),this.tc_=new $s(e,{parser:Z0,props:F.fromObject({formatter:X0}),value:this.value,viewProps:this.viewProps}),this.view.textElement.appendChild(this.tc_.view.element),this.popC_=t.pickerLayout==="popup"?new Ms(e,{viewProps:this.viewProps}):null;const i=new sC(e,{axis:t.axis,value:this.value,viewProps:this.viewProps});i.allFocusableElements.forEach(r=>{r.addEventListener("blur",this.onPopupChildBlur_),r.addEventListener("keydown",this.onPopupChildKeydown_)}),this.pickerC_=i,this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(this.pickerC_.view.element),st(this.popC_.shows,r=>{r&&i.refresh()}),en({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:r=>r,backward:(r,s)=>s})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),Ar(this.foldable_,this.view.pickerElement))}onButtonBlur_(e){if(!this.popC_)return;const t=e.relatedTarget;(!t||!this.popC_.view.element.contains(t))&&(this.popC_.shows.rawValue=!1)}onButtonClick_(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.allFocusableElements[0].focus()}onPopupChildBlur_(e){if(!this.popC_)return;const t=this.popC_.view.element,i=Vs(e);i&&t.contains(i)||i&&i===this.view.buttonElement&&!Sr(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(e){this.popC_&&e.key==="Escape"&&(this.popC_.shows.rawValue=!1)}}function oC(){return new Xt({assembly:ad,components:[0,1,2,3].map(n=>n%2===0?new Es({min:0,max:1}):void 0)})}re({id:"cubicbezier",type:"blade",accept(n){const e=te(n,t=>({value:t.required.array(t.required.number),view:t.required.constant("cub
5icbezier"),expanded:t.optional.boolean,label:t.optional.string,picker:t.optional.custom(i=>i==="inline"||i==="popup"?i:void 0)}));return e?{params:e}:null},controller(n){var e,t;const i=new xn(...n.params.value),r=ge(i,{constraint:oC(),equals:xn.equals}),s=new Pc(n.document,{axis:{textProps:F.fromObject({keyScale:.1,pointerScale:.01,formatter:Le(2)})},expanded:(e=n.params.expanded)!==null&&e!==void 0?e:!1,pickerLayout:(t=n.params.picker)!==null&&t!==void 0?t:"popup",value:r,viewProps:n.viewProps});return new vs(n.document,{blade:n.blade,props:F.fromObject({label:n.params.label}),value:r,valueController:s})},api(n){return!(n.controller instanceof vs)||!(n.controller.valueController instanceof Pc)?null:new H0(n.controller)}});class aC extends Jt{get fps(){return this.controller.valueController.fps}get max(){return this.controller.valueController.props.get("max")}set max(e){this.controller.valueController.props.set("max",e)}get min(){return this.controller.valueController.props.get("min")}set min(e){this.controller.valueController.props.set("min",e)}begin(){this.controller.valueController.begin()}end(){this.controller.valueController.end()}on(e,t){const i=t.bind(this);return this.controller.valueController.ticker.emitter.on(e,()=>{i(new Vn(this))}),this}}const Ec=20;class lC{constructor(){this.start_=null,this.duration_=0,this.fps_=null,this.frameCount_=0,this.timestamps_=[]}get duration(){return this.duration_}get fps(){return this.fps_}begin(e){this.start_=e.getTime()}calculateFps_(e){if(this.timestamps_.length===0)return null;const t=this.timestamps_[0];return 1e3*(this.frameCount_-t.frameCount)/(e-t.time)}compactTimestamps_(){if(this.timestamps_.length<=Ec)return;const e=this.timestamps_.length-Ec;this.timestamps_.splice(0,e);const t=this.timestamps_[0].frameCount;this.timestamps_.forEach(i=>{i.frameCount-=t}),this.frameCount_-=t}end(e){if(this.start_===null)return;const t=e.getTime();this.duration_=t-this.start_,this.start_=null,this.fps_=this.calculateFps_(t),this.timestamps_.push({frameCount:this.frameCount_,time:t}),++this.frameCount_,this.compactTimestamps_()}}const gi=A("fps");class cC{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(gi()),t.viewProps.bindClassModifiers(this.element),this.graphElement=e.createElement("div"),this.graphElement.classList.add(gi("g")),this.element.appendChild(this.graphElement);const i=e.createElement("div");i.classList.add(gi("l")),this.element.appendChild(i);const r=e.createElement("span");r.classList.add(gi("v")),r.textContent="--",i.appendChild(r),this.valueElement=r;const s=e.createElement("span");s.classList.add(gi("u")),s.textContent="FPS",i.appendChild(s)}}class uC{constructor(e,t){this.stopwatch_=new lC,this.onTick_=this.onTick_.bind(this),this.ticker=t.ticker,this.ticker.emitter.on("tick",this.onTick_),this.props=t.props,this.value_=t.value,this.viewProps=t.viewProps,this.view=new cC(e,{viewProps:this.viewProps}),this.graphC_=new wa(e,{formatter:Le(0),props:this.props,rows:t.rows,value:this.value_,viewProps:this.viewProps}),this.view.graphElement.appendChild(this.graphC_.view.element),this.viewProps.handleDispose(()=>{this.graphC_.viewProps.set("disposed",!0),this.ticker.dispose()})}get fps(){return this.stopwatch_.fps}begin(){this.stopwatch_.begin(new Date)}end(){this.stopwatch_.end(new Date)}onTick_(){const e=this.fps;if(e!==null){const t=this.value_.rawValue;this.value_.rawValue=Tv(t,e),this.view.valueElement.textContent=e.toFixed(0)}}}class kc extends ri{constructor(e,t){const i=t.valueController,r=new Vr(e,{blade:t.blade,props:t.labelProps,valueController:i});super({blade:t.blade,view:r.view,viewProps:i.viewProps}),this.valueController=i,this.labelController=r}}function hC(n,e){return e===0?new Au:new Mu(n,e??oi.monitor.defaultInterval)}re({id:"fpsgraph",type:"blade",accept(n){const e=te(n,t=>({view:t.required.constant("fpsgraph"),interval:t.optional.number,label:t.optional.string,rows:t.optional.number,max:t.optional.number,min:t.optional.number}));return e?{params:e}:null},controller(n){var e,t,i,r;const s=(e=n.params.interval)!==null&&e!==void 0?e:500;return new kc(n.document,{blade:n.blade,labelProps:F.fromObject({label:n.params.label}),valueController:new uC(n.document,{props:F.fromObject({max:(t=n.params.max)!==null&&t!==void 0?t:90,min:(i=n.params.min)!==null&&i!==void 0?i:0}),rows:(r=n.params.rows)!==null&&r!==void 0?r:2,ticker:hC(n.document,s),value:ge($v(80)),viewProps:n.viewProps})})},api(n){return n.controller instanceof kc?new aC(n.controller):null}});
5class ot{constructor(e,t){this.min=e,this.max=t}static isObject(e){if(typeof e!="object"||e===null)return!1;const t=e.min,i=e.max;return!(typeof t!="number"||typeof i!="number")}static equals(e,t){return e.min===t.min&&e.max===t.max}get length(){return this.max-this.min}toObject(){return{min:this.min,max:this.max}}}const cd={fromComponents:n=>new ot(n[0],n[1]),toComponents:n=>[n.min,n.max]};class ud{constructor(e){this.edge=e}constrain(e){var t,i,r,s,o,a,l,c;if(e.min<=e.max)return new ot((i=(t=this.edge)===null||t===void 0?void 0:t.constrain(e.min))!==null&&i!==void 0?i:e.min,(s=(r=this.edge)===null||r===void 0?void 0:r.constrain(e.max))!==null&&s!==void 0?s:e.max);const u=(e.min+e.max)/2;return new ot((a=(o=this.edge)===null||o===void 0?void 0:o.constrain(u))!==null&&a!==void 0?a:u,(c=(l=this.edge)===null||l===void 0?void 0:l.constrain(u))!==null&&c!==void 0?c:u)}}const uo=A("rsltxt");class dC{constructor(e,t){this.sliderView_=t.sliderView,this.textView_=t.textView,this.element=e.createElement("div"),this.element.classList.add(uo());const i=e.createElement("div");i.classList.add(uo("s")),i.appendChild(this.sliderView_.element),this.element.appendChild(i);const r=e.createElement("div");r.classList.add(uo("t")),r.appendChild(this.textView_.element),this.element.appendChild(r)}}const ln=A("rsl");class pC{constructor(e,t){this.onSliderPropsChange_=this.onSliderPropsChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.sliderProps_=t.sliderProps,this.sliderProps_.emitter.on("change",this.onSliderPropsChange_),this.element=e.createElement("div"),this.element.classList.add(ln()),t.viewProps.bindClassModifiers(this.element),this.value_=t.value,this.value_.emitter.on("change",this.onValueChange_);const i=e.createElement("div");i.classList.add(ln("t")),this.element.appendChild(i),this.trackElement=i;const r=e.createElement("div");r.classList.add(ln("b")),i.appendChild(r),this.barElement=r;const s=["min","max"].map(o=>{const a=e.createElement("div");return a.classList.add(ln("k"),ln("k",o)),i.appendChild(a),a});this.knobElements=[s[0],s[1]],this.update_()}valueToX_(e){const t=this.sliderProps_.get("min"),i=this.sliderProps_.get("max");return we(R(e,t,i,0,1),0,1)*100}update_(){const e=this.value_.rawValue;e.length===0?this.element.classList.add(ln(void 0,"zero")):this.element.classList.remove(ln(void 0,"zero"));const t=[this.valueToX_(e.min),this.valueToX_(e.max)];this.barElement.style.left=`${t[0]}%`,this.barElement.style.right=`${100-t[1]}%`,this.knobElements.forEach((i,r)=>{i.style.left=`${t[r]}%`})}onSliderPropsChange_(){this.update_()}onValueChange_(){this.update_()}}class vC{constructor(e,t){this.grabbing_=null,this.grabOffset_=0,this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.sliderProps=t.sliderProps,this.viewProps=t.viewProps,this.value=t.value,this.view=new pC(e,{sliderProps:this.sliderProps,value:this.value,viewProps:t.viewProps});const i=new Me(this.view.trackElement);i.emitter.on("down",this.onPointerDown_),i.emitter.on("move",this.onPointerMove_),i.emitter.on("up",this.onPointerUp_)}ofs_(){return this.grabbing_==="min"?this.view.knobElements[0].getBoundingClientRect().width/2:this.grabbing_==="max"?-this.view.knobElements[1].getBoundingClientRect().width/2:0}valueFromData_(e){if(!e.point)return null;const t=(e.point.x+this.ofs_())/e.bounds.width,i=this.sliderProps.get("min"),r=this.sliderProps.get("max");return R(t,0,1,i,r)}onPointerDown_(e){if(!e.data.point)return;const t=e.data.point.x/e.data.bounds.width,i=this.value.rawValue,r=this.sliderProps.get("min"),s=this.sliderProps.get("max"),o=R(i.min,r,s,0,1),a=R(i.max,r,s,0,1);Math.abs(a-t)<=.025?this.grabbing_="max":Math.abs(o-t)<=.025?this.grabbing_="min":t>=o&&t<=a?(this.grabbing_="length",this.grabOffset_=R(t-o,0,1,0,s-r)):t<o?(this.grabbing_="min",this.onPointerMove_(e)):t>a&&(this.grabbing_="max",this.onPointerMove_(e))}applyPointToValue_(e,t){const i=this.valueFromData_(e);if(i===null)return;const r=this.sliderProps.get("min"),s=this.sliderProps.get("max");if(this.grabbing_==="min")this.value.setRawValue(new ot(i,this.value.rawValue.max),t);else if(this.grabbing_==="max")this.value.setRawValue(new ot(this.value.rawValue.min,i),t);else if(this.grabbing_==="length"){const o=this.value.rawValue.length;let a=i-this.grabOffset_,l=a+o;a<r?(a=r,l=r+o):l>s&&(a=s-o,l=s),this.value.setRawValue(new ot(a,l),t)}}onPointerMove_(e){this.applyPointToValue_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.applyPointToValue_(e.data,{forceEmit:!0,last:!0}),this.grabbing_=null}}class mC{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.sc_=new vC(e,t);const i={constraint:t.constraint,textProps:t.textProps};this.tc_=new tn(e,{assembly:cd,axes:[i,i],parser:t.parser,value:this.value,viewProps:t.viewProps}),this.view=new dC(e,{sliderView:this.sc_.view,textView:this.tc_.view})}get textController(){return this.tc_}}function fC(n){return ot.isObject(n)?new ot(n.min,n.max):new ot(0,0)}function bC(n,e){n.writeProperty("max",e.max),n.writeProperty("min",e.min)}function _C(n){const e=[],t=Er(n);t&&e.push(t);const i=Pr(n);return i&&e.push(i),new ud(new gt(e))}re({id:"input-interval",type:"input",accept:(n,e)=>{if(!ot.isObject(n))return null;const t=te(e,i=>Object.assign(Object.assign({},kr(i)),{readonly:i.optional.constant(!1)}));return t?{initialValue:new ot(n.min,n.max),params:t}:null},binding:{reader:n=>fC,constraint:n=>
5_C(n.params),equals:ot.equals,writer:n=>bC},controller(n){const e=n.value,t=n.constraint;if(!(t instanceof ud))throw at.shouldNeverHappen();const i=(e.rawValue.min+e.rawValue.max)/2,r=F.fromObject(ii(n.params,i)),s=t.edge&&Vi(t.edge,yr);if(s)return new mC(n.document,{constraint:t.edge,parser:Oe,sliderProps:new F({keyScale:r.value("keyScale"),max:s.values.value("max"),min:s.values.value("min")}),textProps:r,value:e,viewProps:n.viewProps});const o={constraint:t.edge,textProps:r};return new tn(n.document,{assembly:cd,axes:[o,o],parser:Oe,value:e,viewProps:n.viewProps})}});class wC{constructor(e){this.controller_=e}get disabled(){return this.controller_.viewProps.get("disabled")}set disabled(e){this.controller_.viewProps.set("disabled",e)}get title(){var e;return(e=this.controller_.props.get("title"))!==null&&e!==void 0?e:""}set title(e){this.controller_.props.set("title",e)}}class gC extends ks{constructor(e,t,i,r,s){super(e,r,s),this.cell=t,this.index=i}}class CC extends Jt{constructor(e){super(e),this.cellToApiMap_=new Map,this.controller.valueController.cellControllers.forEach(i=>{const r=new wC(i);this.cellToApiMap_.set(i,r)})}get value(){return this.controller.value}cell(e,t){const i=this.controller.valueController,r=i.cellControllers[t*i.size[0]+e];return this.cellToApiMap_.get(r)}on(e,t){const i=t.bind(this);this.controller.value.emitter.on(e,r=>{const s=this.controller.valueController,o=s.findCellByValue(r.rawValue);if(!o)return;const a=this.cellToApiMap_.get(o);if(!a)return;const l=s.cellControllers.indexOf(o);i(new gC(this,a,[l%s.size[0],Math.floor(l/s.size[0])],r.rawValue))})}}const Ci=A("rad");class yC{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Ci()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("label");i.classList.add(Ci("l")),this.element.appendChild(i);const r=e.createElement("input");r.classList.add(Ci("i")),r.name=t.name,r.type="radio",t.viewProps.bindDisabled(r),i.appendChild(r),this.inputElement=r;const s=e.createElement("div");s.classList.add(Ci("b")),i.appendChild(s);const o=e.createElement("div");o.classList.add(Ci("t")),s.appendChild(o),Ye(t.props,"title",a=>{o.textContent=a})}}class xC{constructor(e,t){this.props=t.props,this.viewProps=t.viewProps,this.view=new yC(e,{name:t.name,props:this.props,viewProps:this.viewProps})}}class Uo{constructor(e,t){this.cellCs_=[],this.cellValues_=[],this.onCellInputChange_=this.onCellInputChange_.bind(this),this.size=t.size;const[i,r]=this.size;for(let s=0;s<r;s++)for(let o=0;o<i;o++){const a=new xC(e,{name:t.groupName,props:F.fromObject(Object.assign({},t.cellConfig(o,s))),viewProps:_n.create()});this.cellCs_.push(a),this.cellValues_.push(t.cellConfig(o,s).value)}this.value=t.value,st(this.value,s=>{const o=this.findCellByValue(s);o&&(o.view.inputElement.checked=!0)}),this.viewProps=_n.create(),this.view=new Tu(e,{viewProps:this.viewProps,viewName:"radgrid"}),this.view.element.style.gridTemplateColumns=`repeat(${i}, 1fr)`,this.cellCs_.forEach(s=>{s.view.inputElement.addEventListener("change",this.onCellInputChange_),this.view.element.appendChild(s.view.element)})}get cellControllers(){return this.cellCs_}findCellByValue(e){const t=this.cellValues_.findIndex(i=>i===e);return t<0?null:this.cellCs_[t]}onCellInputChange_(e){const t=e.currentTarget,i=this.cellCs_.findIndex(r=>r.view.inputElement===t);i<0||(this.value.rawValue=this.cellValues_[i])}}(function(){return re({id:"radiogrid",type:"blade",accept(n){const e=te(n,t=>({cells:t.required.function,groupName:t.required.string,size:t.required.array(t.required.number),value:t.required.raw,view:t.required.constant("radiogrid"),label:t.optional.string}));return e?{params:e}:null},controller(n){const e=ge(n.params.value);return new vs(n.document,{blade:n.blade,props:F.fromObject({label:n.params.label}),value:e,valueController:new Uo(n.document,{groupName:n.params.groupName,cellConfig:n.params.cells,size:n.params.size,value:e})})},api(n){return!(n.controller instanceof vs)||!(n.controller.valueController instanceof Uo)?null:new CC(n.controller)}})})();function Ga(n){return re({id:"input-radiogrid",type:"input",accept(e,t){if(!n.isType(e))return null;const i=te(t,r=>
5({cells:r.required.function,groupName:r.required.string,size:r.required.array(r.required.number),view:r.required.constant("radiogrid")}));return i?{initialValue:e,params:i}:null},binding:n.binding,controller:e=>new Uo(e.document,{cellConfig:e.params.cells,groupName:e.params.groupName,size:e.params.size,value:e.value})})}Ga({isType:n=>typeof n=="number",binding:{reader:n=>xr,writer:n=>Ct}});Ga({isType:n=>typeof n=="string",binding:{reader:n=>aa,writer:n=>Ct}});Ga({isType:n=>typeof n=="boolean",binding:{reader:n=>oa,writer:n=>Ct}});var PC=Function.prototype.toString,ho=Object.create,EC=Object.prototype.toString,kC=function(){function n(){this._keys=[],this._values=[]}return n.prototype.has=function(e){return!!~this._keys.indexOf(e)},n.prototype.get=function(e){return this._values[this._keys.indexOf(e)]},n.prototype.set=function(e,t){this._keys.push(e),this._values.push(t)},n}();function SC(){return new kC}function VC(){return new WeakMap}var LC=typeof WeakMap<"u"?VC:SC;function Ya(n){if(!n)return ho(null);var e=n.constructor;if(e===Object)return n===Object.prototype?{}:ho(n);if(e&&~PC.call(e).indexOf("[native code]"))try{return new e}catch{}return ho(n)}function AC(n){var e="";return n.global&&(e+="g"),n.ignoreCase&&(e+="i"),n.multiline&&(e+="m"),n.unicode&&(e+="u"),n.sticky&&(e+="y"),e}function MC(n){return n.flags}var $C=/test/g.flags==="g"?MC:AC;function hd(n){var e=EC.call(n);return e.substring(8,e.length-1)}function DC(n){return n[Symbol.toStringTag]||hd(n)}var TC=typeof Symbol<"u"?DC:hd,NC=Object.defineProperty,OC=Object.getOwnPropertyDescriptor,dd=Object.getOwnPropertyNames,Xa=Object.getOwnPropertySymbols,pd=Object.prototype,vd=pd.hasOwnProperty,FC=pd.propertyIsEnumerable,md=typeof Xa=="function";function BC(n){return dd(n).concat(Xa(n))}var RC=md?BC:dd;function Is(n,e,t){for(var i=RC(n),r=0,s=i.length,o=void 0,a=void 0;r<s;++r)if(o=i[r],!(o==="callee"||o==="caller")){if(a=OC(n,o),!a){e[o]=t.copier(n[o],t);continue}!a.get&&!a.set&&(a.value=t.copier(a.value,t));try{NC(e,o,a)}catch{e[o]=a.value}}return e}function jC(n,e){var t=new e.Constructor;e.cache.set(n,t);for(var i=0,r=n.length;i<r;++i)t[i]=e.copier(n[i],e);return t}function IC(n,e){var t=new e.Constructor;return e.cache.set(n,t),Is(n,t,e)}function fd(n,e){return n.slice(0)}function zC(n,e){return n.slice(0,n.size,n.type)}function UC(n,e){return new e.Constructor(fd(n.buffer))}function qC(n,e){return new e.Constructor(n.getTime())}function bd(n,e){var t=new e.Constructor;return e.cache.set(n,t),n.forEach(function(i,r){t.set(r,e.copier(i,e))}),t}function KC(n,e){return Is(n,bd(n,e),e)}function HC(n,e){var t=Ya(e.prototype);e.cache.set(n,t);for(var i in n)vd.call(n,i)&&(t[i]=e.copier(n[i],e));return t}function WC(n,e){var t=Ya(e.prototype);e.cache.set(n,t);for(var i in n)vd.call(n,i)&&(t[i]=e.copier(n[i],e));for(var r=Xa(n),s=0,o=r.length,a=void 0;s<o;++s)a=r[s],FC.call(n,a)&&(t[a]=e.copier(n[a],e));return t}var GC=md?WC:HC;function YC(n,e){var t=Ya(e.prototype);return e.cache.set(n,t),Is(n,t,e)}function po(n,e){return new e.Constructor(n.valueOf())}function XC(n,e){var t=new e.Constructor(n.source,$C(n));return t.lastIndex=n.lastIndex,t}function cs(n,e){return n}function _d(n,e){var t=new e.Constructor;return e.cache.set(n,t),n.forEach(function(i){t.add(e.copier(i,e))}),t}function ZC(n,e){return Is(n,_d(n,e),e)}var QC=Array.isArray,Za=Object.assign,JC=Object.getPrototypeOf||function(n){return n.__proto__},wd={array:jC,arrayBuffer:fd,blob:zC,dataView:UC,date:qC,error:cs,map:bd,object:GC,regExp:XC,set:_d},ey=Za({},wd,{array:IC,map:KC,object:YC,set:ZC});function ty(n){return{Arguments:n.object,Array:n.array,ArrayBuffer:n.arrayBuffer,Blob:n.blob,Boolean:po,DataView:n.dataView,Date:n.date,Error:n.error,Float32Array:n.arrayBuffer,Float64Array:n.arrayBuffer,Int8Array:n.arrayBuffer,Int16Array:n.arrayBuffer,Int32Array:n.arrayBuffer,Map:n.map,Number:po,Object:n.object,Promise:cs,RegExp:n.regExp,Set:n.set,String:po,WeakMap:cs,WeakSet:cs,Uint8Array:n.arrayBuffer,Uint8ClampedArray:n.arrayBuffer,Uint16Array:n.arrayBuffer,Uint32Array:n.arrayBuffer,Uint64Array:n.arrayBuffer}}function gd(n){var e=Za({},wd,n),t=ty(e),i=t.Array,r=t.Object;function s(o,a){if(a.prototype=a.Constructor=void 0,!o||typeof o!="object")return o;if(a.cache.has(o))return a.cache.get(o);if(a.prototype=JC(o),a.Constructor=a.prototype&&a.prototype.constructor,!a.Constructor||a.Constructor===Object)return r(o,a);if(QC(o))return i(o,a);var l=t[TC(o)];return l?l(o,a):typeof o.then=="function"?o:r(o,a)}return function(a){return s(a,{Constructor:void 0,cache:LC(),copier:s,prototype:void 0})}}function ny(n){return gd(Za({},ey,n))}ny({});var iy=gd({}),ry=Object.getOwnPropertyNames,sy=Object.getOwnPropertySymbols,oy=Object.prototype.hasOwnProperty;function Sc(n,e){return function(i,r,s){return n(i,r,s)&&e(i,r,s)}}function Yr(n){return function(t,i,r){if(!t||!i||typeof t!="object"||typeof i!="object")return n(t,i,r);var s=r.cache,o=s.get(t),a=s.get(i);if(o&&a)return o===i&&a===t;s.set(t,i),s.set(i,t);var l=n(t,i,r);return s.delete(t),s.delete(i),l}}function Vc(n){return ry(n).concat(sy(n))}var ay=Object.hasOwn||function(n,e){return oy.call(n,e)};function Mn(n,e){return n===e||!n&&!e&&n!==n&&e!==e}var ly="__v",cy="__o",uy="_owner",Lc=Object.getOwnPropertyDescriptor,Ac=Object.keys;function hy(n,e,t){var i=n.length;if(e.length!==i)return!1;for(;i-- >0;)if(!t.equals(n[i],e[i],i,i,n,e,t))return!1;return!0}function dy(n,e){return Mn(n.getTime(),e.getTime())}function py(n,e){return n.name===e.name&&n.message===e.message&&n.cause===e.cause&&n.stack===e.stack}function vy(n,e){return n===e}function Mc(n,e,t){var i=n.size;if(i!==e.size)return!1;if(!i)return!0;for(var r=new Array(i),s=n.entries(),o,a,l=0;(o=s.next())&&!o.done;){for(var c=e.entries(),u=!1,h=0;(a=c.next())&&!a.done;){if(r[h]){h++;continue}var p=o.value,v=a.value;if(t.equals(p[0],v[0],l,h,n,e,t)&&t.equals(p[1],v[1],p[0],v[0],n,e,t)){u=r[h]=!0;break}h++}if(!u)return!1;l++}return!0}var my=Mn;function fy(n,e,t){var i=Ac(n),r=i.length;if(Ac(e).length!==r)return!1;for(;r-- >0;)if(!Cd(n,e,t,i[r]))return!1;return!0}function yi(n,e,t){var i=Vc(n),r=i.length;if(Vc(e).length!==r)return!1;for(var s,o,a;r-- >0;)if(s=i[r],!Cd(n,e,t,s)||(o=Lc(n,s),a=Lc(e,s),(o||a)&&(!o||!a||o.configurable!==a.configurable||o.enumerable!==a.enumerable||o.writable!==a.writable)))return!1;return!0}function by(n,e){return Mn(n.valueOf(),e.valueOf())}function _y(n,e){return n.source===e.source&&n.flags===e.flags}function $c(n,e,t){var i=n.size;if(i!==e.size)return!1;if(!i)return!0;for(var r=new Array(i),s=n.values(),o,a;(o=s.next())&&!o.done;){for(var l=e.values(),c=!1,u=0;(a=l.next())&&!a.done;
5){if(!r[u]&&t.equals(o.value,a.value,o.value,a.value,n,e,t)){c=r[u]=!0;break}u++}if(!c)return!1}return!0}function wy(n,e){var t=n.length;if(e.length!==t)return!1;for(;t-- >0;)if(n[t]!==e[t])return!1;return!0}function gy(n,e){return n.hostname===e.hostname&&n.pathname===e.pathname&&n.protocol===e.protocol&&n.port===e.port&&n.hash===e.hash&&n.username===e.username&&n.password===e.password}function Cd(n,e,t,i){return(i===uy||i===cy||i===ly)&&(n.$$typeof||e.$$typeof)?!0:ay(e,i)&&t.equals(n[i],e[i],i,i,n,e,t)}var Cy="[object Arguments]",yy="[object Boolean]",xy="[object Date]",Py="[object Error]",Ey="[object Map]",ky="[object Number]",Sy="[object Object]",Vy="[object RegExp]",Ly="[object Set]",Ay="[object String]",My="[object URL]",$y=Array.isArray,Dc=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,Tc=Object.assign,Dy=Object.prototype.toString.call.bind(Object.prototype.toString);function Ty(n){var e=n.areArraysEqual,t=n.areDatesEqual,i=n.areErrorsEqual,r=n.areFunctionsEqual,s=n.areMapsEqual,o=n.areNumbersEqual,a=n.areObjectsEqual,l=n.arePrimitiveWrappersEqual,c=n.areRegExpsEqual,u=n.areSetsEqual,h=n.areTypedArraysEqual,p=n.areUrlsEqual;return function(m,f,b){if(m===f)return!0;if(m==null||f==null)return!1;var E=typeof m;if(E!==typeof f)return!1;if(E!=="object")return E==="number"?o(m,f,b):E==="function"?r(m,f,b):!1;var C=m.constructor;if(C!==f.constructor)return!1;if(C===Object)return a(m,f,b);if($y(m))return e(m,f,b);if(Dc!=null&&Dc(m))return h(m,f,b);if(C===Date)return t(m,f,b);if(C===RegExp)return c(m,f,b);if(C===Map)return s(m,f,b);if(C===Set)return u(m,f,b);var y=Dy(m);return y===xy?t(m,f,b):y===Vy?c(m,f,b):y===Ey?s(m,f,b):y===Ly?u(m,f,b):y===Sy?typeof m.then!="function"&&typeof f.then!="function"&&a(m,f,b):y===My?p(m,f,b):y===Py?i(m,f,b):y===Cy?a(m,f,b):y===yy||y===ky||y===Ay?l(m,f,b):!1}}function Ny(n){var e=n.circular,t=n.createCustomConfig,i=n.strict,r={areArraysEqual:i?yi:hy,areDatesEqual:dy,areErrorsEqual:py,areFunctionsEqual:vy,areMapsEqual:i?Sc(Mc,yi):Mc,areNumbersEqual:my,areObjectsEqual:i?yi:fy,arePrimitiveWrappersEqual:by,areRegExpsEqual:_y,areSetsEqual:i?Sc($c,yi):$c,areTypedArraysEqual:i?yi:wy,areUrlsEqual:gy};if(t&&(r=Tc({},r,t(r))),e){var s=Yr(r.areArraysEqual),o=Yr(r.areMapsEqual),a=Yr(r.areObjectsEqual),l=Yr(r.areSetsEqual);r=Tc({},r,{areArraysEqual:s,areMapsEqual:o,areObjectsEqual:a,areSetsEqual:l})}return r}function Oy(n){return function(e,t,i,r,s,o,a){return n(e,t,a)}}function Fy(n){var e=n.circular,t=n.comparator,i=n.createState,r=n.equals,s=n.strict;if(i)return function(l,c){var u=i(),h=u.cache,p=h===void 0?e?new WeakMap:void 0:h,v=u.meta;return t(l,c,{cache:p,equals:r,meta:v,strict:s})};if(e)return function(l,c){return t(l,c,{cache:new WeakMap,equals:r,meta:void 0,strict:s})};var o={cache:void 0,equals:r,meta:void 0,strict:s};return function(l,c){return t(l,c,o)}}nn();nn({strict:!0});nn({circular:!0});nn({circular:!0,strict:!0});var yd=nn({createInternalComparator:function(){return Mn}});nn({strict:!0,createInternalComparator:function(){return Mn}});nn({circular:!0,createInternalComparator:function(){return Mn}});nn({circular:!0,createInternalComparator:function(){return Mn},strict:!0});function nn(n){n===void 0&&(n={});var e=n.circular,t=e===void 0?!1:e,i=n.createInternalComparator,r=n.createState,s=n.strict,o=s===void 0?!1:s,a=Ny(n),l=Ty(a),c=i?i(l):Oy(l);return Fy({circular:t,comparator:l,createState:r,equals:c,strict:o})}var By=ke('<div style="display: none;"></div>');function xd(n,e){me(e,!1);const[t,i]=gr(),r=()=>fn(m,"$parentStore",t);let s=g(e,"object",12),o=g(e,"key",12),a=g(e,"disabled",12,!1),l=g(e,"label",28,()=>{}),c=g(e,"options",28,()=>{}),u=g(e,"theme",24,()=>{}),h=g(e,"ref",28,()=>{}),p=g(e,"plugin",28,()=>{});const v=St("registerPlugin"),m=St("parentStore"),f=St("userCreatedPane");let b=se(),E=se(),C=se();function y(){d(b)&&d(b).dispose(),p()!==void 0&&v(p()),P(b,r().addBinding(s(),o(),{index:d(C),label:l(),...c(),disabled:a()})),h(d(b)),d(b).on("change",N)}Cr(()=>{P(C,d(E)?ga(d(E)):0)}),ni(()=>{var V;(V=d(b))==null||V.dispose()});const K=hp();function j(V){if(V instanceof File)return new File([V],V.name,{lastModified:V.lastModified,type:V.type});if(V instanceof HTMLImageElement){const ce=new Image;return ce.src=V.src,ce}return iy(V)}let x=s(),M=j(s()[o()]),U=!1;function D(V){x!==V&&(U=!1),yd(V[o()],M)||(M=j(V[o()]),K("change",{value:j(V[o()]),origin:U?"internal":"external"}
5),!U&&d(b)&&(d(b).off("change",N),d(b).refresh(),d(b).on("change",N))),U=!1,x!==V&&(x=V,y())}function N(){U=!0,s(s()[o()]=j(s()[o()]),!0)}B(()=>(d(b),S(h())),()=>{}),B(()=>(S(c()),r(),d(C)),()=>{c(),r()!==void 0&&d(C)!==void 0&&y()}),B(()=>(d(b),S(a())),()=>{d(b)!==void 0&&Kt(b,d(b).disabled=a())}),B(()=>(d(b),S(l())),()=>{d(b)!==void 0&&Kt(b,d(b).label=l())}),B(()=>(r(),S(s())),()=>{r()!==void 0&&D(s())}),B(()=>(S(u()),r(),Jn),()=>{u()&&r()!==void 0&&(f||!Jn(r()))&&console.warn("Set theme on the <Pane> component, not on its children! (Check nested <Binding> components for a theme prop.)")}),Xe(),ct();var I=oe(),L=W(I);{var k=V=>{var ce=oe(),Y=W(ce);{var pe=Ee=>{var be=By();ti(be,Be=>P(E,Be),()=>d(E)),$(Ee,be)};Ie(Y,Ee=>{Ee(pe)})}$(V,ce)},H=V=>{js(V,{get theme(){return u()},userCreatedPane:!1,children:(ce,Y)=>{var pe=oe(),Ee=W(pe);xd(Ee,{get disabled(){return a()},set disabled(be){a(be)},get key(){return o()},set key(be){o(be)},get label(){return l()},set label(be){l(be)},get object(){return s()},set object(be){s(be)},get options(){return c()},set options(be){c(be)},get plugin(){return p()},set plugin(be){p(be)},get ref(){return h()},set ref(be){h(be)},$$events:{change(be){Sn.call(this,e,be)}},$$legacy:!0}),$(ce,pe)},$$slots:{default:!0}})};Ie(L,V=>{m?V(k):V(H,!1)})}$(n,I),fe(),i()}function Ry(n,e){const t=Pe(e,["children","$$slots","$$events","$$legacy"]),i=Pe(t,["value","ref","options"]);me(e,!1);const r=se();let s=g(e,"value",12),o=g(e,"ref",28,()=>{}),a=g(e,"options",24,()=>{});const l=Symbol("key");function c(){return s()}function u(){yd(s(),d(r)[l])||Kt(r,d(r)[l]=s())}B(()=>{},()=>{P(r,{[l]:c()})}),B(()=>d(r),()=>{s(d(r)[l])}),B(()=>S(s()),()=>{s(),u()}),Xe(),ct(),xd(n,Ve({key:l,get options(){return a()}},()=>i,{get object(){return d(r)},set object(h){P(r,h)},get ref(){return o()},set ref(h){o(h)},$$events:{change(h){Sn.call(this,e,h)}},$$legacy:!0})),fe()}function Pd(n,e){const t=Pe(e,["children","$$slots","$$events","$$legacy"]),i=Pe(t,["options","ref","value"]);me(e,!1);let r=g(e,"options",24,()=>{}),s=g(e,"ref",28,()=>{}),o=g(e,"value",12),a=se();B(()=>S(r()),()=>{P(a,{...r(),readonly:!1})}),Xe(),Ry(n,Ve({get options(){return d(a)}},()=>i,{get value(){return o()},set value(l){o(l)},get ref(){return s()},set ref(l){s(l)},$$events:{change(l){Sn.call(this,e,l)}},$$legacy:!0})),fe()}const Fn=A("ctn"),jy=A("input"),Iy=A("btn");class zy{constructor(e,t){this.element=e.createElement("div"),this.container=e.createElement("div"),this.container.classList.add(Fn()),t.viewProps.bindClassModifiers(this.container),this.input=e.createElement("input"),this.input.classList.add(jy()),this.input.setAttribute("type","file"),this.input.setAttribute("accept",t.filetypes?t.filetypes.join(","):"*"),this.input.style.height=`calc(20px * ${t.lineCount})`,this.fileIcon=e.createElement("div"),this.fileIcon.classList.add(Fn("icon")),this.text=e.createElement("span"),this.text.classList.add(Fn("text")),this.warning=e.createElement("span"),this.warning.classList.add(Fn("warning")),this.warning.innerHTML=t.invalidFiletypeMessage,this.warning.style.display="none",this.deleteButton=e.createElement("button"),this.deleteButton.classList.add(Iy("b")),this.deleteButton.innerHTML="Delete",this.deleteButton.style.display="none",this.container.appendChild(this.input),this.container.appendChild(this.fileIcon),this.element.appendChild(this.container),this.element.appendChild(this.warning),this.element.appendChild(this.deleteButton)}changeDraggingState(e){var t,i;e?(t=this.container)===null||t===void 0||t.classList.add(Fn("input_area_dragging")):(i=this.container)===null||i===void 0||i.classList.remove(Fn("input_area_dragging"))}}class Uy{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new zy(e,{viewProps:this.viewProps,value:t.value,invalidFiletypeMessage:t.invalidFiletypeMessage,lineCount:t.lineCount,filetypes:t.filetypes}),this.config=t,this.onFile=this.onFile.bind(this),this.onDrop=this.onDrop.bind(this),this.onDragOver=this.onDragOver.bind(this),this.onDragLeave=this.onDragLeave.bind(this),this.onDeleteClick=this.onDeleteClick.bind(this),this.view.input.addEventListener("change",this.onFile),this.view.element.addEventListener("drop",this.onDrop),this.view.element.addEventListener("dragover",this.onDragOver),this.view.element.addEventListener("dragleave",this.onDragLeave),this.view.deleteButton.addEventListener("click",this.onDeleteClick),this.value.emitter.on("change",()=>this.handleValueChange()),this.viewProps.handleDispose(()=>{this.view.input.removeEventListener("change",this.onFile),this.view.element.removeEventListener("drop",this.onDrop),this.view.element.removeEventListener("dragover",this.onDragOver),this.view.element.removeEventListener("dragleave",this.onDragLeave),this.view.deleteButton.removeEventListener("click",this.onDeleteClick)})}onFile(e){const t=this.view.input;if(t.files&&t.files.length>0){const i=t.files[0];this.isFileValid(i)?this.value.setRawValue(i):this.showWarning()}}showWarning(){this.view.warning.style.display="block",setTimeout(()=>{this.view.warning.style.display="none"},5e3)}isFileValid(e){var t;const i=this.config.filetypes,r="."+((t=e.name.split(".").pop())===null||t===void 0?void 0:t.toLowerCase());return!(i&&i.length>0&&!i.includes(r)&&r)}onDeleteClick(){this.value.rawValue&&(this.value.setRawValue(null),this.view.input.value="",this.view.warning.style.display="none")}onDragOver(e){e.preventDefault(),this.view.changeDraggingState(!0)}onDragLeave(){this.view.changeDraggingState(!1)}onDrop(e){if(e instanceof DragEvent&&(e.preventDefault(),e.dataTransfer&&e.dataTransfer.files)){const t=[e.dataTransfer.files][0];if(t.length==1){const i=t.item(0);i&&(this.isFileValid(i)?this.value.setRawValue(i):this.showWarning())}}this.view.changeDraggingState(!1)}handleValueChange(){const e=this.value.rawValue,t=this.view.container,i=this.view.text,r=this.view.fileIcon,s=this.view.deleteButton;e?(i.textContent=e.name,t.appendChild(i),t.contains(r)&&t.removeChild(r),this.view.warning.style.display="none",s.style.display="block",t.style.border="unset"):(i.textContent="",t.appendChild(r),t.removeChild(i),this.view.warning.style.display="none",s.style.display="none",t.style.border="1px dashed #717070")}}
5re({id:"file-input",type:"input",accept(n,e){if(typeof n!="string")return null;const t=te(e,i=>({view:i.required.constant("file-input"),invalidFiletypeMessage:i.optional.string,lineCount:i.optional.number,filetypes:i.optional.array(i.required.string)}));return t?{initialValue:n,params:t}:null},binding:{reader(n){return e=>e instanceof File?e:null},constraint(n){return new gt([])},writer(n){return(e,t)=>{e.write(t)}}},controller(n){var e,t;const r="Unaccepted file type.";return new Uy(n.document,{value:n.value,viewProps:n.viewProps,invalidFiletypeMessage:(e=n.params.invalidFiletypeMessage)!==null&&e!==void 0?e:r,lineCount:(t=n.params.lineCount)!==null&&t!==void 0?t:3,filetypes:n.params.filetypes})}});function qy(){const n=` 6 <svg width="320" height="50" xmlns="http://www.w3.org/2000/svg"> 7 <style> 8 text { 9 font-family: "Menlo", monospace; 10 font-size: 12px; 11 fill: gray; 12 } 13 </style> 14 <text x="50%" y="55%" text-anchor="middle"> 15 No Image 16 </text> 17</svg>`,e=new Blob([n],{type:"image/svg+xml"}),t=new Image;return t.src=URL.createObjectURL(e),t}function Nc(n){const e=new Image;return e.crossOrigin="anonymous",e.src=n,e}const cn=A("img");class Ky{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(cn()),t.viewProps.bindClassModifiers(this.element),this.input=e.createElement("input"),this.input.classList.add(cn("input")),this.input.setAttribute("type","file"),this.input.setAttribute("accept",t.extensions.join(",")),this.image_=e.createElement("img"),this.image_.id="tpimg_"+Math.random().toString(36).slice(2),this.image_.classList.add(cn("image")),this.image_.classList.add(cn(`image_${t.imageFit}`)),this.image_.crossOrigin="anonymous",this.image_.onclick=i=>t.clickCallback?t.clickCallback(i,this.input):this.input.click(),this.element.classList.add(cn("area_root")),this.element.appendChild(this.image_),this.element.appendChild(this.input)}changeImage(e){this.image_.src=e}changeDraggingState(e){const t=this.element;e?t==null||t.classList.add(cn("area_dragging")):t==null||t.classList.remove(cn("area_dragging"))}}let vo=null;class Hy{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new Ky(e,{viewProps:this.viewProps,extensions:t.extensions,imageFit:t.imageFit,clickCallback:t.clickCallback}),this.onFile=this.onFile.bind(this),this.onDrop=this.onDrop.bind(this),this.onDragStart=this.onDragStart.bind(this),this.onDragOver=this.onDragOver.bind(this),this.onDragLeave=this.onDragLeave.bind(this),this.view.input.addEventListener("change",this.onFile),this.view.element.addEventListener("drop",this.onDrop),this.view.element.addEventListener("dragstart",this.onDragStart),this.view.element.addEventListener("dragover",this.onDragOver),this.view.element.addEventListener("dragleave",this.onDragLeave),this.viewProps.handleDispose(()=>{this.view.input.removeEventListener("change",this.onFile),this.view.element.removeEventListener("drop",this.onDrop),this.view.element.removeEventListener("dragstart",this.onDragStart),this.view.element.removeEventListener("dragover",this.onDragOver),this.view.element.removeEventListener("dragleave",this.onDragLeave)}),this.value.emitter.on("change",()=>this.handleValueChange()),this.handleValueChange()}onFile(e){const t=(e==null?void 0:e.target).files;if(!t||!t.length)return;const i=t[0];this.setValue(i)}onDrop(e){e.preventDefault();try{const{dataTransfer:t}=e,i=t==null?void 0:t.files[0];if(i)this.setValue(i);else{const r=t==null?void 0:t.getData("img-id");if(r){const s=document.getElementById(r);this.setValue(s)}else{const s=t==null?void 0:t.getData("url");if(!s)throw new Error("No url");this.setValue(s)}}}catch(t){console.error("Could not parse the dropped image",t)}finally{this.view.changeDraggingState(!1)}}onDragStart(e){var t,i;(t=e.dataTransfer)===null||t===void 0||t.setData("img-id",this.view.image_.id),(i=e.dataTransfer)===null||i===void 0||i.setDragImage(this.view.image_,0,0)}onDragOver(e){e.preventDefault(),this.view.changeDraggingState(!0)}onDragLeave(){this.view.changeDraggingState(!1)}handleImage(e){e instanceof HTMLImageElement?this.updateImage(e.src):typeof e=="string"||!e?((e==="placeholder"||!e)&&(e=this.handlePlaceholderImage().src),this.updateImage(e)):this.setValue(e)}updateImage(e){this.view.changeImage(e)}setValue(e){if(e instanceof HTMLImageElement)this.value.setRawValue(e);else if(e instanceof File){const t=URL.createObjectURL(e)+"#"+e.name;e.src=t;const i=Nc(t);this.value.setRawValue(i||e)}else e?this.value.setRawValue(Nc(e)):this.value.setRawValue(this.handlePlaceholderImage())}handleValueChange(){this.handleImage(this.value.rawValue)}handlePlaceholderImage(){return vo||(vo=qy()),vo}}const Wy=[".jpg",".png",".gif"];re({id:"input-image",type:"input",accept(n,e){if(!(n instanceof HTMLImageElement||typeof n=="string"))return null;const t=te(e,i=>({view:i.required.constant("input-image"),acceptUrl:i.optional.boolean,clickCallback:i.optional.function,imageFit:i.optional.custom(r=>r==="contain"||r==="cover"?r:void 0),extensions:i.optional.array(i.required.string)}));return t?{initialValue:n,params:t}:null},binding:{reader(n){return e=>e.src!==void 0?e.src===""?"placeholder":e.src:e},writer(n){return(e,t)=>{e.write(t)}}},controller(n){var e,t;return new Hy(n.document,{value:n.value,imageFit:(e=n.params.imageFit)!==null&&e!==void 0?e:"cover",clickCallback:n.params.clickCallback,viewProps:n.viewProps,extensions:(t=n.params.extensions)!==null&&t!==void 0?t:Wy})}});function Ed(n,e){const t=Pe(e,["children","$$slots","$$events","$$legacy"]),i=Pe(t,["value","o
17ptions","min","max","step","pointerScale","keyScale","format","ref"]);me(e,!1);let r=g(e,"value",12),s=g(e,"options",24,()=>{}),o=g(e,"min",24,()=>{}),a=g(e,"max",24,()=>{}),l=g(e,"step",24,()=>{}),c=g(e,"pointerScale",24,()=>{}),u=g(e,"keyScale",24,()=>{}),h=g(e,"format",24,()=>{}),p=g(e,"ref",28,()=>{}),v=se(h()),m=se();B(()=>(d(v),S(h())),()=>{d(v)!==h()&&P(v,h())}),B(()=>(S(o()),S(a()),d(v),S(u()),S(c()),S(l()),S(s())),()=>{P(m,{min:o(),max:a(),format:d(v),keyScale:u(),pointerScale:c(),step:l(),...s()})}),Xe(),Pd(n,Ve({get options(){return d(m)}},()=>i,{get value(){return r()},set value(f){r(f)},get ref(){return p()},set ref(f){p(f)},$$events:{change(f){Sn.call(this,e,f)}},$$legacy:!0})),fe()}const ut=A("ckr");class Gy{constructor(e,t){this.tickElems_=[],this.labelElems_=[],this.boundsWidth_=-1,this.onShowsTooltipChange_=this.onShowsTooltipChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.formatters_=t.formatters,this.unit_=t.unit,this.element=e.createElement("div"),this.element.classList.add(ut(),ut(void 0,`m${t.seriesId}`)),t.viewProps.bindClassModifiers(this.element),this.value_=t.value,this.value_.emitter.on("change",this.onValueChange_),t.showsTooltip.emitter.on("change",this.onShowsTooltipChange_);const i=e.createElement("div");i.classList.add(ut("w")),this.element.appendChild(i),this.offsetElem_=e.createElement("div"),this.offsetElem_.classList.add(ut("o")),i.appendChild(this.offsetElem_),this.svgElem_=e.createElementNS(ie,"svg"),this.svgElem_.classList.add(ut("g")),this.offsetElem_.appendChild(this.svgElem_),this.tooltipElem_=e.createElement("div"),this.tooltipElem_.classList.add(A("tt")(),ut("tt")),this.element.appendChild(this.tooltipElem_),this.waitToBeAdded_()}waitToBeAdded_(){const e=new IntersectionObserver(t=>{t.forEach(i=>{i.target!==this.element||i.intersectionRatio===0||(this.update(),e.disconnect())})},{root:null});e.observe(this.element)}rebuildScaleIfNeeded_(e){if(this.boundsWidth_===e)return;this.boundsWidth_=e,this.tickElems_.forEach(c=>{Si(c)}),this.tickElems_=[],this.labelElems_.forEach(c=>{Si(c)}),this.labelElems_=[];const t=this.element.ownerDocument,i=this.unit_.ticks,r=this.unit_.pixels,a=((Math.ceil(e/2/r)+1)*2+1)*i,l=r/i;for(let c=0;c<a;c++){const u=c*l;if(c%i===0){const h=t.createElementNS(ie,"line");h.classList.add(ut("mjt")),h.setAttributeNS(null,"x1",String(u)),h.setAttributeNS(null,"y1","0"),h.setAttributeNS(null,"x2",String(u)),h.setAttributeNS(null,"y2","2"),this.svgElem_.appendChild(h),this.tickElems_.push(h);const p=t.createElement("div");p.classList.add(ut("l")),p.style.left=`${u}px`,this.offsetElem_.appendChild(p),this.labelElems_.push(p)}else{const h=t.createElementNS(ie,"line");h.classList.add(ut("mnt")),h.setAttributeNS(null,"x1",String(u)),h.setAttributeNS(null,"y1","0"),h.setAttributeNS(null,"x2",String(u)),h.setAttributeNS(null,"y2","2"),this.svgElem_.appendChild(h),this.tickElems_.push(h)}}}updateScale_(e){const t=this.unit_.value,i=this.unit_.pixels,r=this.value_.rawValue,s=Math.ceil(e/2/i)+1,o=r-r%t-t*s,a=c=>1-Math.pow(we(Math.abs(r-c)/(e/2*(t/i)),0,1),10);this.labelElems_.forEach((c,u)=>{const h=o+u*t;c.textContent=this.formatters_.ring(h),c.style.opacity=String(a(h))});const l=this.unit_.ticks;this.tickElems_.forEach((c,u)=>{const h=o+u/l*t;c.style.opacity=String(a(h))})}update(){const e=this.element.getBoundingClientRect().width,t=this.unit_.value,i=this.unit_.pixels,r=this.value_.rawValue,s=Math.ceil(e/2/i)+1,o=(r%t+t*s)*(i/t),a=e/2-o;this.offsetElem_.style.transform=`translateX(${a}px)`,this.tooltipElem_.textContent=this.formatters_.text(r),this.rebuildScaleIfNeeded_(e),this.updateScale_(e)}onValueChange_(){this.update()}onShowsTooltipChange_(e){e.rawValue?this.element.classList.add(ut(void 0,"tt")):this.element.classList.remove(ut(void 0,"tt"))}}class Qa{constructor(e,t){this.ox_=0,this.ov_=0,this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.tooltipEnabled_=t.tooltipEnabled,this.unit_=t.unit,this.showsTooltip_=ge(!1),this.view=new Gy(e,{formatters:t.formatters,seriesId:t.seriesId,showsTooltip:this.showsTooltip_,unit:t.unit,value:this.value,viewProps:this.viewProps});const i=new Me(this.view.element);i.emitter.on("down",this.onPointerDown_),i.emitter.on("move",this.onPointerMove_),i.emitter.on("up",this.onPointerUp_)}onPointerDown_(e){const t=e.data;t.point&&(this.ox_=t.point.x,this.ov_=this.value.rawValue,this.tooltipEnabled_&&(this.showsTooltip_.rawValue=!0))}onPointerMove_(e){const t=e.data;if(!t.point)return;const i=t.point.x-this.ox_,r=this.unit_.pixels,s=this.unit_.value;this.value.setRawValue(this.ov_-i/r*s,{forceEmit:!1,last:!1})}onPointerUp_(){this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0}),this.showsTooltip_.rawValue=!1}}const mo=A("ckrtxt");class Yy{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(mo());const i=e.createElement("div");i.classList.add(mo("r")),i.appendChild(t.ringView.element),this.element.appendChild(i);const r=e.createElement("div");r.classList.add(mo("t")),r.appendChild(t.textView.element),this.element.appendChild(r)}}class kd{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.rc_=new Qa(e,{formatters:{ring:t.ringFormatter,text:t.textProps.get("formatter")},seriesId:t.seriesId,tooltipEnabled:!1,unit:t.ringUnit,value:this.value,viewProps:this.viewProps}),this.tc_=new si(e,{parser:t.parser,props:t.textProps,value:this.value,viewProps:this.viewProps}),this.view=new Yy(e,{ringView:this.rc_.view,textView:this.tc_.view})}}function Sd(n){const e=[],t=Er(n);t&&e.push(t);const i=Pr(n);return i&&e.push(i),new gt(e)}function Xy(n){return n===0||n===1||n===2?n:void 0}function Oc(n){return n!==void 0?String(n):"0"}function Zy(n){const e=Le(Vo(n.value));return t=>{const i=e(t),r=i.substr(0,1);return i+(r==="-"||r==="+"?" ":"")}}const Qy=re({id:"input-ring",type:"input",accept(n,e){if(typeof n!="number")return null;const t=te(e,i=>Object.assign(Object.assign({},kr(i)),{series:i.optional.custom(Xy),unit:i.optional.object({pixels:i.required.number,ticks:i.required.number,value:i.required.number}),view:i.required.constant("cameraring"),wide:i.optional.boolean}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>xr,constraint:n=>
17Sd(n.params),writer:n=>Ct},controller(n){var e,t,i;const r=(e=n.params.unit)!==null&&e!==void 0?e:{ticks:5,pixels:40,value:10},s=Zy(r),o=ii(n.params,n.initialValue);if(n.params.wide)return new Qa(n.document,{formatters:{ring:s,text:o.formatter},seriesId:(t=Oc(n.params.series))!==null&&t!==void 0?t:"0",tooltipEnabled:!0,unit:r,value:n.value,viewProps:n.viewProps});const a=F.fromObject(o);return new kd(n.document,{parser:Oe,ringFormatter:s,ringUnit:r,seriesId:(i=Oc(n.params.series))!==null&&i!==void 0?i:"0",textProps:a,value:n.value,viewProps:n.viewProps})}}),Jy=re({id:"input-wheel",type:"input",accept(n,e){if(typeof n!="number")return null;const t=te(e,i=>Object.assign(Object.assign({},kr(i)),{amount:i.optional.number,view:i.required.constant("camerawheel"),wide:i.optional.boolean}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>xr,constraint:n=>Sd(n.params),writer:n=>Ct},controller(n){var e,t;const i=Le(0),r=ii(n.params,n.initialValue);return n.params.wide?new Qa(n.document,{formatters:{ring:i,text:r.formatter},seriesId:"w",tooltipEnabled:!0,unit:{ticks:10,pixels:40,value:((e=n.params.amount)!==null&&e!==void 0?e:r.pointerScale)*40},value:n.value,viewProps:n.viewProps}):new kd(n.document,{parser:Oe,ringFormatter:i,ringUnit:{ticks:10,pixels:40,value:((t=n.params.amount)!==null&&t!==void 0?t:r.pointerScale)*40},seriesId:"w",textProps:F.fromObject(r),value:n.value,viewProps:n.viewProps})}}),ex="camerakit",tx='.tp-ckrv_w{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;outline:none;padding:0}.tp-ckrv_w{background-color:var(--in-bg);border-radius:var(--bld-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--cnt-usz);line-height:var(--cnt-usz);min-width:0;width:100%}.tp-ckrv_w:hover{background-color:var(--in-bg-h)}.tp-ckrv_w:focus{background-color:var(--in-bg-f)}.tp-ckrv_w:active{background-color:var(--in-bg-a)}.tp-ckrv_w:disabled{opacity:.5}.tp-ckrv{position:relative}.tp-ckrv.tp-v-disabled{opacity:.5}.tp-ckrv::before{background-color:var(--grv-fg);bottom:0;content:"";height:2px;left:0;margin:auto;position:absolute;right:0;top:0}.tp-ckrv::after{background-color:var(--in-fg);content:"";left:0;margin:auto;position:absolute;right:0}.tp-ckrv_w{cursor:pointer;height:calc(var(--cnt-usz));overflow:hidden}.tp-ckrv_o{height:100%;left:0;position:relative}.tp-ckrv_g{display:block;height:2px;overflow:visible;position:absolute;width:100%}.tp-ckrv_mjt{stroke:var(--in-fg);stroke-width:2;transform-origin:bottom}.tp-ckrv_mnt{stroke:var(--in-fg);stroke-width:1;transform-origin:bottom}.tp-ckrv_l{color:var(--in-fg);font-size:.9em;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);white-space:pre}.tp-ckrv_tt{left:50%;top:-4px;visibility:hidden}.tp-ckrv.tp-ckrv-tt .tp-ckrv_tt{visibility:visible}.tp-ckrv.tp-ckrv-m0::before{display:none}.tp-ckrv.tp-ckrv-m0::after{bottom:0;height:6px;width:2px}.tp-ckrv.tp-ckrv-m0 .tp-ckrv_g{bottom:0;margin:auto;transform:translateY(3px);top:0}.tp-ckrv.tp-ckrv-m0 .tp-ckrv_mjt{transform:scaleY(3)}.tp-ckrv.tp-ckrv-m0 .tp-ckrv_mnt{transform:scaleY(2)}.tp-ckrv.tp-ckrv-m0 .tp-ckrv_l{line-height:8px;transform:translateX(-50%) scale(0.8)}.tp-ckrv.tp-ckrv-m1::before{display:none}.tp-ckrv.tp-ckrv-m1::after{bottom:0;height:8px;width:2px}.tp-ckrv.tp-ckrv-m1 .tp-ckrv_g{bottom:0}.tp-ckrv.tp-ckrv-m1 .tp-ckrv_mjt{stroke-width:1;transform:scaleY(4)}.tp-ckrv.tp-ckrv-m1 .tp-ckrv_mnt{transform:scaleY(2)}.tp-ckrv.tp-ckrv-m1 .tp-ckrv_l{line-height:12px}.tp-ckrv.tp-ckrv-m2::before{transform:translateY(3px)}.tp-ckrv.tp-ckrv-m2::after{border-radius:2px;bottom:1px;height:4px;width:4px}.tp-ckrv.tp-ckrv-m2 .tp-ckrv_g{display:none}.tp-ckrv.tp-ckrv-m2 .tp-ckrv_l{line-height:12px;transform:translateX(-50%)}.tp-ckrv.tp-ckrv-mw::before,.tp-ckrv.tp-ckrv-mw::after{display:none}.tp-ckrv.tp-ckrv-mw .tp-ckrv_g{bottom:0;opacity:.2}.tp-ckrv.tp-ckrv-mw .tp-ckrv_mjt,.tp-ckrv.tp-ckrv-mw .tp-ckrv_mnt{stroke:var(--in-fg);stroke-width:2;transform:scaleY(10)}.tp-ckrv.tp-ckrv-mw .tp-ckrv_l{display:none}.tp-ckrtxtv{display:flex}.tp-ckrtxtv_r{flex:2}.tp-ckrtxtv_t{flex:1;margin-left:4px}',nx=[Qy,Jy],ix=Object.freeze(Object.defineProperty({__proto__:null,css:tx,id:ex,plugins:nx},Symbol.toStringTag,{value:"Module"}));class Vd{multiply(e){return this.format(this.quat.multiply(e.quat))}premultiply(e){return this.format(e.multiply(this))}slerp(e,t){return this.format(this.quat.slerp(e.quat,t))}}function Ld(n,e,t){return Math.min(Math.max(n,e),t)}function rx(n,e){return Math.floor(n/e)*e}function sx(n,e){return n-rx(n,e)}function xi(n){return sx(n+Math.PI,Math.PI*2)-Math.PI}class Gt extends Vd{static fromQuaternion(e,t,i){const r=e.toMat3(),[s,o,a,l]=t==="XYZ"?[0,1,2,1]:t==="XZY"?[0,2,1,-1]:t==="YXZ"?[1,0,2,-1]:t==="YZX"?[1,2,0,1]:t==="ZXY"?[2,0,1,1]:[2,1,0,-1],c=[0,0,0],u=r[a+s*3];return c[o]=-l*Math.asin(Ld(u,-1,1)),Math.abs(u)<.999999?(c[s]=l*Math.atan2(r[a+o*3],r[a*4]),c[a]=l*Math.atan2(r[o+s*3],r[s*4])):c[s]=l*Math.atan2(-r[o+a*3],r[o*4]),Math.abs(c[s])+Math.abs(c[a])>Math.PI&&(c[s]=xi(c[s]+Math.PI),c[o]=xi(Math.PI-c[o]),c[a]=xi(c[a]+Math.PI)),new Gt(...c,t).reunit(i)}constructor(e,t,i,r,s){super(),this.x=e??0,this.y=t??0,this.z=i??0,this.order=r??"XYZ",this.unit=s??"rad"}get quat(){return Z.fromEuler(this)}getComponents(){return[this.x,this.y,this.z]}toEuler(e,t){return this.reorder(e).reunit(t)}format(e){return e instanceof Gt?e.reorder(this.order):e.toEuler(this.order,this.unit)}reorder(e){return e===this.order?this:this.quat.toEuler(e,this.unit)}reunit(e){const t={deg:Math.PI/180,rad:1,turn:2*Math.PI}[this.unit],i={deg:180/Math.PI,rad:1,turn:.5/Math.PI}[e],r=t*i;return new Gt(r*this.x,r*this.y,r*this.z,this.order,e)}}class Z extends Vd{static fromAxisAngle(e,t){const i=t/2,r=Math.sin(i);return new Z(e.x*r,e.y*r,e.z*r,Math.cos(i))}static fromEuler(e){const t=e.reunit("rad"),[i,r,s,o]=t.order==="XYZ"?[0,1,2,1]:t.order==="XZY"?[0,2,1,-1]:t.order==="YXZ"?[1,0,2,-1]:t.order==="YZX"?[1,2,0,1]:t.order==="ZXY"?[2,0,1,1]:[2,1,0,-1],a=t.getComponents(),l=.5*a[i],c=.5*o*a[r],u=.5*a[s],h=Math.cos(l),p=Math.cos(c),v=Math.cos(u),m=Math.sin(l),f=Math.sin(c),b=Math.sin(u),E=[0,0,0,v*p*h+b*f*m];return E[i]=v*p*m-b*f*h,E[r]=o*(v*f*h+b*p*m),E[s]=b*p*h-v*f*m,new Z(...E)}static lookRotation(e,t){const{normal:i,tangent:r,binormal:s}=e.orthoNormalize(t),o=s.x,a=r.x,l=i.x,c=s.y,u=r.y,h=i.y,p=s.z,v=r.z,m=i.z,f=o+u+m;if(f>0){const b=.5/Math.sqrt(f+1);return new Z((v-h)*b,(l-p)*b,(c-a)*b,.25/b)}else if(o>u&&o>m){const b=2*Math.sqrt(1+o-u-m);return new Z(.25*b,(a+c)/b,(l+p)/b,(v-h)/b)}else if(u>m){const b=2*Math.sqrt(1+u-o-m);return new Z((a+c)/b,.25*b,(h+v)/b,(l-p)/b)}else{const b=2*Math.sqrt(1+m-o-u);return new Z((l+p)/b,(h+v)/b,.25*b,(c-a)/b)}}constructor(e,t,i,r){super(),this.x=e??0,this.y=t??0,this.z=i??0,this.w=r??1}get quat(){return this}getComponents(){return[this.x,this.y,this.z,this.w]}toEuler(e,t){return Gt.fromQuaternion(this,e,t)}get lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}get length(){return Math.sqrt(this.lengthSq)}get normalized(){const e=this.length;return e===0?new Z:new Z(this.x/e,this.y/e,this.z/e,this.w/e)}get negated(){return new Z(-this.x,-this.y,-this.z,-this.w)}get ban360s(){return this.w<0?this.negated:this}multiply(e){const t=e.quat;return new Z(this.w*t.x+this.x*t.w+this.y*t.z-this.z*t.y,this.w*t.y-this.x*t.z+this.y*t.w+this.z*t.x,this.w*t.z+this.x*t.y-this.y*t.x+this.z*t.w,this.w*t.w-this.x*t.x-this.y*t.y-this.z*t.z)}format(e){return e.quat}slerp(e,t){let i=e.quat;if(t===0)return this;if(t===1)return i;const r=this.ban360s;i=i.ban360s;let s=r.w*i.w+r.x*i.x+r.y*i.y+r.z*i.z;if(s<0&&(i=i.negated,s=-s),s>=1)return r;const o=1-s*s;if(o<=Number.EPSILON){const h=1-t;return new Z(h*r.x+t*i.x,h*r.y+t*i.y,h*r.z+t*i.z,h*r.w+t*i.w).normalized}const a=Math.sqrt(o),l=Math.atan2(a,s),c=Math.sin((1-t)*l)/a,u=Math.sin(t*l)/a;return new Z(r.x*c+i.x*u,r.y*c+i.y*u,r.z*c+i.z*u,r.w*c+i.w*u)}toMat3(){const{x:e,y:t,z:i,w:r}=this;return[1-2*t*t-2*i*i,2*e*t+2*i*r,2*e*i-2*t*r,2*e*t-2*i*r,1-2*e*e-2*i*i,2*t*i+2*e*r,2*e*i+2*t*r,2*t*i-2*e*r,1-2*e*e-2*t*t]}}class Ad{constructor(){this.offset=[0,0,-5],this.fov=30,this.aspect=1,this.viewport=[0,0,1,1]}project(e){const t=(this.viewport[0]+this.viewport[2])*.5,i=(this.viewport[1]+this.viewport[3])*.5,r=this.viewport[2]-this.viewport[0],s=this.viewport[3]-this.viewport[1],o=1/Math.tan(this.fov*Math.PI/360),a=-(e.z+this.offset[2]),l=t+(e.x+this.offset[0])/a*o*r*.5/this.aspect,c=i-(e.y+this.offset[1])/a*o*s*.5;return[l,c]}}class _e{constructor(e,t,i){this.element=e.createElementNS(ie,"path"),this.vertices=t,this.projector=i}setRotation(e){let t="";
17return this.vertices.forEach((i,r)=>{const s=i.applyQuaternion(e),[o,a]=this.projector.project(s);t+=`${r===0?"M":"L"}${o} ${a}`}),this.element.setAttributeNS(null,"d",t),this}}class Q{constructor(e,t,i){this.x=e??0,this.y=t??0,this.z=i??0}getComponents(){return[this.x,this.y,this.z]}get lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}get length(){return Math.sqrt(this.lengthSq)}get normalized(){const e=this.length;return e===0?new Q:new Q(this.x/e,this.y/e,this.z/e)}get negated(){return new Q(-this.x,-this.y,-this.z)}add(e){return new Q(this.x+e.x,this.y+e.y,this.z+e.z)}sub(e){return new Q(this.x-e.x,this.y-e.y,this.z-e.z)}scale(e){return new Q(this.x*e,this.y*e,this.z*e)}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}cross(e){return new Q(this.y*e.z-this.z*e.y,this.z*e.x-this.x*e.z,this.x*e.y-this.y*e.x)}orthoNormalize(e){const t=this.normalized;e=e.normalized;let i=t.dot(e);i===1&&(Math.abs(t.y)>Math.abs(t.z)?e=new Q(0,0,1):e=new Q(0,1,0),i=t.dot(e)),e=e.sub(t.scale(i)).normalized;const r=e.cross(t);return{normal:t,tangent:e,binormal:r}}applyQuaternion(e){const t=e.w*this.x+e.y*this.z-e.z*this.y,i=e.w*this.y+e.z*this.x-e.x*this.z,r=e.w*this.z+e.x*this.y-e.y*this.x,s=-e.x*this.x-e.y*this.y-e.z*this.z;return new Q(t*e.w+s*-e.x+i*-e.z-r*-e.y,i*e.w+s*-e.y+r*-e.x-t*-e.z,r*e.w+s*-e.z+t*-e.y-i*-e.x)}}function je(n,e){const t=e.z>0?new Z(0,0,0,1):new Z(0,0,1,0);return Math.abs(n.z)>.9999?t:Z.lookRotation(n,e)}function Cs(n,e,t,i,r,s=1){const o=[];for(let a=0;a<t;a++){const l=n+e*a/(t-1),c=new Q;c[i]=s*Math.cos(l),c[r]=s*Math.sin(l),o.push(c)}return o}const T=A("rotationgizmo"),Bn=new Q(0,0,0),ox=new Q(1,0,0),ax=new Q(0,1,0),un=new Q(0,0,1),Rn=new Q(0,0,-1),Fc=new Q(.7,0,0),Bc=new Q(0,.7,0),Rc=new Q(0,0,.7),jc=new Q(-.7,0,0),Ic=new Q(0,-.7,0),zc=new Q(0,0,-.7),Uc=new Z(0,0,0,1);function jn(n,e,t){const i=n.createElementNS(ie,"g"),r=n.createElementNS(ie,"circle");r.classList.add(T(e)),r.setAttributeNS(null,"cx","0"),r.setAttributeNS(null,"cy","0"),r.setAttributeNS(null,"r","8"),i.appendChild(r);const s=n.createElementNS(ie,"text");return s.classList.add(T("labeltext")),s.setAttributeNS(null,"y","4"),s.setAttributeNS(null,"text-anchor","middle"),s.setAttributeNS(null,"font-size","10"),s.textContent=t,i.appendChild(s),i}class lx{get xArcBElement(){return this.xArcBC_.element}get yArcBElement(){return this.yArcBC_.element}get zArcBElement(){return this.zArcBC_.element}get xArcFElement(){return this.xArcFC_.element}get yArcFElement(){return this.yArcFC_.element}get zArcFElement(){return this.zArcFC_.element}get rArcElement(){return this.rArcC_.element}constructor(e,t){this.onFoldableChange_=this.onFoldableChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.onModeChange_=this.onModeChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(T()),t.pickerLayout==="popup"&&this.element.classList.add(T(void 0,"p"));const i=e.createElement("div");i.classList.add(T("p")),t.viewProps.bindTabIndex(i),this.element.appendChild(i),this.padElement=i;const r=e.createElementNS(ie,"svg");r.classList.add(T("g")),this.padElement.appendChild(r),this.svgElem_=r,this.projector_=new Ad,this.projector_.viewport=[0,0,136,136];const s=Cs(0,Math.PI,33,"x","y"),o=Cs(0,2*Math.PI,65,"x","y",1.1);this.xArcB_=new _e(e,s,this.projector_),this.xArcB_.element.classList.add(T("arcx")),this.svgElem_.appendChild(this.xArcB_.element),this.yArcB_=new _e(e,s,this.projector_),this.yArcB_.element.classList.add(T("arcy")),this.svgElem_.appendChild(this.yArcB_.element),this.zArcB_=new _e(e,s,this.projector_),this.zArcB_.element.classList.add(T("arcz")),this.svgElem_.appendChild(this.zArcB_.element),this.xArcBC_=new _e(e,s,this.projector_),this.xArcBC_.element.classList.add(T("arcc")),this.svgElem_.appendChild(this.xArcBC_.element),this.yArcBC_=new _e(e,s,this.projector_),this.yArcBC_.element.classList.add(T("arcc")),this.svgElem_.appendChild(this.yArcBC_.element),this.zArcBC_=new _e(e,s,this.projector_),this.zArcBC_.element.classList.add(T("arcc")),this.svgElem_.appendChild(this.zArcBC_.element);const a=e.createElementNS(ie,"g");r.classList.add(T("axes")),this.svgElem_.appendChild(a),this.axesElem_=a,this.xAxis_=new _e(e,[Bn,Fc],this.projector_),this.xAxis_.element.classList.add(T("axisx")),this.axesElem_.appendChild(this.xAxis_.element),this.yAxis_=new _e(e,[Bn,Bc],this.projector_),this.yAxis_.element.classList.add(T("axisy")),this.axesElem_.appendChild(this.yAxis_.element),this.zAxis_=new _e(e,[Bn,Rc],this.projector_),this.zAxis_.element.classList.add(T("axisz")),this.axesElem_.appendChild(this.zAxis_.element),this.xnAxis_=new _e(e,[Bn,jc],this.projector_),this.xnAxis_.element.classList.add(T("axisn")),this.axesElem_.appendChild(this.xnAxis_.element),this.ynAxis_=new _e(e,[Bn,Ic],this.projector_),this.ynAxis_.element.classList.add(T("axisn")),this.axesElem_.appendChild(this.ynAxis_.element),this.znAxis_
17=new _e(e,[Bn,zc],this.projector_),this.znAxis_.element.classList.add(T("axisn")),this.axesElem_.appendChild(this.znAxis_.element),this.xArcF_=new _e(e,s,this.projector_),this.xArcF_.element.classList.add(T("arcx")),this.svgElem_.appendChild(this.xArcF_.element),this.yArcF_=new _e(e,s,this.projector_),this.yArcF_.element.classList.add(T("arcy")),this.svgElem_.appendChild(this.yArcF_.element),this.zArcF_=new _e(e,s,this.projector_),this.zArcF_.element.classList.add(T("arcz")),this.svgElem_.appendChild(this.zArcF_.element),this.xArcFC_=new _e(e,s,this.projector_),this.xArcFC_.element.classList.add(T("arcc")),this.svgElem_.appendChild(this.xArcFC_.element),this.yArcFC_=new _e(e,s,this.projector_),this.yArcFC_.element.classList.add(T("arcc")),this.svgElem_.appendChild(this.yArcFC_.element),this.zArcFC_=new _e(e,s,this.projector_),this.zArcFC_.element.classList.add(T("arcc")),this.svgElem_.appendChild(this.zArcFC_.element),this.rArc_=new _e(e,o,this.projector_),this.rArc_.element.classList.add(T("arcr")),this.rArc_.setRotation(Uc),this.svgElem_.appendChild(this.rArc_.element),this.rArcC_=new _e(e,o,this.projector_),this.rArcC_.element.classList.add(T("arcc")),this.rArcC_.setRotation(Uc),this.svgElem_.appendChild(this.rArcC_.element);const l=e.createElementNS(ie,"g");r.classList.add(T("labels")),this.svgElem_.appendChild(l),this.labelsElem_=l,this.xLabel=jn(e,"labelcirclex","X"),this.labelsElem_.appendChild(this.xLabel),this.yLabel=jn(e,"labelcircley","Y"),this.labelsElem_.appendChild(this.yLabel),this.zLabel=jn(e,"labelcirclez","Z"),this.labelsElem_.appendChild(this.zLabel),this.xnLabel=jn(e,"labelcirclen","-X"),this.labelsElem_.appendChild(this.xnLabel),this.ynLabel=jn(e,"labelcirclen","-Y"),this.labelsElem_.appendChild(this.ynLabel),this.znLabel=jn(e,"labelcirclen","-Z"),this.labelsElem_.appendChild(this.znLabel);const c=()=>{this.xArcB_.element.classList.add(T("arcx_hover")),this.xArcF_.element.classList.add(T("arcx_hover"))},u=()=>{this.xArcB_.element.classList.remove(T("arcx_hover")),this.xArcF_.element.classList.remove(T("arcx_hover"))};this.xArcBC_.element.addEventListener("mouseenter",c),this.xArcBC_.element.addEventListener("mouseleave",u),this.xArcFC_.element.addEventListener("mouseenter",c),this.xArcFC_.element.addEventListener("mouseleave",u);const h=()=>{this.yArcB_.element.classList.add(T("arcy_hover")),this.yArcF_.element.classList.add(T("arcy_hover"))},p=()=>{this.yArcB_.element.classList.remove(T("arcy_hover")),this.yArcF_.element.classList.remove(T("arcy_hover"))};this.yArcBC_.element.addEventListener("mouseenter",h),this.yArcBC_.element.addEventListener("mouseleave",p),this.yArcFC_.element.addEventListener("mouseenter",h),this.yArcFC_.element.addEventListener("mouseleave",p);const v=()=>{this.zArcB_.element.classList.add(T("arcz_hover")),this.zArcF_.element.classList.add(T("arcz_hover"))},m=()=>{this.zArcB_.element.classList.remove(T("arcz_hover")),this.zArcF_.element.classList.remove(T("arcz_hover"))};this.zArcBC_.element.addEventListener("mouseenter",v),this.zArcBC_.element.addEventListener("mouseleave",m),this.zArcFC_.element.addEventListener("mouseenter",v),this.zArcFC_.element.addEventListener("mouseleave",m);const f=()=>{this.rArc_.element.classList.add(T("arcr_hover"))},b=()=>{this.rArc_.element.classList.remove(T("arcr_hover"))};this.rArcC_.element.addEventListener("mouseenter",f),this.rArcC_.element.addEventListener("mouseleave",b),t.value.emitter.on("change",this.onValueChange_),this.value=t.value,t.mode.emitter.on("change",this.onModeChange_),this.mode_=t.mode,this.update_()}get allFocusableElements(){return[this.padElement]}update_(){const e=this.value.rawValue.quat.normalized;this.xAxis_.setRotation(e),this.yAxis_.setRotation(e),this.zAxis_.setRotation(e),this.xnAxis_.setRotation(e),this.ynAxis_.setRotation(e),this.znAxis_.setRotation(e);const t=ox.applyQuaternion(e),i=ax.applyQuaternion(e),r=un.applyQuaternion(e),s=t.negated,o=i.negated,a=r.negated;[{el:this.xAxis_.element,v:t},{el:this.yAxis_.element,v:i},{el:this.zAxis_.element,v:r},{el:this.xnAxis_.element,v:s},{el:this.ynAxis_.element,v:o},{el:this.znAxis_.element,v:a}].map(({el:l,v:c}
17)=>(this.axesElem_.removeChild(l),{el:l,v:c})).sort((l,c)=>l.v.z-c.v.z).forEach(({el:l})=>{this.axesElem_.appendChild(l)}),this.xArcB_.setRotation(je(t,Rn)),this.yArcB_.setRotation(je(i,Rn)),this.zArcB_.setRotation(je(r,Rn)),this.xArcBC_.setRotation(je(t,Rn)),this.yArcBC_.setRotation(je(i,Rn)),this.zArcBC_.setRotation(je(r,Rn)),this.xArcF_.setRotation(je(t,un)),this.yArcF_.setRotation(je(i,un)),this.zArcF_.setRotation(je(r,un)),this.xArcFC_.setRotation(je(t,un)),this.yArcFC_.setRotation(je(i,un)),this.zArcFC_.setRotation(je(r,un)),[{el:this.xLabel,v:Fc},{el:this.yLabel,v:Bc},{el:this.zLabel,v:Rc},{el:this.xnLabel,v:jc},{el:this.ynLabel,v:Ic},{el:this.znLabel,v:zc}].forEach(({el:l,v:c})=>{const[u,h]=this.projector_.project(c.applyQuaternion(e));l.setAttributeNS(null,"transform",`translate( ${u}, ${h} )`)}),[{el:this.xLabel,v:t},{el:this.yLabel,v:i},{el:this.zLabel,v:r},{el:this.xnLabel,v:s},{el:this.ynLabel,v:o},{el:this.znLabel,v:a}].map(({el:l,v:c})=>(this.labelsElem_.removeChild(l),{el:l,v:c})).sort((l,c)=>l.v.z-c.v.z).forEach(({el:l})=>{this.labelsElem_.appendChild(l)})}onValueChange_(){this.update_()}onFoldableChange_(){this.update_()}onModeChange_(){const e=this.mode_.rawValue,t=e==="angle-x"?"add":"remove",i=e==="angle-y"?"add":"remove",r=e==="angle-z"?"add":"remove",s=e==="angle-r"?"add":"remove";this.xArcB_.element.classList[t](T("arcx_active")),this.yArcB_.element.classList[i](T("arcy_active")),this.zArcB_.element.classList[r](T("arcz_active")),this.xArcF_.element.classList[t](T("arcx_active")),this.yArcF_.element.classList[i](T("arcy_active")),this.zArcF_.element.classList[r](T("arcz_active")),this.rArc_.element.classList[s](T("arcr_active"))}}function Md(n){return Ld(n,0,1)}function cx(n){if(n<=0)return 0;if(n>=1)return 1;const e=1-n,t=e*(e*(e*(e*(e*(e*(e*-6+7))))));return Md(1-t)}function ux(n,e,t){return Md((t-n)/(e-n))}const Qt=1/Math.sqrt(2),hx=new Q(1,0,0),dx=new Q(0,1,0),px=new Q(0,0,1),vx=new Z(0,0,0,1),mx=new Z(Qt,0,0,Qt),fx=new Z(0,-Qt,0,Qt),bx=new Z(-Qt,0,0,Qt),_x=new Z(0,Qt,0,Qt),wx=new Z(0,1,0,0);class gx{constructor(e,t){this.onPadKeyDown_=this.onPadKeyDown_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.mode_=ge("free"),this.view=new lx(e,{value:this.value,mode:this.mode_,viewProps:this.viewProps,pickerLayout:t.pickerLayout}),this.ptHandler_=new Me(this.view.padElement),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.padElement.addEventListener("keydown",this.onPadKeyDown_);const i=new Me(this.view.xArcBElement);i.emitter.on("down",()=>this.changeModeIfNotAuto_("angle-x")),i.emitter.on("up",()=>this.changeModeIfNotAuto_("free"));const r=new Me(this.view.xArcFElement);r.emitter.on("down",()=>this.changeModeIfNotAuto_("angle-x")),r.emitter.on("up",()=>this.changeModeIfNotAuto_("free"));const s=new Me(this.view.yArcBElement);s.emitter.on("down",()=>this.changeModeIfNotAuto_("angle-y")),s.emitter.on("up",()=>this.changeModeIfNotAuto_("free"));const o=new Me(this.view.yArcFElement);o.emitter.on("down",()=>this.changeModeIfNotAuto_("angle-y")),o.emitter.on("up",()=>this.changeModeIfNotAuto_("free"));const a=new Me(this.view.zArcBElement);a.emitter.on("down",()=>this.changeModeIfNotAuto_("angle-z")),a.emitter.on("up",()=>this.changeModeIfNotAuto_("free"));const l=new Me(this.view.zArcFElement);l.emitter.on("down",()=>this.changeModeIfNotAuto_("angle-z")),l.emitter.on("up",()=>this.changeModeIfNotAuto_("free"));const c=new Me(this.view.rArcElement);c.emitter.on("down",()=>this.changeModeIfNotAuto_("angle-r")),c.emitter.on("up",()=>this.changeModeIfNotAuto_("free")),[{el:this.view.xLabel,q:fx},{el:this.view.yLabel,q:mx},{el:this.view.zLabel,q:vx},{el:this.view.xnLabel,q:_x},{el:this.view.ynLabel,q:bx},{el:this.view.znLabel,q:wx}].forEach(({el:u,q:h})=>{new Me(u).emitter.on("down",()=>this.autoRotate_(h))}),this.px_=null,this.py_=null,this.angleState_=null}handlePointerEvent_(e){if(!e.point)return;const t=this.mode_.rawValue,i=e.point.x,r=e.point.y;if(t!=="auto")if(t==="free"){if(this.px_!=null&&this.py_!=null){const s=i-this.px_,o=r-this.py_,a=Math.sqrt(s*s+o*o);if(a===0)return;const l=new Q(o/a,s/a,0),c=Z.fromAxisAngle(l,a/68);this.value.rawValue=this.value.rawValue.premultiply(c)}this.px_=i,this.py_=r}else if(t==="angle-r"){const s=e.bounds.width/2,o=e.bounds.height/2,a=Math.atan2(r-o,i-s);if(this.angleState_==null){const l=new Q(0,0,1);this.angleState_={initialRotation:this.value.rawValue,initialAngle:a,axis:l,reverseAngle:!0}}else{const{initialRotation:l,initialAngle:c,axis:u}=this.angleState_,h=-xi(a-c),p=Z.fromAxisAngle(u,h);
17this.value.rawValue=l.premultiply(p)}}else{const s=e.bounds.width/2,o=e.bounds.height/2,a=Math.atan2(r-o,i-s);if(this.angleState_==null){const l=t==="angle-x"?hx:t==="angle-y"?dx:px,c=l.applyQuaternion(this.value.rawValue.quat).z>0;this.angleState_={initialRotation:this.value.rawValue,initialAngle:a,axis:l,reverseAngle:c}}else{const{initialRotation:l,initialAngle:c,axis:u,reverseAngle:h}=this.angleState_;let p=xi(a-c);p=h?-p:p;const v=Z.fromAxisAngle(u,p);this.value.rawValue=l.multiply(v)}}}onPointerDown_(e){this.handlePointerEvent_(e.data)}onPointerMove_(e){this.handlePointerEvent_(e.data)}onPointerUp_(){this.px_=null,this.py_=null,this.angleState_=null}onPadKeyDown_(e){Li(e.key)&&e.preventDefault();const t=Se(1,lt(e)),i=Se(1,Yt(e));if(t!==0||i!==0){const r=new Q(-i,t,0),s=Z.fromAxisAngle(r,Math.PI/16);this.value.rawValue=this.value.rawValue.premultiply(s)}}changeModeIfNotAuto_(e){this.mode_.rawValue!=="auto"&&(this.mode_.rawValue=e)}autoRotate_(e){this.mode_.rawValue="auto";const t=this.value.rawValue,i=Date.now(),r=()=>{const s=Date.now(),o=cx(ux(0,300,s-i));if(this.value.rawValue=t.slerp(e,o),o===1){this.mode_.rawValue="free";return}requestAnimationFrame(r)};requestAnimationFrame(r)}}const hn=A("rotationswatch"),Cx=new Q(1,0,0),yx=new Q(0,1,0),Xr=new Q(0,0,1),xx=new Z(0,0,0,1);class Px{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.element=e.createElement("div"),this.element.classList.add(hn()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("button");i.classList.add(hn("b")),t.viewProps.bindDisabled(i),this.element.appendChild(i),this.buttonElement=i;const r=e.createElementNS(ie,"svg");r.classList.add(hn("g")),i.appendChild(r),this.svgElem_=r,this.projector_=new Ad,this.projector_.viewport=[0,0,20,20];const s=Cs(0,Math.PI,33,"x","y"),o=Cs(0,2*Math.PI,65,"x","y");this.rArc_=new _e(e,o,this.projector_),this.rArc_.element.classList.add(hn("arcr")),r.appendChild(this.rArc_.element),this.rArc_.setRotation(xx),this.xArc_=new _e(e,s,this.projector_),this.xArc_.element.classList.add(hn("arc")),r.appendChild(this.xArc_.element),this.yArc_=new _e(e,s,this.projector_),this.yArc_.element.classList.add(hn("arc")),r.appendChild(this.yArc_.element),this.zArc_=new _e(e,s,this.projector_),this.zArc_.element.classList.add(hn("arc")),r.appendChild(this.zArc_.element),this.update_()}update_(){const e=this.value.rawValue.quat.normalized,t=Cx.applyQuaternion(e),i=yx.applyQuaternion(e),r=Xr.applyQuaternion(e);this.xArc_.setRotation(je(t,Xr)),this.yArc_.setRotation(je(i,Xr)),this.zArc_.setRotation(je(r,Xr))}onValueChange_(){this.update_()}}class Ex{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new Px(e,{value:this.value,viewProps:this.viewProps})}}const It=A("rotation");class kx{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(It()),t.foldable.bindExpandedClass(this.element,It(void 0,"expanded")),Ye(t.foldable,"completed",Mt(this.element,It(void 0,"cpl"))),t.rotationMode==="quaternion"&&this.element.classList.add(It("quat"));const i=e.createElement("div");i.classList.add(It("h")),this.element.appendChild(i);const r=e.createElement("div");r.classList.add(It("s")),i.appendChild(r),this.swatchElement=r;const s=e.createElement("div");if(s.classList.add(It("t")),i.appendChild(s),this.textElement=s,t.pickerLayout==="inline"){const o=e.createElement("div");o.classList.add(It("g")),this.element.appendChild(o),this.pickerElement=o}else this.pickerElement=null}}class $d{constructor(e,t){this.onButtonBlur_=this.onButtonBlur_.bind(this),this.onButtonClick_=this.onButtonClick_.bind(this),this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.foldable_=Lr.create(t.expanded),this.swatchC_=new Ex(e,{value:this.value,viewProps:this.viewProps});const i=this.swatchC_.view.buttonElement;i.addEventListener("blur",this.onButtonBlur_),i.addEventListener("click",this.onButtonClick_),this.textC_=new tn(e,{assembly:t.assembly,axes:t.axes,parser:t.parser,value:this.value,viewProps:this.viewProps}),this.view=new kx(e,{rotationMode:t.rotationMode,foldable:this.foldable_,pickerLayout:t.pickerLayout}),this.view.swatchElement.appendChild(this.swatchC_.view.element),this.view.textElement.appendChild(this.textC_.view.element),this.popC_=t.pickerLayout==="popup"?new Ms(e,{viewProps:this.viewProps}):null;const r=new gx(e,{value:this.value,viewProps:this.viewProps,pickerLayout:t.pickerLayout});
17r.view.allFocusableElements.forEach(s=>{s.addEventListener("blur",this.onPopupChildBlur_),s.addEventListener("keydown",this.onPopupChildKeydown_)}),this.gizmoC_=r,this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(r.view.element),en({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:s=>s,backward:(s,o)=>o})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.gizmoC_.view.element),Ar(this.foldable_,this.view.pickerElement))}onButtonBlur_(e){if(!this.popC_)return;const t=this.view.element,i=e.relatedTarget;(!i||!t.contains(i))&&(this.popC_.shows.rawValue=!1)}onButtonClick_(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.gizmoC_.view.allFocusableElements[0].focus()}onPopupChildBlur_(e){if(!this.popC_)return;const t=this.popC_.view.element,i=Vs(e);i&&t.contains(i)||i&&i===this.swatchC_.view.buttonElement&&!Sr(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(e){this.popC_?e.key==="Escape"&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&e.key==="Escape"&&this.swatchC_.view.buttonElement.focus()}}function fo(n,e){const t=Math.pow(.1,n);return{baseStep:t,constraint:e,textProps:F.fromObject({formatter:Le(n),keyScale:t,pointerScale:t})}}function dn(n){if(!n)return;const e=[];return de(n.step)||e.push(new mu(n.step)),(!de(n.max)||!de(n.min))&&e.push(new Es({max:n.max,min:n.min})),new gt(e)}function qc(n,e){return{toComponents:t=>t.getComponents(),fromComponents:t=>new Gt(t[0],t[1],t[2],n,e)}}function Kc(n,e,t){return typeof(n==null?void 0:n.x)=="number"&&typeof(n==null?void 0:n.y)=="number"&&typeof(n==null?void 0:n.z)=="number"?new Gt(n.x,n.y,n.z,e,t):new Gt(0,0,0,e,t)}function Sx(n){switch(n){case"XYZ":case"XZY":case"YXZ":case"YZX":case"ZXY":case"ZYX":return n;default:return}}function Vx(n){switch(n){case"rad":case"deg":case"turn":return n;default:return}}re({id:"rotation",type:"input",accept(n,e){var t,i;const r=te(e,s=>({view:s.required.constant("rotation"),label:s.optional.string,picker:s.optional.custom(Ds),expanded:s.optional.boolean,rotationMode:s.required.constant("euler"),x:s.optional.custom(Ue),y:s.optional.custom(Ue),z:s.optional.custom(Ue),order:s.optional.custom(Sx),unit:s.optional.custom(Vx)}));return r?{initialValue:Kc(n,(t=r.order)!==null&&t!==void 0?t:"XYZ",(i=r.unit)!==null&&i!==void 0?i:"rad"),params:r}:null},binding:{reader({params:n}){return e=>{var t,i;return Kc(e,(t=n.order)!==null&&t!==void 0?t:"XYZ",(i=n.unit)!==null&&i!==void 0?i:"rad")}},constraint({params:n}){var e,t;return new Xt({assembly:qc((e=n.order)!==null&&e!==void 0?e:"XYZ",(t=n.unit)!==null&&t!==void 0?t:"rad"),components:[dn("x"in n?n.x:void 0),dn("y"in n?n.y:void 0),dn("z"in n?n.z:void 0)]})},writer(n){return(e,t)=>{e.writeProperty("x",t.x),e.writeProperty("y",t.y),e.writeProperty("z",t.z)}}},controller({document:n,value:e,constraint:t,params:i,viewProps:r}){var s,o;if(!(t instanceof Xt))throw at.shouldNeverHappen();const a="expanded"in i?i.expanded:void 0,l="picker"in i?i.picker:void 0,c=(s=i.unit)!==null&&s!==void 0?s:"rad",u={rad:2,deg:0,turn:2}[c];return new $d(n,{axes:[fo(u,t.components[0]),fo(u,t.components[1]),fo(u,t.components[2])],assembly:qc((o=i.order)!==null&&o!==void 0?o:"XYZ",c),rotationMode:"euler",expanded:a??!1,parser:Oe,pickerLayout:l??"popup",value:e,viewProps:r})}});const Hc={toComponents:n=>[n.x,n.y,n.z,n.w],fromComponents:n=>new Z(n[0],n[1],n[2],n[3])};function Zr(n){return{baseStep:.01,constraint:n,textProps:F.fromObject({formatter:e=>Math.abs(e)<.995?e.toFixed(2).replace("0.","."):e.toFixed(1),keyScale:.01,pointerScale:.01})}}function Wc(n){return typeof(n==null?void 0:n.x)=="number"&&typeof(n==null?void 0:n.y)=="number"&&typeof(n==null?void 0:n.z)=="number"&&typeof(n==null?void 0:n.w)=="number"?new Z(n.x,n.y,n.z,n.w):new Z(0,0,0,1)}re({id:"rotation",type:"input",accept(n,e){const t=te(e,i=>({view:i.required.constant("rotation"),label:i.optional.string,picker:i.optional.custom(Ds),expanded:i.optional.boolean,rotationMode:i.optional.constant("quaternion"),x:i.optional.custom(Ue),y:i.optional.custom(Ue),z:i.optional.custom(Ue),w:i.optional.custom(Ue)}));return t?{initialValue:Wc(n),params:t}:null},binding:{reader(n){return e=>Wc(e)},constraint({params:n}){return new Xt({assembly:Hc,components:[dn("x"in n?n.x:void 0),dn("y"in n?n.y:void 0),dn("z"in n?n.z:void 0),dn("w"in n?n.w:void 0)]})},writer(n){return(e,t)=>{e.writeProperty("x",t.x),e.writeProperty("y",t.y),e.writeProperty("z",t.z),e.writeProperty("w",t.w)}}},controller({document:n,value:e,constraint:t,params:i,viewProps:r}){if(!(t instanceof Xt))throw at.shouldNeverHappen();const s="expanded"in i?i.expanded:void 0,o="picker"in i?i.picker:void 0;return new $d(n,{axes:[Zr(t.components[0]),Zr(t.components[1]),Zr(t.components[2]),Zr(t.components[3])],assembly:Hc,rotationMode:"quaternion",expanded:s??!1,parser:Oe,pickerLayout:o??"popup",value:e,viewProps:r})}});class Gc{constructor(e,t){this.step=e,this.edge=t}constrain(e){var t,i;return(i=(t=this.edge)===null||t===void 0?void 0:t.constrain(e))!==null&&i!==void 0?i:e}}let Lx=class{constructor(e){this.val=e}static isObject(e){return!(typeof e!="object"||e===null||typeof e.val!="number")}static equals(e,t){return e.val===t.val}toObject(){return{val:this.val}}};const Dd={fromComponents:n=>n[0],toComponents:n=>[n]},bo=A("step");class Td{constructor(e,t){this.buttonsView_=t.buttonsView,this.textView_=t.textView,this.element=e.createElement("div"),this.element.classList.add(bo());const i=e.createElement("div");i.classList.add(bo("s")),i.appendChild(this.buttonsView_.element),this.element.appendChild(i);const r=e.createElement("div");r.classList.add(bo("t")),r.appendChild(this.textView_.element),this.element.appendChild(r)}}const _o=A("step");class Nd{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(_o()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("button");i.textContent="-",i.classList.add(_o("b")),t.viewProps.bindDisabled(i),this.element.appendChild(i),this.btnMinus=i;const r=e.createElement("button");r.textContent="+",r.classList.add(_o("b")),t.viewProps.bindDisabled(r),this.element.appendChild(r),this.btnPlus=r}}class Od{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.step=t.constraint?t.constraint.step:1,this.view=new Nd(e,{value:this.value,viewProps:t.viewProps}),this.view.btnMinus.addEventListener("click",()=>{var i;const r=(i=this.value.rawValue)!==null&&i!==void 0?i:0;this.value.setRawValue(r-this.step,{forceEmit:!0,last:!0})}),this.view.btnPlus.addEventListener("click",()=>{var i;const r=(i=this.value.rawValue)!==null&&i!==void 0?i:0;this.value.setRawValue(r+this.step,{forceEmit:!0,last:!0})})}}class Fd{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.sc_=new Od(e,t);const i={constraint:t.constraint.edge,textProps:t.textProps};this.tc_=new tn(e,{assembly:Dd,axes:[i],parser:t.parser,value:this.value,viewProps:t.viewProps}),this.view=new Td(e,{buttonsView:this.sc_.view,textView:this.tc_.view})}get textController(){return this.tc_}}const Ax=re({id:"input-stepper",type:"input",accept:(n,e)=>{if(typeof n!="number")return null;const t=te(e,i=>{var r;return{view:i.required.constant("stepper"),max:i.optional.number,min:i.optional.number,step:(r=i.optional.number)!==null&&r!==void 0?r:1}});return t?{initialValue:n,params:t}:null},binding:{reader(n){return e=>typeof e=="number"?e:0},writer(n){return(e,t)=>{e.write(t)}},constraint(n){const e=[],t=Er(n.params);t&&e.push(t);const i=Pr(n.params);return i&&e.push(i),new Gc(n.params.step?n.params.step:1,new gt(e))}},controller(n){const e=n.value,t=n.constraint;if(!(t instanceof Gc))throw at.shouldNeverHappen();const i=F.fromObject(ii(n.params,e.rawValue));return new Fd(n.document,{constraint:t,parser:Oe,textProps:i,value:e,viewProps:n.viewProps})}}),Mx="inputs",$x=".tp-stepv,.tp-stepv_b{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;outline:none;padding:0}.tp-stepv_b{background-color:var(--btn-bg);border-radius:var(--bld-br);color:var(--btn-fg);cursor:pointer;display:block;font-weight:bold;height:var(--cnt-usz);line-height:var(--cnt-usz);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-stepv_b:hover{background-color:var(--btn-bg-h)}.tp-stepv_b:focus{background-color:var(--btn-bg-f)}.tp-stepv_b:active{background-color:var(--btn-bg-a)}.tp-stepv_b:disabled{opacity:.5}.tp-stepv{background-color:var(--in-bg);border-radius:var(--bld-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--cnt-usz);line-height:var(--cnt-usz);min-width:0;width:100%}.tp-stepv:hover{background-color:var(--in-bg-h)}.tp-stepv:focus{background-color:var(--in-bg-f)}.tp-stepv:active{background-color:var(--in-bg-a)}.tp-stepv:disabled{opacity:.5}.tp-stepv{display:flex;gap:var(--cnt-hp);background:none}.tp-stepv:hover,.tp-stepv:active{background:none}.tp-stepv_t{flex:1}.tp-stepv.tp-v-disabled{opacity:.5}.tp-stepv_b{position:relative;width:var(--cnt-usz)}",Dx=[Ax],Tx=Object.freeze(Object.defineProperty({__proto__:null,Stepper:Lx,StepperAssembly:Dd,StepperButtonsController:Od,StepperButtonsView:Nd,StepperTextController:Fd,StepperTextView:Td,css:$x,id:Mx,plugins:Dx},Symbol.toStringTag,{value:"Module"}));function wo(n,e){const t=Pe(e,["children","$$slots","$$events","$$legacy"]),i=Pe(t,["value","wide"]);me(e,!1);let r=g(e,"value",12),s=g(e,"wide",24,()=>{}),o=se(),a=se();function l(c){var v,m;const u=(v=d(a))==null?void 0:v.element.querySelector("div.tp-stepv_t"),h=(m=d(a))==null?void 0:m.element.querySelector("div.tp-stepv_s"),p=h==null?void 0:h.querySelectorAll("button");if(c){u==null||u.style.setProperty("display","none"),h==null||h.style.setProperty("flex","1");for(const f of p??[])f.style.setProperty("flex","1")}else u==null||u.style.removeProperty("display")}B(()=>{},()=>{P(o,{view:"stepper"})}),B(()=>(d(a),S(s())),()=>{d(a)&&s()!==void 0&&l(s())}),Xe(),Ed(n,Ve({get options(){return d(o)},plugin:Tx},()=>i,{get value(){return r()},set value(c){r(c)},get ref(){return d(a)},set ref(c){P(a,c)},$$events:{change(c){Sn.call(this,e,c)}},$$legacy:!0})),fe()}function Nx(n,e){const t=Pe(e,["children","$$slots","$$events","$$legacy"]),i=Pe(t,["value","live"]);me(e,!1);let r=g(e,"value",12),s=g(e,"live",8,!0);const o={view:"text"};let a=se();ni(()=>
17{c(s()??!0,!0)});function l(u){var h;(h=u.target)==null||h.dispatchEvent(new Event("change"))}function c(u,h=!1){var v;const p=(v=d(a))==null?void 0:v.controller.valueController.view.element.querySelector("input");p==null||p.removeEventListener("input",l),!h&&u&&(p==null||p.addEventListener("input",l))}B(()=>(d(a),S(s())),()=>{d(a)&&s()!==void 0&&c(s())}),Xe(),ct(),Pd(n,Ve({options:o},()=>i,{get value(){return r()},set value(u){r(u)},get ref(){return d(a)},set ref(u){P(a,u)},$$events:{change(u){Sn.call(this,e,u)}},$$legacy:!0})),fe()}const Yc=A("txtr");class Ox{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(Yc()),t.viewProps.bindClassModifiers(this.element);const i=e.createElement("textarea");i.rows=t.rows,i.cols=22,i.placeholder=t.placeholder,i.classList.add(Yc("i")),t.viewProps.bindDisabled(i),this.element.appendChild(i),this.inputElement=i,t.value.emitter.on("change",this.onChange_),this.value_=t.value,this.refresh()}refresh(){this.inputElement.value=this.value_.rawValue}onChange_(){this.refresh()}}class Fx{constructor(e,t){this.onInputChange_=this.onInputChange_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.rows=t.rows,this.placeholder=t.placeholder,this.view=new Ox(e,{value:this.value,viewProps:this.viewProps,rows:this.rows,placeholder:this.placeholder}),this.view.inputElement.addEventListener("keyup",this.onInputChange_)}onInputChange_(e){const i=e.currentTarget.value;this.value.rawValue=i,this.view.refresh()}}re({id:"input-template",type:"input",accept(n,e){if(typeof n!="string")return null;const t=te(e,i=>({view:i.required.constant("textarea"),rows:i.optional.number,placeholder:i.optional.string}));return t?{initialValue:n,params:t}:null},binding:{reader(n){return e=>typeof e=="string"?e:""},writer(n){return(e,t)=>{e.write(t)}}},controller(n){var e,t;return new Fx(n.document,{value:n.value,rows:(e=n.params.rows)!==null&&e!==void 0?e:3,placeholder:(t=n.params.placeholder)!==null&&t!==void 0?t:"Enter text here",viewProps:n.viewProps})}});function go(n,e){const t=Pe(e,["children","$$slots","$$events","$$legacy"]),i=Pe(t,["value","amount","wide"]);me(e,!1);let r=g(e,"value",12),s=g(e,"amount",24,()=>{}),o=g(e,"wide",24,()=>{}),a=se();B(()=>(S(s()),S(o())),()=>{P(a,{amount:s(),view:"camerawheel",wide:o()})}),Xe(),Ed(n,Ve({get options(){return d(a)},plugin:ix},()=>i,{get value(){return r()},set value(l){r(l)},$$events:{change(l){Sn.call(this,e,l)}},$$legacy:!0})),fe()}var Bx=ke('<div style="display: none;"><!></div>');function qn(n,e){me(e,!1);const[t,i]=gr(),r=()=>fn(p,"$folderStore",t),s=()=>fn(h,"$parentStore",t);let o=g(e,"title",8,"Folder"),a=g(e,"disabled",8,!1),l=g(e,"expanded",12,!0),c=g(e,"userExpandable",8,!0),u=g(e,"theme",24,()=>{});const h=St("parentStore"),p=Go(),v=St("userCreatedPane");let m=se(),f=se(),b=se(void 0);ns("parentStore",p);function E(){au(p,s().addFolder({disabled:a(),expanded:l(),index:d(f),title:o()})),r().on("fold",()=>{l(r().expanded)}),P(b,r())}Cr(()=>{P(f,d(m)?ga(d(m)):0)}),ni(()=>{var x;(x=r())==null||x.dispose()}),B(()=>(s(),d(b),d(f)),()=>{s()&&!d(b)&&d(f)!==void 0&&E()}),B(()=>(d(b),S(c())),()=>{d(b)&&rh(c(),d(b).element,"tp-fldv_b","tp-fldv_m")}),B(()=>(d(b),S(o())),()=>{d(b)&&Kt(b,d(b).title=o())}),B(()=>(d(b),S(a())),()=>{d(b)&&Kt(b,d(b).disabled=a())}),B(()=>(d(b),S(l())),()=>{d(b)&&l()!==void 0&&Kt(b,d(b).expanded=l())}),B(()=>(S(u()),s(),Jn),()=>{u()&&s()&&(v||!Jn(s()))&&console.warn("Set theme on the <Pane> component, not on its children! (Check nested <Folder> components for a theme prop.)")}),Xe(),ct();var C=oe(),y=W(C);{var K=x=>{var M=oe(),U=W(M);{var D=N=>{var I=Bx(),L=ne(I);ft(L,e,"default",{}),J(I),ti(I,k=>P(m,k),()=>d(m)),$(N,I)};Ie(U,N=>{N(D)})}$(x,M)},j=x=>{js(x,{get theme(){return u()},userCreatedPane:!1,children:(M,U)=>{var D=oe(),N=W(D);qn(N,{get disabled(){return a()},get title(){return o()},get userExpandable(){return c()},get expanded(){return l()},set expanded(I){l(I)},children:(I,L)=>{var k=oe(),H=W(k);ft(H,e,"default",{}),$(I,k)},$$slots:{default:!0},$$legacy:!0}),$(M,D)},$$slots:{default:!0}})};Ie(y,x=>{h?x(K):x(j,!1)})}$(n,C),fe(),i()}var Co={local:{},session:{}};function Rx(n){return n==="local"?localStorage:sessionStorage}function Xc(n,e,t){var i,r,s,o,a,l,c,u;const h=(i=void 0)!=null?i:JSON,p=(r=void 0)!=null?r:"local",v=(s=void 0)!=null?s:!0,m=(a=(o=void 0)!=null?o:void 0)!=null?a:x=>console.error(`Error when writing value from persisted store "${n}" to ${p}
17`,x),f=(l=void 0)!=null?l:(x,M)=>console.error(`Error when parsing ${x?'"'+x+'"':"value"} from persisted store "${n}"`,M),b=(c=void 0)!=null?c:x=>x,E=(u=void 0)!=null?u:x=>x,C=typeof window<"u"&&typeof document<"u",y=C?Rx(p):null;function K(x,M){const U=E(M);try{y==null||y.setItem(x,h.stringify(U))}catch(D){m(D)}}function j(){function x(N){try{return h.parse(N)}catch(I){f(N,I)}}const M=y==null?void 0:y.getItem(n);if(M==null)return e;const U=x(M);return U==null?e:b(U)}if(!Co[p][n]){const x=j(),M=Go(x,N=>{if(C&&p=="local"&&v){const I=L=>{if(L.key===n&&L.newValue){let k;try{k=h.parse(L.newValue)}catch(V){f(L.newValue,V);return}const H=b(k);N(H)}};return window.addEventListener("storage",I),()=>window.removeEventListener("storage",I)}}),{subscribe:U,set:D}=M;Co[p][n]={set(N){D(N),K(n,N)},update(N){return M.update(I=>{const L=N(I);return K(n,L),L})},reset(){this.set(e)},subscribe:U}}return Co[p][n]}const Qr="svelte-tweakpane-ui-draggable-position-",jx="1",In=[];let yo=1e3;var Ix=ke("<div><!></div>");function zx(n,e){const t=Pe(e,["children","$$slots","$$events","$$legacy"]),i=Pe(t,["storePositionLocally","localStoreId","tpPane","expanded","collapseChildrenToFit","x","y","width","resizable","userExpandable","minWidth","maxWidth","title","scale","padding"]);me(e,!1);const[r,s]=gr(),o=()=>fn(d(m),"$positionStore",r),a=se(),l=!0,c=3;let u,h=g(e,"storePositionLocally",8,!0),p=g(e,"localStoreId",8,jx),v=g(e,"tpPane",28,()=>{}),m=se();h()&&wl(P(m,Xc(`${Qr}${p()}`,{x:0,y:0,expanded:!0,width:350})),"$positionStore",r);let f=g(e,"expanded",28,()=>{var w;return((w=o())==null?void 0:w.expanded)??!0}),b=g(e,"collapseChildrenToFit",8,!1),E=g(e,"x",28,()=>{var w;return((w=o())==null?void 0:w.x)??0}),C=g(e,"y",28,()=>{var w;return((w=o())==null?void 0:w.y)??0}),y=g(e,"width",28,()=>{var w;return((w=o())==null?void 0:w.width)??256}),K=g(e,"resizable",8,!0),j=g(e,"userExpandable",8,!0),x=g(e,"minWidth",8,200),M=g(e,"maxWidth",8,600),U=g(e,"title",8,"Tweakpane"),D=g(e,"scale",8,1),N=g(e,"padding",8,"0"),I=se(),L,k,H=se(),V=se(),ce=se(),Y=se(),pe=se(),Ee=se(yo);function be(){p()!==void 0&&(In.includes(p())&&console.warn('Multiple instances of <Pane> with `mode="draggable"` and `storePositionLocally=true` detected. You must explicitly set unique localStoreId property on each component to avoid collisions.'),In.push(p()))}function Be(){p()&&(In.splice(In.indexOf(p()),1),localStorage.removeItem(`${Qr}${p()}`))}function Rd(w){w!==void 0&&d(m)!==void 0&&f()!==void 0&&y()!==void 0&&E()!==void 0&&C()!==void 0&&wl(P(m,Xc(`${Qr}${p()}`,{x:E(),y:C(),expanded:f(),width:y()})),"$positionStore",r)}function tl(){if(E()!==void 0&&C()!==void 0&&y()!==void 0){const w=d(Y),De=d(pe);P(Y,document.documentElement.clientWidth),P(pe,document.documentElement.clientHeight);const Re=d(Y)-w,rn=d(pe)-De,qd=(E()+y()/2)/d(Y),Kd=(C()+d(V)/2)/d(pe);!Number.isNaN(Re)&&qd>=.5&&E(E()+Re),!Number.isNaN(rn)&&Kd>=.5&&C(C()+rn)}}const zr=w=>{w.stopPropagation()};let nl=0,zs=0,il=0,Us=0;const Ur=w=>{w.stopPropagation(),w.target&&y()!==void 0&&w.target===k&&y(y()<d(a)?d(a):x())},qr=w=>{E()!==void 0&&C()!==void 0&&w.button===0&&w.target instanceof HTMLElement&&(Us=0,u=w,ol(),jd(),w.target===L&&(L.style.cursor="grabbing"),Kt(I,d(I).style.transition="width 0s ease"),w.target.setPointerCapture(w.pointerId),nl=y()??0,zs=E()-w.pageX,il=C()-w.pageY)},Kr=w=>{w.target instanceof HTMLElement&&y()!==void 0&&x()!==void 0&&E()!==void 0&&C()!==void 0&&(w.target===L?(Us+=Math.hypot(w.movementX,w.movementY),E(w.pageX+zs),C(w.pageY+il)):w.target===k&&y(Js(w.pageX+zs+nl-E(),x(),d(a))))},rl=()=>{if((u==null?void 0:u.target)instanceof HTMLElement){const{target:w}=u,De=w.getBoundingClientRect(),Re=new PointerEvent("pointercancel",{bubbles:!0,clientX:De.left+De.width/2,clientY:De.top+De.height/2,composed:!0,pointerId:u.pointerId,pointerType:u.pointerType});w.dispatchEvent(Re)}},Dt=w=>{w.stopImmediatePropagation(),w.target instanceof HTMLElement&&(w.target.hasPointerCapture(w.pointerId)&&w.target.releasePointerCapture(w.pointerId),w.target===L&&L.style.removeProperty("cursor"),d(I).style.removeProperty("transition"),w.type==="pointerup"&&l&&w.target===L&&Us<c&&j()&&v()&&v(v().expanded=!v().expanded,!0),u=void 0,al(),sl())},sl=()=>{L.addEventListener("pointerdown",qr),k==null||k.addEventListener("pointerdown",qr)},ol=()=>{L.removeEventListener("pointerdown",qr),k==null||k.removeEventListener("pointerdown",qr)},jd=()=>{window.addEventListener("blur",rl),L.addEventListener("pointermove",Kr),L.addEventListener("pointerup",Dt),L.addEventListener("pointercancel",Dt),k==null||k.addEventListener("pointermove",Kr),k==null||k.addEventListener("pointerup",Dt),k==null||k.addEventListener("pointercancel",Dt)},al=()=>{window.removeEventListener("blur",rl),L.removeEventListener("pointermove",Kr),L.removeEventListener("pointerup",Dt),L.removeEventListener("pointercancel",Dt),k==null||k.removeEventListener("pointermove",Kr),k==null||k.removeEventListener("pointerup",Dt),k==null||k.removeEventListener("pointercancel",Dt)},ll=w=>{w.preventDefault()};Cr(()=>{var De;tl(),v()?d(I).append(v().element):console.warn("no tpPane in draggable"),d(I).addEventListener("touchmove",ll,{passive:!1});const w=d(I).querySelector(".tp-rotv_t");w&&(L=w,L.addEventListener("click",zr),L.addEventListener("dblclick",Ur),k=(De=L.parentElement)==null?void 0:De.appendChild(document.createElement("div")),k&&(k.className="tp-custom-width-handle",k.textContent="â",k.addEventListener("click",zr),k.addEventListener("dblclick",Ur)),sl())}),ni(()=>{var w;ol(),al(),L.removeEventListener("click",zr),L.removeEventListener("dblclick",Ur),k==null||k.removeEventListener("click",zr),k==null||k.removeEventListener("dblclick",Ur),(w=d(I))==null||w.removeEventListener("touchmove",ll),p()!==void 0&&In.splice(In.indexOf(p()),1)});function Id(w){k&&(k.style.display=w?"block":"none")}function cl(w,De=Number.MAX_SAFE_INTEGER){if(De>0)for(const Re of w)if("expanded"in Re)Re.expanded&&(De--,Re.expanded=!1),"children"in Re&&cl(Re.children,De);else{const rn=fb(Re);rn&&mb(Re)&&(De--,rn.click())}}B(()=>(S(v()),S(K())),()=>{v()&&K()&&Id(K())}),B(()=>(d(I),S(D()),d(H)),()=>{if(d(I))if(D()===void 0||D()===1)P(V,d(H));else{const w=window.getComputedStyle(d(I)),De=Number.parseFloat(w.paddingTop)+Number.parseFloat(w.paddingBottom);P(V,(d(H)-De)*D()+De)}}),B(()=>(d(V),d(Y),d(pe),S(E()),S(C()),S(y()),S(x()),S(M()),S(b()),S(v()),d(ce)),()=>{d(V)!==void 0&&d(Y)!==void 0&&d(pe)!==void 0&&E()!==void 0&&C()!==void 0&&y()!==void 0&&x()!==void 0&&M()!==void 0&&(b()&&d(V)>d(pe)&&v()&&cl(v().children),E(Js(E(),0,Math.max(0,d(Y)-d(ce)))),C(Js(C(),0,Math.max(0,d(pe)-d(V)))),d(Y)<d(ce)&&y(Math.max(x(),Math.min(M(),d(Y)))))}),B(()=>(S(M()),d(Y),S(E())),()=>{P(a,Math.min(M()??600,d(Y)-(E()??0)))}),B(()=>(S(p()),S(h())),()=>{p(),h()&&be()}),B(()=>(S(p()),S(h())),()=>{p(),!h()&&Be()}),B(()=>S(p()),()=>{p()!==`${Qr}${p()}`&&Rd(p())}),B(()=>(S(h()),S(p()),S(E()),S(C()),S(y()),S(f()),d(m)),()=>{var w;h()&&p()!==void 0&&E()!==void 0&&C()!==void 0&&y()!==void 0&&f()!==void 0&&((w=d(m))==null||w.set({x:E(),y:C(),expanded:f(),width:y()}))}),Xe(),ct();var pt=Ix();es("resize",su,tl);let ul,hl;var zd=ne(pt),Ud=O(()=>Ns(i,"position"));Wa(zd,Ve({get scale(){return D()},get title(){return U()}},()=>d(Ud),{get expanded(){return f()},set expanded(w){f(w)},get tpPane(){return v()},set tpPane(w){v(w)},children:(w,De)=>{var Re=oe(),rn=W(Re);ft(rn,e,"default",{}),$(w,Re)},$$slots:{default:!0},$$legacy:!0})),J(pt),ti(pt,w=>P(I,w),()=>d(I)),mn(w=>
17{ul=hs(pt,1,"draggable-container svelte-ex9mcb",null,ul,w),hl=Pi(pt,"",hl,{left:`${E()??""}px`,padding:N(),top:`${C()??""}px`,width:`${y()??""}px`,"z-index":d(Ee)})},[()=>({"not-collapsable":!j(),"not-resizable":!K()})],ou),Cl(pt,"clientHeight",w=>P(H,w)),Cl(pt,"clientWidth",w=>P(ce,w)),es("focus",pt,()=>{P(Ee,++yo)},!0),es("pointerdown",pt,()=>{P(Ee,++yo)},!0),$(n,pt),fe(),s()}var Ux=ke('<div style="display: none;"><!></div>');function qx(n,e){const t=Pe(e,["children","$$slots","$$events","$$legacy"]),i=Pe(t,["expanded","x","y","width","title","tpPane"]);me(e,!1);let r=g(e,"expanded",28,()=>{}),s=g(e,"x",24,()=>{}),o=g(e,"y",24,()=>{}),a=g(e,"width",24,()=>{}),l=g(e,"title",8,"Tweakpane"),c=g(e,"tpPane",28,()=>{}),u=se();B(()=>S(c()),()=>{var m;(m=c())!=null&&m.element.parentElement&&P(u,c().element.parentElement)}),B(()=>(d(u),S(s())),()=>{d(u)!==void 0&&s()!==void 0&&(d(u).style.setProperty("right","unset"),d(u).style.setProperty("left",`${s()}px`))}),B(()=>(d(u),S(o())),()=>{d(u)!==void 0&&o()!==void 0&&d(u).style.setProperty("top",`${o()}px`)}),B(()=>(d(u),S(a())),()=>{d(u)!==void 0&&a()!==void 0&&d(u).style.setProperty("width",`${a()}px`)}),Xe(),ct();var h=Ux(),p=ne(h),v=O(()=>Ns(i,"position"));Wa(p,Ve({get title(){return l()}},()=>d(v),{get expanded(){return r()},set expanded(m){r(m)},get tpPane(){return c()},set tpPane(m){c(m)},children:(m,f)=>{var b=oe(),E=W(b);ft(E,e,"default",{}),$(m,b)},$$slots:{default:!0},$$legacy:!0})),J(h),$(n,h),fe()}function Kx(n,e){const t=Pe(e,["children","$$slots","$$events","$$legacy"]),i=Pe(t,["expanded","position","width","tpPane","x","y"]);me(e,!1);let r=g(e,"expanded",28,()=>{}),s=g(e,"position",24,()=>{}),o=g(e,"width",28,()=>{}),a=g(e,"tpPane",28,()=>{}),l=g(e,"x",28,()=>{}),c=g(e,"y",28,()=>{});dp(()=>{(t.position==="inline"||t.position==="fixed")&&(l(t.x),c(t.y),o(t.width),r(t.expanded))}),ct();var u=oe(),h=W(u);{var p=m=>{var f=oe(),b=W(f);{var E=C=>{zx(C,Ve(()=>i,{get expanded(){return r()},set expanded(y){r(y)},get tpPane(){return a()},set tpPane(y){a(y)},get width(){return o()},set width(y){o(y)},get x(){return l()},set x(y){l(y)},get y(){return c()},set y(y){c(y)},children:(y,K)=>{var j=oe(),x=W(j);ft(x,e,"default",{}),$(y,j)},$$slots:{default:!0},$$legacy:!0}))};Ie(b,C=>{C(E)})}$(m,f)},v=(m,f)=>{{var b=C=>{var y=O(()=>Ns(i,"storePositionLocally"));js(C,Ve({get width(){return o()}},()=>d(y),{get expanded(){return r()},set expanded(K){r(K)},get tpPane(){return a()},set tpPane(K){a(K)},children:(K,j)=>{var x=oe(),M=W(x);ft(M,e,"default",{}),$(K,x)},$$slots:{default:!0},$$legacy:!0}))},E=(C,y)=>{{var K=j=>{var x=oe(),M=W(x);{var U=D=>{qx(D,Ve({get width(){return o()}},()=>i,{get expanded(){return r()},set expanded(N){r(N)},get tpPane(){return a()},set tpPane(N){a(N)},get x(){return l()},set x(N){l(N)},get y(){return c()},set y(N){c(N)},children:(N,I)=>{var L=oe(),k=W(L);ft(k,e,"default",{}),$(N,L)},$$slots:{default:!0},$$legacy:!0}))};Ie(M,D=>{D(U)})}$(j,x)};Ie(C,j=>{s()==="fixed"&&j(K)},y)}};Ie(m,C=>{s()==="inline"?C(b):C(E,!1)},f)}};Ie(h,m=>{s()===void 0||s()==="draggable"?m(p):m(v,!1)})}$(n,u),fe()}var Hx=ke('<!> <div class="element skip-element-index svelte-jeevyw"><div class="element-container svelte-jeevyw"><div><!></div></div></div>',1);function us(n,e){const t=Pe(e,["children","$$slots","$$events","$$legacy"]),i=Pe(t,["maxHeight","resetStyle"]);me(e,!1);let r=g(e,"maxHeight",24,()=>{}),s=g(e,"resetStyle",8,!0);const o={view:"separator"};let a=se(),l=se();B(()=>(d(a),d(l)),()=>{var C;(C=d(a))==null||C.element.replaceChildren(d(l))}),Xe(),ct();var c=Hx(),u=W(c);{var h=C=>{od(C,Ve({options:o},()=>i,{get ref(){return d(a)},set ref(y){P(a,y)},$$legacy:!0}))};Ie(u,C=>{C(h)})}var p=ue(u,2),v=ne(p);let m;var f=ne(v);let b;var E=ne(f);ft(E,e,"default",{}),J(f),J(v),J(p),ti(p,C=>P(l,C),()=>d(l)),mn(C=>{m=Pi(v,"",m,{height:null,"max-height":r()===void 0?null:`${r()}px`,overflow:null}),b=hs(f,1,"svelte-jeevyw",null,b,C)},[()=>({reset:s()})],ou),$(n,c),fe()}class Wx extends Jt{measureStart(e){this.controller.valueController.measureStart(e)}measureEnd(){return this.controller.valueController.measureEnd()}measure(e,t){this.controller.valueController.measure(e,t)}measureAsync(e,t){return this.controller.valueController.measureAsync(e,t)}get measureHandler(){return this.controller.valueController.measureHandler}set measureHandler(e){this.controller.valueController.measureHandler=e}}class Zc extends ri{constructor(e,t){const i=t.valueController,r=new Vr(e,{blade:t.blade,props:t.labelProps,valueController:i});super({blade:t.blade,view:r.view,viewProps:i.viewProps}),this.valueController=i,this.labelController=r}}class Gx{measureStart(){const e=performance.now();return()=>performance.now()-e}}function Qc(n,e,t,i){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):r(u.value).then(a,l)}c((i=i.apply(n,[])).next())})}class Bd{constructor(){this.map=new Map,this.keySet=new Set}get(e){return this.map.get(e)}getOrCreate(e,t){this.keySet.has(e)||this.keySet.add(e);let i=this.map.get(e);return i==null&&(i=t(),this.map.set(e,i)),i}set(e,t){this.keySet.has(e)||this.keySet.add(e),this.map.set(e,t)}resetUsedSet(){this.keySet.clear()}vaporize(e){for(const[t,i]of this.map.entries())this.keySet.has(t)||(this.map.delete(t),e==null||e([t,i]))}}function Yx(n){n.splice(0,n.length)}function Jr(n){let e=0;
17return n.forEach(t=>e+=t),e}class Xx{constructor(e){this.__recalcForEach=0,this.__countUntilRecalc=0,this.__history=[],this.__index=0,this.__count=0,this.__cache=0,this.__length=e,this.__recalcForEach=e;for(let t=0;t<e;t++)this.__history[t]=0}get mean(){const e=Math.min(this.__count,this.__length);return e===0?0:this.__cache/e}get recalcForEach(){return this.__recalcForEach}set recalcForEach(e){const t=e-this.__recalcForEach;this.__recalcForEach=e,this.__countUntilRecalc=Math.max(0,this.__countUntilRecalc+t)}reset(){this.__index=0,this.__count=0,this.__cache=0,this.__countUntilRecalc=0;for(let e=0;e<this.__length;e++)this.__history[e]=0}push(e){const t=this.__history[this.__index];this.__history[this.__index]=e,this.__count++,this.__index=(this.__index+1)%this.__length,this.__countUntilRecalc===0?this.recalc():(this.__countUntilRecalc--,this.__cache-=t,this.__cache+=e)}recalc(){this.__countUntilRecalc=this.__recalcForEach;const e=this.__history.slice(0,Math.min(this.__count,this.__length)).reduce((t,i)=>t+i,0);this.__cache=e}}function qo(n,e){if(typeof e!="function")return qo(n,s=>s<e);const t=e;let i=0,r=n.length;for(;i<r;){const s=i+r>>1,o=n[s];t(o)?i=s+1:r=s}return i}class Zx{constructor(e){this.__history=[],this.__sorted=[],this.__index=0,this.__length=e}get median(){return this.percentile(50)}percentile(e){return this.__history.length===0?0:this.__sorted[Math.round(e*.01*(this.__history.length-1))]}reset(){this.__index=0,this.__history=[],this.__sorted=[]}push(e){const t=this.__history[this.__index];if(this.__history[this.__index]=e,this.__index=(this.__index+1)%this.__length,this.__sorted.length===this.__length){const r=qo(this.__sorted,t);this.__sorted.splice(r,1)}const i=qo(this.__sorted,e);this.__sorted.splice(i,0,e)}}function zn(n,e){let t=0;for(let i=0;i<n.length;i++)t+=n[i]*e[i];return t}function Ja(n){return Math.min(Math.max(n,0),1)}function Qx(n){return`rgb( ${n.map(t=>Ja(t)*256).join(", ")} )`}function Jx(n){const e=[.13572138,4.6153926,-42.66032258,132.13108234],t=[.09140261,2.19418839,4.84296658,-14.18503333],i=[.1066733,12.64194608,-60.58204836,110.36276771],r=[-152.94239396,59.28637943],s=[4.27729857,2.82956604],o=[-89.90310912,27.34824973];n=Ja(n);const a=[1,n,n*n,n*n*n],l=[a[2],a[3]].map(u=>u*a[2]),c=[zn(a,e)+zn(l,r),zn(a,t)+zn(l,s),zn(a,i)+zn(l,o)];return Qx(c)}const zt=A("profiler");class eP{constructor(e,t){this.targetDelta=t.targetDelta,this.deltaUnit=t.deltaUnit,this.fractionDigits=t.fractionDigits,this.calcMode=t.calcMode,this.element=e.createElement("div"),this.element.classList.add(zt()),t.viewProps.bindClassModifiers(this.element),this.svgRootElement_=e.createElementNS("http://www.w3.org/2000/svg","svg"),this.svgRootElement_.classList.add(zt("root")),this.element.appendChild(this.svgRootElement_),this.entryContainerElement_=e.createElementNS("http://www.w3.org/2000/svg","g"),this.entryContainerElement_.classList.add(zt("container")),this.entryContainerElement_.setAttribute("transform","translate( 1, 1 )"),this.svgRootElement_.appendChild(this.entryContainerElement_),this.tooltipElement_=e.createElement("div"),this.tooltipElement_.classList.add(zt("tooltip")),this.tooltipElement_.style.display="none",this.element.appendChild(this.tooltipElement_),this.tooltipInsideElement_=e.createElement("div"),this.tooltipInsideElement_.classList.add(zt("tooltipinside")),this.tooltipElement_.appendChild(this.tooltipInsideElement_),this.labelElement_=e.createElement("div"),this.labelElement_.classList.add(zt("label")),this.labelElement_.textContent=this.deltaToDisplayDelta_(0),this.element.appendChild(this.labelElement_),this.entryElementCacheMap_=new Bd,this.hoveringEntry_=null}update(e){const t=this.entryToDelta_(e);this.labelElement_.textContent=this.deltaToDisplayDelta_(t),this.entryElementCacheMap_.resetUsedSet();const i=160/Math.max(this.targetDelta,t);let r=0;for(const s of e.children)this.addEntry_(s,"",this.entryContainerElement_,i).setAttribute("transform",`translate( ${r}, 0 )`),r+=this.entryToDelta_(s)*i;this.entryElementCacheMap_.vaporize(([s,o])=>{o.remove(),this.hoveringEntry_===s&&(this.hoveringEntry_=null)}),this.updateTooltip_()}updateTooltip_(){const e=this.hoveringEntry_;if(e){const t=this.entryElementCacheMap_.get(e),i=t==null?void 0:t.getAttribute("data-delta"),r=this.deltaToDisplayDelta_(parseFloat(i??"0.0")),s=`${e} 18${r}`;this.tooltipElement_.style.display="block",this.tooltipInsideElement_.textContent=s}else this.tooltipElement_.style.display="none"}addEntry_(e,t,i,r){const s=`${t}/${e.name}`,o=this.entryElementCacheMap_.getOrCreate(s,()=>{const u=document.createElementNS("http://www.w3.org/2000/svg","g");u.classList.add(zt("entry")),i.appendChild(u),this.entryElementCacheMap_.set(s,u);const h=document.createElementNS("http://www.w3.org/2000/svg","rect");return h.classList.add(zt("entryrect")),u.appendChild(h),h.addEventListener("mouseenter",()=>{this.hoveringEntry_=s,this.updateTooltip_()}),h.addEventListener("mouseleave",()=>{this.hoveringEntry_=null,this.updateTooltip_()}),u}),a=this.entryToDelta_(e);o.setAttribute("data-delta",`${a}`);const l=o.childNodes[0];l.setAttribute("width",`${Math.max(.01,a*r-1)}px`),l.setAttribute("height","9px");const c=.15+.7*Ja(a/this.targetDelta);if(l.setAttribute("fill",Jx(c)),e.children.length>0){let u=0;
18e.children.forEach(h=>{this.addEntry_(h,s,o,r).setAttribute("transform",`translate( ${u}, 10 )`),u+=this.entryToDelta_(h)*r})}return o}entryToDelta_(e){if(this.calcMode==="frame")return e.delta;if(this.calcMode==="mean")return e.deltaMean;if(this.calcMode==="median")return e.deltaMedian;throw new Error('Unreachable! calcMode must be one of "frame", "mean", or "median"')}deltaToDisplayDelta_(e){return`${e.toFixed(this.fractionDigits)} ${this.deltaUnit}`}}class tP{constructor(e,t){this.targetDelta=t.targetDelta,this.bufferSize=t.bufferSize,this.onTick_=this.onTick_.bind(this),this.ticker_=t.ticker,this.ticker_.emitter.on("tick",this.onTick_),this.viewProps=t.viewProps,this.view=new eP(e,{targetDelta:this.targetDelta,deltaUnit:t.deltaUnit,fractionDigits:t.fractionDigits,calcMode:t.calcMode,viewProps:this.viewProps}),this.viewProps.handleDispose(()=>{this.ticker_.dispose()}),this.measureHandler=t.measureHandler,this.rootCalcCacheStack_=[this.createNewEntryCalcCache_()]}measureStart(e){const i=this.rootCalcCacheStack_[this.rootCalcCacheStack_.length-1].childrenCacheMap.getOrCreate(e,()=>this.createNewEntryCalcCache_());i.childrenCacheMap.resetUsedSet(),Yx(i.childrenPromiseDelta),this.rootCalcCacheStack_.push(i),i.measureEnd=this.measureHandler.measureStart()}measureEnd(){return Qc(this,void 0,void 0,function*(){const e=this.rootCalcCacheStack_[this.rootCalcCacheStack_.length-1],t=this.rootCalcCacheStack_[this.rootCalcCacheStack_.length-2],i=Promise.resolve(e.measureEnd());e.measureEnd=null,t.childrenPromiseDelta.push(i),this.rootCalcCacheStack_.pop(),e.childrenCacheMap.vaporize();const r=yield Promise.all(e.childrenPromiseDelta),s=Jr(r),o=(yield i)-s;e.meanCalc.push(o),e.medianCalc.push(o),e.latest=o})}measure(e,t){this.measureStart(e),t(),this.measureEnd()}measureAsync(e,t){return Qc(this,void 0,void 0,function*(){this.measureStart(e),yield t(),this.measureEnd()})}renderEntry(){return this.renderEntryFromCalcCache_("",this.rootCalcCacheStack_[0])}renderEntryFromCalcCache_(e,t){const i=[];for(const v of t.childrenCacheMap.keySet){const m=t.childrenCacheMap.get(v);i.push(this.renderEntryFromCalcCache_(v,m))}const r=t.latest,s=t.meanCalc.mean,o=t.medianCalc.median,a=Jr(i.map(v=>v.delta)),l=Jr(i.map(v=>v.deltaMean)),c=Jr(i.map(v=>v.deltaMedian)),u=r+a,h=s+l,p=o+c;return{name:e,delta:u,deltaMean:h,deltaMedian:p,selfDelta:r,selfDeltaMean:s,selfDeltaMedian:o,children:i}}onTick_(){this.view.update(this.renderEntry())}createNewEntryCalcCache_(){return{meanCalc:new Xx(this.bufferSize),medianCalc:new Zx(this.bufferSize),latest:0,measureEnd:null,childrenCacheMap:new Bd,childrenPromiseDelta:[]}}}function nP(n,e){return e===0?new Au:new Mu(n,e??oi.monitor.defaultInterval)}function iP(n){switch(n){case"frame":case"mean":case"median":return n;default:return}}function rP(n){if(typeof n=="object"&&n!=null&&"measureStart"in n)return n;typeof n=="object"&&n!=null&&"measure"in n&&console.warn("The API of `ProfilerBladeDefaultMeasureHandler` has been changed in v0.4.0! Please define `measureStart` instead of `measure`. Fallback to the default measure handler.")}re({id:"profiler",type:"blade",accept(n){const e=te(n,t=>({view:t.required.constant("profiler"),targetDelta:t.optional.number,bufferSize:t.optional.number,deltaUnit:t.optional.string,fractionDigits:t.optional.number,calcMode:t.optional.custom(iP),label:t.optional.string,interval:t.optional.number,measureHandler:t.optional.custom(rP)}));return e?{params:e}:null},controller(n){var e,t,i,r,s,o,a;const l=(e=n.params.interval)!==null&&e!==void 0?e:500,c=(t=n.params.targetDelta)!==null&&t!==void 0?t:16.67,u=(i=n.params.bufferSize)!==null&&i!==void 0?i:30,h=(r=n.params.deltaUnit)!==null&&r!==void 0?r:"ms",p=(s=n.params.fractionDigits)!==null&&s!==void 0?s:2,v=(o=n.params.calcMode)!==null&&o!==void 0?o:"mean",m=(a=n.params.measureHandler)!==null&&a!==void 0?a:new Gx;return new Zc(n.document,{blade:n.blade,labelProps:F.fromObject({label:n.params.label}),valueController:new tP(n.document,{ticker:nP(n.document,l),targetDelta:c,bufferSize:u,deltaUnit:h,fractionDigits:p,calcMode:v,viewProps:n.viewProps,measureHandler:m})})},api(n){return n.controller instanceof Zc?new Wx(n.controller):null}});class Jc{constructor(){this.drawer=e=>`L ${e[0]} ${e[1]}`}}class sP{constructor(){this.drawer=(e,t,i)=>{const[r,s]=this.controlPoint(i[t-1],i[t-2],e),[o,a]=this.controlPoint(e,i[t-1],i[t+1],!0);return`C ${r},${s} ${o},${a} ${e[0]},${e[1]}`}}controlPoint(e,t,i,r){const s=t||e,o=i||e,a=.2,l=o[0]-s[0],c=o[1]-s[1],u=Math.sqrt(Math.pow(l,2)+Math.pow(c,2))*a,h=Math.atan2(c,l)+(r?Math.PI:0),p=e[0]+Math.cos(h)*u,v=e[1]+Math.sin(h)*u;return[p,v]}}const eu=A("wfm");class oP{constructor(e,t){switch(this.element=e.createElement("div"),this.element.classList.add(eu()),t.viewProps.bindClassModifiers(this.element),this.svgElem=e.createElementNS(ie,"svg"),this.svgElem.classList.add(eu("g")),this.element.appendChild(this.svgElem),this.pathElem=e.createElementNS(ie,"path"),this.svgElem.appendChild(this.pathElem),this.props=t.props,this.value=t.value,this.value.emitter.on("change",this.onValueChange_.bind(this)),this.props.get("lineStyle")){case"linear":this.lineDrawerProvider=new Jc;break;case"bezier":this.lineDrawerProvider=new sP;break;default:this.lineDrawerProvider=new Jc;break}this.refresh(),t.viewProps.handleDispose(()=>{this.value.emitter.off("change",this.onValueChange_)})}svgPath(e,t){return e.reduce((r,s,o,a)=>o===0?`M ${s[0]},${s[1]}`:`${r} ${t(s,o,a)}`,"")}refresh(){var e,t;const i=this.svgElem.getBoundingClientRect(),r=this.value.rawValue[0];if(r){const s=(e=this.props.get("min"))!==null&&e!==void 0?e:Math.min(...r)-1,o=(t=this.props.get("max"))!==null&&t!==void 0?t:Math.max(...r)+1,a=o-s,l=[],c=r.length-1,u=r.length>32?0:i.width/(r.length-1),h=a>50?0:i.height/a;this.element.style.backgroundSize=`${u}px ${h}px`,r.forEach((v,m)=>{if(v===void 0)return;const f=R(m,0,c,0,i.width),b=R(v,s,o,i.height,0);l.push([Math.floor(f),Math.floor(b)])});const p=this.svgPath(l,this.lineDrawerProvider.drawer);this.pathElem.setAttributeNS(null,"d",p)}}onValueChange_(){this.refresh()}}class aP{constructor(e,t){this.value=t.value,this.props=t.props,this.viewProps=t.viewProps,this.viewProps.handleDispose(()=>{}),this.view=new oP(e,{value:this.value,viewProps:this.viewProps,props:this.props})}}function lP(n){return"view"in n&&n.view==="waveform"}function tu(n){return typeof n=="object"?"length"in n:!1}re({id:"monitor-waveform",type:"monitor",accept:(n,e)=>{if(!tu(n))return null;const t=te(e,i=>({max:i.optional.number,min:i.optional.number,style:i.optional.custom(r=>r==="linear"||r==="bezier"?r:void 0),view:i.optional.string}));return t?{initialValue:n,params:t}:null},binding:{defaultBufferSize:n=>lP(n)?64:1,reader:n=>e=>tu(e)?e:[]}
18,controller:n=>{var e,t,i;return new aP(n.document,{props:F.fromObject({max:(e="max"in n.params?n.params.max:null)!==null&&e!==void 0?e:null,min:(t="min"in n.params?n.params.min:null)!==null&&t!==void 0?t:null,lineStyle:(i="style"in n.params?n.params.style:null)!==null&&i!==void 0?i:"linear"}),value:n.value,viewProps:n.viewProps})}});function cP(n){return n}function uP(n){const e=n-1;return e*e*e+1}function nu(n){return Object.prototype.toString.call(n)==="[object Date]"}function Ko(n,e){if(n===e||n!==n)return()=>n;const t=typeof n;if(t!==typeof e||Array.isArray(n)!==Array.isArray(e))throw new Error("Cannot interpolate values of different type");if(Array.isArray(n)){const i=e.map((r,s)=>Ko(n[s],r));return r=>i.map(s=>s(r))}if(t==="object"){if(!n||!e)throw new Error("Object cannot be null");if(nu(n)&&nu(e)){const s=n.getTime(),a=e.getTime()-s;return l=>new Date(s+l*a)}const i=Object.keys(e),r={};return i.forEach(s=>{r[s]=Ko(n[s],e[s])}),s=>{const o={};return i.forEach(a=>{o[a]=r[a](s)}),o}}if(t==="number"){const i=e-n;return r=>n+r*i}return()=>e}var Pt,Xn,wr,pn;
18const el=class el{constructor(e,t={}){z(this,Pt,_l(void 0));z(this,Xn,_l(void 0));z(this,wr);z(this,pn,null);_(this,Pt).v=_(this,Xn).v=e,hi(this,wr,t)}static of(e,t){const i=new el(e(),t);return ap(()=>{i.set(e())}),i}set(e,t){var h;P(_(this,Xn),e);let{delay:i=0,duration:r=400,easing:s=cP,interpolate:o=Ko}={..._(this,wr),...t};if(r===0)return(h=_(this,pn))==null||h.abort(),P(_(this,Pt),e),Promise.resolve();const a=vt.now()+i;let l,c=!1,u=_(this,pn);return hi(this,pn,cu(p=>{if(p<a)return!0;if(!c){c=!0;const m=_(this,Pt).v;l=o(m,e),typeof r=="function"&&(r=r(m,e)),u==null||u.abort()}const v=p-a;return v>r?(P(_(this,Pt),e),!1):(P(_(this,Pt),l(s(v/r))),!0)})),_(this,pn).promise}get current(){return d(_(this,Pt))}get target(){return d(_(this,Xn))}set target(e){this.set(e)}};Pt=new WeakMap,Xn=new WeakMap,wr=new WeakMap,pn=new WeakMap;let Ho=el;var hP=ke('<div class="container svelte-m1xkx8"><div class="title-row svelte-m1xkx8"><h3 class="svelte-m1xkx8"> </h3> <p class="svelte-m1xkx8"><span class="svelte-m1xkx8"> </span><span class="svelte-m1xkx8"> </span></p></div> <div class="bar outer svelte-m1xkx8"><div class="bar mass svelte-m1xkx8"></div></div></div>');function xo(n,e){me(e,!0);const t={u235:"var(--u235)",u238:"var(--u238)",invalid:"var(--invalid)"},i=150,r=O(()=>{const y=e.kg/e.maxKg;return i*y}),s=O(()=>e.kg/e.maxKg*100),o=O(()=>d(r)>i),a=O(()=>{if(d(o))return t.invalid;const y=e.n*100;return`linear-gradient( 19 to right, 20 ${t.u235} ${y}%, 21 ${t.u238} ${y}% 22 23 )`});Ho.of(()=>d(r),{duration:400,easing:uP});var l=hP(),c=ne(l),u=ne(c),h=ne(u,!0);J(u);var p=ue(u,2),v=ne(p),m=ne(v);J(v);var f=ue(v),b=ne(f,!0);J(f),J(p),J(c);var E=ue(c,2),C=ne(E);J(E),J(l),mn((y,K,j)=>{ts(h,y),ts(m,`${K??""}kg`),ts(b,j),Pi(E,`justify-content: ${e.type==="waste"?"flex-end":"flex-start"};`),Pi(C,`background:${d(a)??""}; width:${d(s)??""}%;`)},[()=>e.type.toUpperCase(),()=>e.kg.toFixed(),()=>is(e.n)]),$(n,l),fe()}var dP=(n,e)=>du(d(e)),pP=ke('<button class="dot svelte-wo1l7t" title="Remove Link"><!></button>'),vP=(n,e)=>du(d(e)),mP=ke('<button class="dot svelte-wo1l7t" title="Remove Link"><!></button>'),fP=ke('<div class="actions-row svelte-wo1l7t"><button title="Link Input Values"><!></button> <div class="inputs svelte-wo1l7t"><!></div> <div class="outputs svelte-wo1l7t"><!></div> <button title="Link Output Values"><!></button></div>');function Po(n,e){me(e,!0);const t=g(e,"inputDisabled",3,!1),i=g(e,"outputDisabled",3,!1),r=O(()=>{var c;return t()||!he.creatingLink||((c=he.creatingLink.source)==null?void 0:c.id)===e.id}),s=O(()=>i()||!!he.creatingLink),o=O(()=>{var c;return(c=e.inputLinks)==null?void 0:c.filter(u=>{for(let h of e.keys)return u.target.keys.includes(h)})}),a=O(()=>{var c;return(c=e.outputLinks)==null?void 0:c.filter(u=>{for(let h of e.keys)return u.source.keys.includes(h)})});function l(){he.creatingLink?(he.creatingLink={...he.creatingLink,target:{id:e.id,keys:e.keys}},Dp(he.creatingLink),he.creatingLink=null):he.creatingLink={source:{id:e.id,keys:e.keys}}}us(n,{children:(c,u)=>{var h=fP(),p=ne(h);let v;p.__click=l;var m=ne(p);Cp(m,{size:10}),J(p);var f=ue(p,2),b=ne(f);{var E=U=>{var D=oe(),N=W(D);ds(N,17,()=>d(o),I=>I.id,(I,L)=>{var k=pP();k.__click=[dP,L];var H=ne(k);_p(H,{get color(){return d(L).color},size:"8"}),J(k),$(I,k)}),$(U,D)};Ie(b,U=>{var D;(D=d(o))!=null&&D.length&&U(E)})}J(f);var C=ue(f,2),y=ne(C);{var K=U=>{var D=oe(),N=W(D);ds(N,17,()=>d(a),I=>I.id,(I,L)=>{var k=mP();k.__click=[vP,L];var H=ne(k);wp(H,{get color(){return d(L).color},size:"8"}),J(k),$(I,k)}),$(U,D)};Ie(y,U=>{var D;(D=d(a))!=null&&D.length&&U(K)})}J(C);var j=ue(C,2);let x;j.__click=l;var M=ne(j);gp(M,{size:10}),J(j),J(h),mn((U,D)=>{v=hs(p,1,"input svelte-wo1l7t",null,v,U),p.disabled=d(r),x=hs(j,1,"output svelte-wo1l7t",null,x,D),j.disabled=d(s)},[()=>({active:!d(r)}),()=>({active:!d(s)})]),$(c,h)},$$slots:{default:!0}}),fe()}Wo(["click"]);var bP=(n,e)=>e(),_P=(n,e)=>Mp(e.id),wP=ke('<div class="calc-actions svelte-1xkqbkw"><button class="tertiary"><!></button> <span class="flex-spacer"></span> <button class="tertiary" title="Delete Calculator"><!></button></div>'),gP=ke('<p class="result svelte-1xkqbkw"> </p>
23'),CP=ke('<div class="results svelte-1xkqbkw"></div>'),yP=ke("<!> <!> <!>",1),xP=ke("<!> <!> <!>",1),PP=ke("<!> <!> <!>",1),EP=ke('<div class="vis-row svelte-1xkqbkw"><!> <!> <!></div>'),kP=ke("<!> <!> <!> <!> <!> <!> <!>",1);function SP(n,e){me(e,!0);let t=g(e,"calc",7),i=Te(!0);const r=O(()=>he.links.filter(h=>h.target.id===e.id)),s=O(()=>d(r).flatMap(h=>h.target.keys)),o=O(()=>he.links.filter(h=>h.source.id===e.id));function a(h=!d(i)){P(i,h,!0)}lp(()=>{var h;for(let p of d(r)){const{source:v,target:m}=p,f=(h=he.calculators.find(b=>b.id===v.id))==null?void 0:h.calc;f&&m.keys.forEach((b,E)=>{t()[b]=f[v.keys[E]]})}});const l={FeedSwu:"Feed and SWU",ProductSwu:"Product and SWU",FeedProduct:"Feed and Product",SWU:"SWU"},c={FeedSwu:[{label:"Feed Mass",display:h=>h.F.toFixed()+"kg"},{label:"SWU",display:h=>h.SWU.toFixed()}],ProductSwu:[{label:"Product Mass",display:h=>h.P.toFixed()+"kg"},{label:"SWU",display:h=>h.SWU.toFixed()}],FeedProduct:[{label:"Feed Mass",display:h=>h.F.toFixed()+"kg"},{label:"Product Mass",display:h=>h.P.toFixed()+"kg"}],SWU:[{label:"SWU",display:h=>h.SWU.toFixed()}]},u=(h,p)=>{if(d(s).includes(h))return!0;switch(p){case"FeedSwu":return["F","SWU"].includes(h);case"ProductSwu":return["P","SWU"].includes(h);case"FeedProduct":return["F","P"].includes(h);case"SWU":return["SWU"].includes(h)}};Kx(n,{position:"inline",scale:1,get title(){return l[e.type]},children:(h,p)=>{var v=kP(),m=W(v);us(m,{children:(L,k)=>{var H=wP(),V=ne(H);V.__click=[bP,a];var ce=ne(V);yp(ce,{size:"16"}),J(V);var Y=ue(V,4);Y.__click=[_P,e];var pe=ne(Y);Pp(pe,{size:"16"}),J(Y),J(H),mn(()=>up(V,"title",d(i)?"Collapse Folders":"Expand Folders")),$(L,H)},$$slots:{default:!0}});var f=ue(m,2);us(f,{children:(L,k)=>{var H=CP();ds(H,21,()=>c[e.type],V=>V.label,(V,ce)=>{var Y=gP(),pe=ne(Y);J(Y),mn(Ee=>ts(pe,`${d(ce).label??""}: ${Ee??""}`),[()=>d(ce).display(t())]),$(V,Y)}),J(H),$(L,H)},$$slots:{default:!0}});var b=ue(f,2);const E=O(()=>t().F.toFixed()),C=O(()=>is(t().Nf));qn(b,{get title(){return`FEED: ${d(E)??""}kg | ${d(C)??""}`},get expanded(){return d(i)},children:(L,k)=>{var H=yP(),V=W(H);const ce=O(()=>d(s).includes("F"));Po(V,{get id(){return e.id},keys:["F","Nf"],get outputDisabled(){return d(ce)},get inputLinks(){return d(r)},get outputLinks(){return d(o)}});var Y=ue(V,2);const pe=O(()=>u("F",e.type));wo(Y,{label:"Feed Mass",step:1,min:1,get disabled(){return d(pe)},get value(){return t().F},set value(Be){t().F=Be}});var Ee=ue(Y,2);const be=O(()=>u("Nf",e.type));go(Ee,{label:"Feed Enrichment",format:Be=>(Be*100).toFixed(2)+"%",step:.001,min:.001,max:1,pointerScale:-.001,get disabled(){return d(be)},get value(){return t().Nf},set value(Be){t().Nf=Be}}),$(L,H)},$$slots:{default:!0}});var y=ue(b,2);const K=O(()=>t().P.toFixed()),j=O(()=>is(t().Np));qn(y,{get title(){return`PRODUCT: ${d(K)??""}kg | ${d(j)??""}`},get expanded(){return d(i)},children:(L,k)=>{var H=xP(),V=W(H);const ce=O(()=>d(s).includes("P"));Po(V,{get id(){return e.id},keys:["P","Np"],get outputDisabled(){return d(ce)},get inputLinks(){return d(r)},get outputLinks(){return d(o)}});var Y=ue(V,2);const pe=O(()=>u("P",e.type));wo(Y,{label:"Product Mass",step:1,min:1,get disabled(){return d(pe)},get value(){return t().P},set value(Be){t().P=Be}});var Ee=ue(Y,2);const be=O(()=>u("Np",e.type));go(Ee,{label:"Product Enrichment",format:Be=>(Be*100).toFixed(2)+"%",step:.001,min:.001,max:1,pointerScale:-.001,get disabled(){return d(be)},get value(){return t().Np},set value(Be){t().Np=Be}}),$(L,H)},$$slots:{default:!0}});var x=ue(y,2);const M=O(()=>t().W.toFixed()),U=O(()=>is(t().Nw));qn(x,{get title(){return`WASTE: ${d(M)??""}kg | ${d(U)??""}`},get expanded(){return d(i)},children:(L,k)=>{var H=PP(),V=W(H);Po(V,{get id(){return e.id},keys:["W","Nw"],inputDisabled:!0,get inputLinks(){return d(r)},get outputLinks(){return d(o)}});var ce=ue(V,2);const Y=O(()=>t().W.toFixed()+"kg");Nx(ce,{get value(){return d(Y)},label:"Waste Mass",disabled:!0});var pe=ue(ce,2);go(pe,{label:"Waste Enrichment",format:Ee=>(Ee*100).toFixed(3)+"%",step:1e-4,min:.001,max:1,pointerScale:-.001,get value(){return t().Nw},set value(Ee){t().Nw=Ee}}),$(L,H)},$$slots:{default:!0}});var D=ue(x,2);const N=O(()=>t().SWU.toFixed());qn(D,{get title(){return`SWU: ${d(N)??""}`},get expanded(){return d(i)},children:(L,k)=>{const H=O(()=>u("SWU",e.type));wo(L,{label:"SWU",step:1,min:1,get disabled(){return d(H)},get value(){return t().SWU},set value(V){t().SWU=V}})},$$slots:{default:!0}});var I=ue(D,2);qn(I,{title:"Visualization",get expanded(){return d(i)},children:(L,k)=>{us(L,{children:(H,V)=>{var ce=EP(),Y=ne(ce);xo(Y,{get kg(){return t().F},get n(){return t().Nf},get maxKg(){return t().F},type:"feed"});var pe=ue(Y,2);xo(pe,{get kg(){return t().P},get n(){return t().Np},get maxKg(){return t().F},type:"product"});var Ee=ue(pe,2);xo(Ee,{get kg(){return t().W},get n(){return t().Nw},get maxKg(){return t().F},type:"waste"}),J(ce),$(H,ce)},$$slots:{default:!0}})},$$slots:{default:!0}}),$(h,v)},$$slots:{default:!0}}),fe()}Wo(["click"]);const VP=n=>n;function LP(n,{delay:e=0,duration:t=400,easing:i=VP}={}){const r=+getComputedStyle(n).opacity;return{delay:e,duration:t,easing:i,css:s=>`opacity: ${s*r}`}}var AP=ke('<div class="calc-wrapper svelte-kjciod"><!></div>'),MP=()=>Ps("FeedSwu",{}),$P=()=>Ps("ProductSwu",{}),DP=()=>Ps("FeedProduct",{}),TP=()=>Ps("SWU",{}
23),NP=ke('<div class="calculator-grid svelte-kjciod"><!> <div class="calc-wrapper svelte-kjciod"><div class="ghost-calc panel svelte-kjciod"><h3 class="svelte-kjciod"><!>Add Calculator</h3> <button class="secondary svelte-kjciod">Feed and SWU</button> <button class="secondary svelte-kjciod">Product and SWU</button> <button class="secondary svelte-kjciod">Feed and Product</button> <button class="secondary svelte-kjciod">SWU</button></div></div></div>');function B1(n,e){me(e,!1);function t(v){he.creatingLink&&(v.preventDefault(),Lp())}ct();var i=NP();es("contextmenu",su,t);var r=ne(i);ds(r,3,()=>he.calculators,({id:v,type:m,calc:f})=>v,(v,m)=>{let f=()=>d(m).id,b=()=>d(m).type,E=()=>d(m).calc;var C=AP(),y=ne(C);SP(y,{get id(){return f()},get type(){return b()},get calc(){return E()}}),J(C),fp(3,C,()=>LP,()=>({duration:200})),$(v,C)});var s=ue(r,2),o=ne(s),a=ne(o),l=ne(a);xp(l,{}),cp(),J(a);var c=ue(a,2);c.__click=[MP];var u=ue(c,2);u.__click=[$P];var h=ue(u,2);h.__click=[DP];var p=ue(h,2);p.__click=[TP],J(o),J(s),J(i),$(n,i),fe()}Wo(["click"]);export{B1 as component};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.