@effect-tui/react 0.15.2 → 2.0.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 +11 -2
- package/dist/src/codeblock.d.ts +1 -1
- package/dist/src/codeblock.d.ts.map +1 -1
- package/dist/src/codeblock.js +2 -2
- package/dist/src/codeblock.js.map +1 -1
- package/dist/src/components/ListView.d.ts +4 -4
- package/dist/src/components/ListView.d.ts.map +1 -1
- package/dist/src/components/ListView.js +16 -17
- package/dist/src/components/ListView.js.map +1 -1
- package/dist/src/components/Markdown.js +3 -3
- 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 +133 -305
- 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 +51 -98
- package/dist/src/components/TextInput.js.map +1 -1
- package/dist/src/components/text-editing.d.ts +61 -0
- package/dist/src/components/text-editing.d.ts.map +1 -1
- package/dist/src/components/text-editing.js +131 -0
- package/dist/src/components/text-editing.js.map +1 -1
- package/dist/src/console/ConsolePopover.d.ts +7 -1
- package/dist/src/console/ConsolePopover.d.ts.map +1 -1
- package/dist/src/console/ConsolePopover.js +55 -74
- package/dist/src/console/ConsolePopover.js.map +1 -1
- package/dist/src/debug/DebugOverlay.d.ts.map +1 -1
- package/dist/src/debug/DebugOverlay.js +3 -57
- package/dist/src/debug/DebugOverlay.js.map +1 -1
- package/dist/src/debug/DiagnosticsPanel.js +1 -1
- package/dist/src/debug/DiagnosticsPanel.js.map +1 -1
- package/dist/src/dev.d.ts +5 -117
- package/dist/src/dev.d.ts.map +1 -1
- package/dist/src/dev.js +3 -333
- package/dist/src/dev.js.map +1 -1
- package/dist/src/hooks/use-scroll.d.ts +31 -35
- package/dist/src/hooks/use-scroll.d.ts.map +1 -1
- package/dist/src/hooks/use-scroll.js +51 -90
- package/dist/src/hooks/use-scroll.js.map +1 -1
- package/dist/src/hosts/base.d.ts +13 -2
- package/dist/src/hosts/base.d.ts.map +1 -1
- package/dist/src/hosts/base.js +74 -2
- package/dist/src/hosts/base.js.map +1 -1
- package/dist/src/hosts/box.d.ts +2 -2
- package/dist/src/hosts/box.d.ts.map +1 -1
- package/dist/src/hosts/box.js +29 -2
- package/dist/src/hosts/box.js.map +1 -1
- package/dist/src/hosts/canvas.d.ts +24 -4
- package/dist/src/hosts/canvas.d.ts.map +1 -1
- package/dist/src/hosts/canvas.js +107 -41
- package/dist/src/hosts/canvas.js.map +1 -1
- package/dist/src/hosts/codeblock.d.ts +10 -12
- package/dist/src/hosts/codeblock.d.ts.map +1 -1
- package/dist/src/hosts/codeblock.js +38 -35
- package/dist/src/hosts/codeblock.js.map +1 -1
- package/dist/src/hosts/flex-container.d.ts +3 -3
- package/dist/src/hosts/flex-container.d.ts.map +1 -1
- package/dist/src/hosts/flex-container.js +20 -5
- package/dist/src/hosts/flex-container.js.map +1 -1
- package/dist/src/hosts/index.d.ts +3 -2
- package/dist/src/hosts/index.d.ts.map +1 -1
- package/dist/src/hosts/index.js +2 -1
- package/dist/src/hosts/index.js.map +1 -1
- package/dist/src/hosts/layout-helpers.d.ts +10 -0
- package/dist/src/hosts/layout-helpers.d.ts.map +1 -0
- package/dist/src/hosts/layout-helpers.js +10 -0
- package/dist/src/hosts/layout-helpers.js.map +1 -0
- package/dist/src/hosts/leaf.d.ts +14 -0
- package/dist/src/hosts/leaf.d.ts.map +1 -0
- package/dist/src/hosts/leaf.js +31 -0
- package/dist/src/hosts/leaf.js.map +1 -0
- package/dist/src/hosts/overlay-item.d.ts +2 -2
- package/dist/src/hosts/overlay-item.d.ts.map +1 -1
- package/dist/src/hosts/overlay-item.js +7 -2
- package/dist/src/hosts/overlay-item.js.map +1 -1
- package/dist/src/hosts/overlay.d.ts +2 -2
- package/dist/src/hosts/overlay.d.ts.map +1 -1
- package/dist/src/hosts/overlay.js +6 -9
- package/dist/src/hosts/overlay.js.map +1 -1
- package/dist/src/hosts/scroll.d.ts +54 -26
- package/dist/src/hosts/scroll.d.ts.map +1 -1
- package/dist/src/hosts/scroll.js +185 -87
- package/dist/src/hosts/scroll.js.map +1 -1
- package/dist/src/hosts/single-child.d.ts.map +1 -1
- package/dist/src/hosts/single-child.js +2 -0
- package/dist/src/hosts/single-child.js.map +1 -1
- package/dist/src/hosts/spacer.d.ts +3 -3
- package/dist/src/hosts/spacer.d.ts.map +1 -1
- package/dist/src/hosts/spacer.js +8 -3
- package/dist/src/hosts/spacer.js.map +1 -1
- package/dist/src/hosts/text.d.ts +22 -18
- package/dist/src/hosts/text.d.ts.map +1 -1
- package/dist/src/hosts/text.js +108 -131
- package/dist/src/hosts/text.js.map +1 -1
- package/dist/src/hosts/vstack.js +1 -1
- package/dist/src/hosts/vstack.js.map +1 -1
- package/dist/src/hosts/zstack.d.ts +3 -3
- package/dist/src/hosts/zstack.d.ts.map +1 -1
- package/dist/src/hosts/zstack.js +13 -8
- package/dist/src/hosts/zstack.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/internal/dev/hmr.d.ts +20 -0
- package/dist/src/internal/dev/hmr.d.ts.map +1 -0
- package/dist/src/internal/dev/hmr.js +93 -0
- package/dist/src/internal/dev/hmr.js.map +1 -0
- package/dist/src/internal/dev/runtime.d.ts +24 -0
- package/dist/src/internal/dev/runtime.d.ts.map +1 -0
- package/dist/src/internal/dev/runtime.js +135 -0
- package/dist/src/internal/dev/runtime.js.map +1 -0
- package/dist/src/internal/dev/ui.d.ts +13 -0
- package/dist/src/internal/dev/ui.d.ts.map +1 -0
- package/dist/src/internal/dev/ui.js +51 -0
- package/dist/src/internal/dev/ui.js.map +1 -0
- package/dist/src/internal/renderer/context.d.ts +9 -0
- package/dist/src/internal/renderer/context.d.ts.map +1 -0
- package/dist/src/internal/renderer/context.js +22 -0
- package/dist/src/internal/renderer/context.js.map +1 -0
- package/dist/src/internal/renderer/core/FrameBuilder.d.ts +18 -0
- package/dist/src/internal/renderer/core/FrameBuilder.d.ts.map +1 -0
- package/dist/src/internal/renderer/core/FrameBuilder.js +40 -0
- package/dist/src/internal/renderer/core/FrameBuilder.js.map +1 -0
- package/dist/src/internal/renderer/core/RendererState.d.ts +41 -0
- package/dist/src/internal/renderer/core/RendererState.d.ts.map +1 -0
- package/dist/src/internal/renderer/core/RendererState.js +70 -0
- package/dist/src/internal/renderer/core/RendererState.js.map +1 -0
- package/dist/src/internal/renderer/core/index.d.ts +3 -0
- package/dist/src/internal/renderer/core/index.d.ts.map +1 -0
- package/dist/src/internal/renderer/core/index.js +3 -0
- package/dist/src/internal/renderer/core/index.js.map +1 -0
- package/dist/src/internal/renderer/index.d.ts +40 -0
- package/dist/src/internal/renderer/index.d.ts.map +1 -0
- package/dist/src/internal/renderer/index.js +543 -0
- package/dist/src/internal/renderer/index.js.map +1 -0
- package/dist/src/internal/renderer/input/InputProcessor.d.ts +30 -0
- package/dist/src/internal/renderer/input/InputProcessor.d.ts.map +1 -0
- package/dist/src/internal/renderer/input/InputProcessor.js +122 -0
- package/dist/src/internal/renderer/input/InputProcessor.js.map +1 -0
- package/dist/src/internal/renderer/input/index.d.ts +2 -0
- package/dist/src/internal/renderer/input/index.d.ts.map +1 -0
- package/dist/src/internal/renderer/input/index.js +2 -0
- package/dist/src/internal/renderer/input/index.js.map +1 -0
- package/dist/src/internal/renderer/lifecycle/EventBus.d.ts +42 -0
- package/dist/src/internal/renderer/lifecycle/EventBus.d.ts.map +1 -0
- package/dist/src/internal/renderer/lifecycle/EventBus.js +97 -0
- package/dist/src/internal/renderer/lifecycle/EventBus.js.map +1 -0
- package/dist/src/internal/renderer/lifecycle/ProcessLifecycle.d.ts +13 -0
- package/dist/src/internal/renderer/lifecycle/ProcessLifecycle.d.ts.map +1 -0
- package/dist/src/internal/renderer/lifecycle/ProcessLifecycle.js +111 -0
- package/dist/src/internal/renderer/lifecycle/ProcessLifecycle.js.map +1 -0
- package/dist/src/internal/renderer/lifecycle/RenderCache.d.ts +3 -0
- package/dist/src/internal/renderer/lifecycle/RenderCache.d.ts.map +1 -0
- package/dist/src/internal/renderer/lifecycle/RenderCache.js +9 -0
- package/dist/src/internal/renderer/lifecycle/RenderCache.js.map +1 -0
- package/dist/src/internal/renderer/lifecycle/index.d.ts +4 -0
- package/dist/src/internal/renderer/lifecycle/index.d.ts.map +1 -0
- package/dist/src/internal/renderer/lifecycle/index.js +4 -0
- package/dist/src/internal/renderer/lifecycle/index.js.map +1 -0
- package/dist/src/internal/renderer/modes/FullscreenRenderer.d.ts +12 -0
- package/dist/src/internal/renderer/modes/FullscreenRenderer.d.ts.map +1 -0
- package/dist/src/internal/renderer/modes/FullscreenRenderer.js +54 -0
- package/dist/src/internal/renderer/modes/FullscreenRenderer.js.map +1 -0
- package/dist/src/internal/renderer/modes/InlineRenderer.d.ts +25 -0
- package/dist/src/internal/renderer/modes/InlineRenderer.d.ts.map +1 -0
- package/dist/src/internal/renderer/modes/InlineRenderer.js +166 -0
- package/dist/src/internal/renderer/modes/InlineRenderer.js.map +1 -0
- package/dist/src/internal/renderer/modes/RendererMode.d.ts +42 -0
- package/dist/src/internal/renderer/modes/RendererMode.d.ts.map +1 -0
- package/dist/src/internal/renderer/modes/RendererMode.js +2 -0
- package/dist/src/internal/renderer/modes/RendererMode.js.map +1 -0
- package/dist/src/internal/renderer/modes/StaticContentRenderer.d.ts +25 -0
- package/dist/src/internal/renderer/modes/StaticContentRenderer.d.ts.map +1 -0
- package/dist/src/internal/renderer/modes/StaticContentRenderer.js +49 -0
- package/dist/src/internal/renderer/modes/StaticContentRenderer.js.map +1 -0
- package/dist/src/internal/renderer/modes/index.d.ts +5 -0
- package/dist/src/internal/renderer/modes/index.d.ts.map +1 -0
- package/dist/src/internal/renderer/modes/index.js +4 -0
- package/dist/src/internal/renderer/modes/index.js.map +1 -0
- package/dist/src/internal/renderer/terminal/KeyboardCapabilityProbe.d.ts +13 -0
- package/dist/src/internal/renderer/terminal/KeyboardCapabilityProbe.d.ts.map +1 -0
- package/dist/src/internal/renderer/terminal/KeyboardCapabilityProbe.js +75 -0
- package/dist/src/internal/renderer/terminal/KeyboardCapabilityProbe.js.map +1 -0
- package/dist/src/internal/renderer/terminal/TerminalSetup.d.ts +29 -0
- package/dist/src/internal/renderer/terminal/TerminalSetup.d.ts.map +1 -0
- package/dist/src/internal/renderer/terminal/TerminalSetup.js +82 -0
- package/dist/src/internal/renderer/terminal/TerminalSetup.js.map +1 -0
- package/dist/src/internal/renderer/terminal/index.d.ts +3 -0
- package/dist/src/internal/renderer/terminal/index.d.ts.map +1 -0
- package/dist/src/internal/renderer/terminal/index.js +3 -0
- package/dist/src/internal/renderer/terminal/index.js.map +1 -0
- package/dist/src/internal/renderer/types.d.ts +122 -0
- package/dist/src/internal/renderer/types.d.ts.map +1 -0
- package/dist/src/internal/renderer/types.js +2 -0
- package/dist/src/internal/renderer/types.js.map +1 -0
- package/dist/src/motion/hooks.d.ts +1 -1
- package/dist/src/motion/hooks.js +1 -1
- package/dist/src/reconciler/host-config.js +2 -2
- package/dist/src/reconciler/host-config.js.map +1 -1
- package/dist/src/reconciler/types.d.ts +5 -1
- package/dist/src/reconciler/types.d.ts.map +1 -1
- package/dist/src/renderer-context.d.ts +1 -8
- package/dist/src/renderer-context.d.ts.map +1 -1
- package/dist/src/renderer-context.js +1 -21
- package/dist/src/renderer-context.js.map +1 -1
- package/dist/src/renderer-types.d.ts +1 -115
- package/dist/src/renderer-types.d.ts.map +1 -1
- package/dist/src/renderer.d.ts +1 -31
- package/dist/src/renderer.d.ts.map +1 -1
- package/dist/src/renderer.js +1 -495
- package/dist/src/renderer.js.map +1 -1
- package/dist/src/test/render-tui.d.ts +3 -3
- package/dist/src/test/render-tui.d.ts.map +1 -1
- package/dist/src/test/render-tui.js +16 -9
- package/dist/src/test/render-tui.js.map +1 -1
- package/dist/src/utils/alignment.d.ts +1 -1
- package/dist/src/utils/alignment.d.ts.map +1 -1
- package/dist/src/utils/alignment.js +0 -2
- package/dist/src/utils/alignment.js.map +1 -1
- package/dist/src/utils/border.d.ts +1 -1
- package/dist/src/utils/border.d.ts.map +1 -1
- package/dist/src/utils/border.js +2 -0
- package/dist/src/utils/border.js.map +1 -1
- package/dist/src/utils/console-helpers.d.ts +19 -0
- package/dist/src/utils/console-helpers.d.ts.map +1 -0
- package/dist/src/utils/console-helpers.js +61 -0
- package/dist/src/utils/console-helpers.js.map +1 -0
- package/dist/src/utils/index.d.ts +2 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +2 -1
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/styles.d.ts +8 -1
- package/dist/src/utils/styles.d.ts.map +1 -1
- package/dist/src/utils/styles.js +10 -8
- package/dist/src/utils/styles.js.map +1 -1
- package/dist/src/utils/text-layout.d.ts +22 -0
- package/dist/src/utils/text-layout.d.ts.map +1 -0
- package/dist/src/utils/text-layout.js +37 -0
- package/dist/src/utils/text-layout.js.map +1 -0
- package/dist/src/utils/text-wrap.d.ts +31 -1
- package/dist/src/utils/text-wrap.d.ts.map +1 -1
- package/dist/src/utils/text-wrap.js +205 -48
- package/dist/src/utils/text-wrap.js.map +1 -1
- package/dist/src/visualize/index.js +1 -1
- package/dist/src/visualize/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/codeblock.tsx +2 -2
- package/src/components/ListView.tsx +21 -23
- package/src/components/Markdown.tsx +3 -3
- package/src/components/MultilineTextInput.tsx +138 -344
- package/src/components/TextInput.tsx +54 -99
- package/src/components/text-editing.ts +180 -0
- package/src/console/ConsolePopover.tsx +124 -107
- package/src/debug/DebugOverlay.ts +15 -74
- package/src/debug/DiagnosticsPanel.tsx +1 -1
- package/src/dev.tsx +5 -458
- package/src/hooks/use-scroll.ts +85 -145
- package/src/hosts/base.ts +86 -3
- package/src/hosts/box.ts +37 -2
- package/src/hosts/canvas.ts +128 -42
- package/src/hosts/codeblock.ts +48 -35
- package/src/hosts/flex-container.ts +25 -6
- package/src/hosts/index.ts +11 -2
- package/src/hosts/layout-helpers.ts +20 -0
- package/src/hosts/leaf.ts +36 -0
- package/src/hosts/overlay-item.ts +8 -2
- package/src/hosts/overlay.ts +13 -11
- package/src/hosts/scroll.ts +228 -106
- package/src/hosts/single-child.ts +2 -0
- package/src/hosts/spacer.ts +8 -3
- package/src/hosts/text.ts +126 -132
- package/src/hosts/vstack.ts +1 -1
- package/src/hosts/zstack.ts +14 -9
- package/src/index.ts +2 -2
- package/src/internal/dev/hmr.ts +101 -0
- package/src/internal/dev/runtime.ts +170 -0
- package/src/internal/dev/ui.tsx +87 -0
- package/src/internal/renderer/context.ts +27 -0
- package/src/{renderer → internal/renderer}/core/FrameBuilder.ts +2 -2
- package/src/internal/renderer/index.ts +689 -0
- package/src/{renderer → internal/renderer}/input/InputProcessor.ts +10 -1
- package/src/{renderer → internal/renderer}/lifecycle/EventBus.ts +9 -1
- package/src/internal/renderer/lifecycle/ProcessLifecycle.ts +125 -0
- package/src/internal/renderer/lifecycle/index.ts +3 -0
- package/src/{renderer → internal/renderer}/modes/InlineRenderer.ts +5 -2
- package/src/{renderer → internal/renderer}/modes/RendererMode.ts +1 -1
- package/src/{renderer → internal/renderer}/modes/StaticContentRenderer.ts +5 -2
- package/src/internal/renderer/terminal/KeyboardCapabilityProbe.ts +91 -0
- package/src/{renderer/lifecycle → internal/renderer/terminal}/TerminalSetup.ts +4 -22
- package/src/internal/renderer/terminal/index.ts +2 -0
- package/src/internal/renderer/types.ts +129 -0
- package/src/motion/hooks.ts +1 -1
- package/src/reconciler/host-config.ts +2 -2
- package/src/reconciler/types.ts +7 -1
- package/src/renderer-context.ts +1 -27
- package/src/renderer-types.ts +10 -123
- package/src/renderer.ts +1 -619
- package/src/test/render-tui.ts +16 -10
- package/src/utils/alignment.ts +1 -3
- package/src/utils/border.ts +11 -1
- package/src/utils/console-helpers.ts +86 -0
- package/src/utils/index.ts +15 -1
- package/src/utils/styles.ts +16 -4
- package/src/utils/text-layout.ts +65 -0
- package/src/utils/text-wrap.ts +261 -48
- package/src/visualize/index.tsx +1 -1
- package/src/renderer/lifecycle/ResizeManager.ts +0 -65
- package/src/renderer/lifecycle/index.ts +0 -4
- /package/src/{renderer → internal/renderer}/core/RendererState.ts +0 -0
- /package/src/{renderer → internal/renderer}/core/index.ts +0 -0
- /package/src/{renderer → internal/renderer}/input/index.ts +0 -0
- /package/src/{renderer → internal/renderer}/lifecycle/RenderCache.ts +0 -0
- /package/src/{renderer → internal/renderer}/modes/FullscreenRenderer.ts +0 -0
- /package/src/{renderer → internal/renderer}/modes/index.ts +0 -0
package/dist/src/hosts/scroll.js
CHANGED
|
@@ -1,23 +1,45 @@
|
|
|
1
1
|
import { fillRectWithInheritedBg } from "../utils/index.js";
|
|
2
2
|
import { SingleChildHost } from "./single-child.js";
|
|
3
|
+
const isAlignX = (value) => value === "left" || value === "center" || value === "right";
|
|
4
|
+
const isAlignY = (value) => value === "top" || value === "center" || value === "bottom";
|
|
5
|
+
const resolveAlign = (align) => {
|
|
6
|
+
let x;
|
|
7
|
+
let y;
|
|
8
|
+
if (typeof align === "string") {
|
|
9
|
+
if (isAlignX(align))
|
|
10
|
+
x = align;
|
|
11
|
+
if (isAlignY(align))
|
|
12
|
+
y = align;
|
|
13
|
+
}
|
|
14
|
+
else if (align) {
|
|
15
|
+
x = align.x;
|
|
16
|
+
y = align.y;
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
x: x ?? "left",
|
|
20
|
+
y: y ?? "top",
|
|
21
|
+
};
|
|
22
|
+
};
|
|
3
23
|
export class ScrollHost extends SingleChildHost {
|
|
4
24
|
axis = "vertical";
|
|
5
|
-
|
|
25
|
+
offsetY = 0;
|
|
6
26
|
offsetX = 0;
|
|
7
|
-
align
|
|
27
|
+
align;
|
|
8
28
|
bg;
|
|
9
29
|
showScrollbar = true;
|
|
10
30
|
sticky = false;
|
|
11
31
|
// Scroll is greedy by default - expands to fill available space
|
|
12
32
|
greedy = 1;
|
|
13
|
-
|
|
14
|
-
onViewportSize;
|
|
15
|
-
onEffectiveOffset;
|
|
16
|
-
onEffectiveOffsetX;
|
|
17
|
-
onRect;
|
|
33
|
+
onScrollLayoutChange;
|
|
18
34
|
// Measured content dimensions (full size before clipping)
|
|
19
35
|
contentWidth = 0;
|
|
20
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;
|
|
21
43
|
// Track last reported sizes to avoid redundant callbacks
|
|
22
44
|
lastReportedContentW = -1;
|
|
23
45
|
lastReportedContentH = -1;
|
|
@@ -27,6 +49,8 @@ export class ScrollHost extends SingleChildHost {
|
|
|
27
49
|
lastRectY = -1;
|
|
28
50
|
lastRectW = -1;
|
|
29
51
|
lastRectH = -1;
|
|
52
|
+
lastOffsetY = -1;
|
|
53
|
+
lastOffsetX = -1;
|
|
30
54
|
// Track if we were at end (for sticky behavior)
|
|
31
55
|
wasAtEnd = true;
|
|
32
56
|
wasAtEndX = true;
|
|
@@ -37,72 +61,112 @@ export class ScrollHost extends SingleChildHost {
|
|
|
37
61
|
super("scroll", props, ctx);
|
|
38
62
|
this.updateProps(props);
|
|
39
63
|
}
|
|
40
|
-
|
|
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) {
|
|
41
84
|
// Apply frame constraints to determine our size
|
|
42
85
|
const constrained = this.constrainProposal(maxW, maxH);
|
|
43
|
-
// Measure child with unbounded dimension(s) based on axis
|
|
44
|
-
let childMaxW = constrained.w;
|
|
45
|
-
let childMaxH = constrained.h;
|
|
46
|
-
if (this.axis === "vertical" || this.axis === "both") {
|
|
47
|
-
childMaxH = Number.MAX_SAFE_INTEGER;
|
|
48
|
-
}
|
|
49
|
-
if (this.axis === "horizontal" || this.axis === "both") {
|
|
50
|
-
childMaxW = Number.MAX_SAFE_INTEGER;
|
|
51
|
-
}
|
|
52
|
-
// Measure single child (scroll should have at most one child)
|
|
53
86
|
const child = this.child;
|
|
54
|
-
if (child) {
|
|
55
|
-
|
|
56
|
-
this.
|
|
57
|
-
|
|
58
|
-
|
|
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 });
|
|
59
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;
|
|
60
135
|
// Report natural content size (clamped to constrained bounds)
|
|
61
136
|
// Greedy expansion happens in layout phase via layoutFlex
|
|
62
|
-
const naturalW = Math.min(this.contentWidth, constrained.w);
|
|
63
|
-
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);
|
|
64
139
|
return this.constrainResult({ w: naturalW, h: naturalH });
|
|
65
140
|
}
|
|
66
|
-
|
|
141
|
+
layoutSelf(rect) {
|
|
67
142
|
const layoutRect = this.layoutWithConstraints(rect);
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
this.lastViewportH = layoutRect.h;
|
|
78
|
-
this.onViewportSize(layoutRect.w, layoutRect.h);
|
|
79
|
-
}
|
|
80
|
-
// Report rect if position changed (for hit testing)
|
|
81
|
-
if (layoutRect.x !== this.lastRectX ||
|
|
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;
|
|
148
|
+
const { x: alignX, y: alignY } = resolveAlign(this.align);
|
|
149
|
+
const contentChanged = this.contentWidth !== this.lastReportedContentW || this.contentHeight !== this.lastReportedContentH;
|
|
150
|
+
const viewportChanged = this.viewportWidth !== this.lastViewportW || this.viewportHeight !== this.lastViewportH;
|
|
151
|
+
const rectChanged = layoutRect.x !== this.lastRectX ||
|
|
82
152
|
layoutRect.y !== this.lastRectY ||
|
|
83
153
|
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);
|
|
90
|
-
}
|
|
154
|
+
layoutRect.h !== this.lastRectH;
|
|
91
155
|
const child = this.child;
|
|
92
156
|
if (!child)
|
|
93
157
|
return;
|
|
94
158
|
// Calculate max scroll offsets
|
|
95
|
-
const maxScrollY = Math.max(0, this.contentHeight -
|
|
96
|
-
const maxScrollX = Math.max(0, this.contentWidth -
|
|
159
|
+
const maxScrollY = Math.max(0, this.contentHeight - this.viewportHeight);
|
|
160
|
+
const maxScrollX = Math.max(0, this.contentWidth - this.viewportWidth);
|
|
97
161
|
// Start with the offset from props (controlled by useScroll)
|
|
98
|
-
let scrollY = this.
|
|
162
|
+
let scrollY = this.offsetY;
|
|
99
163
|
let scrollX = this.offsetX;
|
|
100
164
|
// Sticky scroll logic (vertical):
|
|
101
165
|
// - If user manually scrolled away from end (offset < effectiveOffset), unstick
|
|
102
166
|
// - If at end (or was at end and content grew), stay stuck
|
|
103
167
|
if (this.sticky && (this.axis === "vertical" || this.axis === "both")) {
|
|
104
168
|
// Detect if user scrolled away (offset prop is less than where we rendered)
|
|
105
|
-
const userScrolledAway = this.
|
|
169
|
+
const userScrolledAway = this.offsetY < this.effectiveOffset - 1;
|
|
106
170
|
if (userScrolledAway) {
|
|
107
171
|
// User scrolled up - unstick
|
|
108
172
|
this.wasAtEnd = false;
|
|
@@ -129,24 +193,24 @@ export class ScrollHost extends SingleChildHost {
|
|
|
129
193
|
scrollY = Math.max(0, Math.min(maxScrollY, scrollY));
|
|
130
194
|
scrollX = Math.max(0, Math.min(maxScrollX, scrollX));
|
|
131
195
|
// Store effective offsets for rendering (scrollbar position)
|
|
132
|
-
// Report back if clamped or changed (keep controller in sync)
|
|
133
|
-
if (scrollY !== this.effectiveOffset || scrollY !== this.offset) {
|
|
134
|
-
this.onEffectiveOffset?.(scrollY);
|
|
135
|
-
}
|
|
136
|
-
if (scrollX !== this.effectiveOffsetX || scrollX !== this.offsetX) {
|
|
137
|
-
this.onEffectiveOffsetX?.(scrollX);
|
|
138
|
-
}
|
|
139
196
|
this.effectiveOffset = scrollY;
|
|
140
197
|
this.effectiveOffsetX = scrollX;
|
|
198
|
+
const offsetChanged = this.effectiveOffset !== this.lastOffsetY || this.effectiveOffsetX !== this.lastOffsetX;
|
|
141
199
|
// Handle alignment when content is smaller than viewport
|
|
142
|
-
if (this.
|
|
143
|
-
if (
|
|
144
|
-
|
|
145
|
-
scrollY = -(layoutRect.h - this.contentHeight);
|
|
200
|
+
if (this.contentHeight < this.viewportHeight && (this.axis === "vertical" || this.axis === "both")) {
|
|
201
|
+
if (alignY === "bottom") {
|
|
202
|
+
scrollY = -(this.viewportHeight - this.contentHeight);
|
|
146
203
|
}
|
|
147
|
-
if (
|
|
148
|
-
|
|
149
|
-
|
|
204
|
+
else if (alignY === "center") {
|
|
205
|
+
scrollY = -Math.floor((this.viewportHeight - this.contentHeight) / 2);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
if (this.contentWidth < this.viewportWidth && (this.axis === "horizontal" || this.axis === "both")) {
|
|
209
|
+
if (alignX === "right") {
|
|
210
|
+
scrollX = -(this.viewportWidth - this.contentWidth);
|
|
211
|
+
}
|
|
212
|
+
else if (alignX === "center") {
|
|
213
|
+
scrollX = -Math.floor((this.viewportWidth - this.contentWidth) / 2);
|
|
150
214
|
}
|
|
151
215
|
}
|
|
152
216
|
// Layout child at offset position
|
|
@@ -157,6 +221,25 @@ export class ScrollHost extends SingleChildHost {
|
|
|
157
221
|
h: this.contentHeight,
|
|
158
222
|
};
|
|
159
223
|
child.layout(childRect);
|
|
224
|
+
if (this.onScrollLayoutChange && (contentChanged || viewportChanged || rectChanged || offsetChanged)) {
|
|
225
|
+
this.lastReportedContentW = this.contentWidth;
|
|
226
|
+
this.lastReportedContentH = this.contentHeight;
|
|
227
|
+
this.lastViewportW = this.viewportWidth;
|
|
228
|
+
this.lastViewportH = this.viewportHeight;
|
|
229
|
+
this.lastRectX = layoutRect.x;
|
|
230
|
+
this.lastRectY = layoutRect.y;
|
|
231
|
+
this.lastRectW = layoutRect.w;
|
|
232
|
+
this.lastRectH = layoutRect.h;
|
|
233
|
+
this.lastOffsetY = this.effectiveOffset;
|
|
234
|
+
this.lastOffsetX = this.effectiveOffsetX;
|
|
235
|
+
this.onScrollLayoutChange({
|
|
236
|
+
content: { width: this.contentWidth, height: this.contentHeight },
|
|
237
|
+
viewport: { width: this.viewportWidth, height: this.viewportHeight },
|
|
238
|
+
offset: { x: this.effectiveOffsetX, y: this.effectiveOffset },
|
|
239
|
+
rect: { x: layoutRect.x, y: layoutRect.y, w: layoutRect.w, h: layoutRect.h },
|
|
240
|
+
axis: this.axis,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
160
243
|
}
|
|
161
244
|
render(buffer, palette) {
|
|
162
245
|
if (!this.rect)
|
|
@@ -164,8 +247,8 @@ export class ScrollHost extends SingleChildHost {
|
|
|
164
247
|
const { x, y, w, h } = this.rect;
|
|
165
248
|
// Fill background (inherit from parent if not explicitly set)
|
|
166
249
|
fillRectWithInheritedBg(buffer, palette, { x, y, w, h }, this.bg, this.parent);
|
|
167
|
-
// Render children with clipping
|
|
168
|
-
buffer.withClip(x, y,
|
|
250
|
+
// Render children with clipping (exclude scrollbar gutters)
|
|
251
|
+
buffer.withClip(x, y, this.viewportWidth, this.viewportHeight, () => {
|
|
169
252
|
const child = this.child;
|
|
170
253
|
if (child) {
|
|
171
254
|
child.render(buffer, palette);
|
|
@@ -181,32 +264,32 @@ export class ScrollHost extends SingleChildHost {
|
|
|
181
264
|
return;
|
|
182
265
|
const { x, y, w, h } = this.rect;
|
|
183
266
|
// Vertical scrollbar
|
|
184
|
-
if (
|
|
185
|
-
const maxScroll = this.contentHeight -
|
|
267
|
+
if (this.showVerticalScrollbar) {
|
|
268
|
+
const maxScroll = Math.max(1, this.contentHeight - this.viewportHeight);
|
|
186
269
|
const scrollRatio = Math.min(1, this.effectiveOffset / maxScroll);
|
|
187
|
-
const thumbRatio =
|
|
188
|
-
const thumbHeight = Math.max(1, Math.floor(
|
|
189
|
-
const thumbY = Math.floor((
|
|
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);
|
|
190
273
|
const trackStyle = palette.id({ fg: 8 }); // dim
|
|
191
274
|
const thumbStyle = palette.id({ fg: 7 }); // brighter
|
|
192
275
|
// Draw track
|
|
193
|
-
for (let row = 0; row <
|
|
276
|
+
for (let row = 0; row < this.viewportHeight; row++) {
|
|
194
277
|
const char = row >= thumbY && row < thumbY + thumbHeight ? "┃" : "│";
|
|
195
278
|
const style = row >= thumbY && row < thumbY + thumbHeight ? thumbStyle : trackStyle;
|
|
196
279
|
buffer.drawCP(x + w - 1, y + row, char.codePointAt(0), style);
|
|
197
280
|
}
|
|
198
281
|
}
|
|
199
282
|
// Horizontal scrollbar
|
|
200
|
-
if (
|
|
201
|
-
const maxScroll = this.contentWidth -
|
|
283
|
+
if (this.showHorizontalScrollbar) {
|
|
284
|
+
const maxScroll = Math.max(1, this.contentWidth - this.viewportWidth);
|
|
202
285
|
const scrollRatio = Math.min(1, this.effectiveOffsetX / maxScroll);
|
|
203
|
-
const thumbRatio =
|
|
204
|
-
const thumbWidth = Math.max(1, Math.floor(
|
|
205
|
-
const thumbX = Math.floor((
|
|
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);
|
|
206
289
|
const trackStyle = palette.id({ fg: 8 });
|
|
207
290
|
const thumbStyle = palette.id({ fg: 7 });
|
|
208
291
|
// Draw track
|
|
209
|
-
for (let col = 0; col <
|
|
292
|
+
for (let col = 0; col < this.viewportWidth; col++) {
|
|
210
293
|
const char = col >= thumbX && col < thumbX + thumbWidth ? "━" : "─";
|
|
211
294
|
const style = col >= thumbX && col < thumbX + thumbWidth ? thumbStyle : trackStyle;
|
|
212
295
|
buffer.drawCP(x + col, y + h - 1, char.codePointAt(0), style);
|
|
@@ -217,24 +300,39 @@ export class ScrollHost extends SingleChildHost {
|
|
|
217
300
|
super.updateProps(props);
|
|
218
301
|
// Scroll is greedy by default unless explicitly set to false
|
|
219
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;
|
|
220
310
|
if (props.axis !== undefined)
|
|
221
311
|
this.axis = props.axis ?? "vertical";
|
|
222
|
-
if (props.
|
|
223
|
-
this.
|
|
312
|
+
if (props.offsetY !== undefined)
|
|
313
|
+
this.offsetY = props.offsetY;
|
|
224
314
|
if (props.offsetX !== undefined)
|
|
225
315
|
this.offsetX = props.offsetX;
|
|
226
316
|
if (props.align !== undefined)
|
|
227
|
-
this.align = props.align
|
|
317
|
+
this.align = props.align;
|
|
228
318
|
this.bg = props.bg;
|
|
229
319
|
if (props.showScrollbar !== undefined)
|
|
230
320
|
this.showScrollbar = props.showScrollbar;
|
|
231
321
|
if (props.sticky !== undefined)
|
|
232
322
|
this.sticky = props.sticky;
|
|
233
|
-
this.
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
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
|
+
}
|
|
238
336
|
}
|
|
239
337
|
}
|
|
240
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":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAyCnD,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAyB,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,CAAA;AACtH,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAyB,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAA;AAEtH,MAAM,YAAY,GAAG,CAAC,KAA8B,EAAwC,EAAE;IAC7F,IAAI,CAA2B,CAAA;IAC/B,IAAI,CAA2B,CAAA;IAE/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,CAAC,GAAG,KAAK,CAAA;QAC9B,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,CAAC,GAAG,KAAK,CAAA;IAC/B,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QAClB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;QACX,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;IACZ,CAAC;IAED,OAAO;QACN,CAAC,EAAE,CAAC,IAAI,MAAM;QACd,CAAC,EAAE,CAAC,IAAI,KAAK;KACb,CAAA;AACF,CAAC,CAAA;AAED,MAAM,OAAO,UAAW,SAAQ,eAAe;IAC9C,IAAI,GAAe,UAAU,CAAA;IAC7B,OAAO,GAAG,CAAC,CAAA;IACX,OAAO,GAAG,CAAC,CAAA;IACX,KAAK,CAAc;IACnB,EAAE,CAAQ;IACV,aAAa,GAAG,IAAI,CAAA;IACpB,MAAM,GAAG,KAAK,CAAA;IAEd,gEAAgE;IACvD,MAAM,GAAiC,CAAC,CAAA;IACjD,oBAAoB,CAAsC;IAE1D,0DAA0D;IAClD,YAAY,GAAG,CAAC,CAAA;IAChB,aAAa,GAAG,CAAC,CAAA;IACzB,yEAAyE;IACjE,aAAa,GAAG,CAAC,CAAA;IACjB,cAAc,GAAG,CAAC,CAAA;IAC1B,6DAA6D;IACrD,qBAAqB,GAAG,KAAK,CAAA;IAC7B,uBAAuB,GAAG,KAAK,CAAA;IACvC,yDAAyD;IACjD,oBAAoB,GAAG,CAAC,CAAC,CAAA;IACzB,oBAAoB,GAAG,CAAC,CAAC,CAAA;IACzB,aAAa,GAAG,CAAC,CAAC,CAAA;IAClB,aAAa,GAAG,CAAC,CAAC,CAAA;IAClB,SAAS,GAAG,CAAC,CAAC,CAAA;IACd,SAAS,GAAG,CAAC,CAAC,CAAA;IACd,SAAS,GAAG,CAAC,CAAC,CAAA;IACd,SAAS,GAAG,CAAC,CAAC,CAAA;IACd,WAAW,GAAG,CAAC,CAAC,CAAA;IAChB,WAAW,GAAG,CAAC,CAAC,CAAA;IACxB,gDAAgD;IACxC,QAAQ,GAAG,IAAI,CAAA;IACf,SAAS,GAAG,IAAI,CAAA;IACxB,gEAAgE;IACxD,eAAe,GAAG,CAAC,CAAA;IACnB,gBAAgB,GAAG,CAAC,CAAA;IAE5B,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;IAEO,eAAe,CAAC,KAAa,EAAE,KAAa,EAAE,QAAgB,EAAE,QAAgB;QAMvF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;QACvF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;QACzF,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAClC,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAClC,IAAI,KAAK,GAAG,KAAK,CAAA;QACjB,IAAI,KAAK,GAAG,KAAK,CAAA;QAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAM,IAAI,QAAQ,GAAG,SAAS,CAAA;YAChD,MAAM,SAAS,GAAG,MAAM,IAAI,QAAQ,GAAG,SAAS,CAAA;YAChD,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,KAAK;gBAAE,MAAK;YACrD,KAAK,GAAG,SAAS,CAAA;YACjB,KAAK,GAAG,SAAS,CAAA;YACjB,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAChD,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IAC9C,CAAC;IAES,WAAW,CAAC,IAAY,EAAE,IAAY;QAC/C,gDAAgD;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;YACrB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACzE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAA;YACvC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAA;YACxC,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,KAAK,CAAA;YAC3C,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC,KAAK,CAAA;YAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC5C,CAAC;QAED,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAQ,EAAE;YACnE,IAAI,SAAS,GAAG,SAAS,CAAA;YACzB,IAAI,SAAS,GAAG,SAAS,CAAA;YAEzB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACtD,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAA;YACpC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxD,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAA;YACpC,CAAC;YAED,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC3C,CAAC,CAAA;QAED,IAAI,SAAS,GAAG,WAAW,CAAC,CAAC,CAAA;QAC7B,IAAI,SAAS,GAAG,WAAW,CAAC,CAAC,CAAA;QAC7B,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,KAAK,GAAG,KAAK,CAAA;QACjB,IAAI,KAAK,GAAG,KAAK,CAAA;QAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;YACpD,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAA;YACtB,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAA;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;YACvF,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1E,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;gBACtB,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;gBACtB,MAAK;YACN,CAAC;YACD,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;YAC9B,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;YAC9B,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;YACtB,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;QACvB,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAA;QAC5B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAA;QAC7B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;QAC9B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;QAC/B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAA;QAClC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAA;QAEpC,8DAA8D;QAC9D,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;QAClG,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;QAErG,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC1D,CAAC;IAEkB,UAAU,CAAC,IAAU;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QACxG,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAA;QACvC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAA;QACxC,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,KAAK,CAAA;QAC3C,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC,KAAK,CAAA;QAE7C,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEzD,MAAM,cAAc,GACnB,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,oBAAoB,CAAA;QACpG,MAAM,eAAe,GACpB,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,aAAa,CAAA;QACxF,MAAM,WAAW,GAChB,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS;YAC/B,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS;YAC/B,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS;YAC/B,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAA;QAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,+BAA+B;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA;QAEtE,6DAA6D;QAC7D,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE1B,kCAAkC;QAClC,gFAAgF;QAChF,2DAA2D;QAC3D,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;YACvE,4EAA4E;YAC5E,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;YAEhE,IAAI,gBAAgB,EAAE,CAAC;gBACtB,6BAA6B;gBAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;YACtB,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1B,mDAAmD;gBACnD,OAAO,GAAG,UAAU,CAAA;YACrB,CAAC;QACF,CAAC;QAED,mCAAmC;QACnC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;YACzE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAA;YAEjE,IAAI,gBAAgB,EAAE,CAAC;gBACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;YACvB,CAAC;iBAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3B,OAAO,GAAG,UAAU,CAAA;YACrB,CAAC;QACF,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,UAAU,GAAG,CAAC,CAAA;QACzC,IAAI,CAAC,SAAS,GAAG,OAAO,IAAI,UAAU,GAAG,CAAC,CAAA;QAE1C,gBAAgB;QAChB,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;QACpD,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;QAEpD,6DAA6D;QAC7D,IAAI,CAAC,eAAe,GAAG,OAAO,CAAA;QAC9B,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAA;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,WAAW,CAAA;QAE7G,yDAAyD;QACzD,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;YACpG,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzB,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA;YACtD,CAAC;iBAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;YACtE,CAAC;QACF,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;YACpG,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACxB,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,CAAA;YACpD,CAAC;iBAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;YACpE,CAAC;QACF,CAAC;QAED,kCAAkC;QAClC,MAAM,SAAS,GAAS;YACvB,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,OAAO;YACzB,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,OAAO;YACzB,CAAC,EAAE,IAAI,CAAC,YAAY;YACpB,CAAC,EAAE,IAAI,CAAC,aAAa;SACrB,CAAA;QACD,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAEvB,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,cAAc,IAAI,eAAe,IAAI,WAAW,IAAI,aAAa,CAAC,EAAE,CAAC;YACtG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAA;YAC7C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAA;YAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;YACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAA;YACxC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAA;YAC7B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAA;YAC7B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAA;YAC7B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAA;YAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAA;YACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAA;YAExC,IAAI,CAAC,oBAAoB,CAAC;gBACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE;gBACjE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE;gBACpE,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE;gBAC7D,IAAI,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE;gBAC5E,IAAI,EAAE,IAAI,CAAC,IAAI;aACf,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED,MAAM,CAAC,MAAkB,EAAE,OAAgB;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAM;QACtB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QAEhC,8DAA8D;QAC9D,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE9E,4DAA4D;QAC5D,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;YACxB,IAAI,KAAK,EAAE,CAAC;gBACX,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC9B,CAAC;QACF,CAAC,CAAC,CAAA;QAEF,4BAA4B;QAC5B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACvC,CAAC;IACF,CAAC;IAEO,gBAAgB,CAAC,MAAkB,EAAE,OAAgB;QAC5D,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAM;QACtB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QAEhC,qBAAqB;QACrB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAA;YACvE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,CAAA;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAA;YAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAA;YAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC,CAAA;YAE5E,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA,CAAC,MAAM;YAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA,CAAC,WAAW;YAEpD,aAAa;YACb,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE,CAAC;gBACpD,MAAM,IAAI,GAAG,GAAG,IAAI,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;gBACpE,MAAM,KAAK,GAAG,GAAG,IAAI,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAA;gBACnF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAA;YAC/D,CAAC;QACF,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA;YACrE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAA;YAClE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAA;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,CAAA;YAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,WAAW,CAAC,CAAA;YAE1E,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;YACxC,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;YAExC,aAAa;YACb,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC;gBACnD,MAAM,IAAI,GAAG,GAAG,IAAI,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;gBACnE,MAAM,KAAK,GAAG,GAAG,IAAI,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAA;gBAClF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAA;YAC/D,CAAC;QACF,CAAC;IACF,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,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAA;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAA;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAA;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;QACtB,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAA;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAA;QAE9B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAI,KAAK,CAAC,IAA4B,IAAI,UAAU,CAAA;QAC3F,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAiB,CAAA;QACvE,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAiB,CAAA;QACvE,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAA6B,CAAA;QAC/E,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAuB,CAAA;QACvC,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAwB,CAAA;QAC1F,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAiB,CAAA;QACrE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAA2D,CAAA;QAE7F,MAAM,aAAa,GAClB,QAAQ,KAAK,IAAI,CAAC,IAAI;YACtB,WAAW,KAAK,IAAI,CAAC,OAAO;YAC5B,WAAW,KAAK,IAAI,CAAC,OAAO;YAC5B,UAAU,KAAK,IAAI,CAAC,MAAM;YAC1B,SAAS,KAAK,IAAI,CAAC,KAAK;YACxB,iBAAiB,KAAK,IAAI,CAAC,aAAa,CAAA;QAEzC,IAAI,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACxB,CAAC;aAAM,IAAI,MAAM,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACxB,CAAC;IACF,CAAC;CACD"}
|
|
@@ -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;
|
|
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;
|
|
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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type { CellBuffer, Palette } from "@effect-tui/core";
|
|
2
2
|
import type { CommonProps, HostContext, Size } from "../reconciler/types.js";
|
|
3
|
-
import {
|
|
3
|
+
import { LeafHost } from "./leaf.js";
|
|
4
4
|
export interface SpacerProps extends CommonProps {
|
|
5
5
|
/** Minimum width (default 0) */
|
|
6
6
|
minWidth?: number;
|
|
7
7
|
/** Minimum height (default 0) */
|
|
8
8
|
minHeight?: number;
|
|
9
9
|
}
|
|
10
|
-
export declare class SpacerHost extends
|
|
10
|
+
export declare class SpacerHost extends LeafHost {
|
|
11
11
|
minWidth: number;
|
|
12
12
|
minHeight: number;
|
|
13
13
|
greedy: boolean | number | undefined;
|
|
14
14
|
constructor(props: SpacerProps, ctx: HostContext);
|
|
15
|
-
|
|
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,
|
|
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"}
|
package/dist/src/hosts/spacer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export class SpacerHost extends
|
|
1
|
+
import { LeafHost } from "./leaf.js";
|
|
2
|
+
export class SpacerHost extends LeafHost {
|
|
3
3
|
minWidth = 0;
|
|
4
4
|
minHeight = 0;
|
|
5
5
|
// Spacers are greedy by default
|
|
@@ -8,7 +8,7 @@ export class SpacerHost extends BaseHost {
|
|
|
8
8
|
super("spacer", props, ctx);
|
|
9
9
|
this.updateProps(props);
|
|
10
10
|
}
|
|
11
|
-
|
|
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 BaseHost {
|
|
|
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;
|
|
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"}
|
package/dist/src/hosts/text.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { type CellBuffer, type Color, type Palette } from "@effect-tui/core";
|
|
|
2
2
|
import type { ColorMotionValue } from "../motion/color-motion-value.js";
|
|
3
3
|
import type { CommonProps, HostContext, HostInstance, Rect, Size } from "../reconciler/types.js";
|
|
4
4
|
import { BaseHost } from "./base.js";
|
|
5
|
+
import { LeafHost } from "./leaf.js";
|
|
5
6
|
/** Color prop that can be a static Color or a spring-animated ColorMotionValue */
|
|
6
7
|
export type ColorProp = Color | ColorMotionValue;
|
|
7
8
|
/** A span of text with optional styling */
|
|
@@ -42,12 +43,12 @@ export declare class TextHost extends BaseHost {
|
|
|
42
43
|
wrap: boolean;
|
|
43
44
|
private cachedLines;
|
|
44
45
|
private cachedWidth;
|
|
46
|
+
private cachedStyledWrap;
|
|
45
47
|
private cachedContent;
|
|
46
48
|
private cachedStyledLines;
|
|
47
49
|
private cachedSpans;
|
|
48
50
|
private hasSpans;
|
|
49
51
|
private explicitSpans;
|
|
50
|
-
private prepared;
|
|
51
52
|
constructor(props: TextProps, ctx: HostContext);
|
|
52
53
|
/** Check if we have SpanHost children (requires styled rendering) */
|
|
53
54
|
private checkForSpans;
|
|
@@ -56,25 +57,23 @@ export declare class TextHost extends BaseHost {
|
|
|
56
57
|
/** Collect children as styled spans for multi-style rendering */
|
|
57
58
|
private collectSpans;
|
|
58
59
|
private prepareContent;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
/** Reset content-related caches (text/spans/wrap). */
|
|
61
|
+
private resetContentCaches;
|
|
62
|
+
protected prepareSelf(_layoutDirty: boolean, _renderDirty: boolean): void;
|
|
63
|
+
invalidateLayout(): void;
|
|
63
64
|
appendChild(child: HostInstance): void;
|
|
64
65
|
removeChild(child: HostInstance): void;
|
|
65
66
|
insertBefore(child: HostInstance, before: HostInstance): void;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
private wrapText;
|
|
69
|
-
layout(rect: Rect): void;
|
|
67
|
+
protected measureSelf(maxW: number, maxH: number): Size;
|
|
68
|
+
protected layoutSelf(rect: Rect): void;
|
|
70
69
|
render(buffer: CellBuffer, palette: Palette): void;
|
|
71
70
|
updateProps(props: Record<string, unknown>): void;
|
|
72
71
|
}
|
|
73
72
|
/** Special host for raw text nodes (React text children) */
|
|
74
|
-
export declare class RawTextHost extends
|
|
73
|
+
export declare class RawTextHost extends LeafHost {
|
|
75
74
|
content: string;
|
|
76
75
|
constructor(text: string, ctx: HostContext);
|
|
77
|
-
|
|
76
|
+
protected measureSelf(maxW: number, _maxH: number): Size;
|
|
78
77
|
render(buffer: CellBuffer, palette: Palette): void;
|
|
79
78
|
updateText(text: string): void;
|
|
80
79
|
updateProps(_props: Record<string, unknown>): void;
|
|
@@ -111,17 +110,22 @@ export interface SpanProps extends CommonProps {
|
|
|
111
110
|
export declare class SpanHost extends BaseHost {
|
|
112
111
|
fg?: Color;
|
|
113
112
|
bg?: Color;
|
|
114
|
-
bold
|
|
115
|
-
dimmed
|
|
116
|
-
italic
|
|
117
|
-
underline
|
|
118
|
-
strikethrough
|
|
119
|
-
inverse
|
|
113
|
+
bold?: boolean;
|
|
114
|
+
dimmed?: boolean;
|
|
115
|
+
italic?: boolean;
|
|
116
|
+
underline?: boolean;
|
|
117
|
+
strikethrough?: boolean;
|
|
118
|
+
inverse?: boolean;
|
|
120
119
|
constructor(props: SpanProps, ctx: HostContext);
|
|
121
120
|
/** Get text content from RawTextHost children */
|
|
122
121
|
getContent(): string;
|
|
123
|
-
|
|
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;
|
|
124
126
|
render(_buffer: CellBuffer, _palette: Palette): void;
|
|
125
127
|
updateProps(props: Record<string, unknown>): void;
|
|
128
|
+
invalidateLayout(): void;
|
|
129
|
+
invalidateRender(): void;
|
|
126
130
|
}
|
|
127
131
|
//# sourceMappingURL=text.d.ts.map
|