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

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 (669) hide show
  1. package/CHANGELOG.md +285 -0
  2. package/LICENSE.md +2650 -55
  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 +61 -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 +60 -0
  53. package/dist/components/controlled-scroll-view.js +1 -0
  54. package/dist/components/cursor.d.ts +61 -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 +116 -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 +59 -0
  73. package/dist/components/gradient.js +4 -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 +55 -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 +36 -0
  123. package/dist/components/scroll-bar-box.js +1 -0
  124. package/dist/components/scroll-bar.d.ts +24 -0
  125. package/dist/components/scroll-bar.js +1 -0
  126. package/dist/components/scroll-list.d.ts +19 -0
  127. package/dist/components/scroll-list.js +1 -0
  128. package/dist/components/scroll-view.d.ts +9 -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 +54 -0
  149. package/dist/components/static-render.js +1 -0
  150. package/dist/components/static.d.ts +28 -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 +78 -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 +356 -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 +57 -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 +57 -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 +44 -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 +40 -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 +397 -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-BR7K-5JX.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-BAqciKJ6.js +2 -0
  268. package/dist/packem_shared/KEY-Bk8B-3h_.js +1 -0
  269. package/dist/packem_shared/LayoutNode-B0qeT8sl.js +1 -0
  270. package/dist/packem_shared/MouseProvider-CHU5DuwC.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-CxBtziW8.js +1 -0
  282. package/dist/packem_shared/TuiContext-BoJvG3NN.js +3 -0
  283. package/dist/packem_shared/_commonjsHelpers-CHNfUHCT.js +1 -0
  284. package/dist/packem_shared/accessibility-context-DDyHTwmA.js +1 -0
  285. package/dist/packem_shared/animation-context-DW3p-vpk.js +1 -0
  286. package/dist/packem_shared/ansi-parser-C5JuL732.js +1 -0
  287. package/dist/packem_shared/ansi-tokenizer-DqX9nJuk.js +1 -0
  288. package/dist/packem_shared/app-context-BVpKlG1z.js +1 -0
  289. package/dist/packem_shared/background-context-rjOaWFki.js +1 -0
  290. package/dist/packem_shared/boxes-DyY_LXCi.js +1 -0
  291. package/dist/packem_shared/braille-BBjIoaN0.js +1 -0
  292. package/dist/packem_shared/buffer.d-EJkZr8uH.d.ts +39 -0
  293. package/dist/packem_shared/clipboard.d-D6lZTQ21.d.ts +23 -0
  294. package/dist/packem_shared/color-matrix.d-DSXLsB64.d.ts +50 -0
  295. package/dist/packem_shared/colorize-gy_cY-wC.js +2 -0
  296. package/dist/packem_shared/comparePoints-Dez5FkH9.js +1 -0
  297. package/dist/packem_shared/constants-D12jy2Zh-RSfxu1eM.js +1 -0
  298. package/dist/packem_shared/controlled-scroll-view-CcUS50jx.js +1 -0
  299. package/dist/packem_shared/createInlineLoop-D0JaKX9A.js +2 -0
  300. package/dist/packem_shared/createScreen-87XLHZq6.js +3 -0
  301. package/dist/packem_shared/cursor-context-CFviBqPX.js +1 -0
  302. package/dist/packem_shared/cursor-helpers.d-BONB9tky.d.ts +12 -0
  303. package/dist/packem_shared/dom-CW6KYzFK.js +8 -0
  304. package/dist/packem_shared/dom.d-DgP_exKU.d.ts +412 -0
  305. package/dist/packem_shared/erase-DKKNxHZ_.js +1 -0
  306. package/dist/packem_shared/focus-context-CsT69klR.js +1 -0
  307. package/dist/packem_shared/format-time-C7Q-hQZq.js +1 -0
  308. package/dist/packem_shared/get-string-width-CbMPWEJO.js +1 -0
  309. package/dist/packem_shared/getPathToRoot-B3q6OlQy.js +1 -0
  310. package/dist/packem_shared/getScrollHeight-ClEOyLHH.js +1 -0
  311. package/dist/packem_shared/index-COPEEDn3.js +9 -0
  312. package/dist/packem_shared/index-CqsHHJkn.js +75 -0
  313. package/dist/packem_shared/index.d-Bk52cbgN.d.ts +14 -0
  314. package/dist/packem_shared/index.server.d-eZWyC2Ku.d.ts +5 -0
  315. package/dist/packem_shared/input-utils-fAxzSlNh.js +1 -0
  316. package/dist/packem_shared/input.d-D-Yxqha8.d.ts +172 -0
  317. package/dist/packem_shared/isIntersecting-B3KbKTmu.js +1 -0
  318. package/dist/packem_shared/isOsc52Supported-DKK7Uee6.js +1 -0
  319. package/dist/packem_shared/isTerminalPaletteQuerySupported-Dn2hFAZ_.js +1 -0
  320. package/dist/packem_shared/kittyFlags-C3rZLbcK.js +1 -0
  321. package/dist/packem_shared/layout-BMo200nF.js +2 -0
  322. package/dist/packem_shared/line-chart-kf7uhR0K.js +1 -0
  323. package/dist/packem_shared/measure-text-D-jVetsl.js +3 -0
  324. package/dist/packem_shared/measureElement-BTtTFZg4.js +1 -0
  325. package/dist/packem_shared/mode-BOIU4Roy.js +1 -0
  326. package/dist/packem_shared/mouse-context-DaARgUu1.js +1 -0
  327. package/dist/packem_shared/parseSgrMouse-DoBY7MKw.js +1 -0
  328. package/dist/packem_shared/processLayout-FEKj_mWu.js +1 -0
  329. package/dist/packem_shared/reconciler-CGhHgXXG.js +1 -0
  330. package/dist/packem_shared/reconciler-ClRKkLS4.js +1 -0
  331. package/dist/packem_shared/render-BoukeuYD.js +1 -0
  332. package/dist/packem_shared/render-CBFHzIKj.js +27 -0
  333. package/dist/packem_shared/render.d-DarVJBG2.d.ts +417 -0
  334. package/dist/packem_shared/renderToString-Cx3DmmMR.js +4 -0
  335. package/dist/packem_shared/renderToString-nZdqfdWT.js +2 -0
  336. package/dist/packem_shared/renderTreeToBuffer-LnGZkEUX.js +2 -0
  337. package/dist/packem_shared/renderer-C2ycheBL.js +17 -0
  338. package/dist/packem_shared/scroll-view.d-DtpsgHLg.d.ts +119 -0
  339. package/dist/packem_shared/selection.d-WuD_83yQ.d.ts +62 -0
  340. package/dist/packem_shared/setEnableStyledLineCache-Cke6_ZQt.js +1 -0
  341. package/dist/packem_shared/squashTextNodesWithMap-DCdi3SZ2.js +1 -0
  342. package/dist/packem_shared/stderr-context-BzEaUICS.js +1 -0
  343. package/dist/packem_shared/stdin-context-BTaaFagk.js +1 -0
  344. package/dist/packem_shared/stdout-context-BnblEPez.js +1 -0
  345. package/dist/packem_shared/strip-C6HQYmlg.js +1 -0
  346. package/dist/packem_shared/styles.d-CLJdt-kg.d.ts +492 -0
  347. package/dist/packem_shared/terminal-palette.d-D2SQjfn-.d.ts +19 -0
  348. package/dist/packem_shared/text-width-CI9G0a-z.js +2 -0
  349. package/dist/packem_shared/token-to-elements-BAZpNZsu.js +1 -0
  350. package/dist/packem_shared/treeViewTheme-1RIZyB4M.js +1 -0
  351. package/dist/packem_shared/useElementDimensions-qJ_WXFZ9.js +1 -0
  352. package/dist/packem_shared/useMouseAction-2dRfU1vE.js +1 -0
  353. package/dist/packem_shared/useMouseContext-C746G7kY.js +1 -0
  354. package/dist/packem_shared/useMousePosition-BTWfV4JK.js +1 -0
  355. package/dist/packem_shared/useOnMouseClick-nY8xLZmt.js +1 -0
  356. package/dist/packem_shared/useOnMouseHover-D3DczIol.js +1 -0
  357. package/dist/packem_shared/useOnMouseState-cRK8QvzD.js +1 -0
  358. package/dist/packem_shared/useTreeView-BoMMeRPq.js +1 -0
  359. package/dist/packem_shared/useTreeViewState-CRPCUWrb.js +1 -0
  360. package/dist/packem_shared/utils-THUhYKG2.js +1 -0
  361. package/dist/packem_shared/variant-config-BJqpNo7H.js +1 -0
  362. package/dist/packem_shared/variant-config.d-D5NnrrQK.d.ts +2 -0
  363. package/dist/packem_shared/waitFor-Dj5zfL5s.js +4 -0
  364. package/dist/packem_shared/wrapOrTruncateStyledLine-kyi6yijx.js +3 -0
  365. package/dist/react/index.d.ts +518 -8
  366. package/dist/react/index.js +1 -9
  367. package/dist/testing/index.d.ts +277 -135
  368. package/dist/testing/index.js +1 -260
  369. package/index.js +52 -52
  370. package/package.json +552 -40
  371. package/dist/core/app.d.ts +0 -50
  372. package/dist/core/cell.d.ts +0 -33
  373. package/dist/core/inline.d.ts +0 -22
  374. package/dist/core/input.d.ts +0 -18
  375. package/dist/core/native-binding.d.ts +0 -22
  376. package/dist/ink/ansi-to-cell.d.ts +0 -5
  377. package/dist/ink/ansi-tokenizer.d.ts +0 -38
  378. package/dist/ink/clipboard.d.ts +0 -29
  379. package/dist/ink/color-matrix.d.ts +0 -49
  380. package/dist/ink/color-utils.d.ts +0 -30
  381. package/dist/ink/colorize.d.ts +0 -4
  382. package/dist/ink/components/AccessibilityContext.d.ts +0 -4
  383. package/dist/ink/components/Alert.d.ts +0 -30
  384. package/dist/ink/components/AnimationContext.d.ts +0 -10
  385. package/dist/ink/components/App.d.ts +0 -19
  386. package/dist/ink/components/AppContext.d.ts +0 -38
  387. package/dist/ink/components/BackgroundContext.d.ts +0 -5
  388. package/dist/ink/components/Badge.d.ts +0 -27
  389. package/dist/ink/components/BigText.d.ts +0 -71
  390. package/dist/ink/components/Box.d.ts +0 -58
  391. package/dist/ink/components/Code.d.ts +0 -46
  392. package/dist/ink/components/ConfirmInput.d.ts +0 -40
  393. package/dist/ink/components/ConsoleOverlay.d.ts +0 -52
  394. package/dist/ink/components/Cursor.d.ts +0 -43
  395. package/dist/ink/components/CursorContext.d.ts +0 -12
  396. package/dist/ink/components/Dialog.d.ts +0 -93
  397. package/dist/ink/components/DiffView.d.ts +0 -71
  398. package/dist/ink/components/ErrorBoundary.d.ts +0 -17
  399. package/dist/ink/components/ErrorOverview.d.ts +0 -6
  400. package/dist/ink/components/FocusContext.d.ts +0 -17
  401. package/dist/ink/components/Gradient.d.ts +0 -38
  402. package/dist/ink/components/Help.d.ts +0 -49
  403. package/dist/ink/components/Link.d.ts +0 -34
  404. package/dist/ink/components/Markdown.d.ts +0 -34
  405. package/dist/ink/components/MultiSelect.d.ts +0 -63
  406. package/dist/ink/components/Newline.d.ts +0 -12
  407. package/dist/ink/components/OrderedList.d.ts +0 -30
  408. package/dist/ink/components/Paginator.d.ts +0 -75
  409. package/dist/ink/components/ProgressBar.d.ts +0 -51
  410. package/dist/ink/components/SelectInput.d.ts +0 -96
  411. package/dist/ink/components/SelectInputIndicator.d.ts +0 -36
  412. package/dist/ink/components/SelectInputItem.d.ts +0 -43
  413. package/dist/ink/components/Slider.d.ts +0 -92
  414. package/dist/ink/components/Spacer.d.ts +0 -7
  415. package/dist/ink/components/Spinner.d.ts +0 -42
  416. package/dist/ink/components/Static.d.ts +0 -24
  417. package/dist/ink/components/StaticRender.d.ts +0 -28
  418. package/dist/ink/components/StatusMessage.d.ts +0 -26
  419. package/dist/ink/components/StderrContext.d.ts +0 -16
  420. package/dist/ink/components/StdinContext.d.ts +0 -29
  421. package/dist/ink/components/StdoutContext.d.ts +0 -16
  422. package/dist/ink/components/Stopwatch.d.ts +0 -44
  423. package/dist/ink/components/Tab.d.ts +0 -25
  424. package/dist/ink/components/Table.d.ts +0 -80
  425. package/dist/ink/components/Tabs.d.ts +0 -104
  426. package/dist/ink/components/Text.d.ts +0 -63
  427. package/dist/ink/components/TextInput.d.ts +0 -48
  428. package/dist/ink/components/Textarea.d.ts +0 -62
  429. package/dist/ink/components/Timer.d.ts +0 -52
  430. package/dist/ink/components/Transform.d.ts +0 -16
  431. package/dist/ink/components/UnorderedList.d.ts +0 -35
  432. package/dist/ink/components/file-picker/FilePicker.d.ts +0 -75
  433. package/dist/ink/components/file-picker/index.d.ts +0 -3
  434. package/dist/ink/components/file-picker/types.d.ts +0 -38
  435. package/dist/ink/components/file-picker/use-file-system.d.ts +0 -16
  436. package/dist/ink/components/scroll/ControlledScrollView.d.ts +0 -43
  437. package/dist/ink/components/scroll/ScrollBar.d.ts +0 -20
  438. package/dist/ink/components/scroll/ScrollBarBox.d.ts +0 -15
  439. package/dist/ink/components/scroll/ScrollList.d.ts +0 -12
  440. package/dist/ink/components/scroll/ScrollView.d.ts +0 -98
  441. package/dist/ink/components/scroll/index.d.ts +0 -10
  442. package/dist/ink/components/scroll/use-state-ref.d.ts +0 -8
  443. package/dist/ink/components/tree-view/TreeView.d.ts +0 -89
  444. package/dist/ink/components/tree-view/TreeViewNode.d.ts +0 -29
  445. package/dist/ink/components/tree-view/index.d.ts +0 -11
  446. package/dist/ink/components/tree-view/theme.d.ts +0 -24
  447. package/dist/ink/components/tree-view/tree-node-map.d.ts +0 -72
  448. package/dist/ink/components/tree-view/types.d.ts +0 -55
  449. package/dist/ink/components/tree-view/use-tree-view-state.d.ts +0 -135
  450. package/dist/ink/components/tree-view/use-tree-view.d.ts +0 -26
  451. package/dist/ink/components/variant-config.d.ts +0 -10
  452. package/dist/ink/cursor-helpers.d.ts +0 -38
  453. package/dist/ink/data-limited-lru-map.d.ts +0 -21
  454. package/dist/ink/devtools-window-polyfill.d.ts +0 -1
  455. package/dist/ink/devtools.d.ts +0 -1
  456. package/dist/ink/dom.d.ts +0 -213
  457. package/dist/ink/get-max-width.d.ts +0 -3
  458. package/dist/ink/highlighter.d.ts +0 -28
  459. package/dist/ink/ime-utils.d.ts +0 -25
  460. package/dist/ink/ink.d.ts +0 -189
  461. package/dist/ink/input-parser.d.ts +0 -10
  462. package/dist/ink/input-utils.d.ts +0 -16
  463. package/dist/ink/instances.d.ts +0 -3
  464. package/dist/ink/kitty-keyboard.d.ts +0 -23
  465. package/dist/ink/layout.d.ts +0 -26
  466. package/dist/ink/log-update-native.d.ts +0 -14
  467. package/dist/ink/log-update.d.ts +0 -21
  468. package/dist/ink/measure-element.d.ts +0 -147
  469. package/dist/ink/measure-text.d.ts +0 -56
  470. package/dist/ink/mouse/Fullscreen.d.ts +0 -8
  471. package/dist/ink/mouse/MouseProvider.d.ts +0 -11
  472. package/dist/ink/mouse/ansi-parser.d.ts +0 -37
  473. package/dist/ink/mouse/constants.d.ts +0 -59
  474. package/dist/ink/mouse/index.d.ts +0 -20
  475. package/dist/ink/mouse/is-intersecting.d.ts +0 -18
  476. package/dist/ink/mouse/mouse-context.d.ts +0 -36
  477. package/dist/ink/mouse/use-element-position.d.ts +0 -29
  478. package/dist/ink/mouse/use-mouse-action.d.ts +0 -7
  479. package/dist/ink/mouse/use-mouse-position.d.ts +0 -7
  480. package/dist/ink/mouse/use-mouse.d.ts +0 -7
  481. package/dist/ink/mouse/use-on-mouse-click.d.ts +0 -14
  482. package/dist/ink/mouse/use-on-mouse-hover.d.ts +0 -8
  483. package/dist/ink/mouse/use-on-mouse-state.d.ts +0 -11
  484. package/dist/ink/output.d.ts +0 -74
  485. package/dist/ink/parse-keypress.d.ts +0 -22
  486. package/dist/ink/reconciler.d.ts +0 -3
  487. package/dist/ink/region.d.ts +0 -99
  488. package/dist/ink/render-background.d.ts +0 -4
  489. package/dist/ink/render-border.d.ts +0 -4
  490. package/dist/ink/render-node-to-output.d.ts +0 -38
  491. package/dist/ink/render-scrollbar.d.ts +0 -9
  492. package/dist/ink/render-sticky.d.ts +0 -44
  493. package/dist/ink/render-to-string.d.ts +0 -37
  494. package/dist/ink/render.d.ts +0 -191
  495. package/dist/ink/renderer.d.ts +0 -17
  496. package/dist/ink/resize-observer.d.ts +0 -44
  497. package/dist/ink/sanitize-ansi.d.ts +0 -2
  498. package/dist/ink/scroll.d.ts +0 -23
  499. package/dist/ink/selection.d.ts +0 -70
  500. package/dist/ink/squash-text-nodes.d.ts +0 -18
  501. package/dist/ink/style-flags.d.ts +0 -17
  502. package/dist/ink/styled-line-factory.d.ts +0 -25
  503. package/dist/ink/styled-line-serializer.d.ts +0 -18
  504. package/dist/ink/styled-line.d.ts +0 -109
  505. package/dist/ink/styles.d.ts +0 -369
  506. package/dist/ink/terminal-palette.d.ts +0 -25
  507. package/dist/ink/text-wrap.d.ts +0 -10
  508. package/dist/ink/token-to-elements.d.ts +0 -22
  509. package/dist/ink/utils/format-time.d.ts +0 -4
  510. package/dist/ink/utils.d.ts +0 -9
  511. package/dist/ink/wrap-text.d.ts +0 -3
  512. package/dist/ink/write-synchronized.d.ts +0 -4
  513. package/dist/packem_shared/AccessibilityContext-BLelHhNU.js +0 -7
  514. package/dist/packem_shared/Alert-Dr3s_LD9.js +0 -17
  515. package/dist/packem_shared/AnimationContext-BcJg8Jr6.js +0 -15
  516. package/dist/packem_shared/AppContext-CP0U6H7O.js +0 -11
  517. package/dist/packem_shared/BackgroundContext-BAUaxfOb.js +0 -5
  518. package/dist/packem_shared/Badge-Dk7EGGM6.js +0 -13
  519. package/dist/packem_shared/BigText-CjMdY63X.js +0 -24
  520. package/dist/packem_shared/Box-D_pSJ9Jp.js +0 -73
  521. package/dist/packem_shared/COLOR_BLINDNESS_SIMULATION-BsMy5Ewl.js +0 -81
  522. package/dist/packem_shared/Cell-DCg1kJY-.js +0 -48
  523. package/dist/packem_shared/Code-DjQvPBD9.js +0 -53
  524. package/dist/packem_shared/ConfirmInput-85Y4kRQW.js +0 -44
  525. package/dist/packem_shared/ConsoleOverlay-DBNa4vtj.js +0 -57
  526. package/dist/packem_shared/ControlledScrollView-BlOaxcsN.js +0 -286
  527. package/dist/packem_shared/ControlledScrollView-DfAhcufF.js +0 -5
  528. package/dist/packem_shared/Cursor-DiW7YoSK.js +0 -18
  529. package/dist/packem_shared/CursorContext-JxRzlqAx.js +0 -9
  530. package/dist/packem_shared/DevTools-aMPIsaHx.js +0 -61
  531. package/dist/packem_shared/Dialog-DsSNAVgC.js +0 -71
  532. package/dist/packem_shared/DiffView-hqaw-2S6.js +0 -329
  533. package/dist/packem_shared/FilePicker-DNwFxRhq.js +0 -254
  534. package/dist/packem_shared/FocusContext-CWkYtgcm.js +0 -26
  535. package/dist/packem_shared/FocusContext-D5wFxSRz.js +0 -153
  536. package/dist/packem_shared/Fullscreen-DrElAE1o.js +0 -11
  537. package/dist/packem_shared/Gradient-Ql5P0GUd.js +0 -136
  538. package/dist/packem_shared/Help-6wanGG38.js +0 -112
  539. package/dist/packem_shared/IMECompositionBuffer-Dl3S0KnF.js +0 -55
  540. package/dist/packem_shared/InputParser-BKHpWfvN.js +0 -156
  541. package/dist/packem_shared/LayoutNode-Cjnsodiy.js +0 -131
  542. package/dist/packem_shared/Link-COcKYfGT.js +0 -66
  543. package/dist/packem_shared/Markdown-y1ISztof.js +0 -212
  544. package/dist/packem_shared/MouseProvider-Y9TSSEGl.js +0 -136
  545. package/dist/packem_shared/MultiSelect-ChoLUcDI.js +0 -129
  546. package/dist/packem_shared/NAMED_COLORS-a4QBvb5r.js +0 -262
  547. package/dist/packem_shared/Newline-DBtYEg8x.js +0 -7
  548. package/dist/packem_shared/OrderedList-Cp7pXr6m.js +0 -26
  549. package/dist/packem_shared/Paginator-D1AuD-kj.js +0 -104
  550. package/dist/packem_shared/ProgressBar-DOfpVagn.js +0 -22
  551. package/dist/packem_shared/Renderer-zZ5O3vxc.js +0 -31
  552. package/dist/packem_shared/ResizeObserverEntry-Br4seLeQ.js +0 -102
  553. package/dist/packem_shared/ScrollBar-EWAs2Uc7.js +0 -106
  554. package/dist/packem_shared/ScrollBarBox-DTNNlh7R.js +0 -72
  555. package/dist/packem_shared/ScrollList-DCeIFL8M.js +0 -227
  556. package/dist/packem_shared/ScrollView-v3MCNIyX.js +0 -196
  557. package/dist/packem_shared/SelectInput-BN2TMyxp.js +0 -260
  558. package/dist/packem_shared/SelectInputIndicator-DkRMoH_b.js +0 -9
  559. package/dist/packem_shared/SelectInputItem-BF9LQgKu.js +0 -8
  560. package/dist/packem_shared/Slider-BWD7xZX6.js +0 -116
  561. package/dist/packem_shared/Spacer-Bs4ER-HK.js +0 -8
  562. package/dist/packem_shared/Spinner-BuI-kN4p.js +0 -1799
  563. package/dist/packem_shared/Static-DpTd6Eed.js +0 -22
  564. package/dist/packem_shared/Static-xmD9giJj.js +0 -18
  565. package/dist/packem_shared/StaticRender-tYwH6QXl.js +0 -33
  566. package/dist/packem_shared/StatusMessage-BtSYxzwb.js +0 -14
  567. package/dist/packem_shared/StderrContext-Bj4Mf7v7.js +0 -17
  568. package/dist/packem_shared/StdinContext-Bq_GNJ3z.js +0 -38
  569. package/dist/packem_shared/StdoutContext-CgjWeCdO.js +0 -17
  570. package/dist/packem_shared/Stopwatch-DjtTCyHn.js +0 -23
  571. package/dist/packem_shared/Tab-C6r5q4hR.js +0 -7
  572. package/dist/packem_shared/Table-D-rSVlzb.js +0 -82
  573. package/dist/packem_shared/Tabs-hki-KRnx.js +0 -153
  574. package/dist/packem_shared/Text-DvAUdZcK.js +0 -65
  575. package/dist/packem_shared/TextInput-C79WEQ5U.js +0 -137
  576. package/dist/packem_shared/Textarea-Dj06R6Zd.js +0 -272
  577. package/dist/packem_shared/Timer-wi9zuh4n.js +0 -22
  578. package/dist/packem_shared/Transform-BHxY_dAM.js +0 -14
  579. package/dist/packem_shared/TreeNodeMap-CtJUvBnd.js +0 -155
  580. package/dist/packem_shared/TreeView-C2062dtj.js +0 -148
  581. package/dist/packem_shared/TuiApp-DfxOnXqi.js +0 -120
  582. package/dist/packem_shared/TuiContext-CqEjMyXd.js +0 -415
  583. package/dist/packem_shared/UnorderedList-DhnadWjX.js +0 -33
  584. package/dist/packem_shared/ansi-parser-0BdVTKho.js +0 -41
  585. package/dist/packem_shared/ansi-tokenizer-LHq2LUWA.js +0 -307
  586. package/dist/packem_shared/boxes-oi3WUbyR.js +0 -92
  587. package/dist/packem_shared/colorize-88_Vk8cn.js +0 -48
  588. package/dist/packem_shared/comparePoints-CGMDnd3_.js +0 -287
  589. package/dist/packem_shared/createInlineLoop-BxMmcq9D.js +0 -93
  590. package/dist/packem_shared/createLinkedScrollGroup-Djw4Ceo0.js +0 -44
  591. package/dist/packem_shared/dom-DvzhsAez.js +0 -225
  592. package/dist/packem_shared/format-time-BGmnDukX.js +0 -12
  593. package/dist/packem_shared/getPathToRoot-a1wbwxfL.js +0 -4
  594. package/dist/packem_shared/getScrollHeight-BubfU_df.js +0 -63
  595. package/dist/packem_shared/input-utils-ViAEXa0Z.js +0 -19
  596. package/dist/packem_shared/isIntersecting-fEXHJN5R.js +0 -10
  597. package/dist/packem_shared/isOsc52Supported-G0k4sXJx.js +0 -36
  598. package/dist/packem_shared/isTerminalPaletteQuerySupported-EeiwMKbr.js +0 -93
  599. package/dist/packem_shared/kittyFlags-bNNf_9kX.js +0 -26
  600. package/dist/packem_shared/measure-element-Reza_yfC.js +0 -396
  601. package/dist/packem_shared/measure-text-DItZYotK.js +0 -1189
  602. package/dist/packem_shared/measureElement-CTgFCmKd.js +0 -4
  603. package/dist/packem_shared/mouse-context-BUHWKEIe.js +0 -6
  604. package/dist/packem_shared/parseSgrMouse-BHVBPP9G.js +0 -1
  605. package/dist/packem_shared/processLayout-BQ9kXfd3.js +0 -2
  606. package/dist/packem_shared/reconciler-BXf6miSS.js +0 -211
  607. package/dist/packem_shared/reconciler-gfmqURLy.js +0 -680
  608. package/dist/packem_shared/render-BAwdjfki.js +0 -2806
  609. package/dist/packem_shared/render-Bpjhf0lD.js +0 -195
  610. package/dist/packem_shared/renderToString-Cfg55DRD.js +0 -62
  611. package/dist/packem_shared/renderToString-ClIaXgrC.js +0 -86
  612. package/dist/packem_shared/renderTreeToBuffer-D3mo7M7m.js +0 -308
  613. package/dist/packem_shared/renderer-B3wROkeg.js +0 -1431
  614. package/dist/packem_shared/setEnableStyledLineCache-BpskngSJ.js +0 -2
  615. package/dist/packem_shared/squashTextNodesWithMap-iqm6OMMT.js +0 -100
  616. package/dist/packem_shared/text-width-DhuarWcB.js +0 -42
  617. package/dist/packem_shared/token-to-elements-BRFl_rzw.js +0 -249
  618. package/dist/packem_shared/treeViewTheme-BpSw9TMf.js +0 -52
  619. package/dist/packem_shared/useAnimation-kj31sA-T.js +0 -62
  620. package/dist/packem_shared/useApp-DPQlRzi5.js +0 -6
  621. package/dist/packem_shared/useBoxMetrics-rBjKc-g4.js +0 -54
  622. package/dist/packem_shared/useClipboard-B_9-adw1.js +0 -23
  623. package/dist/packem_shared/useColorBlindness-D_sTIhcb.js +0 -30
  624. package/dist/packem_shared/useConsoleCapture-Dvt7G1W1.js +0 -61
  625. package/dist/packem_shared/useCursor-BIJzc8k9.js +0 -19
  626. package/dist/packem_shared/useElementDimensions-CAoKitVD.js +0 -67
  627. package/dist/packem_shared/useFocus-CNl5QHHf.js +0 -37
  628. package/dist/packem_shared/useFocusManager-BPYaUuKQ.js +0 -16
  629. package/dist/packem_shared/useInput-Cfp5zB2s.js +0 -594
  630. package/dist/packem_shared/useIsScreenReaderEnabled-CnGKCe0f.js +0 -9
  631. package/dist/packem_shared/useKeyBindings-B78l1E1n.js +0 -66
  632. package/dist/packem_shared/useMouseAction-C5gZ2nj7.js +0 -29
  633. package/dist/packem_shared/useMouseContext-D-rFy60Q.js +0 -12
  634. package/dist/packem_shared/useMousePosition-BHBJ-kBk.js +0 -25
  635. package/dist/packem_shared/useOnMouseClick--ZIyBOBO.js +0 -35
  636. package/dist/packem_shared/useOnMouseHover-26diuXUC.js +0 -32
  637. package/dist/packem_shared/useOnMouseState-NO_Kda_C.js +0 -13
  638. package/dist/packem_shared/usePaste-Ct8J4AGR.js +0 -35
  639. package/dist/packem_shared/useScrollAcceleration-R9LfrPVG.js +0 -73
  640. package/dist/packem_shared/useScrollInput-D3CpBq_a.js +0 -72
  641. package/dist/packem_shared/useStderr-CAOVUh4E.js +0 -6
  642. package/dist/packem_shared/useStdin-X-O0kd-n.js +0 -7
  643. package/dist/packem_shared/useStdout-DyF6DSH0.js +0 -6
  644. package/dist/packem_shared/useStopwatch-qC4Beai4.js +0 -33
  645. package/dist/packem_shared/useTerminalPalette-BaWO2c4Q.js +0 -38
  646. package/dist/packem_shared/useTextBuffer-C8fEe9Ly.js +0 -398
  647. package/dist/packem_shared/useTextSelection-mXtxgsPK.js +0 -50
  648. package/dist/packem_shared/useTimer-CPQ7j827.js +0 -46
  649. package/dist/packem_shared/useTreeView-BT57P3Kx.js +0 -101
  650. package/dist/packem_shared/useTreeViewState-BpS_KZ-K.js +0 -502
  651. package/dist/packem_shared/useWindowSize-ugEmGZJm.js +0 -20
  652. package/dist/packem_shared/utils-BgdlrbOH.js +0 -140
  653. package/dist/packem_shared/variant-config-DSZoX5TM.js +0 -8
  654. package/dist/packem_shared/wrapOrTruncateStyledLine-DN3Nogoc.js +0 -147
  655. package/dist/react/devtools.d.ts +0 -27
  656. package/dist/react/focus.d.ts +0 -39
  657. package/dist/react/hooks.d.ts +0 -238
  658. package/dist/react/layout.d.ts +0 -35
  659. package/dist/react/react.d.ts +0 -57
  660. package/dist/react/reconciler.d.ts +0 -4
  661. package/dist/react/render-to-string.d.ts +0 -21
  662. package/dist/react/renderer.d.ts +0 -2
  663. package/dist/react/scene.d.ts +0 -3
  664. package/dist/react/static.d.ts +0 -39
  665. package/dist/react/styles.d.ts +0 -83
  666. package/dist/react/text-width.d.ts +0 -20
  667. package/dist/testing/keys.d.ts +0 -89
  668. package/dist/testing/screen.d.ts +0 -35
  669. package/dist/testing/wait-for.d.ts +0 -21
