@visulima/tui 1.0.0-alpha.22 → 1.0.0-alpha.24

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 (307) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +17 -0
  3. package/dist/components/accordion.js +1 -1
  4. package/dist/components/alert.js +1 -1
  5. package/dist/components/animate-presence.js +1 -1
  6. package/dist/components/approval-prompt.js +1 -1
  7. package/dist/components/area-chart.js +1 -1
  8. package/dist/components/badge.js +1 -1
  9. package/dist/components/bar-chart.js +1 -1
  10. package/dist/components/big-text.js +1 -1
  11. package/dist/components/blink-dot.js +1 -1
  12. package/dist/components/box.d.ts +1 -1
  13. package/dist/components/breadcrumb.js +1 -1
  14. package/dist/components/button.js +1 -1
  15. package/dist/components/calendar.js +1 -1
  16. package/dist/components/canvas.d.ts +1 -1
  17. package/dist/components/canvas.js +1 -1
  18. package/dist/components/card.js +1 -1
  19. package/dist/components/checkbox.js +1 -1
  20. package/dist/components/code.js +2 -2
  21. package/dist/components/collapsible.js +1 -1
  22. package/dist/components/command-block.js +4 -4
  23. package/dist/components/command-palette.js +1 -1
  24. package/dist/components/confirm-dialog.js +1 -1
  25. package/dist/components/confirm-input.js +1 -1
  26. package/dist/components/console-overlay.js +1 -1
  27. package/dist/components/content-switcher.js +1 -1
  28. package/dist/components/controlled-scroll-view.d.ts +1 -1
  29. package/dist/components/controlled-scroll-view.js +1 -1
  30. package/dist/components/cursor.d.ts +1 -1
  31. package/dist/components/cursor.js +1 -1
  32. package/dist/components/date-picker.js +1 -1
  33. package/dist/components/definition-list.js +1 -1
  34. package/dist/components/dialog.d.ts +1 -1
  35. package/dist/components/dialog.js +1 -1
  36. package/dist/components/diff-view.js +1 -1
  37. package/dist/components/divider.js +1 -1
  38. package/dist/components/file-picker-entry.js +1 -1
  39. package/dist/components/form.js +1 -1
  40. package/dist/components/gauge.js +1 -1
  41. package/dist/components/gradient.js +1 -1
  42. package/dist/components/heading.js +1 -1
  43. package/dist/components/heatmap.js +1 -1
  44. package/dist/components/help.js +1 -1
  45. package/dist/components/histogram.js +1 -1
  46. package/dist/components/kbd.js +1 -1
  47. package/dist/components/line-chart.js +1 -1
  48. package/dist/components/link.js +1 -1
  49. package/dist/components/loading-indicator.js +1 -1
  50. package/dist/components/markdown.js +1 -1
  51. package/dist/components/masked-input.js +1 -1
  52. package/dist/components/menu.js +1 -1
  53. package/dist/components/message-bubble.js +1 -1
  54. package/dist/components/model-badge.js +1 -1
  55. package/dist/components/multi-select.js +1 -1
  56. package/dist/components/newline.js +2 -2
  57. package/dist/components/operation-tree.js +1 -1
  58. package/dist/components/option-list.js +1 -1
  59. package/dist/components/ordered-list.js +1 -1
  60. package/dist/components/paginator.js +1 -1
  61. package/dist/components/paragraph.js +1 -1
  62. package/dist/components/placeholder.js +1 -1
  63. package/dist/components/progress-bar.js +1 -1
  64. package/dist/components/radio-group.js +1 -1
  65. package/dist/components/scatter-plot.js +1 -1
  66. package/dist/components/scroll-bar-box.d.ts +1 -1
  67. package/dist/components/scroll-bar-box.js +1 -1
  68. package/dist/components/scroll-bar.d.ts +1 -1
  69. package/dist/components/scroll-bar.js +1 -1
  70. package/dist/components/scroll-list.d.ts +1 -1
  71. package/dist/components/scroll-list.js +1 -1
  72. package/dist/components/scroll-view.d.ts +1 -1
  73. package/dist/components/scroll-view.js +1 -1
  74. package/dist/components/search-input.js +1 -1
  75. package/dist/components/select-input-indicator.js +1 -1
  76. package/dist/components/select-input-item.js +1 -1
  77. package/dist/components/select-input.js +1 -1
  78. package/dist/components/shimmer-text.js +1 -1
  79. package/dist/components/slider.js +1 -1
  80. package/dist/components/spacer.js +1 -1
  81. package/dist/components/sparkline.js +1 -1
  82. package/dist/components/spinner.js +1 -1
  83. package/dist/components/static-render.d.ts +1 -1
  84. package/dist/components/static-render.js +1 -1
  85. package/dist/components/static.js +1 -1
  86. package/dist/components/status-line.js +1 -1
  87. package/dist/components/status-message.js +1 -1
  88. package/dist/components/stepper.js +1 -1
  89. package/dist/components/stopwatch.js +1 -1
  90. package/dist/components/streaming-text.js +1 -1
  91. package/dist/components/switch.js +1 -1
  92. package/dist/components/tab.js +1 -1
  93. package/dist/components/table.js +1 -1
  94. package/dist/components/tabs.js +1 -1
  95. package/dist/components/tag.js +1 -1
  96. package/dist/components/text-input.js +1 -1
  97. package/dist/components/text.js +1 -1
  98. package/dist/components/textarea.js +2 -2
  99. package/dist/components/timer.js +1 -1
  100. package/dist/components/toast.js +1 -1
  101. package/dist/components/tooltip.js +1 -1
  102. package/dist/components/transform.js +1 -1
  103. package/dist/components/transition.js +1 -1
  104. package/dist/components/tree-view-entry.d.ts +1 -1
  105. package/dist/components/tree-view-entry.js +1 -1
  106. package/dist/components/unordered-list.js +1 -1
  107. package/dist/core/index.js +1 -1
  108. package/dist/ink/hooks/use-animation.js +1 -1
  109. package/dist/ink/hooks/use-app.js +1 -1
  110. package/dist/ink/hooks/use-box-metrics.d.ts +1 -1
  111. package/dist/ink/hooks/use-box-metrics.js +1 -1
  112. package/dist/ink/hooks/use-clipboard.js +1 -1
  113. package/dist/ink/hooks/use-color-blindness.js +1 -1
  114. package/dist/ink/hooks/use-console-capture.js +1 -1
  115. package/dist/ink/hooks/use-cursor.js +1 -1
  116. package/dist/ink/hooks/use-focus-manager.js +1 -1
  117. package/dist/ink/hooks/use-focus.js +1 -1
  118. package/dist/ink/hooks/use-form.js +1 -1
  119. package/dist/ink/hooks/use-hotkey.js +1 -1
  120. package/dist/ink/hooks/use-input.js +2 -2
  121. package/dist/ink/hooks/use-interval.js +1 -1
  122. package/dist/ink/hooks/use-is-screen-reader-enabled.js +1 -1
  123. package/dist/ink/hooks/use-key-bindings.js +1 -1
  124. package/dist/ink/hooks/use-key-chord.js +1 -1
  125. package/dist/ink/hooks/use-linked-scroll.d.ts +1 -1
  126. package/dist/ink/hooks/use-linked-scroll.js +1 -1
  127. package/dist/ink/hooks/use-paste.js +1 -1
  128. package/dist/ink/hooks/use-persistent-state.d.ts +12 -3
  129. package/dist/ink/hooks/use-persistent-state.js +2 -2
  130. package/dist/ink/hooks/use-scroll-acceleration.js +1 -1
  131. package/dist/ink/hooks/use-scroll-input.js +1 -1
  132. package/dist/ink/hooks/use-stderr.js +1 -1
  133. package/dist/ink/hooks/use-stdin.js +1 -1
  134. package/dist/ink/hooks/use-stdout.js +1 -1
  135. package/dist/ink/hooks/use-stopwatch.js +1 -1
  136. package/dist/ink/hooks/use-terminal-palette.js +1 -1
  137. package/dist/ink/hooks/use-text-buffer.js +4 -4
  138. package/dist/ink/hooks/use-text-selection.d.ts +2 -2
  139. package/dist/ink/hooks/use-text-selection.js +1 -1
  140. package/dist/ink/hooks/use-timeout.js +1 -1
  141. package/dist/ink/hooks/use-timer.js +1 -1
  142. package/dist/ink/hooks/use-window-size.js +1 -1
  143. package/dist/ink/index.d.ts +17 -62
  144. package/dist/ink/index.js +1 -1
  145. package/dist/ink/mouse/use-element-position.d.ts +31 -0
  146. package/dist/ink/mouse/use-element-position.js +1 -0
  147. package/dist/ink/mouse/use-mouse-action.d.ts +5 -0
  148. package/dist/ink/mouse/use-mouse-action.js +1 -0
  149. package/dist/ink/mouse/use-mouse-position.d.ts +5 -0
  150. package/dist/ink/mouse/use-mouse-position.js +1 -0
  151. package/dist/ink/mouse/use-mouse.d.ts +5 -0
  152. package/dist/ink/mouse/use-mouse.js +1 -0
  153. package/dist/ink/mouse/use-on-mouse-click.d.ts +16 -0
  154. package/dist/ink/mouse/use-on-mouse-click.js +1 -0
  155. package/dist/ink/mouse/use-on-mouse-hover.d.ts +10 -0
  156. package/dist/ink/mouse/use-on-mouse-hover.js +1 -0
  157. package/dist/ink/mouse/use-on-mouse-state.d.ts +13 -0
  158. package/dist/ink/mouse/use-on-mouse-state.js +1 -0
  159. package/dist/packem_chunks/devtools.js +1 -1
  160. package/dist/packem_shared/COLOR_BLINDNESS_COMPENSATION-Ilnoyeqc.js +1 -0
  161. package/dist/packem_shared/ControlledScrollView-BoN5Oi-p.js +1 -0
  162. package/dist/packem_shared/DevTools-k6uiVzqv.js +1 -0
  163. package/dist/packem_shared/FilePicker-BLS9nOPz.js +1 -0
  164. package/dist/packem_shared/FocusContext-C2Sosxa4.js +1 -0
  165. package/dist/packem_shared/Fullscreen-BRhuBLBh.js +1 -0
  166. package/dist/packem_shared/IMECompositionBuffer-VhC9HRCv.js +1 -0
  167. package/dist/packem_shared/InputParser-CtwkCbrQ.js +2 -0
  168. package/dist/packem_shared/KEY-C--kOw41.js +1 -0
  169. package/dist/packem_shared/LayoutNode-LPYsuzBg.js +1 -0
  170. package/dist/packem_shared/MouseProvider-DUqQ3Eaa.js +1 -0
  171. package/dist/packem_shared/NAMED_COLORS-82DpREQV.js +1 -0
  172. package/dist/packem_shared/Range-BsVYNWtg.js +1 -0
  173. package/dist/packem_shared/Renderer-DsskdkUd.js +1 -0
  174. package/dist/packem_shared/ResizeObserver-aX8XOr2u.js +1 -0
  175. package/dist/packem_shared/ScrollBar-BKCK8jsb.js +1 -0
  176. package/dist/packem_shared/ScrollBarBox-CBhLo6eZ.js +1 -0
  177. package/dist/packem_shared/ScrollList-DyFyVs6I.js +1 -0
  178. package/dist/packem_shared/ScrollView-BEgrtSnt.js +1 -0
  179. package/dist/packem_shared/Static-DSzsElz4.js +1 -0
  180. package/dist/packem_shared/TreeNodeMap-cJlYqckB.js +1 -0
  181. package/dist/packem_shared/TreeView-BsvLCsf0.js +1 -0
  182. package/dist/packem_shared/TuiApp-BPL8v1i1.js +1 -0
  183. package/dist/packem_shared/TuiContext-BNmP0lMY.js +3 -0
  184. package/dist/packem_shared/ansi-parser-DlgLtOYO.js +1 -0
  185. package/dist/packem_shared/ansi-tokenizer-BU67A126.js +1 -0
  186. package/dist/packem_shared/braille-ch3O5D7I.js +1 -0
  187. package/dist/packem_shared/calculateScroll-D4Y_JR4H.js +1 -0
  188. package/dist/packem_shared/calculateScrollbarLayout--eUVRLw7.js +1 -0
  189. package/dist/packem_shared/clearOsc52-BUpnQOav.js +1 -0
  190. package/dist/packem_shared/clearStringWidthCache-DKFjfJuB.js +1 -0
  191. package/dist/packem_shared/colorize-DU4YZkp3.js +1 -0
  192. package/dist/packem_shared/controlled-scroll-view-t55HU9L8.js +1 -0
  193. package/dist/packem_shared/createInlineLoop-BT40Wpmx.js +2 -0
  194. package/dist/packem_shared/createScreen-DoYpyL0V.js +3 -0
  195. package/dist/packem_shared/dom-rphpG0kf.js +1 -0
  196. package/dist/packem_shared/{dom.d-DzUPFLuP.d.ts → dom.d-B4kXbaVY.d.ts} +36 -1
  197. package/dist/packem_shared/format-time-fjoQHMxD.js +1 -0
  198. package/dist/packem_shared/{getPathToRoot-BuAM_kmj.js → getPathToRoot-PDJeqiEH.js} +1 -1
  199. package/dist/packem_shared/input-utils-BSWCb4F_.js +1 -0
  200. package/dist/packem_shared/isIntersecting-Bo2npvMR.js +1 -0
  201. package/dist/packem_shared/isTerminalPaletteQuerySupported-BYzmqq9-.js +1 -0
  202. package/dist/packem_shared/kittyFlags-g8ALyoCU.js +1 -0
  203. package/dist/packem_shared/line-chart-C7CUrvVs.js +1 -0
  204. package/dist/packem_shared/load-native-root-binding-DDikxNox.js +1 -0
  205. package/dist/packem_shared/measure-element-Cs7_proT.js +2 -0
  206. package/dist/packem_shared/measure-text-B7juNq4Y.js +3 -0
  207. package/dist/packem_shared/mouse-context.d-BfL9xGk_.d.ts +30 -0
  208. package/dist/packem_shared/parseSgrMouse-bUrqPrh-.js +1 -0
  209. package/dist/packem_shared/processLayout-tAee0ytT.js +1 -0
  210. package/dist/packem_shared/reconciler-ClpU7Y-V.js +1 -0
  211. package/dist/packem_shared/reconciler-DhUGYWCr.js +1 -0
  212. package/dist/packem_shared/render-DFZ8NHlG.js +1 -0
  213. package/dist/packem_shared/render-v2x7ZRzT.js +24 -0
  214. package/dist/packem_shared/{render.d-E2MsoY_g.d.ts → render.d-CBnYBDk2.d.ts} +1 -1
  215. package/dist/packem_shared/renderToString-C2YmVNLG.js +4 -0
  216. package/dist/packem_shared/renderToString-L_bpw4OQ.js +2 -0
  217. package/dist/packem_shared/renderTreeToBuffer-C8lS0lJ2.js +2 -0
  218. package/dist/packem_shared/renderer-COXHo5Xk.js +17 -0
  219. package/dist/packem_shared/{selection.d-FWD8cYY2.d.ts → selection.d-CI3_p8wg.d.ts} +1 -1
  220. package/dist/packem_shared/squashTextNodesWithMap-BmUSBPfc.js +1 -0
  221. package/dist/packem_shared/stderr-context-Bvnik0hL.js +1 -0
  222. package/dist/packem_shared/stdin-context-88AhuztD.js +1 -0
  223. package/dist/packem_shared/text-width-e49vlbQH.js +2 -0
  224. package/dist/packem_shared/token-to-elements-D6J6-P2A.js +1 -0
  225. package/dist/packem_shared/treeViewTheme-Dq3ekRAC.js +1 -0
  226. package/dist/packem_shared/useTreeView-D5ifGwG3.js +1 -0
  227. package/dist/packem_shared/useTreeViewState-BiTJakkh.js +1 -0
  228. package/dist/packem_shared/utils-Bup8lyK8.js +1 -0
  229. package/dist/packem_shared/waitFor-CTAki32d.js +4 -0
  230. package/dist/packem_shared/wrapOrTruncateStyledLine-46W8bTtv.js +3 -0
  231. package/dist/react/index.js +1 -1
  232. package/dist/testing/index.d.ts +2 -2
  233. package/dist/testing/index.js +1 -1
  234. package/index.js +691 -539
  235. package/package.json +48 -23
  236. package/dist/packem_shared/COLOR_BLINDNESS_SIMULATION-DqErf7XX.js +0 -1
  237. package/dist/packem_shared/ControlledScrollView-CIc-x1Cx.js +0 -1
  238. package/dist/packem_shared/DevTools-ClAYpMVI.js +0 -1
  239. package/dist/packem_shared/FilePicker-tYj_CIau.js +0 -1
  240. package/dist/packem_shared/FocusContext-Xy0cwJpO.js +0 -1
  241. package/dist/packem_shared/Fullscreen-CxLd1-Zu.js +0 -1
  242. package/dist/packem_shared/IMECompositionBuffer-C89PhiOu.js +0 -1
  243. package/dist/packem_shared/InputParser-B_qZcN3r.js +0 -2
  244. package/dist/packem_shared/KEY-Bk8B-3h_.js +0 -1
  245. package/dist/packem_shared/LayoutNode-B8zej4dm.js +0 -1
  246. package/dist/packem_shared/MouseProvider-PnIUKURs.js +0 -1
  247. package/dist/packem_shared/NAMED_COLORS-B9fJsYdg.js +0 -1
  248. package/dist/packem_shared/Renderer-DJXooAsp.js +0 -1
  249. package/dist/packem_shared/ResizeObserverEntry-Dq0dk8Kq.js +0 -1
  250. package/dist/packem_shared/ScrollBar-U_37hlIT.js +0 -1
  251. package/dist/packem_shared/ScrollBarBox-DwiCxilX.js +0 -1
  252. package/dist/packem_shared/ScrollList-C7nZ9ufK.js +0 -1
  253. package/dist/packem_shared/ScrollView-DKZ8OM-m.js +0 -1
  254. package/dist/packem_shared/Static-DLynr5pn.js +0 -1
  255. package/dist/packem_shared/TreeNodeMap-CspqSCpb.js +0 -1
  256. package/dist/packem_shared/TreeView-C0Iv3et8.js +0 -1
  257. package/dist/packem_shared/TuiApp-BVDXP0Cv.js +0 -1
  258. package/dist/packem_shared/TuiContext-BoJvG3NN.js +0 -3
  259. package/dist/packem_shared/ansi-parser-B6uXaq65.js +0 -1
  260. package/dist/packem_shared/ansi-tokenizer-DqX9nJuk.js +0 -1
  261. package/dist/packem_shared/braille-BBjIoaN0.js +0 -1
  262. package/dist/packem_shared/colorize-DbTZMrJO.js +0 -1
  263. package/dist/packem_shared/comparePoints-C3NJirbh.js +0 -1
  264. package/dist/packem_shared/controlled-scroll-view-CcUS50jx.js +0 -1
  265. package/dist/packem_shared/createInlineLoop-DRNZ7jqH.js +0 -2
  266. package/dist/packem_shared/createScreen-CrLrxA6t.js +0 -3
  267. package/dist/packem_shared/dom-CXB-19sK.js +0 -1
  268. package/dist/packem_shared/format-time-C7Q-hQZq.js +0 -1
  269. package/dist/packem_shared/getScrollHeight-ClEOyLHH.js +0 -1
  270. package/dist/packem_shared/input-utils-fAxzSlNh.js +0 -1
  271. package/dist/packem_shared/isIntersecting-B3KbKTmu.js +0 -1
  272. package/dist/packem_shared/isOsc52Supported-DKK7Uee6.js +0 -1
  273. package/dist/packem_shared/isTerminalPaletteQuerySupported-Dn2hFAZ_.js +0 -1
  274. package/dist/packem_shared/kittyFlags-C3rZLbcK.js +0 -1
  275. package/dist/packem_shared/layout-BMo200nF.js +0 -2
  276. package/dist/packem_shared/line-chart-kf7uhR0K.js +0 -1
  277. package/dist/packem_shared/measure-text-Ce2widM1.js +0 -3
  278. package/dist/packem_shared/measureElement-BTtTFZg4.js +0 -1
  279. package/dist/packem_shared/parseSgrMouse-Ccj70ijb.js +0 -1
  280. package/dist/packem_shared/processLayout-FEKj_mWu.js +0 -1
  281. package/dist/packem_shared/reconciler-DIfG72R9.js +0 -1
  282. package/dist/packem_shared/reconciler-DYE5h4K4.js +0 -1
  283. package/dist/packem_shared/render-BRR1ESvR.js +0 -26
  284. package/dist/packem_shared/render-Dh7HMhK1.js +0 -1
  285. package/dist/packem_shared/renderToString-BbQiRHrd.js +0 -2
  286. package/dist/packem_shared/renderToString-vEQyGmv6.js +0 -4
  287. package/dist/packem_shared/renderTreeToBuffer-CZilzyhN.js +0 -2
  288. package/dist/packem_shared/renderer-maLLQcut.js +0 -17
  289. package/dist/packem_shared/setEnableStyledLineCache-DSbMbENc.js +0 -1
  290. package/dist/packem_shared/squashTextNodesWithMap-DCdi3SZ2.js +0 -1
  291. package/dist/packem_shared/stderr-context-BzEaUICS.js +0 -1
  292. package/dist/packem_shared/stdin-context-BTaaFagk.js +0 -1
  293. package/dist/packem_shared/text-width-BU2eeTWn.js +0 -2
  294. package/dist/packem_shared/token-to-elements-BAZpNZsu.js +0 -1
  295. package/dist/packem_shared/treeViewTheme-1RIZyB4M.js +0 -1
  296. package/dist/packem_shared/useElementDimensions-qJ_WXFZ9.js +0 -1
  297. package/dist/packem_shared/useMouseAction-2dRfU1vE.js +0 -1
  298. package/dist/packem_shared/useMouseContext-C746G7kY.js +0 -1
  299. package/dist/packem_shared/useMousePosition-BTWfV4JK.js +0 -1
  300. package/dist/packem_shared/useOnMouseClick-nY8xLZmt.js +0 -1
  301. package/dist/packem_shared/useOnMouseHover-D3DczIol.js +0 -1
  302. package/dist/packem_shared/useOnMouseState-cRK8QvzD.js +0 -1
  303. package/dist/packem_shared/useTreeView-BoMMeRPq.js +0 -1
  304. package/dist/packem_shared/useTreeViewState-CRPCUWrb.js +0 -1
  305. package/dist/packem_shared/utils-CoviI5Vm.js +0 -1
  306. package/dist/packem_shared/waitFor-Dj5zfL5s.js +0 -4
  307. package/dist/packem_shared/wrapOrTruncateStyledLine-C5rcIrNb.js +0 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/tui",
3
- "version": "1.0.0-alpha.22",
3
+ "version": "1.0.0-alpha.24",
4
4
  "description": "React-based TUI library powered by a native Rust diff engine, drop-in Ink-compatible API",
5
5
  "keywords": [
6
6
  "cli",
@@ -35,9 +35,6 @@
35
35
  "email": "d.bannert@anolilab.de"
36
36
  },
