@floegence/floeterm-terminal-web 0.4.32 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +86 -56
  2. package/dist/core/TerminalCore.d.ts +27 -1
  3. package/dist/core/TerminalCore.d.ts.map +1 -1
  4. package/dist/core/TerminalCore.js +490 -41
  5. package/dist/core/TerminalCore.js.map +1 -1
  6. package/dist/core/TerminalRenderScheduler.d.ts +4 -0
  7. package/dist/core/TerminalRenderScheduler.d.ts.map +1 -1
  8. package/dist/core/TerminalRenderScheduler.js +35 -2
  9. package/dist/core/TerminalRenderScheduler.js.map +1 -1
  10. package/dist/fabric/BeamtermFabricRenderer.d.ts +59 -0
  11. package/dist/fabric/BeamtermFabricRenderer.d.ts.map +1 -0
  12. package/dist/fabric/BeamtermFabricRenderer.js +448 -0
  13. package/dist/fabric/BeamtermFabricRenderer.js.map +1 -0
  14. package/dist/fabric/TerminalFabricCoordinator.d.ts +40 -0
  15. package/dist/fabric/TerminalFabricCoordinator.d.ts.map +1 -0
  16. package/dist/fabric/TerminalFabricCoordinator.js +140 -0
  17. package/dist/fabric/TerminalFabricCoordinator.js.map +1 -0
  18. package/dist/fabric/TerminalLiveFabric.d.ts +84 -0
  19. package/dist/fabric/TerminalLiveFabric.d.ts.map +1 -0
  20. package/dist/fabric/TerminalLiveFabric.js +211 -0
  21. package/dist/fabric/TerminalLiveFabric.js.map +1 -0
  22. package/dist/fabric/types.d.ts +112 -0
  23. package/dist/fabric/types.d.ts.map +1 -0
  24. package/dist/fabric/types.js +2 -0
  25. package/dist/fabric/types.js.map +1 -0
  26. package/dist/index.d.ts +5 -2
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +3 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/internal/TerminalInitializationScheduler.d.ts +22 -0
  31. package/dist/internal/TerminalInitializationScheduler.d.ts.map +1 -0
  32. package/dist/internal/TerminalInitializationScheduler.js +79 -0
  33. package/dist/internal/TerminalInitializationScheduler.js.map +1 -0
  34. package/dist/internal/scheduleUiTurn.d.ts +5 -0
  35. package/dist/internal/scheduleUiTurn.d.ts.map +1 -0
  36. package/dist/internal/scheduleUiTurn.js +37 -0
  37. package/dist/internal/scheduleUiTurn.js.map +1 -0
  38. package/dist/manager/TerminalInstanceController.d.ts +71 -0
  39. package/dist/manager/TerminalInstanceController.d.ts.map +1 -0
  40. package/dist/manager/TerminalInstanceController.js +670 -0
  41. package/dist/manager/TerminalInstanceController.js.map +1 -0
  42. package/dist/types.d.ts +48 -6
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/types.js.map +1 -1
  45. package/package.json +3 -12
  46. package/dist/hooks/useTerminalInstance.d.ts +0 -3
  47. package/dist/hooks/useTerminalInstance.d.ts.map +0 -1
  48. package/dist/hooks/useTerminalInstance.js +0 -544
  49. package/dist/hooks/useTerminalInstance.js.map +0 -1
