@floegence/floeterm-terminal-web 0.2.0 → 0.3.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.
package/README.md CHANGED
@@ -27,3 +27,19 @@ export function TerminalPane() {
27
27
  ## Notes
28
28
  - You must provide a `TerminalTransport` and `TerminalEventSource`.
29
29
  - `ghostty-web` needs a one-time `init()` (handled internally by `TerminalCore`).
30
+
31
+ ## Responsive resize (multi-pane / multi-view)
32
+ When the same remote terminal session can be displayed in multiple views (e.g. a Deck widget and a dedicated Terminal page),
33
+ enable the responsive options so the focused terminal re-syncs cols/rows to the remote PTY:
34
+
35
+ ```ts
36
+ import { TerminalCore } from '@floegence/floeterm-terminal-web';
37
+
38
+ const core = new TerminalCore(container, {
39
+ responsive: {
40
+ fitOnFocus: true,
41
+ emitResizeOnFocus: true,
42
+ notifyResizeOnlyWhenFocused: true,
43
+ },
44
+ });
45
+ ```
@@ -7,12 +7,28 @@ export declare class TerminalCore {
7
7
  private needsFullRenderOnNextWrite;
8
8
  private resizeObserver;
9
9
  private resizeDebounceTimer;
10
+ private focusResizeRaf;
10
11
  private state;
11
12
  private isDisposed;
12
13
  private isReplayingHistory;
13
14
  private replayingHistoryTimer;
14
15
  private logger;
15
16
  private eventHandlers;
17
+ private responsive;
18
+ private hasFocus;
19
+ private resizeNotifySeq;
20
+ private lastNotifiedSize;
21
+ private unbindResponsiveListeners;
22
+ private searchQuery;
23
+ private searchOptionsKey;
24
+ private searchMatches;
25
+ private searchMatchIndex;
26
+ private searchRowIndex;
27
+ private searchResultsCallback;
28
+ private searchOverlay;
29
+ private searchOverlayRaf;
30
+ private searchOverlayUnsubs;
31
+ private searchThemeRestore;
16
32
  constructor(container: HTMLElement, config?: TerminalConfig, eventHandlers?: TerminalEventHandlers, logger?: Logger);
17
33
  initialize(): Promise<void>;
18
34
  private createTerminalInstance;
@@ -21,9 +37,13 @@ export declare class TerminalCore {
21
37
  private waitForDOMAndFonts;
22
38
  private ensureContainerReady;
23
39
  private setupEventListeners;
40
+ private setupResponsiveListeners;
24
41
  private startSizeWatching;
25
42
  private debouncedResize;
26
43
  private performResize;
44
+ private scheduleFocusResize;
45
+ private emitResize;
46
+ private isContainerFocused;
27
47
  private setState;
28
48
  private isReady;
29
49
  startHistoryReplay(duration?: number): void;
@@ -58,12 +78,31 @@ export declare class TerminalCore {
58
78
  resultCount: number;
59
79
  matchPositions?: number[];
60
80
  }) => void) | null): void;
81
+ private notifySearchResults;
82
+ private findInternal;
83
+ private scanTerminalMatches;
84
+ private buildSearchRowIndex;
85
+ private isWholeWordMatch;
86
+ private applySearchMatch;
87
+ private clearActiveSearchSelection;
88
+ private patchSearchSelectionManager;
89
+ private ensureSearchTheme;
90
+ private restoreSearchTheme;
91
+ private applySearchThemeOverride;
92
+ private applyRendererTheme;
93
+ private ensureSearchOverlaySubscriptions;
94
+ private disposeSearchOverlaySubscriptions;
95
+ private disposeSearchOverlay;
96
+ private ensureSearchOverlay;
97
+ private scheduleRenderSearchOverlay;
98
+ private renderSearchOverlay;
61
99
  focus(): void;
62
100
  setConnected(isConnected: boolean): void;
63
101
  forceResize(): void;
64
102
  setTheme(theme: Record<string, string>): void;
65
103
  setFontSize(size: number): void;
66
104
  dispose(): void;
105
+ private static normalizeResponsiveConfig;
67
106
  private forceFullRender;
68
107
  }
69
108
  //# sourceMappingURL=TerminalCore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalCore.d.ts","sourceRoot":"","sources":["../../src/core/TerminalCore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAsDvG,qBAAa,YAAY;IAiBrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM;IAjBhB,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,0BAA0B,CAAS;IAE3C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,mBAAmB,CAA8C;IACzE,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,qBAAqB,CAA8C;IAE3E,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAwB;gBAGnC,SAAS,EAAE,WAAW,EACtB,MAAM,GAAE,cAAmB,EACnC,aAAa,GAAE,qBAA0B,EACzC,MAAM,GAAE,MAA8B;IAOlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YA8BnB,sBAAsB;YA0CtB,UAAU;YAaV,YAAY;YAUZ,kBAAkB;YAyBlB,oBAAoB;IA4BlC,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,OAAO;IAKf,kBAAkB,CAAC,QAAQ,SAAO,GAAG,IAAI;IASzC,gBAAgB,IAAI,IAAI;IAQxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IA2B7D,KAAK,IAAI,IAAI;IAUb,SAAS,IAAI,MAAM;IAInB,gBAAgB,IAAI,MAAM;IAO1B,QAAQ,IAAI,aAAa;IAIzB,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAO/C,eAAe,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAW9E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO;IAM5G,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO;IAMhH,WAAW,IAAI,IAAI;IAGnB,wBAAwB,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAI7I,KAAK,IAAI,IAAI;IAIb,YAAY,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAIxC,WAAW,IAAI,IAAI;IAKnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IA0C7C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ/B,OAAO,IAAI,IAAI;IAiBf,OAAO,CAAC,eAAe;CA4BxB"}