37
37
  "sideEffects": [
38
- "./dist/components/**",
39
- "./dist/ink/**",
40
- "./dist/react/**",
41
38
  "./index.js"
42
39
  ],
43
40
  "type": "module",
@@ -442,6 +439,10 @@
442
439
  "types": "./dist/ink/hooks/use-color-blindness.d.ts",
443
440
  "default": "./dist/ink/hooks/use-color-blindness.js"
444
441
  },
442
+ "./hooks/use-element-position": {
443
+ "types": "./dist/ink/mouse/use-element-position.d.ts",
444
+ "default": "./dist/ink/mouse/use-element-position.js"
445
+ },
445
446
  "./hooks/use-console-capture": {
446
447
  "types": "./dist/ink/hooks/use-console-capture.d.ts",
447
448
  "default": "./dist/ink/hooks/use-console-capture.js"
@@ -490,6 +491,30 @@
490
491
  "types": "./dist/ink/hooks/use-linked-scroll.d.ts",
491
492
  "default": "./dist/ink/hooks/use-linked-scroll.js"
492
493
  },
494
+ "./hooks/use-mouse": {
495
+ "types": "./dist/ink/mouse/use-mouse.d.ts",
496
+ "default": "./dist/ink/mouse/use-mouse.js"
497
+ },
498
+ "./hooks/use-mouse-action": {
499
+ "types": "./dist/ink/mouse/use-mouse-action.d.ts",
500
+ "default": "./dist/ink/mouse/use-mouse-action.js"
501
+ },
502
+ "./hooks/use-mouse-position": {
503
+ "types": "./dist/ink/mouse/use-mouse-position.d.ts",
504
+ "default": "./dist/ink/mouse/use-mouse-position.js"
505
+ },
506
+ "./hooks/use-on-mouse-click": {
507
+ "types": "./dist/ink/mouse/use-on-mouse-click.d.ts",
508
+ "default": "./dist/ink/mouse/use-on-mouse-click.js"
509
+ },
510
+ "./hooks/use-on-mouse-hover": {
511
+ "types": "./dist/ink/mouse/use-on-mouse-hover.d.ts",
512
+ "default": "./dist/ink/mouse/use-on-mouse-hover.js"
513
+ },
514
+ "./hooks/use-on-mouse-state": {
515
+ "types": "./dist/ink/mouse/use-on-mouse-state.d.ts",
516
+ "default": "./dist/ink/mouse/use-on-mouse-state.js"
517
+ },
493
518
  "./hooks/use-paste": {
494
519
  "types": "./dist/ink/hooks/use-paste.d.ts",
495
520
  "default": "./dist/ink/hooks/use-paste.js"
@@ -568,11 +593,11 @@
568
593
  "LICENSE.md"
569
594
  ],
570
595
  "dependencies": {
571
- "@visulima/ansi": "4.0.0-alpha.16",
572
- "@visulima/colorize": "2.0.0-alpha.13",
573
- "@visulima/error": "6.0.0-alpha.32",
574
- "@visulima/spinner": "1.0.0-alpha.3",
575
- "@visulima/string": "3.0.0-alpha.15",
596
+ "@visulima/ansi": "4.0.0-alpha.17",
597
+ "@visulima/colorize": "2.0.0-alpha.14",
598
+ "@visulima/error": "6.0.0-alpha.33",
599
+ "@visulima/spinner": "1.0.0-alpha.4",
600
+ "@visulima/string": "3.0.0-alpha.17",
576
601
  "cli-boxes": "^4.0.1",
577
602
  "code-excerpt": "^4.0.0",
578
603
  "is-in-ci": "^2.0.0",
@@ -584,17 +609,17 @@
584
609
  "yoga-layout": "~3.2.1"
585
610
  },
586
611
  "peerDependencies": {
587
- "@shikijs/langs": "^4.0.2",
588
- "@shikijs/themes": "^4.0.2",
589
- "@visulima/tabular": "4.0.0-alpha.13",
612
+ "@shikijs/langs": "^4.2.0",
613
+ "@shikijs/themes": "^4.2.0",
614
+ "@visulima/tabular": "4.0.0-alpha.14",
590
615
  "cfonts": "^3.3.1",
591
616
  "diff": "^9.0.0",
592
- "marked": "^18.0.3",
617
+ "marked": "^18.0.5",
593
618
  "react": "^19.2.6",
594
619
  "react-devtools-core": "^7.0.1",
595
620
  "react-reconciler": "^0.33.0",
596
- "shiki": "^4.0.2",
597
- "ws": "^8.20.1"
621
+ "shiki": "^4.2.0",
622
+ "ws": "^8.21.0"
598
623
  },
599
624
  "peerDependenciesMeta": {
600
625
  "@shikijs/langs": {
@@ -626,14 +651,14 @@
626
651
  }
627
652
  },
628
653
  "optionalDependencies": {
629
- "@visulima/tui-binding-darwin-arm64": "1.0.0-alpha.22",
630
- "@visulima/tui-binding-linux-arm64-gnu": "1.0.0-alpha.22",
631
- "@visulima/tui-binding-linux-arm64-musl": "1.0.0-alpha.22",
632
- "@visulima/tui-binding-darwin-x64": "1.0.0-alpha.22",
633
- "@visulima/tui-binding-linux-x64-gnu": "1.0.0-alpha.22",
634
- "@visulima/tui-binding-linux-x64-musl": "1.0.0-alpha.22",
635
- "@visulima/tui-binding-win32-x64-msvc": "1.0.0-alpha.22",
636
- "@visulima/tui-binding-win32-arm64-msvc": "1.0.0-alpha.22"
654
+ "@visulima/tui-binding-darwin-arm64": "1.0.0-alpha.24",
655
+ "@visulima/tui-binding-linux-arm64-gnu": "1.0.0-alpha.24",
656
+ "@visulima/tui-binding-darwin-x64": "1.0.0-alpha.24",
657
+ "@visulima/tui-binding-linux-arm64-musl": "1.0.0-alpha.24",
658
+ "@visulima/tui-binding-linux-x64-gnu": "1.0.0-alpha.24",
659
+ "@visulima/tui-binding-linux-x64-musl": "1.0.0-alpha.24",
660
+ "@visulima/tui-binding-win32-arm64-msvc": "1.0.0-alpha.24",
661
+ "@visulima/tui-binding-win32-x64-msvc": "1.0.0-alpha.24"
637
662
  },
