@tanstack/react-router 1.0.0 → 1.0.2
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.
- package/build/cjs/RouterProvider.js +3 -1
- package/build/cjs/RouterProvider.js.map +1 -1
- package/build/cjs/link.js +4 -1
- package/build/cjs/link.js.map +1 -1
- package/build/cjs/router.js +5 -4
- package/build/cjs/router.js.map +1 -1
- package/build/cjs/useNavigate.js +9 -6
- package/build/cjs/useNavigate.js.map +1 -1
- package/build/esm/index.js +21 -12
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +367 -367
- package/build/types/index.d.ts +24 -932
- package/build/types/link.d.ts +1 -1
- package/build/types/useNavigate.d.ts +2 -2
- package/build/umd/index.development.js +21 -12
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +2 -2
- package/src/RouterProvider.tsx +3 -1
- package/src/link.tsx +13 -7
- package/src/router.ts +5 -4
- package/src/useNavigate.tsx +10 -8
- package/build/cjs/_virtual/with-selector.development.js +0 -16
- package/build/cjs/_virtual/with-selector.development.js.map +0 -1
- package/build/cjs/_virtual/with-selector.js +0 -16
- package/build/cjs/_virtual/with-selector.js.map +0 -1
- package/build/cjs/_virtual/with-selector.production.min.js +0 -16
- package/build/cjs/_virtual/with-selector.production.min.js.map +0 -1
- package/build/cjs/build/esm/index.js +0 -79
- package/build/cjs/build/esm/index.js.map +0 -1
- package/build/cjs/node_modules/.pnpm/@tanstack_react-store@0.2.1_react-dom@18.2.0_react@18.2.0/node_modules/@tanstack/react-store/build/modern/index.js +0 -47
- package/build/cjs/node_modules/.pnpm/@tanstack_react-store@0.2.1_react-dom@18.2.0_react@18.2.0/node_modules/@tanstack/react-store/build/modern/index.js.map +0 -1
- package/build/cjs/node_modules/.pnpm/@tanstack_store@0.1.3/node_modules/@tanstack/store/build/modern/index.js +0 -70
- package/build/cjs/node_modules/.pnpm/@tanstack_store@0.1.3/node_modules/@tanstack/store/build/modern/index.js.map +0 -1
- package/build/cjs/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.2.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +0 -188
- package/build/cjs/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.2.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +0 -1
- package/build/cjs/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.2.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +0 -39
- package/build/cjs/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.2.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +0 -1
- package/build/cjs/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.2.0/node_modules/use-sync-external-store/shim/with-selector.js +0 -26
- package/build/cjs/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.2.0/node_modules/use-sync-external-store/shim/with-selector.js.map +0 -1
- package/build/cjs/packages/react-router/src/CatchBoundary.js +0 -123
- package/build/cjs/packages/react-router/src/CatchBoundary.js.map +0 -1
- package/build/cjs/packages/react-router/src/Matches.js +0 -235
- package/build/cjs/packages/react-router/src/Matches.js.map +0 -1
- package/build/cjs/packages/react-router/src/RouterProvider.js +0 -144
- package/build/cjs/packages/react-router/src/RouterProvider.js.map +0 -1
- package/build/cjs/packages/react-router/src/awaited.js +0 -43
- package/build/cjs/packages/react-router/src/awaited.js.map +0 -1
- package/build/cjs/packages/react-router/src/defer.js +0 -37
- package/build/cjs/packages/react-router/src/defer.js.map +0 -1
- package/build/cjs/packages/react-router/src/fileRoute.js +0 -27
- package/build/cjs/packages/react-router/src/fileRoute.js.map +0 -1
- package/build/cjs/packages/react-router/src/index.js +0 -61
- package/build/cjs/packages/react-router/src/index.js.map +0 -1
- package/build/cjs/packages/react-router/src/lazyRouteComponent.js +0 -54
- package/build/cjs/packages/react-router/src/lazyRouteComponent.js.map +0 -1
- package/build/cjs/packages/react-router/src/link.js +0 -148
- package/build/cjs/packages/react-router/src/link.js.map +0 -1
- package/build/cjs/packages/react-router/src/path.js +0 -209
- package/build/cjs/packages/react-router/src/path.js.map +0 -1
- package/build/cjs/packages/react-router/src/qss.js +0 -63
- package/build/cjs/packages/react-router/src/qss.js.map +0 -1
- package/build/cjs/packages/react-router/src/react.js +0 -634
- package/build/cjs/packages/react-router/src/react.js.map +0 -1
- package/build/cjs/packages/react-router/src/redirects.js +0 -25
- package/build/cjs/packages/react-router/src/redirects.js.map +0 -1
- package/build/cjs/packages/react-router/src/route.js +0 -134
- package/build/cjs/packages/react-router/src/route.js.map +0 -1
- package/build/cjs/packages/react-router/src/router.js +0 -1111
- package/build/cjs/packages/react-router/src/router.js.map +0 -1
- package/build/cjs/packages/react-router/src/scroll-restoration.js +0 -53
- package/build/cjs/packages/react-router/src/scroll-restoration.js.map +0 -1
- package/build/cjs/packages/react-router/src/searchParams.js +0 -81
- package/build/cjs/packages/react-router/src/searchParams.js.map +0 -1
- package/build/cjs/packages/react-router/src/useBlocker.js +0 -61
- package/build/cjs/packages/react-router/src/useBlocker.js.map +0 -1
- package/build/cjs/packages/react-router/src/useNavigate.js +0 -75
- package/build/cjs/packages/react-router/src/useNavigate.js.map +0 -1
- package/build/cjs/packages/react-router/src/useParams.js +0 -26
- package/build/cjs/packages/react-router/src/useParams.js.map +0 -1
- package/build/cjs/packages/react-router/src/useSearch.js +0 -25
- package/build/cjs/packages/react-router/src/useSearch.js.map +0 -1
- package/build/cjs/packages/react-router/src/utils.js +0 -239
- package/build/cjs/packages/react-router/src/utils.js.map +0 -1
- package/build/cjs/react/CatchBoundary.js +0 -123
- package/build/cjs/react/CatchBoundary.js.map +0 -1
- package/build/cjs/react/awaited.js +0 -43
- package/build/cjs/react/awaited.js.map +0 -1
- package/build/cjs/react/defer.js +0 -37
- package/build/cjs/react/defer.js.map +0 -1
- package/build/cjs/react.js +0 -650
- package/build/cjs/react.js.map +0 -1
- package/build/cjs/routerConfig.js +0 -209
- package/build/cjs/routerConfig.js.map +0 -1
- package/build/cjs/src/CatchBoundary.js +0 -126
- package/build/cjs/src/CatchBoundary.js.map +0 -1
- package/build/cjs/src/Matches.js +0 -235
- package/build/cjs/src/Matches.js.map +0 -1
- package/build/cjs/src/RouterProvider.js +0 -1051
- package/build/cjs/src/RouterProvider.js.map +0 -1
- package/build/cjs/src/awaited.js +0 -45
- package/build/cjs/src/awaited.js.map +0 -1
- package/build/cjs/src/defer.js +0 -39
- package/build/cjs/src/defer.js.map +0 -1
- package/build/cjs/src/fileRoute.js +0 -29
- package/build/cjs/src/fileRoute.js.map +0 -1
- package/build/cjs/src/index.js +0 -134
- package/build/cjs/src/index.js.map +0 -1
- package/build/cjs/src/lazyRouteComponent.js +0 -57
- package/build/cjs/src/lazyRouteComponent.js.map +0 -1
- package/build/cjs/src/link.js +0 -151
- package/build/cjs/src/link.js.map +0 -1
- package/build/cjs/src/path.js +0 -211
- package/build/cjs/src/path.js.map +0 -1
- package/build/cjs/src/qss.js +0 -65
- package/build/cjs/src/qss.js.map +0 -1
- package/build/cjs/src/redirects.js +0 -27
- package/build/cjs/src/redirects.js.map +0 -1
- package/build/cjs/src/route.js +0 -139
- package/build/cjs/src/route.js.map +0 -1
- package/build/cjs/src/router.js +0 -203
- package/build/cjs/src/router.js.map +0 -1
- package/build/cjs/src/scroll-restoration.js +0 -186
- package/build/cjs/src/scroll-restoration.js.map +0 -1
- package/build/cjs/src/searchParams.js +0 -83
- package/build/cjs/src/searchParams.js.map +0 -1
- package/build/cjs/src/useBlocker.js +0 -64
- package/build/cjs/src/useBlocker.js.map +0 -1
- package/build/cjs/src/useNavigate.js +0 -78
- package/build/cjs/src/useNavigate.js.map +0 -1
- package/build/cjs/src/useParams.js +0 -28
- package/build/cjs/src/useParams.js.map +0 -1
- package/build/cjs/src/useSearch.js +0 -27
- package/build/cjs/src/useSearch.js.map +0 -1
- package/build/cjs/src/utils.js +0 -230
- package/build/cjs/src/utils.js.map +0 -1
- package/build/cjs/useStore.js +0 -99
- package/build/cjs/useStore.js.map +0 -1
- package/build/types/RouteMatch.d.ts +0 -23
- package/build/types/injectHtml.d.ts +0 -0
- package/build/types/react/CatchBoundary.d.ts +0 -33
- package/build/types/react/awaited.d.ts +0 -9
- package/build/types/react/defer.d.ts +0 -19
- package/build/types/react.d.ts +0 -141
- package/build/types/useStore.d.ts +0 -12
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Matches.js","sources":["../../../../../src/Matches.tsx"],"sourcesContent":["import * as React from 'react'\nimport invariant from 'tiny-invariant'\nimport warning from 'tiny-warning'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouter, useRouterState } from './RouterProvider'\nimport { ResolveRelativePath, ToOptions } from './link'\nimport { AnyRoute, ReactNode, rootRouteId } from './route'\nimport {\n FullSearchSchema,\n ParseRoute,\n RouteById,\n RouteByPath,\n RouteIds,\n RoutePaths,\n} from './routeInfo'\nimport { RegisteredRouter } from './router'\nimport { NoInfer, StrictOrFrom, pick } from './utils'\n\nexport interface RouteMatch<\n TRouteTree extends AnyRoute = AnyRoute,\n TRouteId extends RouteIds<TRouteTree> = ParseRoute<TRouteTree>['id'],\n> {\n id: string\n routeId: TRouteId\n pathname: string\n params: RouteById<TRouteTree, TRouteId>['types']['allParams']\n status: 'pending' | 'success' | 'error'\n isFetching: boolean\n showPending: boolean\n invalid: boolean\n error: unknown\n paramsError: unknown\n searchError: unknown\n updatedAt: number\n loadPromise?: Promise<void>\n loaderData?: RouteById<TRouteTree, TRouteId>['types']['loaderData']\n __resolveLoadPromise?: () => void\n context: RouteById<TRouteTree, TRouteId>['types']['allContext']\n search: FullSearchSchema<TRouteTree> &\n RouteById<TRouteTree, TRouteId>['types']['fullSearchSchema']\n fetchedAt: number\n shouldReloadDeps: any\n abortController: AbortController\n cause: 'enter' | 'stay'\n}\n\nexport type AnyRouteMatch = RouteMatch<any>\n\nexport function Matches() {\n const { routesById, state } = useRouter()\n const { matches } = state\n\n const locationKey = useRouterState().location.state.key\n\n const route = routesById[rootRouteId]!\n\n const errorComponent = React.useCallback(\n (props: any) => {\n return React.createElement(ErrorComponent, {\n ...props,\n useMatch: route.useMatch,\n useRouteContext: route.useRouteContext,\n useSearch: route.useSearch,\n useParams: route.useParams,\n })\n },\n [route],\n )\n\n return (\n <matchesContext.Provider value={matches}>\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 {matches.length ? <Match matches={matches} /> : null}\n </CatchBoundary>\n </matchesContext.Provider>\n )\n}\n\nfunction SafeFragment(props: any) {\n return <>{props.children}</>\n}\n\nexport function Match({ matches }: { matches: RouteMatch[] }) {\n const { options, routesById } = useRouter()\n const match = matches[0]!\n const routeId = match?.routeId\n const route = routesById[routeId]!\n const router = useRouter()\n const locationKey = router.latestLocation.state?.key\n // const locationKey = useRouterState().location.state?.key\n\n const PendingComponent = (route.options.pendingComponent ??\n options.defaultPendingComponent) as any\n\n const pendingElement = PendingComponent\n ? React.createElement(PendingComponent, {\n useMatch: route.useMatch,\n useRouteContext: route.useRouteContext,\n useSearch: route.useSearch,\n useParams: route.useParams,\n })\n : undefined\n\n const routeErrorComponent =\n route.options.errorComponent ??\n options.defaultErrorComponent ??\n ErrorComponent\n\n const ResolvedSuspenseBoundary =\n route.options.wrapInSuspense ?? pendingElement\n ? React.Suspense\n : SafeFragment\n\n const errorComponent = routeErrorComponent\n ? React.useCallback(\n (props: any) => {\n return React.createElement(routeErrorComponent, {\n ...props,\n useMatch: route.useMatch,\n useRouteContext: route.useRouteContext,\n useSearch: route.useSearch,\n useParams: route.useParams,\n })\n },\n [route],\n )\n : undefined\n\n const ResolvedCatchBoundary = errorComponent ? CatchBoundary : SafeFragment\n\n return (\n <matchesContext.Provider value={matches}>\n <ResolvedSuspenseBoundary fallback={pendingElement}>\n <ResolvedCatchBoundary\n resetKey={locationKey}\n errorComponent={errorComponent}\n onCatch={() => {\n warning(false, `Error in route match: ${match.id}`)\n }}\n >\n <MatchInner match={match} pendingElement={pendingElement} />\n </ResolvedCatchBoundary>\n </ResolvedSuspenseBoundary>\n </matchesContext.Provider>\n )\n}\nfunction MatchInner({\n match,\n pendingElement,\n}: {\n match: RouteMatch\n pendingElement: any\n}): any {\n const { options, routesById } = useRouter()\n const route = routesById[match.routeId]!\n\n if (match.status === 'error') {\n throw match.error\n }\n\n if (match.status === 'pending') {\n if (match.showPending) {\n return pendingElement || null\n }\n throw match.loadPromise\n }\n\n if (match.status === 'success') {\n let comp = route.options.component ?? options.defaultComponent\n\n if (comp) {\n return React.createElement(comp, {\n useMatch: route.useMatch,\n useRouteContext: route.useRouteContext as any,\n useSearch: route.useSearch,\n useParams: route.useParams as any,\n useLoaderData: route.useLoaderData,\n })\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\nexport function Outlet() {\n const matches = React.useContext(matchesContext).slice(1)\n\n if (!matches[0]) {\n return null\n }\n\n return <Match matches={matches} />\n}\n\nexport interface MatchRouteOptions {\n pending?: boolean\n caseSensitive?: boolean\n includeSearch?: boolean\n fuzzy?: boolean\n}\n\nexport type MakeUseMatchRouteOptions<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n> = ToOptions<AnyRoute, TFrom, TTo, TMaskFrom, TMaskTo> & MatchRouteOptions\n\nexport function useMatchRoute<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n>() {\n const { matchRoute } = useRouter()\n\n return React.useCallback(\n <\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n TResolved extends string = ResolveRelativePath<TFrom, NoInfer<TTo>>,\n >(\n opts: MakeUseMatchRouteOptions<\n TRouteTree,\n TFrom,\n TTo,\n TMaskFrom,\n TMaskTo\n >,\n ): false | RouteById<TRouteTree, TResolved>['types']['allParams'] => {\n const { pending, caseSensitive, ...rest } = opts\n\n return matchRoute(rest as any, {\n pending,\n caseSensitive,\n })\n },\n [],\n )\n}\n\nexport type MakeMatchRouteOptions<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = '/',\n TMaskTo extends string = '',\n> = ToOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> &\n MatchRouteOptions & {\n // If a function is passed as a child, it will be given the `isActive` boolean to aid in further styling on the element it returns\n children?:\n | ((\n params?: RouteByPath<\n TRouteTree,\n ResolveRelativePath<TFrom, NoInfer<TTo>>\n >['types']['allParams'],\n ) => ReactNode)\n | React.ReactNode\n }\n\nexport 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 useMatch<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TStrict extends boolean = true,\n TRouteMatchState = RouteMatch<TRouteTree, TFrom>,\n TSelected = TRouteMatchState,\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (match: TRouteMatchState) => TSelected\n },\n): TStrict extends true ? TSelected : TSelected | undefined {\n const nearestMatch = React.useContext(matchesContext)[0]!\n const nearestMatchRouteId = nearestMatch?.routeId\n\n const matchRouteId = useRouterState({\n select: (state) => {\n const match = opts?.from\n ? state.matches.find((d) => d.routeId === opts?.from)\n : state.matches.find((d) => d.id === nearestMatch.id)\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.matches.find((d) => d.routeId === opts?.from)\n : state.matches.find((d) => d.id === nearestMatch.id)\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 const matchesContext = React.createContext<RouteMatch[]>(null!)\n\nexport function useMatches<T = RouteMatch[]>(opts?: {\n select?: (matches: RouteMatch[]) => T\n}): T {\n const contextMatches = React.useContext(matchesContext)\n\n return useRouterState({\n select: (state) => {\n const matches = state.matches.slice(\n state.matches.findIndex((d) => d.id === contextMatches[0]?.id),\n )\n return opts?.select ? opts.select(matches) : (matches as T)\n },\n })\n}\n\nexport function useLoaderData<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>,\n TStrict extends boolean = true,\n TRouteMatch extends RouteMatch<TRouteTree, TFrom> = RouteMatch<\n TRouteTree,\n TFrom\n >,\n TSelected = TRouteMatch['loaderData'],\n>(\n opts: StrictOrFrom<TFrom> & {\n select?: (match: TRouteMatch) => TSelected\n },\n): TStrict extends true ? TSelected : TSelected | undefined {\n const match = useMatch({ ...opts, select: undefined })!\n\n return typeof opts.select === 'function'\n ? opts.select(match?.loaderData)\n : match?.loaderData\n}\n"],"names":["Matches","routesById","state","useRouter","matches","locationKey","useRouterState","location","key","route","rootRouteId","errorComponent","React","useCallback","props","createElement","ErrorComponent","useMatch","useRouteContext","useSearch","useParams","matchesContext","Provider","value","CatchBoundary","resetKey","onCatch","warning","length","Match","SafeFragment","Fragment","children","options","match","routeId","router","latestLocation","PendingComponent","pendingComponent","defaultPendingComponent","pendingElement","undefined","routeErrorComponent","defaultErrorComponent","ResolvedSuspenseBoundary","wrapInSuspense","Suspense","ResolvedCatchBoundary","fallback","id","MatchInner","status","error","showPending","loadPromise","comp","component","defaultComponent","useLoaderData","Outlet","invariant","useContext","slice","useMatchRoute","matchRoute","opts","pending","caseSensitive","rest","MatchRoute","params","nearestMatch","nearestMatchRouteId","matchRouteId","select","from","find","d","strict","matchSelection","createContext","useMatches","contextMatches","findIndex","loaderData"],"mappings":"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"}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @tanstack/react-router/src/index.tsx
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
var React = require('react');
|
|
14
|
-
var warning = require('tiny-warning');
|
|
15
|
-
var index = require('../../../node_modules/.pnpm/@tanstack_react-store@0.2.1_react-dom@18.2.0_react@18.2.0/node_modules/@tanstack/react-store/build/modern/index.js');
|
|
16
|
-
var Matches = require('./Matches.js');
|
|
17
|
-
var utils = require('./utils.js');
|
|
18
|
-
|
|
19
|
-
function _interopNamespaceDefault(e) {
|
|
20
|
-
var n = Object.create(null);
|
|
21
|
-
if (e) {
|
|
22
|
-
Object.keys(e).forEach(function (k) {
|
|
23
|
-
if (k !== 'default') {
|
|
24
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
25
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
get: function () { return e[k]; }
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
n.default = e;
|
|
33
|
-
return Object.freeze(n);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
37
|
-
|
|
38
|
-
const routerContext = /*#__PURE__*/React__namespace.createContext(null);
|
|
39
|
-
if (typeof document !== 'undefined') {
|
|
40
|
-
window.__TSR_ROUTER_CONTEXT__ = routerContext;
|
|
41
|
-
}
|
|
42
|
-
function RouterProvider({
|
|
43
|
-
router,
|
|
44
|
-
...rest
|
|
45
|
-
}) {
|
|
46
|
-
// Allow the router to update options on the router instance
|
|
47
|
-
router.update({
|
|
48
|
-
...router.options,
|
|
49
|
-
...rest,
|
|
50
|
-
context: {
|
|
51
|
-
...router.options.context,
|
|
52
|
-
...rest?.context
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
const inner = /*#__PURE__*/React__namespace.createElement(RouterProviderInner, {
|
|
56
|
-
router: router
|
|
57
|
-
});
|
|
58
|
-
if (router.options.Wrap) {
|
|
59
|
-
return /*#__PURE__*/React__namespace.createElement(router.options.Wrap, null, inner);
|
|
60
|
-
}
|
|
61
|
-
return inner;
|
|
62
|
-
}
|
|
63
|
-
function RouterProviderInner({
|
|
64
|
-
router
|
|
65
|
-
}) {
|
|
66
|
-
const [isTransitioning, startReactTransition] = React__namespace.useTransition();
|
|
67
|
-
router.startReactTransition = startReactTransition;
|
|
68
|
-
router.isTransitioning = isTransitioning;
|
|
69
|
-
const tryLoad = () => {
|
|
70
|
-
startReactTransition(() => {
|
|
71
|
-
try {
|
|
72
|
-
router.load();
|
|
73
|
-
} catch (err) {
|
|
74
|
-
console.error(err);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
};
|
|
78
|
-
utils.useLayoutEffect(() => {
|
|
79
|
-
const unsub = router.history.subscribe(() => {
|
|
80
|
-
router.latestLocation = router.parseLocation(router.latestLocation);
|
|
81
|
-
if (router.state.location !== router.latestLocation) {
|
|
82
|
-
tryLoad();
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
const nextLocation = router.buildLocation({
|
|
86
|
-
search: true,
|
|
87
|
-
params: true,
|
|
88
|
-
hash: true,
|
|
89
|
-
state: true
|
|
90
|
-
});
|
|
91
|
-
if (router.state.location.href !== nextLocation.href) {
|
|
92
|
-
router.commitLocation({
|
|
93
|
-
...nextLocation,
|
|
94
|
-
replace: true
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
return () => {
|
|
98
|
-
unsub();
|
|
99
|
-
};
|
|
100
|
-
}, [router.history]);
|
|
101
|
-
utils.useLayoutEffect(() => {
|
|
102
|
-
if (!isTransitioning && router.state.resolvedLocation !== router.state.location) {
|
|
103
|
-
router.emit({
|
|
104
|
-
type: 'onResolved',
|
|
105
|
-
fromLocation: router.state.resolvedLocation,
|
|
106
|
-
toLocation: router.state.location,
|
|
107
|
-
pathChanged: router.state.location.href !== router.state.resolvedLocation?.href
|
|
108
|
-
});
|
|
109
|
-
router.pendingMatches = [];
|
|
110
|
-
router.__store.setState(s => ({
|
|
111
|
-
...s,
|
|
112
|
-
resolvedLocation: s.location
|
|
113
|
-
}));
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
utils.useLayoutEffect(() => {
|
|
117
|
-
if (!window.__TSR_DEHYDRATED__) {
|
|
118
|
-
tryLoad();
|
|
119
|
-
}
|
|
120
|
-
}, []);
|
|
121
|
-
return /*#__PURE__*/React__namespace.createElement(routerContext.Provider, {
|
|
122
|
-
value: router
|
|
123
|
-
}, /*#__PURE__*/React__namespace.createElement(Matches.Matches, null));
|
|
124
|
-
}
|
|
125
|
-
function getRouteMatch(state, id) {
|
|
126
|
-
return [...state.pendingMatches, ...state.matches].find(d => d.id === id);
|
|
127
|
-
}
|
|
128
|
-
function useRouterState(opts) {
|
|
129
|
-
const router = useRouter();
|
|
130
|
-
return index.useStore(router.__store, opts?.select);
|
|
131
|
-
}
|
|
132
|
-
function useRouter() {
|
|
133
|
-
const resolvedContext = typeof document !== 'undefined' ? window.__TSR_ROUTER_CONTEXT__ || routerContext : routerContext;
|
|
134
|
-
const value = React__namespace.useContext(resolvedContext);
|
|
135
|
-
warning(value, 'useRouter must be used inside a <RouterProvider> component!');
|
|
136
|
-
return value;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
exports.RouterProvider = RouterProvider;
|
|
140
|
-
exports.getRouteMatch = getRouteMatch;
|
|
141
|
-
exports.routerContext = routerContext;
|
|
142
|
-
exports.useRouter = useRouter;
|
|
143
|
-
exports.useRouterState = useRouterState;
|
|
144
|
-
//# sourceMappingURL=RouterProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RouterProvider.js","sources":["../../../../../src/RouterProvider.tsx"],"sourcesContent":["import * as React from 'react'\nimport warning from 'tiny-warning'\nimport { useStore } from '@tanstack/react-store'\nimport { Matches } from './Matches'\nimport {\n LinkInfo,\n LinkOptions,\n NavigateOptions,\n ResolveRelativePath,\n ToOptions,\n} from './link'\nimport { ParsedLocation } from './location'\nimport { AnyRoute } from './route'\nimport { RouteById, RoutePaths } from './routeInfo'\nimport {\n BuildNextOptions,\n RegisteredRouter,\n Router,\n RouterOptions,\n RouterState,\n} from './router'\nimport { NoInfer, PickAsRequired, useLayoutEffect } from './utils'\nimport { MatchRouteOptions } from './Matches'\nimport { RouteMatch } from './Matches'\n\nexport interface CommitLocationOptions {\n replace?: boolean\n resetScroll?: boolean\n startTransition?: boolean\n}\n\nexport interface MatchLocation {\n to?: string | number | null\n fuzzy?: boolean\n caseSensitive?: boolean\n from?: string\n}\n\nexport type BuildLinkFn<TRouteTree extends AnyRoute> = <\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n>(\n dest: LinkOptions<TRouteTree, TFrom, TTo>,\n) => LinkInfo\n\nexport type NavigateFn<TRouteTree extends AnyRoute> = <\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TMaskFrom extends RoutePaths<TRouteTree> = TFrom,\n TMaskTo extends string = '',\n>(\n opts: NavigateOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>,\n) => Promise<void>\n\nexport type MatchRouteFn<TRouteTree extends AnyRoute> = <\n TFrom extends RoutePaths<TRouteTree> = '/',\n TTo extends string = '',\n TResolved = ResolveRelativePath<TFrom, NoInfer<TTo>>,\n>(\n location: ToOptions<TRouteTree, TFrom, TTo>,\n opts?: MatchRouteOptions,\n) => false | RouteById<TRouteTree, TResolved>['types']['allParams']\n\nexport type BuildLocationFn<TRouteTree extends AnyRoute> = (\n opts: BuildNextOptions,\n) => ParsedLocation\n\nexport type InjectedHtmlEntry = string | (() => Promise<string> | string)\n\nexport const routerContext = React.createContext<Router<any>>(null!)\n\nif (typeof document !== 'undefined') {\n window.__TSR_ROUTER_CONTEXT__ = routerContext 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 // Allow the router to update options on the router instance\n router.update({\n ...router.options,\n ...rest,\n context: {\n ...router.options.context,\n ...rest?.context,\n },\n } as any)\n\n const inner = <RouterProviderInner<TRouteTree, TDehydrated> router={router} />\n\n if (router.options.Wrap) {\n return <router.options.Wrap>{inner}</router.options.Wrap>\n }\n\n return inner\n}\n\nfunction RouterProviderInner<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n TDehydrated extends Record<string, any> = Record<string, any>,\n>({ router }: RouterProps<TRouteTree, TDehydrated>) {\n const [isTransitioning, startReactTransition] = React.useTransition()\n\n router.startReactTransition = startReactTransition\n router.isTransitioning = isTransitioning\n\n const tryLoad = () => {\n startReactTransition(() => {\n try {\n router.load()\n } catch (err) {\n console.error(err)\n }\n })\n }\n\n useLayoutEffect(() => {\n const unsub = router.history.subscribe(() => {\n router.latestLocation = router.parseLocation(router.latestLocation)\n if (router.state.location !== router.latestLocation) {\n tryLoad()\n }\n })\n\n const nextLocation = router.buildLocation({\n search: true,\n params: true,\n hash: true,\n state: true,\n })\n\n if (router.state.location.href !== nextLocation.href) {\n router.commitLocation({ ...nextLocation, replace: true })\n }\n\n return () => {\n unsub()\n }\n }, [router.history])\n\n useLayoutEffect(() => {\n if (\n !isTransitioning &&\n router.state.resolvedLocation !== router.state.location\n ) {\n router.emit({\n type: 'onResolved',\n fromLocation: router.state.resolvedLocation,\n toLocation: router.state.location,\n pathChanged:\n router.state.location!.href !== router.state.resolvedLocation?.href,\n })\n router.pendingMatches = []\n\n router.__store.setState((s) => ({\n ...s,\n resolvedLocation: s.location,\n }))\n }\n })\n\n useLayoutEffect(() => {\n if (!window.__TSR_DEHYDRATED__) {\n tryLoad()\n }\n }, [])\n\n return (\n <routerContext.Provider value={router}>\n <Matches />\n </routerContext.Provider>\n )\n}\n\nexport function getRouteMatch<TRouteTree extends AnyRoute>(\n state: RouterState<TRouteTree>,\n id: string,\n): undefined | RouteMatch<TRouteTree> {\n return [...state.pendingMatches, ...state.matches].find((d) => d.id === id)\n}\n\nexport function useRouterState<\n TSelected = RouterState<RegisteredRouter['routeTree']>,\n>(opts?: {\n select: (state: RouterState<RegisteredRouter['routeTree']>) => TSelected\n}): TSelected {\n const router = useRouter()\n return useStore(router.__store, opts?.select as any)\n}\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 useRouter<\n TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],\n>(): Router<TRouteTree> {\n const resolvedContext =\n typeof document !== 'undefined'\n ? window.__TSR_ROUTER_CONTEXT__ || routerContext\n : routerContext\n const value = React.useContext(resolvedContext)\n warning(value, 'useRouter must be used inside a <RouterProvider> component!')\n return value as any\n}\n"],"names":["routerContext","React","createContext","document","window","__TSR_ROUTER_CONTEXT__","RouterProvider","router","rest","update","options","context","inner","createElement","RouterProviderInner","Wrap","isTransitioning","startReactTransition","useTransition","tryLoad","load","err","console","error","useLayoutEffect","unsub","history","subscribe","latestLocation","parseLocation","state","location","nextLocation","buildLocation","search","params","hash","href","commitLocation","replace","resolvedLocation","emit","type","fromLocation","toLocation","pathChanged","pendingMatches","__store","setState","s","__TSR_DEHYDRATED__","Provider","value","Matches","getRouteMatch","id","matches","find","d","useRouterState","opts","useRouter","useStore","select","resolvedContext","useContext","warning"],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @tanstack/react-router/src/index.tsx
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
var routerCore = require('@tanstack/router-core');
|
|
14
|
-
var react = require('./react.js');
|
|
15
|
-
|
|
16
|
-
function useAwaited({
|
|
17
|
-
promise
|
|
18
|
-
}) {
|
|
19
|
-
const router = react.useRouter();
|
|
20
|
-
let state = promise.__deferredState;
|
|
21
|
-
const key = `__TSR__DEFERRED__${state.uid}`;
|
|
22
|
-
if (routerCore.isDehydratedDeferred(promise)) {
|
|
23
|
-
state = router.hydrateData(key);
|
|
24
|
-
promise = Promise.resolve(state.data);
|
|
25
|
-
promise.__deferredState = state;
|
|
26
|
-
}
|
|
27
|
-
if (state.status === 'pending') {
|
|
28
|
-
throw promise;
|
|
29
|
-
}
|
|
30
|
-
if (state.status === 'error') {
|
|
31
|
-
throw state.error;
|
|
32
|
-
}
|
|
33
|
-
router.dehydrateData(key, state);
|
|
34
|
-
return [state.data];
|
|
35
|
-
}
|
|
36
|
-
function Await(props) {
|
|
37
|
-
const awaited = useAwaited(props);
|
|
38
|
-
return props.children(...awaited);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
exports.Await = Await;
|
|
42
|
-
exports.useAwaited = useAwaited;
|
|
43
|
-
//# sourceMappingURL=awaited.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"awaited.js","sources":["../../../../../src/awaited.tsx"],"sourcesContent":["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":["useAwaited","promise","router","useRouter","state","__deferredState","key","uid","isDehydratedDeferred","hydrateData","Promise","resolve","data","status","error","dehydrateData","Await","props","awaited","children"],"mappings":";;;;;;;;;;;;;;;AAOO,SAASA,UAAUA,CAAI;AAAEC,EAAAA,OAAAA;AAAyB,CAAC,EAAO;AAC/D,EAAA,MAAMC,MAAM,GAAGC,eAAS,EAAE,CAAA;AAE1B,EAAA,IAAIC,KAAK,GAAGH,OAAO,CAACI,eAAe,CAAA;AACnC,EAAA,MAAMC,GAAG,GAAI,CAAA,iBAAA,EAAmBF,KAAK,CAACG,GAAI,CAAC,CAAA,CAAA;AAE3C,EAAA,IAAIC,+BAAoB,CAACP,OAAO,CAAC,EAAE;AACjCG,IAAAA,KAAK,GAAGF,MAAM,CAACO,WAAW,CAACH,GAAG,CAAE,CAAA;IAChCL,OAAO,GAAGS,OAAO,CAACC,OAAO,CAACP,KAAK,CAACQ,IAAI,CAAyB,CAAA;IAC7DX,OAAO,CAACI,eAAe,GAAGD,KAAK,CAAA;AACjC,GAAA;AAEA,EAAA,IAAIA,KAAK,CAACS,MAAM,KAAK,SAAS,EAAE;AAC9B,IAAA,MAAMZ,OAAO,CAAA;AACf,GAAA;AAEA,EAAA,IAAIG,KAAK,CAACS,MAAM,KAAK,OAAO,EAAE;IAC5B,MAAMT,KAAK,CAACU,KAAK,CAAA;AACnB,GAAA;AAEAZ,EAAAA,MAAM,CAACa,aAAa,CAACT,GAAG,EAAEF,KAAK,CAAC,CAAA;AAEhC,EAAA,OAAO,CAACA,KAAK,CAACQ,IAAI,CAAC,CAAA;AACrB,CAAA;AAEO,SAASI,KAAKA,CACnBC,KAEC,EACD;AACA,EAAA,MAAMC,OAAO,GAAGlB,UAAU,CAACiB,KAAK,CAAC,CAAA;AACjC,EAAA,OAAOA,KAAK,CAACE,QAAQ,CAAC,GAAGD,OAAO,CAAC,CAAA;AACnC;;;;;"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @tanstack/react-router/src/index.tsx
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
function defer(_promise) {
|
|
14
|
-
const promise = _promise;
|
|
15
|
-
if (!promise.__deferredState) {
|
|
16
|
-
promise.__deferredState = {
|
|
17
|
-
uid: Math.random().toString(36).slice(2),
|
|
18
|
-
status: 'pending'
|
|
19
|
-
};
|
|
20
|
-
const state = promise.__deferredState;
|
|
21
|
-
promise.then(data => {
|
|
22
|
-
state.status = 'success';
|
|
23
|
-
state.data = data;
|
|
24
|
-
}).catch(error => {
|
|
25
|
-
state.status = 'error';
|
|
26
|
-
state.error = error;
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
return promise;
|
|
30
|
-
}
|
|
31
|
-
function isDehydratedDeferred(obj) {
|
|
32
|
-
return typeof obj === 'object' && obj !== null && !(obj instanceof Promise) && !obj.then && '__deferredState' in obj;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
exports.defer = defer;
|
|
36
|
-
exports.isDehydratedDeferred = isDehydratedDeferred;
|
|
37
|
-
//# sourceMappingURL=defer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defer.js","sources":["../../../../../src/defer.ts"],"sourcesContent":["export type DeferredPromiseState<T> = { uid: string } & (\n | {\n status: 'pending'\n data?: T\n error?: unknown\n }\n | {\n status: 'success'\n data: T\n }\n | {\n status: 'error'\n data?: T\n error: unknown\n }\n)\n\nexport type DeferredPromise<T> = Promise<T> & {\n __deferredState: DeferredPromiseState<T>\n}\n\nexport function defer<T>(_promise: Promise<T>) {\n const promise = _promise as DeferredPromise<T>\n\n if (!promise.__deferredState) {\n promise.__deferredState = {\n uid: Math.random().toString(36).slice(2),\n status: 'pending',\n }\n\n const state = promise.__deferredState\n\n promise\n .then((data) => {\n state.status = 'success' as any\n state.data = data\n })\n .catch((error) => {\n state.status = 'error' as any\n state.error = error\n })\n }\n\n return promise\n}\n\nexport function isDehydratedDeferred(obj: any): boolean {\n return (\n typeof obj === 'object' &&\n obj !== null &&\n !(obj instanceof Promise) &&\n !obj.then &&\n '__deferredState' in obj\n )\n}\n"],"names":["defer","_promise","promise","__deferredState","uid","Math","random","toString","slice","status","state","then","data","catch","error","isDehydratedDeferred","obj","Promise"],"mappings":";;;;;;;;;;;;AAqBO,SAASA,KAAKA,CAAIC,QAAoB,EAAE;EAC7C,MAAMC,OAAO,GAAGD,QAA8B,CAAA;AAE9C,EAAA,IAAI,CAACC,OAAO,CAACC,eAAe,EAAE;IAC5BD,OAAO,CAACC,eAAe,GAAG;AACxBC,MAAAA,GAAG,EAAEC,IAAI,CAACC,MAAM,EAAE,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC;AACxCC,MAAAA,MAAM,EAAE,SAAA;KACT,CAAA;AAED,IAAA,MAAMC,KAAK,GAAGR,OAAO,CAACC,eAAe,CAAA;AAErCD,IAAAA,OAAO,CACJS,IAAI,CAAEC,IAAI,IAAK;MACdF,KAAK,CAACD,MAAM,GAAG,SAAgB,CAAA;MAC/BC,KAAK,CAACE,IAAI,GAAGA,IAAI,CAAA;AACnB,KAAC,CAAC,CACDC,KAAK,CAAEC,KAAK,IAAK;MAChBJ,KAAK,CAACD,MAAM,GAAG,OAAc,CAAA;MAC7BC,KAAK,CAACI,KAAK,GAAGA,KAAK,CAAA;AACrB,KAAC,CAAC,CAAA;AACN,GAAA;AAEA,EAAA,OAAOZ,OAAO,CAAA;AAChB,CAAA;AAEO,SAASa,oBAAoBA,CAACC,GAAQ,EAAW;EACtD,OACE,OAAOA,GAAG,KAAK,QAAQ,IACvBA,GAAG,KAAK,IAAI,IACZ,EAAEA,GAAG,YAAYC,OAAO,CAAC,IACzB,CAACD,GAAG,CAACL,IAAI,IACT,iBAAiB,IAAIK,GAAG,CAAA;AAE5B;;;;;"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @tanstack/react-router/src/index.tsx
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
var route = require('./route.js');
|
|
14
|
-
|
|
15
|
-
class FileRoute {
|
|
16
|
-
constructor(path) {
|
|
17
|
-
this.path = path;
|
|
18
|
-
}
|
|
19
|
-
createRoute = options => {
|
|
20
|
-
const route$1 = new route.Route(options);
|
|
21
|
-
route$1.isRoot = false;
|
|
22
|
-
return route$1;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
exports.FileRoute = FileRoute;
|
|
27
|
-
//# sourceMappingURL=fileRoute.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fileRoute.js","sources":["../../../../../src/fileRoute.ts"],"sourcesContent":["import { ParsePathParams } from './link'\nimport {\n AnyRoute,\n ResolveFullPath,\n ResolveFullSearchSchema,\n MergeFromFromParent,\n RouteContext,\n AnyContext,\n RouteOptions,\n UpdatableRouteOptions,\n Route,\n AnyPathParams,\n RootRouteId,\n TrimPathLeft,\n RouteConstraints,\n} from './route'\nimport { Assign, Expand, IsAny } from './utils'\n\nexport interface FileRoutesByPath {\n // '/': {\n // parentRoute: typeof rootRoute\n // }\n}\n\ntype Replace<\n S extends string,\n From extends string,\n To extends string,\n> = S extends `${infer Start}${From}${infer Rest}`\n ? `${Start}${To}${Replace<Rest, From, To>}`\n : S\n\nexport type TrimLeft<\n T extends string,\n S extends string,\n> = T extends `${S}${infer U}` ? U : T\n\nexport type TrimRight<\n T extends string,\n S extends string,\n> = T extends `${infer U}${S}` ? U : T\n\nexport type Trim<T extends string, S extends string> = TrimLeft<\n TrimRight<T, S>,\n S\n>\n\nexport type RemoveUnderScores<T extends string> = Replace<\n Replace<TrimRight<TrimLeft<T, '/_'>, '_'>, '_/', '/'>,\n '/_',\n '/'\n>\n\nexport type ResolveFilePath<\n TParentRoute extends AnyRoute,\n TFilePath extends string,\n> = TParentRoute['id'] extends RootRouteId\n ? TrimPathLeft<TFilePath>\n : Replace<\n TrimPathLeft<TFilePath>,\n TrimPathLeft<TParentRoute['types']['customId']>,\n ''\n >\n\nexport type FileRoutePath<\n TParentRoute extends AnyRoute,\n TFilePath extends string,\n> = ResolveFilePath<TParentRoute, TFilePath> extends `_${infer _}`\n ? string\n : ResolveFilePath<TParentRoute, TFilePath>\n\nexport class FileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'],\n TId extends RouteConstraints['TId'] = TFilePath,\n TPath extends RouteConstraints['TPath'] = FileRoutePath<\n TParentRoute,\n TFilePath\n >,\n TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n RemoveUnderScores<TPath>\n >,\n> {\n constructor(public path: TFilePath) {}\n\n createRoute = <\n TSearchSchema extends RouteConstraints['TSearchSchema'] = {},\n TFullSearchSchema extends\n 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'] = MergeFromFromParent<\n TParentRoute['types']['allParams'],\n TParams\n >,\n TRouteContext extends RouteConstraints['TRouteContext'] = RouteContext,\n TContext extends Expand<\n Assign<IsAny<TParentRoute['types']['allContext'], {}>, TRouteContext>\n > = Expand<\n Assign<IsAny<TParentRoute['types']['allContext'], {}>, TRouteContext>\n >,\n TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext,\n TLoaderData extends any = unknown,\n TChildren extends RouteConstraints['TChildren'] = unknown,\n TRouteTree extends RouteConstraints['TRouteTree'] = AnyRoute,\n >(\n options?: Omit<\n RouteOptions<\n TParentRoute,\n string,\n TPath,\n TSearchSchema,\n TFullSearchSchema,\n TParams,\n TAllParams,\n TRouteContext,\n TContext,\n TLoaderData\n >,\n 'getParentRoute' | 'path' | 'id'\n > &\n UpdatableRouteOptions<\n TFullSearchSchema,\n TAllParams,\n TContext,\n TLoaderData\n >,\n ): Route<\n TParentRoute,\n TPath,\n TFullPath,\n TFilePath,\n TId,\n TSearchSchema,\n TFullSearchSchema,\n TParams,\n TAllParams,\n TRouteContext,\n TContext,\n TRouterContext,\n TLoaderData,\n TChildren,\n TRouteTree\n > => {\n const route = new Route(options as any)\n ;(route as any).isRoot = false\n return route as any\n }\n}\n"],"names":["FileRoute","constructor","path","createRoute","options","route","Route","isRoot"],"mappings":";;;;;;;;;;;;;;AAuEO,MAAMA,SAAS,CAYpB;EACAC,WAAWA,CAAQC,IAAe,EAAE;IAAA,IAAjBA,CAAAA,IAAe,GAAfA,IAAe,CAAA;AAAG,GAAA;EAErCC,WAAW,GAyBTC,OAoBG,IAiBA;AACH,IAAA,MAAMC,OAAK,GAAG,IAAIC,WAAK,CAACF,OAAc,CAAC,CAAA;IACrCC,OAAK,CAASE,MAAM,GAAG,KAAK,CAAA;AAC9B,IAAA,OAAOF,OAAK,CAAA;GACb,CAAA;AACH;;;;"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @tanstack/react-router/src/index.tsx
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
var index = require('../../../node_modules/.pnpm/@tanstack_react-store@0.2.1_react-dom@18.2.0_react@18.2.0/node_modules/@tanstack/react-store/build/modern/index.js');
|
|
14
|
-
var routerCore = require('@tanstack/router-core');
|
|
15
|
-
var react = require('./react.js');
|
|
16
|
-
var scrollRestoration = require('./scroll-restoration.js');
|
|
17
|
-
var awaited = require('./awaited.js');
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
exports.useStore = index.useStore;
|
|
22
|
-
exports.Block = react.Block;
|
|
23
|
-
exports.CatchBoundary = react.CatchBoundary;
|
|
24
|
-
exports.CatchBoundaryImpl = react.CatchBoundaryImpl;
|
|
25
|
-
exports.ErrorComponent = react.ErrorComponent;
|
|
26
|
-
exports.Link = react.Link;
|
|
27
|
-
exports.MatchRoute = react.MatchRoute;
|
|
28
|
-
exports.Navigate = react.Navigate;
|
|
29
|
-
exports.Outlet = react.Outlet;
|
|
30
|
-
exports.RouterProvider = react.RouterProvider;
|
|
31
|
-
exports.lazyRouteComponent = react.lazyRouteComponent;
|
|
32
|
-
exports.matchIdsContext = react.matchIdsContext;
|
|
33
|
-
exports.routerContext = react.routerContext;
|
|
34
|
-
exports.shallow = react.shallow;
|
|
35
|
-
exports.useBlocker = react.useBlocker;
|
|
36
|
-
exports.useDehydrate = react.useDehydrate;
|
|
37
|
-
exports.useHydrate = react.useHydrate;
|
|
38
|
-
exports.useInjectHtml = react.useInjectHtml;
|
|
39
|
-
exports.useLinkProps = react.useLinkProps;
|
|
40
|
-
exports.useLoader = react.useLoader;
|
|
41
|
-
exports.useMatch = react.useMatch;
|
|
42
|
-
exports.useMatchRoute = react.useMatchRoute;
|
|
43
|
-
exports.useMatches = react.useMatches;
|
|
44
|
-
exports.useNavigate = react.useNavigate;
|
|
45
|
-
exports.useParams = react.useParams;
|
|
46
|
-
exports.useRouteContext = react.useRouteContext;
|
|
47
|
-
exports.useRouter = react.useRouter;
|
|
48
|
-
exports.useRouterContext = react.useRouterContext;
|
|
49
|
-
exports.useRouterState = react.useRouterState;
|
|
50
|
-
exports.useSearch = react.useSearch;
|
|
51
|
-
exports.ScrollRestoration = scrollRestoration.ScrollRestoration;
|
|
52
|
-
exports.useScrollRestoration = scrollRestoration.useScrollRestoration;
|
|
53
|
-
exports.Await = awaited.Await;
|
|
54
|
-
exports.useAwaited = awaited.useAwaited;
|
|
55
|
-
Object.keys(routerCore).forEach(function (k) {
|
|
56
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
57
|
-
enumerable: true,
|
|
58
|
-
get: function () { return routerCore[k]; }
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @tanstack/react-router/src/index.tsx
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
var React = require('react');
|
|
14
|
-
|
|
15
|
-
function _interopNamespaceDefault(e) {
|
|
16
|
-
var n = Object.create(null);
|
|
17
|
-
if (e) {
|
|
18
|
-
Object.keys(e).forEach(function (k) {
|
|
19
|
-
if (k !== 'default') {
|
|
20
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
21
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
get: function () { return e[k]; }
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
n.default = e;
|
|
29
|
-
return Object.freeze(n);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
33
|
-
|
|
34
|
-
function lazyRouteComponent(importer, exportName) {
|
|
35
|
-
let loadPromise;
|
|
36
|
-
const load = () => {
|
|
37
|
-
if (!loadPromise) {
|
|
38
|
-
loadPromise = importer();
|
|
39
|
-
}
|
|
40
|
-
return loadPromise;
|
|
41
|
-
};
|
|
42
|
-
const lazyComp = /*#__PURE__*/React__namespace.lazy(async () => {
|
|
43
|
-
const moduleExports = await load();
|
|
44
|
-
const comp = moduleExports[exportName ?? 'default'];
|
|
45
|
-
return {
|
|
46
|
-
default: comp
|
|
47
|
-
};
|
|
48
|
-
});
|
|
49
|
-
lazyComp.preload = load;
|
|
50
|
-
return lazyComp;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
exports.lazyRouteComponent = lazyRouteComponent;
|
|
54
|
-
//# sourceMappingURL=lazyRouteComponent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lazyRouteComponent.js","sources":["../../../../../src/lazyRouteComponent.tsx"],"sourcesContent":["import * as React from 'react'\nimport { AsyncRouteComponent } from './route'\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 ;(lazyComp as any).preload = load\n\n return lazyComp as any\n}\n"],"names":["lazyRouteComponent","importer","exportName","loadPromise","load","lazyComp","React","lazy","moduleExports","comp","default","preload"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,SAASA,kBAAkBA,CAIhCC,QAA0B,EAC1BC,UAAiB,EAGT;AACR,EAAA,IAAIC,WAAyB,CAAA;EAE7B,MAAMC,IAAI,GAAGA,MAAM;IACjB,IAAI,CAACD,WAAW,EAAE;MAChBA,WAAW,GAAGF,QAAQ,EAAE,CAAA;AAC1B,KAAA;AAEA,IAAA,OAAOE,WAAW,CAAA;GACnB,CAAA;AAED,EAAA,MAAME,QAAQ,gBAAGC,gBAAK,CAACC,IAAI,CAAC,YAAY;AACtC,IAAA,MAAMC,aAAa,GAAG,MAAMJ,IAAI,EAAE,CAAA;AAClC,IAAA,MAAMK,IAAI,GAAGD,aAAa,CAACN,UAAU,IAAI,SAAS,CAAC,CAAA;IACnD,OAAO;AACLQ,MAAAA,OAAO,EAAED,IAAAA;KACV,CAAA;AACH,GAAC,CAAC,CAAA;EACAJ,QAAQ,CAASM,OAAO,GAAGP,IAAI,CAAA;AAEjC,EAAA,OAAOC,QAAQ,CAAA;AACjB;;;;"}
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @tanstack/react-router/src/index.tsx
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
|
|
14
|
-
var React = require('react');
|
|
15
|
-
var Matches = require('./Matches.js');
|
|
16
|
-
var RouterProvider = require('./RouterProvider.js');
|
|
17
|
-
var utils = require('./utils.js');
|
|
18
|
-
|
|
19
|
-
function _interopNamespaceDefault(e) {
|
|
20
|
-
var n = Object.create(null);
|
|
21
|
-
if (e) {
|
|
22
|
-
Object.keys(e).forEach(function (k) {
|
|
23
|
-
if (k !== 'default') {
|
|
24
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
25
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
get: function () { return e[k]; }
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
n.default = e;
|
|
33
|
-
return Object.freeze(n);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
37
|
-
|
|
38
|
-
function useLinkProps(options) {
|
|
39
|
-
const {
|
|
40
|
-
buildLink
|
|
41
|
-
} = RouterProvider.useRouter();
|
|
42
|
-
const match = Matches.useMatch({
|
|
43
|
-
strict: false
|
|
44
|
-
});
|
|
45
|
-
const {
|
|
46
|
-
// custom props
|
|
47
|
-
type,
|
|
48
|
-
children,
|
|
49
|
-
target,
|
|
50
|
-
activeProps = () => ({
|
|
51
|
-
className: 'active'
|
|
52
|
-
}),
|
|
53
|
-
inactiveProps = () => ({}),
|
|
54
|
-
activeOptions,
|
|
55
|
-
disabled,
|
|
56
|
-
hash,
|
|
57
|
-
search,
|
|
58
|
-
params,
|
|
59
|
-
to,
|
|
60
|
-
state,
|
|
61
|
-
mask,
|
|
62
|
-
preload,
|
|
63
|
-
preloadDelay,
|
|
64
|
-
replace,
|
|
65
|
-
startTransition,
|
|
66
|
-
resetScroll,
|
|
67
|
-
// element props
|
|
68
|
-
style,
|
|
69
|
-
className,
|
|
70
|
-
onClick,
|
|
71
|
-
onFocus,
|
|
72
|
-
onMouseEnter,
|
|
73
|
-
onMouseLeave,
|
|
74
|
-
onTouchStart,
|
|
75
|
-
...rest
|
|
76
|
-
} = options;
|
|
77
|
-
const linkInfo = buildLink({
|
|
78
|
-
from: options.to ? match.pathname : undefined,
|
|
79
|
-
...options
|
|
80
|
-
});
|
|
81
|
-
if (linkInfo.type === 'external') {
|
|
82
|
-
const {
|
|
83
|
-
href
|
|
84
|
-
} = linkInfo;
|
|
85
|
-
return {
|
|
86
|
-
href
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
const {
|
|
90
|
-
handleClick,
|
|
91
|
-
handleFocus,
|
|
92
|
-
handleEnter,
|
|
93
|
-
handleLeave,
|
|
94
|
-
handleTouchStart,
|
|
95
|
-
isActive,
|
|
96
|
-
next
|
|
97
|
-
} = linkInfo;
|
|
98
|
-
const composeHandlers = handlers => e => {
|
|
99
|
-
if (e.persist) e.persist();
|
|
100
|
-
handlers.filter(Boolean).forEach(handler => {
|
|
101
|
-
if (e.defaultPrevented) return;
|
|
102
|
-
handler(e);
|
|
103
|
-
});
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
// Get the active props
|
|
107
|
-
const resolvedActiveProps = isActive ? utils.functionalUpdate(activeProps, {}) ?? {} : {};
|
|
108
|
-
|
|
109
|
-
// Get the inactive props
|
|
110
|
-
const resolvedInactiveProps = isActive ? {} : utils.functionalUpdate(inactiveProps, {}) ?? {};
|
|
111
|
-
return {
|
|
112
|
-
...resolvedActiveProps,
|
|
113
|
-
...resolvedInactiveProps,
|
|
114
|
-
...rest,
|
|
115
|
-
href: disabled ? undefined : next.maskedLocation ? next.maskedLocation.href : next.href,
|
|
116
|
-
onClick: composeHandlers([onClick, handleClick]),
|
|
117
|
-
onFocus: composeHandlers([onFocus, handleFocus]),
|
|
118
|
-
onMouseEnter: composeHandlers([onMouseEnter, handleEnter]),
|
|
119
|
-
onMouseLeave: composeHandlers([onMouseLeave, handleLeave]),
|
|
120
|
-
onTouchStart: composeHandlers([onTouchStart, handleTouchStart]),
|
|
121
|
-
target,
|
|
122
|
-
style: {
|
|
123
|
-
...style,
|
|
124
|
-
...resolvedActiveProps.style,
|
|
125
|
-
...resolvedInactiveProps.style
|
|
126
|
-
},
|
|
127
|
-
className: [className, resolvedActiveProps.className, resolvedInactiveProps.className].filter(Boolean).join(' ') || undefined,
|
|
128
|
-
...(disabled ? {
|
|
129
|
-
role: 'link',
|
|
130
|
-
'aria-disabled': true
|
|
131
|
-
} : undefined),
|
|
132
|
-
['data-status']: isActive ? 'active' : undefined
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
const Link = /*#__PURE__*/React__namespace.forwardRef((props, ref) => {
|
|
136
|
-
const linkProps = useLinkProps(props);
|
|
137
|
-
return /*#__PURE__*/React__namespace.createElement("a", _rollupPluginBabelHelpers.extends({
|
|
138
|
-
ref: ref
|
|
139
|
-
}, linkProps, {
|
|
140
|
-
children: typeof props.children === 'function' ? props.children({
|
|
141
|
-
isActive: linkProps['data-status'] === 'active'
|
|
142
|
-
}) : props.children
|
|
143
|
-
}));
|
|
144
|
-
});
|
|
145
|
-
|
|
146
|
-
exports.Link = Link;
|
|
147
|
-
exports.useLinkProps = useLinkProps;
|
|
148
|
-
//# sourceMappingURL=link.js.map
|