{"version":3,"file":"npm.react-router-1519bf9d788327de0de7.chunk.js","mappings":"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","sources":["webpack://netopia-payments/./node_modules/react-router/dist/index.js"],"sourcesContent":["/**\n * React Router v6.30.0\n *\n * Copyright (c) Remix Software Inc.\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 */\nimport * as React from 'react';\nimport { UNSAFE_invariant, joinPaths, matchPath, UNSAFE_decodePath, UNSAFE_getResolveToMatches, UNSAFE_warning, resolveTo, parsePath, matchRoutes, Action, UNSAFE_convertRouteMatchToUiMatch, stripBasename, IDLE_BLOCKER, isRouteErrorResponse, createMemoryHistory, AbortedDeferredError, createRouter } from '@remix-run/router';\nexport { AbortedDeferredError, Action as NavigationType, createPath, defer, generatePath, isRouteErrorResponse, json, matchPath, matchRoutes, parsePath, redirect, redirectDocument, replace, resolvePath } from '@remix-run/router';\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 for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nconst DataRouterContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataRouterContext.displayName = \"DataRouter\";\n}\nconst DataRouterStateContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\nconst AwaitContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n AwaitContext.displayName = \"Await\";\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level `` API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\n\nconst NavigationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n NavigationContext.displayName = \"Navigation\";\n}\nconst LocationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n LocationContext.displayName = \"Location\";\n}\nconst RouteContext = /*#__PURE__*/React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false\n});\nif (process.env.NODE_ENV !== \"production\") {\n RouteContext.displayName = \"Route\";\n}\nconst RouteErrorContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n RouteErrorContext.displayName = \"RouteError\";\n}\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/v6/hooks/use-href\n */\nfunction useHref(to, _temp) {\n let {\n relative\n } = _temp === void 0 ? {} : _temp;\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useHref() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n let {\n basename,\n navigator\n } = React.useContext(NavigationContext);\n let {\n hash,\n pathname,\n search\n } = useResolvedPath(to, {\n relative\n });\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname = pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n return navigator.createHref({\n pathname: joinedPathname,\n search,\n hash\n });\n}\n\n/**\n * Returns true if this component is a descendant of a ``.\n *\n * @see https://reactrouter.com/v6/hooks/use-in-router-context\n */\nfunction useInRouterContext() {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/v6/hooks/use-location\n */\nfunction useLocation() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useLocation() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/v6/hooks/use-navigation-type\n */\nfunction useNavigationType() {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * ``.\n *\n * @see https://reactrouter.com/v6/hooks/use-match\n */\nfunction useMatch(pattern) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useMatch() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n let {\n pathname\n } = useLocation();\n return React.useMemo(() => matchPath(pattern, UNSAFE_decodePath(pathname)), [pathname, pattern]);\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\n\nconst navigateEffectWarning = \"You should call navigate() in a React.useEffect(), not when \" + \"your component is first rendered.\";\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(cb) {\n let isStatic = React.useContext(NavigationContext).static;\n if (!isStatic) {\n // We should be able to get rid of this once react 18.3 is released\n // See: https://github.com/facebook/react/pull/26395\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(cb);\n }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by ``s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/v6/hooks/use-navigate\n */\nfunction useNavigate() {\n let {\n isDataRoute\n } = React.useContext(RouteContext);\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\nfunction useNavigateUnstable() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useNavigate() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n let dataRouterContext = React.useContext(DataRouterContext);\n let {\n basename,\n future,\n navigator\n } = React.useContext(NavigationContext);\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath));\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React.useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our history listener yet\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, options.relative === \"path\");\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history (but only if we're not in a data router,\n // otherwise it'll prepend the basename inside of the router).\n // If this is a root navigation, then we navigate to the raw basename\n // which allows the basename to have full control over the presence of a\n // trailing slash on root links\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n (!!options.replace ? navigator.replace : navigator.push)(path, options.state, options);\n }, [basename, navigator, routePathnamesJson, locationPathname, dataRouterContext]);\n return navigate;\n}\nconst OutletContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/v6/hooks/use-outlet-context\n */\nfunction useOutletContext() {\n return React.useContext(OutletContext);\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by `` to render child routes.\n *\n * @see https://reactrouter.com/v6/hooks/use-outlet\n */\nfunction useOutlet(context) {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return /*#__PURE__*/React.createElement(OutletContext.Provider, {\n value: context\n }, outlet);\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/v6/hooks/use-params\n */\nfunction useParams() {\n let {\n matches\n } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? routeMatch.params : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/v6/hooks/use-resolved-path\n */\nfunction useResolvedPath(to, _temp2) {\n let {\n relative\n } = _temp2 === void 0 ? {} : _temp2;\n let {\n future\n } = React.useContext(NavigationContext);\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath));\n return React.useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, relative === \"path\"), [to, routePathnamesJson, locationPathname, relative]);\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an `` to render their child route's\n * element.\n *\n * @see https://reactrouter.com/v6/hooks/use-routes\n */\nfunction useRoutes(routes, locationArg) {\n return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nfunction useRoutesImpl(routes, locationArg, dataRouterState, future) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useRoutes() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n let {\n navigator,\n static: isStatic\n } = React.useContext(NavigationContext);\n let {\n matches: parentMatches\n } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n if (process.env.NODE_ENV !== \"production\") {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = parentRoute && parentRoute.path || \"\";\n warningOnce(parentPathname, !parentRoute || parentPath.endsWith(\"*\"), \"You rendered descendant (or called `useRoutes()`) at \" + (\"\\\"\" + parentPathname + \"\\\" (under ) but the \") + \"parent route path has no trailing \\\"*\\\". This means if you navigate \" + \"deeper, the parent won't match anymore and therefore the child \" + \"routes will never render.\\n\\n\" + (\"Please change the parent to .\"));\n }\n let locationFromContext = useLocation();\n let location;\n if (locationArg) {\n var _parsedLocationArg$pa;\n let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n !(parentPathnameBase === \"/\" || ((_parsedLocationArg$pa = parsedLocationArg.pathname) == null ? void 0 : _parsedLocationArg$pa.startsWith(parentPathnameBase))) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"When overriding the location using `` or `useRoutes(routes, location)`, \" + \"the location pathname must begin with the portion of the URL pathname that was \" + (\"matched by all parent routes. The current pathname base is \\\"\" + parentPathnameBase + \"\\\" \") + (\"but pathname \\\"\" + parsedLocationArg.pathname + \"\\\" was given in the `location` prop.\")) : UNSAFE_invariant(false) : void 0;\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n let pathname = location.pathname || \"/\";\n let remainingPathname = pathname;\n if (parentPathnameBase !== \"/\") {\n // Determine the remaining pathname by removing the # of URL segments the\n // parentPathnameBase has, instead of removing based on character count.\n // This is because we can't guarantee that incoming/outgoing encodings/\n // decodings will match exactly.\n // We decode paths before matching on a per-segment basis with\n // decodeURIComponent(), but we re-encode pathnames via `new URL()` so they\n // match what `window.location.pathname` would reflect. Those don't 100%\n // align when it comes to encoded URI characters such as % and &.\n //\n // So we may end up with:\n // pathname: \"/descendant/a%25b/match\"\n // parentPathnameBase: \"/descendant/a%b\"\n //\n // And the direct substring removal approach won't work :/\n let parentSegments = parentPathnameBase.replace(/^\\//, \"\").split(\"/\");\n let segments = pathname.replace(/^\\//, \"\").split(\"/\");\n remainingPathname = \"/\" + segments.slice(parentSegments.length).join(\"/\");\n }\n let matches = !isStatic && dataRouterState && dataRouterState.matches && dataRouterState.matches.length > 0 ? dataRouterState.matches : matchRoutes(routes, {\n pathname: remainingPathname\n });\n if (process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(parentRoute || matches != null, \"No routes matched location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \") : void 0;\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(matches == null || matches[matches.length - 1].route.element !== undefined || matches[matches.length - 1].route.Component !== undefined || matches[matches.length - 1].route.lazy !== undefined, \"Matched leaf route at location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \" + \"does not have an element or Component. This means it will render an with a \" + \"null value by default resulting in an \\\"empty\\\" page.\") : void 0;\n }\n let renderedMatches = _renderMatches(matches && matches.map(match => Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation ? navigator.encodeLocation(match.pathname).pathname : match.pathname]),\n pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation ? navigator.encodeLocation(match.pathnameBase).pathname : match.pathnameBase])\n })), parentMatches, dataRouterState, future);\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return /*#__PURE__*/React.createElement(LocationContext.Provider, {\n value: {\n location: _extends({\n pathname: \"/\",\n search: \"\",\n hash: \"\",\n state: null,\n key: \"default\"\n }, location),\n navigationType: Action.Pop\n }\n }, renderedMatches);\n }\n return renderedMatches;\n}\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error) ? error.status + \" \" + error.statusText : error instanceof Error ? error.message : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = {\n padding: \"0.5rem\",\n backgroundColor: lightgrey\n };\n let codeStyles = {\n padding: \"2px 4px\",\n backgroundColor: lightgrey\n };\n let devInfo = null;\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\"Error handled by React Router default ErrorBoundary:\", error);\n devInfo = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", null, \"\\uD83D\\uDCBF Hey developer \\uD83D\\uDC4B\"), /*#__PURE__*/React.createElement(\"p\", null, \"You can provide a way better UX than this when your app throws errors by providing your own \", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"ErrorBoundary\"), \" or\", \" \", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"errorElement\"), \" prop on your route.\"));\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h2\", null, \"Unexpected Application Error!\"), /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n fontStyle: \"italic\"\n }\n }, message), stack ? /*#__PURE__*/React.createElement(\"pre\", {\n style: preStyles\n }, stack) : null, devInfo);\n}\nconst defaultErrorElement = /*#__PURE__*/React.createElement(DefaultErrorComponent, null);\nclass RenderErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error\n };\n }\n static getDerivedStateFromError(error) {\n return {\n error: error\n };\n }\n static getDerivedStateFromProps(props, state) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (state.location !== props.location || state.revalidation !== \"idle\" && props.revalidation === \"idle\") {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error !== undefined ? props.error : state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\"React Router caught the following error during render\", error, errorInfo);\n }\n render() {\n return this.state.error !== undefined ? /*#__PURE__*/React.createElement(RouteContext.Provider, {\n value: this.props.routeContext\n }, /*#__PURE__*/React.createElement(RouteErrorContext.Provider, {\n value: this.state.error,\n children: this.props.component\n })) : this.props.children;\n }\n}\nfunction RenderedRoute(_ref) {\n let {\n routeContext,\n match,\n children\n } = _ref;\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (dataRouterContext && dataRouterContext.static && dataRouterContext.staticContext && (match.route.errorElement || match.route.ErrorBoundary)) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n return /*#__PURE__*/React.createElement(RouteContext.Provider, {\n value: routeContext\n }, children);\n}\nfunction _renderMatches(matches, parentMatches, dataRouterState, future) {\n var _dataRouterState;\n if (parentMatches === void 0) {\n parentMatches = [];\n }\n if (dataRouterState === void 0) {\n dataRouterState = null;\n }\n if (future === void 0) {\n future = null;\n }\n if (matches == null) {\n var _future;\n if (!dataRouterState) {\n return null;\n }\n if (dataRouterState.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches;\n } else if ((_future = future) != null && _future.v7_partialHydration && parentMatches.length === 0 && !dataRouterState.initialized && dataRouterState.matches.length > 0) {\n // Don't bail if we're initializing with partial hydration and we have\n // router matches. That means we're actively running `patchRoutesOnNavigation`\n // so we should render down the partial matches to the appropriate\n // `HydrateFallback`. We only do this if `parentMatches` is empty so it\n // only impacts the root matches for `RouterProvider` and no descendant\n // ``\n matches = dataRouterState.matches;\n } else {\n return null;\n }\n }\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = (_dataRouterState = dataRouterState) == null ? void 0 : _dataRouterState.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(m => m.route.id && (errors == null ? void 0 : errors[m.route.id]) !== undefined);\n !(errorIndex >= 0) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"Could not find a matching route for errors on route IDs: \" + Object.keys(errors).join(\",\")) : UNSAFE_invariant(false) : void 0;\n renderedMatches = renderedMatches.slice(0, Math.min(renderedMatches.length, errorIndex + 1));\n }\n\n // If we're in a partial hydration mode, detect if we need to render down to\n // a given HydrateFallback while we load the rest of the hydration data\n let renderFallback = false;\n let fallbackIndex = -1;\n if (dataRouterState && future && future.v7_partialHydration) {\n for (let i = 0; i < renderedMatches.length; i++) {\n let match = renderedMatches[i];\n // Track the deepest fallback up until the first route without data\n if (match.route.HydrateFallback || match.route.hydrateFallbackElement) {\n fallbackIndex = i;\n }\n if (match.route.id) {\n let {\n loaderData,\n errors\n } = dataRouterState;\n let needsToRunLoader = match.route.loader && loaderData[match.route.id] === undefined && (!errors || errors[match.route.id] === undefined);\n if (match.route.lazy || needsToRunLoader) {\n // We found the first route that's not ready to render (waiting on\n // lazy, or has a loader that hasn't run yet). Flag that we need to\n // render a fallback and render up until the appropriate fallback\n renderFallback = true;\n if (fallbackIndex >= 0) {\n renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n } else {\n renderedMatches = [renderedMatches[0]];\n }\n break;\n }\n }\n }\n }\n return renderedMatches.reduceRight((outlet, match, index) => {\n // Only data routers handle errors/fallbacks\n let error;\n let shouldRenderHydrateFallback = false;\n let errorElement = null;\n let hydrateFallbackElement = null;\n if (dataRouterState) {\n error = errors && match.route.id ? errors[match.route.id] : undefined;\n errorElement = match.route.errorElement || defaultErrorElement;\n if (renderFallback) {\n if (fallbackIndex < 0 && index === 0) {\n warningOnce(\"route-fallback\", false, \"No `HydrateFallback` element provided to render during initial hydration\");\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = null;\n } else if (fallbackIndex === index) {\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = match.route.hydrateFallbackElement || null;\n }\n }\n }\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children;\n if (error) {\n children = errorElement;\n } else if (shouldRenderHydrateFallback) {\n children = hydrateFallbackElement;\n } else if (match.route.Component) {\n // Note: This is a de-optimized path since React won't re-use the\n // ReactElement since it's identity changes with each new\n // React.createElement call. We keep this so folks can use\n // `` in `` but generally `Component`\n // usage is only advised in `RouterProvider` when we can convert it to\n // `element` ahead of time.\n children = /*#__PURE__*/React.createElement(match.route.Component, null);\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return /*#__PURE__*/React.createElement(RenderedRoute, {\n match: match,\n routeContext: {\n outlet,\n matches,\n isDataRoute: dataRouterState != null\n },\n children: children\n });\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState && (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? /*#__PURE__*/React.createElement(RenderErrorBoundary, {\n location: dataRouterState.location,\n revalidation: dataRouterState.revalidation,\n component: errorElement,\n error: error,\n children: getChildren(),\n routeContext: {\n outlet: null,\n matches,\n isDataRoute: true\n }\n }) : getChildren();\n }, null);\n}\nvar DataRouterHook = /*#__PURE__*/function (DataRouterHook) {\n DataRouterHook[\"UseBlocker\"] = \"useBlocker\";\n DataRouterHook[\"UseRevalidator\"] = \"useRevalidator\";\n DataRouterHook[\"UseNavigateStable\"] = \"useNavigate\";\n return DataRouterHook;\n}(DataRouterHook || {});\nvar DataRouterStateHook = /*#__PURE__*/function (DataRouterStateHook) {\n DataRouterStateHook[\"UseBlocker\"] = \"useBlocker\";\n DataRouterStateHook[\"UseLoaderData\"] = \"useLoaderData\";\n DataRouterStateHook[\"UseActionData\"] = \"useActionData\";\n DataRouterStateHook[\"UseRouteError\"] = \"useRouteError\";\n DataRouterStateHook[\"UseNavigation\"] = \"useNavigation\";\n DataRouterStateHook[\"UseRouteLoaderData\"] = \"useRouteLoaderData\";\n DataRouterStateHook[\"UseMatches\"] = \"useMatches\";\n DataRouterStateHook[\"UseRevalidator\"] = \"useRevalidator\";\n DataRouterStateHook[\"UseNavigateStable\"] = \"useNavigate\";\n DataRouterStateHook[\"UseRouteId\"] = \"useRouteId\";\n return DataRouterStateHook;\n}(DataRouterStateHook || {});\nfunction getDataRouterConsoleError(hookName) {\n return hookName + \" must be used within a data router. See https://reactrouter.com/v6/routers/picking-a-router.\";\n}\nfunction useDataRouterContext(hookName) {\n let ctx = React.useContext(DataRouterContext);\n !ctx ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return ctx;\n}\nfunction useDataRouterState(hookName) {\n let state = React.useContext(DataRouterStateContext);\n !state ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return state;\n}\nfunction useRouteContext(hookName) {\n let route = React.useContext(RouteContext);\n !route ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n !thisRoute.route.id ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, hookName + \" can only be used on routes that contain a unique \\\"id\\\"\") : UNSAFE_invariant(false) : void 0;\n return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nfunction useRouteId() {\n return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nfunction useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nfunction useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return React.useMemo(() => ({\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation\n }), [dataRouterContext.router.revalidate, state.revalidation]);\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nfunction useMatches() {\n let {\n matches,\n loaderData\n } = useDataRouterState(DataRouterStateHook.UseMatches);\n return React.useMemo(() => matches.map(m => UNSAFE_convertRouteMatchToUiMatch(m, loaderData)), [matches, loaderData]);\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nfunction useLoaderData() {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n if (state.errors && state.errors[routeId] != null) {\n console.error(\"You cannot `useLoaderData` in an errorElement (routeId: \" + routeId + \")\");\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nfunction useRouteLoaderData(routeId) {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nfunction useActionData() {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n return state.actionData ? state.actionData[routeId] : undefined;\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nfunction useRouteError() {\n var _state$errors;\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error !== undefined) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return (_state$errors = state.errors) == null ? void 0 : _state$errors[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor `` value\n */\nfunction useAsyncValue() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._data;\n}\n\n/**\n * Returns the error from the nearest ancestor `` value\n */\nfunction useAsyncError() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._error;\n}\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nfunction useBlocker(shouldBlock) {\n let {\n router,\n basename\n } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n let [blockerKey, setBlockerKey] = React.useState(\"\");\n let blockerFunction = React.useCallback(arg => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n\n // If they provided us a function and we've got an active basename, strip\n // it from the locations we expose to the user to match the behavior of\n // useLocation\n let {\n currentLocation,\n nextLocation,\n historyAction\n } = arg;\n return shouldBlock({\n currentLocation: _extends({}, currentLocation, {\n pathname: stripBasename(currentLocation.pathname, basename) || currentLocation.pathname\n }),\n nextLocation: _extends({}, nextLocation, {\n pathname: stripBasename(nextLocation.pathname, basename) || nextLocation.pathname\n }),\n historyAction\n });\n }, [basename, shouldBlock]);\n\n // This effect is in charge of blocker key assignment and deletion (which is\n // tightly coupled to the key)\n React.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n\n // This effect handles assigning the blockerFunction. This is to handle\n // unstable blocker function identities, and happens only after the prior\n // effect so we don't get an orphaned blockerFunction in the router with a\n // key of \"\". Until then we just have the IDLE_BLOCKER.\n React.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n\n // Prefer the blocker from `state` not `router.state` since DataRouterContext\n // is memoized so this ensures we update on blocker state updates\n return blockerKey && state.blockers.has(blockerKey) ? state.blockers.get(blockerKey) : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable() {\n let {\n router\n } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React.useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our router subscriber yet\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n router.navigate(to, _extends({\n fromRouteId: id\n }, options));\n }\n }, [router, id]);\n return navigate;\n}\nconst alreadyWarned$1 = {};\nfunction warningOnce(key, cond, message) {\n if (!cond && !alreadyWarned$1[key]) {\n alreadyWarned$1[key] = true;\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, message) : void 0;\n }\n}\n\nconst alreadyWarned = {};\nfunction warnOnce(key, message) {\n if (process.env.NODE_ENV !== \"production\" && !alreadyWarned[message]) {\n alreadyWarned[message] = true;\n console.warn(message);\n }\n}\nconst logDeprecation = (flag, msg, link) => warnOnce(flag, \"\\u26A0\\uFE0F React Router Future Flag Warning: \" + msg + \". \" + (\"You can use the `\" + flag + \"` future flag to opt-in early. \") + (\"For more information, see \" + link + \".\"));\nfunction logV6DeprecationWarnings(renderFuture, routerFuture) {\n if ((renderFuture == null ? void 0 : renderFuture.v7_startTransition) === undefined) {\n logDeprecation(\"v7_startTransition\", \"React Router will begin wrapping state updates in `React.startTransition` in v7\", \"https://reactrouter.com/v6/upgrading/future#v7_starttransition\");\n }\n if ((renderFuture == null ? void 0 : renderFuture.v7_relativeSplatPath) === undefined && (!routerFuture || !routerFuture.v7_relativeSplatPath)) {\n logDeprecation(\"v7_relativeSplatPath\", \"Relative route resolution within Splat routes is changing in v7\", \"https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath\");\n }\n if (routerFuture) {\n if (routerFuture.v7_fetcherPersist === undefined) {\n logDeprecation(\"v7_fetcherPersist\", \"The persistence behavior of fetchers is changing in v7\", \"https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist\");\n }\n if (routerFuture.v7_normalizeFormMethod === undefined) {\n logDeprecation(\"v7_normalizeFormMethod\", \"Casing of `formMethod` fields is being normalized to uppercase in v7\", \"https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod\");\n }\n if (routerFuture.v7_partialHydration === undefined) {\n logDeprecation(\"v7_partialHydration\", \"`RouterProvider` hydration behavior is changing in v7\", \"https://reactrouter.com/v6/upgrading/future#v7_partialhydration\");\n }\n if (routerFuture.v7_skipActionErrorRevalidation === undefined) {\n logDeprecation(\"v7_skipActionErrorRevalidation\", \"The revalidation behavior after 4xx/5xx `action` responses is changing in v7\", \"https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation\");\n }\n }\n}\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nfunction RouterProvider(_ref) {\n let {\n fallbackElement,\n router,\n future\n } = _ref;\n let [state, setStateImpl] = React.useState(router.state);\n let {\n v7_startTransition\n } = future || {};\n let setState = React.useCallback(newState => {\n if (v7_startTransition && startTransitionImpl) {\n startTransitionImpl(() => setStateImpl(newState));\n } else {\n setStateImpl(newState);\n }\n }, [setStateImpl, v7_startTransition]);\n\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/)\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n React.useEffect(() => {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(fallbackElement == null || !router.future.v7_partialHydration, \"`` is deprecated when using \" + \"`v7_partialHydration`, use a `HydrateFallback` component instead\") : void 0;\n // Only log this once on initial mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n let navigator = React.useMemo(() => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: n => router.navigate(n),\n push: (to, state, opts) => router.navigate(to, {\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n }),\n replace: (to, state, opts) => router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n })\n };\n }, [router]);\n let basename = router.basename || \"/\";\n let dataRouterContext = React.useMemo(() => ({\n router,\n navigator,\n static: false,\n basename\n }), [router, navigator, basename]);\n React.useEffect(() => logV6DeprecationWarnings(future, router.future), [router, future]);\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a