@interopio/workspaces-api 3.0.1 → 3.0.3

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/changelog.md CHANGED
@@ -1,4 +1,8 @@
1
- 3.0.0
1
+ 3.0.3
2
+ chore: updated .d.ts information
3
+ 3.0.2
4
+ chore: updated .npmignore
5
+ 3.0.1
2
6
  feat: Introduce the new IO Connect Workspaces API
3
7
  1.24.1
4
8
  chore: bump due to dependencies update
@@ -5276,7 +5276,7 @@ class IoC {
5276
5276
  }
5277
5277
  }
5278
5278
 
5279
- var version = "3.0.1";
5279
+ var version = "3.0.3";
5280
5280
 
5281
5281
  const composeAPI = (glue, ioc) => {
5282
5282
  const controller = ioc.controller;
@@ -5282,7 +5282,7 @@
5282
5282
  }
5283
5283
  }
5284
5284
 
5285
- var version = "3.0.1";
5285
+ var version = "3.0.3";
5286
5286
 
5287
5287
  const composeAPI = (glue, ioc) => {
5288
5288
  const controller = ioc.controller;
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e="undefined"!=typeof globalThis?globalThis:e||self).workspaces=e.workspaces||{},e.workspaces.min=t())}(this,(function(){"use strict";function e(e,t,i,o){return new(i||(i=Promise))((function(r,n){function s(e){try{d(o.next(e))}catch(e){n(e)}}function a(e){try{d(o.throw(e))}catch(e){n(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}d((o=o.apply(e,t||[])).next())}))}function t(e){if(e&&e.errorHandling&&"function"!=typeof e.errorHandling&&"log"!==e.errorHandling&&"silent"!==e.errorHandling&&"throw"!==e.errorHandling)throw new Error('Invalid options passed to createRegistry. Prop errorHandling should be ["log" | "silent" | "throw" | (err) => void], but '+typeof e.errorHandling+" was passed");var t=e&&"function"==typeof e.errorHandling&&e.errorHandling,i={};function o(i,o){var r=i instanceof Error?i:new Error(i);if(t)t(r);else{var n='[ERROR] callback-registry: User callback for key "'+o+'" failed: '+r.stack;if(e)switch(e.errorHandling){case"log":return console.error(n);case"silent":return;case"throw":throw new Error(n)}console.error(n)}}return{add:function(e,t,r){var n=i[e];return n||(n=[],i[e]=n),n.push(t),r&&setTimeout((function(){r.forEach((function(r){var n;if(null===(n=i[e])||void 0===n?void 0:n.includes(t))try{Array.isArray(r)?t.apply(void 0,r):t.apply(void 0,[r])}catch(t){o(t,e)}}))}),0),function(){var o=i[e];o&&(0===(o=o.reduce((function(e,i,o){return i===t&&e.length===o||e.push(i),e}),[])).length?delete i[e]:i[e]=o)}},execute:function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var n=i[e];if(!n||0===n.length)return[];var s=[];return n.forEach((function(i){try{var r=i.apply(void 0,t);s.push(r)}catch(t){s.push(void 0),o(t,e)}})),s},clear:function(){i={}},clearKey:function(e){i[e]&&delete i[e]}}}t.default=t;var i=t,o=function(e){return{ok:!0,result:e}},r=function(e){return{ok:!1,error:e}},n=function(e){return!0===e.ok?Promise.resolve(e.result):Promise.reject(e.error)},s=function(e){if(!0===e.ok)return e.result;throw e.error},a=function(e,t){return!0===t.ok?o(e(t.result)):t},d=function(e,t,i){return!1===t.ok?t:!1===i.ok?i:o(e(t.result,i.result))},c=function(e,t){return!0===t.ok?t:r(e(t.error))},l=function(e,t){return!0===t.ok?e(t.result):t},h=function(){return h=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},h.apply(this,arguments)};function u(e,t){if(e===t)return!0;if(null===e&&null===t)return!0;if(typeof e!=typeof t)return!1;if("object"==typeof e){if(Array.isArray(e)){if(!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(var i=0;i<e.length;i++)if(!u(e[i],t[i]))return!1;return!0}var o=Object.keys(e);if(o.length!==Object.keys(t).length)return!1;for(i=0;i<o.length;i++){if(!t.hasOwnProperty(o[i]))return!1;if(!u(e[o[i]],t[o[i]]))return!1}return!0}}var p=function(e){return Array.isArray(e)},m=function(e){return"object"==typeof e&&null!==e&&!p(e)},w=function(e,t){return"expected "+e+", got "+function(e){switch(typeof e){case"string":return"a string";case"number":return"a number";case"boolean":return"a boolean";case"undefined":return"undefined";case"object":return e instanceof Array?"an array":null===e?"null":"an object";default:return JSON.stringify(e)}}(t)},g=function(e){return e.map((function(e){return"string"==typeof e?"."+e:"["+e+"]"})).join("")},f=function(e,t){var i=t.at,o=function(e,t){var i={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(i[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(i[o[r]]=e[o[r]])}return i}(t,["at"]);return h({at:e+(i||"")},o)},y=function(){function e(t){var i=this;this.decode=t,this.run=function(e){return c((function(t){return{kind:"DecoderError",input:e,at:"input"+(t.at||""),message:t.message||""}}),i.decode(e))},this.runPromise=function(e){return n(i.run(e))},this.runWithException=function(e){return s(i.run(e))},this.map=function(t){return new e((function(e){return a(t,i.decode(e))}))},this.andThen=function(t){return new e((function(e){return l((function(i){return t(i).decode(e)}),i.decode(e))}))},this.where=function(t,o){return i.andThen((function(i){return t(i)?e.succeed(i):e.fail(o)}))}}return e.string=function(){return new e((function(e){return"string"==typeof e?o(e):r({message:w("a string",e)})}))},e.number=function(){return new e((function(e){return"number"==typeof e?o(e):r({message:w("a number",e)})}))},e.boolean=function(){return new e((function(e){return"boolean"==typeof e?o(e):r({message:w("a boolean",e)})}))},e.constant=function(t){return new e((function(e){return u(e,t)?o(t):r({message:"expected "+JSON.stringify(t)+", got "+JSON.stringify(e)})}))},e.object=function(t){return new e((function(e){if(m(e)&&t){var i={};for(var n in t)if(t.hasOwnProperty(n)){var s=t[n].decode(e[n]);if(!0!==s.ok)return void 0===e[n]?r({message:"the key '"+n+"' is required but was not present"}):r(f("."+n,s.error));void 0!==s.result&&(i[n]=s.result)}return o(i)}return m(e)?o(e):r({message:w("an object",e)})}))},e.array=function(t){return new e((function(e){if(p(e)&&t){return e.reduce((function(e,i,o){return d((function(e,t){return e.concat([t])}),e,function(e,i){return c((function(e){return f("["+i+"]",e)}),t.decode(e))}(i,o))}),o([]))}return p(e)?o(e):r({message:w("an array",e)})}))},e.tuple=function(t){return new e((function(e){if(p(e)){if(e.length!==t.length)return r({message:"expected a tuple of length "+t.length+", got one of length "+e.length});for(var i=[],n=0;n<t.length;n++){var s=t[n].decode(e[n]);if(!s.ok)return r(f("["+n+"]",s.error));i[n]=s.result}return o(i)}return r({message:w("a tuple of length "+t.length,e)})}))},e.union=function(t,i){for(var o=[],r=2;r<arguments.length;r++)o[r-2]=arguments[r];return e.oneOf.apply(e,[t,i].concat(o))},e.intersection=function(t,i){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];return new e((function(e){return[t,i].concat(r).reduce((function(t,i){return d(Object.assign,t,i.decode(e))}),o({}))}))},e.anyJson=function(){return new e((function(e){return o(e)}))},e.unknownJson=function(){return new e((function(e){return o(e)}))},e.dict=function(t){return new e((function(e){if(m(e)){var i={};for(var n in e)if(e.hasOwnProperty(n)){var s=t.decode(e[n]);if(!0!==s.ok)return r(f("."+n,s.error));i[n]=s.result}return o(i)}return r({message:w("an object",e)})}))},e.optional=function(t){return new e((function(e){return null==e?o(void 0):t.decode(e)}))},e.oneOf=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return new e((function(e){for(var i=[],o=0;o<t.length;o++){var n=t[o].decode(e);if(!0===n.ok)return n;i[o]=n.error}var s=i.map((function(e){return"at error"+(e.at||"")+": "+e.message})).join('", "');return r({message:'expected a value matching one of the decoders, got the errors ["'+s+'"]'})}))},e.withDefault=function(t,i){return new e((function(e){return o(function(e,t){return!0===t.ok?t.result:e}(t,i.decode(e)))}))},e.valueAt=function(t,i){return new e((function(e){for(var o=e,n=0;n<t.length;n++){if(void 0===o)return r({at:g(t.slice(0,n+1)),message:"path does not exist"});if("string"==typeof t[n]&&!m(o))return r({at:g(t.slice(0,n+1)),message:w("an object",o)});if("number"==typeof t[n]&&!p(o))return r({at:g(t.slice(0,n+1)),message:w("an array",o)});o=o[t[n]]}return c((function(e){return void 0===o?{at:g(t),message:"path does not exist"}:f(g(t),e)}),i.decode(o))}))},e.succeed=function(t){return new e((function(e){return o(t)}))},e.fail=function(t){return new e((function(e){return r({message:t})}))},e.lazy=function(t){return new e((function(e){return t().decode(e)}))},e}(),v=y.string,k=y.number,b=y.boolean,W=y.anyJson;y.unknownJson;var I=y.constant,x=y.object,S=y.array;y.tuple,y.dict;var D=y.optional,C=y.oneOf;y.union;var E=y.intersection;y.withDefault,y.valueAt,y.succeed,y.fail;var B=y.lazy;const T=v().where((e=>e.length>0),"Expected a non-empty string"),M=k().where((e=>e>=0),"Expected a non-negative number"),R=k().where((e=>e>0),"Expected a positive number"),A=x({inWorkspace:b()}),L=C(I("workspace"),I("row"),I("column"),I("group")),P=C(I("row"),I("column"),I("group")),F=C(I("maximized"),I("minimized"),I("normal")),z=C(I("workspace")),H=(e,t)=>{const i=typeof e;if(t&&"function"!==i&&"undefined"!==i)throw new Error(`Provided argument must be either undefined or of type function, provided: ${i}`);if(!t&&"function"!==i)throw new Error(`Provided argument must be of type function, provided: ${i}`)},$=D(x({saveLayout:D(b())})),O=x({name:T}),j=x({minWidth:D(k()),maxWidth:D(k()),minHeight:D(k()),maxHeight:D(k()),allowExtract:D(b()),allowReorder:D(b()),showCloseButton:D(b())}),_=x({minWidth:D(k()),maxWidth:D(k()),minHeight:D(k()),maxHeight:D(k()),allowExtract:D(b()),allowReorder:D(b()),allowDrop:D(b()),allowDropHeader:D(b()),allowDropLeft:D(b()),allowDropRight:D(b()),allowDropTop:D(b()),allowDropBottom:D(b()),showMaximizeButton:D(b()),showEjectButton:D(b()),showAddWindowButton:D(b())}),G=x({minHeight:D(k()),maxHeight:D(k()),allowDrop:D(b()),allowSplitters:D(b()),isPinned:D(b()),maximizationBoundary:D(b())}),N=x({minWidth:D(k()),maxWidth:D(k()),allowDrop:D(b()),allowSplitters:D(b()),isPinned:D(b()),maximizationBoundary:D(b())}),J=x({type:D(I("window")),appName:D(T),windowId:D(T),context:D(W()),config:D(j)}),U=x({type:I("window"),appName:D(T),windowId:D(T),context:D(W()),config:D(j)}),K=D(x({type:D(P),children:D(B((()=>S(C(J,K))))),config:D(W())})),q=x({type:I("column"),children:D(B((()=>S(C(U,X))))),config:D(N)}),Q=x({type:I("row"),children:D(B((()=>S(C(U,X))))),config:D(G)}),V=x({type:I("group"),children:D(B((()=>S(C(U,X))))),config:D(_)}),X=C(V,q,Q);C(v().where((e=>"maximized"===e.toLowerCase()),"Expected a case insensitive variation of 'maximized'"),v().where((e=>"normal"===e.toLowerCase()),"Expected a case insensitive variation of 'normal'"));const Y=x({bounds:D(x({left:D(k()),top:D(k()),width:D(M),height:D(M)})),frameId:D(T)}),Z=C(I("direct"),I("delayed"),I("lazy")),ee=D(x({app:D(T),context:D(W()),loadingStrategy:D(Z),title:D(T),reuseWorkspaceId:D(T),frameId:D(T),applicationName:D(T),lockdown:D(b()),activateFrame:D(b()),newFrame:D(C(Y,b())),noTabHeader:D(b()),inMemoryLayout:D(b()),icon:D(T),isPinned:D(b()),isSelected:D(b()),positionIndex:D(M),allowSystemHibernation:D(b())})),te=x({name:T,restoreOptions:D(ee)}),ie=x({children:D(S(C(J,X))),context:D(W()),config:D(x({title:D(T),position:D(M),isFocused:D(b()),noTabHeader:D(b()),reuseWorkspaceId:D(T),loadingStrategy:D(Z),allowDrop:D(b()),allowDropLeft:D(b()),allowDropTop:D(b()),allowDropRight:D(b()),allowDropBottom:D(b()),allowSystemHibernation:D(b()),allowExtract:D(b()),allowWindowReorder:D(b()),showSaveButton:D(b()),allowWorkspaceTabReorder:D(b()),allowWorkspaceTabExtract:D(b()),showCloseButton:D(b()),allowSplitters:D(b()),showWindowCloseButtons:D(b()),showEjectButtons:D(b()),showAddWindowButtons:D(b()),icon:D(T),isPinned:D(b()),isSelected:D(b()),positionIndex:D(M)})),frame:D(x({reuseFrameId:D(T),applicationName:D(T),newFrame:D(C(b(),Y))}))}),oe=x({workspaceId:T}),re=x({name:T,restoreOptions:D(ee)}),ne=D(x({applicationName:D(v()),frameConfig:D(Y),context:D(x()),layoutComponentId:D(T)})),se=x({workspaces:S(C(D(ie),D(re)))}),ae=x({frameId:T,workspaces:S(C(ie,re))}),de=x({type:L,definition:D(C(ie,K))}),ce=E(ie,x({saveConfig:D(x({saveLayout:D(b())}))})),le=x({itemId:T}),he=x({context:D(x())}),ue=x({id:T,isFocused:D(b()),isInitialized:D(b()),initializationContext:D(he)});x({type:P,id:T,frameId:T,workspaceId:T,positionIndex:k()});const pe=C(I("frame"),I("workspace"),I("container"),I("window")),me=x({type:pe,branch:T}),we=C(I("opened"),I("closing"),I("closed"),I("focus"),I("added"),I("loaded"),I("removed"),I("childrenUpdate"),I("containerChange"),I("maximized"),I("restored"),I("minimized"),I("normal"),I("selected"),I("lock-configuration-changed"),I("hibernated"),I("resumed")),ge=x({frameId:T,title:T,positionIndex:M,name:T,layoutName:D(T),isHibernated:D(b()),isSelected:D(b()),allowDrop:D(b()),allowSystemHibernation:D(b()),allowExtract:D(b()),allowWindowReorder:D(b()),allowSplitters:D(b()),showCloseButton:D(b()),showSaveButton:D(b()),allowWorkspaceTabReorder:D(b()),allowWorkspaceTabExtract:D(b()),allowDropLeft:D(b()),allowDropTop:D(b()),allowDropRight:D(b()),allowDropBottom:D(b()),minWidth:D(k()),maxWidth:D(k()),minHeight:D(k()),maxHeight:D(k()),showAddWindowButtons:D(b()),showEjectButtons:D(b()),showWindowCloseButtons:D(b()),widthInPx:D(k()),heightInPx:D(k()),isPinned:D(b())}),fe=x({frameId:T,workspaceId:T,positionIndex:k(),minWidth:D(k()),maxWidth:D(k()),minHeight:D(k()),maxHeight:D(k())}),ye=W(),ve=E(fe,x({windowId:D(T),isMaximized:D(b()),isFocused:b(),isSelected:D(b()),title:D(v()),appName:D(T),allowExtract:D(b()),allowReorder:D(b()),showCloseButton:D(b()),minWidth:D(k()),minHeight:D(k()),maxWidth:D(k()),maxHeight:D(k()),widthInPx:D(k()),heightInPx:D(k()),context:D(W())})),ke=x({id:D(T),config:ye,children:D(B((()=>S(We)))),type:C(I("row"),I("column"),I("group"))}),be=x({id:D(T),config:ve,type:I("window")}),We=C(be,ke),Ie=x({id:T,config:ge,children:S(We),frameSummary:ue,context:D(W())}),xe=x({type:I("window"),config:x({appName:T,windowId:D(T),context:D(W()),url:D(T),title:D(v()),allowExtract:D(b()),allowReorder:D(b()),showCloseButton:D(b()),minWidth:D(k()),minHeight:D(k()),maxWidth:D(k()),maxHeight:D(k()),isMaximized:D(b())})}),Se=x({type:I("group"),config:W(),children:S(C(xe))}),De=x({type:I("column"),config:W(),children:S(C(Se,xe,B((()=>De)),B((()=>Ce))))}),Ce=x({type:I("row"),config:W(),children:S(C(De,Se,xe,B((()=>Ce))))}),Ee=x({name:T,type:I("Workspace"),metadata:D(W()),components:S(x({type:I("Workspace"),application:D(v()),state:x({config:W(),context:W(),children:S(C(Ce,De,Se,xe))})}))}),Be=x({layout:Ee,mode:C(I("replace"),I("merge"))}),Te=x({layouts:S(Ee),mode:C(I("replace"),I("merge"))}),Me=x({layouts:S(Ee)}),Re=x({id:T,isFocused:D(b()),isInitialized:D(b()),initializationContext:D(he)}),Ae=x({summaries:S(Re)}),Le=x({id:T,config:ge}),Pe=x({summaries:S(Le)}),Fe=x({id:T,config:W(),workspaces:S(Ie)}),ze=x({name:T,applicationName:D(v())}),He=x({summaries:S(ze)}),$e=x({windowId:T}),Oe=W(),je=x({state:F}),_e=x({top:k(),left:k(),width:M,height:M}),Ge=x({bounds:_e}),Ne=x({icon:D(T)}),Je=x({id:D(T)}),Ue=x({isSupported:b()}),Ke=x({width:D(R),height:D(R),relative:D(b())}),qe=x({top:D(k()),left:D(k()),relative:D(b())}),Qe=x({itemId:T}),Ve=x({itemId:T,excludeIds:D(b())}),Xe=x({frameId:T,requestedState:F}),Ye=x({itemId:T,title:T}),Ze=x({itemId:T,containerId:T}),et=E(Qe,Ke),tt=x({itemId:T,enabled:b()}),it=E(Qe,qe);x({id:T,type:P});const ot=x({definition:J,parentId:T,parentType:L}),rt=x({definition:X,parentId:T,parentType:L}),nt=x({itemId:T,windowId:D(T)}),st=x({live:b()}),at=x({type:C(I("row"),I("column")),workspaceId:T}),dt=x({type:C(I("row"),I("column")),itemId:T}),ct=x({itemId:T,config:ye}),lt=x({frameSummary:ue,frameBounds:D(_e)}),ht=x({workspaceSummary:Le,frameSummary:ue,workspaceSnapshot:D(Ie),frameBounds:D(_e)}),ut=x({containerSummary:ct}),pt=x({windowSummary:x({itemId:T,parentId:T,config:ve})}),mt=x({name:T,workspaceId:T,saveContext:D(b()),metadata:D(x())}),wt=x({allowDrop:D(b()),allowDropLeft:D(b()),allowDropTop:D(b()),allowDropRight:D(b()),allowDropBottom:D(b()),allowSystemHibernation:D(b()),allowExtract:D(b()),allowWindowReorder:D(b()),allowSplitters:D(b()),showCloseButton:D(b()),showSaveButton:D(b()),allowWorkspaceTabReorder:D(b()),allowWorkspaceTabExtract:D(b()),showWindowCloseButtons:D(b()),showAddWindowButtons:D(b()),showEjectButtons:D(b())}),gt=x({workspaceId:T,config:D(wt)}),ft=x({allowExtract:D(b()),allowReorder:D(b()),showCloseButton:D(b())}),yt=x({width:D(M),height:D(M)}),vt=x({windowPlacementId:T,config:D(ft)}),kt=x({allowDrop:D(b()),allowSplitters:D(b())}),bt=x({allowDrop:D(b()),allowSplitters:D(b())}),Wt=x({allowExtract:D(b()),allowReorder:D(b()),allowDrop:D(b()),allowDropLeft:D(b()),allowDropRight:D(b()),allowDropTop:D(b()),allowDropBottom:D(b()),allowDropHeader:D(b()),showMaximizeButton:D(b()),showEjectButton:D(b()),showAddWindowButton:D(b())}),It=x({itemId:T,type:I("row"),config:D(kt)}),xt=x({itemId:T,type:I("column"),config:D(bt)}),St=x({itemId:T,type:I("group"),config:D(Wt)}),Dt=C(It,xt,St),Ct=x({workspaceId:T,icon:D(T)}),Et=x({workspaceId:T,icon:D(T)}),Bt=D(x({icon:D(T)})),Tt=x({shortcut:T,frameId:T}),Mt=x({shortcut:T,frameId:T}),Rt=x({enabled:b()}),At=x({itemId:T,type:z}),Lt=x({operation:T}),Pt="T42.Web.Platform.Control",Ft="T42.Web.Platform.WSP.Stream",zt={control:{name:"T42.Workspaces.Control",isStream:!1},frameStream:{name:"T42.Workspaces.Stream.Frame",isStream:!0},workspaceStream:{name:"T42.Workspaces.Stream.Workspace",isStream:!0},containerStream:{name:"T42.Workspaces.Stream.Container",isStream:!0},windowStream:{name:"T42.Workspaces.Stream.Window",isStream:!0}},Ht={control:{name:"T42.Workspaces.Client.Control",isStream:!1}},$t={frame:{name:"T42.Workspaces.Stream.Frame",payloadDecoder:lt},workspace:{name:"T42.Workspaces.Stream.Workspace",payloadDecoder:ht},container:{name:"T42.Workspaces.Stream.Container",payloadDecoder:ut},window:{name:"T42.Workspaces.Stream.Window",payloadDecoder:pt}},Ot={shortcutClicked:{name:"shortcutClicked",argsDecoder:Mt,resultDecoder:Oe}},jt={ping:{name:"ping",resultDecoder:st},isWindowInWorkspace:{name:"isWindowInWorkspace",argsDecoder:Qe,resultDecoder:A},createWorkspace:{name:"createWorkspace",resultDecoder:Ie,argsDecoder:ce},createFrame:{name:"createFrame",resultDecoder:Re,argsDecoder:ne},initFrame:{name:"initFrame",resultDecoder:Oe,argsDecoder:ae},getAllFramesSummaries:{name:"getAllFramesSummaries",resultDecoder:Ae},getFrameSummary:{name:"getFrameSummary",resultDecoder:ue,argsDecoder:le},getAllWorkspacesSummaries:{name:"getAllWorkspacesSummaries",resultDecoder:Pe},getWorkspaceSnapshot:{name:"getWorkspaceSnapshot",resultDecoder:Ie,argsDecoder:Qe},getAllLayoutsSummaries:{name:"getAllLayoutsSummaries",resultDecoder:He},openWorkspace:{name:"openWorkspace",argsDecoder:te,resultDecoder:Ie},deleteLayout:{name:"deleteLayout",resultDecoder:Oe,argsDecoder:O},saveLayout:{name:"saveLayout",resultDecoder:Ee,argsDecoder:mt},importLayout:{name:"importLayout",resultDecoder:Oe,argsDecoder:Be},importLayouts:{name:"importLayouts",resultDecoder:Oe,argsDecoder:Te},exportAllLayouts:{name:"exportAllLayouts",resultDecoder:Me},restoreItem:{name:"restoreItem",argsDecoder:Qe,resultDecoder:Oe},maximizeItem:{name:"maximizeItem",argsDecoder:Qe,resultDecoder:Oe},focusItem:{name:"focusItem",argsDecoder:Qe,resultDecoder:Oe},closeItem:{name:"closeItem",argsDecoder:Qe,resultDecoder:Oe},resizeItem:{name:"resizeItem",argsDecoder:et,resultDecoder:Oe},setMaximizationBoundary:{name:"setMaximizationBoundary",argsDecoder:tt,resultDecoder:Oe},changeFrameState:{name:"changeFrameState",argsDecoder:Xe,resultDecoder:Oe},getFrameState:{name:"getFrameState",argsDecoder:Qe,resultDecoder:je},getFrameBounds:{name:"getFrameBounds",argsDecoder:Qe,resultDecoder:Ge},moveFrame:{name:"moveFrame",argsDecoder:it,resultDecoder:Oe},getFrameSnapshot:{name:"getFrameSnapshot",argsDecoder:Ve,resultDecoder:Fe},forceLoadWindow:{name:"forceLoadWindow",argsDecoder:Qe,resultDecoder:$e},ejectWindow:{name:"ejectWindow",argsDecoder:Qe,resultDecoder:$e},setItemTitle:{name:"setItemTitle",argsDecoder:Ye,resultDecoder:Oe},moveWindowTo:{name:"moveWindowTo",argsDecoder:Ze,resultDecoder:Oe},addWindow:{name:"addWindow",argsDecoder:ot,resultDecoder:nt},addContainer:{name:"addContainer",argsDecoder:rt,resultDecoder:nt},bundleWorkspace:{name:"bundleWorkspace",argsDecoder:at,resultDecoder:Oe},bundleItem:{name:"bundleItem",argsDecoder:dt,resultDecoder:Oe},hibernateWorkspace:{name:"hibernateWorkspace",argsDecoder:oe,resultDecoder:Oe},resumeWorkspace:{name:"resumeWorkspace",argsDecoder:oe,resultDecoder:Oe},lockWorkspace:{name:"lockWorkspace",argsDecoder:gt,resultDecoder:Oe},lockWindow:{name:"lockWindow",argsDecoder:vt,resultDecoder:Oe},lockContainer:{name:"lockContainer",argsDecoder:Dt,resultDecoder:Oe},pinWorkspace:{name:"pinWorkspace",argsDecoder:Ct,resultDecoder:Oe},unpinWorkspace:{name:"unpinWorkspace",argsDecoder:oe,resultDecoder:Oe},getWorkspaceIcon:{name:"getWorkspaceIcon",argsDecoder:oe,resultDecoder:Ne},setWorkspaceIcon:{name:"setWorkspaceIcon",argsDecoder:Et,resultDecoder:Oe},registerShortcut:{name:"registerShortcut",argsDecoder:Tt,resultDecoder:Oe},unregisterShortcut:{name:"unregisterShortcut",argsDecoder:Tt,resultDecoder:Oe},showLoadingAnimation:{name:"showLoadingAnimation",argsDecoder:At,resultDecoder:Oe},hideLoadingAnimation:{name:"hideLoadingAnimation",argsDecoder:At,resultDecoder:Oe},getPlatformFrameId:{name:"getPlatformFrameId",resultDecoder:Je},operationCheck:{name:"operationCheck",argsDecoder:Lt,resultDecoder:Ue}};class _t{constructor(){this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}class Gt{constructor(e,t){this.transport=e,this.registry=t,this.activeSubscriptions=[],this.pendingSubScriptions=[]}createCoreEventSubscription(){return e(this,void 0,void 0,(function*(){yield this.transport.coreSubscriptionReady(this.handleCoreEvent.bind(this))}))}handleCoreSubscription(e){const t=`${e.eventType}-${e.action}`,i=e.scope,o=e.scopeId;return this.registry.add(t,(t=>{var r,n,s,a,d,c;const l={type:i,id:o},h={frame:(null===(r=t.frameSummary)||void 0===r?void 0:r.id)||(null===(n=t.windowSummary)||void 0===n?void 0:n.config.frameId),workspace:(null===(s=t.workspaceSummary)||void 0===s?void 0:s.id)||(null===(a=t.windowSummary)||void 0===a?void 0:a.config.workspaceId),container:null===(d=t.containerSummary)||void 0===d?void 0:d.itemId,window:null===(c=t.windowSummary)||void 0===c?void 0:c.itemId};this.checkScopeMatch(l,h)&&e.callback(t)}))}send(t,i){return e(this,void 0,void 0,(function*(){const e=Object.values(jt).find((e=>e.name===t));if(!e)throw new Error(`Cannot find definition for operation name: ${t}`);if(e.argsDecoder)try{e.argsDecoder.runWithException(i)}catch(e){throw new Error(`Unexpected internal outgoing validation error: ${e.message}, for input: ${JSON.stringify(e.input)}, for operation ${t}`)}try{const t=yield this.transport.transmitControl(e.name,i);return e.resultDecoder.runWithException(t),t}catch(e){if(e.kind)throw new Error(`Unexpected internal incoming validation error: ${e.message}, for input: ${JSON.stringify(e.input)}, for operation ${t}`);throw new Error(e.message)}}))}subscribe(t){return e(this,void 0,void 0,(function*(){const e=this.getPendingSubscription(t);e&&(yield e.promise);let i=this.getActiveSubscription(t);const o=this.getRegistryKey(t);if(!i){const e=new _t,o={streamType:t.eventType,level:t.scope,levelId:t.scopeId,promise:e.promise};this.pendingSubScriptions.push(o);try{const r=$t[t.eventType],n=yield this.transport.subscribe(r.name,this.getBranchKey(t),t.eventType);n.onData((e=>{const t=e.data,i=me.run(e.requestArguments),o=we.run(t.action);if(!i.ok||!o.ok)return;const r=i.result.type,n=`${r}-${i.result.branch}-${o.result}`,s=$t[r].payloadDecoder.run(t.payload);s.ok&&this.registry.execute(n,s.result)})),i={streamType:t.eventType,level:t.scope,levelId:t.scopeId,callbacksCount:0,gdSub:n},this.activeSubscriptions.push(i),e.resolve()}catch(t){throw e.reject(t),t}finally{this.removePendingSubscription(o)}}const r=this.registry.add(o,t.callback);return++i.callbacksCount,()=>{r(),--i.callbacksCount,0===i.callbacksCount&&(i.gdSub.close(),this.activeSubscriptions.splice(this.activeSubscriptions.indexOf(i),1))}}))}onOperation(e){return this.transport.onInternalMethodInvoked("control",((t,i)=>{const o=t.operation,r=t.data,n=Object.values(Ot).find((e=>e.name===o));if(!n)throw new Error(`Cannot find definition for operation name: ${o}`);if(n.argsDecoder)try{n.argsDecoder.runWithException(r)}catch(e){throw new Error(`Unexpected internal outgoing validation error: ${e.message}, for input: ${JSON.stringify(e.input)}, for operation ${o}`)}e(t,i)}))}checkScopeMatch(e,t){return"global"===e.type||("frame"===e.type&&e.id===t.frame||("workspace"===e.type&&e.id===t.workspace||("container"===e.type&&e.id===t.container||"window"===e.type&&e.id===t.window)))}handleCoreEvent(e){const t=e.data;try{const e=we.runWithException(t.action),i=pe.runWithException(t.type),o=$t[i].payloadDecoder.runWithException(t.payload),r=`${i}-${e}`;this.registry.execute(r,o)}catch(e){console.warn(`Cannot handle event with data ${JSON.stringify(t)}, because of validation error: ${e.message}`)}}getBranchKey(e){return"global"===e.scope?e.scope:`${e.scope}_${e.scopeId}`}getRegistryKey(e){return`${e.eventType}-${this.getBranchKey(e)}-${e.action}`}getActiveSubscription(e){return this.activeSubscriptions.find((t=>t.streamType===e.eventType&&t.level===e.scope&&t.levelId===e.scopeId))}getPendingSubscription(e){return this.pendingSubScriptions.find((t=>t.streamType===e.eventType&&t.level===e.scope&&t.levelId===e.scopeId))}removePendingSubscription(e){const t=this.pendingSubScriptions.indexOf(e);t>=0&&this.pendingSubScriptions.splice(t,1)}}class Nt{constructor(e,t){this.agm=e,this.registry=t,this.defaultTransportTimeout=3e4,this.coreEventMethodInitiated=!1}initiate(t){return e(this,void 0,void 0,(function*(){if(window.glue42gd||window.iodesktop)return yield Promise.all(Object.values(zt).map((e=>this.verifyMethodLive(e.name)))),void(yield Promise.all(Object.keys(Ht).map((e=>this.registerMethod(e)))));const e=(window.glue42core||window.iobrowser).communicationId;yield Promise.all([this.verifyMethodLive(Pt,e),this.verifyMethodLive(Ft,e)]),yield this.transmitControl("frameHello",{windowId:t})}))}coreSubscriptionReady(e){return this.coreEventMethodInitiated||this.subscribePlatform(e),this.corePlatformSubPromise}subscribePlatform(e){this.coreEventMethodInitiated=!0;const t=(window.glue42core||window.iobrowser).communicationId;this.corePlatformSubPromise=this.agm.subscribe(Ft,t?{target:{instance:t}}:void 0),this.corePlatformSubPromise.then((t=>{t.onData((t=>e(t.data)))}))}subscribe(t,i,o){return e(this,void 0,void 0,(function*(){const e={branch:i,type:o};let r;try{r=yield this.agm.subscribe(t,{arguments:e})}catch(e){const o=`Internal subscription error! Error details: stream - ${t}, branch: ${i}. Internal message: ${e.message}`;throw new Error(o)}return r}))}transmitControl(t,i){return e(this,void 0,void 0,(function*(){const e=window.glue42gd||window.iodesktop,o=window.glue42core||window.iobrowser,r=e?{operation:t,operationArguments:i}:{operation:t,domain:"workspaces",data:i},n=e?zt.control.name:Pt,s=e?void 0:o.communicationId;let a;const d=`Internal Workspaces Communication Error. Attempted operation: ${JSON.stringify(r)}. `;try{if(a=yield this.agm.invoke(n,r,s?{instance:s}:"best",{methodResponseTimeoutMs:this.defaultTransportTimeout}),!a)throw new Error("Received unsupported result from GD - empty result");if(!Array.isArray(a.all_return_values)||0===a.all_return_values.length)throw new Error("Received unsupported result from GD - empty values collection")}catch(e){if(e&&e.all_errors&&e.all_errors.length){const t=e.all_errors[0].message;throw new Error(`${d} -> Inner message: ${t}`)}throw new Error(`${d} -> Inner message: ${e.message}`)}return a.all_return_values[0].returned}))}onInternalMethodInvoked(e,t){return this.registry.add(e,t)}verifyMethodLive(e,t){return i=()=>new Promise((i=>{if(this.agm.methods().some((i=>{const o=i.name===e,r=!t||i.getServers().some((e=>e.instance===t));return o&&r})))return void i();const o=this.agm.serverMethodAdded((r=>{const n=r.method,s=r.server,a=!t||s.instance===t;n.name===e&&a&&(o(),i())}))})),o=15e3,r="Timeout waiting for the Workspaces communication channels",new Promise(((e,t)=>{let n=!0;const s=setTimeout((()=>{n&&(n=!1,t(r||`Promise timeout hit: ${o}`))}),o);i().then((t=>{n&&(n=!1,clearTimeout(s),e(t))})).catch((e=>{n&&(n=!1,clearTimeout(s),t(e))}))}));var i,o,r}registerMethod(e){const t=Ht[e];return this.agm.register(t.name,((t,i)=>{this.registry.execute(e,t,i)}))}}const Jt=new WeakMap;class Ut{constructor(e,t){const i=t.wrapChildren(e.children);delete e.children,Jt.set(this,{base:t,children:i,definition:e})}get type(){return Jt.get(this).definition.type}addColumn(e){return Jt.get(this).base.add("column",Jt.get(this).children,e)}addRow(e){return Jt.get(this).base.add("row",Jt.get(this).children,e)}addGroup(e){return Jt.get(this).base.add("group",Jt.get(this).children,e)}addWindow(e){return Jt.get(this).base.addWindow(Jt.get(this).children,e),this}serialize(){const e=Jt.get(this).definition;return e.children=Jt.get(this).base.serializeChildren(Jt.get(this).children),e}}class Kt{constructor(e){this.getBuilder=e}wrapChildren(e){return e.map((e=>"window"===e.type?e:this.getBuilder({type:e.type,definition:e})))}add(e,t,i){const o=K.runWithException(i),r=this.getBuilder({type:e,definition:o});return t.push(r),r}addWindow(e,t){const i=J.runWithException(t);i.type="window",e.push(i)}serializeChildren(e){return e.map((e=>e instanceof Ut?e.serialize():e))}}const qt=new WeakMap;class Qt{constructor(e,t,i){const o=t.wrapChildren(e.children);delete e.children,qt.set(this,{base:t,children:o,definition:e,controller:i})}addColumn(e){const t=qt.get(this).children;if(!t.every((e=>e instanceof Ut&&"column"===e.type)))throw new Error("Cannot add a column to this workspace, because there are already children of another type");return qt.get(this).base.add("column",t,e)}addRow(e){const t=qt.get(this).children;if(!t.every((e=>e instanceof Ut&&"row"===e.type)))throw new Error("Cannot add a row to this workspace, because there are already children of another type");return qt.get(this).base.add("row",t,e)}addGroup(e){const t=qt.get(this).children;if(0!==t.length)throw new Error("Cannot add a group to this workspace, because there are already defined children.");return qt.get(this).base.add("group",t,e)}addWindow(e){const t=qt.get(this).children;if(0!==t.length)throw new Error("Cannot add a window to this workspace, because there are already defined children.");return qt.get(this).base.addWindow(t,e),this}getChildAt(e){M.runWithException(e);return qt.get(this).children[e]}create(t){return e(this,void 0,void 0,(function*(){const e=$.runWithException(t),i=qt.get(this).definition;i.children=qt.get(this).base.serializeChildren(qt.get(this).children);return qt.get(this).controller.createWorkspace(i,e)}))}}const Vt=new WeakMap,Xt=e=>Vt.get(e).base;class Yt{constructor(e){Vt.set(this,{base:e})}get type(){return"row"}get id(){return Xt(this).getId(this)}get frameId(){return Xt(this).getFrameId(this)}get workspaceId(){return Xt(this).getWorkspaceId(this)}get positionIndex(){return Xt(this).getPositionIndex(this)}get children(){return Xt(this).getAllChildren(this)}get parent(){return Xt(this).getMyParent(this)}get frame(){return Xt(this).getMyFrame(this)}get workspace(){return Xt(this).getMyWorkspace(this)}get allowDrop(){return Xt(this).getAllowDrop(this)}get allowSplitters(){return Xt(this).getAllowSplitters(this)}get minWidth(){return Xt(this).getMinWidth(this)}get minHeight(){return Xt(this).getMinHeight(this)}get maxWidth(){return Xt(this).getMaxWidth(this)}get maxHeight(){return Xt(this).getMaxHeight(this)}get width(){return Xt(this).getWidthInPx(this)}get height(){return Xt(this).getHeightInPx(this)}get isPinned(){return Xt(this).getIsPinned(this)}get isMaximized(){return Xt(this).getIsMaximized(this)}get maximizationBoundary(){return Xt(this).getMaximizationBoundary(this)}addWindow(e){return Xt(this).addWindow(this,e,"row")}addGroup(t){return e(this,void 0,void 0,(function*(){if((null==t?void 0:t.type)&&"group"!==t.type)throw new Error(`Expected a group definition, but received ${t.type}`);return Xt(this).addParent(this,"group","row",t)}))}addColumn(t){return e(this,void 0,void 0,(function*(){if((null==t?void 0:t.type)&&"column"!==t.type)throw new Error(`Expected a column definition, but received ${t.type}`);return Xt(this).addParent(this,"column","row",t)}))}addRow(){return e(this,void 0,void 0,(function*(){throw new Error("Adding rows as row children is not supported")}))}removeChild(e){return Xt(this).removeChild(this,e)}maximize(){return Xt(this).maximize(this)}restore(){return Xt(this).restore(this)}close(){return Xt(this).close(this)}lock(e){let t;if("function"==typeof e){t=e({allowDrop:this.allowDrop,allowSplitters:this.allowSplitters})}else t=e;const i=void 0===t?void 0:kt.runWithException(t);return Xt(this).lockContainer(this,i)}setHeight(t){return e(this,void 0,void 0,(function*(){return M.runWithException(t),Xt(this).setHeight(this,t)}))}onLockConfigurationChanged(t){return e(this,void 0,void 0,(function*(){H(t),Xt(this).getId(this);const i={callback:()=>e(this,void 0,void 0,(function*(){yield this.workspace.refreshReference(),t({allowDrop:this.allowDrop,allowSplitters:this.allowSplitters})})),action:"lock-configuration-changed",eventType:"container",scope:"container"};return yield Xt(this).processLocalSubscription(this,i)}))}setMaximizationBoundary(t){return e(this,void 0,void 0,(function*(){const e=Rt.runWithException(t);return Xt(this).setMaximizationBoundary(this,e)}))}}const Zt=new WeakMap,ei=e=>Zt.get(e).base;class ti{constructor(e){Zt.set(this,{base:e})}get type(){return"column"}get id(){return ei(this).getId(this)}get frameId(){return ei(this).getFrameId(this)}get workspaceId(){return ei(this).getWorkspaceId(this)}get positionIndex(){return ei(this).getPositionIndex(this)}get children(){return ei(this).getAllChildren(this)}get parent(){return ei(this).getMyParent(this)}get frame(){return ei(this).getMyFrame(this)}get workspace(){return ei(this).getMyWorkspace(this)}get allowDrop(){return ei(this).getAllowDrop(this)}get allowSplitters(){return ei(this).getAllowSplitters(this)}get minWidth(){return ei(this).getMinWidth(this)}get minHeight(){return ei(this).getMinHeight(this)}get maxWidth(){return ei(this).getMaxWidth(this)}get maxHeight(){return ei(this).getMaxHeight(this)}get width(){return ei(this).getWidthInPx(this)}get height(){return ei(this).getHeightInPx(this)}get isPinned(){return ei(this).getIsPinned(this)}get isMaximized(){return ei(this).getIsMaximized(this)}get maximizationBoundary(){return ei(this).getMaximizationBoundary(this)}addWindow(e){return ei(this).addWindow(this,e,"column")}addGroup(t){return e(this,void 0,void 0,(function*(){if((null==t?void 0:t.type)&&"group"!==t.type)throw new Error(`Expected a group definition, but received ${t.type}`);return ei(this).addParent(this,"group","column",t)}))}addColumn(t){return e(this,void 0,void 0,(function*(){throw new Error("Adding columns as column children is not supported")}))}addRow(t){return e(this,void 0,void 0,(function*(){if((null==t?void 0:t.type)&&"row"!==t.type)throw new Error(`Expected a row definition, but received ${t.type}`);return ei(this).addParent(this,"row","column",t)}))}removeChild(e){return ei(this).removeChild(this,e)}maximize(){return ei(this).maximize(this)}restore(){return ei(this).restore(this)}close(){return ei(this).close(this)}lock(e){let t;if("function"==typeof e){t=e({allowDrop:this.allowDrop,allowSplitters:this.allowSplitters})}else t=e;const i=void 0===t?void 0:bt.runWithException(t);return ei(this).lockContainer(this,i)}setWidth(t){return e(this,void 0,void 0,(function*(){return M.runWithException(t),ei(this).setWidth(this,t)}))}onLockConfigurationChanged(t){return e(this,void 0,void 0,(function*(){H(t),ei(this).getId(this);const i={callback:()=>e(this,void 0,void 0,(function*(){yield this.workspace.refreshReference(),t({allowDrop:this.allowDrop,allowSplitters:this.allowSplitters})})),action:"lock-configuration-changed",eventType:"container",scope:"container"};return yield ei(this).processLocalSubscription(this,i)}))}setMaximizationBoundary(t){return e(this,void 0,void 0,(function*(){const e=Rt.runWithException(t);return ei(this).setMaximizationBoundary(this,e)}))}}const ii=new WeakMap,oi=e=>ii.get(e).base;class ri{constructor(e){ii.set(this,{base:e})}get type(){return"group"}get id(){return oi(this).getId(this)}get frameId(){return oi(this).getFrameId(this)}get workspaceId(){return oi(this).getWorkspaceId(this)}get positionIndex(){return oi(this).getPositionIndex(this)}get children(){return oi(this).getAllChildren(this)}get parent(){return oi(this).getMyParent(this)}get frame(){return oi(this).getMyFrame(this)}get workspace(){return oi(this).getMyWorkspace(this)}get allowExtract(){return oi(this).getAllowExtract(this)}get allowReorder(){return oi(this).getAllowReorder(this)}get allowDropLeft(){return oi(this).getAllowDropLeft(this)}get allowDropRight(){return oi(this).getAllowDropRight(this)}get allowDropTop(){return oi(this).getAllowDropTop(this)}get allowDropBottom(){return oi(this).getAllowDropBottom(this)}get allowDropHeader(){return oi(this).getAllowDropHeader(this)}get allowDrop(){return oi(this).getAllowDrop(this)}get showMaximizeButton(){return oi(this).getShowMaximizeButton(this)}get showEjectButton(){return oi(this).getShowEjectButton(this)}get showAddWindowButton(){return oi(this).getShowAddWindowButton(this)}get minWidth(){return oi(this).getMinWidth(this)}get minHeight(){return oi(this).getMinHeight(this)}get maxWidth(){return oi(this).getMaxWidth(this)}get maxHeight(){return oi(this).getMaxHeight(this)}get width(){return oi(this).getWidthInPx(this)}get height(){return oi(this).getHeightInPx(this)}get isMaximized(){return oi(this).getIsMaximized(this)}addWindow(e){return oi(this).addWindow(this,e,"group")}addGroup(){return e(this,void 0,void 0,(function*(){throw new Error("Adding groups as group child is not supported")}))}addColumn(){return e(this,void 0,void 0,(function*(){throw new Error("Adding columns as group child is not supported")}))}addRow(){return e(this,void 0,void 0,(function*(){throw new Error("Adding rows as group child is not supported")}))}removeChild(e){return oi(this).removeChild(this,e)}maximize(){return oi(this).maximize(this)}restore(){return oi(this).restore(this)}close(){return oi(this).close(this)}lock(e){let t;if("function"==typeof e){t=e({allowDrop:this.allowDrop,allowDropHeader:this.allowDropHeader,allowDropLeft:this.allowDropLeft,allowDropRight:this.allowDropRight,allowDropTop:this.allowDropTop,allowDropBottom:this.allowDropBottom,allowExtract:this.allowExtract,allowReorder:this.allowReorder,showAddWindowButton:this.showAddWindowButton,showEjectButton:this.showEjectButton,showMaximizeButton:this.showMaximizeButton})}else t=e;const i=void 0===t?void 0:Wt.runWithException(t);return oi(this).lockContainer(this,i)}setSize(t){return e(this,void 0,void 0,(function*(){const e=yt.runWithException(t);if(!e.width&&!e.height)throw new Error("Expected either width or height to be passed.");return oi(this).setSize(this,t.width,t.height)}))}bundleToRow(){return e(this,void 0,void 0,(function*(){yield oi(this).bundleTo(this,"row"),yield this.workspace.refreshReference()}))}bundleToColumn(){return e(this,void 0,void 0,(function*(){yield oi(this).bundleTo(this,"column"),yield this.workspace.refreshReference()}))}onLockConfigurationChanged(t){return e(this,void 0,void 0,(function*(){H(t);const i={callback:()=>e(this,void 0,void 0,(function*(){yield this.workspace.refreshReference(),t({allowDrop:this.allowDrop,allowDropHeader:this.allowDropHeader,allowDropLeft:this.allowDropLeft,allowDropTop:this.allowDropTop,allowDropRight:this.allowDropRight,allowDropBottom:this.allowDropBottom,allowExtract:this.allowExtract,allowReorder:this.allowReorder,showAddWindowButton:this.showAddWindowButton,showEjectButton:this.showEjectButton,showMaximizeButton:this.showMaximizeButton})})),action:"lock-configuration-changed",eventType:"container",scope:"container"};return yield oi(this).processLocalSubscription(this,i)}))}}const ni=new WeakMap,si=e=>ni.get(e).manager.getWorkspaceData(e),ai=e=>ni.get(e).manager;class di{constructor(e){ni.set(this,{manager:e})}get id(){return si(this).id}get frameId(){return si(this).config.frameId}get positionIndex(){return si(this).config.positionIndex}get title(){return si(this).config.title}get layoutName(){return si(this).config.layoutName}get isHibernated(){return si(this).config.isHibernated}get isSelected(){return si(this).config.isSelected}get children(){return si(this).children}get frame(){return si(this).frame}get allowSplitters(){return si(this).config.allowSplitters}get allowSystemHibernation(){return si(this).config.allowSystemHibernation}get allowDrop(){return si(this).config.allowDrop}get allowDropLeft(){return si(this).config.allowDropLeft}get allowDropTop(){return si(this).config.allowDropTop}get allowDropRight(){return si(this).config.allowDropRight}get allowDropBottom(){return si(this).config.allowDropBottom}get allowExtract(){return si(this).config.allowExtract}get allowWindowReorder(){return si(this).config.allowWindowReorder}get showCloseButton(){return si(this).config.showCloseButton}get showSaveButton(){return si(this).config.showSaveButton}get allowWorkspaceTabReorder(){return si(this).config.allowWorkspaceTabReorder}get allowWorkspaceTabExtract(){return si(this).config.allowWorkspaceTabExtract}get minWidth(){return si(this).config.minWidth}get minHeight(){return si(this).config.minHeight}get maxWidth(){return si(this).config.maxWidth}get maxHeight(){return si(this).config.maxHeight}get width(){return si(this).config.widthInPx}get height(){return si(this).config.heightInPx}get showWindowCloseButtons(){return si(this).config.showWindowCloseButtons}get showEjectButtons(){return si(this).config.showEjectButtons}get showAddWindowButtons(){return si(this).config.showAddWindowButtons}get isPinned(){return si(this).config.isPinned}removeChild(t){return e(this,void 0,void 0,(function*(){H(t);const e=this.children.find(t);e&&(yield e.close(),yield this.refreshReference())}))}remove(t){return e(this,void 0,void 0,(function*(){H(t);const e=si(this).controller.iterateFindChild(this.children,t);yield e.close(),yield this.refreshReference()}))}focus(){return e(this,void 0,void 0,(function*(){yield si(this).controller.focusItem(this.id),yield this.refreshReference()}))}close(){return e(this,void 0,void 0,(function*(){const e=si(this).controller,t=yield si(this).frame.workspaces(),i=(yield e.getPlatformFrameId()).id;if(1===t.length&&t.every((e=>e.id===this.id))&&i!==this.frame.id)return this.frame.close();yield e.closeItem(this.id)}))}snapshot(){return si(this).controller.getSnapshot(this.id,"workspace")}saveLayout(t,i){return e(this,void 0,void 0,(function*(){T.runWithException(t),yield si(this).controller.saveLayout({name:t,workspaceId:this.id,saveContext:null==i?void 0:i.saveContext,metadata:null==i?void 0:i.metadata})}))}setTitle(t){return e(this,void 0,void 0,(function*(){T.runWithException(t);const e=si(this).controller;yield e.setItemTitle(this.id,t),yield this.refreshReference()}))}getContext(){return si(this).controller.getWorkspaceContext(this.id)}setContext(e){return si(this).controller.setWorkspaceContext(this.id,e)}updateContext(e){return si(this).controller.updateWorkspaceContext(this.id,e)}onContextUpdated(e){return si(this).controller.subscribeWorkspaceContextUpdated(this.id,e)}refreshReference(){return e(this,void 0,void 0,(function*(){const e=yield si(this).controller.getSnapshot(this.id,"workspace"),t=si(this).controller.flatChildren(si(this).children),i=si(this).controller.refreshChildren({existingChildren:t,workspace:this,parent:this,children:e.children}),o=this.frame;let r;if(o.id===e.config.frameId)ai(this).remapFrame(o,e.frameSummary),r=o;else{const t={summary:e.frameSummary};r=si(this).ioc.getModel("frame",t)}ai(this).remapWorkspace(this,{config:e.config,children:i,frame:r})}))}getIcon(){return e(this,void 0,void 0,(function*(){return si(this).controller.getWorkspaceIcon(this.id)}))}setIcon(t){return e(this,void 0,void 0,(function*(){return si(this).controller.setWorkspaceIcon(this.id,t)}))}getBox(e){H(e);const t=si(this).children;return si(this).controller.iterateFindChild(t,(t=>"window"!==t.type&&e(t)))}getAllBoxes(e){H(e,!0);const t=si(this).children,i=si(this).controller.iterateFilterChildren(t,(e=>"window"!==e.type));return e?i.filter(e):i}getRow(e){return H(e),this.getBox((t=>"row"===t.type&&e(t)))}getAllRows(e){return H(e,!0),e?this.getAllBoxes((t=>"row"===t.type&&e(t))):this.getAllBoxes((e=>"row"===e.type))}getColumn(e){return H(e),this.getBox((t=>"column"===t.type&&e(t)))}getAllColumns(e){return H(e,!0),e?this.getAllBoxes((t=>"column"===t.type&&e(t))):this.getAllBoxes((e=>"column"===e.type))}getGroup(e){return H(e),this.getBox((t=>"group"===t.type&&e(t)))}getAllGroups(e){return H(e,!0),e?this.getAllBoxes((t=>"group"===t.type&&e(t))):this.getAllBoxes((e=>"group"===e.type))}getWindow(e){H(e);const t=si(this).children;return si(this).controller.iterateFindChild(t,(t=>"window"===t.type&&e(t)))}getAllWindows(e){H(e,!0);const t=si(this).children,i=si(this).controller.iterateFilterChildren(t,(e=>"window"===e.type));return e?i.filter(e):i}addRow(e){return si(this).base.addParent(this,"row","workspace",e)}addColumn(e){return si(this).base.addParent(this,"column","workspace",e)}addGroup(e){return si(this).base.addParent(this,"group","workspace",e)}addWindow(e){return si(this).base.addWindow(this,e,"workspace")}bundleToRow(){return e(this,void 0,void 0,(function*(){yield si(this).controller.bundleWorkspaceTo("row",this.id),yield this.refreshReference()}))}bundleToColumn(){return e(this,void 0,void 0,(function*(){yield si(this).controller.bundleWorkspaceTo("column",this.id),yield this.refreshReference()}))}hibernate(){return e(this,void 0,void 0,(function*(){yield si(this).controller.hibernateWorkspace(this.id),yield this.refreshReference()}))}resume(){return e(this,void 0,void 0,(function*(){yield si(this).controller.resumeWorkspace(this.id),yield this.refreshReference()}))}lock(t){return e(this,void 0,void 0,(function*(){let e;if("function"==typeof t){const i={allowDrop:this.allowDrop,allowDropLeft:this.allowDropLeft,allowDropTop:this.allowDropTop,allowDropRight:this.allowDropRight,allowDropBottom:this.allowDropBottom,allowSystemHibernation:this.allowSystemHibernation,allowExtract:this.allowExtract,allowWindowReorder:this.allowWindowReorder,allowSplitters:this.allowSplitters,showCloseButton:this.showCloseButton,showSaveButton:this.showSaveButton,allowWorkspaceTabReorder:this.allowWorkspaceTabReorder,allowWorkspaceTabExtract:this.allowWorkspaceTabExtract,showAddWindowButtons:this.showAddWindowButtons,showEjectButtons:this.showEjectButtons,showWindowCloseButtons:this.showWindowCloseButtons};e=t(i)}else e=t;const i=void 0===e?void 0:wt.runWithException(e);yield si(this).controller.lockWorkspace(this.id,i),yield this.refreshReference()}))}pin(t){return e(this,void 0,void 0,(function*(){Bt.runWithException(t),yield si(this).controller.pinWorkspace(this.id,null==t?void 0:t.icon),yield this.refreshReference()}))}unpin(){return e(this,void 0,void 0,(function*(){yield si(this).controller.unpinWorkspace(this.id),yield this.refreshReference()}))}showLoadingAnimation(){return e(this,void 0,void 0,(function*(){if(!(window.glue42gd||window.iodesktop))throw new Error("Not supported in IO Connect Browser");yield si(this).controller.showWorkspaceLoadingAnimation(this.id)}))}hideLoadingAnimation(){return e(this,void 0,void 0,(function*(){if(!(window.glue42gd||window.iodesktop))throw new Error("Not supported in IO Connect Browser");yield si(this).controller.hideWorkspaceLoadingAnimation(this.id)}))}onClosed(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"closed",eventType:"workspace",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){t({frameId:i.frameSummary.id,workspaceId:i.workspaceSummary.id,frameBounds:i.frameBounds})}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onHibernated(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"hibernated",eventType:"workspace",scope:"workspace",scopeId:i,callback:()=>e(this,void 0,void 0,(function*(){yield this.refreshReference(),t()}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onResumed(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"resumed",eventType:"workspace",scope:"workspace",scopeId:i,callback:()=>e(this,void 0,void 0,(function*(){yield this.refreshReference(),t()}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onWindowAdded(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"added",eventType:"window",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference();const e=this.getBox((e=>e.id===i.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===i.windowSummary.itemId));t(e)}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onWindowRemoved(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"removed",eventType:"window",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference();const{windowId:e,workspaceId:o,frameId:r}=i.windowSummary.config;t({windowId:e,workspaceId:o,frameId:r})}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onWindowLoaded(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"loaded",eventType:"window",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference();const e=this.getWindow((e=>e.id&&e.id===i.windowSummary.config.windowId));t(e)}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onWindowMaximized(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"maximized",eventType:"window",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference();const e=this.getBox((e=>e.id===i.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===i.windowSummary.itemId));t(e)}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onWindowRestored(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"restored",eventType:"window",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference();const e=this.getBox((e=>e.id===i.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===i.windowSummary.itemId));t(e)}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onWindowSelected(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"selected",eventType:"window",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference();const e=this.getBox((e=>e.id===i.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===i.windowSummary.itemId));t(e)}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onLockConfigurationChanged(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"lock-configuration-changed",eventType:"workspace",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference(),t({allowDrop:this.allowDrop,allowDropLeft:this.allowDropLeft,allowDropTop:this.allowDropTop,allowDropRight:this.allowDropRight,allowDropBottom:this.allowDropBottom,allowSystemHibernation:this.allowSystemHibernation,allowExtract:this.allowExtract,allowSplitters:this.allowSplitters,allowWindowReorder:this.allowWindowReorder,allowWorkspaceTabExtract:this.allowWorkspaceTabExtract,allowWorkspaceTabReorder:this.allowWorkspaceTabReorder,showAddWindowButtons:this.showAddWindowButtons,showCloseButton:this.showCloseButton,showEjectButtons:this.showEjectButtons,showSaveButton:this.showSaveButton,showWindowCloseButtons:this.showWindowCloseButtons})}))};return yield si(this).controller.processLocalSubscription(o,i)}))}}const ci=new WeakMap,li=e=>ci.get(e).manager.getWindowData(e);class hi{constructor(e){ci.set(this,{manager:e})}get id(){return li(this).config.windowId}get elementId(){return li(this).id}get type(){return"window"}get frameId(){return li(this).frame.id}get workspaceId(){return li(this).workspace.id}get positionIndex(){return li(this).config.positionIndex}get isMaximized(){return li(this).config.isMaximized}get isLoaded(){return li(this).controller.checkIsWindowLoaded(this.id)}get isSelected(){return li(this).config.isSelected}get focused(){return this.getGdWindow().isFocused}get title(){return li(this).config.title}get allowExtract(){return li(this).config.allowExtract}get allowReorder(){return li(this).config.allowReorder}get showCloseButton(){return li(this).config.showCloseButton}get width(){return li(this).config.widthInPx}get height(){return li(this).config.heightInPx}get minWidth(){return li(this).config.minWidth}get minHeight(){return li(this).config.minHeight}get maxWidth(){return li(this).config.maxWidth}get maxHeight(){return li(this).config.maxHeight}get workspace(){return li(this).workspace}get frame(){return li(this).frame}get parent(){return li(this).parent}get appName(){return li(this).config.appName}forceLoad(){return e(this,void 0,void 0,(function*(){if(this.isLoaded)return;const e=li(this).controller,t=li(this).id,i=yield e.forceLoadWindow(t);li(this).config.windowId=i,yield this.workspace.refreshReference()}))}focus(){return e(this,void 0,void 0,(function*(){const e=li(this).id,t=li(this).controller;yield t.focusItem(e),yield this.workspace.refreshReference()}))}close(){return e(this,void 0,void 0,(function*(){const e=li(this).id,t=li(this).controller;yield t.closeItem(e),yield li(this).parent.removeChild((t=>t.id===e)),yield this.workspace.refreshReference()}))}setTitle(t){return e(this,void 0,void 0,(function*(){T.runWithException(t);const e=li(this).id,i=li(this).controller;yield i.setItemTitle(e,t),yield this.workspace.refreshReference()}))}maximize(){return e(this,void 0,void 0,(function*(){const e=li(this).id,t=li(this).controller;yield t.maximizeItem(e),yield this.workspace.refreshReference()}))}restore(){return e(this,void 0,void 0,(function*(){const e=li(this).id,t=li(this).controller;yield t.restoreItem(e),yield this.workspace.refreshReference()}))}eject(){return e(this,void 0,void 0,(function*(){if(!this.isLoaded)throw new Error("Cannot eject this window, because it is not loaded yet");const e=li(this).id,t=yield li(this).controller.ejectWindow(e);return li(this).config.windowId=t,yield this.workspace.refreshReference(),this.getGdWindow()}))}getGdWindow(){if(!this.isLoaded)throw new Error("Cannot fetch this GD window, because the window is not yet loaded");const e=li(this).config.windowId;return li(this).controller.getGDWindow(e)}moveTo(t){return e(this,void 0,void 0,(function*(){if(!(t instanceof Yt||t instanceof ti||t instanceof ri))throw new Error("Cannot add to the provided parent, because the provided parent is not an instance of Row, Column or Group");const e=li(this).id,i=li(this).controller;if(!(yield i.getParent((e=>e.id===t.id))))throw new Error("Cannot move the window to the selected parent, because this parent does not exist.");yield i.moveWindowTo(e,t.id),yield this.workspace.refreshReference()}))}lock(t){return e(this,void 0,void 0,(function*(){let e;if("function"==typeof t){const i={allowExtract:this.allowExtract,allowReorder:this.allowReorder,showCloseButton:this.showCloseButton};e=t(i)}else e=t;const i=void 0===e?void 0:ft.runWithException(e),o=li(this).id;yield li(this).controller.lockWindow(o,i),yield this.workspace.refreshReference()}))}setSize(t){return e(this,void 0,void 0,(function*(){const e=yt.runWithException(t);if(!e.width&&!e.height)throw new Error("Expected either width or height to be passed.");const i=li(this).id,o=li(this).controller;yield o.resizeItem(i,{height:e.height,width:e.width,relative:!1}),yield this.workspace.refreshReference()}))}onRemoved(t){return e(this,void 0,void 0,(function*(){H(t);const i=li(this).id,o={callback:()=>e(this,void 0,void 0,(function*(){yield this.workspace.refreshReference(),t()})),action:"removed",eventType:"window",scope:"window"};return yield li(this).controller.processLocalSubscription(o,i)}))}onLockConfigurationChanged(t){return e(this,void 0,void 0,(function*(){H(t);const i=li(this).id,o={callback:()=>e(this,void 0,void 0,(function*(){yield this.workspace.refreshReference(),t({allowExtract:this.allowExtract,allowReorder:this.allowReorder,showCloseButton:this.showCloseButton})})),action:"lock-configuration-changed",eventType:"window",scope:"window"};return yield li(this).controller.processLocalSubscription(o,i)}))}}const ui=new WeakMap,pi=e=>ui.get(e).manager.getFrameData(e);class mi{constructor(e){ui.set(this,{manager:e})}registerShortcut(t,i){return e(this,void 0,void 0,(function*(){T.runWithException(t),H(i);const e=pi(this).summary.id;return yield pi(this).controller.registerShortcut(t,e,i)}))}get id(){return pi(this).summary.id}get isInitialized(){return pi(this).summary.isInitialized}getBounds(){const e=pi(this).summary.id;return pi(this).controller.getFrameBounds(e)}resize(t){return e(this,void 0,void 0,(function*(){const e=Ke.runWithException(t),i=pi(this).summary.id;return pi(this).controller.resizeItem(i,e)}))}move(t){return e(this,void 0,void 0,(function*(){const e=qe.runWithException(t),i=pi(this).summary.id;return pi(this).controller.moveFrame(i,e)}))}focus(){const e=pi(this).summary.id;return pi(this).controller.focusItem(e)}state(){return e(this,void 0,void 0,(function*(){if(!(window.glue42gd||window.iodesktop))throw new Error("State operations are not supported in IO Connect Browser");const e=pi(this).summary.id;return pi(this).controller.getFrameState(e)}))}minimize(){return e(this,void 0,void 0,(function*(){if(!(window.glue42gd||window.iodesktop))throw new Error("State operations are not supported in IO Connect Browser");const e=pi(this).summary.id;return pi(this).controller.changeFrameState(e,"minimized")}))}maximize(){return e(this,void 0,void 0,(function*(){if(!(window.glue42gd||window.iodesktop))throw new Error("State operations are not supported in IO Connect Browser");const e=pi(this).summary.id;return pi(this).controller.changeFrameState(e,"maximized")}))}restore(){return e(this,void 0,void 0,(function*(){if(!(window.glue42gd||window.iodesktop))throw new Error("State operations are not supported in IO Connect Browser");const e=pi(this).summary.id;return pi(this).controller.changeFrameState(e,"normal")}))}close(){const e=pi(this).summary.id;return pi(this).controller.closeItem(e)}snapshot(){const e=pi(this).summary.id;return pi(this).controller.getSnapshot(e,"frame")}workspaces(){return e(this,void 0,void 0,(function*(){return pi(this).controller.getWorkspacesByFrameId(this.id)}))}getConstraints(){return e(this,void 0,void 0,(function*(){const e=pi(this).controller,t=pi(this).summary.id;return e.getFrameConstraints(t)}))}restoreWorkspace(t,i){return e(this,void 0,void 0,(function*(){T.runWithException(t);const e=ee.runWithException(i);return pi(this).controller.restoreWorkspace(t,e)}))}createWorkspace(e,t){const i=ie.runWithException(e),o=$.runWithException(t);return pi(this).controller.createWorkspace(i,o)}init(t){return e(this,void 0,void 0,(function*(){if(se.runWithException(t),pi(this).summary.isInitialized)throw new Error("The frame has already been initialized");return pi(this).controller.initFrame(this.id,t)}))}onClosed(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this).summary.id,i={callback:e=>{t({frameId:e.frameSummary.id,frameBounds:e.frameBounds})},action:"closed",eventType:"frame",scope:"frame"};return yield pi(this).controller.processLocalSubscription(i,e)}))}onMaximized(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this).summary.id,i={callback:()=>{t()},action:"maximized",eventType:"frame",scope:"frame"};return yield pi(this).controller.processLocalSubscription(i,e)}))}onMinimized(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this).summary.id,i={callback:()=>{t()},action:"minimized",eventType:"frame",scope:"frame"};return yield pi(this).controller.processLocalSubscription(i,e)}))}onNormal(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this).summary.id,i={callback:()=>{t()},action:"normal",eventType:"frame",scope:"frame"};return yield pi(this).controller.processLocalSubscription(i,e)}))}onWorkspaceOpened(t){return e(this,void 0,void 0,(function*(){H(t);const i=pi(this).summary.id,o={callback:i=>e(this,void 0,void 0,(function*(){const e=yield pi(this).controller.transformStreamPayloadToWorkspace(i);t(e)})),action:"opened",eventType:"workspace",scope:"frame"};return yield pi(this).controller.processLocalSubscription(o,i)}))}onWorkspaceSelected(t){return e(this,void 0,void 0,(function*(){H(t);const i=pi(this).summary.id,o={callback:i=>e(this,void 0,void 0,(function*(){const e=yield pi(this).controller.getWorkspaceById(i.workspaceSummary.id);t(e)})),action:"selected",eventType:"workspace",scope:"frame"};return yield pi(this).controller.processLocalSubscription(o,i)}))}onWorkspaceClosed(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this).summary.id,i={callback:e=>{t({frameId:e.frameSummary.id,workspaceId:e.workspaceSummary.id,frameBounds:e.frameBounds})},action:"closed",eventType:"workspace",scope:"frame"};return yield pi(this).controller.processLocalSubscription(i,e)}))}onWindowAdded(t){return e(this,void 0,void 0,(function*(){H(t);const i=pi(this).summary.id,o={callback:i=>e(this,void 0,void 0,(function*(){const e=(yield pi(this).controller.getParent((e=>e.id===i.windowSummary.parentId))).children.find((e=>"window"===e.type&&e.positionIndex===i.windowSummary.config.positionIndex));t(e)})),action:"added",eventType:"window",scope:"frame"};return yield pi(this).controller.processLocalSubscription(o,i)}))}onWindowRemoved(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this).summary.id,i={callback:e=>{const{windowId:i,workspaceId:o,frameId:r}=e.windowSummary.config;t({windowId:i,workspaceId:o,frameId:r})},action:"removed",eventType:"window",scope:"frame"};return yield pi(this).controller.processLocalSubscription(i,e)}))}onWindowLoaded(t){return e(this,void 0,void 0,(function*(){H(t);const i=pi(this).summary.id,o={callback:i=>e(this,void 0,void 0,(function*(){const e=(yield pi(this).controller.getParent((e=>e.id===i.windowSummary.parentId))).children.find((e=>"window"===e.type&&e.positionIndex===i.windowSummary.config.positionIndex));t(e)})),action:"loaded",eventType:"window",scope:"frame"};return yield pi(this).controller.processLocalSubscription(o,i)}))}onInitializationRequested(t){return e(this,void 0,void 0,(function*(){return H(t),this.isInitialized||t(pi(this).summary.initializationContext),()=>{}}))}onFocusChanged(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this),{id:i}=e.summary,o={callback:e=>{t({isFocused:e.frameSummary.isFocused})},action:"focus",eventType:"frame",scope:"frame"};return yield e.controller.processLocalSubscription(o,i)}))}}class wi{constructor(){this.parentsData=new WeakMap,this.workspacesData=new WeakMap,this.windowsData=new WeakMap,this.framesData=new WeakMap,this.windowPlacementIdData={}}deleteData(e){if(e instanceof hi){const t=Object.keys(this.windowPlacementIdData).find((t=>this.windowPlacementIdData[t]===e));t&&delete this.windowPlacementIdData[t],this.windowsData.delete(e)}e instanceof di&&this.workspacesData.delete(e),(e instanceof Yt||e instanceof ti||e instanceof ri)&&this.parentsData.delete(e),e instanceof mi&&this.framesData.delete(e)}setWindowData(e,t){this.windowPlacementIdData[t.id]=e,this.windowsData.set(e,t)}setWorkspaceData(e,t){this.workspacesData.set(e,t)}setParentData(e,t){this.parentsData.set(e,t)}setFrameData(e,t){this.framesData.set(e,t)}getWindowData(e){return this.windowsData.get(e)}getWindowByPlacementId(e){return this.windowPlacementIdData[e]}getWorkspaceData(e){return this.workspacesData.get(e)}getParentData(e){return this.parentsData.get(e)}getFrameData(e){return this.framesData.get(e)}remapChild(e,t){if(e instanceof hi){const i=this.windowsData.get(e);i.parent=t.parent||i.parent,i.config=t.config||i.config}if(e instanceof Yt||e instanceof ti||e instanceof ri){const i=this.parentsData.get(e);i.parent=t.parent||i.parent,i.config=t.config||i.config,i.children=t.children||i.children}}remapFrame(e,t){this.framesData.get(e).summary=t}remapWorkspace(e,t){const i=this.workspacesData.get(e);i.frame=t.frame||i.frame,i.config=t.config||i.config,i.children=t.children||i.children}}const gi=new WeakMap,fi=(e,t)=>{const i=gi.get(e).manager;return t instanceof di?i.getWorkspaceData(t):gi.get(e).manager.getParentData(t)},yi=(e,t)=>gi.get(e).manager.getWindowByPlacementId(t);class vi{constructor(e){gi.set(this,{manager:e})}getId(e){return fi(this,e).id}getPositionIndex(e){return fi(this,e).config.positionIndex}getWorkspaceId(e){const t=fi(this,e);return t.config.workspaceId||t.workspace.id}getFrameId(e){return fi(this,e).frame.id}getAllChildren(e,t){H(t,!0);const i=fi(this,e).children;return void 0===t?i:i.filter(t)}getMyParent(e){return e instanceof di?e:fi(this,e).parent}getMyFrame(e){return fi(this,e).frame}getMyWorkspace(e){return e instanceof di?e:fi(this,e).workspace}addWindow(t,i,o){return e(this,void 0,void 0,(function*(){if(!i.appName&&!i.windowId)throw new Error("The window definition should contain either an appName or a windowId");const e=J.runWithException(i),r=fi(this,t).controller,n=yield r.add("window",fi(this,t).id,o,e);return t instanceof di?(yield t.refreshReference(),yi(this,n.itemId)):(yield this.getMyWorkspace(t).refreshReference(),yi(this,n.itemId))}))}addParent(t,i,o,r){return e(this,void 0,void 0,(function*(){const e=this.transformDefinition(i,r),n=fi(this,t).controller,s=(yield n.add("container",fi(this,t).id,o,e)).itemId;if(t instanceof di)return yield t.refreshReference(),t.getBox((e=>e.id===s));const a=this.getMyWorkspace(t);return yield a.refreshReference(),a.getBox((e=>e.id===s))}))}removeChild(t,i){return e(this,void 0,void 0,(function*(){H(i);const e=this.getAllChildren(t).find(i);e&&(yield e.close(),t instanceof di?yield t.refreshReference():yield this.getMyWorkspace(t).refreshReference())}))}maximize(t){return e(this,void 0,void 0,(function*(){const{controller:e,id:i}=fi(this,t);yield e.maximizeItem(i),yield this.getMyWorkspace(t.parent).refreshReference()}))}restore(t){return e(this,void 0,void 0,(function*(){const{controller:e,id:i}=fi(this,t);yield e.restoreItem(i),yield this.getMyWorkspace(t.parent).refreshReference()}))}close(t){return e(this,void 0,void 0,(function*(){const e=fi(this,t),i=fi(this,t).controller;yield i.closeItem(e.id),yield this.getMyWorkspace(e.parent).refreshReference()}))}lockContainer(t,i){return e(this,void 0,void 0,(function*(){const e=fi(this,t),o=fi(this,t).controller;yield o.lockContainer(e.id,t.type,i),yield this.getMyWorkspace(e.parent).refreshReference()}))}getAllowDrop(e){return fi(this,e).config.allowDrop}getAllowDropLeft(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Property allowDropLeft is available only for groups and not on ${e.type} ${e.id}`);return t.config.allowDropLeft}getAllowDropRight(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Property allowDropRight is available only for groups and not on ${e.type} ${e.id}`);return t.config.allowDropRight}getAllowDropTop(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Property allowDropTop is available only for groups and not on ${e.type} ${e.id}`);return t.config.allowDropTop}getAllowDropBottom(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Property allowDropBottom is available only for groups and not on ${e.type} ${e.id}`);return t.config.allowDropBottom}getAllowDropHeader(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Property allowDropHeader is available only for groups and not on ${e.type} ${e.id}`);return t.config.allowDropHeader}getAllowSplitters(e){const t=fi(this,e);if("group"===t.type)throw new Error(`Cannot get allow splitters from private data ${t.type}`);return t.config.allowSplitters}getAllowExtract(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Cannot get allow extract from private data ${t.type} with config ${"workspace"!==t.type?t.config.type:""}`);return t.config.allowExtract}getAllowReorder(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Cannot get allow extract from private data ${t.type} with config ${"workspace"!==t.type?t.config.type:""}`);return t.config.allowReorder}getShowMaximizeButton(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Cannot get show maximize button from private data${t.type} with config ${"workspace"!==t.type?t.config.type:""}`);return t.config.showMaximizeButton}getShowEjectButton(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Cannot get show eject button from private data${t.type} with config ${"workspace"!==t.type?t.config.type:""}`);return t.config.showEjectButton}getShowAddWindowButton(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Cannot get add window button from private data${t.type} with config ${"workspace"!==t.type?t.config.type:""}`);return t.config.showAddWindowButton}getMinWidth(e){return fi(this,e).config.minWidth}getMaxWidth(e){return fi(this,e).config.maxWidth}getMinHeight(e){return fi(this,e).config.minHeight}getMaxHeight(e){return fi(this,e).config.maxHeight}getWidthInPx(e){return fi(this,e).config.widthInPx}getHeightInPx(e){return fi(this,e).config.heightInPx}getIsPinned(e){return fi(this,e).config.isPinned}getIsMaximized(e){return fi(this,e).config.isMaximized}getMaximizationBoundary(e){return fi(this,e).config.maximizationBoundary}setHeight(t,i){return e(this,void 0,void 0,(function*(){const e=fi(this,t),{controller:o,id:r}=e;yield o.resizeItem(r,{height:i}),yield this.getMyWorkspace(e.parent).refreshReference()}))}setWidth(t,i){return e(this,void 0,void 0,(function*(){const e=fi(this,t),{controller:o,id:r}=e;yield o.resizeItem(r,{width:i}),yield this.getMyWorkspace(e.parent).refreshReference()}))}setSize(t,i,o){return e(this,void 0,void 0,(function*(){const e=fi(this,t),{controller:r,id:n}=e;yield r.resizeItem(n,{width:i,height:o}),yield this.getMyWorkspace(e.parent).refreshReference()}))}setMaximizationBoundary(t,i){return e(this,void 0,void 0,(function*(){const e=fi(this,t),{controller:o,id:r}=e;yield o.setMaximizationBoundary(r,i),yield this.getMyWorkspace(e.parent).refreshReference()}))}bundleTo(t,i){return e(this,void 0,void 0,(function*(){const e=fi(this,t),{controller:o,id:r}=e;yield o.bundleItemTo(i,r)}))}processLocalSubscription(t,i){return e(this,void 0,void 0,(function*(){return fi(this,t).controller.processLocalSubscription(i,this.getId(t))}))}transformDefinition(e,t){let i;return void 0===t?i={type:e,children:[]}:t instanceof Ut?i=t.serialize():(void 0===t.type&&(t.type=e),i=X.runWithException(t),i.children=i.children||[]),i}}class ki{constructor(e,t,i,o){this.ioc=e,this.windows=t,this.contexts=i,this.layouts=o}get bridge(){return this.ioc.bridge}get privateDataManager(){return this.ioc.privateDataManager}checkIsWindowLoaded(e){return!!e&&this.windows.list().some((t=>t.id===e))}createWorkspace(t){return e(this,void 0,void 0,(function*(){const e=yield this.bridge.send(jt.createWorkspace.name,t),i={summary:e.frameSummary},o={frame:this.ioc.getModel("frame",i),snapshot:e};return this.ioc.getModel("workspace",o)}))}createEmptyFrame(t){return e(this,void 0,void 0,(function*(){const e={summary:yield this.bridge.send(jt.createFrame.name,t)};return this.ioc.getModel("frame",e)}))}initFrame(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.initFrame.name,Object.assign({frameId:t},i))}))}restoreWorkspace(t,i){return e(this,void 0,void 0,(function*(){const e=yield this.bridge.send(jt.openWorkspace.name,{name:t,restoreOptions:i}),o={summary:yield this.bridge.send(jt.getFrameSummary.name,{itemId:e.config.frameId})},r={frame:this.ioc.getModel("frame",o),snapshot:e};return this.ioc.getModel("workspace",r)}))}add(t,i,o,r){return e(this,void 0,void 0,(function*(){let e;const n={definition:r,parentId:i,parentType:o};if("window"===t)e=jt.addWindow.name;else{if("container"!==t)throw new Error(`Unrecognized add type: ${t}`);e=jt.addContainer.name}return yield this.bridge.send(e,n)}))}getFrame(t){return e(this,void 0,void 0,(function*(){const e={summary:yield this.bridge.send(jt.getFrameSummary.name,{itemId:t})};return this.ioc.getModel("frame",e)}))}getFrames(e,t){return e.reduce(((e,i)=>{const o={summary:i},r=this.ioc.getModel("frame",o);return t&&!t(r)||e.push(r),e}),[])}getAllWorkspaceSummaries(...e){return e.reduce(((e,t)=>(e.push(...t.summaries),e)),[]).map((e=>Object.assign({},{id:e.id,width:e.config.widthInPx,height:e.config.heightInPx},e.config)))}handleOnSaved(e){const t=t=>{"Workspace"===t.type&&e(t)},i=this.layouts.onAdded(t),o=this.layouts.onChanged(t);return()=>{i(),o()}}handleOnRemoved(e){return this.layouts.onRemoved((t=>{"Workspace"===t.type&&e(t)}))}importLayouts(t,i){return e(this,void 0,void 0,(function*(){yield this.layouts.import(t,i)}))}transformStreamPayloadToWorkspace(t){return e(this,void 0,void 0,(function*(){const e={summary:t.frameSummary},i={frame:this.ioc.getModel("frame",e),snapshot:t.workspaceSnapshot||(yield this.bridge.send(jt.getWorkspaceSnapshot.name,{itemId:t.workspaceSummary.id}))};return this.ioc.getModel("workspace",i)}))}fetchWorkspace(t){return e(this,void 0,void 0,(function*(){const e=yield this.bridge.send(jt.getWorkspaceSnapshot.name,{itemId:t}),i={summary:e.frameSummary},o={frame:this.ioc.getModel("frame",i),snapshot:e};return this.ioc.getModel("workspace",o)}))}bundleWorkspaceTo(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.bundleWorkspace.name,{type:t,workspaceId:i})}))}bundleItemTo(t,i){return e(this,void 0,void 0,(function*(){if(!(yield this.isOperationSupported(jt.bundleItem.name)))throw new Error(`Operation ${jt.bundleItem.name} is not supported. Ensure that you are running the latest version of all packages`);yield this.bridge.send(jt.bundleItem.name,{type:t,itemId:i})}))}getWorkspaceContext(e){const t=`___workspace___${e}`;return this.contexts.get(t)}setWorkspaceContext(e,t){const i=`___workspace___${e}`;return this.contexts.set(i,t)}updateWorkspaceContext(e,t){const i=`___workspace___${e}`;return this.contexts.update(i,t)}subscribeWorkspaceContextUpdated(e,t){const i=`___workspace___${e}`;return this.contexts.subscribe(i,t)}restoreItem(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.restoreItem.name,{itemId:t})}))}maximizeItem(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.maximizeItem.name,{itemId:t})}))}focusItem(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.focusItem.name,{itemId:t})}))}closeItem(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.closeItem.name,{itemId:t})}))}resizeItem(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.resizeItem.name,Object.assign({},{itemId:t},i))}))}setMaximizationBoundary(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.setMaximizationBoundary.name,Object.assign({},{itemId:t},i))}))}showWorkspaceLoadingAnimation(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.showLoadingAnimation.name,{itemId:t,type:"workspace"})}))}hideWorkspaceLoadingAnimation(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.hideLoadingAnimation.name,{itemId:t,type:"workspace"})}))}moveFrame(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.moveFrame.name,Object.assign({},{itemId:t},i))}))}getGDWindow(e){return this.windows.list().find((t=>t.id===e))}forceLoadWindow(t){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.forceLoadWindow.name,{itemId:t})).windowId}))}ejectWindow(t){return e(this,void 0,void 0,(function*(){return yield this.bridge.send(jt.ejectWindow.name,{itemId:t})}))}moveWindowTo(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.moveWindowTo.name,{itemId:t,containerId:i})}))}getSnapshot(t,i){return e(this,void 0,void 0,(function*(){let e;return"workspace"===i?e=yield this.bridge.send(jt.getWorkspaceSnapshot.name,{itemId:t}):"frame"===i&&(e=yield this.bridge.send(jt.getFrameSnapshot.name,{itemId:t})),e}))}setItemTitle(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.setItemTitle.name,{itemId:t,title:i})}))}refreshChildren(e){const{parent:t,children:i,existingChildren:o,workspace:r}=e;if(t instanceof hi||"window"===t.type)return;const n=i.map((e=>{let i=o.find((t=>"window"===t.type?t.elementId===e.id:t.id===e.id));if(i)this.privateDataManager.remapChild(i,{parent:t,children:[],config:e.config});else{let o;o="window"===e.type?{id:e.id,parent:t,frame:r.frame,workspace:r,config:e.config}:{id:e.id,parent:t,frame:r.frame,workspace:r,config:e.config,children:[]},i=this.ioc.getModel(e.type,o)}return"window"!==e.type&&this.refreshChildren({workspace:r,existingChildren:o,children:e.children,parent:i}),i}));return t instanceof di||this.privateDataManager.remapChild(t,{children:n}),n}iterateFindChild(e,t){let i=e.find((e=>t(e)));return i||(e.some((e=>!(e instanceof hi)&&(i=this.iterateFindChild(e.children,t),!!i||void 0))),i)}iterateFilterChildren(e,t){const i=e.filter((e=>t(e))),o=e.reduce(((e,i)=>(i instanceof hi||e.push(...this.iterateFilterChildren(i.children,t)),e)),[]);return i.push(...o),i}notifyWindowAdded(e){return new Promise((t=>{if(this.windows.list().some((t=>t.id===e)))return t();const i=this.windows.onWindowAdded((o=>{o.id===e&&(i&&i(),t())}))}))}hibernateWorkspace(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.hibernateWorkspace.name,{workspaceId:t})}))}resumeWorkspace(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.resumeWorkspace.name,{workspaceId:t})}))}lockWorkspace(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.lockWorkspace.name,{workspaceId:t,config:i})}))}lockWindow(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.lockWindow.name,{windowPlacementId:t,config:i})}))}lockContainer(t,i,o){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.lockContainer.name,{itemId:t,type:i,config:o})}))}pinWorkspace(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.pinWorkspace.name,{workspaceId:t,icon:i})}))}unpinWorkspace(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.unpinWorkspace.name,{workspaceId:t})}))}getWorkspaceIcon(t){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.getWorkspaceIcon.name,{workspaceId:t})).icon}))}setWorkspaceIcon(e,t){return this.bridge.send(jt.setWorkspaceIcon.name,{workspaceId:e,icon:t})}getPlatformFrameId(){return e(this,void 0,void 0,(function*(){try{return yield this.bridge.send(jt.getPlatformFrameId.name,{})}catch(e){return{}}}))}isOperationSupported(t){return e(this,void 0,void 0,(function*(){return window.glue42gd||window.iodesktop?{isSupported:!0}:yield this.bridge.send(jt.operationCheck.name,{operation:t})}))}}class bi{constructor(e,t,i){this.bridge=e,this.base=t,this.shortcutsController=i}checkIsWindowLoaded(e){return this.base.checkIsWindowLoaded(e)}checkIsInSwimlane(t){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.isWindowInWorkspace.name,{itemId:t})).inWorkspace}))}createWorkspace(t,i){return e(this,void 0,void 0,(function*(){const e=Object.assign({},t,{saveConfig:i});return yield this.base.createWorkspace(e)}))}createEmptyFrame(t){return e(this,void 0,void 0,(function*(){return yield this.base.createEmptyFrame(t)}))}initFrame(t,i){return e(this,void 0,void 0,(function*(){return this.base.initFrame(t,i)}))}restoreWorkspace(t,i){return e(this,void 0,void 0,(function*(){if(!(yield this.getLayoutSummaries()).some((e=>e.name===t)))throw new Error(`This layout: ${t} cannot be restored, because it doesn't exist.`);if(null==i?void 0:i.frameId){if(!(yield this.bridge.send(jt.getAllFramesSummaries.name)).summaries.some((e=>e.id===i.frameId)))throw new Error(`Cannot reuse the frame with id: ${i.frameId}, because there is no frame with that ID found`)}return yield this.base.restoreWorkspace(t,i)}))}add(t,i,o,r){return e(this,void 0,void 0,(function*(){return yield this.base.add(t,i,o,r)}))}processLocalSubscription(e,t){return window.glue42gd||window.iodesktop?this.handleEnterpriseLocalSubscription(e,t):this.handleCoreLocalSubscription(e,t)}processGlobalSubscription(e,t,i){return window.glue42gd||window.iodesktop?this.handleEnterpriseGlobalSubscription(e,t,i):this.handleCoreGlobalSubscription(e,t,i)}getFrame(t){return e(this,void 0,void 0,(function*(){if(t.windowId)return yield this.base.getFrame(t.windowId);if(t.predicate)return(yield this.getFrames(t.predicate))[0];throw new Error(`The provided selector is not valid: ${JSON.stringify(t)}`)}))}getFrames(t){return e(this,void 0,void 0,(function*(){const e=yield this.bridge.send(jt.getAllFramesSummaries.name);return this.base.getFrames(e.summaries,t)}))}getWorkspaceById(e){return this.base.fetchWorkspace(e)}getWorkspaceByWindowId(t){return e(this,void 0,void 0,(function*(){return window.glue42gd||window.iodesktop?this.base.fetchWorkspace(t):(yield this.getWorkspaces((e=>!!e.getWindow((e=>e.id===t)))))[0]}))}transformStreamPayloadToWorkspace(e){return this.base.transformStreamPayloadToWorkspace(e)}getWorkspace(t){return e(this,void 0,void 0,(function*(){let e;return yield this.iterateWorkspaces(((i,o)=>{t(i)&&(e=i,o())})),e}))}getWorkspaces(t){return e(this,void 0,void 0,(function*(){const e=[];return yield this.iterateWorkspaces((i=>{t&&!t(i)||e.push(i)})),e}))}getWorkspacesByFrameId(t){return e(this,void 0,void 0,(function*(){const e=(yield this.getAllWorkspaceSummaries()).filter((e=>e.frameId===t));return yield Promise.all(e.map((e=>this.base.fetchWorkspace(e.id))))}))}getAllWorkspaceSummaries(){return e(this,void 0,void 0,(function*(){const e=yield this.bridge.send(jt.getAllWorkspacesSummaries.name,{});return this.base.getAllWorkspaceSummaries(e)}))}getWindow(t){return e(this,void 0,void 0,(function*(){let e;return yield this.iterateWorkspaces(((i,o)=>{const r=i.getWindow(t);r&&(e=r,o())})),e}))}getParent(t){return e(this,void 0,void 0,(function*(){let e;return yield this.iterateWorkspaces(((i,o)=>{const r=i.getBox(t);r&&(e=r,o())})),e}))}getLayoutSummaries(){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.getAllLayoutsSummaries.name)).summaries}))}deleteLayout(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.deleteLayout.name,{name:t})}))}exportLayout(t){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.exportAllLayouts.name)).layouts.reduce(((e,i)=>(t&&!t(i)||e.push(i),e)),[])}))}saveLayout(t){return e(this,void 0,void 0,(function*(){return yield this.bridge.send(jt.saveLayout.name,t)}))}importLayouts(t,i){return e(this,void 0,void 0,(function*(){if(window.glue42gd||window.iodesktop)try{yield this.bridge.send(jt.importLayouts.name,{layouts:t,mode:i})}catch(e){yield Promise.all(t.map((e=>this.bridge.send(jt.importLayout.name,{layout:e,mode:i}))))}else yield this.base.importLayouts(t,i)}))}handleOnSaved(e){return this.base.handleOnSaved(e)}handleOnRemoved(e){return this.base.handleOnRemoved(e)}bundleWorkspaceTo(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.bundleWorkspaceTo(t,i)}))}bundleItemTo(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.bundleItemTo(t,i)}))}getWorkspaceContext(e){return this.base.getWorkspaceContext(e)}setWorkspaceContext(e,t){return this.base.setWorkspaceContext(e,t)}updateWorkspaceContext(e,t){return this.base.updateWorkspaceContext(e,t)}subscribeWorkspaceContextUpdated(e,t){return this.base.subscribeWorkspaceContextUpdated(e,t)}restoreItem(t){return e(this,void 0,void 0,(function*(){return yield this.base.restoreItem(t)}))}maximizeItem(t){return e(this,void 0,void 0,(function*(){return yield this.base.maximizeItem(t)}))}focusItem(t){return e(this,void 0,void 0,(function*(){return yield this.base.focusItem(t)}))}changeFrameState(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.changeFrameState.name,{frameId:t,requestedState:i})}))}getFrameBounds(t){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.getFrameBounds.name,{itemId:t})).bounds}))}getFrameState(t){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.getFrameState.name,{itemId:t})).state}))}closeItem(t){return e(this,void 0,void 0,(function*(){return yield this.base.closeItem(t)}))}resizeItem(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.resizeItem(t,i)}))}setMaximizationBoundary(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.setMaximizationBoundary(t,i)}))}showWorkspaceLoadingAnimation(t){return e(this,void 0,void 0,(function*(){return yield this.base.showWorkspaceLoadingAnimation(t)}))}hideWorkspaceLoadingAnimation(t){return e(this,void 0,void 0,(function*(){return yield this.base.hideWorkspaceLoadingAnimation(t)}))}moveFrame(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.moveFrame(t,i)}))}getGDWindow(e){return this.base.getGDWindow(e)}forceLoadWindow(t){return e(this,void 0,void 0,(function*(){const e=yield this.base.forceLoadWindow(t);return yield this.base.notifyWindowAdded(e),e}))}ejectWindow(t){return e(this,void 0,void 0,(function*(){const e=(yield this.base.ejectWindow(t)).windowId;return yield this.base.notifyWindowAdded(e),e}))}moveWindowTo(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.moveWindowTo(t,i)}))}getSnapshot(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.getSnapshot(t,i)}))}setItemTitle(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.setItemTitle(t,i)}))}flatChildren(e){return e.reduce(((e,t)=>(e.push(t),"window"!==t.type&&e.push(...this.flatChildren(t.children)),e)),[])}refreshChildren(e){return this.base.refreshChildren(e)}iterateFindChild(e,t){return this.base.iterateFindChild(e,t)}iterateFilterChildren(e,t){return this.base.iterateFilterChildren(e,t)}hibernateWorkspace(e){return this.base.hibernateWorkspace(e)}resumeWorkspace(e){return this.base.resumeWorkspace(e)}lockWorkspace(e,t){return this.base.lockWorkspace(e,t)}lockWindow(e,t){return this.base.lockWindow(e,t)}lockContainer(e,t,i){return this.base.lockContainer(e,t,i)}pinWorkspace(e,t){return this.base.pinWorkspace(e,t)}unpinWorkspace(e){return this.base.unpinWorkspace(e)}getWorkspaceIcon(e){return this.base.getWorkspaceIcon(e)}setWorkspaceIcon(e,t){return this.base.setWorkspaceIcon(e,t)}getFrameConstraints(t){return e(this,void 0,void 0,(function*(){const e=yield this.getSnapshot(t,"frame");return{minWidth:e.config.minWidth,maxWidth:e.config.maxWidth,minHeight:e.config.minHeight,maxHeight:e.config.maxHeight}}))}registerShortcut(e,t,i){return this.shortcutsController.registerShortcut(e,t,i)}getPlatformFrameId(){return this.base.getPlatformFrameId()}handleCoreLocalSubscription(t,i){return e(this,void 0,void 0,(function*(){if(yield this.bridge.createCoreEventSubscription(),t.scopeId=t.scopeId||i,"window"===t.eventType&&"loaded"===t.action){const i=t.callback,o=t=>e(this,void 0,void 0,(function*(){yield this.base.notifyWindowAdded(t.windowSummary.config.windowId),i(t)}));t.callback=o}return this.bridge.handleCoreSubscription(t)}))}handleEnterpriseLocalSubscription(t,i){if(t.scopeId=t.scopeId||i,"window"===t.eventType&&"loaded"===t.action){const i=t.callback,o=t=>e(this,void 0,void 0,(function*(){yield this.base.notifyWindowAdded(t.windowSummary.config.windowId),i(t)}));t.callback=o}return this.bridge.subscribe(t)}handleCoreGlobalSubscription(t,i,o){return e(this,void 0,void 0,(function*(){yield this.bridge.createCoreEventSubscription();const r={eventType:i,callback:t,action:o,scope:"global"};if("window"===i&&"loaded"===o){const i=i=>e(this,void 0,void 0,(function*(){yield this.base.notifyWindowAdded(i.windowSummary.config.windowId),t(i)}));r.callback=i}return this.bridge.handleCoreSubscription(r)}))}handleEnterpriseGlobalSubscription(t,i,o){const r={eventType:i,callback:t,action:o,scope:"global"};if("window"===i&&"loaded"===o){const i=i=>e(this,void 0,void 0,(function*(){yield this.base.notifyWindowAdded(i.windowSummary.config.windowId),t(i)}));r.callback=i}return this.bridge.subscribe(r)}iterateWorkspaces(t){return e(this,void 0,void 0,(function*(){let e=!1;const i=()=>{e=!0},o=yield this.getAllWorkspaceSummaries();for(const r of o){if(e)return;const o=yield this.base.fetchWorkspace(r.id);t(o,i)}}))}}class Wi{constructor(e){this.bridge=e,this._shortcuts=i(),this.bridge.onOperation(((e,t)=>{if(e.operation===Ot.shortcutClicked.name){const t=e.data;this._shortcuts.execute(`${t.frameId}-${t.shortcut}`)}}))}registerShortcut(t,i,o){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.registerShortcut.name,{shortcut:t,frameId:i});const e=this._shortcuts.add(`${i}-${t}`,o);return()=>{e(),this.bridge.send(jt.unregisterShortcut.name,{shortcut:t,frameId:i})}}))}}class Ii{constructor(e,t,i,o){this.agm=e,this.windows=t,this.layouts=i,this.contexts=o}get baseController(){return this._baseController||(this._baseController=new ki(this,this.windows,this.contexts,this.layouts)),this._baseController}get controller(){return this._controllerInstance||(this._controllerInstance=new bi(this.bridge,this.baseController,this.shortcutsController)),this._controllerInstance}get shortcutsController(){return this._shortcutsController||(this._shortcutsController=new Wi(this.bridge)),this._shortcutsController}get bridge(){return this._bridgeInstance||(this._bridgeInstance=new Gt(this.transport,i())),this._bridgeInstance}get transport(){return this._transportInstance||(this._transportInstance=new Nt(this.agm,i())),this._transportInstance}get privateDataManager(){return this._privateDataManagerInstance||(this._privateDataManagerInstance=new wi),this._privateDataManagerInstance}get parentBase(){return this._parentBaseInstance||(this._parentBaseInstance=new vi(this.privateDataManager)),this._parentBaseInstance}initiate(t){return e(this,void 0,void 0,(function*(){yield this.transport.initiate(t)}))}getModel(e,t){switch(e){case"frame":{const e=new mi(this.privateDataManager),{summary:i}=t,o={summary:i,controller:this.controller};return this.privateDataManager.setFrameData(e,o),e}case"window":{const{id:e,parent:i,frame:o,workspace:r,config:n}=t,s={type:"window",controller:this.controller,config:n,id:e,parent:i,frame:o,workspace:r},a=new hi(this.privateDataManager);return this.privateDataManager.setWindowData(a,s),a}case"row":case"column":case"group":{const{id:i,children:o,parent:r,frame:n,workspace:s,config:a}=t,d="column"===e?new ti(this.parentBase):"row"===e?new Yt(this.parentBase):new ri(this.parentBase),c=this.buildChildren(o,n,s,d),l={id:i,parent:r,frame:n,workspace:s,config:a,type:e,controller:this.controller,children:c};return this.privateDataManager.setParentData(d,l),d}case"workspace":{const{snapshot:e,frame:i}=t,o=new di(this.privateDataManager),r=this.buildChildren(e.children,i,o,o),n={id:e.id,type:"workspace",config:e.config,base:this.parentBase,controller:this.controller,children:r,frame:i,ioc:this};return this.privateDataManager.setWorkspaceData(o,n),o}default:throw new Error(`Unrecognized type: ${e}`)}}getBuilder(e){e.definition=e.definition||{},Array.isArray(e.definition.children)||(e.definition.children=[]);const t=new Kt(this.getBuilder.bind(this));switch(e.type){case"workspace":return new Qt(e.definition,t,this.controller);case"row":case"column":case"group":return e.definition.type=e.type,new Ut(e.definition,t);default:throw new Error(`Unexpected Builder creation error, provided config: ${JSON.stringify(e)}`)}}buildChildren(e,t,i,o){return e.map((e=>{switch(e.type){case"window":return this.getModel("window",{id:e.id,config:e.config,frame:t,workspace:i,parent:o});case"column":case"row":case"group":return this.getModel(e.type,{id:e.id,config:e.config,children:e.children,frame:t,workspace:i,parent:o});default:throw new Error(`Unsupported child type: ${e.type}`)}}))}}const xi=t=>e(void 0,void 0,void 0,(function*(){const i=new Ii(t.agm,t.windows,t.layouts,t.contexts),o=t.interop.instance.windowId;yield i.initiate(o),t.workspaces=((t,i)=>{const o=i.controller,r=t=>e(void 0,void 0,void 0,(function*(){return H(t,!0),o.getFrames(t)})),n=t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((e=>{const o={summary:e.frameSummary},r=i.getModel("frame",o);t(r)}),"frame","opened")}));return{inWorkspace:()=>{const e=t.windows.my().id;if(!e)throw new Error("Cannot get my frame, because my id is undefined.");return o.checkIsInSwimlane(e)},getBuilder:e=>{const t=de.runWithException(e);return i.getBuilder(t)},getMyFrame:()=>e(void 0,void 0,void 0,(function*(){const e=t.windows.my().id;if(!e)throw new Error("Cannot get my frame, because my id is undefined.");if(!(yield o.checkIsInSwimlane(e)))throw new Error("Cannot fetch your frame, because this window is not in a workspace");return o.getFrame({windowId:e})})),getFrame:t=>e(void 0,void 0,void 0,(function*(){return H(t),o.getFrame({predicate:t})})),getAllFrames:r,getAllWorkspacesSummaries:()=>o.getAllWorkspaceSummaries(),getMyWorkspace:()=>e(void 0,void 0,void 0,(function*(){const e=t.windows.my().id;if(!e)throw new Error("Cannot get my workspace, because my id is undefined.");if(!(yield o.checkIsInSwimlane(e)))throw new Error("Cannot fetch your workspace, because this window is not in a workspace");return yield o.getWorkspaceByWindowId(e)})),getWorkspace:t=>e(void 0,void 0,void 0,(function*(){return H(t),(yield o.getWorkspaces(t))[0]})),getWorkspaceById:t=>e(void 0,void 0,void 0,(function*(){return T.runWithException(t),o.getWorkspaceById(t)})),getAllWorkspaces:e=>(H(e,!0),o.getWorkspaces(e)),getWindow:t=>e(void 0,void 0,void 0,(function*(){return H(t),o.getWindow(t)})),getBox:t=>e(void 0,void 0,void 0,(function*(){return H(t),o.getParent(t)})),restoreWorkspace:(t,i)=>e(void 0,void 0,void 0,(function*(){T.runWithException(t);const e=ee.runWithException(i);return o.restoreWorkspace(t,e)})),createWorkspace:(t,i)=>e(void 0,void 0,void 0,(function*(){const e=ie.runWithException(t),r=$.runWithException(i);return o.createWorkspace(e,r)})),createEmptyFrame:t=>e(void 0,void 0,void 0,(function*(){const e=ne.runWithException(t);return o.createEmptyFrame(null!=e?e:{})})),waitForFrame:t=>e(void 0,void 0,void 0,(function*(){return T.runWithException(t),new Promise(((e,i)=>{let o=()=>{};n((i=>{i.id===t&&(e(i),o())})).then((e=>(o=e,r()))).then((i=>{const r=i.find((e=>e.id===t));r&&(e(r),o())})).catch(i)}))})),layouts:{getSummaries:()=>o.getLayoutSummaries(),delete:t=>e(void 0,void 0,void 0,(function*(){return T.runWithException(t),o.deleteLayout(t)})),export:t=>e(void 0,void 0,void 0,(function*(){return H(t,!0),o.exportLayout(t)})),import:(t,i="replace")=>e(void 0,void 0,void 0,(function*(){if(!Array.isArray(t))throw new Error(`The provided layouts argument is not an array: ${JSON.stringify(t)}`);return t.forEach((e=>Ee.runWithException(e))),o.importLayouts(t,i)})),save:t=>e(void 0,void 0,void 0,(function*(){const e=mt.runWithException(t);return o.saveLayout(e)})),onSaved:t=>e(void 0,void 0,void 0,(function*(){return H(t),o.handleOnSaved(t)})),onRemoved:t=>e(void 0,void 0,void 0,(function*(){return H(t),o.handleOnRemoved(t)}))},onFrameOpened:n,onFrameClosed:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((e=>{t({frameId:e.frameSummary.id,frameBounds:e.frameBounds})}),"frame","closed")})),onWorkspaceOpened:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((i=>e(void 0,void 0,void 0,(function*(){const e=yield o.transformStreamPayloadToWorkspace(i);t(e)}))),"workspace","opened")})),onWorkspaceClosed:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((e=>{t({frameId:e.frameSummary.id,workspaceId:e.workspaceSummary.id,frameBounds:e.frameBounds})}),"workspace","closed")})),onWorkspaceHibernated:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((i=>e(void 0,void 0,void 0,(function*(){const e=yield o.transformStreamPayloadToWorkspace(i);t(e)}))),"workspace","hibernated")})),onWorkspaceResumed:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((i=>e(void 0,void 0,void 0,(function*(){const e=yield o.transformStreamPayloadToWorkspace(i);t(e)}))),"workspace","resumed")})),onWindowAdded:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((r=>e(void 0,void 0,void 0,(function*(){const e=yield o.getSnapshot(r.windowSummary.config.workspaceId,"workspace"),n={summary:e.frameSummary},s={frame:i.getModel("frame",n),snapshot:e},a=i.getModel("workspace",s).getBox((e=>e.id===r.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===r.windowSummary.itemId));t(a)}))),"window","added")})),onWindowLoaded:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((r=>e(void 0,void 0,void 0,(function*(){const e=yield o.getSnapshot(r.windowSummary.config.workspaceId,"workspace"),n={summary:e.frameSummary},s={frame:i.getModel("frame",n),snapshot:e},a=i.getModel("workspace",s).getWindow((e=>e.id&&e.id===r.windowSummary.config.windowId));t(a)}))),"window","loaded")})),onWindowRemoved:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((e=>{const{windowId:i,workspaceId:o,frameId:r}=e.windowSummary.config;t({windowId:i,workspaceId:o,frameId:r})}),"window","removed")})),onWindowMaximized:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((r=>e(void 0,void 0,void 0,(function*(){const e=yield o.getSnapshot(r.windowSummary.config.workspaceId,"workspace"),n={summary:e.frameSummary},s={frame:i.getModel("frame",n),snapshot:e},a=i.getModel("workspace",s).getBox((e=>e.id===r.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===r.windowSummary.itemId));t(a)}))),"window","maximized")})),onWindowRestored:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((r=>e(void 0,void 0,void 0,(function*(){const e=yield o.getSnapshot(r.windowSummary.config.workspaceId,"workspace"),n={summary:e.frameSummary},s={frame:i.getModel("frame",n),snapshot:e},a=i.getModel("workspace",s).getBox((e=>e.id===r.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===r.windowSummary.itemId));t(a)}))),"window","restored")})),onWindowSelected:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((r=>e(void 0,void 0,void 0,(function*(){const e=yield o.getSnapshot(r.windowSummary.config.workspaceId,"workspace"),n={summary:e.frameSummary},s={frame:i.getModel("frame",n),snapshot:e},a=i.getModel("workspace",s).getBox((e=>e.id===r.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===r.windowSummary.itemId));t(a)}))),"window","selected")})),version:"3.0.1"}})(t,i)}));return"undefined"!=typeof window&&(window.IOWorkspaces=xi),xi}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e="undefined"!=typeof globalThis?globalThis:e||self).workspaces=e.workspaces||{},e.workspaces.min=t())}(this,(function(){"use strict";function e(e,t,i,o){return new(i||(i=Promise))((function(r,n){function s(e){try{d(o.next(e))}catch(e){n(e)}}function a(e){try{d(o.throw(e))}catch(e){n(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}d((o=o.apply(e,t||[])).next())}))}function t(e){if(e&&e.errorHandling&&"function"!=typeof e.errorHandling&&"log"!==e.errorHandling&&"silent"!==e.errorHandling&&"throw"!==e.errorHandling)throw new Error('Invalid options passed to createRegistry. Prop errorHandling should be ["log" | "silent" | "throw" | (err) => void], but '+typeof e.errorHandling+" was passed");var t=e&&"function"==typeof e.errorHandling&&e.errorHandling,i={};function o(i,o){var r=i instanceof Error?i:new Error(i);if(t)t(r);else{var n='[ERROR] callback-registry: User callback for key "'+o+'" failed: '+r.stack;if(e)switch(e.errorHandling){case"log":return console.error(n);case"silent":return;case"throw":throw new Error(n)}console.error(n)}}return{add:function(e,t,r){var n=i[e];return n||(n=[],i[e]=n),n.push(t),r&&setTimeout((function(){r.forEach((function(r){var n;if(null===(n=i[e])||void 0===n?void 0:n.includes(t))try{Array.isArray(r)?t.apply(void 0,r):t.apply(void 0,[r])}catch(t){o(t,e)}}))}),0),function(){var o=i[e];o&&(0===(o=o.reduce((function(e,i,o){return i===t&&e.length===o||e.push(i),e}),[])).length?delete i[e]:i[e]=o)}},execute:function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var n=i[e];if(!n||0===n.length)return[];var s=[];return n.forEach((function(i){try{var r=i.apply(void 0,t);s.push(r)}catch(t){s.push(void 0),o(t,e)}})),s},clear:function(){i={}},clearKey:function(e){i[e]&&delete i[e]}}}t.default=t;var i=t,o=function(e){return{ok:!0,result:e}},r=function(e){return{ok:!1,error:e}},n=function(e){return!0===e.ok?Promise.resolve(e.result):Promise.reject(e.error)},s=function(e){if(!0===e.ok)return e.result;throw e.error},a=function(e,t){return!0===t.ok?o(e(t.result)):t},d=function(e,t,i){return!1===t.ok?t:!1===i.ok?i:o(e(t.result,i.result))},c=function(e,t){return!0===t.ok?t:r(e(t.error))},l=function(e,t){return!0===t.ok?e(t.result):t},h=function(){return h=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},h.apply(this,arguments)};function u(e,t){if(e===t)return!0;if(null===e&&null===t)return!0;if(typeof e!=typeof t)return!1;if("object"==typeof e){if(Array.isArray(e)){if(!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(var i=0;i<e.length;i++)if(!u(e[i],t[i]))return!1;return!0}var o=Object.keys(e);if(o.length!==Object.keys(t).length)return!1;for(i=0;i<o.length;i++){if(!t.hasOwnProperty(o[i]))return!1;if(!u(e[o[i]],t[o[i]]))return!1}return!0}}var p=function(e){return Array.isArray(e)},m=function(e){return"object"==typeof e&&null!==e&&!p(e)},w=function(e,t){return"expected "+e+", got "+function(e){switch(typeof e){case"string":return"a string";case"number":return"a number";case"boolean":return"a boolean";case"undefined":return"undefined";case"object":return e instanceof Array?"an array":null===e?"null":"an object";default:return JSON.stringify(e)}}(t)},g=function(e){return e.map((function(e){return"string"==typeof e?"."+e:"["+e+"]"})).join("")},f=function(e,t){var i=t.at,o=function(e,t){var i={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(i[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(i[o[r]]=e[o[r]])}return i}(t,["at"]);return h({at:e+(i||"")},o)},y=function(){function e(t){var i=this;this.decode=t,this.run=function(e){return c((function(t){return{kind:"DecoderError",input:e,at:"input"+(t.at||""),message:t.message||""}}),i.decode(e))},this.runPromise=function(e){return n(i.run(e))},this.runWithException=function(e){return s(i.run(e))},this.map=function(t){return new e((function(e){return a(t,i.decode(e))}))},this.andThen=function(t){return new e((function(e){return l((function(i){return t(i).decode(e)}),i.decode(e))}))},this.where=function(t,o){return i.andThen((function(i){return t(i)?e.succeed(i):e.fail(o)}))}}return e.string=function(){return new e((function(e){return"string"==typeof e?o(e):r({message:w("a string",e)})}))},e.number=function(){return new e((function(e){return"number"==typeof e?o(e):r({message:w("a number",e)})}))},e.boolean=function(){return new e((function(e){return"boolean"==typeof e?o(e):r({message:w("a boolean",e)})}))},e.constant=function(t){return new e((function(e){return u(e,t)?o(t):r({message:"expected "+JSON.stringify(t)+", got "+JSON.stringify(e)})}))},e.object=function(t){return new e((function(e){if(m(e)&&t){var i={};for(var n in t)if(t.hasOwnProperty(n)){var s=t[n].decode(e[n]);if(!0!==s.ok)return void 0===e[n]?r({message:"the key '"+n+"' is required but was not present"}):r(f("."+n,s.error));void 0!==s.result&&(i[n]=s.result)}return o(i)}return m(e)?o(e):r({message:w("an object",e)})}))},e.array=function(t){return new e((function(e){if(p(e)&&t){return e.reduce((function(e,i,o){return d((function(e,t){return e.concat([t])}),e,function(e,i){return c((function(e){return f("["+i+"]",e)}),t.decode(e))}(i,o))}),o([]))}return p(e)?o(e):r({message:w("an array",e)})}))},e.tuple=function(t){return new e((function(e){if(p(e)){if(e.length!==t.length)return r({message:"expected a tuple of length "+t.length+", got one of length "+e.length});for(var i=[],n=0;n<t.length;n++){var s=t[n].decode(e[n]);if(!s.ok)return r(f("["+n+"]",s.error));i[n]=s.result}return o(i)}return r({message:w("a tuple of length "+t.length,e)})}))},e.union=function(t,i){for(var o=[],r=2;r<arguments.length;r++)o[r-2]=arguments[r];return e.oneOf.apply(e,[t,i].concat(o))},e.intersection=function(t,i){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];return new e((function(e){return[t,i].concat(r).reduce((function(t,i){return d(Object.assign,t,i.decode(e))}),o({}))}))},e.anyJson=function(){return new e((function(e){return o(e)}))},e.unknownJson=function(){return new e((function(e){return o(e)}))},e.dict=function(t){return new e((function(e){if(m(e)){var i={};for(var n in e)if(e.hasOwnProperty(n)){var s=t.decode(e[n]);if(!0!==s.ok)return r(f("."+n,s.error));i[n]=s.result}return o(i)}return r({message:w("an object",e)})}))},e.optional=function(t){return new e((function(e){return null==e?o(void 0):t.decode(e)}))},e.oneOf=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return new e((function(e){for(var i=[],o=0;o<t.length;o++){var n=t[o].decode(e);if(!0===n.ok)return n;i[o]=n.error}var s=i.map((function(e){return"at error"+(e.at||"")+": "+e.message})).join('", "');return r({message:'expected a value matching one of the decoders, got the errors ["'+s+'"]'})}))},e.withDefault=function(t,i){return new e((function(e){return o(function(e,t){return!0===t.ok?t.result:e}(t,i.decode(e)))}))},e.valueAt=function(t,i){return new e((function(e){for(var o=e,n=0;n<t.length;n++){if(void 0===o)return r({at:g(t.slice(0,n+1)),message:"path does not exist"});if("string"==typeof t[n]&&!m(o))return r({at:g(t.slice(0,n+1)),message:w("an object",o)});if("number"==typeof t[n]&&!p(o))return r({at:g(t.slice(0,n+1)),message:w("an array",o)});o=o[t[n]]}return c((function(e){return void 0===o?{at:g(t),message:"path does not exist"}:f(g(t),e)}),i.decode(o))}))},e.succeed=function(t){return new e((function(e){return o(t)}))},e.fail=function(t){return new e((function(e){return r({message:t})}))},e.lazy=function(t){return new e((function(e){return t().decode(e)}))},e}(),v=y.string,k=y.number,b=y.boolean,W=y.anyJson;y.unknownJson;var I=y.constant,x=y.object,S=y.array;y.tuple,y.dict;var D=y.optional,C=y.oneOf;y.union;var E=y.intersection;y.withDefault,y.valueAt,y.succeed,y.fail;var B=y.lazy;const T=v().where((e=>e.length>0),"Expected a non-empty string"),M=k().where((e=>e>=0),"Expected a non-negative number"),R=k().where((e=>e>0),"Expected a positive number"),A=x({inWorkspace:b()}),L=C(I("workspace"),I("row"),I("column"),I("group")),P=C(I("row"),I("column"),I("group")),F=C(I("maximized"),I("minimized"),I("normal")),z=C(I("workspace")),H=(e,t)=>{const i=typeof e;if(t&&"function"!==i&&"undefined"!==i)throw new Error(`Provided argument must be either undefined or of type function, provided: ${i}`);if(!t&&"function"!==i)throw new Error(`Provided argument must be of type function, provided: ${i}`)},$=D(x({saveLayout:D(b())})),O=x({name:T}),j=x({minWidth:D(k()),maxWidth:D(k()),minHeight:D(k()),maxHeight:D(k()),allowExtract:D(b()),allowReorder:D(b()),showCloseButton:D(b())}),_=x({minWidth:D(k()),maxWidth:D(k()),minHeight:D(k()),maxHeight:D(k()),allowExtract:D(b()),allowReorder:D(b()),allowDrop:D(b()),allowDropHeader:D(b()),allowDropLeft:D(b()),allowDropRight:D(b()),allowDropTop:D(b()),allowDropBottom:D(b()),showMaximizeButton:D(b()),showEjectButton:D(b()),showAddWindowButton:D(b())}),G=x({minHeight:D(k()),maxHeight:D(k()),allowDrop:D(b()),allowSplitters:D(b()),isPinned:D(b()),maximizationBoundary:D(b())}),N=x({minWidth:D(k()),maxWidth:D(k()),allowDrop:D(b()),allowSplitters:D(b()),isPinned:D(b()),maximizationBoundary:D(b())}),J=x({type:D(I("window")),appName:D(T),windowId:D(T),context:D(W()),config:D(j)}),U=x({type:I("window"),appName:D(T),windowId:D(T),context:D(W()),config:D(j)}),K=D(x({type:D(P),children:D(B((()=>S(C(J,K))))),config:D(W())})),q=x({type:I("column"),children:D(B((()=>S(C(U,X))))),config:D(N)}),Q=x({type:I("row"),children:D(B((()=>S(C(U,X))))),config:D(G)}),V=x({type:I("group"),children:D(B((()=>S(C(U,X))))),config:D(_)}),X=C(V,q,Q);C(v().where((e=>"maximized"===e.toLowerCase()),"Expected a case insensitive variation of 'maximized'"),v().where((e=>"normal"===e.toLowerCase()),"Expected a case insensitive variation of 'normal'"));const Y=x({bounds:D(x({left:D(k()),top:D(k()),width:D(M),height:D(M)})),frameId:D(T)}),Z=C(I("direct"),I("delayed"),I("lazy")),ee=D(x({app:D(T),context:D(W()),loadingStrategy:D(Z),title:D(T),reuseWorkspaceId:D(T),frameId:D(T),applicationName:D(T),lockdown:D(b()),activateFrame:D(b()),newFrame:D(C(Y,b())),noTabHeader:D(b()),inMemoryLayout:D(b()),icon:D(T),isPinned:D(b()),isSelected:D(b()),positionIndex:D(M),allowSystemHibernation:D(b())})),te=x({name:T,restoreOptions:D(ee)}),ie=x({children:D(S(C(J,X))),context:D(W()),config:D(x({title:D(T),position:D(M),isFocused:D(b()),noTabHeader:D(b()),reuseWorkspaceId:D(T),loadingStrategy:D(Z),allowDrop:D(b()),allowDropLeft:D(b()),allowDropTop:D(b()),allowDropRight:D(b()),allowDropBottom:D(b()),allowSystemHibernation:D(b()),allowExtract:D(b()),allowWindowReorder:D(b()),showSaveButton:D(b()),allowWorkspaceTabReorder:D(b()),allowWorkspaceTabExtract:D(b()),showCloseButton:D(b()),allowSplitters:D(b()),showWindowCloseButtons:D(b()),showEjectButtons:D(b()),showAddWindowButtons:D(b()),icon:D(T),isPinned:D(b()),isSelected:D(b()),positionIndex:D(M)})),frame:D(x({reuseFrameId:D(T),applicationName:D(T),newFrame:D(C(b(),Y))}))}),oe=x({workspaceId:T}),re=x({name:T,restoreOptions:D(ee)}),ne=D(x({applicationName:D(v()),frameConfig:D(Y),context:D(x()),layoutComponentId:D(T)})),se=x({workspaces:S(C(D(ie),D(re)))}),ae=x({frameId:T,workspaces:S(C(ie,re))}),de=x({type:L,definition:D(C(ie,K))}),ce=E(ie,x({saveConfig:D(x({saveLayout:D(b())}))})),le=x({itemId:T}),he=x({context:D(x())}),ue=x({id:T,isFocused:D(b()),isInitialized:D(b()),initializationContext:D(he)});x({type:P,id:T,frameId:T,workspaceId:T,positionIndex:k()});const pe=C(I("frame"),I("workspace"),I("container"),I("window")),me=x({type:pe,branch:T}),we=C(I("opened"),I("closing"),I("closed"),I("focus"),I("added"),I("loaded"),I("removed"),I("childrenUpdate"),I("containerChange"),I("maximized"),I("restored"),I("minimized"),I("normal"),I("selected"),I("lock-configuration-changed"),I("hibernated"),I("resumed")),ge=x({frameId:T,title:T,positionIndex:M,name:T,layoutName:D(T),isHibernated:D(b()),isSelected:D(b()),allowDrop:D(b()),allowSystemHibernation:D(b()),allowExtract:D(b()),allowWindowReorder:D(b()),allowSplitters:D(b()),showCloseButton:D(b()),showSaveButton:D(b()),allowWorkspaceTabReorder:D(b()),allowWorkspaceTabExtract:D(b()),allowDropLeft:D(b()),allowDropTop:D(b()),allowDropRight:D(b()),allowDropBottom:D(b()),minWidth:D(k()),maxWidth:D(k()),minHeight:D(k()),maxHeight:D(k()),showAddWindowButtons:D(b()),showEjectButtons:D(b()),showWindowCloseButtons:D(b()),widthInPx:D(k()),heightInPx:D(k()),isPinned:D(b())}),fe=x({frameId:T,workspaceId:T,positionIndex:k(),minWidth:D(k()),maxWidth:D(k()),minHeight:D(k()),maxHeight:D(k())}),ye=W(),ve=E(fe,x({windowId:D(T),isMaximized:D(b()),isFocused:b(),isSelected:D(b()),title:D(v()),appName:D(T),allowExtract:D(b()),allowReorder:D(b()),showCloseButton:D(b()),minWidth:D(k()),minHeight:D(k()),maxWidth:D(k()),maxHeight:D(k()),widthInPx:D(k()),heightInPx:D(k()),context:D(W())})),ke=x({id:D(T),config:ye,children:D(B((()=>S(We)))),type:C(I("row"),I("column"),I("group"))}),be=x({id:D(T),config:ve,type:I("window")}),We=C(be,ke),Ie=x({id:T,config:ge,children:S(We),frameSummary:ue,context:D(W())}),xe=x({type:I("window"),config:x({appName:T,windowId:D(T),context:D(W()),url:D(T),title:D(v()),allowExtract:D(b()),allowReorder:D(b()),showCloseButton:D(b()),minWidth:D(k()),minHeight:D(k()),maxWidth:D(k()),maxHeight:D(k()),isMaximized:D(b())})}),Se=x({type:I("group"),config:W(),children:S(C(xe))}),De=x({type:I("column"),config:W(),children:S(C(Se,xe,B((()=>De)),B((()=>Ce))))}),Ce=x({type:I("row"),config:W(),children:S(C(De,Se,xe,B((()=>Ce))))}),Ee=x({name:T,type:I("Workspace"),metadata:D(W()),components:S(x({type:I("Workspace"),application:D(v()),state:x({config:W(),context:W(),children:S(C(Ce,De,Se,xe))})}))}),Be=x({layout:Ee,mode:C(I("replace"),I("merge"))}),Te=x({layouts:S(Ee),mode:C(I("replace"),I("merge"))}),Me=x({layouts:S(Ee)}),Re=x({id:T,isFocused:D(b()),isInitialized:D(b()),initializationContext:D(he)}),Ae=x({summaries:S(Re)}),Le=x({id:T,config:ge}),Pe=x({summaries:S(Le)}),Fe=x({id:T,config:W(),workspaces:S(Ie)}),ze=x({name:T,applicationName:D(v())}),He=x({summaries:S(ze)}),$e=x({windowId:T}),Oe=W(),je=x({state:F}),_e=x({top:k(),left:k(),width:M,height:M}),Ge=x({bounds:_e}),Ne=x({icon:D(T)}),Je=x({id:D(T)}),Ue=x({isSupported:b()}),Ke=x({width:D(R),height:D(R),relative:D(b())}),qe=x({top:D(k()),left:D(k()),relative:D(b())}),Qe=x({itemId:T}),Ve=x({itemId:T,excludeIds:D(b())}),Xe=x({frameId:T,requestedState:F}),Ye=x({itemId:T,title:T}),Ze=x({itemId:T,containerId:T}),et=E(Qe,Ke),tt=x({itemId:T,enabled:b()}),it=E(Qe,qe);x({id:T,type:P});const ot=x({definition:J,parentId:T,parentType:L}),rt=x({definition:X,parentId:T,parentType:L}),nt=x({itemId:T,windowId:D(T)}),st=x({live:b()}),at=x({type:C(I("row"),I("column")),workspaceId:T}),dt=x({type:C(I("row"),I("column")),itemId:T}),ct=x({itemId:T,config:ye}),lt=x({frameSummary:ue,frameBounds:D(_e)}),ht=x({workspaceSummary:Le,frameSummary:ue,workspaceSnapshot:D(Ie),frameBounds:D(_e)}),ut=x({containerSummary:ct}),pt=x({windowSummary:x({itemId:T,parentId:T,config:ve})}),mt=x({name:T,workspaceId:T,saveContext:D(b()),metadata:D(x())}),wt=x({allowDrop:D(b()),allowDropLeft:D(b()),allowDropTop:D(b()),allowDropRight:D(b()),allowDropBottom:D(b()),allowSystemHibernation:D(b()),allowExtract:D(b()),allowWindowReorder:D(b()),allowSplitters:D(b()),showCloseButton:D(b()),showSaveButton:D(b()),allowWorkspaceTabReorder:D(b()),allowWorkspaceTabExtract:D(b()),showWindowCloseButtons:D(b()),showAddWindowButtons:D(b()),showEjectButtons:D(b())}),gt=x({workspaceId:T,config:D(wt)}),ft=x({allowExtract:D(b()),allowReorder:D(b()),showCloseButton:D(b())}),yt=x({width:D(M),height:D(M)}),vt=x({windowPlacementId:T,config:D(ft)}),kt=x({allowDrop:D(b()),allowSplitters:D(b())}),bt=x({allowDrop:D(b()),allowSplitters:D(b())}),Wt=x({allowExtract:D(b()),allowReorder:D(b()),allowDrop:D(b()),allowDropLeft:D(b()),allowDropRight:D(b()),allowDropTop:D(b()),allowDropBottom:D(b()),allowDropHeader:D(b()),showMaximizeButton:D(b()),showEjectButton:D(b()),showAddWindowButton:D(b())}),It=x({itemId:T,type:I("row"),config:D(kt)}),xt=x({itemId:T,type:I("column"),config:D(bt)}),St=x({itemId:T,type:I("group"),config:D(Wt)}),Dt=C(It,xt,St),Ct=x({workspaceId:T,icon:D(T)}),Et=x({workspaceId:T,icon:D(T)}),Bt=D(x({icon:D(T)})),Tt=x({shortcut:T,frameId:T}),Mt=x({shortcut:T,frameId:T}),Rt=x({enabled:b()}),At=x({itemId:T,type:z}),Lt=x({operation:T}),Pt="T42.Web.Platform.Control",Ft="T42.Web.Platform.WSP.Stream",zt={control:{name:"T42.Workspaces.Control",isStream:!1},frameStream:{name:"T42.Workspaces.Stream.Frame",isStream:!0},workspaceStream:{name:"T42.Workspaces.Stream.Workspace",isStream:!0},containerStream:{name:"T42.Workspaces.Stream.Container",isStream:!0},windowStream:{name:"T42.Workspaces.Stream.Window",isStream:!0}},Ht={control:{name:"T42.Workspaces.Client.Control",isStream:!1}},$t={frame:{name:"T42.Workspaces.Stream.Frame",payloadDecoder:lt},workspace:{name:"T42.Workspaces.Stream.Workspace",payloadDecoder:ht},container:{name:"T42.Workspaces.Stream.Container",payloadDecoder:ut},window:{name:"T42.Workspaces.Stream.Window",payloadDecoder:pt}},Ot={shortcutClicked:{name:"shortcutClicked",argsDecoder:Mt,resultDecoder:Oe}},jt={ping:{name:"ping",resultDecoder:st},isWindowInWorkspace:{name:"isWindowInWorkspace",argsDecoder:Qe,resultDecoder:A},createWorkspace:{name:"createWorkspace",resultDecoder:Ie,argsDecoder:ce},createFrame:{name:"createFrame",resultDecoder:Re,argsDecoder:ne},initFrame:{name:"initFrame",resultDecoder:Oe,argsDecoder:ae},getAllFramesSummaries:{name:"getAllFramesSummaries",resultDecoder:Ae},getFrameSummary:{name:"getFrameSummary",resultDecoder:ue,argsDecoder:le},getAllWorkspacesSummaries:{name:"getAllWorkspacesSummaries",resultDecoder:Pe},getWorkspaceSnapshot:{name:"getWorkspaceSnapshot",resultDecoder:Ie,argsDecoder:Qe},getAllLayoutsSummaries:{name:"getAllLayoutsSummaries",resultDecoder:He},openWorkspace:{name:"openWorkspace",argsDecoder:te,resultDecoder:Ie},deleteLayout:{name:"deleteLayout",resultDecoder:Oe,argsDecoder:O},saveLayout:{name:"saveLayout",resultDecoder:Ee,argsDecoder:mt},importLayout:{name:"importLayout",resultDecoder:Oe,argsDecoder:Be},importLayouts:{name:"importLayouts",resultDecoder:Oe,argsDecoder:Te},exportAllLayouts:{name:"exportAllLayouts",resultDecoder:Me},restoreItem:{name:"restoreItem",argsDecoder:Qe,resultDecoder:Oe},maximizeItem:{name:"maximizeItem",argsDecoder:Qe,resultDecoder:Oe},focusItem:{name:"focusItem",argsDecoder:Qe,resultDecoder:Oe},closeItem:{name:"closeItem",argsDecoder:Qe,resultDecoder:Oe},resizeItem:{name:"resizeItem",argsDecoder:et,resultDecoder:Oe},setMaximizationBoundary:{name:"setMaximizationBoundary",argsDecoder:tt,resultDecoder:Oe},changeFrameState:{name:"changeFrameState",argsDecoder:Xe,resultDecoder:Oe},getFrameState:{name:"getFrameState",argsDecoder:Qe,resultDecoder:je},getFrameBounds:{name:"getFrameBounds",argsDecoder:Qe,resultDecoder:Ge},moveFrame:{name:"moveFrame",argsDecoder:it,resultDecoder:Oe},getFrameSnapshot:{name:"getFrameSnapshot",argsDecoder:Ve,resultDecoder:Fe},forceLoadWindow:{name:"forceLoadWindow",argsDecoder:Qe,resultDecoder:$e},ejectWindow:{name:"ejectWindow",argsDecoder:Qe,resultDecoder:$e},setItemTitle:{name:"setItemTitle",argsDecoder:Ye,resultDecoder:Oe},moveWindowTo:{name:"moveWindowTo",argsDecoder:Ze,resultDecoder:Oe},addWindow:{name:"addWindow",argsDecoder:ot,resultDecoder:nt},addContainer:{name:"addContainer",argsDecoder:rt,resultDecoder:nt},bundleWorkspace:{name:"bundleWorkspace",argsDecoder:at,resultDecoder:Oe},bundleItem:{name:"bundleItem",argsDecoder:dt,resultDecoder:Oe},hibernateWorkspace:{name:"hibernateWorkspace",argsDecoder:oe,resultDecoder:Oe},resumeWorkspace:{name:"resumeWorkspace",argsDecoder:oe,resultDecoder:Oe},lockWorkspace:{name:"lockWorkspace",argsDecoder:gt,resultDecoder:Oe},lockWindow:{name:"lockWindow",argsDecoder:vt,resultDecoder:Oe},lockContainer:{name:"lockContainer",argsDecoder:Dt,resultDecoder:Oe},pinWorkspace:{name:"pinWorkspace",argsDecoder:Ct,resultDecoder:Oe},unpinWorkspace:{name:"unpinWorkspace",argsDecoder:oe,resultDecoder:Oe},getWorkspaceIcon:{name:"getWorkspaceIcon",argsDecoder:oe,resultDecoder:Ne},setWorkspaceIcon:{name:"setWorkspaceIcon",argsDecoder:Et,resultDecoder:Oe},registerShortcut:{name:"registerShortcut",argsDecoder:Tt,resultDecoder:Oe},unregisterShortcut:{name:"unregisterShortcut",argsDecoder:Tt,resultDecoder:Oe},showLoadingAnimation:{name:"showLoadingAnimation",argsDecoder:At,resultDecoder:Oe},hideLoadingAnimation:{name:"hideLoadingAnimation",argsDecoder:At,resultDecoder:Oe},getPlatformFrameId:{name:"getPlatformFrameId",resultDecoder:Je},operationCheck:{name:"operationCheck",argsDecoder:Lt,resultDecoder:Ue}};class _t{constructor(){this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}class Gt{constructor(e,t){this.transport=e,this.registry=t,this.activeSubscriptions=[],this.pendingSubScriptions=[]}createCoreEventSubscription(){return e(this,void 0,void 0,(function*(){yield this.transport.coreSubscriptionReady(this.handleCoreEvent.bind(this))}))}handleCoreSubscription(e){const t=`${e.eventType}-${e.action}`,i=e.scope,o=e.scopeId;return this.registry.add(t,(t=>{var r,n,s,a,d,c;const l={type:i,id:o},h={frame:(null===(r=t.frameSummary)||void 0===r?void 0:r.id)||(null===(n=t.windowSummary)||void 0===n?void 0:n.config.frameId),workspace:(null===(s=t.workspaceSummary)||void 0===s?void 0:s.id)||(null===(a=t.windowSummary)||void 0===a?void 0:a.config.workspaceId),container:null===(d=t.containerSummary)||void 0===d?void 0:d.itemId,window:null===(c=t.windowSummary)||void 0===c?void 0:c.itemId};this.checkScopeMatch(l,h)&&e.callback(t)}))}send(t,i){return e(this,void 0,void 0,(function*(){const e=Object.values(jt).find((e=>e.name===t));if(!e)throw new Error(`Cannot find definition for operation name: ${t}`);if(e.argsDecoder)try{e.argsDecoder.runWithException(i)}catch(e){throw new Error(`Unexpected internal outgoing validation error: ${e.message}, for input: ${JSON.stringify(e.input)}, for operation ${t}`)}try{const t=yield this.transport.transmitControl(e.name,i);return e.resultDecoder.runWithException(t),t}catch(e){if(e.kind)throw new Error(`Unexpected internal incoming validation error: ${e.message}, for input: ${JSON.stringify(e.input)}, for operation ${t}`);throw new Error(e.message)}}))}subscribe(t){return e(this,void 0,void 0,(function*(){const e=this.getPendingSubscription(t);e&&(yield e.promise);let i=this.getActiveSubscription(t);const o=this.getRegistryKey(t);if(!i){const e=new _t,o={streamType:t.eventType,level:t.scope,levelId:t.scopeId,promise:e.promise};this.pendingSubScriptions.push(o);try{const r=$t[t.eventType],n=yield this.transport.subscribe(r.name,this.getBranchKey(t),t.eventType);n.onData((e=>{const t=e.data,i=me.run(e.requestArguments),o=we.run(t.action);if(!i.ok||!o.ok)return;const r=i.result.type,n=`${r}-${i.result.branch}-${o.result}`,s=$t[r].payloadDecoder.run(t.payload);s.ok&&this.registry.execute(n,s.result)})),i={streamType:t.eventType,level:t.scope,levelId:t.scopeId,callbacksCount:0,gdSub:n},this.activeSubscriptions.push(i),e.resolve()}catch(t){throw e.reject(t),t}finally{this.removePendingSubscription(o)}}const r=this.registry.add(o,t.callback);return++i.callbacksCount,()=>{r(),--i.callbacksCount,0===i.callbacksCount&&(i.gdSub.close(),this.activeSubscriptions.splice(this.activeSubscriptions.indexOf(i),1))}}))}onOperation(e){return this.transport.onInternalMethodInvoked("control",((t,i)=>{const o=t.operation,r=t.data,n=Object.values(Ot).find((e=>e.name===o));if(!n)throw new Error(`Cannot find definition for operation name: ${o}`);if(n.argsDecoder)try{n.argsDecoder.runWithException(r)}catch(e){throw new Error(`Unexpected internal outgoing validation error: ${e.message}, for input: ${JSON.stringify(e.input)}, for operation ${o}`)}e(t,i)}))}checkScopeMatch(e,t){return"global"===e.type||("frame"===e.type&&e.id===t.frame||("workspace"===e.type&&e.id===t.workspace||("container"===e.type&&e.id===t.container||"window"===e.type&&e.id===t.window)))}handleCoreEvent(e){const t=e.data;try{const e=we.runWithException(t.action),i=pe.runWithException(t.type),o=$t[i].payloadDecoder.runWithException(t.payload),r=`${i}-${e}`;this.registry.execute(r,o)}catch(e){console.warn(`Cannot handle event with data ${JSON.stringify(t)}, because of validation error: ${e.message}`)}}getBranchKey(e){return"global"===e.scope?e.scope:`${e.scope}_${e.scopeId}`}getRegistryKey(e){return`${e.eventType}-${this.getBranchKey(e)}-${e.action}`}getActiveSubscription(e){return this.activeSubscriptions.find((t=>t.streamType===e.eventType&&t.level===e.scope&&t.levelId===e.scopeId))}getPendingSubscription(e){return this.pendingSubScriptions.find((t=>t.streamType===e.eventType&&t.level===e.scope&&t.levelId===e.scopeId))}removePendingSubscription(e){const t=this.pendingSubScriptions.indexOf(e);t>=0&&this.pendingSubScriptions.splice(t,1)}}class Nt{constructor(e,t){this.agm=e,this.registry=t,this.defaultTransportTimeout=3e4,this.coreEventMethodInitiated=!1}initiate(t){return e(this,void 0,void 0,(function*(){if(window.glue42gd||window.iodesktop)return yield Promise.all(Object.values(zt).map((e=>this.verifyMethodLive(e.name)))),void(yield Promise.all(Object.keys(Ht).map((e=>this.registerMethod(e)))));const e=(window.glue42core||window.iobrowser).communicationId;yield Promise.all([this.verifyMethodLive(Pt,e),this.verifyMethodLive(Ft,e)]),yield this.transmitControl("frameHello",{windowId:t})}))}coreSubscriptionReady(e){return this.coreEventMethodInitiated||this.subscribePlatform(e),this.corePlatformSubPromise}subscribePlatform(e){this.coreEventMethodInitiated=!0;const t=(window.glue42core||window.iobrowser).communicationId;this.corePlatformSubPromise=this.agm.subscribe(Ft,t?{target:{instance:t}}:void 0),this.corePlatformSubPromise.then((t=>{t.onData((t=>e(t.data)))}))}subscribe(t,i,o){return e(this,void 0,void 0,(function*(){const e={branch:i,type:o};let r;try{r=yield this.agm.subscribe(t,{arguments:e})}catch(e){const o=`Internal subscription error! Error details: stream - ${t}, branch: ${i}. Internal message: ${e.message}`;throw new Error(o)}return r}))}transmitControl(t,i){return e(this,void 0,void 0,(function*(){const e=window.glue42gd||window.iodesktop,o=window.glue42core||window.iobrowser,r=e?{operation:t,operationArguments:i}:{operation:t,domain:"workspaces",data:i},n=e?zt.control.name:Pt,s=e?void 0:o.communicationId;let a;const d=`Internal Workspaces Communication Error. Attempted operation: ${JSON.stringify(r)}. `;try{if(a=yield this.agm.invoke(n,r,s?{instance:s}:"best",{methodResponseTimeoutMs:this.defaultTransportTimeout}),!a)throw new Error("Received unsupported result from GD - empty result");if(!Array.isArray(a.all_return_values)||0===a.all_return_values.length)throw new Error("Received unsupported result from GD - empty values collection")}catch(e){if(e&&e.all_errors&&e.all_errors.length){const t=e.all_errors[0].message;throw new Error(`${d} -> Inner message: ${t}`)}throw new Error(`${d} -> Inner message: ${e.message}`)}return a.all_return_values[0].returned}))}onInternalMethodInvoked(e,t){return this.registry.add(e,t)}verifyMethodLive(e,t){return i=()=>new Promise((i=>{if(this.agm.methods().some((i=>{const o=i.name===e,r=!t||i.getServers().some((e=>e.instance===t));return o&&r})))return void i();const o=this.agm.serverMethodAdded((r=>{const n=r.method,s=r.server,a=!t||s.instance===t;n.name===e&&a&&(o(),i())}))})),o=15e3,r="Timeout waiting for the Workspaces communication channels",new Promise(((e,t)=>{let n=!0;const s=setTimeout((()=>{n&&(n=!1,t(r||`Promise timeout hit: ${o}`))}),o);i().then((t=>{n&&(n=!1,clearTimeout(s),e(t))})).catch((e=>{n&&(n=!1,clearTimeout(s),t(e))}))}));var i,o,r}registerMethod(e){const t=Ht[e];return this.agm.register(t.name,((t,i)=>{this.registry.execute(e,t,i)}))}}const Jt=new WeakMap;class Ut{constructor(e,t){const i=t.wrapChildren(e.children);delete e.children,Jt.set(this,{base:t,children:i,definition:e})}get type(){return Jt.get(this).definition.type}addColumn(e){return Jt.get(this).base.add("column",Jt.get(this).children,e)}addRow(e){return Jt.get(this).base.add("row",Jt.get(this).children,e)}addGroup(e){return Jt.get(this).base.add("group",Jt.get(this).children,e)}addWindow(e){return Jt.get(this).base.addWindow(Jt.get(this).children,e),this}serialize(){const e=Jt.get(this).definition;return e.children=Jt.get(this).base.serializeChildren(Jt.get(this).children),e}}class Kt{constructor(e){this.getBuilder=e}wrapChildren(e){return e.map((e=>"window"===e.type?e:this.getBuilder({type:e.type,definition:e})))}add(e,t,i){const o=K.runWithException(i),r=this.getBuilder({type:e,definition:o});return t.push(r),r}addWindow(e,t){const i=J.runWithException(t);i.type="window",e.push(i)}serializeChildren(e){return e.map((e=>e instanceof Ut?e.serialize():e))}}const qt=new WeakMap;class Qt{constructor(e,t,i){const o=t.wrapChildren(e.children);delete e.children,qt.set(this,{base:t,children:o,definition:e,controller:i})}addColumn(e){const t=qt.get(this).children;if(!t.every((e=>e instanceof Ut&&"column"===e.type)))throw new Error("Cannot add a column to this workspace, because there are already children of another type");return qt.get(this).base.add("column",t,e)}addRow(e){const t=qt.get(this).children;if(!t.every((e=>e instanceof Ut&&"row"===e.type)))throw new Error("Cannot add a row to this workspace, because there are already children of another type");return qt.get(this).base.add("row",t,e)}addGroup(e){const t=qt.get(this).children;if(0!==t.length)throw new Error("Cannot add a group to this workspace, because there are already defined children.");return qt.get(this).base.add("group",t,e)}addWindow(e){const t=qt.get(this).children;if(0!==t.length)throw new Error("Cannot add a window to this workspace, because there are already defined children.");return qt.get(this).base.addWindow(t,e),this}getChildAt(e){M.runWithException(e);return qt.get(this).children[e]}create(t){return e(this,void 0,void 0,(function*(){const e=$.runWithException(t),i=qt.get(this).definition;i.children=qt.get(this).base.serializeChildren(qt.get(this).children);return qt.get(this).controller.createWorkspace(i,e)}))}}const Vt=new WeakMap,Xt=e=>Vt.get(e).base;class Yt{constructor(e){Vt.set(this,{base:e})}get type(){return"row"}get id(){return Xt(this).getId(this)}get frameId(){return Xt(this).getFrameId(this)}get workspaceId(){return Xt(this).getWorkspaceId(this)}get positionIndex(){return Xt(this).getPositionIndex(this)}get children(){return Xt(this).getAllChildren(this)}get parent(){return Xt(this).getMyParent(this)}get frame(){return Xt(this).getMyFrame(this)}get workspace(){return Xt(this).getMyWorkspace(this)}get allowDrop(){return Xt(this).getAllowDrop(this)}get allowSplitters(){return Xt(this).getAllowSplitters(this)}get minWidth(){return Xt(this).getMinWidth(this)}get minHeight(){return Xt(this).getMinHeight(this)}get maxWidth(){return Xt(this).getMaxWidth(this)}get maxHeight(){return Xt(this).getMaxHeight(this)}get width(){return Xt(this).getWidthInPx(this)}get height(){return Xt(this).getHeightInPx(this)}get isPinned(){return Xt(this).getIsPinned(this)}get isMaximized(){return Xt(this).getIsMaximized(this)}get maximizationBoundary(){return Xt(this).getMaximizationBoundary(this)}addWindow(e){return Xt(this).addWindow(this,e,"row")}addGroup(t){return e(this,void 0,void 0,(function*(){if((null==t?void 0:t.type)&&"group"!==t.type)throw new Error(`Expected a group definition, but received ${t.type}`);return Xt(this).addParent(this,"group","row",t)}))}addColumn(t){return e(this,void 0,void 0,(function*(){if((null==t?void 0:t.type)&&"column"!==t.type)throw new Error(`Expected a column definition, but received ${t.type}`);return Xt(this).addParent(this,"column","row",t)}))}addRow(){return e(this,void 0,void 0,(function*(){throw new Error("Adding rows as row children is not supported")}))}removeChild(e){return Xt(this).removeChild(this,e)}maximize(){return Xt(this).maximize(this)}restore(){return Xt(this).restore(this)}close(){return Xt(this).close(this)}lock(e){let t;if("function"==typeof e){t=e({allowDrop:this.allowDrop,allowSplitters:this.allowSplitters})}else t=e;const i=void 0===t?void 0:kt.runWithException(t);return Xt(this).lockContainer(this,i)}setHeight(t){return e(this,void 0,void 0,(function*(){return M.runWithException(t),Xt(this).setHeight(this,t)}))}onLockConfigurationChanged(t){return e(this,void 0,void 0,(function*(){H(t),Xt(this).getId(this);const i={callback:()=>e(this,void 0,void 0,(function*(){yield this.workspace.refreshReference(),t({allowDrop:this.allowDrop,allowSplitters:this.allowSplitters})})),action:"lock-configuration-changed",eventType:"container",scope:"container"};return yield Xt(this).processLocalSubscription(this,i)}))}setMaximizationBoundary(t){return e(this,void 0,void 0,(function*(){const e=Rt.runWithException(t);return Xt(this).setMaximizationBoundary(this,e)}))}}const Zt=new WeakMap,ei=e=>Zt.get(e).base;class ti{constructor(e){Zt.set(this,{base:e})}get type(){return"column"}get id(){return ei(this).getId(this)}get frameId(){return ei(this).getFrameId(this)}get workspaceId(){return ei(this).getWorkspaceId(this)}get positionIndex(){return ei(this).getPositionIndex(this)}get children(){return ei(this).getAllChildren(this)}get parent(){return ei(this).getMyParent(this)}get frame(){return ei(this).getMyFrame(this)}get workspace(){return ei(this).getMyWorkspace(this)}get allowDrop(){return ei(this).getAllowDrop(this)}get allowSplitters(){return ei(this).getAllowSplitters(this)}get minWidth(){return ei(this).getMinWidth(this)}get minHeight(){return ei(this).getMinHeight(this)}get maxWidth(){return ei(this).getMaxWidth(this)}get maxHeight(){return ei(this).getMaxHeight(this)}get width(){return ei(this).getWidthInPx(this)}get height(){return ei(this).getHeightInPx(this)}get isPinned(){return ei(this).getIsPinned(this)}get isMaximized(){return ei(this).getIsMaximized(this)}get maximizationBoundary(){return ei(this).getMaximizationBoundary(this)}addWindow(e){return ei(this).addWindow(this,e,"column")}addGroup(t){return e(this,void 0,void 0,(function*(){if((null==t?void 0:t.type)&&"group"!==t.type)throw new Error(`Expected a group definition, but received ${t.type}`);return ei(this).addParent(this,"group","column",t)}))}addColumn(t){return e(this,void 0,void 0,(function*(){throw new Error("Adding columns as column children is not supported")}))}addRow(t){return e(this,void 0,void 0,(function*(){if((null==t?void 0:t.type)&&"row"!==t.type)throw new Error(`Expected a row definition, but received ${t.type}`);return ei(this).addParent(this,"row","column",t)}))}removeChild(e){return ei(this).removeChild(this,e)}maximize(){return ei(this).maximize(this)}restore(){return ei(this).restore(this)}close(){return ei(this).close(this)}lock(e){let t;if("function"==typeof e){t=e({allowDrop:this.allowDrop,allowSplitters:this.allowSplitters})}else t=e;const i=void 0===t?void 0:bt.runWithException(t);return ei(this).lockContainer(this,i)}setWidth(t){return e(this,void 0,void 0,(function*(){return M.runWithException(t),ei(this).setWidth(this,t)}))}onLockConfigurationChanged(t){return e(this,void 0,void 0,(function*(){H(t),ei(this).getId(this);const i={callback:()=>e(this,void 0,void 0,(function*(){yield this.workspace.refreshReference(),t({allowDrop:this.allowDrop,allowSplitters:this.allowSplitters})})),action:"lock-configuration-changed",eventType:"container",scope:"container"};return yield ei(this).processLocalSubscription(this,i)}))}setMaximizationBoundary(t){return e(this,void 0,void 0,(function*(){const e=Rt.runWithException(t);return ei(this).setMaximizationBoundary(this,e)}))}}const ii=new WeakMap,oi=e=>ii.get(e).base;class ri{constructor(e){ii.set(this,{base:e})}get type(){return"group"}get id(){return oi(this).getId(this)}get frameId(){return oi(this).getFrameId(this)}get workspaceId(){return oi(this).getWorkspaceId(this)}get positionIndex(){return oi(this).getPositionIndex(this)}get children(){return oi(this).getAllChildren(this)}get parent(){return oi(this).getMyParent(this)}get frame(){return oi(this).getMyFrame(this)}get workspace(){return oi(this).getMyWorkspace(this)}get allowExtract(){return oi(this).getAllowExtract(this)}get allowReorder(){return oi(this).getAllowReorder(this)}get allowDropLeft(){return oi(this).getAllowDropLeft(this)}get allowDropRight(){return oi(this).getAllowDropRight(this)}get allowDropTop(){return oi(this).getAllowDropTop(this)}get allowDropBottom(){return oi(this).getAllowDropBottom(this)}get allowDropHeader(){return oi(this).getAllowDropHeader(this)}get allowDrop(){return oi(this).getAllowDrop(this)}get showMaximizeButton(){return oi(this).getShowMaximizeButton(this)}get showEjectButton(){return oi(this).getShowEjectButton(this)}get showAddWindowButton(){return oi(this).getShowAddWindowButton(this)}get minWidth(){return oi(this).getMinWidth(this)}get minHeight(){return oi(this).getMinHeight(this)}get maxWidth(){return oi(this).getMaxWidth(this)}get maxHeight(){return oi(this).getMaxHeight(this)}get width(){return oi(this).getWidthInPx(this)}get height(){return oi(this).getHeightInPx(this)}get isMaximized(){return oi(this).getIsMaximized(this)}addWindow(e){return oi(this).addWindow(this,e,"group")}addGroup(){return e(this,void 0,void 0,(function*(){throw new Error("Adding groups as group child is not supported")}))}addColumn(){return e(this,void 0,void 0,(function*(){throw new Error("Adding columns as group child is not supported")}))}addRow(){return e(this,void 0,void 0,(function*(){throw new Error("Adding rows as group child is not supported")}))}removeChild(e){return oi(this).removeChild(this,e)}maximize(){return oi(this).maximize(this)}restore(){return oi(this).restore(this)}close(){return oi(this).close(this)}lock(e){let t;if("function"==typeof e){t=e({allowDrop:this.allowDrop,allowDropHeader:this.allowDropHeader,allowDropLeft:this.allowDropLeft,allowDropRight:this.allowDropRight,allowDropTop:this.allowDropTop,allowDropBottom:this.allowDropBottom,allowExtract:this.allowExtract,allowReorder:this.allowReorder,showAddWindowButton:this.showAddWindowButton,showEjectButton:this.showEjectButton,showMaximizeButton:this.showMaximizeButton})}else t=e;const i=void 0===t?void 0:Wt.runWithException(t);return oi(this).lockContainer(this,i)}setSize(t){return e(this,void 0,void 0,(function*(){const e=yt.runWithException(t);if(!e.width&&!e.height)throw new Error("Expected either width or height to be passed.");return oi(this).setSize(this,t.width,t.height)}))}bundleToRow(){return e(this,void 0,void 0,(function*(){yield oi(this).bundleTo(this,"row"),yield this.workspace.refreshReference()}))}bundleToColumn(){return e(this,void 0,void 0,(function*(){yield oi(this).bundleTo(this,"column"),yield this.workspace.refreshReference()}))}onLockConfigurationChanged(t){return e(this,void 0,void 0,(function*(){H(t);const i={callback:()=>e(this,void 0,void 0,(function*(){yield this.workspace.refreshReference(),t({allowDrop:this.allowDrop,allowDropHeader:this.allowDropHeader,allowDropLeft:this.allowDropLeft,allowDropTop:this.allowDropTop,allowDropRight:this.allowDropRight,allowDropBottom:this.allowDropBottom,allowExtract:this.allowExtract,allowReorder:this.allowReorder,showAddWindowButton:this.showAddWindowButton,showEjectButton:this.showEjectButton,showMaximizeButton:this.showMaximizeButton})})),action:"lock-configuration-changed",eventType:"container",scope:"container"};return yield oi(this).processLocalSubscription(this,i)}))}}const ni=new WeakMap,si=e=>ni.get(e).manager.getWorkspaceData(e),ai=e=>ni.get(e).manager;class di{constructor(e){ni.set(this,{manager:e})}get id(){return si(this).id}get frameId(){return si(this).config.frameId}get positionIndex(){return si(this).config.positionIndex}get title(){return si(this).config.title}get layoutName(){return si(this).config.layoutName}get isHibernated(){return si(this).config.isHibernated}get isSelected(){return si(this).config.isSelected}get children(){return si(this).children}get frame(){return si(this).frame}get allowSplitters(){return si(this).config.allowSplitters}get allowSystemHibernation(){return si(this).config.allowSystemHibernation}get allowDrop(){return si(this).config.allowDrop}get allowDropLeft(){return si(this).config.allowDropLeft}get allowDropTop(){return si(this).config.allowDropTop}get allowDropRight(){return si(this).config.allowDropRight}get allowDropBottom(){return si(this).config.allowDropBottom}get allowExtract(){return si(this).config.allowExtract}get allowWindowReorder(){return si(this).config.allowWindowReorder}get showCloseButton(){return si(this).config.showCloseButton}get showSaveButton(){return si(this).config.showSaveButton}get allowWorkspaceTabReorder(){return si(this).config.allowWorkspaceTabReorder}get allowWorkspaceTabExtract(){return si(this).config.allowWorkspaceTabExtract}get minWidth(){return si(this).config.minWidth}get minHeight(){return si(this).config.minHeight}get maxWidth(){return si(this).config.maxWidth}get maxHeight(){return si(this).config.maxHeight}get width(){return si(this).config.widthInPx}get height(){return si(this).config.heightInPx}get showWindowCloseButtons(){return si(this).config.showWindowCloseButtons}get showEjectButtons(){return si(this).config.showEjectButtons}get showAddWindowButtons(){return si(this).config.showAddWindowButtons}get isPinned(){return si(this).config.isPinned}removeChild(t){return e(this,void 0,void 0,(function*(){H(t);const e=this.children.find(t);e&&(yield e.close(),yield this.refreshReference())}))}remove(t){return e(this,void 0,void 0,(function*(){H(t);const e=si(this).controller.iterateFindChild(this.children,t);yield e.close(),yield this.refreshReference()}))}focus(){return e(this,void 0,void 0,(function*(){yield si(this).controller.focusItem(this.id),yield this.refreshReference()}))}close(){return e(this,void 0,void 0,(function*(){const e=si(this).controller,t=yield si(this).frame.workspaces(),i=(yield e.getPlatformFrameId()).id;if(1===t.length&&t.every((e=>e.id===this.id))&&i!==this.frame.id)return this.frame.close();yield e.closeItem(this.id)}))}snapshot(){return si(this).controller.getSnapshot(this.id,"workspace")}saveLayout(t,i){return e(this,void 0,void 0,(function*(){T.runWithException(t),yield si(this).controller.saveLayout({name:t,workspaceId:this.id,saveContext:null==i?void 0:i.saveContext,metadata:null==i?void 0:i.metadata})}))}setTitle(t){return e(this,void 0,void 0,(function*(){T.runWithException(t);const e=si(this).controller;yield e.setItemTitle(this.id,t),yield this.refreshReference()}))}getContext(){return si(this).controller.getWorkspaceContext(this.id)}setContext(e){return si(this).controller.setWorkspaceContext(this.id,e)}updateContext(e){return si(this).controller.updateWorkspaceContext(this.id,e)}onContextUpdated(e){return si(this).controller.subscribeWorkspaceContextUpdated(this.id,e)}refreshReference(){return e(this,void 0,void 0,(function*(){const e=yield si(this).controller.getSnapshot(this.id,"workspace"),t=si(this).controller.flatChildren(si(this).children),i=si(this).controller.refreshChildren({existingChildren:t,workspace:this,parent:this,children:e.children}),o=this.frame;let r;if(o.id===e.config.frameId)ai(this).remapFrame(o,e.frameSummary),r=o;else{const t={summary:e.frameSummary};r=si(this).ioc.getModel("frame",t)}ai(this).remapWorkspace(this,{config:e.config,children:i,frame:r})}))}getIcon(){return e(this,void 0,void 0,(function*(){return si(this).controller.getWorkspaceIcon(this.id)}))}setIcon(t){return e(this,void 0,void 0,(function*(){return si(this).controller.setWorkspaceIcon(this.id,t)}))}getBox(e){H(e);const t=si(this).children;return si(this).controller.iterateFindChild(t,(t=>"window"!==t.type&&e(t)))}getAllBoxes(e){H(e,!0);const t=si(this).children,i=si(this).controller.iterateFilterChildren(t,(e=>"window"!==e.type));return e?i.filter(e):i}getRow(e){return H(e),this.getBox((t=>"row"===t.type&&e(t)))}getAllRows(e){return H(e,!0),e?this.getAllBoxes((t=>"row"===t.type&&e(t))):this.getAllBoxes((e=>"row"===e.type))}getColumn(e){return H(e),this.getBox((t=>"column"===t.type&&e(t)))}getAllColumns(e){return H(e,!0),e?this.getAllBoxes((t=>"column"===t.type&&e(t))):this.getAllBoxes((e=>"column"===e.type))}getGroup(e){return H(e),this.getBox((t=>"group"===t.type&&e(t)))}getAllGroups(e){return H(e,!0),e?this.getAllBoxes((t=>"group"===t.type&&e(t))):this.getAllBoxes((e=>"group"===e.type))}getWindow(e){H(e);const t=si(this).children;return si(this).controller.iterateFindChild(t,(t=>"window"===t.type&&e(t)))}getAllWindows(e){H(e,!0);const t=si(this).children,i=si(this).controller.iterateFilterChildren(t,(e=>"window"===e.type));return e?i.filter(e):i}addRow(e){return si(this).base.addParent(this,"row","workspace",e)}addColumn(e){return si(this).base.addParent(this,"column","workspace",e)}addGroup(e){return si(this).base.addParent(this,"group","workspace",e)}addWindow(e){return si(this).base.addWindow(this,e,"workspace")}bundleToRow(){return e(this,void 0,void 0,(function*(){yield si(this).controller.bundleWorkspaceTo("row",this.id),yield this.refreshReference()}))}bundleToColumn(){return e(this,void 0,void 0,(function*(){yield si(this).controller.bundleWorkspaceTo("column",this.id),yield this.refreshReference()}))}hibernate(){return e(this,void 0,void 0,(function*(){yield si(this).controller.hibernateWorkspace(this.id),yield this.refreshReference()}))}resume(){return e(this,void 0,void 0,(function*(){yield si(this).controller.resumeWorkspace(this.id),yield this.refreshReference()}))}lock(t){return e(this,void 0,void 0,(function*(){let e;if("function"==typeof t){const i={allowDrop:this.allowDrop,allowDropLeft:this.allowDropLeft,allowDropTop:this.allowDropTop,allowDropRight:this.allowDropRight,allowDropBottom:this.allowDropBottom,allowSystemHibernation:this.allowSystemHibernation,allowExtract:this.allowExtract,allowWindowReorder:this.allowWindowReorder,allowSplitters:this.allowSplitters,showCloseButton:this.showCloseButton,showSaveButton:this.showSaveButton,allowWorkspaceTabReorder:this.allowWorkspaceTabReorder,allowWorkspaceTabExtract:this.allowWorkspaceTabExtract,showAddWindowButtons:this.showAddWindowButtons,showEjectButtons:this.showEjectButtons,showWindowCloseButtons:this.showWindowCloseButtons};e=t(i)}else e=t;const i=void 0===e?void 0:wt.runWithException(e);yield si(this).controller.lockWorkspace(this.id,i),yield this.refreshReference()}))}pin(t){return e(this,void 0,void 0,(function*(){Bt.runWithException(t),yield si(this).controller.pinWorkspace(this.id,null==t?void 0:t.icon),yield this.refreshReference()}))}unpin(){return e(this,void 0,void 0,(function*(){yield si(this).controller.unpinWorkspace(this.id),yield this.refreshReference()}))}showLoadingAnimation(){return e(this,void 0,void 0,(function*(){if(!(window.glue42gd||window.iodesktop))throw new Error("Not supported in IO Connect Browser");yield si(this).controller.showWorkspaceLoadingAnimation(this.id)}))}hideLoadingAnimation(){return e(this,void 0,void 0,(function*(){if(!(window.glue42gd||window.iodesktop))throw new Error("Not supported in IO Connect Browser");yield si(this).controller.hideWorkspaceLoadingAnimation(this.id)}))}onClosed(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"closed",eventType:"workspace",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){t({frameId:i.frameSummary.id,workspaceId:i.workspaceSummary.id,frameBounds:i.frameBounds})}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onHibernated(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"hibernated",eventType:"workspace",scope:"workspace",scopeId:i,callback:()=>e(this,void 0,void 0,(function*(){yield this.refreshReference(),t()}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onResumed(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"resumed",eventType:"workspace",scope:"workspace",scopeId:i,callback:()=>e(this,void 0,void 0,(function*(){yield this.refreshReference(),t()}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onWindowAdded(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"added",eventType:"window",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference();const e=this.getBox((e=>e.id===i.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===i.windowSummary.itemId));t(e)}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onWindowRemoved(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"removed",eventType:"window",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference();const{windowId:e,workspaceId:o,frameId:r}=i.windowSummary.config;t({windowId:e,workspaceId:o,frameId:r})}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onWindowLoaded(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"loaded",eventType:"window",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference();const e=this.getWindow((e=>e.id&&e.id===i.windowSummary.config.windowId));t(e)}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onWindowMaximized(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"maximized",eventType:"window",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference();const e=this.getBox((e=>e.id===i.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===i.windowSummary.itemId));t(e)}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onWindowRestored(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"restored",eventType:"window",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference();const e=this.getBox((e=>e.id===i.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===i.windowSummary.itemId));t(e)}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onWindowSelected(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"selected",eventType:"window",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference();const e=this.getBox((e=>e.id===i.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===i.windowSummary.itemId));t(e)}))};return yield si(this).controller.processLocalSubscription(o,i)}))}onLockConfigurationChanged(t){return e(this,void 0,void 0,(function*(){H(t);const i=si(this).id,o={action:"lock-configuration-changed",eventType:"workspace",scope:"workspace",scopeId:i,callback:i=>e(this,void 0,void 0,(function*(){yield this.refreshReference(),t({allowDrop:this.allowDrop,allowDropLeft:this.allowDropLeft,allowDropTop:this.allowDropTop,allowDropRight:this.allowDropRight,allowDropBottom:this.allowDropBottom,allowSystemHibernation:this.allowSystemHibernation,allowExtract:this.allowExtract,allowSplitters:this.allowSplitters,allowWindowReorder:this.allowWindowReorder,allowWorkspaceTabExtract:this.allowWorkspaceTabExtract,allowWorkspaceTabReorder:this.allowWorkspaceTabReorder,showAddWindowButtons:this.showAddWindowButtons,showCloseButton:this.showCloseButton,showEjectButtons:this.showEjectButtons,showSaveButton:this.showSaveButton,showWindowCloseButtons:this.showWindowCloseButtons})}))};return yield si(this).controller.processLocalSubscription(o,i)}))}}const ci=new WeakMap,li=e=>ci.get(e).manager.getWindowData(e);class hi{constructor(e){ci.set(this,{manager:e})}get id(){return li(this).config.windowId}get elementId(){return li(this).id}get type(){return"window"}get frameId(){return li(this).frame.id}get workspaceId(){return li(this).workspace.id}get positionIndex(){return li(this).config.positionIndex}get isMaximized(){return li(this).config.isMaximized}get isLoaded(){return li(this).controller.checkIsWindowLoaded(this.id)}get isSelected(){return li(this).config.isSelected}get focused(){return this.getGdWindow().isFocused}get title(){return li(this).config.title}get allowExtract(){return li(this).config.allowExtract}get allowReorder(){return li(this).config.allowReorder}get showCloseButton(){return li(this).config.showCloseButton}get width(){return li(this).config.widthInPx}get height(){return li(this).config.heightInPx}get minWidth(){return li(this).config.minWidth}get minHeight(){return li(this).config.minHeight}get maxWidth(){return li(this).config.maxWidth}get maxHeight(){return li(this).config.maxHeight}get workspace(){return li(this).workspace}get frame(){return li(this).frame}get parent(){return li(this).parent}get appName(){return li(this).config.appName}forceLoad(){return e(this,void 0,void 0,(function*(){if(this.isLoaded)return;const e=li(this).controller,t=li(this).id,i=yield e.forceLoadWindow(t);li(this).config.windowId=i,yield this.workspace.refreshReference()}))}focus(){return e(this,void 0,void 0,(function*(){const e=li(this).id,t=li(this).controller;yield t.focusItem(e),yield this.workspace.refreshReference()}))}close(){return e(this,void 0,void 0,(function*(){const e=li(this).id,t=li(this).controller;yield t.closeItem(e),yield li(this).parent.removeChild((t=>t.id===e)),yield this.workspace.refreshReference()}))}setTitle(t){return e(this,void 0,void 0,(function*(){T.runWithException(t);const e=li(this).id,i=li(this).controller;yield i.setItemTitle(e,t),yield this.workspace.refreshReference()}))}maximize(){return e(this,void 0,void 0,(function*(){const e=li(this).id,t=li(this).controller;yield t.maximizeItem(e),yield this.workspace.refreshReference()}))}restore(){return e(this,void 0,void 0,(function*(){const e=li(this).id,t=li(this).controller;yield t.restoreItem(e),yield this.workspace.refreshReference()}))}eject(){return e(this,void 0,void 0,(function*(){if(!this.isLoaded)throw new Error("Cannot eject this window, because it is not loaded yet");const e=li(this).id,t=yield li(this).controller.ejectWindow(e);return li(this).config.windowId=t,yield this.workspace.refreshReference(),this.getGdWindow()}))}getGdWindow(){if(!this.isLoaded)throw new Error("Cannot fetch this GD window, because the window is not yet loaded");const e=li(this).config.windowId;return li(this).controller.getGDWindow(e)}moveTo(t){return e(this,void 0,void 0,(function*(){if(!(t instanceof Yt||t instanceof ti||t instanceof ri))throw new Error("Cannot add to the provided parent, because the provided parent is not an instance of Row, Column or Group");const e=li(this).id,i=li(this).controller;if(!(yield i.getParent((e=>e.id===t.id))))throw new Error("Cannot move the window to the selected parent, because this parent does not exist.");yield i.moveWindowTo(e,t.id),yield this.workspace.refreshReference()}))}lock(t){return e(this,void 0,void 0,(function*(){let e;if("function"==typeof t){const i={allowExtract:this.allowExtract,allowReorder:this.allowReorder,showCloseButton:this.showCloseButton};e=t(i)}else e=t;const i=void 0===e?void 0:ft.runWithException(e),o=li(this).id;yield li(this).controller.lockWindow(o,i),yield this.workspace.refreshReference()}))}setSize(t){return e(this,void 0,void 0,(function*(){const e=yt.runWithException(t);if(!e.width&&!e.height)throw new Error("Expected either width or height to be passed.");const i=li(this).id,o=li(this).controller;yield o.resizeItem(i,{height:e.height,width:e.width,relative:!1}),yield this.workspace.refreshReference()}))}onRemoved(t){return e(this,void 0,void 0,(function*(){H(t);const i=li(this).id,o={callback:()=>e(this,void 0,void 0,(function*(){yield this.workspace.refreshReference(),t()})),action:"removed",eventType:"window",scope:"window"};return yield li(this).controller.processLocalSubscription(o,i)}))}onLockConfigurationChanged(t){return e(this,void 0,void 0,(function*(){H(t);const i=li(this).id,o={callback:()=>e(this,void 0,void 0,(function*(){yield this.workspace.refreshReference(),t({allowExtract:this.allowExtract,allowReorder:this.allowReorder,showCloseButton:this.showCloseButton})})),action:"lock-configuration-changed",eventType:"window",scope:"window"};return yield li(this).controller.processLocalSubscription(o,i)}))}}const ui=new WeakMap,pi=e=>ui.get(e).manager.getFrameData(e);class mi{constructor(e){ui.set(this,{manager:e})}registerShortcut(t,i){return e(this,void 0,void 0,(function*(){T.runWithException(t),H(i);const e=pi(this).summary.id;return yield pi(this).controller.registerShortcut(t,e,i)}))}get id(){return pi(this).summary.id}get isInitialized(){return pi(this).summary.isInitialized}getBounds(){const e=pi(this).summary.id;return pi(this).controller.getFrameBounds(e)}resize(t){return e(this,void 0,void 0,(function*(){const e=Ke.runWithException(t),i=pi(this).summary.id;return pi(this).controller.resizeItem(i,e)}))}move(t){return e(this,void 0,void 0,(function*(){const e=qe.runWithException(t),i=pi(this).summary.id;return pi(this).controller.moveFrame(i,e)}))}focus(){const e=pi(this).summary.id;return pi(this).controller.focusItem(e)}state(){return e(this,void 0,void 0,(function*(){if(!(window.glue42gd||window.iodesktop))throw new Error("State operations are not supported in IO Connect Browser");const e=pi(this).summary.id;return pi(this).controller.getFrameState(e)}))}minimize(){return e(this,void 0,void 0,(function*(){if(!(window.glue42gd||window.iodesktop))throw new Error("State operations are not supported in IO Connect Browser");const e=pi(this).summary.id;return pi(this).controller.changeFrameState(e,"minimized")}))}maximize(){return e(this,void 0,void 0,(function*(){if(!(window.glue42gd||window.iodesktop))throw new Error("State operations are not supported in IO Connect Browser");const e=pi(this).summary.id;return pi(this).controller.changeFrameState(e,"maximized")}))}restore(){return e(this,void 0,void 0,(function*(){if(!(window.glue42gd||window.iodesktop))throw new Error("State operations are not supported in IO Connect Browser");const e=pi(this).summary.id;return pi(this).controller.changeFrameState(e,"normal")}))}close(){const e=pi(this).summary.id;return pi(this).controller.closeItem(e)}snapshot(){const e=pi(this).summary.id;return pi(this).controller.getSnapshot(e,"frame")}workspaces(){return e(this,void 0,void 0,(function*(){return pi(this).controller.getWorkspacesByFrameId(this.id)}))}getConstraints(){return e(this,void 0,void 0,(function*(){const e=pi(this).controller,t=pi(this).summary.id;return e.getFrameConstraints(t)}))}restoreWorkspace(t,i){return e(this,void 0,void 0,(function*(){T.runWithException(t);const e=ee.runWithException(i);return pi(this).controller.restoreWorkspace(t,e)}))}createWorkspace(e,t){const i=ie.runWithException(e),o=$.runWithException(t);return pi(this).controller.createWorkspace(i,o)}init(t){return e(this,void 0,void 0,(function*(){if(se.runWithException(t),pi(this).summary.isInitialized)throw new Error("The frame has already been initialized");return pi(this).controller.initFrame(this.id,t)}))}onClosed(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this).summary.id,i={callback:e=>{t({frameId:e.frameSummary.id,frameBounds:e.frameBounds})},action:"closed",eventType:"frame",scope:"frame"};return yield pi(this).controller.processLocalSubscription(i,e)}))}onMaximized(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this).summary.id,i={callback:()=>{t()},action:"maximized",eventType:"frame",scope:"frame"};return yield pi(this).controller.processLocalSubscription(i,e)}))}onMinimized(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this).summary.id,i={callback:()=>{t()},action:"minimized",eventType:"frame",scope:"frame"};return yield pi(this).controller.processLocalSubscription(i,e)}))}onNormal(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this).summary.id,i={callback:()=>{t()},action:"normal",eventType:"frame",scope:"frame"};return yield pi(this).controller.processLocalSubscription(i,e)}))}onWorkspaceOpened(t){return e(this,void 0,void 0,(function*(){H(t);const i=pi(this).summary.id,o={callback:i=>e(this,void 0,void 0,(function*(){const e=yield pi(this).controller.transformStreamPayloadToWorkspace(i);t(e)})),action:"opened",eventType:"workspace",scope:"frame"};return yield pi(this).controller.processLocalSubscription(o,i)}))}onWorkspaceSelected(t){return e(this,void 0,void 0,(function*(){H(t);const i=pi(this).summary.id,o={callback:i=>e(this,void 0,void 0,(function*(){const e=yield pi(this).controller.getWorkspaceById(i.workspaceSummary.id);t(e)})),action:"selected",eventType:"workspace",scope:"frame"};return yield pi(this).controller.processLocalSubscription(o,i)}))}onWorkspaceClosed(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this).summary.id,i={callback:e=>{t({frameId:e.frameSummary.id,workspaceId:e.workspaceSummary.id,frameBounds:e.frameBounds})},action:"closed",eventType:"workspace",scope:"frame"};return yield pi(this).controller.processLocalSubscription(i,e)}))}onWindowAdded(t){return e(this,void 0,void 0,(function*(){H(t);const i=pi(this).summary.id,o={callback:i=>e(this,void 0,void 0,(function*(){const e=(yield pi(this).controller.getParent((e=>e.id===i.windowSummary.parentId))).children.find((e=>"window"===e.type&&e.positionIndex===i.windowSummary.config.positionIndex));t(e)})),action:"added",eventType:"window",scope:"frame"};return yield pi(this).controller.processLocalSubscription(o,i)}))}onWindowRemoved(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this).summary.id,i={callback:e=>{const{windowId:i,workspaceId:o,frameId:r}=e.windowSummary.config;t({windowId:i,workspaceId:o,frameId:r})},action:"removed",eventType:"window",scope:"frame"};return yield pi(this).controller.processLocalSubscription(i,e)}))}onWindowLoaded(t){return e(this,void 0,void 0,(function*(){H(t);const i=pi(this).summary.id,o={callback:i=>e(this,void 0,void 0,(function*(){const e=(yield pi(this).controller.getParent((e=>e.id===i.windowSummary.parentId))).children.find((e=>"window"===e.type&&e.positionIndex===i.windowSummary.config.positionIndex));t(e)})),action:"loaded",eventType:"window",scope:"frame"};return yield pi(this).controller.processLocalSubscription(o,i)}))}onInitializationRequested(t){return e(this,void 0,void 0,(function*(){return H(t),this.isInitialized||t(pi(this).summary.initializationContext),()=>{}}))}onFocusChanged(t){return e(this,void 0,void 0,(function*(){H(t);const e=pi(this),{id:i}=e.summary,o={callback:e=>{t({isFocused:e.frameSummary.isFocused})},action:"focus",eventType:"frame",scope:"frame"};return yield e.controller.processLocalSubscription(o,i)}))}}class wi{constructor(){this.parentsData=new WeakMap,this.workspacesData=new WeakMap,this.windowsData=new WeakMap,this.framesData=new WeakMap,this.windowPlacementIdData={}}deleteData(e){if(e instanceof hi){const t=Object.keys(this.windowPlacementIdData).find((t=>this.windowPlacementIdData[t]===e));t&&delete this.windowPlacementIdData[t],this.windowsData.delete(e)}e instanceof di&&this.workspacesData.delete(e),(e instanceof Yt||e instanceof ti||e instanceof ri)&&this.parentsData.delete(e),e instanceof mi&&this.framesData.delete(e)}setWindowData(e,t){this.windowPlacementIdData[t.id]=e,this.windowsData.set(e,t)}setWorkspaceData(e,t){this.workspacesData.set(e,t)}setParentData(e,t){this.parentsData.set(e,t)}setFrameData(e,t){this.framesData.set(e,t)}getWindowData(e){return this.windowsData.get(e)}getWindowByPlacementId(e){return this.windowPlacementIdData[e]}getWorkspaceData(e){return this.workspacesData.get(e)}getParentData(e){return this.parentsData.get(e)}getFrameData(e){return this.framesData.get(e)}remapChild(e,t){if(e instanceof hi){const i=this.windowsData.get(e);i.parent=t.parent||i.parent,i.config=t.config||i.config}if(e instanceof Yt||e instanceof ti||e instanceof ri){const i=this.parentsData.get(e);i.parent=t.parent||i.parent,i.config=t.config||i.config,i.children=t.children||i.children}}remapFrame(e,t){this.framesData.get(e).summary=t}remapWorkspace(e,t){const i=this.workspacesData.get(e);i.frame=t.frame||i.frame,i.config=t.config||i.config,i.children=t.children||i.children}}const gi=new WeakMap,fi=(e,t)=>{const i=gi.get(e).manager;return t instanceof di?i.getWorkspaceData(t):gi.get(e).manager.getParentData(t)},yi=(e,t)=>gi.get(e).manager.getWindowByPlacementId(t);class vi{constructor(e){gi.set(this,{manager:e})}getId(e){return fi(this,e).id}getPositionIndex(e){return fi(this,e).config.positionIndex}getWorkspaceId(e){const t=fi(this,e);return t.config.workspaceId||t.workspace.id}getFrameId(e){return fi(this,e).frame.id}getAllChildren(e,t){H(t,!0);const i=fi(this,e).children;return void 0===t?i:i.filter(t)}getMyParent(e){return e instanceof di?e:fi(this,e).parent}getMyFrame(e){return fi(this,e).frame}getMyWorkspace(e){return e instanceof di?e:fi(this,e).workspace}addWindow(t,i,o){return e(this,void 0,void 0,(function*(){if(!i.appName&&!i.windowId)throw new Error("The window definition should contain either an appName or a windowId");const e=J.runWithException(i),r=fi(this,t).controller,n=yield r.add("window",fi(this,t).id,o,e);return t instanceof di?(yield t.refreshReference(),yi(this,n.itemId)):(yield this.getMyWorkspace(t).refreshReference(),yi(this,n.itemId))}))}addParent(t,i,o,r){return e(this,void 0,void 0,(function*(){const e=this.transformDefinition(i,r),n=fi(this,t).controller,s=(yield n.add("container",fi(this,t).id,o,e)).itemId;if(t instanceof di)return yield t.refreshReference(),t.getBox((e=>e.id===s));const a=this.getMyWorkspace(t);return yield a.refreshReference(),a.getBox((e=>e.id===s))}))}removeChild(t,i){return e(this,void 0,void 0,(function*(){H(i);const e=this.getAllChildren(t).find(i);e&&(yield e.close(),t instanceof di?yield t.refreshReference():yield this.getMyWorkspace(t).refreshReference())}))}maximize(t){return e(this,void 0,void 0,(function*(){const{controller:e,id:i}=fi(this,t);yield e.maximizeItem(i),yield this.getMyWorkspace(t.parent).refreshReference()}))}restore(t){return e(this,void 0,void 0,(function*(){const{controller:e,id:i}=fi(this,t);yield e.restoreItem(i),yield this.getMyWorkspace(t.parent).refreshReference()}))}close(t){return e(this,void 0,void 0,(function*(){const e=fi(this,t),i=fi(this,t).controller;yield i.closeItem(e.id),yield this.getMyWorkspace(e.parent).refreshReference()}))}lockContainer(t,i){return e(this,void 0,void 0,(function*(){const e=fi(this,t),o=fi(this,t).controller;yield o.lockContainer(e.id,t.type,i),yield this.getMyWorkspace(e.parent).refreshReference()}))}getAllowDrop(e){return fi(this,e).config.allowDrop}getAllowDropLeft(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Property allowDropLeft is available only for groups and not on ${e.type} ${e.id}`);return t.config.allowDropLeft}getAllowDropRight(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Property allowDropRight is available only for groups and not on ${e.type} ${e.id}`);return t.config.allowDropRight}getAllowDropTop(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Property allowDropTop is available only for groups and not on ${e.type} ${e.id}`);return t.config.allowDropTop}getAllowDropBottom(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Property allowDropBottom is available only for groups and not on ${e.type} ${e.id}`);return t.config.allowDropBottom}getAllowDropHeader(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Property allowDropHeader is available only for groups and not on ${e.type} ${e.id}`);return t.config.allowDropHeader}getAllowSplitters(e){const t=fi(this,e);if("group"===t.type)throw new Error(`Cannot get allow splitters from private data ${t.type}`);return t.config.allowSplitters}getAllowExtract(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Cannot get allow extract from private data ${t.type} with config ${"workspace"!==t.type?t.config.type:""}`);return t.config.allowExtract}getAllowReorder(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Cannot get allow extract from private data ${t.type} with config ${"workspace"!==t.type?t.config.type:""}`);return t.config.allowReorder}getShowMaximizeButton(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Cannot get show maximize button from private data${t.type} with config ${"workspace"!==t.type?t.config.type:""}`);return t.config.showMaximizeButton}getShowEjectButton(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Cannot get show eject button from private data${t.type} with config ${"workspace"!==t.type?t.config.type:""}`);return t.config.showEjectButton}getShowAddWindowButton(e){const t=fi(this,e);if("group"!==t.type)throw new Error(`Cannot get add window button from private data${t.type} with config ${"workspace"!==t.type?t.config.type:""}`);return t.config.showAddWindowButton}getMinWidth(e){return fi(this,e).config.minWidth}getMaxWidth(e){return fi(this,e).config.maxWidth}getMinHeight(e){return fi(this,e).config.minHeight}getMaxHeight(e){return fi(this,e).config.maxHeight}getWidthInPx(e){return fi(this,e).config.widthInPx}getHeightInPx(e){return fi(this,e).config.heightInPx}getIsPinned(e){return fi(this,e).config.isPinned}getIsMaximized(e){return fi(this,e).config.isMaximized}getMaximizationBoundary(e){return fi(this,e).config.maximizationBoundary}setHeight(t,i){return e(this,void 0,void 0,(function*(){const e=fi(this,t),{controller:o,id:r}=e;yield o.resizeItem(r,{height:i}),yield this.getMyWorkspace(e.parent).refreshReference()}))}setWidth(t,i){return e(this,void 0,void 0,(function*(){const e=fi(this,t),{controller:o,id:r}=e;yield o.resizeItem(r,{width:i}),yield this.getMyWorkspace(e.parent).refreshReference()}))}setSize(t,i,o){return e(this,void 0,void 0,(function*(){const e=fi(this,t),{controller:r,id:n}=e;yield r.resizeItem(n,{width:i,height:o}),yield this.getMyWorkspace(e.parent).refreshReference()}))}setMaximizationBoundary(t,i){return e(this,void 0,void 0,(function*(){const e=fi(this,t),{controller:o,id:r}=e;yield o.setMaximizationBoundary(r,i),yield this.getMyWorkspace(e.parent).refreshReference()}))}bundleTo(t,i){return e(this,void 0,void 0,(function*(){const e=fi(this,t),{controller:o,id:r}=e;yield o.bundleItemTo(i,r)}))}processLocalSubscription(t,i){return e(this,void 0,void 0,(function*(){return fi(this,t).controller.processLocalSubscription(i,this.getId(t))}))}transformDefinition(e,t){let i;return void 0===t?i={type:e,children:[]}:t instanceof Ut?i=t.serialize():(void 0===t.type&&(t.type=e),i=X.runWithException(t),i.children=i.children||[]),i}}class ki{constructor(e,t,i,o){this.ioc=e,this.windows=t,this.contexts=i,this.layouts=o}get bridge(){return this.ioc.bridge}get privateDataManager(){return this.ioc.privateDataManager}checkIsWindowLoaded(e){return!!e&&this.windows.list().some((t=>t.id===e))}createWorkspace(t){return e(this,void 0,void 0,(function*(){const e=yield this.bridge.send(jt.createWorkspace.name,t),i={summary:e.frameSummary},o={frame:this.ioc.getModel("frame",i),snapshot:e};return this.ioc.getModel("workspace",o)}))}createEmptyFrame(t){return e(this,void 0,void 0,(function*(){const e={summary:yield this.bridge.send(jt.createFrame.name,t)};return this.ioc.getModel("frame",e)}))}initFrame(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.initFrame.name,Object.assign({frameId:t},i))}))}restoreWorkspace(t,i){return e(this,void 0,void 0,(function*(){const e=yield this.bridge.send(jt.openWorkspace.name,{name:t,restoreOptions:i}),o={summary:yield this.bridge.send(jt.getFrameSummary.name,{itemId:e.config.frameId})},r={frame:this.ioc.getModel("frame",o),snapshot:e};return this.ioc.getModel("workspace",r)}))}add(t,i,o,r){return e(this,void 0,void 0,(function*(){let e;const n={definition:r,parentId:i,parentType:o};if("window"===t)e=jt.addWindow.name;else{if("container"!==t)throw new Error(`Unrecognized add type: ${t}`);e=jt.addContainer.name}return yield this.bridge.send(e,n)}))}getFrame(t){return e(this,void 0,void 0,(function*(){const e={summary:yield this.bridge.send(jt.getFrameSummary.name,{itemId:t})};return this.ioc.getModel("frame",e)}))}getFrames(e,t){return e.reduce(((e,i)=>{const o={summary:i},r=this.ioc.getModel("frame",o);return t&&!t(r)||e.push(r),e}),[])}getAllWorkspaceSummaries(...e){return e.reduce(((e,t)=>(e.push(...t.summaries),e)),[]).map((e=>Object.assign({},{id:e.id,width:e.config.widthInPx,height:e.config.heightInPx},e.config)))}handleOnSaved(e){const t=t=>{"Workspace"===t.type&&e(t)},i=this.layouts.onAdded(t),o=this.layouts.onChanged(t);return()=>{i(),o()}}handleOnRemoved(e){return this.layouts.onRemoved((t=>{"Workspace"===t.type&&e(t)}))}importLayouts(t,i){return e(this,void 0,void 0,(function*(){yield this.layouts.import(t,i)}))}transformStreamPayloadToWorkspace(t){return e(this,void 0,void 0,(function*(){const e={summary:t.frameSummary},i={frame:this.ioc.getModel("frame",e),snapshot:t.workspaceSnapshot||(yield this.bridge.send(jt.getWorkspaceSnapshot.name,{itemId:t.workspaceSummary.id}))};return this.ioc.getModel("workspace",i)}))}fetchWorkspace(t){return e(this,void 0,void 0,(function*(){const e=yield this.bridge.send(jt.getWorkspaceSnapshot.name,{itemId:t}),i={summary:e.frameSummary},o={frame:this.ioc.getModel("frame",i),snapshot:e};return this.ioc.getModel("workspace",o)}))}bundleWorkspaceTo(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.bundleWorkspace.name,{type:t,workspaceId:i})}))}bundleItemTo(t,i){return e(this,void 0,void 0,(function*(){if(!(yield this.isOperationSupported(jt.bundleItem.name)))throw new Error(`Operation ${jt.bundleItem.name} is not supported. Ensure that you are running the latest version of all packages`);yield this.bridge.send(jt.bundleItem.name,{type:t,itemId:i})}))}getWorkspaceContext(e){const t=`___workspace___${e}`;return this.contexts.get(t)}setWorkspaceContext(e,t){const i=`___workspace___${e}`;return this.contexts.set(i,t)}updateWorkspaceContext(e,t){const i=`___workspace___${e}`;return this.contexts.update(i,t)}subscribeWorkspaceContextUpdated(e,t){const i=`___workspace___${e}`;return this.contexts.subscribe(i,t)}restoreItem(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.restoreItem.name,{itemId:t})}))}maximizeItem(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.maximizeItem.name,{itemId:t})}))}focusItem(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.focusItem.name,{itemId:t})}))}closeItem(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.closeItem.name,{itemId:t})}))}resizeItem(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.resizeItem.name,Object.assign({},{itemId:t},i))}))}setMaximizationBoundary(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.setMaximizationBoundary.name,Object.assign({},{itemId:t},i))}))}showWorkspaceLoadingAnimation(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.showLoadingAnimation.name,{itemId:t,type:"workspace"})}))}hideWorkspaceLoadingAnimation(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.hideLoadingAnimation.name,{itemId:t,type:"workspace"})}))}moveFrame(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.moveFrame.name,Object.assign({},{itemId:t},i))}))}getGDWindow(e){return this.windows.list().find((t=>t.id===e))}forceLoadWindow(t){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.forceLoadWindow.name,{itemId:t})).windowId}))}ejectWindow(t){return e(this,void 0,void 0,(function*(){return yield this.bridge.send(jt.ejectWindow.name,{itemId:t})}))}moveWindowTo(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.moveWindowTo.name,{itemId:t,containerId:i})}))}getSnapshot(t,i){return e(this,void 0,void 0,(function*(){let e;return"workspace"===i?e=yield this.bridge.send(jt.getWorkspaceSnapshot.name,{itemId:t}):"frame"===i&&(e=yield this.bridge.send(jt.getFrameSnapshot.name,{itemId:t})),e}))}setItemTitle(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.setItemTitle.name,{itemId:t,title:i})}))}refreshChildren(e){const{parent:t,children:i,existingChildren:o,workspace:r}=e;if(t instanceof hi||"window"===t.type)return;const n=i.map((e=>{let i=o.find((t=>"window"===t.type?t.elementId===e.id:t.id===e.id));if(i)this.privateDataManager.remapChild(i,{parent:t,children:[],config:e.config});else{let o;o="window"===e.type?{id:e.id,parent:t,frame:r.frame,workspace:r,config:e.config}:{id:e.id,parent:t,frame:r.frame,workspace:r,config:e.config,children:[]},i=this.ioc.getModel(e.type,o)}return"window"!==e.type&&this.refreshChildren({workspace:r,existingChildren:o,children:e.children,parent:i}),i}));return t instanceof di||this.privateDataManager.remapChild(t,{children:n}),n}iterateFindChild(e,t){let i=e.find((e=>t(e)));return i||(e.some((e=>!(e instanceof hi)&&(i=this.iterateFindChild(e.children,t),!!i||void 0))),i)}iterateFilterChildren(e,t){const i=e.filter((e=>t(e))),o=e.reduce(((e,i)=>(i instanceof hi||e.push(...this.iterateFilterChildren(i.children,t)),e)),[]);return i.push(...o),i}notifyWindowAdded(e){return new Promise((t=>{if(this.windows.list().some((t=>t.id===e)))return t();const i=this.windows.onWindowAdded((o=>{o.id===e&&(i&&i(),t())}))}))}hibernateWorkspace(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.hibernateWorkspace.name,{workspaceId:t})}))}resumeWorkspace(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.resumeWorkspace.name,{workspaceId:t})}))}lockWorkspace(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.lockWorkspace.name,{workspaceId:t,config:i})}))}lockWindow(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.lockWindow.name,{windowPlacementId:t,config:i})}))}lockContainer(t,i,o){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.lockContainer.name,{itemId:t,type:i,config:o})}))}pinWorkspace(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.pinWorkspace.name,{workspaceId:t,icon:i})}))}unpinWorkspace(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.unpinWorkspace.name,{workspaceId:t})}))}getWorkspaceIcon(t){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.getWorkspaceIcon.name,{workspaceId:t})).icon}))}setWorkspaceIcon(e,t){return this.bridge.send(jt.setWorkspaceIcon.name,{workspaceId:e,icon:t})}getPlatformFrameId(){return e(this,void 0,void 0,(function*(){try{return yield this.bridge.send(jt.getPlatformFrameId.name,{})}catch(e){return{}}}))}isOperationSupported(t){return e(this,void 0,void 0,(function*(){return window.glue42gd||window.iodesktop?{isSupported:!0}:yield this.bridge.send(jt.operationCheck.name,{operation:t})}))}}class bi{constructor(e,t,i){this.bridge=e,this.base=t,this.shortcutsController=i}checkIsWindowLoaded(e){return this.base.checkIsWindowLoaded(e)}checkIsInSwimlane(t){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.isWindowInWorkspace.name,{itemId:t})).inWorkspace}))}createWorkspace(t,i){return e(this,void 0,void 0,(function*(){const e=Object.assign({},t,{saveConfig:i});return yield this.base.createWorkspace(e)}))}createEmptyFrame(t){return e(this,void 0,void 0,(function*(){return yield this.base.createEmptyFrame(t)}))}initFrame(t,i){return e(this,void 0,void 0,(function*(){return this.base.initFrame(t,i)}))}restoreWorkspace(t,i){return e(this,void 0,void 0,(function*(){if(!(yield this.getLayoutSummaries()).some((e=>e.name===t)))throw new Error(`This layout: ${t} cannot be restored, because it doesn't exist.`);if(null==i?void 0:i.frameId){if(!(yield this.bridge.send(jt.getAllFramesSummaries.name)).summaries.some((e=>e.id===i.frameId)))throw new Error(`Cannot reuse the frame with id: ${i.frameId}, because there is no frame with that ID found`)}return yield this.base.restoreWorkspace(t,i)}))}add(t,i,o,r){return e(this,void 0,void 0,(function*(){return yield this.base.add(t,i,o,r)}))}processLocalSubscription(e,t){return window.glue42gd||window.iodesktop?this.handleEnterpriseLocalSubscription(e,t):this.handleCoreLocalSubscription(e,t)}processGlobalSubscription(e,t,i){return window.glue42gd||window.iodesktop?this.handleEnterpriseGlobalSubscription(e,t,i):this.handleCoreGlobalSubscription(e,t,i)}getFrame(t){return e(this,void 0,void 0,(function*(){if(t.windowId)return yield this.base.getFrame(t.windowId);if(t.predicate)return(yield this.getFrames(t.predicate))[0];throw new Error(`The provided selector is not valid: ${JSON.stringify(t)}`)}))}getFrames(t){return e(this,void 0,void 0,(function*(){const e=yield this.bridge.send(jt.getAllFramesSummaries.name);return this.base.getFrames(e.summaries,t)}))}getWorkspaceById(e){return this.base.fetchWorkspace(e)}getWorkspaceByWindowId(t){return e(this,void 0,void 0,(function*(){return window.glue42gd||window.iodesktop?this.base.fetchWorkspace(t):(yield this.getWorkspaces((e=>!!e.getWindow((e=>e.id===t)))))[0]}))}transformStreamPayloadToWorkspace(e){return this.base.transformStreamPayloadToWorkspace(e)}getWorkspace(t){return e(this,void 0,void 0,(function*(){let e;return yield this.iterateWorkspaces(((i,o)=>{t(i)&&(e=i,o())})),e}))}getWorkspaces(t){return e(this,void 0,void 0,(function*(){const e=[];return yield this.iterateWorkspaces((i=>{t&&!t(i)||e.push(i)})),e}))}getWorkspacesByFrameId(t){return e(this,void 0,void 0,(function*(){const e=(yield this.getAllWorkspaceSummaries()).filter((e=>e.frameId===t));return yield Promise.all(e.map((e=>this.base.fetchWorkspace(e.id))))}))}getAllWorkspaceSummaries(){return e(this,void 0,void 0,(function*(){const e=yield this.bridge.send(jt.getAllWorkspacesSummaries.name,{});return this.base.getAllWorkspaceSummaries(e)}))}getWindow(t){return e(this,void 0,void 0,(function*(){let e;return yield this.iterateWorkspaces(((i,o)=>{const r=i.getWindow(t);r&&(e=r,o())})),e}))}getParent(t){return e(this,void 0,void 0,(function*(){let e;return yield this.iterateWorkspaces(((i,o)=>{const r=i.getBox(t);r&&(e=r,o())})),e}))}getLayoutSummaries(){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.getAllLayoutsSummaries.name)).summaries}))}deleteLayout(t){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.deleteLayout.name,{name:t})}))}exportLayout(t){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.exportAllLayouts.name)).layouts.reduce(((e,i)=>(t&&!t(i)||e.push(i),e)),[])}))}saveLayout(t){return e(this,void 0,void 0,(function*(){return yield this.bridge.send(jt.saveLayout.name,t)}))}importLayouts(t,i){return e(this,void 0,void 0,(function*(){if(window.glue42gd||window.iodesktop)try{yield this.bridge.send(jt.importLayouts.name,{layouts:t,mode:i})}catch(e){yield Promise.all(t.map((e=>this.bridge.send(jt.importLayout.name,{layout:e,mode:i}))))}else yield this.base.importLayouts(t,i)}))}handleOnSaved(e){return this.base.handleOnSaved(e)}handleOnRemoved(e){return this.base.handleOnRemoved(e)}bundleWorkspaceTo(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.bundleWorkspaceTo(t,i)}))}bundleItemTo(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.bundleItemTo(t,i)}))}getWorkspaceContext(e){return this.base.getWorkspaceContext(e)}setWorkspaceContext(e,t){return this.base.setWorkspaceContext(e,t)}updateWorkspaceContext(e,t){return this.base.updateWorkspaceContext(e,t)}subscribeWorkspaceContextUpdated(e,t){return this.base.subscribeWorkspaceContextUpdated(e,t)}restoreItem(t){return e(this,void 0,void 0,(function*(){return yield this.base.restoreItem(t)}))}maximizeItem(t){return e(this,void 0,void 0,(function*(){return yield this.base.maximizeItem(t)}))}focusItem(t){return e(this,void 0,void 0,(function*(){return yield this.base.focusItem(t)}))}changeFrameState(t,i){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.changeFrameState.name,{frameId:t,requestedState:i})}))}getFrameBounds(t){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.getFrameBounds.name,{itemId:t})).bounds}))}getFrameState(t){return e(this,void 0,void 0,(function*(){return(yield this.bridge.send(jt.getFrameState.name,{itemId:t})).state}))}closeItem(t){return e(this,void 0,void 0,(function*(){return yield this.base.closeItem(t)}))}resizeItem(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.resizeItem(t,i)}))}setMaximizationBoundary(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.setMaximizationBoundary(t,i)}))}showWorkspaceLoadingAnimation(t){return e(this,void 0,void 0,(function*(){return yield this.base.showWorkspaceLoadingAnimation(t)}))}hideWorkspaceLoadingAnimation(t){return e(this,void 0,void 0,(function*(){return yield this.base.hideWorkspaceLoadingAnimation(t)}))}moveFrame(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.moveFrame(t,i)}))}getGDWindow(e){return this.base.getGDWindow(e)}forceLoadWindow(t){return e(this,void 0,void 0,(function*(){const e=yield this.base.forceLoadWindow(t);return yield this.base.notifyWindowAdded(e),e}))}ejectWindow(t){return e(this,void 0,void 0,(function*(){const e=(yield this.base.ejectWindow(t)).windowId;return yield this.base.notifyWindowAdded(e),e}))}moveWindowTo(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.moveWindowTo(t,i)}))}getSnapshot(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.getSnapshot(t,i)}))}setItemTitle(t,i){return e(this,void 0,void 0,(function*(){return yield this.base.setItemTitle(t,i)}))}flatChildren(e){return e.reduce(((e,t)=>(e.push(t),"window"!==t.type&&e.push(...this.flatChildren(t.children)),e)),[])}refreshChildren(e){return this.base.refreshChildren(e)}iterateFindChild(e,t){return this.base.iterateFindChild(e,t)}iterateFilterChildren(e,t){return this.base.iterateFilterChildren(e,t)}hibernateWorkspace(e){return this.base.hibernateWorkspace(e)}resumeWorkspace(e){return this.base.resumeWorkspace(e)}lockWorkspace(e,t){return this.base.lockWorkspace(e,t)}lockWindow(e,t){return this.base.lockWindow(e,t)}lockContainer(e,t,i){return this.base.lockContainer(e,t,i)}pinWorkspace(e,t){return this.base.pinWorkspace(e,t)}unpinWorkspace(e){return this.base.unpinWorkspace(e)}getWorkspaceIcon(e){return this.base.getWorkspaceIcon(e)}setWorkspaceIcon(e,t){return this.base.setWorkspaceIcon(e,t)}getFrameConstraints(t){return e(this,void 0,void 0,(function*(){const e=yield this.getSnapshot(t,"frame");return{minWidth:e.config.minWidth,maxWidth:e.config.maxWidth,minHeight:e.config.minHeight,maxHeight:e.config.maxHeight}}))}registerShortcut(e,t,i){return this.shortcutsController.registerShortcut(e,t,i)}getPlatformFrameId(){return this.base.getPlatformFrameId()}handleCoreLocalSubscription(t,i){return e(this,void 0,void 0,(function*(){if(yield this.bridge.createCoreEventSubscription(),t.scopeId=t.scopeId||i,"window"===t.eventType&&"loaded"===t.action){const i=t.callback,o=t=>e(this,void 0,void 0,(function*(){yield this.base.notifyWindowAdded(t.windowSummary.config.windowId),i(t)}));t.callback=o}return this.bridge.handleCoreSubscription(t)}))}handleEnterpriseLocalSubscription(t,i){if(t.scopeId=t.scopeId||i,"window"===t.eventType&&"loaded"===t.action){const i=t.callback,o=t=>e(this,void 0,void 0,(function*(){yield this.base.notifyWindowAdded(t.windowSummary.config.windowId),i(t)}));t.callback=o}return this.bridge.subscribe(t)}handleCoreGlobalSubscription(t,i,o){return e(this,void 0,void 0,(function*(){yield this.bridge.createCoreEventSubscription();const r={eventType:i,callback:t,action:o,scope:"global"};if("window"===i&&"loaded"===o){const i=i=>e(this,void 0,void 0,(function*(){yield this.base.notifyWindowAdded(i.windowSummary.config.windowId),t(i)}));r.callback=i}return this.bridge.handleCoreSubscription(r)}))}handleEnterpriseGlobalSubscription(t,i,o){const r={eventType:i,callback:t,action:o,scope:"global"};if("window"===i&&"loaded"===o){const i=i=>e(this,void 0,void 0,(function*(){yield this.base.notifyWindowAdded(i.windowSummary.config.windowId),t(i)}));r.callback=i}return this.bridge.subscribe(r)}iterateWorkspaces(t){return e(this,void 0,void 0,(function*(){let e=!1;const i=()=>{e=!0},o=yield this.getAllWorkspaceSummaries();for(const r of o){if(e)return;const o=yield this.base.fetchWorkspace(r.id);t(o,i)}}))}}class Wi{constructor(e){this.bridge=e,this._shortcuts=i(),this.bridge.onOperation(((e,t)=>{if(e.operation===Ot.shortcutClicked.name){const t=e.data;this._shortcuts.execute(`${t.frameId}-${t.shortcut}`)}}))}registerShortcut(t,i,o){return e(this,void 0,void 0,(function*(){yield this.bridge.send(jt.registerShortcut.name,{shortcut:t,frameId:i});const e=this._shortcuts.add(`${i}-${t}`,o);return()=>{e(),this.bridge.send(jt.unregisterShortcut.name,{shortcut:t,frameId:i})}}))}}class Ii{constructor(e,t,i,o){this.agm=e,this.windows=t,this.layouts=i,this.contexts=o}get baseController(){return this._baseController||(this._baseController=new ki(this,this.windows,this.contexts,this.layouts)),this._baseController}get controller(){return this._controllerInstance||(this._controllerInstance=new bi(this.bridge,this.baseController,this.shortcutsController)),this._controllerInstance}get shortcutsController(){return this._shortcutsController||(this._shortcutsController=new Wi(this.bridge)),this._shortcutsController}get bridge(){return this._bridgeInstance||(this._bridgeInstance=new Gt(this.transport,i())),this._bridgeInstance}get transport(){return this._transportInstance||(this._transportInstance=new Nt(this.agm,i())),this._transportInstance}get privateDataManager(){return this._privateDataManagerInstance||(this._privateDataManagerInstance=new wi),this._privateDataManagerInstance}get parentBase(){return this._parentBaseInstance||(this._parentBaseInstance=new vi(this.privateDataManager)),this._parentBaseInstance}initiate(t){return e(this,void 0,void 0,(function*(){yield this.transport.initiate(t)}))}getModel(e,t){switch(e){case"frame":{const e=new mi(this.privateDataManager),{summary:i}=t,o={summary:i,controller:this.controller};return this.privateDataManager.setFrameData(e,o),e}case"window":{const{id:e,parent:i,frame:o,workspace:r,config:n}=t,s={type:"window",controller:this.controller,config:n,id:e,parent:i,frame:o,workspace:r},a=new hi(this.privateDataManager);return this.privateDataManager.setWindowData(a,s),a}case"row":case"column":case"group":{const{id:i,children:o,parent:r,frame:n,workspace:s,config:a}=t,d="column"===e?new ti(this.parentBase):"row"===e?new Yt(this.parentBase):new ri(this.parentBase),c=this.buildChildren(o,n,s,d),l={id:i,parent:r,frame:n,workspace:s,config:a,type:e,controller:this.controller,children:c};return this.privateDataManager.setParentData(d,l),d}case"workspace":{const{snapshot:e,frame:i}=t,o=new di(this.privateDataManager),r=this.buildChildren(e.children,i,o,o),n={id:e.id,type:"workspace",config:e.config,base:this.parentBase,controller:this.controller,children:r,frame:i,ioc:this};return this.privateDataManager.setWorkspaceData(o,n),o}default:throw new Error(`Unrecognized type: ${e}`)}}getBuilder(e){e.definition=e.definition||{},Array.isArray(e.definition.children)||(e.definition.children=[]);const t=new Kt(this.getBuilder.bind(this));switch(e.type){case"workspace":return new Qt(e.definition,t,this.controller);case"row":case"column":case"group":return e.definition.type=e.type,new Ut(e.definition,t);default:throw new Error(`Unexpected Builder creation error, provided config: ${JSON.stringify(e)}`)}}buildChildren(e,t,i,o){return e.map((e=>{switch(e.type){case"window":return this.getModel("window",{id:e.id,config:e.config,frame:t,workspace:i,parent:o});case"column":case"row":case"group":return this.getModel(e.type,{id:e.id,config:e.config,children:e.children,frame:t,workspace:i,parent:o});default:throw new Error(`Unsupported child type: ${e.type}`)}}))}}const xi=t=>e(void 0,void 0,void 0,(function*(){const i=new Ii(t.agm,t.windows,t.layouts,t.contexts),o=t.interop.instance.windowId;yield i.initiate(o),t.workspaces=((t,i)=>{const o=i.controller,r=t=>e(void 0,void 0,void 0,(function*(){return H(t,!0),o.getFrames(t)})),n=t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((e=>{const o={summary:e.frameSummary},r=i.getModel("frame",o);t(r)}),"frame","opened")}));return{inWorkspace:()=>{const e=t.windows.my().id;if(!e)throw new Error("Cannot get my frame, because my id is undefined.");return o.checkIsInSwimlane(e)},getBuilder:e=>{const t=de.runWithException(e);return i.getBuilder(t)},getMyFrame:()=>e(void 0,void 0,void 0,(function*(){const e=t.windows.my().id;if(!e)throw new Error("Cannot get my frame, because my id is undefined.");if(!(yield o.checkIsInSwimlane(e)))throw new Error("Cannot fetch your frame, because this window is not in a workspace");return o.getFrame({windowId:e})})),getFrame:t=>e(void 0,void 0,void 0,(function*(){return H(t),o.getFrame({predicate:t})})),getAllFrames:r,getAllWorkspacesSummaries:()=>o.getAllWorkspaceSummaries(),getMyWorkspace:()=>e(void 0,void 0,void 0,(function*(){const e=t.windows.my().id;if(!e)throw new Error("Cannot get my workspace, because my id is undefined.");if(!(yield o.checkIsInSwimlane(e)))throw new Error("Cannot fetch your workspace, because this window is not in a workspace");return yield o.getWorkspaceByWindowId(e)})),getWorkspace:t=>e(void 0,void 0,void 0,(function*(){return H(t),(yield o.getWorkspaces(t))[0]})),getWorkspaceById:t=>e(void 0,void 0,void 0,(function*(){return T.runWithException(t),o.getWorkspaceById(t)})),getAllWorkspaces:e=>(H(e,!0),o.getWorkspaces(e)),getWindow:t=>e(void 0,void 0,void 0,(function*(){return H(t),o.getWindow(t)})),getBox:t=>e(void 0,void 0,void 0,(function*(){return H(t),o.getParent(t)})),restoreWorkspace:(t,i)=>e(void 0,void 0,void 0,(function*(){T.runWithException(t);const e=ee.runWithException(i);return o.restoreWorkspace(t,e)})),createWorkspace:(t,i)=>e(void 0,void 0,void 0,(function*(){const e=ie.runWithException(t),r=$.runWithException(i);return o.createWorkspace(e,r)})),createEmptyFrame:t=>e(void 0,void 0,void 0,(function*(){const e=ne.runWithException(t);return o.createEmptyFrame(null!=e?e:{})})),waitForFrame:t=>e(void 0,void 0,void 0,(function*(){return T.runWithException(t),new Promise(((e,i)=>{let o=()=>{};n((i=>{i.id===t&&(e(i),o())})).then((e=>(o=e,r()))).then((i=>{const r=i.find((e=>e.id===t));r&&(e(r),o())})).catch(i)}))})),layouts:{getSummaries:()=>o.getLayoutSummaries(),delete:t=>e(void 0,void 0,void 0,(function*(){return T.runWithException(t),o.deleteLayout(t)})),export:t=>e(void 0,void 0,void 0,(function*(){return H(t,!0),o.exportLayout(t)})),import:(t,i="replace")=>e(void 0,void 0,void 0,(function*(){if(!Array.isArray(t))throw new Error(`The provided layouts argument is not an array: ${JSON.stringify(t)}`);return t.forEach((e=>Ee.runWithException(e))),o.importLayouts(t,i)})),save:t=>e(void 0,void 0,void 0,(function*(){const e=mt.runWithException(t);return o.saveLayout(e)})),onSaved:t=>e(void 0,void 0,void 0,(function*(){return H(t),o.handleOnSaved(t)})),onRemoved:t=>e(void 0,void 0,void 0,(function*(){return H(t),o.handleOnRemoved(t)}))},onFrameOpened:n,onFrameClosed:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((e=>{t({frameId:e.frameSummary.id,frameBounds:e.frameBounds})}),"frame","closed")})),onWorkspaceOpened:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((i=>e(void 0,void 0,void 0,(function*(){const e=yield o.transformStreamPayloadToWorkspace(i);t(e)}))),"workspace","opened")})),onWorkspaceClosed:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((e=>{t({frameId:e.frameSummary.id,workspaceId:e.workspaceSummary.id,frameBounds:e.frameBounds})}),"workspace","closed")})),onWorkspaceHibernated:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((i=>e(void 0,void 0,void 0,(function*(){const e=yield o.transformStreamPayloadToWorkspace(i);t(e)}))),"workspace","hibernated")})),onWorkspaceResumed:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((i=>e(void 0,void 0,void 0,(function*(){const e=yield o.transformStreamPayloadToWorkspace(i);t(e)}))),"workspace","resumed")})),onWindowAdded:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((r=>e(void 0,void 0,void 0,(function*(){const e=yield o.getSnapshot(r.windowSummary.config.workspaceId,"workspace"),n={summary:e.frameSummary},s={frame:i.getModel("frame",n),snapshot:e},a=i.getModel("workspace",s).getBox((e=>e.id===r.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===r.windowSummary.itemId));t(a)}))),"window","added")})),onWindowLoaded:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((r=>e(void 0,void 0,void 0,(function*(){const e=yield o.getSnapshot(r.windowSummary.config.workspaceId,"workspace"),n={summary:e.frameSummary},s={frame:i.getModel("frame",n),snapshot:e},a=i.getModel("workspace",s).getWindow((e=>e.id&&e.id===r.windowSummary.config.windowId));t(a)}))),"window","loaded")})),onWindowRemoved:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((e=>{const{windowId:i,workspaceId:o,frameId:r}=e.windowSummary.config;t({windowId:i,workspaceId:o,frameId:r})}),"window","removed")})),onWindowMaximized:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((r=>e(void 0,void 0,void 0,(function*(){const e=yield o.getSnapshot(r.windowSummary.config.workspaceId,"workspace"),n={summary:e.frameSummary},s={frame:i.getModel("frame",n),snapshot:e},a=i.getModel("workspace",s).getBox((e=>e.id===r.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===r.windowSummary.itemId));t(a)}))),"window","maximized")})),onWindowRestored:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((r=>e(void 0,void 0,void 0,(function*(){const e=yield o.getSnapshot(r.windowSummary.config.workspaceId,"workspace"),n={summary:e.frameSummary},s={frame:i.getModel("frame",n),snapshot:e},a=i.getModel("workspace",s).getBox((e=>e.id===r.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===r.windowSummary.itemId));t(a)}))),"window","restored")})),onWindowSelected:t=>e(void 0,void 0,void 0,(function*(){return H(t),yield o.processGlobalSubscription((r=>e(void 0,void 0,void 0,(function*(){const e=yield o.getSnapshot(r.windowSummary.config.workspaceId,"workspace"),n={summary:e.frameSummary},s={frame:i.getModel("frame",n),snapshot:e},a=i.getModel("workspace",s).getBox((e=>e.id===r.windowSummary.parentId)).children.find((e=>"window"===e.type&&e.elementId===r.windowSummary.itemId));t(a)}))),"window","selected")})),version:"3.0.3"}})(t,i)}));return"undefined"!=typeof window&&(window.IOWorkspaces=xi),xi}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@interopio/workspaces-api",
3
- "version": "3.0.1",
3
+ "version": "3.0.3",
4
4
  "description": "IOConnect Workspaces API",
5
5
  "main": "dist/workspaces.umd.js",
6
6
  "module": "dist/workspaces.es.js",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "license": "MIT",
31
31
  "dependencies": {
32
- "@interopio/core": "^6.0.1",
32
+ "@interopio/core": "^6.0.3",
33
33
  "callback-registry": "^2.5.2",
34
34
  "decoder-validate": "0.0.2",
35
35
  "nanoid": "^4.0.0"
@@ -48,5 +48,5 @@
48
48
  "tslint": "^6.1.3",
49
49
  "typescript": "^4.9.4"
50
50
  },
51
- "gitHead": "e611bbfef816b6ba3722ab8f0ac21d420af8ec9d"
51
+ "gitHead": "e6a345167e0e06ce159eda5916aa76687761e314"
52
52
  }
