@iebh/tera-fy 2.3.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/.vscode/settings.json +5 -0
  2. package/CHANGELOG.md +22 -0
  3. package/api.md +35 -36
  4. package/dist/lib/projectFile.d.ts +3 -3
  5. package/dist/lib/projectFile.js +4 -3
  6. package/dist/lib/projectFile.js.map +1 -1
  7. package/dist/lib/syncro/entities.js +11 -10
  8. package/dist/lib/syncro/entities.js.map +1 -1
  9. package/dist/lib/syncro/keyed.d.ts +2 -2
  10. package/dist/lib/syncro/keyed.js +23 -23
  11. package/dist/lib/syncro/keyed.js.map +1 -1
  12. package/dist/lib/syncro/syncro.d.ts +15 -13
  13. package/dist/lib/syncro/syncro.js +84 -59
  14. package/dist/lib/syncro/syncro.js.map +1 -1
  15. package/dist/lib/terafy.bootstrapper.d.ts +2 -2
  16. package/dist/lib/terafy.bootstrapper.js +15 -16
  17. package/dist/lib/terafy.bootstrapper.js.map +1 -1
  18. package/dist/lib/terafy.client.d.ts +24 -25
  19. package/dist/lib/terafy.client.js +50 -48
  20. package/dist/lib/terafy.client.js.map +1 -1
  21. package/dist/lib/terafy.proxy.js +4 -2
  22. package/dist/lib/terafy.proxy.js.map +1 -1
  23. package/dist/lib/terafy.server.d.ts +22 -8
  24. package/dist/lib/terafy.server.js +54 -58
  25. package/dist/lib/terafy.server.js.map +1 -1
  26. package/dist/plugin.vue2.es2019.js +210 -1224
  27. package/dist/plugins/base.d.ts +2 -2
  28. package/dist/plugins/base.js +1 -0
  29. package/dist/plugins/base.js.map +1 -1
  30. package/dist/plugins/firebase.d.ts +4 -4
  31. package/dist/plugins/firebase.js +7 -7
  32. package/dist/plugins/firebase.js.map +1 -1
  33. package/dist/plugins/vue2.d.ts +1 -1
  34. package/dist/plugins/vue2.js +6 -5
  35. package/dist/plugins/vue2.js.map +1 -1
  36. package/dist/plugins/vue3.js +6 -5
  37. package/dist/plugins/vue3.js.map +1 -1
  38. package/dist/terafy.bootstrapper.es2019.js +2 -2
  39. package/dist/terafy.bootstrapper.js +2 -2
  40. package/dist/terafy.es2019.js +2 -2
  41. package/dist/terafy.js +2 -2
  42. package/dist/utils/mixin.js +1 -1
  43. package/dist/utils/mixin.js.map +1 -1
  44. package/dist/utils/pDefer.d.ts +5 -1
  45. package/dist/utils/pDefer.js +6 -1
  46. package/dist/utils/pDefer.js.map +1 -1
  47. package/dist/utils/pathTools.d.ts +1 -1
  48. package/dist/utils/pathTools.js +2 -2
  49. package/dist/utils/pathTools.js.map +1 -1
  50. package/eslint.config.js +21 -7
  51. package/lib/projectFile.ts +5 -4
  52. package/lib/syncro/entities.ts +11 -10
  53. package/lib/syncro/keyed.ts +24 -24
  54. package/lib/syncro/syncro.ts +97 -60
  55. package/lib/terafy.bootstrapper.ts +15 -16
  56. package/lib/terafy.client.ts +62 -62
  57. package/lib/terafy.proxy.ts +8 -5
  58. package/lib/terafy.server.ts +75 -64
  59. package/package.json +5 -3
  60. package/plugins/base.ts +3 -2
  61. package/plugins/firebase.ts +12 -11
  62. package/plugins/vue2.ts +7 -6
  63. package/plugins/vue3.ts +6 -5
  64. package/utils/mixin.ts +1 -1
  65. package/utils/pDefer.ts +7 -2
  66. package/utils/pathTools.ts +3 -3
