@flighthq/host-electron 0.5.0-next.1944.cd6b6e7 → 0.5.1-edge.638.d4dbd4e

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.
Files changed (87) hide show
  1. package/README.md +3 -3
  2. package/dist/electronApp.d.ts +6 -2
  3. package/dist/electronApp.d.ts.map +1 -1
  4. package/dist/electronApp.js +104 -150
  5. package/dist/electronApp.js.map +1 -1
  6. package/dist/electronClipboard.d.ts +4 -2
  7. package/dist/electronClipboard.d.ts.map +1 -1
  8. package/dist/electronClipboard.js +6 -21
  9. package/dist/electronClipboard.js.map +1 -1
  10. package/dist/electronDialog.d.ts +5 -2
  11. package/dist/electronDialog.d.ts.map +1 -1
  12. package/dist/electronDialog.js +120 -49
  13. package/dist/electronDialog.js.map +1 -1
  14. package/dist/electronIpc.d.ts +2 -2
  15. package/dist/electronIpc.d.ts.map +1 -1
  16. package/dist/electronIpc.js +13 -13
  17. package/dist/electronIpc.js.map +1 -1
  18. package/dist/electronMenu.d.ts +6 -2
  19. package/dist/electronMenu.d.ts.map +1 -1
  20. package/dist/electronMenu.js +52 -32
  21. package/dist/electronMenu.js.map +1 -1
  22. package/dist/electronNotification.d.ts +13 -2
  23. package/dist/electronNotification.d.ts.map +1 -1
  24. package/dist/electronNotification.js +179 -127
  25. package/dist/electronNotification.js.map +1 -1
  26. package/dist/electronPlatform.d.ts +2 -2
  27. package/dist/electronPlatform.d.ts.map +1 -1
  28. package/dist/electronPlatform.js +3 -2
  29. package/dist/electronPlatform.js.map +1 -1
  30. package/dist/electronPower.d.ts +11 -2
  31. package/dist/electronPower.d.ts.map +1 -1
  32. package/dist/electronPower.js +133 -75
  33. package/dist/electronPower.js.map +1 -1
  34. package/dist/electronProtocol.d.ts +2 -2
  35. package/dist/electronProtocol.d.ts.map +1 -1
  36. package/dist/electronProtocol.js +39 -50
  37. package/dist/electronProtocol.js.map +1 -1
  38. package/dist/electronRegister.d.ts +17 -2
  39. package/dist/electronRegister.d.ts.map +1 -1
  40. package/dist/electronRegister.js +66 -56
  41. package/dist/electronRegister.js.map +1 -1
  42. package/dist/electronScreen.d.ts +2 -2
  43. package/dist/electronScreen.d.ts.map +1 -1
  44. package/dist/electronScreen.js +103 -44
  45. package/dist/electronScreen.js.map +1 -1
  46. package/dist/electronShell.d.ts +2 -2
  47. package/dist/electronShell.d.ts.map +1 -1
  48. package/dist/electronShell.js +49 -51
  49. package/dist/electronShell.js.map +1 -1
  50. package/dist/electronShortcut.d.ts +3 -2
  51. package/dist/electronShortcut.d.ts.map +1 -1
  52. package/dist/electronShortcut.js +50 -34
  53. package/dist/electronShortcut.js.map +1 -1
  54. package/dist/electronStorage.d.ts +2 -2
  55. package/dist/electronStorage.d.ts.map +1 -1
  56. package/dist/electronStorage.js +112 -54
  57. package/dist/electronStorage.js.map +1 -1
  58. package/dist/electronTray.d.ts +2 -2
  59. package/dist/electronTray.d.ts.map +1 -1
  60. package/dist/electronTray.js +374 -133
  61. package/dist/electronTray.js.map +1 -1
  62. package/dist/electronUpdater.d.ts +2 -2
  63. package/dist/electronUpdater.d.ts.map +1 -1
  64. package/dist/electronUpdater.js +120 -108
  65. package/dist/electronUpdater.js.map +1 -1
  66. package/dist/electronWindow.d.ts +3 -2
  67. package/dist/electronWindow.d.ts.map +1 -1
  68. package/dist/electronWindow.js +114 -56
  69. package/dist/electronWindow.js.map +1 -1
  70. package/package.json +21 -20
  71. package/src/electronApp.test.ts +95 -91
  72. package/src/electronClipboard.test.ts +3 -0
  73. package/src/electronDialog.test.ts +96 -46
  74. package/src/electronIpc.test.ts +37 -20
  75. package/src/electronMenu.test.ts +65 -7
  76. package/src/electronNotification.test.ts +148 -58
  77. package/src/electronPlatform.test.ts +5 -0
  78. package/src/electronPower.test.ts +108 -50
  79. package/src/electronProtocol.test.ts +33 -32
  80. package/src/electronRegister.test.ts +52 -13
  81. package/src/electronScreen.test.ts +15 -6
  82. package/src/electronShell.test.ts +75 -35
  83. package/src/electronShortcut.test.ts +56 -34
  84. package/src/electronStorage.test.ts +158 -48
  85. package/src/electronTray.test.ts +203 -75
  86. package/src/electronUpdater.test.ts +160 -73
  87. package/src/electronWindow.test.ts +137 -9
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @flighthq/host-electron
2
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
3
+ Electron host adapter with injected API/platform configuration and explicit capability composition
4
4
 
