{"version":3,"file":"menu.mjs","names":[],"sources":["../../src/renderer/menu/index.ts"],"sourcesContent":["import type {\n  MenuItemConstructorOptions,\n  MenuItemData,\n  MenuData,\n  PopupOptions,\n  MenuEventCallbacks,\n} from \"@shared/menu.types.js\";\n\nexport async function setApplicationMenu(\n  template: MenuItemConstructorOptions[] | null,\n): Promise<void> {\n  await window.rpc.call(\"menu.setApplicationMenu\", template);\n}\n\nexport async function getApplicationMenu(): Promise<MenuData | null> {\n  return (await window.rpc.call(\"menu.getApplicationMenu\")) as MenuData | null;\n}\n\nexport async function buildFromTemplate(template: MenuItemConstructorOptions[]): Promise<MenuData> {\n  return (await window.rpc.call(\"menu.buildFromTemplate\", template)) as MenuData;\n}\n\nexport async function sendActionToFirstResponder(action: string): Promise<void> {\n  await window.rpc.call(\"menu.sendActionToFirstResponder\", action);\n}\n\nexport async function popup(options?: PopupOptions): Promise<void> {\n  await window.rpc.call(\"menu.popup\", options);\n}\n\nexport async function closePopup(windowId?: number): Promise<void> {\n  await window.rpc.call(\"menu.closePopup\", windowId);\n}\n\nexport async function append(menuItem: MenuItemConstructorOptions): Promise<void> {\n  await window.rpc.call(\"menu.append\", menuItem);\n}\n\nexport async function getMenuItemById(id: string): Promise<MenuItemData | null> {\n  return (await window.rpc.call(\"menu.getMenuItemById\", id)) as MenuItemData | null;\n}\n\nexport async function insert(pos: number, menuItem: MenuItemConstructorOptions): Promise<void> {\n  await window.rpc.call(\"menu.insert\", pos, menuItem);\n}\n\nexport async function getItems(): Promise<MenuItemData[]> {\n  return (await window.rpc.call(\"menu.getItems\")) as MenuItemData[];\n}\n\nexport function on<K extends keyof MenuEventCallbacks>(\n  event: K,\n  callback: MenuEventCallbacks[K],\n): () => void {\n  return window.rpc.on(`menu.${event}`, callback as (...args: unknown[]) => void);\n}\n\nexport function once<K extends keyof MenuEventCallbacks>(\n  event: K,\n  callback: MenuEventCallbacks[K],\n): void {\n  window.rpc.once(`menu.${event}`, callback as (...args: unknown[]) => void);\n}\n\nexport function off<K extends keyof MenuEventCallbacks>(\n  event: K,\n  callback?: MenuEventCallbacks[K],\n): void {\n  window.rpc.off(`menu.${event}`, callback as ((...args: unknown[]) => void) | undefined);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAQA,eAAsB,mBACpB,UACe;AACf,OAAM,OAAO,IAAI,KAAK,2BAA2B,SAAS;;AAG5D,eAAsB,qBAA+C;AACnE,QAAQ,MAAM,OAAO,IAAI,KAAK,0BAA0B;;AAG1D,eAAsB,kBAAkB,UAA2D;AACjG,QAAQ,MAAM,OAAO,IAAI,KAAK,0BAA0B,SAAS;;AAGnE,eAAsB,2BAA2B,QAA+B;AAC9E,OAAM,OAAO,IAAI,KAAK,mCAAmC,OAAO;;AAGlE,eAAsB,MAAM,SAAuC;AACjE,OAAM,OAAO,IAAI,KAAK,cAAc,QAAQ;;AAG9C,eAAsB,WAAW,UAAkC;AACjE,OAAM,OAAO,IAAI,KAAK,mBAAmB,SAAS;;AAGpD,eAAsB,OAAO,UAAqD;AAChF,OAAM,OAAO,IAAI,KAAK,eAAe,SAAS;;AAGhD,eAAsB,gBAAgB,IAA0C;AAC9E,QAAQ,MAAM,OAAO,IAAI,KAAK,wBAAwB,GAAG;;AAG3D,eAAsB,OAAO,KAAa,UAAqD;AAC7F,OAAM,OAAO,IAAI,KAAK,eAAe,KAAK,SAAS;;AAGrD,eAAsB,WAAoC;AACxD,QAAQ,MAAM,OAAO,IAAI,KAAK,gBAAgB;;AAGhD,SAAgB,GACd,OACA,UACY;AACZ,QAAO,OAAO,IAAI,GAAG,QAAQ,SAAS,SAAyC;;AAGjF,SAAgB,KACd,OACA,UACM;AACN,QAAO,IAAI,KAAK,QAAQ,SAAS,SAAyC;;AAG5E,SAAgB,IACd,OACA,UACM;AACN,QAAO,IAAI,IAAI,QAAQ,SAAS,SAAuD"}