@openfin/workspace-platform 9.0.7 → 9.0.8
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/index.js +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! For license information please see index.js.LICENSE.txt */
|
|
2
|
-
(()=>{"use strict";var e={525:e=>{var t=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function o(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},a=0;a<10;a++)t["_"+String.fromCharCode(a)]=a;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,r){for(var i,s,c=o(e),d=1;d<arguments.length;d++){for(var p in i=Object(arguments[d]))a.call(i,p)&&(c[p]=i[p]);if(t){s=t(i);for(var l=0;l<s.length;l++)n.call(i,s[l])&&(c[s[l]]=i[s[l]])}}return c}},535:(e,t,a)=>{var n=a(525),o=60103,r=60106;var i=60109,s=60110,c=60112;var d=60115,p=60116;if("function"==typeof Symbol&&Symbol.for){var l=Symbol.for;o=l("react.element"),r=l("react.portal"),l("react.fragment"),l("react.strict_mode"),l("react.profiler"),i=l("react.provider"),s=l("react.context"),c=l("react.forward_ref"),l("react.suspense"),d=l("react.memo"),p=l("react.lazy")}var u="function"==typeof Symbol&&Symbol.iterator;function w(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var f={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g={};function y(e,t,a){this.props=e,this.context=t,this.refs=g,this.updater=a||f}function h(){}function m(e,t,a){this.props=e,this.context=t,this.refs=g,this.updater=a||f}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(w(85));this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},h.prototype=y.prototype;var v=m.prototype=new h;v.constructor=m,n(v,y.prototype),v.isPureReactComponent=!0;var S={current:null},P=Object.prototype.hasOwnProperty,b={key:!0,ref:!0,__self:!0,__source:!0};function k(e,t,a){var n,r={},i=null,s=null;if(null!=t)for(n in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)P.call(t,n)&&!b.hasOwnProperty(n)&&(r[n]=t[n]);var c=arguments.length-2;if(1===c)r.children=a;else if(1<c){for(var d=Array(c),p=0;p<c;p++)d[p]=arguments[p+2];r.children=d}if(e&&e.defaultProps)for(n in c=e.defaultProps)void 0===r[n]&&(r[n]=c[n]);return{$$typeof:o,type:e,key:i,ref:s,props:r,_owner:S.current}}function W(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var C=/\/+/g;function I(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function A(e,t,a,n,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var c=!1;if(null===e)c=!0;else switch(s){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case o:case r:c=!0}}if(c)return i=i(c=e),e=""===n?"."+I(c,0):n,Array.isArray(i)?(a="",null!=e&&(a=e.replace(C,"$&/")+"/"),A(i,t,a,"",(function(e){return e}))):null!=i&&(W(i)&&(i=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,a+(!i.key||c&&c.key===i.key?"":(""+i.key).replace(C,"$&/")+"/")+e)),t.push(i)),1;if(c=0,n=""===n?".":n+":",Array.isArray(e))for(var d=0;d<e.length;d++){var p=n+I(s=e[d],d);c+=A(s,t,a,p,i)}else if(p=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=u&&e[u]||e["@@iterator"])?e:null}(e),"function"==typeof p)for(e=p.call(e),d=0;!(s=e.next()).done;)c+=A(s=s.value,t,a,p=n+I(s,d++),i);else if("object"===s)throw t=""+e,Error(w(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return c}function M(e,t,a){if(null==e)return e;var n=[],o=0;return A(e,n,"","",(function(e){return t.call(a,e,o++)})),n}function O(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var T={current:null};function E(){var e=T.current;if(null===e)throw Error(w(321));return e}},378:(e,t,a)=>{a(535)}},t={};function a(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,a),r.exports}a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{var e,t,o,r,i,s,c,d;a.r(n),a.d(n,{AppManifestType:()=>c,BrowserButtonType:()=>g,CustomActionCallerType:()=>h,GlobalContextMenuOptionType:()=>u,PageTabContextMenuOptionType:()=>w,SaveButtonContextMenuOptionType:()=>y,SaveModalType:()=>m,ViewTabMenuOptionType:()=>f,getCurrentSync:()=>Ut,init:()=>Cn,wrapSync:()=>Dt}),function(e){e.Fetching="fetching",e.Fetched="fetched",e.Complete="complete"}(e||(e={})),function(e){e.UserAction="user-action",e.FocusChange="focus-change",e.Reload="reload"}(t||(t={})),function(e){e.Active="active",e.Default="default"}(o||(o={})),function(e){e.Suggestion="suggestion"}(r||(r={})),function(e){e.Contact="Contact",e.Custom="Custom",e.List="List",e.Plain="Plain",e.SimpleText="SimpleText",e.Loading="Loading",e.Error="Error"}(i||(i={})),function(e){e.MultiSelect="MultiSelect"}(s||(s={})),function(e){e.Snapshot="snapshot",e.Manifest="manifest",e.View="view",e.External="external"}(c||(c={})),function(e){e.LandingPage="landingPage",e.AppGrid="appGrid"}(d||(d={}));var p,l,u,w,f,g,y,h,m,v;!function(e){e.Primary="primary",e.Secondary="secondary",e.TextOnly="textOnly"}(p||(p={})),function(e){e.ActionButton="ActionButton",e.DropdownButton="DropdownButton"}(l||(l={})),function(e){e.NewWindow="NewWindow",e.NewPage="NewPage",e.SavePage="SavePage",e.SavePageAs="SavePageAs",e.CloseWindow="CloseWindow",e.RestoreChanges="RestoreChanges",e.SaveWorkspace="SaveWorkspace",e.SaveWorkspaceAs="SaveWorkspaceAs",e.RenameWorkspace="RenameWorkspace",e.SwitchWorkspace="SwitchWorkspace",e.DeleteWorkspace="DeleteWorkspace",e.OpenStorefront="OpenStorefront",e.Quit="Quit",e.Custom="Custom"}(u||(u={})),function(e){e.Close="Close",e.Duplicate="Duplicate",e.Rename="Rename",e.Save="Save",e.SaveAs="Save As",e.Custom="Custom"}(w||(w={})),function(e){e.NewView="NewView",e.DuplicateViews="DuplicateView",e.OpenWithDefaultBrowser="OpenWithDefaultBrowser",e.ReloadViews="ReloadTab",e.CloseViews="CloseTab",e.AddToChannel="AddToChannel",e.RemoveFromChannel="RemoveFromChannel",e.Custom="Custom"}(f||(f={})),function(e){e.ShowHideTabs="ShowHideTabs",e.ColorLinking="ColorLinking",e.PresetLayouts="PresetLayouts",e.LockUnlockPage="LockUnlockPage",e.SaveMenu="SaveMenu",e.SavePage="SavePage",e.Minimise="Minimise",e.Maximise="Maximise",e.Close="Close",e.Custom="Custom"}(g||(g={})),function(e){e.SavePage="SavePage",e.SaveWorkspace="SaveWorkspace",e.SavePageAs="SavePageAs",e.SaveWorkspaceAs="SaveWorkspaceAs",e.Custom="Custom"}(y||(y={})),function(e){e.CustomButton="CustomButton",e.CustomDropdownItem="CustomDropdownItem",e.GlobalContextMenu="GlobalContextMenu",e.ViewTabContextMenu="ViewTabContextMenu",e.PageTabContextMenu="PageTabContextMenu",e.SaveButtonContextMenu="SaveButtonContextMenu",e.API="API"}(h||(h={})),function(e){e.SAVE_PAGE="SAVE_PAGE",e.SAVE_WORKSPACE="SAVE_WORKSPACE",e.SAVE_PAGE_AS="SAVE_PAGE_AS",e.SAVE_WORKSPACE_AS="SAVE_WORKSPACE_AS",e.RENAME_PAGE="RENAME_PAGE",e.RENAME_WORKSPACE="RENAME_WORKSPACE"}(m||(m={})),function(e){e.Local="local",e.Dev="dev",e.Staging="staging",e.Prod="prod"}(v||(v={}));const S="undefined"!=typeof window&&"undefined"!=typeof fin,P=("undefined"==typeof process||process.env?.JEST_WORKER_ID,"undefined"!=typeof window),b=P&&"undefined"!=typeof indexedDB,k=P?window.origin:v.Local,W=S&&fin.me.uuid,C=S&&fin.me.name,I=S&&fin.me.entityType,A=(v.Local,v.Dev,v.Staging,v.Prod,e=>e.startsWith("http://")||e.startsWith("https://")?e:k+e),M=(A("https://cdn.openfin.co/workspace/9.0.7"),A("https://cdn.openfin.co/workspace/9.0.7")),O=("undefined"!=typeof WORKSPACE_DOCS_PLATFORM_URL&&A(WORKSPACE_DOCS_PLATFORM_URL),"undefined"!=typeof WORKSPACE_DOCS_CLIENT_URL&&A(WORKSPACE_DOCS_CLIENT_URL),"26.102.71.5"),T="9.0.7";var E,B,x;!function(e){e.Workspace="openfin-browser"}(E||(E={})),function(e){e.RunRequested="run-requested",e.WindowOptionsChanged="window-options-changed",e.WindowClosed="window-closed",e.WindowCreated="window-created"}(B||(B={})),function(e){e.FinProtocol="fin-protocol"}(x||(x={}));const R={uuid:W},_=(E.Workspace,e=>{if(!S)throw new Error("getApplication cannot be used in a non OpenFin env. Avoid using this during pre-rendering.");return fin.Application.wrapSync(e)}),L=()=>_(R);var V,D;!function(e){e.Home="openfin-home",e.Dock="openfin-dock",e.Storefront="openfin-storefront",e.HomeInternal="openfin-home-internal",e.BrowserMenu="openfin-browser-menu",e.BrowserIndicator="openfin-browser-indicator",e.BrowserWindow="internal-generated-window"}(V||(V={})),function(e){e.Shown="shown",e.BoundsChanged="bounds-changed",e.LayoutReady="layout-ready",e.EndUserBoundsChanging="end-user-bounds-changing",e.Blurred="blurred",e.Closed="closed",e.CloseRequested="close-requested",e.Focused="focused",e.ShowRequested="show-requested",e.ViewCrashed="view-crashed",e.ViewAttached="view-attached",e.ViewDetached="view-detached",e.ViewPageTitleUpdated="view-page-title-updated",e.ViewDestroyed="view-destroyed",e.OptionsChanged="options-changed"}(D||(D={}));function U(e){if(!S)throw new Error("getOFWindow can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");return fin.Window.wrapSync(e)}const F={name:C,uuid:W};function G(){return U(F)}V.Home,E.Workspace,V.Dock,E.Workspace;const $={name:V.Storefront,uuid:E.Workspace};E.Workspace,E.Workspace;async function N(e){const t=U(e);"minimized"===await t.getState()&&await t.restore(),await t.show(),await t.setAsForeground()}const j=e=>e.startsWith(V.BrowserWindow);async function H(){return(await fin.Application.getCurrentSync().getChildWindows()).filter((e=>j(e.identity.name)))}const q=e=>U(e).getOptions().then((()=>!0)).catch((()=>!1)),K=()=>q($);var Q;!function(e){e.Browser="Browser",e.Dock="Dock",e.Home="Home",e.Notification="Notification",e.Storefront="Storefront",e.Platform="Platform",e.Theming="Theming"}(Q||(Q={}));const z=async(e,t)=>{const a={apiVersion:t.apiVersion||T,componentName:e,componentVersion:t.componentVersion||T,allowed:t.allowed,rejectionCode:t.rejectionCode};fin.System.registerUsage({type:"workspace-licensing",data:a})};a(378);const J=e=>fin.System.getSystemAppConfig(e);let X;async function Y(){if(X)return X;if(!S)return{};const e=await async function(){if(S)try{let e=await J("workspace").catch((e=>{}));return e||(e=await J("home")),e}catch(e){}}(),t=await async function(){const{manifest:e,initialOptions:t}=await fin.Application.getCurrentSync().getInfo();return e?.workspace||e?.home||t?.workspace||t?.home,e?.workspace?e?.workspace:e?.home?e?.home:t?.workspace?t?.workspace:t?.home?t?.home:void 0}();return X={...t,...e},X}var Z;!function(e){e.CurrentWorkspaceId="currentWorkspaceId",e.LastFocusedBrowserWindow="lastFocusedBrowserWindow",e.MachineName="machineName",e.NewTabPageLayout="NewTabPageLayout",e.NewTabPageSort="NewTabPageSort",e.DockPosition="DockPosition"}(Z||(Z={}));const ee=Z,te=(e,t)=>{localStorage.setItem(`${W}-${e}`,t)},ae=e=>localStorage.getItem(`${W}-${e}`);var ne;!function(e){e.LaunchApp="launchApp",e.SavePage="savePage",e.GetSavedPage="getSavedPage",e.CreateSavedPage="createSavedPage",e.UpdateSavedPage="updateSavedPage",e.DeleteSavedPage="deleteSavedPage",e.GetSavedPages="getSavedPages",e.CreateSavedPageInternal="createSavedPageInternal",e.UpdateSavedPageInternal="updateSavedPageInternal",e.DeleteSavedPageInternal="deleteSavedPageInternal",e.SharePage="sharePage",e.UpdatePageForWindow="updatePageForWindow",e.AttachPagesToWindow="attachPagesToWindow",e.DetachPagesFromWindow="detachPagesFromWindow",e.ReorderPagesForWindow="reorderPagesForWindow",e.SetActivePage="setActivePage",e.GetAllAttachedPages="getAllAttachedPages",e.GetActivePageIdForWindow="getActivePageIdForWindow",e.GetPagesForWindow="getPagesForWindow",e.GetPageForWindow="getPageForWindow",e.GetSavedPageMetadata="getSavedPageMetadata",e.GetUniquePageTitle="getUniquePageTitle",e.GetLastFocusedBrowserWindow="getLastFocusedBrowserWindow",e.GetThemes="getThemes",e.OpenGlobalContextMenuInternal="openGlobalContextMenuInternal",e.OpenViewTabContextMenuInternal="openViewTabContextMenuInternal",e.OpenPageTabContextMenuInternal="openPageTabContextMenuInternal",e.OpenSaveButtonContextMenuInternal="openSaveButtonContextMenuInternal",e.InvokeCustomActionInternal="invokeCustomActionInternal",e.RequestQuitPlatformDialogInternal="requestQuitPlatformDialogInternal",e.GetSavedWorkspace="getSavedWorkspace",e.CreateSavedWorkspace="createSavedWorkspace",e.UpdateSavedWorkspace="updateSavedWorkspace",e.DeleteSavedWorkspace="deleteSavedWorkspace",e.GetSavedWorkspaces="getSavedWorkspaces",e.SaveWorkspace="saveWorkspace",e.GetCurrentWorkspace="getCurrentWorkspace",e.ApplyWorkspace="applyWorkspace",e.SetActiveWorkspace="setActiveWorkspace",e.IsBrowserInitialized="isBrowserInitialized"}(ne||(ne={}));const oe=async e=>fin.Platform.wrapSync(e).getClient(),re=async e=>{const t=await oe(e),a="Target is not a Workspace Platform. Target must call WorkspacePlatform.init";let n;try{n=await t.dispatch("isWorkspacePlatform")}catch(e){throw new Error(a)}if(!0!==n?.isWorkspacePlatform)throw new Error(a);return n},ie=async e=>(await re(e),oe(e)),se=async e=>{if(!0!==(await re(e))?.isBrowserInitialized)throw new Error("Target is not a Browser-enabled Workspace Platform.");return oe(e)},ce=(e,t)=>!t.find((t=>t===e)),de=(e,t)=>`${e} (${t})`,pe=(e,t)=>{let a=1;const n=e.replace(/ \(.+\)$/,"");for(;!ce(de(n,a),t);)a+=1;return de(n,a)};async function le(e){try{const t=Ut();await t.applySnapshot(e.snapshot,{closeExistingWindows:!0}),ue(e)}catch(e){}}function ue(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);te(ee.CurrentWorkspaceId,t)}catch(e){}}async function we(){if("undefined"==typeof localStorage)return;const e=Ut(),t=await e.getSnapshot();return{workspaceId:crypto.randomUUID(),title:await ye(),metadata:{APIVersion:T},snapshot:t}}async function fe(){if("undefined"==typeof localStorage)return;const e=ae(ee.CurrentWorkspaceId);if(!e)return we();const t=JSON.parse(e),a=Ut(),n=await a.getSnapshot();return{...t,metadata:{APIVersion:T},snapshot:n}}const ge=async e=>await(async e=>(await ie(F)).dispatch(ne.GetSavedWorkspace,e))(e.workspaceId)?(async e=>(await ie(F)).dispatch(ne.UpdateSavedWorkspace,e))({workspaceId:e.workspaceId,workspace:e}):(async e=>(await ie(F)).dispatch(ne.CreateSavedWorkspace,e))({workspace:e});async function ye(e="Untitled Workspace"){const t=(await(async()=>(await ie(F)).dispatch(ne.GetSavedWorkspaces,void 0))()).map((({title:e})=>e));return t.find((t=>t===e))?pe(e,t):e}async function he(){if("undefined"!=typeof localStorage)try{const e=ae(ee.LastFocusedBrowserWindow);if(!e)return;const t=JSON.parse(e);if(await q(t))return t}catch(e){throw new Error(`failed to get last focused browser window: ${e}`)}}function me(e=fin.me.identity){j(e.name)&&function(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);te(ee.LastFocusedBrowserWindow,t)}catch(e){}}(e)}const ve=(e,t=0)=>{let a,n,o=!1;const r=async n=>{const i=await e(...n);if(o){await new Promise((e=>setTimeout(e,t)));const e=a;return a=void 0,o=!1,r(e)}return i};return(...e)=>(n?(o=!0,a=e):n=r(e).catch((e=>{throw e})).finally((()=>{n=void 0})),n)};var Se;!function(e){e.TabCreated="tab-created",e.ContainerCreated="container-created",e.ContainerResized="container-resized"}(Se||(Se={}));const Pe=(e,t)=>e.content?{...e,content:e.content.map((e=>Pe(e,t)))}:{...e,componentState:t(e.componentState)},be=e=>({...e,name:e.name?e.name:crypto.randomUUID()}),ke=e=>{const t=[];return(e&&Array.isArray(e)?e:[]).forEach((e=>{if("component"===e.type)return t.push(e.componentState);const a=ke(e.content);t.push(...a)})),t},We=async(e,t,a=F)=>{let n;if(j(a.name)){n=(await U(a).getOptions()).layout||{settings:{}}}return{...n,content:[{type:"stack",content:[{type:"component",componentName:"view",componentState:{title:e,url:t}}]}]}};new Map;function Ce(e,t){return async(a,...n)=>{e.has(a)&&e.get(a).forEach((e=>e(...n))),t&&await t({event:a,payload:n})}}function Ie(e,t){return t&&t((t=>{const{event:a,payload:n}=t;e.has(a)&&e.get(a).forEach((e=>e(...n)))})),(t,a)=>{e.has(t)||e.set(t,new Set),e.get(t).add(a)}}function Ae(e){return(t,a)=>{e.has(t)||e.set(t,new Set);const n=e.get(t),o=(...e)=>{a(...e),n.delete(o)};n.add(o)}}function Me(e){return(t,a)=>{e.has(t)&&e.get(t).delete(a)}}const Oe=P&&"complete"!==document.readyState&&new Promise((e=>document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))));function Te(e){let t;return()=>{if(!S)throw new Error("getChannelClient cannot be used outside an OpenFin env. Avoid using this method during pre-rendering.");return t||(t=(async()=>{await Oe;const a={clientAPIVersion:T},n=await fin.InterApplicationBus.Channel.connect(e,{payload:a});return n.onDisconnection((async()=>{t=void 0})),n})().then((e=>e)).catch((a=>{throw t=void 0,new Error(`failed to connect to channel provider ${e}: ${a}`)}))),t}}const Ee=e=>`__browser_window__-${e.uuid}-${e.name}`,Be=new Map,xe=e=>{const t=Ee(e);return Be.has(t)||Be.set(t,Te(t)),Be.get(t)()};var Re,_e;!function(e){e.CloseBrowserWindow="close-browser-window",e.QuitPlatform="quit-platform",e.ClosePage="close-page",e.AddToChannel="add-to-channel",e.RemoveFromChannel="remove-from-channel",e.OpenSaveModalInternal="open-save-modal-internal",e.DuplicatePage="duplicate-page"}(Re||(Re={})),function(e){e.GetPages="get-pages",e.GetActivePageForWindow="get-active-page-for-window",e.AttachPagesToWindow="attach-pages-to-window",e.DetachPagesFromWindow="detach-pages-from-window",e.SetActivePageForWindow="set-active-page-for-window",e.RenamePage="rename-page",e.ReorderPagesForWindow="reorder-pages-for-window",e.UpdatePageForWindow="update-page-for-window",e.UpdatePagesWindowOptions="update-pages-window-options",e.IsDetachingPages="is-detaching-pages",e.IsActivePageChanging="is-active-page-changing"}(_e||(_e={}));const Le={...Re,..._e};var Ve;!function(e){e.AttachedPagesToWindow="attached-pages-to-window",e.DetachedPagesFromWindow="detached-pages-from-window"}(Ve||(Ve={}));new Map;const De=async e=>{const t=await xe(e);return await t.dispatch(Le.GetPages)},Ue=async e=>(await xe(e.identity)).dispatch(Le.UpdatePageForWindow,e),Fe=async()=>{const e=await H();return(await Promise.all(e.map((async({identity:e})=>De(e))))).reduce(((e,t)=>e.concat(t)),[])},Ge=async()=>(await ie(F)).dispatch(ne.GetSavedPages,void 0),$e=async e=>(await ie(F)).dispatch(ne.GetSavedPage,e),Ne=async(e,t)=>{const a=await(async e=>(await Fe()).find((t=>t.pageId===e)))(e);return!a||a.title===t.title&&e===t.pageId||await Ue({identity:a.parentIdentity,pageId:e,page:{pageId:t.pageId,title:t.title}}),a},je=async({page:e})=>{await Ne(e.pageId,e),await(async e=>(await ie(F)).dispatch(ne.CreateSavedPage,e))({page:e})},He=async e=>{await $e(e)&&await(async e=>(await ie(F)).dispatch(ne.DeleteSavedPage,e))(e)},qe=async({pageId:e,page:t})=>{await Ne(e,t);return await(async e=>(await ie(F)).dispatch(ne.UpdateSavedPage,e))({pageId:e,page:t})},Ke=async e=>await $e(e.pageId)?qe({pageId:e.pageId,page:e}):je({page:e}),Qe=async e=>{await(async e=>(await xe(e.identity)).dispatch(Le.AttachPagesToWindow,e))(e)},ze=async e=>{await Ue(e)},Je=async e=>{await(async e=>(await xe(e.identity)).dispatch(Le.DetachPagesFromWindow,e))(e)},Xe=async e=>{await(async e=>(await xe(e.identity)).dispatch(Le.SetActivePageForWindow,e))(e)},Ye=e=>De(e),Ze=async({identity:e,pageId:t})=>(await Ye(e)).find((e=>e.pageId===t)),et=async e=>{await(async e=>(await xe(e.identity)).dispatch(Le.ReorderPagesForWindow,e))(e)};async function tt(e="Untitled Page"){const[t,a]=await Promise.all([Ge(),Fe()]),n=[...t,...a].map((({title:e})=>e));return n.find((t=>t===e))?pe(e,n):e}const at=new Map,nt=e=>`${e.uuid}-${e.name}`;const ot=ve((async function(){let e=[];try{e=await Fe()}catch(e){return void at.forEach(((e,t)=>{clearTimeout(e),at.delete(t)}))}const t=new Set;e.forEach((e=>{ke(e.layout.content).forEach((e=>{if(e.name){const a=nt(e);t.add(a)}}))}));const a=G();(await a.getCurrentViews()).forEach((({identity:e})=>{const a=nt(e);if(t.has(a)||at.has(a))return;const n=setTimeout((()=>{fin.View.wrapSync(e).destroy(),at.delete(a)}),5e3);at.set(a,n)})),at.forEach(((e,a)=>{t.has(a)&&(clearTimeout(e),at.delete(a))}))}),2500),rt=({name:e})=>{e&&j(e)&&ot().catch((()=>{}))};let it={};const st=({actionId:e,payload:t})=>{if("function"!=typeof it[e])throw new Error(`Cannot find a configured function for the action '${e}'`);return it[e](t)};function ct(){return localStorage.getItem(ee.MachineName)}let dt;async function pt(){return dt||(dt=await fin.System.getMachineId()),dt}const lt=e=>{if(e.layout&&Array.isArray(e.workspacePlatform?.pages)){const t=e.workspacePlatform.pages.find((e=>e.isActive));if(t)if(t.isLocked){const a=((e,t)=>{const a=ke(t.content);return{...Pe(e,(e=>{const t=a.find((t=>t.name===e.name&&t.uuid===e.uuid)),n=t?t.isClosable:e.isClosable;return{...e,isClosable:n}})),settings:t.settings}})(e.layout,t.layout);t.layout=a,e.layout=a}else t.layout=e.layout}return e};async function ut(e){const t=e||await fin.Platform.getCurrentSync().getSnapshot();if(t.snapshotDetails?.machineId)return t;const a=ct();return{...t,snapshotDetails:{...e.snapshotDetails,machineId:await pt(),machineName:a}}}function wt(e){return new Promise(((t,a)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>a(e.error)}))}function ft(e,t){const a=indexedDB.open(e);a.onupgradeneeded=()=>a.result.createObjectStore(t);const n=wt(a);return(e,a)=>n.then((n=>a(n.transaction(t,e).objectStore(t))))}let gt;function yt(){return gt||(gt=ft("keyval-store","keyval")),gt}function ht(e,t=yt()){return t("readonly",(t=>wt(t.get(e))))}function mt(e,t,a=yt()){return a("readwrite",(a=>(a.put(t,e),wt(a.transaction))))}function vt(e,t=yt()){return t("readwrite",(t=>(t.delete(e),wt(t.transaction))))}function St(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},wt(e.transaction)}function Pt(e=yt()){return e("readonly",(e=>{if(e.getAllKeys)return wt(e.getAllKeys());const t=[];return St(e,(e=>t.push(e.key))).then((()=>t))}))}const bt=(e,t="")=>e.toLowerCase().includes(t.toLowerCase()),kt=b&&ft("openfin-home-pages","pages");async function Wt(e){const t=await ht(e,kt);return t?(t.pageId=e.toString(),t.title=t.title||t.pageId,t):null}async function Ct(e){const t=await Pt(kt),a=await Promise.all(t.map((e=>Wt(e.toString()))));return e?a.filter((t=>bt(t.title,e))):a}async function It({page:e}){await mt(e.pageId,e,kt)}async function At(e){await vt(e,kt)}async function Mt({pageId:e,page:t}){if(void 0===await Wt(e))throw new Error("page not found");await It({page:t}),e!==t.pageId&&await At(e)}var Ot;!function(e){e.Label="normal",e.Separator="separator",e.Submenu="submenu",e.Checkbox="checkbox"}(Ot||(Ot={}));const Tt={type:Ot.Separator,data:void 0};var Et;!function(e){e.RegisterProvider="register-provider",e.DeregisterProvider="deregister-provider",e.CreateProviderWindow="create-provider-window",e.GetProviders="get-providers",e.ShowProviderWindow="show-provider-window",e.HideProviderWindow="hide-provider-window",e.GetStorefrontProviderApps="get-storefront-provider-apps",e.GetStorefrontProviderLandingPage="get-storefront-provider-landing-page",e.GetStorefrontProviderFooter="get-storefront-provider-footer",e.GetStorefrontProviderNavigation="get-storefront-provider-navigation",e.LaunchStorefrontProviderApp="launch-storefront-provider-app",e.ShowHome="show-home",e.HideHome="hide-home",e.AssignHomeSearchContext="assign-home-search-context",e.GetLegacyPages="get-legacy-pages",e.GetLegacyWorkspaces="get-legacy-workspaces",e.GetComputedPlatformTheme="get-computed-platform-theme",e.RegisterStorefrontProvider="register-storefront-provider",e.DeregisterStorefrontProvider="deregister-storefront-provider",e.HideStorefront="hide-storefront",e.ShowStorefront="show-storefront"}(Et||(Et={}));Te("__of_workspace_protocol__");const Bt=async(e,t)=>{const a=await(async e=>({...e,layoutDetails:{machineId:await pt(),machineName:ct()}}))(t);return{pageId:crypto.randomUUID(),title:e,layout:a,isReadOnly:!1,hasUnsavedChanges:!0}},xt=e=>({identity:e,openfinWindow:fin.Window.wrapSync(e),getPages:async()=>(await se(e)).dispatch(ne.GetPagesForWindow,e),getPage:async t=>(await se(e)).dispatch(ne.GetPageForWindow,{identity:e,pageId:t}),addPage:async t=>{const a=await se(e);t?.title||(t.title=await a.dispatch(ne.GetUniquePageTitle,void 0));const n=(await a.dispatch(ne.GetAllAttachedPages,void 0)).find((e=>e.pageId===t.pageId||e.title===t.title));if(n)throw n.pageId===t.pageId?new Error(`page with id ${t.pageId} is already attached to a browser window ${n.parentIdentity.name}`):new Error(`page with title ${t.title} is already attached to a browser window ${n.parentIdentity.name}`);const o={identity:e,pages:[t]};return a.dispatch(ne.AttachPagesToWindow,o)},removePage:async t=>(await se(e)).dispatch(ne.DetachPagesFromWindow,{identity:e,pageIds:[t]}),setActivePage:async t=>(await se(e)).dispatch(ne.SetActivePage,{identity:e,pageId:t}),updatePage:async t=>{const a=await se(e);return t.identity=e,a.dispatch(ne.UpdatePageForWindow,t)},reorderPages:async t=>{const a=await se(e);return t.identity=e,a.dispatch(ne.ReorderPagesForWindow,t)},_openGlobalContextMenu:async t=>{const a=await se(e);return t.identity=e,a.dispatch(ne.OpenGlobalContextMenuInternal,t)},replaceToolbarOptions:async t=>{await se(e);const a=fin.Window.wrapSync(e);await a.updateOptions({workspacePlatform:{toolbarOptions:t}})},replaceWindowStateButtonOptions:async t=>{await se(e);const a=fin.Window.wrapSync(e);await a.updateOptions({workspacePlatform:{windowStateButtonOptions:t}})},_openViewTabContextMenu:async t=>{const a=await se(e);return t.identity=e,a.dispatch(ne.OpenViewTabContextMenuInternal,t)},_openPageTabContextMenu:async t=>{const a=await se(e);return t.identity=e,a.dispatch(ne.OpenPageTabContextMenuInternal,t)},_openSaveModal:async t=>{await se(e);return(await xe(e)).dispatch(Le.OpenSaveModalInternal,t)},_openSaveButtonContextMenu:async t=>{const a=await se(e);return t.identity=e,a.dispatch(ne.OpenSaveButtonContextMenuInternal,t)}});let Rt=!1;const _t=e=>{const t=fin.Platform.wrapSync(e);return{wrapSync:e=>xt(e),createWindow:async a=>{await se(e),Rt||(Rt=!0,(async e=>{z(Q.Browser,e)})({allowed:!0}));const n=await t.createWindow(a);return xt(n.identity)},getAllAttachedPages:async()=>(await se(e)).dispatch(ne.GetAllAttachedPages,void 0),getAllWindows:async()=>{await se(e);return(await fin.Application.wrapSync(e).getChildWindows()).filter((e=>e.identity.name.includes("internal-generated-window-"))).map((e=>xt(e.identity)))},getUniquePageTitle:async t=>(await se(e)).dispatch(ne.GetUniquePageTitle,t),getLastFocusedWindow:async()=>(await se(e)).dispatch(ne.GetLastFocusedBrowserWindow,void 0)}},Lt=e=>({createPage:async t=>(await se(e)).dispatch(ne.CreateSavedPageInternal,t),deletePage:async t=>(await se(e)).dispatch(ne.DeleteSavedPageInternal,t),updatePage:async t=>(await se(e)).dispatch(ne.UpdateSavedPageInternal,t),getPage:async t=>(await se(e)).dispatch(ne.GetSavedPage,t),getPages:async t=>(await se(e)).dispatch(ne.GetSavedPages,t),savePage:async t=>(await se(e)).dispatch(ne.SavePage,t),createWorkspace:async t=>(await ie(e)).dispatch(ne.CreateSavedWorkspace,t),deleteWorkspace:async t=>(await ie(e)).dispatch(ne.DeleteSavedWorkspace,t),updateWorkspace:async t=>(await ie(e)).dispatch(ne.UpdateSavedWorkspace,t),getWorkspace:async t=>(await ie(e)).dispatch(ne.GetSavedWorkspace,t),getWorkspaces:async t=>(await ie(e)).dispatch(ne.GetSavedWorkspaces,t),saveWorkspace:async t=>(await ie(e)).dispatch(ne.SaveWorkspace,t)}),Vt=e=>({getThemes:async()=>(await ie(e)).dispatch(ne.GetThemes,void 0)}),Dt=e=>{const t=fin.Platform.wrapSync(e);return Object.assign(t,{applySnapshot:async(t,a)=>{if("string"!=typeof t&&!t?.windows)throw new Error("Not a valid browser snapshot");return fin.Platform.wrapSync(e).applySnapshot(t,a)},getSnapshot:()=>fin.Platform.wrapSync(e).getSnapshot().then((e=>e)),launchApp:async t=>{t.target||(t.target={uuid:W,name:C,entityType:I||"unknown"});return(await ie(e)).dispatch(ne.LaunchApp,t)},_invokeCustomAction:async(t,a)=>{const n=await ie(e),o={actionId:t,payload:{...a,callerType:a.callerType||h.API}};return n.dispatch(ne.InvokeCustomActionInternal,o)},_requestQuitPlatformDialog:async t=>(await ie(e)).dispatch(ne.RequestQuitPlatformDialogInternal,t),getCurrentWorkspace:async()=>(await ie(e)).dispatch(ne.GetCurrentWorkspace,void 0),applyWorkspace:async t=>(await ie(e)).dispatch(ne.ApplyWorkspace,t),setActiveWorkspace:async t=>(await ie(e)).dispatch(ne.SetActiveWorkspace,t),Theme:Vt(e),Browser:_t(e),Storage:Lt(e)})},Ut=()=>Dt(fin.me.identity),Ft=async(e=F)=>{const{workspacePlatform:t}=await U(e).getOptions(),a=t?.newPageUrl,n=t?.newTabUrl;return{newPageUrl:a,newTabUrl:n}},Gt=async(e=F)=>{const t=await Ut().Browser.getUniquePageTitle("Untitled Page"),a=await(async(e=F)=>{const{newPageUrl:t}=await Ft(e);if(!t)throw new Error("Trying to create a new page without a newPageUrl set");return We("New Tab",t,e)})(e);return Bt(t,a)},$t={type:Ot.Label,label:"Close Window",data:{type:u.CloseWindow}},Nt={type:Ot.Label,label:"Open Storefront",data:{type:u.OpenStorefront}},jt={type:Ot.Label,label:"Quit Platform",data:{type:u.Quit}},Ht={type:Ot.Label,label:"New Window",data:{type:u.NewWindow}},qt={type:Ot.Label,label:"Save Page",data:{type:u.SavePage}},Kt={type:Ot.Label,label:"Save Page As...",data:{type:u.SavePageAs}},Qt={type:Ot.Label,label:"Restore to Last Saved Changes",data:{type:u.RestoreChanges}},zt={type:Ot.Label,label:"Save Workspace",data:{type:u.SaveWorkspace}},Jt={type:Ot.Label,label:"Save Workspace As...",data:{type:u.SaveWorkspaceAs}},Xt={type:Ot.Label,label:"Rename Workspace",data:{type:u.RenameWorkspace}},Yt="Switch Workspace",Zt="Delete Workspace",ea=[$t,Tt,Nt,Tt,jt],ta=[Tt,$t,Tt,jt],aa=(e,t,a)=>t.map((t=>{const n=t.workspaceId===e.workspaceId;return{label:t.title,type:Ot.Checkbox,enabled:!n,checked:n,data:{type:a,workspaceId:t.workspaceId}}})),na=async e=>{const t=await K(),{newPageUrl:a}=await Ft(e),n=await(async e=>{const t=U(e),{workspacePlatform:a}=await t.getOptions();return a?.disableMultiplePages})(e),o=await(async e=>{const t=U(e),{workspacePlatform:a}=await t.getOptions();return a?.isLocked})(e),r=[];var i;a&&(r.push(Ht),n||r.push((i=!o,{type:Ot.Label,label:"New Page",data:{type:u.NewPage},enabled:i}))),r.push(Tt);const s=Ut(),c=await s.getCurrentWorkspace(),d=await s.Storage.getWorkspaces(),p=d.find((e=>e.workspaceId===c.workspaceId));return p?r.push(Qt):r.push({label:Qt.label,enabled:!1}),r.push(zt,Jt),p?r.push(Xt):r.push({label:Xt.label,enabled:!1}),d.some((e=>e.workspaceId!==c.workspaceId))?r.push({label:Yt,submenu:aa(c,d,u.SwitchWorkspace)},{label:Zt,submenu:aa(c,d,u.DeleteWorkspace)}):r.push({label:Yt,enabled:!1},{label:Zt,enabled:!1}),r.push(Tt,qt,Kt),t?[...r,...ea]:[...r,...ta]};let oa="Platform";const ra=async()=>oa;var ia,sa,ca;!function(e){e.Home="/home/",e.HomeSearch="/home/?deeplink=search",e.HomePagesRename="/home/pages/rename/",e.Dock="/dock/",e.BrowserPagesLanding="/browser/pages/landing/",e.HomeIndicator="/home/indicator/",e.Browser="/browser/",e.BrowserPopupMenu="/browser/popup-menu/",e.Provider="/provider/",e.BrowserPopupMenuSharePage="/browser/popup-menu/share-page/",e.BrowserPopupMenuSaveModal="/browser/popup-menu/save-modal/",e.BrowserPopupMenuLayouts="/browser/popup-menu/layouts/layouts/",e.BrowserPopupMenuColorLinking="/browser/popup-menu/color-linking/color-linking/",e.BrowserIndicator="/browser/indicator/",e.ResponseModal="/browser/popup-menu/response-modal/",e.Docs="/provider/docs/",e.Storefront="/storefront/",e.DeprecatedAlert="/provider/deprecated-alert/"}(ia||(ia={})),function(e){e.IconOpenFinLogo="/icons/openfinlogo.svg",e.IconFilter="/icons/filter.svg"}(sa||(sa={})),function(e){e.Search="search"}(ca||(ca={}));const da={...sa,...ia};var pa;!function(e){e.Home="/home",e.Browser="/browser",e.Provider="/provider",e.Storefront="/storefront",e.Dock="/dock"}(pa||(pa={}));const la="/workspace/9.0.7";function ua(){return la.substring(0,la.length-"".length)}function wa(e){if(!P)throw new Error("getAbsoluteRoutePath can only be used in a window");return function(){if(!window)throw new Error("getAbsoluteBasePath can only be used in a window");return`${window.origin}${ua()}`}()+e}const fa={name:V.BrowserMenu,alwaysOnTop:!0,autoShow:!1,frame:!1,resizable:!1,backgroundColor:"#2f3136",smallWindow:!0,showTaskbarIcon:!1,backgroundThrottling:!0};function ga(e){const t={...fa,...e};return t.url=function(e){if(!P)throw new Error("resolveAbsolutePath can only be used in a window");return e.startsWith("http")?e:`${window.origin}${e}`}(t.url),t}var ya,ha;!function(e){e.Update="update",e.Response="response"}(ya||(ya={})),function(e){e.Canceled="canceled",e.Negative="negative",e.Affirmative="affirmative"}(ha||(ha={}));const ma=function(e){const t=new Map;return{emit:Ce(t,(t=>S&&fin.InterApplicationBus.publish(e,t))),addListener:Ie(t,(t=>S&&fin.InterApplicationBus.subscribe({uuid:fin.me.uuid},e,t))),removeListener:Me(t),once:Ae(t)}}("window.menu"),va=e=>ma.emit(ya.Response,e),Sa=ve((()=>L().getChildWindows()),500);const Pa=new Map;async function ba({options:e,parameters:t},a){const n=ga(e),{name:o}=n;let r=await async function(e){return(await Sa()).find((t=>t.identity.name===e))}(o);return r||(r=await async function(e){const t=ga(e);if(!Pa.has(t.name)){const e=(async()=>{const e=await fin.Platform.getCurrentSync().createWindow(t);return e.once("closed",(()=>{Pa.delete(t.name)})),e})();Pa.set(t.name,e)}return Pa.get(t.name)}(n)),await async function(e,t){const a=ga(e),{top:n,left:o,defaultWidth:r,defaultHeight:i}=a,s={top:n,left:o,width:r,height:i},c={parentName:fin.Window.getCurrentSync().identity.name};for(const[e,a]of Object.entries(c))t.set(e,a);const d=t.toString(),p=`${a.url}?${d}`;ma.emit(ya.Update,a.name,s,p),await va({name:a.name,data:ha.Canceled})}(e,t||new URLSearchParams),a&&r.center(),r}const ka=async(e,t,a)=>{const n=t?U(t):G();if(!a){await(async(e=fin.me.identity)=>{const t=U(e),a=await t.getBounds();(a.right>screen.availLeft+screen.width||a.left<screen.availLeft||a.bottom>screen.availTop+screen.height||a.top<screen.availTop)&&await t.center()})(n.identity);const t=(e=>({left:(e.left+e.right)/2,top:(e.top+e.bottom)/2}))(await n.getBounds()),{defaultHeight:a,defaultWidth:o}=e;return((e,t)=>{const{height:a,width:n}=t,o=n/2,r=a/2;return{left:e.left-o,top:e.top-r}})(t,{height:a,width:o})}return await n.getBounds()},Wa=async({options:e,content:t},a)=>{const n=new URLSearchParams({...t});return await ba({options:e,parameters:n},a),new Promise((t=>{ma.once(ya.Response,(a=>{a.name===e.name&&t(a)}))}))},Ca=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Switch Workspace",windowOptions:{url:M+da.ResponseModal,name:V.BrowserMenu,defaultHeight:112,defaultWidth:424,modalParentIdentity:e},content:{title:`Are you sure you want to switch to ${t}`,body:"Any unsaved changes will be discarded",affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e,t),o=await ka(a,a.modalParentIdentity),r={...a,top:o.top,left:o.left};return(await Wa({options:r,content:n})).data===ha.Affirmative},Ia=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Delete Workspace",windowOptions:{url:M+da.ResponseModal,name:V.BrowserMenu,defaultHeight:144,defaultWidth:372,modalParentIdentity:e},content:{title:"Are you sure you want to permanently delete this workspace?",body:`${t}`,affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e,t),o=await ka(a,a.modalParentIdentity),r={...a,top:o.top,left:o.left};return(await Wa({options:r,content:n})).data===ha.Affirmative},Aa=async(e,t,a)=>{const n=a?void 0:e,{windowOptions:o,content:r}=await(async(e,t)=>({title:"Platform Quit",windowOptions:{url:M+da.ResponseModal,name:V.BrowserMenu,defaultHeight:134,defaultWidth:474,modalParentIdentity:t},content:{title:`Close the ${"Platform"===e?"platform":`${e} Platform`}?`,body:"Closing a platform will close any workspaces, apps or any processes that are running.",affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(t,n),i=await ka(o,o.modalParentIdentity),s={...o,top:i.top,left:i.left};return(await Wa({options:s,content:r},a)).data===ha.Affirmative},Ma=async e=>{const{windowOptions:t,content:a}=await(async e=>({title:"Restore Changes",windowOptions:{url:M+da.ResponseModal,name:V.BrowserMenu,defaultHeight:112,defaultWidth:424,modalParentIdentity:e},content:{title:"Are you sure you want to restore to last saved changes?",body:"Any unsaved changes will be discarded",affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e),n=await ka(t,t.modalParentIdentity),o={...t,top:n.top,left:n.left};return(await Wa({options:o,content:a})).data===ha.Affirmative};var Oa;!function(e){e.ERROR="error",e.SUCCESS="success",e.INFO="info"}(Oa||(Oa={}));const Ta={alwaysOnTop:!0,autoShow:!1,frame:!1,resizable:!1,showTaskbarIcon:!1};var Ea;!function(e){e.Locked="LockClosedIcon",e.Unlocked="LockOpen1Icon"}(Ea||(Ea={}));const Ba=function(e=Ta){const t=new Map;return async(a,n,o,r)=>{if(t.has(a)){const{currentUrl:e,currentName:o}=t.get(a);if(e===n)return;const r=fin.Window.wrapSync({uuid:fin.me.uuid,name:o});await r.close()}const i=`${V.HomeInternal}-${Date.now()}${Math.random()}`;t.set(a,{currentUrl:n,currentName:i});const s=await fin.Platform.getCurrentSync().createWindow({...e,name:i,url:n});((e,t)=>{const a=document.createElement("div");a.setAttribute("aria-live",t||"polite"),(e=>{e.style.position="absolute",e.style.width="1px",e.style.height="1px",e.style.padding="0",e.style.margin="-1px",e.style.overflow="hidden",e.style.whiteSpace="nowrap",e.style.border="0"})(a),document.body.appendChild(a),setTimeout((()=>{a.innerHTML=e}),100),setTimeout((()=>{document.body.removeChild(a)}),1e3)})(`New ${r} indicator: ${o}`),s.once("closed",(()=>{t.delete(a)}))}}();async function xa(e,t,a,n){const o=new URLSearchParams;o.append("type",e),o.append("message",t),o.append("parentName",a||""),o.append("icon",n||"");const r=`${wa(da.BrowserIndicator)}?${o.toString()}`;return Ba("browser"+a,r,t,e)}function Ra(e,t,a){return xa(Oa.SUCCESS,e,t,a)}const _a=async e=>{const t=Ut(),a=await t.getCurrentWorkspace(),n=await t.Storage.getWorkspaces(),o=a.workspaceId;if(n.some((e=>e.workspaceId===o)))t.Storage.saveWorkspace(a),t.setActiveWorkspace(a),Ra("Workspace Saved",e.name);else{t.Browser.wrapSync(e)._openSaveModal({menuType:m.SAVE_WORKSPACE})}},La=e=>{Ut().Browser.wrapSync(e)._openSaveModal({menuType:m.SAVE_WORKSPACE_AS})},Va=async(e,t)=>{const a=Ut().Browser.wrapSync(e),n=await Ut().Storage.getPages(),o=(await a.getPages()).find((e=>t?e.pageId===t:e.isActive)),r=n.some((e=>o.pageId===e.pageId));if(r)try{await Ut().Storage.savePage((d=o,{...d,hasUnsavedChanges:void 0,parentIdentity:void 0,isActive:void 0})),await a.updatePage({pageId:o.pageId,page:{hasUnsavedChanges:!1}}),Ra("Page saved",o.parentIdentity.name)}catch{i="Page failed to save",s=o.parentIdentity.name,xa(Oa.ERROR,i,s,c)}else a._openSaveModal({id:o.pageId,menuType:m.SAVE_PAGE});var i,s,c,d},Da=async(e,t)=>{const a=Ut().Browser.wrapSync(e),n=(await a.getPages()).find((e=>t?e.pageId===t:e.isActive));a._openSaveModal({id:n.pageId,menuType:m.SAVE_PAGE_AS})},Ua=async(e,t)=>{if(!e)return;const a=t.identity,n=await xe(a),o=Ut().Browser.wrapSync(t.identity);switch(e.type){case u.NewWindow:const{newPageUrl:t}=await Ft(a);if(!t)throw new Error("Trying to create a new empty window without a newPageUrl set");Ut().createView({target:void 0,url:t});break;case u.NewPage:await(async e=>{const t=Ut().Browser.wrapSync(e),a=await Gt(e);await t.addPage(a),await t.setActivePage(a.pageId)})(a);break;case u.CloseWindow:n.dispatch(Le.CloseBrowserWindow);break;case u.SaveWorkspace:await _a(a);break;case u.SavePage:await Va(a);break;case u.SavePageAs:await Da(a);break;case u.SaveWorkspaceAs:await La(a);break;case u.RenameWorkspace:o._openSaveModal({menuType:m.RENAME_WORKSPACE});break;case u.SwitchWorkspace:await(async(e,t)=>{const a=Ut(),n=(await a.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId));n&&await Ca(e,n.title)&&(await a.applyWorkspace(n),Ra("Workspace Switched!",null))})(a,e);break;case u.DeleteWorkspace:await(async(e,t)=>{const a=Ut(),n=(await a.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId));n&&await Ia(e,n.title)&&(await a.Storage.deleteWorkspace(t.workspaceId),Ra("Workspace Deleted!",e.name))})(a,e);break;case u.Quit:const r=await ra();await Aa(a,r)&&fin.Platform.getCurrentSync().quit();break;case u.OpenStorefront:(async()=>{await K()&&N($)})();break;case u.RestoreChanges:const i=await async function(){const e=Ut(),t=await e.getCurrentWorkspace();return(await e.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId))}();await Ma(a)&&await le(i);break;case u.Custom:if(e.action){const t={callerType:h.GlobalContextMenu,windowIdentity:a,customData:e.action.customData};Ut()._invokeCustomAction(e.action.id,t)}}},Fa=async(e,t)=>{const a=await xe(t.identity),n=Ut();switch(e?.type){case w.Save:await Va(t.identity,t.pageId);break;case w.SaveAs:await Da(t.identity,t.pageId);break;case w.Rename:await n.Browser.wrapSync(t.identity)._openSaveModal({menuType:m.RENAME_PAGE,id:t.pageId});break;case w.Duplicate:a.dispatch(Le.DuplicatePage,t.pageId);break;case w.Close:a.dispatch(Le.ClosePage,t.pageId);break;case w.Custom:if(e.action){const a={callerType:h.PageTabContextMenu,windowIdentity:t.identity,pageId:t.pageId,customData:e.action.customData};Ut()._invokeCustomAction(e.action.id,a)}}},Ga=async(e,t)=>{if(e?.type){const a=t.identity;switch(e.type){case y.SavePage:await Va(a);break;case y.SaveWorkspace:await _a(a);break;case y.SavePageAs:await Da(a);break;case y.SaveWorkspaceAs:await La(a);break;case y.Custom:if(e.action){const a={callerType:h.SaveButtonContextMenu,windowIdentity:t.identity,pageId:t.pageId,customData:e.action.customData};Ut()._invokeCustomAction(e.action.id,a)}}}},$a=async(e,t)=>{const a=t.selectedViews[0],n=fin.View.wrapSync(a),o=await(async e=>{const{newTabUrl:t}=await Ft(e);if(!t)throw new Error("Trying to create a new page without a newTabUrl set");return{...We("New View",t),url:t,target:e}})(e);await Ut().createView(o,e,n.identity)},Na=async(e,t)=>{const a=await(e=>Promise.all(e.map((async e=>fin.View.wrapSync(e).getInfo()))))(t),{newPageUrl:n,newTabUrl:o}=await Ft(e);a.forEach((async e=>{e.url!==n&&e.url!==o&&await fin.System.openUrlWithBrowser(e.url)}))},ja=(e,t)=>{t.forEach((async t=>{const a=fin.View.wrapSync(t);await(async(e,t)=>{const{url:a}=await t.getInfo(),n={...await t.getOptions(),url:a,target:e,name:void 0};await Ut().createView(n,e,t.identity)})(e,a)}))},Ha=async(e,t)=>{if(!e)return;const a=t.identity;switch(e.type){case f.CloseViews:await(async(e,t)=>{if((await fin.Window.wrapSync(e).getCurrentViews()).length!==t.length)t.forEach((async e=>{const t=fin.View.wrapSync(e);await t.destroy()}));else{const t=(await Ut().Browser.wrapSync(e).getPages()).find((e=>e.isActive));(await xe(e)).dispatch(Le.ClosePage,t?.pageId)}})(a,t.selectedViews);break;case f.OpenWithDefaultBrowser:await Na(a,t.selectedViews);break;case f.ReloadViews:t.selectedViews.forEach((async e=>{const t=fin.View.wrapSync(e);await t.reload()}));break;case f.NewView:await $a(a,t);break;case f.DuplicateViews:ja(a,t.selectedViews);break;case f.AddToChannel:(async(e,t,a)=>{const n={newChannelId:t,selectedViews:a};(await xe(e)).dispatch(Le.AddToChannel,n)})(a,e.option,t.selectedViews);break;case f.RemoveFromChannel:(async(e,t)=>{(await xe(e)).dispatch(Le.RemoveFromChannel,t)})(a,t.selectedViews);break;case f.Custom:if(e.action){const n={callerType:h.ViewTabContextMenu,windowIdentity:a,selectedViews:t.selectedViews,customData:e.action.customData};Ut()._invokeCustomAction(e.action.id,n)}}};async function qa(e,t){const a=await na(e.identity),n=await ra();a.find((e=>e.data?.type===u.Quit)).label=`Quit ${n}`;const o={...e,template:a,callback:Ua};await this.openGlobalContextMenu(o,t)}const Ka=async(e,t)=>{const{x:a,y:n,identity:o,template:r,callback:i}=e,{data:s}=await function(e,t){if(!S)throw new Error("showContextMenu can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");if(!t&&!fin.me.isWindow)throw new Error("showContextMenu can only be used in an OpenFin window.");return(t||fin.Window.getCurrentSync()).showPopupMenu(e)}({x:a,y:n,template:r},fin.Window.wrapSync(o));i(s,e)};async function Qa(e,t){const a={...e,callback:Ha};await this.openViewTabContextMenu(a,t)}async function za(e,t){const a=await(async(e,t)=>{const a=await Ut().Storage.getPage(e),n=(await Fe()).find((t=>t.pageId===e)),{workspacePlatform:o}=await U(t).getOptions(),r=!(o.isLocked||o.preventPageClose||n.closeButton?.disabled||n.closeButton?.hidden);return[{type:Ot.Label,label:"Save Page",data:{type:w.Save}},{type:Ot.Label,label:"Save Page As",data:{type:w.SaveAs}},Tt,{type:Ot.Label,label:"Rename Page",data:{type:w.Rename},enabled:!!a},{type:Ot.Label,label:"Duplicate Page",data:{type:w.Duplicate},enabled:!o.isLocked},Tt,{type:Ot.Label,label:"Close Page",data:{type:w.Close},enabled:r}]})(e.pageId,e.identity),n={...e,template:a,callback:Fa};await this.openPageTabContextMenu(n,t)}async function Ja(e,t){const a={...e,template:await(async()=>[{type:Ot.Label,label:"Save Workspace",data:{type:y.SaveWorkspace}},{type:Ot.Label,label:"Save Workspace As",data:{type:y.SaveWorkspaceAs}},{type:Ot.Separator,data:void 0},{type:Ot.Label,label:"Save Page",data:{type:y.SavePage}},{type:Ot.Label,label:"Save Page As",data:{type:y.SavePageAs}}])(),callback:Ga};await this.openSaveButtonContextMenu(a,t)}const Xa=b&&ft("openfin-workspace-platform-workspaces","workspaces");async function Ya(e){const t=await ht(e,Xa);return t?(t.workspaceId=e.toString(),t.title=t.title||t.workspaceId,t):null}async function Za(e){const t=await Pt(Xa),a=await Promise.all(t.map((e=>Ya(e.toString()))));return e?a.filter((t=>bt(t.title,e))):a}async function en({workspace:e}){await mt(e.workspaceId,e,Xa)}async function tn(e){await vt(e,Xa)}async function an({workspaceId:e,workspace:t}){if(void 0===await Ya(e))throw new Error("workspace not found");await en({workspace:t}),e!==t.workspaceId&&await tn(e)}async function nn({app:e,target:t}){const a=fin.Platform.getCurrentSync();switch(e.manifestType){case c.Snapshot:return a.applySnapshot(e.manifest);case c.View:return async function(e,t){const a=fin.Platform.getCurrentSync();if("view"===t.entityType){const a=fin.View.wrapSync(t),n=await a.getParentLayout();return await n.replaceView(t,{manifestUrl:e.manifest,url:void 0,target:void 0}),a.destroy()}return a.createView({name:void 0,url:void 0,manifestUrl:e.manifest,target:void 0})}(e,t);case c.External:return fin.System.launchExternalProcess({path:e.manifest,uuid:e.appId});default:return fin.Application.startFromManifest(e.manifest)}}const on=e=>e&&"object"==typeof e&&!Array.isArray(e);function rn(e,...t){if(!t.length)return e;const a=t.shift();return on(e)&&on(a)&&Object.entries(a).forEach((([t,a])=>{if(on(a))return e[t]||(e[t]={}),rn(e[t],a);e[t]=a})),rn(e,...t)}const sn=M+da.Browser;function cn(e,t){const a=rn({},t,e);return a.detachOnClose=!0,a}async function dn(e,t,a){const n=e.manifestUrl?await t({manifestUrl:e.manifestUrl},a):void 0;if(n?.interop&&e.interop){const t={...e,...n,interop:e.interop};return delete t.manifestUrl,t}return e}const pn=e=>{const t=e.name===V.Home,a=e.name?.startsWith(V.HomeInternal),n=e.name?.startsWith(V.BrowserMenu);return!t&&!a&&!n},ln=e=>"workspacePlatform"in e?e:(({workstacks:e,pages:t,...a})=>({...a,workspacePlatform:{pages:t||e||null}}))(e),un={contextMenuSettings:{reload:!1},backgroundThrottling:!0,url:sn,contextMenu:!0,closeOnLastViewRemoved:!1,experimental:{showFavicons:!0,defaultFaviconUrl:`${M}/icons/defaultFavicon.svg`},permissions:{System:{openUrlWithBrowser:{enabled:!0,protocols:["mailto"]}}}},wn={dimensions:{borderWidth:3,headerHeight:30}},fn=async(e,t)=>{const a=await Ut().Storage.getPages(),n=await Ut().Browser.getAllAttachedPages();return e.map((e=>{let o=e.title;void 0===e.pageId&&(e.pageId=crypto.randomUUID());const r=a.find((e=>e.title===o));return(r&&r.pageId!==e.pageId||n.find((e=>e.title===o)))&&(o=pe(e.title,[...a,...n].map((e=>e.title)))),n.push({...e,title:o}),{...t,...e,title:o,layout:(i=e.layout,Pe({...i},be))};var i}))};var gn;!function(e){e.Browser="browser",e.Platform="platform",e.Classic="classic",e.Mixed="mixed"}(gn||(gn={}));const yn=e=>{const t=fin.Window.wrapSync(e);return Promise.all([t.bringToFront(),t.restore(),t.focus()])};async function hn(e){const t=(await H()).map((async e=>{const t=await e.getOptions();t.workspacePlatform?.pages&&t.layout&&await(async e=>(await xe(e)).dispatch(Le.UpdatePagesWindowOptions))(e.identity)}));return await Promise.all(t),e?e():ut()}const mn=async e=>{await Aa(fin.me.identity,e.title??await ra(),e.shouldCenterOnMonitor)&&fin.Platform.getCurrentSync().quit()};let vn=[];const Sn=()=>vn;const Pn=(e,t)=>async a=>{const n=null!==e;class o extends a{constructor(){super(),this.isWorkspacePlatform=()=>({isWorkspacePlatform:!0,isBrowserInitialized:!!e}),this.addPage=this.attachPagesToWindow,this.detachPagesFromWindow=Je,this.getAllAttachedPages=Fe,this.getPagesForWindow=Ye,this.getPageForWindow=Ze,this.setActivePage=Xe,this.launchApp=nn,this.savePage=Ke,this.saveWorkspace=ge,this.createSavedPageInternal=je,this.updateSavedPageInternal=qe,this.deleteSavedPageInternal=He,this.reorderPagesForWindow=et,this.getUniquePageTitle=tt,this.updatePageForWindow=ze,this.getLastFocusedBrowserWindow=he,this.getThemes=Sn,this.invokeCustomActionInternal=st,this.requestQuitPlatformDialogInternal=mn,this.getCurrentWorkspace=fe,this.applyWorkspace=le,this.setActiveWorkspace=ue,this.openGlobalContextMenuInternal=this.openGlobalContextMenuInternal.bind(this),this.openGlobalContextMenu=this.openGlobalContextMenu.bind(this),this.getSavedPages=this.getSavedPages.bind(this),this.getSavedPage=this.getSavedPage.bind(this),this.createSavedPage=this.createSavedPage.bind(this),this.updateSavedPage=this.updateSavedPage.bind(this),this.deleteSavedPage=this.deleteSavedPage.bind(this),this.attachPagesToWindow=this.attachPagesToWindow.bind(this),this.openViewTabContextMenuInternal=this.openViewTabContextMenuInternal.bind(this),this.openViewTabContextMenu=this.openViewTabContextMenu.bind(this),this.openPageTabContextMenuInternal=this.openPageTabContextMenuInternal.bind(this),this.openPageTabContextMenu=this.openPageTabContextMenu.bind(this),this.getSavedWorkspaces=this.getSavedWorkspaces.bind(this),this.getSavedWorkspace=this.getSavedWorkspace.bind(this),this.createSavedWorkspace=this.createSavedWorkspace.bind(this),this.updateSavedWorkspace=this.updateSavedWorkspace.bind(this),this.deleteSavedWorkspace=this.deleteSavedWorkspace.bind(this),this.getCurrentWorkspace=this.getCurrentWorkspace.bind(this),this.applyWorkspace=this.applyWorkspace.bind(this),this.setActiveWorkspace=this.setActiveWorkspace.bind(this),this.openSaveButtonContextMenu=this.openSaveButtonContextMenu.bind(this),this.openSaveButtonContextMenuInternal=this.openSaveButtonContextMenuInternal.bind(this)}async getSnapshot(){const e=n?await hn((async()=>ut(await super.getSnapshot(void 0,fin.me.identity)))):await ut(await super.getSnapshot(void 0,fin.me.identity));return{...e,windows:e.windows.filter(pn).map(lt)}}async applySnapshot({snapshot:e,options:t}){const a=e=>super.applySnapshot({snapshot:e,options:{...t,closeExistingWindows:!1}});let o=e;"string"==typeof o&&(o=await super.fetchManifest({manifestUrl:o},fin.me.identity));const r=function(e){let t=!1,a=!1;for(const n of e.windows){if(t&&a)break;n.workspacePlatform?.pages?.length?a=!0:n.layout&&(t=!0)}return t&&a?gn.Mixed:t?gn.Platform:a?gn.Browser:e.windows.length?gn.Classic:null}(o);if(r===gn.Mixed)throw new Error("This snapshot cannot be applied as it contains a mixture of browser and platform windows.");if(n)gn.Platform;else if(r===gn.Browser)throw new Error("This snapshot cannot be applied as the platform has been initialized without the browser.");return t?.closeExistingWindows&&await async function(){const e=await H();await Promise.all(e.map((e=>e.close(!0).catch((()=>{})))))}(),n?async function(e,t){const a=await Fe(),n=e.snapshotDetails?.monitorInfo||await fin.System.getMonitorInfo(),[o,r]=(e.windows||[]).reduce((([e,t],a)=>a?.workspacePlatform?.pages?.length?[[...e,a],t]:[e,[...t,a]]),[[],[]]),i=new Map;a.forEach((e=>i.set(e.pageId,e)));const s=[],c=o.map((async e=>{const t=ln(e),a=[],n=(e=>{let t=!1;const a=(e||[]).map((e=>{const a=function({id:e,name:t,...a}){return{pageId:e,title:t,...a}}(e);return t&&a.isActive&&(a.isActive=!1),a.isActive&&(t=!0),a}));return!t&&a.length&&(a[0].isActive=!0),a})(t?.workspacePlatform?.pages);if(!n?.length){const e=await tt();a.push(await Bt(e,t.layout))}let o;n.forEach((e=>{const t=i.get(e.pageId);t?o=t:a.push(e)})),o&&await Promise.all([Xe({identity:o.parentIdentity,pageId:o.pageId}),yn(o.parentIdentity)]),a.length&&s.push({...t,workspacePlatform:{...t.workspacePlatform,pages:a}})}));if(await Promise.all(c),!s.length&&!r.length)return;const d=fin.Platform.getCurrentSync();return(t||d.applySnapshot.bind(d))({...e,snapshotDetails:{...e.snapshotDetails,monitorInfo:n},windows:[...s,...r]})}(o,a):a(o)}async createWindow(t,a){t.workspacePlatform?.toolbarOptions?.buttons&&(e=>{const t=e.filter((e=>e.type!==g.Custom)),a=new Set;for(const e of t){if(a.has(e.type))throw new Error(`Encountered a duplicate of ${e.type} button. No more than one instance of a button type may be provided.`);a.add(e.type)}})(t.workspacePlatform.toolbarOptions.buttons);let o=ln(t);if(n){const t=this.getThemes();o=await(async(e,t,a)=>{let n=e;const o=n?.workspacePlatform?.pages;if(o){const e=o.find((e=>e.isActive));e?n.layout=e.layout:(o[0].isActive=!0,n.layout=o[0].layout)}if(n.layout){if(n=rn({},t.defaultWindowOptions,n,un),n.layout=rn(n.layout,wn),(n.icon||n.taskbarIcon)&&(n.taskbarIconGroup=n.taskbarIconGroup||fin.me.identity.uuid),!n.backgroundColor){const e=a?.palette;n.backgroundColor=e?.background2||e?.backgroundPrimary}const e=n.workspacePlatform.newTabUrl;if(e&&(n.layout.settings||(n.layout.settings={}),n.layout.settings.newTabButton={url:e}),n=((e,t)=>{const a=e;return a.workspacePlatform||(a.workspacePlatform={}),a.workspacePlatform._internalDeferShowOptions={setAsForeground:!!t,deferShowEnabled:!0,autoShow:a.workspacePlatform?._internalAutoShow||a.workspacePlatform?._internalDeferShowOptions?.autoShow||void 0===a.autoShow||a.autoShow},a.autoShow=!1,a})(n,!0),!n.workspacePlatform.pages?.length){const e=await tt("Untitled Page"),t={...await Bt(e,n.layout),isActive:!0};n.workspacePlatform.pages=[t]}}return n.workspacePlatform?.pages&&(n.workspacePlatform.pages=await fn(n.workspacePlatform.pages,t?.defaultPageOptions)),n.cornerRounding&&delete n.cornerRounding,n})(o,e,t[0])}o=await(async e=>{const t=await fin.System.getMonitorInfo(),a=t.primaryMonitor.availableRect.bottom-t.primaryMonitor.availableRect.top,n=t.primaryMonitor.availableRect.right-t.primaryMonitor.availableRect.left;return e.defaultHeight=e.defaultHeight||"800",e.defaultWidth=e.defaultWidth||"800",a<e.defaultHeight&&(e.defaultHeight=a),n<e.defaultWidth&&(e.defaultWidth=n),e})(o);const r=(e,t)=>super.createWindow(e,t),i=n?(e=>async(t,a)=>{let n=!1;const o=await e(t,a);return t?.workspacePlatform?._internalDeferShowOptions?.deferShowEnabled?(await o.addListener(D.ShowRequested,(async()=>{if(n)return;const e=await o.getOptions();await o.updateOptions({workspacePlatform:{...e.workspacePlatform,_internalDeferShowOptions:{...e.workspacePlatform._internalDeferShowOptions,autoShow:!0}}}),n=!0})),o):o})(r):r;return i(o,a)}async createView(t,a){return t.opts=cn(t.opts,e?.defaultViewOptions),t.opts=await dn(t.opts,this.fetchManifest,a),super.createView(t,a)}async replaceView(t,a){return t.opts.newView=await cn(t.opts.newView,e?.defaultViewOptions),t.opts.newView=await dn(t.opts.newView,this.fetchManifest,a),super.replaceView(t,a)}async replaceLayout(e,t){return delete e.opts.layout?.dimensions,super.replaceLayout(e,t)}async closeView(e,t){const a=fin.View.wrapSync(e.view);await super.closeView(e,t),await a.destroy().catch((e=>e))}async getSavedPage(...e){return Wt.apply(this,e)}async getSavedPages(...e){return Ct.apply(this,e)}async createSavedPage(...e){return It.apply(this,e)}async deleteSavedPage(...e){return At.apply(this,e)}async updateSavedPage(...e){return Mt.apply(this,e)}async getSavedWorkspace(...e){return Ya.apply(this,e)}async getSavedWorkspaces(...e){return Za.apply(this,e)}async createSavedWorkspace(...e){return en.apply(this,e)}async deleteSavedWorkspace(...e){return tn.apply(this,e)}async updateSavedWorkspace(...e){return an.apply(this,e)}async attachPagesToWindow(t){t.pages=await fn(t.pages,e?.defaultPageOptions),await Qe(t)}async openGlobalContextMenuInternal(...e){return qa.apply(this,e)}async openGlobalContextMenu(...e){return Ka.apply(this,e)}async openViewTabContextMenuInternal(...e){return Qa.apply(this,e)}async openViewTabContextMenu(...e){return Ka.apply(this,e)}async openPageTabContextMenuInternal(...e){return za.apply(this,e)}async openPageTabContextMenu(...e){return Ka.apply(this,e)}async openSaveButtonContextMenu(...e){return Ka.apply(this,e)}async openSaveButtonContextMenuInternal(...e){return Ja.apply(this,e)}}return"function"==typeof t?t(o):new o};async function bn(){!function(){const e=L();e.addListener(B.WindowOptionsChanged,ot),e.addListener(B.WindowClosed,rt),e.addListener(B.WindowCreated,rt),fin.InterApplicationBus.subscribe({uuid:fin.me.identity.uuid},"browser-window-ready",rt)}(),async function(){const e=fin.Application.getCurrentSync();await e.addListener("window-focused",me)}();ue(await we())}let kn;function Wn({overrideCallback:e,interopOverride:t,browser:a}){if(!S)throw new Error("Cannot be used outside an OpenFin env.");if(!kn){fin.Platform.getCurrentSync().once("platform-api-ready",(()=>bn())),a?.title&&(n=a.title,oa=n),kn=fin.Platform.init({overrideCallback:Pn(a,e||a?.overrideCallback),interopOverride:t||a?.interopOverride}),(async e=>{z(Q.Platform,e)})({allowed:!0})}var n;return kn}const Cn=async({theme:e,customActions:t,...a})=>{const n=O.split(".").map((e=>parseInt(e))),o=await(async e=>new Promise((async t=>{(await Y()).disableRuntimeValidation&&t(!0);const a=(await fin.System.getVersion()).split(".").map((e=>parseInt(e)));t(e.every(((t,n)=>!(n<3)||a[n]===e[n])))})))(n);var r;if(e&&((r=e).forEach((e=>{const t=e.palette.backgroundPrimary;if(!t.includes("#")&&!t.includes("rgb")&&!t.includes("hsl"))throw new Error("Background primary color is not the right format.")})),vn=r,(async e=>{z(Q.Theming,e)})({allowed:!0})),t&&(it=t),o)return Wn(a);throw new Error(`Runtime version is not supported. ${n[0]}.${n[1]}.${n[2]}.* is required`)}})(),module.exports=n})();
|
|
2
|
+
(()=>{"use strict";var e={525:e=>{var t=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function o(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},a=0;a<10;a++)t["_"+String.fromCharCode(a)]=a;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,r){for(var i,s,c=o(e),d=1;d<arguments.length;d++){for(var p in i=Object(arguments[d]))a.call(i,p)&&(c[p]=i[p]);if(t){s=t(i);for(var l=0;l<s.length;l++)n.call(i,s[l])&&(c[s[l]]=i[s[l]])}}return c}},535:(e,t,a)=>{var n=a(525),o=60103,r=60106;var i=60109,s=60110,c=60112;var d=60115,p=60116;if("function"==typeof Symbol&&Symbol.for){var l=Symbol.for;o=l("react.element"),r=l("react.portal"),l("react.fragment"),l("react.strict_mode"),l("react.profiler"),i=l("react.provider"),s=l("react.context"),c=l("react.forward_ref"),l("react.suspense"),d=l("react.memo"),p=l("react.lazy")}var u="function"==typeof Symbol&&Symbol.iterator;function w(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var f={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g={};function y(e,t,a){this.props=e,this.context=t,this.refs=g,this.updater=a||f}function h(){}function m(e,t,a){this.props=e,this.context=t,this.refs=g,this.updater=a||f}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(w(85));this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},h.prototype=y.prototype;var v=m.prototype=new h;v.constructor=m,n(v,y.prototype),v.isPureReactComponent=!0;var S={current:null},P=Object.prototype.hasOwnProperty,b={key:!0,ref:!0,__self:!0,__source:!0};function k(e,t,a){var n,r={},i=null,s=null;if(null!=t)for(n in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)P.call(t,n)&&!b.hasOwnProperty(n)&&(r[n]=t[n]);var c=arguments.length-2;if(1===c)r.children=a;else if(1<c){for(var d=Array(c),p=0;p<c;p++)d[p]=arguments[p+2];r.children=d}if(e&&e.defaultProps)for(n in c=e.defaultProps)void 0===r[n]&&(r[n]=c[n]);return{$$typeof:o,type:e,key:i,ref:s,props:r,_owner:S.current}}function W(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var C=/\/+/g;function I(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function A(e,t,a,n,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var c=!1;if(null===e)c=!0;else switch(s){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case o:case r:c=!0}}if(c)return i=i(c=e),e=""===n?"."+I(c,0):n,Array.isArray(i)?(a="",null!=e&&(a=e.replace(C,"$&/")+"/"),A(i,t,a,"",(function(e){return e}))):null!=i&&(W(i)&&(i=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,a+(!i.key||c&&c.key===i.key?"":(""+i.key).replace(C,"$&/")+"/")+e)),t.push(i)),1;if(c=0,n=""===n?".":n+":",Array.isArray(e))for(var d=0;d<e.length;d++){var p=n+I(s=e[d],d);c+=A(s,t,a,p,i)}else if(p=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=u&&e[u]||e["@@iterator"])?e:null}(e),"function"==typeof p)for(e=p.call(e),d=0;!(s=e.next()).done;)c+=A(s=s.value,t,a,p=n+I(s,d++),i);else if("object"===s)throw t=""+e,Error(w(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return c}function M(e,t,a){if(null==e)return e;var n=[],o=0;return A(e,n,"","",(function(e){return t.call(a,e,o++)})),n}function O(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var T={current:null};function E(){var e=T.current;if(null===e)throw Error(w(321));return e}},378:(e,t,a)=>{a(535)}},t={};function a(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,a),r.exports}a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{var e,t,o,r,i,s,c,d;a.r(n),a.d(n,{AppManifestType:()=>c,BrowserButtonType:()=>g,CustomActionCallerType:()=>h,GlobalContextMenuOptionType:()=>u,PageTabContextMenuOptionType:()=>w,SaveButtonContextMenuOptionType:()=>y,SaveModalType:()=>m,ViewTabMenuOptionType:()=>f,getCurrentSync:()=>Ut,init:()=>Cn,wrapSync:()=>Dt}),function(e){e.Fetching="fetching",e.Fetched="fetched",e.Complete="complete"}(e||(e={})),function(e){e.UserAction="user-action",e.FocusChange="focus-change",e.Reload="reload"}(t||(t={})),function(e){e.Active="active",e.Default="default"}(o||(o={})),function(e){e.Suggestion="suggestion"}(r||(r={})),function(e){e.Contact="Contact",e.Custom="Custom",e.List="List",e.Plain="Plain",e.SimpleText="SimpleText",e.Loading="Loading",e.Error="Error"}(i||(i={})),function(e){e.MultiSelect="MultiSelect"}(s||(s={})),function(e){e.Snapshot="snapshot",e.Manifest="manifest",e.View="view",e.External="external"}(c||(c={})),function(e){e.LandingPage="landingPage",e.AppGrid="appGrid"}(d||(d={}));var p,l,u,w,f,g,y,h,m,v;!function(e){e.Primary="primary",e.Secondary="secondary",e.TextOnly="textOnly"}(p||(p={})),function(e){e.ActionButton="ActionButton",e.DropdownButton="DropdownButton"}(l||(l={})),function(e){e.NewWindow="NewWindow",e.NewPage="NewPage",e.SavePage="SavePage",e.SavePageAs="SavePageAs",e.CloseWindow="CloseWindow",e.RestoreChanges="RestoreChanges",e.SaveWorkspace="SaveWorkspace",e.SaveWorkspaceAs="SaveWorkspaceAs",e.RenameWorkspace="RenameWorkspace",e.SwitchWorkspace="SwitchWorkspace",e.DeleteWorkspace="DeleteWorkspace",e.OpenStorefront="OpenStorefront",e.Quit="Quit",e.Custom="Custom"}(u||(u={})),function(e){e.Close="Close",e.Duplicate="Duplicate",e.Rename="Rename",e.Save="Save",e.SaveAs="Save As",e.Custom="Custom"}(w||(w={})),function(e){e.NewView="NewView",e.DuplicateViews="DuplicateView",e.OpenWithDefaultBrowser="OpenWithDefaultBrowser",e.ReloadViews="ReloadTab",e.CloseViews="CloseTab",e.AddToChannel="AddToChannel",e.RemoveFromChannel="RemoveFromChannel",e.Custom="Custom"}(f||(f={})),function(e){e.ShowHideTabs="ShowHideTabs",e.ColorLinking="ColorLinking",e.PresetLayouts="PresetLayouts",e.LockUnlockPage="LockUnlockPage",e.SaveMenu="SaveMenu",e.SavePage="SavePage",e.Minimise="Minimise",e.Maximise="Maximise",e.Close="Close",e.Custom="Custom"}(g||(g={})),function(e){e.SavePage="SavePage",e.SaveWorkspace="SaveWorkspace",e.SavePageAs="SavePageAs",e.SaveWorkspaceAs="SaveWorkspaceAs",e.Custom="Custom"}(y||(y={})),function(e){e.CustomButton="CustomButton",e.CustomDropdownItem="CustomDropdownItem",e.GlobalContextMenu="GlobalContextMenu",e.ViewTabContextMenu="ViewTabContextMenu",e.PageTabContextMenu="PageTabContextMenu",e.SaveButtonContextMenu="SaveButtonContextMenu",e.API="API"}(h||(h={})),function(e){e.SAVE_PAGE="SAVE_PAGE",e.SAVE_WORKSPACE="SAVE_WORKSPACE",e.SAVE_PAGE_AS="SAVE_PAGE_AS",e.SAVE_WORKSPACE_AS="SAVE_WORKSPACE_AS",e.RENAME_PAGE="RENAME_PAGE",e.RENAME_WORKSPACE="RENAME_WORKSPACE"}(m||(m={})),function(e){e.Local="local",e.Dev="dev",e.Staging="staging",e.Prod="prod"}(v||(v={}));const S="undefined"!=typeof window&&"undefined"!=typeof fin,P=("undefined"==typeof process||process.env?.JEST_WORKER_ID,"undefined"!=typeof window),b=P&&"undefined"!=typeof indexedDB,k=P?window.origin:v.Local,W=S&&fin.me.uuid,C=S&&fin.me.name,I=S&&fin.me.entityType,A=(v.Local,v.Dev,v.Staging,v.Prod,e=>e.startsWith("http://")||e.startsWith("https://")?e:k+e),M=(A("https://cdn.openfin.co/workspace/9.0.8"),A("https://cdn.openfin.co/workspace/9.0.8")),O=("undefined"!=typeof WORKSPACE_DOCS_PLATFORM_URL&&A(WORKSPACE_DOCS_PLATFORM_URL),"undefined"!=typeof WORKSPACE_DOCS_CLIENT_URL&&A(WORKSPACE_DOCS_CLIENT_URL),"26.102.71.7"),T="9.0.8";var E,B,x;!function(e){e.Workspace="openfin-browser"}(E||(E={})),function(e){e.RunRequested="run-requested",e.WindowOptionsChanged="window-options-changed",e.WindowClosed="window-closed",e.WindowCreated="window-created"}(B||(B={})),function(e){e.FinProtocol="fin-protocol"}(x||(x={}));const R={uuid:W},_=(E.Workspace,e=>{if(!S)throw new Error("getApplication cannot be used in a non OpenFin env. Avoid using this during pre-rendering.");return fin.Application.wrapSync(e)}),L=()=>_(R);var V,D;!function(e){e.Home="openfin-home",e.Dock="openfin-dock",e.Storefront="openfin-storefront",e.HomeInternal="openfin-home-internal",e.BrowserMenu="openfin-browser-menu",e.BrowserIndicator="openfin-browser-indicator",e.BrowserWindow="internal-generated-window"}(V||(V={})),function(e){e.Shown="shown",e.BoundsChanged="bounds-changed",e.LayoutReady="layout-ready",e.EndUserBoundsChanging="end-user-bounds-changing",e.Blurred="blurred",e.Closed="closed",e.CloseRequested="close-requested",e.Focused="focused",e.ShowRequested="show-requested",e.ViewCrashed="view-crashed",e.ViewAttached="view-attached",e.ViewDetached="view-detached",e.ViewPageTitleUpdated="view-page-title-updated",e.ViewDestroyed="view-destroyed",e.OptionsChanged="options-changed"}(D||(D={}));function U(e){if(!S)throw new Error("getOFWindow can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");return fin.Window.wrapSync(e)}const F={name:C,uuid:W};function G(){return U(F)}V.Home,E.Workspace,V.Dock,E.Workspace;const $={name:V.Storefront,uuid:E.Workspace};E.Workspace,E.Workspace;async function N(e){const t=U(e);"minimized"===await t.getState()&&await t.restore(),await t.show(),await t.setAsForeground()}const j=e=>e.startsWith(V.BrowserWindow);async function H(){return(await fin.Application.getCurrentSync().getChildWindows()).filter((e=>j(e.identity.name)))}const q=e=>U(e).getOptions().then((()=>!0)).catch((()=>!1)),K=()=>q($);var Q;!function(e){e.Browser="Browser",e.Dock="Dock",e.Home="Home",e.Notification="Notification",e.Storefront="Storefront",e.Platform="Platform",e.Theming="Theming"}(Q||(Q={}));const z=async(e,t)=>{const a={apiVersion:t.apiVersion||T,componentName:e,componentVersion:t.componentVersion||T,allowed:t.allowed,rejectionCode:t.rejectionCode};fin.System.registerUsage({type:"workspace-licensing",data:a})};a(378);const J=e=>fin.System.getSystemAppConfig(e);let X;async function Y(){if(X)return X;if(!S)return{};const e=await async function(){if(S)try{let e=await J("workspace").catch((e=>{}));return e||(e=await J("home")),e}catch(e){}}(),t=await async function(){const{manifest:e,initialOptions:t}=await fin.Application.getCurrentSync().getInfo();return e?.workspace||e?.home||t?.workspace||t?.home,e?.workspace?e?.workspace:e?.home?e?.home:t?.workspace?t?.workspace:t?.home?t?.home:void 0}();return X={...t,...e},X}var Z;!function(e){e.CurrentWorkspaceId="currentWorkspaceId",e.LastFocusedBrowserWindow="lastFocusedBrowserWindow",e.MachineName="machineName",e.NewTabPageLayout="NewTabPageLayout",e.NewTabPageSort="NewTabPageSort",e.DockPosition="DockPosition"}(Z||(Z={}));const ee=Z,te=(e,t)=>{localStorage.setItem(`${W}-${e}`,t)},ae=e=>localStorage.getItem(`${W}-${e}`);var ne;!function(e){e.LaunchApp="launchApp",e.SavePage="savePage",e.GetSavedPage="getSavedPage",e.CreateSavedPage="createSavedPage",e.UpdateSavedPage="updateSavedPage",e.DeleteSavedPage="deleteSavedPage",e.GetSavedPages="getSavedPages",e.CreateSavedPageInternal="createSavedPageInternal",e.UpdateSavedPageInternal="updateSavedPageInternal",e.DeleteSavedPageInternal="deleteSavedPageInternal",e.SharePage="sharePage",e.UpdatePageForWindow="updatePageForWindow",e.AttachPagesToWindow="attachPagesToWindow",e.DetachPagesFromWindow="detachPagesFromWindow",e.ReorderPagesForWindow="reorderPagesForWindow",e.SetActivePage="setActivePage",e.GetAllAttachedPages="getAllAttachedPages",e.GetActivePageIdForWindow="getActivePageIdForWindow",e.GetPagesForWindow="getPagesForWindow",e.GetPageForWindow="getPageForWindow",e.GetSavedPageMetadata="getSavedPageMetadata",e.GetUniquePageTitle="getUniquePageTitle",e.GetLastFocusedBrowserWindow="getLastFocusedBrowserWindow",e.GetThemes="getThemes",e.OpenGlobalContextMenuInternal="openGlobalContextMenuInternal",e.OpenViewTabContextMenuInternal="openViewTabContextMenuInternal",e.OpenPageTabContextMenuInternal="openPageTabContextMenuInternal",e.OpenSaveButtonContextMenuInternal="openSaveButtonContextMenuInternal",e.InvokeCustomActionInternal="invokeCustomActionInternal",e.RequestQuitPlatformDialogInternal="requestQuitPlatformDialogInternal",e.GetSavedWorkspace="getSavedWorkspace",e.CreateSavedWorkspace="createSavedWorkspace",e.UpdateSavedWorkspace="updateSavedWorkspace",e.DeleteSavedWorkspace="deleteSavedWorkspace",e.GetSavedWorkspaces="getSavedWorkspaces",e.SaveWorkspace="saveWorkspace",e.GetCurrentWorkspace="getCurrentWorkspace",e.ApplyWorkspace="applyWorkspace",e.SetActiveWorkspace="setActiveWorkspace",e.IsBrowserInitialized="isBrowserInitialized"}(ne||(ne={}));const oe=async e=>fin.Platform.wrapSync(e).getClient(),re=async e=>{const t=await oe(e),a="Target is not a Workspace Platform. Target must call WorkspacePlatform.init";let n;try{n=await t.dispatch("isWorkspacePlatform")}catch(e){throw new Error(a)}if(!0!==n?.isWorkspacePlatform)throw new Error(a);return n},ie=async e=>(await re(e),oe(e)),se=async e=>{if(!0!==(await re(e))?.isBrowserInitialized)throw new Error("Target is not a Browser-enabled Workspace Platform.");return oe(e)},ce=(e,t)=>!t.find((t=>t===e)),de=(e,t)=>`${e} (${t})`,pe=(e,t)=>{let a=1;const n=e.replace(/ \(.+\)$/,"");for(;!ce(de(n,a),t);)a+=1;return de(n,a)};async function le(e){try{const t=Ut();await t.applySnapshot(e.snapshot,{closeExistingWindows:!0}),ue(e)}catch(e){}}function ue(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);te(ee.CurrentWorkspaceId,t)}catch(e){}}async function we(){if("undefined"==typeof localStorage)return;const e=Ut(),t=await e.getSnapshot();return{workspaceId:crypto.randomUUID(),title:await ye(),metadata:{APIVersion:T},snapshot:t}}async function fe(){if("undefined"==typeof localStorage)return;const e=ae(ee.CurrentWorkspaceId);if(!e)return we();const t=JSON.parse(e),a=Ut(),n=await a.getSnapshot();return{...t,metadata:{APIVersion:T},snapshot:n}}const ge=async e=>await(async e=>(await ie(F)).dispatch(ne.GetSavedWorkspace,e))(e.workspaceId)?(async e=>(await ie(F)).dispatch(ne.UpdateSavedWorkspace,e))({workspaceId:e.workspaceId,workspace:e}):(async e=>(await ie(F)).dispatch(ne.CreateSavedWorkspace,e))({workspace:e});async function ye(e="Untitled Workspace"){const t=(await(async()=>(await ie(F)).dispatch(ne.GetSavedWorkspaces,void 0))()).map((({title:e})=>e));return t.find((t=>t===e))?pe(e,t):e}async function he(){if("undefined"!=typeof localStorage)try{const e=ae(ee.LastFocusedBrowserWindow);if(!e)return;const t=JSON.parse(e);if(await q(t))return t}catch(e){throw new Error(`failed to get last focused browser window: ${e}`)}}function me(e=fin.me.identity){j(e.name)&&function(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);te(ee.LastFocusedBrowserWindow,t)}catch(e){}}(e)}const ve=(e,t=0)=>{let a,n,o=!1;const r=async n=>{const i=await e(...n);if(o){await new Promise((e=>setTimeout(e,t)));const e=a;return a=void 0,o=!1,r(e)}return i};return(...e)=>(n?(o=!0,a=e):n=r(e).catch((e=>{throw e})).finally((()=>{n=void 0})),n)};var Se;!function(e){e.TabCreated="tab-created",e.ContainerCreated="container-created",e.ContainerResized="container-resized"}(Se||(Se={}));const Pe=(e,t)=>e.content?{...e,content:e.content.map((e=>Pe(e,t)))}:{...e,componentState:t(e.componentState)},be=e=>({...e,name:e.name?e.name:crypto.randomUUID()}),ke=e=>{const t=[];return(e&&Array.isArray(e)?e:[]).forEach((e=>{if("component"===e.type)return t.push(e.componentState);const a=ke(e.content);t.push(...a)})),t},We=async(e,t,a=F)=>{let n;if(j(a.name)){n=(await U(a).getOptions()).layout||{settings:{}}}return{...n,content:[{type:"stack",content:[{type:"component",componentName:"view",componentState:{title:e,url:t}}]}]}};new Map;function Ce(e,t){return async(a,...n)=>{e.has(a)&&e.get(a).forEach((e=>e(...n))),t&&await t({event:a,payload:n})}}function Ie(e,t){return t&&t((t=>{const{event:a,payload:n}=t;e.has(a)&&e.get(a).forEach((e=>e(...n)))})),(t,a)=>{e.has(t)||e.set(t,new Set),e.get(t).add(a)}}function Ae(e){return(t,a)=>{e.has(t)||e.set(t,new Set);const n=e.get(t),o=(...e)=>{a(...e),n.delete(o)};n.add(o)}}function Me(e){return(t,a)=>{e.has(t)&&e.get(t).delete(a)}}const Oe=P&&"complete"!==document.readyState&&new Promise((e=>document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))));function Te(e){let t;return()=>{if(!S)throw new Error("getChannelClient cannot be used outside an OpenFin env. Avoid using this method during pre-rendering.");return t||(t=(async()=>{await Oe;const a={clientAPIVersion:T},n=await fin.InterApplicationBus.Channel.connect(e,{payload:a});return n.onDisconnection((async()=>{t=void 0})),n})().then((e=>e)).catch((a=>{throw t=void 0,new Error(`failed to connect to channel provider ${e}: ${a}`)}))),t}}const Ee=e=>`__browser_window__-${e.uuid}-${e.name}`,Be=new Map,xe=e=>{const t=Ee(e);return Be.has(t)||Be.set(t,Te(t)),Be.get(t)()};var Re,_e;!function(e){e.CloseBrowserWindow="close-browser-window",e.QuitPlatform="quit-platform",e.ClosePage="close-page",e.AddToChannel="add-to-channel",e.RemoveFromChannel="remove-from-channel",e.OpenSaveModalInternal="open-save-modal-internal",e.DuplicatePage="duplicate-page"}(Re||(Re={})),function(e){e.GetPages="get-pages",e.GetActivePageForWindow="get-active-page-for-window",e.AttachPagesToWindow="attach-pages-to-window",e.DetachPagesFromWindow="detach-pages-from-window",e.SetActivePageForWindow="set-active-page-for-window",e.RenamePage="rename-page",e.ReorderPagesForWindow="reorder-pages-for-window",e.UpdatePageForWindow="update-page-for-window",e.UpdatePagesWindowOptions="update-pages-window-options",e.IsDetachingPages="is-detaching-pages",e.IsActivePageChanging="is-active-page-changing"}(_e||(_e={}));const Le={...Re,..._e};var Ve;!function(e){e.AttachedPagesToWindow="attached-pages-to-window",e.DetachedPagesFromWindow="detached-pages-from-window"}(Ve||(Ve={}));new Map;const De=async e=>{const t=await xe(e);return await t.dispatch(Le.GetPages)},Ue=async e=>(await xe(e.identity)).dispatch(Le.UpdatePageForWindow,e),Fe=async()=>{const e=await H();return(await Promise.all(e.map((async({identity:e})=>De(e))))).reduce(((e,t)=>e.concat(t)),[])},Ge=async()=>(await ie(F)).dispatch(ne.GetSavedPages,void 0),$e=async e=>(await ie(F)).dispatch(ne.GetSavedPage,e),Ne=async(e,t)=>{const a=await(async e=>(await Fe()).find((t=>t.pageId===e)))(e);return!a||a.title===t.title&&e===t.pageId||await Ue({identity:a.parentIdentity,pageId:e,page:{pageId:t.pageId,title:t.title}}),a},je=async({page:e})=>{await Ne(e.pageId,e),await(async e=>(await ie(F)).dispatch(ne.CreateSavedPage,e))({page:e})},He=async e=>{await $e(e)&&await(async e=>(await ie(F)).dispatch(ne.DeleteSavedPage,e))(e)},qe=async({pageId:e,page:t})=>{await Ne(e,t);return await(async e=>(await ie(F)).dispatch(ne.UpdateSavedPage,e))({pageId:e,page:t})},Ke=async e=>await $e(e.pageId)?qe({pageId:e.pageId,page:e}):je({page:e}),Qe=async e=>{await(async e=>(await xe(e.identity)).dispatch(Le.AttachPagesToWindow,e))(e)},ze=async e=>{await Ue(e)},Je=async e=>{await(async e=>(await xe(e.identity)).dispatch(Le.DetachPagesFromWindow,e))(e)},Xe=async e=>{await(async e=>(await xe(e.identity)).dispatch(Le.SetActivePageForWindow,e))(e)},Ye=e=>De(e),Ze=async({identity:e,pageId:t})=>(await Ye(e)).find((e=>e.pageId===t)),et=async e=>{await(async e=>(await xe(e.identity)).dispatch(Le.ReorderPagesForWindow,e))(e)};async function tt(e="Untitled Page"){const[t,a]=await Promise.all([Ge(),Fe()]),n=[...t,...a].map((({title:e})=>e));return n.find((t=>t===e))?pe(e,n):e}const at=new Map,nt=e=>`${e.uuid}-${e.name}`;const ot=ve((async function(){let e=[];try{e=await Fe()}catch(e){return void at.forEach(((e,t)=>{clearTimeout(e),at.delete(t)}))}const t=new Set;e.forEach((e=>{ke(e.layout.content).forEach((e=>{if(e.name){const a=nt(e);t.add(a)}}))}));const a=G();(await a.getCurrentViews()).forEach((({identity:e})=>{const a=nt(e);if(t.has(a)||at.has(a))return;const n=setTimeout((()=>{fin.View.wrapSync(e).destroy(),at.delete(a)}),5e3);at.set(a,n)})),at.forEach(((e,a)=>{t.has(a)&&(clearTimeout(e),at.delete(a))}))}),2500),rt=({name:e})=>{e&&j(e)&&ot().catch((()=>{}))};let it={};const st=({actionId:e,payload:t})=>{if("function"!=typeof it[e])throw new Error(`Cannot find a configured function for the action '${e}'`);return it[e](t)};function ct(){return localStorage.getItem(ee.MachineName)}let dt;async function pt(){return dt||(dt=await fin.System.getMachineId()),dt}const lt=e=>{if(e.layout&&Array.isArray(e.workspacePlatform?.pages)){const t=e.workspacePlatform.pages.find((e=>e.isActive));if(t)if(t.isLocked){const a=((e,t)=>{const a=ke(t.content);return{...Pe(e,(e=>{const t=a.find((t=>t.name===e.name&&t.uuid===e.uuid)),n=t?t.isClosable:e.isClosable;return{...e,isClosable:n}})),settings:t.settings}})(e.layout,t.layout);t.layout=a,e.layout=a}else t.layout=e.layout}return e};async function ut(e){const t=e||await fin.Platform.getCurrentSync().getSnapshot();if(t.snapshotDetails?.machineId)return t;const a=ct();return{...t,snapshotDetails:{...e.snapshotDetails,machineId:await pt(),machineName:a}}}function wt(e){return new Promise(((t,a)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>a(e.error)}))}function ft(e,t){const a=indexedDB.open(e);a.onupgradeneeded=()=>a.result.createObjectStore(t);const n=wt(a);return(e,a)=>n.then((n=>a(n.transaction(t,e).objectStore(t))))}let gt;function yt(){return gt||(gt=ft("keyval-store","keyval")),gt}function ht(e,t=yt()){return t("readonly",(t=>wt(t.get(e))))}function mt(e,t,a=yt()){return a("readwrite",(a=>(a.put(t,e),wt(a.transaction))))}function vt(e,t=yt()){return t("readwrite",(t=>(t.delete(e),wt(t.transaction))))}function St(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},wt(e.transaction)}function Pt(e=yt()){return e("readonly",(e=>{if(e.getAllKeys)return wt(e.getAllKeys());const t=[];return St(e,(e=>t.push(e.key))).then((()=>t))}))}const bt=(e,t="")=>e.toLowerCase().includes(t.toLowerCase()),kt=b&&ft("openfin-home-pages","pages");async function Wt(e){const t=await ht(e,kt);return t?(t.pageId=e.toString(),t.title=t.title||t.pageId,t):null}async function Ct(e){const t=await Pt(kt),a=await Promise.all(t.map((e=>Wt(e.toString()))));return e?a.filter((t=>bt(t.title,e))):a}async function It({page:e}){await mt(e.pageId,e,kt)}async function At(e){await vt(e,kt)}async function Mt({pageId:e,page:t}){if(void 0===await Wt(e))throw new Error("page not found");await It({page:t}),e!==t.pageId&&await At(e)}var Ot;!function(e){e.Label="normal",e.Separator="separator",e.Submenu="submenu",e.Checkbox="checkbox"}(Ot||(Ot={}));const Tt={type:Ot.Separator,data:void 0};var Et;!function(e){e.RegisterProvider="register-provider",e.DeregisterProvider="deregister-provider",e.CreateProviderWindow="create-provider-window",e.GetProviders="get-providers",e.ShowProviderWindow="show-provider-window",e.HideProviderWindow="hide-provider-window",e.GetStorefrontProviderApps="get-storefront-provider-apps",e.GetStorefrontProviderLandingPage="get-storefront-provider-landing-page",e.GetStorefrontProviderFooter="get-storefront-provider-footer",e.GetStorefrontProviderNavigation="get-storefront-provider-navigation",e.LaunchStorefrontProviderApp="launch-storefront-provider-app",e.ShowHome="show-home",e.HideHome="hide-home",e.AssignHomeSearchContext="assign-home-search-context",e.GetLegacyPages="get-legacy-pages",e.GetLegacyWorkspaces="get-legacy-workspaces",e.GetComputedPlatformTheme="get-computed-platform-theme",e.RegisterStorefrontProvider="register-storefront-provider",e.DeregisterStorefrontProvider="deregister-storefront-provider",e.HideStorefront="hide-storefront",e.ShowStorefront="show-storefront"}(Et||(Et={}));Te("__of_workspace_protocol__");const Bt=async(e,t)=>{const a=await(async e=>({...e,layoutDetails:{machineId:await pt(),machineName:ct()}}))(t);return{pageId:crypto.randomUUID(),title:e,layout:a,isReadOnly:!1,hasUnsavedChanges:!0}},xt=e=>({identity:e,openfinWindow:fin.Window.wrapSync(e),getPages:async()=>(await se(e)).dispatch(ne.GetPagesForWindow,e),getPage:async t=>(await se(e)).dispatch(ne.GetPageForWindow,{identity:e,pageId:t}),addPage:async t=>{const a=await se(e);t?.title||(t.title=await a.dispatch(ne.GetUniquePageTitle,void 0));const n=(await a.dispatch(ne.GetAllAttachedPages,void 0)).find((e=>e.pageId===t.pageId||e.title===t.title));if(n)throw n.pageId===t.pageId?new Error(`page with id ${t.pageId} is already attached to a browser window ${n.parentIdentity.name}`):new Error(`page with title ${t.title} is already attached to a browser window ${n.parentIdentity.name}`);const o={identity:e,pages:[t]};return a.dispatch(ne.AttachPagesToWindow,o)},removePage:async t=>(await se(e)).dispatch(ne.DetachPagesFromWindow,{identity:e,pageIds:[t]}),setActivePage:async t=>(await se(e)).dispatch(ne.SetActivePage,{identity:e,pageId:t}),updatePage:async t=>{const a=await se(e);return t.identity=e,a.dispatch(ne.UpdatePageForWindow,t)},reorderPages:async t=>{const a=await se(e);return t.identity=e,a.dispatch(ne.ReorderPagesForWindow,t)},_openGlobalContextMenu:async t=>{const a=await se(e);return t.identity=e,a.dispatch(ne.OpenGlobalContextMenuInternal,t)},replaceToolbarOptions:async t=>{await se(e);const a=fin.Window.wrapSync(e);await a.updateOptions({workspacePlatform:{toolbarOptions:t}})},replaceWindowStateButtonOptions:async t=>{await se(e);const a=fin.Window.wrapSync(e);await a.updateOptions({workspacePlatform:{windowStateButtonOptions:t}})},_openViewTabContextMenu:async t=>{const a=await se(e);return t.identity=e,a.dispatch(ne.OpenViewTabContextMenuInternal,t)},_openPageTabContextMenu:async t=>{const a=await se(e);return t.identity=e,a.dispatch(ne.OpenPageTabContextMenuInternal,t)},_openSaveModal:async t=>{await se(e);return(await xe(e)).dispatch(Le.OpenSaveModalInternal,t)},_openSaveButtonContextMenu:async t=>{const a=await se(e);return t.identity=e,a.dispatch(ne.OpenSaveButtonContextMenuInternal,t)}});let Rt=!1;const _t=e=>{const t=fin.Platform.wrapSync(e);return{wrapSync:e=>xt(e),createWindow:async a=>{await se(e),Rt||(Rt=!0,(async e=>{z(Q.Browser,e)})({allowed:!0}));const n=await t.createWindow(a);return xt(n.identity)},getAllAttachedPages:async()=>(await se(e)).dispatch(ne.GetAllAttachedPages,void 0),getAllWindows:async()=>{await se(e);return(await fin.Application.wrapSync(e).getChildWindows()).filter((e=>e.identity.name.includes("internal-generated-window-"))).map((e=>xt(e.identity)))},getUniquePageTitle:async t=>(await se(e)).dispatch(ne.GetUniquePageTitle,t),getLastFocusedWindow:async()=>(await se(e)).dispatch(ne.GetLastFocusedBrowserWindow,void 0)}},Lt=e=>({createPage:async t=>(await se(e)).dispatch(ne.CreateSavedPageInternal,t),deletePage:async t=>(await se(e)).dispatch(ne.DeleteSavedPageInternal,t),updatePage:async t=>(await se(e)).dispatch(ne.UpdateSavedPageInternal,t),getPage:async t=>(await se(e)).dispatch(ne.GetSavedPage,t),getPages:async t=>(await se(e)).dispatch(ne.GetSavedPages,t),savePage:async t=>(await se(e)).dispatch(ne.SavePage,t),createWorkspace:async t=>(await ie(e)).dispatch(ne.CreateSavedWorkspace,t),deleteWorkspace:async t=>(await ie(e)).dispatch(ne.DeleteSavedWorkspace,t),updateWorkspace:async t=>(await ie(e)).dispatch(ne.UpdateSavedWorkspace,t),getWorkspace:async t=>(await ie(e)).dispatch(ne.GetSavedWorkspace,t),getWorkspaces:async t=>(await ie(e)).dispatch(ne.GetSavedWorkspaces,t),saveWorkspace:async t=>(await ie(e)).dispatch(ne.SaveWorkspace,t)}),Vt=e=>({getThemes:async()=>(await ie(e)).dispatch(ne.GetThemes,void 0)}),Dt=e=>{const t=fin.Platform.wrapSync(e);return Object.assign(t,{applySnapshot:async(t,a)=>{if("string"!=typeof t&&!t?.windows)throw new Error("Not a valid browser snapshot");return fin.Platform.wrapSync(e).applySnapshot(t,a)},getSnapshot:()=>fin.Platform.wrapSync(e).getSnapshot().then((e=>e)),launchApp:async t=>{t.target||(t.target={uuid:W,name:C,entityType:I||"unknown"});return(await ie(e)).dispatch(ne.LaunchApp,t)},_invokeCustomAction:async(t,a)=>{const n=await ie(e),o={actionId:t,payload:{...a,callerType:a.callerType||h.API}};return n.dispatch(ne.InvokeCustomActionInternal,o)},_requestQuitPlatformDialog:async t=>(await ie(e)).dispatch(ne.RequestQuitPlatformDialogInternal,t),getCurrentWorkspace:async()=>(await ie(e)).dispatch(ne.GetCurrentWorkspace,void 0),applyWorkspace:async t=>(await ie(e)).dispatch(ne.ApplyWorkspace,t),setActiveWorkspace:async t=>(await ie(e)).dispatch(ne.SetActiveWorkspace,t),Theme:Vt(e),Browser:_t(e),Storage:Lt(e)})},Ut=()=>Dt(fin.me.identity),Ft=async(e=F)=>{const{workspacePlatform:t}=await U(e).getOptions(),a=t?.newPageUrl,n=t?.newTabUrl;return{newPageUrl:a,newTabUrl:n}},Gt=async(e=F)=>{const t=await Ut().Browser.getUniquePageTitle("Untitled Page"),a=await(async(e=F)=>{const{newPageUrl:t}=await Ft(e);if(!t)throw new Error("Trying to create a new page without a newPageUrl set");return We("New Tab",t,e)})(e);return Bt(t,a)},$t={type:Ot.Label,label:"Close Window",data:{type:u.CloseWindow}},Nt={type:Ot.Label,label:"Open Storefront",data:{type:u.OpenStorefront}},jt={type:Ot.Label,label:"Quit Platform",data:{type:u.Quit}},Ht={type:Ot.Label,label:"New Window",data:{type:u.NewWindow}},qt={type:Ot.Label,label:"Save Page",data:{type:u.SavePage}},Kt={type:Ot.Label,label:"Save Page As...",data:{type:u.SavePageAs}},Qt={type:Ot.Label,label:"Restore to Last Saved Changes",data:{type:u.RestoreChanges}},zt={type:Ot.Label,label:"Save Workspace",data:{type:u.SaveWorkspace}},Jt={type:Ot.Label,label:"Save Workspace As...",data:{type:u.SaveWorkspaceAs}},Xt={type:Ot.Label,label:"Rename Workspace",data:{type:u.RenameWorkspace}},Yt="Switch Workspace",Zt="Delete Workspace",ea=[$t,Tt,Nt,Tt,jt],ta=[Tt,$t,Tt,jt],aa=(e,t,a)=>t.map((t=>{const n=t.workspaceId===e.workspaceId;return{label:t.title,type:Ot.Checkbox,enabled:!n,checked:n,data:{type:a,workspaceId:t.workspaceId}}})),na=async e=>{const t=await K(),{newPageUrl:a}=await Ft(e),n=await(async e=>{const t=U(e),{workspacePlatform:a}=await t.getOptions();return a?.disableMultiplePages})(e),o=await(async e=>{const t=U(e),{workspacePlatform:a}=await t.getOptions();return a?.isLocked})(e),r=[];var i;a&&(r.push(Ht),n||r.push((i=!o,{type:Ot.Label,label:"New Page",data:{type:u.NewPage},enabled:i}))),r.push(Tt);const s=Ut(),c=await s.getCurrentWorkspace(),d=await s.Storage.getWorkspaces(),p=d.find((e=>e.workspaceId===c.workspaceId));return p?r.push(Qt):r.push({label:Qt.label,enabled:!1}),r.push(zt,Jt),p?r.push(Xt):r.push({label:Xt.label,enabled:!1}),d.some((e=>e.workspaceId!==c.workspaceId))?r.push({label:Yt,submenu:aa(c,d,u.SwitchWorkspace)},{label:Zt,submenu:aa(c,d,u.DeleteWorkspace)}):r.push({label:Yt,enabled:!1},{label:Zt,enabled:!1}),r.push(Tt,qt,Kt),t?[...r,...ea]:[...r,...ta]};let oa="Platform";const ra=async()=>oa;var ia,sa,ca;!function(e){e.Home="/home/",e.HomeSearch="/home/?deeplink=search",e.HomePagesRename="/home/pages/rename/",e.Dock="/dock/",e.BrowserPagesLanding="/browser/pages/landing/",e.HomeIndicator="/home/indicator/",e.Browser="/browser/",e.BrowserPopupMenu="/browser/popup-menu/",e.Provider="/provider/",e.BrowserPopupMenuSharePage="/browser/popup-menu/share-page/",e.BrowserPopupMenuSaveModal="/browser/popup-menu/save-modal/",e.BrowserPopupMenuLayouts="/browser/popup-menu/layouts/layouts/",e.BrowserPopupMenuColorLinking="/browser/popup-menu/color-linking/color-linking/",e.BrowserIndicator="/browser/indicator/",e.ResponseModal="/browser/popup-menu/response-modal/",e.Docs="/provider/docs/",e.Storefront="/storefront/",e.DeprecatedAlert="/provider/deprecated-alert/"}(ia||(ia={})),function(e){e.IconOpenFinLogo="/icons/openfinlogo.svg",e.IconFilter="/icons/filter.svg"}(sa||(sa={})),function(e){e.Search="search"}(ca||(ca={}));const da={...sa,...ia};var pa;!function(e){e.Home="/home",e.Browser="/browser",e.Provider="/provider",e.Storefront="/storefront",e.Dock="/dock"}(pa||(pa={}));const la="/workspace/9.0.8";function ua(){return la.substring(0,la.length-"".length)}function wa(e){if(!P)throw new Error("getAbsoluteRoutePath can only be used in a window");return function(){if(!window)throw new Error("getAbsoluteBasePath can only be used in a window");return`${window.origin}${ua()}`}()+e}const fa={name:V.BrowserMenu,alwaysOnTop:!0,autoShow:!1,frame:!1,resizable:!1,backgroundColor:"#2f3136",smallWindow:!0,showTaskbarIcon:!1,backgroundThrottling:!0};function ga(e){const t={...fa,...e};return t.url=function(e){if(!P)throw new Error("resolveAbsolutePath can only be used in a window");return e.startsWith("http")?e:`${window.origin}${e}`}(t.url),t}var ya,ha;!function(e){e.Update="update",e.Response="response"}(ya||(ya={})),function(e){e.Canceled="canceled",e.Negative="negative",e.Affirmative="affirmative"}(ha||(ha={}));const ma=function(e){const t=new Map;return{emit:Ce(t,(t=>S&&fin.InterApplicationBus.publish(e,t))),addListener:Ie(t,(t=>S&&fin.InterApplicationBus.subscribe({uuid:fin.me.uuid},e,t))),removeListener:Me(t),once:Ae(t)}}("window.menu"),va=e=>ma.emit(ya.Response,e),Sa=ve((()=>L().getChildWindows()),500);const Pa=new Map;async function ba({options:e,parameters:t},a){const n=ga(e),{name:o}=n;let r=await async function(e){return(await Sa()).find((t=>t.identity.name===e))}(o);return r||(r=await async function(e){const t=ga(e);if(!Pa.has(t.name)){const e=(async()=>{const e=await fin.Platform.getCurrentSync().createWindow(t);return e.once("closed",(()=>{Pa.delete(t.name)})),e})();Pa.set(t.name,e)}return Pa.get(t.name)}(n)),await async function(e,t){const a=ga(e),{top:n,left:o,defaultWidth:r,defaultHeight:i}=a,s={top:n,left:o,width:r,height:i},c={parentName:fin.Window.getCurrentSync().identity.name};for(const[e,a]of Object.entries(c))t.set(e,a);const d=t.toString(),p=`${a.url}?${d}`;ma.emit(ya.Update,a.name,s,p),await va({name:a.name,data:ha.Canceled})}(e,t||new URLSearchParams),a&&r.center(),r}const ka=async(e,t,a)=>{const n=t?U(t):G();if(!a){await(async(e=fin.me.identity)=>{const t=U(e),a=await t.getBounds();(a.right>screen.availLeft+screen.width||a.left<screen.availLeft||a.bottom>screen.availTop+screen.height||a.top<screen.availTop)&&await t.center()})(n.identity);const t=(e=>({left:(e.left+e.right)/2,top:(e.top+e.bottom)/2}))(await n.getBounds()),{defaultHeight:a,defaultWidth:o}=e;return((e,t)=>{const{height:a,width:n}=t,o=n/2,r=a/2;return{left:e.left-o,top:e.top-r}})(t,{height:a,width:o})}return await n.getBounds()},Wa=async({options:e,content:t},a)=>{const n=new URLSearchParams({...t});return await ba({options:e,parameters:n},a),new Promise((t=>{ma.once(ya.Response,(a=>{a.name===e.name&&t(a)}))}))},Ca=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Switch Workspace",windowOptions:{url:M+da.ResponseModal,name:V.BrowserMenu,defaultHeight:112,defaultWidth:424,modalParentIdentity:e},content:{title:`Are you sure you want to switch to ${t}`,body:"Any unsaved changes will be discarded",affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e,t),o=await ka(a,a.modalParentIdentity),r={...a,top:o.top,left:o.left};return(await Wa({options:r,content:n})).data===ha.Affirmative},Ia=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Delete Workspace",windowOptions:{url:M+da.ResponseModal,name:V.BrowserMenu,defaultHeight:144,defaultWidth:372,modalParentIdentity:e},content:{title:"Are you sure you want to permanently delete this workspace?",body:`${t}`,affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e,t),o=await ka(a,a.modalParentIdentity),r={...a,top:o.top,left:o.left};return(await Wa({options:r,content:n})).data===ha.Affirmative},Aa=async(e,t,a)=>{const n=a?void 0:e,{windowOptions:o,content:r}=await(async(e,t)=>({title:"Platform Quit",windowOptions:{url:M+da.ResponseModal,name:V.BrowserMenu,defaultHeight:134,defaultWidth:474,modalParentIdentity:t},content:{title:`Close the ${"Platform"===e?"platform":`${e} Platform`}?`,body:"Closing a platform will close any workspaces, apps or any processes that are running.",affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(t,n),i=await ka(o,o.modalParentIdentity),s={...o,top:i.top,left:i.left};return(await Wa({options:s,content:r},a)).data===ha.Affirmative},Ma=async e=>{const{windowOptions:t,content:a}=await(async e=>({title:"Restore Changes",windowOptions:{url:M+da.ResponseModal,name:V.BrowserMenu,defaultHeight:112,defaultWidth:424,modalParentIdentity:e},content:{title:"Are you sure you want to restore to last saved changes?",body:"Any unsaved changes will be discarded",affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e),n=await ka(t,t.modalParentIdentity),o={...t,top:n.top,left:n.left};return(await Wa({options:o,content:a})).data===ha.Affirmative};var Oa;!function(e){e.ERROR="error",e.SUCCESS="success",e.INFO="info"}(Oa||(Oa={}));const Ta={alwaysOnTop:!0,autoShow:!1,frame:!1,resizable:!1,showTaskbarIcon:!1};var Ea;!function(e){e.Locked="LockClosedIcon",e.Unlocked="LockOpen1Icon"}(Ea||(Ea={}));const Ba=function(e=Ta){const t=new Map;return async(a,n,o,r)=>{if(t.has(a)){const{currentUrl:e,currentName:o}=t.get(a);if(e===n)return;const r=fin.Window.wrapSync({uuid:fin.me.uuid,name:o});await r.close()}const i=`${V.HomeInternal}-${Date.now()}${Math.random()}`;t.set(a,{currentUrl:n,currentName:i});const s=await fin.Platform.getCurrentSync().createWindow({...e,name:i,url:n});((e,t)=>{const a=document.createElement("div");a.setAttribute("aria-live",t||"polite"),(e=>{e.style.position="absolute",e.style.width="1px",e.style.height="1px",e.style.padding="0",e.style.margin="-1px",e.style.overflow="hidden",e.style.whiteSpace="nowrap",e.style.border="0"})(a),document.body.appendChild(a),setTimeout((()=>{a.innerHTML=e}),100),setTimeout((()=>{document.body.removeChild(a)}),1e3)})(`New ${r} indicator: ${o}`),s.once("closed",(()=>{t.delete(a)}))}}();async function xa(e,t,a,n){const o=new URLSearchParams;o.append("type",e),o.append("message",t),o.append("parentName",a||""),o.append("icon",n||"");const r=`${wa(da.BrowserIndicator)}?${o.toString()}`;return Ba("browser"+a,r,t,e)}function Ra(e,t,a){return xa(Oa.SUCCESS,e,t,a)}const _a=async e=>{const t=Ut(),a=await t.getCurrentWorkspace(),n=await t.Storage.getWorkspaces(),o=a.workspaceId;if(n.some((e=>e.workspaceId===o)))t.Storage.saveWorkspace(a),t.setActiveWorkspace(a),Ra("Workspace Saved",e.name);else{t.Browser.wrapSync(e)._openSaveModal({menuType:m.SAVE_WORKSPACE})}},La=e=>{Ut().Browser.wrapSync(e)._openSaveModal({menuType:m.SAVE_WORKSPACE_AS})},Va=async(e,t)=>{const a=Ut().Browser.wrapSync(e),n=await Ut().Storage.getPages(),o=(await a.getPages()).find((e=>t?e.pageId===t:e.isActive)),r=n.some((e=>o.pageId===e.pageId));if(r)try{await Ut().Storage.savePage((d=o,{...d,hasUnsavedChanges:void 0,parentIdentity:void 0,isActive:void 0})),await a.updatePage({pageId:o.pageId,page:{hasUnsavedChanges:!1}}),Ra("Page saved",o.parentIdentity.name)}catch{i="Page failed to save",s=o.parentIdentity.name,xa(Oa.ERROR,i,s,c)}else a._openSaveModal({id:o.pageId,menuType:m.SAVE_PAGE});var i,s,c,d},Da=async(e,t)=>{const a=Ut().Browser.wrapSync(e),n=(await a.getPages()).find((e=>t?e.pageId===t:e.isActive));a._openSaveModal({id:n.pageId,menuType:m.SAVE_PAGE_AS})},Ua=async(e,t)=>{if(!e)return;const a=t.identity,n=await xe(a),o=Ut().Browser.wrapSync(t.identity);switch(e.type){case u.NewWindow:const{newPageUrl:t}=await Ft(a);if(!t)throw new Error("Trying to create a new empty window without a newPageUrl set");Ut().createView({target:void 0,url:t});break;case u.NewPage:await(async e=>{const t=Ut().Browser.wrapSync(e),a=await Gt(e);await t.addPage(a),await t.setActivePage(a.pageId)})(a);break;case u.CloseWindow:n.dispatch(Le.CloseBrowserWindow);break;case u.SaveWorkspace:await _a(a);break;case u.SavePage:await Va(a);break;case u.SavePageAs:await Da(a);break;case u.SaveWorkspaceAs:await La(a);break;case u.RenameWorkspace:o._openSaveModal({menuType:m.RENAME_WORKSPACE});break;case u.SwitchWorkspace:await(async(e,t)=>{const a=Ut(),n=(await a.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId));n&&await Ca(e,n.title)&&(await a.applyWorkspace(n),Ra("Workspace Switched!",null))})(a,e);break;case u.DeleteWorkspace:await(async(e,t)=>{const a=Ut(),n=(await a.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId));n&&await Ia(e,n.title)&&(await a.Storage.deleteWorkspace(t.workspaceId),Ra("Workspace Deleted!",e.name))})(a,e);break;case u.Quit:const r=await ra();await Aa(a,r)&&fin.Platform.getCurrentSync().quit();break;case u.OpenStorefront:(async()=>{await K()&&N($)})();break;case u.RestoreChanges:const i=await async function(){const e=Ut(),t=await e.getCurrentWorkspace();return(await e.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId))}();await Ma(a)&&await le(i);break;case u.Custom:if(e.action){const t={callerType:h.GlobalContextMenu,windowIdentity:a,customData:e.action.customData};Ut()._invokeCustomAction(e.action.id,t)}}},Fa=async(e,t)=>{const a=await xe(t.identity),n=Ut();switch(e?.type){case w.Save:await Va(t.identity,t.pageId);break;case w.SaveAs:await Da(t.identity,t.pageId);break;case w.Rename:await n.Browser.wrapSync(t.identity)._openSaveModal({menuType:m.RENAME_PAGE,id:t.pageId});break;case w.Duplicate:a.dispatch(Le.DuplicatePage,t.pageId);break;case w.Close:a.dispatch(Le.ClosePage,t.pageId);break;case w.Custom:if(e.action){const a={callerType:h.PageTabContextMenu,windowIdentity:t.identity,pageId:t.pageId,customData:e.action.customData};Ut()._invokeCustomAction(e.action.id,a)}}},Ga=async(e,t)=>{if(e?.type){const a=t.identity;switch(e.type){case y.SavePage:await Va(a);break;case y.SaveWorkspace:await _a(a);break;case y.SavePageAs:await Da(a);break;case y.SaveWorkspaceAs:await La(a);break;case y.Custom:if(e.action){const a={callerType:h.SaveButtonContextMenu,windowIdentity:t.identity,pageId:t.pageId,customData:e.action.customData};Ut()._invokeCustomAction(e.action.id,a)}}}},$a=async(e,t)=>{const a=t.selectedViews[0],n=fin.View.wrapSync(a),o=await(async e=>{const{newTabUrl:t}=await Ft(e);if(!t)throw new Error("Trying to create a new page without a newTabUrl set");return{...We("New View",t),url:t,target:e}})(e);await Ut().createView(o,e,n.identity)},Na=async(e,t)=>{const a=await(e=>Promise.all(e.map((async e=>fin.View.wrapSync(e).getInfo()))))(t),{newPageUrl:n,newTabUrl:o}=await Ft(e);a.forEach((async e=>{e.url!==n&&e.url!==o&&await fin.System.openUrlWithBrowser(e.url)}))},ja=(e,t)=>{t.forEach((async t=>{const a=fin.View.wrapSync(t);await(async(e,t)=>{const{url:a}=await t.getInfo(),n={...await t.getOptions(),url:a,target:e,name:void 0};await Ut().createView(n,e,t.identity)})(e,a)}))},Ha=async(e,t)=>{if(!e)return;const a=t.identity;switch(e.type){case f.CloseViews:await(async(e,t)=>{if((await fin.Window.wrapSync(e).getCurrentViews()).length!==t.length)t.forEach((async e=>{const t=fin.View.wrapSync(e);await t.destroy()}));else{const t=(await Ut().Browser.wrapSync(e).getPages()).find((e=>e.isActive));(await xe(e)).dispatch(Le.ClosePage,t?.pageId)}})(a,t.selectedViews);break;case f.OpenWithDefaultBrowser:await Na(a,t.selectedViews);break;case f.ReloadViews:t.selectedViews.forEach((async e=>{const t=fin.View.wrapSync(e);await t.reload()}));break;case f.NewView:await $a(a,t);break;case f.DuplicateViews:ja(a,t.selectedViews);break;case f.AddToChannel:(async(e,t,a)=>{const n={newChannelId:t,selectedViews:a};(await xe(e)).dispatch(Le.AddToChannel,n)})(a,e.option,t.selectedViews);break;case f.RemoveFromChannel:(async(e,t)=>{(await xe(e)).dispatch(Le.RemoveFromChannel,t)})(a,t.selectedViews);break;case f.Custom:if(e.action){const n={callerType:h.ViewTabContextMenu,windowIdentity:a,selectedViews:t.selectedViews,customData:e.action.customData};Ut()._invokeCustomAction(e.action.id,n)}}};async function qa(e,t){const a=await na(e.identity),n=await ra();a.find((e=>e.data?.type===u.Quit)).label=`Quit ${n}`;const o={...e,template:a,callback:Ua};await this.openGlobalContextMenu(o,t)}const Ka=async(e,t)=>{const{x:a,y:n,identity:o,template:r,callback:i}=e,{data:s}=await function(e,t){if(!S)throw new Error("showContextMenu can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");if(!t&&!fin.me.isWindow)throw new Error("showContextMenu can only be used in an OpenFin window.");return(t||fin.Window.getCurrentSync()).showPopupMenu(e)}({x:a,y:n,template:r},fin.Window.wrapSync(o));i(s,e)};async function Qa(e,t){const a={...e,callback:Ha};await this.openViewTabContextMenu(a,t)}async function za(e,t){const a=await(async(e,t)=>{const a=await Ut().Storage.getPage(e),n=(await Fe()).find((t=>t.pageId===e)),{workspacePlatform:o}=await U(t).getOptions(),r=!(o.isLocked||o.preventPageClose||n.closeButton?.disabled||n.closeButton?.hidden);return[{type:Ot.Label,label:"Save Page",data:{type:w.Save}},{type:Ot.Label,label:"Save Page As",data:{type:w.SaveAs}},Tt,{type:Ot.Label,label:"Rename Page",data:{type:w.Rename},enabled:!!a},{type:Ot.Label,label:"Duplicate Page",data:{type:w.Duplicate},enabled:!o.isLocked},Tt,{type:Ot.Label,label:"Close Page",data:{type:w.Close},enabled:r}]})(e.pageId,e.identity),n={...e,template:a,callback:Fa};await this.openPageTabContextMenu(n,t)}async function Ja(e,t){const a={...e,template:await(async()=>[{type:Ot.Label,label:"Save Workspace",data:{type:y.SaveWorkspace}},{type:Ot.Label,label:"Save Workspace As",data:{type:y.SaveWorkspaceAs}},{type:Ot.Separator,data:void 0},{type:Ot.Label,label:"Save Page",data:{type:y.SavePage}},{type:Ot.Label,label:"Save Page As",data:{type:y.SavePageAs}}])(),callback:Ga};await this.openSaveButtonContextMenu(a,t)}const Xa=b&&ft("openfin-workspace-platform-workspaces","workspaces");async function Ya(e){const t=await ht(e,Xa);return t?(t.workspaceId=e.toString(),t.title=t.title||t.workspaceId,t):null}async function Za(e){const t=await Pt(Xa),a=await Promise.all(t.map((e=>Ya(e.toString()))));return e?a.filter((t=>bt(t.title,e))):a}async function en({workspace:e}){await mt(e.workspaceId,e,Xa)}async function tn(e){await vt(e,Xa)}async function an({workspaceId:e,workspace:t}){if(void 0===await Ya(e))throw new Error("workspace not found");await en({workspace:t}),e!==t.workspaceId&&await tn(e)}async function nn({app:e,target:t}){const a=fin.Platform.getCurrentSync();switch(e.manifestType){case c.Snapshot:return a.applySnapshot(e.manifest);case c.View:return async function(e,t){const a=fin.Platform.getCurrentSync();if("view"===t.entityType){const a=fin.View.wrapSync(t),n=await a.getParentLayout();return await n.replaceView(t,{manifestUrl:e.manifest,url:void 0,target:void 0}),a.destroy()}return a.createView({name:void 0,url:void 0,manifestUrl:e.manifest,target:void 0})}(e,t);case c.External:return fin.System.launchExternalProcess({path:e.manifest,uuid:e.appId});default:return fin.Application.startFromManifest(e.manifest)}}const on=e=>e&&"object"==typeof e&&!Array.isArray(e);function rn(e,...t){if(!t.length)return e;const a=t.shift();return on(e)&&on(a)&&Object.entries(a).forEach((([t,a])=>{if(on(a))return e[t]||(e[t]={}),rn(e[t],a);e[t]=a})),rn(e,...t)}const sn=M+da.Browser;function cn(e,t){const a=rn({},t,e);return a.detachOnClose=!0,a}async function dn(e,t,a){const n=e.manifestUrl?await t({manifestUrl:e.manifestUrl},a):void 0;if(n?.interop&&e.interop){const t={...e,...n,interop:e.interop};return delete t.manifestUrl,t}return e}const pn=e=>{const t=e.name===V.Home,a=e.name?.startsWith(V.HomeInternal),n=e.name?.startsWith(V.BrowserMenu);return!t&&!a&&!n},ln=e=>"workspacePlatform"in e?e:(({workstacks:e,pages:t,...a})=>({...a,workspacePlatform:{pages:t||e||null}}))(e),un={contextMenuSettings:{reload:!1},backgroundThrottling:!0,url:sn,contextMenu:!0,closeOnLastViewRemoved:!1,experimental:{showFavicons:!0,defaultFaviconUrl:`${M}/icons/defaultFavicon.svg`},permissions:{System:{openUrlWithBrowser:{enabled:!0,protocols:["mailto"]}}}},wn={dimensions:{borderWidth:3,headerHeight:30}},fn=async(e,t)=>{const a=await Ut().Storage.getPages(),n=await Ut().Browser.getAllAttachedPages();return e.map((e=>{let o=e.title;void 0===e.pageId&&(e.pageId=crypto.randomUUID());const r=a.find((e=>e.title===o));return(r&&r.pageId!==e.pageId||n.find((e=>e.title===o)))&&(o=pe(e.title,[...a,...n].map((e=>e.title)))),n.push({...e,title:o}),{...t,...e,title:o,layout:(i=e.layout,Pe({...i},be))};var i}))};var gn;!function(e){e.Browser="browser",e.Platform="platform",e.Classic="classic",e.Mixed="mixed"}(gn||(gn={}));const yn=e=>{const t=fin.Window.wrapSync(e);return Promise.all([t.bringToFront(),t.restore(),t.focus()])};async function hn(e){const t=(await H()).map((async e=>{const t=await e.getOptions();t.workspacePlatform?.pages&&t.layout&&await(async e=>(await xe(e)).dispatch(Le.UpdatePagesWindowOptions))(e.identity)}));return await Promise.all(t),e?e():ut()}const mn=async e=>{await Aa(fin.me.identity,e.title??await ra(),e.shouldCenterOnMonitor)&&fin.Platform.getCurrentSync().quit()};let vn=[];const Sn=()=>vn;const Pn=(e,t)=>async a=>{const n=null!==e;class o extends a{constructor(){super(),this.isWorkspacePlatform=()=>({isWorkspacePlatform:!0,isBrowserInitialized:!!e}),this.addPage=this.attachPagesToWindow,this.detachPagesFromWindow=Je,this.getAllAttachedPages=Fe,this.getPagesForWindow=Ye,this.getPageForWindow=Ze,this.setActivePage=Xe,this.launchApp=nn,this.savePage=Ke,this.saveWorkspace=ge,this.createSavedPageInternal=je,this.updateSavedPageInternal=qe,this.deleteSavedPageInternal=He,this.reorderPagesForWindow=et,this.getUniquePageTitle=tt,this.updatePageForWindow=ze,this.getLastFocusedBrowserWindow=he,this.getThemes=Sn,this.invokeCustomActionInternal=st,this.requestQuitPlatformDialogInternal=mn,this.getCurrentWorkspace=fe,this.applyWorkspace=le,this.setActiveWorkspace=ue,this.openGlobalContextMenuInternal=this.openGlobalContextMenuInternal.bind(this),this.openGlobalContextMenu=this.openGlobalContextMenu.bind(this),this.getSavedPages=this.getSavedPages.bind(this),this.getSavedPage=this.getSavedPage.bind(this),this.createSavedPage=this.createSavedPage.bind(this),this.updateSavedPage=this.updateSavedPage.bind(this),this.deleteSavedPage=this.deleteSavedPage.bind(this),this.attachPagesToWindow=this.attachPagesToWindow.bind(this),this.openViewTabContextMenuInternal=this.openViewTabContextMenuInternal.bind(this),this.openViewTabContextMenu=this.openViewTabContextMenu.bind(this),this.openPageTabContextMenuInternal=this.openPageTabContextMenuInternal.bind(this),this.openPageTabContextMenu=this.openPageTabContextMenu.bind(this),this.getSavedWorkspaces=this.getSavedWorkspaces.bind(this),this.getSavedWorkspace=this.getSavedWorkspace.bind(this),this.createSavedWorkspace=this.createSavedWorkspace.bind(this),this.updateSavedWorkspace=this.updateSavedWorkspace.bind(this),this.deleteSavedWorkspace=this.deleteSavedWorkspace.bind(this),this.getCurrentWorkspace=this.getCurrentWorkspace.bind(this),this.applyWorkspace=this.applyWorkspace.bind(this),this.setActiveWorkspace=this.setActiveWorkspace.bind(this),this.openSaveButtonContextMenu=this.openSaveButtonContextMenu.bind(this),this.openSaveButtonContextMenuInternal=this.openSaveButtonContextMenuInternal.bind(this)}async getSnapshot(){const e=n?await hn((async()=>ut(await super.getSnapshot(void 0,fin.me.identity)))):await ut(await super.getSnapshot(void 0,fin.me.identity));return{...e,windows:e.windows.filter(pn).map(lt)}}async applySnapshot({snapshot:e,options:t}){const a=e=>super.applySnapshot({snapshot:e,options:{...t,closeExistingWindows:!1}});let o=e;"string"==typeof o&&(o=await super.fetchManifest({manifestUrl:o},fin.me.identity));const r=function(e){let t=!1,a=!1;for(const n of e.windows){if(t&&a)break;n.workspacePlatform?.pages?.length?a=!0:n.layout&&(t=!0)}return t&&a?gn.Mixed:t?gn.Platform:a?gn.Browser:e.windows.length?gn.Classic:null}(o);if(r===gn.Mixed)throw new Error("This snapshot cannot be applied as it contains a mixture of browser and platform windows.");if(n)gn.Platform;else if(r===gn.Browser)throw new Error("This snapshot cannot be applied as the platform has been initialized without the browser.");return t?.closeExistingWindows&&await async function(){const e=await H();await Promise.all(e.map((e=>e.close(!0).catch((()=>{})))))}(),n?async function(e,t){const a=await Fe(),n=e.snapshotDetails?.monitorInfo||await fin.System.getMonitorInfo(),[o,r]=(e.windows||[]).reduce((([e,t],a)=>a?.workspacePlatform?.pages?.length?[[...e,a],t]:[e,[...t,a]]),[[],[]]),i=new Map;a.forEach((e=>i.set(e.pageId,e)));const s=[],c=o.map((async e=>{const t=ln(e),a=[],n=(e=>{let t=!1;const a=(e||[]).map((e=>{const a=function({id:e,name:t,...a}){return{pageId:e,title:t,...a}}(e);return t&&a.isActive&&(a.isActive=!1),a.isActive&&(t=!0),a}));return!t&&a.length&&(a[0].isActive=!0),a})(t?.workspacePlatform?.pages);if(!n?.length){const e=await tt();a.push(await Bt(e,t.layout))}let o;n.forEach((e=>{const t=i.get(e.pageId);t?o=t:a.push(e)})),o&&await Promise.all([Xe({identity:o.parentIdentity,pageId:o.pageId}),yn(o.parentIdentity)]),a.length&&s.push({...t,workspacePlatform:{...t.workspacePlatform,pages:a}})}));if(await Promise.all(c),!s.length&&!r.length)return;const d=fin.Platform.getCurrentSync();return(t||d.applySnapshot.bind(d))({...e,snapshotDetails:{...e.snapshotDetails,monitorInfo:n},windows:[...s,...r]})}(o,a):a(o)}async createWindow(t,a){t.workspacePlatform?.toolbarOptions?.buttons&&(e=>{const t=e.filter((e=>e.type!==g.Custom)),a=new Set;for(const e of t){if(a.has(e.type))throw new Error(`Encountered a duplicate of ${e.type} button. No more than one instance of a button type may be provided.`);a.add(e.type)}})(t.workspacePlatform.toolbarOptions.buttons);let o=ln(t);if(n){const t=this.getThemes();o=await(async(e,t,a)=>{let n=e;const o=n?.workspacePlatform?.pages;if(o){const e=o.find((e=>e.isActive));e?n.layout=e.layout:(o[0].isActive=!0,n.layout=o[0].layout)}if(n.layout){if(n=rn({},t.defaultWindowOptions,n,un),n.layout=rn(n.layout,wn),(n.icon||n.taskbarIcon)&&(n.taskbarIconGroup=n.taskbarIconGroup||fin.me.identity.uuid),!n.backgroundColor){const e=a?.palette;n.backgroundColor=e?.background2||e?.backgroundPrimary}const e=n.workspacePlatform.newTabUrl;if(e&&(n.layout.settings||(n.layout.settings={}),n.layout.settings.newTabButton={url:e}),n=((e,t)=>{const a=e;return a.workspacePlatform||(a.workspacePlatform={}),a.workspacePlatform._internalDeferShowOptions={setAsForeground:!!t,deferShowEnabled:!0,autoShow:a.workspacePlatform?._internalAutoShow||a.workspacePlatform?._internalDeferShowOptions?.autoShow||void 0===a.autoShow||a.autoShow},a.autoShow=!1,a})(n,!0),!n.workspacePlatform.pages?.length){const e=await tt("Untitled Page"),t={...await Bt(e,n.layout),isActive:!0};n.workspacePlatform.pages=[t]}}return n.workspacePlatform?.pages&&(n.workspacePlatform.pages=await fn(n.workspacePlatform.pages,t?.defaultPageOptions)),n.cornerRounding&&delete n.cornerRounding,n})(o,e,t[0])}o=await(async e=>{const t=await fin.System.getMonitorInfo(),a=t.primaryMonitor.availableRect.bottom-t.primaryMonitor.availableRect.top,n=t.primaryMonitor.availableRect.right-t.primaryMonitor.availableRect.left;return e.defaultHeight=e.defaultHeight||"800",e.defaultWidth=e.defaultWidth||"800",a<e.defaultHeight&&(e.defaultHeight=a),n<e.defaultWidth&&(e.defaultWidth=n),e})(o);const r=(e,t)=>super.createWindow(e,t),i=n?(e=>async(t,a)=>{let n=!1;const o=await e(t,a);return t?.workspacePlatform?._internalDeferShowOptions?.deferShowEnabled?(await o.addListener(D.ShowRequested,(async()=>{if(n)return;const e=await o.getOptions();await o.updateOptions({workspacePlatform:{...e.workspacePlatform,_internalDeferShowOptions:{...e.workspacePlatform._internalDeferShowOptions,autoShow:!0}}}),n=!0})),o):o})(r):r;return i(o,a)}async createView(t,a){return t.opts=cn(t.opts,e?.defaultViewOptions),t.opts=await dn(t.opts,this.fetchManifest,a),super.createView(t,a)}async replaceView(t,a){return t.opts.newView=await cn(t.opts.newView,e?.defaultViewOptions),t.opts.newView=await dn(t.opts.newView,this.fetchManifest,a),super.replaceView(t,a)}async replaceLayout(e,t){return delete e.opts.layout?.dimensions,super.replaceLayout(e,t)}async closeView(e,t){const a=fin.View.wrapSync(e.view);await super.closeView(e,t),await a.destroy().catch((e=>e))}async getSavedPage(...e){return Wt.apply(this,e)}async getSavedPages(...e){return Ct.apply(this,e)}async createSavedPage(...e){return It.apply(this,e)}async deleteSavedPage(...e){return At.apply(this,e)}async updateSavedPage(...e){return Mt.apply(this,e)}async getSavedWorkspace(...e){return Ya.apply(this,e)}async getSavedWorkspaces(...e){return Za.apply(this,e)}async createSavedWorkspace(...e){return en.apply(this,e)}async deleteSavedWorkspace(...e){return tn.apply(this,e)}async updateSavedWorkspace(...e){return an.apply(this,e)}async attachPagesToWindow(t){t.pages=await fn(t.pages,e?.defaultPageOptions),await Qe(t)}async openGlobalContextMenuInternal(...e){return qa.apply(this,e)}async openGlobalContextMenu(...e){return Ka.apply(this,e)}async openViewTabContextMenuInternal(...e){return Qa.apply(this,e)}async openViewTabContextMenu(...e){return Ka.apply(this,e)}async openPageTabContextMenuInternal(...e){return za.apply(this,e)}async openPageTabContextMenu(...e){return Ka.apply(this,e)}async openSaveButtonContextMenu(...e){return Ka.apply(this,e)}async openSaveButtonContextMenuInternal(...e){return Ja.apply(this,e)}}return"function"==typeof t?t(o):new o};async function bn(){!function(){const e=L();e.addListener(B.WindowOptionsChanged,ot),e.addListener(B.WindowClosed,rt),e.addListener(B.WindowCreated,rt),fin.InterApplicationBus.subscribe({uuid:fin.me.identity.uuid},"browser-window-ready",rt)}(),async function(){const e=fin.Application.getCurrentSync();await e.addListener("window-focused",me)}();ue(await we())}let kn;function Wn({overrideCallback:e,interopOverride:t,browser:a}){if(!S)throw new Error("Cannot be used outside an OpenFin env.");if(!kn){fin.Platform.getCurrentSync().once("platform-api-ready",(()=>bn())),a?.title&&(n=a.title,oa=n),kn=fin.Platform.init({overrideCallback:Pn(a,e||a?.overrideCallback),interopOverride:t||a?.interopOverride}),(async e=>{z(Q.Platform,e)})({allowed:!0})}var n;return kn}const Cn=async({theme:e,customActions:t,...a})=>{const n=O.split(".").map((e=>parseInt(e))),o=await(async e=>new Promise((async t=>{(await Y()).disableRuntimeValidation&&t(!0);const a=(await fin.System.getVersion()).split(".").map((e=>parseInt(e)));t(e.every(((t,n)=>!(n<3)||a[n]===e[n])))})))(n);var r;if(e&&((r=e).forEach((e=>{const t=e.palette.backgroundPrimary;if(!t.includes("#")&&!t.includes("rgb")&&!t.includes("hsl"))throw new Error("Background primary color is not the right format.")})),vn=r,(async e=>{z(Q.Theming,e)})({allowed:!0})),t&&(it=t),o)return Wn(a);throw new Error(`Runtime version is not supported. ${n[0]}.${n[1]}.${n[2]}.* is required`)}})(),module.exports=n})();
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@openfin/workspace-platform","description":"An API for creating your own Workspace platform.","contributors":[],"version":"9.0.
|
|
1
|
+
{"name":"@openfin/workspace-platform","description":"An API for creating your own Workspace platform.","contributors":[],"version":"9.0.8","main":"index.js","scripts":{"promote:docs":"chmod +x ../common/scripts/deploy-latest-docs.sh && ../common/scripts/deploy-latest-docs.sh $(node ../common/scripts/echo-version.js) /platform","promote":"node ../common/scripts/promote-npm.js && npm run promote:docs","deploy:next":"npm run deploy:next:npm && npm run deploy:next:docs","deploy:next:npm":"cd out && npm publish --tag next","deploy:next:docs":"DIR=/platform node ../common/scripts/archive-docs.js","cp:readme":"copyfiles README.md out","cp:package":"node ../common/scripts/cp-package.js","create:rootIndex":"node ../common/scripts/cp-root-index.js","package":"npm run cp:readme && npm run cp:package && npm run create:rootIndex","clean":"rimraf ./out && rimraf ./docs","build:common":"cross-env ENV=prod webpack --mode=production --config ./webpack.common.config.js","build":"npm run clean && npm run build:common && npm run build:docs && node ../common/scripts/test-for-next-apis.js","build:docs":"typedoc --tsconfig ./tsconfig.json --readme none --disableSources ./src/index.ts","test":"jest --watch --colors","test:ci":"jest"},"keywords":["client","api","workspace","platform"],"license":"MIT"}
|