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

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 (658) hide show
  1. package/CHANGELOG.md +300 -0
  2. package/LICENSE.md +2490 -69
  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 +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 +58 -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 +58 -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 +45 -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 +41 -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 +398 -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-ClAYpMVI.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-B_qZcN3r.js +2 -0
  268. package/dist/packem_shared/KEY-Bk8B-3h_.js +1 -0
  269. package/dist/packem_shared/LayoutNode-B8zej4dm.js +1 -0
  270. package/dist/packem_shared/MouseProvider-PnIUKURs.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-BVDXP0Cv.js +1 -0
  282. package/dist/packem_shared/TuiContext-BoJvG3NN.js +3 -0
  283. package/dist/packem_shared/accessibility-context-DDyHTwmA.js +1 -0
  284. package/dist/packem_shared/animation-context-DW3p-vpk.js +1 -0
  285. package/dist/packem_shared/ansi-parser-B6uXaq65.js +1 -0
  286. package/dist/packem_shared/ansi-tokenizer-DqX9nJuk.js +1 -0
  287. package/dist/packem_shared/app-context-BVpKlG1z.js +1 -0
  288. package/dist/packem_shared/background-context-rjOaWFki.js +1 -0
  289. package/dist/packem_shared/braille-BBjIoaN0.js +1 -0
  290. package/dist/packem_shared/buffer.d-EJkZr8uH.d.ts +39 -0
  291. package/dist/packem_shared/clipboard.d-D6lZTQ21.d.ts +23 -0
  292. package/dist/packem_shared/color-matrix.d-DSXLsB64.d.ts +50 -0
  293. package/dist/packem_shared/colorize-DbTZMrJO.js +1 -0
  294. package/dist/packem_shared/comparePoints-YxQfR_zq.js +1 -0
  295. package/dist/packem_shared/controlled-scroll-view-CcUS50jx.js +1 -0
  296. package/dist/packem_shared/createInlineLoop-DRNZ7jqH.js +2 -0
  297. package/dist/packem_shared/createScreen-CrLrxA6t.js +3 -0
  298. package/dist/packem_shared/cursor-context-CFviBqPX.js +1 -0
  299. package/dist/packem_shared/cursor-helpers.d-BONB9tky.d.ts +12 -0
  300. package/dist/packem_shared/dom-BG-LS10p.js +1 -0
  301. package/dist/packem_shared/dom.d-C1IxuLJ9.d.ts +414 -0
  302. package/dist/packem_shared/focus-context-CsT69klR.js +1 -0
  303. package/dist/packem_shared/format-time-C7Q-hQZq.js +1 -0
  304. package/dist/packem_shared/getPathToRoot-D5Hns9Er.js +1 -0
  305. package/dist/packem_shared/getScrollHeight-ClEOyLHH.js +1 -0
  306. package/dist/packem_shared/input-utils-fAxzSlNh.js +1 -0
  307. package/dist/packem_shared/input.d-CgxV2e8U.d.ts +90 -0
  308. package/dist/packem_shared/isIntersecting-B3KbKTmu.js +1 -0
  309. package/dist/packem_shared/isOsc52Supported-DKK7Uee6.js +1 -0
  310. package/dist/packem_shared/isTerminalPaletteQuerySupported-Dn2hFAZ_.js +1 -0
  311. package/dist/packem_shared/kittyFlags-C3rZLbcK.js +1 -0
  312. package/dist/packem_shared/layout-BMo200nF.js +2 -0
  313. package/dist/packem_shared/line-chart-kf7uhR0K.js +1 -0
  314. package/dist/packem_shared/measure-text-DDjHT1jD.js +3 -0
  315. package/dist/packem_shared/measureElement-BTtTFZg4.js +1 -0
  316. package/dist/packem_shared/mouse-context-DaARgUu1.js +1 -0
  317. package/dist/packem_shared/parseSgrMouse-Ccj70ijb.js +1 -0
  318. package/dist/packem_shared/processLayout-FEKj_mWu.js +1 -0
  319. package/dist/packem_shared/reconciler-CUbhOvcr.js +1 -0
  320. package/dist/packem_shared/reconciler-DIfG72R9.js +1 -0
  321. package/dist/packem_shared/render-BFio00DS.js +26 -0
  322. package/dist/packem_shared/render-Dh7HMhK1.js +1 -0
  323. package/dist/packem_shared/render.d-DuyG0zip.d.ts +417 -0
  324. package/dist/packem_shared/renderToString-BbQiRHrd.js +2 -0
  325. package/dist/packem_shared/renderToString-SDrrFvu8.js +4 -0
  326. package/dist/packem_shared/renderTreeToBuffer-CZilzyhN.js +2 -0
  327. package/dist/packem_shared/renderer-DG986Pcr.js +17 -0
  328. package/dist/packem_shared/scroll-view.d-DtpsgHLg.d.ts +119 -0
  329. package/dist/packem_shared/selection.d-Dbha5bMS.d.ts +62 -0
  330. package/dist/packem_shared/setEnableStyledLineCache-D2gZbwFM.js +1 -0
  331. package/dist/packem_shared/squashTextNodesWithMap-DCdi3SZ2.js +1 -0
  332. package/dist/packem_shared/stderr-context-BzEaUICS.js +1 -0
  333. package/dist/packem_shared/stdin-context-BTaaFagk.js +1 -0
  334. package/dist/packem_shared/stdout-context-BnblEPez.js +1 -0
  335. package/dist/packem_shared/styles.d-cMo36xQz.d.ts +396 -0
  336. package/dist/packem_shared/terminal-palette.d-D2SQjfn-.d.ts +19 -0
  337. package/dist/packem_shared/text-width-BU2eeTWn.js +2 -0
  338. package/dist/packem_shared/token-to-elements-BAZpNZsu.js +1 -0
  339. package/dist/packem_shared/treeViewTheme-1RIZyB4M.js +1 -0
  340. package/dist/packem_shared/useElementDimensions-qJ_WXFZ9.js +1 -0
  341. package/dist/packem_shared/useMouseAction-2dRfU1vE.js +1 -0
  342. package/dist/packem_shared/useMouseContext-C746G7kY.js +1 -0
  343. package/dist/packem_shared/useMousePosition-BTWfV4JK.js +1 -0
  344. package/dist/packem_shared/useOnMouseClick-nY8xLZmt.js +1 -0
  345. package/dist/packem_shared/useOnMouseHover-D3DczIol.js +1 -0
  346. package/dist/packem_shared/useOnMouseState-cRK8QvzD.js +1 -0
  347. package/dist/packem_shared/useTreeView-BoMMeRPq.js +1 -0
  348. package/dist/packem_shared/useTreeViewState-CRPCUWrb.js +1 -0
  349. package/dist/packem_shared/utils-CoviI5Vm.js +1 -0
  350. package/dist/packem_shared/variant-config-BJqpNo7H.js +1 -0
  351. package/dist/packem_shared/variant-config.d-D5NnrrQK.d.ts +2 -0
  352. package/dist/packem_shared/waitFor-Dj5zfL5s.js +4 -0
  353. package/dist/packem_shared/wrapOrTruncateStyledLine-BZ00SM8i.js +3 -0
  354. package/dist/react/index.d.ts +519 -8
  355. package/dist/react/index.js +1 -9
  356. package/dist/testing/index.d.ts +278 -135
  357. package/dist/testing/index.js +1 -260
  358. package/index.js +52 -52
  359. package/package.json +563 -38
  360. package/dist/core/app.d.ts +0 -50
  361. package/dist/core/cell.d.ts +0 -33
  362. package/dist/core/inline.d.ts +0 -22
  363. package/dist/core/input.d.ts +0 -18
  364. package/dist/core/native-binding.d.ts +0 -22
  365. package/dist/ink/ansi-to-cell.d.ts +0 -5
  366. package/dist/ink/ansi-tokenizer.d.ts +0 -38
  367. package/dist/ink/clipboard.d.ts +0 -29
  368. package/dist/ink/color-matrix.d.ts +0 -49
  369. package/dist/ink/color-utils.d.ts +0 -30
  370. package/dist/ink/colorize.d.ts +0 -4
  371. package/dist/ink/components/AccessibilityContext.d.ts +0 -4
  372. package/dist/ink/components/Alert.d.ts +0 -30
  373. package/dist/ink/components/AnimationContext.d.ts +0 -10
  374. package/dist/ink/components/App.d.ts +0 -19
  375. package/dist/ink/components/AppContext.d.ts +0 -38
  376. package/dist/ink/components/BackgroundContext.d.ts +0 -5
  377. package/dist/ink/components/Badge.d.ts +0 -27
  378. package/dist/ink/components/BigText.d.ts +0 -71
  379. package/dist/ink/components/Box.d.ts +0 -58
  380. package/dist/ink/components/Code.d.ts +0 -46
  381. package/dist/ink/components/ConfirmInput.d.ts +0 -40
  382. package/dist/ink/components/ConsoleOverlay.d.ts +0 -52
  383. package/dist/ink/components/Cursor.d.ts +0 -43
  384. package/dist/ink/components/CursorContext.d.ts +0 -12
  385. package/dist/ink/components/Dialog.d.ts +0 -93
  386. package/dist/ink/components/DiffView.d.ts +0 -71
  387. package/dist/ink/components/ErrorBoundary.d.ts +0 -17
  388. package/dist/ink/components/ErrorOverview.d.ts +0 -6
  389. package/dist/ink/components/FocusContext.d.ts +0 -17
  390. package/dist/ink/components/Gradient.d.ts +0 -38
  391. package/dist/ink/components/Help.d.ts +0 -49
  392. package/dist/ink/components/Link.d.ts +0 -34
  393. package/dist/ink/components/Markdown.d.ts +0 -34
  394. package/dist/ink/components/MultiSelect.d.ts +0 -63
  395. package/dist/ink/components/Newline.d.ts +0 -12
  396. package/dist/ink/components/OrderedList.d.ts +0 -30
  397. package/dist/ink/components/Paginator.d.ts +0 -75
  398. package/dist/ink/components/ProgressBar.d.ts +0 -51
  399. package/dist/ink/components/SelectInput.d.ts +0 -96
  400. package/dist/ink/components/SelectInputIndicator.d.ts +0 -36
  401. package/dist/ink/components/SelectInputItem.d.ts +0 -43
  402. package/dist/ink/components/Slider.d.ts +0 -92
  403. package/dist/ink/components/Spacer.d.ts +0 -7
  404. package/dist/ink/components/Spinner.d.ts +0 -42
  405. package/dist/ink/components/Static.d.ts +0 -24
  406. package/dist/ink/components/StaticRender.d.ts +0 -28
  407. package/dist/ink/components/StatusMessage.d.ts +0 -26
  408. package/dist/ink/components/StderrContext.d.ts +0 -16
  409. package/dist/ink/components/StdinContext.d.ts +0 -29
  410. package/dist/ink/components/StdoutContext.d.ts +0 -16
  411. package/dist/ink/components/Stopwatch.d.ts +0 -44
  412. package/dist/ink/components/Tab.d.ts +0 -25
  413. package/dist/ink/components/Table.d.ts +0 -80
  414. package/dist/ink/components/Tabs.d.ts +0 -104
  415. package/dist/ink/components/Text.d.ts +0 -63
  416. package/dist/ink/components/TextInput.d.ts +0 -48
  417. package/dist/ink/components/Textarea.d.ts +0 -62
  418. package/dist/ink/components/Timer.d.ts +0 -52
  419. package/dist/ink/components/Transform.d.ts +0 -16
  420. package/dist/ink/components/UnorderedList.d.ts +0 -35
  421. package/dist/ink/components/file-picker/FilePicker.d.ts +0 -75
  422. package/dist/ink/components/file-picker/index.d.ts +0 -3
  423. package/dist/ink/components/file-picker/types.d.ts +0 -38
  424. package/dist/ink/components/file-picker/use-file-system.d.ts +0 -16
  425. package/dist/ink/components/scroll/ControlledScrollView.d.ts +0 -43
  426. package/dist/ink/components/scroll/ScrollBar.d.ts +0 -20
  427. package/dist/ink/components/scroll/ScrollBarBox.d.ts +0 -15
  428. package/dist/ink/components/scroll/ScrollList.d.ts +0 -12
  429. package/dist/ink/components/scroll/ScrollView.d.ts +0 -98
  430. package/dist/ink/components/scroll/index.d.ts +0 -10
  431. package/dist/ink/components/scroll/use-state-ref.d.ts +0 -8
  432. package/dist/ink/components/tree-view/TreeView.d.ts +0 -89
  433. package/dist/ink/components/tree-view/TreeViewNode.d.ts +0 -29
  434. package/dist/ink/components/tree-view/index.d.ts +0 -11
  435. package/dist/ink/components/tree-view/theme.d.ts +0 -24
  436. package/dist/ink/components/tree-view/tree-node-map.d.ts +0 -72
  437. package/dist/ink/components/tree-view/types.d.ts +0 -55
  438. package/dist/ink/components/tree-view/use-tree-view-state.d.ts +0 -135
  439. package/dist/ink/components/tree-view/use-tree-view.d.ts +0 -26
  440. package/dist/ink/components/variant-config.d.ts +0 -10
  441. package/dist/ink/cursor-helpers.d.ts +0 -38
  442. package/dist/ink/data-limited-lru-map.d.ts +0 -21
  443. package/dist/ink/devtools-window-polyfill.d.ts +0 -1
  444. package/dist/ink/devtools.d.ts +0 -1
  445. package/dist/ink/dom.d.ts +0 -213
  446. package/dist/ink/get-max-width.d.ts +0 -3
  447. package/dist/ink/highlighter.d.ts +0 -28
  448. package/dist/ink/ime-utils.d.ts +0 -25
  449. package/dist/ink/ink.d.ts +0 -189
  450. package/dist/ink/input-parser.d.ts +0 -10
  451. package/dist/ink/input-utils.d.ts +0 -16
  452. package/dist/ink/instances.d.ts +0 -3
  453. package/dist/ink/kitty-keyboard.d.ts +0 -23
  454. package/dist/ink/layout.d.ts +0 -26
  455. package/dist/ink/log-update-native.d.ts +0 -14
  456. package/dist/ink/log-update.d.ts +0 -21
  457. package/dist/ink/measure-element.d.ts +0 -147
  458. package/dist/ink/measure-text.d.ts +0 -56
  459. package/dist/ink/mouse/Fullscreen.d.ts +0 -8
  460. package/dist/ink/mouse/MouseProvider.d.ts +0 -11
  461. package/dist/ink/mouse/ansi-parser.d.ts +0 -37
  462. package/dist/ink/mouse/constants.d.ts +0 -59
  463. package/dist/ink/mouse/index.d.ts +0 -20
  464. package/dist/ink/mouse/is-intersecting.d.ts +0 -18
  465. package/dist/ink/mouse/mouse-context.d.ts +0 -36
  466. package/dist/ink/mouse/use-element-position.d.ts +0 -29
  467. package/dist/ink/mouse/use-mouse-action.d.ts +0 -7
  468. package/dist/ink/mouse/use-mouse-position.d.ts +0 -7
  469. package/dist/ink/mouse/use-mouse.d.ts +0 -7
  470. package/dist/ink/mouse/use-on-mouse-click.d.ts +0 -14
  471. package/dist/ink/mouse/use-on-mouse-hover.d.ts +0 -8
  472. package/dist/ink/mouse/use-on-mouse-state.d.ts +0 -11
  473. package/dist/ink/output.d.ts +0 -74
  474. package/dist/ink/parse-keypress.d.ts +0 -22
  475. package/dist/ink/reconciler.d.ts +0 -3
  476. package/dist/ink/region.d.ts +0 -99
  477. package/dist/ink/render-background.d.ts +0 -4
  478. package/dist/ink/render-border.d.ts +0 -4
  479. package/dist/ink/render-node-to-output.d.ts +0 -38
  480. package/dist/ink/render-scrollbar.d.ts +0 -9
  481. package/dist/ink/render-sticky.d.ts +0 -44
  482. package/dist/ink/render-to-string.d.ts +0 -37
  483. package/dist/ink/render.d.ts +0 -191
  484. package/dist/ink/renderer.d.ts +0 -17
  485. package/dist/ink/resize-observer.d.ts +0 -44
  486. package/dist/ink/sanitize-ansi.d.ts +0 -2
  487. package/dist/ink/scroll.d.ts +0 -23
  488. package/dist/ink/selection.d.ts +0 -70
  489. package/dist/ink/squash-text-nodes.d.ts +0 -18
  490. package/dist/ink/style-flags.d.ts +0 -17
  491. package/dist/ink/styled-line-factory.d.ts +0 -25
  492. package/dist/ink/styled-line-serializer.d.ts +0 -18
  493. package/dist/ink/styled-line.d.ts +0 -109
  494. package/dist/ink/styles.d.ts +0 -369
  495. package/dist/ink/terminal-palette.d.ts +0 -25
  496. package/dist/ink/text-wrap.d.ts +0 -10
  497. package/dist/ink/token-to-elements.d.ts +0 -22
  498. package/dist/ink/utils/format-time.d.ts +0 -4
  499. package/dist/ink/utils.d.ts +0 -9
  500. package/dist/ink/wrap-text.d.ts +0 -3
  501. package/dist/ink/write-synchronized.d.ts +0 -4
  502. package/dist/packem_shared/AccessibilityContext-BLelHhNU.js +0 -7
  503. package/dist/packem_shared/Alert-Dr3s_LD9.js +0 -17
  504. package/dist/packem_shared/AnimationContext-BcJg8Jr6.js +0 -15
  505. package/dist/packem_shared/AppContext-CP0U6H7O.js +0 -11
  506. package/dist/packem_shared/BackgroundContext-BAUaxfOb.js +0 -5
  507. package/dist/packem_shared/Badge-Dk7EGGM6.js +0 -13
  508. package/dist/packem_shared/BigText-CjMdY63X.js +0 -24
  509. package/dist/packem_shared/Box-D_pSJ9Jp.js +0 -73
  510. package/dist/packem_shared/COLOR_BLINDNESS_SIMULATION-BsMy5Ewl.js +0 -81
  511. package/dist/packem_shared/Cell-DCg1kJY-.js +0 -48
  512. package/dist/packem_shared/Code-DjQvPBD9.js +0 -53
  513. package/dist/packem_shared/ConfirmInput-85Y4kRQW.js +0 -44
  514. package/dist/packem_shared/ConsoleOverlay-DBNa4vtj.js +0 -57
  515. package/dist/packem_shared/ControlledScrollView-BlOaxcsN.js +0 -286
  516. package/dist/packem_shared/ControlledScrollView-DfAhcufF.js +0 -5
  517. package/dist/packem_shared/Cursor-DiW7YoSK.js +0 -18
  518. package/dist/packem_shared/CursorContext-JxRzlqAx.js +0 -9
  519. package/dist/packem_shared/DevTools-aMPIsaHx.js +0 -61
  520. package/dist/packem_shared/Dialog-DsSNAVgC.js +0 -71
  521. package/dist/packem_shared/DiffView-hqaw-2S6.js +0 -329
  522. package/dist/packem_shared/FilePicker-DNwFxRhq.js +0 -254
  523. package/dist/packem_shared/FocusContext-CWkYtgcm.js +0 -26
  524. package/dist/packem_shared/FocusContext-D5wFxSRz.js +0 -153
  525. package/dist/packem_shared/Fullscreen-DrElAE1o.js +0 -11
  526. package/dist/packem_shared/Gradient-Ql5P0GUd.js +0 -136
  527. package/dist/packem_shared/Help-6wanGG38.js +0 -112
  528. package/dist/packem_shared/IMECompositionBuffer-Dl3S0KnF.js +0 -55
  529. package/dist/packem_shared/InputParser-BKHpWfvN.js +0 -156
  530. package/dist/packem_shared/LayoutNode-Cjnsodiy.js +0 -131
  531. package/dist/packem_shared/Link-COcKYfGT.js +0 -66
  532. package/dist/packem_shared/Markdown-y1ISztof.js +0 -212
  533. package/dist/packem_shared/MouseProvider-Y9TSSEGl.js +0 -136
  534. package/dist/packem_shared/MultiSelect-ChoLUcDI.js +0 -129
  535. package/dist/packem_shared/NAMED_COLORS-a4QBvb5r.js +0 -262
  536. package/dist/packem_shared/Newline-DBtYEg8x.js +0 -7
  537. package/dist/packem_shared/OrderedList-Cp7pXr6m.js +0 -26
  538. package/dist/packem_shared/Paginator-D1AuD-kj.js +0 -104
  539. package/dist/packem_shared/ProgressBar-DOfpVagn.js +0 -22
  540. package/dist/packem_shared/Renderer-zZ5O3vxc.js +0 -31
  541. package/dist/packem_shared/ResizeObserverEntry-Br4seLeQ.js +0 -102
  542. package/dist/packem_shared/ScrollBar-EWAs2Uc7.js +0 -106
  543. package/dist/packem_shared/ScrollBarBox-DTNNlh7R.js +0 -72
  544. package/dist/packem_shared/ScrollList-DCeIFL8M.js +0 -227
  545. package/dist/packem_shared/ScrollView-v3MCNIyX.js +0 -196
  546. package/dist/packem_shared/SelectInput-BN2TMyxp.js +0 -260
  547. package/dist/packem_shared/SelectInputIndicator-DkRMoH_b.js +0 -9
  548. package/dist/packem_shared/SelectInputItem-BF9LQgKu.js +0 -8
  549. package/dist/packem_shared/Slider-BWD7xZX6.js +0 -116
  550. package/dist/packem_shared/Spacer-Bs4ER-HK.js +0 -8
  551. package/dist/packem_shared/Spinner-BuI-kN4p.js +0 -1799
  552. package/dist/packem_shared/Static-DpTd6Eed.js +0 -22
  553. package/dist/packem_shared/Static-xmD9giJj.js +0 -18
  554. package/dist/packem_shared/StaticRender-tYwH6QXl.js +0 -33
  555. package/dist/packem_shared/StatusMessage-BtSYxzwb.js +0 -14
  556. package/dist/packem_shared/StderrContext-Bj4Mf7v7.js +0 -17
  557. package/dist/packem_shared/StdinContext-Bq_GNJ3z.js +0 -38
  558. package/dist/packem_shared/StdoutContext-CgjWeCdO.js +0 -17
  559. package/dist/packem_shared/Stopwatch-DjtTCyHn.js +0 -23
  560. package/dist/packem_shared/Tab-C6r5q4hR.js +0 -7
  561. package/dist/packem_shared/Table-D-rSVlzb.js +0 -82
  562. package/dist/packem_shared/Tabs-hki-KRnx.js +0 -153
  563. package/dist/packem_shared/Text-DvAUdZcK.js +0 -65
  564. package/dist/packem_shared/TextInput-C79WEQ5U.js +0 -137
  565. package/dist/packem_shared/Textarea-Dj06R6Zd.js +0 -272
  566. package/dist/packem_shared/Timer-wi9zuh4n.js +0 -22
  567. package/dist/packem_shared/Transform-BHxY_dAM.js +0 -14
  568. package/dist/packem_shared/TreeNodeMap-CtJUvBnd.js +0 -155
  569. package/dist/packem_shared/TreeView-C2062dtj.js +0 -148
  570. package/dist/packem_shared/TuiApp-DfxOnXqi.js +0 -120
  571. package/dist/packem_shared/TuiContext-CqEjMyXd.js +0 -415
  572. package/dist/packem_shared/UnorderedList-DhnadWjX.js +0 -33
  573. package/dist/packem_shared/ansi-parser-0BdVTKho.js +0 -41
  574. package/dist/packem_shared/ansi-tokenizer-LHq2LUWA.js +0 -307
  575. package/dist/packem_shared/boxes-oi3WUbyR.js +0 -92
  576. package/dist/packem_shared/colorize-88_Vk8cn.js +0 -48
  577. package/dist/packem_shared/comparePoints-CGMDnd3_.js +0 -287
  578. package/dist/packem_shared/createInlineLoop-BxMmcq9D.js +0 -93
  579. package/dist/packem_shared/createLinkedScrollGroup-Djw4Ceo0.js +0 -44
  580. package/dist/packem_shared/dom-DvzhsAez.js +0 -225
  581. package/dist/packem_shared/format-time-BGmnDukX.js +0 -12
  582. package/dist/packem_shared/getPathToRoot-a1wbwxfL.js +0 -4
  583. package/dist/packem_shared/getScrollHeight-BubfU_df.js +0 -63
  584. package/dist/packem_shared/input-utils-ViAEXa0Z.js +0 -19
  585. package/dist/packem_shared/isIntersecting-fEXHJN5R.js +0 -10
  586. package/dist/packem_shared/isOsc52Supported-G0k4sXJx.js +0 -36
  587. package/dist/packem_shared/isTerminalPaletteQuerySupported-EeiwMKbr.js +0 -93
  588. package/dist/packem_shared/kittyFlags-bNNf_9kX.js +0 -26
  589. package/dist/packem_shared/measure-element-Reza_yfC.js +0 -396
  590. package/dist/packem_shared/measure-text-DItZYotK.js +0 -1189
  591. package/dist/packem_shared/measureElement-CTgFCmKd.js +0 -4
  592. package/dist/packem_shared/mouse-context-BUHWKEIe.js +0 -6
  593. package/dist/packem_shared/parseSgrMouse-BHVBPP9G.js +0 -1
  594. package/dist/packem_shared/processLayout-BQ9kXfd3.js +0 -2
  595. package/dist/packem_shared/reconciler-BXf6miSS.js +0 -211
  596. package/dist/packem_shared/reconciler-gfmqURLy.js +0 -680
  597. package/dist/packem_shared/render-BAwdjfki.js +0 -2806
  598. package/dist/packem_shared/render-Bpjhf0lD.js +0 -195
  599. package/dist/packem_shared/renderToString-Cfg55DRD.js +0 -62
  600. package/dist/packem_shared/renderToString-ClIaXgrC.js +0 -86
  601. package/dist/packem_shared/renderTreeToBuffer-D3mo7M7m.js +0 -308
  602. package/dist/packem_shared/renderer-B3wROkeg.js +0 -1431
  603. package/dist/packem_shared/setEnableStyledLineCache-BpskngSJ.js +0 -2
  604. package/dist/packem_shared/squashTextNodesWithMap-iqm6OMMT.js +0 -100
  605. package/dist/packem_shared/text-width-DhuarWcB.js +0 -42
  606. package/dist/packem_shared/token-to-elements-BRFl_rzw.js +0 -249
  607. package/dist/packem_shared/treeViewTheme-BpSw9TMf.js +0 -52
  608. package/dist/packem_shared/useAnimation-kj31sA-T.js +0 -62
  609. package/dist/packem_shared/useApp-DPQlRzi5.js +0 -6
  610. package/dist/packem_shared/useBoxMetrics-rBjKc-g4.js +0 -54
  611. package/dist/packem_shared/useClipboard-B_9-adw1.js +0 -23
  612. package/dist/packem_shared/useColorBlindness-D_sTIhcb.js +0 -30
  613. package/dist/packem_shared/useConsoleCapture-Dvt7G1W1.js +0 -61
  614. package/dist/packem_shared/useCursor-BIJzc8k9.js +0 -19
  615. package/dist/packem_shared/useElementDimensions-CAoKitVD.js +0 -67
  616. package/dist/packem_shared/useFocus-CNl5QHHf.js +0 -37
  617. package/dist/packem_shared/useFocusManager-BPYaUuKQ.js +0 -16
  618. package/dist/packem_shared/useInput-Cfp5zB2s.js +0 -594
  619. package/dist/packem_shared/useIsScreenReaderEnabled-CnGKCe0f.js +0 -9
  620. package/dist/packem_shared/useKeyBindings-B78l1E1n.js +0 -66
  621. package/dist/packem_shared/useMouseAction-C5gZ2nj7.js +0 -29
  622. package/dist/packem_shared/useMouseContext-D-rFy60Q.js +0 -12
  623. package/dist/packem_shared/useMousePosition-BHBJ-kBk.js +0 -25
  624. package/dist/packem_shared/useOnMouseClick--ZIyBOBO.js +0 -35
  625. package/dist/packem_shared/useOnMouseHover-26diuXUC.js +0 -32
  626. package/dist/packem_shared/useOnMouseState-NO_Kda_C.js +0 -13
  627. package/dist/packem_shared/usePaste-Ct8J4AGR.js +0 -35
  628. package/dist/packem_shared/useScrollAcceleration-R9LfrPVG.js +0 -73
  629. package/dist/packem_shared/useScrollInput-D3CpBq_a.js +0 -72
  630. package/dist/packem_shared/useStderr-CAOVUh4E.js +0 -6
  631. package/dist/packem_shared/useStdin-X-O0kd-n.js +0 -7
  632. package/dist/packem_shared/useStdout-DyF6DSH0.js +0 -6
  633. package/dist/packem_shared/useStopwatch-qC4Beai4.js +0 -33
  634. package/dist/packem_shared/useTerminalPalette-BaWO2c4Q.js +0 -38
  635. package/dist/packem_shared/useTextBuffer-C8fEe9Ly.js +0 -398
  636. package/dist/packem_shared/useTextSelection-mXtxgsPK.js +0 -50
  637. package/dist/packem_shared/useTimer-CPQ7j827.js +0 -46
  638. package/dist/packem_shared/useTreeView-BT57P3Kx.js +0 -101
  639. package/dist/packem_shared/useTreeViewState-BpS_KZ-K.js +0 -502
  640. package/dist/packem_shared/useWindowSize-ugEmGZJm.js +0 -20
  641. package/dist/packem_shared/utils-BgdlrbOH.js +0 -140
  642. package/dist/packem_shared/variant-config-DSZoX5TM.js +0 -8
  643. package/dist/packem_shared/wrapOrTruncateStyledLine-DN3Nogoc.js +0 -147
  644. package/dist/react/devtools.d.ts +0 -27
  645. package/dist/react/focus.d.ts +0 -39
  646. package/dist/react/hooks.d.ts +0 -238
  647. package/dist/react/layout.d.ts +0 -35
  648. package/dist/react/react.d.ts +0 -57
  649. package/dist/react/reconciler.d.ts +0 -4
  650. package/dist/react/render-to-string.d.ts +0 -21
  651. package/dist/react/renderer.d.ts +0 -2
  652. package/dist/react/scene.d.ts +0 -3
  653. package/dist/react/static.d.ts +0 -39
  654. package/dist/react/styles.d.ts +0 -83
  655. package/dist/react/text-width.d.ts +0 -20
  656. package/dist/testing/keys.d.ts +0 -89
  657. package/dist/testing/screen.d.ts +0 -35
  658. package/dist/testing/wait-for.d.ts +0 -21
