ink 6.6.0 → 6.8.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.
Files changed (73) hide show
  1. package/build/ansi-tokenizer.d.ts +38 -0
  2. package/build/ansi-tokenizer.js +316 -0
  3. package/build/ansi-tokenizer.js.map +1 -0
  4. package/build/components/App.d.ts +8 -49
  5. package/build/components/App.js +293 -228
  6. package/build/components/App.js.map +1 -1
  7. package/build/components/AppContext.d.ts +5 -1
  8. package/build/components/AppContext.js.map +1 -1
  9. package/build/components/Cursor.d.ts +83 -0
  10. package/build/components/Cursor.js +53 -0
  11. package/build/components/Cursor.js.map +1 -0
  12. package/build/components/CursorContext.d.ts +11 -0
  13. package/build/components/CursorContext.js +8 -0
  14. package/build/components/CursorContext.js.map +1 -0
  15. package/build/components/ErrorBoundary.d.ts +18 -0
  16. package/build/components/ErrorBoundary.js +23 -0
  17. package/build/components/ErrorBoundary.js.map +1 -0
  18. package/build/cursor-helpers.d.ts +38 -0
  19. package/build/cursor-helpers.js +56 -0
  20. package/build/cursor-helpers.js.map +1 -0
  21. package/build/dom.js +5 -4
  22. package/build/dom.js.map +1 -1
  23. package/build/hooks/use-cursor.d.ts +12 -0
  24. package/build/hooks/use-cursor.js +29 -0
  25. package/build/hooks/use-cursor.js.map +1 -0
  26. package/build/hooks/use-input.d.ts +30 -0
  27. package/build/hooks/use-input.js +31 -2
  28. package/build/hooks/use-input.js.map +1 -1
  29. package/build/index.d.ts +6 -0
  30. package/build/index.js +3 -0
  31. package/build/index.js.map +1 -1
  32. package/build/ink.d.ts +39 -3
  33. package/build/ink.js +377 -49
  34. package/build/ink.js.map +1 -1
  35. package/build/input-parser.d.ts +7 -0
  36. package/build/input-parser.js +154 -0
  37. package/build/input-parser.js.map +1 -0
  38. package/build/kitty-keyboard.d.ts +23 -0
  39. package/build/kitty-keyboard.js +32 -0
  40. package/build/kitty-keyboard.js.map +1 -0
  41. package/build/layout.d.ts +7 -0
  42. package/build/layout.js +33 -0
  43. package/build/layout.js.map +1 -0
  44. package/build/log-update.d.ts +6 -1
  45. package/build/log-update.js +163 -40
  46. package/build/log-update.js.map +1 -1
  47. package/build/output.d.ts +1 -0
  48. package/build/output.js +38 -5
  49. package/build/output.js.map +1 -1
  50. package/build/parse-keypress.d.ts +8 -0
  51. package/build/parse-keypress.js +270 -2
  52. package/build/parse-keypress.js.map +1 -1
  53. package/build/reconciler.js +23 -3
  54. package/build/reconciler.js.map +1 -1
  55. package/build/render-to-string.d.ts +38 -0
  56. package/build/render-to-string.js +115 -0
  57. package/build/render-to-string.js.map +1 -0
  58. package/build/render.d.ts +34 -1
  59. package/build/render.js +7 -2
  60. package/build/render.js.map +1 -1
  61. package/build/sanitize-ansi.d.ts +2 -0
  62. package/build/sanitize-ansi.js +27 -0
  63. package/build/sanitize-ansi.js.map +1 -0
  64. package/build/squash-text-nodes.js +2 -1
  65. package/build/squash-text-nodes.js.map +1 -1
  66. package/build/utils.d.ts +2 -0
  67. package/build/utils.js +4 -0
  68. package/build/utils.js.map +1 -0
  69. package/build/write-synchronized.d.ts +4 -0
  70. package/build/write-synchronized.js +7 -0
  71. package/build/write-synchronized.js.map +1 -0
  72. package/package.json +27 -21
  73. package/readme.md +292 -14
