@tanstack/react-router 0.0.1-beta.185 → 0.0.1-beta.187

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.
@@ -114,6 +114,8 @@ function useLinkProps(options) {
114
114
  search,
115
115
  params,
116
116
  to = '.',
117
+ state,
118
+ mask,
117
119
  preload,
118
120
  preloadDelay,
119
121
  replace,
@@ -169,7 +171,7 @@ function useLinkProps(options) {
169
171
  ...resolvedActiveProps,
170
172
  ...resolvedInactiveProps,
171
173
  ...rest,
172
- href: disabled ? undefined : next.href,
174
+ href: disabled ? undefined : next.maskedLocation ? next.maskedLocation.href : next.href,
173
175
  onClick: composeHandlers([onClick, handleReactClick]),
174
176
  onFocus: composeHandlers([onFocus, handleFocus]),
175
177
  onMouseEnter: composeHandlers([onMouseEnter, handleEnter]),
@@ -236,11 +238,25 @@ function Matches() {
236
238
  return state.renderedMatchIds;
237
239
  }
238
240
  });
241
+ const locationKey = useRouterState({
242
+ select: d => d.resolvedLocation.state?.key
243
+ });
244
+ const route = router.getRoute(rootRouteId);
245
+ const errorComponent = React.useCallback(props => {
246
+ return /*#__PURE__*/React.createElement(ErrorComponent, {
247
+ ...props,
248
+ useMatch: route.useMatch,
249
+ useContext: route.useContext,
250
+ useRouteContext: route.useRouteContext,
251
+ useSearch: route.useSearch,
252
+ useParams: route.useParams
253
+ });
254
+ }, [route]);
239
255
  return /*#__PURE__*/React.createElement(matchIdsContext.Provider, {
240
256
  value: [undefined, ...matchIds]
241
257
  }, /*#__PURE__*/React.createElement(CatchBoundary, {
242
- errorComponent: ErrorComponent,
243
- route: router.getRoute(rootRouteId),
258
+ resetKey: locationKey,
259
+ errorComponent: errorComponent,
244
260
  onCatch: () => {
245
261
  warning(false, `Error in router! Consider setting an 'errorComponent' in your RootRoute! 👍`);
246
262
  }
@@ -364,10 +380,23 @@ function Match({
364
380
  const matchId = matchIds[0];
365
381
  const routeId = router.getRouteMatch(matchId).routeId;
366
382
  const route = router.getRoute(routeId);
383
+ const locationKey = useRouterState({
384
+ select: s => s.resolvedLocation.state?.key
385
+ });
367
386
  const PendingComponent = route.options.pendingComponent ?? router.options.defaultPendingComponent ?? defaultPending;
368
- const errorComponent = route.options.errorComponent ?? router.options.defaultErrorComponent ?? ErrorComponent;
387
+ const routeErrorComponent = route.options.errorComponent ?? router.options.defaultErrorComponent ?? ErrorComponent;
369
388
  const ResolvedSuspenseBoundary = route.options.wrapInSuspense ?? !route.isRoot ? React.Suspense : SafeFragment;
370
- const ResolvedCatchBoundary = !!errorComponent ? CatchBoundary : SafeFragment;
389
+ const ResolvedCatchBoundary = !!routeErrorComponent ? CatchBoundary : SafeFragment;
390
+ const errorComponent = React.useCallback(props => {
391
+ return /*#__PURE__*/React.createElement(routeErrorComponent, {
392
+ ...props,
393
+ useMatch: route.useMatch,
394
+ useContext: route.useContext,
395
+ useRouteContext: route.useRouteContext,
396
+ useSearch: route.useSearch,
397
+ useParams: route.useParams
398
+ });
399
+ }, [route]);
371
400
  return /*#__PURE__*/React.createElement(matchIdsContext.Provider, {
372
401
  value: matchIds
373
402
  }, /*#__PURE__*/React.createElement(ResolvedSuspenseBoundary, {
@@ -379,9 +408,8 @@ function Match({
379
408
  useParams: route.useParams
380
409
  })
381
410
  }, /*#__PURE__*/React.createElement(ResolvedCatchBoundary, {
382
- key: route.id,
411
+ resetKey: locationKey,
383
412
  errorComponent: errorComponent,
384
- route: route,
385
413
  onCatch: () => {
386
414
  warning(false, `Error in route match: ${matchId}`);
387
415
  }
@@ -457,57 +485,45 @@ function useHydrate() {
457
485
  // there has to be a better way to reset error boundaries when the
458
486
  // router's location key changes.
459
487
 
460
- class CatchBoundary extends React.Component {
461
- state = {
462
- error: false,
463
- info: undefined
464
- };
465
- componentDidCatch(error, info) {
466
- this.props.onCatch(error, info);
467
- this.setState({
468
- error,
469
- info
470
- });
471
- }
472
- render() {
473
- return /*#__PURE__*/React.createElement(CatchBoundaryInner, _extends({}, this.props, {
474
- errorState: this.state,
475
- reset: () => this.setState({})
476
- }));
477
- }
478
- }
479
- function CatchBoundaryInner(props) {
480
- const locationKey = useRouterState({
481
- select: d => d.resolvedLocation.key
482
- });
483
- const [activeErrorState, setActiveErrorState] = React.useState(props.errorState);
488
+ function CatchBoundary(props) {
484
489
  const errorComponent = props.errorComponent ?? ErrorComponent;
485
- const prevKeyRef = React.useRef('');
486
- React.useEffect(() => {
487
- if (activeErrorState) {
488
- if (locationKey !== prevKeyRef.current) {
489
- setActiveErrorState({});
490
+ return /*#__PURE__*/React.createElement(CatchBoundaryImpl, {
491
+ resetKey: props.resetKey,
492
+ onCatch: props.onCatch,
493
+ children: ({
494
+ error
495
+ }) => {
496
+ if (error) {
497
+ return /*#__PURE__*/React.createElement(errorComponent, {
498
+ error
499
+ });
490
500
  }
501
+ return props.children;
491
502
  }
492
- prevKeyRef.current = locationKey;
493
- }, [activeErrorState, locationKey]);
494
- React.useEffect(() => {
495
- if (props.errorState.error) {
496
- setActiveErrorState(props.errorState);
503
+ });
504
+ }
505
+ class CatchBoundaryImpl extends React.Component {
506
+ state = {
507
+ error: null
508
+ };
509
+ static getDerivedStateFromError(error) {
510
+ return {
511
+ error
512
+ };
513
+ }
514
+ componentDidUpdate(prevProps, prevState) {
515
+ if (prevState.error && prevProps.resetKey !== this.props.resetKey) {
516
+ this.setState({
517
+ error: null
518
+ });
497
519
  }
498
- // props.reset()
499
- }, [props.errorState.error]);
500
- if (props.errorState.error && activeErrorState.error) {
501
- return /*#__PURE__*/React.createElement(errorComponent, {
502
- ...activeErrorState,
503
- useMatch: props.route.useMatch,
504
- useContext: props.route.useContext,
505
- useRouteContext: props.route.useRouteContext,
506
- useSearch: props.route.useSearch,
507
- useParams: props.route.useParams
508
- });
509
520
  }
510
- return props.children;
521
+ componentDidCatch(error) {
522
+ this.props.onCatch?.(error);
523
+ }
524
+ render() {
525
+ return this.props.children(this.state);
526
+ }
511
527
  }
512
528
  function ErrorComponent({
513
529
  error
@@ -633,5 +649,5 @@ function Await(props) {
633
649
  return props.children(...awaited);
634
650
  }
635
651
 
636
- export { Await, Block, ErrorComponent, Link, MatchRoute, Navigate, Outlet, RouterProvider, ScrollRestoration, lazyRouteComponent, matchIdsContext, routerContext, shallow, useAwaited, useBlocker, useDehydrate, useHydrate, useInjectHtml, useLinkProps, useLoader, useMatch, useMatchRoute, useMatches, useNavigate, useParams, useRouteContext, useRouter, useRouterContext, useRouterState, useScrollRestoration, useSearch };
652
+ export { Await, Block, CatchBoundary, CatchBoundaryImpl, ErrorComponent, Link, MatchRoute, Navigate, Outlet, RouterProvider, ScrollRestoration, lazyRouteComponent, matchIdsContext, routerContext, shallow, useAwaited, useBlocker, useDehydrate, useHydrate, useInjectHtml, useLinkProps, useLoader, useMatch, useMatchRoute, useMatches, useNavigate, useParams, useRouteContext, useRouter, useRouterContext, useRouterState, useScrollRestoration, useSearch };
637
653
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/react.tsx","../../src/scroll-restoration.tsx","../../src/awaited.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 MergeParamsFromParent,\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} from '@tanstack/router-core'\n\ndeclare module '@tanstack/router-core' {\n interface RegisterRouteComponent<\n TLoader = unknown,\n TFullSearchSchema extends AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = 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 AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = AnyContext,\n > {\n ErrorRouteComponent: RouteComponent<\n ErrorRouteProps<TFullSearchSchema, TAllParams, TRouteContext, TAllContext>\n >\n }\n\n interface RegisterPendingRouteComponent<\n TFullSearchSchema extends AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = 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 TLoader = unknown,\n TSearchSchema extends RouteConstraints['TSearchSchema'] = {},\n TFullSearchSchema extends RouteConstraints['TFullSearchSchema'] = ResolveFullSearchSchema<\n TParentRoute,\n TSearchSchema\n >,\n TParams extends RouteConstraints['TParams'] = Record<\n ParsePathParams<TPath>,\n string\n >,\n TAllParams extends RouteConstraints['TAllParams'] = MergeParamsFromParent<\n TParentRoute['types']['allParams'],\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'] = MergeParamsFromParent<\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 AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = AnyContext,\n > {\n RouteProps: RouteProps<\n TLoader,\n TFullSearchSchema,\n TAllParams,\n TRouteContext,\n TAllContext\n >\n }\n\n interface RegisterPendingRouteProps<\n TFullSearchSchema extends AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = AnyContext,\n > {\n PendingRouteProps: PendingRouteProps<\n TFullSearchSchema,\n TAllParams,\n TRouteContext,\n TAllContext\n >\n }\n\n interface RegisterErrorRouteProps<\n TFullSearchSchema extends AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = AnyContext,\n > {\n ErrorRouteProps: ErrorRouteProps\n }\n}\n\nexport type RouteProps<\n TLoader = unknown,\n TFullSearchSchema extends AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = 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 AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = 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 AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = 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 TFrom extends RoutePaths<RegisteredRouter['routeTree']> = '/',\n TTo extends string = '',\n> = LinkOptions<RegisteredRouter['routeTree'], 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 // 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 TFrom extends RoutePaths<RegisteredRouter['routeTree']> = '/',\n TTo extends string = '',\n> = ToOptions<RegisteredRouter['routeTree'], TFrom, TTo> & MatchRouteOptions\n\nexport type MakeMatchRouteOptions<\n TFrom extends RoutePaths<RegisteredRouter['routeTree']> = '/',\n TTo extends string = '',\n> = ToOptions<RegisteredRouter['routeTree'], 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 | ((\n params?: RouteByPath<\n RegisteredRouter['routeTree'],\n ResolveRelativePath<TFrom, NoInfer<TTo>>\n >['types']['allParams'],\n ) => ReactNode)\n | React.ReactNode\n }\n\nexport type MakeLinkPropsOptions<\n TFrom extends string = '/',\n TTo extends string = '',\n> = LinkPropsOptions<TFrom, TTo> & React.AnchorHTMLAttributes<HTMLAnchorElement>\n\nexport type MakeLinkOptions<\n TFrom extends RoutePaths<RegisteredRouter['routeTree']> = '/',\n TTo extends string = '',\n> = LinkPropsOptions<TFrom, TTo> &\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 TFrom extends string = '/',\n TTo extends string = '',\n>(\n options: MakeLinkPropsOptions<TFrom, TTo>,\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 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 ? undefined : 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 TFrom extends RoutePaths<RegisteredRouter['routeTree']> = '/',\n TTo extends string = '',\n >(\n props: MakeLinkOptions<TFrom, TTo> &\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 TFrom extends RoutePaths<RegisteredRouter['routeTree']> = '/',\n TTo extends string = '',\n>(props: NavigateOptions<RegisteredRouter['routeTree'], TFrom, TTo>): 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 return (\n <matchIdsContext.Provider value={[undefined!, ...matchIds]}>\n <CatchBoundary\n errorComponent={ErrorComponent}\n route={router.getRoute(rootRouteId)}\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 TFrom extends RouteIds<RegisteredRouter['routeTree']>,\n TStrict extends boolean = true,\n TRouteMatchState = RouteMatch<\n RegisteredRouter['routeTree'],\n RouteById<RegisteredRouter['routeTree'], TFrom>\n >,\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<T> = T extends ParseRoute<\n RegisteredRouter['routeTree']\n>\n ? T\n : T extends RouteIds<RegisteredRouter['routeTree']>\n ? RoutesById<RegisteredRouter['routeTree']>[T]\n : T extends string\n ? RouteIds<RegisteredRouter['routeTree']>\n : never\n\nexport function useLoader<\n TFrom extends RouteIds<RegisteredRouter['routeTree']>,\n TStrict extends boolean = true,\n TLoader = RouteById<RegisteredRouter['routeTree'], 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 TFrom extends RouteIds<RegisteredRouter['routeTree']>,\n TStrict extends boolean = true,\n TContext = RouteById<\n RegisteredRouter['routeTree'],\n TFrom\n >['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 TFrom extends RouteIds<RegisteredRouter['routeTree']>,\n TStrict extends boolean = true,\n TRouteContext = RouteById<\n RegisteredRouter['routeTree'],\n TFrom\n >['types']['routeContext'],\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.routeContext as TRouteContext)\n : match.routeContext,\n })\n}\n\nexport function useSearch<\n TFrom extends RouteIds<RegisteredRouter['routeTree']>,\n TStrict extends boolean = true,\n TSearch = RouteById<\n RegisteredRouter['routeTree'],\n TFrom\n >['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 TFrom extends RouteIds<RegisteredRouter['routeTree']> = '/',\n TDefaultSelected = AllParams<RegisteredRouter['routeTree']> &\n RouteById<RegisteredRouter['routeTree'], 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 TDefaultFrom extends RoutePaths<RegisteredRouter['routeTree']> = '/',\n>(defaultOpts?: { from?: TDefaultFrom }) {\n const router = useRouter()\n return React.useCallback(\n <\n TFrom extends RoutePaths<RegisteredRouter['routeTree']> = TDefaultFrom,\n TTo extends string = '',\n >(\n opts?: NavigateOptions<RegisteredRouter['routeTree'], TFrom, TTo>,\n ) => {\n return router.navigate({ ...defaultOpts, ...(opts as any) })\n },\n [],\n )\n}\n\nexport function useMatchRoute() {\n const router = useRouter()\n\n return React.useCallback(\n <TFrom extends string = '/', TTo extends string = ''>(\n opts: MakeUseMatchRouteOptions<TFrom, TTo>,\n ) => {\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<TFrom extends string = '/', TTo extends string = ''>(\n props: MakeMatchRouteOptions<TFrom, TTo>,\n): any {\n const matchRoute = useMatchRoute()\n const params = matchRoute(props)\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\n const PendingComponent = (route.options.pendingComponent ??\n router.options.defaultPendingComponent ??\n defaultPending) as any\n\n const errorComponent =\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 = !!errorComponent ? CatchBoundary : SafeFragment\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 key={route.id}\n errorComponent={errorComponent}\n route={route}\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\nclass CatchBoundary extends React.Component<{\n children: any\n errorComponent: any\n route: AnyRoute\n onCatch: (error: any, info: any) => void\n}> {\n state = {\n error: false,\n info: undefined,\n }\n componentDidCatch(error: any, info: any) {\n this.props.onCatch(error, info)\n this.setState({\n error,\n info,\n })\n }\n render() {\n return (\n <CatchBoundaryInner\n {...this.props}\n errorState={this.state}\n reset={() => this.setState({})}\n />\n )\n }\n}\n\nfunction CatchBoundaryInner(props: {\n children: any\n errorComponent: any\n route: AnyRoute\n errorState: { error: unknown; info: any }\n reset: () => void\n}) {\n const locationKey = useRouterState({\n select: (d) => d.resolvedLocation.key,\n })\n\n const [activeErrorState, setActiveErrorState] = React.useState(\n props.errorState,\n )\n const errorComponent = props.errorComponent ?? ErrorComponent\n const prevKeyRef = React.useRef('' as any)\n\n React.useEffect(() => {\n if (activeErrorState) {\n if (locationKey !== prevKeyRef.current) {\n setActiveErrorState({} as any)\n }\n }\n\n prevKeyRef.current = locationKey\n }, [activeErrorState, locationKey])\n\n React.useEffect(() => {\n if (props.errorState.error) {\n setActiveErrorState(props.errorState)\n }\n // props.reset()\n }, [props.errorState.error])\n\n if (props.errorState.error && activeErrorState.error) {\n return React.createElement(errorComponent, {\n ...activeErrorState,\n useMatch: props.route.useMatch,\n useContext: props.route.useContext,\n useRouteContext: props.route.useRouteContext,\n useSearch: props.route.useSearch,\n useParams: props.route.useParams,\n })\n }\n\n return props.children\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","import * as React from 'react'\nimport {\n ScrollRestorationOptions,\n restoreScrollPositions,\n watchScrollPositions,\n} from '@tanstack/router-core'\nimport { useRouter } from './react'\n\nconst useLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport function useScrollRestoration(options?: ScrollRestorationOptions) {\n const router = useRouter()\n\n useLayoutEffect(() => {\n return watchScrollPositions(router, options)\n }, [])\n\n useLayoutEffect(() => {\n restoreScrollPositions(router, options)\n })\n}\n\nexport function ScrollRestoration(props: ScrollRestorationOptions) {\n useScrollRestoration(props)\n return null\n}\n","import { DeferredPromise, isDehydratedDeferred } from '@tanstack/router-core'\nimport { useRouter } from './react'\n\nexport type AwaitOptions<T> = {\n promise: DeferredPromise<T>\n}\n\nexport function useAwaited<T>({ promise }: AwaitOptions<T>): [T] {\n const router = useRouter()\n\n let state = promise.__deferredState\n const key = `__TSR__DEFERRED__${state.uid}`\n\n if (isDehydratedDeferred(promise)) {\n state = router.hydrateData(key)!\n promise = Promise.resolve(state.data) as DeferredPromise<any>\n promise.__deferredState = state\n }\n\n if (state.status === 'pending') {\n throw promise\n }\n\n if (state.status === 'error') {\n throw state.error\n }\n\n router.dehydrateData(key, state)\n\n return [state.data]\n}\n\nexport function Await<T>(\n props: AwaitOptions<T> & {\n children: (result: T) => JSX.Element\n },\n) {\n const awaited = useAwaited(props)\n return props.children(...awaited)\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","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","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","state","renderedMatchIds","CatchBoundary","errorComponent","ErrorComponent","getRoute","rootRouteId","onCatch","warning","Outlet","useMatches","matches","renderedMatches","slice","findIndex","nearestMatchId","nearestMatchRouteId","getRouteMatch","routeId","matchRouteId","match","find","strict","invariant","matchSelection","loaderData","useRouterContext","last","useNavigate","defaultOpts","useCallback","useMatchRoute","pending","caseSensitive","matchRoute","MatchRoute","Match","defaultPending","matchId","PendingComponent","pendingComponent","defaultPendingComponent","defaultErrorComponent","ResolvedSuspenseBoundary","wrapInSuspense","isRoot","Suspense","SafeFragment","ResolvedCatchBoundary","fallback","key","MatchInner","matchesById","pick","status","error","component","defaultComponent","useInjectHtml","html","injectHtml","useDehydrate","dehydrate","data","dehydrateData","useHydrate","hydrate","hydrateData","Component","info","componentDidCatch","setState","render","CatchBoundaryInner","errorState","reset","locationKey","resolvedLocation","activeErrorState","setActiveErrorState","useState","prevKeyRef","useRef","current","show","setShow","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","useScrollRestoration","watchScrollPositions","restoreScrollPositions","ScrollRestoration","useAwaited","promise","__deferredState","uid","isDehydratedDeferred","Promise","resolve","Await","awaited"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/react.tsx","../../src/scroll-restoration.tsx","../../src/awaited.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\nconst useLayoutEffect =\n typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\ndeclare module '@tanstack/router-core' {\n interface RegisterRouteComponent<\n TLoader = unknown,\n TFullSearchSchema extends AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = 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 AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = AnyContext,\n > {\n ErrorRouteComponent: RouteComponent<\n ErrorRouteProps<TFullSearchSchema, TAllParams, TRouteContext, TAllContext>\n >\n }\n\n interface RegisterPendingRouteComponent<\n TFullSearchSchema extends AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = 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 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 AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = AnyContext,\n > {\n RouteProps: RouteProps<\n TLoader,\n TFullSearchSchema,\n TAllParams,\n TRouteContext,\n TAllContext\n >\n }\n\n interface RegisterPendingRouteProps<\n TFullSearchSchema extends AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = AnyContext,\n > {\n PendingRouteProps: PendingRouteProps<\n TFullSearchSchema,\n TAllParams,\n TRouteContext,\n TAllContext\n >\n }\n\n interface RegisterErrorRouteProps<\n TFullSearchSchema extends AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = AnyContext,\n > {\n ErrorRouteProps: ErrorRouteProps\n }\n}\n\nexport type RouteProps<\n TLoader = unknown,\n TFullSearchSchema extends AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = 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 AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = 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 AnySearchSchema = AnySearchSchema,\n TAllParams extends AnyPathParams = AnyPathParams,\n TRouteContext extends AnyContext = AnyContext,\n TAllContext extends AnyContext = 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<\n RegisteredRouter['routeTree'],\n TFrom,\n TTo,\n TMaskFrom,\n TMaskTo\n> & {\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<RegisteredRouter['routeTree'], 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 RegisteredRouter['routeTree'],\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>(\n props: NavigateOptions<\n RegisteredRouter['routeTree'],\n TFrom,\n TTo,\n TMaskFrom,\n TMaskTo\n >,\n): 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 TFrom extends RouteIds<RegisteredRouter['routeTree']>,\n TStrict extends boolean = true,\n TRouteMatchState = RouteMatch<\n RegisteredRouter['routeTree'],\n RouteById<RegisteredRouter['routeTree'], TFrom>\n >,\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<T> = T extends ParseRoute<\n RegisteredRouter['routeTree']\n>\n ? T\n : T extends RouteIds<RegisteredRouter['routeTree']>\n ? RoutesById<RegisteredRouter['routeTree']>[T]\n : T extends string\n ? RouteIds<RegisteredRouter['routeTree']>\n : never\n\nexport function useLoader<\n TFrom extends RouteIds<RegisteredRouter['routeTree']>,\n TStrict extends boolean = true,\n TLoader = RouteById<RegisteredRouter['routeTree'], 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 TFrom extends RouteIds<RegisteredRouter['routeTree']>,\n TStrict extends boolean = true,\n TContext = RouteById<\n RegisteredRouter['routeTree'],\n TFrom\n >['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 TFrom extends RouteIds<RegisteredRouter['routeTree']>,\n TStrict extends boolean = true,\n TRouteContext = RouteById<\n RegisteredRouter['routeTree'],\n TFrom\n >['types']['routeContext'],\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.routeContext as TRouteContext)\n : match.routeContext,\n })\n}\n\nexport function useSearch<\n TFrom extends RouteIds<RegisteredRouter['routeTree']>,\n TStrict extends boolean = true,\n TSearch = RouteById<\n RegisteredRouter['routeTree'],\n TFrom\n >['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 TFrom extends RouteIds<RegisteredRouter['routeTree']> = '/',\n TDefaultSelected = AllParams<RegisteredRouter['routeTree']> &\n RouteById<RegisteredRouter['routeTree'], 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<\n RegisteredRouter['routeTree'],\n TFrom,\n TTo,\n TMaskFrom,\n TMaskTo\n >,\n ) => {\n return router.navigate({ ...defaultOpts, ...(opts as any) })\n },\n [],\n )\n}\n\nexport function useMatchRoute() {\n const router = useRouter()\n\n return React.useCallback(\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 opts: MakeUseMatchRouteOptions<\n TRouteTree,\n TFrom,\n TTo,\n TMaskFrom,\n TMaskTo\n >,\n ) => {\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","import * as React from 'react'\nimport {\n ScrollRestorationOptions,\n restoreScrollPositions,\n watchScrollPositions,\n} from '@tanstack/router-core'\nimport { useRouter } from './react'\n\nconst useLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport function useScrollRestoration(options?: ScrollRestorationOptions) {\n const router = useRouter()\n\n useLayoutEffect(() => {\n return watchScrollPositions(router, options)\n }, [])\n\n useLayoutEffect(() => {\n restoreScrollPositions(router, options)\n })\n}\n\nexport function ScrollRestoration(props: ScrollRestorationOptions) {\n useScrollRestoration(props)\n return null\n}\n","import { DeferredPromise, isDehydratedDeferred } from '@tanstack/router-core'\nimport { useRouter } from './react'\n\nexport type AwaitOptions<T> = {\n promise: DeferredPromise<T>\n}\n\nexport function useAwaited<T>({ promise }: AwaitOptions<T>): [T] {\n const router = useRouter()\n\n let state = promise.__deferredState\n const key = `__TSR__DEFERRED__${state.uid}`\n\n if (isDehydratedDeferred(promise)) {\n state = router.hydrateData(key)!\n promise = Promise.resolve(state.data) as DeferredPromise<any>\n promise.__deferredState = state\n }\n\n if (state.status === 'pending') {\n throw promise\n }\n\n if (state.status === 'error') {\n throw state.error\n }\n\n router.dehydrateData(key, state)\n\n return [state.data]\n}\n\nexport function Await<T>(\n props: AwaitOptions<T> & {\n children: (result: T) => JSX.Element\n },\n) {\n const awaited = useAwaited(props)\n return props.children(...awaited)\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","useScrollRestoration","watchScrollPositions","restoreScrollPositions","ScrollRestoration","useAwaited","promise","__deferredState","uid","isDehydratedDeferred","Promise","resolve","Await","awaited"],"mappings":"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"}
@@ -4024,7 +4024,7 @@ var drawChart = (function (exports) {
4024
4024
  </script>
4025
4025
  <script>
4026
4026
  /*<!--*/
4027
- const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.production.js","children":[{"name":"node_modules/.pnpm","children":[{"name":"@tanstack+store@0.0.1/node_modules/@tanstack/store/build/esm/index.js","uid":"4e91-137"},{"name":"@tanstack+react-store@0.0.1/node_modules/@tanstack/react-store/build/esm/index.js","uid":"4e91-139"},{"name":"tiny-invariant@1.3.1/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","uid":"4e91-141"},{"name":"tiny-warning@1.0.3/node_modules/tiny-warning/dist/tiny-warning.esm.js","uid":"4e91-143"}]},{"name":"packages","children":[{"name":"router-core/build/esm/index.js","uid":"4e91-145"},{"name":"react-router/src","children":[{"uid":"4e91-149","name":"react.tsx"},{"uid":"4e91-151","name":"scroll-restoration.tsx"},{"uid":"4e91-153","name":"awaited.tsx"},{"uid":"4e91-155","name":"index.tsx"}]}]},{"uid":"4e91-147","name":"\u0000rollupPluginBabelHelpers.js"}]}],"isRoot":true},"nodeParts":{"4e91-137":{"renderedLength":1843,"gzipLength":644,"brotliLength":0,"mainUid":"4e91-136"},"4e91-139":{"renderedLength":1006,"gzipLength":479,"brotliLength":0,"mainUid":"4e91-138"},"4e91-141":{"renderedLength":181,"gzipLength":129,"brotliLength":0,"mainUid":"4e91-140"},"4e91-143":{"renderedLength":44,"gzipLength":62,"brotliLength":0,"mainUid":"4e91-142"},"4e91-145":{"renderedLength":64450,"gzipLength":15232,"brotliLength":0,"mainUid":"4e91-144"},"4e91-147":{"renderedLength":429,"gzipLength":238,"brotliLength":0,"mainUid":"4e91-146"},"4e91-149":{"renderedLength":17084,"gzipLength":3790,"brotliLength":0,"mainUid":"4e91-148"},"4e91-151":{"renderedLength":466,"gzipLength":228,"brotliLength":0,"mainUid":"4e91-150"},"4e91-153":{"renderedLength":641,"gzipLength":305,"brotliLength":0,"mainUid":"4e91-152"},"4e91-155":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"4e91-154"}},"nodeMetas":{"4e91-136":{"id":"/node_modules/.pnpm/@tanstack+store@0.0.1/node_modules/@tanstack/store/build/esm/index.js","moduleParts":{"index.production.js":"4e91-137"},"imported":[],"importedBy":[{"uid":"4e91-138"},{"uid":"4e91-144"}]},"4e91-138":{"id":"/node_modules/.pnpm/@tanstack+react-store@0.0.1/node_modules/@tanstack/react-store/build/esm/index.js","moduleParts":{"index.production.js":"4e91-139"},"imported":[{"uid":"4e91-156"},{"uid":"4e91-136"}],"importedBy":[{"uid":"4e91-154"},{"uid":"4e91-148"}]},"4e91-140":{"id":"/node_modules/.pnpm/tiny-invariant@1.3.1/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","moduleParts":{"index.production.js":"4e91-141"},"imported":[],"importedBy":[{"uid":"4e91-144"},{"uid":"4e91-148"}]},"4e91-142":{"id":"/node_modules/.pnpm/tiny-warning@1.0.3/node_modules/tiny-warning/dist/tiny-warning.esm.js","moduleParts":{"index.production.js":"4e91-143"},"imported":[],"importedBy":[{"uid":"4e91-144"},{"uid":"4e91-148"}]},"4e91-144":{"id":"/packages/router-core/build/esm/index.js","moduleParts":{"index.production.js":"4e91-145"},"imported":[{"uid":"4e91-140"},{"uid":"4e91-142"},{"uid":"4e91-136"}],"importedBy":[{"uid":"4e91-154"},{"uid":"4e91-148"},{"uid":"4e91-150"},{"uid":"4e91-152"}]},"4e91-146":{"id":"\u0000rollupPluginBabelHelpers.js","moduleParts":{"index.production.js":"4e91-147"},"imported":[],"importedBy":[{"uid":"4e91-148"}]},"4e91-148":{"id":"/packages/react-router/src/react.tsx","moduleParts":{"index.production.js":"4e91-149"},"imported":[{"uid":"4e91-146"},{"uid":"4e91-157"},{"uid":"4e91-138"},{"uid":"4e91-140"},{"uid":"4e91-142"},{"uid":"4e91-144"}],"importedBy":[{"uid":"4e91-154"},{"uid":"4e91-150"},{"uid":"4e91-152"}]},"4e91-150":{"id":"/packages/react-router/src/scroll-restoration.tsx","moduleParts":{"index.production.js":"4e91-151"},"imported":[{"uid":"4e91-157"},{"uid":"4e91-144"},{"uid":"4e91-148"}],"importedBy":[{"uid":"4e91-154"}]},"4e91-152":{"id":"/packages/react-router/src/awaited.tsx","moduleParts":{"index.production.js":"4e91-153"},"imported":[{"uid":"4e91-144"},{"uid":"4e91-148"}],"importedBy":[{"uid":"4e91-154"}]},"4e91-154":{"id":"/packages/react-router/src/index.tsx","moduleParts":{"index.production.js":"4e91-155"},"imported":[{"uid":"4e91-138"},{"uid":"4e91-144"},{"uid":"4e91-148"},{"uid":"4e91-150"},{"uid":"4e91-152"}],"importedBy":[],"isEntry":true},"4e91-156":{"id":"use-sync-external-store/shim/with-selector","moduleParts":{},"imported":[],"importedBy":[{"uid":"4e91-138"}],"isExternal":true},"4e91-157":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"4e91-148"},{"uid":"4e91-150"}],"isExternal":true}},"env":{"rollup":"2.79.1"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
4027
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.production.js","children":[{"name":"node_modules/.pnpm","children":[{"name":"@tanstack+store@0.0.1/node_modules/@tanstack/store/build/esm/index.js","uid":"a2e4-137"},{"name":"@tanstack+react-store@0.0.1/node_modules/@tanstack/react-store/build/esm/index.js","uid":"a2e4-139"},{"name":"tiny-invariant@1.3.1/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","uid":"a2e4-141"},{"name":"tiny-warning@1.0.3/node_modules/tiny-warning/dist/tiny-warning.esm.js","uid":"a2e4-143"}]},{"name":"packages","children":[{"name":"router-core/build/esm/index.js","uid":"a2e4-145"},{"name":"react-router/src","children":[{"uid":"a2e4-149","name":"react.tsx"},{"uid":"a2e4-151","name":"scroll-restoration.tsx"},{"uid":"a2e4-153","name":"awaited.tsx"},{"uid":"a2e4-155","name":"index.tsx"}]}]},{"uid":"a2e4-147","name":"\u0000rollupPluginBabelHelpers.js"}]}],"isRoot":true},"nodeParts":{"a2e4-137":{"renderedLength":1843,"gzipLength":644,"brotliLength":0,"mainUid":"a2e4-136"},"a2e4-139":{"renderedLength":1006,"gzipLength":479,"brotliLength":0,"mainUid":"a2e4-138"},"a2e4-141":{"renderedLength":181,"gzipLength":129,"brotliLength":0,"mainUid":"a2e4-140"},"a2e4-143":{"renderedLength":44,"gzipLength":62,"brotliLength":0,"mainUid":"a2e4-142"},"a2e4-145":{"renderedLength":68401,"gzipLength":16167,"brotliLength":0,"mainUid":"a2e4-144"},"a2e4-147":{"renderedLength":429,"gzipLength":238,"brotliLength":0,"mainUid":"a2e4-146"},"a2e4-149":{"renderedLength":17461,"gzipLength":3782,"brotliLength":0,"mainUid":"a2e4-148"},"a2e4-151":{"renderedLength":466,"gzipLength":228,"brotliLength":0,"mainUid":"a2e4-150"},"a2e4-153":{"renderedLength":641,"gzipLength":305,"brotliLength":0,"mainUid":"a2e4-152"},"a2e4-155":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"a2e4-154"}},"nodeMetas":{"a2e4-136":{"id":"/node_modules/.pnpm/@tanstack+store@0.0.1/node_modules/@tanstack/store/build/esm/index.js","moduleParts":{"index.production.js":"a2e4-137"},"imported":[],"importedBy":[{"uid":"a2e4-138"},{"uid":"a2e4-144"}]},"a2e4-138":{"id":"/node_modules/.pnpm/@tanstack+react-store@0.0.1/node_modules/@tanstack/react-store/build/esm/index.js","moduleParts":{"index.production.js":"a2e4-139"},"imported":[{"uid":"a2e4-156"},{"uid":"a2e4-136"}],"importedBy":[{"uid":"a2e4-154"},{"uid":"a2e4-148"}]},"a2e4-140":{"id":"/node_modules/.pnpm/tiny-invariant@1.3.1/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","moduleParts":{"index.production.js":"a2e4-141"},"imported":[],"importedBy":[{"uid":"a2e4-144"},{"uid":"a2e4-148"}]},"a2e4-142":{"id":"/node_modules/.pnpm/tiny-warning@1.0.3/node_modules/tiny-warning/dist/tiny-warning.esm.js","moduleParts":{"index.production.js":"a2e4-143"},"imported":[],"importedBy":[{"uid":"a2e4-144"},{"uid":"a2e4-148"}]},"a2e4-144":{"id":"/packages/router-core/build/esm/index.js","moduleParts":{"index.production.js":"a2e4-145"},"imported":[{"uid":"a2e4-140"},{"uid":"a2e4-142"},{"uid":"a2e4-136"}],"importedBy":[{"uid":"a2e4-154"},{"uid":"a2e4-148"},{"uid":"a2e4-150"},{"uid":"a2e4-152"}]},"a2e4-146":{"id":"\u0000rollupPluginBabelHelpers.js","moduleParts":{"index.production.js":"a2e4-147"},"imported":[],"importedBy":[{"uid":"a2e4-148"}]},"a2e4-148":{"id":"/packages/react-router/src/react.tsx","moduleParts":{"index.production.js":"a2e4-149"},"imported":[{"uid":"a2e4-146"},{"uid":"a2e4-157"},{"uid":"a2e4-138"},{"uid":"a2e4-140"},{"uid":"a2e4-142"},{"uid":"a2e4-144"}],"importedBy":[{"uid":"a2e4-154"},{"uid":"a2e4-150"},{"uid":"a2e4-152"}]},"a2e4-150":{"id":"/packages/react-router/src/scroll-restoration.tsx","moduleParts":{"index.production.js":"a2e4-151"},"imported":[{"uid":"a2e4-157"},{"uid":"a2e4-144"},{"uid":"a2e4-148"}],"importedBy":[{"uid":"a2e4-154"}]},"a2e4-152":{"id":"/packages/react-router/src/awaited.tsx","moduleParts":{"index.production.js":"a2e4-153"},"imported":[{"uid":"a2e4-144"},{"uid":"a2e4-148"}],"importedBy":[{"uid":"a2e4-154"}]},"a2e4-154":{"id":"/packages/react-router/src/index.tsx","moduleParts":{"index.production.js":"a2e4-155"},"imported":[{"uid":"a2e4-138"},{"uid":"a2e4-144"},{"uid":"a2e4-148"},{"uid":"a2e4-150"},{"uid":"a2e4-152"}],"importedBy":[],"isEntry":true},"a2e4-156":{"id":"use-sync-external-store/shim/with-selector","moduleParts":{},"imported":[],"importedBy":[{"uid":"a2e4-138"}],"isExternal":true},"a2e4-157":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"a2e4-148"},{"uid":"a2e4-150"}],"isExternal":true}},"env":{"rollup":"2.79.1"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
4028
4028
 
4029
4029
  const run = () => {
4030
4030
  const width = window.innerWidth;