@flighthq/screen 0.5.1-next.1069.554a2ac → 0.5.1-next.1201.9b49dee

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/screen`. 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/screen@0.5.1-next.1069.554a2ac](https://github.com/flighthq/flight/tree/554a2acc3fecf189b89b0729308ff890a15c21cc/packages/screen)
17
- - [License](https://github.com/flighthq/flight/blob/554a2acc3fecf189b89b0729308ff890a15c21cc/LICENSE.md)
16
+ - [Source for @flighthq/screen@0.5.1-next.1201.9b49dee](https://github.com/flighthq/flight/tree/9b49dee3f22f6b2838c3d237edcc77bca65734f2/packages/screen)
17
+ - [License](https://github.com/flighthq/flight/blob/9b49dee3f22f6b2838c3d237edcc77bca65734f2/LICENSE.md)
package/dist/screen.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import type { EntityConstruction, HasScreenChange, HasScreenDetails, HasScreenPermissionChange, HasScreenQuery, RectangleLike, ScreenInfo, ScreenMode, ScreenPermissionChange, ScreenPermissionState, ScreenSignals, Vector2Like } from '@flighthq/types/contract';
2
- export declare function attachScreenPermissionChange(host: HasScreenPermissionChange, permissionChange: ScreenPermissionChange): void;
3
- export declare function attachScreenSignals(host: HasScreenChange, signals: ScreenSignals): void;
1
+ import type { EntityConstruction, HostScreenChangeProvider, HostScreenDetailsProvider, HostScreenPermissionChangeProvider, HostScreenQueryProvider, RectangleLike, ScreenInfo, ScreenMode, ScreenPermissionChange, ScreenPermissionState, ScreenSignals, Vector2Like } from '@flighthq/types/contract';
2
+ export declare function attachScreenPermissionChange(hostScreenPermissionChange: Readonly<HostScreenPermissionChangeProvider>, permissionChange: ScreenPermissionChange): void;
3
+ export declare function attachScreenSignals(hostScreenChange: Readonly<HostScreenChangeProvider>, signals: ScreenSignals): void;
4
4
  export declare function createScreenInfo(): ScreenInfo;
5
5
  export declare function createScreenMode(): ScreenMode;
6
6
  export declare function createScreenPermissionChange(): ScreenPermissionChange;
@@ -27,7 +27,7 @@ export declare function dipToScreenRect(screen: Readonly<ScreenInfo>, rect: Read
27
27
  };
28
28
  export declare function disposeScreenPermissionChange(permissionChange: ScreenPermissionChange): void;
29
29
  export declare function disposeScreenSignals(signals: ScreenSignals): void;
30
- export declare function getPrimaryScreen(host: HasScreenQuery, out: ScreenInfo): ScreenInfo;
30
+ export declare function getPrimaryScreen(hostScreenQuery: Readonly<HostScreenQueryProvider>, out: ScreenInfo): ScreenInfo;
31
31
  export declare function getScreenBounds(screen: Readonly<ScreenInfo>, out: {
32
32
  x: number;
33
33
  y: number;
@@ -39,21 +39,21 @@ export declare function getScreenBounds(screen: Readonly<ScreenInfo>, out: {
39
39
  width: number;
40
40
  height: number;
41
41
  };
42
- export declare function getScreenById(host: HasScreenQuery, id: number, out: ScreenInfo): ScreenInfo | null;
43
- export declare function getScreenContainingRect(host: HasScreenQuery, rect: Readonly<RectangleLike>, out: ScreenInfo): ScreenInfo;
42
+ export declare function getScreenById(hostScreenQuery: Readonly<HostScreenQueryProvider>, id: number, out: ScreenInfo): ScreenInfo | null;
43
+ export declare function getScreenContainingRect(hostScreenQuery: Readonly<HostScreenQueryProvider>, rect: Readonly<RectangleLike>, out: ScreenInfo): ScreenInfo;
44
44
  export declare function getScreenCurrentMode(screen: Readonly<ScreenInfo>, out: ScreenMode): ScreenMode;
45
- export declare function getScreenCursorPosition(host: HasScreenQuery, out: {
45
+ export declare function getScreenCursorPosition(hostScreenQuery: Readonly<HostScreenQueryProvider>, out: {
46
46
  x: number;
47
47
  y: number;
48
48
  }): {
49
49
  x: number;
50
50
  y: number;
51
51
  };
52
- export declare function getScreenCursorScreen(host: HasScreenQuery, out: ScreenInfo): ScreenInfo;
53
- export declare function getScreenDetailPermission(host: HasScreenDetails): Promise<ScreenPermissionState>;
54
- export declare function getScreenNearestPoint(host: HasScreenQuery, point: Readonly<Vector2Like>, out: ScreenInfo): ScreenInfo;
55
- export declare function getScreenNearestRect(host: HasScreenQuery, rect: Readonly<RectangleLike>, out: ScreenInfo): ScreenInfo;
56
- export declare function getScreens(host: HasScreenQuery, out: ScreenInfo[]): ScreenInfo[];
52
+ export declare function getScreenCursorScreen(hostScreenQuery: Readonly<HostScreenQueryProvider>, out: ScreenInfo): ScreenInfo;
53
+ export declare function getScreenDetailPermission(hostScreenDetails: Readonly<HostScreenDetailsProvider>): Promise<ScreenPermissionState>;
54
+ export declare function getScreenNearestPoint(hostScreenQuery: Readonly<HostScreenQueryProvider>, point: Readonly<Vector2Like>, out: ScreenInfo): ScreenInfo;
55
+ export declare function getScreenNearestRect(hostScreenQuery: Readonly<HostScreenQueryProvider>, rect: Readonly<RectangleLike>, out: ScreenInfo): ScreenInfo;
56
+ export declare function getScreens(hostScreenQuery: Readonly<HostScreenQueryProvider>, out: ScreenInfo[]): ScreenInfo[];
57
57
  export declare function getScreenWorkArea(screen: Readonly<ScreenInfo>, out: {
58
58
  x: number;
59
59
  y: number;
@@ -69,7 +69,7 @@ export declare function initializeScreenInfo(out: EntityConstruction<ScreenInfo>
69
69
  export declare function initializeScreenMode(out: EntityConstruction<ScreenMode>): void;
70
70
  export declare function initializeScreenPermissionChange(out: EntityConstruction<ScreenPermissionChange>): void;
71
71
  export declare function initializeScreenSignals(out: EntityConstruction<ScreenSignals>): void;
72
- export declare function requestScreenDetails(host: HasScreenDetails): Promise<boolean>;
72
+ export declare function requestScreenDetails(hostScreenDetails: Readonly<HostScreenDetailsProvider>): Promise<boolean>;
73
73
  export declare function screenToDipPoint(screen: Readonly<ScreenInfo>, point: Readonly<Vector2Like>, out: {
74
74
  x: number;
75
75
  y: number;
@@ -1 +1 @@
1
- {"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../src/screen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,aAAa,EACb,UAAU,EACV,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,yBAAyB,EAC/B,gBAAgB,EAAE,sBAAsB,GACvC,IAAI,CAIN;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAQvF;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAI7C;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAI7C;AAED,wBAAgB,4BAA4B,IAAI,sBAAsB,CAIrE;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CAInD;AAED,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,sBAAsB,GAAG,IAAI,CAG3F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAGhE;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC5B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAI1B;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC5B,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC7B,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAMzD;AAED,wBAAgB,6BAA6B,CAAC,gBAAgB,EAAE,sBAAsB,GAAG,IAAI,CAG5F;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAKjE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAElF;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC5B,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAMzD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAQlG;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC7B,GAAG,EAAE,UAAU,GACd,UAAU,CAmBZ;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAO9F;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAErH;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAGvF;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAEhG;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CA6BrH;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAgBrH;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAEhF;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC5B,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAMzD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,CAAC,UAAU,CAAC,GAAG,IAAI,CA0B9E;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,CAAC,UAAU,CAAC,GAAG,IAAI,CAM9E;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAEtG;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,kBAAkB,CAAC,aAAa,CAAC,GAAG,IAAI,CAIpF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAE7E;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC5B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAI1B;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC5B,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC7B,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAMzD"}
1
+ {"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../src/screen.ts"],"names":[],"mappings":"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"}
package/dist/screen.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { allocateEntity, finishEntity, stripEntityRuntime } from '@flighthq/entity/contract';
2
2
  import { clearSignal, createSignal, emitSignal } from '@flighthq/signals/contract';
3
- export function attachScreenPermissionChange(host, permissionChange) {
3
+ export function attachScreenPermissionChange(hostScreenPermissionChange, permissionChange) {
4
4
  detachScreenPermissionChange(permissionChange);
5
- const unsubscribe = host.screen.permissionChange.subscribe((state) => emitSignal(permissionChange.onChange, state));
5
+ const unsubscribe = hostScreenPermissionChange.subscribe((state) => emitSignal(permissionChange.onChange, state));
6
6
  _permissionSubscriptions.set(permissionChange, unsubscribe);
7
7
  }
8
- export function attachScreenSignals(host, signals) {
8
+ export function attachScreenSignals(hostScreenChange, signals) {
9
9
  detachScreenSignals(signals);
10
- const unsubscribe = host.screen.change.subscribe((event) => {
10
+ const unsubscribe = hostScreenChange.subscribe((event) => {
11
11
  if (event.kind === 'ScreenAdded')
12
12
  emitSignal(signals.onScreenAdded, event.screen);
13
13
  else if (event.kind === 'ScreenRemoved')
@@ -67,8 +67,8 @@ export function disposeScreenSignals(signals) {
67
67
  clearSignal(signals.onScreenMetricsChanged);
68
68
  clearSignal(signals.onScreenRemoved);
69
69
  }
70
- export function getPrimaryScreen(host, out) {
71
- return host.screen.query.getPrimaryScreen(out);
70
+ export function getPrimaryScreen(hostScreenQuery, out) {
71
+ return hostScreenQuery.getPrimaryScreen(out);
72
72
  }
73
73
  export function getScreenBounds(screen, out) {
74
74
  out.x = screen.x;
@@ -77,20 +77,20 @@ export function getScreenBounds(screen, out) {
77
77
  out.height = screen.height;
78
78
  return out;
79
79
  }
80
- export function getScreenById(host, id, out) {
80
+ export function getScreenById(hostScreenQuery, id, out) {
81
81
  const screens = _scratchScreens;
82
82
  screens.length = 0;
83
- getScreens(host, screens);
83
+ getScreens(hostScreenQuery, screens);
84
84
  const found = screens.find((screen) => screen.id === id);
85
85
  if (found === undefined)
86
86
  return null;
87
87
  copyScreenInfo(found, out);
88
88
  return out;
89
89
  }
90
- export function getScreenContainingRect(host, rect, out) {
90
+ export function getScreenContainingRect(hostScreenQuery, rect, out) {
91
91
  const screens = _scratchScreens;
92
92
  screens.length = 0;
93
- getScreens(host, screens);
93
+ getScreens(hostScreenQuery, screens);
94
94
  if (screens.length === 0)
95
95
  return fillDefaultScreenInfo(out);
96
96
  let best = screens[0];
@@ -105,7 +105,7 @@ export function getScreenContainingRect(host, rect, out) {
105
105
  }
106
106
  }
107
107
  if (bestOverlap <= 0)
108
- return getScreenNearestPoint(host, rectCenter(rect), out);
108
+ return getScreenNearestPoint(hostScreenQuery, rectCenter(rect), out);
109
109
  copyScreenInfo(best, out);
110
110
  return out;
111
111
  }
@@ -117,20 +117,20 @@ export function getScreenCurrentMode(screen, out) {
117
117
  out.pixelFormat = '';
118
118
  return out;
119
119
  }
120
- export function getScreenCursorPosition(host, out) {
121
- return host.screen.query.getCursorPosition(out);
120
+ export function getScreenCursorPosition(hostScreenQuery, out) {
121
+ return hostScreenQuery.getCursorPosition(out);
122
122
  }
123
- export function getScreenCursorScreen(host, out) {
124
- getScreenCursorPosition(host, _scratchPoint);
125
- return getScreenNearestPoint(host, _scratchPoint, out);
123
+ export function getScreenCursorScreen(hostScreenQuery, out) {
124
+ getScreenCursorPosition(hostScreenQuery, _scratchPoint);
125
+ return getScreenNearestPoint(hostScreenQuery, _scratchPoint, out);
126
126
  }
127
- export function getScreenDetailPermission(host) {
128
- return host.screen.details.queryPermission();
127
+ export function getScreenDetailPermission(hostScreenDetails) {
128
+ return hostScreenDetails.queryPermission();
129
129
  }
130
- export function getScreenNearestPoint(host, point, out) {
130
+ export function getScreenNearestPoint(hostScreenQuery, point, out) {
131
131
  const screens = _scratchScreens;
132
132
  screens.length = 0;
133
- getScreens(host, screens);
133
+ getScreens(hostScreenQuery, screens);
134
134
  if (screens.length === 0)
135
135
  return fillDefaultScreenInfo(out);
136
136
  for (const screen of screens) {
@@ -156,10 +156,10 @@ export function getScreenNearestPoint(host, point, out) {
156
156
  copyScreenInfo(best, out);
157
157
  return out;
158
158
  }
159
- export function getScreenNearestRect(host, rect, out) {
159
+ export function getScreenNearestRect(hostScreenQuery, rect, out) {
160
160
  const screens = _scratchScreens;
161
161
  screens.length = 0;
162
- getScreens(host, screens);
162
+ getScreens(hostScreenQuery, screens);
163
163
  const containing = screens.find((screen) => rect.x >= screen.x &&
164
164
  rect.y >= screen.y &&
165
165
  rect.x + rect.width <= screen.x + screen.width &&
@@ -168,10 +168,10 @@ export function getScreenNearestRect(host, rect, out) {
168
168
  copyScreenInfo(containing, out);
169
169
  return out;
170
170
  }
171
- return getScreenNearestPoint(host, rectCenter(rect), out);
171
+ return getScreenNearestPoint(hostScreenQuery, rectCenter(rect), out);
172
172
  }
173
- export function getScreens(host, out) {
174
- return host.screen.query.getScreens(out);
173
+ export function getScreens(hostScreenQuery, out) {
174
+ return hostScreenQuery.getScreens(out);
175
175
  }
176
176
  export function getScreenWorkArea(screen, out) {
177
177
  out.x = screen.x;
@@ -222,8 +222,8 @@ export function initializeScreenSignals(out) {
222
222
  out.onScreenMetricsChanged = createSignal();
223
223
  out.onScreenRemoved = createSignal();
224
224
  }
225
- export function requestScreenDetails(host) {
226
- return host.screen.details.request();
225
+ export function requestScreenDetails(hostScreenDetails) {
226
+ return hostScreenDetails.request();
227
227
  }
228
228
  export function screenToDipPoint(screen, point, out) {
229
229
  out.x = point.x / screen.scaleFactor + screen.x;
@@ -1 +1 @@
1
- {"version":3,"file":"screen.js","sourceRoot":"","sources":["../src/screen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screen.js","sourceRoot":"","sources":["../src/screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAgBnF,MAAM,UAAU,4BAA4B,CAC1C,0BAAwE,EACxE,gBAAwC;IAExC,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAClH,wBAAwB,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,gBAAoD,EACpD,OAAsB;IAEtB,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;YAAE,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;aAC7E,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;YAAE,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;;YACtF,UAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,cAAc,EAAc,CAAC;IACzC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,cAAc,EAAc,CAAC;IACzC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,MAAM,GAAG,GAAG,cAAc,EAA0B,CAAC;IACrD,gCAAgC,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,GAAG,cAAc,EAAiB,CAAC;IAC5C,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,gBAAwC;IACnF,wBAAwB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;IACnD,wBAAwB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAsB;IACxD,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;IACtC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAA4B,EAC5B,KAA4B,EAC5B,GAA6B;IAE7B,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;IAClD,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;IAClD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAA4B,EAC5B,IAA6B,EAC7B,GAA4D;IAE5D,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;IACjD,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;IACjD,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC;IAC5C,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;IAC9C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,gBAAwC;IACpF,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;IAC/C,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAsB;IACzD,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACnC,WAAW,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC5C,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,eAAkD,EAAE,GAAe;IAClG,OAAO,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAA4B,EAC5B,GAA4D;IAE5D,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACjB,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACjB,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACzB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,eAAkD,EAClD,EAAU,EACV,GAAe;IAEf,MAAM,OAAO,GAAG,eAAe,CAAC;IAChC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACnB,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,eAAkD,EAClD,IAA6B,EAC7B,GAAe;IAEf,MAAM,OAAO,GAAG,eAAe,CAAC;IAChC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACnB,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACpH,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACpC,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;YAC1B,IAAI,GAAG,MAAM,CAAC;YACd,WAAW,GAAG,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;IACD,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,qBAAqB,CAAC,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3F,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAA4B,EAAE,GAAe;IAChF,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACzB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACrC,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACnC,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,eAAkD,EAClD,GAA6B;IAE7B,OAAO,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,eAAkD,EAAE,GAAe;IACvG,uBAAuB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACxD,OAAO,qBAAqB,CAAC,eAAe,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,iBAAsD;IAEtD,OAAO,iBAAiB,CAAC,eAAe,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,eAAkD,EAClD,KAA4B,EAC5B,GAAe;IAEf,MAAM,OAAO,GAAG,eAAe,CAAC;IAChC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACnB,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC5D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IACE,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;YACnB,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;YACjC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;YACnB,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAClC,CAAC;YACD,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,YAAY,GAAG,QAAQ,CAAC;IAC5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACnC,IAAI,QAAQ,GAAG,YAAY,EAAE,CAAC;YAC5B,IAAI,GAAG,MAAM,CAAC;YACd,YAAY,GAAG,QAAQ,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,eAAkD,EAClD,IAA6B,EAC7B,GAAe;IAEf,MAAM,OAAO,GAAG,eAAe,CAAC;IAChC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACnB,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAC7B,CAAC,MAAM,EAAE,EAAE,CACT,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;QAC9C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CACnD,CAAC;IACF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,qBAAqB,CAAC,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,eAAkD,EAAE,GAAiB;IAC9F,OAAO,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAA4B,EAC5B,GAA4D;IAE5D,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACjB,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACjB,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;IAC7B,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IAC/B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAmC;IACtE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACV,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACV,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACd,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACf,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;IAClB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;IACpB,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;IACtB,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;IAC9B,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACpB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACpB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IACvB,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IACxB,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IAClB,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC;IACxB,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IACtB,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;IAC3B,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACb,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;IACf,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;IACrB,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAmC;IACtE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACd,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACf,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACpB,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,GAA+C;IAC9F,GAAG,CAAC,QAAQ,GAAG,YAAY,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAsC;IAC5E,GAAG,CAAC,aAAa,GAAG,YAAY,EAAE,CAAC;IACnC,GAAG,CAAC,sBAAsB,GAAG,YAAY,EAAE,CAAC;IAC5C,GAAG,CAAC,eAAe,GAAG,YAAY,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,iBAAsD;IACzF,OAAO,iBAAiB,CAAC,OAAO,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAA4B,EAC5B,KAA4B,EAC5B,GAA6B;IAE7B,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC;IAChD,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAA4B,EAC5B,IAA6B,EAC7B,GAA4D;IAE5D,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC;IAC/C,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC;IAC/C,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC;IAC5C,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;IAC9C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,wBAAwB,GAAG,IAAI,OAAO,EAAsC,CAAC;AACnF,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAA6B,CAAC;AACtE,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACrC,MAAM,eAAe,GAAiB,EAAE,CAAC;AAEzC,SAAS,cAAc,CAAC,GAAyB,EAAE,GAAe;IAChE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAe;IAC5C,cAAc,CAAC,gBAAgB,EAAE,EAAE,GAAG,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,IAA6B;IAC/C,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;AACrE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/screen",
3
- "version": "0.5.1-next.1069.554a2ac",
3
+ "version": "0.5.1-next.1201.9b49dee",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,9 +38,9 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/entity": "0.5.1-next.1069.554a2ac",
42
- "@flighthq/signals": "0.5.1-next.1069.554a2ac",
43
- "@flighthq/types": "0.5.1-next.1069.554a2ac"
41
+ "@flighthq/entity": "0.5.1-next.1201.9b49dee",
42
+ "@flighthq/signals": "0.5.1-next.1201.9b49dee",
43
+ "@flighthq/types": "0.5.1-next.1201.9b49dee"
44
44
  },
45
45
  "devDependencies": {
46
46
  "typescript": "^5.3.0"
@@ -1,6 +1,11 @@
1
1
  import { allocateEntity, attachEntityBinding, finishEntity, getEntityBinding } from '@flighthq/entity/contract';
2
2
  import { connectSignal } from '@flighthq/signals/contract';
3
- import type { HasScreenQuery, ScreenChangeEvent, ScreenInfo, ScreenPermissionState } from '@flighthq/types/contract';
3
+ import type {
4
+ HostScreenQueryProvider,
5
+ ScreenChangeEvent,
6
+ ScreenInfo,
7
+ ScreenPermissionState,
8
+ } from '@flighthq/types/contract';
4
9
  import { EntityRuntimeKey } from '@flighthq/types/contract';
5
10
  import { describe, expect, it, vi } from 'vitest';
6
11
 
@@ -45,7 +50,7 @@ describe('attachScreenPermissionChange', () => {
45
50
  const listener = vi.fn();
46
51
  connectSignal(permissionChange.onChange, listener);
47
52
 
48
- attachScreenPermissionChange(harness.host, permissionChange);
53
+ attachScreenPermissionChange(harness.host.screen.permissionChange, permissionChange);
49
54
  harness.emit('granted');
50
55
 
51
56
  expect(listener).toHaveBeenCalledWith('granted');
@@ -69,7 +74,7 @@ describe('attachScreenSignals', () => {
69
74
  changedMetrics: { bounds: true, orientation: false, scaleFactor: true, workArea: false },
70
75
  };
71
76
 
72
- attachScreenSignals(harness.host, signals);
77
+ attachScreenSignals(harness.host.screen.change, signals);
73
78
  harness.emit({ kind: 'ScreenAdded', screen, changedMetrics: null });
74
79
  harness.emit({ kind: 'ScreenRemoved', screen, changedMetrics: null });
75
80
  harness.emit(metricsEvent);
@@ -150,7 +155,7 @@ describe('detachScreenPermissionChange', () => {
150
155
  it('unsubscribes an attachment once and remains repeatable', () => {
151
156
  const harness = createPermissionChangeHarness();
152
157
  const permissionChange = createScreenPermissionChange();
153
- attachScreenPermissionChange(harness.host, permissionChange);
158
+ attachScreenPermissionChange(harness.host.screen.permissionChange, permissionChange);
154
159
 
155
160
  detachScreenPermissionChange(permissionChange);
156
161
  detachScreenPermissionChange(permissionChange);
@@ -163,7 +168,7 @@ describe('detachScreenSignals', () => {
163
168
  it('unsubscribes an attachment once and remains repeatable', () => {
164
169
  const harness = createScreenChangeHarness();
165
170
  const signals = createScreenSignals();
166
- attachScreenSignals(harness.host, signals);
171
+ attachScreenSignals(harness.host.screen.change, signals);
167
172
 
168
173
  detachScreenSignals(signals);
169
174
  detachScreenSignals(signals);
@@ -215,7 +220,7 @@ describe('disposeScreenPermissionChange', () => {
215
220
  const harness = createPermissionChangeHarness();
216
221
  const permissionChange = createScreenPermissionChange();
217
222
  connectSignal(permissionChange.onChange, vi.fn());
218
- attachScreenPermissionChange(harness.host, permissionChange);
223
+ attachScreenPermissionChange(harness.host.screen.permissionChange, permissionChange);
219
224
 
220
225
  disposeScreenPermissionChange(permissionChange);
221
226
 
@@ -231,7 +236,7 @@ describe('disposeScreenSignals', () => {
231
236
  connectSignal(signals.onScreenAdded, vi.fn());
232
237
  connectSignal(signals.onScreenMetricsChanged, vi.fn());
233
238
  connectSignal(signals.onScreenRemoved, vi.fn());
234
- attachScreenSignals(harness.host, signals);
239
+ attachScreenSignals(harness.host.screen.change, signals);
235
240
 
236
241
  disposeScreenSignals(signals);
237
242
 
@@ -248,7 +253,7 @@ describe('getPrimaryScreen', () => {
248
253
  const host = createScreenQueryHost([primary]);
249
254
  const out = createScreenInfo();
250
255
 
251
- expect(getPrimaryScreen(host, out)).toBe(out);
256
+ expect(getPrimaryScreen(host.screen.query, out)).toBe(out);
252
257
  expect(host.screen.query.getPrimaryScreen).toHaveBeenCalledWith(out);
253
258
  expect(out).toMatchObject({ id: 3, x: 10, y: 20, width: 1920, height: 1080, isPrimary: true });
254
259
  });
@@ -269,10 +274,10 @@ describe('getScreenById', () => {
269
274
  const host = createScreenQueryHost(createSeparatedScreens());
270
275
  const out = createScreenInfo();
271
276
 
272
- getScreenById(host, 1, out);
273
- getScreenContainingRect(host, { x: 10, y: 10, width: 20, height: 20 }, out);
274
- getScreenNearestPoint(host, { x: 10, y: 10 }, out);
275
- getScreenNearestRect(host, { x: 10, y: 10, width: 20, height: 20 }, out);
277
+ getScreenById(host.screen.query, 1, out);
278
+ getScreenContainingRect(host.screen.query, { x: 10, y: 10, width: 20, height: 20 }, out);
279
+ getScreenNearestPoint(host.screen.query, { x: 10, y: 10 }, out);
280
+ getScreenNearestRect(host.screen.query, { x: 10, y: 10, width: 20, height: 20 }, out);
276
281
 
277
282
  const calls = vi.mocked(host.screen.query.getScreens).mock.calls;
278
283
  expect(calls).toHaveLength(4);
@@ -285,9 +290,9 @@ describe('getScreenById', () => {
285
290
  const host = createScreenQueryHost([first, second]);
286
291
  const out = createScreenInfo();
287
292
 
288
- expect(getScreenById(host, 20, out)).toBe(out);
293
+ expect(getScreenById(host.screen.query, 20, out)).toBe(out);
289
294
  expect(Object.entries(out)).toEqual(Object.entries(second));
290
- expect(getScreenById(host, 99, out)).toBeNull();
295
+ expect(getScreenById(host.screen.query, 99, out)).toBeNull();
291
296
  });
292
297
 
293
298
  it('preserves the destination runtime while copying public screen data', () => {
@@ -300,7 +305,7 @@ describe('getScreenById', () => {
300
305
  const sourceRuntime = source[EntityRuntimeKey];
301
306
  const outRuntime = out[EntityRuntimeKey];
302
307
 
303
- expect(getScreenById(createScreenQueryHost([source]), source.id, out)).toBe(out);
308
+ expect(getScreenById(createScreenQueryHost([source]).screen.query, source.id, out)).toBe(out);
304
309
 
305
310
  expect(Object.entries(out)).toEqual(Object.entries(source));
306
311
  expect(out[EntityRuntimeKey]).toBe(outRuntime);
@@ -316,7 +321,11 @@ describe('getScreenContainingRect', () => {
316
321
  const lowerRight = createTestScreen(2, 100, 80, 100, 100);
317
322
  const host = createScreenQueryHost([left, lowerRight]);
318
323
 
319
- const result = getScreenContainingRect(host, { x: 50, y: 50, width: 100, height: 60 }, createScreenInfo());
324
+ const result = getScreenContainingRect(
325
+ host.screen.query,
326
+ { x: 50, y: 50, width: 100, height: 60 },
327
+ createScreenInfo(),
328
+ );
320
329
 
321
330
  expect(result.id).toBe(1);
322
331
  });
@@ -324,7 +333,11 @@ describe('getScreenContainingRect', () => {
324
333
  it('falls back to the screen nearest the rectangle center when none overlap', () => {
325
334
  const host = createScreenQueryHost(createSeparatedScreens());
326
335
 
327
- const result = getScreenContainingRect(host, { x: 230, y: 20, width: 20, height: 20 }, createScreenInfo());
336
+ const result = getScreenContainingRect(
337
+ host.screen.query,
338
+ { x: 230, y: 20, width: 20, height: 20 },
339
+ createScreenInfo(),
340
+ );
328
341
 
329
342
  expect(result.id).toBe(2);
330
343
  });
@@ -332,7 +345,9 @@ describe('getScreenContainingRect', () => {
332
345
  it('fills the documented default when no screens exist', () => {
333
346
  const out = createTestScreen(99, 10, 20, 30, 40);
334
347
 
335
- expect(getScreenContainingRect(createScreenQueryHost([]), { x: 0, y: 0, width: 10, height: 10 }, out)).toBe(out);
348
+ expect(
349
+ getScreenContainingRect(createScreenQueryHost([]).screen.query, { x: 0, y: 0, width: 10, height: 10 }, out),
350
+ ).toBe(out);
336
351
  expect(Object.entries(out)).toEqual(Object.entries(createScreenInfo()));
337
352
  });
338
353
  });
@@ -353,7 +368,7 @@ describe('getScreenCursorPosition', () => {
353
368
  const host = createScreenQueryHost([], { x: -20, y: 45 });
354
369
  const out = { x: 0, y: 0 };
355
370
 
356
- expect(getScreenCursorPosition(host, out)).toBe(out);
371
+ expect(getScreenCursorPosition(host.screen.query, out)).toBe(out);
357
372
  expect(out).toEqual({ x: -20, y: 45 });
358
373
  expect(host.screen.query.getCursorPosition).toHaveBeenCalledWith(out);
359
374
  });
@@ -364,7 +379,7 @@ describe('getScreenCursorScreen', () => {
364
379
  const host = createScreenQueryHost(createSeparatedScreens(), { x: 340, y: 25 });
365
380
  const out = createScreenInfo();
366
381
 
367
- expect(getScreenCursorScreen(host, out)).toBe(out);
382
+ expect(getScreenCursorScreen(host.screen.query, out)).toBe(out);
368
383
  expect(out.id).toBe(2);
369
384
  });
370
385
  });
@@ -373,7 +388,7 @@ describe('getScreenDetailPermission', () => {
373
388
  it('returns the permission state supplied by the host', async () => {
374
389
  const host = createScreenDetailsHost('granted', true);
375
390
 
376
- await expect(getScreenDetailPermission(host)).resolves.toBe('granted');
391
+ await expect(getScreenDetailPermission(host.screen.details)).resolves.toBe('granted');
377
392
  expect(host.screen.details.queryPermission).toHaveBeenCalledOnce();
378
393
  });
379
394
  });
@@ -389,9 +404,9 @@ describe('getScreenNearestPoint', () => {
389
404
  createTestScreen(2, 0, 100, 100, 200),
390
405
  ]);
391
406
 
392
- expect(getScreenNearestPoint(horizontalHost, { x: 20, y: 30 }, createScreenInfo()).id).toBe(1);
393
- expect(getScreenNearestPoint(horizontalHost, { x: 100, y: 30 }, createScreenInfo()).id).toBe(2);
394
- expect(getScreenNearestPoint(verticalHost, { x: 30, y: 100 }, createScreenInfo()).id).toBe(2);
407
+ expect(getScreenNearestPoint(horizontalHost.screen.query, { x: 20, y: 30 }, createScreenInfo()).id).toBe(1);
408
+ expect(getScreenNearestPoint(horizontalHost.screen.query, { x: 100, y: 30 }, createScreenInfo()).id).toBe(2);
409
+ expect(getScreenNearestPoint(verticalHost.screen.query, { x: 30, y: 100 }, createScreenInfo()).id).toBe(2);
395
410
  });
396
411
 
397
412
  it('selects the nearest screen center when the point is outside every screen', () => {
@@ -401,22 +416,22 @@ describe('getScreenNearestPoint', () => {
401
416
  createTestScreen(2, 300, 200, 100, 100),
402
417
  ]);
403
418
 
404
- expect(getScreenNearestPoint(host, { x: 180, y: 50 }, createScreenInfo()).id).toBe(1);
405
- expect(getScreenNearestPoint(host, { x: 240, y: 50 }, createScreenInfo()).id).toBe(2);
406
- expect(getScreenNearestPoint(diagonalHost, { x: 200, y: 100 }, createScreenInfo()).id).toBe(1);
407
- expect(getScreenNearestPoint(diagonalHost, { x: 200, y: 180 }, createScreenInfo()).id).toBe(2);
419
+ expect(getScreenNearestPoint(host.screen.query, { x: 180, y: 50 }, createScreenInfo()).id).toBe(1);
420
+ expect(getScreenNearestPoint(host.screen.query, { x: 240, y: 50 }, createScreenInfo()).id).toBe(2);
421
+ expect(getScreenNearestPoint(diagonalHost.screen.query, { x: 200, y: 100 }, createScreenInfo()).id).toBe(1);
422
+ expect(getScreenNearestPoint(diagonalHost.screen.query, { x: 200, y: 180 }, createScreenInfo()).id).toBe(2);
408
423
  });
409
424
 
410
425
  it('keeps the first screen when center distances tie', () => {
411
426
  const host = createScreenQueryHost(createSeparatedScreens());
412
427
 
413
- expect(getScreenNearestPoint(host, { x: 200, y: 50 }, createScreenInfo()).id).toBe(1);
428
+ expect(getScreenNearestPoint(host.screen.query, { x: 200, y: 50 }, createScreenInfo()).id).toBe(1);
414
429
  });
415
430
 
416
431
  it('fills the documented default when no screens exist', () => {
417
432
  const out = createTestScreen(99, 10, 20, 30, 40);
418
433
 
419
- expect(getScreenNearestPoint(createScreenQueryHost([]), { x: 5, y: 5 }, out)).toBe(out);
434
+ expect(getScreenNearestPoint(createScreenQueryHost([]).screen.query, { x: 5, y: 5 }, out)).toBe(out);
420
435
  expect(Object.entries(out)).toEqual(Object.entries(createScreenInfo()));
421
436
  });
422
437
  });
@@ -425,7 +440,11 @@ describe('getScreenNearestRect', () => {
425
440
  it('prefers a screen that fully contains the rectangle', () => {
426
441
  const host = createScreenQueryHost(createSeparatedScreens());
427
442
 
428
- const result = getScreenNearestRect(host, { x: 320, y: 20, width: 40, height: 50 }, createScreenInfo());
443
+ const result = getScreenNearestRect(
444
+ host.screen.query,
445
+ { x: 320, y: 20, width: 40, height: 50 },
446
+ createScreenInfo(),
447
+ );
429
448
 
430
449
  expect(result.id).toBe(2);
431
450
  });
@@ -433,7 +452,11 @@ describe('getScreenNearestRect', () => {
433
452
  it('falls back to the screen nearest the rectangle center', () => {
434
453
  const host = createScreenQueryHost(createSeparatedScreens());
435
454
 
436
- const result = getScreenNearestRect(host, { x: 170, y: 20, width: 20, height: 20 }, createScreenInfo());
455
+ const result = getScreenNearestRect(
456
+ host.screen.query,
457
+ { x: 170, y: 20, width: 20, height: 20 },
458
+ createScreenInfo(),
459
+ );
437
460
 
438
461
  expect(result.id).toBe(1);
439
462
  });
@@ -444,8 +467,8 @@ describe('getScreenNearestRect', () => {
444
467
  const host = createScreenQueryHost([left, right]);
445
468
  const rect = { x: 50, y: 10, width: 100, height: 50 };
446
469
 
447
- expect(getScreenContainingRect(host, rect, createScreenInfo()).id).toBe(1);
448
- expect(getScreenNearestRect(host, rect, createScreenInfo()).id).toBe(2);
470
+ expect(getScreenContainingRect(host.screen.query, rect, createScreenInfo()).id).toBe(1);
471
+ expect(getScreenNearestRect(host.screen.query, rect, createScreenInfo()).id).toBe(2);
449
472
  });
450
473
 
451
474
  it('honors inclusive rectangle boundaries and full extents when testing containment', () => {
@@ -462,19 +485,28 @@ describe('getScreenNearestRect', () => {
462
485
  createTestScreen(2, 0, 30, 100, 100),
463
486
  ]);
464
487
 
465
- expect(getScreenNearestRect(boundsHost, { x: 0, y: 0, width: 100, height: 100 }, createScreenInfo()).id).toBe(1);
466
488
  expect(
467
- getScreenNearestRect(horizontalExtentHost, { x: 40, y: 0, width: 60, height: 100 }, createScreenInfo()).id,
489
+ getScreenNearestRect(boundsHost.screen.query, { x: 0, y: 0, width: 100, height: 100 }, createScreenInfo()).id,
490
+ ).toBe(1);
491
+ expect(
492
+ getScreenNearestRect(
493
+ horizontalExtentHost.screen.query,
494
+ { x: 40, y: 0, width: 60, height: 100 },
495
+ createScreenInfo(),
496
+ ).id,
468
497
  ).toBe(2);
469
498
  expect(
470
- getScreenNearestRect(verticalExtentHost, { x: 0, y: 40, width: 100, height: 60 }, createScreenInfo()).id,
499
+ getScreenNearestRect(verticalExtentHost.screen.query, { x: 0, y: 40, width: 100, height: 60 }, createScreenInfo())
500
+ .id,
471
501
  ).toBe(2);
472
502
  });
473
503
 
474
504
  it('fills the documented default when no screens exist', () => {
475
505
  const out = createTestScreen(99, 10, 20, 30, 40);
476
506
 
477
- expect(getScreenNearestRect(createScreenQueryHost([]), { x: 0, y: 0, width: 10, height: 10 }, out)).toBe(out);
507
+ expect(
508
+ getScreenNearestRect(createScreenQueryHost([]).screen.query, { x: 0, y: 0, width: 10, height: 10 }, out),
509
+ ).toBe(out);
478
510
  expect(Object.entries(out)).toEqual(Object.entries(createScreenInfo()));
479
511
  });
480
512
  });
@@ -485,7 +517,7 @@ describe('getScreens', () => {
485
517
  const host = createScreenQueryHost([screen]);
486
518
  const out: ScreenInfo[] = [];
487
519
 
488
- expect(getScreens(host, out)).toBe(out);
520
+ expect(getScreens(host.screen.query, out)).toBe(out);
489
521
  expect(out).toEqual([screen]);
490
522
  expect(host.screen.query.getScreens).toHaveBeenCalledWith(out);
491
523
  });
@@ -571,7 +603,7 @@ function createScreenDetailsHost(permission: ScreenPermissionState, requestResul
571
603
  function createScreenQueryHost(
572
604
  screens: readonly ScreenInfo[],
573
605
  cursor: Readonly<{ x: number; y: number }> = { x: 0, y: 0 },
574
- ): HasScreenQuery {
606
+ ): { readonly screen: { readonly query: HostScreenQueryProvider } } {
575
607
  return {
576
608
  screen: {
577
609
  query: (() => {
@@ -625,7 +657,7 @@ describe('requestScreenDetails', () => {
625
657
  it('returns whether the host granted detailed screen access', async () => {
626
658
  const host = createScreenDetailsHost('prompt', true);
627
659
 
628
- await expect(requestScreenDetails(host)).resolves.toBe(true);
660
+ await expect(requestScreenDetails(host.screen.details)).resolves.toBe(true);
629
661
  expect(host.screen.details.request).toHaveBeenCalledOnce();
630
662
  });
631
663
  });