@visulima/tui 1.0.0-alpha.9 → 1.0.1

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 (549) hide show
  1. package/CHANGELOG.md +650 -0
  2. package/LICENSE.md +2414 -187
  3. package/README.md +49 -4
  4. package/dist/components/accordion.d.ts +59 -0
  5. package/dist/components/accordion.js +1 -0
  6. package/dist/components/alert.d.ts +26 -0
  7. package/dist/components/alert.js +1 -0
  8. package/dist/components/animate-presence.d.ts +18 -0
  9. package/dist/components/animate-presence.js +1 -0
  10. package/dist/components/approval-prompt.d.ts +65 -0
  11. package/dist/components/approval-prompt.js +1 -0
  12. package/dist/components/area-chart.d.ts +66 -0
  13. package/dist/components/area-chart.js +1 -0
  14. package/dist/components/badge.d.ts +22 -0
  15. package/dist/components/badge.js +1 -0
  16. package/dist/components/bar-chart.d.ts +67 -0
  17. package/dist/components/bar-chart.js +1 -0
  18. package/dist/components/big-text.d.ts +81 -0
  19. package/dist/components/big-text.js +1 -0
  20. package/dist/components/blink-dot.d.ts +36 -0
  21. package/dist/components/blink-dot.js +1 -0
  22. package/dist/components/box.d.ts +62 -0
  23. package/dist/components/box.js +1 -0
  24. package/dist/components/breadcrumb.d.ts +33 -0
  25. package/dist/components/breadcrumb.js +1 -0
  26. package/dist/components/button.d.ts +45 -0
  27. package/dist/components/button.js +1 -0
  28. package/dist/components/calendar.d.ts +72 -0
  29. package/dist/components/calendar.js +1 -0
  30. package/dist/components/canvas.d.ts +44 -0
  31. package/dist/components/canvas.js +1 -0
  32. package/dist/components/card.d.ts +57 -0
  33. package/dist/components/card.js +1 -0
  34. package/dist/components/checkbox.d.ts +48 -0
  35. package/dist/components/checkbox.js +1 -0
  36. package/dist/components/code.d.ts +48 -0
  37. package/dist/components/code.js +2 -0
  38. package/dist/components/collapsible.d.ts +53 -0
  39. package/dist/components/collapsible.js +1 -0
  40. package/dist/components/command-block.d.ts +47 -0
  41. package/dist/components/command-block.js +4 -0
  42. package/dist/components/command-palette.d.ts +82 -0
  43. package/dist/components/command-palette.js +1 -0
  44. package/dist/components/confirm-dialog.d.ts +75 -0
  45. package/dist/components/confirm-dialog.js +1 -0
  46. package/dist/components/confirm-input.d.ts +38 -0
  47. package/dist/components/confirm-input.js +1 -0
  48. package/dist/components/console-overlay.d.ts +54 -0
  49. package/dist/components/console-overlay.js +1 -0
  50. package/dist/components/content-switcher.d.ts +57 -0
  51. package/dist/components/content-switcher.js +1 -0
  52. package/dist/components/controlled-scroll-view.d.ts +61 -0
  53. package/dist/components/controlled-scroll-view.js +1 -0
  54. package/dist/components/cursor.d.ts +62 -0
  55. package/dist/components/cursor.js +1 -0
  56. package/dist/components/date-picker.d.ts +65 -0
  57. package/dist/components/date-picker.js +1 -0
  58. package/dist/components/definition-list.d.ts +44 -0
  59. package/dist/components/definition-list.js +1 -0
  60. package/dist/components/dialog.d.ts +117 -0
  61. package/dist/components/dialog.js +1 -0
  62. package/dist/components/diff-view.d.ts +85 -0
  63. package/dist/components/diff-view.js +1 -0
  64. package/dist/components/divider.d.ts +49 -0
  65. package/dist/components/divider.js +1 -0
  66. package/dist/components/file-picker-entry.d.ts +104 -0
  67. package/dist/components/file-picker-entry.js +1 -0
  68. package/dist/components/form.d.ts +81 -0
  69. package/dist/components/form.js +1 -0
  70. package/dist/components/gauge.d.ts +87 -0
  71. package/dist/components/gauge.js +1 -0
  72. package/dist/components/gradient.d.ts +42 -0
  73. package/dist/components/gradient.js +1 -0
  74. package/dist/components/heading.d.ts +33 -0
  75. package/dist/components/heading.js +1 -0
  76. package/dist/components/heatmap.d.ts +62 -0
  77. package/dist/components/heatmap.js +1 -0
  78. package/dist/components/help.d.ts +52 -0
  79. package/dist/components/help.js +1 -0
  80. package/dist/components/histogram.d.ts +62 -0
  81. package/dist/components/histogram.js +1 -0
  82. package/dist/components/kbd.d.ts +31 -0
  83. package/dist/components/kbd.js +1 -0
  84. package/dist/components/line-chart.d.ts +109 -0
  85. package/dist/components/line-chart.js +1 -0
  86. package/dist/components/link.d.ts +38 -0
  87. package/dist/components/link.js +1 -0
  88. package/dist/components/loading-indicator.d.ts +29 -0
  89. package/dist/components/loading-indicator.js +1 -0
  90. package/dist/components/markdown.d.ts +40 -0
  91. package/dist/components/markdown.js +1 -0
  92. package/dist/components/masked-input.d.ts +50 -0
  93. package/dist/components/masked-input.js +1 -0
  94. package/dist/components/menu.d.ts +78 -0
  95. package/dist/components/menu.js +1 -0
  96. package/dist/components/message-bubble.d.ts +43 -0
  97. package/dist/components/message-bubble.js +1 -0
  98. package/dist/components/model-badge.d.ts +39 -0
  99. package/dist/components/model-badge.js +1 -0
  100. package/dist/components/multi-select.d.ts +65 -0
  101. package/dist/components/multi-select.js +1 -0
  102. package/dist/components/newline.d.ts +15 -0
  103. package/dist/components/newline.js +2 -0
  104. package/dist/components/operation-tree.d.ts +49 -0
  105. package/dist/components/operation-tree.js +1 -0
  106. package/dist/components/option-list.d.ts +47 -0
  107. package/dist/components/option-list.js +1 -0
  108. package/dist/components/ordered-list.d.ts +24 -0
  109. package/dist/components/ordered-list.js +1 -0
  110. package/dist/components/paginator.d.ts +69 -0
  111. package/dist/components/paginator.js +1 -0
  112. package/dist/components/paragraph.d.ts +38 -0
  113. package/dist/components/paragraph.js +1 -0
  114. package/dist/components/placeholder.d.ts +55 -0
  115. package/dist/components/placeholder.js +1 -0
  116. package/dist/components/progress-bar.d.ts +56 -0
  117. package/dist/components/progress-bar.js +1 -0
  118. package/dist/components/radio-group.d.ts +74 -0
  119. package/dist/components/radio-group.js +1 -0
  120. package/dist/components/scatter-plot.d.ts +35 -0
  121. package/dist/components/scatter-plot.js +1 -0
  122. package/dist/components/scroll-bar-box.d.ts +37 -0
  123. package/dist/components/scroll-bar-box.js +1 -0
  124. package/dist/components/scroll-bar.d.ts +25 -0
  125. package/dist/components/scroll-bar.js +1 -0
  126. package/dist/components/scroll-list.d.ts +20 -0
  127. package/dist/components/scroll-list.js +1 -0
  128. package/dist/components/scroll-view.d.ts +10 -0
  129. package/dist/components/scroll-view.js +1 -0
  130. package/dist/components/search-input.d.ts +55 -0
  131. package/dist/components/search-input.js +1 -0
  132. package/dist/components/select-input-indicator.d.ts +32 -0
  133. package/dist/components/select-input-indicator.js +1 -0
  134. package/dist/components/select-input-item.d.ts +41 -0
  135. package/dist/components/select-input-item.js +1 -0
  136. package/dist/components/select-input.d.ts +110 -0
  137. package/dist/components/select-input.js +1 -0
  138. package/dist/components/shimmer-text.d.ts +47 -0
  139. package/dist/components/shimmer-text.js +1 -0
  140. package/dist/components/slider.d.ts +103 -0
  141. package/dist/components/slider.js +1 -0
  142. package/dist/components/spacer.d.ts +8 -0
  143. package/dist/components/spacer.js +1 -0
  144. package/dist/components/sparkline.d.ts +35 -0
  145. package/dist/components/sparkline.js +1 -0
  146. package/dist/components/spinner.d.ts +17 -0
  147. package/dist/components/spinner.js +1 -0
  148. package/dist/components/static-render.d.ts +55 -0
  149. package/dist/components/static-render.js +1 -0
  150. package/dist/components/static.d.ts +29 -0
  151. package/dist/components/static.js +1 -0
  152. package/dist/components/status-line.d.ts +37 -0
  153. package/dist/components/status-line.js +1 -0
  154. package/dist/components/status-message.d.ts +21 -0
  155. package/dist/components/status-message.js +1 -0
  156. package/dist/components/stepper.d.ts +48 -0
  157. package/dist/components/stepper.js +1 -0
  158. package/dist/components/stopwatch.d.ts +49 -0
  159. package/dist/components/stopwatch.js +1 -0
  160. package/dist/components/streaming-text.d.ts +46 -0
  161. package/dist/components/streaming-text.js +1 -0
  162. package/dist/components/switch.d.ts +55 -0
  163. package/dist/components/switch.js +1 -0
  164. package/dist/components/tab.d.ts +19 -0
  165. package/dist/components/tab.js +1 -0
  166. package/dist/components/table.d.ts +119 -0
  167. package/dist/components/table.js +1 -0
  168. package/dist/components/tabs.d.ts +107 -0
  169. package/dist/components/tabs.js +1 -0
  170. package/dist/components/tag.d.ts +35 -0
  171. package/dist/components/tag.js +1 -0
  172. package/dist/components/text-input.d.ts +48 -0
  173. package/dist/components/text-input.js +1 -0
  174. package/dist/components/text.d.ts +79 -0
  175. package/dist/components/text.js +1 -0
  176. package/dist/components/textarea.d.ts +68 -0
  177. package/dist/components/textarea.js +2 -0
  178. package/dist/components/timer.d.ts +59 -0
  179. package/dist/components/timer.js +1 -0
  180. package/dist/components/toast.d.ts +49 -0
  181. package/dist/components/toast.js +1 -0
  182. package/dist/components/tooltip.d.ts +43 -0
  183. package/dist/components/tooltip.js +1 -0
  184. package/dist/components/transform.d.ts +21 -0
  185. package/dist/components/transform.js +1 -0
  186. package/dist/components/transition.d.ts +74 -0
  187. package/dist/components/transition.js +1 -0
  188. package/dist/components/tree-view-entry.d.ts +357 -0
  189. package/dist/components/tree-view-entry.js +1 -0
  190. package/dist/components/unordered-list.d.ts +30 -0
  191. package/dist/components/unordered-list.js +1 -0
  192. package/dist/core/index.d.ts +2 -2
  193. package/dist/core/index.js +1 -1
  194. package/dist/ink/hooks/use-animation.d.ts +41 -0
  195. package/dist/ink/hooks/use-animation.js +1 -0
  196. package/dist/ink/hooks/use-app.d.ts +38 -0
  197. package/dist/ink/hooks/use-app.js +1 -0
  198. package/dist/ink/hooks/use-box-metrics.d.ts +66 -0
  199. package/dist/ink/hooks/use-box-metrics.js +1 -0
  200. package/dist/ink/hooks/use-clipboard.d.ts +30 -0
  201. package/dist/ink/hooks/use-clipboard.js +1 -0
  202. package/dist/ink/hooks/use-color-blindness.d.ts +33 -0
  203. package/dist/ink/hooks/use-color-blindness.js +1 -0
  204. package/dist/ink/hooks/use-console-capture.d.ts +43 -0
  205. package/dist/ink/hooks/use-console-capture.js +1 -0
  206. package/dist/ink/hooks/use-cursor.d.ts +13 -0
  207. package/dist/ink/hooks/use-cursor.js +1 -0
  208. package/dist/ink/hooks/use-focus-manager.d.ts +57 -0
  209. package/dist/ink/hooks/use-focus-manager.js +1 -0
  210. package/dist/ink/hooks/use-focus.d.ts +34 -0
  211. package/dist/ink/hooks/use-focus.js +1 -0
  212. package/dist/ink/hooks/use-form.d.ts +68 -0
  213. package/dist/ink/hooks/use-form.js +1 -0
  214. package/dist/ink/hooks/use-hotkey.d.ts +37 -0
  215. package/dist/ink/hooks/use-hotkey.js +1 -0
  216. package/dist/ink/hooks/use-input.d.ts +149 -0
  217. package/dist/ink/hooks/use-input.js +2 -0
  218. package/dist/ink/hooks/use-interval.d.ts +25 -0
  219. package/dist/ink/hooks/use-interval.js +1 -0
  220. package/dist/ink/hooks/use-is-screen-reader-enabled.d.ts +6 -0
  221. package/dist/ink/hooks/use-is-screen-reader-enabled.js +1 -0
  222. package/dist/ink/hooks/use-key-bindings.d.ts +59 -0
  223. package/dist/ink/hooks/use-key-bindings.js +1 -0
  224. package/dist/ink/hooks/use-key-chord.d.ts +25 -0
  225. package/dist/ink/hooks/use-key-chord.js +1 -0
  226. package/dist/ink/hooks/use-linked-scroll.d.ts +49 -0
  227. package/dist/ink/hooks/use-linked-scroll.js +1 -0
  228. package/dist/ink/hooks/use-paste.d.ts +45 -0
  229. package/dist/ink/hooks/use-paste.js +1 -0
  230. package/dist/ink/hooks/use-persistent-state.d.ts +65 -0
  231. package/dist/ink/hooks/use-persistent-state.js +2 -0
  232. package/dist/ink/hooks/use-scroll-acceleration.d.ts +47 -0
  233. package/dist/ink/hooks/use-scroll-acceleration.js +1 -0
  234. package/dist/ink/hooks/use-scroll-input.d.ts +34 -0
  235. package/dist/ink/hooks/use-scroll-input.js +1 -0
  236. package/dist/ink/hooks/use-stderr.d.ts +16 -0
  237. package/dist/ink/hooks/use-stderr.js +1 -0
  238. package/dist/ink/hooks/use-stdin.d.ts +30 -0
  239. package/dist/ink/hooks/use-stdin.js +1 -0
  240. package/dist/ink/hooks/use-stdout.d.ts +16 -0
  241. package/dist/ink/hooks/use-stdout.js +1 -0
  242. package/dist/ink/hooks/use-stopwatch.d.ts +39 -0
  243. package/dist/ink/hooks/use-stopwatch.js +1 -0
  244. package/dist/ink/hooks/use-terminal-palette.d.ts +20 -0
  245. package/dist/ink/hooks/use-terminal-palette.js +1 -0
  246. package/dist/ink/hooks/use-text-buffer.d.ts +42 -0
  247. package/dist/ink/hooks/use-text-buffer.js +4 -0
  248. package/dist/ink/hooks/use-text-selection.d.ts +45 -0
  249. package/dist/ink/hooks/use-text-selection.js +1 -0
  250. package/dist/ink/hooks/use-timeout.d.ts +24 -0
  251. package/dist/ink/hooks/use-timeout.js +1 -0
  252. package/dist/ink/hooks/use-timer.d.ts +48 -0
  253. package/dist/ink/hooks/use-timer.js +1 -0
  254. package/dist/ink/hooks/use-window-size.d.ts +18 -0
  255. package/dist/ink/hooks/use-window-size.js +1 -0
  256. package/dist/ink/index.d.ts +30 -6251
  257. package/dist/ink/index.js +1 -1
  258. package/dist/ink/mouse/use-element-position.d.ts +31 -0
  259. package/dist/ink/mouse/use-element-position.js +1 -0
  260. package/dist/ink/mouse/use-mouse-action.d.ts +5 -0
  261. package/dist/ink/mouse/use-mouse-action.js +1 -0
  262. package/dist/ink/mouse/use-mouse-position.d.ts +5 -0
  263. package/dist/ink/mouse/use-mouse-position.js +1 -0
  264. package/dist/ink/mouse/use-mouse.d.ts +5 -0
  265. package/dist/ink/mouse/use-mouse.js +1 -0
  266. package/dist/ink/mouse/use-on-mouse-click.d.ts +16 -0
  267. package/dist/ink/mouse/use-on-mouse-click.js +1 -0
  268. package/dist/ink/mouse/use-on-mouse-hover.d.ts +10 -0
  269. package/dist/ink/mouse/use-on-mouse-hover.js +1 -0
  270. package/dist/ink/mouse/use-on-mouse-state.d.ts +13 -0
  271. package/dist/ink/mouse/use-on-mouse-state.js +1 -0
  272. package/dist/packem_chunks/devtools.js +1 -1
  273. package/dist/packem_shared/COLOR_BLINDNESS_COMPENSATION-Ilnoyeqc.js +1 -0
  274. package/dist/packem_shared/ControlledScrollView-Cn4byU2n.js +1 -0
  275. package/dist/packem_shared/DevTools-k6uiVzqv.js +1 -0
  276. package/dist/packem_shared/FilePicker-BLS9nOPz.js +1 -0
  277. package/dist/packem_shared/FocusContext-C2Sosxa4.js +1 -0
  278. package/dist/packem_shared/Fullscreen-BRhuBLBh.js +1 -0
  279. package/dist/packem_shared/IMECompositionBuffer-VhC9HRCv.js +1 -0
  280. package/dist/packem_shared/InputParser-CtwkCbrQ.js +2 -0
  281. package/dist/packem_shared/KEY-C--kOw41.js +1 -0
  282. package/dist/packem_shared/LayoutNode-LPYsuzBg.js +1 -0
  283. package/dist/packem_shared/MouseProvider-DUqQ3Eaa.js +1 -0
  284. package/dist/packem_shared/NAMED_COLORS-82DpREQV.js +1 -0
  285. package/dist/packem_shared/Range-BsVYNWtg.js +1 -0
  286. package/dist/packem_shared/Renderer-DsskdkUd.js +1 -0
  287. package/dist/packem_shared/ResizeObserver-BI9bDy-j.js +1 -0
  288. package/dist/packem_shared/ScrollBar-qa1IzDDv.js +1 -0
  289. package/dist/packem_shared/ScrollBarBox-DchESZWv.js +1 -0
  290. package/dist/packem_shared/ScrollList-BBAnRsrC.js +1 -0
  291. package/dist/packem_shared/ScrollView-CHAo7Epj.js +1 -0
  292. package/dist/packem_shared/Static-DSzsElz4.js +1 -0
  293. package/dist/packem_shared/TreeNodeMap-cJlYqckB.js +1 -0
  294. package/dist/packem_shared/TreeView-BsvLCsf0.js +1 -0
  295. package/dist/packem_shared/TuiApp-BPL8v1i1.js +1 -0
  296. package/dist/packem_shared/TuiContext-BNmP0lMY.js +3 -0
  297. package/dist/packem_shared/ansi-parser-DlgLtOYO.js +1 -0
  298. package/dist/packem_shared/ansi-tokenizer-BU67A126.js +1 -0
  299. package/dist/packem_shared/braille-ch3O5D7I.js +1 -0
  300. package/dist/packem_shared/buffer.d-EJkZr8uH.d.ts +39 -0
  301. package/dist/packem_shared/calculateScroll-D4Y_JR4H.js +1 -0
  302. package/dist/packem_shared/{measureElement-DA8WqFP_.js → calculateScrollbarLayout-Lf6i24c9.js} +1 -1
  303. package/dist/packem_shared/clearOsc52-BUpnQOav.js +1 -0
  304. package/dist/packem_shared/clearStringWidthCache-DKFjfJuB.js +1 -0
  305. package/dist/packem_shared/clipboard.d-D6lZTQ21.d.ts +23 -0
  306. package/dist/packem_shared/color-matrix.d-DSXLsB64.d.ts +50 -0
  307. package/dist/packem_shared/colorize-DU4YZkp3.js +1 -0
  308. package/dist/packem_shared/controlled-scroll-view-BVg7ywNW.js +1 -0
  309. package/dist/packem_shared/createInlineLoop-BT40Wpmx.js +2 -0
  310. package/dist/packem_shared/createScreen-DoYpyL0V.js +3 -0
  311. package/dist/packem_shared/cursor-helpers.d-BONB9tky.d.ts +12 -0
  312. package/dist/packem_shared/dom-rphpG0kf.js +1 -0
  313. package/dist/packem_shared/dom.d-B4kXbaVY.d.ts +449 -0
  314. package/dist/packem_shared/format-time-fjoQHMxD.js +1 -0
  315. package/dist/packem_shared/{getPathToRoot-B2tKmx3i.js → getPathToRoot-PDJeqiEH.js} +1 -1
  316. package/dist/packem_shared/input-utils-BSWCb4F_.js +1 -0
  317. package/dist/packem_shared/{input.d-Bfq7oc06.d.ts → input.d-CgxV2e8U.d.ts} +1 -1
  318. package/dist/packem_shared/isIntersecting-Bo2npvMR.js +1 -0
  319. package/dist/packem_shared/isTerminalPaletteQuerySupported-BYzmqq9-.js +1 -0
  320. package/dist/packem_shared/kittyFlags-g8ALyoCU.js +1 -0
  321. package/dist/packem_shared/line-chart-C7CUrvVs.js +1 -0
  322. package/dist/packem_shared/load-native-root-binding-DDikxNox.js +1 -0
  323. package/dist/packem_shared/measure-element-D4M9iSYp.js +1 -0
  324. package/dist/packem_shared/measure-text-B7juNq4Y.js +3 -0
  325. package/dist/packem_shared/mouse-context.d-BfL9xGk_.d.ts +30 -0
  326. package/dist/packem_shared/parseSgrMouse-bUrqPrh-.js +1 -0
  327. package/dist/packem_shared/processLayout-I83k6vXE.js +2 -0
  328. package/dist/packem_shared/reconciler-CFyBVf7l.js +1 -0
  329. package/dist/packem_shared/reconciler-ClpU7Y-V.js +1 -0
  330. package/dist/packem_shared/render-CuQecTAs.js +24 -0
  331. package/dist/packem_shared/render-DFZ8NHlG.js +1 -0
  332. package/dist/packem_shared/render.d-CBnYBDk2.d.ts +417 -0
  333. package/dist/packem_shared/renderToString-DwXFY8Qh.js +4 -0
  334. package/dist/packem_shared/renderToString-L_bpw4OQ.js +2 -0
  335. package/dist/packem_shared/renderTreeToBuffer-C8lS0lJ2.js +2 -0
  336. package/dist/packem_shared/renderer-k-xShm1P.js +17 -0
  337. package/dist/packem_shared/scroll-view.d-DtpsgHLg.d.ts +119 -0
  338. package/dist/packem_shared/selection.d-CI3_p8wg.d.ts +62 -0
  339. package/dist/packem_shared/squashTextNodesWithMap-BmUSBPfc.js +1 -0
  340. package/dist/packem_shared/stderr-context-Bvnik0hL.js +1 -0
  341. package/dist/packem_shared/stdin-context-88AhuztD.js +1 -0
  342. package/dist/packem_shared/styles.d-cMo36xQz.d.ts +396 -0
  343. package/dist/packem_shared/terminal-palette.d-D2SQjfn-.d.ts +19 -0
  344. package/dist/packem_shared/text-width-e49vlbQH.js +2 -0
  345. package/dist/packem_shared/token-to-elements-D6J6-P2A.js +1 -0
  346. package/dist/packem_shared/treeViewTheme-Dq3ekRAC.js +1 -0
  347. package/dist/packem_shared/useTreeView-D5ifGwG3.js +1 -0
  348. package/dist/packem_shared/useTreeViewState-BiTJakkh.js +1 -0
  349. package/dist/packem_shared/utils-Bup8lyK8.js +1 -0
  350. package/dist/packem_shared/variant-config.d-D5NnrrQK.d.ts +2 -0
  351. package/dist/packem_shared/waitFor-CTAki32d.js +4 -0
  352. package/dist/packem_shared/wrapOrTruncateStyledLine-46W8bTtv.js +3 -0
  353. package/dist/react/index.d.ts +2 -2
  354. package/dist/react/index.js +1 -1
  355. package/dist/testing/index.d.ts +5 -1
  356. package/dist/testing/index.js +1 -1
  357. package/index.js +65 -156
  358. package/package.json +601 -47
  359. package/dist/packem_shared/Accordion-BXsqchV-.js +0 -1
  360. package/dist/packem_shared/Alert-BhYVMHtR.js +0 -1
  361. package/dist/packem_shared/AnimatePresence-Eu7Z8KHc.js +0 -1
  362. package/dist/packem_shared/ApprovalPrompt-BSn0FT1g.js +0 -1
  363. package/dist/packem_shared/AreaChart-Chy-frI7.js +0 -1
  364. package/dist/packem_shared/Badge-B8WPyRsK.js +0 -1
  365. package/dist/packem_shared/BarChart-rpZtlMcF.js +0 -1
  366. package/dist/packem_shared/BigText-CRpwUzrt.js +0 -1
  367. package/dist/packem_shared/BlinkDot-BvnRuWP8.js +0 -1
  368. package/dist/packem_shared/Box-BwqSvWuq.js +0 -1
  369. package/dist/packem_shared/Breadcrumb-D0hClbRV.js +0 -1
  370. package/dist/packem_shared/Button-B89Yvbc6.js +0 -1
  371. package/dist/packem_shared/COLOR_BLINDNESS_SIMULATION-DqErf7XX.js +0 -1
  372. package/dist/packem_shared/Calendar-Dmflvm2S.js +0 -1
  373. package/dist/packem_shared/Canvas-CKg6WV47.js +0 -1
  374. package/dist/packem_shared/Card-B_9fXdtU.js +0 -1
  375. package/dist/packem_shared/Checkbox-BN71eCWU.js +0 -1
  376. package/dist/packem_shared/Code-HhevcyiH.js +0 -2
  377. package/dist/packem_shared/Collapsible-u6uf_FdV.js +0 -1
  378. package/dist/packem_shared/CommandBlock-B-nslpCv.js +0 -4
  379. package/dist/packem_shared/CommandPalette-CEFdaURo.js +0 -1
  380. package/dist/packem_shared/ConfirmDialog-5Jje_Xpu.js +0 -1
  381. package/dist/packem_shared/ConfirmInput-D44Mb9oo.js +0 -1
  382. package/dist/packem_shared/ConsoleOverlay-CM3APfgP.js +0 -1
  383. package/dist/packem_shared/ContentSwitcher-Dm5BkrCt.js +0 -1
  384. package/dist/packem_shared/ControlledScrollView-DI8KZOQB.js +0 -1
  385. package/dist/packem_shared/Cursor-BoLFIMol.js +0 -1
  386. package/dist/packem_shared/DatePicker-CnSrFFAE.js +0 -1
  387. package/dist/packem_shared/DefinitionList-v8RDuF_R.js +0 -1
  388. package/dist/packem_shared/DevTools-O8EbCfHa.js +0 -1
  389. package/dist/packem_shared/Dialog-CTaL8pn0.js +0 -1
  390. package/dist/packem_shared/DiffView-BUIFqUB0.js +0 -1
  391. package/dist/packem_shared/Divider-C47bKmqu.js +0 -1
  392. package/dist/packem_shared/FilePicker-CUo7R5Qb.js +0 -1
  393. package/dist/packem_shared/FocusContext-Xy0cwJpO.js +0 -1
  394. package/dist/packem_shared/FormField-af3aUpRL.js +0 -1
  395. package/dist/packem_shared/Fullscreen-CuJ8y0s0.js +0 -1
  396. package/dist/packem_shared/Gauge-Dz-usH__.js +0 -1
  397. package/dist/packem_shared/Gradient-DYNc0GZA.js +0 -1
  398. package/dist/packem_shared/Heading-mwEYza3Y.js +0 -1
  399. package/dist/packem_shared/Heatmap-ChL97U1-.js +0 -1
  400. package/dist/packem_shared/Help-Zcelyw_U.js +0 -1
  401. package/dist/packem_shared/Histogram-FIf2F83d.js +0 -1
  402. package/dist/packem_shared/IMECompositionBuffer-C89PhiOu.js +0 -1
  403. package/dist/packem_shared/InputParser-rZKjY_7Y.js +0 -2
  404. package/dist/packem_shared/KEY-Bk8B-3h_.js +0 -1
  405. package/dist/packem_shared/Kbd-DpkPp4jB.js +0 -1
  406. package/dist/packem_shared/LayoutNode-rxblE317.js +0 -1
  407. package/dist/packem_shared/LineChart-BXE_girm.js +0 -1
  408. package/dist/packem_shared/Link-i2o2EG4-.js +0 -1
  409. package/dist/packem_shared/LoadingIndicator-TC1Fjwyt.js +0 -1
  410. package/dist/packem_shared/Markdown-R1XqK63D.js +0 -1
  411. package/dist/packem_shared/MaskedInput-J01phOZs.js +0 -1
  412. package/dist/packem_shared/Menu-CfrH4ymk.js +0 -1
  413. package/dist/packem_shared/MessageBubble-BmBBU2Rm.js +0 -1
  414. package/dist/packem_shared/ModelBadge-D3wrXncu.js +0 -1
  415. package/dist/packem_shared/MouseProvider-pjza-lpc.js +0 -1
  416. package/dist/packem_shared/MultiSelect-Dqmn-bVo.js +0 -1
  417. package/dist/packem_shared/NAMED_COLORS-B9fJsYdg.js +0 -1
  418. package/dist/packem_shared/Newline-BSG4iUqp.js +0 -2
  419. package/dist/packem_shared/OperationTree-DksxjMIV.js +0 -1
  420. package/dist/packem_shared/OptionList-CNx7r9yN.js +0 -1
  421. package/dist/packem_shared/OrderedList-BeDy035w.js +0 -1
  422. package/dist/packem_shared/Paginator-B56s6bhS.js +0 -1
  423. package/dist/packem_shared/Paragraph-BqJlH0R-.js +0 -1
  424. package/dist/packem_shared/Placeholder-GMpHRGC8.js +0 -1
  425. package/dist/packem_shared/ProgressBar-Bj3fmORR.js +0 -1
  426. package/dist/packem_shared/RadioGroup-Br8BeEwS.js +0 -1
  427. package/dist/packem_shared/Renderer-DJXooAsp.js +0 -1
  428. package/dist/packem_shared/ResizeObserverEntry-Dq0dk8Kq.js +0 -1
  429. package/dist/packem_shared/ScatterPlot-OhfYco5l.js +0 -1
  430. package/dist/packem_shared/ScrollBar-Da5Y3z7N.js +0 -1
  431. package/dist/packem_shared/ScrollBarBox-Dz6F-Eat.js +0 -1
  432. package/dist/packem_shared/ScrollList-DiVGyEjv.js +0 -1
  433. package/dist/packem_shared/ScrollView-BojONotI.js +0 -1
  434. package/dist/packem_shared/SearchInput-BoPTRbhV.js +0 -1
  435. package/dist/packem_shared/SelectInput-CAJ7SCBq.js +0 -1
  436. package/dist/packem_shared/SelectInputIndicator-N1n8ULHs.js +0 -1
  437. package/dist/packem_shared/SelectInputItem-BEkbmobs.js +0 -1
  438. package/dist/packem_shared/ShimmerText-CuGQ2NDC.js +0 -1
  439. package/dist/packem_shared/Slider-Cg_tJpKa.js +0 -1
  440. package/dist/packem_shared/Spacer-eT3HOrXk.js +0 -1
  441. package/dist/packem_shared/Sparkline-T6_FPVET.js +0 -1
  442. package/dist/packem_shared/Spinner-B0-A50pu.js +0 -1
  443. package/dist/packem_shared/Static-DLynr5pn.js +0 -1
  444. package/dist/packem_shared/Static-jzLPaHJF.js +0 -1
  445. package/dist/packem_shared/StaticRender-BgD61E7x.js +0 -1
  446. package/dist/packem_shared/StatusLine-Ch4jjef1.js +0 -1
  447. package/dist/packem_shared/StatusMessage-B1qfKeMM.js +0 -1
  448. package/dist/packem_shared/Stepper-CNPAqxiU.js +0 -1
  449. package/dist/packem_shared/Stopwatch-CAx2EWwq.js +0 -1
  450. package/dist/packem_shared/StreamingText-BYOKSB2T.js +0 -1
  451. package/dist/packem_shared/Switch-DzSpKYu7.js +0 -1
  452. package/dist/packem_shared/Tab-BcXzSUdj.js +0 -1
  453. package/dist/packem_shared/Table-DJp1TLrR.js +0 -1
  454. package/dist/packem_shared/Tabs-D68z0SOt.js +0 -1
  455. package/dist/packem_shared/Tag-BvLHnYRn.js +0 -1
  456. package/dist/packem_shared/Text-mTAve9R2.js +0 -1
  457. package/dist/packem_shared/TextInput-C_gYQlnF.js +0 -1
  458. package/dist/packem_shared/Textarea-C2ET_oMb.js +0 -2
  459. package/dist/packem_shared/Timer-CI3aQX65.js +0 -1
  460. package/dist/packem_shared/Toast-Drvc8XfG.js +0 -1
  461. package/dist/packem_shared/Tooltip-C5UnQlLd.js +0 -1
  462. package/dist/packem_shared/Transform-fYmcdqRT.js +0 -1
  463. package/dist/packem_shared/Transition-CJDBKYUB.js +0 -1
  464. package/dist/packem_shared/TreeNodeMap-CspqSCpb.js +0 -1
  465. package/dist/packem_shared/TreeView-DjhacGJ5.js +0 -1
  466. package/dist/packem_shared/TuiApp-DrjI_i-R.js +0 -1
  467. package/dist/packem_shared/TuiContext-BoJvG3NN.js +0 -3
  468. package/dist/packem_shared/UnorderedList-BnfqexZs.js +0 -1
  469. package/dist/packem_shared/ansi-parser-B6uXaq65.js +0 -1
  470. package/dist/packem_shared/ansi-tokenizer-DqX9nJuk.js +0 -1
  471. package/dist/packem_shared/boxes-DyY_LXCi.js +0 -1
  472. package/dist/packem_shared/braille-BBjIoaN0.js +0 -1
  473. package/dist/packem_shared/colorize-DbTZMrJO.js +0 -1
  474. package/dist/packem_shared/comparePoints-C85EsmNz.js +0 -1
  475. package/dist/packem_shared/controlled-scroll-view-CmrAEvJk.js +0 -1
  476. package/dist/packem_shared/createInlineLoop-DRNZ7jqH.js +0 -2
  477. package/dist/packem_shared/createLinkedScrollGroup-BMTJ7rAj.js +0 -1
  478. package/dist/packem_shared/createMemoryStorage-QVZNXbWz.js +0 -2
  479. package/dist/packem_shared/createScreen-CrLrxA6t.js +0 -3
  480. package/dist/packem_shared/dom-4y__5fWB.js +0 -1
  481. package/dist/packem_shared/format-time-C7Q-hQZq.js +0 -1
  482. package/dist/packem_shared/getScrollHeight-BTEY8ewu.js +0 -1
  483. package/dist/packem_shared/input-utils-fAxzSlNh.js +0 -1
  484. package/dist/packem_shared/isIntersecting-B3KbKTmu.js +0 -1
  485. package/dist/packem_shared/isOsc52Supported-DKK7Uee6.js +0 -1
  486. package/dist/packem_shared/isTerminalPaletteQuerySupported-Dn2hFAZ_.js +0 -1
  487. package/dist/packem_shared/kittyFlags-C3rZLbcK.js +0 -1
  488. package/dist/packem_shared/line-chart-DrM8PwnI.js +0 -1
  489. package/dist/packem_shared/measure-element-DSp7YDus.js +0 -2
  490. package/dist/packem_shared/measure-text-DDjHT1jD.js +0 -3
  491. package/dist/packem_shared/parseSgrMouse-Ccj70ijb.js +0 -1
  492. package/dist/packem_shared/processLayout-DXDfFb_d.js +0 -1
  493. package/dist/packem_shared/reconciler-BuOP-TZ6.js +0 -1
  494. package/dist/packem_shared/reconciler-DSYCrIZs.js +0 -1
  495. package/dist/packem_shared/render-DDqtMAFN.js +0 -1
  496. package/dist/packem_shared/render-_r0K9K11.js +0 -28
  497. package/dist/packem_shared/render.d-CNIzVQTh.d.ts +0 -1257
  498. package/dist/packem_shared/renderToString-DeqOWRP8.js +0 -4
  499. package/dist/packem_shared/renderToString-IYYPyASm.js +0 -2
  500. package/dist/packem_shared/renderTreeToBuffer-DPkoCgP2.js +0 -2
  501. package/dist/packem_shared/renderer-D2p6av2X.js +0 -17
  502. package/dist/packem_shared/setEnableStyledLineCache-D2gZbwFM.js +0 -1
  503. package/dist/packem_shared/squashTextNodesWithMap-Cpqmc45i.js +0 -1
  504. package/dist/packem_shared/stderr-context-BzEaUICS.js +0 -1
  505. package/dist/packem_shared/stdin-context-BTaaFagk.js +0 -1
  506. package/dist/packem_shared/text-width-CZ9vPvM0.js +0 -2
  507. package/dist/packem_shared/token-to-elements-BYxT6J_Q.js +0 -1
  508. package/dist/packem_shared/treeViewTheme-1RIZyB4M.js +0 -1
  509. package/dist/packem_shared/useAnimation-B9we6ZzL.js +0 -1
  510. package/dist/packem_shared/useApp-B6fvM42d.js +0 -1
  511. package/dist/packem_shared/useBoxMetrics-D5pkIr6P.js +0 -1
  512. package/dist/packem_shared/useClipboard-CBxy0hT8.js +0 -1
  513. package/dist/packem_shared/useColorBlindness-BvWcu2Bb.js +0 -1
  514. package/dist/packem_shared/useConsoleCapture-BxiG8iLJ.js +0 -1
  515. package/dist/packem_shared/useCursor-CPu8T5Db.js +0 -1
  516. package/dist/packem_shared/useElementDimensions-qJ_WXFZ9.js +0 -1
  517. package/dist/packem_shared/useFocus-DSmziO_x.js +0 -1
  518. package/dist/packem_shared/useFocusManager-Uapn3LQo.js +0 -1
  519. package/dist/packem_shared/useForm-CzV-Oext.js +0 -1
  520. package/dist/packem_shared/useHotkey-D0dGey14.js +0 -1
  521. package/dist/packem_shared/useInput-D1_jG26Z.js +0 -2
  522. package/dist/packem_shared/useInterval-AobjZT3u.js +0 -1
  523. package/dist/packem_shared/useIsScreenReaderEnabled-DjWHh-II.js +0 -1
  524. package/dist/packem_shared/useKeyBindings-zabkEJQs.js +0 -1
  525. package/dist/packem_shared/useKeyChord-CICQIxXj.js +0 -1
  526. package/dist/packem_shared/useMouseAction-2dRfU1vE.js +0 -1
  527. package/dist/packem_shared/useMouseContext-C746G7kY.js +0 -1
  528. package/dist/packem_shared/useMousePosition-BTWfV4JK.js +0 -1
  529. package/dist/packem_shared/useOnMouseClick-nY8xLZmt.js +0 -1
  530. package/dist/packem_shared/useOnMouseHover-D3DczIol.js +0 -1
  531. package/dist/packem_shared/useOnMouseState-cRK8QvzD.js +0 -1
  532. package/dist/packem_shared/usePaste-CKKB9H-Z.js +0 -1
  533. package/dist/packem_shared/useScrollAcceleration-NrY1oVMs.js +0 -1
  534. package/dist/packem_shared/useScrollInput-Caghtn-Q.js +0 -1
  535. package/dist/packem_shared/useStderr-BDZb6InG.js +0 -1
  536. package/dist/packem_shared/useStdin-DKa4h35k.js +0 -1
  537. package/dist/packem_shared/useStdout-B-2lX4C5.js +0 -1
  538. package/dist/packem_shared/useStopwatch-DffK7iMh.js +0 -1
  539. package/dist/packem_shared/useTerminalPalette-Cv7tSduR.js +0 -1
  540. package/dist/packem_shared/useTextBuffer-DekkGLxI.js +0 -4
  541. package/dist/packem_shared/useTextSelection-CGT0GLDR.js +0 -1
  542. package/dist/packem_shared/useTimeout-7LEFYTnG.js +0 -1
  543. package/dist/packem_shared/useTimer-DyoqSyGi.js +0 -1
  544. package/dist/packem_shared/useTreeView-8UlTK6sW.js +0 -1
  545. package/dist/packem_shared/useTreeViewState-CRPCUWrb.js +0 -1
  546. package/dist/packem_shared/useWindowSize-yDZsXF8z.js +0 -1
  547. package/dist/packem_shared/utils-THUhYKG2.js +0 -1
  548. package/dist/packem_shared/waitFor-Dj5zfL5s.js +0 -4
  549. package/dist/packem_shared/wrapOrTruncateStyledLine-BZ00SM8i.js +0 -3
