@iebh/tera-fy 1.0.8 → 1.0.10

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 (36) hide show
  1. package/README.md +9 -4
  2. package/api.md +445 -431
  3. package/dist/terafy.js +2 -2
  4. package/dist/terafy.js.map +4 -4
  5. package/docs/assets/anchor.js +350 -0
  6. package/docs/assets/bass-addons.css +12 -0
  7. package/docs/assets/bass.css +544 -0
  8. package/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  9. package/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  10. package/docs/assets/fonts/LICENSE.txt +93 -0
  11. package/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  12. package/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  13. package/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  14. package/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  15. package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  16. package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  17. package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  18. package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  19. package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  20. package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  21. package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  22. package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  23. package/docs/assets/fonts/source-code-pro.css +23 -0
  24. package/docs/assets/github.css +123 -0
  25. package/docs/assets/site.js +168 -0
  26. package/docs/assets/split.css +15 -0
  27. package/docs/assets/split.js +782 -0
  28. package/docs/assets/style.css +147 -0
  29. package/docs/index.html +3636 -0
  30. package/{index.html → docs/playground.html} +48 -12
  31. package/documentation.yml +12 -0
  32. package/lib/terafy.client.js +230 -6
  33. package/lib/terafy.server.js +192 -10
  34. package/package.json +7 -6
  35. package/plugins/vue2.js +173 -0
  36. package/plugins/{vue.js → vue3.js} +20 -11
