@tanstack/react-router 0.0.1-beta.21 → 0.0.1-beta.23

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.
@@ -223,7 +223,7 @@ function createReactRouter(opts) {
223
223
  return match;
224
224
  }
225
225
  };
226
- const routeExt = makeRouteExt(router.getRoute('/'), router);
226
+ const routeExt = makeRouteExt(router.getRoute(index.rootRouteId), router);
227
227
  Object.assign(router, routerExt, routeExt);
228
228
  },
229
229
  createRoute: _ref => {
@@ -245,6 +245,8 @@ function createReactRouter(opts) {
245
245
  return coreRouter;
246
246
  }
247
247
  function RouterProvider(_ref2) {
248
+ var _router$options$useCo;
249
+
248
250
  let {
249
251
  children,
250
252
  router
@@ -252,9 +254,11 @@ function RouterProvider(_ref2) {
252
254
  rest = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(_ref2, _excluded3);
253
255
 
254
256
  router.update(rest);
257
+ const defaultRouterContext = React__namespace.useRef({});
258
+ const userContext = (_router$options$useCo = router.options.useContext == null ? void 0 : router.options.useContext()) != null ? _router$options$useCo : defaultRouterContext.current;
259
+ router.context = userContext;
255
260
  useRouterSubscription(router);
256
261
  React__namespace.useEffect(() => {
257
- console.log('hello');
258
262
  return router.mount();
259
263
  }, [router]);
260
264
  return /*#__PURE__*/React__namespace.createElement(routerContext.Provider, {
@@ -289,6 +293,9 @@ function useRoute(routeId) {
289
293
  const router = useRouter();
290
294
  return router.useRoute(routeId);
291
295
  }
296
+ function useSearch(_routeId) {
297
+ return useRouter().state.location.search;
298
+ }
292
299
  function linkProps(props) {
293
300
  const router = useRouter();
294
301
  return router.linkProps(props);
@@ -328,7 +335,6 @@ function Outlet() {
328
335
  return /*#__PURE__*/React__namespace.createElement((_ref4 = (_ref5 = match.__.component) != null ? _ref5 : router.options.defaultComponent) != null ? _ref4 : Outlet);
329
336
  }
330
337
 
331
- console.log(match.matchId, 'suspend');
332
338
  throw match.__.loadPromise;
333
339
  })())));
334
340
  }
@@ -463,4 +469,5 @@ exports.useNearestMatch = useNearestMatch;
463
469
  exports.usePrompt = usePrompt;
464
470
  exports.useRoute = useRoute;
465
471
  exports.useRouter = useRouter;
472
+ exports.useSearch = useSearch;
466
473
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/index.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\n\nimport {\n AnyRoute,\n CheckId,\n rootRouteId,\n Route,\n RouterState,\n ToIdOption,\n} from '@tanstack/router-core'\nimport {\n warning,\n RouterOptions,\n RouteMatch,\n MatchRouteOptions,\n RouteConfig,\n AnyRouteConfig,\n AnyAllRouteInfo,\n DefaultAllRouteInfo,\n functionalUpdate,\n createRouter,\n AnyRouteInfo,\n AllRouteInfo,\n RouteInfo,\n ValidFromPath,\n LinkOptions,\n RouteInfoByPath,\n ResolveRelativePath,\n NoInfer,\n ToOptions,\n invariant,\n Router,\n} from '@tanstack/router-core'\n\nexport * from '@tanstack/router-core'\n\nexport interface RegisterRouter {\n // router: Router\n}\n\nexport type RegisteredRouter = RegisterRouter extends {\n router: Router<infer TRouteConfig, infer TAllRouteInfo>\n}\n ? Router<TRouteConfig, TAllRouteInfo>\n : Router\n\nexport type RegisteredAllRouteInfo = RegisterRouter extends {\n router: Router<infer TRouteConfig, infer TAllRouteInfo>\n}\n ? TAllRouteInfo\n : AnyAllRouteInfo\n\nexport type SyncRouteComponent = (props?: {}) => JSX.Element | React.ReactNode\n\nexport type RouteComponent = SyncRouteComponent & {\n preload?: () => Promise<SyncRouteComponent>\n}\n\nexport function lazy(\n importer: () => Promise<{ default: SyncRouteComponent }>,\n): RouteComponent {\n const lazyComp = React.lazy(importer as any)\n let promise: Promise<SyncRouteComponent>\n let resolvedComp: SyncRouteComponent\n\n const forwardedComp = React.forwardRef((props, ref) => {\n const resolvedCompRef = React.useRef(resolvedComp || lazyComp)\n return React.createElement(\n resolvedCompRef.current as any,\n { ...(ref ? { ref } : {}), ...props } as any,\n )\n })\n\n const finalComp = forwardedComp as unknown as RouteComponent\n\n finalComp.preload = () => {\n if (!promise) {\n promise = importer().then((module) => {\n resolvedComp = module.default\n return resolvedComp\n })\n }\n\n return promise\n }\n\n return finalComp\n}\n\ntype LinkPropsOptions<\n TAllRouteInfo extends AnyAllRouteInfo,\n TFrom extends ValidFromPath<TAllRouteInfo>,\n TTo extends string,\n> = LinkOptions<TAllRouteInfo, TFrom, TTo> & {\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}\n\ntype MakeMatchRouteOptions<\n TAllRouteInfo extends AnyAllRouteInfo,\n TFrom extends ValidFromPath<TAllRouteInfo>,\n TTo extends string,\n> = ToOptions<TAllRouteInfo, TFrom, TTo> &\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 | React.ReactNode\n | ((\n params: RouteInfoByPath<\n TAllRouteInfo,\n ResolveRelativePath<TFrom, NoInfer<TTo>>\n >['allParams'],\n ) => React.ReactNode)\n }\n\ntype MakeLinkPropsOptions<\n TAllRouteInfo extends AnyAllRouteInfo,\n TFrom extends ValidFromPath<TAllRouteInfo>,\n TTo extends string,\n> = LinkPropsOptions<TAllRouteInfo, TFrom, TTo> &\n React.AnchorHTMLAttributes<HTMLAnchorElement>\n\ntype MakeLinkOptions<\n TAllRouteInfo extends AnyAllRouteInfo,\n TFrom extends ValidFromPath<TAllRouteInfo>,\n TTo extends string,\n> = LinkPropsOptions<TAllRouteInfo, TFrom, TTo> &\n React.AnchorHTMLAttributes<HTMLAnchorElement> &\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\ndeclare module '@tanstack/router-core' {\n interface FrameworkGenerics {\n Component: RouteComponent\n }\n\n interface Router<\n TRouteConfig extends AnyRouteConfig = RouteConfig,\n TAllRouteInfo extends AnyAllRouteInfo = AllRouteInfo<TRouteConfig>,\n > {\n useState: () => RouterState\n useRoute: <TId extends keyof TAllRouteInfo['routeInfoById']>(\n routeId: TId,\n ) => Route<TAllRouteInfo, TAllRouteInfo['routeInfoById'][TId]>\n useNearestMatch: () => RouteMatch<TAllRouteInfo, RouteInfo>\n useMatch: <\n TId extends keyof TAllRouteInfo['routeInfoById'],\n TStrict extends boolean = true,\n >(\n routeId: TId,\n opts?: { strict?: TStrict },\n ) => TStrict extends true\n ? RouteMatch<TAllRouteInfo, TAllRouteInfo['routeInfoById'][TId]>\n :\n | RouteMatch<TAllRouteInfo, TAllRouteInfo['routeInfoById'][TId]>\n | undefined\n linkProps: <TTo extends string = '.'>(\n props: MakeLinkPropsOptions<TAllRouteInfo, '/', TTo>,\n ) => React.AnchorHTMLAttributes<HTMLAnchorElement>\n Link: <TTo extends string = '.'>(\n props: MakeLinkOptions<TAllRouteInfo, '/', TTo>,\n ) => JSX.Element\n MatchRoute: <TTo extends string = '.'>(\n props: MakeMatchRouteOptions<TAllRouteInfo, '/', TTo>,\n ) => JSX.Element\n }\n\n interface Route<\n TAllRouteInfo extends AnyAllRouteInfo = DefaultAllRouteInfo,\n TRouteInfo extends AnyRouteInfo = RouteInfo,\n > {\n useRoute: <\n TTo extends string = '.',\n TResolved extends string = ResolveRelativePath<\n TRouteInfo['id'],\n NoInfer<TTo>\n >,\n >(\n routeId: CheckId<\n TAllRouteInfo,\n TResolved,\n ToIdOption<TAllRouteInfo, TRouteInfo['id'], TTo>\n >,\n opts?: { strict?: boolean },\n ) => Route<TAllRouteInfo, TAllRouteInfo['routeInfoById'][TResolved]>\n linkProps: <TTo extends string = '.'>(\n props: MakeLinkPropsOptions<TAllRouteInfo, TRouteInfo['fullPath'], TTo>,\n ) => React.AnchorHTMLAttributes<HTMLAnchorElement>\n Link: <TTo extends string = '.'>(\n props: MakeLinkOptions<TAllRouteInfo, TRouteInfo['fullPath'], TTo>,\n ) => JSX.Element\n MatchRoute: <TTo extends string = '.'>(\n props: MakeMatchRouteOptions<TAllRouteInfo, TRouteInfo['fullPath'], TTo>,\n ) => JSX.Element\n }\n}\n\nexport type PromptProps = {\n message: string\n when?: boolean | any\n children?: React.ReactNode\n}\n\n//\n\nexport function Link<TTo extends string = '.'>(\n props: MakeLinkOptions<RegisteredAllRouteInfo, '/', TTo>,\n): JSX.Element {\n const router = useRouter()\n return <router.Link {...(props as any)} />\n}\n\nexport const matchesContext = React.createContext<RouteMatch[]>(null!)\nexport const routerContext = React.createContext<{ router: RegisteredRouter }>(\n null!,\n)\n\nexport type MatchesProviderProps = {\n value: RouteMatch[]\n children: React.ReactNode\n}\n\nexport function MatchesProvider(props: MatchesProviderProps) {\n return <matchesContext.Provider {...props} />\n}\n\nconst useRouterSubscription = (router: Router<any, any>) => {\n useSyncExternalStore(\n (cb) => router.subscribe(() => cb()),\n () => router.state,\n () => router.state,\n )\n}\n\nexport function createReactRouter<\n TRouteConfig extends AnyRouteConfig = RouteConfig,\n>(opts: RouterOptions<TRouteConfig>): Router<TRouteConfig> {\n const makeRouteExt = (\n route: AnyRoute,\n router: Router<any, any>,\n ): Pick<AnyRoute, 'useRoute' | 'linkProps' | 'Link' | 'MatchRoute'> => {\n return {\n useRoute: (subRouteId = '.' as any) => {\n const resolvedRouteId = router.resolvePath(\n route.routeId,\n subRouteId as string,\n )\n const resolvedRoute = router.getRoute(resolvedRouteId)\n useRouterSubscription(router)\n invariant(\n resolvedRoute,\n `Could not find a route for route \"${\n resolvedRouteId as string\n }\"! Did you forget to add it to your route config?`,\n )\n return resolvedRoute\n },\n linkProps: (options) => {\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 preload,\n preloadDelay,\n preloadMaxAge,\n replace,\n // element props\n style,\n className,\n onClick,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n onTouchStart,\n onTouchEnd,\n ...rest\n } = options\n\n const linkInfo = route.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 isActive,\n next,\n } = linkInfo\n\n const reactHandleClick = (e: Event) => {\n React.startTransition(() => {\n handleClick(e)\n })\n }\n\n const composeHandlers =\n (handlers: (undefined | ((e: any) => void))[]) =>\n (e: React.SyntheticEvent) => {\n e.persist()\n handlers.forEach((handler) => {\n if (handler) handler(e)\n })\n }\n\n // Get the active props\n const resolvedActiveProps: React.HTMLAttributes<HTMLAnchorElement> =\n isActive ? functionalUpdate(activeProps, {}) ?? {} : {}\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 ? undefined : next.href,\n onClick: composeHandlers([reactHandleClick, onClick]),\n onFocus: composeHandlers([handleFocus, onFocus]),\n onMouseEnter: composeHandlers([handleEnter, onMouseEnter]),\n onMouseLeave: composeHandlers([handleLeave, onMouseLeave]),\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 Link: React.forwardRef((props: any, ref) => {\n const linkProps = route.linkProps(props)\n\n useRouterSubscription(router)\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 MatchRoute: (opts) => {\n const { pending, caseSensitive, children, ...rest } = opts\n\n const params = route.matchRoute(rest as any, {\n pending,\n caseSensitive,\n })\n\n if (!params) {\n return null\n }\n\n return typeof opts.children === 'function'\n ? opts.children(params as any)\n : (opts.children as any)\n },\n }\n }\n\n const coreRouter = createRouter<TRouteConfig>({\n ...opts,\n createRouter: (router) => {\n const routerExt: Pick<Router<any, any>, 'useMatch' | 'useState'> = {\n useState: () => {\n useRouterSubscription(router)\n return router.state\n },\n useMatch: (routeId, opts) => {\n useRouterSubscription(router)\n\n invariant(\n routeId !== rootRouteId,\n `\"${rootRouteId}\" cannot be used with useMatch! Did you mean to useRoute(\"${rootRouteId}\")?`,\n )\n\n const runtimeMatch = useMatches()?.[0]!\n const match = router.state.matches.find((d) => d.routeId === routeId)\n\n if (opts?.strict ?? true) {\n invariant(\n match,\n `Could not find an active match for \"${routeId as string}\"!`,\n )\n\n invariant(\n runtimeMatch.routeId == match?.routeId,\n `useMatch(\"${\n match?.routeId as string\n }\") is being called in a component that is meant to render the '${\n runtimeMatch.routeId\n }' route. Did you mean to 'useMatch(\"${\n match?.routeId as string\n }\", { strict: false })' or 'useRoute(\"${\n match?.routeId as string\n }\")' instead?`,\n )\n }\n\n return match as any\n },\n }\n\n const routeExt = makeRouteExt(router.getRoute('/'), router)\n\n Object.assign(router, routerExt, routeExt)\n },\n createRoute: ({ router, route }) => {\n const routeExt = makeRouteExt(route, router)\n\n Object.assign(route, routeExt)\n },\n loadComponent: async (component) => {\n if (component.preload && typeof document !== 'undefined') {\n component.preload()\n // return await component.preload()\n }\n\n return component as any\n },\n })\n\n return coreRouter as any\n}\n\nexport type RouterProps<\n TRouteConfig extends AnyRouteConfig = RouteConfig,\n TAllRouteInfo extends AnyAllRouteInfo = DefaultAllRouteInfo,\n> = RouterOptions<TRouteConfig> & {\n router: Router<TRouteConfig, TAllRouteInfo>\n // Children will default to `<Outlet />` if not provided\n children?: React.ReactNode\n}\n\nexport function RouterProvider<\n TRouteConfig extends AnyRouteConfig = RouteConfig,\n TAllRouteInfo extends AnyAllRouteInfo = DefaultAllRouteInfo,\n>({ children, router, ...rest }: RouterProps<TRouteConfig, TAllRouteInfo>) {\n router.update(rest)\n\n useRouterSubscription(router)\n React.useEffect(() => {\n console.log('hello')\n return router.mount()\n }, [router])\n\n return (\n <routerContext.Provider value={{ router: router as any }}>\n <MatchesProvider value={router.state.matches}>\n {children ?? <Outlet />}\n </MatchesProvider>\n </routerContext.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\n useRouterSubscription(value.router)\n\n return value.router\n}\n\nexport function useMatches(): RouteMatch[] {\n return React.useContext(matchesContext)\n}\n\nexport function useMatch<\n TId extends keyof RegisteredAllRouteInfo['routeInfoById'],\n TStrict extends boolean = true,\n>(\n routeId: TId,\n opts?: { strict?: TStrict },\n): TStrict extends true\n ? RouteMatch<\n RegisteredAllRouteInfo,\n RegisteredAllRouteInfo['routeInfoById'][TId]\n >\n :\n | RouteMatch<\n RegisteredAllRouteInfo,\n RegisteredAllRouteInfo['routeInfoById'][TId]\n >\n | undefined {\n const router = useRouter()\n return router.useMatch(routeId as any, opts) as any\n}\n\nexport function useNearestMatch(): RouteMatch<\n RegisteredAllRouteInfo,\n RouteInfo\n> {\n const runtimeMatch = useMatches()?.[0]!\n\n invariant(runtimeMatch, `Could not find a nearest match!`)\n\n return runtimeMatch as any\n}\n\nexport function useRoute<\n TId extends keyof RegisteredAllRouteInfo['routeInfoById'],\n>(\n routeId: TId,\n): Route<RegisteredAllRouteInfo, RegisteredAllRouteInfo['routeInfoById'][TId]> {\n const router = useRouter()\n return router.useRoute(routeId as any) as any\n}\n\nexport function linkProps<TTo extends string = '.'>(\n props: MakeLinkPropsOptions<RegisteredAllRouteInfo, '/', TTo>,\n): React.AnchorHTMLAttributes<HTMLAnchorElement> {\n const router = useRouter()\n return router.linkProps(props as any)\n}\n\nexport function MatchRoute<TTo extends string = '.'>(\n props: MakeMatchRouteOptions<RegisteredAllRouteInfo, '/', TTo>,\n): JSX.Element {\n const router = useRouter()\n return React.createElement(router.MatchRoute, props as any)\n}\n\nexport function Outlet() {\n const router = useRouter()\n const matches = useMatches().slice(1)\n const match = matches[0]\n\n const defaultPending = React.useCallback(() => null, [])\n\n if (!match) {\n return null\n }\n\n const PendingComponent = (match.__.pendingComponent ??\n router.options.defaultPendingComponent ??\n defaultPending) as any\n\n const errorComponent =\n match.__.errorComponent ?? router.options.defaultErrorComponent\n\n return (\n <MatchesProvider value={matches}>\n <React.Suspense fallback={<PendingComponent />}>\n <CatchBoundary errorComponent={errorComponent}>\n {\n ((): React.ReactNode => {\n if (match.status === 'error') {\n throw match.error\n }\n\n if (match.status === 'success') {\n return React.createElement(\n (match.__.component as any) ??\n router.options.defaultComponent ??\n Outlet,\n )\n }\n\n console.log(match.matchId, 'suspend')\n throw match.__.loadPromise\n })() as JSX.Element\n }\n </CatchBoundary>\n </React.Suspense>\n </MatchesProvider>\n )\n}\n\nclass CatchBoundary extends React.Component<{\n children: any\n errorComponent: any\n}> {\n state = {\n error: false,\n }\n componentDidCatch(error: any, info: any) {\n console.error(error)\n\n this.setState({\n error,\n info,\n })\n }\n render() {\n const errorComponent = this.props.errorComponent ?? DefaultErrorBoundary\n\n if (this.state.error) {\n return React.createElement(errorComponent, this.state)\n }\n\n return this.props.children\n }\n}\n\nexport function DefaultErrorBoundary({ error }: { error: any }) {\n return (\n <div style={{ padding: '.5rem', maxWidth: '100%' }}>\n <strong style={{ fontSize: '1.2rem' }}>Something went wrong!</strong>\n <div style={{ height: '.5rem' }} />\n <div>\n <pre>\n {error.message ? (\n <code\n style={{\n fontSize: '.7em',\n border: '1px solid red',\n borderRadius: '.25rem',\n padding: '.5rem',\n color: 'red',\n }}\n >\n {error.message}\n </code>\n ) : null}\n </pre>\n </div>\n </div>\n )\n}\n\nexport function usePrompt(message: string, when: boolean | any): void {\n const router = useRouter()\n\n React.useEffect(() => {\n if (!when) return\n\n let unblock = router.history.block((transition) => {\n if (window.confirm(message)) {\n unblock()\n transition.retry()\n } else {\n router.location.pathname = window.location.pathname\n }\n })\n\n return unblock\n }, [when, location, message])\n}\n\nexport function Prompt({ message, when, children }: PromptProps) {\n usePrompt(message, when ?? true)\n return (children ?? null) as React.ReactNode\n}\n"],"names":["lazy","importer","lazyComp","React","promise","resolvedComp","forwardedComp","forwardRef","props","ref","resolvedCompRef","useRef","createElement","current","finalComp","preload","then","module","default","Link","router","useRouter","matchesContext","createContext","routerContext","MatchesProvider","useRouterSubscription","useSyncExternalStore","cb","subscribe","state","createReactRouter","opts","makeRouteExt","route","useRoute","subRouteId","resolvedRouteId","resolvePath","routeId","resolvedRoute","getRoute","invariant","linkProps","options","target","activeProps","className","inactiveProps","disabled","style","onClick","onFocus","onMouseEnter","onMouseLeave","rest","linkInfo","buildLink","type","href","handleClick","handleFocus","handleEnter","handleLeave","isActive","next","reactHandleClick","e","startTransition","composeHandlers","handlers","persist","forEach","handler","resolvedActiveProps","functionalUpdate","resolvedInactiveProps","_extends","undefined","filter","Boolean","join","role","children","MatchRoute","pending","caseSensitive","params","matchRoute","coreRouter","createRouter","routerExt","useState","useMatch","rootRouteId","runtimeMatch","useMatches","match","matches","find","d","strict","routeExt","Object","assign","createRoute","loadComponent","component","document","RouterProvider","_objectWithoutPropertiesLoose","update","useEffect","console","log","mount","value","useContext","warning","useNearestMatch","Outlet","slice","defaultPending","useCallback","PendingComponent","__","pendingComponent","defaultPendingComponent","errorComponent","defaultErrorComponent","status","error","defaultComponent","matchId","loadPromise","CatchBoundary","Component","componentDidCatch","info","setState","render","DefaultErrorBoundary","padding","maxWidth","fontSize","height","message","border","borderRadius","color","usePrompt","when","unblock","history","block","transition","window","confirm","retry","location","pathname","Prompt"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DO,SAASA,IAAT,CACLC,QADK,EAEW;AAChB,EAAA,MAAMC,QAAQ,gBAAGC,gBAAK,CAACH,IAAN,CAAWC,QAAX,CAAjB,CAAA;AACA,EAAA,IAAIG,OAAJ,CAAA;AACA,EAAA,IAAIC,YAAJ,CAAA;EAEA,MAAMC,aAAa,gBAAGH,gBAAK,CAACI,UAAN,CAAiB,CAACC,KAAD,EAAQC,GAAR,KAAgB;IACrD,MAAMC,eAAe,GAAGP,gBAAK,CAACQ,MAAN,CAAaN,YAAY,IAAIH,QAA7B,CAAxB,CAAA;IACA,oBAAOC,gBAAK,CAACS,aAAN,CACLF,eAAe,CAACG,OADX,EAECJ,oCAAAA,CAAAA,EAAAA,EAAAA,GAAG,GAAG;AAAEA,MAAAA,GAAAA;AAAF,KAAH,GAAa,EAFjB,EAEyBD,KAFzB,CAAP,CAAA,CAAA;AAID,GANqB,CAAtB,CAAA;EAQA,MAAMM,SAAS,GAAGR,aAAlB,CAAA;;EAEAQ,SAAS,CAACC,OAAV,GAAoB,MAAM;IACxB,IAAI,CAACX,OAAL,EAAc;AACZA,MAAAA,OAAO,GAAGH,QAAQ,EAAA,CAAGe,IAAX,CAAiBC,MAAD,IAAY;QACpCZ,YAAY,GAAGY,MAAM,CAACC,OAAtB,CAAA;AACA,QAAA,OAAOb,YAAP,CAAA;AACD,OAHS,CAAV,CAAA;AAID,KAAA;;AAED,IAAA,OAAOD,OAAP,CAAA;GARF,CAAA;;AAWA,EAAA,OAAOU,SAAP,CAAA;AACD,CAAA;AA8HD;AAEO,SAASK,IAAT,CACLX,KADK,EAEQ;EACb,MAAMY,MAAM,GAAGC,SAAS,EAAxB,CAAA;AACA,EAAA,oBAAOlB,+BAAC,MAAD,CAAQ,IAAR,EAAkBK,KAAlB,CAAP,CAAA;AACD,CAAA;AAEM,MAAMc,cAAc,gBAAGnB,gBAAK,CAACoB,aAAN,CAAkC,IAAlC,EAAvB;AACA,MAAMC,aAAa,gBAAGrB,gBAAK,CAACoB,aAAN,CAC3B,IAD2B,EAAtB;AASA,SAASE,eAAT,CAAyBjB,KAAzB,EAAsD;AAC3D,EAAA,oBAAOL,+BAAC,cAAD,CAAgB,QAAhB,EAA6BK,KAA7B,CAAP,CAAA;AACD,CAAA;;AAED,MAAMkB,qBAAqB,GAAIN,MAAD,IAA8B;EAC1DO,yBAAoB,CACjBC,EAAD,IAAQR,MAAM,CAACS,SAAP,CAAiB,MAAMD,EAAE,EAAzB,CADU,EAElB,MAAMR,MAAM,CAACU,KAFK,EAGlB,MAAMV,MAAM,CAACU,KAHK,CAApB,CAAA;AAKD,CAND,CAAA;;AAQO,SAASC,iBAAT,CAELC,IAFK,EAEoD;AACzD,EAAA,MAAMC,YAAY,GAAG,CACnBC,KADmB,EAEnBd,MAFmB,KAGkD;IACrE,OAAO;MACLe,QAAQ,EAAE,SAACC,QAAAA,CAAAA,UAAD,EAA6B;AAAA,QAAA,IAA5BA,UAA4B,KAAA,KAAA,CAAA,EAAA;AAA5BA,UAAAA,UAA4B,GAAf,GAAe,CAAA;AAAA,SAAA;;QACrC,MAAMC,eAAe,GAAGjB,MAAM,CAACkB,WAAP,CACtBJ,KAAK,CAACK,OADgB,EAEtBH,UAFsB,CAAxB,CAAA;AAIA,QAAA,MAAMI,aAAa,GAAGpB,MAAM,CAACqB,QAAP,CAAgBJ,eAAhB,CAAtB,CAAA;QACAX,qBAAqB,CAACN,MAAD,CAArB,CAAA;AACAsB,QAAAA,eAAS,CACPF,aADO,EAGLH,qCAAAA,GAAAA,eAHK,GAAT,oDAAA,CAAA,CAAA;AAMA,QAAA,OAAOG,aAAP,CAAA;OAdG;MAgBLG,SAAS,EAAGC,OAAD,IAAa;AAAA,QAAA,IAAA,iBAAA,EAAA,kBAAA,CAAA;;QACtB,MAAM;AACJ;UAGAC,MAJI;AAKJC,UAAAA,WAAW,GAAG,OAAO;AAAEC,YAAAA,SAAS,EAAE,QAAA;AAAb,WAAP,CALV;UAMJC,aAAa,GAAG,OAAO,EAAP,CANZ;UAQJC,QARI;AAkBJ;UACAC,KAnBI;UAoBJH,SApBI;UAqBJI,OArBI;UAsBJC,OAtBI;UAuBJC,YAvBI;AAwBJC,UAAAA,YAAAA;AAxBI,SAAA,GA4BFV,OA5BJ;cA2BKW,IA3BL,0DA4BIX,OA5BJ,EAAA,SAAA,CAAA,CAAA;;AA8BA,QAAA,MAAMY,QAAQ,GAAGtB,KAAK,CAACuB,SAAN,CAAgBb,OAAhB,CAAjB,CAAA;;AAEA,QAAA,IAAIY,QAAQ,CAACE,IAAT,KAAkB,UAAtB,EAAkC;UAChC,MAAM;AAAEC,YAAAA,IAAAA;AAAF,WAAA,GAAWH,QAAjB,CAAA;UACA,OAAO;AAAEG,YAAAA,IAAAA;WAAT,CAAA;AACD,SAAA;;QAED,MAAM;UACJC,WADI;UAEJC,WAFI;UAGJC,WAHI;UAIJC,WAJI;UAKJC,QALI;AAMJC,UAAAA,IAAAA;AANI,SAAA,GAOFT,QAPJ,CAAA;;QASA,MAAMU,gBAAgB,GAAIC,CAAD,IAAc;UACrChE,gBAAK,CAACiE,eAAN,CAAsB,MAAM;YAC1BR,WAAW,CAACO,CAAD,CAAX,CAAA;WADF,CAAA,CAAA;SADF,CAAA;;AAMA,QAAA,MAAME,eAAe,GAClBC,QAAD,IACCH,CAAD,IAA6B;AAC3BA,UAAAA,CAAC,CAACI,OAAF,EAAA,CAAA;AACAD,UAAAA,QAAQ,CAACE,OAAT,CAAkBC,OAAD,IAAa;AAC5B,YAAA,IAAIA,OAAJ,EAAaA,OAAO,CAACN,CAAD,CAAP,CAAA;WADf,CAAA,CAAA;AAGD,SAPH,CArDsB;;;AA+DtB,QAAA,MAAMO,mBAA4D,GAChEV,QAAQ,GAAA,CAAA,iBAAA,GAAGW,sBAAgB,CAAC7B,WAAD,EAAc,EAAd,CAAnB,KAAwC,IAAA,GAAA,iBAAA,GAAA,EAAxC,GAA6C,EADvD,CA/DsB;;AAmEtB,QAAA,MAAM8B,qBAA8D,GAClEZ,QAAQ,GAAG,EAAH,GAAA,CAAA,kBAAA,GAAQW,sBAAgB,CAAC3B,aAAD,EAAgB,EAAhB,CAAxB,iCAA+C,EADzD,CAAA;AAGA,QAAA,OAAA6B,oCAAA,CAAA,EAAA,EACKH,mBADL,EAEKE,qBAFL,EAGKrB,IAHL,EAAA;AAIEI,UAAAA,IAAI,EAAEV,QAAQ,GAAG6B,SAAH,GAAeb,IAAI,CAACN,IAJpC;UAKER,OAAO,EAAEkB,eAAe,CAAC,CAACH,gBAAD,EAAmBf,OAAnB,CAAD,CAL1B;UAMEC,OAAO,EAAEiB,eAAe,CAAC,CAACR,WAAD,EAAcT,OAAd,CAAD,CAN1B;UAOEC,YAAY,EAAEgB,eAAe,CAAC,CAACP,WAAD,EAAcT,YAAd,CAAD,CAP/B;UAQEC,YAAY,EAAEe,eAAe,CAAC,CAACN,WAAD,EAAcT,YAAd,CAAD,CAR/B;UASET,MATF;UAUEK,KAAK,EAAA2B,oCAAA,CAAA,EAAA,EACA3B,KADA,EAEAwB,mBAAmB,CAACxB,KAFpB,EAGA0B,qBAAqB,CAAC1B,KAHtB,CAVP;AAeEH,UAAAA,SAAS,EACP,CACEA,SADF,EAEE2B,mBAAmB,CAAC3B,SAFtB,EAGE6B,qBAAqB,CAAC7B,SAHxB,CAAA,CAKGgC,MALH,CAKUC,OALV,EAMGC,IANH,CAMQ,GANR,CAMgBH,IAAAA,SAAAA;AAtBpB,SAAA,EAuBM7B,QAAQ,GACR;AACEiC,UAAAA,IAAI,EAAE,MADR;UAEE,eAAiB,EAAA,IAAA;AAFnB,SADQ,GAKRJ,SA5BN,EAAA;AA6BE,UAAA,CAAC,aAAD,GAAiBd,QAAQ,GAAG,QAAH,GAAcc,SAAAA;AA7BzC,SAAA,CAAA,CAAA;OAtFG;MAsHL3D,IAAI,eAAEhB,gBAAK,CAACI,UAAN,CAAiB,CAACC,KAAD,EAAaC,GAAb,KAAqB;AAC1C,QAAA,MAAMkC,SAAS,GAAGT,KAAK,CAACS,SAAN,CAAgBnC,KAAhB,CAAlB,CAAA;QAEAkB,qBAAqB,CAACN,MAAD,CAArB,CAAA;QAEA,oBACEjB,gBAAA,CAAA,aAAA,CAAA,GAAA,EAAA0E,oCAAA,CAAA;AAEIpE,UAAAA,GAAG,EAAEA,GAAAA;AAFT,SAAA,EAGOkC,SAHP,EAAA;UAIIwC,QAAQ,EACN,OAAO3E,KAAK,CAAC2E,QAAb,KAA0B,UAA1B,GACI3E,KAAK,CAAC2E,QAAN,CAAe;AACbnB,YAAAA,QAAQ,EAAGrB,SAAD,CAAmB,aAAnB,CAAsC,KAAA,QAAA;WADlD,CADJ,GAIInC,KAAK,CAAC2E,QAAAA;SAVlB,CAAA,CAAA,CAAA;AAcD,OAnBK,CAtHD;MA0ILC,UAAU,EAAGpD,IAAD,IAAU;QACpB,MAAM;UAAEqD,OAAF;AAAWC,UAAAA,aAAAA;AAAX,SAAA,GAAgDtD,IAAtD;cAA6CuB,IAA7C,0DAAsDvB,IAAtD,EAAA,UAAA,CAAA,CAAA;;AAEA,QAAA,MAAMuD,MAAM,GAAGrD,KAAK,CAACsD,UAAN,CAAiBjC,IAAjB,EAA8B;UAC3C8B,OAD2C;AAE3CC,UAAAA,aAAAA;AAF2C,SAA9B,CAAf,CAAA;;QAKA,IAAI,CAACC,MAAL,EAAa;AACX,UAAA,OAAO,IAAP,CAAA;AACD,SAAA;;AAED,QAAA,OAAO,OAAOvD,IAAI,CAACmD,QAAZ,KAAyB,UAAzB,GACHnD,IAAI,CAACmD,QAAL,CAAcI,MAAd,CADG,GAEFvD,IAAI,CAACmD,QAFV,CAAA;AAGD,OAAA;KAzJH,CAAA;GAJF,CAAA;;AAiKA,EAAA,MAAMM,UAAU,GAAGC,kBAAY,CAAAb,oCAAA,CAAA,EAAA,EAC1B7C,IAD0B,EAAA;IAE7B0D,YAAY,EAAGtE,MAAD,IAAY;AACxB,MAAA,MAAMuE,SAA0D,GAAG;AACjEC,QAAAA,QAAQ,EAAE,MAAM;UACdlE,qBAAqB,CAACN,MAAD,CAArB,CAAA;UACA,OAAOA,MAAM,CAACU,KAAd,CAAA;SAH+D;AAKjE+D,QAAAA,QAAQ,EAAE,CAACtD,OAAD,EAAUP,IAAV,KAAmB;AAAA,UAAA,IAAA,WAAA,EAAA,YAAA,CAAA;;UAC3BN,qBAAqB,CAACN,MAAD,CAArB,CAAA;UAEAsB,eAAS,CACPH,OAAO,KAAKuD,iBADL,SAEHA,iBAFG,GAAA,8DAAA,GAEqEA,iBAFrE,GAAT,MAAA,CAAA,CAAA;AAKA,UAAA,MAAMC,YAAY,GAAGC,CAAAA,WAAAA,GAAAA,UAAU,EAAb,KAAG,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAe,CAAf,CAArB,CAAA;AACA,UAAA,MAAMC,KAAK,GAAG7E,MAAM,CAACU,KAAP,CAAaoE,OAAb,CAAqBC,IAArB,CAA2BC,CAAD,IAAOA,CAAC,CAAC7D,OAAF,KAAcA,OAA/C,CAAd,CAAA;;AAEA,UAAA,IAAA,CAAA,YAAA,GAAIP,IAAJ,IAAIA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEqE,MAAV,KAAA,IAAA,GAAA,YAAA,GAAoB,IAApB,EAA0B;AACxB3D,YAAAA,eAAS,CACPuD,KADO,EAEgC1D,uCAAAA,GAAAA,OAFhC,GAAT,KAAA,CAAA,CAAA;AAKAG,YAAAA,eAAS,CACPqD,YAAY,CAACxD,OAAb,KAAwB0D,KAAxB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAwBA,KAAK,CAAE1D,OAA/B,CADO,EAGL0D,aAAAA,IAAAA,KAHK,oBAGLA,KAAK,CAAE1D,OAHF,CAAA,GAAA,kEAAA,GAKLwD,YAAY,CAACxD,OALR,GAAA,uCAAA,IAOL0D,KAPK,IAOLA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAE1D,OAPF,iDASL0D,KATK,IAAA,IAAA,GAAA,KAAA,CAAA,GASLA,KAAK,CAAE1D,OATF,CAAT,GAAA,eAAA,CAAA,CAAA;AAYD,WAAA;;AAED,UAAA,OAAO0D,KAAP,CAAA;AACD,SAAA;OArCH,CAAA;AAwCA,MAAA,MAAMK,QAAQ,GAAGrE,YAAY,CAACb,MAAM,CAACqB,QAAP,CAAgB,GAAhB,CAAD,EAAuBrB,MAAvB,CAA7B,CAAA;AAEAmF,MAAAA,MAAM,CAACC,MAAP,CAAcpF,MAAd,EAAsBuE,SAAtB,EAAiCW,QAAjC,CAAA,CAAA;KA7C2B;AA+C7BG,IAAAA,WAAW,EAAE,IAAuB,IAAA;MAAA,IAAtB;QAAErF,MAAF;AAAUc,QAAAA,KAAAA;OAAY,GAAA,IAAA,CAAA;AAClC,MAAA,MAAMoE,QAAQ,GAAGrE,YAAY,CAACC,KAAD,EAAQd,MAAR,CAA7B,CAAA;AAEAmF,MAAAA,MAAM,CAACC,MAAP,CAActE,KAAd,EAAqBoE,QAArB,CAAA,CAAA;KAlD2B;IAoD7BI,aAAa,EAAE,MAAOC,SAAP,IAAqB;MAClC,IAAIA,SAAS,CAAC5F,OAAV,IAAqB,OAAO6F,QAAP,KAAoB,WAA7C,EAA0D;QACxDD,SAAS,CAAC5F,OAAV,EAAA,CADwD;AAGzD,OAAA;;AAED,MAAA,OAAO4F,SAAP,CAAA;AACD,KAAA;GA3DH,CAAA,CAAA,CAAA;AA8DA,EAAA,OAAOlB,UAAP,CAAA;AACD,CAAA;AAWM,SAASoB,cAAT,CAGoE,KAAA,EAAA;EAAA,IAAzE;IAAE1B,QAAF;AAAY/D,IAAAA,MAAAA;GAA6D,GAAA,KAAA;AAAA,MAAlDmC,IAAkD,GAAAuD,sDAAA,CAAA,KAAA,EAAA,UAAA,CAAA,CAAA;;EACzE1F,MAAM,CAAC2F,MAAP,CAAcxD,IAAd,CAAA,CAAA;EAEA7B,qBAAqB,CAACN,MAAD,CAArB,CAAA;EACAjB,gBAAK,CAAC6G,SAAN,CAAgB,MAAM;IACpBC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAAA,CAAA;IACA,OAAO9F,MAAM,CAAC+F,KAAP,EAAP,CAAA;GAFF,EAGG,CAAC/F,MAAD,CAHH,CAAA,CAAA;EAKA,oBACEjB,gBAAA,CAAA,aAAA,CAAC,aAAD,CAAe,QAAf,EAAA;AAAwB,IAAA,KAAK,EAAE;AAAEiB,MAAAA,MAAM,EAAEA,MAAAA;AAAV,KAAA;AAA/B,GAAA,eACEjB,+BAAC,eAAD,EAAA;AAAiB,IAAA,KAAK,EAAEiB,MAAM,CAACU,KAAP,CAAaoE,OAAAA;GAClCf,EAAAA,QADH,WACGA,QADH,gBACehF,+BAAC,MAAD,EAAA,IAAA,CADf,CADF,CADF,CAAA;AAOD,CAAA;AAEM,SAASkB,SAAT,GAAuC;AAC5C,EAAA,MAAM+F,KAAK,GAAGjH,gBAAK,CAACkH,UAAN,CAAiB7F,aAAjB,CAAd,CAAA;AACA8F,EAAAA,aAAO,CAAC,CAACF,KAAF,EAAS,qDAAT,CAAP,CAAA;AAEA1F,EAAAA,qBAAqB,CAAC0F,KAAK,CAAChG,MAAP,CAArB,CAAA;EAEA,OAAOgG,KAAK,CAAChG,MAAb,CAAA;AACD,CAAA;AAEM,SAAS4E,UAAT,GAAoC;AACzC,EAAA,OAAO7F,gBAAK,CAACkH,UAAN,CAAiB/F,cAAjB,CAAP,CAAA;AACD,CAAA;AAEM,SAASuE,QAAT,CAILtD,OAJK,EAKLP,IALK,EAgBW;EAChB,MAAMZ,MAAM,GAAGC,SAAS,EAAxB,CAAA;AACA,EAAA,OAAOD,MAAM,CAACyE,QAAP,CAAgBtD,OAAhB,EAAgCP,IAAhC,CAAP,CAAA;AACD,CAAA;AAEM,SAASuF,eAAT,GAGL;AAAA,EAAA,IAAA,YAAA,CAAA;;AACA,EAAA,MAAMxB,YAAY,GAAGC,CAAAA,YAAAA,GAAAA,UAAU,EAAb,KAAG,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAe,CAAf,CAArB,CAAA;EAEAtD,eAAS,CAACqD,YAAD,EAAT,iCAAA,CAAA,CAAA;AAEA,EAAA,OAAOA,YAAP,CAAA;AACD,CAAA;AAEM,SAAS5D,QAAT,CAGLI,OAHK,EAIwE;EAC7E,MAAMnB,MAAM,GAAGC,SAAS,EAAxB,CAAA;AACA,EAAA,OAAOD,MAAM,CAACe,QAAP,CAAgBI,OAAhB,CAAP,CAAA;AACD,CAAA;AAEM,SAASI,SAAT,CACLnC,KADK,EAE0C;EAC/C,MAAMY,MAAM,GAAGC,SAAS,EAAxB,CAAA;AACA,EAAA,OAAOD,MAAM,CAACuB,SAAP,CAAiBnC,KAAjB,CAAP,CAAA;AACD,CAAA;AAEM,SAAS4E,UAAT,CACL5E,KADK,EAEQ;EACb,MAAMY,MAAM,GAAGC,SAAS,EAAxB,CAAA;EACA,oBAAOlB,gBAAK,CAACS,aAAN,CAAoBQ,MAAM,CAACgE,UAA3B,EAAuC5E,KAAvC,CAAP,CAAA;AACD,CAAA;AAEM,SAASgH,MAAT,GAAkB;AAAA,EAAA,IAAA,KAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA;;EACvB,MAAMpG,MAAM,GAAGC,SAAS,EAAxB,CAAA;AACA,EAAA,MAAM6E,OAAO,GAAGF,UAAU,GAAGyB,KAAb,CAAmB,CAAnB,CAAhB,CAAA;AACA,EAAA,MAAMxB,KAAK,GAAGC,OAAO,CAAC,CAAD,CAArB,CAAA;EAEA,MAAMwB,cAAc,GAAGvH,gBAAK,CAACwH,WAAN,CAAkB,MAAM,IAAxB,EAA8B,EAA9B,CAAvB,CAAA;;EAEA,IAAI,CAAC1B,KAAL,EAAY;AACV,IAAA,OAAO,IAAP,CAAA;AACD,GAAA;;AAED,EAAA,MAAM2B,gBAAgB,GAAA,CAAA,KAAA,GAAA,CAAA,qBAAA,GAAI3B,KAAK,CAAC4B,EAAN,CAASC,gBAAb,KACpB1G,IAAAA,GAAAA,qBAAAA,GAAAA,MAAM,CAACwB,OAAP,CAAemF,uBADK,oBAEpBL,cAFF,CAAA;AAIA,EAAA,MAAMM,cAAc,GAAA,CAAA,qBAAA,GAClB/B,KAAK,CAAC4B,EAAN,CAASG,cADS,KAAA,IAAA,GAAA,qBAAA,GACS5G,MAAM,CAACwB,OAAP,CAAeqF,qBAD5C,CAAA;AAGA,EAAA,oBACE9H,+BAAC,eAAD,EAAA;AAAiB,IAAA,KAAK,EAAE+F,OAAAA;GACtB,eAAA/F,gBAAA,CAAA,aAAA,CAACA,gBAAD,CAAO,QAAP,EAAA;IAAgB,QAAQ,eAAEA,+BAAC,gBAAD,EAAA,IAAA,CAAA;AAA1B,GAAA,eACEA,+BAAC,aAAD,EAAA;AAAe,IAAA,cAAc,EAAE6H,cAAAA;AAA/B,GAAA,EAEI,CAAC,MAAuB;AACtB,IAAA,IAAI/B,KAAK,CAACiC,MAAN,KAAiB,OAArB,EAA8B;MAC5B,MAAMjC,KAAK,CAACkC,KAAZ,CAAA;AACD,KAAA;;AAED,IAAA,IAAIlC,KAAK,CAACiC,MAAN,KAAiB,SAArB,EAAgC;AAAA,MAAA,IAAA,KAAA,EAAA,KAAA,CAAA;;AAC9B,MAAA,oBAAO/H,gBAAK,CAACS,aAAN,CACJqF,CAAAA,KAAAA,GAAAA,CAAAA,KAAAA,GAAAA,KAAK,CAAC4B,EAAN,CAASlB,SADL,KAAA,IAAA,GAAA,KAAA,GAEHvF,MAAM,CAACwB,OAAP,CAAewF,gBAFZ,KAAA,IAAA,GAAA,KAAA,GAGHZ,MAHG,CAAP,CAAA;AAKD,KAAA;;AAEDP,IAAAA,OAAO,CAACC,GAAR,CAAYjB,KAAK,CAACoC,OAAlB,EAA2B,SAA3B,CAAA,CAAA;AACA,IAAA,MAAMpC,KAAK,CAAC4B,EAAN,CAASS,WAAf,CAAA;GAdF,GAFJ,CADF,CADF,CADF,CAAA;AA0BD,CAAA;;AAED,MAAMC,aAAN,SAA4BpI,gBAAK,CAACqI,SAAlC,CAGG;AAAA,EAAA,WAAA,GAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA,CAAA;AAAA,IAAA,IAAA,CACD1G,KADC,GACO;AACNqG,MAAAA,KAAK,EAAE,KAAA;KAFR,CAAA;AAAA,GAAA;;AAIDM,EAAAA,iBAAiB,CAACN,KAAD,EAAaO,IAAb,EAAwB;IACvCzB,OAAO,CAACkB,KAAR,CAAcA,KAAd,CAAA,CAAA;AAEA,IAAA,IAAA,CAAKQ,QAAL,CAAc;MACZR,KADY;AAEZO,MAAAA,IAAAA;KAFF,CAAA,CAAA;AAID,GAAA;;AACDE,EAAAA,MAAM,GAAG;AAAA,IAAA,IAAA,qBAAA,CAAA;;AACP,IAAA,MAAMZ,cAAc,GAAG,CAAA,qBAAA,GAAA,IAAA,CAAKxH,KAAL,CAAWwH,cAAd,oCAAgCa,oBAApD,CAAA;;AAEA,IAAA,IAAI,IAAK/G,CAAAA,KAAL,CAAWqG,KAAf,EAAsB;MACpB,oBAAOhI,gBAAK,CAACS,aAAN,CAAoBoH,cAApB,EAAoC,IAAA,CAAKlG,KAAzC,CAAP,CAAA;AACD,KAAA;;IAED,OAAO,IAAA,CAAKtB,KAAL,CAAW2E,QAAlB,CAAA;AACD,GAAA;;AApBA,CAAA;;AAuBI,SAAS0D,oBAAT,CAAyD,KAAA,EAAA;EAAA,IAA3B;AAAEV,IAAAA,KAAAA;GAAyB,GAAA,KAAA,CAAA;EAC9D,oBACEhI,gBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,KAAK,EAAE;AAAE2I,MAAAA,OAAO,EAAE,OAAX;AAAoBC,MAAAA,QAAQ,EAAE,MAAA;AAA9B,KAAA;GACV,eAAA5I,gBAAA,CAAA,aAAA,CAAA,QAAA,EAAA;AAAQ,IAAA,KAAK,EAAE;AAAE6I,MAAAA,QAAQ,EAAE,QAAA;AAAZ,KAAA;AAAf,GAAA,EAAA,uBAAA,CADF,eAEE7I,gBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,KAAK,EAAE;AAAE8I,MAAAA,MAAM,EAAE,OAAA;AAAV,KAAA;AAAZ,GAAA,CAFF,eAGE9I,gBACE,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA,eAAAA,gBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA,EACGgI,KAAK,CAACe,OAAN,gBACC/I,gBAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACL6I,MAAAA,QAAQ,EAAE,MADL;AAELG,MAAAA,MAAM,EAAE,eAFH;AAGLC,MAAAA,YAAY,EAAE,QAHT;AAILN,MAAAA,OAAO,EAAE,OAJJ;AAKLO,MAAAA,KAAK,EAAE,KAAA;AALF,KAAA;GAQNlB,EAAAA,KAAK,CAACe,OATT,CADD,GAYG,IAbN,CADF,CAHF,CADF,CAAA;AAuBD,CAAA;AAEM,SAASI,SAAT,CAAmBJ,OAAnB,EAAoCK,IAApC,EAA+D;EACpE,MAAMnI,MAAM,GAAGC,SAAS,EAAxB,CAAA;EAEAlB,gBAAK,CAAC6G,SAAN,CAAgB,MAAM;IACpB,IAAI,CAACuC,IAAL,EAAW,OAAA;IAEX,IAAIC,OAAO,GAAGpI,MAAM,CAACqI,OAAP,CAAeC,KAAf,CAAsBC,UAAD,IAAgB;AACjD,MAAA,IAAIC,MAAM,CAACC,OAAP,CAAeX,OAAf,CAAJ,EAA6B;QAC3BM,OAAO,EAAA,CAAA;AACPG,QAAAA,UAAU,CAACG,KAAX,EAAA,CAAA;AACD,OAHD,MAGO;QACL1I,MAAM,CAAC2I,QAAP,CAAgBC,QAAhB,GAA2BJ,MAAM,CAACG,QAAP,CAAgBC,QAA3C,CAAA;AACD,OAAA;AACF,KAPa,CAAd,CAAA;AASA,IAAA,OAAOR,OAAP,CAAA;AACD,GAbD,EAaG,CAACD,IAAD,EAAOQ,QAAP,EAAiBb,OAAjB,CAbH,CAAA,CAAA;AAcD,CAAA;AAEM,SAASe,MAAT,CAA0D,KAAA,EAAA;EAAA,IAA1C;IAAEf,OAAF;IAAWK,IAAX;AAAiBpE,IAAAA,QAAAA;GAAyB,GAAA,KAAA,CAAA;EAC/DmE,SAAS,CAACJ,OAAD,EAAUK,IAAV,WAAUA,IAAV,GAAkB,IAAlB,CAAT,CAAA;AACA,EAAA,OAAQpE,QAAR,IAAA,IAAA,GAAQA,QAAR,GAAoB,IAApB,CAAA;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/index.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\n\nimport {\n AnyRoute,\n CheckId,\n rootRouteId,\n Route,\n RouterContext,\n RouterState,\n ToIdOption,\n UnionToIntersection,\n} from '@tanstack/router-core'\nimport {\n warning,\n RouterOptions,\n RouteMatch,\n MatchRouteOptions,\n RouteConfig,\n AnyRouteConfig,\n AnyAllRouteInfo,\n DefaultAllRouteInfo,\n functionalUpdate,\n createRouter,\n AnyRouteInfo,\n AllRouteInfo,\n RouteInfo,\n ValidFromPath,\n LinkOptions,\n RouteInfoByPath,\n ResolveRelativePath,\n NoInfer,\n ToOptions,\n invariant,\n Router,\n} from '@tanstack/router-core'\n\nexport * from '@tanstack/router-core'\n\nexport interface RegisterRouter {\n // router: Router\n}\n\nexport type RegisteredRouter = RegisterRouter extends {\n router: Router<infer TRouteConfig, infer TAllRouteInfo>\n}\n ? Router<TRouteConfig, TAllRouteInfo>\n : Router\n\nexport type RegisteredAllRouteInfo = RegisterRouter extends {\n router: Router<infer TRouteConfig, infer TAllRouteInfo>\n}\n ? TAllRouteInfo\n : AnyAllRouteInfo\n\nexport type SyncRouteComponent = (props?: {}) => JSX.Element | React.ReactNode\n\nexport type RouteComponent = SyncRouteComponent & {\n preload?: () => Promise<SyncRouteComponent>\n}\n\nexport function lazy(\n importer: () => Promise<{ default: SyncRouteComponent }>,\n): RouteComponent {\n const lazyComp = React.lazy(importer as any)\n let promise: Promise<SyncRouteComponent>\n let resolvedComp: SyncRouteComponent\n\n const forwardedComp = React.forwardRef((props, ref) => {\n const resolvedCompRef = React.useRef(resolvedComp || lazyComp)\n return React.createElement(\n resolvedCompRef.current as any,\n { ...(ref ? { ref } : {}), ...props } as any,\n )\n })\n\n const finalComp = forwardedComp as unknown as RouteComponent\n\n finalComp.preload = () => {\n if (!promise) {\n promise = importer().then((module) => {\n resolvedComp = module.default\n return resolvedComp\n })\n }\n\n return promise\n }\n\n return finalComp\n}\n\ntype LinkPropsOptions<\n TAllRouteInfo extends AnyAllRouteInfo,\n TFrom extends ValidFromPath<TAllRouteInfo>,\n TTo extends string,\n> = LinkOptions<TAllRouteInfo, TFrom, TTo> & {\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}\n\ntype MakeMatchRouteOptions<\n TAllRouteInfo extends AnyAllRouteInfo,\n TFrom extends ValidFromPath<TAllRouteInfo>,\n TTo extends string,\n> = ToOptions<TAllRouteInfo, TFrom, TTo> &\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 | React.ReactNode\n | ((\n params: RouteInfoByPath<\n TAllRouteInfo,\n ResolveRelativePath<TFrom, NoInfer<TTo>>\n >['allParams'],\n ) => React.ReactNode)\n }\n\ntype MakeLinkPropsOptions<\n TAllRouteInfo extends AnyAllRouteInfo,\n TFrom extends ValidFromPath<TAllRouteInfo>,\n TTo extends string,\n> = LinkPropsOptions<TAllRouteInfo, TFrom, TTo> &\n React.AnchorHTMLAttributes<HTMLAnchorElement>\n\ntype MakeLinkOptions<\n TAllRouteInfo extends AnyAllRouteInfo,\n TFrom extends ValidFromPath<TAllRouteInfo>,\n TTo extends string,\n> = LinkPropsOptions<TAllRouteInfo, TFrom, TTo> &\n React.AnchorHTMLAttributes<HTMLAnchorElement> &\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\ndeclare module '@tanstack/router-core' {\n interface FrameworkGenerics {\n Component: RouteComponent\n }\n\n interface RouterOptions<TRouteConfig extends AnyRouteConfig> {\n useContext?: () => RouterContext\n }\n\n interface Router<\n TRouteConfig extends AnyRouteConfig = RouteConfig,\n TAllRouteInfo extends AnyAllRouteInfo = AllRouteInfo<TRouteConfig>,\n > {\n useState: () => RouterState\n useRoute: <TId extends keyof TAllRouteInfo['routeInfoById']>(\n routeId: TId,\n ) => Route<TAllRouteInfo, TAllRouteInfo['routeInfoById'][TId]>\n useNearestMatch: () => RouteMatch<TAllRouteInfo, RouteInfo>\n useMatch: <\n TId extends keyof TAllRouteInfo['routeInfoById'],\n TStrict extends boolean = true,\n >(\n routeId: TId,\n opts?: { strict?: TStrict },\n ) => TStrict extends true\n ? RouteMatch<TAllRouteInfo, TAllRouteInfo['routeInfoById'][TId]>\n :\n | RouteMatch<TAllRouteInfo, TAllRouteInfo['routeInfoById'][TId]>\n | undefined\n linkProps: <TTo extends string = '.'>(\n props: MakeLinkPropsOptions<TAllRouteInfo, '/', TTo>,\n ) => React.AnchorHTMLAttributes<HTMLAnchorElement>\n Link: <TTo extends string = '.'>(\n props: MakeLinkOptions<TAllRouteInfo, '/', TTo>,\n ) => JSX.Element\n MatchRoute: <TTo extends string = '.'>(\n props: MakeMatchRouteOptions<TAllRouteInfo, '/', TTo>,\n ) => JSX.Element\n }\n\n interface Route<\n TAllRouteInfo extends AnyAllRouteInfo = DefaultAllRouteInfo,\n TRouteInfo extends AnyRouteInfo = RouteInfo,\n > {\n useRoute: <\n TTo extends string = '.',\n TResolved extends string = ResolveRelativePath<\n TRouteInfo['id'],\n NoInfer<TTo>\n >,\n >(\n routeId: CheckId<\n TAllRouteInfo,\n TResolved,\n ToIdOption<TAllRouteInfo, TRouteInfo['id'], TTo>\n >,\n opts?: { strict?: boolean },\n ) => Route<TAllRouteInfo, TAllRouteInfo['routeInfoById'][TResolved]>\n linkProps: <TTo extends string = '.'>(\n props: MakeLinkPropsOptions<TAllRouteInfo, TRouteInfo['fullPath'], TTo>,\n ) => React.AnchorHTMLAttributes<HTMLAnchorElement>\n Link: <TTo extends string = '.'>(\n props: MakeLinkOptions<TAllRouteInfo, TRouteInfo['fullPath'], TTo>,\n ) => JSX.Element\n MatchRoute: <TTo extends string = '.'>(\n props: MakeMatchRouteOptions<TAllRouteInfo, TRouteInfo['fullPath'], TTo>,\n ) => JSX.Element\n }\n}\n\nexport type PromptProps = {\n message: string\n when?: boolean | any\n children?: React.ReactNode\n}\n\n//\n\nexport function Link<TTo extends string = '.'>(\n props: MakeLinkOptions<RegisteredAllRouteInfo, '/', TTo>,\n): JSX.Element {\n const router = useRouter()\n return <router.Link {...(props as any)} />\n}\n\nexport const matchesContext = React.createContext<RouteMatch[]>(null!)\nexport const routerContext = React.createContext<{ router: RegisteredRouter }>(\n null!,\n)\n\nexport type MatchesProviderProps = {\n value: RouteMatch[]\n children: React.ReactNode\n}\n\nexport function MatchesProvider(props: MatchesProviderProps) {\n return <matchesContext.Provider {...props} />\n}\n\nconst useRouterSubscription = (router: Router<any, any>) => {\n useSyncExternalStore(\n (cb) => router.subscribe(() => cb()),\n () => router.state,\n () => router.state,\n )\n}\n\nexport function createReactRouter<\n TRouteConfig extends AnyRouteConfig = RouteConfig,\n>(opts: RouterOptions<TRouteConfig>): Router<TRouteConfig> {\n const makeRouteExt = (\n route: AnyRoute,\n router: Router<any, any>,\n ): Pick<AnyRoute, 'useRoute' | 'linkProps' | 'Link' | 'MatchRoute'> => {\n return {\n useRoute: (subRouteId = '.' as any) => {\n const resolvedRouteId = router.resolvePath(\n route.routeId,\n subRouteId as string,\n )\n const resolvedRoute = router.getRoute(resolvedRouteId)\n useRouterSubscription(router)\n invariant(\n resolvedRoute,\n `Could not find a route for route \"${\n resolvedRouteId as string\n }\"! Did you forget to add it to your route config?`,\n )\n return resolvedRoute\n },\n linkProps: (options) => {\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 preload,\n preloadDelay,\n preloadMaxAge,\n replace,\n // element props\n style,\n className,\n onClick,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n onTouchStart,\n onTouchEnd,\n ...rest\n } = options\n\n const linkInfo = route.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 isActive,\n next,\n } = linkInfo\n\n const reactHandleClick = (e: Event) => {\n React.startTransition(() => {\n handleClick(e)\n })\n }\n\n const composeHandlers =\n (handlers: (undefined | ((e: any) => void))[]) =>\n (e: React.SyntheticEvent) => {\n e.persist()\n handlers.forEach((handler) => {\n if (handler) handler(e)\n })\n }\n\n // Get the active props\n const resolvedActiveProps: React.HTMLAttributes<HTMLAnchorElement> =\n isActive ? functionalUpdate(activeProps, {}) ?? {} : {}\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 ? undefined : next.href,\n onClick: composeHandlers([reactHandleClick, onClick]),\n onFocus: composeHandlers([handleFocus, onFocus]),\n onMouseEnter: composeHandlers([handleEnter, onMouseEnter]),\n onMouseLeave: composeHandlers([handleLeave, onMouseLeave]),\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 Link: React.forwardRef((props: any, ref) => {\n const linkProps = route.linkProps(props)\n\n useRouterSubscription(router)\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 MatchRoute: (opts) => {\n const { pending, caseSensitive, children, ...rest } = opts\n\n const params = route.matchRoute(rest as any, {\n pending,\n caseSensitive,\n })\n\n if (!params) {\n return null\n }\n\n return typeof opts.children === 'function'\n ? opts.children(params as any)\n : (opts.children as any)\n },\n }\n }\n\n const coreRouter = createRouter<TRouteConfig>({\n ...opts,\n createRouter: (router) => {\n const routerExt: Pick<Router<any, any>, 'useMatch' | 'useState'> = {\n useState: () => {\n useRouterSubscription(router)\n return router.state\n },\n useMatch: (routeId, opts) => {\n useRouterSubscription(router)\n\n invariant(\n routeId !== rootRouteId,\n `\"${rootRouteId}\" cannot be used with useMatch! Did you mean to useRoute(\"${rootRouteId}\")?`,\n )\n\n const runtimeMatch = useMatches()?.[0]!\n const match = router.state.matches.find((d) => d.routeId === routeId)\n\n if (opts?.strict ?? true) {\n invariant(\n match,\n `Could not find an active match for \"${routeId as string}\"!`,\n )\n\n invariant(\n runtimeMatch.routeId == match?.routeId,\n `useMatch(\"${\n match?.routeId as string\n }\") is being called in a component that is meant to render the '${\n runtimeMatch.routeId\n }' route. Did you mean to 'useMatch(\"${\n match?.routeId as string\n }\", { strict: false })' or 'useRoute(\"${\n match?.routeId as string\n }\")' instead?`,\n )\n }\n\n return match as any\n },\n }\n\n const routeExt = makeRouteExt(router.getRoute(rootRouteId), router)\n\n Object.assign(router, routerExt, routeExt)\n },\n createRoute: ({ router, route }) => {\n const routeExt = makeRouteExt(route, router)\n\n Object.assign(route, routeExt)\n },\n loadComponent: async (component) => {\n if (component.preload && typeof document !== 'undefined') {\n component.preload()\n // return await component.preload()\n }\n\n return component as any\n },\n })\n\n return coreRouter as any\n}\n\nexport type RouterProps<\n TRouteConfig extends AnyRouteConfig = RouteConfig,\n TAllRouteInfo extends AnyAllRouteInfo = DefaultAllRouteInfo,\n> = RouterOptions<TRouteConfig> & {\n router: Router<TRouteConfig, TAllRouteInfo>\n // Children will default to `<Outlet />` if not provided\n children?: React.ReactNode\n}\n\nexport function RouterProvider<\n TRouteConfig extends AnyRouteConfig = RouteConfig,\n TAllRouteInfo extends AnyAllRouteInfo = DefaultAllRouteInfo,\n>({ children, router, ...rest }: RouterProps<TRouteConfig, TAllRouteInfo>) {\n router.update(rest)\n\n const defaultRouterContext = React.useRef({})\n\n const userContext =\n router.options.useContext?.() ?? defaultRouterContext.current\n\n router.context = userContext\n\n useRouterSubscription(router)\n React.useEffect(() => {\n return router.mount()\n }, [router])\n\n return (\n <routerContext.Provider value={{ router: router as any }}>\n <MatchesProvider value={router.state.matches}>\n {children ?? <Outlet />}\n </MatchesProvider>\n </routerContext.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\n useRouterSubscription(value.router)\n\n return value.router\n}\n\nexport function useMatches(): RouteMatch[] {\n return React.useContext(matchesContext)\n}\n\nexport function useMatch<\n TId extends keyof RegisteredAllRouteInfo['routeInfoById'],\n TStrict extends boolean = true,\n>(\n routeId: TId,\n opts?: { strict?: TStrict },\n): TStrict extends true\n ? RouteMatch<\n RegisteredAllRouteInfo,\n RegisteredAllRouteInfo['routeInfoById'][TId]\n >\n :\n | RouteMatch<\n RegisteredAllRouteInfo,\n RegisteredAllRouteInfo['routeInfoById'][TId]\n >\n | undefined {\n const router = useRouter()\n return router.useMatch(routeId as any, opts) as any\n}\n\nexport function useNearestMatch(): RouteMatch<\n RegisteredAllRouteInfo,\n RouteInfo\n> {\n const runtimeMatch = useMatches()?.[0]!\n\n invariant(runtimeMatch, `Could not find a nearest match!`)\n\n return runtimeMatch as any\n}\n\nexport function useRoute<\n TId extends keyof RegisteredAllRouteInfo['routeInfoById'],\n>(\n routeId: TId,\n): Route<RegisteredAllRouteInfo, RegisteredAllRouteInfo['routeInfoById'][TId]> {\n const router = useRouter()\n return router.useRoute(routeId as any) as any\n}\n\nexport function useSearch<\n TId extends keyof RegisteredAllRouteInfo['routeInfoById'] = keyof RegisteredAllRouteInfo['routeInfoById'],\n>(_routeId?: TId): RegisteredAllRouteInfo['fullSearchSchema'] {\n return useRouter().state.location.search\n}\n\nexport function linkProps<TTo extends string = '.'>(\n props: MakeLinkPropsOptions<RegisteredAllRouteInfo, '/', TTo>,\n): React.AnchorHTMLAttributes<HTMLAnchorElement> {\n const router = useRouter()\n return router.linkProps(props as any)\n}\n\nexport function MatchRoute<TTo extends string = '.'>(\n props: MakeMatchRouteOptions<RegisteredAllRouteInfo, '/', TTo>,\n): JSX.Element {\n const router = useRouter()\n return React.createElement(router.MatchRoute, props as any)\n}\n\nexport function Outlet() {\n const router = useRouter()\n const matches = useMatches().slice(1)\n const match = matches[0]\n\n const defaultPending = React.useCallback(() => null, [])\n\n if (!match) {\n return null\n }\n\n const PendingComponent = (match.__.pendingComponent ??\n router.options.defaultPendingComponent ??\n defaultPending) as any\n\n const errorComponent =\n match.__.errorComponent ?? router.options.defaultErrorComponent\n\n return (\n <MatchesProvider value={matches}>\n <React.Suspense fallback={<PendingComponent />}>\n <CatchBoundary errorComponent={errorComponent}>\n {\n ((): React.ReactNode => {\n if (match.status === 'error') {\n throw match.error\n }\n\n if (match.status === 'success') {\n return React.createElement(\n (match.__.component as any) ??\n router.options.defaultComponent ??\n Outlet,\n )\n }\n throw match.__.loadPromise\n })() as JSX.Element\n }\n </CatchBoundary>\n </React.Suspense>\n </MatchesProvider>\n )\n}\n\nclass CatchBoundary extends React.Component<{\n children: any\n errorComponent: any\n}> {\n state = {\n error: false,\n }\n componentDidCatch(error: any, info: any) {\n console.error(error)\n\n this.setState({\n error,\n info,\n })\n }\n render() {\n const errorComponent = this.props.errorComponent ?? DefaultErrorBoundary\n\n if (this.state.error) {\n return React.createElement(errorComponent, this.state)\n }\n\n return this.props.children\n }\n}\n\nexport function DefaultErrorBoundary({ error }: { error: any }) {\n return (\n <div style={{ padding: '.5rem', maxWidth: '100%' }}>\n <strong style={{ fontSize: '1.2rem' }}>Something went wrong!</strong>\n <div style={{ height: '.5rem' }} />\n <div>\n <pre>\n {error.message ? (\n <code\n style={{\n fontSize: '.7em',\n border: '1px solid red',\n borderRadius: '.25rem',\n padding: '.5rem',\n color: 'red',\n }}\n >\n {error.message}\n </code>\n ) : null}\n </pre>\n </div>\n </div>\n )\n}\n\nexport function usePrompt(message: string, when: boolean | any): void {\n const router = useRouter()\n\n React.useEffect(() => {\n if (!when) return\n\n let unblock = router.history.block((transition) => {\n if (window.confirm(message)) {\n unblock()\n transition.retry()\n } else {\n router.location.pathname = window.location.pathname\n }\n })\n\n return unblock\n }, [when, location, message])\n}\n\nexport function Prompt({ message, when, children }: PromptProps) {\n usePrompt(message, when ?? true)\n return (children ?? null) as React.ReactNode\n}\n"],"names":["lazy","importer","lazyComp","React","promise","resolvedComp","forwardedComp","forwardRef","props","ref","resolvedCompRef","useRef","createElement","current","finalComp","preload","then","module","default","Link","router","useRouter","matchesContext","createContext","routerContext","MatchesProvider","useRouterSubscription","useSyncExternalStore","cb","subscribe","state","createReactRouter","opts","makeRouteExt","route","useRoute","subRouteId","resolvedRouteId","resolvePath","routeId","resolvedRoute","getRoute","invariant","linkProps","options","target","activeProps","className","inactiveProps","disabled","style","onClick","onFocus","onMouseEnter","onMouseLeave","rest","linkInfo","buildLink","type","href","handleClick","handleFocus","handleEnter","handleLeave","isActive","next","reactHandleClick","e","startTransition","composeHandlers","handlers","persist","forEach","handler","resolvedActiveProps","functionalUpdate","resolvedInactiveProps","_extends","undefined","filter","Boolean","join","role","children","MatchRoute","pending","caseSensitive","params","matchRoute","coreRouter","createRouter","routerExt","useState","useMatch","rootRouteId","runtimeMatch","useMatches","match","matches","find","d","strict","routeExt","Object","assign","createRoute","loadComponent","component","document","RouterProvider","_objectWithoutPropertiesLoose","update","defaultRouterContext","userContext","useContext","context","useEffect","mount","value","warning","useNearestMatch","useSearch","_routeId","location","search","Outlet","slice","defaultPending","useCallback","PendingComponent","__","pendingComponent","defaultPendingComponent","errorComponent","defaultErrorComponent","status","error","defaultComponent","loadPromise","CatchBoundary","Component","componentDidCatch","info","console","setState","render","DefaultErrorBoundary","padding","maxWidth","fontSize","height","message","border","borderRadius","color","usePrompt","when","unblock","history","block","transition","window","confirm","retry","pathname","Prompt"],"mappings":"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"}
@@ -846,12 +846,6 @@ function invariant(condition, message) {
846
846
  throw new Error(value);
847
847
  }
848
848
 
849
- // type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (
850
- // k: infer I,
851
- // ) => any
852
- // ? I
853
- // : never
854
-
855
849
  /**
856
850
  * This function returns `a` if `b` is deeply equal.
857
851
  * If not, it will replace any deeply equal children of `b` with those of `a`.
@@ -1073,10 +1067,7 @@ function matchPathname(currentPathname, matchLocation) {
1073
1067
 
1074
1068
  if (matchLocation.to && !pathParams) {
1075
1069
  return;
1076
- } // if (matchLocation.search && !searchMatched) {
1077
- // return
1078
- // }
1079
-
1070
+ }
1080
1071
 
1081
1072
  return pathParams != null ? pathParams : {};
1082
1073
  }
@@ -1686,6 +1677,7 @@ function createRouter(userOptions) {
1686
1677
  options: originalOptions,
1687
1678
  listeners: [],
1688
1679
  // Resolved after construction
1680
+ context: {},
1689
1681
  basepath: '',
1690
1682
  routeTree: undefined,
1691
1683
  routesById: {},
@@ -1830,7 +1822,19 @@ function createRouter(userOptions) {
1830
1822
 
1831
1823
  const matches = router.matchRoutes(router.location.pathname, {
1832
1824
  strictParseParams: true
1833
- });
1825
+ }); // Check if each match middleware to see if the route can be accessed
1826
+
1827
+ try {
1828
+ await Promise.all(matches.map(match => match.options.beforeLoad == null ? void 0 : match.options.beforeLoad({
1829
+ context: router.context
1830
+ })));
1831
+ } catch (err) {
1832
+ if (err != null && err.then) {
1833
+ await new Promise(() => {});
1834
+ }
1835
+
1836
+ throw err;
1837
+ }
1834
1838
 
1835
1839
  if (typeof document !== 'undefined') {
1836
1840
  router.state = _extends({}, router.state, {
@@ -1900,7 +1904,7 @@ function createRouter(userOptions) {
1900
1904
  });
1901
1905
  });
1902
1906
  entering.forEach(d => {
1903
- d.__.onExit = d.options.onMatch == null ? void 0 : d.options.onMatch({
1907
+ d.__.onExit = d.options.onLoaded == null ? void 0 : d.options.onLoaded({
1904
1908
  params: d.params,
1905
1909
  search: d.search
1906
1910
  });