@effect-tui/react 0.12.3 → 0.14.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 (170) hide show
  1. package/README.md +31 -7
  2. package/dist/jsx-runtime.d.ts +1 -2
  3. package/dist/jsx-runtime.d.ts.map +1 -1
  4. package/dist/src/components/Markdown.js +7 -7
  5. package/dist/src/components/Markdown.js.map +1 -1
  6. package/dist/src/components/MultilineTextInput.d.ts.map +1 -1
  7. package/dist/src/components/MultilineTextInput.js +11 -0
  8. package/dist/src/components/MultilineTextInput.js.map +1 -1
  9. package/dist/src/components/TextInput.d.ts.map +1 -1
  10. package/dist/src/components/TextInput.js +15 -0
  11. package/dist/src/components/TextInput.js.map +1 -1
  12. package/dist/src/dev.d.ts +22 -32
  13. package/dist/src/dev.d.ts.map +1 -1
  14. package/dist/src/dev.js +42 -96
  15. package/dist/src/dev.js.map +1 -1
  16. package/dist/src/hooks/index.d.ts +3 -0
  17. package/dist/src/hooks/index.d.ts.map +1 -1
  18. package/dist/src/hooks/index.js +1 -0
  19. package/dist/src/hooks/index.js.map +1 -1
  20. package/dist/src/hooks/use-mouse.d.ts +10 -1
  21. package/dist/src/hooks/use-mouse.d.ts.map +1 -1
  22. package/dist/src/hooks/use-mouse.js +10 -2
  23. package/dist/src/hooks/use-mouse.js.map +1 -1
  24. package/dist/src/hooks/use-paste.d.ts +13 -3
  25. package/dist/src/hooks/use-paste.d.ts.map +1 -1
  26. package/dist/src/hooks/use-paste.js +15 -5
  27. package/dist/src/hooks/use-paste.js.map +1 -1
  28. package/dist/src/hooks/use-scroll.d.ts +59 -24
  29. package/dist/src/hooks/use-scroll.d.ts.map +1 -1
  30. package/dist/src/hooks/use-scroll.js +238 -79
  31. package/dist/src/hooks/use-scroll.js.map +1 -1
  32. package/dist/src/hooks/use-shortcut.d.ts +16 -0
  33. package/dist/src/hooks/use-shortcut.d.ts.map +1 -0
  34. package/dist/src/hooks/use-shortcut.js +29 -0
  35. package/dist/src/hooks/use-shortcut.js.map +1 -0
  36. package/dist/src/hosts/base.d.ts +16 -0
  37. package/dist/src/hosts/base.d.ts.map +1 -1
  38. package/dist/src/hosts/base.js +30 -0
  39. package/dist/src/hosts/base.js.map +1 -1
  40. package/dist/src/hosts/box.d.ts.map +1 -1
  41. package/dist/src/hosts/box.js +7 -8
  42. package/dist/src/hosts/box.js.map +1 -1
  43. package/dist/src/hosts/canvas.d.ts.map +1 -1
  44. package/dist/src/hosts/canvas.js +5 -3
  45. package/dist/src/hosts/canvas.js.map +1 -1
  46. package/dist/src/hosts/codeblock.d.ts.map +1 -1
  47. package/dist/src/hosts/codeblock.js +5 -4
  48. package/dist/src/hosts/codeblock.js.map +1 -1
  49. package/dist/src/hosts/flex-container.d.ts.map +1 -1
  50. package/dist/src/hosts/flex-container.js +5 -8
  51. package/dist/src/hosts/flex-container.js.map +1 -1
  52. package/dist/src/hosts/index.d.ts +1 -1
  53. package/dist/src/hosts/index.d.ts.map +1 -1
  54. package/dist/src/hosts/index.js +2 -3
  55. package/dist/src/hosts/index.js.map +1 -1
  56. package/dist/src/hosts/overlay-item.js +2 -2
  57. package/dist/src/hosts/overlay-item.js.map +1 -1
  58. package/dist/src/hosts/overlay.d.ts.map +1 -1
  59. package/dist/src/hosts/overlay.js +6 -11
  60. package/dist/src/hosts/overlay.js.map +1 -1
  61. package/dist/src/hosts/scroll.d.ts +8 -0
  62. package/dist/src/hosts/scroll.d.ts.map +1 -1
  63. package/dist/src/hosts/scroll.js +50 -26
  64. package/dist/src/hosts/scroll.js.map +1 -1
  65. package/dist/src/hosts/spacer.d.ts.map +1 -1
  66. package/dist/src/hosts/spacer.js +1 -3
  67. package/dist/src/hosts/spacer.js.map +1 -1
  68. package/dist/src/hosts/text.d.ts +24 -45
  69. package/dist/src/hosts/text.d.ts.map +1 -1
  70. package/dist/src/hosts/text.js +69 -215
  71. package/dist/src/hosts/text.js.map +1 -1
  72. package/dist/src/hosts/zstack.d.ts.map +1 -1
  73. package/dist/src/hosts/zstack.js +4 -10
  74. package/dist/src/hosts/zstack.js.map +1 -1
  75. package/dist/src/index.d.ts +6 -4
  76. package/dist/src/index.d.ts.map +1 -1
  77. package/dist/src/index.js +3 -2
  78. package/dist/src/index.js.map +1 -1
  79. package/dist/src/reconciler/types.d.ts +2 -0
  80. package/dist/src/reconciler/types.d.ts.map +1 -1
  81. package/dist/src/renderer/core/FrameBuilder.d.ts.map +1 -1
  82. package/dist/src/renderer/core/FrameBuilder.js +2 -0
  83. package/dist/src/renderer/core/FrameBuilder.js.map +1 -1
  84. package/dist/src/renderer/input/InputProcessor.d.ts.map +1 -1
  85. package/dist/src/renderer/input/InputProcessor.js +13 -3
  86. package/dist/src/renderer/input/InputProcessor.js.map +1 -1
  87. package/dist/src/renderer/lifecycle/EventBus.d.ts +2 -2
  88. package/dist/src/renderer/lifecycle/EventBus.d.ts.map +1 -1
  89. package/dist/src/renderer/lifecycle/EventBus.js +13 -1
  90. package/dist/src/renderer/lifecycle/EventBus.js.map +1 -1
  91. package/dist/src/renderer/lifecycle/RenderCache.d.ts +3 -0
  92. package/dist/src/renderer/lifecycle/RenderCache.d.ts.map +1 -0
  93. package/dist/src/renderer/lifecycle/RenderCache.js +9 -0
  94. package/dist/src/renderer/lifecycle/RenderCache.js.map +1 -0
  95. package/dist/src/renderer/lifecycle/index.d.ts +1 -0
  96. package/dist/src/renderer/lifecycle/index.d.ts.map +1 -1
  97. package/dist/src/renderer/lifecycle/index.js +1 -0
  98. package/dist/src/renderer/lifecycle/index.js.map +1 -1
  99. package/dist/src/renderer-types.d.ts +9 -2
  100. package/dist/src/renderer-types.d.ts.map +1 -1
  101. package/dist/src/renderer.d.ts +13 -2
  102. package/dist/src/renderer.d.ts.map +1 -1
  103. package/dist/src/renderer.js +42 -11
  104. package/dist/src/renderer.js.map +1 -1
  105. package/dist/src/shortcuts.d.ts +15 -0
  106. package/dist/src/shortcuts.d.ts.map +1 -0
  107. package/dist/src/shortcuts.js +149 -0
  108. package/dist/src/shortcuts.js.map +1 -0
  109. package/dist/src/test/mock-streams.d.ts.map +1 -1
  110. package/dist/src/test/mock-streams.js +0 -3
  111. package/dist/src/test/mock-streams.js.map +1 -1
  112. package/dist/src/test/render-tui.d.ts.map +1 -1
  113. package/dist/src/test/render-tui.js +1 -0
  114. package/dist/src/test/render-tui.js.map +1 -1
  115. package/dist/src/utils/alignment.d.ts +4 -0
  116. package/dist/src/utils/alignment.d.ts.map +1 -1
  117. package/dist/src/utils/alignment.js +12 -0
  118. package/dist/src/utils/alignment.js.map +1 -1
  119. package/dist/src/utils/index.d.ts +3 -2
  120. package/dist/src/utils/index.d.ts.map +1 -1
  121. package/dist/src/utils/index.js +3 -2
  122. package/dist/src/utils/index.js.map +1 -1
  123. package/dist/src/utils/styles.d.ts +6 -1
  124. package/dist/src/utils/styles.d.ts.map +1 -1
  125. package/dist/src/utils/styles.js +9 -0
  126. package/dist/src/utils/styles.js.map +1 -1
  127. package/dist/src/utils/text-wrap.d.ts +10 -0
  128. package/dist/src/utils/text-wrap.d.ts.map +1 -0
  129. package/dist/src/utils/text-wrap.js +64 -0
  130. package/dist/src/utils/text-wrap.js.map +1 -0
  131. package/dist/tsconfig.tsbuildinfo +1 -1
  132. package/jsx-runtime.ts +1 -2
  133. package/package.json +2 -2
  134. package/src/components/Markdown.tsx +7 -7
  135. package/src/components/MultilineTextInput.tsx +14 -0
  136. package/src/components/TextInput.tsx +18 -0
  137. package/src/dev.tsx +59 -107
  138. package/src/hooks/index.ts +3 -0
  139. package/src/hooks/use-mouse.ts +19 -3
  140. package/src/hooks/use-paste.ts +24 -5
  141. package/src/hooks/use-scroll.ts +345 -105
  142. package/src/hooks/use-shortcut.ts +54 -0
  143. package/src/hosts/base.ts +35 -0
  144. package/src/hosts/box.ts +7 -8
  145. package/src/hosts/canvas.ts +5 -3
  146. package/src/hosts/codeblock.ts +5 -4
  147. package/src/hosts/flex-container.ts +5 -7
  148. package/src/hosts/index.ts +1 -4
  149. package/src/hosts/overlay-item.ts +2 -2
  150. package/src/hosts/overlay.ts +6 -12
  151. package/src/hosts/scroll.ts +55 -26
  152. package/src/hosts/spacer.ts +1 -3
  153. package/src/hosts/text.ts +89 -256
  154. package/src/hosts/zstack.ts +4 -11
  155. package/src/index.ts +19 -6
  156. package/src/reconciler/types.ts +3 -0
  157. package/src/renderer/core/FrameBuilder.ts +3 -0
  158. package/src/renderer/input/InputProcessor.ts +13 -3
  159. package/src/renderer/lifecycle/EventBus.ts +14 -4
  160. package/src/renderer/lifecycle/RenderCache.ts +13 -0
  161. package/src/renderer/lifecycle/index.ts +1 -0
  162. package/src/renderer-types.ts +10 -2
  163. package/src/renderer.ts +85 -14
  164. package/src/shortcuts.ts +180 -0
  165. package/src/test/mock-streams.ts +0 -3
  166. package/src/test/render-tui.ts +1 -0
  167. package/src/utils/alignment.ts +18 -0
  168. package/src/utils/index.ts +3 -1
  169. package/src/utils/styles.ts +18 -1
  170. package/src/utils/text-wrap.ts +66 -0
