UNPKG

rwsdk

Version:

Build fast, server-driven webapps on Cloudflare with SSR, RSC, and realtime

26 lines (25 loc) 956 B
export declare const HISTORY_STATE_SCROLL_KEY = "__rwsdk_scroll_key"; export type ScrollPosition = { x: number; y: number; }; export type PendingScroll = ScrollPosition & { behavior: ScrollBehavior; }; export interface NavigationHistoryState extends Record<string, unknown> { path?: string; scrollX?: number; scrollY?: number; [HISTORY_STATE_SCROLL_KEY]?: string; } export interface ScrollRestorationController { initialize(): void; recordCurrentPosition(x: number, y: number): void; flushCurrentPositionToHistoryState(x?: number, y?: number): void; pushEntry(href: string, url: URL, initialPosition: ScrollPosition): void; replaceEntry(href: string, url: URL, initialPosition: ScrollPosition): void; restorePopStateScroll(): void; setPendingScroll(pendingScroll: PendingScroll): void; applyPendingScroll(): void; } export declare function createScrollRestoration(): ScrollRestorationController;