@@ -0,0 +1,75 @@
1
+ import { ReactNode, ReactElement } from 'react';
2
+ type ConfirmTone = "danger" | "info" | "warning";
3
+ type Props = {
4
+ /**
5
+ * Auto-focus the dialog on mount. Set `false` if a parent already owns
6
+ * focus and routes input here.
7
+ * @default true
8
+ */
9
+ readonly autoFocus?: boolean;
10
+ /**
11
+ * Label for the cancel button.
12
+ * @default "Cancel"
13
+ */
14
+ readonly cancelLabel?: string;
15
+ /**
16
+ * Body content (rendered between title and buttons).
17
+ */
18
+ readonly children?: ReactNode;
19
+ /**
20
+ * Label for the confirm button.
21
+ * @default "Confirm"
22
+ */
23
+ readonly confirmLabel?: string;
24
+ /**
25
+ * Default button when opening the dialog.
26
+ * @default "confirm"
27
+ */
28
+ readonly defaultFocus?: "cancel" | "confirm";
29
+ /**
30
+ * Disable input.
31
+ */
32
+ readonly isDisabled?: boolean;
33
+ /**
34
+ * Fired when the user declines.
35
+ */
36
+ readonly onCancel: () => void;
37
+ /**
38
+ * Fired when the user confirms.
39
+ */
40
+ readonly onConfirm: () => void;
41
+ /**
42
+ * Heading rendered at the top of the dialog.
43
+ */
44
+ readonly title?: string;
45
+ /**
46
+ * Controls the border color.
47
+ * @default "info"
48
+ */
49
+ readonly tone?: ConfirmTone;
50
+ /**
51
+ * Dialog width.
52
+ */
53
+ readonly width?: number;
54
+ };
55
+ /**
56
+ * Full-width modal-style confirm/cancel prompt. Unlike `ConfirmInput`, this
57
+ * renders a visible two-button UI: ← / → to toggle focus, Enter to activate,
58
+ * y/n as shortcuts, Esc to cancel.
59
+ * @returns A bordered `ReactElement` with optional title, body, and two
60
+ * buttons (cancel / confirm).
61
+ */
62
+ declare function ConfirmDialog({
63
+ autoFocus,
64
+ cancelLabel,
65
+ children,
66
+ confirmLabel,
67
+ defaultFocus,
68
+ isDisabled,
69
+ onCancel,
70
+ onConfirm,
71
+ title,
72
+ tone,
73
+ width
74
+ }: Props): ReactElement;
75
+ export { ConfirmDialog, type Props as ConfirmDialogProps, ConfirmTone, Props, ConfirmDialog as default };
@@ -0,0 +1 @@
1
+ var D=Object.defineProperty;var s=(r,o)=>D(r,"name",{value:o,configurable:!0});import{jsxs as g,jsx as e}from"react/jsx-runtime";import{useState as A,useCallback as j}from"react";import B from"../ink/hooks/use-focus.js";import k from"../ink/hooks/use-input.js";import{Box as l}from"./box.js";import{Text as u}from"./text.js";var L=Object.defineProperty,p=s((r,o)=>L(r,"name",{value:o,configurable:!0}),"s");const S={danger:"red",info:"blue",warning:"yellow"},h=p(({color:r,isFocused:o,label:i})=>e(l,{backgroundColor:o?r:void 0,borderColor:o?r:void 0,borderStyle:"round",paddingX:1,children:e(u,{bold:o,color:o?"black":void 0,children:i})}),"ButtonLabel");function T({autoFocus:r=!0,cancelLabel:o="Cancel",children:i,confirmLabel:v="Confirm",defaultFocus:C="confirm",isDisabled:m=!1,onCancel:a,onConfirm:f,title:b,tone:y="info",width:x}){const[n,w]=A(C),t=S[y],{isFocused:F}=B({autoFocus:r,isActive:!m});return k(j((c,d)=>{if(d.leftArrow||d.rightArrow||c==="h"||c==="l"){w(n==="confirm"?"cancel":"confirm");return}if(d.return){n==="confirm"?f():a();return}if(d.escape||c==="n"){a();return}c==="y"&&f()},[n,f,a]),{isActive:!m&&F}),g(l,{borderColor:t,borderStyle:"round",flexDirection:"column",paddingX:1,paddingY:1,width:x,children:[b===void 0?void 0:e(l,{marginBottom:1,children:e(u,{bold:!0,color:t,children:b})}),i===void 0?void 0:e(l,{flexDirection:"column",marginBottom:1,children:typeof i=="string"?e(u,{children:i}):i}),g(l,{gap:2,justifyContent:"flex-end",children:[e(h,{color:t,isFocused:n==="cancel",label:o}),e(h,{color:t,isFocused:n==="confirm",label:v})]})]})}s(T,"g");p(T,"ConfirmDialog");export{T as ConfirmDialog,T as default};
@@ -0,0 +1,38 @@
1
+ import { ReactElement } from 'react';
2
+ type Props = {
3
+ /**
4
+ * The default action when pressing Enter without typing Y or N.
5
+ * @default "confirm"
6
+ */
7
+ readonly defaultChoice?: "cancel" | "confirm";
8
+ /**
9
+ * Whether the input is disabled.
10
+ * @default false
11
+ */
12
+ readonly isDisabled?: boolean;
13
+ /**
14
+ * Called when the user cancels (presses N).
15
+ */
16
+ readonly onCancel: () => void;
17
+ /**
18
+ * Called when the user confirms (presses Y).
19
+ */
20
+ readonly onConfirm: () => void;
21
+ /**
22
+ * Whether pressing Enter submits the default choice.
23
+ * @default true
24
+ */
25
+ readonly submitOnEnter?: boolean;
26
+ };
27
+ /**
28
+ * Renders a Y/N confirmation prompt. Shows "Y/n" when default is confirm,
29
+ * or "y/N" when default is cancel.
30
+ */
31
+ declare function ConfirmInput({
32
+ defaultChoice,
33
+ isDisabled,
34
+ onCancel,
35
+ onConfirm,
36
+ submitOnEnter
37
+ }: Props): ReactElement;
38
+ export { ConfirmInput, type Props as ConfirmInputProps, Props, ConfirmInput as default };
@@ -0,0 +1 @@
1
+ var m=Object.defineProperty;var t=(r,e)=>m(r,"name",{value:e,configurable:!0});import{jsx as l,jsxs as p}from"react/jsx-runtime";import{useRef as f,useCallback as C}from"react";import d from"../ink/hooks/use-input.js";import{Box as b}from"./box.js";import{Text as x}from"./text.js";var v=Object.defineProperty,y=t((r,e)=>v(r,"name",{value:e,configurable:!0}),"i");function h({defaultChoice:r="confirm",isDisabled:e=!1,onCancel:i,onConfirm:c,submitOnEnter:u=!0}){const n=f(c);n.current=c;const o=f(i);return o.current=i,d(C((a,s)=>{if(a.toLowerCase()==="y"){n.current();return}if(a.toLowerCase()==="n"){o.current();return}s.return&&u&&(r==="confirm"?n.current():o.current())},[u,r]),{isActive:!e}),l(b,{children:p(x,{dimColor:e,children:[r==="confirm"?"Y":"y","/",r==="cancel"?"N":"n"]})})}t(h,"s");y(h,"ConfirmInput");export{h as ConfirmInput,h as default};
@@ -0,0 +1,54 @@
1
+ import { ReactElement } from 'react';
2
+ import { ConsoleLevel } from "../ink/hooks/use-console-capture.js";
3
+ type ConsoleOverlayDock = "bottom" | "top";
4
+ type Props = {
5
+ /**
6
+ * Dock position within the parent container.
7
+ * @default "bottom"
8
+ */
9
+ readonly dock?: ConsoleOverlayDock;
10
+ /**
11
+ * Which console levels to capture.
12
+ * @default ["log", "info", "warn", "error", "debug"]
13
+ */
14
+ readonly filter?: ReadonlyArray<ConsoleLevel>;
15
+ /**
16
+ * Visible height in rows.
17
+ * @default 8
18
+ */
19
+ readonly height?: number;
20
+ /**
21
+ * Maximum entries to keep in the buffer.
22
+ * @default 200
23
+ */
24
+ readonly maxEntries?: number;
25
+ /**
26
+ * Show the log level label.
27
+ * @default true
28
+ */
29
+ readonly showLevel?: boolean;
30
+ /**
31
+ * Show timestamps on each entry.
32
+ * @default true
33
+ */
34
+ readonly showTimestamp?: boolean;
35
+ };
36
+ /**
37
+ * A dockable console overlay that captures and displays console output.
38
+ *
39
+ * ```tsx
40
+ * &lt;Box flexDirection="column" height="100%">
41
+ * &lt;Box flexGrow={1}>{mainContent}&lt;/Box>
42
+ * &lt;ConsoleOverlay dock="bottom" height={6} />
43
+ * &lt;/Box>
44
+ * ```
45
+ */
46
+ declare function ConsoleOverlay({
47
+ dock,
48
+ filter,
49
+ height,
50
+ maxEntries,
51
+ showLevel,
52
+ showTimestamp
53
+ }: Props): ReactElement;
54
+ export { ConsoleOverlay, ConsoleOverlayDock, type Props as ConsoleOverlayProps, Props, ConsoleOverlay as default };
@@ -0,0 +1 @@
1
+ var f=Object.defineProperty;var a=(e,r)=>f(e,"name",{value:r,configurable:!0});import{jsx as m,jsxs as s}from"react/jsx-runtime";import{useMemo as h}from"react";import v from"../ink/hooks/use-console-capture.js";import{Box as p}from"./box.js";import{Text as l}from"./text.js";var b=Object.defineProperty,u=a((e,r)=>b(e,"name",{value:r,configurable:!0}),"a");const w={debug:"gray",error:"red",info:"blue",log:"white",warn:"yellow"},x={debug:"DBG",error:"ERR",info:"INF",log:"LOG",warn:"WRN"},y=u(e=>{const r=new Date(e),t=String(r.getHours()).padStart(2,"0"),i=String(r.getMinutes()).padStart(2,"0"),n=String(r.getSeconds()).padStart(2,"0");return`${t}:${i}:${n}`},"formatTimestamp");function C({dock:e="bottom",filter:r,height:t=8,maxEntries:i=200,showLevel:n=!0,showTimestamp:g=!0}){const{entries:d}=v({filter:r,maxEntries:i}),c=h(()=>d.slice(-t),[d,t]);return m(p,{borderBottom:e==="top",borderBottomColor:"gray",borderTop:e==="bottom",borderTopColor:"gray",flexDirection:"column",height:t+1,children:c.length===0?m(l,{dimColor:!0,children:"Console output will appear here..."}):c.map(o=>s(p,{children:[g?s(l,{dimColor:!0,children:["[",y(o.timestamp),"]"," "]}):void 0,n?s(l,{color:w[o.level],children:[x[o.level]," "]}):void 0,m(l,{color:o.level==="error"?"red":o.level==="warn"?"yellow":void 0,children:o.message})]},o.id))})}a(C,"c");u(C,"ConsoleOverlay");export{C as ConsoleOverlay,C as default};
@@ -0,0 +1,57 @@
1
+ import { AnsiColors } from '@visulima/colorize';
2
+ import { ReactNode, ReactElement } from 'react';
3
+ import { LiteralUnion } from 'type-fest';
4
+ type ContentSwitcherOption = {
5
+ readonly content: ReactNode;
6
+ readonly icon?: ReactNode;
7
+ readonly id: string;
8
+ readonly label: string;
9
+ };
10
+ type Props = {
11
+ /**
12
+ * Accent color for the selected segment.
13
+ * @default "blue"
14
+ */
15
+ readonly accentColor?: LiteralUnion<AnsiColors, string>;
16
+ /**
17
+ * Auto-focus the switcher on mount.
18
+ */
19
+ readonly autoFocus?: boolean;
20
+ /**
21
+ * Initial selected id (uncontrolled).
22
+ */
23
+ readonly defaultValue?: string;
24
+ /**
25
+ * Disable input.
26
+ */
27
+ readonly isDisabled?: boolean;
28
+ /**
29
+ * Called when the selection changes.
30
+ */
31
+ readonly onChange?: (id: string) => void;
32
+ /**
33
+ * Segments to toggle between.
34
+ */
35
+ readonly options: ReadonlyArray<ContentSwitcherOption>;
36
+ /**
37
+ * Controlled selected id.
38
+ */
39
+ readonly value?: string;
40
+ };
41
+ /**
42
+ * Segmented control that flips between mutually exclusive content. More
43
+ * compact than `Tabs`: the selected segment is highlighted as a pill, and
44
+ * only the active segment's content is rendered.
45
+ * @returns A `ReactElement` with a segmented header row and the active
46
+ * panel's content beneath it.
47
+ */
48
+ declare function ContentSwitcher({
49
+ accentColor,
50
+ autoFocus,
51
+ defaultValue,
52
+ isDisabled,
53
+ onChange,
54
+ options,
55
+ value
56
+ }: Props): ReactElement;
57
+ export { ContentSwitcher, ContentSwitcherOption, type Props as ContentSwitcherProps, Props, ContentSwitcher as default };
@@ -0,0 +1 @@
1
+ var F=Object.defineProperty;var f=(i,n)=>F(i,"name",{value:n,configurable:!0});import{jsxs as h,jsx as g,Fragment as M}from"react/jsx-runtime";import{useState as j,useMemo as k,useCallback as b}from"react";import D from"../ink/hooks/use-focus.js";import S from"../ink/hooks/use-input.js";import{Box as v}from"./box.js";import{Text as y}from"./text.js";var I=Object.defineProperty,T=f((i,n)=>I(i,"name",{value:n,configurable:!0}),"g");function B({accentColor:i="blue",autoFocus:n=!1,defaultValue:C,isDisabled:l=!1,onChange:x,options:e,value:c}){const{isFocused:d}=D({autoFocus:n,isActive:!l}),w=C??e[0]?.id,[s,A]=j(w),u=c??s,t=k(()=>{if(u===void 0)return 0;const o=e.findIndex(r=>r.id===u);return Math.max(o,0)},[e,u]),m=b(o=>{const r=e[o];if(!r)return;const a=c??s;r.id!==a&&(c===void 0&&A(r.id),x?.(r.id))},[e,c,s,x]);S(b((o,r)=>{d&&(r.leftArrow||o==="h"?m(Math.max(0,t-1)):(r.rightArrow||o==="l")&&m(Math.min(e.length-1,t+1)))},[d,t,e.length,m]),{isActive:!l&&d});const p=e[t];return h(v,{flexDirection:"column",children:[g(v,{children:e.map((o,r)=>{const a=r===t;return h(y,{backgroundColor:a?i:void 0,color:a?"black":void 0,dimColor:l&&!a,children:[" ",o.icon===void 0?void 0:h(M,{children:[o.icon," "]}),o.label," "]},o.id)})}),p===void 0?void 0:g(v,{flexDirection:"column",marginTop:1,children:p.content})]})}f(B,"C");T(B,"ContentSwitcher");export{B as ContentSwitcher,B as default};
@@ -0,0 +1,61 @@
1
+ import React, { ReactNode, Ref } from 'react';
2
+ import { BoxProps as Props } from "./box.js";
3
+ import 'type-fest';
4
+ import "../packem_shared/dom.d-C1IxuLJ9.js";
5
+ import 'yoga-layout';
6
+ import "../packem_shared/cursor-helpers.d-BONB9tky.js";
7
+ import '@visulima/colorize';
8
+ import 'cli-boxes';
9
+ import "../packem_shared/styles.d-cMo36xQz.js";
10
+ interface ControlledScrollViewProps extends Props {
11
+ children?: ReactNode;
12
+ debug?: boolean;
13
+ onContentHeightChange?: (height: number, previousHeight: number) => void;
14
+ onItemHeightChange?: (index: number, height: number, previousHeight: number) => void;
15
+ onViewportSizeChange?: (size: {
16
+ height: number;
17
+ width: number;
18
+ }, previousSize: {
19
+ height: number;
20
+ width: number;
21
+ }) => void;
22
+ /**
23
+ * Number of extra items to render above/below the viewport when virtualized.
24
+ * @default 3
25
+ */
26
+ overscan?: number;
27
+ scrollOffset: number;
28
+ /**
29
+ * Only render items visible in the viewport plus overscan.
30
+ * Items must be measured first (first render always renders all items).
31
+ * @default false
32
+ */
33
+ virtualize?: boolean;
34
+ }
35
+ interface ControlledScrollViewRef {
36
+ getBottomOffset: () => number;
37
+ getContentHeight: () => number;
38
+ getItemHeight: (index: number) => number;
39
+ getItemPosition: (index: number) => {
40
+ height: number;
41
+ top: number;
42
+ } | null;
43
+ getViewportHeight: () => number;
44
+ remeasure: () => void;
45
+ remeasureItem: (index: number) => void;
46
+ }
47
+ declare const ControlledScrollView: ({
48
+ children,
49
+ debug,
50
+ onContentHeightChange,
51
+ onItemHeightChange,
52
+ onViewportSizeChange,
53
+ overscan,
54
+ ref,
55
+ scrollOffset,
56
+ virtualize,
57
+ ...boxProps
58
+ }: ControlledScrollViewProps & {
59
+ ref?: Ref<ControlledScrollViewRef>;
60
+ }) => React.JSX.Element;
61
+ export { ControlledScrollView, type ControlledScrollViewProps, type ControlledScrollViewRef };
@@ -0,0 +1 @@
1
+ import{C as r}from"../packem_shared/controlled-scroll-view-CcUS50jx.js";export{r as ControlledScrollView};
@@ -0,0 +1,62 @@
1
+ import React, { RefObject } from 'react';
2
+ import { C as CursorShape } from "../packem_shared/cursor-helpers.d-BONB9tky.js";
3
+ import { D as DOMElement } from "../packem_shared/dom.d-C1IxuLJ9.js";
4
+ import 'yoga-layout';
5
+ import '@visulima/colorize';
6
+ import 'cli-boxes';
7
+ import "../packem_shared/styles.d-cMo36xQz.js";
8
+ import 'type-fest';
9
+ type Props = {
10
+ /**
11
+ * Optional reference to anchor cursor coordinates to a different element.
12
+ * If omitted, `&lt;Cursor>` uses the parent container as anchor.
13
+ * If `anchorRef` is set but currently unresolved, Ink hides the cursor for that frame.
14
+ * If multiple `&lt;Cursor>` components are rendered in one frame, the last rendered one controls the terminal cursor position.
15
+ */
16
+ readonly anchorRef?: RefObject<DOMElement | null>;
17
+ /**
18
+ * Optional cursor shape (DECSCUSR). The shape is restored to the terminal
19
+ * default on unmount, SIGINT, and unhandled React tree throws, so the
20
+ * parent shell never inherits a leaked shape.
21
+ *
22
+ * Steady variants are non-blinking; `blinking-*` variants opt into blink.
23
+ */
24
+ readonly shape?: CursorShape;
25
+ /**
26
+ * Horizontal offset from anchor content origin.
27
+ */
28
+ readonly x?: number;
29
+ /**
30
+ * Vertical offset from anchor content origin.
31
+ */
32
+ readonly y?: number;
33
+ };
34
+ /**
35
+ * Declaratively position the terminal cursor.
36
+ * `&lt;Cursor>` must not be rendered inside `&lt;Text>`.
37
+ *
38
+ * **Inline mode** (no props): place `&lt;Cursor />` after a `&lt;Text>` node and the
39
+ * cursor appears where that text ended — even when text wraps across lines.
40
+ *
41
+ * **Anchor mode**: pass `anchorRef` and/or `x`/`y` to position relative to
42
+ * another element's content origin.
43
+ * @example Inline mode — cursor follows text naturally
44
+ * ```jsx
45
+ * <Box>
46
+ * <Text>{prompt + value}</Text>
47
+ * <Cursor />
48
+ * </Box>
49
+ * ```
50
+ * @example Anchor mode — offset from a referenced element
51
+ * ```jsx
52
+ * <Box ref={ref} />
53
+ * <Cursor anchorRef={ref} x={5} />
54
+ * ```
55
+ */
56
+ declare function Cursor({
57
+ anchorRef,
58
+ shape,
59
+ x,
60
+ y
61
+ }: Props): React.JSX.Element;
62
+ export { Cursor, type Props as CursorProps, Props, Cursor as default };
@@ -0,0 +1 @@
1
+ var u=Object.defineProperty;var n=(e,r)=>u(e,"name",{value:r,configurable:!0});import{jsx as c}from"react/jsx-runtime";import{useMemo as f}from"react";var p=Object.defineProperty,m=n((e,r)=>p(e,"name",{value:r,configurable:!0}),"s");function l({anchorRef:e,shape:r,x:o=0,y:a=0}){const i=e??void 0,s=i===void 0&&o===0&&a===0,t=f(()=>({anchorRef:i,inline:s,shape:r,x:o,y:a}),[i,s,r,o,a]);return c("ink-cursor",{internal_cursor:t})}n(l,"u");m(l,"Cursor");export{l as Cursor,l as default};
@@ -0,0 +1,65 @@
1
+ import { AnsiColors } from '@visulima/colorize';
2
+ import { ReactElement } from 'react';
3
+ import { LiteralUnion } from 'type-fest';
4
+ type Props = {
5
+ /**
6
+ * Accent color used by the inner calendar when open.
7
+ * @default "blue"
8
+ */
9
+ readonly accentColor?: LiteralUnion<AnsiColors, string>;
10
+ /**
11
+ * Auto-focus the picker on mount.
12
+ */
13
+ readonly autoFocus?: boolean;
14
+ /**
15
+ * Initial selected date when uncontrolled.
16
+ */
17
+ readonly defaultValue?: Date;
18
+ /**
19
+ * Override the way the selected date is rendered in the input row.
20
+ */
21
+ readonly formatValue?: (date: Date) => string;
22
+ /**
23
+ * Disable the picker.
24
+ */
25
+ readonly isDisabled?: boolean;
26
+ /**
27
+ * Upper bound for selectable dates.
28
+ */
29
+ readonly maxDate?: Date;
30
+ /**
31
+ * Lower bound for selectable dates.
32
+ */
33
+ readonly minDate?: Date;
34
+ /**
35
+ * Fired when the user commits a date with Enter.
36
+ */
37
+ readonly onChange?: (date: Date) => void;
38
+ /**
39
+ * Placeholder rendered when no date is selected.
40
+ * @default "Pick a date"
41
+ */
42
+ readonly placeholder?: string;
43
+ /**
44
+ * Controlled selected date.
45
+ */
46
+ readonly value?: Date;
47
+ };
48
+ /**
49
+ * Compact date input. Shows the currently-selected date; Enter / Space opens
50
+ * the inline `Calendar` for navigation. Enter inside the calendar commits the
51
+ * date and closes the picker.
52
+ */
53
+ declare function DatePicker({
54
+ accentColor,
55
+ autoFocus,
56
+ defaultValue,
57
+ formatValue,
58
+ isDisabled,
59
+ maxDate,
60
+ minDate,
61
+ onChange,
62
+ placeholder,
63
+ value
64
+ }: Props): ReactElement;
65
+ export { DatePicker, type Props as DatePickerProps, Props, DatePicker as default };
@@ -0,0 +1 @@
1
+ var $=Object.defineProperty;var v=(e,r)=>$(e,"name",{value:r,configurable:!0});import{jsxs as b,jsx as t}from"react/jsx-runtime";import{useState as x,useCallback as h}from"react";import j from"../ink/hooks/use-focus.js";import C from"../ink/hooks/use-input.js";import{Box as l}from"./box.js";import{Calendar as V}from"./calendar.js";import{Text as n}from"./text.js";var B=Object.defineProperty,D=v((e,r)=>B(e,"name",{value:r,configurable:!0}),"y");const T=D(e=>{const r=e.getFullYear(),c=String(e.getMonth()+1).padStart(2,"0"),d=String(e.getDate()).padStart(2,"0");return`${r}-${c}-${d}`},"defaultFormat");function E({accentColor:e="blue",autoFocus:r=!1,defaultValue:c,formatValue:d=T,isDisabled:u=!1,maxDate:S,minDate:F,onChange:g,placeholder:k="Pick a date",value:s}){const{isFocused:o}=j({autoFocus:r,isActive:!u}),[a,m]=x(!1),[y,A]=x(c),f=s??y;C(h((i,p)=>{!o||a||(p.return||i===" ")&&m(!0)},[o,a]),{isActive:!u&&o&&!a}),C(h((i,p)=>{p.escape&&m(!1)},[]),{isActive:!u&&o&&a});const P=h(i=>{s===void 0&&A(i),m(!1),g?.(i)},[s,g]);return b(l,{flexDirection:"column",children:[b(l,{borderColor:o?e:void 0,borderStyle:"round",paddingX:1,children:[t(n,{color:e,children:"📅 "}),f===void 0?t(n,{dimColor:!0,children:k}):t(n,{bold:!0,children:d(f)}),o&&!a?t(l,{marginLeft:1,children:t(n,{dimColor:!0,children:"(Enter to open)"})}):void 0]}),a?t(l,{marginTop:1,children:t(V,{accentColor:e,autoFocus:!0,defaultValue:f,maxDate:S,minDate:F,onSubmit:P})}):void 0]})}v(E,"S");D(E,"DatePicker");export{E as DatePicker,E as default};
@@ -0,0 +1,44 @@
1
+ import { AnsiColors } from '@visulima/colorize';
2
+ import { ReactNode, ReactElement } from 'react';
3
+ import { LiteralUnion } from 'type-fest';
4
+ type DefinitionItem = {
5
+ readonly description: ReactNode;
6
+ readonly key?: string;
7
+ readonly term: ReactNode;
8
+ };
9
+ type Props = {
10
+ /**
11
+ * Spacing between term and description columns.
12
+ * @default 2
13
+ */
14
+ readonly columnGap?: number;
15
+ /**
16
+ * Entries to render.
17
+ */
18
+ readonly items: ReadonlyArray<DefinitionItem>;
19
+ /**
20
+ * Inline items display on the same row; stacked items display with the term above the description.
21
+ * @default "inline"
22
+ */
23
+ readonly layout?: "inline" | "stacked";
24
+ /**
25
+ * Color applied to the term.
26
+ * @default "cyan"
27
+ */
28
+ readonly termColor?: LiteralUnion<AnsiColors, string>;
29
+ /**
30
+ * Minimum width used to align inline terms.
31
+ */
32
+ readonly termWidth?: number;
33
+ };
34
+ /**
35
+ * Key/value style definition list. Equivalent to the HTML `&lt;dl>` element.
36
+ */
37
+ declare function DefinitionList({
38
+ columnGap,
39
+ items,
40
+ layout,
41
+ termColor,
42
+ termWidth
43
+ }: Props): ReactElement;
44
+ export { DefinitionItem, DefinitionList, type Props as DefinitionListProps, Props, DefinitionList as default };
@@ -0,0 +1 @@
1
+ var h=Object.defineProperty;var o=(l,r)=>h(l,"name",{value:r,configurable:!0});import{jsx as e,jsxs as m}from"react/jsx-runtime";import{Box as n}from"./box.js";import{Text as t}from"./text.js";var p=Object.defineProperty,s=o((l,r)=>p(l,"name",{value:r,configurable:!0}),"p");function u({columnGap:l=2,items:r,layout:a="inline",termColor:d="cyan",termWidth:f}){return a==="stacked"?e(n,{flexDirection:"column",gap:1,children:r.map((i,c)=>m(n,{flexDirection:"column",children:[e(t,{bold:!0,color:d,children:i.term}),e(t,{children:i.description})]},i.key??c))}):e(n,{flexDirection:"column",children:r.map((i,c)=>m(n,{gap:l,children:[e(n,{flexShrink:0,width:f,children:e(t,{color:d,children:i.term})}),e(n,{flexGrow:1,flexShrink:1,children:e(t,{children:i.description})})]},i.key??c))})}o(u,"c");s(u,"DefinitionList");export{u as DefinitionList,u as default};
@@ -0,0 +1,117 @@
1
+ import { ReactNode, ReactElement } from 'react';
2
+ import 'yoga-layout';
3
+ import '@visulima/colorize';
4
+ import 'cli-boxes';
5
+ import { b as ScrollViewRef } from "../packem_shared/scroll-view.d-DtpsgHLg.js";
6
+ import "./box.js";
7
+ import 'type-fest';
8
+ import "../packem_shared/dom.d-C1IxuLJ9.js";
9
+ import "../packem_shared/cursor-helpers.d-BONB9tky.js";
10
+ import "../packem_shared/styles.d-cMo36xQz.js";
11
+ type Props = {
12
+ /**
13
+ * Background color for the dialog. Defaults to the detected terminal
14
+ * background color, falling back to `"black"`.
15
+ */
16
+ readonly backgroundColor?: string;
17
+ /**
18
+ * Border color.
19
+ * @default "cyan"
20
+ */
21
+ readonly borderColor?: string;
22
+ /**
23
+ * Border style.
24
+ * @default "round"
25
+ */
26
+ readonly borderStyle?: "arrow" | "bold" | "classic" | "double" | "doubleSingle" | "round" | "single" | "singleDouble";
27
+ /**
28
+ * Dialog content.
29
+ */
30
+ readonly children: ReactNode;
31
+ /**
32
+ * Override terminal columns. Useful in renderToString or testing contexts
33
+ * where useWindowSize is unavailable.
34
+ */
35
+ readonly columns?: number;
36
+ /**
37
+ * Footer content rendered below the scrollable area.
38
+ * Useful for hints like "Press ? to close".
39
+ */
40
+ readonly footer?: ReactNode;
41
+ /**
42
+ * Maximum height as a fraction of terminal rows (0-1) or absolute rows.
43
+ * Values &lt;= 1 are treated as fractions; values > 1 as absolute row counts.
44
+ * @default 0.8
45
+ */
46
+ readonly maxHeight?: number;
47
+ /**
48
+ * Padding inside the dialog border.
49
+ * @default 2
50
+ */
51
+ readonly paddingX?: number;
52
+ /**
53
+ * Vertical padding inside the dialog border.
54
+ * @default 1
55
+ */
56
+ readonly paddingY?: number;
57
+ /**
58
+ * Override terminal rows. Useful in renderToString or testing contexts
59
+ * where useWindowSize is unavailable.
60
+ */
61
+ readonly rows?: number;
62
+ /**
63
+ * Scrollbar visual style.
64
+ * @default "block"
65
+ */
66
+ readonly scrollbarStyle?: "arrow" | "block" | "bold" | "classic" | "dots" | "double" | "doubleSingle" | "line" | "round" | "single" | "singleDouble" | "thick";
67
+ /**
68
+ * Ref to the internal ScrollView for programmatic scrolling.
69
+ */
70
+ readonly scrollRef?: React.Ref<ScrollViewRef>;
71
+ /**
72
+ * Title rendered at the top of the dialog. If a string is provided,
73
+ * it is rendered as bold cyan text.
74
+ */
75
+ readonly title?: ReactNode;
76
+ /**
77
+ * Whether the dialog is visible. When `false`, nothing is rendered.
78
+ * @default true
79
+ */
80
+ readonly visible?: boolean;
81
+ /**
82
+ * Dialog width in columns.
83
+ * @default 60
84
+ */
85
+ readonly width?: number;
86
+ };
87
+ /**
88
+ * A centered overlay dialog with automatic scrolling and scrollbar when
89
+ * content exceeds the available terminal height.
90
+ *
91
+ * Uses the terminal's detected background color by default so the
92
+ * dialog blends with the user's theme.
93
+ *
94
+ * ```tsx
95
+ * &lt;Dialog title="Help" footer={&lt;Text dimColor>Press Esc to close&lt;/Text>}>
96
+ * &lt;Text>Dialog content here&lt;/Text>
97
+ * &lt;/Dialog>
98
+ * ```
99
+ */
100
+ declare const Dialog: ({
101
+ backgroundColor: backgroundColorProp,
102
+ borderColor,
103
+ borderStyle,
104
+ children,
105
+ columns: columnsProp,
106
+ footer,
107
+ maxHeight: maxHeightProp,
108
+ paddingX,
109
+ paddingY,
110
+ rows: rowsProp,
111
+ scrollbarStyle: scrollbarStyleProp,
112
+ scrollRef: externalScrollRef,
113
+ title,
114
+ visible,
115
+ width
116
+ }: Props) => ReactElement | null;
117
+ export { Dialog, type Props as DialogProps, Props, Dialog as default };
@@ -0,0 +1 @@
1
+ var M=Object.defineProperty;var f=(l,r)=>M(l,"name",{value:r,configurable:!0});import{jsx as o,jsxs as X}from"react/jsx-runtime";import{useRef as H}from"react";import I from"../ink/hooks/use-terminal-palette.js";import R from"../ink/hooks/use-window-size.js";import{Box as e}from"./box.js";import{Text as T}from"./text.js";import{ScrollView as V}from"../packem_shared/ScrollView-DKZ8OM-m.js";var Y=Object.defineProperty,q=f((l,r)=>Y(l,"name",{value:r,configurable:!0}),"b");const F=q(({backgroundColor:l,borderColor:r="cyan",borderStyle:g="round",children:b,columns:h,footer:d,maxHeight:n=.8,paddingX:i=2,paddingY:p=1,rows:x,scrollbarStyle:k="block",scrollRef:y,title:t,visible:C=!0,width:S=60})=>{const c=R(),{isLoading:w,palette:D}=I(),j=H(null),v=y??j;if(!C)return null;const m=h??(c.columns||80),a=x??(c.rows||24),s=l??(w?"black":D?.background??"black"),B=n<=1?Math.floor(a*n):Math.min(n,a-2),u=typeof t=="string"?o(e,{marginBottom:1,children:o(T,{bold:!0,color:r,children:t})}):t??null;return o(e,{alignItems:"center",height:a,justifyContent:"center",position:"absolute",width:m,children:X(e,{backgroundColor:s,borderBackgroundColor:s,borderColor:r,borderStyle:g,flexDirection:"column",maxHeight:B,opaque:!0,paddingY:p,width:Math.min(S,m-4),children:[u!=null&&o(e,{flexShrink:0,paddingX:i,children:u}),o(V,{flexGrow:1,flexShrink:1,paddingX:i,ref:v,scrollbar:!0,scrollbarColor:r,scrollbarStyle:k,children:b}),d!=null&&o(e,{alignItems:"center",flexDirection:"column",flexShrink:0,marginTop:1,paddingX:i,children:d})]})})},"Dialog");export{F as Dialog,F as default};