@visulima/tui 1.0.0-alpha.1 → 1.0.0-alpha.10

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 (542) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/LICENSE.md +203 -9
  3. package/README.md +6 -6
  4. package/dist/core/index.d.ts +58 -5
  5. package/dist/core/index.js +1 -5
  6. package/dist/ink/index.d.ts +6574 -159
  7. package/dist/ink/index.js +1 -100
  8. package/dist/packem_chunks/devtools.js +3 -26
  9. package/dist/packem_shared/Accordion-BXsqchV-.js +1 -0
  10. package/dist/packem_shared/Alert-BhYVMHtR.js +1 -0
  11. package/dist/packem_shared/AnimatePresence-Eu7Z8KHc.js +1 -0
  12. package/dist/packem_shared/ApprovalPrompt-BSn0FT1g.js +1 -0
  13. package/dist/packem_shared/AreaChart-Chy-frI7.js +1 -0
  14. package/dist/packem_shared/Badge-B8WPyRsK.js +1 -0
  15. package/dist/packem_shared/BarChart-rpZtlMcF.js +1 -0
  16. package/dist/packem_shared/BigText-CRpwUzrt.js +1 -0
  17. package/dist/packem_shared/BlinkDot-BvnRuWP8.js +1 -0
  18. package/dist/packem_shared/Box-BwqSvWuq.js +1 -0
  19. package/dist/packem_shared/Breadcrumb-D0hClbRV.js +1 -0
  20. package/dist/packem_shared/Button-B89Yvbc6.js +1 -0
  21. package/dist/packem_shared/COLOR_BLINDNESS_SIMULATION-DqErf7XX.js +1 -0
  22. package/dist/packem_shared/Calendar-Dmflvm2S.js +1 -0
  23. package/dist/packem_shared/Canvas-CKg6WV47.js +1 -0
  24. package/dist/packem_shared/Card-B_9fXdtU.js +1 -0
  25. package/dist/packem_shared/Cell-BrXn3jxY.js +1 -0
  26. package/dist/packem_shared/Checkbox-BN71eCWU.js +1 -0
  27. package/dist/packem_shared/Code-HhevcyiH.js +2 -0
  28. package/dist/packem_shared/Collapsible-u6uf_FdV.js +1 -0
  29. package/dist/packem_shared/CommandBlock-B-nslpCv.js +4 -0
  30. package/dist/packem_shared/CommandPalette-CEFdaURo.js +1 -0
  31. package/dist/packem_shared/ConfirmDialog-5Jje_Xpu.js +1 -0
  32. package/dist/packem_shared/ConfirmInput-D44Mb9oo.js +1 -0
  33. package/dist/packem_shared/ConsoleOverlay-CM3APfgP.js +1 -0
  34. package/dist/packem_shared/ContentSwitcher-Dm5BkrCt.js +1 -0
  35. package/dist/packem_shared/ControlledScrollView-DI8KZOQB.js +1 -0
  36. package/dist/packem_shared/Cursor-BoLFIMol.js +1 -0
  37. package/dist/packem_shared/DatePicker-CnSrFFAE.js +1 -0
  38. package/dist/packem_shared/DefinitionList-v8RDuF_R.js +1 -0
  39. package/dist/packem_shared/DevTools-O8EbCfHa.js +1 -0
  40. package/dist/packem_shared/Dialog-CTaL8pn0.js +1 -0
  41. package/dist/packem_shared/DiffView-BUIFqUB0.js +1 -0
  42. package/dist/packem_shared/Divider-C47bKmqu.js +1 -0
  43. package/dist/packem_shared/FilePicker-CUo7R5Qb.js +1 -0
  44. package/dist/packem_shared/FocusContext-Xy0cwJpO.js +1 -0
  45. package/dist/packem_shared/FormField-af3aUpRL.js +1 -0
  46. package/dist/packem_shared/Fullscreen-CuJ8y0s0.js +1 -0
  47. package/dist/packem_shared/Gauge-Dz-usH__.js +1 -0
  48. package/dist/packem_shared/Gradient-DYNc0GZA.js +1 -0
  49. package/dist/packem_shared/Heading-mwEYza3Y.js +1 -0
  50. package/dist/packem_shared/Heatmap-ChL97U1-.js +1 -0
  51. package/dist/packem_shared/Help-Zcelyw_U.js +1 -0
  52. package/dist/packem_shared/Histogram-FIf2F83d.js +1 -0
  53. package/dist/packem_shared/IMECompositionBuffer-C89PhiOu.js +1 -0
  54. package/dist/packem_shared/InputParser-rZKjY_7Y.js +2 -0
  55. package/dist/packem_shared/KEY-Bk8B-3h_.js +1 -0
  56. package/dist/packem_shared/Kbd-DpkPp4jB.js +1 -0
  57. package/dist/packem_shared/LayoutNode-rxblE317.js +1 -0
  58. package/dist/packem_shared/LineChart-BXE_girm.js +1 -0
  59. package/dist/packem_shared/Link-i2o2EG4-.js +1 -0
  60. package/dist/packem_shared/LoadingIndicator-TC1Fjwyt.js +1 -0
  61. package/dist/packem_shared/Markdown-R1XqK63D.js +1 -0
  62. package/dist/packem_shared/MaskedInput-J01phOZs.js +1 -0
  63. package/dist/packem_shared/Menu-CfrH4ymk.js +1 -0
  64. package/dist/packem_shared/MessageBubble-BmBBU2Rm.js +1 -0
  65. package/dist/packem_shared/ModelBadge-D3wrXncu.js +1 -0
  66. package/dist/packem_shared/MouseProvider-pjza-lpc.js +1 -0
  67. package/dist/packem_shared/MultiSelect-Dqmn-bVo.js +1 -0
  68. package/dist/packem_shared/NAMED_COLORS-B9fJsYdg.js +1 -0
  69. package/dist/packem_shared/Newline-BSG4iUqp.js +2 -0
  70. package/dist/packem_shared/OperationTree-DksxjMIV.js +1 -0
  71. package/dist/packem_shared/OptionList-CNx7r9yN.js +1 -0
  72. package/dist/packem_shared/OrderedList-BeDy035w.js +1 -0
  73. package/dist/packem_shared/Paginator-B56s6bhS.js +1 -0
  74. package/dist/packem_shared/Paragraph-BqJlH0R-.js +1 -0
  75. package/dist/packem_shared/Placeholder-GMpHRGC8.js +1 -0
  76. package/dist/packem_shared/ProgressBar-Bj3fmORR.js +1 -0
  77. package/dist/packem_shared/RadioGroup-Br8BeEwS.js +1 -0
  78. package/dist/packem_shared/Renderer-DJXooAsp.js +1 -0
  79. package/dist/packem_shared/ResizeObserverEntry-Dq0dk8Kq.js +1 -0
  80. package/dist/packem_shared/ScatterPlot-OhfYco5l.js +1 -0
  81. package/dist/packem_shared/ScrollBar-Da5Y3z7N.js +1 -0
  82. package/dist/packem_shared/ScrollBarBox-Dz6F-Eat.js +1 -0
  83. package/dist/packem_shared/ScrollList-DiVGyEjv.js +1 -0
  84. package/dist/packem_shared/ScrollView-BojONotI.js +1 -0
  85. package/dist/packem_shared/SearchInput-BoPTRbhV.js +1 -0
  86. package/dist/packem_shared/SelectInput-CAJ7SCBq.js +1 -0
  87. package/dist/packem_shared/SelectInputIndicator-N1n8ULHs.js +1 -0
  88. package/dist/packem_shared/SelectInputItem-BEkbmobs.js +1 -0
  89. package/dist/packem_shared/ShimmerText-CuGQ2NDC.js +1 -0
  90. package/dist/packem_shared/Slider-Cg_tJpKa.js +1 -0
  91. package/dist/packem_shared/Spacer-eT3HOrXk.js +1 -0
  92. package/dist/packem_shared/Sparkline-T6_FPVET.js +1 -0
  93. package/dist/packem_shared/Spinner-B0-A50pu.js +1 -0
  94. package/dist/packem_shared/Static-DLynr5pn.js +1 -0
  95. package/dist/packem_shared/Static-jzLPaHJF.js +1 -0
  96. package/dist/packem_shared/StaticRender-BgD61E7x.js +1 -0
  97. package/dist/packem_shared/StatusLine-Ch4jjef1.js +1 -0
  98. package/dist/packem_shared/StatusMessage-B1qfKeMM.js +1 -0
  99. package/dist/packem_shared/Stepper-CNPAqxiU.js +1 -0
  100. package/dist/packem_shared/Stopwatch-CAx2EWwq.js +1 -0
  101. package/dist/packem_shared/StreamingText-BYOKSB2T.js +1 -0
  102. package/dist/packem_shared/Switch-DzSpKYu7.js +1 -0
  103. package/dist/packem_shared/Tab-BcXzSUdj.js +1 -0
  104. package/dist/packem_shared/Table-DJp1TLrR.js +1 -0
  105. package/dist/packem_shared/Tabs-D68z0SOt.js +1 -0
  106. package/dist/packem_shared/Tag-BvLHnYRn.js +1 -0
  107. package/dist/packem_shared/Text-mTAve9R2.js +1 -0
  108. package/dist/packem_shared/TextInput-C_gYQlnF.js +1 -0
  109. package/dist/packem_shared/Textarea-C2ET_oMb.js +2 -0
  110. package/dist/packem_shared/Timer-CI3aQX65.js +1 -0
  111. package/dist/packem_shared/Toast-Drvc8XfG.js +1 -0
  112. package/dist/packem_shared/Tooltip-C5UnQlLd.js +1 -0
  113. package/dist/packem_shared/Transform-fYmcdqRT.js +1 -0
  114. package/dist/packem_shared/Transition-CJDBKYUB.js +1 -0
  115. package/dist/packem_shared/TreeNodeMap-CspqSCpb.js +1 -0
  116. package/dist/packem_shared/TreeView-DjhacGJ5.js +1 -0
  117. package/dist/packem_shared/TuiApp-DrjI_i-R.js +1 -0
  118. package/dist/packem_shared/TuiContext-BoJvG3NN.js +3 -0
  119. package/dist/packem_shared/UnorderedList-BnfqexZs.js +1 -0
  120. package/dist/packem_shared/accessibility-context-DDyHTwmA.js +1 -0
  121. package/dist/packem_shared/animation-context-DW3p-vpk.js +1 -0
  122. package/dist/packem_shared/ansi-parser-B6uXaq65.js +1 -0
  123. package/dist/packem_shared/ansi-tokenizer-DqX9nJuk.js +1 -0
  124. package/dist/packem_shared/app-context-BVpKlG1z.js +1 -0
  125. package/dist/packem_shared/background-context-rjOaWFki.js +1 -0
  126. package/dist/packem_shared/boxes-DyY_LXCi.js +1 -0
  127. package/dist/packem_shared/braille-BBjIoaN0.js +1 -0
  128. package/dist/packem_shared/colorize-DbTZMrJO.js +1 -0
  129. package/dist/packem_shared/comparePoints-C85EsmNz.js +1 -0
  130. package/dist/packem_shared/controlled-scroll-view-CmrAEvJk.js +1 -0
  131. package/dist/packem_shared/createInlineLoop-DRNZ7jqH.js +2 -0
  132. package/dist/packem_shared/createLinkedScrollGroup-BMTJ7rAj.js +1 -0
  133. package/dist/packem_shared/createMemoryStorage-QVZNXbWz.js +2 -0
  134. package/dist/packem_shared/createScreen-CrLrxA6t.js +3 -0
  135. package/dist/packem_shared/cursor-context-CFviBqPX.js +1 -0
  136. package/dist/packem_shared/dom-4y__5fWB.js +1 -0
  137. package/dist/packem_shared/focus-context-CsT69klR.js +1 -0
  138. package/dist/packem_shared/format-time-C7Q-hQZq.js +1 -0
  139. package/dist/packem_shared/getPathToRoot-B2tKmx3i.js +1 -0
  140. package/dist/packem_shared/getScrollHeight-BTEY8ewu.js +1 -0
  141. package/dist/packem_shared/input-utils-fAxzSlNh.js +1 -0
  142. package/dist/packem_shared/input.d-Bfq7oc06.d.ts +90 -0
  143. package/dist/packem_shared/isIntersecting-B3KbKTmu.js +1 -0
  144. package/dist/packem_shared/isOsc52Supported-DKK7Uee6.js +1 -0
  145. package/dist/packem_shared/isTerminalPaletteQuerySupported-Dn2hFAZ_.js +1 -0
  146. package/dist/packem_shared/kittyFlags-C3rZLbcK.js +1 -0
  147. package/dist/packem_shared/line-chart-DrM8PwnI.js +1 -0
  148. package/dist/packem_shared/measure-element-DSp7YDus.js +2 -0
  149. package/dist/packem_shared/measure-text-DDjHT1jD.js +3 -0
  150. package/dist/packem_shared/measureElement-DA8WqFP_.js +1 -0
  151. package/dist/packem_shared/mouse-context-DaARgUu1.js +1 -0
  152. package/dist/packem_shared/parseSgrMouse-Ccj70ijb.js +1 -0
  153. package/dist/packem_shared/processLayout-DXDfFb_d.js +1 -0
  154. package/dist/packem_shared/reconciler-BuOP-TZ6.js +1 -0
  155. package/dist/packem_shared/reconciler-DSYCrIZs.js +1 -0
  156. package/dist/packem_shared/render-DDqtMAFN.js +1 -0
  157. package/dist/packem_shared/render-_r0K9K11.js +28 -0
  158. package/dist/packem_shared/render.d-BR3gA-N8.d.ts +1257 -0
  159. package/dist/packem_shared/renderToString-DeqOWRP8.js +4 -0
  160. package/dist/packem_shared/renderToString-IYYPyASm.js +2 -0
  161. package/dist/packem_shared/renderTreeToBuffer-DPkoCgP2.js +2 -0
  162. package/dist/packem_shared/renderer-D2p6av2X.js +17 -0
  163. package/dist/packem_shared/setEnableStyledLineCache-D2gZbwFM.js +1 -0
  164. package/dist/packem_shared/squashTextNodesWithMap-Cpqmc45i.js +1 -0
  165. package/dist/packem_shared/stderr-context-BzEaUICS.js +1 -0
  166. package/dist/packem_shared/stdin-context-BTaaFagk.js +1 -0
  167. package/dist/packem_shared/stdout-context-BnblEPez.js +1 -0
  168. package/dist/packem_shared/text-width-CZ9vPvM0.js +2 -0
  169. package/dist/packem_shared/token-to-elements-BYxT6J_Q.js +1 -0
  170. package/dist/packem_shared/treeViewTheme-1RIZyB4M.js +1 -0
  171. package/dist/packem_shared/useAnimation-B9we6ZzL.js +1 -0
  172. package/dist/packem_shared/useApp-B6fvM42d.js +1 -0
  173. package/dist/packem_shared/useBoxMetrics-D5pkIr6P.js +1 -0
  174. package/dist/packem_shared/useClipboard-CBxy0hT8.js +1 -0
  175. package/dist/packem_shared/useColorBlindness-BvWcu2Bb.js +1 -0
  176. package/dist/packem_shared/useConsoleCapture-BxiG8iLJ.js +1 -0
  177. package/dist/packem_shared/useCursor-CPu8T5Db.js +1 -0
  178. package/dist/packem_shared/useElementDimensions-qJ_WXFZ9.js +1 -0
  179. package/dist/packem_shared/useFocus-DSmziO_x.js +1 -0
  180. package/dist/packem_shared/useFocusManager-Uapn3LQo.js +1 -0
  181. package/dist/packem_shared/useForm-CzV-Oext.js +1 -0
  182. package/dist/packem_shared/useHotkey-D0dGey14.js +1 -0
  183. package/dist/packem_shared/useInput-D1_jG26Z.js +2 -0
  184. package/dist/packem_shared/useInterval-AobjZT3u.js +1 -0
  185. package/dist/packem_shared/useIsScreenReaderEnabled-DjWHh-II.js +1 -0
  186. package/dist/packem_shared/useKeyBindings-zabkEJQs.js +1 -0
  187. package/dist/packem_shared/useKeyChord-CICQIxXj.js +1 -0
  188. package/dist/packem_shared/useMouseAction-2dRfU1vE.js +1 -0
  189. package/dist/packem_shared/useMouseContext-C746G7kY.js +1 -0
  190. package/dist/packem_shared/useMousePosition-BTWfV4JK.js +1 -0
  191. package/dist/packem_shared/useOnMouseClick-nY8xLZmt.js +1 -0
  192. package/dist/packem_shared/useOnMouseHover-D3DczIol.js +1 -0
  193. package/dist/packem_shared/useOnMouseState-cRK8QvzD.js +1 -0
  194. package/dist/packem_shared/usePaste-CKKB9H-Z.js +1 -0
  195. package/dist/packem_shared/useScrollAcceleration-NrY1oVMs.js +1 -0
  196. package/dist/packem_shared/useScrollInput-Caghtn-Q.js +1 -0
  197. package/dist/packem_shared/useStderr-BDZb6InG.js +1 -0
  198. package/dist/packem_shared/useStdin-DKa4h35k.js +1 -0
  199. package/dist/packem_shared/useStdout-B-2lX4C5.js +1 -0
  200. package/dist/packem_shared/useStopwatch-DffK7iMh.js +1 -0
  201. package/dist/packem_shared/useTerminalPalette-Cv7tSduR.js +1 -0
  202. package/dist/packem_shared/useTextBuffer-DekkGLxI.js +4 -0
  203. package/dist/packem_shared/useTextSelection-CGT0GLDR.js +1 -0
  204. package/dist/packem_shared/useTimeout-7LEFYTnG.js +1 -0
  205. package/dist/packem_shared/useTimer-DyoqSyGi.js +1 -0
  206. package/dist/packem_shared/useTreeView-8UlTK6sW.js +1 -0
  207. package/dist/packem_shared/useTreeViewState-CRPCUWrb.js +1 -0
  208. package/dist/packem_shared/useWindowSize-yDZsXF8z.js +1 -0
  209. package/dist/packem_shared/utils-THUhYKG2.js +1 -0
  210. package/dist/packem_shared/variant-config-BJqpNo7H.js +1 -0
  211. package/dist/packem_shared/waitFor-Dj5zfL5s.js +4 -0
  212. package/dist/packem_shared/wrapOrTruncateStyledLine-BZ00SM8i.js +3 -0
  213. package/dist/react/index.d.ts +519 -8
  214. package/dist/react/index.js +1 -9
  215. package/dist/testing/index.d.ts +274 -135
  216. package/dist/testing/index.js +1 -260
  217. package/index.js +691 -539
  218. package/package.json +24 -28
  219. package/dist/core/app.d.ts +0 -50
  220. package/dist/core/cell.d.ts +0 -33
  221. package/dist/core/inline.d.ts +0 -22
  222. package/dist/core/input.d.ts +0 -18
  223. package/dist/core/native-binding.d.ts +0 -22
  224. package/dist/ink/ansi-to-cell.d.ts +0 -5
  225. package/dist/ink/ansi-tokenizer.d.ts +0 -38
  226. package/dist/ink/clipboard.d.ts +0 -29
  227. package/dist/ink/color-matrix.d.ts +0 -49
  228. package/dist/ink/color-utils.d.ts +0 -30
  229. package/dist/ink/colorize.d.ts +0 -4
  230. package/dist/ink/components/AccessibilityContext.d.ts +0 -4
  231. package/dist/ink/components/Alert.d.ts +0 -30
  232. package/dist/ink/components/AnimationContext.d.ts +0 -10
  233. package/dist/ink/components/App.d.ts +0 -19
  234. package/dist/ink/components/AppContext.d.ts +0 -38
  235. package/dist/ink/components/BackgroundContext.d.ts +0 -5
  236. package/dist/ink/components/Badge.d.ts +0 -27
  237. package/dist/ink/components/BigText.d.ts +0 -71
  238. package/dist/ink/components/Box.d.ts +0 -58
  239. package/dist/ink/components/Code.d.ts +0 -46
  240. package/dist/ink/components/ConfirmInput.d.ts +0 -40
  241. package/dist/ink/components/ConsoleOverlay.d.ts +0 -52
  242. package/dist/ink/components/Cursor.d.ts +0 -43
  243. package/dist/ink/components/CursorContext.d.ts +0 -12
  244. package/dist/ink/components/Dialog.d.ts +0 -93
  245. package/dist/ink/components/DiffView.d.ts +0 -71
  246. package/dist/ink/components/ErrorBoundary.d.ts +0 -17
  247. package/dist/ink/components/ErrorOverview.d.ts +0 -6
  248. package/dist/ink/components/FocusContext.d.ts +0 -17
  249. package/dist/ink/components/Gradient.d.ts +0 -38
  250. package/dist/ink/components/Help.d.ts +0 -49
  251. package/dist/ink/components/Link.d.ts +0 -34
  252. package/dist/ink/components/Markdown.d.ts +0 -34
  253. package/dist/ink/components/MultiSelect.d.ts +0 -63
  254. package/dist/ink/components/Newline.d.ts +0 -12
  255. package/dist/ink/components/OrderedList.d.ts +0 -30
  256. package/dist/ink/components/Paginator.d.ts +0 -75
  257. package/dist/ink/components/ProgressBar.d.ts +0 -51
  258. package/dist/ink/components/SelectInput.d.ts +0 -96
  259. package/dist/ink/components/SelectInputIndicator.d.ts +0 -36
  260. package/dist/ink/components/SelectInputItem.d.ts +0 -43
  261. package/dist/ink/components/Slider.d.ts +0 -92
  262. package/dist/ink/components/Spacer.d.ts +0 -7
  263. package/dist/ink/components/Spinner.d.ts +0 -42
  264. package/dist/ink/components/Static.d.ts +0 -24
  265. package/dist/ink/components/StaticRender.d.ts +0 -28
  266. package/dist/ink/components/StatusMessage.d.ts +0 -26
  267. package/dist/ink/components/StderrContext.d.ts +0 -16
  268. package/dist/ink/components/StdinContext.d.ts +0 -29
  269. package/dist/ink/components/StdoutContext.d.ts +0 -16
  270. package/dist/ink/components/Stopwatch.d.ts +0 -44
  271. package/dist/ink/components/Tab.d.ts +0 -25
  272. package/dist/ink/components/Table.d.ts +0 -80
  273. package/dist/ink/components/Tabs.d.ts +0 -97
  274. package/dist/ink/components/Text.d.ts +0 -63
  275. package/dist/ink/components/TextInput.d.ts +0 -48
  276. package/dist/ink/components/Textarea.d.ts +0 -62
  277. package/dist/ink/components/Timer.d.ts +0 -52
  278. package/dist/ink/components/Transform.d.ts +0 -16
  279. package/dist/ink/components/UnorderedList.d.ts +0 -35
  280. package/dist/ink/components/file-picker/FilePicker.d.ts +0 -75
  281. package/dist/ink/components/file-picker/index.d.ts +0 -3
  282. package/dist/ink/components/file-picker/types.d.ts +0 -38
  283. package/dist/ink/components/file-picker/use-file-system.d.ts +0 -16
  284. package/dist/ink/components/scroll/ControlledScrollView.d.ts +0 -43
  285. package/dist/ink/components/scroll/ScrollBar.d.ts +0 -20
  286. package/dist/ink/components/scroll/ScrollBarBox.d.ts +0 -15
  287. package/dist/ink/components/scroll/ScrollList.d.ts +0 -12
  288. package/dist/ink/components/scroll/ScrollView.d.ts +0 -98
  289. package/dist/ink/components/scroll/index.d.ts +0 -10
  290. package/dist/ink/components/scroll/use-state-ref.d.ts +0 -8
  291. package/dist/ink/components/tree-view/TreeView.d.ts +0 -89
  292. package/dist/ink/components/tree-view/TreeViewNode.d.ts +0 -29
  293. package/dist/ink/components/tree-view/index.d.ts +0 -11
  294. package/dist/ink/components/tree-view/theme.d.ts +0 -24
  295. package/dist/ink/components/tree-view/tree-node-map.d.ts +0 -72
  296. package/dist/ink/components/tree-view/types.d.ts +0 -55
  297. package/dist/ink/components/tree-view/use-tree-view-state.d.ts +0 -135
  298. package/dist/ink/components/tree-view/use-tree-view.d.ts +0 -26
  299. package/dist/ink/components/variant-config.d.ts +0 -10
  300. package/dist/ink/cursor-helpers.d.ts +0 -38
  301. package/dist/ink/data-limited-lru-map.d.ts +0 -21
  302. package/dist/ink/devtools-window-polyfill.d.ts +0 -1
  303. package/dist/ink/devtools.d.ts +0 -1
  304. package/dist/ink/dom.d.ts +0 -213
  305. package/dist/ink/get-max-width.d.ts +0 -3
  306. package/dist/ink/highlighter.d.ts +0 -28
  307. package/dist/ink/hooks/use-animation.d.ts +0 -43
  308. package/dist/ink/hooks/use-app.d.ts +0 -6
  309. package/dist/ink/hooks/use-box-metrics.d.ts +0 -58
  310. package/dist/ink/hooks/use-clipboard.d.ts +0 -29
  311. package/dist/ink/hooks/use-color-blindness.d.ts +0 -33
  312. package/dist/ink/hooks/use-console-capture.d.ts +0 -43
  313. package/dist/ink/hooks/use-cursor.d.ts +0 -12
  314. package/dist/ink/hooks/use-focus-manager.d.ts +0 -42
  315. package/dist/ink/hooks/use-focus.d.ts +0 -30
  316. package/dist/ink/hooks/use-input.d.ts +0 -149
  317. package/dist/ink/hooks/use-is-screen-reader-enabled.d.ts +0 -6
  318. package/dist/ink/hooks/use-key-bindings.d.ts +0 -61
  319. package/dist/ink/hooks/use-linked-scroll.d.ts +0 -41
  320. package/dist/ink/hooks/use-paste.d.ts +0 -44
  321. package/dist/ink/hooks/use-scroll-acceleration.d.ts +0 -47
  322. package/dist/ink/hooks/use-scroll-input.d.ts +0 -34
  323. package/dist/ink/hooks/use-stderr.d.ts +0 -6
  324. package/dist/ink/hooks/use-stdin.d.ts +0 -7
  325. package/dist/ink/hooks/use-stdout.d.ts +0 -6
  326. package/dist/ink/hooks/use-stopwatch.d.ts +0 -40
  327. package/dist/ink/hooks/use-terminal-palette.d.ts +0 -19
  328. package/dist/ink/hooks/use-text-buffer.d.ts +0 -42
  329. package/dist/ink/hooks/use-text-selection.d.ts +0 -45
  330. package/dist/ink/hooks/use-timer.d.ts +0 -49
  331. package/dist/ink/hooks/use-window-size.d.ts +0 -18
  332. package/dist/ink/ime-utils.d.ts +0 -25
  333. package/dist/ink/ink.d.ts +0 -189
  334. package/dist/ink/input-parser.d.ts +0 -10
  335. package/dist/ink/input-utils.d.ts +0 -16
  336. package/dist/ink/instances.d.ts +0 -3
  337. package/dist/ink/kitty-keyboard.d.ts +0 -23
  338. package/dist/ink/layout.d.ts +0 -26
  339. package/dist/ink/log-update-native.d.ts +0 -14
  340. package/dist/ink/log-update.d.ts +0 -21
  341. package/dist/ink/measure-element.d.ts +0 -147
  342. package/dist/ink/measure-text.d.ts +0 -56
  343. package/dist/ink/mouse/Fullscreen.d.ts +0 -8
  344. package/dist/ink/mouse/MouseProvider.d.ts +0 -11
  345. package/dist/ink/mouse/ansi-parser.d.ts +0 -37
  346. package/dist/ink/mouse/constants.d.ts +0 -59
  347. package/dist/ink/mouse/index.d.ts +0 -20
  348. package/dist/ink/mouse/is-intersecting.d.ts +0 -18
  349. package/dist/ink/mouse/mouse-context.d.ts +0 -36
  350. package/dist/ink/mouse/use-element-position.d.ts +0 -29
  351. package/dist/ink/mouse/use-mouse-action.d.ts +0 -7
  352. package/dist/ink/mouse/use-mouse-position.d.ts +0 -7
  353. package/dist/ink/mouse/use-mouse.d.ts +0 -7
  354. package/dist/ink/mouse/use-on-mouse-click.d.ts +0 -14
  355. package/dist/ink/mouse/use-on-mouse-hover.d.ts +0 -8
  356. package/dist/ink/mouse/use-on-mouse-state.d.ts +0 -11
  357. package/dist/ink/output.d.ts +0 -74
  358. package/dist/ink/parse-keypress.d.ts +0 -22
  359. package/dist/ink/reconciler.d.ts +0 -3
  360. package/dist/ink/region.d.ts +0 -99
  361. package/dist/ink/render-background.d.ts +0 -4
  362. package/dist/ink/render-border.d.ts +0 -4
  363. package/dist/ink/render-node-to-output.d.ts +0 -38
  364. package/dist/ink/render-scrollbar.d.ts +0 -9
  365. package/dist/ink/render-sticky.d.ts +0 -44
  366. package/dist/ink/render-to-string.d.ts +0 -37
  367. package/dist/ink/render.d.ts +0 -191
  368. package/dist/ink/renderer.d.ts +0 -17
  369. package/dist/ink/resize-observer.d.ts +0 -44
  370. package/dist/ink/sanitize-ansi.d.ts +0 -2
  371. package/dist/ink/scroll.d.ts +0 -23
  372. package/dist/ink/selection.d.ts +0 -70
  373. package/dist/ink/squash-text-nodes.d.ts +0 -18
  374. package/dist/ink/style-flags.d.ts +0 -17
  375. package/dist/ink/styled-line-factory.d.ts +0 -25
  376. package/dist/ink/styled-line-serializer.d.ts +0 -18
  377. package/dist/ink/styled-line.d.ts +0 -109
  378. package/dist/ink/styles.d.ts +0 -369
  379. package/dist/ink/terminal-palette.d.ts +0 -25
  380. package/dist/ink/text-wrap.d.ts +0 -10
  381. package/dist/ink/token-to-elements.d.ts +0 -22
  382. package/dist/ink/utils/format-time.d.ts +0 -4
  383. package/dist/ink/utils.d.ts +0 -9
  384. package/dist/ink/wrap-text.d.ts +0 -3
  385. package/dist/ink/write-synchronized.d.ts +0 -4
  386. package/dist/packem_shared/AccessibilityContext-BLelHhNU.js +0 -7
  387. package/dist/packem_shared/Alert-Dr3s_LD9.js +0 -17
  388. package/dist/packem_shared/AnimationContext-BcJg8Jr6.js +0 -15
  389. package/dist/packem_shared/AppContext-CP0U6H7O.js +0 -11
  390. package/dist/packem_shared/BackgroundContext-BAUaxfOb.js +0 -5
  391. package/dist/packem_shared/Badge-Dk7EGGM6.js +0 -13
  392. package/dist/packem_shared/BigText-CjMdY63X.js +0 -24
  393. package/dist/packem_shared/Box-D_pSJ9Jp.js +0 -73
  394. package/dist/packem_shared/COLOR_BLINDNESS_SIMULATION-BsMy5Ewl.js +0 -81
  395. package/dist/packem_shared/Cell-DCg1kJY-.js +0 -48
  396. package/dist/packem_shared/Code-DjQvPBD9.js +0 -53
  397. package/dist/packem_shared/ConfirmInput-85Y4kRQW.js +0 -44
  398. package/dist/packem_shared/ConsoleOverlay-DBNa4vtj.js +0 -57
  399. package/dist/packem_shared/ControlledScrollView-BlOaxcsN.js +0 -286
  400. package/dist/packem_shared/ControlledScrollView-DfAhcufF.js +0 -5
  401. package/dist/packem_shared/Cursor-DiW7YoSK.js +0 -18
  402. package/dist/packem_shared/CursorContext-JxRzlqAx.js +0 -9
  403. package/dist/packem_shared/DevTools-aMPIsaHx.js +0 -61
  404. package/dist/packem_shared/Dialog-DsSNAVgC.js +0 -71
  405. package/dist/packem_shared/DiffView-hqaw-2S6.js +0 -329
  406. package/dist/packem_shared/FilePicker-DNwFxRhq.js +0 -254
  407. package/dist/packem_shared/FocusContext-CWkYtgcm.js +0 -26
  408. package/dist/packem_shared/FocusContext-D5wFxSRz.js +0 -153
  409. package/dist/packem_shared/Fullscreen-DrElAE1o.js +0 -11
  410. package/dist/packem_shared/Gradient-Ql5P0GUd.js +0 -136
  411. package/dist/packem_shared/Help-6wanGG38.js +0 -112
  412. package/dist/packem_shared/IMECompositionBuffer-Dl3S0KnF.js +0 -55
  413. package/dist/packem_shared/InputParser-BKHpWfvN.js +0 -156
  414. package/dist/packem_shared/LayoutNode-Cjnsodiy.js +0 -131
  415. package/dist/packem_shared/Link-COcKYfGT.js +0 -66
  416. package/dist/packem_shared/Markdown-y1ISztof.js +0 -212
  417. package/dist/packem_shared/MouseProvider-Y9TSSEGl.js +0 -136
  418. package/dist/packem_shared/MultiSelect-ChoLUcDI.js +0 -129
  419. package/dist/packem_shared/NAMED_COLORS-a4QBvb5r.js +0 -262
  420. package/dist/packem_shared/Newline-DBtYEg8x.js +0 -7
  421. package/dist/packem_shared/OrderedList-Cp7pXr6m.js +0 -26
  422. package/dist/packem_shared/Paginator-D1AuD-kj.js +0 -104
  423. package/dist/packem_shared/ProgressBar-DOfpVagn.js +0 -22
  424. package/dist/packem_shared/Renderer-zZ5O3vxc.js +0 -31
  425. package/dist/packem_shared/ResizeObserverEntry-Br4seLeQ.js +0 -102
  426. package/dist/packem_shared/ScrollBar-EWAs2Uc7.js +0 -106
  427. package/dist/packem_shared/ScrollBarBox-DTNNlh7R.js +0 -72
  428. package/dist/packem_shared/ScrollList-DCeIFL8M.js +0 -227
  429. package/dist/packem_shared/ScrollView-v3MCNIyX.js +0 -196
  430. package/dist/packem_shared/SelectInput-BN2TMyxp.js +0 -260
  431. package/dist/packem_shared/SelectInputIndicator-DkRMoH_b.js +0 -9
  432. package/dist/packem_shared/SelectInputItem-BF9LQgKu.js +0 -8
  433. package/dist/packem_shared/Slider-BWD7xZX6.js +0 -116
  434. package/dist/packem_shared/Spacer-Bs4ER-HK.js +0 -8
  435. package/dist/packem_shared/Spinner-BuI-kN4p.js +0 -1799
  436. package/dist/packem_shared/Static-DpTd6Eed.js +0 -22
  437. package/dist/packem_shared/Static-xmD9giJj.js +0 -18
  438. package/dist/packem_shared/StaticRender-tYwH6QXl.js +0 -33
  439. package/dist/packem_shared/StatusMessage-BtSYxzwb.js +0 -14
  440. package/dist/packem_shared/StderrContext-Bj4Mf7v7.js +0 -17
  441. package/dist/packem_shared/StdinContext-Bq_GNJ3z.js +0 -38
  442. package/dist/packem_shared/StdoutContext-CgjWeCdO.js +0 -17
  443. package/dist/packem_shared/Stopwatch-DjtTCyHn.js +0 -23
  444. package/dist/packem_shared/Tab-C6r5q4hR.js +0 -7
  445. package/dist/packem_shared/Table-D-rSVlzb.js +0 -82
  446. package/dist/packem_shared/Tabs-BXpZwLWo.js +0 -146
  447. package/dist/packem_shared/Text-DvAUdZcK.js +0 -65
  448. package/dist/packem_shared/TextInput-C79WEQ5U.js +0 -137
  449. package/dist/packem_shared/Textarea-Dj06R6Zd.js +0 -272
  450. package/dist/packem_shared/Timer-wi9zuh4n.js +0 -22
  451. package/dist/packem_shared/Transform-BHxY_dAM.js +0 -14
  452. package/dist/packem_shared/TreeNodeMap-CtJUvBnd.js +0 -155
  453. package/dist/packem_shared/TreeView-C2062dtj.js +0 -148
  454. package/dist/packem_shared/TuiApp-DfxOnXqi.js +0 -120
  455. package/dist/packem_shared/TuiContext-CqEjMyXd.js +0 -415
  456. package/dist/packem_shared/UnorderedList-DhnadWjX.js +0 -33
  457. package/dist/packem_shared/ansi-parser-0BdVTKho.js +0 -41
  458. package/dist/packem_shared/ansi-tokenizer-LHq2LUWA.js +0 -307
  459. package/dist/packem_shared/boxes-oi3WUbyR.js +0 -92
  460. package/dist/packem_shared/colorize-88_Vk8cn.js +0 -48
  461. package/dist/packem_shared/comparePoints-CGMDnd3_.js +0 -287
  462. package/dist/packem_shared/createInlineLoop-BxMmcq9D.js +0 -93
  463. package/dist/packem_shared/createLinkedScrollGroup-Djw4Ceo0.js +0 -44
  464. package/dist/packem_shared/dom-DvzhsAez.js +0 -225
  465. package/dist/packem_shared/format-time-BGmnDukX.js +0 -12
  466. package/dist/packem_shared/getPathToRoot-a1wbwxfL.js +0 -4
  467. package/dist/packem_shared/getScrollHeight-BubfU_df.js +0 -63
  468. package/dist/packem_shared/input-utils-ViAEXa0Z.js +0 -19
  469. package/dist/packem_shared/isIntersecting-fEXHJN5R.js +0 -10
  470. package/dist/packem_shared/isOsc52Supported-G0k4sXJx.js +0 -36
  471. package/dist/packem_shared/isTerminalPaletteQuerySupported-EeiwMKbr.js +0 -93
  472. package/dist/packem_shared/kittyFlags-bNNf_9kX.js +0 -26
  473. package/dist/packem_shared/measure-element-Reza_yfC.js +0 -396
  474. package/dist/packem_shared/measure-text-DItZYotK.js +0 -1189
  475. package/dist/packem_shared/measureElement-CTgFCmKd.js +0 -4
  476. package/dist/packem_shared/mouse-context-BUHWKEIe.js +0 -6
  477. package/dist/packem_shared/parseSgrMouse-BHVBPP9G.js +0 -1
  478. package/dist/packem_shared/processLayout-BQ9kXfd3.js +0 -2
  479. package/dist/packem_shared/reconciler-BXf6miSS.js +0 -211
  480. package/dist/packem_shared/reconciler-gfmqURLy.js +0 -680
  481. package/dist/packem_shared/render-BAwdjfki.js +0 -2806
  482. package/dist/packem_shared/render-Bpjhf0lD.js +0 -195
  483. package/dist/packem_shared/renderToString-Cfg55DRD.js +0 -62
  484. package/dist/packem_shared/renderToString-ClIaXgrC.js +0 -86
  485. package/dist/packem_shared/renderTreeToBuffer-D3mo7M7m.js +0 -308
  486. package/dist/packem_shared/renderer-B3wROkeg.js +0 -1431
  487. package/dist/packem_shared/setEnableStyledLineCache-BpskngSJ.js +0 -2
  488. package/dist/packem_shared/squashTextNodesWithMap-iqm6OMMT.js +0 -100
  489. package/dist/packem_shared/text-width-DhuarWcB.js +0 -42
  490. package/dist/packem_shared/token-to-elements-BRFl_rzw.js +0 -249
  491. package/dist/packem_shared/treeViewTheme-BpSw9TMf.js +0 -52
  492. package/dist/packem_shared/useAnimation-kj31sA-T.js +0 -62
  493. package/dist/packem_shared/useApp-DPQlRzi5.js +0 -6
  494. package/dist/packem_shared/useBoxMetrics-rBjKc-g4.js +0 -54
  495. package/dist/packem_shared/useClipboard-B_9-adw1.js +0 -23
  496. package/dist/packem_shared/useColorBlindness-D_sTIhcb.js +0 -30
  497. package/dist/packem_shared/useConsoleCapture-Dvt7G1W1.js +0 -61
  498. package/dist/packem_shared/useCursor-BIJzc8k9.js +0 -19
  499. package/dist/packem_shared/useElementDimensions-CAoKitVD.js +0 -67
  500. package/dist/packem_shared/useFocus-CNl5QHHf.js +0 -37
  501. package/dist/packem_shared/useFocusManager-BPYaUuKQ.js +0 -16
  502. package/dist/packem_shared/useInput-Cfp5zB2s.js +0 -594
  503. package/dist/packem_shared/useIsScreenReaderEnabled-CnGKCe0f.js +0 -9
  504. package/dist/packem_shared/useKeyBindings-B78l1E1n.js +0 -66
  505. package/dist/packem_shared/useMouseAction-C5gZ2nj7.js +0 -29
  506. package/dist/packem_shared/useMouseContext-D-rFy60Q.js +0 -12
  507. package/dist/packem_shared/useMousePosition-BHBJ-kBk.js +0 -25
  508. package/dist/packem_shared/useOnMouseClick--ZIyBOBO.js +0 -35
  509. package/dist/packem_shared/useOnMouseHover-26diuXUC.js +0 -32
  510. package/dist/packem_shared/useOnMouseState-NO_Kda_C.js +0 -13
  511. package/dist/packem_shared/usePaste-Ct8J4AGR.js +0 -35
  512. package/dist/packem_shared/useScrollAcceleration-R9LfrPVG.js +0 -73
  513. package/dist/packem_shared/useScrollInput-D3CpBq_a.js +0 -72
  514. package/dist/packem_shared/useStderr-CAOVUh4E.js +0 -6
  515. package/dist/packem_shared/useStdin-X-O0kd-n.js +0 -7
  516. package/dist/packem_shared/useStdout-DyF6DSH0.js +0 -6
  517. package/dist/packem_shared/useStopwatch-qC4Beai4.js +0 -33
  518. package/dist/packem_shared/useTerminalPalette-BaWO2c4Q.js +0 -38
  519. package/dist/packem_shared/useTextBuffer-C8fEe9Ly.js +0 -398
  520. package/dist/packem_shared/useTextSelection-mXtxgsPK.js +0 -50
  521. package/dist/packem_shared/useTimer-CPQ7j827.js +0 -46
  522. package/dist/packem_shared/useTreeView-BT57P3Kx.js +0 -101
  523. package/dist/packem_shared/useTreeViewState-BpS_KZ-K.js +0 -502
  524. package/dist/packem_shared/useWindowSize-ugEmGZJm.js +0 -20
  525. package/dist/packem_shared/utils-BgdlrbOH.js +0 -140
  526. package/dist/packem_shared/variant-config-DSZoX5TM.js +0 -8
  527. package/dist/packem_shared/wrapOrTruncateStyledLine-DN3Nogoc.js +0 -147
  528. package/dist/react/devtools.d.ts +0 -27
  529. package/dist/react/focus.d.ts +0 -39
  530. package/dist/react/hooks.d.ts +0 -238
  531. package/dist/react/layout.d.ts +0 -35
  532. package/dist/react/react.d.ts +0 -57
  533. package/dist/react/reconciler.d.ts +0 -4
  534. package/dist/react/render-to-string.d.ts +0 -21
  535. package/dist/react/renderer.d.ts +0 -2
  536. package/dist/react/scene.d.ts +0 -3
  537. package/dist/react/static.d.ts +0 -39
  538. package/dist/react/styles.d.ts +0 -83
  539. package/dist/react/text-width.d.ts +0 -20
  540. package/dist/testing/keys.d.ts +0 -89
  541. package/dist/testing/screen.d.ts +0 -35
  542. package/dist/testing/wait-for.d.ts +0 -21
