@jrichman/ink 6.5.1-beta.0 → 6.5.1-beta.2

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 (109) hide show
  1. package/build/components/App.js +0 -3
  2. package/build/components/App.js.map +1 -1
  3. package/build/components/AppContext.js +0 -1
  4. package/build/components/AppContext.js.map +1 -1
  5. package/build/components/FocusContext.js +0 -1
  6. package/build/components/FocusContext.js.map +1 -1
  7. package/build/components/Static.js +1 -1
  8. package/build/components/Static.js.map +1 -1
  9. package/build/components/StaticRender.js +9 -1
  10. package/build/components/StaticRender.js.map +1 -1
  11. package/build/components/StderrContext.js +0 -1
  12. package/build/components/StderrContext.js.map +1 -1
  13. package/build/components/StdinContext.js +0 -3
  14. package/build/components/StdinContext.js.map +1 -1
  15. package/build/components/StdoutContext.js +0 -1
  16. package/build/components/StdoutContext.js.map +1 -1
  17. package/build/data-limited-lru-map.d.ts +1 -0
  18. package/build/data-limited-lru-map.js +4 -0
  19. package/build/data-limited-lru-map.js.map +1 -1
  20. package/build/devtools.js +0 -3
  21. package/build/devtools.js.map +1 -1
  22. package/build/dom.d.ts +7 -5
  23. package/build/dom.js +6 -2
  24. package/build/dom.js.map +1 -1
  25. package/build/hooks/use-input.js +0 -1
  26. package/build/hooks/use-input.js.map +1 -1
  27. package/build/index.d.ts +1 -1
  28. package/build/index.js +1 -0
  29. package/build/index.js.map +1 -1
  30. package/build/ink.d.ts +3 -1
  31. package/build/ink.js +12 -4
  32. package/build/ink.js.map +1 -1
  33. package/build/log-update.d.ts +2 -2
  34. package/build/log-update.js +4 -4
  35. package/build/log-update.js.map +1 -1
  36. package/build/measure-element.js +15 -45
  37. package/build/measure-element.js.map +1 -1
  38. package/build/measure-text.d.ts +11 -23
  39. package/build/measure-text.js +112 -136
  40. package/build/measure-text.js.map +1 -1
  41. package/build/output.d.ts +15 -14
  42. package/build/output.js +60 -87
  43. package/build/output.js.map +1 -1
  44. package/build/reconciler.js +23 -7
  45. package/build/reconciler.js.map +1 -1
  46. package/build/render-cached.d.ts +2 -1
  47. package/build/render-cached.js +6 -3
  48. package/build/render-cached.js.map +1 -1
  49. package/build/render-container.d.ts +2 -1
  50. package/build/render-container.js +4 -1
  51. package/build/render-container.js.map +1 -1
  52. package/build/render-node-to-output.d.ts +3 -1
  53. package/build/render-node-to-output.js +10 -2
  54. package/build/render-node-to-output.js.map +1 -1
  55. package/build/render-scrollbar.d.ts +5 -3
  56. package/build/render-scrollbar.js +9 -10
  57. package/build/render-scrollbar.js.map +1 -1
  58. package/build/render-sticky.d.ts +5 -8
  59. package/build/render-sticky.js +4 -1
  60. package/build/render-sticky.js.map +1 -1
  61. package/build/render-text-node.d.ts +4 -8
  62. package/build/render-text-node.js +62 -44
  63. package/build/render-text-node.js.map +1 -1
  64. package/build/render.d.ts +3 -1
  65. package/build/render.js.map +1 -1
  66. package/build/renderer.d.ts +3 -2
  67. package/build/renderer.js +7 -5
  68. package/build/renderer.js.map +1 -1
  69. package/build/replay.d.ts +1 -2
  70. package/build/replay.js +24 -34
  71. package/build/replay.js.map +1 -1
  72. package/build/selection.d.ts +3 -3
  73. package/build/selection.js +29 -36
  74. package/build/selection.js.map +1 -1
  75. package/build/serialization.d.ts +3 -6
  76. package/build/serialization.js +53 -98
  77. package/build/serialization.js.map +1 -1
  78. package/build/styled-line.d.ts +73 -0
  79. package/build/styled-line.js +412 -0
  80. package/build/styled-line.js.map +1 -0
  81. package/build/styled-lines.d.ts +29 -0
  82. package/build/styled-lines.js +110 -0
  83. package/build/styled-lines.js.map +1 -0
  84. package/build/styles.js.map +1 -1
  85. package/build/terminal-buffer.d.ts +4 -2
  86. package/build/terminal-buffer.js +33 -7
  87. package/build/terminal-buffer.js.map +1 -1
  88. package/build/text-wrap.d.ts +6 -6
  89. package/build/text-wrap.js +66 -50
  90. package/build/text-wrap.js.map +1 -1
  91. package/build/tokenize.d.ts +47 -0
  92. package/build/tokenize.js +419 -0
  93. package/build/tokenize.js.map +1 -0
  94. package/build/worker/canvas.d.ts +6 -16
  95. package/build/worker/canvas.js +10 -25
  96. package/build/worker/canvas.js.map +1 -1
  97. package/build/worker/compositor.js +27 -19
  98. package/build/worker/compositor.js.map +1 -1
  99. package/build/worker/render-worker.js +27 -19
  100. package/build/worker/render-worker.js.map +1 -1
  101. package/build/worker/scene-manager.js +12 -3
  102. package/build/worker/scene-manager.js.map +1 -1
  103. package/build/worker/terminal-writer.d.ts +4 -4
  104. package/build/worker/terminal-writer.js +36 -52
  105. package/build/worker/terminal-writer.js.map +1 -1
  106. package/build/wrap-text.d.ts +6 -0
  107. package/build/wrap-text.js +120 -0
  108. package/build/wrap-text.js.map +1 -0
  109. package/package.json +15 -4