5
5
  ## Install
6
6
 
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/host-electron`. The
13
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
14
 
15
15
  - [Flight project](https://github.com/flighthq/flight)
16
- - [Source for @flighthq/host-electron@0.5.0-next.1944.cd6b6e7](https://github.com/flighthq/flight/tree/cd6b6e71eb472b3a4249830a7743333f019fa7b7/packages/host-electron)
17
- - [License](https://github.com/flighthq/flight/blob/cd6b6e71eb472b3a4249830a7743333f019fa7b7/LICENSE.md)
16
+ - [Source for @flighthq/host-electron@0.5.1-edge.638.d4dbd4e](https://github.com/flighthq/flight/tree/d4dbd4e347dc8be10b180c85a766ab50333dcb51/packages/host-electron)
17
+ - [License](https://github.com/flighthq/flight/blob/d4dbd4e347dc8be10b180c85a766ab50333dcb51/LICENSE.md)
@@ -1,3 +1,7 @@
1
- import type { AppBackend, ElectronApi } from '@flighthq/types/contract';
2
- export declare function createElectronAppBackend(electron: ElectronApi): AppBackend;
1
+ import type { DesktopOsProfile, ElectronApi, ElectronAppCapabilitiesFor, ElectronLinuxAppCapabilities, ElectronMacosAppCapabilities, ElectronWindowsAppCapabilities } from '@flighthq/types/contract';
2
+ export declare function createElectronAppCapabilities<Profile extends DesktopOsProfile>(electron: ElectronApi, profile: Profile): ElectronAppCapabilitiesFor<Profile>;
3
+ export declare function createElectronAppCapabilities(electron: ElectronApi, profile: 'macos'): ElectronMacosAppCapabilities;
4
+ export declare function createElectronAppCapabilities(electron: ElectronApi, profile: 'windows'): ElectronWindowsAppCapabilities;
5
+ export declare function createElectronAppCapabilities(electron: ElectronApi, profile: 'linux'): ElectronLinuxAppCapabilities;
6
+ export declare function createElectronAppCapabilities(electron: ElectronApi, profile: DesktopOsProfile): ElectronMacosAppCapabilities | ElectronWindowsAppCapabilities | ElectronLinuxAppCapabilities;
3
7
  //# sourceMappingURL=electronApp.d.ts.map
@@ -1 +1 @@
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
+ {"version":3,"file":"electronApp.d.ts","sourceRoot":"","sources":["../src/electronApp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAE1B,4BAA4B,EAC5B,4BAA4B,EAC5B,8BAA8B,EAG/B,MAAM,0BAA0B,CAAC;AAIlC,wBAAgB,6BAA6B,CAAC,OAAO,SAAS,gBAAgB,EAC5E,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,OAAO,GACf,0BAA0B,CAAC,OAAO,CAAC,CAAC;AACvC,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,4BAA4B,CAAC;AACrH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,SAAS,GACjB,8BAA8B,CAAC;AAClC,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,4BAA4B,CAAC;AACrH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,gBAAgB,GACxB,4BAA4B,GAAG,8BAA8B,GAAG,4BAA4B,CAAC"}
@@ -1,165 +1,119 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { toElectronTemplate } from './electronMenuTemplate';
2
- // Maps Flight's AppBackend onto Electron's `app` module (plus `app.dock` on macOs). Dock-only
3
- // operations no-op or return -1 where there is no dock. Subscribe methods wire an electron event
4
- // listener and return an unsubscribe that removes that exact handler; the wrapper adapts Electron's
5
- // (event, ...) argument shape to Flight's listener signature.
6
- export function createElectronAppBackend(electron) {
3
+ export function createElectronAppCapabilities(electron, profile) {
7
4
  const app = electron.app;
8
- return {
9
- addRecentDocument(path) {
10
- app.addRecentDocument(path);
11
- },
12
- bounceDock() {
13
- return app.dock?.bounce() ?? -1;
14
- },
15
- cancelAttention(id) {
16
- // App-level attention is a macOS dock bounce; cancel it by request id.
17
- app.dock?.cancelBounce(id);
18
- },
19
- cancelDockBounce(id) {
20
- app.dock?.cancelBounce(id);
21
- },
22
- clearRecentDocuments() {
23
- app.clearRecentDocuments();
24
- },
25
- focus() {
26
- app.focus();
27
- },
28
- getAppDirectoryPath(kind) {
29
- return app.getPath(toElectronPathName(kind));
30
- },
31
- getAppPath() {
32
- return app.getAppPath();
33
- },
34
- getCommandLine() {
35
- // Electron exposes no command-line accessor on `app` (it lives on process.argv, outside this
36
- // dependency-free facade); report the empty sentinel rather than reaching into Node.
37
- return [];
38
- },
39
- getExecutablePath() {
40
- return app.getPath('exe');
41
- },
42
- getLocale() {
43
- return app.getLocale();
44
- },
5
+ const subscribe = (event, listener) => {
6
+ app.on(event, listener);
7
+ return () => app.removeListener(event, listener);
8
+ };
9
+ const common = createEntity({
10
+ allWindowsClosed: createEntity({ subscribe: (listener) => subscribe('window-all-closed', listener) }),
11
+ focus: createEntity({ focus: () => app.focus() }),
12
+ locale: createEntity({
13
+ getLocale: () => app.getLocale(),
14
+ getPreferredSystemLanguages: () => app.getPreferredSystemLanguages(),
15
+ getSystemLocale: () => app.getSystemLocale(),
16
+ }),
17
+ name: createEntity({ getName: () => app.getName() }),
18
+ nameWrite: createEntity({ setName: (name) => app.setName(name) }),
19
+ path: createEntity({
20
+ getAppDirectoryPath: (kind) => app.getPath(toElectronPathName(kind)),
21
+ getAppPath: () => app.getAppPath(),
22
+ getExecutablePath: () => app.getPath('exe'),
23
+ }),
24
+ quit: createEntity({ quit: () => app.quit() }),
25
+ quitRequest: createEntity({
26
+ subscribe: (listener) => {
27
+ return subscribe('before-quit', (...args) => {
28
+ const event = args[0];
29
+ listener(() => event?.preventDefault?.());
30
+ });
31
+ },
32
+ }),
33
+ ready: createEntity({ subscribe: (listener) => subscribe('ready', listener) }),
34
+ relaunch: createEntity({ relaunch: () => app.relaunch() }),
35
+ secondInstance: createEntity({
36
+ subscribe: (listener) => {
37
+ return subscribe('second-instance', (...args) => listener(args[1] ?? []));
38
+ },
39
+ }),
40
+ singleInstance: createEntity({
41
+ hasSingleInstanceLock: () => app.hasSingleInstanceLock(),
42
+ releaseSingleInstanceLock: () => app.releaseSingleInstanceLock(),
43
+ requestSingleInstanceLock: () => app.requestSingleInstanceLock(),
44
+ }),
45
+ version: createEntity({ getVersion: () => app.getVersion() }),
46
+ });
47
+ if (profile === 'macos') {
48
+ const dock = app.dock;
49
+ if (dock === undefined)
50
+ throw new Error('Electron macOS app capabilities require app.dock');
51
+ return createEntity({
52
+ ...common,
53
+ activate: createEntity({ subscribe: (listener) => subscribe('activate', listener) }),
54
+ activationPolicy: createEntity({
55
+ setActivationPolicy: (policy) => app.setActivationPolicy(policy),
56
+ }),
57
+ badge: createEntity({ setBadgeCount: async (count) => app.setBadgeCount(count) }),
58
+ dock: createEntity({
59
+ bounceDock: () => dock.bounce(),
60
+ cancelAttention: (id) => dock.cancelBounce(id),
61
+ cancelDockBounce: (id) => dock.cancelBounce(id),
62
+ requestAttention: (critical) => dock.bounce(critical ? 'critical' : 'informational'),
63
+ setDockBadge: (text) => dock.setBadge(text),
64
+ setDockMenu: (items) => dock.setMenu(electron.Menu.buildFromTemplate(toElectronTemplate(items))),
65
+ }),
66
+ loginItem: createElectronLoginItemBackend(electron),
67
+ openFile: createEntity({
68
+ subscribe: (listener) => {
69
+ return subscribe('open-file', (...args) => listener(String(args[1] ?? '')));
70
+ },
71
+ }),
72
+ hiddenQuery: createEntity({ isAppHidden: () => app.isHidden() }),
73
+ hide: createEntity({ hideApp: () => app.hide() }),
74
+ recentDocuments: createElectronRecentDocumentsBackend(electron),
75
+ show: createEntity({ showApp: () => app.show() }),
76
+ });
77
+ }
78
+ if (profile === 'windows') {
79
+ return createEntity({
80
+ ...common,
81
+ loginItem: createElectronLoginItemBackend(electron),
82
+ recentDocuments: createElectronRecentDocumentsBackend(electron),
83
+ userModelId: createEntity({ setUserModelId: (id) => app.setAppUserModelId(id) }),
84
+ });
85
+ }
86
+ return createEntity({
87
+ ...common,
88
+ badge: createEntity({ setBadgeCount: async (count) => app.setBadgeCount(count) }),
89
+ });
90
+ }
91
+ function createElectronLoginItemBackend(electron) {
92
+ return createEntity({
45
93
  getLoginItem() {
46
- const settings = app.getLoginItemSettings();
47
- const out = {
48
- openAtLogin: settings.openAtLogin,
94
+ const settings = electron.app.getLoginItemSettings();
95
+ return {
96
+ args: [],
49
97
  openAsHidden: settings.openAsHidden,
98
+ openAtLogin: settings.openAtLogin,
50
99
  path: '',
51
- args: [],
52
100
  };
53
- return out;
54
- },
55
- getName() {
56
- return app.getName();
57
- },
58
- getPreferredSystemLanguages() {
59
- return app.getPreferredSystemLanguages();
60
- },
61
- getSystemLocale() {
62
- return app.getSystemLocale();
63
- },
64
- getVersion() {
65
- return app.getVersion();
66
- },
67
- hasSingleInstanceLock() {
68
- return app.hasSingleInstanceLock();
69
- },
70
- hideApp() {
71
- app.hide();
72
- return true;
73
- },
74
- isAppHidden() {
75
- return app.isHidden();
76
- },
77
- quit() {
78
- app.quit();
79
- },
80
- relaunch() {
81
- app.relaunch();
82
- },
83
- releaseSingleInstanceLock() {
84
- app.releaseSingleInstanceLock();
85
- },
86
- requestAttention(_critical) {
87
- // App-level attention maps to a dock bounce on macOS; returns the bounce id (or -1 with no dock).
88
- return app.dock?.bounce(_critical ? 'critical' : 'informational') ?? -1;
89
- },
90
- requestSingleInstanceLock() {
91
- return app.requestSingleInstanceLock();
92
- },
93
- setActivationPolicy(policy) {
94
- app.setActivationPolicy(policy);
95
- },
96
- setBadgeCount(count) {
97
- return app.setBadgeCount(count);
98
- },
99
- setDockBadge(text) {
100
- app.dock?.setBadge(text);
101
- },
102
- setDockMenu(items) {
103
- if (!app.dock)
104
- return;
105
- app.dock.setMenu(electron.Menu.buildFromTemplate(toElectronTemplate(items)));
106
101
  },
107
102
  setLoginItem(settings) {
108
- app.setLoginItemSettings({
109
- openAtLogin: settings.openAtLogin,
103
+ electron.app.setLoginItemSettings({
104
+ args: settings.args ? [...settings.args] : undefined,
110
105
  openAsHidden: settings.openAsHidden,
106
+ openAtLogin: settings.openAtLogin,
111
107
  path: settings.path,
112
- args: settings.args ? [...settings.args] : undefined,
113
108
  });
114
- return true;
115
109
  },
116
- setName(name) {
117
- app.setName(name);
118
- return true;
119
- },
120
- setUserModelId(id) {
121
- app.setAppUserModelId(id);
122
- return true;
123
- },
124
- showApp() {
125
- app.show();
126
- return true;
127
- },
128
- subscribeActivate(listener) {
129
- app.on('activate', listener);
130
- return () => app.removeListener('activate', listener);
131
- },
132
- subscribeAllWindowsClosed(listener) {
133
- app.on('window-all-closed', listener);
134
- return () => app.removeListener('window-all-closed', listener);
135
- },
136
- subscribeOpenFile(listener) {
137
- // Electron passes (event, path); Flight wants just the path.
138
- const handler = (...args) => listener(String(args[1] ?? ''));
139
- app.on('open-file', handler);
140
- return () => app.removeListener('open-file', handler);
141
- },
142
- subscribeQuitRequest(listener) {
143
- // Electron's 'before-quit' passes (event); event.preventDefault() vetoes the quit, so the host-
144
- // cancel callback Flight hands the listener calls preventDefault on that event.
145
- const handler = (...args) => {
146
- const event = args[0];
147
- listener(() => event?.preventDefault?.());
148
- };
149
- app.on('before-quit', handler);
150
- return () => app.removeListener('before-quit', handler);
151
- },
152
- subscribeReady(listener) {
153
- app.on('ready', listener);
154
- return () => app.removeListener('ready', listener);
155
- },
156
- subscribeSecondInstance(listener) {
157
- // Electron passes (event, argv, cwd); Flight wants just argv.
158
- const handler = (...args) => listener(args[1] ?? []);
159
- app.on('second-instance', handler);
160
- return () => app.removeListener('second-instance', handler);
161
- },
162
- };
110
+ });
111
+ }
112
+ function createElectronRecentDocumentsBackend(electron) {
113
+ return createEntity({
114
+ addRecentDocument: (path) => electron.app.addRecentDocument(path),
115
+ clearRecentDocuments: () => electron.app.clearRecentDocuments(),
116
+ });
163
117
  }
164
118
  function toElectronPathName(kind) {
165
119
  if (kind === 'logs')
@@ -1 +1 @@
1
- {"version":3,"file":"electronApp.js","sourceRoot":"","sources":["../src/electronApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electronApp.js","sourceRoot":"","sources":["../src/electronApp.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
- import type { ClipboardBackend, ElectronApi } from '@flighthq/types/contract';
2
- export declare function createElectronClipboardBackend(electron: ElectronApi): ClipboardBackend;
1
+ import type { ClipboardBookmarkBackend, ClipboardFormatsBackend, ClipboardImageBackend, ClipboardTextBackend, ElectronApi } from '@flighthq/types/contract';
2
+ type ElectronClipboardBackend = ClipboardBookmarkBackend & ClipboardFormatsBackend & ClipboardImageBackend & ClipboardTextBackend;
3
+ export declare function createElectronClipboardBackend(electron: ElectronApi): ElectronClipboardBackend;
4
+ export {};
3
5
  //# sourceMappingURL=electronClipboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"electronClipboard.d.ts","sourceRoot":"","sources":["../src/electronClipboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAqB,WAAW,EAAyB,MAAM,0BAA0B,CAAC;AAKxH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,WAAW,GAAG,gBAAgB,CA6KtF"}
1
+ {"version":3,"file":"electronClipboard.d.ts","sourceRoot":"","sources":["../src/electronClipboard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EAGZ,MAAM,0BAA0B,CAAC;AAElC,KAAK,wBAAwB,GAAG,wBAAwB,GACtD,uBAAuB,GACvB,qBAAqB,GACrB,oBAAoB,CAAC;AAKvB,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,WAAW,GAAG,wBAAwB,CA6J9F"}
@@ -1,9 +1,10 @@
1
- // Maps Flight's ClipboardBackend onto Electron's synchronous clipboard module, adapting to the
2
- // async Promise contract. Images cross the seam as data URLs (Flight's convention), converted via
3
- // nativeImage. Reads resolve to sentinels ('' / null / false) on failure rather than throwing.
1
+ import { createEntity } from '@flighthq/entity/contract';
2
+ // Maps Flight's clipboard capabilities onto Electron's synchronous clipboard module, adapting to
3
+ // the async Promise contracts. Images cross the seam as data URLs (Flight's convention), converted
4
+ // via nativeImage. Reads resolve to sentinels ('' / null / false) on failure rather than throwing.
4
5
  export function createElectronClipboardBackend(electron) {
5
6
  const cb = electron.clipboard;
6
- return {
7
+ return createEntity({
7
8
  async readText() {
8
9
  try {
9
10
  return cb.readText();
@@ -170,22 +171,6 @@ export function createElectronClipboardBackend(electron) {
170
171
  return false;
171
172
  }
172
173
  },
173
- async readFiles() {
174
- // Electron's clipboard has no first-class file-list flavor; report none.
175
- return [];
176
- },
177
- async writeFiles() {
178
- // Electron's clipboard has no first-class file-list flavor; report unsupported.
179
- return false;
180
- },
181
- getChangeCount() {
182
- // Electron does not expose a clipboard change counter; -1 sentinel per the contract.
183
- return -1;
184
- },
185
- subscribeClipboardChange() {
186
- // Electron emits no clipboard-change event; inert unsubscribe.
187
- return () => { };
188
- },
189
174
  async clear() {
190
175
  try {
191
176
  cb.clear();
@@ -195,7 +180,7 @@ export function createElectronClipboardBackend(electron) {
195
180
  return false;
196
181
  }
197
182
  },
198
- };
183
+ });
199
184
  }
200
185
  // Maps a MIME/flavor string to the keyed field Electron's clipboard.write accepts. Unknown flavors
201
186
  // fall back to the plain-text slot.
@@ -1 +1 @@
1
- {"version":3,"file":"electronClipboard.js","sourceRoot":"","sources":["../src/electronClipboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electronClipboard.js","sourceRoot":"","sources":["../src/electronClipboard.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
- import type { DialogBackend, ElectronApi } from '@flighthq/types/contract';
2
- export declare function createElectronDialogBackend(electron: ElectronApi): DialogBackend;
1
+ import type { DirectoryOpenDialogBackend, ElectronApi, Entity, FileOpenDialogBackend, FileSaveDialogBackend, MessageDialogBackend } from '@flighthq/types/contract';
2
+ export declare function createElectronDirectoryOpenDialogBackend(electron: ElectronApi): DirectoryOpenDialogBackend & Entity;
3
+ export declare function createElectronFileOpenDialogBackend(electron: ElectronApi): FileOpenDialogBackend & Entity;
4
+ export declare function createElectronFileSaveDialogBackend(electron: ElectronApi): FileSaveDialogBackend & Entity;
5
+ export declare function createElectronMessageDialogBackend(electron: ElectronApi): MessageDialogBackend;
3
6
  //# sourceMappingURL=electronDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"electronDialog.d.ts","sourceRoot":"","sources":["../src/electronDialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAoB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAM7F,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,WAAW,GAAG,aAAa,CAoEhF"}
1
+ {"version":3,"file":"electronDialog.d.ts","sourceRoot":"","sources":["../src/electronDialog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,0BAA0B,EAE1B,WAAW,EACX,MAAM,EAGN,qBAAqB,EAErB,qBAAqB,EAErB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,wCAAwC,CAAC,QAAQ,EAAE,WAAW,GAAG,0BAA0B,GAAG,MAAM,CAmBnH;AAED,wBAAgB,mCAAmC,CAAC,QAAQ,EAAE,WAAW,GAAG,qBAAqB,GAAG,MAAM,CAwBzG;AAED,wBAAgB,mCAAmC,CAAC,QAAQ,EAAE,WAAW,GAAG,qBAAqB,GAAG,MAAM,CAkBzG;AAID,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,WAAW,GAAG,oBAAoB,CAkC9F"}