@navinc/base-react-components
Version:
Nav's Pattern Library
18 lines (17 loc) • 946 B
TypeScript
import { FunctionComponent } from 'react';
import { Route, RouteComponentProps } from 'react-router-dom';
import { InferComponentProps } from './types.js';
type GuardedRouteProps = InferComponentProps<typeof Route> & {
condition?: boolean;
isConditionLoading?: boolean;
LoadingComponent?: FunctionComponent<RouteComponentProps>;
FailureComponent: FunctionComponent<RouteComponentProps>;
component: FunctionComponent<RouteComponentProps>;
};
export declare const GuardedRoute: ({ condition, isConditionLoading, LoadingComponent, FailureComponent, component: Component, ...routeProps }: GuardedRouteProps) => JSX.Element;
/**
* Create a GuardedRoute component with defaults.
* @param {*} defaults Supports `condition`, `isConditionLoading`, `LoadingComponent`, and `FailureComponent`.
*/
export declare const createGuardedRoute: (defaults: Partial<GuardedRouteProps>) => (props: GuardedRouteProps) => JSX.Element;
export {};