@flighthq/host-electron 0.4.0-next.1920.b93ad0f → 0.4.0-next.1932.1ef883a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.md ADDED
@@ -0,0 +1,9 @@
1
+ # MIT License
2
+
3
+ Copyright (c) 2013-2026 Joshua Granick and other contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,17 @@
1
+ # @flighthq/host-electron
2
+
3
+ Electron host backend: registers Electron main-process implementations of Flight's window/app/dialog/clipboard/menu/tray/shortcut/screen/power/notification/shell/protocol/updater/ipc/storage seams
4
+
5
+ ## Install
6
+
7
+ ```sh
8
+ npm install @flighthq/host-electron
9
+ ```
10
+
11
+ Import the supported application-facing API from `@flighthq/host-electron`. The `@flighthq/host-electron/contract` export is the wider package-to-package contract used to compose Flight itself.
12
+
13
+ This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
14
+
15
+ - [Flight project](https://github.com/flighthq/flight)
16
+ - [Source for @flighthq/host-electron@0.4.0-next.1932.1ef883a](https://github.com/flighthq/flight/tree/1ef883a866729a9bc6f461111970f6377de1499f/packages/host-electron)
17
+ - [License](https://github.com/flighthq/flight/blob/1ef883a866729a9bc6f461111970f6377de1499f/LICENSE.md)
@@ -1 +1 @@
1
- {"version":3,"file":"electronApp.d.ts","sourceRoot":"","sources":["../src/electronApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAIV,WAAW,EAEZ,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,GAAG,UAAU,CA4J1E"}
1
+ {"version":3,"file":"electronApp.d.ts","sourceRoot":"","sources":["../src/electronApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA6B,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAQnG,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,GAAG,UAAU,CA4J1E"}
@@ -1,3 +1,4 @@
1
+ import { toElectronTemplate } from './electronMenuTemplate';
1
2
  // Maps Flight's AppBackend onto Electron's `app` module (plus `app.dock` on macOs). Dock-only
2
3
  // operations no-op or return -1 where there is no dock. Subscribe methods wire an electron event
3
4
  // listener and return an unsubscribe that removes that exact handler; the wrapper adapts Electron's
@@ -101,7 +102,7 @@ export function createElectronAppBackend(electron) {
101
102
  setDockMenu(items) {
102
103
  if (!app.dock)
103
104
  return;
104
- app.dock.setMenu(electron.Menu.buildFromTemplate(items.map(toMenuItemOptions)));
105
+ app.dock.setMenu(electron.Menu.buildFromTemplate(toElectronTemplate(items)));
105
106
  },
106
107
  setLoginItem(settings) {
107
108
  app.setLoginItemSettings({
@@ -167,18 +168,4 @@ function toElectronPathName(kind) {
167
168
  return 'crashDumps';
168
169
  return 'userData';
169
170
  }
170
- function toMenuItemOptions(item) {
171
- const out = {
172
- id: item.id,
173
- label: item.label,
174
- type: item.type,
175
- role: item.role,
176
- accelerator: item.accelerator,
177
- enabled: item.enabled,
178
- checked: item.checked,
179
- };
180
- if (item.submenu)
181
- out.submenu = item.submenu.map(toMenuItemOptions);
182
- return out;
183
- }
184
171
  //# sourceMappingURL=electronApp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"electronApp.js","sourceRoot":"","sources":["../src/electronApp.ts"],"names":[],"mappings":"AASA,8FAA8F;AAC9F,iGAAiG;AACjG,oGAAoG;AACpG,8DAA8D;AAC9D,MAAM,UAAU,wBAAwB,CAAC,QAAqB;IAC5D,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;IACzB,OAAO;QACL,iBAAiB,CAAC,IAAI;YACpB,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,UAAU;YACR,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,eAAe,CAAC,EAAE;YAChB,uEAAuE;YACvE,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,gBAAgB,CAAC,EAAE;YACjB,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,oBAAoB;YAClB,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC7B,CAAC;QACD,KAAK;YACH,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;QACD,mBAAmB,CAAC,IAAI;YACtB,OAAO,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,UAAU;YACR,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,cAAc;YACZ,6FAA6F;YAC7F,qFAAqF;YACrF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,iBAAiB;YACf,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,SAAS;YACP,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC;QACzB,CAAC;QACD,YAAY;YACV,MAAM,QAAQ,GAAG,GAAG,CAAC,oBAAoB,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAiB;gBACxB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE;aACT,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO;YACL,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,2BAA2B;YACzB,OAAO,GAAG,CAAC,2BAA2B,EAAE,CAAC;QAC3C,CAAC;QACD,eAAe;YACb,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;QACD,UAAU;YACR,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,qBAAqB;YACnB,OAAO,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACrC,CAAC;QACD,OAAO;YACL,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QACD,WAAW;YACT,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QACD,IAAI;YACF,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;QACD,QAAQ;YACN,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,CAAC;QACD,yBAAyB;YACvB,GAAG,CAAC,yBAAyB,EAAE,CAAC;QAClC,CAAC;QACD,gBAAgB,CAAC,SAAS;YACxB,kGAAkG;YAClG,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,yBAAyB;YACvB,OAAO,GAAG,CAAC,yBAAyB,EAAE,CAAC;QACzC,CAAC;QACD,mBAAmB,CAAC,MAAM;YACxB,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,aAAa,CAAC,KAAK;YACjB,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,YAAY,CAAC,IAAI;YACf,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,WAAW,CAAC,KAAK;YACf,IAAI,CAAC,GAAG,CAAC,IAAI;gBAAE,OAAO;YACtB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,YAAY,CAAC,QAAQ;YACnB,GAAG,CAAC,oBAAoB,CAAC;gBACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;aACrD,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,IAAI;YACV,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,cAAc,CAAC,EAAE;YACf,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QACD,iBAAiB,CAAC,QAAQ;YACxB,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC7B,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;QACD,yBAAyB,CAAC,QAAQ;YAChC,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;YACtC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QACjE,CAAC;QACD,iBAAiB,CAAC,QAAQ;YACxB,6DAA6D;YAC7D,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe,EAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9E,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC7B,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QACD,oBAAoB,CAAC,QAAQ;YAC3B,gGAAgG;YAChG,gFAAgF;YAChF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe,EAAQ,EAAE;gBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAgD,CAAC;gBACrE,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;YAC5C,CAAC,CAAC;YACF,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAC/B,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QACD,cAAc,CAAC,QAAQ;YACrB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC1B,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;QACD,uBAAuB,CAAC,QAAQ;YAC9B,8DAA8D;YAC9D,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe,EAAQ,EAAE,CAAC,QAAQ,CAAE,IAAI,CAAC,CAAC,CAAc,IAAI,EAAE,CAAC,CAAC;YACpF,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YACnC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAiB;IAC3C,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACnC,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,YAAY,CAAC;IAC/C,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAgC;IACzD,MAAM,GAAG,GAA4B;QACnC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;IACF,IAAI,IAAI,CAAC,OAAO;QAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACpE,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"electronApp.js","sourceRoot":"","sources":["../src/electronApp.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export function createElectronClipboardBackend(electron) {
23
23
  },
24
24
  async readHtml() {
25
25
  try {
26
- return cb.readHtml();
26
+ return cb.readHTML();
27
27
  }
28
28
  catch {
29
29
  return '';
@@ -31,7 +31,7 @@ export function createElectronClipboardBackend(electron) {
31
31
  },
32
32
  async writeHtml(html) {
33
33
  try {
34
- cb.writeHtml(html);
34
+ cb.writeHTML(html);
35
35
  return true;
36
36
  }
37
37
  catch {
@@ -49,7 +49,7 @@ export function createElectronClipboardBackend(electron) {
49
49
  async readImage() {
50
50
  try {
51
51
  const image = cb.readImage();
52
- return image.isEmpty() ? '' : image.toDataUrl();
52
+ return image.isEmpty() ? '' : image.toDataURL();
53
53
  }
54
54
  catch {
55
55
  return '';
@@ -57,7 +57,7 @@ export function createElectronClipboardBackend(electron) {
57
57
  },
58
58
  async writeImage(dataUrl) {
59
59
  try {
60
- cb.writeImage(electron.nativeImage.createFromDataUrl(dataUrl));
60
+ cb.writeImage(electron.nativeImage.createFromDataURL(dataUrl));
61
61
  return true;
62
62
  }
63
63
  catch {
@@ -1,3 +1,3 @@
1
- import type { MenuBackend, ElectronApi } from '@flighthq/types/contract';
1
+ import type { ElectronApi, MenuBackend } from '@flighthq/types/contract';
2
2
  export declare function createElectronMenuBackend(electron: ElectronApi): MenuBackend;
3
3
  //# sourceMappingURL=electronMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"electronMenu.d.ts","sourceRoot":"","sources":["../src/electronMenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAoB,WAAW,EAA2B,MAAM,0BAA0B,CAAC;AAMpH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,CA+B5E"}
1
+ {"version":3,"file":"electronMenu.d.ts","sourceRoot":"","sources":["../src/electronMenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAQzE,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,CA+B5E"}
@@ -1,3 +1,4 @@
1
+ import { toElectronTemplate } from './electronMenuTemplate';
1
2
  // Maps Flight's MenuBackend onto Electron's Menu module. Flight menu items are plain templates with a
2
3
  // stable `id`; Electron delivers selection through per-item `click` callbacks, so the seam funnels
3
4
  // those clicks back through an explicit onSelect. The application menu's clicks go to the listener
@@ -34,26 +35,4 @@ export function createElectronMenuBackend(electron) {
34
35
  },
35
36
  };
36
37
  }
37
- // Recursively maps Flight menu templates to Electron menu options. A selectable leaf with an id gets a
38
- // `click` that reports its id through onSelect; submenus recurse with the same onSelect.
39
- function toElectronTemplate(items, onSelect) {
40
- return items.map((item) => {
41
- const options = {
42
- id: item.id,
43
- label: item.label,
44
- type: item.type,
45
- role: item.role,
46
- accelerator: item.accelerator,
47
- enabled: item.enabled,
48
- checked: item.checked,
49
- };
50
- if (item.submenu) {
51
- options.submenu = toElectronTemplate(item.submenu, onSelect);
52
- }
53
- else if (onSelect && item.id !== undefined) {
54
- options.click = () => onSelect(item.id);
55
- }
56
- return options;
57
- });
58
- }
59
38
  //# sourceMappingURL=electronMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"electronMenu.js","sourceRoot":"","sources":["../src/electronMenu.ts"],"names":[],"mappings":"AAEA,sGAAsG;AACtG,mGAAmG;AACnG,mGAAmG;AACnG,qGAAqG;AACrG,MAAM,UAAU,yBAAyB,CAAC,QAAqB;IAC7D,kGAAkG;IAClG,kFAAkF;IAClF,IAAI,cAAc,GAAkC,IAAI,CAAC;IACzD,OAAO;QACL,kBAAkB,CAAC,KAAK;YACtB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAC9B,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CACzF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;YAC1B,2FAA2F;YAC3F,+FAA+F;YAC/F,sDAAsD;YACtD,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;gBAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7F,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,eAAe,CAAC,QAAQ;YACtB,cAAc,GAAG,QAAQ,CAAC;YAC1B,OAAO,GAAG,EAAE;gBACV,IAAI,cAAc,KAAK,QAAQ;oBAAE,cAAc,GAAG,IAAI,CAAC;YACzD,CAAC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,uGAAuG;AACvG,yFAAyF;AACzF,SAAS,kBAAkB,CACzB,KAAkC,EAClC,QAA+B;IAE/B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,OAAO,GAA4B;YACvC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"electronMenu.js","sourceRoot":"","sources":["../src/electronMenu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,sGAAsG;AACtG,mGAAmG;AACnG,mGAAmG;AACnG,qGAAqG;AACrG,MAAM,UAAU,yBAAyB,CAAC,QAAqB;IAC7D,kGAAkG;IAClG,kFAAkF;IAClF,IAAI,cAAc,GAAkC,IAAI,CAAC;IACzD,OAAO;QACL,kBAAkB,CAAC,KAAK;YACtB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAC9B,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CACzF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;YAC1B,2FAA2F;YAC3F,+FAA+F;YAC/F,sDAAsD;YACtD,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;gBAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7F,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,eAAe,CAAC,QAAQ;YACtB,cAAc,GAAG,QAAQ,CAAC;YAC1B,OAAO,GAAG,EAAE;gBACV,IAAI,cAAc,KAAK,QAAQ;oBAAE,cAAc,GAAG,IAAI,CAAC;YACzD,CAAC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ElectronMenuItemOptions, MenuItemTemplate } from '@flighthq/types/contract';
2
+ export declare function toElectronTemplate(items: readonly MenuItemTemplate[], onSelect?: (id: string) => void): ElectronMenuItemOptions[];
3
+ //# sourceMappingURL=electronMenuTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electronMenuTemplate.d.ts","sourceRoot":"","sources":["../src/electronMenuTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAwB,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIhH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAClC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAC9B,uBAAuB,EAAE,CAkB3B"}
@@ -0,0 +1,76 @@
1
+ // Recursively maps Flight's open menu descriptor onto Electron's closed role enum. Unknown vendor
2
+ // roles are intentionally omitted; the two differently-spelled built-ins map to Electron's spelling.
3
+ export function toElectronTemplate(items, onSelect) {
4
+ return items.map((item) => {
5
+ const options = {
6
+ accelerator: item.accelerator,
7
+ checked: item.checked,
8
+ enabled: item.enabled,
9
+ id: item.id,
10
+ label: item.label,
11
+ role: toElectronRole(item.role),
12
+ type: item.type,
13
+ };
14
+ if (item.submenu) {
15
+ options.submenu = toElectronTemplate(item.submenu, onSelect);
16
+ }
17
+ else if (onSelect && item.id !== undefined) {
18
+ options.click = () => onSelect(item.id);
19
+ }
20
+ return options;
21
+ });
22
+ }
23
+ const electronRoles = new Set([
24
+ 'about',
25
+ 'appMenu',
26
+ 'clearRecentDocuments',
27
+ 'close',
28
+ 'copy',
29
+ 'cut',
30
+ 'delete',
31
+ 'editMenu',
32
+ 'fileMenu',
33
+ 'forceReload',
34
+ 'front',
35
+ 'help',
36
+ 'hide',
37
+ 'hideOthers',
38
+ 'mergeAllWindows',
39
+ 'minimize',
40
+ 'moveTabToNewWindow',
41
+ 'paste',
42
+ 'pasteAndMatchStyle',
43
+ 'quit',
44
+ 'recentDocuments',
45
+ 'redo',
46
+ 'reload',
47
+ 'resetZoom',
48
+ 'selectAll',
49
+ 'selectNextTab',
50
+ 'selectPreviousTab',
51
+ 'services',
52
+ 'shareMenu',
53
+ 'showAllTabs',
54
+ 'startSpeaking',
55
+ 'stopSpeaking',
56
+ 'toggleDevTools',
57
+ 'toggleSpellChecker',
58
+ 'toggleTabBar',
59
+ 'togglefullscreen',
60
+ 'undo',
61
+ 'unhide',
62
+ 'viewMenu',
63
+ 'window',
64
+ 'windowMenu',
65
+ 'zoom',
66
+ 'zoomIn',
67
+ 'zoomOut',
68
+ ]);
69
+ function toElectronRole(role) {
70
+ if (role === 'toggleFullscreen')
71
+ return 'togglefullscreen';
72
+ if (role === 'helpMenu')
73
+ return 'help';
74
+ return role !== undefined && electronRoles.has(role) ? role : undefined;
75
+ }
76
+ //# sourceMappingURL=electronMenuTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electronMenuTemplate.js","sourceRoot":"","sources":["../src/electronMenuTemplate.ts"],"names":[],"mappings":"AAEA,kGAAkG;AAClG,qGAAqG;AACrG,MAAM,UAAU,kBAAkB,CAChC,KAAkC,EAClC,QAA+B;IAE/B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,OAAO,GAA4B;YACvC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAuB;IACvE,OAAO;IACP,SAAS;IACT,sBAAsB;IACtB,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,UAAU;IACV,UAAU;IACV,aAAa;IACb,OAAO;IACP,MAAM;IACN,MAAM;IACN,YAAY;IACZ,iBAAiB;IACjB,UAAU;IACV,oBAAoB;IACpB,OAAO;IACP,oBAAoB;IACpB,MAAM;IACN,iBAAiB;IACjB,MAAM;IACN,QAAQ;IACR,WAAW;IACX,WAAW;IACX,eAAe;IACf,mBAAmB;IACnB,UAAU;IACV,WAAW;IACX,aAAa;IACb,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;IACd,kBAAkB;IAClB,MAAM;IACN,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,QAAQ;IACR,SAAS;CACV,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,IAA8B;IACpD,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,kBAAkB,CAAC;IAC3D,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC;IACvC,OAAO,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAA6B,CAAC,CAAC,CAAC,SAAS,CAAC;AACpG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"electronRegister.d.ts","sourceRoot":"","sources":["../src/electronRegister.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AA+BpF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,GAAE,QAAQ,CAAC,sBAAsB,CAAM,GAAG,IAAI,CAiBpH"}
1
+ {"version":3,"file":"electronRegister.d.ts","sourceRoot":"","sources":["../src/electronRegister.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAgCpF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,GAAE,QAAQ,CAAC,sBAAsB,CAAM,GAAG,IAAI,CAiBpH"}
@@ -36,7 +36,8 @@ import { createElectronWindowBackend } from './electronWindow';
36
36
  //
37
37
  // import * as electron from 'electron';
38
38
  // import * as fs from 'node:fs';
39
- // registerElectronBackends({ ...electron, fs });
39
+ // const electronApi: ElectronApi = { ...electron, fs, Tray: electron.Tray as ElectronApi['Tray'] };
40
+ // registerElectronBackends(electronApi);
40
41
  //
41
42
  // After this, the platform/app/window seams resolve to their Electron implementations instead of the
42
43
  // web defaults. Each set*Backend(null) (per package) reverts to the web default; there is no bulk
@@ -1 +1 @@
1
- {"version":3,"file":"electronRegister.js","sourceRoot":"","sources":["../src/electronRegister.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electronRegister.js","sourceRoot":"","sources":["../src/electronRegister.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"electronTray.d.ts","sourceRoot":"","sources":["../src/electronTray.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EAGX,WAAW,EAIZ,MAAM,0BAA0B,CAAC;AAOlC,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,CA4H5E"}
1
+ {"version":3,"file":"electronTray.d.ts","sourceRoot":"","sources":["../src/electronTray.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAGX,WAAW,EAGZ,MAAM,0BAA0B,CAAC;AASlC,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,CA4H5E"}
@@ -1,3 +1,4 @@
1
+ import { toElectronTemplate } from './electronMenuTemplate';
1
2
  // Maps Flight's TrayBackend onto Electron's Tray module. Flight identifies trays by an opaque numeric
2
3
  // id; the seam keeps an id→record map (the ElectronTray plus the title/tooltip/menu it cannot read
3
4
  // back) and a single event listener. Every tray, on creation, attaches click handlers that forward a
@@ -143,22 +144,4 @@ function toBounds(tray) {
143
144
  return null;
144
145
  }
145
146
  }
146
- // Recursively maps Flight menu templates to Electron menu options for a tray context menu. Tray menus
147
- // carry no select callback in this seam — selection is reported through the menu backend's listener.
148
- function toElectronTemplate(items) {
149
- return items.map((item) => {
150
- const options = {
151
- id: item.id,
152
- label: item.label,
153
- type: item.type,
154
- role: item.role,
155
- accelerator: item.accelerator,
156
- enabled: item.enabled,
157
- checked: item.checked,
158
- };
159
- if (item.submenu)
160
- options.submenu = toElectronTemplate(item.submenu);
161
- return options;
162
- });
163
- }
164
147
  //# sourceMappingURL=electronTray.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"electronTray.js","sourceRoot":"","sources":["../src/electronTray.ts"],"names":[],"mappings":"AAWA,sGAAsG;AACtG,mGAAmG;AACnG,qGAAqG;AACrG,qGAAqG;AACrG,4EAA4E;AAC5E,MAAM,UAAU,yBAAyB,CAAC,QAAqB;IAC7D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,+EAA+E;IAC/E,IAAI,aAAa,GAAsD,IAAI,CAAC;IAC5E,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,IAAmB,EAAQ,EAAE;QACrD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,aAAa,EAAE,CAAC;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC7C,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,EAAE;YACF,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK;YACf,IAAI;SACL,CAAC,CAAC;IACL,CAAC,CAAC;IACF,OAAO;QACL,MAAM,CAAC,OAAO;YACZ,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACnD,MAAM,MAAM,GAAe,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxE,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACjC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YACnC,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7B,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC/B,CAAC;YACD,6EAA6E;YAC7E,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;YACvD,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,EAAE;YACR,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QACD,cAAc,CAAC,EAAE,EAAE,OAAO;YACxB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC;gBACjC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC3C,CAAC,CAAC;QACL,CAAC;QACD,aAAa,CAAC,EAAE;YACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,CAAC;QACD,SAAS,CAAC,EAAE;YACV,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,CAAC;QACD,eAAe;YACb,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC9G,CAAC;QACD,QAAQ,CAAC,EAAE;YACT,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QACpC,CAAC;QACD,UAAU,CAAC,EAAE;YACX,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;QACtC,CAAC;QACD,WAAW,CAAC,EAAE;YACZ,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,CAAC;QACD,OAAO;YACL,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,gBAAgB,CAAC,EAAE,EAAE,QAAQ;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClH,CAAC;QACD,cAAc,CAAC,EAAE,EAAE,KAAK;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,EAAE,EAAE,IAAI;YACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,0BAA0B,CAAC,EAAE,EAAE,MAAM;YACnC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QACD,cAAc,CAAC,EAAE,EAAE,IAAI;YACrB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,WAAW;YACT,iGAAiG;YACjG,iGAAiG;QACnG,CAAC;QACD,QAAQ,CAAC,EAAE,EAAE,KAAK;YAChB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;QACD,UAAU,CAAC,EAAE,EAAE,OAAO;YACpB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC;QACD,SAAS,CAAC,QAAQ;YAChB,aAAa,GAAG,QAAQ,CAAC;YACzB,OAAO,GAAG,EAAE;gBACV,IAAI,aAAa,KAAK,QAAQ;oBAAE,aAAa,GAAG,IAAI,CAAC;YACvD,CAAC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAA4B;IAC5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,sGAAsG;AACtG,qGAAqG;AACrG,SAAS,kBAAkB,CAAC,KAAkC;IAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,OAAO,GAA4B;YACvC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QACF,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"electronTray.js","sourceRoot":"","sources":["../src/electronTray.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export function createElectronUpdaterBackend(electron) {
9
9
  let config = { allowPrerelease: false, autoDownload: true, autoInstallOnAppQuit: true };
10
10
  return {
11
11
  setFeedUrl(url) {
12
- autoUpdater.setFeedUrl({ url });
12
+ autoUpdater.setFeedURL({ url });
13
13
  },
14
14
  checkForUpdates() {
15
15
  autoUpdater.checkForUpdates();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/host-electron",
3
- "version": "0.4.0-next.1920.b93ad0f",
3
+ "version": "0.4.0-next.1932.1ef883a",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,24 +38,24 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/app": "0.4.0-next.1920.b93ad0f",
42
- "@flighthq/application": "0.4.0-next.1920.b93ad0f",
43
- "@flighthq/clipboard": "0.4.0-next.1920.b93ad0f",
44
- "@flighthq/dialog": "0.4.0-next.1920.b93ad0f",
45
- "@flighthq/ipc": "0.4.0-next.1920.b93ad0f",
46
- "@flighthq/menu": "0.4.0-next.1920.b93ad0f",
47
- "@flighthq/notification": "0.4.0-next.1920.b93ad0f",
48
- "@flighthq/platform": "0.4.0-next.1920.b93ad0f",
49
- "@flighthq/power": "0.4.0-next.1920.b93ad0f",
50
- "@flighthq/protocol": "0.4.0-next.1920.b93ad0f",
51
- "@flighthq/screen": "0.4.0-next.1920.b93ad0f",
52
- "@flighthq/shell": "0.4.0-next.1920.b93ad0f",
53
- "@flighthq/shortcut": "0.4.0-next.1920.b93ad0f",
54
- "@flighthq/signals": "0.4.0-next.1920.b93ad0f",
55
- "@flighthq/storage": "0.4.0-next.1920.b93ad0f",
56
- "@flighthq/tray": "0.4.0-next.1920.b93ad0f",
57
- "@flighthq/types": "0.4.0-next.1920.b93ad0f",
58
- "@flighthq/updater": "0.4.0-next.1920.b93ad0f"
41
+ "@flighthq/app": "0.4.0-next.1932.1ef883a",
42
+ "@flighthq/application": "0.4.0-next.1932.1ef883a",
43
+ "@flighthq/clipboard": "0.4.0-next.1932.1ef883a",
44
+ "@flighthq/dialog": "0.4.0-next.1932.1ef883a",
45
+ "@flighthq/ipc": "0.4.0-next.1932.1ef883a",
46
+ "@flighthq/menu": "0.4.0-next.1932.1ef883a",
47
+ "@flighthq/notification": "0.4.0-next.1932.1ef883a",
48
+ "@flighthq/platform": "0.4.0-next.1932.1ef883a",
49
+ "@flighthq/power": "0.4.0-next.1932.1ef883a",
50
+ "@flighthq/protocol": "0.4.0-next.1932.1ef883a",
51
+ "@flighthq/screen": "0.4.0-next.1932.1ef883a",
52
+ "@flighthq/shell": "0.4.0-next.1932.1ef883a",
53
+ "@flighthq/shortcut": "0.4.0-next.1932.1ef883a",
54
+ "@flighthq/signals": "0.4.0-next.1932.1ef883a",
55
+ "@flighthq/storage": "0.4.0-next.1932.1ef883a",
56
+ "@flighthq/tray": "0.4.0-next.1932.1ef883a",
57
+ "@flighthq/types": "0.4.0-next.1932.1ef883a",
58
+ "@flighthq/updater": "0.4.0-next.1932.1ef883a"
59
59
  },
60
60
  "devDependencies": {
61
61
  "typescript": "^5.3.0"
@@ -5,7 +5,7 @@ import { createElectronClipboardBackend } from './electronClipboard';
5
5
  function fakeElectron(): ElectronApi {
6
6
  const store = { text: '', html: '', rtf: '', imageDataUrl: '', bookmarkTitle: '', bookmarkUrl: '' };
7
7
  const image = (dataUrl: string): ElectronNativeImage => ({
8
- toDataUrl: () => dataUrl,
8
+ toDataURL: () => dataUrl,
9
9
  isEmpty: () => dataUrl === '',
10
10
  });
11
11
  return {
@@ -14,8 +14,8 @@ function fakeElectron(): ElectronApi {
14
14
  writeText: (t: string) => {
15
15
  store.text = t;
16
16
  },
17
- readHtml: () => store.html,
18
- writeHtml: (h: string) => {
17
+ readHTML: () => store.html,
18
+ writeHTML: (h: string) => {
19
19
  store.html = h;
20
20
  },
21
21
  readRTF: () => store.rtf,
@@ -29,7 +29,7 @@ function fakeElectron(): ElectronApi {
29
29
  },
30
30
  readImage: () => image(store.imageDataUrl),
31
31
  writeImage: (img: ElectronNativeImage) => {
32
- store.imageDataUrl = img.toDataUrl();
32
+ store.imageDataUrl = img.toDataURL();
33
33
  },
34
34
  clear: () => {
35
35
  store.text = '';
@@ -41,7 +41,7 @@ function fakeElectron(): ElectronApi {
41
41
  },
42
42
  },
43
43
  nativeImage: {
44
- createFromDataUrl: (dataUrl: string) => image(dataUrl),
44
+ createFromDataURL: (dataUrl: string) => image(dataUrl),
45
45
  createFromPath: () => image(''),
46
46
  },
47
47
  } as unknown as ElectronApi;
@@ -0,0 +1,23 @@
1
+ import { toElectronTemplate } from './electronMenuTemplate';
2
+
3
+ describe('toElectronTemplate', () => {
4
+ it('maps Flight roles and omits unsupported custom roles', () => {
5
+ const template = toElectronTemplate([
6
+ { label: 'Fullscreen', role: 'toggleFullscreen' },
7
+ { label: 'Help', role: 'helpMenu' },
8
+ { label: 'Custom', role: 'acme.custom' },
9
+ ]);
10
+
11
+ expect(template.map((item) => item.role)).toEqual(['togglefullscreen', 'help', undefined]);
12
+ });
13
+
14
+ it('recursively wires selectable ids', () => {
15
+ const selected: string[] = [];
16
+ const template = toElectronTemplate([{ label: 'File', submenu: [{ id: 'open', label: 'Open' }] }], (id) =>
17
+ selected.push(id),
18
+ );
19
+
20
+ template[0].submenu?.[0].click?.();
21
+ expect(selected).toEqual(['open']);
22
+ });
23
+ });
@@ -11,7 +11,7 @@ function fakeElectron(): {
11
11
  const calls = { feedUrl: undefined as string | undefined, checks: 0, quit: 0 };
12
12
  const electron = {
13
13
  autoUpdater: {
14
- setFeedUrl: (options: { url: string }) => {
14
+ setFeedURL: (options: { url: string }) => {
15
15
  calls.feedUrl = options.url;
16
16
  },
17
17
  checkForUpdates: () => {