@jrichman/ink 6.4.2 → 6.4.3

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/build/index.d.ts CHANGED
@@ -24,7 +24,7 @@ export { default as useStderr } from './hooks/use-stderr.js';
24
24
  export { default as useFocus } from './hooks/use-focus.js';
25
25
  export { default as useFocusManager } from './hooks/use-focus-manager.js';
26
26
  export { default as useIsScreenReaderEnabled } from './hooks/use-is-screen-reader-enabled.js';
27
- export { default as measureElement, getBoundingBox, getInnerWidth, getInnerHeight, } from './measure-element.js';
27
+ export { default as measureElement, getBoundingBox, getInnerWidth, getInnerHeight, getVerticalScrollbarBoundingBox, getHorizontalScrollbarBoundingBox, type ScrollbarBoundingBox, } from './measure-element.js';
28
28
  export { getScrollHeight, getScrollWidth } from './scroll.js';
29
29
  export { clearStringWidthCache, setStringWidthFunction } from './measure-text.js';
30
30
  export type { DOMElement } from './dom.js';
package/build/index.js CHANGED
@@ -13,7 +13,7 @@ export { default as useStderr } from './hooks/use-stderr.js';
13
13
  export { default as useFocus } from './hooks/use-focus.js';
14
14
  export { default as useFocusManager } from './hooks/use-focus-manager.js';
15
15
  export { default as useIsScreenReaderEnabled } from './hooks/use-is-screen-reader-enabled.js';
16
- export { default as measureElement, getBoundingBox, getInnerWidth, getInnerHeight, } from './measure-element.js';
16
+ export { default as measureElement, getBoundingBox, getInnerWidth, getInnerHeight, getVerticalScrollbarBoundingBox, getHorizontalScrollbarBoundingBox, } from './measure-element.js';
17
17
  export { getScrollHeight, getScrollWidth } from './scroll.js';
18
18
  export { clearStringWidthCache, setStringWidthFunction } from './measure-text.js';
19
19
  export { default as ResizeObserver, ResizeObserverEntry, } from './resize-observer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAG9C,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,sBAAsB,CAAC;AAMrD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EACN,OAAO,IAAI,cAAc,EACzB,cAAc,EACd,aAAa,EACb,cAAc,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAC,qBAAqB,EAAE,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAEhF,OAAO,EACN,OAAO,IAAI,cAAc,EACzB,mBAAmB,GACnB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAG9C,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,sBAAsB,CAAC;AAMrD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EACN,OAAO,IAAI,cAAc,EACzB,cAAc,EACd,aAAa,EACb,cAAc,EACd,+BAA+B,EAC/B,iCAAiC,GAEjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAC,qBAAqB,EAAE,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAEhF,OAAO,EACN,OAAO,IAAI,cAAc,EACzB,mBAAmB,GACnB,MAAM,sBAAsB,CAAC"}
package/build/ink.d.ts CHANGED
@@ -23,6 +23,8 @@ export type Options = {
23
23
  maxFps?: number;
24
24
  alternateBuffer?: boolean;
25
25
  alternateBufferAlreadyActive?: boolean;
26
+ incrementalRendering?: boolean;
27
+ debugRainbow?: boolean;
26
28
  };
