@effect-tui/react 0.1.6 → 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.
Files changed (119) hide show
  1. package/dist/src/dev.js +2 -2
  2. package/dist/src/dev.js.map +1 -1
  3. package/dist/src/hooks/index.d.ts +1 -0
  4. package/dist/src/hooks/index.d.ts.map +1 -1
  5. package/dist/src/hooks/index.js +1 -0
  6. package/dist/src/hooks/index.js.map +1 -1
  7. package/dist/src/hooks/use-quit.d.ts +21 -0
  8. package/dist/src/hooks/use-quit.d.ts.map +1 -0
  9. package/dist/src/hooks/use-quit.js +29 -0
  10. package/dist/src/hooks/use-quit.js.map +1 -0
  11. package/dist/src/hosts/base.d.ts +6 -2
  12. package/dist/src/hosts/base.d.ts.map +1 -1
  13. package/dist/src/hosts/base.js +56 -6
  14. package/dist/src/hosts/base.js.map +1 -1
  15. package/dist/src/hosts/box.d.ts.map +1 -1
  16. package/dist/src/hosts/box.js +3 -5
  17. package/dist/src/hosts/box.js.map +1 -1
  18. package/dist/src/hosts/flex-container.d.ts.map +1 -1
  19. package/dist/src/hosts/flex-container.js +4 -1
  20. package/dist/src/hosts/flex-container.js.map +1 -1
  21. package/dist/src/hosts/overlay-item.d.ts +2 -2
  22. package/dist/src/hosts/overlay-item.d.ts.map +1 -1
  23. package/dist/src/hosts/overlay-item.js +7 -22
  24. package/dist/src/hosts/overlay-item.js.map +1 -1
  25. package/dist/src/hosts/overlay.d.ts.map +1 -1
  26. package/dist/src/hosts/overlay.js +3 -35
  27. package/dist/src/hosts/overlay.js.map +1 -1
  28. package/dist/src/hosts/scroll.d.ts +1 -0
  29. package/dist/src/hosts/scroll.d.ts.map +1 -1
  30. package/dist/src/hosts/scroll.js +14 -7
  31. package/dist/src/hosts/scroll.js.map +1 -1
  32. package/dist/src/hosts/spacer.d.ts +1 -0
  33. package/dist/src/hosts/spacer.d.ts.map +1 -1
  34. package/dist/src/hosts/spacer.js +10 -9
  35. package/dist/src/hosts/spacer.js.map +1 -1
  36. package/dist/src/hosts/text.js +2 -2
  37. package/dist/src/hosts/text.js.map +1 -1
  38. package/dist/src/hosts/zstack.d.ts +3 -2
  39. package/dist/src/hosts/zstack.d.ts.map +1 -1
  40. package/dist/src/hosts/zstack.js +3 -18
  41. package/dist/src/hosts/zstack.js.map +1 -1
  42. package/dist/src/reconciler/types.d.ts +9 -4
  43. package/dist/src/reconciler/types.d.ts.map +1 -1
  44. package/dist/src/remote/Procedures.d.ts +4 -0
  45. package/dist/src/remote/Procedures.d.ts.map +1 -1
  46. package/dist/src/remote/Procedures.js +4 -0
  47. package/dist/src/remote/Procedures.js.map +1 -1
  48. package/dist/src/remote/Router.d.ts +2 -0
  49. package/dist/src/remote/Router.d.ts.map +1 -1
  50. package/dist/src/remote/Router.js.map +1 -1
  51. package/dist/src/remote/index.d.ts +8 -2
  52. package/dist/src/remote/index.d.ts.map +1 -1
  53. package/dist/src/remote/index.js +31 -3
  54. package/dist/src/remote/index.js.map +1 -1
  55. package/dist/src/renderer/input/InputProcessor.d.ts +1 -0
  56. package/dist/src/renderer/input/InputProcessor.d.ts.map +1 -1
  57. package/dist/src/renderer/input/InputProcessor.js +6 -1
  58. package/dist/src/renderer/input/InputProcessor.js.map +1 -1
  59. package/dist/src/renderer/lifecycle/TerminalSetup.d.ts +1 -0
  60. package/dist/src/renderer/lifecycle/TerminalSetup.d.ts.map +1 -1
  61. package/dist/src/renderer/lifecycle/TerminalSetup.js +26 -17
  62. package/dist/src/renderer/lifecycle/TerminalSetup.js.map +1 -1
  63. package/dist/src/renderer/modes/FullscreenRenderer.d.ts.map +1 -1
  64. package/dist/src/renderer/modes/FullscreenRenderer.js +8 -6
  65. package/dist/src/renderer/modes/FullscreenRenderer.js.map +1 -1
  66. package/dist/src/renderer/modes/InlineRenderer.d.ts.map +1 -1
  67. package/dist/src/renderer/modes/InlineRenderer.js +9 -7
  68. package/dist/src/renderer/modes/InlineRenderer.js.map +1 -1
  69. package/dist/src/renderer.d.ts +2 -0
  70. package/dist/src/renderer.d.ts.map +1 -1
  71. package/dist/src/renderer.js +39 -7
  72. package/dist/src/renderer.js.map +1 -1
  73. package/dist/src/test/render-tui.d.ts +5 -0
  74. package/dist/src/test/render-tui.d.ts.map +1 -1
  75. package/dist/src/test/render-tui.js +3 -0
  76. package/dist/src/test/render-tui.js.map +1 -1
  77. package/dist/src/utils/alignment.d.ts +15 -0
  78. package/dist/src/utils/alignment.d.ts.map +1 -0
  79. package/dist/src/utils/alignment.js +37 -0
  80. package/dist/src/utils/alignment.js.map +1 -0
  81. package/dist/src/utils/flex-layout.d.ts.map +1 -1
  82. package/dist/src/utils/flex-layout.js +20 -6
  83. package/dist/src/utils/flex-layout.js.map +1 -1
  84. package/dist/src/utils/index.d.ts +2 -1
  85. package/dist/src/utils/index.d.ts.map +1 -1
  86. package/dist/src/utils/index.js +2 -1
  87. package/dist/src/utils/index.js.map +1 -1
  88. package/dist/src/utils/styles.d.ts +9 -0
  89. package/dist/src/utils/styles.d.ts.map +1 -1
  90. package/dist/src/utils/styles.js +9 -0
  91. package/dist/src/utils/styles.js.map +1 -1
  92. package/dist/tsconfig.tsbuildinfo +1 -1
  93. package/package.json +3 -2
  94. package/src/dev.tsx +2 -2
  95. package/src/hooks/index.ts +1 -0
  96. package/src/hooks/use-quit.ts +33 -0
  97. package/src/hosts/base.ts +50 -6
  98. package/src/hosts/box.ts +3 -6
  99. package/src/hosts/flex-container.ts +3 -1
  100. package/src/hosts/overlay-item.ts +7 -22
  101. package/src/hosts/overlay.ts +3 -37
  102. package/src/hosts/scroll.ts +16 -7
  103. package/src/hosts/spacer.ts +11 -9
  104. package/src/hosts/text.ts +3 -3
  105. package/src/hosts/zstack.ts +5 -18
  106. package/src/reconciler/types.ts +9 -4
  107. package/src/remote/Procedures.ts +4 -0
  108. package/src/remote/Router.ts +7 -1
  109. package/src/remote/index.ts +41 -3
  110. package/src/renderer/input/InputProcessor.ts +6 -1
  111. package/src/renderer/lifecycle/TerminalSetup.ts +28 -17
  112. package/src/renderer/modes/FullscreenRenderer.ts +8 -6
  113. package/src/renderer/modes/InlineRenderer.ts +9 -7
  114. package/src/renderer.ts +44 -6
  115. package/src/test/render-tui.ts +7 -0
  116. package/src/utils/alignment.ts +50 -0
  117. package/src/utils/flex-layout.ts +19 -6
  118. package/src/utils/index.ts +10 -1
  119. package/src/utils/styles.ts +16 -0