@@ -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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"}
package/build/output.d.ts CHANGED
@@ -20,6 +20,7 @@ export default class Output {
20
20
  width: number;
21
21
  height: number;
22
22
  private readonly operations;
23
+ private readonly caches;
23
24
  constructor(options: Options);
24
25
  write(x: number, y: number, text: string, options: {
25
26
  transformers: OutputTransformer[];
package/build/output.js CHANGED
@@ -1,11 +1,44 @@
1
1
  import sliceAnsi from 'slice-ansi';
2
2
  import stringWidth from 'string-width';
3
- import widestLine from 'widest-line';
4
3
  import { styledCharsFromTokens, styledCharsToString, tokenize, } from '@alcalzone/ansi-tokenize';
4
+ class OutputCaches {
5
+ widths = new Map();
6
+ blockWidths = new Map();
7
+ styledChars = new Map();
8
+ getStyledChars(line) {
9
+ let cached = this.styledChars.get(line);
10
+ if (cached === undefined) {
11
+ cached = styledCharsFromTokens(tokenize(line));
12
+ this.styledChars.set(line, cached);
13
+ }
14
+ return cached;
15
+ }
16
+ getStringWidth(text) {
17
+ let cached = this.widths.get(text);
18
+ if (cached === undefined) {
19
+ cached = stringWidth(text);
20
+ this.widths.set(text, cached);
21
+ }
22
+ return cached;
23
+ }
24
+ getWidestLine(text) {
25
+ let cached = this.blockWidths.get(text);
26
+ if (cached === undefined) {
27
+ let lineWidth = 0;
28
+ for (const line of text.split('\n')) {
29
+ lineWidth = Math.max(lineWidth, this.getStringWidth(line));
30
+ }
31
+ cached = lineWidth;
32
+ this.blockWidths.set(text, cached);
33
+ }
34
+ return cached;
35
+ }
36
+ }
5
37
  export default class Output {
6
38
  width;
7
39
  height;
8
40
  operations = [];
41
+ caches = new OutputCaches();
9
42
  constructor(options) {
10
43
  const { width, height } = options;
11
44
  this.width = width;
@@ -69,7 +102,7 @@ export default class Output {
69
102
  // If text is positioned outside of clipping area altogether,
70
103
  // skip to the next operation to avoid unnecessary calculations
71
104
  if (clipHorizontally) {
72
- const width = widestLine(text);
105
+ const width = this.caches.getWidestLine(text);
73
106
  if (x + width < clip.x1 || x > clip.x2) {
74
107
  continue;
75
108
  }
@@ -83,7 +116,7 @@ export default class Output {
83
116
  if (clipHorizontally) {
84
117
  lines = lines.map(line => {
85
118
  const from = x < clip.x1 ? clip.x1 - x : 0;
86
- const width = stringWidth(line);
119
+ const width = this.caches.getStringWidth(line);
87
120
  const to = x + width > clip.x2 ? clip.x2 - x : width;
88
121
  return sliceAnsi(line, from, to);
89
122
  });
@@ -111,12 +144,12 @@ export default class Output {
111
144
  for (const transformer of transformers) {
112
145
  line = transformer(line, index);
113
146
  }
114
- const characters = styledCharsFromTokens(tokenize(line));
147
+ const characters = this.caches.getStyledChars(line);
115
148
  let offsetX = x;
116
149
  for (const character of characters) {
117
150
  currentLine[offsetX] = character;
118
151
  // Determine printed width using string-width to align with measurement
119
- const characterWidth = Math.max(1, stringWidth(character.value));
152
+ const characterWidth = Math.max(1, this.caches.getStringWidth(character.value));
120
153
  // For multi-column characters, clear following cells to avoid stray spaces/artifacts
121
154
  if (characterWidth > 1) {
122
155
  for (let index = 1; index < characterWidth; index++) {
@@ -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":"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"}
@@ -9,6 +9,14 @@ type ParsedKey = {
9
9
  sequence: string;
10
10
  raw: string | undefined;
11
11
  code?: string;
12
+ super?: boolean;
13
+ hyper?: boolean;
14
+ capsLock?: boolean;
15
+ numLock?: boolean;
16
+ eventType?: 'press' | 'repeat' | 'release';
17
+ isKittyProtocol?: boolean;
18
+ text?: string;
19
+ isPrintable?: boolean;
12
20
  };
13
21
  declare const parseKeypress: (s?: Buffer | string) => ParsedKey;
14
22
  export default parseKeypress;
@@ -1,5 +1,6 @@
1
1
  // Copied from https://github.com/enquirer/enquirer/blob/36785f3399a41cd61e9d28d1eb9c2fcd73d69b4c/lib/keypress.js
2
2
  import { Buffer } from 'node:buffer';
3
+ import { kittyModifiers } from './kitty-keyboard.js';
3
4
  const metaKeyCodeRe = /^(?:\x1b)([a-zA-Z0-9])$/;
4
5
  const fnKeyRe = /^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/;
5
6
  const keyName = {
@@ -115,6 +116,249 @@ const isCtrlKey = (code) => {
115
116
  '[8^',
116
117
  ].includes(code);
117
118
  };
119
+ // Kitty keyboard protocol: CSI codepoint ; modifiers [: eventType] [; text-as-codepoints] u
120
+ const kittyKeyRe = /^\x1b\[(\d+)(?:;(\d+)(?::(\d+))?(?:;([\d:]+))?)?u$/;
121
+ // Kitty-enhanced special keys: CSI number ; modifiers : eventType {letter|~}
122
+ // These are legacy CSI sequences enhanced with the :eventType field.
123
+ // Examples: \x1b[1;1:1A (up arrow press), \x1b[3;1:3~ (delete release)
124
+ const kittySpecialKeyRe = /^\x1b\[(\d+);(\d+):(\d+)([A-Za-z~])$/;
125
+ // Letter-terminated special key names (CSI 1 ; mods letter)
126
+ const kittySpecialLetterKeys = {
127
+ A: 'up',
128
+ B: 'down',
129
+ C: 'right',
130
+ D: 'left',
131
+ E: 'clear',
132
+ F: 'end',
133
+ H: 'home',
134
+ P: 'f1',
135
+ Q: 'f2',
136
+ R: 'f3',
137
+ S: 'f4',
138
+ };
139
+ // Number-terminated special key names (CSI number ; mods ~)
140
+ const kittySpecialNumberKeys = {
141
+ 2: 'insert',
142
+ 3: 'delete',
143
+ 5: 'pageup',
144
+ 6: 'pagedown',
145
+ 7: 'home',
146
+ 8: 'end',
147
+ 11: 'f1',
148
+ 12: 'f2',
149
+ 13: 'f3',
150
+ 14: 'f4',
151
+ 15: 'f5',
152
+ 17: 'f6',
153
+ 18: 'f7',
154
+ 19: 'f8',
155
+ 20: 'f9',
156
+ 21: 'f10',
157
+ 23: 'f11',
158
+ 24: 'f12',
159
+ };
160
+ // Map of special codepoints to key names in kitty protocol
161
+ const kittyCodepointNames = {
162
+ 27: 'escape',
163
+ // 13 (return) and 32 (space) are handled before this lookup
164
+ // in parseKittyKeypress so they can be marked as printable.
165
+ 9: 'tab',
166
+ 127: 'delete',
167
+ 8: 'backspace',
168
+ 57358: 'capslock',
169
+ 57359: 'scrolllock',
170
+ 57360: 'numlock',
171
+ 57361: 'printscreen',
172
+ 57362: 'pause',
173
+ 57363: 'menu',
174
+ 57376: 'f13',
175
+ 57377: 'f14',
176
+ 57378: 'f15',
177
+ 57379: 'f16',
178
+ 57380: 'f17',
179
+ 57381: 'f18',
180
+ 57382: 'f19',
181
+ 57383: 'f20',
182
+ 57384: 'f21',
183
+ 57385: 'f22',
184
+ 57386: 'f23',
185
+ 57387: 'f24',
186
+ 57388: 'f25',
187
+ 57389: 'f26',
188
+ 57390: 'f27',
189
+ 57391: 'f28',
190
+ 57392: 'f29',
191
+ 57393: 'f30',
192
+ 57394: 'f31',
193
+ 57395: 'f32',
194
+ 57396: 'f33',
195
+ 57397: 'f34',
196
+ 57398: 'f35',
197
+ 57399: 'kp0',
198
+ 57400: 'kp1',
199
+ 57401: 'kp2',
200
+ 57402: 'kp3',
201
+ 57403: 'kp4',
202
+ 57404: 'kp5',
203
+ 57405: 'kp6',
204
+ 57406: 'kp7',
205
+ 57407: 'kp8',
206
+ 57408: 'kp9',
207
+ 57409: 'kpdecimal',
208
+ 57410: 'kpdivide',
209
+ 57411: 'kpmultiply',
210
+ 57412: 'kpsubtract',
211
+ 57413: 'kpadd',
212
+ 57414: 'kpenter',
213
+ 57415: 'kpequal',
214
+ 57416: 'kpseparator',
215
+ 57417: 'kpleft',
216
+ 57418: 'kpright',
217
+ 57419: 'kpup',
218
+ 57420: 'kpdown',
219
+ 57421: 'kppageup',
220
+ 57422: 'kppagedown',
221
+ 57423: 'kphome',
222
+ 57424: 'kpend',
223
+ 57425: 'kpinsert',
224
+ 57426: 'kpdelete',
225
+ 57427: 'kpbegin',
226
+ 57428: 'mediaplay',
227
+ 57429: 'mediapause',
228
+ 57430: 'mediaplaypause',
229
+ 57431: 'mediareverse',
230
+ 57432: 'mediastop',
231
+ 57433: 'mediafastforward',
232
+ 57434: 'mediarewind',
233
+ 57435: 'mediatracknext',
234
+ 57436: 'mediatrackprevious',
235
+ 57437: 'mediarecord',
236
+ 57438: 'lowervolume',
237
+ 57439: 'raisevolume',
238
+ 57440: 'mutevolume',
239
+ 57441: 'leftshift',
240
+ 57442: 'leftcontrol',
241
+ 57443: 'leftalt',
242
+ 57444: 'leftsuper',
243
+ 57445: 'lefthyper',
244
+ 57446: 'leftmeta',
245
+ 57447: 'rightshift',
246
+ 57448: 'rightcontrol',
247
+ 57449: 'rightalt',
248
+ 57450: 'rightsuper',
249
+ 57451: 'righthyper',
250
+ 57452: 'rightmeta',
251
+ 57453: 'isoLevel3Shift',
252
+ 57454: 'isoLevel5Shift',
253
+ };
254
+ // Valid Unicode codepoint range, excluding surrogates
255
+ const isValidCodepoint = (cp) => cp >= 0 && cp <= 0x10_ffff && !(cp >= 0xd8_00 && cp <= 0xdf_ff);
256
+ const safeFromCodePoint = (cp) => isValidCodepoint(cp) ? String.fromCodePoint(cp) : '?';
257
+ function resolveEventType(value) {
258
+ if (value === 3)
259
+ return 'release';
260
+ if (value === 2)
261
+ return 'repeat';
262
+ return 'press';
263
+ }
264
+ function parseKittyModifiers(modifiers) {
265
+ return {
266
+ ctrl: !!(modifiers & kittyModifiers.ctrl),
267
+ shift: !!(modifiers & kittyModifiers.shift),
268
+ meta: !!(modifiers & kittyModifiers.meta),
269
+ option: !!(modifiers & kittyModifiers.alt),
270
+ super: !!(modifiers & kittyModifiers.super),
271
+ hyper: !!(modifiers & kittyModifiers.hyper),
272
+ capsLock: !!(modifiers & kittyModifiers.capsLock),
273
+ numLock: !!(modifiers & kittyModifiers.numLock),
274
+ };
275
+ }
276
+ const parseKittyKeypress = (s) => {
277
+ const match = kittyKeyRe.exec(s);
278
+ if (!match)
279
+ return null;
280
+ const codepoint = parseInt(match[1], 10);
281
+ const modifiers = match[2] ? Math.max(0, parseInt(match[2], 10) - 1) : 0;
282
+ const eventType = match[3] ? parseInt(match[3], 10) : 1;
283
+ const textField = match[4];
284
+ // Bail on invalid primary codepoint
285
+ if (!isValidCodepoint(codepoint)) {
286
+ return null;
287
+ }
288
+ // Parse text-as-codepoints field (colon-separated Unicode codepoints)
289
+ let text;
290
+ if (textField) {
291
+ text = textField
292
+ .split(':')
293
+ .map(cp => safeFromCodePoint(parseInt(cp, 10)))
294
+ .join('');
295
+ }
296
+ // Determine key name from codepoint
297
+ let name;
298
+ let isPrintable;
299
+ if (codepoint === 32) {
300
+ name = 'space';
301
+ isPrintable = true;
302
+ }
303
+ else if (codepoint === 13) {
304
+ name = 'return';
305
+ isPrintable = true;
306
+ }
307
+ else if (kittyCodepointNames[codepoint]) {
308
+ name = kittyCodepointNames[codepoint];
309
+ isPrintable = false;
310
+ }
311
+ else if (codepoint >= 1 && codepoint <= 26) {
312
+ // Ctrl+letter comes as codepoint 1-26
313
+ name = String.fromCodePoint(codepoint + 96); // 'a' is 97
314
+ isPrintable = false;
315
+ }
316
+ else {
317
+ name = safeFromCodePoint(codepoint).toLowerCase();
318
+ isPrintable = true;
319
+ }
320
+ // Default text to the character from the codepoint when not explicitly
321
+ // provided by the protocol, so keys like space and return produce their
322
+ // expected text input (' ' and '\r' respectively).
323
+ if (isPrintable && !text) {
324
+ text = safeFromCodePoint(codepoint);
325
+ }
326
+ return {
327
+ name,
328
+ ...parseKittyModifiers(modifiers),
329
+ eventType: resolveEventType(eventType),
330
+ sequence: s,
331
+ raw: s,
332
+ isKittyProtocol: true,
333
+ isPrintable,
334
+ text,
335
+ };
336
+ };
337
+ // Parse kitty-enhanced special key sequences (arrow keys, function keys, etc.)
338
+ // These use the legacy CSI format but with an added :eventType field.
339
+ const parseKittySpecialKey = (s) => {
340
+ const match = kittySpecialKeyRe.exec(s);
341
+ if (!match)
342
+ return null;
343
+ const number = parseInt(match[1], 10);
344
+ const modifiers = Math.max(0, parseInt(match[2], 10) - 1);
345
+ const eventType = parseInt(match[3], 10);
346
+ const terminator = match[4];
347
+ const name = terminator === '~'
348
+ ? kittySpecialNumberKeys[number]
349
+ : kittySpecialLetterKeys[terminator];
350
+ if (!name)
351
+ return null;
352
+ return {
353
+ name,
354
+ ...parseKittyModifiers(modifiers),
355
+ eventType: resolveEventType(eventType),
356
+ sequence: s,
357
+ raw: s,
358
+ isKittyProtocol: true,
359
+ isPrintable: false,
360
+ };
361
+ };
118
362
  const parseKeypress = (s = '') => {
119
363
  let parts;
120
364
  if (Buffer.isBuffer(s)) {
@@ -132,6 +376,29 @@ const parseKeypress = (s = '') => {
132
376
  else if (!s) {
133
377
  s = '';
134
378
  }
379
+ // Try kitty keyboard protocol parsers first
380
+ const kittyResult = parseKittyKeypress(s);
381
+ if (kittyResult)
382
+ return kittyResult;
383
+ const kittySpecialResult = parseKittySpecialKey(s);
384
+ if (kittySpecialResult)
385
+ return kittySpecialResult;
386
+ // If the input matched the kitty CSI-u pattern but was rejected (e.g.,
387
+ // invalid codepoint), return a safe empty keypress instead of falling
388
+ // through to legacy parsing which can produce unsafe states (undefined name)
389
+ if (kittyKeyRe.test(s)) {
390
+ return {
391
+ name: '',
392
+ ctrl: false,
393
+ meta: false,
394
+ shift: false,
395
+ option: false,
396
+ sequence: s,
397
+ raw: s,
398
+ isKittyProtocol: true,
399
+ isPrintable: false,
400
+ };
401
+ }
135
402
  const key = {
136
403
  name: '',
137
404
  ctrl: false,
@@ -142,10 +409,11 @@ const parseKeypress = (s = '') => {
142
409
  raw: s,
143
410
  };
144
411
  key.sequence = key.sequence || s || key.name;
145
- if (s === '\r') {
146
- // carriage return
412
+ if (s === '\r' || s === '\x1b\r') {
413
+ // carriage return (or option+return on macOS)
147
414
  key.raw = undefined;
148
415
  key.name = 'return';
416
+ key.option = s.length === 2;
149
417
  }
150
418
  else if (s === '\n') {
151
419
  // enter, should have been called linefeed
@@ -1 +1 @@
1
- {"version":3,"file":"parse-keypress.js","sourceRoot":"","sources":["../src/parse-keypress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-keypress.js","sourceRoot":"","sources":["../src/parse-keypress.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
- import process from 'node:process';
2
1
  import createReconciler from 'react-reconciler';
3
2
  import { DefaultEventPriority, NoEventPriority, } from 'react-reconciler/constants.js';
3
+ import * as Scheduler from 'scheduler';
4
4
  import Yoga from 'yoga-layout';
5
5
  import { createContext } from 'react';
6
6
  import { createTextNode, appendChildNode, insertBeforeNode, removeChildNode, setStyle, setTextNodeValue, createNode, setAttribute, } from './dom.js';
7
7
  import applyStyles from './styles.js';
8
+ import { isDev } from './utils.js';
8
9
  // We need to conditionally perform devtools connection to avoid
9
10
  // accidentally breaking other third-party code.
10
11
  // See https://github.com/vadimdemedes/ink/issues/384
11
- if (process.env['DEV'] === 'true') {
12
+ if (isDev()) {
12
13
  try {
13
14
  await import('./devtools.js');
14
15
  }
@@ -61,6 +62,14 @@ const cleanupYogaNode = (node) => {
61
62
  };
62
63
  let currentUpdatePriority = NoEventPriority;
63
64
  let currentRootNode;
65
+ async function loadPackageJson() {
66
+ const fs = await import('node:fs');
67
+ const content = fs.readFileSync(new URL('../package.json', import.meta.url), 'utf8');
68
+ return JSON.parse(content);
69
+ }
70
+ const packageJson = isDev()
71
+ ? await loadPackageJson()
72
+ : { name: undefined, version: undefined };
64
73
  export default createReconciler({
65
74
  getRootHostContext: () => ({
66
75
  isInsideText: false,
@@ -161,6 +170,14 @@ export default createReconciler({
161
170
  supportsMutation: true,
162
171
  supportsPersistence: false,
163
172
  supportsHydration: false,
173
+ // Scheduler integration for concurrent mode
174
+ supportsMicrotasks: true,
175
+ scheduleMicrotask: queueMicrotask,
176
+ // @ts-expect-error @types/react-reconciler is outdated and doesn't include scheduleCallback
177
+ scheduleCallback: Scheduler.unstable_scheduleCallback,
178
+ cancelCallback: Scheduler.unstable_cancelCallback,
179
+ shouldYield: Scheduler.unstable_shouldYield,
180
+ now: Scheduler.unstable_now,
164
181
  scheduleTimeout: setTimeout,
165
182
  cancelTimeout: clearTimeout,
166
183
  noTimeout: -1,
@@ -224,7 +241,8 @@ export default createReconciler({
224
241
  return DefaultEventPriority;
225
242
  },
226
243
  maySuspendCommit() {
227
- return false;
244
+ // Return true to enable Suspense resource preloading
245
+ return true;
228
246
  },
229
247
  // eslint-disable-next-line @typescript-eslint/naming-convention
230
248
  NotPendingTransition: undefined,
@@ -250,5 +268,7 @@ export default createReconciler({
250
268
  waitForCommitToBeReady() {
251
269
  return null;
252
270
  },
271
+ rendererPackageName: packageJson.name,
272
+ rendererVersion: packageJson.version,
253
273
  });
254
274
  //# sourceMappingURL=reconciler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { ReactNode } from 'react';
2
+ export type RenderToStringOptions = {
3
+ /**
4
+ Width of the virtual terminal in columns.
5
+
6
+ @default 80
7
+ */
8
+ columns?: number;
9
+ };
10
+ /**
11
+ Render a React element to a string synchronously. Unlike `render()`, this function does not write to stdout, does not set up any terminal event listeners, and returns the rendered output as a string.
12
+
13
+ Useful for generating documentation, writing output to files, testing, or any scenario where you need the rendered output as a string without starting a persistent terminal application.
14
+
15
+ **Notes:**
16
+
17
+ - Terminal-specific hooks (`useInput`, `useStdin`, `useStdout`, `useStderr`, `useApp`, `useFocus`, `useFocusManager`) return default no-op values since there is no terminal session. They will not throw, but they will not function as in a live terminal.
18
+ - `useEffect` callbacks will execute during rendering (due to synchronous rendering mode), but state updates they trigger will not affect the returned output, which reflects the initial render.
19
+ - `useLayoutEffect` callbacks fire synchronously during commit, so state updates they trigger **will** be reflected in the output.
20
+ - The `<Static>` component is supported — its output is prepended to the dynamic output.
21
+ - If a component throws during rendering, the error is propagated to the caller after cleanup.
22
+
23
+ @example
24
+ ```
25
+ import {renderToString, Text, Box} from 'ink';
26
+
27
+ const output = renderToString(
28
+ <Box padding={1}>
29
+ <Text color="green">Hello World</Text>
30
+ </Box>,
31
+ {columns: 40}
32
+ );
33
+
34
+ console.log(output);
35
+ ```
36
+ */
37
+ declare const renderToString: (node: ReactNode, options?: RenderToStringOptions) => string;
38
+ export default renderToString;