@effect-tui/react 0.1.7 → 0.2.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/dist/src/hooks/index.d.ts +1 -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-quit.d.ts +21 -0
- package/dist/src/hooks/use-quit.d.ts.map +1 -0
- package/dist/src/hooks/use-quit.js +29 -0
- package/dist/src/hooks/use-quit.js.map +1 -0
- package/dist/src/hosts/base.d.ts +1 -2
- package/dist/src/hosts/base.d.ts.map +1 -1
- package/dist/src/hosts/base.js +42 -6
- package/dist/src/hosts/base.js.map +1 -1
- package/dist/src/hosts/flex-container.d.ts.map +1 -1
- package/dist/src/hosts/flex-container.js +4 -1
- package/dist/src/hosts/flex-container.js.map +1 -1
- package/dist/src/hosts/scroll.d.ts +1 -0
- package/dist/src/hosts/scroll.d.ts.map +1 -1
- package/dist/src/hosts/scroll.js +11 -2
- package/dist/src/hosts/scroll.js.map +1 -1
- package/dist/src/hosts/spacer.d.ts +1 -0
- package/dist/src/hosts/spacer.d.ts.map +1 -1
- package/dist/src/hosts/spacer.js +10 -9
- package/dist/src/hosts/spacer.js.map +1 -1
- package/dist/src/reconciler/types.d.ts +9 -4
- package/dist/src/reconciler/types.d.ts.map +1 -1
- package/dist/src/renderer/input/InputProcessor.d.ts +1 -0
- package/dist/src/renderer/input/InputProcessor.d.ts.map +1 -1
- package/dist/src/renderer/input/InputProcessor.js +6 -1
- package/dist/src/renderer/input/InputProcessor.js.map +1 -1
- package/dist/src/renderer/lifecycle/TerminalSetup.d.ts +1 -0
- package/dist/src/renderer/lifecycle/TerminalSetup.d.ts.map +1 -1
- package/dist/src/renderer/lifecycle/TerminalSetup.js +26 -17
- package/dist/src/renderer/lifecycle/TerminalSetup.js.map +1 -1
- package/dist/src/renderer.d.ts +2 -0
- package/dist/src/renderer.d.ts.map +1 -1
- package/dist/src/renderer.js +39 -7
- package/dist/src/renderer.js.map +1 -1
- package/dist/src/test/render-tui.d.ts +5 -0
- package/dist/src/test/render-tui.d.ts.map +1 -1
- package/dist/src/test/render-tui.js +3 -0
- package/dist/src/test/render-tui.js.map +1 -1
- package/dist/src/utils/flex-layout.d.ts.map +1 -1
- package/dist/src/utils/flex-layout.js +20 -6
- package/dist/src/utils/flex-layout.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-quit.ts +33 -0
- package/src/hosts/base.ts +36 -6
- package/src/hosts/flex-container.ts +3 -1
- package/src/hosts/scroll.ts +13 -2
- package/src/hosts/spacer.ts +11 -9
- package/src/reconciler/types.ts +9 -4
- package/src/renderer/input/InputProcessor.ts +6 -1
- package/src/renderer/lifecycle/TerminalSetup.ts +28 -17
- package/src/renderer.ts +44 -6
- package/src/test/render-tui.ts +7 -0
- package/src/utils/flex-layout.ts +19 -6
|
@@ -3,6 +3,7 @@ export type { UseKeyboardOptions } from "./use-keyboard.js";
|
|
|
3
3
|
export { useMouse } from "./use-mouse.js";
|
|
4
4
|
export type { UseMouseOptions } from "./use-mouse.js";
|
|
5
5
|
export { usePaste } from "./use-paste.js";
|
|
6
|
+
export { useQuit } from "./use-quit.js";
|
|
6
7
|
export { useScroll } from "./use-scroll.js";
|
|
7
8
|
export type { UseScrollOptions, UseScrollReturn, ScrollState } from "./use-scroll.js";
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/src/hooks/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook that returns a quit function for cleanly exiting the TUI application.
|
|
3
|
+
*
|
|
4
|
+
* This ensures terminal state is properly restored (alternate buffer exit,
|
|
5
|
+
* cursor shown, raw mode disabled) before the process exits.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* function App() {
|
|
10
|
+
* const quit = useQuit()
|
|
11
|
+
*
|
|
12
|
+
* useKeyboard((key) => {
|
|
13
|
+
* if (key.text === "q") quit()
|
|
14
|
+
* })
|
|
15
|
+
*
|
|
16
|
+
* return <text>Press q to quit</text>
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function useQuit(): (code?: number) => void;
|
|
21
|
+
//# sourceMappingURL=use-quit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-quit.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-quit.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAUjD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
import { useRenderer } from "../renderer-context.js";
|
|
3
|
+
/**
|
|
4
|
+
* Hook that returns a quit function for cleanly exiting the TUI application.
|
|
5
|
+
*
|
|
6
|
+
* This ensures terminal state is properly restored (alternate buffer exit,
|
|
7
|
+
* cursor shown, raw mode disabled) before the process exits.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* function App() {
|
|
12
|
+
* const quit = useQuit()
|
|
13
|
+
*
|
|
14
|
+
* useKeyboard((key) => {
|
|
15
|
+
* if (key.text === "q") quit()
|
|
16
|
+
* })
|
|
17
|
+
*
|
|
18
|
+
* return <text>Press q to quit</text>
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export function useQuit() {
|
|
23
|
+
const renderer = useRenderer();
|
|
24
|
+
return useCallback((code = 0) => {
|
|
25
|
+
renderer.stop();
|
|
26
|
+
process.exit(code);
|
|
27
|
+
}, [renderer]);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=use-quit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-quit.js","sourceRoot":"","sources":["../../../src/hooks/use-quit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,OAAO;IACtB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAE9B,OAAO,WAAW,CACjB,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE;QACZ,QAAQ,CAAC,IAAI,EAAE,CAAA;QACf,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC,EACD,CAAC,QAAQ,CAAC,CACV,CAAA;AACF,CAAC"}
|
package/dist/src/hosts/base.d.ts
CHANGED
|
@@ -12,8 +12,7 @@ export declare abstract class BaseHost implements HostInstance {
|
|
|
12
12
|
parent: HostInstance | null;
|
|
13
13
|
children: HostInstance[];
|
|
14
14
|
rect: Rect | null;
|
|
15
|
-
|
|
16
|
-
flexShrink: number;
|
|
15
|
+
greedy: boolean | number | undefined;
|
|
17
16
|
frameWidth?: number;
|
|
18
17
|
frameHeight?: number;
|
|
19
18
|
frameMinWidth?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/hosts/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEhG,4DAA4D;AAC5D,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC/C,EAAE,CAAC,EAAE,KAAK,CAAA;CACV;AAOD,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,WAAW,EAAE,YAAY,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CASlF;AAID,8BAAsB,QAAS,YAAW,YAAY;IACrD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,YAAY,GAAG,IAAI,CAAO;IAClC,QAAQ,EAAE,YAAY,EAAE,CAAK;IAC7B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAO;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/hosts/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEhG,4DAA4D;AAC5D,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC/C,EAAE,CAAC,EAAE,KAAK,CAAA;CACV;AAOD,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,WAAW,EAAE,YAAY,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CASlF;AAID,8BAAsB,QAAS,YAAW,YAAY;IACrD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,YAAY,GAAG,IAAI,CAAO;IAClC,QAAQ,EAAE,YAAY,EAAE,CAAK;IAC7B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAO;IAMxB,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAY;IAMhD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,SAAS,CAAC,GAAG,EAAE,WAAW,CAAA;gBAEd,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW;IAS9D,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAClD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAE3D,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAiBxB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAiBjF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAgB3C,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA4BjD,OAAO,IAAI,IAAI;IAKf,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKtC,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAQtC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAU7D;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;CAS9F"}
|
package/dist/src/hosts/base.js
CHANGED
|
@@ -20,9 +20,11 @@ export class BaseHost {
|
|
|
20
20
|
parent = null;
|
|
21
21
|
children = [];
|
|
22
22
|
rect = null;
|
|
23
|
-
//
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
// Greedy layout - expands to fill remaining space
|
|
24
|
+
// undefined = not greedy (hug content)
|
|
25
|
+
// true or 1 = 1 share
|
|
26
|
+
// number > 1 = proportionally more shares
|
|
27
|
+
greedy = undefined;
|
|
26
28
|
// ─────────────────────────────────────────────────────────────
|
|
27
29
|
// Frame constraints (like SwiftUI's .frame modifier)
|
|
28
30
|
// See CommonProps for detailed documentation
|
|
@@ -45,7 +47,23 @@ export class BaseHost {
|
|
|
45
47
|
// which would overwrite any values set here.
|
|
46
48
|
}
|
|
47
49
|
layout(rect) {
|
|
48
|
-
|
|
50
|
+
// Apply frame constraints to the assigned rect
|
|
51
|
+
let { w, h } = rect;
|
|
52
|
+
// Fixed width/height override
|
|
53
|
+
if (this.frameWidth !== undefined)
|
|
54
|
+
w = this.frameWidth;
|
|
55
|
+
if (this.frameHeight !== undefined)
|
|
56
|
+
h = this.frameHeight;
|
|
57
|
+
// Apply min/max clamps
|
|
58
|
+
if (this.frameMinWidth !== undefined)
|
|
59
|
+
w = Math.max(this.frameMinWidth, w);
|
|
60
|
+
if (this.frameMaxWidth !== undefined)
|
|
61
|
+
w = Math.min(this.frameMaxWidth, w);
|
|
62
|
+
if (this.frameMinHeight !== undefined)
|
|
63
|
+
h = Math.max(this.frameMinHeight, h);
|
|
64
|
+
if (this.frameMaxHeight !== undefined)
|
|
65
|
+
h = Math.min(this.frameMaxHeight, h);
|
|
66
|
+
this.rect = { x: rect.x, y: rect.y, w, h };
|
|
49
67
|
}
|
|
50
68
|
/**
|
|
51
69
|
* Apply frame constraints to a proposed size before passing to children.
|
|
@@ -127,8 +145,26 @@ export class BaseHost {
|
|
|
127
145
|
return { w, h };
|
|
128
146
|
}
|
|
129
147
|
updateProps(props) {
|
|
130
|
-
|
|
131
|
-
|
|
148
|
+
// Greedy layout - reset to undefined unless explicitly set
|
|
149
|
+
// Subclasses like Spacer/Scroll set their own default before calling super
|
|
150
|
+
if ("greedy" in props) {
|
|
151
|
+
const greedy = props.greedy;
|
|
152
|
+
if (greedy === true) {
|
|
153
|
+
this.greedy = 1;
|
|
154
|
+
}
|
|
155
|
+
else if (typeof greedy === "number") {
|
|
156
|
+
this.greedy = greedy;
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
// greedy is false, undefined, or null
|
|
160
|
+
this.greedy = undefined;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
// No greedy prop - reset to default (undefined)
|
|
165
|
+
// Subclasses like Spacer/Scroll handle this before calling super
|
|
166
|
+
this.greedy = undefined;
|
|
167
|
+
}
|
|
132
168
|
// Frame constraints - only accept valid numbers (ignore strings like "100%")
|
|
133
169
|
this.frameWidth = typeof props.width === "number" ? props.width : undefined;
|
|
134
170
|
this.frameHeight = typeof props.height === "number" ? props.height : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/hosts/base.ts"],"names":[],"mappings":"AAQA,4CAA4C;AAC5C,SAAS,aAAa,CAAC,IAAkB;IACxC,OAAO,IAAI,IAAI,IAAI,CAAA;AACpB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,cAAc,CAAC,WAAgC;IAC9D,IAAI,CAAC,GAAwB,WAAW,CAAA;IACxC,OAAO,CAAC,EAAE,CAAC;QACV,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,CAAC,CAAC,EAAE,CAAA;QACZ,CAAC;QACD,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;IACb,CAAC;IACD,OAAO,SAAS,CAAA;AACjB,CAAC;AAED,IAAI,SAAS,GAAG,CAAC,CAAA;AAEjB,MAAM,OAAgB,QAAQ;IAC7B,EAAE,CAAQ;IACV,IAAI,CAAQ;IACZ,MAAM,GAAwB,IAAI,CAAA;IAClC,QAAQ,GAAmB,EAAE,CAAA;IAC7B,IAAI,GAAgB,IAAI,CAAA;IAExB,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/hosts/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flex-container.d.ts","sourceRoot":"","sources":["../../../src/hosts/flex-container.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAElE,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAA2B,KAAK,QAAQ,EAAsC,MAAM,mBAAmB,CAAA;AAE9G,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,UAAU,GAClE,SAAS,GAAG,QAAQ,GAAG,UAAU,GACjC,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE9B,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,WAAW;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;IAC7B,yDAAyD;IACzD,EAAE,CAAC,EAAE,KAAK,CAAA;CACV;AAYD;;;GAGG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,QAAQ;IAQjE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAP3B,OAAO,SAAI;IACX,SAAS,EAAG,cAAc,CAAC,CAAC,CAAC,CAAA;IAC7B,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,cAAc,CAA2B;gBAG7B,IAAI,EAAE,CAAC,EAC1B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC5B,GAAG,EAAE,WAAW,EAChB,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;IAOpC,4EAA4E;IAC5E,OAAO,CAAC,oBAAoB;IAI5B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAchC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"flex-container.d.ts","sourceRoot":"","sources":["../../../src/hosts/flex-container.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAElE,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAA2B,KAAK,QAAQ,EAAsC,MAAM,mBAAmB,CAAA;AAE9G,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,UAAU,GAClE,SAAS,GAAG,QAAQ,GAAG,UAAU,GACjC,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE9B,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,WAAW;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;IAC7B,yDAAyD;IACzD,EAAE,CAAC,EAAE,KAAK,CAAA;CACV;AAYD;;;GAGG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,QAAQ;IAQjE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAP3B,OAAO,SAAI;IACX,SAAS,EAAG,cAAc,CAAC,CAAC,CAAC,CAAA;IAC7B,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,cAAc,CAA2B;gBAG7B,IAAI,EAAE,CAAC,EAC1B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC5B,GAAG,EAAE,WAAW,EAChB,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;IAOpC,4EAA4E;IAC5E,OAAO,CAAC,oBAAoB;IAI5B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAchC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAgBjC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAgBzC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAS1D"}
|
|
@@ -60,8 +60,11 @@ export class FlexContainerHost extends BaseHost {
|
|
|
60
60
|
}
|
|
61
61
|
layout(rect) {
|
|
62
62
|
super.layout(rect);
|
|
63
|
+
// Use this.rect (constrained) not rect (raw input)
|
|
64
|
+
if (!this.rect)
|
|
65
|
+
return;
|
|
63
66
|
const stretchCross = this.axis === "vertical" ? this.alignment === "leading" : this.alignment === "top";
|
|
64
|
-
layoutFlex(this.axis, this.layoutChildren, this.cachedSizes, rect, this.spacing, toFlexAlignment(this.axis, this.alignment), stretchCross);
|
|
67
|
+
layoutFlex(this.axis, this.layoutChildren, this.cachedSizes, this.rect, this.spacing, toFlexAlignment(this.axis, this.alignment), stretchCross);
|
|
65
68
|
}
|
|
66
69
|
render(buffer, palette) {
|
|
67
70
|
// Fill background color if set
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flex-container.js","sourceRoot":"","sources":["../../../src/hosts/flex-container.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAqC,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAa9G,gDAAgD;AAChD,SAAS,eAAe,CAAqB,IAAO,EAAE,SAA4B;IACjF,IAAI,SAAS,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC3C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;IACjD,CAAC;SAAM,CAAC;QACP,OAAO,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;IAC7C,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAsC,SAAQ,QAAQ;IAQ9C;IAPpB,OAAO,GAAG,CAAC,CAAA;IACX,SAAS,CAAoB,CAAC,wCAAwC;IACtE,EAAE,CAAQ;IACF,WAAW,GAAW,EAAE,CAAA;IACxB,cAAc,GAAyB,EAAE,CAAA;IAEjD,YACoB,IAAO,EAC1B,WAAmB,EACnB,KAA4B,EAC5B,GAAgB,EAChB,gBAAmC;QAEnC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QANX,SAAI,GAAJ,IAAI,CAAG;QAO1B,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAA;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,4EAA4E;IACpE,oBAAoB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAChD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,IAAY,EAAE,IAAY;QACjC,yDAAyD;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAEtD,2FAA2F;QAC3F,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QACjD,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;QACrF,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC3F,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAA;QAE/B,sDAAsD;QACtD,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC9C,CAAC;IAEQ,MAAM,CAAC,IAAU;QACzB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAA;QACvG,UAAU,CACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,WAAW,EAChB,IAAI,
|
|
1
|
+
{"version":3,"file":"flex-container.js","sourceRoot":"","sources":["../../../src/hosts/flex-container.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@ export declare class ScrollHost extends SingleChildHost {
|
|
|
34
34
|
bg?: Color;
|
|
35
35
|
showScrollbar: boolean;
|
|
36
36
|
sticky: boolean;
|
|
37
|
+
greedy: boolean | number | undefined;
|
|
37
38
|
onContentSize?: (width: number, height: number) => void;
|
|
38
39
|
onViewportSize?: (width: number, height: number) => void;
|
|
39
40
|
onEffectiveOffset?: (offset: number) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/hosts/scroll.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,iEAAiE;IACjE,IAAI,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAA;IACzC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACvB,+CAA+C;IAC/C,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,wDAAwD;IACxD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACxD,4FAA4F;IAC5F,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED,qBAAa,UAAW,SAAQ,eAAe;IAC9C,IAAI,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAa;IACrD,MAAM,SAAI;IACV,OAAO,SAAI;IACX,KAAK,EAAE,OAAO,GAAG,KAAK,CAAU;IAChC,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,aAAa,UAAO;IACpB,MAAM,UAAQ;
|
|
1
|
+
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/hosts/scroll.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,iEAAiE;IACjE,IAAI,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAA;IACzC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACvB,+CAA+C;IAC/C,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,wDAAwD;IACxD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACxD,4FAA4F;IAC5F,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED,qBAAa,UAAW,SAAQ,eAAe;IAC9C,IAAI,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAa;IACrD,MAAM,SAAI;IACV,OAAO,SAAI;IACX,KAAK,EAAE,OAAO,GAAG,KAAK,CAAU;IAChC,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,aAAa,UAAO;IACpB,MAAM,UAAQ;IAGL,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAI;IACjD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACxD,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAG5C,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,aAAa,CAAI;IAEzB,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,oBAAoB,CAAI;IAChC,OAAO,CAAC,oBAAoB,CAAI;IAEhC,OAAO,CAAC,QAAQ,CAAO;IAEvB,OAAO,CAAC,eAAe,CAAI;IAC3B,OAAO,CAAC,gBAAgB,CAAI;gBAEhB,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW;IAKhD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAgChC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAiFjC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAwBlD,OAAO,CAAC,gBAAgB;IA2Cf,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAiB1D"}
|
package/dist/src/hosts/scroll.js
CHANGED
|
@@ -8,6 +8,8 @@ export class ScrollHost extends SingleChildHost {
|
|
|
8
8
|
bg;
|
|
9
9
|
showScrollbar = true;
|
|
10
10
|
sticky = false;
|
|
11
|
+
// Scroll is greedy by default - expands to fill available space
|
|
12
|
+
greedy = 1;
|
|
11
13
|
onContentSize;
|
|
12
14
|
onViewportSize;
|
|
13
15
|
onEffectiveOffset;
|
|
@@ -48,8 +50,11 @@ export class ScrollHost extends SingleChildHost {
|
|
|
48
50
|
this.contentHeight = childSize.h;
|
|
49
51
|
// Note: onContentSize callback is deferred to layout() to keep measure() pure
|
|
50
52
|
}
|
|
51
|
-
//
|
|
52
|
-
|
|
53
|
+
// Report natural content size (clamped to constrained bounds)
|
|
54
|
+
// Greedy expansion happens in layout phase via layoutFlex
|
|
55
|
+
const naturalW = Math.min(this.contentWidth, constrained.w);
|
|
56
|
+
const naturalH = Math.min(this.contentHeight, constrained.h);
|
|
57
|
+
return this.constrainResult({ w: naturalW, h: naturalH });
|
|
53
58
|
}
|
|
54
59
|
layout(rect) {
|
|
55
60
|
super.layout(rect);
|
|
@@ -181,6 +186,10 @@ export class ScrollHost extends SingleChildHost {
|
|
|
181
186
|
}
|
|
182
187
|
updateProps(props) {
|
|
183
188
|
super.updateProps(props);
|
|
189
|
+
// Scroll is greedy by default unless explicitly set to false
|
|
190
|
+
if (!("greedy" in props)) {
|
|
191
|
+
this.greedy = 1;
|
|
192
|
+
}
|
|
184
193
|
if (props.axis !== undefined)
|
|
185
194
|
this.axis = props.axis ?? "vertical";
|
|
186
195
|
if (props.offset !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/hosts/scroll.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AA4B3D,MAAM,OAAO,UAAW,SAAQ,eAAe;IAC9C,IAAI,GAAuC,UAAU,CAAA;IACrD,MAAM,GAAG,CAAC,CAAA;IACV,OAAO,GAAG,CAAC,CAAA;IACX,KAAK,GAAoB,OAAO,CAAA;IAChC,EAAE,CAAQ;IACV,aAAa,GAAG,IAAI,CAAA;IACpB,MAAM,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/hosts/scroll.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export interface SpacerProps extends CommonProps {
|
|
|
10
10
|
export declare class SpacerHost extends BaseHost {
|
|
11
11
|
minWidth: number;
|
|
12
12
|
minHeight: number;
|
|
13
|
+
greedy: boolean | number | undefined;
|
|
13
14
|
constructor(props: SpacerProps, ctx: HostContext);
|
|
14
15
|
measure(_maxW: number, _maxH: number): Size;
|
|
15
16
|
layout(rect: Rect): void;
|
|
@@ -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,IAAI,EAAE,IAAI,EAAE,WAAW,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;
|
|
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,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,UAAW,SAAQ,QAAQ;IACvC,QAAQ,SAAI;IACZ,SAAS,SAAI;IAGJ,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAI;gBAErC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW;IAKhD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIjC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI3C,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAS1D"}
|
package/dist/src/hosts/spacer.js
CHANGED
|
@@ -2,14 +2,14 @@ import { BaseHost } from "./base.js";
|
|
|
2
2
|
export class SpacerHost extends BaseHost {
|
|
3
3
|
minWidth = 0;
|
|
4
4
|
minHeight = 0;
|
|
5
|
+
// Spacers are greedy by default
|
|
6
|
+
greedy = 1;
|
|
5
7
|
constructor(props, ctx) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
super("spacer", propsWithDefaults, ctx);
|
|
9
|
-
this.updateProps(propsWithDefaults);
|
|
8
|
+
super("spacer", props, ctx);
|
|
9
|
+
this.updateProps(props);
|
|
10
10
|
}
|
|
11
11
|
measure(_maxW, _maxH) {
|
|
12
|
-
// Spacers have no natural size, they expand via
|
|
12
|
+
// Spacers have no natural size, they expand via greedy
|
|
13
13
|
return { w: this.minWidth, h: this.minHeight };
|
|
14
14
|
}
|
|
15
15
|
layout(rect) {
|
|
@@ -19,10 +19,11 @@ export class SpacerHost extends BaseHost {
|
|
|
19
19
|
// Spacers render nothing
|
|
20
20
|
}
|
|
21
21
|
updateProps(props) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
super.updateProps(props);
|
|
23
|
+
// Spacer is greedy by default unless explicitly set to false
|
|
24
|
+
if (!("greedy" in props)) {
|
|
25
|
+
this.greedy = 1;
|
|
26
|
+
}
|
|
26
27
|
if (props.minWidth !== undefined)
|
|
27
28
|
this.minWidth = props.minWidth;
|
|
28
29
|
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,
|
|
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,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,KAAa;QACnC,uDAAuD;QACvD,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAA;IAC/C,CAAC;IAEQ,MAAM,CAAC,IAAU;QACzB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,OAAmB,EAAE,QAAiB;QAC5C,yBAAyB;IAC1B,CAAC;IAEQ,WAAW,CAAC,KAA8B;QAClD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACxB,6DAA6D;QAC7D,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QAChB,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAkB,CAAA;QAC1E,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAmB,CAAA;IAC9E,CAAC;CACD"}
|
|
@@ -76,10 +76,15 @@ export interface HostContext {
|
|
|
76
76
|
* With the constraint, it reports exactly 10, so spacer gets the rest.
|
|
77
77
|
*/
|
|
78
78
|
export interface CommonProps {
|
|
79
|
-
/**
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
/**
|
|
80
|
+
* Greedy layout - element expands to fill remaining space.
|
|
81
|
+
* - `true` or `1`: takes 1 share of remaining space
|
|
82
|
+
* - number > 1: takes proportionally more (e.g., `greedy={2}` gets 2x space)
|
|
83
|
+
* - `false` or undefined: hugs content (default)
|
|
84
|
+
*
|
|
85
|
+
* Scroll and Spacer are greedy by default.
|
|
86
|
+
*/
|
|
87
|
+
greedy?: boolean | number;
|
|
83
88
|
/**
|
|
84
89
|
* Fixed width constraint.
|
|
85
90
|
* - Proposes this width to children (they measure within this constraint)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/reconciler/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAGvE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AAE1B,MAAM,WAAW,YAAY;IAC5B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IAEZ,qBAAqB;IACrB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,uBAAuB;IACvB,QAAQ,EAAE,YAAY,EAAE,CAAA;IAExB,qDAAqD;IACrD,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IAEjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,6CAA6C;IAC7C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAEzC,4CAA4C;IAC5C,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IAExB,uBAAuB;IACvB,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAElD,8BAA8B;IAC9B,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAEjD,yBAAyB;IACzB,OAAO,IAAI,IAAI,CAAA;IAEf,gBAAgB;IAChB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;IAEtC,mBAAmB;IACnB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;IAEtC,kCAAkC;IAClC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;CAC7D;AAED,MAAM,WAAW,WAAW;IAC3B,aAAa,IAAI,IAAI,CAAA;IACrB,kFAAkF;IAClF,sBAAsB,CAAC,IAAI,IAAI,CAAA;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,WAAW,WAAW;IAC3B
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/reconciler/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAGvE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AAE1B,MAAM,WAAW,YAAY;IAC5B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IAEZ,qBAAqB;IACrB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,uBAAuB;IACvB,QAAQ,EAAE,YAAY,EAAE,CAAA;IAExB,qDAAqD;IACrD,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IAEjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,6CAA6C;IAC7C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAEzC,4CAA4C;IAC5C,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IAExB,uBAAuB;IACvB,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAElD,8BAA8B;IAC9B,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAEjD,yBAAyB;IACzB,OAAO,IAAI,IAAI,CAAA;IAEf,gBAAgB;IAChB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;IAEtC,mBAAmB;IACnB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;IAEtC,kCAAkC;IAClC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;CAC7D;AAED,MAAM,WAAW,WAAW;IAC3B,aAAa,IAAI,IAAI,CAAA;IACrB,kFAAkF;IAClF,sBAAsB,CAAC,IAAI,IAAI,CAAA;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,WAAW,WAAW;IAC3B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAMzB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,gEAAgE;IAChE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputProcessor.d.ts","sourceRoot":"","sources":["../../../../src/renderer/input/InputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEhF,MAAM,WAAW,oBAAoB;IACpC,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;IACrC,aAAa,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IACxC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAChC,gBAAgB,EAAE,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"InputProcessor.d.ts","sourceRoot":"","sources":["../../../../src/renderer/input/InputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEhF,MAAM,WAAW,oBAAoB;IACpC,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;IACrC,aAAa,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IACxC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAChC,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACnB;AAED;;GAEG;AACH,qBAAa,cAAc;IAId,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,WAAW,CAAK;gBAEJ,MAAM,EAAE,oBAAoB;IAEhD;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAuC3B,OAAO,CAAC,SAAS;CAkCjB"}
|
|
@@ -72,7 +72,12 @@ export class InputProcessor {
|
|
|
72
72
|
// Default Ctrl+C handling - exit unless user called preventDefault()
|
|
73
73
|
// Only match Ctrl+C (not Ctrl+Shift+C which should be available for copy)
|
|
74
74
|
if (this.config.exitOnCtrlC && !wrapped.defaultPrevented && event.ctrl && !event.shift && event.text === "c") {
|
|
75
|
-
|
|
75
|
+
if (this.config.onQuit) {
|
|
76
|
+
this.config.onQuit();
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
process.exit(0);
|
|
80
|
+
}
|
|
76
81
|
}
|
|
77
82
|
}
|
|
78
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputProcessor.js","sourceRoot":"","sources":["../../../../src/renderer/input/InputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,IAAI,EAA8B,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"InputProcessor.js","sourceRoot":"","sources":["../../../../src/renderer/input/InputProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerminalSetup.d.ts","sourceRoot":"","sources":["../../../../src/renderer/lifecycle/TerminalSetup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5E,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAA;IAC7B,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,iBAAiB,EAAE,OAAO,CAAA;IAC1B;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;;GAGG;AACH,qBAAa,aAAa;IAExB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;gBAFN,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,mBAAmB;IAGpC;;;OAGG;IACH,KAAK,IAAI,IAAI;IAoCb
|
|
1
|
+
{"version":3,"file":"TerminalSetup.d.ts","sourceRoot":"","sources":["../../../../src/renderer/lifecycle/TerminalSetup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5E,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAA;IAC7B,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,iBAAiB,EAAE,OAAO,CAAA;IAC1B;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;;GAGG;AACH,qBAAa,aAAa;IAExB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;gBAFN,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,mBAAmB;IAGpC;;;OAGG;IACH,KAAK,IAAI,IAAI;IAoCb;;;;OAIG;IACH,QAAQ,IAAI,IAAI;CAyChB"}
|
|
@@ -50,33 +50,42 @@ export class TerminalSetup {
|
|
|
50
50
|
/**
|
|
51
51
|
* Restore terminal to normal state.
|
|
52
52
|
* Call this when stopping the renderer.
|
|
53
|
+
* Uses a single write call to ensure atomic output and reliable flushing.
|
|
53
54
|
*/
|
|
54
55
|
teardown() {
|
|
55
56
|
if (this.config.skipTerminalSetup)
|
|
56
57
|
return;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
// Re-enable reflow on exit
|
|
62
|
-
this.stdout.write(ANSI.reflow.enable);
|
|
63
|
-
this.stdout.write("\r\n");
|
|
58
|
+
// Disable raw mode FIRST - this is critical for proper terminal restoration
|
|
59
|
+
// Must happen before writing escape sequences so the terminal processes them correctly
|
|
60
|
+
if (this.stdin.isTTY && this.stdin.setRawMode) {
|
|
61
|
+
this.stdin.setRawMode(false);
|
|
64
62
|
}
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
// Build all escape sequences into a single string for atomic write
|
|
64
|
+
// This ensures all sequences are flushed together before process exit
|
|
65
|
+
let output = "";
|
|
66
|
+
// Disable enhanced keyboard protocols first
|
|
67
|
+
if (this.config.enableKittyKeyboard !== false) {
|
|
68
|
+
output += ANSI.keyboard.disable;
|
|
69
|
+
output += ANSI.modifyOtherKeys.disable;
|
|
67
70
|
}
|
|
68
71
|
if (this.config.enableMouse) {
|
|
69
|
-
|
|
72
|
+
output += ANSI.mouse.disable;
|
|
70
73
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
this.stdout.write(ANSI.keyboard.disable);
|
|
74
|
-
this.stdout.write(ANSI.modifyOtherKeys.disable);
|
|
74
|
+
if (this.config.enablePaste) {
|
|
75
|
+
output += ANSI.paste.disable;
|
|
75
76
|
}
|
|
76
|
-
|
|
77
|
-
if (this.
|
|
78
|
-
|
|
77
|
+
// Exit fullscreen or re-enable reflow
|
|
78
|
+
if (this.config.mode === "fullscreen") {
|
|
79
|
+
output += Terminal.exitFullscreen;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
output += ANSI.reflow.enable;
|
|
83
|
+
output += "\r\n";
|
|
79
84
|
}
|
|
85
|
+
// Always show cursor at the end
|
|
86
|
+
output += Terminal.showCursor;
|
|
87
|
+
// Single atomic write - more reliable for process exit scenarios
|
|
88
|
+
this.stdout.write(output);
|
|
80
89
|
}
|
|
81
90
|
}
|
|
82
91
|
//# sourceMappingURL=TerminalSetup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerminalSetup.js","sourceRoot":"","sources":["../../../../src/renderer/lifecycle/TerminalSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAkBjD;;;GAGG;AACH,MAAM,OAAO,aAAa;IAEhB;IACA;IACA;IAHT,YACS,MAAsB,EACtB,KAAoB,EACpB,MAA2B;QAF3B,WAAM,GAAN,MAAM,CAAgB;QACtB,UAAK,GAAL,KAAK,CAAe;QACpB,WAAM,GAAN,MAAM,CAAqB;IACjC,CAAC;IAEJ;;;OAGG;IACH,KAAK;QACJ,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAAE,OAAM;QAEzC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;QAC5C,CAAC;aAAM,CAAC;YACP,qDAAqD;YACrD,uEAAuE;YACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACvC,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAEtC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC;QAED,4DAA4D;QAC5D,6EAA6E;QAC7E,2EAA2E;QAC3E,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,KAAK,KAAK,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,yCAAyC;YACpF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA,CAAC,0BAA0B;QAC1E,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAA;QACtB,CAAC;IACF,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"TerminalSetup.js","sourceRoot":"","sources":["../../../../src/renderer/lifecycle/TerminalSetup.ts"],"names":[],"mappings":"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"}
|
package/dist/src/renderer.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export interface RenderInstance {
|
|
|
14
14
|
rerender(element: ReactNode): void;
|
|
15
15
|
unmount(): void;
|
|
16
16
|
waitUntilExit(): Promise<void>;
|
|
17
|
+
/** Cleanly exit the application, restoring terminal state before process.exit() */
|
|
18
|
+
quit(code?: number): void;
|
|
17
19
|
}
|
|
18
20
|
export declare function render(element: ReactNode, options?: RendererOptions): RenderInstance;
|
|
19
21
|
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAO7C,OAAO,KAAK,EAGX,WAAW,EAGX,eAAe,EAEf,MAAM,qBAAqB,CAAA;AAU5B,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAClH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAErF,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAO7C,OAAO,KAAK,EAGX,WAAW,EAGX,eAAe,EAEf,MAAM,qBAAqB,CAAA;AAU5B,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAClH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAErF,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,WAAW,CA8SrE;AAED,MAAM,WAAW,IAAI;IACpB,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAChD,OAAO,IAAI,IAAI,CAAA;CACf;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CA+CtD;AAGD,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,WAAW,CAAA;IACrB,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;IAClC,OAAO,IAAI,IAAI,CAAA;IACf,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,mFAAmF;IACnF,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,CAoDpF"}
|