@@ -1,6 +1,5 @@
1
- import { getInheritedBg } from "./base.js";
2
1
  import { SingleChildHost } from "./single-child.js";
3
- import { resolveBgStyle } from "../utils/index.js";
2
+ import { resolveInheritedBgStyle } from "../utils/index.js";
4
3
  export class ScrollHost extends SingleChildHost {
5
4
  axis = "vertical";
6
5
  offset = 0;
@@ -9,6 +8,8 @@ export class ScrollHost extends SingleChildHost {
9
8
  bg;
10
9
  showScrollbar = true;
11
10
  sticky = false;
11
+ // Scroll is greedy by default - expands to fill available space
12
+ greedy = 1;
12
13
  onContentSize;
13
14
  onViewportSize;
14
15
  onEffectiveOffset;
@@ -49,8 +50,11 @@ export class ScrollHost extends SingleChildHost {
49
50
  this.contentHeight = childSize.h;
50
51
  // Note: onContentSize callback is deferred to layout() to keep measure() pure
51
52
  }
52
- // Scroll container is greedy - takes all available space (after constraints)
53
- return this.constrainResult({ w: constrained.w, h: constrained.h });
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 });
54
58
  }
55
59
  layout(rect) {
56
60
  super.layout(rect);
@@ -126,9 +130,8 @@ export class ScrollHost extends SingleChildHost {
126
130
  if (!this.rect)
127
131
  return;
128
132
  const { x, y, w, h } = this.rect;
129
- // Fill background
130
- const rawBg = this.bg ?? getInheritedBg(this.parent);
131
- const { value: bgValue, styleId: bgStyleId } = resolveBgStyle(palette, rawBg);
133
+ // Fill background (inherit from parent if not explicitly set)
134
+ const { value: bgValue, styleId: bgStyleId } = resolveInheritedBgStyle(palette, this.bg, this.parent);
132
135
  if (bgValue !== undefined) {
133
136
  buffer.fillRect(x, y, w, h, " ".codePointAt(0), bgStyleId);
134
137
  }
@@ -183,6 +186,10 @@ export class ScrollHost extends SingleChildHost {
183
186
  }
184
187
  updateProps(props) {
185
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
+ }
186
193
  if (props.axis !== undefined)
187
194
  this.axis = props.axis ?? "vertical";
188
195
  if (props.offset !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/hosts/scroll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/hosts/scroll.ts"],"names":[],"mappings":"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"}
@@ -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;gBAED,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW;IAOhD,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;CAQ1D"}
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"}
@@ -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
- // Spacers have flexGrow=1 by default
7
- const propsWithDefaults = { flexGrow: 1, ...props };
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 flexGrow
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
- // Keep spacer default flexGrow=1 unless explicitly provided
23
- const flexGrow = props.flexGrow;
24
- const propsWithDefaults = flexGrow === undefined ? { ...props, flexGrow: 1 } : props;
25
- super.updateProps(propsWithDefaults);
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,YAAY,KAAkB,EAAE,GAAgB;QAC/C,qCAAqC;QACrC,MAAM,iBAAiB,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAA;QACnD,KAAK,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAA;QACvC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,KAAa;QACnC,yDAAyD;QACzD,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,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAA8B,CAAA;QACrD,MAAM,iBAAiB,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;QACpF,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,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;IAC9E,CAAC;CACD"}
1
+ {"version":3,"file":"spacer.js","sourceRoot":"","sources":["../../../src/hosts/spacer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AASpC,MAAM,OAAO,UAAW,SAAQ,QAAQ;IACvC,QAAQ,GAAG,CAAC,CAAA;IACZ,SAAS,GAAG,CAAC,CAAA;IAEb,gCAAgC;IACvB,MAAM,GAAiC,CAAC,CAAA;IAEjD,YAAY,KAAkB,EAAE,GAAgB;QAC/C,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,WAAW,CAAC,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"}
@@ -1,6 +1,6 @@
1
1
  import { displayWidth } from "@effect-tui/core";
2
2
  import { BaseHost, getInheritedBg } from "./base.js";
3
- import { resolveBgStyle, styleIdFromProps } from "../utils/index.js";
3
+ import { resolveInheritedBgStyle, styleIdFromProps } from "../utils/index.js";
4
4
  export class TextHost extends BaseHost {
5
5
  fg;
6
6
  bg;
@@ -91,8 +91,8 @@ export class TextHost extends BaseHost {
91
91
  if (!this.rect)
92
92
  return;
93
93
  // If text has no bg, inherit from parent box for proper highlight rendering
94
+ const { value: bgValue, styleId: bgStyleId } = resolveInheritedBgStyle(palette, this.bg, this.parent);
94
95
  const inheritedBg = this.bg ?? getInheritedBg(this.parent);
95
- const { value: bgValue, styleId: bgStyleId } = resolveBgStyle(palette, inheritedBg);
96
96
  const styleId = styleIdFromProps(palette, {
97
97
  fg: this.fg,
98
98
  bg: inheritedBg,
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/hosts/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/hosts/text.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { CellBuffer, Palette } from "@effect-tui/core";
2
2
  import type { HostContext, Rect, Size, CommonProps } from "../reconciler/types.js";
3
3
  import { BaseHost } from "./base.js";
4
+ import { type HAlign, type VAlign } from "../utils/index.js";
4
5
  export interface ZStackProps extends CommonProps {
5
6
  alignment?: {
6
7
  h?: "leading" | "center" | "trailing";
@@ -8,8 +9,8 @@ export interface ZStackProps extends CommonProps {
8
9
  };
9
10
  }
10
11
  export declare class ZStackHost extends BaseHost {
11
- alignmentH: "leading" | "center" | "trailing";
12
- alignmentV: "top" | "center" | "bottom";
12
+ alignmentH: HAlign;
13
+ alignmentV: VAlign;
13
14
  private cachedSizes;
14
15
  constructor(props: ZStackProps, ctx: HostContext);
15
16
  measure(maxW: number, maxH: number): Size;
@@ -1 +1 @@
1
- {"version":3,"file":"zstack.d.ts","sourceRoot":"","sources":["../../../src/hosts/zstack.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,SAAS,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;QAAC,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;KAAE,CAAA;CACtF;AAGD,qBAAa,UAAW,SAAQ,QAAQ;IACvC,UAAU,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAW;IACxD,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAW;IAClD,OAAO,CAAC,WAAW,CAAa;gBAEpB,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW;IAKhD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAwBhC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAyBjC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAYzC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAQ1D"}
1
+ {"version":3,"file":"zstack.d.ts","sourceRoot":"","sources":["../../../src/hosts/zstack.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;AACpC,OAAO,EAAe,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAEzE,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,SAAS,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;QAAC,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;KAAE,CAAA;CACtF;AAGD,qBAAa,UAAW,SAAQ,QAAQ;IACvC,UAAU,EAAE,MAAM,CAAW;IAC7B,UAAU,EAAE,MAAM,CAAW;IAC7B,OAAO,CAAC,WAAW,CAAa;gBAEpB,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW;IAKhD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAwBhC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAiBjC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAMzC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAQ1D"}
@@ -1,4 +1,5 @@
1
1
  import { BaseHost } from "./base.js";
2
+ import { alignInRect } from "../utils/index.js";
2
3
  // Overlay children in the same rect, honoring alignment for each child.
3
4
  export class ZStackHost extends BaseHost {
4
5
  alignmentH = "center";
@@ -32,16 +33,7 @@ export class ZStackHost extends BaseHost {
32
33
  for (let i = 0; i < this.children.length; i++) {
33
34
  const child = this.children[i];
34
35
  const size = this.cachedSizes[i] ?? child.measure(rect.w, rect.h);
35
- let x = rect.x;
36
- let y = rect.y;
37
- if (this.alignmentH === "center")
38
- x += Math.floor((rect.w - size.w) / 2);
39
- else if (this.alignmentH === "trailing")
40
- x += Math.max(0, rect.w - size.w);
41
- if (this.alignmentV === "center")
42
- y += Math.floor((rect.h - size.h) / 2);
43
- else if (this.alignmentV === "bottom")
44
- y += Math.max(0, rect.h - size.h);
36
+ const { x, y } = alignInRect(rect, size, this.alignmentH, this.alignmentV);
45
37
  child.layout({
46
38
  x,
47
39
  y,
@@ -52,14 +44,7 @@ export class ZStackHost extends BaseHost {
52
44
  }
53
45
  render(buffer, palette) {
54
46
  for (const child of this.children) {
55
- if (child.rect) {
56
- buffer.withClip(child.rect.x, child.rect.y, child.rect.w, child.rect.h, () => {
57
- child.render(buffer, palette);
58
- });
59
- }
60
- else {
61
- child.render(buffer, palette);
62
- }
47
+ this.renderChildWithClip(child, buffer, palette);
63
48
  }
64
49
  }
65
50
  updateProps(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"zstack.js","sourceRoot":"","sources":["../../../src/hosts/zstack.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAMpC,wEAAwE;AACxE,MAAM,OAAO,UAAW,SAAQ,QAAQ;IACvC,UAAU,GAAsC,QAAQ,CAAA;IACxD,UAAU,GAAgC,QAAQ,CAAA;IAC1C,WAAW,GAAW,EAAE,CAAA;IAEhC,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,IAAY,EAAE,IAAY;QACjC,yDAAyD;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAEtD,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QAErB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;YACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC3B,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;YACvC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QACxC,CAAC;QAED,MAAM,WAAW,GAAG;YACnB,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC;YACrC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC;SACrC,CAAA;QAED,sDAAsD;QACtD,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC;IAEQ,MAAM,CAAC,IAAU;QACzB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;YAEjE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;YACd,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;YAEd,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ;gBAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;iBACnE,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU;gBAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YAE1E,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ;gBAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;iBACnE,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ;gBAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YAExE,KAAK,CAAC,MAAM,CAAC;gBACZ,CAAC;gBACD,CAAC;gBACD,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC3B,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;aAC3B,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED,MAAM,CAAC,MAAkB,EAAE,OAAgB;QAC1C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE;oBAC5E,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAC9B,CAAC,CAAC,CAAA;YACH,CAAC;iBAAM,CAAC;gBACP,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC9B,CAAC;QACF,CAAC;IACF,CAAC;IAEQ,WAAW,CAAC,KAA8B;QAClD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACxB,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,KAAK,CAAC,SAAqC,CAAA;YACrD,IAAI,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA;YAC/B,IAAI,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"zstack.js","sourceRoot":"","sources":["../../../src/hosts/zstack.ts"],"names":[],"mappings":"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"}
@@ -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
- /** Flex grow factor - how much extra space this view takes (default: 0) */
80
- flexGrow?: number;
81
- /** Flex shrink factor - how much this view shrinks when space is tight (default: 1) */
82
- flexShrink?: number;
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,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAA;IAMnB;;;;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
+ {"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"}
@@ -15,6 +15,10 @@ declare const TuiRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"Screenshot", typeof Schem
15
15
  pid: typeof Schema.Number;
16
16
  width: typeof Schema.Number;
17
17
  height: typeof Schema.Number;
18
+ /** Entry file path (e.g., /Users/kit/code/my-app/src/tui.tsx) */
19
+ entryPath: Schema.optional<typeof Schema.String>;
20
+ /** Short name derived from entry path (e.g., my-app/src/tui.tsx) */
21
+ name: Schema.optional<typeof Schema.String>;
18
22
  }>, typeof Schema.Never, never>>;
19
23
  export declare class TuiRpcs extends TuiRpcs_base {
20
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Procedures.d.ts","sourceRoot":"","sources":["../../../src/remote/Procedures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;;;;;;;;;;;;;;;;;AA2C/B,qBAAa,OAAQ,SAAQ,YAM5B;CAAG"}
1
+ {"version":3,"file":"Procedures.d.ts","sourceRoot":"","sources":["../../../src/remote/Procedures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;;;;;;;;;;;;;;;;IAuC7B,iEAAiE;;IAEjE,oEAAoE;;;AAMtE,qBAAa,OAAQ,SAAQ,YAM5B;CAAG"}
@@ -34,6 +34,10 @@ const Info = Rpc.make("Info", {
34
34
  pid: Schema.Number,
35
35
  width: Schema.Number,
36
36
  height: Schema.Number,
37
+ /** Entry file path (e.g., /Users/kit/code/my-app/src/tui.tsx) */
38
+ entryPath: Schema.optional(Schema.String),
39
+ /** Short name derived from entry path (e.g., my-app/src/tui.tsx) */
40
+ name: Schema.optional(Schema.String),
37
41
  }),
38
42
  });
39
43
  // Group all RPCs together
@@ -1 +1 @@
1
- {"version":3,"file":"Procedures.js","sourceRoot":"","sources":["../../../src/remote/Procedures.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,yDAAyD;AACzD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC,CAAA;AAEF,2CAA2C;AAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;IACnC,OAAO,EAAE;QACR,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACtC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;KACrC;CACD,CAAC,CAAA;AAEF,sCAAsC;AACtC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;IAC/B,OAAO,EAAE;QACR,IAAI,EAAE,MAAM,CAAC,MAAM;KACnB;CACD,CAAC,CAAA;AAEF,oCAAoC;AACpC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;KACrB;CACD,CAAC,CAAA;AAEF,0BAA0B;AAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC,MAAM;QAClB,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;KACrB,CAAC;CACF,CAAC,CAAA;AAEF,0BAA0B;AAC1B,MAAM,OAAO,OAAQ,SAAQ,QAAQ,CAAC,IAAI,CACzC,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,IAAI,CACJ;CAAG"}
1
+ {"version":3,"file":"Procedures.js","sourceRoot":"","sources":["../../../src/remote/Procedures.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,yDAAyD;AACzD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC,CAAA;AAEF,2CAA2C;AAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;IACnC,OAAO,EAAE;QACR,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACtC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;KACrC;CACD,CAAC,CAAA;AAEF,sCAAsC;AACtC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;IAC/B,OAAO,EAAE;QACR,IAAI,EAAE,MAAM,CAAC,MAAM;KACnB;CACD,CAAC,CAAA;AAEF,oCAAoC;AACpC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;KACrB;CACD,CAAC,CAAA;AAEF,0BAA0B;AAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC,MAAM;QAClB,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,iEAAiE;QACjE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACzC,oEAAoE;QACpE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;KACpC,CAAC;CACF,CAAC,CAAA;AAEF,0BAA0B;AAC1B,MAAM,OAAO,OAAQ,SAAQ,QAAQ,CAAC,IAAI,CACzC,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,IAAI,CACJ;CAAG"}
@@ -10,6 +10,8 @@ export interface TuiSessionImpl {
10
10
  pid: number;
11
11
  width: number;
12
12
  height: number;
13
+ entryPath?: string;
14
+ name?: string;
13
15
  };
14
16
  }
15
17
  declare const TuiSession_base: Context.TagClass<TuiSession, "TuiSession", TuiSessionImpl>;
@@ -1 +1 @@
1
- {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../src/remote/Router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAU,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAI9C,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,MAAM,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAChE,QAAQ,CAAC,OAAO,EAAE,MAAM;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CACtE;;AAED,qBAAa,UAAW,SAAQ,eAG7B;CAAG;AAGN,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,KAAK,CACnC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GACzB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GACtB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GACpB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GACrB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EACrB,KAAK,EACL,UAAU,CA6BV,CAAA"}
1
+ {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../src/remote/Router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAU,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAI9C,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,MAAM,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAChE,QAAQ,CAAC,OAAO,EAAE,MAAM;QACvB,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,IAAI,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;CACD;;AAED,qBAAa,UAAW,SAAQ,eAG7B;CAAG;AAGN,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,KAAK,CACnC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GACzB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GACtB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GACpB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GACrB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EACrB,KAAK,EACL,UAAU,CA6BV,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/remote/Router.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAWzC,MAAM,OAAO,UAAW,SAAQ,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAGtD;CAAG;AAEN,gCAAgC;AAChC,MAAM,CAAC,MAAM,YAAY,GAQrB,OAAO,CAAC,OAAO,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,UAAU,CAAA;IAEjC,OAAO;QACN,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAE5D,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YAChB,MAAM,GAAG,GAAW;gBACnB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,IAAsB;gBAC5B,IAAI;gBACJ,IAAI,EAAE,IAAI,IAAI,KAAK;gBACnB,KAAK,EAAE,KAAK,IAAI,KAAK;gBACrB,IAAI,EAAE,IAAI,IAAI,KAAK;aACnB,CAAA;YACD,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC,CAAC;QAEH,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEnE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEzD,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KAChD,CAAA;AACF,CAAC,CAAC,CACF,CAAA"}
1
+ {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/remote/Router.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAiBzC,MAAM,OAAO,UAAW,SAAQ,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAGtD;CAAG;AAEN,gCAAgC;AAChC,MAAM,CAAC,MAAM,YAAY,GAQrB,OAAO,CAAC,OAAO,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,UAAU,CAAA;IAEjC,OAAO;QACN,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAE5D,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YAChB,MAAM,GAAG,GAAW;gBACnB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,IAAsB;gBAC5B,IAAI;gBACJ,IAAI,EAAE,IAAI,IAAI,KAAK;gBACnB,KAAK,EAAE,KAAK,IAAI,KAAK;gBACrB,IAAI,EAAE,IAAI,IAAI,KAAK;aACnB,CAAA;YACD,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC,CAAC;QAEH,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEnE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEzD,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KAChD,CAAA;AACF,CAAC,CAAC,CACF,CAAA"}
@@ -2,15 +2,21 @@ export { TuiRpcs } from "./Procedures.js";
2
2
  export { TuiSession, HandlersLive } from "./Router.js";
3
3
  export { makeServerLayer, getSocketPath } from "./Server.js";
4
4
  import type { TuiRenderer } from "../renderer-types.js";
5
+ export interface EnableRemoteOptions {
6
+ /** Custom socket path (defaults to /tmp/effect-tui-sessions/<pid>.sock) */
7
+ socketPath?: string;
8
+ /** Entry file path for identification (e.g., import.meta.path) */
9
+ entryPath?: string;
10
+ }
5
11
  /**
6
12
  * Enable remote control for a TUI renderer.
7
13
  * Starts an RPC server on a Unix socket at /tmp/effect-tui-sessions/<pid>.sock
8
14
  *
9
15
  * @param renderer - The TUI renderer to control
10
- * @param socketPath - Optional custom socket path
16
+ * @param options - Socket path and entry path for session identification
11
17
  * @returns A cleanup function to stop the server
12
18
  */
13
- export declare function enableRemote(renderer: TuiRenderer, socketPath?: string): () => void;
19
+ export declare function enableRemote(renderer: TuiRenderer, options?: EnableRemoteOptions | string): () => void;
14
20
  /**
15
21
  * Check if remote control should be enabled (via EFFECT_TUI_REMOTE=1 env var)
16
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remote/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAI5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIvD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,WAAW,EACrB,UAAU,CAAC,EAAE,MAAM,GACjB,MAAM,IAAI,CAoDZ;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remote/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAI5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIvD,MAAM,WAAW,mBAAmB;IACnC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAyBD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,GACpC,MAAM,IAAI,CA4DZ;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C"}
@@ -12,16 +12,42 @@ export { makeServerLayer, getSocketPath } from "./Server.js";
12
12
  import { Effect, Exit, Layer, Scope } from "effect";
13
13
  import * as fs from "node:fs";
14
14
  import { makeServerLayer, getSocketPath } from "./Server.js";
15
+ /**
16
+ * Derive a short name from the entry path.
17
+ * Uses the last directory + filename (e.g., "/Users/kit/code/my-app/src/tui.tsx" -> "my-app/src/tui.tsx")
18
+ */
19
+ function deriveSessionName(entryPath) {
20
+ const parts = entryPath.split("/");
21
+ // Find the last directory that looks like a project name (not src, lib, etc)
22
+ const commonDirs = ["src", "lib", "dist", "build", "packages"];
23
+ let srcIdx = -1;
24
+ for (let i = parts.length - 1; i >= 0; i--) {
25
+ if (commonDirs.includes(parts[i])) {
26
+ srcIdx = i;
27
+ break;
28
+ }
29
+ }
30
+ if (srcIdx > 0) {
31
+ // Include project name + relative path from there
32
+ return parts.slice(srcIdx - 1).join("/");
33
+ }
34
+ // Fallback: last 3 path segments
35
+ return parts.slice(-3).join("/");
36
+ }
15
37
  /**
16
38
  * Enable remote control for a TUI renderer.
17
39
  * Starts an RPC server on a Unix socket at /tmp/effect-tui-sessions/<pid>.sock
18
40
  *
19
41
  * @param renderer - The TUI renderer to control
20
- * @param socketPath - Optional custom socket path
42
+ * @param options - Socket path and entry path for session identification
21
43
  * @returns A cleanup function to stop the server
22
44
  */
23
- export function enableRemote(renderer, socketPath) {
24
- const actualPath = socketPath ?? getSocketPath();
45
+ export function enableRemote(renderer, options) {
46
+ // Support old API: enableRemote(renderer, socketPath?)
47
+ const opts = typeof options === "string" ? { socketPath: options } : options ?? {};
48
+ const actualPath = opts.socketPath ?? getSocketPath();
49
+ // Derive session name from entry path
50
+ const name = opts.entryPath ? deriveSessionName(opts.entryPath) : undefined;
25
51
  // Create session implementation from renderer
26
52
  const session = {
27
53
  getScreenshot: () => renderer.getScreenshot(),
@@ -32,6 +58,8 @@ export function enableRemote(renderer, socketPath) {
32
58
  pid: process.pid,
33
59
  width: renderer.width,
34
60
  height: renderer.height,
61
+ entryPath: opts.entryPath,
62
+ name,
35
63
  }),
36
64
  };
37
65
  // Build and run the server layer
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remote/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remote/index.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export interface InputProcessorConfig {
6
6
  dispatchPaste: (text: string) => void;
7
7
  flushSync: <T>(fn: () => T) => T;
8
8
  onInputProcessed: () => void;
9
+ onQuit?: () => void;
9
10
  }
10
11
  /**
11
12
  * Processes raw terminal input, handling keyboard, mouse, and bracketed paste.
@@ -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;CAC5B;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;CA8BjB"}
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
- process.exit(0);
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":"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"}
1
+ {"version":3,"file":"InputProcessor.js","sourceRoot":"","sources":["../../../../src/renderer/input/InputProcessor.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export declare class TerminalSetup {
30
30
  /**
31
31
  * Restore terminal to normal state.
32
32
  * Call this when stopping the renderer.
33
+ * Uses a single write call to ensure atomic output and reliable flushing.
33
34
  */
34
35
  teardown(): void;
35
36
  }
@@ -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;;;OAGG;IACH,QAAQ,IAAI,IAAI;CA+BhB"}
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"}