@rezi-ui/ink-compat 0.1.0-alpha.3 → 0.1.0-alpha.44

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 (402) hide show
  1. package/README.md +104 -0
  2. package/dist/components/Box.d.ts +61 -39
  3. package/dist/components/Box.d.ts.map +1 -1
  4. package/dist/components/Box.js +3 -12
  5. package/dist/components/Box.js.map +1 -1
  6. package/dist/components/Newline.d.ts +3 -13
  7. package/dist/components/Newline.d.ts.map +1 -1
  8. package/dist/components/Newline.js +4 -8
  9. package/dist/components/Newline.js.map +1 -1
  10. package/dist/components/Spacer.d.ts +1 -7
  11. package/dist/components/Spacer.d.ts.map +1 -1
  12. package/dist/components/Spacer.js +4 -9
  13. package/dist/components/Spacer.js.map +1 -1
  14. package/dist/components/Static.d.ts +12 -26
  15. package/dist/components/Static.d.ts.map +1 -1
  16. package/dist/components/Static.js +12 -13
  17. package/dist/components/Static.js.map +1 -1
  18. package/dist/components/Text.d.ts +28 -7
  19. package/dist/components/Text.d.ts.map +1 -1
  20. package/dist/components/Text.js +4 -11
  21. package/dist/components/Text.js.map +1 -1
  22. package/dist/components/Transform.d.ts +9 -16
  23. package/dist/components/Transform.d.ts.map +1 -1
  24. package/dist/components/Transform.js +11 -11
  25. package/dist/components/Transform.js.map +1 -1
  26. package/dist/hooks/useApp.d.ts +3 -2
  27. package/dist/hooks/useApp.d.ts.map +1 -1
  28. package/dist/hooks/useApp.js +4 -5
  29. package/dist/hooks/useApp.js.map +1 -1
  30. package/dist/hooks/useCursor.d.ts +5 -0
  31. package/dist/hooks/useCursor.d.ts.map +1 -0
  32. package/dist/hooks/useCursor.js +15 -0
  33. package/dist/hooks/useCursor.js.map +1 -0
  34. package/dist/hooks/useFocus.d.ts +5 -25
  35. package/dist/hooks/useFocus.d.ts.map +1 -1
  36. package/dist/hooks/useFocus.js +47 -31
  37. package/dist/hooks/useFocus.js.map +1 -1
  38. package/dist/hooks/useFocusManager.d.ts +2 -4
  39. package/dist/hooks/useFocusManager.d.ts.map +1 -1
  40. package/dist/hooks/useFocusManager.js +9 -12
  41. package/dist/hooks/useFocusManager.js.map +1 -1
  42. package/dist/hooks/useInput.d.ts +4 -9
  43. package/dist/hooks/useInput.d.ts.map +1 -1
  44. package/dist/hooks/useInput.js +15 -118
  45. package/dist/hooks/useInput.js.map +1 -1
  46. package/dist/hooks/useIsScreenReaderEnabled.d.ts +1 -1
  47. package/dist/hooks/useIsScreenReaderEnabled.d.ts.map +1 -1
  48. package/dist/hooks/useIsScreenReaderEnabled.js +4 -4
  49. package/dist/hooks/useIsScreenReaderEnabled.js.map +1 -1
  50. package/dist/hooks/useStderr.d.ts +2 -7
  51. package/dist/hooks/useStderr.d.ts.map +1 -1
  52. package/dist/hooks/useStderr.js +4 -9
  53. package/dist/hooks/useStderr.js.map +1 -1
  54. package/dist/hooks/useStdin.d.ts +4 -14
  55. package/dist/hooks/useStdin.d.ts.map +1 -1
  56. package/dist/hooks/useStdin.js +6 -11
  57. package/dist/hooks/useStdin.js.map +1 -1
  58. package/dist/hooks/useStdout.d.ts +2 -7
  59. package/dist/hooks/useStdout.d.ts.map +1 -1
  60. package/dist/hooks/useStdout.js +4 -9
  61. package/dist/hooks/useStdout.js.map +1 -1
  62. package/dist/index.d.ts +34 -23
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +24 -23
  65. package/dist/index.js.map +1 -1
  66. package/dist/kitty-keyboard.d.ts +20 -0
  67. package/dist/kitty-keyboard.d.ts.map +1 -0
  68. package/dist/kitty-keyboard.js +25 -0
  69. package/dist/kitty-keyboard.js.map +1 -0
  70. package/dist/reconciler/hostConfig.d.ts +63 -4
  71. package/dist/reconciler/hostConfig.d.ts.map +1 -1
  72. package/dist/reconciler/hostConfig.js +157 -110
  73. package/dist/reconciler/hostConfig.js.map +1 -1
  74. package/dist/reconciler/reconciler.d.ts +9 -0
  75. package/dist/reconciler/reconciler.d.ts.map +1 -0
  76. package/dist/reconciler/reconciler.js +4 -0
  77. package/dist/reconciler/reconciler.js.map +1 -0
  78. package/dist/reconciler/types.d.ts +25 -62
  79. package/dist/reconciler/types.d.ts.map +1 -1
  80. package/dist/reconciler/types.js +39 -27
  81. package/dist/reconciler/types.js.map +1 -1
  82. package/dist/runtime/ResizeObserver.d.ts +33 -0
  83. package/dist/runtime/ResizeObserver.d.ts.map +1 -0
  84. package/dist/runtime/ResizeObserver.js +68 -0
  85. package/dist/runtime/ResizeObserver.js.map +1 -0
  86. package/dist/runtime/bridge.d.ts +28 -0
  87. package/dist/runtime/bridge.d.ts.map +1 -0
  88. package/dist/runtime/bridge.js +491 -0
  89. package/dist/runtime/bridge.js.map +1 -0
  90. package/dist/runtime/context.d.ts +55 -0
  91. package/dist/runtime/context.d.ts.map +1 -0
  92. package/dist/runtime/context.js +10 -0
  93. package/dist/runtime/context.js.map +1 -0
  94. package/dist/runtime/domHelpers.d.ts +21 -0
  95. package/dist/runtime/domHelpers.d.ts.map +1 -0
  96. package/dist/runtime/domHelpers.js +39 -0
  97. package/dist/runtime/domHelpers.js.map +1 -0
  98. package/dist/runtime/getBoundingBox.d.ts +18 -0
  99. package/dist/runtime/getBoundingBox.d.ts.map +1 -0
  100. package/dist/runtime/getBoundingBox.js +22 -0
  101. package/dist/runtime/getBoundingBox.js.map +1 -0
  102. package/dist/runtime/measureElement.d.ts +6 -0
  103. package/dist/runtime/measureElement.d.ts.map +1 -0
  104. package/dist/runtime/measureElement.js +10 -0
  105. package/dist/runtime/measureElement.js.map +1 -0
  106. package/dist/runtime/reactBridge.d.ts +7 -0
  107. package/dist/runtime/reactBridge.d.ts.map +1 -0
  108. package/dist/runtime/reactBridge.js +85 -0
  109. package/dist/runtime/reactBridge.js.map +1 -0
  110. package/dist/runtime/reactHelpers.d.ts +5 -0
  111. package/dist/runtime/reactHelpers.d.ts.map +1 -0
  112. package/dist/runtime/reactHelpers.js +22 -0
  113. package/dist/runtime/reactHelpers.js.map +1 -0
  114. package/dist/runtime/render.d.ts +40 -0
  115. package/dist/runtime/render.d.ts.map +1 -0
  116. package/dist/runtime/render.js +2373 -0
  117. package/dist/runtime/render.js.map +1 -0
  118. package/dist/runtime/renderToString.d.ts +6 -0
  119. package/dist/runtime/renderToString.d.ts.map +1 -0
  120. package/dist/runtime/renderToString.js +45 -0
  121. package/dist/runtime/renderToString.js.map +1 -0
  122. package/dist/shims/ink-gradient.d.ts +12 -0
  123. package/dist/shims/ink-gradient.d.ts.map +1 -0
  124. package/dist/shims/ink-gradient.js +137 -0
  125. package/dist/shims/ink-gradient.js.map +1 -0
  126. package/dist/shims/ink-spinner.d.ts +16 -0
  127. package/dist/shims/ink-spinner.d.ts.map +1 -0
  128. package/dist/shims/ink-spinner.js +39 -0
  129. package/dist/shims/ink-spinner.js.map +1 -0
  130. package/dist/styledChars.d.ts +45 -0
  131. package/dist/styledChars.d.ts.map +1 -0
  132. package/dist/styledChars.js +283 -0
  133. package/dist/styledChars.js.map +1 -0
  134. package/dist/testing/index.d.ts +12 -0
  135. package/dist/testing/index.d.ts.map +1 -0
  136. package/dist/testing/index.js +75 -0
  137. package/dist/testing/index.js.map +1 -0
  138. package/dist/translation/borderMap.d.ts +3 -0
  139. package/dist/translation/borderMap.d.ts.map +1 -0
  140. package/dist/translation/borderMap.js +21 -0
  141. package/dist/translation/borderMap.js.map +1 -0
  142. package/dist/translation/colorMap.d.ts +8 -0
  143. package/dist/translation/colorMap.d.ts.map +1 -0
  144. package/dist/translation/colorMap.js +114 -0
  145. package/dist/translation/colorMap.js.map +1 -0
  146. package/dist/translation/layoutMap.d.ts +6 -0
  147. package/dist/translation/layoutMap.d.ts.map +1 -0
  148. package/dist/translation/layoutMap.js +28 -0
  149. package/dist/translation/layoutMap.js.map +1 -0
  150. package/dist/translation/propsToVNode.d.ts +14 -0
  151. package/dist/translation/propsToVNode.d.ts.map +1 -0
  152. package/dist/translation/propsToVNode.js +1036 -0
  153. package/dist/translation/propsToVNode.js.map +1 -0
  154. package/dist/translation/traceCollector.d.ts +16 -0
  155. package/dist/translation/traceCollector.d.ts.map +1 -0
  156. package/dist/translation/traceCollector.js +28 -0
  157. package/dist/translation/traceCollector.js.map +1 -0
  158. package/package.json +30 -24
  159. package/dist/__tests__/Newline.test.d.ts +0 -2
  160. package/dist/__tests__/Newline.test.d.ts.map +0 -1
  161. package/dist/__tests__/Newline.test.js +0 -42
  162. package/dist/__tests__/Newline.test.js.map +0 -1
  163. package/dist/__tests__/Static.test.d.ts +0 -2
  164. package/dist/__tests__/Static.test.d.ts.map +0 -1
  165. package/dist/__tests__/Static.test.js +0 -53
  166. package/dist/__tests__/Static.test.js.map +0 -1
  167. package/dist/__tests__/Transform.test.d.ts +0 -2
  168. package/dist/__tests__/Transform.test.d.ts.map +0 -1
  169. package/dist/__tests__/Transform.test.js +0 -36
  170. package/dist/__tests__/Transform.test.js.map +0 -1
  171. package/dist/__tests__/api.surface.test.d.ts +0 -2
  172. package/dist/__tests__/api.surface.test.d.ts.map +0 -1
  173. package/dist/__tests__/api.surface.test.js +0 -23
  174. package/dist/__tests__/api.surface.test.js.map +0 -1
  175. package/dist/__tests__/color.test.d.ts +0 -2
  176. package/dist/__tests__/color.test.d.ts.map +0 -1
  177. package/dist/__tests__/color.test.js +0 -37
  178. package/dist/__tests__/color.test.js.map +0 -1
  179. package/dist/__tests__/compat.thirdparty.test.d.ts +0 -2
  180. package/dist/__tests__/compat.thirdparty.test.d.ts.map +0 -1
  181. package/dist/__tests__/compat.thirdparty.test.js +0 -61
  182. package/dist/__tests__/compat.thirdparty.test.js.map +0 -1
  183. package/dist/__tests__/emitter.test.d.ts +0 -2
  184. package/dist/__tests__/emitter.test.d.ts.map +0 -1
  185. package/dist/__tests__/emitter.test.js +0 -34
  186. package/dist/__tests__/emitter.test.js.map +0 -1
  187. package/dist/__tests__/golden/border-styles.golden.test.d.ts +0 -2
  188. package/dist/__tests__/golden/border-styles.golden.test.d.ts.map +0 -1
  189. package/dist/__tests__/golden/border-styles.golden.test.js +0 -15
  190. package/dist/__tests__/golden/border-styles.golden.test.js.map +0 -1
  191. package/dist/__tests__/golden/box-layout.golden.test.d.ts +0 -2
  192. package/dist/__tests__/golden/box-layout.golden.test.d.ts.map +0 -1
  193. package/dist/__tests__/golden/box-layout.golden.test.js +0 -15
  194. package/dist/__tests__/golden/box-layout.golden.test.js.map +0 -1
  195. package/dist/__tests__/golden/flex-layout.golden.test.d.ts +0 -2
  196. package/dist/__tests__/golden/flex-layout.golden.test.d.ts.map +0 -1
  197. package/dist/__tests__/golden/flex-layout.golden.test.js +0 -15
  198. package/dist/__tests__/golden/flex-layout.golden.test.js.map +0 -1
  199. package/dist/__tests__/golden/harness.d.ts +0 -6
  200. package/dist/__tests__/golden/harness.d.ts.map +0 -1
  201. package/dist/__tests__/golden/harness.js +0 -31
  202. package/dist/__tests__/golden/harness.js.map +0 -1
  203. package/dist/__tests__/golden/simple-text.golden.test.d.ts +0 -2
  204. package/dist/__tests__/golden/simple-text.golden.test.d.ts.map +0 -1
  205. package/dist/__tests__/golden/simple-text.golden.test.js +0 -15
  206. package/dist/__tests__/golden/simple-text.golden.test.js.map +0 -1
  207. package/dist/__tests__/integration/counter.test.d.ts +0 -2
  208. package/dist/__tests__/integration/counter.test.d.ts.map +0 -1
  209. package/dist/__tests__/integration/counter.test.js +0 -40
  210. package/dist/__tests__/integration/counter.test.js.map +0 -1
  211. package/dist/__tests__/integration/focus-cycle.test.d.ts +0 -2
  212. package/dist/__tests__/integration/focus-cycle.test.d.ts.map +0 -1
  213. package/dist/__tests__/integration/focus-cycle.test.js +0 -37
  214. package/dist/__tests__/integration/focus-cycle.test.js.map +0 -1
  215. package/dist/__tests__/integration/harness.d.ts +0 -17
  216. package/dist/__tests__/integration/harness.d.ts.map +0 -1
  217. package/dist/__tests__/integration/harness.js +0 -57
  218. package/dist/__tests__/integration/harness.js.map +0 -1
  219. package/dist/__tests__/integration/list-nav.test.d.ts +0 -2
  220. package/dist/__tests__/integration/list-nav.test.d.ts.map +0 -1
  221. package/dist/__tests__/integration/list-nav.test.js +0 -40
  222. package/dist/__tests__/integration/list-nav.test.js.map +0 -1
  223. package/dist/__tests__/integration/nested-layout.test.d.ts +0 -2
  224. package/dist/__tests__/integration/nested-layout.test.d.ts.map +0 -1
  225. package/dist/__tests__/integration/nested-layout.test.js +0 -47
  226. package/dist/__tests__/integration/nested-layout.test.js.map +0 -1
  227. package/dist/__tests__/integration/static-log.test.d.ts +0 -2
  228. package/dist/__tests__/integration/static-log.test.d.ts.map +0 -1
  229. package/dist/__tests__/integration/static-log.test.js +0 -48
  230. package/dist/__tests__/integration/static-log.test.js.map +0 -1
  231. package/dist/__tests__/measurement.test.d.ts +0 -2
  232. package/dist/__tests__/measurement.test.d.ts.map +0 -1
  233. package/dist/__tests__/measurement.test.js +0 -115
  234. package/dist/__tests__/measurement.test.js.map +0 -1
  235. package/dist/__tests__/props.test.d.ts +0 -2
  236. package/dist/__tests__/props.test.d.ts.map +0 -1
  237. package/dist/__tests__/props.test.js +0 -131
  238. package/dist/__tests__/props.test.js.map +0 -1
  239. package/dist/__tests__/reconciler.test.d.ts +0 -2
  240. package/dist/__tests__/reconciler.test.d.ts.map +0 -1
  241. package/dist/__tests__/reconciler.test.js +0 -56
  242. package/dist/__tests__/reconciler.test.js.map +0 -1
  243. package/dist/__tests__/render.consoleCapture.test.d.ts +0 -2
  244. package/dist/__tests__/render.consoleCapture.test.d.ts.map +0 -1
  245. package/dist/__tests__/render.consoleCapture.test.js +0 -46
  246. package/dist/__tests__/render.consoleCapture.test.js.map +0 -1
  247. package/dist/__tests__/render.deferred.test.d.ts +0 -2
  248. package/dist/__tests__/render.deferred.test.d.ts.map +0 -1
  249. package/dist/__tests__/render.deferred.test.js +0 -16
  250. package/dist/__tests__/render.deferred.test.js.map +0 -1
  251. package/dist/__tests__/render.options.test.d.ts +0 -2
  252. package/dist/__tests__/render.options.test.d.ts.map +0 -1
  253. package/dist/__tests__/render.options.test.js +0 -17
  254. package/dist/__tests__/render.options.test.js.map +0 -1
  255. package/dist/__tests__/render.parity.test.d.ts +0 -2
  256. package/dist/__tests__/render.parity.test.d.ts.map +0 -1
  257. package/dist/__tests__/render.parity.test.js +0 -124
  258. package/dist/__tests__/render.parity.test.js.map +0 -1
  259. package/dist/__tests__/render.test.d.ts +0 -2
  260. package/dist/__tests__/render.test.d.ts.map +0 -1
  261. package/dist/__tests__/render.test.js +0 -46
  262. package/dist/__tests__/render.test.js.map +0 -1
  263. package/dist/__tests__/resizeObserver.test.d.ts +0 -2
  264. package/dist/__tests__/resizeObserver.test.d.ts.map +0 -1
  265. package/dist/__tests__/resizeObserver.test.js +0 -50
  266. package/dist/__tests__/resizeObserver.test.js.map +0 -1
  267. package/dist/__tests__/testBackend.d.ts +0 -48
  268. package/dist/__tests__/testBackend.d.ts.map +0 -1
  269. package/dist/__tests__/testBackend.js +0 -109
  270. package/dist/__tests__/testBackend.js.map +0 -1
  271. package/dist/__tests__/useApp.test.d.ts +0 -2
  272. package/dist/__tests__/useApp.test.d.ts.map +0 -1
  273. package/dist/__tests__/useApp.test.js +0 -40
  274. package/dist/__tests__/useApp.test.js.map +0 -1
  275. package/dist/__tests__/useFocus.test.d.ts +0 -2
  276. package/dist/__tests__/useFocus.test.d.ts.map +0 -1
  277. package/dist/__tests__/useFocus.test.js +0 -60
  278. package/dist/__tests__/useFocus.test.js.map +0 -1
  279. package/dist/__tests__/useFocusManager.test.d.ts +0 -2
  280. package/dist/__tests__/useFocusManager.test.d.ts.map +0 -1
  281. package/dist/__tests__/useFocusManager.test.js +0 -57
  282. package/dist/__tests__/useFocusManager.test.js.map +0 -1
  283. package/dist/__tests__/useInput.test.d.ts +0 -2
  284. package/dist/__tests__/useInput.test.d.ts.map +0 -1
  285. package/dist/__tests__/useInput.test.js +0 -182
  286. package/dist/__tests__/useInput.test.js.map +0 -1
  287. package/dist/__tests__/useStderr.test.d.ts +0 -2
  288. package/dist/__tests__/useStderr.test.d.ts.map +0 -1
  289. package/dist/__tests__/useStderr.test.js +0 -59
  290. package/dist/__tests__/useStderr.test.js.map +0 -1
  291. package/dist/__tests__/useStdin.test.d.ts +0 -2
  292. package/dist/__tests__/useStdin.test.d.ts.map +0 -1
  293. package/dist/__tests__/useStdin.test.js +0 -45
  294. package/dist/__tests__/useStdin.test.js.map +0 -1
  295. package/dist/__tests__/useStdout.test.d.ts +0 -2
  296. package/dist/__tests__/useStdout.test.d.ts.map +0 -1
  297. package/dist/__tests__/useStdout.test.js +0 -59
  298. package/dist/__tests__/useStdout.test.js.map +0 -1
  299. package/dist/color.d.ts +0 -19
  300. package/dist/color.d.ts.map +0 -1
  301. package/dist/color.js +0 -121
  302. package/dist/color.js.map +0 -1
  303. package/dist/context/AccessibilityContext.d.ts +0 -4
  304. package/dist/context/AccessibilityContext.d.ts.map +0 -1
  305. package/dist/context/AccessibilityContext.js +0 -4
  306. package/dist/context/AccessibilityContext.js.map +0 -1
  307. package/dist/context/AppContext.d.ts +0 -9
  308. package/dist/context/AppContext.d.ts.map +0 -1
  309. package/dist/context/AppContext.js +0 -8
  310. package/dist/context/AppContext.js.map +0 -1
  311. package/dist/context/FocusContext.d.ts +0 -31
  312. package/dist/context/FocusContext.d.ts.map +0 -1
  313. package/dist/context/FocusContext.js +0 -16
  314. package/dist/context/FocusContext.js.map +0 -1
  315. package/dist/context/FocusProvider.d.ts +0 -5
  316. package/dist/context/FocusProvider.d.ts.map +0 -1
  317. package/dist/context/FocusProvider.js +0 -154
  318. package/dist/context/FocusProvider.js.map +0 -1
  319. package/dist/context/StdioContext.d.ts +0 -24
  320. package/dist/context/StdioContext.d.ts.map +0 -1
  321. package/dist/context/StdioContext.js +0 -15
  322. package/dist/context/StdioContext.js.map +0 -1
  323. package/dist/errors.d.ts +0 -8
  324. package/dist/errors.d.ts.map +0 -1
  325. package/dist/errors.js +0 -9
  326. package/dist/errors.js.map +0 -1
  327. package/dist/internal/emitter.d.ts +0 -8
  328. package/dist/internal/emitter.d.ts.map +0 -1
  329. package/dist/internal/emitter.js +0 -26
  330. package/dist/internal/emitter.js.map +0 -1
  331. package/dist/internal/warn.d.ts +0 -3
  332. package/dist/internal/warn.d.ts.map +0 -1
  333. package/dist/internal/warn.js +0 -17
  334. package/dist/internal/warn.js.map +0 -1
  335. package/dist/measureElement.d.ts +0 -12
  336. package/dist/measureElement.d.ts.map +0 -1
  337. package/dist/measureElement.js +0 -11
  338. package/dist/measureElement.js.map +0 -1
  339. package/dist/measurement.d.ts +0 -24
  340. package/dist/measurement.d.ts.map +0 -1
  341. package/dist/measurement.js +0 -272
  342. package/dist/measurement.js.map +0 -1
  343. package/dist/props/boxProps.d.ts +0 -17
  344. package/dist/props/boxProps.d.ts.map +0 -1
  345. package/dist/props/boxProps.js +0 -223
  346. package/dist/props/boxProps.js.map +0 -1
  347. package/dist/props/textProps.d.ts +0 -8
  348. package/dist/props/textProps.d.ts.map +0 -1
  349. package/dist/props/textProps.js +0 -35
  350. package/dist/props/textProps.js.map +0 -1
  351. package/dist/props.d.ts +0 -5
  352. package/dist/props.d.ts.map +0 -1
  353. package/dist/props.js +0 -3
  354. package/dist/props.js.map +0 -1
  355. package/dist/reconciler/convert.d.ts +0 -4
  356. package/dist/reconciler/convert.d.ts.map +0 -1
  357. package/dist/reconciler/convert.js +0 -157
  358. package/dist/reconciler/convert.js.map +0 -1
  359. package/dist/reconciler/textUtils.d.ts +0 -6
  360. package/dist/reconciler/textUtils.d.ts.map +0 -1
  361. package/dist/reconciler/textUtils.js +0 -181
  362. package/dist/reconciler/textUtils.js.map +0 -1
  363. package/dist/reconciler.d.ts +0 -3
  364. package/dist/reconciler.d.ts.map +0 -1
  365. package/dist/reconciler.js +0 -2
  366. package/dist/reconciler.js.map +0 -1
  367. package/dist/render/consoleCapture.d.ts +0 -14
  368. package/dist/render/consoleCapture.d.ts.map +0 -1
  369. package/dist/render/consoleCapture.js +0 -89
  370. package/dist/render/consoleCapture.js.map +0 -1
  371. package/dist/render/deferred.d.ts +0 -7
  372. package/dist/render/deferred.d.ts.map +0 -1
  373. package/dist/render/deferred.js +0 -10
  374. package/dist/render/deferred.js.map +0 -1
  375. package/dist/render/options.d.ts +0 -3
  376. package/dist/render/options.d.ts.map +0 -1
  377. package/dist/render/options.js +0 -12
  378. package/dist/render/options.js.map +0 -1
  379. package/dist/render.d.ts +0 -4
  380. package/dist/render.d.ts.map +0 -1
  381. package/dist/render.js +0 -269
  382. package/dist/render.js.map +0 -1
  383. package/dist/resizeObserver.d.ts +0 -24
  384. package/dist/resizeObserver.d.ts.map +0 -1
  385. package/dist/resizeObserver.js +0 -54
  386. package/dist/resizeObserver.js.map +0 -1
  387. package/dist/testing/findText.d.ts +0 -4
  388. package/dist/testing/findText.d.ts.map +0 -1
  389. package/dist/testing/findText.js +0 -27
  390. package/dist/testing/findText.js.map +0 -1
  391. package/dist/testing/renderToVNode.d.ts +0 -9
  392. package/dist/testing/renderToVNode.d.ts.map +0 -1
  393. package/dist/testing/renderToVNode.js +0 -22
  394. package/dist/testing/renderToVNode.js.map +0 -1
  395. package/dist/testing/simulateKeyEvent.d.ts +0 -18
  396. package/dist/testing/simulateKeyEvent.d.ts.map +0 -1
  397. package/dist/testing/simulateKeyEvent.js +0 -23
  398. package/dist/testing/simulateKeyEvent.js.map +0 -1
  399. package/dist/types.d.ts +0 -185
  400. package/dist/types.d.ts.map +0 -1
  401. package/dist/types.js +0 -2
  402. package/dist/types.js.map +0 -1
