@effect-tui/react 0.15.2 → 0.16.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 (249) hide show
  1. package/README.md +2 -2
  2. package/dist/src/components/ListView.d.ts +4 -4
  3. package/dist/src/components/ListView.d.ts.map +1 -1
  4. package/dist/src/components/ListView.js +16 -17
  5. package/dist/src/components/ListView.js.map +1 -1
  6. package/dist/src/console/ConsolePopover.d.ts +7 -1
  7. package/dist/src/console/ConsolePopover.d.ts.map +1 -1
  8. package/dist/src/console/ConsolePopover.js +55 -74
  9. package/dist/src/console/ConsolePopover.js.map +1 -1
  10. package/dist/src/debug/DebugOverlay.d.ts.map +1 -1
  11. package/dist/src/debug/DebugOverlay.js +3 -57
  12. package/dist/src/debug/DebugOverlay.js.map +1 -1
  13. package/dist/src/debug/DiagnosticsPanel.js +1 -1
  14. package/dist/src/debug/DiagnosticsPanel.js.map +1 -1
  15. package/dist/src/dev.d.ts +5 -117
  16. package/dist/src/dev.d.ts.map +1 -1
  17. package/dist/src/dev.js +3 -333
  18. package/dist/src/dev.js.map +1 -1
  19. package/dist/src/hooks/use-scroll.d.ts +31 -35
  20. package/dist/src/hooks/use-scroll.d.ts.map +1 -1
  21. package/dist/src/hooks/use-scroll.js +51 -90
  22. package/dist/src/hooks/use-scroll.js.map +1 -1
  23. package/dist/src/hosts/canvas.d.ts +2 -2
  24. package/dist/src/hosts/canvas.d.ts.map +1 -1
  25. package/dist/src/hosts/canvas.js +8 -10
  26. package/dist/src/hosts/canvas.js.map +1 -1
  27. package/dist/src/hosts/codeblock.d.ts +2 -2
  28. package/dist/src/hosts/codeblock.js +2 -2
  29. package/dist/src/hosts/flex-container.d.ts +1 -1
  30. package/dist/src/hosts/flex-container.d.ts.map +1 -1
  31. package/dist/src/hosts/flex-container.js +3 -3
  32. package/dist/src/hosts/flex-container.js.map +1 -1
  33. package/dist/src/hosts/index.d.ts +2 -1
  34. package/dist/src/hosts/index.d.ts.map +1 -1
  35. package/dist/src/hosts/index.js +2 -1
  36. package/dist/src/hosts/index.js.map +1 -1
  37. package/dist/src/hosts/layout-helpers.d.ts +10 -0
  38. package/dist/src/hosts/layout-helpers.d.ts.map +1 -0
  39. package/dist/src/hosts/layout-helpers.js +10 -0
  40. package/dist/src/hosts/layout-helpers.js.map +1 -0
  41. package/dist/src/hosts/leaf.d.ts +14 -0
  42. package/dist/src/hosts/leaf.d.ts.map +1 -0
  43. package/dist/src/hosts/leaf.js +31 -0
  44. package/dist/src/hosts/leaf.js.map +1 -0
  45. package/dist/src/hosts/overlay.d.ts.map +1 -1
  46. package/dist/src/hosts/overlay.js +4 -7
  47. package/dist/src/hosts/overlay.js.map +1 -1
  48. package/dist/src/hosts/scroll.d.ts +47 -24
  49. package/dist/src/hosts/scroll.d.ts.map +1 -1
  50. package/dist/src/hosts/scroll.js +68 -51
  51. package/dist/src/hosts/scroll.js.map +1 -1
  52. package/dist/src/hosts/spacer.d.ts +2 -2
  53. package/dist/src/hosts/spacer.js +2 -2
  54. package/dist/src/hosts/text.d.ts +2 -3
  55. package/dist/src/hosts/text.d.ts.map +1 -1
  56. package/dist/src/hosts/text.js +5 -61
  57. package/dist/src/hosts/text.js.map +1 -1
  58. package/dist/src/hosts/vstack.js +1 -1
  59. package/dist/src/hosts/vstack.js.map +1 -1
  60. package/dist/src/hosts/zstack.d.ts +1 -1
  61. package/dist/src/hosts/zstack.d.ts.map +1 -1
  62. package/dist/src/hosts/zstack.js +6 -6
  63. package/dist/src/hosts/zstack.js.map +1 -1
  64. package/dist/src/index.d.ts +1 -1
  65. package/dist/src/index.d.ts.map +1 -1
  66. package/dist/src/internal/dev/hmr.d.ts +20 -0
  67. package/dist/src/internal/dev/hmr.d.ts.map +1 -0
  68. package/dist/src/internal/dev/hmr.js +93 -0
  69. package/dist/src/internal/dev/hmr.js.map +1 -0
  70. package/dist/src/internal/dev/runtime.d.ts +24 -0
  71. package/dist/src/internal/dev/runtime.d.ts.map +1 -0
  72. package/dist/src/internal/dev/runtime.js +135 -0
  73. package/dist/src/internal/dev/runtime.js.map +1 -0
  74. package/dist/src/internal/dev/ui.d.ts +13 -0
  75. package/dist/src/internal/dev/ui.d.ts.map +1 -0
  76. package/dist/src/internal/dev/ui.js +51 -0
  77. package/dist/src/internal/dev/ui.js.map +1 -0
  78. package/dist/src/internal/renderer/context.d.ts +9 -0
  79. package/dist/src/internal/renderer/context.d.ts.map +1 -0
  80. package/dist/src/internal/renderer/context.js +22 -0
  81. package/dist/src/internal/renderer/context.js.map +1 -0
  82. package/dist/src/internal/renderer/core/FrameBuilder.d.ts +18 -0
  83. package/dist/src/internal/renderer/core/FrameBuilder.d.ts.map +1 -0
  84. package/dist/src/internal/renderer/core/FrameBuilder.js +40 -0
  85. package/dist/src/internal/renderer/core/FrameBuilder.js.map +1 -0
  86. package/dist/src/internal/renderer/core/RendererState.d.ts +41 -0
  87. package/dist/src/internal/renderer/core/RendererState.d.ts.map +1 -0
  88. package/dist/src/internal/renderer/core/RendererState.js +70 -0
  89. package/dist/src/internal/renderer/core/RendererState.js.map +1 -0
  90. package/dist/src/internal/renderer/core/index.d.ts +3 -0
  91. package/dist/src/internal/renderer/core/index.d.ts.map +1 -0
  92. package/dist/src/internal/renderer/core/index.js +3 -0
  93. package/dist/src/internal/renderer/core/index.js.map +1 -0
  94. package/dist/src/internal/renderer/index.d.ts +40 -0
  95. package/dist/src/internal/renderer/index.d.ts.map +1 -0
  96. package/dist/src/internal/renderer/index.js +518 -0
  97. package/dist/src/internal/renderer/index.js.map +1 -0
  98. package/dist/src/internal/renderer/input/InputProcessor.d.ts +30 -0
  99. package/dist/src/internal/renderer/input/InputProcessor.d.ts.map +1 -0
  100. package/dist/src/internal/renderer/input/InputProcessor.js +122 -0
  101. package/dist/src/internal/renderer/input/InputProcessor.js.map +1 -0
  102. package/dist/src/internal/renderer/input/index.d.ts +2 -0
  103. package/dist/src/internal/renderer/input/index.d.ts.map +1 -0
  104. package/dist/src/internal/renderer/input/index.js +2 -0
  105. package/dist/src/internal/renderer/input/index.js.map +1 -0
  106. package/dist/src/internal/renderer/lifecycle/EventBus.d.ts +42 -0
  107. package/dist/src/internal/renderer/lifecycle/EventBus.d.ts.map +1 -0
  108. package/dist/src/internal/renderer/lifecycle/EventBus.js +97 -0
  109. package/dist/src/internal/renderer/lifecycle/EventBus.js.map +1 -0
  110. package/dist/src/internal/renderer/lifecycle/ProcessLifecycle.d.ts +13 -0
  111. package/dist/src/internal/renderer/lifecycle/ProcessLifecycle.d.ts.map +1 -0
  112. package/dist/src/internal/renderer/lifecycle/ProcessLifecycle.js +111 -0
  113. package/dist/src/internal/renderer/lifecycle/ProcessLifecycle.js.map +1 -0
  114. package/dist/src/internal/renderer/lifecycle/RenderCache.d.ts +3 -0
  115. package/dist/src/internal/renderer/lifecycle/RenderCache.d.ts.map +1 -0
  116. package/dist/src/internal/renderer/lifecycle/RenderCache.js +9 -0
  117. package/dist/src/internal/renderer/lifecycle/RenderCache.js.map +1 -0
  118. package/dist/src/internal/renderer/lifecycle/index.d.ts +4 -0
  119. package/dist/src/internal/renderer/lifecycle/index.d.ts.map +1 -0
  120. package/dist/src/internal/renderer/lifecycle/index.js +4 -0
  121. package/dist/src/internal/renderer/lifecycle/index.js.map +1 -0
  122. package/dist/src/internal/renderer/modes/FullscreenRenderer.d.ts +12 -0
  123. package/dist/src/internal/renderer/modes/FullscreenRenderer.d.ts.map +1 -0
  124. package/dist/src/internal/renderer/modes/FullscreenRenderer.js +54 -0
  125. package/dist/src/internal/renderer/modes/FullscreenRenderer.js.map +1 -0
  126. package/dist/src/internal/renderer/modes/InlineRenderer.d.ts +25 -0
  127. package/dist/src/internal/renderer/modes/InlineRenderer.d.ts.map +1 -0
  128. package/dist/src/internal/renderer/modes/InlineRenderer.js +166 -0
  129. package/dist/src/internal/renderer/modes/InlineRenderer.js.map +1 -0
  130. package/dist/src/internal/renderer/modes/RendererMode.d.ts +42 -0
  131. package/dist/src/internal/renderer/modes/RendererMode.d.ts.map +1 -0
  132. package/dist/src/internal/renderer/modes/RendererMode.js +2 -0
  133. package/dist/src/internal/renderer/modes/RendererMode.js.map +1 -0
  134. package/dist/src/internal/renderer/modes/StaticContentRenderer.d.ts +25 -0
  135. package/dist/src/internal/renderer/modes/StaticContentRenderer.d.ts.map +1 -0
  136. package/dist/src/internal/renderer/modes/StaticContentRenderer.js +49 -0
  137. package/dist/src/internal/renderer/modes/StaticContentRenderer.js.map +1 -0
  138. package/dist/src/internal/renderer/modes/index.d.ts +5 -0
  139. package/dist/src/internal/renderer/modes/index.d.ts.map +1 -0
  140. package/dist/src/internal/renderer/modes/index.js +4 -0
  141. package/dist/src/internal/renderer/modes/index.js.map +1 -0
  142. package/dist/src/internal/renderer/terminal/KeyboardCapabilityProbe.d.ts +13 -0
  143. package/dist/src/internal/renderer/terminal/KeyboardCapabilityProbe.d.ts.map +1 -0
  144. package/dist/src/internal/renderer/terminal/KeyboardCapabilityProbe.js +75 -0
  145. package/dist/src/internal/renderer/terminal/KeyboardCapabilityProbe.js.map +1 -0
  146. package/dist/src/internal/renderer/terminal/TerminalSetup.d.ts +29 -0
  147. package/dist/src/internal/renderer/terminal/TerminalSetup.d.ts.map +1 -0
  148. package/dist/src/internal/renderer/terminal/TerminalSetup.js +82 -0
  149. package/dist/src/internal/renderer/terminal/TerminalSetup.js.map +1 -0
  150. package/dist/src/internal/renderer/terminal/index.d.ts +3 -0
  151. package/dist/src/internal/renderer/terminal/index.d.ts.map +1 -0
  152. package/dist/src/internal/renderer/terminal/index.js +3 -0
  153. package/dist/src/internal/renderer/terminal/index.js.map +1 -0
  154. package/dist/src/internal/renderer/types.d.ts +118 -0
  155. package/dist/src/internal/renderer/types.d.ts.map +1 -0
  156. package/dist/src/internal/renderer/types.js +2 -0
  157. package/dist/src/internal/renderer/types.js.map +1 -0
  158. package/dist/src/renderer-context.d.ts +1 -8
  159. package/dist/src/renderer-context.d.ts.map +1 -1
  160. package/dist/src/renderer-context.js +1 -21
  161. package/dist/src/renderer-context.js.map +1 -1
  162. package/dist/src/renderer-types.d.ts +1 -115
  163. package/dist/src/renderer-types.d.ts.map +1 -1
  164. package/dist/src/renderer.d.ts +1 -31
  165. package/dist/src/renderer.d.ts.map +1 -1
  166. package/dist/src/renderer.js +1 -495
  167. package/dist/src/renderer.js.map +1 -1
  168. package/dist/src/test/render-tui.d.ts +3 -3
  169. package/dist/src/test/render-tui.d.ts.map +1 -1
  170. package/dist/src/test/render-tui.js +16 -9
  171. package/dist/src/test/render-tui.js.map +1 -1
  172. package/dist/src/utils/alignment.d.ts +1 -1
  173. package/dist/src/utils/alignment.d.ts.map +1 -1
  174. package/dist/src/utils/alignment.js +0 -2
  175. package/dist/src/utils/alignment.js.map +1 -1
  176. package/dist/src/utils/console-helpers.d.ts +19 -0
  177. package/dist/src/utils/console-helpers.d.ts.map +1 -0
  178. package/dist/src/utils/console-helpers.js +61 -0
  179. package/dist/src/utils/console-helpers.js.map +1 -0
  180. package/dist/src/utils/index.d.ts +1 -1
  181. package/dist/src/utils/index.d.ts.map +1 -1
  182. package/dist/src/utils/index.js +1 -1
  183. package/dist/src/utils/index.js.map +1 -1
  184. package/dist/src/utils/styles.d.ts +8 -1
  185. package/dist/src/utils/styles.d.ts.map +1 -1
  186. package/dist/src/utils/styles.js +10 -8
  187. package/dist/src/utils/styles.js.map +1 -1
  188. package/dist/src/utils/text-wrap.d.ts +5 -0
  189. package/dist/src/utils/text-wrap.d.ts.map +1 -1
  190. package/dist/src/utils/text-wrap.js +110 -48
  191. package/dist/src/utils/text-wrap.js.map +1 -1
  192. package/dist/src/visualize/index.js +1 -1
  193. package/dist/src/visualize/index.js.map +1 -1
  194. package/dist/tsconfig.tsbuildinfo +1 -1
  195. package/package.json +2 -2
  196. package/src/components/ListView.tsx +21 -23
  197. package/src/console/ConsolePopover.tsx +124 -107
  198. package/src/debug/DebugOverlay.ts +15 -74
  199. package/src/debug/DiagnosticsPanel.tsx +1 -1
  200. package/src/dev.tsx +5 -458
  201. package/src/hooks/use-scroll.ts +85 -145
  202. package/src/hosts/canvas.ts +8 -11
  203. package/src/hosts/codeblock.ts +2 -2
  204. package/src/hosts/flex-container.ts +4 -4
  205. package/src/hosts/index.ts +10 -1
  206. package/src/hosts/layout-helpers.ts +20 -0
  207. package/src/hosts/leaf.ts +36 -0
  208. package/src/hosts/overlay.ts +11 -9
  209. package/src/hosts/scroll.ts +94 -69
  210. package/src/hosts/spacer.ts +2 -2
  211. package/src/hosts/text.ts +5 -58
  212. package/src/hosts/vstack.ts +1 -1
  213. package/src/hosts/zstack.ts +7 -7
  214. package/src/index.ts +1 -1
  215. package/src/internal/dev/hmr.ts +101 -0
  216. package/src/internal/dev/runtime.ts +170 -0
  217. package/src/internal/dev/ui.tsx +87 -0
  218. package/src/internal/renderer/context.ts +27 -0
  219. package/src/{renderer → internal/renderer}/core/FrameBuilder.ts +2 -2
  220. package/src/internal/renderer/index.ts +656 -0
  221. package/src/{renderer → internal/renderer}/input/InputProcessor.ts +10 -1
  222. package/src/{renderer → internal/renderer}/lifecycle/EventBus.ts +9 -1
  223. package/src/internal/renderer/lifecycle/ProcessLifecycle.ts +125 -0
  224. package/src/internal/renderer/lifecycle/index.ts +3 -0
  225. package/src/{renderer → internal/renderer}/modes/InlineRenderer.ts +5 -2
  226. package/src/{renderer → internal/renderer}/modes/RendererMode.ts +1 -1
  227. package/src/{renderer → internal/renderer}/modes/StaticContentRenderer.ts +5 -2
  228. package/src/internal/renderer/terminal/KeyboardCapabilityProbe.ts +91 -0
  229. package/src/{renderer/lifecycle → internal/renderer/terminal}/TerminalSetup.ts +4 -22
  230. package/src/internal/renderer/terminal/index.ts +2 -0
  231. package/src/internal/renderer/types.ts +125 -0
  232. package/src/renderer-context.ts +1 -27
  233. package/src/renderer-types.ts +10 -123
  234. package/src/renderer.ts +1 -619
  235. package/src/test/render-tui.ts +16 -10
  236. package/src/utils/alignment.ts +1 -3
  237. package/src/utils/console-helpers.ts +86 -0
  238. package/src/utils/index.ts +1 -1
  239. package/src/utils/styles.ts +16 -4
  240. package/src/utils/text-wrap.ts +139 -48
  241. package/src/visualize/index.tsx +1 -1
  242. package/src/renderer/lifecycle/ResizeManager.ts +0 -65
  243. package/src/renderer/lifecycle/index.ts +0 -4
  244. /package/src/{renderer → internal/renderer}/core/RendererState.ts +0 -0
  245. /package/src/{renderer → internal/renderer}/core/index.ts +0 -0
  246. /package/src/{renderer → internal/renderer}/input/index.ts +0 -0
  247. /package/src/{renderer → internal/renderer}/lifecycle/RenderCache.ts +0 -0
  248. /package/src/{renderer → internal/renderer}/modes/FullscreenRenderer.ts +0 -0
  249. /package/src/{renderer → internal/renderer}/modes/index.ts +0 -0
