@teaui/core 1.17.16 → 1.19.16

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 (72) hide show
  1. package/.dist/Buffer.d.ts +5 -0
  2. package/.dist/Buffer.js +47 -5
  3. package/.dist/Buffer.js.map +1 -1
  4. package/.dist/Screen.d.ts +17 -4
  5. package/.dist/Screen.js +90 -44
  6. package/.dist/Screen.js.map +1 -1
  7. package/.dist/StringTerminal.d.ts +2 -2
  8. package/.dist/StringTerminal.js +34 -26
  9. package/.dist/StringTerminal.js.map +1 -1
  10. package/.dist/Style.d.ts +9 -1
  11. package/.dist/Style.js +69 -23
  12. package/.dist/Style.js.map +1 -1
  13. package/.dist/TerminalProgram.js +4 -2
  14. package/.dist/TerminalProgram.js.map +1 -1
  15. package/.dist/TestScreen.js +8 -4
  16. package/.dist/TestScreen.js.map +1 -1
  17. package/.dist/TestTerminal.js +23 -13
  18. package/.dist/TestTerminal.js.map +1 -1
  19. package/.dist/Viewport.js +7 -3
  20. package/.dist/Viewport.js.map +1 -1
  21. package/.dist/ansi.d.ts +1 -0
  22. package/.dist/ansi.js +2 -0
  23. package/.dist/ansi.js.map +1 -1
  24. package/.dist/components/AbstractLegend.js +10 -5
  25. package/.dist/components/AbstractLegend.js.map +1 -1
  26. package/.dist/components/At.js +8 -4
  27. package/.dist/components/At.js.map +1 -1
  28. package/.dist/components/Box.js +4 -2
  29. package/.dist/components/Box.js.map +1 -1
  30. package/.dist/components/Calendar.js +14 -7
  31. package/.dist/components/Calendar.js.map +1 -1
  32. package/.dist/components/Canvas.js +20 -10
  33. package/.dist/components/Canvas.js.map +1 -1
  34. package/.dist/components/Drawer.d.ts +3 -0
  35. package/.dist/components/Drawer.js +104 -41
  36. package/.dist/components/Drawer.js.map +1 -1
  37. package/.dist/components/Input.js +2 -1
  38. package/.dist/components/Input.js.map +1 -1
  39. package/.dist/components/Logo.js +4 -2
  40. package/.dist/components/Logo.js.map +1 -1
  41. package/.dist/components/Notification.js +2 -1
  42. package/.dist/components/Notification.js.map +1 -1
  43. package/.dist/components/Page.js +14 -7
  44. package/.dist/components/Page.js.map +1 -1
  45. package/.dist/components/Pane.js +6 -3
  46. package/.dist/components/Pane.js.map +1 -1
  47. package/.dist/components/Plot.js +16 -8
  48. package/.dist/components/Plot.js.map +1 -1
  49. package/.dist/components/Slider.js +2 -1
  50. package/.dist/components/Slider.js.map +1 -1
  51. package/.dist/components/Tabs.js +2 -1
  52. package/.dist/components/Tabs.js.map +1 -1
  53. package/.dist/components/Text.js +36 -25
  54. package/.dist/components/Text.js.map +1 -1
  55. package/.dist/components/ZStack.js +8 -4
  56. package/.dist/components/ZStack.js.map +1 -1
  57. package/.dist/components/charts/BarChart.js +18 -9
  58. package/.dist/components/charts/BarChart.js.map +1 -1
  59. package/.dist/components/charts/Chart.js +2 -1
  60. package/.dist/components/charts/Chart.js.map +1 -1
  61. package/.dist/components/charts/LineChart.js +26 -13
  62. package/.dist/components/charts/LineChart.js.map +1 -1
  63. package/.dist/events/key.js +8 -4
  64. package/.dist/events/key.js.map +1 -1
  65. package/.dist/events/translate.js +8 -4
  66. package/.dist/events/translate.js.map +1 -1
  67. package/.dist/geometry.js +2 -1
  68. package/.dist/geometry.js.map +1 -1
  69. package/.dist/index.d.ts +2 -0
  70. package/.dist/index.js.map +1 -1
  71. package/.dist/types.d.ts +6 -6
  72. package/package.json +4 -4
