@effect-tui/react 0.15.1 → 0.16.0

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 (253) hide show
  1. package/README.md +2 -2
  2. package/dist/src/components/ListView.d.ts +4 -4
  3. package/dist/src/components/ListView.d.ts.map +1 -1
  4. package/dist/src/components/ListView.js +16 -17
  5. package/dist/src/components/ListView.js.map +1 -1
  6. package/dist/src/console/ConsolePopover.d.ts +7 -1
  7. package/dist/src/console/ConsolePopover.d.ts.map +1 -1
  8. package/dist/src/console/ConsolePopover.js +55 -74
  9. package/dist/src/console/ConsolePopover.js.map +1 -1
  10. package/dist/src/debug/DebugOverlay.d.ts.map +1 -1
  11. package/dist/src/debug/DebugOverlay.js +3 -57
  12. package/dist/src/debug/DebugOverlay.js.map +1 -1
  13. package/dist/src/debug/DiagnosticsPanel.js +1 -1
  14. package/dist/src/debug/DiagnosticsPanel.js.map +1 -1
  15. package/dist/src/dev.d.ts +5 -117
  16. package/dist/src/dev.d.ts.map +1 -1
  17. package/dist/src/dev.js +3 -333
  18. package/dist/src/dev.js.map +1 -1
  19. package/dist/src/hooks/use-scroll.d.ts +31 -35
  20. package/dist/src/hooks/use-scroll.d.ts.map +1 -1
  21. package/dist/src/hooks/use-scroll.js +51 -90
  22. package/dist/src/hooks/use-scroll.js.map +1 -1
  23. package/dist/src/hosts/canvas.d.ts +2 -2
  24. package/dist/src/hosts/canvas.d.ts.map +1 -1
  25. package/dist/src/hosts/canvas.js +8 -10
  26. package/dist/src/hosts/canvas.js.map +1 -1
  27. package/dist/src/hosts/codeblock.d.ts +7 -4
  28. package/dist/src/hosts/codeblock.d.ts.map +1 -1
  29. package/dist/src/hosts/codeblock.js +26 -9
  30. package/dist/src/hosts/codeblock.js.map +1 -1
  31. package/dist/src/hosts/flex-container.d.ts +1 -1
  32. package/dist/src/hosts/flex-container.d.ts.map +1 -1
  33. package/dist/src/hosts/flex-container.js +3 -3
  34. package/dist/src/hosts/flex-container.js.map +1 -1
  35. package/dist/src/hosts/index.d.ts +2 -1
  36. package/dist/src/hosts/index.d.ts.map +1 -1
  37. package/dist/src/hosts/index.js +2 -1
  38. package/dist/src/hosts/index.js.map +1 -1
  39. package/dist/src/hosts/layout-helpers.d.ts +10 -0
  40. package/dist/src/hosts/layout-helpers.d.ts.map +1 -0
  41. package/dist/src/hosts/layout-helpers.js +10 -0
  42. package/dist/src/hosts/layout-helpers.js.map +1 -0
  43. package/dist/src/hosts/leaf.d.ts +14 -0
  44. package/dist/src/hosts/leaf.d.ts.map +1 -0
  45. package/dist/src/hosts/leaf.js +31 -0
  46. package/dist/src/hosts/leaf.js.map +1 -0
  47. package/dist/src/hosts/overlay.d.ts.map +1 -1
  48. package/dist/src/hosts/overlay.js +4 -7
  49. package/dist/src/hosts/overlay.js.map +1 -1
  50. package/dist/src/hosts/scroll.d.ts +47 -24
  51. package/dist/src/hosts/scroll.d.ts.map +1 -1
  52. package/dist/src/hosts/scroll.js +68 -51
  53. package/dist/src/hosts/scroll.js.map +1 -1
  54. package/dist/src/hosts/spacer.d.ts +3 -4
  55. package/dist/src/hosts/spacer.d.ts.map +1 -1
  56. package/dist/src/hosts/spacer.js +2 -5
  57. package/dist/src/hosts/spacer.js.map +1 -1
  58. package/dist/src/hosts/text.d.ts +2 -3
  59. package/dist/src/hosts/text.d.ts.map +1 -1
  60. package/dist/src/hosts/text.js +5 -61
  61. package/dist/src/hosts/text.js.map +1 -1
  62. package/dist/src/hosts/vstack.js +1 -1
  63. package/dist/src/hosts/vstack.js.map +1 -1
  64. package/dist/src/hosts/zstack.d.ts +1 -1
  65. package/dist/src/hosts/zstack.d.ts.map +1 -1
  66. package/dist/src/hosts/zstack.js +6 -6
  67. package/dist/src/hosts/zstack.js.map +1 -1
  68. package/dist/src/index.d.ts +1 -1
  69. package/dist/src/index.d.ts.map +1 -1
  70. package/dist/src/internal/dev/hmr.d.ts +20 -0
  71. package/dist/src/internal/dev/hmr.d.ts.map +1 -0
  72. package/dist/src/internal/dev/hmr.js +93 -0
  73. package/dist/src/internal/dev/hmr.js.map +1 -0
  74. package/dist/src/internal/dev/runtime.d.ts +24 -0
  75. package/dist/src/internal/dev/runtime.d.ts.map +1 -0
  76. package/dist/src/internal/dev/runtime.js +135 -0
  77. package/dist/src/internal/dev/runtime.js.map +1 -0
  78. package/dist/src/internal/dev/ui.d.ts +13 -0
  79. package/dist/src/internal/dev/ui.d.ts.map +1 -0
  80. package/dist/src/internal/dev/ui.js +51 -0
  81. package/dist/src/internal/dev/ui.js.map +1 -0
  82. package/dist/src/internal/renderer/context.d.ts +9 -0
  83. package/dist/src/internal/renderer/context.d.ts.map +1 -0
  84. package/dist/src/internal/renderer/context.js +22 -0
  85. package/dist/src/internal/renderer/context.js.map +1 -0
  86. package/dist/src/internal/renderer/core/FrameBuilder.d.ts +18 -0
  87. package/dist/src/internal/renderer/core/FrameBuilder.d.ts.map +1 -0
  88. package/dist/src/internal/renderer/core/FrameBuilder.js +40 -0
  89. package/dist/src/internal/renderer/core/FrameBuilder.js.map +1 -0
  90. package/dist/src/internal/renderer/core/RendererState.d.ts +41 -0
  91. package/dist/src/internal/renderer/core/RendererState.d.ts.map +1 -0
  92. package/dist/src/internal/renderer/core/RendererState.js +70 -0
  93. package/dist/src/internal/renderer/core/RendererState.js.map +1 -0
  94. package/dist/src/internal/renderer/core/index.d.ts +3 -0
  95. package/dist/src/internal/renderer/core/index.d.ts.map +1 -0
  96. package/dist/src/internal/renderer/core/index.js +3 -0
  97. package/dist/src/internal/renderer/core/index.js.map +1 -0
  98. package/dist/src/internal/renderer/index.d.ts +40 -0
  99. package/dist/src/internal/renderer/index.d.ts.map +1 -0
  100. package/dist/src/internal/renderer/index.js +518 -0
  101. package/dist/src/internal/renderer/index.js.map +1 -0
  102. package/dist/src/internal/renderer/input/InputProcessor.d.ts +30 -0
  103. package/dist/src/internal/renderer/input/InputProcessor.d.ts.map +1 -0
  104. package/dist/src/internal/renderer/input/InputProcessor.js +122 -0
  105. package/dist/src/internal/renderer/input/InputProcessor.js.map +1 -0
  106. package/dist/src/internal/renderer/input/index.d.ts +2 -0
  107. package/dist/src/internal/renderer/input/index.d.ts.map +1 -0
  108. package/dist/src/internal/renderer/input/index.js +2 -0
  109. package/dist/src/internal/renderer/input/index.js.map +1 -0
  110. package/dist/src/internal/renderer/lifecycle/EventBus.d.ts +42 -0
  111. package/dist/src/internal/renderer/lifecycle/EventBus.d.ts.map +1 -0
  112. package/dist/src/internal/renderer/lifecycle/EventBus.js +97 -0
  113. package/dist/src/internal/renderer/lifecycle/EventBus.js.map +1 -0
  114. package/dist/src/internal/renderer/lifecycle/ProcessLifecycle.d.ts +13 -0
  115. package/dist/src/internal/renderer/lifecycle/ProcessLifecycle.d.ts.map +1 -0
  116. package/dist/src/internal/renderer/lifecycle/ProcessLifecycle.js +111 -0
  117. package/dist/src/internal/renderer/lifecycle/ProcessLifecycle.js.map +1 -0
  118. package/dist/src/internal/renderer/lifecycle/RenderCache.d.ts +3 -0
  119. package/dist/src/internal/renderer/lifecycle/RenderCache.d.ts.map +1 -0
  120. package/dist/src/internal/renderer/lifecycle/RenderCache.js +9 -0
  121. package/dist/src/internal/renderer/lifecycle/RenderCache.js.map +1 -0
  122. package/dist/src/internal/renderer/lifecycle/index.d.ts +4 -0
  123. package/dist/src/internal/renderer/lifecycle/index.d.ts.map +1 -0
  124. package/dist/src/internal/renderer/lifecycle/index.js +4 -0
  125. package/dist/src/internal/renderer/lifecycle/index.js.map +1 -0
  126. package/dist/src/internal/renderer/modes/FullscreenRenderer.d.ts +12 -0
  127. package/dist/src/internal/renderer/modes/FullscreenRenderer.d.ts.map +1 -0
  128. package/dist/src/internal/renderer/modes/FullscreenRenderer.js +54 -0
  129. package/dist/src/internal/renderer/modes/FullscreenRenderer.js.map +1 -0
  130. package/dist/src/internal/renderer/modes/InlineRenderer.d.ts +25 -0
  131. package/dist/src/internal/renderer/modes/InlineRenderer.d.ts.map +1 -0
  132. package/dist/src/internal/renderer/modes/InlineRenderer.js +166 -0
  133. package/dist/src/internal/renderer/modes/InlineRenderer.js.map +1 -0
  134. package/dist/src/internal/renderer/modes/RendererMode.d.ts +42 -0
  135. package/dist/src/internal/renderer/modes/RendererMode.d.ts.map +1 -0
  136. package/dist/src/internal/renderer/modes/RendererMode.js +2 -0
  137. package/dist/src/internal/renderer/modes/RendererMode.js.map +1 -0
  138. package/dist/src/internal/renderer/modes/StaticContentRenderer.d.ts +25 -0
  139. package/dist/src/internal/renderer/modes/StaticContentRenderer.d.ts.map +1 -0
  140. package/dist/src/internal/renderer/modes/StaticContentRenderer.js +49 -0
  141. package/dist/src/internal/renderer/modes/StaticContentRenderer.js.map +1 -0
  142. package/dist/src/internal/renderer/modes/index.d.ts +5 -0
  143. package/dist/src/internal/renderer/modes/index.d.ts.map +1 -0
  144. package/dist/src/internal/renderer/modes/index.js +4 -0
  145. package/dist/src/internal/renderer/modes/index.js.map +1 -0
  146. package/dist/src/internal/renderer/terminal/KeyboardCapabilityProbe.d.ts +13 -0
  147. package/dist/src/internal/renderer/terminal/KeyboardCapabilityProbe.d.ts.map +1 -0
  148. package/dist/src/internal/renderer/terminal/KeyboardCapabilityProbe.js +75 -0
  149. package/dist/src/internal/renderer/terminal/KeyboardCapabilityProbe.js.map +1 -0
  150. package/dist/src/internal/renderer/terminal/TerminalSetup.d.ts +29 -0
  151. package/dist/src/internal/renderer/terminal/TerminalSetup.d.ts.map +1 -0
  152. package/dist/src/internal/renderer/terminal/TerminalSetup.js +82 -0
  153. package/dist/src/internal/renderer/terminal/TerminalSetup.js.map +1 -0
  154. package/dist/src/internal/renderer/terminal/index.d.ts +3 -0
  155. package/dist/src/internal/renderer/terminal/index.d.ts.map +1 -0
  156. package/dist/src/internal/renderer/terminal/index.js +3 -0
  157. package/dist/src/internal/renderer/terminal/index.js.map +1 -0
  158. package/dist/src/internal/renderer/types.d.ts +118 -0
  159. package/dist/src/internal/renderer/types.d.ts.map +1 -0
  160. package/dist/src/internal/renderer/types.js +2 -0
  161. package/dist/src/internal/renderer/types.js.map +1 -0
  162. package/dist/src/renderer-context.d.ts +1 -8
  163. package/dist/src/renderer-context.d.ts.map +1 -1
  164. package/dist/src/renderer-context.js +1 -21
  165. package/dist/src/renderer-context.js.map +1 -1
  166. package/dist/src/renderer-types.d.ts +1 -115
  167. package/dist/src/renderer-types.d.ts.map +1 -1
  168. package/dist/src/renderer.d.ts +1 -31
  169. package/dist/src/renderer.d.ts.map +1 -1
  170. package/dist/src/renderer.js +1 -468
  171. package/dist/src/renderer.js.map +1 -1
  172. package/dist/src/test/render-tui.d.ts +3 -3
  173. package/dist/src/test/render-tui.d.ts.map +1 -1
  174. package/dist/src/test/render-tui.js +16 -9
  175. package/dist/src/test/render-tui.js.map +1 -1
  176. package/dist/src/utils/alignment.d.ts +1 -1
  177. package/dist/src/utils/alignment.d.ts.map +1 -1
  178. package/dist/src/utils/alignment.js +0 -2
  179. package/dist/src/utils/alignment.js.map +1 -1
  180. package/dist/src/utils/console-helpers.d.ts +19 -0
  181. package/dist/src/utils/console-helpers.d.ts.map +1 -0
  182. package/dist/src/utils/console-helpers.js +61 -0
  183. package/dist/src/utils/console-helpers.js.map +1 -0
  184. package/dist/src/utils/index.d.ts +1 -1
  185. package/dist/src/utils/index.d.ts.map +1 -1
  186. package/dist/src/utils/index.js +1 -1
  187. package/dist/src/utils/index.js.map +1 -1
  188. package/dist/src/utils/styles.d.ts +8 -1
  189. package/dist/src/utils/styles.d.ts.map +1 -1
  190. package/dist/src/utils/styles.js +10 -8
  191. package/dist/src/utils/styles.js.map +1 -1
  192. package/dist/src/utils/text-wrap.d.ts +5 -0
  193. package/dist/src/utils/text-wrap.d.ts.map +1 -1
  194. package/dist/src/utils/text-wrap.js +110 -48
  195. package/dist/src/utils/text-wrap.js.map +1 -1
  196. package/dist/src/visualize/index.js +1 -1
  197. package/dist/src/visualize/index.js.map +1 -1
  198. package/dist/tsconfig.tsbuildinfo +1 -1
  199. package/package.json +2 -2
  200. package/src/components/ListView.tsx +21 -23
  201. package/src/console/ConsolePopover.tsx +124 -107
  202. package/src/debug/DebugOverlay.ts +15 -74
  203. package/src/debug/DiagnosticsPanel.tsx +1 -1
  204. package/src/dev.tsx +5 -458
  205. package/src/hooks/use-scroll.ts +85 -145
  206. package/src/hosts/canvas.ts +8 -11
  207. package/src/hosts/codeblock.ts +30 -11
  208. package/src/hosts/flex-container.ts +4 -4
  209. package/src/hosts/index.ts +10 -1
  210. package/src/hosts/layout-helpers.ts +20 -0
  211. package/src/hosts/leaf.ts +36 -0
  212. package/src/hosts/overlay.ts +11 -9
  213. package/src/hosts/scroll.ts +94 -69
  214. package/src/hosts/spacer.ts +3 -7
  215. package/src/hosts/text.ts +5 -58
  216. package/src/hosts/vstack.ts +1 -1
  217. package/src/hosts/zstack.ts +7 -7
  218. package/src/index.ts +1 -1
  219. package/src/internal/dev/hmr.ts +101 -0
  220. package/src/internal/dev/runtime.ts +170 -0
  221. package/src/internal/dev/ui.tsx +87 -0
  222. package/src/internal/renderer/context.ts +27 -0
  223. package/src/{renderer → internal/renderer}/core/FrameBuilder.ts +2 -2
  224. package/src/internal/renderer/index.ts +656 -0
  225. package/src/{renderer → internal/renderer}/input/InputProcessor.ts +10 -1
  226. package/src/{renderer → internal/renderer}/lifecycle/EventBus.ts +9 -1
  227. package/src/internal/renderer/lifecycle/ProcessLifecycle.ts +125 -0
  228. package/src/internal/renderer/lifecycle/index.ts +3 -0
  229. package/src/{renderer → internal/renderer}/modes/InlineRenderer.ts +5 -2
  230. package/src/{renderer → internal/renderer}/modes/RendererMode.ts +1 -1
  231. package/src/{renderer → internal/renderer}/modes/StaticContentRenderer.ts +5 -2
  232. package/src/internal/renderer/terminal/KeyboardCapabilityProbe.ts +91 -0
  233. package/src/{renderer/lifecycle → internal/renderer/terminal}/TerminalSetup.ts +4 -22
  234. package/src/internal/renderer/terminal/index.ts +2 -0
  235. package/src/internal/renderer/types.ts +125 -0
  236. package/src/renderer-context.ts +1 -27
  237. package/src/renderer-types.ts +10 -123
  238. package/src/renderer.ts +1 -590
  239. package/src/test/render-tui.ts +16 -10
  240. package/src/utils/alignment.ts +1 -3
  241. package/src/utils/console-helpers.ts +86 -0
  242. package/src/utils/index.ts +1 -1
  243. package/src/utils/styles.ts +16 -4
  244. package/src/utils/text-wrap.ts +139 -48
  245. package/src/visualize/index.tsx +1 -1
  246. package/src/renderer/lifecycle/ResizeManager.ts +0 -65
  247. package/src/renderer/lifecycle/index.ts +0 -4
  248. /package/src/{renderer → internal/renderer}/core/RendererState.ts +0 -0
  249. /package/src/{renderer → internal/renderer}/core/index.ts +0 -0
  250. /package/src/{renderer → internal/renderer}/input/index.ts +0 -0
  251. /package/src/{renderer → internal/renderer}/lifecycle/RenderCache.ts +0 -0
  252. /package/src/{renderer → internal/renderer}/modes/FullscreenRenderer.ts +0 -0
  253. /package/src/{renderer → internal/renderer}/modes/index.ts +0 -0
