@xynogen/pix-ask 0.2.20 → 0.2.21

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xynogen/pix-ask",
3
- "version": "0.2.20",
3
+ "version": "0.2.21",
4
4
  "description": "Pi tool — structured questionnaire UI (ask_user)",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
@@ -36,7 +36,7 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@xynogen/pix-pretty": "^1.11.2",
39
- "@xynogen/pix-runtime": "^0.6.0",
39
+ "@xynogen/pix-runtime": "^0.7.0",
40
40
  "typebox": "^1.1.38"
41
41
  },
42
42
  "peerDependencies": {
package/src/index.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
2
  import { Text } from "@earendil-works/pi-tui";
3
+ import { modalOverlayOptions } from "@xynogen/pix-pretty/modal-frame";
3
4
  import {
4
5
  dotJoin,
5
6
  formatCollapsedToolRow,
@@ -84,7 +85,7 @@ export default function registerAsk(pi: ExtensionAPI): void {
84
85
  }
85
86
  return new AskQuestionnaire(typed, tui, theme, keybindings, done);
86
87
  },
87
- { overlay: true },
88
+ { overlay: true, overlayOptions: modalOverlayOptions() },
88
89
  ),
89
90
  );
90
91
 
@@ -15,7 +15,6 @@ import {
15
15
  frameModal,
16
16
  MIN_MODAL_HEIGHT,
17
17
  ModalPager,
18
- modalWidth,
19
18
  terminalModalHeight,
20
19
  } from "@xynogen/pix-pretty/modal-frame";
21
20
  import { ChipEditor } from "./chip-editor.js";
@@ -511,9 +510,8 @@ export class AskQuestionnaire extends Container {
511
510
  }
512
511
 
513
512
  override render(termWidth: number): string[] {
514
- // Cap to a fixed-width floating modal; render content at the inner width
515
- // and frame it with a rounded border (see frameLines).
516
- const mw = modalWidth(termWidth);
513
+ // Overlay owns configured bounds; fill them so background cannot bleed through.
514
+ const mw = Math.max(1, Math.floor(termWidth));
517
515
  const width = mw - 4; // border (2) + padding (2)
518
516
  const inner = Math.max(20, width);
519
517
  const t = this.theme;