@visulima/tui 1.0.0-alpha.2 → 1.0.0-alpha.21

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 (658) hide show
  1. package/CHANGELOG.md +300 -0
  2. package/LICENSE.md +2490 -69
  3. package/README.md +38 -10
  4. package/dist/components/accordion.d.ts +59 -0
  5. package/dist/components/accordion.js +1 -0
  6. package/dist/components/alert.d.ts +26 -0
  7. package/dist/components/alert.js +1 -0
  8. package/dist/components/animate-presence.d.ts +18 -0
  9. package/dist/components/animate-presence.js +1 -0
  10. package/dist/components/approval-prompt.d.ts +65 -0
  11. package/dist/components/approval-prompt.js +1 -0
  12. package/dist/components/area-chart.d.ts +66 -0
  13. package/dist/components/area-chart.js +1 -0
  14. package/dist/components/badge.d.ts +22 -0
  15. package/dist/components/badge.js +1 -0
  16. package/dist/components/bar-chart.d.ts +67 -0
  17. package/dist/components/bar-chart.js +1 -0
  18. package/dist/components/big-text.d.ts +81 -0
  19. package/dist/components/big-text.js +1 -0
  20. package/dist/components/blink-dot.d.ts +36 -0
  21. package/dist/components/blink-dot.js +1 -0
  22. package/dist/components/box.d.ts +62 -0
  23. package/dist/components/box.js +1 -0
  24. package/dist/components/breadcrumb.d.ts +33 -0
  25. package/dist/components/breadcrumb.js +1 -0
  26. package/dist/components/button.d.ts +45 -0
  27. package/dist/components/button.js +1 -0
  28. package/dist/components/calendar.d.ts +72 -0
  29. package/dist/components/calendar.js +1 -0
  30. package/dist/components/canvas.d.ts +44 -0
  31. package/dist/components/canvas.js +1 -0
  32. package/dist/components/card.d.ts +57 -0
  33. package/dist/components/card.js +1 -0
  34. package/dist/components/checkbox.d.ts +48 -0
  35. package/dist/components/checkbox.js +1 -0
  36. package/dist/components/code.d.ts +48 -0
  37. package/dist/components/code.js +2 -0
  38. package/dist/components/collapsible.d.ts +53 -0
  39. package/dist/components/collapsible.js +1 -0
  40. package/dist/components/command-block.d.ts +47 -0
  41. package/dist/components/command-block.js +4 -0
  42. package/dist/components/command-palette.d.ts +82 -0
  43. package/dist/components/command-palette.js +1 -0
  44. package/dist/components/confirm-dialog.d.ts +75 -0
  45. package/dist/components/confirm-dialog.js +1 -0
  46. package/dist/components/confirm-input.d.ts +38 -0
  47. package/dist/components/confirm-input.js +1 -0
  48. package/dist/components/console-overlay.d.ts +54 -0
  49. package/dist/components/console-overlay.js +1 -0
  50. package/dist/components/content-switcher.d.ts +57 -0
  51. package/dist/components/content-switcher.js +1 -0
  52. package/dist/components/controlled-scroll-view.d.ts +61 -0
  53. package/dist/components/controlled-scroll-view.js +1 -0
  54. package/dist/components/cursor.d.ts +62 -0
  55. package/dist/components/cursor.js +1 -0
  56. package/dist/components/date-picker.d.ts +65 -0
  57. package/dist/components/date-picker.js +1 -0
  58. package/dist/components/definition-list.d.ts +44 -0
  59. package/dist/components/definition-list.js +1 -0
  60. package/dist/components/dialog.d.ts +117 -0
  61. package/dist/components/dialog.js +1 -0
  62. package/dist/components/diff-view.d.ts +85 -0
  63. package/dist/components/diff-view.js +1 -0
  64. package/dist/components/divider.d.ts +49 -0
  65. package/dist/components/divider.js +1 -0
  66. package/dist/components/file-picker-entry.d.ts +104 -0
  67. package/dist/components/file-picker-entry.js +1 -0
  68. package/dist/components/form.d.ts +81 -0
  69. package/dist/components/form.js +1 -0
  70. package/dist/components/gauge.d.ts +87 -0
  71. package/dist/components/gauge.js +1 -0
  72. package/dist/components/gradient.d.ts +42 -0
  73. package/dist/components/gradient.js +1 -0
  74. package/dist/components/heading.d.ts +33 -0
  75. package/dist/components/heading.js +1 -0
  76. package/dist/components/heatmap.d.ts +62 -0
  77. package/dist/components/heatmap.js +1 -0
  78. package/dist/components/help.d.ts +52 -0
  79. package/dist/components/help.js +1 -0
  80. package/dist/components/histogram.d.ts +62 -0
  81. package/dist/components/histogram.js +1 -0
  82. package/dist/components/kbd.d.ts +31 -0
  83. package/dist/components/kbd.js +1 -0
  84. package/dist/components/line-chart.d.ts +109 -0
  85. package/dist/components/line-chart.js +1 -0
  86. package/dist/components/link.d.ts +38 -0
  87. package/dist/components/link.js +1 -0
  88. package/dist/components/loading-indicator.d.ts +29 -0
  89. package/dist/components/loading-indicator.js +1 -0
  90. package/dist/components/markdown.d.ts +40 -0
  91. package/dist/components/markdown.js +1 -0
  92. package/dist/components/masked-input.d.ts +50 -0
  93. package/dist/components/masked-input.js +1 -0
  94. package/dist/components/menu.d.ts +78 -0
  95. package/dist/components/menu.js +1 -0
  96. package/dist/components/message-bubble.d.ts +43 -0
  97. package/dist/components/message-bubble.js +1 -0
  98. package/dist/components/model-badge.d.ts +39 -0
  99. package/dist/components/model-badge.js +1 -0
  100. package/dist/components/multi-select.d.ts +65 -0
  101. package/dist/components/multi-select.js +1 -0
  102. package/dist/components/newline.d.ts +15 -0
  103. package/dist/components/newline.js +2 -0
  104. package/dist/components/operation-tree.d.ts +49 -0
  105. package/dist/components/operation-tree.js +1 -0
  106. package/dist/components/option-list.d.ts +47 -0
  107. package/dist/components/option-list.js +1 -0
  108. package/dist/components/ordered-list.d.ts +24 -0
  109. package/dist/components/ordered-list.js +1 -0
  110. package/dist/components/paginator.d.ts +69 -0
  111. package/dist/components/paginator.js +1 -0
  112. package/dist/components/paragraph.d.ts +38 -0
  113. package/dist/components/paragraph.js +1 -0
  114. package/dist/components/placeholder.d.ts +55 -0
  115. package/dist/components/placeholder.js +1 -0
  116. package/dist/components/progress-bar.d.ts +56 -0
  117. package/dist/components/progress-bar.js +1 -0
  118. package/dist/components/radio-group.d.ts +74 -0
  119. package/dist/components/radio-group.js +1 -0
  120. package/dist/components/scatter-plot.d.ts +35 -0
  121. package/dist/components/scatter-plot.js +1 -0
  122. package/dist/components/scroll-bar-box.d.ts +37 -0
  123. package/dist/components/scroll-bar-box.js +1 -0
  124. package/dist/components/scroll-bar.d.ts +25 -0
  125. package/dist/components/scroll-bar.js +1 -0
  126. package/dist/components/scroll-list.d.ts +20 -0
  127. package/dist/components/scroll-list.js +1 -0
  128. package/dist/components/scroll-view.d.ts +10 -0
  129. package/dist/components/scroll-view.js +1 -0
  130. package/dist/components/search-input.d.ts +55 -0
  131. package/dist/components/search-input.js +1 -0
  132. package/dist/components/select-input-indicator.d.ts +32 -0
  133. package/dist/components/select-input-indicator.js +1 -0
  134. package/dist/components/select-input-item.d.ts +41 -0
  135. package/dist/components/select-input-item.js +1 -0
  136. package/dist/components/select-input.d.ts +110 -0
  137. package/dist/components/select-input.js +1 -0
  138. package/dist/components/shimmer-text.d.ts +47 -0
  139. package/dist/components/shimmer-text.js +1 -0
  140. package/dist/components/slider.d.ts +103 -0
  141. package/dist/components/slider.js +1 -0
  142. package/dist/components/spacer.d.ts +8 -0
  143. package/dist/components/spacer.js +1 -0
  144. package/dist/components/sparkline.d.ts +35 -0
  145. package/dist/components/sparkline.js +1 -0
  146. package/dist/components/spinner.d.ts +17 -0
  147. package/dist/components/spinner.js +1 -0
  148. package/dist/components/static-render.d.ts +55 -0
  149. package/dist/components/static-render.js +1 -0
  150. package/dist/components/static.d.ts +29 -0
  151. package/dist/components/static.js +1 -0
  152. package/dist/components/status-line.d.ts +37 -0
  153. package/dist/components/status-line.js +1 -0
  154. package/dist/components/status-message.d.ts +21 -0
  155. package/dist/components/status-message.js +1 -0
  156. package/dist/components/stepper.d.ts +48 -0
  157. package/dist/components/stepper.js +1 -0
  158. package/dist/components/stopwatch.d.ts +49 -0
  159. package/dist/components/stopwatch.js +1 -0
  160. package/dist/components/streaming-text.d.ts +46 -0
  161. package/dist/components/streaming-text.js +1 -0
  162. package/dist/components/switch.d.ts +55 -0
  163. package/dist/components/switch.js +1 -0
  164. package/dist/components/tab.d.ts +19 -0
  165. package/dist/components/tab.js +1 -0
  166. package/dist/components/table.d.ts +119 -0
  167. package/dist/components/table.js +1 -0
  168. package/dist/components/tabs.d.ts +107 -0
  169. package/dist/components/tabs.js +1 -0
  170. package/dist/components/tag.d.ts +35 -0
  171. package/dist/components/tag.js +1 -0
  172. package/dist/components/text-input.d.ts +48 -0
  173. package/dist/components/text-input.js +1 -0
  174. package/dist/components/text.d.ts +79 -0
  175. package/dist/components/text.js +1 -0
  176. package/dist/components/textarea.d.ts +68 -0
  177. package/dist/components/textarea.js +2 -0
  178. package/dist/components/timer.d.ts +59 -0
  179. package/dist/components/timer.js +1 -0
  180. package/dist/components/toast.d.ts +49 -0
  181. package/dist/components/toast.js +1 -0
  182. package/dist/components/tooltip.d.ts +43 -0
  183. package/dist/components/tooltip.js +1 -0
  184. package/dist/components/transform.d.ts +21 -0
  185. package/dist/components/transform.js +1 -0
  186. package/dist/components/transition.d.ts +74 -0
  187. package/dist/components/transition.js +1 -0
  188. package/dist/components/tree-view-entry.d.ts +357 -0
  189. package/dist/components/tree-view-entry.js +1 -0
  190. package/dist/components/unordered-list.d.ts +30 -0
  191. package/dist/components/unordered-list.js +1 -0
  192. package/dist/core/index.d.ts +58 -5
  193. package/dist/core/index.js +1 -5
  194. package/dist/ink/hooks/use-animation.d.ts +37 -39
  195. package/dist/ink/hooks/use-animation.js +1 -0
  196. package/dist/ink/hooks/use-app.d.ts +36 -4
  197. package/dist/ink/hooks/use-app.js +1 -0
  198. package/dist/ink/hooks/use-box-metrics.d.ts +58 -50
  199. package/dist/ink/hooks/use-box-metrics.js +1 -0
  200. package/dist/ink/hooks/use-clipboard.d.ts +26 -25
  201. package/dist/ink/hooks/use-clipboard.js +1 -0
  202. package/dist/ink/hooks/use-color-blindness.d.ts +29 -29
  203. package/dist/ink/hooks/use-color-blindness.js +1 -0
  204. package/dist/ink/hooks/use-console-capture.d.ts +38 -38
  205. package/dist/ink/hooks/use-console-capture.js +1 -0
  206. package/dist/ink/hooks/use-cursor.d.ts +10 -9
  207. package/dist/ink/hooks/use-cursor.js +1 -0
  208. package/dist/ink/hooks/use-focus-manager.d.ts +53 -38
  209. package/dist/ink/hooks/use-focus-manager.js +1 -0
  210. package/dist/ink/hooks/use-focus.d.ts +29 -25
  211. package/dist/ink/hooks/use-focus.js +1 -0
  212. package/dist/ink/hooks/use-form.d.ts +68 -0
  213. package/dist/ink/hooks/use-form.js +1 -0
  214. package/dist/ink/hooks/use-hotkey.d.ts +37 -0
  215. package/dist/ink/hooks/use-hotkey.js +1 -0
  216. package/dist/ink/hooks/use-input.d.ts +142 -142
  217. package/dist/ink/hooks/use-input.js +2 -0
  218. package/dist/ink/hooks/use-interval.d.ts +25 -0
  219. package/dist/ink/hooks/use-interval.js +1 -0
  220. package/dist/ink/hooks/use-is-screen-reader-enabled.d.ts +4 -4
  221. package/dist/ink/hooks/use-is-screen-reader-enabled.js +1 -0
  222. package/dist/ink/hooks/use-key-bindings.d.ts +50 -52
  223. package/dist/ink/hooks/use-key-bindings.js +1 -0
  224. package/dist/ink/hooks/use-key-chord.d.ts +25 -0
  225. package/dist/ink/hooks/use-key-chord.js +1 -0
  226. package/dist/ink/hooks/use-linked-scroll.d.ts +45 -37
  227. package/dist/ink/hooks/use-linked-scroll.js +1 -0
  228. package/dist/ink/hooks/use-paste.d.ts +41 -40
  229. package/dist/ink/hooks/use-paste.js +1 -0
  230. package/dist/ink/hooks/use-persistent-state.d.ts +56 -0
  231. package/dist/ink/hooks/use-persistent-state.js +2 -0
  232. package/dist/ink/hooks/use-scroll-acceleration.d.ts +43 -43
  233. package/dist/ink/hooks/use-scroll-acceleration.js +1 -0
  234. package/dist/ink/hooks/use-scroll-input.d.ts +31 -31
  235. package/dist/ink/hooks/use-scroll-input.js +1 -0
  236. package/dist/ink/hooks/use-stderr.d.ts +14 -4
  237. package/dist/ink/hooks/use-stderr.js +1 -0
  238. package/dist/ink/hooks/use-stdin.d.ts +28 -5
  239. package/dist/ink/hooks/use-stdin.js +1 -0
  240. package/dist/ink/hooks/use-stdout.d.ts +14 -4
  241. package/dist/ink/hooks/use-stdout.js +1 -0
  242. package/dist/ink/hooks/use-stopwatch.d.ts +36 -37
  243. package/dist/ink/hooks/use-stopwatch.js +1 -0
  244. package/dist/ink/hooks/use-terminal-palette.d.ts +17 -16
  245. package/dist/ink/hooks/use-terminal-palette.js +1 -0
  246. package/dist/ink/hooks/use-text-buffer.d.ts +37 -37
  247. package/dist/ink/hooks/use-text-buffer.js +4 -0
  248. package/dist/ink/hooks/use-text-selection.d.ts +41 -41
  249. package/dist/ink/hooks/use-text-selection.js +1 -0
  250. package/dist/ink/hooks/use-timeout.d.ts +24 -0
  251. package/dist/ink/hooks/use-timeout.js +1 -0
  252. package/dist/ink/hooks/use-timer.d.ts +45 -46
  253. package/dist/ink/hooks/use-timer.js +1 -0
  254. package/dist/ink/hooks/use-window-size.d.ts +14 -14
  255. package/dist/ink/hooks/use-window-size.js +1 -0
  256. package/dist/ink/index.d.ts +398 -159
  257. package/dist/ink/index.js +1 -100
  258. package/dist/packem_chunks/devtools.js +3 -26
  259. package/dist/packem_shared/COLOR_BLINDNESS_SIMULATION-DqErf7XX.js +1 -0
  260. package/dist/packem_shared/Cell-BrXn3jxY.js +1 -0
  261. package/dist/packem_shared/ControlledScrollView-CIc-x1Cx.js +1 -0
  262. package/dist/packem_shared/DevTools-ClAYpMVI.js +1 -0
  263. package/dist/packem_shared/FilePicker-tYj_CIau.js +1 -0
  264. package/dist/packem_shared/FocusContext-Xy0cwJpO.js +1 -0
  265. package/dist/packem_shared/Fullscreen-CxLd1-Zu.js +1 -0
  266. package/dist/packem_shared/IMECompositionBuffer-C89PhiOu.js +1 -0
  267. package/dist/packem_shared/InputParser-B_qZcN3r.js +2 -0
  268. package/dist/packem_shared/KEY-Bk8B-3h_.js +1 -0
  269. package/dist/packem_shared/LayoutNode-B8zej4dm.js +1 -0
  270. package/dist/packem_shared/MouseProvider-PnIUKURs.js +1 -0
  271. package/dist/packem_shared/NAMED_COLORS-B9fJsYdg.js +1 -0
  272. package/dist/packem_shared/Renderer-DJXooAsp.js +1 -0
  273. package/dist/packem_shared/ResizeObserverEntry-Dq0dk8Kq.js +1 -0
  274. package/dist/packem_shared/ScrollBar-U_37hlIT.js +1 -0
  275. package/dist/packem_shared/ScrollBarBox-DwiCxilX.js +1 -0
  276. package/dist/packem_shared/ScrollList-C7nZ9ufK.js +1 -0
  277. package/dist/packem_shared/ScrollView-DKZ8OM-m.js +1 -0
  278. package/dist/packem_shared/Static-DLynr5pn.js +1 -0
  279. package/dist/packem_shared/TreeNodeMap-CspqSCpb.js +1 -0
  280. package/dist/packem_shared/TreeView-C0Iv3et8.js +1 -0
  281. package/dist/packem_shared/TuiApp-BVDXP0Cv.js +1 -0
  282. package/dist/packem_shared/TuiContext-BoJvG3NN.js +3 -0
  283. package/dist/packem_shared/accessibility-context-DDyHTwmA.js +1 -0
  284. package/dist/packem_shared/animation-context-DW3p-vpk.js +1 -0
  285. package/dist/packem_shared/ansi-parser-B6uXaq65.js +1 -0
  286. package/dist/packem_shared/ansi-tokenizer-DqX9nJuk.js +1 -0
  287. package/dist/packem_shared/app-context-BVpKlG1z.js +1 -0
  288. package/dist/packem_shared/background-context-rjOaWFki.js +1 -0
  289. package/dist/packem_shared/braille-BBjIoaN0.js +1 -0
  290. package/dist/packem_shared/buffer.d-EJkZr8uH.d.ts +39 -0
  291. package/dist/packem_shared/clipboard.d-D6lZTQ21.d.ts +23 -0
  292. package/dist/packem_shared/color-matrix.d-DSXLsB64.d.ts +50 -0
  293. package/dist/packem_shared/colorize-DbTZMrJO.js +1 -0
  294. package/dist/packem_shared/comparePoints-YxQfR_zq.js +1 -0
  295. package/dist/packem_shared/controlled-scroll-view-CcUS50jx.js +1 -0
  296. package/dist/packem_shared/createInlineLoop-DRNZ7jqH.js +2 -0
  297. package/dist/packem_shared/createScreen-CrLrxA6t.js +3 -0
  298. package/dist/packem_shared/cursor-context-CFviBqPX.js +1 -0
  299. package/dist/packem_shared/cursor-helpers.d-BONB9tky.d.ts +12 -0
  300. package/dist/packem_shared/dom-BG-LS10p.js +1 -0
  301. package/dist/packem_shared/dom.d-C1IxuLJ9.d.ts +414 -0
  302. package/dist/packem_shared/focus-context-CsT69klR.js +1 -0
  303. package/dist/packem_shared/format-time-C7Q-hQZq.js +1 -0
  304. package/dist/packem_shared/getPathToRoot-D5Hns9Er.js +1 -0
  305. package/dist/packem_shared/getScrollHeight-ClEOyLHH.js +1 -0
  306. package/dist/packem_shared/input-utils-fAxzSlNh.js +1 -0
  307. package/dist/packem_shared/input.d-CgxV2e8U.d.ts +90 -0
  308. package/dist/packem_shared/isIntersecting-B3KbKTmu.js +1 -0
  309. package/dist/packem_shared/isOsc52Supported-DKK7Uee6.js +1 -0
  310. package/dist/packem_shared/isTerminalPaletteQuerySupported-Dn2hFAZ_.js +1 -0
  311. package/dist/packem_shared/kittyFlags-C3rZLbcK.js +1 -0
  312. package/dist/packem_shared/layout-BMo200nF.js +2 -0
  313. package/dist/packem_shared/line-chart-kf7uhR0K.js +1 -0
  314. package/dist/packem_shared/measure-text-DDjHT1jD.js +3 -0
  315. package/dist/packem_shared/measureElement-BTtTFZg4.js +1 -0
  316. package/dist/packem_shared/mouse-context-DaARgUu1.js +1 -0
  317. package/dist/packem_shared/parseSgrMouse-Ccj70ijb.js +1 -0
  318. package/dist/packem_shared/processLayout-FEKj_mWu.js +1 -0
  319. package/dist/packem_shared/reconciler-CUbhOvcr.js +1 -0
  320. package/dist/packem_shared/reconciler-DIfG72R9.js +1 -0
  321. package/dist/packem_shared/render-BFio00DS.js +26 -0
  322. package/dist/packem_shared/render-Dh7HMhK1.js +1 -0
  323. package/dist/packem_shared/render.d-DuyG0zip.d.ts +417 -0
  324. package/dist/packem_shared/renderToString-BbQiRHrd.js +2 -0
  325. package/dist/packem_shared/renderToString-SDrrFvu8.js +4 -0
  326. package/dist/packem_shared/renderTreeToBuffer-CZilzyhN.js +2 -0
  327. package/dist/packem_shared/renderer-DG986Pcr.js +17 -0
  328. package/dist/packem_shared/scroll-view.d-DtpsgHLg.d.ts +119 -0
  329. package/dist/packem_shared/selection.d-Dbha5bMS.d.ts +62 -0
  330. package/dist/packem_shared/setEnableStyledLineCache-D2gZbwFM.js +1 -0
  331. package/dist/packem_shared/squashTextNodesWithMap-DCdi3SZ2.js +1 -0
  332. package/dist/packem_shared/stderr-context-BzEaUICS.js +1 -0
  333. package/dist/packem_shared/stdin-context-BTaaFagk.js +1 -0
  334. package/dist/packem_shared/stdout-context-BnblEPez.js +1 -0
  335. package/dist/packem_shared/styles.d-cMo36xQz.d.ts +396 -0
  336. package/dist/packem_shared/terminal-palette.d-D2SQjfn-.d.ts +19 -0
  337. package/dist/packem_shared/text-width-BU2eeTWn.js +2 -0
  338. package/dist/packem_shared/token-to-elements-BAZpNZsu.js +1 -0
  339. package/dist/packem_shared/treeViewTheme-1RIZyB4M.js +1 -0
  340. package/dist/packem_shared/useElementDimensions-qJ_WXFZ9.js +1 -0
  341. package/dist/packem_shared/useMouseAction-2dRfU1vE.js +1 -0
  342. package/dist/packem_shared/useMouseContext-C746G7kY.js +1 -0
  343. package/dist/packem_shared/useMousePosition-BTWfV4JK.js +1 -0
  344. package/dist/packem_shared/useOnMouseClick-nY8xLZmt.js +1 -0
  345. package/dist/packem_shared/useOnMouseHover-D3DczIol.js +1 -0
  346. package/dist/packem_shared/useOnMouseState-cRK8QvzD.js +1 -0
  347. package/dist/packem_shared/useTreeView-BoMMeRPq.js +1 -0
  348. package/dist/packem_shared/useTreeViewState-CRPCUWrb.js +1 -0
  349. package/dist/packem_shared/utils-CoviI5Vm.js +1 -0
  350. package/dist/packem_shared/variant-config-BJqpNo7H.js +1 -0
  351. package/dist/packem_shared/variant-config.d-D5NnrrQK.d.ts +2 -0
  352. package/dist/packem_shared/waitFor-Dj5zfL5s.js +4 -0
  353. package/dist/packem_shared/wrapOrTruncateStyledLine-BZ00SM8i.js +3 -0
  354. package/dist/react/index.d.ts +519 -8
  355. package/dist/react/index.js +1 -9
  356. package/dist/testing/index.d.ts +278 -135
  357. package/dist/testing/index.js +1 -260
  358. package/index.js +52 -52
  359. package/package.json +563 -38
  360. package/dist/core/app.d.ts +0 -50
  361. package/dist/core/cell.d.ts +0 -33
  362. package/dist/core/inline.d.ts +0 -22
  363. package/dist/core/input.d.ts +0 -18
  364. package/dist/core/native-binding.d.ts +0 -22
  365. package/dist/ink/ansi-to-cell.d.ts +0 -5
  366. package/dist/ink/ansi-tokenizer.d.ts +0 -38
  367. package/dist/ink/clipboard.d.ts +0 -29
  368. package/dist/ink/color-matrix.d.ts +0 -49
  369. package/dist/ink/color-utils.d.ts +0 -30
  370. package/dist/ink/colorize.d.ts +0 -4
  371. package/dist/ink/components/AccessibilityContext.d.ts +0 -4
  372. package/dist/ink/components/Alert.d.ts +0 -30
  373. package/dist/ink/components/AnimationContext.d.ts +0 -10
  374. package/dist/ink/components/App.d.ts +0 -19
  375. package/dist/ink/components/AppContext.d.ts +0 -38
  376. package/dist/ink/components/BackgroundContext.d.ts +0 -5
  377. package/dist/ink/components/Badge.d.ts +0 -27
  378. package/dist/ink/components/BigText.d.ts +0 -71
  379. package/dist/ink/components/Box.d.ts +0 -58
  380. package/dist/ink/components/Code.d.ts +0 -46
  381. package/dist/ink/components/ConfirmInput.d.ts +0 -40
  382. package/dist/ink/components/ConsoleOverlay.d.ts +0 -52
  383. package/dist/ink/components/Cursor.d.ts +0 -43
  384. package/dist/ink/components/CursorContext.d.ts +0 -12
  385. package/dist/ink/components/Dialog.d.ts +0 -93
  386. package/dist/ink/components/DiffView.d.ts +0 -71
  387. package/dist/ink/components/ErrorBoundary.d.ts +0 -17
  388. package/dist/ink/components/ErrorOverview.d.ts +0 -6
  389. package/dist/ink/components/FocusContext.d.ts +0 -17
  390. package/dist/ink/components/Gradient.d.ts +0 -38
  391. package/dist/ink/components/Help.d.ts +0 -49
  392. package/dist/ink/components/Link.d.ts +0 -34
  393. package/dist/ink/components/Markdown.d.ts +0 -34
  394. package/dist/ink/components/MultiSelect.d.ts +0 -63
  395. package/dist/ink/components/Newline.d.ts +0 -12
  396. package/dist/ink/components/OrderedList.d.ts +0 -30
  397. package/dist/ink/components/Paginator.d.ts +0 -75
  398. package/dist/ink/components/ProgressBar.d.ts +0 -51
  399. package/dist/ink/components/SelectInput.d.ts +0 -96
  400. package/dist/ink/components/SelectInputIndicator.d.ts +0 -36
  401. package/dist/ink/components/SelectInputItem.d.ts +0 -43
  402. package/dist/ink/components/Slider.d.ts +0 -92
  403. package/dist/ink/components/Spacer.d.ts +0 -7
  404. package/dist/ink/components/Spinner.d.ts +0 -42
  405. package/dist/ink/components/Static.d.ts +0 -24
  406. package/dist/ink/components/StaticRender.d.ts +0 -28
  407. package/dist/ink/components/StatusMessage.d.ts +0 -26
  408. package/dist/ink/components/StderrContext.d.ts +0 -16
  409. package/dist/ink/components/StdinContext.d.ts +0 -29
  410. package/dist/ink/components/StdoutContext.d.ts +0 -16
  411. package/dist/ink/components/Stopwatch.d.ts +0 -44
  412. package/dist/ink/components/Tab.d.ts +0 -25
  413. package/dist/ink/components/Table.d.ts +0 -80
  414. package/dist/ink/components/Tabs.d.ts +0 -104
  415. package/dist/ink/components/Text.d.ts +0 -63
  416. package/dist/ink/components/TextInput.d.ts +0 -48
  417. package/dist/ink/components/Textarea.d.ts +0 -62
  418. package/dist/ink/components/Timer.d.ts +0 -52
  419. package/dist/ink/components/Transform.d.ts +0 -16
  420. package/dist/ink/components/UnorderedList.d.ts +0 -35
  421. package/dist/ink/components/file-picker/FilePicker.d.ts +0 -75
  422. package/dist/ink/components/file-picker/index.d.ts +0 -3
  423. package/dist/ink/components/file-picker/types.d.ts +0 -38
  424. package/dist/ink/components/file-picker/use-file-system.d.ts +0 -16
  425. package/dist/ink/components/scroll/ControlledScrollView.d.ts +0 -43
  426. package/dist/ink/components/scroll/ScrollBar.d.ts +0 -20
  427. package/dist/ink/components/scroll/ScrollBarBox.d.ts +0 -15
  428. package/dist/ink/components/scroll/ScrollList.d.ts +0 -12
  429. package/dist/ink/components/scroll/ScrollView.d.ts +0 -98
  430. package/dist/ink/components/scroll/index.d.ts +0 -10
  431. package/dist/ink/components/scroll/use-state-ref.d.ts +0 -8
  432. package/dist/ink/components/tree-view/TreeView.d.ts +0 -89
  433. package/dist/ink/components/tree-view/TreeViewNode.d.ts +0 -29
  434. package/dist/ink/components/tree-view/index.d.ts +0 -11
  435. package/dist/ink/components/tree-view/theme.d.ts +0 -24
  436. package/dist/ink/components/tree-view/tree-node-map.d.ts +0 -72
  437. package/dist/ink/components/tree-view/types.d.ts +0 -55
  438. package/dist/ink/components/tree-view/use-tree-view-state.d.ts +0 -135
  439. package/dist/ink/components/tree-view/use-tree-view.d.ts +0 -26
  440. package/dist/ink/components/variant-config.d.ts +0 -10
  441. package/dist/ink/cursor-helpers.d.ts +0 -38
  442. package/dist/ink/data-limited-lru-map.d.ts +0 -21
  443. package/dist/ink/devtools-window-polyfill.d.ts +0 -1
  444. package/dist/ink/devtools.d.ts +0 -1
  445. package/dist/ink/dom.d.ts +0 -213
  446. package/dist/ink/get-max-width.d.ts +0 -3
  447. package/dist/ink/highlighter.d.ts +0 -28
  448. package/dist/ink/ime-utils.d.ts +0 -25
  449. package/dist/ink/ink.d.ts +0 -189
  450. package/dist/ink/input-parser.d.ts +0 -10
  451. package/dist/ink/input-utils.d.ts +0 -16
  452. package/dist/ink/instances.d.ts +0 -3
  453. package/dist/ink/kitty-keyboard.d.ts +0 -23
  454. package/dist/ink/layout.d.ts +0 -26
  455. package/dist/ink/log-update-native.d.ts +0 -14
  456. package/dist/ink/log-update.d.ts +0 -21
  457. package/dist/ink/measure-element.d.ts +0 -147
  458. package/dist/ink/measure-text.d.ts +0 -56
  459. package/dist/ink/mouse/Fullscreen.d.ts +0 -8
  460. package/dist/ink/mouse/MouseProvider.d.ts +0 -11
  461. package/dist/ink/mouse/ansi-parser.d.ts +0 -37
  462. package/dist/ink/mouse/constants.d.ts +0 -59
  463. package/dist/ink/mouse/index.d.ts +0 -20
  464. package/dist/ink/mouse/is-intersecting.d.ts +0 -18
  465. package/dist/ink/mouse/mouse-context.d.ts +0 -36
  466. package/dist/ink/mouse/use-element-position.d.ts +0 -29
  467. package/dist/ink/mouse/use-mouse-action.d.ts +0 -7
  468. package/dist/ink/mouse/use-mouse-position.d.ts +0 -7
  469. package/dist/ink/mouse/use-mouse.d.ts +0 -7
  470. package/dist/ink/mouse/use-on-mouse-click.d.ts +0 -14
  471. package/dist/ink/mouse/use-on-mouse-hover.d.ts +0 -8
  472. package/dist/ink/mouse/use-on-mouse-state.d.ts +0 -11
  473. package/dist/ink/output.d.ts +0 -74
  474. package/dist/ink/parse-keypress.d.ts +0 -22
  475. package/dist/ink/reconciler.d.ts +0 -3
  476. package/dist/ink/region.d.ts +0 -99
  477. package/dist/ink/render-background.d.ts +0 -4
  478. package/dist/ink/render-border.d.ts +0 -4
  479. package/dist/ink/render-node-to-output.d.ts +0 -38
  480. package/dist/ink/render-scrollbar.d.ts +0 -9
  481. package/dist/ink/render-sticky.d.ts +0 -44
  482. package/dist/ink/render-to-string.d.ts +0 -37
  483. package/dist/ink/render.d.ts +0 -191
  484. package/dist/ink/renderer.d.ts +0 -17
  485. package/dist/ink/resize-observer.d.ts +0 -44
  486. package/dist/ink/sanitize-ansi.d.ts +0 -2
  487. package/dist/ink/scroll.d.ts +0 -23
  488. package/dist/ink/selection.d.ts +0 -70
  489. package/dist/ink/squash-text-nodes.d.ts +0 -18
  490. package/dist/ink/style-flags.d.ts +0 -17
  491. package/dist/ink/styled-line-factory.d.ts +0 -25
  492. package/dist/ink/styled-line-serializer.d.ts +0 -18
  493. package/dist/ink/styled-line.d.ts +0 -109
  494. package/dist/ink/styles.d.ts +0 -369
  495. package/dist/ink/terminal-palette.d.ts +0 -25
  496. package/dist/ink/text-wrap.d.ts +0 -10
  497. package/dist/ink/token-to-elements.d.ts +0 -22
  498. package/dist/ink/utils/format-time.d.ts +0 -4
  499. package/dist/ink/utils.d.ts +0 -9
  500. package/dist/ink/wrap-text.d.ts +0 -3
  501. package/dist/ink/write-synchronized.d.ts +0 -4
  502. package/dist/packem_shared/AccessibilityContext-BLelHhNU.js +0 -7
  503. package/dist/packem_shared/Alert-Dr3s_LD9.js +0 -17
  504. package/dist/packem_shared/AnimationContext-BcJg8Jr6.js +0 -15
  505. package/dist/packem_shared/AppContext-CP0U6H7O.js +0 -11
  506. package/dist/packem_shared/BackgroundContext-BAUaxfOb.js +0 -5
  507. package/dist/packem_shared/Badge-Dk7EGGM6.js +0 -13
  508. package/dist/packem_shared/BigText-CjMdY63X.js +0 -24
  509. package/dist/packem_shared/Box-D_pSJ9Jp.js +0 -73
  510. package/dist/packem_shared/COLOR_BLINDNESS_SIMULATION-BsMy5Ewl.js +0 -81
  511. package/dist/packem_shared/Cell-DCg1kJY-.js +0 -48
  512. package/dist/packem_shared/Code-DjQvPBD9.js +0 -53
  513. package/dist/packem_shared/ConfirmInput-85Y4kRQW.js +0 -44
  514. package/dist/packem_shared/ConsoleOverlay-DBNa4vtj.js +0 -57
  515. package/dist/packem_shared/ControlledScrollView-BlOaxcsN.js +0 -286
  516. package/dist/packem_shared/ControlledScrollView-DfAhcufF.js +0 -5
  517. package/dist/packem_shared/Cursor-DiW7YoSK.js +0 -18
  518. package/dist/packem_shared/CursorContext-JxRzlqAx.js +0 -9
  519. package/dist/packem_shared/DevTools-aMPIsaHx.js +0 -61
  520. package/dist/packem_shared/Dialog-DsSNAVgC.js +0 -71
  521. package/dist/packem_shared/DiffView-hqaw-2S6.js +0 -329
  522. package/dist/packem_shared/FilePicker-DNwFxRhq.js +0 -254
  523. package/dist/packem_shared/FocusContext-CWkYtgcm.js +0 -26
  524. package/dist/packem_shared/FocusContext-D5wFxSRz.js +0 -153
  525. package/dist/packem_shared/Fullscreen-DrElAE1o.js +0 -11
  526. package/dist/packem_shared/Gradient-Ql5P0GUd.js +0 -136
  527. package/dist/packem_shared/Help-6wanGG38.js +0 -112
  528. package/dist/packem_shared/IMECompositionBuffer-Dl3S0KnF.js +0 -55
  529. package/dist/packem_shared/InputParser-BKHpWfvN.js +0 -156
  530. package/dist/packem_shared/LayoutNode-Cjnsodiy.js +0 -131
  531. package/dist/packem_shared/Link-COcKYfGT.js +0 -66
  532. package/dist/packem_shared/Markdown-y1ISztof.js +0 -212
  533. package/dist/packem_shared/MouseProvider-Y9TSSEGl.js +0 -136
  534. package/dist/packem_shared/MultiSelect-ChoLUcDI.js +0 -129
  535. package/dist/packem_shared/NAMED_COLORS-a4QBvb5r.js +0 -262
  536. package/dist/packem_shared/Newline-DBtYEg8x.js +0 -7
  537. package/dist/packem_shared/OrderedList-Cp7pXr6m.js +0 -26
  538. package/dist/packem_shared/Paginator-D1AuD-kj.js +0 -104
  539. package/dist/packem_shared/ProgressBar-DOfpVagn.js +0 -22
  540. package/dist/packem_shared/Renderer-zZ5O3vxc.js +0 -31
  541. package/dist/packem_shared/ResizeObserverEntry-Br4seLeQ.js +0 -102
  542. package/dist/packem_shared/ScrollBar-EWAs2Uc7.js +0 -106
  543. package/dist/packem_shared/ScrollBarBox-DTNNlh7R.js +0 -72
  544. package/dist/packem_shared/ScrollList-DCeIFL8M.js +0 -227
  545. package/dist/packem_shared/ScrollView-v3MCNIyX.js +0 -196
  546. package/dist/packem_shared/SelectInput-BN2TMyxp.js +0 -260
  547. package/dist/packem_shared/SelectInputIndicator-DkRMoH_b.js +0 -9
  548. package/dist/packem_shared/SelectInputItem-BF9LQgKu.js +0 -8
  549. package/dist/packem_shared/Slider-BWD7xZX6.js +0 -116
  550. package/dist/packem_shared/Spacer-Bs4ER-HK.js +0 -8
  551. package/dist/packem_shared/Spinner-BuI-kN4p.js +0 -1799
  552. package/dist/packem_shared/Static-DpTd6Eed.js +0 -22
  553. package/dist/packem_shared/Static-xmD9giJj.js +0 -18
  554. package/dist/packem_shared/StaticRender-tYwH6QXl.js +0 -33
  555. package/dist/packem_shared/StatusMessage-BtSYxzwb.js +0 -14
  556. package/dist/packem_shared/StderrContext-Bj4Mf7v7.js +0 -17
  557. package/dist/packem_shared/StdinContext-Bq_GNJ3z.js +0 -38
  558. package/dist/packem_shared/StdoutContext-CgjWeCdO.js +0 -17
  559. package/dist/packem_shared/Stopwatch-DjtTCyHn.js +0 -23
  560. package/dist/packem_shared/Tab-C6r5q4hR.js +0 -7
  561. package/dist/packem_shared/Table-D-rSVlzb.js +0 -82
  562. package/dist/packem_shared/Tabs-hki-KRnx.js +0 -153
  563. package/dist/packem_shared/Text-DvAUdZcK.js +0 -65
  564. package/dist/packem_shared/TextInput-C79WEQ5U.js +0 -137
  565. package/dist/packem_shared/Textarea-Dj06R6Zd.js +0 -272
  566. package/dist/packem_shared/Timer-wi9zuh4n.js +0 -22
  567. package/dist/packem_shared/Transform-BHxY_dAM.js +0 -14
  568. package/dist/packem_shared/TreeNodeMap-CtJUvBnd.js +0 -155
  569. package/dist/packem_shared/TreeView-C2062dtj.js +0 -148
  570. package/dist/packem_shared/TuiApp-DfxOnXqi.js +0 -120
  571. package/dist/packem_shared/TuiContext-CqEjMyXd.js +0 -415
  572. package/dist/packem_shared/UnorderedList-DhnadWjX.js +0 -33
  573. package/dist/packem_shared/ansi-parser-0BdVTKho.js +0 -41
  574. package/dist/packem_shared/ansi-tokenizer-LHq2LUWA.js +0 -307
  575. package/dist/packem_shared/boxes-oi3WUbyR.js +0 -92
  576. package/dist/packem_shared/colorize-88_Vk8cn.js +0 -48
  577. package/dist/packem_shared/comparePoints-CGMDnd3_.js +0 -287
  578. package/dist/packem_shared/createInlineLoop-BxMmcq9D.js +0 -93
  579. package/dist/packem_shared/createLinkedScrollGroup-Djw4Ceo0.js +0 -44
  580. package/dist/packem_shared/dom-DvzhsAez.js +0 -225
  581. package/dist/packem_shared/format-time-BGmnDukX.js +0 -12
  582. package/dist/packem_shared/getPathToRoot-a1wbwxfL.js +0 -4
  583. package/dist/packem_shared/getScrollHeight-BubfU_df.js +0 -63
  584. package/dist/packem_shared/input-utils-ViAEXa0Z.js +0 -19
  585. package/dist/packem_shared/isIntersecting-fEXHJN5R.js +0 -10
  586. package/dist/packem_shared/isOsc52Supported-G0k4sXJx.js +0 -36
  587. package/dist/packem_shared/isTerminalPaletteQuerySupported-EeiwMKbr.js +0 -93
  588. package/dist/packem_shared/kittyFlags-bNNf_9kX.js +0 -26
  589. package/dist/packem_shared/measure-element-Reza_yfC.js +0 -396
  590. package/dist/packem_shared/measure-text-DItZYotK.js +0 -1189
  591. package/dist/packem_shared/measureElement-CTgFCmKd.js +0 -4
  592. package/dist/packem_shared/mouse-context-BUHWKEIe.js +0 -6
  593. package/dist/packem_shared/parseSgrMouse-BHVBPP9G.js +0 -1
  594. package/dist/packem_shared/processLayout-BQ9kXfd3.js +0 -2
  595. package/dist/packem_shared/reconciler-BXf6miSS.js +0 -211
  596. package/dist/packem_shared/reconciler-gfmqURLy.js +0 -680
  597. package/dist/packem_shared/render-BAwdjfki.js +0 -2806
  598. package/dist/packem_shared/render-Bpjhf0lD.js +0 -195
  599. package/dist/packem_shared/renderToString-Cfg55DRD.js +0 -62
  600. package/dist/packem_shared/renderToString-ClIaXgrC.js +0 -86
  601. package/dist/packem_shared/renderTreeToBuffer-D3mo7M7m.js +0 -308
  602. package/dist/packem_shared/renderer-B3wROkeg.js +0 -1431
  603. package/dist/packem_shared/setEnableStyledLineCache-BpskngSJ.js +0 -2
  604. package/dist/packem_shared/squashTextNodesWithMap-iqm6OMMT.js +0 -100
  605. package/dist/packem_shared/text-width-DhuarWcB.js +0 -42
  606. package/dist/packem_shared/token-to-elements-BRFl_rzw.js +0 -249
  607. package/dist/packem_shared/treeViewTheme-BpSw9TMf.js +0 -52
  608. package/dist/packem_shared/useAnimation-kj31sA-T.js +0 -62
  609. package/dist/packem_shared/useApp-DPQlRzi5.js +0 -6
  610. package/dist/packem_shared/useBoxMetrics-rBjKc-g4.js +0 -54
  611. package/dist/packem_shared/useClipboard-B_9-adw1.js +0 -23
  612. package/dist/packem_shared/useColorBlindness-D_sTIhcb.js +0 -30
  613. package/dist/packem_shared/useConsoleCapture-Dvt7G1W1.js +0 -61
  614. package/dist/packem_shared/useCursor-BIJzc8k9.js +0 -19
  615. package/dist/packem_shared/useElementDimensions-CAoKitVD.js +0 -67
  616. package/dist/packem_shared/useFocus-CNl5QHHf.js +0 -37
  617. package/dist/packem_shared/useFocusManager-BPYaUuKQ.js +0 -16
  618. package/dist/packem_shared/useInput-Cfp5zB2s.js +0 -594
  619. package/dist/packem_shared/useIsScreenReaderEnabled-CnGKCe0f.js +0 -9
  620. package/dist/packem_shared/useKeyBindings-B78l1E1n.js +0 -66
  621. package/dist/packem_shared/useMouseAction-C5gZ2nj7.js +0 -29
  622. package/dist/packem_shared/useMouseContext-D-rFy60Q.js +0 -12
  623. package/dist/packem_shared/useMousePosition-BHBJ-kBk.js +0 -25
  624. package/dist/packem_shared/useOnMouseClick--ZIyBOBO.js +0 -35
  625. package/dist/packem_shared/useOnMouseHover-26diuXUC.js +0 -32
  626. package/dist/packem_shared/useOnMouseState-NO_Kda_C.js +0 -13
  627. package/dist/packem_shared/usePaste-Ct8J4AGR.js +0 -35
  628. package/dist/packem_shared/useScrollAcceleration-R9LfrPVG.js +0 -73
  629. package/dist/packem_shared/useScrollInput-D3CpBq_a.js +0 -72
  630. package/dist/packem_shared/useStderr-CAOVUh4E.js +0 -6
  631. package/dist/packem_shared/useStdin-X-O0kd-n.js +0 -7
  632. package/dist/packem_shared/useStdout-DyF6DSH0.js +0 -6
  633. package/dist/packem_shared/useStopwatch-qC4Beai4.js +0 -33
  634. package/dist/packem_shared/useTerminalPalette-BaWO2c4Q.js +0 -38
  635. package/dist/packem_shared/useTextBuffer-C8fEe9Ly.js +0 -398
  636. package/dist/packem_shared/useTextSelection-mXtxgsPK.js +0 -50
  637. package/dist/packem_shared/useTimer-CPQ7j827.js +0 -46
  638. package/dist/packem_shared/useTreeView-BT57P3Kx.js +0 -101
  639. package/dist/packem_shared/useTreeViewState-BpS_KZ-K.js +0 -502
  640. package/dist/packem_shared/useWindowSize-ugEmGZJm.js +0 -20
  641. package/dist/packem_shared/utils-BgdlrbOH.js +0 -140
  642. package/dist/packem_shared/variant-config-DSZoX5TM.js +0 -8
  643. package/dist/packem_shared/wrapOrTruncateStyledLine-DN3Nogoc.js +0 -147
  644. package/dist/react/devtools.d.ts +0 -27
  645. package/dist/react/focus.d.ts +0 -39
  646. package/dist/react/hooks.d.ts +0 -238
  647. package/dist/react/layout.d.ts +0 -35
  648. package/dist/react/react.d.ts +0 -57
  649. package/dist/react/reconciler.d.ts +0 -4
  650. package/dist/react/render-to-string.d.ts +0 -21
  651. package/dist/react/renderer.d.ts +0 -2
  652. package/dist/react/scene.d.ts +0 -3
  653. package/dist/react/static.d.ts +0 -39
  654. package/dist/react/styles.d.ts +0 -83
  655. package/dist/react/text-width.d.ts +0 -20
  656. package/dist/testing/keys.d.ts +0 -89
  657. package/dist/testing/screen.d.ts +0 -35
  658. package/dist/testing/wait-for.d.ts +0 -21
