@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,144 +1,283 @@
1
- import type { ReactElement } from "react";
2
- import type { RenderOptions } from "../ink/render.d.ts";
3
- import type { KeySender } from "./keys.d.ts";
4
- import { createKeySender, KEY } from "./keys.d.ts";
5
- import type { Screen } from "./screen.d.ts";
6
- import { createScreen } from "./screen.d.ts";
7
- import type { WaitForOptions } from "./wait-for.d.ts";
8
- import { waitFor } from "./wait-for.d.ts";
9
- export type TestInstanceStdout = {
10
- /**
11
- * All rendered frames captured from stdout.
12
- */
13
- readonly frames: ReadonlyArray<string>;
14
- /**
15
- * Returns the most recently rendered frame, or `undefined` if no frames have been written.
16
- */
17
- lastFrame: () => string | undefined;
18
- /**
19
- * Write data to the mock stdout stream (used internally by the renderer).
20
- */
21
- write: (frame: string) => boolean;
1
+ import { ReactElement } from 'react';
2
+ import { R as RenderOptions } from "../packem_shared/render.d-BR3gA-N8.js";
3
+ import 'yoga-layout';
4
+ import '@visulima/colorize';
5
+ import 'type-fest';
6
+ import 'node:stream';
7
+ declare const KEY: {
8
+ readonly backspace: "";
9
+ readonly ctrlC: "";
10
+ readonly delete: "\x1B[3~";
11
+ readonly down: "\x1B[B";
12
+ readonly end: "\x1B[F";
13
+ readonly escape: "\x1B";
14
+ readonly home: "\x1B[H";
15
+ readonly left: "\x1B[D";
16
+ readonly pageDown: "\x1B[6~";
17
+ readonly pageUp: "\x1B[5~";
18
+ readonly return: "\r";
19
+ readonly right: "\x1B[C";
20
+ readonly space: " ";
21
+ readonly tab: " ";
22
+ readonly up: "\x1B[A";
22
23
  };
23
- export type TestInstanceStderr = {
24
- /**
25
- * All rendered frames captured from stderr.
26
- */
27
- readonly frames: ReadonlyArray<string>;
28
- /**
29
- * Returns the most recently rendered frame, or `undefined` if no frames have been written.
30
- */
31
- lastFrame: () => string | undefined;
32
- /**
33
- * Write data to the mock stderr stream (used internally by the renderer).
34
- */
35
- write: (frame: string) => boolean;
24
+ type KeyName = keyof typeof KEY;
25
+ interface KeySender {
26
+ /**
27
+ * Simulate pressing the backspace key.
28
+ */
29
+ backspace: () => void;
30
+ /**
31
+ * Simulate pressing the delete key.
32
+ */
33
+ delete: () => void;
34
+ /**
35
+ * Simulate pressing the down arrow key.
36
+ */
37
+ down: () => void;
38
+ /**
39
+ * Simulate pressing the end key.
40
+ */
41
+ end: () => void;
42
+ /**
43
+ * Simulate pressing the enter/return key.
44
+ */
45
+ enter: () => void;
46
+ /**
47
+ * Simulate pressing the escape key.
48
+ */
49
+ escape: () => void;
50
+ /**
51
+ * Simulate pressing the home key.
52
+ */
53
+ home: () => void;
54
+ /**
55
+ * Simulate pressing the left arrow key.
56
+ */
57
+ left: () => void;
58
+ /**
59
+ * Simulate pressing the page down key.
60
+ */
61
+ pageDown: () => void;
62
+ /**
63
+ * Simulate pressing the page up key.
64
+ */
65
+ pageUp: () => void;
66
+ /**
67
+ * Send a single character as a key press.
68
+ */
69
+ press: (char: string) => void;
70
+ /**
71
+ * Send arbitrary raw data to stdin.
72
+ */
73
+ raw: (data: string) => void;
74
+ /**
75
+ * Simulate pressing the right arrow key.
76
+ */
77
+ right: () => void;
78
+ /**
79
+ * Simulate pressing the space key.
80
+ */
81
+ space: () => void;
82
+ /**
83
+ * Simulate pressing the tab key.
84
+ */
85
+ tab: () => void;
86
+ /**
87
+ * Type a string character by character.
88
+ */
89
+ type: (text: string) => void;
90
+ /**
91
+ * Simulate pressing the up arrow key.
92
+ */
93
+ up: () => void;
94
+ }
95
+ declare const createKeySender: (write: (data: string) => void) => KeySender;
96
+ interface Screen {
97
+ /**
98
+ * Check if the current screen output contains the given text (ANSI-stripped).
99
+ */
100
+ contains: (text: string) => boolean;
101
+ /**
102
+ * Get all captured frames with ANSI codes stripped.
103
+ */
104
+ frames: () => string[];
105
+ /**
106
+ * Get a specific line by zero-based index from the current screen output.
107
+ */
108
+ line: (n: number) => string;
109
+ /**
110
+ * Get all non-empty lines from the current screen output.
111
+ */
112
+ lines: () => string[];
113
+ /**
114
+ * Check if the current screen output matches the given pattern (ANSI-stripped).
115
+ */
116
+ matches: (pattern: RegExp) => boolean;
117
+ /**
118
+ * Get all captured frames with ANSI codes preserved.
119
+ */
120
+ rawFrames: () => string[];
121
+ /**
122
+ * Get the last rendered frame with ANSI codes preserved.
123
+ */
124
+ rawText: () => string;
125
+ /**
126
+ * Get the last rendered frame with ANSI codes stripped.
127
+ */
128
+ text: () => string;
129
+ }
130
+ declare const createScreen: (lastFrame: () => string | undefined, allFrames: ReadonlyArray<string>) => Screen;
131
+ interface WaitForOptions {
132
+ /**
133
+ * Polling interval in milliseconds.
134
+ * @default 50
135
+ */
136
+ interval?: number;
137
+ /**
138
+ * Maximum time to wait in milliseconds before throwing.
139
+ * @default 3000
140
+ */
141
+ timeout?: number;
142
+ }
143
+ /**
144
+ * Wait for a condition to be met by polling at a regular interval.
145
+ *
146
+ * If `condition` is a string, waits until `screenText()` contains it.
147
+ * If `condition` is a function, waits until it stops throwing.
148
+ * @throws The last error encountered if the timeout is reached.
149
+ */
150
+ declare const waitFor: (condition: (() => void) | string, screenText: () => string, options?: WaitForOptions) => Promise<void>;
151
+ type TestInstanceStdout = {
152
+ /**
153
+ * All rendered frames captured from stdout.
154
+ */
155
+ readonly frames: ReadonlyArray<string>;
156
+ /**
157
+ * Returns the most recently rendered frame, or `undefined` if no frames have been written.
158
+ */
159
+ lastFrame: () => string | undefined;
160
+ /**
161
+ * Write data to the mock stdout stream (used internally by the renderer).
162
+ */
163
+ write: (frame: string) => boolean;
164
+ };
165
+ type TestInstanceStderr = {
166
+ /**
167
+ * All rendered frames captured from stderr.
168
+ */
169
+ readonly frames: ReadonlyArray<string>;
170
+ /**
171
+ * Returns the most recently rendered frame, or `undefined` if no frames have been written.
172
+ */
173
+ lastFrame: () => string | undefined;
174
+ /**
175
+ * Write data to the mock stderr stream (used internally by the renderer).
176
+ */
177
+ write: (frame: string) => boolean;
36
178
  };
37
- export type TestInstanceStdin = {
38
- /**
39
- * Whether the stdin is a TTY.
40
- */
41
- readonly isTTY: boolean;
42
- /**
43
- * Simulate user input by writing data to stdin.
44
- */
45
- write: (data: string) => boolean;
179
+ type TestInstanceStdin = {
180
+ /**
181
+ * Whether the stdin is a TTY.
182
+ */
183
+ readonly isTTY: boolean;
184
+ /**
185
+ * Simulate user input by writing data to stdin.
186
+ */
187
+ write: (data: string) => boolean;
46
188
  };
47
- export type TestInstance = {
48
- /**
49
- * Unmount the app and clean up resources.
50
- */
51
- cleanup: () => void;
52
- /**
53
- * Wait for pending React renders to flush (two microtick delay).
54
- */
55
- flush: () => Promise<void>;
56
- /**
57
- * All rendered frames captured from stdout (shorthand for `stdout.frames`).
58
- */
59
- readonly frames: ReadonlyArray<string>;
60
- /**
61
- * Keyboard input helpers for simulating key presses.
62
- */
63
- keys: KeySender;
64
- /**
65
- * Returns the most recently rendered frame from stdout (shorthand for `stdout.lastFrame()`).
66
- */
67
- lastFrame: () => string | undefined;
68
- /**
69
- * Replace the previous root node with a new one or update props.
70
- */
71
- rerender: (node: ReactElement) => void;
72
- /**
73
- * Screen query helpers for inspecting rendered output with ANSI stripping.
74
- */
75
- screen: Screen;
76
- /**
77
- * Mock stderr stream with frame capture.
78
- */
79
- stderr: TestInstanceStderr;
80
- /**
81
- * Mock stdin stream for simulating user input.
82
- */
83
- stdin: TestInstanceStdin;
84
- /**
85
- * Mock stdout stream with frame capture.
86
- */
87
- stdout: TestInstanceStdout;
88
- /**
89
- * Manually unmount the whole app.
90
- */
91
- unmount: () => void;
92
- /**
93
- * Wait for a condition to be met by polling.
94
- *
95
- * If `condition` is a string, waits until the screen contains it.
96
- * If `condition` is a function, waits until it stops throwing.
97
- */
98
- waitFor: (condition: (() => void) | string, options?: WaitForOptions) => Promise<void>;
189
+ type TestInstance = {
190
+ /**
191
+ * Unmount the app and clean up resources.
192
+ */
193
+ cleanup: () => void;
194
+ /**
195
+ * Wait for pending React renders to flush (two microtick delay).
196
+ */
197
+ flush: () => Promise<void>;
198
+ /**
199
+ * All rendered frames captured from stdout (shorthand for `stdout.frames`).
200
+ */
201
+ readonly frames: ReadonlyArray<string>;
202
+ /**
203
+ * Keyboard input helpers for simulating key presses.
204
+ */
205
+ keys: KeySender;
206
+ /**
207
+ * Returns the most recently rendered frame from stdout (shorthand for `stdout.lastFrame()`).
208
+ */
209
+ lastFrame: () => string | undefined;
210
+ /**
211
+ * Replace the previous root node with a new one or update props.
212
+ */
213
+ rerender: (node: ReactElement) => void;
214
+ /**
215
+ * Screen query helpers for inspecting rendered output with ANSI stripping.
216
+ */
217
+ screen: Screen;
218
+ /**
219
+ * Mock stderr stream with frame capture.
220
+ */
221
+ stderr: TestInstanceStderr;
222
+ /**
223
+ * Mock stdin stream for simulating user input.
224
+ */
225
+ stdin: TestInstanceStdin;
226
+ /**
227
+ * Mock stdout stream with frame capture.
228
+ */
229
+ stdout: TestInstanceStdout;
230
+ /**
231
+ * Manually unmount the whole app.
232
+ */
233
+ unmount: () => void;
234
+ /**
235
+ * Wait for a condition to be met by polling.
236
+ *
237
+ * If `condition` is a string, waits until the screen contains it.
238
+ * If `condition` is a function, waits until it stops throwing.
239
+ */
240
+ waitFor: (condition: (() => void) | string, options?: WaitForOptions) => Promise<void>;
99
241
  };
100
- export type TestRenderOptions = {
101
- /**
102
- * Terminal column width for the mock stdout/stderr streams.
103
- * @default 100
104
- */
105
- columns?: number;
106
- /**
107
- * Additional render options passed through to the underlying render function.
108
- */
109
- options?: Omit<RenderOptions, "debug" | "exitOnCtrlC" | "patchConsole" | "stderr" | "stdin" | "stdout">;
242
+ type TestRenderOptions = {
243
+ /**
244
+ * Terminal column width for the mock stdout/stderr streams.
245
+ * @default 100
246
+ */
247
+ columns?: number;
248
+ /**
249
+ * Additional render options passed through to the underlying render function.
250
+ */
251
+ options?: Omit<RenderOptions, "debug" | "exitOnCtrlC" | "patchConsole" | "stderr" | "stdin" | "stdout">;
110
252
  };
111
253
  /**
112
- * Render a React element for testing, capturing output in mock streams.
113
- *
114
- * Returns an object with methods to inspect rendered output, simulate input,
115
- * and control the component lifecycle.
116
- * @example
117
- * ```tsx
118
- * import { render } from "@visulima/tui/test";
119
- * import { Text } from "@visulima/tui";
120
- *
121
- * const { lastFrame } = render(<Text>Hello</Text>);
122
- * console.log(lastFrame()); // "Hello"
123
- * ```
124
- */
254
+ * Render a React element for testing, capturing output in mock streams.
255
+ *
256
+ * Returns an object with methods to inspect rendered output, simulate input,
257
+ * and control the component lifecycle.
258
+ * @example
259
+ * ```tsx
260
+ * import { render } from "@visulima/tui/test";
261
+ * import { Text } from "@visulima/tui";
262
+ *
263
+ * const { lastFrame } = render(<Text>Hello</Text>);
264
+ * console.log(lastFrame()); // "Hello"
265
+ * ```
266
+ */
125
267
  declare const testRender: (node: ReactElement, testOptions?: TestRenderOptions) => TestInstance;
126
268
  /**
127
- * Unmount and clean up all rendered test instances.
128
- *
129
- * Call this in your test teardown (e.g., `afterEach`) to ensure
130
- * no test instances leak between tests.
131
- * @example
132
- * ```ts
133
- * import { cleanup } from "@visulima/tui/test";
134
- *
135
- * afterEach(() => {
136
- * cleanup();
137
- * });
138
- * ```
139
- */
269
+ * Unmount and clean up all rendered test instances.
270
+ *
271
+ * Call this in your test teardown (e.g., `afterEach`) to ensure
272
+ * no test instances leak between tests.
273
+ * @example
274
+ * ```ts
275
+ * import { cleanup } from "@visulima/tui/test";
276
+ *
277
+ * afterEach(() => {
278
+ * cleanup();
279
+ * });
280
+ * ```
281
+ */
140
282
  declare const cleanup: () => void;
141
- export { cleanup, createKeySender, createScreen, KEY, testRender as render, waitFor };
142
- export type { KeyName, KeySender } from "./keys.d.ts";
143
- export type { Screen } from "./screen.d.ts";
144
- export type { WaitForOptions } from "./wait-for.d.ts";
283
+ export { KEY, type KeyName, type KeySender, type Screen, TestInstance, TestInstanceStderr, TestInstanceStdin, TestInstanceStdout, TestRenderOptions, type WaitForOptions, cleanup, createKeySender, createScreen, testRender as render, waitFor };
@@ -1,260 +1 @@
1
- import { createRequire as __cjs_createRequire } from "node:module";
2
-
3
- const __cjs_require = __cjs_createRequire(import.meta.url);
4
-
5
- const __cjs_getProcess = typeof globalThis !== "undefined" && typeof globalThis.process !== "undefined" ? globalThis.process : process;
6
-
7
- const __cjs_getBuiltinModule = (module) => {
8
- // Check if we're in Node.js and version supports getBuiltinModule
9
- if (typeof __cjs_getProcess !== "undefined" && __cjs_getProcess.versions && __cjs_getProcess.versions.node) {
10
- const [major, minor] = __cjs_getProcess.versions.node.split(".").map(Number);
11
- // Node.js 20.16.0+ and 22.3.0+
12
- if (major > 22 || (major === 22 && minor >= 3) || (major === 20 && minor >= 16)) {
13
- return __cjs_getProcess.getBuiltinModule(module);
14
- }
15
- }
16
- // Fallback to createRequire
17
- return __cjs_require(module);
18
- };
19
-
20
- const EventEmitter = __cjs_getBuiltinModule("node:events");
21
- import render from '../packem_shared/render-BAwdjfki.js';
22
- import { strip } from '@visulima/ansi';
23
-
24
- const KEY = {
25
- backspace: "",
26
- ctrlC: "",
27
- delete: "\x1B[3~",
28
- down: "\x1B[B",
29
- end: "\x1B[F",
30
- escape: "\x1B",
31
- home: "\x1B[H",
32
- left: "\x1B[D",
33
- pageDown: "\x1B[6~",
34
- pageUp: "\x1B[5~",
35
- return: "\r",
36
- right: "\x1B[C",
37
- space: " ",
38
- tab: " ",
39
- up: "\x1B[A"
40
- };
41
- const createKeySender = (write) => ({
42
- backspace: () => write(KEY.backspace),
43
- delete: () => write(KEY.delete),
44
- down: () => write(KEY.down),
45
- end: () => write(KEY.end),
46
- enter: () => write(KEY.return),
47
- escape: () => write(KEY.escape),
48
- home: () => write(KEY.home),
49
- left: () => write(KEY.left),
50
- pageDown: () => write(KEY.pageDown),
51
- pageUp: () => write(KEY.pageUp),
52
- press(char) {
53
- write(char);
54
- },
55
- raw: write,
56
- right: () => write(KEY.right),
57
- space: () => write(KEY.space),
58
- tab: () => write(KEY.tab),
59
- type(text) {
60
- for (const char of text) {
61
- write(char);
62
- }
63
- },
64
- up: () => write(KEY.up)
65
- });
66
-
67
- const createScreen = (lastFrame, allFrames) => {
68
- const clean = (s) => s ? strip(s) : "";
69
- return {
70
- contains(text) {
71
- return this.text().includes(text);
72
- },
73
- frames() {
74
- return allFrames.map((f) => strip(f));
75
- },
76
- line(n) {
77
- return this.text().split("\n")[n] ?? "";
78
- },
79
- lines() {
80
- return this.text().split("\n").filter((l) => l.trim() !== "");
81
- },
82
- matches(pattern) {
83
- return pattern.test(this.text());
84
- },
85
- rawFrames() {
86
- return [...allFrames];
87
- },
88
- rawText() {
89
- return lastFrame() ?? "";
90
- },
91
- text() {
92
- return clean(lastFrame());
93
- }
94
- };
95
- };
96
-
97
- const waitFor = async (condition, screenText, options = {}) => {
98
- const timeout = options.timeout ?? 3e3;
99
- const interval = options.interval ?? 50;
100
- const start = Date.now();
101
- let lastError;
102
- const check = () => {
103
- if (typeof condition === "string") {
104
- const current = screenText();
105
- if (!current.includes(condition)) {
106
- throw new Error(`Timed out waiting for text: "${condition}"
107
-
108
- Screen content:
109
- ${current}`);
110
- }
111
- } else {
112
- condition();
113
- }
114
- };
115
- while (Date.now() - start < timeout) {
116
- try {
117
- check();
118
- return;
119
- } catch (error) {
120
- lastError = error;
121
- }
122
- await new Promise((resolve) => {
123
- setTimeout(resolve, interval);
124
- });
125
- }
126
- try {
127
- check();
128
- return;
129
- } catch (error) {
130
- lastError = error;
131
- }
132
- throw lastError ?? new Error("waitFor timed out");
133
- };
134
-
135
- class Stdout extends EventEmitter {
136
- columns;
137
- _lastFrame;
138
- _frames = [];
139
- constructor(columns = 100) {
140
- super();
141
- this.columns = columns;
142
- }
143
- get frames() {
144
- return this._frames;
145
- }
146
- lastFrame() {
147
- return this._lastFrame;
148
- }
149
- write = (frame) => {
150
- this._frames.push(frame);
151
- this._lastFrame = frame;
152
- return true;
153
- };
154
- }
155
- class Stderr extends EventEmitter {
156
- columns;
157
- _lastFrame;
158
- _frames = [];
159
- constructor(columns = 100) {
160
- super();
161
- this.columns = columns;
162
- }
163
- get frames() {
164
- return this._frames;
165
- }
166
- lastFrame() {
167
- return this._lastFrame;
168
- }
169
- write = (frame) => {
170
- this._frames.push(frame);
171
- this._lastFrame = frame;
172
- return true;
173
- };
174
- }
175
- class Stdin extends EventEmitter {
176
- isTTY = true;
177
- pendingData;
178
- write = (data) => {
179
- this.pendingData = data;
180
- this.emit("readable");
181
- this.emit("data", data);
182
- return true;
183
- };
184
- read() {
185
- const { pendingData } = this;
186
- this.pendingData = void 0;
187
- return pendingData;
188
- }
189
- setEncoding() {
190
- return this;
191
- }
192
- setRawMode() {
193
- return this;
194
- }
195
- resume() {
196
- return this;
197
- }
198
- pause() {
199
- return this;
200
- }
201
- ref() {
202
- return this;
203
- }
204
- unref() {
205
- return this;
206
- }
207
- }
208
- const instances = [];
209
- const testRender = (node, testOptions = {}) => {
210
- const { columns, options: renderOptions } = testOptions;
211
- const stdout = new Stdout(columns);
212
- const stderr = new Stderr(columns);
213
- const stdin = new Stdin();
214
- const instance = render(node, {
215
- debug: true,
216
- exitOnCtrlC: false,
217
- patchConsole: false,
218
- stderr,
219
- stdin,
220
- stdout,
221
- ...renderOptions
222
- });
223
- instances.push(instance);
224
- const screen = createScreen(() => stdout.lastFrame(), stdout.frames);
225
- const keys = createKeySender((data) => stdin.write(data));
226
- const flush = async () => {
227
- await new Promise((resolve) => {
228
- setTimeout(resolve, 0);
229
- });
230
- await new Promise((resolve) => {
231
- setTimeout(resolve, 0);
232
- });
233
- };
234
- return {
235
- cleanup: instance.cleanup,
236
- flush,
237
- get frames() {
238
- return stdout.frames;
239
- },
240
- keys,
241
- lastFrame: () => stdout.lastFrame(),
242
- rerender: instance.rerender,
243
- screen,
244
- stderr,
245
- stdin,
246
- stdout,
247
- unmount: instance.unmount,
248
- async waitFor(condition, options) {
249
- await waitFor(condition, () => screen.text(), options);
250
- }
251
- };
252
- };
253
- const cleanup = () => {
254
- for (const instance of instances) {
255
- instance.cleanup();
256
- }
257
- instances.length = 0;
258
- };
259
-
260
- export { KEY, cleanup, createKeySender, createScreen, testRender as render, waitFor };
1
+ var w=Object.defineProperty;var a=(t,e)=>w(t,"name",{value:e,configurable:!0});import{createRequire as F}from"node:module";import x from"../packem_shared/render-_r0K9K11.js";import{createKeySender as y}from"../packem_shared/KEY-Bk8B-3h_.js";import{KEY as $}from"../packem_shared/KEY-Bk8B-3h_.js";import{createScreen as T}from"../packem_shared/createScreen-CrLrxA6t.js";import{waitFor as j}from"../packem_shared/waitFor-Dj5zfL5s.js";const b=F(import.meta.url),o=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,v=a(t=>{if(typeof o<"u"&&o.versions&&o.versions.node){const[e,i]=o.versions.node.split(".").map(Number);if(e>22||e===22&&i>=3||e===20&&i>=16)return o.getBuiltinModule(t)}return b(t)},"__cjs_getBuiltinModule"),l=v("node:events");var R=Object.defineProperty,r=a((t,e)=>R(t,"name",{value:e,configurable:!0}),"t");class S extends l{static{a(this,"v")}static{r(this,"Stdout")}columns;_lastFrame;_frames=[];constructor(e=100){super(),this.columns=e}get frames(){return this._frames}lastFrame(){return this._lastFrame}write=r(e=>(this._frames.push(e),this._lastFrame=e,!0),"write")}class D extends l{static{a(this,"x")}static{r(this,"Stderr")}columns;_lastFrame;_frames=[];constructor(e=100){super(),this.columns=e}get frames(){return this._frames}lastFrame(){return this._lastFrame}write=r(e=>(this._frames.push(e),this._lastFrame=e,!0),"write")}class P extends l{static{a(this,"R")}static{r(this,"Stdin")}isTTY=!0;pendingData;write=r(e=>(this.pendingData=e,this.emit("readable"),this.emit("data",e),!0),"write");read(){const{pendingData:e}=this;return this.pendingData=void 0,e}setEncoding(){return this}setRawMode(){return this}resume(){return this}pause(){return this}ref(){return this}unref(){return this}}const c=[],O=r((t,e={})=>{const{columns:i,options:p}=e,n=new S(i),d=new D(i),m=new P,u=x(t,{debug:!0,exitOnCtrlC:!1,patchConsole:!1,stderr:d,stdin:m,stdout:n,...p});c.push(u);const f=T(()=>n.lastFrame(),n.frames),h=y(s=>m.write(s)),_=r(async()=>{await new Promise(s=>{setTimeout(s,0)}),await new Promise(s=>{setTimeout(s,0)})},"flush");return{cleanup:u.cleanup,flush:_,get frames(){return n.frames},keys:h,lastFrame:r(()=>n.lastFrame(),"lastFrame"),rerender:u.rerender,screen:f,stderr:d,stdin:m,stdout:n,unmount:u.unmount,async waitFor(s,g){await j(s,()=>f.text(),g)}}},"testRender"),Y=r(()=>{for(const t of c)t.cleanup();c.length=0},"cleanup");export{$ as KEY,Y as cleanup,y as createKeySender,T as createScreen,O as render,j as waitFor};