@rezi-ui/ink-compat 0.1.0-alpha.4 → 0.1.0-alpha.45

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 (406) hide show
  1. package/README.md +104 -0
  2. package/dist/components/Box.d.ts +56 -56
  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 +4 -2
  27. package/dist/hooks/useApp.d.ts.map +1 -1
  28. package/dist/hooks/useApp.js +4 -4
  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 -25
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +24 -25
  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 +150 -140
  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 -22
  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 -32
  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 -70
  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 -41
  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 -62
  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 -13
  308. package/dist/context/AppContext.d.ts.map +0 -1
  309. package/dist/context/AppContext.js +0 -14
  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 -160
  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 -29
  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 -25
  340. package/dist/measurement.d.ts.map +0 -1
  341. package/dist/measurement.js +0 -281
  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 -242
  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 -11
  364. package/dist/reconciler.d.ts.map +0 -1
  365. package/dist/reconciler.js +0 -58
  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 -282
  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/styledTextCompat.d.ts +0 -22
  388. package/dist/styledTextCompat.d.ts.map +0 -1
  389. package/dist/styledTextCompat.js +0 -264
  390. package/dist/styledTextCompat.js.map +0 -1
  391. package/dist/testing/findText.d.ts +0 -4
  392. package/dist/testing/findText.d.ts.map +0 -1
  393. package/dist/testing/findText.js +0 -27
  394. package/dist/testing/findText.js.map +0 -1
  395. package/dist/testing/renderToVNode.d.ts +0 -9
  396. package/dist/testing/renderToVNode.d.ts.map +0 -1
  397. package/dist/testing/renderToVNode.js +0 -22
  398. package/dist/testing/renderToVNode.js.map +0 -1
  399. package/dist/testing/simulateKeyEvent.d.ts +0 -18
  400. package/dist/testing/simulateKeyEvent.d.ts.map +0 -1
  401. package/dist/testing/simulateKeyEvent.js +0 -25
  402. package/dist/testing/simulateKeyEvent.js.map +0 -1
  403. package/dist/types.d.ts +0 -233
  404. package/dist/types.d.ts.map +0 -1
  405. package/dist/types.js +0 -2
  406. 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,86 +1,86 @@
1
1
  import React from "react";
2
- import type { DOMElement } from "../types.js";
3
- /**
4
- * Ink-compatible `<Box>` component.
5
- *
6
- * We render a host element (`"ink-box"`) that is interpreted by this package's
7
- * custom reconciler and converted into Rezi VNodes.
8
- */
9
- declare const Box: React.ForwardRefExoticComponent<Readonly<{
10
- position?: "absolute" | "relative";
11
- columnGap?: number;
12
- rowGap?: number;
13
- gap?: number;
14
- margin?: number;
15
- marginX?: number;
16
- marginY?: number;
17
- marginTop?: number;
18
- marginBottom?: number;
19
- marginLeft?: number;
20
- marginRight?: number;
21
- padding?: number;
22
- paddingX?: number;
23
- paddingY?: number;
24
- paddingTop?: number;
25
- paddingBottom?: number;
26
- paddingLeft?: number;
27
- 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";
28
6
  flexGrow?: number;
29
7
  flexShrink?: number;
30
- flexDirection?: "row" | "column" | "row-reverse" | "column-reverse";
31
8
  flexBasis?: number | string;
32
9
  flexWrap?: "nowrap" | "wrap" | "wrap-reverse";
33
10
  alignItems?: "flex-start" | "center" | "flex-end" | "stretch";
34
- alignSelf?: "flex-start" | "center" | "flex-end" | "auto";
35
- 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";
36
14
  width?: number | string;
37
15
  height?: number | string;
38
16
  minWidth?: number | string;
17
+ /** @jrichman/ink fork: non-upstream extension used by Gemini CLI tab headers */
39
18
  maxWidth?: number | string;
40
19
  minHeight?: number | string;
41
20
  maxHeight?: number | string;
42
- display?: "flex" | "none";
43
- borderStyle?: string;
44
- borderTop?: boolean;
45
- borderBottom?: boolean;
46
- borderLeft?: boolean;
47
- borderRight?: boolean;
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>;
48
45
  borderColor?: string;
49
46
  borderTopColor?: string;
47
+ borderRightColor?: string;
50
48
  borderBottomColor?: string;
51
49
  borderLeftColor?: string;
52
- borderRightColor?: string;
53
50
  borderDimColor?: boolean;
54
51
  borderTopDimColor?: boolean;
52
+ borderRightDimColor?: boolean;
55
53
  borderBottomDimColor?: boolean;
56
54
  borderLeftDimColor?: boolean;
57
- 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;
58
63
  overflow?: "visible" | "hidden" | "scroll";
59
64
  overflowX?: "visible" | "hidden" | "scroll";
60
65
  overflowY?: "visible" | "hidden" | "scroll";
61
- backgroundColor?: string;
62
- scrollTop?: number;
66
+ /** @jrichman/ink fork: horizontal scroll offset */
63
67
  scrollLeft?: number;
68
+ /** @jrichman/ink fork: vertical scroll offset */
69
+ scrollTop?: number;
70
+ /** @jrichman/ink fork: scrollbar thumb color */
64
71
  scrollbarThumbColor?: string;
65
- userSelect?: "auto" | "none" | "text" | "all";
66
- "aria-label"?: string;
67
- "aria-hidden"?: boolean;
68
- "aria-role"?: "button" | "checkbox" | "combobox" | "list" | "listbox" | "listitem" | "menu" | "menuitem" | "option" | "progressbar" | "radio" | "radiogroup" | "tab" | "tablist" | "table" | "textbox" | "timer" | "toolbar";
69
- "aria-state"?: Readonly<{
70
- busy?: boolean;
71
- checked?: boolean;
72
- disabled?: boolean;
73
- expanded?: boolean;
74
- multiline?: boolean;
75
- multiselectable?: boolean;
76
- readonly?: boolean;
77
- required?: boolean;
78
- selected?: boolean;
79
- }>;
72
+ /** @jrichman/ink fork: make this box opaque (paints background over content below) */
80
73
  opaque?: boolean;
74
+ /** @jrichman/ink fork: pin this box to the top of its parent (sticky header) */
81
75
  sticky?: boolean;
76
+ /** @jrichman/ink fork: children rendered inside the sticky area */
82
77
  stickyChildren?: React.ReactNode;
83
78
  children?: React.ReactNode;
84
- }> & React.RefAttributes<DOMElement>>;
85
- 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 {};
86
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;AAC1B,OAAO,KAAK,EAAY,UAAU,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;GAKG;AACH,QAAA,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YASuiF,CAAC;eAAsB,CAAC;gBAAuB,CAAC;gBAAuB,CAAC;iBAAwB,CAAC;uBAA8B,CAAC;gBAAuB,CAAC;gBAAuB,CAAC;gBAAuB,CAAC;;;;;;qCALtvF,CAAC;AAIH,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../src/components/Box.ts"],"names":[],"mappings":"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"}
@@ -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,CAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAChE,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,3 +1,5 @@
1
- import type { AppProps } from "../types.js";
2
- export default function useApp(): AppProps;
1
+ export declare function useApp(): {
2
+ exit: (result?: unknown) => void;
3
+ rerender: () => void;
4
+ };
3
5
  //# sourceMappingURL=useApp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useApp.d.ts","sourceRoot":"","sources":["../../src/hooks/useApp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,MAAM,IAAI,QAAQ,CAEzC"}
1
+ {"version":3,"file":"useApp.d.ts","sourceRoot":"","sources":["../../src/hooks/useApp.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM;;;EAGrB"}