{"version":3,"file":"route.cjs","names":["BaseRootRoute","BaseRoute","BaseRouteApi","notFound","Link","useLoaderData","useLoaderDeps","useParams","useSearch","useNavigate","useMatch","useRouteContext","useRouter","AnyContext","AnyRoute","AnyRouter","ConstrainLiteral","ErrorComponentProps","NotFoundError","NotFoundRouteProps","Register","RegisteredRouter","ResolveFullPath","ResolveId","ResolveParams","RootRoute","RootRouteCore","RootRouteId","RootRouteOptions","RouteConstraints","Route","RouteCore","RouteIds","RouteMask","RouteOptions","RouteTypesById","RouterCore","ToMaskOptions","UseNavigateResult","UseLoaderDataRoute","UseMatchRoute","UseLoaderDepsRoute","UseParamsRoute","UseSearchRoute","Solid","UseRouteContextRoute","LinkComponentRoute","UpdatableRouteOptionsExtensions","component","RouteComponent","errorComponent","ErrorRouteComponent","notFoundComponent","NotFoundRouteComponent","pendingComponent","RootRouteOptionsExtensions","shellComponent","children","JSX","Element","RouteExtensions","TId","TFullPath","getRouteApi","id","TRouter","RouteApi","constructor","opts","select","from","strict","router","routesById","fullPath","routeId","props","_$createComponent","_$mergeProps","TParentRoute","TPath","TCustomId","Record","TRegister","TSearchValidator","TParams","TRouterContext","TRouteContextFn","TBeforeLoadFn","TLoaderDeps","TLoaderFn","TChildren","TFileRouteTypes","TSSR","TMiddlewares","THandlers","options","_self$","createRoute","AnyRootRoute","createRootRouteWithContext","createRootRoute","rootRouteWithContext","_self$2","createRouteMask","routeTree","TRouteTree","TFrom","TTo","SolidNode","DefaultRouteTypes","TProps","RouteTypes","AsyncRouteComponent","preload","Promise","NotFoundRoute","Omit"],"sources":["../../src/route.tsx"],"sourcesContent":["import {\n  BaseRootRoute,\n  BaseRoute,\n  BaseRouteApi,\n  notFound,\n} from '@tanstack/router-core'\nimport { Link } from './link'\nimport { useLoaderData } from './useLoaderData'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useParams } from './useParams'\nimport { useSearch } from './useSearch'\nimport { useNavigate } from './useNavigate'\nimport { useMatch } from './useMatch'\nimport { useRouteContext } from './useRouteContext'\nimport { useRouter } from './useRouter'\nimport type {\n  AnyContext,\n  AnyRoute,\n  AnyRouter,\n  ConstrainLiteral,\n  ErrorComponentProps,\n  NotFoundError,\n  NotFoundRouteProps,\n  Register,\n  RegisteredRouter,\n  ResolveFullPath,\n  ResolveId,\n  ResolveParams,\n  RootRoute as RootRouteCore,\n  RootRouteId,\n  RootRouteOptions,\n  RouteConstraints,\n  Route as RouteCore,\n  RouteIds,\n  RouteMask,\n  RouteOptions,\n  RouteTypesById,\n  RouterCore,\n  ToMaskOptions,\n  UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseSearchRoute } from './useSearch'\nimport type * as Solid from 'solid-js'\nimport type { UseRouteContextRoute } from './useRouteContext'\nimport type { LinkComponentRoute } from './link'\n\ndeclare module '@tanstack/router-core' {\n  export interface UpdatableRouteOptionsExtensions {\n    component?: RouteComponent\n    errorComponent?: false | null | undefined | ErrorRouteComponent\n    notFoundComponent?: NotFoundRouteComponent\n    pendingComponent?: RouteComponent\n  }\n\n  export interface RootRouteOptionsExtensions {\n    shellComponent?: ({\n      children,\n    }: {\n      children: Solid.JSX.Element\n    }) => Solid.JSX.Element\n  }\n\n  export interface RouteExtensions<\n    in out TId extends string,\n    in out TFullPath extends string,\n  > {\n    useMatch: UseMatchRoute<TId>\n    useRouteContext: UseRouteContextRoute<TId>\n    useSearch: UseSearchRoute<TId>\n    useParams: UseParamsRoute<TId>\n    useLoaderDeps: UseLoaderDepsRoute<TId>\n    useLoaderData: UseLoaderDataRoute<TId>\n    useNavigate: () => UseNavigateResult<TFullPath>\n    Link: LinkComponentRoute<TFullPath>\n  }\n}\n\nexport function getRouteApi<\n  const TId,\n  TRouter extends AnyRouter = RegisteredRouter,\n>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {\n  return new RouteApi<TId, TRouter>({ id })\n}\n\nexport class RouteApi<\n  TId,\n  TRouter extends AnyRouter = RegisteredRouter,\n> extends BaseRouteApi<TId, TRouter> {\n  /**\n   * @deprecated Use the `getRouteApi` function instead.\n   */\n  constructor({ id }: { id: TId }) {\n    super({ id })\n  }\n\n  useMatch: UseMatchRoute<TId> = (opts) => {\n    return useMatch({\n      select: opts?.select,\n      from: this.id,\n    } as any) as any\n  }\n\n  useRouteContext: UseRouteContextRoute<TId> = (opts) => {\n    return useRouteContext({ ...(opts as any), from: this.id as any }) as any\n  }\n\n  useSearch: UseSearchRoute<TId> = (opts) => {\n    return useSearch({\n      select: opts?.select,\n      from: this.id,\n    } as any) as any\n  }\n\n  useParams: UseParamsRoute<TId> = (opts) => {\n    return useParams({\n      select: opts?.select,\n      from: this.id,\n    } as any) as any\n  }\n\n  useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n    return useLoaderDeps({ ...opts, from: this.id, strict: false } as any)\n  }\n\n  useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n    return useLoaderData({ ...opts, from: this.id, strict: false } as any)\n  }\n\n  useNavigate = (): UseNavigateResult<\n    RouteTypesById<TRouter, TId>['fullPath']\n  > => {\n    const router = useRouter()\n    return useNavigate({ from: router.routesById[this.id as string].fullPath })\n  }\n\n  notFound = (opts?: NotFoundError) => {\n    return notFound({ routeId: this.id as string, ...opts })\n  }\n\n  Link: LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']> = ((\n    props,\n  ) => {\n    const router = useRouter()\n    const fullPath = router.routesById[this.id as string].fullPath\n    return <Link from={fullPath as never} {...props} />\n  }) as LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']>\n}\n\nexport class Route<\n  in out TRegister = unknown,\n  in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n  in out TPath extends RouteConstraints['TPath'] = '/',\n  in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n    TParentRoute,\n    TPath\n  >,\n  in out TCustomId extends RouteConstraints['TCustomId'] = string,\n  in out TId extends RouteConstraints['TId'] = ResolveId<\n    TParentRoute,\n    TCustomId,\n    TPath\n  >,\n  in out TSearchValidator = undefined,\n  in out TParams = ResolveParams<TPath>,\n  in out TRouterContext = AnyContext,\n  in out TRouteContextFn = AnyContext,\n  in out TBeforeLoadFn = AnyContext,\n  in out TLoaderDeps extends Record<string, any> = {},\n  in out TLoaderFn = undefined,\n  in out TChildren = unknown,\n  in out TFileRouteTypes = unknown,\n  in out TSSR = unknown,\n  in out TMiddlewares = unknown,\n  in out THandlers = undefined,\n>\n  extends BaseRoute<\n    TRegister,\n    TParentRoute,\n    TPath,\n    TFullPath,\n    TCustomId,\n    TId,\n    TSearchValidator,\n    TParams,\n    TRouterContext,\n    TRouteContextFn,\n    TBeforeLoadFn,\n    TLoaderDeps,\n    TLoaderFn,\n    TChildren,\n    TFileRouteTypes,\n    TSSR,\n    TMiddlewares,\n    THandlers\n  >\n  implements\n    RouteCore<\n      TRegister,\n      TParentRoute,\n      TPath,\n      TFullPath,\n      TCustomId,\n      TId,\n      TSearchValidator,\n      TParams,\n      TRouterContext,\n      TRouteContextFn,\n      TBeforeLoadFn,\n      TLoaderDeps,\n      TLoaderFn,\n      TChildren,\n      TFileRouteTypes,\n      TSSR,\n      TMiddlewares,\n      THandlers\n    >\n{\n  /**\n   * @deprecated Use the `createRoute` function instead.\n   */\n  constructor(\n    options?: RouteOptions<\n      TRegister,\n      TParentRoute,\n      TId,\n      TCustomId,\n      TFullPath,\n      TPath,\n      TSearchValidator,\n      TParams,\n      TLoaderDeps,\n      TLoaderFn,\n      TRouterContext,\n      TRouteContextFn,\n      TBeforeLoadFn,\n      TSSR,\n      TMiddlewares,\n      THandlers\n    >,\n  ) {\n    super(options)\n  }\n\n  useMatch: UseMatchRoute<TId> = (opts) => {\n    return useMatch({\n      select: opts?.select,\n      from: this.id,\n    } as any) as any\n  }\n\n  useRouteContext: UseRouteContextRoute<TId> = (opts?) => {\n    return useRouteContext({ ...(opts as any), from: this.id }) as any\n  }\n\n  useSearch: UseSearchRoute<TId> = (opts) => {\n    return useSearch({\n      select: opts?.select,\n      from: this.id,\n    } as any) as any\n  }\n\n  useParams: UseParamsRoute<TId> = (opts) => {\n    return useParams({\n      select: opts?.select,\n      from: this.id,\n    } as any) as any\n  }\n\n  useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n    return useLoaderDeps({ ...opts, from: this.id } as any)\n  }\n\n  useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n    return useLoaderData({ ...opts, from: this.id } as any)\n  }\n\n  useNavigate = (): UseNavigateResult<TFullPath> => {\n    return useNavigate({ from: this.fullPath })\n  }\n\n  Link: LinkComponentRoute<TFullPath> = ((props) => {\n    return <Link from={this.fullPath} {...props} />\n  }) as LinkComponentRoute<TFullPath>\n}\n\nexport function createRoute<\n  TRegister = unknown,\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  TSearchValidator = undefined,\n  TParams = ResolveParams<TPath>,\n  TRouteContextFn = AnyContext,\n  TBeforeLoadFn = AnyContext,\n  TLoaderDeps extends Record<string, any> = {},\n  TLoaderFn = undefined,\n  TChildren = unknown,\n  TSSR = unknown,\n  THandlers = undefined,\n>(\n  options: RouteOptions<\n    TRegister,\n    TParentRoute,\n    TId,\n    TCustomId,\n    TFullPath,\n    TPath,\n    TSearchValidator,\n    TParams,\n    TLoaderDeps,\n    TLoaderFn,\n    AnyContext,\n    TRouteContextFn,\n    TBeforeLoadFn,\n    TSSR,\n    THandlers\n  >,\n): Route<\n  TRegister,\n  TParentRoute,\n  TPath,\n  TFullPath,\n  TCustomId,\n  TId,\n  TSearchValidator,\n  TParams,\n  AnyContext,\n  TRouteContextFn,\n  TBeforeLoadFn,\n  TLoaderDeps,\n  TLoaderFn,\n  TChildren,\n  unknown,\n  TSSR,\n  THandlers\n> {\n  return new Route<\n    TRegister,\n    TParentRoute,\n    TPath,\n    TFullPath,\n    TCustomId,\n    TId,\n    TSearchValidator,\n    TParams,\n    AnyContext,\n    TRouteContextFn,\n    TBeforeLoadFn,\n    TLoaderDeps,\n    TLoaderFn,\n    TChildren,\n    unknown,\n    TSSR,\n    THandlers\n  >(options)\n}\n\nexport type AnyRootRoute = RootRoute<\n  any,\n  any,\n  any,\n  any,\n  any,\n  any,\n  any,\n  any,\n  any,\n  any\n>\n\nexport function createRootRouteWithContext<TRouterContext extends {}>() {\n  return <\n    TRegister = Register,\n    TRouteContextFn = AnyContext,\n    TBeforeLoadFn = AnyContext,\n    TSearchValidator = undefined,\n    TLoaderDeps extends Record<string, any> = {},\n    TLoaderFn = undefined,\n    TSSR = unknown,\n    THandlers = undefined,\n  >(\n    options?: RootRouteOptions<\n      TRegister,\n      TSearchValidator,\n      TRouterContext,\n      TRouteContextFn,\n      TBeforeLoadFn,\n      TLoaderDeps,\n      TLoaderFn,\n      TSSR,\n      THandlers\n    >,\n  ) => {\n    return createRootRoute<\n      TRegister,\n      TSearchValidator,\n      TRouterContext,\n      TRouteContextFn,\n      TBeforeLoadFn,\n      TLoaderDeps,\n      TLoaderFn,\n      TSSR,\n      THandlers\n    >(options)\n  }\n}\n\n/**\n * @deprecated Use the `createRootRouteWithContext` function instead.\n */\nexport const rootRouteWithContext = createRootRouteWithContext\n\nexport class RootRoute<\n  in out TRegister = Register,\n  in out TSearchValidator = undefined,\n  in out TRouterContext = {},\n  in out TRouteContextFn = AnyContext,\n  in out TBeforeLoadFn = AnyContext,\n  in out TLoaderDeps extends Record<string, any> = {},\n  in out TLoaderFn = undefined,\n  in out TChildren = unknown,\n  in out TFileRouteTypes = unknown,\n  in out TSSR = unknown,\n  in out THandlers = undefined,\n>\n  extends BaseRootRoute<\n    TRegister,\n    TSearchValidator,\n    TRouterContext,\n    TRouteContextFn,\n    TBeforeLoadFn,\n    TLoaderDeps,\n    TLoaderFn,\n    TChildren,\n    TFileRouteTypes,\n    TSSR,\n    THandlers\n  >\n  implements\n    RootRouteCore<\n      TRegister,\n      TSearchValidator,\n      TRouterContext,\n      TRouteContextFn,\n      TBeforeLoadFn,\n      TLoaderDeps,\n      TLoaderFn,\n      TChildren,\n      TFileRouteTypes,\n      TSSR,\n      THandlers\n    >\n{\n  /**\n   * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n   */\n  constructor(\n    options?: RootRouteOptions<\n      TRegister,\n      TSearchValidator,\n      TRouterContext,\n      TRouteContextFn,\n      TBeforeLoadFn,\n      TLoaderDeps,\n      TLoaderFn,\n      TSSR,\n      THandlers\n    >,\n  ) {\n    super(options)\n  }\n\n  useMatch: UseMatchRoute<RootRouteId> = (opts) => {\n    return useMatch({\n      select: opts?.select,\n      from: this.id,\n    } as any) as any\n  }\n\n  useRouteContext: UseRouteContextRoute<RootRouteId> = (opts) => {\n    return useRouteContext({ ...(opts as any), from: this.id }) as any\n  }\n\n  useSearch: UseSearchRoute<RootRouteId> = (opts) => {\n    return useSearch({\n      select: opts?.select,\n      from: this.id,\n    } as any) as any\n  }\n\n  useParams: UseParamsRoute<RootRouteId> = (opts) => {\n    return useParams({\n      select: opts?.select,\n      from: this.id,\n    } as any) as any\n  }\n\n  useLoaderDeps: UseLoaderDepsRoute<RootRouteId> = (opts) => {\n    return useLoaderDeps({ ...opts, from: this.id } as any)\n  }\n\n  useLoaderData: UseLoaderDataRoute<RootRouteId> = (opts) => {\n    return useLoaderData({ ...opts, from: this.id } as any)\n  }\n\n  useNavigate = (): UseNavigateResult<'/'> => {\n    return useNavigate({ from: this.fullPath })\n  }\n\n  Link: LinkComponentRoute<'/'> = ((props) => {\n    return <Link from={this.fullPath} {...(props as any)} />\n  }) as LinkComponentRoute<'/'>\n}\n\nexport function createRouteMask<\n  TRouteTree extends AnyRoute,\n  TFrom extends string,\n  TTo extends string,\n>(\n  opts: {\n    routeTree: TRouteTree\n  } & ToMaskOptions<RouterCore<TRouteTree, 'never', false>, TFrom, TTo>,\n): RouteMask<TRouteTree> {\n  return opts as any\n}\n\nexport type SolidNode = Solid.JSX.Element\n\nexport interface DefaultRouteTypes<TProps> {\n  component: (props: TProps) => any\n}\nexport interface RouteTypes<TProps> extends DefaultRouteTypes<TProps> {}\n\nexport type AsyncRouteComponent<TProps> = RouteTypes<TProps>['component'] & {\n  preload?: () => Promise<void>\n}\n\nexport type RouteComponent = AsyncRouteComponent<{}>\n\nexport type ErrorRouteComponent = AsyncRouteComponent<ErrorComponentProps>\n\nexport type NotFoundRouteComponent = RouteTypes<NotFoundRouteProps>['component']\n\nexport class NotFoundRoute<\n  TRegister,\n  TParentRoute extends AnyRootRoute,\n  TRouterContext = AnyContext,\n  TRouteContextFn = AnyContext,\n  TBeforeLoadFn = AnyContext,\n  TSearchValidator = undefined,\n  TLoaderDeps extends Record<string, any> = {},\n  TLoaderFn = undefined,\n  TChildren = unknown,\n  TSSR = unknown,\n  THandlers = undefined,\n> extends Route<\n  TRegister,\n  TParentRoute,\n  '/404',\n  '/404',\n  '404',\n  '404',\n  TSearchValidator,\n  {},\n  TRouterContext,\n  TRouteContextFn,\n  TBeforeLoadFn,\n  TLoaderDeps,\n  TLoaderFn,\n  TChildren,\n  TSSR,\n  THandlers\n> {\n  constructor(\n    options: Omit<\n      RouteOptions<\n        TRegister,\n        TParentRoute,\n        string,\n        string,\n        string,\n        string,\n        TSearchValidator,\n        {},\n        TLoaderDeps,\n        TLoaderFn,\n        TRouterContext,\n        TRouteContextFn,\n        TBeforeLoadFn,\n        TSSR,\n        THandlers\n      >,\n      | 'caseSensitive'\n      | 'parseParams'\n      | 'stringifyParams'\n      | 'path'\n      | 'id'\n      | 'params'\n    >,\n  ) {\n    super({\n      ...(options as any),\n      id: '404',\n    })\n  }\n}\n\nexport function createRootRoute<\n  TRegister = Register,\n  TSearchValidator = undefined,\n  TRouterContext = {},\n  TRouteContextFn = AnyContext,\n  TBeforeLoadFn = AnyContext,\n  TLoaderDeps extends Record<string, any> = {},\n  TLoaderFn = undefined,\n  TSSR = unknown,\n  THandlers = undefined,\n>(\n  options?: RootRouteOptions<\n    TRegister,\n    TSearchValidator,\n    TRouterContext,\n    TRouteContextFn,\n    TBeforeLoadFn,\n    TLoaderDeps,\n    TLoaderFn,\n    TSSR,\n    THandlers\n  >,\n): RootRoute<\n  TRegister,\n  TSearchValidator,\n  TRouterContext,\n  TRouteContextFn,\n  TBeforeLoadFn,\n  TLoaderDeps,\n  TLoaderFn,\n  unknown,\n  unknown,\n  TSSR,\n  THandlers\n> {\n  return new RootRoute<\n    TRegister,\n    TSearchValidator,\n    TRouterContext,\n    TRouteContextFn,\n    TBeforeLoadFn,\n    TLoaderDeps,\n    TLoaderFn,\n    unknown,\n    unknown,\n    TSSR,\n    THandlers\n  >(options)\n}\n"],"mappings":"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"}