@nipe-solutions/react-spring-bottom-sheet
Version:
Accessible and composable bottom sheets for React
28 lines (27 loc) • 988 B
TypeScript
import type { LayoutMeasurements } from './types.js';
interface ResizeObserverLike {
observe(target: Element): void;
disconnect(): void;
}
interface VisualViewportLike {
readonly height: number;
addEventListener(type: 'resize', listener: (event: Event) => void): void;
removeEventListener(type: 'resize', listener: (event: Event) => void): void;
}
export interface LayoutObservationOptions {
viewport: HTMLElement;
content: HTMLElement;
onChange(measurements: LayoutMeasurements): void;
getSafeArea?: () => {
top: number;
bottom: number;
};
visualViewport?: VisualViewportLike | null;
createResizeObserver?: (callback: () => void) => ResizeObserverLike | null;
}
export interface LayoutObservation {
measure(): void;
dispose(): void;
}
export declare function observeLayout({ viewport, content, onChange, getSafeArea, visualViewport, createResizeObserver, }: LayoutObservationOptions): LayoutObservation;
export {};