/**
 * Emits `max(0, getMax(width) - getCurrent(width))` empty rows. Used in
 * `dialog-builder.ts` to absorb the dialog-height residual OUTSIDE the bordered
 * body region: the body renders at its natural height (no internal `""`
 * padding), and this spacer makes up the difference between the global max
 * across tabs and the current tab's body height so the overall dialog footprint
 * stays constant on tab switches.
 */
export class BodyResidualSpacer {
    constructor(getMax, getCurrent) {
        this.getMax = getMax;
        this.getCurrent = getCurrent;
    }
    handleInput(_data) { }
    invalidate() { }
    render(width) {
        const diff = Math.max(0, this.getMax(width) - this.getCurrent(width));
        return Array(diff).fill("");
    }
}
//# sourceMappingURL=body-residual-spacer.js.map