@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 @@
1
+ var i=Object.defineProperty;var c=(e,a)=>i(e,"name",{value:a,configurable:!0});import{useCallback as m}from"react";import l from"./use-input.js";var u=Object.defineProperty,o=c((e,a)=>u(e,"name",{value:a,configurable:!0}),"o");const f=new Set(["backspace","delete","downArrow","end","escape","home","leftArrow","pageDown","pageUp","return","rightArrow","tab","upArrow"]),p=o(e=>{const a=e.split("+").map(r=>r.trim()).filter(r=>r.length>0),t={};for(const r of a){const s=r.toLowerCase();switch(s){case"alt":case"cmd":case"meta":{t.meta=!0;break}case"control":case"ctrl":{t.ctrl=!0;break}case"shift":{t.shift=!0;break}default:if(f.has(s))t.name=s;else switch(s){case"down":{t.name="downArrow";break}case"enter":{t.name="return";break}case"esc":{t.name="escape";break}case"left":{t.name="leftArrow";break}case"right":{t.name="rightArrow";break}case"up":{t.name="upArrow";break}default:t.input=r}}}return t},"parseShortcut"),w=o((e,a,t)=>e.ctrl!==void 0&&e.ctrl!==t.ctrl||e.shift!==void 0&&e.shift!==t.shift||e.meta!==void 0&&e.meta!==t.meta?!1:e.name!==void 0?!!t[e.name]:e.input!==void 0?a===e.input:!1,"matches"),k=o((e,a,t)=>{const r=typeof e=="string"?p(e):e;l(m((s,n)=>{w(r,s,n)&&a()},[e,a]),{isActive:t?.isActive??!0})},"useHotkey");export{k as default,k as useHotkey};
@@ -1,149 +1,149 @@
1
1
  /**
2
- * Handy information about a key that was pressed.
3
- */
4
- export type Key = {
5
- /**
6
- * Backspace key was pressed.
7
- */
8
- backspace: boolean;
9
- /**
10
- * Caps Lock is active.
11
- *
12
- * Only available with kitty keyboard protocol.
13
- */
14
- capsLock: boolean;
15
- /**
16
- * Ctrl key was pressed.
17
- */
18
- ctrl: boolean;
19
- /**
20
- * Delete key was pressed.
21
- */
22
- delete: boolean;
23
- /**
24
- * Down arrow key was pressed.
25
- */
26
- downArrow: boolean;
27
- /**
28
- * End key was pressed.
29
- */
30
- end: boolean;
31
- /**
32
- * Escape key was pressed.
33
- */
34
- escape: boolean;
35
- /**
36
- * Event type for key events.
37
- *
38
- * Only available with kitty keyboard protocol.
39
- */
40
- eventType?: "press" | "repeat" | "release";
41
- /**
42
- * Home key was pressed.
43
- */
44
- home: boolean;
45
- /**
46
- * Hyper key was pressed.
47
- *
48
- * Only available with kitty keyboard protocol.
49
- */
50
- hyper: boolean;
51
- /**
52
- * Left arrow key was pressed.
53
- */
54
- leftArrow: boolean;
55
- /**
56
- * [Meta key](https://en.wikipedia.org/wiki/Meta_key) was pressed.
57
- */
58
- meta: boolean;
59
- /**
60
- * Num Lock is active.
61
- *
62
- * Only available with kitty keyboard protocol.
63
- */
64
- numLock: boolean;
65
- /**
66
- * Page Down key was pressed.
67
- */
68
- pageDown: boolean;
69
- /**
70
- * Page Up key was pressed.
71
- */
72
- pageUp: boolean;
73
- /**
74
- * Return (Enter) key was pressed.
75
- */
76
- return: boolean;
77
- /**
78
- * Right arrow key was pressed.
79
- */
80
- rightArrow: boolean;
81
- /**
82
- * Shift key was pressed.
83
- */
84
- shift: boolean;
85
- /**
86
- * Super key (Cmd on Mac, Win on Windows) was pressed.
87
- *
88
- * Only available with kitty keyboard protocol.
89
- */
90
- super: boolean;
91
- /**
92
- * Tab key was pressed.
93
- */
94
- tab: boolean;
95
- /**
96
- * Up arrow key was pressed.
97
- */
98
- upArrow: boolean;
2
+ * Handy information about a key that was pressed.
3
+ */
4
+ type Key = {
5
+ /**
6
+ * Backspace key was pressed.
7
+ */
8
+ backspace: boolean;
9
+ /**
10
+ * Caps Lock is active.
11
+ *
12
+ * Only available with kitty keyboard protocol.
13
+ */
14
+ capsLock: boolean;
15
+ /**
16
+ * Ctrl key was pressed.
17
+ */
18
+ ctrl: boolean;
19
+ /**
20
+ * Delete key was pressed.
21
+ */
22
+ delete: boolean;
23
+ /**
24
+ * Down arrow key was pressed.
25
+ */
26
+ downArrow: boolean;
27
+ /**
28
+ * End key was pressed.
29
+ */
30
+ end: boolean;
31
+ /**
32
+ * Escape key was pressed.
33
+ */
34
+ escape: boolean;
35
+ /**
36
+ * Event type for key events.
37
+ *
38
+ * Only available with kitty keyboard protocol.
39
+ */
40
+ eventType?: "press" | "repeat" | "release";
41
+ /**
42
+ * Home key was pressed.
43
+ */
44
+ home: boolean;
45
+ /**
46
+ * Hyper key was pressed.
47
+ *
48
+ * Only available with kitty keyboard protocol.
49
+ */
50
+ hyper: boolean;
51
+ /**
52
+ * Left arrow key was pressed.
53
+ */
54
+ leftArrow: boolean;
55
+ /**
56
+ * [Meta key](https://en.wikipedia.org/wiki/Meta_key) was pressed.
57
+ */
58
+ meta: boolean;
59
+ /**
60
+ * Num Lock is active.
61
+ *
62
+ * Only available with kitty keyboard protocol.
63
+ */
64
+ numLock: boolean;
65
+ /**
66
+ * Page Down key was pressed.
67
+ */
68
+ pageDown: boolean;
69
+ /**
70
+ * Page Up key was pressed.
71
+ */
72
+ pageUp: boolean;
73
+ /**
74
+ * Return (Enter) key was pressed.
75
+ */
76
+ return: boolean;
77
+ /**
78
+ * Right arrow key was pressed.
79
+ */
80
+ rightArrow: boolean;
81
+ /**
82
+ * Shift key was pressed.
83
+ */
84
+ shift: boolean;
85
+ /**
86
+ * Super key (Cmd on Mac, Win on Windows) was pressed.
87
+ *
88
+ * Only available with kitty keyboard protocol.
89
+ */
90
+ super: boolean;
91
+ /**
92
+ * Tab key was pressed.
93
+ */
94
+ tab: boolean;
95
+ /**
96
+ * Up arrow key was pressed.
97
+ */
98
+ upArrow: boolean;
99
99
  };
100
100
  type Handler = (input: string, key: Key) => void;
101
101
  type Options = {
102
- /**
103
- * Enable IME (Input Method Editor) composition buffering for Vietnamese, Chinese,
104
- * Japanese, Korean, and other non-ASCII input methods.
105
- * @default true
106
- */
107
- imeEnabled?: boolean;
108
- /**
109
- * Timeout in milliseconds to wait before flushing IME composition buffer.
110
- * @default 50
111
- */
112
- imeTimeout?: number;
113
- /**
114
- * Enable or disable capturing of user input. Useful when there are multiple `useInput` hooks used at once to avoid handling the same input several times.
115
- * @default true
116
- */
117
- isActive?: boolean;
102
+ /**
103
+ * Enable IME (Input Method Editor) composition buffering for Vietnamese, Chinese,
104
+ * Japanese, Korean, and other non-ASCII input methods.
105
+ * @default true
106
+ */
107
+ imeEnabled?: boolean;
108
+ /**
109
+ * Timeout in milliseconds to wait before flushing IME composition buffer.
110
+ * @default 50
111
+ */
112
+ imeTimeout?: number;
113
+ /**
114
+ * Enable or disable capturing of user input. Useful when there are multiple `useInput` hooks used at once to avoid handling the same input several times.
115
+ * @default true
116
+ */
117
+ isActive?: boolean;
118
118
  };
119
119
  /**
120
- * A React hook that returns `void` and handles user input.
121
- * It's a more convenient alternative to using `StdinContext` and listening for
122
- * `data` events. The callback you pass to `useInput` is called for typed
123
- * characters and key events.
124
- *
125
- * Bracketed paste payloads belong to `usePaste`. If no `usePaste` handler is
126
- * active, Ink still forwards bracketed paste text to `useInput` for backward
127
- * compatibility, but that fallback is deprecated and will be removed in the next
128
- * major version.
129
- *
130
- * ```
131
- * import {useInput} from 'ink';
132
- *
133
- * const UserInput = () => {
134
- * useInput((input, key) => {
135
- * if (input === 'q') {
136
- * // Exit program
137
- * }
138
- *
139
- * if (key.leftArrow) {
140
- * // Left arrow key pressed
141
- * }
142
- * });
143
- *
144
- * return …
145
- * };
146
- * ```
147
- */
120
+ * A React hook that returns `void` and handles user input.
121
+ * It's a more convenient alternative to using `StdinContext` and listening for
122
+ * `data` events. The callback you pass to `useInput` is called for typed
123
+ * characters and key events.
124
+ *
125
+ * Bracketed paste payloads belong to `usePaste`. If no `usePaste` handler is
126
+ * active, Ink still forwards bracketed paste text to `useInput` for backward
127
+ * compatibility, but that fallback is deprecated and will be removed in the next
128
+ * major version.
129
+ *
130
+ * ```
131
+ * import {useInput} from '@visulima/tui/hooks/use-input';
132
+ *
133
+ * const UserInput = () => {
134
+ * useInput((input, key) => {
135
+ * if (input === 'q') {
136
+ * // Exit program
137
+ * }
138
+ *
139
+ * if (key.leftArrow) {
140
+ * // Left arrow key pressed
141
+ * }
142
+ * });
143
+ *
144
+ * return …
145
+ * };
146
+ * ```
147
+ */
148
148
  declare const useInput: (inputHandler: Handler, options?: Options) => void;
149
- export default useInput;
149
+ export { Key, useInput as default, useInput };
@@ -0,0 +1,2 @@
1
+ var K=Object.defineProperty;var m=(e,r)=>K(e,"name",{value:r,configurable:!0});import{createRequire as S}from"node:module";import{useRef as I,useEffectEvent as $,useEffect as w}from"react";import{IMECompositionBuffer as q,isIMEInput as j}from"../../packem_shared/IMECompositionBuffer-C89PhiOu.js";import{kittyModifiers as u}from"../../packem_shared/kittyFlags-C3rZLbcK.js";import{L as x}from"../../packem_shared/reconciler-CUbhOvcr.js";import{useStdinContext as N}from"./use-stdin.js";const _=S(import.meta.url),h=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,E=m(e=>{if(typeof h<"u"&&h.versions&&h.versions.node){const[r,s]=h.versions.node.split(".").map(Number);if(r>22||r===22&&s>=3||r===20&&s>=16)return h.getBuiltinModule(e)}return _(e)},"__cjs_getBuiltinModule"),{Buffer:M}=E("node:buffer");var T=Object.defineProperty,c=m((e,r)=>T(e,"name",{value:r,configurable:!0}),"i");const D=/^\u001B([a-z0-9])$/i,R=/^\u001B+([ON[]|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,C={"[1~":"home","[2$":"insert","[2^":"insert","[2~":"insert","[3$":"delete","[3^":"delete","[3~":"delete","[4~":"end","[5$":"pageup","[5^":"pageup","[5~":"pageup","[6$":"pagedown","[6^":"pagedown","[6~":"pagedown","[7$":"home","[7^":"home","[7~":"home","[8$":"end","[8^":"end","[8~":"end","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[[5~":"pageup","[[6~":"pagedown","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[A":"up","[a":"up","[B":"down","[b":"down","[C":"right","[c":"right","[D":"left","[d":"left","[E":"clear","[e":"clear","[F":"end","[H":"home","[P":"f1","[Q":"f2","[R":"f3","[S":"f4","[Z":"tab",OA:"up",Oa:"up",OB:"down",Ob:"down",OC:"right",Oc:"right",OD:"left",Od:"left",OE:"clear",Oe:"clear",OF:"end",OH:"home",OP:"f1",OQ:"f2",OR:"f3",OS:"f4"},Z=[...Object.values(C),"backspace"],F=c(e=>["[2$","[3$","[5$","[6$","[7$","[8$","[a","[b","[c","[d","[e","[Z"].includes(e),"isShiftKey"),U=c(e=>["[2^","[3^","[5^","[6^","[7^","[8^","Oa","Ob","Oc","Od","Oe"].includes(e),"isCtrlKey"),P=/^\u001B\[(\d+)(?:;(\d+)(?::(\d+))?(?:;([\d:]+))?)?u$/,z=/^\u001B\[(\d+);(\d+):(\d+)([A-Z~])$/i,H={A:"up",B:"down",C:"right",D:"left",E:"clear",F:"end",H:"home",P:"f1",Q:"f2",R:"f3",S:"f4"},Q={2:"insert",3:"delete",5:"pageup",6:"pagedown",7:"home",8:"end",11:"f1",12:"f2",13:"f3",14:"f4",15:"f5",17:"f6",18:"f7",19:"f8",20:"f9",21:"f10",23:"f11",24:"f12"},A={8:"backspace",9:"tab",27:"escape",127:"backspace",57358:"capslock",57359:"scrolllock",57360:"numlock",57361:"printscreen",57362:"pause",57363:"menu",57376:"f13",57377:"f14",57378:"f15",57379:"f16",57380:"f17",57381:"f18",57382:"f19",57383:"f20",57384:"f21",57385:"f22",57386:"f23",57387:"f24",57388:"f25",57389:"f26",57390:"f27",57391:"f28",57392:"f29",57393:"f30",57394:"f31",57395:"f32",57396:"f33",57397:"f34",57398:"f35",57399:"kp0",57400:"kp1",57401:"kp2",57402:"kp3",57403:"kp4",57404:"kp5",57405:"kp6",57406:"kp7",57407:"kp8",57408:"kp9",57409:"kpdecimal",57410:"kpdivide",57411:"kpmultiply",57412:"kpsubtract",57413:"kpadd",57414:"kpenter",57415:"kpequal",57416:"kpseparator",57417:"kpleft",57418:"kpright",57419:"kpup",57420:"kpdown",57421:"kppageup",57422:"kppagedown",57423:"kphome",57424:"kpend",57425:"kpinsert",57426:"kpdelete",57427:"kpbegin",57428:"mediaplay",57429:"mediapause",57430:"mediaplaypause",57431:"mediareverse",57432:"mediastop",57433:"mediafastforward",57434:"mediarewind",57435:"mediatracknext",57436:"mediatrackprevious",57437:"mediarecord",57438:"lowervolume",57439:"raisevolume",57440:"mutevolume",57441:"leftshift",57442:"leftcontrol",57443:"leftalt",57444:"leftsuper",57445:"lefthyper",57446:"leftmeta",57447:"rightshift",57448:"rightcontrol",57449:"rightalt",57450:"rightsuper",57451:"righthyper",57452:"rightmeta",57453:"isoLevel3Shift",57454:"isoLevel5Shift"},L=c(e=>e>=0&&e<=1114111&&!(e>=55296&&e<=57343),"isValidCodepoint"),y=c(e=>L(e)?String.fromCodePoint(e):"?","safeFromCodePoint");function B(e){return e===3?"release":e===2?"repeat":"press"}m(B,"k");c(B,"resolveEventType");function O(e){return{capsLock:!!(e&u.capsLock),ctrl:!!(e&u.ctrl),hyper:!!(e&u.hyper),meta:!!(e&u.meta),numLock:!!(e&u.numLock),option:!!(e&u.alt),shift:!!(e&u.shift),super:!!(e&u.super)}}m(O,"h");c(O,"parseKittyModifiers");const V=c(e=>{const r=P.exec(e);if(!r)return null;const s=Number.parseInt(r[1],10),p=r[2]?Math.max(0,Number.parseInt(r[2],10)-1):0,t=r[3]?Number.parseInt(r[3],10):1,l=r[4];if(!L(s))return null;let n;l&&(n=l.split(":").map(k=>y(Number.parseInt(k,10))).join(""));let i,f;return s===32?(i="space",f=!0):s===13?(i="return",f=!0):A[s]?(i=A[s],f=!1):s>=1&&s<=26?(i=String.fromCodePoint(s+96),f=!1):(i=y(s).toLowerCase(),f=!0),f&&!n&&(n=y(s)),{name:i,...O(p),eventType:B(t),isKittyProtocol:!0,isPrintable:f,raw:e,sequence:e,text:n}},"parseKittyKeypress"),W=c(e=>{const r=z.exec(e);if(!r)return null;const s=Number.parseInt(r[1],10),p=Math.max(0,Number.parseInt(r[2],10)-1),t=Number.parseInt(r[3],10),l=r[4],n=l==="~"?Q[s]:H[l];return n?{name:n,...O(p),eventType:B(t),isKittyProtocol:!0,isPrintable:!1,raw:e,sequence:e}:null},"parseKittySpecialKey"),G=c((e="")=>{let r;M.isBuffer(e)?e[0]>127&&e[1]===void 0?(e[0]-=128,e=`\x1B${String(e)}`):e=String(e):e!==void 0&&typeof e!="string"?e=String(e):e||(e="");const s=V(e);if(s)return s;const p=W(e);if(p)return p;if(P.test(e))return{ctrl:!1,isKittyProtocol:!0,isPrintable:!1,meta:!1,name:"",option:!1,raw:e,sequence:e,shift:!1};const t={ctrl:!1,meta:!1,name:"",option:!1,raw:e,sequence:e,shift:!1};switch(t.sequence=t.sequence||e||t.name,e){case"\r":case"\x1B\r":{t.raw=void 0,t.name="return",t.option=e.length===2;break}case`
2
+ `:{t.name="enter";break}case" ":{t.name="tab";break}case" ":case"\x1B ":{t.name="space",t.meta=e.length===2;break}case"\b":case"\x1B\b":{t.name="backspace",t.meta=e.charAt(0)==="\x1B";break}case"\x1B":case"\x1B\x1B":{t.name="escape",t.meta=e.length===2;break}case"\x1B":case"":{t.name="backspace",t.meta=e.charAt(0)==="\x1B";break}default:if(e.length===1&&e<="")t.name=String.fromCharCode(e.charCodeAt(0)+97-1),t.ctrl=!0;else if(e.length===1&&e>="0"&&e<="9")t.name="number";else if(e.length===1&&e>="a"&&e<="z")t.name=e;else if(e.length===1&&e>="A"&&e<="Z")t.name=e.toLowerCase(),t.shift=!0;else if(r=D.exec(e))t.meta=!0,t.shift=/^[A-Z]$/.test(r[1]);else if(r=R.exec(e)){const l=[...e];l[0]==="\x1B"&&l[1]==="\x1B"&&(t.option=!0);const n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),i=(r[3]||r[5]||1)-1;t.ctrl=!!(i&4),t.meta=!!(i&10),t.shift=!!(i&1),t.code=n,t.name=C[n]??"",t.shift=F(n)||t.shift,t.ctrl=U(n)||t.ctrl}}return t},"parseKeypress");var J=Object.defineProperty,v=m((e,r)=>J(e,"name",{value:r,configurable:!0}),"l");const ne=v((e,r={})=>{const{internal_eventEmitter:s,internal_exitOnCtrlC:p,setRawMode:t,stdin:l}=N(),n=r.imeEnabled??!0,i=r.imeTimeout??50,f=I(void 0),k=$(e);w(()=>{if(n)return f.current=new q({onFlush:v(g=>{const d={backspace:!1,capsLock:!1,ctrl:!1,delete:!1,downArrow:!1,end:!1,escape:!1,home:!1,hyper:!1,leftArrow:!1,meta:!1,numLock:!1,pageDown:!1,pageUp:!1,return:!1,rightArrow:!1,shift:!1,super:!1,tab:!1,upArrow:!1};x.discreteUpdates(()=>{k(g,d)})},"onFlush"),timeout:i}),()=>{f.current?.destroy(),f.current=void 0}},[n,i]),w(()=>{if(r.isActive!==!1)return t(!0),()=>{t(!1)}},[r.isActive,t]),w(()=>{if(r.isActive===!1)return;const g=v(d=>{if(n&&j(d)){f.current?.add(d);return}f.current?.flush();const a=G(d),b={backspace:a.name==="backspace",capsLock:a.capsLock??!1,ctrl:a.ctrl,delete:a.name==="delete",downArrow:a.name==="down",end:a.name==="end",escape:a.name==="escape",eventType:a.eventType,home:a.name==="home",hyper:a.hyper??!1,leftArrow:a.name==="left",meta:a.meta||a.option,numLock:a.numLock??!1,pageDown:a.name==="pagedown",pageUp:a.name==="pageup",return:a.name==="return",rightArrow:a.name==="right",shift:a.shift,super:a.super??!1,tab:a.name==="tab",upArrow:a.name==="up"};let o;a.isKittyProtocol?a.isPrintable?o=a.text??a.name:a.ctrl&&a.name.length===1?o=a.name:o="":a.ctrl?o=a.name:o=a.sequence,!a.isKittyProtocol&&Z.includes(a.name)&&(o=""),o.startsWith("\x1B")&&(o=o.slice(1)),o.length===1&&typeof o[0]=="string"&&/[A-Z]/.test(o[0])&&(b.shift=!0),!(o==="c"&&b.ctrl&&p)&&(!a.name&&o===""||x.discreteUpdates(()=>{k(o,b)}))},"handleData");return s.on("input",g),()=>{s.removeListener("input",g)}},[r.isActive,l,p,n])},"useInput");export{ne as default,ne as useInput};
@@ -0,0 +1,25 @@
1
+ type UseIntervalOptions = {
2
+ /**
3
+ * When false, the timer is paused. Flipping back to true restarts it.
4
+ * @default true
5
+ */
6
+ readonly isActive?: boolean;
7
+ };
8
+ type UseIntervalResult = {
9
+ /**
10
+ * Cancel the currently-running timer. The hook effect will reschedule on
11
+ * the next re-render if `isActive` remains true.
12
+ */
13
+ readonly clear: () => void;
14
+ };
15
+ /**
16
+ * A React hook that invokes `callback` every `interval` ms. The callback
17
+ * reference is captured in a ref so it always sees the latest closure; only
18
+ * `interval` and `isActive` cause the timer to be rebuilt.
19
+ * @param callback Invoked on every tick. Latest closure is captured in a ref.
20
+ * @param interval Tick period in milliseconds. Invalid values pause the timer.
21
+ * @param options Optional `isActive` flag to pause without unmounting.
22
+ * @returns A stable object with a `clear()` method to cancel on demand.
23
+ */
24
+ declare const useInterval: (callback: () => void, interval: number, options?: UseIntervalOptions) => UseIntervalResult;
25
+ export { UseIntervalOptions, UseIntervalResult, useInterval as default, useInterval };
@@ -0,0 +1 @@
1
+ var o=Object.defineProperty;var c=(e,r)=>o(e,"name",{value:r,configurable:!0});import{useRef as s,useLayoutEffect as l,useEffect as v,useCallback as f}from"react";var d=Object.defineProperty,I=c((e,r)=>d(e,"name",{value:r,configurable:!0}),"o");const p=I((e,r,i)=>{const{isActive:u=!0}=i??{},n=s(e),t=s(void 0);return l(()=>{n.current=e},[e]),v(()=>{if(!u||r<=0||!Number.isFinite(r))return;const a=setInterval(()=>{n.current()},r);return t.current=a,()=>{clearInterval(a),t.current=void 0}},[r,u]),{clear:f(()=>{t.current!==void 0&&(clearInterval(t.current),t.current=void 0)},[])}},"useInterval");export{p as default,p as useInterval};
@@ -1,6 +1,6 @@
1
1
  /**
2
- * A React hook that returns whether a screen reader is enabled.
3
- * This is useful when you want to render different output for screen readers.
4
- */
2
+ * A React hook that returns whether a screen reader is enabled.
3
+ * This is useful when you want to render different output for screen readers.
4
+ */
5
5
  declare const useIsScreenReaderEnabled: () => boolean;
6
- export default useIsScreenReaderEnabled;
6
+ export { useIsScreenReaderEnabled as default, useIsScreenReaderEnabled };
@@ -0,0 +1 @@
1
+ var t=Object.defineProperty;var a=(e,r)=>t(e,"name",{value:r,configurable:!0});import{useContext as n}from"react";import{a as s}from"../../packem_shared/accessibility-context-DDyHTwmA.js";var o=Object.defineProperty,c=a((e,r)=>o(e,"name",{value:r,configurable:!0}),"t");const l=c(()=>{const{isScreenReaderEnabled:e}=n(s);return e},"useIsScreenReaderEnabled");export{l as default,l as useIsScreenReaderEnabled};
@@ -1,61 +1,59 @@
1
1
  /**
2
- * A single key binding definition.
3
- */
4
- export type KeyBinding = {
5
- /** Human-readable description shown in Help. */
6
- readonly description: string;
7
- /**
8
- * Whether this binding is active.
9
- *
10
- * @default true
11
- */
12
- readonly enabled?: boolean;
13
- /** Optional group name for organizing in the Help component's full mode. */
14
- readonly group?: string;
15
- /**
16
- * Key(s) that trigger this binding.
17
- *
18
- * A string can be:
19
- * - A single character: `"q"`, `"a"`, `" "` (space)
20
- * - A `Key` boolean field name: `"return"`, `"escape"`, `"upArrow"`, `"leftArrow"`, etc.
21
- * - A modifier combo: `"ctrl+c"`, `"meta+s"` (modifier + character)
22
- *
23
- * Provide an array to match multiple keys for the same action.
24
- */
25
- readonly key: string | readonly string[];
2
+ * A single key binding definition.
3
+ */
4
+ type KeyBinding = {
5
+ /** Human-readable description shown in Help. */
6
+ readonly description: string;
7
+ /**
8
+ * Whether this binding is active.
9
+ * @default true
10
+ */
11
+ readonly enabled?: boolean;
12
+ /** Optional group name for organizing in the Help component's full mode. */
13
+ readonly group?: string;
14
+ /**
15
+ * Key(s) that trigger this binding.
16
+ *
17
+ * A string can be:
18
+ * - A single character: `"q"`, `"a"`, `" "` (space)
19
+ * - A `Key` boolean field name: `"return"`, `"escape"`, `"upArrow"`, `"leftArrow"`, etc.
20
+ * - A modifier combo: `"ctrl+c"`, `"meta+s"` (modifier + character)
21
+ *
22
+ * Provide an array to match multiple keys for the same action.
23
+ */
24
+ readonly key: string | ReadonlyArray<string>;
26
25
  };
27
26
  /**
28
- * A binding paired with its handler function.
29
- */
30
- export type KeyBindingHandler = {
31
- readonly binding: KeyBinding;
32
- readonly handler: () => void;
27
+ * A binding paired with its handler function.
28
+ */
29
+ type KeyBindingHandler = {
30
+ readonly binding: KeyBinding;
31
+ readonly handler: () => void;
33
32
  };
34
33
  type UseKeyBindingsOptions = {
35
- /**
36
- * Whether keyboard input is captured.
37
- *
38
- * @default true
39
- */
40
- readonly isActive?: boolean;
34
+ /**
35
+ * Whether keyboard input is captured.
36
+ * @default true
37
+ */
38
+ readonly isActive?: boolean;
41
39
  };
42
40
  type UseKeyBindingsResult = {
43
- /** The enabled bindings, suitable for passing to the Help component. */
44
- readonly bindings: readonly KeyBinding[];
41
+ /** The enabled bindings, suitable for passing to the Help component. */
42
+ readonly bindings: ReadonlyArray<KeyBinding>;
45
43
  };
46
44
  /**
47
- * Declarative keybinding hook. Registers multiple key bindings with handlers
48
- * and returns the enabled bindings for display in a Help component.
49
- *
50
- * ```tsx
51
- * const { bindings } = useKeyBindings([
52
- * { binding: { key: "q", description: "Quit" }, handler: () => exit() },
53
- * { binding: { key: ["upArrow", "k"], description: "Move up" }, handler: () => moveUp() },
54
- * { binding: { key: "ctrl+s", description: "Save" }, handler: () => save() },
55
- * ]);
56
- *
57
- * <Help bindings={bindings} />
58
- * ```
59
- */
60
- export default function useKeyBindings(handlers: readonly KeyBindingHandler[], options?: UseKeyBindingsOptions): UseKeyBindingsResult;
61
- export {};
45
+ * Declarative keybinding hook. Registers multiple key bindings with handlers
46
+ * and returns the enabled bindings for display in a Help component.
47
+ *
48
+ * ```tsx
49
+ * const { bindings } = useKeyBindings([
50
+ * { binding: { key: "q", description: "Quit" }, handler: () => exit() },
51
+ * { binding: { key: ["upArrow", "k"], description: "Move up" }, handler: () => moveUp() },
52
+ * { binding: { key: "ctrl+s", description: "Save" }, handler: () => save() },
53
+ * ]);
54
+ *
55
+ * &lt;Help bindings={bindings} />
56
+ * ```
57
+ */
58
+ declare function useKeyBindings(handlers: ReadonlyArray<KeyBindingHandler>, options?: UseKeyBindingsOptions): UseKeyBindingsResult;
59
+ export { KeyBinding, KeyBindingHandler, useKeyBindings as default, useKeyBindings };
@@ -0,0 +1 @@
1
+ var g=Object.defineProperty;var a=(e,n)=>g(e,"name",{value:n,configurable:!0});import{useRef as b,useCallback as y,useMemo as m}from"react";import h from"./use-input.js";var w=Object.defineProperty,u=a((e,n)=>w(e,"name",{value:n,configurable:!0}),"d");const c=new Set(["backspace","delete","downArrow","end","escape","home","leftArrow","pageDown","pageUp","return","rightArrow","tab","upArrow"]),A=new Set(["ctrl","hyper","meta","shift","super"]);function f(e,n,i){const t=e.indexOf("+");if(t!==-1){const r=e.slice(0,t),s=e.slice(t+1);return!A.has(r)||!i[r]?!1:c.has(s)?i[s]===!0:n===s}return c.has(e)?i[e]===!0:n===e}a(f,"B");u(f,"matchesKey");function k(e,n){const{isActive:i=!0}=n??{},t=b(e);return t.current=e,h(y((r,s)=>{for(const{binding:o,handler:l}of t.current){if(o.enabled===!1)continue;const d=typeof o.key=="string"?[o.key]:o.key;for(const p of d)if(f(p,r,s)){l();return}}},[]),{isActive:i}),{bindings:m(()=>e.filter(r=>r.binding.enabled!==!1).map(r=>r.binding),[e])}}a(k,"y");u(k,"useKeyBindings");export{k as default,k as useKeyBindings};
@@ -0,0 +1,25 @@
1
+ type KeyChordStep = string;
2
+ type UseKeyChordOptions = {
3
+ /**
4
+ * Disable the chord while keeping the component rendered.
5
+ * @default true
6
+ */
7
+ readonly isActive?: boolean;
8
+ /**
9
+ * Milliseconds of silence after which the partial chord resets.
10
+ * @default 1000
11
+ */
12
+ readonly resetAfter?: number;
13
+ };
14
+ /**
15
+ * Invoke `callback` when the user types the given sequence of keys in order
16
+ * (like Vim's `g d` or Emacs's `C-x C-s`). The chord resets automatically
17
+ * after `resetAfter` ms of silence.
18
+ * @param sequence Ordered list of chord steps. Each step is compared against
19
+ * a canonical key token (e.g. `"g"`, `"space"`, `"ctrl+s"`).
20
+ * @param callback Invoked exactly once per successful chord match. Latest
21
+ * reference is captured in a ref.
22
+ * @param options Optional `isActive` flag and `resetAfter` silence timeout.
23
+ */
24
+ declare const useKeyChord: (sequence: ReadonlyArray<KeyChordStep>, callback: () => void, options?: UseKeyChordOptions) => void;
25
+ export { KeyChordStep, UseKeyChordOptions, useKeyChord as default, useKeyChord };
@@ -0,0 +1 @@
1
+ var w=Object.defineProperty;var d=(r,e)=>w(r,"name",{value:e,configurable:!0});import{useRef as p,useCallback as v}from"react";import b from"./use-input.js";var A=Object.defineProperty,o=d((r,e)=>A(r,"name",{value:e,configurable:!0}),"o");const y=o((r,e)=>{if(e.escape)return"escape";if(e.return)return"return";if(e.tab)return"tab";if(e.backspace)return"backspace";if(e.delete)return"delete";if(e.home)return"home";if(e.end)return"end";if(e.pageUp)return"pageup";if(e.pageDown)return"pagedown";if(e.upArrow)return"up";if(e.downArrow)return"down";if(e.leftArrow)return"left";if(e.rightArrow)return"right";if(r===" ")return"space";if(!(!r||r.length===0))return r},"resolveKeyName"),C=o((r,e)=>{const u=y(r,e);if(u===void 0)return;const n=[];return e.ctrl&&n.push("ctrl"),e.meta&&n.push("meta"),e.shift&&n.push("shift"),n.push(u),n.join("+")},"keyToString"),i=o(r=>r.trim().toLowerCase(),"normalizeStep"),D=o((r,e,u)=>{const{isActive:n=!0,resetAfter:c=1e3}=u??{},t=p(0),f=p(0),l=p(e);l.current=e,b(v((m,g)=>{const a=Date.now();c>0&&t.current>0&&a-f.current>c&&(t.current=0);const s=C(m,g);if(s===void 0||r.length===0)return;const h=r[t.current];if(h===void 0){t.current=0;return}if(i(s)===i(h)){t.current+=1,f.current=a,t.current>=r.length&&(t.current=0,l.current());return}t.current=0,i(s)===i(r[0]??"")&&(t.current=1,f.current=a)},[r,c]),{isActive:n})},"useKeyChord");export{D as default,D as useKeyChord};
@@ -1,41 +1,49 @@
1
- import type { RefObject } from "react";
2
- import type { ScrollViewRef } from "../components/scroll/ScrollView.d.ts";
3
- export type UseLinkedScrollReturn = {
4
- /**
5
- * Callback to pass to ScrollView's `onScroll` prop.
6
- * Broadcasts the scroll position to all linked instances.
7
- */
8
- onScroll: (scrollOffset: number) => void;
9
- /**
10
- * Ref to attach to the ScrollView component.
11
- * Used internally to call `scrollTo()` when other instances scroll.
12
- */
13
- ref: RefObject<ScrollViewRef | null>;
1
+ import { RefObject } from 'react';
2
+ import { b as ScrollViewRef } from "../../packem_shared/scroll-view.d-DtpsgHLg.js";
3
+ import "../../components/box.js";
4
+ import 'type-fest';
5
+ import "../../packem_shared/dom.d-C1IxuLJ9.js";
6
+ import 'yoga-layout';
7
+ import "../../packem_shared/cursor-helpers.d-BONB9tky.js";
8
+ import '@visulima/colorize';
9
+ import 'cli-boxes';
10
+ import "../../packem_shared/styles.d-cMo36xQz.js";
11
+ type UseLinkedScrollReturn = {
12
+ /**
13
+ * Callback to pass to ScrollView's `onScroll` prop.
14
+ * Broadcasts the scroll position to all linked instances.
15
+ */
16
+ onScroll: (scrollOffset: number) => void;
17
+ /**
18
+ * Ref to attach to the ScrollView component.
19
+ * Used internally to call `scrollTo()` when other instances scroll.
20
+ */
21
+ ref: RefObject<ScrollViewRef | null>;
14
22
  };
15
- export type LinkedScrollGroup = {
16
- /**
17
- * Hook that returns a ref and onScroll callback for linking a ScrollView
18
- * to this group. Call once per ScrollView instance.
19
- */
20
- useLinkedScroll: () => UseLinkedScrollReturn;
23
+ type LinkedScrollGroup = {
24
+ /**
25
+ * Hook that returns a ref and onScroll callback for linking a ScrollView
26
+ * to this group. Call once per ScrollView instance.
27
+ */
28
+ useLinkedScroll: () => UseLinkedScrollReturn;
21
29
  };
22
30
  /**
23
- * Creates a linked scroll group that synchronizes scroll position
24
- * across multiple ScrollView instances.
25
- * @example
26
- * ```tsx
27
- * const group = createLinkedScrollGroup();
28
- *
29
- * const PanelA = () => {
30
- * const { ref, onScroll } = group.useLinkedScroll();
31
- * return <ScrollView ref={ref} onScroll={onScroll}>...</ScrollView>;
32
- * };
33
- *
34
- * const PanelB = () => {
35
- * const { ref, onScroll } = group.useLinkedScroll();
36
- * return <ScrollView ref={ref} onScroll={onScroll}>...</ScrollView>;
37
- * };
38
- * ```
39
- */
31
+ * Creates a linked scroll group that synchronizes scroll position
32
+ * across multiple ScrollView instances.
33
+ * @example
34
+ * ```tsx
35
+ * const group = createLinkedScrollGroup();
36
+ *
37
+ * const PanelA = () => {
38
+ * const { ref, onScroll } = group.useLinkedScroll();
39
+ * return <ScrollView ref={ref} onScroll={onScroll}>...</ScrollView>;
40
+ * };
41
+ *
42
+ * const PanelB = () => {
43
+ * const { ref, onScroll } = group.useLinkedScroll();
44
+ * return <ScrollView ref={ref} onScroll={onScroll}>...</ScrollView>;
45
+ * };
46
+ * ```
47
+ */
40
48
  declare const createLinkedScrollGroup: () => LinkedScrollGroup;
41
- export default createLinkedScrollGroup;
49
+ export { LinkedScrollGroup, UseLinkedScrollReturn, createLinkedScrollGroup, createLinkedScrollGroup as default };
@@ -0,0 +1 @@
1
+ var i=Object.defineProperty;var s=(e,r)=>i(e,"name",{value:r,configurable:!0});import{useRef as u,useState as d,useEffect as S,useCallback as k}from"react";var p=Object.defineProperty,n=s((e,r)=>p(e,"name",{value:r,configurable:!0}),"t");const m=n(()=>{const e=new Set;let r=!1;return{useLinkedScroll:n(()=>{const l=u(null),[,a]=d(0),o={ref:l,setOffset:n(()=>{a(t=>t+1)},"setOffset")},c=u(o);return c.current=o,S(()=>{const{current:t}=c;return e.add(t),()=>{e.delete(t)}},[]),{onScroll:k(t=>{if(!r){r=!0;try{for(const f of e)f.ref!==l&&f.ref.current?.scrollTo(t)}finally{r=!1}}},[]),ref:l}},"useLinkedScroll")}},"createLinkedScrollGroup");export{m as createLinkedScrollGroup,m as default};