@@ -1,191 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import type { DOMElement } from "./dom.d.ts";
3
- import type { RenderMetrics } from "./ink/ink.d.ts";
4
- import Ink from "./ink/ink.d.ts";
5
- import type { KittyKeyboardOptions } from "./kitty-keyboard.d.ts";
6
- export type RenderOptions = {
7
- /**
8
- * Render the app in the terminal's alternate screen buffer. When enabled, the app renders on a separate screen, and the original terminal content is restored when the app exits. This is the same mechanism used by programs like vim, htop, and less.
9
- *
10
- * Note: The terminal's scrollback buffer is not available while in the alternate screen. This is standard terminal behavior; programs like vim use the alternate screen specifically to avoid polluting the user's scrollback history.
11
- *
12
- * Note: Ink intentionally treats alternate-screen teardown output as disposable. It does not preserve or replay teardown-time frames, hook writes, or `console.*` output after restoring the primary screen.
13
- *
14
- * Only works in interactive mode. Ignored when `interactive` is `false` or in a non-interactive environment (CI, piped stdout).
15
- *
16
- *Note: Reusing the same stdout across multiple `render()` calls without unmounting is unsupported. Call `unmount()` first if you need to change this option or create a fresh instance.
17
- * @default false
18
- */
19
- alternateScreen?: boolean;
20
- /**
21
- * Enable React Concurrent Rendering mode.
22
- *
23
- * When enabled:
24
- * - Suspense boundaries work correctly with async data
25
- * - `useTransition` and `useDeferredValue` are fully functional
26
- * - Updates can be interrupted for higher priority work
27
- *
28
- *Note: Concurrent mode changes the timing of renders. Some tests may need to use `act()` to properly await updates. Reusing the same stdout across multiple `render()` calls without unmounting is unsupported. Call `unmount()` first if you need to change the rendering mode or create a fresh instance.
29
- * @default false
30
- */
31
- concurrent?: boolean;
32
- /**
33
- * If true, each update will be rendered as separate output, without replacing the previous one.
34
- * @default false
35
- */
36
- debug?: boolean;
37
- /**
38
- * Configure whether Ink should listen for Ctrl+C keyboard input and exit the app. This is needed in case `process.stdin` is in raw mode, because then Ctrl+C is ignored by default and the process is expected to handle it manually.
39
- * @default true
40
- */
41
- exitOnCtrlC?: boolean;
42
- /**
43
- * Enable incremental rendering mode which only updates changed lines instead of redrawing the entire output.
44
- *This can reduce flickering and improve performance for frequently updating UIs.
45
- * @default false
46
- */
47
- incrementalRendering?: boolean;
48
- /**
49
- * Override automatic interactive mode detection.
50
- *
51
- * By default, Ink detects whether the environment is interactive based on CI detection (via [`is-in-ci`](https://github.com/sindresorhus/is-in-ci)) and `stdout.isTTY`. Most users should not need to set this.
52
- *
53
- * When non-interactive, Ink disables ANSI erase sequences, cursor manipulation, synchronized output, resize handling, and kitty keyboard auto-detection, writing only the final frame at unmount.
54
- *
55
- * Set to `false` to force non-interactive mode or `true` to force interactive mode when the automatic detection doesn't suit your use case.
56
- *
57
- *Note: Reusing the same stdout across multiple `render()` calls without unmounting is unsupported. Call `unmount()` first if you need to change this option or create a fresh instance.
58
- * @default true (false if in CI or `stdout.isTTY` is falsy)
59
- */
60
- interactive?: boolean;
61
- /**
62
- * Enable screen reader support. See https://github.com/vadimdemedes/ink/blob/master/readme.md#screen-reader-support
63
- * @default process.env['INK_SCREEN_READER'] === 'true'
64
- */
65
- isScreenReaderEnabled?: boolean;
66
- /**
67
- * Configure kitty keyboard protocol support for enhanced keyboard input.
68
- * Enables additional modifiers (super, hyper, capsLock, numLock) and
69
- *disambiguated key events in terminals that support the protocol.
70
- * @see https://sw.kovidgoyal.net/kitty/keyboard-protocol/
71
- */
72
- kittyKeyboard?: KittyKeyboardOptions;
73
- /**
74
- * Maximum frames per second for render updates.
75
- * This controls how frequently the UI can update to prevent excessive re-rendering.
76
- *Higher values allow more frequent updates but may impact performance.
77
- * @default 30
78
- */
79
- maxFps?: number;
80
- /**
81
- * Runs the given callback after each render and re-render with render metrics.
82
- *
83
- * Note: this callback runs after Ink commits a frame, but it does not wait for `stdout`/`stderr` stream callbacks.
84
- * To run code after output is flushed, use `waitUntilRenderFlush()`.
85
- */
86
- onRender?: (metrics: RenderMetrics) => void;
87
- /**
88
- * Patch console methods to ensure console output doesn't mix with Ink's output.
89
- *
90
- *Note: Once unmount starts, Ink restores the native console before React cleanup runs. Teardown-time `console.*` output then follows the normal console behavior instead of being rerouted through Ink.
91
- * @default true
92
- */
93
- patchConsole?: boolean;
94
- /**
95
- * If true, Ink defers frame output until after React's commit phase completes,
96
- * ensuring `useLayoutEffect` hooks run before the frame is written to the terminal.
97
- *
98
- * This eliminates the one-frame flicker when components measure layout
99
- * (e.g., scroll position, element size) in `useLayoutEffect` and adjust state.
100
- *
101
- * **Warning:** Incompatible with the `<Static>` component, which relies on
102
- * immediate render timing to append output.
103
- * @default false
104
- */
105
- standardReactLayoutTiming?: boolean;
106
- /**
107
- * Error stream.
108
- * @default process.stderr
109
- */
110
- stderr?: NodeJS.WriteStream;
111
- /**
112
- * Input stream where app will listen for input.
113
- * @default process.stdin
114
- */
115
- stdin?: NodeJS.ReadStream;
116
- /**
117
- * Output stream where the app will be rendered.
118
- * @default process.stdout
119
- */
120
- stdout?: NodeJS.WriteStream;
121
- /**
122
- * Use the native Rust cell-diff renderer for terminal output.
123
- * Produces a Uint32Array buffer that the Rust renderer diffs cell-by-cell,
124
- * generating minimal ANSI escape sequences. Reduces GC pressure and
125
- * improves rendering performance for complex UIs.
126
- *
127
- * Falls back to string-based rendering if native bindings are not available.
128
- * @default false
129
- */
130
- useNativeRenderer?: boolean;
131
- };
132
- export type Instance = {
133
- /**
134
- * Unmount the current app and remove the internal Ink instance for this stdout.
135
- *
136
- * This is mostly useful for advanced cases where you need `render()` to create a fresh instance for the same stream without leaving terminal state such as the alternate screen behind.
137
- */
138
- cleanup: () => void;
139
- /**
140
- * Clear output.
141
- */
142
- clear: () => void;
143
- /**
144
- * Replace the previous root node with a new one or update props of the current root node.
145
- */
146
- rerender: Ink["render"];
147
- /**
148
- * The root DOM element of the rendered tree.
149
- * Useful for programmatic DOM inspection and advanced measurement.
150
- */
151
- rootNode: DOMElement;
152
- /**
153
- * Manually unmount the whole Ink app.
154
- */
155
- unmount: Ink["unmount"];
156
- /**
157
- * Returns a promise that settles when the app is unmounted.
158
- *
159
- * It resolves with the value passed to `exit(value)` and rejects with the error passed to `exit(error)`.
160
- *When `unmount()` is called manually, it settles after unmount-related stdout writes complete.
161
- * @example
162
- * ```jsx
163
- * const {unmount, waitUntilExit} = render(<MyApp />);
164
- *
165
- * setTimeout(unmount, 1000);
166
- *
167
- * await waitUntilExit(); // resolves after `unmount()` is called
168
- * ```
169
- */
170
- waitUntilExit: Ink["waitUntilExit"];
171
- /**
172
- * Returns a promise that settles after pending render output is flushed to stdout.
173
- *
174
- *This can be used after `rerender()` when you need to run code only after the frame is written.
175
- * @example
176
- * ```jsx
177
- * const {rerender, waitUntilRenderFlush} = render(<MyApp step="loading" />);
178
- *
179
- * rerender(<MyApp step="ready" />);
180
- * await waitUntilRenderFlush(); // output for "ready" is flushed
181
- *
182
- * runNextCommand();
183
- * ```
184
- */
185
- waitUntilRenderFlush: Ink["waitUntilRenderFlush"];
186
- };
187
- /**
188
- * Mount a component and render the output.
189
- */
190
- declare const render: (node: ReactNode, options?: NodeJS.WriteStream | RenderOptions) => Instance;
191
- export default render;
@@ -1,17 +0,0 @@
1
- import type { DOMElement } from "./dom.d.ts";
2
- import type { CursorPosition } from "./log-update.d.ts";
3
- import type { Selection } from "./selection.d.ts";
4
- type Result = {
5
- cursorPosition: CursorPosition | undefined;
6
- cursorRequested: boolean;
7
- output: string;
8
- outputBuffer?: Uint32Array;
9
- outputHeight: number;
10
- outputWidth?: number;
11
- staticOutput: string;
12
- };
13
- declare const renderer: (node: DOMElement, isScreenReaderEnabled: boolean, options?: {
14
- selection?: Selection;
15
- useNativeRenderer?: boolean;
16
- }) => Result;
17
- export default renderer;
@@ -1,44 +0,0 @@
1
- /**
2
- * ResizeObserver API for terminal UI elements.
3
- *
4
- * Mirrors the browser ResizeObserver API, allowing components to react
5
- * to size changes of DOM elements after layout computation.
6
- *
7
- * Ported from jacob314/ink fork (Google LLC, Apache-2.0).
8
- */
9
- import type { DOMElement } from "./dom.d.ts";
10
- export type ResizeObserverCallback = (entries: ResizeObserverEntry[], observer: ResizeObserver) => void;
11
- export declare class ResizeObserverEntry {
12
- readonly target: DOMElement;
13
- readonly contentRect: Readonly<{
14
- height: number;
15
- width: number;
16
- }>;
17
- constructor(target: DOMElement, contentRect: Readonly<{
18
- height: number;
19
- width: number;
20
- }>);
21
- }
22
- declare class ResizeObserver {
23
- private readonly callback;
24
- private readonly observedElements;
25
- constructor(callback: ResizeObserverCallback);
26
- observe(element: DOMElement): void;
27
- unobserve(element: DOMElement): void;
28
- disconnect(): void;
29
- /**
30
- * Internal method called by the layout engine after computing layout.
31
- */
32
- internalTrigger(entries: ResizeObserverEntry[]): void;
33
- }
34
- /**
35
- * Measure a node and collect resize observer entries for it.
36
- * Used by both the main render loop and static render processing.
37
- */
38
- export declare function measureAndExtractObservers(node: DOMElement, observerEntries: Map<ResizeObserver, ResizeObserverEntry[]>, forceCache?: boolean): void;
39
- /**
40
- * Traverse a node tree, measure all nodes, and trigger resize observers.
41
- * Skips into static/cached subtrees to avoid double-counting.
42
- */
43
- export declare function triggerResizeObservers(node: DOMElement, forceCache?: boolean): void;
44
- export default ResizeObserver;
@@ -1,2 +0,0 @@
1
- declare const sanitizeAnsi: (text: string) => string;
2
- export default sanitizeAnsi;
@@ -1,23 +0,0 @@
1
- import type { DOMElement } from "./dom.d.ts";
2
- export type ScrollState = {
3
- actualScrollHeight: number;
4
- clientHeight: number;
5
- clientWidth: number;
6
- scrollHeight: number;
7
- scrollLeft: number;
8
- scrollTop: number;
9
- scrollWidth: number;
10
- };
11
- export declare const getScrollHeight: (node: DOMElement) => number;
12
- export declare const getScrollWidth: (node: DOMElement) => number;
13
- export declare const calculateScroll: (node: DOMElement) => void;
14
- /**
15
- * Get the effective scroll top position from the pre-computed scroll state.
16
- * Falls back to computing from style if scroll state hasn't been calculated yet.
17
- */
18
- export declare const getScrollTop: (node: DOMElement) => number;
19
- /**
20
- * Get the effective scroll left position from the pre-computed scroll state.
21
- * Falls back to computing from style if scroll state hasn't been calculated yet.
22
- */
23
- export declare const getScrollLeft: (node: DOMElement) => number;
@@ -1,70 +0,0 @@
1
- /**
2
- * DOM-like Selection and Range API for terminal text selection.
3
- *
4
- * Provides browser-like Selection/Range classes that operate on the Ink DOM tree,
5
- * enabling text selection highlighting and copy-to-clipboard functionality.
6
- *
7
- * Ported from jacob314/ink fork (Google LLC, Apache-2.0).
8
- */
9
- import type { DOMNode } from "./dom.d.ts";
10
- import type { StyledLine } from "./styled-line.d.ts";
11
- /**
12
- * Compare the document position of two points in the DOM tree.
13
- * Returns -1 if A is before B, 0 if equal, 1 if A is after B.
14
- */
15
- export declare const comparePoints: (nodeA: DOMNode, offsetA: number, nodeB: DOMNode, offsetB: number) => number;
16
- /**
17
- * A Range represents a contiguous portion of the DOM tree.
18
- * Modeled after the browser's Range API.
19
- */
20
- export declare class Range {
21
- startContainer: DOMNode | undefined;
22
- startOffset: number;
23
- endContainer: DOMNode | undefined;
24
- endOffset: number;
25
- collapsed: boolean;
26
- commonAncestorContainer: DOMNode | undefined;
27
- setStart(node: DOMNode, offset: number): void;
28
- setEnd(node: DOMNode, offset: number): void;
29
- collapse(toStart: boolean): void;
30
- selectNode(node: DOMNode): void;
31
- selectNodeContents(node: DOMNode): void;
32
- toString(): string;
33
- private updateCollapsed;
34
- private updateCommonAncestor;
35
- }
36
- /**
37
- * Manages multiple Range objects and provides high-level selection operations.
38
- * Modeled after the browser's Selection API.
39
- */
40
- export declare class Selection {
41
- anchorNode: DOMNode | undefined;
42
- anchorOffset: number;
43
- focusNode: DOMNode | undefined;
44
- focusOffset: number;
45
- isCollapsed: boolean;
46
- rangeCount: number;
47
- private ranges;
48
- private readonly listeners;
49
- onChange(listener: () => void): () => void;
50
- toString(): string;
51
- getRangeAt(index: number): Range;
52
- addRange(range: Range): void;
53
- removeRange(range: Range): void;
54
- removeAllRanges(): void;
55
- collapse(node: DOMNode, offset: number): void;
56
- containsNode(node: DOMNode, allowPartialContainment?: boolean): boolean;
57
- private clearState;
58
- private notifyChange;
59
- }
60
- /**
61
- * Apply selection highlighting to a range of characters in a StyledLine.
62
- *
63
- * Characters whose index falls within [start, end) of the selection range
64
- * get the INVERSE style flag applied. Returns a new StyledLine with the
65
- * selection highlighting — the original is not mutated.
66
- */
67
- export declare const applySelectionToStyledLine: (line: StyledLine, range: {
68
- end: number;
69
- start: number;
70
- }) => StyledLine;
@@ -1,18 +0,0 @@
1
- import type { DOMElement, DOMNode } from "./dom.d.ts";
2
- export type CharOffsetRange = {
3
- end: number;
4
- start: number;
5
- };
6
- export type CharOffsetMap = Map<DOMNode, CharOffsetRange>;
7
- declare const squashTextNodes: (node: DOMElement) => string;
8
- export default squashTextNodes;
9
- /**
10
- * Squash text nodes while building a character offset map.
11
- * Each DOM node is mapped to its start/end character offsets in the resulting string.
12
- * Used for selection text extraction and cursor position calculation.
13
- *
14
- * Ported from jacob314/ink fork (Google LLC, Apache-2.0).
15
- */
16
- export declare const squashTextNodesWithMap: (node: DOMElement, map: CharOffsetMap, offsetRef: {
17
- current: number;
18
- }) => string;
@@ -1,17 +0,0 @@
1
- /**
2
- * Bitmask constants for text formatting flags used by StyledLine.
3
- *
4
- * These map 1:1 to SGR (Select Graphic Rendition) attributes and are stored
5
- * in the `formatFlags` field of StyleSpan objects. The FULL_WIDTH_MASK is
6
- * also used in StyledLine.charData entries (bit 30 / 0x40000000 of number[]).
7
- *
8
- * Ported from jacob314/ink (Google LLC, Apache-2.0).
9
- */
10
- export declare const BOLD_MASK: number;
11
- export declare const DIM_MASK: number;
12
- export declare const ITALIC_MASK: number;
13
- export declare const UNDERLINE_MASK: number;
14
- export declare const STRIKETHROUGH_MASK: number;
15
- export declare const INVERSE_MASK: number;
16
- export declare const HIDDEN_MASK: number;
17
- export declare const FULL_WIDTH_MASK: number;
@@ -1,25 +0,0 @@
1
- /**
2
- * Direct text → StyledLine pipeline.
3
- *
4
- * Converts ANSI-styled text to StyledLine without the intermediate StyledChar
5
- * representation, eliminating the `@alcalzone/ansi-tokenize` dependency.
6
- *
7
- * The pipeline:
8
- * 1. tokenizeAnsi() — splits text into ANSI tokens and plain text
9
- * 2. SGR state machine — tracks active formatting from CSI SGR sequences
10
- * 3. Grapheme segmenter — handles combining chars, emoji, regional indicators
11
- * 4. StyledLine.pushChar() — appends each grapheme with its resolved style
12
- */
13
- import { StyledLine } from "./styled-line.d.ts";
14
- /**
15
- * Convert an ANSI-styled text string directly to a StyledLine.
16
- *
17
- * This is the zero-dependency replacement for the chain:
18
- * tokenize() → styledCharsFromTokens() → styledCharsToStyledLine().
19
- */
20
- export declare const textToStyledLine: (text: string) => StyledLine;
21
- /**
22
- * Build a StyledLine from plain text (no ANSI codes).
23
- * Uses a fast ASCII path when possible.
24
- */
25
- export declare const plainTextToStyledLine: (text: string) => StyledLine;
@@ -1,18 +0,0 @@
1
- /**
2
- * Serializes a StyledLine to an ANSI-escaped terminal string.
3
- *
4
- * Emits only diff-based escape codes — a style code is written only when
5
- * the formatting changes between adjacent characters. Resets all active
6
- * styles at the end of the string.
7
- *
8
- * Ported from jacob314/ink (Google LLC, Apache-2.0).
9
- * @license Apache-2.0
10
- */
11
- import type { StyledLine } from "./styled-line.d.ts";
12
- /**
13
- * Convert a StyledLine to an ANSI-escaped string.
14
- *
15
- * Only emits escape codes when the style changes between characters.
16
- * This produces minimal ANSI output.
17
- */
18
- export declare const styledLineToString: (line: StyledLine) => string;
@@ -1,109 +0,0 @@
1
- /**
2
- * Columnar data structure for a single line of styled terminal text.
3
- *
4
- * Instead of one heap-allocated object per visible character, StyledLine stores:
5
- *
6
- * - `text: string` — concatenated raw character values
7
- * - `charData: number[]` — per-character: 30-bit offset into text | 1-bit full-width flag
8
- * - `spans: StyleSpan[]` — run-length encoded style information
9
- *
10
- * For an 80-column line this reduces allocations from ~80 objects to
11
- * 1 string + 1 array + typically 1-5 span objects.
12
- *
13
- * Ported from jacob314/ink (Google LLC, Apache-2.0).
14
- * @license Apache-2.0
15
- * Copyright 2026 Google LLC
16
- * SPDX-License-Identifier: Apache-2.0
17
- */
18
- export type StyleSpan = {
19
- bgColor?: string;
20
- fgColor?: string;
21
- formatFlags: number;
22
- length: number;
23
- link?: string;
24
- };
25
- export declare class StyledLine {
26
- [Symbol.iterator]: () => Iterator<{
27
- bgColor?: string;
28
- fgColor?: string;
29
- formatFlags: number;
30
- fullWidth: boolean;
31
- hasStyles: boolean;
32
- link?: string;
33
- value: string;
34
- }>;
35
- length: number;
36
- private static readonly emptyCache;
37
- private text;
38
- private charData;
39
- private spans;
40
- private _cachedTrimmedLength?;
41
- static empty(length: number): StyledLine;
42
- getValue(index: number): string;
43
- /**
44
- * Get the raw text for a range of characters as a single string slice.
45
- * Much faster than calling getValue() per character.
46
- */
47
- getTextRange(start: number, end: number): string;
48
- getSpan(index: number): StyleSpan | undefined;
49
- getFullWidth(index: number): boolean;
50
- hasStyles(index: number): boolean;
51
- getFormatFlags(index: number): number;
52
- getFgColor(index: number): string | undefined;
53
- getBgColor(index: number): string | undefined;
54
- getLink(index: number): string | undefined;
55
- setInverted(index: number, inverted: boolean): void;
56
- setBackgroundColor(index: number, color: string | undefined): void;
57
- setForegroundColor(index: number, color: string | undefined): void;
58
- setChar(index: number, value: string, formatFlags: number, fgColor?: string, bgColor?: string, link?: string): void;
59
- /**
60
- * Optimized setChar for same-length single-byte replacement.
61
- * Skips string rebuild and offset adjustment when old and new values
62
- * have the same byte length (the common case for ASCII overwrites on empty lines).
63
- */
64
- setCharFast(index: number, value: string, formatFlags: number, fgColor?: string, bgColor?: string, link?: string): void;
65
- /**
66
- * Overwrite a range of this line with content from a source StyledLine.
67
- * More efficient than calling setChar() per character because it does
68
- * a single span split + rebuild instead of per-character span manipulation.
69
- * @param destinationStart — start index in this line
70
- * @param source — the StyledLine to copy from
71
- * @param srcStart — start index in source (default 0)
72
- * @param count — number of characters to copy (default: source.length)
73
- */
74
- writeFrom(destinationStart: number, source: StyledLine, srcStart?: number, count?: number): void;
75
- pushChar(value: string, formatFlags: number, fgColor?: string, bgColor?: string, link?: string): void;
76
- clone(): StyledLine;
77
- slice(start: number, end?: number): StyledLine;
78
- combine(...others: StyledLine[]): StyledLine;
79
- getTrimmedLength(): number;
80
- trimEnd(): StyledLine;
81
- equals(other: StyledLine): boolean;
82
- getText(): string;
83
- getSpans(): StyleSpan[];
84
- getValues(): string[];
85
- [Symbol.iterator](): Iterator<{
86
- bgColor?: string;
87
- fgColor?: string;
88
- formatFlags: number;
89
- fullWidth: boolean;
90
- hasStyles: boolean;
91
- link?: string;
92
- value: string;
93
- }>;
94
- /**
95
- * Split the span at `index` into a single-char span, apply the updater,
96
- * then merge adjacent spans. Shared by setInverted/setBackgroundColor/setForegroundColor.
97
- */
98
- private updateSpanAt;
99
- /**
100
- * Grow the line to at least `minWidth` columns, filling new cells with
101
- * empty strings (zero-width placeholders). This matches the behavior of
102
- * sparse JS arrays in the original ink Output where out-of-bounds writes
103
- * created gaps that produced no visible output.
104
- */
105
- ensureWidth(minWidth: number): void;
106
- private ensureInitialized;
107
- private splitSpansAt;
108
- private mergeSpans;
109
- }