package/dist/ink/index.js CHANGED
@@ -1,100 +1 @@
1
- export { clearOsc52, isOsc52Supported, writeOsc52 } from '../packem_shared/isOsc52Supported-G0k4sXJx.js';
2
- export { COLOR_BLINDNESS_COMPENSATION, COLOR_BLINDNESS_SIMULATION, IDENTITY_MATRIX, applyColorMatrix, hexToRgb, rgbToHex, transformHexColor } from '../packem_shared/COLOR_BLINDNESS_SIMULATION-BsMy5Ewl.js';
3
- export { default as Alert } from '../packem_shared/Alert-Dr3s_LD9.js';
4
- export { default as Badge } from '../packem_shared/Badge-Dk7EGGM6.js';
5
- export { default as BigText } from '../packem_shared/BigText-CjMdY63X.js';
6
- export { default as Box } from '../packem_shared/Box-D_pSJ9Jp.js';
7
- export { default as Code } from '../packem_shared/Code-DjQvPBD9.js';
8
- export { default as ConfirmInput } from '../packem_shared/ConfirmInput-85Y4kRQW.js';
9
- export { default as ConsoleOverlay } from '../packem_shared/ConsoleOverlay-DBNa4vtj.js';
10
- export { default as Cursor } from '../packem_shared/Cursor-DiW7YoSK.js';
11
- export { default as Dialog } from '../packem_shared/Dialog-DsSNAVgC.js';
12
- export { default as DiffView } from '../packem_shared/DiffView-hqaw-2S6.js';
13
- export { default as Gradient } from '../packem_shared/Gradient-Ql5P0GUd.js';
14
- export { default as Help } from '../packem_shared/Help-6wanGG38.js';
15
- export { default as Link } from '../packem_shared/Link-COcKYfGT.js';
16
- export { default as Markdown } from '../packem_shared/Markdown-y1ISztof.js';
17
- export { default as MultiSelect } from '../packem_shared/MultiSelect-ChoLUcDI.js';
18
- export { default as Newline } from '../packem_shared/Newline-DBtYEg8x.js';
19
- export { default as Paginator } from '../packem_shared/Paginator-D1AuD-kj.js';
20
- export { default as OrderedList } from '../packem_shared/OrderedList-Cp7pXr6m.js';
21
- export { default as ProgressBar } from '../packem_shared/ProgressBar-DOfpVagn.js';
22
- export { default as SelectInput } from '../packem_shared/SelectInput-BN2TMyxp.js';
23
- export { default as SelectInputIndicator } from '../packem_shared/SelectInputIndicator-DkRMoH_b.js';
24
- export { default as SelectInputItem } from '../packem_shared/SelectInputItem-BF9LQgKu.js';
25
- export { default as Slider } from '../packem_shared/Slider-BWD7xZX6.js';
26
- export { default as Spacer } from '../packem_shared/Spacer-Bs4ER-HK.js';
27
- export { default as Spinner } from '../packem_shared/Spinner-BuI-kN4p.js';
28
- export { default as Static } from '../packem_shared/Static-DpTd6Eed.js';
29
- export { default as StaticRender } from '../packem_shared/StaticRender-tYwH6QXl.js';
30
- export { default as StatusMessage } from '../packem_shared/StatusMessage-BtSYxzwb.js';
31
- export { default as Stopwatch } from '../packem_shared/Stopwatch-DjtTCyHn.js';
32
- export { default as Tab } from '../packem_shared/Tab-C6r5q4hR.js';
33
- export { default as Table } from '../packem_shared/Table-D-rSVlzb.js';
34
- export { default as Tabs } from '../packem_shared/Tabs-hki-KRnx.js';
35
- export { default as Text } from '../packem_shared/Text-DvAUdZcK.js';
36
- export { default as Timer } from '../packem_shared/Timer-wi9zuh4n.js';
37
- export { default as Textarea } from '../packem_shared/Textarea-Dj06R6Zd.js';
38
- export { default as TextInput } from '../packem_shared/TextInput-C79WEQ5U.js';
39
- export { default as Transform } from '../packem_shared/Transform-BHxY_dAM.js';
40
- export { default as UnorderedList } from '../packem_shared/UnorderedList-DhnadWjX.js';
41
- export { g as getPathToRoot, i as isNodeSelectable } from '../packem_shared/dom-DvzhsAez.js';
42
- export { default as useAnimation } from '../packem_shared/useAnimation-kj31sA-T.js';
43
- export { default as useApp } from '../packem_shared/useApp-DPQlRzi5.js';
44
- export { default as useBoxMetrics } from '../packem_shared/useBoxMetrics-rBjKc-g4.js';
45
- export { default as useClipboard } from '../packem_shared/useClipboard-B_9-adw1.js';
46
- export { default as useColorBlindness } from '../packem_shared/useColorBlindness-D_sTIhcb.js';
47
- export { default as useConsoleCapture } from '../packem_shared/useConsoleCapture-Dvt7G1W1.js';
48
- export { default as useCursor } from '../packem_shared/useCursor-BIJzc8k9.js';
49
- export { default as useFocus } from '../packem_shared/useFocus-CNl5QHHf.js';
50
- export { default as useFocusManager } from '../packem_shared/useFocusManager-BPYaUuKQ.js';
51
- export { default as useInput } from '../packem_shared/useInput-Cfp5zB2s.js';
52
- export { default as useKeyBindings } from '../packem_shared/useKeyBindings-B78l1E1n.js';
53
- export { default as useIsScreenReaderEnabled } from '../packem_shared/useIsScreenReaderEnabled-CnGKCe0f.js';
54
- export { default as createLinkedScrollGroup } from '../packem_shared/createLinkedScrollGroup-Djw4Ceo0.js';
55
- export { default as usePaste } from '../packem_shared/usePaste-Ct8J4AGR.js';
56
- export { default as useScrollAcceleration } from '../packem_shared/useScrollAcceleration-R9LfrPVG.js';
57
- export { default as useScrollInput } from '../packem_shared/useScrollInput-D3CpBq_a.js';
58
- export { default as useStopwatch } from '../packem_shared/useStopwatch-qC4Beai4.js';
59
- export { default as useStderr } from '../packem_shared/useStderr-CAOVUh4E.js';
60
- export { default as useStdin } from '../packem_shared/useStdin-X-O0kd-n.js';
61
- export { default as useStdout } from '../packem_shared/useStdout-DyF6DSH0.js';
62
- export { default as useTimer } from '../packem_shared/useTimer-CPQ7j827.js';
63
- export { default as useTerminalPalette } from '../packem_shared/useTerminalPalette-BaWO2c4Q.js';
64
- export { default as useTextBuffer } from '../packem_shared/useTextBuffer-C8fEe9Ly.js';
65
- export { default as useTextSelection } from '../packem_shared/useTextSelection-mXtxgsPK.js';
66
- export { default as useWindowSize } from '../packem_shared/useWindowSize-ugEmGZJm.js';
67
- export { IMECompositionBuffer, isIMEInput } from '../packem_shared/IMECompositionBuffer-Dl3S0KnF.js';
68
- export { kittyFlags, kittyModifiers } from '../packem_shared/kittyFlags-bNNf_9kX.js';
69
- export { c as calculateScrollbarLayout, a as calculateScrollbarThumb, b as collectSortedFragments, g as getAddedScrollHeight, d as getBoundingBox, e as getHorizontalScrollbarBoundingBox, f as getInnerHeight, h as getInnerWidth, i as getRelativeLeft, j as getRelativeTop, k as getText, l as getVerticalScrollbarBoundingBox, m as measureElement, p as processLayout } from '../packem_shared/measure-element-Reza_yfC.js';
70
- export { c as clearStringWidthCache, a as clearStyledLineCache, i as inkCharacterWidth, s as setEnableStyledLineCache, b as setStringWidthFunction, t as toStyledLine } from '../packem_shared/measure-text-DItZYotK.js';
71
- export { default as render } from '../packem_shared/render-BAwdjfki.js';
72
- export { default as renderToString } from '../packem_shared/renderToString-ClIaXgrC.js';
73
- export { default as ResizeObserver, ResizeObserverEntry } from '../packem_shared/ResizeObserverEntry-Br4seLeQ.js';
74
- export { calculateScroll, getScrollHeight, getScrollLeft, getScrollTop, getScrollWidth } from '../packem_shared/getScrollHeight-BubfU_df.js';
75
- export { Range, Selection, applySelectionToStyledLine, comparePoints } from '../packem_shared/comparePoints-CGMDnd3_.js';
76
- export { squashTextNodesWithMap } from '../packem_shared/squashTextNodesWithMap-iqm6OMMT.js';
77
- export { isTerminalPaletteQuerySupported, queryTerminalPalette } from '../packem_shared/isTerminalPaletteQuerySupported-EeiwMKbr.js';
78
- export { wrapOrTruncateStyledLine } from '../packem_shared/wrapOrTruncateStyledLine-DN3Nogoc.js';
79
- export { default as FilePicker } from '../packem_shared/FilePicker-DNwFxRhq.js';
80
- export { default as Fullscreen } from '../packem_shared/Fullscreen-DrElAE1o.js';
81
- export { default as MouseProvider } from '../packem_shared/MouseProvider-Y9TSSEGl.js';
82
- export { default as isIntersecting } from '../packem_shared/isIntersecting-fEXHJN5R.js';
83
- export { default as useMouseAction } from '../packem_shared/useMouseAction-C5gZ2nj7.js';
84
- export { default as useMouseContext } from '../packem_shared/useMouseContext-D-rFy60Q.js';
85
- export { default as useMousePosition } from '../packem_shared/useMousePosition-BHBJ-kBk.js';
86
- export { default as useOnMouseHover } from '../packem_shared/useOnMouseHover-26diuXUC.js';
87
- export { default as useOnMouseState } from '../packem_shared/useOnMouseState-NO_Kda_C.js';
88
- export { C as ControlledScrollView } from '../packem_shared/ControlledScrollView-BlOaxcsN.js';
89
- export { ScrollBar } from '../packem_shared/ScrollBar-EWAs2Uc7.js';
90
- export { ScrollBarBox } from '../packem_shared/ScrollBarBox-DTNNlh7R.js';
91
- export { ScrollList } from '../packem_shared/ScrollList-DCeIFL8M.js';
92
- export { ScrollView } from '../packem_shared/ScrollView-v3MCNIyX.js';
93
- export { TreeNodeMap } from '../packem_shared/TreeNodeMap-CtJUvBnd.js';
94
- export { TreeView } from '../packem_shared/TreeView-C2062dtj.js';
95
- export { p as parseSgrMouse } from '../packem_shared/ansi-parser-0BdVTKho.js';
96
- export { theme as treeViewTheme } from '../packem_shared/treeViewTheme-BpSw9TMf.js';
97
- export { useElementDimensions, useElementPosition } from '../packem_shared/useElementDimensions-CAoKitVD.js';
98
- export { useOnMouseClick } from '../packem_shared/useOnMouseClick--ZIyBOBO.js';
99
- export { useTreeView } from '../packem_shared/useTreeView-BT57P3Kx.js';
100
- export { useTreeViewState } from '../packem_shared/useTreeViewState-BpS_KZ-K.js';
1
+ import{clearOsc52 as o,isOsc52Supported as r,writeOsc52 as a}from"../packem_shared/isOsc52Supported-DKK7Uee6.js";import{COLOR_BLINDNESS_COMPENSATION as l,COLOR_BLINDNESS_SIMULATION as i,IDENTITY_MATRIX as n,applyColorMatrix as u,hexToRgb as f,rgbToHex as p,transformHexColor as c}from"../packem_shared/COLOR_BLINDNESS_SIMULATION-DqErf7XX.js";import{g as d,i as x}from"../packem_shared/dom-BG-LS10p.js";import{IMECompositionBuffer as S,isIMEInput as h}from"../packem_shared/IMECompositionBuffer-C89PhiOu.js";import{kittyFlags as M,kittyModifiers as O}from"../packem_shared/kittyFlags-C3rZLbcK.js";import{c as I,a as L,b,g as C,d as E,e as N,f as R,h as B,i as P,j as H,k as v,l as W,P as k,p as A}from"../packem_shared/layout-BMo200nF.js";import{c as D,a as F,i as z,s as q,b as w,t as j}from"../packem_shared/measure-text-DDjHT1jD.js";import{default as U}from"../packem_shared/render-BFio00DS.js";import{default as X}from"../packem_shared/renderToString-SDrrFvu8.js";import{default as G,ResizeObserverEntry as J}from"../packem_shared/ResizeObserverEntry-Dq0dk8Kq.js";import{calculateScroll as Z,getScrollHeight as $,getScrollLeft as ee,getScrollTop as te,getScrollWidth as oe}from"../packem_shared/getScrollHeight-ClEOyLHH.js";import{Range as ae,Selection as se,applySelectionToStyledLine as le,comparePoints as ie}from"../packem_shared/comparePoints-YxQfR_zq.js";import{squashTextNodesWithMap as ue}from"../packem_shared/squashTextNodesWithMap-DCdi3SZ2.js";import{isTerminalPaletteQuerySupported as pe,queryTerminalPalette as ce}from"../packem_shared/isTerminalPaletteQuerySupported-Dn2hFAZ_.js";import{wrapOrTruncateStyledLine as de}from"../packem_shared/wrapOrTruncateStyledLine-BZ00SM8i.js";import{default as ge}from"../packem_shared/Fullscreen-CxLd1-Zu.js";import{default as he}from"../packem_shared/MouseProvider-PnIUKURs.js";import{default as Me}from"../packem_shared/isIntersecting-B3KbKTmu.js";import{default as ye}from"../packem_shared/useMouseAction-2dRfU1vE.js";import{default as Le}from"../packem_shared/useMouseContext-C746G7kY.js";import{default as Ce}from"../packem_shared/useMousePosition-BTWfV4JK.js";import{default as Ne}from"../packem_shared/useOnMouseHover-D3DczIol.js";import{default as Be}from"../packem_shared/useOnMouseState-cRK8QvzD.js";import{a as He}from"../packem_shared/ansi-parser-B6uXaq65.js";import{useElementDimensions as We,useElementPosition as ke}from"../packem_shared/useElementDimensions-qJ_WXFZ9.js";import{useOnMouseClick as _e}from"../packem_shared/useOnMouseClick-nY8xLZmt.js";export{l as COLOR_BLINDNESS_COMPENSATION,i as COLOR_BLINDNESS_SIMULATION,ge as Fullscreen,n as IDENTITY_MATRIX,S as IMECompositionBuffer,he as MouseProvider,ae as Range,G as ResizeObserver,J as ResizeObserverEntry,se as Selection,u as applyColorMatrix,le as applySelectionToStyledLine,Z as calculateScroll,I as calculateScrollbarLayout,L as calculateScrollbarThumb,o as clearOsc52,D as clearStringWidthCache,F as clearStyledLineCache,b as collectSortedFragments,ie as comparePoints,C as getAddedScrollHeight,E as getBoundingBox,N as getHorizontalScrollbarBoundingBox,R as getInnerHeight,B as getInnerWidth,d as getPathToRoot,P as getRelativeLeft,H as getRelativeTop,$ as getScrollHeight,ee as getScrollLeft,te as getScrollTop,oe as getScrollWidth,v as getText,W as getVerticalScrollbarBoundingBox,f as hexToRgb,z as inkCharacterWidth,h as isIMEInput,Me as isIntersecting,x as isNodeSelectable,r as isOsc52Supported,pe as isTerminalPaletteQuerySupported,M as kittyFlags,O as kittyModifiers,k as measureElement,He as parseSgrMouse,A as processLayout,ce as queryTerminalPalette,U as render,X as renderToString,p as rgbToHex,q as setEnableStyledLineCache,w as setStringWidthFunction,ue as squashTextNodesWithMap,j as toStyledLine,c as transformHexColor,We as useElementDimensions,ke as useElementPosition,ye as useMouseAction,Le as useMouseContext,Ce as useMousePosition,_e as useOnMouseClick,Ne as useOnMouseHover,Be as useOnMouseState,de as wrapOrTruncateStyledLine,a as writeOsc52};
@@ -1,27 +1,4 @@
1
- import devtools from 'react-devtools-core';
2
- import ws from 'ws';
1
+ var a=Object.defineProperty;var r=(t,e)=>a(t,"name",{value:e,configurable:!0});import n from"react-devtools-core";import i from"ws";var s=Object.defineProperty,l=r((t,e)=>s(t,"name",{value:e,configurable:!0}),"n");const c=l(async()=>new Promise(t=>{const e=new i("ws://localhost:8097"),o=setTimeout(()=>{e.terminate(),t(!1)},2e3);o.unref(),e.on("open",()=>{clearTimeout(o),e.terminate(),t(!0)}),e.on("error",()=>{clearTimeout(o),e.terminate(),t(!1)})}),"isDevToolsReachable");await c()?(n.initialize(),n.connectToDevTools()):console.warn(`DEV is set to true, but the React DevTools server is not running. Start it with:
3
2
 
4
- const isDevToolsReachable = async () => new Promise((resolve) => {
5
- const socket = new ws("ws://localhost:8097");
6
- const timeout = setTimeout(() => {
7
- socket.terminate();
8
- resolve(false);
9
- }, 2e3);
10
- timeout.unref();
11
- socket.on("open", () => {
12
- clearTimeout(timeout);
13
- socket.terminate();
14
- resolve(true);
15
- });
16
- socket.on("error", () => {
17
- clearTimeout(timeout);
18
- socket.terminate();
19
- resolve(false);
20
- });
21
- });
22
- if (await isDevToolsReachable()) {
23
- devtools.initialize();
24
- devtools.connectToDevTools();
25
- } else {
26
- console.warn("DEV is set to true, but the React DevTools server is not running. Start it with:\n\n$ npx react-devtools\n");
27
- }
3
+ $ npx react-devtools
4
+ `);
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ const g={getBg(t){return t>>8&255},getChar(t){return t===0?" ":t>1114111?"":String.fromCodePoint(t)},getFg(t){return t&255},getStyles(t){return t>>16&255},pack(t,r=255,e=255,n=0){const o=t.codePointAt(0)??32,I=(n&255)<<16|(e&255)<<8|r&255;return[o,I]}},u={BLINK:16,BOLD:1,DIM:2,HIDDEN:64,INVERT:32,ITALIC:4,STRIKETHROUGH:128,UNDERLINE:8};export{g as Cell,u as StyleMasks};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1,2 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1,3 @@
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};
@@ -0,0 +1 @@
1
+ import{createContext as e}from"react";const a=e({isScreenReaderEnabled:!1});export{a};
@@ -0,0 +1 @@
1
+ import{createContext as e}from"react";const t=e({renderThrottleMs:0,subscribe(){return{startTime:0,unsubscribe(){}}}});t.displayName="InternalAnimationContext";export{t as e};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ import{createContext as t}from"react";const e=t({exit(){},async waitUntilRenderFlush(){}});e.displayName="InternalAppContext";export{e as t};
@@ -0,0 +1 @@
1
+ import{createContext as o}from"react";const e=o(void 0);export{e as b};
@@ -0,0 +1 @@
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};
@@ -0,0 +1,39 @@
1
+ type CanvasColor = number | string | undefined;
2
+ type CellStyle = {
3
+ readonly background?: CanvasColor;
4
+ readonly bold?: boolean;
5
+ readonly color?: CanvasColor;
6
+ readonly dim?: boolean;
7
+ };
8
+ type CanvasContext = {
9
+ /**
10
+ * Clear every cell back to space + default style.
11
+ */
12
+ readonly clear: () => void;
13
+ /**
14
+ * Draw a horizontal bar using fractional block glyphs (▏▎▍▌▋▊▉█).
15
+ * `fillRatio` in [0, 1] determines the filled portion.
16
+ */
17
+ readonly drawHBar: (x: number, y: number, w: number, fillRatio: number, style?: CellStyle) => void;
18
+ /**
19
+ * Draw a filled rectangle using a single character.
20
+ */
21
+ readonly drawRect: (x: number, y: number, w: number, h: number, char: number | string, style?: CellStyle) => void;
22
+ /**
23
+ * Render a string left-to-right starting at (x, y). Non-printable or
24
+ * multi-byte codepoints are preserved but advance the cursor by 1 cell.
25
+ */
26
+ readonly drawText: (x: number, y: number, text: string, style?: CellStyle) => void;
27
+ /**
28
+ * Draw a vertical bar using fractional block glyphs (▁▂▃▄▅▆▇█).
29
+ * `fillRatio` in [0, 1] determines the filled portion.
30
+ */
31
+ readonly drawVBar: (x: number, y: number, h: number, fillRatio: number, style?: CellStyle) => void;
32
+ readonly height: number;
33
+ /**
34
+ * Set a single cell at (x, y). Out-of-bounds writes are silently ignored.
35
+ */
36
+ readonly setCell: (x: number, y: number, char: number | string, style?: CellStyle) => void;
37
+ readonly width: number;
38
+ };
39
+ export { CanvasContext as C, CanvasColor as a, CellStyle as b };
@@ -0,0 +1,23 @@
1
+ import { Writable } from 'node:stream';
2
+ /**
3
+ * Clipboard targets as defined by the OSC 52 spec.
4
+ * - `c` — system clipboard
5
+ * - `p` — primary selection (X11 only)
6
+ * - `s` — secondary selection (X11 only)
7
+ */
8
+ type ClipboardTarget = "c" | "p" | "s";
9
+ /**
10
+ * Check whether the current terminal likely supports OSC 52.
11
+ *
12
+ * Detection is best-effort based on `TERM_PROGRAM` and other env vars.
13
+ * Returns `true` for known-supported terminals, `false` otherwise.
14
+ */
15
+ declare const isOsc52Supported: () => boolean;
16
+ declare const writeOsc52: (stream: Writable, text: string, target?: ClipboardTarget) => void;
17
+ /**
18
+ * Clear the clipboard via OSC 52.
19
+ * @param stream The writable stream to write the escape sequence to.
20
+ * @param target The clipboard target. Defaults to `"c"`.
21
+ */
22
+ declare const clearOsc52: (stream: Writable, target?: ClipboardTarget) => void;
23
+ export { ClipboardTarget as C, clearOsc52 as c, isOsc52Supported as i, writeOsc52 as w };
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Color matrix transforms for color blindness simulation and compensation.
3
+ *
4
+ * Matrices sourced from research by Brettel, Viénot, and Mollon (1997)
5
+ * and Machado, Oliveira, and Fernandes (2009).
6
+ * @see https://www.inf.ufrgs.br/~oliveira/pubs_files/CVD_Simulation/CVD_Simulation.html
7
+ */
8
+ /**
9
+ * 3x3 color transformation matrix operating on linear RGB values (0-255).
10
+ */
11
+ type ColorMatrix = readonly [readonly [number, number, number], readonly [number, number, number], readonly [number, number, number]];
12
+ type ColorBlindnessType = "achromatopsia" | "deuteranopia" | "protanopia" | "tritanopia";
13
+ /**
14
+ * Simulation matrices — show how colors appear to users with color vision deficiency.
15
+ */
16
+ declare const COLOR_BLINDNESS_SIMULATION: Record<ColorBlindnessType, ColorMatrix>;
17
+ /**
18
+ * Compensation matrices — shift colors into a distinguishable range for affected users.
19
+ * These remap problematic colors to alternatives the user can perceive.
20
+ */
21
+ /**
22
+ * Compensation matrices — enhance distinguishability for affected users
23
+ * by redistributing the lost channel's energy into perceivable channels.
24
+ * Based on Daltonization approach (Fidaner et al., 2005).
25
+ */
26
+ declare const COLOR_BLINDNESS_COMPENSATION: Record<Exclude<ColorBlindnessType, "achromatopsia">, ColorMatrix>;
27
+ /**
28
+ * Identity matrix (no transformation).
29
+ */
30
+ declare const IDENTITY_MATRIX: ColorMatrix;
31
+ /**
32
+ * Apply a 3x3 color matrix to an RGB triplet.
33
+ * @param r Red channel (0-255)
34
+ * @param g Green channel (0-255)
35
+ * @param b Blue channel (0-255)
36
+ * @param matrix The 3x3 transformation matrix
37
+ * @returns Transformed [r, g, b] triplet, clamped to 0-255
38
+ */
39
+ declare const applyColorMatrix: (r: number, g: number, b: number, matrix: ColorMatrix) => [number, number, number];
40
+ declare const hexToRgb: (hex: string) => [number, number, number] | null;
41
+ /**
42
+ * Convert RGB components to a hex color string.
43
+ */
44
+ declare const rgbToHex: (r: number, g: number, b: number) => string;
45
+ /**
46
+ * Transform a hex color through a color blindness simulation or compensation matrix.
47
+ * Returns the original color if parsing fails.
48
+ */
49
+ declare const transformHexColor: (hex: string, matrix: ColorMatrix) => string;
50
+ export { ColorBlindnessType as C, IDENTITY_MATRIX as I, ColorMatrix as a, COLOR_BLINDNESS_COMPENSATION as b, COLOR_BLINDNESS_SIMULATION as c, applyColorMatrix as d, hexToRgb as h, rgbToHex as r, transformHexColor as t };
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ var N=Object.defineProperty;var g=(n,t)=>N(n,"name",{value:t,configurable:!0});import{g as m}from"./dom-BG-LS10p.js";import{t as O}from"./measure-text-DDjHT1jD.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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1,2 @@
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};
@@ -0,0 +1,3 @@
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};
@@ -0,0 +1 @@
1
+ import{createContext as o}from"react";const t=o({setCursorPosition(){}});t.displayName="InternalCursorContext";export{t as o};
@@ -0,0 +1,12 @@
1
+ type CursorPosition = {
2
+ x: number;
3
+ y: number;
4
+ };
5
+ /**
6
+ * Declarative cursor shape, mapped to DECSCUSR (`CSI Ps SP q`).
7
+ *
8
+ * `"default"` restores the terminal's user-configured shape (`Ps=0`).
9
+ * Steady variants are non-blinking; `blinking-*` variants opt into blink.
10
+ */
11
+ type CursorShape = "bar" | "blinking-bar" | "blinking-block" | "blinking-underline" | "block" | "default" | "underline";
12
+ export { CursorShape as C, CursorPosition as a };