fix: render TUI pickers as overlays
This commit is contained in:
19
src/tui/tui-overlays.ts
Normal file
19
src/tui/tui-overlays.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import type { Component, TUI } from "@mariozechner/pi-tui";
|
||||
|
||||
type OverlayHost = Pick<TUI, "showOverlay" | "hideOverlay" | "hasOverlay" | "setFocus">;
|
||||
|
||||
export function createOverlayHandlers(host: OverlayHost, fallbackFocus: Component) {
|
||||
const openOverlay = (component: Component) => {
|
||||
host.showOverlay(component);
|
||||
};
|
||||
|
||||
const closeOverlay = () => {
|
||||
if (host.hasOverlay()) {
|
||||
host.hideOverlay();
|
||||
return;
|
||||
}
|
||||
host.setFocus(fallbackFocus);
|
||||
};
|
||||
|
||||
return { openOverlay, closeOverlay };
|
||||
}
|
||||
Reference in New Issue
Block a user