@effect-tui/react 0.16.0 → 2.0.1

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 (126) hide show
  1. package/README.md +9 -0
  2. package/dist/src/codeblock.d.ts +1 -1
  3. package/dist/src/codeblock.d.ts.map +1 -1
  4. package/dist/src/codeblock.js +2 -2
  5. package/dist/src/codeblock.js.map +1 -1
  6. package/dist/src/components/Markdown.js +3 -3
  7. package/dist/src/components/Markdown.js.map +1 -1
  8. package/dist/src/components/MultilineTextInput.d.ts.map +1 -1
  9. package/dist/src/components/MultilineTextInput.js +133 -305
  10. package/dist/src/components/MultilineTextInput.js.map +1 -1
  11. package/dist/src/components/TextInput.d.ts.map +1 -1
  12. package/dist/src/components/TextInput.js +51 -98
  13. package/dist/src/components/TextInput.js.map +1 -1
  14. package/dist/src/components/text-editing.d.ts +61 -0
  15. package/dist/src/components/text-editing.d.ts.map +1 -1
  16. package/dist/src/components/text-editing.js +131 -0
  17. package/dist/src/components/text-editing.js.map +1 -1
  18. package/dist/src/hosts/base.d.ts +13 -2
  19. package/dist/src/hosts/base.d.ts.map +1 -1
  20. package/dist/src/hosts/base.js +74 -2
  21. package/dist/src/hosts/base.js.map +1 -1
  22. package/dist/src/hosts/box.d.ts +2 -2
  23. package/dist/src/hosts/box.d.ts.map +1 -1
  24. package/dist/src/hosts/box.js +29 -2
  25. package/dist/src/hosts/box.js.map +1 -1
  26. package/dist/src/hosts/canvas.d.ts +22 -2
  27. package/dist/src/hosts/canvas.d.ts.map +1 -1
  28. package/dist/src/hosts/canvas.js +99 -31
  29. package/dist/src/hosts/canvas.js.map +1 -1
  30. package/dist/src/hosts/codeblock.d.ts +8 -10
  31. package/dist/src/hosts/codeblock.d.ts.map +1 -1
  32. package/dist/src/hosts/codeblock.js +36 -33
  33. package/dist/src/hosts/codeblock.js.map +1 -1
  34. package/dist/src/hosts/flex-container.d.ts +2 -2
  35. package/dist/src/hosts/flex-container.d.ts.map +1 -1
  36. package/dist/src/hosts/flex-container.js +17 -2
  37. package/dist/src/hosts/flex-container.js.map +1 -1
  38. package/dist/src/hosts/index.d.ts +1 -1
  39. package/dist/src/hosts/index.d.ts.map +1 -1
  40. package/dist/src/hosts/index.js.map +1 -1
  41. package/dist/src/hosts/overlay-item.d.ts +2 -2
  42. package/dist/src/hosts/overlay-item.d.ts.map +1 -1
  43. package/dist/src/hosts/overlay-item.js +7 -2
  44. package/dist/src/hosts/overlay-item.js.map +1 -1
  45. package/dist/src/hosts/overlay.d.ts +2 -2
  46. package/dist/src/hosts/overlay.d.ts.map +1 -1
  47. package/dist/src/hosts/overlay.js +2 -2
  48. package/dist/src/hosts/overlay.js.map +1 -1
  49. package/dist/src/hosts/scroll.d.ts +7 -2
  50. package/dist/src/hosts/scroll.d.ts.map +1 -1
  51. package/dist/src/hosts/scroll.js +126 -45
  52. package/dist/src/hosts/scroll.js.map +1 -1
  53. package/dist/src/hosts/single-child.d.ts.map +1 -1
  54. package/dist/src/hosts/single-child.js +2 -0
  55. package/dist/src/hosts/single-child.js.map +1 -1
  56. package/dist/src/hosts/spacer.d.ts +1 -1
  57. package/dist/src/hosts/spacer.d.ts.map +1 -1
  58. package/dist/src/hosts/spacer.js +6 -1
  59. package/dist/src/hosts/spacer.js.map +1 -1
  60. package/dist/src/hosts/text.d.ts +20 -15
  61. package/dist/src/hosts/text.d.ts.map +1 -1
  62. package/dist/src/hosts/text.js +104 -71
  63. package/dist/src/hosts/text.js.map +1 -1
  64. package/dist/src/hosts/zstack.d.ts +2 -2
  65. package/dist/src/hosts/zstack.d.ts.map +1 -1
  66. package/dist/src/hosts/zstack.js +7 -2
  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/renderer/index.d.ts.map +1 -1
  71. package/dist/src/internal/renderer/index.js +41 -16
  72. package/dist/src/internal/renderer/index.js.map +1 -1
  73. package/dist/src/internal/renderer/types.d.ts +4 -0
  74. package/dist/src/internal/renderer/types.d.ts.map +1 -1
  75. package/dist/src/motion/hooks.d.ts +1 -1
  76. package/dist/src/motion/hooks.js +1 -1
  77. package/dist/src/reconciler/host-config.js +2 -2
  78. package/dist/src/reconciler/host-config.js.map +1 -1
  79. package/dist/src/reconciler/types.d.ts +5 -1
  80. package/dist/src/reconciler/types.d.ts.map +1 -1
  81. package/dist/src/utils/border.d.ts +1 -1
  82. package/dist/src/utils/border.d.ts.map +1 -1
  83. package/dist/src/utils/border.js +2 -0
  84. package/dist/src/utils/border.js.map +1 -1
  85. package/dist/src/utils/index.d.ts +2 -1
  86. package/dist/src/utils/index.d.ts.map +1 -1
  87. package/dist/src/utils/index.js +2 -1
  88. package/dist/src/utils/index.js.map +1 -1
  89. package/dist/src/utils/text-layout.d.ts +22 -0
  90. package/dist/src/utils/text-layout.d.ts.map +1 -0
  91. package/dist/src/utils/text-layout.js +37 -0
  92. package/dist/src/utils/text-layout.js.map +1 -0
  93. package/dist/src/utils/text-wrap.d.ts +26 -1
  94. package/dist/src/utils/text-wrap.d.ts.map +1 -1
  95. package/dist/src/utils/text-wrap.js +106 -11
  96. package/dist/src/utils/text-wrap.js.map +1 -1
  97. package/dist/tsconfig.tsbuildinfo +1 -1
  98. package/package.json +2 -2
  99. package/src/codeblock.tsx +2 -2
  100. package/src/components/Markdown.tsx +3 -3
  101. package/src/components/MultilineTextInput.tsx +138 -344
  102. package/src/components/TextInput.tsx +54 -99
  103. package/src/components/text-editing.ts +180 -0
  104. package/src/hosts/base.ts +86 -3
  105. package/src/hosts/box.ts +37 -2
  106. package/src/hosts/canvas.ts +120 -31
  107. package/src/hosts/codeblock.ts +46 -33
  108. package/src/hosts/flex-container.ts +21 -2
  109. package/src/hosts/index.ts +1 -1
  110. package/src/hosts/overlay-item.ts +8 -2
  111. package/src/hosts/overlay.ts +2 -2
  112. package/src/hosts/scroll.ts +142 -45
  113. package/src/hosts/single-child.ts +2 -0
  114. package/src/hosts/spacer.ts +6 -1
  115. package/src/hosts/text.ts +122 -75
  116. package/src/hosts/zstack.ts +7 -2
  117. package/src/index.ts +1 -1
  118. package/src/internal/renderer/index.ts +53 -20
  119. package/src/internal/renderer/types.ts +4 -0
  120. package/src/motion/hooks.ts +1 -1
  121. package/src/reconciler/host-config.ts +2 -2
  122. package/src/reconciler/types.ts +7 -1
  123. package/src/utils/border.ts +11 -1
  124. package/src/utils/index.ts +15 -1
  125. package/src/utils/text-layout.ts +65 -0
  126. package/src/utils/text-wrap.ts +135 -13