package/README.md ADDED
@@ -0,0 +1,104 @@
1
+ # @rezi-ui/ink-compat
2
+
3
+ `@rezi-ui/ink-compat` is an Ink API compatibility layer powered by Rezi.
4
+
5
+ It preserves the Ink component and hook model while rendering through Rezi's engine.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm install @rezi-ui/ink-compat
11
+ ```
12
+
13
+ ## Use
14
+
15
+ Swap imports:
16
+
17
+ ```ts
18
+ // Before
19
+ import { render, Box, Text } from "ink";
20
+
21
+ // After
22
+ import { render, Box, Text } from "@rezi-ui/ink-compat";
23
+ ```
24
+
25
+ For ecosystems that pin `ink` directly, use package manager overrides/resolutions to redirect `ink` to `@rezi-ui/ink-compat` and companion shims (`ink-gradient`, `ink-spinner`).
26
+
27
+ ## Supported surface
28
+
29
+ Components:
30
+
31
+ - `Box`
32
+ - `Text`
33
+ - `Newline`
34
+ - `Spacer`
35
+ - `Static`
36
+ - `Transform`
37
+
38
+ Hooks:
39
+
40
+ - `useApp`
41
+ - `useInput`
42
+ - `useFocus`
43
+ - `useFocusManager`
44
+ - `useStdin`
45
+ - `useStdout`
46
+ - `useStderr`
47
+ - `useIsScreenReaderEnabled`
48
+ - `useCursor`
49
+
50
+ Runtime APIs:
51
+
52
+ - `render`
53
+ - `renderToString`
54
+ - `measureElement`
55
+ - `ResizeObserver`
56
+ - `getBoundingBox`
57
+ - `getInnerHeight`
58
+ - `getScrollHeight`
59
+
60
+ Keyboard utilities:
61
+
62
+ - `kittyFlags`
63
+ - `kittyModifiers`
64
+
65
+ Testing utilities:
66
+
67
+ - `@rezi-ui/ink-compat/testing`
68
+
69
+ ## Render options
70
+
71
+ `render(element, options)` supports:
72
+
73
+ - `stdout`, `stdin`, `stderr`
74
+ - `exitOnCtrlC`
75
+ - `patchConsole`
76
+ - `debug`
77
+ - `maxFps`
78
+ - `concurrent`
79
+ - `kittyKeyboard`
80
+ - `isScreenReaderEnabled`
81
+ - `onRender`
82
+ - `alternateBuffer`
83
+ - `incrementalRendering`
84
+
85
+ ## Diagnostics
86
+
87
+ Trace output is environment-gated:
88
+
89
+ - `INK_COMPAT_TRACE=1`
90
+ - `INK_COMPAT_TRACE_FILE=/path/log`
91
+ - `INK_COMPAT_TRACE_DETAIL=1`
92
+ - `INK_COMPAT_TRACE_DETAIL_FULL=1`
93
+ - `INK_GRADIENT_TRACE=1`
94
+
95
+ Reference docs:
96
+
97
+ - `docs/architecture/ink-compat.md`
98
+ - `docs/dev/ink-compat-debugging.md`
99
+
100
+ ## Known boundaries
101
+
102
+ - Minor visual differences can occur across terminal emulators and OS TTY behavior.
103
+ - App-version and install-mode messaging differences are expected and not renderer bugs.
104
+ - Gradient interpolation can differ slightly from upstream while preserving overall behavior.
@@ -1,64 +1,86 @@
1
1
  import React from "react";
2
- /**
3
- * Ink-compatible `<Box>` component.
4
- *
5
- * We render a host element (`"ink-box"`) that is interpreted by this package's
6
- * custom reconciler and converted into Rezi VNodes.
7
- */
8
- declare const Box: React.ForwardRefExoticComponent<Readonly<{
9
- position?: "absolute" | "relative";
10
- columnGap?: number;
11
- rowGap?: number;
12
- gap?: number;
13
- margin?: number;
14
- marginX?: number;
15
- marginY?: number;
16
- marginTop?: number;
17
- marginBottom?: number;
18
- marginLeft?: number;
19
- marginRight?: number;
20
- padding?: number;
21
- paddingX?: number;
22
- paddingY?: number;
23
- paddingTop?: number;
24
- paddingBottom?: number;
25
- paddingLeft?: number;
26
- paddingRight?: number;
2
+ import type { InkHostNode } from "../reconciler/types.js";
3
+ type InkBorderStyleName = "single" | "double" | "round" | "bold" | "singleDouble" | "doubleSingle" | "classic" | "arrow";
4
+ export interface BoxProps {
5
+ flexDirection?: "row" | "row-reverse" | "column" | "column-reverse";
27
6
  flexGrow?: number;
28
7
  flexShrink?: number;
29
- flexDirection?: "row" | "column" | "row-reverse" | "column-reverse";
30
8
  flexBasis?: number | string;
31
9
  flexWrap?: "nowrap" | "wrap" | "wrap-reverse";
32
10
  alignItems?: "flex-start" | "center" | "flex-end" | "stretch";
33
- alignSelf?: "flex-start" | "center" | "flex-end" | "auto";
34
- justifyContent?: "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "center";
11
+ alignSelf?: "auto" | "flex-start" | "center" | "flex-end";
12
+ justifyContent?: "flex-start" | "center" | "flex-end" | "space-between" | "space-around" | "space-evenly";
13
+ display?: "flex" | "none";
35
14
  width?: number | string;
36
15
  height?: number | string;
37
16
  minWidth?: number | string;
17
+ /** @jrichman/ink fork: non-upstream extension used by Gemini CLI tab headers */
18
+ maxWidth?: number | string;
38
19
  minHeight?: number | string;
39
- display?: "flex" | "none";
40
- borderStyle?: string;
41
- borderTop?: boolean;
42
- borderBottom?: boolean;
43
- borderLeft?: boolean;
44
- borderRight?: boolean;
20
+ maxHeight?: number | string;
21
+ position?: "relative" | "absolute";
22
+ top?: number;
23
+ right?: number;
24
+ bottom?: number;
25
+ left?: number;
26
+ padding?: number;
27
+ paddingX?: number;
28
+ paddingY?: number;
29
+ paddingTop?: number;
30
+ paddingRight?: number;
31
+ paddingBottom?: number;
32
+ paddingLeft?: number;
33
+ margin?: number;
34
+ marginX?: number;
35
+ marginY?: number;
36
+ marginTop?: number;
37
+ marginRight?: number;
38
+ marginBottom?: number;
39
+ marginLeft?: number;
40
+ gap?: number;
41
+ columnGap?: number;
42
+ rowGap?: number;
43
+ /** @jrichman/ink fork: supports custom border glyph maps in addition to named styles */
44
+ borderStyle?: InkBorderStyleName | Record<string, string>;
45
45
  borderColor?: string;
46
46
  borderTopColor?: string;
47
+ borderRightColor?: string;
47
48
  borderBottomColor?: string;
48
49
  borderLeftColor?: string;
49
- borderRightColor?: string;
50
50
  borderDimColor?: boolean;
51
51
  borderTopDimColor?: boolean;
52
+ borderRightDimColor?: boolean;
52
53
  borderBottomDimColor?: boolean;
53
54
  borderLeftDimColor?: boolean;
54
- borderRightDimColor?: boolean;
55
+ borderTop?: boolean;
56
+ borderRight?: boolean;
57
+ borderBottom?: boolean;
58
+ borderLeft?: boolean;
59
+ backgroundColor?: string;
60
+ ariaLabel?: string;
61
+ "aria-label"?: string;
62
+ accessibilityLabel?: string;
55
63
  overflow?: "visible" | "hidden" | "scroll";
56
64
  overflowX?: "visible" | "hidden" | "scroll";
57
65
  overflowY?: "visible" | "hidden" | "scroll";
58
- scrollTop?: number;
66
+ /** @jrichman/ink fork: horizontal scroll offset */
59
67
  scrollLeft?: number;
68
+ /** @jrichman/ink fork: vertical scroll offset */
69
+ scrollTop?: number;
70
+ /** @jrichman/ink fork: scrollbar thumb color */
60
71
  scrollbarThumbColor?: string;
72
+ /** @jrichman/ink fork: make this box opaque (paints background over content below) */
73
+ opaque?: boolean;
74
+ /** @jrichman/ink fork: pin this box to the top of its parent (sticky header) */
75
+ sticky?: boolean;
76
+ /** @jrichman/ink fork: children rendered inside the sticky area */
77
+ stickyChildren?: React.ReactNode;
61
78
  children?: React.ReactNode;
62
- }> & React.RefAttributes<unknown>>;
63
- export default Box;
79
+ ref?: React.Ref<InkHostNode>;
80
+ }
81
+ export declare const Box: {
82
+ (props: BoxProps): React.ReactElement;
83
+ displayName: string;
84
+ };
85
+ export {};
64
86
  //# sourceMappingURL=Box.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../src/components/Box.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;GAKG;AACH,QAAA,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAIP,CAAC;AAIH,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../src/components/Box.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,KAAK,kBAAkB,GACnB,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,MAAM,GACN,cAAc,GACd,cAAc,GACd,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,EAAE,KAAK,GAAG,aAAa,GAAG,QAAQ,GAAG,gBAAgB,CAAC;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC;IAC9C,UAAU,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC1D,cAAc,CAAC,EACX,YAAY,GACZ,QAAQ,GACR,UAAU,GACV,eAAe,GACf,cAAc,GACd,cAAc,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wFAAwF;IACxF,WAAW,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC5C,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE5C,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sFAAsF;IACtF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,GAAG;YAAW,QAAQ,GAAG,KAAK,CAAC,YAAY;;CAEvD,CAAC"}
@@ -1,15 +1,6 @@
1
1
  import React from "react";
2
- /**
3
- * Ink-compatible `<Box>` component.
4
- *
5
- * We render a host element (`"ink-box"`) that is interpreted by this package's
6
- * custom reconciler and converted into Rezi VNodes.
7
- */
8
- const Box = React.forwardRef((props, ref) => {
9
- const { children, ...rest } = props;
10
- // `ref` is accepted for compatibility but currently unused.
11
- return React.createElement("ink-box", { ...rest, ref }, children);
12
- });
2
+ export const Box = (props) => {
3
+ return React.createElement("ink-box", { ...props });
4
+ };
13
5
  Box.displayName = "Box";
14
- export default Box;
15
6
  //# sourceMappingURL=Box.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Box.js","sourceRoot":"","sources":["../../src/components/Box.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;GAKG;AACH,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC7D,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACpC,4DAA4D;IAC5D,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;AAExB,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"Box.js","sourceRoot":"","sources":["../../src/components/Box.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA4G1B,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAe,EAAsB,EAAE;IACzD,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC"}
@@ -1,16 +1,6 @@
1
1
  import React from "react";
2
- export type Props = Readonly<{
3
- /**
4
- * Number of newlines to insert.
5
- *
6
- * @default 1
7
- */
2
+ export interface NewlineProps {
8
3
  count?: number;
9
- }>;
10
- /**
11
- * Ink-compatible `<Newline>` component.
12
- *
13
- * Adds one or more newline (`\n`) characters. Intended to be used within `<Text>`.
14
- */
15
- export default function Newline({ count }: Props): React.JSX.Element;
4
+ }
5
+ export declare const Newline: React.FC<NewlineProps>;
16
6
  //# sourceMappingURL=Newline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Newline.d.ts","sourceRoot":"","sources":["../../src/components/Newline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC;IAC3B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAE,KAAS,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAEvE"}
1
+ {"version":3,"file":"Newline.d.ts","sourceRoot":"","sources":["../../src/components/Newline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAE1C,CAAC"}
@@ -1,10 +1,6 @@
1
1
  import React from "react";
2
- /**
3
- * Ink-compatible `<Newline>` component.
4
- *
5
- * Adds one or more newline (`\n`) characters. Intended to be used within `<Text>`.
6
- */
7
- export default function Newline({ count = 1 }) {
8
- return React.createElement("ink-text", null, "\n".repeat(count));
9
- }
2
+ export const Newline = ({ count = 1 }) => {
3
+ return React.createElement("ink-virtual", { __inkType: "newline", count });
4
+ };
5
+ Newline.displayName = "Newline";
10
6
  //# sourceMappingURL=Newline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Newline.js","sourceRoot":"","sources":["../../src/components/Newline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAE,KAAK,GAAG,CAAC,EAAS;IAClD,OAAO,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"Newline.js","sourceRoot":"","sources":["../../src/components/Newline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE;IAC/D,OAAO,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC"}
@@ -1,9 +1,3 @@
1
1
  import React from "react";
2
- /**
3
- * Ink-compatible `<Spacer>` component.
4
- *
5
- * Ink implements this as `<Box flexGrow={1} />`. For Rezi, we map it directly
6
- * to a spacer node to avoid creating unnecessary layout containers.
7
- */
8
- export default function Spacer(): React.JSX.Element;
2
+ export declare const Spacer: React.FC;
9
3
  //# sourceMappingURL=Spacer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spacer.d.ts","sourceRoot":"","sources":["../../src/components/Spacer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAElD"}
1
+ {"version":3,"file":"Spacer.d.ts","sourceRoot":"","sources":["../../src/components/Spacer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAE1B,CAAC"}
@@ -1,11 +1,6 @@
1
1
  import React from "react";
2
- /**
3
- * Ink-compatible `<Spacer>` component.
4
- *
5
- * Ink implements this as `<Box flexGrow={1} />`. For Rezi, we map it directly
6
- * to a spacer node to avoid creating unnecessary layout containers.
7
- */
8
- export default function Spacer() {
9
- return React.createElement("ink-spacer", null);
10
- }
2
+ export const Spacer = () => {
3
+ return React.createElement("ink-box", { __inkType: "spacer", flexGrow: 1 });
4
+ };
5
+ Spacer.displayName = "Spacer";
11
6
  //# sourceMappingURL=Spacer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spacer.js","sourceRoot":"","sources":["../../src/components/Spacer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM;IAC5B,OAAO,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"Spacer.js","sourceRoot":"","sources":["../../src/components/Spacer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAa,GAAG,EAAE;IACnC,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
@@ -1,29 +1,15 @@
1
- import React, { type ReactNode } from "react";
2
- import type { BoxProps } from "../types.js";
3
- type BoxStyleProps = Omit<BoxProps, "children">;
4
- export type Props<T> = Readonly<{
5
- /**
6
- * Array of items of any type to render using a function you pass as a component child.
7
- */
8
- items: readonly T[];
9
- /**
10
- * Styles to apply to a container of child elements. See `<Box>` for supported properties.
11
- */
12
- style?: BoxStyleProps;
13
- /**
14
- * Function that is called to render every item in `items` array.
15
- * First argument is an item itself and second argument is index of that item in `items` array.
16
- * Note that `key` must be assigned to the root component.
17
- */
18
- children: (item: T, index: number) => ReactNode;
19
- }>;
1
+ import React from "react";
2
+ export interface StaticProps<T> {
3
+ items: T[];
4
+ children: (item: T, index: number) => React.ReactNode;
5
+ style?: Record<string, unknown>;
6
+ }
20
7
  /**
21
- * Ink-compatible `<Static>` component.
22
- *
23
- * Ink's implementation relies on static output being rendered separately and left on the terminal.
24
- * Rezi re-renders the full framebuffer, so we emulate Ink semantics by accumulating static nodes
25
- * in the renderer layer (see `internal_static` handling in the compat reconciler).
8
+ * <Static> renders items once. This implementation marks the subtree as static
9
+ * so renderers can treat it as scrollback-oriented output.
26
10
  */
27
- export default function Static<T>(props: Props<T>): React.JSX.Element;
28
- export {};
11
+ export declare function Static<T>(props: StaticProps<T>): React.ReactElement;
12
+ export declare namespace Static {
13
+ var displayName: string;
14
+ }
29
15
  //# sourceMappingURL=Static.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Static.d.ts","sourceRoot":"","sources":["../../src/components/Static.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,KAAK,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEhD,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC;IAC9B;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;OAIG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;CACjD,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsBpE"}
1
+ {"version":3,"file":"Static.d.ts","sourceRoot":"","sources":["../../src/components/Static.ts"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAElE,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CA6BnE;yBA7Be,MAAM"}
@@ -1,24 +1,23 @@
1
1
  import React, { useLayoutEffect, useMemo, useState } from "react";
2
2
  /**
3
- * Ink-compatible `<Static>` component.
4
- *
5
- * Ink's implementation relies on static output being rendered separately and left on the terminal.
6
- * Rezi re-renders the full framebuffer, so we emulate Ink semantics by accumulating static nodes
7
- * in the renderer layer (see `internal_static` handling in the compat reconciler).
3
+ * <Static> renders items once. This implementation marks the subtree as static
4
+ * so renderers can treat it as scrollback-oriented output.
8
5
  */
9
- export default function Static(props) {
10
- const { items, children: render, style: customStyle } = props;
6
+ export function Static(props) {
7
+ const { items, children: renderItem, style } = props;
11
8
  const [index, setIndex] = useState(0);
12
- const itemsToRender = useMemo(() => items.slice(index), [items, index]);
9
+ const itemsToRender = useMemo(() => {
10
+ return items.slice(index);
11
+ }, [items, index]);
13
12
  useLayoutEffect(() => {
14
13
  setIndex(items.length);
15
14
  }, [items.length]);
16
- const children = itemsToRender.map((item, itemIndex) => render(item, index + itemIndex));
17
- const style = useMemo(() => ({
15
+ const staticStyle = {
16
+ ...(style ?? {}),
18
17
  position: "absolute",
19
18
  flexDirection: "column",
20
- ...(customStyle ?? {}),
21
- }), [customStyle]);
22
- return React.createElement("ink-box", { internal_static: true, ...style }, children);
19
+ };
20
+ return React.createElement("ink-box", { __inkStatic: true, ...staticStyle }, ...itemsToRender.map((item, itemIndex) => React.createElement(React.Fragment, { key: `${index}:${itemIndex}` }, renderItem(item, index + itemIndex))));
23
21
  }
22
+ Static.displayName = "Static";
24
23
  //# sourceMappingURL=Static.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Static.js","sourceRoot":"","sources":["../../src/components/Static.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAsBlF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAI,KAAe;IAC/C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAExE,eAAe,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnB,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC;IAEzF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC;QACL,QAAQ,EAAE,UAAmB;QAC7B,aAAa,EAAE,QAAiB;QAChC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;KACvB,CAAC,EACF,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;AACvF,CAAC"}
1
+ {"version":3,"file":"Static.js","sourceRoot":"","sources":["../../src/components/Static.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAQlE;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAI,KAAqB;IAC7C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACrD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,eAAe,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnB,MAAM,WAAW,GAA4B;QAC3C,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAChB,QAAQ,EAAE,UAAU;QACpB,aAAa,EAAE,QAAQ;KACxB,CAAC;IAEF,OAAO,KAAK,CAAC,aAAa,CACxB,SAAS,EACT,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,EACrC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CACvC,KAAK,CAAC,aAAa,CACjB,KAAK,CAAC,QAAQ,EACd,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,SAAS,EAAE,EAAE,EAChC,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC,CACpC,CACF,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
@@ -1,9 +1,30 @@
1
1
  import React from "react";
2
- import type { TextProps } from "../types.js";
3
- /**
4
- * Ink-compatible `<Text>` component.
5
- *
6
- * Mirrors Ink behavior: returns null when `children` is null/undefined.
7
- */
8
- export default function Text(props: TextProps): React.JSX.Element | null;
2
+ import type { InkHostNode } from "../reconciler/types.js";
3
+ export interface TextProps {
4
+ color?: string;
5
+ backgroundColor?: string;
6
+ bold?: boolean;
7
+ italic?: boolean;
8
+ underline?: boolean;
9
+ strikethrough?: boolean;
10
+ inverse?: boolean;
11
+ dimColor?: boolean;
12
+ wrap?: "wrap" | "truncate" | "truncate-start" | "truncate-middle" | "truncate-end";
13
+ /** @jrichman/ink fork: show terminal cursor at this position */
14
+ terminalCursorFocus?: boolean;
15
+ /** @jrichman/ink fork: cursor column offset within the text */
16
+ terminalCursorPosition?: number;
17
+ ariaLabel?: string;
18
+ "aria-label"?: string;
19
+ accessibilityLabel?: string;
20
+ children?: React.ReactNode;
21
+ }
22
+ type TextComponent = React.ForwardRefExoticComponent<TextProps & React.RefAttributes<InkHostNode>> & {
23
+ displayName?: string;
24
+ mock?: unknown;
25
+ mockClear?: unknown;
26
+ mockReset?: unknown;
27
+ };
28
+ export declare const Text: TextComponent;
29
+ export {};
9
30
  //# sourceMappingURL=Text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/components/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAIvE"}
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/components/Text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,cAAc,CAAC;IACnF,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,+DAA+D;IAC/D,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,KAAK,aAAa,GAAG,KAAK,CAAC,yBAAyB,CAClD,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAC7C,GAAG;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,IAAI,EAEA,aAAa,CAAC"}
@@ -1,13 +1,6 @@
1
1
  import React from "react";
2
- /**
3
- * Ink-compatible `<Text>` component.
4
- *
5
- * Mirrors Ink behavior: returns null when `children` is null/undefined.
6
- */
7
- export default function Text(props) {
8
- if (props.children === undefined || props.children === null)
9
- return null;
10
- const { children, ...rest } = props;
11
- return React.createElement("ink-text", rest, children);
12
- }
2
+ export const Text = React.forwardRef((props, ref) => {
3
+ return React.createElement("ink-text", { ...props, ref });
4
+ });
5
+ Text.displayName = "Text";
13
6
  //# sourceMappingURL=Text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../src/components/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAgB;IAC3C,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACpC,OAAO,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../src/components/Text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAkC1B,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1E,OAAO,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5D,CAAC,CAA6B,CAAC;AAE/B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC"}
@@ -1,17 +1,10 @@
1
- import React, { type ReactNode } from "react";
2
- export type Props = Readonly<{
3
- /**
4
- * Function which transforms children output. It accepts children and must return
5
- * transformed children too.
6
- */
7
- transform: (children: string, index: number) => string;
8
- children?: ReactNode;
9
- }>;
10
- /**
11
- * Ink-compatible `<Transform>` component.
12
- *
13
- * In Ink, this transforms the rendered string output. In the Rezi compat layer,
14
- * we apply the transform to the flattened text content (best-effort).
15
- */
16
- export default function Transform({ children, transform }: Props): React.JSX.Element | null;
1
+ import React from "react";
2
+ export interface TransformProps {
3
+ transform: (line: string, index: number) => string;
4
+ ariaLabel?: string;
5
+ "aria-label"?: string;
6
+ accessibilityLabel?: string;
7
+ children: React.ReactNode;
8
+ }
9
+ export declare const Transform: React.FC<TransformProps>;
17
10
  //# sourceMappingURL=Transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transform.d.ts","sourceRoot":"","sources":["../../src/components/Transform.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9C,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC;IAC3B;;;OAGG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAG1F"}
1
+ {"version":3,"file":"Transform.d.ts","sourceRoot":"","sources":["../../src/components/Transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAe9C,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import React from "react";
2
- /**
3
- * Ink-compatible `<Transform>` component.
4
- *
5
- * In Ink, this transforms the rendered string output. In the Rezi compat layer,
6
- * we apply the transform to the flattened text content (best-effort).
7
- */
8
- export default function Transform({ children, transform }) {
9
- if (children === undefined || children === null)
10
- return null;
11
- return React.createElement("ink-text", { internal_transform: transform }, children);
12
- }
2
+ export const Transform = ({ transform, children, ariaLabel, accessibilityLabel, ...rest }) => {
3
+ return React.createElement("ink-virtual", {
4
+ __inkType: "transform",
5
+ __inkTransform: transform,
6
+ ...(ariaLabel === undefined ? {} : { ariaLabel }),
7
+ ...(accessibilityLabel === undefined ? {} : { accessibilityLabel }),
8
+ ...rest,
9
+ children,
10
+ });
11
+ };
12
+ Transform.displayName = "Transform";
13
13
  //# sourceMappingURL=Transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transform.js","sourceRoot":"","sources":["../../src/components/Transform.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAC;AAW9C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAS;IAC9D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7D,OAAO,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,kBAAkB,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;AACtF,CAAC"}
1
+ {"version":3,"file":"Transform.js","sourceRoot":"","sources":["../../src/components/Transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,CAAC,MAAM,SAAS,GAA6B,CAAC,EAClD,SAAS,EACT,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,GAAG,IAAI,EACR,EAAE,EAAE;IACH,OAAO,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE;QACxC,SAAS,EAAE,WAAW;QACtB,cAAc,EAAE,SAAS;QACzB,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC;QACnE,GAAG,IAAI;QACP,QAAQ;KACT,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"}
@@ -1,4 +1,5 @@
1
- export default function useApp(): {
2
- exit: (error?: Error) => void;
1
+ export declare function useApp(): {
2
+ exit: (result?: unknown) => void;
3
+ rerender: () => void;
3
4
  };
4
5
  //# sourceMappingURL=useApp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useApp.d.ts","sourceRoot":"","sources":["../../src/hooks/useApp.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,MAAM,IAAI;IAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;CAAE,CAGlE"}
1
+ {"version":3,"file":"useApp.d.ts","sourceRoot":"","sources":["../../src/hooks/useApp.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM;;;EAGrB"}
@@ -1,7 +1,6 @@
1
- import React from "react";
2
- import AppContext from "../context/AppContext.js";
3
- export default function useApp() {
4
- const { exit } = React.useContext(AppContext);
5
- return { exit };
1
+ import { useInkContext } from "../runtime/context.js";
2
+ export function useApp() {
3
+ const ctx = useInkContext();
4
+ return { exit: ctx.exit, rerender: ctx.rerender };
6
5
  }
7
6
  //# sourceMappingURL=useApp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useApp.js","sourceRoot":"","sources":["../../src/hooks/useApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,MAAM;IAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"useApp.js","sourceRoot":"","sources":["../../src/hooks/useApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,UAAU,MAAM;IACpB,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;AACpD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { CursorPosition } from "../runtime/context.js";
2
+ export declare function useCursor(): {
3
+ setCursorPosition: (position: CursorPosition | undefined) => void;
4
+ };
5
+ //# sourceMappingURL=useCursor.d.ts.map