@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
@@ -1,44 +1,45 @@
1
1
  type Options = {
2
- /**
3
- * Enable or disable the paste handler. Useful when multiple components use `usePaste` and only one should be active at a time.
4
- * @default true
5
- */
6
- isActive?: boolean;
2
+ /**
3
+ * Enable or disable the paste handler. Useful when multiple components use `usePaste` and only one should be active at a time.
4
+ * @default true
5
+ */
6
+ isActive?: boolean;
7
7
  };
8
8
  /**
9
- * A React hook that calls `handler` whenever the user pastes text in the
10
- * terminal. Bracketed paste mode (`\x1b[?2004h`) is automatically enabled while
11
- * the hook is active, so pasted text arrives as a single string rather than being
12
- * misinterpreted as individual key presses.
13
- *
14
- * `usePaste` is the dedicated API for paste blobs. `usePaste` and `useInput` can
15
- * be used together in the same component; they operate on separate event
16
- * channels, so paste content is never forwarded to `useInput` handlers while a
17
- * `usePaste` handler is active.
18
- *
19
- * If no `usePaste` handler is active, Ink still forwards bracketed paste text to
20
- * `useInput` for backward compatibility. That fallback is deprecated and will be
21
- * removed in the next major version.
22
- *
23
- * ```
24
- * import {useInput, usePaste} from 'ink';
25
- *
26
- * const MyInput = () => {
27
- * useInput((input, key) => {
28
- * // Only receives typed characters and key events, not pasted text.
29
- * if (key.return) {
30
- * // Submit
31
- * }
32
- * });
33
- *
34
- * usePaste((text) => {
35
- * // Receives the full pasted string, including newlines.
36
- * console.log('Pasted:', text);
37
- * });
38
- *
39
- * return …
40
- * };
41
- * ```
42
- */
9
+ * A React hook that calls `handler` whenever the user pastes text in the
10
+ * terminal. Bracketed paste mode (`\x1b[?2004h`) is automatically enabled while
11
+ * the hook is active, so pasted text arrives as a single string rather than being
12
+ * misinterpreted as individual key presses.
13
+ *
14
+ * `usePaste` is the dedicated API for paste blobs. `usePaste` and `useInput` can
15
+ * be used together in the same component; they operate on separate event
16
+ * channels, so paste content is never forwarded to `useInput` handlers while a
17
+ * `usePaste` handler is active.
18
+ *
19
+ * If no `usePaste` handler is active, Ink still forwards bracketed paste text to
20
+ * `useInput` for backward compatibility. That fallback is deprecated and will be
21
+ * removed in the next major version.
22
+ *
23
+ * ```
24
+ * import {useInput} from '@visulima/tui/hooks/use-input';
25
+ * import {usePaste} from '@visulima/tui/hooks/use-paste';
26
+ *
27
+ * const MyInput = () => {
28
+ * useInput((input, key) => {
29
+ * // Only receives typed characters and key events, not pasted text.
30
+ * if (key.return) {
31
+ * // Submit
32
+ * }
33
+ * });
34
+ *
35
+ * usePaste((text) => {
36
+ * // Receives the full pasted string, including newlines.
37
+ * console.log('Pasted:', text);
38
+ * });
39
+ *
40
+ * return
41
+ * };
42
+ * ```
43
+ */
43
44
  declare const usePaste: (handler: (text: string) => void, options?: Options) => void;