package/.dist/Buffer.d.ts CHANGED
@@ -13,6 +13,11 @@ export declare class Buffer implements Terminal {
13
13
  * Used by test harnesses that reset the terminal between renders.
14
14
  */
15
15
  invalidate(): void;
16
+ /**
17
+ * Serialize the cells held in #prev as ANSI. Pending canvas writes are excluded; an empty or
18
+ * invalidated buffer returns empty text.
19
+ */
20
+ snapshot(): string;
16
21
  /**
17
22
  * Writes the string at the cursor from left to write. Exits on newline (no default
18
23
  * wrapping behavior).
package/.dist/Buffer.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as unicode from '@teaui/term';
2
- import { BG_DRAW } from './ansi.js';
2
+ import { BG_DRAW, RESET, LINK_CLOSE } from './ansi.js';
3
3
  import { Style } from './Style.js';
4
4
  import { Size } from './geometry.js';
5
5
  const EMPTY_CELL = { char: ' ', style: Style.NONE, width: 1 };
@@ -28,6 +28,40 @@ export class Buffer {
28
28
  invalidate() {
29
29
  this.#prev = new Map();
30
30
  }
31
+ /**
32
+ * Serialize the cells held in #prev as ANSI. Pending canvas writes are excluded; an empty or
33
+ * invalidated buffer returns empty text.
34
+ */
35
+ snapshot() {
36
+ const { width, height } = this.size;
37
+ if (!this.#prev.size || !width || !height) {
38
+ return '';
39
+ }
40
+ const lines = [];
41
+ for (let y = 0; y < height; y++) {
42
+ const row = this.#prev.get(y);
43
+ const output = [RESET];
44
+ let previousStyle = Style.NONE;
45
+ for (let x = 0; x < width;) {
46
+ const cell = row?.get(x) ?? EMPTY_CELL;
47
+ // Wide-glyph continuation cells are not extra characters. A glyph that
48
+ // crosses the right edge contributes only its in-bounds blank cell.
49
+ const clipped = x + cell.width > width;
50
+ if (!previousStyle.isEqual(cell.style)) {
51
+ output.push(cell.style.toSGR(previousStyle));
52
+ previousStyle = cell.style;
53
+ }
54
+ output.push(clipped || cell.char === BG_DRAW ? ' ' : cell.char);
55
+ x += clipped ? 1 : cell.width;
56
+ }
57
+ if (previousStyle.link) {
58
+ output.push(LINK_CLOSE);
59
+ }
60
+ output.push(RESET);
61
+ lines.push(output.join(''));
62
+ }
63
+ return lines.join('\n');
64
+ }
31
65
  /**
32
66
  * Writes the string at the cursor from left to write. Exits on newline (no default
33
67
  * wrapping behavior).
@@ -109,8 +143,9 @@ export class Buffer {
109
143
  let bgCache = this.#mergeCache.get(bgStyle);
110
144
  if (bgCache) {
111
145
  const cached = bgCache.get(style);
112
- if (cached)
146
+ if (cached) {
113
147
  return cached;
148
+ }
114
149
  }
115
150
  else {
116
151
  bgCache = new Map();
@@ -136,8 +171,9 @@ export class Buffer {
136
171
  // over content that was rendered before this paint call.
137
172
  for (let y = rMinY; y < rMaxY; y++) {
138
173
  const line = this.#canvas.get(y);
139
- if (!line)
174
+ if (!line) {
140
175
  continue;
176
+ }
141
177
  for (let x = rMinX; x < rMaxX; x++) {
142
178
  line.delete(x);
143
179
  }
@@ -255,8 +291,13 @@ export class Buffer {
255
291
  }
256
292
  }
257
293
  }
294
+ // Clipping or diff-skipped cells may discard the input's closing OSC 8.
295
+ // Never leave the terminal linked after a flush, even at the right edge.
296
+ if (prevStyle.link) {
297
+ terminal.write(LINK_CLOSE);
298
+ }
258
299
  if (prevStyle !== Style.NONE) {
259
- terminal.write('\x1b[0m');
300
+ terminal.write(RESET);
260
301
  }
261
302
  terminal.flush();
262
303
  this.#canvas = new Map();
@@ -266,8 +307,9 @@ export class Buffer {
266
307
  this.#paintRects = [];
267
308
  }
268
309
  #paintRectsEqual(a, b) {
269
- if (a.length !== b.length)
310
+ if (a.length !== b.length) {
270
311
  return false;
312
+ }
271
313
  for (let i = 0; i < a.length; i++) {
272
314
  const ra = a[i];
273
315
  const rb = b[i];
@@ -1 +1 @@
1
- {"version":3,"file":"Buffer.js","sourceRoot":"","sources":["../lib/Buffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Buffer.js","sourceRoot":"","sources":["../lib/Buffer.ts"],"names":[],"mappings":"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"}
package/.dist/Screen.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Rect, Point } from './geometry.js';
2
- import { type Program, type ScreenOptions, type Unsubscribe } from './types.js';
2
+ import { type EventSource, type Program, type ScreenOptions, type Unsubscribe } from './types.js';
3
3
  import { View } from './View.js';
4
4
  import type { HotKeyDef, KeyEvent, MouseEventListenerName, SystemEvent, SystemMouseEvent } from './events/index.js';
5
5
  import { TerminalProgram } from './TerminalProgram.js';
@@ -35,14 +35,25 @@ export declare class Screen {
35
35
  */
36
36
  start(): void;
37
37
  /**
38
- * Puts the screen back in normal terminal mode, restores the normal buffer
38
+ * Restore the terminal and detach input. Attempt every synchronous cleanup,
39
+ * including every onExit callback, then return any failures.
39
40
  */
40
- stop(): void;
41
+ stop(): Error[];
41
42
  /**
42
43
  * Stops (putting the screen back in normal mode and buffer) and exits by emitting
43
44
  * process.exit(0)
44
45
  */
45
- exit(): void;
46
+ exit(): Error[];
47
+ /**
48
+ * Deliver an event through the same pipeline as terminal input, including
49
+ * screen.key() bindings (and quitChar). trigger() is the lower-level API.
50
+ */
51
+ dispatch(event: SystemEvent): void;
52
+ /**
53
+ * Subscribe another input source to dispatch(). The returned function detaches
54
+ * it; stop() detaches all sources. The caller owns the source's lifecycle.
55
+ */
56
+ addEventSource(source: EventSource): Unsubscribe;
46
57
  trigger(event: SystemEvent): void;
47
58
  /**
48
59
  * Requests a modal to be presented. The modal is pushed onto a stack and
@@ -83,6 +94,8 @@ export declare class Screen {
83
94
  commit(): boolean;
84
95
  needsRender(): void;
85
96
  viewNaturalSizeDidChange(view: View): void;
97
+ /** Delegate ANSI capture to Buffer. Does not trigger a render. */
98
+ snapshot(): string;
86
99
  render(): void;
87
100
  }
