UNPKG

next

Version:

The React Framework

73 lines (72 loc) 2.56 kB
import type { FocusAndScrollRef, PrefetchKind } from '../../client/components/router-reducer/router-reducer-types'; import type { Params } from '../../server/request/params'; import type { FlightRouterState, FlightSegmentPath, CacheNode, LoadingModuleData } from './app-router-types'; import React from 'react'; export interface NavigateOptions { scroll?: boolean; /** * Transition types to apply when navigating. These types are passed to * [`React.addTransitionType`](https://react.dev/reference/react/addTransitionType) * inside the navigation transition, enabling * [`<ViewTransition>`](https://react.dev/reference/react/ViewTransition) components * to apply different animations based on the type of navigation. */ transitionTypes?: string[]; } export interface PrefetchOptions { kind: PrefetchKind; onInvalidate?: () => void; } export interface AppRouterInstance { /** * Navigate to the previous history entry. */ back(): void; /** * Navigate to the next history entry. */ forward(): void; /** * Refresh the current page. */ refresh(): void; /** * Navigate to the provided href. * Pushes a new history entry. */ push(href: string, options?: NavigateOptions): void; /** * Navigate to the provided href. * Replaces the current history entry. */ replace(href: string, options?: NavigateOptions): void; /** * Prefetch the provided href. */ prefetch(href: string, options?: PrefetchOptions): void; /** * Perform a gesture navigation using prefetched data. * Only available when experimental.gestureTransition is enabled. * @experimental */ experimental_gesturePush?(href: string, options?: NavigateOptions): void; } export declare const AppRouterContext: React.Context<AppRouterInstance | null>; export declare const LayoutRouterContext: React.Context<{ parentTree: FlightRouterState; parentCacheNode: CacheNode; parentSegmentPath: FlightSegmentPath | null; parentParams: Params; parentLoadingData: LoadingModuleData | null; debugNameContext: string; url: string; isActive: boolean; } | null>; export declare const GlobalLayoutRouterContext: React.Context<{ tree: FlightRouterState; focusAndScrollRef: FocusAndScrollRef; nextUrl: string | null; previousNextUrl: string | null; }>; export declare const TemplateContext: React.Context<React.ReactNode>; export declare const MissingSlotContext: React.Context<Set<string>>;