@netless/telebox-insider 0.2.26 → 1.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/TeleBox/constants.d.ts +0 -3
- package/dist/TeleBox/index.d.ts +120 -91
- package/dist/TeleBox/typings.d.ts +40 -55
- package/dist/TeleBoxCollector/index.d.ts +25 -29
- package/dist/TeleBoxManager/MaxTitleBar/index.d.ts +13 -18
- package/dist/TeleBoxManager/constants.d.ts +0 -3
- package/dist/TeleBoxManager/index.d.ts +55 -18
- package/dist/TeleBoxManager/typings.d.ts +35 -28
- package/dist/TeleStage/index.d.ts +25 -0
- package/dist/TeleTitleBar/DefaultTitleBar/index.d.ts +6 -8
- package/dist/TeleTitleBar/typings.d.ts +3 -5
- package/dist/index.d.ts +0 -1
- package/dist/style.css +1 -1
- package/dist/telebox-insider.cjs.js +2 -2
- package/dist/telebox-insider.cjs.js.map +1 -1
- package/dist/telebox-insider.es.js +2 -2
- package/dist/telebox-insider.es.js.map +1 -1
- package/dist/utils.d.ts +0 -1
- package/package.json +6 -19
- package/src/TeleBox/constants.ts +0 -3
- package/src/TeleBox/index.ts +496 -678
- package/src/TeleBox/style.scss +1 -0
- package/src/TeleBox/typings.ts +40 -75
- package/src/TeleBoxCollector/index.ts +137 -159
- package/src/TeleBoxManager/MaxTitleBar/index.ts +82 -110
- package/src/TeleBoxManager/constants.ts +0 -3
- package/src/TeleBoxManager/index.ts +300 -326
- package/src/TeleBoxManager/typings.ts +42 -52
- package/src/TeleStage/index.ts +189 -0
- package/src/TeleStage/style.scss +49 -0
- package/src/TeleTitleBar/DefaultTitleBar/index.ts +48 -61
- package/src/TeleTitleBar/typings.ts +3 -9
- package/src/index.ts +0 -1
- package/src/utils.ts +0 -6
- package/dist/TeleBoxCollector/TeleBoxCollector.stories.d.ts +0 -5
- package/dist/TeleBoxManager/MaxTitleBar/MaxTitleBar.stories.d.ts +0 -7
- package/dist/TeleBoxManager/MaxTitleBar/MaxTitleBarReact.d.ts +0 -4
- package/dist/TeleBoxReact/TeleBox.stories.d.ts +0 -9
- package/dist/TeleBoxReact/index.d.ts +0 -17
- package/dist/TeleBoxReact/utils.d.ts +0 -2
- package/dist/TeleTitleBar/DefaultTitleBar/DefaultTitleBar.stories.d.ts +0 -4
- package/src/TeleBoxCollector/TeleBoxCollector.stories.tsx +0 -23
- package/src/TeleBoxManager/MaxTitleBar/MaxTitleBar.stories.tsx +0 -66
- package/src/TeleBoxManager/MaxTitleBar/MaxTitleBarReact.tsx +0 -34
- package/src/TeleBoxReact/TeleBox.stories.tsx +0 -74
- package/src/TeleBoxReact/index.tsx +0 -175
- package/src/TeleBoxReact/utils.ts +0 -14
- package/src/TeleTitleBar/DefaultTitleBar/DefaultTitleBar.stories.tsx +0 -15
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&o(e,i,t[i]);if(s)for(var i of s(t))n.call(t,i)&&o(e,i,t[i]);return e},l=(
|
|
1
|
+
var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&o(e,i,t[i]);if(s)for(var i of s(t))n.call(t,i)&&o(e,i,t[i]);return e};const h=new WeakMap,l=new WeakMap,c=new WeakMap,d=Symbol("anyProducer"),u=Promise.resolve(),f=Symbol("listenerAdded"),m=Symbol("listenerRemoved"),p=Symbol("metaEventsAllowed");let g=!1;function b(e,t){if("string"!=typeof e&&"symbol"!=typeof e&&"number"!=typeof e)throw new TypeError("`eventName` must be a string, symbol, or number");if(E(e)&&t!==p)throw new TypeError("`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`")}function v(e){if("function"!=typeof e)throw new TypeError("listener must be a function")}function x(e,t){const i=l.get(e);return i.has(t)||i.set(t,new Set),i.get(t)}function w(e,t){const i="string"==typeof t||"symbol"==typeof t||"number"==typeof t?t:d,s=c.get(e);return s.has(i)||s.set(i,new Set),s.get(i)}function y(e,t){t=Array.isArray(t)?t:[t];let i=!1,s=()=>{},r=[];const n={enqueue(e){r.push(e),s()},finish(){i=!0,s()}};for(const o of t)w(e,o).add(n);return{async next(){return r?0===r.length?i?(r=void 0,this.next()):(await new Promise((e=>{s=e})),this.next()):{done:!1,value:await r.shift()}:{done:!0}},async return(i){r=void 0;for(const s of t)w(e,s).delete(n);return s(),arguments.length>0?{done:!0,value:await i}:{done:!0}},[Symbol.asyncIterator](){return this}}}function $(e){if(void 0===e)return C;if(!Array.isArray(e))throw new TypeError("`methodNames` must be an array of strings");for(const t of e)if(!C.includes(t)){if("string"!=typeof t)throw new TypeError("`methodNames` element must be a string");throw new Error(`${t} is not Emittery method`)}return e}const E=e=>e===f||e===m;class z{static mixin(e,t){return t=$(t),i=>{if("function"!=typeof i)throw new TypeError("`target` must be function");for(const e of t)if(void 0!==i.prototype[e])throw new Error(`The property \`${e}\` already exists on \`target\``);Object.defineProperty(i.prototype,e,{enumerable:!1,get:function(){return Object.defineProperty(this,e,{enumerable:!1,value:new z}),this[e]}});const s=t=>function(...i){return this[e][t](...i)};for(const e of t)Object.defineProperty(i.prototype,e,{enumerable:!1,value:s(e)});return i}}static get isDebugEnabled(){if("object"!=typeof process)return g;const{env:e}=process||{env:{}};return"emittery"===e.DEBUG||"*"===e.DEBUG||g}static set isDebugEnabled(e){g=e}constructor(e={}){h.set(this,new Set),l.set(this,new Map),c.set(this,new Map),this.debug=e.debug||{},void 0===this.debug.enabled&&(this.debug.enabled=!1),this.debug.logger||(this.debug.logger=(e,t,i,s)=>{try{s=JSON.stringify(s)}catch{s=`Object with the following keys failed to stringify: ${Object.keys(s).join(",")}`}"symbol"!=typeof i&&"number"!=typeof i||(i=i.toString());const r=new Date,n=`${r.getHours()}:${r.getMinutes()}:${r.getSeconds()}.${r.getMilliseconds()}`;console.log(`[${n}][emittery:${e}][${t}] Event Name: ${i}\n\tdata: ${s}`)})}logIfDebugEnabled(e,t,i){(z.isDebugEnabled||this.debug.enabled)&&this.debug.logger(e,this.debug.name,t,i)}on(e,t){v(t),e=Array.isArray(e)?e:[e];for(const i of e)b(i,p),x(this,i).add(t),this.logIfDebugEnabled("subscribe",i,void 0),E(i)||this.emit(f,{eventName:i,listener:t},p);return this.off.bind(this,e,t)}off(e,t){v(t),e=Array.isArray(e)?e:[e];for(const i of e)b(i,p),x(this,i).delete(t),this.logIfDebugEnabled("unsubscribe",i,void 0),E(i)||this.emit(m,{eventName:i,listener:t},p)}once(e){return new Promise((t=>{const i=this.on(e,(e=>{i(),t(e)}))}))}events(e){e=Array.isArray(e)?e:[e];for(const t of e)b(t,p);return y(this,e)}async emit(e,t,i){b(e,i),this.logIfDebugEnabled("emit",e,t),function(e,t,i){const s=c.get(e);if(s.has(t))for(const r of s.get(t))r.enqueue(i);if(s.has(d)){const e=Promise.all([t,i]);for(const t of s.get(d))t.enqueue(e)}}(this,e,t);const s=x(this,e),r=h.get(this),n=[...s],o=E(e)?[]:[...r];await u,await Promise.all([...n.map((async e=>{if(s.has(e))return e(t)})),...o.map((async i=>{if(r.has(i))return i(e,t)}))])}async emitSerial(e,t,i){b(e,i),this.logIfDebugEnabled("emitSerial",e,t);const s=x(this,e),r=h.get(this),n=[...s],o=[...r];await u;for(const a of n)s.has(a)&&await a(t);for(const a of o)r.has(a)&&await a(e,t)}onAny(e){return v(e),this.logIfDebugEnabled("subscribeAny",void 0,void 0),h.get(this).add(e),this.emit(f,{listener:e},p),this.offAny.bind(this,e)}anyEvent(){return y(this)}offAny(e){v(e),this.logIfDebugEnabled("unsubscribeAny",void 0,void 0),this.emit(m,{listener:e},p),h.get(this).delete(e)}clearListeners(e){e=Array.isArray(e)?e:[e];for(const t of e)if(this.logIfDebugEnabled("clear",t,void 0),"string"==typeof t||"symbol"==typeof t||"number"==typeof t){x(this,t).clear();const e=w(this,t);for(const t of e)t.finish();e.clear()}else{h.get(this).clear();for(const e of l.get(this).values())e.clear();for(const e of c.get(this).values()){for(const t of e)t.finish();e.clear()}}}listenerCount(e){e=Array.isArray(e)?e:[e];let t=0;for(const i of e)if("string"!=typeof i){void 0!==i&&b(i,p),t+=h.get(this).size;for(const e of l.get(this).values())t+=e.size;for(const e of c.get(this).values())t+=e.size}else t+=h.get(this).size+x(this,i).size+w(this,i).size+w(this).size;return t}bindMethods(e,t){if("object"!=typeof e||null===e)throw new TypeError("`target` must be an object");t=$(t);for(const i of t){if(void 0!==e[i])throw new Error(`The property \`${i}\` already exists on \`target\``);Object.defineProperty(e,i,{enumerable:!1,value:this[i].bind(this)})}}}const C=Object.getOwnPropertyNames(z.prototype).filter((e=>"constructor"!==e));Object.defineProperty(z,"listenerAdded",{value:f,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(z,"listenerRemoved",{value:m,writable:!1,enumerable:!0,configurable:!1});var _=z,S=function(){return(S=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};
|
|
2
2
|
/*! *****************************************************************************
|
|
3
3
|
Copyright (c) Microsoft Corporation.
|
|
4
4
|
|
|
@@ -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 p(e,t){var i={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(i[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(i[s[r]]=e[s[r]])}return i}var g=0,b="undefined"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),i=Math.max(0,16.7-(t-g));g=t+i,setTimeout((function(){return e(g)}),i)},x=1/60*1e3,y=!0,w=!1,$=!1,C={delta:0,timestamp:0},z=["read","update","preRender","render","postRender"],B=function(e){return w=e},_=z.reduce((function(e,t){var i,s,r,n,o,a,l,h,c;return e[t]=(i=B,s=[],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,s=(t=[r,s])[0],(r=t[1]).length=0,n=s.length)for(a=0;a<n;a++)(d=s[a])(e),!0!==h.has(d)||l.has(d)||(c.schedule(d),i(!0));o=!1},schedule:function(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var a=i&&o,c=a?s:r;l.delete(e),t&&h.add(e),-1===c.indexOf(e)&&(c.push(e),a&&(n=s.length))}}),e}),{}),M=z.reduce((function(e,t){var i=_[t];return e[t]=function(e,t,s){return void 0===t&&(t=!1),void 0===s&&(s=!1),w||S(),i.schedule(e,t,s),e},e}),{}),E=function(e){return _[e].process(C)},k=function(e){w=!1,C.delta=y?x:Math.max(Math.min(e-C.timestamp,40),1),y||(x=C.delta),C.timestamp=e,$=!0,z.forEach(E),$=!1,w&&(y=!1,b(k))},S=function(){w=!0,y=!0,$||b(k)},R=function(){return(R=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},N=function(e,t){return function(i){return Math.max(Math.min(i,t),e)}},T=function(e){return e%1?Number(e.toFixed(5)):e},L=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i,I={test:function(e){return"number"==typeof e},parse:parseFloat,transform:function(e){return e}},O=R(R({},I),{transform:N(0,1)}),D=R(R({},I),{default:1}),A=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=A("deg"),H=A("%"),W=A("px"),j=R(R({},H),{parse:function(e){return H.parse(e)/100},transform:function(e){return H.transform(100*e)}}),P=N(0,255),Y=function(e){return void 0!==e.red},X=function(e){return void 0!==e.hue};var F=function(e){return function(t){if("string"!=typeof t)return t;for(var i={},s=function(e){return e.substring(e.indexOf("(")+1,e.lastIndexOf(")"))}(t).replace(/(,|\/)/g," ").split(/ \s*/),r=0;r<4;r++)i[e[r]]=void 0!==s[r]?parseFloat(s[r]):1;return i}},Z=R(R({},I),{transform:function(e){return Math.round(P(e))}});function q(e,t){return e.startsWith(t)&&L.test(e)}var G,U={test:function(e){return"string"==typeof e?q(e,"rgb"):Y(e)},parse:F(["red","green","blue","alpha"]),transform:function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha;return"rgba("+t+", "+i+", "+s+", "+(void 0===r?1:r)+")"}({red:Z.transform(t),green:Z.transform(i),blue:Z.transform(s),alpha:T(O.transform(n))})}},J={test:function(e){return"string"==typeof e?q(e,"hsl"):X(e)},parse:F(["hue","saturation","lightness","alpha"]),transform:function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha;return"hsla("+t+", "+i+", "+s+", "+(void 0===r?1:r)+")"}({hue:Math.round(t),saturation:H.transform(T(i)),lightness:H.transform(T(s)),alpha:T(O.transform(n))})}},Q=R(R({},U),{test:function(e){return"string"==typeof e&&q(e,"#")},parse:function(e){var t="",i="",s="";return e.length>4?(t=e.substr(1,2),i=e.substr(3,2),s=e.substr(5,2)):(t=e.substr(1,1),i=e.substr(2,1),s=e.substr(3,1),t+=t,i+=i,s+=s),{red:parseInt(t,16),green:parseInt(i,16),blue:parseInt(s,16),alpha:1}}}),K={test:function(e){return"string"==typeof e&&L.test(e)||Y(e)||X(e)},parse:function(e){return U.test(e)?U.parse(e):J.test(e)?J.parse(e):Q.test(e)?Q.parse(e):e},transform:function(e){return Y(e)?U.transform(e):X(e)?J.transform(e):e}},ee=function(e){var t=e.onRead,i=e.onRender,s=e.uncachedValues,r=void 0===s?new Set:s,n=e.useCache,o=void 0===n||n;return function(e){void 0===e&&(e={});var s=p(e,[]),n={},a=[],l=!1;function h(e,t){e.startsWith("--")&&(s.hasCSSVariable=!0);var i=n[e];n[e]=t,n[e]!==i&&(-1===a.indexOf(e)&&a.push(e),l||(l=!0,M.render(c.render)))}var c={get:function(e,i){return void 0===i&&(i=!1),!i&&o&&!r.has(e)&&void 0!==n[e]?n[e]:t(e,s)},set:function(e,t){if("string"==typeof e)h(e,t);else for(var i in e)h(i,e[i]);return this},render:function(e){return void 0===e&&(e=!1),(l||!0===e)&&(i(n,s,a),l=!1,a.length=0),this}};return c}},te=/([a-z])([A-Z])/g,ie=function(e){return e.replace(te,"$1-$2").toLowerCase()},se=new Map,re=new Map,ne=["Webkit","Moz","O","ms",""],oe=ne.length,ae="undefined"!=typeof document,le=function(e,t){return re.set(e,ie(t))},he=function(e,t){void 0===t&&(t=!1);var i=t?re:se;return i.has(e)||(ae?function(e){G=G||document.createElement("div");for(var t=0;t<oe;t++){var i=ne[t],s=""===i,r=s?e:i+e.charAt(0).toUpperCase()+e.slice(1);if(r in G.style||s){if(s&&"clipPath"===e&&re.has(e))return;se.set(e,r),le(e,(s?"":"-")+ie(r))}}}(e):function(e){le(e,e)}(e)),i.get(e)||e},ce=["","X","Y","Z"],de=["translate","scale","rotate","skew","transformPerspective"].reduce((function(e,t){return ce.reduce((function(e,i){return e.push(t+i),e}),e)}),["x","y","z"]),ue=de.reduce((function(e,t){return e[t]=!0,e}),{});function me(e){return!0===ue[e]}function fe(e,t){return de.indexOf(e)-de.indexOf(t)}var ve=new Set(["originX","originY","originZ"]);function pe(e){return ve.has(e)}var ge=v(v({},I),{transform:Math.round}),be={color:K,backgroundColor:K,outlineColor:K,fill:K,stroke:K,borderColor:K,borderTopColor:K,borderRightColor:K,borderBottomColor:K,borderLeftColor:K,borderWidth:W,borderTopWidth:W,borderRightWidth:W,borderBottomWidth:W,borderLeftWidth:W,borderRadius:W,radius:W,borderTopLeftRadius:W,borderTopRightRadius:W,borderBottomRightRadius:W,borderBottomLeftRadius:W,width:W,maxWidth:W,height:W,maxHeight:W,size:W,top:W,right:W,bottom:W,left:W,padding:W,paddingTop:W,paddingRight:W,paddingBottom:W,paddingLeft:W,margin:W,marginTop:W,marginRight:W,marginBottom:W,marginLeft:W,rotate:V,rotateX:V,rotateY:V,rotateZ:V,scale:D,scaleX:D,scaleY:D,scaleZ:D,skew:V,skewX:V,skewY:V,distance:W,translateX:W,translateY:W,translateZ:W,x:W,y:W,z:W,perspective:W,opacity:O,originX:j,originY:j,originZ:W,zIndex:ge,fillOpacity:O,strokeOpacity:O,numOctaves:ge},xe=function(e){return be[e]},ye=function(e,t){return t&&"number"==typeof e?t.transform(e):e},we=new Set(["scrollLeft","scrollTop"]),$e=new Set(["scrollLeft","scrollTop","transform"]),Ce={x:"translateX",y:"translateY",z:"translateZ"};function ze(e){return"function"==typeof e}function Be(e,t,i,s,r,n,o,a){void 0===t&&(t=!0),void 0===i&&(i={}),void 0===s&&(s={}),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],m=xe(d),f=ye(u,m);me(d)?(h=!0,s[d]=f,n.push(d),l&&(m.default&&u!==m.default||!m.default&&0!==u)&&(l=!1)):pe(d)?(r[d]=f,c=!0):$e.has(d)&&ze(f)||(i[he(d,o)]=f)}return(h||"function"==typeof e.transform)&&(i.transform=function(e,t,i,s,r,n){void 0===n&&(n=!0);var o="",a=!1;i.sort(fe);for(var l=i.length,h=0;h<l;h++){var c=i[h];o+=(Ce[c]||c)+"("+t[c]+") ",a="z"===c||a}return!a&&r?o+="translateZ(0)":o=o.trim(),ze(e.transform)?o=e.transform(t,s?"":o):n&&s&&(o="none"),o}(e,s,n,l,t,a)),c&&(i.transformOrigin=(r.originX||"50%")+" "+(r.originY||"50%")+" "+(r.originZ||0)),i}function _e(e){var t=void 0===e?{}:e,i=t.enableHardwareAcceleration,s=void 0===i||i,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,Be(e,s,l,h,c,d,n,a),l}}var Me=ee({onRead:function(e,t){var i=t.element,s=t.preparseOutput,r=xe(e);if(me(e))return r&&r.default||0;if(we.has(e))return i[e];var n=window.getComputedStyle(i,null).getPropertyValue(he(e,!0))||0;return s&&r&&r.test(n)&&r.parse?r.parse(n):n},onRender:function(e,t,i){var s=t.element,r=t.buildStyles,n=t.hasCSSVariable;if(Object.assign(s.style,r(e)),n)for(var o=i.length,a=0;a<o;a++){var l=i[a];l.startsWith("--")&&s.style.setProperty(l,e[l])}-1!==i.indexOf("scrollLeft")&&(s.scrollLeft=e.scrollLeft),-1!==i.indexOf("scrollTop")&&(s.scrollTop=e.scrollTop)},uncachedValues:we});var Ee=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues"]),ke=function(e,t){return W.transform(e*t)},Se={x:0,y:0,width:0,height:0};function Re(e,t,i){return"string"==typeof e?e:W.transform(t+i*e)}var Ne={enableHardwareAcceleration:!1,isDashCase:!1};function Te(e,t,i,s,r,n){void 0===t&&(t=Se),void 0===s&&(s=_e(Ne)),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,m=e.pathOffset,f=void 0===m?0:m,v=s(p(e,["attrX","attrY","originX","originY","pathLength","pathSpacing","pathOffset"]));for(var g in v){if("transform"===g)r.style.transform=v[g];else r[n&&!Ee.has(g)?ie(g):g]=v[g]}return(void 0!==l||void 0!==h||v.transform)&&(r.style.transformOrigin=function(e,t,i){return Re(t,e.x,e.width)+" "+Re(i,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!==i&&void 0!==c&&(r[n?"stroke-dashoffset":"strokeDashoffset"]=ke(-f,i),r[n?"stroke-dasharray":"strokeDasharray"]=ke(c,i)+" "+ke(u,i)),r}function Le(e,t,i){void 0===i&&(i=!0);var s={style:{}},r=_e(Ne);return function(n){return Te(n,e,t,r,s,i)}}var Ie=ee({onRead:function(e,t){var i=t.element;if(me(e=Ee.has(e)?e:ie(e))){var s=xe(e);return s&&s.default||0}return i.getAttribute(e)},onRender:function(e,t){var i=t.element,s=(0,t.buildAttrs)(e);for(var r in s)"style"===r?Object.assign(i.style,s.style):i.setAttribute(r,s[r])}}),Oe=ee({useCache:!1,onRead:function(e){return"scrollTop"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,i=void 0===t?0:t,s=e.scrollLeft,r=void 0===s?0:s;return window.scrollTo(r,i)}}),De=new WeakMap,Ae=function(e,t){var i,s,r,n;return e===window?i=Oe(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}}}(s=e),n=function(e){return"path"===e.tagName}(s)&&s.getTotalLength?s.getTotalLength():void 0,i=Ie({element:s,buildAttrs:Le(r,n)})):i=function(e,t){void 0===t&&(t={});var i=t.enableHardwareAcceleration,s=t.allowTransformNone,r=p(t,["enableHardwareAcceleration","allowTransformNone"]);return Me(v({element:e,buildStyles:_e({enableHardwareAcceleration:i,allowTransformNone:s}),preparseOutput:!0},r))}(e,t),De.set(e,i),i};function Ve(e,t){return function(e,t){return De.has(e)?De.get(e):Ae(e,t)}("string"==typeof e?document.querySelector(e):e,t)}var He=function(e,t,i,s){var r=i?i.call(s,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=i?i.call(s,c,d,h):void 0)||void 0===r&&c!==d)return!1}return!0};const We="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",je=We.length,Pe=Array(20),Ye=()=>{for(let e=0;e<20;e++)Pe[e]=We.charAt(Math.random()*je);return Pe.join("")};class Xe{constructor(){this.disposers=new Map}add(e,t=Ye()){return this.flush(t),this.disposers.set(t,e()),t}addDisposer(e,t=Ye()){return this.flush(t),this.disposers.set(t,e),t}addEventListener(e,t,i,s,r=Ye()){return this.add((()=>(e.addEventListener(t,i,s),()=>e.removeEventListener(t,i,s))),r),r}setTimeout(e,t,i=Ye()){return this.add((()=>{const s=window.setTimeout((()=>{this.remove(i),e()}),t);return()=>window.clearTimeout(s)}),i)}setInterval(e,t,i=Ye()){return this.add((()=>{const i=window.setInterval(e,t);return()=>window.clearInterval(i)}),i)}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(i){console.error(i)}}flushAll(){this.disposers.forEach((e=>{try{e()}catch(t){console.error(t)}})),this.disposers.clear()}}var Fe=Object.defineProperty,Ze=("undefined"!=typeof require&&require,(e,t,i)=>{return n=i,(r="symbol"!=typeof t?t+"":t)in(s=e)?Fe(s,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[r]=n,i;var s,r,n});class qe{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 i=this._value;this._value=e,this._subscribers&&this._subscribers.forEach((s=>s(e,i,t)))}}reaction(e){return this._subscribers||(this._subscribers=new Set),this._subscribers.add(e),()=>{this._subscribers&&this._subscribers.delete(e)}}subscribe(e,t){const i=this.reaction(e);return e(this._value,void 0,t),i}derive(e,t,i){const s=new qe(e(this.value,void 0,i),t),r=this.reaction(((t,i,r)=>{s.setValue(e(t,i,r))}));return s.addBeforeDestroy(r),s}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 Ge(e,t){Object.keys(t).forEach((i=>{!function(e,t,i){var s;Object.defineProperties(e,{[t]:{get:()=>i.value},[`_${t}$`]:{value:i},[`set${s=t,s[0].toUpperCase()+s.slice(1)}`]:{value:(e,t)=>i.setValue(e,t)}})}(e,i,t[i])}))}function Ue(e){const t=t=>{const i=e.addDisposer((()=>{t.destroy()}));return t.addBeforeDestroy((()=>{e.remove(i)})),t};return{bindSideEffect:t,combine:(e,i,s,r)=>t(function(e,t,i,s){let r=e.map((e=>e.value));const n=new qe(t(r,void 0,s),i);return e.forEach(((e,i)=>{const s=e.reaction(((e,s,o)=>{const a=r.slice();a[i]=e;const l=r;r=a,n.setValue(t(a,l,o),o)}));n.addBeforeDestroy(s)})),n}(e,i,s,r)),createVal:(e,i)=>t(new qe(e,i))}}var Je,Qe,Ke,et,tt,it,st,rt,nt,ot;(Qe=Je||(Je={})).Light="light",Qe.Dark="dark",Qe.Auto="auto",(et=Ke||(Ke={})).Normal="normal",et.Minimized="minimized",et.Maximized="maximized",(it=tt||(tt={})).DarkMode="dark_mode",it.PrefersColorScheme="prefers_color_scheme",it.Close="close",it.Focus="focus",it.Blur="blur",it.Move="move",it.Resize="resize",it.IntrinsicMove="intrinsic_move",it.IntrinsicResize="intrinsic_resize",it.VisualResize="visual_resize",it.ZIndex="z_index",it.State="state",it.Minimized="minimized",it.Maximized="maximized",it.Readonly="readonly",it.Destroyed="destroyed",(rt=st||(st={})).Close="close",rt.Maximize="maximize",rt.Minimize="minimize",(ot=nt||(nt={})).North="n",ot.South="s",ot.West="w",ot.East="e",ot.NorthWest="nw",ot.NorthEast="ne",ot.SouthEast="se",ot.SouthWest="sw";const at="dh";function lt(e,t,i){return Math.min(Math.max(e,t),i)}function ht(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function ct(e){return e.touches?e.touches[0]:e}function dt(){return Date.now().toString().slice(6)+Math.random().toString().slice(2,8)}let ut=1;function mt(){return"New Box "+ut++}function ft(e){return Boolean(e)}function vt(e){return!e}class pt{constructor({readonly:e=!1,title:t,buttons:i,onEvent:s,onDragStart:r,namespace:n="telebox",state:o=Ke.Normal}={}){this.$btns=[],this.sideEffect=new Xe,this.lastTitleBarClick={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarClick=e=>{var t;if(this.readonly)return;if(0!==e.button)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now();i-this.lastTitleBarClick.timestamp<=500?Math.abs(e.clientX-this.lastTitleBarClick.clientX)<=5&&Math.abs(e.clientY-this.lastTitleBarClick.clientY)<=5&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarClick.timestamp=i,this.lastTitleBarClick.clientX=e.clientX,this.lastTitleBarClick.clientY=e.clientY},this.lastTitleBarTouch={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarTouch=e=>{var t;if(this.readonly)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now(),{clientX:s=this.lastTitleBarTouch.clientX+100,clientY:r=this.lastTitleBarTouch.clientY+100}=e.touches[0]||{};i-this.lastTitleBarTouch.timestamp<=500?Math.abs(s-this.lastTitleBarTouch.clientX)<=10&&Math.abs(r-this.lastTitleBarTouch.clientY)<=10&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarTouch.timestamp=i,this.lastTitleBarTouch.clientX=s,this.lastTitleBarTouch.clientY=r},this.readonly=e,this.onEvent=s,this.onDragStart=r,this.namespace=n,this.title=t,this.state=o,this.buttons=i||[{type:st.Minimize,iconClassName:this.wrapClassName("titlebar-icon-minimize")},{type:st.Maximize,iconClassName:this.wrapClassName("titlebar-icon-maximize"),isActive:e=>e===Ke.Maximized},{type:st.Close,iconClassName:this.wrapClassName("titlebar-icon-close")}],this.$dragArea=this.renderDragArea()}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,i)=>{t.isActive&&this.$btns[i].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");const e=document.createElement("div");e.className=this.wrapClassName("title-area"),e.dataset.teleBoxHandle="dh",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),e.appendChild(this.$title),e.appendChild(this.$dragArea);const t=document.createElement("div");t.className=this.wrapClassName("titlebar-btns"),this.buttons.forEach((({iconClassName:e,isActive:i},s)=>{const r=String(s),n=document.createElement("button");n.className=`${this.wrapClassName("titlebar-btn")} ${e}`,n.dataset.teleTitleBarBtnIndex=r,n.dataset.teleTitleBarNoDblClick="true",i&&n.classList.toggle("is-active",i(this.state)),this.$btns.push(n),t.appendChild(n)})),this.sideEffect.addEventListener(t,"click",(e=>{var t;if(this.readonly)return;const i=e.target,s=Number(null==(t=i.dataset)?void 0:t.teleTitleBarBtnIndex);if(!Number.isNaN(s)&&s<this.buttons.length){ht(e);const t=this.buttons[s];this.onEvent&&this.onEvent({type:t.type,value:t.value})}})),this.$titleBar.appendChild(e),this.$titleBar.appendChild(t)}return this.$titleBar}renderDragArea(){const e=document.createElement("div");return e.className=this.wrapClassName("drag-area"),e.dataset.teleBoxHandle="dh",this.sideEffect.addEventListener(e,"mousedown",this.handleTitleBarClick),this.sideEffect.addEventListener(e,"touchstart",this.handleTitleBarTouch,{passive:!0}),e}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 gt{constructor({id:e=dt(),title:t=mt(),prefersColorScheme:i=Je.Light,darkMode:s,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:m=!1,resizable:v=!0,draggable:p=!0,fence:g=!0,fixRatio:b=!1,focus:x=!1,zIndex:y=100,namespace:w="telebox",titleBar:$,content:C,footer:z,styles:B,containerRect:_={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collectorRect:M}={}){this._renderSideEffect=new Xe,this.handleTrackStart=e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},this._sideEffect=new Xe,this._valSideEffectBinder=Ue(this._sideEffect);const{combine:E,createVal:k}=this._valSideEffectBinder;this.id=e,this.namespace=w,this.events=new f,this._delegateEvents=new f;const S=k(i);S.reaction(((e,t,i)=>{i||this.events.emit(tt.PrefersColorScheme,e)}));const R=k(Boolean(s));null==s&&S.subscribe(((e,t,i)=>{this._sideEffect.add((()=>{if("auto"===e){const e=window.matchMedia("(prefers-color-scheme: dark)");if(e){R.setValue(e.matches,i);const t=e=>{R.setValue(e.matches,i)};return e.addListener(t),()=>e.removeListener(t)}return bt}return R.setValue("dark"===e,i),bt}),"prefers-color-scheme")})),R.reaction(((e,t,i)=>{i||this.events.emit(tt.DarkMode,e)}));const N=k(_,He),T=k(M,He),L=k(t),I=k(r);I.reaction(((e,t,i)=>{i||e||this.events.emit(tt.Close)}));const O=k(m);O.reaction(((e,t,i)=>{i||this.events.emit(tt.Readonly,e)}));const D=k(v),A=k(p),V=k(g),H=k(b),W=k(y);W.reaction(((e,t,i)=>{i||this.events.emit(tt.ZIndex,e)}));const j=k(x);j.reaction(((e,t,i)=>{i||this.events.emit(e?tt.Focus:tt.Blur)}));const P=k(d);P.reaction(((e,t,i)=>{i||this.events.emit(tt.Minimized,e)}));const Y=k(u);Y.reaction(((e,t,i)=>{i||this.events.emit(tt.Maximized,e)}));const X=E([P,Y],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));X.reaction(((e,t,i)=>{i||this.events.emit(tt.State,e)}));const F=k({width:lt(a,0,1),height:lt(l,0,1)},He),Z=k({width:lt(n,F.value.width,1),height:lt(o,F.value.height,1)},He);F.reaction(((e,t,i)=>{Z.setValue({width:lt(n,e.width,1),height:lt(o,e.height,1)},i)})),Z.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicResize,e)}));const q=E([Z,Y],(([e,t])=>t?{width:1,height:1}:e),He);q.reaction(((e,t,i)=>{i||this.events.emit(tt.Resize,e)}));const G=E([q,P,N,T],(([e,t,i,s])=>t&&s?{width:s.width/e.width/i.width,height:s.height/e.height/i.height}:e),He);G.reaction(((e,t,i)=>{i||this.events.emit(tt.VisualResize,e)}));const U=k({x:lt(h,0,1),y:lt(c,0,1)},He);U.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicMove,e)}));const J=E([U,Z,N,T,P,Y],(([e,t,i,s,r,n])=>r&&s?n?{x:(s.x+s.width/2)/i.width-.5,y:(s.y+s.height/2)/i.height-.5}:{x:(s.x+s.width/2)/i.width-t.width/2,y:(s.y+s.height/2)/i.height-t.height/2}:n?{x:0,y:0}:e),He);J.reaction(((e,t,i)=>{i||this.events.emit(tt.Move,e)})),this.titleBar=$||new pt({readonly:O.value,title:L.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 st.Maximize:Y.setValue(!Y.value);break;case st.Minimize:P.setValue(!0);break;case st.Close:I.setValue(!1);break;default:console.error("Unsupported titleBar event:",e)}}}),O.reaction((e=>{this.titleBar.setReadonly(e)}));const Q=k(C),K=k(z),ee=k(B);Ge(this,{prefersColorScheme:S,darkMode:R,containerRect:N,collectorRect:T,title:L,visible:I,readonly:O,resizable:D,draggable:A,fence:V,fixRatio:H,focus:j,zIndex:W,minimized:P,maximized:Y,$userContent:Q,$userFooter:K,$userStyles:ee}),this._state$=X,this._minSize$=F,this._size$=q,this._intrinsicSize$=Z,this._visualSize$=G,this._coord$=J,this._intrinsicCoord$=U,this.fixRatio&&this.transform(J.value.x,J.value.y,q.value.width,q.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 Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.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,i=!1){return this._intrinsicSize$.setValue({width:e,height:t},i),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,i=!1){return this._intrinsicCoord$.setValue({x:e,y:t},i),this}get x(){return this._coord$.value.x}get y(){return this._coord$.value.y}transform(e,t,i,s,r=!1){if(this.fixRatio){const e=this.intrinsicHeight/this.intrinsicWidth*i;t!==this.intrinsicY&&(t-=e-s),s=e}return t<0&&(t=0,s>this.intrinsicHeight&&(s=this.intrinsicHeight)),this._intrinsicCoord$.setValue({x:i>=this.minWidth?e:this.intrinsicX,y:s>=this.minHeight?t:this.intrinsicY},r),this._intrinsicSize$.setValue({width:lt(i,this.minWidth,1),height:lt(s,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,i,s=ft)=>this._renderSideEffect.add((()=>{const r=this.wrapClassName(i);return t.subscribe((t=>{e.classList.toggle(r,s(t))}))}));t(this.$box,this._readonly$,"readonly"),t(this.$box,this._draggable$,"no-drag",vt),t(this.$box,this._resizable$,"no-resize",vt),t(this.$box,this._focus$,"blur",vt),t(this.$box,this._darkMode$,"color-scheme-dark"),t(this.$box,this._darkMode$,"color-scheme-light",vt),this._renderSideEffect.add((()=>{const e=this.wrapClassName("minimized"),t=this.wrapClassName("maximized"),i="box-maximized-timer";return this._state$.subscribe((s=>{this.$box.classList.toggle(e,s===Ke.Minimized),s===Ke.Maximized?(this._renderSideEffect.flush(i),this.$box.classList.toggle(t,!0)):this._renderSideEffect.setTimeout((()=>{this.$box.classList.toggle(t,!1)}),0,i)}))})),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 i=Ve(this.$box);this.$box.dataset.teleBoxID=this.id,this.$box.style.width=this.absoluteWidth+"px",this.$box.style.height=this.absoluteHeight+"px";const s=this.x*this.containerRect.width+this.containerRect.x,r=this.y*this.containerRect.height+this.containerRect.y;this.$box.style.transform=`translate(${s-10}px,${r-10}px)`,this._valSideEffectBinder.combine([this._coord$,this._size$,this._minimized$,this._containerRect$,this._collectorRect$],(([e,t,i,s,r])=>{const n=t.width*s.width,o=t.height*s.height;return{width:n,height:o,x:e.x*s.width,y:e.y*s.height,scaleX:i&&r?r.width/n:1,scaleY:i&&r?r.height/o:1}}),He).subscribe((e=>{i.set(e)})),i.set({x:s,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&&a.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(nt).forEach((t=>{const i=document.createElement("div");i.className=this.wrapClassName(t)+" "+this.wrapClassName("resize-handle"),i.dataset.teleBoxHandle=t,e.appendChild(i)})),this.$box.appendChild(e);const t="handle-tracking-listener",i=this.wrapClassName("transforming");let s,r,n=0,o=0,a=0,l=0,h=0,c=0;const d=e=>{if(this.state!==Ke.Normal)return;ht(e);let{pageX:t,pageY:i}=ct(e);i<0&&(i=0);const s=(t-h)/this.containerRect.width,d=(i-c)/this.containerRect.height;switch(r){case nt.North:this.transform(this.x,o+d,this.width,l-d);break;case nt.South:this.transform(this.x,this.y,this.width,l+d);break;case nt.West:this.transform(n+s,this.y,a-s,this.height);break;case nt.East:this.transform(this.x,this.y,a+s,this.height);break;case nt.NorthWest:this.transform(n+s,o+d,a-s,l-d);break;case nt.NorthEast:this.transform(this.x,o+d,a+s,l-d);break;case nt.SouthEast:this.transform(this.x,this.y,a+s,l+d);break;case nt.SouthWest:this.transform(n+s,this.y,a-s,l+d);break;default:if(this.fence)this.move(lt(n+s,0,1-this.width),lt(o+d,0,1-this.height));else{const e=20/this.containerRect.width,t=20/this.containerRect.height;this.move(lt(n+s,e-this.width,1-e),lt(o+d,0,1-t))}}},u=e=>{r=void 0,s&&(ht(e),this.$box.classList.toggle(i,!1),this._sideEffect.flush(t),s.remove())},m=e=>{var m;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(!this.draggable||r||this.state!==Ke.Normal)return;const f=e.target;if(null==(m=f.dataset)?void 0:m.teleBoxHandle){ht(e),n=this.x,o=this.y,a=this.width,l=this.height,({pageX:h,pageY:c}=ct(e)),r=f.dataset.teleBoxHandle,s||(s=document.createElement("div"));const m=r?this.wrapClassName(`cursor-${r}`):"";s.className=this.wrapClassName("track-mask"+(m?` ${m}`:"")),this.$box.appendChild(s),this.$box.classList.add(i),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=m,this._sideEffect.addEventListener(e,"mousedown",m,{},"box-resizeHandles-mousedown"),this._sideEffect.addEventListener(e,"touchstart",m,{passive:!1},"box-resizeHandles-touchstart")}destroy(){this.$box.remove(),this.events.emit(tt.Destroyed),this._sideEffect.flushAll(),this._renderSideEffect.flushAll(),this.events.removeAllListeners(),this._delegateEvents.removeAllListeners()}wrapClassName(e){return`${this.namespace}-${e}`}}function bt(){}const xt=(e,t)=>{const i=c(!0);d((()=>{if(!i.current)return e();i.current=!1}),t)},yt=e=>{const[t]=u((()=>new gt(e)));return xt((()=>{null!=e.prefersColorScheme&&t.setPrefersColorScheme(e.prefersColorScheme)}),[t,e.prefersColorScheme]),xt((()=>{null!=e.minWidth&&t.setMinWidth(e.minWidth)}),[t,e.minWidth]),xt((()=>{null!=e.minHeight&&t.setMinHeight(e.minHeight)}),[t,e.minHeight]),xt((()=>{var i,s;t.resize(null!=(i=e.width)?i:t.width,null!=(s=e.height)?s:t.height,!0)}),[t,e.width,e.height]),xt((()=>{var i,s;t.move(null!=(i=e.x)?i:t.x,null!=(s=e.y)?s:t.y,!0)}),[t,e.x,e.y]),xt((()=>{null!=e.title&&t.setTitle(e.title)}),[t,e.title]),xt((()=>{null!=e.visible&&t.setVisible(e.visible)}),[t,e.visible]),xt((()=>{null!=e.minimized&&t.setMinimized(e.minimized,!0)}),[t,e.minimized]),xt((()=>{null!=e.maximized&&t.setMaximized(e.maximized,!0)}),[t,e.maximized]),xt((()=>{null!=e.state&&t.setState(e.state,!0)}),[t,e.state]),xt((()=>{null!=e.draggable&&t.setDraggable(e.draggable)}),[t,e.draggable]),xt((()=>{null!=e.resizable&&t.setResizable(e.resizable)}),[t,e.resizable]),xt((()=>{null!=e.fence&&t.setFence(e.fence)}),[t,e.fence]),xt((()=>{null!=e.containerRect&&t.setContainerRect(e.containerRect)}),[t,e.containerRect]),xt((()=>{null!=e.fixRatio&&t.setFixRatio(e.fixRatio)}),[t,e.fixRatio]),d((()=>{if(e.onResize)return t.events.on(tt.Resize,e.onResize),()=>{t.events.off(tt.Resize,e.onResize)}}),[t,e.onResize]),d((()=>{if(e.onMove)return t.events.on(tt.Move,e.onMove),()=>{t.events.off(tt.Move,e.onMove)}}),[t,e.onMove]),d((()=>{if(e.onClose)return t.events.on(tt.Close,e.onClose),()=>{t.events.off(tt.Close,e.onClose)}}),[t,e.onClose]),d((()=>{if(e.onFocus)return t.events.on(tt.Focus,e.onFocus),()=>{t.events.off(tt.Focus,e.onFocus)}}),[t,e.onFocus]),d((()=>{if(e.onBlur)return t.events.on(tt.Blur,e.onBlur),()=>{t.events.off(tt.Blur,e.onBlur)}}),[t,e.onBlur]),d((()=>{if(e.onStateChanged)return t.events.on(tt.State,e.onStateChanged),()=>{t.events.off(tt.State,e.onStateChanged)}}),[t,e.onStateChanged]),h.createElement("div",{ref:e=>e&&t.render(e),className:t.wrapClassName("box")})};var wt,$t;class Ct{constructor({visible:e=!0,readonly:t=!1,darkMode:i=!1,namespace:s="telebox",styles:r={},onClick:n}={}){this.handleCollectorClick=()=>{!this._readonly&&this.onClick&&this.onClick()},this._visible=e,this._readonly=t,this._darkMode=i,this.namespace=s,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((i=>{const s=e[i];null!=s&&(t.style[i]=s)}))}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}`}}($t=wt||(wt={})).Focused="focused",$t.Blurred="blurred",$t.Created="created",$t.Removed="removed",$t.State="state",$t.Maximized="maximized",$t.Minimized="minimized",$t.Move="move",$t.Resize="resize",$t.IntrinsicMove="intrinsic_move",$t.IntrinsicResize="intrinsic_resize",$t.VisualResize="visual_resize",$t.ZIndex="z_index",$t.PrefersColorScheme="prefers_color_scheme",$t.DarkMode="dark_mode";class zt extends pt{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===Ke.Maximized){const{children:i}=this.$titles.firstElementChild;for(let s=i.length-1;s>=0;s-=1){const r=i[s],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:i,width:s}=e;this.$titleBar.style.transform=`translate(${t}px, ${i}px)`,this.$titleBar.style.width=s+"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===Ke.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:i,width:s}=this.containerRect;e.style.transform=`translate(${t}px, ${i}px)`,e.style.width=s+"px",e.classList.add(this.wrapClassName("max-titlebar")),e.classList.toggle(this.wrapClassName("max-titlebar-maximized"),this.state===Ke.Maximized),e.classList.toggle(this.wrapClassName("readonly"),this.readonly),e.classList.add(this.wrapClassName(this.darkMode?"color-scheme-dark":"color-scheme-light"));const r=document.createElement("div");return r.classList.add(this.wrapClassName("titles-area")),e.insertBefore(r,e.firstElementChild),this.updateTitles(),e}destroy(){super.destroy(),this.$titles=void 0,this.boxes.length=0,this.focusedBox=void 0}updateTitles(){this.$titleBar&&this.state===Ke.Maximized&&(this.$titleBar.classList.toggle(this.wrapClassName("max-titlebar-single-title"),1===this.boxes.length),1===this.boxes.length?this.setTitle(this.boxes[0].title):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 i=document.createElement("button");i.className=this.wrapClassName("titles-tab"),i.textContent=t.title,i.dataset.teleBoxID=t.id,i.dataset.teleTitleBarNoDblClick="true",this.focusedBox&&t.id===this.focusedBox.id&&i.classList.add(this.wrapClassName("titles-tab-focus")),e.appendChild(i)})),this.$titles}}class Bt{constructor({root:e=document.body,prefersColorScheme:t=Je.Light,minimized:i=!1,maximized:s=!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 f,this._sideEffect=new Xe;const{combine:h,createVal:c}=Ue(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 m=c(t);m.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setPrefersColorScheme(e,i))),i||this.events.emit(wt.PrefersColorScheme,e)})),this._darkMode$=h([u,m],(([e,t])=>"auto"===t?e:"dark"===t)),this._darkMode$.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setDarkMode(e,i))),i||this.events.emit(wt.DarkMode,e)}));const v=c(l);v.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setReadonly(e,i)))}));const p=c(i),g=c(s);g.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setMaximized(e,i))),i||this.events.emit(wt.Maximized,e)}));const b=h([p,g],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));b.reaction(((e,t,i)=>{this.maxTitleBar.setState(e),i||this.events.emit(wt.State,e)}));const x=c(r);x.subscribe(((e,t,i)=>{this.boxes.forEach((t=>t.setFence(e,i)))}));const y=c(n,He);y.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setContainerRect(e,i))),this.maxTitleBar.setContainerRect(e)}));const w=c(null===o?null:o||new Ct({visible:i,readonly:l,namespace:a}).mount(e));w.subscribe((e=>{e&&(e.setVisible(p.value),e.setReadonly(v.value),e.setDarkMode(this._darkMode$.value),this._sideEffect.add((()=>(e.onClick=()=>{v.value||p.setValue(!1)},()=>e.destroy())),"collect-onClick"))})),v.subscribe((e=>{var t;return null==(t=w.value)?void 0:t.setReadonly(e)})),this._darkMode$.subscribe((e=>{var t;null==(t=w.value)||t.setDarkMode(e)}));const $=()=>{var e;if(null==(e=w.value)?void 0:e.$collector){const{x:e,y:t,width:i,height:s}=w.value.$collector.getBoundingClientRect(),r=this.root.getBoundingClientRect();return{x:e-r.x,y:t-r.y,width:i,height:s}}},C=c(p.value?$():void 0);C.subscribe(((e,t,i)=>{this.boxes.forEach((t=>{t.setCollectorRect(e,i)}))})),p.subscribe(((e,t,i)=>{var s,r;null==(s=w.value)||s.setVisible(e),e&&(null==(r=w.value)?void 0:r.$collector)&&C.setValue($()),this.boxes.forEach((t=>t.setMinimized(e,i))),i||this.events.emit(wt.Minimized,e)}));const z=this.wrapClassName("titlebar-icon-close"),B=e=>{var t;if(v.value)return;const i=e.target;if(i.tagName)for(let s=i;s;s=s.parentElement){if(s.classList&&s.classList.contains(z))return;const e=null==(t=s.dataset)?void 0:t.teleBoxID;if(e){const t=this.getBox(e);if(t)return this.focusBox(t),void this.makeBoxTop(t)}}};this._sideEffect.addEventListener(window,"mousedown",B,!0),this._sideEffect.addEventListener(window,"touchstart",B,!0),this.maxTitleBar=new zt({darkMode:this.darkMode,readonly:v.value,namespace:this.namespace,state:b.value,boxes:this.boxes$.value,containerRect:y.value,onEvent:e=>{switch(e.type){case st.Maximize:g.setValue(!g.value);break;case st.Minimize:p.setValue(!0);break;case tt.Close:this.removeTopBox(),this.focusTopBox()}}}),v.subscribe((e=>this.maxTitleBar.setReadonly(e))),this._darkMode$.subscribe((e=>{this.maxTitleBar.setDarkMode(e)})),this.boxes$.reaction((e=>{this.maxTitleBar.setBoxes(e)}));Ge(this,{prefersColorScheme:m,containerRect:y,collector:w,collectorRect:C,readonly:v,fence:x,minimized:p,maximized:g}),this._state$=b,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 Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.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 i=new gt(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,collectorRect:this.collectorRect}));return i.mount(this.root),i.focus&&(this.focusBox(i),t&&this.makeBoxTop(i)),this.boxes$.setValue([...this.boxes,i]),i._delegateEvents.on(st.Maximize,(()=>{this.setMaximized(!this.maximized)})),i._delegateEvents.on(st.Minimize,(()=>{this.setMinimized(!0)})),i._delegateEvents.on(st.Close,(()=>{this.remove(i),this.focusTopBox()})),i._coord$.reaction(((e,t,s)=>{s||this.events.emit(wt.Move,i)})),i._size$.reaction(((e,t,s)=>{s||this.events.emit(wt.Resize,i)})),i._intrinsicCoord$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicMove,i)})),i._intrinsicSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicResize,i)})),i._visualSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.VisualResize,i)})),i._zIndex$.reaction(((e,t,s)=>{if(this.boxes.length>0){const e=this.boxes.reduce(((e,t)=>e.zIndex>t.zIndex?e:t));this.topBox$.setValue(e)}s||this.events.emit(wt.ZIndex,i)})),this.events.emit(wt.Created,i),i}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,i=!1){const s=this.boxes.find((t=>t.id===e));if(s)return this.updateBox(s,t,i)}updateAll(e,t=!1){this.boxes.forEach((i=>{this.updateBox(i,e,t)}))}remove(e,t=!1){const i=this.getBoxIndex(e);if(i>=0){const e=this.boxes.slice(),s=e.splice(i,1);return this.boxes$.setValue(e),s.forEach((e=>e.destroy())),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,s)),s[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(wt.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 qe&&t.destroy()}))}wrapClassName(e){return`${this.namespace}-${e}`}focusBox(e,t=!1){const i=this.getBox(e);i&&(this.boxes.forEach((e=>{if(i===e){let e=!1;i.focus||(e=!0,i.setFocus(!0,t)),e&&!t&&this.events.emit(wt.Focused,i)}else e.focus&&this.blurBox(e,t)})),this.maxTitleBar.focusBox(i))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(e,t=!1){const i=this.getBox(e);i&&(i.focus&&(i.setFocus(!1,t),t||this.events.emit(wt.Blurred,i)),this.maxTitleBar.focusedBox===i&&this.maxTitleBar.focusBox())}blurAll(e=!1){this.boxes.forEach((t=>{t.focus&&(t.setFocus(!1,e),e||this.events.emit(wt.Blurred,t))})),this.maxTitleBar.focusedBox&&this.maxTitleBar.focusBox()}teleBoxMatcher(e){const t=Object.keys(e);return i=>t.every((t=>e[t]===i[t]))}updateBox(e,t,i=!1){null==t.x&&null==t.y||e.move(null==t.x?e.intrinsicX:t.x,null==t.y?e.intrinsicY:t.y,i),null==t.width&&null==t.height||e.resize(null==t.width?e.intrinsicWidth:t.width,null==t.height?e.intrinsicHeight:t.height,i),null!=t.title&&(e.setTitle(t.title),this.maxTitleBar.updateTitles()),null!=t.visible&&e.setVisible(t.visible,i),null!=t.minHeight&&e.setMinHeight(t.minHeight,i),null!=t.minWidth&&e.setMinWidth(t.minWidth,i),null!=t.resizable&&e.setResizable(t.resizable,i),null!=t.draggable&&e.setDraggable(t.draggable,i),null!=t.fixRatio&&e.setFixRatio(t.fixRatio,i),null!=t.zIndex&&e.setZIndex(t.zIndex,i),null!=t.content&&e.mountContent(t.content),null!=t.footer&&e.mountFooter(t.footer)}smartPosition(e={}){let{x:t,y:i}=e;const{width:s=.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-s*this.containerRect.width&&(e=20)),t=e/this.containerRect.width}if(null==i){let e=20;this.topBox&&(e=this.topBox.intrinsicY*this.containerRect.height+20,e>this.containerRect.height-r*this.containerRect.height&&(e=20)),i=e/this.containerRect.height}return l(a({},e),{x:t,y:i,width:s,height:r})}makeBoxTop(e,t=!1){this.topBox&&e!==this.topBox&&e.setZIndex(this.topBox.zIndex+1,t)}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}}export{pt as DefaultTitleBar,Je as TELE_BOX_COLOR_SCHEME,st as TELE_BOX_DELEGATE_EVENT,tt as TELE_BOX_EVENT,wt as TELE_BOX_MANAGER_EVENT,nt as TELE_BOX_RESIZE_HANDLE,Ke as TELE_BOX_STATE,gt as TeleBox,Ct as TeleBoxCollector,at as TeleBoxDragHandleType,Bt as TeleBoxManager,yt as TeleBoxReact};
|
|
15
|
+
***************************************************************************** */function B(e,t){var i={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(i[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(i[s[r]]=e[s[r]])}return i}var N=0,T="undefined"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),i=Math.max(0,16.7-(t-N));N=t+i,setTimeout((function(){return e(N)}),i)},M=1/60*1e3,k=!0,R=!1,I=!1,D={delta:0,timestamp:0},O=["read","update","preRender","render","postRender"],L=function(e){return R=e},A=O.reduce((function(e,t){var i,s,r,n,o,a,h,l,c;return e[t]=(i=L,s=[],r=[],n=0,o=!1,a=0,h=new WeakSet,l=new WeakSet,c={cancel:function(e){var t=r.indexOf(e);h.add(e),-1!==t&&r.splice(t,1)},process:function(e){var t,d;if(o=!0,s=(t=[r,s])[0],(r=t[1]).length=0,n=s.length)for(a=0;a<n;a++)(d=s[a])(e),!0!==l.has(d)||h.has(d)||(c.schedule(d),i(!0));o=!1},schedule:function(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var a=i&&o,c=a?s:r;h.delete(e),t&&l.add(e),-1===c.indexOf(e)&&(c.push(e),a&&(n=s.length))}}),e}),{}),V=O.reduce((function(e,t){var i=A[t];return e[t]=function(e,t,s){return void 0===t&&(t=!1),void 0===s&&(s=!1),R||H(),i.schedule(e,t,s),e},e}),{}),P=function(e){return A[e].process(D)},j=function(e){R=!1,D.delta=k?M:Math.max(Math.min(e-D.timestamp,40),1),k||(M=D.delta),D.timestamp=e,I=!0,O.forEach(P),I=!1,R&&(k=!1,T(j))},H=function(){R=!0,k=!0,I||T(j)},W=function(e,t){return function(i){return Math.max(Math.min(i,t),e)}},X=function(e){return e%1?Number(e.toFixed(5)):e},Y=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i,F={test:function(e){return"number"==typeof e},parse:parseFloat,transform:function(e){return e}},Z=S(S({},F),{transform:W(0,1)}),U=S(S({},F),{default:1}),q=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}}},G=q("deg"),J=q("%"),Q=q("px"),K=S(S({},J),{parse:function(e){return J.parse(e)/100},transform:function(e){return J.transform(100*e)}}),ee=W(0,255),te=function(e){return void 0!==e.red},ie=function(e){return void 0!==e.hue};var se=function(e){return function(t){if("string"!=typeof t)return t;for(var i={},s=function(e){return e.substring(e.indexOf("(")+1,e.lastIndexOf(")"))}(t).replace(/(,|\/)/g," ").split(/ \s*/),r=0;r<4;r++)i[e[r]]=void 0!==s[r]?parseFloat(s[r]):1;return i}},re=S(S({},F),{transform:function(e){return Math.round(ee(e))}});function ne(e,t){return e.startsWith(t)&&Y.test(e)}var oe,ae={test:function(e){return"string"==typeof e?ne(e,"rgb"):te(e)},parse:se(["red","green","blue","alpha"]),transform:function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha;return"rgba("+t+", "+i+", "+s+", "+(void 0===r?1:r)+")"}({red:re.transform(t),green:re.transform(i),blue:re.transform(s),alpha:X(Z.transform(n))})}},he={test:function(e){return"string"==typeof e?ne(e,"hsl"):ie(e)},parse:se(["hue","saturation","lightness","alpha"]),transform:function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha;return"hsla("+t+", "+i+", "+s+", "+(void 0===r?1:r)+")"}({hue:Math.round(t),saturation:J.transform(X(i)),lightness:J.transform(X(s)),alpha:X(Z.transform(n))})}},le=S(S({},ae),{test:function(e){return"string"==typeof e&&ne(e,"#")},parse:function(e){var t="",i="",s="";return e.length>4?(t=e.substr(1,2),i=e.substr(3,2),s=e.substr(5,2)):(t=e.substr(1,1),i=e.substr(2,1),s=e.substr(3,1),t+=t,i+=i,s+=s),{red:parseInt(t,16),green:parseInt(i,16),blue:parseInt(s,16),alpha:1}}}),ce={test:function(e){return"string"==typeof e&&Y.test(e)||te(e)||ie(e)},parse:function(e){return ae.test(e)?ae.parse(e):he.test(e)?he.parse(e):le.test(e)?le.parse(e):e},transform:function(e){return te(e)?ae.transform(e):ie(e)?he.transform(e):e}},de=function(e){var t=e.onRead,i=e.onRender,s=e.uncachedValues,r=void 0===s?new Set:s,n=e.useCache,o=void 0===n||n;return function(e){void 0===e&&(e={});var s=B(e,[]),n={},a=[],h=!1;function l(e,t){e.startsWith("--")&&(s.hasCSSVariable=!0);var i=n[e];n[e]=t,n[e]!==i&&(-1===a.indexOf(e)&&a.push(e),h||(h=!0,V.render(c.render)))}var c={get:function(e,i){return void 0===i&&(i=!1),!i&&o&&!r.has(e)&&void 0!==n[e]?n[e]:t(e,s)},set:function(e,t){if("string"==typeof e)l(e,t);else for(var i in e)l(i,e[i]);return this},render:function(e){return void 0===e&&(e=!1),(h||!0===e)&&(i(n,s,a),h=!1,a.length=0),this}};return c}},ue=/([a-z])([A-Z])/g,fe=function(e){return e.replace(ue,"$1-$2").toLowerCase()},me=new Map,pe=new Map,ge=["Webkit","Moz","O","ms",""],be=ge.length,ve="undefined"!=typeof document,xe=function(e,t){return pe.set(e,fe(t))},we=function(e,t){void 0===t&&(t=!1);var i=t?pe:me;return i.has(e)||(ve?function(e){oe=oe||document.createElement("div");for(var t=0;t<be;t++){var i=ge[t],s=""===i,r=s?e:i+e.charAt(0).toUpperCase()+e.slice(1);if(r in oe.style||s){if(s&&"clipPath"===e&&pe.has(e))return;me.set(e,r),xe(e,(s?"":"-")+fe(r))}}}(e):function(e){xe(e,e)}(e)),i.get(e)||e},ye=["","X","Y","Z"],$e=["translate","scale","rotate","skew","transformPerspective"].reduce((function(e,t){return ye.reduce((function(e,i){return e.push(t+i),e}),e)}),["x","y","z"]),Ee=$e.reduce((function(e,t){return e[t]=!0,e}),{});function ze(e){return!0===Ee[e]}function Ce(e,t){return $e.indexOf(e)-$e.indexOf(t)}var _e=new Set(["originX","originY","originZ"]);function Se(e){return _e.has(e)}var Be=S(S({},F),{transform:Math.round}),Ne={color:ce,backgroundColor:ce,outlineColor:ce,fill:ce,stroke:ce,borderColor:ce,borderTopColor:ce,borderRightColor:ce,borderBottomColor:ce,borderLeftColor:ce,borderWidth:Q,borderTopWidth:Q,borderRightWidth:Q,borderBottomWidth:Q,borderLeftWidth:Q,borderRadius:Q,radius:Q,borderTopLeftRadius:Q,borderTopRightRadius:Q,borderBottomRightRadius:Q,borderBottomLeftRadius:Q,width:Q,maxWidth:Q,height:Q,maxHeight:Q,size:Q,top:Q,right:Q,bottom:Q,left:Q,padding:Q,paddingTop:Q,paddingRight:Q,paddingBottom:Q,paddingLeft:Q,margin:Q,marginTop:Q,marginRight:Q,marginBottom:Q,marginLeft:Q,rotate:G,rotateX:G,rotateY:G,rotateZ:G,scale:U,scaleX:U,scaleY:U,scaleZ:U,skew:G,skewX:G,skewY:G,distance:Q,translateX:Q,translateY:Q,translateZ:Q,x:Q,y:Q,z:Q,perspective:Q,opacity:Z,originX:K,originY:K,originZ:Q,zIndex:Be,fillOpacity:Z,strokeOpacity:Z,numOctaves:Be},Te=function(e){return Ne[e]},Me=function(e,t){return t&&"number"==typeof e?t.transform(e):e},ke=new Set(["scrollLeft","scrollTop"]),Re=new Set(["scrollLeft","scrollTop","transform"]),Ie={x:"translateX",y:"translateY",z:"translateZ"};function De(e){return"function"==typeof e}function Oe(e,t,i,s,r,n,o,a){void 0===t&&(t=!0),void 0===i&&(i={}),void 0===s&&(s={}),void 0===r&&(r={}),void 0===n&&(n=[]),void 0===o&&(o=!1),void 0===a&&(a=!0);var h=!0,l=!1,c=!1;for(var d in e){var u=e[d],f=Te(d),m=Me(u,f);ze(d)?(l=!0,s[d]=m,n.push(d),h&&(f.default&&u!==f.default||!f.default&&0!==u)&&(h=!1)):Se(d)?(r[d]=m,c=!0):Re.has(d)&&De(m)||(i[we(d,o)]=m)}return(l||"function"==typeof e.transform)&&(i.transform=function(e,t,i,s,r,n){void 0===n&&(n=!0);var o="",a=!1;i.sort(Ce);for(var h=i.length,l=0;l<h;l++){var c=i[l];o+=(Ie[c]||c)+"("+t[c]+") ",a="z"===c||a}return!a&&r?o+="translateZ(0)":o=o.trim(),De(e.transform)?o=e.transform(t,s?"":o):n&&s&&(o="none"),o}(e,s,n,h,t,a)),c&&(i.transformOrigin=(r.originX||"50%")+" "+(r.originY||"50%")+" "+(r.originZ||0)),i}function Le(e){var t=void 0===e?{}:e,i=t.enableHardwareAcceleration,s=void 0===i||i,r=t.isDashCase,n=void 0===r||r,o=t.allowTransformNone,a=void 0===o||o,h={},l={},c={},d=[];return function(e){return d.length=0,Oe(e,s,h,l,c,d,n,a),h}}var Ae=de({onRead:function(e,t){var i=t.element,s=t.preparseOutput,r=Te(e);if(ze(e))return r&&r.default||0;if(ke.has(e))return i[e];var n=window.getComputedStyle(i,null).getPropertyValue(we(e,!0))||0;return s&&r&&r.test(n)&&r.parse?r.parse(n):n},onRender:function(e,t,i){var s=t.element,r=t.buildStyles,n=t.hasCSSVariable;if(Object.assign(s.style,r(e)),n)for(var o=i.length,a=0;a<o;a++){var h=i[a];h.startsWith("--")&&s.style.setProperty(h,e[h])}-1!==i.indexOf("scrollLeft")&&(s.scrollLeft=e.scrollLeft),-1!==i.indexOf("scrollTop")&&(s.scrollTop=e.scrollTop)},uncachedValues:ke});var Ve=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues"]),Pe=function(e,t){return Q.transform(e*t)},je={x:0,y:0,width:0,height:0};function He(e,t,i){return"string"==typeof e?e:Q.transform(t+i*e)}var We={enableHardwareAcceleration:!1,isDashCase:!1};function Xe(e,t,i,s,r,n){void 0===t&&(t=je),void 0===s&&(s=Le(We)),void 0===r&&(r={style:{}}),void 0===n&&(n=!0);var o=e.attrX,a=e.attrY,h=e.originX,l=e.originY,c=e.pathLength,d=e.pathSpacing,u=void 0===d?1:d,f=e.pathOffset,m=void 0===f?0:f,p=s(B(e,["attrX","attrY","originX","originY","pathLength","pathSpacing","pathOffset"]));for(var g in p){if("transform"===g)r.style.transform=p[g];else r[n&&!Ve.has(g)?fe(g):g]=p[g]}return(void 0!==h||void 0!==l||p.transform)&&(r.style.transformOrigin=function(e,t,i){return He(t,e.x,e.width)+" "+He(i,e.y,e.height)}(t,void 0!==h?h:.5,void 0!==l?l:.5)),void 0!==o&&(r.x=o),void 0!==a&&(r.y=a),void 0!==i&&void 0!==c&&(r[n?"stroke-dashoffset":"strokeDashoffset"]=Pe(-m,i),r[n?"stroke-dasharray":"strokeDasharray"]=Pe(c,i)+" "+Pe(u,i)),r}function Ye(e,t,i){void 0===i&&(i=!0);var s={style:{}},r=Le(We);return function(n){return Xe(n,e,t,r,s,i)}}var Fe=de({onRead:function(e,t){var i=t.element;if(ze(e=Ve.has(e)?e:fe(e))){var s=Te(e);return s&&s.default||0}return i.getAttribute(e)},onRender:function(e,t){var i=t.element,s=(0,t.buildAttrs)(e);for(var r in s)"style"===r?Object.assign(i.style,s.style):i.setAttribute(r,s[r])}}),Ze=de({useCache:!1,onRead:function(e){return"scrollTop"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,i=void 0===t?0:t,s=e.scrollLeft,r=void 0===s?0:s;return window.scrollTo(r,i)}}),Ue=new WeakMap,qe=function(e,t){var i,s,r,n;return e===window?i=Ze(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}}}(s=e),n=function(e){return"path"===e.tagName}(s)&&s.getTotalLength?s.getTotalLength():void 0,i=Fe({element:s,buildAttrs:Ye(r,n)})):i=function(e,t){void 0===t&&(t={});var i=t.enableHardwareAcceleration,s=t.allowTransformNone,r=B(t,["enableHardwareAcceleration","allowTransformNone"]);return Ae(S({element:e,buildStyles:Le({enableHardwareAcceleration:i,allowTransformNone:s}),preparseOutput:!0},r))}(e,t),Ue.set(e,i),i};function Ge(e,t){return function(e,t){return Ue.has(e)?Ue.get(e):qe(e,t)}("string"==typeof e?document.querySelector(e):e,t)}var Je=function(e,t,i,s){var r=i?i.call(s,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),h=0;h<n.length;h++){var l=n[h];if(!a(l))return!1;var c=e[l],d=t[l];if(!1===(r=i?i.call(s,c,d,l):void 0)||void 0===r&&c!==d)return!1}return!0};const Qe="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",Ke=Qe.length,et=Array(20),tt=()=>{for(let e=0;e<20;e++)et[e]=Qe.charAt(Math.random()*Ke);return et.join("")};function it(e){try{return e()}catch(t){console.error(t)}}class st{constructor(){this.disposers=new Map}addDisposer(e,t=this.genUID()){return this.flush(t),this.disposers.set(t,Array.isArray(e)?()=>e.forEach(it):e),t}add(e,t=this.genUID()){return this.addDisposer(e(),t)}addEventListener(e,t,i,s,r=this.genUID()){return e.addEventListener(t,i,s),this.addDisposer((()=>e.removeEventListener(t,i,s)),r),r}setTimeout(e,t,i=this.genUID()){const s=window.setTimeout((()=>{this.remove(i),e()}),t);return this.addDisposer((()=>window.clearTimeout(s)),i)}setInterval(e,t,i=this.genUID()){const s=window.setInterval(e,t);return this.addDisposer((()=>window.clearInterval(s)),i)}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(i){console.error(i)}}flushAll(){this.disposers.forEach(it),this.disposers.clear()}genUID(){let e;do{e=tt()}while(this.disposers.has(e));return e}}var rt=Object.defineProperty,nt=Object.defineProperties,ot=Object.getOwnPropertyDescriptors,at=Object.getOwnPropertySymbols,ht=Object.prototype.hasOwnProperty,lt=Object.prototype.propertyIsEnumerable,ct=(e,t,i)=>t in e?rt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,dt=(e,t,i)=>(ct(e,"symbol"!=typeof t?t+"":t,i),i);class ut{constructor(e){dt(this,"_subscribers"),dt(this,"_bSub"),dt(this,"_bSubDisposer"),this._bSub=e}get size(){return this._subscribers?this._subscribers.size:0}invoke(e,t){this._subscribers&&this._subscribers.forEach((i=>i(e,t)))}add(e){this._bSub&&(!this._subscribers||this._subscribers.size<=0)&&(this._bSubDisposer=this._bSub()),this._subscribers||(this._subscribers=new Set),this._subscribers.add(e)}remove(e){if(this._subscribers&&this._subscribers.delete(e),this._subscribers&&this._subscribers.size<=0&&this._bSubDisposer){const e=this._bSubDisposer;this._bSubDisposer=null,e()}}clear(){if(this._subscribers&&this._subscribers.clear(),this._bSubDisposer){const e=this._bSubDisposer;this._bSubDisposer=null,e()}}destroy(){this.clear()}}class ft{constructor(e,t){let i;if(dt(this,"_subscribers"),dt(this,"_value"),this._value=e,t&&(t.compare&&(this.compare=t.compare),t.beforeSubscribe)){const e=t.beforeSubscribe,s=this._setValue.bind(this);i=()=>e(s)}this._subscribers=new ut(i)}_setValue(e,t){this.compare(e,this._value)||(this._value=e,this._subscribers.invoke(e,t))}get value(){return this._value}reaction(e){return this._subscribers.add(e),()=>{this._subscribers.remove(e)}}subscribe(e,t){const i=this.reaction(e);return e(this._value,t),i}destroy(){this._subscribers.destroy()}unsubscribe(e){this._subscribers.remove(e)}compare(e,t){return e===t}}class mt extends ft{constructor(){super(...arguments),dt(this,"setValue",this._setValue)}}class pt extends ft{constructor(e,t,i={}){var s;super(t(gt(e)),(s=((e,t)=>{for(var i in t||(t={}))ht.call(t,i)&&ct(e,i,t[i]);if(at)for(var i of at(t))lt.call(t,i)&&ct(e,i,t[i]);return e})({},i),nt(s,ot({beforeSubscribe:s=>{let r=gt(e);s(t(r));const n=e.map(((e,i)=>e.reaction(((e,n)=>{r=r.slice(),r[i]=e,s(t(r),n)})))),o=()=>n.forEach((e=>e()));if(i.beforeSubscribe){const e=i.beforeSubscribe(s);if(e)return()=>{o(),e()}}return o}})))),dt(this,"_srcValue"),this._srcValue=()=>t(gt(e))}get value(){if(this._subscribers.size<=0){const e=this._srcValue();return this.compare(e,this._value)?this._value:e}return this._value}}function gt(e){return e.map(bt)}function bt(e){return e.value}function vt(e,t=(e=>e),i={}){return new pt(e,t,i)}function xt(e,t){Object.keys(t).forEach((i=>{!function(e,t,i){Object.defineProperties(e,{[t]:{get:()=>i.value},[`_${t}$`]:{value:i}})}(e,i,t[i])}))}function wt(e,t){Object.keys(t).forEach((i=>{!function(e,t,i){Object.defineProperties(e,{[t]:{get:()=>i.value},[`_${t}$`]:{value:i},[`set${yt(t)}`]:{value:(e,t)=>i.setValue(e,t)}})}(e,i,t[i])}))}function yt(e){return e[0].toUpperCase()+e.slice(1)}var $t,Et,zt,Ct,_t,St,Bt,Nt,Tt,Mt;(Et=$t||($t={})).Light="light",Et.Dark="dark",Et.Auto="auto",(Ct=zt||(zt={})).Normal="normal",Ct.Minimized="minimized",Ct.Maximized="maximized",(St=_t||(_t={})).DarkMode="dark_mode",St.PrefersColorScheme="prefers_color_scheme",St.Close="close",St.Focus="focus",St.Blur="blur",St.IntrinsicMove="intrinsic_move",St.IntrinsicResize="intrinsic_resize",St.ZIndex="z_index",St.State="state",St.Minimized="minimized",St.Maximized="maximized",St.Readonly="readonly",St.Destroyed="destroyed",(Nt=Bt||(Bt={})).Close="close",Nt.Maximize="maximize",Nt.Minimize="minimize",(Mt=Tt||(Tt={})).North="n",Mt.South="s",Mt.West="w",Mt.East="e",Mt.NorthWest="nw",Mt.NorthEast="ne",Mt.SouthEast="se",Mt.SouthWest="sw";const kt="dh";function Rt(e,t,i){return Math.min(Math.max(e,t),i)}function It(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function Dt(e){return e.touches?e.touches[0]:e}let Ot=1;function Lt(){return"New Box "+Ot++}function At(e){return Boolean(e)}function Vt(e){return!e}class Pt{constructor({readonly$:e,state$:t,title:i="",buttons:s,onEvent:r,onDragStart:n,namespace:o="telebox"}){this.sideEffect=new st,this.lastTitleBarClick={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarClick=e=>{var t;if(this.readonly$.value)return;if(0!==e.button)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;It(e);const i=Date.now();i-this.lastTitleBarClick.timestamp<=500?Math.abs(e.clientX-this.lastTitleBarClick.clientX)<=5&&Math.abs(e.clientY-this.lastTitleBarClick.clientY)<=5&&this.onEvent&&this.onEvent({type:Bt.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarClick.timestamp=i,this.lastTitleBarClick.clientX=e.clientX,this.lastTitleBarClick.clientY=e.clientY},this.lastTitleBarTouch={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarTouch=e=>{var t;if(this.readonly$.value)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;It(e);const i=Date.now(),{clientX:s=this.lastTitleBarTouch.clientX+100,clientY:r=this.lastTitleBarTouch.clientY+100}=e.touches[0]||{};i-this.lastTitleBarTouch.timestamp<=500?Math.abs(s-this.lastTitleBarTouch.clientX)<=10&&Math.abs(r-this.lastTitleBarTouch.clientY)<=10&&this.onEvent&&this.onEvent({type:Bt.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarTouch.timestamp=i,this.lastTitleBarTouch.clientX=s,this.lastTitleBarTouch.clientY=r},this.readonly$=e,this.state$=t,this.title$=new mt(i),this.onEvent=r,this.onDragStart=n,this.namespace=o,this.buttons=s||[{type:Bt.Minimize,iconClassName:this.wrapClassName("titlebar-icon-minimize")},{type:Bt.Maximize,iconClassName:this.wrapClassName("titlebar-icon-maximize"),isActive:e=>e===zt.Maximized},{type:Bt.Close,iconClassName:this.wrapClassName("titlebar-icon-close")}],this.$dragArea=this.renderDragArea()}get title(){return this.title$.value}setTitle(e){this.title$.setValue(e)}render(){if(!this.$titleBar){this.$titleBar=document.createElement("div"),this.$titleBar.className=this.wrapClassName("titlebar");const e=document.createElement("div");e.className=this.wrapClassName("title-area"),e.dataset.teleBoxHandle="dh";const t=document.createElement("h1");t.className=this.wrapClassName("title"),t.dataset.teleBoxHandle="dh",e.appendChild(t),e.appendChild(this.$dragArea);const i=document.createElement("div");i.className=this.wrapClassName("titlebar-btns"),this.buttons.forEach((({iconClassName:e},t)=>{const s=String(t),r=document.createElement("button");r.className=`${this.wrapClassName("titlebar-btn")} ${e}`,r.dataset.teleTitleBarBtnIndex=s,r.dataset.teleTitleBarNoDblClick="true",i.appendChild(r)})),this.sideEffect.addDisposer(this.title$.subscribe((e=>{t.textContent=e,t.title=e})),"render-title"),this.sideEffect.addDisposer(this.state$.subscribe((e=>{this.buttons.forEach(((t,s)=>{var r;t.isActive&&(null==(r=i.children[s])||r.classList.toggle("is-active",t.isActive(e)))}))})),"render-state-btns"),this.sideEffect.addEventListener(i,"click",(e=>{var t;if(this.readonly$.value)return;const i=e.target,s=Number(null==(t=i.dataset)?void 0:t.teleTitleBarBtnIndex);if(!Number.isNaN(s)&&s<this.buttons.length){It(e);const t=this.buttons[s];this.onEvent&&this.onEvent({type:t.type,value:t.value})}}),{},"render-btns-container-click"),this.$titleBar.appendChild(e),this.$titleBar.appendChild(i)}return this.$titleBar}renderDragArea(){const e=document.createElement("div");return e.className=this.wrapClassName("drag-area"),e.dataset.teleBoxHandle="dh",this.sideEffect.addEventListener(e,"mousedown",this.handleTitleBarClick),this.sideEffect.addEventListener(e,"touchstart",this.handleTitleBarTouch,{passive:!0}),e}dragHandle(){return this.$titleBar}wrapClassName(e){return`${this.namespace}-${e}`}destroy(){this.sideEffect.flushAll(),this.$titleBar&&(this.$titleBar=void 0,this.onDragStart=void 0,this.onEvent=void 0)}}var jt,Ht,Wt=[],Xt="ResizeObserver loop completed with undelivered notifications.";(Ht=jt||(jt={})).BORDER_BOX="border-box",Ht.CONTENT_BOX="content-box",Ht.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box";var Yt,Ft=function(e){return Object.freeze(e)},Zt=function(e,t){this.inlineSize=e,this.blockSize=t,Ft(this)},Ut=function(){function e(e,t,i,s){return this.x=e,this.y=t,this.width=i,this.height=s,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,Ft(this)}return e.prototype.toJSON=function(){var e=this;return{x:e.x,y:e.y,top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.width,height:e.height}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),qt=function(e){return e instanceof SVGElement&&"getBBox"in e},Gt=function(e){if(qt(e)){var t=e.getBBox(),i=t.width,s=t.height;return!i&&!s}var r=e,n=r.offsetWidth,o=r.offsetHeight;return!(n||o||e.getClientRects().length)},Jt=function(e){var t,i;if(e instanceof Element)return!0;var s=null===(i=null===(t=e)||void 0===t?void 0:t.ownerDocument)||void 0===i?void 0:i.defaultView;return!!(s&&e instanceof s.Element)},Qt="undefined"!=typeof window?window:{},Kt=new WeakMap,ei=/auto|scroll/,ti=/^tb|vertical/,ii=/msie|trident/i.test(Qt.navigator&&Qt.navigator.userAgent),si=function(e){return parseFloat(e||"0")},ri=function(e,t,i){return void 0===e&&(e=0),void 0===t&&(t=0),void 0===i&&(i=!1),new Zt((i?t:e)||0,(i?e:t)||0)},ni=Ft({devicePixelContentBoxSize:ri(),borderBoxSize:ri(),contentBoxSize:ri(),contentRect:new Ut(0,0,0,0)}),oi=function(e,t){if(void 0===t&&(t=!1),Kt.has(e)&&!t)return Kt.get(e);if(Gt(e))return Kt.set(e,ni),ni;var i=getComputedStyle(e),s=qt(e)&&e.ownerSVGElement&&e.getBBox(),r=!ii&&"border-box"===i.boxSizing,n=ti.test(i.writingMode||""),o=!s&&ei.test(i.overflowY||""),a=!s&&ei.test(i.overflowX||""),h=s?0:si(i.paddingTop),l=s?0:si(i.paddingRight),c=s?0:si(i.paddingBottom),d=s?0:si(i.paddingLeft),u=s?0:si(i.borderTopWidth),f=s?0:si(i.borderRightWidth),m=s?0:si(i.borderBottomWidth),p=d+l,g=h+c,b=(s?0:si(i.borderLeftWidth))+f,v=u+m,x=a?e.offsetHeight-v-e.clientHeight:0,w=o?e.offsetWidth-b-e.clientWidth:0,y=r?p+b:0,$=r?g+v:0,E=s?s.width:si(i.width)-y-w,z=s?s.height:si(i.height)-$-x,C=E+p+w+b,_=z+g+x+v,S=Ft({devicePixelContentBoxSize:ri(Math.round(E*devicePixelRatio),Math.round(z*devicePixelRatio),n),borderBoxSize:ri(C,_,n),contentBoxSize:ri(E,z,n),contentRect:new Ut(d,h,E,z)});return Kt.set(e,S),S},ai=function(e,t,i){var s=oi(e,i),r=s.borderBoxSize,n=s.contentBoxSize,o=s.devicePixelContentBoxSize;switch(t){case jt.DEVICE_PIXEL_CONTENT_BOX:return o;case jt.BORDER_BOX:return r;default:return n}},hi=function(e){var t=oi(e);this.target=e,this.contentRect=t.contentRect,this.borderBoxSize=Ft([t.borderBoxSize]),this.contentBoxSize=Ft([t.contentBoxSize]),this.devicePixelContentBoxSize=Ft([t.devicePixelContentBoxSize])},li=function(e){if(Gt(e))return 1/0;for(var t=0,i=e.parentNode;i;)t+=1,i=i.parentNode;return t},ci=function(){var e=1/0,t=[];Wt.forEach((function(i){if(0!==i.activeTargets.length){var s=[];i.activeTargets.forEach((function(t){var i=new hi(t.target),r=li(t.target);s.push(i),t.lastReportedSize=ai(t.target,t.observedBox),r<e&&(e=r)})),t.push((function(){i.callback.call(i.observer,s,i.observer)})),i.activeTargets.splice(0,i.activeTargets.length)}}));for(var i=0,s=t;i<s.length;i++){(0,s[i])()}return e},di=function(e){Wt.forEach((function(t){t.activeTargets.splice(0,t.activeTargets.length),t.skippedTargets.splice(0,t.skippedTargets.length),t.observationTargets.forEach((function(i){i.isActive()&&(li(i.target)>e?t.activeTargets.push(i):t.skippedTargets.push(i))}))}))},ui=function(){var e,t=0;for(di(t);Wt.some((function(e){return e.activeTargets.length>0}));)t=ci(),di(t);return Wt.some((function(e){return e.skippedTargets.length>0}))&&("function"==typeof ErrorEvent?e=new ErrorEvent("error",{message:Xt}):((e=document.createEvent("Event")).initEvent("error",!1,!1),e.message=Xt),window.dispatchEvent(e)),t>0},fi=[],mi=function(e){if(!Yt){var t=0,i=document.createTextNode("");new MutationObserver((function(){return fi.splice(0).forEach((function(e){return e()}))})).observe(i,{characterData:!0}),Yt=function(){i.textContent=""+(t?t--:t++)}}fi.push(e),Yt()},pi=0,gi={attributes:!0,characterData:!0,childList:!0,subtree:!0},bi=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],vi=function(e){return void 0===e&&(e=0),Date.now()+e},xi=!1,wi=new(function(){function e(){var e=this;this.stopped=!0,this.listener=function(){return e.schedule()}}return e.prototype.run=function(e){var t=this;if(void 0===e&&(e=250),!xi){xi=!0;var i,s=vi(e);i=function(){var i=!1;try{i=ui()}finally{if(xi=!1,e=s-vi(),!pi)return;i?t.run(1e3):e>0?t.run(e):t.start()}},mi((function(){requestAnimationFrame(i)}))}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var e=this,t=function(){return e.observer&&e.observer.observe(document.body,gi)};document.body?t():Qt.addEventListener("DOMContentLoaded",t)},e.prototype.start=function(){var e=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),bi.forEach((function(t){return Qt.addEventListener(t,e.listener,!0)})))},e.prototype.stop=function(){var e=this;this.stopped||(this.observer&&this.observer.disconnect(),bi.forEach((function(t){return Qt.removeEventListener(t,e.listener,!0)})),this.stopped=!0)},e}()),yi=function(e){!pi&&e>0&&wi.start(),!(pi+=e)&&wi.stop()},$i=function(){function e(e,t){this.target=e,this.observedBox=t||jt.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var e,t=ai(this.target,this.observedBox,!0);return e=this.target,qt(e)||function(e){switch(e.tagName){case"INPUT":if("image"!==e.type)break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1}(e)||"inline"!==getComputedStyle(e).display||(this.lastReportedSize=t),this.lastReportedSize.inlineSize!==t.inlineSize||this.lastReportedSize.blockSize!==t.blockSize},e}(),Ei=function(e,t){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=e,this.callback=t},zi=new WeakMap,Ci=function(e,t){for(var i=0;i<e.length;i+=1)if(e[i].target===t)return i;return-1},_i=function(){function e(){}return e.connect=function(e,t){var i=new Ei(e,t);zi.set(e,i)},e.observe=function(e,t,i){var s=zi.get(e),r=0===s.observationTargets.length;Ci(s.observationTargets,t)<0&&(r&&Wt.push(s),s.observationTargets.push(new $i(t,i&&i.box)),yi(1),wi.schedule())},e.unobserve=function(e,t){var i=zi.get(e),s=Ci(i.observationTargets,t),r=1===i.observationTargets.length;s>=0&&(r&&Wt.splice(Wt.indexOf(i),1),i.observationTargets.splice(s,1),yi(-1))},e.disconnect=function(e){var t=this,i=zi.get(e);i.observationTargets.slice().forEach((function(i){return t.unobserve(e,i.target)})),i.activeTargets.splice(0,i.activeTargets.length)},e}(),Si=function(){function e(e){if(0===arguments.length)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if("function"!=typeof e)throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");_i.connect(this,e)}return e.prototype.observe=function(e,t){if(0===arguments.length)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Jt(e))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");_i.observe(this,e,t)},e.prototype.unobserve=function(e){if(0===arguments.length)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Jt(e))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");_i.unobserve(this,e)},e.prototype.disconnect=function(){_i.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}();class Bi{constructor({namespace:e,rootRect$:t,ratio$:i,highlightStage$:s,root:r=null}){this._sideEffect=new st,this.namespace=e,this.highlightStage$=s,this.root$=new mt(r),this.stageRect$=vt([t,s,i],(([e,t,i])=>{if(!t)return e;if(i<=0||e.width<=0||e.height<=0)return e;const s=e.width*i;if(s===e.height)return e;if(s<e.height)return{x:0,y:(e.height-s)/2,width:e.width,height:s};const r=e.height/i;return{x:(e.width-r)/2,y:0,width:r,height:e.height}}),{compare:Je}),this._sideEffect.addDisposer(vt([this.root$,s]).subscribe((([e,t])=>{var i;e&&t?e.appendChild(this.render()):(null==(i=this.$boxStage)?void 0:i.parentNode)&&this.$boxStage.remove()})))}render(){if(this.$boxStage)return this.$boxStage;const e=document.createElement("div");e.className=this.wrapClassName("box-stage-container");const t=document.createElement("div");t.className=this.wrapClassName("box-stage-mask");const i=document.createElement("div");i.className=this.wrapClassName("box-stage-mask");const s=document.createElement("div");s.className=this.wrapClassName("box-stage-frame");const[r,n,o,a]=["M0 8V0h8v2H2v6H0Z","M8 8V0H0v2h6v6h2Z","M0 0v8h8V6H2V0H0Z","M8 0v8H0V6h6V0h2Z"].map(((e,t)=>{const i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("viewBox","0 0 8 8"),i.setAttribute("class",`${this.wrapClassName("box-stage-frame-corner")} is-${t}`);const s=document.createElementNS("http://www.w3.org/2000/svg","path");return s.setAttribute("d",e),s.setAttribute("fill","#3381FF"),i.appendChild(s),i}));return s.appendChild(r),s.appendChild(o),s.appendChild(n),s.appendChild(a),e.appendChild(t),e.appendChild(s),e.appendChild(i),this._sideEffect.addDisposer(this.highlightStage$.subscribe((t=>{e.classList.toggle("is-active",t)}))),this._sideEffect.addDisposer(vt([this.highlightStage$,this.stageRect$]).subscribe((([s,r])=>{s&&(r.x>0?(e.style.flexDirection="row",t.style.width=`${r.x}px`,t.style.height="",i.style.width=`${r.x}px`,i.style.height=""):r.y>0&&(e.style.flexDirection="column",t.style.width="",t.style.height=`${r.y}px`,i.style.width="",i.style.height=`${r.y}px`))}))),this.$boxStage=e,e}mount(e){this.root$.setValue(e)}unmount(){this.root$.setValue(null)}destroy(){this._sideEffect.flushAll()}wrapClassName(e){return`${this.namespace}-${e}`}}const Ni=window.ResizeObserver||Si;class Ti{constructor({id:e=tt(),title:t=Lt(),namespace:i="telebox",visible:s=!0,width:r=.5,height:n=.5,minWidth:o=0,minHeight:a=0,x:h=.1,y:l=.1,resizable:c=!0,draggable:d=!0,ratio:u=-1,focus:f=!1,zIndex:m=100,titleBar:p,content:g,footer:b,styles:v,highlightStage:x=null,darkMode$:w,fence$:y,minimized$:$,maximized$:E,readonly$:z,rootRect$:C,managerStageRect$:S,stageRatio$:B,collectorRect$:N,managerHighlightStage$:T}){this.events=new _,this._delegateEvents=new _,this.handleTrackStart=e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},this._sideEffect=new st,this.id=e,this.namespace=i;const M=new mt(t),k=new mt(s),R=new mt(c),I=new mt(d),D=new mt(u),O=new mt(m),L=new mt(f),A=new mt(g),V=new mt(b),P=new mt(v),j=vt([$,E],(([e,t])=>e?zt.Minimized:t?zt.Maximized:zt.Normal)),H=new mt({width:Rt(o,0,1),height:Rt(a,0,1)},{compare:Je}),W=vt([H,S],(([e,t])=>({width:e.width*t.width,height:e.height*t.height})),{compare:Je}),X=new mt({width:r,height:n},{compare:Je});this._sideEffect.addDisposer(H.reaction(((e,t)=>{X.setValue({width:Math.max(r,e.width),height:Math.max(n,e.height)},t)})));const Y=new mt({x:h,y:l},{compare:Je}),F=vt([X,S],(([e,t])=>({width:t.width*e.width,height:t.height*e.height})),{compare:Je}),Z=vt([Y,S],(([e,t])=>({x:e.x*t.width+t.x,y:e.y*t.height+t.y})),{compare:Je}),U=new mt(x),q=vt([E,U,T],(([e,t,i])=>null===t?i&&e:t)),G=new mt(C.value,{compare:Je}),J=new Bi({namespace:i,rootRect$:G,ratio$:B,highlightStage$:q});this._sideEffect.addDisposer((()=>J.destroy()));xt(this,{darkMode:w,fence:y,minimized:$,maximized:E,readonly:z,rootRect:C,managerStageRect:S,collectorRect:N,zIndex:O,focus:L,$userContent:A,$userFooter:V,$userStyles:P,state:j,minSize:H,pxMinSize:W,intrinsicSize:X,intrinsicCoord:Y,pxIntrinsicSize:F,pxIntrinsicCoord:Z,highlightStage:q,boxHighlightStage:U,contentRect:G,contentStageRect:J.stageRect$});wt(this,{title:M,visible:k,resizable:R,draggable:I,ratio:D}),this.titleBar=p||new Pt({readonly$:z,state$:j,title:M.value,namespace:this.namespace,onDragStart:e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},onEvent:e=>this._delegateEvents.emit(e.type)}),this._sideEffect.addDisposer(D.subscribe((e=>{e>0&&this.transform(Z.value.x,Z.value.y,F.value.width,F.value.height,!0)}))),this._sideEffect.addDisposer(y.subscribe((e=>{e&&this.move(Z.value.x,Z.value.y,!0)}))),this.$box=this.render(),J.root$.setValue(this.$content.parentElement);const Q=(e,t)=>{this._sideEffect.addDisposer(e.reaction(((e,i)=>{i||this.events.emit(t,e)})))};Q(w,_t.DarkMode),Q(z,_t.Readonly),Q(O,_t.ZIndex),Q($,_t.Minimized),Q(E,_t.Maximized),Q(j,_t.State),Q(X,_t.IntrinsicResize),Q(Y,_t.IntrinsicMove),this._sideEffect.addDisposer(k.reaction(((e,t)=>{t||e||this.events.emit(_t.Close)}))),this._sideEffect.addDisposer(L.reaction(((e,t)=>{t||this.events.emit(e?_t.Focus:_t.Blur)})))}get minWidth(){return this._minSize$.value.width}get minHeight(){return this._minSize$.value.height}setMinWidth(e,t=!1){this._minSize$.setValue({width:e,height:this.minHeight},t)}setMinHeight(e,t=!1){this._minSize$.setValue({width:this.minWidth,height:e},t)}resize(e,t,i=!1){this._intrinsicSize$.setValue({width:Math.max(e,this.minWidth),height:Math.max(t,this.minHeight)},i)}get intrinsicX(){return this._intrinsicCoord$.value.x}get intrinsicY(){return this._intrinsicCoord$.value.y}get intrinsicWidth(){return this._intrinsicSize$.value.width}get intrinsicHeight(){return this._intrinsicSize$.value.height}move(e,t,i=!1){let s,r;const n=this.managerStageRect,o=this.pxIntrinsicSize;if(this.fence)s=Rt(e,n.x,n.x+n.width-o.width),r=Rt(t,n.y,n.y+n.height-o.height);else{const i=this.rootRect;s=Rt(e,i.x-o.width+20,i.x+i.width-20),r=Rt(t,i.y,i.y+i.height-20)}this._intrinsicCoord$.setValue({x:(s-n.x)/n.width,y:(r-n.y)/n.height},i)}transform(e,t,i,s,r=!1){const n=this.managerStageRect,o=this.rootRect;if(i=Math.max(i,this.pxMinSize.width),s=Math.max(s,this.pxMinSize.height),this.ratio>0){const e=this.ratio*i;t!==this.pxIntrinsicCoord.y&&(t-=e-s),s=e}t<o.y&&(t=o.y,s=this.pxIntrinsicSize.height),this.move(e,t,r),this._intrinsicSize$.setValue({width:i/n.width,height:s/n.height},r)}mount(e){e.appendChild(this.$box)}unmount(){this.$box.parentNode&&this.$box.remove()}mountContent(e){this._$userContent$.setValue(e)}unmountContent(){this._$userContent$.setValue(void 0)}mountFooter(e){this._$userFooter$.setValue(e)}unmountFooter(){this._$userFooter$.setValue(void 0)}getUserStyles(){return this.$userStyles}mountStyles(e){let t;"string"==typeof e?(t=document.createElement("style"),t.textContent=e):t=e,this._$userStyles$.setValue(t)}unmountStyles(){this._$userStyles$.setValue(void 0)}setHighlightStage(e){this._boxHighlightStage$.setValue(e)}render(){if(this.$box)return this.$box;this.$box=document.createElement("div"),this.$box.classList.add(this.wrapClassName("box"));const e=(e,t,i,s=At)=>this._sideEffect.add((()=>{const r=this.wrapClassName(i);return t.subscribe((t=>{e.classList.toggle(r,s(t))}))}));e(this.$box,this._readonly$,"readonly"),e(this.$box,this._draggable$,"no-drag",Vt),e(this.$box,this._resizable$,"no-resize",Vt),e(this.$box,this._focus$,"blur",Vt),e(this.$box,this._darkMode$,"color-scheme-dark"),e(this.$box,this._darkMode$,"color-scheme-light",Vt),this._sideEffect.add((()=>{const e=this.wrapClassName("minimized"),t=this.wrapClassName("maximized"),i="box-maximized-timer";return this._state$.subscribe((s=>{this.$box.classList.toggle(e,s===zt.Minimized),s===zt.Maximized?(this._sideEffect.flush(i),this.$box.classList.toggle(t,!0)):this._sideEffect.setTimeout((()=>{this.$box.classList.toggle(t,!1)}),0,i)}))})),this._sideEffect.addDisposer(this._visible$.subscribe((e=>{this.$box.style.display=e?"block":"none"}))),this._sideEffect.addDisposer(this._zIndex$.subscribe((e=>{this.$box.style.zIndex=String(e)}))),this.$box.dataset.teleBoxID=this.id;const t=Ge(this.$box),i=vt([this._maximized$,this._minimized$,this._pxIntrinsicSize$,this._pxIntrinsicCoord$,this._collectorRect$],(([e,t,i,s,r])=>t&&r?{x:r.x+r.width/2,y:r.y+r.height/2,width:i.width+"px",height:i.height+"px",scaleX:r.width/i.width,scaleY:r.height/i.height}:e?{x:0,y:0,width:"100%",height:"100%",scaleX:1,scaleY:1}:{x:s.x,y:s.y,width:i.width+"px",height:i.height+"px",scaleX:1,scaleY:1}),{compare:Je}),s=i.value;this.$box.style.width=s.width,this.$box.style.height=s.height,this.$box.style.transform=`translate(${s.x-10}px,${s.y-10}px)`,this._sideEffect.addDisposer(i.subscribe((e=>{t.set(e)})));const r=document.createElement("div");r.className=this.wrapClassName("box-main"),this.$box.appendChild(r);const n=document.createElement("div");n.className=this.wrapClassName("titlebar-wrap"),n.appendChild(this.titleBar.render()),this.$titleBar=n;const o=document.createElement("div");o.className=this.wrapClassName("content-wrap");const a=document.createElement("div");a.className=this.wrapClassName("content")+" tele-fancy-scrollbar",this.$content=a,this._sideEffect.add((()=>{const e=new Ni((e=>{var t;const i=null==(t=e[0])?void 0:t.contentRect;i&&this._contentRect$.setValue({x:i.x,y:i.y,width:i.width,height:i.height})}));return e.observe(a),()=>e.disconnect()})),this._sideEffect.add((()=>{let e;return this._$userStyles$.subscribe((t=>{e&&e.remove(),e=t,t&&o.appendChild(t)}))})),this._sideEffect.add((()=>{let e;return this._$userContent$.subscribe((t=>{e&&e.remove(),e=t,t&&a.appendChild(t)}))})),o.appendChild(a);const h=document.createElement("div");return h.className=this.wrapClassName("footer-wrap"),this.$footer=h,this._sideEffect.add((()=>{let e;return this._$userFooter$.subscribe((t=>{e&&e.remove(),e=t,t&&h.appendChild(t)}))})),r.appendChild(n),r.appendChild(o),r.appendChild(h),this._renderResizeHandlers(),this.$box}_renderResizeHandlers(){const e=document.createElement("div");e.className=this.wrapClassName("resize-handles"),Object.values(Tt).forEach((t=>{const i=document.createElement("div");i.className=this.wrapClassName(t)+" "+this.wrapClassName("resize-handle"),i.dataset.teleBoxHandle=t,e.appendChild(i)})),this.$box.appendChild(e);const t="handle-tracking-listener",i=this.wrapClassName("transforming");let s,r,n=0,o=0,a=0,h=0,l=0,c=0;const d=e=>{if(this.state!==zt.Normal)return;It(e);let{pageX:t,pageY:i}=Dt(e);i<this.rootRect.y&&(i=this.rootRect.y);const s=t-l,d=i-c;let{x:u,y:f}=this.pxIntrinsicCoord,{width:m,height:p}=this.pxIntrinsicSize;switch(r){case Tt.North:f=o+d,p=h-d;break;case Tt.South:p=h+d;break;case Tt.West:u=n+s,m=a-s;break;case Tt.East:m=a+s;break;case Tt.NorthWest:u=n+s,f=o+d,m=a-s,p=h-d;break;case Tt.NorthEast:f=o+d,m=a+s,p=h-d;break;case Tt.SouthEast:m=a+s,p=h+d;break;case Tt.SouthWest:u=n+s,m=a-s,p=h+d;break;default:return void this.move(n+s,o+d)}this.transform(u,f,m,p)},u=e=>{r=void 0,s&&(It(e),this.$box.classList.toggle(i,!1),this._sideEffect.flush(t),s.remove())},f=e=>{var f;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(!this.draggable||r||this.state!==zt.Normal)return;const m=e.target;if(null==(f=m.dataset)?void 0:f.teleBoxHandle){It(e),({x:n,y:o}=this.pxIntrinsicCoord),({width:a,height:h}=this.pxIntrinsicSize),({pageX:l,pageY:c}=Dt(e)),r=m.dataset.teleBoxHandle,s||(s=document.createElement("div"));const f=r?this.wrapClassName(`cursor-${r}`):"";s.className=this.wrapClassName("track-mask"+(f?` ${f}`:"")),this.$box.appendChild(s),this.$box.classList.add(i),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=f,this._sideEffect.addEventListener(e,"mousedown",f,{},"box-resizeHandles-mousedown"),this._sideEffect.addEventListener(e,"touchstart",f,{passive:!1},"box-resizeHandles-touchstart")}async destroy(){this.$box.remove(),this._sideEffect.flushAll(),this._sideEffect.flushAll(),await this.events.emit(_t.Destroyed),this.events.clearListeners(),this._delegateEvents.clearListeners()}wrapClassName(e){return`${this.namespace}-${e}`}}var Mi,ki;class Ri{constructor({minimized$:e,readonly$:t,darkMode$:i,rootRect$:s,namespace:r="telebox",styles:n={},root:o}){this._sideEffect=new st,this.namespace=r;const a=new mt(void 0),h=e,l=new mt(n),c=new mt(o),d=new mt(document.createElement("button"));wt(this,{styles:l,root:c,el:d});xt(this,{rect:a,visible:h}),d.value.className=this.wrapClassName("collector"),d.value.style.backgroundImage="url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxNiI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIHN0cm9rZT0iIzdCODhBMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIGQ9Ik0uNyAxLjJoMTYuNnYxMy42SC43eiIgLz4KICAgICAgICA8cGF0aCBmaWxsPSIjN0I4OEEwIiBkPSJNNCA1LjVoNnYxLjRINHpNNCA5LjVoMTB2MS40SDR6IiAvPgogICAgPC9nPgo8L3N2Zz4K')",this._sideEffect.addDisposer(d.subscribe((r=>{this._sideEffect.addEventListener(r,"click",(()=>{t.value||e.setValue(!1)}),{},"telebox-collector-click"),this._sideEffect.addDisposer([h.subscribe((e=>{r.classList.toggle(this.wrapClassName("collector-visible"),e)})),t.subscribe((e=>{r.classList.toggle(this.wrapClassName("collector-readonly"),e)})),i.subscribe((e=>{r.classList.toggle(this.wrapClassName("color-scheme-dark"),e),r.classList.toggle(this.wrapClassName("color-scheme-light"),!e)})),l.subscribe((e=>{Object.keys(e).forEach((t=>{const i=e[t];null!=i&&(r.style[t]=i)}))})),c.subscribe((e=>{e&&e.appendChild(r)})),vt([e,s,c]).subscribe((([e,t,i])=>{if(e&&i){const{x:e,y:i,width:s,height:n}=r.getBoundingClientRect();a.setValue({x:e-t.x,y:i-t.y,width:s,height:n})}}))],"telebox-collector-el")})))}destroy(){this._sideEffect.flushAll()}wrapClassName(e){return`${this.namespace}-${e}`}}(ki=Mi||(Mi={})).Focused="focused",ki.Blurred="blurred",ki.Created="created",ki.Removed="removed",ki.State="state",ki.Maximized="maximized",ki.Minimized="minimized",ki.IntrinsicMove="intrinsic_move",ki.IntrinsicResize="intrinsic_resize",ki.ZIndex="z_index",ki.PrefersColorScheme="prefers_color_scheme",ki.DarkMode="dark_mode";class Ii extends Pt{constructor(e){super(e),this.boxes$=e.boxes$,this.rootRect$=e.rootRect$,this.darkMode$=e.darkMode$}focusBox(e){var t;if(!this.focusedBox||this.focusedBox!==e){if(this.$titles&&this.state$.value===zt.Maximized){const{children:i}=this.$titles.firstElementChild;for(let s=i.length-1;s>=0;s-=1){const r=i[s],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}}render(){const e=super.render();e.classList.add(this.wrapClassName("max-titlebar")),this.sideEffect.addDisposer([this.rootRect$.subscribe((t=>{const{x:i,y:s,width:r}=t;e.style.transform=`translate(${i}px, ${s}px)`,e.style.width=r+"px"})),this.state$.subscribe((t=>{e.classList.toggle(this.wrapClassName("max-titlebar-maximized"),t===zt.Maximized)})),this.readonly$.subscribe((t=>{e.classList.toggle(this.wrapClassName("readonly"),t)})),this.darkMode$.subscribe((t=>{e.classList.toggle(this.wrapClassName("color-scheme-dark"),t),e.classList.toggle(this.wrapClassName("color-scheme-light"),!t)})),vt([this.state$,this.boxes$]).subscribe((([t,i])=>{t===zt.Maximized&&(e.classList.toggle(this.wrapClassName("max-titlebar-single-title"),1===i.length),1===i.length?this.setTitle(i[0].title):e.replaceChild(this.renderTitles(),e.firstElementChild))}))],"max-render");const t=document.createElement("div");return t.classList.add(this.wrapClassName("titles-area")),e.insertBefore(t,e.firstElementChild),e}destroy(){super.destroy(),this.$titles=void 0,this.focusedBox=void 0}renderTitles(){this.$titles=document.createElement("div"),this.$titles.className=this.wrapClassName("titles"),this.sideEffect.addEventListener(this.$titles,"wheel",(e=>{e.currentTarget.scrollBy({left:e.deltaY>0?250:-250,behavior:"smooth"})}),{passive:!1},"max-render-wheel-titles");const e=document.createElement("div");e.className=this.wrapClassName("titles-content"),this.$titles.appendChild(e);const t=this.boxes$.value.map((t=>{const i=document.createElement("button");return i.className=this.wrapClassName("titles-tab"),i.textContent=t.title,i.dataset.teleBoxID=t.id,i.dataset.teleTitleBarNoDblClick="true",this.focusedBox&&t.id===this.focusedBox.id&&i.classList.add(this.wrapClassName("titles-tab-focus")),e.appendChild(i),t._title$.reaction((e=>i.textContent=e))}));return this.sideEffect.addDisposer((()=>t.forEach((e=>e()))),"max-render-tab-titles"),this.$titles}}const Di=window.ResizeObserver||Si;class Oi{constructor({root:e=document.body,prefersColorScheme:t=$t.Light,minimized:i=!1,maximized:s=!1,fence:r=!1,collector:n,namespace:o="telebox",readonly:a=!1,stageRatio:h=-1,highlightStage:l=!0}={}){this.events=new _,this._sideEffect=new st,this.root=e,this.namespace=o;const c=new mt(a),d=new mt(i),u=new mt(s),f=new mt(r),m=new mt(h),p=new mt(l),g=new mt({x:0,y:0,width:window.innerWidth,height:window.innerHeight},{compare:Je});this._sideEffect.add((()=>{const t=new Di((e=>{this._sideEffect.setTimeout((()=>{var t;const i=null==(t=e[0])?void 0:t.contentRect;i&&g.setValue({x:i.x,y:i.y,width:i.width,height:i.height})}),50,"root-resize-observer")}));return t.observe(e),()=>t.disconnect()})),this.boxes$=new mt([]),this.topBox$=new mt(void 0),this._sideEffect.addDisposer(this.boxes$.subscribe((e=>{if(e.length>0){const t=e.reduce(((e,t)=>e.zIndex>t.zIndex?e:t));this.topBox$.setValue(t)}else this.topBox$.setValue(void 0)})));const b=window.matchMedia("(prefers-color-scheme: dark)"),v=new mt(!1);b&&(v.setValue(b.matches),this._sideEffect.add((()=>{const e=e=>{v.setValue(e.matches)};return b.addEventListener("change",e),()=>b.removeEventListener("change",e)})));const x=new mt(t);this._sideEffect.addDisposer(x.reaction(((e,t)=>{t||this.events.emit(Mi.PrefersColorScheme,e)})));const w=vt([v,x],(([e,t])=>"auto"===t?e:"dark"===t)),y=vt([d,u],(([e,t])=>e?zt.Minimized:t?zt.Maximized:zt.Normal));this.collector=null!=n?n:new Ri({minimized$:d,readonly$:c,darkMode$:w,namespace:o,root:e,rootRect$:g});const $=new Bi({namespace:o,rootRect$:g,ratio$:m,root:e,highlightStage$:p});this._sideEffect.addDisposer((()=>$.destroy()));xt(this,{darkMode:w,state:y,rootRect:g,stageRect:$.stageRect$});wt(this,{prefersColorScheme:x,readonly:c,fence:f,minimized:d,maximized:u,stageRatio:m,highlightStage:p});const E=this.wrapClassName("titlebar-icon-close"),z=e=>{var t;if(c.value)return;const i=e.target;if(i.tagName)for(let s=i;s;s=s.parentElement){if(s.classList&&s.classList.contains(E))return;const e=null==(t=s.dataset)?void 0:t.teleBoxID;if(e){const t=this.getBox(e);if(t)return this.focusBox(t),void this.makeBoxTop(t)}}};this._sideEffect.addEventListener(window,"mousedown",z,!0),this._sideEffect.addEventListener(window,"touchstart",z,!0),this.titleBar=new Ii({namespace:this.namespace,boxes$:this.boxes$,darkMode$:w,readonly$:c,state$:y,rootRect$:g,onEvent:e=>{switch(e.type){case Bt.Maximize:u.setValue(!u.value);break;case Bt.Minimize:d.setValue(!0);break;case _t.Close:this.removeTopBox(),this.focusTopBox()}}}),this.root.appendChild(this.titleBar.render()),this._sideEffect.addDisposer([y.reaction(((e,t)=>{t||this.events.emit(Mi.State,e)})),u.reaction(((e,t)=>{t||this.events.emit(Mi.Maximized,e)})),d.reaction(((e,t)=>{t||this.events.emit(Mi.Minimized,e)})),w.reaction(((e,t)=>{t||this.events.emit(Mi.DarkMode,e)}))])}get boxes(){return this.boxes$.value}get topBox(){return this.topBox$.value}setState(e,t=!1){switch(e){case zt.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case zt.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}create(e={},s=!0){const r=new Ti((n=a(a({zIndex:this.topBox?this.topBox.zIndex+1:100},e),s?this.smartPosition(e):{}),o={namespace:this.namespace,darkMode$:this._darkMode$,maximized$:this._maximized$,minimized$:this._minimized$,fence$:this._fence$,rootRect$:this._rootRect$,managerStageRect$:this._stageRect$,stageRatio$:this._stageRatio$,readonly$:this._readonly$,collectorRect$:this.collector._rect$,managerHighlightStage$:this._highlightStage$},t(n,i(o))));var n,o;return r.mount(this.root),r.focus&&(this.focusBox(r),s&&this.makeBoxTop(r)),this.boxes$.setValue([...this.boxes,r]),this._sideEffect.addDisposer([r._delegateEvents.on(Bt.Maximize,(()=>{this.setMaximized(!this.maximized)})),r._delegateEvents.on(Bt.Minimize,(()=>{this.setMinimized(!0)})),r._delegateEvents.on(Bt.Close,(()=>{this.remove(r),this.focusTopBox()})),r._intrinsicCoord$.reaction(((e,t)=>{t||this.events.emit(Mi.IntrinsicMove,r)})),r._intrinsicSize$.reaction(((e,t)=>{t||this.events.emit(Mi.IntrinsicResize,r)})),r._zIndex$.reaction(((e,t)=>{if(this.boxes.length>0){const e=this.boxes.reduce(((e,t)=>e.zIndex>t.zIndex?e:t));this.topBox$.setValue(e)}t||this.events.emit(Mi.ZIndex,r)}))]),this.events.emit(Mi.Created,r),r}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,i=!1){const s=this.boxes.find((t=>t.id===e));if(s)return this.updateBox(s,t,i)}updateAll(e,t=!1){this.boxes.forEach((i=>{this.updateBox(i,e,t)}))}remove(e,t=!1){const i=this.getBoxIndex(e);if(i>=0){const e=this.boxes.slice(),s=e.splice(i,1);return this.boxes$.setValue(e),s.forEach((e=>e.destroy())),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(Mi.Removed,s)),s[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(Mi.Removed,t)),t}destroy(e=!1){this.events.clearListeners(),this._sideEffect.flushAll(),this.removeAll(e),this.collector.destroy(),this.titleBar.destroy()}wrapClassName(e){return`${this.namespace}-${e}`}focusBox(e,t=!1){const i=this.getBox(e);i&&(this.boxes.forEach((e=>{if(i===e){let e=!1;i.focus||(e=!0,i._focus$.setValue(!0,t)),e&&!t&&this.events.emit(Mi.Focused,i)}else e.focus&&this.blurBox(e,t)})),this.titleBar.focusBox(i))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(e,t=!1){const i=this.getBox(e);i&&(i.focus&&(i._focus$.setValue(!1,t),t||this.events.emit(Mi.Blurred,i)),this.titleBar.focusedBox===i&&this.titleBar.focusBox())}blurAll(e=!1){this.boxes.forEach((t=>{t.focus&&(t._focus$.setValue(!1,e),e||this.events.emit(Mi.Blurred,t))})),this.titleBar.focusedBox&&this.titleBar.focusBox()}teleBoxMatcher(e){const t=Object.keys(e);return i=>t.every((t=>e[t]===i[t]))}updateBox(e,t,i=!1){var s,r,n,o,a,h;null==t.x&&null==t.y||e._intrinsicCoord$.setValue({x:null!=(s=t.x)?s:e.intrinsicX,y:null!=(r=t.y)?r:e.intrinsicY},i),null==t.width&&null==t.height||e._intrinsicSize$.setValue({width:null!=(n=t.width)?n:e.intrinsicWidth,height:null!=(o=t.height)?o:e.intrinsicHeight},i),null!=t.title&&e._title$.setValue(t.title),null!=t.visible&&e._visible$.setValue(t.visible,i),null!=t.resizable&&e._resizable$.setValue(t.resizable,i),null!=t.draggable&&e._draggable$.setValue(t.draggable,i),null!=t.ratio&&e._ratio$.setValue(t.ratio,i),null!=t.zIndex&&e._zIndex$.setValue(t.zIndex,i),null!=t.content&&e.mountContent(t.content),null!=t.footer&&e.mountFooter(t.footer),null==t.minHeight&&null==t.minWidth||e._minSize$.setValue({width:null!=(a=t.minWidth)?a:e.minWidth,height:null!=(h=t.minHeight)?h:e.minHeight},i)}smartPosition(e){let{x:t,y:i}=e;const{width:s=.5,height:r=.5}=e,n=this.stageRect,o=this.topBox;if(null==t){let e=n.x+20;if(o){const t=o.pxIntrinsicCoord.x+20;t+s*n.width<=n.x+n.width&&(e=t)}t=(e-n.x)/n.width}if(null==i){let e=n.y+20;if(o){const t=o.pxIntrinsicCoord.y+20;t+r*n.height<=n.y+n.height&&(e=t)}i=(e-n.y)/n.height}return{x:t,y:i,width:s,height:r}}makeBoxTop(e,t=!1){this.topBox&&e!==this.topBox&&e._zIndex$.setValue(this.topBox.zIndex+1,t)}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}}export{Pt as DefaultTitleBar,$t as TELE_BOX_COLOR_SCHEME,Bt as TELE_BOX_DELEGATE_EVENT,_t as TELE_BOX_EVENT,Mi as TELE_BOX_MANAGER_EVENT,Tt as TELE_BOX_RESIZE_HANDLE,zt as TELE_BOX_STATE,Ti as TeleBox,Ri as TeleBoxCollector,kt as TeleBoxDragHandleType,Oi as TeleBoxManager};
|
|
16
16
|
//# sourceMappingURL=telebox-insider.es.js.map
|