@@ -0,0 +1,37 @@
1
+ const NEXT_FRAME_FALLBACK_MS = 32;
2
+ export const scheduleUiTurn = (callback) => {
3
+ let completed = false;
4
+ let rafId = null;
5
+ let timeoutId = null;
6
+ const run = () => {
7
+ if (completed) {
8
+ return;
9
+ }
10
+ completed = true;
11
+ if (timeoutId !== null) {
12
+ clearTimeout(timeoutId);
13
+ timeoutId = null;
14
+ }
15
+ callback();
16
+ };
17
+ if (typeof requestAnimationFrame === 'function') {
18
+ rafId = requestAnimationFrame(run);
19
+ timeoutId = setTimeout(run, NEXT_FRAME_FALLBACK_MS);
20
+ }
21
+ else {
22
+ timeoutId = setTimeout(run, 0);
23
+ }
24
+ return () => {
25
+ completed = true;
26
+ if (rafId !== null && typeof cancelAnimationFrame === 'function') {
27
+ cancelAnimationFrame(rafId);
28
+ }
29
+ if (timeoutId !== null) {
30
+ clearTimeout(timeoutId);
31
+ }
32
+ };
33
+ };
34
+ export const scheduleNextFrame = callback => {
35
+ scheduleUiTurn(callback);
36
+ };
37
+ //# sourceMappingURL=scheduleUiTurn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduleUiTurn.js","sourceRoot":"","sources":["../../src/internal/scheduleUiTurn.ts"],"names":[],"mappings":"AAGA,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAoB,EAAuB,EAAE;IAC1E,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,SAAS,GAAyC,IAAI,CAAC;IAE3D,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,IAAI,SAAS,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,SAAS,GAAG,IAAI,CAAC;QACjB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC;IAEF,IAAI,OAAO,qBAAqB,KAAK,UAAU,EAAE,CAAC;QAChD,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACnC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,GAAG,EAAE;QACV,SAAS,GAAG,IAAI,CAAC;QACjB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE,CAAC;YACjE,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAiB,QAAQ,CAAC,EAAE;IACxD,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { type TerminalConnectionController, type TerminalCoreLike, type TerminalInstanceController, type TerminalInstanceListener, type TerminalInstanceMutableOptions, type TerminalInstanceOptions, type TerminalInstanceSnapshot, type TerminalManagerActions } from '../types';
2
+ export declare class FrameworkNeutralTerminalInstanceController implements TerminalInstanceController {
3
+ private options;
4
+ private readonly logger;
5
+ private readonly scheduler;
6
+ private readonly listeners;
7
+ private container;
8
+ private terminalCore;
9
+ private isInitializing;
10
+ private terminalDataUnsubscribe;
11
+ private sequenceBuffer;
12
+ private replayCompleteReceived;
13
+ private isReplayActive;
14
+ private lastAppliedSequence;
15
+ private loadingState;
16
+ private loadingMessage;
17
+ private connectionState;
18
+ private connectionError;
19
+ private retryCount;
20
+ private retryTimeout;
21
+ private initializeTimeout;
22
+ private initializationAbortController;
23
+ private queueRetryTimeout;
24
+ private state;
25
+ private dimensions;
26
+ private dataQueue;
27
+ private isProcessing;
28
+ private queueGeneration;
29
+ private flushRaf;
30
+ private disposed;
31
+ readonly actions: TerminalManagerActions;
32
+ constructor(options: TerminalInstanceOptions);
33
+ get connection(): TerminalConnectionController;
34
+ mount(container: HTMLElement): Promise<void>;
35
+ unmount(): void;
36
+ dispose(): void;
37
+ updateOptions(options: TerminalInstanceMutableOptions): void;
38
+ getSnapshot(): TerminalInstanceSnapshot;
39
+ subscribe(listener: TerminalInstanceListener): () => void;
40
+ getCore(): TerminalCoreLike | null;
41
+ private emit;
42
+ private updateState;
43
+ private setLoading;
44
+ private setConnectionState;
45
+ private setConnectionError;
46
+ private createConnectionState;
47
+ private resetSessionState;
48
+ private handleStateChange;
49
+ private handleResize;
50
+ private handleError;
51
+ private handleUserInput;
52
+ private scheduleFocus;
53
+ private cleanupTerminal;
54
+ private finishReplayIfIdle;
55
+ private scheduleDataQueueFlush;
56
+ private cancelDataQueueFlush;
57
+ private processDataQueue;
58
+ private addChunkToQueue;
59
+ private applyCoreAppearance;
60
+ private scheduleInitialize;
61
+ private clearInitializeTimeout;
62
+ private initializeTerminal;
63
+ private connectToSession;
64
+ private scheduleConnectionRetry;
65
+ private clearRetryTimeout;
66
+ private clearQueueRetryTimeout;
67
+ private subscribeToTerminalData;
68
+ private reinitialize;
69
+ }
70
+ export declare const createTerminalInstance: (options: TerminalInstanceOptions) => TerminalInstanceController;
71
+ //# sourceMappingURL=TerminalInstanceController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalInstanceController.d.ts","sourceRoot":"","sources":["../../src/manager/TerminalInstanceController.ts"],"names":[],"mappings":"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"}