44
- export default usePaste;
45
+ export { usePaste as default, usePaste };
@@ -0,0 +1 @@
1
+ var l=Object.defineProperty;var n=(t,e)=>l(t,"name",{value:e,configurable:!0});import{useEffectEvent as v,useEffect as f}from"react";import{L as d}from"../../packem_shared/reconciler-CGhHgXXG.js";import{useStdinContext as m}from"./use-stdin.js";var p=Object.defineProperty,o=n((t,e)=>p(t,"name",{value:e,configurable:!0}),"n");const x=o((t,e={})=>{const{internal_eventEmitter:s,setBracketedPasteMode:r,setRawMode:a}=m(),c=v(t);f(()=>{if(e.isActive!==!1)return a(!0),r(!0),()=>{a(!1),r(!1)}},[e.isActive,a,r]),f(()=>{if(e.isActive===!1)return;const i=o(u=>{d.discreteUpdates(()=>{c(u)})},"handlePaste");return s.on("paste",i),()=>{s.removeListener("paste",i)}},[e.isActive,s])},"usePaste");export{x as default,x as usePaste};
@@ -0,0 +1,56 @@
1
+ type PersistentStorage = {
2
+ /**
3
+ * Return the persisted JSON-encoded string for `key`, or `undefined` if
4
+ * nothing has been stored yet.
5
+ */
6
+ readonly read: (key: string) => string | undefined;
7
+ /**
8
+ * Persist `value` (a JSON-encoded string) for `key`. Errors are swallowed
9
+ * by the hook so the UI keeps working in read-only environments.
10
+ */
11
+ readonly write: (key: string, value: string) => void;
12
+ };
13
+ type UsePersistentStateOptions = {
14
+ /**
15
+ * Namespace used by the default file storage. Separates keys across
16
+ * independent applications sharing the user's home directory.
17
+ * @default "tui"
18
+ */
19
+ readonly namespace?: string;
20
+ /**
21
+ * Custom storage backend. When omitted, the default is a file on disk at
22
+ * `~/.cache/visulima-tui/<namespace>.json`.
23
+ */
24
+ readonly storage?: PersistentStorage;
25
+ };
26
+ /**
27
+ * In-memory storage shared across all hook instances that use it. Useful in
28
+ * tests and in environments without file access.
29
+ */
30
+ declare const createMemoryStorage: () => PersistentStorage;
31
+ /**
32
+ * Default file-backed storage. Reads/writes a single JSON object per
33
+ * namespace, keyed by `key`. The directory is created on first write and
34
+ * updates use a temp-file + rename to avoid partial writes if the process
35
+ * crashes mid-write. Errors are forwarded to `process.stderr.write` so they
36
+ * are visible without crashing the UI.
37
+ */
38
+ declare const createFileStorage: (namespace: string) => PersistentStorage;
39
+ /**
40
+ * `useState` that persists its value through the configured `storage`
41
+ * backend (file on disk by default). Behaves identically to `useState` at
42
+ * the call-site; the writes happen synchronously after each update.
43
+ *
44
+ * **Lifecycle note:** the storage backend (resolved from `options.storage`
45
+ * or a fresh `createFileStorage(namespace)`) is captured once on mount and
46
+ * never replaced. Mutating `options.storage` on subsequent renders has no
47
+ * effect — remount the hook (e.g. via a `key` prop) if you need to swap
48
+ * backends at runtime.
49
+ * @param key Unique identifier within the backend namespace.
50
+ * @param initialValue Value used when the backend has no entry for `key`.
51
+ * @param options Optional storage backend + namespace overrides.
52
+ * @returns A `[value, setValue]` tuple. Writes flush synchronously after
53
+ * the React state update.
54
+ */
55
+ declare const usePersistentState: <T>(key: string, initialValue: T, options?: UsePersistentStateOptions) => readonly [T, (value: T | ((previous: T) => T)) => void];
56
+ export { PersistentStorage, UsePersistentStateOptions, createFileStorage, createMemoryStorage, usePersistentState as default, usePersistentState };
@@ -0,0 +1,2 @@
1
+ var y=Object.defineProperty;var l=(t,e)=>y(t,"name",{value:e,configurable:!0});import{createRequire as S}from"node:module";import{useRef as E,useState as N,useCallback as O}from"react";const _=S(import.meta.url),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,f=l(t=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[e,n]=u.versions.node.split(".").map(Number);if(e>22||e===22&&n>=3||e===20&&n>=16)return u.getBuiltinModule(t)}return _(t)},"__cjs_getBuiltinModule"),{readFileSync:h,mkdirSync:v,writeFileSync:w,renameSync:j}=f("node:fs"),{homedir:b}=f("node:os"),m=f("node:path"),g=u;var $=Object.defineProperty,o=l((t,e)=>$(t,"name",{value:e,configurable:!0}),"s");const q=o(()=>{const t=new Map;return{read:o(e=>t.get(e),"read"),write:o((e,n)=>{t.set(e,n)},"write")}},"createMemoryStorage"),M=o(t=>{const e=m.join(b(),".cache","visulima-tui",`${t}.json`),n=o((s,r)=>{const d=r instanceof Error?r.message:String(r);g.stderr.write(`[visulima/tui] persistent-state ${s} failed: ${d}
2
+ `)},"reportError"),i=o(()=>{try{const s=h(e,"utf8"),r=JSON.parse(s);return r&&typeof r=="object"?r:{}}catch(s){const r=s?.code;return r!=="ENOENT"&&r!=="EACCES"&&n("read",s),{}}},"load");return{read:o(s=>i()[s],"read"),write:o((s,r)=>{const d=m.dirname(e),c=`${e}.tmp.${g.pid}`;try{v(d,{recursive:!0});const a=i();a[s]=r,w(c,JSON.stringify(a,null,2),{encoding:"utf8",flag:"w"}),j(c,e)}catch(a){n("write",a)}},"write")}},"createFileStorage"),F=o((t,e,n)=>{const i=t.read(e);if(i===void 0)return n;try{return JSON.parse(i)}catch{return n}},"readInitial"),C=o((t,e,n)=>{const i=E(n?.storage??M(n?.namespace??"tui")),[s,r]=N(()=>F(i.current,t,e)),d=O(c=>{r(a=>{const p=typeof c=="function"?c(a):c;try{i.current.write(t,JSON.stringify(p))}catch{}return p})},[t]);return[s,d]},"usePersistentState");export{M as createFileStorage,q as createMemoryStorage,C as default,C as usePersistentState};
@@ -1,47 +1,47 @@
1
- export type UseScrollAccelerationOptions = {
2
- /**
3
- * Velocity multiplier per rapid scroll event.
4
- * @default 1.5
5
- */
6
- readonly acceleration?: number;
7
- /**
8
- * Velocity decay factor per tick (0-1). Lower = faster stop.
9
- * @default 0.92
10
- */
11
- readonly decayRate?: number;
12
- /**
13
- * Enable or disable acceleration.
14
- * @default true
15
- */
16
- readonly isActive?: boolean;
17
- /**
18
- * Maximum velocity in lines per tick.
19
- * @default 20
20
- */
21
- readonly maxVelocity?: number;
22
- /**
23
- * Callback invoked with the scroll delta (signed integer lines) on each tick.
24
- */
25
- readonly onScroll?: (delta: number) => void;
1
+ type UseScrollAccelerationOptions = {
2
+ /**
3
+ * Velocity multiplier per rapid scroll event.
4
+ * @default 1.5
5
+ */
6
+ readonly acceleration?: number;
7
+ /**
8
+ * Velocity decay factor per tick (0-1). Lower = faster stop.
9
+ * @default 0.92
10
+ */
11
+ readonly decayRate?: number;
12
+ /**
13
+ * Enable or disable acceleration.
14
+ * @default true
15
+ */
16
+ readonly isActive?: boolean;
17
+ /**
18
+ * Maximum velocity in lines per tick.
19
+ * @default 20
20
+ */
21
+ readonly maxVelocity?: number;
22
+ /**
23
+ * Callback invoked with the scroll delta (signed integer lines) on each tick.
24
+ */
25
+ readonly onScroll?: (delta: number) => void;
26
26
  };
27
- export type UseScrollAccelerationResult = {
28
- /** Handle a discrete scroll event (from mouse wheel or keyboard). */
29
- readonly handleScroll: (direction: "down" | "up") => void;
30
- /** Whether momentum is still active (coasting after last input). */
31
- readonly isCoasting: boolean;
32
- /** Current velocity (positive = down, negative = up). */
33
- readonly velocity: number;
27
+ type UseScrollAccelerationResult = {
28
+ /** Handle a discrete scroll event (from mouse wheel or keyboard). */
29
+ readonly handleScroll: (direction: "down" | "up") => void;
30
+ /** Whether momentum is still active (coasting after last input). */
31
+ readonly isCoasting: boolean;
32
+ /** Current velocity (positive = down, negative = up). */
33
+ readonly velocity: number;
34
34
  };
35
35
  /**
36
- * Hook providing scroll acceleration with momentum physics.
37
- *
38
- * ```tsx
39
- * const { handleScroll } = useScrollAcceleration({
40
- * onScroll: (delta) => scrollViewRef.current?.scrollBy(delta),
41
- * });
42
- *
43
- * useMouseAction(); // call handleScroll("up") or handleScroll("down") on scroll events
44
- * ```
45
- */
36
+ * Hook providing scroll acceleration with momentum physics.
37
+ *
38
+ * ```tsx
39
+ * const { handleScroll } = useScrollAcceleration({
40
+ * onScroll: (delta) => scrollViewRef.current?.scrollBy(delta),
41
+ * });
42
+ *
43
+ * useMouseAction(); // call handleScroll("up") or handleScroll("down") on scroll events
44
+ * ```
45
+ */
46
46
  declare const useScrollAcceleration: (options?: UseScrollAccelerationOptions) => UseScrollAccelerationResult;
47
- export default useScrollAcceleration;
47
+ export { UseScrollAccelerationOptions, UseScrollAccelerationResult, useScrollAcceleration as default, useScrollAcceleration };
@@ -0,0 +1 @@
1
+ var w=Object.defineProperty;var p=(t,e)=>w(t,"name",{value:e,configurable:!0});import{useState as A,useRef as n,useEffect as I,useCallback as R,useMemo as x}from"react";var C=Object.defineProperty,k=p((t,e)=>C(t,"name",{value:e,configurable:!0}),"p");const V=100,j=16,D=.5,P=k((t={})=>{const{acceleration:e=1.5,decayRate:h=.92,isActive:c=!0,maxVelocity:m=20,onScroll:b}=t,[M,f]=A(0),[u,S]=A(!1),r=n(0),y=n(0),d=n(!1),v=n(void 0),a=n(b);a.current=b,I(()=>{if(!c||!u)return;const o=k(()=>{if(d.current){d.current=!1;return}const s=r.current;if(Math.abs(s)<D){r.current=0,f(0),S(!1);return}r.current*=h;const l=Math.round(r.current);l!==0&&a.current?.(l),f(r.current)},"tick");return v.current=setInterval(o,j),()=>{v.current&&clearInterval(v.current)}},[c,u,h]);const g=R(o=>{if(!c){a.current?.(o==="down"?1:-1);return}const s=Date.now(),l=s-y.current,i=o==="down"?1:-1;y.current=s,l<V&&Math.sign(r.current)===i?r.current=Math.min(Math.abs(r.current*e),m)*i:r.current=i,f(r.current),S(!0),d.current=!0,a.current?.(i)},[c,e,m]);return x(()=>({handleScroll:g,isCoasting:u,velocity:M}),[g,u,M])},"useScrollAcceleration");export{P as default,P as useScrollAcceleration};
@@ -1,34 +1,34 @@
1
- export type UseScrollInputOptions = {
2
- /**
3
- * Returns the current viewport height in lines. Called on each key event
4
- * so the value is always fresh (avoids stale-closure issues with refs).
5
- */
6
- getViewportHeight: () => number;
7
- /**
8
- * Enable or disable scroll input handling.
9
- * @default true
10
- */
11
- isActive?: boolean;
12
- /**
13
- * Scroll by a relative delta (in lines).
14
- */
15
- scrollBy: (delta: number) => void;
16
- /**
17
- * Jump to the bottom of the content.
18
- */
19
- scrollToBottom: () => void;
20
- /**
21
- * Jump to the top of the content.
22
- */
23
- scrollToTop: () => void;
24
- /**
25
- * Enable vim-style keybindings (j/k/g/G/u/d).
26
- * @default false
27
- */
28
- vimBindings?: boolean;
1
+ type UseScrollInputOptions = {
2
+ /**
3
+ * Returns the current viewport height in lines. Called on each key event
4
+ * so the value is always fresh (avoids stale-closure issues with refs).
5
+ */
6
+ getViewportHeight: () => number;
7
+ /**
8
+ * Enable or disable scroll input handling.
9
+ * @default true
10
+ */
11
+ isActive?: boolean;
12
+ /**
13
+ * Scroll by a relative delta (in lines).
14
+ */
15
+ scrollBy: (delta: number) => void;
16
+ /**
17
+ * Jump to the bottom of the content.
18
+ */
19
+ scrollToBottom: () => void;
20
+ /**
21
+ * Jump to the top of the content.
22
+ */
23
+ scrollToTop: () => void;
24
+ /**
25
+ * Enable vim-style keybindings (j/k/g/G/u/d).
26
+ * @default false
27
+ */
28
+ vimBindings?: boolean;
29
29
  };
30
- export type UseScrollInputReturn = {
31
- isFocused: boolean;
30
+ type UseScrollInputReturn = {
31
+ isFocused: boolean;
32
32
  };
33
33
  declare const useScrollInput: (options: UseScrollInputOptions) => UseScrollInputReturn;
34
- export default useScrollInput;
34
+ export { UseScrollInputOptions, UseScrollInputReturn, useScrollInput as default, useScrollInput };
@@ -0,0 +1 @@
1
+ var a=Object.defineProperty;var l=(e,t)=>a(e,"name",{value:t,configurable:!0});import p from"./use-focus.js";import d from"./use-input.js";var h=Object.defineProperty,m=l((e,t)=>h(e,"name",{value:t,configurable:!0}),"u");const A=m(e=>{const{getViewportHeight:t,isActive:u=!0,scrollBy:o,scrollToBottom:f,scrollToTop:n,vimBindings:s=!1}=e,{isFocused:c}=p({isActive:u});return d((i,r)=>{if(r.upArrow){o(-1);return}if(r.downArrow){o(1);return}if(r.pageUp){o(-t());return}if(r.pageDown){o(t());return}if(r.home){n();return}if(r.end){f();return}if(r.ctrl&&i==="u"){o(-Math.floor(t()/2));return}if(r.ctrl&&i==="d"){o(Math.floor(t()/2));return}if(s){if(i==="k"){o(-1);return}if(i==="j"){o(1);return}if(i==="G"&&r.shift){f();return}if(i==="g"&&!r.shift){n();return}if(i==="u"&&!r.ctrl){o(-Math.floor(t()/2));return}i==="d"&&!r.ctrl&&o(Math.floor(t()/2))}},{isActive:u}),{isFocused:c}},"useScrollInput");export{A as default,A as useScrollInput};
@@ -1,6 +1,16 @@
1
- import type { Props } from "../components/StderrContext.d.ts";
1
+ import 'react';
2
+ type Props = {
3
+ /**
4
+ * Stderr stream passed to `render()` in `options.stderr` or `process.stderr` by default.
5
+ */
6
+ readonly stderr: NodeJS.WriteStream;
7
+ /**
8
+ * Write any string to stderr while preserving Ink's output. It's useful when you want to display external information outside of Ink's rendering and ensure there's no conflict between the two. It's similar to `&lt;Static>`, except it can't accept components; it only works with strings.
9
+ */
10
+ readonly write: (data: string) => void;
11
+ };
2
12
  /**
3
- * A React hook that returns the stderr stream.
4
- */
13
+ * A React hook that returns the stderr stream.
14
+ */
5
15
  declare const useStderr: () => Props;
6
- export default useStderr;
16
+ export { type Props as StderrProps, useStderr as default, useStderr };
@@ -0,0 +1 @@
1
+ var a=Object.defineProperty;var t=(e,r)=>a(e,"name",{value:r,configurable:!0});import{useContext as o}from"react";import{t as s}from"../../packem_shared/stderr-context-BzEaUICS.js";var u=Object.defineProperty,f=t((e,r)=>u(e,"name",{value:r,configurable:!0}),"t");const d=f(()=>o(s),"useStderr");export{d as default,d as useStderr};
@@ -1,7 +1,30 @@
1
- import type { Props, PublicProps } from "../components/StdinContext.d.ts";
1
+ import { EventEmitter } from 'node:events';
2
+ import 'react';
3
+ type PublicProps = {
4
+ /**
5
+ * A boolean flag determining if the current `stdin` supports `setRawMode`. A component using `setRawMode` might want to use `isRawModeSupported` to nicely fall back in environments where raw mode is not supported.
6
+ */
7
+ readonly isRawModeSupported: boolean;
8
+ /**
9
+ * Ink exposes this function via own `&lt;StdinContext>` to be able to handle Ctrl+C, that's why you should use Ink's `setRawMode` instead of `process.stdin.setRawMode`. If the `stdin` stream passed to Ink does not support setRawMode, this function does nothing.
10
+ */
11
+ readonly setRawMode: (value: boolean) => void;
12
+ /**
13
+ * The stdin stream passed to `render()` in `options.stdin`, or `process.stdin` by default. Useful if your app needs to handle user input.
14
+ */
15
+ readonly stdin: NodeJS.ReadStream;
16
+ };
17
+ type Props = PublicProps & {
18
+ readonly internal_eventEmitter: EventEmitter;
19
+ readonly internal_exitOnCtrlC: boolean;
20
+ /**
21
+ * Enable or disable bracketed paste mode on the terminal. When enabled, pasted text is wrapped in escape sequences that allow it to be distinguished from typed input.
22
+ */
23
+ readonly setBracketedPasteMode: (value: boolean) => void;
24
+ };
2
25
  /**
3
- * A React hook that returns the stdin stream and stdin-related utilities.
4
- */
26
+ * A React hook that returns the stdin stream and stdin-related utilities.
27
+ */
5
28
  declare const useStdin: () => PublicProps;
6
- export declare const useStdinContext: () => Props;
7
- export default useStdin;
29
+ declare const useStdinContext: () => Props;
30
+ export { type PublicProps as StdinProps, useStdin as default, useStdin, useStdinContext };
@@ -0,0 +1 @@
1
+ var u=Object.defineProperty;var n=(t,e)=>u(t,"name",{value:e,configurable:!0});import{useContext as o}from"react";import{e as r}from"../../packem_shared/stdin-context-BTaaFagk.js";var a=Object.defineProperty,s=n((t,e)=>a(t,"name",{value:e,configurable:!0}),"t");const m=s(()=>o(r),"useStdin"),c=s(()=>o(r),"useStdinContext");export{m as default,m as useStdin,c as useStdinContext};
@@ -1,6 +1,16 @@
1
- import type { Props } from "../components/StdoutContext.d.ts";
1
+ import 'react';
2
+ type Props = {
3
+ /**
4
+ * Stdout stream passed to `render()` in `options.stdout` or `process.stdout` by default.
5
+ */
6
+ readonly stdout: NodeJS.WriteStream;
7
+ /**
8
+ * Write any string to stdout while preserving Ink's output. It's useful when you want to display external information outside of Ink's rendering and ensure there's no conflict between the two. It's similar to `&lt;Static>`, except it can't accept components; it only works with strings.
9
+ */
10
+ readonly write: (data: string) => void;
11
+ };
2
12
  /**
3
- * A React hook that returns the stdout stream where Ink renders your app.
4
- */
13
+ * A React hook that returns the stdout stream where Ink renders your app.
14
+ */
5
15
  declare const useStdout: () => Props;
6
- export default useStdout;
16
+ export { type Props as StdoutProps, useStdout as default, useStdout };
@@ -0,0 +1 @@
1
+ var r=Object.defineProperty;var o=(t,e)=>r(t,"name",{value:e,configurable:!0});import{useContext as a}from"react";import{t as u}from"../../packem_shared/stdout-context-BnblEPez.js";var s=Object.defineProperty,f=o((t,e)=>s(t,"name",{value:e,configurable:!0}),"t");const i=f(()=>a(u),"useStdout");export{i as default,i as useStdout};
@@ -1,40 +1,39 @@
1
- export type UseStopwatchOptions = {
2
- /**
3
- * Whether to start counting immediately.
4
- *
5
- * @default false
6
- */
7
- readonly autoStart?: boolean;
8
- /**
9
- * Tick interval in milliseconds.
10
- *
11
- * @default 1000
12
- */
13
- readonly interval?: number;
1
+ type UseStopwatchOptions = {
2
+ /**
3
+ * Whether to start counting immediately.
4
+ * @default false
5
+ */
6
+ readonly autoStart?: boolean;
7
+ /**
8
+ * Tick interval in milliseconds.
9
+ * @default 1000
10
+ */
11
+ readonly interval?: number;
14
12
  };
15
- export type UseStopwatchResult = {
16
- /** Milliseconds elapsed since start (or last reset). */
17
- readonly elapsed: number;
18
- /** Whether the stopwatch is currently running. */
19
- readonly isRunning: boolean;
20
- /** Capture the current elapsed time as a lap. Returns the elapsed value. */
21
- readonly lap: () => number;
22
- /** Accumulated lap times. */
23
- readonly laps: readonly number[];
24
- /** Reset elapsed to 0, clear laps, and stop the stopwatch. */
25
- readonly reset: () => void;
26
- /** Start counting. */
27
- readonly start: () => void;
28
- /** Pause counting. */
29
- readonly stop: () => void;
30
- /** Toggle between running and stopped. */
31
- readonly toggle: () => void;
13
+ type UseStopwatchResult = {
14
+ /** Milliseconds elapsed since start (or last reset). */
15
+ readonly elapsed: number;
16
+ /** Whether the stopwatch is currently running. */
17
+ readonly isRunning: boolean;
18
+ /** Capture the current elapsed time as a lap. Returns the elapsed value. */
19
+ readonly lap: () => number;
20
+ /** Accumulated lap times. */
21
+ readonly laps: ReadonlyArray<number>;
22
+ /** Reset elapsed to 0, clear laps, and stop the stopwatch. */
23
+ readonly reset: () => void;
24
+ /** Start counting. */
25
+ readonly start: () => void;
26
+ /** Pause counting. */
27
+ readonly stop: () => void;
28
+ /** Toggle between running and stopped. */
29
+ readonly toggle: () => void;
32
30
  };
33
31
  /**
34
- * A count-up stopwatch hook built on `useAnimation`.
35
- *
36
- * ```tsx
37
- * const { elapsed, isRunning, start, stop, reset, lap, laps } = useStopwatch();
38
- * ```
39
- */
40
- export default function useStopwatch(options?: UseStopwatchOptions): UseStopwatchResult;
32
+ * A count-up stopwatch hook built on `useAnimation`.
33
+ *
34
+ * ```tsx
35
+ * const { elapsed, isRunning, start, stop, reset, lap, laps } = useStopwatch();
36
+ * ```
37
+ */
38
+ declare function useStopwatch(options?: UseStopwatchOptions): UseStopwatchResult;
39
+ export { UseStopwatchOptions, UseStopwatchResult, useStopwatch as default, useStopwatch };
@@ -0,0 +1 @@
1
+ var R=Object.defineProperty;var u=(e,t)=>R(e,"name",{value:t,configurable:!0});import{useState as f,useCallback as r,useRef as w}from"react";import y from"./use-animation.js";var j=Object.defineProperty,k=u((e,t)=>j(e,"name",{value:t,configurable:!0}),"i");function x(e){const{autoStart:t=!1,interval:p=1e3}=e??{},[o,a]=f(t),[m,l]=f([]),{reset:i,time:n}=y({interval:p,isActive:o}),v=r(()=>{a(!0)},[]),S=r(()=>{a(!1)},[]),g=r(()=>{a(s=>!s)},[]),b=r(()=>{a(!1),l([]),i()},[i]),c=w(n);c.current=n;const d=r(()=>{const{current:s}=c;return l(h=>[...h,s]),s},[]);return{elapsed:n,isRunning:o,lap:d,laps:m,reset:b,start:v,stop:S,toggle:g}}u(x,"d");k(x,"useStopwatch");export{x as default,x as useStopwatch};
@@ -1,19 +1,20 @@
1
- import type { TerminalPalette } from "../terminal-palette.d.ts";
2
- export type UseTerminalPaletteResult = {
3
- readonly isLoading: boolean;
4
- readonly isSupported: boolean;
5
- readonly palette: Partial<TerminalPalette> | null;
1
+ import { T as TerminalPalette } from "../../packem_shared/terminal-palette.d-D2SQjfn-.js";
2
+ import 'node:stream';
3
+ type UseTerminalPaletteResult = {
4
+ readonly isLoading: boolean;
5
+ readonly isSupported: boolean;
6
+ readonly palette: Partial<TerminalPalette> | null;
6
7
  };
7
8
  /**
8
- * Hook that queries the terminal for its current color palette.
9
- * Returns the detected palette colors or null if not yet loaded.
10
- *
11
- * ```tsx
12
- * const { palette, isLoading } = useTerminalPalette();
13
- * if (palette?.background) {
14
- * console.log("Terminal background:", palette.background);
15
- * }
16
- * ```
17
- */
9
+ * Hook that queries the terminal for its current color palette.
10
+ * Returns the detected palette colors or null if not yet loaded.
11
+ *
12
+ * ```tsx
13
+ * const { palette, isLoading } = useTerminalPalette();
14
+ * if (palette?.background) {
15
+ * console.log("Terminal background:", palette.background);
16
+ * }
17
+ * ```
18
+ */
18
19
  declare const useTerminalPalette: () => UseTerminalPaletteResult;
19
- export default useTerminalPalette;
20
+ export { UseTerminalPaletteResult, useTerminalPalette as default, useTerminalPalette };
@@ -0,0 +1 @@
1
+ var f=Object.defineProperty;var u=(e,t)=>f(e,"name",{value:t,configurable:!0});import{useState as l,useMemo as p,useEffect as c}from"react";import{isTerminalPaletteQuerySupported as d,queryTerminalPalette as y}from"../../packem_shared/isTerminalPaletteQuerySupported-Dn2hFAZ_.js";import{useStdinContext as P}from"./use-stdin.js";import S from"./use-stdout.js";var T=Object.defineProperty,v=u((e,t)=>T(e,"name",{value:t,configurable:!0}),"o");const q=v(()=>{const{stdin:e}=P(),{stdout:t}=S(),[s,i]=l(null),[n,o]=l(!0),r=p(()=>d(),[]);return c(()=>{if(!r||!e||!t){o(!1);return}let a=!1;return(async()=>{try{const m=await y(e,t,200);a||i(m)}catch{}finally{a||o(!1)}})(),()=>{a=!0}},[r,e,t]),{isLoading:n,isSupported:r,palette:s}},"useTerminalPalette");export{q as default,q as useTerminalPalette};
@@ -1,42 +1,42 @@
1
- export type CursorPosition = {
2
- readonly col: number;
3
- readonly line: number;
1
+ type CursorPosition = {
2
+ readonly col: number;
3
+ readonly line: number;
4
4
  };
5
- export type TextBufferState = {
6
- readonly anchor: CursorPosition | null;
7
- readonly cursor: CursorPosition;
8
- readonly lines: ReadonlyArray<string>;
5
+ type TextBufferState = {
6
+ readonly anchor: CursorPosition | null;
7
+ readonly cursor: CursorPosition;
8
+ readonly lines: ReadonlyArray<string>;
9
9
  };
10
- export type UseTextBufferResult = {
11
- readonly anchor: CursorPosition | null;
12
- readonly clearSelection: () => void;
13
- readonly cursor: CursorPosition;
14
- readonly deleteBack: () => void;
15
- readonly deleteForward: () => void;
16
- readonly deleteLine: () => void;
17
- readonly deleteSelection: () => void;
18
- readonly deleteToLineEnd: () => void;
19
- readonly deleteToLineStart: () => void;
20
- readonly deleteWord: () => void;
21
- readonly getSelectedText: () => string;
22
- readonly hasSelection: () => boolean;
23
- readonly insert: (text: string) => void;
24
- readonly lines: ReadonlyArray<string>;
25
- readonly moveCursor: (direction: "down" | "left" | "right" | "up", selecting?: boolean) => void;
26
- readonly moveToEnd: (selecting?: boolean) => void;
27
- readonly moveToLineEnd: (selecting?: boolean) => void;
28
- readonly moveToLineStart: (selecting?: boolean) => void;
29
- readonly moveToStart: (selecting?: boolean) => void;
30
- readonly newline: () => void;
31
- readonly redo: () => void;
32
- readonly replaceSelection: (text: string) => void;
33
- readonly selectAll: () => void;
34
- readonly setValue: (value: string) => void;
35
- readonly undo: () => void;
36
- readonly value: string;
10
+ type UseTextBufferResult = {
11
+ readonly anchor: CursorPosition | null;
12
+ readonly clearSelection: () => void;
13
+ readonly cursor: CursorPosition;
14
+ readonly deleteBack: () => void;
15
+ readonly deleteForward: () => void;
16
+ readonly deleteLine: () => void;
17
+ readonly deleteSelection: () => void;
18
+ readonly deleteToLineEnd: () => void;
19
+ readonly deleteToLineStart: () => void;
20
+ readonly deleteWord: () => void;
21
+ readonly getSelectedText: () => string;
22
+ readonly hasSelection: () => boolean;
23
+ readonly insert: (text: string) => void;
24
+ readonly lines: ReadonlyArray<string>;
25
+ readonly moveCursor: (direction: "down" | "left" | "right" | "up", selecting?: boolean) => void;
26
+ readonly moveToEnd: (selecting?: boolean) => void;
27
+ readonly moveToLineEnd: (selecting?: boolean) => void;
28
+ readonly moveToLineStart: (selecting?: boolean) => void;
29
+ readonly moveToStart: (selecting?: boolean) => void;
30
+ readonly newline: () => void;
31
+ readonly redo: () => void;
32
+ readonly replaceSelection: (text: string) => void;
33
+ readonly selectAll: () => void;
34
+ readonly setValue: (value: string) => void;
35
+ readonly undo: () => void;
36
+ readonly value: string;
37
37
  };
38
38
  /**
39
- * Hook managing a multi-line text buffer with cursor, selection, and undo/redo.
40
- */
39
+ * Hook managing a multi-line text buffer with cursor, selection, and undo/redo.
40
+ */
41
41
  declare const useTextBuffer: (initialValue?: string) => UseTextBufferResult;
42
- export default useTextBuffer;
42
+ export { CursorPosition, TextBufferState, UseTextBufferResult, useTextBuffer as default, useTextBuffer };