@@ -10,14 +10,12 @@ export function alignInRect(rect, size, hAlign = "center", vAlign = "center") {
10
10
  let y = rect.y;
11
11
  switch (hAlign) {
12
12
  case "left":
13
- case "leading":
14
13
  x = rect.x;
15
14
  break;
16
15
  case "center":
17
16
  x = rect.x + Math.floor((rect.w - size.w) / 2);
18
17
  break;
19
18
  case "right":
20
- case "trailing":
21
19
  x = rect.x + Math.max(0, rect.w - size.w);
22
20
  break;
23
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alignment.js","sourceRoot":"","sources":["../../../src/utils/alignment.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;GAGG;AACH,MAAM,UAAU,WAAW,CAC1B,IAAU,EACV,IAAU,EACV,SAAiB,QAAQ,EACzB,SAAiB,QAAQ;IAEzB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IACd,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAEd,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS;YACb,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;YACV,MAAK;QACN,KAAK,QAAQ;YACZ,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9C,MAAK;QACN,KAAK,OAAO,CAAC;QACb,KAAK,UAAU;YACd,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACzC,MAAK;IACP,CAAC;IAED,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,KAAK;YACT,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;YACV,MAAK;QACN,KAAK,QAAQ;YACZ,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9C,MAAK;QACN,KAAK,QAAQ;YACZ,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACzC,MAAK;IACP,CAAC;IAED,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC/B,IAAU,EACV,IAAU,EACV,SAAiB,QAAQ,EACzB,SAAiB,QAAQ;IAEzB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACxD,OAAO;QACN,CAAC;QACD,CAAC;QACD,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;KAC3B,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"alignment.js","sourceRoot":"","sources":["../../../src/utils/alignment.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;GAGG;AACH,MAAM,UAAU,WAAW,CAC1B,IAAU,EACV,IAAU,EACV,SAAiB,QAAQ,EACzB,SAAiB,QAAQ;IAEzB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IACd,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAEd,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,MAAM;YACV,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;YACV,MAAK;QACN,KAAK,QAAQ;YACZ,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9C,MAAK;QACN,KAAK,OAAO;YACX,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACzC,MAAK;IACP,CAAC;IAED,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,KAAK;YACT,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;YACV,MAAK;QACN,KAAK,QAAQ;YACZ,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9C,MAAK;QACN,KAAK,QAAQ;YACZ,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACzC,MAAK;IACP,CAAC;IAED,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC/B,IAAU,EACV,IAAU,EACV,SAAiB,QAAQ,EACzB,SAAiB,QAAQ;IAEzB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACxD,OAAO;QACN,CAAC;QACD,CAAC;QACD,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;KAC3B,CAAA;AACF,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface SelectionPoint {
2
+ line: number;
3
+ col: number;
4
+ }
5
+ export declare function formatTimestamp(date: Date): string;
6
+ export declare function formatLocation(loc?: {
7
+ file: string;
8
+ line: number;
9
+ }): string;
10
+ export declare function wrapLine(text: string, maxWidth: number): string[];
11
+ /** Normalize selection so start is before end */
12
+ export declare function normalizeSelection(anchor: SelectionPoint, head: SelectionPoint): [SelectionPoint, SelectionPoint];
13
+ /** Get selection bounds for a specific line */
14
+ export declare function getLineSelection(lineIndex: number, lineLength: number, start: SelectionPoint, end: SelectionPoint): {
15
+ startCol: number;
16
+ endCol: number;
17
+ } | null;
18
+ export declare function getSelectionText(lines: string[], start: SelectionPoint, end: SelectionPoint): string;
19
+ //# sourceMappingURL=console-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/console-helpers.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACX;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAKlD;AAED,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAK3E;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAuBjE;AAED,iDAAiD;AACjD,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GAClB,CAAC,cAAc,EAAE,cAAc,CAAC,CAKlC;AAED,+CAA+C;AAC/C,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,cAAc,GACjB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS7C;AAED,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,cAAc,GACjB,MAAM,CASR"}
@@ -0,0 +1,61 @@
1
+ export function formatTimestamp(date) {
2
+ const h = date.getHours().toString().padStart(2, "0");
3
+ const m = date.getMinutes().toString().padStart(2, "0");
4
+ const s = date.getSeconds().toString().padStart(2, "0");
5
+ return `${h}:${m}:${s}`;
6
+ }
7
+ export function formatLocation(loc) {
8
+ if (!loc)
9
+ return "";
10
+ const parts = loc.file.split("/");
11
+ const filename = parts[parts.length - 1];
12
+ return `${filename}:${loc.line}`;
13
+ }
14
+ export function wrapLine(text, maxWidth) {
15
+ if (text.length <= maxWidth)
16
+ return [text];
17
+ const lines = [];
18
+ let remaining = text;
19
+ while (remaining.length > 0) {
20
+ if (remaining.length <= maxWidth) {
21
+ lines.push(remaining);
22
+ break;
23
+ }
24
+ let breakAt = maxWidth;
25
+ const lastSpace = remaining.lastIndexOf(" ", maxWidth);
26
+ if (lastSpace > maxWidth * 0.5) {
27
+ breakAt = lastSpace;
28
+ }
29
+ lines.push(remaining.slice(0, breakAt));
30
+ remaining = remaining.slice(breakAt).trimStart();
31
+ }
32
+ return lines;
33
+ }
34
+ /** Normalize selection so start is before end */
35
+ export function normalizeSelection(anchor, head) {
36
+ if (anchor.line < head.line || (anchor.line === head.line && anchor.col <= head.col)) {
37
+ return [anchor, head];
38
+ }
39
+ return [head, anchor];
40
+ }
41
+ /** Get selection bounds for a specific line */
42
+ export function getLineSelection(lineIndex, lineLength, start, end) {
43
+ if (lineIndex < start.line || lineIndex > end.line)
44
+ return null;
45
+ const startCol = lineIndex === start.line ? Math.min(start.col, lineLength) : 0;
46
+ const endCol = lineIndex === end.line ? Math.min(end.col, lineLength) : lineLength;
47
+ if (startCol >= endCol && lineIndex === start.line && lineIndex === end.line)
48
+ return null;
49
+ return { startCol, endCol };
50
+ }
51
+ export function getSelectionText(lines, start, end) {
52
+ const selected = [];
53
+ for (let i = start.line; i <= end.line && i < lines.length; i++) {
54
+ const lineText = lines[i] ?? "";
55
+ const startCol = i === start.line ? Math.min(start.col, lineText.length) : 0;
56
+ const endCol = i === end.line ? Math.min(end.col, lineText.length) : lineText.length;
57
+ selected.push(lineText.slice(startCol, endCol));
58
+ }
59
+ return selected.join("\n");
60
+ }
61
+ //# sourceMappingURL=console-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-helpers.js","sourceRoot":"","sources":["../../../src/utils/console-helpers.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@ export { type BorderChars, type BorderKind, borderChars, type ClipRect, drawBord
3
3
  export { type FlexAlignment, type FlexAxis, type FlexMeasureResult, layoutFlex, measureFlex } from "./flex-layout.js";
4
4
  export { type Padding, type PaddingInput, resolvePadding } from "./padding.js";
5
5
  export { fillRectWithInheritedBg, resolveBgStyle, resolveInheritedBgStyle, type StyleInput, type StyleOptions, styleIdFromProps, styleSpecFromProps, toColorValue, } from "./styles.js";
6
- export { wrapSpans } from "./text-wrap.js";
6
+ export { wrapSpans, wrapText } from "./text-wrap.js";
7
7
  export { isWhitespace, matchNextWord, matchPrevWord, splitWords } from "./word-boundaries.js";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACxF,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,WAAW,EACX,KAAK,QAAQ,EACb,UAAU,EACV,KAAK,gBAAgB,EACrB,gBAAgB,GAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACrH,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EACN,uBAAuB,EACvB,cAAc,EACd,uBAAuB,EACvB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GACZ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACxF,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,WAAW,EACX,KAAK,QAAQ,EACb,UAAU,EACV,KAAK,gBAAgB,EACrB,gBAAgB,GAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACrH,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EACN,uBAAuB,EACvB,cAAc,EACd,uBAAuB,EACvB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GACZ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA"}
@@ -3,6 +3,6 @@ export { borderChars, drawBorder, tableBorderChars, } from "./border.js";
3
3
  export { layoutFlex, measureFlex } from "./flex-layout.js";
4
4
  export { resolvePadding } from "./padding.js";
5
5
  export { fillRectWithInheritedBg, resolveBgStyle, resolveInheritedBgStyle, styleIdFromProps, styleSpecFromProps, toColorValue, } from "./styles.js";
6
- export { wrapSpans } from "./text-wrap.js";
6
+ export { wrapSpans, wrapText } from "./text-wrap.js";
7
7
  export { isWhitespace, matchNextWord, matchPrevWord, splitWords } from "./word-boundaries.js";
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAA4B,MAAM,gBAAgB,CAAA;AACxF,OAAO,EAGN,WAAW,EAEX,UAAU,EAEV,gBAAgB,GAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EAA6D,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACrH,OAAO,EAAmC,cAAc,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EACN,uBAAuB,EACvB,cAAc,EACd,uBAAuB,EAGvB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GACZ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAA4B,MAAM,gBAAgB,CAAA;AACxF,OAAO,EAGN,WAAW,EAEX,UAAU,EAEV,gBAAgB,GAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EAA6D,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACrH,OAAO,EAAmC,cAAc,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EACN,uBAAuB,EACvB,cAAc,EACd,uBAAuB,EAGvB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GACZ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA"}
@@ -46,5 +46,12 @@ export declare function resolveInheritedBgStyle(palette: Palette, explicitBg: Co
46
46
  /**
47
47
  * Fill a rect with background color, inheriting from parent if needed.
48
48
  */
49
- export declare function fillRectWithInheritedBg(buffer: CellBuffer, palette: Palette, rect: Rect, explicitBg: Color | undefined, parent: HostInstance | null): void;
49
+ export interface FillRectWithInheritedBgOptions {
50
+ /** Skip filling when there is no inherited background value. */
51
+ skipWhenUndefined?: boolean;
52
+ }
53
+ export declare function fillRectWithInheritedBg(buffer: CellBuffer, palette: Palette, rect: Rect, explicitBg: Color | undefined, parent: HostInstance | null, options?: FillRectWithInheritedBgOptions): {
54
+ value?: ColorValue;
55
+ styleId: number;
56
+ };
50
57
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/utils/styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGzF,MAAM,WAAW,YAAY;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IAC1B,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAGzE;AAED,yDAAyD;AACzD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAe3E;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAE5E;AAED,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAIpG;AAGD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAElD;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,KAAK,GAAG,SAAS,EAC7B,MAAM,EAAE,YAAY,GAAG,IAAI,GACzB;IAAE,KAAK,CAAC,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAGzC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,KAAK,GAAG,SAAS,EAC7B,MAAM,EAAE,YAAY,GAAG,IAAI,GACzB,IAAI,CAIN"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/utils/styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGzF,MAAM,WAAW,YAAY;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IAC1B,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAGzE;AAED,yDAAyD;AACzD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAe3E;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAE5E;AAED,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAIpG;AAGD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAElD;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,KAAK,GAAG,SAAS,EAC7B,MAAM,EAAE,YAAY,GAAG,IAAI,GACzB;IAAE,KAAK,CAAC,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAGzC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC9C,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,KAAK,GAAG,SAAS,EAC7B,MAAM,EAAE,YAAY,GAAG,IAAI,EAC3B,OAAO,CAAC,EAAE,8BAA8B,GACtC;IAAE,KAAK,CAAC,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAUzC"}
@@ -50,13 +50,15 @@ export function resolveInheritedBgStyle(palette, explicitBg, parent) {
50
50
  const bg = explicitBg ?? getInheritedBg(parent);
51
51
  return resolveBgStyle(palette, bg);
52
52
  }
53
- /**
54
- * Fill a rect with background color, inheriting from parent if needed.
55
- */
56
- export function fillRectWithInheritedBg(buffer, palette, rect, explicitBg, parent) {
57
- if (rect.w <= 0 || rect.h <= 0)
58
- return;
59
- const { styleId } = resolveInheritedBgStyle(palette, explicitBg, parent);
60
- buffer.fillRect(rect.x, rect.y, rect.w, rect.h, " ".codePointAt(0), styleId);
53
+ export function fillRectWithInheritedBg(buffer, palette, rect, explicitBg, parent, options) {
54
+ if (rect.w <= 0 || rect.h <= 0) {
55
+ return { value: undefined, styleId: 0 };
56
+ }
57
+ const resolved = resolveInheritedBgStyle(palette, explicitBg, parent);
58
+ if (options?.skipWhenUndefined && resolved.value === undefined) {
59
+ return resolved;
60
+ }
61
+ buffer.fillRect(rect.x, rect.y, rect.w, rect.h, " ".codePointAt(0), resolved.styleId);
62
+ return resolved;
61
63
  }
62
64
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/utils/styles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/utils/styles.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,10 @@ type SpanLike = {
6
6
  * Preserves span styling by cloning span objects with updated text.
7
7
  */
8
8
  export declare function wrapSpans<T extends SpanLike>(spans: T[], maxWidth: number): T[][];
9
+ /**
10
+ * Wrap plain text into lines, breaking at word boundaries.
11
+ * Trims trailing whitespace when a line breaks.
12
+ */
13
+ export declare function wrapText(text: string, maxWidth: number): string[];
9
14
  export {};
10
15
  //# sourceMappingURL=text-wrap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-wrap.d.ts","sourceRoot":"","sources":["../../../src/utils/text-wrap.ts"],"names":[],"mappings":"AAGA,KAAK,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhC;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CAyDjF"}
1
+ {"version":3,"file":"text-wrap.d.ts","sourceRoot":"","sources":["../../../src/utils/text-wrap.ts"],"names":[],"mappings":"AAGA,KAAK,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAyGhC;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CAejF;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAwBjE"}
@@ -1,65 +1,127 @@
1
1
  import { displayWidth } from "@effect-tui/core";
2
2
  import { isWhitespace, splitWords } from "./word-boundaries.js";
3
- /**
4
- * Wrap spans into lines, breaking at word boundaries.
5
- * Preserves span styling by cloning span objects with updated text.
6
- */
7
- export function wrapSpans(spans, maxWidth) {
3
+ function wrapTokens(tokens, maxWidth, options) {
8
4
  const lines = [[]];
9
5
  let lineWidth = 0;
10
- for (const span of spans) {
11
- // Split span text into words (keeping whitespace as separate tokens)
12
- const tokens = splitWords(span.text);
13
- for (const token of tokens) {
14
- if (!token)
15
- continue;
16
- const tokenWidth = displayWidth(token);
17
- const isWs = isWhitespace(token);
18
- if (lineWidth + tokenWidth <= maxWidth) {
19
- // Token fits on current line
20
- lines[lines.length - 1].push({ ...span, text: token });
21
- lineWidth += tokenWidth;
6
+ const trimLine = () => {
7
+ if (!options?.trimTrailingWhitespace)
8
+ return;
9
+ const line = lines[lines.length - 1];
10
+ while (line.length > 0 && line[line.length - 1].isWhitespace) {
11
+ const removed = line.pop();
12
+ if (removed) {
13
+ lineWidth -= removed.width;
22
14
  }
23
- else if (isWs) {
24
- // Skip whitespace at line break
25
- continue;
15
+ }
16
+ };
17
+ const startNewLine = () => {
18
+ lines.push([]);
19
+ lineWidth = 0;
20
+ };
21
+ const addToken = (token, text, width, isWhitespace) => {
22
+ lines[lines.length - 1].push({ value: token.make(text), width, isWhitespace });
23
+ lineWidth += width;
24
+ };
25
+ for (const token of tokens) {
26
+ if (!token.text)
27
+ continue;
28
+ const tokenWidth = token.width;
29
+ const isWs = token.isWhitespace;
30
+ if (lineWidth + tokenWidth <= maxWidth) {
31
+ addToken(token, token.text, tokenWidth, isWs);
32
+ continue;
33
+ }
34
+ if (isWs) {
35
+ // Skip whitespace at line break
36
+ continue;
37
+ }
38
+ if (tokenWidth <= maxWidth) {
39
+ trimLine();
40
+ if (lines[lines.length - 1].length > 0) {
41
+ startNewLine();
26
42
  }
27
- else if (tokenWidth <= maxWidth) {
28
- // Start new line with this token
29
- lines.push([{ ...span, text: token }]);
30
- lineWidth = tokenWidth;
43
+ addToken(token, token.text, tokenWidth, isWs);
44
+ continue;
45
+ }
46
+ // Token is longer than maxWidth - break by character
47
+ trimLine();
48
+ if (lines[lines.length - 1].length > 0) {
49
+ startNewLine();
50
+ }
51
+ let segment = "";
52
+ let segmentWidth = 0;
53
+ for (const ch of token.text) {
54
+ const chWidth = displayWidth(ch);
55
+ if (lineWidth + segmentWidth + chWidth > maxWidth && (segment || lineWidth > 0)) {
56
+ if (segment) {
57
+ addToken(token, segment, segmentWidth, false);
58
+ }
59
+ startNewLine();
60
+ segment = ch;
61
+ segmentWidth = chWidth;
31
62
  }
32
63
  else {
33
- // Token is longer than maxWidth - break by character
34
- let charLine = "";
35
- let charLineWidth = 0;
36
- for (const ch of token) {
37
- const chWidth = displayWidth(ch);
38
- if (lineWidth + charLineWidth + chWidth > maxWidth && (charLine || lineWidth > 0)) {
39
- if (charLine) {
40
- lines[lines.length - 1].push({ ...span, text: charLine });
41
- }
42
- lines.push([]);
43
- lineWidth = 0;
44
- charLine = ch;
45
- charLineWidth = chWidth;
46
- }
47
- else {
48
- charLine += ch;
49
- charLineWidth += chWidth;
50
- }
51
- }
52
- if (charLine) {
53
- lines[lines.length - 1].push({ ...span, text: charLine });
54
- lineWidth += charLineWidth;
55
- }
64
+ segment += ch;
65
+ segmentWidth += chWidth;
56
66
  }
57
67
  }
68
+ if (segment) {
69
+ addToken(token, segment, segmentWidth, false);
70
+ }
58
71
  }
59
72
  // Remove empty lines at the end
60
73
  while (lines.length > 0 && lines[lines.length - 1].length === 0) {
61
74
  lines.pop();
62
75
  }
63
- return lines.length > 0 ? lines : [[]];
76
+ return lines.length > 0 ? lines.map((line) => line.map((token) => token.value)) : [[]];
77
+ }
78
+ /**
79
+ * Wrap spans into lines, breaking at word boundaries.
80
+ * Preserves span styling by cloning span objects with updated text.
81
+ */
82
+ export function wrapSpans(spans, maxWidth) {
83
+ const tokens = [];
84
+ for (const span of spans) {
85
+ for (const token of splitWords(span.text)) {
86
+ if (!token)
87
+ continue;
88
+ tokens.push({
89
+ text: token,
90
+ width: displayWidth(token),
91
+ isWhitespace: isWhitespace(token),
92
+ make: (text) => ({ ...span, text }),
93
+ });
94
+ }
95
+ }
96
+ return wrapTokens(tokens, maxWidth);
97
+ }
98
+ /**
99
+ * Wrap plain text into lines, breaking at word boundaries.
100
+ * Trims trailing whitespace when a line breaks.
101
+ */
102
+ export function wrapText(text, maxWidth) {
103
+ const lines = [];
104
+ for (const rawLine of text.split("\n")) {
105
+ if (rawLine === "") {
106
+ lines.push("");
107
+ continue;
108
+ }
109
+ const tokens = [];
110
+ for (const token of splitWords(rawLine)) {
111
+ if (!token)
112
+ continue;
113
+ tokens.push({
114
+ text: token,
115
+ width: displayWidth(token),
116
+ isWhitespace: isWhitespace(token),
117
+ make: (segment) => segment,
118
+ });
119
+ }
120
+ const wrapped = wrapTokens(tokens, maxWidth, { trimTrailingWhitespace: true });
121
+ for (const line of wrapped) {
122
+ lines.push(line.join(""));
123
+ }
124
+ }
125
+ return lines.length > 0 ? lines : [""];
64
126
  }
65
127
  //# sourceMappingURL=text-wrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-wrap.js","sourceRoot":"","sources":["../../../src/utils/text-wrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-wrap.js","sourceRoot":"","sources":["../../../src/utils/text-wrap.ts"],"names":[],"mappings":"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"}
@@ -165,7 +165,7 @@ export const visualize = (label, effect, options) => Effect.gen(function* () {
165
165
  ? { status: "success", elapsedMs: Date.now() - startTime, result: exit.value }
166
166
  : { status: "failure", elapsedMs: Date.now() - startTime, errorSummary: summarizeCause(exit.cause) });
167
167
  renderer.requestRender();
168
- renderer.flush(); // Ensure final state is rendered
168
+ renderer.renderNow(); // Ensure final state is rendered
169
169
  // Wait for completion animation
170
170
  yield* Effect.sleep(COMPLETION_DELAY_MS);
171
171
  // Stop renderer (doesn't touch terminal state since skipTerminalSetup)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/visualize/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/visualize/index.tsx"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,+EAA+E;AAE/E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACrF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3D,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAA;AAC9D,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAC3B,MAAM,mBAAmB,GAAG,EAAE,CAAA;AAC9B,MAAM,mBAAmB,GAAG,GAAG,CAAA;AAS/B,gDAAgD;AAChD,MAAM,eAAe;IACpB,MAAM,GAAqB,SAAS,CAAA;IACpC,YAAY,GAAG,CAAC,CAAA;IAChB,SAAS,GAAG,CAAC,CAAA;IACb,YAAY,CAAS;IACrB,MAAM,CAAU;IAChB,UAAU,GAAG,KAAK,CAAA;IACV,SAAS,GAAG,IAAI,GAAG,EAAc,CAAA;IAEzC,MAAM,CACL,KAEC;QAED,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC1B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IACnC,CAAC;IAED,SAAS,CAAC,QAAoB;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC5B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7C,CAAC;CACD;AAED,MAAM,cAAc,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAE5G,MAAM,YAAY,GAAG,CAAC,KAAc,EAAU,EAAE;IAC/C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,WAAW,CAAA;IAC3C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAA;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACjF,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;AACF,CAAC,CAAA;AAQD,MAAM,cAAc,GAAG,CAAC,KAA2B,EAAU,EAAE;IAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC3B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACjF,MAAM,MAAM,GAAG,KAAoB,CAAA;YACnC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YACnD,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACpE,CAAC;QACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YAC9D,OAAO,MAAM,CAAE,KAA8B,CAAC,OAAO,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAA;IAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACnF,OAAO,SAAS,IAAI,iBAAiB,CAAA;AACtC,CAAC,CAAA;AAED,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAA6C;IAC9E,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEnC,SAAS,CAAC,GAAG,EAAE;QACd,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAE/C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CACN,6BACC,kBAAQ,OAAO,EAAE,CAAC,aACjB,eAAM,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,YAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,GAAQ,EAC7E,eAAM,IAAI,QAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,YACpC,KAAK,GACA,IACC,EACT,gBAAM,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,sCAAc,OAAO,IAAQ,IACnD,CACT,CAAA;IACF,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAA;QACpE,OAAO,CACN,6BACC,kBAAQ,OAAO,EAAE,CAAC,aACjB,eAAM,IAAI,QAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,uBAE/B,EACP,eAAM,IAAI,QAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,YACpC,KAAK,GACA,IACC,EACR,aAAa,IAAI,gBAAM,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAK,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAQ,EACvF,gBAAM,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,aACzB,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,oBAAgB,OAAO,IAC3C,IACC,CACT,CAAA;IACF,CAAC;IAED,UAAU;IACV,OAAO,CACN,6BACC,kBAAQ,OAAO,EAAE,CAAC,aACjB,eAAM,IAAI,QAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,uBAE7B,EACP,eAAM,IAAI,QAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,YAClC,KAAK,GACA,IACC,EACT,gBAAM,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAK,KAAK,CAAC,YAAY,IAAI,QAAQ,IAAQ,EACpE,gBAAM,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,qCAAkB,OAAO,IAAQ,IAClD,CACT,CAAA;AACF,CAAC;AAWD;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,EAG9E;CAAG;AAEN;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA+B,KAAK,CAAC,MAAM,CACxE,aAAa,EACb,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAE3B,sCAAsC;IACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACtB,KAAK,CAAC,MAAM,EAAE,CAAA;IACf,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QAChB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;QACD,+BAA+B;QAC/B,KAAK,CAAC,KAAK,EAAE,CAAA;IACd,CAAC,CAAC,CACF,CAAA;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;AACzB,CAAC,CAAC,CACF,CAAA;AAED,+EAA+E;AAC/E,2CAA2C;AAC3C,+EAA+E;AAE/E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,KAAa,EACb,MAA8B,EAC9B,OAA0B,EACe,EAAE,CAC3C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CAAA;IAE9C,wEAAwE;IACxE,MAAM,QAAQ,GAAG,cAAc,CAAC;QAC/B,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,KAAK;QACL,iBAAiB,EAAE,IAAI;KACvB,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEjC,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAA;IACnC,KAAK,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,CAAA;IAE/C,wBAAwB;IACxB,IAAI,CAAC,MAAM,CAAC,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC,CAAA;IAEvD,qBAAqB;IACrB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACtC,MAAM,CAAC,OAAO,CACb,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACrC,KAAK,CAAC,MAAM,CAAC;YACZ,YAAY,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM;SAC9D,CAAC,CAAA;QACF,QAAQ,CAAC,aAAa,EAAE,CAAA;IACzB,CAAC,CAAC,CACF,CACD,CAAA;IAED,gEAAgE;IAChE,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACtC,MAAM,CAAC,OAAO,CACb,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACxC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA;QACnD,QAAQ,CAAC,aAAa,EAAE,CAAA;IACzB,CAAC,CAAC,CACF,CACD,CAAA;IAED,wBAAwB;IACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEvC,sCAAsC;IACtC,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IACpC,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACtC,KAAK,CAAC,MAAM,CACX,SAAS;QACR,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;QAC9E,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACrG,CAAA;IACD,QAAQ,CAAC,aAAa,EAAE,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,CAAA,CAAC,iCAAiC;IAEtD,gCAAgC;IAChC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAExC,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,CAAA;IAEf,kDAAkD;IAClD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAElB,qCAAqC;IACrC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAA;IAC3C,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC3C,CAAC,CAAC,CAAA"}