@@ -0,0 +1,356 @@
1
+ import { BoxProps as Props$1 } from "./box.js";
2
+ import { Props as Props$2 } from "./text.js";
3
+ import { ReactNode, ReactElement } from 'react';
4
+ import 'type-fest';
5
+ import "../packem_shared/dom.d-DgP_exKU.js";
6
+ import 'yoga-layout';
7
+ import "../packem_shared/cursor-helpers.d-BONB9tky.js";
8
+ import "../packem_shared/styles.d-CLJdt-kg.js";
9
+ import "../packem_shared/index.server.d-eZWyC2Ku.js";
10
+ type StyleFunctionProps = {
11
+ readonly depth?: number;
12
+ readonly hasChildren?: boolean;
13
+ readonly isExpanded?: boolean;
14
+ readonly isFocused?: boolean;
15
+ readonly isLoading?: boolean;
16
+ readonly isSelected?: boolean;
17
+ };
18
+ declare const theme: {
19
+ styles: {
20
+ container: () => Props$1;
21
+ expandIndicator: (_props: StyleFunctionProps) => Props$2;
22
+ focusIndicator: () => Props$2;
23
+ indent: ({
24
+ depth
25
+ }: StyleFunctionProps) => Props$1;
26
+ label: ({
27
+ isFocused,
28
+ isSelected
29
+ }: StyleFunctionProps) => Props$2;
30
+ loadingIndicator: () => Props$2;
31
+ node: ({
32
+ isFocused
33
+ }: StyleFunctionProps) => Props$1;
34
+ selectedIndicator: () => Props$2;
35
+ };
36
+ };
37
+ type Theme = typeof theme;
38
+ /**
39
+ * A single node in the tree. Generic over the user's data shape.
40
+ * The `id` field MUST be unique across the entire tree.
41
+ */
42
+ type TreeNode<T = Record<string, unknown>> = {
43
+ /** Child nodes. Undefined or empty array means leaf node. */
44
+ readonly children?: TreeNode<T>[];
45
+ /** Arbitrary user data attached to this node. */
46
+ readonly data?: T;
47
+ /** Unique identifier for this node. Used as the key for all lookups. */
48
+ readonly id: string;
49
+ /**
50
+ * Explicitly marks this node as a parent that can have children loaded
51
+ * asynchronously via `loadChildren`. When true, the node shows an expand
52
+ * indicator even if `children` is empty or undefined, and expanding it
53
+ * triggers the `loadChildren` callback.
54
+ */
55
+ readonly isParent?: boolean;
56
+ /** Display label. Used by the default renderer. */
57
+ readonly label: string;
58
+ };
59
+ /**
60
+ * For async/lazy loading: a function that resolves children on demand.
61
+ */
62
+ type AsyncChildrenFunction<T = Record<string, unknown>> = (node: TreeNode<T>) => Promise<TreeNode<T>[]>;
63
+ /**
64
+ * State passed to custom renderers and theme functions.
65
+ */
66
+ type TreeNodeState = {
67
+ /** Depth of this node in the tree (root = 0). */
68
+ readonly depth: number;
69
+ /** Whether this node has children (or a lazy loader). */
70
+ readonly hasChildren: boolean;
71
+ /** Whether this node is expanded (children visible). */
72
+ readonly isExpanded: boolean;
73
+ /** Whether this node is currently focused (cursor is on it). */
74
+ readonly isFocused: boolean;
75
+ /** Whether children are currently loading (async mode). */
76
+ readonly isLoading: boolean;
77
+ /** Whether this node is selected (in select/multi-select mode). */
78
+ readonly isSelected: boolean;
79
+ };
80
+ /**
81
+ * Props received by a custom node renderer.
82
+ */
83
+ type TreeNodeRendererProps<T = Record<string, unknown>> = {
84
+ /** The tree node data. */
85
+ readonly node: TreeNode<T>;
86
+ /** Current state of this node. */
87
+ readonly state: TreeNodeState;
88
+ };
89
+ /**
90
+ * Selection mode for the tree view.
91
+ */
92
+ type SelectionMode = "multiple" | "none" | "single";
93
+ /**
94
+ * A flattened representation of a tree node with navigation links.
95
+ */
96
+ type FlatNode<T = Record<string, unknown>> = {
97
+ /** Ordered list of direct children IDs. */
98
+ readonly childrenIds: ReadonlyArray<string>;
99
+ /** Depth in the tree (0 for roots). */
100
+ readonly depth: number;
101
+ /** Index in the flattened DFS order (across ALL nodes, not just visible). */
102
+ readonly flatIndex: number;
103
+ /** Whether this node has children. */
104
+ readonly hasChildren: boolean;
105
+ /** Next sibling's ID, or undefined. */
106
+ readonly nextSiblingId: string | undefined;
107
+ /** The original tree node. */
108
+ readonly node: TreeNode<T>;
109
+ /** Parent's id, or undefined if root. */
110
+ readonly parentId: string | undefined;
111
+ /** Previous sibling's ID, or undefined. */
112
+ readonly previousSiblingId: string | undefined;
113
+ /** Total number of siblings (including this node). */
114
+ readonly siblingCount: number;
115
+ /** Zero-based index among siblings. */
116
+ readonly siblingIndex: number;
117
+ };
118
+ /**
119
+ * A flattened map of all tree nodes built via DFS traversal.
120
+ * Stores parent/child/sibling links for O(1) navigation.
121
+ */
122
+ declare class TreeNodeMap<T = Record<string, unknown>> {
123
+ /** All node IDs in DFS order. */
124
+ readonly orderedIds: string[];
125
+ /** Root-level node IDs. */
126
+ readonly rootIds: string[];
127
+ /** Map from node ID to FlatNode. */
128
+ private readonly map;
129
+ constructor(data: TreeNode<T>[]);
130
+ /**
131
+ * Iterate over all entries.
132
+ */
133
+ entries(): IterableIterator<[string, FlatNode<T>]>;
134
+ /**
135
+ * Get a flat node by ID.
136
+ */
137
+ get(id: string): FlatNode<T> | undefined;
138
+ /**
139
+ * Total number of nodes in the tree.
140
+ */
141
+ get size(): number;
142
+ /**
143
+ * Given a set of expanded node IDs, return the ordered list of
144
+ * VISIBLE node IDs (i.e., a node is visible if all its ancestors
145
+ * are expanded).
146
+ *
147
+ * Uses iterative DFS, skipping collapsed subtrees.
148
+ */
149
+ getVisibleIds(expandedIds: ReadonlySet<string>): string[];
150
+ /**
151
+ * Check if a node is a descendant of another node.
152
+ */
153
+ isDescendantOf(nodeId: string, ancestorId: string): boolean;
154
+ /**
155
+ * Insert dynamically-loaded children under a parent node.
156
+ * Returns a new TreeNodeMap (immutable operation).
157
+ *
158
+ * Rebuilds the full tree from the current map state (not the original
159
+ * input data), so successive calls for different parents are safe.
160
+ */
161
+ withChildren(parentId: string, children: TreeNode<T>[]): TreeNodeMap<T>;
162
+ private buildFromData;
163
+ }
164
+ type Props<T = Record<string, unknown>> = {
165
+ /**
166
+ * Accessible label for the tree container.
167
+ * Useful when multiple tree views are on screen.
168
+ * @default "Tree view"
169
+ */
170
+ readonly ariaLabel?: string;
171
+ /**
172
+ * The tree data. Array of root-level nodes.
173
+ *
174
+ * **Important:** Must be referentially stable across renders (e.g. stored
175
+ * in state or wrapped in `useMemo`). Passing a new array reference on
176
+ * every render will reset focus, expansion, and selection state.
177
+ */
178
+ readonly data: TreeNode<T>[];
179
+ /**
180
+ * Set of node IDs that are expanded by default.
181
+ * If not provided, all nodes start collapsed.
182
+ */
183
+ readonly defaultExpanded?: ReadonlySet<string> | "all";
184
+ /**
185
+ * Set of node IDs that are selected by default.
186
+ */
187
+ readonly defaultSelected?: ReadonlySet<string>;
188
+ /**
189
+ * When disabled, user input is ignored.
190
+ * @default false
191
+ */
192
+ readonly isDisabled?: boolean;
193
+ /**
194
+ * Async function to load children on demand.
195
+ */
196
+ readonly loadChildren?: AsyncChildrenFunction<T>;
197
+ /** Called when expanded set changes. */
198
+ readonly onExpandChange?: (expandedIds: ReadonlySet<string>) => void;
199
+ /** Called when the focused node changes. */
200
+ readonly onFocusChange?: (nodeId: string) => void;
201
+ /**
202
+ * Called when `loadChildren` rejects. Receives the node ID and error.
203
+ */
204
+ readonly onLoadError?: (nodeId: string, error: Error) => void;
205
+ /** Called when selection changes. */
206
+ readonly onSelectChange?: (selectedIds: ReadonlySet<string>) => void;
207
+ /**
208
+ * Custom node renderer. Receives node + state, returns Ink JSX.
209
+ */
210
+ readonly renderNode?: (props: TreeNodeRendererProps<T>) => ReactNode;
211
+ /**
212
+ * Selection mode.
213
+ * - "none": No selection behavior (default).
214
+ * - "single": One node can be selected at a time.
215
+ * - "multiple": Multiple nodes can be selected (checkboxes shown).
216
+ * @default "none"
217
+ */
218
+ readonly selectionMode?: SelectionMode;
219
+ /**
220
+ * Number of visible nodes in the viewport (for virtualization).
221
+ * @default Infinity (no virtualization)
222
+ */
223
+ readonly visibleNodeCount?: number;
224
+ };
225
+ /**
226
+ * Renders an interactive tree view with keyboard navigation.
227
+ *
228
+ * ```tsx
229
+ * &lt;TreeView
230
+ * data={[
231
+ * { id: "1", label: "Root", children: [
232
+ * { id: "1.1", label: "Child" },
233
+ * ]},
234
+ * ]}
235
+ * defaultExpanded="all"
236
+ * />
237
+ * ```
238
+ */
239
+ declare function TreeView<T = Record<string, unknown>>({
240
+ ariaLabel,
241
+ data,
242
+ defaultExpanded,
243
+ defaultSelected,
244
+ isDisabled,
245
+ loadChildren,
246
+ onExpandChange,
247
+ onFocusChange,
248
+ onLoadError,
249
+ onSelectChange,
250
+ renderNode,
251
+ selectionMode,
252
+ visibleNodeCount
253
+ }: Props<T>): ReactElement;
254
+ type UseTreeViewStateProps<T = Record<string, unknown>> = {
255
+ /** The tree data. Array of root-level nodes. */
256
+ readonly data: TreeNode<T>[];
257
+ /**
258
+ * Set of node IDs that are expanded by default.
259
+ * If not provided, all nodes start collapsed.
260
+ */
261
+ readonly defaultExpanded?: ReadonlySet<string> | "all";
262
+ /**
263
+ * Set of node IDs that are selected by default.
264
+ */
265
+ readonly defaultSelected?: ReadonlySet<string>;
266
+ /** Called when expanded set changes. */
267
+ readonly onExpandChange?: (expandedIds: ReadonlySet<string>) => void;
268
+ /** Called when the focused node changes. */
269
+ readonly onFocusChange?: (nodeId: string) => void;
270
+ /** Called when selection changes. */
271
+ readonly onSelectChange?: (selectedIds: ReadonlySet<string>) => void;
272
+ /**
273
+ * Selection mode.
274
+ * @default "none"
275
+ */
276
+ readonly selectionMode?: SelectionMode;
277
+ /**
278
+ * Number of visible nodes in the viewport (for virtualization).
279
+ * @default Infinity
280
+ */
281
+ readonly visibleNodeCount?: number;
282
+ };
283
+ type TreeViewState<T = Record<string, unknown>> = {
284
+ readonly collapse: () => void;
285
+ readonly collapseAll: () => void;
286
+ readonly collapseNode: (nodeId: string) => void;
287
+ readonly expand: () => void;
288
+ readonly expandAll: () => void;
289
+ readonly expandedIds: ReadonlySet<string>;
290
+ readonly expandNode: (nodeId: string) => void;
291
+ readonly focusedId: string | undefined;
292
+ readonly focusFirst: () => void;
293
+ readonly focusFirstChild: () => void;
294
+ readonly focusLast: () => void;
295
+ readonly focusNext: () => void;
296
+ readonly focusParent: () => void;
297
+ readonly focusPrevious: () => void;
298
+ readonly hasScrollDown: boolean;
299
+ readonly hasScrollUp: boolean;
300
+ readonly insertChildren: (parentId: string, children: TreeNode<T>[]) => void;
301
+ readonly loadingIds: ReadonlySet<string>;
302
+ readonly nodeMap: TreeNodeMap<T>;
303
+ readonly select: () => void;
304
+ readonly selectedIds: ReadonlySet<string>;
305
+ readonly setChildrenError: (nodeId: string) => void;
306
+ readonly setLoading: (nodeId: string, isLoading: boolean) => void;
307
+ readonly toggleExpanded: () => void;
308
+ readonly viewportFromIndex: number;
309
+ readonly viewportNodes: {
310
+ node: TreeNode<T>;
311
+ state: TreeNodeState;
312
+ }[];
313
+ readonly viewportToIndex: number;
314
+ readonly visibleCount: number;
315
+ };
316
+ declare function useTreeViewState<T = Record<string, unknown>>({
317
+ data,
318
+ defaultExpanded,
319
+ defaultSelected,
320
+ onExpandChange,
321
+ onFocusChange,
322
+ onSelectChange,
323
+ selectionMode,
324
+ visibleNodeCount
325
+ }: UseTreeViewStateProps<T>): TreeViewState<T>;
326
+ type UseTreeViewProps<T = Record<string, unknown>> = {
327
+ /**
328
+ * When disabled, user input is ignored.
329
+ * @default false
330
+ */
331
+ readonly isDisabled?: boolean;
332
+ /**
333
+ * Async function to load children on demand.
334
+ */
335
+ readonly loadChildren?: AsyncChildrenFunction<T>;
336
+ /**
337
+ * Called when `loadChildren` rejects.
338
+ */
339
+ readonly onLoadError?: (nodeId: string, error: Error) => void;
340
+ /**
341
+ * Selection mode.
342
+ */
343
+ readonly selectionMode: SelectionMode;
344
+ /**
345
+ * The tree view state from `useTreeViewState`.
346
+ */
347
+ readonly state: TreeViewState<T>;
348
+ };
349
+ declare function useTreeView<T>({
350
+ isDisabled,
351
+ loadChildren,
352
+ onLoadError,
353
+ selectionMode,
354
+ state
355
+ }: UseTreeViewProps<T>): void;
356
+ export { type AsyncChildrenFunction, type FlatNode, type SelectionMode, type TreeNode, TreeNodeMap, type TreeNodeRendererProps, type TreeNodeState, TreeView, type Props as TreeViewProps, type TreeViewState, type Theme as TreeViewTheme, type UseTreeViewProps, type UseTreeViewStateProps, theme as treeViewTheme, useTreeView, useTreeViewState };
@@ -0,0 +1 @@
1
+ import{theme as o}from"../packem_shared/treeViewTheme-1RIZyB4M.js";import{TreeNodeMap as m}from"../packem_shared/TreeNodeMap-CspqSCpb.js";import{TreeView as f}from"../packem_shared/TreeView-C0Iv3et8.js";import{useTreeView as T}from"../packem_shared/useTreeView-BoMMeRPq.js";import{useTreeViewState as w}from"../packem_shared/useTreeViewState-CRPCUWrb.js";export{m as TreeNodeMap,f as TreeView,o as treeViewTheme,T as useTreeView,w as useTreeViewState};
@@ -0,0 +1,30 @@
1
+ import { ReactNode, ReactElement } from 'react';
2
+ type UnorderedListEntry = {
3
+ /**
4
+ * Content of the list entry. Can be a string or nested list.
5
+ */
6
+ readonly children?: ReadonlyArray<UnorderedListEntry>;
7
+ /**
8
+ * Display text for this item.
9
+ */
10
+ readonly label: ReactNode;
11
+ };
12
+ type Props = {
13
+ /**
14
+ * Entries to render as a bullet list.
15
+ */
16
+ readonly items: ReadonlyArray<UnorderedListEntry>;
17
+ /**
18
+ * Custom bullet symbol(s). A string uses the same symbol at all depths.
19
+ * An array cycles through symbols by nesting depth.
20
+ */
21
+ readonly marker?: ReadonlyArray<string> | string;
22
+ };
23
+ /**
24
+ * Renders a bullet list with nesting support.
25
+ */
26
+ declare function UnorderedList({
27
+ items,
28
+ marker
29
+ }: Props): ReactElement;
30
+ export { Props, UnorderedList, UnorderedListEntry, type Props as UnorderedListProps, UnorderedList as default };
@@ -0,0 +1 @@
1
+ var u=Object.defineProperty;var t=(r,e)=>u(r,"name",{value:e,configurable:!0});import{jsx as o,jsxs as s}from"react/jsx-runtime";import{Box as c}from"./box.js";import{Text as a}from"./text.js";var h=Object.defineProperty,l=t((r,e)=>h(r,"name",{value:e,configurable:!0}),"t");const p=["─","◦","▪"],x=l(r=>typeof r=="string"?[r]:Array.isArray(r)?r:p,"resolveMarkers"),d=l((r,e,n)=>{const m=e[n%e.length]??"─";return o(c,{flexDirection:"column",children:r.map((i,f)=>s(c,{gap:1,children:[o(a,{dimColor:!0,children:m}),s(c,{flexDirection:"column",children:[o(a,{children:i.label}),i.children?d(i.children,e,n+1):void 0]})]},f))})},"renderList");function v({items:r,marker:e}){const n=x(e);return d(r,n,0)}t(v,"s");l(v,"UnorderedList");export{v as UnorderedList,v as default};
@@ -1,5 +1,57 @@
1
- export * from "./app.d.ts";
2
- export * from "./cell.d.ts";
3
- export * from "./inline.d.ts";
4
- export * from "./input.d.ts";
5
- export { Renderer, TerminalGuard, type TerminalSize, terminalSize } from "./native-binding.d.ts";
1
+ export { I as InlineLoop, a as InlineOptions, b as InlinePaintFn, c as InputParser, M as MouseEvent, T as TuiApp, d as createInlineLoop } from "../packem_shared/input.d-D-Yxqha8.js";
2
+ /**
3
+ * 2×u32 per-cell back-buffer layout:
4
+ * buffer[idx * 2] = charCode (Unicode codepoint, u32)
5
+ * buffer[idx * 2 + 1] = attrCode = (styles &lt;< 16) | (bg &lt;< 8) | fg
6
+ */
7
+ declare const Cell: {
8
+ /** Read bg color from an attr slot value (buffer[idx*2+1]) — bits 15:8 */
9
+ getBg(attributeSlot: number): number;
10
+ /** Read the char character from a raw char slot value (buffer[idx*2]) */
11
+ getChar(charSlot: number): string;
12
+ /** Read fg color from an attr slot value (buffer[idx*2+1]) — bits 7:0 */
13
+ getFg(attributeSlot: number): number;
14
+ /** Read styles bitmask from an attr slot value (buffer[idx*2+1]) — bits 23:16 */
15
+ getStyles(attributeSlot: number): number;
16
+ /**
17
+ * Pack a cell into a [charCode, attrCode] tuple.
18
+ * charCode = char.codePointAt(0)
19
+ * attrCode = (styles & 0xFF) &lt;< 16 | (bg & 0xFF) &lt;< 8 | (fg & 0xFF)
20
+ *
21
+ * Write to buffer as: buffer[idx*2] = charCode; buffer[idx*2+1] = attrCode
22
+ */
23
+ pack(char: string, fg?: number, bg?: number, styles?: number): [number, number];
24
+ };
25
+ declare const StyleMasks: {
26
+ BLINK: number;
27
+ BOLD: number;
28
+ DIM: number;
29
+ HIDDEN: number;
30
+ INVERT: number;
31
+ ITALIC: number;
32
+ STRIKETHROUGH: number;
33
+ UNDERLINE: number;
34
+ };
35
+ interface TerminalSize {
36
+ cols: number;
37
+ rows: number;
38
+ }
39
+ interface RendererInstance {
40
+ readonly height: number;
41
+ render: (backBuffer: Uint32Array) => void;
42
+ renderDiff: (backBuffer: Uint32Array) => string;
43
+ resize: (width: number, height: number) => void;
44
+ setRowOffset: (offset: number) => void;
45
+ readonly width: number;
46
+ writeRaw: (data: string) => void;
47
+ }
48
+ type RendererConstructor = new (width: number, height: number) => RendererInstance;
49
+ interface TerminalGuardInstance {
50
+ getSize: () => TerminalSize;
51
+ leave: () => void;
52
+ }
53
+ type TerminalGuardConstructor = new (mouse?: boolean | undefined | null) => TerminalGuardInstance;
54
+ declare const Renderer: RendererConstructor;
55
+ declare const TerminalGuard: TerminalGuardConstructor;
56
+ declare const terminalSize: () => TerminalSize;
57
+ export { Cell, Renderer, StyleMasks, TerminalGuard, type TerminalSize, terminalSize };
@@ -1,5 +1 @@
1
- export { TuiApp } from '../packem_shared/TuiApp-DfxOnXqi.js';
2
- export { Cell, StyleMasks } from '../packem_shared/Cell-DCg1kJY-.js';
3
- export { createInlineLoop } from '../packem_shared/createInlineLoop-BxMmcq9D.js';
4
- export { InputParser } from '../packem_shared/InputParser-BKHpWfvN.js';
5
- export { Renderer, TerminalGuard, terminalSize } from '../packem_shared/Renderer-zZ5O3vxc.js';
1
+ import{TuiApp as o}from"../packem_shared/TuiApp-CxBtziW8.js";import{Cell as t,StyleMasks as m}from"../packem_shared/Cell-BrXn3jxY.js";import{createInlineLoop as l}from"../packem_shared/createInlineLoop-D0JaKX9A.js";import{InputParser as f}from"../packem_shared/InputParser-BAqciKJ6.js";import{Renderer as x,TerminalGuard as s,terminalSize as u}from"../packem_shared/Renderer-DJXooAsp.js";export{t as Cell,f as InputParser,x as Renderer,m as StyleMasks,s as TerminalGuard,o as TuiApp,l as createInlineLoop,u as terminalSize};
@@ -1,43 +1,41 @@
1
1
  type Options = {
2
- /**
3
- * Time between ticks in milliseconds.
4
- *
5
- * @default 100
6
- */
7
- readonly interval?: number;
8
- /**
9
- * Whether the animation is running. When set to `false`, the animation stops.
10
- * When toggled back to `true`, all values reset to `0`.
11
- *
12
- * @default true
13
- */
14
- readonly isActive?: boolean;
2
+ /**
3
+ * Time between ticks in milliseconds.
4
+ * @default 100
5
+ */
6
+ readonly interval?: number;
7
+ /**
8
+ * Whether the animation is running. When set to `false`, the animation stops.
9
+ * When toggled back to `true`, all values reset to `0`.
10
+ * @default true
11
+ */
12
+ readonly isActive?: boolean;
15
13
  };
