@navinc/base-react-components
Version:
Nav's Pattern Library
28 lines (27 loc) • 1.29 kB
TypeScript
export function GuardedRoute({ condition, isConditionLoading, LoadingComponent, FailureComponent, component: Component, ...routeProps }: {
[x: string]: any;
condition: any;
isConditionLoading: any;
LoadingComponent?: {
({ className, message, illustration, ...props }: {
className?: string | undefined;
message?: React.ReactNode;
illustration?: string | undefined;
} & import("./types.js").InferComponentProps<import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>>): JSX.Element;
displayName: string;
} | undefined;
FailureComponent: any;
component: any;
}): JSX.Element;
export namespace GuardedRoute {
namespace propTypes {
const condition: propTypes.Requireable<boolean>;
const isConditionLoading: propTypes.Requireable<boolean>;
const LoadingComponent: propTypes.Requireable<propTypes.ReactComponentLike>;
const FailureComponent: propTypes.Validator<propTypes.ReactComponentLike>;
const component: propTypes.Requireable<propTypes.ReactComponentLike>;
}
}
export function createGuardedRoute(defaults: any): (props: any) => JSX.Element;
import React from "react";
import propTypes_1 from "prop-types";