shelving
Version:
Toolkit for using data in JavaScript.
18 lines (17 loc) • 938 B
TypeScript
import { type ReactElement } from "react";
import type { PossibleMeta } from "../util/index.js";
import type { OptionalChildProps } from "../util/props.js";
export interface NavigationProps extends PossibleMeta, OptionalChildProps {
}
/**
* Top-level navigation provider.
* - Owns a single `NavigationStore` initialised from the surrounding `<Meta>` url/base.
* - Intercepts same-origin anchor clicks (excluding `download` anchors) and turns them into `forward()` calls.
* - Listens for `popstate` to sync the store with browser back/forward.
* - Publishes the live URL via `<Meta url={…} params={…}>` so descendant `<Router>`s re-render on navigation.
*
* Exactly one `<Navigation>` per app — nested routers share this single store.
*
* TODO: switch click/popstate handling to the browser Navigation API when broadly supported.
*/
export declare function Navigation({ children, ...meta }: NavigationProps): ReactElement;