package/CHANGELOG.md CHANGED
@@ -1,3 +1,653 @@
1
+ ## @visulima/tui [1.0.1](https://github.com/visulima/visulima/compare/%40visulima%2Ftui%401.0.0...%40visulima%2Ftui%401.0.1) (2026-07-15)
2
+
3
+ ## @visulima/tui 1.0.0 (2026-07-03)
4
+
5
+ ### ⚠ BREAKING CHANGES
6
+
7
+ * **tui:** Components and hooks are no longer re-exported from the
8
+ bare `@visulima/tui` entry. Import each from its dedicated subpath:
9
+
10
+ - import { Box } from "@visulima/tui/components/box";
11
+ - import { useInput } from "@visulima/tui/hooks/use-input";
12
+
13
+ The bare entry now exposes only `render`, `renderToString`, and
14
+ lower-level primitives (mouse, layout, OSC52, terminal palette).
15
+ Heavy peer dependencies (cfonts, shiki, marked, diff, @visulima/tabular)
16
+ are loaded only when their component subpath is imported, keeping the
17
+ import graph small and making peer requirements explicit per component.
18
+
19
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
20
+
21
+ ### Features
22
+
23
+ * Add comprehensive Ink UI component library with 40+ components ([#614](https://github.com/visulima/visulima/issues/614)) ([24b00a8](https://github.com/visulima/visulima/commit/24b00a8855b1ddb509b85c4a3e0f9f3d76323f76))
24
+ * Add screen, keys, and waitFor helpers to TUI testing API ([#604](https://github.com/visulima/visulima/issues/604)) ([a98c6a1](https://github.com/visulima/visulima/commit/a98c6a18421ee4a1f23f57bbe3eb39b5ba6c6788))
25
+ * **string): native indent implementation; refactor(tui:** replace indent-string and is-fullwidth-code-point ([1368488](https://github.com/visulima/visulima/commit/136848850242ddeae91320dd21d6fdeb0760768c))
26
+ * **tui:** add @visulima/tui package with native Rust diff engine ([85fa477](https://github.com/visulima/visulima/commit/85fa477cf7060dcec51e252afee17e655fa53ace))
27
+ * **tui:** add Badge, StatusMessage, Alert, UnorderedList, and OrderedList components ([142fbae](https://github.com/visulima/visulima/commit/142fbae1700088f2bb676b594607afcc04157174))
28
+ * **tui:** add BigText component ported from ink-big-text ([6af0bf3](https://github.com/visulima/visulima/commit/6af0bf38d334734b0e2d4a45d1ce8c1e25cfeb45))
29
+ * **tui:** add border title support to Box component ([e9f35dc](https://github.com/visulima/visulima/commit/e9f35dc37c9ebb624ca370b54504695103fd8cbb))
30
+ * **tui:** add Code, Markdown, and DiffView components with syntax highlighting ([7bd6b51](https://github.com/visulima/visulima/commit/7bd6b517f490a31f052cc513e045cbf8b6bf2f6d))
31
+ * **tui:** add controlled value prop to Tabs component ([df1158d](https://github.com/visulima/visulima/commit/df1158dc036f7159ef909f497453e2e5dd1058df))
32
+ * **tui:** add Cursor component with inline mode and fix incremental rendering ([9899187](https://github.com/visulima/visulima/commit/98991878cf3222e86e853dbb173b92f1902aa622))
33
+ * **tui:** add cursor-input example entry point ([5f4342c](https://github.com/visulima/visulima/commit/5f4342c18412006efc81165b74ebb2172b98cdb2))
34
+ * **tui:** add getBackgroundColorEscape helper and background cache test ([889e314](https://github.com/visulima/visulima/commit/889e3148c7f827302ee77f8f2bbb0e270be1d6c1))
35
+ * **tui:** add Gradient component ported from ink-gradient ([92e0113](https://github.com/visulima/visulima/commit/92e0113f67fe14e3a44929ffe5269ab5b091c3ff))
36
+ * **tui:** add Link component ported from ink-link, fix screen reader docs ([86f3f40](https://github.com/visulima/visulima/commit/86f3f400820b0996dca4c46fbb557688bc962fa7))
37
+ * **tui:** add mouse support for ink layer, ported from @zenobius/ink-mouse ([a25352d](https://github.com/visulima/visulima/commit/a25352d569afa181002ff5ee98dbdac03a9b5cec))
38
+ * **tui:** add native Rust renderer bridge, audit fixes, and selection pipeline ([afc8743](https://github.com/visulima/visulima/commit/afc8743cc5561d4948abaa02610f10557c327ab6))
39
+ * **tui:** add ProgressBar component ported from ink-progress-bar ([4c7a648](https://github.com/visulima/visulima/commit/4c7a6489c40f4901536782a1a6ad0d3cfb810b69))
40
+ * **tui:** add scroll acceleration, color blindness, terminal palette, and console overlay ([27d478d](https://github.com/visulima/visulima/commit/27d478dd8655d8943b03101aebf59a847dadd176))
41
+ * **tui:** add scrollbar prop to ScrollView and document scroll approaches ([eb78557](https://github.com/visulima/visulima/commit/eb785578ad4f1e7bb1648872e5f3ec1254219113))
42
+ * **tui:** add SelectInput component ported from ink-select-input ([0d2a7fc](https://github.com/visulima/visulima/commit/0d2a7fc06126a899884a556e1cd42693264fd3f4)), closes [#13](https://github.com/visulima/visulima/issues/13) [#13](https://github.com/visulima/visulima/issues/13) [#38](https://github.com/visulima/visulima/issues/38) [#39](https://github.com/visulima/visulima/issues/39) [#22](https://github.com/visulima/visulima/issues/22) [#22](https://github.com/visulima/visulima/issues/22) [#3](https://github.com/visulima/visulima/issues/3) [#4](https://github.com/visulima/visulima/issues/4)
43
+ * **tui:** add shape prop to <Cursor> via DECSCUSR ([303934f](https://github.com/visulima/visulima/commit/303934fa36d78cd30fd74d50026472be9ea20fe4)), closes [vadimdemedes/ink#961](https://github.com/vadimdemedes/ink/issues/961)
44
+ * **tui:** add Slider, Textarea, clipboard, and text selection primitives ([eb0edfb](https://github.com/visulima/visulima/commit/eb0edfbe72d0f6b6bfc5b80104b6124d2688f9da))
45
+ * **tui:** add Spinner component, IME tests, and migrate deps to pnpm catalogs ([e117ba6](https://github.com/visulima/visulima/commit/e117ba6c93881d2bd1fb395d2c7405c09b90bcff))
46
+ * **tui:** add StyledChar text pipeline, Selection API, and examples ([b7d6fa8](https://github.com/visulima/visulima/commit/b7d6fa8e38a57648f3c57169c1286a9e8c9f341d))
47
+ * **tui:** add StyledLine columnar data structure and migrate Output grid ([b497554](https://github.com/visulima/visulima/commit/b49755438290600f3b483e10dfcff2ad991b849f))
48
+ * **tui:** add StyledLine.writeFrom() bulk write method ([8accc25](https://github.com/visulima/visulima/commit/8accc25505c82322aa0d31580048a38e4a4b9849))
49
+ * **tui:** add Tab and Tabs components ported from ink-tab ([5d4c439](https://github.com/visulima/visulima/commit/5d4c439dc26fabf8a68cc99d3ae795e035fdc37f))
50
+ * **tui:** add Table component ported from ink-table ([f1bb95c](https://github.com/visulima/visulima/commit/f1bb95c2dc5599f9f22eb585573aac52423fb50f))
51
+ * **tui:** add TextInput, ConfirmInput, and MultiSelect components ([00fa435](https://github.com/visulima/visulima/commit/00fa4356a9309e49ba752a9bdfb244241b16eecb))
52
+ * **tui:** add Timer, Stopwatch, Help, Paginator, FilePicker components and consolidate exports ([4b2a98f](https://github.com/visulima/visulima/commit/4b2a98f8b6a882763cae4980db402438785cd455))
53
+ * **tui:** add TreeView component with keyboard navigation and selection ([f3421e3](https://github.com/visulima/visulima/commit/f3421e36540f8c7a229e0176c683cb94c0d46e0f))
54
+ * **tui:** add useAnimation hook with shared-timer architecture ([129c036](https://github.com/visulima/visulima/commit/129c036cf1debc76650d97ad5da00ee5a03d5fc1))
55
+ * **tui:** add wrap-anywhere, wrap-preserve-words, and wrap-strict text wrap modes ([e850c12](https://github.com/visulima/visulima/commit/e850c12e866d11ab1a20ec39f7e0c2f624c87d41))
56
+ * **tui:** apply StaticRender render-function pattern from jacob314/ink[#99](https://github.com/visulima/visulima/issues/99) ([d8f03ce](https://github.com/visulima/visulima/commit/d8f03ce3f4b5be784b5993bd28458cd24a8e6830))
57
+ * **tui:** flush scrolled-off lines to terminal scrollback ([7856378](https://github.com/visulima/visulima/commit/78563780b60d506651013dee372bbad4a183bcb0))
58
+ * **tui:** native StyledLine word-wrapping in text-wrap.ts ([187daf5](https://github.com/visulima/visulima/commit/187daf51a5d9ae0441968712661aaffe46cc4936))
59
+ * **tui:** Phase 6 — addRegionTree() and cachedRender activation ([6eedf67](https://github.com/visulima/visulima/commit/6eedf6798ce6b30c8766a6b545fe210933969961))
60
+ * **tui:** Phase 6 complete — Region-based Output with startChildRegion/endChildRegion ([f7d5e3c](https://github.com/visulima/visulima/commit/f7d5e3c59f029dd58cabee901c23b61c84721bbd))
61
+ * **tui:** Phase 6 scaffolding — Region type, setCachedRender, render-cached ([417ede8](https://github.com/visulima/visulima/commit/417ede80e707a925e34b6ff2c0830a6999d7d49e))
62
+ * **tui:** Phase 7 complete — Render caching with StaticRender component ([64cb21f](https://github.com/visulima/visulima/commit/64cb21fbae6f27ed5f4d1df1535ffdd3ee9bae65))
63
+ * **tui:** port ink upstream PR 115/119/123/125 ([2232485](https://github.com/visulima/visulima/commit/22324855fbcca38bc263d46194ccf30522ecc599))
64
+ * **tui:** port scroll, sticky headers, and ResizeObserver from jacob314/ink ([7676c7c](https://github.com/visulima/visulima/commit/7676c7c2d446f3d288e8ab6515059fbd0e2b82e2))
65
+ * **tui:** re-export AppProps/StdinProps/StdoutProps/StderrProps from hook subpaths ([bc8306c](https://github.com/visulima/visulima/commit/bc8306cb1ed52dccd6316009ca1e3c2f497fac35))
66
+ * **tui:** re-export ink-scroll-view, ink-scroll-bar, and ink-scroll-list ([67e6cae](https://github.com/visulima/visulima/commit/67e6caef326ae0f7b9d540ab0b976ad3fa750545))
67
+ * **tui:** split components and hooks into per-symbol subpaths ([8a04b3c](https://github.com/visulima/visulima/commit/8a04b3c17ed3cbe54894b5f117db29e34ee7b144))
68
+ * **tui:** support nested StaticRender and cache trimmed length ([05ec31c](https://github.com/visulima/visulima/commit/05ec31c5b9b02e9cb5e658b0ec077a7c1feec66f))
69
+ * **vis:** add interactive progress bar and replace CI detection with is-in-ci ([255a1b1](https://github.com/visulima/visulima/commit/255a1b100d0dd4bc614094f292b61fc88bc4ad62))
70
+ * **vis:** expand devcontainer command with templates, validation, and config properties ([807e730](https://github.com/visulima/visulima/commit/807e730a43f0ea644d016b4f5506706972d2ff41))
71
+ * **vis:** replace inline TUI with full-screen Nx-style interactive task runner ([1409aad](https://github.com/visulima/visulima/commit/1409aad879c713051bba12298a3feb1d5ba852f2))
72
+ * **vis:** set terminal title to project name on startup ([204622a](https://github.com/visulima/visulima/commit/204622acd943ccad738b33f5e945190e38f5839f))
73
+
74
+ ### Bug Fixes
75
+
76
+ * **bench:** import deep-clone fixture + tui modules via public paths ([362417e](https://github.com/visulima/visulima/commit/362417e58ee07b8efa8fa1057572ea729a035058))
77
+ * **ci:** always run native build job so artifacts are available ([51f3428](https://github.com/visulima/visulima/commit/51f34285bc04a0f6347609db240814862646c1cc))
78
+ * **ci:** make native-binding tests work with and without compiled binary ([9a40fb4](https://github.com/visulima/visulima/commit/9a40fb40d5cba9fcd2e0176eea8b7bf8d9792c7d))
79
+ * **ci:** publish native addons via local semantic-release plugin ([974beb2](https://github.com/visulima/visulima/commit/974beb2d021e7b2afc86b958bd2137be88d2f464))
80
+ * declare libc on linux binding subpackages ([078b31f](https://github.com/visulima/visulima/commit/078b31f1a9029487c86651e75ecdad70f02b37e8)), closes [npm/cli#4828](https://github.com/npm/cli/issues/4828)
81
+ * **release:** patch NAPI version-check string and ship fresh loader on release ([0676e33](https://github.com/visulima/visulima/commit/0676e336f453c9ae38c9f3a5fbbb675f9bff7ea0))
82
+ * remove deprecated baseUrl and downlevelIteration from tsconfigs ([a708366](https://github.com/visulima/visulima/commit/a708366b5c3bc73cfde480a712ed397bd921fb93))
83
+ * Remove JSR configuration generation script and generated jsr.json files ([#616](https://github.com/visulima/visulima/issues/616)) ([533744b](https://github.com/visulima/visulima/commit/533744b103b74896941db5b727173e617a27a63b))
84
+ * Replace resetTerminal with clearScreenAndHomeCursor to preserve scrollback ([#605](https://github.com/visulima/visulima/issues/605)) ([6a79e4d](https://github.com/visulima/visulima/commit/6a79e4d8350b90ec553ad5fbcf825d9ac30ece66))
85
+ * **storage-client:** percent-encode user fields in defaultFingerprint ([7c78a0f](https://github.com/visulima/visulima/commit/7c78a0f9512e2a673b941d80839e9f1e86b7b5d0))
86
+ * **task-runner,tui:** guard null native events and increase CI test timeout ([e76a791](https://github.com/visulima/visulima/commit/e76a791d90043537e08be0545f706e35acaa555d))
87
+ * **task-runner:** use JS fallback for onEvent streaming, fix StaticRender ref ([1a7165c](https://github.com/visulima/visulima/commit/1a7165cd9eb71472895cd08682983fa25703dc93))
88
+ * **terminal:** resolve eslint and formatting issues ([8f30389](https://github.com/visulima/visulima/commit/8f30389deb9ff81e7afce0aa064ef11fcb179f23))
89
+ * **tsconfig:** add node types and fix implicit any parameter ([1744d82](https://github.com/visulima/visulima/commit/1744d82a07fca03f2e6ff660b918e9b2623acf69))
90
+ * **tui:** 2 bug fixes + 2 perf ([53eb884](https://github.com/visulima/visulima/commit/53eb884de4609e6fb2c0ed8af7773673c0b83b2f))
91
+ * **tui:** add explicit return type to useStateRef for isolatedDeclarations ([cf17127](https://github.com/visulima/visulima/commit/cf1712704faea841b8503b02420bad42519badde))
92
+ * **tui:** add missing arrow in bench file arrow functions ([a1b524f](https://github.com/visulima/visulima/commit/a1b524ff44db381d573c3967d5b2e2674ae72564))
93
+ * **tui:** address code review findings ([d4e02c3](https://github.com/visulima/visulima/commit/d4e02c373736b77779021a394c41c573291c2abd))
94
+ * **tui:** address review findings across ported components ([cb727de](https://github.com/visulima/visulima/commit/cb727dec62ad67a16b279bdee96b6e8d48f11b62))
95
+ * **tui:** address SelectInput code review findings ([5a7cf1c](https://github.com/visulima/visulima/commit/5a7cf1ceb4080701d3576aa7b13060b176b380ee))
96
+ * **tui:** annotate Array.from element type in histogram ([8f94a52](https://github.com/visulima/visulima/commit/8f94a52e775430c1336a3b24e9d7a30b59afb3f9))
97
+ * **tui:** apply upstream ResizeObserver NaN guard and measurement extraction ([bcd4fd1](https://github.com/visulima/visulima/commit/bcd4fd16e7e0fda7d3de09657dfe76ce46fa370a))
98
+ * **tui:** backport ink v7.0.1-7.0.3 upstream fixes ([aa981c3](https://github.com/visulima/visulima/commit/aa981c3fc26646baffc4af423bf7e2978598873f))
99
+ * **tui:** benchmarks now use production dist/ build, not tsx source ([b84eb43](https://github.com/visulima/visulima/commit/b84eb436793a0e0e89d406215ef28a20885eb754))
100
+ * **tui:** calculate scroll state in renderToString and add Box scroll tests ([888f8e1](https://github.com/visulima/visulima/commit/888f8e10044073c3558bf4b947f341515c66fba2))
101
+ * **tui:** clear eslint errors in components ([#685](https://github.com/visulima/visulima/issues/685)) ([ebdb47f](https://github.com/visulima/visulima/commit/ebdb47fb22c8584b5908b89b7fbbfa3fb499786b))
102
+ * **tui:** clear terminal on windows fullscreen redraws ([879e83e](https://github.com/visulima/visulima/commit/879e83e45a4b195b3956cfa37f13a8914be3c527))
103
+ * **tui:** correct peer deps and runtime type-fest ([ececda1](https://github.com/visulima/visulima/commit/ececda1cf823ff39e0a1a0e4f1d64015088c42ff))
104
+ * **tui:** declare MIT license on native crate ([9d4ee53](https://github.com/visulima/visulima/commit/9d4ee53ea71c926ec07ce58083de1333ba888aeb))
105
+ * **tui:** declare static props on Form/Transition for isolatedDeclarations ([c30b9f1](https://github.com/visulima/visulima/commit/c30b9f148cf4ea75e54a9e358fea085a34f680e8))
106
+ * **tui:** filter ctrl/meta chord characters in TextInput insertion ([3531b35](https://github.com/visulima/visulima/commit/3531b35dcc79e7a1954136b37f0a6220c8856eee))
107
+ * **tui:** fix alternate-screen tests in CI and increase retry count ([1330266](https://github.com/visulima/visulima/commit/13302665d2c0f1c7ade0f7c73d52db8ca206f384))
108
+ * **tui:** fix beforeExit handler and output clipping for wide content ([1752ed3](https://github.com/visulima/visulima/commit/1752ed3088af025d0a271a97ce1180882f8abd93))
109
+ * **tui:** fix cursor suspense test failing in CI ([14372c7](https://github.com/visulima/visulima/commit/14372c7b0a102eb20c8da4870b3c0bc899e2c08c))
110
+ * **tui:** fix flaky useInput discrete-priority test race condition ([4221e96](https://github.com/visulima/visulima/commit/4221e96dd33fe5a4e0c00939ed1a83853be499ec))
111
+ * **tui:** fix remaining test lint issues ([74c5ec0](https://github.com/visulima/visulima/commit/74c5ec0afb6a108c86fcb22b21bf4d3f8143cd90))
112
+ * **tui:** fix rendering bugs, add edge-case tests and layout snapshots ([ecaff75](https://github.com/visulima/visulima/commit/ecaff75ea6c7d2c41c8c84eeaa1870d1d6cf83d7)), closes [#RGB](https://github.com/visulima/visulima/issues/RGB)
113
+ * **tui:** fix Select All keybinding, scroll double-emit, and type safety issues ([234a164](https://github.com/visulima/visulima/commit/234a1641956693870de4d8e116bd3ed535fd59f4))
114
+ * **tui:** fix StaticRender isolatedDeclarations error ([5a156d1](https://github.com/visulima/visulima/commit/5a156d18e662e9a7123b27fb40f0847e67af91c0))
115
+ * **tui:** fix StyledLine serializer escape code ordering and dim/bold interaction ([434bb42](https://github.com/visulima/visulima/commit/434bb428f6cafa6cb6bf2781c255fd4f4c5c3a25))
116
+ * **tui:** fix test failures and add missing ime-utils module ([6d20130](https://github.com/visulima/visulima/commit/6d201304274c48380895706abfc2cef2e350dbdf))
117
+ * **tui:** fix test mock stdin setup and incorrect assertions ([4f6d877](https://github.com/visulima/visulima/commit/4f6d8774e37e3fc276f1163e00d464908115e9b3))
118
+ * **tui:** fixed types ([abe7106](https://github.com/visulima/visulima/commit/abe7106aa1f55340d1b218f4b338709a0317c671))
119
+ * **tui:** floor text node width when calling wrapOrTruncateStyledChars ([1d06086](https://github.com/visulima/visulima/commit/1d06086404c54b46baec8f688fc1e39228a0ab75))
120
+ * **tui:** guard Spinner against unknown spinner name ([94ea8fd](https://github.com/visulima/visulima/commit/94ea8fd639a6ae66799f42996f731720aa363c31))
121
+ * **tui:** harden persistent-state and fix export/sideeffects drift ([40a0dbe](https://github.com/visulima/visulima/commit/40a0dbedc317af0e02d2e87314295c66c276991f))
122
+ * **tui:** improve test reliability for PTY and timing-sensitive tests ([d66d68e](https://github.com/visulima/visulima/commit/d66d68eb48ecb93adb8c00b1e9247c2a474d3d76))
123
+ * **tui:** inline component and hook barrel exports in ink entry ([1cf8dd2](https://github.com/visulima/visulima/commit/1cf8dd25c91a2001268fb9d964d95df649bf7832))
124
+ * **tui:** make interactive tests CI-safe by setting interactive: true ([477b003](https://github.com/visulima/visulima/commit/477b00334e6722e1f2de1bf8149d7000a0be93c3))
125
+ * **tui:** map 0x7F to backspace instead of delete in key parser ([bd111a5](https://github.com/visulima/visulima/commit/bd111a5884758317b4bd6ca6a7b87e2b182f2590)), closes [ink-rs/ink#634](https://github.com/ink-rs/ink/issues/634)
126
+ * **tui:** narrow ANSI_CODES type and cast yoga Node remove call ([87b2c67](https://github.com/visulima/visulima/commit/87b2c6787d44ae630a0eece56b3b2df395a7c63b))
127
+ * **tui:** prevent interactive apps from exiting on beforeExit ([449e84c](https://github.com/visulima/visulima/commit/449e84ca739d9dd48728f40ad9514359306f9527))
128
+ * **tui:** properly fix eslint errors in code ([6fc67aa](https://github.com/visulima/visulima/commit/6fc67aa9d6381e7d8763e0dab8acec272f16f763))
129
+ * **tui:** remove 16-bit offset limit from StyledLine and guard negative border sizes ([526bd35](https://github.com/visulima/visulima/commit/526bd357b4ec2512271612bdcc0e24d5da9ebc7c))
130
+ * **tui:** rename components to kebab-case, fix broken test assertions, protect fixtures from auto-format ([caa2e86](https://github.com/visulima/visulima/commit/caa2e86f7500467e56c89b3671d0e33b6b5d0173))
131
+ * **tui:** resolve all StyledLine serializer edge cases ([445d798](https://github.com/visulima/visulima/commit/445d7983f791593507c70a70314a3ea658cb780e))
132
+ * **tui:** resolve all TypeScript and ESLint errors ([c623c2a](https://github.com/visulima/visulima/commit/c623c2a17842a7bea29c1cac4daa770cda87dc4a))
133
+ * **tui:** resolve isolatedDeclarations build errors and runtime bugs ([2c0f2bb](https://github.com/visulima/visulima/commit/2c0f2bba384e50ddca975ea5df83149585fbd016))
134
+ * **tui:** resolve remaining ESLint errors across all source files ([4f996cb](https://github.com/visulima/visulima/commit/4f996cb546f81d2925a71b5c04d0f85dbc5d3a9c))
135
+ * **tui:** restrict OSC passthrough to OSC 8 hyperlinks ([355f91a](https://github.com/visulima/visulima/commit/355f91aefae0a8e623a6c434b91dddb8d5e3f8d8)), closes [ink#957](https://github.com/visulima/ink/issues/957)
136
+ * **tui:** revert write-path slice+combine optimization ([56a2e63](https://github.com/visulima/visulima/commit/56a2e63bce941d70823a105bbd7e30411d89461f))
137
+ * **tui:** share useBoxMetrics resize listener via emitLayoutListeners ([2a17d4f](https://github.com/visulima/visulima/commit/2a17d4f947f33a29830b230a895ff4553710d0b0))
138
+ * **tui:** skip flaky IME flush test on Linux PTY ([9dec064](https://github.com/visulima/visulima/commit/9dec064ac7795341abd0e34200791c2a60a56fb7))
139
+ * **tui:** type histogram bucket counts as number[] ([883eca4](https://github.com/visulima/visulima/commit/883eca42cf74df3db8409a5f921d75371ba79070))
140
+ * **tui:** use index keys in ErrorOverview stack + excerpt lists ([86cfdc2](https://github.com/visulima/visulima/commit/86cfdc24821dce8a4edb0ffb22f386eb7a14175b))
141
+ * updated install script ([bdeaece](https://github.com/visulima/visulima/commit/bdeaeced0357901dfd92cf1e5a4345cc8924ad65))
142
+ * **vis,tui:** fix 10 code review issues across TUI components ([3410347](https://github.com/visulima/visulima/commit/34103473cb661cca4187661e59b396eecff1bdec))
143
+ * **vis,tui:** validate directory in detectPm and use useLayoutEffect in StaticRender ([de53e9b](https://github.com/visulima/visulima/commit/de53e9b7a944a3778f0d10f1daa1653a1063d9b3))
144
+
145
+ ### Performance Improvements
146
+
147
+ * **tui:** add setCharFast() to StyledLine and use in Output hot path ([61e507f](https://github.com/visulima/visulima/commit/61e507f3a5e3a0d852e4c18fc68d87d7aa8d5188))
148
+ * **tui:** avoid per-keystroke Key allocation and double key-enumeration in prepareUpdate ([f87f6c7](https://github.com/visulima/visulima/commit/f87f6c789324b21ca49c8415b71ba95bdfc94ac2))
149
+ * **tui:** batch StyledChar-to-StyledLine conversion in processStyledWriteOperation ([6035dbc](https://github.com/visulima/visulima/commit/6035dbc2e68085f4f2fa1022fd3a34fa0ce1a03d))
150
+ * **tui:** optimize ink components for re-render performance and fix pre-existing type errors ([8803a2f](https://github.com/visulima/visulima/commit/8803a2f4e3c705b93266d9814744c06412e6f1a2))
151
+ * **tui:** optimize render pipeline and defer kitty keyboard auto-detection ([946ab50](https://github.com/visulima/visulima/commit/946ab5058bfeb49daabe0f56fa1f9ffacf3c9a70))
152
+ * **tui:** Phase 4 — StyledLine fast path in text pipeline ([7c36e92](https://github.com/visulima/visulima/commit/7c36e929a5c0c5dd4526e6934df43cfe551a01ab))
153
+ * **tui:** port jacob314/ink micro-optimizations ([cc0131d](https://github.com/visulima/visulima/commit/cc0131d3efa832330e6eb129ec3d61e0d8be3887))
154
+ * **tui:** remove autoBind overhead and optimize App component ([b0c4f36](https://github.com/visulima/visulima/commit/b0c4f36e0f0ac44a11942973c6cca9c3e3faa72e))
155
+ * **tui:** remove autoBind overhead and optimize App component ([d2adf6b](https://github.com/visulima/visulima/commit/d2adf6bdac1a8f5316bdd0aa6b402ddd054f2146))
156
+ * **tui:** remove callBeforeRender tree walk from hot path ([0c18e06](https://github.com/visulima/visulima/commit/0c18e0681091ec13fa904bdafe6aba8c6ca6483f))
157
+ * **tui:** remove performance.now() from render hot path ([acb4150](https://github.com/visulima/visulima/commit/acb4150c117677c9634bda7e482da126ed3ec73d))
158
+ * **tui:** revert ref-caching in App back to ink's direct dependency pattern ([073f3ef](https://github.com/visulima/visulima/commit/073f3efffb63f52c4b53b92e57977e87dcbb3ea9))
159
+ * **tui:** rewrite wrapStyledLine with index-based tracking ([8de898e](https://github.com/visulima/visulima/commit/8de898e9ca429a15e258137d791391100613006e))
160
+ * **tui:** simplify and optimize hot path after code review ([b937d4e](https://github.com/visulima/visulima/commit/b937d4efdca0d7691ccacc59afbf67c21d255cb5))
161
+ * **tui:** span-walk serializer with getTextRange for O(spans) output ([d5c5e0d](https://github.com/visulima/visulima/commit/d5c5e0d80733edd1a7a5f07432860e390d8d690f))
162
+ * **vis:** wrap immutable TUI components with StaticRender ([00e47e9](https://github.com/visulima/visulima/commit/00e47e9f7a6c562570e0b090b7940389451aa1ef))
163
+
164
+ ### Documentation
165
+
166
+ * prettier-format agent instructions ([71b6414](https://github.com/visulima/visulima/commit/71b6414528780ac82c4e0bb25b5f4f11faba5549))
167
+ * **tui:** add ink-ui component examples, media, and examples.mdx updates ([926ca3e](https://github.com/visulima/visulima/commit/926ca3e5b8ce0d0907f0ace22f93e184d6ef9993))
168
+ * **tui:** add performance visuals and media from ratatat ([6868e6c](https://github.com/visulima/visulima/commit/6868e6c55b03cad968efd9d67b88b8fc8a009d4e))
169
+ * **tui:** add TODO for StyledLine-native measureTextNode ([e5d0407](https://github.com/visulima/visulima/commit/e5d04076cac7244538f88f84ac196e0d575bdf7a))
170
+ * **tui:** all 7 phases complete ([a463916](https://github.com/visulima/visulima/commit/a4639169b7efb199d8b4685ba5a3c6ea907c2641))
171
+ * **tui:** correct sideEffects guidance ([e41d2bb](https://github.com/visulima/visulima/commit/e41d2bb33807d227b94eba973dcf6fa21e01566c))
172
+ * **tui:** cover 51 components, 4 hooks, ink PR ports ([0138e99](https://github.com/visulima/visulima/commit/0138e99694d82c0789bae32977480ee9dc61aa79)), closes [123/#125](https://github.com/123/visulima/issues/125)
173
+ * **tui:** document border background color support and fix table formatting ([a12cb57](https://github.com/visulima/visulima/commit/a12cb5786fb5885ea7a747fc254528f08a6cbb93))
174
+ * **tui:** document Cursor component and useCursor hook ([67606c5](https://github.com/visulima/visulima/commit/67606c5fc93c15f0c20c1c6290d3dfa51f566d81))
175
+ * **tui:** restructure README, link to visulima.com for full docs ([00e0de1](https://github.com/visulima/visulima/commit/00e0de199b0f6d496ccd3db27d12d839bfa361db))
176
+ * **tui:** update LICENSE.md with complete attribution ([b89b9bd](https://github.com/visulima/visulima/commit/b89b9bd368a7c52458a584787bb4b5bfadc342b3))
177
+ * **tui:** update migration plan — Phase 6 scaffolding done ([8b7ca9c](https://github.com/visulima/visulima/commit/8b7ca9c05abf9d3a5836856844b1de3eaf50d612))
178
+ * **tui:** update StyledLine migration plan with completion status ([db6b452](https://github.com/visulima/visulima/commit/db6b452622f1bc8e97a1c4878732652ead1f5106))
179
+
180
+ ### Styles
181
+
182
+ * cs fixes ([2a960bb](https://github.com/visulima/visulima/commit/2a960bb1772c9dc70080e2d75d3a0d827034e294))
183
+ * cs fixs ([0666662](https://github.com/visulima/visulima/commit/066666293c50cde41c796dc38b4b62c48531a3c0))
184
+
185
+ ### Miscellaneous Chores
186
+
187
+ * add fallow code-intelligence across all packages ([a3b4821](https://github.com/visulima/visulima/commit/a3b48215002e86fed20f2973038b5d4a0aa1ce04))
188
+ * added og images ([02d9d1e](https://github.com/visulima/visulima/commit/02d9d1e47be3ce75679ea89e857dc4e4bfe4946b))
189
+ * apply eslint + prettier autofixes across packages ([c1bb784](https://github.com/visulima/visulima/commit/c1bb7848a0d93d0dfe2960c77e3cda22239c79a0))
190
+ * bump engines.node to ^22.14.0 || >=24.10.0 ([c3d0931](https://github.com/visulima/visulima/commit/c3d0931d1504e4f21ebf50ea680cfa7ce4ba15ce))
191
+ * **ci-stability:** green CI across vis, native, lint, tests, attw ([#651](https://github.com/visulima/visulima/issues/651)) ([d4eb684](https://github.com/visulima/visulima/commit/d4eb684b5f75c818c9251048c605a0ed54a268e3))
192
+ * clean up ([c9f395a](https://github.com/visulima/visulima/commit/c9f395a1c80877f5dfa40eefc2fda58837244668))
193
+ * **deps:** bump rust crates to current majors ([3a1d9bb](https://github.com/visulima/visulima/commit/3a1d9bb7f6e2c6b2d3862e212ae62707d60815cc))
194
+ * **fallow:** resolve dead-code findings ([c4125d5](https://github.com/visulima/visulima/commit/c4125d53e03ac9d90115399634535991927a96cc))
195
+ * fixed jsr.json ([5d85e51](https://github.com/visulima/visulima/commit/5d85e5179de38e284ec433b14d77c71a1619c8d6))
196
+ * **lint:** clear eslint findings in bench + animation test ([16bba0b](https://github.com/visulima/visulima/commit/16bba0b6a35885904b719a3f4a560da436a997c4))
197
+ * path update ([42f4097](https://github.com/visulima/visulima/commit/42f4097b9287be1e70dbfb348626ec21f599fd70))
198
+ * re-enable jsdoc/match-description in api-platform and tighten config docs ([4ecaa31](https://github.com/visulima/visulima/commit/4ecaa315064cdd798af1ea1296be1fe52967bf9a))
199
+ * re-sort workspace package.json files via vis sort-package-json ([f625696](https://github.com/visulima/visulima/commit/f625696cfac974325774b3243e1a83c3d23acbd7))
200
+ * **release:** @visulima/tui@1.0.0-alpha.1 [skip ci]\n\n## @visulima/tui 1.0.0-alpha.1 (2026-04-08) ([8d8e3c3](https://github.com/visulima/visulima/commit/8d8e3c36fde375202941ff561001a9ca4b43d916))
201
+ * **release:** @visulima/tui@1.0.0-alpha.10 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.9...@visulima/tui@1.0.0-alpha.10) (2026-05-07) ([3c932af](https://github.com/visulima/visulima/commit/3c932af14cd586bff08a1fac37e524aaffc02435))
202
+ * **release:** @visulima/tui@1.0.0-alpha.11 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.11](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.10...@visulima/tui@1.0.0-alpha.11) (2026-05-10) ([6941f1c](https://github.com/visulima/visulima/commit/6941f1cb79604fbd5ba194fa55f7bbce16957b7d))
203
+ * **release:** @visulima/tui@1.0.0-alpha.12 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.12](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.11...@visulima/tui@1.0.0-alpha.12) (2026-05-10) ([5ff86cc](https://github.com/visulima/visulima/commit/5ff86cc2216ecd80740bb716656ada5c05e01b73))
204
+ * **release:** @visulima/tui@1.0.0-alpha.13 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.13](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.12...@visulima/tui@1.0.0-alpha.13) (2026-05-11) ([4ab93d7](https://github.com/visulima/visulima/commit/4ab93d7c800bbb7c03e244ac7f1643111df1fcc2))
205
+ * **release:** @visulima/tui@1.0.0-alpha.14 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.14](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.13...@visulima/tui@1.0.0-alpha.14) (2026-05-11) ([c06df57](https://github.com/visulima/visulima/commit/c06df574a4f72f183fe211e17e1960463a611a44))
206
+ * **release:** @visulima/tui@1.0.0-alpha.15 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.15](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.14...@visulima/tui@1.0.0-alpha.15) (2026-05-14) ([9b02c82](https://github.com/visulima/visulima/commit/9b02c82b06ff23b98f2d2a321d6118f580fa8955))
207
+ * **release:** @visulima/tui@1.0.0-alpha.16 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.16](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.15...@visulima/tui@1.0.0-alpha.16) (2026-05-16) ([6938484](https://github.com/visulima/visulima/commit/693848429708c98789a11da360bb577477fa975a))
208
+ * **release:** @visulima/tui@1.0.0-alpha.17 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.17](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.16...@visulima/tui@1.0.0-alpha.17) (2026-05-19) ([c0ebb50](https://github.com/visulima/visulima/commit/c0ebb50c0f7414035c40738635d7f8de02d79bfc))
209
+ * **release:** @visulima/tui@1.0.0-alpha.18 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.18](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.17...@visulima/tui@1.0.0-alpha.18) (2026-05-20) ([f2078e2](https://github.com/visulima/visulima/commit/f2078e247a9f3e2ac2a1e867a2aa7bcdfd1d6ab3))
210
+ * **release:** @visulima/tui@1.0.0-alpha.19 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.19](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.18...@visulima/tui@1.0.0-alpha.19) (2026-05-26) ([7941cc3](https://github.com/visulima/visulima/commit/7941cc3f6d67991b6bf5297480d3e9fb090b06c9))
211
+ * **release:** @visulima/tui@1.0.0-alpha.2 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.2](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.1...@visulima/tui@1.0.0-alpha.2) (2026-04-09) ([0e3a33e](https://github.com/visulima/visulima/commit/0e3a33efa259bf24fff1870478da126c9993f519))
212
+ * **release:** @visulima/tui@1.0.0-alpha.20 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.20](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.19...@visulima/tui@1.0.0-alpha.20) (2026-05-27) ([98667aa](https://github.com/visulima/visulima/commit/98667aa2c7d4dbab9f7fd01f99bb70e06b47d974))
213
+ * **release:** @visulima/tui@1.0.0-alpha.21 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.21](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.20...@visulima/tui@1.0.0-alpha.21) (2026-06-02) ([0505d25](https://github.com/visulima/visulima/commit/0505d25046ce9f50f94f94d6ea59e0f94b2afedf))
214
+ * **release:** @visulima/tui@1.0.0-alpha.22 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.22](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.21...@visulima/tui@1.0.0-alpha.22) (2026-06-04) ([571bdc0](https://github.com/visulima/visulima/commit/571bdc01b8a6221f981ba1c6ae76b6ca82540501))
215
+ * **release:** @visulima/tui@1.0.0-alpha.23 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.23](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.22...@visulima/tui@1.0.0-alpha.23) (2026-06-04) ([e2c027a](https://github.com/visulima/visulima/commit/e2c027a4e383a60ed0d30a3c7c1e243b29e5fb91))
216
+ * **release:** @visulima/tui@1.0.0-alpha.24 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.24](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.23...@visulima/tui@1.0.0-alpha.24) (2026-06-13) ([86a6730](https://github.com/visulima/visulima/commit/86a673036194ccce96bc728b768e10417f7ea0c1))
217
+ * **release:** @visulima/tui@1.0.0-alpha.25 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.25](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.24...@visulima/tui@1.0.0-alpha.25) (2026-06-15) ([1605835](https://github.com/visulima/visulima/commit/16058354136af9003785a9cc9dea50b11ccbe80c))
218
+ * **release:** @visulima/tui@1.0.0-alpha.26 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.26](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.25...@visulima/tui@1.0.0-alpha.26) (2026-06-19) ([009d02e](https://github.com/visulima/visulima/commit/009d02eb49f41d19c82b96121521538bd8b818a9))
219
+ * **release:** @visulima/tui@1.0.0-alpha.27 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.27](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.26...@visulima/tui@1.0.0-alpha.27) (2026-06-30) ([40fc68c](https://github.com/visulima/visulima/commit/40fc68c68f04df4fa68724c0bf78350407af87bb))
220
+ * **release:** @visulima/tui@1.0.0-alpha.3 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.3](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.2...@visulima/tui@1.0.0-alpha.3) (2026-04-22) ([3ece430](https://github.com/visulima/visulima/commit/3ece4302a9c20bc43ca80ab287cbbd72ef1c75e5))
221
+ * **release:** @visulima/tui@1.0.0-alpha.4 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.4](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.3...@visulima/tui@1.0.0-alpha.4) (2026-04-22) ([ea8594d](https://github.com/visulima/visulima/commit/ea8594dd2b2eacd109ab4b1181f30ce750b33e44))
222
+ * **release:** @visulima/tui@1.0.0-alpha.5 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.5](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.4...@visulima/tui@1.0.0-alpha.5) (2026-04-28) ([8656e85](https://github.com/visulima/visulima/commit/8656e85d9ab3805b42d3814b4051ef57b156ee7f))
223
+ * **release:** @visulima/tui@1.0.0-alpha.6 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.6](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.5...@visulima/tui@1.0.0-alpha.6) (2026-05-04) ([c197079](https://github.com/visulima/visulima/commit/c197079781cf68a37f2cb174ec88962fa10e869e))
224
+ * **release:** @visulima/tui@1.0.0-alpha.7 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.7](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.6...@visulima/tui@1.0.0-alpha.7) (2026-05-06) ([a775a83](https://github.com/visulima/visulima/commit/a775a83b47caa5a33dd2f1d1b66465852976c295))
225
+ * **release:** @visulima/tui@1.0.0-alpha.8 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.8](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.7...@visulima/tui@1.0.0-alpha.8) (2026-05-06) ([de7d525](https://github.com/visulima/visulima/commit/de7d52536de6a5e608596296e5d8106611723f86))
226
+ * **release:** @visulima/tui@1.0.0-alpha.9 [skip ci]\n\n## @visulima/tui [1.0.0-alpha.9](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.8...@visulima/tui@1.0.0-alpha.9) (2026-05-07) ([5ab84f6](https://github.com/visulima/visulima/commit/5ab84f62454ecd4ab548c9527fd0fba05a8b4b72))
227
+ * remove not needed file ([1944cee](https://github.com/visulima/visulima/commit/1944cee9e6b8083acc728ed69ee2ca2b2a240bc3))
228
+ * remove unused deprecated aliases ([#612](https://github.com/visulima/visulima/issues/612)) ([24ee546](https://github.com/visulima/visulima/commit/24ee546bcb2c17b8915622e4878797c00aa1d813))
229
+ * **repo:** apply eslint --fix and prettier --fix across packages ([#650](https://github.com/visulima/visulima/issues/650)) ([2e26a84](https://github.com/visulima/visulima/commit/2e26a84774f218f21345e9a8ecd68236b6542743)), closes [#620](https://github.com/visulima/visulima/issues/620)
230
+ * **repo:** sort package.json keys across all packages ([e1fd9ab](https://github.com/visulima/visulima/commit/e1fd9ab467ef96a98c777da1572ff6a50fcf7e71))
231
+ * sorted package.json ([b47c545](https://github.com/visulima/visulima/commit/b47c545591600fdab17d5cd3a3fbc68b61e199da))
232
+ * **tui:** align jsx ternaries with prettier formatting ([3ed06fa](https://github.com/visulima/visulima/commit/3ed06fa1979e8c5be29948a4793580e516b1c370))
233
+ * **tui:** apply formatter and lint fixes ([e70da36](https://github.com/visulima/visulima/commit/e70da3672d1c06cbbe2a6294c86535d770dc04bf))
234
+ * **tui:** apply linter auto-fixes and formatting ([18b2361](https://github.com/visulima/visulima/commit/18b23617980b889c9bc2568c95de8d863411805d))
235
+ * **tui:** apply pending changes ([f432dc8](https://github.com/visulima/visulima/commit/f432dc8aae2c4f26b43132d956067b770d4a9548))
236
+ * **tui:** apply pending lint and source updates ([7fe85fe](https://github.com/visulima/visulima/commit/7fe85fe0261d2d792762971c56a98fe1c03040a6))
237
+ * **tui:** apply prettier and eslint formatting sweep ([62a7700](https://github.com/visulima/visulima/commit/62a7700005ff20a567643a09bc89a7d212b3e17d))
238
+ * **tui:** apply prettier and eslint quote-style auto-fix ([a815954](https://github.com/visulima/visulima/commit/a8159542aa6fcef2060bf69d6a9fd4fe8a034ec2))
239
+ * **tui:** apply prettier formatting ([586f156](https://github.com/visulima/visulima/commit/586f1564befa31ce55948836bf9cf504bbfb58a0))
240
+ * **tui:** bump react peer to >=19.2.6 and bench ink to v7 ([4c97b71](https://github.com/visulima/visulima/commit/4c97b71fa229bf4d03e585fbdbb962795a3e4adc))
241
+ * **tui:** clean up ink.tsx — document React.memo limitation ([55bf3f0](https://github.com/visulima/visulima/commit/55bf3f09e21730e0ccd0c9825edb8c0a8b333880))
242
+ * **tui:** clear lint warnings ([74a3679](https://github.com/visulima/visulima/commit/74a36798eb1768dad01bcc14e1ba25079ada25d5))
243
+ * **tui:** configure eslint defaultProject for tsconfig resolution ([a5996e7](https://github.com/visulima/visulima/commit/a5996e7cdbfd9d67b9a56baac1cbb7fb62eeb66a))
244
+ * **tui:** configure eslint with typescript-aware linting ([dfeacdb](https://github.com/visulima/visulima/commit/dfeacdb5f546174c419dbad77438ca6be6135005))
245
+ * **tui:** drop runtime deps in favor of local helpers ([4427daf](https://github.com/visulima/visulima/commit/4427daf4a8d5c7b831950d3e75bd066e1ff16ab3))
246
+ * **tui:** enforce curly braces and apply lint fixes ([ffab48f](https://github.com/visulima/visulima/commit/ffab48f89720a8e906d863bb3539c86bee9783a5))
247
+ * **tui:** expand inline if-return to block syntax ([a89cda6](https://github.com/visulima/visulima/commit/a89cda6171bd53e99bd623e96b56d901d75dae3c))
248
+ * **tui:** expand inline if-return to block syntax ([20f1494](https://github.com/visulima/visulima/commit/20f1494b88a22f519cc9d09e955b463dd5dec0cc))
249
+ * **tui:** fix all remaining eslint code errors (709 → 218) ([84ad020](https://github.com/visulima/visulima/commit/84ad02027383fc90c10074dbcc8a9b57fe2d64cb))
250
+ * **tui:** fix eslint errors and add eslint-disable directives ([d72a525](https://github.com/visulima/visulima/commit/d72a525114502053f059c614c3e82da3c0abd2c0))
251
+ * **tui:** fix lint errors ([ca7d9ff](https://github.com/visulima/visulima/commit/ca7d9ff9b1abe21a660b71897d33ff6c9c0446c7))
252
+ * **tui:** housekeeping cleanup ([b79b801](https://github.com/visulima/visulima/commit/b79b801b28d4a56171581ebcebb8fd0d75e89ac7))
253
+ * **tui:** migrate .prettierrc.cjs to prettier.config.js ([bbcc819](https://github.com/visulima/visulima/commit/bbcc8193a672a2df80ba3bf5cedadf716db04636))
254
+ * **tui:** move scroll media to docs/media, update lockfile and snapshots ([2b30bde](https://github.com/visulima/visulima/commit/2b30bde2e126febdc669fd5dc6d98dbddc6aef99))
255
+ * **tui:** remove stale migration comments from styled-line-bridge ([0f371c2](https://github.com/visulima/visulima/commit/0f371c2b97e541e9ef2f18c37f95c5af934a7f16))
256
+ * **tui:** resolve TODOs and update migration plan ([5795d2b](https://github.com/visulima/visulima/commit/5795d2ba7038c307ef01a834ca636a09e9cba9b6))
257
+ * **tui:** update bundled dependency license formatting ([78637fd](https://github.com/visulima/visulima/commit/78637fd2dd415cc34283f6eab8efa7836f920149))
258
+ * **tui:** upgrade packem to 2.0.0-alpha.76 ([12e76e0](https://github.com/visulima/visulima/commit/12e76e05c3c7f2656af061a058f6812c7c45d1e4))
259
+ * update examples ([431fadc](https://github.com/visulima/visulima/commit/431fadc784b9099aa019f15da0dc564eb34f31b4))
260
+ * update examples ([51c37c2](https://github.com/visulima/visulima/commit/51c37c2d14e864cb91cf82c6cc59df55ef7c9191))
261
+ * update license ([ee53d3f](https://github.com/visulima/visulima/commit/ee53d3f42d0952a793acac0bbe933cc8a4212e05))
262
+
263
+ ### Code Refactoring
264
+
265
+ * replace inline import() types with top-level imports ([4569a4c](https://github.com/visulima/visulima/commit/4569a4ca04723da069f985855dcfab292f7347e1))
266
+ * **tui:** apply linting and formatting fixes ([db8f922](https://github.com/visulima/visulima/commit/db8f9226b35a629ef403ac9c0800469bd08a1d08))
267
+ * **tui:** apply Vercel React best practices to App component ([f36f02b](https://github.com/visulima/visulima/commit/f36f02b3e0b8b2b8e3c65e661cfb0ddb1a218e6b))
268
+ * **tui:** convert Output from operation queue to immediate writes ([cce0a90](https://github.com/visulima/visulima/commit/cce0a90b61b14e43f42cc628340462e107ac7ff4))
269
+ * **tui:** extract shared color-utils and unify span mutation ([291a81f](https://github.com/visulima/visulima/commit/291a81fcfb0c14e5c2ee394b25495c6b0a8f2726))
270
+ * **tui:** fix additional test lint issues from background agent ([b733b5b](https://github.com/visulima/visulima/commit/b733b5b3449038e5a338f7ddee3277fa6a03b4f0))
271
+ * **tui:** fix eslint errors in source files ([69daaa6](https://github.com/visulima/visulima/commit/69daaa66ff53893ac21ca5bfac3f77cd286d173c))
272
+ * **tui:** fix eslint errors in test and example files ([11d07ce](https://github.com/visulima/visulima/commit/11d07ce4ff5fd99dd5e3bdd1ea749e372e126464))
273
+ * **tui:** fix lint issues in fixtures, tests, and source files ([1935312](https://github.com/visulima/visulima/commit/19353126a86ed8f48e9275c5c69dd2a5b3b31c73))
274
+ * **tui:** merge examples-raw/ into examples/raw/ ([180ea9c](https://github.com/visulima/visulima/commit/180ea9c76e2919286c5c8138461aaead29e44d58))
275
+ * **tui:** port scroll components, remove ink peer dep ([d8acb7c](https://github.com/visulima/visulima/commit/d8acb7ceb5725ccff96ce20afef928209698db5f))
276
+ * **tui:** reformat NAPI loader and src to prettier style ([38f99e5](https://github.com/visulima/visulima/commit/38f99e521be081fefb134e0ad25172fbb4de2965))
277
+ * **tui:** remove @alcalzone/ansi-tokenize dependency ([dab87d8](https://github.com/visulima/visulima/commit/dab87d8c4d0b2168d0028f8065b1bce5af703a18))
278
+ * **tui:** replace chalk and boxen with visulima packages ([a5fb042](https://github.com/visulima/visulima/commit/a5fb0421333840f6e1a823b3d708a2741a059845))
279
+ * **tui:** replace external deps with visulima packages ([5a6ecf8](https://github.com/visulima/visulima/commit/5a6ecf8a1c63d44c59756e9ba8053c85de68a2a1))
280
+ * **tui:** resolve fallow dead-code findings ([24fc8ad](https://github.com/visulima/visulima/commit/24fc8ad90face6d37f02edb4e87d18a7f2eb7900))
281
+ * **tui:** revert Output from region stack to flat clip model ([d2b13aa](https://github.com/visulima/visulima/commit/d2b13aa3ef53bdc75b9cca4cda780ff149aa71be))
282
+ * **tui:** simplify code, add missing tests, improve type safety ([d1035ce](https://github.com/visulima/visulima/commit/d1035ceea25d0778be576bf0c8dc06b26b44a0ad))
283
+ * **tui:** switch spinner to @visulima/spinner ([0c2e2f4](https://github.com/visulima/visulima/commit/0c2e2f498e8c2f4bee46b257dfc1f61d5924a012))
284
+ * **tui:** unify napi root-binding loader ([84172fc](https://github.com/visulima/visulima/commit/84172fcb8675881313066fd5dc96d2d452e1d3f2))
285
+ * **vis:** unify TUI style across run and update commands ([2c85520](https://github.com/visulima/visulima/commit/2c855204a1972596e079a42e12b3a79aba6c657c))
286
+
287
+ ### Tests
288
+
289
+ * adjusted test ([7b734cb](https://github.com/visulima/visulima/commit/7b734cbaf684acb38332adf7d6e6ed5cb585a5fb))
290
+ * fix failing and flaky package tests ([3f2894e](https://github.com/visulima/visulima/commit/3f2894e816e99f465abb0d3b7d5161af69bbb4ec))
291
+ * **repo:** add dist runtime + types integration tests ([32ee300](https://github.com/visulima/visulima/commit/32ee300b7184117a0ddf9f9d390f75f8932d5ed9))
292
+ * **secret-scanner:** add per-file JIT warmup and extended timeouts ([3255e63](https://github.com/visulima/visulima/commit/3255e636cb554e3bfb40e8c4cafd6108034f9acf))
293
+ * **tui, dev-toolbar:** fix expect.assertions counts on looped assertions ([898bc59](https://github.com/visulima/visulima/commit/898bc59ef217f7c8ee2aa7fdf7da3d355c028b13))
294
+ * **tui, find-ai-runner:** fix CI-flaky tests with polling and retry ([8f574f5](https://github.com/visulima/visulima/commit/8f574f5cac421fdd7090eb059d4c1d82af3c1f6a))
295
+ * **tui:** add @jrichman/ink render benchmark comparison ([0cd8576](https://github.com/visulima/visulima/commit/0cd85769ce51490a4bfe1b2cca39226009b3512e))
296
+ * **tui:** add benchmarks for new components and utilities ([dac6310](https://github.com/visulima/visulima/commit/dac63103fe08fc23542ab0331e895c3062a8b96a))
297
+ * **tui:** add border background color example and tests ([6b6ee05](https://github.com/visulima/visulima/commit/6b6ee052c1de8e1fdb3522141bd7e7cf6c088eac))
298
+ * **tui:** add CJK text truncation tests from ink upstream ([#598](https://github.com/visulima/visulima/issues/598)) ([e8e5002](https://github.com/visulima/visulima/commit/e8e5002b278dc337b280ba8f470c0e4c6223a822))
299
+ * **tui:** add ink v6.8.0 test suite converted from Ava to Vitest ([60c9679](https://github.com/visulima/visulima/commit/60c9679fd7e326203f94857cb8a97cb54a460725))
300
+ * **tui:** add native-binding test for CI build-native workflow ([b3bffc4](https://github.com/visulima/visulima/commit/b3bffc4f0a5892e2219dc9fe7e395ac761249640))
301
+ * **tui:** add scroll component tests and docs with demo SVGs ([2a86ee1](https://github.com/visulima/visulima/commit/2a86ee15a8498e8032ccb187fa18bb654afa547b))
302
+ * **tui:** cover input parser, text-wrap, measure-text/element, and selection logic ([47b4311](https://github.com/visulima/visulima/commit/47b43119fb47fad536ea68e4d3ae0a4ede159b87))
303
+ * **tui:** de-flake form-controls autoFocus race ([d787b44](https://github.com/visulima/visulima/commit/d787b44a8dc6147c780632ac6b2879b675382d84))
304
+ * **tui:** de-flake radio-group commit-on-space test ([7b9b9e8](https://github.com/visulima/visulima/commit/7b9b9e8dbc43919116ecf6c26e62515c10789ab2))
305
+ * **tui:** de-flake same-interval animation sync on slow ci ([d8418de](https://github.com/visulima/visulima/commit/d8418de0831740b473cdfde665811fe0eeccebdc))
306
+ * **tui:** de-flake streamingText typewriter onComplete assertion ([2e02f04](https://github.com/visulima/visulima/commit/2e02f047665eab077b966788c45c0a43092bf631))
307
+ * **tui:** de-flake toggle focus management ([ceb4007](https://github.com/visulima/visulima/commit/ceb4007728f7e97894ec2a0734acc2f1f5edca78))
308
+ * **tui:** fix 15 broken ink component tests ([c1e25a0](https://github.com/visulima/visulima/commit/c1e25a00d0fbd4532df0802a07452dc803e93f79))
309
+ * **tui:** gate ink input emits on the readable listener ([3c45fc6](https://github.com/visulima/visulima/commit/3c45fc666349d4c2983f92ed028ed65e1cb671a3))
310
+ * **tui:** move expect.assertions past platform-guard early returns ([f3ce2e3](https://github.com/visulima/visulima/commit/f3ce2e3eecac57192f4b91582ca990e4256b4538))
311
+ * **tui:** move remaining expect.assertions past platform guards ([c227075](https://github.com/visulima/visulima/commit/c2270756cfdc87fa083ea1f8f90d6ece76951540))
312
+ * **tui:** pass interactive:true to useBoxMetrics resize-listener tests ([e6394be](https://github.com/visulima/visulima/commit/e6394be60ad294235c88f62e53b90160b61d695e))
313
+ * **tui:** relax flaky suspended-animation frame assertion ([d68ba4e](https://github.com/visulima/visulima/commit/d68ba4ee482534613e6b34045721115cc7890c58))
314
+ * **tui:** replace expect.hasAssertions with exact expect.assertions counts ([d3fe122](https://github.com/visulima/visulima/commit/d3fe1228e40ee7d030edef7168c49b50c1d780fd))
315
+ * **tui:** replace fragile delay() waits with vi.waitFor ([1e90e64](https://github.com/visulima/visulima/commit/1e90e64a454c8ed3ed058f1c4ee286357192904f))
316
+ * **tui:** skip flaky suspense-animation test on macos ([68e3933](https://github.com/visulima/visulima/commit/68e3933f7756a0a40427d93e09c060858a62e5e4))
317
+ * **tui:** stabilize flaky ink input and chart tests ([183be7b](https://github.com/visulima/visulima/commit/183be7b2a1cfcdf4fa6f57f6ee02b5b8d62b29a4))
318
+ * **tui:** stabilize flaky ink input tests and remove native guard ([445abd8](https://github.com/visulima/visulima/commit/445abd85a0b44707f28122e8b1921564af728f33))
319
+ * **tui:** stabilize Transition onExit test with vi.waitFor ([cd5e8a0](https://github.com/visulima/visulima/commit/cd5e8a004c062949bd5fe6cb31a39def83071e4d))
320
+ * **tui:** use assertions(0) so empty-series test allows expectTypeOf-only ([7c728dd](https://github.com/visulima/visulima/commit/7c728dddcb1f0a1751924e2585eb03c60d31132e))
321
+ * **tui:** use runtime expect in LineChart empty-series test ([0a6e167](https://github.com/visulima/visulima/commit/0a6e167a332cf35b21391f325ab0ce29591a8ece))
322
+
323
+ ### Build System
324
+
325
+ * **deps:** update tui dependencies ([7bd603d](https://github.com/visulima/visulima/commit/7bd603db3d0efa7f5e8d5427df34d9bdc4b747dd))
326
+ * regenerate bundled-license manifests and types ordering ([af26588](https://github.com/visulima/visulima/commit/af26588d75aaa937fd4862800560bd4070a4878c))
327
+ * regenerate NAPI-RS bindings as ESM ([f202caf](https://github.com/visulima/visulima/commit/f202caf3dc383a2ec24815c4935d8d68c29f33d0))
328
+ * switch NAPI-RS native builds to ESM output ([3d7cd61](https://github.com/visulima/visulima/commit/3d7cd615ad830392005915735c11771e0247ef3f))
329
+
330
+ ### Continuous Integration
331
+
332
+ * drop lewagon, fix tui lint, api-platform publint, preview-release JSON ([3801100](https://github.com/visulima/visulima/commit/38011006b2488fd25f186a7638ceda5a6ee65e45))
333
+ * **fallow:** make fallow:health advisory (--report-only) ([d57148e](https://github.com/visulima/visulima/commit/d57148ea0e3556b4c24d8d336b9fa14987f5dc7d))
334
+ * integrate codspeed for benchmark tracking ([e758f3d](https://github.com/visulima/visulima/commit/e758f3da491cc00d3f8bbf10d7ba3fdf8deb5325))
335
+ * pin macos to 15, fix task-runner indent + backbuffer flake ([61cbf4f](https://github.com/visulima/visulima/commit/61cbf4fb09be40c567a4e0d2d4349ad24ea91afb))
336
+ * stabilize flaky tests and drop markdown lint ([91e110a](https://github.com/visulima/visulima/commit/91e110a30b1ef8ca16f0632253a9e4d13856d8f9))
337
+
338
+
339
+ ### Dependencies
340
+
341
+ * **@visulima/ansi:** upgraded to 4.0.0
342
+ * **@visulima/colorize:** upgraded to 2.0.0
343
+ * **@visulima/error:** upgraded to 6.0.0
344
+ * **@visulima/spinner:** upgraded to 1.0.0
345
+ * **@visulima/string:** upgraded to 3.0.0
346
+ * **@visulima/boxen:** upgraded to 3.0.0
347
+ * **@visulima/tabular:** upgraded to 4.0.0
348
+
349
+ ## @visulima/tui [1.0.0-alpha.27](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.26...@visulima/tui@1.0.0-alpha.27) (2026-06-30)
350
+
351
+ ### Styles
352
+
353
+ * cs fixes ([2a960bb](https://github.com/visulima/visulima/commit/2a960bb1772c9dc70080e2d75d3a0d827034e294))
354
+
355
+ ### Miscellaneous Chores
356
+
357
+ * add fallow code-intelligence across all packages ([a3b4821](https://github.com/visulima/visulima/commit/a3b48215002e86fed20f2973038b5d4a0aa1ce04))
358
+ * **fallow:** resolve dead-code findings ([c4125d5](https://github.com/visulima/visulima/commit/c4125d53e03ac9d90115399634535991927a96cc))
359
+
360
+ ### Code Refactoring
361
+
362
+ * **tui:** resolve fallow dead-code findings ([24fc8ad](https://github.com/visulima/visulima/commit/24fc8ad90face6d37f02edb4e87d18a7f2eb7900))
363
+
364
+ ### Tests
365
+
366
+ * fix failing and flaky package tests ([3f2894e](https://github.com/visulima/visulima/commit/3f2894e816e99f465abb0d3b7d5161af69bbb4ec))
367
+ * **tui:** de-flake same-interval animation sync on slow ci ([d8418de](https://github.com/visulima/visulima/commit/d8418de0831740b473cdfde665811fe0eeccebdc))
368
+ * **tui:** gate ink input emits on the readable listener ([3c45fc6](https://github.com/visulima/visulima/commit/3c45fc666349d4c2983f92ed028ed65e1cb671a3))
369
+
370
+ ### Continuous Integration
371
+
372
+ * **fallow:** make fallow:health advisory (--report-only) ([d57148e](https://github.com/visulima/visulima/commit/d57148ea0e3556b4c24d8d336b9fa14987f5dc7d))
373
+
374
+
375
+ ### Dependencies
376
+
377
+ * **@visulima/ansi:** upgraded to 4.0.0-alpha.18
378
+ * **@visulima/colorize:** upgraded to 2.0.0-alpha.15
379
+ * **@visulima/error:** upgraded to 6.0.0-alpha.35
380
+ * **@visulima/string:** upgraded to 3.0.0-alpha.18
381
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.15
382
+
383
+ ## @visulima/tui [1.0.0-alpha.26](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.25...@visulima/tui@1.0.0-alpha.26) (2026-06-19)
384
+
385
+ ### Bug Fixes
386
+
387
+ * **tui:** clear eslint errors in components ([#685](https://github.com/visulima/visulima/issues/685)) ([ebdb47f](https://github.com/visulima/visulima/commit/ebdb47fb22c8584b5908b89b7fbbfa3fb499786b))
388
+
389
+
390
+ ### Dependencies
391
+
392
+ * **@visulima/error:** upgraded to 6.0.0-alpha.34
393
+
394
+ ## @visulima/tui [1.0.0-alpha.25](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.24...@visulima/tui@1.0.0-alpha.25) (2026-06-15)
395
+
396
+ ### Bug Fixes
397
+
398
+ * **tui:** clear terminal on windows fullscreen redraws ([879e83e](https://github.com/visulima/visulima/commit/879e83e45a4b195b3956cfa37f13a8914be3c527))
399
+
400
+ ## @visulima/tui [1.0.0-alpha.24](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.23...@visulima/tui@1.0.0-alpha.24) (2026-06-13)
401
+
402
+ ### Bug Fixes
403
+
404
+ * **tui:** guard Spinner against unknown spinner name ([94ea8fd](https://github.com/visulima/visulima/commit/94ea8fd639a6ae66799f42996f731720aa363c31))
405
+ * **tui:** harden persistent-state and fix export/sideeffects drift ([40a0dbe](https://github.com/visulima/visulima/commit/40a0dbedc317af0e02d2e87314295c66c276991f))
406
+
407
+ ### Performance Improvements
408
+
409
+ * **tui:** avoid per-keystroke Key allocation and double key-enumeration in prepareUpdate ([f87f6c7](https://github.com/visulima/visulima/commit/f87f6c789324b21ca49c8415b71ba95bdfc94ac2))
410
+
411
+ ### Documentation
412
+
413
+ * **tui:** correct sideEffects guidance ([e41d2bb](https://github.com/visulima/visulima/commit/e41d2bb33807d227b94eba973dcf6fa21e01566c))
414
+
415
+ ### Code Refactoring
416
+
417
+ * **tui:** reformat NAPI loader and src to prettier style ([38f99e5](https://github.com/visulima/visulima/commit/38f99e521be081fefb134e0ad25172fbb4de2965))
418
+ * **tui:** unify napi root-binding loader ([84172fc](https://github.com/visulima/visulima/commit/84172fcb8675881313066fd5dc96d2d452e1d3f2))
419
+
420
+ ### Tests
421
+
422
+ * **tui:** de-flake toggle focus management ([ceb4007](https://github.com/visulima/visulima/commit/ceb4007728f7e97894ec2a0734acc2f1f5edca78))
423
+ * **tui:** skip flaky suspense-animation test on macos ([68e3933](https://github.com/visulima/visulima/commit/68e3933f7756a0a40427d93e09c060858a62e5e4))
424
+
425
+ ### Build System
426
+
427
+ * **deps:** update tui dependencies ([7bd603d](https://github.com/visulima/visulima/commit/7bd603db3d0efa7f5e8d5427df34d9bdc4b747dd))
428
+ * regenerate bundled-license manifests and types ordering ([af26588](https://github.com/visulima/visulima/commit/af26588d75aaa937fd4862800560bd4070a4878c))
429
+
430
+ ### Continuous Integration
431
+
432
+ * stabilize flaky tests and drop markdown lint ([91e110a](https://github.com/visulima/visulima/commit/91e110a30b1ef8ca16f0632253a9e4d13856d8f9))
433
+
434
+
435
+ ### Dependencies
436
+
437
+ * **@visulima/ansi:** upgraded to 4.0.0-alpha.17
438
+ * **@visulima/colorize:** upgraded to 2.0.0-alpha.14
439
+ * **@visulima/error:** upgraded to 6.0.0-alpha.33
440
+ * **@visulima/spinner:** upgraded to 1.0.0-alpha.4
441
+ * **@visulima/string:** upgraded to 3.0.0-alpha.17
442
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.14
443
+ * **@visulima/tabular:** upgraded to 4.0.0-alpha.14
444
+
445
+ ## @visulima/tui [1.0.0-alpha.23](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.22...@visulima/tui@1.0.0-alpha.23) (2026-06-04)
446
+
447
+
448
+ ### Dependencies
449
+
450
+ * **@visulima/string:** upgraded to 3.0.0-alpha.16
451
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.13
452
+
453
+ ## @visulima/tui [1.0.0-alpha.22](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.21...@visulima/tui@1.0.0-alpha.22) (2026-06-04)
454
+
455
+ ### Bug Fixes
456
+
457
+ * **tui:** 2 bug fixes + 2 perf ([53eb884](https://github.com/visulima/visulima/commit/53eb884de4609e6fb2c0ed8af7773673c0b83b2f))
458
+
459
+
460
+ ### Dependencies
461
+
462
+ * **@visulima/ansi:** upgraded to 4.0.0-alpha.16
463
+ * **@visulima/colorize:** upgraded to 2.0.0-alpha.13
464
+ * **@visulima/error:** upgraded to 6.0.0-alpha.32
465
+ * **@visulima/spinner:** upgraded to 1.0.0-alpha.3
466
+ * **@visulima/string:** upgraded to 3.0.0-alpha.15
467
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.12
468
+ * **@visulima/tabular:** upgraded to 4.0.0-alpha.13
469
+
470
+ ## @visulima/tui [1.0.0-alpha.21](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.20...@visulima/tui@1.0.0-alpha.21) (2026-06-02)
471
+
472
+ ### Miscellaneous Chores
473
+
474
+ * apply eslint + prettier autofixes across packages ([c1bb784](https://github.com/visulima/visulima/commit/c1bb7848a0d93d0dfe2960c77e3cda22239c79a0))
475
+
476
+ ### Tests
477
+
478
+ * **tui:** cover input parser, text-wrap, measure-text/element, and selection logic ([47b4311](https://github.com/visulima/visulima/commit/47b43119fb47fad536ea68e4d3ae0a4ede159b87))
479
+
480
+
481
+ ### Dependencies
482
+
483
+ * **@visulima/error:** upgraded to 6.0.0-alpha.31
484
+
485
+ ## @visulima/tui [1.0.0-alpha.20](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.19...@visulima/tui@1.0.0-alpha.20) (2026-05-27)
486
+
487
+ ### Features
488
+
489
+ * **tui:** add shape prop to <Cursor> via DECSCUSR ([303934f](https://github.com/visulima/visulima/commit/303934fa36d78cd30fd74d50026472be9ea20fe4)), closes [vadimdemedes/ink#961](https://github.com/vadimdemedes/ink/issues/961)
490
+
491
+ ### Bug Fixes
492
+
493
+ * **storage-client:** percent-encode user fields in defaultFingerprint ([7c78a0f](https://github.com/visulima/visulima/commit/7c78a0f9512e2a673b941d80839e9f1e86b7b5d0))
494
+ * **tui:** use index keys in ErrorOverview stack + excerpt lists ([86cfdc2](https://github.com/visulima/visulima/commit/86cfdc24821dce8a4edb0ffb22f386eb7a14175b))
495
+
496
+ ### Documentation
497
+
498
+ * prettier-format agent instructions ([71b6414](https://github.com/visulima/visulima/commit/71b6414528780ac82c4e0bb25b5f4f11faba5549))
499
+
500
+ ### Miscellaneous Chores
501
+
502
+ * sorted package.json ([b47c545](https://github.com/visulima/visulima/commit/b47c545591600fdab17d5cd3a3fbc68b61e199da))
503
+
504
+
505
+ ### Dependencies
506
+
507
+ * **@visulima/ansi:** upgraded to 4.0.0-alpha.15
508
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.11
509
+ * **@visulima/colorize:** upgraded to 2.0.0-alpha.12
510
+ * **@visulima/error:** upgraded to 6.0.0-alpha.30
511
+ * **@visulima/spinner:** upgraded to 1.0.0-alpha.2
512
+ * **@visulima/string:** upgraded to 3.0.0-alpha.14
513
+ * **@visulima/tabular:** upgraded to 4.0.0-alpha.12
514
+
515
+ ## @visulima/tui [1.0.0-alpha.19](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.18...@visulima/tui@1.0.0-alpha.19) (2026-05-26)
516
+
517
+ ### Miscellaneous Chores
518
+
519
+ * **ci-stability:** green CI across vis, native, lint, tests, attw ([#651](https://github.com/visulima/visulima/issues/651)) ([d4eb684](https://github.com/visulima/visulima/commit/d4eb684b5f75c818c9251048c605a0ed54a268e3))
520
+ * **repo:** apply eslint --fix and prettier --fix across packages ([#650](https://github.com/visulima/visulima/issues/650)) ([2e26a84](https://github.com/visulima/visulima/commit/2e26a84774f218f21345e9a8ecd68236b6542743)), closes [#620](https://github.com/visulima/visulima/issues/620)
521
+ * **repo:** sort package.json keys across all packages ([e1fd9ab](https://github.com/visulima/visulima/commit/e1fd9ab467ef96a98c777da1572ff6a50fcf7e71))
522
+
523
+ ### Tests
524
+
525
+ * **repo:** add dist runtime + types integration tests ([32ee300](https://github.com/visulima/visulima/commit/32ee300b7184117a0ddf9f9d390f75f8932d5ed9))
526
+
527
+
528
+ ### Dependencies
529
+
530
+ * **@visulima/error:** upgraded to 6.0.0-alpha.28
531
+
532
+ ## @visulima/tui [1.0.0-alpha.18](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.17...@visulima/tui@1.0.0-alpha.18) (2026-05-20)
533
+
534
+ ### Bug Fixes
535
+
536
+ * **tui:** restrict OSC passthrough to OSC 8 hyperlinks ([355f91a](https://github.com/visulima/visulima/commit/355f91aefae0a8e623a6c434b91dddb8d5e3f8d8)), closes [ink#957](https://github.com/visulima/ink/issues/957)
537
+
538
+ ### Continuous Integration
539
+
540
+ * drop lewagon, fix tui lint, api-platform publint, preview-release JSON ([3801100](https://github.com/visulima/visulima/commit/38011006b2488fd25f186a7638ceda5a6ee65e45))
541
+ * pin macos to 15, fix task-runner indent + backbuffer flake ([61cbf4f](https://github.com/visulima/visulima/commit/61cbf4fb09be40c567a4e0d2d4349ad24ea91afb))
542
+
543
+
544
+ ### Dependencies
545
+
546
+ * **@visulima/ansi:** upgraded to 4.0.0-alpha.14
547
+ * **@visulima/error:** upgraded to 6.0.0-alpha.27
548
+
549
+ ## @visulima/tui [1.0.0-alpha.17](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.16...@visulima/tui@1.0.0-alpha.17) (2026-05-19)
550
+
551
+ ### Features
552
+
553
+ * **tui:** flush scrolled-off lines to terminal scrollback ([7856378](https://github.com/visulima/visulima/commit/78563780b60d506651013dee372bbad4a183bcb0))
554
+
555
+ ### Bug Fixes
556
+
557
+ * **tui:** correct peer deps and runtime type-fest ([ececda1](https://github.com/visulima/visulima/commit/ececda1cf823ff39e0a1a0e4f1d64015088c42ff))
558
+
559
+
560
+ ### Dependencies
561
+
562
+ * **@visulima/error:** upgraded to 6.0.0-alpha.26
563
+
564
+ ## @visulima/tui [1.0.0-alpha.16](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.15...@visulima/tui@1.0.0-alpha.16) (2026-05-16)
565
+
566
+ ### Miscellaneous Chores
567
+
568
+ * **lint:** clear eslint findings in bench + animation test ([16bba0b](https://github.com/visulima/visulima/commit/16bba0b6a35885904b719a3f4a560da436a997c4))
569
+
570
+
571
+ ### Dependencies
572
+
573
+ * **@visulima/error:** upgraded to 6.0.0-alpha.25
574
+
575
+ ## @visulima/tui [1.0.0-alpha.15](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.14...@visulima/tui@1.0.0-alpha.15) (2026-05-14)
576
+
577
+ ### Bug Fixes
578
+
579
+ * **bench:** import deep-clone fixture + tui modules via public paths ([362417e](https://github.com/visulima/visulima/commit/362417e58ee07b8efa8fa1057572ea729a035058))
580
+ * **release:** patch NAPI version-check string and ship fresh loader on release ([0676e33](https://github.com/visulima/visulima/commit/0676e336f453c9ae38c9f3a5fbbb675f9bff7ea0))
581
+ * **tui:** backport ink v7.0.1-7.0.3 upstream fixes ([aa981c3](https://github.com/visulima/visulima/commit/aa981c3fc26646baffc4af423bf7e2978598873f))
582
+ * **tui:** share useBoxMetrics resize listener via emitLayoutListeners ([2a17d4f](https://github.com/visulima/visulima/commit/2a17d4f947f33a29830b230a895ff4553710d0b0))
583
+
584
+ ### Miscellaneous Chores
585
+
586
+ * **tui:** apply prettier and eslint formatting sweep ([62a7700](https://github.com/visulima/visulima/commit/62a7700005ff20a567643a09bc89a7d212b3e17d))
587
+ * **tui:** drop runtime deps in favor of local helpers ([4427daf](https://github.com/visulima/visulima/commit/4427daf4a8d5c7b831950d3e75bd066e1ff16ab3))
588
+
589
+ ### Tests
590
+
591
+ * **tui:** pass interactive:true to useBoxMetrics resize-listener tests ([e6394be](https://github.com/visulima/visulima/commit/e6394be60ad294235c88f62e53b90160b61d695e))
592
+ * **tui:** stabilize Transition onExit test with vi.waitFor ([cd5e8a0](https://github.com/visulima/visulima/commit/cd5e8a004c062949bd5fe6cb31a39def83071e4d))
593
+
594
+
595
+ ### Dependencies
596
+
597
+ * **@visulima/colorize:** upgraded to 2.0.0-alpha.11
598
+ * **@visulima/error:** upgraded to 6.0.0-alpha.24
599
+
600
+ ## @visulima/tui [1.0.0-alpha.14](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.13...@visulima/tui@1.0.0-alpha.14) (2026-05-11)
601
+
602
+ ## @visulima/tui [1.0.0-alpha.13](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.12...@visulima/tui@1.0.0-alpha.13) (2026-05-11)
603
+
604
+ ## @visulima/tui [1.0.0-alpha.12](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.11...@visulima/tui@1.0.0-alpha.12) (2026-05-10)
605
+
606
+ ## @visulima/tui [1.0.0-alpha.11](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.10...@visulima/tui@1.0.0-alpha.11) (2026-05-10)
607
+
608
+ ### ⚠ BREAKING CHANGES
609
+
610
+ * **tui:** Components and hooks are no longer re-exported from the
611
+ bare `@visulima/tui` entry. Import each from its dedicated subpath:
612
+
613
+ - import { Box } from "@visulima/tui/components/box";
614
+ - import { useInput } from "@visulima/tui/hooks/use-input";
615
+
616
+ The bare entry now exposes only `render`, `renderToString`, and
617
+ lower-level primitives (mouse, layout, OSC52, terminal palette).
618
+ Heavy peer dependencies (cfonts, shiki, marked, diff, @visulima/tabular)
619
+ are loaded only when their component subpath is imported, keeping the
620
+ import graph small and making peer requirements explicit per component.
621
+
622
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
623
+
624
+ ### Features
625
+
626
+ * **tui:** re-export AppProps/StdinProps/StdoutProps/StderrProps from hook subpaths ([bc8306c](https://github.com/visulima/visulima/commit/bc8306cb1ed52dccd6316009ca1e3c2f497fac35))
627
+ * **tui:** split components and hooks into per-symbol subpaths ([8a04b3c](https://github.com/visulima/visulima/commit/8a04b3c17ed3cbe54894b5f117db29e34ee7b144))
628
+
629
+ ### Tests
630
+
631
+ * **tui:** de-flake streamingText typewriter onComplete assertion ([2e02f04](https://github.com/visulima/visulima/commit/2e02f047665eab077b966788c45c0a43092bf631))
632
+ * **tui:** relax flaky suspended-animation frame assertion ([d68ba4e](https://github.com/visulima/visulima/commit/d68ba4ee482534613e6b34045721115cc7890c58))
633
+
634
+
635
+ ### Dependencies
636
+
637
+ * **@visulima/string:** upgraded to 3.0.0-alpha.13
638
+
639
+ ## @visulima/tui [1.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.9...@visulima/tui@1.0.0-alpha.10) (2026-05-07)
640
+
641
+ ### Tests
642
+
643
+ * **tui:** de-flake form-controls autoFocus race ([d787b44](https://github.com/visulima/visulima/commit/d787b44a8dc6147c780632ac6b2879b675382d84))
644
+ * **tui:** de-flake radio-group commit-on-space test ([7b9b9e8](https://github.com/visulima/visulima/commit/7b9b9e8dbc43919116ecf6c26e62515c10789ab2))
645
+
646
+
647
+ ### Dependencies
648
+
649
+ * **@visulima/string:** upgraded to 3.0.0-alpha.12
650
+
1
651
  ## @visulima/tui [1.0.0-alpha.9](https://github.com/visulima/visulima/compare/@visulima/tui@1.0.0-alpha.8...@visulima/tui@1.0.0-alpha.9) (2026-05-07)
2
652
 
3
653
  ### Miscellaneous Chores