@iebh/tera-fy 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.ignore ADDED
@@ -0,0 +1 @@
1
+ dist/
package/README.md CHANGED
@@ -3,5 +3,4 @@ TERA-fy
3
3
  TERA website worker.
4
4
 
5
5
  * [API workbench](https://iebh.github.io/TERA-fy/)
6
- * [TERA-fy Client](./docs/terafy.client.md)
7
- * [TERA-fy Server](./docs/terafy.server.md)
6
+ * [TERA-fy Class API](./api.md)
@@ -1,17 +1,66 @@
1
1
  ## Classes
2
2
 
3
3
  <dl>
4
+ <dt><a href="#TeraFy">TeraFy</a></dt>
5
+ <dd></dd>
4
6
  <dt><a href="#TeraFyServer">TeraFyServer</a></dt>
5
7
  <dd></dd>
6
8
  <dt><a href="#User">User</a></dt>
7
9
  <dd></dd>
8
10
  <dt><a href="#Project">Project</a></dt>
9
11
  <dd></dd>
12
+ <dt><a href="#TeraFyPlugin">TeraFyPlugin</a></dt>
13
+ <dd></dd>
14
+ <dt><a href="#TeraFyPluginVue">TeraFyPluginVue</a></dt>
15
+ <dd></dd>
10
16
  </dl>
11
17
 
12
18
  ## Functions
13
19
 
14
20
  <dl>
21
+ <dt><a href="#send">send(message)</a> ⇒ <code>Promise.&lt;*&gt;</code></dt>
22
+ <dd><p>Send a message + wait for a response object</p>
23
+ </dd>
24
+ <dt><a href="#sendRaw">sendRaw(message)</a></dt>
25
+ <dd><p>Send raw message content to the server
26
+ This function does not return or wait for a reply - use <code>send()</code> for that</p>
27
+ </dd>
28
+ <dt><a href="#rpc">rpc(method)</a> ⇒ <code>Promise.&lt;*&gt;</code></dt>
29
+ <dd><p>Call an RPC function in the server instance</p>
30
+ </dd>
31
+ <dt><a href="#acceptMessage">acceptMessage(Raw)</a></dt>
32
+ <dd><p>Accept an incoming message</p>
33
+ </dd>
34
+ <dt><a href="#toggleDevMode">toggleDevMode([devModeEnabled])</a> ⇒ <code><a href="#TeraFy">TeraFy</a></code></dt>
35
+ <dd><p>Set or toggle devMode</p>
36
+ </dd>
37
+ <dt><a href="#init">init()</a></dt>
38
+ <dd><p>Initalize the TERA client singleton</p>
39
+ </dd>
40
+ <dt><a href="#injectMain">injectMain()</a></dt>
41
+ <dd><p>Find an existing active TERA server OR initalize one</p>
42
+ </dd>
43
+ <dt><a href="#injectStylesheet">injectStylesheet()</a></dt>
44
+ <dd><p>Inject a local stylesheet to handle TERA server functionality</p>
45
+ </dd>
46
+ <dt><a href="#injectMethods">injectMethods()</a></dt>
47
+ <dd><p>Inject all server methods defined in <code>methods</code> as local functions wrapped in the <code>rpc</code> function</p>
48
+ </dd>
49
+ <dt><a href="#debug">debug()</a></dt>
50
+ <dd><p>Debugging output function
51
+ This function will only act if <code>settings.devMode</code> is truthy</p>
52
+ </dd>
53
+ <dt><a href="#set">set(key, value)</a> ⇒ <code><a href="#TeraFy">TeraFy</a></code></dt>
54
+ <dd><p>Set or merge settings
55
+ This function also routes &#39;special&#39; keys like <code>devMode</code> to their internal handlers</p>
56
+ </dd>
57
+ <dt><a href="#use">use(The, [options])</a> ⇒ <code><a href="#TeraFy">TeraFy</a></code></dt>
58
+ <dd><p>Include a TeraFy client plugin</p>
59
+ </dd>
60
+ <dt><a href="#toggleFocus">toggleFocus([isFocused])</a> ⇒ <code><a href="#TeraFy">TeraFy</a></code></dt>
61
+ <dd><p>Fit the nested TERA server to a full-screen
62
+ This is usually because the server component wants to perform some user activity like calling $prompt</p>
63
+ </dd>
15
64
  <dt><a href="#createContext">createContext(e)</a> ⇒ <code>Object</code></dt>
16
65
  <dd><p>Create a context based on a shallow copy of this instance + additional functionality for the incoming MessageEvent
17
66
  This is used by acceptMessage to provide a means to reply / send messages to the originator</p>
@@ -56,7 +105,7 @@ Note that this function will percist in asking the uesr even if they try to canc
56
105
  <dt><a href="#selectProject">selectProject([options])</a> ⇒ <code><a href="#Project">Promise.&lt;Project&gt;</a></code></dt>
57
106
  <dd><p>Prompt the user to select a project from those available</p>
58
107
  </dd>
59
- <dt><a href="#getProjectStateSnapshot">getProjectStateSnapshot([options], Paths)</a> ⇒ <code>Promise.&lt;Object&gt;</code></dt>
108
+ <dt><a href="#getProjectState">getProjectState([options], Paths)</a> ⇒ <code>Promise.&lt;Object&gt;</code></dt>
60
109
  <dd><p>Return the current, full snapshot state of the active project</p>
61
110
  </dd>
62
111
  <dt><a href="#applyProjectStatePatch">applyProjectStatePatch()</a></dt>
@@ -75,8 +124,23 @@ Note that this function will percist in asking the uesr even if they try to canc
75
124
  <dd><p>Debugging output function
76
125
  This function will only act if <code>settings.devMode</code> is truthy</p>
77
126
  </dd>
127
+ <dt><a href="#init">init()</a></dt>
128
+ <dd><p>Optional function to be included when the main TeraFyClient is initalized</p>
129
+ </dd>
130
+ <dt><a href="#bindProjectState">bindProjectState([options], Paths)</a> ⇒ <code>Promies.&lt;Reactive.&lt;Object&gt;&gt;</code></dt>
131
+ <dd><p>Return a Vue reactive object that can be read/written which whose changes will transparently be written back to the TERA server instance</p>
132
+ </dd>
78
133
  </dl>
79
134
 
135
+ <a name="TeraFy"></a>
136
+
137
+ ## TeraFy
138
+ **Kind**: global class
139
+ <a name="new_TeraFy_new"></a>
140
+
141
+ ### new TeraFy()
142
+ Main Tera-Fy Client (class singleton) to be used in a frontend browser
143
+
80
144
  <a name="TeraFyServer"></a>
81
145
 
82
146
  ## TeraFyServer
@@ -122,6 +186,164 @@ User / active session within TERA
122
186
  ### new Project()
123
187
  Project entry within TERA
124
188
 
189
+ <a name="TeraFyPlugin"></a>
190
+
191
+ ## TeraFyPlugin
192
+ **Kind**: global class
193
+ <a name="new_TeraFyPlugin_new"></a>
194
+
195
+ ### new TeraFyPlugin()
196
+ Base TeraFy plugin interface
197
+ This is included as a documentation exanple only
198
+
199
+ <a name="TeraFyPluginVue"></a>
200
+
201
+ ## TeraFyPluginVue
202
+ **Kind**: global class
203
+ <a name="new_TeraFyPluginVue_new"></a>
204
+
205
+ ### new TeraFyPluginVue()
206
+ Vue observables plugin
207
+ Provides the `bindProjectState()` function for Vue based projects
208
+
209
+ This function is expected to be included via the `terafy.use(MODULE, OPTIONS)` syntax rather than directly
210
+
211
+ <a name="send"></a>
212
+
213
+ ## send(message) ⇒ <code>Promise.&lt;\*&gt;</code>
214
+ Send a message + wait for a response object
215
+
216
+ **Kind**: global function
217
+ **Returns**: <code>Promise.&lt;\*&gt;</code> - A promise which resolves when the operation has completed with the remote reply
218
+
219
+ | Param | Type | Description |
220
+ | --- | --- | --- |
221
+ | message | <code>Object</code> | Message object to send |
222
+
223
+ <a name="sendRaw"></a>
224
+
225
+ ## sendRaw(message)
226
+ Send raw message content to the server
227
+ This function does not return or wait for a reply - use `send()` for that
228
+
229
+ **Kind**: global function
230
+
231
+ | Param | Type | Description |
232
+ | --- | --- | --- |
233
+ | message | <code>Object</code> | Message object to send |
234
+
235
+ <a name="rpc"></a>
236
+
237
+ ## rpc(method) ⇒ <code>Promise.&lt;\*&gt;</code>
238
+ Call an RPC function in the server instance
239
+
240
+ **Kind**: global function
241
+ **Returns**: <code>Promise.&lt;\*&gt;</code> - The resolved output of the server function
242
+
243
+ | Param | Type | Description |
244
+ | --- | --- | --- |
245
+ | method | <code>String</code> | The method name to call |
246
+ | [...] | <code>\*</code> | Optional arguments to pass to the function |
247
+
248
+ <a name="acceptMessage"></a>
249
+
250
+ ## acceptMessage(Raw)
251
+ Accept an incoming message
252
+
253
+ **Kind**: global function
254
+
255
+ | Param | Type | Description |
256
+ | --- | --- | --- |
257
+ | Raw | <code>MessageEvent</code> | message event to process |
258
+
259
+ <a name="toggleDevMode"></a>
260
+
261
+ ## toggleDevMode([devModeEnabled]) ⇒ [<code>TeraFy</code>](#TeraFy)
262
+ Set or toggle devMode
263
+
264
+ **Kind**: global function
265
+ **Returns**: [<code>TeraFy</code>](#TeraFy) - This chainable terafy instance
266
+
267
+ | Param | Type | Default | Description |
268
+ | --- | --- | --- | --- |
269
+ | [devModeEnabled] | <code>String</code> \| <code>Boolean</code> | <code>&#x27;toggle&#x27;</code> | Optional boolean to force dev mode |
270
+
271
+ <a name="init"></a>
272
+
273
+ ## init()
274
+ Initalize the TERA client singleton
275
+
276
+ **Kind**: global function
277
+ <a name="injectMain"></a>
278
+
279
+ ## injectMain()
280
+ Find an existing active TERA server OR initalize one
281
+
282
+ **Kind**: global function
283
+ <a name="injectStylesheet"></a>
284
+
285
+ ## injectStylesheet()
286
+ Inject a local stylesheet to handle TERA server functionality
287
+
288
+ **Kind**: global function
289
+ <a name="injectMethods"></a>
290
+
291
+ ## injectMethods()
292
+ Inject all server methods defined in `methods` as local functions wrapped in the `rpc` function
293
+
294
+ **Kind**: global function
295
+ <a name="debug"></a>
296
+
297
+ ## debug()
298
+ Debugging output function
299
+ This function will only act if `settings.devMode` is truthy
300
+
301
+ **Kind**: global function
302
+
303
+ | Param | Type | Description |
304
+ | --- | --- | --- |
305
+ | [msg...] | <code>String</code> | Output to show |
306
+
307
+ <a name="set"></a>
308
+
309
+ ## set(key, value) ⇒ [<code>TeraFy</code>](#TeraFy)
310
+ Set or merge settings
311
+ This function also routes 'special' keys like `devMode` to their internal handlers
312
+
313
+ **Kind**: global function
314
+ **Returns**: [<code>TeraFy</code>](#TeraFy) - This chainable terafy instance
315
+
316
+ | Param | Type | Description |
317
+ | --- | --- | --- |
318
+ | key | <code>String</code> \| <code>Object</code> | Either a single setting key to set or an object to merge |
319
+ | value | <code>\*</code> | The value to set if `key` is a string |
320
+
321
+ <a name="use"></a>
322
+
323
+ ## use(The, [options]) ⇒ [<code>TeraFy</code>](#TeraFy)
324
+ Include a TeraFy client plugin
325
+
326
+ **Kind**: global function
327
+ **Returns**: [<code>TeraFy</code>](#TeraFy) - This chainable terafy instance
328
+
329
+ | Param | Type | Description |
330
+ | --- | --- | --- |
331
+ | The | <code>Object</code> | module function to include. Invoked as `(teraClient:TeraFy, options:Object)` |
332
+ | [options] | <code>Object</code> | Additional options to mutate behaviour |
333
+
334
+ <a name="toggleFocus"></a>
335
+
336
+ ## toggleFocus([isFocused]) ⇒ [<code>TeraFy</code>](#TeraFy)
337
+ Fit the nested TERA server to a full-screen
338
+ This is usually because the server component wants to perform some user activity like calling $prompt
339
+
340
+ **Kind**: global function
341
+ **Returns**: [<code>TeraFy</code>](#TeraFy) - This chainable terafy instance
342
+
343
+ | Param | Type | Default | Description |
344
+ | --- | --- | --- | --- |
345
+ | [isFocused] | <code>String</code> \| <code>Boolean</code> | <code>&#x27;toggle&#x27;</code> | Whether to fullscreen the embedded component |
346
+
125
347
  <a name="createContext"></a>
126
348
 
127
349
  ## createContext(e) ⇒ <code>Object</code>
@@ -273,9 +495,9 @@ Prompt the user to select a project from those available
273
495
  | [options.title] | <code>String</code> | <code>&quot;Select a project to work with&quot;</code> | The title of the dialog to display |
274
496
  | [options.allowCancel] | <code>Boolean</code> | <code>true</code> | Advertise cancelling the operation, the dialog can still be cancelled by closing it |
275
497
 
276
- <a name="getProjectStateSnapshot"></a>
498
+ <a name="getProjectState"></a>
277
499
 
278
- ## getProjectStateSnapshot([options], Paths) ⇒ <code>Promise.&lt;Object&gt;</code>
500
+ ## getProjectState([options], Paths) ⇒ <code>Promise.&lt;Object&gt;</code>
279
501
  Return the current, full snapshot state of the active project
280
502
 
281
503
  **Kind**: global function
@@ -341,3 +563,24 @@ This function will only act if `settings.devMode` is truthy
341
563
  | --- | --- | --- |
342
564
  | [msg...] | <code>String</code> | Output to show |
343
565
 
566
+ <a name="init"></a>
567
+
568
+ ## init()
569
+ Optional function to be included when the main TeraFyClient is initalized
570
+
571
+ **Kind**: global function
572
+ <a name="bindProjectState"></a>
573
+
574
+ ## bindProjectState([options], Paths) ⇒ <code>Promies.&lt;Reactive.&lt;Object&gt;&gt;</code>
575
+ Return a Vue reactive object that can be read/written which whose changes will transparently be written back to the TERA server instance
576
+
577
+ **Kind**: global function
578
+ **Returns**: <code>Promies.&lt;Reactive.&lt;Object&gt;&gt;</code> - A reactive object representing the project state
579
+
580
+ | Param | Type | Default | Description |
581
+ | --- | --- | --- | --- |
582
+ | [options] | <code>Object</code> | | Additional options to mutate behaviour |
583
+ | [options.autoRequire] | <code>Boolean</code> | <code>true</code> | Run `requireProject()` automatically before continuing |
584
+ | [options.write] | <code>Boolean</code> | <code>true</code> | Allow local reactivity to writes - send these to the server |
585
+ | Paths | <code>Array.&lt;String&gt;</code> | | to subscribe to e.g. ['/users/'], |
586
+
package/dist/terafy.js CHANGED
@@ -1,6 +1,5 @@
1
- var an=typeof global=="object"&&global&&global.Object===Object&&global,Re=an;var ln=typeof self=="object"&&self&&self.Object===Object&&self,cn=Re||ln||Function("return this")(),h=cn;var fn=h.Symbol,A=fn;var Lt=Object.prototype,un=Lt.hasOwnProperty,pn=Lt.toString,Oe=A?A.toStringTag:void 0;function dn(e){var t=un.call(e,Oe),r=e[Oe];try{e[Oe]=void 0;var o=!0}catch{}var n=pn.call(e);return o&&(t?e[Oe]=r:delete e[Oe]),n}var Ut=dn;var mn=Object.prototype,hn=mn.toString;function gn(e){return hn.call(e)}var Bt=gn;var yn="[object Null]",_n="[object Undefined]",Ht=A?A.toStringTag:void 0;function xn(e){return e==null?e===void 0?_n:yn:Ht&&Ht in Object(e)?Ut(e):Bt(e)}var k=xn;function vn(e){return e!=null&&typeof e=="object"}var D=vn;var En=Array.isArray,ne=En;function bn(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var C=bn;var Nn="[object AsyncFunction]",On="[object Function]",wn="[object GeneratorFunction]",Tn="[object Proxy]";function Dn(e){if(!C(e))return!1;var t=k(e);return t==On||t==wn||t==Nn||t==Tn}var Ie=Dn;var Cn=h["__core-js_shared__"],je=Cn;var Kt=function(){var e=/[^.]+$/.exec(je&&je.keys&&je.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Vn(e){return!!Kt&&Kt in e}var Wt=Vn;var An=Function.prototype,kn=An.toString;function Pn(e){if(e!=null){try{return kn.call(e)}catch{}try{return e+""}catch{}}return""}var P=Pn;var Sn=/[\\^$.*+?()[\]{}|]/g,Rn=/^\[object .+?Constructor\]$/,In=Function.prototype,jn=Object.prototype,Mn=In.toString,Fn=jn.hasOwnProperty,$n=RegExp("^"+Mn.call(Fn).replace(Sn,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ln(e){if(!C(e)||Wt(e))return!1;var t=Ie(e)?$n:Rn;return t.test(P(e))}var zt=Ln;function Un(e,t){return e?.[t]}var qt=Un;function Bn(e,t){var r=qt(e,t);return zt(r)?r:void 0}var x=Bn;var Hn=x(h,"WeakMap"),Me=Hn;var Yt=Object.create,Kn=function(){function e(){}return function(t){if(!C(t))return{};if(Yt)return Yt(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}(),Jt=Kn;function Wn(e,t){var r=-1,o=e.length;for(t||(t=Array(o));++r<o;)t[r]=e[r];return t}var Gt=Wn;var zn=function(){try{var e=x(Object,"defineProperty");return e({},"",{}),e}catch{}}(),gt=zn;function qn(e,t){for(var r=-1,o=e==null?0:e.length;++r<o&&t(e[r],r,e)!==!1;);return e}var Xt=qn;var Yn=9007199254740991,Jn=/^(?:0|[1-9]\d*)$/;function Gn(e,t){var r=typeof e;return t=t??Yn,!!t&&(r=="number"||r!="symbol"&&Jn.test(e))&&e>-1&&e%1==0&&e<t}var Zt=Gn;function Xn(e,t,r){t=="__proto__"&&gt?gt(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var Fe=Xn;function Zn(e,t){return e===t||e!==e&&t!==t}var $e=Zn;var Qn=Object.prototype,es=Qn.hasOwnProperty;function ts(e,t,r){var o=e[t];(!(es.call(e,t)&&$e(o,r))||r===void 0&&!(t in e))&&Fe(e,t,r)}var Le=ts;function rs(e,t,r,o){var n=!r;r||(r={});for(var s=-1,i=t.length;++s<i;){var a=t[s],m=o?o(r[a],e[a],a,r,e):void 0;m===void 0&&(m=e[a]),n?Fe(r,a,m):Le(r,a,m)}return r}var $=rs;var os=9007199254740991;function ns(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=os}var Ue=ns;function ss(e){return e!=null&&Ue(e.length)&&!Ie(e)}var Be=ss;var is=Object.prototype;function as(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||is;return e===r}var se=as;function ls(e,t){for(var r=-1,o=Array(e);++r<e;)o[r]=t(r);return o}var Qt=ls;var cs="[object Arguments]";function fs(e){return D(e)&&k(e)==cs}var yt=fs;var er=Object.prototype,us=er.hasOwnProperty,ps=er.propertyIsEnumerable,ds=yt(function(){return arguments}())?yt:function(e){return D(e)&&us.call(e,"callee")&&!ps.call(e,"callee")},tr=ds;function ms(){return!1}var rr=ms;var sr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,or=sr&&typeof module=="object"&&module&&!module.nodeType&&module,hs=or&&or.exports===sr,nr=hs?h.Buffer:void 0,gs=nr?nr.isBuffer:void 0,ys=gs||rr,He=ys;var _s="[object Arguments]",xs="[object Array]",vs="[object Boolean]",Es="[object Date]",bs="[object Error]",Ns="[object Function]",Os="[object Map]",ws="[object Number]",Ts="[object Object]",Ds="[object RegExp]",Cs="[object Set]",Vs="[object String]",As="[object WeakMap]",ks="[object ArrayBuffer]",Ps="[object DataView]",Ss="[object Float32Array]",Rs="[object Float64Array]",Is="[object Int8Array]",js="[object Int16Array]",Ms="[object Int32Array]",Fs="[object Uint8Array]",$s="[object Uint8ClampedArray]",Ls="[object Uint16Array]",Us="[object Uint32Array]",p={};p[Ss]=p[Rs]=p[Is]=p[js]=p[Ms]=p[Fs]=p[$s]=p[Ls]=p[Us]=!0;p[_s]=p[xs]=p[ks]=p[vs]=p[Ps]=p[Es]=p[bs]=p[Ns]=p[Os]=p[ws]=p[Ts]=p[Ds]=p[Cs]=p[Vs]=p[As]=!1;function Bs(e){return D(e)&&Ue(e.length)&&!!p[k(e)]}var ir=Bs;function Hs(e){return function(t){return e(t)}}var ie=Hs;var ar=typeof exports=="object"&&exports&&!exports.nodeType&&exports,we=ar&&typeof module=="object"&&module&&!module.nodeType&&module,Ks=we&&we.exports===ar,_t=Ks&&Re.process,Ws=function(){try{var e=we&&we.require&&we.require("util").types;return e||_t&&_t.binding&&_t.binding("util")}catch{}}(),S=Ws;var lr=S&&S.isTypedArray,zs=lr?ie(lr):ir,cr=zs;var qs=Object.prototype,Ys=qs.hasOwnProperty;function Js(e,t){var r=ne(e),o=!r&&tr(e),n=!r&&!o&&He(e),s=!r&&!o&&!n&&cr(e),i=r||o||n||s,a=i?Qt(e.length,String):[],m=a.length;for(var l in e)(t||Ys.call(e,l))&&!(i&&(l=="length"||n&&(l=="offset"||l=="parent")||s&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Zt(l,m)))&&a.push(l);return a}var Ke=Js;function Gs(e,t){return function(r){return e(t(r))}}var We=Gs;var Xs=We(Object.keys,Object),fr=Xs;var Zs=Object.prototype,Qs=Zs.hasOwnProperty;function ei(e){if(!se(e))return fr(e);var t=[];for(var r in Object(e))Qs.call(e,r)&&r!="constructor"&&t.push(r);return t}var ur=ei;function ti(e){return Be(e)?Ke(e):ur(e)}var ae=ti;function ri(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}var pr=ri;var oi=Object.prototype,ni=oi.hasOwnProperty;function si(e){if(!C(e))return pr(e);var t=se(e),r=[];for(var o in e)o=="constructor"&&(t||!ni.call(e,o))||r.push(o);return r}var dr=si;function ii(e){return Be(e)?Ke(e,!0):dr(e)}var le=ii;var ai=x(Object,"create"),R=ai;function li(){this.__data__=R?R(null):{},this.size=0}var mr=li;function ci(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var hr=ci;var fi="__lodash_hash_undefined__",ui=Object.prototype,pi=ui.hasOwnProperty;function di(e){var t=this.__data__;if(R){var r=t[e];return r===fi?void 0:r}return pi.call(t,e)?t[e]:void 0}var gr=di;var mi=Object.prototype,hi=mi.hasOwnProperty;function gi(e){var t=this.__data__;return R?t[e]!==void 0:hi.call(t,e)}var yr=gi;var yi="__lodash_hash_undefined__";function _i(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=R&&t===void 0?yi:t,this}var _r=_i;function ce(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}ce.prototype.clear=mr;ce.prototype.delete=hr;ce.prototype.get=gr;ce.prototype.has=yr;ce.prototype.set=_r;var xt=ce;function xi(){this.__data__=[],this.size=0}var xr=xi;function vi(e,t){for(var r=e.length;r--;)if($e(e[r][0],t))return r;return-1}var L=vi;var Ei=Array.prototype,bi=Ei.splice;function Ni(e){var t=this.__data__,r=L(t,e);if(r<0)return!1;var o=t.length-1;return r==o?t.pop():bi.call(t,r,1),--this.size,!0}var vr=Ni;function Oi(e){var t=this.__data__,r=L(t,e);return r<0?void 0:t[r][1]}var Er=Oi;function wi(e){return L(this.__data__,e)>-1}var br=wi;function Ti(e,t){var r=this.__data__,o=L(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}var Nr=Ti;function fe(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}fe.prototype.clear=xr;fe.prototype.delete=vr;fe.prototype.get=Er;fe.prototype.has=br;fe.prototype.set=Nr;var U=fe;var Di=x(h,"Map"),B=Di;function Ci(){this.size=0,this.__data__={hash:new xt,map:new(B||U),string:new xt}}var Or=Ci;function Vi(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var wr=Vi;function Ai(e,t){var r=e.__data__;return wr(t)?r[typeof t=="string"?"string":"hash"]:r.map}var H=Ai;function ki(e){var t=H(this,e).delete(e);return this.size-=t?1:0,t}var Tr=ki;function Pi(e){return H(this,e).get(e)}var Dr=Pi;function Si(e){return H(this,e).has(e)}var Cr=Si;function Ri(e,t){var r=H(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}var Vr=Ri;function ue(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}ue.prototype.clear=Or;ue.prototype.delete=Tr;ue.prototype.get=Dr;ue.prototype.has=Cr;ue.prototype.set=Vr;var Ar=ue;function Ii(e,t){for(var r=-1,o=t.length,n=e.length;++r<o;)e[n+r]=t[r];return e}var ze=Ii;var ji=We(Object.getPrototypeOf,Object),qe=ji;function Mi(){this.__data__=new U,this.size=0}var kr=Mi;function Fi(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Pr=Fi;function $i(e){return this.__data__.get(e)}var Sr=$i;function Li(e){return this.__data__.has(e)}var Rr=Li;var Ui=200;function Bi(e,t){var r=this.__data__;if(r instanceof U){var o=r.__data__;if(!B||o.length<Ui-1)return o.push([e,t]),this.size=++r.size,this;r=this.__data__=new Ar(o)}return r.set(e,t),this.size=r.size,this}var Ir=Bi;function pe(e){var t=this.__data__=new U(e);this.size=t.size}pe.prototype.clear=kr;pe.prototype.delete=Pr;pe.prototype.get=Sr;pe.prototype.has=Rr;pe.prototype.set=Ir;var jr=pe;function Hi(e,t){return e&&$(t,ae(t),e)}var Mr=Hi;function Ki(e,t){return e&&$(t,le(t),e)}var Fr=Ki;var Br=typeof exports=="object"&&exports&&!exports.nodeType&&exports,$r=Br&&typeof module=="object"&&module&&!module.nodeType&&module,Wi=$r&&$r.exports===Br,Lr=Wi?h.Buffer:void 0,Ur=Lr?Lr.allocUnsafe:void 0;function zi(e,t){if(t)return e.slice();var r=e.length,o=Ur?Ur(r):new e.constructor(r);return e.copy(o),o}var Hr=zi;function qi(e,t){for(var r=-1,o=e==null?0:e.length,n=0,s=[];++r<o;){var i=e[r];t(i,r,e)&&(s[n++]=i)}return s}var Kr=qi;function Yi(){return[]}var Ye=Yi;var Ji=Object.prototype,Gi=Ji.propertyIsEnumerable,Wr=Object.getOwnPropertySymbols,Xi=Wr?function(e){return e==null?[]:(e=Object(e),Kr(Wr(e),function(t){return Gi.call(e,t)}))}:Ye,de=Xi;function Zi(e,t){return $(e,de(e),t)}var zr=Zi;var Qi=Object.getOwnPropertySymbols,ea=Qi?function(e){for(var t=[];e;)ze(t,de(e)),e=qe(e);return t}:Ye,Je=ea;function ta(e,t){return $(e,Je(e),t)}var qr=ta;function ra(e,t,r){var o=t(e);return ne(e)?o:ze(o,r(e))}var Ge=ra;function oa(e){return Ge(e,ae,de)}var Yr=oa;function na(e){return Ge(e,le,Je)}var Jr=na;var sa=x(h,"DataView"),Xe=sa;var ia=x(h,"Promise"),Ze=ia;var aa=x(h,"Set"),Qe=aa;var Gr="[object Map]",la="[object Object]",Xr="[object Promise]",Zr="[object Set]",Qr="[object WeakMap]",eo="[object DataView]",ca=P(Xe),fa=P(B),ua=P(Ze),pa=P(Qe),da=P(Me),G=k;(Xe&&G(new Xe(new ArrayBuffer(1)))!=eo||B&&G(new B)!=Gr||Ze&&G(Ze.resolve())!=Xr||Qe&&G(new Qe)!=Zr||Me&&G(new Me)!=Qr)&&(G=function(e){var t=k(e),r=t==la?e.constructor:void 0,o=r?P(r):"";if(o)switch(o){case ca:return eo;case fa:return Gr;case ua:return Xr;case pa:return Zr;case da:return Qr}return t});var me=G;var ma=Object.prototype,ha=ma.hasOwnProperty;function ga(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&ha.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var to=ga;var ya=h.Uint8Array,vt=ya;function _a(e){var t=new e.constructor(e.byteLength);return new vt(t).set(new vt(e)),t}var he=_a;function xa(e,t){var r=t?he(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var ro=xa;var va=/\w*$/;function Ea(e){var t=new e.constructor(e.source,va.exec(e));return t.lastIndex=e.lastIndex,t}var oo=Ea;var no=A?A.prototype:void 0,so=no?no.valueOf:void 0;function ba(e){return so?Object(so.call(e)):{}}var io=ba;function Na(e,t){var r=t?he(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var ao=Na;var Oa="[object Boolean]",wa="[object Date]",Ta="[object Map]",Da="[object Number]",Ca="[object RegExp]",Va="[object Set]",Aa="[object String]",ka="[object Symbol]",Pa="[object ArrayBuffer]",Sa="[object DataView]",Ra="[object Float32Array]",Ia="[object Float64Array]",ja="[object Int8Array]",Ma="[object Int16Array]",Fa="[object Int32Array]",$a="[object Uint8Array]",La="[object Uint8ClampedArray]",Ua="[object Uint16Array]",Ba="[object Uint32Array]";function Ha(e,t,r){var o=e.constructor;switch(t){case Pa:return he(e);case Oa:case wa:return new o(+e);case Sa:return ro(e,r);case Ra:case Ia:case ja:case Ma:case Fa:case $a:case La:case Ua:case Ba:return ao(e,r);case Ta:return new o;case Da:case Aa:return new o(e);case Ca:return oo(e);case Va:return new o;case ka:return io(e)}}var lo=Ha;function Ka(e){return typeof e.constructor=="function"&&!se(e)?Jt(qe(e)):{}}var co=Ka;var Wa="[object Map]";function za(e){return D(e)&&me(e)==Wa}var fo=za;var uo=S&&S.isMap,qa=uo?ie(uo):fo,po=qa;var Ya="[object Set]";function Ja(e){return D(e)&&me(e)==Ya}var mo=Ja;var ho=S&&S.isSet,Ga=ho?ie(ho):mo,go=Ga;var Xa=1,Za=2,Qa=4,yo="[object Arguments]",el="[object Array]",tl="[object Boolean]",rl="[object Date]",ol="[object Error]",_o="[object Function]",nl="[object GeneratorFunction]",sl="[object Map]",il="[object Number]",xo="[object Object]",al="[object RegExp]",ll="[object Set]",cl="[object String]",fl="[object Symbol]",ul="[object WeakMap]",pl="[object ArrayBuffer]",dl="[object DataView]",ml="[object Float32Array]",hl="[object Float64Array]",gl="[object Int8Array]",yl="[object Int16Array]",_l="[object Int32Array]",xl="[object Uint8Array]",vl="[object Uint8ClampedArray]",El="[object Uint16Array]",bl="[object Uint32Array]",u={};u[yo]=u[el]=u[pl]=u[dl]=u[tl]=u[rl]=u[ml]=u[hl]=u[gl]=u[yl]=u[_l]=u[sl]=u[il]=u[xo]=u[al]=u[ll]=u[cl]=u[fl]=u[xl]=u[vl]=u[El]=u[bl]=!0;u[ol]=u[_o]=u[ul]=!1;function et(e,t,r,o,n,s){var i,a=t&Xa,m=t&Za,l=t&Qa;if(r&&(i=n?r(e,o,n,s):r(e)),i!==void 0)return i;if(!C(e))return e;var c=ne(e);if(c){if(i=to(e),!a)return Gt(e,i)}else{var g=me(e),b=g==_o||g==nl;if(He(e))return Hr(e,a);if(g==xo||g==yo||b&&!n){if(i=m||b?{}:co(e),!a)return m?qr(e,Fr(i,e)):zr(e,Mr(i,e))}else{if(!u[g])return n?e:{};i=lo(e,g,a)}}s||(s=new jr);var F=s.get(e);if(F)return F;s.set(e,i),go(e)?e.forEach(function(y){i.add(et(y,t,r,y,e,s))}):po(e)&&e.forEach(function(y,_){i.set(_,et(y,t,r,_,e,s))});var re=l?m?Jr:Yr:m?le:ae,oe=c?void 0:re(e);return Xt(oe||e,function(y,_){oe&&(_=y,y=e[_]),Le(i,_,et(y,t,r,_,e,s))}),i}var vo=et;var Nl=1,Ol=4;function wl(e){return vo(e,Nl|Ol)}var Et=wl;var bt=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,r)=>(r&=63,r<36?t+=r.toString(36):r<62?t+=(r-26).toString(36).toUpperCase():r>62?t+="-":t+="_",t),"");function tt(e,t){let r=Object.create(null),o=e.split(",");for(let n=0;n<o.length;n++)r[o[n]]=!0;return t?n=>!!r[n.toLowerCase()]:n=>!!r[n]}var bo={};var ge=()=>{},No=()=>!1;var Oo=(e,t)=>{let r=e.indexOf(t);r>-1&&e.splice(r,1)},Tl=Object.prototype.hasOwnProperty,ye=(e,t)=>Tl.call(e,t),v=Array.isArray,X=e=>rt(e)==="[object Map]",wo=e=>rt(e)==="[object Set]";var N=e=>typeof e=="function",Nt=e=>typeof e=="string",Te=e=>typeof e=="symbol",K=e=>e!==null&&typeof e=="object",To=e=>(K(e)||N(e))&&N(e.then)&&N(e.catch),Dl=Object.prototype.toString,rt=e=>Dl.call(e),Ot=e=>rt(e).slice(8,-1),Do=e=>rt(e)==="[object Object]",ot=e=>Nt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e;var nt=e=>{let t=Object.create(null);return r=>t[r]||(t[r]=e(r))},Cl=/-(\w)/g,Vl=nt(e=>e.replace(Cl,(t,r)=>r?r.toUpperCase():"")),Al=/\B([A-Z])/g,kl=nt(e=>e.replace(Al,"-$1").toLowerCase()),Co=nt(e=>e.charAt(0).toUpperCase()+e.slice(1)),Pl=nt(e=>e?`on${Co(e)}`:""),W=(e,t)=>!Object.is(e,t);var Eo,wt=()=>Eo||(Eo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});var Sl="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly";var ah=tt(Sl+",async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");var Mo;function jl(e,t=Mo){t&&t.active&&t.effects.push(e)}function kt(){return Mo}var Fo=e=>{let t=new Set(e);return t.w=0,t.n=0,t},$o=e=>(e.w&q)>0,Lo=e=>(e.n&q)>0,Ml=({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=q},Fl=e=>{let{deps:t}=e;if(t.length){let r=0;for(let o=0;o<t.length;o++){let n=t[o];$o(n)&&!Lo(n)?n.delete(e):t[r++]=n,n.w&=~q,n.n&=~q}t.length=r}},Tt=new WeakMap,De=0,q=1,Dt=30,V,Z=Symbol(""),Ct=Symbol(""),Ce=class{constructor(t,r=null,o){this.fn=t,this.scheduler=r,this.active=!0,this.deps=[],this.parent=void 0,jl(this,o)}run(){if(!this.active)return this.fn();let t=V,r=Q;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=V,V=this,Q=!0,q=1<<++De,De<=Dt?Ml(this):Vo(this),this.fn()}finally{De<=Dt&&Fl(this),q=1<<--De,V=this.parent,Q=r,this.parent=void 0,this.deferStop&&this.stop()}}stop(){V===this?this.deferStop=!0:this.active&&(Vo(this),this.onStop&&this.onStop(),this.active=!1)}};function Vo(e){let{deps:t}=e;if(t.length){for(let r=0;r<t.length;r++)t[r].delete(e);t.length=0}}var Q=!0,Uo=[];function ut(){Uo.push(Q),Q=!1}function pt(){let e=Uo.pop();Q=e===void 0?!0:e}function E(e,t,r){if(Q&&V){let o=Tt.get(e);o||Tt.set(e,o=new Map);let n=o.get(r);n||o.set(r,n=Fo()),$l(n,void 0)}}function $l(e,t){let r=!1;De<=Dt?Lo(e)||(e.n|=q,r=!$o(e)):r=!e.has(V),r&&(e.add(V),V.deps.push(e))}function I(e,t,r,o,n,s){let i=Tt.get(e);if(!i)return;let a=[];if(t==="clear")a=[...i.values()];else if(r==="length"&&v(e)){let l=Number(o);i.forEach((c,g)=>{(g==="length"||!Te(g)&&g>=l)&&a.push(c)})}else switch(r!==void 0&&a.push(i.get(r)),t){case"add":v(e)?ot(r)&&a.push(i.get("length")):(a.push(i.get(Z)),X(e)&&a.push(i.get(Ct)));break;case"delete":v(e)||(a.push(i.get(Z)),X(e)&&a.push(i.get(Ct)));break;case"set":X(e)&&a.push(i.get(Z));break}let m=void 0;if(a.length===1)a[0]&&Ao(a[0]);else{let l=[];for(let c of a)c&&l.push(...c);Ao(Fo(l))}}function Ao(e,t){let r=v(e)?e:[...e];for(let o of r)o.computed&&ko(o,t);for(let o of r)o.computed||ko(o,t)}function ko(e,t){(e!==V||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}var Ll=tt("__proto__,__v_isRef,__isVue"),Bo=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Te)),Po=Ul();function Ul(){let e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...r){let o=f(this);for(let s=0,i=this.length;s<i;s++)E(o,"get",s+"");let n=o[t](...r);return n===-1||n===!1?o[t](...r.map(f)):n}}),["push","pop","shift","unshift","splice"].forEach(t=>{e[t]=function(...r){ut();let o=f(this)[t].apply(this,r);return pt(),o}}),e}function Bl(e){let t=f(this);return E(t,"has",e),t.hasOwnProperty(e)}var ft=class{constructor(t=!1,r=!1){this._isReadonly=t,this._shallow=r}get(t,r,o){let n=this._isReadonly,s=this._shallow;if(r==="__v_isReactive")return!n;if(r==="__v_isReadonly")return n;if(r==="__v_isShallow")return s;if(r==="__v_raw"&&o===(n?s?Ql:Wo:s?Zl:Ko).get(t))return t;let i=v(t);if(!n){if(i&&ye(Po,r))return Reflect.get(Po,r,o);if(r==="hasOwnProperty")return Bl}let a=Reflect.get(t,r,o);return(Te(r)?Bo.has(r):Ll(r))||(n||E(t,"get",r),s)?a:O(a)?i&&ot(r)?a:a.value:K(a)?n?St(a):xe(a):a}},Vt=class extends ft{constructor(t=!1){super(!1,t)}set(t,r,o,n){let s=t[r];if(_e(s)&&O(s)&&!O(o))return!1;if(!this._shallow&&(!Ve(o)&&!_e(o)&&(s=f(s),o=f(o)),!v(t)&&O(s)&&!O(o)))return s.value=o,!0;let i=v(t)&&ot(r)?Number(r)<t.length:ye(t,r),a=Reflect.set(t,r,o,n);return t===f(n)&&(i?W(o,s)&&I(t,"set",r,o,s):I(t,"add",r,o)),a}deleteProperty(t,r){let o=ye(t,r),n=t[r],s=Reflect.deleteProperty(t,r);return s&&o&&I(t,"delete",r,void 0,n),s}has(t,r){let o=Reflect.has(t,r);return(!Te(r)||!Bo.has(r))&&E(t,"has",r),o}ownKeys(t){return E(t,"iterate",v(t)?"length":Z),Reflect.ownKeys(t)}},At=class extends ft{constructor(t=!1){super(!0,t)}set(t,r){return!0}deleteProperty(t,r){return!0}},Hl=new Vt,Kl=new At;var Pt=e=>e,dt=e=>Reflect.getPrototypeOf(e);function st(e,t,r=!1,o=!1){e=e.__v_raw;let n=f(e),s=f(t);r||(W(t,s)&&E(n,"get",t),E(n,"get",s));let{has:i}=dt(n),a=o?Pt:r?It:Rt;if(i.call(n,t))return a(e.get(t));if(i.call(n,s))return a(e.get(s));e!==n&&e.get(t)}function it(e,t=!1){let r=this.__v_raw,o=f(r),n=f(e);return t||(W(e,n)&&E(o,"has",e),E(o,"has",n)),e===n?r.has(e):r.has(e)||r.has(n)}function at(e,t=!1){return e=e.__v_raw,!t&&E(f(e),"iterate",Z),Reflect.get(e,"size",e)}function So(e){e=f(e);let t=f(this);return dt(t).has.call(t,e)||(t.add(e),I(t,"add",e,e)),this}function Ro(e,t){t=f(t);let r=f(this),{has:o,get:n}=dt(r),s=o.call(r,e);s||(e=f(e),s=o.call(r,e));let i=n.call(r,e);return r.set(e,t),s?W(t,i)&&I(r,"set",e,t,i):I(r,"add",e,t),this}function Io(e){let t=f(this),{has:r,get:o}=dt(t),n=r.call(t,e);n||(e=f(e),n=r.call(t,e));let s=o?o.call(t,e):void 0,i=t.delete(e);return n&&I(t,"delete",e,void 0,s),i}function jo(){let e=f(this),t=e.size!==0,r=void 0,o=e.clear();return t&&I(e,"clear",void 0,void 0,r),o}function lt(e,t){return function(o,n){let s=this,i=s.__v_raw,a=f(i),m=t?Pt:e?It:Rt;return!e&&E(a,"iterate",Z),i.forEach((l,c)=>o.call(n,m(l),m(c),s))}}function ct(e,t,r){return function(...o){let n=this.__v_raw,s=f(n),i=X(s),a=e==="entries"||e===Symbol.iterator&&i,m=e==="keys"&&i,l=n[e](...o),c=r?Pt:t?It:Rt;return!t&&E(s,"iterate",m?Ct:Z),{next(){let{value:g,done:b}=l.next();return b?{value:g,done:b}:{value:a?[c(g[0]),c(g[1])]:c(g),done:b}},[Symbol.iterator](){return this}}}}function z(e){return function(...t){return e==="delete"?!1:this}}function Wl(){let e={get(s){return st(this,s)},get size(){return at(this)},has:it,add:So,set:Ro,delete:Io,clear:jo,forEach:lt(!1,!1)},t={get(s){return st(this,s,!1,!0)},get size(){return at(this)},has:it,add:So,set:Ro,delete:Io,clear:jo,forEach:lt(!1,!0)},r={get(s){return st(this,s,!0)},get size(){return at(this,!0)},has(s){return it.call(this,s,!0)},add:z("add"),set:z("set"),delete:z("delete"),clear:z("clear"),forEach:lt(!0,!1)},o={get(s){return st(this,s,!0,!0)},get size(){return at(this,!0)},has(s){return it.call(this,s,!0)},add:z("add"),set:z("set"),delete:z("delete"),clear:z("clear"),forEach:lt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=ct(s,!1,!1),r[s]=ct(s,!0,!1),t[s]=ct(s,!1,!0),o[s]=ct(s,!0,!0)}),[e,r,t,o]}var[zl,ql,Yl,Jl]=Wl();function Ho(e,t){let r=t?e?Jl:Yl:e?ql:zl;return(o,n,s)=>n==="__v_isReactive"?!e:n==="__v_isReadonly"?e:n==="__v_raw"?o:Reflect.get(ye(r,n)&&n in o?r:o,n,s)}var Gl={get:Ho(!1,!1)};var Xl={get:Ho(!0,!1)};var Ko=new WeakMap,Zl=new WeakMap,Wo=new WeakMap,Ql=new WeakMap;function ec(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function tc(e){return e.__v_skip||!Object.isExtensible(e)?0:ec(Ot(e))}function xe(e){return _e(e)?e:zo(e,!1,Hl,Gl,Ko)}function St(e){return zo(e,!0,Kl,Xl,Wo)}function zo(e,t,r,o,n){if(!K(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;let s=n.get(e);if(s)return s;let i=tc(e);if(i===0)return e;let a=new Proxy(e,i===2?o:r);return n.set(e,a),a}function ve(e){return _e(e)?ve(e.__v_raw):!!(e&&e.__v_isReactive)}function _e(e){return!!(e&&e.__v_isReadonly)}function Ve(e){return!!(e&&e.__v_isShallow)}function f(e){let t=e&&e.__v_raw;return t?f(t):e}var Rt=e=>K(e)?xe(e):e,It=e=>K(e)?St(e):e;function O(e){return!!(e&&e.__v_isRef===!0)}var Ae=[];function lc(e,...t){}function cc(){let e=Ae[Ae.length-1];if(!e)return[];let t=[];for(;e;){let r=t[0];r&&r.vnode===e?r.recurseCount++:t.push({vnode:e,recurseCount:0});let o=e.component&&e.component.parent;e=o&&o.vnode}return t}function fc(e){let t=[];return e.forEach((r,o)=>{t.push(...o===0?[]:[`
2
- `],...uc(r))}),t}function uc({vnode:e,recurseCount:t}){let r=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,n=` at <${on(e.component,e.type,o)}`,s=">"+r;return e.props?[n,...pc(e.props),s]:[n+s]}function pc(e){let t=[],r=Object.keys(e);return r.slice(0,3).forEach(o=>{t.push(...Go(o,e[o]))}),r.length>3&&t.push(" ..."),t}function Go(e,t,r){return Nt(t)?(t=JSON.stringify(t),r?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?r?t:[`${e}=${t}`]:O(t)?(t=Go(e,f(t.value),!0),r?t:[`${e}=Ref<`,t,">"]):N(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=f(t),r?t:[`${e}=`,t])}function te(e,t,r,o){let n;try{n=o?e(...o):e()}catch(s){Xo(s,t,r)}return n}function ke(e,t,r,o){if(N(e)){let s=te(e,t,r,o);return s&&To(s)&&s.catch(i=>{Xo(i,t,r)}),s}let n=[];for(let s=0;s<e.length;s++)n.push(ke(e[s],t,r,o));return n}function Xo(e,t,r,o=!0){let n=t?t.vnode:null;if(t){let s=t.parent,i=t.proxy,a=r;for(;s;){let l=s.ec;if(l){for(let c=0;c<l.length;c++)if(l[c](e,i,a)===!1)return}s=s.parent}let m=t.appContext.config.errorHandler;if(m){te(m,null,10,[e,i,a]);return}}dc(e,r,n,o)}function dc(e,t,r,o=!0){console.error(e)}var ht=!1,jt=!1,w=[],Y=0,Ne=[],j=null,ee=0,mc=Promise.resolve(),Zo=null;function hc(e){let t=Y+1,r=w.length;for(;t<r;){let o=t+r>>>1,n=w[o],s=Pe(n);s<e||s===e&&n.pre?t=o+1:r=o}return t}function gc(e){(!w.length||!w.includes(e,ht&&e.allowRecurse?Y+1:Y))&&(e.id==null?w.push(e):w.splice(hc(e.id),0,e),Qo())}function Qo(){!ht&&!jt&&(jt=!0,Zo=mc.then(en))}function yc(e){v(e)?Ne.push(...e):(!j||!j.includes(e,e.allowRecurse?ee+1:ee))&&Ne.push(e),Qo()}function _c(e){if(Ne.length){let t=[...new Set(Ne)];if(Ne.length=0,j){j.push(...t);return}for(j=t,j.sort((r,o)=>Pe(r)-Pe(o)),ee=0;ee<j.length;ee++)j[ee]();j=null,ee=0}}var Pe=e=>e.id==null?1/0:e.id,xc=(e,t)=>{let r=Pe(e)-Pe(t);if(r===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return r};function en(e){jt=!1,ht=!0,w.sort(xc);let t=ge;try{for(Y=0;Y<w.length;Y++){let r=w[Y];r&&r.active!==!1&&te(r,null,14)}}finally{Y=0,w.length=0,_c(e),ht=!1,Zo=null,(w.length||Ne.length)&&en(e)}}var vc=null;function Ec(e,t){t&&t.pendingBranch?v(e)?t.effects.push(...e):t.effects.push(e):yc(e)}var mt={};function tn(e,t,r){return bc(e,t,r)}function bc(e,t,{immediate:r,deep:o,flush:n,onTrack:s,onTrigger:i}=bo){var a;let m=d=>{lc("Invalid watch source: ",d,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},l=kt()===((a=J)==null?void 0:a.scope)?J:null,c,g=!1,b=!1;if(O(e)?(c=()=>e.value,g=Ve(e)):ve(e)?(c=()=>e,o=!0):v(e)?(b=!0,g=e.some(d=>ve(d)||Ve(d)),c=()=>e.map(d=>{if(O(d))return d.value;if(ve(d))return be(d);if(N(d))return te(d,l,2)})):N(e)?t?c=()=>te(e,l,2):c=()=>{if(!(l&&l.isUnmounted))return F&&F(),ke(e,l,3,[re])}:c=ge,t&&o){let d=c;c=()=>be(d())}let F,re=d=>{F=T.onStop=()=>{te(d,l,4)}},oe;if(rn)if(re=ge,t?r&&ke(t,l,3,[c(),b?[]:void 0,re]):c(),n==="sync"){let d=Pc();oe=d.__watcherHandles||(d.__watcherHandles=[])}else return ge;let y=b?new Array(e.length).fill(mt):mt,_=()=>{if(T.active)if(t){let d=T.run();(o||g||(b?d.some((nn,sn)=>W(nn,y[sn])):W(d,y)))&&(F&&F(),ke(t,l,3,[d,y===mt?void 0:b&&y[0]===mt?[]:y,re]),y=d)}else T.run()};_.allowRecurse=!!t;let Se;n==="sync"?Se=_:n==="post"?Se=()=>Yo(_,l&&l.suspense):(_.pre=!0,l&&(_.id=l.uid),Se=()=>gc(_));let T=new Ce(c,Se);t?r?_():y=T.run():n==="post"?Yo(T.run.bind(T),l&&l.suspense):T.run();let $t=()=>{T.stop(),l&&l.scope&&Oo(l.scope.effects,T)};return oe&&oe.push($t),$t}function be(e,t){if(!K(e)||e.__v_skip||(t=t||new Set,t.has(e)))return e;if(t.add(e),O(e))be(e.value,t);else if(v(e))for(let r=0;r<e.length;r++)be(e[r],t);else if(wo(e)||X(e))e.forEach(r=>{be(r,t)});else if(Do(e))for(let r in e)be(e[r],t);return e}var Lh=Symbol("_leaveCb"),Uh=Symbol("_enterCb");function Nc(e,t,r=J,o=!1){if(r){let n=r[e]||(r[e]=[]),s=t.__weh||(t.__weh=(...i)=>{if(r.isUnmounted)return;ut(),Tc(r);let a=ke(t,r,e,i);return Dc(),pt(),a});return o?n.unshift(s):n.push(s),s}}var M=e=>(t,r=J)=>(!rn||e==="sp")&&Nc(e,(...o)=>t(...o),r),Bh=M("bm"),Hh=M("m"),Kh=M("bu"),Wh=M("u"),zh=M("bum"),qh=M("um"),Yh=M("sp"),Jh=M("rtg"),Gh=M("rtc");var Xh=Symbol.for("v-ndc");function Oc(){return{app:null,config:{isNativeTag:No,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}var qo=null;function wc(e,t,r=!1){let o=J||vc;if(o||qo){let n=o?o.parent==null?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides:qo._context.provides;if(n&&e in n)return n[e];if(arguments.length>1)return r&&N(t)?t.call(o&&o.proxy):t}}var Yo=Ec;var Zh=Symbol.for("v-fgt"),Qh=Symbol.for("v-txt"),eg=Symbol.for("v-cmt"),tg=Symbol.for("v-stc");var rg=Oc();var J=null;var Mt,Ee,Jo="__VUE_INSTANCE_SETTERS__";(Ee=wt()[Jo])||(Ee=wt()[Jo]=[]),Ee.push(e=>J=e),Mt=e=>{Ee.length>1?Ee.forEach(t=>t(e)):Ee[0](e)};var Tc=e=>{Mt(e),e.scope.on()},Dc=()=>{J&&J.scope.off(),Mt(null)};var rn=!1;var Cc=/(?:^|[-_])(\w)/g,Vc=e=>e.replace(Cc,t=>t.toUpperCase()).replace(/[-_]/g,"");function Ac(e,t=!0){return N(e)?e.displayName||e.name:e.name||t&&e.__name}function on(e,t,r=!1){let o=Ac(t);if(!o&&t.__file){let n=t.__file.match(/([^/\\]+)\.\w+$/);n&&(o=n[1])}if(!o&&e&&e.parent){let n=s=>{for(let i in s)if(s[i]===t)return i};o=n(e.components||e.parent.type.components)||n(e.appContext.components)}return o?Vc(o):r?"App":"Anonymous"}var kc=Symbol.for("v-scx"),Pc=()=>{{let e=wc(kc);return e}};var Ft=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","getProjectStateSnapshot","applyProjectStatePatch","getProjectLibrary","setProjectLibrary"];send(t){let r=bt();return this.acceptPostboxes[r]={},this.acceptPostboxes[r].promise=new Promise((o,n)=>{Object.assign(this.acceptPostboxes[r],{resolve:o,reject:n}),this.sendRaw({id:r,...t})}),this.acceptPostboxes[r].promise}sendRaw(t){this.dom.iframe.contentWindow.postMessage({TERA:1,id:t.id||bt(),...Et(t)},this.settings.restrictOrigin)}rpc(t,...r){return this.send({action:"rpc",method:t,args:r})}acceptMessage(t){let r=t.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(t){Object.assign(this.settings,t)}toggleDevMode(t="toggle"){return this.settings.devMode=t==="toggle"?!this.settings.devMode:t,this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this}init(){window.addEventListener("message",this.acceptMessage.bind(this)),this.injectMain(),this.injectStylesheet(),this.injectMethods()}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(`
3
- `),document.head.appendChild(this.dom.stylesheet)}injectMethods(){this.methods.forEach(t=>this[t]=this.rpc.bind(this,t))}debug(...t){this.settings.devMode&&console.log("%c[TERA-FY CLIENT]","font-weight: bold; color: #ff5722;",...t)}bindProjectState(t){let r={autoRequire:!0,write:!0,...t};return Promise.resolve().then(()=>r.autoRequire&&this.requireProject()).then(()=>this.getProjectStateSnapshot({autoRequire:!1,paths:r.paths})).then(o=>{let n=xe(o);return r.write&&tn(n,(s,i)=>{let a=a(s,i);this.debug("APPLY DIFF",a),this.applyProjectStatePatch(a)},{deep:!0}),n})}toggleFocus(t="toggle"){this.debug("Request focus",{isFocused:t}),globalThis.document.body.classList.toggle("tera-fy-focus",t==="toggle"?void 0:t)}};export{Ft as default};
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};
4
3
  /*! Bundled license information:
5
4
 
6
5
  lodash-es/lodash.js:
@@ -13,11 +12,5 @@ lodash-es/lodash.js:
13
12
  * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
14
13
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
15
14
  *)
16
-
17
- @vue/runtime-core/dist/runtime-core.esm-bundler.js:
18
- (*! #__NO_SIDE_EFFECTS__ *)
19
-
20
- @vue/runtime-core/dist/runtime-core.esm-bundler.js:
21
- (*! #__NO_SIDE_EFFECTS__ *)
22
15
  */
23
16
  //# sourceMappingURL=terafy.js.map