@tanstack/react-router 0.0.1-beta.193 → 0.0.1-beta.195

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -43,6 +43,7 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
43
43
  var invariant__default = /*#__PURE__*/_interopDefaultLegacy(invariant);
44
44
  var warning__default = /*#__PURE__*/_interopDefaultLegacy(warning);
45
45
 
46
+ const useLayoutEffect = typeof window !== 'undefined' ? React__namespace.useLayoutEffect : React__namespace.useEffect;
46
47
  routerCore.Route.__onInit = route => {
47
48
  Object.assign(route, {
48
49
  useMatch: (opts = {}) => {
@@ -57,18 +58,11 @@ routerCore.Route.__onInit = route => {
57
58
  from: route.id
58
59
  });
59
60
  },
60
- useContext: (opts = {}) => {
61
- return useMatch({
62
- ...opts,
63
- from: route.id,
64
- select: d => opts?.select ? opts.select(d.context) : d.context
65
- });
66
- },
67
61
  useRouteContext: (opts = {}) => {
68
62
  return useMatch({
69
63
  ...opts,
70
64
  from: route.id,
71
- select: d => opts?.select ? opts.select(d.routeContext) : d.routeContext
65
+ select: d => opts?.select ? opts.select(d.context) : d.context
72
66
  });
73
67
  },
74
68
  useSearch: (opts = {}) => {
@@ -215,7 +209,7 @@ const Link = /*#__PURE__*/React__namespace.forwardRef((props, ref) => {
215
209
  });
216
210
  function Navigate(props) {
217
211
  const router = useRouter();
218
- React__namespace.useLayoutEffect(() => {
212
+ useLayoutEffect(() => {
219
213
  router.navigate(props);
220
214
  }, []);
221
215
  return null;
@@ -258,7 +252,6 @@ function Matches() {
258
252
  return /*#__PURE__*/React__namespace.createElement(ErrorComponent, {
259
253
  ...props,
260
254
  useMatch: route.useMatch,
261
- useContext: route.useContext,
262
255
  useRouteContext: route.useRouteContext,
263
256
  useSearch: route.useSearch,
264
257
  useParams: route.useParams
@@ -403,7 +396,6 @@ function Match({
403
396
  return /*#__PURE__*/React__namespace.createElement(routeErrorComponent, {
404
397
  ...props,
405
398
  useMatch: route.useMatch,
406
- useContext: route.useContext,
407
399
  useRouteContext: route.useRouteContext,
408
400
  useSearch: route.useSearch,
409
401
  useParams: route.useParams
@@ -414,7 +406,6 @@ function Match({
414
406
  }, /*#__PURE__*/React__namespace.createElement(ResolvedSuspenseBoundary, {
415
407
  fallback: /*#__PURE__*/React__namespace.createElement(PendingComponent, {
416
408
  useMatch: route.useMatch,
417
- useContext: route.useContext,
418
409
  useRouteContext: route.useRouteContext,
419
410
  useSearch: route.useSearch,
420
411
  useParams: route.useParams
@@ -449,7 +440,6 @@ function MatchInner({
449
440
  return /*#__PURE__*/React__namespace.createElement(PendingComponent, {
450
441
  useLoader: route.useLoader,
451
442
  useMatch: route.useMatch,
452
- useContext: route.useContext,
453
443
  useRouteContext: route.useRouteContext,
454
444
  useSearch: route.useSearch,
455
445
  useParams: route.useParams
@@ -461,7 +451,6 @@ function MatchInner({
461
451
  return /*#__PURE__*/React__namespace.createElement(comp, {
462
452
  useLoader: route.useLoader,
463
453
  useMatch: route.useMatch,
464
- useContext: route.useContext,
465
454
  useRouteContext: route.useRouteContext,
466
455
  useSearch: route.useSearch,
467
456
  useParams: route.useParams
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sources":["../../src/react.tsx"],"sourcesContent":["import * as React from 'react'\nimport { NoInfer, useStore } from '@tanstack/react-store'\nimport invariant from 'tiny-invariant'\nimport warning from 'tiny-warning'\nimport {\n functionalUpdate,\n last,\n pick,\n MatchRouteOptions,\n RegisteredRouter,\n RouterOptions,\n Router,\n RouteMatch,\n RouteByPath,\n AnyRoute,\n AnyRouteProps,\n LinkOptions,\n ToOptions,\n ResolveRelativePath,\n NavigateOptions,\n ResolveFullPath,\n ResolveId,\n AnySearchSchema,\n ParsePathParams,\n MergeFromFromParent,\n RouteContext,\n AnyContext,\n UseLoaderResult,\n ResolveFullSearchSchema,\n Route,\n RouteConstraints,\n RoutePaths,\n RoutesById,\n RouteIds,\n RouteById,\n ParseRoute,\n AllParams,\n rootRouteId,\n AnyPathParams,\n Expand,\n ResolveAllParams,\n} from '@tanstack/router-core'\n\ndeclare module '@tanstack/router-core' {\n interface RouterOptions<\n TRouteTree extends AnyRoute,\n TDehydrated extends Record<string, any>,\n > {\n Wrap?: React.ComponentType<{\n children: React.ReactNode\n dehydratedState?: TDehydrated\n }>\n }\n\n interface RegisterRouteComponent<\n TLoader = unknown,\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends Record<string, any> = AnyContext,\n TAllContext extends Record<string, any> = AnyContext,\n > {\n RouteComponent: RouteComponent<\n RouteProps<\n TLoader,\n TFullSearchSchema,\n TAllParams,\n TRouteContext,\n TAllContext\n >\n >\n }\n\n interface RegisterErrorRouteComponent<\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends Record<string, any> = AnyContext,\n TAllContext extends Record<string, any> = AnyContext,\n > {\n ErrorRouteComponent: RouteComponent<\n ErrorRouteProps<TFullSearchSchema, TAllParams, TRouteContext, TAllContext>\n >\n }\n\n interface RegisterPendingRouteComponent<\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends Record<string, any> = AnyContext,\n TAllContext extends Record<string, any> = AnyContext,\n > {\n PendingRouteComponent: RouteComponent<\n PendingRouteProps<\n TFullSearchSchema,\n TAllParams,\n TRouteContext,\n TAllContext\n >\n >\n }\n\n interface Route<\n TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n TPath extends RouteConstraints['TPath'] = '/',\n TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n TCustomId extends RouteConstraints['TCustomId'] = string,\n TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n TLoaderContext extends RouteConstraints['TLoaderContext'] = AnyContext,\n TLoader = unknown,\n TSearchSchema extends RouteConstraints['TSearchSchema'] = {},\n TFullSearchSchema extends RouteConstraints['TFullSearchSchema'] = ResolveFullSearchSchema<\n TParentRoute,\n TSearchSchema\n >,\n TParams extends RouteConstraints['TParams'] = Expand<\n Record<ParsePathParams<TPath>, string>\n >,\n TAllParams extends RouteConstraints['TAllParams'] = ResolveAllParams<\n TParentRoute,\n TParams\n >,\n TParentContext extends RouteConstraints['TParentContext'] = TParentRoute['types']['routeContext'],\n TAllParentContext extends RouteConstraints['TAllParentContext'] = TParentRoute['types']['context'],\n TRouteContext extends RouteConstraints['TRouteContext'] = RouteContext,\n TAllContext extends RouteConstraints['TAllContext'] = MergeFromFromParent<\n TParentRoute['types']['context'],\n TRouteContext\n >,\n TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext,\n TChildren extends RouteConstraints['TChildren'] = unknown,\n TRouteTree extends RouteConstraints['TRouteTree'] = AnyRoute,\n > {\n useMatch: <TSelected = TAllContext>(opts?: {\n select?: (search: TAllContext) => TSelected\n }) => TSelected\n useLoader: <TSelected = TLoader>(opts?: {\n select?: (search: TLoader) => TSelected\n }) => UseLoaderResult<TSelected>\n useContext: <TSelected = TAllContext>(opts?: {\n select?: (search: TAllContext) => TSelected\n }) => TSelected\n useRouteContext: <TSelected = TRouteContext>(opts?: {\n select?: (search: TRouteContext) => TSelected\n }) => TSelected\n useSearch: <TSelected = TFullSearchSchema>(opts?: {\n select?: (search: TFullSearchSchema) => TSelected\n }) => TSelected\n useParams: <TSelected = TAllParams>(opts?: {\n select?: (search: TAllParams) => TSelected\n }) => TSelected\n }\n\n interface RegisterRouteProps<\n TLoader = unknown,\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends Record<string, any> = AnyContext,\n TAllContext extends Record<string, any> = AnyContext,\n > {\n RouteProps: RouteProps<\n TLoader,\n TFullSearchSchema,\n TAllParams,\n TRouteContext,\n TAllContext\n >\n }\n\n interface RegisterPendingRouteProps<\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends Record<string, any> = AnyContext,\n TAllContext extends Record<string, any> = AnyContext,\n > {\n PendingRouteProps: PendingRouteProps<\n TFullSearchSchema,\n TAllParams,\n TRouteContext,\n TAllContext\n >\n }\n\n interface RegisterErrorRouteProps<\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends Record<string, any> = AnyContext,\n TAllContext extends Record<string, any> = AnyContext,\n > {\n ErrorRouteProps: ErrorRouteProps\n }\n}\n\nexport type RouteProps<\n TLoader = unknown,\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends Record<string, any> = AnyContext,\n TAllContext extends Record<string, any> = AnyContext,\n> = {\n useLoader: <TSelected = TLoader>(opts?: {\n select?: (search: TLoader) => TSelected\n }) => UseLoaderResult<TSelected>\n useMatch: <TSelected = TAllContext>(opts?: {\n select?: (search: TAllContext) => TSelected\n }) => TSelected\n useContext: <TSelected = TAllContext>(opts?: {\n select?: (search: TAllContext) => TSelected\n }) => TSelected\n useRouteContext: <TSelected = TRouteContext>(opts?: {\n select?: (search: TRouteContext) => TSelected\n }) => TSelected\n useSearch: <TSelected = TFullSearchSchema>(opts?: {\n select?: (search: TFullSearchSchema) => TSelected\n }) => TSelected\n useParams: <TSelected = TAllParams>(opts?: {\n select?: (search: TAllParams) => TSelected\n }) => TSelected\n}\n\nexport type ErrorRouteProps<\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends Record<string, any> = AnyContext,\n TAllContext extends Record<string, any> = AnyContext,\n> = {\n error: unknown\n info: { componentStack: string }\n} & Omit<\n RouteProps<\n unknown,\n TFullSearchSchema,\n TAllParams,\n TRouteContext,\n TAllContext\n >,\n 'useLoader'\n>\n\nexport type PendingRouteProps<\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends Record<string, any> = AnyContext,\n TAllContext extends Record<string, any> = AnyContext,\n> = Omit<\n RouteProps<\n unknown,\n TFullSearchSchema,\n TAllParams,\n TRouteContext,\n TAllContext\n >,\n 'useLoader'\n>\n\nRoute.__onInit = (route) => {\n Object.assign(route, {\n useMatch: (opts = {}) => {\n return useMatch({ ...opts, from: route.id }) as any\n },\n useLoader: (opts = {}) => {\n return useLoader({ ...opts, from: route.id }) as any\n },\n useContext: (opts: any = {}) => {\n return useMatch({\n ...opts,\n from: route.id,\n select: (d: any) => (opts?.select ? opts.select(d.context) : d.context),\n } as any)\n },\n useRouteContext: (opts: any = {}) => {\n return useMatch({\n ...opts,\n from: route.id,\n select: (d: any) =>\n opts?.select ? opts.select(d.routeContext) : d.routeContext,\n } as any)\n },\n useSearch: (opts = {}) => {\n return useSearch({ ...opts, from: route.id } as any)\n },\n useParams: (opts = {}) => {\n return useParams({ ...opts, from: route.id } as any)\n },\n })\n}\n\n//\n\ntype ReactNode = any\n\nexport type SyncRouteComponent<TProps> =\n | ((props: TProps) => ReactNode)\n | React.LazyExoticComponent<(props: TProps) => ReactNode>\n\nexport type AsyncRouteComponent<TProps> = SyncRouteComponent<TProps> & {\n preload?: () => Promise<void>\n}\n\nexport type ErrorRouteComponent = AsyncRouteComponent<ErrorRouteComponentProps>\n\nexport type ErrorRouteComponentProps = {\n error: Error\n info: { componentStack: string }\n}\n\nexport type AnyRouteComponent = RouteComponent<AnyRouteProps>\n\nexport type RouteComponent<TProps> = AsyncRouteComponent<TProps>\n\nexport function lazyRouteComponent<\n T extends Record<string, any>,\n TKey extends keyof T = 'default',\n>(\n importer: () => Promise<T>,\n exportName?: TKey,\n): T[TKey] extends (props: infer TProps) => any\n ? AsyncRouteComponent<TProps>\n : never {\n let loadPromise: Promise<any>\n\n const load = () => {\n if (!loadPromise) {\n loadPromise = importer()\n }\n\n return loadPromise\n }\n\n const lazyComp = React.lazy(async () => {\n const moduleExports = await load()\n const comp = moduleExports[exportName ?? 'default']\n return {\n default: comp,\n }\n })\n\n ;(lazyComp as any).preload = load\n\n return lazyComp as any\n}\n\nexport type LinkPropsOptions<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n> = LinkOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> & {\n // A function that returns additional props for the `active` state of this link. These props override other props passed to the link (`style`'s are merged, `className`'s are concatenated)\n activeProps?:\n | React.AnchorHTMLAttributes<HTMLAnchorElement>\n | (() => React.AnchorHTMLAttributes<HTMLAnchorElement>)\n // A function that returns additional props for the `inactive` state of this link. These props override other props passed to the link (`style`'s are merged, `className`'s are concatenated)\n inactiveProps?:\n | React.AnchorHTMLAttributes<HTMLAnchorElement>\n | (() => React.AnchorHTMLAttributes<HTMLAnchorElement>)\n // If set to `true`, the link's underlying navigate() call will be wrapped in a `React.startTransition` call. Defaults to `true`.\n startTransition?: boolean\n}\n\nexport type MakeUseMatchRouteOptions<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n> = ToOptions<RegisteredRouter['routeTree'], TFrom, TTo, TMaskFrom, TMaskTo> &\n MatchRouteOptions\n\nexport type MakeMatchRouteOptions<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n> = ToOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> &\n MatchRouteOptions & {\n // If a function is passed as a child, it will be given the `isActive` boolean to aid in further styling on the element it returns\n children?:\n | ((\n params?: RouteByPath<\n TRouteTree,\n ResolveRelativePath<TFrom, NoInfer<TTo>>\n >['types']['allParams'],\n ) => ReactNode)\n | React.ReactNode\n }\n\nexport type MakeLinkPropsOptions<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n> = LinkPropsOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> &\n React.AnchorHTMLAttributes<HTMLAnchorElement>\n\nexport type MakeLinkOptions<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n> = LinkPropsOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> &\n Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'children'> & {\n // If a function is passed as a child, it will be given the `isActive` boolean to aid in further styling on the element it returns\n children?:\n | React.ReactNode\n | ((state: { isActive: boolean }) => React.ReactNode)\n }\n\nexport type PromptProps = {\n message: string\n condition?: boolean | any\n children?: ReactNode\n}\n\n//\n\nexport function useLinkProps<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n>(\n options: MakeLinkPropsOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>,\n): React.AnchorHTMLAttributes<HTMLAnchorElement> {\n const router = useRouter()\n\n const {\n // custom props\n type,\n children,\n target,\n activeProps = () => ({ className: 'active' }),\n inactiveProps = () => ({}),\n activeOptions,\n disabled,\n // fromCurrent,\n hash,\n search,\n params,\n to = '.',\n state,\n mask,\n preload,\n preloadDelay,\n replace,\n // element props\n style,\n className,\n onClick,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n onTouchStart,\n ...rest\n } = options\n\n const linkInfo = router.buildLink(options as any)\n\n if (linkInfo.type === 'external') {\n const { href } = linkInfo\n return { href }\n }\n\n const {\n handleClick,\n handleFocus,\n handleEnter,\n handleLeave,\n handleTouchStart,\n isActive,\n next,\n } = linkInfo\n\n const handleReactClick = (e: Event) => {\n if (options.startTransition ?? true) {\n ;(React.startTransition || ((d) => d))(() => {\n handleClick(e)\n })\n }\n }\n\n const composeHandlers =\n (handlers: (undefined | ((e: any) => void))[]) =>\n (e: React.SyntheticEvent) => {\n if (e.persist) e.persist()\n handlers.filter(Boolean).forEach((handler) => {\n if (e.defaultPrevented) return\n handler!(e)\n })\n }\n\n // Get the active props\n const resolvedActiveProps: React.HTMLAttributes<HTMLAnchorElement> = isActive\n ? functionalUpdate(activeProps as any, {}) ?? {}\n : {}\n\n // Get the inactive props\n const resolvedInactiveProps: React.HTMLAttributes<HTMLAnchorElement> =\n isActive ? {} : functionalUpdate(inactiveProps, {}) ?? {}\n\n return {\n ...resolvedActiveProps,\n ...resolvedInactiveProps,\n ...rest,\n href: disabled\n ? undefined\n : next.maskedLocation\n ? next.maskedLocation.href\n : next.href,\n onClick: composeHandlers([onClick, handleReactClick]),\n onFocus: composeHandlers([onFocus, handleFocus]),\n onMouseEnter: composeHandlers([onMouseEnter, handleEnter]),\n onMouseLeave: composeHandlers([onMouseLeave, handleLeave]),\n onTouchStart: composeHandlers([onTouchStart, handleTouchStart]),\n target,\n style: {\n ...style,\n ...resolvedActiveProps.style,\n ...resolvedInactiveProps.style,\n },\n className:\n [\n className,\n resolvedActiveProps.className,\n resolvedInactiveProps.className,\n ]\n .filter(Boolean)\n .join(' ') || undefined,\n ...(disabled\n ? {\n role: 'link',\n 'aria-disabled': true,\n }\n : undefined),\n ['data-status']: isActive ? 'active' : undefined,\n }\n}\n\nexport interface LinkComponent<TProps extends Record<string, any> = {}> {\n <\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n >(\n props: MakeLinkOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> &\n TProps &\n React.RefAttributes<HTMLAnchorElement>,\n ): ReactNode\n}\n\nexport const Link: LinkComponent = React.forwardRef((props: any, ref) => {\n const linkProps = useLinkProps(props)\n\n return (\n <a\n {...{\n ref: ref as any,\n ...linkProps,\n children:\n typeof props.children === 'function'\n ? props.children({\n isActive: (linkProps as any)['data-status'] === 'active',\n })\n : props.children,\n }}\n />\n )\n}) as any\n\nexport function Navigate<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n>(props: NavigateOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>): null {\n const router = useRouter()\n\n React.useLayoutEffect(() => {\n router.navigate(props as any)\n }, [])\n\n return null\n}\n\nexport const matchIdsContext = React.createContext<string[]>(null!)\nexport const routerContext = React.createContext<RegisteredRouter>(null!)\n\nexport type RouterProps<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TDehydrated extends Record<string, any> = Record<string, any>,\n> = Omit<RouterOptions<TRouteTree, TDehydrated>, 'context'> & {\n router: Router<TRouteTree>\n context?: Partial<RouterOptions<TRouteTree, TDehydrated>['context']>\n}\n\nexport function useRouterState<TSelected = RegisteredRouter['state']>(opts?: {\n select: (state: RegisteredRouter['state']) => TSelected\n}): TSelected {\n const router = useRouter()\n return useStore(router.__store, opts?.select as any)\n}\n\nexport function RouterProvider<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TDehydrated extends Record<string, any> = Record<string, any>,\n>({ router, ...rest }: RouterProps<TRouteTree, TDehydrated>) {\n router.update(rest)\n\n React.useEffect(() => {\n let unsub\n\n React.startTransition(() => {\n unsub = router.mount()\n })\n\n return unsub\n }, [router])\n\n const Wrap = router.options.Wrap || React.Fragment\n\n return (\n <Wrap>\n <routerContext.Provider value={router as any}>\n <Matches />\n </routerContext.Provider>\n </Wrap>\n )\n}\n\nfunction Matches() {\n const router = useRouter()\n\n const matchIds = useRouterState({\n select: (state) => {\n return state.renderedMatchIds\n },\n })\n\n const locationKey = useRouterState({\n select: (d) => d.resolvedLocation.state?.key,\n })\n\n const route = router.getRoute(rootRouteId)\n\n const errorComponent = React.useCallback(\n (props: any) => {\n return React.createElement(ErrorComponent, {\n ...props,\n useMatch: route.useMatch,\n useContext: route.useContext,\n useRouteContext: route.useRouteContext,\n useSearch: route.useSearch,\n useParams: route.useParams,\n })\n },\n [route],\n )\n\n return (\n <matchIdsContext.Provider value={[undefined!, ...matchIds]}>\n <CatchBoundary\n resetKey={locationKey}\n errorComponent={errorComponent}\n onCatch={() => {\n warning(\n false,\n `Error in router! Consider setting an 'errorComponent' in your RootRoute! 👍`,\n )\n }}\n >\n <Outlet />\n </CatchBoundary>\n </matchIdsContext.Provider>\n )\n}\n\nexport function useRouter(): RegisteredRouter {\n const value = React.useContext(routerContext)\n warning(value, 'useRouter must be used inside a <Router> component!')\n return value\n}\n\nexport function useMatches<T = RouteMatch[]>(opts?: {\n select?: (matches: RouteMatch[]) => T\n}): T {\n const matchIds = React.useContext(matchIdsContext)\n\n return useRouterState({\n select: (state) => {\n const matches = state.renderedMatches.slice(\n state.renderedMatches.findIndex((d) => d.id === matchIds[0]),\n )\n return opts?.select ? opts.select(matches) : (matches as T)\n },\n })\n}\n\ntype StrictOrFrom<TFrom> =\n | {\n from: TFrom\n strict?: true\n }\n | {\n from?: never\n strict: false\n }\n\nexport function useMatch<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TStrict extends boolean = true,\n TRouteMatchState = RouteMatch<TRouteTree, TFrom>,\n TSelected = TRouteMatchState,\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (match: TRouteMatchState) => TSelected\n },\n): TStrict extends true ? TRouteMatchState : TRouteMatchState | undefined {\n const router = useRouter()\n const nearestMatchId = React.useContext(matchIdsContext)[0]!\n const nearestMatchRouteId = router.getRouteMatch(nearestMatchId)?.routeId\n\n const matchRouteId = useRouterState({\n select: (state) => {\n const match = opts?.from\n ? state.renderedMatches.find((d) => d.routeId === opts?.from)\n : state.renderedMatches.find((d) => d.id === nearestMatchId)\n\n return match!.routeId\n },\n })\n\n if (opts?.strict ?? true) {\n invariant(\n nearestMatchRouteId == matchRouteId,\n `useMatch(\"${\n matchRouteId as string\n }\") is being called in a component that is meant to render the '${nearestMatchRouteId}' route. Did you mean to 'useMatch(\"${\n matchRouteId as string\n }\", { strict: false })' or 'useRoute(\"${\n matchRouteId as string\n }\")' instead?`,\n )\n }\n\n const matchSelection = useRouterState({\n select: (state) => {\n const match = opts?.from\n ? state.renderedMatches.find((d) => d.routeId === opts?.from)\n : state.renderedMatches.find((d) => d.id === nearestMatchId)\n\n invariant(\n match,\n `Could not find ${\n opts?.from\n ? `an active match from \"${opts.from}\"`\n : 'a nearest match!'\n }`,\n )\n\n return opts?.select ? opts.select(match as any) : match\n },\n })\n\n return matchSelection as any\n}\n\nexport type RouteFromIdOrRoute<\n T,\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n> = T extends ParseRoute<TRouteTree>\n ? T\n : T extends RouteIds<TRouteTree>\n ? RoutesById<TRouteTree>[T]\n : T extends string\n ? RouteIds<TRouteTree>\n : never\n\nexport function useLoader<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TStrict extends boolean = true,\n TLoader = RouteById<TRouteTree, TFrom>['types']['loader'],\n TSelected = TLoader,\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (search: TLoader) => TSelected\n },\n): TStrict extends true ? TSelected : TSelected | undefined {\n return useMatch({\n ...(opts as any),\n select: (match: RouteMatch) =>\n opts?.select\n ? opts?.select(match.loaderData as TLoader)\n : match.loaderData,\n })\n}\n\nexport function useRouterContext<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TStrict extends boolean = true,\n TContext = RouteById<TRouteTree, TFrom>['types']['context'],\n TSelected = TContext,\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (search: TContext) => TSelected\n },\n): TStrict extends true ? TSelected : TSelected | undefined {\n return useMatch({\n ...(opts as any),\n select: (match: RouteMatch) =>\n opts?.select ? opts.select(match.context as TContext) : match.context,\n })\n}\n\nexport function useRouteContext<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TStrict extends boolean = true,\n TRouteContext = RouteById<TRouteTree, TFrom>['types']['context'],\n TSelected = TRouteContext,\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (search: TRouteContext) => TSelected\n },\n): TStrict extends true ? TSelected : TSelected | undefined {\n return useMatch({\n ...(opts as any),\n select: (match: RouteMatch) =>\n opts?.select\n ? opts.select(match.context as TRouteContext)\n : match.context,\n })\n}\n\nexport function useSearch<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TStrict extends boolean = true,\n TSearch = RouteById<TRouteTree, TFrom>['types']['fullSearchSchema'],\n TSelected = TSearch,\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (search: TSearch) => TSelected\n },\n): TStrict extends true ? TSelected : TSelected | undefined {\n return useMatch({\n ...(opts as any),\n select: (match: RouteMatch) => {\n return opts?.select ? opts.select(match.search as TSearch) : match.search\n },\n })\n}\n\nexport function useParams<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TDefaultSelected = AllParams<TRouteTree> &\n RouteById<TRouteTree, TFrom>['types']['allParams'],\n TSelected = TDefaultSelected,\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (search: TDefaultSelected) => TSelected\n },\n): TSelected {\n return useRouterState({\n select: (state: any) => {\n const params = (last(state.renderedMatches) as any)?.params\n return opts?.select ? opts.select(params) : params\n },\n })\n}\n\nexport function useNavigate<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TDefaultFrom extends RoutePaths<TRouteTree> = '/',\n>(defaultOpts?: { from?: TDefaultFrom }) {\n const router = useRouter()\n return React.useCallback(\n <\n TFrom extends RoutePaths<TRouteTree> = TDefaultFrom,\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n >(\n opts?: NavigateOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>,\n ) => {\n return router.navigate({ ...defaultOpts, ...(opts as any) })\n },\n [],\n )\n}\n\nexport function useMatchRoute<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n>() {\n const router = useRouter()\n\n return React.useCallback(\n <\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n TResolved extends string = ResolveRelativePath<TFrom, NoInfer<TTo>>,\n >(\n opts: MakeUseMatchRouteOptions<\n TRouteTree,\n TFrom,\n TTo,\n TMaskFrom,\n TMaskTo\n >,\n ): false | RouteById<TRouteTree, TResolved>['types']['allParams'] => {\n const { pending, caseSensitive, ...rest } = opts\n\n return router.matchRoute(rest as any, {\n pending,\n caseSensitive,\n })\n },\n [],\n )\n}\n\nexport function MatchRoute<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n>(\n props: MakeMatchRouteOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>,\n): any {\n const matchRoute = useMatchRoute()\n const params = matchRoute(props as any)\n\n if (typeof props.children === 'function') {\n return (props.children as any)(params)\n }\n\n return !!params ? props.children : null\n}\n\nexport function Outlet() {\n const matchIds = React.useContext(matchIdsContext).slice(1)\n\n if (!matchIds[0]) {\n return null\n }\n\n return <Match matchIds={matchIds} />\n}\n\nconst defaultPending = () => null\n\nfunction Match({ matchIds }: { matchIds: string[] }) {\n const router = useRouter()\n const matchId = matchIds[0]!\n const routeId = router.getRouteMatch(matchId)!.routeId\n const route = router.getRoute(routeId)\n const locationKey = useRouterState({\n select: (s) => s.resolvedLocation.state?.key,\n })\n\n const PendingComponent = (route.options.pendingComponent ??\n router.options.defaultPendingComponent ??\n defaultPending) as any\n\n const routeErrorComponent =\n route.options.errorComponent ??\n router.options.defaultErrorComponent ??\n ErrorComponent\n\n const ResolvedSuspenseBoundary =\n route.options.wrapInSuspense ?? !route.isRoot\n ? React.Suspense\n : SafeFragment\n\n const ResolvedCatchBoundary = !!routeErrorComponent\n ? CatchBoundary\n : SafeFragment\n\n const errorComponent = React.useCallback(\n (props: any) => {\n return React.createElement(routeErrorComponent, {\n ...props,\n useMatch: route.useMatch,\n useContext: route.useContext,\n useRouteContext: route.useRouteContext,\n useSearch: route.useSearch,\n useParams: route.useParams,\n })\n },\n [route],\n )\n\n return (\n <matchIdsContext.Provider value={matchIds}>\n <ResolvedSuspenseBoundary\n fallback={React.createElement(PendingComponent, {\n useMatch: route.useMatch,\n useContext: route.useContext,\n useRouteContext: route.useRouteContext,\n useSearch: route.useSearch,\n useParams: route.useParams,\n })}\n >\n <ResolvedCatchBoundary\n resetKey={locationKey}\n errorComponent={errorComponent}\n onCatch={() => {\n warning(false, `Error in route match: ${matchId}`)\n }}\n >\n <MatchInner matchId={matchId} PendingComponent={PendingComponent} />\n </ResolvedCatchBoundary>\n </ResolvedSuspenseBoundary>\n </matchIdsContext.Provider>\n )\n}\n\nfunction MatchInner({\n matchId,\n PendingComponent,\n}: {\n matchId: string\n PendingComponent: any\n}): any {\n const router = useRouter()\n\n const match = useRouterState({\n select: (d) => {\n const match = d.matchesById[matchId]\n return pick(match!, ['status', 'loadPromise', 'routeId', 'error'])\n },\n })\n\n const route = router.getRoute(match.routeId)\n\n if (match.status === 'error') {\n throw match.error\n }\n\n if (match.status === 'pending') {\n return React.createElement(PendingComponent, {\n useLoader: route.useLoader,\n useMatch: route.useMatch,\n useContext: route.useContext,\n useRouteContext: route.useRouteContext,\n useSearch: route.useSearch,\n useParams: route.useParams,\n })\n }\n\n if (match.status === 'success') {\n let comp = route.options.component ?? router.options.defaultComponent\n\n if (comp) {\n return React.createElement(comp, {\n useLoader: route.useLoader,\n useMatch: route.useMatch,\n useContext: route.useContext as any,\n useRouteContext: route.useRouteContext as any,\n useSearch: route.useSearch,\n useParams: route.useParams as any,\n } as any)\n }\n\n return <Outlet />\n }\n\n invariant(\n false,\n 'Idle routeMatch status encountered during rendering! You should never see this. File an issue!',\n )\n}\n\nfunction SafeFragment(props: any) {\n return <>{props.children}</>\n}\n\nexport function useInjectHtml() {\n const router = useRouter()\n\n return React.useCallback(\n (html: string | (() => Promise<string> | string)) => {\n router.injectHtml(html)\n },\n [],\n )\n}\n\nexport function useDehydrate() {\n const router = useRouter()\n\n return React.useCallback(function dehydrate<T>(\n key: any,\n data: T | (() => Promise<T> | T),\n ) {\n return router.dehydrateData(key, data)\n },\n [])\n}\n\nexport function useHydrate() {\n const router = useRouter()\n\n return function hydrate<T = unknown>(key: any) {\n return router.hydrateData(key) as T\n }\n}\n\n// This is the messiest thing ever... I'm either seriously tired (likely) or\n// there has to be a better way to reset error boundaries when the\n// router's location key changes.\n\nexport function CatchBoundary(props: {\n resetKey: string\n children: any\n errorComponent?: any\n onCatch: (error: any) => void\n}) {\n const errorComponent = props.errorComponent ?? ErrorComponent\n\n return (\n <CatchBoundaryImpl\n resetKey={props.resetKey}\n onCatch={props.onCatch}\n children={({ error }) => {\n if (error) {\n return React.createElement(errorComponent, {\n error,\n })\n }\n\n return props.children\n }}\n />\n )\n}\n\nexport class CatchBoundaryImpl extends React.Component<{\n resetKey: string\n children: (props: { error: any; reset: () => void }) => any\n onCatch?: (error: any) => void\n}> {\n state = { error: null } as any\n static getDerivedStateFromError(error: any) {\n return { error }\n }\n componentDidUpdate(\n prevProps: Readonly<{\n resetKey: string\n children: (props: { error: any; reset: () => void }) => any\n onCatch?: ((error: any, info: any) => void) | undefined\n }>,\n prevState: any,\n ): void {\n if (prevState.error && prevProps.resetKey !== this.props.resetKey) {\n this.setState({ error: null })\n }\n }\n componentDidCatch(error: any) {\n this.props.onCatch?.(error)\n }\n render() {\n return this.props.children(this.state)\n }\n}\n\nexport function ErrorComponent({ error }: { error: any }) {\n const [show, setShow] = React.useState(process.env.NODE_ENV !== 'production')\n\n return (\n <div style={{ padding: '.5rem', maxWidth: '100%' }}>\n <div style={{ display: 'flex', alignItems: 'center', gap: '.5rem' }}>\n <strong style={{ fontSize: '1rem' }}>Something went wrong!</strong>\n <button\n style={{\n appearance: 'none',\n fontSize: '.6em',\n border: '1px solid currentColor',\n padding: '.1rem .2rem',\n fontWeight: 'bold',\n borderRadius: '.25rem',\n }}\n onClick={() => setShow((d) => !d)}\n >\n {show ? 'Hide Error' : 'Show Error'}\n </button>\n </div>\n <div style={{ height: '.25rem' }} />\n {show ? (\n <div>\n <pre\n style={{\n fontSize: '.7em',\n border: '1px solid red',\n borderRadius: '.25rem',\n padding: '.3rem',\n color: 'red',\n overflow: 'auto',\n }}\n >\n {error.message ? <code>{error.message}</code> : null}\n </pre>\n </div>\n ) : null}\n </div>\n )\n}\n\nexport function useBlocker(\n message: string,\n condition: boolean | any = true,\n): void {\n const router = useRouter()\n\n React.useEffect(() => {\n if (!condition) return\n\n let unblock = router.history.block((retry, cancel) => {\n if (window.confirm(message)) {\n unblock()\n retry()\n }\n })\n\n return unblock\n })\n}\n\nexport function Block({ message, condition, children }: PromptProps) {\n useBlocker(message, condition)\n return (children ?? null) as ReactNode\n}\n\nexport function shallow<T>(objA: T, objB: T) {\n if (Object.is(objA, objB)) {\n return true\n }\n\n if (\n typeof objA !== 'object' ||\n objA === null ||\n typeof objB !== 'object' ||\n objB === null\n ) {\n return false\n }\n\n const keysA = Object.keys(objA)\n if (keysA.length !== Object.keys(objB).length) {\n return false\n }\n\n for (let i = 0; i < keysA.length; i++) {\n if (\n !Object.prototype.hasOwnProperty.call(objB, keysA[i] as string) ||\n !Object.is(objA[keysA[i] as keyof T], objB[keysA[i] as keyof T])\n ) {\n return false\n }\n }\n return true\n}\n"],"names":["Route","__onInit","route","Object","assign","useMatch","opts","from","id","useLoader","useContext","select","d","context","useRouteContext","routeContext","useSearch","useParams","lazyRouteComponent","importer","exportName","loadPromise","load","lazyComp","React","lazy","moduleExports","comp","default","preload","useLinkProps","options","router","useRouter","type","children","target","activeProps","className","inactiveProps","activeOptions","disabled","hash","search","params","to","state","mask","preloadDelay","replace","style","onClick","onFocus","onMouseEnter","onMouseLeave","onTouchStart","rest","linkInfo","buildLink","href","handleClick","handleFocus","handleEnter","handleLeave","handleTouchStart","isActive","next","handleReactClick","e","startTransition","composeHandlers","handlers","persist","filter","Boolean","forEach","handler","defaultPrevented","resolvedActiveProps","functionalUpdate","resolvedInactiveProps","undefined","maskedLocation","join","role","Link","forwardRef","props","ref","linkProps","createElement","_extends","Navigate","useLayoutEffect","navigate","matchIdsContext","createContext","routerContext","useRouterState","useStore","__store","RouterProvider","update","useEffect","unsub","mount","Wrap","Fragment","Provider","value","Matches","matchIds","renderedMatchIds","locationKey","resolvedLocation","key","getRoute","rootRouteId","errorComponent","useCallback","ErrorComponent","CatchBoundary","resetKey","onCatch","warning","Outlet","useMatches","matches","renderedMatches","slice","findIndex","nearestMatchId","nearestMatchRouteId","getRouteMatch","routeId","matchRouteId","match","find","strict","invariant","matchSelection","loaderData","useRouterContext","last","useNavigate","defaultOpts","useMatchRoute","pending","caseSensitive","matchRoute","MatchRoute","Match","defaultPending","matchId","s","PendingComponent","pendingComponent","defaultPendingComponent","routeErrorComponent","defaultErrorComponent","ResolvedSuspenseBoundary","wrapInSuspense","isRoot","Suspense","SafeFragment","ResolvedCatchBoundary","fallback","MatchInner","matchesById","pick","status","error","component","defaultComponent","useInjectHtml","html","injectHtml","useDehydrate","dehydrate","data","dehydrateData","useHydrate","hydrate","hydrateData","CatchBoundaryImpl","Component","getDerivedStateFromError","componentDidUpdate","prevProps","prevState","setState","componentDidCatch","render","show","setShow","useState","process","env","NODE_ENV","padding","maxWidth","display","alignItems","gap","fontSize","appearance","border","fontWeight","borderRadius","height","color","overflow","message","useBlocker","condition","unblock","history","block","retry","cancel","window","confirm","Block","shallow","objA","objB","is","keysA","keys","length","i","prototype","hasOwnProperty","call"],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sources":["../../src/react.tsx"],"sourcesContent":["import * as React from 'react'\nimport { NoInfer, useStore } from '@tanstack/react-store'\nimport invariant from 'tiny-invariant'\nimport warning from 'tiny-warning'\nimport {\n functionalUpdate,\n last,\n pick,\n MatchRouteOptions,\n RegisteredRouter,\n RouterOptions,\n Router,\n RouteMatch,\n RouteByPath,\n AnyRoute,\n AnyRouteProps,\n LinkOptions,\n ToOptions,\n ResolveRelativePath,\n NavigateOptions,\n ResolveFullPath,\n ResolveId,\n AnySearchSchema,\n ParsePathParams,\n RouteContext,\n AnyContext,\n UseLoaderResult,\n ResolveFullSearchSchema,\n Route,\n RouteConstraints,\n RoutePaths,\n RoutesById,\n RouteIds,\n RouteById,\n ParseRoute,\n AllParams,\n rootRouteId,\n AnyPathParams,\n Expand,\n ResolveAllParams,\n DeepMergeAll,\n IsAny,\n} from '@tanstack/router-core'\n\nconst useLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\ndeclare module '@tanstack/router-core' {\n interface RouterOptions<\n TRouteTree extends AnyRoute,\n TDehydrated extends Record<string, any>,\n > {\n Wrap?: React.ComponentType<{\n children: React.ReactNode\n dehydratedState?: TDehydrated\n }>\n }\n\n interface RegisterRouteComponent<\n TLoader = unknown,\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TAllContext extends Record<string, any> = AnyContext,\n > {\n RouteComponent: RouteComponent<\n RouteProps<TLoader, TFullSearchSchema, TAllParams, TAllContext>\n >\n }\n\n interface RegisterErrorRouteComponent<\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TAllContext extends Record<string, any> = AnyContext,\n > {\n ErrorRouteComponent: RouteComponent<\n ErrorRouteProps<TFullSearchSchema, TAllParams, TAllContext>\n >\n }\n\n interface RegisterPendingRouteComponent<\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TAllContext extends Record<string, any> = AnyContext,\n > {\n PendingRouteComponent: RouteComponent<\n PendingRouteProps<TFullSearchSchema, TAllParams, TAllContext>\n >\n }\n\n interface Route<\n TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n TPath extends RouteConstraints['TPath'] = '/',\n TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n TCustomId extends RouteConstraints['TCustomId'] = string,\n TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n TLoaderContext extends RouteConstraints['TLoaderContext'] = AnyContext,\n TLoader = unknown,\n TSearchSchema extends RouteConstraints['TSearchSchema'] = {},\n TFullSearchSchema extends RouteConstraints['TFullSearchSchema'] = ResolveFullSearchSchema<\n TParentRoute,\n TSearchSchema\n >,\n TParams extends RouteConstraints['TParams'] = Expand<\n Record<ParsePathParams<TPath>, string>\n >,\n TAllParams extends RouteConstraints['TAllParams'] = ResolveAllParams<\n TParentRoute,\n TParams\n >,\n TRouteContext extends RouteConstraints['TRouteContext'] = RouteContext,\n TAllContext extends RouteConstraints['TAllContext'] = Expand<\n DeepMergeAll<\n [\n IsAny<TParentRoute['types']['context'], {}>,\n TLoaderContext,\n TRouteContext,\n ]\n >\n >,\n TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext,\n TChildren extends RouteConstraints['TChildren'] = unknown,\n TRouteTree extends RouteConstraints['TRouteTree'] = AnyRoute,\n > {\n useMatch: <TSelected = TAllContext>(opts?: {\n select?: (search: TAllContext) => TSelected\n }) => TSelected\n useLoader: <TSelected = TLoader>(opts?: {\n select?: (search: TLoader) => TSelected\n }) => UseLoaderResult<TSelected>\n useRouteContext: <TSelected = TAllContext>(opts?: {\n select?: (search: TAllContext) => TSelected\n }) => TSelected\n useSearch: <TSelected = TFullSearchSchema>(opts?: {\n select?: (search: TFullSearchSchema) => TSelected\n }) => TSelected\n useParams: <TSelected = TAllParams>(opts?: {\n select?: (search: TAllParams) => TSelected\n }) => TSelected\n }\n\n interface RegisterRouteProps<\n TLoader = unknown,\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TAllContext extends Record<string, any> = AnyContext,\n > {\n RouteProps: RouteProps<TLoader, TFullSearchSchema, TAllParams, TAllContext>\n }\n\n interface RegisterPendingRouteProps<\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TAllContext extends Record<string, any> = AnyContext,\n > {\n PendingRouteProps: PendingRouteProps<\n TFullSearchSchema,\n TAllParams,\n TAllContext\n >\n }\n\n interface RegisterErrorRouteProps<\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TAllContext extends Record<string, any> = AnyContext,\n > {\n ErrorRouteProps: ErrorRouteProps\n }\n}\n\nexport type RouteProps<\n TLoader = unknown,\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TAllContext extends Record<string, any> = AnyContext,\n> = {\n useLoader: <TSelected = TLoader>(opts?: {\n select?: (search: TLoader) => TSelected\n }) => UseLoaderResult<TSelected>\n useMatch: <TSelected = TAllContext>(opts?: {\n select?: (search: TAllContext) => TSelected\n }) => TSelected\n useRouteContext: <TSelected = TAllContext>(opts?: {\n select?: (search: TAllContext) => TSelected\n }) => TSelected\n useSearch: <TSelected = TFullSearchSchema>(opts?: {\n select?: (search: TFullSearchSchema) => TSelected\n }) => TSelected\n useParams: <TSelected = TAllParams>(opts?: {\n select?: (search: TAllParams) => TSelected\n }) => TSelected\n}\n\nexport type ErrorRouteProps<\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TAllContext extends Record<string, any> = AnyContext,\n> = {\n error: unknown\n info: { componentStack: string }\n} & Omit<\n RouteProps<unknown, TFullSearchSchema, TAllParams, TAllContext>,\n 'useLoader'\n>\n\nexport type PendingRouteProps<\n TFullSearchSchema extends Record<string, any> = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TAllContext extends Record<string, any> = AnyContext,\n> = Omit<\n RouteProps<unknown, TFullSearchSchema, TAllParams, TAllContext>,\n 'useLoader'\n>\n\nRoute.__onInit = (route) => {\n Object.assign(route, {\n useMatch: (opts = {}) => {\n return useMatch({ ...opts, from: route.id }) as any\n },\n useLoader: (opts = {}) => {\n return useLoader({ ...opts, from: route.id }) as any\n },\n useRouteContext: (opts: any = {}) => {\n return useMatch({\n ...opts,\n from: route.id,\n select: (d: any) => (opts?.select ? opts.select(d.context) : d.context),\n } as any)\n },\n useSearch: (opts = {}) => {\n return useSearch({ ...opts, from: route.id } as any)\n },\n useParams: (opts = {}) => {\n return useParams({ ...opts, from: route.id } as any)\n },\n })\n}\n\n//\n\ntype ReactNode = any\n\nexport type SyncRouteComponent<TProps> =\n | ((props: TProps) => ReactNode)\n | React.LazyExoticComponent<(props: TProps) => ReactNode>\n\nexport type AsyncRouteComponent<TProps> = SyncRouteComponent<TProps> & {\n preload?: () => Promise<void>\n}\n\nexport type ErrorRouteComponent = AsyncRouteComponent<ErrorRouteComponentProps>\n\nexport type ErrorRouteComponentProps = {\n error: Error\n info: { componentStack: string }\n}\n\nexport type AnyRouteComponent = RouteComponent<AnyRouteProps>\n\nexport type RouteComponent<TProps> = AsyncRouteComponent<TProps>\n\nexport function lazyRouteComponent<\n T extends Record<string, any>,\n TKey extends keyof T = 'default',\n>(\n importer: () => Promise<T>,\n exportName?: TKey,\n): T[TKey] extends (props: infer TProps) => any\n ? AsyncRouteComponent<TProps>\n : never {\n let loadPromise: Promise<any>\n\n const load = () => {\n if (!loadPromise) {\n loadPromise = importer()\n }\n\n return loadPromise\n }\n\n const lazyComp = React.lazy(async () => {\n const moduleExports = await load()\n const comp = moduleExports[exportName ?? 'default']\n return {\n default: comp,\n }\n })\n\n ;(lazyComp as any).preload = load\n\n return lazyComp as any\n}\n\nexport type LinkPropsOptions<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n> = LinkOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> & {\n // A function that returns additional props for the `active` state of this link. These props override other props passed to the link (`style`'s are merged, `className`'s are concatenated)\n activeProps?:\n | React.AnchorHTMLAttributes<HTMLAnchorElement>\n | (() => React.AnchorHTMLAttributes<HTMLAnchorElement>)\n // A function that returns additional props for the `inactive` state of this link. These props override other props passed to the link (`style`'s are merged, `className`'s are concatenated)\n inactiveProps?:\n | React.AnchorHTMLAttributes<HTMLAnchorElement>\n | (() => React.AnchorHTMLAttributes<HTMLAnchorElement>)\n // If set to `true`, the link's underlying navigate() call will be wrapped in a `React.startTransition` call. Defaults to `true`.\n startTransition?: boolean\n}\n\nexport type MakeUseMatchRouteOptions<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n> = ToOptions<AnyRoute, TFrom, TTo, TMaskFrom, TMaskTo> & MatchRouteOptions\n\nexport type MakeMatchRouteOptions<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n> = ToOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> &\n MatchRouteOptions & {\n // If a function is passed as a child, it will be given the `isActive` boolean to aid in further styling on the element it returns\n children?:\n | ((\n params?: RouteByPath<\n TRouteTree,\n ResolveRelativePath<TFrom, NoInfer<TTo>>\n >['types']['allParams'],\n ) => ReactNode)\n | React.ReactNode\n }\n\nexport type MakeLinkPropsOptions<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n> = LinkPropsOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> &\n React.AnchorHTMLAttributes<HTMLAnchorElement>\n\nexport type MakeLinkOptions<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n> = LinkPropsOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> &\n Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'children'> & {\n // If a function is passed as a child, it will be given the `isActive` boolean to aid in further styling on the element it returns\n children?:\n | React.ReactNode\n | ((state: { isActive: boolean }) => React.ReactNode)\n }\n\nexport type PromptProps = {\n message: string\n condition?: boolean | any\n children?: ReactNode\n}\n\n//\n\nexport function useLinkProps<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n>(\n options: MakeLinkPropsOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>,\n): React.AnchorHTMLAttributes<HTMLAnchorElement> {\n const router = useRouter()\n\n const {\n // custom props\n type,\n children,\n target,\n activeProps = () => ({ className: 'active' }),\n inactiveProps = () => ({}),\n activeOptions,\n disabled,\n // fromCurrent,\n hash,\n search,\n params,\n to = '.',\n state,\n mask,\n preload,\n preloadDelay,\n replace,\n // element props\n style,\n className,\n onClick,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n onTouchStart,\n ...rest\n } = options\n\n const linkInfo = router.buildLink(options as any)\n\n if (linkInfo.type === 'external') {\n const { href } = linkInfo\n return { href }\n }\n\n const {\n handleClick,\n handleFocus,\n handleEnter,\n handleLeave,\n handleTouchStart,\n isActive,\n next,\n } = linkInfo\n\n const handleReactClick = (e: Event) => {\n if (options.startTransition ?? true) {\n ;(React.startTransition || ((d) => d))(() => {\n handleClick(e)\n })\n }\n }\n\n const composeHandlers =\n (handlers: (undefined | ((e: any) => void))[]) =>\n (e: React.SyntheticEvent) => {\n if (e.persist) e.persist()\n handlers.filter(Boolean).forEach((handler) => {\n if (e.defaultPrevented) return\n handler!(e)\n })\n }\n\n // Get the active props\n const resolvedActiveProps: React.HTMLAttributes<HTMLAnchorElement> = isActive\n ? functionalUpdate(activeProps as any, {}) ?? {}\n : {}\n\n // Get the inactive props\n const resolvedInactiveProps: React.HTMLAttributes<HTMLAnchorElement> =\n isActive ? {} : functionalUpdate(inactiveProps, {}) ?? {}\n\n return {\n ...resolvedActiveProps,\n ...resolvedInactiveProps,\n ...rest,\n href: disabled\n ? undefined\n : next.maskedLocation\n ? next.maskedLocation.href\n : next.href,\n onClick: composeHandlers([onClick, handleReactClick]),\n onFocus: composeHandlers([onFocus, handleFocus]),\n onMouseEnter: composeHandlers([onMouseEnter, handleEnter]),\n onMouseLeave: composeHandlers([onMouseLeave, handleLeave]),\n onTouchStart: composeHandlers([onTouchStart, handleTouchStart]),\n target,\n style: {\n ...style,\n ...resolvedActiveProps.style,\n ...resolvedInactiveProps.style,\n },\n className:\n [\n className,\n resolvedActiveProps.className,\n resolvedInactiveProps.className,\n ]\n .filter(Boolean)\n .join(' ') || undefined,\n ...(disabled\n ? {\n role: 'link',\n 'aria-disabled': true,\n }\n : undefined),\n ['data-status']: isActive ? 'active' : undefined,\n }\n}\n\nexport interface LinkComponent<TProps extends Record<string, any> = {}> {\n <\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n >(\n props: MakeLinkOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> &\n TProps &\n React.RefAttributes<HTMLAnchorElement>,\n ): ReactNode\n}\n\nexport const Link: LinkComponent = React.forwardRef((props: any, ref) => {\n const linkProps = useLinkProps(props)\n\n return (\n <a\n {...{\n ref: ref as any,\n ...linkProps,\n children:\n typeof props.children === 'function'\n ? props.children({\n isActive: (linkProps as any)['data-status'] === 'active',\n })\n : props.children,\n }}\n />\n )\n}) as any\n\nexport function Navigate<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n>(props: NavigateOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>): null {\n const router = useRouter()\n\n useLayoutEffect(() => {\n router.navigate(props as any)\n }, [])\n\n return null\n}\n\nexport const matchIdsContext = React.createContext<string[]>(null!)\nexport const routerContext = React.createContext<RegisteredRouter>(null!)\n\nexport type RouterProps<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TDehydrated extends Record<string, any> = Record<string, any>,\n> = Omit<RouterOptions<TRouteTree, TDehydrated>, 'context'> & {\n router: Router<TRouteTree>\n context?: Partial<RouterOptions<TRouteTree, TDehydrated>['context']>\n}\n\nexport function useRouterState<TSelected = RegisteredRouter['state']>(opts?: {\n select: (state: RegisteredRouter['state']) => TSelected\n}): TSelected {\n const router = useRouter()\n return useStore(router.__store, opts?.select as any)\n}\n\nexport function RouterProvider<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TDehydrated extends Record<string, any> = Record<string, any>,\n>({ router, ...rest }: RouterProps<TRouteTree, TDehydrated>) {\n router.update(rest)\n\n React.useEffect(() => {\n let unsub\n\n React.startTransition(() => {\n unsub = router.mount()\n })\n\n return unsub\n }, [router])\n\n const Wrap = router.options.Wrap || React.Fragment\n\n return (\n <Wrap>\n <routerContext.Provider value={router as any}>\n <Matches />\n </routerContext.Provider>\n </Wrap>\n )\n}\n\nfunction Matches() {\n const router = useRouter()\n\n const matchIds = useRouterState({\n select: (state) => {\n return state.renderedMatchIds\n },\n })\n\n const locationKey = useRouterState({\n select: (d) => d.resolvedLocation.state?.key,\n })\n\n const route = router.getRoute(rootRouteId)\n\n const errorComponent = React.useCallback(\n (props: any) => {\n return React.createElement(ErrorComponent, {\n ...props,\n useMatch: route.useMatch,\n useRouteContext: route.useRouteContext,\n useSearch: route.useSearch,\n useParams: route.useParams,\n })\n },\n [route],\n )\n\n return (\n <matchIdsContext.Provider value={[undefined!, ...matchIds]}>\n <CatchBoundary\n resetKey={locationKey}\n errorComponent={errorComponent}\n onCatch={() => {\n warning(\n false,\n `Error in router! Consider setting an 'errorComponent' in your RootRoute! 👍`,\n )\n }}\n >\n <Outlet />\n </CatchBoundary>\n </matchIdsContext.Provider>\n )\n}\n\nexport function useRouter(): RegisteredRouter {\n const value = React.useContext(routerContext)\n warning(value, 'useRouter must be used inside a <Router> component!')\n return value\n}\n\nexport function useMatches<T = RouteMatch[]>(opts?: {\n select?: (matches: RouteMatch[]) => T\n}): T {\n const matchIds = React.useContext(matchIdsContext)\n\n return useRouterState({\n select: (state) => {\n const matches = state.renderedMatches.slice(\n state.renderedMatches.findIndex((d) => d.id === matchIds[0]),\n )\n return opts?.select ? opts.select(matches) : (matches as T)\n },\n })\n}\n\ntype StrictOrFrom<TFrom> =\n | {\n from: TFrom\n strict?: true\n }\n | {\n from?: never\n strict: false\n }\n\nexport function useMatch<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TStrict extends boolean = true,\n TRouteMatchState = RouteMatch<TRouteTree, TFrom>,\n TSelected = TRouteMatchState,\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (match: TRouteMatchState) => TSelected\n },\n): TStrict extends true ? TRouteMatchState : TRouteMatchState | undefined {\n const router = useRouter()\n const nearestMatchId = React.useContext(matchIdsContext)[0]!\n const nearestMatchRouteId = router.getRouteMatch(nearestMatchId)?.routeId\n\n const matchRouteId = useRouterState({\n select: (state) => {\n const match = opts?.from\n ? state.renderedMatches.find((d) => d.routeId === opts?.from)\n : state.renderedMatches.find((d) => d.id === nearestMatchId)\n\n return match!.routeId\n },\n })\n\n if (opts?.strict ?? true) {\n invariant(\n nearestMatchRouteId == matchRouteId,\n `useMatch(\"${\n matchRouteId as string\n }\") is being called in a component that is meant to render the '${nearestMatchRouteId}' route. Did you mean to 'useMatch(\"${\n matchRouteId as string\n }\", { strict: false })' or 'useRoute(\"${\n matchRouteId as string\n }\")' instead?`,\n )\n }\n\n const matchSelection = useRouterState({\n select: (state) => {\n const match = opts?.from\n ? state.renderedMatches.find((d) => d.routeId === opts?.from)\n : state.renderedMatches.find((d) => d.id === nearestMatchId)\n\n invariant(\n match,\n `Could not find ${\n opts?.from\n ? `an active match from \"${opts.from}\"`\n : 'a nearest match!'\n }`,\n )\n\n return opts?.select ? opts.select(match as any) : match\n },\n })\n\n return matchSelection as any\n}\n\nexport type RouteFromIdOrRoute<\n T,\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n> = T extends ParseRoute<TRouteTree>\n ? T\n : T extends RouteIds<TRouteTree>\n ? RoutesById<TRouteTree>[T]\n : T extends string\n ? RouteIds<TRouteTree>\n : never\n\nexport function useLoader<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TStrict extends boolean = true,\n TLoader = RouteById<TRouteTree, TFrom>['types']['loader'],\n TSelected = TLoader,\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (search: TLoader) => TSelected\n },\n): TStrict extends true ? TSelected : TSelected | undefined {\n return useMatch({\n ...(opts as any),\n select: (match: RouteMatch) =>\n opts?.select\n ? opts?.select(match.loaderData as TLoader)\n : match.loaderData,\n })\n}\n\nexport function useRouterContext<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TStrict extends boolean = true,\n TContext = RouteById<TRouteTree, TFrom>['types']['context'],\n TSelected = TContext,\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (search: TContext) => TSelected\n },\n): TStrict extends true ? TSelected : TSelected | undefined {\n return useMatch({\n ...(opts as any),\n select: (match: RouteMatch) =>\n opts?.select ? opts.select(match.context as TContext) : match.context,\n })\n}\n\nexport function useRouteContext<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TStrict extends boolean = true,\n TRouteContext = RouteById<TRouteTree, TFrom>['types']['context'],\n TSelected = TRouteContext,\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (search: TRouteContext) => TSelected\n },\n): TStrict extends true ? TSelected : TSelected | undefined {\n return useMatch({\n ...(opts as any),\n select: (match: RouteMatch) =>\n opts?.select\n ? opts.select(match.context as TRouteContext)\n : match.context,\n })\n}\n\nexport function useSearch<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TStrict extends boolean = true,\n TSearch = RouteById<TRouteTree, TFrom>['types']['fullSearchSchema'],\n TSelected = TSearch,\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (search: TSearch) => TSelected\n },\n): TStrict extends true ? TSelected : TSelected | undefined {\n return useMatch({\n ...(opts as any),\n select: (match: RouteMatch) => {\n return opts?.select ? opts.select(match.search as TSearch) : match.search\n },\n })\n}\n\nexport function useParams<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TDefaultSelected = AllParams<TRouteTree> &\n RouteById<TRouteTree, TFrom>['types']['allParams'],\n TSelected = TDefaultSelected,\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (search: TDefaultSelected) => TSelected\n },\n): TSelected {\n return useRouterState({\n select: (state: any) => {\n const params = (last(state.renderedMatches) as any)?.params\n return opts?.select ? opts.select(params) : params\n },\n })\n}\n\nexport function useNavigate<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TDefaultFrom extends RoutePaths<TRouteTree> = '/',\n>(defaultOpts?: { from?: TDefaultFrom }) {\n const router = useRouter()\n return React.useCallback(\n <\n TFrom extends RoutePaths<TRouteTree> = TDefaultFrom,\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n >(\n opts?: NavigateOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>,\n ) => {\n return router.navigate({ ...defaultOpts, ...(opts as any) })\n },\n [],\n )\n}\n\nexport function useMatchRoute<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n>() {\n const router = useRouter()\n\n return React.useCallback(\n <\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n TResolved extends string = ResolveRelativePath<TFrom, NoInfer<TTo>>,\n >(\n opts: MakeUseMatchRouteOptions<\n TRouteTree,\n TFrom,\n TTo,\n TMaskFrom,\n TMaskTo\n >,\n ): false | RouteById<TRouteTree, TResolved>['types']['allParams'] => {\n const { pending, caseSensitive, ...rest } = opts\n\n return router.matchRoute(rest as any, {\n pending,\n caseSensitive,\n })\n },\n [],\n )\n}\n\nexport function MatchRoute<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n>(\n props: MakeMatchRouteOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>,\n): any {\n const matchRoute = useMatchRoute()\n const params = matchRoute(props as any)\n\n if (typeof props.children === 'function') {\n return (props.children as any)(params)\n }\n\n return !!params ? props.children : null\n}\n\nexport function Outlet() {\n const matchIds = React.useContext(matchIdsContext).slice(1)\n\n if (!matchIds[0]) {\n return null\n }\n\n return <Match matchIds={matchIds} />\n}\n\nconst defaultPending = () => null\n\nfunction Match({ matchIds }: { matchIds: string[] }) {\n const router = useRouter()\n const matchId = matchIds[0]!\n const routeId = router.getRouteMatch(matchId)!.routeId\n const route = router.getRoute(routeId)\n const locationKey = useRouterState({\n select: (s) => s.resolvedLocation.state?.key,\n })\n\n const PendingComponent = (route.options.pendingComponent ??\n router.options.defaultPendingComponent ??\n defaultPending) as any\n\n const routeErrorComponent =\n route.options.errorComponent ??\n router.options.defaultErrorComponent ??\n ErrorComponent\n\n const ResolvedSuspenseBoundary =\n route.options.wrapInSuspense ?? !route.isRoot\n ? React.Suspense\n : SafeFragment\n\n const ResolvedCatchBoundary = !!routeErrorComponent\n ? CatchBoundary\n : SafeFragment\n\n const errorComponent = React.useCallback(\n (props: any) => {\n return React.createElement(routeErrorComponent, {\n ...props,\n useMatch: route.useMatch,\n useRouteContext: route.useRouteContext,\n useSearch: route.useSearch,\n useParams: route.useParams,\n })\n },\n [route],\n )\n\n return (\n <matchIdsContext.Provider value={matchIds}>\n <ResolvedSuspenseBoundary\n fallback={React.createElement(PendingComponent, {\n useMatch: route.useMatch,\n useRouteContext: route.useRouteContext,\n useSearch: route.useSearch,\n useParams: route.useParams,\n })}\n >\n <ResolvedCatchBoundary\n resetKey={locationKey}\n errorComponent={errorComponent}\n onCatch={() => {\n warning(false, `Error in route match: ${matchId}`)\n }}\n >\n <MatchInner matchId={matchId} PendingComponent={PendingComponent} />\n </ResolvedCatchBoundary>\n </ResolvedSuspenseBoundary>\n </matchIdsContext.Provider>\n )\n}\n\nfunction MatchInner({\n matchId,\n PendingComponent,\n}: {\n matchId: string\n PendingComponent: any\n}): any {\n const router = useRouter()\n\n const match = useRouterState({\n select: (d) => {\n const match = d.matchesById[matchId]\n return pick(match!, ['status', 'loadPromise', 'routeId', 'error'])\n },\n })\n\n const route = router.getRoute(match.routeId)\n\n if (match.status === 'error') {\n throw match.error\n }\n\n if (match.status === 'pending') {\n return React.createElement(PendingComponent, {\n useLoader: route.useLoader,\n useMatch: route.useMatch,\n useRouteContext: route.useRouteContext,\n useSearch: route.useSearch,\n useParams: route.useParams,\n })\n }\n\n if (match.status === 'success') {\n let comp = route.options.component ?? router.options.defaultComponent\n\n if (comp) {\n return React.createElement(comp, {\n useLoader: route.useLoader,\n useMatch: route.useMatch,\n useRouteContext: route.useRouteContext as any,\n useSearch: route.useSearch,\n useParams: route.useParams as any,\n } as any)\n }\n\n return <Outlet />\n }\n\n invariant(\n false,\n 'Idle routeMatch status encountered during rendering! You should never see this. File an issue!',\n )\n}\n\nfunction SafeFragment(props: any) {\n return <>{props.children}</>\n}\n\nexport function useInjectHtml() {\n const router = useRouter()\n\n return React.useCallback(\n (html: string | (() => Promise<string> | string)) => {\n router.injectHtml(html)\n },\n [],\n )\n}\n\nexport function useDehydrate() {\n const router = useRouter()\n\n return React.useCallback(function dehydrate<T>(\n key: any,\n data: T | (() => Promise<T> | T),\n ) {\n return router.dehydrateData(key, data)\n },\n [])\n}\n\nexport function useHydrate() {\n const router = useRouter()\n\n return function hydrate<T = unknown>(key: any) {\n return router.hydrateData(key) as T\n }\n}\n\n// This is the messiest thing ever... I'm either seriously tired (likely) or\n// there has to be a better way to reset error boundaries when the\n// router's location key changes.\n\nexport function CatchBoundary(props: {\n resetKey: string\n children: any\n errorComponent?: any\n onCatch: (error: any) => void\n}) {\n const errorComponent = props.errorComponent ?? ErrorComponent\n\n return (\n <CatchBoundaryImpl\n resetKey={props.resetKey}\n onCatch={props.onCatch}\n children={({ error }) => {\n if (error) {\n return React.createElement(errorComponent, {\n error,\n })\n }\n\n return props.children\n }}\n />\n )\n}\n\nexport class CatchBoundaryImpl extends React.Component<{\n resetKey: string\n children: (props: { error: any; reset: () => void }) => any\n onCatch?: (error: any) => void\n}> {\n state = { error: null } as any\n static getDerivedStateFromError(error: any) {\n return { error }\n }\n componentDidUpdate(\n prevProps: Readonly<{\n resetKey: string\n children: (props: { error: any; reset: () => void }) => any\n onCatch?: ((error: any, info: any) => void) | undefined\n }>,\n prevState: any,\n ): void {\n if (prevState.error && prevProps.resetKey !== this.props.resetKey) {\n this.setState({ error: null })\n }\n }\n componentDidCatch(error: any) {\n this.props.onCatch?.(error)\n }\n render() {\n return this.props.children(this.state)\n }\n}\n\nexport function ErrorComponent({ error }: { error: any }) {\n const [show, setShow] = React.useState(process.env.NODE_ENV !== 'production')\n\n return (\n <div style={{ padding: '.5rem', maxWidth: '100%' }}>\n <div style={{ display: 'flex', alignItems: 'center', gap: '.5rem' }}>\n <strong style={{ fontSize: '1rem' }}>Something went wrong!</strong>\n <button\n style={{\n appearance: 'none',\n fontSize: '.6em',\n border: '1px solid currentColor',\n padding: '.1rem .2rem',\n fontWeight: 'bold',\n borderRadius: '.25rem',\n }}\n onClick={() => setShow((d) => !d)}\n >\n {show ? 'Hide Error' : 'Show Error'}\n </button>\n </div>\n <div style={{ height: '.25rem' }} />\n {show ? (\n <div>\n <pre\n style={{\n fontSize: '.7em',\n border: '1px solid red',\n borderRadius: '.25rem',\n padding: '.3rem',\n color: 'red',\n overflow: 'auto',\n }}\n >\n {error.message ? <code>{error.message}</code> : null}\n </pre>\n </div>\n ) : null}\n </div>\n )\n}\n\nexport function useBlocker(\n message: string,\n condition: boolean | any = true,\n): void {\n const router = useRouter()\n\n React.useEffect(() => {\n if (!condition) return\n\n let unblock = router.history.block((retry, cancel) => {\n if (window.confirm(message)) {\n unblock()\n retry()\n }\n })\n\n return unblock\n })\n}\n\nexport function Block({ message, condition, children }: PromptProps) {\n useBlocker(message, condition)\n return (children ?? null) as ReactNode\n}\n\nexport function shallow<T>(objA: T, objB: T) {\n if (Object.is(objA, objB)) {\n return true\n }\n\n if (\n typeof objA !== 'object' ||\n objA === null ||\n typeof objB !== 'object' ||\n objB === null\n ) {\n return false\n }\n\n const keysA = Object.keys(objA)\n if (keysA.length !== Object.keys(objB).length) {\n return false\n }\n\n for (let i = 0; i < keysA.length; i++) {\n if (\n !Object.prototype.hasOwnProperty.call(objB, keysA[i] as string) ||\n !Object.is(objA[keysA[i] as keyof T], objB[keysA[i] as keyof T])\n ) {\n return false\n }\n }\n return true\n}\n"],"names":["useLayoutEffect","window","React","useEffect","Route","__onInit","route","Object","assign","useMatch","opts","from","id","useLoader","useRouteContext","select","d","context","useSearch","useParams","lazyRouteComponent","importer","exportName","loadPromise","load","lazyComp","lazy","moduleExports","comp","default","preload","useLinkProps","options","router","useRouter","type","children","target","activeProps","className","inactiveProps","activeOptions","disabled","hash","search","params","to","state","mask","preloadDelay","replace","style","onClick","onFocus","onMouseEnter","onMouseLeave","onTouchStart","rest","linkInfo","buildLink","href","handleClick","handleFocus","handleEnter","handleLeave","handleTouchStart","isActive","next","handleReactClick","e","startTransition","composeHandlers","handlers","persist","filter","Boolean","forEach","handler","defaultPrevented","resolvedActiveProps","functionalUpdate","resolvedInactiveProps","undefined","maskedLocation","join","role","Link","forwardRef","props","ref","linkProps","createElement","_extends","Navigate","navigate","matchIdsContext","createContext","routerContext","useRouterState","useStore","__store","RouterProvider","update","unsub","mount","Wrap","Fragment","Provider","value","Matches","matchIds","renderedMatchIds","locationKey","resolvedLocation","key","getRoute","rootRouteId","errorComponent","useCallback","ErrorComponent","CatchBoundary","resetKey","onCatch","warning","Outlet","useContext","useMatches","matches","renderedMatches","slice","findIndex","nearestMatchId","nearestMatchRouteId","getRouteMatch","routeId","matchRouteId","match","find","strict","invariant","matchSelection","loaderData","useRouterContext","last","useNavigate","defaultOpts","useMatchRoute","pending","caseSensitive","matchRoute","MatchRoute","Match","defaultPending","matchId","s","PendingComponent","pendingComponent","defaultPendingComponent","routeErrorComponent","defaultErrorComponent","ResolvedSuspenseBoundary","wrapInSuspense","isRoot","Suspense","SafeFragment","ResolvedCatchBoundary","fallback","MatchInner","matchesById","pick","status","error","component","defaultComponent","useInjectHtml","html","injectHtml","useDehydrate","dehydrate","data","dehydrateData","useHydrate","hydrate","hydrateData","CatchBoundaryImpl","Component","getDerivedStateFromError","componentDidUpdate","prevProps","prevState","setState","componentDidCatch","render","show","setShow","useState","process","env","NODE_ENV","padding","maxWidth","display","alignItems","gap","fontSize","appearance","border","fontWeight","borderRadius","height","color","overflow","message","useBlocker","condition","unblock","history","block","retry","cancel","confirm","Block","shallow","objA","objB","is","keysA","keys","length","i","prototype","hasOwnProperty","call"],"mappings":"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"}
@@ -31,6 +31,7 @@ function _extends() {
31
31
  return _extends.apply(this, arguments);
32
32
  }
33
33
 
34
+ const useLayoutEffect$1 = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
34
35
  Route.__onInit = route => {
35
36
  Object.assign(route, {
36
37
  useMatch: (opts = {}) => {
@@ -45,18 +46,11 @@ Route.__onInit = route => {
45
46
  from: route.id
46
47
  });
47
48
  },
48
- useContext: (opts = {}) => {
49
- return useMatch({
50
- ...opts,
51
- from: route.id,
52
- select: d => opts?.select ? opts.select(d.context) : d.context
53
- });
54
- },
55
49
  useRouteContext: (opts = {}) => {
56
50
  return useMatch({
57
51
  ...opts,
58
52
  from: route.id,
59
- select: d => opts?.select ? opts.select(d.routeContext) : d.routeContext
53
+ select: d => opts?.select ? opts.select(d.context) : d.context
60
54
  });
61
55
  },
62
56
  useSearch: (opts = {}) => {
@@ -203,7 +197,7 @@ const Link = /*#__PURE__*/React.forwardRef((props, ref) => {
203
197
  });
204
198
  function Navigate(props) {
205
199
  const router = useRouter();
206
- React.useLayoutEffect(() => {
200
+ useLayoutEffect$1(() => {
207
201
  router.navigate(props);
208
202
  }, []);
209
203
  return null;
@@ -246,7 +240,6 @@ function Matches() {
246
240
  return /*#__PURE__*/React.createElement(ErrorComponent, {
247
241
  ...props,
248
242
  useMatch: route.useMatch,
249
- useContext: route.useContext,
250
243
  useRouteContext: route.useRouteContext,
251
244
  useSearch: route.useSearch,
252
245
  useParams: route.useParams
@@ -391,7 +384,6 @@ function Match({
391
384
  return /*#__PURE__*/React.createElement(routeErrorComponent, {
392
385
  ...props,
393
386
  useMatch: route.useMatch,
394
- useContext: route.useContext,
395
387
  useRouteContext: route.useRouteContext,
396
388
  useSearch: route.useSearch,
397
389
  useParams: route.useParams
@@ -402,7 +394,6 @@ function Match({
402
394
  }, /*#__PURE__*/React.createElement(ResolvedSuspenseBoundary, {
403
395
  fallback: /*#__PURE__*/React.createElement(PendingComponent, {
404
396
  useMatch: route.useMatch,
405
- useContext: route.useContext,
406
397
  useRouteContext: route.useRouteContext,
407
398
  useSearch: route.useSearch,
408
399
  useParams: route.useParams
@@ -437,7 +428,6 @@ function MatchInner({
437
428
  return /*#__PURE__*/React.createElement(PendingComponent, {
438
429
  useLoader: route.useLoader,
439
430
  useMatch: route.useMatch,
440
- useContext: route.useContext,
441
431
  useRouteContext: route.useRouteContext,
442
432
  useSearch: route.useSearch,
443
433
  useParams: route.useParams
@@ -449,7 +439,6 @@ function MatchInner({
449
439
  return /*#__PURE__*/React.createElement(comp, {
450
440
  useLoader: route.useLoader,
451
441
  useMatch: route.useMatch,
452
- useContext: route.useContext,
453
442
  useRouteContext: route.useRouteContext,
454
443
  useSearch: route.useSearch,
455
444
  useParams: route.useParams