1
+ {"version":3,"file":"TerminalCore.d.ts","sourceRoot":"","sources":["../../src/core/TerminalCore.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  import { filterXtermAutoResponses } from '../utils/xtermAutoResponseFilter';
2
2
  import { createConsoleLogger, noopLogger } from '../utils/logger';
3
3
  import { TerminalState } from '../types';
4
+ const TERMINAL_SEARCH_MAX_RESULTS = 5000;
5
+ // Search highlighting: all matches use yellow background; active match uses yellow + red text.
6
+ const TERMINAL_SEARCH_MATCH_BACKGROUND = 'rgba(255, 234, 0, 0.38)';
7
+ const TERMINAL_SEARCH_ACTIVE_BACKGROUND = 'rgba(255, 234, 0, 0.72)';
8
+ const TERMINAL_SEARCH_ACTIVE_FOREGROUND = '#dc2626';
4
9
  // Dynamic imports avoid SSR issues and keep the bundle flexible.
5
10
  let TerminalCtor = null;
6
11
  let FitAddonCtor = null;
@@ -52,12 +57,29 @@ export class TerminalCore {
52
57
  this.needsFullRenderOnNextWrite = false;
53
58
  this.resizeObserver = null;
54
59
  this.resizeDebounceTimer = null;
60
+ this.focusResizeRaf = null;
55
61
  this.state = TerminalState.IDLE;
56
62
  this.isDisposed = false;
57
63
  this.isReplayingHistory = false;
58
64
  this.replayingHistoryTimer = null;
65
+ this.hasFocus = false;
66
+ this.resizeNotifySeq = 0;
67
+ this.lastNotifiedSize = null;
68
+ this.unbindResponsiveListeners = null;
69
+ this.searchQuery = '';
70
+ this.searchOptionsKey = '';
71
+ this.searchMatches = [];
72
+ this.searchMatchIndex = -1;
73
+ this.searchRowIndex = new Map();
74
+ this.searchResultsCallback = null;
75
+ this.searchOverlay = null;
76
+ this.searchOverlayRaf = null;
77
+ this.searchOverlayUnsubs = [];
78
+ // Temporary theme override while search is active.
79
+ this.searchThemeRestore = null;
59
80
  this.eventHandlers = eventHandlers;
60
81
  this.logger = logger ?? noopLogger;
82
+ this.responsive = TerminalCore.normalizeResponsiveConfig(config?.responsive);
61
83
  }
62
84
  // initialize creates the ghostty-web terminal instance and binds addons.
63
85
  async initialize() {
@@ -73,17 +95,15 @@ export class TerminalCore {
73
95
  await this.loadAddons();
74
96
  await this.openTerminal();
75
97
  this.setupEventListeners();
98
+ this.setupResponsiveListeners();
76
99
  this.startSizeWatching();
77
100
  this.setState(TerminalState.READY);
78
101
  setTimeout(() => {
79
- if (this.isReady() && this.fitAddon) {
80
- try {
81
- this.fitAddon.fit();
82
- }
83
- catch (error) {
84
- this.logger.debug('[TerminalCore] Post-initialization fit failed', { error });
85
- }
102
+ if (!this.isReady()) {
103
+ return;
86
104
  }
105
+ // Defer the initial fit slightly to ensure the container has stable layout and fonts are ready.
106
+ this.performResize('post_init');
87
107
  }, 100);
88
108
  }
89
109
  async createTerminalInstance() {
@@ -207,9 +227,44 @@ export class TerminalCore {
207
227
  });
208
228
  }
209
229
  if (this.eventHandlers.onResize) {
210
- this.terminal.onResize(this.eventHandlers.onResize);
230
+ this.terminal.onResize((size) => {
231
+ this.emitResize(size, { source: 'terminal' });
232
+ });
211
233
  }
212
234
  }
235
+ setupResponsiveListeners() {
236
+ const enabled = this.responsive.fitOnFocus || this.responsive.emitResizeOnFocus || this.responsive.notifyResizeOnlyWhenFocused;
237
+ if (!enabled) {
238
+ return;
239
+ }
240
+ const onFocusIn = () => {
241
+ this.hasFocus = true;
242
+ this.scheduleFocusResize();
243
+ };
244
+ const onFocusOut = () => {
245
+ // focusout fires even when moving focus within the subtree; re-check on next frame.
246
+ requestAnimationFrame(() => {
247
+ if (this.isDisposed) {
248
+ return;
249
+ }
250
+ this.hasFocus = this.isContainerFocused();
251
+ });
252
+ };
253
+ const onPointerDown = () => {
254
+ // pointerdown can happen before focus moves; treat it as "intent to interact".
255
+ this.hasFocus = true;
256
+ this.scheduleFocusResize();
257
+ };
258
+ this.container.addEventListener('focusin', onFocusIn);
259
+ this.container.addEventListener('focusout', onFocusOut);
260
+ this.container.addEventListener('pointerdown', onPointerDown);
261
+ this.hasFocus = this.isContainerFocused();
262
+ this.unbindResponsiveListeners = () => {
263
+ this.container.removeEventListener('focusin', onFocusIn);
264
+ this.container.removeEventListener('focusout', onFocusOut);
265
+ this.container.removeEventListener('pointerdown', onPointerDown);
266
+ };
267
+ }
213
268
  startSizeWatching() {
214
269
  if (!this.container || !this.fitAddon) {
215
270
  return;
@@ -224,22 +279,79 @@ export class TerminalCore {
224
279
  clearTimeout(this.resizeDebounceTimer);
225
280
  }
226
281
  this.resizeDebounceTimer = setTimeout(() => {
227
- this.performResize();
282
+ this.performResize('observer');
228
283
  }, 16);
229
284
  }
230
- performResize() {
285
+ performResize(reason) {
231
286
  if (!this.isReady() || !this.fitAddon || !this.terminal) {
232
287
  return;
233
288
  }
234
289
  if (this.container.clientWidth === 0 || this.container.clientHeight === 0) {
235
290
  return;
236
291
  }
292
+ const startSeq = this.resizeNotifySeq;
293
+ const before = this.lastNotifiedSize;
237
294
  try {
238
295
  this.fitAddon.fit();
239
296
  }
240
297
  catch (error) {
241
298
  this.logger.debug('[TerminalCore] Resize failed', { error });
242
299
  }
300
+ // Some ghostty-web builds may not always emit onResize for programmatic fit().
301
+ // Emit a deduped notification based on the actual terminal dimensions.
302
+ if (this.resizeNotifySeq !== startSeq) {
303
+ return;
304
+ }
305
+ const dims = this.getDimensions();
306
+ if (reason === 'focus' && this.responsive.emitResizeOnFocus) {
307
+ const force = Boolean(before) && before.cols === dims.cols && before.rows === dims.rows;
308
+ this.emitResize(dims, { source: 'core', force });
309
+ return;
310
+ }
311
+ this.emitResize(dims, { source: 'core' });
312
+ }
313
+ scheduleFocusResize() {
314
+ if (!this.responsive.fitOnFocus && !this.responsive.emitResizeOnFocus) {
315
+ return;
316
+ }
317
+ if (this.focusResizeRaf !== null) {
318
+ return;
319
+ }
320
+ this.focusResizeRaf = requestAnimationFrame(() => {
321
+ this.focusResizeRaf = null;
322
+ this.performResize('focus');
323
+ });
324
+ }
325
+ emitResize(size, opts) {
326
+ if (!this.eventHandlers.onResize) {
327
+ return;
328
+ }
329
+ if (this.responsive.notifyResizeOnlyWhenFocused && !this.hasFocus) {
330
+ return;
331
+ }
332
+ const cols = typeof size?.cols === 'number' ? size.cols : 0;
333
+ const rows = typeof size?.rows === 'number' ? size.rows : 0;
334
+ if (!opts.force && this.lastNotifiedSize && this.lastNotifiedSize.cols === cols && this.lastNotifiedSize.rows === rows) {
335
+ return;
336
+ }
337
+ this.lastNotifiedSize = { cols, rows };
338
+ this.resizeNotifySeq += 1;
339
+ try {
340
+ this.eventHandlers.onResize({ cols, rows });
341
+ }
342
+ catch (error) {
343
+ this.logger.warn('[TerminalCore] onResize handler threw', { error });
344
+ }
345
+ }
346
+ isContainerFocused() {
347
+ if (typeof document === 'undefined') {
348
+ return false;
349
+ }
350
+ const el = document.activeElement;
351
+ if (!el) {
352
+ return false;
353
+ }
354
+ return this.container.contains(el);
243
355
  }
244
356
  setState(newState) {
245
357
  if (this.state !== newState) {
@@ -327,19 +439,439 @@ export class TerminalCore {
327
439
  };
328
440
  }
329
441
  findNext(term, options) {
330
- void term;
331
- void options;
332
- return false;
442
+ return this.findInternal(term, options, 1);
333
443
  }
334
444
  findPrevious(term, options) {
335
- void term;
336
- void options;
337
- return false;
445
+ return this.findInternal(term, options, -1);
338
446
  }
339
447
  clearSearch() {
448
+ this.searchQuery = '';
449
+ this.searchOptionsKey = '';
450
+ this.searchMatches = [];
451
+ this.searchRowIndex = new Map();
452
+ this.searchMatchIndex = -1;
453
+ this.clearActiveSearchSelection();
454
+ this.disposeSearchOverlay();
455
+ this.restoreSearchTheme();
456
+ this.notifySearchResults();
340
457
  }
341
458
  setSearchResultsCallback(callback) {
342
- void callback;
459
+ this.searchResultsCallback = callback;
460
+ this.notifySearchResults();
461
+ }
462
+ notifySearchResults() {
463
+ if (!this.searchResultsCallback)
464
+ return;
465
+ const count = this.searchMatches.length;
466
+ const index = this.searchMatchIndex;
467
+ try {
468
+ this.searchResultsCallback({ resultIndex: index, resultCount: count });
469
+ }
470
+ catch (error) {
471
+ this.logger.debug('[TerminalCore] Search results callback failed', { error });
472
+ }
473
+ }
474
+ findInternal(rawTerm, options, dir) {
475
+ if (!this.terminal || !this.isReady())
476
+ return false;
477
+ const term = (rawTerm ?? '').trim();
478
+ const key = JSON.stringify({
479
+ term,
480
+ caseSensitive: Boolean(options?.caseSensitive),
481
+ wholeWord: Boolean(options?.wholeWord),
482
+ regex: Boolean(options?.regex)
483
+ });
484
+ if (!term) {
485
+ this.clearSearch();
486
+ return false;
487
+ }
488
+ const shouldRescan = term !== this.searchQuery || key !== this.searchOptionsKey;
489
+ this.searchQuery = term;
490
+ this.searchOptionsKey = key;
491
+ if (shouldRescan) {
492
+ this.searchMatches = this.scanTerminalMatches(term, options);
493
+ this.searchRowIndex = this.buildSearchRowIndex(this.searchMatches);
494
+ this.searchMatchIndex = this.searchMatches.length > 0 ? (dir === 1 ? 0 : this.searchMatches.length - 1) : -1;
495
+ this.ensureSearchTheme();
496
+ this.ensureSearchOverlaySubscriptions();
497
+ this.scheduleRenderSearchOverlay();
498
+ }
499
+ else if (this.searchMatches.length > 0) {
500
+ this.searchMatchIndex = dir === 1
501
+ ? (this.searchMatchIndex + 1) % this.searchMatches.length
502
+ : (this.searchMatchIndex - 1 + this.searchMatches.length) % this.searchMatches.length;
503
+ }
504
+ const match = this.searchMatchIndex >= 0 ? this.searchMatches[this.searchMatchIndex] : null;
505
+ if (!match) {
506
+ this.clearActiveSearchSelection();
507
+ this.scheduleRenderSearchOverlay();
508
+ this.notifySearchResults();
509
+ return false;
510
+ }
511
+ this.applySearchMatch(match);
512
+ this.scheduleRenderSearchOverlay();
513
+ this.notifySearchResults();
514
+ return true;
515
+ }
516
+ scanTerminalMatches(term, options) {
517
+ const t = this.terminal;
518
+ if (!t)
519
+ return [];
520
+ const buffer = t.buffer?.active;
521
+ if (!buffer || typeof buffer.length !== 'number')
522
+ return [];
523
+ const caseSensitive = Boolean(options?.caseSensitive);
524
+ const query = caseSensitive ? term : term.toLowerCase();
525
+ const tokens = query.split(/\\s+/).filter(Boolean);
526
+ let regex = null;
527
+ if (options?.regex) {
528
+ try {
529
+ regex = new RegExp(term, caseSensitive ? 'g' : 'gi');
530
+ }
531
+ catch {
532
+ regex = null;
533
+ }
534
+ }
535
+ const results = [];
536
+ for (let row = 0; row < buffer.length; row += 1) {
537
+ const line = buffer.getLine(row);
538
+ if (!line)
539
+ continue;
540
+ const raw = line.translateToString(false);
541
+ if (!raw)
542
+ continue;
543
+ const text = caseSensitive ? raw : raw.toLowerCase();
544
+ if (regex) {
545
+ regex.lastIndex = 0;
546
+ for (;;) {
547
+ const m = regex.exec(raw);
548
+ if (!m || typeof m.index !== 'number')
549
+ break;
550
+ const len = Math.max(1, String(m[0] ?? '').length);
551
+ results.push({ row, col: m.index, len });
552
+ if (results.length >= TERMINAL_SEARCH_MAX_RESULTS)
553
+ break;
554
+ if (len <= 0)
555
+ break;
556
+ if (regex.lastIndex === m.index)
557
+ regex.lastIndex += 1;
558
+ }
559
+ }
560
+ else if (tokens.length <= 1) {
561
+ const needle = query;
562
+ let idx = 0;
563
+ while (idx <= text.length - needle.length) {
564
+ const at = text.indexOf(needle, idx);
565
+ if (at < 0)
566
+ break;
567
+ if (options?.wholeWord && !this.isWholeWordMatch(text, at, needle.length)) {
568
+ idx = at + Math.max(1, needle.length);
569
+ continue;
570
+ }
571
+ results.push({ row, col: at, len: Math.max(1, needle.length) });
572
+ if (results.length >= TERMINAL_SEARCH_MAX_RESULTS)
573
+ break;
574
+ idx = at + Math.max(1, needle.length);
575
+ }
576
+ }
577
+ else {
578
+ // Multi-token fuzzy: tokens must appear in order; highlight the full span.
579
+ let from = 0;
580
+ let start = -1;
581
+ let end = -1;
582
+ let ok = true;
583
+ for (const token of tokens) {
584
+ const at = text.indexOf(token, from);
585
+ if (at < 0) {
586
+ ok = false;
587
+ break;
588
+ }
589
+ if (start < 0)
590
+ start = at;
591
+ end = at + token.length;
592
+ from = end;
593
+ }
594
+ if (ok && start >= 0 && end > start) {
595
+ const len = end - start;
596
+ if (!options?.wholeWord || this.isWholeWordMatch(text, start, len)) {
597
+ results.push({ row, col: start, len });
598
+ }
599
+ }
600
+ }
601
+ if (results.length >= TERMINAL_SEARCH_MAX_RESULTS)
602
+ break;
603
+ }
604
+ // Prefer recent output: sort from bottom to top.
605
+ results.sort((a, b) => {
606
+ const dr = b.row - a.row;
607
+ if (dr !== 0)
608
+ return dr;
609
+ return a.col - b.col;
610
+ });
611
+ return results;
612
+ }
613
+ buildSearchRowIndex(matches) {
614
+ const byRow = new Map();
615
+ for (const m of matches) {
616
+ const list = byRow.get(m.row);
617
+ if (list)
618
+ list.push(m);
619
+ else
620
+ byRow.set(m.row, [m]);
621
+ }
622
+ return byRow;
623
+ }
624
+ isWholeWordMatch(haystack, start, len) {
625
+ const before = start > 0 ? haystack[start - 1] : '';
626
+ const after = start + len < haystack.length ? haystack[start + len] : '';
627
+ const isWordChar = (ch) => /[0-9A-Za-z_]/.test(ch);
628
+ if (before && isWordChar(before))
629
+ return false;
630
+ if (after && isWordChar(after))
631
+ return false;
632
+ return true;
633
+ }
634
+ applySearchMatch(match) {
635
+ const t = this.terminal;
636
+ if (!t)
637
+ return;
638
+ const scrollbackLen = typeof t.getScrollbackLength === 'function' ? t.getScrollbackLength() : 0;
639
+ const rows = typeof t.rows === 'number' ? t.rows : 24;
640
+ // Center the match line in viewport when possible.
641
+ const desiredTop = match.row >= scrollbackLen ? scrollbackLen : Math.max(0, Math.min(scrollbackLen, match.row - Math.floor(rows / 2)));
642
+ const viewportY = Math.max(0, Math.min(scrollbackLen, scrollbackLen - desiredTop));
643
+ if (typeof t.scrollToLine === 'function')
644
+ t.scrollToLine(viewportY);
645
+ const sm = t?.selectionManager;
646
+ const startCol = Math.max(0, match.col);
647
+ const endCol = Math.max(startCol, startCol + Math.max(1, match.len) - 1);
648
+ if (sm) {
649
+ this.patchSearchSelectionManager(sm);
650
+ sm.__floeterm_searchAllowSingleCellSelection = true;
651
+ sm.markCurrentSelectionDirty?.();
652
+ sm.selectionStart = { col: startCol, absoluteRow: match.row };
653
+ sm.selectionEnd = { col: endCol, absoluteRow: match.row };
654
+ sm.markCurrentSelectionDirty?.();
655
+ sm.selectionChangedEmitter?.fire?.();
656
+ return;
657
+ }
658
+ // Fallback: select within viewport row (may fail for scrollback).
659
+ const viewportRow = Math.max(0, Math.min(rows - 1, Math.floor(rows / 2)));
660
+ if (typeof t.select === 'function') {
661
+ t.select(startCol, viewportRow, Math.max(1, match.len));
662
+ }
663
+ }
664
+ clearActiveSearchSelection() {
665
+ const t = this.terminal;
666
+ const sm = t?.selectionManager;
667
+ if (sm) {
668
+ sm.__floeterm_searchAllowSingleCellSelection = false;
669
+ }
670
+ if (t?.clearSelection) {
671
+ try {
672
+ t.clearSelection();
673
+ }
674
+ catch {
675
+ }
676
+ }
677
+ }
678
+ patchSearchSelectionManager(sm) {
679
+ if (!sm || sm.__floeterm_searchPatched)
680
+ return;
681
+ const original = typeof sm.hasSelection === 'function' ? sm.hasSelection.bind(sm) : null;
682
+ if (!original)
683
+ return;
684
+ sm.__floeterm_searchPatched = true;
685
+ sm.__floeterm_searchAllowSingleCellSelection = false;
686
+ sm.hasSelection = () => {
687
+ // Keep original mouse selection semantics, but allow a single-cell selection for search.
688
+ if (sm.__floeterm_searchAllowSingleCellSelection && sm.selectionStart && sm.selectionEnd)
689
+ return true;
690
+ return original();
691
+ };
692
+ }
693
+ ensureSearchTheme() {
694
+ if (!this.terminal)
695
+ return;
696
+ if (this.searchThemeRestore)
697
+ return;
698
+ const terminalAny = this.terminal;
699
+ const rendererTheme = terminalAny?.renderer?.theme;
700
+ const base = rendererTheme && typeof rendererTheme === 'object' ? { ...rendererTheme } : mapThemeToGhostty(this.config.theme);
701
+ this.searchThemeRestore = { ...base };
702
+ const themed = this.applySearchThemeOverride(base);
703
+ this.applyRendererTheme(terminalAny, themed);
704
+ }
705
+ restoreSearchTheme() {
706
+ if (!this.terminal)
707
+ return;
708
+ if (!this.searchThemeRestore)
709
+ return;
710
+ const terminalAny = this.terminal;
711
+ const restore = this.searchThemeRestore;
712
+ this.searchThemeRestore = null;
713
+ this.applyRendererTheme(terminalAny, restore);
714
+ }
715
+ applySearchThemeOverride(theme) {
716
+ return {
717
+ ...theme,
718
+ selectionBackground: TERMINAL_SEARCH_ACTIVE_BACKGROUND,
719
+ selectionForeground: TERMINAL_SEARCH_ACTIVE_FOREGROUND,
720
+ selection: TERMINAL_SEARCH_ACTIVE_BACKGROUND
721
+ };
722
+ }
723
+ applyRendererTheme(terminalAny, theme) {
724
+ // ghostty-web emits a warning when mutating options.theme after open().
725
+ // Apply theme directly to the renderer to avoid noisy console output.
726
+ if (!terminalAny.isOpen && this.terminal) {
727
+ this.terminal.options.theme = theme;
728
+ }
729
+ terminalAny.renderer?.setTheme?.(theme);
730
+ if (terminalAny.renderer?.render && terminalAny.wasmTerm) {
731
+ try {
732
+ terminalAny.renderer.render(terminalAny.wasmTerm, true, terminalAny.viewportY ?? 0, terminalAny, terminalAny.scrollbarOpacity);
733
+ }
734
+ catch (error) {
735
+ this.logger.debug('[TerminalCore] Theme render failed', { error });
736
+ }
737
+ }
738
+ }
739
+ ensureSearchOverlaySubscriptions() {
740
+ const t = this.terminal;
741
+ if (!t)
742
+ return;
743
+ if (this.searchOverlayUnsubs.length > 0)
744
+ return;
745
+ // Keep overlay synced with scroll/resize.
746
+ const onScroll = typeof t.onScroll === 'function' ? t.onScroll(() => this.scheduleRenderSearchOverlay()) : null;
747
+ if (onScroll?.dispose)
748
+ this.searchOverlayUnsubs.push(() => onScroll.dispose());
749
+ const onResize = typeof t.onResize === 'function' ? t.onResize(() => this.scheduleRenderSearchOverlay()) : null;
750
+ if (onResize?.dispose)
751
+ this.searchOverlayUnsubs.push(() => onResize.dispose());
752
+ }
753
+ disposeSearchOverlaySubscriptions() {
754
+ for (const unsub of this.searchOverlayUnsubs)
755
+ unsub();
756
+ this.searchOverlayUnsubs = [];
757
+ }
758
+ disposeSearchOverlay() {
759
+ if (this.searchOverlayRaf !== null) {
760
+ cancelAnimationFrame(this.searchOverlayRaf);
761
+ this.searchOverlayRaf = null;
762
+ }
763
+ this.disposeSearchOverlaySubscriptions();
764
+ if (this.searchOverlay?.canvas?.parentElement) {
765
+ this.searchOverlay.canvas.parentElement.removeChild(this.searchOverlay.canvas);
766
+ }
767
+ this.searchOverlay = null;
768
+ }
769
+ ensureSearchOverlay() {
770
+ const t = this.terminal;
771
+ if (!t)
772
+ return null;
773
+ const renderer = t?.renderer;
774
+ const termCanvas = renderer?.getCanvas?.();
775
+ if (!termCanvas)
776
+ return null;
777
+ // Ensure we have a positioning context.
778
+ try {
779
+ const style = getComputedStyle(this.container);
780
+ if (style.position === 'static')
781
+ this.container.style.position = 'relative';
782
+ }
783
+ catch {
784
+ }
785
+ if (this.searchOverlay && this.searchOverlay.termCanvas !== termCanvas) {
786
+ this.disposeSearchOverlay();
787
+ }
788
+ if (!this.searchOverlay) {
789
+ const overlay = document.createElement('canvas');
790
+ overlay.style.position = 'absolute';
791
+ overlay.style.top = '0';
792
+ overlay.style.left = '0';
793
+ overlay.style.pointerEvents = 'none';
794
+ overlay.style.zIndex = '5';
795
+ const ctx = overlay.getContext('2d');
796
+ if (!ctx)
797
+ return null;
798
+ this.container.appendChild(overlay);
799
+ this.searchOverlay = {
800
+ canvas: overlay,
801
+ ctx,
802
+ dpr: 1,
803
+ cssWidth: 0,
804
+ cssHeight: 0,
805
+ termCanvas
806
+ };
807
+ }
808
+ const cssWidth = termCanvas.getBoundingClientRect().width;
809
+ const cssHeight = termCanvas.getBoundingClientRect().height;
810
+ const dpr = cssWidth > 0 ? termCanvas.width / cssWidth : window.devicePixelRatio ?? 1;
811
+ if (this.searchOverlay.canvas.width !== termCanvas.width ||
812
+ this.searchOverlay.canvas.height !== termCanvas.height ||
813
+ this.searchOverlay.cssWidth !== cssWidth ||
814
+ this.searchOverlay.cssHeight !== cssHeight ||
815
+ this.searchOverlay.dpr !== dpr) {
816
+ this.searchOverlay.dpr = Number.isFinite(dpr) && dpr > 0 ? dpr : 1;
817
+ this.searchOverlay.cssWidth = cssWidth;
818
+ this.searchOverlay.cssHeight = cssHeight;
819
+ this.searchOverlay.canvas.style.width = `${cssWidth}px`;
820
+ this.searchOverlay.canvas.style.height = `${cssHeight}px`;
821
+ this.searchOverlay.canvas.width = termCanvas.width;
822
+ this.searchOverlay.canvas.height = termCanvas.height;
823
+ this.searchOverlay.ctx.setTransform(1, 0, 0, 1, 0, 0);
824
+ this.searchOverlay.ctx.scale(this.searchOverlay.dpr, this.searchOverlay.dpr);
825
+ }
826
+ return this.searchOverlay;
827
+ }
828
+ scheduleRenderSearchOverlay() {
829
+ if (this.searchOverlayRaf !== null)
830
+ return;
831
+ this.searchOverlayRaf = requestAnimationFrame(() => {
832
+ this.searchOverlayRaf = null;
833
+ this.renderSearchOverlay();
834
+ });
835
+ }
836
+ renderSearchOverlay() {
837
+ const overlay = this.ensureSearchOverlay();
838
+ if (!overlay)
839
+ return;
840
+ const t = this.terminal;
841
+ const queryActive = this.searchQuery.trim().length > 0;
842
+ const rowIndex = this.searchRowIndex;
843
+ if (!queryActive || rowIndex.size === 0 || !t) {
844
+ overlay.ctx.clearRect(0, 0, overlay.cssWidth, overlay.cssHeight);
845
+ return;
846
+ }
847
+ const renderer = t?.renderer;
848
+ const charW = typeof renderer?.charWidth === 'number' ? renderer.charWidth : 0;
849
+ const charH = typeof renderer?.charHeight === 'number' ? renderer.charHeight : 0;
850
+ const cols = typeof t.cols === 'number' ? t.cols : 0;
851
+ const rows = typeof t.rows === 'number' ? t.rows : 0;
852
+ const scrollbackLen = typeof t.getScrollbackLength === 'function' ? t.getScrollbackLength() : 0;
853
+ const viewportY = Math.max(0, Math.floor(typeof t.getViewportY === 'function' ? t.getViewportY() : t.viewportY ?? 0));
854
+ const viewportTop = Math.max(0, scrollbackLen - viewportY);
855
+ if (charW <= 0 || charH <= 0 || cols <= 0 || rows <= 0) {
856
+ overlay.ctx.clearRect(0, 0, overlay.cssWidth, overlay.cssHeight);
857
+ return;
858
+ }
859
+ overlay.ctx.clearRect(0, 0, overlay.cssWidth, overlay.cssHeight);
860
+ overlay.ctx.fillStyle = TERMINAL_SEARCH_MATCH_BACKGROUND;
861
+ for (let y = 0; y < rows; y += 1) {
862
+ const absRow = viewportTop + y;
863
+ const list = rowIndex.get(absRow);
864
+ if (!list || list.length === 0)
865
+ continue;
866
+ for (const m of list) {
867
+ const col = Math.max(0, Math.min(cols - 1, m.col));
868
+ const maxLen = Math.max(0, cols - col);
869
+ const len = Math.max(0, Math.min(maxLen, m.len));
870
+ if (len <= 0)
871
+ continue;
872
+ overlay.ctx.fillRect(col * charW, y * charH, len * charW, charH);
873
+ }
874
+ }
343
875
  }
344
876
  focus() {
345
877
  this.terminal?.focus();
@@ -348,7 +880,7 @@ export class TerminalCore {
348
880
  this.setState(isConnected ? TerminalState.CONNECTED : TerminalState.READY);
349
881
  }
350
882
  forceResize() {
351
- this.performResize();
883
+ this.performResize('force');
352
884
  this.forceFullRender();
353
885
  }
354
886
  setTheme(theme) {
@@ -359,22 +891,14 @@ export class TerminalCore {
359
891
  return;
360
892
  }
361
893
  const terminalAny = this.terminal;
362
- // ghostty-web emits a warning when mutating options.theme after open().
363
- // Apply theme directly to the renderer to avoid noisy console output.
364
- if (!terminalAny.isOpen) {
365
- this.terminal.options.theme = mapped;
366
- }
367
- if (terminalAny.renderer?.setTheme) {
368
- terminalAny.renderer.setTheme(mapped);
369
- }
370
- if (terminalAny.renderer?.render && terminalAny.wasmTerm) {
371
- try {
372
- terminalAny.renderer.render(terminalAny.wasmTerm, true, terminalAny.viewportY ?? 0, terminalAny, terminalAny.scrollbarOpacity);
373
- }
374
- catch (error) {
375
- this.logger.debug('[TerminalCore] Theme render failed', { error });
376
- }
894
+ // If search is active, apply the theme but keep the search selection colors.
895
+ if (this.searchQuery.trim().length > 0) {
896
+ this.searchThemeRestore = { ...mapped };
897
+ this.applyRendererTheme(terminalAny, this.applySearchThemeOverride(mapped));
898
+ this.scheduleRenderSearchOverlay();
899
+ return;
377
900
  }
901
+ this.applyRendererTheme(terminalAny, mapped);
378
902
  }
379
903
  setFontSize(size) {
380
904
  if (!this.terminal) {
@@ -385,6 +909,12 @@ export class TerminalCore {
385
909
  }
386
910
  dispose() {
387
911
  this.isDisposed = true;
912
+ if (this.focusResizeRaf !== null) {
913
+ cancelAnimationFrame(this.focusResizeRaf);
914
+ this.focusResizeRaf = null;
915
+ }
916
+ this.unbindResponsiveListeners?.();
917
+ this.unbindResponsiveListeners = null;
388
918
  this.resizeObserver?.disconnect();
389
919
  this.resizeObserver = null;
390
920
  if (this.resizeDebounceTimer) {
@@ -395,10 +925,19 @@ export class TerminalCore {
395
925
  clearTimeout(this.replayingHistoryTimer);
396
926
  this.replayingHistoryTimer = null;
397
927
  }
928
+ this.disposeSearchOverlay();
398
929
  this.terminal?.dispose();
399
930
  this.terminal = null;
400
931
  this.setState(TerminalState.DISPOSED);
401
932
  }
933
+ static normalizeResponsiveConfig(value) {
934
+ const raw = (typeof value === 'object' && value) ? value : {};
935
+ return {
936
+ fitOnFocus: Boolean(raw.fitOnFocus),
937
+ emitResizeOnFocus: Boolean(raw.emitResizeOnFocus),
938
+ notifyResizeOnlyWhenFocused: Boolean(raw.notifyResizeOnlyWhenFocused),
939
+ };
940
+ }
402
941
  forceFullRender() {
403
942
  if (!this.terminal || !this.isReady()) {
404
943
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalCore.js","sourceRoot":"","sources":["../../src/core/TerminalCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TerminalCore.js","sourceRoot":"","sources":["../../src/core/TerminalCore.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { TerminalCore } from './core/TerminalCore';
2
2
  export { useTerminalInstance } from './hooks/useTerminalInstance';
3
- export type { Logger, TerminalConfig, TerminalEventHandlers, TerminalState, TerminalID, TerminalSessionInfo, TerminalDataChunk, TerminalDataEvent, TerminalNameUpdateEvent, TerminalTransport, TerminalEventSource, TerminalManagerOptions, TerminalManagerReturn, TerminalManagerActions, TerminalManagerState, TerminalError, TerminalThemeName } from './types';
3
+ export type { Logger, TerminalConfig, TerminalResponsiveConfig, TerminalEventHandlers, TerminalState, TerminalID, TerminalSessionInfo, TerminalDataChunk, TerminalDataEvent, TerminalNameUpdateEvent, TerminalTransport, TerminalEventSource, TerminalManagerOptions, TerminalManagerReturn, TerminalManagerActions, TerminalManagerState, TerminalError, TerminalThemeName } from './types';
4
4
  export { getThemeColors, getDefaultTerminalConfig } from './utils/config';
5
5
  export { filterXtermAutoResponses } from './utils/xtermAutoResponseFilter';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,YAAY,EACV,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,YAAY,EACV,MAAM,EACN,cAAc,EACd,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAsBlE,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAuBlE,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -7,6 +7,26 @@ export declare enum TerminalState {
7
7
  ERROR = "error",
8
8
  DISPOSED = "disposed"
9
9
  }
10
+ export interface TerminalResponsiveConfig {
11
+ /**
12
+ * When true, perform a fit() after the terminal receives focus/pointer interaction.
13
+ * This helps keep the terminal responsive when switching between multiple panes/tabs.
14
+ */
15
+ fitOnFocus?: boolean;
16
+ /**
17
+ * When true, emit a resize notification when the terminal receives focus, even if the
18
+ * measured cols/rows did not change since the last notification.
19
+ *
20
+ * This is useful for "remote PTY sync" scenarios where another view might have resized
21
+ * the remote session while this view was inactive.
22
+ */
23
+ emitResizeOnFocus?: boolean;
24
+ /**
25
+ * When true, suppress resize notifications unless the terminal is focused.
26
+ * This avoids inactive/hidden terminals overriding remote cols/rows.
27
+ */
28
+ notifyResizeOnlyWhenFocused?: boolean;
29
+ }
10
30
  export interface TerminalConfig {
11
31
  cols?: number;
12
32
  rows?: number;
@@ -19,6 +39,7 @@ export interface TerminalConfig {
19
39
  allowTransparency?: boolean;
20
40
  convertEol?: boolean;
21
41
  allowProposedApi?: boolean;
42
+ responsive?: TerminalResponsiveConfig;
22
43
  [key: string]: unknown;
23
44
  }
24
45
  export interface Logger {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAGD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACjE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAChE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAChE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAClE;AAGD,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAID,MAAM,WAAW,gBAAgB;IAC/B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC;IAChB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC9D,KAAK,IAAI,IAAI,CAAC;IACd,SAAS,IAAI,MAAM,CAAC;IACpB,gBAAgB,IAAI,MAAM,CAAC;IAC3B,QAAQ,IAAI,aAAa,CAAC;IAC1B,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,eAAe,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IACzD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAC7D,WAAW,IAAI,IAAI,CAAC;IACpB,wBAAwB,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9I,KAAK,IAAI,IAAI,CAAC;IACd,YAAY,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,WAAW,IAAI,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC9C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,uBAAuB;IACtC,KACE,SAAS,EAAE,WAAW,EACtB,MAAM,CAAC,EAAE,cAAc,EACvB,aAAa,CAAC,EAAE,qBAAqB,EACrC,MAAM,CAAC,EAAE,MAAM,GACd,gBAAgB,CAAC;CACrB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,UAAU,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC/F,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,YAAY,CAAC,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChD,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/G,aAAa,CAAC,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,aAAa,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE;AAGD,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC/F,oBAAoB,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5G,gBAAgB,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC3E;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,eAAO,MAAM,oBAAoB,GAAI,OAAO,oBAAoB;aAE/C,OAAO;iBAGH,OAAO;cAGV,OAAO;oBAGD,OAAO;YAGf,OAAO;WAnBd,aAAa;YACZ,KAAK;gBACD;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;CAoB1C,CAAC;AAEH,MAAM,MAAM,gCAAgC,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC;IAC7D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC;IACjE,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,MAAM,CAAC;IAC/B,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,wBAAwB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAClJ,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,eAAe,EAAE,MAAM;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnF,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,WAAW,EAAE,mBAAmB,CAAC;IACjC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,eAAe,CAAC,EAAE,uBAAuB,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,sBAAsB,GAAI,YAAY,uBAAuB;kBAEpD,OAAO;iBAGR,OAAO;WAdnB,MAAM;WACN,aAAa,GAAG,IAAI;gBACf,MAAM;aACT,MAAM,IAAI;gBACP,MAAM,IAAI;WACf,MAAM,IAAI;gBACL,MAAM,IAAI;CAWtB,CAAC;AAEH,MAAM,MAAM,mCAAmC,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5F,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,KAAK,EAAE,gCAAgC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC;IAChC,UAAU,EAAE,mCAAmC,CAAC;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,eAAe,GAAG,SAAS,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,8CAA6B,CAAA;IAC7B,gCAAe,CAAA;IACf,wCAAuB,CAAA;IACvB,gCAAe,CAAA;IACf,sCAAqB,CAAA;AACvB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AA6HD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAA2B,EAAE,EAAE,CAAC,CAAC;IACpE,GAAG,KAAK;IACR,IAAI,OAAO;QACT,OAAO,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,SAAS,CAAC;IACxF,CAAC;IACD,IAAI,WAAW;QACb,OAAO,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,SAAS,CAAC;IACjD,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC;IAC7C,CAAC;IACD,IAAI,cAAc;QAChB,OAAO,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,YAAY,CAAC;IACpD,CAAC;IACD,IAAI,MAAM;QACR,OAAO,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,IAAI,CAAC;IAC5C,CAAC;CACF,CAAC,CAAC;AAgEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAAmC,EAAE,EAAE,CAAC,CAAC;IAC9E,GAAG,UAAU;IACb,IAAI,YAAY;QACd,OAAO,UAAU,CAAC,KAAK,KAAK,YAAY,CAAC;IAC3C,CAAC;IACD,IAAI,WAAW;QACb,OAAO,UAAU,CAAC,KAAK,KAAK,WAAW,CAAC;IAC1C,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,8CAA6B,CAAA;IAC7B,gCAAe,CAAA;IACf,wCAAuB,CAAA;IACvB,gCAAe,CAAA;IACf,sCAAqB,CAAA;AACvB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAqJD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAA2B,EAAE,EAAE,CAAC,CAAC;IACpE,GAAG,KAAK;IACR,IAAI,OAAO;QACT,OAAO,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,SAAS,CAAC;IACxF,CAAC;IACD,IAAI,WAAW;QACb,OAAO,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,SAAS,CAAC;IACjD,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC;IAC7C,CAAC;IACD,IAAI,cAAc;QAChB,OAAO,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,YAAY,CAAC;IACpD,CAAC;IACD,IAAI,MAAM;QACR,OAAO,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,IAAI,CAAC;IAC5C,CAAC;CACF,CAAC,CAAC;AAgEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAAmC,EAAE,EAAE,CAAC,CAAC;IAC9E,GAAG,UAAU;IACb,IAAI,YAAY;QACd,OAAO,UAAU,CAAC,KAAK,KAAK,YAAY,CAAC;IAC3C,CAAC;IACD,IAAI,WAAW;QACb,OAAO,UAAU,CAAC,KAAK,KAAK,WAAW,CAAC;IAC1C,CAAC;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floegence/floeterm-terminal-web",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Headless ghostty-web (xterm.js API-compatible) integration with data flow utilities. Provides TerminalCore and a React hook without UI components.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -53,6 +53,7 @@
53
53
  "@types/react": "^18.2.0",
54
54
  "@types/react-dom": "^18.2.0",
55
55
  "@types/react-test-renderer": "^18.0.0",
56
+ "jsdom": "^24.1.3",
56
57
  "react": "^18.2.0",
57
58
  "react-dom": "^18.2.0",
58
59
  "react-test-renderer": "^18.2.0",