@@ -1,20 +1,20 @@
1
- import type { ScrollProps } from "../hosts/scroll.js";
1
+ import type { ScrollAlign, ScrollAxis, ScrollLayoutChange, ScrollProps } from "../hosts/scroll.js";
2
2
  export interface ScrollState {
3
- /** Current scroll offset (pixels from start) for the primary axis */
4
- offset: number;
5
- /** Maximum scroll offset for the primary axis */
6
- maxOffset: number;
7
- /** Viewport size for the primary axis */
8
- viewportSize: number;
9
- /** Whether viewport size has been measured by the host (primary axis) */
10
- viewportMeasured: boolean;
11
- /** Total content size for the primary axis */
12
- contentSize: number;
13
- /** Whether we're at the start edge (primary axis) */
14
- atStart: boolean;
15
- /** Whether we're at the end edge (primary axis) */
16
- atEnd: boolean;
17
- /** Current horizontal offset (pixels from start) */
3
+ /** Current vertical offset (pixels from top) */
4
+ offsetY: number;
5
+ /** Maximum vertical offset */
6
+ maxOffsetY: number;
7
+ /** Vertical viewport size */
8
+ viewportSizeY: number;
9
+ /** Whether vertical viewport size has been measured by the host */
10
+ viewportMeasuredY: boolean;
11
+ /** Total vertical content size */
12
+ contentSizeY: number;
13
+ /** Whether we're at the top edge */
14
+ atStartY: boolean;
15
+ /** Whether we're at the bottom edge */
16
+ atEndY: boolean;
17
+ /** Current horizontal offset (pixels from left) */
18
18
  offsetX: number;
19
19
  /** Maximum horizontal offset */
20
20
  maxOffsetX: number;
@@ -31,31 +31,25 @@ export interface ScrollState {
31
31
  }
32
32
  export interface UseScrollOptions {
33
33
  /** Scroll axis: "vertical" (default), "horizontal", or "both" */
34
- axis?: "vertical" | "horizontal" | "both";
35
- /** Controlled content size for the primary axis (skips host measurement when provided) */
36
- contentSize?: number;
34
+ axis?: ScrollAxis;
37
35
  /** Controlled content width (skips host measurement when provided) */
38
36
  contentWidth?: number;
39
37
  /** Controlled content height (skips host measurement when provided) */
40
38
  contentHeight?: number;
41
- /** @internal Initial viewport size override (useful for tests) */
42
- initialViewportSize?: number;
43
39
  /** @internal Initial viewport width override (useful for tests) */
44
40
  initialViewportWidth?: number;
45
41
  /** @internal Initial viewport height override (useful for tests) */
46
42
  initialViewportHeight?: number;
47
- /** @internal Initial content size override (useful for tests) */
48
- initialContentSize?: number;
49
43
  /** @internal Initial content width override (useful for tests) */
50
44
  initialContentWidth?: number;
51
45
  /** @internal Initial content height override (useful for tests) */
52
46
  initialContentHeight?: number;
53
- /** Initial scroll offset for the primary axis */
54
- initialOffset?: number;
47
+ /** Initial vertical scroll offset */
48
+ initialOffsetY?: number;
55
49
  /** Initial horizontal scroll offset */
56
50
  initialOffsetX?: number;
57
51
  /** Alignment when content is smaller than viewport */
58
- align?: "start" | "end";
52
+ align?: ScrollAlign;
59
53
  /** Whether to show scrollbars */
60
54
  showScrollbar?: boolean;
61
55
  /** Enable keyboard navigation (default: true) */
@@ -70,22 +64,24 @@ export interface UseScrollOptions {
70
64
  arrowSpeed?: number;
71
65
  /** Scroll speed for page up/down (fraction of viewport, default: 0.5) */
72
66
  pageSpeed?: number;
67
+ /** Optional layout callback (content/viewport/offset/rect). */
68
+ onScrollLayoutChange?: (event: ScrollLayoutChange) => void;
73
69
  }
74
70
  export interface UseScrollReturn {
75
71
  /** Current scroll state */
76
72
  state: ScrollState;
77
- /** Set scroll offset directly (primary axis) */
78
- setOffset: (offset: number) => void;
73
+ /** Set vertical scroll offset directly */
74
+ setOffsetY: (offsetY: number) => void;
79
75
  /** Set horizontal scroll offset directly */
80
76
  setOffsetX: (offsetX: number) => void;
81
- /** Scroll by delta pixels (primary axis) */
82
- scrollBy: (delta: number) => void;
77
+ /** Scroll by delta pixels vertically */
78
+ scrollByY: (delta: number) => void;
83
79
  /** Scroll by delta pixels horizontally */
84
80
  scrollByX: (delta: number) => void;
85
- /** Scroll to start (primary axis) */
86
- scrollToStart: () => void;
87
- /** Scroll to end (primary axis) */
88
- scrollToEnd: () => void;
81
+ /** Scroll to top */
82
+ scrollToStartY: () => void;
83
+ /** Scroll to bottom */
84
+ scrollToEndY: () => void;
89
85
  /** Scroll to horizontal start */
90
86
  scrollToStartX: () => void;
91
87
  /** Scroll to horizontal end */
@@ -99,7 +95,7 @@ export interface UseScrollReturn {
99
95
  * @param totalSize - Optional known total content size (avoids stale state issues)
100
96
  * @param axis - Axis to scroll (defaults to vertical)
101
97
  */
102
- scrollToVisible: (position: number, itemSize?: number, padding?: number, totalSize?: number, axis?: "vertical" | "horizontal") => void;
98
+ scrollIntoView: (position: number, itemSize?: number, padding?: number, totalSize?: number, axis?: "vertical" | "horizontal") => void;
103
99
  /** Props to spread on <scroll> element */
104
100
  scrollProps: ScrollProps;
105
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-scroll.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-scroll.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAmFrD,MAAM,WAAW,WAAW;IAC3B,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAA;IACjB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,yEAAyE;IACzE,gBAAgB,EAAE,OAAO,CAAA;IACzB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAA;IACnB,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAA;IAChB,mDAAmD;IACnD,KAAK,EAAE,OAAO,CAAA;IACd,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAA;IACf,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAA;IAC1B,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,iDAAiD;IACjD,QAAQ,EAAE,OAAO,CAAA;IACjB,+CAA+C;IAC/C,MAAM,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB;IAChC,iEAAiE;IACjE,IAAI,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAA;IACzC,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACvB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAA;IAClB,gDAAgD;IAChD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,4CAA4C;IAC5C,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,4CAA4C;IAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,0CAA0C;IAC1C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,qCAAqC;IACrC,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,mCAAmC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,iCAAiC;IACjC,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,+BAA+B;IAC/B,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB;;;;;;;;OAQG;IACH,eAAe,EAAE,CAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,UAAU,GAAG,YAAY,KAC5B,IAAI,CAAA;IACT,0CAA0C;IAC1C,WAAW,EAAE,WAAW,CAAA;CACxB;AAsED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,eAAe,CAyazE"}
1
+ {"version":3,"file":"use-scroll.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-scroll.ts"],"names":[],"mappings":"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"}
@@ -129,21 +129,21 @@ const reduceScroll = (state, action) => {
129
129
  * ```
130
130
  */
131
131
  export function useScroll(options = {}) {
132
- const { axis = "vertical", contentSize, contentWidth, contentHeight, initialViewportSize, initialViewportWidth, initialViewportHeight, initialContentSize, initialContentWidth, initialContentHeight, initialOffset = 0, initialOffsetX = 0, align = "start", showScrollbar = true, enableKeyboard = true, enableMouseWheel = true, enableAcceleration = true, sticky = false, arrowSpeed = 1, pageSpeed = 0.5, } = options;
132
+ const { axis = "vertical", contentWidth, contentHeight, initialViewportWidth, initialViewportHeight, initialContentWidth, initialContentHeight, initialOffsetY = 0, initialOffsetX = 0, align, showScrollbar = true, enableKeyboard = true, enableMouseWheel = true, enableAcceleration = true, sticky = false, arrowSpeed = 1, pageSpeed = 0.5, onScrollLayoutChange, } = options;
133
133
  const { width: termWidth, height: termHeight } = useTerminalSize();
134
134
  const enableY = axis === "vertical" || axis === "both";
135
135
  const enableX = axis === "horizontal" || axis === "both";
136
- const primaryAxis = axis === "horizontal" ? "horizontal" : "vertical";
137
- const controlledContentHeight = contentHeight ?? (axis !== "horizontal" ? contentSize : undefined);
138
- const controlledContentWidth = contentWidth ?? (axis === "horizontal" ? contentSize : undefined);
139
- const baseViewportHeight = initialViewportHeight ?? (axis !== "horizontal" ? initialViewportSize : undefined) ?? termHeight;
140
- const baseViewportWidth = initialViewportWidth ?? (axis === "horizontal" ? initialViewportSize : undefined) ?? termWidth;
141
- const baseContentHeight = controlledContentHeight ?? initialContentHeight ?? (axis !== "horizontal" ? initialContentSize : undefined) ?? 0;
142
- const baseContentWidth = controlledContentWidth ?? initialContentWidth ?? (axis === "horizontal" ? initialContentSize : undefined) ?? 0;
143
- const initialOffsetY = axis === "horizontal" ? 0 : initialOffset;
144
- const initialOffsetXResolved = axis === "horizontal" ? initialOffset : initialOffsetX;
136
+ const useHorizontalPrimary = axis === "horizontal";
137
+ const controlledContentHeight = contentHeight;
138
+ const controlledContentWidth = contentWidth;
139
+ const baseViewportHeight = initialViewportHeight ?? termHeight;
140
+ const baseViewportWidth = initialViewportWidth ?? termWidth;
141
+ const baseContentHeight = controlledContentHeight ?? initialContentHeight ?? 0;
142
+ const baseContentWidth = controlledContentWidth ?? initialContentWidth ?? 0;
143
+ const initialOffsetYResolved = axis === "horizontal" ? 0 : initialOffsetY;
144
+ const initialOffsetXResolved = axis === "vertical" ? 0 : initialOffsetX;
145
145
  const [internalY, dispatchY] = useReducer(reduceScroll, {
146
- offset: clampOffset(initialOffsetY, baseContentHeight, baseViewportHeight),
146
+ offset: clampOffset(initialOffsetYResolved, baseContentHeight, baseViewportHeight),
147
147
  contentSize: baseContentHeight,
148
148
  viewportSize: baseViewportHeight,
149
149
  viewportMeasured: false,
@@ -195,14 +195,6 @@ export function useScroll(options = {}) {
195
195
  accumulatorXRef.current -= integerDelta;
196
196
  }
197
197
  }, [dispatchX, enableX]);
198
- const scrollBy = useCallback((delta) => {
199
- if (primaryAxis === "horizontal") {
200
- scrollByX(delta);
201
- }
202
- else {
203
- scrollByY(delta);
204
- }
205
- }, [primaryAxis, scrollByX, scrollByY]);
206
198
  const scrollToStartY = useCallback(() => {
207
199
  dispatchY({ type: "set-offset", offset: 0 });
208
200
  accumulatorYRef.current = 0;
@@ -213,14 +205,6 @@ export function useScroll(options = {}) {
213
205
  accumulatorXRef.current = 0;
214
206
  accelX.reset();
215
207
  }, [dispatchX, accelX]);
216
- const scrollToStart = useCallback(() => {
217
- if (primaryAxis === "horizontal") {
218
- scrollToStartX();
219
- }
220
- else {
221
- scrollToStartY();
222
- }
223
- }, [primaryAxis, scrollToStartX, scrollToStartY]);
224
208
  const scrollToEndY = useCallback(() => {
225
209
  const current = stateYRef.current;
226
210
  const maxOffset = Math.max(0, current.contentSize - current.viewportSize);
@@ -235,23 +219,6 @@ export function useScroll(options = {}) {
235
219
  accumulatorXRef.current = 0;
236
220
  accelX.reset();
237
221
  }, [dispatchX, accelX]);
238
- const scrollToEnd = useCallback(() => {
239
- if (primaryAxis === "horizontal") {
240
- scrollToEndX();
241
- }
242
- else {
243
- scrollToEndY();
244
- }
245
- }, [primaryAxis, scrollToEndX, scrollToEndY]);
246
- // Handle content size changes (for sticky scroll)
247
- const handleContentSize = useCallback((width, height) => {
248
- if (enableY && controlledContentHeight === undefined) {
249
- dispatchY({ type: "set-content", size: height });
250
- }
251
- if (enableX && controlledContentWidth === undefined) {
252
- dispatchX({ type: "set-content", size: width });
253
- }
254
- }, [controlledContentHeight, controlledContentWidth, dispatchX, dispatchY, enableX, enableY]);
255
222
  useLayoutEffect(() => {
256
223
  if (!enableY || controlledContentHeight === undefined)
257
224
  return;
@@ -262,23 +229,39 @@ export function useScroll(options = {}) {
262
229
  return;
263
230
  dispatchX({ type: "set-content", size: controlledContentWidth });
264
231
  }, [controlledContentWidth, dispatchX, enableX]);
265
- // Handle viewport size changes (reported by scroll component)
266
- const handleViewportSize = useCallback((width, height) => {
232
+ const handleScrollLayout = useCallback((event) => {
267
233
  if (enableY) {
268
- viewportYRef.current = height;
269
- dispatchY({ type: "set-viewport", size: height });
234
+ viewportYRef.current = event.viewport.height;
235
+ dispatchY({ type: "set-viewport", size: event.viewport.height });
236
+ if (controlledContentHeight === undefined) {
237
+ dispatchY({ type: "set-content", size: event.content.height });
238
+ }
239
+ dispatchY({ type: "sync-effective-offset", offset: event.offset.y });
270
240
  }
271
241
  if (enableX) {
272
- viewportXRef.current = width;
273
- dispatchX({ type: "set-viewport", size: width });
242
+ viewportXRef.current = event.viewport.width;
243
+ dispatchX({ type: "set-viewport", size: event.viewport.width });
244
+ if (controlledContentWidth === undefined) {
245
+ dispatchX({ type: "set-content", size: event.content.width });
246
+ }
247
+ dispatchX({ type: "sync-effective-offset", offset: event.offset.x });
274
248
  }
275
- }, [dispatchX, dispatchY, enableX, enableY]);
249
+ onScrollLayoutChange?.(event);
250
+ }, [
251
+ controlledContentHeight,
252
+ controlledContentWidth,
253
+ dispatchX,
254
+ dispatchY,
255
+ enableX,
256
+ enableY,
257
+ onScrollLayoutChange,
258
+ ]);
276
259
  // Keyboard handler
277
260
  const handleKey = useCallback((key) => {
278
261
  // Mouse wheel comes as pageup/pagedown with meta=true
279
262
  // Handle separately from keyboard since enableKeyboard shouldn't disable mouse
280
263
  if (key.meta && enableMouseWheel && (key.name === "pageup" || key.name === "pagedown")) {
281
- const multiplier = primaryAxis === "horizontal" && !enableY ? accelX.tick() : accelY.tick();
264
+ const multiplier = useHorizontalPrimary && !enableY ? accelX.tick() : accelY.tick();
282
265
  const delta = Math.ceil(arrowSpeed * multiplier);
283
266
  if (axis === "horizontal") {
284
267
  scrollByX(key.name === "pageup" ? -delta : delta);
@@ -350,7 +333,7 @@ export function useScroll(options = {}) {
350
333
  accelX,
351
334
  accelY,
352
335
  enableY,
353
- primaryAxis,
336
+ useHorizontalPrimary,
354
337
  scrollByX,
355
338
  scrollByY,
356
339
  scrollToEndX,
@@ -363,7 +346,7 @@ export function useScroll(options = {}) {
363
346
  // Uses refs to avoid stale closures, but re-creates when viewport size changes
364
347
  // so selection effects can re-run after measurement updates.
365
348
  // Bypasses clampOffset because it uses totalSize for accurate clamping
366
- const scrollToVisible = useCallback((position, itemSize = 1, padding = 0, totalSize, axisOverride = "vertical") => {
349
+ const scrollIntoView = useCallback((position, itemSize = 1, padding = 0, totalSize, axisOverride = "vertical") => {
367
350
  const useHorizontal = axisOverride === "horizontal";
368
351
  const current = useHorizontal ? stateXRef.current : stateYRef.current;
369
352
  const currentOffset = current.offset;
@@ -392,14 +375,6 @@ export function useScroll(options = {}) {
392
375
  const setOffsetX = useCallback((newOffset) => {
393
376
  dispatchX({ type: "set-offset", offset: newOffset });
394
377
  }, [dispatchX]);
395
- const setOffset = useCallback((newOffset) => {
396
- if (primaryAxis === "horizontal") {
397
- setOffsetX(newOffset);
398
- }
399
- else {
400
- setOffsetY(newOffset);
401
- }
402
- }, [primaryAxis, setOffsetX, setOffsetY]);
403
378
  // Calculate derived state
404
379
  const maxOffsetY = Math.max(0, internalY.contentSize - internalY.viewportSize);
405
380
  const maxOffsetX = Math.max(0, internalX.contentSize - internalX.viewportSize);
@@ -407,18 +382,14 @@ export function useScroll(options = {}) {
407
382
  const atEndY = internalY.offset >= maxOffsetY;
408
383
  const atStartX = internalX.offset <= 0;
409
384
  const atEndX = internalX.offset >= maxOffsetX;
410
- const primaryState = primaryAxis === "horizontal" ? internalX : internalY;
411
- const primaryMaxOffset = primaryAxis === "horizontal" ? maxOffsetX : maxOffsetY;
412
- const primaryAtStart = primaryAxis === "horizontal" ? atStartX : atStartY;
413
- const primaryAtEnd = primaryAxis === "horizontal" ? atEndX : atEndY;
414
385
  const state = {
415
- offset: primaryState.offset,
416
- maxOffset: primaryMaxOffset,
417
- viewportSize: primaryState.viewportSize,
418
- viewportMeasured: primaryState.viewportMeasured,
419
- contentSize: primaryState.contentSize,
420
- atStart: primaryAtStart,
421
- atEnd: primaryAtEnd,
386
+ offsetY: internalY.offset,
387
+ maxOffsetY,
388
+ viewportSizeY: internalY.viewportSize,
389
+ viewportMeasuredY: internalY.viewportMeasured,
390
+ contentSizeY: internalY.contentSize,
391
+ atStartY,
392
+ atEndY,
422
393
  offsetX: internalX.offset,
423
394
  maxOffsetX,
424
395
  viewportSizeX: internalX.viewportSize,
@@ -427,36 +398,26 @@ export function useScroll(options = {}) {
427
398
  atStartX,
428
399
  atEndX,
429
400
  };
430
- // Handle effective offset sync from host (when sticky adjusts the offset)
431
- const handleEffectiveOffset = useCallback((effectiveOffset) => {
432
- dispatchY({ type: "sync-effective-offset", offset: effectiveOffset });
433
- }, [dispatchY]);
434
- const handleEffectiveOffsetX = useCallback((effectiveOffsetX) => {
435
- dispatchX({ type: "sync-effective-offset", offset: effectiveOffsetX });
436
- }, [dispatchX]);
437
401
  const scrollProps = {
438
- offset: enableY ? internalY.offset : 0,
402
+ offsetY: enableY ? internalY.offset : 0,
439
403
  offsetX: enableX ? internalX.offset : 0,
440
404
  axis,
441
405
  align,
442
406
  sticky,
443
407
  showScrollbar,
444
- onContentSize: handleContentSize,
445
- onViewportSize: handleViewportSize,
446
- onEffectiveOffset: enableY ? handleEffectiveOffset : undefined,
447
- onEffectiveOffsetX: enableX ? handleEffectiveOffsetX : undefined,
408
+ onScrollLayoutChange: handleScrollLayout,
448
409
  };
449
410
  return {
450
411
  state,
451
- setOffset,
412
+ setOffsetY,
452
413
  setOffsetX,
453
- scrollBy,
414
+ scrollByY,
454
415
  scrollByX,
455
- scrollToStart,
456
- scrollToEnd,
416
+ scrollToStartY,
417
+ scrollToEndY,
457
418
  scrollToStartX,
458
419
  scrollToEndX,
459
- scrollToVisible,
420
+ scrollIntoView,
460
421
  scrollProps,
461
422
  };
462
423
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-scroll.js","sourceRoot":"","sources":["../../../src/hooks/use-scroll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-scroll.js","sourceRoot":"","sources":["../../../src/hooks/use-scroll.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { CellBuffer, Color, Palette } from "@effect-tui/core";
2
2
  import type { CommonProps, HostContext, Size } from "../reconciler/types.js";
3
3
  import { type BorderKind } from "../utils/index.js";
4
- import { BaseHost } from "./base.js";
4
+ import { LeafHost } from "./leaf.js";
5
5
  export type { BorderKind };
6
6
  export interface DrawContext {
7
7
  /** Canvas width in cells */
@@ -46,7 +46,7 @@ export interface CanvasProps extends CommonProps {
46
46
  /** Inherit background color from parent and pre-fill canvas (default: false) */
47
47
  inheritBg?: boolean;
48
48
  }
49
- export declare class CanvasHost extends BaseHost {
49
+ export declare class CanvasHost extends LeafHost {
50
50
  draw: CanvasProps["draw"];
51
51
  fixedWidth?: number;
52
52
  fixedHeight?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../src/hosts/canvas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAElE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EACN,KAAK,UAAU,EAOf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,YAAY,EAAE,UAAU,EAAE,CAAA;AAE1B,MAAM,WAAW,WAAW;IAC3B,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAA;IAEd,4BAA4B;IAC5B,IAAI,CACH,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,KAAK,CAAC;QAAC,EAAE,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GACzG,IAAI,CAAA;IAEP,oCAAoC;IACpC,IAAI,CACH,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,KAAK,CAAC;QAAC,EAAE,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GACzG,IAAI,CAAA;IAEP,oCAAoC;IACpC,GAAG,CACF,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,UAAU,CAAA;QACnB,WAAW,CAAC,EAAE,KAAK,CAAA;QACnB,EAAE,CAAC,EAAE,KAAK,CAAA;QACV,EAAE,CAAC,EAAE,KAAK,CAAA;KACV,GACC,IAAI,CAAA;IAEP,0BAA0B;IAC1B,KAAK,IAAI,IAAI,CAAA;CACb;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,uCAAuC;IACvC,IAAI,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAA;IAChC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,qBAAa,UAAW,SAAQ,QAAQ;IACvC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAW;IACpC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,UAAQ;gBAEL,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW;IAKhD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IASzC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAyGzC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAU1D"}
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../src/hosts/canvas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAElE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EACN,KAAK,UAAU,EAOf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,YAAY,EAAE,UAAU,EAAE,CAAA;AAE1B,MAAM,WAAW,WAAW;IAC3B,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAA;IAEd,4BAA4B;IAC5B,IAAI,CACH,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,KAAK,CAAC;QAAC,EAAE,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GACzG,IAAI,CAAA;IAEP,oCAAoC;IACpC,IAAI,CACH,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,KAAK,CAAC;QAAC,EAAE,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GACzG,IAAI,CAAA;IAEP,oCAAoC;IACpC,GAAG,CACF,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,UAAU,CAAA;QACnB,WAAW,CAAC,EAAE,KAAK,CAAA;QACnB,EAAE,CAAC,EAAE,KAAK,CAAA;QACV,EAAE,CAAC,EAAE,KAAK,CAAA;KACV,GACC,IAAI,CAAA;IAEP,0BAA0B;IAC1B,KAAK,IAAI,IAAI,CAAA;CACb;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,uCAAuC;IACvC,IAAI,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAA;IAChC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,qBAAa,UAAW,SAAQ,QAAQ;IACvC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAW;IACpC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,UAAQ;gBAEL,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW;IAKhD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IASzC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAsGzC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAU1D"}
@@ -1,7 +1,7 @@
1
1
  import { Colors } from "@effect-tui/core";
2
- import { borderChars, drawBorder, resolveBgStyle, resolveInheritedBgStyle, styleIdFromProps, toColorValue, } from "../utils/index.js";
3
- import { BaseHost } from "./base.js";
4
- export class CanvasHost extends BaseHost {
2
+ import { borderChars, drawBorder, fillRectWithInheritedBg, resolveBgStyle, styleIdFromProps, toColorValue, } from "../utils/index.js";
3
+ import { LeafHost } from "./leaf.js";
4
+ export class CanvasHost extends LeafHost {
5
5
  draw = () => { };
6
6
  fixedWidth;
7
7
  fixedHeight;
@@ -22,14 +22,12 @@ export class CanvasHost extends BaseHost {
22
22
  if (!this.rect)
23
23
  return;
24
24
  const { x: ox, y: oy, w, h } = this.rect;
25
- // Get inherited background for use in drawing functions
26
- const { value: inheritedBgValue, styleId: inheritedBgStyleId } = this.inheritBg
27
- ? resolveInheritedBgStyle(palette, undefined, this.parent)
28
- : { value: undefined, styleId: 0 };
29
25
  // Pre-fill with inherited background if requested
30
- if (this.inheritBg && inheritedBgValue !== undefined) {
31
- buffer.fillRect(ox, oy, w, h, " ".codePointAt(0), inheritedBgStyleId);
32
- }
26
+ const inheritedBgValue = this.inheritBg
27
+ ? fillRectWithInheritedBg(buffer, palette, { x: ox, y: oy, w, h }, undefined, this.parent, {
28
+ skipWhenUndefined: true,
29
+ }).value
30
+ : undefined;
33
31
  // Create draw context
34
32
  const ctx = {
35
33
  width: w,
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../src/hosts/canvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../src/hosts/canvas.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { type CellBuffer, type Color, type Palette } from "@effect-tui/core";
2
2
  import type { HighlightLine } from "../highlight.js";
3
- import type { CommonProps, HostContext, Rect, Size } from "../reconciler/types.js";
3
+ import type { CommonProps, HostContext, Size } from "../reconciler/types.js";
4
4
  import { type Padding, type PaddingInput } from "../utils/index.js";
5
- import { BaseHost } from "./base.js";
5
+ import { LeafHost } from "./leaf.js";
6
6
  export interface CodeBlockProps extends CommonProps {
7
7
  lines: HighlightLine[];
8
8
  lineNumbers?: boolean;
@@ -11,7 +11,7 @@ export interface CodeBlockProps extends CommonProps {
11
11
  lineNumberColor?: Color;
12
12
  lineNumberBackground?: Color;
13
13
  }
14
- export declare class CodeBlockHost extends BaseHost {
14
+ export declare class CodeBlockHost extends LeafHost {
15
15
  lines: HighlightLine[];
16
16
  lineNumbers: boolean;
17
17
  padding: Padding;
@@ -20,12 +20,15 @@ export declare class CodeBlockHost extends BaseHost {
20
20
  lineNumberBackground?: Color;
21
21
  private cachedLineWidths;
22
22
  private gutterWidth;
23
+ private prepared;
23
24
  constructor(props: CodeBlockProps, ctx: HostContext);
24
25
  private computeGutterWidth;
25
26
  private get insetX();
26
27
  private get insetY();
28
+ private prepareMetrics;
29
+ private ensurePrepared;
30
+ protected prepareSelf(): void;
27
31
  measure(maxW: number, maxH: number): Size;
28
- layout(rect: Rect): void;
29
32
  render(buffer: CellBuffer, palette: Palette): void;
30
33
  updateProps(props: Record<string, unknown>): void;
31
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codeblock.d.ts","sourceRoot":"","sources":["../../../src/hosts/codeblock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAwB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAoD,MAAM,mBAAmB,CAAA;AACrH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,MAAM,WAAW,cAAe,SAAQ,WAAW;IAClD,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,oBAAoB,CAAC,EAAE,KAAK,CAAA;CAC5B;AAMD,qBAAa,aAAc,SAAQ,QAAQ;IAC1C,KAAK,EAAE,aAAa,EAAE,CAAO;IAC7B,WAAW,UAAQ;IACnB,OAAO,EAAE,OAAO,CAA2C;IAC3D,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,oBAAoB,CAAC,EAAE,KAAK,CAAA;IAE5B,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,WAAW,CAAI;gBAEX,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW;IAKnD,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBhC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIjC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAiDzC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAS1D"}
1
+ {"version":3,"file":"codeblock.d.ts","sourceRoot":"","sources":["../../../src/hosts/codeblock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAwB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAoD,MAAM,mBAAmB,CAAA;AACrH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,MAAM,WAAW,cAAe,SAAQ,WAAW;IAClD,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,oBAAoB,CAAC,EAAE,KAAK,CAAA;CAC5B;AAMD,qBAAa,aAAc,SAAQ,QAAQ;IAC1C,KAAK,EAAE,aAAa,EAAE,CAAO;IAC7B,WAAW,UAAQ;IACnB,OAAO,EAAE,OAAO,CAA2C;IAC3D,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,oBAAoB,CAAC,EAAE,KAAK,CAAA;IAE5B,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW;IAKnD,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;cAKH,WAAW,IAAI,IAAI;IAItC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAezC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAiDzC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAiB1D"}