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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (669) hide show
  1. package/CHANGELOG.md +285 -0
  2. package/LICENSE.md +2650 -55
  3. package/README.md +38 -10
  4. package/dist/components/accordion.d.ts +59 -0
  5. package/dist/components/accordion.js +1 -0
  6. package/dist/components/alert.d.ts +26 -0
  7. package/dist/components/alert.js +1 -0
  8. package/dist/components/animate-presence.d.ts +18 -0
  9. package/dist/components/animate-presence.js +1 -0
  10. package/dist/components/approval-prompt.d.ts +65 -0
  11. package/dist/components/approval-prompt.js +1 -0
  12. package/dist/components/area-chart.d.ts +66 -0
  13. package/dist/components/area-chart.js +1 -0
  14. package/dist/components/badge.d.ts +22 -0
  15. package/dist/components/badge.js +1 -0
  16. package/dist/components/bar-chart.d.ts +67 -0
  17. package/dist/components/bar-chart.js +1 -0
  18. package/dist/components/big-text.d.ts +81 -0
  19. package/dist/components/big-text.js +1 -0
  20. package/dist/components/blink-dot.d.ts +36 -0
  21. package/dist/components/blink-dot.js +1 -0
  22. package/dist/components/box.d.ts +61 -0
  23. package/dist/components/box.js +1 -0
  24. package/dist/components/breadcrumb.d.ts +33 -0
  25. package/dist/components/breadcrumb.js +1 -0
  26. package/dist/components/button.d.ts +45 -0
  27. package/dist/components/button.js +1 -0
  28. package/dist/components/calendar.d.ts +72 -0
  29. package/dist/components/calendar.js +1 -0
  30. package/dist/components/canvas.d.ts +44 -0
  31. package/dist/components/canvas.js +1 -0
  32. package/dist/components/card.d.ts +57 -0
  33. package/dist/components/card.js +1 -0
  34. package/dist/components/checkbox.d.ts +48 -0
  35. package/dist/components/checkbox.js +1 -0
  36. package/dist/components/code.d.ts +48 -0
  37. package/dist/components/code.js +2 -0
  38. package/dist/components/collapsible.d.ts +53 -0
  39. package/dist/components/collapsible.js +1 -0
  40. package/dist/components/command-block.d.ts +47 -0
  41. package/dist/components/command-block.js +4 -0
  42. package/dist/components/command-palette.d.ts +82 -0
  43. package/dist/components/command-palette.js +1 -0
  44. package/dist/components/confirm-dialog.d.ts +75 -0
  45. package/dist/components/confirm-dialog.js +1 -0
  46. package/dist/components/confirm-input.d.ts +38 -0
  47. package/dist/components/confirm-input.js +1 -0
  48. package/dist/components/console-overlay.d.ts +54 -0
  49. package/dist/components/console-overlay.js +1 -0
  50. package/dist/components/content-switcher.d.ts +57 -0
  51. package/dist/components/content-switcher.js +1 -0
  52. package/dist/components/controlled-scroll-view.d.ts +60 -0
  53. package/dist/components/controlled-scroll-view.js +1 -0
  54. package/dist/components/cursor.d.ts +61 -0
  55. package/dist/components/cursor.js +1 -0
  56. package/dist/components/date-picker.d.ts +65 -0
  57. package/dist/components/date-picker.js +1 -0
  58. package/dist/components/definition-list.d.ts +44 -0
  59. package/dist/components/definition-list.js +1 -0
  60. package/dist/components/dialog.d.ts +116 -0
  61. package/dist/components/dialog.js +1 -0
  62. package/dist/components/diff-view.d.ts +85 -0
  63. package/dist/components/diff-view.js +1 -0
  64. package/dist/components/divider.d.ts +49 -0
  65. package/dist/components/divider.js +1 -0
  66. package/dist/components/file-picker-entry.d.ts +104 -0
  67. package/dist/components/file-picker-entry.js +1 -0
  68. package/dist/components/form.d.ts +81 -0
  69. package/dist/components/form.js +1 -0
  70. package/dist/components/gauge.d.ts +87 -0
  71. package/dist/components/gauge.js +1 -0
  72. package/dist/components/gradient.d.ts +59 -0
  73. package/dist/components/gradient.js +4 -0
  74. package/dist/components/heading.d.ts +33 -0
  75. package/dist/components/heading.js +1 -0
  76. package/dist/components/heatmap.d.ts +62 -0
  77. package/dist/components/heatmap.js +1 -0
  78. package/dist/components/help.d.ts +52 -0
  79. package/dist/components/help.js +1 -0
  80. package/dist/components/histogram.d.ts +62 -0
  81. package/dist/components/histogram.js +1 -0
  82. package/dist/components/kbd.d.ts +31 -0
  83. package/dist/components/kbd.js +1 -0
  84. package/dist/components/line-chart.d.ts +109 -0
  85. package/dist/components/line-chart.js +1 -0
  86. package/dist/components/link.d.ts +38 -0
  87. package/dist/components/link.js +1 -0
  88. package/dist/components/loading-indicator.d.ts +29 -0
  89. package/dist/components/loading-indicator.js +1 -0
  90. package/dist/components/markdown.d.ts +40 -0
  91. package/dist/components/markdown.js +1 -0
  92. package/dist/components/masked-input.d.ts +50 -0
  93. package/dist/components/masked-input.js +1 -0
  94. package/dist/components/menu.d.ts +78 -0
  95. package/dist/components/menu.js +1 -0
  96. package/dist/components/message-bubble.d.ts +43 -0
  97. package/dist/components/message-bubble.js +1 -0
  98. package/dist/components/model-badge.d.ts +39 -0
  99. package/dist/components/model-badge.js +1 -0
  100. package/dist/components/multi-select.d.ts +65 -0
  101. package/dist/components/multi-select.js +1 -0
  102. package/dist/components/newline.d.ts +15 -0
  103. package/dist/components/newline.js +2 -0
  104. package/dist/components/operation-tree.d.ts +49 -0
  105. package/dist/components/operation-tree.js +1 -0
  106. package/dist/components/option-list.d.ts +47 -0
  107. package/dist/components/option-list.js +1 -0
  108. package/dist/components/ordered-list.d.ts +24 -0
  109. package/dist/components/ordered-list.js +1 -0
  110. package/dist/components/paginator.d.ts +69 -0
  111. package/dist/components/paginator.js +1 -0
  112. package/dist/components/paragraph.d.ts +38 -0
  113. package/dist/components/paragraph.js +1 -0
  114. package/dist/components/placeholder.d.ts +55 -0
  115. package/dist/components/placeholder.js +1 -0
  116. package/dist/components/progress-bar.d.ts +55 -0
  117. package/dist/components/progress-bar.js +1 -0
  118. package/dist/components/radio-group.d.ts +74 -0
  119. package/dist/components/radio-group.js +1 -0
  120. package/dist/components/scatter-plot.d.ts +35 -0
  121. package/dist/components/scatter-plot.js +1 -0
  122. package/dist/components/scroll-bar-box.d.ts +36 -0
  123. package/dist/components/scroll-bar-box.js +1 -0
  124. package/dist/components/scroll-bar.d.ts +24 -0
  125. package/dist/components/scroll-bar.js +1 -0
  126. package/dist/components/scroll-list.d.ts +19 -0
  127. package/dist/components/scroll-list.js +1 -0
  128. package/dist/components/scroll-view.d.ts +9 -0
  129. package/dist/components/scroll-view.js +1 -0
  130. package/dist/components/search-input.d.ts +55 -0
  131. package/dist/components/search-input.js +1 -0
  132. package/dist/components/select-input-indicator.d.ts +32 -0
  133. package/dist/components/select-input-indicator.js +1 -0
  134. package/dist/components/select-input-item.d.ts +41 -0
  135. package/dist/components/select-input-item.js +1 -0
  136. package/dist/components/select-input.d.ts +110 -0
  137. package/dist/components/select-input.js +1 -0
  138. package/dist/components/shimmer-text.d.ts +47 -0
  139. package/dist/components/shimmer-text.js +1 -0
  140. package/dist/components/slider.d.ts +103 -0
  141. package/dist/components/slider.js +1 -0
  142. package/dist/components/spacer.d.ts +8 -0
  143. package/dist/components/spacer.js +1 -0
  144. package/dist/components/sparkline.d.ts +35 -0
  145. package/dist/components/sparkline.js +1 -0
  146. package/dist/components/spinner.d.ts +17 -0
  147. package/dist/components/spinner.js +1 -0
  148. package/dist/components/static-render.d.ts +54 -0
  149. package/dist/components/static-render.js +1 -0
  150. package/dist/components/static.d.ts +28 -0
  151. package/dist/components/static.js +1 -0
  152. package/dist/components/status-line.d.ts +37 -0
  153. package/dist/components/status-line.js +1 -0
  154. package/dist/components/status-message.d.ts +21 -0
  155. package/dist/components/status-message.js +1 -0
  156. package/dist/components/stepper.d.ts +48 -0
  157. package/dist/components/stepper.js +1 -0
  158. package/dist/components/stopwatch.d.ts +49 -0
  159. package/dist/components/stopwatch.js +1 -0
  160. package/dist/components/streaming-text.d.ts +46 -0
  161. package/dist/components/streaming-text.js +1 -0
  162. package/dist/components/switch.d.ts +55 -0
  163. package/dist/components/switch.js +1 -0
  164. package/dist/components/tab.d.ts +19 -0
  165. package/dist/components/tab.js +1 -0
  166. package/dist/components/table.d.ts +119 -0
  167. package/dist/components/table.js +1 -0
  168. package/dist/components/tabs.d.ts +107 -0
  169. package/dist/components/tabs.js +1 -0
  170. package/dist/components/tag.d.ts +35 -0
  171. package/dist/components/tag.js +1 -0
  172. package/dist/components/text-input.d.ts +48 -0
  173. package/dist/components/text-input.js +1 -0
  174. package/dist/components/text.d.ts +78 -0
  175. package/dist/components/text.js +1 -0
  176. package/dist/components/textarea.d.ts +68 -0
  177. package/dist/components/textarea.js +2 -0
  178. package/dist/components/timer.d.ts +59 -0
  179. package/dist/components/timer.js +1 -0
  180. package/dist/components/toast.d.ts +49 -0
  181. package/dist/components/toast.js +1 -0
  182. package/dist/components/tooltip.d.ts +43 -0
  183. package/dist/components/tooltip.js +1 -0
  184. package/dist/components/transform.d.ts +21 -0
  185. package/dist/components/transform.js +1 -0
  186. package/dist/components/transition.d.ts +74 -0
  187. package/dist/components/transition.js +1 -0
  188. package/dist/components/tree-view-entry.d.ts +356 -0
  189. package/dist/components/tree-view-entry.js +1 -0
  190. package/dist/components/unordered-list.d.ts +30 -0
  191. package/dist/components/unordered-list.js +1 -0
  192. package/dist/core/index.d.ts +57 -5
  193. package/dist/core/index.js +1 -5
  194. package/dist/ink/hooks/use-animation.d.ts +37 -39
  195. package/dist/ink/hooks/use-animation.js +1 -0
  196. package/dist/ink/hooks/use-app.d.ts +36 -4
  197. package/dist/ink/hooks/use-app.js +1 -0
  198. package/dist/ink/hooks/use-box-metrics.d.ts +57 -50
  199. package/dist/ink/hooks/use-box-metrics.js +1 -0
  200. package/dist/ink/hooks/use-clipboard.d.ts +26 -25
  201. package/dist/ink/hooks/use-clipboard.js +1 -0
  202. package/dist/ink/hooks/use-color-blindness.d.ts +29 -29
  203. package/dist/ink/hooks/use-color-blindness.js +1 -0
  204. package/dist/ink/hooks/use-console-capture.d.ts +38 -38
  205. package/dist/ink/hooks/use-console-capture.js +1 -0
  206. package/dist/ink/hooks/use-cursor.d.ts +10 -9
  207. package/dist/ink/hooks/use-cursor.js +1 -0
  208. package/dist/ink/hooks/use-focus-manager.d.ts +53 -38
  209. package/dist/ink/hooks/use-focus-manager.js +1 -0
  210. package/dist/ink/hooks/use-focus.d.ts +29 -25
  211. package/dist/ink/hooks/use-focus.js +1 -0
  212. package/dist/ink/hooks/use-form.d.ts +68 -0
  213. package/dist/ink/hooks/use-form.js +1 -0
  214. package/dist/ink/hooks/use-hotkey.d.ts +37 -0
  215. package/dist/ink/hooks/use-hotkey.js +1 -0
  216. package/dist/ink/hooks/use-input.d.ts +142 -142
  217. package/dist/ink/hooks/use-input.js +2 -0
  218. package/dist/ink/hooks/use-interval.d.ts +25 -0
  219. package/dist/ink/hooks/use-interval.js +1 -0
  220. package/dist/ink/hooks/use-is-screen-reader-enabled.d.ts +4 -4
  221. package/dist/ink/hooks/use-is-screen-reader-enabled.js +1 -0
  222. package/dist/ink/hooks/use-key-bindings.d.ts +50 -52
  223. package/dist/ink/hooks/use-key-bindings.js +1 -0
  224. package/dist/ink/hooks/use-key-chord.d.ts +25 -0
  225. package/dist/ink/hooks/use-key-chord.js +1 -0
  226. package/dist/ink/hooks/use-linked-scroll.d.ts +44 -37
  227. package/dist/ink/hooks/use-linked-scroll.js +1 -0
  228. package/dist/ink/hooks/use-paste.d.ts +41 -40
  229. package/dist/ink/hooks/use-paste.js +1 -0
  230. package/dist/ink/hooks/use-persistent-state.d.ts +56 -0
  231. package/dist/ink/hooks/use-persistent-state.js +2 -0
  232. package/dist/ink/hooks/use-scroll-acceleration.d.ts +43 -43
  233. package/dist/ink/hooks/use-scroll-acceleration.js +1 -0
  234. package/dist/ink/hooks/use-scroll-input.d.ts +31 -31
  235. package/dist/ink/hooks/use-scroll-input.js +1 -0
  236. package/dist/ink/hooks/use-stderr.d.ts +14 -4
  237. package/dist/ink/hooks/use-stderr.js +1 -0
  238. package/dist/ink/hooks/use-stdin.d.ts +28 -5
  239. package/dist/ink/hooks/use-stdin.js +1 -0
  240. package/dist/ink/hooks/use-stdout.d.ts +14 -4
  241. package/dist/ink/hooks/use-stdout.js +1 -0
  242. package/dist/ink/hooks/use-stopwatch.d.ts +36 -37
  243. package/dist/ink/hooks/use-stopwatch.js +1 -0
  244. package/dist/ink/hooks/use-terminal-palette.d.ts +17 -16
  245. package/dist/ink/hooks/use-terminal-palette.js +1 -0
  246. package/dist/ink/hooks/use-text-buffer.d.ts +37 -37
  247. package/dist/ink/hooks/use-text-buffer.js +4 -0
  248. package/dist/ink/hooks/use-text-selection.d.ts +40 -41
  249. package/dist/ink/hooks/use-text-selection.js +1 -0
  250. package/dist/ink/hooks/use-timeout.d.ts +24 -0
  251. package/dist/ink/hooks/use-timeout.js +1 -0
  252. package/dist/ink/hooks/use-timer.d.ts +45 -46
  253. package/dist/ink/hooks/use-timer.js +1 -0
  254. package/dist/ink/hooks/use-window-size.d.ts +14 -14
  255. package/dist/ink/hooks/use-window-size.js +1 -0
  256. package/dist/ink/index.d.ts +397 -159
  257. package/dist/ink/index.js +1 -100
  258. package/dist/packem_chunks/devtools.js +3 -26
  259. package/dist/packem_shared/COLOR_BLINDNESS_SIMULATION-DqErf7XX.js +1 -0
  260. package/dist/packem_shared/Cell-BrXn3jxY.js +1 -0
  261. package/dist/packem_shared/ControlledScrollView-CIc-x1Cx.js +1 -0
  262. package/dist/packem_shared/DevTools-BR7K-5JX.js +1 -0
  263. package/dist/packem_shared/FilePicker-tYj_CIau.js +1 -0
  264. package/dist/packem_shared/FocusContext-Xy0cwJpO.js +1 -0
  265. package/dist/packem_shared/Fullscreen-CxLd1-Zu.js +1 -0
  266. package/dist/packem_shared/IMECompositionBuffer-C89PhiOu.js +1 -0
  267. package/dist/packem_shared/InputParser-BAqciKJ6.js +2 -0
  268. package/dist/packem_shared/KEY-Bk8B-3h_.js +1 -0
  269. package/dist/packem_shared/LayoutNode-B0qeT8sl.js +1 -0
  270. package/dist/packem_shared/MouseProvider-CHU5DuwC.js +1 -0
  271. package/dist/packem_shared/NAMED_COLORS-B9fJsYdg.js +1 -0
  272. package/dist/packem_shared/Renderer-DJXooAsp.js +1 -0
  273. package/dist/packem_shared/ResizeObserverEntry-Dq0dk8Kq.js +1 -0
  274. package/dist/packem_shared/ScrollBar-U_37hlIT.js +1 -0
  275. package/dist/packem_shared/ScrollBarBox-DwiCxilX.js +1 -0
  276. package/dist/packem_shared/ScrollList-C7nZ9ufK.js +1 -0
  277. package/dist/packem_shared/ScrollView-DKZ8OM-m.js +1 -0
  278. package/dist/packem_shared/Static-DLynr5pn.js +1 -0
  279. package/dist/packem_shared/TreeNodeMap-CspqSCpb.js +1 -0
  280. package/dist/packem_shared/TreeView-C0Iv3et8.js +1 -0
  281. package/dist/packem_shared/TuiApp-CxBtziW8.js +1 -0
  282. package/dist/packem_shared/TuiContext-BoJvG3NN.js +3 -0
  283. package/dist/packem_shared/_commonjsHelpers-CHNfUHCT.js +1 -0
  284. package/dist/packem_shared/accessibility-context-DDyHTwmA.js +1 -0
  285. package/dist/packem_shared/animation-context-DW3p-vpk.js +1 -0
  286. package/dist/packem_shared/ansi-parser-C5JuL732.js +1 -0
  287. package/dist/packem_shared/ansi-tokenizer-DqX9nJuk.js +1 -0
  288. package/dist/packem_shared/app-context-BVpKlG1z.js +1 -0
  289. package/dist/packem_shared/background-context-rjOaWFki.js +1 -0
  290. package/dist/packem_shared/boxes-DyY_LXCi.js +1 -0
  291. package/dist/packem_shared/braille-BBjIoaN0.js +1 -0
  292. package/dist/packem_shared/buffer.d-EJkZr8uH.d.ts +39 -0
  293. package/dist/packem_shared/clipboard.d-D6lZTQ21.d.ts +23 -0
  294. package/dist/packem_shared/color-matrix.d-DSXLsB64.d.ts +50 -0
  295. package/dist/packem_shared/colorize-gy_cY-wC.js +2 -0
  296. package/dist/packem_shared/comparePoints-Dez5FkH9.js +1 -0
  297. package/dist/packem_shared/constants-D12jy2Zh-RSfxu1eM.js +1 -0
  298. package/dist/packem_shared/controlled-scroll-view-CcUS50jx.js +1 -0
  299. package/dist/packem_shared/createInlineLoop-D0JaKX9A.js +2 -0
  300. package/dist/packem_shared/createScreen-87XLHZq6.js +3 -0
  301. package/dist/packem_shared/cursor-context-CFviBqPX.js +1 -0
  302. package/dist/packem_shared/cursor-helpers.d-BONB9tky.d.ts +12 -0
  303. package/dist/packem_shared/dom-CW6KYzFK.js +8 -0
  304. package/dist/packem_shared/dom.d-DgP_exKU.d.ts +412 -0
  305. package/dist/packem_shared/erase-DKKNxHZ_.js +1 -0
  306. package/dist/packem_shared/focus-context-CsT69klR.js +1 -0
  307. package/dist/packem_shared/format-time-C7Q-hQZq.js +1 -0
  308. package/dist/packem_shared/get-string-width-CbMPWEJO.js +1 -0
  309. package/dist/packem_shared/getPathToRoot-B3q6OlQy.js +1 -0
  310. package/dist/packem_shared/getScrollHeight-ClEOyLHH.js +1 -0
  311. package/dist/packem_shared/index-COPEEDn3.js +9 -0
  312. package/dist/packem_shared/index-CqsHHJkn.js +75 -0
  313. package/dist/packem_shared/index.d-Bk52cbgN.d.ts +14 -0
  314. package/dist/packem_shared/index.server.d-eZWyC2Ku.d.ts +5 -0
  315. package/dist/packem_shared/input-utils-fAxzSlNh.js +1 -0
  316. package/dist/packem_shared/input.d-D-Yxqha8.d.ts +172 -0
  317. package/dist/packem_shared/isIntersecting-B3KbKTmu.js +1 -0
  318. package/dist/packem_shared/isOsc52Supported-DKK7Uee6.js +1 -0
  319. package/dist/packem_shared/isTerminalPaletteQuerySupported-Dn2hFAZ_.js +1 -0
  320. package/dist/packem_shared/kittyFlags-C3rZLbcK.js +1 -0
  321. package/dist/packem_shared/layout-BMo200nF.js +2 -0
  322. package/dist/packem_shared/line-chart-kf7uhR0K.js +1 -0
  323. package/dist/packem_shared/measure-text-D-jVetsl.js +3 -0
  324. package/dist/packem_shared/measureElement-BTtTFZg4.js +1 -0
  325. package/dist/packem_shared/mode-BOIU4Roy.js +1 -0
  326. package/dist/packem_shared/mouse-context-DaARgUu1.js +1 -0
  327. package/dist/packem_shared/parseSgrMouse-DoBY7MKw.js +1 -0
  328. package/dist/packem_shared/processLayout-FEKj_mWu.js +1 -0
  329. package/dist/packem_shared/reconciler-CGhHgXXG.js +1 -0
  330. package/dist/packem_shared/reconciler-ClRKkLS4.js +1 -0
  331. package/dist/packem_shared/render-BoukeuYD.js +1 -0
  332. package/dist/packem_shared/render-CBFHzIKj.js +27 -0
  333. package/dist/packem_shared/render.d-DarVJBG2.d.ts +417 -0
  334. package/dist/packem_shared/renderToString-Cx3DmmMR.js +4 -0
  335. package/dist/packem_shared/renderToString-nZdqfdWT.js +2 -0
  336. package/dist/packem_shared/renderTreeToBuffer-LnGZkEUX.js +2 -0
  337. package/dist/packem_shared/renderer-C2ycheBL.js +17 -0
  338. package/dist/packem_shared/scroll-view.d-DtpsgHLg.d.ts +119 -0
  339. package/dist/packem_shared/selection.d-WuD_83yQ.d.ts +62 -0
  340. package/dist/packem_shared/setEnableStyledLineCache-Cke6_ZQt.js +1 -0
  341. package/dist/packem_shared/squashTextNodesWithMap-DCdi3SZ2.js +1 -0
  342. package/dist/packem_shared/stderr-context-BzEaUICS.js +1 -0
  343. package/dist/packem_shared/stdin-context-BTaaFagk.js +1 -0
  344. package/dist/packem_shared/stdout-context-BnblEPez.js +1 -0
  345. package/dist/packem_shared/strip-C6HQYmlg.js +1 -0
  346. package/dist/packem_shared/styles.d-CLJdt-kg.d.ts +492 -0
  347. package/dist/packem_shared/terminal-palette.d-D2SQjfn-.d.ts +19 -0
  348. package/dist/packem_shared/text-width-CI9G0a-z.js +2 -0
  349. package/dist/packem_shared/token-to-elements-BAZpNZsu.js +1 -0
  350. package/dist/packem_shared/treeViewTheme-1RIZyB4M.js +1 -0
  351. package/dist/packem_shared/useElementDimensions-qJ_WXFZ9.js +1 -0
  352. package/dist/packem_shared/useMouseAction-2dRfU1vE.js +1 -0
  353. package/dist/packem_shared/useMouseContext-C746G7kY.js +1 -0
  354. package/dist/packem_shared/useMousePosition-BTWfV4JK.js +1 -0
  355. package/dist/packem_shared/useOnMouseClick-nY8xLZmt.js +1 -0
  356. package/dist/packem_shared/useOnMouseHover-D3DczIol.js +1 -0
  357. package/dist/packem_shared/useOnMouseState-cRK8QvzD.js +1 -0
  358. package/dist/packem_shared/useTreeView-BoMMeRPq.js +1 -0
  359. package/dist/packem_shared/useTreeViewState-CRPCUWrb.js +1 -0
  360. package/dist/packem_shared/utils-THUhYKG2.js +1 -0
  361. package/dist/packem_shared/variant-config-BJqpNo7H.js +1 -0
  362. package/dist/packem_shared/variant-config.d-D5NnrrQK.d.ts +2 -0
  363. package/dist/packem_shared/waitFor-Dj5zfL5s.js +4 -0
  364. package/dist/packem_shared/wrapOrTruncateStyledLine-kyi6yijx.js +3 -0
  365. package/dist/react/index.d.ts +518 -8
  366. package/dist/react/index.js +1 -9
  367. package/dist/testing/index.d.ts +277 -135
  368. package/dist/testing/index.js +1 -260
  369. package/index.js +52 -52
  370. package/package.json +552 -40
  371. package/dist/core/app.d.ts +0 -50
  372. package/dist/core/cell.d.ts +0 -33
  373. package/dist/core/inline.d.ts +0 -22
  374. package/dist/core/input.d.ts +0 -18
  375. package/dist/core/native-binding.d.ts +0 -22
  376. package/dist/ink/ansi-to-cell.d.ts +0 -5
  377. package/dist/ink/ansi-tokenizer.d.ts +0 -38
  378. package/dist/ink/clipboard.d.ts +0 -29
  379. package/dist/ink/color-matrix.d.ts +0 -49
  380. package/dist/ink/color-utils.d.ts +0 -30
  381. package/dist/ink/colorize.d.ts +0 -4
  382. package/dist/ink/components/AccessibilityContext.d.ts +0 -4
  383. package/dist/ink/components/Alert.d.ts +0 -30
  384. package/dist/ink/components/AnimationContext.d.ts +0 -10
  385. package/dist/ink/components/App.d.ts +0 -19
  386. package/dist/ink/components/AppContext.d.ts +0 -38
  387. package/dist/ink/components/BackgroundContext.d.ts +0 -5
  388. package/dist/ink/components/Badge.d.ts +0 -27
  389. package/dist/ink/components/BigText.d.ts +0 -71
  390. package/dist/ink/components/Box.d.ts +0 -58
  391. package/dist/ink/components/Code.d.ts +0 -46
  392. package/dist/ink/components/ConfirmInput.d.ts +0 -40
  393. package/dist/ink/components/ConsoleOverlay.d.ts +0 -52
  394. package/dist/ink/components/Cursor.d.ts +0 -43
  395. package/dist/ink/components/CursorContext.d.ts +0 -12
  396. package/dist/ink/components/Dialog.d.ts +0 -93
  397. package/dist/ink/components/DiffView.d.ts +0 -71
  398. package/dist/ink/components/ErrorBoundary.d.ts +0 -17
  399. package/dist/ink/components/ErrorOverview.d.ts +0 -6
  400. package/dist/ink/components/FocusContext.d.ts +0 -17
  401. package/dist/ink/components/Gradient.d.ts +0 -38
  402. package/dist/ink/components/Help.d.ts +0 -49
  403. package/dist/ink/components/Link.d.ts +0 -34
  404. package/dist/ink/components/Markdown.d.ts +0 -34
  405. package/dist/ink/components/MultiSelect.d.ts +0 -63
  406. package/dist/ink/components/Newline.d.ts +0 -12
  407. package/dist/ink/components/OrderedList.d.ts +0 -30
  408. package/dist/ink/components/Paginator.d.ts +0 -75
  409. package/dist/ink/components/ProgressBar.d.ts +0 -51
  410. package/dist/ink/components/SelectInput.d.ts +0 -96
  411. package/dist/ink/components/SelectInputIndicator.d.ts +0 -36
  412. package/dist/ink/components/SelectInputItem.d.ts +0 -43
  413. package/dist/ink/components/Slider.d.ts +0 -92
  414. package/dist/ink/components/Spacer.d.ts +0 -7
  415. package/dist/ink/components/Spinner.d.ts +0 -42
  416. package/dist/ink/components/Static.d.ts +0 -24
  417. package/dist/ink/components/StaticRender.d.ts +0 -28
  418. package/dist/ink/components/StatusMessage.d.ts +0 -26
  419. package/dist/ink/components/StderrContext.d.ts +0 -16
  420. package/dist/ink/components/StdinContext.d.ts +0 -29
  421. package/dist/ink/components/StdoutContext.d.ts +0 -16
  422. package/dist/ink/components/Stopwatch.d.ts +0 -44
  423. package/dist/ink/components/Tab.d.ts +0 -25
  424. package/dist/ink/components/Table.d.ts +0 -80
  425. package/dist/ink/components/Tabs.d.ts +0 -104
  426. package/dist/ink/components/Text.d.ts +0 -63
  427. package/dist/ink/components/TextInput.d.ts +0 -48
  428. package/dist/ink/components/Textarea.d.ts +0 -62
  429. package/dist/ink/components/Timer.d.ts +0 -52
  430. package/dist/ink/components/Transform.d.ts +0 -16
  431. package/dist/ink/components/UnorderedList.d.ts +0 -35
  432. package/dist/ink/components/file-picker/FilePicker.d.ts +0 -75
  433. package/dist/ink/components/file-picker/index.d.ts +0 -3
  434. package/dist/ink/components/file-picker/types.d.ts +0 -38
  435. package/dist/ink/components/file-picker/use-file-system.d.ts +0 -16
  436. package/dist/ink/components/scroll/ControlledScrollView.d.ts +0 -43
  437. package/dist/ink/components/scroll/ScrollBar.d.ts +0 -20
  438. package/dist/ink/components/scroll/ScrollBarBox.d.ts +0 -15
  439. package/dist/ink/components/scroll/ScrollList.d.ts +0 -12
  440. package/dist/ink/components/scroll/ScrollView.d.ts +0 -98
  441. package/dist/ink/components/scroll/index.d.ts +0 -10
  442. package/dist/ink/components/scroll/use-state-ref.d.ts +0 -8
  443. package/dist/ink/components/tree-view/TreeView.d.ts +0 -89
  444. package/dist/ink/components/tree-view/TreeViewNode.d.ts +0 -29
  445. package/dist/ink/components/tree-view/index.d.ts +0 -11
  446. package/dist/ink/components/tree-view/theme.d.ts +0 -24
  447. package/dist/ink/components/tree-view/tree-node-map.d.ts +0 -72
  448. package/dist/ink/components/tree-view/types.d.ts +0 -55
  449. package/dist/ink/components/tree-view/use-tree-view-state.d.ts +0 -135
  450. package/dist/ink/components/tree-view/use-tree-view.d.ts +0 -26
  451. package/dist/ink/components/variant-config.d.ts +0 -10
  452. package/dist/ink/cursor-helpers.d.ts +0 -38
  453. package/dist/ink/data-limited-lru-map.d.ts +0 -21
  454. package/dist/ink/devtools-window-polyfill.d.ts +0 -1
  455. package/dist/ink/devtools.d.ts +0 -1
  456. package/dist/ink/dom.d.ts +0 -213
  457. package/dist/ink/get-max-width.d.ts +0 -3
  458. package/dist/ink/highlighter.d.ts +0 -28
  459. package/dist/ink/ime-utils.d.ts +0 -25
  460. package/dist/ink/ink.d.ts +0 -189
  461. package/dist/ink/input-parser.d.ts +0 -10
  462. package/dist/ink/input-utils.d.ts +0 -16
  463. package/dist/ink/instances.d.ts +0 -3
  464. package/dist/ink/kitty-keyboard.d.ts +0 -23
  465. package/dist/ink/layout.d.ts +0 -26
  466. package/dist/ink/log-update-native.d.ts +0 -14
  467. package/dist/ink/log-update.d.ts +0 -21
  468. package/dist/ink/measure-element.d.ts +0 -147
  469. package/dist/ink/measure-text.d.ts +0 -56
  470. package/dist/ink/mouse/Fullscreen.d.ts +0 -8
  471. package/dist/ink/mouse/MouseProvider.d.ts +0 -11
  472. package/dist/ink/mouse/ansi-parser.d.ts +0 -37
  473. package/dist/ink/mouse/constants.d.ts +0 -59
  474. package/dist/ink/mouse/index.d.ts +0 -20
  475. package/dist/ink/mouse/is-intersecting.d.ts +0 -18
  476. package/dist/ink/mouse/mouse-context.d.ts +0 -36
  477. package/dist/ink/mouse/use-element-position.d.ts +0 -29
  478. package/dist/ink/mouse/use-mouse-action.d.ts +0 -7
  479. package/dist/ink/mouse/use-mouse-position.d.ts +0 -7
  480. package/dist/ink/mouse/use-mouse.d.ts +0 -7
  481. package/dist/ink/mouse/use-on-mouse-click.d.ts +0 -14
  482. package/dist/ink/mouse/use-on-mouse-hover.d.ts +0 -8
  483. package/dist/ink/mouse/use-on-mouse-state.d.ts +0 -11
  484. package/dist/ink/output.d.ts +0 -74
  485. package/dist/ink/parse-keypress.d.ts +0 -22
  486. package/dist/ink/reconciler.d.ts +0 -3
  487. package/dist/ink/region.d.ts +0 -99
  488. package/dist/ink/render-background.d.ts +0 -4
  489. package/dist/ink/render-border.d.ts +0 -4
  490. package/dist/ink/render-node-to-output.d.ts +0 -38
  491. package/dist/ink/render-scrollbar.d.ts +0 -9
  492. package/dist/ink/render-sticky.d.ts +0 -44
  493. package/dist/ink/render-to-string.d.ts +0 -37
  494. package/dist/ink/render.d.ts +0 -191
  495. package/dist/ink/renderer.d.ts +0 -17
  496. package/dist/ink/resize-observer.d.ts +0 -44
  497. package/dist/ink/sanitize-ansi.d.ts +0 -2
  498. package/dist/ink/scroll.d.ts +0 -23
  499. package/dist/ink/selection.d.ts +0 -70
  500. package/dist/ink/squash-text-nodes.d.ts +0 -18
  501. package/dist/ink/style-flags.d.ts +0 -17
  502. package/dist/ink/styled-line-factory.d.ts +0 -25
  503. package/dist/ink/styled-line-serializer.d.ts +0 -18
  504. package/dist/ink/styled-line.d.ts +0 -109
  505. package/dist/ink/styles.d.ts +0 -369
  506. package/dist/ink/terminal-palette.d.ts +0 -25
  507. package/dist/ink/text-wrap.d.ts +0 -10
  508. package/dist/ink/token-to-elements.d.ts +0 -22
  509. package/dist/ink/utils/format-time.d.ts +0 -4
  510. package/dist/ink/utils.d.ts +0 -9
  511. package/dist/ink/wrap-text.d.ts +0 -3
  512. package/dist/ink/write-synchronized.d.ts +0 -4
  513. package/dist/packem_shared/AccessibilityContext-BLelHhNU.js +0 -7
  514. package/dist/packem_shared/Alert-Dr3s_LD9.js +0 -17
  515. package/dist/packem_shared/AnimationContext-BcJg8Jr6.js +0 -15
  516. package/dist/packem_shared/AppContext-CP0U6H7O.js +0 -11
  517. package/dist/packem_shared/BackgroundContext-BAUaxfOb.js +0 -5
  518. package/dist/packem_shared/Badge-Dk7EGGM6.js +0 -13
  519. package/dist/packem_shared/BigText-CjMdY63X.js +0 -24
  520. package/dist/packem_shared/Box-D_pSJ9Jp.js +0 -73
  521. package/dist/packem_shared/COLOR_BLINDNESS_SIMULATION-BsMy5Ewl.js +0 -81
  522. package/dist/packem_shared/Cell-DCg1kJY-.js +0 -48
  523. package/dist/packem_shared/Code-DjQvPBD9.js +0 -53
  524. package/dist/packem_shared/ConfirmInput-85Y4kRQW.js +0 -44
  525. package/dist/packem_shared/ConsoleOverlay-DBNa4vtj.js +0 -57
  526. package/dist/packem_shared/ControlledScrollView-BlOaxcsN.js +0 -286
  527. package/dist/packem_shared/ControlledScrollView-DfAhcufF.js +0 -5
  528. package/dist/packem_shared/Cursor-DiW7YoSK.js +0 -18
  529. package/dist/packem_shared/CursorContext-JxRzlqAx.js +0 -9
  530. package/dist/packem_shared/DevTools-aMPIsaHx.js +0 -61
  531. package/dist/packem_shared/Dialog-DsSNAVgC.js +0 -71
  532. package/dist/packem_shared/DiffView-hqaw-2S6.js +0 -329
  533. package/dist/packem_shared/FilePicker-DNwFxRhq.js +0 -254
  534. package/dist/packem_shared/FocusContext-CWkYtgcm.js +0 -26
  535. package/dist/packem_shared/FocusContext-D5wFxSRz.js +0 -153
  536. package/dist/packem_shared/Fullscreen-DrElAE1o.js +0 -11
  537. package/dist/packem_shared/Gradient-Ql5P0GUd.js +0 -136
  538. package/dist/packem_shared/Help-6wanGG38.js +0 -112
  539. package/dist/packem_shared/IMECompositionBuffer-Dl3S0KnF.js +0 -55
  540. package/dist/packem_shared/InputParser-BKHpWfvN.js +0 -156
  541. package/dist/packem_shared/LayoutNode-Cjnsodiy.js +0 -131
  542. package/dist/packem_shared/Link-COcKYfGT.js +0 -66
  543. package/dist/packem_shared/Markdown-y1ISztof.js +0 -212
  544. package/dist/packem_shared/MouseProvider-Y9TSSEGl.js +0 -136
  545. package/dist/packem_shared/MultiSelect-ChoLUcDI.js +0 -129
  546. package/dist/packem_shared/NAMED_COLORS-a4QBvb5r.js +0 -262
  547. package/dist/packem_shared/Newline-DBtYEg8x.js +0 -7
  548. package/dist/packem_shared/OrderedList-Cp7pXr6m.js +0 -26
  549. package/dist/packem_shared/Paginator-D1AuD-kj.js +0 -104
  550. package/dist/packem_shared/ProgressBar-DOfpVagn.js +0 -22
  551. package/dist/packem_shared/Renderer-zZ5O3vxc.js +0 -31
  552. package/dist/packem_shared/ResizeObserverEntry-Br4seLeQ.js +0 -102
  553. package/dist/packem_shared/ScrollBar-EWAs2Uc7.js +0 -106
  554. package/dist/packem_shared/ScrollBarBox-DTNNlh7R.js +0 -72
  555. package/dist/packem_shared/ScrollList-DCeIFL8M.js +0 -227
  556. package/dist/packem_shared/ScrollView-v3MCNIyX.js +0 -196
  557. package/dist/packem_shared/SelectInput-BN2TMyxp.js +0 -260
  558. package/dist/packem_shared/SelectInputIndicator-DkRMoH_b.js +0 -9
  559. package/dist/packem_shared/SelectInputItem-BF9LQgKu.js +0 -8
  560. package/dist/packem_shared/Slider-BWD7xZX6.js +0 -116
  561. package/dist/packem_shared/Spacer-Bs4ER-HK.js +0 -8
  562. package/dist/packem_shared/Spinner-BuI-kN4p.js +0 -1799
  563. package/dist/packem_shared/Static-DpTd6Eed.js +0 -22
  564. package/dist/packem_shared/Static-xmD9giJj.js +0 -18
  565. package/dist/packem_shared/StaticRender-tYwH6QXl.js +0 -33
  566. package/dist/packem_shared/StatusMessage-BtSYxzwb.js +0 -14
  567. package/dist/packem_shared/StderrContext-Bj4Mf7v7.js +0 -17
  568. package/dist/packem_shared/StdinContext-Bq_GNJ3z.js +0 -38
  569. package/dist/packem_shared/StdoutContext-CgjWeCdO.js +0 -17
  570. package/dist/packem_shared/Stopwatch-DjtTCyHn.js +0 -23
  571. package/dist/packem_shared/Tab-C6r5q4hR.js +0 -7
  572. package/dist/packem_shared/Table-D-rSVlzb.js +0 -82
  573. package/dist/packem_shared/Tabs-hki-KRnx.js +0 -153
  574. package/dist/packem_shared/Text-DvAUdZcK.js +0 -65
  575. package/dist/packem_shared/TextInput-C79WEQ5U.js +0 -137
  576. package/dist/packem_shared/Textarea-Dj06R6Zd.js +0 -272
  577. package/dist/packem_shared/Timer-wi9zuh4n.js +0 -22
  578. package/dist/packem_shared/Transform-BHxY_dAM.js +0 -14
  579. package/dist/packem_shared/TreeNodeMap-CtJUvBnd.js +0 -155
  580. package/dist/packem_shared/TreeView-C2062dtj.js +0 -148
  581. package/dist/packem_shared/TuiApp-DfxOnXqi.js +0 -120
  582. package/dist/packem_shared/TuiContext-CqEjMyXd.js +0 -415
  583. package/dist/packem_shared/UnorderedList-DhnadWjX.js +0 -33
  584. package/dist/packem_shared/ansi-parser-0BdVTKho.js +0 -41
  585. package/dist/packem_shared/ansi-tokenizer-LHq2LUWA.js +0 -307
  586. package/dist/packem_shared/boxes-oi3WUbyR.js +0 -92
  587. package/dist/packem_shared/colorize-88_Vk8cn.js +0 -48
  588. package/dist/packem_shared/comparePoints-CGMDnd3_.js +0 -287
  589. package/dist/packem_shared/createInlineLoop-BxMmcq9D.js +0 -93
  590. package/dist/packem_shared/createLinkedScrollGroup-Djw4Ceo0.js +0 -44
  591. package/dist/packem_shared/dom-DvzhsAez.js +0 -225
  592. package/dist/packem_shared/format-time-BGmnDukX.js +0 -12
  593. package/dist/packem_shared/getPathToRoot-a1wbwxfL.js +0 -4
  594. package/dist/packem_shared/getScrollHeight-BubfU_df.js +0 -63
  595. package/dist/packem_shared/input-utils-ViAEXa0Z.js +0 -19
  596. package/dist/packem_shared/isIntersecting-fEXHJN5R.js +0 -10
  597. package/dist/packem_shared/isOsc52Supported-G0k4sXJx.js +0 -36
  598. package/dist/packem_shared/isTerminalPaletteQuerySupported-EeiwMKbr.js +0 -93
  599. package/dist/packem_shared/kittyFlags-bNNf_9kX.js +0 -26
  600. package/dist/packem_shared/measure-element-Reza_yfC.js +0 -396
  601. package/dist/packem_shared/measure-text-DItZYotK.js +0 -1189
  602. package/dist/packem_shared/measureElement-CTgFCmKd.js +0 -4
  603. package/dist/packem_shared/mouse-context-BUHWKEIe.js +0 -6
  604. package/dist/packem_shared/parseSgrMouse-BHVBPP9G.js +0 -1
  605. package/dist/packem_shared/processLayout-BQ9kXfd3.js +0 -2
  606. package/dist/packem_shared/reconciler-BXf6miSS.js +0 -211
  607. package/dist/packem_shared/reconciler-gfmqURLy.js +0 -680
  608. package/dist/packem_shared/render-BAwdjfki.js +0 -2806
  609. package/dist/packem_shared/render-Bpjhf0lD.js +0 -195
  610. package/dist/packem_shared/renderToString-Cfg55DRD.js +0 -62
  611. package/dist/packem_shared/renderToString-ClIaXgrC.js +0 -86
  612. package/dist/packem_shared/renderTreeToBuffer-D3mo7M7m.js +0 -308
  613. package/dist/packem_shared/renderer-B3wROkeg.js +0 -1431
  614. package/dist/packem_shared/setEnableStyledLineCache-BpskngSJ.js +0 -2
  615. package/dist/packem_shared/squashTextNodesWithMap-iqm6OMMT.js +0 -100
  616. package/dist/packem_shared/text-width-DhuarWcB.js +0 -42
  617. package/dist/packem_shared/token-to-elements-BRFl_rzw.js +0 -249
  618. package/dist/packem_shared/treeViewTheme-BpSw9TMf.js +0 -52
  619. package/dist/packem_shared/useAnimation-kj31sA-T.js +0 -62
  620. package/dist/packem_shared/useApp-DPQlRzi5.js +0 -6
  621. package/dist/packem_shared/useBoxMetrics-rBjKc-g4.js +0 -54
  622. package/dist/packem_shared/useClipboard-B_9-adw1.js +0 -23
  623. package/dist/packem_shared/useColorBlindness-D_sTIhcb.js +0 -30
  624. package/dist/packem_shared/useConsoleCapture-Dvt7G1W1.js +0 -61
  625. package/dist/packem_shared/useCursor-BIJzc8k9.js +0 -19
  626. package/dist/packem_shared/useElementDimensions-CAoKitVD.js +0 -67
  627. package/dist/packem_shared/useFocus-CNl5QHHf.js +0 -37
  628. package/dist/packem_shared/useFocusManager-BPYaUuKQ.js +0 -16
  629. package/dist/packem_shared/useInput-Cfp5zB2s.js +0 -594
  630. package/dist/packem_shared/useIsScreenReaderEnabled-CnGKCe0f.js +0 -9
  631. package/dist/packem_shared/useKeyBindings-B78l1E1n.js +0 -66
  632. package/dist/packem_shared/useMouseAction-C5gZ2nj7.js +0 -29
  633. package/dist/packem_shared/useMouseContext-D-rFy60Q.js +0 -12
  634. package/dist/packem_shared/useMousePosition-BHBJ-kBk.js +0 -25
  635. package/dist/packem_shared/useOnMouseClick--ZIyBOBO.js +0 -35
  636. package/dist/packem_shared/useOnMouseHover-26diuXUC.js +0 -32
  637. package/dist/packem_shared/useOnMouseState-NO_Kda_C.js +0 -13
  638. package/dist/packem_shared/usePaste-Ct8J4AGR.js +0 -35
  639. package/dist/packem_shared/useScrollAcceleration-R9LfrPVG.js +0 -73
  640. package/dist/packem_shared/useScrollInput-D3CpBq_a.js +0 -72
  641. package/dist/packem_shared/useStderr-CAOVUh4E.js +0 -6
  642. package/dist/packem_shared/useStdin-X-O0kd-n.js +0 -7
  643. package/dist/packem_shared/useStdout-DyF6DSH0.js +0 -6
  644. package/dist/packem_shared/useStopwatch-qC4Beai4.js +0 -33
  645. package/dist/packem_shared/useTerminalPalette-BaWO2c4Q.js +0 -38
  646. package/dist/packem_shared/useTextBuffer-C8fEe9Ly.js +0 -398
  647. package/dist/packem_shared/useTextSelection-mXtxgsPK.js +0 -50
  648. package/dist/packem_shared/useTimer-CPQ7j827.js +0 -46
  649. package/dist/packem_shared/useTreeView-BT57P3Kx.js +0 -101
  650. package/dist/packem_shared/useTreeViewState-BpS_KZ-K.js +0 -502
  651. package/dist/packem_shared/useWindowSize-ugEmGZJm.js +0 -20
  652. package/dist/packem_shared/utils-BgdlrbOH.js +0 -140
  653. package/dist/packem_shared/variant-config-DSZoX5TM.js +0 -8
  654. package/dist/packem_shared/wrapOrTruncateStyledLine-DN3Nogoc.js +0 -147
  655. package/dist/react/devtools.d.ts +0 -27
  656. package/dist/react/focus.d.ts +0 -39
  657. package/dist/react/hooks.d.ts +0 -238
  658. package/dist/react/layout.d.ts +0 -35
  659. package/dist/react/react.d.ts +0 -57
  660. package/dist/react/reconciler.d.ts +0 -4
  661. package/dist/react/render-to-string.d.ts +0 -21
  662. package/dist/react/renderer.d.ts +0 -2
  663. package/dist/react/scene.d.ts +0 -3
  664. package/dist/react/static.d.ts +0 -39
  665. package/dist/react/styles.d.ts +0 -83
  666. package/dist/react/text-width.d.ts +0 -20
  667. package/dist/testing/keys.d.ts +0 -89
  668. package/dist/testing/screen.d.ts +0 -35
  669. package/dist/testing/wait-for.d.ts +0 -21
