{"version":3,"file":"tray.mjs","names":[],"sources":["../../src/renderer/tray/index.ts"],"sourcesContent":["/**\n * Renderer process API for tray module\n * Usage in renderer process:\n *\n * import * as tray from 'electron-main-bridge/renderer/tray';\n * await tray.setToolTip('My Application');\n */\n\nimport type { DisplayBalloonOptions, SetTitleOptions, TrayBounds } from \"@shared/tray.types.js\";\nimport type { MenuItemConstructorOptions } from \"@shared/menu.types.js\";\n\n/**\n * Destroy the tray icon\n */\nexport async function destroy(): Promise<void> {\n  await window.rpc.call(\"tray.destroy\");\n}\n\n/**\n * Set the tray icon image\n */\nexport async function setImage(image: string): Promise<void> {\n  await window.rpc.call(\"tray.setImage\", image);\n}\n\n/**\n * Set the pressed image (macOS)\n */\nexport async function setPressedImage(image: string): Promise<void> {\n  await window.rpc.call(\"tray.setPressedImage\", image);\n}\n\n/**\n * Set the hover tooltip\n */\nexport async function setToolTip(toolTip: string): Promise<void> {\n  await window.rpc.call(\"tray.setToolTip\", toolTip);\n}\n\n/**\n * Set the title (macOS)\n */\nexport async function setTitle(title: string, options?: SetTitleOptions): Promise<void> {\n  await window.rpc.call(\"tray.setTitle\", title, options);\n}\n\n/**\n * Get the title (macOS)\n */\nexport async function getTitle(): Promise<string> {\n  return (await window.rpc.call(\"tray.getTitle\")) as string;\n}\n\n/**\n * Set whether to ignore double click events (macOS)\n */\nexport async function setIgnoreDoubleClickEvents(ignore: boolean): Promise<void> {\n  await window.rpc.call(\"tray.setIgnoreDoubleClickEvents\", ignore);\n}\n\n/**\n * Get whether double click events are ignored (macOS)\n */\nexport async function getIgnoreDoubleClickEvents(): Promise<boolean> {\n  return (await window.rpc.call(\"tray.getIgnoreDoubleClickEvents\")) as boolean;\n}\n\n/**\n * Set the context menu\n */\nexport async function setContextMenu(template: MenuItemConstructorOptions[] | null): Promise<void> {\n  await window.rpc.call(\"tray.setContextMenu\", template);\n}\n\n/**\n * Display a balloon notification (Windows)\n */\nexport async function displayBalloon(options: DisplayBalloonOptions): Promise<void> {\n  await window.rpc.call(\"tray.displayBalloon\", options);\n}\n\n/**\n * Remove a balloon notification (Windows)\n */\nexport async function removeBalloon(): Promise<void> {\n  await window.rpc.call(\"tray.removeBalloon\");\n}\n\n/**\n * Focus the notification area (Windows)\n */\nexport async function focus(): Promise<void> {\n  await window.rpc.call(\"tray.focus\");\n}\n\n/**\n * Get the bounds of the tray icon (macOS, Windows)\n */\nexport async function getBounds(): Promise<TrayBounds> {\n  return (await window.rpc.call(\"tray.getBounds\")) as TrayBounds;\n}\n\n/**\n * Get the GUID (macOS, Windows)\n */\nexport async function getGUID(): Promise<string | null> {\n  return (await window.rpc.call(\"tray.getGUID\")) as string | null;\n}\n\n/**\n * Check if the tray icon is destroyed\n */\nexport async function isDestroyed(): Promise<boolean> {\n  return (await window.rpc.call(\"tray.isDestroyed\")) as boolean;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAcA,eAAsB,UAAyB;AAC7C,OAAM,OAAO,IAAI,KAAK,eAAe;;;;;AAMvC,eAAsB,SAAS,OAA8B;AAC3D,OAAM,OAAO,IAAI,KAAK,iBAAiB,MAAM;;;;;AAM/C,eAAsB,gBAAgB,OAA8B;AAClE,OAAM,OAAO,IAAI,KAAK,wBAAwB,MAAM;;;;;AAMtD,eAAsB,WAAW,SAAgC;AAC/D,OAAM,OAAO,IAAI,KAAK,mBAAmB,QAAQ;;;;;AAMnD,eAAsB,SAAS,OAAe,SAA0C;AACtF,OAAM,OAAO,IAAI,KAAK,iBAAiB,OAAO,QAAQ;;;;;AAMxD,eAAsB,WAA4B;AAChD,QAAQ,MAAM,OAAO,IAAI,KAAK,gBAAgB;;;;;AAMhD,eAAsB,2BAA2B,QAAgC;AAC/E,OAAM,OAAO,IAAI,KAAK,mCAAmC,OAAO;;;;;AAMlE,eAAsB,6BAA+C;AACnE,QAAQ,MAAM,OAAO,IAAI,KAAK,kCAAkC;;;;;AAMlE,eAAsB,eAAe,UAA8D;AACjG,OAAM,OAAO,IAAI,KAAK,uBAAuB,SAAS;;;;;AAMxD,eAAsB,eAAe,SAA+C;AAClF,OAAM,OAAO,IAAI,KAAK,uBAAuB,QAAQ;;;;;AAMvD,eAAsB,gBAA+B;AACnD,OAAM,OAAO,IAAI,KAAK,qBAAqB;;;;;AAM7C,eAAsB,QAAuB;AAC3C,OAAM,OAAO,IAAI,KAAK,aAAa;;;;;AAMrC,eAAsB,YAAiC;AACrD,QAAQ,MAAM,OAAO,IAAI,KAAK,iBAAiB;;;;;AAMjD,eAAsB,UAAkC;AACtD,QAAQ,MAAM,OAAO,IAAI,KAAK,eAAe;;;;;AAM/C,eAAsB,cAAgC;AACpD,QAAQ,MAAM,OAAO,IAAI,KAAK,mBAAmB"}