88
101
  export {};
package/.dist/Screen.js CHANGED
@@ -11,10 +11,9 @@ import { Window } from './components/Window.js';
11
11
  import { UnboundSystem } from './System.js';
12
12
  export class Screen {
13
13
  #program;
14
- #onExit;
14
+ #onExit = [];
15
15
  #keyListeners = [];
16
- #cleanupEvents;
17
- #cleanupResize;
16
+ #cleanupEvents = new Set();
18
17
  #isFocused;
19
18
  #isRunning = false;
20
19
  #didStop = false;
@@ -82,16 +81,7 @@ export class Screen {
82
81
  this.#isFocused = isFocused;
83
82
  }
84
83
  onExit(callback) {
85
- if (this.#onExit) {
86
- const prev = this.#onExit;
87
- this.#onExit = () => {
88
- prev();
89
- callback();
90
- };
91
- }
92
- else {
93
- this.#onExit = callback;
94
- }
84
+ this.#onExit.push(callback);
95
85
  }
96
86
  /**
97
87
  * Register a key binding on the screen.
@@ -111,48 +101,49 @@ export class Screen {
111
101
  start() {
112
102
  this.#isRunning = true;
113
103
  this.rootView.moveToScreen(this);
114
- this.#cleanupEvents = this.#program.onEvents(event => {
115
- if (event.type === 'key') {
116
- for (const { pattern, fn } of this.#keyListeners) {
117
- if (matchKeyPattern(pattern, event)) {
118
- fn(event.char, event);
119
- if (!this.#isRunning)
120
- return;
121
- }
122
- }
123
- }
124
- this.trigger(event);
125
- });
126
- this.#cleanupResize = this.#program.onResize(() => {
127
- // A resize can move an inline region without changing its logical size.
128
- // Always discard the physical-frame diff so every logical cell repaints.
129
- this.#buffer.invalidate();
130
- this.trigger({ type: 'resize' });
131
- });
104
+ this.addEventSource(this.#program);
105
+ this.#cleanupEvents.add(this.#program.onResize(() => {
106
+ this.dispatch({ type: 'resize' });
107
+ }));
132
108
  this.render();
133
109
  }
134
110
  /**
135
- * Puts the screen back in normal terminal mode, restores the normal buffer
111
+ * Restore the terminal and detach input. Attempt every synchronous cleanup,
112
+ * including every onExit callback, then return any failures.
136
113
  */
