@flighthq/dialog 0.5.1-next.658.9cb44d7 → 0.5.1-next.685.f72fc7f

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/README.md CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/dialog`. The `@fligh
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/dialog@0.5.1-next.658.9cb44d7](https://github.com/flighthq/flight/tree/9cb44d76b981adad2503d5e62207be99adb35c55/packages/dialog)
17
- - [License](https://github.com/flighthq/flight/blob/9cb44d76b981adad2503d5e62207be99adb35c55/LICENSE.md)
16
+ - [Source for @flighthq/dialog@0.5.1-next.685.f72fc7f](https://github.com/flighthq/flight/tree/f72fc7feaa9653d950f39c7d2fe6365f48e82e51/packages/dialog)
17
+ - [License](https://github.com/flighthq/flight/blob/f72fc7feaa9653d950f39c7d2fe6365f48e82e51/LICENSE.md)
package/dist/dialog.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { HasDialogMessage, HasDialogPrompt, MessageDialogBackend, MessageDi
2
2
  export declare const webMessageDialogBackend: MessageDialogBackend;
3
3
  export declare const webPromptDialogBackend: PromptDialogBackend;
4
4
  export declare function showConfirmDialog(host: HasDialogMessage, options: Readonly<MessageDialogOptions>): Promise<boolean>;
5
- export declare function showErrorBox(host: HasDialogMessage, title: string, content: string): Promise<MessageDialogResult>;
5
+ export declare function showErrorBox(host: HasDialogMessage, title: string, content: string, signal?: AbortSignal): Promise<MessageDialogResult>;
6
6
  export declare function showErrorDialog(host: HasDialogMessage, options: Readonly<MessageDialogOptions>): Promise<MessageDialogResult>;
7
7
  export declare function showInfoDialog(host: HasDialogMessage, options: Readonly<MessageDialogOptions>): Promise<MessageDialogResult>;
8
8
  export declare function showMessageDialog(host: HasDialogMessage, options: Readonly<MessageDialogOptions>): Promise<MessageDialogResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAIlC,eAAO,MAAM,uBAAuB,sBAAkC,CAAC;AACvE,eAAO,MAAM,sBAAsB,qBAAiC,CAAC;AAwCrE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAEnH;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEjH;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAE9B"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAIlC,eAAO,MAAM,uBAAuB,sBAAkC,CAAC;AACvE,eAAO,MAAM,sBAAsB,qBAAiC,CAAC;AA2CrE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAEnH;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,mBAAmB,CAAC,CAM9B;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAE9B"}
package/dist/dialog.js CHANGED
@@ -5,6 +5,8 @@ export const webPromptDialogBackend = createWebPromptDialogBackend();
5
5
  function createWebMessageDialogBackend() {
6
6
  return {
7
7
  async confirm(options) {
8
+ if (options.signal?.aborted)
9
+ return false;
8
10
  if (typeof window === 'undefined' || typeof window.confirm !== 'function')
9
11
  return false;
10
12
  try {
@@ -16,6 +18,8 @@ function createWebMessageDialogBackend() {
16
18
  },
17
19
  async message(options) {
18
20
  const checkboxChecked = options.checkboxChecked ?? false;
21
+ if (options.signal?.aborted)
22
+ return { buttonIndex: options.cancelId ?? 0, cancelled: true, checkboxChecked };
19
23
  if (typeof window === 'undefined' || typeof window.alert !== 'function') {
20
24
  return { buttonIndex: 0, cancelled: false, checkboxChecked };
21
25
  }
@@ -32,6 +36,8 @@ function createWebMessageDialogBackend() {
32
36
  function createWebPromptDialogBackend() {
33
37
  return {
34
38
  async prompt(options) {
39
+ if (options.signal?.aborted)
40
+ return null;
35
41
  if (typeof window === 'undefined' || typeof window.prompt !== 'function')
36
42
  return null;
37
43
  try {
@@ -46,8 +52,10 @@ function createWebPromptDialogBackend() {
46
52
  export function showConfirmDialog(host, options) {
47
53
  return host.dialog.message.confirm(options);
48
54
  }
49
- export function showErrorBox(host, title, content) {
50
- return host.dialog.message.message({ kind: 'error', message: content, title });
55
+ export function showErrorBox(host, title, content, signal) {
56
+ return host.dialog.message.message(signal === undefined
57
+ ? { kind: 'error', message: content, title }
58
+ : { kind: 'error', message: content, signal, title });
51
59
  }
52
60
  export function showErrorDialog(host, options) {
53
61
  return host.dialog.message.message({ ...options, kind: 'error' });
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { DirectoryOpenDialogResult, FileDialogHandle, FileDialogHandleOperations, FileOpenDialogResult, FileSaveDialogResult, HasDialogDirectoryOpen, HasDialogFileOpen, HasDialogFileSave, OpenFileDialogOptions, SaveFileDialogOptions } from '@flighthq/types/contract';
1
+ import type { DirectoryOpenDialogResult, FileDialogHandle, FileDialogHandleOperations, FileOpenDialogResult, FileSaveDialogResult, HasDialogDirectoryOpen, HasDialogFileOpen, HasDialogFileSave, OpenDirectoryDialogOptions, OpenFileDialogOptions, SaveFileDialogOptions } from '@flighthq/types/contract';
2
2
  export declare function createFileDialogHandle(kind: FileDialogHandle['kind'], name: string, path: string | null, operations?: FileDialogHandleOperations | null): FileDialogHandle;
3
3
  export declare function getFileDialogHandleOperations(handle: Readonly<FileDialogHandle>): Readonly<FileDialogHandleOperations> | null;
4
- export declare function showOpenDirectoryDialog(host: HasDialogDirectoryOpen): Promise<DirectoryOpenDialogResult>;
4
+ export declare function showOpenDirectoryDialog(host: HasDialogDirectoryOpen, options?: Readonly<OpenDirectoryDialogOptions>): Promise<DirectoryOpenDialogResult>;
5
5
  export declare function showOpenFileDialog(host: HasDialogFileOpen, options: Readonly<OpenFileDialogOptions>): Promise<FileOpenDialogResult>;
6
6
  export declare function showSaveFileDialog(host: HasDialogFileSave, options: Readonly<SaveFileDialogOptions>): Promise<FileSaveDialogResult>;
7
7
  //# sourceMappingURL=fileDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileDialog.d.ts","sourceRoot":"","sources":["../src/fileDialog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,gBAAgB,EAChB,0BAA0B,EAE1B,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,UAAU,GAAE,0BAA0B,GAAG,IAAW,GACnD,gBAAgB,CAMlB;AAID,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GACjC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAG7C;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAExG;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GACvC,OAAO,CAAC,oBAAoB,CAAC,CAE/B;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GACvC,OAAO,CAAC,oBAAoB,CAAC,CAE/B"}
1
+ {"version":3,"file":"fileDialog.d.ts","sourceRoot":"","sources":["../src/fileDialog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,gBAAgB,EAChB,0BAA0B,EAE1B,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,UAAU,GAAE,0BAA0B,GAAG,IAAW,GACnD,gBAAgB,CAMlB;AAID,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GACjC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAG7C;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,sBAAsB,EAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,yBAAyB,CAAC,CAEpC;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GACvC,OAAO,CAAC,oBAAoB,CAAC,CAE/B;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GACvC,OAAO,CAAC,oBAAoB,CAAC,CAE/B"}
@@ -15,8 +15,8 @@ export function getFileDialogHandleOperations(handle) {
15
15
  const runtime = handle[EntityRuntimeKey];
16
16
  return runtime?.operations ?? null;
17
17
  }
18
- export function showOpenDirectoryDialog(host) {
19
- return host.dialog.directoryOpen.open();
18
+ export function showOpenDirectoryDialog(host, options) {
19
+ return options === undefined ? host.dialog.directoryOpen.open() : host.dialog.directoryOpen.open(options);
20
20
  }
21
21
  export function showOpenFileDialog(host, options) {
22
22
  return host.dialog.fileOpen.open(options);
@@ -1 +1 @@
1
- {"version":3,"file":"fileDialog.js","sourceRoot":"","sources":["../src/fileDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAc9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,kGAAkG;AAClG,kGAAkG;AAClG,MAAM,UAAU,sBAAsB,CACpC,IAA8B,EAC9B,IAAY,EACZ,IAAmB,EACnB,aAAgD,IAAI;IAEpD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAqB,CAAC;IACtE,MAAM,OAAO,GAAG,mBAAmB,EAA6B,CAAC;IACjE,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAChC,MAAM,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,qGAAqG;AACrG,iGAAiG;AACjG,MAAM,UAAU,6BAA6B,CAC3C,MAAkC;IAElC,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAwC,CAAC;IAChF,OAAO,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAA4B;IAClE,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAuB,EACvB,OAAwC;IAExC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAuB,EACvB,OAAwC;IAExC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"fileDialog.js","sourceRoot":"","sources":["../src/fileDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAe9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,kGAAkG;AAClG,kGAAkG;AAClG,MAAM,UAAU,sBAAsB,CACpC,IAA8B,EAC9B,IAAY,EACZ,IAAmB,EACnB,aAAgD,IAAI;IAEpD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAqB,CAAC;IACtE,MAAM,OAAO,GAAG,mBAAmB,EAA6B,CAAC;IACjE,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAChC,MAAM,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,qGAAqG;AACrG,iGAAiG;AACjG,MAAM,UAAU,6BAA6B,CAC3C,MAAkC;IAElC,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAwC,CAAC;IAChF,OAAO,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,IAA4B,EAC5B,OAA8C;IAE9C,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5G,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAuB,EACvB,OAAwC;IAExC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAuB,EACvB,OAAwC;IAExC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/dialog",
3
- "version": "0.5.1-next.658.9cb44d7",
3
+ "version": "0.5.1-next.685.f72fc7f",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,8 +38,8 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/entity": "0.5.1-next.658.9cb44d7",
42
- "@flighthq/types": "0.5.1-next.658.9cb44d7"
41
+ "@flighthq/entity": "0.5.1-next.685.f72fc7f",
42
+ "@flighthq/types": "0.5.1-next.685.f72fc7f"
43
43
  },
44
44
  "devDependencies": {
45
45
  "typescript": "^5.3.0"
@@ -52,6 +52,14 @@ describe('showConfirmDialog', () => {
52
52
  it('delegates confirmation through the explicit message slot', async () => {
53
53
  expect(await showConfirmDialog(fakeHost(), { message: 'sure?' })).toBe(true);
54
54
  });
55
+
56
+ it('forwards a live signal through the explicit message slot', async () => {
57
+ const confirm = vi.fn(async () => true);
58
+ const host = { dialog: { message: { confirm, message: vi.fn() } } };
59
+ const signal = new AbortController().signal;
60
+ await showConfirmDialog(host, { message: 'sure?', signal });
61
+ expect(confirm).toHaveBeenCalledWith({ message: 'sure?', signal });
62
+ });
55
63
  });
56
64
 
57
65
  describe('showErrorBox', () => {
@@ -93,6 +101,14 @@ describe('showPromptDialog', () => {
93
101
  expect(typeof (await webMessageDialogBackend.confirm({ message: 'sure?' }))).toBe('boolean');
94
102
  expect(webPromptDialogBackend.prompt({ message: 'name?' })).toBeInstanceOf(Promise);
95
103
  });
104
+
105
+ it('does not open the synchronous browser prompt when already aborted', async () => {
106
+ const prompt = vi.spyOn(window, 'prompt');
107
+ const controller = new AbortController();
108
+ controller.abort();
109
+ await expect(webPromptDialogBackend.prompt({ message: 'name?', signal: controller.signal })).resolves.toBeNull();
110
+ expect(prompt).not.toHaveBeenCalled();
111
+ });
96
112
  });
97
113
 
98
114
  describe('showWarningDialog', () => {
@@ -75,12 +75,24 @@ describe('showOpenDirectoryDialog', () => {
75
75
  };
76
76
  expect((await showOpenDirectoryDialog(host)).outcome).toBe('runtime-unavailable');
77
77
  });
78
+
79
+ it('forwards cancellation options through the independent capability slot', async () => {
80
+ const open = vi.fn(async () => ({ outcome: 'cancelled' as const }));
81
+ const host = { dialog: { directoryOpen: createEntity({ open }) } };
82
+ const signal = new AbortController().signal;
83
+ await showOpenDirectoryDialog(host, { signal });
84
+ expect(open).toHaveBeenCalledWith({ signal });
85
+ });
78
86
  });
79
87
 
80
88
  describe('showOpenFileDialog', () => {
81
89
  it('routes file selection through its independent capability slot', async () => {
82
- const result = await showOpenFileDialog(fakeHost(), { multiple: true });
90
+ const signal = new AbortController().signal;
91
+ const host = fakeHost();
92
+ const open = vi.spyOn(host.dialog.fileOpen, 'open');
93
+ const result = await showOpenFileDialog(host, { multiple: true, signal });
83
94
  expect(result.outcome === 'selected' ? result.handles.length : 0).toBe(2);
95
+ expect(open).toHaveBeenCalledWith({ multiple: true, signal });
84
96
  });
85
97
 
86
98
  it('preserves the file-open-specific security outcome', async () => {