diff --git a/v3/cmd/wails3/main.go b/v3/cmd/wails3/main.go index f99f8675..34920ae1 100644 --- a/v3/cmd/wails3/main.go +++ b/v3/cmd/wails3/main.go @@ -54,6 +54,7 @@ func main() { tool := app.NewSubCommand("tool", "Various tools") tool.NewSubCommandFunction("checkport", "Checks if a port is open. Useful for testing if vite is running.", commands.ToolCheckPort) tool.NewSubCommandFunction("watcher", "Watches files and runs a command when they change", commands.Watcher) + tool.NewSubCommandFunction("cp", "Copy files", commands.Cp) app.NewSubCommandFunction("version", "Print the version", commands.Version) diff --git a/v3/examples/wml/assets/runtime.js b/v3/examples/wml/assets/runtime.js index aedc1bf0..dccb7409 100644 --- a/v3/examples/wml/assets/runtime.js +++ b/v3/examples/wml/assets/runtime.js @@ -1 +1 @@ -(()=>{var J=Object.defineProperty;var c=(e,i)=>{for(var n in i)J(e,n,{get:i[n],enumerable:!0})};var v={};c(v,{Hide:()=>te,Quit:()=>re,Show:()=>ae});var Y="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var p=(e=21)=>{let i="",n=e;for(;n--;)i+=Y[Math.random()*64|0];return i};var X=window.location.origin+"/wails/runtime",r={Call:0,Clipboard:1,Application:2,Events:3,ContextMenu:4,Dialog:5,Window:6,Screens:7,System:8,Browser:9},$=p();function d(e,i){return function(n,o=null){return ee(e,n,i,o)}}function ee(e,i,n,o){let t=new URL(X);t.searchParams.append("object",e),t.searchParams.append("method",i);let l={headers:{}};return n&&(l.headers["x-wails-window-name"]=n),o&&t.searchParams.append("args",JSON.stringify(o)),l.headers["x-wails-client-id"]=$,new Promise((m,D)=>{fetch(t,l).then(s=>{if(s.ok)return s.headers.get("Content-Type")&&s.headers.get("Content-Type").indexOf("application/json")!==-1?s.json():s.text();D(Error(s.statusText))}).then(s=>m(s)).catch(s=>D(s))})}var A=d(r.Application,""),ie=0,ne=1,oe=2;function te(){return A(ie)}function ae(){return A(ne)}function re(){return A(oe)}var R={};c(R,{OpenURL:()=>S});var de=d(r.Browser,""),le=0;function S(e){return de(le,{url:e})}var b={};c(b,{SetText:()=>we,Text:()=>me});var Z=d(r.Clipboard,""),ce=0,se=1;function we(e){return Z(ce,{text:e})}function me(){return Z(se)}var U={};c(U,{GetFlag:()=>ue});function ue(e){try{return window._wails.flags[e]}catch(i){throw new Error("Unable to retrieve flag '"+e+"': "+i)}}var O={};c(O,{GetAll:()=>he,GetCurrent:()=>De,GetPrimary:()=>fe});var E=d(r.Screens,""),pe=0,We=1,ge=2;function he(){return E(pe)}function fe(){return E(We)}function De(){return E(ge)}var B={};c(B,{Capabilities:()=>xe,Environment:()=>Ae,IsAMD64:()=>Ue,IsARM:()=>Ee,IsARM64:()=>Oe,IsDarkMode:()=>Ce,IsDebug:()=>Te,IsLinux:()=>Re,IsMac:()=>be,IsWindows:()=>ve,invoke:()=>T});var V=d(r.System,""),Se=0,Me=1;function T(e){return window.chrome?window.chrome.webview.postMessage(e):window.webkit.messageHandlers.external.postMessage}function Ce(){return V(Se)}function xe(){return fetch("/wails/capabilities").json()}function Ae(){return V(Me)}function ve(){return window._wails.environment.OS==="windows"}function Re(){return window._wails.environment.OS==="linux"}function be(){return window._wails.environment.OS==="darwin"}function Ue(){return window._wails.environment.Arch==="amd64"}function Ee(){return window._wails.environment.Arch==="arm"}function Oe(){return window._wails.environment.Arch==="arm64"}function Te(){return window._wails.environment.Debug===!0}var P={};c(P,{Center:()=>li,Close:()=>bi,Fullscreen:()=>si,Get:()=>M,GetZoomLevel:()=>Fi,Height:()=>Ti,Hide:()=>Di,Maximise:()=>Si,Minimise:()=>xi,RelativePosition:()=>hi,Restore:()=>vi,Screen:()=>fi,SetAlwaysOnTop:()=>Wi,SetBackgroundColour:()=>Ui,SetMaxSize:()=>ui,SetMinSize:()=>pi,SetRelativePosition:()=>gi,SetResizable:()=>Ei,SetSize:()=>wi,SetTitle:()=>ci,SetZoomLevel:()=>yi,Show:()=>Ri,Size:()=>mi,ToggleMaximise:()=>Ci,UnMaximise:()=>Mi,UnMinimise:()=>Ai,Width:()=>Oi,ZoomIn:()=>Bi,ZoomOut:()=>Pi,ZoomReset:()=>Ii});var Be=0,Pe=1,Ie=2,Fe=3,ye=4,Le=5,ke=6,Ne=7,ze=8,He=9,Ze=10,Ve=11,_e=12,je=13,Ge=14,Ke=15,Qe=16,qe=17,Je=18,Ye=19,Xe=20,$e=21,ei=22,ii=23,ni=24,oi=25,ti=26,ai=27,ri=28,di=29,a=M("");function _(e){return{Get:i=>_(d(r.Window,i)),Center:()=>e(Be),SetTitle:i=>e(Pe,{title:i}),Fullscreen:()=>e(Ie),UnFullscreen:()=>e(Fe),SetSize:(i,n)=>e(ye,{width:i,height:n}),Size:()=>e(Le),SetMaxSize:(i,n)=>e(ke,{width:i,height:n}),SetMinSize:(i,n)=>e(Ne,{width:i,height:n}),SetAlwaysOnTop:i=>e(ze,{alwaysOnTop:i}),SetRelativePosition:(i,n)=>e(He,{x:i,y:n}),RelativePosition:()=>e(Ze),Screen:()=>e(Ve),Hide:()=>e(_e),Maximise:()=>e(je),UnMaximise:()=>e(Ge),ToggleMaximise:()=>e(Ke),Minimise:()=>e(Qe),UnMinimise:()=>e(qe),Restore:()=>e(Je),Show:()=>e(Ye),Close:()=>e(Xe),SetBackgroundColour:(i,n,o,t)=>e($e,{r:i,g:n,b:o,a:t}),SetResizable:i=>e(ei,{resizable:i}),Width:()=>e(ii),Height:()=>e(ni),ZoomIn:()=>e(oi),ZoomOut:()=>e(ti),ZoomReset:()=>e(ai),GetZoomLevel:()=>e(ri),SetZoomLevel:i=>e(di,{zoomLevel:i})}}function M(e){return _(d(r.Window,e))}function li(){a.Center()}function ci(e){a.SetTitle(e)}function si(){a.Fullscreen()}function wi(e,i){a.SetSize(e,i)}function mi(){return a.Size()}function ui(e,i){a.SetMaxSize(e,i)}function pi(e,i){a.SetMinSize(e,i)}function Wi(e){a.SetAlwaysOnTop(e)}function gi(e,i){a.SetRelativePosition(e,i)}function hi(){return a.RelativePosition()}function fi(){return a.Screen()}function Di(){a.Hide()}function Si(){a.Maximise()}function Mi(){a.UnMaximise()}function Ci(){a.ToggleMaximise()}function xi(){a.Minimise()}function Ai(){a.UnMinimise()}function vi(){a.Restore()}function Ri(){a.Show()}function bi(){a.Close()}function Ui(e,i,n,o){a.SetBackgroundColour(e,i,n,o)}function Ei(e){a.SetResizable(e)}function Oi(){return a.Width()}function Ti(){return a.Height()}function Bi(){a.ZoomIn()}function Pi(){a.ZoomOut()}function Ii(){a.ZoomReset()}function Fi(){return a.GetZoomLevel()}function yi(e){a.SetZoomLevel(e)}var z={};c(z,{Reload:()=>N});var L={};c(L,{Emit:()=>y,Off:()=>ji,OffAll:()=>Gi,On:()=>Zi,OnMultiple:()=>F,Once:()=>Vi,Types:()=>Li,WailsEvent:()=>g,setup:()=>zi});var j={Windows:{SystemThemeChanged:"windows:SystemThemeChanged",APMPowerStatusChange:"windows:APMPowerStatusChange",APMSuspend:"windows:APMSuspend",APMResumeAutomatic:"windows:APMResumeAutomatic",APMResumeSuspend:"windows:APMResumeSuspend",APMPowerSettingChange:"windows:APMPowerSettingChange",ApplicationStarted:"windows:ApplicationStarted",WebViewNavigationCompleted:"windows:WebViewNavigationCompleted",WindowInactive:"windows:WindowInactive",WindowActive:"windows:WindowActive",WindowClickActive:"windows:WindowClickActive",WindowMaximise:"windows:WindowMaximise",WindowUnMaximise:"windows:WindowUnMaximise",WindowFullscreen:"windows:WindowFullscreen",WindowUnFullscreen:"windows:WindowUnFullscreen",WindowRestore:"windows:WindowRestore",WindowMinimise:"windows:WindowMinimise",WindowUnMinimise:"windows:WindowUnMinimise",WindowClose:"windows:WindowClose",WindowSetFocus:"windows:WindowSetFocus",WindowKillFocus:"windows:WindowKillFocus",WindowDragDrop:"windows:WindowDragDrop",WindowDragEnter:"windows:WindowDragEnter",WindowDragLeave:"windows:WindowDragLeave",WindowDragOver:"windows:WindowDragOver"},Mac:{ApplicationDidBecomeActive:"mac:ApplicationDidBecomeActive",ApplicationDidChangeBackingProperties:"mac:ApplicationDidChangeBackingProperties",ApplicationDidChangeEffectiveAppearance:"mac:ApplicationDidChangeEffectiveAppearance",ApplicationDidChangeIcon:"mac:ApplicationDidChangeIcon",ApplicationDidChangeOcclusionState:"mac:ApplicationDidChangeOcclusionState",ApplicationDidChangeScreenParameters:"mac:ApplicationDidChangeScreenParameters",ApplicationDidChangeStatusBarFrame:"mac:ApplicationDidChangeStatusBarFrame",ApplicationDidChangeStatusBarOrientation:"mac:ApplicationDidChangeStatusBarOrientation",ApplicationDidFinishLaunching:"mac:ApplicationDidFinishLaunching",ApplicationDidHide:"mac:ApplicationDidHide",ApplicationDidResignActiveNotification:"mac:ApplicationDidResignActiveNotification",ApplicationDidUnhide:"mac:ApplicationDidUnhide",ApplicationDidUpdate:"mac:ApplicationDidUpdate",ApplicationWillBecomeActive:"mac:ApplicationWillBecomeActive",ApplicationWillFinishLaunching:"mac:ApplicationWillFinishLaunching",ApplicationWillHide:"mac:ApplicationWillHide",ApplicationWillResignActive:"mac:ApplicationWillResignActive",ApplicationWillTerminate:"mac:ApplicationWillTerminate",ApplicationWillUnhide:"mac:ApplicationWillUnhide",ApplicationWillUpdate:"mac:ApplicationWillUpdate",ApplicationDidChangeTheme:"mac:ApplicationDidChangeTheme!",ApplicationShouldHandleReopen:"mac:ApplicationShouldHandleReopen!",WindowDidBecomeKey:"mac:WindowDidBecomeKey",WindowDidBecomeMain:"mac:WindowDidBecomeMain",WindowDidBeginSheet:"mac:WindowDidBeginSheet",WindowDidChangeAlpha:"mac:WindowDidChangeAlpha",WindowDidChangeBackingLocation:"mac:WindowDidChangeBackingLocation",WindowDidChangeBackingProperties:"mac:WindowDidChangeBackingProperties",WindowDidChangeCollectionBehavior:"mac:WindowDidChangeCollectionBehavior",WindowDidChangeEffectiveAppearance:"mac:WindowDidChangeEffectiveAppearance",WindowDidChangeOcclusionState:"mac:WindowDidChangeOcclusionState",WindowDidChangeOrderingMode:"mac:WindowDidChangeOrderingMode",WindowDidChangeScreen:"mac:WindowDidChangeScreen",WindowDidChangeScreenParameters:"mac:WindowDidChangeScreenParameters",WindowDidChangeScreenProfile:"mac:WindowDidChangeScreenProfile",WindowDidChangeScreenSpace:"mac:WindowDidChangeScreenSpace",WindowDidChangeScreenSpaceProperties:"mac:WindowDidChangeScreenSpaceProperties",WindowDidChangeSharingType:"mac:WindowDidChangeSharingType",WindowDidChangeSpace:"mac:WindowDidChangeSpace",WindowDidChangeSpaceOrderingMode:"mac:WindowDidChangeSpaceOrderingMode",WindowDidChangeTitle:"mac:WindowDidChangeTitle",WindowDidChangeToolbar:"mac:WindowDidChangeToolbar",WindowDidChangeVisibility:"mac:WindowDidChangeVisibility",WindowDidDeminiaturize:"mac:WindowDidDeminiaturize",WindowDidEndSheet:"mac:WindowDidEndSheet",WindowDidEnterFullScreen:"mac:WindowDidEnterFullScreen",WindowDidEnterVersionBrowser:"mac:WindowDidEnterVersionBrowser",WindowDidExitFullScreen:"mac:WindowDidExitFullScreen",WindowDidExitVersionBrowser:"mac:WindowDidExitVersionBrowser",WindowDidExpose:"mac:WindowDidExpose",WindowDidFocus:"mac:WindowDidFocus",WindowDidMiniaturize:"mac:WindowDidMiniaturize",WindowDidMove:"mac:WindowDidMove",WindowDidOrderOffScreen:"mac:WindowDidOrderOffScreen",WindowDidOrderOnScreen:"mac:WindowDidOrderOnScreen",WindowDidResignKey:"mac:WindowDidResignKey",WindowDidResignMain:"mac:WindowDidResignMain",WindowDidResize:"mac:WindowDidResize",WindowDidUpdate:"mac:WindowDidUpdate",WindowDidUpdateAlpha:"mac:WindowDidUpdateAlpha",WindowDidUpdateCollectionBehavior:"mac:WindowDidUpdateCollectionBehavior",WindowDidUpdateCollectionProperties:"mac:WindowDidUpdateCollectionProperties",WindowDidUpdateShadow:"mac:WindowDidUpdateShadow",WindowDidUpdateTitle:"mac:WindowDidUpdateTitle",WindowDidUpdateToolbar:"mac:WindowDidUpdateToolbar",WindowDidUpdateVisibility:"mac:WindowDidUpdateVisibility",WindowShouldClose:"mac:WindowShouldClose!",WindowWillBecomeKey:"mac:WindowWillBecomeKey",WindowWillBecomeMain:"mac:WindowWillBecomeMain",WindowWillBeginSheet:"mac:WindowWillBeginSheet",WindowWillChangeOrderingMode:"mac:WindowWillChangeOrderingMode",WindowWillClose:"mac:WindowWillClose",WindowWillDeminiaturize:"mac:WindowWillDeminiaturize",WindowWillEnterFullScreen:"mac:WindowWillEnterFullScreen",WindowWillEnterVersionBrowser:"mac:WindowWillEnterVersionBrowser",WindowWillExitFullScreen:"mac:WindowWillExitFullScreen",WindowWillExitVersionBrowser:"mac:WindowWillExitVersionBrowser",WindowWillFocus:"mac:WindowWillFocus",WindowWillMiniaturize:"mac:WindowWillMiniaturize",WindowWillMove:"mac:WindowWillMove",WindowWillOrderOffScreen:"mac:WindowWillOrderOffScreen",WindowWillOrderOnScreen:"mac:WindowWillOrderOnScreen",WindowWillResignMain:"mac:WindowWillResignMain",WindowWillResize:"mac:WindowWillResize",WindowWillUnfocus:"mac:WindowWillUnfocus",WindowWillUpdate:"mac:WindowWillUpdate",WindowWillUpdateAlpha:"mac:WindowWillUpdateAlpha",WindowWillUpdateCollectionBehavior:"mac:WindowWillUpdateCollectionBehavior",WindowWillUpdateCollectionProperties:"mac:WindowWillUpdateCollectionProperties",WindowWillUpdateShadow:"mac:WindowWillUpdateShadow",WindowWillUpdateTitle:"mac:WindowWillUpdateTitle",WindowWillUpdateToolbar:"mac:WindowWillUpdateToolbar",WindowWillUpdateVisibility:"mac:WindowWillUpdateVisibility",WindowWillUseStandardFrame:"mac:WindowWillUseStandardFrame",MenuWillOpen:"mac:MenuWillOpen",MenuDidOpen:"mac:MenuDidOpen",MenuDidClose:"mac:MenuDidClose",MenuWillSendAction:"mac:MenuWillSendAction",MenuDidSendAction:"mac:MenuDidSendAction",MenuWillHighlightItem:"mac:MenuWillHighlightItem",MenuDidHighlightItem:"mac:MenuDidHighlightItem",MenuWillDisplayItem:"mac:MenuWillDisplayItem",MenuDidDisplayItem:"mac:MenuDidDisplayItem",MenuWillAddItem:"mac:MenuWillAddItem",MenuDidAddItem:"mac:MenuDidAddItem",MenuWillRemoveItem:"mac:MenuWillRemoveItem",MenuDidRemoveItem:"mac:MenuDidRemoveItem",MenuWillBeginTracking:"mac:MenuWillBeginTracking",MenuDidBeginTracking:"mac:MenuDidBeginTracking",MenuWillEndTracking:"mac:MenuWillEndTracking",MenuDidEndTracking:"mac:MenuDidEndTracking",MenuWillUpdate:"mac:MenuWillUpdate",MenuDidUpdate:"mac:MenuDidUpdate",MenuWillPopUp:"mac:MenuWillPopUp",MenuDidPopUp:"mac:MenuDidPopUp",MenuWillSendActionToItem:"mac:MenuWillSendActionToItem",MenuDidSendActionToItem:"mac:MenuDidSendActionToItem",WebViewDidStartProvisionalNavigation:"mac:WebViewDidStartProvisionalNavigation",WebViewDidReceiveServerRedirectForProvisionalNavigation:"mac:WebViewDidReceiveServerRedirectForProvisionalNavigation",WebViewDidFinishNavigation:"mac:WebViewDidFinishNavigation",WebViewDidCommitNavigation:"mac:WebViewDidCommitNavigation",WindowFileDraggingEntered:"mac:WindowFileDraggingEntered",WindowFileDraggingPerformed:"mac:WindowFileDraggingPerformed",WindowFileDraggingExited:"mac:WindowFileDraggingExited"},Linux:{SystemThemeChanged:"linux:SystemThemeChanged"},Common:{ApplicationStarted:"common:ApplicationStarted",WindowMaximise:"common:WindowMaximise",WindowUnMaximise:"common:WindowUnMaximise",WindowFullscreen:"common:WindowFullscreen",WindowUnFullscreen:"common:WindowUnFullscreen",WindowRestore:"common:WindowRestore",WindowMinimise:"common:WindowMinimise",WindowUnMinimise:"common:WindowUnMinimise",WindowClosing:"common:WindowClosing",WindowZoom:"common:WindowZoom",WindowZoomIn:"common:WindowZoomIn",WindowZoomOut:"common:WindowZoomOut",WindowZoomReset:"common:WindowZoomReset",WindowFocus:"common:WindowFocus",WindowLostFocus:"common:WindowLostFocus",WindowShow:"common:WindowShow",WindowHide:"common:WindowHide",WindowDPIChanged:"common:WindowDPIChanged",WindowFilesDropped:"common:WindowFilesDropped",WindowRuntimeReady:"common:WindowRuntimeReady",ThemeChanged:"common:ThemeChanged"}};var Li=j;window._wails=window._wails||{};window._wails.dispatchWailsEvent=Hi;var ki=d(r.Events,""),Ni=0,w=new Map,I=class{constructor(i,n,o){this.eventName=i,this.maxCallbacks=o||-1,this.Callback=t=>(n(t),this.maxCallbacks===-1?!1:(this.maxCallbacks-=1,this.maxCallbacks===0))}},g=class{constructor(i,n=null){this.name=i,this.data=n}};function zi(){}function Hi(e){let i=w.get(e.name);if(i){let n=i.filter(o=>{if(o.Callback(e))return!0});n.length>0&&(i=i.filter(o=>!n.includes(o)),i.length===0?w.delete(e.name):w.set(e.name,i))}}function F(e,i,n){let o=w.get(e)||[],t=new I(e,i,n);return o.push(t),w.set(e,o),()=>_i(t)}function Zi(e,i){return F(e,i,-1)}function Vi(e,i){return F(e,i,1)}function _i(e){let i=e.eventName,n=w.get(i).filter(o=>o!==e);n.length===0?w.delete(i):w.set(i,n)}function ji(e,...i){[e,...i].forEach(o=>w.delete(o))}function Gi(){w.clear()}function y(e){return ki(Ni,e)}var k={};c(k,{Error:()=>rn,Info:()=>tn,OpenFile:()=>dn,Question:()=>h,SaveFile:()=>ln,Warning:()=>an});window._wails=window._wails||{};window._wails.dialogErrorCallback=on;window._wails.dialogResultCallback=nn;var Ki=0,Qi=1,qi=2,Ji=3,Yi=4,Xi=5,$i=d(r.Dialog,""),u=new Map;function en(){let e;do e=p();while(u.has(e));return e}function W(e,i={}){let n=en();return i["dialog-id"]=n,new Promise((o,t)=>{u.set(n,{resolve:o,reject:t}),$i(e,i).catch(l=>{t(l),u.delete(n)})})}function nn(e,i,n){let o=u.get(e);o&&(n?o.resolve(JSON.parse(i)):o.resolve(i),u.delete(e))}function on(e,i){let n=u.get(e);n&&(n.reject(i),u.delete(e))}var tn=e=>W(Ki,e),an=e=>W(Qi,e),rn=e=>W(qi,e),h=e=>W(Ji,e),dn=e=>W(Yi,e),ln=e=>W(Xi,e);function G(e,i=null){let n=new g(e,i);y(n)}function cn(){document.querySelectorAll("[wml-event]").forEach(function(i){let n=i.getAttribute("wml-event"),o=i.getAttribute("wml-confirm"),t=i.getAttribute("wml-trigger")||"click",l=function(){if(o){h({Title:"Confirm",Message:o,Detached:!1,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(m){m!=="No"&&G(n)});return}G(n)};i.removeEventListener(t,l),i.addEventListener(t,l)})}function K(e,i){let n=M(e),o=mn(n);o.has(i);try{o.get(i)()}catch{}}function sn(){document.querySelectorAll("[wml-window]").forEach(function(i){let n=i.getAttribute("wml-window"),o=i.getAttribute("wml-confirm"),t=i.getAttribute("wml-trigger")||"click",l=i.getAttribute("wml-target-window")||"",m=function(){if(o){h({Title:"Confirm",Message:o,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(D){D!=="No"&&K(l,n)});return}K(l,n)};i.removeEventListener(t,m),i.addEventListener(t,m)})}function wn(){document.querySelectorAll("[wml-openurl]").forEach(function(i){let n=i.getAttribute("wml-openurl"),o=i.getAttribute("wml-confirm"),t=i.getAttribute("wml-trigger")||"click",l=function(){if(o){h({Title:"Confirm",Message:o,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(m){m!=="No"&&S(n)});return}S(n)};i.removeEventListener(t,l),i.addEventListener(t,l)})}function N(){cn(),sn(),wn()}function mn(e){let i=new Map;for(let n in e)typeof e[n]=="function"&&i.set(n,e[n]);return i}var H={};c(H,{ByID:()=>Dn,ByName:()=>fn,Call:()=>hn,Plugin:()=>Sn});window._wails=window._wails||{};window._wails.callResultHandler=Wn;window._wails.callErrorHandler=gn;var C=0,un=d(r.Call,""),f=new Map;function pn(){let e;do e=p();while(f.has(e));return e}function Wn(e,i,n){let o=Q(e);o&&o.resolve(n?JSON.parse(i):i)}function gn(e,i){let n=Q(e);n&&n.reject(i)}function Q(e){let i=f.get(e);return f.delete(e),i}function x(e,i={}){return new Promise((n,o)=>{let t=pn();i["call-id"]=t,f.set(t,{resolve:n,reject:o}),un(e,i).catch(l=>{o(l),f.delete(t)})})}function hn(e){return x(C,e)}function fn(e,...i){if(typeof e!="string"||e.split(".").length!==3)throw new Error("CallByName requires a string in the format 'package.struct.method'");let[n,o,t]=e.split(".");return x(C,{packageName:n,structName:o,methodName:t,args:i})}function Dn(e,...i){return x(C,{methodID:e,args:i})}function Sn(e,i,...n){return x(C,{packageName:"wails-plugins",structName:e,methodName:i,args:n})}window._wails=window._wails||{};window._wails.invoke=T;window.wails=window.wails||{};window.wails.Application=v;window.wails.Browser=R;window.wails.Call=H;window.wails.Clipboard=b;window.wails.Dialogs=k;window.wails.Events=L;window.wails.Flags=U;window.wails.Screens=O;window.wails.System=B;window.wails.Window=P;window.wails.WML=z;var q=!1;document.addEventListener("DOMContentLoaded",function(){q=!0,window._wails.invoke("wails:runtime:ready")});function Mn(e){q||document.readyState==="complete"?e():document.addEventListener("DOMContentLoaded",e)}Mn(()=>{N()});})(); +(()=>{var J=Object.defineProperty;var c=(e,i)=>{for(var n in i)J(e,n,{get:i[n],enumerable:!0})};var v={};c(v,{Hide:()=>te,Quit:()=>re,Show:()=>ae});var Y="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var p=(e=21)=>{let i="",n=e;for(;n--;)i+=Y[Math.random()*64|0];return i};var X=window.location.origin+"/wails/runtime",r={Call:0,Clipboard:1,Application:2,Events:3,ContextMenu:4,Dialog:5,Window:6,Screens:7,System:8,Browser:9},$=p();function d(e,i){return function(n,o=null){return ee(e,n,i,o)}}function ee(e,i,n,o){let t=new URL(X);t.searchParams.append("object",e),t.searchParams.append("method",i);let l={headers:{}};return n&&(l.headers["x-wails-window-name"]=n),o&&t.searchParams.append("args",JSON.stringify(o)),l.headers["x-wails-client-id"]=$,new Promise((m,D)=>{fetch(t,l).then(s=>{if(s.ok)return s.headers.get("Content-Type")&&s.headers.get("Content-Type").indexOf("application/json")!==-1?s.json():s.text();D(Error(s.statusText))}).then(s=>m(s)).catch(s=>D(s))})}var A=d(r.Application,""),ie=0,ne=1,oe=2;function te(){return A(ie)}function ae(){return A(ne)}function re(){return A(oe)}var R={};c(R,{OpenURL:()=>S});var de=d(r.Browser,""),le=0;function S(e){return de(le,{url:e})}var b={};c(b,{SetText:()=>we,Text:()=>me});var Z=d(r.Clipboard,""),ce=0,se=1;function we(e){return Z(ce,{text:e})}function me(){return Z(se)}var U={};c(U,{GetFlag:()=>ue});function ue(e){try{return window._wails.flags[e]}catch(i){throw new Error("Unable to retrieve flag '"+e+"': "+i)}}var O={};c(O,{GetAll:()=>he,GetCurrent:()=>De,GetPrimary:()=>fe});var E=d(r.Screens,""),pe=0,We=1,ge=2;function he(){return E(pe)}function fe(){return E(We)}function De(){return E(ge)}var B={};c(B,{Capabilities:()=>xe,Environment:()=>Ae,IsAMD64:()=>Ue,IsARM:()=>Ee,IsARM64:()=>Oe,IsDarkMode:()=>Ce,IsDebug:()=>Te,IsLinux:()=>Re,IsMac:()=>be,IsWindows:()=>ve,invoke:()=>T});var V=d(r.System,""),Se=0,Me=1;function T(e){return window.chrome?window.chrome.webview.postMessage(e):window.webkit.messageHandlers.external.postMessage(e)}function Ce(){return V(Se)}function xe(){return fetch("/wails/capabilities").json()}function Ae(){return V(Me)}function ve(){return window._wails.environment.OS==="windows"}function Re(){return window._wails.environment.OS==="linux"}function be(){return window._wails.environment.OS==="darwin"}function Ue(){return window._wails.environment.Arch==="amd64"}function Ee(){return window._wails.environment.Arch==="arm"}function Oe(){return window._wails.environment.Arch==="arm64"}function Te(){return window._wails.environment.Debug===!0}var P={};c(P,{Center:()=>li,Close:()=>bi,Fullscreen:()=>si,Get:()=>M,GetZoomLevel:()=>Fi,Height:()=>Ti,Hide:()=>Di,Maximise:()=>Si,Minimise:()=>xi,RelativePosition:()=>hi,Restore:()=>vi,Screen:()=>fi,SetAlwaysOnTop:()=>Wi,SetBackgroundColour:()=>Ui,SetMaxSize:()=>ui,SetMinSize:()=>pi,SetRelativePosition:()=>gi,SetResizable:()=>Ei,SetSize:()=>wi,SetTitle:()=>ci,SetZoomLevel:()=>yi,Show:()=>Ri,Size:()=>mi,ToggleMaximise:()=>Ci,UnMaximise:()=>Mi,UnMinimise:()=>Ai,Width:()=>Oi,ZoomIn:()=>Bi,ZoomOut:()=>Pi,ZoomReset:()=>Ii});var Be=0,Pe=1,Ie=2,Fe=3,ye=4,Le=5,ke=6,Ne=7,ze=8,He=9,Ze=10,Ve=11,_e=12,je=13,Ge=14,Ke=15,Qe=16,qe=17,Je=18,Ye=19,Xe=20,$e=21,ei=22,ii=23,ni=24,oi=25,ti=26,ai=27,ri=28,di=29,a=M("");function _(e){return{Get:i=>_(d(r.Window,i)),Center:()=>e(Be),SetTitle:i=>e(Pe,{title:i}),Fullscreen:()=>e(Ie),UnFullscreen:()=>e(Fe),SetSize:(i,n)=>e(ye,{width:i,height:n}),Size:()=>e(Le),SetMaxSize:(i,n)=>e(ke,{width:i,height:n}),SetMinSize:(i,n)=>e(Ne,{width:i,height:n}),SetAlwaysOnTop:i=>e(ze,{alwaysOnTop:i}),SetRelativePosition:(i,n)=>e(He,{x:i,y:n}),RelativePosition:()=>e(Ze),Screen:()=>e(Ve),Hide:()=>e(_e),Maximise:()=>e(je),UnMaximise:()=>e(Ge),ToggleMaximise:()=>e(Ke),Minimise:()=>e(Qe),UnMinimise:()=>e(qe),Restore:()=>e(Je),Show:()=>e(Ye),Close:()=>e(Xe),SetBackgroundColour:(i,n,o,t)=>e($e,{r:i,g:n,b:o,a:t}),SetResizable:i=>e(ei,{resizable:i}),Width:()=>e(ii),Height:()=>e(ni),ZoomIn:()=>e(oi),ZoomOut:()=>e(ti),ZoomReset:()=>e(ai),GetZoomLevel:()=>e(ri),SetZoomLevel:i=>e(di,{zoomLevel:i})}}function M(e){return _(d(r.Window,e))}function li(){a.Center()}function ci(e){a.SetTitle(e)}function si(){a.Fullscreen()}function wi(e,i){a.SetSize(e,i)}function mi(){return a.Size()}function ui(e,i){a.SetMaxSize(e,i)}function pi(e,i){a.SetMinSize(e,i)}function Wi(e){a.SetAlwaysOnTop(e)}function gi(e,i){a.SetRelativePosition(e,i)}function hi(){return a.RelativePosition()}function fi(){return a.Screen()}function Di(){a.Hide()}function Si(){a.Maximise()}function Mi(){a.UnMaximise()}function Ci(){a.ToggleMaximise()}function xi(){a.Minimise()}function Ai(){a.UnMinimise()}function vi(){a.Restore()}function Ri(){a.Show()}function bi(){a.Close()}function Ui(e,i,n,o){a.SetBackgroundColour(e,i,n,o)}function Ei(e){a.SetResizable(e)}function Oi(){return a.Width()}function Ti(){return a.Height()}function Bi(){a.ZoomIn()}function Pi(){a.ZoomOut()}function Ii(){a.ZoomReset()}function Fi(){return a.GetZoomLevel()}function yi(e){a.SetZoomLevel(e)}var z={};c(z,{Reload:()=>N});var L={};c(L,{Emit:()=>y,Off:()=>ji,OffAll:()=>Gi,On:()=>Zi,OnMultiple:()=>F,Once:()=>Vi,Types:()=>Li,WailsEvent:()=>g,setup:()=>zi});var j={Windows:{SystemThemeChanged:"windows:SystemThemeChanged",APMPowerStatusChange:"windows:APMPowerStatusChange",APMSuspend:"windows:APMSuspend",APMResumeAutomatic:"windows:APMResumeAutomatic",APMResumeSuspend:"windows:APMResumeSuspend",APMPowerSettingChange:"windows:APMPowerSettingChange",ApplicationStarted:"windows:ApplicationStarted",WebViewNavigationCompleted:"windows:WebViewNavigationCompleted",WindowInactive:"windows:WindowInactive",WindowActive:"windows:WindowActive",WindowClickActive:"windows:WindowClickActive",WindowMaximise:"windows:WindowMaximise",WindowUnMaximise:"windows:WindowUnMaximise",WindowFullscreen:"windows:WindowFullscreen",WindowUnFullscreen:"windows:WindowUnFullscreen",WindowRestore:"windows:WindowRestore",WindowMinimise:"windows:WindowMinimise",WindowUnMinimise:"windows:WindowUnMinimise",WindowClose:"windows:WindowClose",WindowSetFocus:"windows:WindowSetFocus",WindowKillFocus:"windows:WindowKillFocus",WindowDragDrop:"windows:WindowDragDrop",WindowDragEnter:"windows:WindowDragEnter",WindowDragLeave:"windows:WindowDragLeave",WindowDragOver:"windows:WindowDragOver"},Mac:{ApplicationDidBecomeActive:"mac:ApplicationDidBecomeActive",ApplicationDidChangeBackingProperties:"mac:ApplicationDidChangeBackingProperties",ApplicationDidChangeEffectiveAppearance:"mac:ApplicationDidChangeEffectiveAppearance",ApplicationDidChangeIcon:"mac:ApplicationDidChangeIcon",ApplicationDidChangeOcclusionState:"mac:ApplicationDidChangeOcclusionState",ApplicationDidChangeScreenParameters:"mac:ApplicationDidChangeScreenParameters",ApplicationDidChangeStatusBarFrame:"mac:ApplicationDidChangeStatusBarFrame",ApplicationDidChangeStatusBarOrientation:"mac:ApplicationDidChangeStatusBarOrientation",ApplicationDidFinishLaunching:"mac:ApplicationDidFinishLaunching",ApplicationDidHide:"mac:ApplicationDidHide",ApplicationDidResignActiveNotification:"mac:ApplicationDidResignActiveNotification",ApplicationDidUnhide:"mac:ApplicationDidUnhide",ApplicationDidUpdate:"mac:ApplicationDidUpdate",ApplicationWillBecomeActive:"mac:ApplicationWillBecomeActive",ApplicationWillFinishLaunching:"mac:ApplicationWillFinishLaunching",ApplicationWillHide:"mac:ApplicationWillHide",ApplicationWillResignActive:"mac:ApplicationWillResignActive",ApplicationWillTerminate:"mac:ApplicationWillTerminate",ApplicationWillUnhide:"mac:ApplicationWillUnhide",ApplicationWillUpdate:"mac:ApplicationWillUpdate",ApplicationDidChangeTheme:"mac:ApplicationDidChangeTheme!",ApplicationShouldHandleReopen:"mac:ApplicationShouldHandleReopen!",WindowDidBecomeKey:"mac:WindowDidBecomeKey",WindowDidBecomeMain:"mac:WindowDidBecomeMain",WindowDidBeginSheet:"mac:WindowDidBeginSheet",WindowDidChangeAlpha:"mac:WindowDidChangeAlpha",WindowDidChangeBackingLocation:"mac:WindowDidChangeBackingLocation",WindowDidChangeBackingProperties:"mac:WindowDidChangeBackingProperties",WindowDidChangeCollectionBehavior:"mac:WindowDidChangeCollectionBehavior",WindowDidChangeEffectiveAppearance:"mac:WindowDidChangeEffectiveAppearance",WindowDidChangeOcclusionState:"mac:WindowDidChangeOcclusionState",WindowDidChangeOrderingMode:"mac:WindowDidChangeOrderingMode",WindowDidChangeScreen:"mac:WindowDidChangeScreen",WindowDidChangeScreenParameters:"mac:WindowDidChangeScreenParameters",WindowDidChangeScreenProfile:"mac:WindowDidChangeScreenProfile",WindowDidChangeScreenSpace:"mac:WindowDidChangeScreenSpace",WindowDidChangeScreenSpaceProperties:"mac:WindowDidChangeScreenSpaceProperties",WindowDidChangeSharingType:"mac:WindowDidChangeSharingType",WindowDidChangeSpace:"mac:WindowDidChangeSpace",WindowDidChangeSpaceOrderingMode:"mac:WindowDidChangeSpaceOrderingMode",WindowDidChangeTitle:"mac:WindowDidChangeTitle",WindowDidChangeToolbar:"mac:WindowDidChangeToolbar",WindowDidChangeVisibility:"mac:WindowDidChangeVisibility",WindowDidDeminiaturize:"mac:WindowDidDeminiaturize",WindowDidEndSheet:"mac:WindowDidEndSheet",WindowDidEnterFullScreen:"mac:WindowDidEnterFullScreen",WindowDidEnterVersionBrowser:"mac:WindowDidEnterVersionBrowser",WindowDidExitFullScreen:"mac:WindowDidExitFullScreen",WindowDidExitVersionBrowser:"mac:WindowDidExitVersionBrowser",WindowDidExpose:"mac:WindowDidExpose",WindowDidFocus:"mac:WindowDidFocus",WindowDidMiniaturize:"mac:WindowDidMiniaturize",WindowDidMove:"mac:WindowDidMove",WindowDidOrderOffScreen:"mac:WindowDidOrderOffScreen",WindowDidOrderOnScreen:"mac:WindowDidOrderOnScreen",WindowDidResignKey:"mac:WindowDidResignKey",WindowDidResignMain:"mac:WindowDidResignMain",WindowDidResize:"mac:WindowDidResize",WindowDidUpdate:"mac:WindowDidUpdate",WindowDidUpdateAlpha:"mac:WindowDidUpdateAlpha",WindowDidUpdateCollectionBehavior:"mac:WindowDidUpdateCollectionBehavior",WindowDidUpdateCollectionProperties:"mac:WindowDidUpdateCollectionProperties",WindowDidUpdateShadow:"mac:WindowDidUpdateShadow",WindowDidUpdateTitle:"mac:WindowDidUpdateTitle",WindowDidUpdateToolbar:"mac:WindowDidUpdateToolbar",WindowDidUpdateVisibility:"mac:WindowDidUpdateVisibility",WindowShouldClose:"mac:WindowShouldClose!",WindowWillBecomeKey:"mac:WindowWillBecomeKey",WindowWillBecomeMain:"mac:WindowWillBecomeMain",WindowWillBeginSheet:"mac:WindowWillBeginSheet",WindowWillChangeOrderingMode:"mac:WindowWillChangeOrderingMode",WindowWillClose:"mac:WindowWillClose",WindowWillDeminiaturize:"mac:WindowWillDeminiaturize",WindowWillEnterFullScreen:"mac:WindowWillEnterFullScreen",WindowWillEnterVersionBrowser:"mac:WindowWillEnterVersionBrowser",WindowWillExitFullScreen:"mac:WindowWillExitFullScreen",WindowWillExitVersionBrowser:"mac:WindowWillExitVersionBrowser",WindowWillFocus:"mac:WindowWillFocus",WindowWillMiniaturize:"mac:WindowWillMiniaturize",WindowWillMove:"mac:WindowWillMove",WindowWillOrderOffScreen:"mac:WindowWillOrderOffScreen",WindowWillOrderOnScreen:"mac:WindowWillOrderOnScreen",WindowWillResignMain:"mac:WindowWillResignMain",WindowWillResize:"mac:WindowWillResize",WindowWillUnfocus:"mac:WindowWillUnfocus",WindowWillUpdate:"mac:WindowWillUpdate",WindowWillUpdateAlpha:"mac:WindowWillUpdateAlpha",WindowWillUpdateCollectionBehavior:"mac:WindowWillUpdateCollectionBehavior",WindowWillUpdateCollectionProperties:"mac:WindowWillUpdateCollectionProperties",WindowWillUpdateShadow:"mac:WindowWillUpdateShadow",WindowWillUpdateTitle:"mac:WindowWillUpdateTitle",WindowWillUpdateToolbar:"mac:WindowWillUpdateToolbar",WindowWillUpdateVisibility:"mac:WindowWillUpdateVisibility",WindowWillUseStandardFrame:"mac:WindowWillUseStandardFrame",MenuWillOpen:"mac:MenuWillOpen",MenuDidOpen:"mac:MenuDidOpen",MenuDidClose:"mac:MenuDidClose",MenuWillSendAction:"mac:MenuWillSendAction",MenuDidSendAction:"mac:MenuDidSendAction",MenuWillHighlightItem:"mac:MenuWillHighlightItem",MenuDidHighlightItem:"mac:MenuDidHighlightItem",MenuWillDisplayItem:"mac:MenuWillDisplayItem",MenuDidDisplayItem:"mac:MenuDidDisplayItem",MenuWillAddItem:"mac:MenuWillAddItem",MenuDidAddItem:"mac:MenuDidAddItem",MenuWillRemoveItem:"mac:MenuWillRemoveItem",MenuDidRemoveItem:"mac:MenuDidRemoveItem",MenuWillBeginTracking:"mac:MenuWillBeginTracking",MenuDidBeginTracking:"mac:MenuDidBeginTracking",MenuWillEndTracking:"mac:MenuWillEndTracking",MenuDidEndTracking:"mac:MenuDidEndTracking",MenuWillUpdate:"mac:MenuWillUpdate",MenuDidUpdate:"mac:MenuDidUpdate",MenuWillPopUp:"mac:MenuWillPopUp",MenuDidPopUp:"mac:MenuDidPopUp",MenuWillSendActionToItem:"mac:MenuWillSendActionToItem",MenuDidSendActionToItem:"mac:MenuDidSendActionToItem",WebViewDidStartProvisionalNavigation:"mac:WebViewDidStartProvisionalNavigation",WebViewDidReceiveServerRedirectForProvisionalNavigation:"mac:WebViewDidReceiveServerRedirectForProvisionalNavigation",WebViewDidFinishNavigation:"mac:WebViewDidFinishNavigation",WebViewDidCommitNavigation:"mac:WebViewDidCommitNavigation",WindowFileDraggingEntered:"mac:WindowFileDraggingEntered",WindowFileDraggingPerformed:"mac:WindowFileDraggingPerformed",WindowFileDraggingExited:"mac:WindowFileDraggingExited"},Linux:{SystemThemeChanged:"linux:SystemThemeChanged"},Common:{ApplicationStarted:"common:ApplicationStarted",WindowMaximise:"common:WindowMaximise",WindowUnMaximise:"common:WindowUnMaximise",WindowFullscreen:"common:WindowFullscreen",WindowUnFullscreen:"common:WindowUnFullscreen",WindowRestore:"common:WindowRestore",WindowMinimise:"common:WindowMinimise",WindowUnMinimise:"common:WindowUnMinimise",WindowClosing:"common:WindowClosing",WindowZoom:"common:WindowZoom",WindowZoomIn:"common:WindowZoomIn",WindowZoomOut:"common:WindowZoomOut",WindowZoomReset:"common:WindowZoomReset",WindowFocus:"common:WindowFocus",WindowLostFocus:"common:WindowLostFocus",WindowShow:"common:WindowShow",WindowHide:"common:WindowHide",WindowDPIChanged:"common:WindowDPIChanged",WindowFilesDropped:"common:WindowFilesDropped",WindowRuntimeReady:"common:WindowRuntimeReady",ThemeChanged:"common:ThemeChanged"}};var Li=j;window._wails=window._wails||{};window._wails.dispatchWailsEvent=Hi;var ki=d(r.Events,""),Ni=0,w=new Map,I=class{constructor(i,n,o){this.eventName=i,this.maxCallbacks=o||-1,this.Callback=t=>(n(t),this.maxCallbacks===-1?!1:(this.maxCallbacks-=1,this.maxCallbacks===0))}},g=class{constructor(i,n=null){this.name=i,this.data=n}};function zi(){}function Hi(e){let i=w.get(e.name);if(i){let n=i.filter(o=>{if(o.Callback(e))return!0});n.length>0&&(i=i.filter(o=>!n.includes(o)),i.length===0?w.delete(e.name):w.set(e.name,i))}}function F(e,i,n){let o=w.get(e)||[],t=new I(e,i,n);return o.push(t),w.set(e,o),()=>_i(t)}function Zi(e,i){return F(e,i,-1)}function Vi(e,i){return F(e,i,1)}function _i(e){let i=e.eventName,n=w.get(i).filter(o=>o!==e);n.length===0?w.delete(i):w.set(i,n)}function ji(e,...i){[e,...i].forEach(o=>w.delete(o))}function Gi(){w.clear()}function y(e){return ki(Ni,e)}var k={};c(k,{Error:()=>rn,Info:()=>tn,OpenFile:()=>dn,Question:()=>h,SaveFile:()=>ln,Warning:()=>an});window._wails=window._wails||{};window._wails.dialogErrorCallback=on;window._wails.dialogResultCallback=nn;var Ki=0,Qi=1,qi=2,Ji=3,Yi=4,Xi=5,$i=d(r.Dialog,""),u=new Map;function en(){let e;do e=p();while(u.has(e));return e}function W(e,i={}){let n=en();return i["dialog-id"]=n,new Promise((o,t)=>{u.set(n,{resolve:o,reject:t}),$i(e,i).catch(l=>{t(l),u.delete(n)})})}function nn(e,i,n){let o=u.get(e);o&&(n?o.resolve(JSON.parse(i)):o.resolve(i),u.delete(e))}function on(e,i){let n=u.get(e);n&&(n.reject(i),u.delete(e))}var tn=e=>W(Ki,e),an=e=>W(Qi,e),rn=e=>W(qi,e),h=e=>W(Ji,e),dn=e=>W(Yi,e),ln=e=>W(Xi,e);function G(e,i=null){let n=new g(e,i);y(n)}function cn(){document.querySelectorAll("[wml-event]").forEach(function(i){let n=i.getAttribute("wml-event"),o=i.getAttribute("wml-confirm"),t=i.getAttribute("wml-trigger")||"click",l=function(){if(o){h({Title:"Confirm",Message:o,Detached:!1,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(m){m!=="No"&&G(n)});return}G(n)};i.removeEventListener(t,l),i.addEventListener(t,l)})}function K(e,i){let n=M(e),o=mn(n);o.has(i);try{o.get(i)()}catch{}}function sn(){document.querySelectorAll("[wml-window]").forEach(function(i){let n=i.getAttribute("wml-window"),o=i.getAttribute("wml-confirm"),t=i.getAttribute("wml-trigger")||"click",l=i.getAttribute("wml-target-window")||"",m=function(){if(o){h({Title:"Confirm",Message:o,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(D){D!=="No"&&K(l,n)});return}K(l,n)};i.removeEventListener(t,m),i.addEventListener(t,m)})}function wn(){document.querySelectorAll("[wml-openurl]").forEach(function(i){let n=i.getAttribute("wml-openurl"),o=i.getAttribute("wml-confirm"),t=i.getAttribute("wml-trigger")||"click",l=function(){if(o){h({Title:"Confirm",Message:o,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(m){m!=="No"&&S(n)});return}S(n)};i.removeEventListener(t,l),i.addEventListener(t,l)})}function N(){cn(),sn(),wn()}function mn(e){let i=new Map;for(let n in e)typeof e[n]=="function"&&i.set(n,e[n]);return i}var H={};c(H,{ByID:()=>Dn,ByName:()=>fn,Call:()=>hn,Plugin:()=>Sn});window._wails=window._wails||{};window._wails.callResultHandler=Wn;window._wails.callErrorHandler=gn;var C=0,un=d(r.Call,""),f=new Map;function pn(){let e;do e=p();while(f.has(e));return e}function Wn(e,i,n){let o=Q(e);o&&o.resolve(n?JSON.parse(i):i)}function gn(e,i){let n=Q(e);n&&n.reject(i)}function Q(e){let i=f.get(e);return f.delete(e),i}function x(e,i={}){return new Promise((n,o)=>{let t=pn();i["call-id"]=t,f.set(t,{resolve:n,reject:o}),un(e,i).catch(l=>{o(l),f.delete(t)})})}function hn(e){return x(C,e)}function fn(e,...i){if(typeof e!="string"||e.split(".").length!==3)throw new Error("CallByName requires a string in the format 'package.struct.method'");let[n,o,t]=e.split(".");return x(C,{packageName:n,structName:o,methodName:t,args:i})}function Dn(e,...i){return x(C,{methodID:e,args:i})}function Sn(e,i,...n){return x(C,{packageName:"wails-plugins",structName:e,methodName:i,args:n})}window._wails=window._wails||{};window._wails.invoke=T;window.wails=window.wails||{};window.wails.Application=v;window.wails.Browser=R;window.wails.Call=H;window.wails.Clipboard=b;window.wails.Dialogs=k;window.wails.Events=L;window.wails.Flags=U;window.wails.Screens=O;window.wails.System=B;window.wails.Window=P;window.wails.WML=z;var q=!1;document.addEventListener("DOMContentLoaded",function(){q=!0,window._wails.invoke("wails:runtime:ready")});function Mn(e){q||document.readyState==="complete"?e():document.addEventListener("DOMContentLoaded",e)}Mn(()=>{N()});})(); diff --git a/v3/go.mod b/v3/go.mod index 564b8f81..2d0c5008 100644 --- a/v3/go.mod +++ b/v3/go.mod @@ -5,7 +5,7 @@ go 1.21.1 toolchain go1.21.4 require ( - github.com/atterpac/refresh v0.4.32 + github.com/atterpac/refresh v0.5.11 github.com/bep/debounce v1.2.1 github.com/ebitengine/purego v0.4.0-alpha.4 github.com/go-git/go-git/v5 v5.11.0 @@ -32,6 +32,7 @@ require ( github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 github.com/pkg/errors v0.9.1 github.com/pterm/pterm v0.12.51 + github.com/rjeczalik/notify v0.9.3 github.com/samber/lo v1.38.1 github.com/tc-hib/winres v0.1.6 github.com/wailsapp/go-webview2 v1.0.9 @@ -83,7 +84,6 @@ require ( github.com/radovskyb/watcher v1.0.7 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect github.com/rivo/uniseg v0.4.4 // indirect - github.com/rjeczalik/notify v0.9.3 // indirect github.com/sajari/fuzzy v1.0.0 // indirect github.com/sergi/go-diff v1.2.0 // indirect github.com/skeema/knownhosts v1.2.1 // indirect diff --git a/v3/go.sum b/v3/go.sum index ec60164f..ecdad413 100644 --- a/v3/go.sum +++ b/v3/go.sum @@ -69,8 +69,8 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuW github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/atomicgo/cursor v0.0.1/go.mod h1:cBON2QmmrysudxNBFthvMtN32r3jxVRIvzkUiF/RuIk= -github.com/atterpac/refresh v0.4.32 h1:sy2T3rNtbGYffZQWGpqRafZ1QwQMGLkRafCTX52fv0w= -github.com/atterpac/refresh v0.4.32/go.mod h1:1mhPVWQ9R8Xlr/ouNrtAVEAsEVOt65J+6FFYWMMKRN0= +github.com/atterpac/refresh v0.5.11 h1:ixFxqR7TCuEGzjFhtt7oHCXD1skhB+Ye59HtIblLRak= +github.com/atterpac/refresh v0.5.11/go.mod h1:IubLmdAVDaTxarKH/AehgJ/QKUtSnawxgvj5HCsIcYo= github.com/bep/debounce v1.2.1 h1:v67fRdBA9UQu2NhLFXrSg0Brw7CexQekrBwDMM8bzeY= github.com/bep/debounce v1.2.1/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3ISbCJ0= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= diff --git a/v3/internal/commands/build_assets/devmode.config.tmpl.toml b/v3/internal/commands/build_assets/devmode.config.tmpl.toml index e6826c40..09679d26 100644 --- a/v3/internal/commands/build_assets/devmode.config.tmpl.toml +++ b/v3/internal/commands/build_assets/devmode.config.tmpl.toml @@ -2,7 +2,7 @@ root_path = ".." # debug | info | warn | error | mute # Defaults to Info if not provided -log_level = "info" +log_level = "warn" # Debounce setting for ignoring reptitive file system notifications debounce = 1000 # Milliseconds # Sets what files the watcher should ignore diff --git a/v3/internal/commands/tool_cp.go b/v3/internal/commands/tool_cp.go new file mode 100644 index 00000000..c904467b --- /dev/null +++ b/v3/internal/commands/tool_cp.go @@ -0,0 +1,38 @@ +package commands + +import ( + "fmt" + "os" + "path/filepath" +) + +type CpOptions struct{} + +func Cp(options *CpOptions) error { + // extract the source and destination from os.Args + if len(os.Args) != 5 { + return fmt.Errorf("cp requires a source and destination") + } + // Extract source + source := os.Args[3] + for _, destination := range os.Args[4:] { + src, err := filepath.Abs(source) + if err != nil { + return err + } + dst, err := filepath.Abs(destination) + if err != nil { + return err + } + input, err := os.ReadFile(src) + if err != nil { + return err + } + + err = os.WriteFile(dst, input, 0644) + if err != nil { + return fmt.Errorf("error creating %s: %s", dst, err.Error()) + } + } + return nil +} diff --git a/v3/internal/commands/watcher.go b/v3/internal/commands/watcher.go index c1e20c72..cf9ee434 100644 --- a/v3/internal/commands/watcher.go +++ b/v3/internal/commands/watcher.go @@ -12,16 +12,18 @@ type WatcherOptions struct { func Watcher(options *WatcherOptions) error { stopChan := make(chan struct{}) - watcherEngine := engine.NewEngineFromTOML(options.Config) + watcherEngine, err := engine.NewEngineFromTOML(options.Config) + if err != nil { + return err + } signalHandler := signal.NewSignalHandler(func() { - watcherEngine.Stop() stopChan <- struct{}{} }) signalHandler.ExitMessage = func(sig os.Signal) string { return "" } signalHandler.Start() - err := watcherEngine.Start() + err = watcherEngine.Start() if err != nil { return err } diff --git a/v3/internal/runtime/Taskfile.yaml b/v3/internal/runtime/Taskfile.yaml index 5ad93cab..b28d033e 100644 --- a/v3/internal/runtime/Taskfile.yaml +++ b/v3/internal/runtime/Taskfile.yaml @@ -35,6 +35,9 @@ tasks: - build:production cmds: + - cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../examples/wml/assets/runtime.js + - cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../internal/commands/build_assets/runtime/runtime.js + - cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../pkg/application/assets/alpha/runtime.js - cmd: echo "Build Complete." build: diff --git a/v3/internal/runtime/desktop/@wailsio/runtime/src/system.js b/v3/internal/runtime/desktop/@wailsio/runtime/src/system.js index e8677e09..204ae234 100644 --- a/v3/internal/runtime/desktop/@wailsio/runtime/src/system.js +++ b/v3/internal/runtime/desktop/@wailsio/runtime/src/system.js @@ -19,7 +19,7 @@ export function invoke(msg) { if(window.chrome) { return window.chrome.webview.postMessage(msg); } - return window.webkit.messageHandlers.external.postMessage; + return window.webkit.messageHandlers.external.postMessage(msg); } /** diff --git a/v3/internal/templates/_common/Taskfile.tmpl.yml b/v3/internal/templates/_common/Taskfile.tmpl.yml index 8b761e6d..f92bd1f9 100644 --- a/v3/internal/templates/_common/Taskfile.tmpl.yml +++ b/v3/internal/templates/_common/Taskfile.tmpl.yml @@ -433,13 +433,10 @@ tasks: summary: Runs the application in development mode cmds: - wails3 tool watcher -config ./build/devmode.config.toml - vars: - FRONTEND_DEVSERVER_URL: 'http://localhost:5173' env: # This is the default vite dev server port FRONTEND_DEVSERVER_URL: 'http://localhost:5173' - dev:reload: summary: Reloads the application cmds: diff --git a/v3/pkg/application/assets/alpha/runtime.js b/v3/pkg/application/assets/alpha/runtime.js index 300b36fd..dccb7409 100644 --- a/v3/pkg/application/assets/alpha/runtime.js +++ b/v3/pkg/application/assets/alpha/runtime.js @@ -1 +1 @@ -(()=>{var X=Object.defineProperty;var c=(e,i)=>{for(var n in i)X(e,n,{get:i[n],enumerable:!0})};var v={};c(v,{Hide:()=>re,Quit:()=>le,Show:()=>de});var $="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var p=(e=21)=>{let i="",n=e;for(;n--;)i+=$[Math.random()*64|0];return i};var ee=window.location.origin+"/wails/runtime",r={Call:0,Clipboard:1,Application:2,Events:3,ContextMenu:4,Dialog:5,Window:6,Screens:7,System:8,Browser:9},ie=p();function d(e,i){return function(n,o=null){return ne(e,n,i,o)}}function ne(e,i,n,o){let t=new URL(ee);t.searchParams.append("object",e),t.searchParams.append("method",i);let l={headers:{}};return n&&(l.headers["x-wails-window-name"]=n),o&&t.searchParams.append("args",JSON.stringify(o)),l.headers["x-wails-client-id"]=ie,new Promise((m,D)=>{fetch(t,l).then(s=>{if(s.ok)return s.headers.get("Content-Type")&&s.headers.get("Content-Type").indexOf("application/json")!==-1?s.json():s.text();D(Error(s.statusText))}).then(s=>m(s)).catch(s=>D(s))})}var A=d(r.Application,""),oe=0,te=1,ae=2;function re(){return A(oe)}function de(){return A(te)}function le(){return A(ae)}var R={};c(R,{OpenURL:()=>S});var ce=d(r.Browser,""),se=0;function S(e){return ce(se,{url:e})}var b={};c(b,{SetText:()=>ue,Text:()=>pe});var V=d(r.Clipboard,""),we=0,me=1;function ue(e){return V(we,{text:e})}function pe(){return V(me)}var U={};c(U,{GetFlag:()=>ge});var Z=new Map;function _(e){let i=new Map;for(let[n,o]of Object.entries(e))typeof o=="object"&&o!==null?i.set(n,_(o)):i.set(n,o);return i}fetch("/wails/flags").then(e=>{e.json().then(i=>{Z=_(i)})});function We(e){let i=e.split("."),n=Z;for(let o of i)if(n instanceof Map?n=n.get(o):n=n[o],n===void 0)break;return n}function ge(e){return We(e)}var E={};c(E,{GetAll:()=>Se,GetCurrent:()=>Ce,GetPrimary:()=>Me});var O=d(r.Screens,""),he=0,fe=1,De=2;function Se(){return O(he)}function Me(){return O(fe)}function Ce(){return O(De)}var y={};c(y,{Capabilities:()=>Re,Environment:()=>be,IsAMD64:()=>Te,IsARM:()=>ye,IsARM64:()=>Be,IsDarkMode:()=>ve,IsDebug:()=>Pe,IsLinux:()=>Oe,IsMac:()=>Ee,IsWindows:()=>Ue,invoke:()=>T});var j=d(r.System,""),xe=0,Ae=1;function T(e){return window.chrome?window.chrome.webview.postMessage(e):window.webkit.messageHandlers.external.postMessage}function ve(){return j(xe)}function Re(){return fetch("/wails/capabilities").json()}function be(){return j(Ae)}function Ue(){return window._wails.environment.OS==="windows"}function Oe(){return window._wails.environment.OS==="linux"}function Ee(){return window._wails.environment.OS==="darwin"}function Te(){return window._wails.environment.Arch==="amd64"}function ye(){return window._wails.environment.Arch==="arm"}function Be(){return window._wails.environment.Arch==="arm64"}function Pe(){return window._wails.environment.Debug===!0}var B={};c(B,{Center:()=>wi,Close:()=>Ei,Fullscreen:()=>ui,Get:()=>M,GetZoomLevel:()=>ki,Height:()=>Pi,Hide:()=>Ci,Maximise:()=>xi,Minimise:()=>Ri,RelativePosition:()=>Si,Restore:()=>Ui,Screen:()=>Mi,SetAlwaysOnTop:()=>fi,SetBackgroundColour:()=>Ti,SetMaxSize:()=>gi,SetMinSize:()=>hi,SetRelativePosition:()=>Di,SetResizable:()=>yi,SetSize:()=>pi,SetTitle:()=>mi,SetZoomLevel:()=>Ni,Show:()=>Oi,Size:()=>Wi,ToggleMaximise:()=>vi,UnMaximise:()=>Ai,UnMinimise:()=>bi,Width:()=>Bi,ZoomIn:()=>Fi,ZoomOut:()=>Ii,ZoomReset:()=>Li});var Fe=0,Ie=1,Le=2,ke=3,Ne=4,ze=5,He=6,Ve=7,Ze=8,_e=9,je=10,Ge=11,Ke=12,Qe=13,qe=14,Je=15,Ye=16,Xe=17,$e=18,ei=19,ii=20,ni=21,oi=22,ti=23,ai=24,ri=25,di=26,li=27,ci=28,si=29,a=M("");function G(e){return{Get:i=>G(d(r.Window,i)),Center:()=>e(Fe),SetTitle:i=>e(Ie,{title:i}),Fullscreen:()=>e(Le),UnFullscreen:()=>e(ke),SetSize:(i,n)=>e(Ne,{width:i,height:n}),Size:()=>e(ze),SetMaxSize:(i,n)=>e(He,{width:i,height:n}),SetMinSize:(i,n)=>e(Ve,{width:i,height:n}),SetAlwaysOnTop:i=>e(Ze,{alwaysOnTop:i}),SetRelativePosition:(i,n)=>e(_e,{x:i,y:n}),RelativePosition:()=>e(je),Screen:()=>e(Ge),Hide:()=>e(Ke),Maximise:()=>e(Qe),UnMaximise:()=>e(qe),ToggleMaximise:()=>e(Je),Minimise:()=>e(Ye),UnMinimise:()=>e(Xe),Restore:()=>e($e),Show:()=>e(ei),Close:()=>e(ii),SetBackgroundColour:(i,n,o,t)=>e(ni,{r:i,g:n,b:o,a:t}),SetResizable:i=>e(oi,{resizable:i}),Width:()=>e(ti),Height:()=>e(ai),ZoomIn:()=>e(ri),ZoomOut:()=>e(di),ZoomReset:()=>e(li),GetZoomLevel:()=>e(ci),SetZoomLevel:i=>e(si,{zoomLevel:i})}}function M(e){return G(d(r.Window,e))}function wi(){a.Center()}function mi(e){a.SetTitle(e)}function ui(){a.Fullscreen()}function pi(e,i){a.SetSize(e,i)}function Wi(){return a.Size()}function gi(e,i){a.SetMaxSize(e,i)}function hi(e,i){a.SetMinSize(e,i)}function fi(e){a.SetAlwaysOnTop(e)}function Di(e,i){a.SetRelativePosition(e,i)}function Si(){return a.RelativePosition()}function Mi(){return a.Screen()}function Ci(){a.Hide()}function xi(){a.Maximise()}function Ai(){a.UnMaximise()}function vi(){a.ToggleMaximise()}function Ri(){a.Minimise()}function bi(){a.UnMinimise()}function Ui(){a.Restore()}function Oi(){a.Show()}function Ei(){a.Close()}function Ti(e,i,n,o){a.SetBackgroundColour(e,i,n,o)}function yi(e){a.SetResizable(e)}function Bi(){return a.Width()}function Pi(){return a.Height()}function Fi(){a.ZoomIn()}function Ii(){a.ZoomOut()}function Li(){a.ZoomReset()}function ki(){return a.GetZoomLevel()}function Ni(e){a.SetZoomLevel(e)}var z={};c(z,{Reload:()=>N});var L={};c(L,{Emit:()=>I,Off:()=>Qi,OffAll:()=>qi,On:()=>ji,OnMultiple:()=>F,Once:()=>Gi,Types:()=>zi,WailsEvent:()=>g,setup:()=>Zi});var K={Windows:{SystemThemeChanged:"windows:SystemThemeChanged",APMPowerStatusChange:"windows:APMPowerStatusChange",APMSuspend:"windows:APMSuspend",APMResumeAutomatic:"windows:APMResumeAutomatic",APMResumeSuspend:"windows:APMResumeSuspend",APMPowerSettingChange:"windows:APMPowerSettingChange",ApplicationStarted:"windows:ApplicationStarted",WebViewNavigationCompleted:"windows:WebViewNavigationCompleted",WindowInactive:"windows:WindowInactive",WindowActive:"windows:WindowActive",WindowClickActive:"windows:WindowClickActive",WindowMaximise:"windows:WindowMaximise",WindowUnMaximise:"windows:WindowUnMaximise",WindowFullscreen:"windows:WindowFullscreen",WindowUnFullscreen:"windows:WindowUnFullscreen",WindowRestore:"windows:WindowRestore",WindowMinimise:"windows:WindowMinimise",WindowUnMinimise:"windows:WindowUnMinimise",WindowClose:"windows:WindowClose",WindowSetFocus:"windows:WindowSetFocus",WindowKillFocus:"windows:WindowKillFocus",WindowDragDrop:"windows:WindowDragDrop",WindowDragEnter:"windows:WindowDragEnter",WindowDragLeave:"windows:WindowDragLeave",WindowDragOver:"windows:WindowDragOver"},Mac:{ApplicationDidBecomeActive:"mac:ApplicationDidBecomeActive",ApplicationDidChangeBackingProperties:"mac:ApplicationDidChangeBackingProperties",ApplicationDidChangeEffectiveAppearance:"mac:ApplicationDidChangeEffectiveAppearance",ApplicationDidChangeIcon:"mac:ApplicationDidChangeIcon",ApplicationDidChangeOcclusionState:"mac:ApplicationDidChangeOcclusionState",ApplicationDidChangeScreenParameters:"mac:ApplicationDidChangeScreenParameters",ApplicationDidChangeStatusBarFrame:"mac:ApplicationDidChangeStatusBarFrame",ApplicationDidChangeStatusBarOrientation:"mac:ApplicationDidChangeStatusBarOrientation",ApplicationDidFinishLaunching:"mac:ApplicationDidFinishLaunching",ApplicationDidHide:"mac:ApplicationDidHide",ApplicationDidResignActiveNotification:"mac:ApplicationDidResignActiveNotification",ApplicationDidUnhide:"mac:ApplicationDidUnhide",ApplicationDidUpdate:"mac:ApplicationDidUpdate",ApplicationWillBecomeActive:"mac:ApplicationWillBecomeActive",ApplicationWillFinishLaunching:"mac:ApplicationWillFinishLaunching",ApplicationWillHide:"mac:ApplicationWillHide",ApplicationWillResignActive:"mac:ApplicationWillResignActive",ApplicationWillTerminate:"mac:ApplicationWillTerminate",ApplicationWillUnhide:"mac:ApplicationWillUnhide",ApplicationWillUpdate:"mac:ApplicationWillUpdate",ApplicationDidChangeTheme:"mac:ApplicationDidChangeTheme!",ApplicationShouldHandleReopen:"mac:ApplicationShouldHandleReopen!",WindowDidBecomeKey:"mac:WindowDidBecomeKey",WindowDidBecomeMain:"mac:WindowDidBecomeMain",WindowDidBeginSheet:"mac:WindowDidBeginSheet",WindowDidChangeAlpha:"mac:WindowDidChangeAlpha",WindowDidChangeBackingLocation:"mac:WindowDidChangeBackingLocation",WindowDidChangeBackingProperties:"mac:WindowDidChangeBackingProperties",WindowDidChangeCollectionBehavior:"mac:WindowDidChangeCollectionBehavior",WindowDidChangeEffectiveAppearance:"mac:WindowDidChangeEffectiveAppearance",WindowDidChangeOcclusionState:"mac:WindowDidChangeOcclusionState",WindowDidChangeOrderingMode:"mac:WindowDidChangeOrderingMode",WindowDidChangeScreen:"mac:WindowDidChangeScreen",WindowDidChangeScreenParameters:"mac:WindowDidChangeScreenParameters",WindowDidChangeScreenProfile:"mac:WindowDidChangeScreenProfile",WindowDidChangeScreenSpace:"mac:WindowDidChangeScreenSpace",WindowDidChangeScreenSpaceProperties:"mac:WindowDidChangeScreenSpaceProperties",WindowDidChangeSharingType:"mac:WindowDidChangeSharingType",WindowDidChangeSpace:"mac:WindowDidChangeSpace",WindowDidChangeSpaceOrderingMode:"mac:WindowDidChangeSpaceOrderingMode",WindowDidChangeTitle:"mac:WindowDidChangeTitle",WindowDidChangeToolbar:"mac:WindowDidChangeToolbar",WindowDidChangeVisibility:"mac:WindowDidChangeVisibility",WindowDidDeminiaturize:"mac:WindowDidDeminiaturize",WindowDidEndSheet:"mac:WindowDidEndSheet",WindowDidEnterFullScreen:"mac:WindowDidEnterFullScreen",WindowDidEnterVersionBrowser:"mac:WindowDidEnterVersionBrowser",WindowDidExitFullScreen:"mac:WindowDidExitFullScreen",WindowDidExitVersionBrowser:"mac:WindowDidExitVersionBrowser",WindowDidExpose:"mac:WindowDidExpose",WindowDidFocus:"mac:WindowDidFocus",WindowDidMiniaturize:"mac:WindowDidMiniaturize",WindowDidMove:"mac:WindowDidMove",WindowDidOrderOffScreen:"mac:WindowDidOrderOffScreen",WindowDidOrderOnScreen:"mac:WindowDidOrderOnScreen",WindowDidResignKey:"mac:WindowDidResignKey",WindowDidResignMain:"mac:WindowDidResignMain",WindowDidResize:"mac:WindowDidResize",WindowDidUpdate:"mac:WindowDidUpdate",WindowDidUpdateAlpha:"mac:WindowDidUpdateAlpha",WindowDidUpdateCollectionBehavior:"mac:WindowDidUpdateCollectionBehavior",WindowDidUpdateCollectionProperties:"mac:WindowDidUpdateCollectionProperties",WindowDidUpdateShadow:"mac:WindowDidUpdateShadow",WindowDidUpdateTitle:"mac:WindowDidUpdateTitle",WindowDidUpdateToolbar:"mac:WindowDidUpdateToolbar",WindowDidUpdateVisibility:"mac:WindowDidUpdateVisibility",WindowShouldClose:"mac:WindowShouldClose!",WindowWillBecomeKey:"mac:WindowWillBecomeKey",WindowWillBecomeMain:"mac:WindowWillBecomeMain",WindowWillBeginSheet:"mac:WindowWillBeginSheet",WindowWillChangeOrderingMode:"mac:WindowWillChangeOrderingMode",WindowWillClose:"mac:WindowWillClose",WindowWillDeminiaturize:"mac:WindowWillDeminiaturize",WindowWillEnterFullScreen:"mac:WindowWillEnterFullScreen",WindowWillEnterVersionBrowser:"mac:WindowWillEnterVersionBrowser",WindowWillExitFullScreen:"mac:WindowWillExitFullScreen",WindowWillExitVersionBrowser:"mac:WindowWillExitVersionBrowser",WindowWillFocus:"mac:WindowWillFocus",WindowWillMiniaturize:"mac:WindowWillMiniaturize",WindowWillMove:"mac:WindowWillMove",WindowWillOrderOffScreen:"mac:WindowWillOrderOffScreen",WindowWillOrderOnScreen:"mac:WindowWillOrderOnScreen",WindowWillResignMain:"mac:WindowWillResignMain",WindowWillResize:"mac:WindowWillResize",WindowWillUnfocus:"mac:WindowWillUnfocus",WindowWillUpdate:"mac:WindowWillUpdate",WindowWillUpdateAlpha:"mac:WindowWillUpdateAlpha",WindowWillUpdateCollectionBehavior:"mac:WindowWillUpdateCollectionBehavior",WindowWillUpdateCollectionProperties:"mac:WindowWillUpdateCollectionProperties",WindowWillUpdateShadow:"mac:WindowWillUpdateShadow",WindowWillUpdateTitle:"mac:WindowWillUpdateTitle",WindowWillUpdateToolbar:"mac:WindowWillUpdateToolbar",WindowWillUpdateVisibility:"mac:WindowWillUpdateVisibility",WindowWillUseStandardFrame:"mac:WindowWillUseStandardFrame",MenuWillOpen:"mac:MenuWillOpen",MenuDidOpen:"mac:MenuDidOpen",MenuDidClose:"mac:MenuDidClose",MenuWillSendAction:"mac:MenuWillSendAction",MenuDidSendAction:"mac:MenuDidSendAction",MenuWillHighlightItem:"mac:MenuWillHighlightItem",MenuDidHighlightItem:"mac:MenuDidHighlightItem",MenuWillDisplayItem:"mac:MenuWillDisplayItem",MenuDidDisplayItem:"mac:MenuDidDisplayItem",MenuWillAddItem:"mac:MenuWillAddItem",MenuDidAddItem:"mac:MenuDidAddItem",MenuWillRemoveItem:"mac:MenuWillRemoveItem",MenuDidRemoveItem:"mac:MenuDidRemoveItem",MenuWillBeginTracking:"mac:MenuWillBeginTracking",MenuDidBeginTracking:"mac:MenuDidBeginTracking",MenuWillEndTracking:"mac:MenuWillEndTracking",MenuDidEndTracking:"mac:MenuDidEndTracking",MenuWillUpdate:"mac:MenuWillUpdate",MenuDidUpdate:"mac:MenuDidUpdate",MenuWillPopUp:"mac:MenuWillPopUp",MenuDidPopUp:"mac:MenuDidPopUp",MenuWillSendActionToItem:"mac:MenuWillSendActionToItem",MenuDidSendActionToItem:"mac:MenuDidSendActionToItem",WebViewDidStartProvisionalNavigation:"mac:WebViewDidStartProvisionalNavigation",WebViewDidReceiveServerRedirectForProvisionalNavigation:"mac:WebViewDidReceiveServerRedirectForProvisionalNavigation",WebViewDidFinishNavigation:"mac:WebViewDidFinishNavigation",WebViewDidCommitNavigation:"mac:WebViewDidCommitNavigation",WindowFileDraggingEntered:"mac:WindowFileDraggingEntered",WindowFileDraggingPerformed:"mac:WindowFileDraggingPerformed",WindowFileDraggingExited:"mac:WindowFileDraggingExited"},Linux:{SystemThemeChanged:"linux:SystemThemeChanged"},Common:{ApplicationStarted:"common:ApplicationStarted",WindowMaximise:"common:WindowMaximise",WindowUnMaximise:"common:WindowUnMaximise",WindowFullscreen:"common:WindowFullscreen",WindowUnFullscreen:"common:WindowUnFullscreen",WindowRestore:"common:WindowRestore",WindowMinimise:"common:WindowMinimise",WindowUnMinimise:"common:WindowUnMinimise",WindowClosing:"common:WindowClosing",WindowZoom:"common:WindowZoom",WindowZoomIn:"common:WindowZoomIn",WindowZoomOut:"common:WindowZoomOut",WindowZoomReset:"common:WindowZoomReset",WindowFocus:"common:WindowFocus",WindowLostFocus:"common:WindowLostFocus",WindowShow:"common:WindowShow",WindowHide:"common:WindowHide",WindowDPIChanged:"common:WindowDPIChanged",WindowFilesDropped:"common:WindowFilesDropped",WindowRuntimeReady:"common:WindowRuntimeReady",ThemeChanged:"common:ThemeChanged"}};var zi=K;window._wails=window._wails||{};window._wails.dispatchWailsEvent=_i;var Hi=d(r.Events,""),Vi=0,w=new Map,P=class{constructor(i,n,o){this.eventName=i,this.maxCallbacks=o||-1,this.Callback=t=>(n(t),this.maxCallbacks===-1?!1:(this.maxCallbacks-=1,this.maxCallbacks===0))}},g=class{constructor(i,n=null){this.name=i,this.data=n}};function Zi(){}function _i(e){let i=w.get(e.name);if(i){let n=i.filter(o=>{if(o.Callback(e))return!0});n.length>0&&(i=i.filter(o=>!n.includes(o)),i.length===0?w.delete(e.name):w.set(e.name,i))}}function F(e,i,n){let o=w.get(e)||[],t=new P(e,i,n);return o.push(t),w.set(e,o),()=>Ki(t)}function ji(e,i){return F(e,i,-1)}function Gi(e,i){return F(e,i,1)}function Ki(e){let i=e.eventName,n=w.get(i).filter(o=>o!==e);n.length===0?w.delete(i):w.set(i,n)}function Qi(e,...i){[e,...i].forEach(o=>w.delete(o))}function qi(){w.clear()}function I(e){return Hi(Vi,e)}var k={};c(k,{Error:()=>cn,Info:()=>dn,OpenFile:()=>sn,Question:()=>h,SaveFile:()=>wn,Warning:()=>ln});window._wails=window._wails||{};window._wails.dialogErrorCallback=rn;window._wails.dialogResultCallback=an;var Ji=0,Yi=1,Xi=2,$i=3,en=4,nn=5,on=d(r.Dialog,""),u=new Map;function tn(){let e;do e=p();while(u.has(e));return e}function W(e,i={}){let n=tn();return i["dialog-id"]=n,new Promise((o,t)=>{u.set(n,{resolve:o,reject:t}),on(e,i).catch(l=>{t(l),u.delete(n)})})}function an(e,i,n){let o=u.get(e);o&&(n?o.resolve(JSON.parse(i)):o.resolve(i),u.delete(e))}function rn(e,i){let n=u.get(e);n&&(n.reject(i),u.delete(e))}var dn=e=>W(Ji,e),ln=e=>W(Yi,e),cn=e=>W(Xi,e),h=e=>W($i,e),sn=e=>W(en,e),wn=e=>W(nn,e);function Q(e,i=null){let n=new g(e,i);I(n)}function mn(){document.querySelectorAll("[wml-event]").forEach(function(i){let n=i.getAttribute("wml-event"),o=i.getAttribute("wml-confirm"),t=i.getAttribute("wml-trigger")||"click",l=function(){if(o){h({Title:"Confirm",Message:o,Detached:!1,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(m){m!=="No"&&Q(n)});return}Q(n)};i.removeEventListener(t,l),i.addEventListener(t,l)})}function q(e,i){let n=M(e),o=Wn(n);o.has(i);try{o.get(i)()}catch{}}function un(){document.querySelectorAll("[wml-window]").forEach(function(i){let n=i.getAttribute("wml-window"),o=i.getAttribute("wml-confirm"),t=i.getAttribute("wml-trigger")||"click",l=i.getAttribute("wml-target-window")||"",m=function(){if(o){h({Title:"Confirm",Message:o,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(D){D!=="No"&&q(l,n)});return}q(l,n)};i.removeEventListener(t,m),i.addEventListener(t,m)})}function pn(){document.querySelectorAll("[wml-openurl]").forEach(function(i){let n=i.getAttribute("wml-openurl"),o=i.getAttribute("wml-confirm"),t=i.getAttribute("wml-trigger")||"click",l=function(){if(o){h({Title:"Confirm",Message:o,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(m){m!=="No"&&S(n)});return}S(n)};i.removeEventListener(t,l),i.addEventListener(t,l)})}function N(){mn(),un(),pn()}function Wn(e){let i=new Map;for(let n in e)typeof e[n]=="function"&&i.set(n,e[n]);return i}var H={};c(H,{ByID:()=>Cn,ByName:()=>Mn,Call:()=>Sn,Plugin:()=>xn});window._wails=window._wails||{};window._wails.callResultHandler=fn;window._wails.callErrorHandler=Dn;var C=0,gn=d(r.Call,""),f=new Map;function hn(){let e;do e=p();while(f.has(e));return e}function fn(e,i,n){let o=J(e);o&&o.resolve(n?JSON.parse(i):i)}function Dn(e,i){let n=J(e);n&&n.reject(i)}function J(e){let i=f.get(e);return f.delete(e),i}function x(e,i={}){return new Promise((n,o)=>{let t=hn();i["call-id"]=t,f.set(t,{resolve:n,reject:o}),gn(e,i).catch(l=>{o(l),f.delete(t)})})}function Sn(e){return x(C,e)}function Mn(e,...i){if(typeof e!="string"||e.split(".").length!==3)throw new Error("CallByName requires a string in the format 'package.struct.method'");let[n,o,t]=e.split(".");return x(C,{packageName:n,structName:o,methodName:t,args:i})}function Cn(e,...i){return x(C,{methodID:e,args:i})}function xn(e,i,...n){return x(C,{packageName:"wails-plugins",structName:e,methodName:i,args:n})}window._wails=window._wails||{};window._wails.invoke=T;window.wails=window.wails||{};window.wails.Application=v;window.wails.Browser=R;window.wails.Call=H;window.wails.Clipboard=b;window.wails.Dialogs=k;window.wails.Events=L;window.wails.Flags=U;window.wails.Screens=E;window.wails.System=y;window.wails.Window=B;window.wails.WML=z;var Y=!1;document.addEventListener("DOMContentLoaded",function(){Y=!0,window._wails.invoke("wails:runtime:ready")});function An(e){Y||document.readyState==="complete"?e():document.addEventListener("DOMContentLoaded",e)}An(()=>{N()});})(); +(()=>{var J=Object.defineProperty;var c=(e,i)=>{for(var n in i)J(e,n,{get:i[n],enumerable:!0})};var v={};c(v,{Hide:()=>te,Quit:()=>re,Show:()=>ae});var Y="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var p=(e=21)=>{let i="",n=e;for(;n--;)i+=Y[Math.random()*64|0];return i};var X=window.location.origin+"/wails/runtime",r={Call:0,Clipboard:1,Application:2,Events:3,ContextMenu:4,Dialog:5,Window:6,Screens:7,System:8,Browser:9},$=p();function d(e,i){return function(n,o=null){return ee(e,n,i,o)}}function ee(e,i,n,o){let t=new URL(X);t.searchParams.append("object",e),t.searchParams.append("method",i);let l={headers:{}};return n&&(l.headers["x-wails-window-name"]=n),o&&t.searchParams.append("args",JSON.stringify(o)),l.headers["x-wails-client-id"]=$,new Promise((m,D)=>{fetch(t,l).then(s=>{if(s.ok)return s.headers.get("Content-Type")&&s.headers.get("Content-Type").indexOf("application/json")!==-1?s.json():s.text();D(Error(s.statusText))}).then(s=>m(s)).catch(s=>D(s))})}var A=d(r.Application,""),ie=0,ne=1,oe=2;function te(){return A(ie)}function ae(){return A(ne)}function re(){return A(oe)}var R={};c(R,{OpenURL:()=>S});var de=d(r.Browser,""),le=0;function S(e){return de(le,{url:e})}var b={};c(b,{SetText:()=>we,Text:()=>me});var Z=d(r.Clipboard,""),ce=0,se=1;function we(e){return Z(ce,{text:e})}function me(){return Z(se)}var U={};c(U,{GetFlag:()=>ue});function ue(e){try{return window._wails.flags[e]}catch(i){throw new Error("Unable to retrieve flag '"+e+"': "+i)}}var O={};c(O,{GetAll:()=>he,GetCurrent:()=>De,GetPrimary:()=>fe});var E=d(r.Screens,""),pe=0,We=1,ge=2;function he(){return E(pe)}function fe(){return E(We)}function De(){return E(ge)}var B={};c(B,{Capabilities:()=>xe,Environment:()=>Ae,IsAMD64:()=>Ue,IsARM:()=>Ee,IsARM64:()=>Oe,IsDarkMode:()=>Ce,IsDebug:()=>Te,IsLinux:()=>Re,IsMac:()=>be,IsWindows:()=>ve,invoke:()=>T});var V=d(r.System,""),Se=0,Me=1;function T(e){return window.chrome?window.chrome.webview.postMessage(e):window.webkit.messageHandlers.external.postMessage(e)}function Ce(){return V(Se)}function xe(){return fetch("/wails/capabilities").json()}function Ae(){return V(Me)}function ve(){return window._wails.environment.OS==="windows"}function Re(){return window._wails.environment.OS==="linux"}function be(){return window._wails.environment.OS==="darwin"}function Ue(){return window._wails.environment.Arch==="amd64"}function Ee(){return window._wails.environment.Arch==="arm"}function Oe(){return window._wails.environment.Arch==="arm64"}function Te(){return window._wails.environment.Debug===!0}var P={};c(P,{Center:()=>li,Close:()=>bi,Fullscreen:()=>si,Get:()=>M,GetZoomLevel:()=>Fi,Height:()=>Ti,Hide:()=>Di,Maximise:()=>Si,Minimise:()=>xi,RelativePosition:()=>hi,Restore:()=>vi,Screen:()=>fi,SetAlwaysOnTop:()=>Wi,SetBackgroundColour:()=>Ui,SetMaxSize:()=>ui,SetMinSize:()=>pi,SetRelativePosition:()=>gi,SetResizable:()=>Ei,SetSize:()=>wi,SetTitle:()=>ci,SetZoomLevel:()=>yi,Show:()=>Ri,Size:()=>mi,ToggleMaximise:()=>Ci,UnMaximise:()=>Mi,UnMinimise:()=>Ai,Width:()=>Oi,ZoomIn:()=>Bi,ZoomOut:()=>Pi,ZoomReset:()=>Ii});var Be=0,Pe=1,Ie=2,Fe=3,ye=4,Le=5,ke=6,Ne=7,ze=8,He=9,Ze=10,Ve=11,_e=12,je=13,Ge=14,Ke=15,Qe=16,qe=17,Je=18,Ye=19,Xe=20,$e=21,ei=22,ii=23,ni=24,oi=25,ti=26,ai=27,ri=28,di=29,a=M("");function _(e){return{Get:i=>_(d(r.Window,i)),Center:()=>e(Be),SetTitle:i=>e(Pe,{title:i}),Fullscreen:()=>e(Ie),UnFullscreen:()=>e(Fe),SetSize:(i,n)=>e(ye,{width:i,height:n}),Size:()=>e(Le),SetMaxSize:(i,n)=>e(ke,{width:i,height:n}),SetMinSize:(i,n)=>e(Ne,{width:i,height:n}),SetAlwaysOnTop:i=>e(ze,{alwaysOnTop:i}),SetRelativePosition:(i,n)=>e(He,{x:i,y:n}),RelativePosition:()=>e(Ze),Screen:()=>e(Ve),Hide:()=>e(_e),Maximise:()=>e(je),UnMaximise:()=>e(Ge),ToggleMaximise:()=>e(Ke),Minimise:()=>e(Qe),UnMinimise:()=>e(qe),Restore:()=>e(Je),Show:()=>e(Ye),Close:()=>e(Xe),SetBackgroundColour:(i,n,o,t)=>e($e,{r:i,g:n,b:o,a:t}),SetResizable:i=>e(ei,{resizable:i}),Width:()=>e(ii),Height:()=>e(ni),ZoomIn:()=>e(oi),ZoomOut:()=>e(ti),ZoomReset:()=>e(ai),GetZoomLevel:()=>e(ri),SetZoomLevel:i=>e(di,{zoomLevel:i})}}function M(e){return _(d(r.Window,e))}function li(){a.Center()}function ci(e){a.SetTitle(e)}function si(){a.Fullscreen()}function wi(e,i){a.SetSize(e,i)}function mi(){return a.Size()}function ui(e,i){a.SetMaxSize(e,i)}function pi(e,i){a.SetMinSize(e,i)}function Wi(e){a.SetAlwaysOnTop(e)}function gi(e,i){a.SetRelativePosition(e,i)}function hi(){return a.RelativePosition()}function fi(){return a.Screen()}function Di(){a.Hide()}function Si(){a.Maximise()}function Mi(){a.UnMaximise()}function Ci(){a.ToggleMaximise()}function xi(){a.Minimise()}function Ai(){a.UnMinimise()}function vi(){a.Restore()}function Ri(){a.Show()}function bi(){a.Close()}function Ui(e,i,n,o){a.SetBackgroundColour(e,i,n,o)}function Ei(e){a.SetResizable(e)}function Oi(){return a.Width()}function Ti(){return a.Height()}function Bi(){a.ZoomIn()}function Pi(){a.ZoomOut()}function Ii(){a.ZoomReset()}function Fi(){return a.GetZoomLevel()}function yi(e){a.SetZoomLevel(e)}var z={};c(z,{Reload:()=>N});var L={};c(L,{Emit:()=>y,Off:()=>ji,OffAll:()=>Gi,On:()=>Zi,OnMultiple:()=>F,Once:()=>Vi,Types:()=>Li,WailsEvent:()=>g,setup:()=>zi});var j={Windows:{SystemThemeChanged:"windows:SystemThemeChanged",APMPowerStatusChange:"windows:APMPowerStatusChange",APMSuspend:"windows:APMSuspend",APMResumeAutomatic:"windows:APMResumeAutomatic",APMResumeSuspend:"windows:APMResumeSuspend",APMPowerSettingChange:"windows:APMPowerSettingChange",ApplicationStarted:"windows:ApplicationStarted",WebViewNavigationCompleted:"windows:WebViewNavigationCompleted",WindowInactive:"windows:WindowInactive",WindowActive:"windows:WindowActive",WindowClickActive:"windows:WindowClickActive",WindowMaximise:"windows:WindowMaximise",WindowUnMaximise:"windows:WindowUnMaximise",WindowFullscreen:"windows:WindowFullscreen",WindowUnFullscreen:"windows:WindowUnFullscreen",WindowRestore:"windows:WindowRestore",WindowMinimise:"windows:WindowMinimise",WindowUnMinimise:"windows:WindowUnMinimise",WindowClose:"windows:WindowClose",WindowSetFocus:"windows:WindowSetFocus",WindowKillFocus:"windows:WindowKillFocus",WindowDragDrop:"windows:WindowDragDrop",WindowDragEnter:"windows:WindowDragEnter",WindowDragLeave:"windows:WindowDragLeave",WindowDragOver:"windows:WindowDragOver"},Mac:{ApplicationDidBecomeActive:"mac:ApplicationDidBecomeActive",ApplicationDidChangeBackingProperties:"mac:ApplicationDidChangeBackingProperties",ApplicationDidChangeEffectiveAppearance:"mac:ApplicationDidChangeEffectiveAppearance",ApplicationDidChangeIcon:"mac:ApplicationDidChangeIcon",ApplicationDidChangeOcclusionState:"mac:ApplicationDidChangeOcclusionState",ApplicationDidChangeScreenParameters:"mac:ApplicationDidChangeScreenParameters",ApplicationDidChangeStatusBarFrame:"mac:ApplicationDidChangeStatusBarFrame",ApplicationDidChangeStatusBarOrientation:"mac:ApplicationDidChangeStatusBarOrientation",ApplicationDidFinishLaunching:"mac:ApplicationDidFinishLaunching",ApplicationDidHide:"mac:ApplicationDidHide",ApplicationDidResignActiveNotification:"mac:ApplicationDidResignActiveNotification",ApplicationDidUnhide:"mac:ApplicationDidUnhide",ApplicationDidUpdate:"mac:ApplicationDidUpdate",ApplicationWillBecomeActive:"mac:ApplicationWillBecomeActive",ApplicationWillFinishLaunching:"mac:ApplicationWillFinishLaunching",ApplicationWillHide:"mac:ApplicationWillHide",ApplicationWillResignActive:"mac:ApplicationWillResignActive",ApplicationWillTerminate:"mac:ApplicationWillTerminate",ApplicationWillUnhide:"mac:ApplicationWillUnhide",ApplicationWillUpdate:"mac:ApplicationWillUpdate",ApplicationDidChangeTheme:"mac:ApplicationDidChangeTheme!",ApplicationShouldHandleReopen:"mac:ApplicationShouldHandleReopen!",WindowDidBecomeKey:"mac:WindowDidBecomeKey",WindowDidBecomeMain:"mac:WindowDidBecomeMain",WindowDidBeginSheet:"mac:WindowDidBeginSheet",WindowDidChangeAlpha:"mac:WindowDidChangeAlpha",WindowDidChangeBackingLocation:"mac:WindowDidChangeBackingLocation",WindowDidChangeBackingProperties:"mac:WindowDidChangeBackingProperties",WindowDidChangeCollectionBehavior:"mac:WindowDidChangeCollectionBehavior",WindowDidChangeEffectiveAppearance:"mac:WindowDidChangeEffectiveAppearance",WindowDidChangeOcclusionState:"mac:WindowDidChangeOcclusionState",WindowDidChangeOrderingMode:"mac:WindowDidChangeOrderingMode",WindowDidChangeScreen:"mac:WindowDidChangeScreen",WindowDidChangeScreenParameters:"mac:WindowDidChangeScreenParameters",WindowDidChangeScreenProfile:"mac:WindowDidChangeScreenProfile",WindowDidChangeScreenSpace:"mac:WindowDidChangeScreenSpace",WindowDidChangeScreenSpaceProperties:"mac:WindowDidChangeScreenSpaceProperties",WindowDidChangeSharingType:"mac:WindowDidChangeSharingType",WindowDidChangeSpace:"mac:WindowDidChangeSpace",WindowDidChangeSpaceOrderingMode:"mac:WindowDidChangeSpaceOrderingMode",WindowDidChangeTitle:"mac:WindowDidChangeTitle",WindowDidChangeToolbar:"mac:WindowDidChangeToolbar",WindowDidChangeVisibility:"mac:WindowDidChangeVisibility",WindowDidDeminiaturize:"mac:WindowDidDeminiaturize",WindowDidEndSheet:"mac:WindowDidEndSheet",WindowDidEnterFullScreen:"mac:WindowDidEnterFullScreen",WindowDidEnterVersionBrowser:"mac:WindowDidEnterVersionBrowser",WindowDidExitFullScreen:"mac:WindowDidExitFullScreen",WindowDidExitVersionBrowser:"mac:WindowDidExitVersionBrowser",WindowDidExpose:"mac:WindowDidExpose",WindowDidFocus:"mac:WindowDidFocus",WindowDidMiniaturize:"mac:WindowDidMiniaturize",WindowDidMove:"mac:WindowDidMove",WindowDidOrderOffScreen:"mac:WindowDidOrderOffScreen",WindowDidOrderOnScreen:"mac:WindowDidOrderOnScreen",WindowDidResignKey:"mac:WindowDidResignKey",WindowDidResignMain:"mac:WindowDidResignMain",WindowDidResize:"mac:WindowDidResize",WindowDidUpdate:"mac:WindowDidUpdate",WindowDidUpdateAlpha:"mac:WindowDidUpdateAlpha",WindowDidUpdateCollectionBehavior:"mac:WindowDidUpdateCollectionBehavior",WindowDidUpdateCollectionProperties:"mac:WindowDidUpdateCollectionProperties",WindowDidUpdateShadow:"mac:WindowDidUpdateShadow",WindowDidUpdateTitle:"mac:WindowDidUpdateTitle",WindowDidUpdateToolbar:"mac:WindowDidUpdateToolbar",WindowDidUpdateVisibility:"mac:WindowDidUpdateVisibility",WindowShouldClose:"mac:WindowShouldClose!",WindowWillBecomeKey:"mac:WindowWillBecomeKey",WindowWillBecomeMain:"mac:WindowWillBecomeMain",WindowWillBeginSheet:"mac:WindowWillBeginSheet",WindowWillChangeOrderingMode:"mac:WindowWillChangeOrderingMode",WindowWillClose:"mac:WindowWillClose",WindowWillDeminiaturize:"mac:WindowWillDeminiaturize",WindowWillEnterFullScreen:"mac:WindowWillEnterFullScreen",WindowWillEnterVersionBrowser:"mac:WindowWillEnterVersionBrowser",WindowWillExitFullScreen:"mac:WindowWillExitFullScreen",WindowWillExitVersionBrowser:"mac:WindowWillExitVersionBrowser",WindowWillFocus:"mac:WindowWillFocus",WindowWillMiniaturize:"mac:WindowWillMiniaturize",WindowWillMove:"mac:WindowWillMove",WindowWillOrderOffScreen:"mac:WindowWillOrderOffScreen",WindowWillOrderOnScreen:"mac:WindowWillOrderOnScreen",WindowWillResignMain:"mac:WindowWillResignMain",WindowWillResize:"mac:WindowWillResize",WindowWillUnfocus:"mac:WindowWillUnfocus",WindowWillUpdate:"mac:WindowWillUpdate",WindowWillUpdateAlpha:"mac:WindowWillUpdateAlpha",WindowWillUpdateCollectionBehavior:"mac:WindowWillUpdateCollectionBehavior",WindowWillUpdateCollectionProperties:"mac:WindowWillUpdateCollectionProperties",WindowWillUpdateShadow:"mac:WindowWillUpdateShadow",WindowWillUpdateTitle:"mac:WindowWillUpdateTitle",WindowWillUpdateToolbar:"mac:WindowWillUpdateToolbar",WindowWillUpdateVisibility:"mac:WindowWillUpdateVisibility",WindowWillUseStandardFrame:"mac:WindowWillUseStandardFrame",MenuWillOpen:"mac:MenuWillOpen",MenuDidOpen:"mac:MenuDidOpen",MenuDidClose:"mac:MenuDidClose",MenuWillSendAction:"mac:MenuWillSendAction",MenuDidSendAction:"mac:MenuDidSendAction",MenuWillHighlightItem:"mac:MenuWillHighlightItem",MenuDidHighlightItem:"mac:MenuDidHighlightItem",MenuWillDisplayItem:"mac:MenuWillDisplayItem",MenuDidDisplayItem:"mac:MenuDidDisplayItem",MenuWillAddItem:"mac:MenuWillAddItem",MenuDidAddItem:"mac:MenuDidAddItem",MenuWillRemoveItem:"mac:MenuWillRemoveItem",MenuDidRemoveItem:"mac:MenuDidRemoveItem",MenuWillBeginTracking:"mac:MenuWillBeginTracking",MenuDidBeginTracking:"mac:MenuDidBeginTracking",MenuWillEndTracking:"mac:MenuWillEndTracking",MenuDidEndTracking:"mac:MenuDidEndTracking",MenuWillUpdate:"mac:MenuWillUpdate",MenuDidUpdate:"mac:MenuDidUpdate",MenuWillPopUp:"mac:MenuWillPopUp",MenuDidPopUp:"mac:MenuDidPopUp",MenuWillSendActionToItem:"mac:MenuWillSendActionToItem",MenuDidSendActionToItem:"mac:MenuDidSendActionToItem",WebViewDidStartProvisionalNavigation:"mac:WebViewDidStartProvisionalNavigation",WebViewDidReceiveServerRedirectForProvisionalNavigation:"mac:WebViewDidReceiveServerRedirectForProvisionalNavigation",WebViewDidFinishNavigation:"mac:WebViewDidFinishNavigation",WebViewDidCommitNavigation:"mac:WebViewDidCommitNavigation",WindowFileDraggingEntered:"mac:WindowFileDraggingEntered",WindowFileDraggingPerformed:"mac:WindowFileDraggingPerformed",WindowFileDraggingExited:"mac:WindowFileDraggingExited"},Linux:{SystemThemeChanged:"linux:SystemThemeChanged"},Common:{ApplicationStarted:"common:ApplicationStarted",WindowMaximise:"common:WindowMaximise",WindowUnMaximise:"common:WindowUnMaximise",WindowFullscreen:"common:WindowFullscreen",WindowUnFullscreen:"common:WindowUnFullscreen",WindowRestore:"common:WindowRestore",WindowMinimise:"common:WindowMinimise",WindowUnMinimise:"common:WindowUnMinimise",WindowClosing:"common:WindowClosing",WindowZoom:"common:WindowZoom",WindowZoomIn:"common:WindowZoomIn",WindowZoomOut:"common:WindowZoomOut",WindowZoomReset:"common:WindowZoomReset",WindowFocus:"common:WindowFocus",WindowLostFocus:"common:WindowLostFocus",WindowShow:"common:WindowShow",WindowHide:"common:WindowHide",WindowDPIChanged:"common:WindowDPIChanged",WindowFilesDropped:"common:WindowFilesDropped",WindowRuntimeReady:"common:WindowRuntimeReady",ThemeChanged:"common:ThemeChanged"}};var Li=j;window._wails=window._wails||{};window._wails.dispatchWailsEvent=Hi;var ki=d(r.Events,""),Ni=0,w=new Map,I=class{constructor(i,n,o){this.eventName=i,this.maxCallbacks=o||-1,this.Callback=t=>(n(t),this.maxCallbacks===-1?!1:(this.maxCallbacks-=1,this.maxCallbacks===0))}},g=class{constructor(i,n=null){this.name=i,this.data=n}};function zi(){}function Hi(e){let i=w.get(e.name);if(i){let n=i.filter(o=>{if(o.Callback(e))return!0});n.length>0&&(i=i.filter(o=>!n.includes(o)),i.length===0?w.delete(e.name):w.set(e.name,i))}}function F(e,i,n){let o=w.get(e)||[],t=new I(e,i,n);return o.push(t),w.set(e,o),()=>_i(t)}function Zi(e,i){return F(e,i,-1)}function Vi(e,i){return F(e,i,1)}function _i(e){let i=e.eventName,n=w.get(i).filter(o=>o!==e);n.length===0?w.delete(i):w.set(i,n)}function ji(e,...i){[e,...i].forEach(o=>w.delete(o))}function Gi(){w.clear()}function y(e){return ki(Ni,e)}var k={};c(k,{Error:()=>rn,Info:()=>tn,OpenFile:()=>dn,Question:()=>h,SaveFile:()=>ln,Warning:()=>an});window._wails=window._wails||{};window._wails.dialogErrorCallback=on;window._wails.dialogResultCallback=nn;var Ki=0,Qi=1,qi=2,Ji=3,Yi=4,Xi=5,$i=d(r.Dialog,""),u=new Map;function en(){let e;do e=p();while(u.has(e));return e}function W(e,i={}){let n=en();return i["dialog-id"]=n,new Promise((o,t)=>{u.set(n,{resolve:o,reject:t}),$i(e,i).catch(l=>{t(l),u.delete(n)})})}function nn(e,i,n){let o=u.get(e);o&&(n?o.resolve(JSON.parse(i)):o.resolve(i),u.delete(e))}function on(e,i){let n=u.get(e);n&&(n.reject(i),u.delete(e))}var tn=e=>W(Ki,e),an=e=>W(Qi,e),rn=e=>W(qi,e),h=e=>W(Ji,e),dn=e=>W(Yi,e),ln=e=>W(Xi,e);function G(e,i=null){let n=new g(e,i);y(n)}function cn(){document.querySelectorAll("[wml-event]").forEach(function(i){let n=i.getAttribute("wml-event"),o=i.getAttribute("wml-confirm"),t=i.getAttribute("wml-trigger")||"click",l=function(){if(o){h({Title:"Confirm",Message:o,Detached:!1,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(m){m!=="No"&&G(n)});return}G(n)};i.removeEventListener(t,l),i.addEventListener(t,l)})}function K(e,i){let n=M(e),o=mn(n);o.has(i);try{o.get(i)()}catch{}}function sn(){document.querySelectorAll("[wml-window]").forEach(function(i){let n=i.getAttribute("wml-window"),o=i.getAttribute("wml-confirm"),t=i.getAttribute("wml-trigger")||"click",l=i.getAttribute("wml-target-window")||"",m=function(){if(o){h({Title:"Confirm",Message:o,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(D){D!=="No"&&K(l,n)});return}K(l,n)};i.removeEventListener(t,m),i.addEventListener(t,m)})}function wn(){document.querySelectorAll("[wml-openurl]").forEach(function(i){let n=i.getAttribute("wml-openurl"),o=i.getAttribute("wml-confirm"),t=i.getAttribute("wml-trigger")||"click",l=function(){if(o){h({Title:"Confirm",Message:o,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(m){m!=="No"&&S(n)});return}S(n)};i.removeEventListener(t,l),i.addEventListener(t,l)})}function N(){cn(),sn(),wn()}function mn(e){let i=new Map;for(let n in e)typeof e[n]=="function"&&i.set(n,e[n]);return i}var H={};c(H,{ByID:()=>Dn,ByName:()=>fn,Call:()=>hn,Plugin:()=>Sn});window._wails=window._wails||{};window._wails.callResultHandler=Wn;window._wails.callErrorHandler=gn;var C=0,un=d(r.Call,""),f=new Map;function pn(){let e;do e=p();while(f.has(e));return e}function Wn(e,i,n){let o=Q(e);o&&o.resolve(n?JSON.parse(i):i)}function gn(e,i){let n=Q(e);n&&n.reject(i)}function Q(e){let i=f.get(e);return f.delete(e),i}function x(e,i={}){return new Promise((n,o)=>{let t=pn();i["call-id"]=t,f.set(t,{resolve:n,reject:o}),un(e,i).catch(l=>{o(l),f.delete(t)})})}function hn(e){return x(C,e)}function fn(e,...i){if(typeof e!="string"||e.split(".").length!==3)throw new Error("CallByName requires a string in the format 'package.struct.method'");let[n,o,t]=e.split(".");return x(C,{packageName:n,structName:o,methodName:t,args:i})}function Dn(e,...i){return x(C,{methodID:e,args:i})}function Sn(e,i,...n){return x(C,{packageName:"wails-plugins",structName:e,methodName:i,args:n})}window._wails=window._wails||{};window._wails.invoke=T;window.wails=window.wails||{};window.wails.Application=v;window.wails.Browser=R;window.wails.Call=H;window.wails.Clipboard=b;window.wails.Dialogs=k;window.wails.Events=L;window.wails.Flags=U;window.wails.Screens=O;window.wails.System=B;window.wails.Window=P;window.wails.WML=z;var q=!1;document.addEventListener("DOMContentLoaded",function(){q=!0,window._wails.invoke("wails:runtime:ready")});function Mn(e){q||document.readyState==="complete"?e():document.addEventListener("DOMContentLoaded",e)}Mn(()=>{N()});})(); diff --git a/v3/pkg/application/webview_window_windows.go b/v3/pkg/application/webview_window_windows.go index 38a0ad23..465d628a 100644 --- a/v3/pkg/application/webview_window_windows.go +++ b/v3/pkg/application/webview_window_windows.go @@ -1490,7 +1490,6 @@ func (w *windowsWebviewWindow) flash(enabled bool) { func (w *windowsWebviewWindow) navigationCompleted(sender *edge.ICoreWebView2, args *edge.ICoreWebView2NavigationCompletedEventArgs) { // Install the runtime core - println("runtime core = ", runtime.Core()) w.execJS(runtime.Core()) // Emit DomReady Event