16
- export type AnimationResult = {
17
- /**
18
- * Time in milliseconds since the previous rendered tick. Accounts for throttled renders.
19
- * Useful for physics-based or velocity-driven motion: `position += speed * delta`.
20
- */
21
- readonly delta: number;
22
- /**
23
- * Discrete counter that increments by 1 each interval.
24
- * Useful for indexed sequences like spinner frames.
25
- */
26
- readonly frame: number;
27
- /**
28
- * Resets `frame`, `time`, and `delta` to `0` and restarts timing from the current moment.
29
- * Useful for one-shot animations triggered by events.
30
- */
31
- readonly reset: () => void;
32
- /**
33
- * Total elapsed time in milliseconds since the animation started or was last reset.
34
- * Useful for continuous math-based animations like sine waves: `Math.sin(time / 1000 * Math.PI * 2)`.
35
- */
36
- readonly time: number;
14
+ type AnimationResult = {
15
+ /**
16
+ * Time in milliseconds since the previous rendered tick. Accounts for throttled renders.
17
+ * Useful for physics-based or velocity-driven motion: `position += speed * delta`.
18
+ */
19
+ readonly delta: number;
20
+ /**
21
+ * Discrete counter that increments by 1 each interval.
22
+ * Useful for indexed sequences like spinner frames.
23
+ */
24
+ readonly frame: number;
25
+ /**
26
+ * Resets `frame`, `time`, and `delta` to `0` and restarts timing from the current moment.
27
+ * Useful for one-shot animations triggered by events.
28
+ */
29
+ readonly reset: () => void;
30
+ /**
31
+ * Total elapsed time in milliseconds since the animation started or was last reset.
32
+ * Useful for continuous math-based animations like sine waves: `Math.sin(time / 1000 * Math.PI * 2)`.
33
+ */
34
+ readonly time: number;
37
35
  };
38
36
  /**
39
- * A React hook that drives animations. Returns a frame counter, elapsed time, frame delta, and a reset function.
40
- * All animations share a single timer internally, so multiple animated components consolidate into one render cycle.
41
- */
42
- export default function useAnimation(options?: Options): AnimationResult;
43
- export {};
37
+ * A React hook that drives animations. Returns a frame counter, elapsed time, frame delta, and a reset function.
38
+ * All animations share a single timer internally, so multiple animated components consolidate into one render cycle.
39
+ */
40
+ declare function useAnimation(options?: Options): AnimationResult;
41
+ export { AnimationResult, useAnimation as default, useAnimation };
@@ -0,0 +1 @@
1
+ var S=Object.defineProperty;var c=(e,n)=>S(e,"name",{value:n,configurable:!0});import{useContext as g,useState as M,useRef as l,useCallback as j,useLayoutEffect as h}from"react";import{e as k}from"../../packem_shared/animation-context-DW3p-vpk.js";var z=Object.defineProperty,K=c((e,n)=>z(e,"name",{value:n,configurable:!0}),"l");const x=100,L=2147483647,v={delta:0,frame:0,time:0};function N(e){const{interval:n=x,isActive:r=!0}=e??{},t=C(n),{renderThrottleMs:u,subscribe:b}=g(k),[a,T]=M(0),[E,A]=M(v),f=l(0),m=l(0),d=l({isActive:r,resetKey:a,safeInterval:t}),o=d.current,F=r&&(t!==o.safeInterval||!o.isActive||a!==o.resetKey),y=j(()=>{T(i=>i+1)},[]);return h(()=>{if(!r)return;A(v);let i=0;const{startTime:p,unsubscribe:O}=b(s=>{if(u>0&&s<f.current)return;const I=s-i,R=s-m.current;m.current=s,f.current=s+u,A({delta:R,frame:Math.floor(I/t),time:I})},t);return i=p,m.current=p,f.current=i+u,O},[t,r,b,u,a]),h(()=>{d.current={isActive:r,resetKey:a,safeInterval:t}},[r,t,a]),F?{...v,reset:y}:{...E,reset:y}}c(N,"S");K(N,"useAnimation");function C(e){return Number.isFinite(e)?Math.min(L,Math.max(1,e)):x}c(C,"F");K(C,"normalizeAnimationInterval");export{N as default,N as useAnimation};
@@ -1,6 +1,38 @@
1
- import type { Props } from "../components/AppContext.d.ts";
1
+ import 'react';
2
+ type Props = {
3
+ /**
4
+ * Exit (unmount) the whole Ink app.
5
+ *
6
+ * - `exit()` — resolves `waitUntilExit()` with `undefined`.
7
+ * - `exit(new Error('…'))` — rejects `waitUntilExit()` with the error.
8
+ * - `exit(value)` — resolves `waitUntilExit()` with `value`.
9
+ */
10
+ readonly exit: (errorOrResult?: Error | unknown) => void;
11
+ /**
12
+ * Returns a promise that settles after pending render output is flushed to stdout.
13
+ * @example
14
+ * ```jsx
15
+ * import {useEffect} from 'react';
16
+ * import {useApp} from '@visulima/tui/hooks/use-app';
17
+
18
+ const Example = () => {
19
+ const {waitUntilRenderFlush} = useApp();
20
+
21
+ useEffect(() => {
22
+ void (async () => {
23
+ await waitUntilRenderFlush();
24
+ runNextCommand();
25
+ })();
26
+ }, [waitUntilRenderFlush]);
27
+
28
+ return …;
29
+ };
30
+ ```
31
+ */
32
+ readonly waitUntilRenderFlush: () => Promise<void>;
33
+ };
2
34
  /**
3
- * A React hook that returns app lifecycle methods like `exit()` and `waitUntilRenderFlush()`.
4
- */
35
+ * A React hook that returns app lifecycle methods like `exit()` and `waitUntilRenderFlush()`.
36
+ */
5
37
  declare const useApp: () => Props;
6
- export default useApp;
38
+ export { type Props as AppProps, useApp as default, useApp };
@@ -0,0 +1 @@
1
+ var o=Object.defineProperty;var t=(e,r)=>o(e,"name",{value:r,configurable:!0});import{useContext as p}from"react";import{t as a}from"../../packem_shared/app-context-BVpKlG1z.js";var u=Object.defineProperty,s=t((e,r)=>u(e,"name",{value:r,configurable:!0}),"p");const i=s(()=>p(a),"useApp");export{i as default,i as useApp};