28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
import type { Component, JSX } from "solid-js";
|
|
import type { MatchFilters, RouteDefinition, RoutePreloadFunc, RouterIntegration, RouteSectionProps } from "../types.js";
|
|
export type BaseRouterProps = {
|
|
base?: string;
|
|
/**
|
|
* A component that wraps the content of every route.
|
|
*/
|
|
root?: Component<RouteSectionProps>;
|
|
rootPreload?: RoutePreloadFunc;
|
|
singleFlight?: boolean;
|
|
children?: JSX.Element | RouteDefinition | RouteDefinition[];
|
|
transformUrl?: (url: string) => string;
|
|
/** @deprecated use rootPreload */
|
|
rootLoad?: RoutePreloadFunc;
|
|
};
|
|
export declare const createRouterComponent: (router: RouterIntegration) => (props: BaseRouterProps) => JSX.Element;
|
|
export type RouteProps<S extends string, T = unknown> = {
|
|
path?: S | S[];
|
|
children?: JSX.Element;
|
|
preload?: RoutePreloadFunc<T>;
|
|
matchFilters?: MatchFilters<S>;
|
|
component?: Component<RouteSectionProps<T>>;
|
|
info?: Record<string, any>;
|
|
/** @deprecated use preload */
|
|
load?: RoutePreloadFunc<T>;
|
|
};
|
|
export declare const Route: <S extends string, T = unknown>(props: RouteProps<S, T>) => JSX.Element;
|