@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.
- package/README.md +31 -7
- package/dist/jsx-runtime.d.ts +1 -2
- package/dist/jsx-runtime.d.ts.map +1 -1
- package/dist/src/components/Markdown.js +7 -7
- package/dist/src/components/Markdown.js.map +1 -1
- package/dist/src/components/MultilineTextInput.d.ts.map +1 -1
- package/dist/src/components/MultilineTextInput.js +11 -0
- package/dist/src/components/MultilineTextInput.js.map +1 -1
- package/dist/src/components/TextInput.d.ts.map +1 -1
- package/dist/src/components/TextInput.js +15 -0
- package/dist/src/components/TextInput.js.map +1 -1
- package/dist/src/dev.d.ts +22 -32
- package/dist/src/dev.d.ts.map +1 -1
- package/dist/src/dev.js +42 -96
- package/dist/src/dev.js.map +1 -1
- package/dist/src/hooks/index.d.ts +3 -0
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +1 -0
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/use-mouse.d.ts +10 -1
- package/dist/src/hooks/use-mouse.d.ts.map +1 -1
- package/dist/src/hooks/use-mouse.js +10 -2
- package/dist/src/hooks/use-mouse.js.map +1 -1
- package/dist/src/hooks/use-paste.d.ts +13 -3
- package/dist/src/hooks/use-paste.d.ts.map +1 -1
- package/dist/src/hooks/use-paste.js +15 -5
- package/dist/src/hooks/use-paste.js.map +1 -1
- package/dist/src/hooks/use-scroll.d.ts +59 -24
- package/dist/src/hooks/use-scroll.d.ts.map +1 -1
- package/dist/src/hooks/use-scroll.js +238 -79
- package/dist/src/hooks/use-scroll.js.map +1 -1
- package/dist/src/hooks/use-shortcut.d.ts +16 -0
- package/dist/src/hooks/use-shortcut.d.ts.map +1 -0
- package/dist/src/hooks/use-shortcut.js +29 -0
- package/dist/src/hooks/use-shortcut.js.map +1 -0
- package/dist/src/hosts/base.d.ts +16 -0
- package/dist/src/hosts/base.d.ts.map +1 -1
- package/dist/src/hosts/base.js +30 -0
- package/dist/src/hosts/base.js.map +1 -1
- package/dist/src/hosts/box.d.ts.map +1 -1
- package/dist/src/hosts/box.js +7 -8
- package/dist/src/hosts/box.js.map +1 -1
- package/dist/src/hosts/canvas.d.ts.map +1 -1
- package/dist/src/hosts/canvas.js +5 -3
- package/dist/src/hosts/canvas.js.map +1 -1
- package/dist/src/hosts/codeblock.d.ts.map +1 -1
- package/dist/src/hosts/codeblock.js +5 -4
- package/dist/src/hosts/codeblock.js.map +1 -1
- package/dist/src/hosts/flex-container.d.ts.map +1 -1
- package/dist/src/hosts/flex-container.js +5 -8
- package/dist/src/hosts/flex-container.js.map +1 -1
- package/dist/src/hosts/index.d.ts +1 -1
- package/dist/src/hosts/index.d.ts.map +1 -1
- package/dist/src/hosts/index.js +2 -3
- package/dist/src/hosts/index.js.map +1 -1
- package/dist/src/hosts/overlay-item.js +2 -2
- package/dist/src/hosts/overlay-item.js.map +1 -1
- package/dist/src/hosts/overlay.d.ts.map +1 -1
- package/dist/src/hosts/overlay.js +6 -11
- package/dist/src/hosts/overlay.js.map +1 -1
- package/dist/src/hosts/scroll.d.ts +8 -0
- package/dist/src/hosts/scroll.d.ts.map +1 -1
- package/dist/src/hosts/scroll.js +50 -26
- package/dist/src/hosts/scroll.js.map +1 -1
- package/dist/src/hosts/spacer.d.ts.map +1 -1
- package/dist/src/hosts/spacer.js +1 -3
- package/dist/src/hosts/spacer.js.map +1 -1
- package/dist/src/hosts/text.d.ts +24 -45
- package/dist/src/hosts/text.d.ts.map +1 -1
- package/dist/src/hosts/text.js +69 -215
- package/dist/src/hosts/text.js.map +1 -1
- package/dist/src/hosts/zstack.d.ts.map +1 -1
- package/dist/src/hosts/zstack.js +4 -10
- package/dist/src/hosts/zstack.js.map +1 -1
- package/dist/src/index.d.ts +6 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/reconciler/types.d.ts +2 -0
- package/dist/src/reconciler/types.d.ts.map +1 -1
- package/dist/src/renderer/core/FrameBuilder.d.ts.map +1 -1
- package/dist/src/renderer/core/FrameBuilder.js +2 -0
- package/dist/src/renderer/core/FrameBuilder.js.map +1 -1
- package/dist/src/renderer/input/InputProcessor.d.ts.map +1 -1
- package/dist/src/renderer/input/InputProcessor.js +13 -3
- package/dist/src/renderer/input/InputProcessor.js.map +1 -1
- package/dist/src/renderer/lifecycle/EventBus.d.ts +2 -2
- package/dist/src/renderer/lifecycle/EventBus.d.ts.map +1 -1
- package/dist/src/renderer/lifecycle/EventBus.js +13 -1
- package/dist/src/renderer/lifecycle/EventBus.js.map +1 -1
- package/dist/src/renderer/lifecycle/RenderCache.d.ts +3 -0
- package/dist/src/renderer/lifecycle/RenderCache.d.ts.map +1 -0
- package/dist/src/renderer/lifecycle/RenderCache.js +9 -0
- package/dist/src/renderer/lifecycle/RenderCache.js.map +1 -0
- package/dist/src/renderer/lifecycle/index.d.ts +1 -0
- package/dist/src/renderer/lifecycle/index.d.ts.map +1 -1
- package/dist/src/renderer/lifecycle/index.js +1 -0
- package/dist/src/renderer/lifecycle/index.js.map +1 -1
- package/dist/src/renderer-types.d.ts +9 -2
- package/dist/src/renderer-types.d.ts.map +1 -1
- package/dist/src/renderer.d.ts +13 -2
- package/dist/src/renderer.d.ts.map +1 -1
- package/dist/src/renderer.js +42 -11
- package/dist/src/renderer.js.map +1 -1
- package/dist/src/shortcuts.d.ts +15 -0
- package/dist/src/shortcuts.d.ts.map +1 -0
- package/dist/src/shortcuts.js +149 -0
- package/dist/src/shortcuts.js.map +1 -0
- package/dist/src/test/mock-streams.d.ts.map +1 -1
- package/dist/src/test/mock-streams.js +0 -3
- package/dist/src/test/mock-streams.js.map +1 -1
- package/dist/src/test/render-tui.d.ts.map +1 -1
- package/dist/src/test/render-tui.js +1 -0
- package/dist/src/test/render-tui.js.map +1 -1
- package/dist/src/utils/alignment.d.ts +4 -0
- package/dist/src/utils/alignment.d.ts.map +1 -1
- package/dist/src/utils/alignment.js +12 -0
- package/dist/src/utils/alignment.js.map +1 -1
- package/dist/src/utils/index.d.ts +3 -2
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +3 -2
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/styles.d.ts +6 -1
- package/dist/src/utils/styles.d.ts.map +1 -1
- package/dist/src/utils/styles.js +9 -0
- package/dist/src/utils/styles.js.map +1 -1
- package/dist/src/utils/text-wrap.d.ts +10 -0
- package/dist/src/utils/text-wrap.d.ts.map +1 -0
- package/dist/src/utils/text-wrap.js +64 -0
- package/dist/src/utils/text-wrap.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/jsx-runtime.ts +1 -2
- package/package.json +2 -2
- package/src/components/Markdown.tsx +7 -7
- package/src/components/MultilineTextInput.tsx +14 -0
- package/src/components/TextInput.tsx +18 -0
- package/src/dev.tsx +59 -107
- package/src/hooks/index.ts +3 -0
- package/src/hooks/use-mouse.ts +19 -3
- package/src/hooks/use-paste.ts +24 -5
- package/src/hooks/use-scroll.ts +345 -105
- package/src/hooks/use-shortcut.ts +54 -0
- package/src/hosts/base.ts +35 -0
- package/src/hosts/box.ts +7 -8
- package/src/hosts/canvas.ts +5 -3
- package/src/hosts/codeblock.ts +5 -4
- package/src/hosts/flex-container.ts +5 -7
- package/src/hosts/index.ts +1 -4
- package/src/hosts/overlay-item.ts +2 -2
- package/src/hosts/overlay.ts +6 -12
- package/src/hosts/scroll.ts +55 -26
- package/src/hosts/spacer.ts +1 -3
- package/src/hosts/text.ts +89 -256
- package/src/hosts/zstack.ts +4 -11
- package/src/index.ts +19 -6
- package/src/reconciler/types.ts +3 -0
- package/src/renderer/core/FrameBuilder.ts +3 -0
- package/src/renderer/input/InputProcessor.ts +13 -3
- package/src/renderer/lifecycle/EventBus.ts +14 -4
- package/src/renderer/lifecycle/RenderCache.ts +13 -0
- package/src/renderer/lifecycle/index.ts +1 -0
- package/src/renderer-types.ts +10 -2
- package/src/renderer.ts +85 -14
- package/src/shortcuts.ts +180 -0
- package/src/test/mock-streams.ts +0 -3
- package/src/test/render-tui.ts +1 -0
- package/src/utils/alignment.ts +18 -0
- package/src/utils/index.ts +3 -1
- package/src/utils/styles.ts +18 -1
- package/src/utils/text-wrap.ts +66 -0
package/dist/src/hosts/scroll.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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 =
|
|
22
|
-
lastReportedContentH =
|
|
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
|
-
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
this.
|
|
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 (
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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 -
|
|
84
|
-
const maxScrollX = Math.max(0, this.contentWidth -
|
|
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 <
|
|
143
|
+
if (this.contentHeight < layoutRect.h && (this.axis === "vertical" || this.axis === "both")) {
|
|
118
144
|
// Align to bottom
|
|
119
|
-
scrollY = -(
|
|
145
|
+
scrollY = -(layoutRect.h - this.contentHeight);
|
|
120
146
|
}
|
|
121
|
-
if (this.contentWidth <
|
|
147
|
+
if (this.contentWidth < layoutRect.w && (this.axis === "horizontal" || this.axis === "both")) {
|
|
122
148
|
// Align to right
|
|
123
|
-
scrollX = -(
|
|
149
|
+
scrollX = -(layoutRect.w - this.contentWidth);
|
|
124
150
|
}
|
|
125
151
|
}
|
|
126
152
|
// Layout child at offset position
|
|
127
153
|
const childRect = {
|
|
128
|
-
x:
|
|
129
|
-
y:
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;
|
|
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;
|
|
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"}
|
package/dist/src/hosts/spacer.js
CHANGED
|
@@ -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
|
-
|
|
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,
|
|
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"}
|
package/dist/src/hosts/text.d.ts
CHANGED
|
@@ -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
|
-
|
|
42
|
-
private
|
|
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":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAgB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/hosts/text.ts"],"names":[],"mappings":"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"}
|