@flighthq/keyboard 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.
package/README.md CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/keyboard`. The `@fli
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/keyboard@0.5.0-next.1944.cd6b6e7](https://github.com/flighthq/flight/tree/cd6b6e71eb472b3a4249830a7743333f019fa7b7/packages/keyboard)
17
- - [License](https://github.com/flighthq/flight/blob/cd6b6e71eb472b3a4249830a7743333f019fa7b7/LICENSE.md)
16
+ - [Source for @flighthq/keyboard@0.5.1-edge.638.d4dbd4e](https://github.com/flighthq/flight/tree/d4dbd4e347dc8be10b180c85a766ab50333dcb51/packages/keyboard)
17
+ - [License](https://github.com/flighthq/flight/blob/d4dbd4e347dc8be10b180c85a766ab50333dcb51/LICENSE.md)
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { explainSoftKeyboardBackend, attachSoftKeyboard, createSoftKeyboard, createSoftKeyboardTransition, detachSoftKeyboard, disposeSoftKeyboard, getSoftKeyboardHeight, getSoftKeyboardInfo, getSoftKeyboardResizeMode, hideSoftKeyboard, isSoftKeyboardAccessoryBarVisible, isSoftKeyboardScrollAssistEnabled, setSoftKeyboardAccessoryBarVisible, setSoftKeyboardResizeMode, setSoftKeyboardScrollAssistEnabled, setSoftKeyboardStyle, showSoftKeyboard, } from './contract';
1
+ export { attachSoftKeyboard, createSoftKeyboard, detachSoftKeyboard, disposeSoftKeyboard, getSoftKeyboardHeight, getSoftKeyboardInfo, hideSoftKeyboard, isSoftKeyboardVisible, setSoftKeyboardAccessoryBarVisible, setSoftKeyboardResizeMode, setSoftKeyboardScrollAssistEnabled, setSoftKeyboardStyle, showSoftKeyboard, } from './contract';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,4BAA4B,EAC5B,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,iCAAiC,EACjC,iCAAiC,EACjC,kCAAkC,EAClC,yBAAyB,EACzB,kCAAkC,EAClC,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,kCAAkC,EAClC,yBAAyB,EACzB,kCAAkC,EAClC,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { explainSoftKeyboardBackend, attachSoftKeyboard, createSoftKeyboard, createSoftKeyboardTransition, detachSoftKeyboard, disposeSoftKeyboard, getSoftKeyboardHeight, getSoftKeyboardInfo, getSoftKeyboardResizeMode, hideSoftKeyboard, isSoftKeyboardAccessoryBarVisible, isSoftKeyboardScrollAssistEnabled, setSoftKeyboardAccessoryBarVisible, setSoftKeyboardResizeMode, setSoftKeyboardScrollAssistEnabled, setSoftKeyboardStyle, showSoftKeyboard, } from './contract';
1
+ export { attachSoftKeyboard, createSoftKeyboard, detachSoftKeyboard, disposeSoftKeyboard, getSoftKeyboardHeight, getSoftKeyboardInfo, hideSoftKeyboard, isSoftKeyboardVisible, setSoftKeyboardAccessoryBarVisible, setSoftKeyboardResizeMode, setSoftKeyboardScrollAssistEnabled, setSoftKeyboardStyle, showSoftKeyboard, } from './contract';
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,4BAA4B,EAC5B,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,iCAAiC,EACjC,iCAAiC,EACjC,kCAAkC,EAClC,yBAAyB,EACzB,kCAAkC,EAClC,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,kCAAkC,EAClC,yBAAyB,EACzB,kCAAkC,EAClC,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
@@ -1,26 +1,15 @@
1
- import type { BackendExplanation, SoftKeyboard, SoftKeyboardBackend, SoftKeyboardInfo, SoftKeyboardResizeMode, SoftKeyboardStyleKind, SoftKeyboardTransition } from '@flighthq/types/contract';
2
- export declare function attachSoftKeyboard(keyboard: SoftKeyboard): void;
3
- export declare function createSoftKeyboard(): SoftKeyboard;
4
- export declare function createSoftKeyboardInfo(): SoftKeyboardInfo;
5
- export declare function createSoftKeyboardTransition(): SoftKeyboardTransition;
6
- export declare function createWebSoftKeyboardBackend(): SoftKeyboardBackend;
1
+ import type { Entity, HasSoftKeyboardAccessoryBar, HasSoftKeyboardChange, HasSoftKeyboardInfo, HasSoftKeyboardResizeModeWrite, HasSoftKeyboardScrollAssist, HasSoftKeyboardStyle, HasSoftKeyboardVisibility, SoftKeyboard, SoftKeyboardAttachResult, SoftKeyboardInfo, SoftKeyboardResizeMode, SoftKeyboardSetterResult, SoftKeyboardStyleKind, SoftKeyboardVisibilityResult } from '@flighthq/types/contract';
2
+ export declare function attachSoftKeyboard(host: HasSoftKeyboardChange & HasSoftKeyboardInfo, keyboard: SoftKeyboard): Promise<SoftKeyboardAttachResult>;
3
+ export declare function createSoftKeyboard(): SoftKeyboard & Entity;
7
4
  export declare function detachSoftKeyboard(keyboard: SoftKeyboard): void;
8
5
  export declare function disposeSoftKeyboard(keyboard: SoftKeyboard): void;
9
- export declare function explainSoftKeyboardBackend(): BackendExplanation;
10
- export declare function getSoftKeyboardBackend(): SoftKeyboardBackend;
11
- export declare function getSoftKeyboardHeight(): number;
12
- export declare function getSoftKeyboardInfo(out: SoftKeyboardInfo): SoftKeyboardInfo;
13
- export declare function getSoftKeyboardResizeMode(): SoftKeyboardResizeMode;
14
- export declare function hideSoftKeyboard(): void;
15
- export declare function installSoftKeyboardHostBackend(backend: SoftKeyboardBackend): void;
16
- export declare function isSoftKeyboardAccessoryBarVisible(): boolean;
17
- export declare function isSoftKeyboardScrollAssistEnabled(): boolean;
18
- export declare function observeSoftKeyboardHostResult(operation: string, succeeded: boolean): void;
19
- export declare function resetSoftKeyboardBackendForTest(): void;
20
- export declare function setSoftKeyboardAccessoryBarVisible(visible: boolean): void;
21
- export declare function setSoftKeyboardBackend(backend: SoftKeyboardBackend | null): void;
22
- export declare function setSoftKeyboardResizeMode(mode: SoftKeyboardResizeMode): void;
23
- export declare function setSoftKeyboardScrollAssistEnabled(enabled: boolean): void;
24
- export declare function setSoftKeyboardStyle(style: SoftKeyboardStyleKind): void;
25
- export declare function showSoftKeyboard(): void;
6
+ export declare function getSoftKeyboardHeight(host: HasSoftKeyboardInfo): number;
7
+ export declare function getSoftKeyboardInfo(host: HasSoftKeyboardInfo, out: SoftKeyboardInfo): SoftKeyboardInfo;
8
+ export declare function hideSoftKeyboard(host: HasSoftKeyboardVisibility): Promise<SoftKeyboardVisibilityResult>;
9
+ export declare function isSoftKeyboardVisible(host: HasSoftKeyboardInfo): boolean;
10
+ export declare function setSoftKeyboardAccessoryBarVisible(host: HasSoftKeyboardAccessoryBar, visible: boolean): Promise<SoftKeyboardSetterResult>;
11
+ export declare function setSoftKeyboardResizeMode(host: HasSoftKeyboardResizeModeWrite, mode: SoftKeyboardResizeMode): Promise<SoftKeyboardSetterResult>;
12
+ export declare function setSoftKeyboardScrollAssistEnabled(host: HasSoftKeyboardScrollAssist, enabled: boolean): Promise<SoftKeyboardSetterResult>;
13
+ export declare function setSoftKeyboardStyle(host: HasSoftKeyboardStyle, style: SoftKeyboardStyleKind): Promise<SoftKeyboardSetterResult>;
14
+ export declare function showSoftKeyboard(host: HasSoftKeyboardVisibility): Promise<SoftKeyboardVisibilityResult>;
26
15
  //# sourceMappingURL=keyboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAEhB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAQlC,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAkC/D;AAGD,wBAAgB,kBAAkB,IAAI,YAAY,CAYjD;AAGD,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD;AAGD,wBAAgB,4BAA4B,IAAI,sBAAsB,CAErE;AAQD,wBAAgB,4BAA4B,IAAI,mBAAmB,CAkDlE;AAGD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAM/D;AAID,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAEhE;AAED,wBAAgB,0BAA0B,IAAI,kBAAkB,CAa/D;AAGD,wBAAgB,sBAAsB,IAAI,mBAAmB,CAE5D;AAGD,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAGD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAE3E;AAID,wBAAgB,yBAAyB,IAAI,sBAAsB,CAGlE;AAID,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAMjF;AAID,wBAAgB,iCAAiC,IAAI,OAAO,CAE3D;AAGD,wBAAgB,iCAAiC,IAAI,OAAO,CAE3D;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAKzF;AAED,wBAAgB,+BAA+B,IAAI,IAAI,CAKtD;AAID,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEzE;AAGD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAEhF;AAID,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,sBAAsB,GAAG,IAAI,CAE5E;AAID,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEzE;AAID,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAEvE;AAID,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
1
+ {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EACN,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,2BAA2B,EAC3B,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AAElC,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,qBAAqB,GAAG,mBAAmB,EACjD,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,wBAAwB,CAAC,CAwBnC;AAED,wBAAgB,kBAAkB,IAAI,YAAY,GAAG,MAAM,CAM1D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAM/D;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAEhE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAEvE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAEtG;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAEvG;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAExE;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,2BAA2B,EACjC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,wBAAwB,CAAC,CAEnC;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,8BAA8B,EACpC,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,wBAAwB,CAAC,CAEnC;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,2BAA2B,EACjC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,wBAAwB,CAAC,CAEnC;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,wBAAwB,CAAC,CAEnC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAEvG"}
package/dist/keyboard.js CHANGED
@@ -1,131 +1,40 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { createSignal, emitSignal } from '@flighthq/signals/contract';
2
- import { SoftKeyboardResizeNoneKind } from '@flighthq/types/contract';
3
- // Begins delivering on-screen keyboard changes to `keyboard`'s signals by subscribing to the active
4
- // backend. On each change it reads fresh info, emits will/did signal pairs (with onShow/onHide/onResize
5
- // aliases firing alongside the did-phase edge), and tracks visibility-edge transitions for
6
- // onWillShow/onWillHide and onDidShow/onDidHide pairs. Idempotent: a prior subscription is torn
7
- // down first. Pair with detachSoftKeyboard/disposeSoftKeyboard.
8
- export function attachSoftKeyboard(keyboard) {
3
+ export async function attachSoftKeyboard(host, keyboard) {
9
4
  detachSoftKeyboard(keyboard);
10
- const backend = getSoftKeyboardBackend();
11
- let wasVisible = backend.getInfo(_scratch).visible;
12
- const unsubscribe = backend.subscribe((phase, transition) => {
13
- const prevVisible = wasVisible;
14
- const info = backend.getInfo(_scratch);
15
- const nowVisible = info.visible;
16
- if (phase === 'will') {
17
- // Will-phase: emit will-signals before animation begins.
18
- if (nowVisible && !prevVisible) {
19
- emitSignal(keyboard.onWillShow, transition);
20
- }
21
- else if (!nowVisible && prevVisible) {
22
- emitSignal(keyboard.onWillHide, transition);
23
- }
24
- else {
25
- emitSignal(keyboard.onWillResize, transition);
26
- }
5
+ const change = host.input.softKeyboardChange;
6
+ const info = host.input.softKeyboardInfo;
7
+ let prevHeight = info.getInfo(_scratch).height;
8
+ const subscription = await change.subscribe(() => {
9
+ const nowInfo = info.getInfo(_scratch);
10
+ const nowHeight = nowInfo.height;
11
+ const wasVisible = prevHeight > 0;
12
+ const nowVisible = nowHeight > 0;
13
+ if (nowVisible && !wasVisible) {
14
+ prevHeight = nowHeight;
15
+ emitSignal(keyboard.onShow, nowHeight);
27
16
  }
28
- else {
29
- // Did-phase: emit did-signals (and simple-path aliases) after animation ends.
30
- emitSignal(keyboard.onDidResize, info.height);
31
- emitSignal(keyboard.onResize, info.height);
32
- if (nowVisible !== prevVisible) {
33
- wasVisible = nowVisible;
34
- if (nowVisible) {
35
- emitSignal(keyboard.onDidShow, info.height);
36
- emitSignal(keyboard.onShow, info.height);
37
- }
38
- else {
39
- emitSignal(keyboard.onDidHide);
40
- emitSignal(keyboard.onHide);
41
- }
42
- }
17
+ else if (!nowVisible && wasVisible) {
18
+ prevHeight = 0;
19
+ emitSignal(keyboard.onHide);
20
+ }
21
+ else if (nowVisible && nowHeight !== prevHeight) {
22
+ prevHeight = nowHeight;
23
+ emitSignal(keyboard.onResize, nowHeight);
43
24
  }
44
25
  });
45
- _subscriptions.set(keyboard, unsubscribe);
26
+ if (subscription.result !== 'ok')
27
+ return subscription.result;
28
+ _subscriptions.set(keyboard, subscription.unsubscribe);
29
+ return 'ok';
46
30
  }
47
- // Allocates a SoftKeyboard event entity with inert signals; call attachSoftKeyboard to start delivery.
48
31
  export function createSoftKeyboard() {
49
- return {
32
+ return createEntity({
50
33
  onShow: createSignal(),
51
34
  onHide: createSignal(),
52
35
  onResize: createSignal(),
53
- onWillShow: createSignal(),
54
- onWillHide: createSignal(),
55
- onWillResize: createSignal(),
56
- onDidShow: createSignal(),
57
- onDidHide: createSignal(),
58
- onDidResize: createSignal(),
59
- };
60
- }
61
- // Allocates a zeroed SoftKeyboardInfo, suitable as the `out` for getSoftKeyboardInfo.
62
- export function createSoftKeyboardInfo() {
63
- return { visible: false, height: 0, x: 0, y: 0, width: 0 };
64
- }
65
- // Allocates a zeroed SoftKeyboardTransition with durationSeconds 0 and height 0.
66
- export function createSoftKeyboardTransition() {
67
- return { durationSeconds: 0, height: 0 };
68
- }
69
- // Builds the default web backend over window.visualViewport, inferring keyboard height from the
70
- // viewport shrink relative to window.innerHeight. Also uses the Chromium VirtualKeyboard API
71
- // (navigator.virtualKeyboard) when available: geometry comes from geometrychange, and
72
- // showSoftKeyboard/hideSoftKeyboard become real operations instead of no-ops.
73
- // Degrades to height 0 and a no-op subscription where the API is absent. All did-phase only
74
- // (durationSeconds: 0); native backends may emit will-phase with timing.
75
- export function createWebSoftKeyboardBackend() {
76
- return {
77
- getInfo(out) {
78
- const geo = getWebKeyboardGeometry();
79
- out.height = geo.height;
80
- out.visible = geo.height > 0;
81
- out.x = geo.x;
82
- out.y = geo.y;
83
- out.width = geo.width;
84
- return out;
85
- },
86
- subscribe(listener) {
87
- if (typeof window === 'undefined')
88
- return () => { };
89
- // transition.height stays 0 on web: this backend fires the 'did' phase only, where consumers
90
- // read the settled geometry from getInfo(); the will-phase target height that transition.height
91
- // is meant to carry is animation metadata the web viewport APIs never expose. Native hosts that
92
- // emit a real 'will' phase must populate transition.height with the incoming keyboard height.
93
- const transition = { durationSeconds: 0, height: 0 };
94
- const fire = () => listener('did', transition);
95
- // Use Chromium VirtualKeyboard API when available for geometry.
96
- const virtualKeyboard = getVirtualKeyboard();
97
- if (virtualKeyboard !== null) {
98
- virtualKeyboard.addEventListener('geometrychange', fire);
99
- return () => virtualKeyboard.removeEventListener('geometrychange', fire);
100
- }
101
- // Fall back to visualViewport resize/scroll.
102
- const viewport = window.visualViewport;
103
- if (viewport === undefined || viewport === null)
104
- return () => { };
105
- viewport.addEventListener('resize', fire);
106
- viewport.addEventListener('scroll', fire);
107
- return () => {
108
- viewport.removeEventListener('resize', fire);
109
- viewport.removeEventListener('scroll', fire);
110
- };
111
- },
112
- show() {
113
- const vk = getVirtualKeyboard();
114
- if (vk !== null) {
115
- vk.show();
116
- }
117
- // No-op on web without VirtualKeyboard API; the soft keyboard only opens when a field is focused.
118
- },
119
- hide() {
120
- const vk = getVirtualKeyboard();
121
- if (vk !== null) {
122
- vk.hide();
123
- }
124
- // No-op on web without VirtualKeyboard API.
125
- },
126
- };
36
+ });
127
37
  }
128
- // Stops delivery to `keyboard` and forgets its subscription. Safe to call when not attached.
129
38
  export function detachSoftKeyboard(keyboard) {
130
39
  const unsubscribe = _subscriptions.get(keyboard);
131
40
  if (unsubscribe !== undefined) {
@@ -133,150 +42,36 @@ export function detachSoftKeyboard(keyboard) {
133
42
  _subscriptions.delete(keyboard);
134
43
  }
135
44
  }
136
- // Releases `keyboard` for garbage collection by detaching its backend subscription. The signals
137
- // remain plain GC-managed memory afterward.
138
45
  export function disposeSoftKeyboard(keyboard) {
139
46
  detachSoftKeyboard(keyboard);
140
47
  }
141
- export function explainSoftKeyboardBackend() {
142
- if (_custom !== null) {
143
- return { conflict: _hostConflict, layer: 'custom', operation: null, viability: 'unobserved' };
144
- }
145
- if (_host !== null) {
146
- return {
147
- conflict: _hostConflict,
148
- layer: 'host',
149
- operation: _hostObservation !== null ? _hostObservation.operation : null,
150
- viability: _hostObservation !== null ? _hostObservation.viability : 'unobserved',
151
- };
152
- }
153
- return { conflict: false, layer: 'host-not-enabled', operation: null, viability: 'unobserved' };
154
- }
155
- // The active soft keyboard backend. Precedence: custom > host > sentinel.
156
- export function getSoftKeyboardBackend() {
157
- return _custom ?? _host ?? _sentinel;
48
+ export function getSoftKeyboardHeight(host) {
49
+ return host.input.softKeyboardInfo.getInfo(_scratch).height;
158
50
  }
159
- // Returns the current on-screen keyboard height in CSS pixels without allocating. 0 when hidden.
160
- export function getSoftKeyboardHeight() {
161
- return getSoftKeyboardBackend().getInfo(_scratch).height;
51
+ export function getSoftKeyboardInfo(host, out) {
52
+ return host.input.softKeyboardInfo.getInfo(out);
162
53
  }
163
- // Fills `out` with the current on-screen keyboard snapshot and returns it.
164
- export function getSoftKeyboardInfo(out) {
165
- return getSoftKeyboardBackend().getInfo(out);
54
+ export function hideSoftKeyboard(host) {
55
+ return host.input.softKeyboardVisibility.hide();
166
56
  }
167
- // Returns the current keyboard resize mode. Delegates to the backend; returns
168
- // SoftKeyboardResizeNoneKind when the backend does not support resize-mode queries.
169
- export function getSoftKeyboardResizeMode() {
170
- const backend = getSoftKeyboardBackend();
171
- return backend.getResizeMode?.() ?? SoftKeyboardResizeNoneKind;
57
+ export function isSoftKeyboardVisible(host) {
58
+ return host.input.softKeyboardInfo.getInfo(_scratch).visible;
172
59
  }
173
- // Requests that the host dismiss the on-screen keyboard. A no-op on web unless the
174
- // navigator.virtualKeyboard API is available (Chromium with virtualKeyboard policy).
175
- export function hideSoftKeyboard() {
176
- getSoftKeyboardBackend().hide();
177
- }
178
- export function installSoftKeyboardHostBackend(backend) {
179
- if (_host !== null) {
180
- if (_host !== backend)
181
- _hostConflict = true;
182
- return;
183
- }
184
- _host = backend;
60
+ export function setSoftKeyboardAccessoryBarVisible(host, visible) {
61
+ return host.input.softKeyboardAccessoryBar.setAccessoryBarVisible(visible);
185
62
  }
186
- // Returns whether the input accessory bar (iOS toolbar above the keyboard) is visible.
187
- // Returns false when the backend does not support this query.
188
- export function isSoftKeyboardAccessoryBarVisible() {
189
- return getSoftKeyboardBackend().getAccessoryBarVisible?.() ?? false;
63
+ export function setSoftKeyboardResizeMode(host, mode) {
64
+ return host.input.softKeyboardResizeModeWrite.setResizeMode(mode);
190
65
  }
191
- // Returns whether scroll-assist is enabled. Returns false when the backend does not support this.
192
- export function isSoftKeyboardScrollAssistEnabled() {
193
- return getSoftKeyboardBackend().getScrollAssistEnabled?.() ?? false;
66
+ export function setSoftKeyboardScrollAssistEnabled(host, enabled) {
67
+ return host.input.softKeyboardScrollAssist.setScrollAssistEnabled(enabled);
194
68
  }
195
- export function observeSoftKeyboardHostResult(operation, succeeded) {
196
- _hostObservation = {
197
- operation,
198
- viability: succeeded ? 'available' : 'runtime-api-unavailable',
199
- };
69
+ export function setSoftKeyboardStyle(host, style) {
70
+ return host.input.softKeyboardStyle.setStyle(style);
200
71
  }
201
- export function resetSoftKeyboardBackendForTest() {
202
- _custom = null;
203
- _host = null;
204
- _hostConflict = false;
205
- _hostObservation = null;
72
+ export function showSoftKeyboard(host) {
73
+ return host.input.softKeyboardVisibility.show();
206
74
  }
207
- // Controls whether the iOS input accessory bar (the toolbar above the keyboard) is visible.
208
- // No-op when the backend does not support this.
209
- export function setSoftKeyboardAccessoryBarVisible(visible) {
210
- getSoftKeyboardBackend().setAccessoryBarVisible?.(visible);
211
- }
212
- // Installs a custom soft keyboard backend; takes precedence over the host backend.
213
- export function setSoftKeyboardBackend(backend) {
214
- _custom = backend;
215
- }
216
- // Controls keyboard resize behavior — how the app viewport reacts when the keyboard appears.
217
- // No-op when the backend does not support resize-mode control.
218
- export function setSoftKeyboardResizeMode(mode) {
219
- getSoftKeyboardBackend().setResizeMode?.(mode);
220
- }
221
- // Controls whether the keyboard scroll-assist feature is enabled (scrolls the focused field into
222
- // view when the keyboard appears). No-op when the backend does not support this.
223
- export function setSoftKeyboardScrollAssistEnabled(enabled) {
224
- getSoftKeyboardBackend().setScrollAssistEnabled?.(enabled);
225
- }
226
- // Sets the visual style / appearance of the on-screen keyboard (iOS light/dark keyboard appearance).
227
- // No-op on web and on backends that do not support style control.
228
- export function setSoftKeyboardStyle(style) {
229
- getSoftKeyboardBackend().setStyle?.(style);
230
- }
231
- // Requests that the host present the on-screen keyboard. A no-op on web unless the
232
- // navigator.virtualKeyboard API is available (Chromium with virtualKeyboard policy).
233
- export function showSoftKeyboard() {
234
- getSoftKeyboardBackend().show();
235
- }
236
- let _custom = null;
237
- let _host = null;
238
- let _hostConflict = false;
239
- let _hostObservation = null;
240
- const _sentinel = {
241
- getInfo(out) {
242
- out.visible = false;
243
- out.height = 0;
244
- out.x = 0;
245
- out.y = 0;
246
- out.width = 0;
247
- return out;
248
- },
249
- subscribe() {
250
- return () => { };
251
- },
252
- show() { },
253
- hide() { },
254
- };
255
- const _scratch = createSoftKeyboardInfo();
75
+ const _scratch = { visible: false, height: 0, x: 0, y: 0, width: 0 };
256
76
  const _subscriptions = new WeakMap();
257
- function getVirtualKeyboard() {
258
- if (typeof navigator === 'undefined')
259
- return null;
260
- const nav = navigator;
261
- return nav.virtualKeyboard ?? null;
262
- }
263
- function getWebKeyboardGeometry() {
264
- if (typeof window === 'undefined')
265
- return { height: 0, width: 0, x: 0, y: 0 };
266
- // Prefer the Chromium VirtualKeyboard API for precise geometry.
267
- const vk = getVirtualKeyboard();
268
- if (vk !== null) {
269
- const rect = vk.boundingRect;
270
- return { height: rect.height, width: rect.width, x: rect.x, y: rect.y };
271
- }
272
- // Fall back to inferring height from visualViewport shrink.
273
- const viewport = window.visualViewport;
274
- if (viewport === undefined || viewport === null)
275
- return { height: 0, width: 0, x: 0, y: 0 };
276
- const shrink = window.innerHeight - viewport.height;
277
- const height = shrink > 0 ? shrink : 0;
278
- const width = height > 0 ? window.innerWidth : 0;
279
- const y = height > 0 ? viewport.height : 0;
280
- return { height, width, x: 0, y };
281
- }
282
77
  //# sourceMappingURL=keyboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAWtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,oGAAoG;AACpG,wGAAwG;AACxG,2FAA2F;AAC3F,gGAAgG;AAChG,gEAAgE;AAChE,MAAM,UAAU,kBAAkB,CAAC,QAAsB;IACvD,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IACzC,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAwB,EAAE,UAA4C,EAAE,EAAE;QAC/G,MAAM,WAAW,GAAG,UAAU,CAAC;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,yDAAyD;YACzD,IAAI,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC/B,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC;gBACtC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,8EAA8E;YAC9E,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC/B,UAAU,GAAG,UAAU,CAAC;gBACxB,IAAI,UAAU,EAAE,CAAC;oBACf,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC5C,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAC/B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC5C,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,MAAM,EAAE,YAAY,EAAE;QACtB,MAAM,EAAE,YAAY,EAAE;QACtB,QAAQ,EAAE,YAAY,EAAE;QACxB,UAAU,EAAE,YAAY,EAAE;QAC1B,UAAU,EAAE,YAAY,EAAE;QAC1B,YAAY,EAAE,YAAY,EAAE;QAC5B,SAAS,EAAE,YAAY,EAAE;QACzB,SAAS,EAAE,YAAY,EAAE;QACzB,WAAW,EAAE,YAAY,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,sBAAsB;IACpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,4BAA4B;IAC1C,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,gGAAgG;AAChG,6FAA6F;AAC7F,sFAAsF;AACtF,8EAA8E;AAC9E,4FAA4F;AAC5F,yEAAyE;AACzE,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,OAAO,CAAC,GAAG;YACT,MAAM,GAAG,GAAG,sBAAsB,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YACxB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACd,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACd,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,SAAS,CAAC,QAAQ;YAChB,IAAI,OAAO,MAAM,KAAK,WAAW;gBAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;YACnD,6FAA6F;YAC7F,gGAAgG;YAChG,gGAAgG;YAChG,8FAA8F;YAC9F,MAAM,UAAU,GAA2B,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAC/C,gEAAgE;YAChE,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;YAC7C,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,eAAe,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC,eAAe,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAC3E,CAAC;YACD,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC;YACvC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;YACjE,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1C,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,GAAG,EAAE;gBACV,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC7C,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC/C,CAAC,CAAC;QACJ,CAAC;QACD,IAAI;YACF,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;YAChC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,EAAE,CAAC,IAAI,EAAE,CAAC;YACZ,CAAC;YACD,kGAAkG;QACpG,CAAC;QACD,IAAI;YACF,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;YAChC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,EAAE,CAAC,IAAI,EAAE,CAAC;YACZ,CAAC;YACD,4CAA4C;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,kBAAkB,CAAC,QAAsB;IACvD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,WAAW,EAAE,CAAC;QACd,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,gGAAgG;AAChG,4CAA4C;AAC5C,MAAM,UAAU,mBAAmB,CAAC,QAAsB;IACxD,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IAChG,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,QAAQ,EAAE,aAAa;YACvB,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;YACxE,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;SACjF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AAClG,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,sBAAsB;IACpC,OAAO,OAAO,IAAI,KAAK,IAAI,SAAS,CAAC;AACvC,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,qBAAqB;IACnC,OAAO,sBAAsB,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;AAC3D,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,mBAAmB,CAAC,GAAqB;IACvD,OAAO,sBAAsB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,8EAA8E;AAC9E,oFAAoF;AACpF,MAAM,UAAU,yBAAyB;IACvC,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IACzC,OAAO,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,0BAA0B,CAAC;AACjE,CAAC;AAED,mFAAmF;AACnF,qFAAqF;AACrF,MAAM,UAAU,gBAAgB;IAC9B,sBAAsB,EAAE,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAA4B;IACzE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,IAAI,KAAK,KAAK,OAAO;YAAE,aAAa,GAAG,IAAI,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,KAAK,GAAG,OAAO,CAAC;AAClB,CAAC;AAED,uFAAuF;AACvF,8DAA8D;AAC9D,MAAM,UAAU,iCAAiC;IAC/C,OAAO,sBAAsB,EAAE,CAAC,sBAAsB,EAAE,EAAE,IAAI,KAAK,CAAC;AACtE,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,iCAAiC;IAC/C,OAAO,sBAAsB,EAAE,CAAC,sBAAsB,EAAE,EAAE,IAAI,KAAK,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,SAAiB,EAAE,SAAkB;IACjF,gBAAgB,GAAG;QACjB,SAAS;QACT,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,yBAAyB;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,GAAG,IAAI,CAAC;IACf,KAAK,GAAG,IAAI,CAAC;IACb,aAAa,GAAG,KAAK,CAAC;IACtB,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC;AAED,4FAA4F;AAC5F,gDAAgD;AAChD,MAAM,UAAU,kCAAkC,CAAC,OAAgB;IACjE,sBAAsB,EAAE,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,sBAAsB,CAAC,OAAmC;IACxE,OAAO,GAAG,OAAO,CAAC;AACpB,CAAC;AAED,6FAA6F;AAC7F,+DAA+D;AAC/D,MAAM,UAAU,yBAAyB,CAAC,IAA4B;IACpE,sBAAsB,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,iGAAiG;AACjG,iFAAiF;AACjF,MAAM,UAAU,kCAAkC,CAAC,OAAgB;IACjE,sBAAsB,EAAE,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,qGAAqG;AACrG,kEAAkE;AAClE,MAAM,UAAU,oBAAoB,CAAC,KAA4B;IAC/D,sBAAsB,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,mFAAmF;AACnF,qFAAqF;AACrF,MAAM,UAAU,gBAAgB;IAC9B,sBAAsB,EAAE,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,IAAI,OAAO,GAA+B,IAAI,CAAC;AAC/C,IAAI,KAAK,GAA+B,IAAI,CAAC;AAC7C,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,IAAI,gBAAgB,GAAqF,IAAI,CAAC;AAC9G,MAAM,SAAS,GAAwB;IACrC,OAAO,CAAC,GAAG;QACT,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;QACpB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACf,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACV,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACV,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,GAAG,CAAC;IACb,CAAC;IACD,SAAS;QACP,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,KAAI,CAAC;IACT,IAAI,KAAI,CAAC;CACV,CAAC;AACF,MAAM,QAAQ,GAAqB,sBAAsB,EAAE,CAAC;AAC5D,MAAM,cAAc,GAAG,IAAI,OAAO,EAA4B,CAAC;AAW/D,SAAS,kBAAkB;IACzB,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,GAAG,GAAG,SAA8D,CAAC;IAC3E,OAAO,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC;AACrC,CAAC;AASD,SAAS,sBAAsB;IAC7B,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,gEAAgE;IAChE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAChC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC;IACD,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC;IACvC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5F,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/keyboard",
3
- "version": "0.5.0-next.1944.cd6b6e7",
3
+ "version": "0.5.1-edge.638.d4dbd4e",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,8 +38,9 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/signals": "0.5.0-next.1944.cd6b6e7",
42
- "@flighthq/types": "0.5.0-next.1944.cd6b6e7"
41
+ "@flighthq/entity": "0.5.1-edge.638.d4dbd4e",
42
+ "@flighthq/signals": "0.5.1-edge.638.d4dbd4e",
43
+ "@flighthq/types": "0.5.1-edge.638.d4dbd4e"
43
44
  },
44
45
  "devDependencies": {
45
46
  "typescript": "^5.3.0"