package/workspaces.d.ts CHANGED
@@ -5,14 +5,13 @@ declare const WorkspacesFactory: WorkspacesFactoryFunction;
5
5
  export default WorkspacesFactory;
6
6
 
7
7
  /**
8
- * @docmenuorder 1
9
- * @docName Workspaces
8
+ * @docname Workspaces
10
9
  * @intro
11
10
  * The Workspaces API offers advanced window management functionalities. Using Workspaces, users are able to arrange multiple applications
12
11
  * within the same visual window (called *Frame*). This arrangement can be performed programmatically or by dragging and dropping applications within the Frame.
13
12
  * Users can also save Workspace Layouts and restore them within the same Frame or even in different Frames.
14
13
  *
15
- * The IO Connect Workspaces enable the users to compose a custom arrangement of applications by treating each application
14
+ * The io.Connect Workspaces enable the users to compose a custom arrangement of applications by treating each application
16
15
  * as an individual building block that can be added, removed, moved or resized within a Workspace.
17
16
  * The Frame can hold multiple Workspaces (as tabs) and can also be maximized, minimized or resized.
18
17
  *
@@ -51,7 +50,7 @@ export namespace IOConnectWorkspaces {
51
50
  /** The type of the workspace element. */
52
51
  type: "Workspace";
53
52
 
