{"version":3,"file":"browserWindow.mjs","names":[],"sources":["../../src/renderer/browserWindow/index.ts"],"sourcesContent":["import type {\n  BrowserWindowConstructorOptions,\n  Rectangle,\n  Size,\n  Point,\n  BrowserWindowInfo,\n  BrowserWindowEventCallbacks,\n} from \"@shared/browserWindow.types.js\";\n\nexport async function create(options: BrowserWindowConstructorOptions): Promise<number> {\n  return (await window.rpc.call(\"browserWindow.create\", options)) as number;\n}\n\nexport async function close(id: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.close\", id);\n}\n\nexport async function destroy(id: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.destroy\", id);\n}\n\nexport async function show(id: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.show\", id);\n}\n\nexport async function hide(id: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.hide\", id);\n}\n\nexport async function minimize(id: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.minimize\", id);\n}\n\nexport async function maximize(id: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.maximize\", id);\n}\n\nexport async function unmaximize(id: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.unmaximize\", id);\n}\n\nexport async function restore(id: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.restore\", id);\n}\n\nexport async function setFullScreen(id: number, fullscreen: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.setFullScreen\", id, fullscreen);\n}\n\nexport async function isFullScreen(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isFullScreen\", id)) as boolean;\n}\n\nexport async function focus(id: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.focus\", id);\n}\n\nexport async function blur(id: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.blur\", id);\n}\n\nexport async function setTitle(id: number, title: string): Promise<void> {\n  await window.rpc.call(\"browserWindow.setTitle\", id, title);\n}\n\nexport async function getTitle(id: number): Promise<string> {\n  return (await window.rpc.call(\"browserWindow.getTitle\", id)) as string;\n}\n\nexport async function getBounds(id: number): Promise<Rectangle> {\n  return (await window.rpc.call(\"browserWindow.getBounds\", id)) as Rectangle;\n}\n\nexport async function setBounds(id: number, bounds: Rectangle): Promise<void> {\n  await window.rpc.call(\"browserWindow.setBounds\", id, bounds);\n}\n\nexport async function getSize(id: number): Promise<Size> {\n  return (await window.rpc.call(\"browserWindow.getSize\", id)) as Size;\n}\n\nexport async function setSize(id: number, size: Size): Promise<void> {\n  await window.rpc.call(\"browserWindow.setSize\", id, size);\n}\n\nexport async function getPosition(id: number): Promise<Point> {\n  return (await window.rpc.call(\"browserWindow.getPosition\", id)) as Point;\n}\n\nexport async function setPosition(id: number, position: Point): Promise<void> {\n  await window.rpc.call(\"browserWindow.setPosition\", id, position);\n}\n\nexport async function center(id: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.center\", id);\n}\n\nexport async function getMinimumSize(id: number): Promise<Size> {\n  return (await window.rpc.call(\"browserWindow.getMinimumSize\", id)) as Size;\n}\n\nexport async function setMinimumSize(id: number, size: Size): Promise<void> {\n  await window.rpc.call(\"browserWindow.setMinimumSize\", id, size);\n}\n\nexport async function getMaximumSize(id: number): Promise<Size> {\n  return (await window.rpc.call(\"browserWindow.getMaximumSize\", id)) as Size;\n}\n\nexport async function setMaximumSize(id: number, size: Size): Promise<void> {\n  await window.rpc.call(\"browserWindow.setMaximumSize\", id, size);\n}\n\nexport async function setResizable(id: number, resizable: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.setResizable\", id, resizable);\n}\n\nexport async function isResizable(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isResizable\", id)) as boolean;\n}\n\nexport async function setMovable(id: number, movable: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.setMovable\", id, movable);\n}\n\nexport async function isMovable(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isMovable\", id)) as boolean;\n}\n\nexport async function setMinimizable(id: number, minimizable: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.setMinimizable\", id, minimizable);\n}\n\nexport async function isMinimizable(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isMinimizable\", id)) as boolean;\n}\n\nexport async function setMaximizable(id: number, maximizable: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.setMaximizable\", id, maximizable);\n}\n\nexport async function isMaximizable(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isMaximizable\", id)) as boolean;\n}\n\nexport async function setClosable(id: number, closable: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.setClosable\", id, closable);\n}\n\nexport async function isClosable(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isClosable\", id)) as boolean;\n}\n\nexport async function setFocusable(id: number, focusable: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.setFocusable\", id, focusable);\n}\n\nexport async function isFocusable(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isFocusable\", id)) as boolean;\n}\n\nexport async function setAlwaysOnTop(\n  id: number,\n  alwaysOnTop: boolean,\n  level?: string,\n  relativeLevel?: number,\n): Promise<void> {\n  await window.rpc.call(\"browserWindow.setAlwaysOnTop\", id, alwaysOnTop, level, relativeLevel);\n}\n\nexport async function isAlwaysOnTop(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isAlwaysOnTop\", id)) as boolean;\n}\n\nexport async function setMenuBarVisibility(id: number, visible: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.setMenuBarVisibility\", id, visible);\n}\n\nexport async function isMenuBarVisible(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isMenuBarVisible\", id)) as boolean;\n}\n\nexport async function setAutoHideMenuBar(id: number, autoHide: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.setAutoHideMenuBar\", id, autoHide);\n}\n\nexport async function isMenuBarAutoHide(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isMenuBarAutoHide\", id)) as boolean;\n}\n\nexport async function loadURL(\n  id: number,\n  url: string,\n  options?: {\n    httpReferrer?: string;\n    userAgent?: string;\n    extraHeaders?: string;\n  },\n): Promise<void> {\n  await window.rpc.call(\"browserWindow.loadURL\", id, url, options);\n}\n\nexport async function loadFile(\n  id: number,\n  path: string,\n  options?: {\n    query?: Record<string, string>;\n    search?: string;\n    hash?: string;\n  },\n): Promise<void> {\n  await window.rpc.call(\"browserWindow.loadFile\", id, path, options);\n}\n\nexport async function reload(id: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.reload\", id);\n}\n\nexport async function openDevTools(\n  id: number,\n  options?: {\n    mode?: \"right\" | \"bottom\" | \"undocked\" | \"detach\";\n  },\n): Promise<void> {\n  await window.rpc.call(\"browserWindow.openDevTools\", id, options);\n}\n\nexport async function closeDevTools(id: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.closeDevTools\", id);\n}\n\nexport async function isDevToolsOpened(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isDevToolsOpened\", id)) as boolean;\n}\n\nexport async function executeJavaScript(\n  id: number,\n  code: string,\n  userGesture?: boolean,\n): Promise<unknown> {\n  return await window.rpc.call(\"browserWindow.executeJavaScript\", id, code, userGesture);\n}\n\nexport async function getAllWindows(): Promise<BrowserWindowInfo[]> {\n  return (await window.rpc.call(\"browserWindow.getAllWindows\")) as BrowserWindowInfo[];\n}\n\nexport async function getFocusedWindow(): Promise<number | null> {\n  return (await window.rpc.call(\"browserWindow.getFocusedWindow\")) as number | null;\n}\n\nexport async function exists(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.exists\", id)) as boolean;\n}\n\nexport async function isMaximized(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isMaximized\", id)) as boolean;\n}\n\nexport async function isMinimized(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isMinimized\", id)) as boolean;\n}\n\nexport async function isVisible(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isVisible\", id)) as boolean;\n}\n\nexport async function isFocused(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isFocused\", id)) as boolean;\n}\n\nexport async function setProgressBar(\n  id: number,\n  progress: number,\n  options?: {\n    mode?: \"none\" | \"normal\" | \"indeterminate\" | \"error\" | \"paused\";\n  },\n): Promise<void> {\n  await window.rpc.call(\"browserWindow.setProgressBar\", id, progress, options);\n}\n\nexport async function flashFrame(id: number, flash: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.flashFrame\", id, flash);\n}\n\nexport async function setBackgroundColor(id: number, backgroundColor: string): Promise<void> {\n  await window.rpc.call(\"browserWindow.setBackgroundColor\", id, backgroundColor);\n}\n\nexport async function setOpacity(id: number, opacity: number): Promise<void> {\n  await window.rpc.call(\"browserWindow.setOpacity\", id, opacity);\n}\n\nexport async function getOpacity(id: number): Promise<number> {\n  return (await window.rpc.call(\"browserWindow.getOpacity\", id)) as number;\n}\n\nexport async function setKiosk(id: number, kiosk: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.setKiosk\", id, kiosk);\n}\n\nexport async function isKiosk(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isKiosk\", id)) as boolean;\n}\n\nexport async function setSimpleFullScreen(id: number, simple: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.setSimpleFullScreen\", id, simple);\n}\n\nexport async function isSimpleFullScreen(id: number): Promise<boolean> {\n  return (await window.rpc.call(\"browserWindow.isSimpleFullScreen\", id)) as boolean;\n}\n\nexport async function setSkipTaskbar(id: number, skip: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.setSkipTaskbar\", id, skip);\n}\n\nexport async function setContentProtection(id: number, enable: boolean): Promise<void> {\n  await window.rpc.call(\"browserWindow.setContentProtection\", id, enable);\n}\n\nexport function on<E extends keyof BrowserWindowEventCallbacks>(\n  windowId: number,\n  event: E,\n  callback: BrowserWindowEventCallbacks[E],\n): () => void {\n  window.rpc.call(\"browserWindow.subscribeEvent\", windowId, event);\n  window.rpc.on(`window.${windowId}.${event}`, callback as (...args: unknown[]) => void);\n\n  return () => {\n    window.rpc.off(`window.${windowId}.${event}`, callback as (...args: unknown[]) => void);\n    window.rpc.call(\"browserWindow.unsubscribeEvent\", windowId, event);\n  };\n}\n\nexport function once<E extends keyof BrowserWindowEventCallbacks>(\n  windowId: number,\n  event: E,\n  callback: BrowserWindowEventCallbacks[E],\n): void {\n  window.rpc.call(\"browserWindow.subscribeEvent\", windowId, event);\n  window.rpc.once(`window.${windowId}.${event}`, callback as (...args: unknown[]) => void);\n}\n\nexport function off<E extends keyof BrowserWindowEventCallbacks>(\n  windowId: number,\n  event: E,\n  callback?: BrowserWindowEventCallbacks[E],\n): void {\n  window.rpc.off(\n    `window.${windowId}.${event}`,\n    callback as ((...args: unknown[]) => void) | undefined,\n  );\n  window.rpc.call(\"browserWindow.unsubscribeEvent\", windowId, event);\n}\n"],"mappings":"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"}