-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtweakpane.min.js
2 lines (2 loc) · 143 KB
/
tweakpane.min.js
1
2
/*! Tweakpane 3.1.10 (c) 2016 cocopon, licensed under the MIT license. */
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Tweakpane={})}(this,(function(t){"use strict";class e{constructor(t){this.controller_=t}get element(){return this.controller_.view.element}get disabled(){return this.controller_.viewProps.get("disabled")}set disabled(t){this.controller_.viewProps.set("disabled",t)}get hidden(){return this.controller_.viewProps.get("hidden")}set hidden(t){this.controller_.viewProps.set("hidden",t)}dispose(){this.controller_.viewProps.set("disposed",!0)}}class n{constructor(t){this.target=t}}class i extends n{constructor(t,e,n,i){super(t),this.value=e,this.presetKey=n,this.last=null==i||i}}class s extends n{constructor(t,e,n){super(t),this.value=e,this.presetKey=n}}class o extends n{constructor(t,e){super(t),this.expanded=e}}class r extends n{constructor(t,e){super(t),this.index=e}}function a(t){return null==t}function l(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function p(t,e){let n=t;do{const t=Object.getOwnPropertyDescriptor(n,e);if(t&&(void 0!==t.set||!0===t.writable))return!0;n=Object.getPrototypeOf(n)}while(null!==n);return!1}const d={alreadydisposed:()=>"View has been already disposed",invalidparams:t=>`Invalid parameters for '${t.name}'`,nomatchingcontroller:t=>`No matching controller for '${t.key}'`,nomatchingview:t=>`No matching view for '${JSON.stringify(t.params)}'`,notbindable:()=>"Value is not bindable",propertynotfound:t=>`Property '${t.name}' not found`,shouldneverhappen:()=>"This error should never happen"};class c{static alreadyDisposed(){return new c({type:"alreadydisposed"})}static notBindable(){return new c({type:"notbindable"})}static propertyNotFound(t){return new c({type:"propertynotfound",context:{name:t}})}static shouldNeverHappen(){return new c({type:"shouldneverhappen"})}constructor(t){var e;this.message=null!==(e=d[t.type](t.context))&&void 0!==e?e:"Unexpected error",this.name=this.constructor.name,this.stack=new Error(this.message).stack,this.type=t.type}}class h{constructor(t,e,n){this.obj_=t,this.key_=e,this.presetKey_=null!=n?n:e}static isBindable(t){return null!==t&&("object"==typeof t||"function"==typeof t)}get key(){return this.key_}get presetKey(){return this.presetKey_}read(){return this.obj_[this.key_]}write(t){this.obj_[this.key_]=t}writeProperty(t,e){const n=this.read();if(!h.isBindable(n))throw c.notBindable();if(!(t in n))throw c.propertyNotFound(t);n[t]=e}}class u extends e{get label(){return this.controller_.props.get("label")}set label(t){this.controller_.props.set("label",t)}get title(){var t;return null!==(t=this.controller_.valueController.props.get("title"))&&void 0!==t?t:""}set title(t){this.controller_.valueController.props.set("title",t)}on(t,e){const i=e.bind(this);return this.controller_.valueController.emitter.on(t,(()=>{i(new n(this))})),this}}class v{constructor(){this.observers_={}}on(t,e){let n=this.observers_[t];return n||(n=this.observers_[t]=[]),n.push({handler:e}),this}off(t,e){const n=this.observers_[t];return n&&(this.observers_[t]=n.filter((t=>t.handler!==e))),this}emit(t,e){const n=this.observers_[t];n&&n.forEach((t=>{t.handler(e)}))}}const m="tp";function b(t){return(e,n)=>[m,"-",t,"v",e?`_${e}`:"",n?`-${n}`:""].join("")}function _(t){return t.rawValue}function g(t,e){var n,i;t.emitter.on("change",(n=_,i=e,t=>i(n(t)))),e(t.rawValue)}function f(t,e,n){g(t.value(e),n)}function w(t,e){return n=>{!function(t,e,n){n?t.classList.add(e):t.classList.remove(e)}(t,e,n)}}function x(t,e){g(t,(t=>{e.textContent=null!=t?t:""}))}const C=b("btn");class y{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(C()),e.viewProps.bindClassModifiers(this.element);const n=t.createElement("button");n.classList.add(C("b")),e.viewProps.bindDisabled(n),this.element.appendChild(n),this.buttonElement=n;const i=t.createElement("div");i.classList.add(C("t")),x(e.props.value("title"),i),this.buttonElement.appendChild(i)}}class P{constructor(t,e){this.emitter=new v,this.onClick_=this.onClick_.bind(this),this.props=e.props,this.viewProps=e.viewProps,this.view=new y(t,{props:this.props,viewProps:this.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}onClick_(){this.emitter.emit("click",{sender:this})}}class k{constructor(t,e){var n;this.constraint_=null==e?void 0:e.constraint,this.equals_=null!==(n=null==e?void 0:e.equals)&&void 0!==n?n:(t,e)=>t===e,this.emitter=new v,this.rawValue_=t}get constraint(){return this.constraint_}get rawValue(){return this.rawValue_}set rawValue(t){this.setRawValue(t,{forceEmit:!1,last:!0})}setRawValue(t,e){const n=null!=e?e:{forceEmit:!1,last:!0},i=this.constraint_?this.constraint_.constrain(t):t,s=this.rawValue_;(!this.equals_(s,i)||n.forceEmit)&&(this.emitter.emit("beforechange",{sender:this}),this.rawValue_=i,this.emitter.emit("change",{options:n,previousRawValue:s,rawValue:i,sender:this}))}}class E{constructor(t){this.emitter=new v,this.value_=t}get rawValue(){return this.value_}set rawValue(t){this.setRawValue(t,{forceEmit:!1,last:!0})}setRawValue(t,e){const n=null!=e?e:{forceEmit:!1,last:!0},i=this.value_;(i!==t||n.forceEmit)&&(this.emitter.emit("beforechange",{sender:this}),this.value_=t,this.emitter.emit("change",{options:n,previousRawValue:i,rawValue:this.value_,sender:this}))}}function V(t,e){const n=null==e?void 0:e.constraint,i=null==e?void 0:e.equals;return n||i?new k(t,e):new E(t)}class L{constructor(t){this.emitter=new v,this.valMap_=t;for(const t in this.valMap_){this.valMap_[t].emitter.on("change",(()=>{this.emitter.emit("change",{key:t,sender:this})}))}}static createCore(t){return Object.keys(t).reduce(((e,n)=>Object.assign(e,{[n]:V(t[n])})),{})}static fromObject(t){const e=this.createCore(t);return new L(e)}get(t){return this.valMap_[t].rawValue}set(t,e){this.valMap_[t].rawValue=e}value(t){return this.valMap_[t]}}function M(t){return e=>n=>{if(!e&&void 0===n)return{succeeded:!1,value:void 0};if(e&&void 0===n)return{succeeded:!0,value:void 0};const i=t(n);return void 0!==i?{succeeded:!0,value:i}:{succeeded:!1,value:void 0}}}function S(t){return{custom:e=>M(e)(t),boolean:M((t=>"boolean"==typeof t?t:void 0))(t),number:M((t=>"number"==typeof t?t:void 0))(t),string:M((t=>"string"==typeof t?t:void 0))(t),function:M((t=>"function"==typeof t?t:void 0))(t),constant:e=>M((t=>t===e?e:void 0))(t),raw:M((t=>t))(t),object:e=>M((t=>{var n;if(null!==(n=t)&&"object"==typeof n)return function(t,e){return Object.keys(e).reduce(((n,i)=>{if(void 0===n)return;const s=(0,e[i])(t[i]);return s.succeeded?Object.assign(Object.assign({},n),{[i]:s.value}):void 0}),{})}(t,e)}))(t),array:e=>M((t=>{var n;if(Array.isArray(t))return n=e,t.reduce(((t,e)=>{if(void 0===t)return;const i=n(e);return i.succeeded&&void 0!==i.value?[...t,i.value]:void 0}),[])}))(t)}}const A={optional:S(!0),required:S(!1)};function D(t,e){const n=A.required.object(e)(t);return n.succeeded?n.value:void 0}function j(t){console.warn([`Missing '${t.key}' of ${t.target} in ${t.place}.`,"Please rebuild plugins with the latest core package."].join(" "))}class R{constructor(t){this.value_=t}static create(t){return[new R(t),(e,n)=>{t.setRawValue(e,n)}]}get emitter(){return this.value_.emitter}get rawValue(){return this.value_.rawValue}}const O=b("");function I(t,e){return w(t,O(void 0,e))}class K extends L{constructor(t){var e;super(t),this.onDisabledChange_=this.onDisabledChange_.bind(this),this.onParentChange_=this.onParentChange_.bind(this),this.onParentGlobalDisabledChange_=this.onParentGlobalDisabledChange_.bind(this),[this.globalDisabled_,this.setGlobalDisabled_]=R.create(V(this.getGlobalDisabled_())),this.value("disabled").emitter.on("change",this.onDisabledChange_),this.value("parent").emitter.on("change",this.onParentChange_),null===(e=this.get("parent"))||void 0===e||e.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_)}static create(t){var e,n,i;const s=null!=t?t:{};return new K(L.createCore({disabled:null!==(e=s.disabled)&&void 0!==e&&e,disposed:!1,hidden:null!==(n=s.hidden)&&void 0!==n&&n,parent:null!==(i=s.parent)&&void 0!==i?i:null}))}get globalDisabled(){return this.globalDisabled_}bindClassModifiers(t){g(this.globalDisabled_,I(t,"disabled")),f(this,"hidden",I(t,"hidden"))}bindDisabled(t){g(this.globalDisabled_,(e=>{t.disabled=e}))}bindTabIndex(t){g(this.globalDisabled_,(e=>{t.tabIndex=e?-1:0}))}handleDispose(t){this.value("disposed").emitter.on("change",(e=>{e&&t()}))}getGlobalDisabled_(){const t=this.get("parent");return!!t&&t.globalDisabled.rawValue||this.get("disabled")}updateGlobalDisabled_(){this.setGlobalDisabled_(this.getGlobalDisabled_())}onDisabledChange_(){this.updateGlobalDisabled_()}onParentGlobalDisabledChange_(){this.updateGlobalDisabled_()}onParentChange_(t){var e;const n=t.previousRawValue;null==n||n.globalDisabled.emitter.off("change",this.onParentGlobalDisabledChange_),null===(e=this.get("parent"))||void 0===e||e.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_),this.updateGlobalDisabled_()}}const N=b(""),U={veryfirst:"vfst",first:"fst",last:"lst",verylast:"vlst"};class B{constructor(t){this.parent_=null,this.blade=t.blade,this.view=t.view,this.viewProps=t.viewProps;const e=this.view.element;this.blade.value("positions").emitter.on("change",(()=>{["veryfirst","first","last","verylast"].forEach((t=>{e.classList.remove(N(void 0,U[t]))})),this.blade.get("positions").forEach((t=>{e.classList.add(N(void 0,U[t]))}))})),this.viewProps.handleDispose((()=>{!function(t){t&&t.parentElement&&t.parentElement.removeChild(t)}(e)}))}get parent(){return this.parent_}set parent(t){this.parent_=t,"parent"in this.viewProps.valMap_?this.viewProps.set("parent",this.parent_?this.parent_.viewProps:null):j({key:"parent",target:K.name,place:"BladeController.parent"})}}const T="http://www.w3.org/2000/svg";function F(t){t.offsetHeight}function $(t){return void 0!==t.ontouchstart}function H(){return globalThis.document}const z={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 q(t,e){const n=t.createElementNS(T,"svg");return n.innerHTML=z[e],n}function G(t,e,n){t.insertBefore(e,t.children[n])}function Y(t){t.parentElement&&t.parentElement.removeChild(t)}function X(t){for(;t.children.length>0;)t.removeChild(t.children[0])}function Q(t){return t.relatedTarget?t.relatedTarget:"explicitOriginalTarget"in t?t.explicitOriginalTarget:null}const J=b("lbl");class W{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(J()),e.viewProps.bindClassModifiers(this.element);const n=t.createElement("div");n.classList.add(J("l")),f(e.props,"label",(e=>{a(e)?this.element.classList.add(J(void 0,"nol")):(this.element.classList.remove(J(void 0,"nol")),function(t){for(;t.childNodes.length>0;)t.removeChild(t.childNodes[0])}(n),n.appendChild(function(t,e){const n=t.createDocumentFragment();return e.split("\n").map((e=>t.createTextNode(e))).forEach(((e,i)=>{i>0&&n.appendChild(t.createElement("br")),n.appendChild(e)})),n}(t,e)))})),this.element.appendChild(n),this.labelElement=n;const i=t.createElement("div");i.classList.add(J("v")),this.element.appendChild(i),this.valueElement=i}}class Z extends B{constructor(t,e){const n=e.valueController.viewProps;super(Object.assign(Object.assign({},e),{view:new W(t,{props:e.props,viewProps:n}),viewProps:n})),this.props=e.props,this.valueController=e.valueController,this.view.valueElement.appendChild(this.valueController.view.element)}}const tt={id:"button",type:"blade",accept(t){const e=A,n=D(t,{title:e.required.string,view:e.required.constant("button"),label:e.optional.string});return n?{params:n}:null},controller:t=>new Z(t.document,{blade:t.blade,props:L.fromObject({label:t.params.label}),valueController:new P(t.document,{props:L.fromObject({title:t.params.title}),viewProps:t.viewProps})}),api:t=>t.controller instanceof Z&&t.controller.valueController instanceof P?new u(t.controller):null};class et extends B{constructor(t){super(t),this.value=t.value}}function nt(){return new L({positions:V([],{equals:l})})}class it extends L{constructor(t){super(t)}static create(t){const e={completed:!0,expanded:t,expandedHeight:null,shouldFixHeight:!1,temporaryExpanded:null},n=L.createCore(e);return new it(n)}get styleExpanded(){var t;return null!==(t=this.get("temporaryExpanded"))&&void 0!==t?t:this.get("expanded")}get styleHeight(){if(!this.styleExpanded)return"0";const t=this.get("expandedHeight");return this.get("shouldFixHeight")&&!a(t)?`${t}px`:"auto"}bindExpandedClass(t,e){const n=()=>{this.styleExpanded?t.classList.add(e):t.classList.remove(e)};f(this,"expanded",n),f(this,"temporaryExpanded",n)}cleanUpTransition(){this.set("shouldFixHeight",!1),this.set("expandedHeight",null),this.set("completed",!0)}}function st(t,e){e.style.height=t.styleHeight}function ot(t,e){t.value("expanded").emitter.on("beforechange",(()=>{if(t.set("completed",!1),a(t.get("expandedHeight"))){const n=function(t,e){let n=0;return function(t,e){const n=t.style.transition;t.style.transition="none",e(),t.style.transition=n}(e,(()=>{t.set("expandedHeight",null),t.set("temporaryExpanded",!0),F(e),n=e.clientHeight,t.set("temporaryExpanded",null),F(e)})),n}(t,e);n>0&&t.set("expandedHeight",n)}t.set("shouldFixHeight",!0),F(e)})),t.emitter.on("change",(()=>{st(t,e)})),st(t,e),e.addEventListener("transitionend",(e=>{"height"===e.propertyName&&t.cleanUpTransition()}))}class rt extends e{constructor(t,e){super(t),this.rackApi_=e}}class at{constructor(t){this.emitter=new v,this.items_=[],this.cache_=new Set,this.onSubListAdd_=this.onSubListAdd_.bind(this),this.onSubListRemove_=this.onSubListRemove_.bind(this),this.extract_=t}get items(){return this.items_}allItems(){return Array.from(this.cache_)}find(t){for(const e of this.allItems())if(t(e))return e;return null}includes(t){return this.cache_.has(t)}add(t,e){if(this.includes(t))throw c.shouldNeverHappen();const n=void 0!==e?e:this.items_.length;this.items_.splice(n,0,t),this.cache_.add(t);const i=this.extract_(t);i&&(i.emitter.on("add",this.onSubListAdd_),i.emitter.on("remove",this.onSubListRemove_),i.allItems().forEach((t=>{this.cache_.add(t)}))),this.emitter.emit("add",{index:n,item:t,root:this,target:this})}remove(t){const e=this.items_.indexOf(t);if(e<0)return;this.items_.splice(e,1),this.cache_.delete(t);const n=this.extract_(t);n&&(n.emitter.off("add",this.onSubListAdd_),n.emitter.off("remove",this.onSubListRemove_)),this.emitter.emit("remove",{index:e,item:t,root:this,target:this})}onSubListAdd_(t){this.cache_.add(t.item),this.emitter.emit("add",{index:t.index,item:t.item,root:this,target:t.target})}onSubListRemove_(t){this.cache_.delete(t.item),this.emitter.emit("remove",{index:t.index,item:t.item,root:this,target:t.target})}}class lt extends e{constructor(t){super(t),this.onBindingChange_=this.onBindingChange_.bind(this),this.emitter_=new v,this.controller_.binding.emitter.on("change",this.onBindingChange_)}get label(){return this.controller_.props.get("label")}set label(t){this.controller_.props.set("label",t)}on(t,e){const n=e.bind(this);return this.emitter_.on(t,(t=>{n(t.event)})),this}refresh(){this.controller_.binding.read()}onBindingChange_(t){const e=t.sender.target.read();this.emitter_.emit("change",{event:new i(this,e,this.controller_.binding.target.presetKey,t.options.last)})}}class pt extends Z{constructor(t,e){super(t,e),this.binding=e.binding}}class dt extends e{constructor(t){super(t),this.onBindingUpdate_=this.onBindingUpdate_.bind(this),this.emitter_=new v,this.controller_.binding.emitter.on("update",this.onBindingUpdate_)}get label(){return this.controller_.props.get("label")}set label(t){this.controller_.props.set("label",t)}on(t,e){const n=e.bind(this);return this.emitter_.on(t,(t=>{n(t.event)})),this}refresh(){this.controller_.binding.read()}onBindingUpdate_(t){const e=t.sender.target.read();this.emitter_.emit("update",{event:new s(this,e,this.controller_.binding.target.presetKey)})}}class ct extends Z{constructor(t,e){super(t,e),this.binding=e.binding,this.viewProps.bindDisabled(this.binding.ticker),this.viewProps.handleDispose((()=>{this.binding.dispose()}))}}function ht(t){return t instanceof mt?t.apiSet_:t instanceof rt?t.rackApi_.apiSet_:null}function ut(t,e){const n=t.find((t=>t.controller_===e));if(!n)throw c.shouldNeverHappen();return n}function vt(t,e,n){if(!h.isBindable(t))throw c.notBindable();return new h(t,e,n)}class mt extends e{constructor(t,e){super(t),this.onRackAdd_=this.onRackAdd_.bind(this),this.onRackRemove_=this.onRackRemove_.bind(this),this.onRackInputChange_=this.onRackInputChange_.bind(this),this.onRackMonitorUpdate_=this.onRackMonitorUpdate_.bind(this),this.emitter_=new v,this.apiSet_=new at(ht),this.pool_=e;const n=this.controller_.rack;n.emitter.on("add",this.onRackAdd_),n.emitter.on("remove",this.onRackRemove_),n.emitter.on("inputchange",this.onRackInputChange_),n.emitter.on("monitorupdate",this.onRackMonitorUpdate_),n.children.forEach((t=>{this.setUpApi_(t)}))}get children(){return this.controller_.rack.children.map((t=>ut(this.apiSet_,t)))}addInput(t,e,n){const i=null!=n?n:{},s=this.controller_.view.element.ownerDocument,o=this.pool_.createInput(s,vt(t,e,i.presetKey),i),r=new lt(o);return this.add(r,i.index)}addMonitor(t,e,n){const i=null!=n?n:{},s=this.controller_.view.element.ownerDocument,o=this.pool_.createMonitor(s,vt(t,e),i),r=new dt(o);return this.add(r,i.index)}addFolder(t){return function(t,e){return t.addBlade(Object.assign(Object.assign({},e),{view:"folder"}))}(this,t)}addButton(t){return function(t,e){return t.addBlade(Object.assign(Object.assign({},e),{view:"button"}))}(this,t)}addSeparator(t){return function(t,e){const n=null!=e?e:{};return t.addBlade(Object.assign(Object.assign({},n),{view:"separator"}))}(this,t)}addTab(t){return function(t,e){return t.addBlade(Object.assign(Object.assign({},e),{view:"tab"}))}(this,t)}add(t,e){this.controller_.rack.add(t.controller_,e);const n=this.apiSet_.find((e=>e.controller_===t.controller_));return n&&this.apiSet_.remove(n),this.apiSet_.add(t),t}remove(t){this.controller_.rack.remove(t.controller_)}addBlade(t){const e=this.controller_.view.element.ownerDocument,n=this.pool_.createBlade(e,t),i=this.pool_.createBladeApi(n);return this.add(i,t.index)}on(t,e){const n=e.bind(this);return this.emitter_.on(t,(t=>{n(t.event)})),this}setUpApi_(t){this.apiSet_.find((e=>e.controller_===t))||this.apiSet_.add(this.pool_.createBladeApi(t))}onRackAdd_(t){this.setUpApi_(t.bladeController)}onRackRemove_(t){if(t.isRoot){const e=ut(this.apiSet_,t.bladeController);this.apiSet_.remove(e)}}onRackInputChange_(t){const e=t.bladeController;if(e instanceof pt){const n=ut(this.apiSet_,e),s=e.binding;this.emitter_.emit("change",{event:new i(n,s.target.read(),s.target.presetKey,t.options.last)})}else if(e instanceof et){const n=ut(this.apiSet_,e);this.emitter_.emit("change",{event:new i(n,e.value.rawValue,void 0,t.options.last)})}}onRackMonitorUpdate_(t){if(!(t.bladeController instanceof ct))throw c.shouldNeverHappen();const e=ut(this.apiSet_,t.bladeController),n=t.bladeController.binding;this.emitter_.emit("update",{event:new s(e,n.target.read(),n.target.presetKey)})}}class bt extends rt{constructor(t,e){super(t,new mt(t.rackController,e)),this.emitter_=new v,this.controller_.foldable.value("expanded").emitter.on("change",(t=>{this.emitter_.emit("fold",{event:new o(this,t.sender.rawValue)})})),this.rackApi_.on("change",(t=>{this.emitter_.emit("change",{event:t})})),this.rackApi_.on("update",(t=>{this.emitter_.emit("update",{event:t})}))}get expanded(){return this.controller_.foldable.get("expanded")}set expanded(t){this.controller_.foldable.set("expanded",t)}get title(){return this.controller_.props.get("title")}set title(t){this.controller_.props.set("title",t)}get children(){return this.rackApi_.children}addInput(t,e,n){return this.rackApi_.addInput(t,e,n)}addMonitor(t,e,n){return this.rackApi_.addMonitor(t,e,n)}addFolder(t){return this.rackApi_.addFolder(t)}addButton(t){return this.rackApi_.addButton(t)}addSeparator(t){return this.rackApi_.addSeparator(t)}addTab(t){return this.rackApi_.addTab(t)}add(t,e){return this.rackApi_.add(t,e)}remove(t){this.rackApi_.remove(t)}addBlade(t){return this.rackApi_.addBlade(t)}on(t,e){const n=e.bind(this);return this.emitter_.on(t,(t=>{n(t.event)})),this}}class _t extends B{constructor(t){super({blade:t.blade,view:t.view,viewProps:t.rackController.viewProps}),this.rackController=t.rackController}}class gt{constructor(t,e){const n=b(e.viewName);this.element=t.createElement("div"),this.element.classList.add(n()),e.viewProps.bindClassModifiers(this.element)}}function ft(t){return t instanceof Ct?t.rack:t instanceof _t?t.rackController.rack:null}function wt(t){const e=ft(t);return e?e.bcSet_:null}class xt{constructor(t){var e,n;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.onChildInputChange_=this.onChildInputChange_.bind(this),this.onChildMonitorUpdate_=this.onChildMonitorUpdate_.bind(this),this.onChildValueChange_=this.onChildValueChange_.bind(this),this.onChildViewPropsChange_=this.onChildViewPropsChange_.bind(this),this.onDescendantLayout_=this.onDescendantLayout_.bind(this),this.onDescendantInputChange_=this.onDescendantInputChange_.bind(this),this.onDescendantMonitorUpdate_=this.onDescendantMonitorUpdate_.bind(this),this.emitter=new v,this.blade_=null!==(e=t.blade)&&void 0!==e?e:null,null===(n=this.blade_)||void 0===n||n.value("positions").emitter.on("change",this.onBladePositionsChange_),this.viewProps=t.viewProps,this.bcSet_=new at(wt),this.bcSet_.emitter.on("add",this.onSetAdd_),this.bcSet_.emitter.on("remove",this.onSetRemove_)}get children(){return this.bcSet_.items}add(t,e){var n;null===(n=t.parent)||void 0===n||n.remove(t),p(t,"parent")?t.parent=this:(t.parent_=this,j({key:"parent",target:"BladeController",place:"BladeRack.add"})),this.bcSet_.add(t,e)}remove(t){p(t,"parent")?t.parent=null:(t.parent_=null,j({key:"parent",target:"BladeController",place:"BladeRack.remove"})),this.bcSet_.remove(t)}find(t){return this.bcSet_.allItems().filter((e=>e instanceof t))}onSetAdd_(t){this.updatePositions_();const e=t.target===t.root;if(this.emitter.emit("add",{bladeController:t.item,index:t.index,isRoot:e,sender:this}),!e)return;const n=t.item;if(n.viewProps.emitter.on("change",this.onChildViewPropsChange_),n.blade.value("positions").emitter.on("change",this.onChildPositionsChange_),n.viewProps.handleDispose(this.onChildDispose_),n instanceof pt)n.binding.emitter.on("change",this.onChildInputChange_);else if(n instanceof ct)n.binding.emitter.on("update",this.onChildMonitorUpdate_);else if(n instanceof et)n.value.emitter.on("change",this.onChildValueChange_);else{const t=ft(n);if(t){const e=t.emitter;e.on("layout",this.onDescendantLayout_),e.on("inputchange",this.onDescendantInputChange_),e.on("monitorupdate",this.onDescendantMonitorUpdate_)}}}onSetRemove_(t){this.updatePositions_();const e=t.target===t.root;if(this.emitter.emit("remove",{bladeController:t.item,isRoot:e,sender:this}),!e)return;const n=t.item;if(n instanceof pt)n.binding.emitter.off("change",this.onChildInputChange_);else if(n instanceof ct)n.binding.emitter.off("update",this.onChildMonitorUpdate_);else if(n instanceof et)n.value.emitter.off("change",this.onChildValueChange_);else{const t=ft(n);if(t){const e=t.emitter;e.off("layout",this.onDescendantLayout_),e.off("inputchange",this.onDescendantInputChange_),e.off("monitorupdate",this.onDescendantMonitorUpdate_)}}}updatePositions_(){const t=this.bcSet_.items.filter((t=>!t.viewProps.get("hidden"))),e=t[0],n=t[t.length-1];this.bcSet_.items.forEach((t=>{const i=[];t===e&&(i.push("first"),this.blade_&&!this.blade_.get("positions").includes("veryfirst")||i.push("veryfirst")),t===n&&(i.push("last"),this.blade_&&!this.blade_.get("positions").includes("verylast")||i.push("verylast")),t.blade.set("positions",i)}))}onChildPositionsChange_(){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onChildViewPropsChange_(t){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onChildDispose_(){this.bcSet_.items.filter((t=>t.viewProps.get("disposed"))).forEach((t=>{this.bcSet_.remove(t)}))}onChildInputChange_(t){const e=function(t,e){for(let n=0;n<t.length;n++){const i=t[n];if(i instanceof pt&&i.binding===e)return i}return null}(this.find(pt),t.sender);if(!e)throw c.alreadyDisposed();this.emitter.emit("inputchange",{bladeController:e,options:t.options,sender:this})}onChildMonitorUpdate_(t){const e=function(t,e){for(let n=0;n<t.length;n++){const i=t[n];if(i instanceof ct&&i.binding===e)return i}return null}(this.find(ct),t.sender);if(!e)throw c.alreadyDisposed();this.emitter.emit("monitorupdate",{bladeController:e,sender:this})}onChildValueChange_(t){const e=function(t,e){for(let n=0;n<t.length;n++){const i=t[n];if(i instanceof et&&i.value===e)return i}return null}(this.find(et),t.sender);if(!e)throw c.alreadyDisposed();this.emitter.emit("inputchange",{bladeController:e,options:t.options,sender:this})}onDescendantLayout_(t){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onDescendantInputChange_(t){this.emitter.emit("inputchange",{bladeController:t.bladeController,options:t.options,sender:this})}onDescendantMonitorUpdate_(t){this.emitter.emit("monitorupdate",{bladeController:t.bladeController,sender:this})}onBladePositionsChange_(){this.updatePositions_()}}class Ct extends B{constructor(t,e){super(Object.assign(Object.assign({},e),{view:new gt(t,{viewName:"brk",viewProps:e.viewProps})})),this.onRackAdd_=this.onRackAdd_.bind(this),this.onRackRemove_=this.onRackRemove_.bind(this);const n=new xt({blade:e.root?void 0:e.blade,viewProps:e.viewProps});n.emitter.on("add",this.onRackAdd_),n.emitter.on("remove",this.onRackRemove_),this.rack=n,this.viewProps.handleDispose((()=>{for(let t=this.rack.children.length-1;t>=0;t--){this.rack.children[t].viewProps.set("disposed",!0)}}))}onRackAdd_(t){t.isRoot&&G(this.view.element,t.bladeController.view.element,t.index)}onRackRemove_(t){t.isRoot&&Y(t.bladeController.view.element)}}const yt=b("cnt");class Pt{constructor(t,e){var n;this.className_=b(null!==(n=e.viewName)&&void 0!==n?n:"fld"),this.element=t.createElement("div"),this.element.classList.add(this.className_(),yt()),e.viewProps.bindClassModifiers(this.element),this.foldable_=e.foldable,this.foldable_.bindExpandedClass(this.element,this.className_(void 0,"expanded")),f(this.foldable_,"completed",w(this.element,this.className_(void 0,"cpl")));const i=t.createElement("button");i.classList.add(this.className_("b")),f(e.props,"title",(t=>{a(t)?this.element.classList.add(this.className_(void 0,"not")):this.element.classList.remove(this.className_(void 0,"not"))})),e.viewProps.bindDisabled(i),this.element.appendChild(i),this.buttonElement=i;const s=t.createElement("div");s.classList.add(this.className_("i")),this.element.appendChild(s);const o=t.createElement("div");o.classList.add(this.className_("t")),x(e.props.value("title"),o),this.buttonElement.appendChild(o),this.titleElement=o;const r=t.createElement("div");r.classList.add(this.className_("m")),this.buttonElement.appendChild(r);const l=e.containerElement;l.classList.add(this.className_("c")),this.element.appendChild(l),this.containerElement=l}}class kt extends _t{constructor(t,e){var n;const i=it.create(null===(n=e.expanded)||void 0===n||n),s=new Ct(t,{blade:e.blade,root:e.root,viewProps:e.viewProps});super(Object.assign(Object.assign({},e),{rackController:s,view:new Pt(t,{containerElement:s.view.element,foldable:i,props:e.props,viewName:e.root?"rot":void 0,viewProps:e.viewProps})})),this.onTitleClick_=this.onTitleClick_.bind(this),this.props=e.props,this.foldable=i,ot(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}onTitleClick_(){this.foldable.set("expanded",!this.foldable.get("expanded"))}}const Et={id:"folder",type:"blade",accept(t){const e=A,n=D(t,{title:e.required.string,view:e.required.constant("folder"),expanded:e.optional.boolean});return n?{params:n}:null},controller:t=>new kt(t.document,{blade:t.blade,expanded:t.params.expanded,props:L.fromObject({title:t.params.title}),viewProps:t.viewProps}),api:t=>t.controller instanceof kt?new bt(t.controller,t.pool):null};class Vt extends et{constructor(t,e){const n=e.valueController.viewProps;super(Object.assign(Object.assign({},e),{value:e.valueController.value,view:new W(t,{props:e.props,viewProps:n}),viewProps:n})),this.props=e.props,this.valueController=e.valueController,this.view.valueElement.appendChild(this.valueController.view.element)}}class Lt extends e{}const Mt=b("spr");class St{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(Mt()),e.viewProps.bindClassModifiers(this.element);const n=t.createElement("hr");n.classList.add(Mt("r")),this.element.appendChild(n)}}class At extends B{constructor(t,e){super(Object.assign(Object.assign({},e),{view:new St(t,{viewProps:e.viewProps})}))}}const Dt={id:"separator",type:"blade",accept(t){const e=D(t,{view:A.required.constant("separator")});return e?{params:e}:null},controller:t=>new At(t.document,{blade:t.blade,viewProps:t.viewProps}),api:t=>t.controller instanceof At?new Lt(t.controller):null},jt=b("tbi");class Rt{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(jt()),e.viewProps.bindClassModifiers(this.element),f(e.props,"selected",(t=>{t?this.element.classList.add(jt(void 0,"sel")):this.element.classList.remove(jt(void 0,"sel"))}));const n=t.createElement("button");n.classList.add(jt("b")),e.viewProps.bindDisabled(n),this.element.appendChild(n),this.buttonElement=n;const i=t.createElement("div");i.classList.add(jt("t")),x(e.props.value("title"),i),this.buttonElement.appendChild(i),this.titleElement=i}}class Ot{constructor(t,e){this.emitter=new v,this.onClick_=this.onClick_.bind(this),this.props=e.props,this.viewProps=e.viewProps,this.view=new Rt(t,{props:e.props,viewProps:e.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}onClick_(){this.emitter.emit("click",{sender:this})}}class It{constructor(t,e){this.onItemClick_=this.onItemClick_.bind(this),this.ic_=new Ot(t,{props:e.itemProps,viewProps:K.create()}),this.ic_.emitter.on("click",this.onItemClick_),this.cc_=new Ct(t,{blade:nt(),viewProps:K.create()}),this.props=e.props,f(this.props,"selected",(t=>{this.itemController.props.set("selected",t),this.contentController.viewProps.set("hidden",!t)}))}get itemController(){return this.ic_}get contentController(){return this.cc_}onItemClick_(){this.props.set("selected",!0)}}class Kt{constructor(t,e){this.controller_=t,this.rackApi_=e}get title(){var t;return null!==(t=this.controller_.itemController.props.get("title"))&&void 0!==t?t:""}set title(t){this.controller_.itemController.props.set("title",t)}get selected(){return this.controller_.props.get("selected")}set selected(t){this.controller_.props.set("selected",t)}get children(){return this.rackApi_.children}addButton(t){return this.rackApi_.addButton(t)}addFolder(t){return this.rackApi_.addFolder(t)}addSeparator(t){return this.rackApi_.addSeparator(t)}addTab(t){return this.rackApi_.addTab(t)}add(t,e){this.rackApi_.add(t,e)}remove(t){this.rackApi_.remove(t)}addInput(t,e,n){return this.rackApi_.addInput(t,e,n)}addMonitor(t,e,n){return this.rackApi_.addMonitor(t,e,n)}addBlade(t){return this.rackApi_.addBlade(t)}}class Nt extends rt{constructor(t,e){super(t,new mt(t.rackController,e)),this.onPageAdd_=this.onPageAdd_.bind(this),this.onPageRemove_=this.onPageRemove_.bind(this),this.onSelect_=this.onSelect_.bind(this),this.emitter_=new v,this.pageApiMap_=new Map,this.rackApi_.on("change",(t=>{this.emitter_.emit("change",{event:t})})),this.rackApi_.on("update",(t=>{this.emitter_.emit("update",{event:t})})),this.controller_.tab.selectedIndex.emitter.on("change",this.onSelect_),this.controller_.pageSet.emitter.on("add",this.onPageAdd_),this.controller_.pageSet.emitter.on("remove",this.onPageRemove_),this.controller_.pageSet.items.forEach((t=>{this.setUpPageApi_(t)}))}get pages(){return this.controller_.pageSet.items.map((t=>{const e=this.pageApiMap_.get(t);if(!e)throw c.shouldNeverHappen();return e}))}addPage(t){const e=this.controller_.view.element.ownerDocument,n=new It(e,{itemProps:L.fromObject({selected:!1,title:t.title}),props:L.fromObject({selected:!1})});this.controller_.add(n,t.index);const i=this.pageApiMap_.get(n);if(!i)throw c.shouldNeverHappen();return i}removePage(t){this.controller_.remove(t)}on(t,e){const n=e.bind(this);return this.emitter_.on(t,(t=>{n(t.event)})),this}setUpPageApi_(t){const e=this.rackApi_.apiSet_.find((e=>e.controller_===t.contentController));if(!e)throw c.shouldNeverHappen();const n=new Kt(t,e);this.pageApiMap_.set(t,n)}onPageAdd_(t){this.setUpPageApi_(t.item)}onPageRemove_(t){if(!this.pageApiMap_.get(t.item))throw c.shouldNeverHappen();this.pageApiMap_.delete(t.item)}onSelect_(t){this.emitter_.emit("select",{event:new r(this,t.rawValue)})}}class Ut{constructor(){this.onItemSelectedChange_=this.onItemSelectedChange_.bind(this),this.empty=V(!0),this.selectedIndex=V(-1),this.items_=[]}add(t,e){const n=null!=e?e:this.items_.length;this.items_.splice(n,0,t),t.emitter.on("change",this.onItemSelectedChange_),this.keepSelection_()}remove(t){const e=this.items_.indexOf(t);e<0||(this.items_.splice(e,1),t.emitter.off("change",this.onItemSelectedChange_),this.keepSelection_())}keepSelection_(){if(0===this.items_.length)return this.selectedIndex.rawValue=-1,void(this.empty.rawValue=!0);const t=this.items_.findIndex((t=>t.rawValue));t<0?(this.items_.forEach(((t,e)=>{t.rawValue=0===e})),this.selectedIndex.rawValue=0):(this.items_.forEach(((e,n)=>{e.rawValue=n===t})),this.selectedIndex.rawValue=t),this.empty.rawValue=!1}onItemSelectedChange_(t){if(t.rawValue){const e=this.items_.findIndex((e=>e===t.sender));this.items_.forEach(((t,n)=>{t.rawValue=n===e})),this.selectedIndex.rawValue=e}else this.keepSelection_()}}const Bt=b("tab");class Tt{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(Bt(),yt()),e.viewProps.bindClassModifiers(this.element),g(e.empty,w(this.element,Bt(void 0,"nop")));const n=t.createElement("div");n.classList.add(Bt("t")),this.element.appendChild(n),this.itemsElement=n;const i=t.createElement("div");i.classList.add(Bt("i")),this.element.appendChild(i);const s=e.contentsElement;s.classList.add(Bt("c")),this.element.appendChild(s),this.contentsElement=s}}class Ft extends _t{constructor(t,e){const n=new Ct(t,{blade:e.blade,viewProps:e.viewProps}),i=new Ut;super({blade:e.blade,rackController:n,view:new Tt(t,{contentsElement:n.view.element,empty:i.empty,viewProps:e.viewProps})}),this.onPageAdd_=this.onPageAdd_.bind(this),this.onPageRemove_=this.onPageRemove_.bind(this),this.pageSet_=new at((()=>null)),this.pageSet_.emitter.on("add",this.onPageAdd_),this.pageSet_.emitter.on("remove",this.onPageRemove_),this.tab=i}get pageSet(){return this.pageSet_}add(t,e){this.pageSet_.add(t,e)}remove(t){this.pageSet_.remove(this.pageSet_.items[t])}onPageAdd_(t){const e=t.item;G(this.view.itemsElement,e.itemController.view.element,t.index),e.itemController.viewProps.set("parent",this.viewProps),this.rackController.rack.add(e.contentController,t.index),this.tab.add(e.props.value("selected"))}onPageRemove_(t){const e=t.item;Y(e.itemController.view.element),e.itemController.viewProps.set("parent",null),this.rackController.rack.remove(e.contentController),this.tab.remove(e.props.value("selected"))}}const $t={id:"tab",type:"blade",accept(t){const e=A,n=D(t,{pages:e.required.array(e.required.object({title:e.required.string})),view:e.required.constant("tab")});return n&&0!==n.pages.length?{params:n}:null},controller(t){const e=new Ft(t.document,{blade:t.blade,viewProps:t.viewProps});return t.params.pages.forEach((n=>{const i=new It(t.document,{itemProps:L.fromObject({selected:!1,title:n.title}),props:L.fromObject({selected:!1})});e.add(i)})),e},api:t=>t.controller instanceof Ft?new Nt(t.controller,t.pool):null};class Ht{constructor(){this.disabled=!1,this.emitter=new v}dispose(){}tick(){this.disabled||this.emitter.emit("tick",{sender:this})}}class zt{constructor(t,e){this.disabled_=!1,this.timerId_=null,this.onTick_=this.onTick_.bind(this),this.doc_=t,this.emitter=new v,this.interval_=e,this.setTimer_()}get disabled(){return this.disabled_}set disabled(t){this.disabled_=t,this.disabled_?this.clearTimer_():this.setTimer_()}dispose(){this.clearTimer_()}clearTimer_(){if(null===this.timerId_)return;const t=this.doc_.defaultView;t&&t.clearInterval(this.timerId_),this.timerId_=null}setTimer_(){if(this.clearTimer_(),this.interval_<=0)return;const t=this.doc_.defaultView;t&&(this.timerId_=t.setInterval(this.onTick_,this.interval_))}onTick_(){this.disabled_||this.emitter.emit("tick",{sender:this})}}class qt{constructor(t){this.onValueChange_=this.onValueChange_.bind(this),this.reader=t.reader,this.writer=t.writer,this.emitter=new v,this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.target=t.target,this.read()}read(){const t=this.target.read();void 0!==t&&(this.value.rawValue=this.reader(t))}write_(t){this.writer(this.target,t)}onValueChange_(t){this.write_(t.rawValue),this.emitter.emit("change",{options:t.options,rawValue:t.rawValue,sender:this})}}function Gt(t,e){for(;t.length<e;)t.push(void 0)}function Yt(t){const e=[];return Gt(e,t),V(e)}function Xt(t){const e=t.indexOf(void 0);return e<0?t:t.slice(0,e)}class Qt{constructor(t){this.onTick_=this.onTick_.bind(this),this.reader_=t.reader,this.target=t.target,this.emitter=new v,this.value=t.value,this.ticker=t.ticker,this.ticker.emitter.on("tick",this.onTick_),this.read()}dispose(){this.ticker.dispose()}read(){const t=this.target.read();if(void 0===t)return;const e=this.value.rawValue,n=this.reader_(t);this.value.rawValue=function(t,e){const n=[...Xt(t),e];return n.length>t.length?n.splice(0,n.length-t.length):Gt(n,t.length),n}(e,n),this.emitter.emit("update",{rawValue:n,sender:this})}onTick_(t){this.read()}}class Jt{constructor(t){this.constraints=t}constrain(t){return this.constraints.reduce(((t,e)=>e.constrain(t)),t)}}function Wt(t,e){if(t instanceof e)return t;if(t instanceof Jt){const n=t.constraints.reduce(((t,n)=>t||(n instanceof e?n:null)),null);if(n)return n}return null}class Zt{constructor(t){this.values=L.fromObject({max:t.max,min:t.min})}constrain(t){const e=this.values.get("max"),n=this.values.get("min");return Math.min(Math.max(t,n),e)}}class te{constructor(t){this.values=L.fromObject({options:t})}get options(){return this.values.get("options")}constrain(t){const e=this.values.get("options");if(0===e.length)return t;return e.filter((e=>e.value===t)).length>0?t:e[0].value}}class ee{constructor(t){this.values=L.fromObject({max:t.max,min:t.min})}get maxValue(){return this.values.get("max")}get minValue(){return this.values.get("min")}constrain(t){const e=this.values.get("max"),n=this.values.get("min");let i=t;return a(n)||(i=Math.max(i,n)),a(e)||(i=Math.min(i,e)),i}}class ne{constructor(t,e=0){this.step=t,this.origin=e}constrain(t){const e=this.origin%this.step;return e+Math.round((t-e)/this.step)*this.step}}const ie=b("lst");class se{constructor(t,e){this.onValueChange_=this.onValueChange_.bind(this),this.props_=e.props,this.element=t.createElement("div"),this.element.classList.add(ie()),e.viewProps.bindClassModifiers(this.element);const n=t.createElement("select");n.classList.add(ie("s")),e.viewProps.bindDisabled(n),this.element.appendChild(n),this.selectElement=n;const i=t.createElement("div");i.classList.add(ie("m")),i.appendChild(q(t,"dropdown")),this.element.appendChild(i),e.value.emitter.on("change",this.onValueChange_),this.value_=e.value,f(this.props_,"options",(e=>{X(this.selectElement),e.forEach((e=>{const n=t.createElement("option");n.textContent=e.text,this.selectElement.appendChild(n)})),this.update_()}))}update_(){const t=this.props_.get("options").map((t=>t.value));this.selectElement.selectedIndex=t.indexOf(this.value_.rawValue)}onValueChange_(){this.update_()}}class oe{constructor(t,e){this.onSelectChange_=this.onSelectChange_.bind(this),this.props=e.props,this.value=e.value,this.viewProps=e.viewProps,this.view=new se(t,{props:this.props,value:this.value,viewProps:this.viewProps}),this.view.selectElement.addEventListener("change",this.onSelectChange_)}onSelectChange_(t){const e=t.currentTarget;this.value.rawValue=this.props.get("options")[e.selectedIndex].value}}const re=b("pop");class ae{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(re()),e.viewProps.bindClassModifiers(this.element),g(e.shows,w(this.element,re(void 0,"v")))}}class le{constructor(t,e){this.shows=V(!1),this.viewProps=e.viewProps,this.view=new ae(t,{shows:this.shows,viewProps:this.viewProps})}}const pe=b("txt");class de{constructor(t,e){this.onChange_=this.onChange_.bind(this),this.element=t.createElement("div"),this.element.classList.add(pe()),e.viewProps.bindClassModifiers(this.element),this.props_=e.props,this.props_.emitter.on("change",this.onChange_);const n=t.createElement("input");n.classList.add(pe("i")),n.type="text",e.viewProps.bindDisabled(n),this.element.appendChild(n),this.inputElement=n,e.value.emitter.on("change",this.onChange_),this.value_=e.value,this.refresh()}refresh(){const t=this.props_.get("formatter");this.inputElement.value=t(this.value_.rawValue)}onChange_(){this.refresh()}}class ce{constructor(t,e){this.onInputChange_=this.onInputChange_.bind(this),this.parser_=e.parser,this.props=e.props,this.value=e.value,this.viewProps=e.viewProps,this.view=new de(t,{props:e.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_)}onInputChange_(t){const e=t.currentTarget.value,n=this.parser_(e);a(n)||(this.value.rawValue=n),this.view.refresh()}}function he(t){return"false"!==t&&!!t}function ue(t){return function(t){return String(t)}(t)}class ve{constructor(t){this.text=t}evaluate(){return Number(this.text)}toString(){return this.text}}const me={"**":(t,e)=>Math.pow(t,e),"*":(t,e)=>t*e,"/":(t,e)=>t/e,"%":(t,e)=>t%e,"+":(t,e)=>t+e,"-":(t,e)=>t-e,"<<":(t,e)=>t<<e,">>":(t,e)=>t>>e,">>>":(t,e)=>t>>>e,"&":(t,e)=>t&e,"^":(t,e)=>t^e,"|":(t,e)=>t|e};class be{constructor(t,e,n){this.left=e,this.operator=t,this.right=n}evaluate(){const t=me[this.operator];if(!t)throw new Error(`unexpected binary operator: '${this.operator}`);return t(this.left.evaluate(),this.right.evaluate())}toString(){return["b(",this.left.toString(),this.operator,this.right.toString(),")"].join(" ")}}const _e={"+":t=>t,"-":t=>-t,"~":t=>~t};class ge{constructor(t,e){this.operator=t,this.expression=e}evaluate(){const t=_e[this.operator];if(!t)throw new Error(`unexpected unary operator: '${this.operator}`);return t(this.expression.evaluate())}toString(){return["u(",this.operator,this.expression.toString(),")"].join(" ")}}function fe(t){return(e,n)=>{for(let i=0;i<t.length;i++){const s=t[i](e,n);if(""!==s)return s}return""}}function we(t,e){var n;const i=t.substr(e).match(/^\s+/);return null!==(n=i&&i[0])&&void 0!==n?n:""}function xe(t,e){var n;const i=t.substr(e).match(/^[0-9]+/);return null!==(n=i&&i[0])&&void 0!==n?n:""}function Ce(t,e){const n=t.substr(e,1);if(e+=1,"e"!==n.toLowerCase())return"";const i=function(t,e){const n=xe(t,e);if(""!==n)return n;const i=t.substr(e,1);if("-"!==i&&"+"!==i)return"";const s=xe(t,e+=1);return""===s?"":i+s}(t,e);return""===i?"":n+i}function ye(t,e){const n=t.substr(e,1);if("0"===n)return n;const i=function(t,e){const n=t.substr(e,1);return n.match(/^[1-9]$/)?n:""}(t,e);return e+=i.length,""===i?"":i+xe(t,e)}const Pe=fe([function(t,e){const n=ye(t,e);if(e+=n.length,""===n)return"";const i=t.substr(e,1);if(e+=i.length,"."!==i)return"";const s=xe(t,e);return n+i+s+Ce(t,e+=s.length)},function(t,e){const n=t.substr(e,1);if(e+=n.length,"."!==n)return"";const i=xe(t,e);return e+=i.length,""===i?"":n+i+Ce(t,e)},function(t,e){const n=ye(t,e);return e+=n.length,""===n?"":n+Ce(t,e)}]);const ke=fe([function(t,e){const n=t.substr(e,2);if(e+=n.length,"0b"!==n.toLowerCase())return"";const i=function(t,e){var n;const i=t.substr(e).match(/^[01]+/);return null!==(n=i&&i[0])&&void 0!==n?n:""}(t,e);return""===i?"":n+i},function(t,e){const n=t.substr(e,2);if(e+=n.length,"0o"!==n.toLowerCase())return"";const i=function(t,e){var n;const i=t.substr(e).match(/^[0-7]+/);return null!==(n=i&&i[0])&&void 0!==n?n:""}(t,e);return""===i?"":n+i},function(t,e){const n=t.substr(e,2);if(e+=n.length,"0x"!==n.toLowerCase())return"";const i=function(t,e){var n;const i=t.substr(e).match(/^[0-9a-f]+/i);return null!==(n=i&&i[0])&&void 0!==n?n:""}(t,e);return""===i?"":n+i}]),Ee=fe([ke,Pe]);function Ve(t,e){var n;return null!==(n=function(t,e){const n=Ee(t,e);return e+=n.length,""===n?null:{evaluable:new ve(n),cursor:e}}(t,e))&&void 0!==n?n:function(t,e){const n=t.substr(e,1);if(e+=n.length,"("!==n)return null;const i=Se(t,e);if(!i)return null;e=i.cursor,e+=we(t,e).length;const s=t.substr(e,1);return e+=s.length,")"!==s?null:{evaluable:i.evaluable,cursor:e}}(t,e)}function Le(t,e,n){n+=we(e,n).length;const i=t.filter((t=>e.startsWith(t,n)))[0];return i?(n+=i.length,{cursor:n+=we(e,n).length,operator:i}):null}const Me=[["**"],["*","/","%"],["+","-"],["<<",">>>",">>"],["&"],["^"],["|"]].reduce(((t,e)=>function(t,e){return(n,i)=>{const s=t(n,i);if(!s)return null;i=s.cursor;let o=s.evaluable;for(;;){const s=Le(e,n,i);if(!s)break;i=s.cursor;const r=t(n,i);if(!r)return null;i=r.cursor,o=new be(s.operator,o,r.evaluable)}return o?{cursor:i,evaluable:o}:null}}(t,e)),(function t(e,n){const i=Ve(e,n);if(i)return i;const s=e.substr(n,1);if(n+=s.length,"+"!==s&&"-"!==s&&"~"!==s)return null;const o=t(e,n);return o?{cursor:n=o.cursor,evaluable:new ge(s,o.evaluable)}:null}));function Se(t,e){return e+=we(t,e).length,Me(t,e)}function Ae(t){var e;const n=function(t){const e=Se(t,0);return e?e.cursor+we(t,e.cursor).length!==t.length?null:e.evaluable:null}(t);return null!==(e=null==n?void 0:n.evaluate())&&void 0!==e?e:null}function De(t){if("number"==typeof t)return t;if("string"==typeof t){const e=Ae(t);if(!a(e))return e}return 0}function je(t){return String(t)}function Re(t){return e=>e.toFixed(Math.max(Math.min(t,20),0))}const Oe=Re(0);function Ie(t){return Oe(t)+"%"}function Ke(t){return String(t)}function Ne(t){return t}function Ue({primary:t,secondary:e,forward:n,backward:i}){let s=!1;function o(t){s||(s=!0,t(),s=!1)}t.emitter.on("change",(i=>{o((()=>{e.setRawValue(n(t,e),i.options)}))})),e.emitter.on("change",(s=>{o((()=>{t.setRawValue(i(t,e),s.options)})),o((()=>{e.setRawValue(n(t,e),s.options)}))})),o((()=>{e.setRawValue(n(t,e),{forceEmit:!1,last:!0})}))}function Be(t,e){const n=t*(e.altKey?.1:1)*(e.shiftKey?10:1);return e.upKey?+n:e.downKey?-n:0}function Te(t){return{altKey:t.altKey,downKey:"ArrowDown"===t.key,shiftKey:t.shiftKey,upKey:"ArrowUp"===t.key}}function Fe(t){return{altKey:t.altKey,downKey:"ArrowLeft"===t.key,shiftKey:t.shiftKey,upKey:"ArrowRight"===t.key}}function $e(t){return function(t){return"ArrowUp"===t||"ArrowDown"===t}(t)||"ArrowLeft"===t||"ArrowRight"===t}function He(t,e){var n,i;const s=e.ownerDocument.defaultView,o=e.getBoundingClientRect();return{x:t.pageX-((null!==(n=s&&s.scrollX)&&void 0!==n?n:0)+o.left),y:t.pageY-((null!==(i=s&&s.scrollY)&&void 0!==i?i:0)+o.top)}}class ze{constructor(t){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_=t,this.emitter=new v,t.addEventListener("touchstart",this.onTouchStart_,{passive:!1}),t.addEventListener("touchmove",this.onTouchMove_,{passive:!0}),t.addEventListener("touchend",this.onTouchEnd_),t.addEventListener("mousedown",this.onMouseDown_)}computePosition_(t){const e=this.elem_.getBoundingClientRect();return{bounds:{width:e.width,height:e.height},point:t?{x:t.x,y:t.y}:null}}onMouseDown_(t){var e;t.preventDefault(),null===(e=t.currentTarget)||void 0===e||e.focus();const n=this.elem_.ownerDocument;n.addEventListener("mousemove",this.onDocumentMouseMove_),n.addEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("down",{altKey:t.altKey,data:this.computePosition_(He(t,this.elem_)),sender:this,shiftKey:t.shiftKey})}onDocumentMouseMove_(t){this.emitter.emit("move",{altKey:t.altKey,data:this.computePosition_(He(t,this.elem_)),sender:this,shiftKey:t.shiftKey})}onDocumentMouseUp_(t){const e=this.elem_.ownerDocument;e.removeEventListener("mousemove",this.onDocumentMouseMove_),e.removeEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("up",{altKey:t.altKey,data:this.computePosition_(He(t,this.elem_)),sender:this,shiftKey:t.shiftKey})}onTouchStart_(t){t.preventDefault();const e=t.targetTouches.item(0),n=this.elem_.getBoundingClientRect();this.emitter.emit("down",{altKey:t.altKey,data:this.computePosition_(e?{x:e.clientX-n.left,y:e.clientY-n.top}:void 0),sender:this,shiftKey:t.shiftKey}),this.lastTouch_=e}onTouchMove_(t){const e=t.targetTouches.item(0),n=this.elem_.getBoundingClientRect();this.emitter.emit("move",{altKey:t.altKey,data:this.computePosition_(e?{x:e.clientX-n.left,y:e.clientY-n.top}:void 0),sender:this,shiftKey:t.shiftKey}),this.lastTouch_=e}onTouchEnd_(t){var e;const n=null!==(e=t.targetTouches.item(0))&&void 0!==e?e:this.lastTouch_,i=this.elem_.getBoundingClientRect();this.emitter.emit("up",{altKey:t.altKey,data:this.computePosition_(n?{x:n.clientX-i.left,y:n.clientY-i.top}:void 0),sender:this,shiftKey:t.shiftKey})}}function qe(t,e,n,i,s){return i+(t-e)/(n-e)*(s-i)}function Ge(t){return String(t.toFixed(10)).split(".")[1].replace(/0+$/,"").length}function Ye(t,e,n){return Math.min(Math.max(t,e),n)}function Xe(t,e){return(t%e+e)%e}const Qe=b("txt");class Je{constructor(t,e){this.onChange_=this.onChange_.bind(this),this.props_=e.props,this.props_.emitter.on("change",this.onChange_),this.element=t.createElement("div"),this.element.classList.add(Qe(),Qe(void 0,"num")),e.arrayPosition&&this.element.classList.add(Qe(void 0,e.arrayPosition)),e.viewProps.bindClassModifiers(this.element);const n=t.createElement("input");n.classList.add(Qe("i")),n.type="text",e.viewProps.bindDisabled(n),this.element.appendChild(n),this.inputElement=n,this.onDraggingChange_=this.onDraggingChange_.bind(this),this.dragging_=e.dragging,this.dragging_.emitter.on("change",this.onDraggingChange_),this.element.classList.add(Qe()),this.inputElement.classList.add(Qe("i"));const i=t.createElement("div");i.classList.add(Qe("k")),this.element.appendChild(i),this.knobElement=i;const s=t.createElementNS(T,"svg");s.classList.add(Qe("g")),this.knobElement.appendChild(s);const o=t.createElementNS(T,"path");o.classList.add(Qe("gb")),s.appendChild(o),this.guideBodyElem_=o;const r=t.createElementNS(T,"path");r.classList.add(Qe("gh")),s.appendChild(r),this.guideHeadElem_=r;const a=t.createElement("div");a.classList.add(b("tt")()),this.knobElement.appendChild(a),this.tooltipElem_=a,e.value.emitter.on("change",this.onChange_),this.value=e.value,this.refresh()}onDraggingChange_(t){if(null===t.rawValue)return void this.element.classList.remove(Qe(void 0,"drg"));this.element.classList.add(Qe(void 0,"drg"));const e=t.rawValue/this.props_.get("draggingScale"),n=e+(e>0?-1:e<0?1:0),i=Ye(-n,-4,4);this.guideHeadElem_.setAttributeNS(null,"d",[`M ${n+i},0 L${n},4 L${n+i},8`,`M ${e},-1 L${e},9`].join(" ")),this.guideBodyElem_.setAttributeNS(null,"d",`M 0,4 L${e},4`);const s=this.props_.get("formatter");this.tooltipElem_.textContent=s(this.value.rawValue),this.tooltipElem_.style.left=`${e}px`}refresh(){const t=this.props_.get("formatter");this.inputElement.value=t(this.value.rawValue)}onChange_(){this.refresh()}}class We{constructor(t,e){var n;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.baseStep_=e.baseStep,this.parser_=e.parser,this.props=e.props,this.sliderProps_=null!==(n=e.sliderProps)&&void 0!==n?n:null,this.value=e.value,this.viewProps=e.viewProps,this.dragging_=V(null),this.view=new Je(t,{arrayPosition:e.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 i=new ze(this.view.knobElement);i.emitter.on("down",this.onPointerDown_),i.emitter.on("move",this.onPointerMove_),i.emitter.on("up",this.onPointerUp_)}constrainValue_(t){var e,n;const i=null===(e=this.sliderProps_)||void 0===e?void 0:e.get("minValue"),s=null===(n=this.sliderProps_)||void 0===n?void 0:n.get("maxValue");let o=t;return void 0!==i&&(o=Math.max(o,i)),void 0!==s&&(o=Math.min(o,s)),o}onInputChange_(t){const e=t.currentTarget.value,n=this.parser_(e);a(n)||(this.value.rawValue=this.constrainValue_(n)),this.view.refresh()}onInputKeyDown_(t){const e=Be(this.baseStep_,Te(t));0!==e&&this.value.setRawValue(this.constrainValue_(this.value.rawValue+e),{forceEmit:!1,last:!1})}onInputKeyUp_(t){0!==Be(this.baseStep_,Te(t))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}onPointerDown_(){this.originRawValue_=this.value.rawValue,this.dragging_.rawValue=0}computeDraggingValue_(t){if(!t.point)return null;const e=t.point.x-t.bounds.width/2;return this.constrainValue_(this.originRawValue_+e*this.props.get("draggingScale"))}onPointerMove_(t){const e=this.computeDraggingValue_(t.data);null!==e&&(this.value.setRawValue(e,{forceEmit:!1,last:!1}),this.dragging_.rawValue=this.value.rawValue-this.originRawValue_)}onPointerUp_(t){const e=this.computeDraggingValue_(t.data);null!==e&&(this.value.setRawValue(e,{forceEmit:!0,last:!0}),this.dragging_.rawValue=null)}}const Ze=b("sld");class tn{constructor(t,e){this.onChange_=this.onChange_.bind(this),this.props_=e.props,this.props_.emitter.on("change",this.onChange_),this.element=t.createElement("div"),this.element.classList.add(Ze()),e.viewProps.bindClassModifiers(this.element);const n=t.createElement("div");n.classList.add(Ze("t")),e.viewProps.bindTabIndex(n),this.element.appendChild(n),this.trackElement=n;const i=t.createElement("div");i.classList.add(Ze("k")),this.trackElement.appendChild(i),this.knobElement=i,e.value.emitter.on("change",this.onChange_),this.value=e.value,this.update_()}update_(){const t=Ye(qe(this.value.rawValue,this.props_.get("minValue"),this.props_.get("maxValue"),0,100),0,100);this.knobElement.style.width=`${t}%`}onChange_(){this.update_()}}class en{constructor(t,e){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.baseStep_=e.baseStep,this.value=e.value,this.viewProps=e.viewProps,this.props=e.props,this.view=new tn(t,{props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new ze(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_(t,e){t.point&&this.value.setRawValue(qe(Ye(t.point.x,0,t.bounds.width),0,t.bounds.width,this.props.get("minValue"),this.props.get("maxValue")),e)}onPointerDownOrMove_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerUp_(t){this.handlePointerEvent_(t.data,{forceEmit:!0,last:!0})}onKeyDown_(t){const e=Be(this.baseStep_,Fe(t));0!==e&&this.value.setRawValue(this.value.rawValue+e,{forceEmit:!1,last:!1})}onKeyUp_(t){0!==Be(this.baseStep_,Fe(t))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}const nn=b("sldtxt");class sn{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(nn());const n=t.createElement("div");n.classList.add(nn("s")),this.sliderView_=e.sliderView,n.appendChild(this.sliderView_.element),this.element.appendChild(n);const i=t.createElement("div");i.classList.add(nn("t")),this.textView_=e.textView,i.appendChild(this.textView_.element),this.element.appendChild(i)}}class on{constructor(t,e){this.value=e.value,this.viewProps=e.viewProps,this.sliderC_=new en(t,{baseStep:e.baseStep,props:e.sliderProps,value:e.value,viewProps:this.viewProps}),this.textC_=new We(t,{baseStep:e.baseStep,parser:e.parser,props:e.textProps,sliderProps:e.sliderProps,value:e.value,viewProps:e.viewProps}),this.view=new sn(t,{sliderView:this.sliderC_.view,textView:this.textC_.view})}get sliderController(){return this.sliderC_}get textController(){return this.textC_}}function rn(t,e){t.write(e)}function an(t){const e=A;return Array.isArray(t)?e.required.array(e.required.object({text:e.required.string,value:e.required.raw}))(t).value:"object"==typeof t?e.required.raw(t).value:void 0}function ln(t){if("inline"===t||"popup"===t)return t}function pn(t){const e=A;return e.required.object({max:e.optional.number,min:e.optional.number,step:e.optional.number})(t).value}function dn(t){if(Array.isArray(t))return t;const e=[];return Object.keys(t).forEach((n=>{e.push({text:n,value:t[n]})})),e}function cn(t){return a(t)?null:new te(dn(t))}function hn(t,e){const n=t&&Wt(t,ne);return n?Ge(n.step):Math.max(Ge(e),2)}function un(t){const e=function(t){const e=t?Wt(t,ne):null;return e?e.step:null}(t);return null!=e?e:1}function vn(t,e){var n;const i=t&&Wt(t,ne),s=Math.abs(null!==(n=null==i?void 0:i.step)&&void 0!==n?n:e);return 0===s?.1:Math.pow(10,Math.floor(Math.log10(s))-1)}const mn=b("ckb");class bn{constructor(t,e){this.onValueChange_=this.onValueChange_.bind(this),this.element=t.createElement("div"),this.element.classList.add(mn()),e.viewProps.bindClassModifiers(this.element);const n=t.createElement("label");n.classList.add(mn("l")),this.element.appendChild(n);const i=t.createElement("input");i.classList.add(mn("i")),i.type="checkbox",n.appendChild(i),this.inputElement=i,e.viewProps.bindDisabled(this.inputElement);const s=t.createElement("div");s.classList.add(mn("w")),n.appendChild(s);const o=q(t,"check");s.appendChild(o),e.value.emitter.on("change",this.onValueChange_),this.value=e.value,this.update_()}update_(){this.inputElement.checked=this.value.rawValue}onValueChange_(){this.update_()}}class _n{constructor(t,e){this.onInputChange_=this.onInputChange_.bind(this),this.value=e.value,this.viewProps=e.viewProps,this.view=new bn(t,{value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_)}onInputChange_(t){const e=t.currentTarget;this.value.rawValue=e.checked}}const gn={id:"input-bool",type:"input",accept:(t,e)=>{if("boolean"!=typeof t)return null;const n=D(e,{options:A.optional.custom(an)});return n?{initialValue:t,params:n}:null},binding:{reader:t=>he,constraint:t=>function(t){const e=[],n=cn(t.options);return n&&e.push(n),new Jt(e)}(t.params),writer:t=>rn},controller:t=>{const e=t.document,n=t.value,i=t.constraint,s=i&&Wt(i,te);return s?new oe(e,{props:new L({options:s.values.value("options")}),value:n,viewProps:t.viewProps}):new _n(e,{value:n,viewProps:t.viewProps})}},fn=b("col");class wn{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(fn()),e.foldable.bindExpandedClass(this.element,fn(void 0,"expanded")),f(e.foldable,"completed",w(this.element,fn(void 0,"cpl")));const n=t.createElement("div");n.classList.add(fn("h")),this.element.appendChild(n);const i=t.createElement("div");i.classList.add(fn("s")),n.appendChild(i),this.swatchElement=i;const s=t.createElement("div");if(s.classList.add(fn("t")),n.appendChild(s),this.textElement=s,"inline"===e.pickerLayout){const e=t.createElement("div");e.classList.add(fn("p")),this.element.appendChild(e),this.pickerElement=e}else this.pickerElement=null}}function xn(t,e,n){const i=Xe(t,360),s=Ye(e/100,0,1),o=Ye(n/100,0,1),r=o*s,a=r*(1-Math.abs(i/60%2-1)),l=o-r;let p,d,c;return[p,d,c]=i>=0&&i<60?[r,a,0]:i>=60&&i<120?[a,r,0]:i>=120&&i<180?[0,r,a]:i>=180&&i<240?[0,a,r]:i>=240&&i<300?[a,0,r]:[r,0,a],[255*(p+l),255*(d+l),255*(c+l)]}function Cn(t){return[t[0],t[1],t[2]]}function yn(t,e){return[t[0],t[1],t[2],e]}const Pn={hsl:{hsl:(t,e,n)=>[t,e,n],hsv:function(t,e,n){const i=n+e*(100-Math.abs(2*n-100))/200;return[t,0!==i?e*(100-Math.abs(2*n-100))/i:0,n+e*(100-Math.abs(2*n-100))/200]},rgb:function(t,e,n){const i=(t%360+360)%360,s=Ye(e/100,0,1),o=Ye(n/100,0,1),r=(1-Math.abs(2*o-1))*s,a=r*(1-Math.abs(i/60%2-1)),l=o-r/2;let p,d,c;return[p,d,c]=i>=0&&i<60?[r,a,0]:i>=60&&i<120?[a,r,0]:i>=120&&i<180?[0,r,a]:i>=180&&i<240?[0,a,r]:i>=240&&i<300?[a,0,r]:[r,0,a],[255*(p+l),255*(d+l),255*(c+l)]}},hsv:{hsl:function(t,e,n){const i=100-Math.abs(n*(200-e)/100-100);return[t,0!==i?e*n/i:0,n*(200-e)/200]},hsv:(t,e,n)=>[t,e,n],rgb:xn},rgb:{hsl:function(t,e,n){const i=Ye(t/255,0,1),s=Ye(e/255,0,1),o=Ye(n/255,0,1),r=Math.max(i,s,o),a=Math.min(i,s,o),l=r-a;let p=0,d=0;const c=(a+r)/2;return 0!==l&&(d=l/(1-Math.abs(r+a-1)),p=i===r?(s-o)/l:s===r?2+(o-i)/l:4+(i-s)/l,p=p/6+(p<0?1:0)),[360*p,100*d,100*c]},hsv:function(t,e,n){const i=Ye(t/255,0,1),s=Ye(e/255,0,1),o=Ye(n/255,0,1),r=Math.max(i,s,o),a=r-Math.min(i,s,o);let l;return l=0===a?0:r===i?((s-o)/a%6+6)%6*60:r===s?60*((o-i)/a+2):60*((i-s)/a+4),[l,100*(0===r?0:a/r),100*r]},rgb:(t,e,n)=>[t,e,n]}};function kn(t,e){return["float"===e?1:"rgb"===t?255:360,"float"===e?1:"rgb"===t?255:100,"float"===e?1:"rgb"===t?255:100]}function En(t,e,n,i){const s=kn(e,n),o=kn(e,i);return t.map(((t,e)=>t/s[e]*o[e]))}function Vn(t,e){return"object"==typeof t&&!a(t)&&(e in t&&"number"==typeof t[e])}class Ln{static black(t="int"){return new Ln([0,0,0],"rgb",t)}static fromObject(t,e="int"){const n="a"in t?[t.r,t.g,t.b,t.a]:[t.r,t.g,t.b];return new Ln(n,"rgb",e)}static toRgbaObject(t,e="int"){return t.toRgbaObject(e)}static isRgbColorObject(t){return Vn(t,"r")&&Vn(t,"g")&&Vn(t,"b")}static isRgbaColorObject(t){return this.isRgbColorObject(t)&&Vn(t,"a")}static isColorObject(t){return this.isRgbColorObject(t)}static equals(t,e){if(t.mode!==e.mode)return!1;const n=t.comps_,i=e.comps_;for(let t=0;t<n.length;t++)if(n[t]!==i[t])return!1;return!0}constructor(t,e,n="int"){this.mode=e,this.type=n,this.comps_=function(t,e,n){var i;const s=kn(e,n);return["rgb"===e?Ye(t[0],0,s[0]):(o=t[0],r=s[0],o===r?r:Xe(o,r)),Ye(t[1],0,s[1]),Ye(t[2],0,s[2]),Ye(null!==(i=t[3])&&void 0!==i?i:1,0,1)];var o,r}(t,e,n)}getComponents(t,e="int"){return yn(function(t,e,n){const i=En(t,e.mode,e.type,"int");return En(Pn[e.mode][n.mode](...i),n.mode,"int",n.type)}(Cn(this.comps_),{mode:this.mode,type:this.type},{mode:null!=t?t:this.mode,type:e}),this.comps_[3])}toRgbaObject(t="int"){const e=this.getComponents("rgb",t);return{r:e[0],g:e[1],b:e[2],a:e[3]}}}const Mn=b("colp");class Sn{constructor(t,e){this.alphaViews_=null,this.element=t.createElement("div"),this.element.classList.add(Mn()),e.viewProps.bindClassModifiers(this.element);const n=t.createElement("div");n.classList.add(Mn("hsv"));const i=t.createElement("div");i.classList.add(Mn("sv")),this.svPaletteView_=e.svPaletteView,i.appendChild(this.svPaletteView_.element),n.appendChild(i);const s=t.createElement("div");s.classList.add(Mn("h")),this.hPaletteView_=e.hPaletteView,s.appendChild(this.hPaletteView_.element),n.appendChild(s),this.element.appendChild(n);const o=t.createElement("div");if(o.classList.add(Mn("rgb")),this.textView_=e.textView,o.appendChild(this.textView_.element),this.element.appendChild(o),e.alphaViews){this.alphaViews_={palette:e.alphaViews.palette,text:e.alphaViews.text};const n=t.createElement("div");n.classList.add(Mn("a"));const i=t.createElement("div");i.classList.add(Mn("ap")),i.appendChild(this.alphaViews_.palette.element),n.appendChild(i);const s=t.createElement("div");s.classList.add(Mn("at")),s.appendChild(this.alphaViews_.text.element),n.appendChild(s),this.element.appendChild(n)}}get allFocusableElements(){const t=[this.svPaletteView_.element,this.hPaletteView_.element,this.textView_.modeSelectElement,...this.textView_.textViews.map((t=>t.inputElement))];return this.alphaViews_&&t.push(this.alphaViews_.palette.element,this.alphaViews_.text.inputElement),t}}function An(t){return"int"===t?"int":"float"===t?"float":void 0}function Dn(t){const e=A;return D(t,{alpha:e.optional.boolean,color:e.optional.object({alpha:e.optional.boolean,type:e.optional.custom(An)}),expanded:e.optional.boolean,picker:e.optional.custom(ln)})}function jn(t){return t?.1:1}function Rn(t){var e;return null===(e=t.color)||void 0===e?void 0:e.type}function On(t,e){const n=t.match(/^(.+)%$/);return n?Math.min(.01*parseFloat(n[1])*e,e):Math.min(parseFloat(t),e)}const In={deg:t=>t,grad:t=>360*t/400,rad:t=>360*t/(2*Math.PI),turn:t=>360*t};function Kn(t){const e=t.match(/^([0-9.]+?)(deg|grad|rad|turn)$/);if(!e)return parseFloat(t);const n=parseFloat(e[1]),i=e[2];return In[i](n)}function Nn(t){const e=t.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 n=[On(e[1],255),On(e[2],255),On(e[3],255)];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])?null:n}function Un(t){return e=>{const n=Nn(e);return n?new Ln(n,"rgb",t):null}}function Bn(t){const e=t.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 n=[On(e[1],255),On(e[2],255),On(e[3],255),On(e[4],1)];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])||isNaN(n[3])?null:n}function Tn(t){return e=>{const n=Bn(e);return n?new Ln(n,"rgb",t):null}}function Fn(t){const e=t.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 n=[Kn(e[1]),On(e[2],100),On(e[3],100)];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])?null:n}function $n(t){return e=>{const n=Fn(e);return n?new Ln(n,"hsl",t):null}}function Hn(t){const e=t.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 n=[Kn(e[1]),On(e[2],100),On(e[3],100),On(e[4],1)];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])||isNaN(n[3])?null:n}function zn(t){return e=>{const n=Hn(e);return n?new Ln(n,"hsl",t):null}}function qn(t){const e=t.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 n=t.match(/^(?:#|0x)([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return n?[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]:null}function Gn(t){const e=t.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),qe(parseInt(e[4]+e[4],16),0,255,0,1)];const n=t.match(/^(?:#|0x)?([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return n?[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16),qe(parseInt(n[4],16),0,255,0,1)]:null}function Yn(t){const e=t.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 n=[parseFloat(e[1]),parseFloat(e[2]),parseFloat(e[3])];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])?null:n}function Xn(t){return e=>{const n=Yn(e);return n?new Ln(n,"rgb",t):null}}function Qn(t){const e=t.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 n=[parseFloat(e[1]),parseFloat(e[2]),parseFloat(e[3]),parseFloat(e[4])];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])||isNaN(n[3])?null:n}function Jn(t){return e=>{const n=Qn(e);return n?new Ln(n,"rgb",t):null}}const Wn=[{parser:qn,result:{alpha:!1,mode:"rgb",notation:"hex"}},{parser:Gn,result:{alpha:!0,mode:"rgb",notation:"hex"}},{parser:Nn,result:{alpha:!1,mode:"rgb",notation:"func"}},{parser:Bn,result:{alpha:!0,mode:"rgb",notation:"func"}},{parser:Fn,result:{alpha:!1,mode:"hsl",notation:"func"}},{parser:Hn,result:{alpha:!0,mode:"hsl",notation:"func"}},{parser:Yn,result:{alpha:!1,mode:"rgb",notation:"object"}},{parser:Qn,result:{alpha:!0,mode:"rgb",notation:"object"}}];function Zn(t,e="int"){const n=function(t){return Wn.reduce(((e,{parser:n,result:i})=>e||(n(t)?i:null)),null)}(t);return n?"hex"===n.notation&&"float"!==e?Object.assign(Object.assign({},n),{type:"int"}):"func"===n.notation?Object.assign(Object.assign({},n),{type:e}):null:null}const ti={int:[function(t){const e=qn(t);return e?new Ln(e,"rgb","int"):null},function(t){const e=Gn(t);return e?new Ln(e,"rgb","int"):null},Un("int"),Tn("int"),$n("int"),zn("int"),Xn("int"),Jn("int")],float:[Un("float"),Tn("float"),$n("float"),zn("float"),Xn("float"),Jn("float")]};function ei(t){const e=ti[t];return t=>e.reduce(((e,n)=>e||n(t)),null)}function ni(t){const e=Ye(Math.floor(t),0,255).toString(16);return 1===e.length?`0${e}`:e}function ii(t,e="#"){return`${e}${Cn(t.getComponents("rgb")).map(ni).join("")}`}function si(t,e="#"){const n=t.getComponents("rgb");return`${e}${[n[0],n[1],n[2],255*n[3]].map(ni).join("")}`}function oi(t,e){const n=Re("float"===e?2:0);return`rgb(${Cn(t.getComponents("rgb",e)).map((t=>n(t))).join(", ")})`}function ri(t){return e=>oi(e,t)}function ai(t,e){const n=Re(2),i=Re("float"===e?2:0);return`rgba(${t.getComponents("rgb",e).map(((t,e)=>(3===e?n:i)(t))).join(", ")})`}function li(t){return e=>ai(e,t)}function pi(t,e){const n=Re("float"===e?2:0),i=["r","g","b"];return`{${Cn(t.getComponents("rgb",e)).map(((t,e)=>`${i[e]}: ${n(t)}`)).join(", ")}}`}function di(t){return e=>pi(e,t)}function ci(t,e){const n=Re(2),i=Re("float"===e?2:0),s=["r","g","b","a"];return`{${t.getComponents("rgb",e).map(((t,e)=>`${s[e]}: ${(3===e?n:i)(t)}`)).join(", ")}}`}function hi(t){return e=>ci(e,t)}const ui=[{format:{alpha:!1,mode:"rgb",notation:"hex",type:"int"},stringifier:ii},{format:{alpha:!0,mode:"rgb",notation:"hex",type:"int"},stringifier:si},{format:{alpha:!1,mode:"hsl",notation:"func",type:"int"},stringifier:function(t){const e=[Re(0),Ie,Ie];return`hsl(${Cn(t.getComponents("hsl")).map(((t,n)=>e[n](t))).join(", ")})`}},{format:{alpha:!0,mode:"hsl",notation:"func",type:"int"},stringifier:function(t){const e=[Re(0),Ie,Ie,Re(2)];return`hsla(${t.getComponents("hsl").map(((t,n)=>e[n](t))).join(", ")})`}},...["int","float"].reduce(((t,e)=>[...t,{format:{alpha:!1,mode:"rgb",notation:"func",type:e},stringifier:ri(e)},{format:{alpha:!0,mode:"rgb",notation:"func",type:e},stringifier:li(e)},{format:{alpha:!1,mode:"rgb",notation:"object",type:e},stringifier:di(e)},{format:{alpha:!0,mode:"rgb",notation:"object",type:e},stringifier:hi(e)}]),[])];function vi(t){return ui.reduce(((e,n)=>{return e||(i=n.format,s=t,i.alpha===s.alpha&&i.mode===s.mode&&i.notation===s.notation&&i.type===s.type?n.stringifier:null);var i,s}),null)}const mi=b("apl");class bi{constructor(t,e){this.onValueChange_=this.onValueChange_.bind(this),this.value=e.value,this.value.emitter.on("change",this.onValueChange_),this.element=t.createElement("div"),this.element.classList.add(mi()),e.viewProps.bindClassModifiers(this.element),e.viewProps.bindTabIndex(this.element);const n=t.createElement("div");n.classList.add(mi("b")),this.element.appendChild(n);const i=t.createElement("div");i.classList.add(mi("c")),n.appendChild(i),this.colorElem_=i;const s=t.createElement("div");s.classList.add(mi("m")),this.element.appendChild(s),this.markerElem_=s;const o=t.createElement("div");o.classList.add(mi("p")),this.markerElem_.appendChild(o),this.previewElem_=o,this.update_()}update_(){const t=this.value.rawValue,e=t.getComponents("rgb"),n=new Ln([e[0],e[1],e[2],0],"rgb"),i=new Ln([e[0],e[1],e[2],255],"rgb"),s=["to right",ai(n),ai(i)];this.colorElem_.style.background=`linear-gradient(${s.join(",")})`,this.previewElem_.style.backgroundColor=ai(t);const o=qe(e[3],0,1,0,100);this.markerElem_.style.left=`${o}%`}onValueChange_(){this.update_()}}class _i{constructor(t,e){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=e.value,this.viewProps=e.viewProps,this.view=new bi(t,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new ze(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_(t,e){if(!t.point)return;const n=t.point.x/t.bounds.width,i=this.value.rawValue,[s,o,r]=i.getComponents("hsv");this.value.setRawValue(new Ln([s,o,r,n],"hsv"),e)}onPointerDown_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerMove_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerUp_(t){this.handlePointerEvent_(t.data,{forceEmit:!0,last:!0})}onKeyDown_(t){const e=Be(jn(!0),Fe(t));if(0===e)return;const n=this.value.rawValue,[i,s,o,r]=n.getComponents("hsv");this.value.setRawValue(new Ln([i,s,o,r+e],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(t){0!==Be(jn(!0),Fe(t))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}const gi=b("coltxt");class fi{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(gi()),e.viewProps.bindClassModifiers(this.element);const n=t.createElement("div");n.classList.add(gi("m")),this.modeElem_=function(t){const e=t.createElement("select");return e.appendChild([{text:"RGB",value:"rgb"},{text:"HSL",value:"hsl"},{text:"HSV",value:"hsv"}].reduce(((e,n)=>{const i=t.createElement("option");return i.textContent=n.text,i.value=n.value,e.appendChild(i),e}),t.createDocumentFragment())),e}(t),this.modeElem_.classList.add(gi("ms")),n.appendChild(this.modeSelectElement),e.viewProps.bindDisabled(this.modeElem_);const i=t.createElement("div");i.classList.add(gi("mm")),i.appendChild(q(t,"dropdown")),n.appendChild(i),this.element.appendChild(n);const s=t.createElement("div");s.classList.add(gi("w")),this.element.appendChild(s),this.textsElem_=s,this.textViews_=e.textViews,this.applyTextViews_(),g(e.colorMode,(t=>{this.modeElem_.value=t}))}get modeSelectElement(){return this.modeElem_}get textViews(){return this.textViews_}set textViews(t){this.textViews_=t,this.applyTextViews_()}applyTextViews_(){X(this.textsElem_);const t=this.element.ownerDocument;this.textViews_.forEach((e=>{const n=t.createElement("div");n.classList.add(gi("c")),n.appendChild(e.element),this.textsElem_.appendChild(n)}))}}function wi(t,e,n){const i=kn(t,e)[n];return new Zt({min:0,max:i})}function xi(t,e,n){return new We(t,{arrayPosition:0===n?"fst":2===n?"lst":"mid",baseStep:jn(!1),parser:e.parser,props:L.fromObject({draggingScale:"float"===e.colorType?.01:1,formatter:(i=e.colorType,Re("float"===i?2:0))}),value:V(0,{constraint:wi(e.colorMode,e.colorType,n)}),viewProps:e.viewProps});var i}class Ci{constructor(t,e){this.onModeSelectChange_=this.onModeSelectChange_.bind(this),this.colorType_=e.colorType,this.parser_=e.parser,this.value=e.value,this.viewProps=e.viewProps,this.colorMode=V(this.value.rawValue.mode),this.ccs_=this.createComponentControllers_(t),this.view=new fi(t,{colorMode:this.colorMode,textViews:[this.ccs_[0].view,this.ccs_[1].view,this.ccs_[2].view],viewProps:this.viewProps}),this.view.modeSelectElement.addEventListener("change",this.onModeSelectChange_)}createComponentControllers_(t){const e={colorMode:this.colorMode.rawValue,colorType:this.colorType_,parser:this.parser_,viewProps:this.viewProps},n=[xi(t,e,0),xi(t,e,1),xi(t,e,2)];return n.forEach(((t,e)=>{Ue({primary:this.value,secondary:t.value,forward:t=>t.rawValue.getComponents(this.colorMode.rawValue,this.colorType_)[e],backward:(t,n)=>{const i=this.colorMode.rawValue,s=t.rawValue.getComponents(i,this.colorType_);return s[e]=n.rawValue,new Ln(yn(Cn(s),s[3]),i,this.colorType_)}})})),n}onModeSelectChange_(t){const e=t.currentTarget;this.colorMode.rawValue=e.value,this.ccs_=this.createComponentControllers_(this.view.element.ownerDocument),this.view.textViews=[this.ccs_[0].view,this.ccs_[1].view,this.ccs_[2].view]}}const yi=b("hpl");class Pi{constructor(t,e){this.onValueChange_=this.onValueChange_.bind(this),this.value=e.value,this.value.emitter.on("change",this.onValueChange_),this.element=t.createElement("div"),this.element.classList.add(yi()),e.viewProps.bindClassModifiers(this.element),e.viewProps.bindTabIndex(this.element);const n=t.createElement("div");n.classList.add(yi("c")),this.element.appendChild(n);const i=t.createElement("div");i.classList.add(yi("m")),this.element.appendChild(i),this.markerElem_=i,this.update_()}update_(){const t=this.value.rawValue,[e]=t.getComponents("hsv");this.markerElem_.style.backgroundColor=oi(new Ln([e,100,100],"hsv"));const n=qe(e,0,360,0,100);this.markerElem_.style.left=`${n}%`}onValueChange_(){this.update_()}}class ki{constructor(t,e){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=e.value,this.viewProps=e.viewProps,this.view=new Pi(t,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new ze(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_(t,e){if(!t.point)return;const n=qe(Ye(t.point.x,0,t.bounds.width),0,t.bounds.width,0,360),i=this.value.rawValue,[,s,o,r]=i.getComponents("hsv");this.value.setRawValue(new Ln([n,s,o,r],"hsv"),e)}onPointerDown_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerMove_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerUp_(t){this.handlePointerEvent_(t.data,{forceEmit:!0,last:!0})}onKeyDown_(t){const e=Be(jn(!1),Fe(t));if(0===e)return;const n=this.value.rawValue,[i,s,o,r]=n.getComponents("hsv");this.value.setRawValue(new Ln([i+e,s,o,r],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(t){0!==Be(jn(!1),Fe(t))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}const Ei=b("svp");class Vi{constructor(t,e){this.onValueChange_=this.onValueChange_.bind(this),this.value=e.value,this.value.emitter.on("change",this.onValueChange_),this.element=t.createElement("div"),this.element.classList.add(Ei()),e.viewProps.bindClassModifiers(this.element),e.viewProps.bindTabIndex(this.element);const n=t.createElement("canvas");n.height=64,n.width=64,n.classList.add(Ei("c")),this.element.appendChild(n),this.canvasElement=n;const i=t.createElement("div");i.classList.add(Ei("m")),this.element.appendChild(i),this.markerElem_=i,this.update_()}update_(){const t=function(t){const e=t.ownerDocument.defaultView;return e&&"document"in e?t.getContext("2d",{willReadFrequently:!0}):null}(this.canvasElement);if(!t)return;const e=this.value.rawValue.getComponents("hsv"),n=this.canvasElement.width,i=this.canvasElement.height,s=t.getImageData(0,0,n,i),o=s.data;for(let t=0;t<i;t++)for(let s=0;s<n;s++){const r=qe(s,0,n,0,100),a=qe(t,0,i,100,0),l=xn(e[0],r,a),p=4*(t*n+s);o[p]=l[0],o[p+1]=l[1],o[p+2]=l[2],o[p+3]=255}t.putImageData(s,0,0);const r=qe(e[1],0,100,0,100);this.markerElem_.style.left=`${r}%`;const a=qe(e[2],0,100,100,0);this.markerElem_.style.top=`${a}%`}onValueChange_(){this.update_()}}class Li{constructor(t,e){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=e.value,this.viewProps=e.viewProps,this.view=new Vi(t,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new ze(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_(t,e){if(!t.point)return;const n=qe(t.point.x,0,t.bounds.width,0,100),i=qe(t.point.y,0,t.bounds.height,100,0),[s,,,o]=this.value.rawValue.getComponents("hsv");this.value.setRawValue(new Ln([s,n,i,o],"hsv"),e)}onPointerDown_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerMove_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerUp_(t){this.handlePointerEvent_(t.data,{forceEmit:!0,last:!0})}onKeyDown_(t){$e(t.key)&&t.preventDefault();const[e,n,i,s]=this.value.rawValue.getComponents("hsv"),o=jn(!1),r=Be(o,Fe(t)),a=Be(o,Te(t));0===r&&0===a||this.value.setRawValue(new Ln([e,n+r,i+a,s],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(t){const e=jn(!1),n=Be(e,Fe(t)),i=Be(e,Te(t));0===n&&0===i||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}class Mi{constructor(t,e){this.value=e.value,this.viewProps=e.viewProps,this.hPaletteC_=new ki(t,{value:this.value,viewProps:this.viewProps}),this.svPaletteC_=new Li(t,{value:this.value,viewProps:this.viewProps}),this.alphaIcs_=e.supportsAlpha?{palette:new _i(t,{value:this.value,viewProps:this.viewProps}),text:new We(t,{parser:Ae,baseStep:.1,props:L.fromObject({draggingScale:.01,formatter:Re(2)}),value:V(0,{constraint:new Zt({min:0,max:1})}),viewProps:this.viewProps})}:null,this.alphaIcs_&&Ue({primary:this.value,secondary:this.alphaIcs_.text.value,forward:t=>t.rawValue.getComponents()[3],backward:(t,e)=>{const n=t.rawValue.getComponents();return n[3]=e.rawValue,new Ln(n,t.rawValue.mode)}}),this.textC_=new Ci(t,{colorType:e.colorType,parser:Ae,value:this.value,viewProps:this.viewProps}),this.view=new Sn(t,{alphaViews:this.alphaIcs_?{palette:this.alphaIcs_.palette.view,text:this.alphaIcs_.text.view}:null,hPaletteView:this.hPaletteC_.view,supportsAlpha:e.supportsAlpha,svPaletteView:this.svPaletteC_.view,textView:this.textC_.view,viewProps:this.viewProps})}get textController(){return this.textC_}}const Si=b("colsw");class Ai{constructor(t,e){this.onValueChange_=this.onValueChange_.bind(this),e.value.emitter.on("change",this.onValueChange_),this.value=e.value,this.element=t.createElement("div"),this.element.classList.add(Si()),e.viewProps.bindClassModifiers(this.element);const n=t.createElement("div");n.classList.add(Si("sw")),this.element.appendChild(n),this.swatchElem_=n;const i=t.createElement("button");i.classList.add(Si("b")),e.viewProps.bindDisabled(i),this.element.appendChild(i),this.buttonElement=i,this.update_()}update_(){const t=this.value.rawValue;this.swatchElem_.style.backgroundColor=si(t)}onValueChange_(){this.update_()}}class Di{constructor(t,e){this.value=e.value,this.viewProps=e.viewProps,this.view=new Ai(t,{value:this.value,viewProps:this.viewProps})}}class ji{constructor(t,e){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=e.value,this.viewProps=e.viewProps,this.foldable_=it.create(e.expanded),this.swatchC_=new Di(t,{value:this.value,viewProps:this.viewProps});const n=this.swatchC_.view.buttonElement;n.addEventListener("blur",this.onButtonBlur_),n.addEventListener("click",this.onButtonClick_),this.textC_=new ce(t,{parser:e.parser,props:L.fromObject({formatter:e.formatter}),value:this.value,viewProps:this.viewProps}),this.view=new wn(t,{foldable:this.foldable_,pickerLayout:e.pickerLayout}),this.view.swatchElement.appendChild(this.swatchC_.view.element),this.view.textElement.appendChild(this.textC_.view.element),this.popC_="popup"===e.pickerLayout?new le(t,{viewProps:this.viewProps}):null;const i=new Mi(t,{colorType:e.colorType,supportsAlpha:e.supportsAlpha,value:this.value,viewProps:this.viewProps});i.view.allFocusableElements.forEach((t=>{t.addEventListener("blur",this.onPopupChildBlur_),t.addEventListener("keydown",this.onPopupChildKeydown_)})),this.pickerC_=i,this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(i.view.element),Ue({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:t=>t.rawValue,backward:(t,e)=>e.rawValue})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),ot(this.foldable_,this.view.pickerElement))}get textController(){return this.textC_}onButtonBlur_(t){if(!this.popC_)return;const e=this.view.element,n=t.relatedTarget;n&&e.contains(n)||(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_(t){if(!this.popC_)return;const e=this.popC_.view.element,n=Q(t);n&&e.contains(n)||n&&n===this.swatchC_.view.buttonElement&&!$(e.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(t){this.popC_?"Escape"===t.key&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&"Escape"===t.key&&this.swatchC_.view.buttonElement.focus()}}function Ri(t){return Cn(t.getComponents("rgb")).reduce(((t,e)=>t<<8|255&Math.floor(e)),0)}function Oi(t){return t.getComponents("rgb").reduce(((t,e,n)=>t<<8|255&Math.floor(3===n?255*e:e)),0)>>>0}function Ii(t){return"number"!=typeof t?Ln.black():new Ln([(e=t)>>16&255,e>>8&255,255&e],"rgb");var e}function Ki(t){return"number"!=typeof t?Ln.black():new Ln([(e=t)>>24&255,e>>16&255,e>>8&255,qe(255&e,0,255,0,1)],"rgb");var e}function Ni(t){var e;return!(!(null==t?void 0:t.alpha)&&!(null===(e=null==t?void 0:t.color)||void 0===e?void 0:e.alpha))}function Ui(t){return t?t=>si(t,"0x"):t=>ii(t,"0x")}const Bi={id:"input-color-number",type:"input",accept:(t,e)=>{if("number"!=typeof t)return null;if(!function(t){return"color"in t||"view"in t&&"color"===t.view}(e))return null;const n=Dn(e);return n?{initialValue:t,params:n}:null},binding:{reader:t=>Ni(t.params)?Ki:Ii,equals:Ln.equals,writer:t=>function(t){const e=t?Oi:Ri;return(t,n)=>{rn(t,e(n))}}(Ni(t.params))},controller:t=>{const e=Ni(t.params),n="expanded"in t.params?t.params.expanded:void 0,i="picker"in t.params?t.params.picker:void 0;return new ji(t.document,{colorType:"int",expanded:null!=n&&n,formatter:Ui(e),parser:ei("int"),pickerLayout:null!=i?i:"popup",supportsAlpha:e,value:t.value,viewProps:t.viewProps})}};function Ti(t){return e=>function(t,e){return Ln.isColorObject(t)?Ln.fromObject(t,e):Ln.black(e)}(e,t)}function Fi(t,e){return n=>t?ci(n,e):pi(n,e)}const $i={id:"input-color-object",type:"input",accept:(t,e)=>{if(!Ln.isColorObject(t))return null;const n=Dn(e);return n?{initialValue:t,params:n}:null},binding:{reader:t=>Ti(Rn(t.params)),equals:Ln.equals,writer:t=>{return i=t.initialValue,e=Ln.isRgbaColorObject(i),n=Rn(t.params),(t,i)=>{e?function(t,e,n){const i=e.toRgbaObject(n);t.writeProperty("r",i.r),t.writeProperty("g",i.g),t.writeProperty("b",i.b),t.writeProperty("a",i.a)}(t,i,n):function(t,e,n){const i=e.toRgbaObject(n);t.writeProperty("r",i.r),t.writeProperty("g",i.g),t.writeProperty("b",i.b)}(t,i,n)};var e,n,i}},controller:t=>{var e;const n=Ln.isRgbaColorObject(t.initialValue),i="expanded"in t.params?t.params.expanded:void 0,s="picker"in t.params?t.params.picker:void 0,o=null!==(e=Rn(t.params))&&void 0!==e?e:"int";return new ji(t.document,{colorType:o,expanded:null!=i&&i,formatter:Fi(n,o),parser:ei(o),pickerLayout:null!=s?s:"popup",supportsAlpha:n,value:t.value,viewProps:t.viewProps})}},Hi={id:"input-color-string",type:"input",accept:(t,e)=>{if("string"!=typeof t)return null;if("view"in e&&"text"===e.view)return null;const n=Zn(t,Rn(e));if(!n)return null;if(!vi(n))return null;const i=Dn(e);return i?{initialValue:t,params:i}:null},binding:{reader:t=>{var e;return function(t){const e=ti[t];return n=>{if("string"!=typeof n)return Ln.black(t);const i=e.reduce(((t,e)=>t||e(n)),null);return null!=i?i:Ln.black(t)}}(null!==(e=Rn(t.params))&&void 0!==e?e:"int")},equals:Ln.equals,writer:t=>{const e=Zn(t.initialValue,Rn(t.params));if(!e)throw c.shouldNeverHappen();const n=function(t){const e=vi(t);return e?(t,n)=>{rn(t,e(n))}:null}(e);if(!n)throw c.notBindable();return n}},controller:t=>{const e=Zn(t.initialValue,Rn(t.params));if(!e)throw c.shouldNeverHappen();const n=vi(e);if(!n)throw c.shouldNeverHappen();const i="expanded"in t.params?t.params.expanded:void 0,s="picker"in t.params?t.params.picker:void 0;return new ji(t.document,{colorType:e.type,expanded:null!=i&&i,formatter:n,parser:ei(e.type),pickerLayout:null!=s?s:"popup",supportsAlpha:e.alpha,value:t.value,viewProps:t.viewProps})}};class zi{constructor(t){this.components=t.components,this.asm_=t.assembly}constrain(t){const e=this.asm_.toComponents(t).map(((t,e)=>{var n,i;return null!==(i=null===(n=this.components[e])||void 0===n?void 0:n.constrain(t))&&void 0!==i?i:t}));return this.asm_.fromComponents(e)}}const qi=b("pndtxt");class Gi{constructor(t,e){this.textViews=e.textViews,this.element=t.createElement("div"),this.element.classList.add(qi()),this.textViews.forEach((e=>{const n=t.createElement("div");n.classList.add(qi("a")),n.appendChild(e.element),this.element.appendChild(n)}))}}class Yi{constructor(t,e){this.value=e.value,this.viewProps=e.viewProps,this.acs_=e.axes.map(((n,i)=>function(t,e,n){return new We(t,{arrayPosition:0===n?"fst":n===e.axes.length-1?"lst":"mid",baseStep:e.axes[n].baseStep,parser:e.parser,props:e.axes[n].textProps,value:V(0,{constraint:e.axes[n].constraint}),viewProps:e.viewProps})}(t,e,i))),this.acs_.forEach(((t,n)=>{Ue({primary:this.value,secondary:t.value,forward:t=>e.assembly.toComponents(t.rawValue)[n],backward:(t,i)=>{const s=e.assembly.toComponents(t.rawValue);return s[n]=i.rawValue,e.assembly.fromComponents(s)}})})),this.view=new Gi(t,{textViews:this.acs_.map((t=>t.view))})}}function Xi(t,e){return"step"in t&&!a(t.step)?new ne(t.step,e):null}function Qi(t){return a(t.max)||a(t.min)?a(t.max)&&a(t.min)?null:new ee({max:t.max,min:t.min}):new Zt({max:t.max,min:t.min})}const Ji={id:"input-number",type:"input",accept:(t,e)=>{if("number"!=typeof t)return null;const n=A,i=D(e,{format:n.optional.function,max:n.optional.number,min:n.optional.number,options:n.optional.custom(an),step:n.optional.number});return i?{initialValue:t,params:i}:null},binding:{reader:t=>De,constraint:t=>function(t,e){const n=[],i=Xi(t,e);i&&n.push(i);const s=Qi(t);s&&n.push(s);const o=cn(t.options);return o&&n.push(o),new Jt(n)}(t.params,t.initialValue),writer:t=>rn},controller:t=>{var e;const n=t.value,i=t.constraint,s=i&&Wt(i,te);if(s)return new oe(t.document,{props:new L({options:s.values.value("options")}),value:n,viewProps:t.viewProps});const o=null!==(e="format"in t.params?t.params.format:void 0)&&void 0!==e?e:Re(hn(i,n.rawValue)),r=i&&Wt(i,Zt);return r?new on(t.document,{baseStep:un(i),parser:Ae,sliderProps:new L({maxValue:r.values.value("max"),minValue:r.values.value("min")}),textProps:L.fromObject({draggingScale:vn(i,n.rawValue),formatter:o}),value:n,viewProps:t.viewProps}):new We(t.document,{baseStep:un(i),parser:Ae,props:L.fromObject({draggingScale:vn(i,n.rawValue),formatter:o}),value:n,viewProps:t.viewProps})}};class Wi{constructor(t=0,e=0){this.x=t,this.y=e}getComponents(){return[this.x,this.y]}static isObject(t){if(a(t))return!1;const e=t.x,n=t.y;return"number"==typeof e&&"number"==typeof n}static equals(t,e){return t.x===e.x&&t.y===e.y}toObject(){return{x:this.x,y:this.y}}}const Zi={toComponents:t=>t.getComponents(),fromComponents:t=>new Wi(...t)},ts=b("p2d");class es{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(ts()),e.viewProps.bindClassModifiers(this.element),g(e.expanded,w(this.element,ts(void 0,"expanded")));const n=t.createElement("div");n.classList.add(ts("h")),this.element.appendChild(n);const i=t.createElement("button");i.classList.add(ts("b")),i.appendChild(q(t,"p2dpad")),e.viewProps.bindDisabled(i),n.appendChild(i),this.buttonElement=i;const s=t.createElement("div");if(s.classList.add(ts("t")),n.appendChild(s),this.textElement=s,"inline"===e.pickerLayout){const e=t.createElement("div");e.classList.add(ts("p")),this.element.appendChild(e),this.pickerElement=e}else this.pickerElement=null}}const ns=b("p2dp");class is{constructor(t,e){this.onFoldableChange_=this.onFoldableChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.invertsY_=e.invertsY,this.maxValue_=e.maxValue,this.element=t.createElement("div"),this.element.classList.add(ns()),"popup"===e.layout&&this.element.classList.add(ns(void 0,"p")),e.viewProps.bindClassModifiers(this.element);const n=t.createElement("div");n.classList.add(ns("p")),e.viewProps.bindTabIndex(n),this.element.appendChild(n),this.padElement=n;const i=t.createElementNS(T,"svg");i.classList.add(ns("g")),this.padElement.appendChild(i),this.svgElem_=i;const s=t.createElementNS(T,"line");s.classList.add(ns("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=t.createElementNS(T,"line");o.classList.add(ns("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 r=t.createElementNS(T,"line");r.classList.add(ns("l")),r.setAttributeNS(null,"x1","50%"),r.setAttributeNS(null,"y1","50%"),this.svgElem_.appendChild(r),this.lineElem_=r;const a=t.createElement("div");a.classList.add(ns("m")),this.padElement.appendChild(a),this.markerElem_=a,e.value.emitter.on("change",this.onValueChange_),this.value=e.value,this.update_()}get allFocusableElements(){return[this.padElement]}update_(){const[t,e]=this.value.rawValue.getComponents(),n=this.maxValue_,i=qe(t,-n,+n,0,100),s=qe(e,-n,+n,0,100),o=this.invertsY_?100-s:s;this.lineElem_.setAttributeNS(null,"x2",`${i}%`),this.lineElem_.setAttributeNS(null,"y2",`${o}%`),this.markerElem_.style.left=`${i}%`,this.markerElem_.style.top=`${o}%`}onValueChange_(){this.update_()}onFoldableChange_(){this.update_()}}function ss(t,e,n){return[Be(e[0],Fe(t)),Be(e[1],Te(t))*(n?1:-1)]}class os{constructor(t,e){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.value=e.value,this.viewProps=e.viewProps,this.baseSteps_=e.baseSteps,this.maxValue_=e.maxValue,this.invertsY_=e.invertsY,this.view=new is(t,{invertsY:this.invertsY_,layout:e.layout,maxValue:this.maxValue_,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new ze(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_(t,e){if(!t.point)return;const n=this.maxValue_,i=qe(t.point.x,0,t.bounds.width,-n,+n),s=qe(this.invertsY_?t.bounds.height-t.point.y:t.point.y,0,t.bounds.height,-n,+n);this.value.setRawValue(new Wi(i,s),e)}onPointerDown_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerMove_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerUp_(t){this.handlePointerEvent_(t.data,{forceEmit:!0,last:!0})}onPadKeyDown_(t){$e(t.key)&&t.preventDefault();const[e,n]=ss(t,this.baseSteps_,this.invertsY_);0===e&&0===n||this.value.setRawValue(new Wi(this.value.rawValue.x+e,this.value.rawValue.y+n),{forceEmit:!1,last:!1})}onPadKeyUp_(t){const[e,n]=ss(t,this.baseSteps_,this.invertsY_);0===e&&0===n||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}class rs{constructor(t,e){var n,i;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=e.value,this.viewProps=e.viewProps,this.foldable_=it.create(e.expanded),this.popC_="popup"===e.pickerLayout?new le(t,{viewProps:this.viewProps}):null;const s=new os(t,{baseSteps:[e.axes[0].baseStep,e.axes[1].baseStep],invertsY:e.invertsY,layout:e.pickerLayout,maxValue:e.maxValue,value:this.value,viewProps:this.viewProps});s.view.allFocusableElements.forEach((t=>{t.addEventListener("blur",this.onPopupChildBlur_),t.addEventListener("keydown",this.onPopupChildKeydown_)})),this.pickerC_=s,this.textC_=new Yi(t,{assembly:Zi,axes:e.axes,parser:e.parser,value:this.value,viewProps:this.viewProps}),this.view=new es(t,{expanded:this.foldable_.value("expanded"),pickerLayout:e.pickerLayout,viewProps:this.viewProps}),this.view.textElement.appendChild(this.textC_.view.element),null===(n=this.view.buttonElement)||void 0===n||n.addEventListener("blur",this.onPadButtonBlur_),null===(i=this.view.buttonElement)||void 0===i||i.addEventListener("click",this.onPadButtonClick_),this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(this.pickerC_.view.element),Ue({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:t=>t.rawValue,backward:(t,e)=>e.rawValue})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),ot(this.foldable_,this.view.pickerElement))}onPadButtonBlur_(t){if(!this.popC_)return;const e=this.view.element,n=t.relatedTarget;n&&e.contains(n)||(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_(t){if(!this.popC_)return;const e=this.popC_.view.element,n=Q(t);n&&e.contains(n)||n&&n===this.view.buttonElement&&!$(e.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(t){this.popC_?"Escape"===t.key&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&"Escape"===t.key&&this.view.buttonElement.focus()}}class as{constructor(t=0,e=0,n=0){this.x=t,this.y=e,this.z=n}getComponents(){return[this.x,this.y,this.z]}static isObject(t){if(a(t))return!1;const e=t.x,n=t.y,i=t.z;return"number"==typeof e&&"number"==typeof n&&"number"==typeof i}static equals(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z}toObject(){return{x:this.x,y:this.y,z:this.z}}}const ls={toComponents:t=>t.getComponents(),fromComponents:t=>new as(...t)};function ps(t){return as.isObject(t)?new as(t.x,t.y,t.z):new as}function ds(t,e){t.writeProperty("x",e.x),t.writeProperty("y",e.y),t.writeProperty("z",e.z)}function cs(t,e){return{baseStep:un(e),constraint:e,textProps:L.fromObject({draggingScale:vn(e,t),formatter:Re(hn(e,t))})}}const hs={id:"input-point3d",type:"input",accept:(t,e)=>{if(!as.isObject(t))return null;const n=A,i=D(e,{x:n.optional.custom(pn),y:n.optional.custom(pn),z:n.optional.custom(pn)});return i?{initialValue:t,params:i}:null},binding:{reader:t=>ps,constraint:t=>{return e=t.params,n=t.initialValue,new zi({assembly:ls,components:[Ns("x"in e?e.x:void 0,n.x),Ns("y"in e?e.y:void 0,n.y),Ns("z"in e?e.z:void 0,n.z)]});var e,n},equals:as.equals,writer:t=>ds},controller:t=>{const e=t.value,n=t.constraint;if(!(n instanceof zi))throw c.shouldNeverHappen();return new Yi(t.document,{assembly:ls,axes:[cs(e.rawValue.x,n.components[0]),cs(e.rawValue.y,n.components[1]),cs(e.rawValue.z,n.components[2])],parser:Ae,value:e,viewProps:t.viewProps})}};class us{constructor(t=0,e=0,n=0,i=0){this.x=t,this.y=e,this.z=n,this.w=i}getComponents(){return[this.x,this.y,this.z,this.w]}static isObject(t){if(a(t))return!1;const e=t.x,n=t.y,i=t.z,s=t.w;return"number"==typeof e&&"number"==typeof n&&"number"==typeof i&&"number"==typeof s}static equals(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w}toObject(){return{x:this.x,y:this.y,z:this.z,w:this.w}}}const vs={toComponents:t=>t.getComponents(),fromComponents:t=>new us(...t)};function ms(t){return us.isObject(t)?new us(t.x,t.y,t.z,t.w):new us}function bs(t,e){t.writeProperty("x",e.x),t.writeProperty("y",e.y),t.writeProperty("z",e.z),t.writeProperty("w",e.w)}const _s={id:"input-point4d",type:"input",accept:(t,e)=>{if(!us.isObject(t))return null;const n=A,i=D(e,{x:n.optional.custom(pn),y:n.optional.custom(pn),z:n.optional.custom(pn),w:n.optional.custom(pn)});return i?{initialValue:t,params:i}:null},binding:{reader:t=>ms,constraint:t=>{return e=t.params,n=t.initialValue,new zi({assembly:vs,components:[Ns("x"in e?e.x:void 0,n.x),Ns("y"in e?e.y:void 0,n.y),Ns("z"in e?e.z:void 0,n.z),Ns("w"in e?e.w:void 0,n.w)]});var e,n},equals:us.equals,writer:t=>bs},controller:t=>{const e=t.value,n=t.constraint;if(!(n instanceof zi))throw c.shouldNeverHappen();return new Yi(t.document,{assembly:vs,axes:e.rawValue.getComponents().map(((t,e)=>{return i=t,{baseStep:un(s=n.components[e]),constraint:s,textProps:L.fromObject({draggingScale:vn(s,i),formatter:Re(hn(s,i))})};var i,s})),parser:Ae,value:e,viewProps:t.viewProps})}};const gs={id:"input-string",type:"input",accept:(t,e)=>{if("string"!=typeof t)return null;const n=D(e,{options:A.optional.custom(an)});return n?{initialValue:t,params:n}:null},binding:{reader:t=>Ke,constraint:t=>function(t){const e=[],n=cn(t.options);return n&&e.push(n),new Jt(e)}(t.params),writer:t=>rn},controller:t=>{const e=t.document,n=t.value,i=t.constraint,s=i&&Wt(i,te);return s?new oe(e,{props:new L({options:s.values.value("options")}),value:n,viewProps:t.viewProps}):new ce(e,{parser:t=>t,props:L.fromObject({formatter:Ne}),value:n,viewProps:t.viewProps})}},fs={monitor:{defaultInterval:200,defaultLineCount:3}},ws=b("mll");class xs{constructor(t,e){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=e.formatter,this.element=t.createElement("div"),this.element.classList.add(ws()),e.viewProps.bindClassModifiers(this.element);const n=t.createElement("textarea");n.classList.add(ws("i")),n.style.height=`calc(var(--bld-us) * ${e.lineCount})`,n.readOnly=!0,e.viewProps.bindDisabled(n),this.element.appendChild(n),this.textareaElem_=n,e.value.emitter.on("change",this.onValueUpdate_),this.value=e.value,this.update_()}update_(){const t=this.textareaElem_,e=t.scrollTop===t.scrollHeight-t.clientHeight,n=[];this.value.rawValue.forEach((t=>{void 0!==t&&n.push(this.formatter_(t))})),t.textContent=n.join("\n"),e&&(t.scrollTop=t.scrollHeight)}onValueUpdate_(){this.update_()}}class Cs{constructor(t,e){this.value=e.value,this.viewProps=e.viewProps,this.view=new xs(t,{formatter:e.formatter,lineCount:e.lineCount,value:this.value,viewProps:this.viewProps})}}const ys=b("sgl");class Ps{constructor(t,e){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=e.formatter,this.element=t.createElement("div"),this.element.classList.add(ys()),e.viewProps.bindClassModifiers(this.element);const n=t.createElement("input");n.classList.add(ys("i")),n.readOnly=!0,n.type="text",e.viewProps.bindDisabled(n),this.element.appendChild(n),this.inputElement=n,e.value.emitter.on("change",this.onValueUpdate_),this.value=e.value,this.update_()}update_(){const t=this.value.rawValue,e=t[t.length-1];this.inputElement.value=void 0!==e?this.formatter_(e):""}onValueUpdate_(){this.update_()}}class ks{constructor(t,e){this.value=e.value,this.viewProps=e.viewProps,this.view=new Ps(t,{formatter:e.formatter,value:this.value,viewProps:this.viewProps})}}const Es={id:"monitor-bool",type:"monitor",accept:(t,e)=>{if("boolean"!=typeof t)return null;const n=D(e,{lineCount:A.optional.number});return n?{initialValue:t,params:n}:null},binding:{reader:t=>he},controller:t=>{var e;return 1===t.value.rawValue.length?new ks(t.document,{formatter:ue,value:t.value,viewProps:t.viewProps}):new Cs(t.document,{formatter:ue,lineCount:null!==(e=t.params.lineCount)&&void 0!==e?e:fs.monitor.defaultLineCount,value:t.value,viewProps:t.viewProps})}},Vs=b("grl");class Ls{constructor(t,e){this.onCursorChange_=this.onCursorChange_.bind(this),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.element=t.createElement("div"),this.element.classList.add(Vs()),e.viewProps.bindClassModifiers(this.element),this.formatter_=e.formatter,this.props_=e.props,this.cursor_=e.cursor,this.cursor_.emitter.on("change",this.onCursorChange_);const n=t.createElementNS(T,"svg");n.classList.add(Vs("g")),n.style.height=`calc(var(--bld-us) * ${e.lineCount})`,this.element.appendChild(n),this.svgElem_=n;const i=t.createElementNS(T,"polyline");this.svgElem_.appendChild(i),this.lineElem_=i;const s=t.createElement("div");s.classList.add(Vs("t"),b("tt")()),this.element.appendChild(s),this.tooltipElem_=s,e.value.emitter.on("change",this.onValueUpdate_),this.value=e.value,this.update_()}get graphElement(){return this.svgElem_}update_(){const t=this.svgElem_.getBoundingClientRect(),e=this.value.rawValue.length-1,n=this.props_.get("minValue"),i=this.props_.get("maxValue"),s=[];this.value.rawValue.forEach(((o,r)=>{if(void 0===o)return;const a=qe(r,0,e,0,t.width),l=qe(o,n,i,t.height,0);s.push([a,l].join(","))})),this.lineElem_.setAttributeNS(null,"points",s.join(" "));const o=this.tooltipElem_,r=this.value.rawValue[this.cursor_.rawValue];if(void 0===r)return void o.classList.remove(Vs("t","a"));const a=qe(this.cursor_.rawValue,0,e,0,t.width),l=qe(r,n,i,t.height,0);o.style.left=`${a}px`,o.style.top=`${l}px`,o.textContent=`${this.formatter_(r)}`,o.classList.contains(Vs("t","a"))||(o.classList.add(Vs("t","a"),Vs("t","in")),F(o),o.classList.remove(Vs("t","in")))}onValueUpdate_(){this.update_()}onCursorChange_(){this.update_()}}class Ms{constructor(t,e){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_=e.props,this.value=e.value,this.viewProps=e.viewProps,this.cursor_=V(-1),this.view=new Ls(t,{cursor:this.cursor_,formatter:e.formatter,lineCount:e.lineCount,props:this.props_,value:this.value,viewProps:this.viewProps}),$(t)){const t=new ze(this.view.element);t.emitter.on("down",this.onGraphPointerDown_),t.emitter.on("move",this.onGraphPointerMove_),t.emitter.on("up",this.onGraphPointerUp_)}else this.view.element.addEventListener("mousemove",this.onGraphMouseMove_),this.view.element.addEventListener("mouseleave",this.onGraphMouseLeave_)}onGraphMouseLeave_(){this.cursor_.rawValue=-1}onGraphMouseMove_(t){const e=this.view.element.getBoundingClientRect();this.cursor_.rawValue=Math.floor(qe(t.offsetX,0,e.width,0,this.value.rawValue.length))}onGraphPointerDown_(t){this.onGraphPointerMove_(t)}onGraphPointerMove_(t){t.data.point?this.cursor_.rawValue=Math.floor(qe(t.data.point.x,0,t.data.bounds.width,0,this.value.rawValue.length)):this.cursor_.rawValue=-1}onGraphPointerUp_(){this.cursor_.rawValue=-1}}function Ss(t){return"format"in t&&!a(t.format)?t.format:Re(2)}function As(t){return"view"in t&&"graph"===t.view}const Ds={id:"monitor-number",type:"monitor",accept:(t,e)=>{if("number"!=typeof t)return null;const n=A,i=D(e,{format:n.optional.function,lineCount:n.optional.number,max:n.optional.number,min:n.optional.number,view:n.optional.string});return i?{initialValue:t,params:i}:null},binding:{defaultBufferSize:t=>As(t)?64:1,reader:t=>De},controller:t=>As(t.params)?function(t){var e,n,i;return new Ms(t.document,{formatter:Ss(t.params),lineCount:null!==(e=t.params.lineCount)&&void 0!==e?e:fs.monitor.defaultLineCount,props:L.fromObject({maxValue:null!==(n="max"in t.params?t.params.max:null)&&void 0!==n?n:100,minValue:null!==(i="min"in t.params?t.params.min:null)&&void 0!==i?i:0}),value:t.value,viewProps:t.viewProps})}(t):function(t){var e;return 1===t.value.rawValue.length?new ks(t.document,{formatter:Ss(t.params),value:t.value,viewProps:t.viewProps}):new Cs(t.document,{formatter:Ss(t.params),lineCount:null!==(e=t.params.lineCount)&&void 0!==e?e:fs.monitor.defaultLineCount,value:t.value,viewProps:t.viewProps})}(t)},js={id:"monitor-string",type:"monitor",accept:(t,e)=>{if("string"!=typeof t)return null;const n=A,i=D(e,{lineCount:n.optional.number,multiline:n.optional.boolean});return i?{initialValue:t,params:i}:null},binding:{reader:t=>Ke},controller:t=>{var e;const n=t.value;return n.rawValue.length>1||"multiline"in t.params&&t.params.multiline?new Cs(t.document,{formatter:Ne,lineCount:null!==(e=t.params.lineCount)&&void 0!==e?e:fs.monitor.defaultLineCount,value:n,viewProps:t.viewProps}):new ks(t.document,{formatter:Ne,value:n,viewProps:t.viewProps})}};function Rs(t,e){return 0===e?new Ht:new zt(t,null!=e?e:fs.monitor.defaultInterval)}class Os{constructor(){this.pluginsMap_={blades:[],inputs:[],monitors:[]}}getAll(){return[...this.pluginsMap_.blades,...this.pluginsMap_.inputs,...this.pluginsMap_.monitors]}register(t){"blade"===t.type?this.pluginsMap_.blades.unshift(t):"input"===t.type?this.pluginsMap_.inputs.unshift(t):"monitor"===t.type&&this.pluginsMap_.monitors.unshift(t)}createInput(t,e,n){if(a(e.read()))throw new c({context:{key:e.key},type:"nomatchingcontroller"});const i=this.pluginsMap_.inputs.reduce(((i,s)=>null!=i?i:function(t,e){var n;const i=t.accept(e.target.read(),e.params);if(a(i))return null;const s=A,o={target:e.target,initialValue:i.initialValue,params:i.params},r=t.binding.reader(o),l=t.binding.constraint?t.binding.constraint(o):void 0,p=V(r(i.initialValue),{constraint:l,equals:t.binding.equals}),d=new qt({reader:r,target:e.target,value:p,writer:t.binding.writer(o)}),c=s.optional.boolean(e.params.disabled).value,h=s.optional.boolean(e.params.hidden).value,u=t.controller({constraint:l,document:e.document,initialValue:i.initialValue,params:i.params,value:d.value,viewProps:K.create({disabled:c,hidden:h})});return new pt(e.document,{binding:d,blade:nt(),props:L.fromObject({label:"label"in e.params?null!==(n=s.optional.string(e.params.label).value)&&void 0!==n?n:null:e.target.key}),valueController:u})}(s,{document:t,target:e,params:n})),null);if(i)return i;throw new c({context:{key:e.key},type:"nomatchingcontroller"})}createMonitor(t,e,n){const i=this.pluginsMap_.monitors.reduce(((i,s)=>null!=i?i:function(t,e){var n,i,s;const o=A,r=t.accept(e.target.read(),e.params);if(a(r))return null;const l={target:e.target,initialValue:r.initialValue,params:r.params},p=t.binding.reader(l),d=null!==(i=null!==(n=o.optional.number(e.params.bufferSize).value)&&void 0!==n?n:t.binding.defaultBufferSize&&t.binding.defaultBufferSize(r.params))&&void 0!==i?i:1,c=o.optional.number(e.params.interval).value,h=new Qt({reader:p,target:e.target,ticker:Rs(e.document,c),value:Yt(d)}),u=o.optional.boolean(e.params.disabled).value,v=o.optional.boolean(e.params.hidden).value,m=t.controller({document:e.document,params:r.params,value:h.value,viewProps:K.create({disabled:u,hidden:v})});return new ct(e.document,{binding:h,blade:nt(),props:L.fromObject({label:"label"in e.params?null!==(s=o.optional.string(e.params.label).value)&&void 0!==s?s:null:e.target.key}),valueController:m})}(s,{document:t,params:n,target:e})),null);if(i)return i;throw new c({context:{key:e.key},type:"nomatchingcontroller"})}createBlade(t,e){const n=this.pluginsMap_.blades.reduce(((n,i)=>null!=n?n:function(t,e){const n=t.accept(e.params);if(!n)return null;const i=A.optional.boolean(e.params.disabled).value,s=A.optional.boolean(e.params.hidden).value;return t.controller({blade:nt(),document:e.document,params:Object.assign(Object.assign({},n.params),{disabled:i,hidden:s}),viewProps:K.create({disabled:i,hidden:s})})}(i,{document:t,params:e})),null);if(!n)throw new c({type:"nomatchingview",context:{params:e}});return n}createBladeApi(t){if(t instanceof pt)return new lt(t);if(t instanceof ct)return new dt(t);if(t instanceof Ct)return new mt(t,this);const e=this.pluginsMap_.blades.reduce(((e,n)=>null!=e?e:n.api({controller:t,pool:this})),null);if(!e)throw c.shouldNeverHappen();return e}}function Is(t){return Wi.isObject(t)?new Wi(t.x,t.y):new Wi}function Ks(t,e){t.writeProperty("x",e.x),t.writeProperty("y",e.y)}function Ns(t,e){if(!t)return;const n=[],i=Xi(t,e);i&&n.push(i);const s=Qi(t);return s&&n.push(s),new Jt(n)}function Us(t,e){const[n,i]=t?function(t){const e=Wt(t,Zt);if(e)return[e.values.get("min"),e.values.get("max")];const n=Wt(t,ee);return n?[n.minValue,n.maxValue]:[void 0,void 0]}(t):[];if(!a(n)||!a(i))return Math.max(Math.abs(null!=n?n:0),Math.abs(null!=i?i:0));const s=un(t);return Math.max(10*Math.abs(s),10*Math.abs(e))}function Bs(t,e){const n=e instanceof zi?e.components[0]:void 0,i=e instanceof zi?e.components[1]:void 0,s=Us(n,t.x),o=Us(i,t.y);return Math.max(s,o)}function Ts(t,e){return{baseStep:un(e),constraint:e,textProps:L.fromObject({draggingScale:vn(e,t),formatter:Re(hn(e,t))})}}function Fs(t){if(!("y"in t))return!1;const e=t.y;return!!e&&("inverted"in e&&!!e.inverted)}const $s={id:"input-point2d",type:"input",accept:(t,e)=>{if(!Wi.isObject(t))return null;const n=A,i=D(e,{expanded:n.optional.boolean,picker:n.optional.custom(ln),x:n.optional.custom(pn),y:n.optional.object({inverted:n.optional.boolean,max:n.optional.number,min:n.optional.number,step:n.optional.number})});return i?{initialValue:t,params:i}:null},binding:{reader:t=>Is,constraint:t=>{return e=t.params,n=t.initialValue,new zi({assembly:Zi,components:[Ns("x"in e?e.x:void 0,n.x),Ns("y"in e?e.y:void 0,n.y)]});var e,n},equals:Wi.equals,writer:t=>Ks},controller:t=>{const e=t.document,n=t.value,i=t.constraint;if(!(i instanceof zi))throw c.shouldNeverHappen();const s="expanded"in t.params?t.params.expanded:void 0,o="picker"in t.params?t.params.picker:void 0;return new rs(e,{axes:[Ts(n.rawValue.x,i.components[0]),Ts(n.rawValue.y,i.components[1])],expanded:null!=s&&s,invertsY:Fs(t.params),maxValue:Bs(n.rawValue,i),parser:Ae,pickerLayout:null!=o?o:"popup",value:n,viewProps:t.viewProps})}};class Hs extends e{constructor(t){super(t),this.emitter_=new v,this.controller_.valueController.value.emitter.on("change",(t=>{this.emitter_.emit("change",{event:new i(this,t.rawValue)})}))}get label(){return this.controller_.props.get("label")}set label(t){this.controller_.props.set("label",t)}get options(){return this.controller_.valueController.props.get("options")}set options(t){this.controller_.valueController.props.set("options",t)}get value(){return this.controller_.valueController.value.rawValue}set value(t){this.controller_.valueController.value.rawValue=t}on(t,e){const n=e.bind(this);return this.emitter_.on(t,(t=>{n(t.event)})),this}}class zs extends e{constructor(t){super(t),this.emitter_=new v,this.controller_.valueController.value.emitter.on("change",(t=>{this.emitter_.emit("change",{event:new i(this,t.rawValue)})}))}get label(){return this.controller_.props.get("label")}set label(t){this.controller_.props.set("label",t)}get maxValue(){return this.controller_.valueController.sliderController.props.get("maxValue")}set maxValue(t){this.controller_.valueController.sliderController.props.set("maxValue",t)}get minValue(){return this.controller_.valueController.sliderController.props.get("minValue")}set minValue(t){this.controller_.valueController.sliderController.props.set("minValue",t)}get value(){return this.controller_.valueController.value.rawValue}set value(t){this.controller_.valueController.value.rawValue=t}on(t,e){const n=e.bind(this);return this.emitter_.on(t,(t=>{n(t.event)})),this}}class qs extends e{constructor(t){super(t),this.emitter_=new v,this.controller_.valueController.value.emitter.on("change",(t=>{this.emitter_.emit("change",{event:new i(this,t.rawValue)})}))}get label(){return this.controller_.props.get("label")}set label(t){this.controller_.props.set("label",t)}get formatter(){return this.controller_.valueController.props.get("formatter")}set formatter(t){this.controller_.valueController.props.set("formatter",t)}get value(){return this.controller_.valueController.value.rawValue}set value(t){this.controller_.valueController.value.rawValue=t}on(t,e){const n=e.bind(this);return this.emitter_.on(t,(t=>{n(t.event)})),this}}const Gs={id:"list",type:"blade",accept(t){const e=A,n=D(t,{options:e.required.custom(an),value:e.required.raw,view:e.required.constant("list"),label:e.optional.string});return n?{params:n}:null},controller(t){const e=new te(dn(t.params.options)),n=V(t.params.value,{constraint:e}),i=new oe(t.document,{props:new L({options:e.values.value("options")}),value:n,viewProps:t.viewProps});return new Vt(t.document,{blade:t.blade,props:L.fromObject({label:t.params.label}),valueController:i})},api:t=>t.controller instanceof Vt&&t.controller.valueController instanceof oe?new Hs(t.controller):null};class Ys extends bt{constructor(t,e){super(t,e)}get element(){return this.controller_.view.element}importPreset(t){!function(t,e){t.forEach((t=>{const n=e[t.target.presetKey];void 0!==n&&t.writer(t.target,t.reader(n))}))}(this.controller_.rackController.rack.find(pt).map((t=>t.binding)),t),this.refresh()}exportPreset(){return function(t){return t.reduce(((t,e)=>Object.assign(t,{[e.presetKey]:e.read()})),{})}(this.controller_.rackController.rack.find(pt).map((t=>t.binding.target)))}refresh(){this.controller_.rackController.rack.find(pt).forEach((t=>{t.binding.read()})),this.controller_.rackController.rack.find(ct).forEach((t=>{t.binding.read()}))}}class Xs extends kt{constructor(t,e){super(t,{expanded:e.expanded,blade:e.blade,props:e.props,root:!0,viewProps:e.viewProps})}}const Qs={id:"slider",type:"blade",accept(t){const e=A,n=D(t,{max:e.required.number,min:e.required.number,view:e.required.constant("slider"),format:e.optional.function,label:e.optional.string,value:e.optional.number});return n?{params:n}:null},controller(t){var e,n;const i=null!==(e=t.params.value)&&void 0!==e?e:0,s=new Zt({max:t.params.max,min:t.params.min}),o=new on(t.document,{baseStep:1,parser:Ae,sliderProps:new L({maxValue:s.values.value("max"),minValue:s.values.value("min")}),textProps:L.fromObject({draggingScale:vn(void 0,i),formatter:null!==(n=t.params.format)&&void 0!==n?n:je}),value:V(i,{constraint:s}),viewProps:t.viewProps});return new Vt(t.document,{blade:t.blade,props:L.fromObject({label:t.params.label}),valueController:o})},api:t=>t.controller instanceof Vt&&t.controller.valueController instanceof on?new zs(t.controller):null},Js={id:"text",type:"blade",accept(t){const e=A,n=D(t,{parse:e.required.function,value:e.required.raw,view:e.required.constant("text"),format:e.optional.function,label:e.optional.string});return n?{params:n}:null},controller(t){var e;const n=new ce(t.document,{parser:t.params.parse,props:L.fromObject({formatter:null!==(e=t.params.format)&&void 0!==e?e:t=>String(t)}),value:V(t.params.value),viewProps:t.viewProps});return new Vt(t.document,{blade:t.blade,props:L.fromObject({label:t.params.label}),valueController:n})},api:t=>t.controller instanceof Vt&&t.controller.valueController instanceof ce?new qs(t.controller):null};function Ws(t,e,n){if(t.querySelector(`style[data-tp-style=${e}]`))return;const i=t.createElement("style");i.dataset.tpStyle=e,i.textContent=n,t.head.appendChild(i)}const Zs=new class{constructor(t){const[e,n]=t.split("-"),i=e.split(".");this.major=parseInt(i[0],10),this.minor=parseInt(i[1],10),this.patch=parseInt(i[2],10),this.prerelease=null!=n?n:null}toString(){const t=[this.major,this.minor,this.patch].join(".");return null!==this.prerelease?[t,this.prerelease].join("-"):t}}("3.1.10");t.BladeApi=e,t.ButtonApi=u,t.FolderApi=bt,t.InputBindingApi=lt,t.ListApi=Hs,t.MonitorBindingApi=dt,t.Pane=class extends Ys{constructor(t){var e,n;const i=null!=t?t:{},s=null!==(e=i.document)&&void 0!==e?e:H(),o=function(){const t=new Os;return[$s,hs,_s,gs,Ji,Hi,$i,Bi,gn,Es,js,Ds,tt,Et,Dt,$t].forEach((e=>{t.register(e)})),t}();super(new Xs(s,{expanded:i.expanded,blade:nt(),props:L.fromObject({title:i.title}),viewProps:K.create()}),o),this.pool_=o,this.containerElem_=null!==(n=i.container)&&void 0!==n?n:function(t){const e=t.createElement("div");return e.classList.add(b("dfw")()),t.body&&t.body.appendChild(e),e}(s),this.containerElem_.appendChild(this.element),this.doc_=s,this.usesDefaultWrapper_=!i.container,this.setUpDefaultPlugins_()}get document(){if(!this.doc_)throw c.alreadyDisposed();return this.doc_}dispose(){const t=this.containerElem_;if(!t)throw c.alreadyDisposed();if(this.usesDefaultWrapper_){const e=t.parentElement;e&&e.removeChild(t)}this.containerElem_=null,this.doc_=null,super.dispose()}registerPlugin(t){("plugin"in t?[t.plugin]:"plugins"in t?t.plugins:[]).forEach((t=>{this.pool_.register(t),this.embedPluginStyle_(t)}))}embedPluginStyle_(t){t.css&&Ws(this.document,`plugin-${t.id}`,t.css)}setUpDefaultPlugins_(){Ws(this.document,"default",'.tp-tbiv_b,.tp-coltxtv_ms,.tp-ckbv_i,.tp-rotv_b,.tp-fldv_b,.tp-mllv_i,.tp-sglv_i,.tp-grlv_g,.tp-txtv_i,.tp-p2dpv_p,.tp-colswv_sw,.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(--elm-br);color:var(--btn-fg);cursor:pointer;display:block;font-weight:bold;height:var(--bld-us);line-height:var(--bld-us);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-txtv_i,.tp-p2dpv_p,.tp-colswv_sw{background-color:var(--in-bg);border-radius:var(--elm-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--bld-us);line-height:var(--bld-us);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-mllv_i,.tp-sglv_i,.tp-grlv_g{background-color:var(--mo-bg);border-radius:var(--elm-br);box-sizing:border-box;color:var(--mo-fg);height:var(--bld-us);scrollbar-color:currentColor rgba(0,0,0,0);scrollbar-width:thin;width:100%}.tp-mllv_i::-webkit-scrollbar,.tp-sglv_i::-webkit-scrollbar,.tp-grlv_g::-webkit-scrollbar{height:8px;width:8px}.tp-mllv_i::-webkit-scrollbar-corner,.tp-sglv_i::-webkit-scrollbar-corner,.tp-grlv_g::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.tp-mllv_i::-webkit-scrollbar-thumb,.tp-sglv_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-rotv{--font-family: var(--tp-font-family, Roboto Mono, Source Code Pro, Menlo, Courier, monospace);--bs-br: var(--tp-base-border-radius, 6px);--cnt-h-p: var(--tp-container-horizontal-padding, 4px);--cnt-v-p: var(--tp-container-vertical-padding, 4px);--elm-br: var(--tp-element-border-radius, 2px);--bld-s: var(--tp-blade-spacing, 4px);--bld-us: var(--tp-blade-unit-size, 20px);--bs-bg: var(--tp-base-background-color, hsl(230, 7%, 17%));--bs-sh: var(--tp-base-shadow-color, rgba(0, 0, 0, 0.2));--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%));--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-rotv_c>.tp-cntv.tp-v-lst,.tp-tabv_c .tp-brkv>.tp-cntv.tp-v-lst,.tp-fldv_c>.tp-cntv.tp-v-lst{margin-bottom:calc(-1*var(--cnt-v-p))}.tp-rotv_c>.tp-fldv.tp-v-lst .tp-fldv_c,.tp-tabv_c .tp-brkv>.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-tabv_c .tp-brkv>.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-tabv_c .tp-brkv>*:not(.tp-v-fst),.tp-fldv_c>*:not(.tp-v-fst){margin-top:var(--bld-s)}.tp-rotv_c>.tp-sprv:not(.tp-v-fst),.tp-tabv_c .tp-brkv>.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-tabv_c .tp-brkv>.tp-cntv:not(.tp-v-fst),.tp-fldv_c>.tp-cntv:not(.tp-v-fst){margin-top:var(--cnt-v-p)}.tp-rotv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-tabv_c .tp-brkv>.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-tabv_c .tp-brkv>.tp-cntv+*:not(.tp-v-hidden),.tp-fldv_c>.tp-cntv+*:not(.tp-v-hidden){margin-top:var(--cnt-v-p)}.tp-rotv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-tabv_c .tp-brkv>.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-tabv_c .tp-brkv>.tp-cntv:not(.tp-v-hidden)+.tp-cntv,.tp-fldv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv{margin-top:0}.tp-tabv_c .tp-brkv>.tp-cntv,.tp-fldv_c>.tp-cntv{margin-left:4px}.tp-tabv_c .tp-brkv>.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-fldv>.tp-fldv_b{border-top-left-radius:var(--elm-br);border-bottom-left-radius:var(--elm-br)}.tp-tabv_c .tp-brkv>.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-tabv_c .tp-brkv .tp-fldv>.tp-fldv_c,.tp-fldv_c .tp-fldv>.tp-fldv_c{border-bottom-left-radius:var(--elm-br)}.tp-tabv_c .tp-brkv>.tp-cntv+.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-cntv+.tp-fldv>.tp-fldv_b{border-top-left-radius:0}.tp-tabv_c .tp-brkv>.tp-cntv+.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-cntv+.tp-tabv>.tp-tabv_t{border-top-left-radius:0}.tp-tabv_c .tp-brkv>.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-tabv>.tp-tabv_t{border-top-left-radius:var(--elm-br)}.tp-tabv_c .tp-brkv .tp-tabv>.tp-tabv_c,.tp-fldv_c .tp-tabv>.tp-tabv_c{border-bottom-left-radius:var(--elm-br)}.tp-rotv_b,.tp-fldv_b{background-color:var(--cnt-bg);color:var(--cnt-fg);cursor:pointer;display:block;height:calc(var(--bld-us) + 4px);line-height:calc(var(--bld-us) + 4px);overflow:hidden;padding-left:var(--cnt-h-p);padding-right:calc(4px + var(--bld-us) + var(--cnt-h-p));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-h-p) + (var(--bld-us) + 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-v-p);padding-top:var(--cnt-v-p);transform:none;overflow:visible;transition:height .2s ease-in-out,opacity .2s linear .2s,padding .2s ease-in-out}.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-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-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(--elm-br);cursor:pointer;display:block;height:var(--bld-us);position:relative;width:var(--bld-us)}.tp-ckbv_w svg{bottom:0;display:block;height:16px;left:0;margin:auto;opacity:0;position:absolute;right:0;top:0;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(--bld-us)}.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(--bld-s);opacity:1}.tp-colv .tp-popv{left:calc(-1*var(--cnt-h-p));right:calc(-1*var(--cnt-h-p));top:var(--bld-us)}.tp-colpv_h,.tp-colpv_ap{margin-left:6px;margin-right:6px}.tp-colpv_h{margin-top:var(--bld-s)}.tp-colpv_rgb{display:flex;margin-top:var(--bld-s);width:100%}.tp-colpv_a{display:flex;margin-top:var(--cnt-v-p);padding-top:calc(var(--cnt-v-p) + 2px);position:relative}.tp-colpv_a::before{background-color:var(--grv-fg);content:"";height:2px;left:calc(-1*var(--cnt-h-p));position:absolute;right:calc(-1*var(--cnt-h-p));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(--elm-br);outline:none;overflow:hidden;position:relative}.tp-svpv.tp-v-disabled{opacity:.5}.tp-svpv_c{cursor:crosshair;display:block;height:calc(var(--bld-us)*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(--bld-us);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(--elm-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;pointer-events:none;position:absolute;top:50%;width:12px}.tp-hplv:focus .tp-hplv_m{border-color:#fff}.tp-aplv{cursor:pointer;height:var(--bld-us);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{bottom:0;left:0;position:absolute;right:0;top:0}.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(--elm-br);box-shadow:0 0 2px rgba(0,0,0,.1);height:12px;left:50%;margin-left:-6px;margin-top:-6px;overflow:hidden;pointer-events:none;position:absolute;top:50%;width:12px}.tp-aplv_p{border-radius:var(--elm-br);border:rgba(255,255,255,.75) solid 2px;box-sizing:border-box;bottom:0;left:0;position:absolute;right:0;top:0}.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(--elm-br);overflow:hidden}.tp-colswv.tp-v-disabled{opacity:.5}.tp-colswv_sw{border-radius:0}.tp-colswv_b{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;cursor:pointer;display:block;height:var(--bld-us);left:0;margin:0;outline:none;padding:0;position:absolute;top:0;width:var(--bld-us)}.tp-colswv_b:focus::after{border:rgba(255,255,255,.75) solid 2px;border-radius:var(--elm-br);bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.tp-coltxtv{display:flex;width:100%}.tp-coltxtv_m{margin-right:4px}.tp-coltxtv_ms{border-radius:var(--elm-br);color:var(--lbl-fg);cursor:pointer;height:var(--bld-us);line-height:var(--bld-us);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.tp-fldv-not .tp-fldv_b{display:none}.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(--bld-us) + 4px);width:var(--bs-br)}.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(--bld-us)*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-h-p);padding-right:var(--cnt-h-p)}.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:160px}.tp-lblv.tp-lblv-nol .tp-lblv_v{width:100%}.tp-lstv_s{padding:0 20px 0 4px;width:100%}.tp-lstv_m{color:var(--btn-fg)}.tp-sglv_i{padding:0 4px}.tp-sglv.tp-v-disabled .tp-sglv_i{opacity:.5}.tp-mllv_i{display:block;height:calc(var(--bld-us)*3);line-height:var(--bld-us);padding:0 4px;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(--bld-us);margin-right:4px;position:relative;width:var(--bld-us)}.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(--bld-s);opacity:1}.tp-p2dv .tp-popv{left:calc(-1*var(--cnt-h-p));right:calc(-1*var(--cnt-h-p));top:var(--bld-us)}.tp-p2dpv{padding-left:calc(var(--bld-us) + 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:6px;box-shadow:0 2px 4px var(--bs-sh);display:none;max-width:168px;padding:var(--cnt-v-p) var(--cnt-h-p);position:absolute;visibility:hidden;z-index:1000}.tp-popv.tp-popv-v{display:block;visibility:visible}.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}.tp-sldv.tp-v-disabled{opacity:.5}.tp-sldv_t{box-sizing:border-box;cursor:pointer;height:var(--bld-us);margin:0 6px;outline:none;position:relative}.tp-sldv_t::before{background-color:var(--in-bg);border-radius:1px;bottom:0;content:"";display:block;height:2px;left:0;margin:auto;position:absolute;right:0;top:0}.tp-sldv_k{height:100%;left:0;position:absolute;top:0}.tp-sldv_k::before{background-color:var(--in-fg);border-radius:1px;bottom:0;content:"";display:block;height:2px;left:0;margin-bottom:auto;margin-top:auto;position:absolute;right:0;top:0}.tp-sldv_k::after{background-color:var(--btn-bg);border-radius:var(--elm-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(--bld-us) + 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_c{padding-bottom:var(--cnt-v-p);padding-left:4px;padding-top:var(--cnt-v-p)}.tp-tabv_i{bottom:0;color:var(--cnt-bg);left:0;overflow:hidden;position:absolute;top:calc(var(--bld-us) + 4px);width:var(--bs-br)}.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-h-p) + 4px);padding-right:calc(var(--cnt-h-p) + 4px);position:relative;width:100%}.tp-tbiv_b:disabled{opacity:.5}.tp-tbiv_b::before{background-color:var(--cnt-bg);bottom:2px;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.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(--bld-us) + 4px);line-height:calc(var(--bld-us) + 4px);opacity:.5;overflow:hidden;text-overflow:ellipsis}.tp-tbiv.tp-tbiv-sel .tp-tbiv_t{opacity:1}.tp-txtv{position:relative}.tp-txtv_i{padding:0 4px}.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:-3px;position:absolute;top:0;width:12px}.tp-txtv_k::before{background-color:var(--in-fg);border-radius:1px;bottom:0;content:"";height:calc(var(--bld-us) - 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(--elm-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(--font-family);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(--bld-us) + var(--cnt-h-p));text-align:center}.tp-rotv.tp-rotv-expanded .tp-rotv_b{border-bottom-left-radius:0;border-bottom-right-radius:0}.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-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-v-p))}.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-v-p))}.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}'),this.pool_.getAll().forEach((t=>{this.embedPluginStyle_(t)})),this.registerPlugin({plugins:[Qs,Gs,$t,Js]})}},t.SeparatorApi=Lt,t.SliderApi=zs,t.TabApi=Nt,t.TabPageApi=Kt,t.TextApi=qs,t.TpChangeEvent=i,t.VERSION=Zs,Object.defineProperty(t,"__esModule",{value:!0})}));