@jrichman/ink 6.4.11 → 6.4.12

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 (111) hide show
  1. package/build/components/App.d.ts +6 -0
  2. package/build/components/App.js +5 -0
  3. package/build/components/App.js.map +1 -1
  4. package/build/components/AppContext.d.ts +36 -1
  5. package/build/components/AppContext.js +7 -2
  6. package/build/components/AppContext.js.map +1 -1
  7. package/build/components/Box.d.ts +26 -2
  8. package/build/components/Box.js +3 -2
  9. package/build/components/Box.js.map +1 -1
  10. package/build/components/StaticRender.d.ts +8 -0
  11. package/build/components/StaticRender.js +11 -0
  12. package/build/components/StaticRender.js.map +1 -0
  13. package/build/debug-log.d.ts +2 -0
  14. package/build/debug-log.js +44 -0
  15. package/build/debug-log.js.map +1 -0
  16. package/build/dom.d.ts +37 -3
  17. package/build/dom.js +19 -3
  18. package/build/dom.js.map +1 -1
  19. package/build/index.d.ts +4 -1
  20. package/build/index.js +3 -1
  21. package/build/index.js.map +1 -1
  22. package/build/ink.d.ts +29 -2
  23. package/build/ink.js +215 -102
  24. package/build/ink.js.map +1 -1
  25. package/build/measure-element.d.ts +20 -1
  26. package/build/measure-element.js +201 -51
  27. package/build/measure-element.js.map +1 -1
  28. package/build/output.d.ts +195 -10
  29. package/build/output.js +494 -160
  30. package/build/output.js.map +1 -1
  31. package/build/reconciler.js +19 -3
  32. package/build/reconciler.js.map +1 -1
  33. package/build/render-background.js +1 -1
  34. package/build/render-background.js.map +1 -1
  35. package/build/render-cached.d.ts +17 -0
  36. package/build/render-cached.js +62 -0
  37. package/build/render-cached.js.map +1 -0
  38. package/build/render-container.d.ts +24 -0
  39. package/build/render-container.js +169 -0
  40. package/build/render-container.js.map +1 -0
  41. package/build/render-node-to-output.d.ts +15 -7
  42. package/build/render-node-to-output.js +123 -485
  43. package/build/render-node-to-output.js.map +1 -1
  44. package/build/render-screen-reader.d.ts +5 -0
  45. package/build/render-screen-reader.js +54 -0
  46. package/build/render-screen-reader.js.map +1 -0
  47. package/build/render-scrollbar.d.ts +22 -0
  48. package/build/render-scrollbar.js +77 -0
  49. package/build/render-scrollbar.js.map +1 -0
  50. package/build/render-sticky.d.ts +56 -0
  51. package/build/render-sticky.js +314 -0
  52. package/build/render-sticky.js.map +1 -0
  53. package/build/render-text-node.d.ts +24 -0
  54. package/build/render-text-node.js +133 -0
  55. package/build/render-text-node.js.map +1 -0
  56. package/build/render.d.ts +39 -0
  57. package/build/render.js +5 -0
  58. package/build/render.js.map +1 -1
  59. package/build/renderer.d.ts +10 -2
  60. package/build/renderer.js +103 -7
  61. package/build/renderer.js.map +1 -1
  62. package/build/replay.d.ts +60 -0
  63. package/build/replay.js +138 -0
  64. package/build/replay.js.map +1 -0
  65. package/build/scroll.js +20 -1
  66. package/build/scroll.js.map +1 -1
  67. package/build/selection.d.ts +9 -0
  68. package/build/selection.js +47 -0
  69. package/build/selection.js.map +1 -1
  70. package/build/serialization.d.ts +28 -0
  71. package/build/serialization.js +267 -0
  72. package/build/serialization.js.map +1 -0
  73. package/build/styles.d.ts +18 -0
  74. package/build/styles.js.map +1 -1
  75. package/build/terminal-buffer.d.ts +53 -0
  76. package/build/terminal-buffer.js +441 -0
  77. package/build/terminal-buffer.js.map +1 -0
  78. package/build/worker/animation-controller.d.ts +72 -0
  79. package/build/worker/animation-controller.js +128 -0
  80. package/build/worker/animation-controller.js.map +1 -0
  81. package/build/worker/ansi-utils.d.ts +16 -0
  82. package/build/worker/ansi-utils.js +40 -0
  83. package/build/worker/ansi-utils.js.map +1 -0
  84. package/build/worker/canvas.d.ts +47 -0
  85. package/build/worker/canvas.js +94 -0
  86. package/build/worker/canvas.js.map +1 -0
  87. package/build/worker/compositor.d.ts +33 -0
  88. package/build/worker/compositor.js +314 -0
  89. package/build/worker/compositor.js.map +1 -0
  90. package/build/worker/platform.d.ts +15 -0
  91. package/build/worker/platform.js +19 -0
  92. package/build/worker/platform.js.map +1 -0
  93. package/build/worker/render-worker.d.ts +112 -0
  94. package/build/worker/render-worker.js +936 -0
  95. package/build/worker/render-worker.js.map +1 -0
  96. package/build/worker/scene-manager.d.ts +26 -0
  97. package/build/worker/scene-manager.js +99 -0
  98. package/build/worker/scene-manager.js.map +1 -0
  99. package/build/worker/scroll-optimizer.d.ts +32 -0
  100. package/build/worker/scroll-optimizer.js +110 -0
  101. package/build/worker/scroll-optimizer.js.map +1 -0
  102. package/build/worker/terminal-writer.d.ts +116 -0
  103. package/build/worker/terminal-writer.js +722 -0
  104. package/build/worker/terminal-writer.js.map +1 -0
  105. package/build/worker/worker-entry.d.ts +6 -0
  106. package/build/worker/worker-entry.js +130 -0
  107. package/build/worker/worker-entry.js.map +1 -0
  108. package/build/wrap-text.d.ts +6 -0
  109. package/build/wrap-text.js +120 -0
  110. package/build/wrap-text.js.map +1 -0
  111. package/package.json +3 -1