@@ -1,4 +1,4 @@
1
- import { resolveInheritedBgStyle } from "../utils/index.js";
1
+ import { fillRectWithInheritedBg } from "../utils/index.js";
2
2
  import { SingleChildHost } from "./single-child.js";
3
3
  export class ScrollHost extends SingleChildHost {
4
4
  axis = "vertical";
@@ -13,17 +13,23 @@ export class ScrollHost extends SingleChildHost {
13
13
  onContentSize;
14
14
  onViewportSize;
15
15
  onEffectiveOffset;
16
+ onEffectiveOffsetX;
16
17
  onRect;
17
18
  // Measured content dimensions (full size before clipping)
18
19
  contentWidth = 0;
19
20
  contentHeight = 0;
20
21
  // Track last reported sizes to avoid redundant callbacks
21
- lastReportedContentW = 0;
22
- lastReportedContentH = 0;
22
+ lastReportedContentW = -1;
23
+ lastReportedContentH = -1;
24
+ lastViewportW = -1;
25
+ lastViewportH = -1;
23
26
  lastRectX = -1;
24
27
  lastRectY = -1;
28
+ lastRectW = -1;
29
+ lastRectH = -1;
25
30
  // Track if we were at end (for sticky behavior)
26
31
  wasAtEnd = true;
32
+ wasAtEndX = true;
27
33
  // Effective offset after sticky adjustment (used for rendering)
28
34
  effectiveOffset = 0;
29
35
  effectiveOffsetX = 0;
@@ -58,7 +64,7 @@ export class ScrollHost extends SingleChildHost {
58
64
  return this.constrainResult({ w: naturalW, h: naturalH });
59
65
  }
60
66
  layout(rect) {
61
- super.layout(rect);
67
+ const layoutRect = this.layoutWithConstraints(rect);
62
68
  // Report content size if changed (deferred from measure() to keep it pure)
63
69
  if (this.contentWidth !== this.lastReportedContentW || this.contentHeight !== this.lastReportedContentH) {
64
70
  this.lastReportedContentW = this.contentWidth;
@@ -66,29 +72,35 @@ export class ScrollHost extends SingleChildHost {
66
72
  this.onContentSize?.(this.contentWidth, this.contentHeight);
67
73
  }
68
74
  // Report viewport size if changed (for useScroll hook)
69
- // Always report on every layout - React may have recreated the hook with stale refs
70
- if (this.onViewportSize) {
71
- this.onViewportSize(rect.w, rect.h);
75
+ if (this.onViewportSize && (layoutRect.w !== this.lastViewportW || layoutRect.h !== this.lastViewportH)) {
76
+ this.lastViewportW = layoutRect.w;
77
+ this.lastViewportH = layoutRect.h;
78
+ this.onViewportSize(layoutRect.w, layoutRect.h);
72
79
  }
73
80
  // Report rect if position changed (for hit testing)
74
- if (rect.x !== this.lastRectX || rect.y !== this.lastRectY) {
75
- this.lastRectX = rect.x;
76
- this.lastRectY = rect.y;
77
- this.onRect?.(rect.x, rect.y, rect.w, rect.h);
81
+ if (layoutRect.x !== this.lastRectX ||
82
+ layoutRect.y !== this.lastRectY ||
83
+ layoutRect.w !== this.lastRectW ||
84
+ layoutRect.h !== this.lastRectH) {
85
+ this.lastRectX = layoutRect.x;
86
+ this.lastRectY = layoutRect.y;
87
+ this.lastRectW = layoutRect.w;
88
+ this.lastRectH = layoutRect.h;
89
+ this.onRect?.(layoutRect.x, layoutRect.y, layoutRect.w, layoutRect.h);
78
90
  }
79
91
  const child = this.child;
80
92
  if (!child)
81
93
  return;
82
94
  // Calculate max scroll offsets
83
- const maxScrollY = Math.max(0, this.contentHeight - rect.h);
84
- const maxScrollX = Math.max(0, this.contentWidth - rect.w);
95
+ const maxScrollY = Math.max(0, this.contentHeight - layoutRect.h);
96
+ const maxScrollX = Math.max(0, this.contentWidth - layoutRect.w);
85
97
  // Start with the offset from props (controlled by useScroll)
86
98
  let scrollY = this.offset;
87
99
  let scrollX = this.offsetX;
88
- // Sticky scroll logic:
100
+ // Sticky scroll logic (vertical):
89
101
  // - If user manually scrolled away from end (offset < effectiveOffset), unstick
90
102
  // - If at end (or was at end and content grew), stay stuck
91
- if (this.sticky) {
103
+ if (this.sticky && (this.axis === "vertical" || this.axis === "both")) {
92
104
  // Detect if user scrolled away (offset prop is less than where we rendered)
93
105
  const userScrolledAway = this.offset < this.effectiveOffset - 1;
94
106
  if (userScrolledAway) {
@@ -100,8 +112,19 @@ export class ScrollHost extends SingleChildHost {
100
112
  scrollY = maxScrollY;
101
113
  }
102
114
  }
115
+ // Sticky scroll logic (horizontal)
116
+ if (this.sticky && (this.axis === "horizontal" || this.axis === "both")) {
117
+ const userScrolledAway = this.offsetX < this.effectiveOffsetX - 1;
118
+ if (userScrolledAway) {
119
+ this.wasAtEndX = false;
120
+ }
121
+ else if (this.wasAtEndX) {
122
+ scrollX = maxScrollX;
123
+ }
124
+ }
103
125
  // Track if we're at end for next frame
104
126
  this.wasAtEnd = scrollY >= maxScrollY - 1;
127
+ this.wasAtEndX = scrollX >= maxScrollX - 1;
105
128
  // Clamp offsets
106
129
  scrollY = Math.max(0, Math.min(maxScrollY, scrollY));
107
130
  scrollX = Math.max(0, Math.min(maxScrollX, scrollX));
@@ -110,23 +133,26 @@ export class ScrollHost extends SingleChildHost {
110
133
  if (scrollY !== this.effectiveOffset || scrollY !== this.offset) {
111
134
  this.onEffectiveOffset?.(scrollY);
112
135
  }
136
+ if (scrollX !== this.effectiveOffsetX || scrollX !== this.offsetX) {
137
+ this.onEffectiveOffsetX?.(scrollX);
138
+ }
113
139
  this.effectiveOffset = scrollY;
114
140
  this.effectiveOffsetX = scrollX;
115
141
  // Handle alignment when content is smaller than viewport
116
142
  if (this.align === "end") {
117
- if (this.contentHeight < rect.h && (this.axis === "vertical" || this.axis === "both")) {
143
+ if (this.contentHeight < layoutRect.h && (this.axis === "vertical" || this.axis === "both")) {
118
144
  // Align to bottom
119
- scrollY = -(rect.h - this.contentHeight);
145
+ scrollY = -(layoutRect.h - this.contentHeight);
120
146
  }
121
- if (this.contentWidth < rect.w && (this.axis === "horizontal" || this.axis === "both")) {
147
+ if (this.contentWidth < layoutRect.w && (this.axis === "horizontal" || this.axis === "both")) {
122
148
  // Align to right
123
- scrollX = -(rect.w - this.contentWidth);
149
+ scrollX = -(layoutRect.w - this.contentWidth);
124
150
  }
125
151
  }
126
152
  // Layout child at offset position
127
153
  const childRect = {
128
- x: rect.x - scrollX,
129
- y: rect.y - scrollY,
154
+ x: layoutRect.x - scrollX,
155
+ y: layoutRect.y - scrollY,
130
156
  w: this.contentWidth,
131
157
  h: this.contentHeight,
132
158
  };
@@ -137,8 +163,7 @@ export class ScrollHost extends SingleChildHost {
137
163
  return;
138
164
  const { x, y, w, h } = this.rect;
139
165
  // Fill background (inherit from parent if not explicitly set)
140
- const { styleId: bgStyleId } = resolveInheritedBgStyle(palette, this.bg, this.parent);
141
- buffer.fillRect(x, y, w, h, " ".codePointAt(0), bgStyleId);
166
+ fillRectWithInheritedBg(buffer, palette, { x, y, w, h }, this.bg, this.parent);
142
167
  // Render children with clipping
143
168
  buffer.withClip(x, y, w, h, () => {
144
169
  const child = this.child;
@@ -191,9 +216,7 @@ export class ScrollHost extends SingleChildHost {
191
216
  updateProps(props) {
192
217
  super.updateProps(props);
193
218
  // Scroll is greedy by default unless explicitly set to false
194
- if (!("greedy" in props)) {
195
- this.greedy = 1;
196
- }
219
+ this.applyGreedyDefault(props, 1);
197
220
  if (props.axis !== undefined)
198
221
  this.axis = props.axis ?? "vertical";
199
222
  if (props.offset !== undefined)
@@ -210,6 +233,7 @@ export class ScrollHost extends SingleChildHost {
210
233
  this.onContentSize = props.onContentSize;
211
234
  this.onViewportSize = props.onViewportSize;
212
235
  this.onEffectiveOffset = props.onEffectiveOffset;
236
+ this.onEffectiveOffsetX = props.onEffectiveOffsetX;
213
237
  this.onRect = props.onRect;
214
238
  }
215
239
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/hosts/scroll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/hosts/scroll.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spacer.d.ts","sourceRoot":"","sources":["../../../src/hosts/spacer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,UAAW,SAAQ,QAAQ;IACvC,QAAQ,SAAI;IACZ,SAAS,SAAI;IAGJ,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAI;gBAErC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW;IAKhD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIjC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI3C,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAS1D"}
1
+ {"version":3,"file":"spacer.d.ts","sourceRoot":"","sources":["../../../src/hosts/spacer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,UAAW,SAAQ,QAAQ;IACvC,QAAQ,SAAI;IACZ,SAAS,SAAI;IAGJ,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAI;gBAErC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW;IAKhD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIjC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI3C,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAO1D"}
@@ -21,9 +21,7 @@ export class SpacerHost extends BaseHost {
21
21
  updateProps(props) {
22
22
  super.updateProps(props);
23
23
  // Spacer is greedy by default unless explicitly set to false
24
- if (!("greedy" in props)) {
25
- this.greedy = 1;
26
- }
24
+ this.applyGreedyDefault(props, 1);
27
25
  if (props.minWidth !== undefined)
28
26
  this.minWidth = props.minWidth;
29
27
  if (props.minHeight !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"spacer.js","sourceRoot":"","sources":["../../../src/hosts/spacer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AASpC,MAAM,OAAO,UAAW,SAAQ,QAAQ;IACvC,QAAQ,GAAG,CAAC,CAAA;IACZ,SAAS,GAAG,CAAC,CAAA;IAEb,gCAAgC;IACvB,MAAM,GAAiC,CAAC,CAAA;IAEjD,YAAY,KAAkB,EAAE,GAAgB;QAC/C,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,WAAW,CAAC,KAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,KAAa;QACnC,uDAAuD;QACvD,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAA;IAC/C,CAAC;IAEQ,MAAM,CAAC,IAAU;QACzB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,OAAmB,EAAE,QAAiB;QAC5C,yBAAyB;IAC1B,CAAC;IAEQ,WAAW,CAAC,KAA8B;QAClD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACxB,6DAA6D;QAC7D,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QAChB,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAkB,CAAA;QAC1E,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAmB,CAAA;IAC9E,CAAC;CACD"}
1
+ {"version":3,"file":"spacer.js","sourceRoot":"","sources":["../../../src/hosts/spacer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AASpC,MAAM,OAAO,UAAW,SAAQ,QAAQ;IACvC,QAAQ,GAAG,CAAC,CAAA;IACZ,SAAS,GAAG,CAAC,CAAA;IAEb,gCAAgC;IACvB,MAAM,GAAiC,CAAC,CAAA;IAEjD,YAAY,KAAkB,EAAE,GAAgB;QAC/C,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,WAAW,CAAC,KAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,KAAa;QACnC,uDAAuD;QACvD,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAA;IAC/C,CAAC;IAEQ,MAAM,CAAC,IAAU;QACzB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,OAAmB,EAAE,QAAiB;QAC5C,yBAAyB;IAC1B,CAAC;IAEQ,WAAW,CAAC,KAA8B;QAClD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACxB,6DAA6D;QAC7D,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACjC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAkB,CAAA;QAC1E,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAmB,CAAA;IAC9E,CAAC;CACD"}
@@ -1,9 +1,21 @@
1
1
  import { type CellBuffer, type Color, type Palette } from "@effect-tui/core";
2
2
  import type { ColorMotionValue } from "../motion/color-motion-value.js";
3
- import type { CommonProps, HostContext, Rect, Size } from "../reconciler/types.js";
3
+ import type { CommonProps, HostContext, HostInstance, Rect, Size } from "../reconciler/types.js";
4
4
  import { BaseHost } from "./base.js";
5
5
  /** Color prop that can be a static Color or a spring-animated ColorMotionValue */
6
6
  export type ColorProp = Color | ColorMotionValue;
7
+ /** A span of text with optional styling */
8
+ export interface StyledSpan {
9
+ text: string;
10
+ fg?: Color;
11
+ bg?: Color;
12
+ bold?: boolean;
13
+ dimmed?: boolean;
14
+ italic?: boolean;
15
+ underline?: boolean;
16
+ strikethrough?: boolean;
17
+ inverse?: boolean;
18
+ }
7
19
  export interface TextProps extends CommonProps {
8
20
  fg?: ColorProp;
9
21
  bg?: ColorProp;
@@ -15,6 +27,8 @@ export interface TextProps extends CommonProps {
15
27
  inverse?: boolean;
16
28
  /** If true, wrap text to multiple lines (default: false, text is truncated) */
17
29
  wrap?: boolean;
30
+ /** Optional styled spans (bypasses child parsing) */
31
+ spans?: StyledSpan[];
18
32
  }
19
33
  export declare class TextHost extends BaseHost {
20
34
  fg?: Color;
@@ -30,7 +44,10 @@ export declare class TextHost extends BaseHost {
30
44
  private cachedWidth;
31
45
  private cachedContent;
32
46
  private cachedStyledLines;
47
+ private cachedSpans;
33
48
  private hasSpans;
49
+ private explicitSpans;
50
+ private prepared;
34
51
  constructor(props: TextProps, ctx: HostContext);
35
52
  /** Check if we have SpanHost children (requires styled rendering) */
36
53
  private checkForSpans;
@@ -38,10 +55,14 @@ export declare class TextHost extends BaseHost {
38
55
  private getContent;
39
56
  /** Collect children as styled spans for multi-style rendering */
40
57
  private collectSpans;
41
- /** Wrap spans into lines, breaking at word boundaries (same logic as StyledTextHost) */
42
- private wrapSpans;
58
+ private prepareContent;
59
+ private ensurePrepared;
43
60
  /** Invalidate content cache when children change */
44
61
  private invalidateContent;
62
+ protected prepareSelf(): void;
63
+ appendChild(child: HostInstance): void;
64
+ removeChild(child: HostInstance): void;
65
+ insertBefore(child: HostInstance, before: HostInstance): void;
45
66
  measure(maxW: number, maxH: number): Size;
46
67
  /** Wrap text to fit within maxWidth, preferring word boundaries */
47
68
  private wrapText;
@@ -103,46 +124,4 @@ export declare class SpanHost extends BaseHost {
103
124
  render(_buffer: CellBuffer, _palette: Palette): void;
104
125
  updateProps(props: Record<string, unknown>): void;
105
126
  }
106
- /** A span of text with optional styling */
107
- export interface StyledSpan {
108
- text: string;
109
- fg?: Color;
110
- bg?: Color;
111
- bold?: boolean;
112
- dimmed?: boolean;
113
- italic?: boolean;
114
- underline?: boolean;
115
- strikethrough?: boolean;
116
- inverse?: boolean;
117
- }
118
- export interface StyledTextProps extends CommonProps {
119
- /** Array of styled text spans */
120
- spans: StyledSpan[];
121
- /** Default text color */
122
- fg?: Color;
123
- /** Default background color */
124
- bg?: Color;
125
- /** If true, wrap text to multiple lines */
126
- wrap?: boolean;
127
- }
128
- /**
129
- * Host for rendering multiple styled spans that wrap as a unit.
130
- * Unlike using hstack with multiple text elements, this properly
131
- * wraps styled inline text across lines.
132
- */
133
- export declare class StyledTextHost extends BaseHost {
134
- spans: StyledSpan[];
135
- fg?: Color;
136
- bg?: Color;
137
- wrap: boolean;
138
- private cachedLines;
139
- private cachedWidth;
140
- constructor(props: StyledTextProps, ctx: HostContext);
141
- measure(maxW: number, maxH: number): Size;
142
- /** Wrap spans into lines, breaking at word boundaries */
143
- private wrapSpans;
144
- layout(rect: Rect): void;
145
- render(buffer: CellBuffer, palette: Palette): void;
146
- updateProps(props: Record<string, unknown>): void;
147
- }
148
127
  //# sourceMappingURL=text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/hosts/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/hosts/text.ts"],"names":[],"mappings":"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"}