/** * Matches the `max-width: 480px` block in widget.css, where every panel that * holds a text field stops being a card anchored near the annotation and * becomes a bottom sheet. */ export declare const SHEET_MAX_WIDTH = 480; export declare function isSheetViewport(): boolean; /** * Hands a panel's geometry to the stylesheet on narrow screens, and keeps it * clear of the software keyboard. * * Two jobs that have to live together. The panels each position themselves * with inline `left`/`top`, which would beat the media query and drag the sheet * back into a floating card — so the inline values have to be cleared, not just * overridden. And a `position: fixed` sheet gets no help from the browser's * scroll-into-view, which only moves elements in the document flow, so the * keyboard simply covers it unless something lifts it. * * Shared by the comment popup, the clarify card, and the draw note bar: all * three carry a text field, and all three are the last thing between a reporter * and a submitted report. */ export declare class SheetLayout { private el; private inset; constructor(el: HTMLElement); /** Returns true when this took over layout, i.e. the caller should not position. */ apply(): boolean; release(): void; /** * Lifting is clamped so the panel's own top edge stays on screen. * * The rule is geometric rather than a guess about how tall a keyboard gets: * an earlier version refused any inset above 60% of the window, a number * calibrated from a single reading on a single device. What actually matters * is that the reporter can still see and reach the panel, and that is a * question about this panel's height, which is known right here. */ private lift; } //# sourceMappingURL=sheet.d.ts.map