package/dist/terafy.js CHANGED
@@ -1,5 +1,5 @@
1
- var ar=typeof global=="object"&&global&&global.Object===Object&&global,k=ar;var fr=typeof self=="object"&&self&&self.Object===Object&&self,sr=k||fr||Function("return this")(),i=sr;var ir=i.Symbol,g=ir;var At=Object.prototype,pr=At.hasOwnProperty,nr=At.toString,z=g?g.toStringTag:void 0;function lr(t){var e=pr.call(t,z),r=t[z];try{t[z]=void 0;var o=!0}catch{}var p=nr.call(t);return o&&(e?t[z]=r:delete t[z]),p}var wt=lr;var mr=Object.prototype,ur=mr.toString;function dr(t){return ur.call(t)}var _t=dr;var cr="[object Null]",xr="[object Undefined]",Ot=g?g.toStringTag:void 0;function gr(t){return t==null?t===void 0?xr:cr:Ot&&Ot in Object(t)?wt(t):_t(t)}var h=gr;function hr(t){return t!=null&&typeof t=="object"}var c=hr;var yr=Array.isArray,C=yr;function br(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var x=br;var vr="[object AsyncFunction]",jr="[object Function]",Tr="[object GeneratorFunction]",Ar="[object Proxy]";function wr(t){if(!x(t))return!1;var e=h(t);return e==jr||e==Tr||e==vr||e==Ar}var V=wr;var _r=i["__core-js_shared__"],q=_r;var St=function(){var t=/[^.]+$/.exec(q&&q.keys&&q.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function Or(t){return!!St&&St in t}var It=Or;var Sr=Function.prototype,Ir=Sr.toString;function Pr(t){if(t!=null){try{return Ir.call(t)}catch{}try{return t+""}catch{}}return""}var y=Pr;var Cr=/[\\^$.*+?()[\]{}|]/g,Er=/^\[object .+?Constructor\]$/,Mr=Function.prototype,Lr=Object.prototype,Br=Mr.toString,Rr=Lr.hasOwnProperty,Dr=RegExp("^"+Br.call(Rr).replace(Cr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Fr(t){if(!x(t)||It(t))return!1;var e=V(t)?Dr:Er;return e.test(y(t))}var Pt=Fr;function Ur(t,e){return t?.[e]}var Ct=Ur;function Nr(t,e){var r=Ct(t,e);return Pt(r)?r:void 0}var m=Nr;var Wr=m(i,"WeakMap"),H=Wr;var Et=Object.create,Gr=function(){function t(){}return function(e){if(!x(e))return{};if(Et)return Et(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),Mt=Gr;function zr(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e}var Lt=zr;var Kr=function(){try{var t=m(Object,"defineProperty");return t({},"",{}),t}catch{}}(),mt=Kr;function kr(t,e){for(var r=-1,o=t==null?0:t.length;++r<o&&e(t[r],r,t)!==!1;);return t}var Bt=kr;var Vr=9007199254740991,qr=/^(?:0|[1-9]\d*)$/;function Hr(t,e){var r=typeof t;return e=e??Vr,!!e&&(r=="number"||r!="symbol"&&qr.test(t))&&t>-1&&t%1==0&&t<e}var Rt=Hr;function $r(t,e,r){e=="__proto__"&&mt?mt(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var $=$r;function Yr(t,e){return t===e||t!==t&&e!==e}var Y=Yr;var Jr=Object.prototype,Xr=Jr.hasOwnProperty;function Zr(t,e,r){var o=t[e];(!(Xr.call(t,e)&&Y(o,r))||r===void 0&&!(e in t))&&$(t,e,r)}var J=Zr;function Qr(t,e,r,o){var p=!r;r||(r={});for(var n=-1,s=e.length;++n<s;){var l=e[n],u=o?o(r[l],t[l],l,r,t):void 0;u===void 0&&(u=t[l]),p?$(r,l,u):J(r,l,u)}return r}var T=Qr;var to=9007199254740991;function eo(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=to}var X=eo;function ro(t){return t!=null&&X(t.length)&&!V(t)}var Z=ro;var oo=Object.prototype;function ao(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||oo;return t===r}var E=ao;function fo(t,e){for(var r=-1,o=Array(t);++r<t;)o[r]=e(r);return o}var Dt=fo;var so="[object Arguments]";function io(t){return c(t)&&h(t)==so}var ut=io;var Ft=Object.prototype,po=Ft.hasOwnProperty,no=Ft.propertyIsEnumerable,lo=ut(function(){return arguments}())?ut:function(t){return c(t)&&po.call(t,"callee")&&!no.call(t,"callee")},Ut=lo;function mo(){return!1}var Nt=mo;var zt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Wt=zt&&typeof module=="object"&&module&&!module.nodeType&&module,uo=Wt&&Wt.exports===zt,Gt=uo?i.Buffer:void 0,co=Gt?Gt.isBuffer:void 0,xo=co||Nt,Q=xo;var go="[object Arguments]",ho="[object Array]",yo="[object Boolean]",bo="[object Date]",vo="[object Error]",jo="[object Function]",To="[object Map]",Ao="[object Number]",wo="[object Object]",_o="[object RegExp]",Oo="[object Set]",So="[object String]",Io="[object WeakMap]",Po="[object ArrayBuffer]",Co="[object DataView]",Eo="[object Float32Array]",Mo="[object Float64Array]",Lo="[object Int8Array]",Bo="[object Int16Array]",Ro="[object Int32Array]",Do="[object Uint8Array]",Fo="[object Uint8ClampedArray]",Uo="[object Uint16Array]",No="[object Uint32Array]",f={};f[Eo]=f[Mo]=f[Lo]=f[Bo]=f[Ro]=f[Do]=f[Fo]=f[Uo]=f[No]=!0;f[go]=f[ho]=f[Po]=f[yo]=f[Co]=f[bo]=f[vo]=f[jo]=f[To]=f[Ao]=f[wo]=f[_o]=f[Oo]=f[So]=f[Io]=!1;function Wo(t){return c(t)&&X(t.length)&&!!f[h(t)]}var Kt=Wo;function Go(t){return function(e){return t(e)}}var M=Go;var kt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,K=kt&&typeof module=="object"&&module&&!module.nodeType&&module,zo=K&&K.exports===kt,dt=zo&&k.process,Ko=function(){try{var t=K&&K.require&&K.require("util").types;return t||dt&&dt.binding&&dt.binding("util")}catch{}}(),b=Ko;var Vt=b&&b.isTypedArray,ko=Vt?M(Vt):Kt,qt=ko;var Vo=Object.prototype,qo=Vo.hasOwnProperty;function Ho(t,e){var r=C(t),o=!r&&Ut(t),p=!r&&!o&&Q(t),n=!r&&!o&&!p&&qt(t),s=r||o||p||n,l=s?Dt(t.length,String):[],u=l.length;for(var d in t)(e||qo.call(t,d))&&!(s&&(d=="length"||p&&(d=="offset"||d=="parent")||n&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||Rt(d,u)))&&l.push(d);return l}var tt=Ho;function $o(t,e){return function(r){return t(e(r))}}var et=$o;var Yo=et(Object.keys,Object),Ht=Yo;var Jo=Object.prototype,Xo=Jo.hasOwnProperty;function Zo(t){if(!E(t))return Ht(t);var e=[];for(var r in Object(t))Xo.call(t,r)&&r!="constructor"&&e.push(r);return e}var $t=Zo;function Qo(t){return Z(t)?tt(t):$t(t)}var L=Qo;function ta(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var Yt=ta;var ea=Object.prototype,ra=ea.hasOwnProperty;function oa(t){if(!x(t))return Yt(t);var e=E(t),r=[];for(var o in t)o=="constructor"&&(e||!ra.call(t,o))||r.push(o);return r}var Jt=oa;function aa(t){return Z(t)?tt(t,!0):Jt(t)}var B=aa;var fa=m(Object,"create"),v=fa;function sa(){this.__data__=v?v(null):{},this.size=0}var Xt=sa;function ia(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Zt=ia;var pa="__lodash_hash_undefined__",na=Object.prototype,la=na.hasOwnProperty;function ma(t){var e=this.__data__;if(v){var r=e[t];return r===pa?void 0:r}return la.call(e,t)?e[t]:void 0}var Qt=ma;var ua=Object.prototype,da=ua.hasOwnProperty;function ca(t){var e=this.__data__;return v?e[t]!==void 0:da.call(e,t)}var te=ca;var xa="__lodash_hash_undefined__";function ga(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=v&&e===void 0?xa:e,this}var ee=ga;function R(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])}}R.prototype.clear=Xt;R.prototype.delete=Zt;R.prototype.get=Qt;R.prototype.has=te;R.prototype.set=ee;var ct=R;function ha(){this.__data__=[],this.size=0}var re=ha;function ya(t,e){for(var r=t.length;r--;)if(Y(t[r][0],e))return r;return-1}var A=ya;var ba=Array.prototype,va=ba.splice;function ja(t){var e=this.__data__,r=A(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():va.call(e,r,1),--this.size,!0}var oe=ja;function Ta(t){var e=this.__data__,r=A(e,t);return r<0?void 0:e[r][1]}var ae=Ta;function Aa(t){return A(this.__data__,t)>-1}var fe=Aa;function wa(t,e){var r=this.__data__,o=A(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}var se=wa;function D(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])}}D.prototype.clear=re;D.prototype.delete=oe;D.prototype.get=ae;D.prototype.has=fe;D.prototype.set=se;var w=D;var _a=m(i,"Map"),_=_a;function Oa(){this.size=0,this.__data__={hash:new ct,map:new(_||w),string:new ct}}var ie=Oa;function Sa(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var pe=Sa;function Ia(t,e){var r=t.__data__;return pe(e)?r[typeof e=="string"?"string":"hash"]:r.map}var O=Ia;function Pa(t){var e=O(this,t).delete(t);return this.size-=e?1:0,e}var ne=Pa;function Ca(t){return O(this,t).get(t)}var le=Ca;function Ea(t){return O(this,t).has(t)}var me=Ea;function Ma(t,e){var r=O(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}var ue=Ma;function F(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])}}F.prototype.clear=ie;F.prototype.delete=ne;F.prototype.get=le;F.prototype.has=me;F.prototype.set=ue;var de=F;function La(t,e){for(var r=-1,o=e.length,p=t.length;++r<o;)t[p+r]=e[r];return t}var rt=La;var Ba=et(Object.getPrototypeOf,Object),ot=Ba;function Ra(){this.__data__=new w,this.size=0}var ce=Ra;function Da(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var xe=Da;function Fa(t){return this.__data__.get(t)}var ge=Fa;function Ua(t){return this.__data__.has(t)}var he=Ua;var Na=200;function Wa(t,e){var r=this.__data__;if(r instanceof w){var o=r.__data__;if(!_||o.length<Na-1)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new de(o)}return r.set(t,e),this.size=r.size,this}var ye=Wa;function U(t){var e=this.__data__=new w(t);this.size=e.size}U.prototype.clear=ce;U.prototype.delete=xe;U.prototype.get=ge;U.prototype.has=he;U.prototype.set=ye;var be=U;function Ga(t,e){return t&&T(e,L(e),t)}var ve=Ga;function za(t,e){return t&&T(e,B(e),t)}var je=za;var _e=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Te=_e&&typeof module=="object"&&module&&!module.nodeType&&module,Ka=Te&&Te.exports===_e,Ae=Ka?i.Buffer:void 0,we=Ae?Ae.allocUnsafe:void 0;function ka(t,e){if(e)return t.slice();var r=t.length,o=we?we(r):new t.constructor(r);return t.copy(o),o}var Oe=ka;function Va(t,e){for(var r=-1,o=t==null?0:t.length,p=0,n=[];++r<o;){var s=t[r];e(s,r,t)&&(n[p++]=s)}return n}var Se=Va;function qa(){return[]}var at=qa;var Ha=Object.prototype,$a=Ha.propertyIsEnumerable,Ie=Object.getOwnPropertySymbols,Ya=Ie?function(t){return t==null?[]:(t=Object(t),Se(Ie(t),function(e){return $a.call(t,e)}))}:at,N=Ya;function Ja(t,e){return T(t,N(t),e)}var Pe=Ja;var Xa=Object.getOwnPropertySymbols,Za=Xa?function(t){for(var e=[];t;)rt(e,N(t)),t=ot(t);return e}:at,ft=Za;function Qa(t,e){return T(t,ft(t),e)}var Ce=Qa;function tf(t,e,r){var o=e(t);return C(t)?o:rt(o,r(t))}var st=tf;function ef(t){return st(t,L,N)}var Ee=ef;function rf(t){return st(t,B,ft)}var Me=rf;var of=m(i,"DataView"),it=of;var af=m(i,"Promise"),pt=af;var ff=m(i,"Set"),nt=ff;var Le="[object Map]",sf="[object Object]",Be="[object Promise]",Re="[object Set]",De="[object WeakMap]",Fe="[object DataView]",pf=y(it),nf=y(_),lf=y(pt),mf=y(nt),uf=y(H),I=h;(it&&I(new it(new ArrayBuffer(1)))!=Fe||_&&I(new _)!=Le||pt&&I(pt.resolve())!=Be||nt&&I(new nt)!=Re||H&&I(new H)!=De)&&(I=function(t){var e=h(t),r=e==sf?t.constructor:void 0,o=r?y(r):"";if(o)switch(o){case pf:return Fe;case nf:return Le;case lf:return Be;case mf:return Re;case uf:return De}return e});var W=I;var df=Object.prototype,cf=df.hasOwnProperty;function xf(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&cf.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var Ue=xf;var gf=i.Uint8Array,xt=gf;function hf(t){var e=new t.constructor(t.byteLength);return new xt(e).set(new xt(t)),e}var G=hf;function yf(t,e){var r=e?G(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var Ne=yf;var bf=/\w*$/;function vf(t){var e=new t.constructor(t.source,bf.exec(t));return e.lastIndex=t.lastIndex,e}var We=vf;var Ge=g?g.prototype:void 0,ze=Ge?Ge.valueOf:void 0;function jf(t){return ze?Object(ze.call(t)):{}}var Ke=jf;function Tf(t,e){var r=e?G(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var ke=Tf;var Af="[object Boolean]",wf="[object Date]",_f="[object Map]",Of="[object Number]",Sf="[object RegExp]",If="[object Set]",Pf="[object String]",Cf="[object Symbol]",Ef="[object ArrayBuffer]",Mf="[object DataView]",Lf="[object Float32Array]",Bf="[object Float64Array]",Rf="[object Int8Array]",Df="[object Int16Array]",Ff="[object Int32Array]",Uf="[object Uint8Array]",Nf="[object Uint8ClampedArray]",Wf="[object Uint16Array]",Gf="[object Uint32Array]";function zf(t,e,r){var o=t.constructor;switch(e){case Ef:return G(t);case Af:case wf:return new o(+t);case Mf:return Ne(t,r);case Lf:case Bf:case Rf:case Df:case Ff:case Uf:case Nf:case Wf:case Gf:return ke(t,r);case _f:return new o;case Of:case Pf:return new o(t);case Sf:return We(t);case If:return new o;case Cf:return Ke(t)}}var Ve=zf;function Kf(t){return typeof t.constructor=="function"&&!E(t)?Mt(ot(t)):{}}var qe=Kf;var kf="[object Map]";function Vf(t){return c(t)&&W(t)==kf}var He=Vf;var $e=b&&b.isMap,qf=$e?M($e):He,Ye=qf;var Hf="[object Set]";function $f(t){return c(t)&&W(t)==Hf}var Je=$f;var Xe=b&&b.isSet,Yf=Xe?M(Xe):Je,Ze=Yf;var Jf=1,Xf=2,Zf=4,Qe="[object Arguments]",Qf="[object Array]",ts="[object Boolean]",es="[object Date]",rs="[object Error]",tr="[object Function]",os="[object GeneratorFunction]",as="[object Map]",fs="[object Number]",er="[object Object]",ss="[object RegExp]",is="[object Set]",ps="[object String]",ns="[object Symbol]",ls="[object WeakMap]",ms="[object ArrayBuffer]",us="[object DataView]",ds="[object Float32Array]",cs="[object Float64Array]",xs="[object Int8Array]",gs="[object Int16Array]",hs="[object Int32Array]",ys="[object Uint8Array]",bs="[object Uint8ClampedArray]",vs="[object Uint16Array]",js="[object Uint32Array]",a={};a[Qe]=a[Qf]=a[ms]=a[us]=a[ts]=a[es]=a[ds]=a[cs]=a[xs]=a[gs]=a[hs]=a[as]=a[fs]=a[er]=a[ss]=a[is]=a[ps]=a[ns]=a[ys]=a[bs]=a[vs]=a[js]=!0;a[rs]=a[tr]=a[ls]=!1;function lt(t,e,r,o,p,n){var s,l=e&Jf,u=e&Xf,d=e&Zf;if(r&&(s=p?r(t,o,p,n):r(t)),s!==void 0)return s;if(!x(t))return t;var bt=C(t);if(bt){if(s=Ue(t),!l)return Lt(t,s)}else{var P=W(t),vt=P==tr||P==os;if(Q(t))return Oe(t,l);if(P==er||P==Qe||vt&&!p){if(s=u||vt?{}:qe(t),!l)return u?Ce(t,je(s,t)):Pe(t,ve(s,t))}else{if(!a[P])return p?t:{};s=Ve(t,P,l)}}n||(n=new be);var jt=n.get(t);if(jt)return jt;n.set(t,s),Ze(t)?t.forEach(function(j){s.add(lt(j,e,r,j,t,n))}):Ye(t)&&t.forEach(function(j,S){s.set(S,lt(j,e,r,S,t,n))});var or=d?u?Me:Ee:u?B:L,Tt=bt?void 0:or(t);return Bt(Tt||t,function(j,S){Tt&&(S=j,j=t[S]),J(s,S,lt(j,e,r,S,t,n))}),s}var rr=lt;var Ts=1,As=4;function ws(t){return rr(t,Ts|As)}var gt=ws;var ht=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var yt=class{settings={devMode:!0,siteUrl:"http://localhost:5173/embed",restrictOrigin:"*"};dom={el:null,iframe:null,stylesheet:null};methods=["handshake","getUser","bindProject","getProject","getProjects","setActiveProject","requireProject","selectProject","getProjectState","applyProjectStatePatch","getProjectLibrary","setProjectLibrary"];plugins=[];send(e){let r=ht();return this.acceptPostboxes[r]={},this.acceptPostboxes[r].promise=new Promise((o,p)=>{Object.assign(this.acceptPostboxes[r],{resolve:o,reject:p}),this.sendRaw({id:r,...e})}),this.acceptPostboxes[r].promise}sendRaw(e){this.dom.iframe.contentWindow.postMessage({TERA:1,id:e.id||ht(),...gt(e)},this.settings.restrictOrigin)}rpc(e,...r){return this.send({action:"rpc",method:e,args:r})}acceptMessage(e){let r=e.data;if(!(!r.TERA||!r.id))if(this.debug("Recieved",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);else{if(r?.action=="rpc")return 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.toString()})});r?.id?this.debug(`Ignoring message ID ${r.id} - was meant for someone else?`):this.debug("Unexpected incoming TERA-FY CLIENT message",{message:r})}}acceptPostboxes={};constructor(e){Object.assign(this.settings,e)}toggleDevMode(e="toggle"){return this.settings.devMode=e==="toggle"?!this.settings.devMode:e,this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this}init(){return window.addEventListener("message",this.acceptMessage.bind(this)),this.injectMain(),this.injectStylesheet(),this.injectMethods(),Promise.all(this.plugins.map(e=>e.init()))}injectMain(){this.dom.el=document.createElement("div"),this.dom.el.id="tera-fy",this.dom.el.classList.toggle("dev-mode",this.settings.devMode),document.body.append(this.dom.el),this.dom.iframe=document.createElement("iframe"),this.dom.iframe.setAttribute("sandbox","allow-downloads allow-scripts allow-same-origin"),this.dom.iframe.addEventListener("load",()=>{this.debug("TERA EMBED FRAME READY")}),this.dom.iframe.src=this.settings.siteUrl,this.dom.el.append(this.dom.iframe)}injectStylesheet(){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;","&.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)}injectMethods(){this.methods.forEach(e=>this[e]=this.rpc.bind(this,e))}debug(...e){this.settings.devMode&&console.log("%c[TERA-FY CLIENT]","font-weight: bold; color: #ff5722;",...e)}set(e,r){return typeof e=="string"?this.settings[e]=r:Object.assign(this.settings,e),this.toggleDevMode(this.settings.devMode)}use(e,r){if(typeof e!="function")throw new Error("Expected use() call to be provided with a class initalizer");let o=new e(this,r);return this.plugins.push(o),this}toggleFocus(e="toggle"){return this.debug("Request focus",{isFocused:e}),globalThis.document.body.classList.toggle("tera-fy-focus",e==="toggle"?void 0:e),this}};export{yt as default};
1
+ function _t(t,e,r){if(!t||typeof t!="object"||!e||typeof e!="object")throw new Error("both arguments must be objects or arrays");r||(r=function(a){return a});function o({obj1:a,obj2:p,basePath:m,basePathForRemoves:j,diffs:h}){var y=Object.keys(a),b=y.length,c=Object.keys(p),R=c.length,g,v=a.length-p.length;if(lr(a,p)){for(var d=0;d<b;d++){var B=Array.isArray(a)?Number(y[d]):y[d];B in p||(g=j.concat(B),h.remove.push({op:"remove",path:r(g)}))}for(var d=0;d<R;d++){var B=Array.isArray(p)?Number(c[d]):c[d];i({key:B,obj1:a,obj2:p,path:m.concat(B),pathForRemoves:m.concat(B),diffs:h})}}else{for(var d=0;d<v;d++)g=j.concat(d),h.remove.push({op:"remove",path:r(g)});for(var nr=a.slice(v),d=0;d<R;d++)i({key:d,obj1:nr,obj2:p,path:m.concat(d),pathForRemoves:m.concat(d+v),diffs:h})}}var s={remove:[],replace:[],add:[]};return o({obj1:t,obj2:e,basePath:[],basePathForRemoves:[],diffs:s}),s.remove.reverse().concat(s.replace).concat(s.add);function i({key:a,obj1:p,obj2:m,path:j,pathForRemoves:h,diffs:y}){var b=p[a],c=m[a];if(!(a in p)&&a in m){var R=c;y.add.push({op:"add",path:r(j),value:R})}else b!==c&&(Object(b)!==b||Object(c)!==c||pr(b,c)||!Object.keys(b).length&&!Object.keys(c).length&&String(b)!=String(c)?f(j,y,c):o({obj1:p[a],obj2:m[a],basePath:j,basePathForRemoves:h,diffs:y}))}function f(a,p,m){p.replace.push({op:"replace",path:r(a),value:m})}}function Pt(t){return[""].concat(t).join("/")}function pr(t,e){return Object.prototype.toString.call(t)!=Object.prototype.toString.call(e)}function lr(t,e){var r=t.length-e.length;if(Array.isArray(t)&&Array.isArray(e)&&r>0){for(var o=0,s=0,i=0;i<e.length&&String(t[i])===String(e[i]);i++)o++;for(var f=e.length;f>0&&String(t[f+r])===String(e[f]);f--)s++;return o>=s}return!0}var mr=typeof global=="object"&&global&&global.Object===Object&&global,X=mr;var ur=typeof self=="object"&&self&&self.Object===Object&&self,dr=X||ur||Function("return this")(),u=dr;var cr=u.Symbol,A=cr;var St=Object.prototype,xr=St.hasOwnProperty,hr=St.toString,Y=A?A.toStringTag:void 0;function gr(t){var e=xr.call(t,Y),r=t[Y];try{t[Y]=void 0;var o=!0}catch{}var s=hr.call(t);return o&&(e?t[Y]=r:delete t[Y]),s}var It=gr;var yr=Object.prototype,br=yr.toString;function vr(t){return br.call(t)}var Ct=vr;var jr="[object Null]",wr="[object Undefined]",Et=A?A.toStringTag:void 0;function Tr(t){return t==null?t===void 0?wr:jr:Et&&Et in Object(t)?It(t):Ct(t)}var O=Tr;function Ar(t){return t!=null&&typeof t=="object"}var w=Ar;var Or=Array.isArray,D=Or;function _r(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var T=_r;var Pr="[object AsyncFunction]",Sr="[object Function]",Ir="[object GeneratorFunction]",Cr="[object Proxy]";function Er(t){if(!T(t))return!1;var e=O(t);return e==Sr||e==Ir||e==Pr||e==Cr}var Z=Er;var Lr=u["__core-js_shared__"],Q=Lr;var Lt=function(){var t=/[^.]+$/.exec(Q&&Q.keys&&Q.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function Mr(t){return!!Lt&&Lt in t}var Mt=Mr;var Rr=Function.prototype,Fr=Rr.toString;function Br(t){if(t!=null){try{return Fr.call(t)}catch{}try{return t+""}catch{}}return""}var _=Br;var Dr=/[\\^$.*+?()[\]{}|]/g,Nr=/^\[object .+?Constructor\]$/,Ur=Function.prototype,Wr=Object.prototype,Gr=Ur.toString,kr=Wr.hasOwnProperty,Kr=RegExp("^"+Gr.call(kr).replace(Dr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function zr(t){if(!T(t)||Mt(t))return!1;var e=Z(t)?Kr:Nr;return e.test(_(t))}var Rt=zr;function Vr(t,e){return t?.[e]}var Ft=Vr;function Hr(t,e){var r=Ft(t,e);return Rt(r)?r:void 0}var x=Hr;var qr=x(u,"WeakMap"),tt=qr;var Bt=Object.create,$r=function(){function t(){}return function(e){if(!T(e))return{};if(Bt)return Bt(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),Dt=$r;function Yr(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e}var Nt=Yr;var Jr=function(){try{var t=x(Object,"defineProperty");return t({},"",{}),t}catch{}}(),yt=Jr;function Xr(t,e){for(var r=-1,o=t==null?0:t.length;++r<o&&e(t[r],r,t)!==!1;);return t}var Ut=Xr;var Zr=9007199254740991,Qr=/^(?:0|[1-9]\d*)$/;function to(t,e){var r=typeof t;return e=e??Zr,!!e&&(r=="number"||r!="symbol"&&Qr.test(t))&&t>-1&&t%1==0&&t<e}var Wt=to;function eo(t,e,r){e=="__proto__"&&yt?yt(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var et=eo;function ro(t,e){return t===e||t!==t&&e!==e}var rt=ro;var oo=Object.prototype,ao=oo.hasOwnProperty;function fo(t,e,r){var o=t[e];(!(ao.call(t,e)&&rt(o,r))||r===void 0&&!(e in t))&&et(t,e,r)}var ot=fo;function so(t,e,r,o){var s=!r;r||(r={});for(var i=-1,f=e.length;++i<f;){var a=e[i],p=o?o(r[a],t[a],a,r,t):void 0;p===void 0&&(p=t[a]),s?et(r,a,p):ot(r,a,p)}return r}var I=so;var io=9007199254740991;function no(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=io}var at=no;function po(t){return t!=null&&at(t.length)&&!Z(t)}var ft=po;var lo=Object.prototype;function mo(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||lo;return t===r}var N=mo;function uo(t,e){for(var r=-1,o=Array(t);++r<t;)o[r]=e(r);return o}var Gt=uo;var co="[object Arguments]";function xo(t){return w(t)&&O(t)==co}var bt=xo;var kt=Object.prototype,ho=kt.hasOwnProperty,go=kt.propertyIsEnumerable,yo=bt(function(){return arguments}())?bt:function(t){return w(t)&&ho.call(t,"callee")&&!go.call(t,"callee")},Kt=yo;function bo(){return!1}var zt=bo;var qt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Vt=qt&&typeof module=="object"&&module&&!module.nodeType&&module,vo=Vt&&Vt.exports===qt,Ht=vo?u.Buffer:void 0,jo=Ht?Ht.isBuffer:void 0,wo=jo||zt,st=wo;var To="[object Arguments]",Ao="[object Array]",Oo="[object Boolean]",_o="[object Date]",Po="[object Error]",So="[object Function]",Io="[object Map]",Co="[object Number]",Eo="[object Object]",Lo="[object RegExp]",Mo="[object Set]",Ro="[object String]",Fo="[object WeakMap]",Bo="[object ArrayBuffer]",Do="[object DataView]",No="[object Float32Array]",Uo="[object Float64Array]",Wo="[object Int8Array]",Go="[object Int16Array]",ko="[object Int32Array]",Ko="[object Uint8Array]",zo="[object Uint8ClampedArray]",Vo="[object Uint16Array]",Ho="[object Uint32Array]",l={};l[No]=l[Uo]=l[Wo]=l[Go]=l[ko]=l[Ko]=l[zo]=l[Vo]=l[Ho]=!0;l[To]=l[Ao]=l[Bo]=l[Oo]=l[Do]=l[_o]=l[Po]=l[So]=l[Io]=l[Co]=l[Eo]=l[Lo]=l[Mo]=l[Ro]=l[Fo]=!1;function qo(t){return w(t)&&at(t.length)&&!!l[O(t)]}var $t=qo;function $o(t){return function(e){return t(e)}}var U=$o;var Yt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,J=Yt&&typeof module=="object"&&module&&!module.nodeType&&module,Yo=J&&J.exports===Yt,vt=Yo&&X.process,Jo=function(){try{var t=J&&J.require&&J.require("util").types;return t||vt&&vt.binding&&vt.binding("util")}catch{}}(),P=Jo;var Jt=P&&P.isTypedArray,Xo=Jt?U(Jt):$t,Xt=Xo;var Zo=Object.prototype,Qo=Zo.hasOwnProperty;function ta(t,e){var r=D(t),o=!r&&Kt(t),s=!r&&!o&&st(t),i=!r&&!o&&!s&&Xt(t),f=r||o||s||i,a=f?Gt(t.length,String):[],p=a.length;for(var m in t)(e||Qo.call(t,m))&&!(f&&(m=="length"||s&&(m=="offset"||m=="parent")||i&&(m=="buffer"||m=="byteLength"||m=="byteOffset")||Wt(m,p)))&&a.push(m);return a}var it=ta;function ea(t,e){return function(r){return t(e(r))}}var nt=ea;var ra=nt(Object.keys,Object),Zt=ra;var oa=Object.prototype,aa=oa.hasOwnProperty;function fa(t){if(!N(t))return Zt(t);var e=[];for(var r in Object(t))aa.call(t,r)&&r!="constructor"&&e.push(r);return e}var Qt=fa;function sa(t){return ft(t)?it(t):Qt(t)}var W=sa;function ia(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var te=ia;var na=Object.prototype,pa=na.hasOwnProperty;function la(t){if(!T(t))return te(t);var e=N(t),r=[];for(var o in t)o=="constructor"&&(e||!pa.call(t,o))||r.push(o);return r}var ee=la;function ma(t){return ft(t)?it(t,!0):ee(t)}var G=ma;var ua=x(Object,"create"),S=ua;function da(){this.__data__=S?S(null):{},this.size=0}var re=da;function ca(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var oe=ca;var xa="__lodash_hash_undefined__",ha=Object.prototype,ga=ha.hasOwnProperty;function ya(t){var e=this.__data__;if(S){var r=e[t];return r===xa?void 0:r}return ga.call(e,t)?e[t]:void 0}var ae=ya;var ba=Object.prototype,va=ba.hasOwnProperty;function ja(t){var e=this.__data__;return S?e[t]!==void 0:va.call(e,t)}var fe=ja;var wa="__lodash_hash_undefined__";function Ta(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=S&&e===void 0?wa:e,this}var se=Ta;function k(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])}}k.prototype.clear=re;k.prototype.delete=oe;k.prototype.get=ae;k.prototype.has=fe;k.prototype.set=se;var jt=k;function Aa(){this.__data__=[],this.size=0}var ie=Aa;function Oa(t,e){for(var r=t.length;r--;)if(rt(t[r][0],e))return r;return-1}var C=Oa;var _a=Array.prototype,Pa=_a.splice;function Sa(t){var e=this.__data__,r=C(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():Pa.call(e,r,1),--this.size,!0}var ne=Sa;function Ia(t){var e=this.__data__,r=C(e,t);return r<0?void 0:e[r][1]}var pe=Ia;function Ca(t){return C(this.__data__,t)>-1}var le=Ca;function Ea(t,e){var r=this.__data__,o=C(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}var me=Ea;function K(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])}}K.prototype.clear=ie;K.prototype.delete=ne;K.prototype.get=pe;K.prototype.has=le;K.prototype.set=me;var E=K;var La=x(u,"Map"),L=La;function Ma(){this.size=0,this.__data__={hash:new jt,map:new(L||E),string:new jt}}var ue=Ma;function Ra(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var de=Ra;function Fa(t,e){var r=t.__data__;return de(e)?r[typeof e=="string"?"string":"hash"]:r.map}var M=Fa;function Ba(t){var e=M(this,t).delete(t);return this.size-=e?1:0,e}var ce=Ba;function Da(t){return M(this,t).get(t)}var xe=Da;function Na(t){return M(this,t).has(t)}var he=Na;function Ua(t,e){var r=M(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}var ge=Ua;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=ue;z.prototype.delete=ce;z.prototype.get=xe;z.prototype.has=he;z.prototype.set=ge;var ye=z;function Wa(t,e){for(var r=-1,o=e.length,s=t.length;++r<o;)t[s+r]=e[r];return t}var pt=Wa;var Ga=nt(Object.getPrototypeOf,Object),lt=Ga;function ka(){this.__data__=new E,this.size=0}var be=ka;function Ka(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var ve=Ka;function za(t){return this.__data__.get(t)}var je=za;function Va(t){return this.__data__.has(t)}var we=Va;var Ha=200;function qa(t,e){var r=this.__data__;if(r instanceof E){var o=r.__data__;if(!L||o.length<Ha-1)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new ye(o)}return r.set(t,e),this.size=r.size,this}var Te=qa;function V(t){var e=this.__data__=new E(t);this.size=e.size}V.prototype.clear=be;V.prototype.delete=ve;V.prototype.get=je;V.prototype.has=we;V.prototype.set=Te;var Ae=V;function $a(t,e){return t&&I(e,W(e),t)}var Oe=$a;function Ya(t,e){return t&&I(e,G(e),t)}var _e=Ya;var Ce=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pe=Ce&&typeof module=="object"&&module&&!module.nodeType&&module,Ja=Pe&&Pe.exports===Ce,Se=Ja?u.Buffer:void 0,Ie=Se?Se.allocUnsafe:void 0;function Xa(t,e){if(e)return t.slice();var r=t.length,o=Ie?Ie(r):new t.constructor(r);return t.copy(o),o}var Ee=Xa;function Za(t,e){for(var r=-1,o=t==null?0:t.length,s=0,i=[];++r<o;){var f=t[r];e(f,r,t)&&(i[s++]=f)}return i}var Le=Za;function Qa(){return[]}var mt=Qa;var tf=Object.prototype,ef=tf.propertyIsEnumerable,Me=Object.getOwnPropertySymbols,rf=Me?function(t){return t==null?[]:(t=Object(t),Le(Me(t),function(e){return ef.call(t,e)}))}:mt,H=rf;function of(t,e){return I(t,H(t),e)}var Re=of;var af=Object.getOwnPropertySymbols,ff=af?function(t){for(var e=[];t;)pt(e,H(t)),t=lt(t);return e}:mt,ut=ff;function sf(t,e){return I(t,ut(t),e)}var Fe=sf;function nf(t,e,r){var o=e(t);return D(t)?o:pt(o,r(t))}var dt=nf;function pf(t){return dt(t,W,H)}var Be=pf;function lf(t){return dt(t,G,ut)}var De=lf;var mf=x(u,"DataView"),ct=mf;var uf=x(u,"Promise"),xt=uf;var df=x(u,"Set"),ht=df;var Ne="[object Map]",cf="[object Object]",Ue="[object Promise]",We="[object Set]",Ge="[object WeakMap]",ke="[object DataView]",xf=_(ct),hf=_(L),gf=_(xt),yf=_(ht),bf=_(tt),F=O;(ct&&F(new ct(new ArrayBuffer(1)))!=ke||L&&F(new L)!=Ne||xt&&F(xt.resolve())!=Ue||ht&&F(new ht)!=We||tt&&F(new tt)!=Ge)&&(F=function(t){var e=O(t),r=e==cf?t.constructor:void 0,o=r?_(r):"";if(o)switch(o){case xf:return ke;case hf:return Ne;case gf:return Ue;case yf:return We;case bf:return Ge}return e});var q=F;var vf=Object.prototype,jf=vf.hasOwnProperty;function wf(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&jf.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var Ke=wf;var Tf=u.Uint8Array,wt=Tf;function Af(t){var e=new t.constructor(t.byteLength);return new wt(e).set(new wt(t)),e}var $=Af;function Of(t,e){var r=e?$(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var ze=Of;var _f=/\w*$/;function Pf(t){var e=new t.constructor(t.source,_f.exec(t));return e.lastIndex=t.lastIndex,e}var Ve=Pf;var He=A?A.prototype:void 0,qe=He?He.valueOf:void 0;function Sf(t){return qe?Object(qe.call(t)):{}}var $e=Sf;function If(t,e){var r=e?$(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var Ye=If;var Cf="[object Boolean]",Ef="[object Date]",Lf="[object Map]",Mf="[object Number]",Rf="[object RegExp]",Ff="[object Set]",Bf="[object String]",Df="[object Symbol]",Nf="[object ArrayBuffer]",Uf="[object DataView]",Wf="[object Float32Array]",Gf="[object Float64Array]",kf="[object Int8Array]",Kf="[object Int16Array]",zf="[object Int32Array]",Vf="[object Uint8Array]",Hf="[object Uint8ClampedArray]",qf="[object Uint16Array]",$f="[object Uint32Array]";function Yf(t,e,r){var o=t.constructor;switch(e){case Nf:return $(t);case Cf:case Ef:return new o(+t);case Uf:return ze(t,r);case Wf:case Gf:case kf:case Kf:case zf:case Vf:case Hf:case qf:case $f:return Ye(t,r);case Lf:return new o;case Mf:case Bf:return new o(t);case Rf:return Ve(t);case Ff:return new o;case Df:return $e(t)}}var Je=Yf;function Jf(t){return typeof t.constructor=="function"&&!N(t)?Dt(lt(t)):{}}var Xe=Jf;var Xf="[object Map]";function Zf(t){return w(t)&&q(t)==Xf}var Ze=Zf;var Qe=P&&P.isMap,Qf=Qe?U(Qe):Ze,tr=Qf;var ts="[object Set]";function es(t){return w(t)&&q(t)==ts}var er=es;var rr=P&&P.isSet,rs=rr?U(rr):er,or=rs;var os=1,as=2,fs=4,ar="[object Arguments]",ss="[object Array]",is="[object Boolean]",ns="[object Date]",ps="[object Error]",fr="[object Function]",ls="[object GeneratorFunction]",ms="[object Map]",us="[object Number]",sr="[object Object]",ds="[object RegExp]",cs="[object Set]",xs="[object String]",hs="[object Symbol]",gs="[object WeakMap]",ys="[object ArrayBuffer]",bs="[object DataView]",vs="[object Float32Array]",js="[object Float64Array]",ws="[object Int8Array]",Ts="[object Int16Array]",As="[object Int32Array]",Os="[object Uint8Array]",_s="[object Uint8ClampedArray]",Ps="[object Uint16Array]",Ss="[object Uint32Array]",n={};n[ar]=n[ss]=n[ys]=n[bs]=n[is]=n[ns]=n[vs]=n[js]=n[ws]=n[Ts]=n[As]=n[ms]=n[us]=n[sr]=n[ds]=n[cs]=n[xs]=n[hs]=n[Os]=n[_s]=n[Ps]=n[Ss]=!0;n[ps]=n[fr]=n[gs]=!1;function gt(t,e,r,o,s,i){var f,a=e&os,p=e&as,m=e&fs;if(r&&(f=s?r(t,o,s,i):r(t)),f!==void 0)return f;if(!T(t))return t;var j=D(t);if(j){if(f=Ke(t),!a)return Nt(t,f)}else{var h=q(t),y=h==fr||h==ls;if(st(t))return Ee(t,a);if(h==sr||h==ar||y&&!s){if(f=p||y?{}:Xe(t),!a)return p?Fe(t,_e(f,t)):Re(t,Oe(f,t))}else{if(!n[h])return s?t:{};f=Je(t,h,a)}}i||(i=new Ae);var b=i.get(t);if(b)return b;i.set(t,f),or(t)?t.forEach(function(g){f.add(gt(g,e,r,g,t,i))}):tr(t)&&t.forEach(function(g,v){f.set(v,gt(g,e,r,v,t,i))});var c=m?p?De:Be:p?G:W,R=j?void 0:c(t);return Ut(R||t,function(g,v){R&&(v=g,g=t[v]),ot(f,v,gt(g,e,r,v,t,i))}),f}var ir=gt;var Is=1,Cs=4;function Es(t){return ir(t,Is|Cs)}var Tt=Es;var At=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var Ot=class{settings={devMode:!0,mode:"detect",modeTimeout:300,siteUrl:"https://tera-tools.com/embed",restrictOrigin:"*"};dom={el:null,iframe:null,stylesheet:null};methods=["handshake","getUser","bindProject","getProject","getProjects","setActiveProject","requireProject","selectProject","getProjectState","applyProjectStatePatch","subscribeProjectState","getProjectFiles","getProjectLibrary","setProjectLibrary"];plugins=[];send(e){let r=At();return this.acceptPostboxes[r]={},this.acceptPostboxes[r].promise=new Promise((o,s)=>{Object.assign(this.acceptPostboxes[r],{resolve:o,reject:s}),this.sendRaw({id:r,...e})}),this.acceptPostboxes[r].promise}sendRaw(e){let r;try{if(r={TERA:1,id:e.id||At(),...Tt(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 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","Message compose client->server:",o),this.debug("ERROR","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;let r=e.data;if(!(!r.TERA||!r.id))if(this.debug("Recieved",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);else{if(r?.action=="rpc")return 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.toString()})});r?.id?this.debug(`Ignoring message ID ${r.id} - was meant for someone else?`):this.debug("Unexpected incoming TERA-FY CLIENT message",{message:r})}}acceptPostboxes={};createProjectStatePatch(e,r){let o=_t(r,e,Pt);return this.debug("INFO","Created project patch",{newState:e,oldState:r}),this.applyProjectStatePatch(o)}applyProjectStatePatchLocal(e){return this.debug("WARN","Accepted project patch",e,"but applyProjectStatePatchLocal() has not been sub-classed"),Promise.resolve()}constructor(e){e&&this.set(e)}init(e){if(e&&this.set(e),this.init.promise)return this.init.promise;window.addEventListener("message",this.acceptMessage.bind(this));let r=this;return this.init.promise=Promise.resolve().then(()=>this.detectMode()).then(o=>this.settings.mode=o).then(()=>Promise.all([this.injectComms(),this.injectStylesheet(),this.injectMethods()])).then(()=>Promise.all(this.plugins.map(o=>o.init.call(r))))}detectMode(){return this.settings.mode!="detect"?this.settings.mode:window.self===window.parent?"child":Promise.resolve().then(()=>this.settings.mode="parent").then(()=>new Promise((e,r)=>{let o=setTimeout(()=>r(),this.settings.modeTimeout);this.rpc("handshake").then(()=>clearTimeout(o)).then(()=>e())})).then(()=>"parent").catch(()=>"child")}injectComms(){return new Promise(e=>{switch(this.settings.mode){case"child":this.dom.el=document.createElement("div"),this.dom.el.id="tera-fy",this.dom.el.classList.toggle("dev-mode",this.settings.devMode),document.body.append(this.dom.el),this.dom.iframe=document.createElement("iframe"),this.dom.iframe.setAttribute("sandbox","allow-downloads allow-scripts allow-same-origin"),this.dom.iframe.addEventListener("load",()=>{this.debug("Embed frame ready"),e()}),this.dom.iframe.src=this.settings.siteUrl,this.dom.el.append(this.dom.iframe);break;case"parent":e();break;default:throw new Error(`Unsupported mode "${this.settings.mode}" when calling injectComms()`)}})}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;","&.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":break;default:throw new Error(`Unsupported mode "${this.settings.mode}" when injectStylesheet()`)}}injectMethods(){this.methods.forEach(e=>this[e]=this.rpc.bind(this,e))}debug(...e){let r="log";typeof e[0]=="string"&&["INFO","LOG","WARN","ERROR"].includes(e[0])&&(r=e.shift().toLowerCase()),!(["INFO","LOG"].includes(r)&&!this.settings.devMode)&&console[r]("%c[TERA-FY CLIENT]","font-weight: bold; color: #ff5722;",...e)}set(e,r){return typeof e=="string"?this.settings[e]=r:Object.assign(this.settings,e),this.toggleDevMode(this.settings.devMode)}use(e,r){if(typeof e!="function")throw new Error("Expected use() call to be provided with a class initalizer");let o=new e(this,r);return this.mixin(this,o),this.plugins.push(o),this}mixin(e,r){Object.getOwnPropertyNames(Object.getPrototypeOf(r)).filter(o=>!["constructor","prototype","name"].includes(o)).filter(o=>o!="init").forEach(o=>{Object.defineProperty(e,o,{value:r[o].bind(e),enumerable:!1})})}toggleDevMode(e="toggle"){return this.settings.devMode=e==="toggle"?!this.settings.devMode:e,this.dom.el&&this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this}toggleFocus(e="toggle"){this.debug("Request focus",{isFocused:e}),globalThis.document.body.classList.toggle("tera-fy-focus",e==="toggle"?void 0:e)}};export{Ot as default};
3
3
  /*! Bundled license information:
4
4
 
5
5
  lodash-es/lodash.js: