@netless/telebox-insider 0.2.12 → 0.2.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,5 +12,5 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function m(e,t){var s={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(s[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(s[i[r]]=e[i[r]])}return s}var p=0,v="undefined"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),s=Math.max(0,16.7-(t-p));p=t+s,setTimeout((function(){return e(p)}),s)},x=1/60*1e3,_=!0,g=!1,b=!1,T={delta:0,timestamp:0},B=["read","update","preRender","render","postRender"],y=function(e){return g=e},w=B.reduce((function(e,t){var s,i,r,n,o,a,l,h,c;return e[t]=(s=y,i=[],r=[],n=0,o=!1,a=0,l=new WeakSet,h=new WeakSet,c={cancel:function(e){var t=r.indexOf(e);l.add(e),-1!==t&&r.splice(t,1)},process:function(e){var t,d;if(o=!0,i=(t=[r,i])[0],(r=t[1]).length=0,n=i.length)for(a=0;a<n;a++)(d=i[a])(e),!0!==h.has(d)||l.has(d)||(c.schedule(d),s(!0));o=!1},schedule:function(e,t,s){void 0===t&&(t=!1),void 0===s&&(s=!1);var a=s&&o,c=a?i:r;l.delete(e),t&&h.add(e),-1===c.indexOf(e)&&(c.push(e),a&&(n=i.length))}}),e}),{}),L=B.reduce((function(e,t){var s=w[t];return e[t]=function(e,t,i){return void 0===t&&(t=!1),void 0===i&&(i=!1),g||$(),s.schedule(e,t,i),e},e}),{}),C=function(e){return w[e].process(T)},N=function(e){g=!1,T.delta=_?x:Math.max(Math.min(e-T.timestamp,40),1),_||(x=T.delta),T.timestamp=e,b=!0,B.forEach(C),b=!1,g&&(_=!1,v(N))},$=function(){g=!0,_=!0,b||v(N)},O=function(){return(O=Object.assign||function(e){for(var t,s=1,i=arguments.length;s<i;s++)for(var r in t=arguments[s])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},z=function(e,t){return function(s){return Math.max(Math.min(s,t),e)}},M=function(e){return e%1?Number(e.toFixed(5)):e},S=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i,R={test:function(e){return"number"==typeof e},parse:parseFloat,transform:function(e){return e}},A=O(O({},R),{transform:z(0,1)}),X=O(O({},R),{default:1}),k=function(e){return{test:function(t){return"string"==typeof t&&t.endsWith(e)&&1===t.split(" ").length},parse:parseFloat,transform:function(t){return""+t+e}}},V=k("deg"),D=k("%"),I=k("px"),H=O(O({},D),{parse:function(e){return D.parse(e)/100},transform:function(e){return D.transform(100*e)}}),W=z(0,255),j=function(e){return void 0!==e.red},G=function(e){return void 0!==e.hue};var P=function(e){return function(t){if("string"!=typeof t)return t;for(var s={},i=function(e){return e.substring(e.indexOf("(")+1,e.lastIndexOf(")"))}(t).replace(/(,|\/)/g," ").split(/ \s*/),r=0;r<4;r++)s[e[r]]=void 0!==i[r]?parseFloat(i[r]):1;return s}},Z=O(O({},R),{transform:function(e){return Math.round(W(e))}});function F(e,t){return e.startsWith(t)&&S.test(e)}var Y,q={test:function(e){return"string"==typeof e?F(e,"rgb"):j(e)},parse:P(["red","green","blue","alpha"]),transform:function(e){var t=e.red,s=e.green,i=e.blue,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.red,s=e.green,i=e.blue,r=e.alpha;return"rgba("+t+", "+s+", "+i+", "+(void 0===r?1:r)+")"}({red:Z.transform(t),green:Z.transform(s),blue:Z.transform(i),alpha:M(A.transform(n))})}},U={test:function(e){return"string"==typeof e?F(e,"hsl"):G(e)},parse:P(["hue","saturation","lightness","alpha"]),transform:function(e){var t=e.hue,s=e.saturation,i=e.lightness,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.hue,s=e.saturation,i=e.lightness,r=e.alpha;return"hsla("+t+", "+s+", "+i+", "+(void 0===r?1:r)+")"}({hue:Math.round(t),saturation:D.transform(M(s)),lightness:D.transform(M(i)),alpha:M(A.transform(n))})}},J=O(O({},q),{test:function(e){return"string"==typeof e&&F(e,"#")},parse:function(e){var t="",s="",i="";return e.length>4?(t=e.substr(1,2),s=e.substr(3,2),i=e.substr(5,2)):(t=e.substr(1,1),s=e.substr(2,1),i=e.substr(3,1),t+=t,s+=s,i+=i),{red:parseInt(t,16),green:parseInt(s,16),blue:parseInt(i,16),alpha:1}}}),Q={test:function(e){return"string"==typeof e&&S.test(e)||j(e)||G(e)},parse:function(e){return q.test(e)?q.parse(e):U.test(e)?U.parse(e):J.test(e)?J.parse(e):e},transform:function(e){return j(e)?q.transform(e):G(e)?U.transform(e):e}},K=function(e){var t=e.onRead,s=e.onRender,i=e.uncachedValues,r=void 0===i?new Set:i,n=e.useCache,o=void 0===n||n;return function(e){void 0===e&&(e={});var i=m(e,[]),n={},a=[],l=!1;function h(e,t){e.startsWith("--")&&(i.hasCSSVariable=!0);var s=n[e];n[e]=t,n[e]!==s&&(-1===a.indexOf(e)&&a.push(e),l||(l=!0,L.render(c.render)))}var c={get:function(e,s){return void 0===s&&(s=!1),!s&&o&&!r.has(e)&&void 0!==n[e]?n[e]:t(e,i)},set:function(e,t){if("string"==typeof e)h(e,t);else for(var s in e)h(s,e[s]);return this},render:function(e){return void 0===e&&(e=!1),(l||!0===e)&&(s(n,i,a),l=!1,a.length=0),this}};return c}},ee=/([a-z])([A-Z])/g,te=function(e){return e.replace(ee,"$1-$2").toLowerCase()},se=new Map,ie=new Map,re=["Webkit","Moz","O","ms",""],ne=re.length,oe="undefined"!=typeof document,ae=function(e,t){return ie.set(e,te(t))},le=function(e,t){void 0===t&&(t=!1);var s=t?ie:se;return s.has(e)||(oe?function(e){Y=Y||document.createElement("div");for(var t=0;t<ne;t++){var s=re[t],i=""===s,r=i?e:s+e.charAt(0).toUpperCase()+e.slice(1);if(r in Y.style||i){if(i&&"clipPath"===e&&ie.has(e))return;se.set(e,r),ae(e,(i?"":"-")+te(r))}}}(e):function(e){ae(e,e)}(e)),s.get(e)||e},he=["","X","Y","Z"],ce=["translate","scale","rotate","skew","transformPerspective"].reduce((function(e,t){return he.reduce((function(e,s){return e.push(t+s),e}),e)}),["x","y","z"]),de=ce.reduce((function(e,t){return e[t]=!0,e}),{});function ue(e){return!0===de[e]}function Ee(e,t){return ce.indexOf(e)-ce.indexOf(t)}var fe=new Set(["originX","originY","originZ"]);function me(e){return fe.has(e)}var pe=f(f({},R),{transform:Math.round}),ve={color:Q,backgroundColor:Q,outlineColor:Q,fill:Q,stroke:Q,borderColor:Q,borderTopColor:Q,borderRightColor:Q,borderBottomColor:Q,borderLeftColor:Q,borderWidth:I,borderTopWidth:I,borderRightWidth:I,borderBottomWidth:I,borderLeftWidth:I,borderRadius:I,radius:I,borderTopLeftRadius:I,borderTopRightRadius:I,borderBottomRightRadius:I,borderBottomLeftRadius:I,width:I,maxWidth:I,height:I,maxHeight:I,size:I,top:I,right:I,bottom:I,left:I,padding:I,paddingTop:I,paddingRight:I,paddingBottom:I,paddingLeft:I,margin:I,marginTop:I,marginRight:I,marginBottom:I,marginLeft:I,rotate:V,rotateX:V,rotateY:V,rotateZ:V,scale:X,scaleX:X,scaleY:X,scaleZ:X,skew:V,skewX:V,skewY:V,distance:I,translateX:I,translateY:I,translateZ:I,x:I,y:I,z:I,perspective:I,opacity:A,originX:H,originY:H,originZ:I,zIndex:pe,fillOpacity:A,strokeOpacity:A,numOctaves:pe},xe=function(e){return ve[e]},_e=function(e,t){return t&&"number"==typeof e?t.transform(e):e},ge=new Set(["scrollLeft","scrollTop"]),be=new Set(["scrollLeft","scrollTop","transform"]),Te={x:"translateX",y:"translateY",z:"translateZ"};function Be(e){return"function"==typeof e}function ye(e,t,s,i,r,n,o,a){void 0===t&&(t=!0),void 0===s&&(s={}),void 0===i&&(i={}),void 0===r&&(r={}),void 0===n&&(n=[]),void 0===o&&(o=!1),void 0===a&&(a=!0);var l=!0,h=!1,c=!1;for(var d in e){var u=e[d],E=xe(d),f=_e(u,E);ue(d)?(h=!0,i[d]=f,n.push(d),l&&(E.default&&u!==E.default||!E.default&&0!==u)&&(l=!1)):me(d)?(r[d]=f,c=!0):be.has(d)&&Be(f)||(s[le(d,o)]=f)}return(h||"function"==typeof e.transform)&&(s.transform=function(e,t,s,i,r,n){void 0===n&&(n=!0);var o="",a=!1;s.sort(Ee);for(var l=s.length,h=0;h<l;h++){var c=s[h];o+=(Te[c]||c)+"("+t[c]+") ",a="z"===c||a}return!a&&r?o+="translateZ(0)":o=o.trim(),Be(e.transform)?o=e.transform(t,i?"":o):n&&i&&(o="none"),o}(e,i,n,l,t,a)),c&&(s.transformOrigin=(r.originX||"50%")+" "+(r.originY||"50%")+" "+(r.originZ||0)),s}function we(e){var t=void 0===e?{}:e,s=t.enableHardwareAcceleration,i=void 0===s||s,r=t.isDashCase,n=void 0===r||r,o=t.allowTransformNone,a=void 0===o||o,l={},h={},c={},d=[];return function(e){return d.length=0,ye(e,i,l,h,c,d,n,a),l}}var Le=K({onRead:function(e,t){var s=t.element,i=t.preparseOutput,r=xe(e);if(ue(e))return r&&r.default||0;if(ge.has(e))return s[e];var n=window.getComputedStyle(s,null).getPropertyValue(le(e,!0))||0;return i&&r&&r.test(n)&&r.parse?r.parse(n):n},onRender:function(e,t,s){var i=t.element,r=t.buildStyles,n=t.hasCSSVariable;if(Object.assign(i.style,r(e)),n)for(var o=s.length,a=0;a<o;a++){var l=s[a];l.startsWith("--")&&i.style.setProperty(l,e[l])}-1!==s.indexOf("scrollLeft")&&(i.scrollLeft=e.scrollLeft),-1!==s.indexOf("scrollTop")&&(i.scrollTop=e.scrollTop)},uncachedValues:ge});var Ce=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues"]),Ne=function(e,t){return I.transform(e*t)},$e={x:0,y:0,width:0,height:0};function Oe(e,t,s){return"string"==typeof e?e:I.transform(t+s*e)}var ze={enableHardwareAcceleration:!1,isDashCase:!1};function Me(e,t,s,i,r,n){void 0===t&&(t=$e),void 0===i&&(i=we(ze)),void 0===r&&(r={style:{}}),void 0===n&&(n=!0);var o=e.attrX,a=e.attrY,l=e.originX,h=e.originY,c=e.pathLength,d=e.pathSpacing,u=void 0===d?1:d,E=e.pathOffset,f=void 0===E?0:E,p=i(m(e,["attrX","attrY","originX","originY","pathLength","pathSpacing","pathOffset"]));for(var v in p){if("transform"===v)r.style.transform=p[v];else r[n&&!Ce.has(v)?te(v):v]=p[v]}return(void 0!==l||void 0!==h||p.transform)&&(r.style.transformOrigin=function(e,t,s){return Oe(t,e.x,e.width)+" "+Oe(s,e.y,e.height)}(t,void 0!==l?l:.5,void 0!==h?h:.5)),void 0!==o&&(r.x=o),void 0!==a&&(r.y=a),void 0!==s&&void 0!==c&&(r[n?"stroke-dashoffset":"strokeDashoffset"]=Ne(-f,s),r[n?"stroke-dasharray":"strokeDasharray"]=Ne(c,s)+" "+Ne(u,s)),r}function Se(e,t,s){void 0===s&&(s=!0);var i={style:{}},r=we(ze);return function(n){return Me(n,e,t,r,i,s)}}var Re=K({onRead:function(e,t){var s=t.element;if(ue(e=Ce.has(e)?e:te(e))){var i=xe(e);return i&&i.default||0}return s.getAttribute(e)},onRender:function(e,t){var s=t.element,i=(0,t.buildAttrs)(e);for(var r in i)"style"===r?Object.assign(s.style,i.style):s.setAttribute(r,i[r])}}),Ae=K({useCache:!1,onRead:function(e){return"scrollTop"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,s=void 0===t?0:t,i=e.scrollLeft,r=void 0===i?0:i;return window.scrollTo(r,s)}}),Xe=new WeakMap,ke=function(e,t){var s,i,r,n;return e===window?s=Ae(e):!function(e){return e instanceof HTMLElement||"function"==typeof e.click}(e)?function(e){return e instanceof SVGElement||"ownerSVGElement"in e}(e)&&(r=function(e){try{return function(e){return"function"==typeof e.getBBox?e.getBBox():e.getBoundingClientRect()}(e)}catch(t){return{x:0,y:0,width:0,height:0}}}(i=e),n=function(e){return"path"===e.tagName}(i)&&i.getTotalLength?i.getTotalLength():void 0,s=Re({element:i,buildAttrs:Se(r,n)})):s=function(e,t){void 0===t&&(t={});var s=t.enableHardwareAcceleration,i=t.allowTransformNone,r=m(t,["enableHardwareAcceleration","allowTransformNone"]);return Le(f({element:e,buildStyles:we({enableHardwareAcceleration:s,allowTransformNone:i}),preparseOutput:!0},r))}(e,t),Xe.set(e,s),s};function Ve(e,t){return function(e,t){return Xe.has(e)?Xe.get(e):ke(e,t)}("string"==typeof e?document.querySelector(e):e,t)}var De=function(e,t,s,i){var r=s?s.call(i,e,t):void 0;if(void 0!==r)return!!r;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),l=0;l<n.length;l++){var h=n[l];if(!a(h))return!1;var c=e[h],d=t[h];if(!1===(r=s?s.call(i,c,d,h):void 0)||void 0===r&&c!==d)return!1}return!0};const Ie="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",He=Ie.length,We=Array(20),je=()=>{for(let e=0;e<20;e++)We[e]=Ie.charAt(Math.random()*He);return We.join("")};class Ge{constructor(){this.disposers=new Map}add(e,t=je()){return this.flush(t),this.disposers.set(t,e()),t}addDisposer(e,t=je()){return this.flush(t),this.disposers.set(t,e),t}addEventListener(e,t,s,i,r=je()){return this.add((()=>(e.addEventListener(t,s,i),()=>e.removeEventListener(t,s,i))),r),r}setTimeout(e,t,s=je()){return this.add((()=>{const i=window.setTimeout((()=>{this.remove(s),e()}),t);return()=>window.clearTimeout(i)}),s)}setInterval(e,t,s=je()){return this.add((()=>{const s=window.setInterval(e,t);return()=>window.clearInterval(s)}),s)}remove(e){const t=this.disposers.get(e);return this.disposers.delete(e),t}flush(e){const t=this.remove(e);if(t)try{t()}catch(s){console.error(s)}}flushAll(){this.disposers.forEach((e=>{try{e()}catch(t){console.error(t)}})),this.disposers.clear()}}var Pe=Object.defineProperty,Ze=("undefined"!=typeof require&&require,(e,t,s)=>{return n=s,(r="symbol"!=typeof t?t+"":t)in(i=e)?Pe(i,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[r]=n,s;var i,r,n});class Fe{constructor(e,t){Ze(this,"_value"),Ze(this,"_beforeDestroys"),Ze(this,"_subscribers"),this._value=e,t&&(this.compare=t)}get value(){return this._value}setValue(e,t){if(!this.compare(e,this._value)){const s=this._value;this._value=e,this._subscribers&&this._subscribers.forEach((i=>i(e,s,t)))}}reaction(e){return this._subscribers||(this._subscribers=new Set),this._subscribers.add(e),()=>{this._subscribers&&this._subscribers.delete(e)}}subscribe(e,t){const s=this.reaction(e);return e(this._value,void 0,t),s}derive(e,t,s){const i=new Fe(e(this.value,void 0,s),t),r=this.reaction(((t,s,r)=>{i.setValue(e(t,s,r))}));return i.addBeforeDestroy(r),i}destroy(){this._beforeDestroys&&(this._beforeDestroys.forEach((e=>e())),this._beforeDestroys.clear()),this._subscribers&&this._subscribers.clear()}addBeforeDestroy(e){return this._beforeDestroys||(this._beforeDestroys=new Set),this._beforeDestroys.add(e),()=>{this._beforeDestroys&&this._beforeDestroys.delete(e)}}compare(e,t){return e===t}}function Ye(e,t){Object.keys(t).forEach((s=>{!function(e,t,s){var i;Object.defineProperties(e,{[t]:{get:()=>s.value},[`_${t}$`]:{value:s},[`set${i=t,i[0].toUpperCase()+i.slice(1)}`]:{value:(e,t)=>s.setValue(e,t)}})}(e,s,t[s])}))}function qe(e){const t=t=>{const s=e.addDisposer((()=>{t.destroy()}));return t.addBeforeDestroy((()=>{e.remove(s)})),t};return{bindSideEffect:t,combine:(e,s,i,r)=>t(function(e,t,s,i){let r=e.map((e=>e.value));const n=new Fe(t(r,void 0,i),s);return e.forEach(((e,s)=>{const i=e.reaction(((e,i,o)=>{const a=r.slice();a[s]=e;const l=r;r=a,n.setValue(t(a,l,o),o)}));n.addBeforeDestroy(i)})),n}(e,s,i,r)),createVal:(e,s)=>t(new Fe(e,s))}}var Ue,Je,Qe,Ke,et;exports.TELE_BOX_COLOR_SCHEME=void 0,(Ue=exports.TELE_BOX_COLOR_SCHEME||(exports.TELE_BOX_COLOR_SCHEME={})).Light="light",Ue.Dark="dark",Ue.Auto="auto",exports.TELE_BOX_STATE=void 0,(Je=exports.TELE_BOX_STATE||(exports.TELE_BOX_STATE={})).Normal="normal",Je.Minimized="minimized",Je.Maximized="maximized",exports.TELE_BOX_EVENT=void 0,(Qe=exports.TELE_BOX_EVENT||(exports.TELE_BOX_EVENT={})).DarkMode="dark_mode",Qe.PrefersColorScheme="prefers_color_scheme",Qe.Close="close",Qe.Focus="focus",Qe.Blur="blur",Qe.Move="move",Qe.Resize="resize",Qe.IntrinsicMove="intrinsic_move",Qe.IntrinsicResize="intrinsic_resize",Qe.VisualResize="visual_resize",Qe.ZIndex="z_index",Qe.State="state",Qe.Minimized="minimized",Qe.Maximized="maximized",Qe.Readonly="readonly",Qe.Destroyed="destroyed",exports.TELE_BOX_DELEGATE_EVENT=void 0,(Ke=exports.TELE_BOX_DELEGATE_EVENT||(exports.TELE_BOX_DELEGATE_EVENT={})).Close="close",Ke.Maximize="maximize",Ke.Minimize="minimize",exports.TELE_BOX_RESIZE_HANDLE=void 0,(et=exports.TELE_BOX_RESIZE_HANDLE||(exports.TELE_BOX_RESIZE_HANDLE={})).North="n",et.South="s",et.West="w",et.East="e",et.NorthWest="nw",et.NorthEast="ne",et.SouthEast="se",et.SouthWest="sw";function tt(e,t,s){return Math.min(Math.max(e,t),s)}function st(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function it(e){return e.touches?e.touches[0]:e}function rt(){return Date.now().toString().slice(6)+Math.random().toString().slice(2,8)}let nt=1;function ot(){return"New Box "+nt++}function at(e){return Boolean(e)}function lt(e){return!e}class ht{constructor({readonly:e=!1,title:t,buttons:s,onEvent:i,onDragStart:r,namespace:n="telebox",state:o=exports.TELE_BOX_STATE.Normal}={}){this.$btns=[],this.sideEffect=new Ge,this.lastTitleBarClick=0,this.handleTitleBarClick=e=>{var t;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;st(e);const s=Date.now();s-this.lastTitleBarClick<=500?this.onEvent&&this.onEvent({type:exports.TELE_BOX_DELEGATE_EVENT.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarClick=s},this.readonly=e,this.onEvent=i,this.onDragStart=r,this.namespace=n,this.title=t,this.state=o,this.buttons=s||[{type:exports.TELE_BOX_DELEGATE_EVENT.Minimize,iconClassName:this.wrapClassName("titlebar-icon-minimize")},{type:exports.TELE_BOX_DELEGATE_EVENT.Maximize,iconClassName:this.wrapClassName("titlebar-icon-maximize"),isActive:e=>e===exports.TELE_BOX_STATE.Maximized},{type:exports.TELE_BOX_DELEGATE_EVENT.Close,iconClassName:this.wrapClassName("titlebar-icon-close")}]}setTitle(e){this.title=e,this.$title&&(this.$title.textContent=e,this.$title.title=e)}setState(e){this.state!==e&&(this.state=e,this.buttons.forEach(((t,s)=>{t.isActive&&this.$btns[s].classList.toggle("is-active",t.isActive(e))})))}setReadonly(e){this.readonly!==e&&(this.readonly=e)}render(){if(!this.$titleBar){this.$titleBar=document.createElement("div"),this.$titleBar.className=this.wrapClassName("titlebar"),this.$titleBar.dataset.teleBoxHandle="dh",this.sideEffect.addEventListener(this.$titleBar,"mousedown",this.handleTitleBarClick),this.sideEffect.addEventListener(this.$titleBar,"touchstart",this.handleTitleBarClick,{passive:!0}),this.$title=document.createElement("h1"),this.$title.className=this.wrapClassName("title"),this.$title.dataset.teleBoxHandle="dh",this.title&&(this.$title.textContent=this.title,this.$title.title=this.title);const e=document.createElement("div");e.className=this.wrapClassName("titlebar-btns"),this.buttons.forEach((({iconClassName:t,isActive:s},i)=>{const r=String(i),n=document.createElement("button");n.className=`${this.wrapClassName("titlebar-btn")} ${t}`,n.dataset.teleTitleBarBtnIndex=r,n.dataset.teleTitleBarNoDblClick="true",s&&n.classList.toggle("is-active",s(this.state)),this.$btns.push(n),e.appendChild(n)})),this.sideEffect.addEventListener(e,"click",(e=>{var t;if(this.readonly)return;const s=e.target,i=Number(null==(t=s.dataset)?void 0:t.teleTitleBarBtnIndex);if(!Number.isNaN(i)&&i<this.buttons.length){st(e);const t=this.buttons[i];this.onEvent&&this.onEvent({type:t.type,value:t.value})}})),this.$titleBar.appendChild(this.$title),this.$titleBar.appendChild(e)}return this.$titleBar}dragHandle(){return this.$titleBar}wrapClassName(e){return`${this.namespace}-${e}`}destroy(){this.sideEffect.flushAll(),this.$titleBar&&(this.$titleBar=void 0,this.$title=void 0,this.$btns.length=0,this.onDragStart=void 0,this.onEvent=void 0)}}class ct{constructor({id:e=rt(),title:t=ot(),prefersColorScheme:s=exports.TELE_BOX_COLOR_SCHEME.Light,darkMode:i,visible:r=!0,width:n=.5,height:o=.5,minWidth:a=0,minHeight:l=0,x:h=.1,y:c=.1,minimized:d=!1,maximized:u=!1,readonly:f=!1,resizable:m=!0,draggable:p=!0,fence:v=!0,fixRatio:x=!1,focus:_=!1,zIndex:g=100,namespace:b="telebox",titleBar:T,content:B,footer:y,styles:w,containerRect:L={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collectorRect:C}={}){this._renderSideEffect=new Ge,this.handleTrackStart=e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},this._sideEffect=new Ge,this._valSideEffectBinder=qe(this._sideEffect);const{combine:N,createVal:$}=this._valSideEffectBinder;this.id=e,this.namespace=b,this.events=new E,this._delegateEvents=new E;const O=$(s);O.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.PrefersColorScheme,e)}));const z=$(Boolean(i));null==i&&O.subscribe(((e,t,s)=>{this._sideEffect.add((()=>{if("auto"===e){const e=window.matchMedia("(prefers-color-scheme: dark)");if(e){z.setValue(e.matches,s);const t=e=>{z.setValue(e.matches,s)};return e.addListener(t),()=>e.removeListener(t)}return dt}return z.setValue("dark"===e,s),dt}),"prefers-color-scheme")})),z.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.DarkMode,e)}));const M=$(L,De),S=$(C,De),R=$(t),A=$(r);A.reaction(((e,t,s)=>{s||e||this.events.emit(exports.TELE_BOX_EVENT.Close)}));const X=$(f);X.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.Readonly,e)}));const k=$(m),V=$(p),D=$(v),I=$(x),H=$(g);H.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.ZIndex,e)}));const W=$(_);W.reaction(((e,t,s)=>{s||this.events.emit(e?exports.TELE_BOX_EVENT.Focus:exports.TELE_BOX_EVENT.Blur)}));const j=$(d);j.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.Minimized,e)}));const G=$(u);G.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.Maximized,e)}));const P=N([j,G],(([e,t])=>e?exports.TELE_BOX_STATE.Minimized:t?exports.TELE_BOX_STATE.Maximized:exports.TELE_BOX_STATE.Normal));P.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.State,e)}));const Z=$({width:tt(a,0,1),height:tt(l,0,1)},De),F=$({width:tt(n,Z.value.width,1),height:tt(o,Z.value.height,1)},De);Z.reaction(((e,t,s)=>{F.setValue({width:tt(n,e.width,1),height:tt(o,e.height,1)},s)})),F.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.IntrinsicResize,e)}));const Y=N([F,G],(([e,t])=>t?{width:1,height:1}:e),De);Y.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.Resize,e)}));const q=N([Y,j,M,S],(([e,t,s,i])=>t&&i?{width:i.width/e.width/s.width,height:i.height/e.height/s.height}:e),De);q.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.VisualResize,e)}));const U=$({x:tt(h,0,1),y:tt(c,0,1)},De);U.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.IntrinsicMove,e)}));const J=N([U,F,M,S,j,G],(([e,t,s,i,r,n])=>r&&i?n?{x:(i.x+i.width/2)/s.width-.5,y:(i.y+i.height/2)/s.height-.5}:{x:(i.x+i.width/2)/s.width-t.width/2,y:(i.y+i.height/2)/s.height-t.height/2}:n?{x:0,y:0}:e),De);J.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.Move,e)})),this.titleBar=T||new ht({readonly:X.value,title:R.value,namespace:this.namespace,onDragStart:e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},onEvent:e=>{if(this._delegateEvents.listeners.length>0)this._delegateEvents.emit(e.type);else switch(e.type){case exports.TELE_BOX_DELEGATE_EVENT.Maximize:G.setValue(!G.value);break;case exports.TELE_BOX_DELEGATE_EVENT.Minimize:j.setValue(!0);break;case exports.TELE_BOX_DELEGATE_EVENT.Close:A.setValue(!1);break;default:console.error("Unsupported titleBar event:",e)}}}),X.reaction((e=>{this.titleBar.setReadonly(e)}));const Q=$(B),K=$(y),ee=$(w);Ye(this,{prefersColorScheme:O,darkMode:z,containerRect:M,collectorRect:S,title:R,visible:A,readonly:X,resizable:k,draggable:V,fence:D,fixRatio:I,focus:W,zIndex:H,minimized:j,maximized:G,$userContent:Q,$userFooter:K,$userStyles:ee}),this._state$=P,this._minSize$=Z,this._size$=Y,this._intrinsicSize$=F,this._visualSize$=q,this._coord$=J,this._intrinsicCoord$=U,this.fixRatio&&this.transform(J.value.x,J.value.y,Y.value.width,Y.value.height,!0),this.$box=this.render()}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case exports.TELE_BOX_STATE.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case exports.TELE_BOX_STATE.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}get minWidth(){return this._minSize$.value.width}get minHeight(){return this._minSize$.value.height}setMinWidth(e,t=!1){return this._minSize$.setValue({width:e,height:this.minHeight},t),this}setMinHeight(e,t=!1){return this._minSize$.setValue({width:this.minWidth,height:e},t),this}get intrinsicWidth(){return this._intrinsicSize$.value.width}get intrinsicHeight(){return this._intrinsicSize$.value.height}resize(e,t,s=!1){return this._intrinsicSize$.setValue({width:e,height:t},s),this}get width(){return this._size$.value.width}get height(){return this._size$.value.height}get absoluteWidth(){return this.width*this.containerRect.width}get absoluteHeight(){return this.height*this.containerRect.height}get visualWidth(){return this._visualSize$.value.width}get visualHeight(){return this._visualSize$.value.height}get intrinsicX(){return this._intrinsicCoord$.value.x}get intrinsicY(){return this._intrinsicCoord$.value.y}move(e,t,s=!1){return this._intrinsicCoord$.setValue({x:e,y:t},s),this}get x(){return this._coord$.value.x}get y(){return this._coord$.value.y}transform(e,t,s,i,r=!1){if(this.fixRatio){const e=this.intrinsicHeight/this.intrinsicWidth*s;t!==this.intrinsicY&&(t-=e-i),i=e}return t<0&&(t=0,i>this.intrinsicHeight&&(i=this.intrinsicHeight)),this._intrinsicCoord$.setValue({x:s>=this.minWidth?e:this.intrinsicX,y:i>=this.minHeight?t:this.intrinsicY},r),this._intrinsicSize$.setValue({width:tt(s,this.minWidth,1),height:tt(i,this.minHeight,1)},r),this}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$box&&this.$box.remove(),this}mountContent(e){return this.set$userContent(e),this}unmountContent(){return this.set$userContent(void 0),this}mountFooter(e){return this.set$userFooter(e),this}unmountFooter(){return this.set$userFooter(void 0),this}getUserStyles(){return this.$userStyles}mountStyles(e){let t;return"string"==typeof e?(t=document.createElement("style"),t.textContent=e):t=e,this.set$userStyles(t),this}unmountStyles(){return this.set$userStyles(void 0),this}render(e){if(e){if(e===this.$box)return this.$box;this.$box=e}else{if(this.$box)return this.$box;this.$box=document.createElement("div")}this._renderSideEffect.flushAll(),this.$box.classList.add(this.wrapClassName("box"));const t=(e,t,s,i=at)=>this._renderSideEffect.add((()=>{const r=this.wrapClassName(s);return t.subscribe((t=>{e.classList.toggle(r,i(t))}))}));t(this.$box,this._readonly$,"readonly"),t(this.$box,this._draggable$,"no-drag",lt),t(this.$box,this._resizable$,"no-resize",lt),t(this.$box,this._focus$,"blur",lt),t(this.$box,this._darkMode$,"color-scheme-dark"),t(this.$box,this._darkMode$,"color-scheme-light",lt),this._renderSideEffect.add((()=>{const e=this.wrapClassName("minimized"),t=this.wrapClassName("maximized"),s="box-maximized-timer";return this._state$.subscribe((i=>{this.$box.classList.toggle(e,i===exports.TELE_BOX_STATE.Minimized),i===exports.TELE_BOX_STATE.Maximized?(this._renderSideEffect.flush(s),this.$box.classList.toggle(t,!0)):this._renderSideEffect.setTimeout((()=>{this.$box.classList.toggle(t,!1)}),0,s)}))})),this._renderSideEffect.add((()=>this._visible$.subscribe((e=>{this.$box.style.display=e?"block":"none"})))),this._renderSideEffect.add((()=>this._zIndex$.subscribe((e=>{this.$box.style.zIndex=String(e)}))));const s=Ve(this.$box);this.$box.dataset.teleBoxID=this.id,this.$box.style.width=this.absoluteWidth+"px",this.$box.style.height=this.absoluteHeight+"px";const i=this.x*this.containerRect.width+this.containerRect.x,r=this.y*this.containerRect.height+this.containerRect.y;this.$box.style.transform=`translate(${i-10}px,${r-10}px)`,this._valSideEffectBinder.combine([this._coord$,this._size$,this._minimized$,this._containerRect$,this._collectorRect$],(([e,t,s,i,r])=>{const n=t.width*i.width,o=t.height*i.height;return{width:n,height:o,x:e.x*i.width,y:e.y*i.height,scaleX:s&&r?r.width/n:1,scaleY:s&&r?r.height/o:1}}),De).subscribe((e=>{s.set(e)})),s.set({x:i,y:r});const n=document.createElement("div");n.className=this.wrapClassName("box-main"),this.$box.appendChild(n);const o=document.createElement("div");o.className=this.wrapClassName("titlebar-wrap"),o.appendChild(this.titleBar.render()),this.$titleBar=o;const a=document.createElement("div");a.className=this.wrapClassName("content-wrap");const l=document.createElement("div");l.className=this.wrapClassName("content")+" tele-fancy-scrollbar",this.$content=l,this._renderSideEffect.add((()=>{let e;return this._$userStyles$.subscribe((t=>{e&&e.remove(),e=t,t&&l.appendChild(t)}))})),this._renderSideEffect.add((()=>{let e;return this._$userContent$.subscribe((t=>{e&&e.remove(),e=t,t&&l.appendChild(t)}))})),a.appendChild(l);const h=document.createElement("div");return h.className=this.wrapClassName("footer-wrap"),this.$footer=h,this._renderSideEffect.add((()=>{let e;return this._$userFooter$.subscribe((t=>{e&&e.remove(),e=t,t&&h.appendChild(t)}))})),n.appendChild(o),n.appendChild(a),n.appendChild(h),this._renderResizeHandlers(),this.$box}_renderResizeHandlers(){const e=document.createElement("div");e.className=this.wrapClassName("resize-handles"),Object.values(exports.TELE_BOX_RESIZE_HANDLE).forEach((t=>{const s=document.createElement("div");s.className=this.wrapClassName(t)+" "+this.wrapClassName("resize-handle"),s.dataset.teleBoxHandle=t,e.appendChild(s)})),this.$box.appendChild(e);const t="handle-tracking-listener",s=this.wrapClassName("transforming");let i,r,n=0,o=0,a=0,l=0,h=0,c=0;const d=e=>{if(this.state!==exports.TELE_BOX_STATE.Normal)return;st(e);let{pageX:t,pageY:s}=it(e);s<0&&(s=0);const i=(t-h)/this.containerRect.width,d=(s-c)/this.containerRect.height;switch(r){case exports.TELE_BOX_RESIZE_HANDLE.North:this.transform(this.x,o+d,this.width,l-d);break;case exports.TELE_BOX_RESIZE_HANDLE.South:this.transform(this.x,this.y,this.width,l+d);break;case exports.TELE_BOX_RESIZE_HANDLE.West:this.transform(n+i,this.y,a-i,this.height);break;case exports.TELE_BOX_RESIZE_HANDLE.East:this.transform(this.x,this.y,a+i,this.height);break;case exports.TELE_BOX_RESIZE_HANDLE.NorthWest:this.transform(n+i,o+d,a-i,l-d);break;case exports.TELE_BOX_RESIZE_HANDLE.NorthEast:this.transform(this.x,o+d,a+i,l-d);break;case exports.TELE_BOX_RESIZE_HANDLE.SouthEast:this.transform(this.x,this.y,a+i,l+d);break;case exports.TELE_BOX_RESIZE_HANDLE.SouthWest:this.transform(n+i,this.y,a-i,l+d);break;default:if(this.fence)this.move(tt(n+i,0,1-this.width),tt(o+d,0,1-this.height));else{const e=20/this.containerRect.width,t=20/this.containerRect.height;this.move(tt(n+i,e-this.width,1-e),tt(o+d,0,1-t))}}},u=e=>{r=void 0,i&&(st(e),this.$box.classList.toggle(s,!1),this._sideEffect.flush(t),i.remove())},E=e=>{var E;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(!this.draggable||r||this.state!==exports.TELE_BOX_STATE.Normal)return;const f=e.target;if(null==(E=f.dataset)?void 0:E.teleBoxHandle){st(e),n=this.x,o=this.y,a=this.width,l=this.height,({pageX:h,pageY:c}=it(e)),r=f.dataset.teleBoxHandle,i||(i=document.createElement("div"));const E=r?this.wrapClassName(`cursor-${r}`):"";i.className=this.wrapClassName("track-mask"+(E?` ${E}`:"")),this.$box.appendChild(i),this.$box.classList.add(s),this._sideEffect.add((()=>(window.addEventListener("mousemove",d),window.addEventListener("touchmove",d,{passive:!1}),window.addEventListener("mouseup",u),window.addEventListener("touchend",u,{passive:!1}),window.addEventListener("touchcancel",u,{passive:!1}),()=>{window.removeEventListener("mousemove",d),window.removeEventListener("touchmove",d),window.removeEventListener("mouseup",u),window.removeEventListener("touchend",u),window.removeEventListener("touchcancel",u)})),t)}};this._handleTrackStart=E,this._sideEffect.addEventListener(e,"mousedown",E,{},"box-resizeHandles-mousedown"),this._sideEffect.addEventListener(e,"touchstart",E,{passive:!1},"box-resizeHandles-touchstart")}destroy(){this.$box.remove(),this.events.emit(exports.TELE_BOX_EVENT.Destroyed),this._sideEffect.flushAll(),this._renderSideEffect.flushAll(),this.events.removeAllListeners(),this._delegateEvents.removeAllListeners()}wrapClassName(e){return`${this.namespace}-${e}`}}function dt(){}const ut=(e,t)=>{const s=h.useRef(!0);h.useEffect((()=>{if(!s.current)return e();s.current=!1}),t)};var Et;class ft{constructor({visible:e=!0,readonly:t=!1,darkMode:s=!1,namespace:i="telebox",styles:r={},onClick:n}={}){this.handleCollectorClick=()=>{!this._readonly&&this.onClick&&this.onClick()},this._visible=e,this._readonly=t,this._darkMode=s,this.namespace=i,this.styles=r,this.onClick=n}get visible(){return this._visible}get readonly(){return this._readonly}get darkMode(){return this._darkMode}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$collector&&this.$collector.remove(),this}setVisible(e){return this._visible!==e&&(this._visible=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName("collector-visible"),e)),this}setReadonly(e){return this._readonly!==e&&(this._readonly=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName("collector-readonly"),e)),this}setDarkMode(e){return this._darkMode!==e&&(this._darkMode=e,this.$collector&&(this.$collector.classList.toggle(this.wrapClassName("color-scheme-dark"),e),this.$collector.classList.toggle(this.wrapClassName("color-scheme-light"),!e))),this}setStyles(e){if(Object.assign(this.styles,e),this.$collector){const t=this.$collector;Object.keys(e).forEach((s=>{const i=e[s];null!=i&&(t.style[s]=i)}))}return this}render(){return this.$collector||(this.$collector=document.createElement("button"),this.$collector.className=this.wrapClassName("collector"),this.$collector.style.backgroundImage="url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxNiI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIHN0cm9rZT0iIzdCODhBMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIGQ9Ik0uNyAxLjJoMTYuNnYxMy42SC43eiIgLz4KICAgICAgICA8cGF0aCBmaWxsPSIjN0I4OEEwIiBkPSJNNCA1LjVoNnYxLjRINHpNNCA5LjVoMTB2MS40SDR6IiAvPgogICAgPC9nPgo8L3N2Zz4K')",this.$collector.addEventListener("click",this.handleCollectorClick),this._visible&&this.$collector.classList.add(this.wrapClassName("collector-visible")),this._readonly&&this.$collector.classList.add(this.wrapClassName("collector-readonly")),this.$collector.classList.add(this.wrapClassName(this._darkMode?"color-scheme-dark":"color-scheme-light")),this.setStyles(this.styles)),this.$collector}destroy(){this.$collector&&(this.$collector.removeEventListener("click",this.handleCollectorClick),this.$collector.remove(),this.$collector=void 0),this.onClick=void 0}wrapClassName(e){return`${this.namespace}-${e}`}}exports.TELE_BOX_MANAGER_EVENT=void 0,(Et=exports.TELE_BOX_MANAGER_EVENT||(exports.TELE_BOX_MANAGER_EVENT={})).Focused="focused",Et.Blurred="blurred",Et.Created="created",Et.Removed="removed",Et.State="state",Et.Maximized="maximized",Et.Minimized="minimized",Et.Move="move",Et.Resize="resize",Et.IntrinsicMove="intrinsic_move",Et.IntrinsicResize="intrinsic_resize",Et.VisualResize="visual_resize",Et.ZIndex="z_index",Et.PrefersColorScheme="prefers_color_scheme",Et.DarkMode="dark_mode";class mt extends ht{constructor(e){super(e),this.boxes=e.boxes,this.focusedBox=e.focusedBox,this.containerRect=e.containerRect,this.darkMode=e.darkMode}focusBox(e){var t;if(!this.focusedBox||this.focusedBox!==e){if(this.$titles&&this.state===exports.TELE_BOX_STATE.Maximized){const{children:s}=this.$titles.firstElementChild;for(let i=s.length-1;i>=0;i-=1){const r=s[i],n=null==(t=r.dataset)?void 0:t.teleBoxID;n&&(e&&n===e.id?r.classList.toggle(this.wrapClassName("titles-tab-focus"),!0):this.focusedBox&&n===this.focusedBox.id&&r.classList.toggle(this.wrapClassName("titles-tab-focus"),!1))}}this.focusedBox=e}}setContainerRect(e){if(this.containerRect=e,this.$titleBar){const{x:t,y:s,width:i}=e;this.$titleBar.style.transform=`translate(${t}px, ${s}px)`,this.$titleBar.style.width=i+"px"}}setBoxes(e){this.boxes=e,this.updateTitles()}setState(e){super.setState(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName("max-titlebar-maximized"),e===exports.TELE_BOX_STATE.Maximized),this.updateTitles()}setReadonly(e){super.setReadonly(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName("readonly"),this.readonly)}setDarkMode(e){e!==this.darkMode&&(this.darkMode=e,this.$titleBar&&(this.$titleBar.classList.toggle(this.wrapClassName("color-scheme-dark"),e),this.$titleBar.classList.toggle(this.wrapClassName("color-scheme-light"),!e)))}render(){const e=super.render(),{x:t,y:s,width:i}=this.containerRect;return e.style.transform=`translate(${t}px, ${s}px)`,e.style.width=i+"px",e.classList.add(this.wrapClassName("max-titlebar")),e.classList.toggle(this.wrapClassName("max-titlebar-maximized"),this.state===exports.TELE_BOX_STATE.Maximized),e.classList.toggle(this.wrapClassName("readonly"),this.readonly),e.classList.add(this.wrapClassName(this.darkMode?"color-scheme-dark":"color-scheme-light")),this.updateTitles(),e}destroy(){super.destroy(),this.$titles=void 0,this.boxes.length=0,this.focusedBox=void 0}updateTitles(){this.$titleBar&&this.state===exports.TELE_BOX_STATE.Maximized&&(1===this.boxes.length?this.$title&&(this.$title.textContent=this.boxes[0].title,this.$titleBar.replaceChild(this.$title,this.$titleBar.firstElementChild)):this.$titleBar.replaceChild(this.renderTitles(),this.$titleBar.firstElementChild))}renderTitles(){this.$titles=document.createElement("div"),this.$titles.className=this.wrapClassName("titles"),this.$titles.addEventListener("wheel",(e=>{e.currentTarget.scrollBy({left:e.deltaY>0?250:-250,behavior:"smooth"})}),{passive:!1});const e=document.createElement("div");return e.className=this.wrapClassName("titles-content"),this.$titles.appendChild(e),this.boxes.forEach((t=>{const s=document.createElement("button");s.className=this.wrapClassName("titles-tab"),s.textContent=t.title,s.dataset.teleBoxID=t.id,s.dataset.teleTitleBarNoDblClick="true",this.focusedBox&&t.id===this.focusedBox.id&&s.classList.add(this.wrapClassName("titles-tab-focus")),e.appendChild(s)})),this.$titles}}exports.DefaultTitleBar=ht,exports.TeleBox=ct,exports.TeleBoxCollector=ft,exports.TeleBoxDragHandleType="dh",exports.TeleBoxManager=class{constructor({root:e=document.body,prefersColorScheme:t=exports.TELE_BOX_COLOR_SCHEME.Light,minimized:s=!1,maximized:i=!1,fence:r=!0,containerRect:n={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collector:o,namespace:a="telebox",readonly:l=!1}={}){this.events=new E,this._sideEffect=new Ge;const{combine:h,createVal:c}=qe(this._sideEffect);this.root=e,this.namespace=a,this.boxes$=c([]),this.topBox$=this.boxes$.derive((e=>{if(e.length>0){return e.reduce(((e,t)=>e.zIndex>t.zIndex?e:t))}}));const d=window.matchMedia("(prefers-color-scheme: dark)"),u=c(!1);d&&(u.setValue(d.matches),this._sideEffect.add((()=>{const e=e=>{u.setValue(e.matches)};return d.addListener(e),()=>d.removeListener(e)})));const f=c(t);f.reaction(((e,t,s)=>{this.boxes.forEach((t=>t.setPrefersColorScheme(e,s))),s||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.PrefersColorScheme,e)})),this._darkMode$=h([u,f],(([e,t])=>"auto"===t?e:"dark"===t)),this._darkMode$.reaction(((e,t,s)=>{this.boxes.forEach((t=>t.setDarkMode(e,s))),s||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.DarkMode,e)}));const m=c(l);m.reaction(((e,t,s)=>{this.boxes.forEach((t=>t.setReadonly(e,s)))}));const p=c(s),v=c(i);v.reaction(((e,t,s)=>{this.boxes.forEach((t=>t.setMaximized(e,s))),s||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Maximized,e)}));const x=h([p,v],(([e,t])=>e?exports.TELE_BOX_STATE.Minimized:t?exports.TELE_BOX_STATE.Maximized:exports.TELE_BOX_STATE.Normal));x.reaction(((e,t,s)=>{this.maxTitleBar.setState(e),s||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.State,e)}));const _=c(r);_.subscribe(((e,t,s)=>{this.boxes.forEach((t=>t.setFence(e,s)))}));const g=c(n,De);g.reaction(((e,t,s)=>{this.boxes.forEach((t=>t.setContainerRect(e,s))),this.maxTitleBar.setContainerRect(e)}));const b=c(null===o?null:o||new ft({visible:s,readonly:l,namespace:a}).mount(e));b.subscribe((e=>{e&&(e.setVisible(p.value),e.setReadonly(m.value),e.setDarkMode(this._darkMode$.value),this._sideEffect.add((()=>(e.onClick=()=>{m.value||p.setValue(!1)},()=>e.destroy())),"collect-onClick"))})),m.subscribe((e=>{var t;return null==(t=b.value)?void 0:t.setReadonly(e)})),this._darkMode$.subscribe((e=>{var t;null==(t=b.value)||t.setDarkMode(e)})),p.subscribe(((e,t,s)=>{var i,r;if(null==(i=b.value)||i.setVisible(e),e&&(null==(r=b.value)?void 0:r.$collector)){const{x:e,y:t,width:s,height:i}=b.value.$collector.getBoundingClientRect(),r=this.root.getBoundingClientRect();this.boxes.forEach((n=>{n.setCollectorRect({x:e-r.x,y:t-r.y,width:s,height:i},!0)}))}this.boxes.forEach((t=>t.setMinimized(e,s))),s||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Minimized,e)}));const T=this.wrapClassName("titlebar-icon-close"),B=e=>{var t;if(m.value)return;const s=e.target;if(s.tagName)for(let i=s;i;i=i.parentElement){if(i.classList&&i.classList.contains(T))return;const e=null==(t=i.dataset)?void 0:t.teleBoxID;if(e){const t=this.getBox(e);if(t)return void this.focusBox(t)}}};this._sideEffect.addEventListener(window,"mousedown",B,!0),this._sideEffect.addEventListener(window,"touchstart",B,!0),this.maxTitleBar=new mt({darkMode:this.darkMode,readonly:m.value,namespace:this.namespace,state:x.value,boxes:this.boxes$.value,containerRect:g.value,onEvent:e=>{switch(e.type){case exports.TELE_BOX_DELEGATE_EVENT.Maximize:v.setValue(!v.value);break;case exports.TELE_BOX_DELEGATE_EVENT.Minimize:p.setValue(!0);break;case exports.TELE_BOX_EVENT.Close:this.removeTopBox()}}}),m.subscribe((e=>this.maxTitleBar.setReadonly(e))),this._darkMode$.subscribe((e=>{this.maxTitleBar.setDarkMode(e)})),this.boxes$.reaction((e=>{this.maxTitleBar.setBoxes(e)}));Ye(this,{prefersColorScheme:f,containerRect:g,collector:b,readonly:m,fence:_,minimized:p,maximized:v}),this._state$=x,this.root.appendChild(this.maxTitleBar.render())}get boxes(){return this.boxes$.value}get topBox(){return this.topBox$.value}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case exports.TELE_BOX_STATE.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case exports.TELE_BOX_STATE.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}create(e={},t=!0){const s=new ct(l(a({zIndex:this.topBox?this.topBox.zIndex+1:100},t?this.smartPosition(e):e),{darkMode:this.darkMode,prefersColorScheme:this.prefersColorScheme,maximized:this.maximized,minimized:this.minimized,fence:this.fence,namespace:this.namespace,containerRect:this.containerRect,readonly:this.readonly}));return s.mount(this.root),s.focus&&this.focusBox(s),this.boxes$.setValue([...this.boxes,s]),s._delegateEvents.on(exports.TELE_BOX_DELEGATE_EVENT.Maximize,(()=>{this.setMaximized(!this.maximized)})),s._delegateEvents.on(exports.TELE_BOX_DELEGATE_EVENT.Minimize,(()=>{this.setMinimized(!0)})),s._delegateEvents.on(exports.TELE_BOX_DELEGATE_EVENT.Close,(()=>{this.remove(s)})),s.events.on(exports.TELE_BOX_EVENT.Move,(()=>{this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Move,s)})),s.events.on(exports.TELE_BOX_EVENT.Resize,(()=>{this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Resize,s)})),s.events.on(exports.TELE_BOX_EVENT.IntrinsicMove,(()=>{this.events.emit(exports.TELE_BOX_MANAGER_EVENT.IntrinsicMove,s)})),s.events.on(exports.TELE_BOX_EVENT.IntrinsicResize,(()=>{this.events.emit(exports.TELE_BOX_MANAGER_EVENT.IntrinsicResize,s)})),s.events.on(exports.TELE_BOX_EVENT.VisualResize,(()=>{this.events.emit(exports.TELE_BOX_MANAGER_EVENT.VisualResize,s)})),this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Created,s),s}query(e){return e?this.boxes.filter(this.teleBoxMatcher(e)):[...this.boxes]}queryOne(e){return e?this.boxes.find(this.teleBoxMatcher(e)):this.boxes[0]}update(e,t,s=!1){const i=this.boxes.find((t=>t.id===e));if(i)return this.updateBox(i,t,s)}updateAll(e,t=!1){this.boxes.forEach((s=>{this.updateBox(s,e,t)}))}remove(e,t=!1){const s=this.getBoxIndex(e);if(s>=0){const e=this.boxes.slice(),i=e.splice(s,1)[0];return this.boxes$.setValue(e),this.focusTopBox(),i.destroy(),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Removed,e)),i}}removeTopBox(){if(this.topBox)return this.remove(this.topBox)}removeAll(e=!1){const t=this.boxes$.value;return this.boxes$.setValue([]),t.forEach((e=>e.destroy())),e||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Removed,t)),t}destroy(e=!1){this.events.removeAllListeners(),this._sideEffect.flushAll(),this.removeAll(e),Object.keys(this).forEach((e=>{const t=this[e];t instanceof Fe&&t.destroy()}))}wrapClassName(e){return`${this.namespace}-${e}`}focusBox(e,t=!1){const s=this.getBox(e);s&&(this.boxes.forEach((e=>{if(s===e){let e=!1;s.focus||(e=!0,s.setFocus(!0,t)),this.makeBoxTop(s,t),e&&!t&&this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Focused,s)}else e.focus&&this.blurBox(e,t)})),this.maxTitleBar.focusBox(s))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(e,t=!1){const s=this.getBox(e);s&&(s.focus&&(s.setFocus(!1,t),t||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Blurred,s)),this.maxTitleBar.focusedBox===s&&this.maxTitleBar.focusBox())}blurAll(e=!1){this.boxes.forEach((t=>{t.focus&&(t.setFocus(!1,e),e||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Blurred,t))})),this.maxTitleBar.focusedBox&&this.maxTitleBar.focusBox()}teleBoxMatcher(e){const t=Object.keys(e);return s=>t.every((t=>e[t]===s[t]))}updateBox(e,t,s=!1){null==t.x&&null==t.y||e.move(null==t.x?e.intrinsicX:t.x,null==t.y?e.intrinsicY:t.y,s),null==t.width&&null==t.height||e.resize(null==t.width?e.intrinsicWidth:t.width,null==t.height?e.intrinsicHeight:t.height,s),null!=t.title&&(e.setTitle(t.title),this.maxTitleBar.updateTitles()),null!=t.visible&&e.setVisible(t.visible,s),null!=t.minHeight&&e.setMinHeight(t.minHeight,s),null!=t.minWidth&&e.setMinWidth(t.minWidth,s),null!=t.resizable&&e.setResizable(t.resizable),null!=t.draggable&&e.setDraggable(t.draggable),null!=t.fixRatio&&e.setFixRatio(t.fixRatio,s),null!=t.content&&e.mountContent(t.content),null!=t.footer&&e.mountFooter(t.footer)}smartPosition(e={}){let{x:t,y:s}=e;const{width:i=.5,height:r=.5}=e;if(null==t){let e=20;this.topBox&&(e=this.topBox.intrinsicX*this.containerRect.width+20,e>this.containerRect.width-i*this.containerRect.width&&(e=20)),t=e/this.containerRect.width}if(null==s){let e=20;this.topBox&&(e=this.topBox.intrinsicY*this.containerRect.height+20,e>this.containerRect.height-r*this.containerRect.height&&(e=20)),s=e/this.containerRect.height}return l(a({},e),{x:t,y:s,width:i,height:r})}makeBoxTop(e,t=!1){this.topBox&&e!==this.topBox&&(e.setZIndex(this.topBox.zIndex+1,t),this.topBox$.setValue(e),t||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.ZIndex,e))}getBoxIndex(e){return"string"==typeof e?this.boxes.findIndex((t=>t.id===e)):this.boxes.findIndex((t=>t===e))}getBox(e){return"string"==typeof e?this.boxes.find((t=>t.id===e)):e}},exports.TeleBoxReact=e=>{const[t]=h.useState((()=>new ct(e)));return ut((()=>{null!=e.prefersColorScheme&&t.setPrefersColorScheme(e.prefersColorScheme)}),[t,e.prefersColorScheme]),ut((()=>{null!=e.minWidth&&t.setMinWidth(e.minWidth)}),[t,e.minWidth]),ut((()=>{null!=e.minHeight&&t.setMinHeight(e.minHeight)}),[t,e.minHeight]),ut((()=>{var s,i;t.resize(null!=(s=e.width)?s:t.width,null!=(i=e.height)?i:t.height,!0)}),[t,e.width,e.height]),ut((()=>{var s,i;t.move(null!=(s=e.x)?s:t.x,null!=(i=e.y)?i:t.y,!0)}),[t,e.x,e.y]),ut((()=>{null!=e.title&&t.setTitle(e.title)}),[t,e.title]),ut((()=>{null!=e.visible&&t.setVisible(e.visible)}),[t,e.visible]),ut((()=>{null!=e.minimized&&t.setMinimized(e.minimized,!0)}),[t,e.minimized]),ut((()=>{null!=e.maximized&&t.setMaximized(e.maximized,!0)}),[t,e.maximized]),ut((()=>{null!=e.state&&t.setState(e.state,!0)}),[t,e.state]),ut((()=>{null!=e.draggable&&t.setDraggable(e.draggable)}),[t,e.draggable]),ut((()=>{null!=e.resizable&&t.setResizable(e.resizable)}),[t,e.resizable]),ut((()=>{null!=e.fence&&t.setFence(e.fence)}),[t,e.fence]),ut((()=>{null!=e.containerRect&&t.setContainerRect(e.containerRect)}),[t,e.containerRect]),ut((()=>{null!=e.fixRatio&&t.setFixRatio(e.fixRatio)}),[t,e.fixRatio]),h.useEffect((()=>{if(e.onResize)return t.events.on(exports.TELE_BOX_EVENT.Resize,e.onResize),()=>{t.events.off(exports.TELE_BOX_EVENT.Resize,e.onResize)}}),[t,e.onResize]),h.useEffect((()=>{if(e.onMove)return t.events.on(exports.TELE_BOX_EVENT.Move,e.onMove),()=>{t.events.off(exports.TELE_BOX_EVENT.Move,e.onMove)}}),[t,e.onMove]),h.useEffect((()=>{if(e.onClose)return t.events.on(exports.TELE_BOX_EVENT.Close,e.onClose),()=>{t.events.off(exports.TELE_BOX_EVENT.Close,e.onClose)}}),[t,e.onClose]),h.useEffect((()=>{if(e.onFocus)return t.events.on(exports.TELE_BOX_EVENT.Focus,e.onFocus),()=>{t.events.off(exports.TELE_BOX_EVENT.Focus,e.onFocus)}}),[t,e.onFocus]),h.useEffect((()=>{if(e.onBlur)return t.events.on(exports.TELE_BOX_EVENT.Blur,e.onBlur),()=>{t.events.off(exports.TELE_BOX_EVENT.Blur,e.onBlur)}}),[t,e.onBlur]),h.useEffect((()=>{if(e.onStateChanged)return t.events.on(exports.TELE_BOX_EVENT.State,e.onStateChanged),()=>{t.events.off(exports.TELE_BOX_EVENT.State,e.onStateChanged)}}),[t,e.onStateChanged]),d.default.createElement("div",{ref:e=>e&&t.render(e),className:t.wrapClassName("box")})};
15
+ ***************************************************************************** */function m(e,t){var s={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(s[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(s[i[r]]=e[i[r]])}return s}var p=0,v="undefined"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),s=Math.max(0,16.7-(t-p));p=t+s,setTimeout((function(){return e(p)}),s)},x=1/60*1e3,_=!0,g=!1,b=!1,T={delta:0,timestamp:0},B=["read","update","preRender","render","postRender"],y=function(e){return g=e},w=B.reduce((function(e,t){var s,i,r,n,o,a,l,h,c;return e[t]=(s=y,i=[],r=[],n=0,o=!1,a=0,l=new WeakSet,h=new WeakSet,c={cancel:function(e){var t=r.indexOf(e);l.add(e),-1!==t&&r.splice(t,1)},process:function(e){var t,d;if(o=!0,i=(t=[r,i])[0],(r=t[1]).length=0,n=i.length)for(a=0;a<n;a++)(d=i[a])(e),!0!==h.has(d)||l.has(d)||(c.schedule(d),s(!0));o=!1},schedule:function(e,t,s){void 0===t&&(t=!1),void 0===s&&(s=!1);var a=s&&o,c=a?i:r;l.delete(e),t&&h.add(e),-1===c.indexOf(e)&&(c.push(e),a&&(n=i.length))}}),e}),{}),L=B.reduce((function(e,t){var s=w[t];return e[t]=function(e,t,i){return void 0===t&&(t=!1),void 0===i&&(i=!1),g||$(),s.schedule(e,t,i),e},e}),{}),N=function(e){return w[e].process(T)},C=function(e){g=!1,T.delta=_?x:Math.max(Math.min(e-T.timestamp,40),1),_||(x=T.delta),T.timestamp=e,b=!0,B.forEach(N),b=!1,g&&(_=!1,v(C))},$=function(){g=!0,_=!0,b||v(C)},O=function(){return(O=Object.assign||function(e){for(var t,s=1,i=arguments.length;s<i;s++)for(var r in t=arguments[s])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},z=function(e,t){return function(s){return Math.max(Math.min(s,t),e)}},M=function(e){return e%1?Number(e.toFixed(5)):e},S=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i,R={test:function(e){return"number"==typeof e},parse:parseFloat,transform:function(e){return e}},A=O(O({},R),{transform:z(0,1)}),X=O(O({},R),{default:1}),k=function(e){return{test:function(t){return"string"==typeof t&&t.endsWith(e)&&1===t.split(" ").length},parse:parseFloat,transform:function(t){return""+t+e}}},V=k("deg"),I=k("%"),D=k("px"),H=O(O({},I),{parse:function(e){return I.parse(e)/100},transform:function(e){return I.transform(100*e)}}),W=z(0,255),j=function(e){return void 0!==e.red},G=function(e){return void 0!==e.hue};var P=function(e){return function(t){if("string"!=typeof t)return t;for(var s={},i=function(e){return e.substring(e.indexOf("(")+1,e.lastIndexOf(")"))}(t).replace(/(,|\/)/g," ").split(/ \s*/),r=0;r<4;r++)s[e[r]]=void 0!==i[r]?parseFloat(i[r]):1;return s}},Z=O(O({},R),{transform:function(e){return Math.round(W(e))}});function F(e,t){return e.startsWith(t)&&S.test(e)}var Y,q={test:function(e){return"string"==typeof e?F(e,"rgb"):j(e)},parse:P(["red","green","blue","alpha"]),transform:function(e){var t=e.red,s=e.green,i=e.blue,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.red,s=e.green,i=e.blue,r=e.alpha;return"rgba("+t+", "+s+", "+i+", "+(void 0===r?1:r)+")"}({red:Z.transform(t),green:Z.transform(s),blue:Z.transform(i),alpha:M(A.transform(n))})}},U={test:function(e){return"string"==typeof e?F(e,"hsl"):G(e)},parse:P(["hue","saturation","lightness","alpha"]),transform:function(e){var t=e.hue,s=e.saturation,i=e.lightness,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.hue,s=e.saturation,i=e.lightness,r=e.alpha;return"hsla("+t+", "+s+", "+i+", "+(void 0===r?1:r)+")"}({hue:Math.round(t),saturation:I.transform(M(s)),lightness:I.transform(M(i)),alpha:M(A.transform(n))})}},J=O(O({},q),{test:function(e){return"string"==typeof e&&F(e,"#")},parse:function(e){var t="",s="",i="";return e.length>4?(t=e.substr(1,2),s=e.substr(3,2),i=e.substr(5,2)):(t=e.substr(1,1),s=e.substr(2,1),i=e.substr(3,1),t+=t,s+=s,i+=i),{red:parseInt(t,16),green:parseInt(s,16),blue:parseInt(i,16),alpha:1}}}),Q={test:function(e){return"string"==typeof e&&S.test(e)||j(e)||G(e)},parse:function(e){return q.test(e)?q.parse(e):U.test(e)?U.parse(e):J.test(e)?J.parse(e):e},transform:function(e){return j(e)?q.transform(e):G(e)?U.transform(e):e}},K=function(e){var t=e.onRead,s=e.onRender,i=e.uncachedValues,r=void 0===i?new Set:i,n=e.useCache,o=void 0===n||n;return function(e){void 0===e&&(e={});var i=m(e,[]),n={},a=[],l=!1;function h(e,t){e.startsWith("--")&&(i.hasCSSVariable=!0);var s=n[e];n[e]=t,n[e]!==s&&(-1===a.indexOf(e)&&a.push(e),l||(l=!0,L.render(c.render)))}var c={get:function(e,s){return void 0===s&&(s=!1),!s&&o&&!r.has(e)&&void 0!==n[e]?n[e]:t(e,i)},set:function(e,t){if("string"==typeof e)h(e,t);else for(var s in e)h(s,e[s]);return this},render:function(e){return void 0===e&&(e=!1),(l||!0===e)&&(s(n,i,a),l=!1,a.length=0),this}};return c}},ee=/([a-z])([A-Z])/g,te=function(e){return e.replace(ee,"$1-$2").toLowerCase()},se=new Map,ie=new Map,re=["Webkit","Moz","O","ms",""],ne=re.length,oe="undefined"!=typeof document,ae=function(e,t){return ie.set(e,te(t))},le=function(e,t){void 0===t&&(t=!1);var s=t?ie:se;return s.has(e)||(oe?function(e){Y=Y||document.createElement("div");for(var t=0;t<ne;t++){var s=re[t],i=""===s,r=i?e:s+e.charAt(0).toUpperCase()+e.slice(1);if(r in Y.style||i){if(i&&"clipPath"===e&&ie.has(e))return;se.set(e,r),ae(e,(i?"":"-")+te(r))}}}(e):function(e){ae(e,e)}(e)),s.get(e)||e},he=["","X","Y","Z"],ce=["translate","scale","rotate","skew","transformPerspective"].reduce((function(e,t){return he.reduce((function(e,s){return e.push(t+s),e}),e)}),["x","y","z"]),de=ce.reduce((function(e,t){return e[t]=!0,e}),{});function ue(e){return!0===de[e]}function Ee(e,t){return ce.indexOf(e)-ce.indexOf(t)}var fe=new Set(["originX","originY","originZ"]);function me(e){return fe.has(e)}var pe=f(f({},R),{transform:Math.round}),ve={color:Q,backgroundColor:Q,outlineColor:Q,fill:Q,stroke:Q,borderColor:Q,borderTopColor:Q,borderRightColor:Q,borderBottomColor:Q,borderLeftColor:Q,borderWidth:D,borderTopWidth:D,borderRightWidth:D,borderBottomWidth:D,borderLeftWidth:D,borderRadius:D,radius:D,borderTopLeftRadius:D,borderTopRightRadius:D,borderBottomRightRadius:D,borderBottomLeftRadius:D,width:D,maxWidth:D,height:D,maxHeight:D,size:D,top:D,right:D,bottom:D,left:D,padding:D,paddingTop:D,paddingRight:D,paddingBottom:D,paddingLeft:D,margin:D,marginTop:D,marginRight:D,marginBottom:D,marginLeft:D,rotate:V,rotateX:V,rotateY:V,rotateZ:V,scale:X,scaleX:X,scaleY:X,scaleZ:X,skew:V,skewX:V,skewY:V,distance:D,translateX:D,translateY:D,translateZ:D,x:D,y:D,z:D,perspective:D,opacity:A,originX:H,originY:H,originZ:D,zIndex:pe,fillOpacity:A,strokeOpacity:A,numOctaves:pe},xe=function(e){return ve[e]},_e=function(e,t){return t&&"number"==typeof e?t.transform(e):e},ge=new Set(["scrollLeft","scrollTop"]),be=new Set(["scrollLeft","scrollTop","transform"]),Te={x:"translateX",y:"translateY",z:"translateZ"};function Be(e){return"function"==typeof e}function ye(e,t,s,i,r,n,o,a){void 0===t&&(t=!0),void 0===s&&(s={}),void 0===i&&(i={}),void 0===r&&(r={}),void 0===n&&(n=[]),void 0===o&&(o=!1),void 0===a&&(a=!0);var l=!0,h=!1,c=!1;for(var d in e){var u=e[d],E=xe(d),f=_e(u,E);ue(d)?(h=!0,i[d]=f,n.push(d),l&&(E.default&&u!==E.default||!E.default&&0!==u)&&(l=!1)):me(d)?(r[d]=f,c=!0):be.has(d)&&Be(f)||(s[le(d,o)]=f)}return(h||"function"==typeof e.transform)&&(s.transform=function(e,t,s,i,r,n){void 0===n&&(n=!0);var o="",a=!1;s.sort(Ee);for(var l=s.length,h=0;h<l;h++){var c=s[h];o+=(Te[c]||c)+"("+t[c]+") ",a="z"===c||a}return!a&&r?o+="translateZ(0)":o=o.trim(),Be(e.transform)?o=e.transform(t,i?"":o):n&&i&&(o="none"),o}(e,i,n,l,t,a)),c&&(s.transformOrigin=(r.originX||"50%")+" "+(r.originY||"50%")+" "+(r.originZ||0)),s}function we(e){var t=void 0===e?{}:e,s=t.enableHardwareAcceleration,i=void 0===s||s,r=t.isDashCase,n=void 0===r||r,o=t.allowTransformNone,a=void 0===o||o,l={},h={},c={},d=[];return function(e){return d.length=0,ye(e,i,l,h,c,d,n,a),l}}var Le=K({onRead:function(e,t){var s=t.element,i=t.preparseOutput,r=xe(e);if(ue(e))return r&&r.default||0;if(ge.has(e))return s[e];var n=window.getComputedStyle(s,null).getPropertyValue(le(e,!0))||0;return i&&r&&r.test(n)&&r.parse?r.parse(n):n},onRender:function(e,t,s){var i=t.element,r=t.buildStyles,n=t.hasCSSVariable;if(Object.assign(i.style,r(e)),n)for(var o=s.length,a=0;a<o;a++){var l=s[a];l.startsWith("--")&&i.style.setProperty(l,e[l])}-1!==s.indexOf("scrollLeft")&&(i.scrollLeft=e.scrollLeft),-1!==s.indexOf("scrollTop")&&(i.scrollTop=e.scrollTop)},uncachedValues:ge});var Ne=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues"]),Ce=function(e,t){return D.transform(e*t)},$e={x:0,y:0,width:0,height:0};function Oe(e,t,s){return"string"==typeof e?e:D.transform(t+s*e)}var ze={enableHardwareAcceleration:!1,isDashCase:!1};function Me(e,t,s,i,r,n){void 0===t&&(t=$e),void 0===i&&(i=we(ze)),void 0===r&&(r={style:{}}),void 0===n&&(n=!0);var o=e.attrX,a=e.attrY,l=e.originX,h=e.originY,c=e.pathLength,d=e.pathSpacing,u=void 0===d?1:d,E=e.pathOffset,f=void 0===E?0:E,p=i(m(e,["attrX","attrY","originX","originY","pathLength","pathSpacing","pathOffset"]));for(var v in p){if("transform"===v)r.style.transform=p[v];else r[n&&!Ne.has(v)?te(v):v]=p[v]}return(void 0!==l||void 0!==h||p.transform)&&(r.style.transformOrigin=function(e,t,s){return Oe(t,e.x,e.width)+" "+Oe(s,e.y,e.height)}(t,void 0!==l?l:.5,void 0!==h?h:.5)),void 0!==o&&(r.x=o),void 0!==a&&(r.y=a),void 0!==s&&void 0!==c&&(r[n?"stroke-dashoffset":"strokeDashoffset"]=Ce(-f,s),r[n?"stroke-dasharray":"strokeDasharray"]=Ce(c,s)+" "+Ce(u,s)),r}function Se(e,t,s){void 0===s&&(s=!0);var i={style:{}},r=we(ze);return function(n){return Me(n,e,t,r,i,s)}}var Re=K({onRead:function(e,t){var s=t.element;if(ue(e=Ne.has(e)?e:te(e))){var i=xe(e);return i&&i.default||0}return s.getAttribute(e)},onRender:function(e,t){var s=t.element,i=(0,t.buildAttrs)(e);for(var r in i)"style"===r?Object.assign(s.style,i.style):s.setAttribute(r,i[r])}}),Ae=K({useCache:!1,onRead:function(e){return"scrollTop"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,s=void 0===t?0:t,i=e.scrollLeft,r=void 0===i?0:i;return window.scrollTo(r,s)}}),Xe=new WeakMap,ke=function(e,t){var s,i,r,n;return e===window?s=Ae(e):!function(e){return e instanceof HTMLElement||"function"==typeof e.click}(e)?function(e){return e instanceof SVGElement||"ownerSVGElement"in e}(e)&&(r=function(e){try{return function(e){return"function"==typeof e.getBBox?e.getBBox():e.getBoundingClientRect()}(e)}catch(t){return{x:0,y:0,width:0,height:0}}}(i=e),n=function(e){return"path"===e.tagName}(i)&&i.getTotalLength?i.getTotalLength():void 0,s=Re({element:i,buildAttrs:Se(r,n)})):s=function(e,t){void 0===t&&(t={});var s=t.enableHardwareAcceleration,i=t.allowTransformNone,r=m(t,["enableHardwareAcceleration","allowTransformNone"]);return Le(f({element:e,buildStyles:we({enableHardwareAcceleration:s,allowTransformNone:i}),preparseOutput:!0},r))}(e,t),Xe.set(e,s),s};function Ve(e,t){return function(e,t){return Xe.has(e)?Xe.get(e):ke(e,t)}("string"==typeof e?document.querySelector(e):e,t)}var Ie=function(e,t,s,i){var r=s?s.call(i,e,t):void 0;if(void 0!==r)return!!r;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),l=0;l<n.length;l++){var h=n[l];if(!a(h))return!1;var c=e[h],d=t[h];if(!1===(r=s?s.call(i,c,d,h):void 0)||void 0===r&&c!==d)return!1}return!0};const De="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",He=De.length,We=Array(20),je=()=>{for(let e=0;e<20;e++)We[e]=De.charAt(Math.random()*He);return We.join("")};class Ge{constructor(){this.disposers=new Map}add(e,t=je()){return this.flush(t),this.disposers.set(t,e()),t}addDisposer(e,t=je()){return this.flush(t),this.disposers.set(t,e),t}addEventListener(e,t,s,i,r=je()){return this.add((()=>(e.addEventListener(t,s,i),()=>e.removeEventListener(t,s,i))),r),r}setTimeout(e,t,s=je()){return this.add((()=>{const i=window.setTimeout((()=>{this.remove(s),e()}),t);return()=>window.clearTimeout(i)}),s)}setInterval(e,t,s=je()){return this.add((()=>{const s=window.setInterval(e,t);return()=>window.clearInterval(s)}),s)}remove(e){const t=this.disposers.get(e);return this.disposers.delete(e),t}flush(e){const t=this.remove(e);if(t)try{t()}catch(s){console.error(s)}}flushAll(){this.disposers.forEach((e=>{try{e()}catch(t){console.error(t)}})),this.disposers.clear()}}var Pe=Object.defineProperty,Ze=("undefined"!=typeof require&&require,(e,t,s)=>{return n=s,(r="symbol"!=typeof t?t+"":t)in(i=e)?Pe(i,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[r]=n,s;var i,r,n});class Fe{constructor(e,t){Ze(this,"_value"),Ze(this,"_beforeDestroys"),Ze(this,"_subscribers"),this._value=e,t&&(this.compare=t)}get value(){return this._value}setValue(e,t){if(!this.compare(e,this._value)){const s=this._value;this._value=e,this._subscribers&&this._subscribers.forEach((i=>i(e,s,t)))}}reaction(e){return this._subscribers||(this._subscribers=new Set),this._subscribers.add(e),()=>{this._subscribers&&this._subscribers.delete(e)}}subscribe(e,t){const s=this.reaction(e);return e(this._value,void 0,t),s}derive(e,t,s){const i=new Fe(e(this.value,void 0,s),t),r=this.reaction(((t,s,r)=>{i.setValue(e(t,s,r))}));return i.addBeforeDestroy(r),i}destroy(){this._beforeDestroys&&(this._beforeDestroys.forEach((e=>e())),this._beforeDestroys.clear()),this._subscribers&&this._subscribers.clear()}addBeforeDestroy(e){return this._beforeDestroys||(this._beforeDestroys=new Set),this._beforeDestroys.add(e),()=>{this._beforeDestroys&&this._beforeDestroys.delete(e)}}compare(e,t){return e===t}}function Ye(e,t){Object.keys(t).forEach((s=>{!function(e,t,s){var i;Object.defineProperties(e,{[t]:{get:()=>s.value},[`_${t}$`]:{value:s},[`set${i=t,i[0].toUpperCase()+i.slice(1)}`]:{value:(e,t)=>s.setValue(e,t)}})}(e,s,t[s])}))}function qe(e){const t=t=>{const s=e.addDisposer((()=>{t.destroy()}));return t.addBeforeDestroy((()=>{e.remove(s)})),t};return{bindSideEffect:t,combine:(e,s,i,r)=>t(function(e,t,s,i){let r=e.map((e=>e.value));const n=new Fe(t(r,void 0,i),s);return e.forEach(((e,s)=>{const i=e.reaction(((e,i,o)=>{const a=r.slice();a[s]=e;const l=r;r=a,n.setValue(t(a,l,o),o)}));n.addBeforeDestroy(i)})),n}(e,s,i,r)),createVal:(e,s)=>t(new Fe(e,s))}}var Ue,Je,Qe,Ke,et;exports.TELE_BOX_COLOR_SCHEME=void 0,(Ue=exports.TELE_BOX_COLOR_SCHEME||(exports.TELE_BOX_COLOR_SCHEME={})).Light="light",Ue.Dark="dark",Ue.Auto="auto",exports.TELE_BOX_STATE=void 0,(Je=exports.TELE_BOX_STATE||(exports.TELE_BOX_STATE={})).Normal="normal",Je.Minimized="minimized",Je.Maximized="maximized",exports.TELE_BOX_EVENT=void 0,(Qe=exports.TELE_BOX_EVENT||(exports.TELE_BOX_EVENT={})).DarkMode="dark_mode",Qe.PrefersColorScheme="prefers_color_scheme",Qe.Close="close",Qe.Focus="focus",Qe.Blur="blur",Qe.Move="move",Qe.Resize="resize",Qe.IntrinsicMove="intrinsic_move",Qe.IntrinsicResize="intrinsic_resize",Qe.VisualResize="visual_resize",Qe.ZIndex="z_index",Qe.State="state",Qe.Minimized="minimized",Qe.Maximized="maximized",Qe.Readonly="readonly",Qe.Destroyed="destroyed",exports.TELE_BOX_DELEGATE_EVENT=void 0,(Ke=exports.TELE_BOX_DELEGATE_EVENT||(exports.TELE_BOX_DELEGATE_EVENT={})).Close="close",Ke.Maximize="maximize",Ke.Minimize="minimize",exports.TELE_BOX_RESIZE_HANDLE=void 0,(et=exports.TELE_BOX_RESIZE_HANDLE||(exports.TELE_BOX_RESIZE_HANDLE={})).North="n",et.South="s",et.West="w",et.East="e",et.NorthWest="nw",et.NorthEast="ne",et.SouthEast="se",et.SouthWest="sw";function tt(e,t,s){return Math.min(Math.max(e,t),s)}function st(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function it(e){return e.touches?e.touches[0]:e}function rt(){return Date.now().toString().slice(6)+Math.random().toString().slice(2,8)}let nt=1;function ot(){return"New Box "+nt++}function at(e){return Boolean(e)}function lt(e){return!e}class ht{constructor({readonly:e=!1,title:t,buttons:s,onEvent:i,onDragStart:r,namespace:n="telebox",state:o=exports.TELE_BOX_STATE.Normal}={}){this.$btns=[],this.sideEffect=new Ge,this.lastTitleBarClick=0,this.handleTitleBarClick=e=>{var t;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;st(e);const s=Date.now();s-this.lastTitleBarClick<=500?this.onEvent&&this.onEvent({type:exports.TELE_BOX_DELEGATE_EVENT.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarClick=s},this.readonly=e,this.onEvent=i,this.onDragStart=r,this.namespace=n,this.title=t,this.state=o,this.buttons=s||[{type:exports.TELE_BOX_DELEGATE_EVENT.Minimize,iconClassName:this.wrapClassName("titlebar-icon-minimize")},{type:exports.TELE_BOX_DELEGATE_EVENT.Maximize,iconClassName:this.wrapClassName("titlebar-icon-maximize"),isActive:e=>e===exports.TELE_BOX_STATE.Maximized},{type:exports.TELE_BOX_DELEGATE_EVENT.Close,iconClassName:this.wrapClassName("titlebar-icon-close")}]}setTitle(e){this.title=e,this.$title&&(this.$title.textContent=e,this.$title.title=e)}setState(e){this.state!==e&&(this.state=e,this.buttons.forEach(((t,s)=>{t.isActive&&this.$btns[s].classList.toggle("is-active",t.isActive(e))})))}setReadonly(e){this.readonly!==e&&(this.readonly=e)}render(){if(!this.$titleBar){this.$titleBar=document.createElement("div"),this.$titleBar.className=this.wrapClassName("titlebar"),this.$titleBar.dataset.teleBoxHandle="dh",this.sideEffect.addEventListener(this.$titleBar,"mousedown",this.handleTitleBarClick),this.sideEffect.addEventListener(this.$titleBar,"touchstart",this.handleTitleBarClick,{passive:!0}),this.$title=document.createElement("h1"),this.$title.className=this.wrapClassName("title"),this.$title.dataset.teleBoxHandle="dh",this.title&&(this.$title.textContent=this.title,this.$title.title=this.title);const e=document.createElement("div");e.className=this.wrapClassName("titlebar-btns"),this.buttons.forEach((({iconClassName:t,isActive:s},i)=>{const r=String(i),n=document.createElement("button");n.className=`${this.wrapClassName("titlebar-btn")} ${t}`,n.dataset.teleTitleBarBtnIndex=r,n.dataset.teleTitleBarNoDblClick="true",s&&n.classList.toggle("is-active",s(this.state)),this.$btns.push(n),e.appendChild(n)})),this.sideEffect.addEventListener(e,"click",(e=>{var t;if(this.readonly)return;const s=e.target,i=Number(null==(t=s.dataset)?void 0:t.teleTitleBarBtnIndex);if(!Number.isNaN(i)&&i<this.buttons.length){st(e);const t=this.buttons[i];this.onEvent&&this.onEvent({type:t.type,value:t.value})}})),this.$titleBar.appendChild(this.$title),this.$titleBar.appendChild(e)}return this.$titleBar}dragHandle(){return this.$titleBar}wrapClassName(e){return`${this.namespace}-${e}`}destroy(){this.sideEffect.flushAll(),this.$titleBar&&(this.$titleBar=void 0,this.$title=void 0,this.$btns.length=0,this.onDragStart=void 0,this.onEvent=void 0)}}class ct{constructor({id:e=rt(),title:t=ot(),prefersColorScheme:s=exports.TELE_BOX_COLOR_SCHEME.Light,darkMode:i,visible:r=!0,width:n=.5,height:o=.5,minWidth:a=0,minHeight:l=0,x:h=.1,y:c=.1,minimized:d=!1,maximized:u=!1,readonly:f=!1,resizable:m=!0,draggable:p=!0,fence:v=!0,fixRatio:x=!1,focus:_=!1,zIndex:g=100,namespace:b="telebox",titleBar:T,content:B,footer:y,styles:w,containerRect:L={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collectorRect:N}={}){this._renderSideEffect=new Ge,this.handleTrackStart=e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},this._sideEffect=new Ge,this._valSideEffectBinder=qe(this._sideEffect);const{combine:C,createVal:$}=this._valSideEffectBinder;this.id=e,this.namespace=b,this.events=new E,this._delegateEvents=new E;const O=$(s);O.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.PrefersColorScheme,e)}));const z=$(Boolean(i));null==i&&O.subscribe(((e,t,s)=>{this._sideEffect.add((()=>{if("auto"===e){const e=window.matchMedia("(prefers-color-scheme: dark)");if(e){z.setValue(e.matches,s);const t=e=>{z.setValue(e.matches,s)};return e.addListener(t),()=>e.removeListener(t)}return dt}return z.setValue("dark"===e,s),dt}),"prefers-color-scheme")})),z.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.DarkMode,e)}));const M=$(L,Ie),S=$(N,Ie),R=$(t),A=$(r);A.reaction(((e,t,s)=>{s||e||this.events.emit(exports.TELE_BOX_EVENT.Close)}));const X=$(f);X.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.Readonly,e)}));const k=$(m),V=$(p),I=$(v),D=$(x),H=$(g);H.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.ZIndex,e)}));const W=$(_);W.reaction(((e,t,s)=>{s||this.events.emit(e?exports.TELE_BOX_EVENT.Focus:exports.TELE_BOX_EVENT.Blur)}));const j=$(d);j.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.Minimized,e)}));const G=$(u);G.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.Maximized,e)}));const P=C([j,G],(([e,t])=>e?exports.TELE_BOX_STATE.Minimized:t?exports.TELE_BOX_STATE.Maximized:exports.TELE_BOX_STATE.Normal));P.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.State,e)}));const Z=$({width:tt(a,0,1),height:tt(l,0,1)},Ie),F=$({width:tt(n,Z.value.width,1),height:tt(o,Z.value.height,1)},Ie);Z.reaction(((e,t,s)=>{F.setValue({width:tt(n,e.width,1),height:tt(o,e.height,1)},s)})),F.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.IntrinsicResize,e)}));const Y=C([F,G],(([e,t])=>t?{width:1,height:1}:e),Ie);Y.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.Resize,e)}));const q=C([Y,j,M,S],(([e,t,s,i])=>t&&i?{width:i.width/e.width/s.width,height:i.height/e.height/s.height}:e),Ie);q.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.VisualResize,e)}));const U=$({x:tt(h,0,1),y:tt(c,0,1)},Ie);U.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.IntrinsicMove,e)}));const J=C([U,F,M,S,j,G],(([e,t,s,i,r,n])=>r&&i?n?{x:(i.x+i.width/2)/s.width-.5,y:(i.y+i.height/2)/s.height-.5}:{x:(i.x+i.width/2)/s.width-t.width/2,y:(i.y+i.height/2)/s.height-t.height/2}:n?{x:0,y:0}:e),Ie);J.reaction(((e,t,s)=>{s||this.events.emit(exports.TELE_BOX_EVENT.Move,e)})),this.titleBar=T||new ht({readonly:X.value,title:R.value,namespace:this.namespace,onDragStart:e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},onEvent:e=>{if(this._delegateEvents.listeners.length>0)this._delegateEvents.emit(e.type);else switch(e.type){case exports.TELE_BOX_DELEGATE_EVENT.Maximize:G.setValue(!G.value);break;case exports.TELE_BOX_DELEGATE_EVENT.Minimize:j.setValue(!0);break;case exports.TELE_BOX_DELEGATE_EVENT.Close:A.setValue(!1);break;default:console.error("Unsupported titleBar event:",e)}}}),X.reaction((e=>{this.titleBar.setReadonly(e)}));const Q=$(B),K=$(y),ee=$(w);Ye(this,{prefersColorScheme:O,darkMode:z,containerRect:M,collectorRect:S,title:R,visible:A,readonly:X,resizable:k,draggable:V,fence:I,fixRatio:D,focus:W,zIndex:H,minimized:j,maximized:G,$userContent:Q,$userFooter:K,$userStyles:ee}),this._state$=P,this._minSize$=Z,this._size$=Y,this._intrinsicSize$=F,this._visualSize$=q,this._coord$=J,this._intrinsicCoord$=U,this.fixRatio&&this.transform(J.value.x,J.value.y,Y.value.width,Y.value.height,!0),this.$box=this.render()}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case exports.TELE_BOX_STATE.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case exports.TELE_BOX_STATE.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}get minWidth(){return this._minSize$.value.width}get minHeight(){return this._minSize$.value.height}setMinWidth(e,t=!1){return this._minSize$.setValue({width:e,height:this.minHeight},t),this}setMinHeight(e,t=!1){return this._minSize$.setValue({width:this.minWidth,height:e},t),this}get intrinsicWidth(){return this._intrinsicSize$.value.width}get intrinsicHeight(){return this._intrinsicSize$.value.height}resize(e,t,s=!1){return this._intrinsicSize$.setValue({width:e,height:t},s),this}get width(){return this._size$.value.width}get height(){return this._size$.value.height}get absoluteWidth(){return this.width*this.containerRect.width}get absoluteHeight(){return this.height*this.containerRect.height}get visualWidth(){return this._visualSize$.value.width}get visualHeight(){return this._visualSize$.value.height}get intrinsicX(){return this._intrinsicCoord$.value.x}get intrinsicY(){return this._intrinsicCoord$.value.y}move(e,t,s=!1){return this._intrinsicCoord$.setValue({x:e,y:t},s),this}get x(){return this._coord$.value.x}get y(){return this._coord$.value.y}transform(e,t,s,i,r=!1){if(this.fixRatio){const e=this.intrinsicHeight/this.intrinsicWidth*s;t!==this.intrinsicY&&(t-=e-i),i=e}return t<0&&(t=0,i>this.intrinsicHeight&&(i=this.intrinsicHeight)),this._intrinsicCoord$.setValue({x:s>=this.minWidth?e:this.intrinsicX,y:i>=this.minHeight?t:this.intrinsicY},r),this._intrinsicSize$.setValue({width:tt(s,this.minWidth,1),height:tt(i,this.minHeight,1)},r),this}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$box&&this.$box.remove(),this}mountContent(e){return this.set$userContent(e),this}unmountContent(){return this.set$userContent(void 0),this}mountFooter(e){return this.set$userFooter(e),this}unmountFooter(){return this.set$userFooter(void 0),this}getUserStyles(){return this.$userStyles}mountStyles(e){let t;return"string"==typeof e?(t=document.createElement("style"),t.textContent=e):t=e,this.set$userStyles(t),this}unmountStyles(){return this.set$userStyles(void 0),this}render(e){if(e){if(e===this.$box)return this.$box;this.$box=e}else{if(this.$box)return this.$box;this.$box=document.createElement("div")}this._renderSideEffect.flushAll(),this.$box.classList.add(this.wrapClassName("box"));const t=(e,t,s,i=at)=>this._renderSideEffect.add((()=>{const r=this.wrapClassName(s);return t.subscribe((t=>{e.classList.toggle(r,i(t))}))}));t(this.$box,this._readonly$,"readonly"),t(this.$box,this._draggable$,"no-drag",lt),t(this.$box,this._resizable$,"no-resize",lt),t(this.$box,this._focus$,"blur",lt),t(this.$box,this._darkMode$,"color-scheme-dark"),t(this.$box,this._darkMode$,"color-scheme-light",lt),this._renderSideEffect.add((()=>{const e=this.wrapClassName("minimized"),t=this.wrapClassName("maximized"),s="box-maximized-timer";return this._state$.subscribe((i=>{this.$box.classList.toggle(e,i===exports.TELE_BOX_STATE.Minimized),i===exports.TELE_BOX_STATE.Maximized?(this._renderSideEffect.flush(s),this.$box.classList.toggle(t,!0)):this._renderSideEffect.setTimeout((()=>{this.$box.classList.toggle(t,!1)}),0,s)}))})),this._renderSideEffect.add((()=>this._visible$.subscribe((e=>{this.$box.style.display=e?"block":"none"})))),this._renderSideEffect.add((()=>this._zIndex$.subscribe((e=>{this.$box.style.zIndex=String(e)}))));const s=Ve(this.$box);this.$box.dataset.teleBoxID=this.id,this.$box.style.width=this.absoluteWidth+"px",this.$box.style.height=this.absoluteHeight+"px";const i=this.x*this.containerRect.width+this.containerRect.x,r=this.y*this.containerRect.height+this.containerRect.y;this.$box.style.transform=`translate(${i-10}px,${r-10}px)`,this._valSideEffectBinder.combine([this._coord$,this._size$,this._minimized$,this._containerRect$,this._collectorRect$],(([e,t,s,i,r])=>{const n=t.width*i.width,o=t.height*i.height;return{width:n,height:o,x:e.x*i.width,y:e.y*i.height,scaleX:s&&r?r.width/n:1,scaleY:s&&r?r.height/o:1}}),Ie).subscribe((e=>{s.set(e)})),s.set({x:i,y:r});const n=document.createElement("div");n.className=this.wrapClassName("box-main"),this.$box.appendChild(n);const o=document.createElement("div");o.className=this.wrapClassName("titlebar-wrap"),o.appendChild(this.titleBar.render()),this.$titleBar=o;const a=document.createElement("div");a.className=this.wrapClassName("content-wrap");const l=document.createElement("div");l.className=this.wrapClassName("content")+" tele-fancy-scrollbar",this.$content=l,this._renderSideEffect.add((()=>{let e;return this._$userStyles$.subscribe((t=>{e&&e.remove(),e=t,t&&l.appendChild(t)}))})),this._renderSideEffect.add((()=>{let e;return this._$userContent$.subscribe((t=>{e&&e.remove(),e=t,t&&l.appendChild(t)}))})),a.appendChild(l);const h=document.createElement("div");return h.className=this.wrapClassName("footer-wrap"),this.$footer=h,this._renderSideEffect.add((()=>{let e;return this._$userFooter$.subscribe((t=>{e&&e.remove(),e=t,t&&h.appendChild(t)}))})),n.appendChild(o),n.appendChild(a),n.appendChild(h),this._renderResizeHandlers(),this.$box}_renderResizeHandlers(){const e=document.createElement("div");e.className=this.wrapClassName("resize-handles"),Object.values(exports.TELE_BOX_RESIZE_HANDLE).forEach((t=>{const s=document.createElement("div");s.className=this.wrapClassName(t)+" "+this.wrapClassName("resize-handle"),s.dataset.teleBoxHandle=t,e.appendChild(s)})),this.$box.appendChild(e);const t="handle-tracking-listener",s=this.wrapClassName("transforming");let i,r,n=0,o=0,a=0,l=0,h=0,c=0;const d=e=>{if(this.state!==exports.TELE_BOX_STATE.Normal)return;st(e);let{pageX:t,pageY:s}=it(e);s<0&&(s=0);const i=(t-h)/this.containerRect.width,d=(s-c)/this.containerRect.height;switch(r){case exports.TELE_BOX_RESIZE_HANDLE.North:this.transform(this.x,o+d,this.width,l-d);break;case exports.TELE_BOX_RESIZE_HANDLE.South:this.transform(this.x,this.y,this.width,l+d);break;case exports.TELE_BOX_RESIZE_HANDLE.West:this.transform(n+i,this.y,a-i,this.height);break;case exports.TELE_BOX_RESIZE_HANDLE.East:this.transform(this.x,this.y,a+i,this.height);break;case exports.TELE_BOX_RESIZE_HANDLE.NorthWest:this.transform(n+i,o+d,a-i,l-d);break;case exports.TELE_BOX_RESIZE_HANDLE.NorthEast:this.transform(this.x,o+d,a+i,l-d);break;case exports.TELE_BOX_RESIZE_HANDLE.SouthEast:this.transform(this.x,this.y,a+i,l+d);break;case exports.TELE_BOX_RESIZE_HANDLE.SouthWest:this.transform(n+i,this.y,a-i,l+d);break;default:if(this.fence)this.move(tt(n+i,0,1-this.width),tt(o+d,0,1-this.height));else{const e=20/this.containerRect.width,t=20/this.containerRect.height;this.move(tt(n+i,e-this.width,1-e),tt(o+d,0,1-t))}}},u=e=>{r=void 0,i&&(st(e),this.$box.classList.toggle(s,!1),this._sideEffect.flush(t),i.remove())},E=e=>{var E;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(!this.draggable||r||this.state!==exports.TELE_BOX_STATE.Normal)return;const f=e.target;if(null==(E=f.dataset)?void 0:E.teleBoxHandle){st(e),n=this.x,o=this.y,a=this.width,l=this.height,({pageX:h,pageY:c}=it(e)),r=f.dataset.teleBoxHandle,i||(i=document.createElement("div"));const E=r?this.wrapClassName(`cursor-${r}`):"";i.className=this.wrapClassName("track-mask"+(E?` ${E}`:"")),this.$box.appendChild(i),this.$box.classList.add(s),this._sideEffect.add((()=>(window.addEventListener("mousemove",d),window.addEventListener("touchmove",d,{passive:!1}),window.addEventListener("mouseup",u),window.addEventListener("touchend",u,{passive:!1}),window.addEventListener("touchcancel",u,{passive:!1}),()=>{window.removeEventListener("mousemove",d),window.removeEventListener("touchmove",d),window.removeEventListener("mouseup",u),window.removeEventListener("touchend",u),window.removeEventListener("touchcancel",u)})),t)}};this._handleTrackStart=E,this._sideEffect.addEventListener(e,"mousedown",E,{},"box-resizeHandles-mousedown"),this._sideEffect.addEventListener(e,"touchstart",E,{passive:!1},"box-resizeHandles-touchstart")}destroy(){this.$box.remove(),this.events.emit(exports.TELE_BOX_EVENT.Destroyed),this._sideEffect.flushAll(),this._renderSideEffect.flushAll(),this.events.removeAllListeners(),this._delegateEvents.removeAllListeners()}wrapClassName(e){return`${this.namespace}-${e}`}}function dt(){}const ut=(e,t)=>{const s=h.useRef(!0);h.useEffect((()=>{if(!s.current)return e();s.current=!1}),t)};var Et;class ft{constructor({visible:e=!0,readonly:t=!1,darkMode:s=!1,namespace:i="telebox",styles:r={},onClick:n}={}){this.handleCollectorClick=()=>{!this._readonly&&this.onClick&&this.onClick()},this._visible=e,this._readonly=t,this._darkMode=s,this.namespace=i,this.styles=r,this.onClick=n}get visible(){return this._visible}get readonly(){return this._readonly}get darkMode(){return this._darkMode}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$collector&&this.$collector.remove(),this}setVisible(e){return this._visible!==e&&(this._visible=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName("collector-visible"),e)),this}setReadonly(e){return this._readonly!==e&&(this._readonly=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName("collector-readonly"),e)),this}setDarkMode(e){return this._darkMode!==e&&(this._darkMode=e,this.$collector&&(this.$collector.classList.toggle(this.wrapClassName("color-scheme-dark"),e),this.$collector.classList.toggle(this.wrapClassName("color-scheme-light"),!e))),this}setStyles(e){if(Object.assign(this.styles,e),this.$collector){const t=this.$collector;Object.keys(e).forEach((s=>{const i=e[s];null!=i&&(t.style[s]=i)}))}return this}render(){return this.$collector||(this.$collector=document.createElement("button"),this.$collector.className=this.wrapClassName("collector"),this.$collector.style.backgroundImage="url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxNiI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIHN0cm9rZT0iIzdCODhBMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIGQ9Ik0uNyAxLjJoMTYuNnYxMy42SC43eiIgLz4KICAgICAgICA8cGF0aCBmaWxsPSIjN0I4OEEwIiBkPSJNNCA1LjVoNnYxLjRINHpNNCA5LjVoMTB2MS40SDR6IiAvPgogICAgPC9nPgo8L3N2Zz4K')",this.$collector.addEventListener("click",this.handleCollectorClick),this._visible&&this.$collector.classList.add(this.wrapClassName("collector-visible")),this._readonly&&this.$collector.classList.add(this.wrapClassName("collector-readonly")),this.$collector.classList.add(this.wrapClassName(this._darkMode?"color-scheme-dark":"color-scheme-light")),this.setStyles(this.styles)),this.$collector}destroy(){this.$collector&&(this.$collector.removeEventListener("click",this.handleCollectorClick),this.$collector.remove(),this.$collector=void 0),this.onClick=void 0}wrapClassName(e){return`${this.namespace}-${e}`}}exports.TELE_BOX_MANAGER_EVENT=void 0,(Et=exports.TELE_BOX_MANAGER_EVENT||(exports.TELE_BOX_MANAGER_EVENT={})).Focused="focused",Et.Blurred="blurred",Et.Created="created",Et.Removed="removed",Et.State="state",Et.Maximized="maximized",Et.Minimized="minimized",Et.Move="move",Et.Resize="resize",Et.IntrinsicMove="intrinsic_move",Et.IntrinsicResize="intrinsic_resize",Et.VisualResize="visual_resize",Et.ZIndex="z_index",Et.PrefersColorScheme="prefers_color_scheme",Et.DarkMode="dark_mode";class mt extends ht{constructor(e){super(e),this.boxes=e.boxes,this.focusedBox=e.focusedBox,this.containerRect=e.containerRect,this.darkMode=e.darkMode}focusBox(e){var t;if(!this.focusedBox||this.focusedBox!==e){if(this.$titles&&this.state===exports.TELE_BOX_STATE.Maximized){const{children:s}=this.$titles.firstElementChild;for(let i=s.length-1;i>=0;i-=1){const r=s[i],n=null==(t=r.dataset)?void 0:t.teleBoxID;n&&(e&&n===e.id?r.classList.toggle(this.wrapClassName("titles-tab-focus"),!0):this.focusedBox&&n===this.focusedBox.id&&r.classList.toggle(this.wrapClassName("titles-tab-focus"),!1))}}this.focusedBox=e}}setContainerRect(e){if(this.containerRect=e,this.$titleBar){const{x:t,y:s,width:i}=e;this.$titleBar.style.transform=`translate(${t}px, ${s}px)`,this.$titleBar.style.width=i+"px"}}setBoxes(e){this.boxes=e,this.updateTitles()}setState(e){super.setState(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName("max-titlebar-maximized"),e===exports.TELE_BOX_STATE.Maximized),this.updateTitles()}setReadonly(e){super.setReadonly(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName("readonly"),this.readonly)}setDarkMode(e){e!==this.darkMode&&(this.darkMode=e,this.$titleBar&&(this.$titleBar.classList.toggle(this.wrapClassName("color-scheme-dark"),e),this.$titleBar.classList.toggle(this.wrapClassName("color-scheme-light"),!e)))}render(){const e=super.render(),{x:t,y:s,width:i}=this.containerRect;return e.style.transform=`translate(${t}px, ${s}px)`,e.style.width=i+"px",e.classList.add(this.wrapClassName("max-titlebar")),e.classList.toggle(this.wrapClassName("max-titlebar-maximized"),this.state===exports.TELE_BOX_STATE.Maximized),e.classList.toggle(this.wrapClassName("readonly"),this.readonly),e.classList.add(this.wrapClassName(this.darkMode?"color-scheme-dark":"color-scheme-light")),this.updateTitles(),e}destroy(){super.destroy(),this.$titles=void 0,this.boxes.length=0,this.focusedBox=void 0}updateTitles(){this.$titleBar&&this.state===exports.TELE_BOX_STATE.Maximized&&(1===this.boxes.length?this.$title&&(this.$title.textContent=this.boxes[0].title,this.$titleBar.replaceChild(this.$title,this.$titleBar.firstElementChild)):this.$titleBar.replaceChild(this.renderTitles(),this.$titleBar.firstElementChild))}renderTitles(){this.$titles=document.createElement("div"),this.$titles.className=this.wrapClassName("titles"),this.$titles.addEventListener("wheel",(e=>{e.currentTarget.scrollBy({left:e.deltaY>0?250:-250,behavior:"smooth"})}),{passive:!1});const e=document.createElement("div");return e.className=this.wrapClassName("titles-content"),this.$titles.appendChild(e),this.boxes.forEach((t=>{const s=document.createElement("button");s.className=this.wrapClassName("titles-tab"),s.textContent=t.title,s.dataset.teleBoxID=t.id,s.dataset.teleTitleBarNoDblClick="true",this.focusedBox&&t.id===this.focusedBox.id&&s.classList.add(this.wrapClassName("titles-tab-focus")),e.appendChild(s)})),this.$titles}}exports.DefaultTitleBar=ht,exports.TeleBox=ct,exports.TeleBoxCollector=ft,exports.TeleBoxDragHandleType="dh",exports.TeleBoxManager=class{constructor({root:e=document.body,prefersColorScheme:t=exports.TELE_BOX_COLOR_SCHEME.Light,minimized:s=!1,maximized:i=!1,fence:r=!0,containerRect:n={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collector:o,namespace:a="telebox",readonly:l=!1}={}){this.events=new E,this._sideEffect=new Ge;const{combine:h,createVal:c}=qe(this._sideEffect);this.root=e,this.namespace=a,this.boxes$=c([]),this.topBox$=this.boxes$.derive((e=>{if(e.length>0){return e.reduce(((e,t)=>e.zIndex>t.zIndex?e:t))}}));const d=window.matchMedia("(prefers-color-scheme: dark)"),u=c(!1);d&&(u.setValue(d.matches),this._sideEffect.add((()=>{const e=e=>{u.setValue(e.matches)};return d.addListener(e),()=>d.removeListener(e)})));const f=c(t);f.reaction(((e,t,s)=>{this.boxes.forEach((t=>t.setPrefersColorScheme(e,s))),s||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.PrefersColorScheme,e)})),this._darkMode$=h([u,f],(([e,t])=>"auto"===t?e:"dark"===t)),this._darkMode$.reaction(((e,t,s)=>{this.boxes.forEach((t=>t.setDarkMode(e,s))),s||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.DarkMode,e)}));const m=c(l);m.reaction(((e,t,s)=>{this.boxes.forEach((t=>t.setReadonly(e,s)))}));const p=c(s),v=c(i);v.reaction(((e,t,s)=>{this.boxes.forEach((t=>t.setMaximized(e,s))),s||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Maximized,e)}));const x=h([p,v],(([e,t])=>e?exports.TELE_BOX_STATE.Minimized:t?exports.TELE_BOX_STATE.Maximized:exports.TELE_BOX_STATE.Normal));x.reaction(((e,t,s)=>{this.maxTitleBar.setState(e),s||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.State,e)}));const _=c(r);_.subscribe(((e,t,s)=>{this.boxes.forEach((t=>t.setFence(e,s)))}));const g=c(n,Ie);g.reaction(((e,t,s)=>{this.boxes.forEach((t=>t.setContainerRect(e,s))),this.maxTitleBar.setContainerRect(e)}));const b=c(null===o?null:o||new ft({visible:s,readonly:l,namespace:a}).mount(e));b.subscribe((e=>{e&&(e.setVisible(p.value),e.setReadonly(m.value),e.setDarkMode(this._darkMode$.value),this._sideEffect.add((()=>(e.onClick=()=>{m.value||p.setValue(!1)},()=>e.destroy())),"collect-onClick"))})),m.subscribe((e=>{var t;return null==(t=b.value)?void 0:t.setReadonly(e)})),this._darkMode$.subscribe((e=>{var t;null==(t=b.value)||t.setDarkMode(e)})),p.subscribe(((e,t,s)=>{var i,r;if(null==(i=b.value)||i.setVisible(e),e&&(null==(r=b.value)?void 0:r.$collector)){const{x:e,y:t,width:s,height:i}=b.value.$collector.getBoundingClientRect(),r=this.root.getBoundingClientRect();this.boxes.forEach((n=>{n.setCollectorRect({x:e-r.x,y:t-r.y,width:s,height:i},!0)}))}this.boxes.forEach((t=>t.setMinimized(e,s))),s||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Minimized,e)}));const T=this.wrapClassName("titlebar-icon-close"),B=e=>{var t;if(m.value)return;const s=e.target;if(s.tagName)for(let i=s;i;i=i.parentElement){if(i.classList&&i.classList.contains(T))return;const e=null==(t=i.dataset)?void 0:t.teleBoxID;if(e){const t=this.getBox(e);if(t)return void this.focusBox(t)}}};this._sideEffect.addEventListener(window,"mousedown",B,!0),this._sideEffect.addEventListener(window,"touchstart",B,!0),this.maxTitleBar=new mt({darkMode:this.darkMode,readonly:m.value,namespace:this.namespace,state:x.value,boxes:this.boxes$.value,containerRect:g.value,onEvent:e=>{switch(e.type){case exports.TELE_BOX_DELEGATE_EVENT.Maximize:v.setValue(!v.value);break;case exports.TELE_BOX_DELEGATE_EVENT.Minimize:p.setValue(!0);break;case exports.TELE_BOX_EVENT.Close:this.removeTopBox()}}}),m.subscribe((e=>this.maxTitleBar.setReadonly(e))),this._darkMode$.subscribe((e=>{this.maxTitleBar.setDarkMode(e)})),this.boxes$.reaction((e=>{this.maxTitleBar.setBoxes(e)}));Ye(this,{prefersColorScheme:f,containerRect:g,collector:b,readonly:m,fence:_,minimized:p,maximized:v}),this._state$=x,this.root.appendChild(this.maxTitleBar.render())}get boxes(){return this.boxes$.value}get topBox(){return this.topBox$.value}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case exports.TELE_BOX_STATE.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case exports.TELE_BOX_STATE.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}create(e={},t=!0){const s=new ct(l(a({zIndex:this.topBox?this.topBox.zIndex+1:100},t?this.smartPosition(e):e),{darkMode:this.darkMode,prefersColorScheme:this.prefersColorScheme,maximized:this.maximized,minimized:this.minimized,fence:this.fence,namespace:this.namespace,containerRect:this.containerRect,readonly:this.readonly}));return s.mount(this.root),s.focus&&this.focusBox(s),this.boxes$.setValue([...this.boxes,s]),s._delegateEvents.on(exports.TELE_BOX_DELEGATE_EVENT.Maximize,(()=>{this.setMaximized(!this.maximized)})),s._delegateEvents.on(exports.TELE_BOX_DELEGATE_EVENT.Minimize,(()=>{this.setMinimized(!0)})),s._delegateEvents.on(exports.TELE_BOX_DELEGATE_EVENT.Close,(()=>{this.remove(s)})),s.events.on(exports.TELE_BOX_EVENT.Move,(()=>{this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Move,s)})),s.events.on(exports.TELE_BOX_EVENT.Resize,(()=>{this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Resize,s)})),s.events.on(exports.TELE_BOX_EVENT.IntrinsicMove,(()=>{this.events.emit(exports.TELE_BOX_MANAGER_EVENT.IntrinsicMove,s)})),s.events.on(exports.TELE_BOX_EVENT.IntrinsicResize,(()=>{this.events.emit(exports.TELE_BOX_MANAGER_EVENT.IntrinsicResize,s)})),s.events.on(exports.TELE_BOX_EVENT.VisualResize,(()=>{this.events.emit(exports.TELE_BOX_MANAGER_EVENT.VisualResize,s)})),s.events.on(exports.TELE_BOX_EVENT.ZIndex,(()=>{this.topBox&&s.zIndex>this.topBox.zIndex&&this.topBox$.setValue(s)})),this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Created,s),s}query(e){return e?this.boxes.filter(this.teleBoxMatcher(e)):[...this.boxes]}queryOne(e){return e?this.boxes.find(this.teleBoxMatcher(e)):this.boxes[0]}update(e,t,s=!1){const i=this.boxes.find((t=>t.id===e));if(i)return this.updateBox(i,t,s)}updateAll(e,t=!1){this.boxes.forEach((s=>{this.updateBox(s,e,t)}))}remove(e,t=!1){const s=this.getBoxIndex(e);if(s>=0){const e=this.boxes.slice(),i=e.splice(s,1);return this.boxes$.setValue(e),this.focusTopBox(),i.forEach((e=>e.destroy())),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Removed,i)),i[0]}}removeTopBox(){if(this.topBox)return this.remove(this.topBox)}removeAll(e=!1){const t=this.boxes$.value;return this.boxes$.setValue([]),t.forEach((e=>e.destroy())),e||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Removed,t)),t}destroy(e=!1){this.events.removeAllListeners(),this._sideEffect.flushAll(),this.removeAll(e),Object.keys(this).forEach((e=>{const t=this[e];t instanceof Fe&&t.destroy()}))}wrapClassName(e){return`${this.namespace}-${e}`}focusBox(e,t=!1){const s=this.getBox(e);s&&(this.boxes.forEach((e=>{if(s===e){let e=!1;s.focus||(e=!0,s.setFocus(!0,t)),this.makeBoxTop(s,t),e&&!t&&this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Focused,s)}else e.focus&&this.blurBox(e,t)})),this.maxTitleBar.focusBox(s))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(e,t=!1){const s=this.getBox(e);s&&(s.focus&&(s.setFocus(!1,t),t||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Blurred,s)),this.maxTitleBar.focusedBox===s&&this.maxTitleBar.focusBox())}blurAll(e=!1){this.boxes.forEach((t=>{t.focus&&(t.setFocus(!1,e),e||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.Blurred,t))})),this.maxTitleBar.focusedBox&&this.maxTitleBar.focusBox()}teleBoxMatcher(e){const t=Object.keys(e);return s=>t.every((t=>e[t]===s[t]))}updateBox(e,t,s=!1){null==t.x&&null==t.y||e.move(null==t.x?e.intrinsicX:t.x,null==t.y?e.intrinsicY:t.y,s),null==t.width&&null==t.height||e.resize(null==t.width?e.intrinsicWidth:t.width,null==t.height?e.intrinsicHeight:t.height,s),null!=t.title&&(e.setTitle(t.title),this.maxTitleBar.updateTitles()),null!=t.visible&&e.setVisible(t.visible,s),null!=t.minHeight&&e.setMinHeight(t.minHeight,s),null!=t.minWidth&&e.setMinWidth(t.minWidth,s),null!=t.resizable&&e.setResizable(t.resizable),null!=t.draggable&&e.setDraggable(t.draggable),null!=t.fixRatio&&e.setFixRatio(t.fixRatio,s),null!=t.zIndex&&e.setZIndex(t.zIndex),null!=t.content&&e.mountContent(t.content),null!=t.footer&&e.mountFooter(t.footer)}smartPosition(e={}){let{x:t,y:s}=e;const{width:i=.5,height:r=.5}=e;if(null==t){let e=20;this.topBox&&(e=this.topBox.intrinsicX*this.containerRect.width+20,e>this.containerRect.width-i*this.containerRect.width&&(e=20)),t=e/this.containerRect.width}if(null==s){let e=20;this.topBox&&(e=this.topBox.intrinsicY*this.containerRect.height+20,e>this.containerRect.height-r*this.containerRect.height&&(e=20)),s=e/this.containerRect.height}return l(a({},e),{x:t,y:s,width:i,height:r})}makeBoxTop(e,t=!1){this.topBox&&e!==this.topBox&&(e.setZIndex(this.topBox.zIndex+1,t),this.topBox$.setValue(e),t||this.events.emit(exports.TELE_BOX_MANAGER_EVENT.ZIndex,e))}getBoxIndex(e){return"string"==typeof e?this.boxes.findIndex((t=>t.id===e)):this.boxes.findIndex((t=>t===e))}getBox(e){return"string"==typeof e?this.boxes.find((t=>t.id===e)):e}},exports.TeleBoxReact=e=>{const[t]=h.useState((()=>new ct(e)));return ut((()=>{null!=e.prefersColorScheme&&t.setPrefersColorScheme(e.prefersColorScheme)}),[t,e.prefersColorScheme]),ut((()=>{null!=e.minWidth&&t.setMinWidth(e.minWidth)}),[t,e.minWidth]),ut((()=>{null!=e.minHeight&&t.setMinHeight(e.minHeight)}),[t,e.minHeight]),ut((()=>{var s,i;t.resize(null!=(s=e.width)?s:t.width,null!=(i=e.height)?i:t.height,!0)}),[t,e.width,e.height]),ut((()=>{var s,i;t.move(null!=(s=e.x)?s:t.x,null!=(i=e.y)?i:t.y,!0)}),[t,e.x,e.y]),ut((()=>{null!=e.title&&t.setTitle(e.title)}),[t,e.title]),ut((()=>{null!=e.visible&&t.setVisible(e.visible)}),[t,e.visible]),ut((()=>{null!=e.minimized&&t.setMinimized(e.minimized,!0)}),[t,e.minimized]),ut((()=>{null!=e.maximized&&t.setMaximized(e.maximized,!0)}),[t,e.maximized]),ut((()=>{null!=e.state&&t.setState(e.state,!0)}),[t,e.state]),ut((()=>{null!=e.draggable&&t.setDraggable(e.draggable)}),[t,e.draggable]),ut((()=>{null!=e.resizable&&t.setResizable(e.resizable)}),[t,e.resizable]),ut((()=>{null!=e.fence&&t.setFence(e.fence)}),[t,e.fence]),ut((()=>{null!=e.containerRect&&t.setContainerRect(e.containerRect)}),[t,e.containerRect]),ut((()=>{null!=e.fixRatio&&t.setFixRatio(e.fixRatio)}),[t,e.fixRatio]),h.useEffect((()=>{if(e.onResize)return t.events.on(exports.TELE_BOX_EVENT.Resize,e.onResize),()=>{t.events.off(exports.TELE_BOX_EVENT.Resize,e.onResize)}}),[t,e.onResize]),h.useEffect((()=>{if(e.onMove)return t.events.on(exports.TELE_BOX_EVENT.Move,e.onMove),()=>{t.events.off(exports.TELE_BOX_EVENT.Move,e.onMove)}}),[t,e.onMove]),h.useEffect((()=>{if(e.onClose)return t.events.on(exports.TELE_BOX_EVENT.Close,e.onClose),()=>{t.events.off(exports.TELE_BOX_EVENT.Close,e.onClose)}}),[t,e.onClose]),h.useEffect((()=>{if(e.onFocus)return t.events.on(exports.TELE_BOX_EVENT.Focus,e.onFocus),()=>{t.events.off(exports.TELE_BOX_EVENT.Focus,e.onFocus)}}),[t,e.onFocus]),h.useEffect((()=>{if(e.onBlur)return t.events.on(exports.TELE_BOX_EVENT.Blur,e.onBlur),()=>{t.events.off(exports.TELE_BOX_EVENT.Blur,e.onBlur)}}),[t,e.onBlur]),h.useEffect((()=>{if(e.onStateChanged)return t.events.on(exports.TELE_BOX_EVENT.State,e.onStateChanged),()=>{t.events.off(exports.TELE_BOX_EVENT.State,e.onStateChanged)}}),[t,e.onStateChanged]),d.default.createElement("div",{ref:e=>e&&t.render(e),className:t.wrapClassName("box")})};
16
16
  //# sourceMappingURL=telebox-insider.cjs.js.map