@@ -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":"AACA,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,EAGN,eAAe,GAEf,MAAM,UAAU,CAAC;AAClB,OAAO,MAAM,EAAE,EACd,sBAAsB,EACtB,qBAAqB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,gBAAgB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,sBAAsB,EAAC,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAIrE,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,IAAgB,EAChB,UAMI,EAAE,EACL,EAAE;IACH,IAAI,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAEvD,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,mBAAmB,GAAmB,EAAE,CAAC;IAE/C,KAAK,MAAM,EAAC,IAAI,EAAE,UAAU,EAAC,IAAI,WAAW,EAAE,CAAC;QAC9C,MAAM,EAAC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAC,GAC/D,gBAAgB,CAAC,UAAU,EAAE;YAC5B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,KAAK;YACvD,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;SACtC,CAAC,CAAC;QAEJ,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC;QACrC,MAAM,cAAc,GAAG,MAAM,EAAE,QAAQ,CAAC;QACxC,MAAM,gBAAgB,GACrB,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC;QAC5E,MAAM,UAAU,GACf,UAAU,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QAE3D,MAAM,SAAS,GAAG;YACjB,MAAM,EAAE,UAAU,CAAC,UAAU;YAC7B,KAAK,EAAE,YAAY;YACnB,UAAU;YACV,YAAY,EAAE,UAAU,IAAI,YAAY;YACxC,CAAC,EACA,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC;gBACjC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC,EAAE,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,gBAAgB;YAC3D,UAAU;YACV,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,UAAU,GAAG,aAAa;YAClC,iBAAiB,EAAE,CAAC,CAAC;YACrB,WAAW,EAAE,IAAI;YAEjB,SAAS,EACR,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC;gBACjC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5D,SAAS,EAAE,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,gBAAgB;YACnE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,UAAU;YAChB,iBAAiB,EAAE,MAAM;gBACxB,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC;gBACxD,CAAC,CAAC,CAAC;YACJ,YAAY,EAAE,cAAc;gBAC3B,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE;gBACpC,CAAC,CAAC,MAAM,CAAC,gBAAgB;YAC1B,eAAe,EAAE,cAAc;gBAC9B,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACjD,CAAC,CAAC,CAAC;YACJ,kBAAkB,EAAE,cAAc;gBACjC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;gBACpD,CAAC,CAAC,CAAC;YACJ,IAAI,EAAE,UAAU;SAChB,CAAC;QAEF,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC;QAC/B,KAAK;QACL,MAAM;QACN,EAAE,EAAE,IAAI,CAAC,UAAU;KACnB,CAAC,CAAC;IAEH,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACzC,kBAAkB,CAAC,SAAuB,EAAE,YAAY,EAAE;YACzD,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,YAAY,EAAE,SAAS;YACvB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,KAAK;YACvD,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;SACtC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;IACtC,UAAU,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACrD,UAAU,CAAC,cAAc,GAAG,qBAAqB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAE9E,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,gGAAgG;AAChG,SAAS,kBAAkB,CAC1B,IAAgB,EAChB,MAAc,EACd,OAWC;IAED,MAAM,EACL,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,EACX,eAAe,GAAG,CAAC,EACnB,eAAe,GAAG,CAAC,EACnB,YAAY,GAAG,EAAE,EACjB,kBAAkB,EAClB,cAAc,GAAG,KAAK,EACtB,iBAAiB,GAAG,KAAK,EACzB,YAAY,EACZ,cAAc,GACd,GAAG,OAAO,CAAC;IAEZ,IAAI,kBAAkB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAChD,OAAO;IACR,CAAC;IAED,IAAI,IAAI,CAAC,uBAAuB,IAAI,CAAC,cAAc,EAAE,CAAC;QACrD,OAAO;IACR,CAAC;IAED,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC;IAExB,IAAI,QAAQ,EAAE,CAAC;QACd,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACjD,OAAO;QACR,CAAC;QAED,mEAAmE;QACnE,MAAM,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;QAE9C,8DAA8D;QAC9D,MAAM,IAAI,GAAG,eAAe,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,eAAe,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;QAEzD,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QAErC,IAAI,IAAI,EAAE,CAAC;YACV,MAAM,gBAAgB,GAAG,IAAI,CAAC;YAC9B,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,KAAK,CAAC;YACnD,MAAM,eAAe,GAAG,IAAI,CAAC;YAC7B,MAAM,kBAAkB,GAAG,eAAe,GAAG,MAAM,CAAC;YAEpD,MAAM,SAAS,GAAG,sBAAsB,CACvC;gBACC,EAAE,EAAE,gBAAgB;gBACpB,EAAE,EAAE,eAAe;gBACnB,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,kBAAkB;aACtB,EACD,IAAI,CACJ,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,OAAO;YACR,CAAC;QACF,CAAC;QAED,gFAAgF;QAChF,uDAAuD;QACvD,IAAI,eAAe,GAAG,YAAY,CAAC;QACnC,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;YACnD,eAAe,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,YAAY,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,mBAAmB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACjE,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE;gBACpC,CAAC;gBACD,CAAC;gBACD,YAAY;gBACZ,cAAc;aACd,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAClC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;gBAC5B,CAAC;gBACD,CAAC;gBACD,eAAe;gBACf,YAAY;gBACZ,cAAc;aACd,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE;YACjC,CAAC;YACD,CAAC;YACD,KAAK;YACL,MAAM;YACN,eAAe;YACf,kBAAkB;YAClB,cAAc;YACd,iBAAiB;YACjB,YAAY;YACZ,cAAc;SACd,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type DOMElement } from './dom.js';
2
+ export declare const renderNodeToScreenReaderOutput: (node: DOMElement, options?: {
3
+ parentRole?: string;
4
+ skipStaticElements?: boolean;
5
+ }) => string;
@@ -0,0 +1,54 @@
1
+ import Yoga from 'yoga-layout';
2
+ import squashTextNodes from './squash-text-nodes.js';
3
+ export const renderNodeToScreenReaderOutput = (node, options = {}) => {
4
+ if (options.skipStaticElements && node.internal_static) {
5
+ return '';
6
+ }
7
+ if (node.internalStickyAlternate) {
8
+ return '';
9
+ }
10
+ if (node.yogaNode?.getDisplay() === Yoga.DISPLAY_NONE) {
11
+ return '';
12
+ }
13
+ let output = '';
14
+ if (node.nodeName === 'ink-text') {
15
+ output = squashTextNodes(node);
16
+ }
17
+ else if (node.nodeName === 'ink-box' ||
18
+ node.nodeName === 'ink-root' ||
19
+ node.nodeName === 'ink-static-render') {
20
+ const separator = node.style.flexDirection === 'row' ||
21
+ node.style.flexDirection === 'row-reverse'
22
+ ? ' '
23
+ : '\n';
24
+ const childNodes = node.style.flexDirection === 'row-reverse' ||
25
+ node.style.flexDirection === 'column-reverse'
26
+ ? [...node.childNodes].reverse()
27
+ : [...node.childNodes];
28
+ output = childNodes
29
+ .map(childNode => {
30
+ const screenReaderOutput = renderNodeToScreenReaderOutput(childNode, {
31
+ parentRole: node.internal_accessibility?.role,
32
+ skipStaticElements: options.skipStaticElements,
33
+ });
34
+ return screenReaderOutput;
35
+ })
36
+ .filter(Boolean)
37
+ .join(separator);
38
+ }
39
+ if (node.internal_accessibility) {
40
+ const { role, state } = node.internal_accessibility;
41
+ if (state) {
42
+ const stateKeys = Object.keys(state);
43
+ const stateDescription = stateKeys.filter(key => state[key]).join(', ');
44
+ if (stateDescription) {
45
+ output = `(${stateDescription}) ${output}`;
46
+ }
47
+ }
48
+ if (role && role !== options.parentRole) {
49
+ output = `${role}: ${output}`;
50
+ }
51
+ }
52
+ return output;
53
+ };
54
+ //# sourceMappingURL=render-screen-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-screen-reader.js","sourceRoot":"","sources":["../src/render-screen-reader.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,eAAe,MAAM,wBAAwB,CAAC;AAGrD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC7C,IAAgB,EAChB,UAGI,EAAE,EACG,EAAE;IACX,IAAI,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACxD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QACvD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;SAAM,IACN,IAAI,CAAC,QAAQ,KAAK,SAAS;QAC3B,IAAI,CAAC,QAAQ,KAAK,UAAU;QAC5B,IAAI,CAAC,QAAQ,KAAK,mBAAmB,EACpC,CAAC;QACF,MAAM,SAAS,GACd,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,KAAK;YAClC,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,aAAa;YACzC,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,UAAU,GACf,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,aAAa;YAC1C,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,gBAAgB;YAC5C,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;YAChC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzB,MAAM,GAAG,UAAU;aACjB,GAAG,CAAC,SAAS,CAAC,EAAE;YAChB,MAAM,kBAAkB,GAAG,8BAA8B,CACxD,SAAuB,EACvB;gBACC,UAAU,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI;gBAC7C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;aAC9C,CACD,CAAC;YACF,OAAO,kBAAkB,CAAC;QAC3B,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACjC,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAElD,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAA8B,CAAC;YAClE,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExE,IAAI,gBAAgB,EAAE,CAAC;gBACtB,MAAM,GAAG,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;YAC5C,CAAC;QACF,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC;QAC/B,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type StyledChar } from '@alcalzone/ansi-tokenize';
2
+ import { type ScrollbarBoundingBox } from './measure-element.js';
3
+ export type ScrollbarThumb = {
4
+ startIndex: number;
5
+ endIndex: number;
6
+ thumbStartHalf: number;
7
+ thumbEndHalf: number;
8
+ };
9
+ export type DrawOptions = {
10
+ layout: ScrollbarBoundingBox;
11
+ clip: {
12
+ x: number;
13
+ y: number;
14
+ w: number;
15
+ h: number;
16
+ };
17
+ axis: 'vertical' | 'horizontal';
18
+ color?: string;
19
+ setChar: (x: number, y: number, char: StyledChar) => void;
20
+ getExistingChar?: (x: number, y: number) => StyledChar | undefined;
21
+ };
22
+ export declare const renderScrollbar: ({ layout, clip, axis, color, setChar, getExistingChar, }: DrawOptions) => void;
@@ -0,0 +1,77 @@
1
+ import colorize from './colorize.js';
2
+ import { toStyledCharacters } from './measure-text.js';
3
+ export const renderScrollbar = ({ layout, clip, axis, color, setChar, getExistingChar, }) => {
4
+ const { x, y, thumb: { start: startIndex, end: endIndex, startHalf: thumbStartHalf, endHalf: thumbEndHalf, }, } = layout;
5
+ const applyBackground = (char, existingChar) => {
6
+ if (!existingChar)
7
+ return char;
8
+ const backgroundStyle = existingChar.styles.find(s => s.code.includes(';4') ||
9
+ (s.code.startsWith('\u001B[4') && !s.code.startsWith('\u001B[49')));
10
+ if (backgroundStyle) {
11
+ return {
12
+ ...char,
13
+ styles: [...(backgroundStyle ? [backgroundStyle] : []), ...char.styles],
14
+ };
15
+ }
16
+ return char;
17
+ };
18
+ if (axis === 'vertical') {
19
+ for (let i = startIndex; i < endIndex; i++) {
20
+ const drawY = y + i;
21
+ const drawX = x;
22
+ if (drawY >= clip.y &&
23
+ drawY < clip.y + clip.h &&
24
+ drawX >= clip.x &&
25
+ drawX < clip.x + clip.w) {
26
+ let char = '█';
27
+ const hasUpper = 2 * i >= thumbStartHalf && 2 * i < thumbEndHalf;
28
+ const hasLower = 2 * i + 1 >= thumbStartHalf && 2 * i + 1 < thumbEndHalf;
29
+ if (hasUpper && !hasLower) {
30
+ char = '▀';
31
+ }
32
+ else if (!hasUpper && hasLower) {
33
+ char = '▄';
34
+ }
35
+ const charString = color ? colorize(char, color, 'foreground') : char;
36
+ let styled = toStyledCharacters(charString)[0];
37
+ if (styled) {
38
+ if (getExistingChar && (char === '▀' || char === '▄')) {
39
+ const existing = getExistingChar(drawX, drawY);
40
+ styled = applyBackground(styled, existing);
41
+ }
42
+ setChar(drawX, drawY, styled);
43
+ }
44
+ }
45
+ }
46
+ }
47
+ else {
48
+ for (let i = startIndex; i < endIndex; i++) {
49
+ const drawX = x + i;
50
+ const drawY = y;
51
+ if (drawY >= clip.y &&
52
+ drawY < clip.y + clip.h &&
53
+ drawX >= clip.x &&
54
+ drawX < clip.x + clip.w) {
55
+ let char = '█';
56
+ const hasLeft = 2 * i >= thumbStartHalf && 2 * i < thumbEndHalf;
57
+ const hasRight = 2 * i + 1 >= thumbStartHalf && 2 * i + 1 < thumbEndHalf;
58
+ if (hasLeft && !hasRight) {
59
+ char = '▌';
60
+ }
61
+ else if (!hasLeft && hasRight) {
62
+ char = '▐';
63
+ }
64
+ const charString = color ? colorize(char, color, 'foreground') : char;
65
+ let styled = toStyledCharacters(charString)[0];
66
+ if (styled) {
67
+ if (getExistingChar && (char === '▌' || char === '▐')) {
68
+ const existing = getExistingChar(drawX, drawY);
69
+ styled = applyBackground(styled, existing);
70
+ }
71
+ setChar(drawX, drawY, styled);
72
+ }
73
+ }
74
+ }
75
+ }
76
+ };
77
+ //# sourceMappingURL=render-scrollbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-scrollbar.js","sourceRoot":"","sources":["../src/render-scrollbar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
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
+ import { type DOMElement, type DOMNode, type StickyHeader } from './dom.js';
8
+ import Output from './output.js';
9
+ import { type OutputTransformer } from './render-node-to-output.js';
10
+ export type StickyNodeInfo = {
11
+ node: DOMElement;
12
+ type: 'top' | 'bottom';
13
+ cached?: StickyHeader;
14
+ anchor?: DOMElement;
15
+ };
16
+ export declare function getStickyDescendants(node: DOMElement): StickyNodeInfo[];
17
+ export declare function renderStickyNode(stickyNode: DOMElement, options: {
18
+ transformers?: OutputTransformer[];
19
+ skipStaticElements: boolean;
20
+ selectionMap?: Map<DOMNode, {
21
+ start: number;
22
+ end: number;
23
+ }>;
24
+ selectionStyle?: (char: StyledChar) => StyledChar;
25
+ }): {
26
+ naturalLines: StyledChar[][];
27
+ stuckLines: StyledChar[][] | undefined;
28
+ naturalHeight: number;
29
+ maxHeaderHeight: number;
30
+ };
31
+ export declare function identifyActiveStickyNodes(stickyNodes: StickyNodeInfo[], node: DOMElement, scrollTop: number, viewportBottom: number): {
32
+ stickyNode: DOMElement;
33
+ type: "top" | "bottom";
34
+ nextStickyNode?: DOMElement;
35
+ nextStickyNodeInfo?: StickyNodeInfo;
36
+ cached?: StickyHeader;
37
+ anchor?: DOMElement;
38
+ }[];
39
+ export declare function renderActiveStickyNodes(activeStickyNodes: Array<{
40
+ stickyNode: DOMElement;
41
+ type: 'top' | 'bottom';
42
+ nextStickyNode?: DOMElement;
43
+ nextStickyNodeInfo?: StickyNodeInfo;
44
+ cached?: StickyHeader;
45
+ anchor?: DOMElement;
46
+ }>, node: DOMElement, output: Output, options: {
47
+ x: number;
48
+ y: number;
49
+ newTransformers: OutputTransformer[];
50
+ skipStaticElements: boolean;
51
+ selectionMap?: Map<DOMNode, {
52
+ start: number;
53
+ end: number;
54
+ }>;
55
+ selectionStyle?: (char: StyledChar) => StyledChar;
56
+ }): void;
@@ -0,0 +1,314 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import Yoga from 'yoga-layout';
7
+ import Output from './output.js';
8
+ import renderNodeToOutput from './render-node-to-output.js';
9
+ import { getScrollTop } from './scroll.js';
10
+ import { getRelativeTop, getRelativeLeft } from './measure-element.js';
11
+ export function getStickyDescendants(node) {
12
+ const stickyDescendants = [];
13
+ for (const child of node.childNodes) {
14
+ if (child.nodeName === '#text') {
15
+ continue;
16
+ }
17
+ const domChild = child;
18
+ if (domChild.internalStickyAlternate) {
19
+ continue;
20
+ }
21
+ if (domChild.internalSticky) {
22
+ stickyDescendants.push({
23
+ node: domChild,
24
+ type: domChild.internalSticky === 'bottom' ? 'bottom' : 'top',
25
+ });
26
+ }
27
+ else if (domChild.nodeName === 'ink-static-render' &&
28
+ domChild.cachedRender?.cachedStickyHeaders) {
29
+ for (const header of domChild.cachedRender.cachedStickyHeaders) {
30
+ if (header.node) {
31
+ stickyDescendants.push({
32
+ node: header.node,
33
+ type: header.node.internalSticky === 'bottom' ? 'bottom' : 'top',
34
+ cached: header,
35
+ anchor: domChild,
36
+ });
37
+ }
38
+ }
39
+ }
40
+ else {
41
+ const overflow = domChild.style.overflow ?? 'visible';
42
+ const overflowX = domChild.style.overflowX ?? overflow;
43
+ const overflowY = domChild.style.overflowY ?? overflow;
44
+ const isScrollable = overflowX === 'scroll' || overflowY === 'scroll';
45
+ if (!isScrollable && domChild.childNodes) {
46
+ stickyDescendants.push(...getStickyDescendants(domChild));
47
+ }
48
+ }
49
+ }
50
+ return stickyDescendants;
51
+ }
52
+ export function renderStickyNode(stickyNode, options) {
53
+ const alternateStickyNode = stickyNode.childNodes.find(childNode => childNode.internalStickyAlternate);
54
+ const naturalHeight = stickyNode.yogaNode.getComputedHeight();
55
+ const stuckHeight = alternateStickyNode?.yogaNode?.getComputedHeight() ?? 0;
56
+ const maxHeaderHeight = Math.max(naturalHeight, stuckHeight);
57
+ const renderHeader = (isSticky) => {
58
+ const stickyOutput = new Output({
59
+ width: stickyNode.yogaNode.getComputedWidth(),
60
+ height: maxHeaderHeight,
61
+ });
62
+ renderNodeToOutput(stickyNode, stickyOutput, {
63
+ offsetX: -stickyNode.yogaNode.getComputedLeft(),
64
+ offsetY: -stickyNode.yogaNode.getComputedTop(),
65
+ transformers: options.transformers,
66
+ skipStaticElements: options.skipStaticElements,
67
+ isStickyRender: isSticky,
68
+ selectionMap: options.selectionMap,
69
+ selectionStyle: options.selectionStyle,
70
+ });
71
+ return stickyOutput.get().lines;
72
+ };
73
+ const naturalLines = renderHeader(false);
74
+ const stuckLines = alternateStickyNode ? renderHeader(true) : undefined;
75
+ return { naturalLines, stuckLines, naturalHeight, maxHeaderHeight };
76
+ }
77
+ export function identifyActiveStickyNodes(stickyNodes, node, scrollTop, viewportBottom) {
78
+ let activeTopStickyNodeIndex = -1;
79
+ let activeTopStickyNode;
80
+ let activeBottomStickyNodeIndex = -1;
81
+ let activeBottomStickyNode;
82
+ for (const [index, stickyNodeInfo] of stickyNodes.entries()) {
83
+ const { node: stickyNode, type: stickyType, cached, anchor } = stickyNodeInfo;
84
+ let stickyNodeTop;
85
+ let stickyNodeHeight;
86
+ let parentTop;
87
+ let parentHeight;
88
+ if (cached && anchor) {
89
+ const staticRenderPos = getRelativeTop(anchor, node) ?? 0;
90
+ stickyNodeTop = staticRenderPos + cached.relativeY;
91
+ stickyNodeHeight = cached.height;
92
+ parentTop = staticRenderPos + cached.parentRelativeTop;
93
+ parentHeight = cached.parentHeight;
94
+ }
95
+ else {
96
+ if (!stickyNode.yogaNode)
97
+ continue;
98
+ stickyNodeTop = getRelativeTop(stickyNode, node) ?? 0;
99
+ stickyNodeHeight = stickyNode.yogaNode.getComputedHeight();
100
+ const parent = stickyNode.parentNode;
101
+ if (parent?.yogaNode) {
102
+ parentTop = getRelativeTop(parent, node) ?? 0;
103
+ parentHeight = parent.yogaNode.getComputedHeight();
104
+ }
105
+ else {
106
+ parentTop = 0;
107
+ parentHeight = Number.MAX_SAFE_INTEGER;
108
+ }
109
+ }
110
+ const stickyNodeBottom = stickyNodeTop + stickyNodeHeight;
111
+ if (stickyType === 'top' &&
112
+ stickyNodeTop < scrollTop &&
113
+ parentTop + parentHeight > scrollTop) {
114
+ activeTopStickyNode = stickyNodeInfo;
115
+ activeTopStickyNodeIndex = index;
116
+ }
117
+ if (stickyType === 'bottom' &&
118
+ Math.floor(stickyNodeBottom) > Math.floor(viewportBottom) &&
119
+ parentTop < viewportBottom) {
120
+ activeBottomStickyNode = stickyNodeInfo;
121
+ activeBottomStickyNodeIndex = index;
122
+ }
123
+ }
124
+ const activeStickyNodes = [];
125
+ if (activeTopStickyNode) {
126
+ let nextStickyNode;
127
+ let nextStickyNodeInfo;
128
+ for (let i = activeTopStickyNodeIndex + 1; i < stickyNodes.length; i++) {
129
+ const info = stickyNodes[i];
130
+ if (info.type !== 'bottom') {
131
+ nextStickyNode = info.node;
132
+ nextStickyNodeInfo = info;
133
+ break;
134
+ }
135
+ }
136
+ activeStickyNodes.push({
137
+ stickyNode: activeTopStickyNode.node,
138
+ type: 'top',
139
+ nextStickyNode,
140
+ nextStickyNodeInfo,
141
+ cached: activeTopStickyNode.cached,
142
+ anchor: activeTopStickyNode.anchor,
143
+ });
144
+ }
145
+ if (activeBottomStickyNode) {
146
+ let nextStickyNode;
147
+ let nextStickyNodeInfo;
148
+ for (let i = activeBottomStickyNodeIndex - 1; i >= 0; i--) {
149
+ const info = stickyNodes[i];
150
+ if (info.type === 'bottom') {
151
+ nextStickyNode = info.node;
152
+ nextStickyNodeInfo = info;
153
+ break;
154
+ }
155
+ }
156
+ activeStickyNodes.push({
157
+ stickyNode: activeBottomStickyNode.node,
158
+ type: 'bottom',
159
+ nextStickyNode,
160
+ nextStickyNodeInfo,
161
+ cached: activeBottomStickyNode.cached,
162
+ anchor: activeBottomStickyNode.anchor,
163
+ });
164
+ }
165
+ return activeStickyNodes;
166
+ }
167
+ export function renderActiveStickyNodes(activeStickyNodes, node, output, options) {
168
+ const { x, y, newTransformers, skipStaticElements, selectionMap, selectionStyle, } = options;
169
+ const { yogaNode } = node;
170
+ if (!yogaNode)
171
+ return;
172
+ for (const { stickyNode, type, nextStickyNodeInfo, cached, anchor, } of activeStickyNodes) {
173
+ let stickyNodeHeight;
174
+ let stickyNodeTop;
175
+ let parentTop;
176
+ let parentHeight;
177
+ let stickyOffsetX;
178
+ let stickyNodeId;
179
+ const currentBorderTop = yogaNode.getComputedBorder(Yoga.EDGE_TOP);
180
+ const currentBorderLeft = yogaNode.getComputedBorder(Yoga.EDGE_LEFT);
181
+ if (cached && anchor) {
182
+ const staticRenderPosTop = getRelativeTop(anchor, node) ?? 0;
183
+ const staticRenderPosLeft = getRelativeLeft(anchor, node) ?? 0;
184
+ stickyNodeTop = staticRenderPosTop + cached.relativeY;
185
+ stickyNodeHeight = cached.height;
186
+ parentTop = staticRenderPosTop + cached.parentRelativeTop;
187
+ parentHeight = cached.parentHeight;
188
+ stickyOffsetX = x + staticRenderPosLeft + cached.relativeX;
189
+ stickyNodeId = cached.nodeId;
190
+ }
191
+ else {
192
+ stickyNodeTop = getRelativeTop(stickyNode, node) ?? 0;
193
+ const naturalHeight = stickyNode.yogaNode.getComputedHeight();
194
+ const alternateStickyNode = stickyNode.childNodes.find(childNode => childNode.internalStickyAlternate);
195
+ const stuckHeight = alternateStickyNode?.yogaNode?.getComputedHeight() ?? 0;
196
+ stickyNodeHeight = Math.max(naturalHeight, stuckHeight);
197
+ const parent = stickyNode.parentNode;
198
+ if (parent?.yogaNode) {
199
+ parentTop = getRelativeTop(parent, node) ?? 0;
200
+ parentHeight = parent.yogaNode.getComputedHeight();
201
+ }
202
+ else {
203
+ parentTop = 0;
204
+ parentHeight = Number.MAX_SAFE_INTEGER;
205
+ }
206
+ stickyOffsetX = x + (getRelativeLeft(stickyNode, node) ?? 0);
207
+ stickyNodeId = stickyNode.internalId;
208
+ }
209
+ const currentScrollTop = getScrollTop(node);
210
+ const currentClientHeight = node.internal_scrollState?.clientHeight ?? 0;
211
+ const parentBorderBottom = cached
212
+ ? (cached.parentBorderBottom ?? 0)
213
+ : (stickyNode.parentNode?.yogaNode?.getComputedBorder(Yoga.EDGE_BOTTOM) ??
214
+ 0);
215
+ const parentBottom = parentTop + parentHeight - parentBorderBottom;
216
+ let finalStickyY = 0;
217
+ let maxStuckY;
218
+ let minStuckY;
219
+ if (type === 'top') {
220
+ let maxStickyTop = y - currentScrollTop + parentBottom - stickyNodeHeight;
221
+ const naturalStickyY = y - currentScrollTop + stickyNodeTop;
222
+ const stuckStickyY = y + currentBorderTop;
223
+ if (nextStickyNodeInfo) {
224
+ let nextNodeTop;
225
+ if (nextStickyNodeInfo.cached && nextStickyNodeInfo.anchor) {
226
+ const staticRenderPosTop = getRelativeTop(nextStickyNodeInfo.anchor, node) ?? 0;
227
+ nextNodeTop =
228
+ staticRenderPosTop + nextStickyNodeInfo.cached.relativeY;
229
+ }
230
+ else if (nextStickyNodeInfo.node?.yogaNode) {
231
+ nextNodeTop = getRelativeTop(nextStickyNodeInfo.node, node) ?? 0;
232
+ }
233
+ if (nextNodeTop !== undefined) {
234
+ const nextNodeTopInViewport = y - currentScrollTop + nextNodeTop;
235
+ const nextNodePushTop = nextNodeTopInViewport - stickyNodeHeight;
236
+ if (nextNodePushTop < maxStickyTop) {
237
+ maxStickyTop = nextNodePushTop;
238
+ }
239
+ }
240
+ }
241
+ finalStickyY = Math.min(Math.max(stuckStickyY, naturalStickyY), maxStickyTop);
242
+ maxStuckY = maxStickyTop - (y + currentBorderTop);
243
+ }
244
+ else {
245
+ const parentBorderTop = cached
246
+ ? (cached.parentBorderTop ?? 0)
247
+ : (stickyNode.parentNode?.yogaNode?.getComputedBorder(Yoga.EDGE_TOP) ??
248
+ 0);
249
+ let minStickyTop = y - currentScrollTop + parentTop + parentBorderTop;
250
+ const naturalStickyY = y - currentScrollTop + stickyNodeTop;
251
+ const stuckStickyY = y + currentBorderTop + currentClientHeight - stickyNodeHeight;
252
+ if (nextStickyNodeInfo) {
253
+ let nextNodeHeight;
254
+ let nextNodeTop;
255
+ if (nextStickyNodeInfo.cached && nextStickyNodeInfo.anchor) {
256
+ nextNodeHeight = nextStickyNodeInfo.cached.height;
257
+ const staticRenderPosTop = getRelativeTop(nextStickyNodeInfo.anchor, node) ?? 0;
258
+ nextNodeTop =
259
+ staticRenderPosTop + nextStickyNodeInfo.cached.relativeY;
260
+ }
261
+ else if (nextStickyNodeInfo.node?.yogaNode) {
262
+ nextNodeHeight = nextStickyNodeInfo.node.yogaNode.getComputedHeight();
263
+ nextNodeTop = getRelativeTop(nextStickyNodeInfo.node, node) ?? 0;
264
+ }
265
+ if (nextNodeTop !== undefined && nextNodeHeight !== undefined) {
266
+ const nextNodeBottomInViewport = y - currentScrollTop + nextNodeTop + nextNodeHeight;
267
+ if (nextNodeBottomInViewport > minStickyTop) {
268
+ minStickyTop = nextNodeBottomInViewport;
269
+ }
270
+ }
271
+ }
272
+ finalStickyY = Math.max(Math.min(stuckStickyY, naturalStickyY), minStickyTop);
273
+ minStuckY = minStickyTop - (y + currentBorderTop);
274
+ }
275
+ let naturalLines;
276
+ let stuckLines;
277
+ let naturalHeight;
278
+ if (cached) {
279
+ naturalLines = cached.lines;
280
+ stuckLines = cached.stuckLines;
281
+ naturalHeight = cached.endRow - cached.startRow;
282
+ }
283
+ else {
284
+ const rendered = renderStickyNode(stickyNode, {
285
+ transformers: newTransformers,
286
+ skipStaticElements,
287
+ selectionMap,
288
+ selectionStyle,
289
+ });
290
+ naturalLines = rendered.naturalLines;
291
+ stuckLines = rendered.stuckLines;
292
+ naturalHeight = rendered.naturalHeight;
293
+ }
294
+ const naturalRow = stickyNodeTop - currentBorderTop;
295
+ const headerObj = {
296
+ nodeId: stickyNodeId,
297
+ lines: naturalLines,
298
+ stuckLines,
299
+ styledOutput: stuckLines ?? naturalLines,
300
+ x: stickyOffsetX - (x + currentBorderLeft),
301
+ y: finalStickyY - (y + yogaNode.getComputedBorder(Yoga.EDGE_TOP)),
302
+ naturalRow,
303
+ startRow: naturalRow,
304
+ endRow: naturalRow + naturalHeight,
305
+ scrollContainerId: node.internalId,
306
+ isStuckOnly: false,
307
+ type,
308
+ maxStuckY,
309
+ minStuckY,
310
+ };
311
+ output.addStickyHeader(headerObj);
312
+ }
313
+ }
314
+ //# sourceMappingURL=render-sticky.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-sticky.js","sourceRoot":"","sources":["../src/render-sticky.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
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
+ import { type DOMElement, type DOMNode } from './dom.js';
8
+ import type Output from './output.js';
9
+ 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) => {
12
+ cursorLineIndex: number;
13
+ relativeCursorPosition: number;
14
+ };
15
+ export declare function handleTextNode(node: DOMElement, output: Output, options: {
16
+ x: number;
17
+ y: number;
18
+ newTransformers: OutputTransformer[];
19
+ selectionMap?: Map<DOMNode, {
20
+ start: number;
21
+ end: number;
22
+ }>;
23
+ selectionStyle?: (char: StyledChar) => StyledChar;
24
+ }): void;