638
663
  "engines": {
639
664
  "node": "^22.14.0 || >=24.10.0"
@@ -1 +0,0 @@
1
- var u=Object.defineProperty;var p=(t,a)=>u(t,"name",{value:a,configurable:!0});var b=Object.defineProperty,n=p((t,a)=>b(t,"name",{value:a,configurable:!0}),"t");const x={achromatopsia:[[.299,.587,.114],[.299,.587,.114],[.299,.587,.114]],deuteranopia:[[.625,.375,0],[.7,.3,0],[0,.3,.7]],protanopia:[[.567,.433,0],[.558,.442,0],[0,.242,.758]],tritanopia:[[.95,.05,0],[0,.433,.567],[0,.475,.525]]},S={deuteranopia:[[1,.7,0],[0,1,0],[0,.7,1]],protanopia:[[1,0,0],[.7,1,0],[.7,0,1]],tritanopia:[[1,0,.7],[0,1,.7],[0,0,1]]},l=[[1,0,0],[0,1,0],[0,0,1]],e=n(t=>Math.max(0,Math.min(255,Math.round(t))),"clamp"),c=n((t,a,r,o)=>[e(o[0][0]*t+o[0][1]*a+o[0][2]*r),e(o[1][0]*t+o[1][1]*a+o[1][2]*r),e(o[2][0]*t+o[2][1]*a+o[2][2]*r)],"applyColorMatrix"),I=/^#?(?<r>[\da-f]{2})(?<g>[\da-f]{2})(?<b>[\da-f]{2})$/i,N=/^#?(?<r>[\da-f])(?<g>[\da-f])(?<b>[\da-f])$/i,d=n(t=>{const a=I.exec(t);if(a)return[Number.parseInt(a[1],16),Number.parseInt(a[2],16),Number.parseInt(a[3],16)];const r=N.exec(t);return r?[Number.parseInt(r[1]+r[1],16),Number.parseInt(r[2]+r[2],16),Number.parseInt(r[3]+r[3],16)]:null},"hexToRgb"),m=n((t,a,r)=>`#${e(t).toString(16).padStart(2,"0")}${e(a).toString(16).padStart(2,"0")}${e(r).toString(16).padStart(2,"0")}`,"rgbToHex"),g=n((t,a)=>{const r=d(t);if(!r)return t;const[o,i,s]=c(r[0],r[1],r[2],a);return m(o,i,s)},"transformHexColor");export{S as COLOR_BLINDNESS_COMPENSATION,x as COLOR_BLINDNESS_SIMULATION,l as IDENTITY_MATRIX,c as applyColorMatrix,d as hexToRgb,m as rgbToHex,g as transformHexColor};
@@ -1 +0,0 @@
1
- import"react/jsx-runtime";import"react";import"./layout-BMo200nF.js";import"../components/box.js";import{C as l}from"./controlled-scroll-view-CcUS50jx.js";export{l as ControlledScrollView};
@@ -1 +0,0 @@
1
- var w=Object.defineProperty;var l=(e,r)=>w(e,"name",{value:r,configurable:!0});import{jsxs as a,jsx as c}from"react/jsx-runtime";import{useState as D,useRef as d,useEffect as T}from"react";import{useWindowSize as S,useTuiContext as b}from"./TuiContext-BoJvG3NN.js";import{_Box as i,_Spacer as g,_Text as v}from"./render-Dh7HMhK1.js";var j=Object.defineProperty,s=l((e,r)=>j(e,"name",{value:r,configurable:!0}),"s");function p(){const{app:e}=b(),[r,u]=D(0),t=d(0),n=d(Date.now()),o=d(null);return T(()=>{const h=s(()=>{o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{u(0),t.current=0,n.current=Date.now()},2e3),t.current++;const f=Date.now(),m=f-n.current;m>=500&&(u(Math.round(t.current/m*1e3)),t.current=0,n.current=f)},"onRender"),x=e.onBeforeFlush(()=>{h()});return()=>{x(),o.current&&clearTimeout(o.current)}},[e]),r}l(p,"h");s(p,"useFpsCounter");const y=s(({fps:e})=>{const r=e===0?"--":String(e);return c(i,{borderColor:"gray",borderStyle:"round",paddingX:1,children:a(v,{dim:!0,children:[r," ","updates/sec"]})})},"FpsHud"),k=s(({children:e,enabled:r=!0})=>{const u=p(),{columns:t,rows:n}=S();return a(i,{flexDirection:"column",height:n,width:t,children:[c(i,{flexGrow:1,children:e}),r&&a(i,{flexDirection:"row",flexShrink:0,children:[c(g,{}),c(y,{fps:u})]})]})},"DevTools");export{k as DevTools};
@@ -1 +0,0 @@
1
- var W=Object.defineProperty;var d=(e,r)=>W(e,"name",{value:r,configurable:!0});import{createRequire as Y}from"node:module";import{jsxs as f,jsx as g}from"react/jsx-runtime";import{useState as x,useRef as Q,useEffect as V,useCallback as _}from"react";import X from"../ink/hooks/use-input.js";import{Box as A}from"../components/box.js";import{Spinner as Z}from"../components/spinner.js";import{Text as m}from"../components/text.js";const J=Y(import.meta.url),w=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,E=d(e=>{if(typeof w<"u"&&w.versions&&w.versions.node){const[r,c]=w.versions.node.split(".").map(Number);if(r>22||r===22&&c>=3||r===20&&c>=16)return w.getBuiltinModule(e)}return J(e)},"__cjs_getBuiltinModule"),{readdir:ee,stat:re}=E("node:fs/promises"),{resolve:k,dirname:ie,join:q,extname:te}=E("node:path");var oe=Object.defineProperty,D=d((e,r)=>oe(e,"name",{value:r,configurable:!0}),"o");function H(e){const r=D(c=>`${c&4?"r":"-"}${c&2?"w":"-"}${c&1?"x":"-"}`,"rwx");return`${r(e>>6&7)}${r(e>>3&7)}${r(e&7)}`}d(H,"q");D(H,"formatPermissions");function R(e,r){if(!(r.showHidden??!1)&&e.isHidden||!(r.showDirectories??!0)&&e.isDirectory||!(r.showFiles??!0)&&!e.isDirectory)return!1;if(r.extensions&&r.extensions.length>0&&!e.isDirectory){const c=te(e.name);if(!r.extensions.includes(c))return!1}return!0}d(R,"B");D(R,"matchesFilter");function G(e){const{filter:r,initialPath:c}=e,[h,b]=x(()=>k(c)),[F,l]=x([]),[$,v]=x(!0),[j,M]=x(),[S,o]=x(0),P=Q(r);P.current=r,V(()=>{let n=!1;return D(async()=>{v(!0),M(void 0);try{const s=await ee(h,{withFileTypes:!0}),C=await Promise.all(s.map(async i=>{try{return await re(q(h,i.name))}catch{return}})),T=s.map((i,t)=>{const z=q(h,i.name),B=i.isDirectory(),K=i.name.startsWith("."),L=C[t],O=L?.size??0,N=L?H(L.mode):"---------";return{isDirectory:B,isHidden:K,name:i.name,path:z,permissions:N,size:O}});if(n)return;const a=T.filter(i=>R(i,P.current));a.sort((i,t)=>i.isDirectory!==t.isDirectory?i.isDirectory?-1:1:i.name.localeCompare(t.name,void 0,{sensitivity:"base"})),l(a)}catch(s){n||(M(s instanceof Error?s.message:String(s)),l([]))}finally{n||v(!1)}},"loadDirectory")().catch(()=>{}),()=>{n=!0}},[h,S]);const u=_(n=>{b(k(n))},[]),p=_(()=>{b(n=>{const s=ie(n);return s===n?n:s})},[]),y=_(()=>{o(n=>n+1)},[]);return{currentPath:h,entries:F,error:j,goUp:p,isLoading:$,navigateTo:u,refresh:y}}d(G,"G$1");D(G,"useFileSystem");var ne=Object.defineProperty,U=d((e,r)=>ne(e,"name",{value:r,configurable:!0}),"u");function I(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}K`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)}M`:`${(e/(1024*1024*1024)).toFixed(1)}G`}d(I,"U");U(I,"formatSize");const se={},ae=U(()=>process.cwd(),"getDefaultInitialPath"),ye=U(({accentColor:e="cyan",directoryColor:r="blue",fileColor:c="white",filter:h=se,initialPath:b,isFocused:F=!0,limit:l=10,onCancel:$,onSelect:v,showPermissions:j=!1,showSize:M=!1})=>{const S=b??ae(),o=G({filter:h,initialPath:S}),[P,u]=x(0),p=Math.max(0,o.entries.length-1),y=Math.min(P,p);X(_((a,i)=>{if(i.upArrow)u(t=>Math.max(0,t-1));else if(i.downArrow)u(t=>Math.min(p,t+1));else if(i.return){const t=o.entries[y];t&&(t.isDirectory?(o.navigateTo(t.path),u(0)):v?.(t))}else i.backspace||i.leftArrow?(o.goUp(),u(0)):i.escape?$?.():a==="."?o.refresh():i.pageUp?u(t=>Math.max(0,t-l)):i.pageDown?u(t=>Math.min(p,t+l)):i.home?u(0):i.end&&u(p)},[p,y,o,l,v,$]),{isActive:F});const n=Math.floor(l/2);let s=Math.max(0,y-n);const C=Math.min(o.entries.length,s+l);s=Math.max(0,C-l);const T=o.entries.slice(s,C);return f(A,{flexDirection:"column",children:[g(m,{bold:!0,dimColor:!0,children:o.currentPath}),o.isLoading&&f(A,{children:[g(Z,{}),g(m,{children:" Loading..."})]}),o.error&&f(m,{color:"red",children:["Error:",o.error]}),!o.isLoading&&!o.error&&o.entries.length===0&&g(m,{dimColor:!0,children:"(empty directory)"}),T.map((a,i)=>{const t=s+i===y,z=a.isDirectory?"📁 ":"📄 ",B=a.isDirectory?r:c;return f(A,{children:[g(m,{color:t?e:void 0,children:t?"▸ ":" "}),g(m,{children:z}),f(m,{bold:a.isDirectory,color:t?e:B,children:[a.name,a.isDirectory?"/":""]}),M&&!a.isDirectory&&f(m,{dimColor:!0,children:[" ",I(a.size)]}),j&&f(m,{dimColor:!0,children:[" ",a.permissions]})]},a.name)}),o.entries.length>l&&f(m,{dimColor:!0,children:[y+1,"/",o.entries.length]})]})},"FilePicker");export{ye as default};
@@ -1 +0,0 @@
1
- var S=Object.defineProperty;var p=(c,u)=>S(c,"name",{value:u,configurable:!0});import j,{createContext as k,useRef as O,useState as I,useCallback as s,useMemo as N,useContext as M,useEffect as C}from"react";var R=Object.defineProperty,b=p((c,u)=>R(c,"name",{value:u,configurable:!0}),"x");const m=k({activate(){},activeId:void 0,add(){},deactivate(){},disableFocus(){},enableFocus(){},focus(){},focusNext(){},focusPrevious(){},remove(){}});m.displayName="TuiFocusContext";const w=b(({children:c})=>{const u=O([]),[n,o]=I(void 0),[a,v]=I(!0),f=s((t,e)=>{if(u.current.some(r=>r.id===t))return;const d={autoFocus:e.autoFocus,id:t,isActive:!0};u.current=[...u.current,d],o(r=>e.autoFocus&&r===void 0||u.current.filter(E=>E.isActive).length===1&&r===void 0?t:r)},[]),l=s(t=>{u.current=u.current.filter(e=>e.id!==t),o(e=>e===t?void 0:e)},[]),F=s(t=>{u.current=u.current.map(e=>e.id===t?{...e,isActive:!0}:e)},[]),i=s(t=>{u.current=u.current.map(e=>e.id===t?{...e,isActive:!1}:e),o(e=>e===t?void 0:e)},[]),x=s(()=>v(!0),[]),g=s(()=>{v(!1),o(void 0)},[]),A=s(()=>{if(!a)return;const t=u.current.filter(e=>e.isActive);t.length!==0&&o(e=>{if(e===void 0)return t[0]?.id;const d=t.findIndex(r=>r.id===e);return t[(d+1)%t.length]?.id??t[0]?.id})},[a]),h=s(()=>{if(!a)return;const t=u.current.filter(e=>e.isActive);t.length!==0&&o(e=>{if(e===void 0)return t.at(-1)?.id;const d=t.findIndex(r=>r.id===e);return t[(d-1+t.length)%t.length]?.id??t.at(-1)?.id})},[a]),P=s(t=>{a&&u.current.some(e=>e.id===t&&e.isActive)&&o(t)},[a]),y=N(()=>({activate:F,activeId:n,add:f,deactivate:i,disableFocus:g,enableFocus:x,focus:P,focusNext:A,focusPrevious:h,remove:l}),[n,f,l,F,i,x,g,A,h,P]);return j.createElement(m.Provider,{value:y},c)},"FocusProvider"),z=b(({autoFocus:c=!1,id:u,isActive:n=!0}={})=>{const{activate:o,activeId:a,add:v,deactivate:f,focus:l,remove:F}=M(m),i=N(()=>u??Math.random().toString(36).slice(2,7),[u]);return C(()=>(v(i,{autoFocus:c}),()=>{F(i)}),[i,c]),C(()=>{n?o(i):f(i)},[n,i]),{focus:l,isFocused:!!i&&a===i}},"useFocus"),B=b(()=>{const c=M(m);return{activeId:c.activeId,disableFocus:c.disableFocus,enableFocus:c.enableFocus,focus:c.focus,focusNext:c.focusNext,focusPrevious:c.focusPrevious}},"useFocusManager");export{m as FocusContext,w as FocusProvider,z as useFocus,B as useFocusManager};
@@ -1 +0,0 @@
1
- var n=Object.defineProperty;var o=(r,e)=>n(r,"name",{value:e,configurable:!0});import{jsx as i}from"react/jsx-runtime";import"react";import{Box as l}from"../components/box.js";import m from"../ink/hooks/use-window-size.js";var a=Object.defineProperty,c=o((r,e)=>a(r,"name",{value:e,configurable:!0}),"t");const h=c(({children:r})=>{const{columns:e,rows:t}=m();return i(l,{flexGrow:1,height:t,width:e,children:r})},"Fullscreen");export{h as default};
@@ -1 +0,0 @@
1
- var o=Object.defineProperty;var s=(i,t)=>o(i,"name",{value:t,configurable:!0});var u=Object.defineProperty,r=s((i,t)=>u(i,"name",{value:t,configurable:!0}),"r");const f=r(i=>{if(i.length===0)return!1;for(const t of i){const e=t.codePointAt(0)??0;return!(e<=127||e<=255)}return!1},"isIMEInput");class n{static{s(this,"n")}static{r(this,"IMECompositionBuffer")}buffer="";timer;onFlush;timeout;constructor({onFlush:t,timeout:e}){this.onFlush=t,this.timeout=e}add(t){this.buffer+=t,this.timer!==void 0&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.flush()},this.timeout)}flush(){if(this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0),this.buffer.length>0){const t=this.buffer;this.buffer="",this.onFlush(t)}}destroy(){this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0),this.buffer=""}}export{n as IMECompositionBuffer,f as isIMEInput};
@@ -1,2 +0,0 @@
1
- var p=Object.defineProperty;var d=(r,t)=>p(r,"name",{value:t,configurable:!0});import{EventEmitter as c}from"tseep";var B=Object.defineProperty,x=d((r,t)=>B(r,"name",{value:t,configurable:!0}),"h");class b extends c{static{d(this,"InputParser")}constructor(t){super(),this.stdin=t}stdin;static{x(this,"InputParser")}_boundHandleData=null;_pasteBuffer=null;start(){typeof this.stdin.setRawMode=="function"&&this.stdin.setRawMode(!0),this.stdin.resume(),this.stdin.setEncoding("utf8"),this._boundHandleData=this.handleData.bind(this),this.stdin.on("data",this._boundHandleData)}stop(){typeof this.stdin.setRawMode=="function"&&this.stdin.setRawMode(!1),this.stdin.pause(),this._boundHandleData&&(this.stdin.removeListener("data",this._boundHandleData),this._boundHandleData=null)}handleData(t){if(t===""){this.emit("exit");return}if(t.includes("\x1B[200~")||this._pasteBuffer!==null){if(this._pasteBuffer===null?this._pasteBuffer=t.replace("\x1B[200~",""):this._pasteBuffer+=t,this._pasteBuffer.includes("\x1B[201~")){const e=this._pasteBuffer.replace("\x1B[201~","");this._pasteBuffer=null,this.emit("paste",e),this.listenerCount("paste")===0&&this.emit("data",e)}return}if(t.length===1){const e=t.charCodeAt(0);if(e>=1&&e<=26&&e!==3&&e!==9&&e!==10&&e!==13){const s=String.fromCharCode(e+96);this.emit("ctrl",s),this.emit("data",t,{ctrl:!0});return}}if(t==="\x1B[A"){this.emit("keydown","up");return}if(t==="\x1B[B"){this.emit("keydown","down");return}if(t==="\x1B[C"){this.emit("keydown","right");return}if(t==="\x1B[D"){this.emit("keydown","left");return}if(t===" "){this.emit("keydown","tab");return}if(t==="\x1B[Z"){this.emit("keydown","shift-tab");return}if(t==="\x1B"){this.emit("keydown","escape");return}if(t==="\r"||t===`
2
- `){this.emit("keydown","enter");return}if(t===""){this.emit("keydown","backspace");return}if(t==="\x1B[3~"){this.emit("keydown","delete");return}if(t==="\x1B[5~"){this.emit("keydown","pageUp");return}if(t==="\x1B[6~"){this.emit("keydown","pageDown");return}if(t==="\x1B[H"||t==="\x1B[1~"){this.emit("keydown","home");return}if(t==="\x1B[F"||t==="\x1B[4~"){this.emit("keydown","end");return}if(t.length===2&&t[0]==="\x1B"){this.emit("meta",t[1]),this.emit("data",t,{meta:!0});return}if(t.startsWith("\x1B[<")){const e=t.match(/\u001B\[<(\d+);(\d+);(\d+)(M)/i);if(e){const s=Number.parseInt(e[1]),u=Number.parseInt(e[2])-1,h=Number.parseInt(e[3])-1,a=e[4]==="m",o=(s&4)!==0,f=(s&8)!==0,l=(s&16)!==0,n=s&-29;let i=null;if(n===0&&!a?i="left":n===1&&!a?i="middle":n===2&&!a?i="right":n===64?i="scrollUp":n===65&&(i="scrollDown"),i){const m={button:i,ctrl:l,meta:f,shift:o,x:u,y:h};this.emit("mouse",m),i==="left"&&this.emit("click",{x:u,y:h})}}return}this.emit("data",t)}}export{b as InputParser};
@@ -1 +0,0 @@
1
- var n=Object.defineProperty;var r=(e,t)=>n(e,"name",{value:t,configurable:!0});var o=Object.defineProperty,a=r((e,t)=>o(e,"name",{value:t,configurable:!0}),"o");const p={backspace:"",ctrlC:"",delete:"\x1B[3~",down:"\x1B[B",end:"\x1B[F",escape:"\x1B",home:"\x1B[H",left:"\x1B[D",pageDown:"\x1B[6~",pageUp:"\x1B[5~",return:"\r",right:"\x1B[C",space:" ",tab:" ",up:"\x1B[A"},s=a(e=>({backspace:a(()=>{e(p.backspace)},"backspace"),delete:a(()=>{e(p.delete)},"delete"),down:a(()=>{e(p.down)},"down"),end:a(()=>{e(p.end)},"end"),enter:a(()=>{e(p.return)},"enter"),escape:a(()=>{e(p.escape)},"escape"),home:a(()=>{e(p.home)},"home"),left:a(()=>{e(p.left)},"left"),pageDown:a(()=>{e(p.pageDown)},"pageDown"),pageUp:a(()=>{e(p.pageUp)},"pageUp"),press(t){e(t)},raw:e,right:a(()=>{e(p.right)},"right"),space:a(()=>{e(p.space)},"space"),tab:a(()=>{e(p.tab)},"tab"),type(t){for(const c of t)e(c)},up:a(()=>{e(p.up)},"up")}),"createKeySender");export{p as KEY,s as createKeySender};
@@ -1 +0,0 @@
1
- var c=Object.defineProperty;var g=(d,t)=>c(d,"name",{value:t,configurable:!0});import a from"yoga-layout";import{m as y}from"./text-width-BU2eeTWn.js";var u=Object.defineProperty,N=g((d,t)=>u(d,"name",{value:t,configurable:!0}),"h");const l=new Map;class E{static{g(this,"LayoutNode")}static{N(this,"LayoutNode")}yogaNode;children=[];parent=null;_destroyed=!1;_hidden=!1;transform;_text;fg=255;bg=255;styles=0;_style;set text(t){this._text=t,t===void 0?this.yogaNode.unsetMeasureFunc():this.yogaNode.setMeasureFunc((e,o,r,n)=>{if(t.length===0)return{height:0,width:0};const i=y(t,Number.MAX_SAFE_INTEGER);let s=i.maxLineWidth;o===a.MEASURE_MODE_EXACTLY?s=Math.max(0,Math.floor(e)):o===a.MEASURE_MODE_AT_MOST&&(s=Math.min(i.maxLineWidth,Math.max(0,Math.floor(e))));let h=i.wrappedRows;return s>0&&(h=y(t,s).wrappedRows),n===a.MEASURE_MODE_EXACTLY?h=Math.max(0,Math.floor(r)):n===a.MEASURE_MODE_AT_MOST&&(h=Math.min(h,Math.max(0,Math.floor(r)))),{height:h,width:s}})}get text(){return this._text}constructor(){this.yogaNode=a.Node.create(),this.yogaNode.setFlexDirection(a.FLEX_DIRECTION_COLUMN)}insertChild(t,e){const o=l.get(t.yogaNode);o&&o.removeChild(t);const r=t.yogaNode.getParent();r&&r.removeChild(t.yogaNode);const n=this.yogaNode.getChildCount(),i=Math.min(e,n);try{this.yogaNode.insertChild(t.yogaNode,i)}catch{return}t.parent=this,this.children.splice(i,0,t),l.set(t.yogaNode,this)}remove(){this.parent&&this.parent.removeChild(this)}removeChild(t){const e=this.children.indexOf(t);if(e!==-1){this.children.splice(e,1),t.parent=null,l.delete(t.yogaNode);const o=t.yogaNode.getParent();o&&o.removeChild(t.yogaNode)}}destroy(){if(this._destroyed)return;this._destroyed=!0;for(const e of this.children)e.parent===this&&(e.parent=null);this.children=[],l.delete(this.yogaNode);const t=this.yogaNode.getParent();t&&t.removeChild(this.yogaNode),this.yogaNode.free()}calculateLayout(t,e){this.yogaNode.setWidth(t),this.yogaNode.setHeight(e),this.yogaNode.calculateLayout(t,e,a.DIRECTION_LTR)}getLayout(){return this.yogaNode.getComputedLayout()}}export{E as LayoutNode};
@@ -1 +0,0 @@
1
- var _=Object.defineProperty;var d=(e,t)=>_(e,"name",{value:t,configurable:!0});import{createRequire as T}from"node:module";import{jsx as j}from"react/jsx-runtime";import{useRef as f,useReducer as w,useEffect as k,useMemo as E}from"react";import{useStdinContext as B}from"../ink/hooks/use-stdin.js";import P from"../ink/hooks/use-stdout.js";import{M as n,a as $}from"./ansi-parser-B6uXaq65.js";import{o as q}from"./mouse-context-DaARgUu1.js";const h=T(import.meta.url),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,M=d(e=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[t,i]=u.versions.node.split(".").map(Number);if(t>22||t===22&&i>=3||t===20&&i>=16)return u.getBuiltinModule(e)}return h(e)},"__cjs_getBuiltinModule"),{EventEmitter:x}=M("node:events"),R=u;var O=Object.defineProperty,b=d((e,t)=>O(e,"name",{value:t,configurable:!0}),"l");const S={button:null,click:null,drag:null,position:{x:0,y:0},scroll:null},G=b((e,t)=>{switch(t.type){case"click":return{...e,button:t.button,click:t.click,position:t.position};case"click-reset":return{...e,button:null,click:null};case"drag":return{...e,button:t.button,drag:t.drag,position:t.position};case"move":return{...e,position:t.position};case"scroll":return{...e,position:t.position,scroll:t.scroll};case"scroll-reset":return{...e,scroll:null};default:return e}},"mouseReducer"),H=b(({children:e})=>{const{internal_eventEmitter:t}=B(),{stdout:i}=P(),l=f(new x),[s,c]=w(G,S),p=f(void 0),m=f(void 0);k(()=>{const a=i.isTTY?i:R.stdout;return a.write(n.mouseButton.on+n.mouseMotion.on+n.mouseMotionOthers.on+n.mouseSGR.on),()=>{a.write(n.mouseSGR.off+n.mouseMotionOthers.off+n.mouseMotion.off+n.mouseButton.off)}},[i]),k(()=>{const a=b(y=>{const o=$(y);if(!o)return;const r={x:o.x,y:o.y};switch(l.current.emit("position",r),o.type){case"click":{c({button:o.button,click:o.action,position:r,type:"click"}),l.current.emit("click",r,o.action,o.button),clearTimeout(p.current),p.current=setTimeout(()=>{c({type:"click-reset"})},100);break}case"drag":{const g=o.action==="press"?"dragging":null;c({button:o.button,drag:g,position:r,type:"drag"}),l.current.emit("drag",r,g,o.button);break}case"move":{c({position:r,type:"move"});break}case"scroll":{c({position:r,scroll:o.direction,type:"scroll"}),l.current.emit("scroll",r,o.direction),clearTimeout(m.current),m.current=setTimeout(()=>{c({type:"scroll-reset"})},100);break}}},"handleInput");return t.on("input",a),()=>{t.off("input",a),clearTimeout(p.current),clearTimeout(m.current)}},[t]);const v=E(()=>({button:s.button,click:s.click,drag:s.drag,events:l.current,position:s.position,scroll:s.scroll}),[s]);return j(q,{value:v,children:e})},"MouseProvider");export{H as default};
@@ -1 +0,0 @@
1
- var p=Object.defineProperty;var o=(n,t)=>p(n,"name",{value:t,configurable:!0});import e from"yoga-layout";var d=Object.defineProperty,s=o((n,t)=>d(n,"name",{value:t,configurable:!0}),"a");const g={black:0,blackBright:8,blue:4,blueBright:12,cyan:6,cyanBright:14,gray:8,green:2,greenBright:10,grey:8,magenta:5,magentaBright:13,red:1,redBright:9,white:7,whiteBright:15,yellow:3,yellowBright:11};function E(n,t,r){const i=Math.round(n/51),a=Math.round(t/51),l=Math.round(r/51);return 16+36*i+6*a+l}o(E,"s");s(E,"rgbToAnsi256");function f(n){if(n===void 0)return 255;if(typeof n=="number")return n;if(n in g)return g[n];const t=/^ansi256\(\s*(\d+)\s*\)$/.exec(n);if(t)return Number(t[1]);const r=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(n);if(r)return E(Number.parseInt(r[1]+r[1],16),Number.parseInt(r[2]+r[2],16),Number.parseInt(r[3]+r[3],16));const i=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(n);if(i)return E(Number.parseInt(i[1],16),Number.parseInt(i[2],16),Number.parseInt(i[3],16));const a=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.exec(n);return a?E(Number(a[1]),Number(a[2]),Number(a[3])):255}o(f,"resolveColor");s(f,"resolveColor");const _=[["top",e.EDGE_TOP],["right",e.EDGE_RIGHT],["bottom",e.EDGE_BOTTOM],["left",e.EDGE_LEFT]],T=s((n,t)=>{"position"in t&&n.setPositionType(t.position==="absolute"?e.POSITION_TYPE_ABSOLUTE:e.POSITION_TYPE_RELATIVE);for(const[r,i]of _)if(r in t){const a=t[r];typeof a=="string"?n.setPositionPercent(i,Number.parseFloat(a)):n.setPosition(i,a)}},"applyPositionStyles"),m=s((n,t)=>{"margin"in t&&n.setMargin(e.EDGE_ALL,t.margin??0),"marginX"in t&&n.setMargin(e.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&n.setMargin(e.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&n.setMargin(e.EDGE_LEFT,t.marginLeft??0),"marginRight"in t&&n.setMargin(e.EDGE_RIGHT,t.marginRight??0),"marginTop"in t&&n.setMargin(e.EDGE_TOP,t.marginTop??0),"marginBottom"in t&&n.setMargin(e.EDGE_BOTTOM,t.marginBottom??0)},"applyMarginStyles"),h=s((n,t)=>{"padding"in t&&n.setPadding(e.EDGE_ALL,t.padding??0),"paddingX"in t&&n.setPadding(e.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&n.setPadding(e.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&n.setPadding(e.EDGE_LEFT,t.paddingLeft??0),"paddingRight"in t&&n.setPadding(e.EDGE_RIGHT,t.paddingRight??0),"paddingTop"in t&&n.setPadding(e.EDGE_TOP,t.paddingTop??0),"paddingBottom"in t&&n.setPadding(e.EDGE_BOTTOM,t.paddingBottom??0)},"applyPaddingStyles"),N=s((n,t)=>{if("flexGrow"in t&&n.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&n.setFlexShrink(t.flexShrink??1),"flexWrap"in t&&n.setFlexWrap(t.flexWrap==="nowrap"?e.WRAP_NO_WRAP:t.flexWrap==="wrap"?e.WRAP_WRAP:e.WRAP_WRAP_REVERSE),"flexDirection"in t&&(t.flexDirection==="row"&&n.setFlexDirection(e.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&n.setFlexDirection(e.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&n.setFlexDirection(e.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&n.setFlexDirection(e.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?n.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?n.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):n.setFlexBasis(Number.NaN)),"alignItems"in t){const r={baseline:e.ALIGN_BASELINE,center:e.ALIGN_CENTER,"flex-end":e.ALIGN_FLEX_END,"flex-start":e.ALIGN_FLEX_START,stretch:e.ALIGN_STRETCH};n.setAlignItems(r[t.alignItems||"stretch"])}if("alignSelf"in t){const r={auto:e.ALIGN_AUTO,baseline:e.ALIGN_BASELINE,center:e.ALIGN_CENTER,"flex-end":e.ALIGN_FLEX_END,"flex-start":e.ALIGN_FLEX_START,stretch:e.ALIGN_STRETCH};n.setAlignSelf(r[t.alignSelf||"auto"])}if("alignContent"in t){const r={center:e.ALIGN_CENTER,"flex-end":e.ALIGN_FLEX_END,"flex-start":e.ALIGN_FLEX_START,"space-around":e.ALIGN_SPACE_AROUND,"space-between":e.ALIGN_SPACE_BETWEEN,stretch:e.ALIGN_STRETCH};n.setAlignContent(r[t.alignContent||"flex-start"])}if("justifyContent"in t){const r={center:e.JUSTIFY_CENTER,"flex-end":e.JUSTIFY_FLEX_END,"flex-start":e.JUSTIFY_FLEX_START,"space-around":e.JUSTIFY_SPACE_AROUND,"space-between":e.JUSTIFY_SPACE_BETWEEN,"space-evenly":e.JUSTIFY_SPACE_EVENLY};n.setJustifyContent(r[t.justifyContent||"flex-start"])}},"applyFlexStyles"),c=s((n,t)=>{"width"in t&&(typeof t.width=="number"?n.setWidth(t.width):typeof t.width=="string"?n.setWidthPercent(Number.parseInt(t.width,10)):n.setWidthAuto()),"height"in t&&(typeof t.height=="number"?n.setHeight(t.height):typeof t.height=="string"?n.setHeightPercent(Number.parseInt(t.height,10)):n.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?n.setMinWidthPercent(Number.parseInt(t.minWidth,10)):n.setMinWidth(t.minWidth??0)),"minHeight"in t&&(typeof t.minHeight=="string"?n.setMinHeightPercent(Number.parseInt(t.minHeight,10)):n.setMinHeight(t.minHeight??0)),"maxWidth"in t&&(typeof t.maxWidth=="string"?n.setMaxWidthPercent(Number.parseInt(t.maxWidth,10)):n.setMaxWidth(t.maxWidth)),"maxHeight"in t&&(typeof t.maxHeight=="string"?n.setMaxHeightPercent(Number.parseInt(t.maxHeight,10)):n.setMaxHeight(t.maxHeight)),"aspectRatio"in t&&n.setAspectRatio(t.aspectRatio)},"applyDimensionStyles"),I=s((n,t)=>{"display"in t&&n.setDisplay(t.display==="flex"?e.DISPLAY_FLEX:e.DISPLAY_NONE)},"applyDisplayStyles"),L=s((n,t,r)=>{if(!("borderStyle"in t||"borderTop"in t||"borderBottom"in t||"borderLeft"in t||"borderRight"in t))return;const i=r.borderStyle?1:0;n.setBorder(e.EDGE_TOP,r.borderTop===!1?0:i),n.setBorder(e.EDGE_BOTTOM,r.borderBottom===!1?0:i),n.setBorder(e.EDGE_LEFT,r.borderLeft===!1?0:i),n.setBorder(e.EDGE_RIGHT,r.borderRight===!1?0:i)},"applyBorderStyles"),u=s((n,t)=>{"gap"in t&&n.setGap(e.GUTTER_ALL,t.gap??0),"columnGap"in t&&n.setGap(e.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&n.setGap(e.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),A=s((n,t={},r=t)=>{T(n,t),m(n,t),h(n,t),N(n,t),c(n,t),I(n,t),L(n,t,r),u(n,t)},"applyStyles");export{g as NAMED_COLORS,A as applyStyles,f as resolveColor};
@@ -1 +0,0 @@
1
- var t=Object.defineProperty;var s=(n,e)=>t(n,"name",{value:e,configurable:!0});import{createRequire as c}from"node:module";const u=c(import.meta.url),r=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,a=s(n=>{if(typeof r<"u"&&r.versions&&r.versions.node){const[e,i]=r.versions.node.split(".").map(Number);if(e>22||e===22&&i>=3||e===20&&i>=16)return r.getBuiltinModule(n)}return u(n)},"__cjs_getBuiltinModule"),{createRequire:l}=a("node:module"),d=l(import.meta.url),m=d("../../index.js"),o=m,f=o.Renderer,g=o.TerminalGuard,j=o.terminalSize;export{f as Renderer,g as TerminalGuard,j as terminalSize};
@@ -1 +0,0 @@
1
- var u=Object.defineProperty;var a=(t,e)=>u(t,"name",{value:e,configurable:!0});var g=Object.defineProperty,n=a((t,e)=>g(t,"name",{value:e,configurable:!0}),"a");class h{static{a(this,"ResizeObserverEntry")}constructor(e,r){this.target=e,this.contentRect=r}target;contentRect;static{n(this,"ResizeObserverEntry")}}class N{static{a(this,"b")}static{n(this,"ResizeObserver")}callback;observedElements=new Set;constructor(e){this.callback=e}observe(e){if(this.observedElements.has(e))return;this.observedElements.add(e),e.resizeObservers??=new Set,e.resizeObservers.add(this);let r=e.internal_lastMeasuredSize;if(r===void 0&&e.yogaNode){const i=Math.round(e.yogaNode.getComputedWidth()),s=Math.round(e.yogaNode.getComputedHeight());!Number.isNaN(i)&&!Number.isNaN(s)&&(r={height:s,width:i},e.internal_lastMeasuredSize=r)}if(r){const i=new h(e,r);try{this.callback([i],this)}catch(s){console.error(s)}}}unobserve(e){this.observedElements.delete(e),e.resizeObservers?.delete(this)}disconnect(){for(const e of this.observedElements)e.resizeObservers?.delete(this);this.observedElements.clear()}internalTrigger(e){try{this.callback(e,this)}catch(r){console.error(r)}}}function l(t,e,r=!1){const i=t.resizeObservers&&t.resizeObservers.size>0;if((i||r)&&t.yogaNode){const s=Math.round(t.yogaNode.getComputedWidth()),o=Math.round(t.yogaNode.getComputedHeight());if(!Number.isNaN(s)&&!Number.isNaN(o)){const d=t.internal_lastMeasuredSize;if((d?.width!==s||d.height!==o)&&(t.internal_lastMeasuredSize={height:o,width:s},i)){const b=new h(t,{height:o,width:s});for(const c of t.resizeObservers)e.has(c)||e.set(c,[]),e.get(c).push(b)}}}}a(l,"measureAndExtractObservers");n(l,"measureAndExtractObservers");function v(t,e=!1){const r=new Map;function i(s){if(l(s,r,e),!s.internal_static)for(const o of s.childNodes)o.nodeName!=="#text"&&i(o)}a(i,"i"),n(i,"traverse"),i(t);for(const[s,o]of r)s.internalTrigger(o)}a(v,"triggerResizeObservers");n(v,"triggerResizeObservers");export{h as ResizeObserverEntry,N as default,l as measureAndExtractObservers,v as triggerResizeObservers};
@@ -1 +0,0 @@
1
- var G=Object.defineProperty;var v=(t,o)=>G(t,"name",{value:o,configurable:!0});import{jsx as l,jsxs as I}from"react/jsx-runtime";import{useMemo as N}from"react";import{Box as B}from"../components/box.js";import{Text as n}from"../components/text.js";var Y=Object.defineProperty,R=v((t,o)=>Y(t,"name",{value:o,configurable:!0}),"c");const H={arrow:{lowerThumb:"╽",thumb:"┃",track:"|",upperThumb:"╿"},block:{thumb:"█",track:"░"},bold:{lowerThumb:"╿",thumb:"│",track:"┃",upperThumb:"╽"},classic:{thumb:"┃",track:"|"},dots:{thumb:"●",track:"·"},double:{thumb:"┃",track:"║"},doubleSingle:{lowerThumb:"╽",thumb:"┃",track:"│",upperThumb:"╿"},line:{thumb:"│",track:" "},round:{lowerThumb:"╽",thumb:"┃",track:"│",upperThumb:"╿"},single:{lowerThumb:"╽",thumb:"┃",track:"│",upperThumb:"╿"},singleDouble:{thumb:"┃",track:"║"},thick:{thumb:"┃",track:"╏"}},j={arrow:{bottomLeft:"└",bottomRight:"┘",topLeft:"┌",topRight:"┐"},bold:{bottomLeft:"┗",bottomRight:"┛",topLeft:"┏",topRight:"┓"},classic:{bottomLeft:"+",bottomRight:"+",topLeft:"+",topRight:"+"},double:{bottomLeft:"╚",bottomRight:"╝",topLeft:"╔",topRight:"╗"},doubleSingle:{bottomLeft:"╘",bottomRight:"╛",topLeft:"╒",topRight:"╕"},round:{bottomLeft:"╰",bottomRight:"╯",topLeft:"╭",topRight:"╮"},single:{bottomLeft:"└",bottomRight:"┘",topLeft:"┌",topRight:"┐"},singleDouble:{bottomLeft:"╙",bottomRight:"╜",topLeft:"╓",topRight:"╖"}},_=R(t=>H[typeof t=="string"?t:"single"]??H.single??{thumb:"┃",track:"│"},"getStyleChars"),$=R(t=>j[typeof t=="string"?t:"single"]??j.single??{bottomLeft:"└",bottomRight:"┘",topLeft:"┌",topRight:"┐"},"getCornerChars"),V=R(({autoHide:t=!1,color:o,contentHeight:L,dimColor:m,placement:c="right",scrollOffset:k,style:p,thumbChar:x,trackChar:w,viewportHeight:e})=>{const a=N(()=>{const h=Math.max(L,e);if(t&&h<=e)return null;const r=_(p),f=x??r.thumb,z=w??r.track,T=e*2,A=Math.min(e/h,1),C=Math.max(2,Math.round(T*A)),M=h-e,E=M>0?Math.min(Math.max(k/M,0),1):0,F=T-C,s=Math.round(E*F),S=s+C,i=[];for(let b=0;b<e;b+=1){const y=b*2,D=b*2+1,g=y>=s&&y<S,d=D>=s&&D<S;g&&d?i.push(f):g&&!d?i.push(r.lowerThumb??f):!g&&d?i.push(r.upperThumb??f):i.push(z)}return i},[L,e,k,p,x,w,t]);if(a===null)return null;if(c==="inset")return l(B,{flexDirection:"column",flexShrink:0,width:1,children:a.map((h,r)=>l(n,{color:o,dimColor:m,children:h},r))});const u=$(p),O=c==="left"?u.topLeft:u.topRight,P=c==="left"?u.bottomLeft:u.bottomRight;return I(B,{flexDirection:"column",flexShrink:0,width:1,children:[l(n,{color:o,dimColor:m,children:O}),a.map((h,r)=>l(n,{color:o,dimColor:m,children:h},r)),l(n,{color:o,dimColor:m,children:P})]})},"ScrollBar");export{V as ScrollBar,V as default};
@@ -1 +0,0 @@
1
- var y=Object.defineProperty;var m=(r,o)=>y(r,"name",{value:o,configurable:!0});import{jsxs as D,jsx as l}from"react/jsx-runtime";import{Box as b}from"../components/box.js";import{ScrollBar as g}from"./ScrollBar-U_37hlIT.js";var S=Object.defineProperty,O=m((r,o)=>S(r,"name",{value:o,configurable:!0}),"B");const A=O(({borderColor:r,borderDimColor:o,borderLeftColor:C,borderLeftDimColor:p,borderRightColor:u,borderRightDimColor:B,borderStyle:t="single",children:H,contentHeight:i,height:x,scrollBarAutoHide:h=!1,scrollBarPosition:v="right",scrollOffset:d,thumbChar:a,viewportHeight:c,...w})=>{const e=v==="left",f=e?"left":"right",n=e?C??r:u??r,s=e?p??o:B??o;return D(b,{flexDirection:"row",height:x,...w,children:[e&&l(g,{autoHide:h,color:n,contentHeight:i,dimColor:s,placement:f,scrollOffset:d,style:t,thumbChar:a,viewportHeight:c}),l(b,{borderColor:r,borderDimColor:o,borderLeft:!e,borderRight:e,borderStyle:t,flexGrow:1,overflow:"hidden",children:H}),!e&&l(g,{autoHide:h,color:n,contentHeight:i,dimColor:s,placement:f,scrollOffset:d,style:t,thumbChar:a,viewportHeight:c})]})},"ScrollBarBox");export{A as ScrollBarBox,A as default};
@@ -1 +0,0 @@
1
- var Y=Object.defineProperty;var L=(H,C)=>Y(H,"name",{value:C,configurable:!0});import{jsx as $}from"react/jsx-runtime";import{useRef as x,useState as Q,useEffect as j,useCallback as l,useImperativeHandle as U}from"react";import Z from"../ink/hooks/use-scroll-input.js";import{C as _}from"./controlled-scroll-view-CcUS50jx.js";var tt=Object.defineProperty,a=L((H,C)=>tt(H,"name",{value:C,configurable:!0}),"u");const ct=a(H=>{const{children:C,keyboard:A=!1,onContentHeightChange:b,onItemHeightChange:T,onScroll:O,onViewportSizeChange:P,overscan:E,ref:R,scrollAlignment:m="auto",selectedIndex:v,vimBindings:q=!1,virtualize:D,...F}=H,n=x(null),[s,G]=Q(0),I=x(0);j(()=>{I.current=s},[s]);const o=l(t=>{t!==I.current&&(G(t),O?.(t))},[O]),h=x(v);h.current=v;const k=l(()=>{const t=h.current;if(t===void 0||t<0)return null;const e=n.current?.getItemPosition(t);if(!e)return null;const i=n.current?.getViewportHeight()??0,g=n.current?.getContentHeight()??0;let r=e.top+e.height-i,c=e.top;r>c&&([r,c]=[c,r]);const B=Math.max(0,g-i);return{max:Math.min(B,c),min:Math.max(0,r)}},[]),u=l(t=>{const e=n.current?.getContentHeight()??0,i=n.current?.getViewportHeight()??0,g=Math.max(0,e-i);let r=Math.max(0,Math.min(t,g));const c=k();return c&&(r=Math.max(c.min,Math.min(r,c.max))),r},[k]),f=l((t,e,i,g)=>{const r=n.current?.getItemPosition(t);if(!r)return e;const c=g??n.current?.getViewportHeight()??0,B=n.current?.getContentHeight()??0;let p=e;switch(i){case"bottom":{p=r.top+r.height-c;break}case"center":{p=r.top+r.height/2-c/2;break}case"top":{p=r.top;break}default:{const S=r.top+r.height;r.top<=e&&S>=e+c?p=e:r.top<e?p=r.top:S>e+c&&(p=S-c)}}const X=Math.max(0,B-c);return Math.max(0,Math.min(p,X))},[]);let d=s;v!==void 0&&v>=0&&(d=f(v,s,m)),j(()=>{d!==s&&o(d)},[d,s,o]);const y=l((t,e)=>{if(h.current!==void 0&&h.current>=0){const i=f(h.current,s,m,t.height);o(i)}P?.(t,e)},[P,f,s,m,o]),J=l((t,e,i)=>{const g=h.current;if(g!==void 0&&g>=0){if(t<g){const r=u(s+(e-i));o(r)}else if(t===g){const r=f(t,s,m);o(r)}}T?.(t,e,i)},[T,f,m,s,u,o]),K=l((t,e)=>{if(h.current!==void 0&&h.current>=0){const i=f(h.current,s,m);o(i)}b?.(t,e)},[b,f,s,m,o]),z=x(0),M=l(t=>{const e=I.current,i=u(e+t);o(i)},[u,o]),w=l(()=>{const t=n.current?.getContentHeight()??0,e=n.current?.getViewportHeight()??0,i=Math.max(0,t-e),g=u(i);o(g)},[u,o]),V=l(()=>{const t=u(0);o(t)},[u,o]),N=l(()=>z.current,[]);Z({getViewportHeight:N,isActive:A,scrollBy:M,scrollToBottom:w,scrollToTop:V,vimBindings:q}),U(R,()=>({getBottomOffset:a(()=>n.current?.getBottomOffset()??0,"getBottomOffset"),getContentHeight:a(()=>n.current?.getContentHeight()??0,"getContentHeight"),getItemHeight:a(t=>n.current?.getItemHeight(t)??0,"getItemHeight"),getItemPosition:a(t=>n.current?.getItemPosition(t)??null,"getItemPosition"),getScrollOffset:a(()=>I.current,"getScrollOffset"),getViewportHeight:a(()=>n.current?.getViewportHeight()??0,"getViewportHeight"),remeasure:a(()=>n.current?.remeasure(),"remeasure"),remeasureItem:a(t=>n.current?.remeasureItem(t),"remeasureItem"),scrollBy:M,scrollTo:a(t=>{const e=u(t);o(e)},"scrollTo"),scrollToBottom:w,scrollToTop:V}),[u,o,M,w,V]);const W=l((t,e)=>{z.current=t.height,y(t,e)},[y]);return $(_,{onContentHeightChange:K,onItemHeightChange:J,onViewportSizeChange:W,overscan:E,ref:n,scrollOffset:d,virtualize:D,...F,children:C})},"ScrollList");export{ct as ScrollList};
@@ -1 +0,0 @@
1
- var X=Object.defineProperty;var D=(c,s)=>X(c,"name",{value:s,configurable:!0});import{jsxs as ee,jsx as M}from"react/jsx-runtime";import{useRef as g,useState as F,useCallback as o,useImperativeHandle as te}from"react";import re from"../ink/hooks/use-scroll-input.js";import{Box as oe}from"../components/box.js";import{R as ne,C as Y}from"./controlled-scroll-view-CcUS50jx.js";import{ScrollBar as le}from"./ScrollBar-U_37hlIT.js";var ie=Object.defineProperty,a=D((c,s)=>ie(c,"name",{value:s,configurable:!0}),"c");const ge=a(({children:c,debug:s=!1,followOutput:T=!1,followThreshold:V=3,keyboard:Z=!1,onContentHeightChange:y,onItemHeightChange:O,onReachEnd:x,onReachStart:H,onScroll:z,onViewportSizeChange:N,overscan:P,reachThreshold:h=5,ref:_,scrollbar:q=!1,scrollbarColor:J,scrollbarStyle:K="line",vimBindings:L=!1,virtualize:G,...p})=>{const[d,R,n]=ne(0),u=g(null),m=g(0),l=g(0),[j,Q]=F(0),[v,U]=F(0),w=g(!1),S=g(!1),i=o(()=>Math.max(0,m.current-l.current),[]),k=o(e=>{const r=i();x&&e>=r-h&&!w.current?(w.current=!0,x()):e<r-h&&(w.current=!1),H&&e<=h&&!S.current?(S.current=!0,H()):e>h&&(S.current=!1)},[x,H,h,i]),t=o(e=>{e!==n()&&(R(e),z?.(e),k(e))},[n,R,z,k]),E=o((e,r)=>{const f=n()>=i()-V;if(m.current=e,Q(e),y?.(e,r),T&&f&&e>r){const C=Math.max(0,e-l.current);t(C)}else{const C=Math.max(0,e-l.current);n()>C&&t(C)}},[y,T,V,n,i,t]),$=o((e,r)=>{l.current=e.height,U(e.height),N?.(e,r)},[N]),I=o(e=>{if(typeof e!="number"||Number.isNaN(e))return;const r=Math.max(0,m.current-l.current),f=Math.max(0,Math.min(n()+e,r));t(f)},[n,t]),A=o(e=>{if(typeof e!="number"||Number.isNaN(e))return;const r=Math.max(0,m.current-l.current),f=Math.max(0,Math.min(e,r));t(f)},[t]),b=o(()=>{const e=i();t(e)},[i,t]),B=o(()=>{t(0)},[t]),W=o(()=>l.current,[]);return re({getViewportHeight:W,isActive:Z,scrollBy:I,scrollToBottom:b,scrollToTop:B,vimBindings:L}),te(_,()=>({getBottomOffset:i,getContentHeight:a(()=>m.current,"getContentHeight"),getItemHeight:a(e=>u.current?.getItemHeight(e)??0,"getItemHeight"),getItemPosition:a(e=>u.current?.getItemPosition(e)??null,"getItemPosition"),getScrollOffset:n,getViewportHeight:a(()=>l.current,"getViewportHeight"),remeasure:a(()=>u.current?.remeasure(),"remeasure"),remeasureItem:a(e=>u.current?.remeasureItem(e),"remeasureItem"),scrollBy:I,scrollTo:A,scrollToBottom:b,scrollToTop:B}),[i,n,I,A,b,B]),q&&j>v&&v>0?ee(oe,{flexDirection:"row",flexGrow:p.flexGrow,flexShrink:p.flexShrink,overflow:"hidden",children:[M(Y,{children:c,debug:s,onContentHeightChange:E,onItemHeightChange:O,onViewportSizeChange:$,overscan:P,ref:u,scrollOffset:d,virtualize:G,...p,flexGrow:1}),M(le,{color:J,contentHeight:j,placement:"inset",scrollOffset:d,style:K,viewportHeight:v})]}):M(Y,{children:c,debug:s,onContentHeightChange:E,onItemHeightChange:O,onViewportSizeChange:$,overscan:P,ref:u,scrollOffset:d,virtualize:G,...p})},"ScrollView");export{ge as ScrollView};
@@ -1 +0,0 @@
1
- var a=Object.defineProperty;var c=(t,e)=>a(t,"name",{value:e,configurable:!0});import f,{useRef as i,useMemo as m}from"react";var s=Object.defineProperty,h=c((t,e)=>s(t,"name",{value:e,configurable:!0}),"a");function g({children:t,items:e,style:u}){const o=i([]),n=i(0);if(e.length>n.current){for(let r=n.current;r<e.length;r++)o.current.push(t(e[r],r));n.current=e.length}const l=m(()=>({flexDirection:"column",...u}),[u]);return f.createElement("box",l,...o.current)}c(g,"Static");h(g,"Static");export{g as Static};
@@ -1 +0,0 @@
1
- var x=Object.defineProperty;var u=(a,t)=>x(a,"name",{value:t,configurable:!0});var w=Object.defineProperty,I=u((a,t)=>w(a,"name",{value:t,configurable:!0}),"g");class c{static{u(this,"TreeNodeMap")}static{I(this,"TreeNodeMap")}orderedIds;rootIds;map;constructor(t){this.map=new Map,this.orderedIds=[],this.rootIds=[],this.buildFromData(t)}entries(){return this.map.entries()}get(t){return this.map.get(t)}get size(){return this.map.size}getVisibleIds(t){const n=[],s=[];for(let e=this.rootIds.length-1;e>=0;e--)s.push(this.rootIds[e]);for(;s.length>0;){const e=s.pop();n.push(e);const r=this.map.get(e);if(r&&t.has(e)&&r.childrenIds.length>0)for(let i=r.childrenIds.length-1;i>=0;i--)s.push(r.childrenIds[i])}return n}isDescendantOf(t,n){let s=t;for(;s!==void 0;){const e=this.map.get(s);if(!e)return!1;if(e.parentId===n)return!0;s=e.parentId}return!1}withChildren(t,n){if(!this.map.get(t))return this;const s=I(r=>{const i=this.map.get(r);return r===t?{...i.node,children:n}:i.childrenIds.length>0?{...i.node,children:i.childrenIds.map(p=>s(p))}:i.node},"rebuildFromMap"),e=this.rootIds.map(r=>s(r));return new c(e)}buildFromData(t){const n=[];for(let e=t.length-1;e>=0;e--)n.push({depth:0,node:t[e],parentId:void 0,siblingIndex:e,siblings:t});for(const e of t)this.rootIds.push(e.id);let s=0;for(;n.length>0;){const e=n.pop(),{depth:r,node:i,parentId:p,siblingIndex:o,siblings:l}=e;if(this.map.has(i.id))throw new Error(`TreeView: Duplicate node id '${i.id}' found. All node ids must be unique.`);const h=i.children??[],g=h.length>0||i.isParent===!0,f=h.map(d=>d.id),m=o>0?l[o-1].id:void 0,b=o<l.length-1?l[o+1].id:void 0,v={childrenIds:f,depth:r,flatIndex:s,hasChildren:g,nextSiblingId:b,node:i,parentId:p,previousSiblingId:m,siblingCount:l.length,siblingIndex:o};if(this.map.set(i.id,v),this.orderedIds.push(i.id),s++,g)for(let d=h.length-1;d>=0;d--)n.push({depth:r+1,node:h[d],parentId:i.id,siblingIndex:d,siblings:h})}}}export{c as TreeNodeMap};
@@ -1 +0,0 @@
1
- var M=Object.defineProperty;var c=(e,o)=>M(e,"name",{value:o,configurable:!0});import{jsxs as m,jsx as r}from"react/jsx-runtime";import V from"../ink/hooks/use-is-screen-reader-enabled.js";import{Box as w}from"../components/box.js";import{Text as n}from"../components/text.js";import{theme as A}from"./treeViewTheme-1RIZyB4M.js";import{useTreeView as O}from"./useTreeView-BoMMeRPq.js";import{useTreeViewState as P}from"./useTreeViewState-CRPCUWrb.js";var D=Object.defineProperty,T=c((e,o)=>D(e,"name",{value:o,configurable:!0}),"c");const R="❯",k="▾",B="▸",U="☒",q="☐",z="✔",G="⟳";function I(e,o,d,l){const{depth:u,hasChildren:f,isExpanded:a,isLoading:h,isSelected:g}=o,t=[e,`item ${d} of ${l}`];return u>0&&t.push(`depth ${u}`),f&&t.push(a?"expanded":"collapsed"),h&&t.push("loading"),g&&t.push("selected"),t.join(", ")}c(I,"buildNodeAriaLabel");T(I,"buildNodeAriaLabel");function N(e,o){const d={};return e.hasChildren&&(d.expanded=e.isExpanded),o!=="none"&&(d.selected=e.isSelected),Object.keys(d).length>0?d:void 0}c(N,"buildNodeAriaState");T(N,"buildNodeAriaState");function j({isScreenReaderEnabled:e,node:o,nodeState:d,selectionMode:l,siblingCount:u,siblingPosition:f,styles:a}){const{depth:h,hasChildren:g,isExpanded:t,isFocused:b,isLoading:s,isSelected:v}=d;let i=" ";s?i=G:g&&(i=t?k:B);const x=e?I(o.label,d,f,u):void 0;return m(w,{...a.node({isFocused:b}),"aria-role":"listitem","aria-state":N(d,l),children:[x&&r(n,{"aria-label":x}),b&&r(n,{...a.focusIndicator(),"aria-hidden":!0,children:R}),h>0&&r(w,{...a.indent({depth:h}),"aria-hidden":!0}),l==="multiple"&&r(n,{...a.selectedIndicator(),"aria-hidden":!0,children:v?U:q}),r(n,{...s?a.loadingIndicator():a.expandIndicator({isExpanded:t}),"aria-hidden":!0,children:i}),r(n,{...a.label({isFocused:b,isSelected:v}),children:o.label}),l==="single"&&v&&m(n,{...a.selectedIndicator(),"aria-hidden":!0,children:[" ",z]})]})}c(j,"TreeViewNode");T(j,"TreeViewNode");var H=Object.defineProperty,J=c((e,o)=>H(e,"name",{value:o,configurable:!0}),"T");function K({ariaLabel:e="Tree view",data:o,defaultExpanded:d,defaultSelected:l,isDisabled:u=!1,loadChildren:f,onExpandChange:a,onFocusChange:h,onLoadError:g,onSelectChange:t,renderNode:b,selectionMode:s="none",visibleNodeCount:v}){const i=P({data:o,defaultExpanded:d,defaultSelected:l,onExpandChange:a,onFocusChange:h,onSelectChange:t,selectionMode:s,visibleNodeCount:v});O({isDisabled:u,loadChildren:f,onLoadError:g,selectionMode:s,state:i});const{styles:x}=A,E=V();return m(w,{...x.container(),"aria-role":"list",children:[E&&r(n,{"aria-label":e}),i.hasScrollUp&&m(n,{"aria-label":`${i.viewportFromIndex} more items above`,dimColor:!0,children:[" ","↑",i.viewportFromIndex," ","more above"]}),i.viewportNodes.map(({node:p,state:C})=>{const S=i.nodeMap.get(p.id),y=S?S.siblingIndex+1:1,F=S?S.siblingCount:1;if(b){const L=E?I(p.label,C,y,F):void 0;return m(w,{"aria-role":"listitem","aria-state":N(C,s),children:[L&&r(n,{"aria-label":L}),b({node:p,state:C})]},p.id)}return r(j,{isScreenReaderEnabled:E,node:p,nodeState:C,selectionMode:s,siblingCount:F,siblingPosition:y,styles:x},p.id)}),i.hasScrollDown&&m(n,{"aria-label":`${i.visibleCount-i.viewportToIndex} more items below`,dimColor:!0,children:[" ","↓",i.visibleCount-i.viewportToIndex," ","more below"]})]})}c(K,"TreeView");J(K,"TreeView");export{K as TreeView};
@@ -1 +0,0 @@
1
- var u=Object.defineProperty;var r=(i,t)=>u(i,"name",{value:t,configurable:!0});import{createDecMode as f,setMode as o,resetMode as d}from"@visulima/ansi";import{EventEmitter as a}from"tseep";import{Renderer as s,TerminalGuard as l}from"./Renderer-DJXooAsp.js";var w=Object.defineProperty,c=r((i,t)=>w(i,"name",{value:t,configurable:!0}),"i");const h=f(2026),g=o(h),p=d(h);class k extends a{static{r(this,"TuiApp")}static{c(this,"TuiApp")}renderer;terminal=null;backBuffer;width;height;isRunning=!1;stdoutBuffer=[];stderrBuffer=[];constructor(){super(),this.width=process.stdout.columns||80,this.height=process.stdout.rows||24,this.renderer=new s(this.width,this.height),this.backBuffer=new Uint32Array(this.width*this.height*2)}start(){this.isRunning||(this.terminal=new l(!0),this.isRunning=!0)}quit(){this.emit("quit")}stop(){this.isRunning=!1,this.terminal?.leave(),this.terminal=null,this.stdoutBuffer.length>0&&(process.stdout.write(this.stdoutBuffer.join("")),this.stdoutBuffer=[]),this.stderrBuffer.length>0&&(process.stderr.write(this.stderrBuffer.join("")),this.stderrBuffer=[])}writeStdout(t){this.isRunning?this.stdoutBuffer.push(t):process.stdout.write(t)}writeStderr(t){this.isRunning?this.stderrBuffer.push(t):process.stderr.write(t)}getBuffer(){return this.backBuffer}getSize(){return{height:this.height,width:this.width}}resize(t,e){this.width=t,this.height=e,this.renderer=new s(t,e),this.backBuffer=new Uint32Array(t*e*2)}beforeFlushListeners=[];onBeforeFlush(t){return this.beforeFlushListeners.push(t),()=>{this.beforeFlushListeners=this.beforeFlushListeners.filter(e=>e!==t)}}paintNow(t,e){if(this.isRunning){t(this.width,this.height),e(this.backBuffer,this.width,this.height);for(const n of this.beforeFlushListeners)n(this.backBuffer,this.width,this.height);this.renderer.writeRaw(g);try{this.renderer.render(this.backBuffer)}finally{this.renderer.writeRaw(p)}}}}export{k as TuiApp};
@@ -1,3 +0,0 @@
1
- var z=Object.defineProperty;var v=(e,t)=>z(e,"name",{value:t,configurable:!0});import{createContext as k,useContext as m,useState as M,useCallback as C,useEffect as h,useMemo as y,useRef as b}from"react";var B=Object.defineProperty,s=v((e,t)=>B(e,"name",{value:t,configurable:!0}),"o");const g=k(null),P=s(e=>{const t=m(g);if(!t)throw new Error("useInput must be used within a TUI App environment");const r=b(e);h(()=>{r.current=e}),h(()=>{const n=s(i=>({backspace:!1,ctrl:!1,delete:!1,downArrow:!1,end:!1,escape:!1,home:!1,leftArrow:!1,meta:!1,pageDown:!1,pageUp:!1,return:!1,rightArrow:!1,shift:!1,tab:!1,upArrow:!1,...i}),"key"),a=s(i=>{switch(i){case"backspace":return r.current("",n({backspace:!0}));case"delete":return r.current("",n({delete:!0}));case"down":return r.current("",n({downArrow:!0}));case"end":return r.current("",n({end:!0}));case"enter":return r.current("",n({return:!0}));case"escape":return r.current("",n({escape:!0}));case"home":return r.current("",n({home:!0}));case"left":return r.current("",n({leftArrow:!0}));case"pageDown":return r.current("",n({pageDown:!0}));case"pageUp":return r.current("",n({pageUp:!0}));case"right":return r.current("",n({rightArrow:!0}));case"shift-tab":return r.current("",n({shift:!0,tab:!0}));case"tab":return r.current("",n({tab:!0}));case"up":return r.current("",n({upArrow:!0}))}},"handleKeydown"),u=s(i=>{r.current(i,n({ctrl:!0}))},"handleCtrl"),c=s(i=>{r.current(i,n({meta:!0}))},"handleMeta"),o=s((i,S)=>{i.startsWith("\x1B")||i==="\r"||i===`
2
- `||r.current(i,n({ctrl:S?.ctrl??!1,meta:S?.meta??!1}))},"handleData");return t.input.on("keydown",a),t.input.on("ctrl",u),t.input.on("meta",c),t.input.on("data",o),()=>{t.input.off("keydown",a),t.input.off("ctrl",u),t.input.off("meta",c),t.input.off("data",o)}},[t])},"useInput"),q=s((e,t={})=>{const r=m(g);if(!r)throw new Error("usePaste must be used within a TUI App environment");const{isActive:n=!0}=t,a=b(e);h(()=>{a.current=e}),h(()=>{if(!n)return;const u=s(c=>{a.current(c)},"onPaste");return r.input.on("paste",u),()=>{r.input.off("paste",u)}},[r,n])},"usePaste"),H=s(()=>{const e=m(g);if(!e)throw new Error("useTuiContext must be used within a TUI App environment");return e},"useTuiContext"),F=s(()=>{const e=m(g);if(!e)throw new Error("useApp must be used within a TUI App environment");return{exit:s(()=>e.app.quit(),"exit"),quit:s(()=>e.app.quit(),"quit")}},"useApp"),V=s(()=>{const e=m(g);if(!e)throw new Error("useWindowSize must be used within a TUI App environment");const[t,r]=M(()=>e.app.getSize());return h(()=>{const n=s(()=>r(e.app.getSize()),"onResize");return e.app.on("resize",n),()=>{e.app.off("resize",n)}},[e]),{columns:t.width,rows:t.height}},"useWindowSize"),E=s(e=>e.replaceAll(/\r?\n/g,`\r
3
- `),"toRawNewlines"),j=s(()=>{const e=m(g);return{stdout:process.stdout,write:s(t=>{e?e.writeStdout(t):process.stdout.write(E(t))},"write")}},"useStdout"),K=s(()=>{const e=m(g);return{stderr:process.stderr,write:s(t=>{e?e.writeStderr(t):process.stderr.write(E(t))},"write")}},"useStderr"),L=s(()=>{const e=!!process.stdin.setRawMode;return{isRawModeSupported:e,setRawMode:s(t=>{e&&process.stdin.setRawMode(t)},"setRawMode"),stdin:process.stdin}},"useStdin"),O=s(e=>!e||!e.yogaNode?{height:0,width:0}:{height:e.yogaNode.getComputedHeight()??0,width:e.yogaNode.getComputedWidth()??0},"measureElement"),D={height:0,left:0,top:0,width:0},$=s(e=>{const t=m(g),[r,n]=M(D),[a,u]=M(!1),c=C(()=>{if(!e.current?.yogaNode){u(!1);return}const o=e.current.getLayout();n(i=>i.width===o.width&&i.height===o.height&&i.left===o.left&&i.top===o.top?i:{height:o.height,left:o.left,top:o.top,width:o.width}),u(!0)},[e]);return h(c),h(()=>{if(t?.app)return t.app.on("resize",c),()=>{t.app.off("resize",c)}},[t,c]),y(()=>({...r,hasMeasured:a}),[r,a])},"useBoxMetrics"),G=s(()=>!1,"useIsScreenReaderEnabled"),J=s(()=>({setCursorPosition:s(e=>{},"setCursorPosition")}),"useCursor"),Q=s(({contentHeight:e,viewportHeight:t})=>{const[r,n]=M(0),a=Math.max(0,e-t),u=C(c=>Math.max(0,Math.min(c,a)),[a]);return h(()=>{n(c=>u(c))},[a,u]),y(()=>({atBottom:u(r)>=a,atTop:u(r)<=0,offset:u(r),scrollBy:s(c=>n(o=>u(o+c)),"scrollBy"),scrollDown:s(()=>n(c=>u(c+1)),"scrollDown"),scrollToBottom:s(()=>n(a),"scrollToBottom"),scrollToTop:s(()=>n(0),"scrollToTop"),scrollUp:s(()=>n(c=>u(c-1)),"scrollUp")}),[r,a,u])},"useScrollable"),X=s(e=>{const t=m(g);if(!t)throw new Error("useMouse must be used within a TUI App environment");const r=b(e);h(()=>{r.current=e}),h(()=>{const n=s(a=>r.current(a),"onMouse");return t.input.on("mouse",n),()=>{t.input.off("mouse",n)}},[t])},"useMouse"),Y=s(({initialValue:e="",isActive:t=!0,onChange:r,onSubmit:n}={})=>{const[a,u]=M(e),[c,o]=M(e.length),i=b(a),S=b(c);h(()=>{i.current=a}),h(()=>{S.current=c});const A=b(r);h(()=>{A.current=r});const I=b(n);h(()=>{I.current=n});const R=C(w=>{u(w),o(w.length)},[]),U=C(()=>{u(""),o(0),A.current?.("")},[]);P((w,f)=>{if(!t)return;const{current:p}=S,d=i.current;if(f.return){I.current?.(d);return}if(!f.escape){if(f.leftArrow){o(Math.max(0,p-1));return}if(f.rightArrow){o(Math.min(d.length,p+1));return}if(f.home||f.ctrl&&w==="a"){o(0);return}if(f.end||f.ctrl&&w==="e"){o(d.length);return}if(f.backspace){if(p===0)return;const l=d.slice(0,p-1)+d.slice(p);u(l),o(p-1),A.current?.(l);return}if(f.delete){if(p>=d.length)return;const l=d.slice(0,p)+d.slice(p+1);u(l),A.current?.(l);return}if(f.ctrl&&w==="u"){const l=d.slice(p);u(l),o(0),A.current?.(l);return}if(f.ctrl&&w==="k"){const l=d.slice(0,p);u(l),A.current?.(l);return}if(f.ctrl&&w==="w"){const l=d.slice(0,p).replace(/\S+\s*$/,""),T=l+d.slice(p);u(T),o(l.length),A.current?.(T);return}if(!(f.ctrl||f.meta)&&w&&w.length>0){const l=d.slice(0,p)+w+d.slice(p);u(l),o(p+w.length),A.current?.(l)}}});const x=m(g);return h(()=>{if(!x||!t)return;const w=s(f=>{const p=f.replaceAll(/[\u0000-\u0008\u000B-\u001F\u007F]/g,"").replaceAll(/\r\n?/g," "),{current:d}=S,l=i.current,T=l.slice(0,d)+p+l.slice(d);u(T),o(d+p.length),A.current?.(T)},"onPaste");return x.input.on("paste",w),()=>{x.input.off("paste",w)}},[x,t]),{clear:U,cursor:c,setValue:R,value:a}},"useTextInput");export{g as TuiContext,O as measureElement,F as useApp,$ as useBoxMetrics,J as useCursor,P as useInput,G as useIsScreenReaderEnabled,X as useMouse,q as usePaste,Q as useScrollable,K as useStderr,L as useStdin,j as useStdout,Y as useTextInput,H as useTuiContext,V as useWindowSize};
@@ -1 +0,0 @@
1
- var c=Object.defineProperty;var i=(r,e)=>c(r,"name",{value:e,configurable:!0});import{enableNormalMouse as f,enableAnyEventMouse as m,enableSgrMouse as d,disableSgrMouse as b,disableAnyEventMouse as p,disableNormalMouse as y}from"@visulima/ansi";const B={mouseButton:{off:y,on:f},mouseMotion:{off:p,on:m},mouseMotionOthers:{off:"\x1B[?1015l",on:"\x1B[?1015h"},mouseSGR:{off:b,on:d}},M=/\[<(\d+);(\d+);(\d+)(M)$/i;var x=Object.defineProperty,g=i((r,e)=>x(r,"name",{value:e,configurable:!0}),"i");const v={0:"left",1:"middle",2:"right"},N={32:"left",33:"middle",34:"right"},A=g(r=>{const e=M.exec(r);if(!e)return;const a=Number(e[1]),t=Number(e[2]),n=Number(e[3]),s=e[4]==="m",o=a&-29;if(o===64||o===65)return{direction:o===64?"scrollup":"scrolldown",type:"scroll",x:t,y:n};if(o===35)return{type:"move",x:t,y:n};const u=N[o];if(u)return{action:s?"release":"press",button:u,type:"drag",x:t,y:n};const l=v[o];if(l)return{action:s?"release":"press",button:l,type:"click",x:t,y:n}},"parseSgrMouse");export{B as M,A as a};
@@ -1 +0,0 @@
1
- var y=Object.defineProperty;var p=(e,r)=>y(e,"name",{value:r,configurable:!0});var C=Object.defineProperty,l=p((e,r)=>C(e,"name",{value:r,configurable:!0}),"o");const x=l(e=>{const r=e.codePointAt(0);return r!==void 0&&r>=48&&r<=63},"isCsiParameterCharacter"),g=l(e=>{const r=e.codePointAt(0);return r!==void 0&&r>=32&&r<=47},"isCsiIntermediateCharacter"),S=l(e=>{const r=e.codePointAt(0);return r!==void 0&&r>=64&&r<=126},"isCsiFinalCharacter"),v=l(e=>{const r=e.codePointAt(0);return r!==void 0&&r>=32&&r<=47},"isEscapeIntermediateCharacter"),B=l(e=>{const r=e.codePointAt(0);return r!==void 0&&r>=48&&r<=126},"isEscapeFinalCharacter"),m=l(e=>{const r=e.codePointAt(0);return r!==void 0&&r>=128&&r<=159},"isC1ControlCharacter"),f=l((e,r)=>{let n=r;for(;n<e.length;){const c=e[n];if(!x(c))break;n++}const t=e.slice(r,n),a=n;for(;n<e.length;){const c=e[n];if(!g(c))break;n++}const o=e.slice(a,n),i=e[n];if(!(i===void 0||!S(i)))return{endIndex:n+1,finalCharacter:i,intermediateString:o,parameterString:t}},"readCsiSequence"),h=l((e,r,n)=>{for(let t=r;t<e.length;t++){const a=e[t];if(n&&a==="\x07"||a==="œ")return t+1;if(a==="\x1B"){const o=e[t+1];if(o==="\x1B"){t++;continue}if(o==="\\")return t+2}}},"findControlStringTerminatorIndex"),w=l((e,r)=>{let n=r;for(;n<e.length;){const o=e[n];if(!v(o))break;n++}const t=e.slice(r,n),a=e[n];if(!(a===void 0||!B(a)))return{endIndex:n+1,finalCharacter:a,intermediateString:t}},"readEscapeSequence"),I=l(e=>{switch(e){case"]":return{allowBellTerminator:!0,type:"osc"};case"^":return{allowBellTerminator:!1,type:"pm"};case"_":return{allowBellTerminator:!1,type:"apc"};case"P":return{allowBellTerminator:!1,type:"dcs"};case"X":return{allowBellTerminator:!1,type:"sos"};default:return}},"getControlStringFromEscapeIntroducer"),T=l(e=>{switch(e){case"Ÿ":return{allowBellTerminator:!1,type:"apc"};case"":return{allowBellTerminator:!1,type:"dcs"};case"":return{allowBellTerminator:!0,type:"osc"};case"ž":return{allowBellTerminator:!1,type:"pm"};case"˜":return{allowBellTerminator:!1,type:"sos"};default:return}},"getControlStringFromC1Introducer"),A=l(e=>{if(e.includes("\x1B"))return!0;for(const r of e)if(m(r))return!0;return!1},"hasAnsiControlCharacters"),u=l((e,r,n,t)=>(t>n&&e.push({type:"text",value:r.slice(n,t)}),e.push({type:"invalid",value:r.slice(t)}),e),"malformedFromIndex"),b=l(e=>{if(!A(e))return[{type:"text",value:e}];const r=[];let n=0;for(let t=0;t<e.length;){const a=e[t];if(a===void 0)break;if(a==="\x1B"){const i=e[t+1];if(i===void 0)return u(r,e,n,t);if(i==="["){const s=f(e,t+2);if(s===void 0)return u(r,e,n,t);t>n&&r.push({type:"text",value:e.slice(n,t)}),r.push({finalCharacter:s.finalCharacter,intermediateString:s.intermediateString,parameterString:s.parameterString,type:"csi",value:e.slice(t,s.endIndex)}),t=s.endIndex,n=t;continue}const c=I(i);if(c!==void 0){const s=h(e,t+2,c.allowBellTerminator);if(s===void 0)return u(r,e,n,t);t>n&&r.push({type:"text",value:e.slice(n,t)}),r.push({type:c.type,value:e.slice(t,s)}),t=s,n=t;continue}const d=w(e,t+1);if(d===void 0){if(v(i))return u(r,e,n,t);t>n&&r.push({type:"text",value:e.slice(n,t)}),t++,n=t;continue}t>n&&r.push({type:"text",value:e.slice(n,t)}),r.push({finalCharacter:d.finalCharacter,intermediateString:d.intermediateString,type:"esc",value:e.slice(t,d.endIndex)}),t=d.endIndex,n=t;continue}if(a==="›"){const i=f(e,t+1);if(i===void 0)return u(r,e,n,t);t>n&&r.push({type:"text",value:e.slice(n,t)}),r.push({finalCharacter:i.finalCharacter,intermediateString:i.intermediateString,parameterString:i.parameterString,type:"csi",value:e.slice(t,i.endIndex)}),t=i.endIndex,n=t;continue}const o=T(a);if(o!==void 0){const i=h(e,t+1,o.allowBellTerminator);if(i===void 0)return u(r,e,n,t);t>n&&r.push({type:"text",value:e.slice(n,t)}),r.push({type:o.type,value:e.slice(t,i)}),t=i,n=t;continue}if(a==="œ"){t>n&&r.push({type:"text",value:e.slice(n,t)}),r.push({type:"st",value:a}),t++,n=t;continue}if(m(a)){t>n&&r.push({type:"text",value:e.slice(n,t)}),r.push({type:"c1",value:a}),t++,n=t;continue}t++}return n<e.length&&r.push({type:"text",value:e.slice(n)}),r},"tokenizeAnsi");export{A as h,b as t};
@@ -1 +0,0 @@
1
- var B=Object.defineProperty;var y=(t,l)=>B(t,"name",{value:l,configurable:!0});var L=Object.defineProperty,u=y((t,l)=>L(t,"name",{value:l,configurable:!0}),"u");const P=[1,8,2,16,4,32,64,128],w=u((t,l)=>{const b=Math.max(0,t*2),x=Math.max(0,l*4),f=new Uint8Array(t*l),s=new Uint8Array(t*l),m=u((i,o)=>{if(i<0||o<0||i>=b||o>=x)return;const c=Math.floor(i/2),h=Math.floor(o/4),e=i%2,r=o%4,a=P[r*2+e],n=h*t+c;(f[n]&a)===0&&(f[n]=(f[n]??0)|a,s[n]=1)},"plotPoint");return{cellHeight:l,cellWidth:t,clear:u(()=>{f.fill(0),s.fill(0)},"clear"),flush:u((i,o)=>{for(const[c,h]of f.entries()){if(s[c]===0)continue;const e=c%t,r=Math.floor(c/t),a=10240+h;i.setCell(e,r,a,o)}},"flush"),pixelHeight:x,pixelWidth:b,plotLine:u((i,o,c,h)=>{let e=Math.round(i),r=Math.round(o);const a=Math.round(c),n=Math.round(h),M=Math.abs(a-e),g=e<a?1:-1,d=-Math.abs(n-r),A=r<n?1:-1;let p=M+d;for(;m(e,r),!(e===a&&r===n);){const v=2*p;if(v>=d){if(e===a)break;p+=d,e+=g}if(v<=M){if(r===n)break;p+=M,r+=A}}},"plotLine"),plotPoint:m}},"createBrailleGrid");export{w as c};
@@ -1 +0,0 @@
1
- var g=Object.defineProperty;var c=(r,n)=>g(r,"name",{value:n,configurable:!0});import t from"@visulima/colorize";var f=Object.defineProperty,i=c((r,n)=>f(r,"name",{value:n,configurable:!0}),"i");const b=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,d=/^ansi256\(\s?(\d+)\s?\)$/,l=i(r=>r in t,"isNamedColor"),m=i((r,n,e)=>{if(!n)return r;if(l(n)){if(e==="foreground")return t[n](r);const o=`bg${n[0].toUpperCase()+n.slice(1)}`;return t[o](r)}if(n.startsWith("#"))return e==="foreground"?t.hex(n)(r):t.bgHex(n)(r);if(n.startsWith("ansi256")){const o=d.exec(n);if(!o)return r;const s=Number(o[1]);return e==="foreground"?t.ansi256(s)(r):t.bgAnsi256(s)(r)}if(n.startsWith("rgb")){const o=b.exec(n);if(!o)return r;const s=Number(o[1]),u=Number(o[2]),a=Number(o[3]);return e==="foreground"?t.rgb(s,u,a)(r):t.bgRgb(s,u,a)(r)}return r},"colorize"),N=i(r=>{const n=m("x",r,"background");if(n!=="x")return n.split("x")[0]},"getBackgroundColorEscape");export{m as d,N as g};
@@ -1 +0,0 @@
1
- var N=Object.defineProperty;var g=(n,t)=>N(n,"name",{value:t,configurable:!0});import{g as m}from"./dom-CXB-19sK.js";import{t as O}from"./measure-text-Ce2widM1.js";import{squashTextNodesWithMap as S}from"./squashTextNodesWithMap-DCdi3SZ2.js";var v=Object.defineProperty,l=g((n,t)=>v(n,"name",{value:t,configurable:!0}),"f");const x=l(n=>{if(n.nodeName==="#text"){const r=O(n.nodeValue);return{charOffsetMap:new Map([[n,{end:r.length,start:0}]]),styledLine:r}}const t=new Map,e=S(n,t,{current:0}),s=O(e);return t.set(n,{end:s.length,start:0}),{charOffsetMap:t,styledLine:s}},"getPlainTextFromDomNode"),y=l((n,t)=>{if(!n.startContainer||!n.endContainer)return;const e=l((i,h)=>{const o=t.get(i);if(!o)return;if(i.nodeName==="#text")return o.start+h;const d=i;if(h>=d.childNodes.length)return o.end;const a=d.childNodes[h],u=t.get(a);if(u)return u.start;for(let f=h-1;f>=0;f--){const c=d.childNodes[f],C=t.get(c);if(C)return C.end}return o.start},"getOffset"),s=e(n.startContainer,n.startOffset),r=e(n.endContainer,n.endOffset);if(!(s===void 0||r===void 0))return{end:r,start:s}},"getRangeCharacterOffsets"),p=l((n,t,e,s)=>{if(n===e)return t===s?0:t<s?-1:1;const r=m(n),i=m(e);let h,o=0;for(;o<r.length&&o<i.length&&r[o]===i[o];)h=r[o],o++;if(!h)return 0;if(o===r.length){const c=i[o],C=n.childNodes.indexOf(c);return t<=C?-1:1}if(o===i.length){const c=r[o];return e.childNodes.indexOf(c)<s?-1:1}const d=r[o],a=i[o],u=h.childNodes.indexOf(d),f=h.childNodes.indexOf(a);return u<f?-1:1},"comparePoints");class A{static{g(this,"Range")}static{l(this,"Range")}startContainer=void 0;startOffset=0;endContainer=void 0;endOffset=0;collapsed=!0;commonAncestorContainer=void 0;setStart(t,e){this.startContainer=t,this.startOffset=e,this.updateCollapsed(),this.updateCommonAncestor()}setEnd(t,e){this.endContainer=t,this.endOffset=e,this.updateCollapsed(),this.updateCommonAncestor()}collapse(t){t?(this.endContainer=this.startContainer,this.endOffset=this.startOffset):(this.startContainer=this.endContainer,this.startOffset=this.endOffset),this.collapsed=!0,this.updateCommonAncestor()}selectNode(t){if(!t.parentNode)throw new Error("Node has no parent");const e=t.parentNode.childNodes.indexOf(t);this.setStart(t.parentNode,e),this.setEnd(t.parentNode,e+1)}selectNodeContents(t){this.setStart(t,0),t.nodeName==="#text"?this.setEnd(t,t.nodeValue.length):this.setEnd(t,t.childNodes.length)}toString(){if(this.collapsed||!this.startContainer||!this.endContainer||!this.commonAncestorContainer)return"";const{charOffsetMap:t,styledLine:e}=x(this.commonAncestorContainer),s=y(this,t);if(!s)return"";const r=e.slice(s.start,s.end);return r.getTextRange(0,r.length)}updateCollapsed(){this.collapsed=this.startContainer===this.endContainer&&this.startOffset===this.endOffset}updateCommonAncestor(){if(!this.startContainer||!this.endContainer){this.commonAncestorContainer=void 0;return}if(this.startContainer===this.endContainer){this.commonAncestorContainer=this.startContainer;return}const t=m(this.startContainer),e=m(this.endContainer);let s;for(let r=0;r<Math.min(t.length,e.length)&&t[r]===e[r];r++)s=t[r];this.commonAncestorContainer=s}}class L{static{g(this,"Selection")}static{l(this,"Selection")}anchorNode=void 0;anchorOffset=0;focusNode=void 0;focusOffset=0;isCollapsed=!0;rangeCount=0;ranges=[];listeners=new Set;onChange(t){return this.listeners.add(t),()=>{this.listeners.delete(t)}}toString(){return this.ranges.map(t=>t.toString()).join("")}getRangeAt(t){return this.ranges[t]}addRange(t){this.ranges.includes(t)||(this.ranges.push(t),this.rangeCount=this.ranges.length,this.rangeCount===1&&(this.anchorNode=t.startContainer,this.anchorOffset=t.startOffset,this.focusNode=t.endContainer,this.focusOffset=t.endOffset,this.isCollapsed=t.collapsed),this.notifyChange())}removeRange(t){const e=this.ranges.indexOf(t);e!==-1&&(this.ranges.splice(e,1),this.rangeCount=this.ranges.length,this.rangeCount===0&&this.clearState(),this.notifyChange())}removeAllRanges(){this.ranges=[],this.rangeCount=0,this.clearState(),this.notifyChange()}collapse(t,e){this.removeAllRanges();const s=new A;s.setStart(t,e),s.setEnd(t,e),this.addRange(s)}containsNode(t,e=!1){if(!t.parentNode)return!1;const s=t.parentNode,r=s.childNodes.indexOf(t),i=s,h=r,o=s,d=r+1;return this.ranges.some(a=>{if(!a.startContainer||!a.endContainer)return!1;const u=p(a.startContainer,a.startOffset,i,h),f=p(a.endContainer,a.endOffset,o,d);if(e){const c=p(a.startContainer,a.startOffset,o,d),C=p(a.endContainer,a.endOffset,i,h);return c<0&&C>0}return u<=0&&f>=0})}clearState(){this.anchorNode=void 0,this.anchorOffset=0,this.focusNode=void 0,this.focusOffset=0,this.isCollapsed=!0}notifyChange(){for(const t of this.listeners)t()}}const T=l((n,t)=>{if(n.length===0||t.start>=t.end)return n;const e=n.clone(),s=Math.max(0,t.start),r=Math.min(n.length,t.end);for(let i=s;i<r;i++)e.setInverted(i,!0);return e},"applySelectionToStyledLine");export{A as Range,L as Selection,T as applySelectionToStyledLine,p as comparePoints};
@@ -1 +0,0 @@
1
- var tr=Object.defineProperty;var L=(n,o)=>tr(n,"name",{value:o,configurable:!0});import{jsx as M,jsxs as nr}from"react/jsx-runtime";import{useState as U,useRef as d,useCallback as A,useLayoutEffect as q,isValidElement as E,useImperativeHandle as cr,Fragment as G}from"react";import{P as W}from"./layout-BMo200nF.js";import{Box as b}from"../components/box.js";var ur=Object.defineProperty,or=L((n,o)=>ur(n,"name",{value:o,configurable:!0}),"r");const Q=or(n=>{const[o,m]=U(n),s=d(n),H=A(C=>{const S=typeof C=="function"?C(s.current):C;s.current=S,m(S)},[]),v=A(()=>s.current,[]);return[o,H,v]},"useStateRef");var ir=Object.defineProperty,x=L((n,o)=>ir(n,"name",{value:o,configurable:!0}),"b");const lr=x(({children:n,index:o,measureKey:m,onMeasure:s,width:H})=>{const v=d(null);return q(()=>{if(v.current){const{height:C}=W(v.current);s(o,C)}},[o,s,H,m,n]),M(b,{flexDirection:"column",flexShrink:0,ref:v,width:"100%",children:n})},"MeasurableItem"),R=x(n=>{if(n==null)return[];if(Array.isArray(n)){const o=[];for(let m=0;m<n.length;m+=1){const s=n[m];E(s)&&s.type===G?o.push(...R(s.props.children)):o.push(s)}return o}return E(n)&&n.type===G?R(n.props.children):[n]},"toChildArray"),mr=x(({children:n,debug:o=!1,onContentHeightChange:m,onItemHeightChange:s,onViewportSizeChange:H,overscan:v=3,ref:C,scrollOffset:S,virtualize:X=!1,...Y})=>{const D=d(!1),[J,N,V]=Q({height:0,width:0}),[O,K,P]=Q(0),[Z,_]=U({}),j=d(null),T=d(0);q(()=>{O!==T.current&&(m?.(O,T.current),T.current=O)},[O,m]);const i=d({}),h=d([]),p=d([]),f=d(0),rr=A((r,e)=>{const t=h.current[r]??r;if(i.current[t]!==e){const l=i.current[t]??0;i.current={...i.current,[t]:e};let c=0;for(let a=0;a<h.current.length;a+=1){const y=h.current[a];y!=null&&(c+=i.current[y]??0)}const u=P();c!==u&&K(c),s?.(r,e,l),f.current=Math.min(f.current,r+1)}},[s,P,K]),$=A(()=>{if(j.current){const{height:r,width:e}=W(j.current),t=V();(e!==t.width||r!==t.height)&&(H?.({height:r,width:e},t),N({height:r,width:e}))}},[j,H,V,N]);q(()=>{$()});const z=d(null);if(z.current!==n){z.current=n;const r=[],e={};R(n).forEach((c,u)=>{if(!c)return;const a=(E(c)?c.key:null)??u;r[u]=a;const y=i.current[a]??0;e[a]=y}),i.current=e,h.current=r,p.current=Array.from({length:r.length}).fill(0),f.current=0;let t=0;r.forEach(c=>{t+=e[c]??0});const l=P();t!==l&&K(t)}cr(C,()=>({getBottomOffset:x(()=>Math.max(0,P()-V().height),"getBottomOffset"),getContentHeight:P,getItemHeight:x(r=>{const e=h.current[r]??r;return i.current[e]??0},"getItemHeight"),getItemPosition:x(r=>{if(r<0||r>=h.current.length)return null;if(r>=f.current){let l=0,c=0;if(f.current>0){c=f.current;const u=c-1,a=h.current[u]??u,y=i.current[a]??0;l=(p.current[u]??0)+y}for(let u=c;u<=r;u+=1){p.current[u]=l;const a=h.current[u]??u,y=i.current[a]??0;l+=y}f.current=r+1}const e=p.current[r]??0,t=h.current[r]??r;return{height:i.current[t]??0,top:e}},"getItemPosition"),getViewportHeight:x(()=>V().height,"getViewportHeight"),remeasure:$,remeasureItem:x(r=>{_(e=>({...e,[r]:(e[r]??0)+1}))},"remeasureItem")}),[$,P,V,_]);const I=R(n);!D.current&&O>0&&(D.current=!0);let w=0,g=I.length-1,B=0,F=0;const er=I.length>0&&I.every((r,e)=>{const t=h.current[e]??e;return(i.current[t]??0)>0}),k=X&&D.current&&er;if(k){const r=h.current.length;if(f.current<r){let t=0,l=0;if(f.current>0){l=f.current;const c=l-1,u=h.current[c]??c,a=i.current[u]??0;t=(p.current[c]??0)+a}for(let c=l;c<r;c+=1){p.current[c]=t;const u=h.current[c]??c;t+=i.current[u]??0}f.current=r}const e=S+J.height;w=I.length,g=-1;for(let t=0;t<r;t+=1){const l=p.current[t]??0,c=h.current[t]??t,u=i.current[c]??0;l+u>S&&l<e&&(t<w&&(w=t),g=t)}if(w>g&&(w=0,g=-1),w=Math.max(0,w-v),g=Math.min(I.length-1,Math.max(-1,g)+v),B=p.current[w]??0,g<I.length-1){const t=h.current[g]??g,l=(p.current[g]??0)+(i.current[t]??0);F=O-l}}return M(b,{...Y,children:M(b,{ref:j,width:"100%",children:M(b,{overflow:o?void 0:"hidden",width:"100%",children:nr(b,{flexDirection:"column",marginTop:-S,width:"100%",children:[k&&B>0&&M(b,{height:B}),I.map((r,e)=>!r||k&&(e<w||e>g)?null:M(lr,{index:e,measureKey:Z[e],onMeasure:rr,width:J.width,children:r},E(r)?r.key??e:e)),k&&F>0&&M(b,{height:F})]})})})})},"ControlledScrollView");export{mr as C,Q as R};
@@ -1,2 +0,0 @@
1
- var g=Object.defineProperty;var s=(i,o)=>g(i,"name",{value:o,configurable:!0});import{createDecMode as L,setMode as v,resetMode as S,BracketedPasteMode as O,cursorUp as N,cursorToColumn1 as Y,cursorHide as k,REQUEST_CURSOR_POSITION as z,cursorPosition as m,eraseLine as A,cursorShow as B}from"@visulima/ansi";import{terminalSize as C,Renderer as D}from"./Renderer-DJXooAsp.js";var G=Object.defineProperty,n=s((i,o)=>G(i,"name",{value:o,configurable:!0}),"r");const y=L(2026),_=v(y),j=S(y),H=v(O),Q=S(O);function q(i,o={}){const E=o.rows??10,P=o.fps??60,U=o.onExit??"preserve";let d=null,c=null,l=null,u=80,r=10,h=0,a=1;function e(t){c.writeRaw(t)}s(e,"e"),n(e,"write");function p(){l.fill(0),i(l,u,r,h++),e(_);try{c.render(l)}finally{e(j)}}s(p,"u"),n(p,"tick");function w(t){a=t-r,e(N(r)+Y),c.setRowOffset(a),p(),d=setInterval(()=>{p()},Math.round(1e3/P))}s(w,"E"),n(w,"startRendering");function I(){const t=C();u=t.cols;const x=t.rows;r=Math.min(E,x),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.setEncoding("utf8"),c=new D(u,r),l=new Uint32Array(u*r*2),e(k),e(H),e(`
2
- `.repeat(r)),e(z),process.on("SIGINT",f);let R="";const M=n(b=>{R+=b;const T=R.match(/\u001B\[(\d+);(\d+)R/);T&&(process.stdin.off("data",M),w(Number.parseInt(T[1],10)))},"onData");process.stdin.on("data",M)}s(I,"P"),n(I,"start");function f(){if(d&&(clearInterval(d),d=null),c){if(U==="destroy"){for(let t=0;t<r;t++)e(m(a+1+t,1)+A);e(m(a+1,1))}else e(m(a+r+1,1));e(Q),e(B)}process.stdin.isTTY&&process.stdin.setRawMode(!1),process.stdin.pause(),process.exit(0)}return s(f,"f"),n(f,"stop"),{start:I,stop:f}}s(q,"createInlineLoop");n(q,"createInlineLoop");export{q as createInlineLoop};
@@ -1,3 +0,0 @@
1
- var u=Object.defineProperty;var n=(t,r)=>u(t,"name",{value:r,configurable:!0});import{strip as i}from"@visulima/ansi";var c=Object.defineProperty,s=n((t,r)=>c(t,"name",{value:r,configurable:!0}),"e");const m=s((t,r)=>{const a=s(e=>e===void 0?"":i(e),"clean");return{contains(e){return this.text().includes(e)},frames(){return r.map(e=>i(e))},line(e){return this.text().split(`
2
- `)[e]??""},lines(){return this.text().split(`
3
- `).filter(e=>e.trim()!=="")},matches(e){return e.test(this.text())},rawFrames(){return[...r]},rawText(){return t()??""},text(){return a(t())}}},"createScreen");export{m as createScreen};
@@ -1 +0,0 @@
1
- var f=Object.defineProperty;var s=(e,t)=>f(e,"name",{value:t,configurable:!0});import p from"yoga-layout";import{L as c}from"./measure-text-Ce2widM1.js";import m from"./squashTextNodesWithMap-DCdi3SZ2.js";import{wordWrap as C,truncate as v}from"@visulima/string";var x=Object.defineProperty,R=s((e,t)=>x(e,"name",{value:t,configurable:!0}),"R");const u={},T={hard:"STRICT_WIDTH",wrap:"BREAK_WORDS","wrap-anywhere":"BREAK_AT_CHARACTERS","wrap-preserve-words":"PRESERVE_WORDS","wrap-strict":"STRICT_WIDTH"},k=R((e,t,o)=>{const a=e+String(t)+String(o),n=u[a];if(n)return n;let d=e;const N=T[o];if(N)d=C(e,{trim:!1,width:t,wrapMode:N}).replace(/\n$/,"");else if(o.startsWith("truncate")){let i="end";o==="truncate-middle"&&(i="middle"),o==="truncate-start"&&(i="start"),d=v(e,t,{position:i})}return u[a]=d,d},"wrapText");var b=Object.defineProperty,r=s((e,t)=>b(e,"name",{value:t,configurable:!0}),"n");let S=0;const P=r(e=>{const t={attributes:{},childNodes:[],internal_accessibility:{},internal_id:S++,nodeName:e,parentNode:void 0,style:{},yogaNode:e==="ink-virtual-text"||e==="ink-cursor"?void 0:p.Node.create()};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(_.bind(null,t)),t},"createNode"),l=r(e=>{g(e.nodeName==="ink-static-render"&&e.cachedRender?e.parentNode:e)},"markNodeAndParentIfStaticAsDirty"),O=r((e,t)=>{t.parentNode&&y(t.parentNode,t),t.parentNode=e,e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount()),l(e)},"appendChildNode"),V=r((e,t,o)=>{t.parentNode&&y(t.parentNode,t),t.parentNode=e;const a=e.childNodes.indexOf(o);if(a===-1)e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount());else if(e.childNodes.splice(a,0,t),t.yogaNode){const n=e.childNodes.slice(0,a).filter(d=>!!d.yogaNode).length;e.yogaNode?.insertChild(t.yogaNode,n)}l(e)},"insertBeforeNode"),y=r((e,t)=>{if(t.yogaNode){const a=t.yogaNode.getParent();a&&a.removeChild(t.yogaNode)}t.parentNode=void 0;const o=e.childNodes.indexOf(t);o!==-1&&e.childNodes.splice(o,1),l(e)},"removeChildNode"),I=r((e,t,o)=>{if(t==="internal_accessibility"){e.internal_accessibility=o;return}e.attributes[t]=o},"setAttribute"),B=r((e,t)=>{e.style=t??{}},"setStyle"),H=r(e=>{const t={nodeName:"#text",nodeValue:e,parentNode:void 0,style:{},yogaNode:void 0};return w(t,e),t},"createTextNode"),_=r(function(e,t){const o=e.nodeName==="#text"?e.nodeValue:m(e),a=c(o);if(a.width<=t||a.width>=1&&t>0&&t<1)return a;const n=e.style?.textWrap??"wrap",d=k(o,Math.floor(t),n);return c(d)},"measureTextNode"),h=r(e=>{if(e?.parentNode)return e.yogaNode??h(e.parentNode)},"findClosestYogaNode"),g=r(e=>{(e?.nodeName==="#text"||e?.nodeName==="ink-text"||e?.nodeName==="ink-virtual-text")&&h(e)?.markDirty();let t=e;for(;t;){if((t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&(t.internal_textCache=void 0),"childNodes"in t){if(t!==e&&t.nodeName==="ink-static-render"&&t.cachedRender)break;t.cachedRender=void 0}t=t.parentNode}},"markNodeAsDirty"),w=r((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,g(e)},"setTextNodeValue"),$=r((e,t)=>e.nodeName!=="ink-root"?()=>{}:(e.internal_layoutListeners??=new Set,e.internal_layoutListeners.add(t),()=>{e.internal_layoutListeners?.delete(t)}),"addLayoutListener"),j=r(e=>{if(!(e.nodeName!=="ink-root"||!e.internal_layoutListeners))for(const t of e.internal_layoutListeners)t()},"emitLayoutListeners"),M=r((e,t)=>{if(e.cachedRender=t,e.yogaNode){for(e.yogaNode.setWidth(t.width),e.yogaNode.setHeight(t.height);e.yogaNode.getChildCount()>0;)e.yogaNode.removeChild(e.yogaNode.getChild(0));e.isYogaTreeDetached=!0}},"setCachedRender"),K=r(e=>{const t=[];let o=e;for(;o;)t.unshift(o),o=o.parentNode;return t},"getPathToRoot"),Y=r(e=>{let t=e;for(;t;){const{userSelect:o}=t.style;if(o==="none")return!1;if(o==="text"||o==="all")return!0;t=t.parentNode}return!0},"isNodeSelectable");export{k as T,$ as a,V as b,P as c,O as d,j as e,H as f,K as g,B as h,Y as i,I as j,M as k,g as m,y as r,w as s};
@@ -1 +0,0 @@
1
- var i=Object.defineProperty;var r=(a,t)=>i(a,"name",{value:t,configurable:!0});var S=Object.defineProperty,f=r((a,t)=>S(a,"name",{value:t,configurable:!0}),"S");function p(a){const t=Math.max(0,Math.floor(a/1e3)),o=Math.floor(t/3600),n=Math.floor(t%3600/60),e=t%60;return o>0?`${String(o).padStart(2,"0")}:${String(n).padStart(2,"0")}:${String(e).padStart(2,"0")}`:`${String(n).padStart(2,"0")}:${String(e).padStart(2,"0")}`}r(p,"formatDuration");f(p,"formatDuration");export{p as f};
@@ -1 +0,0 @@
1
- var p=Object.defineProperty;var u=(t,e)=>p(t,"name",{value:e,configurable:!0});import l from"yoga-layout";var E=Object.defineProperty,n=u((t,e)=>E(t,"name",{value:e,configurable:!0}),"a");const S=n(t=>{const{yogaNode:e}=t;if(!e)return{scrollHeight:0,scrollWidth:0};const a=e.getComputedBorder(l.EDGE_TOP),s=e.getComputedBorder(l.EDGE_LEFT);let c=a,r=e.getComputedPadding(l.EDGE_LEFT);for(let i=0;i<e.getChildCount();i++){const o=e.getChild(i),d=o.getComputedTop()+o.getComputedHeight()+o.getComputedMargin(l.EDGE_BOTTOM);d>c&&(c=d);const g=o.getComputedLeft()+o.getComputedWidth()+o.getComputedMargin(l.EDGE_RIGHT);g>r&&(r=g)}const m=c-a+e.getComputedPadding(l.EDGE_BOTTOM),h=r-s+e.getComputedPadding(l.EDGE_RIGHT);return{scrollHeight:Math.round(m),scrollWidth:Math.round(h)}},"calculateScrollDimensions"),_=n(t=>Math.round(t.internal_scrollState?.scrollHeight??0),"getScrollHeight"),C=n(t=>Math.round(t.internal_scrollState?.scrollWidth??0),"getScrollWidth"),f=n(t=>{const{yogaNode:e}=t;if(!e)return;const{scrollHeight:a,scrollWidth:s}=S(t);let c=a;const r=Math.max(0,e.getComputedHeight()-e.getComputedBorder(l.EDGE_TOP)-e.getComputedBorder(l.EDGE_BOTTOM));if(t.style.stableScrollback&&t.style.overflowToBackbuffer){const o=Math.max(0,a-r);if(t.internal_isScrollbackDirty)t.internal_maxScrollTop=o,t.internal_isScrollbackDirty=!1;else{const d=Math.max(t.internal_maxScrollTop??0,o),{maxScrollbackLength:g}=t.style;t.internal_maxScrollTop=g===void 0?d:Math.min(d,o+Math.max(0,g))}c=Math.max(a,(t.internal_maxScrollTop??0)+r)}const m=Math.max(0,Math.min(t.style.scrollTop??0,c-r)),h=Math.max(0,e.getComputedWidth()-e.getComputedBorder(l.EDGE_LEFT)-e.getComputedBorder(l.EDGE_RIGHT)),i=Math.max(0,Math.min(t.style.scrollLeft??0,s-h));t.internal_scrollState={actualScrollHeight:a,clientHeight:r,clientWidth:h,scrollHeight:c,scrollLeft:i,scrollTop:m,scrollWidth:s}},"calculateScroll"),x=n(t=>Math.round(t.internal_scrollState?.scrollTop??0),"getScrollTop"),D=n(t=>Math.round(t.internal_scrollState?.scrollLeft??0),"getScrollLeft");export{f as calculateScroll,_ as getScrollHeight,D as getScrollLeft,x as getScrollTop,C as getScrollWidth};
@@ -1 +0,0 @@
1
- var n=Object.defineProperty;var r=(e,t)=>n(e,"name",{value:t,configurable:!0});var o=Object.defineProperty,a=r((e,t)=>o(e,"name",{value:t,configurable:!0}),"r");const s=/^[a-z]$/i,c=a(e=>{const t=e.codePointAt(0);return t!==void 0&&(t<32||t===127)},"isControlCharacter"),l=a((e,t)=>e.length===0||c(e)?!1:t.ctrl&&t.meta?!s.test(e):!(t.ctrl||t.meta),"isInsertableInput");export{l as i};
@@ -1 +0,0 @@
1
- var s=Object.defineProperty;var n=(e,t)=>s(e,"name",{value:t,configurable:!0});var u=Object.defineProperty,l=n((e,t)=>u(e,"name",{value:t,configurable:!0}),"s");const f=l(({element:e,mouse:{x:t,y:r}})=>{const a=t<e.left||t>=e.left+e.width,o=r<e.top||r>=e.top+e.height;return!a&&!o},"isIntersecting");export{f as default};
@@ -1 +0,0 @@
1
- var n=Object.defineProperty;var c=(r,e)=>n(r,"name",{value:e,configurable:!0});var i=Object.defineProperty,s=c((r,e)=>i(r,"name",{value:e,configurable:!0}),"e");const a=new Set(["Alacritty","contour","foot","Ghostty","iTerm2","iTerm.app","kitty","rio","WezTerm"]),f=s(()=>{const r=process.env.TERM_PROGRAM??"";if(a.has(r))return!0;const e=process.env.TERM??"";return!!(e.startsWith("xterm")||process.env.WT_SESSION||process.env.TMUX||e.startsWith("screen"))},"isOsc52Supported"),p=new Set(["c","p","s"]),O=s((r,e,t="c")=>{if(!p.has(t))throw new Error(`Invalid clipboard target: ${t}`);const o=Buffer.from(e,"utf8").toString("base64");r.write(`\x1B]52;${t};${o}\x07`)},"writeOsc52"),v=s((r,e="c")=>{r.write(`\x1B]52;${e};\x07`)},"clearOsc52");export{v as clearOsc52,f as isOsc52Supported,O as writeOsc52};
@@ -1 +0,0 @@
1
- var x=Object.defineProperty;var m=(t,r)=>x(t,"name",{value:r,configurable:!0});var T=Object.defineProperty,c=m((t,r)=>T(t,"name",{value:r,configurable:!0}),"i");const p=c(t=>{const r=/rgb:([\da-f]{2,4})\/([\da-f]{2,4})\/([\da-f]{2,4})/i.exec(t);if(!r)return null;const o=c(n=>n.length<=2?n.padStart(2,"0"):n.slice(0,2),"toHex");return`#${o(r[1])}${o(r[2])}${o(r[3])}`},"parseOscColorResponse"),h=c(()=>{const t=process.env.TERM_PROGRAM??"";return new Set(["Alacritty","contour","foot","Ghostty","iTerm2","iTerm.app","kitty","rio","WezTerm"]).has(t)?!0:(process.env.TERM??"").startsWith("xterm")||!!process.env.WT_SESSION},"isTerminalPaletteQuerySupported"),y=256,f=c((t,r,o,n=500)=>new Promise(i=>{let s="",l;const a=c(()=>{l&&clearTimeout(l),t.removeListener("data",e)},"cleanup"),e=c(u=>{if(s+=u.toString(),s.length>y){a(),i(null);return}(s.includes("\x07")||s.includes("\x1B\\"))&&(a(),i(s))},"onData");l=setTimeout(()=>{a(),i(null)},n),t.on("data",e),r.write(o)}),"queryOsc"),S=c(async(t,r,o=500)=>{const n={},i=await f(t,r,"\x1B]10;?\x07",o);if(i){const e=p(i);e&&(n.foreground=e)}const s=await f(t,r,"\x1B]11;?\x07",o);if(s){const e=p(s);e&&(n.background=e)}const l=await f(t,r,"\x1B]12;?\x07",o);if(l){const e=p(l);e&&(n.cursor=e)}const a=[];for(let e=0;e<16;e++){const u=await f(t,r,`\x1B]4;${e};?\x07`,o);if(u){const d=p(u);a.push(d??"")}else a.push("")}return a.some(e=>e.length>0)&&(n.colors=a),n},"queryTerminalPalette");export{h as isTerminalPaletteQuerySupported,S as queryTerminalPalette};
@@ -1 +0,0 @@
1
- var o=Object.defineProperty;var r=(t,e)=>o(t,"name",{value:e,configurable:!0});var a=Object.defineProperty,c=r((t,e)=>a(t,"name",{value:e,configurable:!0}),"o");const l={disambiguateEscapeCodes:1,reportAllKeysAsEscapeCodes:8,reportAlternateKeys:4,reportAssociatedText:16,reportEventTypes:2};function n(t){let e=0;for(const s of t)e|=l[s];return e}r(n,"resolveFlags");c(n,"resolveFlags");const i={alt:2,capsLock:64,ctrl:4,hyper:16,meta:32,numLock:128,shift:1,super:8};export{l as kittyFlags,i as kittyModifiers,n as resolveFlags};
@@ -1,2 +0,0 @@
1
- var F=Object.defineProperty;var M=(t,e)=>F(t,"name",{value:e,configurable:!0});import l from"yoga-layout";import{getScrollTop as k,getScrollLeft as W}from"./getScrollHeight-ClEOyLHH.js";import Y from"./squashTextNodesWithMap-DCdi3SZ2.js";var A=Object.defineProperty,c=M((t,e)=>A(t,"name",{value:e,configurable:!0}),"u");const Q=c(t=>{const e=j(t);return{height:Math.round(t.yogaNode?.getComputedHeight()??0),width:Math.round(t.yogaNode?.getComputedWidth()??0),x:Math.round(e?.x??0),y:Math.round(e?.y??0)}},"measureElement"),Z=c(t=>{const{yogaNode:e}=t;if(!e)return 0;const o=e.getComputedWidth()??0,r=e.getComputedBorder(l.EDGE_LEFT),s=e.getComputedBorder(l.EDGE_RIGHT);return Math.round(o-r-s)},"getInnerWidth"),tt=c(t=>{const{yogaNode:e}=t;if(!e)return 0;const o=e.getComputedHeight()??0,r=e.getComputedBorder(l.EDGE_TOP),s=e.getComputedBorder(l.EDGE_BOTTOM);return Math.round(o-r-s)},"getInnerHeight"),O=c(t=>{const{yogaNode:e}=t;if(!e)return{height:0,width:0,x:0,y:0};const o=e.getComputedWidth()??0,r=e.getComputedHeight()??0;let s=e.getComputedLeft(),n=e.getComputedTop(),d=t.parentNode;for(;d?.yogaNode;){if(s+=d.yogaNode.getComputedLeft(),n+=d.yogaNode.getComputedTop(),d.nodeName==="ink-box"){const a=d.style.overflow??"visible",i=d.style.overflowX??a;(d.style.overflowY??a)==="scroll"&&(n-=k(d)),i==="scroll"&&(s-=W(d))}d=d.parentNode}return{height:Math.round(r),width:Math.round(o),x:Math.round(s),y:Math.round(n)}},"getBoundingBox"),et=c(t=>{const e=t.internal_scrollState?.scrollHeight??0,o=t.internal_scrollState?.actualScrollHeight??0;return Math.max(0,e-o)},"getAddedScrollHeight"),G=c(t=>{const{axis:e,clientDimension:o,scrollbarDimension:r,scrollDimension:s,scrollPosition:n}=t,d=r*2,a=Math.max(e==="vertical"?2:1,Math.round(o/s*d)),i=s-o,g=d-a,u=i>0?Math.round(n/i*g):0,m=u,h=u+a,p=Math.floor(m/2);return{endIndex:Math.min(r,Math.ceil(h/2)),startIndex:p,thumbEndHalf:h,thumbStartHalf:m}},"calculateScrollbarThumb"),L=c(t=>{const{axis:e,clientDimension:o,hasOppositeScrollbar:r,height:s,marginBottom:n,marginRight:d,scrollDimension:a,scrollPosition:i,width:g,x:u,y:m}=t;if(a<=o)return;if(e==="vertical"){const{endIndex:x,startIndex:B,thumbEndHalf:v,thumbStartHalf:D}=G({axis:e,clientDimension:o,scrollbarDimension:s,scrollDimension:a,scrollPosition:i}),E=u+g-1-d;return{height:s,thumb:{end:x,endHalf:v,height:x-B,start:B,startHalf:D,width:1,x:E,y:m+B},width:1,x:E,y:m}}const h=g-(r?1:0),{endIndex:p,startIndex:y,thumbEndHalf:C,thumbStartHalf:f}=G({axis:e,clientDimension:o,scrollbarDimension:h,scrollDimension:a,scrollPosition:i}),T=m+s-1-n;return{height:1,thumb:{end:p,endHalf:C,height:1,start:y,startHalf:f,width:p-y,x:u+y,y:T},width:h,x:u,y:T}},"calculateScrollbarLayout"),ot=c((t,e)=>{const{yogaNode:o}=t;if(!o)return;const r=t.style.overflow??"visible";if((t.style.overflowY??r)!=="scroll")return;const s=t.internal_scrollState?.clientHeight??0,n=t.internal_scrollState?.scrollHeight??0;if(n<=s)return;const{x:d,y:a}=e??O(t),i=o.getComputedHeight()-o.getComputedBorder(l.EDGE_TOP)-o.getComputedBorder(l.EDGE_BOTTOM);return L({axis:"vertical",clientDimension:s,hasOppositeScrollbar:!1,height:i,marginBottom:o.getComputedBorder(l.EDGE_BOTTOM),marginRight:o.getComputedBorder(l.EDGE_RIGHT),scrollDimension:n,scrollPosition:t.internal_scrollState?.scrollTop??0,width:o.getComputedWidth()-o.getComputedBorder(l.EDGE_LEFT),x:d+o.getComputedBorder(l.EDGE_LEFT),y:a+o.getComputedBorder(l.EDGE_TOP)})},"getVerticalScrollbarBoundingBox"),nt=c((t,e)=>{const{yogaNode:o}=t;if(!o)return;const r=t.style.overflow??"visible";if((t.style.overflowX??r)!=="scroll")return;const s=t.internal_scrollState?.clientWidth??0,n=t.internal_scrollState?.scrollWidth??0;if(n<=s)return;const{x:d,y:a}=e??O(t),i=t.style.overflowY??r,g=t.internal_scrollState?.clientHeight??0,u=t.internal_scrollState?.scrollHeight??0,m=i==="scroll"&&u>g;return L({axis:"horizontal",clientDimension:s,hasOppositeScrollbar:m,height:o.getComputedHeight()-o.getComputedBorder(l.EDGE_TOP),marginBottom:o.getComputedBorder(l.EDGE_BOTTOM),marginRight:o.getComputedBorder(l.EDGE_RIGHT),scrollDimension:n,scrollPosition:t.internal_scrollState?.scrollLeft??0,width:o.getComputedWidth()-o.getComputedBorder(l.EDGE_LEFT)-o.getComputedBorder(l.EDGE_RIGHT),x:d+o.getComputedBorder(l.EDGE_LEFT),y:a+o.getComputedBorder(l.EDGE_TOP)})},"getHorizontalScrollbarBoundingBox"),rt=c((t,e)=>{if(!t.yogaNode||t===e)return 0;let o=t.yogaNode.getComputedTop(),r=t.parentNode;for(;r&&r!==e;)r.yogaNode&&(o+=r.yogaNode.getComputedTop()),r=r.parentNode;if(!(e!==void 0&&r!==e))return Math.round(o)},"getRelativeTop"),at=c((t,e)=>{if(!t.yogaNode||t===e)return 0;let o=t.yogaNode.getComputedLeft(),r=t.parentNode;for(;r&&r!==e;)r.yogaNode&&(o+=r.yogaNode.getComputedLeft()),r=r.parentNode;if(!(e!==void 0&&r!==e))return Math.round(o)},"getRelativeLeft"),$=c(t=>t.nodeName==="#text"?t.nodeValue:t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text"?Y(t):"","getText"),V=c(t=>{const e=[],o=c((n,d,a)=>{const{visualX:i,visualY:g,x:u,y:m}=d;let h=0,p=0,y=a;const{userSelect:C}=n.style;if(C==="none"?y=!1:(C==="text"||C==="all")&&(y=!0),n.nodeName==="ink-text"||n.nodeName==="ink-virtual-text"){if(y){const f=$(n);return e.push({height:Math.round(n.yogaNode?.getComputedHeight()??0),node:n,text:f,visualX:Math.round(i),visualY:Math.round(g),width:Math.round(n.yogaNode?.getComputedWidth()??0),x:Math.round(u),y:Math.round(m)}),{h:0,hasContent:!0,v:0}}return{h:n.yogaNode?.getComputedWidth()??0,hasContent:!1,v:n.yogaNode?.getComputedHeight()??0}}if(n.nodeName==="ink-box"||n.nodeName==="ink-root"){if(!n.yogaNode||n.yogaNode.getDisplay()===l.DISPLAY_NONE)return{h:0,hasContent:!1,v:0};const f=n.yogaNode.getComputedBorder(l.EDGE_TOP),T=n.yogaNode.getComputedBorder(l.EDGE_BOTTOM),x=n.yogaNode.getComputedBorder(l.EDGE_LEFT),B=n.yogaNode.getComputedBorder(l.EDGE_RIGHT);h+=f+T,p+=x+B;const v=n.yogaNode.getFlexDirection(),D=v===l.FLEX_DIRECTION_COLUMN||v===l.FLEX_DIRECTION_COLUMN_REVERSE;let E=0,b=0,S=!1;for(const N of n.childNodes)if(N.yogaNode){const w=u+N.yogaNode.getComputedLeft()-x-E,I=m+N.yogaNode.getComputedTop()-f-b,R=i+N.yogaNode.getComputedLeft(),X=g+N.yogaNode.getComputedTop(),H=o(N,{visualX:R,visualY:X,x:w,y:I},y);H.hasContent&&(S=!0),D?b+=H.v:E+=H.h}return D?h+=b:p+=E,{h:p,hasContent:S,v:h}}return{h:0,hasContent:!1,v:0}},"collect"),{h:r,v:s}=o(t,{visualX:0,visualY:0,x:0,y:0},!0);return e.sort((n,d)=>n.y!==d.y?n.y-d.y:n.x-d.x),{fragments:e,removedHorizontal:Math.round(r),removedVertical:Math.round(s)}},"collectSortedFragments");var z=Object.defineProperty,_=M((t,e)=>z(t,"name",{value:e,configurable:!0}),"a");const P=_(t=>{let e=t,o=0,r=0;for(;e?.parentNode;){if(!e.yogaNode)return;o+=e.yogaNode.getComputedLeft(),r+=e.yogaNode.getComputedTop(),e=e.parentNode}return{x:o,y:r}},"getAbsoluteBorderPosition"),j=_(t=>P(t),"getAbsolutePosition"),it=_(t=>{const e=P(t);if(!(!e||!t.yogaNode))return{x:e.x+t.yogaNode.getComputedBorder(l.EDGE_LEFT)+t.yogaNode.getComputedPadding(l.EDGE_LEFT),y:e.y+t.yogaNode.getComputedBorder(l.EDGE_TOP)+t.yogaNode.getComputedPadding(l.EDGE_TOP)}},"getAbsoluteContentPosition"),lt=_((t,e)=>{const{initialState:o,onNewline:r,onSpace:s,onText:n}=e;if(t.nodeName!=="ink-box"&&t.nodeName!=="ink-root"&&t.nodeName!=="ink-text"&&t.nodeName!=="ink-virtual-text"||!t.yogaNode)return{lineBottom:0,state:o()};const{fragments:d}=V(t),a=o();a.currentX=0,a.lineBottom=0,a.yieldedContent=!1;for(const i of d){if(i.y>=a.lineBottom){const g=i.y-a.lineBottom,u=a.yieldedContent?1+g:g;u>0&&(r(u,a),a.currentX=0),a.lineBottom=i.y}if(i.x>a.currentX){const g=i.x-a.currentX;s(g,a),a.currentX=i.x}if(i.text.length>0&&(a.yieldedContent=!0,n(i,a)),(i.text.match(/\n/g)??[]).length>0){const g=i.text.lastIndexOf(`
2
- `);a.currentX=i.text.length-g-1}else a.currentX+=i.text.length;a.lineBottom=Math.max(a.lineBottom,i.y+i.height)}return{lineBottom:a.lineBottom,state:a}},"processLayout");export{Q as P,G as a,V as b,L as c,O as d,nt as e,tt as f,et as g,Z as h,at as i,rt as j,$ as k,ot as l,it as m,j as n,lt as p};
@@ -1 +0,0 @@
1
- var T=Object.defineProperty;var I=(e,o)=>T(e,"name",{value:o,configurable:!0});import{jsxs as d,jsx as h}from"react/jsx-runtime";import{useMemo as g}from"react";import{c as E}from"./braille-BBjIoaN0.js";import{Box as u}from"../components/box.js";import{Canvas as b}from"../components/canvas.js";import{Text as f}from"../components/text.js";var P=Object.defineProperty,y=I((e,o)=>P(e,"name",{value:o,configurable:!0}),"i");const C=["cyan","magenta","yellow","green","blue","red"],v=y(e=>e.length===0?[]:typeof e[0]=="number"?e.map((o,t)=>({x:t,y:o})):e,"toPoints"),w=y((e,o,t)=>e.color??t[o%t.length]??"cyan","pickSeriesColor"),Y=y(e=>{let o=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(const{points:l}of e)for(const r of l)r.x<o&&(o=r.x),r.x>t&&(t=r.x),r.y<n&&(n=r.y),r.y>s&&(s=r.y);return{xMax:t,xMin:o,yMax:s,yMin:n}},"computeExtents");var _=Object.defineProperty,N=I((e,o)=>_(e,"name",{value:o,configurable:!0}),"x");const F=C,M=N((e,o,t,n)=>{const s=o.xMax-o.xMin||1,l=o.yMax-o.yMin||1,r=(e.x-o.xMin)/s,c=(e.y-o.yMin)/l;return{px:Math.max(0,Math.min(t-1,Math.round(r*(t-1)))),py:Math.max(0,Math.min(n-1,Math.round((1-c)*(n-1))))}},"projectPoint"),S=N((e,o,t)=>{e.clear();const{axisColor:n,seriesList:s}=t,l=Math.max(1,e.width*2),r=Math.max(1,e.height*4);for(let c=0;c<e.width;c+=2)e.setCell(c,e.height-1,"·",{color:n,dim:!0});for(const{color:c,points:p}of s){if(p.length===0)continue;const x=E(e.width,e.height);if(o==="scatter")for(const i of p){const a=M(i,t,l,r);x.plotPoint(a.px,a.py)}else{let i=M(p[0],t,l,r);x.plotPoint(i.px,i.py);for(let a=1;a<p.length;a+=1){const m=M(p[a],t,l,r);x.plotLine(i.px,i.py,m.px,m.py),i=m}}x.flush(e,{color:c})}},"drawSeriesOnCanvas");function L({axisColor:e="gray",height:o=10,maxY:t,minY:n,palette:s=F,series:l,showLegend:r=!0,width:c=40}){const p=g(()=>{const x=l.map((a,m)=>({color:w(a,m,s),points:v(a.data),series:a})),i=Y(x);return{axisColor:e,palette:s,seriesList:x,xMax:i.xMax===Number.NEGATIVE_INFINITY?1:i.xMax,xMin:i.xMin===Number.POSITIVE_INFINITY?0:i.xMin,yMax:t??(i.yMax===Number.NEGATIVE_INFINITY?1:i.yMax),yMin:n??(i.yMin===Number.POSITIVE_INFINITY?0:i.yMin)}},[l,e,s,n,t]);return d(u,{flexDirection:"column",children:[h(b,{draw:I(x=>{S(x,"line",p)},"draw"),height:o,version:[l,c,o,n,t,e,s],width:c}),r?h(u,{gap:2,marginTop:1,children:p.seriesList.map(({color:x,series:i},a)=>d(u,{gap:1,children:[h(f,{color:x,children:"●"}),h(f,{children:i.label??`Series ${a+1}`})]},`${a}:${i.label??""}`))}):void 0]})}I(L,"f");N(L,"LineChart");export{C as D,M as a,Y as c,S as d,L as f,w as p,v as t};
@@ -1,3 +0,0 @@
1
- var X=Object.defineProperty;var k=(r,t)=>X(r,"name",{value:t,configurable:!0});import{isFullwidthCodePoint as Y,getStringWidth as Z}from"@visulima/string";import{t as tt}from"./ansi-tokenizer-DqX9nJuk.js";var et=Object.defineProperty,st=k((r,t)=>et(r,"name",{value:t,configurable:!0}),"r$1");let _=class{static{k(this,"h")}static{st(this,"DataLimitedLruMap")}map;maxDataSize;maxKeys;currentDataSize=0;constructor(t,e){this.map=new Map,this.maxKeys=t,this.maxDataSize=e}get size(){return this.map.size}clear(){this.map.clear(),this.currentDataSize=0}get(t){if(!this.map.has(t))return;const e=this.map.get(t);return this.map.delete(t),this.map.set(t,e),e}set(t,e){const s=t.length;if(!(s>this.maxDataSize)){for(this.map.has(t)&&(this.map.delete(t),this.currentDataSize-=s);this.currentDataSize+s>this.maxDataSize&&this.map.size>0;){const a=this.map.keys().next().value;if(a===void 0)break;this.map.delete(a),this.currentDataSize-=a.length}for(;this.map.size>=this.maxKeys;){const a=this.map.keys().next().value;if(a===void 0)break;this.map.delete(a),this.currentDataSize-=a.length}this.map.set(t,e),this.currentDataSize+=s}}};const at=1,nt=2,j=4,R=8,V=16,M=32,H=64,C=128;var rt=Object.defineProperty,it=k((r,t)=>rt(r,"name",{value:t,configurable:!0}),"x");const p=1073741823,x=1073741824;class d{static{k(this,"StyledLine")}static{it(this,"StyledLine")}length=0;static emptyCache=new Map;text;charData;spans;_cachedTrimmedLength;static empty(t){if(t<=0)return new d;const e=d.emptyCache.get(t);if(e)return e.clone();const s=new d;s.length=t,s.text=" ".repeat(t),s.charData=Array.from({length:t});for(let a=0;a<t;a++)s.charData[a]=a;return s.spans=[{formatFlags:0,length:t}],s._cachedTrimmedLength=0,Object.freeze(s.spans[0]),Object.freeze(s.spans),Object.freeze(s),d.emptyCache.set(t,s),s.clone()}getValue(t){if(this.text===void 0||t<0||t>=this.length)return"";const e=this.charData[t]&p,s=t+1<this.length?this.charData[t+1]&p:this.text.length;return this.text.slice(e,s)}getTextRange(t,e){if(this.text===void 0||t<0||e>this.length||t>=e)return"";const s=this.charData[t]&p,a=e<this.length?this.charData[e]&p:this.text.length;return this.text.slice(s,a)}getSpan(t){if(this.spans===void 0||t<0||t>=this.length)return;let e=0;for(const s of this.spans){if(t<e+s.length)return s;e+=s.length}}getFullWidth(t){return this.charData===void 0||t<0||t>=this.length?!1:(this.charData[t]&x)!==0}hasStyles(t){const e=this.getSpan(t);return e?(e.formatFlags&~C)!==0||e.fgColor!==void 0||e.bgColor!==void 0||e.link!==void 0:!1}getFormatFlags(t){let e=this.getSpan(t)?.formatFlags??0;return this.getFullWidth(t)&&(e|=C),e}getFgColor(t){return this.getSpan(t)?.fgColor}getBgColor(t){return this.getSpan(t)?.bgColor}getLink(t){return this.getSpan(t)?.link}setInverted(t,e){this._cachedTrimmedLength=void 0,this.updateSpanAt(t,s=>{e?s.formatFlags|=M:s.formatFlags&=~M})}setBackgroundColor(t,e){this._cachedTrimmedLength=void 0,this.updateSpanAt(t,s=>{s.bgColor=e})}setForegroundColor(t,e){this._cachedTrimmedLength=void 0,this.updateSpanAt(t,s=>{s.fgColor=e})}setChar(t,e,s,a,n,h){if(t<0||t>=this.length)return;this._cachedTrimmedLength=void 0,this.ensureInitialized();const i=(s&C)!==0,o=s&~C,l=this.charData[t]&p,c=t+1<this.length?this.charData[t+1]&p:this.text.length,m=c-l,b=e.length;if(this.text=this.text.slice(0,l)+e+this.text.slice(c),m!==b){const f=b-m;for(let S=t+1;S<this.length;S++){const T=this.charData[S],w=T&p,L=T&x;this.charData[S]=w+f|L}}if(this.charData[t]=l|(i?x:0),this.trySetStyleAtIndex(t,o,a,n,h))return;this.splitSpansAt(t),this.splitSpansAt(t+1);let u=0;for(let f=0;f<this.spans.length;f++){const S=this.spans[f];if(u===t&&S.length===1){this.spans[f]={bgColor:n,fgColor:a,formatFlags:o,length:1,link:h};break}u+=S.length}this.mergeSpans()}setCharFast(t,e,s,a,n,h){if(t<0||t>=this.length)return;this._cachedTrimmedLength=void 0,this.ensureInitialized();const i=(s&C)!==0,o=s&~C,l=this.charData[t]&p,c=t+1<this.length?this.charData[t+1]&p:this.text.length,m=c-l;if(e.length===m)e!==this.text.slice(l,c)&&(this.text=this.text.slice(0,l)+e+this.text.slice(c)),this.charData[t]=l|(i?x:0);else{if(this.text=this.text.slice(0,l)+e+this.text.slice(c),m!==e.length){const u=e.length-m;for(let f=t+1;f<this.length;f++){const S=this.charData[f];this.charData[f]=(S&p)+u|S&x}}this.charData[t]=l|(i?x:0)}if(this.trySetStyleAtIndex(t,o,a,n,h))return;this.splitSpansAt(t),this.splitSpansAt(t+1);let b=0;for(let u=0;u<this.spans.length;u++){const f=this.spans[u];if(b===t&&f.length===1){this.spans[u]={bgColor:n,fgColor:a,formatFlags:o,length:1,link:h};break}b+=f.length}this.mergeSpans()}writeFrom(t,e,s=0,a){const n=a??e.length-s;if(n<=0||t>=this.length)return;this._cachedTrimmedLength=void 0,this.ensureInitialized();const h=Math.min(n,this.length-t,e.length-s),i=this.charData[t]&p,o=t+h<this.length?this.charData[t+h]&p:this.text.length;let l="";for(let g=0;g<h;g++)l+=e.getValue(s+g);const c=o-i,m=l.length-c;this.text=this.text.slice(0,i)+l+this.text.slice(o);let b=i;for(let g=0;g<h;g++){const D=e.getFullWidth(s+g);this.charData[t+g]=b|(D?x:0),b+=e.getValue(s+g).length}if(m!==0)for(let g=t+h;g<this.length;g++){const D=this.charData[g];this.charData[g]=(D&p)+m|D&x}this.splitSpansAt(t),this.splitSpansAt(t+h);const u=[];let f=0;for(const g of e.getSpans()){const D=f+g.length,E=Math.max(s,f),K=Math.min(s+h,D);if(E<K&&u.push({...g,length:K-E}),f=D,f>=s+h)break}let S=0,T=0;for(let g=0;g<this.spans.length;g++){if(T===t){S=g;break}T+=this.spans[g].length}let w=0,L=0;for(let g=S;g<this.spans.length&&L<h;g++)L+=this.spans[g].length,w++;this.spans.splice(S,w,...u),this.mergeSpans()}pushChar(t,e,s,a,n){this._cachedTrimmedLength=void 0,this.ensureInitialized();const h=(e&C)!==0,i=e&~C,o=this.text.length;this.text=(this.text??"")+t,this.charData.push(o|(h?x:0));const l=this.spans.at(-1);l?.formatFlags===i&&l.fgColor===s&&l.bgColor===a&&l.link===n?l.length++:this.spans.push({bgColor:a,fgColor:s,formatFlags:i,length:1,link:n}),this.length++}clone(){if(this.charData===void 0)return new d;const t=new d;return t.length=this.length,t.text=this.text,t.charData=[...this.charData],t.spans=this.spans.map(e=>({...e})),t._cachedTrimmedLength=this._cachedTrimmedLength,t}slice(t,e){if(this.charData===void 0)return new d;const s=Math.max(0,t),a=e===void 0?this.length:Math.min(this.length,e);if(s>=a)return new d;if(s===0&&a===this.length)return this.clone();const n=new d;n.length=a-s,n.charData=Array.from({length:n.length});const h=this.charData[s]&p,i=a<this.length?this.charData[a]&p:this.text.length;n.text=this.text.slice(h,i);for(let c=0;c<n.length;c++){const m=this.charData[s+c],b=m&p,u=m&x;n.charData[c]=b-h|u}const o=[];let l=0;for(const c of this.spans){const m=l,b=l+c.length,u=Math.max(s,m),f=Math.min(a,b);if(u<f&&o.push({...c,length:f-u}),l+=c.length,l>=a)break}return n.spans=o,n.mergeSpans(),n}combine(...t){if(t.length===0)return this.clone();const e=[this,...t].filter(i=>i.length>0);if(e.length===0)return new d;if(e.length===1)return e[0].clone();let s=0;for(const i of e)s+=i.length;const a=new d;a.length=s,a.text=e.map(i=>i.getText()).join(""),a.charData=Array.from({length:s});let n=0,h=0;for(const i of e){const o=i.charData,l=i.getText();if(o)for(let c=0;c<i.length;c++){const m=o[c],b=m&p,u=m&x;a.charData[n+c]=h+b|u}else for(let c=0;c<i.length;c++)a.charData[n+c]=h+c;n+=i.length,h+=l.length}return a.spans=e.flatMap(i=>i.getSpans().map(o=>({...o}))),a.mergeSpans(),a}getTrimmedLength(){if(this._cachedTrimmedLength!==void 0)return this._cachedTrimmedLength;if(this.length===0)return this._cachedTrimmedLength=0,0;if(this.text===void 0||this.charData===void 0)return this._cachedTrimmedLength=0,0;let t=this.length-1;if(this.spans)for(let e=this.spans.length-1;e>=0;e--){const s=this.spans[e];if((s.formatFlags&~C)!==0||s.fgColor!==void 0||s.bgColor!==void 0||s.link!==void 0)return this._cachedTrimmedLength=t+1,this._cachedTrimmedLength;for(let a=0;a<s.length;a++){const n=this.charData[t]&p;if((t+1<this.length?this.charData[t+1]&p:this.text.length)-n!==1||this.text[n]!==" ")return this._cachedTrimmedLength=t+1,this._cachedTrimmedLength;t--}}return this._cachedTrimmedLength=0,0}trimEnd(){const t=this.getTrimmedLength();return t===this.length?this:t===0?new d:this.slice(0,t)}equals(t){if(this.length!==t.length)return!1;if(this.length===0)return!0;if(this.getText()!==t.getText())return!1;const e=this.getSpans(),s=t.getSpans();if(e.length!==s.length)return!1;for(const[h,i]of e.entries()){const o=i,l=s[h];if(o.length!==l.length||o.formatFlags!==l.formatFlags||o.fgColor!==l.fgColor||o.bgColor!==l.bgColor||o.link!==l.link)return!1}const a=this.charData,n=t.charData;if(a&&n){for(let h=0;h<this.length;h++)if(a[h]!==n[h])return!1}return!0}getText(){return this.text??""}getSpans(){return this.spans??[]}getValues(){return Array.from({length:this.length},(t,e)=>this.getValue(e))}*[Symbol.iterator](){if(this.length===0)return;let t=0,e=0;const s=this.getSpans();for(let a=0;a<this.length;a++){const n=s[t],h=n?n.formatFlags:0,i=this.getFullWidth(a);yield{bgColor:n?.bgColor,fgColor:n?.fgColor,formatFlags:h|(i?C:0),fullWidth:i,hasStyles:(h&~C)!==0||n?.fgColor!==void 0||n?.bgColor!==void 0||n?.link!==void 0,link:n?.link,value:this.getValue(a)},n&&(e++,e>=n.length&&(t++,e=0))}}updateSpanAt(t,e){if(t<0||t>=this.length)return;this.ensureInitialized(),this.splitSpansAt(t),this.splitSpansAt(t+1);let s=0;for(const a of this.spans){if(s===t&&a.length===1){e(a);break}s+=a.length}this.mergeSpans()}ensureWidth(t){if(t<=this.length)return;this.ensureInitialized();const e=this.length,s=t-e,a=this.text.length;for(let h=0;h<s;h++)this.charData.push(a);this.length=t;const n=this.spans.at(-1);n?.formatFlags===0&&n.fgColor===void 0&&n.bgColor===void 0&&n.link===void 0?n.length+=s:this.spans.push({formatFlags:0,length:s})}ensureInitialized(){if(this.charData===void 0&&(this.text="",this.charData=Array.from({length:this.length}),this.spans=this.length>0?[{formatFlags:0,length:this.length}]:[],this.length>0&&this.text.length===0)){this.text=" ".repeat(this.length);for(let t=0;t<this.length;t++)this.charData[t]=t}}splitSpansAt(t){if(this.spans===void 0||t<=0||t>=this.length)return;let e=0;for(let s=0;s<this.spans.length;s++){const a=this.spans[s];if(t>e&&t<e+a.length){const n=t-e,h=a.length-n;this.spans.splice(s,1,{...a,length:n},{...a,length:h});return}e+=a.length}}trySetStyleAtIndex(t,e,s,a,n){if(!this.spans)return!1;let h=0,i=-1,o;for(let l=0;l<this.spans.length;l++){const c=this.spans[l];if(h<=t&&h+c.length>t){i=l,o=c;break}h+=c.length}if(!o)return!1;if(o.formatFlags===e&&o.fgColor===s&&o.bgColor===a&&o.link===n)return!0;if(t===h&&i>0){const l=this.spans[i-1];if(l.formatFlags===e&&l.fgColor===s&&l.bgColor===a&&l.link===n)return l.length+=1,o.length===1?this.spans.splice(i,1):o.length-=1,!0}if(t===h+o.length-1&&i<this.spans.length-1){const l=this.spans[i+1];if(l.formatFlags===e&&l.fgColor===s&&l.bgColor===a&&l.link===n)return l.length+=1,o.length===1?this.spans.splice(i,1):o.length-=1,!0}return!1}mergeSpans(){if(this.spans===void 0)return;const t=[];for(const e of this.spans){if(e.length===0)continue;const s=t.at(-1);s?.formatFlags===e.formatFlags&&s.fgColor===e.fgColor&&s.bgColor===e.bgColor&&s.link===e.link?s.length+=e.length:t.push({...e})}this.spans=t}}var ht=Object.defineProperty,I=k((r,t)=>ht(r,"name",{value:t,configurable:!0}),"u$2");const G={black:0,blue:4,cyan:6,gray:8,green:2,grey:8,magenta:5,red:1,white:7,yellow:3},U={blackBright:8,blueBright:12,cyanBright:14,greenBright:10,magentaBright:13,redBright:9,whiteBright:15,yellowBright:11},q=/^ansi256\(\s?(\d+)\s?\)$/,J=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Nt=I(r=>{const t=G[r];if(t!==void 0)return t;const e=U[r];if(e!==void 0)return e;const s=q.exec(r);if(s)return Number(s[1])&255;if(r.startsWith("#")&&r.length===7){const n=Number.parseInt(r.slice(1,3),16),h=Number.parseInt(r.slice(3,5),16),i=Number.parseInt(r.slice(5,7),16);return 16+36*Math.round(n/51)+6*Math.round(h/51)+Math.round(i/51)}const a=J.exec(r);return a?16+36*Math.round(Number(a[1])/51)+6*Math.round(Number(a[2])/51)+Math.round(Number(a[3])/51):255},"colorToAnsi256"),lt=I((r,t)=>{const e=t?30:40,s=G[r];if(s!==void 0)return[e+s];const a=U[r];if(a!==void 0)return[e+60+(a-8)];if(r.startsWith("#")&&r.length===7){const i=Number.parseInt(r.slice(1,3),16),o=Number.parseInt(r.slice(3,5),16),l=Number.parseInt(r.slice(5,7),16);return[t?38:48,2,i,o,l]}const n=q.exec(r);if(n)return[t?38:48,5,Number(n[1])];const h=J.exec(r);return h?[t?38:48,2,Number(h[1]),Number(h[2]),Number(h[3])]:[]},"colorToSgrParams");I((r,t)=>{const e=lt(r,t);if(e.length!==0)return`\x1B[${e.join(";")}m`},"colorToAnsiCode");const A=I(r=>{const t=["black","red","green","yellow","blue","magenta","cyan","white"];return r>=0&&r<=7?t[r]:`ansi256(${r})`},"ansi256ToColorName");var ot=Object.defineProperty,y=k((r,t)=>ot(r,"name",{value:t,configurable:!0}),"u$1");const O=y(()=>({bgColor:void 0,fgColor:void 0,formatFlags:0,link:void 0}),"createSgrState"),ct=y((r,t)=>{if(t.length===0)return O();const e=(t.includes(":")?t.replaceAll(":",";"):t).split(";").filter(o=>o.length>0).map(Number);let{bgColor:s,fgColor:a,formatFlags:n,link:h}=r,i=0;for(;i<e.length;){const o=e[i];switch(o){case 0:{n=0,a=void 0,s=void 0,h=void 0;break}case 1:{n|=at;break}case 2:{n|=nt;break}case 3:{n|=j;break}case 4:{n|=R;break}case 7:{n|=M;break}case 8:{n|=H;break}case 9:{n|=V;break}case 22:{n&=-4;break}case 23:{n&=~j;break}case 24:{n&=~R;break}case 27:{n&=~M;break}case 28:{n&=~H;break}case 29:{n&=~V;break}case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:{a=A(o-30);break}case 38:{e[i+1]===5&&e[i+2]!==void 0?(a=A(e[i+2]),i+=2):e[i+1]===2&&i+4<e.length&&(a=`rgb(${e[i+2]}, ${e[i+3]}, ${e[i+4]})`,i+=4);break}case 39:{a=void 0;break}case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:{s=A(o-40);break}case 48:{e[i+1]===5&&e[i+2]!==void 0?(s=A(e[i+2]),i+=2):e[i+1]===2&&i+4<e.length&&(s=`rgb(${e[i+2]}, ${e[i+3]}, ${e[i+4]})`,i+=4);break}case 49:{s=void 0;break}case 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97:{a=`ansi256(${o-90+8})`;break}case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:{s=`ansi256(${o-100+8})`;break}}i++}return{bgColor:s,fgColor:a,formatFlags:n,link:h}},"applySgrParams"),z=127462,N=127487,gt=127995,ft=127999,ut=8205,dt=917504,mt=917631,pt=new RegExp("\\p{Mark}","u"),bt=new Intl.Segmenter(void 0,{granularity:"grapheme"}),St=y((r,t)=>!!(Y(t)||r.includes("️")||t>=z&&t<=N),"isFullwidthGrapheme"),Ct=/(?:\u001B\]|\u009D)8;([^;]*);(.*?)(?:\u001B\\|\u0007|\u009C)/,xt=y(r=>{const t=Ct.exec(r);return!t?.[2]||t[2].length===0?void 0:r.endsWith("\x1B\\")?`ST:${t[2]}`:t[2]},"parseOscHyperlink"),Q=y((r,t,e)=>{const s=bt.segment(r),a=[];for(const{segment:n}of s)a.push(n);for(let n=0;n<a.length;n++){let h=a[n];if(h===" "){for(let l=0;l<4;l++)t.pushChar(" ",e.formatFlags,e.fgColor,e.bgColor,e.link);continue}if(h==="\b")continue;const i=h.codePointAt(0);if(!i)continue;if(i>=z&&i<=N&&n+1<a.length){const l=a[n+1],c=l.codePointAt(0);c&&c>=z&&c<=N&&(h+=l,n++)}else for(;n+1<a.length;){const l=a[n+1],c=l.codePointAt(0);if(!c)break;const m=pt.test(String.fromCodePoint(c)),b=c>=gt&&c<=ft,u=c===ut,f=c>=dt&&c<=mt;if(!m&&!b&&!u&&!f)break;h+=l,n++,u&&n+1<a.length&&(h+=a[n+1],n++)}const o=St(h,i)?e.formatFlags|C:e.formatFlags;t.pushChar(h,o,e.fgColor,e.bgColor,e.link)}},"processTextToken"),vt=y(r=>{if(r.length===0)return new d;const t=tt(r),e=new d;let s=O();for(const a of t)switch(a.type){case"csi":{a.finalCharacter==="m"&&(s=ct(s,a.parameterString));break}case"osc":{const n=xt(a.value);n!==void 0?s={...s,link:n}:a.value.includes("8;")&&(s={...s,link:void 0});break}case"text":{Q(a.value,e,s);break}}return e},"textToStyledLine"),kt=/^[\u0020-\u007E]*$/,$t=y(r=>{if(r.length===0)return new d;const t=new d;if(kt.test(r)){for(const e of r)t.pushChar(e,0);return t}return Q(r,t,O()),t},"plainTextToStyledLine");var Dt=Object.defineProperty,v=k((r,t)=>Dt(r,"name",{value:t,configurable:!0}),"r");const $=new _(1e4,1e6),W=new _(1e4,1e6),F=new _(1e4,1e6);let B=!0,P=Z;const Wt=v(r=>{B=r,r||F.clear()},"setEnableStyledLineCache"),Bt=v(()=>{F.clear()},"clearStyledLineCache"),_t=v(r=>{P=r,yt()},"setStringWidthFunction"),yt=v(()=>{$.clear(),W.clear(),F.clear()},"clearStringWidthCache"),Tt=v(r=>{if(r.length===1){const s=r.codePointAt(0);if(s!==void 0&&s>=32&&s<127)return 1}const t=W.get(r);if(t!==void 0)return t;let e;try{e=P(r)}catch{e=1}return W.set(r,e),e},"inkCharacterWidth"),Ft=v(r=>{try{return P(r)}catch{return 1}},"safeGetStringWidth"),Ot=v(r=>{if(r.length===0)return{height:0,width:0};const t=$.get(r);if(t)return t;const e=r.split(`
2
- `);let s=0;for(const n of e){const h=Ft(n);h>s&&(s=h)}const a={height:e.length,width:s};return $.set(r,a),a},"measureText"),Pt=v(r=>{if(B){const e=F.get(r);if(e!==void 0)return e}const t=vt(r);return B&&F.set(r,t),t},"toStyledLine"),wt=v(r=>{let t=0;for(let e=0;e<r.length;e++)t+=Tt(r.getValue(e));return t},"styledLineWidth"),Lt=v(r=>{if(r.length===0)return[new d];const t=[];let e=0;for(let s=0;s<r.length;s++)r.getValue(s)===`
3
- `&&(t.push(s>e?r.slice(e,s):new d),e=s+1);return t.push(e<r.length?r.slice(e):new d),t},"splitStyledLineByNewline"),Et=v(r=>{if(r.length===0)return{height:0,width:0};const t=Lt(r);let e=0;for(const s of t)e=Math.max(e,wt(s));return{height:t.length,width:e}},"measureStyledLine");export{at as B,nt as D,C as F,H,j as I,Ot as L,d as S,R as U,Bt as a,_t as b,yt as c,wt as d,M as e,V as f,lt as g,Nt as h,Tt as i,vt as j,Lt as k,Et as m,$t as p,Wt as s,Pt as t};
@@ -1 +0,0 @@
1
- import"yoga-layout";import{c as r,a as g,b as i,P as s,g as c,d as n,e as d,f as u,h as b,i as m,j as B,k as S,l as h}from"./layout-BMo200nF.js";import"./getScrollHeight-ClEOyLHH.js";import"./squashTextNodesWithMap-DCdi3SZ2.js";export{r as calculateScrollbarLayout,g as calculateScrollbarThumb,i as collectSortedFragments,s as default,c as getAddedScrollHeight,n as getBoundingBox,d as getHorizontalScrollbarBoundingBox,u as getInnerHeight,b as getInnerWidth,m as getRelativeLeft,B as getRelativeTop,S as getText,h as getVerticalScrollbarBoundingBox};
@@ -1 +0,0 @@
1
- import{a as e}from"./ansi-parser-B6uXaq65.js";export{e as parseSgrMouse};
@@ -1 +0,0 @@
1
- import"yoga-layout";import{m as e,n as i,p as n}from"./layout-BMo200nF.js";export{e as getAbsoluteContentPosition,i as getAbsolutePosition,n as processLayout};
@@ -1 +0,0 @@
1
- var y=Object.defineProperty;var c=(e,t)=>y(e,"name",{value:t,configurable:!0});import{createContext as b}from"react";import T from"react-reconciler";import{NoEventPriority as C,DefaultEventPriority as I,DiscreteEventPriority as P}from"react-reconciler/constants.js";import{unstable_shouldYield as k,unstable_scheduleCallback as x,unstable_now as S,unstable_cancelCallback as E}from"scheduler";import{LayoutNode as f}from"./LayoutNode-B8zej4dm.js";import{applyStyles as h,resolveColor as g}from"./NAMED_COLORS-B9fJsYdg.js";import{a as N}from"./text-width-BU2eeTWn.js";var A=Object.defineProperty,n=c((e,t)=>A(e,"name",{value:t,configurable:!0}),"o");let m=null;function _(e){m=e}c(_,"setOnAfterCommit");n(_,"setOnAfterCommit");let u=C;function p(e){const t=g(e.fg===void 0?e.color===void 0?void 0:e.color:e.fg),o=g(e.bg===void 0?e.backgroundColor===void 0?void 0:e.backgroundColor:e.bg);let r;return e.styles===void 0?(r=0,e.bold&&(r|=1),(e.dim||e.dimColor)&&(r|=2),e.italic&&(r|=4),e.underline&&(r|=8),e.blink&&(r|=16),e.inverse&&(r|=32),e.hidden&&(r|=64),e.strikethrough&&(r|=128)):r=e.styles,{bg:o,fg:t,styles:r}}c(p,"m");n(p,"resolveNodeColors");const U={afterActiveInstanceBlur:n(()=>{},"afterActiveInstanceBlur"),appendChild(e,t){e.insertChild(t,e.children.length)},appendChildToContainer(e,t){e.insertChild(t,e.children.length)},appendInitialChild(e,t){e.insertChild(t,e.children.length)},beforeActiveInstanceBlur:n(()=>{},"beforeActiveInstanceBlur"),cancelCallback:E,cancelTimeout:clearTimeout,clearContainer(e){},commitTextUpdate(e,t,o){e.text=o,e.yogaNode.markDirty()},commitUpdate(e,t,o,r,a){h(e.yogaNode,r);const{bg:i,fg:s,styles:d}=p(r);e.fg=s,e.bg=i,e.styles=d,e._style=r,e.transform=typeof r.transform=="function"?r.transform:void 0},createInstance(e,t,o,r,a){const i=new f,s={...t};s.flexDirection===void 0&&(s.flexDirection="row"),s.flexShrink===void 0&&(s.flexShrink=1),h(i.yogaNode,s);const{bg:d,fg:l,styles:v}=p(t);return i.fg=l,i.bg=d,i.styles=v,i._style=t,typeof t.transform=="function"&&(i.transform=t.transform),i},createTextInstance(e,t,o,r){const a=new f;return a.text=e,a.yogaNode.setWidth(N(e)),a.yogaNode.setHeight(1),a},detachDeletedInstance:n(e=>{e.destroy()},"detachDeletedInstance"),finalizeInitialChildren(e,t,o,r,a){return!1},getChildHostContext(e,t,o){return{isInsideText:t==="text"}},getCurrentEventPriority:n(()=>P,"getCurrentEventPriority"),getCurrentUpdatePriority:n(()=>u,"getCurrentUpdatePriority"),getInstanceFromNode:n(()=>null,"getInstanceFromNode"),getPublicInstance(e){return e},getRootHostContext(e){return{isInsideText:!1}},hideInstance(e){e._hidden=!0},hideTextInstance(e){e._hidden=!0},HostTransitionContext:b(null),insertBefore(e,t,o){t.parent&&t.remove();const r=e.children.indexOf(o);e.insertChild(t,r)},isPrimaryRenderer:!0,maySuspendCommit:n(()=>!0,"maySuspendCommit"),noTimeout:-1,NotPendingTransition:void 0,now:S,preloadInstance:n(()=>!0,"preloadInstance"),prepareForCommit(e){return null},preparePortalMount:n(()=>{},"preparePortalMount"),prepareScopeUpdate:n(()=>{},"prepareScopeUpdate"),prepareUpdate(e,t,o,r,a,i){const s=Object.keys(o).filter(l=>l!=="children"),d=Object.keys(r).filter(l=>l!=="children");if(s.length!==d.length)return!0;for(const l of d)if(o[l]!==r[l])return!0;return null},removeChild(e,t){t.remove()},removeChildFromContainer(e,t){t.remove()},requestPostPaintCallback:n(()=>{},"requestPostPaintCallback"),resetAfterCommit(e){typeof m=="function"&&m()},resolveEventTimeStamp:n(()=>-1.1,"resolveEventTimeStamp"),resolveEventType:n(()=>null,"resolveEventType"),resolveUpdatePriority(){return u!==C?u:I},scheduleCallback:x,scheduleMicrotask:queueMicrotask,scheduleTimeout:setTimeout,setCurrentUpdatePriority(e){u=e},shouldAttemptEagerTransition:n(()=>!1,"shouldAttemptEagerTransition"),shouldSetTextContent(e,t){return!1},shouldYield:k,startSuspendingCommit:n(()=>{},"startSuspendingCommit"),supportsHydration:!1,supportsMicrotasks:!0,supportsMutation:!0,supportsPersistence:!1,suspendInstance:n(()=>{},"suspendInstance"),trackSchedulerEvent:n(()=>{},"trackSchedulerEvent"),unhideInstance(e,t){e._hidden=!1},unhideTextInstance(e,t){e._hidden=!1},waitForCommitToBeReady:n(()=>null,"waitForCommitToBeReady"),warnsIfNotActing:!0},j=T(U);export{j as T,_ as s};