27
29
  export default class Ink {
28
30
  private readonly options;
@@ -38,6 +40,7 @@ export default class Ink {
38
40
  private exitPromise?;
39
41
  private restoreConsole?;
40
42
  private readonly unsubscribeResize?;
43
+ private frameIndex;
41
44
  constructor(options: Options);
42
45
  resized: () => void;
43
46
  resolveExitPromise: () => void;
package/build/ink.js CHANGED
@@ -20,6 +20,23 @@ import { calculateScroll } from './scroll.js';
20
20
  // eslint-disable-next-line @typescript-eslint/consistent-type-imports
21
21
  import { ResizeObserverEntry } from './resize-observer.js';
22
22
  const noop = () => { };
23
+ const rainbowColors = [
24
+ 'red',
25
+ 'green',
26
+ 'yellow',
27
+ 'blue',
28
+ 'magenta',
29
+ 'cyan',
30
+ 'white',
31
+ 'blackBright',
32
+ 'redBright',
33
+ 'greenBright',
34
+ 'yellowBright',
35
+ 'blueBright',
36
+ 'magentaBright',
37
+ 'cyanBright',
38
+ 'whiteBright',
39
+ ];
23
40
  export default class Ink {
24
41
  options;
25
42
  log;
@@ -37,6 +54,7 @@ export default class Ink {
37
54
  exitPromise;
38
55
  restoreConsole;
39
56
  unsubscribeResize;
57
+ frameIndex = 0;
40
58
  constructor(options) {
41
59
  autoBind(this);
42
60
  this.options = options;
@@ -59,6 +77,8 @@ export default class Ink {
59
77
  alternateBuffer: options.alternateBuffer,
60
78
  alternateBufferAlreadyActive: options.alternateBufferAlreadyActive,
61
79
  getRows: () => options.stdout.rows,
80
+ getColumns: () => options.stdout.columns,
81
+ incremental: options.incrementalRendering,
62
82
  });
63
83
  this.throttledLog = unthrottled
64
84
  ? this.log
@@ -157,7 +177,12 @@ export default class Ink {
157
177
  return;
158
178
  }
159
179
  const startTime = performance.now();
160
- const { output, outputHeight, staticOutput } = render(this.rootNode, this.isScreenReaderEnabled);
180
+ let debugRainbowColor;
181
+ if (this.options.debugRainbow) {
182
+ debugRainbowColor = rainbowColors[this.frameIndex % rainbowColors.length];
183
+ this.frameIndex++;
184
+ }
185
+ const { output, outputHeight, staticOutput, styledOutput } = render(this.rootNode, this.isScreenReaderEnabled);
161
186
  this.options.onRender?.({ renderTime: performance.now() - startTime });
162
187
  // If <Static> output isn't empty, it means new children have been added to it
163
188
  const hasStaticOutput = staticOutput && staticOutput !== '\n';
@@ -180,7 +205,7 @@ export default class Ink {
180
205
  if (hasStaticOutput) {
181
206
  this.fullStaticOutput += staticOutput;
182
207
  }
183
- this.log(this.fullStaticOutput + output);
208
+ this.log(this.fullStaticOutput + output, styledOutput, debugRainbowColor);
184
209
  this.lastOutput = output;
185
210
  return;
186
211
  }
@@ -231,10 +256,10 @@ export default class Ink {
231
256
  if (hasStaticOutput) {
232
257
  this.log.clear();
233
258
  this.options.stdout.write(staticOutput);
234
- this.log(output);
259
+ this.log(output, styledOutput, debugRainbowColor);
235
260
  }
236
261
  if (!hasStaticOutput && output !== this.lastOutput) {
237
- this.throttledLog(output);
262
+ this.throttledLog(output, styledOutput, debugRainbowColor);
238
263
  }
239
264
  this.lastOutput = output;
240
265
  this.lastOutputHeight = outputHeight;
@@ -268,7 +293,7 @@ export default class Ink {
268
293
  }
269
294
  this.log.clear();
270
295
  this.options.stdout.write(data);
271
- this.log(this.lastOutput);
296
+ this.log(this.lastOutput, []);
272
297
  }
273
298
  writeToStderr(data) {
274
299
  if (this.isUnmounted) {
@@ -285,7 +310,7 @@ export default class Ink {
285
310
  }
286
311
  this.log.clear();
287
312
  this.options.stderr.write(data);
288
- this.log(this.lastOutput);
313
+ this.log(this.lastOutput, []);
289
314
  }
290
315
  // eslint-disable-next-line @typescript-eslint/ban-types
291
316
  unmount(error) {
package/build/ink.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ink.js","sourceRoot":"","sources":["../src/ink.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ink.js","sourceRoot":"","sources":["../src/ink.tsx"],"names":[],"mappings":"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"}
@@ -1,16 +1,19 @@
1
1
  import { type Writable } from 'node:stream';
2
+ import { type StyledChar } from '@alcalzone/ansi-tokenize';
2
3
  export type LogUpdate = {
3
4
  clear: () => void;
4
5
  done: () => void;
5
6
  sync: (str: string) => void;
6
- (str: string): void;
7
+ (str: string, styledOutput: StyledChar[][], debugRainbowColor?: string): void;
7
8
  };
8
9
  declare const logUpdate: {
9
- create: (stream: Writable, { showCursor, alternateBuffer, alternateBufferAlreadyActive, getRows, }?: {
10
+ create: (stream: Writable, { showCursor, alternateBuffer, alternateBufferAlreadyActive, incremental, getRows, getColumns, }?: {
10
11
  showCursor?: boolean;
11
12
  alternateBuffer?: boolean;
12
13
  alternateBufferAlreadyActive?: boolean;
14
+ incremental?: boolean;
13
15
  getRows?: () => number;
16
+ getColumns?: () => number;
14
17
  }) => LogUpdate;
15
18
  };
16
19
  export default logUpdate;
@@ -1,74 +1,126 @@
1
1
  import process from 'node:process';
2
2
  import ansiEscapes from 'ansi-escapes';
3
3
  import cliCursor from 'cli-cursor';
4
+ import colorize from './colorize.js';
5
+ // Debugging option to simulate flicker if for terminals that do not support enableSynchronizedOutput.
6
+ const enableSynchronizedOutput = true;
4
7
  const enterSynchronizedOutput = '\u001B[?2026h';
5
8
  const exitSynchronizedOutput = '\u001B[?2026l';
6
- const create = (stream, { showCursor = false, alternateBuffer = false, alternateBufferAlreadyActive = false, getRows = () => 0, } = {}) => {
9
+ const enterAlternateBuffer = (stream, alreadyActive) => {
10
+ if (!alreadyActive) {
11
+ stream.write(ansiEscapes.enterAlternativeScreen);
12
+ }
13
+ stream.write('\u001B[?7l');
14
+ };
15
+ const exitAlternateBuffer = (stream, lastFrame) => {
16
+ stream.write('\u001B[?7h');
17
+ stream.write(ansiEscapes.exitAlternativeScreen);
18
+ // The last frame was rendered to the alternate buffer.
19
+ // We need to render it again to the main buffer. If apps do not
20
+ // want this behavior, they can make sure the last frame is empty
21
+ // before unmounting.
22
+ stream.write(lastFrame);
23
+ };
24
+ const clearAlternateBuffer = (stream) => {
25
+ const eraseOperation = process.env['TERM_PROGRAM'] === 'iTerm.app'
26
+ ? ansiEscapes.clearTerminal
27
+ : ansiEscapes.eraseScreen;
28
+ stream.write(eraseOperation);
29
+ };
30
+ const ensureCursorHidden = (showCursor, hasHiddenCursor) => {
31
+ if (!showCursor && !hasHiddenCursor) {
32
+ cliCursor.hide();
33
+ return true;
34
+ }
35
+ return hasHiddenCursor;
36
+ };
37
+ const ensureCursorShown = (showCursor) => {
38
+ if (!showCursor) {
39
+ cliCursor.show();
40
+ }
41
+ };
42
+ const moveCursorDown = (buffer, skippedLines) => {
43
+ if (skippedLines > 0) {
44
+ if (skippedLines === 1) {
45
+ buffer.push(ansiEscapes.cursorNextLine);
46
+ }
47
+ else {
48
+ buffer.push(ansiEscapes.cursorDown(skippedLines));
49
+ }
50
+ }
51
+ return 0;
52
+ };
53
+ const createStandard = (stream, { showCursor = false, alternateBuffer = false, alternateBufferAlreadyActive = false, getRows = () => 0, getColumns = () => 0, } = {}) => {
7
54
  let previousLineCount = 0;
8
55
  let previousOutput = '';
9
56
  // Keep track of the actual previous output rendered to the alternate buffer
10
57
  // which may be truncated to the terminal height.
11
58
  let previousOutputAlternateBuffer = '';
59
+ let previousRows = 0;
60
+ let previousColumns = 0;
12
61
  let hasHiddenCursor = false;
13
- if (alternateBuffer && !alternateBufferAlreadyActive) {
14
- stream.write(ansiEscapes.enterAlternativeScreen);
62
+ if (alternateBuffer) {
63
+ enterAlternateBuffer(stream, alternateBufferAlreadyActive);
15
64
  }
16
- const render = (str) => {
17
- if (!showCursor && !hasHiddenCursor) {
18
- cliCursor.hide();
19
- hasHiddenCursor = true;
20
- }
65
+ const render = (str, _styledOutput, debugRainbowColor) => {
66
+ hasHiddenCursor = ensureCursorHidden(showCursor, hasHiddenCursor);
21
67
  const output = str + '\n';
22
68
  if (alternateBuffer) {
23
69
  let alternateBufferOutput = output;
24
70
  const rows = getRows() ?? 0;
71
+ const columns = getColumns() ?? 0;
25
72
  if (rows > 0) {
26
73
  const lines = str.split('\n');
27
74
  const lineCount = lines.length;
28
- // Only write the last `rows` lines as the alternate buffer
75
+ // Only write the first `rows` lines as the alternate buffer
29
76
  // will not scroll so all we accomplish by writing more
30
77
  // content is risking flicker and confusing the terminal about
31
78
  // the cursor position.
32
79
  if (lineCount > rows) {
33
- alternateBufferOutput = lines.slice(-rows).join('\n');
34
- }
35
- // Only write the last `rows` lines as the alternate buffer
36
- // will not scroll so all we accomplish by writing more
37
- // content is risking flicker and confusing the terminal about
38
- // the cursor position.
39
- if (lineCount > rows) {
40
- alternateBufferOutput = str.split('\n').slice(-rows).join('\n');
80
+ alternateBufferOutput = lines.slice(0, rows).join('\n');
41
81
  }
42
82
  }
43
83
  // In alternate buffer mode we need to re-render based on whether content
44
84
  // visible within the clipped alternate output buffer has changed even
45
85
  // if the entire output string has not changed.
46
- if (alternateBufferOutput !== previousOutputAlternateBuffer) {
86
+ if (alternateBufferOutput !== previousOutputAlternateBuffer ||
87
+ rows !== previousRows ||
88
+ columns !== previousColumns) {
47
89
  // Unfortunately, eraseScreen does not work correctly in iTerm2 so we
48
90
  // have to use clearTerminal instead.
49
91
  const eraseOperation = process.env['TERM_PROGRAM'] === 'iTerm.app'
50
92
  ? ansiEscapes.clearTerminal
51
93
  : ansiEscapes.eraseScreen;
52
- stream.write(enterSynchronizedOutput +
94
+ let outputToWrite = alternateBufferOutput;
95
+ outputToWrite = debugRainbowColor
96
+ ? colorize(outputToWrite, debugRainbowColor, 'background')
97
+ : outputToWrite;
98
+ stream.write((enableSynchronizedOutput ? enterSynchronizedOutput : '') +
53
99
  ansiEscapes.cursorTo(0, 0) +
54
100
  eraseOperation +
55
- alternateBufferOutput +
56
- exitSynchronizedOutput);
101
+ outputToWrite +
102
+ (enableSynchronizedOutput ? exitSynchronizedOutput : ''));
57
103
  previousOutputAlternateBuffer = alternateBufferOutput;
104
+ previousRows = rows;
105
+ previousColumns = columns;
58
106
  }
59
107
  previousOutput = output;
60
108
  return;
61
109
  }
110
+ if (output === previousOutput) {
111
+ return;
112
+ }
62
113
  previousOutput = output;
63
- stream.write(ansiEscapes.eraseLines(previousLineCount) + output);
114
+ let outputToWrite = output;
115
+ outputToWrite = debugRainbowColor
116
+ ? colorize(outputToWrite, debugRainbowColor, 'background')
117
+ : outputToWrite;
118
+ stream.write(ansiEscapes.eraseLines(previousLineCount) + outputToWrite);
64
119
  previousLineCount = output.split('\n').length;
65
120
  };
66
121
  render.clear = () => {
67
122
  if (alternateBuffer) {
68
- const eraseOperation = process.env['TERM_PROGRAM'] === 'iTerm.app'
69
- ? ansiEscapes.clearTerminal
70
- : ansiEscapes.eraseScreen;
71
- stream.write(eraseOperation);
123
+ clearAlternateBuffer(stream);
72
124
  previousOutput = '';
73
125
  return;
74
126
  }
@@ -80,17 +132,10 @@ const create = (stream, { showCursor = false, alternateBuffer = false, alternate
80
132
  const lastFrame = previousOutput;
81
133
  previousOutput = '';
82
134
  previousLineCount = 0;
83
- if (!showCursor) {
84
- cliCursor.show();
85
- hasHiddenCursor = false;
86
- }
135
+ ensureCursorShown(showCursor);
136
+ hasHiddenCursor = false;
87
137
  if (alternateBuffer) {
88
- stream.write(ansiEscapes.exitAlternativeScreen);
89
- // The last frame was rendered to the alternate buffer.
90
- // We need to render it again to the main buffer. If apps do not
91
- // want this behavior, they can make sure the last frame is empty
92
- // before unmounting.
93
- stream.write(lastFrame);
138
+ exitAlternateBuffer(stream, lastFrame);
94
139
  }
95
140
  };
96
141
  render.sync = (str) => {
@@ -104,6 +149,224 @@ const create = (stream, { showCursor = false, alternateBuffer = false, alternate
104
149
  };
105
150
  return render;
106
151
  };
152
+ const createIncremental = (stream, { showCursor = false, alternateBuffer = false, alternateBufferAlreadyActive = false, getRows = () => 0, getColumns = () => 0, } = {}) => {
153
+ let previousLines = [];
154
+ let previousOutput = '';
155
+ let previousOutputAlternateBuffer = '';
156
+ let previousRows = 0;
157
+ let previousColumns = 0;
158
+ let hasHiddenCursor = false;
159
+ let alternateBufferStyledOutput = [];
160
+ if (alternateBuffer) {
161
+ enterAlternateBuffer(stream, alternateBufferAlreadyActive);
162
+ }
163
+ const render = (str, styledOutput, debugRainbowColor) => {
164
+ hasHiddenCursor = ensureCursorHidden(showCursor, hasHiddenCursor);
165
+ const output = str + '\n';
166
+ if (alternateBuffer) {
167
+ let alternateBufferOutput = output;
168
+ const rows = getRows() ?? 0;
169
+ const columns = getColumns() ?? 0;
170
+ if (rows > 0) {
171
+ const lines = str.split('\n');
172
+ const lineCount = lines.length;
173
+ // Only write the first `rows` lines as the alternate buffer
174
+ // will not scroll so all we accomplish by writing more
175
+ // content is risking flicker and confusion about the terminal about
176
+ // the cursor position.
177
+ if (lineCount > rows) {
178
+ alternateBufferOutput = lines.slice(0, rows).join('\n');
179
+ alternateBufferStyledOutput = styledOutput.slice(0, rows);
180
+ }
181
+ else {
182
+ alternateBufferOutput = lines.join('\n');
183
+ alternateBufferStyledOutput = styledOutput;
184
+ }
185
+ }
186
+ // In alternate buffer mode we need to re-render based on whether content
187
+ // visible within the clipped alternate output buffer has changed even
188
+ // if the entire output string has not changed.
189
+ if (alternateBufferOutput !== previousOutputAlternateBuffer ||
190
+ rows !== previousRows ||
191
+ columns !== previousColumns) {
192
+ const nextLines = alternateBufferOutput.split('\n');
193
+ if (rows === previousRows && columns === previousColumns) {
194
+ const buffer = [];
195
+ if (enableSynchronizedOutput) {
196
+ buffer.push(enterSynchronizedOutput);
197
+ }
198
+ buffer.push(ansiEscapes.cursorTo(0, 0));
199
+ let skippedLines = 0;
200
+ for (let i = 0; i < nextLines.length; i++) {
201
+ if (nextLines[i] === previousLines[i]) {
202
+ skippedLines++;
203
+ continue;
204
+ }
205
+ skippedLines = moveCursorDown(buffer, skippedLines);
206
+ let lineToWrite = nextLines[i] ?? '';
207
+ let lineLength = 0;
208
+ const styledOutput = alternateBufferStyledOutput[i];
209
+ if (styledOutput !== undefined) {
210
+ for (let j = styledOutput.length - 1; j >= 0; j--) {
211
+ const char = styledOutput[j];
212
+ if (char === undefined)
213
+ continue;
214
+ if (char.value !== ' ' && char.value !== '') {
215
+ lineLength = j + (char.fullWidth ? 2 : 1);
216
+ break;
217
+ }
218
+ }
219
+ }
220
+ lineToWrite = debugRainbowColor
221
+ ? colorize(lineToWrite, debugRainbowColor, 'background')
222
+ : lineToWrite;
223
+ buffer.push(lineToWrite);
224
+ if (columns > lineLength) {
225
+ // Clear the rest of the line without introducing flicker.
226
+ // We could optimize this further by only writing spaces up to the last line length
227
+ // but this is safer.
228
+ // The one failure mode for this is that if we add too many spaces and there was a
229
+ // non space character at the very end of the line
230
+ buffer.push(' '.repeat(columns - lineLength));
231
+ }
232
+ if (i < nextLines.length - 1) {
233
+ buffer.push('\n');
234
+ }
235
+ }
236
+ skippedLines = moveCursorDown(buffer, skippedLines);
237
+ if (previousLines.length > nextLines.length) {
238
+ const linesToClear = previousLines.length - nextLines.length;
239
+ for (let i = 0; i < linesToClear; i++) {
240
+ buffer.push(ansiEscapes.eraseLine + ansiEscapes.cursorNextLine);
241
+ }
242
+ }
243
+ if (enableSynchronizedOutput) {
244
+ buffer.push(exitSynchronizedOutput);
245
+ }
246
+ stream.write(buffer.join(''));
247
+ }
248
+ else {
249
+ // Unfortunately, eraseScreen does not work correctly in iTerm2 so we
250
+ // have to use clearTerminal instead.
251
+ const eraseOperation = process.env['TERM_PROGRAM'] === 'iTerm.app'
252
+ ? ansiEscapes.clearTerminal
253
+ : ansiEscapes.eraseScreen;
254
+ let outputToWrite = alternateBufferOutput;
255
+ outputToWrite = debugRainbowColor
256
+ ? colorize(outputToWrite, debugRainbowColor, 'background')
257
+ : outputToWrite;
258
+ stream.write(enterSynchronizedOutput +
259
+ ansiEscapes.cursorTo(0, 0) +
260
+ eraseOperation +
261
+ outputToWrite +
262
+ exitSynchronizedOutput);
263
+ previousRows = rows;
264
+ previousColumns = columns;
265
+ }
266
+ previousOutputAlternateBuffer = alternateBufferOutput;
267
+ previousLines = nextLines;
268
+ }
269
+ previousOutput = output;
270
+ return;
271
+ }
272
+ if (output === previousOutput) {
273
+ return;
274
+ }
275
+ const previousCount = previousLines.length;
276
+ const nextLines = output.split('\n');
277
+ const nextCount = nextLines.length;
278
+ const visibleCount = nextCount - 1;
279
+ if (output === '\n' || previousOutput.length === 0) {
280
+ let outputToWrite = output;
281
+ outputToWrite = debugRainbowColor
282
+ ? colorize(outputToWrite, debugRainbowColor, 'background')
283
+ : outputToWrite;
284
+ stream.write(ansiEscapes.eraseLines(previousCount) + outputToWrite);
285
+ previousOutput = output;
286
+ previousLines = nextLines;
287
+ return;
288
+ }
289
+ // We aggregate all chunks for incremental rendering into a buffer, and then write them to stdout at the end.
290
+ const buffer = [];
291
+ // Clear extra lines if the current content's line count is lower than the previous.
292
+ if (nextCount < previousCount) {
293
+ buffer.push(
294
+ // Erases the trailing lines and the final newline slot.
295
+ ansiEscapes.eraseLines(previousCount - nextCount + 1),
296
+ // Positions cursor to the top of the rendered output.
297
+ ansiEscapes.cursorUp(visibleCount));
298
+ }
299
+ else {
300
+ buffer.push(ansiEscapes.cursorUp(previousCount - 1));
301
+ }
302
+ let skippedLines = 0;
303
+ for (let i = 0; i < visibleCount; i++) {
304
+ // We do not write lines if the contents are the same. This prevents flickering during renders.
305
+ if (nextLines[i] === previousLines[i]) {
306
+ skippedLines++;
307
+ continue;
308
+ }
309
+ skippedLines = moveCursorDown(buffer, skippedLines);
310
+ let lineToWrite = nextLines[i] ?? '';
311
+ lineToWrite = debugRainbowColor
312
+ ? colorize(lineToWrite, debugRainbowColor, 'background')
313
+ : lineToWrite;
314
+ buffer.push(ansiEscapes.eraseLine + lineToWrite + '\n');
315
+ }
316
+ skippedLines = moveCursorDown(buffer, skippedLines);
317
+ stream.write(buffer.join(''));
318
+ previousOutput = output;
319
+ previousLines = nextLines;
320
+ };
321
+ render.clear = () => {
322
+ if (alternateBuffer) {
323
+ clearAlternateBuffer(stream);
324
+ previousOutput = '';
325
+ return;
326
+ }
327
+ stream.write(ansiEscapes.eraseLines(previousLines.length));
328
+ previousOutput = '';
329
+ previousLines = [];
330
+ };
331
+ render.done = () => {
332
+ const lastFrame = previousOutput;
333
+ previousOutput = '';
334
+ previousLines = [];
335
+ ensureCursorShown(showCursor);
336
+ hasHiddenCursor = false;
337
+ if (alternateBuffer) {
338
+ exitAlternateBuffer(stream, lastFrame);
339
+ }
340
+ };
341
+ render.sync = (str) => {
342
+ if (alternateBuffer) {
343
+ previousOutput = str;
344
+ return;
345
+ }
346
+ const output = str + '\n';
347
+ previousOutput = output;
348
+ previousLines = output.split('\n');
349
+ };
350
+ return render;
351
+ };
352
+ const create = (stream, { showCursor = false, alternateBuffer = false, alternateBufferAlreadyActive = false, incremental = false, getRows, getColumns, } = {}) => {
353
+ if (incremental) {
354
+ return createIncremental(stream, {
355
+ showCursor,
356
+ alternateBuffer,
357
+ alternateBufferAlreadyActive,
358
+ getRows,
359
+ getColumns,
360
+ });
361
+ }
362
+ return createStandard(stream, {
363
+ showCursor,
364
+ alternateBuffer,
365
+ alternateBufferAlreadyActive,
366
+ getRows,
367
+ getColumns,
368
+ });
369
+ };
107
370
  const logUpdate = { create };
108
371
  export default logUpdate;
109
372
  //# sourceMappingURL=log-update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-update.js","sourceRoot":"","sources":["../src/log-update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log-update.js","sourceRoot":"","sources":["../src/log-update.ts"],"names":[],"mappings":"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"}
@@ -27,4 +27,46 @@ export declare const getBoundingBox: (node: DOMElement) => {
27
27
  width: number;
28
28
  height: number;
29
29
  };
30
+ export type ScrollbarBoundingBox = {
31
+ x: number;
32
+ y: number;
33
+ width: number;
34
+ height: number;
35
+ thumb: {
36
+ x: number;
37
+ y: number;
38
+ width: number;
39
+ height: number;
40
+ start: number;
41
+ end: number;
42
+ startHalf: number;
43
+ endHalf: number;
44
+ };
45
+ };
46
+ export declare function calculateScrollbarThumb(options: {
47
+ scrollbarDimension: number;
48
+ clientDimension: number;
49
+ scrollDimension: number;
50
+ scrollPosition: number;
51
+ axis: 'vertical' | 'horizontal';
52
+ }): {
53
+ startIndex: number;
54
+ endIndex: number;
55
+ thumbStartHalf: number;
56
+ thumbEndHalf: number;
57
+ };
58
+ /**
59
+ * Get the bounding box of the vertical scrollbar.
60
+ */
61
+ export declare const getVerticalScrollbarBoundingBox: (node: DOMElement, offset?: {
62
+ x: number;
63
+ y: number;
64
+ }) => ScrollbarBoundingBox | undefined;
65
+ /**
66
+ * Get the bounding box of the horizontal scrollbar.
67
+ */
68
+ export declare const getHorizontalScrollbarBoundingBox: (node: DOMElement, offset?: {
69
+ x: number;
70
+ y: number;
71
+ }) => ScrollbarBoundingBox | undefined;
30
72
  export default measureElement;
@@ -64,5 +64,127 @@ export const getBoundingBox = (node) => {
64
64
  }
65
65
  return { x, y, width, height };
66
66
  };
67
+ export function calculateScrollbarThumb(options) {
68
+ const { scrollbarDimension, clientDimension, scrollDimension, scrollPosition, axis, } = options;
69
+ const scrollbarDimensionHalves = scrollbarDimension * 2;
70
+ const thumbDimensionHalves = Math.max(axis === 'vertical' ? 2 : 1, Math.round((clientDimension / scrollDimension) * scrollbarDimensionHalves));
71
+ const maxScrollPosition = scrollDimension - clientDimension;
72
+ const maxThumbPosition = scrollbarDimensionHalves - thumbDimensionHalves;
73
+ const thumbPosition = maxScrollPosition > 0
74
+ ? Math.round((scrollPosition / maxScrollPosition) * maxThumbPosition)
75
+ : 0;
76
+ const thumbStartHalf = thumbPosition;
77
+ const thumbEndHalf = thumbPosition + thumbDimensionHalves;
78
+ const startIndex = Math.floor(thumbStartHalf / 2);
79
+ const endIndex = Math.min(scrollbarDimension, Math.ceil(thumbEndHalf / 2));
80
+ return { startIndex, endIndex, thumbStartHalf, thumbEndHalf };
81
+ }
82
+ /**
83
+ * Get the bounding box of the vertical scrollbar.
84
+ */
85
+ export const getVerticalScrollbarBoundingBox = (node, offset) => {
86
+ const { yogaNode } = node;
87
+ if (!yogaNode) {
88
+ return undefined;
89
+ }
90
+ const overflow = node.style.overflow ?? 'visible';
91
+ const overflowY = node.style.overflowY ?? overflow;
92
+ if (overflowY !== 'scroll') {
93
+ return undefined;
94
+ }
95
+ const clientHeight = node.internal_scrollState?.clientHeight ?? 0;
96
+ const scrollHeight = node.internal_scrollState?.scrollHeight ?? 0;
97
+ if (scrollHeight <= clientHeight) {
98
+ return undefined;
99
+ }
100
+ const { x, y } = offset ?? getBoundingBox(node);
101
+ const scrollbarHeight = yogaNode.getComputedHeight() -
102
+ yogaNode.getComputedBorder(Yoga.EDGE_TOP) -
103
+ yogaNode.getComputedBorder(Yoga.EDGE_BOTTOM);
104
+ const { startIndex, endIndex, thumbStartHalf, thumbEndHalf } = calculateScrollbarThumb({
105
+ scrollbarDimension: scrollbarHeight,
106
+ clientDimension: clientHeight,
107
+ scrollDimension: scrollHeight,
108
+ scrollPosition: node.internal_scrollState?.scrollTop ?? 0,
109
+ axis: 'vertical',
110
+ });
111
+ const scrollbarX = x +
112
+ yogaNode.getComputedWidth() -
113
+ 1 -
114
+ yogaNode.getComputedBorder(Yoga.EDGE_RIGHT);
115
+ const scrollbarY = y + yogaNode.getComputedBorder(Yoga.EDGE_TOP);
116
+ return {
117
+ x: scrollbarX,
118
+ y: scrollbarY,
119
+ width: 1,
120
+ height: scrollbarHeight,
121
+ thumb: {
122
+ x: scrollbarX,
123
+ y: scrollbarY + startIndex,
124
+ width: 1,
125
+ height: endIndex - startIndex,
126
+ start: startIndex,
127
+ end: endIndex,
128
+ startHalf: thumbStartHalf,
129
+ endHalf: thumbEndHalf,
130
+ },
131
+ };
132
+ };
133
+ /**
134
+ * Get the bounding box of the horizontal scrollbar.
135
+ */
136
+ export const getHorizontalScrollbarBoundingBox = (node, offset) => {
137
+ const { yogaNode } = node;
138
+ if (!yogaNode) {
139
+ return undefined;
140
+ }
141
+ const overflow = node.style.overflow ?? 'visible';
142
+ const overflowX = node.style.overflowX ?? overflow;
143
+ if (overflowX !== 'scroll') {
144
+ return undefined;
145
+ }
146
+ const clientWidth = node.internal_scrollState?.clientWidth ?? 0;
147
+ const scrollWidth = node.internal_scrollState?.scrollWidth ?? 0;
148
+ if (scrollWidth <= clientWidth) {
149
+ return undefined;
150
+ }
151
+ const { x, y } = offset ?? getBoundingBox(node);
152
+ const overflowY = node.style.overflowY ?? overflow;
153
+ const clientHeight = node.internal_scrollState?.clientHeight ?? 0;
154
+ const scrollHeight = node.internal_scrollState?.scrollHeight ?? 0;
155
+ const isVerticalScrollbarVisible = overflowY === 'scroll' && scrollHeight > clientHeight;
156
+ const scrollbarWidth = yogaNode.getComputedWidth() -
157
+ yogaNode.getComputedBorder(Yoga.EDGE_LEFT) -
158
+ yogaNode.getComputedBorder(Yoga.EDGE_RIGHT) -
159
+ (isVerticalScrollbarVisible ? 1 : 0);
160
+ const { startIndex, endIndex, thumbStartHalf, thumbEndHalf } = calculateScrollbarThumb({
161
+ scrollbarDimension: scrollbarWidth,
162
+ clientDimension: clientWidth,
163
+ scrollDimension: scrollWidth,
164
+ scrollPosition: node.internal_scrollState?.scrollLeft ?? 0,
165
+ axis: 'horizontal',
166
+ });
167
+ const scrollbarX = x + yogaNode.getComputedBorder(Yoga.EDGE_LEFT);
168
+ const scrollbarY = y +
169
+ yogaNode.getComputedHeight() -
170
+ 1 -
171
+ yogaNode.getComputedBorder(Yoga.EDGE_BOTTOM);
172
+ return {
173
+ x: scrollbarX,
174
+ y: scrollbarY,
175
+ width: scrollbarWidth,
176
+ height: 1,
177
+ thumb: {
178
+ x: scrollbarX + startIndex,
179
+ y: scrollbarY,
180
+ width: endIndex - startIndex,
181
+ height: 1,
182
+ start: startIndex,
183
+ end: endIndex,
184
+ startHalf: thumbStartHalf,
185
+ endHalf: thumbEndHalf,
186
+ },
187
+ };
188
+ };
67
189
  export default measureElement;
68
190
  //# sourceMappingURL=measure-element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"measure-element.js","sourceRoot":"","sources":["../src/measure-element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"measure-element.js","sourceRoot":"","sources":["../src/measure-element.ts"],"names":[],"mappings":"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"}
package/build/output.d.ts CHANGED
@@ -34,6 +34,7 @@ export default class Output {
34
34
  get(): {
35
35
  output: string;
36
36
  height: number;
37
+ styledOutput: StyledChar[][];
37
38
  };
38
39
  private clearRange;
39
40
  private applyWriteOperation;
package/build/output.js CHANGED
@@ -136,6 +136,7 @@ export default class Output {
136
136
  return {
137
137
  output: generatedOutput,
138
138
  height: output.length,
139
+ styledOutput: output,
139
140
  };
140
141
  }
141
142
  clearRange(currentLine, range, styles, value = ' ') {
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GAChB,MAAM,mBAAmB,CAAC;AA2C3B,MAAM,CAAC,OAAO,OAAO,MAAM;IAC1B,KAAK,CAAS;IACd,MAAM,CAAS;IAEE,UAAU,GAAgB,EAAE,CAAC;IAE7B,KAAK,GAAW,EAAE,CAAC;IAEpC,YAAY,OAAgB;QAC3B,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;QAEhC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CACJ,CAAS,EACT,CAAS,EACT,KAA4B,EAC5B,OAIC;QAED,MAAM,EAAC,YAAY,EAAE,SAAS,EAAE,uBAAuB,EAAC,GAAG,OAAO,CAAC;QAEnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,OAAO;YACb,CAAC;YACD,CAAC;YACD,KAAK;YACL,YAAY;YACZ,SAAS;YACT,uBAAuB;SACvB,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAU;QACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,MAAM;YACZ,IAAI;SACJ,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,EAAC,GAAG,IAAI,EAAC,CAAC;QAE3B,IAAI,YAAY,EAAE,CAAC;YAClB,QAAQ,CAAC,EAAE;gBACV,YAAY,CAAC,EAAE,KAAK,SAAS;oBAC5B,CAAC,CAAC,QAAQ,CAAC,EAAE;oBACb,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS;wBAC1B,CAAC,CAAC,YAAY,CAAC,EAAE;wBACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE5C,QAAQ,CAAC,EAAE;gBACV,YAAY,CAAC,EAAE,KAAK,SAAS;oBAC5B,CAAC,CAAC,QAAQ,CAAC,EAAE;oBACb,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS;wBAC1B,CAAC,CAAC,YAAY,CAAC,EAAE;wBACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE5C,QAAQ,CAAC,EAAE;gBACV,YAAY,CAAC,EAAE,KAAK,SAAS;oBAC5B,CAAC,CAAC,QAAQ,CAAC,EAAE;oBACb,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS;wBAC1B,CAAC,CAAC,YAAY,CAAC,EAAE;wBACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE5C,QAAQ,CAAC,EAAE;gBACV,YAAY,CAAC,EAAE,KAAK,SAAS;oBAC5B,CAAC,CAAC,QAAQ,CAAC,EAAE;oBACb,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS;wBAC1B,CAAC,CAAC,YAAY,CAAC,EAAE;wBACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM;QACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,QAAQ;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,GAAG;QACF,yGAAyG;QACzG,MAAM,MAAM,GAAmB,EAAE,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,GAAG,GAAiB,EAAE,CAAC;YAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,GAAG,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,GAAG;oBACV,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAW,EAAE,CAAC;QAEzB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,QAAQ,GAAG,EAAC,GAAG,SAAS,CAAC,IAAI,EAAC,CAAC;gBAErC,IAAI,YAAY,EAAE,CAAC;oBAClB,QAAQ,CAAC,EAAE;wBACV,YAAY,CAAC,EAAE,KAAK,SAAS;4BAC5B,CAAC,CAAC,QAAQ,CAAC,EAAE;4BACb,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS;gCAC1B,CAAC,CAAC,YAAY,CAAC,EAAE;gCACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAE5C,QAAQ,CAAC,EAAE;wBACV,YAAY,CAAC,EAAE,KAAK,SAAS;4BAC5B,CAAC,CAAC,QAAQ,CAAC,EAAE;4BACb,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS;gCAC1B,CAAC,CAAC,YAAY,CAAC,EAAE;gCACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAE5C,QAAQ,CAAC,EAAE;wBACV,YAAY,CAAC,EAAE,KAAK,SAAS;4BAC5B,CAAC,CAAC,QAAQ,CAAC,EAAE;4BACb,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS;gCAC1B,CAAC,CAAC,YAAY,CAAC,EAAE;gCACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAE5C,QAAQ,CAAC,EAAE;wBACV,YAAY,CAAC,EAAE,KAAK,SAAS;4BAC5B,CAAC,CAAC,QAAQ,CAAC,EAAE;4BACb,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS;gCAC1B,CAAC,CAAC,YAAY,CAAC,EAAE;gCACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrB,SAAS;YACV,CAAC;YAED,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACjC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACZ,SAAS;YACV,CAAC;YAED,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACpD,CAAC;QACF,CAAC;QAED,MAAM,eAAe,GAAG,MAAM;aAC5B,GAAG,CAAC,IAAI,CAAC,EAAE;YACX,2EAA2E;YAC3E,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAEtE,OAAO,mBAAmB,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7D,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO;YACN,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,YAAY,EAAE,MAAM;SACpB,CAAC;IACH,CAAC;IAEO,UAAU,CACjB,WAAyB,EACzB,KAAmC,EACnC,MAA4B,EAC5B,KAAK,GAAG,GAAG;QAEX,KAAK,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;YAC7D,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACxC,WAAW,CAAC,MAAM,CAAC,GAAG;oBACrB,IAAI,EAAE,MAAM;oBACZ,KAAK;oBACL,SAAS,EAAE,KAAK;oBAChB,MAAM;iBACN,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAEO,mBAAmB,CAC1B,MAAsB,EACtB,KAAa,EACb,SAAyB;QAEzB,MAAM,EAAC,YAAY,EAAE,SAAS,GAAG,CAAC,EAAC,GAAG,SAAS,CAAC;QAChD,IAAI,EAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAC,GAAG,SAAS,CAAC;QAE9B,IAAI,KAAK,GACR,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE/D,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAyB,CAAC;QAC9B,IAAI,GAAuB,CAAC;QAE5B,IAAI,IAAI,EAAE,CAAC;YACV,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAErD,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,OAAO;YACR,CAAC;YAED,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YACzB,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;YACjB,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;YACjB,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YACzB,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QACtB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAE9B,uFAAuF;QACvF,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO;QACR,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACtC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACxC,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACrC,CAAC;YAED,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAE1D,IAAI,GAAG,KAAK,SAAS,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;gBAC3C,MAAM;YACP,CAAC;YAED,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;gBAC/C,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC3B,MAAM;gBACP,CAAC;gBAED,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAEjC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,UAAU,CACd,WAAW,EACX,EAAC,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,cAAc,EAAC,EACnD,SAAS,CAAC,MAAM,EAChB,EAAE,CACF,CAAC;gBACH,CAAC;gBAED,OAAO,IAAI,cAAc,CAAC;YAC3B,CAAC;iBAAM,IACN,cAAc,GAAG,CAAC;gBAClB,KAAK,KAAK,SAAS;gBACnB,SAAS,GAAG,KAAK;gBACjB,SAAS,GAAG,cAAc,GAAG,KAAK,EACjC,CAAC;gBACF,MAAM,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,KAAK,CAAC;gBACvD,IAAI,CAAC,UAAU,CACd,WAAW,EACX,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,WAAW,EAAC,EAC5C,SAAS,CAAC,MAAM,EAChB,GAAG,CACH,CAAC;gBAEF,OAAO,IAAI,WAAW,CAAC;YACxB,CAAC;YAED,SAAS,IAAI,cAAc,CAAC;QAC7B,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;YAE3C,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3E,CAAC;IACF,CAAC;IAEO,SAAS,CAChB,KAAmB,EACnB,CAAS,EACT,CAAS,EACT,IAAU;QAUV,MAAM,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAC,GAAG,IAAI,CAAC;QAC9B,MAAM,gBAAgB,GAAG,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,CAAC;QAC1E,MAAM,cAAc,GAAG,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,CAAC;QAExE,IAAI,gBAAgB,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAEtC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,EAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAG,EAAE,CAAC;gBAC1C,OAAO,SAAS,CAAC;YAClB,CAAC;QACF,CAAC;QAED,IAAI,cAAc,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAG,IAAI,CAAC,IAAI,IAAI,CAAC,EAAG,CAAC,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,IAAI,KAAyB,CAAC;QAC9B,IAAI,GAAuB,CAAC;QAE5B,IAAI,gBAAgB,EAAE,CAAC;YACtB,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,EAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACtC,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,EAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAElD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAG,EAAE,CAAC;gBAClB,CAAC,GAAG,IAAI,CAAC,EAAG,CAAC;YACd,CAAC;QACF,CAAC;QAED,OAAO,EAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAC,CAAC;IAClC,CAAC;CACD"}
@@ -5,6 +5,7 @@ import squashTextNodes from './squash-text-nodes.js';
5
5
  import renderBorder from './render-border.js';
6
6
  import renderBackground from './render-background.js';
7
7
  import colorize from './colorize.js';
8
+ import { getVerticalScrollbarBoundingBox, getHorizontalScrollbarBoundingBox, } from './measure-element.js';
8
9
  import { measureStyledChars, splitStyledCharsByNewline, toStyledCharacters, } from './measure-text.js';
9
10
  // If parent container is `<Box>`, text nodes will be treated as separate nodes in
10
11
  // the tree and will have their own coordinates in the layout.
@@ -165,7 +166,6 @@ const renderNodeToOutput = (node, output, options) => {
165
166
  let childrenOffsetX = x;
166
167
  let verticallyScrollable = false;
167
168
  let horizontallyScrollable = false;
168
- let isVerticalScrollbarVisible = false;
169
169
  let activeStickyNode;
170
170
  let nextStickyNode;
171
171
  if (node.nodeName === 'ink-box') {
@@ -208,10 +208,6 @@ const renderNodeToOutput = (node, output, options) => {
208
208
  if (horizontallyScrollable) {
209
209
  childrenOffsetX -= node.internal_scrollState?.scrollLeft ?? 0;
210
210
  }
211
- isVerticalScrollbarVisible =
212
- verticallyScrollable &&
213
- (node.internal_scrollState?.scrollHeight ?? 0) >
214
- (node.internal_scrollState?.clientHeight ?? 0);
215
211
  const clipHorizontally = overflowX === 'hidden' || overflowX === 'scroll';
216
212
  const clipVertically = overflowY === 'hidden' || overflowY === 'scroll';
217
213
  if (clipHorizontally || clipVertically) {
@@ -302,9 +298,7 @@ const renderNodeToOutput = (node, output, options) => {
302
298
  renderVerticalScrollbar(node, x, y, output);
303
299
  }
304
300
  if (horizontallyScrollable) {
305
- renderHorizontalScrollbar(node, x, y, output, {
306
- verticallyScrollable: isVerticalScrollbarVisible,
307
- });
301
+ renderHorizontalScrollbar(node, x, y, output);
308
302
  }
309
303
  }
310
304
  }
@@ -377,64 +371,14 @@ function getRelativeLeft(node, ancestor) {
377
371
  }
378
372
  return left;
379
373
  }
380
- function renderScrollbar(node, output, options) {
381
- const { x, y, axis } = options;
382
- const { yogaNode } = node;
383
- if (!yogaNode) {
384
- return;
385
- }
386
- const clientDimension = axis === 'vertical'
387
- ? (node.internal_scrollState?.clientHeight ?? 0)
388
- : (node.internal_scrollState?.clientWidth ?? 0);
389
- const scrollDimension = axis === 'vertical'
390
- ? (node.internal_scrollState?.scrollHeight ?? 0)
391
- : (node.internal_scrollState?.scrollWidth ?? 0);
392
- const scrollPosition = axis === 'vertical'
393
- ? (node.internal_scrollState?.scrollTop ?? 0)
394
- : (node.internal_scrollState?.scrollLeft ?? 0);
395
- if (scrollDimension <= clientDimension) {
396
- return;
397
- }
398
- const scrollbarX = axis === 'vertical'
399
- ? x +
400
- yogaNode.getComputedWidth() -
401
- 1 -
402
- yogaNode.getComputedBorder(Yoga.EDGE_RIGHT)
403
- : x + yogaNode.getComputedBorder(Yoga.EDGE_LEFT);
404
- const scrollbarY = axis === 'vertical'
405
- ? y + yogaNode.getComputedBorder(Yoga.EDGE_TOP)
406
- : y +
407
- yogaNode.getComputedHeight() -
408
- 1 -
409
- yogaNode.getComputedBorder(Yoga.EDGE_BOTTOM);
410
- const scrollbarDimension = axis === 'vertical'
411
- ? yogaNode.getComputedHeight() -
412
- yogaNode.getComputedBorder(Yoga.EDGE_TOP) -
413
- yogaNode.getComputedBorder(Yoga.EDGE_BOTTOM)
414
- : yogaNode.getComputedWidth() -
415
- yogaNode.getComputedBorder(Yoga.EDGE_LEFT) -
416
- yogaNode.getComputedBorder(Yoga.EDGE_RIGHT) -
417
- (options.verticallyScrollable ? 1 : 0);
418
- if (scrollbarDimension <= 0) {
419
- return;
420
- }
421
- const scrollbarDimensionHalves = scrollbarDimension * 2;
422
- const thumbDimensionHalves = Math.max(axis === 'vertical' ? 2 : 1, Math.round((clientDimension / scrollDimension) * scrollbarDimensionHalves));
423
- const maxScrollPosition = scrollDimension - clientDimension;
424
- const maxThumbPosition = scrollbarDimensionHalves - thumbDimensionHalves;
425
- const thumbPosition = maxScrollPosition > 0
426
- ? Math.round((scrollPosition / maxScrollPosition) * maxThumbPosition)
427
- : 0;
374
+ function renderScrollbar(node, output, layout, axis) {
375
+ const { thumb } = layout;
428
376
  const thumbColor = node.style.scrollbarThumbColor;
429
- const thumbStartHalf = thumbPosition;
430
- const thumbEndHalf = thumbPosition + thumbDimensionHalves;
431
- const startIndex = Math.floor(thumbStartHalf / 2);
432
- const endIndex = Math.min(scrollbarDimension, Math.ceil(thumbEndHalf / 2));
433
- for (let index = startIndex; index < endIndex; index++) {
377
+ for (let index = thumb.start; index < thumb.end; index++) {
434
378
  const cellStartHalf = index * 2;
435
379
  const cellEndHalf = (index + 1) * 2;
436
- const start = Math.max(cellStartHalf, thumbStartHalf);
437
- const end = Math.min(cellEndHalf, thumbEndHalf);
380
+ const start = Math.max(cellStartHalf, thumb.startHalf);
381
+ const end = Math.min(cellEndHalf, thumb.endHalf);
438
382
  const fill = end - start;
439
383
  if (fill > 0) {
440
384
  const char = axis === 'vertical'
@@ -450,8 +394,8 @@ function renderScrollbar(node, output, options) {
450
394
  start % 2 === 0
451
395
  ? '▌' // Left half of the cell is filled
452
396
  : '▐'; // Right half of the cell is filled
453
- const outputX = axis === 'vertical' ? scrollbarX : scrollbarX + index;
454
- const outputY = axis === 'vertical' ? scrollbarY + index : scrollbarY;
397
+ const outputX = axis === 'vertical' ? layout.x : layout.x + index;
398
+ const outputY = axis === 'vertical' ? layout.y + index : layout.y;
455
399
  output.write(outputX, outputY, colorize(char, thumbColor, 'foreground'), {
456
400
  transformers: [],
457
401
  preserveBackgroundColor: true,
@@ -460,16 +404,16 @@ function renderScrollbar(node, output, options) {
460
404
  }
461
405
  }
462
406
  function renderVerticalScrollbar(node, x, y, output) {
463
- renderScrollbar(node, output, { x, y, axis: 'vertical' });
407
+ const layout = getVerticalScrollbarBoundingBox(node, { x, y });
408
+ if (layout) {
409
+ renderScrollbar(node, output, layout, 'vertical');
410
+ }
464
411
  }
465
- // eslint-disable-next-line max-params
466
- function renderHorizontalScrollbar(node, x, y, output, { verticallyScrollable }) {
467
- renderScrollbar(node, output, {
468
- x,
469
- y,
470
- axis: 'horizontal',
471
- verticallyScrollable,
472
- });
412
+ function renderHorizontalScrollbar(node, x, y, output) {
413
+ const layout = getHorizontalScrollbarBoundingBox(node, { x, y });
414
+ if (layout) {
415
+ renderScrollbar(node, output, layout, 'horizontal');
416
+ }
473
417
  }
474
418
  export default renderNodeToOutput;
475
419
  //# sourceMappingURL=render-node-to-output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-node-to-output.js","sourceRoot":"","sources":["../src/render-node-to-output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-node-to-output.js","sourceRoot":"","sources":["../src/render-node-to-output.ts"],"names":[],"mappings":"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"}
package/build/render.d.ts CHANGED
@@ -67,6 +67,21 @@ export type RenderOptions = {
67
67
  * @default false
68
68
  */
69
69
  alternateBufferAlreadyActive?: boolean;
70
+ /**
71
+ Enable incremental rendering mode which only updates changed lines instead of redrawing the entire output.
72
+ This can reduce flickering and improve performance for frequently updating UIs.
73
+
74
+ @default false
75
+ */
76
+ incrementalRendering?: boolean;
77
+ /**
78
+ If true, all content for the current frame will be rendered with background colors that alternate through a rainbow of options.
79
+ This is useful for debugging to see what content was actually updated on each frame.
80
+ Only content that was re-rendered gets a new rainbow color.
81
+
82
+ @default false
83
+ */
84
+ debugRainbow?: boolean;
70
85
  };
71
86
  export type Instance = {
72
87
  /**
package/build/render.js CHANGED
@@ -16,6 +16,7 @@ const render = (node, options) => {
16
16
  maxFps: 30,
17
17
  alternateBuffer: false,
18
18
  alternateBufferAlreadyActive: false,
19
+ incrementalRendering: false,
19
20
  ...getOptions(options),
20
21
  };
21
22
  const instance = getInstance(inkOptions.stdout, () => new Ink(inkOptions));
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,GAAqD,MAAM,UAAU,CAAC;AAC7E,OAAO,SAAS,MAAM,gBAAgB,CAAC;AA8GvC;;EAEE;AACF,MAAM,MAAM,GAAG,CACd,IAAe,EACf,OAA4C,EACjC,EAAE;IACb,MAAM,UAAU,GAAe;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,KAAK;QACtB,4BAA4B,EAAE,KAAK;QACnC,GAAG,UAAU,CAAC,OAAO,CAAC;KACtB,CAAC;IAEF,MAAM,QAAQ,GAAQ,WAAW,CAChC,UAAU,CAAC,MAAM,EACjB,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CACzB,CAAC;IAEF,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEtB,OAAO;QACN,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,OAAO;YACN,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;QACD,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAClD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;KAC7C,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC;AAEtB,MAAM,UAAU,GAAG,CAClB,SAAyD,EAAE,EAC3C,EAAE;IAClB,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;QAC9B,OAAO;YACN,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,KAAK;SACpB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CACnB,MAA0B,EAC1B,cAAyB,EACnB,EAAE;IACR,IAAI,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAErC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,QAAQ,GAAG,cAAc,EAAE,CAAC;QAC5B,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,GAAqD,MAAM,UAAU,CAAC;AAC7E,OAAO,SAAS,MAAM,gBAAgB,CAAC;AA8HvC;;EAEE;AACF,MAAM,MAAM,GAAG,CACd,IAAe,EACf,OAA4C,EACjC,EAAE;IACb,MAAM,UAAU,GAAe;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,KAAK;QACtB,4BAA4B,EAAE,KAAK;QACnC,oBAAoB,EAAE,KAAK;QAC3B,GAAG,UAAU,CAAC,OAAO,CAAC;KACtB,CAAC;IAEF,MAAM,QAAQ,GAAQ,WAAW,CAChC,UAAU,CAAC,MAAM,EACjB,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CACzB,CAAC;IAEF,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEtB,OAAO;QACN,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,OAAO;YACN,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;QACD,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAClD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;KAC7C,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC;AAEtB,MAAM,UAAU,GAAG,CAClB,SAAyD,EAAE,EAC3C,EAAE;IAClB,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;QAC9B,OAAO;YACN,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,KAAK;SACpB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CACnB,MAA0B,EAC1B,cAAyB,EACnB,EAAE;IACR,IAAI,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAErC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,QAAQ,GAAG,cAAc,EAAE,CAAC;QAC5B,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
@@ -1,8 +1,10 @@
1
+ import { type StyledChar } from '@alcalzone/ansi-tokenize';
1
2
  import { type DOMElement } from './dom.js';
2
3
  type Result = {
3
4
  output: string;
4
5
  outputHeight: number;
5
6
  staticOutput: string;
7
+ styledOutput: StyledChar[][];
6
8
  };
7
9
  declare const renderer: (node: DOMElement, isScreenReaderEnabled: boolean) => Result;
8
10
  export default renderer;
package/build/renderer.js CHANGED
@@ -17,6 +17,7 @@ const renderer = (node, isScreenReaderEnabled) => {
17
17
  output,
18
18
  outputHeight,
19
19
  staticOutput: staticOutput ? `${staticOutput}\n` : '',
20
+ styledOutput: [],
20
21
  };
21
22
  }
22
23
  const output = new Output({
@@ -36,19 +37,21 @@ const renderer = (node, isScreenReaderEnabled) => {
36
37
  skipStaticElements: false,
37
38
  });
38
39
  }
39
- const { output: generatedOutput, height: outputHeight } = output.get();
40
+ const { output: generatedOutput, height: outputHeight, styledOutput, } = output.get();
40
41
  return {
41
42
  output: generatedOutput,
42
43
  outputHeight,
43
44
  // Newline at the end is needed, because static output doesn't have one, so
44
45
  // interactive output will override last line of static output
45
46
  staticOutput: staticOutput ? `${staticOutput.get().output}\n` : '',
47
+ styledOutput,
46
48
  };
47
49
  }
48
50
  return {
49
51
  output: '',
50
52
  outputHeight: 0,
51
53
  staticOutput: '',
54
+ styledOutput: [],
52
55
  };
53
56
  };
54
57
  export default renderer;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,EAAE,EAC1B,8BAA8B,GAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,MAAM,MAAM,aAAa,CAAC;AASjC,MAAM,QAAQ,GAAG,CAAC,IAAgB,EAAE,qBAA8B,EAAU,EAAE;IAC7E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAI,qBAAqB,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,8BAA8B,CAAC,IAAI,EAAE;gBACnD,kBAAkB,EAAE,IAAI;aACxB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAEnE,IAAI,YAAY,GAAG,EAAE,CAAC;YAEtB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,YAAY,GAAG,8BAA8B,CAAC,IAAI,CAAC,UAAU,EAAE;oBAC9D,kBAAkB,EAAE,KAAK;iBACzB,CAAC,CAAC;YACJ,CAAC;YAED,OAAO;gBACN,MAAM;gBACN,YAAY;gBACZ,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE;aACrD,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;YACzB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YACvC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;SACzC,CAAC,CAAC;QAEH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE;YAChC,kBAAkB,EAAE,IAAI;SACxB,CAAC,CAAC;QAEH,IAAI,YAAY,CAAC;QAEjB,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC;YAC/B,YAAY,GAAG,IAAI,MAAM,CAAC;gBACzB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,EAAE;gBAClD,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,EAAE;aACpD,CAAC,CAAC;YAEH,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE;gBACjD,kBAAkB,EAAE,KAAK;aACzB,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,EAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QAErE,OAAO;YACN,MAAM,EAAE,eAAe;YACvB,YAAY;YACZ,2EAA2E;YAC3E,8DAA8D;YAC9D,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;SAClE,CAAC;IACH,CAAC;IAED,OAAO;QACN,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,EAAE;KAChB,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,EAAE,EAC1B,8BAA8B,GAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,MAAM,MAAM,aAAa,CAAC;AAUjC,MAAM,QAAQ,GAAG,CAAC,IAAgB,EAAE,qBAA8B,EAAU,EAAE;IAC7E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAI,qBAAqB,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,8BAA8B,CAAC,IAAI,EAAE;gBACnD,kBAAkB,EAAE,IAAI;aACxB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAEnE,IAAI,YAAY,GAAG,EAAE,CAAC;YAEtB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,YAAY,GAAG,8BAA8B,CAAC,IAAI,CAAC,UAAU,EAAE;oBAC9D,kBAAkB,EAAE,KAAK;iBACzB,CAAC,CAAC;YACJ,CAAC;YAED,OAAO;gBACN,MAAM;gBACN,YAAY;gBACZ,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE;gBACrD,YAAY,EAAE,EAAE;aAChB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;YACzB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YACvC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;SACzC,CAAC,CAAC;QAEH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE;YAChC,kBAAkB,EAAE,IAAI;SACxB,CAAC,CAAC;QAEH,IAAI,YAAY,CAAC;QAEjB,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC;YAC/B,YAAY,GAAG,IAAI,MAAM,CAAC;gBACzB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,EAAE;gBAClD,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,EAAE;aACpD,CAAC,CAAC;YAEH,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE;gBACjD,kBAAkB,EAAE,KAAK;aACzB,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,EACL,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,YAAY,EACpB,YAAY,GACZ,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QAEjB,OAAO;YACN,MAAM,EAAE,eAAe;YACvB,YAAY;YACZ,2EAA2E;YAC3E,8DAA8D;YAC9D,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;YAClE,YAAY;SACZ,CAAC;IACH,CAAC;IAED,OAAO;QACN,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;KAChB,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jrichman/ink",
3
- "version": "6.4.2",
3
+ "version": "6.4.3",
4
4
  "description": "React for CLI",
5
5
  "license": "MIT",
6
6
  "repository": "jacob314/ink",
package/readme.md CHANGED
@@ -2059,6 +2059,14 @@ This controls how frequently the UI can update to prevent excessive re-rendering
2059
2059
  Higher values allow more frequent updates but may impact performance.
2060
2060
  Setting it to a lower value may be useful for components that update very frequently, to reduce CPU usage.
2061
2061
 
2062
+ ###### incrementalRendering
2063
+
2064
+ Type: `boolean`\
2065
+ Default: `false`
2066
+
2067
+ Enable incremental rendering mode which only updates changed lines instead of redrawing the entire output.
2068
+ This can reduce flickering and improve performance for frequently updating UIs.
2069
+
2062
2070
  #### Instance
2063
2071
 
2064
2072
  This is the object that `render()` returns.