1621 lines
47 KiB
JavaScript
1621 lines
47 KiB
JavaScript
import {
|
||
__export
|
||
} from "./chunk-PZ5AY32C.js";
|
||
|
||
// node_modules/nanoid/non-secure/index.js
|
||
var urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
||
var nanoid = (size = 21) => {
|
||
let id = "";
|
||
let i = size | 0;
|
||
while (i--) {
|
||
id += urlAlphabet[Math.random() * 64 | 0];
|
||
}
|
||
return id;
|
||
};
|
||
|
||
// node_modules/@wailsio/runtime/src/runtime.js
|
||
var runtimeURL = window.location.origin + "/wails/runtime";
|
||
var objectNames = {
|
||
Call: 0,
|
||
Clipboard: 1,
|
||
Application: 2,
|
||
Events: 3,
|
||
ContextMenu: 4,
|
||
Dialog: 5,
|
||
Window: 6,
|
||
Screens: 7,
|
||
System: 8,
|
||
Browser: 9,
|
||
CancelCall: 10
|
||
};
|
||
var clientId = nanoid();
|
||
function newRuntimeCallerWithID(object, windowName) {
|
||
return function(method, args = null) {
|
||
return runtimeCallWithID(object, method, windowName, args);
|
||
};
|
||
}
|
||
function runtimeCallWithID(objectID, method, windowName, args) {
|
||
let url = new URL(runtimeURL);
|
||
url.searchParams.append("object", objectID);
|
||
url.searchParams.append("method", method);
|
||
let fetchOptions = {
|
||
headers: {}
|
||
};
|
||
if (windowName) {
|
||
fetchOptions.headers["x-wails-window-name"] = windowName;
|
||
}
|
||
if (args) {
|
||
url.searchParams.append("args", JSON.stringify(args));
|
||
}
|
||
fetchOptions.headers["x-wails-client-id"] = clientId;
|
||
return new Promise((resolve, reject) => {
|
||
fetch(url, fetchOptions).then((response) => {
|
||
if (response.ok) {
|
||
if (response.headers.get("Content-Type") && response.headers.get("Content-Type").indexOf("application/json") !== -1) {
|
||
return response.json();
|
||
} else {
|
||
return response.text();
|
||
}
|
||
}
|
||
reject(Error(response.statusText));
|
||
}).then((data) => resolve(data)).catch((error) => reject(error));
|
||
});
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/system.js
|
||
var system_exports = {};
|
||
__export(system_exports, {
|
||
Capabilities: () => Capabilities,
|
||
Environment: () => Environment,
|
||
IsAMD64: () => IsAMD64,
|
||
IsARM: () => IsARM,
|
||
IsARM64: () => IsARM64,
|
||
IsDarkMode: () => IsDarkMode,
|
||
IsDebug: () => IsDebug,
|
||
IsLinux: () => IsLinux,
|
||
IsMac: () => IsMac,
|
||
IsWindows: () => IsWindows,
|
||
invoke: () => invoke
|
||
});
|
||
var call = newRuntimeCallerWithID(objectNames.System, "");
|
||
var systemIsDarkMode = 0;
|
||
var environment = 1;
|
||
var _invoke = (() => {
|
||
var _a, _b, _c;
|
||
try {
|
||
if ((_a = window == null ? void 0 : window.chrome) == null ? void 0 : _a.webview) {
|
||
return (msg) => window.chrome.webview.postMessage(msg);
|
||
}
|
||
if ((_c = (_b = window == null ? void 0 : window.webkit) == null ? void 0 : _b.messageHandlers) == null ? void 0 : _c.external) {
|
||
return (msg) => window.webkit.messageHandlers.external.postMessage(msg);
|
||
}
|
||
} catch (e) {
|
||
console.warn(
|
||
"\n%c⚠️ Browser Environment Detected %c\n\n%cOnly UI previews are available in the browser. For full functionality, please run the application in desktop mode.\nMore information at: https://v3alpha.wails.io/learn/build/#using-a-browser-for-development\n",
|
||
"background: #ffffff; color: #000000; font-weight: bold; padding: 4px 8px; border-radius: 4px; border: 2px solid #000000;",
|
||
"background: transparent;",
|
||
"color: #ffffff; font-style: italic; font-weight: bold;"
|
||
);
|
||
}
|
||
return null;
|
||
})();
|
||
function invoke(msg) {
|
||
if (!_invoke) return;
|
||
return _invoke(msg);
|
||
}
|
||
function IsDarkMode() {
|
||
return call(systemIsDarkMode);
|
||
}
|
||
function Capabilities() {
|
||
let response = fetch("/wails/capabilities");
|
||
return response.json();
|
||
}
|
||
function Environment() {
|
||
return call(environment);
|
||
}
|
||
function IsWindows() {
|
||
return window._wails.environment.OS === "windows";
|
||
}
|
||
function IsLinux() {
|
||
return window._wails.environment.OS === "linux";
|
||
}
|
||
function IsMac() {
|
||
return window._wails.environment.OS === "darwin";
|
||
}
|
||
function IsAMD64() {
|
||
return window._wails.environment.Arch === "amd64";
|
||
}
|
||
function IsARM() {
|
||
return window._wails.environment.Arch === "arm";
|
||
}
|
||
function IsARM64() {
|
||
return window._wails.environment.Arch === "arm64";
|
||
}
|
||
function IsDebug() {
|
||
return window._wails.environment.Debug === true;
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/contextmenu.js
|
||
window.addEventListener("contextmenu", contextMenuHandler);
|
||
var call2 = newRuntimeCallerWithID(objectNames.ContextMenu, "");
|
||
var ContextMenuOpen = 0;
|
||
function openContextMenu(id, x, y, data) {
|
||
void call2(ContextMenuOpen, { id, x, y, data });
|
||
}
|
||
function contextMenuHandler(event) {
|
||
let element = event.target;
|
||
let customContextMenu = window.getComputedStyle(element).getPropertyValue("--custom-contextmenu");
|
||
customContextMenu = customContextMenu ? customContextMenu.trim() : "";
|
||
if (customContextMenu) {
|
||
event.preventDefault();
|
||
let customContextMenuData = window.getComputedStyle(element).getPropertyValue("--custom-contextmenu-data");
|
||
openContextMenu(customContextMenu, event.clientX, event.clientY, customContextMenuData);
|
||
return;
|
||
}
|
||
processDefaultContextMenu(event);
|
||
}
|
||
function processDefaultContextMenu(event) {
|
||
if (IsDebug()) {
|
||
return;
|
||
}
|
||
const element = event.target;
|
||
const computedStyle = window.getComputedStyle(element);
|
||
const defaultContextMenuAction = computedStyle.getPropertyValue("--default-contextmenu").trim();
|
||
switch (defaultContextMenuAction) {
|
||
case "show":
|
||
return;
|
||
case "hide":
|
||
event.preventDefault();
|
||
return;
|
||
default:
|
||
if (element.isContentEditable) {
|
||
return;
|
||
}
|
||
const selection = window.getSelection();
|
||
const hasSelection = selection.toString().length > 0;
|
||
if (hasSelection) {
|
||
for (let i = 0; i < selection.rangeCount; i++) {
|
||
const range = selection.getRangeAt(i);
|
||
const rects = range.getClientRects();
|
||
for (let j = 0; j < rects.length; j++) {
|
||
const rect = rects[j];
|
||
if (document.elementFromPoint(rect.left, rect.top) === element) {
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (element.tagName === "INPUT" || element.tagName === "TEXTAREA") {
|
||
if (hasSelection || !element.readOnly && !element.disabled) {
|
||
return;
|
||
}
|
||
}
|
||
event.preventDefault();
|
||
}
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/flags.js
|
||
var flags_exports = {};
|
||
__export(flags_exports, {
|
||
GetFlag: () => GetFlag
|
||
});
|
||
function GetFlag(keyString) {
|
||
try {
|
||
return window._wails.flags[keyString];
|
||
} catch (e) {
|
||
throw new Error("Unable to retrieve flag '" + keyString + "': " + e);
|
||
}
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/drag.js
|
||
var shouldDrag = false;
|
||
var resizable = false;
|
||
var resizeEdge = null;
|
||
var defaultCursor = "auto";
|
||
window._wails = window._wails || {};
|
||
window._wails.setResizable = function(value) {
|
||
resizable = value;
|
||
};
|
||
window._wails.endDrag = function() {
|
||
document.body.style.cursor = "default";
|
||
shouldDrag = false;
|
||
};
|
||
window.addEventListener("mousedown", onMouseDown);
|
||
window.addEventListener("mousemove", onMouseMove);
|
||
window.addEventListener("mouseup", onMouseUp);
|
||
function dragTest(e) {
|
||
let val = window.getComputedStyle(e.target).getPropertyValue("--wails-draggable");
|
||
let mousePressed = e.buttons !== void 0 ? e.buttons : e.which;
|
||
if (!val || val === "" || val.trim() !== "drag" || mousePressed === 0) {
|
||
return false;
|
||
}
|
||
return e.detail === 1;
|
||
}
|
||
function onMouseDown(e) {
|
||
if (resizeEdge) {
|
||
invoke("wails:resize:" + resizeEdge);
|
||
e.preventDefault();
|
||
return;
|
||
}
|
||
if (dragTest(e)) {
|
||
if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) {
|
||
return;
|
||
}
|
||
shouldDrag = true;
|
||
} else {
|
||
shouldDrag = false;
|
||
}
|
||
}
|
||
function onMouseUp() {
|
||
shouldDrag = false;
|
||
}
|
||
function setResize(cursor) {
|
||
document.documentElement.style.cursor = cursor || defaultCursor;
|
||
resizeEdge = cursor;
|
||
}
|
||
function onMouseMove(e) {
|
||
if (shouldDrag) {
|
||
shouldDrag = false;
|
||
let mousePressed = e.buttons !== void 0 ? e.buttons : e.which;
|
||
if (mousePressed > 0) {
|
||
invoke("wails:drag");
|
||
return;
|
||
}
|
||
}
|
||
if (!resizable || !IsWindows()) {
|
||
return;
|
||
}
|
||
if (defaultCursor == null) {
|
||
defaultCursor = document.documentElement.style.cursor;
|
||
}
|
||
let resizeHandleHeight = GetFlag("system.resizeHandleHeight") || 5;
|
||
let resizeHandleWidth = GetFlag("system.resizeHandleWidth") || 5;
|
||
let cornerExtra = GetFlag("resizeCornerExtra") || 10;
|
||
let rightBorder = window.outerWidth - e.clientX < resizeHandleWidth;
|
||
let leftBorder = e.clientX < resizeHandleWidth;
|
||
let topBorder = e.clientY < resizeHandleHeight;
|
||
let bottomBorder = window.outerHeight - e.clientY < resizeHandleHeight;
|
||
let rightCorner = window.outerWidth - e.clientX < resizeHandleWidth + cornerExtra;
|
||
let leftCorner = e.clientX < resizeHandleWidth + cornerExtra;
|
||
let topCorner = e.clientY < resizeHandleHeight + cornerExtra;
|
||
let bottomCorner = window.outerHeight - e.clientY < resizeHandleHeight + cornerExtra;
|
||
if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && resizeEdge !== void 0) {
|
||
setResize();
|
||
} else if (rightCorner && bottomCorner) setResize("se-resize");
|
||
else if (leftCorner && bottomCorner) setResize("sw-resize");
|
||
else if (leftCorner && topCorner) setResize("nw-resize");
|
||
else if (topCorner && rightCorner) setResize("ne-resize");
|
||
else if (leftBorder) setResize("w-resize");
|
||
else if (topBorder) setResize("n-resize");
|
||
else if (bottomBorder) setResize("s-resize");
|
||
else if (rightBorder) setResize("e-resize");
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/application.js
|
||
var application_exports = {};
|
||
__export(application_exports, {
|
||
Hide: () => Hide,
|
||
Quit: () => Quit,
|
||
Show: () => Show
|
||
});
|
||
var call3 = newRuntimeCallerWithID(objectNames.Application, "");
|
||
var HideMethod = 0;
|
||
var ShowMethod = 1;
|
||
var QuitMethod = 2;
|
||
function Hide() {
|
||
return call3(HideMethod);
|
||
}
|
||
function Show() {
|
||
return call3(ShowMethod);
|
||
}
|
||
function Quit() {
|
||
return call3(QuitMethod);
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/browser.js
|
||
var browser_exports = {};
|
||
__export(browser_exports, {
|
||
OpenURL: () => OpenURL
|
||
});
|
||
var call4 = newRuntimeCallerWithID(objectNames.Browser, "");
|
||
var BrowserOpenURL = 0;
|
||
function OpenURL(url) {
|
||
return call4(BrowserOpenURL, { url });
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/calls.js
|
||
var calls_exports = {};
|
||
__export(calls_exports, {
|
||
ByID: () => ByID,
|
||
ByName: () => ByName,
|
||
Call: () => Call,
|
||
Plugin: () => Plugin
|
||
});
|
||
window._wails = window._wails || {};
|
||
window._wails.callResultHandler = resultHandler;
|
||
window._wails.callErrorHandler = errorHandler;
|
||
var CallBinding = 0;
|
||
var call5 = newRuntimeCallerWithID(objectNames.Call, "");
|
||
var cancelCall = newRuntimeCallerWithID(objectNames.CancelCall, "");
|
||
var callResponses = /* @__PURE__ */ new Map();
|
||
function generateID() {
|
||
let result;
|
||
do {
|
||
result = nanoid();
|
||
} while (callResponses.has(result));
|
||
return result;
|
||
}
|
||
function resultHandler(id, data, isJSON) {
|
||
const promiseHandler = getAndDeleteResponse(id);
|
||
if (promiseHandler) {
|
||
promiseHandler.resolve(isJSON ? JSON.parse(data) : data);
|
||
}
|
||
}
|
||
function errorHandler(id, message) {
|
||
const promiseHandler = getAndDeleteResponse(id);
|
||
if (promiseHandler) {
|
||
promiseHandler.reject(message);
|
||
}
|
||
}
|
||
function getAndDeleteResponse(id) {
|
||
const response = callResponses.get(id);
|
||
callResponses.delete(id);
|
||
return response;
|
||
}
|
||
function callBinding(type, options = {}) {
|
||
const id = generateID();
|
||
const doCancel = () => {
|
||
return cancelCall(type, { "call-id": id });
|
||
};
|
||
let queuedCancel = false, callRunning = false;
|
||
let p = new Promise((resolve, reject) => {
|
||
options["call-id"] = id;
|
||
callResponses.set(id, { resolve, reject });
|
||
call5(type, options).then((_) => {
|
||
callRunning = true;
|
||
if (queuedCancel) {
|
||
return doCancel();
|
||
}
|
||
}).catch((error) => {
|
||
reject(error);
|
||
callResponses.delete(id);
|
||
});
|
||
});
|
||
p.cancel = () => {
|
||
if (callRunning) {
|
||
return doCancel();
|
||
} else {
|
||
queuedCancel = true;
|
||
}
|
||
};
|
||
return p;
|
||
}
|
||
function Call(options) {
|
||
return callBinding(CallBinding, options);
|
||
}
|
||
function ByName(methodName, ...args) {
|
||
return callBinding(CallBinding, {
|
||
methodName,
|
||
args
|
||
});
|
||
}
|
||
function ByID(methodID, ...args) {
|
||
return callBinding(CallBinding, {
|
||
methodID,
|
||
args
|
||
});
|
||
}
|
||
function Plugin(pluginName, methodName, ...args) {
|
||
return callBinding(CallBinding, {
|
||
packageName: "wails-plugins",
|
||
structName: pluginName,
|
||
methodName,
|
||
args
|
||
});
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/clipboard.js
|
||
var clipboard_exports = {};
|
||
__export(clipboard_exports, {
|
||
SetText: () => SetText,
|
||
Text: () => Text
|
||
});
|
||
var call6 = newRuntimeCallerWithID(objectNames.Clipboard, "");
|
||
var ClipboardSetText = 0;
|
||
var ClipboardText = 1;
|
||
function SetText(text) {
|
||
return call6(ClipboardSetText, { text });
|
||
}
|
||
function Text() {
|
||
return call6(ClipboardText);
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/create.js
|
||
var create_exports = {};
|
||
__export(create_exports, {
|
||
Any: () => Any,
|
||
Array: () => Array,
|
||
ByteSlice: () => ByteSlice,
|
||
Map: () => Map2,
|
||
Nullable: () => Nullable,
|
||
Struct: () => Struct
|
||
});
|
||
function Any(source) {
|
||
return (
|
||
/** @type {T} */
|
||
source
|
||
);
|
||
}
|
||
function ByteSlice(source) {
|
||
return (
|
||
/** @type {any} */
|
||
source == null ? "" : source
|
||
);
|
||
}
|
||
function Array(element) {
|
||
if (element === Any) {
|
||
return (source) => source === null ? [] : source;
|
||
}
|
||
return (source) => {
|
||
if (source === null) {
|
||
return [];
|
||
}
|
||
for (let i = 0; i < source.length; i++) {
|
||
source[i] = element(source[i]);
|
||
}
|
||
return source;
|
||
};
|
||
}
|
||
function Map2(key, value) {
|
||
if (value === Any) {
|
||
return (source) => source === null ? {} : source;
|
||
}
|
||
return (source) => {
|
||
if (source === null) {
|
||
return {};
|
||
}
|
||
for (const key2 in source) {
|
||
source[key2] = value(source[key2]);
|
||
}
|
||
return source;
|
||
};
|
||
}
|
||
function Nullable(element) {
|
||
if (element === Any) {
|
||
return Any;
|
||
}
|
||
return (source) => source === null ? null : element(source);
|
||
}
|
||
function Struct(createField) {
|
||
let allAny = true;
|
||
for (const name in createField) {
|
||
if (createField[name] !== Any) {
|
||
allAny = false;
|
||
break;
|
||
}
|
||
}
|
||
if (allAny) {
|
||
return Any;
|
||
}
|
||
return (source) => {
|
||
for (const name in createField) {
|
||
if (name in source) {
|
||
source[name] = createField[name](source[name]);
|
||
}
|
||
}
|
||
return source;
|
||
};
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/dialogs.js
|
||
var dialogs_exports = {};
|
||
__export(dialogs_exports, {
|
||
Error: () => Error2,
|
||
Info: () => Info,
|
||
OpenFile: () => OpenFile,
|
||
Question: () => Question,
|
||
SaveFile: () => SaveFile,
|
||
Warning: () => Warning
|
||
});
|
||
window._wails = window._wails || {};
|
||
window._wails.dialogErrorCallback = dialogErrorCallback;
|
||
window._wails.dialogResultCallback = dialogResultCallback;
|
||
var DialogInfo = 0;
|
||
var DialogWarning = 1;
|
||
var DialogError = 2;
|
||
var DialogQuestion = 3;
|
||
var DialogOpenFile = 4;
|
||
var DialogSaveFile = 5;
|
||
var call7 = newRuntimeCallerWithID(objectNames.Dialog, "");
|
||
var dialogResponses = /* @__PURE__ */ new Map();
|
||
function generateID2() {
|
||
let result;
|
||
do {
|
||
result = nanoid();
|
||
} while (dialogResponses.has(result));
|
||
return result;
|
||
}
|
||
function dialog(type, options = {}) {
|
||
const id = generateID2();
|
||
options["dialog-id"] = id;
|
||
return new Promise((resolve, reject) => {
|
||
dialogResponses.set(id, { resolve, reject });
|
||
call7(type, options).catch((error) => {
|
||
reject(error);
|
||
dialogResponses.delete(id);
|
||
});
|
||
});
|
||
}
|
||
function dialogResultCallback(id, data, isJSON) {
|
||
let p = dialogResponses.get(id);
|
||
if (p) {
|
||
if (isJSON) {
|
||
p.resolve(JSON.parse(data));
|
||
} else {
|
||
p.resolve(data);
|
||
}
|
||
dialogResponses.delete(id);
|
||
}
|
||
}
|
||
function dialogErrorCallback(id, message) {
|
||
let p = dialogResponses.get(id);
|
||
if (p) {
|
||
p.reject(message);
|
||
dialogResponses.delete(id);
|
||
}
|
||
}
|
||
var Info = (options) => dialog(DialogInfo, options);
|
||
var Warning = (options) => dialog(DialogWarning, options);
|
||
var Error2 = (options) => dialog(DialogError, options);
|
||
var Question = (options) => dialog(DialogQuestion, options);
|
||
var OpenFile = (options) => dialog(DialogOpenFile, options);
|
||
var SaveFile = (options) => dialog(DialogSaveFile, options);
|
||
|
||
// node_modules/@wailsio/runtime/src/events.js
|
||
var events_exports = {};
|
||
__export(events_exports, {
|
||
Emit: () => Emit,
|
||
Off: () => Off,
|
||
OffAll: () => OffAll,
|
||
On: () => On,
|
||
OnMultiple: () => OnMultiple,
|
||
Once: () => Once,
|
||
Types: () => Types,
|
||
WailsEvent: () => WailsEvent,
|
||
setup: () => setup
|
||
});
|
||
|
||
// node_modules/@wailsio/runtime/src/event_types.js
|
||
var EventTypes = {
|
||
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",
|
||
WindowClosing: "windows:WindowClosing",
|
||
WindowSetFocus: "windows:WindowSetFocus",
|
||
WindowKillFocus: "windows:WindowKillFocus",
|
||
WindowDragDrop: "windows:WindowDragDrop",
|
||
WindowDragEnter: "windows:WindowDragEnter",
|
||
WindowDragLeave: "windows:WindowDragLeave",
|
||
WindowDragOver: "windows:WindowDragOver",
|
||
WindowDidMove: "windows:WindowDidMove",
|
||
WindowDidResize: "windows:WindowDidResize",
|
||
WindowShow: "windows:WindowShow",
|
||
WindowHide: "windows:WindowHide",
|
||
WindowStartMove: "windows:WindowStartMove",
|
||
WindowEndMove: "windows:WindowEndMove",
|
||
WindowStartResize: "windows:WindowStartResize",
|
||
WindowEndResize: "windows:WindowEndResize",
|
||
WindowKeyDown: "windows:WindowKeyDown",
|
||
WindowKeyUp: "windows:WindowKeyUp",
|
||
WindowZOrderChanged: "windows:WindowZOrderChanged",
|
||
WindowPaint: "windows:WindowPaint",
|
||
WindowBackgroundErase: "windows:WindowBackgroundErase",
|
||
WindowNonClientHit: "windows:WindowNonClientHit",
|
||
WindowNonClientMouseDown: "windows:WindowNonClientMouseDown",
|
||
WindowNonClientMouseUp: "windows:WindowNonClientMouseUp",
|
||
WindowNonClientMouseMove: "windows:WindowNonClientMouseMove",
|
||
WindowNonClientMouseLeave: "windows:WindowNonClientMouseLeave"
|
||
},
|
||
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",
|
||
WindowDidDeminiaturize: "mac:WindowDidDeminiaturize",
|
||
WindowDidEndSheet: "mac:WindowDidEndSheet",
|
||
WindowDidEnterFullScreen: "mac:WindowDidEnterFullScreen",
|
||
WindowMaximise: "mac:WindowMaximise",
|
||
WindowUnMaximise: "mac:WindowUnMaximise",
|
||
WindowDidZoom: "mac:WindowDidZoom!",
|
||
WindowZoomIn: "mac:WindowZoomIn!",
|
||
WindowZoomOut: "mac:WindowZoomOut!",
|
||
WindowZoomReset: "mac:WindowZoomReset!",
|
||
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",
|
||
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",
|
||
WindowShow: "mac:WindowShow",
|
||
WindowHide: "mac:WindowHide"
|
||
},
|
||
Linux: {
|
||
SystemThemeChanged: "linux:SystemThemeChanged",
|
||
WindowLoadChanged: "linux:WindowLoadChanged",
|
||
WindowDeleteEvent: "linux:WindowDeleteEvent",
|
||
WindowDidMove: "linux:WindowDidMove",
|
||
WindowDidResize: "linux:WindowDidResize",
|
||
WindowFocusIn: "linux:WindowFocusIn",
|
||
WindowFocusOut: "linux:WindowFocusOut",
|
||
ApplicationStartup: "linux:ApplicationStartup"
|
||
},
|
||
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",
|
||
WindowDidMove: "common:WindowDidMove",
|
||
WindowDidResize: "common:WindowDidResize",
|
||
ApplicationOpenedWithFile: "common:ApplicationOpenedWithFile"
|
||
}
|
||
};
|
||
|
||
// node_modules/@wailsio/runtime/src/events.js
|
||
var Types = EventTypes;
|
||
window._wails = window._wails || {};
|
||
window._wails.dispatchWailsEvent = dispatchWailsEvent;
|
||
var call8 = newRuntimeCallerWithID(objectNames.Events, "");
|
||
var EmitMethod = 0;
|
||
var eventListeners = /* @__PURE__ */ new Map();
|
||
var Listener = class {
|
||
constructor(eventName, callback, maxCallbacks) {
|
||
this.eventName = eventName;
|
||
this.maxCallbacks = maxCallbacks || -1;
|
||
this.Callback = (data) => {
|
||
callback(data);
|
||
if (this.maxCallbacks === -1) return false;
|
||
this.maxCallbacks -= 1;
|
||
return this.maxCallbacks === 0;
|
||
};
|
||
}
|
||
};
|
||
var WailsEvent = class {
|
||
constructor(name, data = null) {
|
||
this.name = name;
|
||
this.data = data;
|
||
}
|
||
};
|
||
function setup() {
|
||
}
|
||
function dispatchWailsEvent(event) {
|
||
let listeners = eventListeners.get(event.name);
|
||
if (listeners) {
|
||
let toRemove = listeners.filter((listener) => {
|
||
let remove = listener.Callback(event);
|
||
if (remove) return true;
|
||
});
|
||
if (toRemove.length > 0) {
|
||
listeners = listeners.filter((l) => !toRemove.includes(l));
|
||
if (listeners.length === 0) eventListeners.delete(event.name);
|
||
else eventListeners.set(event.name, listeners);
|
||
}
|
||
}
|
||
}
|
||
function OnMultiple(eventName, callback, maxCallbacks) {
|
||
let listeners = eventListeners.get(eventName) || [];
|
||
const thisListener = new Listener(eventName, callback, maxCallbacks);
|
||
listeners.push(thisListener);
|
||
eventListeners.set(eventName, listeners);
|
||
return () => listenerOff(thisListener);
|
||
}
|
||
function On(eventName, callback) {
|
||
return OnMultiple(eventName, callback, -1);
|
||
}
|
||
function Once(eventName, callback) {
|
||
return OnMultiple(eventName, callback, 1);
|
||
}
|
||
function listenerOff(listener) {
|
||
const eventName = listener.eventName;
|
||
let listeners = eventListeners.get(eventName).filter((l) => l !== listener);
|
||
if (listeners.length === 0) eventListeners.delete(eventName);
|
||
else eventListeners.set(eventName, listeners);
|
||
}
|
||
function Off(eventName, ...additionalEventNames) {
|
||
let eventsToRemove = [eventName, ...additionalEventNames];
|
||
eventsToRemove.forEach((eventName2) => eventListeners.delete(eventName2));
|
||
}
|
||
function OffAll() {
|
||
eventListeners.clear();
|
||
}
|
||
function Emit(event) {
|
||
return call8(EmitMethod, event);
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/screens.js
|
||
var screens_exports = {};
|
||
__export(screens_exports, {
|
||
GetAll: () => GetAll,
|
||
GetCurrent: () => GetCurrent,
|
||
GetPrimary: () => GetPrimary
|
||
});
|
||
var call9 = newRuntimeCallerWithID(objectNames.Screens, "");
|
||
var getAll = 0;
|
||
var getPrimary = 1;
|
||
var getCurrent = 2;
|
||
function GetAll() {
|
||
return call9(getAll);
|
||
}
|
||
function GetPrimary() {
|
||
return call9(getPrimary);
|
||
}
|
||
function GetCurrent() {
|
||
return call9(getCurrent);
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/window.js
|
||
var PositionMethod = 0;
|
||
var CenterMethod = 1;
|
||
var CloseMethod = 2;
|
||
var DisableSizeConstraintsMethod = 3;
|
||
var EnableSizeConstraintsMethod = 4;
|
||
var FocusMethod = 5;
|
||
var ForceReloadMethod = 6;
|
||
var FullscreenMethod = 7;
|
||
var GetScreenMethod = 8;
|
||
var GetZoomMethod = 9;
|
||
var HeightMethod = 10;
|
||
var HideMethod2 = 11;
|
||
var IsFocusedMethod = 12;
|
||
var IsFullscreenMethod = 13;
|
||
var IsMaximisedMethod = 14;
|
||
var IsMinimisedMethod = 15;
|
||
var MaximiseMethod = 16;
|
||
var MinimiseMethod = 17;
|
||
var NameMethod = 18;
|
||
var OpenDevToolsMethod = 19;
|
||
var RelativePositionMethod = 20;
|
||
var ReloadMethod = 21;
|
||
var ResizableMethod = 22;
|
||
var RestoreMethod = 23;
|
||
var SetPositionMethod = 24;
|
||
var SetAlwaysOnTopMethod = 25;
|
||
var SetBackgroundColourMethod = 26;
|
||
var SetFramelessMethod = 27;
|
||
var SetFullscreenButtonEnabledMethod = 28;
|
||
var SetMaxSizeMethod = 29;
|
||
var SetMinSizeMethod = 30;
|
||
var SetRelativePositionMethod = 31;
|
||
var SetResizableMethod = 32;
|
||
var SetSizeMethod = 33;
|
||
var SetTitleMethod = 34;
|
||
var SetZoomMethod = 35;
|
||
var ShowMethod2 = 36;
|
||
var SizeMethod = 37;
|
||
var ToggleFullscreenMethod = 38;
|
||
var ToggleMaximiseMethod = 39;
|
||
var UnFullscreenMethod = 40;
|
||
var UnMaximiseMethod = 41;
|
||
var UnMinimiseMethod = 42;
|
||
var WidthMethod = 43;
|
||
var ZoomMethod = 44;
|
||
var ZoomInMethod = 45;
|
||
var ZoomOutMethod = 46;
|
||
var ZoomResetMethod = 47;
|
||
var caller = Symbol();
|
||
var Window = class _Window {
|
||
/**
|
||
* Initialises a window object with the specified name.
|
||
*
|
||
* @private
|
||
* @param {string} name - The name of the target window.
|
||
*/
|
||
constructor(name = "") {
|
||
this[caller] = newRuntimeCallerWithID(objectNames.Window, name);
|
||
for (const method of Object.getOwnPropertyNames(_Window.prototype)) {
|
||
if (method !== "constructor" && typeof this[method] === "function") {
|
||
this[method] = this[method].bind(this);
|
||
}
|
||
}
|
||
}
|
||
/**
|
||
* Gets the specified window.
|
||
*
|
||
* @public
|
||
* @param {string} name - The name of the window to get.
|
||
* @return {Window} - The corresponding window object.
|
||
*/
|
||
Get(name) {
|
||
return new _Window(name);
|
||
}
|
||
/**
|
||
* Returns the absolute position of the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<Position>} - The current absolute position of the window.
|
||
*/
|
||
Position() {
|
||
return this[caller](PositionMethod);
|
||
}
|
||
/**
|
||
* Centers the window on the screen.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
Center() {
|
||
return this[caller](CenterMethod);
|
||
}
|
||
/**
|
||
* Closes the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
Close() {
|
||
return this[caller](CloseMethod);
|
||
}
|
||
/**
|
||
* Disables min/max size constraints.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
DisableSizeConstraints() {
|
||
return this[caller](DisableSizeConstraintsMethod);
|
||
}
|
||
/**
|
||
* Enables min/max size constraints.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
EnableSizeConstraints() {
|
||
return this[caller](EnableSizeConstraintsMethod);
|
||
}
|
||
/**
|
||
* Focuses the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
Focus() {
|
||
return this[caller](FocusMethod);
|
||
}
|
||
/**
|
||
* Forces the window to reload the page assets.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
ForceReload() {
|
||
return this[caller](ForceReloadMethod);
|
||
}
|
||
/**
|
||
* Doc.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
Fullscreen() {
|
||
return this[caller](FullscreenMethod);
|
||
}
|
||
/**
|
||
* Returns the screen that the window is on.
|
||
*
|
||
* @public
|
||
* @return {Promise<Screen>} - The screen the window is currently on
|
||
*/
|
||
GetScreen() {
|
||
return this[caller](GetScreenMethod);
|
||
}
|
||
/**
|
||
* Returns the current zoom level of the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<number>} - The current zoom level
|
||
*/
|
||
GetZoom() {
|
||
return this[caller](GetZoomMethod);
|
||
}
|
||
/**
|
||
* Returns the height of the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<number>} - The current height of the window
|
||
*/
|
||
Height() {
|
||
return this[caller](HeightMethod);
|
||
}
|
||
/**
|
||
* Hides the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
Hide() {
|
||
return this[caller](HideMethod2);
|
||
}
|
||
/**
|
||
* Returns true if the window is focused.
|
||
*
|
||
* @public
|
||
* @return {Promise<boolean>} - Whether the window is currently focused
|
||
*/
|
||
IsFocused() {
|
||
return this[caller](IsFocusedMethod);
|
||
}
|
||
/**
|
||
* Returns true if the window is fullscreen.
|
||
*
|
||
* @public
|
||
* @return {Promise<boolean>} - Whether the window is currently fullscreen
|
||
*/
|
||
IsFullscreen() {
|
||
return this[caller](IsFullscreenMethod);
|
||
}
|
||
/**
|
||
* Returns true if the window is maximised.
|
||
*
|
||
* @public
|
||
* @return {Promise<boolean>} - Whether the window is currently maximised
|
||
*/
|
||
IsMaximised() {
|
||
return this[caller](IsMaximisedMethod);
|
||
}
|
||
/**
|
||
* Returns true if the window is minimised.
|
||
*
|
||
* @public
|
||
* @return {Promise<boolean>} - Whether the window is currently minimised
|
||
*/
|
||
IsMinimised() {
|
||
return this[caller](IsMinimisedMethod);
|
||
}
|
||
/**
|
||
* Maximises the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
Maximise() {
|
||
return this[caller](MaximiseMethod);
|
||
}
|
||
/**
|
||
* Minimises the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
Minimise() {
|
||
return this[caller](MinimiseMethod);
|
||
}
|
||
/**
|
||
* Returns the name of the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<string>} - The name of the window
|
||
*/
|
||
Name() {
|
||
return this[caller](NameMethod);
|
||
}
|
||
/**
|
||
* Opens the development tools pane.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
OpenDevTools() {
|
||
return this[caller](OpenDevToolsMethod);
|
||
}
|
||
/**
|
||
* Returns the relative position of the window to the screen.
|
||
*
|
||
* @public
|
||
* @return {Promise<Position>} - The current relative position of the window
|
||
*/
|
||
RelativePosition() {
|
||
return this[caller](RelativePositionMethod);
|
||
}
|
||
/**
|
||
* Reloads the page assets.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
Reload() {
|
||
return this[caller](ReloadMethod);
|
||
}
|
||
/**
|
||
* Returns true if the window is resizable.
|
||
*
|
||
* @public
|
||
* @return {Promise<boolean>} - Whether the window is currently resizable
|
||
*/
|
||
Resizable() {
|
||
return this[caller](ResizableMethod);
|
||
}
|
||
/**
|
||
* Restores the window to its previous state if it was previously minimised, maximised or fullscreen.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
Restore() {
|
||
return this[caller](RestoreMethod);
|
||
}
|
||
/**
|
||
* Sets the absolute position of the window.
|
||
*
|
||
* @public
|
||
* @param {number} x - The desired horizontal absolute position of the window
|
||
* @param {number} y - The desired vertical absolute position of the window
|
||
* @return {Promise<void>}
|
||
*/
|
||
SetPosition(x, y) {
|
||
return this[caller](SetPositionMethod, { x, y });
|
||
}
|
||
/**
|
||
* Sets the window to be always on top.
|
||
*
|
||
* @public
|
||
* @param {boolean} alwaysOnTop - Whether the window should stay on top
|
||
* @return {Promise<void>}
|
||
*/
|
||
SetAlwaysOnTop(alwaysOnTop) {
|
||
return this[caller](SetAlwaysOnTopMethod, { alwaysOnTop });
|
||
}
|
||
/**
|
||
* Sets the background colour of the window.
|
||
*
|
||
* @public
|
||
* @param {number} r - The desired red component of the window background
|
||
* @param {number} g - The desired green component of the window background
|
||
* @param {number} b - The desired blue component of the window background
|
||
* @param {number} a - The desired alpha component of the window background
|
||
* @return {Promise<void>}
|
||
*/
|
||
SetBackgroundColour(r, g, b, a) {
|
||
return this[caller](SetBackgroundColourMethod, { r, g, b, a });
|
||
}
|
||
/**
|
||
* Removes the window frame and title bar.
|
||
*
|
||
* @public
|
||
* @param {boolean} frameless - Whether the window should be frameless
|
||
* @return {Promise<void>}
|
||
*/
|
||
SetFrameless(frameless) {
|
||
return this[caller](SetFramelessMethod, { frameless });
|
||
}
|
||
/**
|
||
* Disables the system fullscreen button.
|
||
*
|
||
* @public
|
||
* @param {boolean} enabled - Whether the fullscreen button should be enabled
|
||
* @return {Promise<void>}
|
||
*/
|
||
SetFullscreenButtonEnabled(enabled) {
|
||
return this[caller](SetFullscreenButtonEnabledMethod, { enabled });
|
||
}
|
||
/**
|
||
* Sets the maximum size of the window.
|
||
*
|
||
* @public
|
||
* @param {number} width - The desired maximum width of the window
|
||
* @param {number} height - The desired maximum height of the window
|
||
* @return {Promise<void>}
|
||
*/
|
||
SetMaxSize(width, height) {
|
||
return this[caller](SetMaxSizeMethod, { width, height });
|
||
}
|
||
/**
|
||
* Sets the minimum size of the window.
|
||
*
|
||
* @public
|
||
* @param {number} width - The desired minimum width of the window
|
||
* @param {number} height - The desired minimum height of the window
|
||
* @return {Promise<void>}
|
||
*/
|
||
SetMinSize(width, height) {
|
||
return this[caller](SetMinSizeMethod, { width, height });
|
||
}
|
||
/**
|
||
* Sets the relative position of the window to the screen.
|
||
*
|
||
* @public
|
||
* @param {number} x - The desired horizontal relative position of the window
|
||
* @param {number} y - The desired vertical relative position of the window
|
||
* @return {Promise<void>}
|
||
*/
|
||
SetRelativePosition(x, y) {
|
||
return this[caller](SetRelativePositionMethod, { x, y });
|
||
}
|
||
/**
|
||
* Sets whether the window is resizable.
|
||
*
|
||
* @public
|
||
* @param {boolean} resizable - Whether the window should be resizable
|
||
* @return {Promise<void>}
|
||
*/
|
||
SetResizable(resizable2) {
|
||
return this[caller](SetResizableMethod, { resizable: resizable2 });
|
||
}
|
||
/**
|
||
* Sets the size of the window.
|
||
*
|
||
* @public
|
||
* @param {number} width - The desired width of the window
|
||
* @param {number} height - The desired height of the window
|
||
* @return {Promise<void>}
|
||
*/
|
||
SetSize(width, height) {
|
||
return this[caller](SetSizeMethod, { width, height });
|
||
}
|
||
/**
|
||
* Sets the title of the window.
|
||
*
|
||
* @public
|
||
* @param {string} title - The desired title of the window
|
||
* @return {Promise<void>}
|
||
*/
|
||
SetTitle(title) {
|
||
return this[caller](SetTitleMethod, { title });
|
||
}
|
||
/**
|
||
* Sets the zoom level of the window.
|
||
*
|
||
* @public
|
||
* @param {number} zoom - The desired zoom level
|
||
* @return {Promise<void>}
|
||
*/
|
||
SetZoom(zoom) {
|
||
return this[caller](SetZoomMethod, { zoom });
|
||
}
|
||
/**
|
||
* Shows the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
Show() {
|
||
return this[caller](ShowMethod2);
|
||
}
|
||
/**
|
||
* Returns the size of the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<Size>} - The current size of the window
|
||
*/
|
||
Size() {
|
||
return this[caller](SizeMethod);
|
||
}
|
||
/**
|
||
* Toggles the window between fullscreen and normal.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
ToggleFullscreen() {
|
||
return this[caller](ToggleFullscreenMethod);
|
||
}
|
||
/**
|
||
* Toggles the window between maximised and normal.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
ToggleMaximise() {
|
||
return this[caller](ToggleMaximiseMethod);
|
||
}
|
||
/**
|
||
* Un-fullscreens the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
UnFullscreen() {
|
||
return this[caller](UnFullscreenMethod);
|
||
}
|
||
/**
|
||
* Un-maximises the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
UnMaximise() {
|
||
return this[caller](UnMaximiseMethod);
|
||
}
|
||
/**
|
||
* Un-minimises the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
UnMinimise() {
|
||
return this[caller](UnMinimiseMethod);
|
||
}
|
||
/**
|
||
* Returns the width of the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<number>} - The current width of the window
|
||
*/
|
||
Width() {
|
||
return this[caller](WidthMethod);
|
||
}
|
||
/**
|
||
* Zooms the window.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
Zoom() {
|
||
return this[caller](ZoomMethod);
|
||
}
|
||
/**
|
||
* Increases the zoom level of the webview content.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
ZoomIn() {
|
||
return this[caller](ZoomInMethod);
|
||
}
|
||
/**
|
||
* Decreases the zoom level of the webview content.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
ZoomOut() {
|
||
return this[caller](ZoomOutMethod);
|
||
}
|
||
/**
|
||
* Resets the zoom level of the webview content.
|
||
*
|
||
* @public
|
||
* @return {Promise<void>}
|
||
*/
|
||
ZoomReset() {
|
||
return this[caller](ZoomResetMethod);
|
||
}
|
||
};
|
||
var thisWindow = new Window("");
|
||
var window_default = thisWindow;
|
||
|
||
// node_modules/@wailsio/runtime/src/wml.js
|
||
var wml_exports = {};
|
||
__export(wml_exports, {
|
||
Enable: () => Enable,
|
||
Reload: () => Reload
|
||
});
|
||
|
||
// node_modules/@wailsio/runtime/src/utils.js
|
||
function canAbortListeners() {
|
||
if (!EventTarget || !AbortSignal || !AbortController)
|
||
return false;
|
||
let result = true;
|
||
const target = new EventTarget();
|
||
const controller2 = new AbortController();
|
||
target.addEventListener("test", () => {
|
||
result = false;
|
||
}, { signal: controller2.signal });
|
||
controller2.abort();
|
||
target.dispatchEvent(new CustomEvent("test"));
|
||
return result;
|
||
}
|
||
var isReady = false;
|
||
document.addEventListener("DOMContentLoaded", () => isReady = true);
|
||
function whenReady(callback) {
|
||
if (isReady || document.readyState === "complete") {
|
||
callback();
|
||
} else {
|
||
document.addEventListener("DOMContentLoaded", callback);
|
||
}
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/wml.js
|
||
function sendEvent(eventName, data = null) {
|
||
Emit(new WailsEvent(eventName, data));
|
||
}
|
||
function callWindowMethod(windowName, methodName) {
|
||
const targetWindow = window_default.Get(windowName);
|
||
const method = targetWindow[methodName];
|
||
if (typeof method !== "function") {
|
||
console.error(`Window method '${methodName}' not found`);
|
||
return;
|
||
}
|
||
try {
|
||
method.call(targetWindow);
|
||
} catch (e) {
|
||
console.error(`Error calling window method '${methodName}': `, e);
|
||
}
|
||
}
|
||
function onWMLTriggered(ev) {
|
||
const element = ev.currentTarget;
|
||
function runEffect(choice = "Yes") {
|
||
if (choice !== "Yes")
|
||
return;
|
||
const eventType = element.getAttribute("wml-event");
|
||
const targetWindow = element.getAttribute("wml-target-window") || "";
|
||
const windowMethod = element.getAttribute("wml-window");
|
||
const url = element.getAttribute("wml-openurl");
|
||
if (eventType !== null)
|
||
sendEvent(eventType);
|
||
if (windowMethod !== null)
|
||
callWindowMethod(targetWindow, windowMethod);
|
||
if (url !== null)
|
||
void OpenURL(url);
|
||
}
|
||
const confirm = element.getAttribute("wml-confirm");
|
||
if (confirm) {
|
||
Question({
|
||
Title: "Confirm",
|
||
Message: confirm,
|
||
Detached: false,
|
||
Buttons: [
|
||
{ Label: "Yes" },
|
||
{ Label: "No", IsDefault: true }
|
||
]
|
||
}).then(runEffect);
|
||
} else {
|
||
runEffect();
|
||
}
|
||
}
|
||
var controller = Symbol();
|
||
var AbortControllerRegistry = class {
|
||
constructor() {
|
||
this[controller] = new AbortController();
|
||
}
|
||
/**
|
||
* Returns an options object for addEventListener that ties the listener
|
||
* to the AbortSignal from the current AbortController.
|
||
*
|
||
* @param {HTMLElement} element An HTML element
|
||
* @param {string[]} triggers The list of active WML trigger events for the specified elements
|
||
* @returns {AddEventListenerOptions}
|
||
*/
|
||
set(element, triggers) {
|
||
return { signal: this[controller].signal };
|
||
}
|
||
/**
|
||
* Removes all registered event listeners.
|
||
*
|
||
* @returns {void}
|
||
*/
|
||
reset() {
|
||
this[controller].abort();
|
||
this[controller] = new AbortController();
|
||
}
|
||
};
|
||
var triggerMap = Symbol();
|
||
var elementCount = Symbol();
|
||
var WeakMapRegistry = class {
|
||
constructor() {
|
||
this[triggerMap] = /* @__PURE__ */ new WeakMap();
|
||
this[elementCount] = 0;
|
||
}
|
||
/**
|
||
* Sets the active triggers for the specified element.
|
||
*
|
||
* @param {HTMLElement} element An HTML element
|
||
* @param {string[]} triggers The list of active WML trigger events for the specified element
|
||
* @returns {AddEventListenerOptions}
|
||
*/
|
||
set(element, triggers) {
|
||
this[elementCount] += !this[triggerMap].has(element);
|
||
this[triggerMap].set(element, triggers);
|
||
return {};
|
||
}
|
||
/**
|
||
* Removes all registered event listeners.
|
||
*
|
||
* @returns {void}
|
||
*/
|
||
reset() {
|
||
if (this[elementCount] <= 0)
|
||
return;
|
||
for (const element of document.body.querySelectorAll("*")) {
|
||
if (this[elementCount] <= 0)
|
||
break;
|
||
const triggers = this[triggerMap].get(element);
|
||
this[elementCount] -= typeof triggers !== "undefined";
|
||
for (const trigger of triggers || [])
|
||
element.removeEventListener(trigger, onWMLTriggered);
|
||
}
|
||
this[triggerMap] = /* @__PURE__ */ new WeakMap();
|
||
this[elementCount] = 0;
|
||
}
|
||
};
|
||
var triggerRegistry = canAbortListeners() ? new AbortControllerRegistry() : new WeakMapRegistry();
|
||
function addWMLListeners(element) {
|
||
const triggerRegExp = /\S+/g;
|
||
const triggerAttr = element.getAttribute("wml-trigger") || "click";
|
||
const triggers = [];
|
||
let match;
|
||
while ((match = triggerRegExp.exec(triggerAttr)) !== null)
|
||
triggers.push(match[0]);
|
||
const options = triggerRegistry.set(element, triggers);
|
||
for (const trigger of triggers)
|
||
element.addEventListener(trigger, onWMLTriggered, options);
|
||
}
|
||
function Enable() {
|
||
whenReady(Reload);
|
||
}
|
||
function Reload() {
|
||
triggerRegistry.reset();
|
||
document.body.querySelectorAll("[wml-event], [wml-window], [wml-openurl]").forEach(addWMLListeners);
|
||
}
|
||
|
||
// node_modules/@wailsio/runtime/src/index.js
|
||
window._wails = window._wails || {};
|
||
var initialised = false;
|
||
function init() {
|
||
window._wails.invoke = invoke;
|
||
invoke("wails:runtime:ready");
|
||
initialised = true;
|
||
}
|
||
window.addEventListener("load", () => {
|
||
if (!initialised) {
|
||
init();
|
||
}
|
||
});
|
||
export {
|
||
application_exports as Application,
|
||
browser_exports as Browser,
|
||
calls_exports as Call,
|
||
clipboard_exports as Clipboard,
|
||
create_exports as Create,
|
||
dialogs_exports as Dialogs,
|
||
events_exports as Events,
|
||
flags_exports as Flags,
|
||
screens_exports as Screens,
|
||
system_exports as System,
|
||
wml_exports as WML,
|
||
window_default as Window,
|
||
init
|
||
};
|
||
//# sourceMappingURL=@wailsio_runtime.js.map
|