137
114
  stop() {
138
- if (this.#didStop)
139
- return;
115
+ if (this.#didStop) {
116
+ return [];
117
+ }
140
118
  this.#didStop = true;
141
119
  this.#isRunning = false;
142
- this.#tickManager.stop();
143
- this.rootView.moveToScreen(undefined);
144
- this.#cleanupEvents?.();
145
- this.#cleanupResize?.();
146
- this.#cleanupEvents = undefined;
147
- this.#cleanupResize = undefined;
148
- this.#onExit?.();
120
+ const tasks = [
121
+ () => this.#tickManager.stop(),
122
+ () => this.rootView.moveToScreen(undefined),
123
+ ...this.#cleanupEvents,
124
+ ...this.#onExit,
125
+ ];
126
+ const errors = [];
127
+ for (const cleanup of tasks) {
128
+ try {
129
+ cleanup();
130
+ }
131
+ catch (error) {
132
+ errors.push(error instanceof Error
133
+ ? error
134
+ : new Error(typeof error === 'string' ? error : 'Screen cleanup failed', { cause: error }));
135
+ }
136
+ }
137
+ this.#cleanupEvents.clear();
138
+ this.#onExit.splice(0);
139
+ return errors;
149
140
  }
150
141
  /**
151
142
  * Stops (putting the screen back in normal mode and buffer) and exits by emitting
152
143
  * process.exit(0)
153
144
  */
154
145
  exit() {
155
- this.stop();
146
+ const errors = this.stop();
156
147
  const exitProcess = () => process.exit(0);
157
148
  if (process.stdout.writable && !process.stdout.writableEnded) {
158
149
  // Teardown may have queued cursor movement and erase sequences. Wait for
@@ -162,6 +153,52 @@ export class Screen {
162
153
  else {
163
154
  setTimeout(exitProcess, 0);
164
155
  }
156
+ return errors;
157
+ }
158
+ /**
159
+ * Deliver an event through the same pipeline as terminal input, including
160
+ * screen.key() bindings (and quitChar). trigger() is the lower-level API.
161
+ */
162
+ dispatch(event) {
163
+ if (!this.#isRunning) {
164
+ return;
165
+ }
166
+ if (event.type === 'resize') {
167
+ // A resize can move an inline region without changing its logical size.
168
+ this.#buffer.invalidate();
169
+ }
170
+ else if (event.type === 'key') {
171
+ for (const { pattern, fn } of this.#keyListeners) {
172
+ if (matchKeyPattern(pattern, event)) {
173
+ fn(event.char, event);
174
+ if (!this.#isRunning) {
175
+ return;
176
+ }
177
+ }
178
+ }
179
+ }
180
+ this.trigger(event);
181
+ }
182
+ /**
183
+ * Subscribe another input source to dispatch(). The returned function detaches
184
+ * it; stop() detaches all sources. The caller owns the source's lifecycle.
185
+ */
186
+ addEventSource(source) {
187
+ if (this.#didStop) {
188
+ throw new Error('Cannot add an event source to a stopped screen');
189
+ }
190
+ const cleanup = source.onEvents(event => this.dispatch(event));
191
+ const unsubscribe = () => {
192
+ if (this.#cleanupEvents.delete(unsubscribe)) {
193
+ cleanup();
194
+ }
195
+ };
196
+ this.#cleanupEvents.add(unsubscribe);
197
+ // A source may synchronously emit an event that stops the screen on subscribe.
198
+ if (this.#didStop) {
199
+ unsubscribe();
200
+ }
201
+ return unsubscribe;
165
202
  }
166
203
  trigger(event) {
167
204
  switch (event.type) {
@@ -283,8 +320,9 @@ export class Screen {
283
320
  this.#tickManager.needsRender();
284
321
  }
285
322
  viewNaturalSizeDidChange(view) {
286
- if (view !== this.rootView || !this.#isRunning)
323
+ if (view !== this.rootView || !this.#isRunning) {
287
324
  return;
325
+ }
288
326
  if (this.#naturalSizeRefreshState !== 'idle') {
289
327
  this.#naturalSizeRefreshState = 'refreshing-dirty';
290
328
  return;
@@ -310,8 +348,9 @@ export class Screen {
310
348
  this.render();
311
349
  }
312
350
  }
313
- if (!this.#isNaturalSizeRefreshDirty())
351
+ if (!this.#isNaturalSizeRefreshDirty()) {
314
352
  return;
353
+ }
315
354
  }
316
355
  }
317
356
  finally {
@@ -321,7 +360,14 @@ export class Screen {
321
360
  #isNaturalSizeRefreshDirty() {
322
361
  return this.#naturalSizeRefreshState === 'refreshing-dirty';
323
362
  }
363
+ /** Delegate ANSI capture to Buffer. Does not trigger a render. */
364
+ snapshot() {
365
+ return this.#buffer.snapshot();
366
+ }
324
367
  render() {
368
+ if (this.#didStop) {
369
+ return;
370
+ }
325
371
  if (this.#program.isUpdatingRegion) {
326
372
  this.#renderRequestedDuringRegionUpdate = true;
327
373
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"Screen.js","sourceRoot":"","sources":["../lib/Screen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Screen.js","sourceRoot":"","sources":["../lib/Screen.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import type { SGRTerminal } from './terminal.js';
2
2
  /**
3
3
  * A headless SGRTerminal that captures all output as an ANSI string.
4
4
  * Uses a 2D grid internally so cursor positioning is handled correctly —
5
- * the output contains only SGR escape codes and visible characters
6
- * (no cursor positioning sequences), making it compatible with ansi-to-html.
5
+ * the output contains text-style escape codes (SGR and OSC 8) and visible
6
+ * characters, without cursor positioning sequences.
7
7
  */
8
8
  export declare class StringTerminal implements SGRTerminal {
9
9
  #private;
@@ -1,9 +1,11 @@
1
1
  import * as unicode from '@teaui/term';
2
+ import { Style } from './Style.js';
3
+ import { LINK_CLOSE } from './ansi.js';
2
4
  /**
3
5
  * A headless SGRTerminal that captures all output as an ANSI string.
4
6
  * Uses a 2D grid internally so cursor positioning is handled correctly —
5
- * the output contains only SGR escape codes and visible characters
6
- * (no cursor positioning sequences), making it compatible with ansi-to-html.
7
+ * the output contains text-style escape codes (SGR and OSC 8) and visible
8
+ * characters, without cursor positioning sequences.
7
9
  */
8
10
  export class StringTerminal {
9
11
  cols;
@@ -12,6 +14,7 @@ export class StringTerminal {
12
14
  #cursorX = 0;
13
15
  #cursorY = 0;
14
16
  #pendingSgr = '';
17
+ #linkStyle = Style.NONE;
15
18
  constructor({ cols, rows }) {
16
19
  this.cols = cols;
17
20
  this.rows = rows;
@@ -22,7 +25,7 @@ export class StringTerminal {
22
25
  for (let y = 0; y < this.rows; y++) {
23
26
  const row = [];
24
27
  for (let x = 0; x < this.cols; x++) {
25
- row.push({ char: ' ', sgr: '' });
28
+ row.push({ char: ' ', sgr: '', linkStyle: Style.NONE });
26
29
  }
27
30
  grid.push(row);
28
31
  }
@@ -33,26 +36,23 @@ export class StringTerminal {
33
36
  this.#cursorY = y;
34
37
  }
35
38
  write(str) {
36
- // Parse the string: separate ANSI escape sequences from visible characters
37
- let i = 0;
38
- while (i < str.length) {
39
- if (str[i] === '\x1b' && i + 1 < str.length && str[i + 1] === '[') {
40
- // ANSI escape sequence — find the end (letter character)
41
- let j = i + 2;
42
- while (j < str.length && !isAnsiTerminator(str[j])) {
43
- j++;
39
+ for (const char of unicode.printableChars(str)) {
40
+ const width = unicode.charWidth(char);
41
+ if (width === 0) {
42
+ if (char.startsWith('\x1b]8;') || char.startsWith('\x9d8;')) {
43
+ const delta = Style.fromSGR(char, Style.NONE);
44
+ // Keep links on every cell so overwriting the first character does
45
+ // not erase the opening sequence for the remaining linked cells.
46
+ this.#linkStyle = new Style({
47
+ link: delta.link,
48
+ linkParams: delta.linkParams,
49
+ });
44
50
  }
45
- if (j < str.length) {
46
- j++; // include the terminator
51
+ else {
52
+ this.#pendingSgr += char;
47
53
  }
48
- this.#pendingSgr += str.slice(i, j);
49
- i = j;
50
54
  }
51
55
  else {
52
- // Visible character — may be multi-code-unit (emoji, CJK)
53
- const codePoint = str.codePointAt(i);
54
- const char = String.fromCodePoint(codePoint);
55
- const width = unicode.charWidth(char);
56
56
  if (this.#cursorY >= 0 &&
57
57
  this.#cursorY < this.rows &&
58
58
  this.#cursorX >= 0 &&
@@ -60,15 +60,19 @@ export class StringTerminal {
60
60
  this.#grid[this.#cursorY][this.#cursorX] = {
61
61
  char,
62
62
  sgr: this.#pendingSgr,
63
+ linkStyle: this.#linkStyle,
63
64
  };
64
65
  this.#pendingSgr = '';
65
66
  // Wide characters occupy 2 cells — blank out the second cell
66
67
  if (width === 2 && this.#cursorX + 1 < this.cols) {
67
- this.#grid[this.#cursorY][this.#cursorX + 1] = { char: '', sgr: '' };
68
+ this.#grid[this.#cursorY][this.#cursorX + 1] = {
69
+ char: '',
70
+ sgr: '',
71
+ linkStyle: this.#linkStyle,
72
+ };
68
73
  }
69
74
  }
70
75
  this.#cursorX += Math.max(width, 1);
71
- i += char.length;
72
76
  }
73
77
  }
74
78
  }
@@ -77,10 +81,18 @@ export class StringTerminal {
77
81
  const lines = [];
78
82
  for (let y = 0; y < this.rows; y++) {
79
83
  let line = '';
84
+ let linkStyle = Style.NONE;
80
85
  for (let x = 0; x < this.cols; x++) {
81
86
  const cell = this.#grid[y][x];
87
+ if (!cell.linkStyle.isEqual(linkStyle)) {
88
+ line += cell.linkStyle.toSGR(linkStyle);
89
+ linkStyle = cell.linkStyle;
90
+ }
82
91
  line += cell.sgr + cell.char;
83
92
  }
93
+ if (linkStyle.link) {
94
+ line += LINK_CLOSE;
95
+ }
84
96
  lines.push(line);
85
97
  }
86
98
  return lines.join('\n') + '\x1b[0m';
@@ -90,11 +102,7 @@ export class StringTerminal {
90
102
  this.#cursorX = 0;
91
103
  this.#cursorY = 0;
92
104
  this.#pendingSgr = '';
105
+ this.#linkStyle = Style.NONE;
93
106
  }
94
107
  }
95
- function isAnsiTerminator(ch) {
96
- const code = ch.charCodeAt(0);
97
- // ANSI sequence terminators are letters (A-Z, a-z)
98
- return (code >= 65 && code <= 90) || (code >= 97 && code <= 122);
99
- }
100
108
  //# sourceMappingURL=StringTerminal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StringTerminal.js","sourceRoot":"","sources":["../lib/StringTerminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StringTerminal.js","sourceRoot":"","sources":["../lib/StringTerminal.ts"],"names":[],"mappings":"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"}
package/.dist/Style.d.ts CHANGED
@@ -3,6 +3,7 @@ type Nullable<T> = {
3
3
  [K in keyof T]?: null | undefined | T[K];
4
4
  };
5
5
  export declare class Style {
6
+ #private;
6
7
  bold?: boolean;
7
8
  dim?: boolean;
8
9
  italic?: boolean;
@@ -13,10 +14,14 @@ export declare class Style {
13
14
  invisible?: boolean;
14
15
  foreground?: Color;
15
16
  background?: Color;
17
+ /** OSC 8 URI. An empty string explicitly ends a link when merging styles. */
18
+ link?: string;
19
+ /** OSC 8 parameters, e.g. "id=entry". */
20
+ linkParams?: string;
16
21
  static NONE: Style;
17
22
  static underlined: Style;
18
23
  static bold: Style;
19
- constructor({ bold, dim, italic, strikeout, underline, inverse, blink, invisible, foreground, background, }?: {
24
+ constructor({ bold, dim, italic, strikeout, underline, inverse, blink, invisible, foreground, background, link, linkParams, }?: {
20
25
  underline?: boolean;
21
26
  inverse?: boolean;
22
27
  bold?: boolean;
@@ -27,6 +32,8 @@ export declare class Style {
27
32
  invisible?: boolean;
28
33
  foreground?: Color;
29
34
  background?: Color;
35
+ link?: string;
36
+ linkParams?: string;
30
37
  });
31
38
  invert(): Style;
32
39
  merge(style?: Nullable<Style>): Style;
@@ -35,6 +42,7 @@ export declare class Style {
35
42
  * @return a more easily debuggable object
36
43
  */
37
44
  toDebug(): any;
45
+ /** Parse a zero-width text-style token (SGR or OSC 8) into a style delta. */
38
46
  static fromSGR(ansi: string, prevStyle: Style): Style;
39
47
  /**
40
48
  * @param prevStyle Used by the buffer to reset foreground/background colors and attrs