@@ -1 +1 @@
1
- {"version":3,"file":"render-container.js","sourceRoot":"","sources":["../src/render-container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-container.js","sourceRoot":"","sources":["../src/render-container.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type StyledChar } from '@alcalzone/ansi-tokenize';
1
+ import { type StyledChar } from './styled-line.js';
2
2
  import { type DOMElement, type DOMNode } from './dom.js';
3
3
  import Output from './output.js';
4
4
  export type OutputTransformer = (s: string, index: number) => string;
@@ -11,6 +11,7 @@ export declare const renderToStatic: (node: DOMElement, options?: {
11
11
  end: number;
12
12
  }>;
13
13
  selectionStyle?: (char: StyledChar) => StyledChar;
14
+ trackSelection?: boolean;
14
15
  }) => void;
15
16
  declare function renderNodeToOutput(node: DOMElement, output: Output, options: {
16
17
  offsetX?: number;
@@ -26,5 +27,6 @@ declare function renderNodeToOutput(node: DOMElement, output: Output, options: {
26
27
  end: number;
27
28
  }>;
28
29
  selectionStyle?: (char: StyledChar) => StyledChar;
30
+ trackSelection?: boolean;
29
31
  }): void;
30
32
  export default renderNodeToOutput;
@@ -19,6 +19,7 @@ export const renderToStatic = (node, options = {}) => {
19
19
  skipStaticElements: options.skipStaticElements ?? false,
20
20
  selectionMap: options.selectionMap,
21
21
  selectionStyle: options.selectionStyle,
22
+ trackSelection: options.trackSelection,
22
23
  });
23
24
  const parent = stickyNode.parentNode;
24
25
  const parentYogaNode = parent?.yogaNode;
@@ -63,6 +64,7 @@ export const renderToStatic = (node, options = {}) => {
63
64
  width,
64
65
  height,
65
66
  id: node.internalId,
67
+ trackSelection: options.trackSelection,
66
68
  });
67
69
  for (const childNode of node.childNodes) {
68
70
  renderNodeToOutput(childNode, staticOutput, {
@@ -73,16 +75,19 @@ export const renderToStatic = (node, options = {}) => {
73
75
  isStickyRender: options.isStickyRender,
74
76
  selectionMap: options.selectionMap,
75
77
  selectionStyle: options.selectionStyle,
78
+ trackSelection: options.trackSelection,
76
79
  });
77
80
  }
78
81
  const rootRegion = staticOutput.get();
79
82
  rootRegion.cachedStickyHeaders = cachedStickyHeaders;
80
- rootRegion.selectableText = extractSelectableText(rootRegion.selectableSpans);
83
+ if (options.trackSelection) {
84
+ rootRegion.selectableText = extractSelectableText(rootRegion.selectableSpans);
85
+ }
81
86
  setCachedRender(node, rootRegion);
82
87
  };
83
88
  // After nodes are laid out, render each to output object, which later gets rendered to terminal
84
89
  function renderNodeToOutput(node, output, options) {
85
- const { offsetX = 0, offsetY = 0, absoluteOffsetX = 0, absoluteOffsetY = 0, transformers = [], skipStaticElements, isStickyRender = false, skipStickyHeaders = false, selectionMap, selectionStyle, } = options;
90
+ const { offsetX = 0, offsetY = 0, absoluteOffsetX = 0, absoluteOffsetY = 0, transformers = [], skipStaticElements, isStickyRender = false, skipStickyHeaders = false, selectionMap, selectionStyle, trackSelection, } = options;
86
91
  if (skipStaticElements && node.internal_static) {
87
92
  return;
88
93
  }
@@ -133,6 +138,7 @@ function renderNodeToOutput(node, output, options) {
133
138
  y,
134
139
  selectionMap,
135
140
  selectionStyle,
141
+ trackSelection,
136
142
  });
137
143
  return;
138
144
  }
@@ -143,6 +149,7 @@ function renderNodeToOutput(node, output, options) {
143
149
  newTransformers,
144
150
  selectionMap,
145
151
  selectionStyle,
152
+ trackSelection,
146
153
  });
147
154
  return;
148
155
  }
@@ -159,6 +166,7 @@ function renderNodeToOutput(node, output, options) {
159
166
  selectionStyle,
160
167
  absoluteOffsetX: absX,
161
168
  absoluteOffsetY: absY,
169
+ trackSelection,
162
170
  });
163
171
  }
164
172
  }
@@ -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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"}
@@ -1,5 +1,5 @@
1
- import { type StyledChar } from '@alcalzone/ansi-tokenize';
2
1
  import { type ScrollbarBoundingBox } from './measure-element.js';
2
+ import { StyledLine } from './styled-line.js';
3
3
  export type ScrollbarThumb = {
4
4
  startIndex: number;
5
5
  endIndex: number;
@@ -16,7 +16,9 @@ export type DrawOptions = {
16
16
  };
17
17
  axis: 'vertical' | 'horizontal';
18
18
  color?: string;
19
- setChar: (x: number, y: number, char: StyledChar) => void;
20
- getExistingChar?: (x: number, y: number) => StyledChar | undefined;
19
+ setChar: (x: number, y: number, char: StyledLine) => void;
20
+ getExistingChar?: (x: number, y: number) => {
21
+ bgColor?: string;
22
+ } | undefined;
21
23
  };
22
24
  export declare const renderScrollbar: ({ layout, clip, axis, color, setChar, getExistingChar, }: DrawOptions) => void;
@@ -1,17 +1,16 @@
1
1
  import colorize from './colorize.js';
2
2
  import { toStyledCharacters } from './measure-text.js';