@@ -1,5 +1,5 @@
1
- var vo=typeof global=="object"&&global&&global.Object===Object&&global,dt=vo;var wo=typeof self=="object"&&self&&self.Object===Object&&self,To=dt||wo||Function("return this")(),d=To;var Po=d.Symbol,g=Po;var te=Object.prototype,jo=te.hasOwnProperty,Oo=te.toString,nt=g?g.toStringTag:void 0;function Ao(t){var e=jo.call(t,nt),r=t[nt];try{t[nt]=void 0;var o=!0}catch{}var a=Oo.call(t);return o&&(e?t[nt]=r:delete t[nt]),a}var ee=Ao;var So=Object.prototype,Io=So.toString;function _o(t){return Io.call(t)}var re=_o;var Eo="[object Null]",Fo="[object Undefined]",oe=g?g.toStringTag:void 0;function Co(t){return t==null?t===void 0?Fo:Eo:oe&&oe in Object(t)?ee(t):re(t)}var w=Co;function No(t){return t!=null&&typeof t=="object"}var y=No;var Mo="[object Symbol]";function Ro(t){return typeof t=="symbol"||y(t)&&w(t)==Mo}var k=Ro;function Lo(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r<o;)a[r]=e(t[r],r,t);return a}var ct=Lo;var Bo=Array.isArray,x=Bo;var ko=1/0,ae=g?g.prototype:void 0,ie=ae?ae.toString:void 0;function ne(t){if(typeof t=="string")return t;if(x(t))return ct(t,ne)+"";if(k(t))return ie?ie.call(t):"";var e=t+"";return e=="0"&&1/t==-ko?"-0":e}var se=ne;function Do(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var T=Do;function Uo(t){return t}var fe=Uo;var Go="[object AsyncFunction]",zo="[object Function]",Ko="[object GeneratorFunction]",Wo="[object Proxy]";function $o(t){if(!T(t))return!1;var e=w(t);return e==zo||e==Ko||e==Go||e==Wo}var ht=$o;var Ho=d["__core-js_shared__"],xt=Ho;var pe=function(){var t=/[^.]+$/.exec(xt&&xt.keys&&xt.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function Vo(t){return!!pe&&pe in t}var le=Vo;var Yo=Function.prototype,qo=Yo.toString;function Zo(t){if(t!=null){try{return qo.call(t)}catch{}try{return t+""}catch{}}return""}var A=Zo;var Jo=/[\\^$.*+?()[\]{}|]/g,Xo=/^\[object .+?Constructor\]$/,Qo=Function.prototype,ta=Object.prototype,ea=Qo.toString,ra=ta.hasOwnProperty,oa=RegExp("^"+ea.call(ra).replace(Jo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function aa(t){if(!T(t)||le(t))return!1;var e=ht(t)?oa:Xo;return e.test(A(t))}var me=aa;function ia(t,e){return t==null?void 0:t[e]}var ue=ia;function na(t,e){var r=ue(t,e);return me(r)?r:void 0}var b=na;var sa=b(d,"WeakMap"),gt=sa;var de=Object.create,fa=function(){function t(){}return function(e){if(!T(e))return{};if(de)return de(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),ce=fa;function pa(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var he=pa;function la(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e}var xe=la;var ma=800,ua=16,da=Date.now;function ca(t){var e=0,r=0;return function(){var o=da(),a=ua-(o-r);if(r=o,a>0){if(++e>=ma)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var ge=ca;function ha(t){return function(){return t}}var ye=ha;var xa=function(){try{var t=b(Object,"defineProperty");return t({},"",{}),t}catch{}}(),D=xa;var ga=D?function(t,e){return D(t,"toString",{configurable:!0,enumerable:!1,value:ye(e),writable:!0})}:fe,be=ga;var ya=ge(be),ve=ya;function ba(t,e){for(var r=-1,o=t==null?0:t.length;++r<o&&e(t[r],r,t)!==!1;);return t}var we=ba;var va=9007199254740991,wa=/^(?:0|[1-9]\d*)$/;function Ta(t,e){var r=typeof t;return e=e==null?va:e,!!e&&(r=="number"||r!="symbol"&&wa.test(t))&&t>-1&&t%1==0&&t<e}var U=Ta;function Pa(t,e,r){e=="__proto__"&&D?D(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var yt=Pa;function ja(t,e){return t===e||t!==t&&e!==e}var bt=ja;var Oa=Object.prototype,Aa=Oa.hasOwnProperty;function Sa(t,e,r){var o=t[e];(!(Aa.call(t,e)&&bt(o,r))||r===void 0&&!(e in t))&&yt(t,e,r)}var G=Sa;function Ia(t,e,r,o){var a=!r;r||(r={});for(var n=-1,i=e.length;++n<i;){var s=e[n],u=o?o(r[s],t[s],s,r,t):void 0;u===void 0&&(u=t[s]),a?yt(r,s,u):G(r,s,u)}return r}var O=Ia;var Te=Math.max;function _a(t,e,r){return e=Te(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,n=Te(o.length-e,0),i=Array(n);++a<n;)i[a]=o[e+a];a=-1;for(var s=Array(e+1);++a<e;)s[a]=o[a];return s[e]=r(i),he(t,this,s)}}var Pe=_a;var Ea=9007199254740991;function Fa(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Ea}var z=Fa;function Ca(t){return t!=null&&z(t.length)&&!ht(t)}var vt=Ca;var Na=Object.prototype;function Ma(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||Na;return t===r}var K=Ma;function Ra(t,e){for(var r=-1,o=Array(t);++r<t;)o[r]=e(r);return o}var je=Ra;var La="[object Arguments]";function Ba(t){return y(t)&&w(t)==La}var Bt=Ba;var Oe=Object.prototype,ka=Oe.hasOwnProperty,Da=Oe.propertyIsEnumerable,Ua=Bt(function(){return arguments}())?Bt:function(t){return y(t)&&ka.call(t,"callee")&&!Da.call(t,"callee")},W=Ua;function Ga(){return!1}var Ae=Ga;var _e=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Se=_e&&typeof module=="object"&&module&&!module.nodeType&&module,za=Se&&Se.exports===_e,Ie=za?d.Buffer:void 0,Ka=Ie?Ie.isBuffer:void 0,Wa=Ka||Ae,wt=Wa;var $a="[object Arguments]",Ha="[object Array]",Va="[object Boolean]",Ya="[object Date]",qa="[object Error]",Za="[object Function]",Ja="[object Map]",Xa="[object Number]",Qa="[object Object]",ti="[object RegExp]",ei="[object Set]",ri="[object String]",oi="[object WeakMap]",ai="[object ArrayBuffer]",ii="[object DataView]",ni="[object Float32Array]",si="[object Float64Array]",fi="[object Int8Array]",pi="[object Int16Array]",li="[object Int32Array]",mi="[object Uint8Array]",ui="[object Uint8ClampedArray]",di="[object Uint16Array]",ci="[object Uint32Array]",m={};m[ni]=m[si]=m[fi]=m[pi]=m[li]=m[mi]=m[ui]=m[di]=m[ci]=!0;m[$a]=m[Ha]=m[ai]=m[Va]=m[ii]=m[Ya]=m[qa]=m[Za]=m[Ja]=m[Xa]=m[Qa]=m[ti]=m[ei]=m[ri]=m[oi]=!1;function hi(t){return y(t)&&z(t.length)&&!!m[w(t)]}var Ee=hi;function xi(t){return function(e){return t(e)}}var $=xi;var Fe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,st=Fe&&typeof module=="object"&&module&&!module.nodeType&&module,gi=st&&st.exports===Fe,kt=gi&&dt.process,yi=function(){try{var t=st&&st.require&&st.require("util").types;return t||kt&&kt.binding&&kt.binding("util")}catch{}}(),S=yi;var Ce=S&&S.isTypedArray,bi=Ce?$(Ce):Ee,Ne=bi;var vi=Object.prototype,wi=vi.hasOwnProperty;function Ti(t,e){var r=x(t),o=!r&&W(t),a=!r&&!o&&wt(t),n=!r&&!o&&!a&&Ne(t),i=r||o||a||n,s=i?je(t.length,String):[],u=s.length;for(var c in t)(e||wi.call(t,c))&&!(i&&(c=="length"||a&&(c=="offset"||c=="parent")||n&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||U(c,u)))&&s.push(c);return s}var Tt=Ti;function Pi(t,e){return function(r){return t(e(r))}}var Pt=Pi;var ji=Pt(Object.keys,Object),Me=ji;var Oi=Object.prototype,Ai=Oi.hasOwnProperty;function Si(t){if(!K(t))return Me(t);var e=[];for(var r in Object(t))Ai.call(t,r)&&r!="constructor"&&e.push(r);return e}var Re=Si;function Ii(t){return vt(t)?Tt(t):Re(t)}var H=Ii;function _i(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var Le=_i;var Ei=Object.prototype,Fi=Ei.hasOwnProperty;function Ci(t){if(!T(t))return Le(t);var e=K(t),r=[];for(var o in t)o=="constructor"&&(e||!Fi.call(t,o))||r.push(o);return r}var Be=Ci;function Ni(t){return vt(t)?Tt(t,!0):Be(t)}var V=Ni;var Mi=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ri=/^\w*$/;function Li(t,e){if(x(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||k(t)?!0:Ri.test(t)||!Mi.test(t)||e!=null&&t in Object(e)}var ke=Li;var Bi=b(Object,"create"),I=Bi;function ki(){this.__data__=I?I(null):{},this.size=0}var De=ki;function Di(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Ue=Di;var Ui="__lodash_hash_undefined__",Gi=Object.prototype,zi=Gi.hasOwnProperty;function Ki(t){var e=this.__data__;if(I){var r=e[t];return r===Ui?void 0:r}return zi.call(e,t)?e[t]:void 0}var Ge=Ki;var Wi=Object.prototype,$i=Wi.hasOwnProperty;function Hi(t){var e=this.__data__;return I?e[t]!==void 0:$i.call(e,t)}var ze=Hi;var Vi="__lodash_hash_undefined__";function Yi(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=I&&e===void 0?Vi:e,this}var Ke=Yi;function Y(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Y.prototype.clear=De;Y.prototype.delete=Ue;Y.prototype.get=Ge;Y.prototype.has=ze;Y.prototype.set=Ke;var Dt=Y;function qi(){this.__data__=[],this.size=0}var We=qi;function Zi(t,e){for(var r=t.length;r--;)if(bt(t[r][0],e))return r;return-1}var E=Zi;var Ji=Array.prototype,Xi=Ji.splice;function Qi(t){var e=this.__data__,r=E(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():Xi.call(e,r,1),--this.size,!0}var $e=Qi;function tn(t){var e=this.__data__,r=E(e,t);return r<0?void 0:e[r][1]}var He=tn;function en(t){return E(this.__data__,t)>-1}var Ve=en;function rn(t,e){var r=this.__data__,o=E(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}var Ye=rn;function q(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}q.prototype.clear=We;q.prototype.delete=$e;q.prototype.get=He;q.prototype.has=Ve;q.prototype.set=Ye;var F=q;var on=b(d,"Map"),C=on;function an(){this.size=0,this.__data__={hash:new Dt,map:new(C||F),string:new Dt}}var qe=an;function nn(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var Ze=nn;function sn(t,e){var r=t.__data__;return Ze(e)?r[typeof e=="string"?"string":"hash"]:r.map}var N=sn;function fn(t){var e=N(this,t).delete(t);return this.size-=e?1:0,e}var Je=fn;function pn(t){return N(this,t).get(t)}var Xe=pn;function ln(t){return N(this,t).has(t)}var Qe=ln;function mn(t,e){var r=N(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}var tr=mn;function Z(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Z.prototype.clear=qe;Z.prototype.delete=Je;Z.prototype.get=Xe;Z.prototype.has=Qe;Z.prototype.set=tr;var ft=Z;var un="Expected a function";function Ut(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(un);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],n=r.cache;if(n.has(a))return n.get(a);var i=t.apply(this,o);return r.cache=n.set(a,i)||n,i};return r.cache=new(Ut.Cache||ft),r}Ut.Cache=ft;var er=Ut;var dn=500;function cn(t){var e=er(t,function(o){return r.size===dn&&r.clear(),o}),r=e.cache;return e}var rr=cn;var hn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,xn=/\\(\\)?/g,gn=rr(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(hn,function(r,o,a,n){e.push(a?n.replace(xn,"$1"):o||r)}),e}),or=gn;function yn(t){return t==null?"":se(t)}var ar=yn;function bn(t,e){return x(t)?t:ke(t,e)?[t]:or(ar(t))}var P=bn;var vn=1/0;function wn(t){if(typeof t=="string"||k(t))return t;var e=t+"";return e=="0"&&1/t==-vn?"-0":e}var M=wn;function Tn(t,e){e=P(e,t);for(var r=0,o=e.length;t!=null&&r<o;)t=t[M(e[r++])];return r&&r==o?t:void 0}var jt=Tn;function Pn(t,e){for(var r=-1,o=e.length,a=t.length;++r<o;)t[a+r]=e[r];return t}var J=Pn;var ir=g?g.isConcatSpreadable:void 0;function jn(t){return x(t)||W(t)||!!(ir&&t&&t[ir])}var nr=jn;function sr(t,e,r,o,a){var n=-1,i=t.length;for(r||(r=nr),a||(a=[]);++n<i;){var s=t[n];e>0&&r(s)?e>1?sr(s,e-1,r,o,a):J(a,s):o||(a[a.length]=s)}return a}var fr=sr;function On(t){var e=t==null?0:t.length;return e?fr(t,1):[]}var pr=On;function An(t){return ve(Pe(t,void 0,pr),t+"")}var Ot=An;var Sn=Pt(Object.getPrototypeOf,Object),X=Sn;var In="[object Object]",_n=Function.prototype,En=Object.prototype,lr=_n.toString,Fn=En.hasOwnProperty,Cn=lr.call(Object);function Nn(t){if(!y(t)||w(t)!=In)return!1;var e=X(t);if(e===null)return!0;var r=Fn.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&lr.call(r)==Cn}var mr=Nn;function Mn(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var n=Array(a);++o<a;)n[o]=t[o+e];return n}var ur=Mn;function Rn(){this.__data__=new F,this.size=0}var dr=Rn;function Ln(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var cr=Ln;function Bn(t){return this.__data__.get(t)}var hr=Bn;function kn(t){return this.__data__.has(t)}var xr=kn;var Dn=200;function Un(t,e){var r=this.__data__;if(r instanceof F){var o=r.__data__;if(!C||o.length<Dn-1)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new ft(o)}return r.set(t,e),this.size=r.size,this}var gr=Un;function Q(t){var e=this.__data__=new F(t);this.size=e.size}Q.prototype.clear=dr;Q.prototype.delete=cr;Q.prototype.get=hr;Q.prototype.has=xr;Q.prototype.set=gr;var yr=Q;function Gn(t,e){return t&&O(e,H(e),t)}var br=Gn;function zn(t,e){return t&&O(e,V(e),t)}var vr=zn;var jr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,wr=jr&&typeof module=="object"&&module&&!module.nodeType&&module,Kn=wr&&wr.exports===jr,Tr=Kn?d.Buffer:void 0,Pr=Tr?Tr.allocUnsafe:void 0;function Wn(t,e){if(e)return t.slice();var r=t.length,o=Pr?Pr(r):new t.constructor(r);return t.copy(o),o}var Or=Wn;function $n(t,e){for(var r=-1,o=t==null?0:t.length,a=0,n=[];++r<o;){var i=t[r];e(i,r,t)&&(n[a++]=i)}return n}var Ar=$n;function Hn(){return[]}var At=Hn;var Vn=Object.prototype,Yn=Vn.propertyIsEnumerable,Sr=Object.getOwnPropertySymbols,qn=Sr?function(t){return t==null?[]:(t=Object(t),Ar(Sr(t),function(e){return Yn.call(t,e)}))}:At,tt=qn;function Zn(t,e){return O(t,tt(t),e)}var Ir=Zn;var Jn=Object.getOwnPropertySymbols,Xn=Jn?function(t){for(var e=[];t;)J(e,tt(t)),t=X(t);return e}:At,St=Xn;function Qn(t,e){return O(t,St(t),e)}var _r=Qn;function ts(t,e,r){var o=e(t);return x(t)?o:J(o,r(t))}var It=ts;function es(t){return It(t,H,tt)}var Er=es;function rs(t){return It(t,V,St)}var _t=rs;var os=b(d,"DataView"),Et=os;var as=b(d,"Promise"),Ft=as;var is=b(d,"Set"),Ct=is;var Fr="[object Map]",ns="[object Object]",Cr="[object Promise]",Nr="[object Set]",Mr="[object WeakMap]",Rr="[object DataView]",ss=A(Et),fs=A(C),ps=A(Ft),ls=A(Ct),ms=A(gt),L=w;(Et&&L(new Et(new ArrayBuffer(1)))!=Rr||C&&L(new C)!=Fr||Ft&&L(Ft.resolve())!=Cr||Ct&&L(new Ct)!=Nr||gt&&L(new gt)!=Mr)&&(L=function(t){var e=w(t),r=e==ns?t.constructor:void 0,o=r?A(r):"";if(o)switch(o){case ss:return Rr;case fs:return Fr;case ps:return Cr;case ls:return Nr;case ms:return Mr}return e});var et=L;var us=Object.prototype,ds=us.hasOwnProperty;function cs(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&ds.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var Lr=cs;var hs=d.Uint8Array,Gt=hs;function xs(t){var e=new t.constructor(t.byteLength);return new Gt(e).set(new Gt(t)),e}var rt=xs;function gs(t,e){var r=e?rt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var Br=gs;var ys=/\w*$/;function bs(t){var e=new t.constructor(t.source,ys.exec(t));return e.lastIndex=t.lastIndex,e}var kr=bs;var Dr=g?g.prototype:void 0,Ur=Dr?Dr.valueOf:void 0;function vs(t){return Ur?Object(Ur.call(t)):{}}var Gr=vs;function ws(t,e){var r=e?rt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var zr=ws;var Ts="[object Boolean]",Ps="[object Date]",js="[object Map]",Os="[object Number]",As="[object RegExp]",Ss="[object Set]",Is="[object String]",_s="[object Symbol]",Es="[object ArrayBuffer]",Fs="[object DataView]",Cs="[object Float32Array]",Ns="[object Float64Array]",Ms="[object Int8Array]",Rs="[object Int16Array]",Ls="[object Int32Array]",Bs="[object Uint8Array]",ks="[object Uint8ClampedArray]",Ds="[object Uint16Array]",Us="[object Uint32Array]";function Gs(t,e,r){var o=t.constructor;switch(e){case Es:return rt(t);case Ts:case Ps:return new o(+t);case Fs:return Br(t,r);case Cs:case Ns:case Ms:case Rs:case Ls:case Bs:case ks:case Ds:case Us:return zr(t,r);case js:return new o;case Os:case Is:return new o(t);case As:return kr(t);case Ss:return new o;case _s:return Gr(t)}}var Kr=Gs;function zs(t){return typeof t.constructor=="function"&&!K(t)?ce(X(t)):{}}var Wr=zs;var Ks="[object Map]";function Ws(t){return y(t)&&et(t)==Ks}var $r=Ws;var Hr=S&&S.isMap,$s=Hr?$(Hr):$r,Vr=$s;var Hs="[object Set]";function Vs(t){return y(t)&&et(t)==Hs}var Yr=Vs;var qr=S&&S.isSet,Ys=qr?$(qr):Yr,Zr=Ys;var qs=1,Zs=2,Js=4,Jr="[object Arguments]",Xs="[object Array]",Qs="[object Boolean]",tf="[object Date]",ef="[object Error]",Xr="[object Function]",rf="[object GeneratorFunction]",of="[object Map]",af="[object Number]",Qr="[object Object]",nf="[object RegExp]",sf="[object Set]",ff="[object String]",pf="[object Symbol]",lf="[object WeakMap]",mf="[object ArrayBuffer]",uf="[object DataView]",df="[object Float32Array]",cf="[object Float64Array]",hf="[object Int8Array]",xf="[object Int16Array]",gf="[object Int32Array]",yf="[object Uint8Array]",bf="[object Uint8ClampedArray]",vf="[object Uint16Array]",wf="[object Uint32Array]",l={};l[Jr]=l[Xs]=l[mf]=l[uf]=l[Qs]=l[tf]=l[df]=l[cf]=l[hf]=l[xf]=l[gf]=l[of]=l[af]=l[Qr]=l[nf]=l[sf]=l[ff]=l[pf]=l[yf]=l[bf]=l[vf]=l[wf]=!0;l[ef]=l[Xr]=l[lf]=!1;function Nt(t,e,r,o,a,n){var i,s=e&qs,u=e&Zs,c=e&Js;if(r&&(i=a?r(t,o,a,n):r(t)),i!==void 0)return i;if(!T(t))return t;var h=x(t);if(h){if(i=Lr(t),!s)return xe(t,i)}else{var j=et(t),pt=j==Xr||j==rf;if(wt(t))return Or(t,s);if(j==Qr||j==Jr||pt&&!a){if(i=u||pt?{}:Wr(t),!s)return u?_r(t,vr(i,t)):Ir(t,br(i,t))}else{if(!l[j])return a?t:{};i=Kr(t,j,s)}}n||(n=new yr);var at=n.get(t);if(at)return at;n.set(t,i),Zr(t)?t.forEach(function(v){i.add(Nt(v,e,r,v,t,n))}):Vr(t)&&t.forEach(function(v,f){i.set(f,Nt(v,e,r,f,t,n))});var lt=c?u?_t:Er:u?V:H,mt=h?void 0:lt(t);return we(mt||t,function(v,f){mt&&(f=v,v=t[f]),G(i,f,Nt(v,e,r,f,t,n))}),i}var Mt=Nt;var Tf=1,Pf=4;function jf(t){return Mt(t,Tf|Pf)}var zt=jf;function Of(t,e){return t!=null&&e in Object(t)}var to=Of;function Af(t,e,r){e=P(e,t);for(var o=-1,a=e.length,n=!1;++o<a;){var i=M(e[o]);if(!(n=t!=null&&r(t,i)))break;t=t[i]}return n||++o!=a?n:(a=t==null?0:t.length,!!a&&z(a)&&U(i,a)&&(x(t)||W(t)))}var eo=Af;function Sf(t,e){return t!=null&&eo(t,e,to)}var ro=Sf;function If(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var oo=If;function _f(t,e){return e.length<2?t:jt(t,ur(e,0,-1))}var ao=_f;function Ef(t,e){return e=P(e,t),t=ao(t,e),t==null||delete t[M(oo(e))]}var io=Ef;function Ff(t){return mr(t)?void 0:t}var no=Ff;var Cf=1,Nf=2,Mf=4,Rf=Ot(function(t,e){var r={};if(t==null)return r;var o=!1;e=ct(e,function(n){return n=P(n,t),o||(o=n.length>1),n}),O(t,_t(t),r),o&&(r=Mt(r,Cf|Nf|Mf,no));for(var a=e.length;a--;)io(r,e[a]);return r}),Kt=Rf;function Lf(t,e,r,o){if(!T(t))return t;e=P(e,t);for(var a=-1,n=e.length,i=n-1,s=t;s!=null&&++a<n;){var u=M(e[a]),c=r;if(u==="__proto__"||u==="constructor"||u==="prototype")return t;if(a!=i){var h=s[u];c=o?o(h,u,s):void 0,c===void 0&&(c=T(h)?h:U(e[a+1])?[]:{})}G(s,u,c),s=s[u]}return t}var so=Lf;function Bf(t,e,r){for(var o=-1,a=e.length,n={};++o<a;){var i=e[o],s=jt(t,i);r(s,i)&&so(n,P(i,t),s)}return n}var fo=Bf;function kf(t,e){return fo(t,e,function(r,o){return ro(t,o)})}var po=kf;var Df=Ot(function(t,e){return t==null?{}:po(t,e)}),Rt=Df;function lo(t){return{all:t=t||new Map,on:function(e,r){var o=t.get(e);o?o.push(r):t.set(e,[r])},off:function(e,r){var o=t.get(e);o&&(r?o.splice(o.indexOf(r)>>>0,1):t.set(e,[]))},emit:function(e,r){var o=t.get(e);o&&o.slice().map(function(a){a(r)}),(o=t.get("*"))&&o.slice().map(function(a){a(e,r)})}}}var mo="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Wt=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=mo[r[t]&63];return e};var Uf="array",Gf="bit",uo="bits",zf="byte",co="bytes",ot="",Kf="exponent",Wf="function",ho="iec",$f="Invalid number",Hf="Invalid rounding method",$t="jedec",Vf="object",xo=".",Yf="round",qf="s",Zf="si",Jf="kbit",Xf="kB",Qf=" ",tp="string",ep="0",Ht={symbol:{iec:{bits:["bit","Kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],bytes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},jedec:{bits:["bit","Kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],bytes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}},fullform:{iec:["","kibi","mebi","gibi","tebi","pebi","exbi","zebi","yobi"],jedec:["","kilo","mega","giga","tera","peta","exa","zetta","yotta"]}};function go(t,{bits:e=!1,pad:r=!1,base:o=-1,round:a=2,locale:n=ot,localeOptions:i={},separator:s=ot,spacer:u=Qf,symbols:c={},standard:h=ot,output:j=tp,fullform:pt=!1,fullforms:at=[],exponent:lt=-1,roundingMethod:mt=Yf,precision:v=0}={}){let f=lt,B=Number(t),p=[],R=0,Lt=ot;h===Zf?(o=10,h=$t):h===ho||h===$t?o=2:o===2?h=ho:(o=10,h=$t);let ut=o===10?1e3:1024,yo=pt===!0,Yt=B<0,qt=Math[mt];if(typeof t!="bigint"&&isNaN(t))throw new TypeError($f);if(typeof qt!==Wf)throw new TypeError(Hf);if(Yt&&(B=-B),(f===-1||isNaN(f))&&(f=Math.floor(Math.log(B)/Math.log(ut)),f<0&&(f=0)),f>8&&(v>0&&(v+=8-f),f=8),j===Kf)return f;if(B===0)p[0]=0,Lt=p[1]=Ht.symbol[h][e?uo:co][f];else{R=B/(o===2?Math.pow(2,f*10):Math.pow(1e3,f)),e&&(R=R*8,R>=ut&&f<8&&(R=R/ut,f++));let it=Math.pow(10,f>0?a:0);p[0]=qt(R*it)/it,p[0]===ut&&f<8&&lt===-1&&(p[0]=1,f++),Lt=p[1]=o===10&&f===1?e?Jf:Xf:Ht.symbol[h][e?uo:co][f]}if(Yt&&(p[0]=-p[0]),v>0&&(p[0]=p[0].toPrecision(v)),p[1]=c[p[1]]||p[1],n===!0?p[0]=p[0].toLocaleString():n.length>0?p[0]=p[0].toLocaleString(n,i):s.length>0&&(p[0]=p[0].toString().replace(xo,s)),r&&a>0){let it=p[0].toString(),Zt=s||(it.match(/(\D)/g)||[]).pop()||xo,Jt=it.toString().split(Zt),Xt=Jt[1]||ot,Qt=Xt.length,bo=a-Qt;p[0]=`${Jt[0]}${Zt}${Xt.padEnd(Qt+bo,ep)}`}return yo&&(p[1]=at[f]?at[f]:Ht.fullform[h][f]+(e?Gf:zf)+(p[0]===1?ot:qf)),j===Uf?p:j===Vf?{value:p[0],symbol:p[1],exponent:f,unit:Lt}:p.join(u)}var _=class t{constructor(e){this.meta={};var o;if(!e.tera)throw new Error("Basic file requires a `tera` key to access the Tera instance");Object.assign(this,Kt(e,"encodeIdFunction")),e.encodeIdFunction&&typeof e.encodeIdFunction=="function"&&(this.id=e.encodeIdFunction(this.id));let r=this.tera;Object.defineProperty(this,"_tera",{enumerable:!1,configurable:!1,get(){return r}}),delete this.tera,this.created&&typeof this.created=="string"&&(this.created=new Date(this.created)),this.modified&&typeof this.modified=="string"&&(this.modified=new Date(this.modified)),this.accessed&&typeof this.accessed=="string"&&(this.accessed=new Date(this.accessed)),this.isFolder&&(this.files=(o=this.files)==null?void 0:o.map(a=>{let n=a.path.split(/\//).slice(3).join("/"),i=this.url+"/"+a.name;return a.meta.reflib&&(i=i.replace(/\/project\/download\//,"/project/library/")),new t({tera:this._tera,...a,sbId:a.id,id:a.path,encodeIdFunction:e.encodeIdFunction,path:n,url:i})})),this.teraUrl=this.url.replace(/^https?:\/\/(?:.+?)\/projects\/(?:.+?)\/project\/(.+)$/,"/project/$1"),this.sizeFormatted=go(this.size||0,{spacer:""}),this.createdFormatted=this.created?this.created.toLocaleDateString():"Unknown created date",this.modifiedFormatted=this.modified?this.modified.toLocaleDateString():"Unknown modified date",this.accessedFormatted=this.accessed?this.accessed.toLocaleDateString():"Unknown access date"}getContents(e){return this._tera.getProjectFileContents(this.id,e)}setContents(e){return this._tera.setProjectFileContents(this.id,e,{})}getRefs(){return this._tera.getProjectLibrary(this.id)}setRefs(e){return this._tera.setProjectLibrary(this.id,e)}serialize(){return Rt(this,["id","sbId","name","icon","path","url","parsedName","created","modified","accessed","size","mime","meta"])}static deserialize(e){let r=Rt(e,["tera","id","sbId","name","icon","path","url","parsedName","created","modified","accessed","size","mime","meta"]);return new t(r)}};var Vt=class{constructor(e){this.settings={session:null,devMode:!1,verbosity:1,mode:"detect",modeTimeout:300,modeFallback:"child",modeOverrides:{child(e){e.siteUrl=="https://tera-tools.com/embed"&&(e.siteUrl="https://dev.tera-tools.com/embed")}},siteUrl:"https://tera-tools.com/embed",restrictOrigin:"*",frameSandbox:["allow-forms","allow-modals","allow-orientation-lock","allow-pointer-lock","allow-popups","allow-popups-to-escape-sandbox","allow-presentation","allow-same-origin","allow-scripts","allow-top-navigation"],handshakeInterval:1e3,handshakeTimeout:1e4,debugPaths:null};this.events=lo();this.dom={el:null,iframe:null,popup:null,stylesheet:null};this.methods=["handshake","setServerVerbosity","getUser","requireUser","getCredentials","getKindeToken","bindProject","getProject","getProjects","setActiveProject","requireProject","selectProject","getNamespace","setNamespace","listNamespaces","getProjectState","setProjectState","setProjectStateDefaults","setProjectStateRefresh","getProjectFileContents","deleteProjectFile","setProjectFileContents","createProjectFolder","deleteProjectFolder","selectProjectLibrary","getProjectLibrary","setProjectLibrary","projectLog","setPage","uiAlert","uiConfirm","uiJson","uiPanic","uiProgress","uiPrompt","uiThrow","uiSplat","uiWindow"];this.plugins=[];this.namespaces={};this.acceptPostboxes={};this.initPromise=null;e&&this.set(e)}send(e){let r=Wt();return this.acceptPostboxes[r]={},this.acceptPostboxes[r].promise=new Promise((o,a)=>{Object.assign(this.acceptPostboxes[r],{resolve:o,reject:a}),this.sendRaw({id:r,...e})}),this.acceptPostboxes[r].promise}sendRaw(e){let r;try{if(r={TERA:1,id:e.id||Wt(),...zt(e)},this.settings.mode=="parent")window.parent.postMessage(r,this.settings.restrictOrigin);else if(this.settings.mode=="child")this.dom.iframe.contentWindow.postMessage(r,this.settings.restrictOrigin);else if(this.settings.mode=="popup")this.dom.popup.postMessage(r,this.settings.restrictOrigin);else throw this.settings.mode=="detect"?new Error("Call init() or detectMode() before trying to send data to determine the mode"):new Error(`Unknown TERA communication mode "${this.settings.mode}"`)}catch(o){throw this.debug("ERROR",1,"Message compose client->server:",o),this.debug("ERROR",1,"Attempted to dispatch payload client->server",r),o}}rpc(e,...r){return this.send({action:"rpc",method:e,args:r})}acceptMessage(e){if(e.origin==window.location.origin)return Promise.resolve();let r=e.data;return!r.TERA||!r.id?Promise.resolve():(this.debug("INFO",3,"Recieved message",r),(r==null?void 0:r.action)=="response"&&this.acceptPostboxes[r.id]?(r.isError===!0?this.acceptPostboxes[r.id].reject(r.response):this.acceptPostboxes[r.id].resolve(r.response),Promise.resolve()):(r==null?void 0:r.action)=="rpc"?Promise.resolve().then(()=>this[r.method].apply(this,r.args)).then(o=>this.sendRaw({id:r.id,action:"response",response:o})).catch(o=>{console.warn(`TERA-FY client threw on RPC:${r.method}:`,o),this.sendRaw({id:r.id,action:"response",isError:!0,response:o&&o.toString()})}):(r==null?void 0:r.action)=="event"?Promise.resolve().then(()=>this.events.emit(r.event,...r.payload)).catch(o=>{throw console.warn(`TERA-FY client threw while handling emitted event "${r.event}"`,{message:r}),o}):r!=null&&r.id?(this.debug("INFO",3,`Ignoring message ID ${r.id} - was meant for someone else?`),Promise.resolve()):(this.debug("INFO",3,"Unexpected incoming TERA-FY CLIENT message",{message:r}),Promise.resolve()))}mountNamespace(e){if(!/^[\w-]+$/.test(e))throw new Error("Namespaces must be alphanumeric + hyphens + underscores");return this.namespaces[e]?Promise.resolve(this.namespaces[e]):Promise.resolve().then(()=>this._mountNamespace(e)).then(()=>this.namespaces[e]||Promise.reject(`teraFy.mountNamespace('${e}') resolved but no namespace has been mounted`))}_mountNamespace(e){throw console.warn("teraFy._mountNamespace() has not been overriden by a TERA-fy plugin, load one to add this functionality for your preferred framework"),new Error("teraFy._mountNamespace() is not supported")}unmountNamespace(e){return this.namespaces[e]?this._unmountNamespace(e):Promise.resolve()}_unmountNamespace(e){console.warn("teraFy.unbindNamespace() has not been overriden by a TERA-fy plugin, load one to add this functionality for your preferred framework")}init(e){if(e&&this.set(e),this.initPromise)return this.initPromise;window.addEventListener("message",this.acceptMessage.bind(this));let r=this;return this.initPromise=Promise.resolve().then(()=>{var o;return(o=this.settings).session||(o.session="tfy-"+this.getEntropicString(16))}).then(()=>this.debug("INFO",4,"[0/6] Init","Session",this.settings.session,"against",this.settings.siteUrl)).then(()=>{this.settings.devMode&&(this.settings.debugPaths?this.settings.debugPaths=this.settings.debugPaths.map(o=>Array.isArray(o)?o.join("."):typeof o=="string"?o:(()=>{throw new Error("Unknown path type - should be an array or string in dotted notation")})()):this.settings.debugPaths=null,this.debug("INFO",0,"Watching state paths",this.settings.debugPaths))}).then(()=>this.detectMode()).then(o=>{if(this.debug("INFO",4,"[1/6] Setting client mode to",o),this.settings.mode=o,this.settings.modeOverrides[o])return this.debug("INFO",4,"[1/6] Applying specific config overrides for mode",o),this.settings.modeOverrides[o](this.settings)}).then(()=>this.debug("INFO",4,"[2/6] Injecting comms + styles + methods")).then(()=>Promise.all([this.injectComms(),this.injectStylesheet(),this.injectMethods()])).then(()=>{if(this.settings.verbosity<=1){this.debug("INFO",4,"[3/6] Skip - Server verbosity is already at 1");return}else return this.debug("INFO",4,`[3/6] Set server verbosity to ${this.settings.verbosity}`),this.rpc("setServerVerbosity",this.settings.verbosity)}).then(()=>this.debug("INFO",4,`[4/6] Set server mode to "${this.settings.mode}"`)).then(()=>this.rpc("setServerMode",this.settings.mode=="child"?"embedded":this.settings.mode=="parent"?"frame":this.settings.mode=="popup"?"popup":(()=>{throw`Unknown server mode "${this.settings.mode}"`})())).then(()=>this.debug("INFO",4,"[5/6] Run client plugins")).then(()=>Promise.all(this.plugins.map(o=>o.init.call(r,this.settings)))).then(()=>(this.debug("INFO",4,"[6/6] Init complete"),r)).catch(o=>{throw this.debug("WARN",0,"Init process fault",o),o}),this.initPromise}detectMode(){return this.settings.mode!="detect"?Promise.resolve(this.settings.mode):window.self===window.parent?Promise.resolve(this.settings.modeFallback):Promise.resolve().then(()=>this.settings.mode="parent").then(()=>new Promise((e,r)=>{let o=setTimeout(()=>r("TIMEOUT"),this.settings.modeTimeout);this.rpc("handshake").then(()=>clearTimeout(o)).then(()=>e()).catch(r)})).then(()=>"parent").catch(()=>this.settings.modeFallback)}injectComms(){switch(this.settings.mode){case"child":return Promise.resolve().then(()=>new Promise(e=>{this.debug("INFO",2,"Injecting TERA site as iFrame child"),this.dom.el=document.createElement("div"),this.dom.el.id="tera-fy",this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this.dom.el.classList.add("minimized"),document.body.append(this.dom.el),this.dom.el.addEventListener("click",()=>this.dom.el.classList.toggle("minimized")),this.dom.iframe=document.createElement("iframe"),this.dom.iframe.setAttribute("sandbox",this.settings.frameSandbox.join(" ")),this.dom.iframe.addEventListener("load",()=>{this.debug("INFO",3,"Embeded iframe ready"),e()}),this.dom.iframe.src=this.settings.siteUrl,this.dom.el.append(this.dom.iframe)})).then(()=>this.handshakeLoop());case"parent":return this.debug("INFO",2,"Using TERA window parent"),Promise.resolve();case"popup":return this.debug("INFO",2,"Injecting TERA site as a popup window"),this.dom.popup=window.open(this.settings.siteUrl,"_blank","popup=1, location=0, menubar=0, status=0, scrollbars=0, width=500, height=600"),this.handshakeLoop().then(()=>this.debug("INFO",3,"Popup window accepted handshake"));default:throw new Error(`Unsupported mode "${this.settings.mode}" when calling injectComms()`)}}handshakeLoop(e){let r={handshakeInterval:this.settings.handshakeInterval,handshakeTimeout:this.settings.handshakeTimeout,...e};return new Promise((o,a)=>{let n=0,i,s=setTimeout(()=>{clearTimeout(i),a("TIMEOUT")},r.handshakeTimeout),u=()=>{this.debug("INFO",4,"Trying handshake",++n),clearTimeout(i),i=setTimeout(u,r.handshakeInterval),this.rpc("handshake").then(()=>{clearTimeout(s),clearTimeout(i)}).then(()=>o()).catch(a)};u()})}injectStylesheet(){switch(this.settings.mode){case"child":this.dom.stylesheet=document.createElement("style"),this.dom.stylesheet.innerHTML=[":root {","--TERA-accent: #4d659c;","}","#tera-fy {","display: none;","position: fixed;","right: 50px;","bottom: 50px;","width: 300px;","height: 150px;","background: transparent;","body:not(.tera-fy-focus) &.minimized.dev-mode {","background: var(--TERA-accent) !important;","opacity: 0.5;","right: 0px;","bottom: 0px;","width: 30px;","height: 30px;","transition: opacity 0.2s ease-out;","cursor: pointer;","border: none;","border-top-left-radius: 30px;","border-top: 2px solid var(--TERA-accent);","border-left: 2px solid var(--TERA-accent);","display: flex;","justify-content: center;","align-items: center;","&::before {","margin: 2px 0 0 0;",'content: "\u{1F300}";',"color: #FFF;","}","&:hover {","opacity: 1;","}","& > iframe {","display: none;","}","}","body:not(.tera-fy-focus) &:not(.minimized) {","&::before {","display: flex;","align-items: center;","justify-content: center;","cursor: pointer;","background: var(--TERA-accent) !important;","opacity: 0.5;","transition: opacity 0.2s ease-out;","position: absolute;","right: 0px;","bottom: 0px;","width: 20px;","height: 20px;","margin: 2px 0 0 0;",'content: "\u2B68";',"color: #FFF;","border: none;","border-top-left-radius: 30px;","border-top: 2px solid var(--TERA-accent);","border-left: 2px solid var(--TERA-accent);","}","&:hover::before {","opacity: 1;","}","}","&.dev-mode {","display: flex;","border: 5px solid var(--TERA-accent);","background: #FFF;","}","& > iframe {","width: 100%;","height: 100%;","}","}","body.tera-fy-focus {","overflow: hidden;","& #tera-fy {","display: flex !important;","position: fixed !important;","top: 0px !important;","width: 100vw !important;","height: 100vh !important;","left: 0px !important;","z-index: 10000 !important;","}","}"].join(`
2
- `),document.head.appendChild(this.dom.stylesheet);break;case"parent":case"popup":break;default:throw new Error(`Unsupported mode "${this.settings.mode}" when injectStylesheet()`)}return Promise.resolve()}injectMethods(){this.methods.forEach(e=>this[e]=this.rpc.bind(this,e))}debug(...e){if(!this.settings.devMode||this.settings.verbosity<1)return;let r="log",o=1;typeof e[0]=="string"&&["INFO","LOG","WARN","ERROR"].includes(e[0])&&(r=e.shift().toLowerCase()),typeof e[0]=="number"&&(o=e[0],e.shift()),!(this.settings.verbosity<o)&&console[r]("%c[TERA-FY CLIENT]","font-weight: bold; color: #ff5722;",...e)}set(e,r,o){let a={ignoreNullish:!0,...o};return typeof e=="string"?(!a.ignoreNullish||r!=null)&&(this.settings[e]=r):Object.assign(this.settings,e),this.toggleDevMode(this.settings.devMode)}setIfDev(e,r,o){return!this.settings.devMode||r===void 0?this:this.set(e,r,o)}use(e,r){let o=typeof e=="function"?new e(this,r):typeof e=="object"?e:typeof e=="string"?(()=>{throw new Error("use(String) is not yet supported")})():(()=>{throw new Error("Expected use() call to be provided with a class initalizer")})();return this.mixin(this,o),this.plugins.push(o),this}mixin(e,r){let o=[],a=r;do o.unshift(a);while(a=Object.getPrototypeOf(a));o.forEach(n=>Object.getOwnPropertyNames(n).filter(i=>!["constructor","init","prototype","name"].includes(i)&&!i.startsWith("__")).forEach(i=>{typeof r[i]=="function"?Object.defineProperty(e,i,{enumerable:!1,value:r[i].bind(e)}):e[i]=r[i]}))}toggleDevMode(e="toggle"){var r;return e==="toggle"?this.settings.devMode=!this.settings.devMode:e==="proxy"?Object.assign(this.settings,{devMode:!0,siteUrl:"http://localhost:7334/embed",mode:"child"}):this.settings.devMode=!!e,this.settings.devMode&&(this.settings.restrictOrigin="*"),(r=this.dom)!=null&&r.el&&this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this}toggleFocus(e="toggle"){this.debug("INFO",2,"Request focus",{isFocused:e}),globalThis.document.body.classList.toggle("tera-fy-focus",e==="toggle"?void 0:e)}getEntropicString(e=32){let r=new Uint32Array(4);return window.crypto.getRandomValues(r),btoa(String.fromCharCode(...new Uint8Array(r.buffer))).replace(/[+/]/g,"").slice(0,e)}selectProjectFile(e){return this.rpc("selectProjectFile",e).then(r=>r&&new _({tera:this,...r}))}getProjectFiles(e){return this.rpc("getProjectFiles",e).then(r=>r.map(o=>new _({tera:this,...o})))}getProjectFile(e,r){return this.rpc("getProjectFile",e,r).then(o=>o&&new _({tera:this,...o}))}createProjectFile(e){return this.rpc("createProjectFile",e).then(r=>r&&new _({tera:this,...r}))}moveProjectFile(e,r,o){return this.rpc("moveProjectFile",e,r,o).then(a=>a?new _({tera:this,...a}):null)}};export{Vt as default};
1
+ var xo=typeof global=="object"&&global&&global.Object===Object&&global,ut=xo;var yo=typeof self=="object"&&self&&self.Object===Object&&self,bo=ut||yo||Function("return this")(),d=bo;var vo=d.Symbol,x=vo;var Qt=Object.prototype,wo=Qt.hasOwnProperty,To=Qt.toString,it=x?x.toStringTag:void 0;function Po(t){var e=wo.call(t,it),r=t[it];try{t[it]=void 0;var o=!0}catch{}var a=To.call(t);return o&&(e?t[it]=r:delete t[it]),a}var te=Po;var jo=Object.prototype,Oo=jo.toString;function Ao(t){return Oo.call(t)}var ee=Ao;var Io="[object Null]",So="[object Undefined]",re=x?x.toStringTag:void 0;function _o(t){return t==null?t===void 0?So:Io:re&&re in Object(t)?te(t):ee(t)}var w=_o;function Eo(t){return t!=null&&typeof t=="object"}var y=Eo;var Fo="[object Symbol]";function Co(t){return typeof t=="symbol"||y(t)&&w(t)==Fo}var k=Co;function Mo(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r<o;)a[r]=e(t[r],r,t);return a}var dt=Mo;var No=Array.isArray,g=No;var Ro=1/0,oe=x?x.prototype:void 0,ae=oe?oe.toString:void 0;function ie(t){if(typeof t=="string")return t;if(g(t))return dt(t,ie)+"";if(k(t))return ae?ae.call(t):"";var e=t+"";return e=="0"&&1/t==-Ro?"-0":e}var ne=ie;function Lo(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var T=Lo;function Bo(t){return t}var se=Bo;var ko="[object AsyncFunction]",Do="[object Function]",Uo="[object GeneratorFunction]",Go="[object Proxy]";function zo(t){if(!T(t))return!1;var e=w(t);return e==Do||e==Uo||e==ko||e==Go}var ct=zo;var Ko=d["__core-js_shared__"],ht=Ko;var fe=(function(){var t=/[^.]+$/.exec(ht&&ht.keys&&ht.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Wo(t){return!!fe&&fe in t}var pe=Wo;var Yo=Function.prototype,$o=Yo.toString;function Ho(t){if(t!=null){try{return $o.call(t)}catch{}try{return t+""}catch{}}return""}var A=Ho;var Vo=/[\\^$.*+?()[\]{}|]/g,qo=/^\[object .+?Constructor\]$/,Zo=Function.prototype,Jo=Object.prototype,Xo=Zo.toString,Qo=Jo.hasOwnProperty,ta=RegExp("^"+Xo.call(Qo).replace(Vo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ea(t){if(!T(t)||pe(t))return!1;var e=ct(t)?ta:qo;return e.test(A(t))}var le=ea;function ra(t,e){return t==null?void 0:t[e]}var me=ra;function oa(t,e){var r=me(t,e);return le(r)?r:void 0}var b=oa;var aa=b(d,"WeakMap"),gt=aa;var ue=Object.create,ia=(function(){function t(){}return function(e){if(!T(e))return{};if(ue)return ue(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})(),de=ia;function na(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var ce=na;function sa(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e}var he=sa;var fa=800,pa=16,la=Date.now;function ma(t){var e=0,r=0;return function(){var o=la(),a=pa-(o-r);if(r=o,a>0){if(++e>=fa)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var ge=ma;function ua(t){return function(){return t}}var xe=ua;var da=(function(){try{var t=b(Object,"defineProperty");return t({},"",{}),t}catch{}})(),D=da;var ca=D?function(t,e){return D(t,"toString",{configurable:!0,enumerable:!1,value:xe(e),writable:!0})}:se,ye=ca;var ha=ge(ye),be=ha;function ga(t,e){for(var r=-1,o=t==null?0:t.length;++r<o&&e(t[r],r,t)!==!1;);return t}var ve=ga;var xa=9007199254740991,ya=/^(?:0|[1-9]\d*)$/;function ba(t,e){var r=typeof t;return e=e==null?xa:e,!!e&&(r=="number"||r!="symbol"&&ya.test(t))&&t>-1&&t%1==0&&t<e}var U=ba;function va(t,e,r){e=="__proto__"&&D?D(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var xt=va;function wa(t,e){return t===e||t!==t&&e!==e}var yt=wa;var Ta=Object.prototype,Pa=Ta.hasOwnProperty;function ja(t,e,r){var o=t[e];(!(Pa.call(t,e)&&yt(o,r))||r===void 0&&!(e in t))&&xt(t,e,r)}var G=ja;function Oa(t,e,r,o){var a=!r;r||(r={});for(var i=-1,n=e.length;++i<n;){var s=e[i],u=o?o(r[s],t[s],s,r,t):void 0;u===void 0&&(u=t[s]),a?xt(r,s,u):G(r,s,u)}return r}var O=Oa;var we=Math.max;function Aa(t,e,r){return e=we(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,i=we(o.length-e,0),n=Array(i);++a<i;)n[a]=o[e+a];a=-1;for(var s=Array(e+1);++a<e;)s[a]=o[a];return s[e]=r(n),ce(t,this,s)}}var Te=Aa;var Ia=9007199254740991;function Sa(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Ia}var z=Sa;function _a(t){return t!=null&&z(t.length)&&!ct(t)}var bt=_a;var Ea=Object.prototype;function Fa(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||Ea;return t===r}var K=Fa;function Ca(t,e){for(var r=-1,o=Array(t);++r<t;)o[r]=e(r);return o}var Pe=Ca;var Ma="[object Arguments]";function Na(t){return y(t)&&w(t)==Ma}var Lt=Na;var je=Object.prototype,Ra=je.hasOwnProperty,La=je.propertyIsEnumerable,Ba=Lt((function(){return arguments})())?Lt:function(t){return y(t)&&Ra.call(t,"callee")&&!La.call(t,"callee")},W=Ba;function ka(){return!1}var Oe=ka;var Se=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ae=Se&&typeof module=="object"&&module&&!module.nodeType&&module,Da=Ae&&Ae.exports===Se,Ie=Da?d.Buffer:void 0,Ua=Ie?Ie.isBuffer:void 0,Ga=Ua||Oe,vt=Ga;var za="[object Arguments]",Ka="[object Array]",Wa="[object Boolean]",Ya="[object Date]",$a="[object Error]",Ha="[object Function]",Va="[object Map]",qa="[object Number]",Za="[object Object]",Ja="[object RegExp]",Xa="[object Set]",Qa="[object String]",ti="[object WeakMap]",ei="[object ArrayBuffer]",ri="[object DataView]",oi="[object Float32Array]",ai="[object Float64Array]",ii="[object Int8Array]",ni="[object Int16Array]",si="[object Int32Array]",fi="[object Uint8Array]",pi="[object Uint8ClampedArray]",li="[object Uint16Array]",mi="[object Uint32Array]",m={};m[oi]=m[ai]=m[ii]=m[ni]=m[si]=m[fi]=m[pi]=m[li]=m[mi]=!0;m[za]=m[Ka]=m[ei]=m[Wa]=m[ri]=m[Ya]=m[$a]=m[Ha]=m[Va]=m[qa]=m[Za]=m[Ja]=m[Xa]=m[Qa]=m[ti]=!1;function ui(t){return y(t)&&z(t.length)&&!!m[w(t)]}var _e=ui;function di(t){return function(e){return t(e)}}var Y=di;var Ee=typeof exports=="object"&&exports&&!exports.nodeType&&exports,nt=Ee&&typeof module=="object"&&module&&!module.nodeType&&module,ci=nt&&nt.exports===Ee,Bt=ci&&ut.process,hi=(function(){try{var t=nt&&nt.require&&nt.require("util").types;return t||Bt&&Bt.binding&&Bt.binding("util")}catch{}})(),I=hi;var Fe=I&&I.isTypedArray,gi=Fe?Y(Fe):_e,Ce=gi;var xi=Object.prototype,yi=xi.hasOwnProperty;function bi(t,e){var r=g(t),o=!r&&W(t),a=!r&&!o&&vt(t),i=!r&&!o&&!a&&Ce(t),n=r||o||a||i,s=n?Pe(t.length,String):[],u=s.length;for(var c in t)(e||yi.call(t,c))&&!(n&&(c=="length"||a&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||U(c,u)))&&s.push(c);return s}var wt=bi;function vi(t,e){return function(r){return t(e(r))}}var Tt=vi;var wi=Tt(Object.keys,Object),Me=wi;var Ti=Object.prototype,Pi=Ti.hasOwnProperty;function ji(t){if(!K(t))return Me(t);var e=[];for(var r in Object(t))Pi.call(t,r)&&r!="constructor"&&e.push(r);return e}var Ne=ji;function Oi(t){return bt(t)?wt(t):Ne(t)}var $=Oi;function Ai(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var Re=Ai;var Ii=Object.prototype,Si=Ii.hasOwnProperty;function _i(t){if(!T(t))return Re(t);var e=K(t),r=[];for(var o in t)o=="constructor"&&(e||!Si.call(t,o))||r.push(o);return r}var Le=_i;function Ei(t){return bt(t)?wt(t,!0):Le(t)}var H=Ei;var Fi=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ci=/^\w*$/;function Mi(t,e){if(g(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||k(t)?!0:Ci.test(t)||!Fi.test(t)||e!=null&&t in Object(e)}var Be=Mi;var Ni=b(Object,"create"),S=Ni;function Ri(){this.__data__=S?S(null):{},this.size=0}var ke=Ri;function Li(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var De=Li;var Bi="__lodash_hash_undefined__",ki=Object.prototype,Di=ki.hasOwnProperty;function Ui(t){var e=this.__data__;if(S){var r=e[t];return r===Bi?void 0:r}return Di.call(e,t)?e[t]:void 0}var Ue=Ui;var Gi=Object.prototype,zi=Gi.hasOwnProperty;function Ki(t){var e=this.__data__;return S?e[t]!==void 0:zi.call(e,t)}var Ge=Ki;var Wi="__lodash_hash_undefined__";function Yi(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=S&&e===void 0?Wi:e,this}var ze=Yi;function V(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}V.prototype.clear=ke;V.prototype.delete=De;V.prototype.get=Ue;V.prototype.has=Ge;V.prototype.set=ze;var kt=V;function $i(){this.__data__=[],this.size=0}var Ke=$i;function Hi(t,e){for(var r=t.length;r--;)if(yt(t[r][0],e))return r;return-1}var E=Hi;var Vi=Array.prototype,qi=Vi.splice;function Zi(t){var e=this.__data__,r=E(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():qi.call(e,r,1),--this.size,!0}var We=Zi;function Ji(t){var e=this.__data__,r=E(e,t);return r<0?void 0:e[r][1]}var Ye=Ji;function Xi(t){return E(this.__data__,t)>-1}var $e=Xi;function Qi(t,e){var r=this.__data__,o=E(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}var He=Qi;function q(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}q.prototype.clear=Ke;q.prototype.delete=We;q.prototype.get=Ye;q.prototype.has=$e;q.prototype.set=He;var F=q;var tn=b(d,"Map"),C=tn;function en(){this.size=0,this.__data__={hash:new kt,map:new(C||F),string:new kt}}var Ve=en;function rn(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var qe=rn;function on(t,e){var r=t.__data__;return qe(e)?r[typeof e=="string"?"string":"hash"]:r.map}var M=on;function an(t){var e=M(this,t).delete(t);return this.size-=e?1:0,e}var Ze=an;function nn(t){return M(this,t).get(t)}var Je=nn;function sn(t){return M(this,t).has(t)}var Xe=sn;function fn(t,e){var r=M(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}var Qe=fn;function Z(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Z.prototype.clear=Ve;Z.prototype.delete=Ze;Z.prototype.get=Je;Z.prototype.has=Xe;Z.prototype.set=Qe;var st=Z;var pn="Expected a function";function Dt(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(pn);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],i=r.cache;if(i.has(a))return i.get(a);var n=t.apply(this,o);return r.cache=i.set(a,n)||i,n};return r.cache=new(Dt.Cache||st),r}Dt.Cache=st;var tr=Dt;var ln=500;function mn(t){var e=tr(t,function(o){return r.size===ln&&r.clear(),o}),r=e.cache;return e}var er=mn;var un=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,dn=/\\(\\)?/g,cn=er(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(un,function(r,o,a,i){e.push(a?i.replace(dn,"$1"):o||r)}),e}),rr=cn;function hn(t){return t==null?"":ne(t)}var or=hn;function gn(t,e){return g(t)?t:Be(t,e)?[t]:rr(or(t))}var P=gn;var xn=1/0;function yn(t){if(typeof t=="string"||k(t))return t;var e=t+"";return e=="0"&&1/t==-xn?"-0":e}var N=yn;function bn(t,e){e=P(e,t);for(var r=0,o=e.length;t!=null&&r<o;)t=t[N(e[r++])];return r&&r==o?t:void 0}var Pt=bn;function vn(t,e){for(var r=-1,o=e.length,a=t.length;++r<o;)t[a+r]=e[r];return t}var J=vn;var ar=x?x.isConcatSpreadable:void 0;function wn(t){return g(t)||W(t)||!!(ar&&t&&t[ar])}var ir=wn;function nr(t,e,r,o,a){var i=-1,n=t.length;for(r||(r=ir),a||(a=[]);++i<n;){var s=t[i];e>0&&r(s)?e>1?nr(s,e-1,r,o,a):J(a,s):o||(a[a.length]=s)}return a}var sr=nr;function Tn(t){var e=t==null?0:t.length;return e?sr(t,1):[]}var fr=Tn;function Pn(t){return be(Te(t,void 0,fr),t+"")}var jt=Pn;var jn=Tt(Object.getPrototypeOf,Object),X=jn;var On="[object Object]",An=Function.prototype,In=Object.prototype,pr=An.toString,Sn=In.hasOwnProperty,_n=pr.call(Object);function En(t){if(!y(t)||w(t)!=On)return!1;var e=X(t);if(e===null)return!0;var r=Sn.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&pr.call(r)==_n}var lr=En;function Fn(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(a);++o<a;)i[o]=t[o+e];return i}var mr=Fn;function Cn(){this.__data__=new F,this.size=0}var ur=Cn;function Mn(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var dr=Mn;function Nn(t){return this.__data__.get(t)}var cr=Nn;function Rn(t){return this.__data__.has(t)}var hr=Rn;var Ln=200;function Bn(t,e){var r=this.__data__;if(r instanceof F){var o=r.__data__;if(!C||o.length<Ln-1)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new st(o)}return r.set(t,e),this.size=r.size,this}var gr=Bn;function Q(t){var e=this.__data__=new F(t);this.size=e.size}Q.prototype.clear=ur;Q.prototype.delete=dr;Q.prototype.get=cr;Q.prototype.has=hr;Q.prototype.set=gr;var xr=Q;function kn(t,e){return t&&O(e,$(e),t)}var yr=kn;function Dn(t,e){return t&&O(e,H(e),t)}var br=Dn;var Pr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,vr=Pr&&typeof module=="object"&&module&&!module.nodeType&&module,Un=vr&&vr.exports===Pr,wr=Un?d.Buffer:void 0,Tr=wr?wr.allocUnsafe:void 0;function Gn(t,e){if(e)return t.slice();var r=t.length,o=Tr?Tr(r):new t.constructor(r);return t.copy(o),o}var jr=Gn;function zn(t,e){for(var r=-1,o=t==null?0:t.length,a=0,i=[];++r<o;){var n=t[r];e(n,r,t)&&(i[a++]=n)}return i}var Or=zn;function Kn(){return[]}var Ot=Kn;var Wn=Object.prototype,Yn=Wn.propertyIsEnumerable,Ar=Object.getOwnPropertySymbols,$n=Ar?function(t){return t==null?[]:(t=Object(t),Or(Ar(t),function(e){return Yn.call(t,e)}))}:Ot,tt=$n;function Hn(t,e){return O(t,tt(t),e)}var Ir=Hn;var Vn=Object.getOwnPropertySymbols,qn=Vn?function(t){for(var e=[];t;)J(e,tt(t)),t=X(t);return e}:Ot,At=qn;function Zn(t,e){return O(t,At(t),e)}var Sr=Zn;function Jn(t,e,r){var o=e(t);return g(t)?o:J(o,r(t))}var It=Jn;function Xn(t){return It(t,$,tt)}var _r=Xn;function Qn(t){return It(t,H,At)}var St=Qn;var ts=b(d,"DataView"),_t=ts;var es=b(d,"Promise"),Et=es;var rs=b(d,"Set"),Ft=rs;var Er="[object Map]",os="[object Object]",Fr="[object Promise]",Cr="[object Set]",Mr="[object WeakMap]",Nr="[object DataView]",as=A(_t),is=A(C),ns=A(Et),ss=A(Ft),fs=A(gt),L=w;(_t&&L(new _t(new ArrayBuffer(1)))!=Nr||C&&L(new C)!=Er||Et&&L(Et.resolve())!=Fr||Ft&&L(new Ft)!=Cr||gt&&L(new gt)!=Mr)&&(L=function(t){var e=w(t),r=e==os?t.constructor:void 0,o=r?A(r):"";if(o)switch(o){case as:return Nr;case is:return Er;case ns:return Fr;case ss:return Cr;case fs:return Mr}return e});var et=L;var ps=Object.prototype,ls=ps.hasOwnProperty;function ms(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&ls.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var Rr=ms;var us=d.Uint8Array,Ut=us;function ds(t){var e=new t.constructor(t.byteLength);return new Ut(e).set(new Ut(t)),e}var rt=ds;function cs(t,e){var r=e?rt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var Lr=cs;var hs=/\w*$/;function gs(t){var e=new t.constructor(t.source,hs.exec(t));return e.lastIndex=t.lastIndex,e}var Br=gs;var kr=x?x.prototype:void 0,Dr=kr?kr.valueOf:void 0;function xs(t){return Dr?Object(Dr.call(t)):{}}var Ur=xs;function ys(t,e){var r=e?rt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var Gr=ys;var bs="[object Boolean]",vs="[object Date]",ws="[object Map]",Ts="[object Number]",Ps="[object RegExp]",js="[object Set]",Os="[object String]",As="[object Symbol]",Is="[object ArrayBuffer]",Ss="[object DataView]",_s="[object Float32Array]",Es="[object Float64Array]",Fs="[object Int8Array]",Cs="[object Int16Array]",Ms="[object Int32Array]",Ns="[object Uint8Array]",Rs="[object Uint8ClampedArray]",Ls="[object Uint16Array]",Bs="[object Uint32Array]";function ks(t,e,r){var o=t.constructor;switch(e){case Is:return rt(t);case bs:case vs:return new o(+t);case Ss:return Lr(t,r);case _s:case Es:case Fs:case Cs:case Ms:case Ns:case Rs:case Ls:case Bs:return Gr(t,r);case ws:return new o;case Ts:case Os:return new o(t);case Ps:return Br(t);case js:return new o;case As:return Ur(t)}}var zr=ks;function Ds(t){return typeof t.constructor=="function"&&!K(t)?de(X(t)):{}}var Kr=Ds;var Us="[object Map]";function Gs(t){return y(t)&&et(t)==Us}var Wr=Gs;var Yr=I&&I.isMap,zs=Yr?Y(Yr):Wr,$r=zs;var Ks="[object Set]";function Ws(t){return y(t)&&et(t)==Ks}var Hr=Ws;var Vr=I&&I.isSet,Ys=Vr?Y(Vr):Hr,qr=Ys;var $s=1,Hs=2,Vs=4,Zr="[object Arguments]",qs="[object Array]",Zs="[object Boolean]",Js="[object Date]",Xs="[object Error]",Jr="[object Function]",Qs="[object GeneratorFunction]",tf="[object Map]",ef="[object Number]",Xr="[object Object]",rf="[object RegExp]",of="[object Set]",af="[object String]",nf="[object Symbol]",sf="[object WeakMap]",ff="[object ArrayBuffer]",pf="[object DataView]",lf="[object Float32Array]",mf="[object Float64Array]",uf="[object Int8Array]",df="[object Int16Array]",cf="[object Int32Array]",hf="[object Uint8Array]",gf="[object Uint8ClampedArray]",xf="[object Uint16Array]",yf="[object Uint32Array]",l={};l[Zr]=l[qs]=l[ff]=l[pf]=l[Zs]=l[Js]=l[lf]=l[mf]=l[uf]=l[df]=l[cf]=l[tf]=l[ef]=l[Xr]=l[rf]=l[of]=l[af]=l[nf]=l[hf]=l[gf]=l[xf]=l[yf]=!0;l[Xs]=l[Jr]=l[sf]=!1;function Ct(t,e,r,o,a,i){var n,s=e&$s,u=e&Hs,c=e&Vs;if(r&&(n=a?r(t,o,a,i):r(t)),n!==void 0)return n;if(!T(t))return t;var h=g(t);if(h){if(n=Rr(t),!s)return he(t,n)}else{var j=et(t),ft=j==Jr||j==Qs;if(vt(t))return jr(t,s);if(j==Xr||j==Zr||ft&&!a){if(n=u||ft?{}:Kr(t),!s)return u?Sr(t,br(n,t)):Ir(t,yr(n,t))}else{if(!l[j])return a?t:{};n=zr(t,j,s)}}i||(i=new xr);var ot=i.get(t);if(ot)return ot;i.set(t,n),qr(t)?t.forEach(function(v){n.add(Ct(v,e,r,v,t,i))}):$r(t)&&t.forEach(function(v,f){n.set(f,Ct(v,e,r,f,t,i))});var pt=c?u?St:_r:u?H:$,lt=h?void 0:pt(t);return ve(lt||t,function(v,f){lt&&(f=v,v=t[f]),G(n,f,Ct(v,e,r,f,t,i))}),n}var Mt=Ct;var bf=1,vf=4;function wf(t){return Mt(t,bf|vf)}var Gt=wf;function Tf(t,e){return t!=null&&e in Object(t)}var Qr=Tf;function Pf(t,e,r){e=P(e,t);for(var o=-1,a=e.length,i=!1;++o<a;){var n=N(e[o]);if(!(i=t!=null&&r(t,n)))break;t=t[n]}return i||++o!=a?i:(a=t==null?0:t.length,!!a&&z(a)&&U(n,a)&&(g(t)||W(t)))}var to=Pf;function jf(t,e){return t!=null&&to(t,e,Qr)}var eo=jf;function Of(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var ro=Of;function Af(t,e){return e.length<2?t:Pt(t,mr(e,0,-1))}var oo=Af;var If=Object.prototype,Sf=If.hasOwnProperty;function _f(t,e){e=P(e,t);var r=-1,o=e.length;if(!o)return!0;for(var a=t==null||typeof t!="object"&&typeof t!="function";++r<o;){var i=e[r];if(typeof i=="string"){if(i==="__proto__"&&!Sf.call(t,"__proto__"))return!1;if(i==="constructor"&&r+1<o&&typeof e[r+1]=="string"&&e[r+1]==="prototype"){if(a&&r===0)continue;return!1}}}var n=oo(t,e);return n==null||delete n[N(ro(e))]}var ao=_f;function Ef(t){return lr(t)?void 0:t}var io=Ef;var Ff=1,Cf=2,Mf=4,Nf=jt(function(t,e){var r={};if(t==null)return r;var o=!1;e=dt(e,function(i){return i=P(i,t),o||(o=i.length>1),i}),O(t,St(t),r),o&&(r=Mt(r,Ff|Cf|Mf,io));for(var a=e.length;a--;)ao(r,e[a]);return r}),zt=Nf;function Rf(t,e,r,o){if(!T(t))return t;e=P(e,t);for(var a=-1,i=e.length,n=i-1,s=t;s!=null&&++a<i;){var u=N(e[a]),c=r;if(u==="__proto__"||u==="constructor"||u==="prototype")return t;if(a!=n){var h=s[u];c=o?o(h,u,s):void 0,c===void 0&&(c=T(h)?h:U(e[a+1])?[]:{})}G(s,u,c),s=s[u]}return t}var no=Rf;function Lf(t,e,r){for(var o=-1,a=e.length,i={};++o<a;){var n=e[o],s=Pt(t,n);r(s,n)&&no(i,P(n,t),s)}return i}var so=Lf;function Bf(t,e){return so(t,e,function(r,o){return eo(t,o)})}var fo=Bf;var kf=jt(function(t,e){return t==null?{}:fo(t,e)}),Nt=kf;function po(t){return{all:t=t||new Map,on:function(e,r){var o=t.get(e);o?o.push(r):t.set(e,[r])},off:function(e,r){var o=t.get(e);o&&(r?o.splice(o.indexOf(r)>>>0,1):t.set(e,[]))},emit:function(e,r){var o=t.get(e);o&&o.slice().map(function(a){a(r)}),(o=t.get("*"))&&o.slice().map(function(a){a(e,r)})}}}var lo="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Kt=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=lo[r[t]&63];return e};var Df="array";var mo="bits",Uf="byte",uo="bytes";var Gf="exponent",zf="function";var Kf="Invalid number",Wf="Invalid rounding method",Wt="jedec",Yf="object";var $f="round";var Hf="kbit";var Vf="string";var Yt={symbol:{iec:{bits:["bit","Kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],bytes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},jedec:{bits:["bit","Kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],bytes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}},fullform:{iec:["","kibi","mebi","gibi","tebi","pebi","exbi","zebi","yobi"],jedec:["","kilo","mega","giga","tera","peta","exa","zetta","yotta"]}};function co(t,{bits:e=!1,pad:r=!1,base:o=-1,round:a=2,locale:i="",localeOptions:n={},separator:s="",spacer:u=" ",symbols:c={},standard:h="",output:j=Vf,fullform:ft=!1,fullforms:ot=[],exponent:pt=-1,roundingMethod:lt=$f,precision:v=0}={}){let f=pt,B=Number(t),p=[],R=0,Rt="";h==="si"?(o=10,h=Wt):h==="iec"||h===Wt?o=2:o===2?h="iec":(o=10,h=Wt);let mt=o===10?1e3:1024,ho=ft===!0,Ht=B<0,Vt=Math[lt];if(typeof t!="bigint"&&isNaN(t))throw new TypeError(Kf);if(typeof Vt!==zf)throw new TypeError(Wf);if(Ht&&(B=-B),(f===-1||isNaN(f))&&(f=Math.floor(Math.log(B)/Math.log(mt)),f<0&&(f=0)),f>8&&(v>0&&(v+=8-f),f=8),j===Gf)return f;if(B===0)p[0]=0,Rt=p[1]=Yt.symbol[h][e?mo:uo][f];else{R=B/(o===2?Math.pow(2,f*10):Math.pow(1e3,f)),e&&(R=R*8,R>=mt&&f<8&&(R=R/mt,f++));let at=Math.pow(10,f>0?a:0);p[0]=Vt(R*at)/at,p[0]===mt&&f<8&&pt===-1&&(p[0]=1,f++),Rt=p[1]=o===10&&f===1?e?Hf:"kB":Yt.symbol[h][e?mo:uo][f]}if(Ht&&(p[0]=-p[0]),v>0&&(p[0]=p[0].toPrecision(v)),p[1]=c[p[1]]||p[1],i===!0?p[0]=p[0].toLocaleString():i.length>0?p[0]=p[0].toLocaleString(i,n):s.length>0&&(p[0]=p[0].toString().replace(".",s)),r&&a>0){let at=p[0].toString(),qt=s||(at.match(/(\D)/g)||[]).pop()||".",Zt=at.toString().split(qt),Jt=Zt[1]||"",Xt=Jt.length,go=a-Xt;p[0]=`${Zt[0]}${qt}${Jt.padEnd(Xt+go,"0")}`}return ho&&(p[1]=ot[f]?ot[f]:Yt.fullform[h][f]+(e?"bit":Uf)+(p[0]===1?"":"s")),j===Df?p:j===Yf?{value:p[0],symbol:p[1],exponent:f,unit:Rt}:p.join(u)}var _=class t{constructor(e){this.meta={};var o;if(!e.tera)throw new Error("Basic file requires a `tera` key to access the Tera instance");Object.assign(this,zt(e,"encodeIdFunction")),e.encodeIdFunction&&typeof e.encodeIdFunction=="function"&&(this.id=e.encodeIdFunction(this.id));let r=this.tera;Object.defineProperty(this,"_tera",{enumerable:!1,configurable:!1,get(){return r}}),delete this.tera,this.created&&typeof this.created=="string"&&(this.created=new Date(this.created)),this.modified&&typeof this.modified=="string"&&(this.modified=new Date(this.modified)),this.accessed&&typeof this.accessed=="string"&&(this.accessed=new Date(this.accessed)),this.isFolder&&(this.files=(o=this.files)==null?void 0:o.map(a=>{let i=a.path.split(/\//).slice(3).join("/"),n=this.url+"/"+a.name;return a.meta.reflib&&(n=n.replace(/\/project\/download\//,"/project/library/")),new t({tera:this._tera,...a,sbId:a.id,id:a.path,encodeIdFunction:e.encodeIdFunction,path:i,url:n})})),this.teraUrl=this.url.replace(/^https?:\/\/(?:.+?)\/projects\/(?:.+?)\/project\/(.+)$/,"/project/$1"),this.sizeFormatted=co(this.size||0,{spacer:""}),this.createdFormatted=this.created?this.created.toLocaleDateString():"Unknown created date",this.modifiedFormatted=this.modified?this.modified.toLocaleDateString():"Unknown modified date",this.accessedFormatted=this.accessed?this.accessed.toLocaleDateString():"Unknown access date"}getContents(e){return this._tera.getProjectFileContents(this.id,e)}setContents(e){return this._tera.setProjectFileContents(this.id,e,{})}getRefs(){return this._tera.getProjectLibrary(this.id)}setRefs(e){return this._tera.setProjectLibrary(this.id,e)}serialize(){return Nt(this,["id","sbId","name","icon","path","url","parsedName","created","modified","accessed","size","mime","meta"])}static deserialize(e){let r=Nt(e,["tera","id","sbId","name","icon","path","url","parsedName","created","modified","accessed","size","mime","meta"]);return new t(r)}};var $t=class{constructor(e){this.settings={session:null,devMode:!1,verbosity:1,mode:"detect",modeTimeout:300,modeFallback:"child",modeOverrides:{child(e){e.siteUrl=="https://tera-tools.com/embed"&&(e.siteUrl="https://dev.tera-tools.com/embed")}},siteUrl:"https://tera-tools.com/embed",restrictOrigin:"*",frameSandbox:["allow-forms","allow-modals","allow-orientation-lock","allow-pointer-lock","allow-popups","allow-popups-to-escape-sandbox","allow-presentation","allow-same-origin","allow-scripts","allow-top-navigation"],handshakeInterval:1e3,handshakeTimeout:1e4,debugPaths:null};this.events=po();this.dom={el:null,iframe:null,popup:null,stylesheet:null};this.methods=["handshake","setServerVerbosity","getUser","requireUser","getCredentials","getKindeToken","bindProject","getProject","getProjects","setActiveProject","requireProject","selectProject","getNamespace","setNamespace","listNamespaces","getProjectState","setProjectState","setProjectStateDefaults","setProjectStateRefresh","getProjectFileContents","deleteProjectFile","setProjectFileContents","createProjectFolder","deleteProjectFolder","selectProjectLibrary","getProjectLibrary","setProjectLibrary","projectLog","setPage","uiAlert","uiConfirm","uiJson","uiPanic","uiProgress","uiPrompt","uiThrow","uiSplat","uiWindow"];this.plugins=[];this.namespaces={};this.acceptPostboxes={};this.initPromise=null;e&&this.set(e)}send(e){let r=Kt();return this.acceptPostboxes[r]={},this.acceptPostboxes[r].promise=new Promise((o,a)=>{Object.assign(this.acceptPostboxes[r],{resolve:o,reject:a}),this.sendRaw({id:r,...e})}),this.acceptPostboxes[r].promise}sendRaw(e){let r;try{if(r={TERA:1,id:e.id||Kt(),...Gt(e)},this.settings.mode=="parent")window.parent.postMessage(r,this.settings.restrictOrigin);else if(this.settings.mode=="child")this.dom.iframe.contentWindow.postMessage(r,this.settings.restrictOrigin);else if(this.settings.mode=="popup")this.dom.popup.postMessage(r,this.settings.restrictOrigin);else throw this.settings.mode=="detect"?new Error("Call init() or detectMode() before trying to send data to determine the mode"):new Error(`Unknown TERA communication mode "${this.settings.mode}"`)}catch(o){throw this.debug("ERROR",1,"Message compose client->server:",o),this.debug("ERROR",1,"Attempted to dispatch payload client->server",r),o}}rpc(e,...r){return this.send({action:"rpc",method:e,args:r})}acceptMessage(e){if(e.origin==window.location.origin)return Promise.resolve();let r=e.data;return!r.TERA||!r.id?Promise.resolve():(this.debug("INFO",3,"Received message",r),(r==null?void 0:r.action)=="response"&&this.acceptPostboxes[r.id]?(r.isError===!0?this.acceptPostboxes[r.id].reject(r.response):this.acceptPostboxes[r.id].resolve(r.response),Promise.resolve()):(r==null?void 0:r.action)=="rpc"?Promise.resolve().then(()=>this[r.method].apply(this,r.args)).then(o=>this.sendRaw({id:r.id,action:"response",response:o})).catch(o=>{console.warn(`TERA-FY client threw on RPC:${r.method}:`,o),this.sendRaw({id:r.id,action:"response",isError:!0,response:o&&o.toString()})}):(r==null?void 0:r.action)=="event"?Promise.resolve().then(()=>this.events.emit(r.event,...r.payload)).catch(o=>{throw console.warn(`TERA-FY client threw while handling emitted event "${r.event}"`,{message:r}),o}):r!=null&&r.id?(this.debug("INFO",3,`Ignoring message ID ${r.id} - was meant for someone else?`),Promise.resolve()):(this.debug("INFO",3,"Unexpected incoming TERA-FY CLIENT message",{message:r}),Promise.resolve()))}mountNamespace(e){if(!/^[\w-]+$/.test(e))throw new Error("Namespaces must be alphanumeric + hyphens + underscores");return this.namespaces[e]?Promise.resolve(this.namespaces[e]):Promise.resolve().then(()=>this._mountNamespace(e)).then(()=>this.namespaces[e]||Promise.reject(`teraFy.mountNamespace('${e}') resolved but no namespace has been mounted`))}_mountNamespace(e){throw console.warn(`teraFy._mountNamespace() for ${e} has not been overridden by a TERA-fy plugin, load one to add this functionality for your preferred framework`),new Error("teraFy._mountNamespace() is not supported")}unmountNamespace(e){return this.namespaces[e]?this._unmountNamespace(e):Promise.resolve()}_unmountNamespace(e){console.warn(`teraFy.unbindNamespace() for ${e} has not been overridden by a TERA-fy plugin, load one to add this functionality for your preferred framework`)}init(e){if(e&&this.set(e),this.initPromise)return this.initPromise;window.addEventListener("message",this.acceptMessage.bind(this));let r=this;return this.initPromise=Promise.resolve().then(()=>{var o;return(o=this.settings).session||(o.session="tfy-"+this.getEntropicString(16))}).then(()=>this.debug("INFO",4,"[0/6] Init","Session",this.settings.session,"against",this.settings.siteUrl)).then(()=>{this.settings.devMode&&(this.settings.debugPaths?this.settings.debugPaths=this.settings.debugPaths.map(o=>Array.isArray(o)?o.join("."):typeof o=="string"?o:(()=>{throw new Error("Unknown path type - should be an array or string in dotted notation")})()):this.settings.debugPaths=null,this.debug("INFO",0,"Watching state paths",this.settings.debugPaths))}).then(()=>this.detectMode()).then(o=>{if(this.debug("INFO",4,"[1/6] Setting client mode to",o),this.settings.mode=o,this.settings.modeOverrides[o])return this.debug("INFO",4,"[1/6] Applying specific config overrides for mode",o),this.settings.modeOverrides[o](this.settings)}).then(()=>this.debug("INFO",4,"[2/6] Injecting comms + styles + methods")).then(()=>Promise.all([this.injectComms(),this.injectStylesheet(),this.injectMethods()])).then(()=>{if(this.settings.verbosity<=1){this.debug("INFO",4,"[3/6] Skip - Server verbosity is already at 1");return}else return this.debug("INFO",4,`[3/6] Set server verbosity to ${this.settings.verbosity}`),this.rpc("setServerVerbosity",this.settings.verbosity)}).then(()=>this.debug("INFO",4,`[4/6] Set server mode to "${this.settings.mode}"`)).then(()=>this.rpc("setServerMode",this.settings.mode=="child"?"embedded":this.settings.mode=="parent"?"frame":this.settings.mode=="popup"?"popup":(()=>{throw new Error(`Unknown server mode "${this.settings.mode}"`)})())).then(()=>this.debug("INFO",4,"[5/6] Run client plugins")).then(()=>Promise.all(this.plugins.map(o=>o.init.call(r,this.settings)))).then(()=>(this.debug("INFO",4,"[6/6] Init complete"),r)).catch(o=>{throw this.debug("WARN",0,"Init process fault",o),o}),this.initPromise}detectMode(){return this.settings.mode!="detect"?Promise.resolve(this.settings.mode):window.self===window.parent?Promise.resolve(this.settings.modeFallback):Promise.resolve().then(()=>this.settings.mode="parent").then(()=>new Promise((e,r)=>{let o=setTimeout(()=>r("TIMEOUT"),this.settings.modeTimeout);this.rpc("handshake").then(()=>clearTimeout(o)).then(()=>e()).catch(r)})).then(()=>"parent").catch(()=>this.settings.modeFallback)}injectComms(){switch(this.settings.mode){case"child":return Promise.resolve().then(()=>new Promise(e=>{this.debug("INFO",2,"Injecting TERA site as iFrame child"),this.dom.el=document.createElement("div"),this.dom.el.id="tera-fy",this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this.dom.el.classList.add("minimized"),document.body.append(this.dom.el),this.dom.el.addEventListener("click",()=>this.dom.el.classList.toggle("minimized")),this.dom.iframe=document.createElement("iframe"),this.dom.iframe.setAttribute("sandbox",this.settings.frameSandbox.join(" ")),this.dom.iframe.addEventListener("load",()=>{this.debug("INFO",3,"Embedded iframe ready"),e()}),this.dom.iframe.src=this.settings.siteUrl,this.dom.el.append(this.dom.iframe)})).then(()=>this.handshakeLoop());case"parent":return this.debug("INFO",2,"Using TERA window parent"),Promise.resolve();case"popup":return this.debug("INFO",2,"Injecting TERA site as a popup window"),this.dom.popup=window.open(this.settings.siteUrl,"_blank","popup=1, location=0, menubar=0, status=0, scrollbars=0, width=500, height=600"),this.handshakeLoop().then(()=>this.debug("INFO",3,"Popup window accepted handshake"));default:throw new Error(`Unsupported mode "${this.settings.mode}" when calling injectComms()`)}}handshakeLoop(e){let r={handshakeInterval:this.settings.handshakeInterval,handshakeTimeout:this.settings.handshakeTimeout,...e};return new Promise((o,a)=>{let i=0,n,s=setTimeout(()=>{clearTimeout(n),a("TIMEOUT")},r.handshakeTimeout),u=()=>{this.debug("INFO",4,"Trying handshake",++i),clearTimeout(n),n=setTimeout(u,r.handshakeInterval),this.rpc("handshake").then(()=>{clearTimeout(s),clearTimeout(n)}).then(()=>o()).catch(a)};u()})}injectStylesheet(){switch(this.settings.mode){case"child":this.dom.stylesheet=document.createElement("style"),this.dom.stylesheet.innerHTML=[":root {","--TERA-accent: #4d659c;","}","#tera-fy {","display: none;","position: fixed;","right: 50px;","bottom: 50px;","width: 300px;","height: 150px;","background: transparent;","body:not(.tera-fy-focus) &.minimized.dev-mode {","background: var(--TERA-accent) !important;","opacity: 0.5;","right: 0px;","bottom: 0px;","width: 30px;","height: 30px;","transition: opacity 0.2s ease-out;","cursor: pointer;","border: none;","border-top-left-radius: 30px;","border-top: 2px solid var(--TERA-accent);","border-left: 2px solid var(--TERA-accent);","display: flex;","justify-content: center;","align-items: center;","&::before {","margin: 2px 0 0 0;",'content: "\u{1F300}";',"color: #FFF;","}","&:hover {","opacity: 1;","}","& > iframe {","display: none;","}","}","body:not(.tera-fy-focus) &:not(.minimized) {","&::before {","display: flex;","align-items: center;","justify-content: center;","cursor: pointer;","background: var(--TERA-accent) !important;","opacity: 0.5;","transition: opacity 0.2s ease-out;","position: absolute;","right: 0px;","bottom: 0px;","width: 20px;","height: 20px;","margin: 2px 0 0 0;",'content: "\u2B68";',"color: #FFF;","border: none;","border-top-left-radius: 30px;","border-top: 2px solid var(--TERA-accent);","border-left: 2px solid var(--TERA-accent);","}","&:hover::before {","opacity: 1;","}","}","&.dev-mode {","display: flex;","border: 5px solid var(--TERA-accent);","background: #FFF;","}","& > iframe {","width: 100%;","height: 100%;","}","}","body.tera-fy-focus {","overflow: hidden;","& #tera-fy {","display: flex !important;","position: fixed !important;","top: 0px !important;","width: 100vw !important;","height: 100vh !important;","left: 0px !important;","z-index: 10000 !important;","}","}"].join(`
2
+ `),document.head.append(this.dom.stylesheet);break;case"parent":case"popup":break;default:throw new Error(`Unsupported mode "${this.settings.mode}" when injectStylesheet()`)}return Promise.resolve()}injectMethods(){this.methods.forEach(e=>this[e]=this.rpc.bind(this,e))}debug(...e){if(!this.settings.devMode||this.settings.verbosity<1)return;let r="log",o=1;typeof e[0]=="string"&&["INFO","LOG","WARN","ERROR"].includes(e[0])&&(r=e.shift().toLowerCase()),typeof e[0]=="number"&&(o=e[0],e.shift()),!(this.settings.verbosity<o)&&console[r]("%c[TERA-FY CLIENT]","font-weight: bold; color: #ff5722;",...e)}set(e,r,o){let a={ignoreNullish:!0,...o};return typeof e=="string"?(!a.ignoreNullish||r!=null)&&(this.settings[e]=r):Object.assign(this.settings,e),this.toggleDevMode(this.settings.devMode)}setIfDev(e,r,o){return!this.settings.devMode||r===void 0?this:this.set(e,r,o)}use(e,r){let o=typeof e=="function"?new e(this,r):typeof e=="object"?e:typeof e=="string"?(()=>{throw new Error("use(String) is not yet supported")})():(()=>{throw new Error("Expected use() call to be provided with a class initializer")})();return this.mixin(this,o),this.plugins.push(o),this}mixin(e,r){let o=[],a=r;do o.unshift(a);while(a=Object.getPrototypeOf(a));o.forEach(i=>Object.getOwnPropertyNames(i).filter(n=>!["constructor","init","prototype","name"].includes(n)&&!n.startsWith("__")).forEach(n=>{typeof r[n]=="function"?Object.defineProperty(e,n,{enumerable:!1,value:r[n].bind(e)}):e[n]=r[n]}))}toggleDevMode(e="toggle"){var r;return e==="toggle"?this.settings.devMode=!this.settings.devMode:e==="proxy"?Object.assign(this.settings,{devMode:!0,siteUrl:"http://localhost:7334/embed",mode:"child"}):this.settings.devMode=!!e,this.settings.devMode&&(this.settings.restrictOrigin="*"),(r=this.dom)!=null&&r.el&&this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this}toggleFocus(e="toggle"){this.debug("INFO",2,"Request focus",{isFocused:e}),globalThis.document.body.classList.toggle("tera-fy-focus",e==="toggle"?void 0:e)}getEntropicString(e=32){let r=new Uint32Array(4);return window.crypto.getRandomValues(r),btoa(String.fromCodePoint(...new Uint8Array(r.buffer))).replace(/[+/]/g,"").slice(0,e)}selectProjectFile(e){return this.rpc("selectProjectFile",e).then(r=>r&&new _({tera:this,...r}))}getProjectFiles(e){return this.rpc("getProjectFiles",e).then(r=>r.map(o=>new _({tera:this,...o})))}getProjectFile(e,r){return this.rpc("getProjectFile",e,r).then(o=>o&&new _({tera:this,...o}))}createProjectFile(e){return this.rpc("createProjectFile",e).then(r=>r&&new _({tera:this,...r}))}moveProjectFile(e,r,o){return this.rpc("moveProjectFile",e,r,o).then(a=>a?new _({tera:this,...a}):null)}};export{$t as default};
3
3
  /*! Bundled license information:
4
4
 
5
5
  lodash-es/lodash.js:
package/dist/terafy.js CHANGED
@@ -1,5 +1,5 @@
1
- var vo=typeof global=="object"&&global&&global.Object===Object&&global,dt=vo;var wo=typeof self=="object"&&self&&self.Object===Object&&self,To=dt||wo||Function("return this")(),d=To;var Po=d.Symbol,x=Po;var te=Object.prototype,jo=te.hasOwnProperty,Oo=te.toString,st=x?x.toStringTag:void 0;function Ao(t){var e=jo.call(t,st),r=t[st];try{t[st]=void 0;var o=!0}catch{}var a=Oo.call(t);return o&&(e?t[st]=r:delete t[st]),a}var ee=Ao;var So=Object.prototype,Io=So.toString;function _o(t){return Io.call(t)}var re=_o;var Eo="[object Null]",Fo="[object Undefined]",oe=x?x.toStringTag:void 0;function Co(t){return t==null?t===void 0?Fo:Eo:oe&&oe in Object(t)?ee(t):re(t)}var w=Co;function No(t){return t!=null&&typeof t=="object"}var y=No;var Mo="[object Symbol]";function Ro(t){return typeof t=="symbol"||y(t)&&w(t)==Mo}var k=Ro;function Lo(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r<o;)a[r]=e(t[r],r,t);return a}var ct=Lo;var Bo=Array.isArray,g=Bo;var ko=1/0,ae=x?x.prototype:void 0,ie=ae?ae.toString:void 0;function se(t){if(typeof t=="string")return t;if(g(t))return ct(t,se)+"";if(k(t))return ie?ie.call(t):"";var e=t+"";return e=="0"&&1/t==-ko?"-0":e}var ne=se;function Do(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var T=Do;function Uo(t){return t}var fe=Uo;var Go="[object AsyncFunction]",zo="[object Function]",Ko="[object GeneratorFunction]",Wo="[object Proxy]";function $o(t){if(!T(t))return!1;var e=w(t);return e==zo||e==Ko||e==Go||e==Wo}var ht=$o;var Ho=d["__core-js_shared__"],gt=Ho;var pe=function(){var t=/[^.]+$/.exec(gt&&gt.keys&&gt.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function Vo(t){return!!pe&&pe in t}var le=Vo;var Yo=Function.prototype,qo=Yo.toString;function Zo(t){if(t!=null){try{return qo.call(t)}catch{}try{return t+""}catch{}}return""}var A=Zo;var Jo=/[\\^$.*+?()[\]{}|]/g,Xo=/^\[object .+?Constructor\]$/,Qo=Function.prototype,ta=Object.prototype,ea=Qo.toString,ra=ta.hasOwnProperty,oa=RegExp("^"+ea.call(ra).replace(Jo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function aa(t){if(!T(t)||le(t))return!1;var e=ht(t)?oa:Xo;return e.test(A(t))}var me=aa;function ia(t,e){return t?.[e]}var ue=ia;function sa(t,e){var r=ue(t,e);return me(r)?r:void 0}var b=sa;var na=b(d,"WeakMap"),xt=na;var de=Object.create,fa=function(){function t(){}return function(e){if(!T(e))return{};if(de)return de(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),ce=fa;function pa(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var he=pa;function la(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e}var ge=la;var ma=800,ua=16,da=Date.now;function ca(t){var e=0,r=0;return function(){var o=da(),a=ua-(o-r);if(r=o,a>0){if(++e>=ma)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var xe=ca;function ha(t){return function(){return t}}var ye=ha;var ga=function(){try{var t=b(Object,"defineProperty");return t({},"",{}),t}catch{}}(),D=ga;var xa=D?function(t,e){return D(t,"toString",{configurable:!0,enumerable:!1,value:ye(e),writable:!0})}:fe,be=xa;var ya=xe(be),ve=ya;function ba(t,e){for(var r=-1,o=t==null?0:t.length;++r<o&&e(t[r],r,t)!==!1;);return t}var we=ba;var va=9007199254740991,wa=/^(?:0|[1-9]\d*)$/;function Ta(t,e){var r=typeof t;return e=e??va,!!e&&(r=="number"||r!="symbol"&&wa.test(t))&&t>-1&&t%1==0&&t<e}var U=Ta;function Pa(t,e,r){e=="__proto__"&&D?D(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var yt=Pa;function ja(t,e){return t===e||t!==t&&e!==e}var bt=ja;var Oa=Object.prototype,Aa=Oa.hasOwnProperty;function Sa(t,e,r){var o=t[e];(!(Aa.call(t,e)&&bt(o,r))||r===void 0&&!(e in t))&&yt(t,e,r)}var G=Sa;function Ia(t,e,r,o){var a=!r;r||(r={});for(var i=-1,s=e.length;++i<s;){var n=e[i],u=o?o(r[n],t[n],n,r,t):void 0;u===void 0&&(u=t[n]),a?yt(r,n,u):G(r,n,u)}return r}var O=Ia;var Te=Math.max;function _a(t,e,r){return e=Te(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,i=Te(o.length-e,0),s=Array(i);++a<i;)s[a]=o[e+a];a=-1;for(var n=Array(e+1);++a<e;)n[a]=o[a];return n[e]=r(s),he(t,this,n)}}var Pe=_a;var Ea=9007199254740991;function Fa(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Ea}var z=Fa;function Ca(t){return t!=null&&z(t.length)&&!ht(t)}var vt=Ca;var Na=Object.prototype;function Ma(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||Na;return t===r}var K=Ma;function Ra(t,e){for(var r=-1,o=Array(t);++r<t;)o[r]=e(r);return o}var je=Ra;var La="[object Arguments]";function Ba(t){return y(t)&&w(t)==La}var Bt=Ba;var Oe=Object.prototype,ka=Oe.hasOwnProperty,Da=Oe.propertyIsEnumerable,Ua=Bt(function(){return arguments}())?Bt:function(t){return y(t)&&ka.call(t,"callee")&&!Da.call(t,"callee")},W=Ua;function Ga(){return!1}var Ae=Ga;var _e=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Se=_e&&typeof module=="object"&&module&&!module.nodeType&&module,za=Se&&Se.exports===_e,Ie=za?d.Buffer:void 0,Ka=Ie?Ie.isBuffer:void 0,Wa=Ka||Ae,wt=Wa;var $a="[object Arguments]",Ha="[object Array]",Va="[object Boolean]",Ya="[object Date]",qa="[object Error]",Za="[object Function]",Ja="[object Map]",Xa="[object Number]",Qa="[object Object]",ti="[object RegExp]",ei="[object Set]",ri="[object String]",oi="[object WeakMap]",ai="[object ArrayBuffer]",ii="[object DataView]",si="[object Float32Array]",ni="[object Float64Array]",fi="[object Int8Array]",pi="[object Int16Array]",li="[object Int32Array]",mi="[object Uint8Array]",ui="[object Uint8ClampedArray]",di="[object Uint16Array]",ci="[object Uint32Array]",m={};m[si]=m[ni]=m[fi]=m[pi]=m[li]=m[mi]=m[ui]=m[di]=m[ci]=!0;m[$a]=m[Ha]=m[ai]=m[Va]=m[ii]=m[Ya]=m[qa]=m[Za]=m[Ja]=m[Xa]=m[Qa]=m[ti]=m[ei]=m[ri]=m[oi]=!1;function hi(t){return y(t)&&z(t.length)&&!!m[w(t)]}var Ee=hi;function gi(t){return function(e){return t(e)}}var $=gi;var Fe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,nt=Fe&&typeof module=="object"&&module&&!module.nodeType&&module,xi=nt&&nt.exports===Fe,kt=xi&&dt.process,yi=function(){try{var t=nt&&nt.require&&nt.require("util").types;return t||kt&&kt.binding&&kt.binding("util")}catch{}}(),S=yi;var Ce=S&&S.isTypedArray,bi=Ce?$(Ce):Ee,Ne=bi;var vi=Object.prototype,wi=vi.hasOwnProperty;function Ti(t,e){var r=g(t),o=!r&&W(t),a=!r&&!o&&wt(t),i=!r&&!o&&!a&&Ne(t),s=r||o||a||i,n=s?je(t.length,String):[],u=n.length;for(var c in t)(e||wi.call(t,c))&&!(s&&(c=="length"||a&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||U(c,u)))&&n.push(c);return n}var Tt=Ti;function Pi(t,e){return function(r){return t(e(r))}}var Pt=Pi;var ji=Pt(Object.keys,Object),Me=ji;var Oi=Object.prototype,Ai=Oi.hasOwnProperty;function Si(t){if(!K(t))return Me(t);var e=[];for(var r in Object(t))Ai.call(t,r)&&r!="constructor"&&e.push(r);return e}var Re=Si;function Ii(t){return vt(t)?Tt(t):Re(t)}var H=Ii;function _i(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var Le=_i;var Ei=Object.prototype,Fi=Ei.hasOwnProperty;function Ci(t){if(!T(t))return Le(t);var e=K(t),r=[];for(var o in t)o=="constructor"&&(e||!Fi.call(t,o))||r.push(o);return r}var Be=Ci;function Ni(t){return vt(t)?Tt(t,!0):Be(t)}var V=Ni;var Mi=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ri=/^\w*$/;function Li(t,e){if(g(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||k(t)?!0:Ri.test(t)||!Mi.test(t)||e!=null&&t in Object(e)}var ke=Li;var Bi=b(Object,"create"),I=Bi;function ki(){this.__data__=I?I(null):{},this.size=0}var De=ki;function Di(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Ue=Di;var Ui="__lodash_hash_undefined__",Gi=Object.prototype,zi=Gi.hasOwnProperty;function Ki(t){var e=this.__data__;if(I){var r=e[t];return r===Ui?void 0:r}return zi.call(e,t)?e[t]:void 0}var Ge=Ki;var Wi=Object.prototype,$i=Wi.hasOwnProperty;function Hi(t){var e=this.__data__;return I?e[t]!==void 0:$i.call(e,t)}var ze=Hi;var Vi="__lodash_hash_undefined__";function Yi(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=I&&e===void 0?Vi:e,this}var Ke=Yi;function Y(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Y.prototype.clear=De;Y.prototype.delete=Ue;Y.prototype.get=Ge;Y.prototype.has=ze;Y.prototype.set=Ke;var Dt=Y;function qi(){this.__data__=[],this.size=0}var We=qi;function Zi(t,e){for(var r=t.length;r--;)if(bt(t[r][0],e))return r;return-1}var E=Zi;var Ji=Array.prototype,Xi=Ji.splice;function Qi(t){var e=this.__data__,r=E(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():Xi.call(e,r,1),--this.size,!0}var $e=Qi;function ts(t){var e=this.__data__,r=E(e,t);return r<0?void 0:e[r][1]}var He=ts;function es(t){return E(this.__data__,t)>-1}var Ve=es;function rs(t,e){var r=this.__data__,o=E(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}var Ye=rs;function q(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}q.prototype.clear=We;q.prototype.delete=$e;q.prototype.get=He;q.prototype.has=Ve;q.prototype.set=Ye;var F=q;var os=b(d,"Map"),C=os;function as(){this.size=0,this.__data__={hash:new Dt,map:new(C||F),string:new Dt}}var qe=as;function is(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var Ze=is;function ss(t,e){var r=t.__data__;return Ze(e)?r[typeof e=="string"?"string":"hash"]:r.map}var N=ss;function ns(t){var e=N(this,t).delete(t);return this.size-=e?1:0,e}var Je=ns;function fs(t){return N(this,t).get(t)}var Xe=fs;function ps(t){return N(this,t).has(t)}var Qe=ps;function ls(t,e){var r=N(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}var tr=ls;function Z(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Z.prototype.clear=qe;Z.prototype.delete=Je;Z.prototype.get=Xe;Z.prototype.has=Qe;Z.prototype.set=tr;var ft=Z;var ms="Expected a function";function Ut(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(ms);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],i=r.cache;if(i.has(a))return i.get(a);var s=t.apply(this,o);return r.cache=i.set(a,s)||i,s};return r.cache=new(Ut.Cache||ft),r}Ut.Cache=ft;var er=Ut;var us=500;function ds(t){var e=er(t,function(o){return r.size===us&&r.clear(),o}),r=e.cache;return e}var rr=ds;var cs=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,hs=/\\(\\)?/g,gs=rr(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(cs,function(r,o,a,i){e.push(a?i.replace(hs,"$1"):o||r)}),e}),or=gs;function xs(t){return t==null?"":ne(t)}var ar=xs;function ys(t,e){return g(t)?t:ke(t,e)?[t]:or(ar(t))}var P=ys;var bs=1/0;function vs(t){if(typeof t=="string"||k(t))return t;var e=t+"";return e=="0"&&1/t==-bs?"-0":e}var M=vs;function ws(t,e){e=P(e,t);for(var r=0,o=e.length;t!=null&&r<o;)t=t[M(e[r++])];return r&&r==o?t:void 0}var jt=ws;function Ts(t,e){for(var r=-1,o=e.length,a=t.length;++r<o;)t[a+r]=e[r];return t}var J=Ts;var ir=x?x.isConcatSpreadable:void 0;function Ps(t){return g(t)||W(t)||!!(ir&&t&&t[ir])}var sr=Ps;function nr(t,e,r,o,a){var i=-1,s=t.length;for(r||(r=sr),a||(a=[]);++i<s;){var n=t[i];e>0&&r(n)?e>1?nr(n,e-1,r,o,a):J(a,n):o||(a[a.length]=n)}return a}var fr=nr;function js(t){var e=t==null?0:t.length;return e?fr(t,1):[]}var pr=js;function Os(t){return ve(Pe(t,void 0,pr),t+"")}var Ot=Os;var As=Pt(Object.getPrototypeOf,Object),X=As;var Ss="[object Object]",Is=Function.prototype,_s=Object.prototype,lr=Is.toString,Es=_s.hasOwnProperty,Fs=lr.call(Object);function Cs(t){if(!y(t)||w(t)!=Ss)return!1;var e=X(t);if(e===null)return!0;var r=Es.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&lr.call(r)==Fs}var mr=Cs;function Ns(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(a);++o<a;)i[o]=t[o+e];return i}var ur=Ns;function Ms(){this.__data__=new F,this.size=0}var dr=Ms;function Rs(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var cr=Rs;function Ls(t){return this.__data__.get(t)}var hr=Ls;function Bs(t){return this.__data__.has(t)}var gr=Bs;var ks=200;function Ds(t,e){var r=this.__data__;if(r instanceof F){var o=r.__data__;if(!C||o.length<ks-1)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new ft(o)}return r.set(t,e),this.size=r.size,this}var xr=Ds;function Q(t){var e=this.__data__=new F(t);this.size=e.size}Q.prototype.clear=dr;Q.prototype.delete=cr;Q.prototype.get=hr;Q.prototype.has=gr;Q.prototype.set=xr;var yr=Q;function Us(t,e){return t&&O(e,H(e),t)}var br=Us;function Gs(t,e){return t&&O(e,V(e),t)}var vr=Gs;var jr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,wr=jr&&typeof module=="object"&&module&&!module.nodeType&&module,zs=wr&&wr.exports===jr,Tr=zs?d.Buffer:void 0,Pr=Tr?Tr.allocUnsafe:void 0;function Ks(t,e){if(e)return t.slice();var r=t.length,o=Pr?Pr(r):new t.constructor(r);return t.copy(o),o}var Or=Ks;function Ws(t,e){for(var r=-1,o=t==null?0:t.length,a=0,i=[];++r<o;){var s=t[r];e(s,r,t)&&(i[a++]=s)}return i}var Ar=Ws;function $s(){return[]}var At=$s;var Hs=Object.prototype,Vs=Hs.propertyIsEnumerable,Sr=Object.getOwnPropertySymbols,Ys=Sr?function(t){return t==null?[]:(t=Object(t),Ar(Sr(t),function(e){return Vs.call(t,e)}))}:At,tt=Ys;function qs(t,e){return O(t,tt(t),e)}var Ir=qs;var Zs=Object.getOwnPropertySymbols,Js=Zs?function(t){for(var e=[];t;)J(e,tt(t)),t=X(t);return e}:At,St=Js;function Xs(t,e){return O(t,St(t),e)}var _r=Xs;function Qs(t,e,r){var o=e(t);return g(t)?o:J(o,r(t))}var It=Qs;function tn(t){return It(t,H,tt)}var Er=tn;function en(t){return It(t,V,St)}var _t=en;var rn=b(d,"DataView"),Et=rn;var on=b(d,"Promise"),Ft=on;var an=b(d,"Set"),Ct=an;var Fr="[object Map]",sn="[object Object]",Cr="[object Promise]",Nr="[object Set]",Mr="[object WeakMap]",Rr="[object DataView]",nn=A(Et),fn=A(C),pn=A(Ft),ln=A(Ct),mn=A(xt),L=w;(Et&&L(new Et(new ArrayBuffer(1)))!=Rr||C&&L(new C)!=Fr||Ft&&L(Ft.resolve())!=Cr||Ct&&L(new Ct)!=Nr||xt&&L(new xt)!=Mr)&&(L=function(t){var e=w(t),r=e==sn?t.constructor:void 0,o=r?A(r):"";if(o)switch(o){case nn:return Rr;case fn:return Fr;case pn:return Cr;case ln:return Nr;case mn:return Mr}return e});var et=L;var un=Object.prototype,dn=un.hasOwnProperty;function cn(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&dn.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var Lr=cn;var hn=d.Uint8Array,Gt=hn;function gn(t){var e=new t.constructor(t.byteLength);return new Gt(e).set(new Gt(t)),e}var rt=gn;function xn(t,e){var r=e?rt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var Br=xn;var yn=/\w*$/;function bn(t){var e=new t.constructor(t.source,yn.exec(t));return e.lastIndex=t.lastIndex,e}var kr=bn;var Dr=x?x.prototype:void 0,Ur=Dr?Dr.valueOf:void 0;function vn(t){return Ur?Object(Ur.call(t)):{}}var Gr=vn;function wn(t,e){var r=e?rt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var zr=wn;var Tn="[object Boolean]",Pn="[object Date]",jn="[object Map]",On="[object Number]",An="[object RegExp]",Sn="[object Set]",In="[object String]",_n="[object Symbol]",En="[object ArrayBuffer]",Fn="[object DataView]",Cn="[object Float32Array]",Nn="[object Float64Array]",Mn="[object Int8Array]",Rn="[object Int16Array]",Ln="[object Int32Array]",Bn="[object Uint8Array]",kn="[object Uint8ClampedArray]",Dn="[object Uint16Array]",Un="[object Uint32Array]";function Gn(t,e,r){var o=t.constructor;switch(e){case En:return rt(t);case Tn:case Pn:return new o(+t);case Fn:return Br(t,r);case Cn:case Nn:case Mn:case Rn:case Ln:case Bn:case kn:case Dn:case Un:return zr(t,r);case jn:return new o;case On:case In:return new o(t);case An:return kr(t);case Sn:return new o;case _n:return Gr(t)}}var Kr=Gn;function zn(t){return typeof t.constructor=="function"&&!K(t)?ce(X(t)):{}}var Wr=zn;var Kn="[object Map]";function Wn(t){return y(t)&&et(t)==Kn}var $r=Wn;var Hr=S&&S.isMap,$n=Hr?$(Hr):$r,Vr=$n;var Hn="[object Set]";function Vn(t){return y(t)&&et(t)==Hn}var Yr=Vn;var qr=S&&S.isSet,Yn=qr?$(qr):Yr,Zr=Yn;var qn=1,Zn=2,Jn=4,Jr="[object Arguments]",Xn="[object Array]",Qn="[object Boolean]",tf="[object Date]",ef="[object Error]",Xr="[object Function]",rf="[object GeneratorFunction]",of="[object Map]",af="[object Number]",Qr="[object Object]",sf="[object RegExp]",nf="[object Set]",ff="[object String]",pf="[object Symbol]",lf="[object WeakMap]",mf="[object ArrayBuffer]",uf="[object DataView]",df="[object Float32Array]",cf="[object Float64Array]",hf="[object Int8Array]",gf="[object Int16Array]",xf="[object Int32Array]",yf="[object Uint8Array]",bf="[object Uint8ClampedArray]",vf="[object Uint16Array]",wf="[object Uint32Array]",l={};l[Jr]=l[Xn]=l[mf]=l[uf]=l[Qn]=l[tf]=l[df]=l[cf]=l[hf]=l[gf]=l[xf]=l[of]=l[af]=l[Qr]=l[sf]=l[nf]=l[ff]=l[pf]=l[yf]=l[bf]=l[vf]=l[wf]=!0;l[ef]=l[Xr]=l[lf]=!1;function Nt(t,e,r,o,a,i){var s,n=e&qn,u=e&Zn,c=e&Jn;if(r&&(s=a?r(t,o,a,i):r(t)),s!==void 0)return s;if(!T(t))return t;var h=g(t);if(h){if(s=Lr(t),!n)return ge(t,s)}else{var j=et(t),pt=j==Xr||j==rf;if(wt(t))return Or(t,n);if(j==Qr||j==Jr||pt&&!a){if(s=u||pt?{}:Wr(t),!n)return u?_r(t,vr(s,t)):Ir(t,br(s,t))}else{if(!l[j])return a?t:{};s=Kr(t,j,n)}}i||(i=new yr);var at=i.get(t);if(at)return at;i.set(t,s),Zr(t)?t.forEach(function(v){s.add(Nt(v,e,r,v,t,i))}):Vr(t)&&t.forEach(function(v,f){s.set(f,Nt(v,e,r,f,t,i))});var lt=c?u?_t:Er:u?V:H,mt=h?void 0:lt(t);return we(mt||t,function(v,f){mt&&(f=v,v=t[f]),G(s,f,Nt(v,e,r,f,t,i))}),s}var Mt=Nt;var Tf=1,Pf=4;function jf(t){return Mt(t,Tf|Pf)}var zt=jf;function Of(t,e){return t!=null&&e in Object(t)}var to=Of;function Af(t,e,r){e=P(e,t);for(var o=-1,a=e.length,i=!1;++o<a;){var s=M(e[o]);if(!(i=t!=null&&r(t,s)))break;t=t[s]}return i||++o!=a?i:(a=t==null?0:t.length,!!a&&z(a)&&U(s,a)&&(g(t)||W(t)))}var eo=Af;function Sf(t,e){return t!=null&&eo(t,e,to)}var ro=Sf;function If(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var oo=If;function _f(t,e){return e.length<2?t:jt(t,ur(e,0,-1))}var ao=_f;function Ef(t,e){return e=P(e,t),t=ao(t,e),t==null||delete t[M(oo(e))]}var io=Ef;function Ff(t){return mr(t)?void 0:t}var so=Ff;var Cf=1,Nf=2,Mf=4,Rf=Ot(function(t,e){var r={};if(t==null)return r;var o=!1;e=ct(e,function(i){return i=P(i,t),o||(o=i.length>1),i}),O(t,_t(t),r),o&&(r=Mt(r,Cf|Nf|Mf,so));for(var a=e.length;a--;)io(r,e[a]);return r}),Kt=Rf;function Lf(t,e,r,o){if(!T(t))return t;e=P(e,t);for(var a=-1,i=e.length,s=i-1,n=t;n!=null&&++a<i;){var u=M(e[a]),c=r;if(u==="__proto__"||u==="constructor"||u==="prototype")return t;if(a!=s){var h=n[u];c=o?o(h,u,n):void 0,c===void 0&&(c=T(h)?h:U(e[a+1])?[]:{})}G(n,u,c),n=n[u]}return t}var no=Lf;function Bf(t,e,r){for(var o=-1,a=e.length,i={};++o<a;){var s=e[o],n=jt(t,s);r(n,s)&&no(i,P(s,t),n)}return i}var fo=Bf;function kf(t,e){return fo(t,e,function(r,o){return ro(t,o)})}var po=kf;var Df=Ot(function(t,e){return t==null?{}:po(t,e)}),Rt=Df;function lo(t){return{all:t=t||new Map,on:function(e,r){var o=t.get(e);o?o.push(r):t.set(e,[r])},off:function(e,r){var o=t.get(e);o&&(r?o.splice(o.indexOf(r)>>>0,1):t.set(e,[]))},emit:function(e,r){var o=t.get(e);o&&o.slice().map(function(a){a(r)}),(o=t.get("*"))&&o.slice().map(function(a){a(e,r)})}}}var mo="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Wt=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=mo[r[t]&63];return e};var Uf="array",Gf="bit",uo="bits",zf="byte",co="bytes",ot="",Kf="exponent",Wf="function",ho="iec",$f="Invalid number",Hf="Invalid rounding method",$t="jedec",Vf="object",go=".",Yf="round",qf="s",Zf="si",Jf="kbit",Xf="kB",Qf=" ",tp="string",ep="0",Ht={symbol:{iec:{bits:["bit","Kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],bytes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},jedec:{bits:["bit","Kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],bytes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}},fullform:{iec:["","kibi","mebi","gibi","tebi","pebi","exbi","zebi","yobi"],jedec:["","kilo","mega","giga","tera","peta","exa","zetta","yotta"]}};function xo(t,{bits:e=!1,pad:r=!1,base:o=-1,round:a=2,locale:i=ot,localeOptions:s={},separator:n=ot,spacer:u=Qf,symbols:c={},standard:h=ot,output:j=tp,fullform:pt=!1,fullforms:at=[],exponent:lt=-1,roundingMethod:mt=Yf,precision:v=0}={}){let f=lt,B=Number(t),p=[],R=0,Lt=ot;h===Zf?(o=10,h=$t):h===ho||h===$t?o=2:o===2?h=ho:(o=10,h=$t);let ut=o===10?1e3:1024,yo=pt===!0,Yt=B<0,qt=Math[mt];if(typeof t!="bigint"&&isNaN(t))throw new TypeError($f);if(typeof qt!==Wf)throw new TypeError(Hf);if(Yt&&(B=-B),(f===-1||isNaN(f))&&(f=Math.floor(Math.log(B)/Math.log(ut)),f<0&&(f=0)),f>8&&(v>0&&(v+=8-f),f=8),j===Kf)return f;if(B===0)p[0]=0,Lt=p[1]=Ht.symbol[h][e?uo:co][f];else{R=B/(o===2?Math.pow(2,f*10):Math.pow(1e3,f)),e&&(R=R*8,R>=ut&&f<8&&(R=R/ut,f++));let it=Math.pow(10,f>0?a:0);p[0]=qt(R*it)/it,p[0]===ut&&f<8&&lt===-1&&(p[0]=1,f++),Lt=p[1]=o===10&&f===1?e?Jf:Xf:Ht.symbol[h][e?uo:co][f]}if(Yt&&(p[0]=-p[0]),v>0&&(p[0]=p[0].toPrecision(v)),p[1]=c[p[1]]||p[1],i===!0?p[0]=p[0].toLocaleString():i.length>0?p[0]=p[0].toLocaleString(i,s):n.length>0&&(p[0]=p[0].toString().replace(go,n)),r&&a>0){let it=p[0].toString(),Zt=n||(it.match(/(\D)/g)||[]).pop()||go,Jt=it.toString().split(Zt),Xt=Jt[1]||ot,Qt=Xt.length,bo=a-Qt;p[0]=`${Jt[0]}${Zt}${Xt.padEnd(Qt+bo,ep)}`}return yo&&(p[1]=at[f]?at[f]:Ht.fullform[h][f]+(e?Gf:zf)+(p[0]===1?ot:qf)),j===Uf?p:j===Vf?{value:p[0],symbol:p[1],exponent:f,unit:Lt}:p.join(u)}var _=class t{constructor(e){this.meta={};if(!e.tera)throw new Error("Basic file requires a `tera` key to access the Tera instance");Object.assign(this,Kt(e,"encodeIdFunction")),e.encodeIdFunction&&typeof e.encodeIdFunction=="function"&&(this.id=e.encodeIdFunction(this.id));let r=this.tera;Object.defineProperty(this,"_tera",{enumerable:!1,configurable:!1,get(){return r}}),delete this.tera,this.created&&typeof this.created=="string"&&(this.created=new Date(this.created)),this.modified&&typeof this.modified=="string"&&(this.modified=new Date(this.modified)),this.accessed&&typeof this.accessed=="string"&&(this.accessed=new Date(this.accessed)),this.isFolder&&(this.files=this.files?.map(o=>{let a=o.path.split(/\//).slice(3).join("/"),i=this.url+"/"+o.name;return o.meta.reflib&&(i=i.replace(/\/project\/download\//,"/project/library/")),new t({tera:this._tera,...o,sbId:o.id,id:o.path,encodeIdFunction:e.encodeIdFunction,path:a,url:i})})),this.teraUrl=this.url.replace(/^https?:\/\/(?:.+?)\/projects\/(?:.+?)\/project\/(.+)$/,"/project/$1"),this.sizeFormatted=xo(this.size||0,{spacer:""}),this.createdFormatted=this.created?this.created.toLocaleDateString():"Unknown created date",this.modifiedFormatted=this.modified?this.modified.toLocaleDateString():"Unknown modified date",this.accessedFormatted=this.accessed?this.accessed.toLocaleDateString():"Unknown access date"}getContents(e){return this._tera.getProjectFileContents(this.id,e)}setContents(e){return this._tera.setProjectFileContents(this.id,e,{})}getRefs(){return this._tera.getProjectLibrary(this.id)}setRefs(e){return this._tera.setProjectLibrary(this.id,e)}serialize(){return Rt(this,["id","sbId","name","icon","path","url","parsedName","created","modified","accessed","size","mime","meta"])}static deserialize(e){let r=Rt(e,["tera","id","sbId","name","icon","path","url","parsedName","created","modified","accessed","size","mime","meta"]);return new t(r)}};var Vt=class{constructor(e){this.settings={session:null,devMode:!1,verbosity:1,mode:"detect",modeTimeout:300,modeFallback:"child",modeOverrides:{child(e){e.siteUrl=="https://tera-tools.com/embed"&&(e.siteUrl="https://dev.tera-tools.com/embed")}},siteUrl:"https://tera-tools.com/embed",restrictOrigin:"*",frameSandbox:["allow-forms","allow-modals","allow-orientation-lock","allow-pointer-lock","allow-popups","allow-popups-to-escape-sandbox","allow-presentation","allow-same-origin","allow-scripts","allow-top-navigation"],handshakeInterval:1e3,handshakeTimeout:1e4,debugPaths:null};this.events=lo();this.dom={el:null,iframe:null,popup:null,stylesheet:null};this.methods=["handshake","setServerVerbosity","getUser","requireUser","getCredentials","getKindeToken","bindProject","getProject","getProjects","setActiveProject","requireProject","selectProject","getNamespace","setNamespace","listNamespaces","getProjectState","setProjectState","setProjectStateDefaults","setProjectStateRefresh","getProjectFileContents","deleteProjectFile","setProjectFileContents","createProjectFolder","deleteProjectFolder","selectProjectLibrary","getProjectLibrary","setProjectLibrary","projectLog","setPage","uiAlert","uiConfirm","uiJson","uiPanic","uiProgress","uiPrompt","uiThrow","uiSplat","uiWindow"];this.plugins=[];this.namespaces={};this.acceptPostboxes={};this.initPromise=null;e&&this.set(e)}send(e){let r=Wt();return this.acceptPostboxes[r]={},this.acceptPostboxes[r].promise=new Promise((o,a)=>{Object.assign(this.acceptPostboxes[r],{resolve:o,reject:a}),this.sendRaw({id:r,...e})}),this.acceptPostboxes[r].promise}sendRaw(e){let r;try{if(r={TERA:1,id:e.id||Wt(),...zt(e)},this.settings.mode=="parent")window.parent.postMessage(r,this.settings.restrictOrigin);else if(this.settings.mode=="child")this.dom.iframe.contentWindow.postMessage(r,this.settings.restrictOrigin);else if(this.settings.mode=="popup")this.dom.popup.postMessage(r,this.settings.restrictOrigin);else throw this.settings.mode=="detect"?new Error("Call init() or detectMode() before trying to send data to determine the mode"):new Error(`Unknown TERA communication mode "${this.settings.mode}"`)}catch(o){throw this.debug("ERROR",1,"Message compose client->server:",o),this.debug("ERROR",1,"Attempted to dispatch payload client->server",r),o}}rpc(e,...r){return this.send({action:"rpc",method:e,args:r})}acceptMessage(e){if(e.origin==window.location.origin)return Promise.resolve();let r=e.data;return!r.TERA||!r.id?Promise.resolve():(this.debug("INFO",3,"Recieved message",r),r?.action=="response"&&this.acceptPostboxes[r.id]?(r.isError===!0?this.acceptPostboxes[r.id].reject(r.response):this.acceptPostboxes[r.id].resolve(r.response),Promise.resolve()):r?.action=="rpc"?Promise.resolve().then(()=>this[r.method].apply(this,r.args)).then(o=>this.sendRaw({id:r.id,action:"response",response:o})).catch(o=>{console.warn(`TERA-FY client threw on RPC:${r.method}:`,o),this.sendRaw({id:r.id,action:"response",isError:!0,response:o&&o.toString()})}):r?.action=="event"?Promise.resolve().then(()=>this.events.emit(r.event,...r.payload)).catch(o=>{throw console.warn(`TERA-FY client threw while handling emitted event "${r.event}"`,{message:r}),o}):r?.id?(this.debug("INFO",3,`Ignoring message ID ${r.id} - was meant for someone else?`),Promise.resolve()):(this.debug("INFO",3,"Unexpected incoming TERA-FY CLIENT message",{message:r}),Promise.resolve()))}mountNamespace(e){if(!/^[\w-]+$/.test(e))throw new Error("Namespaces must be alphanumeric + hyphens + underscores");return this.namespaces[e]?Promise.resolve(this.namespaces[e]):Promise.resolve().then(()=>this._mountNamespace(e)).then(()=>this.namespaces[e]||Promise.reject(`teraFy.mountNamespace('${e}') resolved but no namespace has been mounted`))}_mountNamespace(e){throw console.warn("teraFy._mountNamespace() has not been overriden by a TERA-fy plugin, load one to add this functionality for your preferred framework"),new Error("teraFy._mountNamespace() is not supported")}unmountNamespace(e){return this.namespaces[e]?this._unmountNamespace(e):Promise.resolve()}_unmountNamespace(e){console.warn("teraFy.unbindNamespace() has not been overriden by a TERA-fy plugin, load one to add this functionality for your preferred framework")}init(e){if(e&&this.set(e),this.initPromise)return this.initPromise;window.addEventListener("message",this.acceptMessage.bind(this));let r=this;return this.initPromise=Promise.resolve().then(()=>this.settings.session||="tfy-"+this.getEntropicString(16)).then(()=>this.debug("INFO",4,"[0/6] Init","Session",this.settings.session,"against",this.settings.siteUrl)).then(()=>{this.settings.devMode&&(this.settings.debugPaths?this.settings.debugPaths=this.settings.debugPaths.map(o=>Array.isArray(o)?o.join("."):typeof o=="string"?o:(()=>{throw new Error("Unknown path type - should be an array or string in dotted notation")})()):this.settings.debugPaths=null,this.debug("INFO",0,"Watching state paths",this.settings.debugPaths))}).then(()=>this.detectMode()).then(o=>{if(this.debug("INFO",4,"[1/6] Setting client mode to",o),this.settings.mode=o,this.settings.modeOverrides[o])return this.debug("INFO",4,"[1/6] Applying specific config overrides for mode",o),this.settings.modeOverrides[o](this.settings)}).then(()=>this.debug("INFO",4,"[2/6] Injecting comms + styles + methods")).then(()=>Promise.all([this.injectComms(),this.injectStylesheet(),this.injectMethods()])).then(()=>{if(this.settings.verbosity<=1){this.debug("INFO",4,"[3/6] Skip - Server verbosity is already at 1");return}else return this.debug("INFO",4,`[3/6] Set server verbosity to ${this.settings.verbosity}`),this.rpc("setServerVerbosity",this.settings.verbosity)}).then(()=>this.debug("INFO",4,`[4/6] Set server mode to "${this.settings.mode}"`)).then(()=>this.rpc("setServerMode",this.settings.mode=="child"?"embedded":this.settings.mode=="parent"?"frame":this.settings.mode=="popup"?"popup":(()=>{throw`Unknown server mode "${this.settings.mode}"`})())).then(()=>this.debug("INFO",4,"[5/6] Run client plugins")).then(()=>Promise.all(this.plugins.map(o=>o.init.call(r,this.settings)))).then(()=>(this.debug("INFO",4,"[6/6] Init complete"),r)).catch(o=>{throw this.debug("WARN",0,"Init process fault",o),o}),this.initPromise}detectMode(){return this.settings.mode!="detect"?Promise.resolve(this.settings.mode):window.self===window.parent?Promise.resolve(this.settings.modeFallback):Promise.resolve().then(()=>this.settings.mode="parent").then(()=>new Promise((e,r)=>{let o=setTimeout(()=>r("TIMEOUT"),this.settings.modeTimeout);this.rpc("handshake").then(()=>clearTimeout(o)).then(()=>e()).catch(r)})).then(()=>"parent").catch(()=>this.settings.modeFallback)}injectComms(){switch(this.settings.mode){case"child":return Promise.resolve().then(()=>new Promise(e=>{this.debug("INFO",2,"Injecting TERA site as iFrame child"),this.dom.el=document.createElement("div"),this.dom.el.id="tera-fy",this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this.dom.el.classList.add("minimized"),document.body.append(this.dom.el),this.dom.el.addEventListener("click",()=>this.dom.el.classList.toggle("minimized")),this.dom.iframe=document.createElement("iframe"),this.dom.iframe.setAttribute("sandbox",this.settings.frameSandbox.join(" ")),this.dom.iframe.addEventListener("load",()=>{this.debug("INFO",3,"Embeded iframe ready"),e()}),this.dom.iframe.src=this.settings.siteUrl,this.dom.el.append(this.dom.iframe)})).then(()=>this.handshakeLoop());case"parent":return this.debug("INFO",2,"Using TERA window parent"),Promise.resolve();case"popup":return this.debug("INFO",2,"Injecting TERA site as a popup window"),this.dom.popup=window.open(this.settings.siteUrl,"_blank","popup=1, location=0, menubar=0, status=0, scrollbars=0, width=500, height=600"),this.handshakeLoop().then(()=>this.debug("INFO",3,"Popup window accepted handshake"));default:throw new Error(`Unsupported mode "${this.settings.mode}" when calling injectComms()`)}}handshakeLoop(e){let r={handshakeInterval:this.settings.handshakeInterval,handshakeTimeout:this.settings.handshakeTimeout,...e};return new Promise((o,a)=>{let i=0,s,n=setTimeout(()=>{clearTimeout(s),a("TIMEOUT")},r.handshakeTimeout),u=()=>{this.debug("INFO",4,"Trying handshake",++i),clearTimeout(s),s=setTimeout(u,r.handshakeInterval),this.rpc("handshake").then(()=>{clearTimeout(n),clearTimeout(s)}).then(()=>o()).catch(a)};u()})}injectStylesheet(){switch(this.settings.mode){case"child":this.dom.stylesheet=document.createElement("style"),this.dom.stylesheet.innerHTML=[":root {","--TERA-accent: #4d659c;","}","#tera-fy {","display: none;","position: fixed;","right: 50px;","bottom: 50px;","width: 300px;","height: 150px;","background: transparent;","body:not(.tera-fy-focus) &.minimized.dev-mode {","background: var(--TERA-accent) !important;","opacity: 0.5;","right: 0px;","bottom: 0px;","width: 30px;","height: 30px;","transition: opacity 0.2s ease-out;","cursor: pointer;","border: none;","border-top-left-radius: 30px;","border-top: 2px solid var(--TERA-accent);","border-left: 2px solid var(--TERA-accent);","display: flex;","justify-content: center;","align-items: center;","&::before {","margin: 2px 0 0 0;",'content: "\u{1F300}";',"color: #FFF;","}","&:hover {","opacity: 1;","}","& > iframe {","display: none;","}","}","body:not(.tera-fy-focus) &:not(.minimized) {","&::before {","display: flex;","align-items: center;","justify-content: center;","cursor: pointer;","background: var(--TERA-accent) !important;","opacity: 0.5;","transition: opacity 0.2s ease-out;","position: absolute;","right: 0px;","bottom: 0px;","width: 20px;","height: 20px;","margin: 2px 0 0 0;",'content: "\u2B68";',"color: #FFF;","border: none;","border-top-left-radius: 30px;","border-top: 2px solid var(--TERA-accent);","border-left: 2px solid var(--TERA-accent);","}","&:hover::before {","opacity: 1;","}","}","&.dev-mode {","display: flex;","border: 5px solid var(--TERA-accent);","background: #FFF;","}","& > iframe {","width: 100%;","height: 100%;","}","}","body.tera-fy-focus {","overflow: hidden;","& #tera-fy {","display: flex !important;","position: fixed !important;","top: 0px !important;","width: 100vw !important;","height: 100vh !important;","left: 0px !important;","z-index: 10000 !important;","}","}"].join(`
2
- `),document.head.appendChild(this.dom.stylesheet);break;case"parent":case"popup":break;default:throw new Error(`Unsupported mode "${this.settings.mode}" when injectStylesheet()`)}return Promise.resolve()}injectMethods(){this.methods.forEach(e=>this[e]=this.rpc.bind(this,e))}debug(...e){if(!this.settings.devMode||this.settings.verbosity<1)return;let r="log",o=1;typeof e[0]=="string"&&["INFO","LOG","WARN","ERROR"].includes(e[0])&&(r=e.shift().toLowerCase()),typeof e[0]=="number"&&(o=e[0],e.shift()),!(this.settings.verbosity<o)&&console[r]("%c[TERA-FY CLIENT]","font-weight: bold; color: #ff5722;",...e)}set(e,r,o){let a={ignoreNullish:!0,...o};return typeof e=="string"?(!a.ignoreNullish||r!=null)&&(this.settings[e]=r):Object.assign(this.settings,e),this.toggleDevMode(this.settings.devMode)}setIfDev(e,r,o){return!this.settings.devMode||r===void 0?this:this.set(e,r,o)}use(e,r){let o=typeof e=="function"?new e(this,r):typeof e=="object"?e:typeof e=="string"?(()=>{throw new Error("use(String) is not yet supported")})():(()=>{throw new Error("Expected use() call to be provided with a class initalizer")})();return this.mixin(this,o),this.plugins.push(o),this}mixin(e,r){let o=[],a=r;do o.unshift(a);while(a=Object.getPrototypeOf(a));o.forEach(i=>Object.getOwnPropertyNames(i).filter(s=>!["constructor","init","prototype","name"].includes(s)&&!s.startsWith("__")).forEach(s=>{typeof r[s]=="function"?Object.defineProperty(e,s,{enumerable:!1,value:r[s].bind(e)}):e[s]=r[s]}))}toggleDevMode(e="toggle"){return e==="toggle"?this.settings.devMode=!this.settings.devMode:e==="proxy"?Object.assign(this.settings,{devMode:!0,siteUrl:"http://localhost:7334/embed",mode:"child"}):this.settings.devMode=!!e,this.settings.devMode&&(this.settings.restrictOrigin="*"),this.dom?.el&&this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this}toggleFocus(e="toggle"){this.debug("INFO",2,"Request focus",{isFocused:e}),globalThis.document.body.classList.toggle("tera-fy-focus",e==="toggle"?void 0:e)}getEntropicString(e=32){let r=new Uint32Array(4);return window.crypto.getRandomValues(r),btoa(String.fromCharCode(...new Uint8Array(r.buffer))).replace(/[+/]/g,"").slice(0,e)}selectProjectFile(e){return this.rpc("selectProjectFile",e).then(r=>r&&new _({tera:this,...r}))}getProjectFiles(e){return this.rpc("getProjectFiles",e).then(r=>r.map(o=>new _({tera:this,...o})))}getProjectFile(e,r){return this.rpc("getProjectFile",e,r).then(o=>o&&new _({tera:this,...o}))}createProjectFile(e){return this.rpc("createProjectFile",e).then(r=>r&&new _({tera:this,...r}))}moveProjectFile(e,r,o){return this.rpc("moveProjectFile",e,r,o).then(a=>a?new _({tera:this,...a}):null)}};export{Vt as default};
1
+ var xo=typeof global=="object"&&global&&global.Object===Object&&global,ut=xo;var yo=typeof self=="object"&&self&&self.Object===Object&&self,bo=ut||yo||Function("return this")(),d=bo;var vo=d.Symbol,x=vo;var Qt=Object.prototype,wo=Qt.hasOwnProperty,To=Qt.toString,it=x?x.toStringTag:void 0;function Po(t){var e=wo.call(t,it),r=t[it];try{t[it]=void 0;var o=!0}catch{}var a=To.call(t);return o&&(e?t[it]=r:delete t[it]),a}var te=Po;var jo=Object.prototype,Oo=jo.toString;function Ao(t){return Oo.call(t)}var ee=Ao;var Io="[object Null]",So="[object Undefined]",re=x?x.toStringTag:void 0;function _o(t){return t==null?t===void 0?So:Io:re&&re in Object(t)?te(t):ee(t)}var w=_o;function Eo(t){return t!=null&&typeof t=="object"}var y=Eo;var Fo="[object Symbol]";function Co(t){return typeof t=="symbol"||y(t)&&w(t)==Fo}var k=Co;function Mo(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r<o;)a[r]=e(t[r],r,t);return a}var dt=Mo;var No=Array.isArray,g=No;var Ro=1/0,oe=x?x.prototype:void 0,ae=oe?oe.toString:void 0;function ie(t){if(typeof t=="string")return t;if(g(t))return dt(t,ie)+"";if(k(t))return ae?ae.call(t):"";var e=t+"";return e=="0"&&1/t==-Ro?"-0":e}var se=ie;function Lo(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var T=Lo;function Bo(t){return t}var ne=Bo;var ko="[object AsyncFunction]",Do="[object Function]",Uo="[object GeneratorFunction]",Go="[object Proxy]";function zo(t){if(!T(t))return!1;var e=w(t);return e==Do||e==Uo||e==ko||e==Go}var ct=zo;var Ko=d["__core-js_shared__"],ht=Ko;var fe=(function(){var t=/[^.]+$/.exec(ht&&ht.keys&&ht.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Wo(t){return!!fe&&fe in t}var pe=Wo;var Yo=Function.prototype,$o=Yo.toString;function Ho(t){if(t!=null){try{return $o.call(t)}catch{}try{return t+""}catch{}}return""}var A=Ho;var Vo=/[\\^$.*+?()[\]{}|]/g,qo=/^\[object .+?Constructor\]$/,Zo=Function.prototype,Jo=Object.prototype,Xo=Zo.toString,Qo=Jo.hasOwnProperty,ta=RegExp("^"+Xo.call(Qo).replace(Vo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ea(t){if(!T(t)||pe(t))return!1;var e=ct(t)?ta:qo;return e.test(A(t))}var le=ea;function ra(t,e){return t?.[e]}var me=ra;function oa(t,e){var r=me(t,e);return le(r)?r:void 0}var b=oa;var aa=b(d,"WeakMap"),gt=aa;var ue=Object.create,ia=(function(){function t(){}return function(e){if(!T(e))return{};if(ue)return ue(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})(),de=ia;function sa(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var ce=sa;function na(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e}var he=na;var fa=800,pa=16,la=Date.now;function ma(t){var e=0,r=0;return function(){var o=la(),a=pa-(o-r);if(r=o,a>0){if(++e>=fa)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var ge=ma;function ua(t){return function(){return t}}var xe=ua;var da=(function(){try{var t=b(Object,"defineProperty");return t({},"",{}),t}catch{}})(),D=da;var ca=D?function(t,e){return D(t,"toString",{configurable:!0,enumerable:!1,value:xe(e),writable:!0})}:ne,ye=ca;var ha=ge(ye),be=ha;function ga(t,e){for(var r=-1,o=t==null?0:t.length;++r<o&&e(t[r],r,t)!==!1;);return t}var ve=ga;var xa=9007199254740991,ya=/^(?:0|[1-9]\d*)$/;function ba(t,e){var r=typeof t;return e=e??xa,!!e&&(r=="number"||r!="symbol"&&ya.test(t))&&t>-1&&t%1==0&&t<e}var U=ba;function va(t,e,r){e=="__proto__"&&D?D(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var xt=va;function wa(t,e){return t===e||t!==t&&e!==e}var yt=wa;var Ta=Object.prototype,Pa=Ta.hasOwnProperty;function ja(t,e,r){var o=t[e];(!(Pa.call(t,e)&&yt(o,r))||r===void 0&&!(e in t))&&xt(t,e,r)}var G=ja;function Oa(t,e,r,o){var a=!r;r||(r={});for(var i=-1,s=e.length;++i<s;){var n=e[i],u=o?o(r[n],t[n],n,r,t):void 0;u===void 0&&(u=t[n]),a?xt(r,n,u):G(r,n,u)}return r}var O=Oa;var we=Math.max;function Aa(t,e,r){return e=we(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,i=we(o.length-e,0),s=Array(i);++a<i;)s[a]=o[e+a];a=-1;for(var n=Array(e+1);++a<e;)n[a]=o[a];return n[e]=r(s),ce(t,this,n)}}var Te=Aa;var Ia=9007199254740991;function Sa(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Ia}var z=Sa;function _a(t){return t!=null&&z(t.length)&&!ct(t)}var bt=_a;var Ea=Object.prototype;function Fa(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||Ea;return t===r}var K=Fa;function Ca(t,e){for(var r=-1,o=Array(t);++r<t;)o[r]=e(r);return o}var Pe=Ca;var Ma="[object Arguments]";function Na(t){return y(t)&&w(t)==Ma}var Lt=Na;var je=Object.prototype,Ra=je.hasOwnProperty,La=je.propertyIsEnumerable,Ba=Lt((function(){return arguments})())?Lt:function(t){return y(t)&&Ra.call(t,"callee")&&!La.call(t,"callee")},W=Ba;function ka(){return!1}var Oe=ka;var Se=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ae=Se&&typeof module=="object"&&module&&!module.nodeType&&module,Da=Ae&&Ae.exports===Se,Ie=Da?d.Buffer:void 0,Ua=Ie?Ie.isBuffer:void 0,Ga=Ua||Oe,vt=Ga;var za="[object Arguments]",Ka="[object Array]",Wa="[object Boolean]",Ya="[object Date]",$a="[object Error]",Ha="[object Function]",Va="[object Map]",qa="[object Number]",Za="[object Object]",Ja="[object RegExp]",Xa="[object Set]",Qa="[object String]",ti="[object WeakMap]",ei="[object ArrayBuffer]",ri="[object DataView]",oi="[object Float32Array]",ai="[object Float64Array]",ii="[object Int8Array]",si="[object Int16Array]",ni="[object Int32Array]",fi="[object Uint8Array]",pi="[object Uint8ClampedArray]",li="[object Uint16Array]",mi="[object Uint32Array]",m={};m[oi]=m[ai]=m[ii]=m[si]=m[ni]=m[fi]=m[pi]=m[li]=m[mi]=!0;m[za]=m[Ka]=m[ei]=m[Wa]=m[ri]=m[Ya]=m[$a]=m[Ha]=m[Va]=m[qa]=m[Za]=m[Ja]=m[Xa]=m[Qa]=m[ti]=!1;function ui(t){return y(t)&&z(t.length)&&!!m[w(t)]}var _e=ui;function di(t){return function(e){return t(e)}}var Y=di;var Ee=typeof exports=="object"&&exports&&!exports.nodeType&&exports,st=Ee&&typeof module=="object"&&module&&!module.nodeType&&module,ci=st&&st.exports===Ee,Bt=ci&&ut.process,hi=(function(){try{var t=st&&st.require&&st.require("util").types;return t||Bt&&Bt.binding&&Bt.binding("util")}catch{}})(),I=hi;var Fe=I&&I.isTypedArray,gi=Fe?Y(Fe):_e,Ce=gi;var xi=Object.prototype,yi=xi.hasOwnProperty;function bi(t,e){var r=g(t),o=!r&&W(t),a=!r&&!o&&vt(t),i=!r&&!o&&!a&&Ce(t),s=r||o||a||i,n=s?Pe(t.length,String):[],u=n.length;for(var c in t)(e||yi.call(t,c))&&!(s&&(c=="length"||a&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||U(c,u)))&&n.push(c);return n}var wt=bi;function vi(t,e){return function(r){return t(e(r))}}var Tt=vi;var wi=Tt(Object.keys,Object),Me=wi;var Ti=Object.prototype,Pi=Ti.hasOwnProperty;function ji(t){if(!K(t))return Me(t);var e=[];for(var r in Object(t))Pi.call(t,r)&&r!="constructor"&&e.push(r);return e}var Ne=ji;function Oi(t){return bt(t)?wt(t):Ne(t)}var $=Oi;function Ai(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var Re=Ai;var Ii=Object.prototype,Si=Ii.hasOwnProperty;function _i(t){if(!T(t))return Re(t);var e=K(t),r=[];for(var o in t)o=="constructor"&&(e||!Si.call(t,o))||r.push(o);return r}var Le=_i;function Ei(t){return bt(t)?wt(t,!0):Le(t)}var H=Ei;var Fi=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ci=/^\w*$/;function Mi(t,e){if(g(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||k(t)?!0:Ci.test(t)||!Fi.test(t)||e!=null&&t in Object(e)}var Be=Mi;var Ni=b(Object,"create"),S=Ni;function Ri(){this.__data__=S?S(null):{},this.size=0}var ke=Ri;function Li(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var De=Li;var Bi="__lodash_hash_undefined__",ki=Object.prototype,Di=ki.hasOwnProperty;function Ui(t){var e=this.__data__;if(S){var r=e[t];return r===Bi?void 0:r}return Di.call(e,t)?e[t]:void 0}var Ue=Ui;var Gi=Object.prototype,zi=Gi.hasOwnProperty;function Ki(t){var e=this.__data__;return S?e[t]!==void 0:zi.call(e,t)}var Ge=Ki;var Wi="__lodash_hash_undefined__";function Yi(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=S&&e===void 0?Wi:e,this}var ze=Yi;function V(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}V.prototype.clear=ke;V.prototype.delete=De;V.prototype.get=Ue;V.prototype.has=Ge;V.prototype.set=ze;var kt=V;function $i(){this.__data__=[],this.size=0}var Ke=$i;function Hi(t,e){for(var r=t.length;r--;)if(yt(t[r][0],e))return r;return-1}var E=Hi;var Vi=Array.prototype,qi=Vi.splice;function Zi(t){var e=this.__data__,r=E(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():qi.call(e,r,1),--this.size,!0}var We=Zi;function Ji(t){var e=this.__data__,r=E(e,t);return r<0?void 0:e[r][1]}var Ye=Ji;function Xi(t){return E(this.__data__,t)>-1}var $e=Xi;function Qi(t,e){var r=this.__data__,o=E(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}var He=Qi;function q(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}q.prototype.clear=Ke;q.prototype.delete=We;q.prototype.get=Ye;q.prototype.has=$e;q.prototype.set=He;var F=q;var ts=b(d,"Map"),C=ts;function es(){this.size=0,this.__data__={hash:new kt,map:new(C||F),string:new kt}}var Ve=es;function rs(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var qe=rs;function os(t,e){var r=t.__data__;return qe(e)?r[typeof e=="string"?"string":"hash"]:r.map}var M=os;function as(t){var e=M(this,t).delete(t);return this.size-=e?1:0,e}var Ze=as;function is(t){return M(this,t).get(t)}var Je=is;function ss(t){return M(this,t).has(t)}var Xe=ss;function ns(t,e){var r=M(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}var Qe=ns;function Z(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Z.prototype.clear=Ve;Z.prototype.delete=Ze;Z.prototype.get=Je;Z.prototype.has=Xe;Z.prototype.set=Qe;var nt=Z;var fs="Expected a function";function Dt(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(fs);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],i=r.cache;if(i.has(a))return i.get(a);var s=t.apply(this,o);return r.cache=i.set(a,s)||i,s};return r.cache=new(Dt.Cache||nt),r}Dt.Cache=nt;var tr=Dt;var ps=500;function ls(t){var e=tr(t,function(o){return r.size===ps&&r.clear(),o}),r=e.cache;return e}var er=ls;var ms=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,us=/\\(\\)?/g,ds=er(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(ms,function(r,o,a,i){e.push(a?i.replace(us,"$1"):o||r)}),e}),rr=ds;function cs(t){return t==null?"":se(t)}var or=cs;function hs(t,e){return g(t)?t:Be(t,e)?[t]:rr(or(t))}var P=hs;var gs=1/0;function xs(t){if(typeof t=="string"||k(t))return t;var e=t+"";return e=="0"&&1/t==-gs?"-0":e}var N=xs;function ys(t,e){e=P(e,t);for(var r=0,o=e.length;t!=null&&r<o;)t=t[N(e[r++])];return r&&r==o?t:void 0}var Pt=ys;function bs(t,e){for(var r=-1,o=e.length,a=t.length;++r<o;)t[a+r]=e[r];return t}var J=bs;var ar=x?x.isConcatSpreadable:void 0;function vs(t){return g(t)||W(t)||!!(ar&&t&&t[ar])}var ir=vs;function sr(t,e,r,o,a){var i=-1,s=t.length;for(r||(r=ir),a||(a=[]);++i<s;){var n=t[i];e>0&&r(n)?e>1?sr(n,e-1,r,o,a):J(a,n):o||(a[a.length]=n)}return a}var nr=sr;function ws(t){var e=t==null?0:t.length;return e?nr(t,1):[]}var fr=ws;function Ts(t){return be(Te(t,void 0,fr),t+"")}var jt=Ts;var Ps=Tt(Object.getPrototypeOf,Object),X=Ps;var js="[object Object]",Os=Function.prototype,As=Object.prototype,pr=Os.toString,Is=As.hasOwnProperty,Ss=pr.call(Object);function _s(t){if(!y(t)||w(t)!=js)return!1;var e=X(t);if(e===null)return!0;var r=Is.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&pr.call(r)==Ss}var lr=_s;function Es(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(a);++o<a;)i[o]=t[o+e];return i}var mr=Es;function Fs(){this.__data__=new F,this.size=0}var ur=Fs;function Cs(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var dr=Cs;function Ms(t){return this.__data__.get(t)}var cr=Ms;function Ns(t){return this.__data__.has(t)}var hr=Ns;var Rs=200;function Ls(t,e){var r=this.__data__;if(r instanceof F){var o=r.__data__;if(!C||o.length<Rs-1)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new nt(o)}return r.set(t,e),this.size=r.size,this}var gr=Ls;function Q(t){var e=this.__data__=new F(t);this.size=e.size}Q.prototype.clear=ur;Q.prototype.delete=dr;Q.prototype.get=cr;Q.prototype.has=hr;Q.prototype.set=gr;var xr=Q;function Bs(t,e){return t&&O(e,$(e),t)}var yr=Bs;function ks(t,e){return t&&O(e,H(e),t)}var br=ks;var Pr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,vr=Pr&&typeof module=="object"&&module&&!module.nodeType&&module,Ds=vr&&vr.exports===Pr,wr=Ds?d.Buffer:void 0,Tr=wr?wr.allocUnsafe:void 0;function Us(t,e){if(e)return t.slice();var r=t.length,o=Tr?Tr(r):new t.constructor(r);return t.copy(o),o}var jr=Us;function Gs(t,e){for(var r=-1,o=t==null?0:t.length,a=0,i=[];++r<o;){var s=t[r];e(s,r,t)&&(i[a++]=s)}return i}var Or=Gs;function zs(){return[]}var Ot=zs;var Ks=Object.prototype,Ws=Ks.propertyIsEnumerable,Ar=Object.getOwnPropertySymbols,Ys=Ar?function(t){return t==null?[]:(t=Object(t),Or(Ar(t),function(e){return Ws.call(t,e)}))}:Ot,tt=Ys;function $s(t,e){return O(t,tt(t),e)}var Ir=$s;var Hs=Object.getOwnPropertySymbols,Vs=Hs?function(t){for(var e=[];t;)J(e,tt(t)),t=X(t);return e}:Ot,At=Vs;function qs(t,e){return O(t,At(t),e)}var Sr=qs;function Zs(t,e,r){var o=e(t);return g(t)?o:J(o,r(t))}var It=Zs;function Js(t){return It(t,$,tt)}var _r=Js;function Xs(t){return It(t,H,At)}var St=Xs;var Qs=b(d,"DataView"),_t=Qs;var tn=b(d,"Promise"),Et=tn;var en=b(d,"Set"),Ft=en;var Er="[object Map]",rn="[object Object]",Fr="[object Promise]",Cr="[object Set]",Mr="[object WeakMap]",Nr="[object DataView]",on=A(_t),an=A(C),sn=A(Et),nn=A(Ft),fn=A(gt),L=w;(_t&&L(new _t(new ArrayBuffer(1)))!=Nr||C&&L(new C)!=Er||Et&&L(Et.resolve())!=Fr||Ft&&L(new Ft)!=Cr||gt&&L(new gt)!=Mr)&&(L=function(t){var e=w(t),r=e==rn?t.constructor:void 0,o=r?A(r):"";if(o)switch(o){case on:return Nr;case an:return Er;case sn:return Fr;case nn:return Cr;case fn:return Mr}return e});var et=L;var pn=Object.prototype,ln=pn.hasOwnProperty;function mn(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&ln.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var Rr=mn;var un=d.Uint8Array,Ut=un;function dn(t){var e=new t.constructor(t.byteLength);return new Ut(e).set(new Ut(t)),e}var rt=dn;function cn(t,e){var r=e?rt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var Lr=cn;var hn=/\w*$/;function gn(t){var e=new t.constructor(t.source,hn.exec(t));return e.lastIndex=t.lastIndex,e}var Br=gn;var kr=x?x.prototype:void 0,Dr=kr?kr.valueOf:void 0;function xn(t){return Dr?Object(Dr.call(t)):{}}var Ur=xn;function yn(t,e){var r=e?rt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var Gr=yn;var bn="[object Boolean]",vn="[object Date]",wn="[object Map]",Tn="[object Number]",Pn="[object RegExp]",jn="[object Set]",On="[object String]",An="[object Symbol]",In="[object ArrayBuffer]",Sn="[object DataView]",_n="[object Float32Array]",En="[object Float64Array]",Fn="[object Int8Array]",Cn="[object Int16Array]",Mn="[object Int32Array]",Nn="[object Uint8Array]",Rn="[object Uint8ClampedArray]",Ln="[object Uint16Array]",Bn="[object Uint32Array]";function kn(t,e,r){var o=t.constructor;switch(e){case In:return rt(t);case bn:case vn:return new o(+t);case Sn:return Lr(t,r);case _n:case En:case Fn:case Cn:case Mn:case Nn:case Rn:case Ln:case Bn:return Gr(t,r);case wn:return new o;case Tn:case On:return new o(t);case Pn:return Br(t);case jn:return new o;case An:return Ur(t)}}var zr=kn;function Dn(t){return typeof t.constructor=="function"&&!K(t)?de(X(t)):{}}var Kr=Dn;var Un="[object Map]";function Gn(t){return y(t)&&et(t)==Un}var Wr=Gn;var Yr=I&&I.isMap,zn=Yr?Y(Yr):Wr,$r=zn;var Kn="[object Set]";function Wn(t){return y(t)&&et(t)==Kn}var Hr=Wn;var Vr=I&&I.isSet,Yn=Vr?Y(Vr):Hr,qr=Yn;var $n=1,Hn=2,Vn=4,Zr="[object Arguments]",qn="[object Array]",Zn="[object Boolean]",Jn="[object Date]",Xn="[object Error]",Jr="[object Function]",Qn="[object GeneratorFunction]",tf="[object Map]",ef="[object Number]",Xr="[object Object]",rf="[object RegExp]",of="[object Set]",af="[object String]",sf="[object Symbol]",nf="[object WeakMap]",ff="[object ArrayBuffer]",pf="[object DataView]",lf="[object Float32Array]",mf="[object Float64Array]",uf="[object Int8Array]",df="[object Int16Array]",cf="[object Int32Array]",hf="[object Uint8Array]",gf="[object Uint8ClampedArray]",xf="[object Uint16Array]",yf="[object Uint32Array]",l={};l[Zr]=l[qn]=l[ff]=l[pf]=l[Zn]=l[Jn]=l[lf]=l[mf]=l[uf]=l[df]=l[cf]=l[tf]=l[ef]=l[Xr]=l[rf]=l[of]=l[af]=l[sf]=l[hf]=l[gf]=l[xf]=l[yf]=!0;l[Xn]=l[Jr]=l[nf]=!1;function Ct(t,e,r,o,a,i){var s,n=e&$n,u=e&Hn,c=e&Vn;if(r&&(s=a?r(t,o,a,i):r(t)),s!==void 0)return s;if(!T(t))return t;var h=g(t);if(h){if(s=Rr(t),!n)return he(t,s)}else{var j=et(t),ft=j==Jr||j==Qn;if(vt(t))return jr(t,n);if(j==Xr||j==Zr||ft&&!a){if(s=u||ft?{}:Kr(t),!n)return u?Sr(t,br(s,t)):Ir(t,yr(s,t))}else{if(!l[j])return a?t:{};s=zr(t,j,n)}}i||(i=new xr);var ot=i.get(t);if(ot)return ot;i.set(t,s),qr(t)?t.forEach(function(v){s.add(Ct(v,e,r,v,t,i))}):$r(t)&&t.forEach(function(v,f){s.set(f,Ct(v,e,r,f,t,i))});var pt=c?u?St:_r:u?H:$,lt=h?void 0:pt(t);return ve(lt||t,function(v,f){lt&&(f=v,v=t[f]),G(s,f,Ct(v,e,r,f,t,i))}),s}var Mt=Ct;var bf=1,vf=4;function wf(t){return Mt(t,bf|vf)}var Gt=wf;function Tf(t,e){return t!=null&&e in Object(t)}var Qr=Tf;function Pf(t,e,r){e=P(e,t);for(var o=-1,a=e.length,i=!1;++o<a;){var s=N(e[o]);if(!(i=t!=null&&r(t,s)))break;t=t[s]}return i||++o!=a?i:(a=t==null?0:t.length,!!a&&z(a)&&U(s,a)&&(g(t)||W(t)))}var to=Pf;function jf(t,e){return t!=null&&to(t,e,Qr)}var eo=jf;function Of(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var ro=Of;function Af(t,e){return e.length<2?t:Pt(t,mr(e,0,-1))}var oo=Af;var If=Object.prototype,Sf=If.hasOwnProperty;function _f(t,e){e=P(e,t);var r=-1,o=e.length;if(!o)return!0;for(var a=t==null||typeof t!="object"&&typeof t!="function";++r<o;){var i=e[r];if(typeof i=="string"){if(i==="__proto__"&&!Sf.call(t,"__proto__"))return!1;if(i==="constructor"&&r+1<o&&typeof e[r+1]=="string"&&e[r+1]==="prototype"){if(a&&r===0)continue;return!1}}}var s=oo(t,e);return s==null||delete s[N(ro(e))]}var ao=_f;function Ef(t){return lr(t)?void 0:t}var io=Ef;var Ff=1,Cf=2,Mf=4,Nf=jt(function(t,e){var r={};if(t==null)return r;var o=!1;e=dt(e,function(i){return i=P(i,t),o||(o=i.length>1),i}),O(t,St(t),r),o&&(r=Mt(r,Ff|Cf|Mf,io));for(var a=e.length;a--;)ao(r,e[a]);return r}),zt=Nf;function Rf(t,e,r,o){if(!T(t))return t;e=P(e,t);for(var a=-1,i=e.length,s=i-1,n=t;n!=null&&++a<i;){var u=N(e[a]),c=r;if(u==="__proto__"||u==="constructor"||u==="prototype")return t;if(a!=s){var h=n[u];c=o?o(h,u,n):void 0,c===void 0&&(c=T(h)?h:U(e[a+1])?[]:{})}G(n,u,c),n=n[u]}return t}var so=Rf;function Lf(t,e,r){for(var o=-1,a=e.length,i={};++o<a;){var s=e[o],n=Pt(t,s);r(n,s)&&so(i,P(s,t),n)}return i}var no=Lf;function Bf(t,e){return no(t,e,function(r,o){return eo(t,o)})}var fo=Bf;var kf=jt(function(t,e){return t==null?{}:fo(t,e)}),Nt=kf;function po(t){return{all:t=t||new Map,on:function(e,r){var o=t.get(e);o?o.push(r):t.set(e,[r])},off:function(e,r){var o=t.get(e);o&&(r?o.splice(o.indexOf(r)>>>0,1):t.set(e,[]))},emit:function(e,r){var o=t.get(e);o&&o.slice().map(function(a){a(r)}),(o=t.get("*"))&&o.slice().map(function(a){a(e,r)})}}}var lo="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Kt=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=lo[r[t]&63];return e};var Df="array";var mo="bits",Uf="byte",uo="bytes";var Gf="exponent",zf="function";var Kf="Invalid number",Wf="Invalid rounding method",Wt="jedec",Yf="object";var $f="round";var Hf="kbit";var Vf="string";var Yt={symbol:{iec:{bits:["bit","Kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],bytes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},jedec:{bits:["bit","Kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],bytes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}},fullform:{iec:["","kibi","mebi","gibi","tebi","pebi","exbi","zebi","yobi"],jedec:["","kilo","mega","giga","tera","peta","exa","zetta","yotta"]}};function co(t,{bits:e=!1,pad:r=!1,base:o=-1,round:a=2,locale:i="",localeOptions:s={},separator:n="",spacer:u=" ",symbols:c={},standard:h="",output:j=Vf,fullform:ft=!1,fullforms:ot=[],exponent:pt=-1,roundingMethod:lt=$f,precision:v=0}={}){let f=pt,B=Number(t),p=[],R=0,Rt="";h==="si"?(o=10,h=Wt):h==="iec"||h===Wt?o=2:o===2?h="iec":(o=10,h=Wt);let mt=o===10?1e3:1024,ho=ft===!0,Ht=B<0,Vt=Math[lt];if(typeof t!="bigint"&&isNaN(t))throw new TypeError(Kf);if(typeof Vt!==zf)throw new TypeError(Wf);if(Ht&&(B=-B),(f===-1||isNaN(f))&&(f=Math.floor(Math.log(B)/Math.log(mt)),f<0&&(f=0)),f>8&&(v>0&&(v+=8-f),f=8),j===Gf)return f;if(B===0)p[0]=0,Rt=p[1]=Yt.symbol[h][e?mo:uo][f];else{R=B/(o===2?Math.pow(2,f*10):Math.pow(1e3,f)),e&&(R=R*8,R>=mt&&f<8&&(R=R/mt,f++));let at=Math.pow(10,f>0?a:0);p[0]=Vt(R*at)/at,p[0]===mt&&f<8&&pt===-1&&(p[0]=1,f++),Rt=p[1]=o===10&&f===1?e?Hf:"kB":Yt.symbol[h][e?mo:uo][f]}if(Ht&&(p[0]=-p[0]),v>0&&(p[0]=p[0].toPrecision(v)),p[1]=c[p[1]]||p[1],i===!0?p[0]=p[0].toLocaleString():i.length>0?p[0]=p[0].toLocaleString(i,s):n.length>0&&(p[0]=p[0].toString().replace(".",n)),r&&a>0){let at=p[0].toString(),qt=n||(at.match(/(\D)/g)||[]).pop()||".",Zt=at.toString().split(qt),Jt=Zt[1]||"",Xt=Jt.length,go=a-Xt;p[0]=`${Zt[0]}${qt}${Jt.padEnd(Xt+go,"0")}`}return ho&&(p[1]=ot[f]?ot[f]:Yt.fullform[h][f]+(e?"bit":Uf)+(p[0]===1?"":"s")),j===Df?p:j===Yf?{value:p[0],symbol:p[1],exponent:f,unit:Rt}:p.join(u)}var _=class t{constructor(e){this.meta={};if(!e.tera)throw new Error("Basic file requires a `tera` key to access the Tera instance");Object.assign(this,zt(e,"encodeIdFunction")),e.encodeIdFunction&&typeof e.encodeIdFunction=="function"&&(this.id=e.encodeIdFunction(this.id));let r=this.tera;Object.defineProperty(this,"_tera",{enumerable:!1,configurable:!1,get(){return r}}),delete this.tera,this.created&&typeof this.created=="string"&&(this.created=new Date(this.created)),this.modified&&typeof this.modified=="string"&&(this.modified=new Date(this.modified)),this.accessed&&typeof this.accessed=="string"&&(this.accessed=new Date(this.accessed)),this.isFolder&&(this.files=this.files?.map(o=>{let a=o.path.split(/\//).slice(3).join("/"),i=this.url+"/"+o.name;return o.meta.reflib&&(i=i.replace(/\/project\/download\//,"/project/library/")),new t({tera:this._tera,...o,sbId:o.id,id:o.path,encodeIdFunction:e.encodeIdFunction,path:a,url:i})})),this.teraUrl=this.url.replace(/^https?:\/\/(?:.+?)\/projects\/(?:.+?)\/project\/(.+)$/,"/project/$1"),this.sizeFormatted=co(this.size||0,{spacer:""}),this.createdFormatted=this.created?this.created.toLocaleDateString():"Unknown created date",this.modifiedFormatted=this.modified?this.modified.toLocaleDateString():"Unknown modified date",this.accessedFormatted=this.accessed?this.accessed.toLocaleDateString():"Unknown access date"}getContents(e){return this._tera.getProjectFileContents(this.id,e)}setContents(e){return this._tera.setProjectFileContents(this.id,e,{})}getRefs(){return this._tera.getProjectLibrary(this.id)}setRefs(e){return this._tera.setProjectLibrary(this.id,e)}serialize(){return Nt(this,["id","sbId","name","icon","path","url","parsedName","created","modified","accessed","size","mime","meta"])}static deserialize(e){let r=Nt(e,["tera","id","sbId","name","icon","path","url","parsedName","created","modified","accessed","size","mime","meta"]);return new t(r)}};var $t=class{constructor(e){this.settings={session:null,devMode:!1,verbosity:1,mode:"detect",modeTimeout:300,modeFallback:"child",modeOverrides:{child(e){e.siteUrl=="https://tera-tools.com/embed"&&(e.siteUrl="https://dev.tera-tools.com/embed")}},siteUrl:"https://tera-tools.com/embed",restrictOrigin:"*",frameSandbox:["allow-forms","allow-modals","allow-orientation-lock","allow-pointer-lock","allow-popups","allow-popups-to-escape-sandbox","allow-presentation","allow-same-origin","allow-scripts","allow-top-navigation"],handshakeInterval:1e3,handshakeTimeout:1e4,debugPaths:null};this.events=po();this.dom={el:null,iframe:null,popup:null,stylesheet:null};this.methods=["handshake","setServerVerbosity","getUser","requireUser","getCredentials","getKindeToken","bindProject","getProject","getProjects","setActiveProject","requireProject","selectProject","getNamespace","setNamespace","listNamespaces","getProjectState","setProjectState","setProjectStateDefaults","setProjectStateRefresh","getProjectFileContents","deleteProjectFile","setProjectFileContents","createProjectFolder","deleteProjectFolder","selectProjectLibrary","getProjectLibrary","setProjectLibrary","projectLog","setPage","uiAlert","uiConfirm","uiJson","uiPanic","uiProgress","uiPrompt","uiThrow","uiSplat","uiWindow"];this.plugins=[];this.namespaces={};this.acceptPostboxes={};this.initPromise=null;e&&this.set(e)}send(e){let r=Kt();return this.acceptPostboxes[r]={},this.acceptPostboxes[r].promise=new Promise((o,a)=>{Object.assign(this.acceptPostboxes[r],{resolve:o,reject:a}),this.sendRaw({id:r,...e})}),this.acceptPostboxes[r].promise}sendRaw(e){let r;try{if(r={TERA:1,id:e.id||Kt(),...Gt(e)},this.settings.mode=="parent")window.parent.postMessage(r,this.settings.restrictOrigin);else if(this.settings.mode=="child")this.dom.iframe.contentWindow.postMessage(r,this.settings.restrictOrigin);else if(this.settings.mode=="popup")this.dom.popup.postMessage(r,this.settings.restrictOrigin);else throw this.settings.mode=="detect"?new Error("Call init() or detectMode() before trying to send data to determine the mode"):new Error(`Unknown TERA communication mode "${this.settings.mode}"`)}catch(o){throw this.debug("ERROR",1,"Message compose client->server:",o),this.debug("ERROR",1,"Attempted to dispatch payload client->server",r),o}}rpc(e,...r){return this.send({action:"rpc",method:e,args:r})}acceptMessage(e){if(e.origin==window.location.origin)return Promise.resolve();let r=e.data;return!r.TERA||!r.id?Promise.resolve():(this.debug("INFO",3,"Received message",r),r?.action=="response"&&this.acceptPostboxes[r.id]?(r.isError===!0?this.acceptPostboxes[r.id].reject(r.response):this.acceptPostboxes[r.id].resolve(r.response),Promise.resolve()):r?.action=="rpc"?Promise.resolve().then(()=>this[r.method].apply(this,r.args)).then(o=>this.sendRaw({id:r.id,action:"response",response:o})).catch(o=>{console.warn(`TERA-FY client threw on RPC:${r.method}:`,o),this.sendRaw({id:r.id,action:"response",isError:!0,response:o&&o.toString()})}):r?.action=="event"?Promise.resolve().then(()=>this.events.emit(r.event,...r.payload)).catch(o=>{throw console.warn(`TERA-FY client threw while handling emitted event "${r.event}"`,{message:r}),o}):r?.id?(this.debug("INFO",3,`Ignoring message ID ${r.id} - was meant for someone else?`),Promise.resolve()):(this.debug("INFO",3,"Unexpected incoming TERA-FY CLIENT message",{message:r}),Promise.resolve()))}mountNamespace(e){if(!/^[\w-]+$/.test(e))throw new Error("Namespaces must be alphanumeric + hyphens + underscores");return this.namespaces[e]?Promise.resolve(this.namespaces[e]):Promise.resolve().then(()=>this._mountNamespace(e)).then(()=>this.namespaces[e]||Promise.reject(`teraFy.mountNamespace('${e}') resolved but no namespace has been mounted`))}_mountNamespace(e){throw console.warn(`teraFy._mountNamespace() for ${e} has not been overridden by a TERA-fy plugin, load one to add this functionality for your preferred framework`),new Error("teraFy._mountNamespace() is not supported")}unmountNamespace(e){return this.namespaces[e]?this._unmountNamespace(e):Promise.resolve()}_unmountNamespace(e){console.warn(`teraFy.unbindNamespace() for ${e} has not been overridden by a TERA-fy plugin, load one to add this functionality for your preferred framework`)}init(e){if(e&&this.set(e),this.initPromise)return this.initPromise;window.addEventListener("message",this.acceptMessage.bind(this));let r=this;return this.initPromise=Promise.resolve().then(()=>this.settings.session||="tfy-"+this.getEntropicString(16)).then(()=>this.debug("INFO",4,"[0/6] Init","Session",this.settings.session,"against",this.settings.siteUrl)).then(()=>{this.settings.devMode&&(this.settings.debugPaths?this.settings.debugPaths=this.settings.debugPaths.map(o=>Array.isArray(o)?o.join("."):typeof o=="string"?o:(()=>{throw new Error("Unknown path type - should be an array or string in dotted notation")})()):this.settings.debugPaths=null,this.debug("INFO",0,"Watching state paths",this.settings.debugPaths))}).then(()=>this.detectMode()).then(o=>{if(this.debug("INFO",4,"[1/6] Setting client mode to",o),this.settings.mode=o,this.settings.modeOverrides[o])return this.debug("INFO",4,"[1/6] Applying specific config overrides for mode",o),this.settings.modeOverrides[o](this.settings)}).then(()=>this.debug("INFO",4,"[2/6] Injecting comms + styles + methods")).then(()=>Promise.all([this.injectComms(),this.injectStylesheet(),this.injectMethods()])).then(()=>{if(this.settings.verbosity<=1){this.debug("INFO",4,"[3/6] Skip - Server verbosity is already at 1");return}else return this.debug("INFO",4,`[3/6] Set server verbosity to ${this.settings.verbosity}`),this.rpc("setServerVerbosity",this.settings.verbosity)}).then(()=>this.debug("INFO",4,`[4/6] Set server mode to "${this.settings.mode}"`)).then(()=>this.rpc("setServerMode",this.settings.mode=="child"?"embedded":this.settings.mode=="parent"?"frame":this.settings.mode=="popup"?"popup":(()=>{throw new Error(`Unknown server mode "${this.settings.mode}"`)})())).then(()=>this.debug("INFO",4,"[5/6] Run client plugins")).then(()=>Promise.all(this.plugins.map(o=>o.init.call(r,this.settings)))).then(()=>(this.debug("INFO",4,"[6/6] Init complete"),r)).catch(o=>{throw this.debug("WARN",0,"Init process fault",o),o}),this.initPromise}detectMode(){return this.settings.mode!="detect"?Promise.resolve(this.settings.mode):window.self===window.parent?Promise.resolve(this.settings.modeFallback):Promise.resolve().then(()=>this.settings.mode="parent").then(()=>new Promise((e,r)=>{let o=setTimeout(()=>r("TIMEOUT"),this.settings.modeTimeout);this.rpc("handshake").then(()=>clearTimeout(o)).then(()=>e()).catch(r)})).then(()=>"parent").catch(()=>this.settings.modeFallback)}injectComms(){switch(this.settings.mode){case"child":return Promise.resolve().then(()=>new Promise(e=>{this.debug("INFO",2,"Injecting TERA site as iFrame child"),this.dom.el=document.createElement("div"),this.dom.el.id="tera-fy",this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this.dom.el.classList.add("minimized"),document.body.append(this.dom.el),this.dom.el.addEventListener("click",()=>this.dom.el.classList.toggle("minimized")),this.dom.iframe=document.createElement("iframe"),this.dom.iframe.setAttribute("sandbox",this.settings.frameSandbox.join(" ")),this.dom.iframe.addEventListener("load",()=>{this.debug("INFO",3,"Embedded iframe ready"),e()}),this.dom.iframe.src=this.settings.siteUrl,this.dom.el.append(this.dom.iframe)})).then(()=>this.handshakeLoop());case"parent":return this.debug("INFO",2,"Using TERA window parent"),Promise.resolve();case"popup":return this.debug("INFO",2,"Injecting TERA site as a popup window"),this.dom.popup=window.open(this.settings.siteUrl,"_blank","popup=1, location=0, menubar=0, status=0, scrollbars=0, width=500, height=600"),this.handshakeLoop().then(()=>this.debug("INFO",3,"Popup window accepted handshake"));default:throw new Error(`Unsupported mode "${this.settings.mode}" when calling injectComms()`)}}handshakeLoop(e){let r={handshakeInterval:this.settings.handshakeInterval,handshakeTimeout:this.settings.handshakeTimeout,...e};return new Promise((o,a)=>{let i=0,s,n=setTimeout(()=>{clearTimeout(s),a("TIMEOUT")},r.handshakeTimeout),u=()=>{this.debug("INFO",4,"Trying handshake",++i),clearTimeout(s),s=setTimeout(u,r.handshakeInterval),this.rpc("handshake").then(()=>{clearTimeout(n),clearTimeout(s)}).then(()=>o()).catch(a)};u()})}injectStylesheet(){switch(this.settings.mode){case"child":this.dom.stylesheet=document.createElement("style"),this.dom.stylesheet.innerHTML=[":root {","--TERA-accent: #4d659c;","}","#tera-fy {","display: none;","position: fixed;","right: 50px;","bottom: 50px;","width: 300px;","height: 150px;","background: transparent;","body:not(.tera-fy-focus) &.minimized.dev-mode {","background: var(--TERA-accent) !important;","opacity: 0.5;","right: 0px;","bottom: 0px;","width: 30px;","height: 30px;","transition: opacity 0.2s ease-out;","cursor: pointer;","border: none;","border-top-left-radius: 30px;","border-top: 2px solid var(--TERA-accent);","border-left: 2px solid var(--TERA-accent);","display: flex;","justify-content: center;","align-items: center;","&::before {","margin: 2px 0 0 0;",'content: "\u{1F300}";',"color: #FFF;","}","&:hover {","opacity: 1;","}","& > iframe {","display: none;","}","}","body:not(.tera-fy-focus) &:not(.minimized) {","&::before {","display: flex;","align-items: center;","justify-content: center;","cursor: pointer;","background: var(--TERA-accent) !important;","opacity: 0.5;","transition: opacity 0.2s ease-out;","position: absolute;","right: 0px;","bottom: 0px;","width: 20px;","height: 20px;","margin: 2px 0 0 0;",'content: "\u2B68";',"color: #FFF;","border: none;","border-top-left-radius: 30px;","border-top: 2px solid var(--TERA-accent);","border-left: 2px solid var(--TERA-accent);","}","&:hover::before {","opacity: 1;","}","}","&.dev-mode {","display: flex;","border: 5px solid var(--TERA-accent);","background: #FFF;","}","& > iframe {","width: 100%;","height: 100%;","}","}","body.tera-fy-focus {","overflow: hidden;","& #tera-fy {","display: flex !important;","position: fixed !important;","top: 0px !important;","width: 100vw !important;","height: 100vh !important;","left: 0px !important;","z-index: 10000 !important;","}","}"].join(`
2
+ `),document.head.append(this.dom.stylesheet);break;case"parent":case"popup":break;default:throw new Error(`Unsupported mode "${this.settings.mode}" when injectStylesheet()`)}return Promise.resolve()}injectMethods(){this.methods.forEach(e=>this[e]=this.rpc.bind(this,e))}debug(...e){if(!this.settings.devMode||this.settings.verbosity<1)return;let r="log",o=1;typeof e[0]=="string"&&["INFO","LOG","WARN","ERROR"].includes(e[0])&&(r=e.shift().toLowerCase()),typeof e[0]=="number"&&(o=e[0],e.shift()),!(this.settings.verbosity<o)&&console[r]("%c[TERA-FY CLIENT]","font-weight: bold; color: #ff5722;",...e)}set(e,r,o){let a={ignoreNullish:!0,...o};return typeof e=="string"?(!a.ignoreNullish||r!=null)&&(this.settings[e]=r):Object.assign(this.settings,e),this.toggleDevMode(this.settings.devMode)}setIfDev(e,r,o){return!this.settings.devMode||r===void 0?this:this.set(e,r,o)}use(e,r){let o=typeof e=="function"?new e(this,r):typeof e=="object"?e:typeof e=="string"?(()=>{throw new Error("use(String) is not yet supported")})():(()=>{throw new Error("Expected use() call to be provided with a class initializer")})();return this.mixin(this,o),this.plugins.push(o),this}mixin(e,r){let o=[],a=r;do o.unshift(a);while(a=Object.getPrototypeOf(a));o.forEach(i=>Object.getOwnPropertyNames(i).filter(s=>!["constructor","init","prototype","name"].includes(s)&&!s.startsWith("__")).forEach(s=>{typeof r[s]=="function"?Object.defineProperty(e,s,{enumerable:!1,value:r[s].bind(e)}):e[s]=r[s]}))}toggleDevMode(e="toggle"){return e==="toggle"?this.settings.devMode=!this.settings.devMode:e==="proxy"?Object.assign(this.settings,{devMode:!0,siteUrl:"http://localhost:7334/embed",mode:"child"}):this.settings.devMode=!!e,this.settings.devMode&&(this.settings.restrictOrigin="*"),this.dom?.el&&this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this}toggleFocus(e="toggle"){this.debug("INFO",2,"Request focus",{isFocused:e}),globalThis.document.body.classList.toggle("tera-fy-focus",e==="toggle"?void 0:e)}getEntropicString(e=32){let r=new Uint32Array(4);return window.crypto.getRandomValues(r),btoa(String.fromCodePoint(...new Uint8Array(r.buffer))).replace(/[+/]/g,"").slice(0,e)}selectProjectFile(e){return this.rpc("selectProjectFile",e).then(r=>r&&new _({tera:this,...r}))}getProjectFiles(e){return this.rpc("getProjectFiles",e).then(r=>r.map(o=>new _({tera:this,...o})))}getProjectFile(e,r){return this.rpc("getProjectFile",e,r).then(o=>o&&new _({tera:this,...o}))}createProjectFile(e){return this.rpc("createProjectFile",e).then(r=>r&&new _({tera:this,...r}))}moveProjectFile(e,r,o){return this.rpc("moveProjectFile",e,r,o).then(a=>a?new _({tera:this,...a}):null)}};export{$t as default};
3
3
  /*! Bundled license information:
4
4
 
5
5
  lodash-es/lodash.js:
@@ -9,7 +9,7 @@
9
9
  * @returns {Object} A shallow copy of the input instance extended with the assignments
10
10
  */
11
11
  export default function mixin(instance, assignments) {
12
- let output = Object.assign(Object.create(Object.getPrototypeOf(instance)), instance, assignments);
12
+ const output = Object.assign(Object.create(Object.getPrototypeOf(instance)), instance, assignments);
13
13
  return output;
14
14
  }
15
15
  //# sourceMappingURL=mixin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../utils/mixin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;EASE;AACF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,QAAa,EAAE,WAAgB;IAC5D,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CACzB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAC9C,QAAQ,EACR,WAAW,CACX,CAAC;IACF,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../utils/mixin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;EASE;AACF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,QAAa,EAAE,WAAgB;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAC3B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAC9C,QAAQ,EACR,WAAW,CACX,CAAC;IACF,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -5,8 +5,12 @@
5
5
  */
6
6
  interface Defer {
7
7
  promise: Promise<unknown>;
8
- resolve: (value?: unknown | PromiseLike<unknown>) => void;
8
+ resolve: (value?: unknown) => void;
9
9
  reject: (reason?: any) => void;
10
10
  }
11
+ /**
12
+ * Default export
13
+ * @returns Deferred promise
14
+ */
11
15
  export default function (): Defer;
12
16
  export {};
@@ -1,10 +1,15 @@
1
+ /* eslint-disable no-unused-vars */
1
2
  /**
2
3
  * Returns a defer object which represents a promise object which can resolve in the future - but without enclosing a function
3
4
  * The defer object has the keys {promise, resolve(), reject()}
4
5
  * @returns {Defer} A defered promise
5
6
  */
7
+ /**
8
+ * Default export
9
+ * @returns Deferred promise
10
+ */
6
11
  export default function () {
7
- var deferred = {};
12
+ const deferred = {};
8
13
  deferred.promise = new Promise((resolve, reject) => {
9
14
  deferred.resolve = resolve;
10
15
  deferred.reject = reject;
@@ -1 +1 @@
1
- {"version":3,"file":"pDefer.js","sourceRoot":"","sources":["../../utils/pDefer.ts"],"names":[],"mappings":"AAAA;;;;EAIE;AAQF,MAAM,CAAC,OAAO;IACb,IAAI,QAAQ,GAAG,EAAW,CAAC;IAE3B,QAAQ,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClD,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"pDefer.js","sourceRoot":"","sources":["../../utils/pDefer.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC;;;;EAIE;AAQF;;;GAGG;AACH,MAAM,CAAC,OAAO;IACb,MAAM,QAAQ,GAAG,EAAW,CAAC;IAE7B,QAAQ,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClD,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AACjB,CAAC"}
@@ -59,7 +59,7 @@ export declare function merge(target: any, path: string | (string | number)[], v
59
59
  *
60
60
  * @returns {*} The resulting object with defaults applied
61
61
  */
62
- export declare function defaults(target: any, path: string | (string | number)[] | any, value?: any): any;
62
+ export declare function defaults(target: any, path: string | (string | number)[], value?: any): any;
63
63
  declare const _default: {
64
64
  set: typeof set;
65
65
  get: typeof get;
@@ -24,12 +24,12 @@ import { defaultsDeep as _defaults, get as _get, has as _has, merge as _merge, s
24
24
  * @returns {*} The set value
25
25
  */
26
26
  export function set(target, path, value, options) {
27
- let settings = {
27
+ const settings = {
28
28
  strategy: 'overwrite',
29
29
  ...options,
30
30
  };
31
31
  // Fetch the existing value if the strategy calls for it
32
- let hasExistingValue = ['merge', 'defaults'].includes(settings.strategy)
32
+ const hasExistingValue = ['merge', 'defaults'].includes(settings.strategy)
33
33
  ? has(target, path)
34
34
  : undefined;
35
35
  switch (settings.strategy) {
@@ -1 +1 @@
1
- {"version":3,"file":"pathTools.js","sourceRoot":"","sources":["../../utils/pathTools.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,IAAI,SAAS,EACzB,GAAG,IAAI,IAAI,EACX,GAAG,IAAI,IAAI,EACX,KAAK,IAAI,MAAM,EACf,GAAG,IAAI,IAAI,GACX,MAAM,WAAW,CAAC;AAGnB;;;;;;;EAOE;AAGF;;;;;;;;;;;;;;;EAeE;AACF,MAAM,UAAU,GAAG,CAAC,MAAW,EAAE,IAAkC,EAAE,KAAU,EAAE,OAAa;IAC7F,IAAI,QAAQ,GAAG;QACd,QAAQ,EAAE,WAAW;QACrB,GAAG,OAAO;KACV,CAAC;IAEF,wDAAwD;IACxD,IAAI,gBAAgB,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;QACnB,CAAC,CAAC,SAAS,CAAC;IAEb,QAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC3B,KAAK,KAAK,CAAC;QACX,KAAK,WAAW;YACf,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC1B,MAAM;QACP,KAAK,OAAO;YACX,IAAI,gBAAgB,EAAE,CAAC;gBACtB,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM;QACP,KAAK,UAAU;YACd,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9B,MAAM;QACP;YACC,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;IACjF,CAAC;IAGD,OAAO,KAAK,CAAC;AACd,CAAC;AAGD;;;;;;;EAOE;AACF,MAAM,UAAU,GAAG,CAAC,MAAW,EAAE,IAAkC,EAAE,QAAc;IAClF,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAKD;;;;;;EAME;AACF,MAAM,UAAU,GAAG,CAAC,MAAW,EAAE,IAAkC;IAClE,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC3B,CAAC;AAGD;;;;;;;;EAQE;AACF,MAAM,UAAU,KAAK,CAAC,MAAW,EAAE,IAAkC,EAAE,KAAU;IAChF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC;AACd,CAAC;AAGD;;;;;;;;EAQE;AACF,MAAM,UAAU,QAAQ,CAAC,MAAW,EAAE,IAAwC,EAAE,KAAW;IAC1F,IAAI,OAAO,IAAI,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kCAAkC;QACvF,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,mCAAmC;YAC5D,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC,CAAC,6CAA6C;YACrD,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;SAAM,CAAC,CAAC,4BAA4B;QACpC,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;AACF,CAAC;AAGD,0CAA0C;AAC1C,eAAe;IACd,GAAG;IACH,GAAG;IACH,GAAG;IACH,KAAK;IACL,QAAQ;CACR,CAAC"}
1
+ {"version":3,"file":"pathTools.js","sourceRoot":"","sources":["../../utils/pathTools.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,IAAI,SAAS,EACzB,GAAG,IAAI,IAAI,EACX,GAAG,IAAI,IAAI,EACX,KAAK,IAAI,MAAM,EACf,GAAG,IAAI,IAAI,GACX,MAAM,WAAW,CAAC;AAGnB;;;;;;;EAOE;AAGF;;;;;;;;;;;;;;;EAeE;AACF,MAAM,UAAU,GAAG,CAAC,MAAW,EAAE,IAAkC,EAAE,KAAU,EAAE,OAAa;IAC7F,MAAM,QAAQ,GAAG;QAChB,QAAQ,EAAE,WAAW;QACrB,GAAG,OAAO;KACV,CAAC;IAEF,wDAAwD;IACxD,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;QACnB,CAAC,CAAC,SAAS,CAAC;IAEb,QAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC3B,KAAK,KAAK,CAAC;QACX,KAAK,WAAW;YACf,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC1B,MAAM;QACP,KAAK,OAAO;YACX,IAAI,gBAAgB,EAAE,CAAC;gBACtB,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM;QACP,KAAK,UAAU;YACd,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9B,MAAM;QACP;YACC,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;IACjF,CAAC;IAGD,OAAO,KAAK,CAAC;AACd,CAAC;AAGD;;;;;;;EAOE;AACF,MAAM,UAAU,GAAG,CAAC,MAAW,EAAE,IAAkC,EAAE,QAAc;IAClF,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAKD;;;;;;EAME;AACF,MAAM,UAAU,GAAG,CAAC,MAAW,EAAE,IAAkC;IAClE,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC3B,CAAC;AAGD;;;;;;;;EAQE;AACF,MAAM,UAAU,KAAK,CAAC,MAAW,EAAE,IAAkC,EAAE,KAAU;IAChF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC;AACd,CAAC;AAGD;;;;;;;;EAQE;AACF,MAAM,UAAU,QAAQ,CAAC,MAAW,EAAE,IAAkC,EAAE,KAAW;IACpF,IAAI,OAAO,IAAI,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kCAAkC;QACvF,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,mCAAmC;YAC5D,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC,CAAC,6CAA6C;YACrD,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;SAAM,CAAC,CAAC,4BAA4B;QACpC,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;AACF,CAAC;AAGD,0CAA0C;AAC1C,eAAe;IACd,GAAG;IACH,GAAG;IACH,GAAG;IACH,KAAK;IACL,QAAQ;CACR,CAAC"}
package/eslint.config.js CHANGED
@@ -1,6 +1,7 @@
1
- import {defineConfig, globalIgnores} from "eslint/config";
1
+ import { globalIgnores} from "eslint/config";
2
2
  import RulesMFDC, {JSCommon} from '@momsfriendlydevco/eslint-config';
3
3
  import tseslint from 'typescript-eslint';
4
+ import globals from 'globals';
4
5
 
5
6
  export default tseslint.config(
6
7
  globalIgnores([
@@ -24,6 +25,16 @@ export default tseslint.config(
24
25
  // Include the base configuration from MFDC
25
26
  ...RulesMFDC,
26
27
 
28
+ // Add browser defs to typescript
29
+ {
30
+ files: ['lib/**/*.ts'], // Apply this only to files in the 'lib' directory
31
+ languageOptions: {
32
+ globals: {
33
+ ...globals.browser, // Adds all browser globals like 'window', 'document', etc.
34
+ },
35
+ },
36
+ },
37
+
27
38
  // Add TypeScript specific configurations
28
39
  {
29
40
  // Apply these settings ONLY to .ts files
@@ -43,13 +54,16 @@ export default tseslint.config(
43
54
  rules: {
44
55
  // Not needed with TS
45
56
  'jsdoc/require-returns-type': 'off',
57
+ // This rule sometimes gives worse syntax
58
+ 'unicorn/prefer-ternary': 'off',
46
59
  // Loosen rules until proper TS annotation
47
- '@typescript-eslint/no-explicit-any': 'warn',
48
- '@typescript-eslint/no-unsafe-return': 'warn',
49
- '@typescript-eslint/no-unsafe-call': 'warn',
50
- '@typescript-eslint/no-unsafe-assignment': 'warn',
51
- '@typescript-eslint/no-unsafe-argument': 'warn',
52
- '@typescript-eslint/no-unsafe-member-access': 'warn',
60
+ '@typescript-eslint/no-explicit-any': 'off',
61
+ '@typescript-eslint/no-unsafe-return': 'off',
62
+ '@typescript-eslint/no-unsafe-call': 'off',
63
+ '@typescript-eslint/no-unsafe-assignment': 'off',
64
+ '@typescript-eslint/no-unsafe-argument': 'off',
65
+ '@typescript-eslint/no-unsafe-member-access': 'off',
66
+ '@typescript-eslint/prefer-promise-reject-errors': 'off',
53
67
  ...JSCommon,
54
68
  },
55
69
  },