blit-react 0.1.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/transports/websocket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type React from 'react';
2
+ /** Connection lifecycle states. */
3
+ export type ConnectionStatus = 'connecting' | 'authenticating' | 'connected' | 'disconnected' | 'error';
4
+ /**
5
+ * Transport abstraction for blit server communication.
6
+ * Implementations handle the underlying protocol (WebSocket, WebTransport, etc.)
7
+ * while consumers only deal with binary messages and status changes.
8
+ */
9
+ export interface BlitTransport {
10
+ /** Send binary data to the server. */
11
+ send(data: Uint8Array): void;
12
+ /** Close the transport connection. */
13
+ close(): void;
14
+ /** Current connection status. */
15
+ readonly status: ConnectionStatus;
16
+ /** Called when a binary message is received from the server. */
17
+ onmessage: ((data: ArrayBuffer) => void) | null;
18
+ /** Called when the connection status changes. */
19
+ onstatuschange: ((status: ConnectionStatus) => void) | null;
20
+ }
21
+ /** Options for the BlitTerminal component. */
22
+ export interface BlitTerminalProps {
23
+ /** Transport instance for server communication. */
24
+ transport: BlitTransport;
25
+ /** PTY ID to display. If null, the component waits for a PTY to be created. */
26
+ ptyId: number | null;
27
+ /** CSS font family for the terminal. */
28
+ fontFamily?: string;
29
+ /** Font size in CSS pixels used for cell measurement. */
30
+ fontSize?: number;
31
+ /** Called when the terminal title changes. */
32
+ onTitleChange?: (title: string) => void;
33
+ /** Called when a PTY is created by the server. */
34
+ onPtyCreated?: (ptyId: number) => void;
35
+ /** Called when a PTY is closed by the server. */
36
+ onPtyClosed?: (ptyId: number) => void;
37
+ /** Called when the PTY list is received. */
38
+ onPtyList?: (ptyIds: number[]) => void;
39
+ /** Additional CSS class name for the container. */
40
+ className?: string;
41
+ /** Additional inline styles for the container. */
42
+ style?: React.CSSProperties;
43
+ }
44
+ /** Wire protocol constants: client-to-server message types. */
45
+ export declare const C2S_INPUT = 0;
46
+ export declare const C2S_RESIZE = 1;
47
+ export declare const C2S_SCROLL = 2;
48
+ export declare const C2S_ACK = 3;
49
+ export declare const C2S_DISPLAY_RATE = 4;
50
+ export declare const C2S_CLIENT_METRICS = 5;
51
+ export declare const C2S_CREATE = 16;
52
+ export declare const C2S_FOCUS = 17;
53
+ export declare const C2S_CLOSE = 18;
54
+ export declare const C2S_SUBSCRIBE = 19;
55
+ export declare const C2S_UNSUBSCRIBE = 20;
56
+ /** Wire protocol constants: server-to-client message types. */
57
+ export declare const S2C_UPDATE = 0;
58
+ export declare const S2C_CREATED = 1;
59
+ export declare const S2C_CLOSED = 2;
60
+ export declare const S2C_LIST = 3;
61
+ export declare const S2C_TITLE = 4;
62
+ export declare const S2C_SEARCH_RESULTS = 5;
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,mCAAmC;AACnC,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,gBAAgB,GAChB,WAAW,GACX,cAAc,GACd,OAAO,CAAC;AAEZ;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,sCAAsC;IACtC,KAAK,IAAI,IAAI,CAAC;IACd,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,gEAAgE;IAChE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAChD,iDAAiD;IACjD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7D;AAED,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,SAAS,EAAE,aAAa,CAAC;IACzB,+EAA+E;IAC/E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,kDAAkD;IAClD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,iDAAiD;IACjD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACvC,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,+DAA+D;AAC/D,eAAO,MAAM,SAAS,IAAO,CAAC;AAC9B,eAAO,MAAM,UAAU,IAAO,CAAC;AAC/B,eAAO,MAAM,UAAU,IAAO,CAAC;AAC/B,eAAO,MAAM,OAAO,IAAO,CAAC;AAC5B,eAAO,MAAM,gBAAgB,IAAO,CAAC;AACrC,eAAO,MAAM,kBAAkB,IAAO,CAAC;AACvC,eAAO,MAAM,UAAU,KAAO,CAAC;AAC/B,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,aAAa,KAAO,CAAC;AAClC,eAAO,MAAM,eAAe,KAAO,CAAC;AAEpC,+DAA+D;AAC/D,eAAO,MAAM,UAAU,IAAO,CAAC;AAC/B,eAAO,MAAM,WAAW,IAAO,CAAC;AAChC,eAAO,MAAM,UAAU,IAAO,CAAC;AAC/B,eAAO,MAAM,QAAQ,IAAO,CAAC;AAC7B,eAAO,MAAM,SAAS,IAAO,CAAC;AAC9B,eAAO,MAAM,kBAAkB,IAAO,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,20 @@
1
+ /** Wire protocol constants: client-to-server message types. */
2
+ export const C2S_INPUT = 0x00;
3
+ export const C2S_RESIZE = 0x01;
4
+ export const C2S_SCROLL = 0x02;
5
+ export const C2S_ACK = 0x03;
6
+ export const C2S_DISPLAY_RATE = 0x04;
7
+ export const C2S_CLIENT_METRICS = 0x05;
8
+ export const C2S_CREATE = 0x10;
9
+ export const C2S_FOCUS = 0x11;
10
+ export const C2S_CLOSE = 0x12;
11
+ export const C2S_SUBSCRIBE = 0x13;
12
+ export const C2S_UNSUBSCRIBE = 0x14;
13
+ /** Wire protocol constants: server-to-client message types. */
14
+ export const S2C_UPDATE = 0x00;
15
+ export const S2C_CREATED = 0x01;
16
+ export const S2C_CLOSED = 0x02;
17
+ export const S2C_LIST = 0x03;
18
+ export const S2C_TITLE = 0x04;
19
+ export const S2C_SEARCH_RESULTS = 0x05;
20
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAoDA,+DAA+D;AAC/D,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAC/B,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC;AAC5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AACvC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAC/B,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;AAChC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC"}
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "blit-react",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "dev": "tsc --watch"
13
+ },
14
+ "peerDependencies": {
15
+ "blit-browser": ">=0.2.0",
16
+ "react": ">=18.0.0",
17
+ "react-dom": ">=18.0.0"
18
+ },
19
+ "devDependencies": {
20
+ "@types/react": "^18.0.0",
21
+ "@types/react-dom": "^18.0.0",
22
+ "blit-browser": "file:/var/folders/xl/sk22700d2yd9gzrl3v5hvl6w0000gn/T/tmp.4pCELtHtUP/blit-browser",
23
+ "react": "^18.0.0",
24
+ "react-dom": "^18.0.0",
25
+ "typescript": "^5.0.0"
26
+ },
27
+ "license": "MIT"
28
+ }