@tanstack/react-router 0.0.1-beta.9 → 1.0.0
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/LICENSE +21 -0
- package/build/cjs/CatchBoundary.js +128 -0
- package/build/cjs/CatchBoundary.js.map +1 -0
- package/build/cjs/Matches.js +233 -0
- package/build/cjs/Matches.js.map +1 -0
- package/build/cjs/RouterProvider.js +170 -0
- package/build/cjs/RouterProvider.js.map +1 -0
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +2 -22
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/build/cjs/_virtual/with-selector.development.js +16 -0
- package/build/cjs/_virtual/with-selector.development.js.map +1 -0
- package/build/cjs/_virtual/with-selector.js +16 -0
- package/build/cjs/_virtual/with-selector.js.map +1 -0
- package/build/cjs/_virtual/with-selector.production.min.js +16 -0
- package/build/cjs/_virtual/with-selector.production.min.js.map +1 -0
- package/build/cjs/awaited.js +43 -0
- package/build/cjs/awaited.js.map +1 -0
- package/build/cjs/build/esm/index.js +79 -0
- package/build/cjs/build/esm/index.js.map +1 -0
- package/build/cjs/defer.js +37 -0
- package/build/cjs/defer.js.map +1 -0
- package/build/cjs/fileRoute.js +27 -0
- package/build/cjs/fileRoute.js.map +1 -0
- package/build/cjs/index.js +130 -0
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/lazyRouteComponent.js +54 -0
- package/build/cjs/lazyRouteComponent.js.map +1 -0
- package/build/cjs/link.js +223 -0
- package/build/cjs/link.js.map +1 -0
- 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 +47 -0
- 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 +1 -0
- package/build/cjs/node_modules/.pnpm/@tanstack_store@0.1.3/node_modules/@tanstack/store/build/modern/index.js +70 -0
- package/build/cjs/node_modules/.pnpm/@tanstack_store@0.1.3/node_modules/@tanstack/store/build/modern/index.js.map +1 -0
- 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 +188 -0
- 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 +1 -0
- 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 +39 -0
- 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 +1 -0
- 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 +26 -0
- 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 +1 -0
- package/build/cjs/packages/react-router/src/CatchBoundary.js +123 -0
- package/build/cjs/packages/react-router/src/CatchBoundary.js.map +1 -0
- package/build/cjs/packages/react-router/src/Matches.js +235 -0
- package/build/cjs/packages/react-router/src/Matches.js.map +1 -0
- package/build/cjs/packages/react-router/src/RouterProvider.js +144 -0
- package/build/cjs/packages/react-router/src/RouterProvider.js.map +1 -0
- package/build/cjs/packages/react-router/src/awaited.js +43 -0
- package/build/cjs/packages/react-router/src/awaited.js.map +1 -0
- package/build/cjs/packages/react-router/src/defer.js +37 -0
- package/build/cjs/packages/react-router/src/defer.js.map +1 -0
- package/build/cjs/packages/react-router/src/fileRoute.js +27 -0
- package/build/cjs/packages/react-router/src/fileRoute.js.map +1 -0
- package/build/cjs/packages/react-router/src/index.js +61 -0
- package/build/cjs/packages/react-router/src/index.js.map +1 -0
- package/build/cjs/packages/react-router/src/lazyRouteComponent.js +54 -0
- package/build/cjs/packages/react-router/src/lazyRouteComponent.js.map +1 -0
- package/build/cjs/packages/react-router/src/link.js +148 -0
- package/build/cjs/packages/react-router/src/link.js.map +1 -0
- package/build/cjs/packages/react-router/src/path.js +209 -0
- package/build/cjs/packages/react-router/src/path.js.map +1 -0
- package/build/cjs/packages/react-router/src/qss.js +63 -0
- package/build/cjs/packages/react-router/src/qss.js.map +1 -0
- package/build/cjs/packages/react-router/src/react.js +634 -0
- package/build/cjs/packages/react-router/src/react.js.map +1 -0
- package/build/cjs/packages/react-router/src/redirects.js +25 -0
- package/build/cjs/packages/react-router/src/redirects.js.map +1 -0
- package/build/cjs/packages/react-router/src/route.js +134 -0
- package/build/cjs/packages/react-router/src/route.js.map +1 -0
- package/build/cjs/packages/react-router/src/router.js +1111 -0
- package/build/cjs/packages/react-router/src/router.js.map +1 -0
- package/build/cjs/packages/react-router/src/scroll-restoration.js +53 -0
- package/build/cjs/packages/react-router/src/scroll-restoration.js.map +1 -0
- package/build/cjs/packages/react-router/src/searchParams.js +81 -0
- package/build/cjs/packages/react-router/src/searchParams.js.map +1 -0
- package/build/cjs/packages/react-router/src/useBlocker.js +61 -0
- package/build/cjs/packages/react-router/src/useBlocker.js.map +1 -0
- package/build/cjs/packages/react-router/src/useNavigate.js +75 -0
- package/build/cjs/packages/react-router/src/useNavigate.js.map +1 -0
- package/build/cjs/packages/react-router/src/useParams.js +26 -0
- package/build/cjs/packages/react-router/src/useParams.js.map +1 -0
- package/build/cjs/packages/react-router/src/useSearch.js +25 -0
- package/build/cjs/packages/react-router/src/useSearch.js.map +1 -0
- package/build/cjs/packages/react-router/src/utils.js +239 -0
- package/build/cjs/packages/react-router/src/utils.js.map +1 -0
- package/build/cjs/path.js +214 -0
- package/build/cjs/path.js.map +1 -0
- package/build/cjs/qss.js +63 -0
- package/build/cjs/qss.js.map +1 -0
- package/build/cjs/react/CatchBoundary.js +123 -0
- package/build/cjs/react/CatchBoundary.js.map +1 -0
- package/build/cjs/react/awaited.js +43 -0
- package/build/cjs/react/awaited.js.map +1 -0
- package/build/cjs/react/defer.js +37 -0
- package/build/cjs/react/defer.js.map +1 -0
- package/build/cjs/react.js +650 -0
- package/build/cjs/react.js.map +1 -0
- package/build/cjs/redirects.js +28 -0
- package/build/cjs/redirects.js.map +1 -0
- package/build/cjs/route.js +191 -0
- package/build/cjs/route.js.map +1 -0
- package/build/cjs/router.js +1085 -0
- package/build/cjs/router.js.map +1 -0
- package/build/cjs/routerConfig.js +209 -0
- package/build/cjs/routerConfig.js.map +1 -0
- package/build/cjs/scroll-restoration.js +202 -0
- package/build/cjs/scroll-restoration.js.map +1 -0
- package/build/cjs/searchParams.js +81 -0
- package/build/cjs/searchParams.js.map +1 -0
- package/build/cjs/src/CatchBoundary.js +126 -0
- package/build/cjs/src/CatchBoundary.js.map +1 -0
- package/build/cjs/src/Matches.js +235 -0
- package/build/cjs/src/Matches.js.map +1 -0
- package/build/cjs/src/RouterProvider.js +1051 -0
- package/build/cjs/src/RouterProvider.js.map +1 -0
- package/build/cjs/src/awaited.js +45 -0
- package/build/cjs/src/awaited.js.map +1 -0
- package/build/cjs/src/defer.js +39 -0
- package/build/cjs/src/defer.js.map +1 -0
- package/build/cjs/src/fileRoute.js +29 -0
- package/build/cjs/src/fileRoute.js.map +1 -0
- package/build/cjs/src/index.js +134 -0
- package/build/cjs/src/index.js.map +1 -0
- package/build/cjs/src/lazyRouteComponent.js +57 -0
- package/build/cjs/src/lazyRouteComponent.js.map +1 -0
- package/build/cjs/src/link.js +151 -0
- package/build/cjs/src/link.js.map +1 -0
- package/build/cjs/src/path.js +211 -0
- package/build/cjs/src/path.js.map +1 -0
- package/build/cjs/src/qss.js +65 -0
- package/build/cjs/src/qss.js.map +1 -0
- package/build/cjs/src/redirects.js +27 -0
- package/build/cjs/src/redirects.js.map +1 -0
- package/build/cjs/src/route.js +139 -0
- package/build/cjs/src/route.js.map +1 -0
- package/build/cjs/src/router.js +203 -0
- package/build/cjs/src/router.js.map +1 -0
- package/build/cjs/src/scroll-restoration.js +186 -0
- package/build/cjs/src/scroll-restoration.js.map +1 -0
- package/build/cjs/src/searchParams.js +83 -0
- package/build/cjs/src/searchParams.js.map +1 -0
- package/build/cjs/src/useBlocker.js +64 -0
- package/build/cjs/src/useBlocker.js.map +1 -0
- package/build/cjs/src/useNavigate.js +78 -0
- package/build/cjs/src/useNavigate.js.map +1 -0
- package/build/cjs/src/useParams.js +28 -0
- package/build/cjs/src/useParams.js.map +1 -0
- package/build/cjs/src/useSearch.js +27 -0
- package/build/cjs/src/useSearch.js.map +1 -0
- package/build/cjs/src/utils.js +230 -0
- package/build/cjs/src/utils.js.map +1 -0
- package/build/cjs/useBlocker.js +55 -0
- package/build/cjs/useBlocker.js.map +1 -0
- package/build/cjs/useNavigate.js +86 -0
- package/build/cjs/useNavigate.js.map +1 -0
- package/build/cjs/useParams.js +26 -0
- package/build/cjs/useParams.js.map +1 -0
- package/build/cjs/useSearch.js +25 -0
- package/build/cjs/useSearch.js.map +1 -0
- package/build/cjs/useStore.js +99 -0
- package/build/cjs/useStore.js.map +1 -0
- package/build/cjs/utils.js +241 -0
- package/build/cjs/utils.js.map +1 -0
- package/build/esm/index.js +2300 -2534
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +3498 -2694
- package/build/stats-react.json +1204 -44
- package/build/types/CatchBoundary.d.ts +36 -0
- package/build/types/Matches.d.ts +64 -0
- package/build/types/RouteMatch.d.ts +23 -0
- package/build/types/RouterProvider.d.ts +35 -0
- package/build/types/awaited.d.ts +9 -0
- package/build/types/defer.d.ts +19 -0
- package/build/types/fileRoute.d.ts +38 -0
- package/build/types/history.d.ts +7 -0
- package/build/types/index.d.ts +919 -58
- package/build/types/injectHtml.d.ts +0 -0
- package/build/types/lazyRouteComponent.d.ts +2 -0
- package/build/types/link.d.ts +93 -0
- package/build/types/location.d.ts +12 -0
- package/build/types/path.d.ts +17 -0
- package/build/types/qss.d.ts +2 -0
- package/build/types/react/CatchBoundary.d.ts +33 -0
- package/build/types/react/awaited.d.ts +9 -0
- package/build/types/react/defer.d.ts +19 -0
- package/build/types/react.d.ts +141 -0
- package/build/types/redirects.d.ts +11 -0
- package/build/types/route.d.ts +283 -0
- package/build/types/routeInfo.d.ts +31 -0
- package/build/types/router.d.ts +186 -0
- package/build/types/scroll-restoration.d.ts +18 -0
- package/build/types/searchParams.d.ts +7 -0
- package/build/types/useBlocker.d.ts +9 -0
- package/build/types/useNavigate.d.ts +19 -0
- package/build/types/useParams.d.ts +7 -0
- package/build/types/useSearch.d.ts +7 -0
- package/build/types/useStore.d.ts +12 -0
- package/build/types/utils.d.ts +69 -0
- package/build/umd/index.development.js +2897 -2493
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +4 -4
- package/build/umd/index.production.js.map +1 -1
- package/package.json +12 -10
- package/src/CatchBoundary.tsx +101 -0
- package/src/Matches.tsx +423 -0
- package/src/RouterProvider.tsx +252 -0
- package/src/awaited.tsx +40 -0
- package/src/defer.ts +55 -0
- package/src/fileRoute.ts +152 -0
- package/src/history.ts +8 -0
- package/src/index.tsx +28 -619
- package/src/lazyRouteComponent.tsx +33 -0
- package/src/link.tsx +603 -0
- package/src/location.ts +13 -0
- package/src/path.ts +261 -0
- package/src/qss.ts +53 -0
- package/src/redirects.ts +39 -0
- package/src/route.ts +882 -0
- package/src/routeInfo.ts +84 -0
- package/src/router.ts +1671 -0
- package/src/scroll-restoration.tsx +230 -0
- package/src/searchParams.ts +79 -0
- package/src/useBlocker.tsx +27 -0
- package/src/useNavigate.tsx +111 -0
- package/src/useParams.tsx +25 -0
- package/src/useSearch.tsx +25 -0
- package/src/utils.ts +360 -0
- package/build/cjs/react-router/src/index.js +0 -458
- package/build/cjs/react-router/src/index.js.map +0 -1
- package/build/cjs/router-core/build/esm/index.js +0 -2524
- package/build/cjs/router-core/build/esm/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../router-core/build/esm/index.js"],"sourcesContent":["/**\n * router-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends$1() {\n _extends$1 = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends$1.apply(this, arguments);\n}\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n /**\r\n * A POP indicates a change to an arbitrary index in the history stack, such\r\n * as a back or forward navigation. It does not describe the direction of the\r\n * navigation, only that the current index changed.\r\n *\r\n * Note: This is the default action for newly created history objects.\r\n */\n Action[\"Pop\"] = \"POP\";\n /**\r\n * A PUSH indicates a new entry being added to the history stack, such as when\r\n * a link is clicked and a new page loads. When this happens, all subsequent\r\n * entries in the stack are lost.\r\n */\n\n Action[\"Push\"] = \"PUSH\";\n /**\r\n * A REPLACE indicates the entry at the current index in the history stack\r\n * being replaced by a new one.\r\n */\n\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n return Object.freeze(obj);\n} : function (obj) {\n return obj;\n};\n\nfunction warning$1(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== 'undefined') console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$window = _options.window,\n window = _options$window === void 0 ? document.defaultView : _options$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation[0],\n nextLocation = _getIndexAndLocation[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning$1(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better what\n // is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop);\n var action = Action.Pop;\n\n var _getIndexAndLocation2 = getIndexAndLocation(),\n index = _getIndexAndLocation2[0],\n location = _getIndexAndLocation2[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends$1({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n } // state defaults to `null` because `window.history.state` does\n\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends$1({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation3 = getIndexAndLocation();\n\n index = _getIndexAndLocation3[0];\n location = _getIndexAndLocation3[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr[0],\n url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr2[0],\n url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options2 = options,\n _options2$window = _options2.window,\n window = _options2$window === void 0 ? document.defaultView : _options2$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _parsePath = parsePath(window.location.hash.substr(1)),\n _parsePath$pathname = _parsePath.pathname,\n pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n _parsePath$search = _parsePath.search,\n search = _parsePath$search === void 0 ? '' : _parsePath$search,\n _parsePath$hash = _parsePath.hash,\n hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation4 = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation4[0],\n nextLocation = _getIndexAndLocation4[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning$1(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better\n // what is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n window.addEventListener(HashChangeEventType, function () {\n var _getIndexAndLocation5 = getIndexAndLocation(),\n nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n if (createPath(nextLocation) !== createPath(location)) {\n handlePop();\n }\n });\n var action = Action.Pop;\n\n var _getIndexAndLocation6 = getIndexAndLocation(),\n index = _getIndexAndLocation6[0],\n location = _getIndexAndLocation6[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends$1({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function getBaseHref() {\n var base = document.querySelector('base');\n var href = '';\n\n if (base && base.getAttribute('href')) {\n var url = window.location.href;\n var hashIndex = url.indexOf('#');\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href;\n }\n\n function createHref(to) {\n return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends$1({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation7 = getIndexAndLocation();\n\n index = _getIndexAndLocation7[0];\n location = _getIndexAndLocation7[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning$1(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr3[0],\n url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning$1(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr4[0],\n url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options3 = options,\n _options3$initialEntr = _options3.initialEntries,\n initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n initialIndex = _options3.initialIndex;\n var entries = initialEntries.map(function (entry) {\n var location = readOnly(_extends$1({\n pathname: '/',\n search: '',\n hash: '',\n state: null,\n key: createKey()\n }, typeof entry === 'string' ? parsePath(entry) : entry));\n process.env.NODE_ENV !== \"production\" ? warning$1(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n return location;\n });\n var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n var action = Action.Pop;\n var location = entries[index];\n var listeners = createEvents();\n var blockers = createEvents();\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends$1({\n pathname: location.pathname,\n search: '',\n hash: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction, nextLocation) {\n action = nextAction;\n location = nextLocation;\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning$1(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n applyTx(nextAction, nextLocation);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning$1(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n entries[index] = nextLocation;\n applyTx(nextAction, nextLocation);\n }\n }\n\n function go(delta) {\n var nextIndex = clamp(index + delta, 0, entries.length - 1);\n var nextAction = Action.Pop;\n var nextLocation = entries[nextIndex];\n\n function retry() {\n go(delta);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index = nextIndex;\n applyTx(nextAction, nextLocation);\n }\n }\n\n var history = {\n get index() {\n return index;\n },\n\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n return blockers.push(blocker);\n }\n };\n return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n // Cancel the event.\n event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n event.returnValue = '';\n}\n\nfunction createEvents() {\n var handlers = [];\n return {\n get length() {\n return handlers.length;\n },\n\n push: function push(fn) {\n handlers.push(fn);\n return function () {\n handlers = handlers.filter(function (handler) {\n return handler !== fn;\n });\n };\n },\n call: function call(arg) {\n handlers.forEach(function (fn) {\n return fn && fn(arg);\n });\n }\n };\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n var _ref$pathname = _ref.pathname,\n pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n _ref$search = _ref.search,\n search = _ref$search === void 0 ? '' : _ref$search,\n _ref$hash = _ref.hash,\n hash = _ref$hash === void 0 ? '' : _ref$hash;\n if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n var parsedPath = {};\n\n if (path) {\n var hashIndex = path.indexOf('#');\n\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n var searchIndex = path.indexOf('?');\n\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nvar isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\n// type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (\n// k: infer I,\n// ) => any\n// ? I\n// : never\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nfunction replaceEqualDeep(prev, next) {\n if (prev === next) {\n return prev;\n }\n\n const array = Array.isArray(prev) && Array.isArray(next);\n\n if (array || isPlainObject(prev) && isPlainObject(next)) {\n const aSize = array ? prev.length : Object.keys(prev).length;\n const bItems = array ? next : Object.keys(next);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n copy[key] = replaceEqualDeep(prev[key], next[key]);\n\n if (copy[key] === prev[key]) {\n equalItems++;\n }\n }\n\n return aSize === bSize && equalItems === aSize ? prev : copy;\n }\n\n return next;\n} // Copied from: https://github.com/jonschlinkert/is-plain-object\n\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n } // If has modified constructor\n\n\n const ctor = o.constructor;\n\n if (typeof ctor === 'undefined') {\n return true;\n } // If has modified prototype\n\n\n const prot = ctor.prototype;\n\n if (!hasObjectPrototype(prot)) {\n return false;\n } // If constructor does not have an Object-specific method\n\n\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n } // Most likely a plain Object\n\n\n return true;\n}\n\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nfunction warning(cond, message) {\n if (cond) {\n if (typeof console !== 'undefined') console.warn(message);\n\n try {\n throw new Error(message);\n } catch (_unused) {}\n }\n\n return true;\n}\n\nfunction isFunction(d) {\n return typeof d === 'function';\n}\n\nfunction functionalUpdate(updater, previous) {\n if (isFunction(updater)) {\n return updater(previous);\n }\n\n return updater;\n}\nfunction pick(parent, keys) {\n return keys.reduce((obj, key) => {\n obj[key] = parent[key];\n return obj;\n }, {});\n}\n\nfunction joinPaths(paths) {\n return cleanPath(paths.filter(Boolean).join('/'));\n}\nfunction cleanPath(path) {\n // remove double slashes\n return path.replace(/\\/{2,}/g, '/');\n}\nfunction trimPathLeft(path) {\n return path === '/' ? path : path.replace(/^\\/{1,}/, '');\n}\nfunction trimPathRight(path) {\n return path === '/' ? path : path.replace(/\\/{1,}$/, '');\n}\nfunction trimPath(path) {\n return trimPathRight(trimPathLeft(path));\n}\nfunction resolvePath(basepath, base, to) {\n base = base.replace(new RegExp(\"^\" + basepath), '/');\n to = to.replace(new RegExp(\"^\" + basepath), '/');\n let baseSegments = parsePathname(base);\n const toSegments = parsePathname(to);\n toSegments.forEach((toSegment, index) => {\n if (toSegment.value === '/') {\n if (!index) {\n // Leading slash\n baseSegments = [toSegment];\n } else if (index === toSegments.length - 1) {\n // Trailing Slash\n baseSegments.push(toSegment);\n } else ;\n } else if (toSegment.value === '..') {\n var _last;\n\n // Extra trailing slash? pop it off\n if (baseSegments.length > 1 && ((_last = last(baseSegments)) == null ? void 0 : _last.value) === '/') {\n baseSegments.pop();\n }\n\n baseSegments.pop();\n } else if (toSegment.value === '.') {\n return;\n } else {\n baseSegments.push(toSegment);\n }\n });\n const joined = joinPaths([basepath, ...baseSegments.map(d => d.value)]);\n return cleanPath(joined);\n}\nfunction parsePathname(pathname) {\n if (!pathname) {\n return [];\n }\n\n pathname = cleanPath(pathname);\n const segments = [];\n\n if (pathname.slice(0, 1) === '/') {\n pathname = pathname.substring(1);\n segments.push({\n type: 'pathname',\n value: '/'\n });\n }\n\n if (!pathname) {\n return segments;\n } // Remove empty segments and '.' segments\n\n\n const split = pathname.split('/').filter(Boolean);\n segments.push(...split.map(part => {\n if (part.startsWith('*')) {\n return {\n type: 'wildcard',\n value: part\n };\n }\n\n if (part.charAt(0) === ':') {\n return {\n type: 'param',\n value: part\n };\n }\n\n return {\n type: 'pathname',\n value: part\n };\n }));\n\n if (pathname.slice(-1) === '/') {\n pathname = pathname.substring(1);\n segments.push({\n type: 'pathname',\n value: '/'\n });\n }\n\n return segments;\n}\nfunction interpolatePath(path, params, leaveWildcard) {\n const interpolatedPathSegments = parsePathname(path);\n return joinPaths(interpolatedPathSegments.map(segment => {\n if (segment.value === '*' && !leaveWildcard) {\n return '';\n }\n\n if (segment.type === 'param') {\n var _segment$value$substr;\n\n return (_segment$value$substr = params[segment.value.substring(1)]) != null ? _segment$value$substr : '';\n }\n\n return segment.value;\n }));\n}\nfunction matchPathname(currentPathname, matchLocation) {\n const pathParams = matchByPath(currentPathname, matchLocation); // const searchMatched = matchBySearch(currentLocation.search, matchLocation)\n\n if (matchLocation.to && !pathParams) {\n return;\n } // if (matchLocation.search && !searchMatched) {\n // return\n // }\n\n\n return pathParams != null ? pathParams : {};\n}\nfunction matchByPath(from, matchLocation) {\n var _matchLocation$to;\n\n const baseSegments = parsePathname(from);\n const routeSegments = parsePathname(\"\" + ((_matchLocation$to = matchLocation.to) != null ? _matchLocation$to : '*'));\n const params = {};\n\n let isMatch = (() => {\n for (let i = 0; i < Math.max(baseSegments.length, routeSegments.length); i++) {\n const baseSegment = baseSegments[i];\n const routeSegment = routeSegments[i];\n const isLastRouteSegment = i === routeSegments.length - 1;\n const isLastBaseSegment = i === baseSegments.length - 1;\n\n if (routeSegment) {\n if (routeSegment.type === 'wildcard') {\n if (baseSegment != null && baseSegment.value) {\n params['*'] = joinPaths(baseSegments.slice(i).map(d => d.value));\n return true;\n }\n\n return false;\n }\n\n if (routeSegment.type === 'pathname') {\n if (routeSegment.value === '/' && !(baseSegment != null && baseSegment.value)) {\n return true;\n }\n\n if (baseSegment) {\n if (matchLocation.caseSensitive) {\n if (routeSegment.value !== baseSegment.value) {\n return false;\n }\n } else if (routeSegment.value.toLowerCase() !== baseSegment.value.toLowerCase()) {\n return false;\n }\n }\n }\n\n if (!baseSegment) {\n return false;\n }\n\n if (routeSegment.type === 'param') {\n if ((baseSegment == null ? void 0 : baseSegment.value) === '/') {\n return false;\n }\n\n if (!baseSegment.value.startsWith(':')) {\n params[routeSegment.value.substring(1)] = baseSegment.value;\n }\n }\n }\n\n if (isLastRouteSegment && !isLastBaseSegment) {\n return !!matchLocation.fuzzy;\n }\n }\n\n return true;\n })();\n\n return isMatch ? params : undefined;\n}\n\n// @ts-nocheck\n// qss has been slightly modified and inlined here for our use cases (and compression's sake). We've included it as a hard dependency for MIT license attribution.\nfunction encode(obj, pfx) {\n var k,\n i,\n tmp,\n str = '';\n\n for (k in obj) {\n if ((tmp = obj[k]) !== void 0) {\n if (Array.isArray(tmp)) {\n for (i = 0; i < tmp.length; i++) {\n str && (str += '&');\n str += encodeURIComponent(k) + '=' + encodeURIComponent(tmp[i]);\n }\n } else {\n str && (str += '&');\n str += encodeURIComponent(k) + '=' + encodeURIComponent(tmp);\n }\n }\n }\n\n return (pfx || '') + str;\n}\n\nfunction toValue(mix) {\n if (!mix) return '';\n var str = decodeURIComponent(mix);\n if (str === 'false') return false;\n if (str === 'true') return true;\n if (str.charAt(0) === '0') return str;\n return +str * 0 === 0 ? +str : str;\n}\n\nfunction decode(str) {\n var tmp,\n k,\n out = {},\n arr = str.split('&');\n\n while (tmp = arr.shift()) {\n tmp = tmp.split('=');\n k = tmp.shift();\n\n if (out[k] !== void 0) {\n out[k] = [].concat(out[k], toValue(tmp.shift()));\n } else {\n out[k] = toValue(tmp.shift());\n }\n }\n\n return out;\n}\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction createRoute(routeConfig, options, parent, router) {\n const {\n id,\n routeId,\n path: routePath,\n fullPath\n } = routeConfig;\n\n const action = router.state.actions[id] || (() => {\n router.state.actions[id] = {\n pending: [],\n submit: async (submission, actionOpts) => {\n var _actionOpts$invalidat;\n\n if (!route) {\n return;\n }\n\n const invalidate = (_actionOpts$invalidat = actionOpts == null ? void 0 : actionOpts.invalidate) != null ? _actionOpts$invalidat : true;\n const actionState = {\n submittedAt: Date.now(),\n status: 'pending',\n submission\n };\n action.current = actionState;\n action.latest = actionState;\n action.pending.push(actionState);\n router.state = _extends({}, router.state, {\n currentAction: actionState,\n latestAction: actionState\n });\n router.notify();\n\n try {\n const res = await (route.options.action == null ? void 0 : route.options.action(submission));\n actionState.data = res;\n\n if (invalidate) {\n router.invalidateRoute({\n to: '.',\n fromCurrent: true\n });\n await router.reload();\n }\n\n actionState.status = 'success';\n return res;\n } catch (err) {\n console.error(err);\n actionState.error = err;\n actionState.status = 'error';\n } finally {\n action.pending = action.pending.filter(d => d !== actionState);\n router.removeActionQueue.push({\n action,\n actionState\n });\n router.notify();\n }\n }\n };\n return router.state.actions[id];\n })();\n\n const loader = router.state.loaders[id] || (() => {\n router.state.loaders[id] = {\n pending: [],\n fetch: async loaderContext => {\n if (!route) {\n return;\n }\n\n const loaderState = {\n loadedAt: Date.now(),\n loaderContext\n };\n loader.current = loaderState;\n loader.latest = loaderState;\n loader.pending.push(loaderState); // router.state = {\n // ...router.state,\n // currentAction: loaderState,\n // latestAction: loaderState,\n // }\n\n router.notify();\n\n try {\n return await (route.options.loader == null ? void 0 : route.options.loader(loaderContext));\n } finally {\n loader.pending = loader.pending.filter(d => d !== loaderState); // router.removeActionQueue.push({ loader, loaderState })\n\n router.notify();\n }\n }\n };\n return router.state.loaders[id];\n })();\n\n let route = {\n routeId: id,\n routeRouteId: routeId,\n routePath,\n fullPath,\n options,\n router,\n childRoutes: undefined,\n parentRoute: parent,\n action,\n loader: loader,\n buildLink: options => {\n return router.buildLink(_extends({}, options, {\n from: fullPath\n }));\n },\n navigate: options => {\n return router.navigate(_extends({}, options, {\n from: fullPath\n }));\n },\n matchRoute: (matchLocation, opts) => {\n return router.matchRoute(_extends({}, matchLocation, {\n from: fullPath\n }), opts);\n }\n };\n router.options.createRoute == null ? void 0 : router.options.createRoute({\n router,\n route\n });\n return route;\n}\n\nconst rootRouteId = '__root__';\nconst createRouteConfig = function createRouteConfig(options, children, isRoot, parentId, parentPath) {\n if (options === void 0) {\n options = {};\n }\n\n if (isRoot === void 0) {\n isRoot = true;\n }\n\n if (isRoot) {\n options.path = rootRouteId;\n } // Strip the root from parentIds\n\n\n if (parentId === rootRouteId) {\n parentId = '';\n }\n\n let path = isRoot ? rootRouteId : options.path; // If the path is anything other than an index path, trim it up\n\n if (path && path !== '/') {\n path = trimPath(path);\n }\n\n const routeId = path || options.id;\n let id = joinPaths([parentId, routeId]);\n\n if (path === rootRouteId) {\n path = '/';\n }\n\n if (id !== rootRouteId) {\n id = joinPaths(['/', id]);\n }\n\n const fullPath = id === rootRouteId ? '/' : trimPathRight(joinPaths([parentPath, path]));\n return {\n id: id,\n routeId: routeId,\n path: path,\n fullPath: fullPath,\n options: options,\n children,\n createChildren: cb => createRouteConfig(options, cb(childOptions => createRouteConfig(childOptions, undefined, false, id, fullPath)), false, parentId, parentPath),\n addChildren: children => createRouteConfig(options, children, false, parentId, parentPath),\n createRoute: childOptions => createRouteConfig(childOptions, undefined, false, id, fullPath)\n };\n};\n\nconst elementTypes = ['element', 'errorElement', 'catchElement', 'pendingElement'];\nfunction createRouteMatch(router, route, opts) {\n const routeMatch = _extends({}, route, opts, {\n router,\n routeSearch: {},\n search: {},\n childMatches: [],\n status: 'idle',\n routeLoaderData: {},\n loaderData: {},\n isPending: false,\n isFetching: false,\n isInvalid: false,\n invalidAt: Infinity,\n getIsInvalid: () => {\n const now = Date.now();\n return routeMatch.isInvalid || routeMatch.invalidAt < now;\n },\n __: {\n abortController: new AbortController(),\n latestId: '',\n resolve: () => {},\n notify: () => {\n routeMatch.__.resolve();\n\n routeMatch.router.notify();\n },\n startPending: () => {\n var _routeMatch$options$p, _routeMatch$options$p2;\n\n const pendingMs = (_routeMatch$options$p = routeMatch.options.pendingMs) != null ? _routeMatch$options$p : router.options.defaultPendingMs;\n const pendingMinMs = (_routeMatch$options$p2 = routeMatch.options.pendingMinMs) != null ? _routeMatch$options$p2 : router.options.defaultPendingMinMs;\n\n if (routeMatch.__.pendingTimeout || routeMatch.status !== 'loading' || typeof pendingMs === 'undefined') {\n return;\n }\n\n routeMatch.__.pendingTimeout = setTimeout(() => {\n routeMatch.isPending = true;\n\n routeMatch.__.resolve();\n\n if (typeof pendingMinMs !== 'undefined') {\n routeMatch.__.pendingMinPromise = new Promise(r => routeMatch.__.pendingMinTimeout = setTimeout(r, pendingMinMs));\n }\n }, pendingMs);\n },\n cancelPending: () => {\n routeMatch.isPending = false;\n clearTimeout(routeMatch.__.pendingTimeout);\n clearTimeout(routeMatch.__.pendingMinTimeout);\n delete routeMatch.__.pendingMinPromise;\n },\n // setParentMatch: (parentMatch?: RouteMatch) => {\n // routeMatch.parentMatch = parentMatch\n // },\n // addChildMatch: (childMatch: RouteMatch) => {\n // if (\n // routeMatch.childMatches.find((d) => d.matchId === childMatch.matchId)\n // ) {\n // return\n // }\n // routeMatch.childMatches.push(childMatch)\n // },\n validate: () => {\n var _routeMatch$parentMat, _routeMatch$parentMat2;\n\n // Validate the search params and stabilize them\n const parentSearch = (_routeMatch$parentMat = (_routeMatch$parentMat2 = routeMatch.parentMatch) == null ? void 0 : _routeMatch$parentMat2.search) != null ? _routeMatch$parentMat : router.location.search;\n\n try {\n const prevSearch = routeMatch.routeSearch;\n const validator = typeof routeMatch.options.validateSearch === 'object' ? routeMatch.options.validateSearch.parse : routeMatch.options.validateSearch;\n let nextSearch = replaceEqualDeep(prevSearch, validator == null ? void 0 : validator(parentSearch)); // Invalidate route matches when search param stability changes\n\n if (prevSearch !== nextSearch) {\n routeMatch.isInvalid = true;\n }\n\n routeMatch.routeSearch = nextSearch;\n routeMatch.search = replaceEqualDeep(parentSearch, _extends({}, parentSearch, nextSearch));\n } catch (err) {\n console.error(err);\n const error = new Error('Invalid search params found', {\n cause: err\n });\n error.code = 'INVALID_SEARCH_PARAMS';\n routeMatch.status = 'error';\n routeMatch.error = error; // Do not proceed with loading the route\n\n return;\n }\n }\n },\n cancel: () => {\n var _routeMatch$__$abortC;\n\n (_routeMatch$__$abortC = routeMatch.__.abortController) == null ? void 0 : _routeMatch$__$abortC.abort();\n\n routeMatch.__.cancelPending();\n },\n invalidate: () => {\n routeMatch.isInvalid = true;\n },\n hasLoaders: () => {\n return !!(route.options.loader || elementTypes.some(d => typeof route.options[d] === 'function'));\n },\n load: async loaderOpts => {\n const now = Date.now();\n const minMaxAge = loaderOpts != null && loaderOpts.preload ? Math.max(loaderOpts == null ? void 0 : loaderOpts.maxAge, loaderOpts == null ? void 0 : loaderOpts.gcMaxAge) : 0; // If this is a preload, add it to the preload cache\n\n if (loaderOpts != null && loaderOpts.preload && minMaxAge > 0) {\n // If the match is currently active, don't preload it\n if (router.state.matches.find(d => d.matchId === routeMatch.matchId)) {\n return;\n }\n\n router.matchCache[routeMatch.matchId] = {\n gc: now + loaderOpts.gcMaxAge,\n match: routeMatch\n };\n } // If the match is invalid, errored or idle, trigger it to load\n\n\n if (routeMatch.status === 'success' && routeMatch.getIsInvalid() || routeMatch.status === 'error' || routeMatch.status === 'idle') {\n const maxAge = loaderOpts != null && loaderOpts.preload ? loaderOpts == null ? void 0 : loaderOpts.maxAge : undefined;\n routeMatch.fetch({\n maxAge\n });\n }\n },\n fetch: async opts => {\n const id = '' + Date.now() + Math.random();\n routeMatch.__.latestId = id; // If the match was in an error state, set it\n // to a loading state again. Otherwise, keep it\n // as loading or resolved\n\n if (routeMatch.status === 'idle') {\n routeMatch.status = 'loading';\n } // We started loading the route, so it's no longer invalid\n\n\n routeMatch.isInvalid = false;\n routeMatch.__.loadPromise = new Promise(async resolve => {\n // We are now fetching, even if it's in the background of a\n // resolved state\n routeMatch.isFetching = true;\n routeMatch.__.resolve = resolve;\n\n const loaderPromise = (async () => {\n // Load the elements and data in parallel\n routeMatch.__.elementsPromise = (async () => {\n // then run all element and data loaders in parallel\n // For each element type, potentially load it asynchronously\n await Promise.all(elementTypes.map(async type => {\n const routeElement = routeMatch.options[type];\n\n if (routeMatch.__[type]) {\n return;\n }\n\n routeMatch.__[type] = await router.options.createElement(routeElement);\n }));\n })();\n\n routeMatch.__.dataPromise = Promise.resolve().then(async () => {\n try {\n var _ref, _ref2, _opts$maxAge;\n\n if (routeMatch.options.loader) {\n const data = await routeMatch.options.loader({\n params: routeMatch.params,\n search: routeMatch.routeSearch,\n signal: routeMatch.__.abortController.signal\n });\n\n if (id !== routeMatch.__.latestId) {\n return routeMatch.__.loaderPromise;\n }\n\n routeMatch.routeLoaderData = replaceEqualDeep(routeMatch.routeLoaderData, data);\n }\n\n routeMatch.error = undefined;\n routeMatch.status = 'success';\n routeMatch.updatedAt = Date.now();\n routeMatch.invalidAt = routeMatch.updatedAt + ((_ref = (_ref2 = (_opts$maxAge = opts == null ? void 0 : opts.maxAge) != null ? _opts$maxAge : routeMatch.options.loaderMaxAge) != null ? _ref2 : router.options.defaultLoaderMaxAge) != null ? _ref : 0);\n } catch (err) {\n if (id !== routeMatch.__.latestId) {\n return routeMatch.__.loaderPromise;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n console.error(err);\n }\n\n routeMatch.error = err;\n routeMatch.status = 'error';\n routeMatch.updatedAt = Date.now();\n }\n });\n\n try {\n await Promise.all([routeMatch.__.elementsPromise, routeMatch.__.dataPromise]);\n\n if (id !== routeMatch.__.latestId) {\n return routeMatch.__.loaderPromise;\n }\n\n if (routeMatch.__.pendingMinPromise) {\n await routeMatch.__.pendingMinPromise;\n delete routeMatch.__.pendingMinPromise;\n }\n } finally {\n if (id !== routeMatch.__.latestId) {\n return routeMatch.__.loaderPromise;\n }\n\n routeMatch.__.cancelPending();\n\n routeMatch.isPending = false;\n routeMatch.isFetching = false;\n\n routeMatch.__.notify();\n }\n })();\n\n routeMatch.__.loaderPromise = loaderPromise;\n await loaderPromise;\n\n if (id !== routeMatch.__.latestId) {\n return routeMatch.__.loaderPromise;\n }\n\n delete routeMatch.__.loaderPromise;\n });\n return await routeMatch.__.loadPromise;\n }\n });\n\n if (!routeMatch.hasLoaders()) {\n routeMatch.status = 'success';\n }\n\n return routeMatch;\n}\n\nconst defaultParseSearch = parseSearchWith(JSON.parse);\nconst defaultStringifySearch = stringifySearchWith(JSON.stringify);\nfunction parseSearchWith(parser) {\n return searchStr => {\n if (searchStr.substring(0, 1) === '?') {\n searchStr = searchStr.substring(1);\n }\n\n let query = decode(searchStr); // Try to parse any query params that might be json\n\n for (let key in query) {\n const value = query[key];\n\n if (typeof value === 'string') {\n try {\n query[key] = parser(value);\n } catch (err) {//\n }\n }\n }\n\n return query;\n };\n}\nfunction stringifySearchWith(stringify) {\n return search => {\n search = _extends({}, search);\n\n if (search) {\n Object.keys(search).forEach(key => {\n const val = search[key];\n\n if (typeof val === 'undefined' || val === undefined) {\n delete search[key];\n } else if (val && typeof val === 'object' && val !== null) {\n try {\n search[key] = stringify(val);\n } catch (err) {// silent\n }\n }\n });\n }\n\n const searchStr = encode(search).toString();\n return searchStr ? \"?\" + searchStr : '';\n };\n}\n\nvar _window$document;\n// Detect if we're in the DOM\nconst isServer = typeof window === 'undefined' || !((_window$document = window.document) != null && _window$document.createElement); // This is the default history object if none is defined\n\nconst createDefaultHistory = () => isServer ? createMemoryHistory() : createBrowserHistory();\n\nfunction createRouter(userOptions) {\n var _userOptions$stringif, _userOptions$parseSea;\n\n const history = (userOptions == null ? void 0 : userOptions.history) || createDefaultHistory();\n\n const originalOptions = _extends({\n defaultLoaderGcMaxAge: 5 * 60 * 1000,\n defaultLoaderMaxAge: 0,\n defaultPreloadMaxAge: 2000,\n defaultPreloadDelay: 50\n }, userOptions, {\n stringifySearch: (_userOptions$stringif = userOptions == null ? void 0 : userOptions.stringifySearch) != null ? _userOptions$stringif : defaultStringifySearch,\n parseSearch: (_userOptions$parseSea = userOptions == null ? void 0 : userOptions.parseSearch) != null ? _userOptions$parseSea : defaultParseSearch\n });\n\n let router = {\n history,\n options: originalOptions,\n listeners: [],\n removeActionQueue: [],\n // Resolved after construction\n basepath: '',\n routeTree: undefined,\n routesById: {},\n location: undefined,\n allRouteInfo: undefined,\n //\n navigationPromise: Promise.resolve(),\n resolveNavigation: () => {},\n matchCache: {},\n state: {\n status: 'idle',\n location: null,\n matches: [],\n actions: {},\n loaders: {},\n lastUpdated: Date.now(),\n isFetching: false,\n isPreloading: false\n },\n startedLoadingAt: Date.now(),\n subscribe: listener => {\n router.listeners.push(listener);\n return () => {\n router.listeners = router.listeners.filter(x => x !== listener);\n };\n },\n getRoute: id => {\n return router.routesById[id];\n },\n notify: () => {\n router.state = _extends({}, router.state, {\n isFetching: router.state.status === 'loading' || router.state.matches.some(d => d.isFetching),\n isPreloading: Object.values(router.matchCache).some(d => d.match.isFetching && !router.state.matches.find(dd => dd.matchId === d.match.matchId))\n });\n cascadeLoaderData(router.state.matches);\n router.listeners.forEach(listener => listener(router));\n },\n dehydrateState: () => {\n return _extends({}, pick(router.state, ['status', 'location', 'lastUpdated']), {\n matches: router.state.matches.map(match => pick(match, ['matchId', 'status', 'routeLoaderData', 'loaderData', 'isInvalid', 'invalidAt']))\n });\n },\n hydrateState: dehydratedState => {\n // Match the routes\n const matches = router.matchRoutes(router.location.pathname, {\n strictParseParams: true\n });\n router.state = _extends({}, router.state, dehydratedState, {\n matches: matches.map(match => {\n const dehydratedMatch = dehydratedState.matches.find(d => d.matchId === match.matchId);\n invariant(dehydratedMatch, 'Oh no! Dehydrated route matches did not match the active state of the router 😬');\n Object.assign(match, dehydratedMatch);\n return match;\n })\n });\n },\n mount: () => {\n const next = router.__.buildLocation({\n to: '.',\n search: true,\n hash: true\n }); // If the current location isn't updated, trigger a navigation\n // to the current location. Otherwise, load the current location.\n\n\n if (next.href !== router.location.href) {\n router.__.commitLocation(next, true);\n }\n\n router.loadLocation();\n const unsub = router.history.listen(event => {\n console.log(event.location);\n router.loadLocation(router.__.parseLocation(event.location, router.location));\n }); // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\n if (!isServer && window.addEventListener) {\n // Listen to visibillitychange and focus\n window.addEventListener('visibilitychange', router.onFocus, false);\n window.addEventListener('focus', router.onFocus, false);\n }\n\n return () => {\n unsub(); // Be sure to unsubscribe if a new handler is set\n\n window.removeEventListener('visibilitychange', router.onFocus);\n window.removeEventListener('focus', router.onFocus);\n };\n },\n onFocus: () => {\n router.loadLocation();\n },\n update: opts => {\n const newHistory = (opts == null ? void 0 : opts.history) !== router.history;\n\n if (!router.location || newHistory) {\n if (opts != null && opts.history) {\n router.history = opts.history;\n }\n\n router.location = router.__.parseLocation(router.history.location);\n router.state.location = router.location;\n }\n\n Object.assign(router.options, opts);\n const {\n basepath,\n routeConfig\n } = router.options;\n router.basepath = cleanPath(\"/\" + (basepath != null ? basepath : ''));\n\n if (routeConfig) {\n router.routesById = {};\n router.routeTree = router.__.buildRouteTree(routeConfig);\n }\n\n return router;\n },\n cancelMatches: () => {\n var _router$state$pending, _router$state$pending2;\n [...router.state.matches, ...((_router$state$pending = (_router$state$pending2 = router.state.pending) == null ? void 0 : _router$state$pending2.matches) != null ? _router$state$pending : [])].forEach(match => {\n match.cancel();\n });\n },\n loadLocation: async next => {\n const id = Math.random();\n router.startedLoadingAt = id;\n\n if (next) {\n // Ingest the new location\n router.location = next;\n } // Clear out old actions\n\n\n router.removeActionQueue.forEach(_ref => {\n let {\n action,\n actionState\n } = _ref;\n\n if (router.state.currentAction === actionState) {\n router.state.currentAction = undefined;\n }\n\n if (action.current === actionState) {\n action.current = undefined;\n }\n });\n router.removeActionQueue = []; // Cancel any pending matches\n\n router.cancelMatches(); // Match the routes\n\n const matches = router.matchRoutes(router.location.pathname, {\n strictParseParams: true\n });\n router.state = _extends({}, router.state, {\n pending: {\n matches: matches,\n location: router.location\n },\n status: 'loading'\n });\n router.notify(); // Load the matches\n\n await router.loadMatches(matches, {\n withPending: true\n });\n\n if (router.startedLoadingAt !== id) {\n // Ignore side-effects of match loading\n return router.navigationPromise;\n }\n\n const previousMatches = router.state.matches;\n const exiting = [],\n staying = [];\n previousMatches.forEach(d => {\n if (matches.find(dd => dd.matchId === d.matchId)) {\n staying.push(d);\n } else {\n exiting.push(d);\n }\n });\n const now = Date.now();\n exiting.forEach(d => {\n var _ref2, _d$options$loaderGcMa, _ref3, _d$options$loaderMaxA;\n\n d.__.onExit == null ? void 0 : d.__.onExit({\n params: d.params,\n search: d.routeSearch\n }); // Clear idle error states when match leaves\n\n if (d.status === 'error' && !d.isFetching) {\n d.status = 'idle';\n d.error = undefined;\n }\n\n const gc = Math.max((_ref2 = (_d$options$loaderGcMa = d.options.loaderGcMaxAge) != null ? _d$options$loaderGcMa : router.options.defaultLoaderGcMaxAge) != null ? _ref2 : 0, (_ref3 = (_d$options$loaderMaxA = d.options.loaderMaxAge) != null ? _d$options$loaderMaxA : router.options.defaultLoaderMaxAge) != null ? _ref3 : 0);\n\n if (gc > 0) {\n router.matchCache[d.matchId] = {\n gc: gc == Infinity ? Number.MAX_SAFE_INTEGER : now + gc,\n match: d\n };\n }\n });\n staying.forEach(d => {\n d.options.onTransition == null ? void 0 : d.options.onTransition({\n params: d.params,\n search: d.routeSearch\n });\n });\n const entering = matches.filter(d => {\n return !previousMatches.find(dd => dd.matchId === d.matchId);\n });\n entering.forEach(d => {\n d.__.onExit = d.options.onMatch == null ? void 0 : d.options.onMatch({\n params: d.params,\n search: d.search\n });\n delete router.matchCache[d.matchId];\n });\n\n if (matches.some(d => d.status === 'loading')) {\n router.notify();\n await Promise.all(matches.map(d => d.__.loaderPromise || Promise.resolve()));\n }\n\n if (router.startedLoadingAt !== id) {\n // Ignore side-effects of match loading\n return;\n }\n\n router.state = _extends({}, router.state, {\n location: router.location,\n matches,\n pending: undefined,\n status: 'idle'\n });\n router.notify();\n router.resolveNavigation();\n },\n cleanMatchCache: () => {\n const now = Date.now();\n Object.keys(router.matchCache).forEach(matchId => {\n const entry = router.matchCache[matchId]; // Don't remove loading matches\n\n if (entry.match.status === 'loading') {\n return;\n } // Do not remove successful matches that are still valid\n\n\n if (entry.gc > 0 && entry.gc > now) {\n return;\n } // Everything else gets removed\n\n\n delete router.matchCache[matchId];\n });\n },\n loadRoute: async function loadRoute(navigateOpts) {\n if (navigateOpts === void 0) {\n navigateOpts = router.location;\n }\n\n const next = router.buildNext(navigateOpts);\n const matches = router.matchRoutes(next.pathname, {\n strictParseParams: true\n });\n await router.loadMatches(matches);\n return matches;\n },\n preloadRoute: async function preloadRoute(navigateOpts, loaderOpts) {\n var _ref4, _ref5, _loaderOpts$maxAge, _ref6, _ref7, _loaderOpts$gcMaxAge;\n\n if (navigateOpts === void 0) {\n navigateOpts = router.location;\n }\n\n const next = router.buildNext(navigateOpts);\n const matches = router.matchRoutes(next.pathname, {\n strictParseParams: true\n });\n await router.loadMatches(matches, {\n preload: true,\n maxAge: (_ref4 = (_ref5 = (_loaderOpts$maxAge = loaderOpts.maxAge) != null ? _loaderOpts$maxAge : router.options.defaultPreloadMaxAge) != null ? _ref5 : router.options.defaultLoaderMaxAge) != null ? _ref4 : 0,\n gcMaxAge: (_ref6 = (_ref7 = (_loaderOpts$gcMaxAge = loaderOpts.gcMaxAge) != null ? _loaderOpts$gcMaxAge : router.options.defaultPreloadGcMaxAge) != null ? _ref7 : router.options.defaultLoaderGcMaxAge) != null ? _ref6 : 0\n });\n return matches;\n },\n matchRoutes: (pathname, opts) => {\n var _router$state$pending3, _router$state$pending4;\n\n router.cleanMatchCache();\n const matches = [];\n\n if (!router.routeTree) {\n return matches;\n }\n\n const existingMatches = [...router.state.matches, ...((_router$state$pending3 = (_router$state$pending4 = router.state.pending) == null ? void 0 : _router$state$pending4.matches) != null ? _router$state$pending3 : [])];\n\n const recurse = async routes => {\n var _parentMatch$params, _router$options$filte, _foundRoute$childRout;\n\n const parentMatch = last(matches);\n let params = (_parentMatch$params = parentMatch == null ? void 0 : parentMatch.params) != null ? _parentMatch$params : {};\n const filteredRoutes = (_router$options$filte = router.options.filterRoutes == null ? void 0 : router.options.filterRoutes(routes)) != null ? _router$options$filte : routes;\n let foundRoutes = [];\n\n const findMatchInRoutes = (parentRoutes, routes) => {\n routes.some(route => {\n var _route$childRoutes, _route$childRoutes2, _route$options$caseSe;\n\n if (!route.routePath && (_route$childRoutes = route.childRoutes) != null && _route$childRoutes.length) {\n return findMatchInRoutes([...foundRoutes, route], route.childRoutes);\n }\n\n const fuzzy = !!(route.routePath !== '/' || (_route$childRoutes2 = route.childRoutes) != null && _route$childRoutes2.length);\n const matchParams = matchPathname(pathname, {\n to: route.fullPath,\n fuzzy,\n caseSensitive: (_route$options$caseSe = route.options.caseSensitive) != null ? _route$options$caseSe : router.options.caseSensitive\n });\n\n if (matchParams) {\n let parsedParams;\n\n try {\n var _route$options$parseP;\n\n parsedParams = (_route$options$parseP = route.options.parseParams == null ? void 0 : route.options.parseParams(matchParams)) != null ? _route$options$parseP : matchParams;\n } catch (err) {\n if (opts != null && opts.strictParseParams) {\n throw err;\n }\n }\n\n params = _extends({}, params, parsedParams);\n }\n\n if (!!matchParams) {\n foundRoutes = [...parentRoutes, route];\n }\n\n return !!foundRoutes.length;\n });\n return !!foundRoutes.length;\n };\n\n findMatchInRoutes([], filteredRoutes);\n\n if (!foundRoutes.length) {\n return;\n }\n\n foundRoutes.forEach(foundRoute => {\n var _router$matchCache$ma;\n\n const interpolatedPath = interpolatePath(foundRoute.routePath, params);\n const matchId = interpolatePath(foundRoute.routeId, params, true);\n const match = existingMatches.find(d => d.matchId === matchId) || ((_router$matchCache$ma = router.matchCache[matchId]) == null ? void 0 : _router$matchCache$ma.match) || createRouteMatch(router, foundRoute, {\n matchId,\n params,\n pathname: joinPaths([pathname, interpolatedPath])\n });\n matches.push(match);\n });\n const foundRoute = last(foundRoutes);\n\n if ((_foundRoute$childRout = foundRoute.childRoutes) != null && _foundRoute$childRout.length) {\n recurse(foundRoute.childRoutes);\n }\n };\n\n recurse([router.routeTree]);\n cascadeLoaderData(matches);\n return matches;\n },\n loadMatches: async (resolvedMatches, loaderOpts) => {\n const matchPromises = resolvedMatches.map(async match => {\n // Validate the match (loads search params etc)\n match.__.validate();\n\n match.load(loaderOpts);\n\n if (match.status === 'loading') {\n // If requested, start the pending timers\n if (loaderOpts != null && loaderOpts.withPending) match.__.startPending(); // Wait for the first sign of activity from the match\n // This might be completion, error, or a pending state\n\n await match.__.loadPromise;\n }\n });\n router.notify();\n await Promise.all(matchPromises);\n },\n invalidateRoute: opts => {\n var _router$state$pending5, _router$state$pending6;\n\n const next = router.buildNext(opts);\n const unloadedMatchIds = router.matchRoutes(next.pathname).map(d => d.matchId);\n [...router.state.matches, ...((_router$state$pending5 = (_router$state$pending6 = router.state.pending) == null ? void 0 : _router$state$pending6.matches) != null ? _router$state$pending5 : [])].forEach(match => {\n if (unloadedMatchIds.includes(match.matchId)) {\n match.invalidate();\n }\n });\n },\n reload: () => router.__.navigate({\n fromCurrent: true,\n replace: true,\n search: true\n }),\n resolvePath: (from, path) => {\n return resolvePath(router.basepath, from, cleanPath(path));\n },\n matchRoute: (location, opts) => {\n var _location$from;\n\n // const location = router.buildNext(opts)\n location = _extends({}, location, {\n to: location.to ? router.resolvePath((_location$from = location.from) != null ? _location$from : '', location.to) : undefined\n });\n const next = router.buildNext(location);\n\n if (opts != null && opts.pending) {\n var _router$state$pending7;\n\n if (!((_router$state$pending7 = router.state.pending) != null && _router$state$pending7.location)) {\n return false;\n }\n\n return !!matchPathname(router.state.pending.location.pathname, _extends({}, opts, {\n to: next.pathname\n }));\n }\n\n return !!matchPathname(router.state.location.pathname, _extends({}, opts, {\n to: next.pathname\n }));\n },\n navigate: async _ref8 => {\n let {\n from,\n to = '.',\n search,\n hash,\n replace,\n params\n } = _ref8;\n // If this link simply reloads the current route,\n // make sure it has a new key so it will trigger a data refresh\n // If this `to` is a valid external URL, return\n // null for LinkUtils\n const toString = String(to);\n const fromString = String(from);\n let isExternal;\n\n try {\n new URL(\"\" + toString);\n isExternal = true;\n } catch (e) {}\n\n invariant(!isExternal, 'Attempting to navigate to external url with router.navigate!');\n return router.__.navigate({\n from: fromString,\n to: toString,\n search,\n hash,\n replace,\n params\n });\n },\n buildLink: _ref9 => {\n var _preload, _ref10;\n\n let {\n from,\n to = '.',\n search,\n params,\n hash,\n target,\n replace,\n activeOptions,\n preload,\n preloadMaxAge: userPreloadMaxAge,\n preloadGcMaxAge: userPreloadGcMaxAge,\n preloadDelay: userPreloadDelay,\n disabled\n } = _ref9;\n\n // If this link simply reloads the current route,\n // make sure it has a new key so it will trigger a data refresh\n // If this `to` is a valid external URL, return\n // null for LinkUtils\n try {\n new URL(\"\" + to);\n return {\n type: 'external',\n href: to\n };\n } catch (e) {}\n\n const nextOpts = {\n from,\n to,\n search,\n params,\n hash,\n replace\n };\n const next = router.buildNext(nextOpts);\n preload = (_preload = preload) != null ? _preload : router.options.defaultPreload;\n const preloadDelay = (_ref10 = userPreloadDelay != null ? userPreloadDelay : router.options.defaultPreloadDelay) != null ? _ref10 : 0; // Compare path/hash for matches\n\n const pathIsEqual = router.state.location.pathname === next.pathname;\n const currentPathSplit = router.state.location.pathname.split('/');\n const nextPathSplit = next.pathname.split('/');\n const pathIsFuzzyEqual = nextPathSplit.every((d, i) => d === currentPathSplit[i]);\n const hashIsEqual = router.state.location.hash === next.hash; // Combine the matches based on user options\n\n const pathTest = activeOptions != null && activeOptions.exact ? pathIsEqual : pathIsFuzzyEqual;\n const hashTest = activeOptions != null && activeOptions.includeHash ? hashIsEqual : true; // The final \"active\" test\n\n const isActive = pathTest && hashTest; // The click handler\n\n const handleClick = e => {\n if (!disabled && !isCtrlEvent(e) && !e.defaultPrevented && (!target || target === '_self') && e.button === 0) {\n e.preventDefault();\n\n if (pathIsEqual && !search && !hash) {\n router.invalidateRoute(nextOpts);\n } // All is well? Navigate!)\n\n\n router.__.navigate(nextOpts);\n }\n }; // The click handler\n\n\n const handleFocus = e => {\n if (preload) {\n router.preloadRoute(nextOpts, {\n maxAge: userPreloadMaxAge,\n gcMaxAge: userPreloadGcMaxAge\n });\n }\n };\n\n const handleEnter = e => {\n const target = e.target || {};\n\n if (preload) {\n if (target.preloadTimeout) {\n return;\n }\n\n target.preloadTimeout = setTimeout(() => {\n target.preloadTimeout = null;\n router.preloadRoute(nextOpts, {\n maxAge: userPreloadMaxAge,\n gcMaxAge: userPreloadGcMaxAge\n });\n }, preloadDelay);\n }\n };\n\n const handleLeave = e => {\n const target = e.target || {};\n\n if (target.preloadTimeout) {\n clearTimeout(target.preloadTimeout);\n target.preloadTimeout = null;\n }\n };\n\n return {\n type: 'internal',\n next,\n handleFocus,\n handleClick,\n handleEnter,\n handleLeave,\n isActive,\n disabled\n };\n },\n buildNext: opts => {\n const next = router.__.buildLocation(opts);\n\n const matches = router.matchRoutes(next.pathname);\n\n const __preSearchFilters = matches.map(match => {\n var _match$options$preSea;\n\n return (_match$options$preSea = match.options.preSearchFilters) != null ? _match$options$preSea : [];\n }).flat().filter(Boolean);\n\n const __postSearchFilters = matches.map(match => {\n var _match$options$postSe;\n\n return (_match$options$postSe = match.options.postSearchFilters) != null ? _match$options$postSe : [];\n }).flat().filter(Boolean);\n\n return router.__.buildLocation(_extends({}, opts, {\n __preSearchFilters,\n __postSearchFilters\n }));\n },\n __: {\n buildRouteTree: rootRouteConfig => {\n const recurseRoutes = (routeConfigs, parent) => {\n return routeConfigs.map(routeConfig => {\n const routeOptions = routeConfig.options;\n const route = createRoute(routeConfig, routeOptions, parent, router);\n const existingRoute = router.routesById[route.routeId];\n\n if (existingRoute) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"Duplicate routes found with id: \" + String(route.routeId), router.routesById, route);\n }\n\n throw new Error();\n }\n router.routesById[route.routeId] = route;\n const children = routeConfig.children;\n route.childRoutes = children != null && children.length ? recurseRoutes(children, route) : undefined;\n return route;\n });\n };\n\n const routes = recurseRoutes([rootRouteConfig]);\n return routes[0];\n },\n parseLocation: (location, previousLocation) => {\n var _location$hash$split$;\n\n const parsedSearch = router.options.parseSearch(location.search);\n return {\n pathname: location.pathname,\n searchStr: location.search,\n search: replaceEqualDeep(previousLocation == null ? void 0 : previousLocation.search, parsedSearch),\n hash: (_location$hash$split$ = location.hash.split('#').reverse()[0]) != null ? _location$hash$split$ : '',\n href: \"\" + location.pathname + location.search + location.hash,\n state: location.state,\n key: location.key\n };\n },\n navigate: location => {\n const next = router.buildNext(location);\n return router.__.commitLocation(next, location.replace);\n },\n buildLocation: function buildLocation(dest) {\n var _dest$from, _router$basepath, _dest$to, _last, _dest$params, _dest$__preSearchFilt, _functionalUpdate, _dest$__preSearchFilt2, _dest$__postSearchFil;\n\n if (dest === void 0) {\n dest = {};\n }\n\n // const resolvedFrom: Location = {\n // ...router.location,\n const fromPathname = dest.fromCurrent ? router.location.pathname : (_dest$from = dest.from) != null ? _dest$from : router.location.pathname;\n\n let pathname = resolvePath((_router$basepath = router.basepath) != null ? _router$basepath : '/', fromPathname, \"\" + ((_dest$to = dest.to) != null ? _dest$to : '.'));\n\n const fromMatches = router.matchRoutes(router.location.pathname, {\n strictParseParams: true\n });\n const toMatches = router.matchRoutes(pathname);\n\n const prevParams = _extends({}, (_last = last(fromMatches)) == null ? void 0 : _last.params);\n\n let nextParams = ((_dest$params = dest.params) != null ? _dest$params : true) === true ? prevParams : functionalUpdate(dest.params, prevParams);\n\n if (nextParams) {\n toMatches.map(d => d.options.stringifyParams).filter(Boolean).forEach(fn => {\n Object.assign({}, nextParams, fn(nextParams));\n });\n }\n\n pathname = interpolatePath(pathname, nextParams != null ? nextParams : {}); // Pre filters first\n\n const preFilteredSearch = (_dest$__preSearchFilt = dest.__preSearchFilters) != null && _dest$__preSearchFilt.length ? dest.__preSearchFilters.reduce((prev, next) => next(prev), router.location.search) : router.location.search; // Then the link/navigate function\n\n const destSearch = dest.search === true ? preFilteredSearch // Preserve resolvedFrom true\n : dest.search ? (_functionalUpdate = functionalUpdate(dest.search, preFilteredSearch)) != null ? _functionalUpdate : {} // Updater\n : (_dest$__preSearchFilt2 = dest.__preSearchFilters) != null && _dest$__preSearchFilt2.length ? preFilteredSearch // Preserve resolvedFrom filters\n : {}; // Then post filters\n\n const postFilteredSearch = (_dest$__postSearchFil = dest.__postSearchFilters) != null && _dest$__postSearchFil.length ? dest.__postSearchFilters.reduce((prev, next) => next(prev), destSearch) : destSearch;\n const search = replaceEqualDeep(router.location.search, postFilteredSearch);\n const searchStr = router.options.stringifySearch(search);\n let hash = dest.hash === true ? router.location.hash : functionalUpdate(dest.hash, router.location.hash);\n hash = hash ? \"#\" + hash : '';\n return {\n pathname,\n search,\n searchStr,\n state: router.location.state,\n hash,\n href: \"\" + pathname + searchStr + hash,\n key: dest.key\n };\n },\n commitLocation: (next, replace) => {\n const id = '' + Date.now() + Math.random();\n if (router.navigateTimeout) clearTimeout(router.navigateTimeout);\n let nextAction = 'replace';\n\n if (!replace) {\n nextAction = 'push';\n }\n\n const isSameUrl = router.__.parseLocation(history.location).href === next.href;\n\n if (isSameUrl && !next.key) {\n nextAction = 'replace';\n }\n\n if (nextAction === 'replace') {\n history.replace({\n pathname: next.pathname,\n hash: next.hash,\n search: next.searchStr\n }, {\n id\n });\n } else {\n history.push({\n pathname: next.pathname,\n hash: next.hash,\n search: next.searchStr\n }, {\n id\n });\n }\n\n router.navigationPromise = new Promise(resolve => {\n const previousNavigationResolve = router.resolveNavigation;\n\n router.resolveNavigation = () => {\n previousNavigationResolve();\n resolve();\n };\n });\n return router.navigationPromise;\n }\n }\n };\n router.update(userOptions); // Allow frameworks to hook into the router creation\n\n router.options.createRouter == null ? void 0 : router.options.createRouter(router);\n return router;\n}\n\nfunction isCtrlEvent(e) {\n return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);\n}\n\nfunction cascadeLoaderData(matches) {\n matches.forEach((match, index) => {\n const parent = matches[index - 1];\n\n if (parent) {\n match.loaderData = replaceEqualDeep(match.loaderData, _extends({}, parent.loaderData, match.routeLoaderData));\n }\n });\n}\n\nexport { cleanPath, createBrowserHistory, createHashHistory, createMemoryHistory, createRoute, createRouteConfig, createRouteMatch, createRouter, decode, defaultParseSearch, defaultStringifySearch, encode, functionalUpdate, interpolatePath, invariant, joinPaths, last, matchByPath, matchPathname, parsePathname, parseSearchWith, pick, replaceEqualDeep, resolvePath, rootRouteId, stringifySearchWith, trimPath, trimPathLeft, trimPathRight, warning };\n//# sourceMappingURL=index.js.map\n"],"names":[],"mappings":"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"}
|