54
- /** The name of the workspaces app with which the layout is associated (available only in IO Connect Desktop) */
53
+ /** The name of the workspaces app with which the layout is associated (available only in **io.Connect Desktop**). */
55
54
  application?: string;
56
55
 
57
56
  state: WorkspaceLayoutComponentState;
@@ -94,7 +93,7 @@ export namespace IOConnectWorkspaces {
94
93
  }
95
94
 
96
95
  export interface WindowLayoutItemConfig {
97
- /** The name of the application as defined in IO Connect Desktop */
96
+ /** The name of the application as defined in **io.Connect Desktop**. */
98
97
  appName: string;
99
98
  /** The id of the window */
100
99
  windowId?: string;
@@ -128,7 +127,7 @@ export namespace IOConnectWorkspaces {
128
127
  /** A string id of an existing frame. If provided, this workspace will be opened in that specific frame */
129
128
  frameId?: string;
130
129
 
131
- /** The application name of the workspace app that should be used for the new frame (available only for IO Connect Desktop) */
130
+ /** The application name of the workspace app that should be used for the new frame (available only for **io.Connect Desktop**) */
132
131
  applicationName?: string;
133
132
 
134
133
  /** A setting used to declare that the workspace must be in a new frame and also provide options for that new frame */
@@ -284,7 +283,7 @@ export namespace IOConnectWorkspaces {
284
283
  /** Controls whether a workspace tab can be reordered in the frame */
285
284
  allowWorkspaceTabReorder?: boolean;
286
285
 
287
- /** Controls whether a workspace tab can be extracted from the frame (available only for IO Connect Desktop) */
286
+ /** Controls whether a workspace tab can be extracted from the frame (available only for **io.Connect Desktop**). */
288
287
  allowWorkspaceTabExtract?: boolean;
289
288
 
290
289
  /** Controls the visibility of the close button located in the workspaces tab */
@@ -358,7 +357,7 @@ export namespace IOConnectWorkspaces {
358
357
  /** Controls the whether the workspace tab can be reordered */
359
358
  allowWorkspaceTabReorder?: boolean;
360
359
 
361
- /** Controls the whether the workspace tab can be extracted (available only for IO Connect Desktop) */
360
+ /** Controls the whether the workspace tab can be extracted (available only for **io.Connect Desktop**). */
362
361
  allowWorkspaceTabExtract?: boolean;
363
362
 
364
363
  /** Controls the visibility of all the add window buttons (the ones with the plus icon) located in the group headers */
@@ -555,7 +554,7 @@ export namespace IOConnectWorkspaces {
555
554
  /** A string id of an existing frame. If provided, this workspace will be opened in that specific frame */
556
555
  reuseFrameId?: string;
557
556
 
558
- /** The application name of the workspace app that should be used for the new frame (available only for IO Connect Desktop) */
557
+ /** The application name of the workspace app that should be used for the new frame (available only for **io.Connect Desktop**). */
559
558
  applicationName?: string;
560
559
 
561
560
  /** A setting used to declare that the workspace must be in a new frame and also provide options for that new frame */
@@ -655,12 +654,12 @@ export namespace IOConnectWorkspaces {
655
654
  /** An unique string name and identifier of the layout */
656
655
  name: string;
657
656
 
658
- /** The name of the workspaces app with which the layout is associated (available only in IO Connect Desktop) */
657
+ /** The name of the workspaces app with which the layout is associated (available only in **io.Connect Desktop**). */
659
658
  applicationName?: string;
660
659
  }
661
660
 
662
661
  export interface EmptyFrameDefinition {
663
- /** The application name of the workspace app that should be used for the new frame (available only for IO Connect Desktop) */
662
+ /** The application name of the workspace app that should be used for the new frame (available only for **io.Connect Desktop**). */
664
663
  applicationName?: string;
665
664
 
666
665
  /**
@@ -705,11 +704,7 @@ export namespace IOConnectWorkspaces {
705
704
  /** An object describing a frame */
706
705
  export interface Frame extends FrameSummary {
707
706
  /**
708
- * An API which gives full read, write and delete access to the workspaces layouts.
709
- */
710
-
711
- /**
712
- * Registers keyboard shortcut to the current frame (available only in IO Connect Desktop).
707
+ * Registers keyboard shortcut to the current frame (available only in **io.Connect Desktop**).
713
708
  */
714
709
  registerShortcut(shortcut: string, callback: () => void): Promise<Unsubscribe>;
715
710
 
@@ -737,25 +732,25 @@ export namespace IOConnectWorkspaces {
737
732
 
738
733
  /**
739
734
  * Returns the current state of the frame.
740
- * Not available in IO Connect Browser
735
+ * Not available in **io.Connect Browser**.
741
736
  */
742
737
  state(): Promise<FrameState>;
743
738
 
744
739
  /**
745
740
  * Minimizes this frame.
746
- * Not available in IO Connect Browser
741
+ * Not available in **io.Connect Browser**.
747
742
  */
748
743
  minimize(): Promise<void>;
749
744
 
750
745
  /**
751
746
  * Maximizes this frame.
752
- * Not available in IO Connect Browser
747
+ * Not available in **io.Connect Browser**.
753
748
  */
754
749
  maximize(): Promise<void>;
755
750
 
756
751
  /**
757
752
  * Restores this frame.
758
- * Not available in IO Connect Browser
753
+ * Not available in **io.Connect Browser**.
759
754
  */
760
755
  restore(): Promise<void>;
761
756
 
@@ -807,27 +802,27 @@ export namespace IOConnectWorkspaces {
807
802
 
808
803
  /**
809
804
  * Notifies when this frame is maximized.
810
- * This event is not supported in IO Connect Browser.
805
+ * This event is not supported in **io.Connect Browser**.
811
806
  * @param callback Callback function to handle the event.
812
807
  */
813
808
  onMaximized(callback: () => void): Promise<Unsubscribe>;
814
809
 
815
810
  /**
816
811
  * Notifies when this frame is closed.
817
- * This event is not supported in IO Connect Browser.
812
+ * This event is not supported in **io.Connect Browser**.
818
813
  * @param callback Callback function to handle the event.
819
814
  */
820
815
  onMinimized(callback: () => void): Promise<Unsubscribe>;
821
816
 
822
817
  /**
823
818
  * Notifies when this frame is closed.
824
- * This event is not supported in IO Connect Browser.
819
+ * This event is not supported in **io.Connect Browser**.
825
820
  * @param callback Callback function to handle the event.
826
821
  */
827
822
  onNormal(callback: () => void): Promise<Unsubscribe>;
828
823
 
829
824
  /**
830
- * Triggered when either a window in the frame is focused or the frame itself (supported only in IO Connect Desktop).
825
+ * Triggered when either a window in the frame is focused or the frame itself (supported only in **io.Connect Desktop**).
831
826
  * @param callback Callback function to handle the event. It receives a data oject which indicates how the focus has changed.
832
827
  */
833
828
  onFocusChanged(callback: (data: FrameFocusChangedData) => void): Promise<IOConnectWorkspaces.Unsubscribe>;
@@ -897,7 +892,7 @@ export namespace IOConnectWorkspaces {
897
892
  /** Indicates if the workspace is hibernated */
898
893
  isHibernated?: boolean;
899
894
 
900
- /** Indicates if the workspace is selected in its frame. Can be undefined if using with an older version of IO Connect Desktop or Browser */
895
+ /** Indicates if the workspace is selected in its frame. Can be undefined if using with an older version of **io.Connect Desktop** or **io.Connect Browser**. */
901
896
  isSelected?: boolean;
902
897
 
903
898
  /** Indicates if dragging of splitters is allowed in the workspace */
@@ -930,7 +925,7 @@ export namespace IOConnectWorkspaces {
930
925
  /** Indicates if the save button for this workspace is visible to the user */
931
926
  showSaveButton?: boolean;
932
927
 
933
- /** Controls whether the workspace tab can be extracted (available only for IO Connect Desktop) */
928
+ /** Controls whether the workspace tab can be extracted (available only for **io.Connect Desktop**) */
934
929
  allowWorkspaceTabExtract?: boolean;
935
930
 
936
931
  /** Controls whether the workspace tab can be reordered*/
@@ -1023,7 +1018,7 @@ export namespace IOConnectWorkspaces {
1023
1018
  refreshReference(): Promise<void>;
1024
1019
 
1025
1020
  /**
1026
- * Saves the current workspace structure as a layout. In IO Connect Browser this will throw an error if the name matches the name of a read-only layout.
1021
+ * Saves the current workspace structure as a layout. In **io.Connect Browser** this will throw an error if the name matches the name of a read-only layout.
1027
1022
  * @param name A string representing the name (also ID) of the new workspace layout.
1028
1023
  */
1029
1024
  saveLayout(name: string, config?: { saveContext?: boolean }): Promise<void>;
@@ -1171,7 +1166,7 @@ export namespace IOConnectWorkspaces {
1171
1166
 
1172
1167
  /**
1173
1168
  * Notifies when a window was removed from this workspace and returns an unsubscribe function.
1174
- * Not supported in IO Connect Browser
1169
+ * Not supported in **io.Connect Browser**.
1175
1170
  * @param callback Callback function to handle the event. Receives an object containing the ids of the removed window, and the respective workspace and frame as a parameter.
1176
1171
  */
1177
1172
  onWindowRemoved(callback: (removed: { windowId?: string; workspaceId: string; frameId: string }) => void): Promise<Unsubscribe>;
@@ -1235,12 +1230,12 @@ export namespace IOConnectWorkspaces {
1235
1230
  setIcon(icon: string): Promise<void>;
1236
1231
 
1237
1232
  /**
1238
- * Shows the loading animation of the workspace (supported only in IO Connect Desktop)
1233
+ * Shows the loading animation of the workspace (supported only in **io.Connect Desktop**).
1239
1234
  */
1240
1235
  showLoadingAnimation(): Promise<void>;
1241
1236
 
1242
1237
  /**
1243
- * Hides the loading animation of the workspace (supported only in IO Connect Desktop)
1238
+ * Hides the loading animation of the workspace (supported only in **io.Connect Desktop**).
1244
1239
  */
1245
1240
  hideLoadingAnimation(): Promise<void>;
1246
1241
  }
@@ -1605,7 +1600,7 @@ export namespace IOConnectWorkspaces {
1605
1600
  getGdWindow(): any;
1606
1601
 
1607
1602
  /**
1608
- * Moves the workspace window to a new box. In IO Connect Browser this box must be part of the same frame.
1603
+ * Moves the workspace window to a new box. In **io.Connect Browser** this box must be part of the same frame.
1609
1604
  * @param box An object describing the new box of the window.
1610
1605
  */
1611
1606
  moveTo(box: WorkspaceBox): Promise<void>;
@@ -1770,7 +1765,7 @@ export namespace IOConnectWorkspaces {
1770
1765
  getSummaries(): Promise<WorkspaceLayoutSummary[]>;
1771
1766
 
1772
1767
  /**
1773
- * Deletes a previously saved layout. In IO Connect Browser delete will fail with an error in trying to delete a read-only layout, this is a layout defined in the io.layouts.json file.
1768
+ * Deletes a previously saved layout. In **io.Connect Browser** delete will fail with an error in trying to delete a read-only layout, this is a layout defined in the io.layouts.json file.
1774
1769
  * @param name The name of the layout to delete.
1775
1770
  */
1776
1771
  delete(name: string): Promise<void>;
@@ -1782,7 +1777,7 @@ export namespace IOConnectWorkspaces {
1782
1777
  export(predicate?: (layout: WorkspaceLayout) => boolean): Promise<WorkspaceLayout[]>;
1783
1778
 
1784
1779
  /**
1785
- * Saves the provided layouts into IO Connect. In IO Connect Browser this will fail with an error if a provided layout's name matches a read-only layout.
1780
+ * Saves the provided layouts into io.Connect. In **io.Connect Browser** this will fail with an error if a provided layout's name matches a read-only layout.
1786
1781
  * @param layouts A collection of layouts to add to IO Connet.
1787
1782
  */
1788
1783
  import(layouts: WorkspaceLayout[], mode?: "replace" | "merge"): Promise<void>;
@@ -1980,7 +1975,7 @@ export namespace IOConnectWorkspaces {
1980
1975
  */
1981
1976
  onWindowSelected(callback: (workspaceWindow: IOConnectWorkspaces.WorkspaceWindow) => void): Promise<IOConnectWorkspaces.Unsubscribe>;
1982
1977
 
1983
- /** IO Connect Workspaces API version. */
1978
+ /** The io.Connect Workspaces API version. */
1984
1979
  version: string;
1985
1980
  }
1986
1981
  }