@@ -0,0 +1,35 @@
1
+ import { A as AnsiColors } from "../packem_shared/index.server.d-eZWyC2Ku.js";
2
+ import { ReactNode, ReactElement } from 'react';
3
+ import { LiteralUnion } from 'type-fest';
4
+ type TagVariant = "outline" | "solid" | "subtle";
5
+ type Props = {
6
+ /**
7
+ * Tag content.
8
+ */
9
+ readonly children: ReactNode;
10
+ /**
11
+ * Base color.
12
+ * @default "blue"
13
+ */
14
+ readonly color?: LiteralUnion<AnsiColors, string>;
15
+ /**
16
+ * Optional symbol rendered before the label (e.g. `●`, `✔`, `★`).
17
+ */
18
+ readonly icon?: ReactNode;
19
+ /**
20
+ * Visual style.
21
+ * @default "subtle"
22
+ */
23
+ readonly variant?: TagVariant;
24
+ };
25
+ /**
26
+ * Render a short pill-shaped label.
27
+ * @returns A `ReactElement` rendering the tag in the requested variant.
28
+ */
29
+ declare function Tag({
30
+ children,
31
+ color,
32
+ icon,
33
+ variant
34
+ }: Props): ReactElement;
35
+ export { Props, Tag, type Props as TagProps, TagVariant, Tag as default };
@@ -0,0 +1 @@
1
+ var a=Object.defineProperty;var l=(o,r)=>a(o,"name",{value:r,configurable:!0});import{jsx as t,jsxs as e,Fragment as d}from"react/jsx-runtime";import{Box as u}from"./box.js";import{Text as n}from"./text.js";var v=Object.defineProperty,s=l((o,r)=>v(o,"name",{value:r,configurable:!0}),"i");function b({children:o,color:r="blue",icon:i,variant:c="subtle"}){return c==="outline"?t(u,{borderColor:r,borderStyle:"round",paddingX:1,children:e(n,{color:r,children:[i===void 0?void 0:e(d,{children:[i," "]}),o]})}):c==="solid"?e(n,{backgroundColor:r,color:"black",children:[" ",i===void 0?void 0:e(d,{children:[i," "]}),o," "]}):e(n,{color:r,children:[i===void 0?void 0:e(d,{children:[i," "]}),o]})}l(b,"l");s(b,"Tag");export{b as Tag,b as default};
@@ -0,0 +1,48 @@
1
+ import { ReactElement } from 'react';
2
+ type Props = {
3
+ /** @default "" */
4
+ readonly defaultValue?: string;
5
+ /**
6
+ * When true, all input is ignored and text is dimmed.
7
+ * @default false
8
+ */
9
+ readonly isDisabled?: boolean;
10
+ /**
11
+ * When true, renders asterisks instead of the actual characters.
12
+ * @default false
13
+ */
14
+ readonly mask?: boolean;
15
+ /**
16
+ * Fires on every keystroke with the updated text.
17
+ */
18
+ readonly onChange?: (value: string) => void;
19
+ /**
20
+ * Fires when the user presses Enter.
21
+ */
22
+ readonly onSubmit?: (value: string) => void;
23
+ /**
24
+ * Greyed-out text shown when the input is empty.
25
+ */
26
+ readonly placeholder?: string;
27
+ /**
28
+ * Autocomplete candidates. The first case-sensitive prefix match is shown
29
+ * dimmed after the current input. Press right-arrow or Enter to accept.
30
+ */
31
+ readonly suggestions?: ReadonlyArray<string>;
32
+ };
33
+ /**
34
+ * A single-line text input with cursor navigation, optional placeholder,
35
+ * autocomplete suggestions, and password masking.
36
+ *
37
+ * Supports arrow keys, Home/End, Ctrl+A/E, Ctrl+U/K/W, Backspace, Delete.
38
+ */
39
+ declare function TextInput({
40
+ defaultValue,
41
+ isDisabled,
42
+ mask,
43
+ onChange,
44
+ onSubmit,
45
+ placeholder,
46
+ suggestions
47
+ }: Props): ReactElement;
48
+ export { Props, TextInput, type Props as TextInputProps, TextInput as default };
@@ -0,0 +1 @@
1
+ var F=Object.defineProperty;var A=(t,e)=>F(t,"name",{value:e,configurable:!0});import{jsx as f,jsxs as I}from"react/jsx-runtime";import{useState as O,useRef as S,useCallback as G}from"react";import H from"../ink/hooks/use-input.js";import{i as J}from"../packem_shared/input-utils-fAxzSlNh.js";import{Box as j}from"./box.js";import{Text as h}from"./text.js";var K=Object.defineProperty,k=A((t,e)=>K(t,"name",{value:e,configurable:!0}),"p");const L=/\S+\s*$/,w=k((t,e)=>t.length===0||!e?void 0:e.find(n=>n.startsWith(t))?.slice(t.length)??void 0,"findSuggestion"),P=-1,V=k((t,e,n,r)=>e.leftArrow?Math.max(0,n-1):e.home||e.ctrl&&t==="a"?0:e.end||e.ctrl&&t==="e"?r:P,"handleNavigation"),_=k((t,e,n,r)=>{if(e.backspace&&r>0)return[n.slice(0,r-1)+n.slice(r),r-1];if(e.delete&&r<n.length)return[n.slice(0,r)+n.slice(r+1),r];if(e.ctrl&&t==="u")return[n.slice(r),0];if(e.ctrl&&t==="k")return[n.slice(0,r),r];if(e.ctrl&&t==="w"){const d=n.slice(0,r).replace(L,"");return[d+n.slice(r),d.length]}},"handleEditing");function q({defaultValue:t="",isDisabled:e=!1,mask:n=!1,onChange:r,onSubmit:d,placeholder:v,suggestions:b}){const[o,x]=O(t),[g,u]=O(t.length),y=S(o);y.current=o;const M=S(g);M.current=g;const m=S(r);m.current=r;const T=S(d);T.current=d;const B=w(o,b),R=G((p,a)=>{const{current:s}=M,c=y.current;if(a.return){const i=w(c,b),l=i?c+i:c;i&&(x(l),u(l.length),m.current?.(l)),T.current?.(l);return}if(a.escape)return;if(a.rightArrow){const i=w(c,b);if(s===c.length&&i){const l=c+i;x(l),u(l.length),m.current?.(l);return}u(Math.min(c.length,s+1));return}const E=V(p,a,s,c.length);if(E!==P){u(E);return}const N=_(p,a,c,s);if(N){const[i,l]=N;x(i),u(l),m.current?.(i);return}if(J(p,a)){const i=c.slice(0,s)+p+c.slice(s);x(i),u(s+p.length),m.current?.(i)}},[b]);H(R,{isActive:!e});const C=n?"*".repeat(o.length):o,W=C.slice(0,g),$=C[g],D=C.slice(g+1);return e?f(j,{children:f(h,{dimColor:!0,children:C||v||""})}):o.length===0&&v?I(j,{children:[f(h,{dimColor:!0,inverse:!0,children:v[0]}),f(h,{dimColor:!0,children:v.slice(1)})]}):I(j,{children:[I(h,{children:[W,f(h,{inverse:!0,children:$??" "}),D]}),B?f(h,{dimColor:!0,children:B}):void 0]})}A(q,"y");k(q,"TextInput");export{q as TextInput,q as default};
@@ -0,0 +1,78 @@
1
+ import { A as AnsiColors } from "../packem_shared/index.server.d-eZWyC2Ku.js";
2
+ import { ReactNode, ReactElement } from 'react';
3
+ import { LiteralUnion } from 'type-fest';
4
+ import { S as Styles } from "../packem_shared/styles.d-CLJdt-kg.js";
5
+ import 'yoga-layout';
6
+ type Props = {
7
+ /**
8
+ * Hide the element from screen readers.
9
+ */
10
+ readonly "aria-hidden"?: boolean;
11
+ /**
12
+ * A label for the element for screen readers.
13
+ */
14
+ readonly "aria-label"?: string;
15
+ /**
16
+ * Same as `color`, but for the background.
17
+ */
18
+ readonly backgroundColor?: LiteralUnion<AnsiColors, string>;
19
+ /**
20
+ * Make the text bold.
21
+ */
22
+ readonly bold?: boolean;
23
+ readonly children?: ReactNode;
24
+ /**
25
+ * Change text color. Ink uses @visulima/colorize under the hood, so all its functionality is supported.
26
+ */
27
+ readonly color?: LiteralUnion<AnsiColors, string>;
28
+ /**
29
+ * Dim the color (make it less bright).
30
+ */
31
+ readonly dimColor?: boolean;
32
+ /**
33
+ * Inverse background and foreground colors.
34
+ */
35
+ readonly inverse?: boolean;
36
+ /**
37
+ * Make the text italic.
38
+ */
39
+ readonly italic?: boolean;
40
+ /**
41
+ * Make the text crossed out with a line.
42
+ */
43
+ readonly strikethrough?: boolean;
44
+ /**
45
+ * Make the text underlined.
46
+ */
47
+ readonly underline?: boolean;
48
+ /**
49
+ * Controls how text wraps when it exceeds the container width.
50
+ *
51
+ * - `wrap` (default) — Wrap at word boundaries; break inside words only when a single word exceeds the width.
52
+ * - `wrap-anywhere` — Break at any character boundary, even when a whitespace break exists earlier.
53
+ * - `wrap-preserve-words` — Wrap at word boundaries; never break inside words (long words may overflow).
54
+ * - `wrap-strict` — Enforce exact width; always break at the column limit.
55
+ * - `truncate` / `truncate-end` — Truncate at the end with an ellipsis.
56
+ * - `truncate-start` — Truncate at the start with an ellipsis.
57
+ * - `truncate-middle` — Truncate in the middle with an ellipsis.
58
+ */
59
+ readonly wrap?: Styles["textWrap"];
60
+ };
61
+ /**
62
+ * This component can display text and change its style to make it bold, underlined, italic, or strikethrough.
63
+ */
64
+ declare function Text({
65
+ "aria-hidden": ariaHidden,
66
+ "aria-label": ariaLabel,
67
+ backgroundColor,
68
+ bold,
69
+ children,
70
+ color,
71
+ dimColor,
72
+ inverse,
73
+ italic,
74
+ strikethrough,
75
+ underline,
76
+ wrap
77
+ }: Props): ReactElement | null;
78
+ export { Props, Text, type Props as TextProps, Text as default };
@@ -0,0 +1 @@
1
+ var w=Object.defineProperty;var n=(t,e)=>w(t,"name",{value:e,configurable:!0});import{jsx as j}from"react/jsx-runtime";import{g as a,d as p}from"../packem_shared/colorize-gy_cY-wC.js";import{useContext as h,useCallback as y}from"react";import{a as S}from"../packem_shared/accessibility-context-DDyHTwmA.js";import{b as T}from"../packem_shared/background-context-rjOaWFki.js";var $=Object.defineProperty,A=n((t,e)=>$(t,"name",{value:e,configurable:!0}),"g");function D({"aria-hidden":t=!1,"aria-label":e,backgroundColor:s,bold:o=!1,children:d,color:l,dimColor:f=!1,inverse:c=!1,italic:u=!1,strikethrough:b=!1,underline:m=!1,wrap:k="wrap"}){const{isScreenReaderEnabled:i}=h(S),x=h(T),C=i&&e?e:d,v=y(r=>{f&&(r=a.dim(r)),l&&(r=p(r,l,"foreground"));const g=s??x;return g&&(r=p(r,g,"background")),o&&(r=a.bold(r)),u&&(r=a.italic(r)),m&&(r=a.underline(r)),b&&(r=a.strikethrough(r)),c&&(r=a.inverse(r)),r},[f,l,s,x,o,u,m,b,c]);return C==null||i&&t?null:j("ink-text",{internal_transform:v,style:{flexDirection:"row",flexGrow:0,flexShrink:1,textWrap:k},children:i&&e?e:d})}n(D,"c");A(D,"Text");export{D as Text,D as default};
@@ -0,0 +1,68 @@
1
+ import { ReactElement } from 'react';
2
+ type Props = {
3
+ /** @default "" */
4
+ readonly defaultValue?: string;
5
+ /**
6
+ * When true, all input is ignored and text is dimmed.
7
+ * @default false
8
+ */
9
+ readonly isDisabled?: boolean;
10
+ /**
11
+ * When true, the component responds to keyboard input.
12
+ * @default true
13
+ */
14
+ readonly isFocused?: boolean;
15
+ /**
16
+ * Maximum visible rows before viewport scrolling kicks in.
17
+ * When set, the textarea will grow from `rows` to `maxRows` before scrolling.
18
+ */
19
+ readonly maxRows?: number;
20
+ /**
21
+ * Fires on every edit with the updated text.
22
+ */
23
+ readonly onChange?: (value: string) => void;
24
+ /**
25
+ * Fires when the user presses Meta+Enter or Ctrl+Enter.
26
+ */
27
+ readonly onSubmit?: (value: string) => void;
28
+ /**
29
+ * Greyed-out text shown when the textarea is empty.
30
+ */
31
+ readonly placeholder?: string;
32
+ /**
33
+ * Number of visible rows (viewport height).
34
+ * @default 5
35
+ */
36
+ readonly rows?: number;
37
+ /**
38
+ * Show line numbers in the left gutter.
39
+ * @default false
40
+ */
41
+ readonly showLineNumbers?: boolean;
42
+ /**
43
+ * Number of spaces inserted for a Tab key press.
44
+ * @default 2
45
+ */
46
+ readonly tabSize?: number;
47
+ };
48
+ /**
49
+ * A multi-line text input with cursor navigation, selection, clipboard, undo/redo,
50
+ * paste support, and viewport scrolling.
51
+ *
52
+ * ```tsx
53
+ * &lt;Textarea defaultValue="Hello\nWorld" rows={10} onChange={setValue} onSubmit={handleSubmit} />
54
+ * ```
55
+ */
56
+ declare function Textarea({
57
+ defaultValue,
58
+ isDisabled,
59
+ isFocused,
60
+ maxRows,
61
+ onChange,
62
+ onSubmit,
63
+ placeholder,
64
+ rows,
65
+ showLineNumbers,
66
+ tabSize
67
+ }: Props): ReactElement;
68
+ export { Props, Textarea, type Props as TextareaProps, Textarea as default };
@@ -0,0 +1,2 @@
1
+ var O=Object.defineProperty;var x=(i,o)=>O(i,"name",{value:o,configurable:!0});import{jsx as l,jsxs as m,Fragment as T}from"react/jsx-runtime";import{useRef as b,useState as P,useEffect as j,useMemo as V,useCallback as z}from"react";import W from"../ink/hooks/use-clipboard.js";import N from"../ink/hooks/use-input.js";import X from"../ink/hooks/use-paste.js";import Y from"../ink/hooks/use-text-buffer.js";import{i as Z}from"../packem_shared/input-utils-fAxzSlNh.js";import{Box as C}from"./box.js";import{Text as c}from"./text.js";var q=Object.defineProperty,D=x((i,o)=>q(i,"name",{value:o,configurable:!0}),"C");const G=D((i,o)=>o.line<i.line||o.line===i.line&&o.col<i.col?{endCol:i.col,endLine:i.line,startCol:o.col,startLine:o.line}:{endCol:o.col,endLine:o.line,startCol:i.col,startLine:i.line},"getOrderedSelection");function J({defaultValue:i="",isDisabled:o=!1,isFocused:g=!0,maxRows:d,onChange:v,onSubmit:a,placeholder:p,rows:h=5,showLineNumbers:f=!1,tabSize:L=2}){const n=Y(i),S=b(n);S.current=n;const{copy:s}=W(),[u,A]=P(0),k=b(v);k.current=v;const y=b(a);y.current=a;const F=b(i);j(()=>{n.value!==F.current&&(F.current=n.value,k.current?.(n.value))},[n.value]);const w=V(()=>d?Math.min(Math.max(h,n.lines.length),d):h,[h,d,n.lines.length]);j(()=>{A(t=>n.cursor.line<t?n.cursor.line:n.cursor.line>=t+w?n.cursor.line-w+1:t)},[n.cursor.line,w]);const I=z((t,r)=>{const e=S.current;if(r.return&&(r.meta||r.ctrl)){y.current?.(e.value);return}if(r.return){e.newline();return}if(r.escape){e.clearSelection();return}if(r.tab){e.insert(" ".repeat(L));return}if(r.ctrl&&t==="z"){e.undo();return}if(r.ctrl&&(t==="y"||r.shift&&t==="Z")){e.redo();return}if(r.ctrl&&t==="c"&&e.hasSelection()){s(e.getSelectedText());return}if(r.ctrl&&(t==="A"||t==="a"&&r.shift)){e.selectAll();return}if(r.upArrow){e.moveCursor("up",r.shift);return}if(r.downArrow){e.moveCursor("down",r.shift);return}if(r.leftArrow){e.moveCursor("left",r.shift);return}if(r.rightArrow){e.moveCursor("right",r.shift);return}if(r.home){r.ctrl?e.moveToStart(r.shift):e.moveToLineStart(r.shift);return}if(r.end){r.ctrl?e.moveToEnd(r.shift):e.moveToLineEnd(r.shift);return}if(r.ctrl&&t==="a"){e.moveToLineStart(r.shift);return}if(r.ctrl&&t==="e"){e.moveToLineEnd(r.shift);return}if(r.backspace){e.deleteBack();return}if(r.delete){e.deleteForward();return}if(r.ctrl&&t==="u"){e.deleteToLineStart();return}if(r.ctrl&&t==="k"){e.deleteToLineEnd();return}if(r.ctrl&&t==="w"){e.deleteWord();return}Z(t,r)&&(e.hasSelection()?e.replaceSelection(t):e.insert(t))},[s,L]);N(I,{isActive:g&&!o});const M=z(t=>{const r=S.current;r.hasSelection()?r.replaceSelection(t):r.insert(t)},[]);X(M,{isActive:g&&!o});const R=n.lines.slice(u,u+w),E=f?String(n.lines.length).length+1:0,$=n.anchor?G(n.cursor,n.anchor):null;if(o)return l(C,{flexDirection:"column",children:R.map((t,r)=>{const e=u+r;return m(C,{children:[f?m(c,{dimColor:!0,children:[String(e+1).padStart(E)," "]}):void 0,l(c,{dimColor:!0,children:t||(e===0&&p?p:"")})]},e)})});if(n.value.length===0&&p){const t=p.split(`
2
+ `).slice(0,w);return l(C,{flexDirection:"column",children:t.map((r,e)=>m(C,{children:[f?m(c,{dimColor:!0,children:[String(e+1).padStart(E)," "]}):void 0,e===0?m(c,{children:[l(c,{dimColor:!0,inverse:!0,children:r[0]??" "}),l(c,{dimColor:!0,children:r.slice(1)})]}):l(c,{dimColor:!0,children:r})]},e))})}return l(C,{flexDirection:"column",children:R.map((t,r)=>{const e=u+r,H=e===n.cursor.line;return m(C,{children:[f?m(c,{dimColor:!H,children:[String(e+1).padStart(E)," "]}):void 0,l(c,{children:B(t,e,n.cursor,$)})]},e)})})}x(J,"D");D(J,"Textarea");function B(i,o,g,d){const v=o===g.line,a=v?g.col:-1,p=d&&o>=d.startLine&&o<=d.endLine;if(!p&&!v)return l(T,{children:i});if(!p){const s=i.slice(0,a),u=i[a],A=i.slice(a+1);return m(T,{children:[s,l(c,{inverse:!0,children:u??" "}),A]})}const h=o===d.startLine?d.startCol:0,f=o===d.endLine?d.endCol:i.length,L=i.slice(0,h),n=i.slice(h,f),S=i.slice(f);if(v&&(a<h||a>=f)){const s=[];let u=0;return a<h?(s.push(l(c,{children:i.slice(0,a)},u++)),s.push(l(c,{inverse:!0,children:i[a]??" "},u++)),s.push(l(c,{children:i.slice(a+1,h)},u++)),s.push(l(c,{inverse:!0,children:n},u++)),s.push(l(c,{children:S},u++))):(s.push(l(c,{children:L},u++)),s.push(l(c,{inverse:!0,children:n},u++)),s.push(l(c,{children:i.slice(f,a)},u++)),s.push(l(c,{inverse:!0,children:i[a]??" "},u++)),s.push(l(c,{children:i.slice(a+1)},u++))),l(T,{children:s})}return m(T,{children:[L,l(c,{inverse:!0,children:n}),S]})}x(B,"Y");D(B,"renderLine");export{J as Textarea,J as default};
@@ -0,0 +1,59 @@
1
+ import { Ref, ReactElement } from 'react';
2
+ import { UseTimerResult } from "../ink/hooks/use-timer.js";
3
+ type TimerRef = Omit<UseTimerResult, "isFinished" | "isRunning" | "remaining">;
4
+ type Props = {
5
+ /**
6
+ * Whether to start the timer immediately.
7
+ * @default false
8
+ */
9
+ readonly autoStart?: boolean;
10
+ /**
11
+ * Make the rendered text bold.
12
+ */
13
+ readonly bold?: boolean;
14
+ /**
15
+ * Text color for the rendered time.
16
+ */
17
+ readonly color?: string;
18
+ /**
19
+ * Total countdown duration in milliseconds.
20
+ */
21
+ readonly duration: number;
22
+ /**
23
+ * Custom formatter for the remaining time.
24
+ * Receives remaining milliseconds, returns a display string.
25
+ * @default formatDuration (MM:SS or HH:MM:SS)
26
+ */
27
+ readonly format?: (remaining: number) => string;
28
+ /**
29
+ * Tick interval in milliseconds.
30
+ * @default 1000
31
+ */
32
+ readonly interval?: number;
33
+ /**
34
+ * Called once when the timer reaches zero.
35
+ */
36
+ readonly onTimeout?: () => void;
37
+ readonly ref?: Ref<TimerRef>;
38
+ };
39
+ /**
40
+ * A countdown timer component.
41
+ *
42
+ * Exposes `start`, `stop`, `toggle`, and `reset` methods via ref.
43
+ *
44
+ * ```tsx
45
+ * const ref = useRef&lt;TimerRef>(null);
46
+ * &lt;Timer ref={ref} duration={60_000} autoStart />
47
+ * ```
48
+ */
49
+ declare const Timer: ({
50
+ autoStart,
51
+ bold,
52
+ color,
53
+ duration,
54
+ format,
55
+ interval,
56
+ onTimeout,
57
+ ref
58
+ }: Props) => ReactElement;
59
+ export { Props, Timer, type Props as TimerProps, TimerRef, Timer as default };
@@ -0,0 +1 @@
1
+ var u=Object.defineProperty;var e=(r,o)=>u(r,"name",{value:o,configurable:!0});import{jsx as f}from"react/jsx-runtime";import{useImperativeHandle as p}from"react";import c from"../ink/hooks/use-timer.js";import{f as d}from"../packem_shared/format-time-C7Q-hQZq.js";import{Text as g}from"./text.js";var v=Object.defineProperty,T=e((r,o)=>v(r,"name",{value:o,configurable:!0}),"o");const D=T(({autoStart:r,bold:o,color:a,duration:i,format:m=d,interval:n,onTimeout:s,ref:l})=>{const t=c({autoStart:r,duration:i,interval:n,onTimeout:s});return p(l,()=>({reset:t.reset,start:t.start,stop:t.stop,toggle:t.toggle}),[t.reset,t.start,t.stop,t.toggle]),f(g,{bold:o,color:a,children:m(t.remaining)})},"Timer");export{D as Timer,D as default};
@@ -0,0 +1,49 @@
1
+ import { ReactNode, ReactElement } from 'react';
2
+ import { V as Variant } from "../packem_shared/variant-config.d-D5NnrrQK.js";
3
+ type ToastVariant = Variant;
4
+ type Props = {
5
+ /**
6
+ * Toast body.
7
+ */
8
+ readonly children: ReactNode;
9
+ /**
10
+ * Milliseconds to display before auto-dismissing. Use `0` to disable.
11
+ * @default 4000
12
+ */
13
+ readonly duration?: number;
14
+ /**
15
+ * Called after the toast dismisses itself.
16
+ */
17
+ readonly onDismiss?: () => void;
18
+ /**
19
+ * Optional title rendered before the body.
20
+ */
21
+ readonly title?: string;
22
+ /**
23
+ * Visual variant determining the icon and border color.
24
+ * @default "info"
25
+ */
26
+ readonly variant?: ToastVariant;
27
+ /**
28
+ * Manually control visibility. When provided, `duration` is ignored.
29
+ */
30
+ readonly visible?: boolean;
31
+ /**
32
+ * Optional width override.
33
+ */
34
+ readonly width?: number;
35
+ };
36
+ /**
37
+ * Ephemeral notification. Disappears automatically after `duration` ms.
38
+ * @returns A bordered `ReactElement` while visible; `null` once dismissed.
39
+ */
40
+ declare function Toast({
41
+ children,
42
+ duration,
43
+ onDismiss,
44
+ title,
45
+ variant,
46
+ visible,
47
+ width
48
+ }: Props): ReactElement | null;
49
+ export { Props, Toast, type Props as ToastProps, ToastVariant, Toast as default };
@@ -0,0 +1 @@
1
+ var T=Object.defineProperty;var i=(e,r)=>T(e,"name",{value:r,configurable:!0});import{jsxs as a,jsx as n}from"react/jsx-runtime";import{useState as g,useRef as j,useEffect as w}from"react";import{Box as f}from"./box.js";import{Text as c}from"./text.js";import{o as y}from"../packem_shared/variant-config-BJqpNo7H.js";var D=Object.defineProperty,R=i((e,r)=>D(e,"name",{value:r,configurable:!0}),"f");function S({children:e,duration:r=4e3,onDismiss:l,title:s,variant:m="info",visible:o,width:p}){const[h,v]=g(!0),t=o??h,u=j(l);if(u.current=l,w(()=>{if(o!==void 0||r<=0||!t)return;const x=setTimeout(()=>{v(!1),u.current?.()},r);return()=>{clearTimeout(x)}},[r,o,t]),!t)return null;const{color:d,icon:b}=y[m];return a(f,{borderColor:d,borderStyle:"round",gap:1,paddingX:1,width:p,children:[n(c,{color:d,children:b}),a(f,{flexDirection:"column",flexGrow:1,children:[s===void 0?void 0:n(c,{bold:!0,children:s}),n(c,{children:e})]})]})}i(S,"c");R(S,"Toast");export{S as Toast,S as default};
@@ -0,0 +1,43 @@
1
+ import { A as AnsiColors } from "../packem_shared/index.server.d-eZWyC2Ku.js";
2
+ import { ReactNode, ReactElement } from 'react';
3
+ import { LiteralUnion } from 'type-fest';
4
+ type TooltipPlacement = "bottom" | "left" | "right" | "top";
5
+ type Props = {
6
+ /**
7
+ * The element the tooltip is attached to.
8
+ */
9
+ readonly children: ReactNode;
10
+ /**
11
+ * Border color.
12
+ * @default "gray"
13
+ */
14
+ readonly color?: LiteralUnion<AnsiColors, string>;
15
+ /**
16
+ * Tooltip body content.
17
+ */
18
+ readonly content: ReactNode;
19
+ /**
20
+ * Controls whether the tooltip is rendered.
21
+ * @default true
22
+ */
23
+ readonly isVisible?: boolean;
24
+ /**
25
+ * Relative position. Terminal rendering does not support floating layers,
26
+ * so the tooltip is placed inline next to (or above / below) the anchor.
27
+ * @default "right"
28
+ */
29
+ readonly placement?: TooltipPlacement;
30
+ };
31
+ /**
32
+ * Renders supplementary text next to an anchor. Because terminals don't have
33
+ * a floating-layer concept, the tooltip lives inline in the layout. Hide it
34
+ * by toggling `isVisible`.
35
+ */
36
+ declare function Tooltip({
37
+ children,
38
+ color,
39
+ content,
40
+ isVisible,
41
+ placement
42
+ }: Props): ReactElement;
43
+ export { Props, Tooltip, TooltipPlacement, type Props as TooltipProps, Tooltip as default };
@@ -0,0 +1 @@
1
+ var a=Object.defineProperty;var t=(e,r)=>a(e,"name",{value:r,configurable:!0});import{jsx as n,jsxs as m}from"react/jsx-runtime";import{Box as l}from"./box.js";import{Text as x}from"./text.js";var p=Object.defineProperty,u=t((e,r)=>p(e,"name",{value:r,configurable:!0}),"d");const g={bottom:{flexDirection:"column",orderFirst:!1},left:{flexDirection:"row",orderFirst:!0},right:{flexDirection:"row",orderFirst:!1},top:{flexDirection:"column",orderFirst:!0}};function h({children:e,color:r="gray",content:o,isVisible:s=!0,placement:i="right"}){const{flexDirection:f,orderFirst:c}=g[i],d=s?n(l,{borderColor:r,borderStyle:"round",flexShrink:0,marginLeft:i==="right"?1:0,marginRight:i==="left"?1:0,paddingX:1,children:typeof o=="string"?n(x,{color:r,children:o}):o}):void 0;return m(l,{alignItems:"center",flexDirection:f,children:[c?d:void 0,n(l,{children:e}),c?void 0:d]})}t(h,"a");u(h,"Tooltip");export{h as Tooltip,h as default};
@@ -0,0 +1,21 @@
1
+ import { ReactNode, ReactElement } from 'react';
2
+ type Props = {
3
+ /**
4
+ * Screen-reader-specific text to output. If this is set, all children will be ignored.
5
+ */
6
+ readonly accessibilityLabel?: string;
7
+ readonly children?: ReactNode;
8
+ /**
9
+ * Function that transforms children output. It accepts children and must return transformed children as well. Note that when children use `&lt;Text>` styling props (e.g. `color`, `bold`), the string will contain ANSI escape codes.
10
+ */
11
+ readonly transform: (children: string, index: number) => string;
12
+ };
13
+ /**
14
+ * Transform a string representation of React components before they're written to output. For example, you might want to apply a gradient to text, add a clickable link, or create some text effects. These use cases can't accept React nodes as input; they expect a string. That's what the &lt;Transform> component does: it gives you an output string of its child components and lets you transform it in any way.
15
+ */
16
+ declare function Transform({
17
+ accessibilityLabel,
18
+ children,
19
+ transform
20
+ }: Props): ReactElement | null;
21
+ export { Props, Transform, type Props as TransformProps, Transform as default };
@@ -0,0 +1 @@
1
+ var o=Object.defineProperty;var n=(r,e)=>o(r,"name",{value:e,configurable:!0});import{jsx as a}from"react/jsx-runtime";import{useContext as l}from"react";import{a as s}from"../packem_shared/accessibility-context-DDyHTwmA.js";var f=Object.defineProperty,c=n((r,e)=>f(r,"name",{value:e,configurable:!0}),"t");const m={flexDirection:"row",flexGrow:0,flexShrink:1};function u({accessibilityLabel:r,children:e,transform:t}){const{isScreenReaderEnabled:i}=l(s);return e==null?null:a("ink-text",{internal_transform:t,style:m,children:i&&r?r:e})}n(u,"n");c(u,"Transform");export{u as Transform,u as default};
@@ -0,0 +1,74 @@
1
+ import { ReactNode, ReactElement } from 'react';
2
+ type TransitionPreset = "fade" | "reveal" | "slide-down" | "slide-left" | "slide-right" | "slide-up";
3
+ type TransitionPhase = "entered" | "entering" | "exited" | "exiting";
4
+ type Props = {
5
+ /**
6
+ * Content to animate.
7
+ */
8
+ readonly children: ReactNode;
9
+ /**
10
+ * For slide presets, how many characters of offset to animate across.
11
+ * For the `reveal` preset, the maximum row count to scale through.
12
+ * @default 4
13
+ */
14
+ readonly distance?: number;
15
+ /**
16
+ * Duration of both enter and exit transitions, in milliseconds.
17
+ * @default 240
18
+ */
19
+ readonly duration?: number;
20
+ /**
21
+ * Called once the exit animation finishes (i.e. the component has fully
22
+ * transitioned out). AnimatePresence uses this to unmount the wrapper.
23
+ */
24
+ readonly onExit?: () => void;
25
+ /**
26
+ * Animation preset controlling how the content appears/disappears.
27
+ * @default "fade"
28
+ */
29
+ readonly preset?: TransitionPreset;
30
+ /**
31
+ * Controls the target phase. `true` drives towards `entered`, `false`
32
+ * drives towards `exited`. Flip the value to trigger animation.
33
+ * @default true
34
+ */
35
+ readonly show?: boolean;
36
+ /**
37
+ * Tick interval in milliseconds. Lower values yield smoother animation
38
+ * at the cost of CPU.
39
+ * @default 30
40
+ */
41
+ readonly tickInterval?: number;
42
+ };
43
+ type TransitionComponent = ((props: Props) => ReactElement | null) & {
44
+ isAnimatable: true;
45
+ };
46
+ /**
47
+ * Animate a child's entry and exit using a TUI-friendly preset. Drive via
48
+ * `show`; the component toggles between enter and exit, fires `onExit` once
49
+ * the exit animation completes.
50
+ *
51
+ * **Fade preset note:** `dimColor` is only applied when the child is a plain
52
+ * string. Non-string children (Box trees, other components) pass through
53
+ * untouched during the transition — wrap them in `&lt;Text>` if you need the
54
+ * fade effect.
55
+ * @returns A `ReactElement` rendering the transitioning child, or `null`
56
+ * once a hidden transition has fully completed.
57
+ */
58
+ declare function Transition({
59
+ children,
60
+ distance,
61
+ duration,
62
+ onExit,
63
+ preset,
64
+ show,
65
+ tickInterval
66
+ }: Props): ReactElement | null;
67
+ /**
68
+ * Static marker used by `AnimatePresence` to recognize Transition children
69
+ * even when the consumer hasn't explicitly passed a `show` prop. Consumers
70
+ * can apply the same marker to their own wrappers (`MyWrapper.isAnimatable
71
+ * = true`) to opt them into animation orchestration.
72
+ */
73
+ declare const TransitionWithMarker: TransitionComponent;
74
+ export { Props, Transition, TransitionPhase, TransitionPreset, type Props as TransitionProps, TransitionWithMarker as default };
@@ -0,0 +1 @@
1
+ var k=Object.defineProperty;var v=(r,e)=>k(r,"name",{value:e,configurable:!0});import{jsx as t}from"react/jsx-runtime";import{useState as b,useRef as s,useEffect as y}from"react";import{Box as c}from"./box.js";import{Text as A}from"./text.js";var E=Object.defineProperty,o=v((r,e)=>E(r,"name",{value:e,configurable:!0}),"u");const F=o((r,e)=>r>=1?t(c,{children:e}):r<=0?t(c,{}):t(c,{children:typeof e=="string"?t(A,{dimColor:r<.7,children:e}):e}),"renderFade"),C=o((r,e)=>Math.max(0,Math.min(e,Math.round((1-r)*e))),"slideOffset"),h=o((r,e)=>(i,a,m)=>{const n=C(i,m);return i>=1?t(c,{children:a}):i<=0?t(c,{}):r==="x"?t(c,{paddingLeft:e===1?n:0,paddingRight:e===-1?n:0,children:a}):t(c,{flexDirection:"column",paddingBottom:e===-1?n:0,paddingTop:e===1?n:0,children:a})},"renderSlide"),K=o((r,e,i)=>{if(r>=1)return t(c,{children:e});if(r<=0)return t(c,{});const a=Math.max(0,Math.min(i,Math.round(r*i)));return t(c,{flexDirection:"column",height:a,overflowY:"hidden",children:e})},"renderReveal"),L={fade:F,reveal:K,"slide-down":h("y",-1),"slide-left":h("x",-1),"slide-right":h("x",1),"slide-up":h("y",1)},N=o((r,e)=>r?e>=1?"entered":"entering":e<=0?"exited":"exiting","resolvePhase");function I({children:r,distance:e=4,duration:i=240,onExit:a,preset:m="fade",show:n=!0,tickInterval:M=30}){const[x,O]=b(n?1:0),p=s(n?1:0),w=s(Date.now()),l=s(n?1:0),d=s(!n),g=s(a);g.current=a;const[R,T]=b(0);if(y(()=>{const u=n?1:0;p.current!==u&&(p.current=u,w.current=Date.now(),l.current=x,d.current=!1,T(f=>f+1))},[n]),y(()=>{const u=p.current;if(l.current===u){u===0&&!d.current&&(d.current=!0,g.current?.());return}const f=setInterval(()=>{const B=Date.now()-w.current,D=i<=0?1:Math.min(1,B/i),S=l.current+(u-l.current)*D;O(S),D>=1&&(clearInterval(f),u===0&&!d.current&&(d.current=!0,g.current?.()))},M);return()=>{clearInterval(f)}},[R,i,M]),N(n,x)==="exited"&&!n)return null;const j=L[m];return j(x,r,e)}v(I,"h");o(I,"Transition");const H=Object.assign(I,{isAnimatable:!0});export{I as Transition,H as default};