@@ -34,6 +34,12 @@ export class ScrollHost extends SingleChildHost {
34
34
  // Measured content dimensions (full size before clipping)
35
35
  contentWidth = 0;
36
36
  contentHeight = 0;
37
+ // Effective viewport dimensions (excludes scrollbar gutter when visible)
38
+ viewportWidth = 0;
39
+ viewportHeight = 0;
40
+ // Scrollbar visibility after accounting for content overflow
41
+ showVerticalScrollbar = false;
42
+ showHorizontalScrollbar = false;
37
43
  // Track last reported sizes to avoid redundant callbacks
38
44
  lastReportedContentW = -1;
39
45
  lastReportedContentH = -1;
@@ -55,37 +61,93 @@ export class ScrollHost extends SingleChildHost {
55
61
  super("scroll", props, ctx);
56
62
  this.updateProps(props);
57
63
  }
58
- measure(maxW, maxH) {
64
+ computeViewport(baseW, baseH, contentW, contentH) {
65
+ const allowV = this.showScrollbar && (this.axis === "vertical" || this.axis === "both");
66
+ const allowH = this.showScrollbar && (this.axis === "horizontal" || this.axis === "both");
67
+ let viewportW = Math.max(0, baseW);
68
+ let viewportH = Math.max(0, baseH);
69
+ let showV = false;
70
+ let showH = false;
71
+ for (let i = 0; i < 2; i++) {
72
+ const nextShowV = allowV && contentH > viewportH;
73
+ const nextShowH = allowH && contentW > viewportW;
74
+ if (nextShowV === showV && nextShowH === showH)
75
+ break;
76
+ showV = nextShowV;
77
+ showH = nextShowH;
78
+ viewportW = Math.max(0, baseW - (showV ? 1 : 0));
79
+ viewportH = Math.max(0, baseH - (showH ? 1 : 0));
80
+ }
81
+ return { viewportW, viewportH, showV, showH };
82
+ }
83
+ measureSelf(maxW, maxH) {
59
84
  // Apply frame constraints to determine our size
60
85
  const constrained = this.constrainProposal(maxW, maxH);
61
- // Measure child with unbounded dimension(s) based on axis
62
- let childMaxW = constrained.w;
63
- let childMaxH = constrained.h;
64
- if (this.axis === "vertical" || this.axis === "both") {
65
- childMaxH = Number.MAX_SAFE_INTEGER;
66
- }
67
- if (this.axis === "horizontal" || this.axis === "both") {
68
- childMaxW = Number.MAX_SAFE_INTEGER;
69
- }
70
- // Measure single child (scroll should have at most one child)
71
86
  const child = this.child;
72
- if (child) {
73
- const childSize = child.measure(childMaxW, childMaxH);
74
- this.contentWidth = childSize.w;
75
- this.contentHeight = childSize.h;
76
- // Note: onScrollLayoutChange callback is deferred to layout() to keep measure() pure
87
+ if (!child) {
88
+ this.contentWidth = 0;
89
+ this.contentHeight = 0;
90
+ const viewport = this.computeViewport(constrained.w, constrained.h, 0, 0);
91
+ this.viewportWidth = viewport.viewportW;
92
+ this.viewportHeight = viewport.viewportH;
93
+ this.showVerticalScrollbar = viewport.showV;
94
+ this.showHorizontalScrollbar = viewport.showH;
95
+ return this.constrainResult({ w: 0, h: 0 });
77
96
  }
97
+ const measureChild = (proposalW, proposalH) => {
98
+ let childMaxW = proposalW;
99
+ let childMaxH = proposalH;
100
+ if (this.axis === "vertical" || this.axis === "both") {
101
+ childMaxH = Number.MAX_SAFE_INTEGER;
102
+ }
103
+ if (this.axis === "horizontal" || this.axis === "both") {
104
+ childMaxW = Number.MAX_SAFE_INTEGER;
105
+ }
106
+ return child.measure(childMaxW, childMaxH);
107
+ };
108
+ let viewportW = constrained.w;
109
+ let viewportH = constrained.h;
110
+ let contentW = 0;
111
+ let contentH = 0;
112
+ let showV = false;
113
+ let showH = false;
114
+ for (let i = 0; i < 3; i++) {
115
+ const childSize = measureChild(viewportW, viewportH);
116
+ contentW = childSize.w;
117
+ contentH = childSize.h;
118
+ const viewport = this.computeViewport(constrained.w, constrained.h, contentW, contentH);
119
+ if (viewport.viewportW === viewportW && viewport.viewportH === viewportH) {
120
+ showV = viewport.showV;
121
+ showH = viewport.showH;
122
+ break;
123
+ }
124
+ viewportW = viewport.viewportW;
125
+ viewportH = viewport.viewportH;
126
+ showV = viewport.showV;
127
+ showH = viewport.showH;
128
+ }
129
+ this.contentWidth = contentW;
130
+ this.contentHeight = contentH;
131
+ this.viewportWidth = viewportW;
132
+ this.viewportHeight = viewportH;
133
+ this.showVerticalScrollbar = showV;
134
+ this.showHorizontalScrollbar = showH;
78
135
  // Report natural content size (clamped to constrained bounds)
79
136
  // Greedy expansion happens in layout phase via layoutFlex
80
- const naturalW = Math.min(this.contentWidth, constrained.w);
81
- const naturalH = Math.min(this.contentHeight, constrained.h);
137
+ const naturalW = Math.min(this.contentWidth + (this.showVerticalScrollbar ? 1 : 0), constrained.w);
138
+ const naturalH = Math.min(this.contentHeight + (this.showHorizontalScrollbar ? 1 : 0), constrained.h);
82
139
  return this.constrainResult({ w: naturalW, h: naturalH });
83
140
  }
84
- layout(rect) {
141
+ layoutSelf(rect) {
85
142
  const layoutRect = this.layoutWithConstraints(rect);
143
+ const viewport = this.computeViewport(layoutRect.w, layoutRect.h, this.contentWidth, this.contentHeight);
144
+ this.viewportWidth = viewport.viewportW;
145
+ this.viewportHeight = viewport.viewportH;
146
+ this.showVerticalScrollbar = viewport.showV;
147
+ this.showHorizontalScrollbar = viewport.showH;
86
148
  const { x: alignX, y: alignY } = resolveAlign(this.align);
87
149
  const contentChanged = this.contentWidth !== this.lastReportedContentW || this.contentHeight !== this.lastReportedContentH;
88
- const viewportChanged = layoutRect.w !== this.lastViewportW || layoutRect.h !== this.lastViewportH;
150
+ const viewportChanged = this.viewportWidth !== this.lastViewportW || this.viewportHeight !== this.lastViewportH;
89
151
  const rectChanged = layoutRect.x !== this.lastRectX ||
90
152
  layoutRect.y !== this.lastRectY ||
91
153
  layoutRect.w !== this.lastRectW ||
@@ -94,8 +156,8 @@ export class ScrollHost extends SingleChildHost {
94
156
  if (!child)
95
157
  return;
96
158
  // Calculate max scroll offsets
97
- const maxScrollY = Math.max(0, this.contentHeight - layoutRect.h);
98
- const maxScrollX = Math.max(0, this.contentWidth - layoutRect.w);
159
+ const maxScrollY = Math.max(0, this.contentHeight - this.viewportHeight);
160
+ const maxScrollX = Math.max(0, this.contentWidth - this.viewportWidth);
99
161
  // Start with the offset from props (controlled by useScroll)
100
162
  let scrollY = this.offsetY;
101
163
  let scrollX = this.offsetX;
@@ -135,20 +197,20 @@ export class ScrollHost extends SingleChildHost {
135
197
  this.effectiveOffsetX = scrollX;
136
198
  const offsetChanged = this.effectiveOffset !== this.lastOffsetY || this.effectiveOffsetX !== this.lastOffsetX;
137
199
  // Handle alignment when content is smaller than viewport
138
- if (this.contentHeight < layoutRect.h && (this.axis === "vertical" || this.axis === "both")) {
200
+ if (this.contentHeight < this.viewportHeight && (this.axis === "vertical" || this.axis === "both")) {
139
201
  if (alignY === "bottom") {
140
- scrollY = -(layoutRect.h - this.contentHeight);
202
+ scrollY = -(this.viewportHeight - this.contentHeight);
141
203
  }
142
204
  else if (alignY === "center") {
143
- scrollY = -Math.floor((layoutRect.h - this.contentHeight) / 2);
205
+ scrollY = -Math.floor((this.viewportHeight - this.contentHeight) / 2);
144
206
  }
145
207
  }
146
- if (this.contentWidth < layoutRect.w && (this.axis === "horizontal" || this.axis === "both")) {
208
+ if (this.contentWidth < this.viewportWidth && (this.axis === "horizontal" || this.axis === "both")) {
147
209
  if (alignX === "right") {
148
- scrollX = -(layoutRect.w - this.contentWidth);
210
+ scrollX = -(this.viewportWidth - this.contentWidth);
149
211
  }
150
212
  else if (alignX === "center") {
151
- scrollX = -Math.floor((layoutRect.w - this.contentWidth) / 2);
213
+ scrollX = -Math.floor((this.viewportWidth - this.contentWidth) / 2);
152
214
  }
153
215
  }
154
216
  // Layout child at offset position
@@ -162,8 +224,8 @@ export class ScrollHost extends SingleChildHost {
162
224
  if (this.onScrollLayoutChange && (contentChanged || viewportChanged || rectChanged || offsetChanged)) {
163
225
  this.lastReportedContentW = this.contentWidth;
164
226
  this.lastReportedContentH = this.contentHeight;
165
- this.lastViewportW = layoutRect.w;
166
- this.lastViewportH = layoutRect.h;
227
+ this.lastViewportW = this.viewportWidth;
228
+ this.lastViewportH = this.viewportHeight;
167
229
  this.lastRectX = layoutRect.x;
168
230
  this.lastRectY = layoutRect.y;
169
231
  this.lastRectW = layoutRect.w;
@@ -172,7 +234,7 @@ export class ScrollHost extends SingleChildHost {
172
234
  this.lastOffsetX = this.effectiveOffsetX;
173
235
  this.onScrollLayoutChange({
174
236
  content: { width: this.contentWidth, height: this.contentHeight },
175
- viewport: { width: layoutRect.w, height: layoutRect.h },
237
+ viewport: { width: this.viewportWidth, height: this.viewportHeight },
176
238
  offset: { x: this.effectiveOffsetX, y: this.effectiveOffset },
177
239
  rect: { x: layoutRect.x, y: layoutRect.y, w: layoutRect.w, h: layoutRect.h },
178
240
  axis: this.axis,
@@ -185,8 +247,8 @@ export class ScrollHost extends SingleChildHost {
185
247
  const { x, y, w, h } = this.rect;
186
248
  // Fill background (inherit from parent if not explicitly set)
187
249
  fillRectWithInheritedBg(buffer, palette, { x, y, w, h }, this.bg, this.parent);
188
- // Render children with clipping
189
- buffer.withClip(x, y, w, h, () => {
250
+ // Render children with clipping (exclude scrollbar gutters)
251
+ buffer.withClip(x, y, this.viewportWidth, this.viewportHeight, () => {
190
252
  const child = this.child;
191
253
  if (child) {
192
254
  child.render(buffer, palette);
@@ -202,32 +264,32 @@ export class ScrollHost extends SingleChildHost {
202
264
  return;
203
265
  const { x, y, w, h } = this.rect;
204
266
  // Vertical scrollbar
205
- if ((this.axis === "vertical" || this.axis === "both") && this.contentHeight > h) {
206
- const maxScroll = this.contentHeight - h;
267
+ if (this.showVerticalScrollbar) {
268
+ const maxScroll = Math.max(1, this.contentHeight - this.viewportHeight);
207
269
  const scrollRatio = Math.min(1, this.effectiveOffset / maxScroll);
208
- const thumbRatio = h / this.contentHeight;
209
- const thumbHeight = Math.max(1, Math.floor(h * thumbRatio));
210
- const thumbY = Math.floor((h - thumbHeight) * scrollRatio);
270
+ const thumbRatio = this.viewportHeight / this.contentHeight;
271
+ const thumbHeight = Math.max(1, Math.floor(this.viewportHeight * thumbRatio));
272
+ const thumbY = Math.floor((this.viewportHeight - thumbHeight) * scrollRatio);
211
273
  const trackStyle = palette.id({ fg: 8 }); // dim
212
274
  const thumbStyle = palette.id({ fg: 7 }); // brighter
213
275
  // Draw track
214
- for (let row = 0; row < h; row++) {
276
+ for (let row = 0; row < this.viewportHeight; row++) {
215
277
  const char = row >= thumbY && row < thumbY + thumbHeight ? "┃" : "│";
216
278
  const style = row >= thumbY && row < thumbY + thumbHeight ? thumbStyle : trackStyle;
217
279
  buffer.drawCP(x + w - 1, y + row, char.codePointAt(0), style);
218
280
  }
219
281
  }
220
282
  // Horizontal scrollbar
221
- if ((this.axis === "horizontal" || this.axis === "both") && this.contentWidth > w) {
222
- const maxScroll = this.contentWidth - w;
283
+ if (this.showHorizontalScrollbar) {
284
+ const maxScroll = Math.max(1, this.contentWidth - this.viewportWidth);
223
285
  const scrollRatio = Math.min(1, this.effectiveOffsetX / maxScroll);
224
- const thumbRatio = w / this.contentWidth;
225
- const thumbWidth = Math.max(1, Math.floor(w * thumbRatio));
226
- const thumbX = Math.floor((w - thumbWidth) * scrollRatio);
286
+ const thumbRatio = this.viewportWidth / this.contentWidth;
287
+ const thumbWidth = Math.max(1, Math.floor(this.viewportWidth * thumbRatio));
288
+ const thumbX = Math.floor((this.viewportWidth - thumbWidth) * scrollRatio);
227
289
  const trackStyle = palette.id({ fg: 8 });
228
290
  const thumbStyle = palette.id({ fg: 7 });
229
291
  // Draw track
230
- for (let col = 0; col < w; col++) {
292
+ for (let col = 0; col < this.viewportWidth; col++) {
231
293
  const char = col >= thumbX && col < thumbX + thumbWidth ? "━" : "─";
232
294
  const style = col >= thumbX && col < thumbX + thumbWidth ? thumbStyle : trackStyle;
233
295
  buffer.drawCP(x + col, y + h - 1, char.codePointAt(0), style);
@@ -238,6 +300,13 @@ export class ScrollHost extends SingleChildHost {
238
300
  super.updateProps(props);
239
301
  // Scroll is greedy by default unless explicitly set to false
240
302
  this.applyGreedyDefault(props, 1);
303
+ const prevAxis = this.axis;
304
+ const prevOffsetY = this.offsetY;
305
+ const prevOffsetX = this.offsetX;
306
+ const prevAlign = this.align;
307
+ const prevBg = this.bg;
308
+ const prevShowScrollbar = this.showScrollbar;
309
+ const prevSticky = this.sticky;
241
310
  if (props.axis !== undefined)
242
311
  this.axis = props.axis ?? "vertical";
243
312
  if (props.offsetY !== undefined)
@@ -252,6 +321,18 @@ export class ScrollHost extends SingleChildHost {
252
321
  if (props.sticky !== undefined)
253
322
  this.sticky = props.sticky;
254
323
  this.onScrollLayoutChange = props.onScrollLayoutChange;
324
+ const layoutChanged = prevAxis !== this.axis ||
325
+ prevOffsetY !== this.offsetY ||
326
+ prevOffsetX !== this.offsetX ||
327
+ prevSticky !== this.sticky ||
328
+ prevAlign !== this.align ||
329
+ prevShowScrollbar !== this.showScrollbar;
330
+ if (layoutChanged) {
331
+ this.invalidateLayout();
332
+ }
333
+ else if (prevBg !== this.bg) {
334
+ this.invalidateRender();
335
+ }
255
336
  }
256
337
  }
257
338
  //# sourceMappingURL=scroll.js.map
@@ -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":"single-child.d.ts","sourceRoot":"","sources":["../../../src/hosts/single-child.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC;;;GAGG;AACH,8BAAsB,eAAgB,SAAQ,QAAQ;IACrD,OAAO,CAAC,MAAM,CAAQ;IAEtB,SAAS,KAAK,KAAK,IAAI,YAAY,GAAG,IAAI,CAEzC;IAEQ,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAItC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAI9D,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAQ/C,OAAO,CAAC,cAAc;CAiBtB"}
1
+ {"version":3,"file":"single-child.d.ts","sourceRoot":"","sources":["../../../src/hosts/single-child.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC;;;GAGG;AACH,8BAAsB,eAAgB,SAAQ,QAAQ;IACrD,OAAO,CAAC,MAAM,CAAQ;IAEtB,SAAS,KAAK,KAAK,IAAI,YAAY,GAAG,IAAI,CAEzC;IAEQ,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAItC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAI9D,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAS/C,OAAO,CAAC,cAAc;CAkBtB"}
@@ -20,6 +20,7 @@ export class SingleChildHost extends BaseHost {
20
20
  this.children.splice(0, 1);
21
21
  }
22
22
  child.parent = null;
23
+ this.invalidateLayout();
23
24
  }
24
25
  setSingleChild(child) {
25
26
  const current = this.children[0];
@@ -37,6 +38,7 @@ export class SingleChildHost extends BaseHost {
37
38
  this.children.push(child);
38
39
  }
39
40
  child.parent = this;
41
+ this.invalidateLayout();
40
42
  }
41
43
  }
42
44
  //# sourceMappingURL=single-child.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"single-child.js","sourceRoot":"","sources":["../../../src/hosts/single-child.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC;;;GAGG;AACH,MAAM,OAAgB,eAAgB,SAAQ,QAAQ;IAC7C,MAAM,GAAG,KAAK,CAAA;IAEtB,IAAc,KAAK;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAChC,CAAC;IAEQ,WAAW,CAAC,KAAmB;QACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAEQ,YAAY,CAAC,KAAmB,EAAE,OAAqB;QAC/D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAEQ,WAAW,CAAC,KAAmB;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,CAAC;QACD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;IACpB,CAAC;IAEO,cAAc,CAAC,KAAmB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,OAAO,KAAK,KAAK;YAAE,OAAM;QAE7B,IAAI,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,2DAA2D,CAAC,CAAA;gBACnG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YACnB,CAAC;YACD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAA;YACrB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;QACzB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;QAED,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;IACpB,CAAC;CACD"}
1
+ {"version":3,"file":"single-child.js","sourceRoot":"","sources":["../../../src/hosts/single-child.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC;;;GAGG;AACH,MAAM,OAAgB,eAAgB,SAAQ,QAAQ;IAC7C,MAAM,GAAG,KAAK,CAAA;IAEtB,IAAc,KAAK;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAChC,CAAC;IAEQ,WAAW,CAAC,KAAmB;QACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAEQ,YAAY,CAAC,KAAmB,EAAE,OAAqB;QAC/D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAEQ,WAAW,CAAC,KAAmB;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,CAAC;QACD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACxB,CAAC;IAEO,cAAc,CAAC,KAAmB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,OAAO,KAAK,KAAK;YAAE,OAAM;QAE7B,IAAI,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,2DAA2D,CAAC,CAAA;gBACnG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YACnB,CAAC;YACD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAA;YACrB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;QACzB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;QAED,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACxB,CAAC;CACD"}
@@ -12,7 +12,7 @@ export declare class SpacerHost extends LeafHost {
12
12
  minHeight: number;
13
13
  greedy: boolean | number | undefined;
14
14
  constructor(props: SpacerProps, ctx: HostContext);
15
- measure(_maxW: number, _maxH: number): Size;
15
+ protected measureSelf(_maxW: number, _maxH: number): Size;
16
16
  render(_buffer: CellBuffer, _palette: Palette): void;
17
17
  updateProps(props: Record<string, unknown>): void;
18
18
  }
@@ -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,MAAM,wBAAwB,CAAA;AAC5E,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;IAK3C,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"}
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,MAAM,wBAAwB,CAAA;AAC5E,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,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzD,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI3C,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAY1D"}
@@ -8,7 +8,7 @@ export class SpacerHost extends LeafHost {
8
8
  super("spacer", props, ctx);
9
9
  this.updateProps(props);
10
10
  }
11
- measure(_maxW, _maxH) {
11
+ measureSelf(_maxW, _maxH) {
12
12
  // Spacers have no natural size, they expand via greedy
13
13
  return { w: this.minWidth, h: this.minHeight };
14
14
  }
@@ -19,10 +19,15 @@ export class SpacerHost extends LeafHost {
19
19
  super.updateProps(props);
20
20
  // Spacer is greedy by default unless explicitly set to false
21
21
  this.applyGreedyDefault(props, 1);
22
+ const prevMinWidth = this.minWidth;
23
+ const prevMinHeight = this.minHeight;
22
24
  if (props.minWidth !== undefined)
23
25
  this.minWidth = props.minWidth;
24
26
  if (props.minHeight !== undefined)
25
27
  this.minHeight = props.minHeight;
28
+ if (prevMinWidth !== this.minWidth || prevMinHeight !== this.minHeight) {
29
+ this.invalidateLayout();
30
+ }
26
31
  }
27
32
  }
28
33
  //# sourceMappingURL=spacer.js.map
@@ -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;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
+ {"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;IAES,WAAW,CAAC,KAAa,EAAE,KAAa;QACjD,uDAAuD;QACvD,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAA;IAC/C,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,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAA;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAA;QACpC,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;QAC7E,IAAI,YAAY,KAAK,IAAI,CAAC,QAAQ,IAAI,aAAa,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACxE,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACxB,CAAC;IACF,CAAC;CACD"}
@@ -43,12 +43,12 @@ export declare class TextHost extends BaseHost {
43
43
  wrap: boolean;
44
44
  private cachedLines;
45
45
  private cachedWidth;
46
+ private cachedStyledWrap;
46
47
  private cachedContent;
47
48
  private cachedStyledLines;
48
49
  private cachedSpans;
49
50
  private hasSpans;
50
51
  private explicitSpans;
51
- private prepared;
52
52
  constructor(props: TextProps, ctx: HostContext);
53
53
  /** Check if we have SpanHost children (requires styled rendering) */
54
54
  private checkForSpans;
@@ -57,15 +57,15 @@ export declare class TextHost extends BaseHost {
57
57
  /** Collect children as styled spans for multi-style rendering */
58
58
  private collectSpans;
59
59
  private prepareContent;
60
- private ensurePrepared;
61
- /** Invalidate content cache when children change */
62
- private invalidateContent;
63
- protected prepareSelf(): void;
60
+ /** Reset content-related caches (text/spans/wrap). */
61
+ private resetContentCaches;
62
+ protected prepareSelf(_layoutDirty: boolean, _renderDirty: boolean): void;
63
+ invalidateLayout(): void;
64
64
  appendChild(child: HostInstance): void;
65
65
  removeChild(child: HostInstance): void;
66
66
  insertBefore(child: HostInstance, before: HostInstance): void;
67
- measure(maxW: number, maxH: number): Size;
68
- layout(rect: Rect): void;
67
+ protected measureSelf(maxW: number, maxH: number): Size;
68
+ protected layoutSelf(rect: Rect): void;
69
69
  render(buffer: CellBuffer, palette: Palette): void;
70
70
  updateProps(props: Record<string, unknown>): void;
71
71
  }
@@ -73,7 +73,7 @@ export declare class TextHost extends BaseHost {
73
73
  export declare class RawTextHost extends LeafHost {
74
74
  content: string;
75
75
  constructor(text: string, ctx: HostContext);
76
- measure(maxW: number, _maxH: number): Size;
76
+ protected measureSelf(maxW: number, _maxH: number): Size;
77
77
  render(buffer: CellBuffer, palette: Palette): void;
78
78
  updateText(text: string): void;
79
79
  updateProps(_props: Record<string, unknown>): void;
@@ -110,17 +110,22 @@ export interface SpanProps extends CommonProps {
110
110
  export declare class SpanHost extends BaseHost {
111
111
  fg?: Color;
112
112
  bg?: Color;
113
- bold: boolean;
114
- dimmed: boolean;
115
- italic: boolean;
116
- underline: boolean;
117
- strikethrough: boolean;
118
- inverse: boolean;
113
+ bold?: boolean;
114
+ dimmed?: boolean;
115
+ italic?: boolean;
116
+ underline?: boolean;
117
+ strikethrough?: boolean;
118
+ inverse?: boolean;
119
119
  constructor(props: SpanProps, ctx: HostContext);
120
120
  /** Get text content from RawTextHost children */
121
121
  getContent(): string;
122
- measure(_maxW: number, _maxH: number): Size;
122
+ appendChild(child: HostInstance): void;
123
+ removeChild(child: HostInstance): void;
124
+ insertBefore(child: HostInstance, before: HostInstance): void;
125
+ protected measureSelf(_maxW: number, _maxH: number): Size;
123
126
  render(_buffer: CellBuffer, _palette: Palette): void;
124
127
  updateProps(props: Record<string, unknown>): void;
128
+ invalidateLayout(): void;
129
+ invalidateRender(): void;
125
130
  }
126
131
  //# 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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"}