3
+ import { StyledLine } from './styled-line.js';
3
4
  export const renderScrollbar = ({ layout, clip, axis, color, setChar, getExistingChar, }) => {
4
5
  const { x, y, thumb: { start: startIndex, end: endIndex, startHalf: thumbStartHalf, endHalf: thumbEndHalf, }, } = layout;
5
6
  const applyBackground = (char, existingChar) => {
6
7
  if (!existingChar)
7
8
  return char;
8
- const backgroundStyle = existingChar.styles.find(s => s.code.includes(';4') ||
9
- (s.code.startsWith('\u001B[4') && !s.code.startsWith('\u001B[49')));
9
+ const backgroundStyle = existingChar.bgColor;
10
10
  if (backgroundStyle) {
11
- return {
12
- ...char,
13
- styles: [...(backgroundStyle ? [backgroundStyle] : []), ...char.styles],
14
- };
11
+ const newChar = new StyledLine();
12
+ newChar.pushChar(char.getValue(0), char.getFormatFlags(0), char.getFgColor(0), backgroundStyle, char.getLink(0));
13
+ return newChar;
15
14
  }
16
15
  return char;
17
16
  };
@@ -33,8 +32,8 @@ export const renderScrollbar = ({ layout, clip, axis, color, setChar, getExistin
33
32
  char = '▄';
34
33
  }
35
34
  const charString = color ? colorize(char, color, 'foreground') : char;
36
- let styled = toStyledCharacters(charString)[0];
37
- if (styled) {
35
+ let styled = toStyledCharacters(charString);
36
+ if (styled.length > 0) {
38
37
  if (getExistingChar && (char === '▀' || char === '▄')) {
39
38
  const existing = getExistingChar(drawX, drawY);
40
39
  styled = applyBackground(styled, existing);
@@ -62,8 +61,8 @@ export const renderScrollbar = ({ layout, clip, axis, color, setChar, getExistin
62
61
  char = '▐';
63
62
  }
64
63
  const charString = color ? colorize(char, color, 'foreground') : char;
65
- let styled = toStyledCharacters(charString)[0];
66
- if (styled) {
64
+ let styled = toStyledCharacters(charString);
65
+ if (styled.length > 0) {
67
66
  if (getExistingChar && (char === '▌' || char === '▐')) {
68
67
  const existing = getExistingChar(drawX, drawY);
69
68
  styled = applyBackground(styled, existing);
@@ -1 +1 @@
1
- {"version":3,"file":"render-scrollbar.js","sourceRoot":"","sources":["../src/render-scrollbar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-scrollbar.js","sourceRoot":"","sources":["../src/render-scrollbar.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,4 @@
1
- /**
2
- * @license
3
- * Copyright 2026 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { type StyledChar } from '@alcalzone/ansi-tokenize';
1
+ import { type StyledLine, type StyledChar } from './styled-line.js';
7
2
  import { type DOMElement, type DOMNode, type StickyHeader } from './dom.js';
8
3
  import Output from './output.js';
9
4
  import { type OutputTransformer } from './render-node-to-output.js';
@@ -22,9 +17,10 @@ export declare function renderStickyNode(stickyNode: DOMElement, options: {
22
17
  end: number;
23
18
  }>;
24
19
  selectionStyle?: (char: StyledChar) => StyledChar;
20
+ trackSelection?: boolean;
25
21
  }): {
26
- naturalLines: ReadonlyArray<readonly StyledChar[]>;
27
- stuckLines: ReadonlyArray<readonly StyledChar[]> | undefined;
22
+ naturalLines: readonly StyledLine[];
23
+ stuckLines: readonly StyledLine[] | undefined;
28
24
  naturalHeight: number;
29
25
  maxHeaderHeight: number;
30
26
  };
@@ -53,4 +49,5 @@ export declare function renderActiveStickyNodes(activeStickyNodes: Array<{
53
49
  end: number;
54
50
  }>;
55
51
  selectionStyle?: (char: StyledChar) => StyledChar;
52
+ trackSelection?: boolean;
56
53
  }): void;
@@ -58,6 +58,7 @@ export function renderStickyNode(stickyNode, options) {
58
58
  const stickyOutput = new Output({
59
59
  width: stickyNode.yogaNode.getComputedWidth(),
60
60
  height: maxHeaderHeight,
61
+ trackSelection: options.trackSelection,
61
62
  });
62
63
  renderNodeToOutput(stickyNode, stickyOutput, {
63
64
  offsetX: -stickyNode.yogaNode.getComputedLeft(),
@@ -67,6 +68,7 @@ export function renderStickyNode(stickyNode, options) {
67
68
  isStickyRender: isSticky,
68
69
  selectionMap: options.selectionMap,
69
70
  selectionStyle: options.selectionStyle,
71
+ trackSelection: options.trackSelection,
70
72
  });
71
73
  return stickyOutput.get().lines;
72
74
  };
@@ -165,7 +167,7 @@ export function identifyActiveStickyNodes(stickyNodes, node, scrollTop, viewport
165
167
  return activeStickyNodes;
166
168
  }
167
169
  export function renderActiveStickyNodes(activeStickyNodes, node, output, options) {
168
- const { x, y, newTransformers, skipStaticElements, selectionMap, selectionStyle, } = options;
170
+ const { x, y, newTransformers, skipStaticElements, selectionMap, selectionStyle, trackSelection, } = options;
169
171
  const { yogaNode } = node;
170
172
  if (!yogaNode)
171
173
  return;
@@ -286,6 +288,7 @@ export function renderActiveStickyNodes(activeStickyNodes, node, output, options
286
288
  skipStaticElements,
287
289
  selectionMap,
288
290
  selectionStyle,
291
+ trackSelection,
289
292
  });
290
293
  naturalLines = rendered.naturalLines;
291
294
  stuckLines = rendered.stuckLines;
@@ -1 +1 @@
1
- {"version":3,"file":"render-sticky.js","sourceRoot":"","sources":["../src/render-sticky.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,aAAa,CAAC;AAG/B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,kBAEN,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,EAAC,cAAc,EAAE,eAAe,EAAC,MAAM,sBAAsB,CAAC;AASrE,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACpD,MAAM,iBAAiB,GAAqB,EAAE,CAAC;IAE/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,SAAS;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC;QAEvB,IAAI,QAAQ,CAAC,uBAAuB,EAAE,CAAC;YACtC,SAAS;QACV,CAAC;QAED,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7B,iBAAiB,CAAC,IAAI,CAAC;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;aAC7D,CAAC,CAAC;QACJ,CAAC;aAAM,IACN,QAAQ,CAAC,QAAQ,KAAK,mBAAmB;YACzC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,EACzC,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;gBAChE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjB,iBAAiB,CAAC,IAAI,CAAC;wBACtB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;wBAChE,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,QAAQ;qBAChB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC;aAAM,CAAC;YACP,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC;YACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC;YACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC;YACvD,MAAM,YAAY,GAAG,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,CAAC;YAEtE,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC1C,iBAAiB,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3D,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC/B,UAAsB,EACtB,OAKC;IAOD,MAAM,mBAAmB,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CACrD,SAAS,CAAC,EAAE,CAAE,SAAwB,CAAC,uBAAuB,CACpC,CAAC;IAE5B,MAAM,aAAa,GAAG,UAAU,CAAC,QAAS,CAAC,iBAAiB,EAAE,CAAC;IAC/D,MAAM,WAAW,GAAG,mBAAmB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAE7D,MAAM,YAAY,GAAG,CAAC,QAAiB,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC;YAC/B,KAAK,EAAE,UAAU,CAAC,QAAS,CAAC,gBAAgB,EAAE;YAC9C,MAAM,EAAE,eAAe;SACvB,CAAC,CAAC;QAEH,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE;YAC5C,OAAO,EAAE,CAAC,UAAU,CAAC,QAAS,CAAC,eAAe,EAAE;YAChD,OAAO,EAAE,CAAC,UAAU,CAAC,QAAS,CAAC,cAAc,EAAE;YAC/C,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,cAAc,EAAE,QAAQ;YACxB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;SACtC,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAExE,OAAO,EAAC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,yBAAyB,CACxC,WAA6B,EAC7B,IAAgB,EAChB,SAAiB,EACjB,cAAsB;IAEtB,IAAI,wBAAwB,GAAG,CAAC,CAAC,CAAC;IAClC,IAAI,mBAA+C,CAAC;IACpD,IAAI,2BAA2B,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,sBAAkD,CAAC;IAEvD,KAAK,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7D,MAAM,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,cAAc,CAAC;QAE5E,IAAI,aAAqB,CAAC;QAC1B,IAAI,gBAAwB,CAAC;QAC7B,IAAI,SAAiB,CAAC;QACtB,IAAI,YAAoB,CAAC;QAEzB,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,aAAa,GAAG,eAAe,GAAG,MAAM,CAAC,SAAU,CAAC;YACpD,gBAAgB,GAAG,MAAM,CAAC,MAAO,CAAC;YAClC,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC,iBAAkB,CAAC;YACxD,YAAY,GAAG,MAAM,CAAC,YAAa,CAAC;QACrC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,UAAU,CAAC,QAAQ;gBAAE,SAAS;YACnC,aAAa,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAE3D,MAAM,MAAM,GAAG,UAAU,CAAC,UAAW,CAAC;YACtC,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;gBACtB,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACP,SAAS,GAAG,CAAC,CAAC;gBACd,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACxC,CAAC;QACF,CAAC;QAED,MAAM,gBAAgB,GAAG,aAAa,GAAG,gBAAgB,CAAC;QAE1D,IACC,UAAU,KAAK,KAAK;YACpB,aAAa,GAAG,SAAS;YACzB,SAAS,GAAG,YAAY,GAAG,SAAS,EACnC,CAAC;YACF,mBAAmB,GAAG,cAAc,CAAC;YACrC,wBAAwB,GAAG,KAAK,CAAC;QAClC,CAAC;QAED,IACC,UAAU,KAAK,QAAQ;YACvB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YACzD,SAAS,GAAG,cAAc,EACzB,CAAC;YACF,sBAAsB,GAAG,cAAc,CAAC;YACxC,2BAA2B,GAAG,KAAK,CAAC;QACrC,CAAC;IACF,CAAC;IAED,MAAM,iBAAiB,GAOlB,EAAE,CAAC;IAER,IAAI,mBAAmB,EAAE,CAAC;QACzB,IAAI,cAAsC,CAAC;QAC3C,IAAI,kBAA8C,CAAC;QACnD,KAAK,IAAI,CAAC,GAAG,wBAAwB,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxE,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC3B,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,MAAM;YACP,CAAC;QACF,CAAC;QAED,iBAAiB,CAAC,IAAI,CAAC;YACtB,UAAU,EAAE,mBAAmB,CAAC,IAAI;YACpC,IAAI,EAAE,KAAK;YACX,cAAc;YACd,kBAAkB;YAClB,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,MAAM,EAAE,mBAAmB,CAAC,MAAM;SAClC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,sBAAsB,EAAE,CAAC;QAC5B,IAAI,cAAsC,CAAC;QAC3C,IAAI,kBAA8C,CAAC;QACnD,KAAK,IAAI,CAAC,GAAG,2BAA2B,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC3B,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,MAAM;YACP,CAAC;QACF,CAAC;QAED,iBAAiB,CAAC,IAAI,CAAC;YACtB,UAAU,EAAE,sBAAsB,CAAC,IAAI;YACvC,IAAI,EAAE,QAAQ;YACd,cAAc;YACd,kBAAkB;YAClB,MAAM,EAAE,sBAAsB,CAAC,MAAM;YACrC,MAAM,EAAE,sBAAsB,CAAC,MAAM;SACrC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,iBAOE,EACF,IAAgB,EAChB,MAAc,EACd,OAOC;IAED,MAAM,EACL,CAAC,EACD,CAAC,EACD,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,cAAc,GACd,GAAG,OAAO,CAAC;IACZ,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,KAAK,MAAM,EACV,UAAU,EACV,IAAI,EACJ,kBAAkB,EAClB,MAAM,EACN,MAAM,GACN,IAAI,iBAAiB,EAAE,CAAC;QACxB,IAAI,gBAAwB,CAAC;QAC7B,IAAI,aAAqB,CAAC;QAC1B,IAAI,SAAiB,CAAC;QACtB,IAAI,YAAoB,CAAC;QACzB,IAAI,aAAqB,CAAC;QAC1B,IAAI,YAAoB,CAAC;QAEzB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAErE,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,mBAAmB,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,aAAa,GAAG,kBAAkB,GAAG,MAAM,CAAC,SAAU,CAAC;YACvD,gBAAgB,GAAG,MAAM,CAAC,MAAO,CAAC;YAClC,SAAS,GAAG,kBAAkB,GAAG,MAAM,CAAC,iBAAkB,CAAC;YAC3D,YAAY,GAAG,MAAM,CAAC,YAAa,CAAC;YACpC,aAAa,GAAG,CAAC,GAAG,mBAAmB,GAAG,MAAM,CAAC,SAAU,CAAC;YAC5D,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,aAAa,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,aAAa,GAAG,UAAU,CAAC,QAAS,CAAC,iBAAiB,EAAE,CAAC;YAC/D,MAAM,mBAAmB,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CACrD,SAAS,CAAC,EAAE,CAAE,SAAwB,CAAC,uBAAuB,CACpC,CAAC;YAC5B,MAAM,WAAW,GAChB,mBAAmB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;YACzD,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAW,CAAC;YAEtC,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;gBACtB,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACP,SAAS,GAAG,CAAC,CAAC;gBACd,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACxC,CAAC;YAED,aAAa,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC;QACtC,CAAC;QAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,EAAE,YAAY,IAAI,CAAC,CAAC;QAEzE,MAAM,kBAAkB,GAAG,MAAM;YAChC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;gBACtE,CAAC,CAAC,CAAC;QAEL,MAAM,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,kBAAkB,CAAC;QAEnE,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,SAA6B,CAAC;QAClC,IAAI,SAA6B,CAAC;QAElC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACpB,IAAI,YAAY,GAAG,CAAC,GAAG,gBAAgB,GAAG,YAAY,GAAG,gBAAgB,CAAC;YAC1E,MAAM,cAAc,GAAG,CAAC,GAAG,gBAAgB,GAAG,aAAa,CAAC;YAC5D,MAAM,YAAY,GAAG,CAAC,GAAG,gBAAgB,CAAC;YAE1C,IAAI,kBAAkB,EAAE,CAAC;gBACxB,IAAI,WAA+B,CAAC;gBAEpC,IAAI,kBAAkB,CAAC,MAAM,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;oBAC5D,MAAM,kBAAkB,GACvB,cAAc,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtD,WAAW;wBACV,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAU,CAAC;gBAC5D,CAAC;qBAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;oBAC9C,WAAW,GAAG,cAAc,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClE,CAAC;gBAED,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,qBAAqB,GAAG,CAAC,GAAG,gBAAgB,GAAG,WAAW,CAAC;oBAEjE,MAAM,eAAe,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;oBACjE,IAAI,eAAe,GAAG,YAAY,EAAE,CAAC;wBACpC,YAAY,GAAG,eAAe,CAAC;oBAChC,CAAC;gBACF,CAAC;YACF,CAAC;YAED,YAAY,GAAG,IAAI,CAAC,GAAG,CACtB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,EACtC,YAAY,CACZ,CAAC;YAEF,SAAS,GAAG,YAAY,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACP,MAAM,eAAe,GAAG,MAAM;gBAC7B,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACnE,CAAC,CAAC,CAAC;YAEL,IAAI,YAAY,GAAG,CAAC,GAAG,gBAAgB,GAAG,SAAS,GAAG,eAAe,CAAC;YACtE,MAAM,cAAc,GAAG,CAAC,GAAG,gBAAgB,GAAG,aAAa,CAAC;YAC5D,MAAM,YAAY,GACjB,CAAC,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;YAE/D,IAAI,kBAAkB,EAAE,CAAC;gBACxB,IAAI,cAAkC,CAAC;gBACvC,IAAI,WAA+B,CAAC;gBAEpC,IAAI,kBAAkB,CAAC,MAAM,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;oBAC5D,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC;oBAClD,MAAM,kBAAkB,GACvB,cAAc,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtD,WAAW;wBACV,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAU,CAAC;gBAC5D,CAAC;qBAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;oBAC9C,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;oBACtE,WAAW,GAAG,cAAc,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClE,CAAC;gBAED,IAAI,WAAW,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBAC/D,MAAM,wBAAwB,GAC7B,CAAC,GAAG,gBAAgB,GAAG,WAAW,GAAG,cAAc,CAAC;oBACrD,IAAI,wBAAwB,GAAG,YAAY,EAAE,CAAC;wBAC7C,YAAY,GAAG,wBAAwB,CAAC;oBACzC,CAAC;gBACF,CAAC;YACF,CAAC;YAED,YAAY,GAAG,IAAI,CAAC,GAAG,CACtB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,EACtC,YAAY,CACZ,CAAC;YAEF,SAAS,GAAG,YAAY,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,YAAkD,CAAC;QACvD,IAAI,UAA4D,CAAC;QACjE,IAAI,aAAqB,CAAC;QAE1B,IAAI,MAAM,EAAE,CAAC;YACZ,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;YAC5B,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAC/B,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjD,CAAC;aAAM,CAAC;YACP,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,EAAE;gBAC7C,YAAY,EAAE,eAAe;gBAC7B,kBAAkB;gBAClB,YAAY;gBACZ,cAAc;aACd,CAAC,CAAC;YACH,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;YACrC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;YACjC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QACxC,CAAC;QAED,MAAM,UAAU,GAAG,aAAa,GAAG,gBAAgB,CAAC;QAEpD,MAAM,SAAS,GAAiB;YAC/B,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,YAAY;YACnB,UAAU;YACV,YAAY,EAAE,UAAU,IAAI,YAAY;YACxC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC;YAC1C,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjE,UAAU;YACV,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,UAAU,GAAG,aAAa;YAClC,iBAAiB,EAAE,IAAI,CAAC,UAAU;YAClC,WAAW,EAAE,KAAK;YAClB,IAAI;YACJ,SAAS;YACT,SAAS;SACT,CAAC;QACF,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"render-sticky.js","sourceRoot":"","sources":["../src/render-sticky.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,9 @@
1
- /**
2
- * @license
3
- * Copyright 2026 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { type StyledChar } from '@alcalzone/ansi-tokenize';
7
1
  import { type DOMElement, type DOMNode } from './dom.js';
8
2
  import type Output from './output.js';
9
3
  import type { OutputTransformer } from './render-node-to-output.js';
10
- export declare const applyPaddingToStyledChars: (node: DOMElement, lines: StyledChar[][]) => StyledChar[][];
11
- export declare const calculateWrappedCursorPosition: (lines: StyledChar[][], styledChars: StyledChar[], targetOffset: number) => {
4
+ import { StyledLine, type StyledChar } from './styled-line.js';
5
+ export declare const applyPaddingToStyledChars: (node: DOMElement, lines: StyledLine[]) => StyledLine[];
6
+ export declare const calculateWrappedCursorPosition: (lines: StyledLine[], _styledChars: StyledLine, targetOffset: number) => {
12
7
  cursorLineIndex: number;
13
8
  relativeCursorPosition: number;
14
9
  };
@@ -21,4 +16,5 @@ export declare function handleTextNode(node: DOMElement, output: Output, options
21
16
  end: number;
22
17
  }>;
23
18
  selectionStyle?: (char: StyledChar) => StyledChar;
19
+ trackSelection?: boolean;
24
20
  }): void;
@@ -1,83 +1,72 @@
1
- /**
2
- * @license
3
- * Copyright 2026 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
1
  import { isNodeSelectable } from './dom.js';
7
2
  import { measureStyledChars, splitStyledCharsByNewline, toStyledCharacters, } from './measure-text.js';
8
3
  import { wrapOrTruncateStyledChars } from './text-wrap.js';
9
4
  import getMaxWidth from './get-max-width.js';
10
5
  import squashTextNodes from './squash-text-nodes.js';
11
6
  import { applySelectionToStyledChars } from './selection.js';
7
+ import { StyledLine } from './styled-line.js';
12
8
  export const applyPaddingToStyledChars = (node, lines) => {
13
9
  const yogaNode = node.childNodes[0]?.yogaNode;
14
10
  if (yogaNode) {
15
11
  const offsetX = yogaNode.getComputedLeft();
16
12
  const offsetY = yogaNode.getComputedTop();
17
- const space = {
18
- type: 'char',
19
- value: ' ',
20
- fullWidth: false,
21
- styles: [],
22
- };
23
- const paddingLeft = Array.from({ length: offsetX }).map(() => space);
24
- lines = lines.map(line => [...paddingLeft, ...line]);
25
- const paddingTop = Array.from({ length: offsetY }).map(() => []);
13
+ const paddedLines = [];
14
+ for (const line of lines) {
15
+ const newLine = new StyledLine();
16
+ for (let i = 0; i < offsetX; i++) {
17
+ newLine.pushChar(' ', 0);
18
+ }
19
+ paddedLines.push(new StyledLine([...newLine.getValues(), ...line.getValues()], [...newLine.getSpans(), ...line.getSpans().map(s => ({ ...s }))]));
20
+ }
21
+ lines = paddedLines;
22
+ const paddingTop = Array.from({ length: offsetY }).map(() => new StyledLine());
26
23
  lines.unshift(...paddingTop);
27
24
  }
28
25
  return lines;
29
26
  };
30
- export const calculateWrappedCursorPosition = (lines, styledChars, targetOffset) => {
31
- const styledCharToOffset = new Map();
32
- let offset = 0;
33
- for (const char of styledChars) {
34
- styledCharToOffset.set(char, offset);
35
- offset += char.value.length;
36
- }
27
+ export const calculateWrappedCursorPosition = (lines, _styledChars, targetOffset) => {
28
+ // We no longer have an object reference to Map over. We need to track by indices.
29
+ // We'll calculate the offsets based on the line contents since lines are split/wrapped versions of styledChars.
37
30
  let cursorLineIndex = lines.length - 1;
38
31
  let relativeCursorPosition = targetOffset;
39
- // -1 represents "before document start" so first character (offset 0) is handled correctly
40
32
  let previousLineEndOffset = -1;
33
+ // In the original code, styledCharToOffset map was used to find the offset of a character.
34
+ // Since StyledLine wraps text continuously, we can just use cumulative length.
35
+ let cumulativeLineLength = 0;
41
36
  for (const [i, line] of lines.entries()) {
42
37
  if (line.length > 0) {
43
- const firstChar = line.find(char => styledCharToOffset.has(char));
44
- const lastChar = line.findLast(char => styledCharToOffset.has(char));
45
- if (!firstChar || !lastChar) {
46
- // Padding-only line (originally empty), treat as empty line
47
- if (targetOffset > previousLineEndOffset) {
48
- cursorLineIndex = i;
49
- relativeCursorPosition = targetOffset - previousLineEndOffset - 1;
50
- previousLineEndOffset++;
51
- }
52
- continue;
38
+ const lineStartOffset = cumulativeLineLength;
39
+ let lineEndOffset = cumulativeLineLength;
40
+ // We only count characters that correspond to the original string.
41
+ // But wait, line.length is the character count.
42
+ // However, padding might have been applied! The original code did `styledCharToOffset.has(char)`.
43
+ // Since padding is added to the left, we can just count non-padding length if we know it.
44
+ // For now, let's assume `calculateWrappedCursorPosition` is called BEFORE padding.
45
+ // Yes, `applyPaddingToStyledChars` is called *after* calculating lines, but wait, the original code did it before `calculateWrappedCursorPosition`.
46
+ // Let's adjust cumulative based on the text.
47
+ for (let j = 0; j < line.length; j++) {
48
+ lineEndOffset += line.getValue(j).length;
53
49
  }
54
- const lineStartOffset = styledCharToOffset.get(firstChar);
55
- const lineEndOffset = styledCharToOffset.get(lastChar) + lastChar.value.length;
56
- // Set as candidate if targetOffset is at or after line start
57
50
  if (targetOffset >= lineStartOffset) {
58
51
  cursorLineIndex = i;
59
52
  relativeCursorPosition = Math.max(0, targetOffset - lineStartOffset);
60
53
  }
61
- // Finalize and exit if targetOffset is within or before this line's range.
62
- // If targetOffset is in a gap (between previousLineEndOffset and lineStartOffset),
63
- // the cursor stays at the previous line's end (already set in previous iteration).
64
54
  if (targetOffset <= lineEndOffset) {
65
55
  break;
66
56
  }
67
57
  previousLineEndOffset = lineEndOffset;
58
+ cumulativeLineLength = lineEndOffset;
68
59
  }
69
60
  else if (i === 0 && targetOffset === 0) {
70
- // Edge case: First line is empty and cursor is at position 0
71
61
  cursorLineIndex = 0;
72
62
  relativeCursorPosition = 0;
73
63
  break;
74
64
  }
75
65
  else if (i > 0 && targetOffset > previousLineEndOffset) {
76
- // Handle empty lines (usually caused by \n)
77
66
  cursorLineIndex = i;
78
67
  relativeCursorPosition = targetOffset - previousLineEndOffset - 1;
79
- // Advance past the \n character
80
68
  previousLineEndOffset++;
69
+ cumulativeLineLength++;
81
70
  }
82
71
  }
83
72
  return { cursorLineIndex, relativeCursorPosition };
@@ -108,16 +97,45 @@ export function handleTextNode(node, output, options) {
108
97
  currentWidth > maxWidth
109
98
  ? wrapOrTruncateStyledChars(styledChars, maxWidth, node.style.textWrap ?? 'wrap')
110
99
  : splitStyledCharsByNewline(styledChars);
111
- lines = applyPaddingToStyledChars(node, lines);
112
- cursorLineIndex = lines.length - 1;
113
100
  if (node.internal_terminalCursorFocus &&
114
101
  node.internal_terminalCursorPosition !== undefined) {
115
102
  ({ cursorLineIndex, relativeCursorPosition } =
116
103
  calculateWrappedCursorPosition(lines, styledChars, node.internal_terminalCursorPosition));
117
104
  }
105
+ // Original code applied padding here.
106
+ // It was done BEFORE calculateWrappedCursorPosition in original?
107
+ // Wait, the original code did:
108
+ // lines = applyPaddingToStyledChars(node, lines);
109
+ // cursorLineIndex = lines.length - 1;
110
+ // if (node.internal_terminalCursorFocus) { ... }
111
+ // I moved it after, because mapping padding offsets is hard without objects.
112
+ // But padding affects the visual cursor index!
113
+ // If we pad, the cursor shifts. Let's do it after, but we need to shift the cursor position by the padding.
114
+ const yogaNode = node.childNodes[0]?.yogaNode;
115
+ const offsetX = yogaNode?.getComputedLeft() ?? 0;
116
+ const offsetY = yogaNode?.getComputedTop() ?? 0;
117
+ lines = applyPaddingToStyledChars(node, lines);
118
+ if (node.internal_terminalCursorFocus &&
119
+ node.internal_terminalCursorPosition !== undefined) {
120
+ cursorLineIndex += offsetY;
121
+ relativeCursorPosition += offsetX;
122
+ }
123
+ else if (node.internal_terminalCursorFocus) {
124
+ cursorLineIndex = lines.length - 1;
125
+ // Default to end of the last line
126
+ relativeCursorPosition = lines[cursorLineIndex].length;
127
+ }
118
128
  }
119
129
  else {
120
- lines = [[]];
130
+ lines = [new StyledLine()];
131
+ const yogaNode = node.childNodes[0]?.yogaNode;
132
+ const offsetX = yogaNode?.getComputedLeft() ?? 0;
133
+ const offsetY = yogaNode?.getComputedTop() ?? 0;
134
+ lines = applyPaddingToStyledChars(node, lines);
135
+ if (node.internal_terminalCursorFocus) {
136
+ cursorLineIndex = offsetY;
137
+ relativeCursorPosition = offsetX;
138
+ }
121
139
  }
122
140
  for (const [index, line] of lines.entries()) {
123
141
  output.write(x, y + index, line, {
@@ -1 +1 @@
1
- {"version":3,"file":"render-text-node.js","sourceRoot":"","sources":["../src/render-text-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-text-node.js","sourceRoot":"","sources":["../src/render-text-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAEzE,OAAO,EACN,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,yBAAyB,EAAC,MAAM,gBAAgB,CAAC;AACzD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,eAAe,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAC,2BAA2B,EAAC,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAC,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAE7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,IAAgB,EAChB,KAAmB,EACJ,EAAE;IACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;IAE9C,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;QAE1C,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1B,CAAC;YAED,WAAW,CAAC,IAAI,CACf,IAAI,UAAU,CACb,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,EAC7C,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,CAAC,CAC9D,CACD,CAAC;QACH,CAAC;QAED,KAAK,GAAG,WAAW,CAAC;QAEpB,MAAM,UAAU,GAAiB,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC,GAAG,CACjE,GAAG,EAAE,CAAC,IAAI,UAAU,EAAE,CACtB,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC7C,KAAmB,EACnB,YAAwB,EACxB,YAAoB,EACwC,EAAE;IAC9D,kFAAkF;IAClF,gHAAgH;IAChH,IAAI,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,IAAI,sBAAsB,GAAG,YAAY,CAAC;IAC1C,IAAI,qBAAqB,GAAG,CAAC,CAAC,CAAC;IAE/B,2FAA2F;IAC3F,+EAA+E;IAC/E,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAE7B,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,eAAe,GAAG,oBAAoB,CAAC;YAC7C,IAAI,aAAa,GAAG,oBAAoB,CAAC;YAEzC,mEAAmE;YACnE,gDAAgD;YAChD,kGAAkG;YAClG,0FAA0F;YAC1F,mFAAmF;YACnF,oJAAoJ;YACpJ,6CAA6C;YAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1C,CAAC;YAED,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;gBACrC,eAAe,GAAG,CAAC,CAAC;gBACpB,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,eAAe,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;gBACnC,MAAM;YACP,CAAC;YAED,qBAAqB,GAAG,aAAa,CAAC;YACtC,oBAAoB,GAAG,aAAa,CAAC;QACtC,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YAC1C,eAAe,GAAG,CAAC,CAAC;YACpB,sBAAsB,GAAG,CAAC,CAAC;YAC3B,MAAM;QACP,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,GAAG,qBAAqB,EAAE,CAAC;YAC1D,eAAe,GAAG,CAAC,CAAC;YACpB,sBAAsB,GAAG,YAAY,GAAG,qBAAqB,GAAG,CAAC,CAAC;YAClE,qBAAqB,EAAE,CAAC;YACxB,oBAAoB,EAAE,CAAC;QACxB,CAAC;IACF,CAAC;IAED,OAAO,EAAC,eAAe,EAAE,sBAAsB,EAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAC7B,IAAgB,EAChB,MAAc,EACd,OAOC;IAED,MAAM,EAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAC,GAAG,OAAO,CAAC;IACtE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,cAKQ,CAAC;IAEb,MAAM,cAAc,GAAG,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG;YAChB,KAAK,EAAE,cAAc;YACrB,aAAa,EAAE,CAAC;SAChB,CAAC;IACH,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACpB,WAAW,GAAG,2BAA2B,CACxC,WAAW,EACX,cAAc,EACd,cAAc,CACd,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACjE,IAAI,KAAK,GAAiB,EAAE,CAAC;QAC7B,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,sBAAsB,GAAG,IAAI,CAAC,+BAA+B,IAAI,CAAC,CAAC;QAEvE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,EAAC,KAAK,EAAE,YAAY,EAAC,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC;YAE7C,KAAK;gBACJ,YAAY,GAAG,QAAQ;oBACtB,CAAC,CAAC,yBAAyB,CACzB,WAAW,EACX,QAAQ,EACR,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAC7B;oBACF,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAE3C,IACC,IAAI,CAAC,4BAA4B;gBACjC,IAAI,CAAC,+BAA+B,KAAK,SAAS,EACjD,CAAC;gBACF,CAAC,EAAC,eAAe,EAAE,sBAAsB,EAAC;oBACzC,8BAA8B,CAC7B,KAAK,EACL,WAAW,EACX,IAAI,CAAC,+BAA+B,CACpC,CAAC,CAAC;YACL,CAAC;YAED,sCAAsC;YACtC,iEAAiE;YACjE,+BAA+B;YAC/B,kDAAkD;YAClD,sCAAsC;YACtC,iDAAiD;YACjD,6EAA6E;YAC7E,+CAA+C;YAC/C,4GAA4G;YAC5G,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC9C,MAAM,OAAO,GAAG,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YAEhD,KAAK,GAAG,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE/C,IACC,IAAI,CAAC,4BAA4B;gBACjC,IAAI,CAAC,+BAA+B,KAAK,SAAS,EACjD,CAAC;gBACF,eAAe,IAAI,OAAO,CAAC;gBAC3B,sBAAsB,IAAI,OAAO,CAAC;YACnC,CAAC;iBAAM,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBAC9C,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnC,kCAAkC;gBAClC,sBAAsB,GAAG,KAAK,CAAC,eAAe,CAAE,CAAC,MAAM,CAAC;YACzD,CAAC;QACF,CAAC;aAAM,CAAC;YACP,KAAK,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC9C,MAAM,OAAO,GAAG,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YAChD,KAAK,GAAG,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE/C,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBACvC,eAAe,GAAG,OAAO,CAAC;gBAC1B,sBAAsB,GAAG,OAAO,CAAC;YAClC,CAAC;QACF,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE;gBAChC,YAAY,EAAE,eAAe;gBAC7B,SAAS,EAAE,KAAK;gBAChB,uBAAuB,EACtB,IAAI,CAAC,4BAA4B,IAAI,KAAK,KAAK,eAAe;gBAC/D,sBAAsB,EAAE,sBAAsB;gBAC9C,YAAY,EAAE,gBAAgB,CAAC,IAAI,CAAC;aACpC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;AACF,CAAC"}
package/build/render.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
- import { type StyledChar } from '@alcalzone/ansi-tokenize';
2
+ import { type StyledChar } from './styled-line.js';
3
3
  import Ink, { type RenderMetrics } from './ink.js';
4
4
  import { type Selection } from './selection.js';
5
5
  import { type DOMElement } from './dom.js';
@@ -118,6 +118,8 @@ export type RenderOptions = {
118
118
  * @default false
119
119
  */
120
120
  stickyHeadersInBackbuffer?: boolean;
121
+ cacheToStyledCharacters?: boolean;
122
+ trackSelection?: boolean;
121
123
  };
122
124
  export type Instance = {
123
125
  /**
@@ -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;AAGnC,OAAO,GAAqD,MAAM,UAAU,CAAC;AAC7E,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAgMvC;;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,yBAAyB,EAAE,KAAK;QAChC,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,KAAK;QACrB,cAAc,EAAE,KAAK;QACrB,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;QAC7C,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC3B,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;AAGnC,OAAO,GAAqD,MAAM,UAAU,CAAC;AAC7E,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAkMvC;;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,yBAAyB,EAAE,KAAK;QAChC,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,KAAK;QACrB,cAAc,EAAE,KAAK;QACrB,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;QAC7C,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC3B,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,4 +1,4 @@
1
- import { type StyledChar } from '@alcalzone/ansi-tokenize';
1
+ import { type StyledLine, type StyledChar } from './styled-line.js';
2
2
  import { type Region } from './output.js';
3
3
  import { type DOMElement, type StickyHeader } from './dom.js';
4
4
  import { type Selection } from './selection.js';
@@ -6,7 +6,7 @@ type Result = {
6
6
  output: string;
7
7
  outputHeight: number;
8
8
  staticOutput: string;
9
- styledOutput: StyledChar[][];
9
+ styledOutput: StyledLine[];
10
10
  cursorPosition?: {
11
11
  row: number;
12
12
  col: number;
@@ -19,5 +19,6 @@ declare const renderer: (node: DOMElement, options: {
19
19
  selection?: Selection;
20
20
  selectionStyle?: (char: StyledChar) => StyledChar;
21
21
  skipScrollbars?: boolean;
22
+ trackSelection?: boolean;
22
23
  }) => Result;
23
24
  export default renderer;